From 7e6f3f034b31059cd19c21b2fda2bdca7263ac01 Mon Sep 17 00:00:00 2001 From: XuanYang-cn Date: Thu, 30 May 2024 17:23:39 +0800 Subject: [PATCH] enhance: Show segment's Memory Size (#265) Signed-off-by: yangxuan --- models/segment.go | 24 +- proto/v2.2/common.proto | 27 +- proto/v2.2/commonpb/common.pb.go | 599 ++-- proto/v2.2/data_coord.proto | 289 +- proto/v2.2/datapb/data_coord.pb.go | 3734 ++++++++++++++--------- proto/v2.2/etcd_meta.proto | 1 + proto/v2.2/etcdpb/etcd_meta.pb.go | 170 +- proto/v2.2/gen_proto.sh | 9 + proto/v2.2/index_coord.proto | 387 ++- proto/v2.2/indexpb/index_coord.pb.go | 740 +++-- proto/v2.2/internal.proto | 133 +- proto/v2.2/internalpb/internal.pb.go | 1427 ++++++++- proto/v2.2/milvus.proto | 122 +- proto/v2.2/milvuspb/milvus.pb.go | 1681 ++++++---- proto/v2.2/plan.proto | 5 + proto/v2.2/proxy.proto | 32 + proto/v2.2/proxypb/proxy.pb.go | 455 ++- proto/v2.2/query_coord.proto | 1057 ++++--- proto/v2.2/querypb/query_coord.pb.go | 2360 +++++++++++--- proto/v2.2/rg.proto | 29 + proto/v2.2/rgpb/rg.pb.go | 193 ++ proto/v2.2/root_coord.proto | 41 +- proto/v2.2/rootcoordpb/root_coord.pb.go | 826 ++--- proto/v2.2/schema.proto | 33 + proto/v2.2/schemapb/schema.pb.go | 534 +++- proto/v2.2/segcore.proto | 3 +- states/etcd/show/segment.go | 11 +- 27 files changed, 10557 insertions(+), 4365 deletions(-) create mode 100644 proto/v2.2/rg.proto create mode 100644 proto/v2.2/rgpb/rg.pb.go diff --git a/models/segment.go b/models/segment.go index d5ebcb6..d6bb9f8 100644 --- a/models/segment.go +++ b/models/segment.go @@ -95,7 +95,8 @@ func NewSegmentFromV2_1(info *datapb.SegmentInfo, key string) *Segment { } func NewSegmentFromV2_2(info *datapbv2.SegmentInfo, key string, - lazy func() ([]datapbv2.FieldBinlog, []datapbv2.FieldBinlog, []datapbv2.FieldBinlog, error)) *Segment { + lazy func() ([]datapbv2.FieldBinlog, []datapbv2.FieldBinlog, []datapbv2.FieldBinlog, error), +) *Segment { s := newSegmentFromBase(info) s.key = key s.State = SegmentState(info.GetState()) @@ -108,7 +109,7 @@ func NewSegmentFromV2_2(info *datapbv2.SegmentInfo, key string, r := &FieldBinlog{ FieldID: fbl.GetFieldID(), Binlogs: lo.Map(fbl.GetBinlogs(), func(binlog *datapbv2.Binlog, _ int) *Binlog { - return newBinlog(binlog) + return newBinlogV2(binlog) }), } return r @@ -216,6 +217,7 @@ type Binlog struct { TimestampTo uint64 LogPath string LogSize int64 + MemSize int64 } func newBinlog[T interface { @@ -233,3 +235,21 @@ func newBinlog[T interface { LogSize: binlog.GetLogSize(), } } + +func newBinlogV2[T interface { + GetEntriesNum() int64 + GetTimestampFrom() uint64 + GetTimestampTo() uint64 + GetLogPath() string + GetLogSize() int64 + GetMemorySize() int64 +}](binlog T) *Binlog { + return &Binlog{ + EntriesNum: binlog.GetEntriesNum(), + TimestampFrom: binlog.GetTimestampFrom(), + TimestampTo: binlog.GetTimestampTo(), + LogPath: binlog.GetLogPath(), + LogSize: binlog.GetLogSize(), + MemSize: binlog.GetMemorySize(), + } +} diff --git a/proto/v2.2/common.proto b/proto/v2.2/common.proto index 0dfa15c..129cb6b 100644 --- a/proto/v2.2/common.proto +++ b/proto/v2.2/common.proto @@ -108,6 +108,7 @@ message Status { int32 code = 3; bool retriable = 4; string detail = 5; + map extra_info = 6; } message KeyValuePair { @@ -130,6 +131,7 @@ enum PlaceholderType { FloatVector = 101; Float16Vector = 102; BFloat16Vector = 103; + SparseFloatVector = 104; Int64 = 5; VarChar = 21; } @@ -137,7 +139,9 @@ enum PlaceholderType { message PlaceholderValue { string tag = 1; PlaceholderType type = 2; - // values is a 2d-array, every array contains a vector + // values is a 2d-array of nq rows, every row contains a query vector. + // for dense vector, all rows are of the same length; for sparse vector, + // the length of each row may vary depending on their number of non-zeros. repeated bytes values = 3; } @@ -195,6 +199,7 @@ enum MsgType { DescribeIndex = 301; DropIndex = 302; GetIndexStatistics = 303; + AlterIndex = 304; /* MANIPULATION REQUESTS */ Insert = 400; @@ -271,6 +276,7 @@ enum MsgType { DescribeResourceGroup = 1703; TransferNode = 1704; TransferReplica = 1705; + UpdateResourceGroups = 1706; /* Database group */ CreateDatabase = 1801; @@ -381,6 +387,18 @@ enum ObjectPrivilege { PrivilegeDropDatabase = 36; PrivilegeListDatabases = 37; PrivilegeFlushAll = 38; + + PrivilegeCreatePartition = 39; + PrivilegeDropPartition = 40; + PrivilegeShowPartitions = 41; + PrivilegeHasPartition = 42; + PrivilegeGetFlushState = 43; + PrivilegeCreateAlias = 44; + PrivilegeDropAlias = 45; + PrivilegeDescribeAlias = 46; + PrivilegeListAliases = 47; + + PrivilegeUpdateResourceGroups = 48; } message PrivilegeExt { @@ -435,3 +453,10 @@ message ServerInfo { // reserved for newly-added feature if necessary. map reserved = 6; } + +// NodeInfo is used to describe the node information. +message NodeInfo { + int64 nodeID = 1; + string address = 2; + string hostname = 3; +} diff --git a/proto/v2.2/commonpb/common.pb.go b/proto/v2.2/commonpb/common.pb.go index 4310671..ef57e45 100644 --- a/proto/v2.2/commonpb/common.pb.go +++ b/proto/v2.2/commonpb/common.pb.go @@ -304,13 +304,14 @@ func (SegmentState) EnumDescriptor() ([]byte, []int) { type PlaceholderType int32 const ( - PlaceholderType_None PlaceholderType = 0 - PlaceholderType_BinaryVector PlaceholderType = 100 - PlaceholderType_FloatVector PlaceholderType = 101 - PlaceholderType_Float16Vector PlaceholderType = 102 - PlaceholderType_BFloat16Vector PlaceholderType = 103 - PlaceholderType_Int64 PlaceholderType = 5 - PlaceholderType_VarChar PlaceholderType = 21 + PlaceholderType_None PlaceholderType = 0 + PlaceholderType_BinaryVector PlaceholderType = 100 + PlaceholderType_FloatVector PlaceholderType = 101 + PlaceholderType_Float16Vector PlaceholderType = 102 + PlaceholderType_BFloat16Vector PlaceholderType = 103 + PlaceholderType_SparseFloatVector PlaceholderType = 104 + PlaceholderType_Int64 PlaceholderType = 5 + PlaceholderType_VarChar PlaceholderType = 21 ) var PlaceholderType_name = map[int32]string{ @@ -319,18 +320,20 @@ var PlaceholderType_name = map[int32]string{ 101: "FloatVector", 102: "Float16Vector", 103: "BFloat16Vector", + 104: "SparseFloatVector", 5: "Int64", 21: "VarChar", } var PlaceholderType_value = map[string]int32{ - "None": 0, - "BinaryVector": 100, - "FloatVector": 101, - "Float16Vector": 102, - "BFloat16Vector": 103, - "Int64": 5, - "VarChar": 21, + "None": 0, + "BinaryVector": 100, + "FloatVector": 101, + "Float16Vector": 102, + "BFloat16Vector": 103, + "SparseFloatVector": 104, + "Int64": 5, + "VarChar": 21, } func (x PlaceholderType) String() string { @@ -384,6 +387,7 @@ const ( MsgType_DescribeIndex MsgType = 301 MsgType_DropIndex MsgType = 302 MsgType_GetIndexStatistics MsgType = 303 + MsgType_AlterIndex MsgType = 304 // MANIPULATION REQUESTS MsgType_Insert MsgType = 400 MsgType_Delete MsgType = 401 @@ -452,6 +456,7 @@ const ( MsgType_DescribeResourceGroup MsgType = 1703 MsgType_TransferNode MsgType = 1704 MsgType_TransferReplica MsgType = 1705 + MsgType_UpdateResourceGroups MsgType = 1706 // Database group MsgType_CreateDatabase MsgType = 1801 MsgType_DropDatabase MsgType = 1802 @@ -495,6 +500,7 @@ var MsgType_name = map[int32]string{ 301: "DescribeIndex", 302: "DropIndex", 303: "GetIndexStatistics", + 304: "AlterIndex", 400: "Insert", 401: "Delete", 402: "Flush", @@ -556,6 +562,7 @@ var MsgType_name = map[int32]string{ 1703: "DescribeResourceGroup", 1704: "TransferNode", 1705: "TransferReplica", + 1706: "UpdateResourceGroups", 1801: "CreateDatabase", 1802: "DropDatabase", 1803: "ListDatabases", @@ -598,6 +605,7 @@ var MsgType_value = map[string]int32{ "DescribeIndex": 301, "DropIndex": 302, "GetIndexStatistics": 303, + "AlterIndex": 304, "Insert": 400, "Delete": 401, "Flush": 402, @@ -659,6 +667,7 @@ var MsgType_value = map[string]int32{ "DescribeResourceGroup": 1703, "TransferNode": 1704, "TransferReplica": 1705, + "UpdateResourceGroups": 1706, "CreateDatabase": 1801, "DropDatabase": 1802, "ListDatabases": 1803, @@ -869,6 +878,16 @@ const ( ObjectPrivilege_PrivilegeDropDatabase ObjectPrivilege = 36 ObjectPrivilege_PrivilegeListDatabases ObjectPrivilege = 37 ObjectPrivilege_PrivilegeFlushAll ObjectPrivilege = 38 + ObjectPrivilege_PrivilegeCreatePartition ObjectPrivilege = 39 + ObjectPrivilege_PrivilegeDropPartition ObjectPrivilege = 40 + ObjectPrivilege_PrivilegeShowPartitions ObjectPrivilege = 41 + ObjectPrivilege_PrivilegeHasPartition ObjectPrivilege = 42 + ObjectPrivilege_PrivilegeGetFlushState ObjectPrivilege = 43 + ObjectPrivilege_PrivilegeCreateAlias ObjectPrivilege = 44 + ObjectPrivilege_PrivilegeDropAlias ObjectPrivilege = 45 + ObjectPrivilege_PrivilegeDescribeAlias ObjectPrivilege = 46 + ObjectPrivilege_PrivilegeListAliases ObjectPrivilege = 47 + ObjectPrivilege_PrivilegeUpdateResourceGroups ObjectPrivilege = 48 ) var ObjectPrivilege_name = map[int32]string{ @@ -911,6 +930,16 @@ var ObjectPrivilege_name = map[int32]string{ 36: "PrivilegeDropDatabase", 37: "PrivilegeListDatabases", 38: "PrivilegeFlushAll", + 39: "PrivilegeCreatePartition", + 40: "PrivilegeDropPartition", + 41: "PrivilegeShowPartitions", + 42: "PrivilegeHasPartition", + 43: "PrivilegeGetFlushState", + 44: "PrivilegeCreateAlias", + 45: "PrivilegeDropAlias", + 46: "PrivilegeDescribeAlias", + 47: "PrivilegeListAliases", + 48: "PrivilegeUpdateResourceGroups", } var ObjectPrivilege_value = map[string]int32{ @@ -953,6 +982,16 @@ var ObjectPrivilege_value = map[string]int32{ "PrivilegeDropDatabase": 36, "PrivilegeListDatabases": 37, "PrivilegeFlushAll": 38, + "PrivilegeCreatePartition": 39, + "PrivilegeDropPartition": 40, + "PrivilegeShowPartitions": 41, + "PrivilegeHasPartition": 42, + "PrivilegeGetFlushState": 43, + "PrivilegeCreateAlias": 44, + "PrivilegeDropAlias": 45, + "PrivilegeDescribeAlias": 46, + "PrivilegeListAliases": 47, + "PrivilegeUpdateResourceGroups": 48, } func (x ObjectPrivilege) String() string { @@ -1029,14 +1068,15 @@ func (LoadState) EnumDescriptor() ([]byte, []int) { } type Status struct { - ErrorCode ErrorCode `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3,enum=milvus.protov2.common.ErrorCode" json:"error_code,omitempty"` // Deprecated: Do not use. - Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` - Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` - Retriable bool `protobuf:"varint,4,opt,name=retriable,proto3" json:"retriable,omitempty"` - Detail string `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrorCode ErrorCode `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3,enum=milvus.protov2.common.ErrorCode" json:"error_code,omitempty"` // Deprecated: Do not use. + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` + Retriable bool `protobuf:"varint,4,opt,name=retriable,proto3" json:"retriable,omitempty"` + Detail string `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"` + ExtraInfo map[string]string `protobuf:"bytes,6,rep,name=extra_info,json=extraInfo,proto3" json:"extra_info,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Status) Reset() { *m = Status{} } @@ -1100,6 +1140,13 @@ func (m *Status) GetDetail() string { return "" } +func (m *Status) GetExtraInfo() map[string]string { + if m != nil { + return m.ExtraInfo + } + return nil +} + type KeyValuePair struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` @@ -1236,7 +1283,9 @@ func (m *Blob) GetValue() []byte { type PlaceholderValue struct { Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` Type PlaceholderType `protobuf:"varint,2,opt,name=type,proto3,enum=milvus.protov2.common.PlaceholderType" json:"type,omitempty"` - // values is a 2d-array, every array contains a vector + // values is a 2d-array of nq rows, every row contains a query vector. + // for dense vector, all rows are of the same length; for sparse vector, + // the length of each row may vary depending on their number of non-zeros. Values [][]byte `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1869,6 +1918,62 @@ func (m *ServerInfo) GetReserved() map[string]string { return nil } +// NodeInfo is used to describe the node information. +type NodeInfo struct { + NodeID int64 `protobuf:"varint,1,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeInfo) Reset() { *m = NodeInfo{} } +func (m *NodeInfo) String() string { return proto.CompactTextString(m) } +func (*NodeInfo) ProtoMessage() {} +func (*NodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_555bd8c177793206, []int{15} +} + +func (m *NodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeInfo.Unmarshal(m, b) +} +func (m *NodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeInfo.Marshal(b, m, deterministic) +} +func (m *NodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeInfo.Merge(m, src) +} +func (m *NodeInfo) XXX_Size() int { + return xxx_messageInfo_NodeInfo.Size(m) +} +func (m *NodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_NodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeInfo proto.InternalMessageInfo + +func (m *NodeInfo) GetNodeID() int64 { + if m != nil { + return m.NodeID + } + return 0 +} + +func (m *NodeInfo) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *NodeInfo) GetHostname() string { + if m != nil { + return m.Hostname + } + return "" +} + var E_PrivilegeExtObj = &proto.ExtensionDesc{ ExtendedType: (*descriptorpb.MessageOptions)(nil), ExtensionType: (*PrivilegeExt)(nil), @@ -1893,6 +1998,7 @@ func init() { proto.RegisterEnum("milvus.protov2.common.StateCode", StateCode_name, StateCode_value) proto.RegisterEnum("milvus.protov2.common.LoadState", LoadState_name, LoadState_value) proto.RegisterType((*Status)(nil), "milvus.protov2.common.Status") + proto.RegisterMapType((map[string]string)(nil), "milvus.protov2.common.Status.ExtraInfoEntry") proto.RegisterType((*KeyValuePair)(nil), "milvus.protov2.common.KeyValuePair") proto.RegisterType((*KeyDataPair)(nil), "milvus.protov2.common.KeyDataPair") proto.RegisterType((*Blob)(nil), "milvus.protov2.common.Blob") @@ -1910,228 +2016,239 @@ func init() { proto.RegisterMapType((map[string]string)(nil), "milvus.protov2.common.ClientInfo.ReservedEntry") proto.RegisterType((*ServerInfo)(nil), "milvus.protov2.common.ServerInfo") proto.RegisterMapType((map[string]string)(nil), "milvus.protov2.common.ServerInfo.ReservedEntry") + proto.RegisterType((*NodeInfo)(nil), "milvus.protov2.common.NodeInfo") proto.RegisterExtension(E_PrivilegeExtObj) } func init() { proto.RegisterFile("common.proto", fileDescriptor_555bd8c177793206) } var fileDescriptor_555bd8c177793206 = []byte{ - // 3465 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x59, 0x70, 0x9c, 0x49, - 0x52, 0x76, 0x1f, 0x3a, 0xba, 0xba, 0x25, 0x95, 0xcb, 0x96, 0xdd, 0x96, 0x2f, 0x4d, 0xcf, 0x30, - 0x6b, 0xc4, 0x8e, 0xcc, 0x68, 0x86, 0x61, 0x77, 0x08, 0x82, 0x90, 0xba, 0x25, 0x59, 0xd8, 0x92, - 0x35, 0xbf, 0x64, 0x43, 0xf0, 0x22, 0x4a, 0xfd, 0xa7, 0x5a, 0xff, 0xf8, 0xef, 0xbf, 0xfe, 0xa9, - 0xaa, 0x96, 0xd5, 0x1b, 0x41, 0xc4, 0xee, 0x70, 0x44, 0xc0, 0xbe, 0x70, 0xbd, 0xf0, 0x42, 0x40, - 0x04, 0x77, 0x00, 0x0b, 0xec, 0x72, 0xbf, 0x70, 0xef, 0x2e, 0xd7, 0x33, 0x37, 0x3c, 0xc2, 0x3b, - 0xe7, 0x5e, 0x43, 0x64, 0xd6, 0x7f, 0xb6, 0xc7, 0xec, 0x10, 0x04, 0x6f, 0x7f, 0x7d, 0x99, 0x95, - 0x57, 0x65, 0x65, 0x66, 0x75, 0xb3, 0x56, 0x5f, 0x0d, 0x87, 0x2a, 0x5a, 0x8d, 0xb5, 0xb2, 0x4a, - 0x2c, 0x0e, 0x83, 0xf0, 0x6c, 0x64, 0xdc, 0xea, 0x6c, 0x6d, 0xd5, 0x11, 0x97, 0x96, 0x07, 0x4a, - 0x0d, 0x42, 0xb8, 0x4b, 0xf0, 0xf1, 0xe8, 0xe4, 0xae, 0x0f, 0xa6, 0xaf, 0x83, 0xd8, 0x2a, 0xed, - 0x58, 0x3b, 0x9f, 0xaa, 0xb0, 0xe9, 0x03, 0x2b, 0xed, 0xc8, 0x88, 0x2e, 0x63, 0xa0, 0xb5, 0xd2, - 0x47, 0x7d, 0xe5, 0x43, 0xbb, 0xb2, 0x5c, 0xb9, 0x33, 0xbf, 0xb6, 0xbc, 0xfa, 0xbe, 0x82, 0x57, - 0x37, 0x91, 0xb1, 0xab, 0x7c, 0xd8, 0xa8, 0xb6, 0x2b, 0x5e, 0x03, 0xd2, 0xa5, 0xb8, 0xc2, 0xa6, - 0x35, 0x48, 0xa3, 0xa2, 0x76, 0x75, 0xb9, 0x72, 0xa7, 0xe1, 0x25, 0x2b, 0x21, 0x58, 0x9d, 0xc4, - 0xd6, 0x96, 0x2b, 0x77, 0xa6, 0x3c, 0xfa, 0x16, 0x37, 0x58, 0x43, 0x83, 0xd5, 0x81, 0x3c, 0x0e, - 0xa1, 0x5d, 0x5f, 0xae, 0xdc, 0x99, 0xf5, 0x72, 0x00, 0x25, 0xf9, 0x60, 0x65, 0x10, 0xb6, 0xa7, - 0x9c, 0x24, 0xb7, 0xea, 0xbc, 0xc1, 0x5a, 0xf7, 0x61, 0xfc, 0x58, 0x86, 0x23, 0xd8, 0x97, 0x81, - 0x16, 0x9c, 0xd5, 0x9e, 0xc0, 0x98, 0xec, 0x6d, 0x78, 0xf8, 0x29, 0x2e, 0xb3, 0xa9, 0x33, 0x24, - 0x27, 0x26, 0xb8, 0x45, 0xe7, 0x35, 0xd6, 0xbc, 0x0f, 0xe3, 0x9e, 0xb4, 0xf2, 0x39, 0xdb, 0x04, - 0xab, 0xfb, 0xd2, 0x4a, 0xda, 0xd5, 0xf2, 0xe8, 0xbb, 0x73, 0x83, 0xd5, 0x37, 0x42, 0x75, 0x9c, - 0x8b, 0xac, 0x10, 0x31, 0x11, 0x79, 0xce, 0xf8, 0x7e, 0x28, 0xfb, 0x70, 0xaa, 0x42, 0x1f, 0x34, - 0x99, 0x84, 0x72, 0xad, 0x1c, 0xa4, 0x72, 0xad, 0x1c, 0x88, 0x37, 0x59, 0xdd, 0x8e, 0x63, 0x67, - 0xcd, 0xfc, 0xda, 0xcb, 0xcf, 0x89, 0x68, 0x41, 0xd0, 0xe1, 0x38, 0x06, 0x8f, 0xf6, 0x60, 0x10, - 0x48, 0x95, 0x69, 0xd7, 0x96, 0x6b, 0x77, 0x5a, 0x5e, 0xb2, 0xea, 0x1c, 0x95, 0x34, 0x6f, 0x6b, - 0x35, 0x8a, 0xc5, 0x7d, 0xd6, 0x8a, 0x73, 0xcc, 0xb4, 0x2b, 0xcb, 0xb5, 0x3b, 0xcd, 0xb5, 0x0f, - 0x7d, 0x75, 0x7d, 0x64, 0xb8, 0x57, 0xda, 0xdc, 0x79, 0x85, 0xcd, 0xac, 0xfb, 0xbe, 0x06, 0x63, - 0xc4, 0x3c, 0xab, 0x06, 0x71, 0xe2, 0x50, 0x35, 0x88, 0x31, 0x4e, 0xb1, 0xd2, 0x96, 0xfc, 0xa9, - 0x79, 0xf4, 0xdd, 0xf9, 0x64, 0x8d, 0xcd, 0xec, 0x9a, 0xc1, 0x86, 0x34, 0x20, 0x3e, 0xca, 0x66, - 0x87, 0x66, 0x70, 0x44, 0x3e, 0xbb, 0x2c, 0xba, 0xf5, 0x1c, 0x1b, 0x76, 0xcd, 0x80, 0x7c, 0x9d, - 0x19, 0xba, 0x0f, 0x0c, 0xf3, 0xd0, 0x0c, 0x76, 0x7a, 0x89, 0x6c, 0xb7, 0xc0, 0x3c, 0xb1, 0xc1, - 0x10, 0x8c, 0x95, 0xc3, 0x98, 0x12, 0xa8, 0xee, 0xe5, 0x80, 0x58, 0x62, 0xb3, 0x46, 0x8d, 0x74, - 0x1f, 0x76, 0x7a, 0x94, 0x44, 0x35, 0x2f, 0x5b, 0x23, 0xcd, 0x4a, 0x3d, 0x00, 0xbb, 0xd3, 0xa3, - 0x2c, 0xaa, 0x79, 0xd9, 0x5a, 0xec, 0x31, 0x16, 0x6b, 0x15, 0x83, 0xb6, 0x01, 0x98, 0xf6, 0x34, - 0x05, 0x6b, 0xf5, 0xf9, 0x86, 0xa2, 0x6b, 0xab, 0xfb, 0xd9, 0x86, 0xcd, 0xc8, 0xea, 0xb1, 0x57, - 0x90, 0x20, 0xbe, 0x95, 0xcd, 0x69, 0x88, 0xc3, 0xa0, 0x2f, 0x2d, 0xec, 0x44, 0x27, 0xaa, 0x3d, - 0xb3, 0x5c, 0xb9, 0xd3, 0x5c, 0x7b, 0xe9, 0x39, 0x22, 0xbd, 0x22, 0xaf, 0x57, 0xde, 0xba, 0xf4, - 0xcd, 0x6c, 0x61, 0x42, 0xd5, 0x07, 0x4d, 0xf3, 0x37, 0xab, 0x1f, 0xa9, 0x74, 0x1e, 0xb1, 0xb9, - 0x92, 0x78, 0xb1, 0xcc, 0x9a, 0x81, 0xc9, 0x20, 0x12, 0x32, 0xeb, 0x15, 0x21, 0xd1, 0x61, 0x2d, - 0x3c, 0x84, 0x2c, 0xcc, 0x55, 0x0a, 0x73, 0x09, 0xeb, 0x7c, 0x0b, 0x6b, 0xec, 0x9a, 0xc1, 0x3d, - 0x90, 0x3e, 0x68, 0xb1, 0xc6, 0xea, 0xc7, 0xd2, 0x38, 0x59, 0xcd, 0xff, 0xe9, 0x84, 0x31, 0x70, - 0x1e, 0xf1, 0x76, 0xbe, 0x93, 0xb5, 0x7a, 0xbb, 0x0f, 0xfe, 0x4f, 0x32, 0x30, 0x19, 0xcc, 0xa9, - 0xd4, 0xfe, 0x9e, 0x1c, 0xa6, 0x9e, 0xe7, 0x40, 0xe7, 0xbd, 0x0a, 0x6b, 0xed, 0xeb, 0xe0, 0x2c, - 0x08, 0x61, 0x00, 0x9b, 0xe7, 0x56, 0x6c, 0xb0, 0xa6, 0x3a, 0x7e, 0x1b, 0xfa, 0xb6, 0x98, 0x8f, - 0x2f, 0x3c, 0x47, 0xd3, 0x43, 0xe2, 0xa4, 0x94, 0x64, 0x2a, 0xfb, 0x16, 0x6f, 0x31, 0x9e, 0xc8, - 0x88, 0x53, 0xd1, 0x5f, 0xe5, 0x32, 0x3b, 0x41, 0x99, 0x21, 0xde, 0x82, 0x2a, 0x03, 0x62, 0x85, - 0x5d, 0x4c, 0x44, 0x46, 0x72, 0x08, 0x47, 0x41, 0xe4, 0xc3, 0x79, 0x52, 0x1b, 0x13, 0x5e, 0x74, - 0x67, 0x07, 0x61, 0xf1, 0x61, 0x26, 0x9e, 0xe1, 0x35, 0x94, 0xea, 0x53, 0x1e, 0x9f, 0x60, 0x36, - 0x9d, 0x2d, 0xd6, 0x3a, 0x80, 0xc1, 0x10, 0x22, 0x8b, 0x65, 0xdd, 0x60, 0xbc, 0x92, 0xf5, 0x4e, - 0x8f, 0xdc, 0xaf, 0x79, 0x39, 0x20, 0xda, 0x6c, 0x66, 0x6f, 0x34, 0xf4, 0xd4, 0x53, 0x93, 0x5c, - 0xb9, 0x74, 0xd9, 0xf9, 0xb1, 0x2a, 0x63, 0xdd, 0x30, 0x40, 0x36, 0xcc, 0xa0, 0x6b, 0x6c, 0xd6, - 0xf8, 0x4f, 0xf2, 0x20, 0x36, 0xbc, 0x19, 0xe3, 0x3f, 0xa1, 0xf0, 0xdc, 0x66, 0x4d, 0x24, 0x9d, - 0x81, 0x36, 0x41, 0x56, 0xf7, 0x99, 0xf1, 0x9f, 0x3c, 0x76, 0x88, 0xb8, 0xc9, 0x58, 0xa8, 0xfa, - 0x32, 0x3c, 0xc2, 0x4b, 0x4b, 0x5e, 0x36, 0xbc, 0x06, 0x21, 0x98, 0x5b, 0x58, 0x4f, 0x46, 0x06, - 0x34, 0x79, 0xd4, 0xf0, 0xe8, 0x1b, 0xb1, 0x53, 0x65, 0x6c, 0x52, 0xfa, 0xe9, 0x5b, 0xdc, 0x67, - 0xb3, 0x1a, 0x0c, 0xe8, 0x33, 0xf0, 0x93, 0xeb, 0x7a, 0xf7, 0x39, 0xe1, 0xcf, 0xed, 0x5e, 0xf5, - 0x92, 0x1d, 0xee, 0xbe, 0x66, 0x02, 0x96, 0xbe, 0x09, 0xaf, 0x48, 0x81, 0xf4, 0xbf, 0xba, 0x5f, - 0x9f, 0xae, 0x32, 0x76, 0x80, 0x7b, 0x35, 0xc5, 0xe6, 0x26, 0x63, 0xc7, 0xa3, 0x20, 0xf4, 0x8f, - 0xac, 0x1c, 0x98, 0x44, 0x42, 0x83, 0x90, 0x43, 0x39, 0x30, 0x05, 0x72, 0x90, 0xa7, 0xac, 0x23, - 0xa3, 0xfb, 0x37, 0x19, 0x1b, 0x04, 0xf6, 0x08, 0x4d, 0x0f, 0x6c, 0x1a, 0x9d, 0x41, 0x60, 0xbb, - 0x04, 0x10, 0x59, 0x65, 0xc1, 0xad, 0x27, 0x64, 0x95, 0xc6, 0xf6, 0x36, 0x6b, 0xfa, 0x10, 0x87, - 0x6a, 0x7c, 0x34, 0xc4, 0xf6, 0xea, 0xe2, 0xc5, 0x1c, 0xb4, 0x8b, 0x4d, 0xf6, 0x83, 0x47, 0x2d, - 0xf7, 0xe8, 0xff, 0x25, 0x6a, 0x2b, 0x9f, 0x65, 0xac, 0x91, 0xcd, 0x0d, 0xa2, 0xc9, 0x66, 0x0e, - 0x46, 0xfd, 0x3e, 0x18, 0xc3, 0x2f, 0x88, 0x4b, 0x6c, 0xe1, 0x51, 0x04, 0xe7, 0x31, 0xf4, 0x2d, - 0xf8, 0xc4, 0xc3, 0x2b, 0xe2, 0x22, 0x9b, 0xeb, 0xaa, 0x28, 0x82, 0xbe, 0xdd, 0x92, 0x41, 0x08, - 0x3e, 0xaf, 0x8a, 0xcb, 0x8c, 0xef, 0x83, 0x1e, 0x06, 0x06, 0x7d, 0xef, 0x41, 0x14, 0x80, 0xcf, - 0x6b, 0xe2, 0x2a, 0xbb, 0xd4, 0x55, 0x61, 0x08, 0x7d, 0x1b, 0xa8, 0x68, 0x4f, 0xd9, 0xcd, 0xf3, - 0xc0, 0x58, 0xc3, 0xeb, 0x28, 0x76, 0x27, 0x0c, 0x61, 0x20, 0xc3, 0x75, 0x3d, 0x18, 0x61, 0xca, - 0xf3, 0x29, 0x94, 0x91, 0x80, 0xbd, 0x60, 0x08, 0x11, 0x4a, 0xe2, 0x33, 0x05, 0x94, 0xee, 0x11, - 0x26, 0x36, 0x9f, 0x15, 0xd7, 0xd8, 0x62, 0x82, 0x16, 0x14, 0xc8, 0x21, 0xf0, 0x86, 0x58, 0x60, - 0xcd, 0x84, 0x74, 0xf8, 0x70, 0xff, 0x3e, 0x67, 0x05, 0x09, 0x9e, 0x7a, 0xea, 0x41, 0x5f, 0x69, - 0x9f, 0x37, 0x0b, 0x26, 0x3c, 0x86, 0xbe, 0x55, 0x7a, 0xa7, 0xc7, 0x5b, 0x68, 0x70, 0x02, 0x1e, - 0x80, 0xd4, 0xfd, 0x53, 0x0f, 0xcc, 0x28, 0xb4, 0x7c, 0x4e, 0x70, 0xd6, 0xda, 0x0a, 0x42, 0xd8, - 0x53, 0x76, 0x4b, 0x8d, 0x22, 0x9f, 0xcf, 0x8b, 0x79, 0xc6, 0x76, 0xc1, 0xca, 0x24, 0x02, 0x0b, - 0xa8, 0xb6, 0x2b, 0xfb, 0xa7, 0x90, 0x00, 0x5c, 0x5c, 0x61, 0xa2, 0x2b, 0xa3, 0x48, 0xd9, 0xae, - 0x06, 0x69, 0x61, 0x8b, 0xfa, 0x37, 0xbf, 0x88, 0xe6, 0x94, 0xf0, 0x20, 0x04, 0x2e, 0x72, 0xee, - 0x1e, 0x84, 0x90, 0x71, 0x5f, 0xca, 0xb9, 0x13, 0x1c, 0xb9, 0x2f, 0xa3, 0xf1, 0x1b, 0x98, 0xa7, - 0x14, 0x12, 0x77, 0x2c, 0x8b, 0x68, 0x63, 0x62, 0xfc, 0xde, 0x83, 0x9d, 0x83, 0x43, 0x7e, 0x45, - 0x2c, 0xb2, 0x8b, 0x09, 0xb2, 0x8b, 0xd3, 0x5b, 0x9f, 0x82, 0x77, 0x15, 0x4d, 0x7d, 0x38, 0xb2, - 0x0f, 0x4f, 0x76, 0x61, 0xa8, 0xf4, 0x98, 0xb7, 0xf1, 0x40, 0x49, 0x52, 0x7a, 0x44, 0xfc, 0x1a, - 0x6a, 0xd8, 0x1c, 0xc6, 0x76, 0x9c, 0x87, 0x97, 0x2f, 0x89, 0xeb, 0xec, 0xea, 0xa3, 0xd8, 0xc7, - 0xde, 0x35, 0xc4, 0xe1, 0xe2, 0x50, 0x9a, 0x27, 0xe8, 0xee, 0x48, 0x03, 0xbf, 0x2e, 0x96, 0xd8, - 0x95, 0xf2, 0x59, 0x64, 0xc1, 0xba, 0x81, 0x1b, 0x9d, 0xb7, 0x5d, 0x0d, 0x3e, 0x44, 0x36, 0x90, - 0x61, 0xba, 0xf1, 0x66, 0x2e, 0xf5, 0x59, 0xe2, 0x2d, 0x24, 0x3a, 0xcf, 0x9f, 0x25, 0xde, 0x16, - 0x6d, 0x76, 0x79, 0x1b, 0xec, 0xb3, 0x94, 0x65, 0xa4, 0x3c, 0x08, 0x0c, 0x91, 0x1e, 0x19, 0xd0, - 0x26, 0xa5, 0xbc, 0x20, 0x04, 0x9b, 0xdf, 0x06, 0x8b, 0x60, 0x8a, 0x75, 0x30, 0x4e, 0xce, 0x3c, - 0x4f, 0x85, 0x90, 0xc2, 0x2f, 0x62, 0x0c, 0x7a, 0x5a, 0xc5, 0x45, 0xf0, 0x25, 0x74, 0xf3, 0x61, - 0x0c, 0x5a, 0x5a, 0x40, 0x19, 0x45, 0xda, 0xd7, 0xa0, 0x9c, 0x03, 0xc0, 0x08, 0x14, 0xe1, 0x97, - 0x73, 0xb8, 0xa8, 0xf5, 0x43, 0x98, 0xc3, 0x09, 0x37, 0xb8, 0xb9, 0x28, 0x25, 0xdd, 0x41, 0xaf, - 0x13, 0x25, 0x59, 0x67, 0x4a, 0x89, 0x5f, 0x8b, 0xa9, 0xe2, 0xf6, 0x6d, 0x6b, 0x19, 0xd9, 0x14, - 0x5f, 0x11, 0x2f, 0xb0, 0x9b, 0x1e, 0x9c, 0x68, 0x30, 0xa7, 0xfb, 0x2a, 0x0c, 0xfa, 0x63, 0x2c, - 0x18, 0x59, 0x4a, 0x22, 0xcb, 0xd7, 0xa1, 0x25, 0x18, 0x16, 0x47, 0x4f, 0xe1, 0x0f, 0x63, 0x4c, - 0xf6, 0x94, 0x3d, 0xc0, 0x66, 0xfd, 0x80, 0x06, 0x00, 0xfe, 0x0a, 0x6a, 0xd9, 0x53, 0xc9, 0x18, - 0xb2, 0x7e, 0x26, 0x83, 0x10, 0x67, 0x7f, 0xbe, 0x8a, 0x41, 0x49, 0xba, 0x54, 0x76, 0xbe, 0x77, - 0xc5, 0x1c, 0x6b, 0x6c, 0x29, 0xdd, 0x87, 0x1e, 0x44, 0x63, 0xfe, 0xf5, 0xb8, 0xf4, 0xa4, 0x85, - 0x07, 0xc1, 0x30, 0xb0, 0xfc, 0x55, 0x27, 0xde, 0x87, 0x9d, 0xde, 0x9e, 0xb2, 0xbb, 0xd2, 0xf6, - 0x4f, 0xf9, 0x1a, 0xe6, 0xf5, 0xa3, 0xd8, 0x80, 0xb6, 0xeb, 0x23, 0xab, 0x76, 0x7a, 0x87, 0x7a, - 0x04, 0xfc, 0x35, 0x71, 0x83, 0xb5, 0x77, 0x22, 0x33, 0x3a, 0x39, 0x09, 0xfa, 0xd8, 0x28, 0x5c, - 0x82, 0x1e, 0xaa, 0x07, 0x4a, 0xfa, 0xfc, 0x75, 0x3c, 0x54, 0x87, 0xbc, 0x35, 0x52, 0x56, 0x6e, - 0x9e, 0x9f, 0xca, 0x91, 0xb1, 0xe0, 0xf3, 0x6f, 0x40, 0x63, 0x7b, 0x81, 0x79, 0x32, 0x81, 0xbf, - 0x81, 0xfe, 0x62, 0x29, 0x3f, 0x0c, 0xfa, 0x4f, 0x1e, 0xa8, 0x68, 0xd0, 0x83, 0x50, 0x8e, 0xf9, - 0x37, 0x62, 0xbe, 0xef, 0x29, 0xeb, 0x81, 0xf4, 0xc7, 0x54, 0x5b, 0xf9, 0x47, 0x30, 0xe2, 0x29, - 0xd4, 0x55, 0x4a, 0xfb, 0xeb, 0x7d, 0x1b, 0x9c, 0x49, 0x1b, 0x44, 0x03, 0xfe, 0x51, 0xbc, 0x30, - 0xf8, 0x3c, 0x21, 0xc2, 0xde, 0x3a, 0xf7, 0x85, 0x60, 0x73, 0xbd, 0x9e, 0x07, 0xef, 0x8c, 0xc0, - 0x58, 0x4f, 0xf6, 0x81, 0xff, 0xf3, 0xcc, 0x52, 0xb5, 0x5d, 0x59, 0xe9, 0x33, 0x46, 0x17, 0x09, - 0x3b, 0x3c, 0xf6, 0xcf, 0xf9, 0x7c, 0xb5, 0xa7, 0x22, 0xe0, 0x17, 0x44, 0x8b, 0xcd, 0x3e, 0x8a, - 0x02, 0x63, 0x46, 0xe0, 0xf3, 0x0a, 0x16, 0x91, 0x9d, 0x68, 0x5f, 0xab, 0x01, 0xce, 0xf3, 0xbc, - 0x8a, 0xd4, 0xad, 0x20, 0x0a, 0xcc, 0x29, 0x95, 0x4f, 0xc6, 0xa6, 0x93, 0x6a, 0x52, 0x17, 0x0d, - 0x36, 0xe5, 0x81, 0xd5, 0x63, 0x3e, 0xb5, 0xf2, 0x6e, 0xa5, 0x34, 0x49, 0xe0, 0x70, 0xce, 0x8b, - 0xeb, 0x5c, 0x53, 0x76, 0x9f, 0x2b, 0x58, 0xd5, 0xb7, 0xb5, 0x7a, 0x8a, 0xfe, 0x54, 0x51, 0xf0, - 0x01, 0xc8, 0x90, 0x94, 0x34, 0xd9, 0xcc, 0x56, 0x38, 0x22, 0x8d, 0x75, 0xd2, 0x8f, 0x0b, 0x64, - 0x9b, 0x42, 0x12, 0xe6, 0x7f, 0x0c, 0x3e, 0x9f, 0xc6, 0x33, 0x75, 0xb7, 0x1e, 0x69, 0x33, 0x2b, - 0xdf, 0xc5, 0x16, 0x26, 0x1e, 0x46, 0x62, 0x96, 0xd5, 0x13, 0xd5, 0x9c, 0xb5, 0x36, 0x82, 0x48, - 0xea, 0xb1, 0x2b, 0xad, 0xdc, 0xc7, 0x08, 0x6e, 0x85, 0x4a, 0xda, 0x04, 0x00, 0x3c, 0x02, 0x02, - 0x5e, 0x7d, 0x23, 0x81, 0x4e, 0x30, 0x5c, 0x1b, 0x65, 0x6c, 0x80, 0x6e, 0xef, 0x44, 0xf6, 0x8d, - 0xd7, 0x9d, 0x35, 0x8f, 0xa5, 0xee, 0x9e, 0x4a, 0xcd, 0x17, 0x57, 0x3e, 0xc3, 0xe9, 0x59, 0x43, - 0x7a, 0xe7, 0x58, 0xe3, 0x51, 0xe4, 0xc3, 0x49, 0x10, 0x81, 0xcf, 0x2f, 0x50, 0xc5, 0x74, 0xb5, - 0x26, 0x2f, 0x5d, 0x78, 0x62, 0xf3, 0xe8, 0x4b, 0x01, 0x23, 0x1b, 0xee, 0x49, 0x53, 0x80, 0x4e, - 0x28, 0x91, 0xe8, 0x25, 0x7e, 0x5c, 0xdc, 0x3e, 0xa0, 0xac, 0x3f, 0x55, 0x4f, 0x73, 0xcc, 0xf0, - 0x53, 0xd4, 0xb4, 0x0d, 0xf6, 0x60, 0x6c, 0x2c, 0x0c, 0xbb, 0x2a, 0x3a, 0x09, 0x06, 0x86, 0x07, - 0xa8, 0x09, 0xf3, 0xb5, 0xb0, 0xfd, 0x6d, 0xcc, 0x43, 0x0f, 0x42, 0x90, 0xa6, 0x28, 0xf5, 0x09, - 0xf5, 0x0c, 0x32, 0x75, 0x3d, 0x0c, 0xa4, 0xe1, 0x21, 0xba, 0x82, 0x56, 0xba, 0xe5, 0x10, 0xd3, - 0x63, 0x3d, 0xb4, 0xa0, 0xdd, 0x3a, 0x42, 0x2b, 0x68, 0x5d, 0x10, 0xa2, 0xd0, 0x0a, 0x0f, 0x70, - 0x00, 0x2d, 0xa0, 0x31, 0xfa, 0x96, 0x3a, 0xe2, 0x76, 0xbf, 0x83, 0xda, 0xf0, 0xf2, 0xd3, 0x12, - 0x0c, 0xd7, 0xe2, 0x32, 0x5b, 0x70, 0xea, 0xf7, 0xa5, 0xb6, 0x01, 0x6d, 0xfc, 0x5c, 0x85, 0x72, - 0x5b, 0xab, 0x38, 0xc7, 0x3e, 0x8f, 0x1d, 0xbf, 0x75, 0x4f, 0x9a, 0x1c, 0xfa, 0xd3, 0x8a, 0xb8, - 0xc2, 0x2e, 0xa6, 0x0a, 0x72, 0xfc, 0xcf, 0x2a, 0xe2, 0x12, 0x9b, 0xc7, 0x48, 0x65, 0x98, 0xe1, - 0x7f, 0x4e, 0x20, 0xc6, 0xa4, 0x00, 0xfe, 0x05, 0x49, 0x48, 0x82, 0x52, 0xc0, 0xff, 0x92, 0x94, - 0xa1, 0x84, 0x24, 0xa5, 0x0d, 0xff, 0x42, 0x05, 0x2d, 0x4d, 0x95, 0x25, 0x30, 0xff, 0x22, 0x31, - 0xa2, 0xd4, 0x8c, 0xf1, 0x4b, 0xc4, 0x98, 0xc8, 0xcc, 0xd0, 0x2f, 0x13, 0x7a, 0x4f, 0x46, 0xbe, - 0x3a, 0x39, 0xc9, 0xd0, 0xaf, 0x54, 0x44, 0x9b, 0x5d, 0xc2, 0xed, 0x1b, 0x32, 0x94, 0x51, 0x3f, - 0xe7, 0x7f, 0xaf, 0x22, 0x16, 0x19, 0x9f, 0x50, 0x67, 0xf8, 0xc7, 0xab, 0xe2, 0x06, 0xbb, 0xba, - 0x05, 0x3e, 0x68, 0x8c, 0x22, 0x5d, 0x6c, 0x48, 0x75, 0xf3, 0x4f, 0x54, 0x45, 0x87, 0xdd, 0x24, - 0xea, 0xc4, 0x4e, 0x62, 0xc4, 0xea, 0xc1, 0xdf, 0xad, 0x0a, 0x9e, 0x1e, 0x38, 0xa1, 0xfc, 0x17, - 0xab, 0x14, 0xed, 0x64, 0x83, 0xc3, 0x7e, 0xa9, 0x2a, 0xe6, 0x5d, 0x16, 0xb8, 0xf5, 0x2f, 0x57, - 0xc5, 0x55, 0x26, 0xb6, 0xc1, 0x66, 0xa5, 0x24, 0x30, 0x36, 0xe8, 0x1b, 0xfe, 0xa9, 0xaa, 0x68, - 0xb2, 0xe9, 0x9d, 0x08, 0x8b, 0x28, 0xff, 0x41, 0xbc, 0xc8, 0xd3, 0xae, 0x53, 0xf2, 0x1f, 0xc2, - 0xd2, 0x31, 0x45, 0x17, 0x99, 0xff, 0x30, 0x4e, 0x61, 0x02, 0x67, 0xc3, 0xc8, 0x2f, 0x3e, 0x3f, - 0xf8, 0x8f, 0xd0, 0x0e, 0x57, 0x83, 0xf9, 0x8f, 0xd2, 0xc2, 0xcd, 0x3c, 0xfc, 0x5f, 0x6b, 0x74, - 0x04, 0xc5, 0x01, 0xe8, 0xdf, 0x6a, 0x68, 0x68, 0xd1, 0x08, 0xe0, 0xff, 0x5e, 0x13, 0x4b, 0x6c, - 0x31, 0xc5, 0x68, 0x1c, 0xc9, 0x2a, 0xd9, 0x7f, 0xd4, 0x30, 0x58, 0xd8, 0x9b, 0xb3, 0x9c, 0x2c, - 0x58, 0xfe, 0x9f, 0x35, 0x71, 0x9d, 0x5d, 0xd9, 0x06, 0x9b, 0x9d, 0x7b, 0x81, 0xf8, 0x5f, 0x35, - 0x31, 0xc7, 0x66, 0xb1, 0xd6, 0x05, 0x70, 0x06, 0xfc, 0x0b, 0x35, 0x4c, 0x9e, 0x74, 0x99, 0x98, - 0xf3, 0xc5, 0x1a, 0x1e, 0xe9, 0xb7, 0x61, 0x2b, 0xe9, 0x0d, 0xbb, 0xa7, 0x32, 0x8a, 0x20, 0x34, - 0xfc, 0x4b, 0x35, 0x3c, 0x38, 0x0f, 0x86, 0xea, 0x0c, 0x0a, 0xf0, 0x97, 0x29, 0x02, 0xc4, 0xfc, - 0xd6, 0x08, 0xf4, 0x38, 0x23, 0x7c, 0xa5, 0x86, 0x29, 0xe0, 0xf8, 0xcb, 0x94, 0xf7, 0x6a, 0xe2, - 0x26, 0x6b, 0xbb, 0x12, 0x99, 0x26, 0x00, 0x12, 0x07, 0xf4, 0x68, 0xe7, 0x1f, 0xaf, 0x67, 0x12, - 0x7b, 0x10, 0x5a, 0x99, 0xed, 0xfb, 0x44, 0x1d, 0xed, 0xc2, 0x9a, 0x90, 0xb7, 0x52, 0xc3, 0xdf, - 0xad, 0xe3, 0xb9, 0x6f, 0x83, 0x4d, 0xba, 0xa9, 0xe1, 0xdf, 0x8d, 0x13, 0xf0, 0xfc, 0xa3, 0xc8, - 0x8c, 0x8e, 0x33, 0x43, 0xf9, 0xf7, 0xa4, 0x9b, 0x7b, 0x81, 0xb1, 0x3a, 0x38, 0x1e, 0xd1, 0x8d, - 0xfa, 0xde, 0x3a, 0x3a, 0x75, 0x30, 0x8e, 0xfa, 0x25, 0xf8, 0xfb, 0x48, 0x66, 0x96, 0x62, 0x27, - 0x8a, 0xff, 0x55, 0x5d, 0x2c, 0x30, 0xe6, 0x8a, 0x11, 0x01, 0x7f, 0x9d, 0xca, 0xc3, 0x91, 0xf7, - 0x0c, 0x34, 0xcd, 0x03, 0xfc, 0x6f, 0x32, 0x13, 0x0b, 0x1d, 0x83, 0xff, 0x6d, 0x1d, 0x83, 0x9e, - 0xb6, 0x4a, 0xfe, 0x2b, 0x0d, 0xb4, 0x8f, 0x62, 0x82, 0x8d, 0xdb, 0x25, 0xcc, 0xaf, 0x36, 0x30, - 0x31, 0xf1, 0xc6, 0xb8, 0xc4, 0xfc, 0x35, 0x5a, 0x27, 0x4d, 0x70, 0xa7, 0xc7, 0x3f, 0x8d, 0xa3, - 0x37, 0x4b, 0xd6, 0x87, 0x07, 0x0f, 0xf9, 0x67, 0x1a, 0xa8, 0x6a, 0x3d, 0xc4, 0x07, 0xa5, 0xcd, - 0xee, 0xed, 0xaf, 0x37, 0xf0, 0xe2, 0x17, 0xb4, 0x27, 0xe7, 0xfe, 0x1b, 0x0d, 0x72, 0xd4, 0xe1, - 0x94, 0xbb, 0x3d, 0x6c, 0x26, 0xbf, 0x49, 0x52, 0xf1, 0xfe, 0xa0, 0x25, 0x87, 0x96, 0xff, 0x56, - 0x43, 0xb4, 0xd8, 0x4c, 0xf2, 0xfe, 0xe0, 0xbf, 0x4d, 0x3a, 0x68, 0xd4, 0xcb, 0x9e, 0x96, 0x86, - 0xff, 0x0e, 0xd9, 0x4f, 0x9a, 0xb3, 0x1f, 0x49, 0xf8, 0xef, 0x92, 0x82, 0xc9, 0x31, 0x94, 0xff, - 0x5d, 0x33, 0x49, 0xed, 0x02, 0xf6, 0xf7, 0x4d, 0x57, 0x02, 0xca, 0x73, 0x27, 0xff, 0x07, 0x82, - 0x27, 0x67, 0x55, 0xfe, 0x8f, 0x4d, 0xf4, 0xa8, 0x38, 0x6e, 0x62, 0x35, 0x36, 0xfc, 0x9f, 0x9a, - 0x68, 0x7a, 0x3e, 0x58, 0xf2, 0xdf, 0x6b, 0x61, 0x94, 0xd3, 0x91, 0x92, 0xff, 0x7e, 0x0b, 0x6d, - 0x9f, 0x18, 0x26, 0xf9, 0x1f, 0xb4, 0xe8, 0x1c, 0xb3, 0x31, 0x92, 0xff, 0x61, 0x01, 0x40, 0x2e, - 0xfe, 0x47, 0x2d, 0x2a, 0xb2, 0xa5, 0xd1, 0x91, 0xff, 0x71, 0x0b, 0x6d, 0x9b, 0x1c, 0x1a, 0xf9, - 0x9f, 0xb4, 0x5c, 0x9e, 0x64, 0xe3, 0x22, 0xff, 0x6c, 0x0b, 0x2f, 0xdf, 0xfb, 0x0f, 0x8a, 0xfc, - 0x73, 0xa4, 0x2b, 0x1f, 0x11, 0xf9, 0xe7, 0x5b, 0x78, 0x47, 0x12, 0x1f, 0x12, 0x5d, 0xf4, 0xa3, - 0x26, 0xff, 0xa9, 0x39, 0x6a, 0x01, 0xe8, 0x4c, 0x09, 0xff, 0xe9, 0x39, 0xbc, 0x1c, 0x28, 0xa2, - 0x84, 0x1b, 0xfe, 0x33, 0x73, 0x58, 0x2f, 0xd2, 0x62, 0x57, 0xde, 0xf4, 0xb3, 0x73, 0x58, 0x72, - 0x0e, 0xb5, 0x8c, 0xcc, 0x09, 0x68, 0x3c, 0x69, 0xfe, 0x73, 0x73, 0x18, 0x9d, 0x14, 0x4a, 0xae, - 0x0e, 0xff, 0xf9, 0x39, 0xf4, 0xdd, 0xd9, 0x83, 0x49, 0x71, 0x2c, 0x0d, 0xf0, 0xef, 0x9f, 0xc7, - 0xdd, 0x68, 0x4a, 0x06, 0xfd, 0xc0, 0x3c, 0x9e, 0x2a, 0x5a, 0x91, 0x42, 0x86, 0x7f, 0x72, 0x7e, - 0xa5, 0xc3, 0x66, 0x7a, 0x26, 0xa4, 0xa9, 0x61, 0x86, 0xd5, 0x7a, 0x26, 0xe4, 0x17, 0xb0, 0xc9, - 0x6e, 0x28, 0x15, 0x6e, 0x9e, 0xc7, 0xfa, 0xf1, 0xab, 0xbc, 0xb2, 0xb2, 0xc1, 0x16, 0xba, 0x6a, - 0x18, 0xcb, 0xac, 0x6a, 0xd1, 0xa0, 0xe0, 0x26, 0x0c, 0xf0, 0xdd, 0x7d, 0xb9, 0x80, 0x9d, 0x7a, - 0xf3, 0x1c, 0xfa, 0x23, 0x1a, 0x87, 0x2a, 0xb8, 0xc4, 0x4d, 0x98, 0x30, 0x3e, 0xaf, 0xae, 0x7c, - 0x3b, 0xe3, 0x5d, 0x15, 0x99, 0xc0, 0x58, 0x88, 0xfa, 0xe3, 0x07, 0x70, 0x06, 0x21, 0x0d, 0x5d, - 0x56, 0xab, 0x68, 0xc0, 0x2f, 0xd0, 0x1b, 0x1b, 0xe8, 0xad, 0xec, 0x46, 0xb3, 0x0d, 0x9c, 0xa3, - 0xe9, 0x21, 0x3d, 0xcf, 0xd8, 0xe6, 0x19, 0x44, 0x76, 0x24, 0xc3, 0x70, 0xcc, 0x6b, 0xb8, 0xee, - 0x8e, 0x8c, 0x55, 0xc3, 0xe0, 0x63, 0x38, 0xa1, 0xad, 0xfc, 0x78, 0x85, 0x35, 0xdd, 0x1c, 0x96, - 0x99, 0xe6, 0x96, 0xfb, 0x10, 0xf9, 0x01, 0x09, 0xc7, 0x77, 0x20, 0x41, 0xc9, 0xf0, 0x58, 0xc9, - 0x99, 0x0e, 0xac, 0xd4, 0x64, 0x21, 0x3d, 0x7f, 0x93, 0x7d, 0x9a, 0xec, 0xf4, 0xf9, 0x54, 0xce, - 0x97, 0x4e, 0x84, 0xb3, 0x39, 0x5f, 0xee, 0xde, 0x34, 0xbe, 0x81, 0x8a, 0x1a, 0xd6, 0x23, 0xbf, - 0x1b, 0x82, 0xc4, 0xf1, 0x6b, 0x66, 0x65, 0x8d, 0xb1, 0xfc, 0xd7, 0x3a, 0x32, 0x3f, 0x1f, 0x4b, - 0x2e, 0x60, 0x10, 0xb6, 0x43, 0x75, 0x2c, 0x43, 0x5e, 0xc1, 0x79, 0x91, 0xf2, 0xb9, 0xba, 0xf2, - 0x93, 0xb3, 0x6c, 0x61, 0xe2, 0x97, 0x39, 0xf4, 0x22, 0x5b, 0xac, 0x87, 0x78, 0x50, 0x37, 0xd9, - 0xb5, 0x0c, 0x79, 0x66, 0xc2, 0xab, 0xe0, 0x04, 0x9f, 0x91, 0x27, 0x46, 0xbd, 0xaa, 0xb8, 0xcd, - 0xae, 0xe7, 0xc4, 0x67, 0x07, 0x3c, 0x6c, 0x57, 0xed, 0x8c, 0x61, 0x72, 0xd2, 0xab, 0x63, 0x60, - 0x32, 0x2a, 0x3d, 0x46, 0xe8, 0xd7, 0x8a, 0xfc, 0x67, 0x44, 0x37, 0x72, 0xf0, 0x69, 0x71, 0x95, - 0x5d, 0xca, 0x6d, 0xcc, 0xb2, 0x88, 0xcf, 0x60, 0x1c, 0x33, 0x42, 0xd2, 0xb3, 0x67, 0x4b, 0x60, - 0xd2, 0xbb, 0x1b, 0x18, 0xdc, 0x0c, 0xc4, 0x3a, 0x9d, 0x97, 0x48, 0x86, 0x2f, 0xa0, 0x89, 0x10, - 0xb8, 0x5a, 0xdc, 0x2c, 0x51, 0xdc, 0xc8, 0x41, 0x7f, 0xca, 0xf0, 0x16, 0x8e, 0xb4, 0xa5, 0xb8, - 0xb8, 0x1d, 0x73, 0x25, 0xe5, 0x49, 0xe7, 0xc7, 0x4b, 0x33, 0x9f, 0xbf, 0x38, 0x69, 0x80, 0x58, - 0x28, 0x61, 0xd4, 0x13, 0x38, 0x2f, 0xa9, 0x2b, 0x0c, 0x51, 0xfc, 0x62, 0xd9, 0x51, 0x4a, 0x12, - 0x2e, 0x4a, 0xd1, 0x75, 0x76, 0x3f, 0x7c, 0x1a, 0x81, 0x36, 0xa7, 0x41, 0xcc, 0x2f, 0x95, 0x82, - 0xe6, 0xaa, 0x2b, 0xe5, 0xc5, 0xe5, 0x52, 0x28, 0xd0, 0xf4, 0x7c, 0xd3, 0x62, 0xf9, 0xc0, 0xa8, - 0xbe, 0xe5, 0xd4, 0x2b, 0x25, 0xea, 0xae, 0x8c, 0xe4, 0xa0, 0xa0, 0xf0, 0x6a, 0x49, 0x61, 0xa1, - 0xb0, 0xb6, 0x4b, 0xc6, 0x27, 0xa3, 0xd1, 0x35, 0xb1, 0xcc, 0x6e, 0x4c, 0x18, 0x5f, 0x2e, 0x5e, - 0x4b, 0xe2, 0x16, 0x5b, 0x2a, 0xd9, 0x59, 0xa6, 0x5f, 0x17, 0x1d, 0x76, 0xeb, 0x99, 0xec, 0x2b, - 0xf3, 0xdc, 0x28, 0x65, 0xe8, 0xfb, 0x54, 0xcf, 0x9b, 0xe2, 0x1a, 0x5b, 0xcc, 0x18, 0x4a, 0x95, - 0xf2, 0x56, 0xc9, 0xdb, 0xc9, 0x8a, 0x79, 0xbb, 0x24, 0x79, 0x1b, 0x2c, 0x1e, 0x57, 0x10, 0x0d, - 0xb2, 0x59, 0x6d, 0xb9, 0x24, 0x39, 0x61, 0x70, 0x65, 0xee, 0x85, 0xd2, 0x9d, 0x7b, 0xe6, 0x95, - 0xd1, 0x29, 0xdd, 0xb9, 0x89, 0xa2, 0xfc, 0x62, 0x49, 0x6c, 0xa9, 0x38, 0xbf, 0x54, 0x3a, 0xd8, - 0x72, 0x91, 0xa6, 0x1f, 0x51, 0xca, 0x29, 0x88, 0xb7, 0xff, 0xe5, 0x95, 0x03, 0xd6, 0x20, 0xa3, - 0xe8, 0x37, 0x4a, 0x2c, 0x71, 0x51, 0x80, 0xdd, 0x37, 0xf8, 0x58, 0x90, 0x56, 0xd4, 0x7b, 0x20, - 0x43, 0x7b, 0x3a, 0xe6, 0x15, 0x7c, 0xc6, 0xae, 0x1f, 0x47, 0x4a, 0x0f, 0x65, 0xc8, 0xab, 0x54, - 0x6c, 0xad, 0x8c, 0xfc, 0x0d, 0xac, 0xa7, 0x2d, 0x36, 0x7b, 0x60, 0x55, 0x1c, 0xe3, 0xae, 0xfa, - 0x4a, 0xdf, 0x0d, 0x34, 0xae, 0x94, 0x2e, 0xb2, 0x8b, 0xd9, 0x22, 0x7b, 0x39, 0xd3, 0x7b, 0xb2, - 0x08, 0xd3, 0xf5, 0xaf, 0x94, 0xd0, 0x24, 0xa2, 0xae, 0xaa, 0x96, 0x50, 0x7c, 0x61, 0xbf, 0xf9, - 0x0e, 0xbb, 0x98, 0xfd, 0x3d, 0x71, 0x04, 0xe7, 0xf6, 0x48, 0x1d, 0xbf, 0x2d, 0x6e, 0xaf, 0xba, - 0x7f, 0x80, 0x57, 0xd3, 0x7f, 0x80, 0x57, 0x77, 0xc1, 0x18, 0xcc, 0xd3, 0x98, 0x8a, 0x4e, 0xfb, - 0x5f, 0xdc, 0xbf, 0x54, 0x2f, 0x3e, 0xef, 0x5f, 0xc2, 0xc2, 0x7f, 0x29, 0xde, 0x42, 0x5c, 0x58, - 0x3d, 0x3c, 0x7e, 0x7b, 0x63, 0xc8, 0xe6, 0x03, 0x95, 0xee, 0x1c, 0xe8, 0xb8, 0xbf, 0xd1, 0xec, - 0xd2, 0xbe, 0x7d, 0x94, 0xb2, 0x5f, 0xf9, 0x8e, 0xd7, 0x07, 0x81, 0x3d, 0x1d, 0x1d, 0xa3, 0xb4, - 0xbb, 0x8e, 0xed, 0x95, 0x40, 0xa5, 0x5f, 0xa4, 0xea, 0xee, 0x40, 0xbd, 0x22, 0xe3, 0xe0, 0xee, - 0xd9, 0xda, 0x5d, 0xa7, 0x32, 0x3e, 0xfe, 0x89, 0x4a, 0xe5, 0x17, 0xaa, 0x62, 0xd7, 0x49, 0x75, - 0xf3, 0xd6, 0xea, 0xb6, 0x8e, 0xfb, 0xc7, 0xd3, 0xb4, 0xe3, 0xb5, 0xff, 0x0e, 0x00, 0x00, 0xff, - 0xff, 0x76, 0xcb, 0x0c, 0x99, 0xfb, 0x1e, 0x00, 0x00, + // 3631 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0x49, 0x70, 0x5c, 0xc7, + 0x79, 0xe6, 0x2c, 0x58, 0xa6, 0x67, 0x30, 0x68, 0x36, 0x09, 0x72, 0x08, 0x12, 0x24, 0x38, 0x52, + 0x24, 0x18, 0x16, 0x01, 0x0b, 0x52, 0x14, 0x5b, 0x49, 0x2a, 0x05, 0xcc, 0x00, 0x20, 0x42, 0x02, + 0x84, 0x1e, 0x40, 0xc6, 0x95, 0x0b, 0xd2, 0x78, 0xef, 0xc7, 0xcc, 0x13, 0xdf, 0xbc, 0x7e, 0xea, + 0xee, 0x01, 0x31, 0x3e, 0xd9, 0xca, 0x52, 0x95, 0xf8, 0x92, 0xc5, 0x97, 0x5c, 0x52, 0x39, 0x64, + 0x75, 0x65, 0x71, 0xe2, 0xac, 0xca, 0x25, 0xbb, 0xed, 0x6c, 0xe7, 0xec, 0xf1, 0x31, 0xb9, 0x67, + 0xf5, 0xa6, 0xd4, 0xdf, 0xfd, 0xd6, 0x01, 0x11, 0xdb, 0x95, 0xf2, 0x6d, 0xfa, 0xfb, 0xbb, 0xff, + 0xad, 0xff, 0xad, 0x1f, 0x40, 0x1a, 0xae, 0x18, 0x0c, 0x44, 0xb8, 0x12, 0x49, 0xa1, 0x05, 0x9b, + 0x1b, 0xf8, 0xc1, 0xe9, 0x50, 0xd9, 0xd5, 0xe9, 0xda, 0x8a, 0x25, 0xce, 0x2f, 0xf6, 0x84, 0xe8, + 0x05, 0xb0, 0x6a, 0xe0, 0xe3, 0xe1, 0xc9, 0xaa, 0x07, 0xca, 0x95, 0x7e, 0xa4, 0x85, 0xb4, 0x5b, + 0xdb, 0xef, 0x95, 0xc9, 0xe4, 0x81, 0xe6, 0x7a, 0xa8, 0x58, 0x87, 0x10, 0x90, 0x52, 0xc8, 0x23, + 0x57, 0x78, 0xd0, 0x2a, 0x2d, 0x96, 0x96, 0x9a, 0x6b, 0x8b, 0x2b, 0xcf, 0x65, 0xbc, 0xb2, 0x89, + 0x1b, 0x3b, 0xc2, 0x83, 0x8d, 0x72, 0xab, 0xe4, 0xd4, 0x20, 0x59, 0xb2, 0x6b, 0x64, 0x52, 0x02, + 0x57, 0x22, 0x6c, 0x95, 0x17, 0x4b, 0x4b, 0x35, 0x27, 0x5e, 0x31, 0x46, 0xaa, 0x86, 0x6d, 0x65, + 0xb1, 0xb4, 0x34, 0xe1, 0x98, 0xdf, 0xec, 0x16, 0xa9, 0x49, 0xd0, 0xd2, 0xe7, 0xc7, 0x01, 0xb4, + 0xaa, 0x8b, 0xa5, 0xa5, 0x69, 0x27, 0x03, 0x90, 0x93, 0x07, 0x9a, 0xfb, 0x41, 0x6b, 0xc2, 0x72, + 0xb2, 0x2b, 0xf6, 0x80, 0x10, 0x38, 0xd3, 0x92, 0x1f, 0xf9, 0xe1, 0x89, 0x68, 0x4d, 0x2e, 0x56, + 0x96, 0xea, 0x6b, 0xaf, 0x5c, 0xa0, 0xa6, 0xb5, 0x6c, 0x65, 0x13, 0xf7, 0xef, 0x84, 0x27, 0x62, + 0x33, 0xd4, 0x72, 0xe4, 0xd4, 0x20, 0x59, 0xcf, 0x7f, 0x17, 0x69, 0x16, 0x89, 0x8c, 0x92, 0xca, + 0x53, 0x18, 0x19, 0xf3, 0x6b, 0x0e, 0xfe, 0x64, 0x57, 0xc9, 0xc4, 0x29, 0x0f, 0x86, 0x10, 0x5b, + 0x64, 0x17, 0x6f, 0x96, 0x3f, 0x5c, 0x6a, 0xbf, 0x41, 0x1a, 0x0f, 0x60, 0xf4, 0x04, 0xd7, 0xfb, + 0xdc, 0x97, 0xdf, 0xe8, 0xd9, 0xf6, 0x6b, 0xa4, 0xfe, 0x00, 0x46, 0x5d, 0xae, 0xf9, 0x05, 0xc7, + 0x18, 0xa9, 0x7a, 0x5c, 0x73, 0x73, 0xaa, 0xe1, 0x98, 0xdf, 0xed, 0x5b, 0xa4, 0xba, 0x11, 0x88, + 0xe3, 0x8c, 0x65, 0xc9, 0x10, 0x63, 0x96, 0x67, 0x84, 0xee, 0x07, 0xdc, 0x85, 0xbe, 0x08, 0x3c, + 0x90, 0x46, 0x25, 0xe4, 0xab, 0x79, 0x2f, 0xe1, 0xab, 0x79, 0x8f, 0xbd, 0x49, 0xaa, 0x7a, 0x14, + 0x59, 0x6d, 0x9a, 0x6b, 0x2f, 0x5d, 0xe0, 0xb5, 0x1c, 0xa3, 0xc3, 0x51, 0x04, 0x8e, 0x39, 0x83, + 0xf7, 0x61, 0x44, 0xa9, 0x56, 0x65, 0xb1, 0xb2, 0xd4, 0x70, 0xe2, 0x55, 0xfb, 0xa8, 0x20, 0x79, + 0x5b, 0x8a, 0x61, 0xc4, 0x1e, 0x90, 0x46, 0x94, 0x61, 0xaa, 0x55, 0x32, 0xb7, 0xf4, 0xf2, 0xd7, + 0x97, 0x67, 0x14, 0x77, 0x0a, 0x87, 0xdb, 0xf7, 0xc8, 0xd4, 0xba, 0xe7, 0x49, 0x50, 0x8a, 0x35, + 0x49, 0xd9, 0x8f, 0x62, 0x83, 0xca, 0x7e, 0x84, 0x7e, 0x8a, 0x84, 0xd4, 0xc6, 0x9e, 0x8a, 0x63, + 0x7e, 0xb7, 0x3f, 0x59, 0x21, 0x53, 0xbb, 0xaa, 0xb7, 0xc1, 0x15, 0xb0, 0x8f, 0x90, 0xe9, 0x81, + 0xea, 0x1d, 0x19, 0x9b, 0x6d, 0x40, 0xdf, 0xbe, 0x40, 0x87, 0x5d, 0xd5, 0x33, 0xb6, 0x4e, 0x0d, + 0xec, 0x0f, 0x74, 0xf3, 0x40, 0xf5, 0x76, 0xba, 0x31, 0x6f, 0xbb, 0xc0, 0x90, 0xd5, 0xfe, 0x00, + 0x94, 0xe6, 0x83, 0xc8, 0xc4, 0x72, 0xd5, 0xc9, 0x00, 0x36, 0x4f, 0xa6, 0x95, 0x18, 0x4a, 0x17, + 0x76, 0xba, 0x26, 0x9e, 0x2b, 0x4e, 0xba, 0x46, 0x9a, 0xe6, 0xb2, 0x07, 0x7a, 0xa7, 0x6b, 0x02, + 0xba, 0xe2, 0xa4, 0x6b, 0xb6, 0x47, 0x48, 0x24, 0x45, 0x04, 0x52, 0xfb, 0xa0, 0xe2, 0x90, 0x5e, + 0xb9, 0x58, 0x51, 0x34, 0x6d, 0x65, 0x3f, 0x3d, 0x60, 0x83, 0x3a, 0xc7, 0x81, 0x7d, 0x2f, 0x99, + 0x91, 0x10, 0x05, 0xbe, 0xcb, 0x35, 0x60, 0x64, 0xb7, 0xa6, 0x16, 0x4b, 0x4b, 0xf5, 0xb5, 0x17, + 0x2f, 0x60, 0xe9, 0xe4, 0xf7, 0x3a, 0xc5, 0xa3, 0xf3, 0xdf, 0x4d, 0x66, 0xc7, 0x44, 0x7d, 0x53, + 0x29, 0xf2, 0x98, 0xcc, 0x14, 0xd8, 0xb3, 0x45, 0x52, 0xf7, 0x55, 0x0a, 0x19, 0x26, 0xd3, 0x4e, + 0x1e, 0x62, 0x6d, 0xd2, 0xc0, 0x4b, 0x48, 0xdd, 0x5c, 0x36, 0x6e, 0x2e, 0x60, 0xed, 0xef, 0x21, + 0xb5, 0x5d, 0xd5, 0xbb, 0x0f, 0xdc, 0x03, 0xc9, 0xd6, 0x48, 0xf5, 0x98, 0x2b, 0xcb, 0xab, 0xfe, + 0x7f, 0xdd, 0x30, 0x3a, 0xce, 0x31, 0x7b, 0xdb, 0x3f, 0x40, 0x1a, 0xdd, 0xdd, 0x87, 0xff, 0x2f, + 0x1e, 0x18, 0x0c, 0xaa, 0xcf, 0xa5, 0xb7, 0xc7, 0x07, 0x89, 0xe5, 0x19, 0xd0, 0x7e, 0xbf, 0x44, + 0x1a, 0xfb, 0xd2, 0x3f, 0xf5, 0x03, 0xe8, 0xc1, 0xe6, 0x99, 0x66, 0x1b, 0xa4, 0x2e, 0x8e, 0xdf, + 0x06, 0x57, 0xe7, 0xe3, 0xf1, 0xee, 0x05, 0x92, 0x1e, 0x99, 0x9d, 0x26, 0x24, 0x89, 0x48, 0x7f, + 0xb3, 0xb7, 0x08, 0x8d, 0x79, 0x44, 0x09, 0xeb, 0xaf, 0x93, 0xcc, 0x96, 0x51, 0xaa, 0x88, 0x33, + 0x2b, 0x8a, 0x00, 0x5b, 0x26, 0x97, 0x63, 0x96, 0x21, 0x1f, 0xc0, 0x91, 0x1f, 0x7a, 0x70, 0x16, + 0x97, 0xe9, 0x78, 0x2f, 0x9a, 0xb3, 0x83, 0x30, 0x7b, 0x85, 0xb0, 0x73, 0x7b, 0x95, 0x09, 0xf5, + 0x09, 0x87, 0x8e, 0x6d, 0x56, 0xed, 0x2d, 0xd2, 0x38, 0x80, 0xde, 0x00, 0x42, 0x8d, 0x75, 0x58, + 0xa1, 0xbf, 0xe2, 0xf5, 0x4e, 0xd7, 0x98, 0x5f, 0x71, 0x32, 0x80, 0xb5, 0xc8, 0xd4, 0xde, 0x70, + 0xe0, 0x88, 0x67, 0x2a, 0x4e, 0xb9, 0x64, 0xd9, 0xfe, 0xe9, 0x32, 0x21, 0x9d, 0xc0, 0xc7, 0x6d, + 0x18, 0x41, 0x37, 0xc8, 0xb4, 0xf2, 0x9e, 0x66, 0x4e, 0xac, 0x39, 0x53, 0xca, 0x7b, 0x6a, 0xdc, + 0x73, 0x87, 0xd4, 0x91, 0x74, 0x0a, 0x52, 0xf9, 0x69, 0x0b, 0x22, 0xca, 0x7b, 0xfa, 0xc4, 0x22, + 0x6c, 0x81, 0x90, 0x40, 0xb8, 0x3c, 0x38, 0xc2, 0xa4, 0x35, 0x56, 0xd6, 0x9c, 0x9a, 0x41, 0x30, + 0xb6, 0xb0, 0x9e, 0x0c, 0x15, 0x48, 0x63, 0x51, 0xcd, 0x31, 0xbf, 0x11, 0xeb, 0x0b, 0xa5, 0xe3, + 0x2e, 0x64, 0x7e, 0xb3, 0x07, 0x64, 0x5a, 0x82, 0x02, 0x79, 0x0a, 0x5e, 0x9c, 0xae, 0xab, 0x17, + 0xb8, 0x3f, 0xd3, 0x7b, 0xc5, 0x89, 0x4f, 0xd8, 0x7c, 0x4d, 0x19, 0xcc, 0x7f, 0x27, 0xa6, 0x48, + 0x8e, 0xf4, 0x4d, 0xe5, 0xd7, 0x67, 0xcb, 0x84, 0x1c, 0xe0, 0x59, 0x69, 0x7c, 0xb3, 0x40, 0xc8, + 0xf1, 0xd0, 0x0f, 0xbc, 0x23, 0xcd, 0x7b, 0x2a, 0xe6, 0x50, 0x33, 0xc8, 0x21, 0xef, 0xa9, 0x1c, + 0xd9, 0xcf, 0x42, 0xd6, 0x92, 0xd1, 0xfc, 0x05, 0x42, 0x7a, 0xbe, 0x3e, 0x42, 0xd5, 0x7d, 0x9d, + 0x78, 0xa7, 0xe7, 0xeb, 0x8e, 0x01, 0x0c, 0x59, 0xa4, 0xce, 0xad, 0xc6, 0x64, 0x91, 0xf8, 0xf6, + 0x0e, 0xa9, 0x7b, 0x10, 0x05, 0x62, 0x74, 0x34, 0xc0, 0x4e, 0x6f, 0xfd, 0x45, 0x2c, 0xb4, 0x8b, + 0xfd, 0xfe, 0x1b, 0xf7, 0x5a, 0x66, 0xd1, 0xb7, 0xc6, 0x6b, 0x1f, 0x25, 0xd3, 0x7b, 0xc2, 0xb3, + 0x05, 0xe9, 0x1a, 0x99, 0x0c, 0xf1, 0x77, 0x12, 0x92, 0xf1, 0x0a, 0xe3, 0x91, 0xdb, 0xb6, 0x13, + 0x9f, 0x4f, 0x96, 0x58, 0xca, 0x31, 0x0a, 0x30, 0x05, 0x62, 0x27, 0xa5, 0xeb, 0xe5, 0xcf, 0x11, + 0x52, 0x4b, 0x87, 0x23, 0x56, 0x27, 0x53, 0x07, 0x43, 0xd7, 0x05, 0xa5, 0xe8, 0x25, 0x76, 0x85, + 0xcc, 0x3e, 0x0e, 0xe1, 0x2c, 0x02, 0x57, 0x83, 0x67, 0xf6, 0xd0, 0x12, 0xbb, 0x4c, 0x66, 0x3a, + 0x22, 0x0c, 0xc1, 0xd5, 0x5b, 0xdc, 0x0f, 0xc0, 0xa3, 0x65, 0x76, 0x95, 0xd0, 0x7d, 0x90, 0x03, + 0x5f, 0xa1, 0x57, 0xbb, 0x10, 0xfa, 0xe0, 0xd1, 0x0a, 0xbb, 0x4e, 0xae, 0x74, 0x44, 0x10, 0x80, + 0xab, 0x7d, 0x11, 0xee, 0x09, 0xbd, 0x79, 0xe6, 0x2b, 0xad, 0x68, 0x15, 0xd9, 0xee, 0x04, 0x01, + 0xf4, 0x78, 0xb0, 0x2e, 0x7b, 0x43, 0x4c, 0x26, 0x3a, 0x81, 0x3c, 0x62, 0xb0, 0xeb, 0x0f, 0x20, + 0x44, 0x4e, 0x74, 0x2a, 0x87, 0x9a, 0x0c, 0xc5, 0x94, 0xa1, 0xd3, 0xec, 0x06, 0x99, 0x8b, 0xd1, + 0x9c, 0x00, 0x3e, 0x00, 0x5a, 0x63, 0xb3, 0xa4, 0x1e, 0x93, 0x0e, 0x1f, 0xed, 0x3f, 0xa0, 0x24, + 0xc7, 0xc1, 0x11, 0xcf, 0x1c, 0x70, 0x85, 0xf4, 0x68, 0x3d, 0xa7, 0xc2, 0x13, 0x70, 0xb5, 0x90, + 0x3b, 0x5d, 0xda, 0x40, 0x85, 0x63, 0xf0, 0x00, 0xb8, 0x74, 0xfb, 0x0e, 0xa8, 0x61, 0xa0, 0xe9, + 0x0c, 0xa3, 0xa4, 0xb1, 0xe5, 0x07, 0xb0, 0x27, 0xf4, 0x96, 0x18, 0x86, 0x1e, 0x6d, 0xb2, 0x26, + 0x21, 0xbb, 0xa0, 0x79, 0xec, 0x81, 0x59, 0x14, 0xdb, 0xe1, 0x6e, 0x1f, 0x62, 0x80, 0xb2, 0x6b, + 0x84, 0x75, 0x78, 0x18, 0x0a, 0xdd, 0x91, 0xc0, 0x35, 0x6c, 0x99, 0xc9, 0x80, 0x5e, 0x46, 0x75, + 0x0a, 0xb8, 0x1f, 0x00, 0x65, 0xd9, 0xee, 0x2e, 0x04, 0x90, 0xee, 0xbe, 0x92, 0xed, 0x8e, 0x71, + 0xdc, 0x7d, 0x15, 0x95, 0xdf, 0xc0, 0x0c, 0x30, 0x2e, 0xb1, 0xd7, 0x32, 0x87, 0x3a, 0xc6, 0xca, + 0xef, 0x3d, 0xdc, 0x39, 0x38, 0xa4, 0xd7, 0xd8, 0x1c, 0xb9, 0x1c, 0x23, 0xbb, 0x38, 0xa2, 0xba, + 0xc6, 0x79, 0xd7, 0x51, 0xd5, 0x47, 0x43, 0xfd, 0xe8, 0x64, 0x17, 0x06, 0x42, 0x8e, 0x68, 0x0b, + 0x2f, 0xd4, 0x70, 0x4a, 0xae, 0x88, 0xde, 0x40, 0x09, 0x9b, 0x83, 0x48, 0x8f, 0x32, 0xf7, 0xd2, + 0x79, 0x76, 0x93, 0x5c, 0x7f, 0x1c, 0x79, 0xd8, 0x15, 0x07, 0x38, 0xb6, 0x1c, 0x72, 0xf5, 0x14, + 0xcd, 0x1d, 0x4a, 0xa0, 0x37, 0xd9, 0x3c, 0xb9, 0x56, 0xbc, 0x8b, 0xd4, 0x59, 0xb7, 0xf0, 0xa0, + 0xb5, 0xb6, 0x23, 0xc1, 0x83, 0x50, 0xfb, 0x3c, 0x48, 0x0e, 0x2e, 0x64, 0x5c, 0xcf, 0x13, 0x6f, + 0x23, 0xd1, 0x5a, 0x7e, 0x9e, 0x78, 0x87, 0xb5, 0xc8, 0xd5, 0x6d, 0xd0, 0xe7, 0x29, 0x8b, 0x48, + 0x79, 0xe8, 0x2b, 0x43, 0x7a, 0xac, 0x40, 0xaa, 0x84, 0x72, 0x97, 0x31, 0xd2, 0xdc, 0x06, 0x8d, + 0x60, 0x82, 0xb5, 0xd1, 0x4f, 0x56, 0x3d, 0x47, 0x04, 0x90, 0xc0, 0x2f, 0xa0, 0x0f, 0xba, 0x52, + 0x44, 0x79, 0xf0, 0x45, 0x34, 0xf3, 0x51, 0x04, 0x92, 0x6b, 0x40, 0x1e, 0x79, 0xda, 0xb7, 0x21, + 0x9f, 0x03, 0x40, 0x0f, 0xe4, 0xe1, 0x97, 0x32, 0x38, 0x2f, 0xf5, 0x65, 0x8c, 0xe1, 0x78, 0x37, + 0xd8, 0x89, 0x2b, 0x21, 0x2d, 0xa1, 0xd5, 0xb1, 0x90, 0xb4, 0xe7, 0x25, 0xc4, 0x0f, 0x60, 0xa8, + 0xd8, 0x73, 0xdb, 0x92, 0x87, 0x3a, 0xc1, 0x97, 0xd9, 0x5d, 0xb2, 0xe0, 0xc0, 0x89, 0x04, 0xd5, + 0xdf, 0x17, 0x81, 0xef, 0x8e, 0xb0, 0x52, 0xa4, 0x21, 0x89, 0x5b, 0x3e, 0x88, 0x9a, 0xa0, 0x5b, + 0x2c, 0x3d, 0x81, 0x5f, 0x41, 0x9f, 0xec, 0x09, 0x7d, 0x80, 0x63, 0xc0, 0x43, 0x33, 0x5a, 0xd0, + 0x7b, 0x28, 0x65, 0x4f, 0xc4, 0x03, 0xce, 0xfa, 0x29, 0xf7, 0x03, 0x7c, 0xe0, 0xd0, 0x15, 0x74, + 0x4a, 0xdc, 0xff, 0xd2, 0xfb, 0x5d, 0x65, 0x33, 0xa4, 0xb6, 0x25, 0xa4, 0x0b, 0x5d, 0x08, 0x47, + 0xf4, 0x43, 0xb8, 0x74, 0xb8, 0x86, 0x87, 0xfe, 0xc0, 0xd7, 0xf4, 0x55, 0xcb, 0x1e, 0xeb, 0xd3, + 0x9e, 0xd0, 0xbb, 0x5c, 0xbb, 0x7d, 0xba, 0x86, 0x71, 0xfd, 0x38, 0x52, 0x20, 0xf5, 0xfa, 0x50, + 0x8b, 0x9d, 0xee, 0xa1, 0x1c, 0x02, 0x7d, 0x8d, 0xdd, 0x22, 0xad, 0x9d, 0x50, 0x0d, 0x4f, 0x4e, + 0x7c, 0x17, 0x5b, 0x90, 0x0d, 0xd0, 0x43, 0xf1, 0x50, 0x70, 0x8f, 0xbe, 0x8e, 0x97, 0x6a, 0x91, + 0xb7, 0x86, 0x42, 0xf3, 0xcd, 0xb3, 0x3e, 0x1f, 0x2a, 0x0d, 0x1e, 0xfd, 0x76, 0x54, 0xb6, 0xeb, + 0xab, 0xa7, 0x63, 0xf8, 0x1b, 0x68, 0x2f, 0x36, 0x89, 0x43, 0xdf, 0x7d, 0xfa, 0x50, 0x84, 0xbd, + 0x2e, 0x04, 0x7c, 0x44, 0xbf, 0x03, 0xe3, 0x7d, 0x4f, 0x68, 0x07, 0xb8, 0x37, 0x32, 0x55, 0x9b, + 0x7e, 0x18, 0x3d, 0x9e, 0x40, 0x1d, 0x21, 0xa4, 0xb7, 0xee, 0x6a, 0xff, 0x94, 0x6b, 0x3f, 0xec, + 0xd1, 0x8f, 0x60, 0xc2, 0xe0, 0xc3, 0xc7, 0x10, 0xf6, 0xd6, 0xa9, 0xc7, 0x18, 0x99, 0xe9, 0x76, + 0x1d, 0x78, 0x67, 0x08, 0x4a, 0x3b, 0xdc, 0x05, 0xfa, 0xaf, 0x53, 0xf3, 0xe5, 0x56, 0x69, 0xd9, + 0x25, 0xc4, 0x24, 0x12, 0xce, 0x0e, 0xd8, 0x99, 0x9b, 0xd9, 0x6a, 0x4f, 0x84, 0x40, 0x2f, 0xb1, + 0x06, 0x99, 0x7e, 0x1c, 0xfa, 0x4a, 0x0d, 0xc1, 0xa3, 0x25, 0x2c, 0x22, 0x3b, 0xe1, 0xbe, 0x14, + 0x3d, 0xac, 0xd1, 0xb4, 0x8c, 0xd4, 0x2d, 0x3f, 0xf4, 0x55, 0xdf, 0x94, 0x4f, 0x42, 0x26, 0xe3, + 0x6a, 0x52, 0x65, 0x35, 0x32, 0xe1, 0x80, 0x96, 0x23, 0x3a, 0xb1, 0xfc, 0x6e, 0xa9, 0x30, 0xa3, + 0xe0, 0xd8, 0x4f, 0xf3, 0xeb, 0x4c, 0x52, 0x9a, 0xcf, 0x25, 0xac, 0xea, 0xdb, 0x52, 0x3c, 0x43, + 0x7b, 0xca, 0xc8, 0xf8, 0x00, 0x78, 0x60, 0x84, 0xd4, 0xc9, 0xd4, 0x56, 0x30, 0x34, 0x12, 0xab, + 0x46, 0x3e, 0x2e, 0x70, 0xdb, 0x04, 0x92, 0x30, 0xfe, 0x23, 0xf0, 0xe8, 0x24, 0xde, 0xa9, 0xcd, + 0x7a, 0xa4, 0x4d, 0x2d, 0x7f, 0xaa, 0x44, 0x66, 0xc7, 0xde, 0x5c, 0x6c, 0x9a, 0x54, 0x63, 0xd9, + 0x94, 0x34, 0x36, 0xfc, 0x90, 0xcb, 0x91, 0xad, 0xad, 0xd4, 0x43, 0x17, 0x6e, 0x05, 0x82, 0xeb, + 0x18, 0x00, 0xbc, 0x03, 0x03, 0xbc, 0xfa, 0x46, 0x0c, 0x9d, 0xa0, 0xbf, 0x36, 0x8a, 0x58, 0xcf, + 0xe4, 0x4e, 0xc4, 0xa5, 0x82, 0xfc, 0xe9, 0x3e, 0xba, 0x63, 0x27, 0xd4, 0x6f, 0xbc, 0x6e, 0xb5, + 0x7c, 0xc2, 0x65, 0xa7, 0xcf, 0x25, 0x9d, 0x5b, 0xfe, 0x22, 0x35, 0x0f, 0x29, 0xa3, 0xce, 0x0c, + 0xa9, 0x3d, 0x0e, 0x3d, 0x38, 0xf1, 0x43, 0xf0, 0xe8, 0x25, 0x53, 0x49, 0x6d, 0x0d, 0xca, 0x4a, + 0x1a, 0xde, 0x64, 0x13, 0x6d, 0xcc, 0x61, 0x46, 0xb5, 0xfb, 0x5c, 0xe5, 0xa0, 0x13, 0x13, 0x60, + 0xe6, 0x33, 0xc4, 0x71, 0xfe, 0x78, 0xcf, 0x64, 0x43, 0x5f, 0x3c, 0xcb, 0x30, 0x45, 0xfb, 0x28, + 0x69, 0x1b, 0xf4, 0xc1, 0x48, 0x69, 0x18, 0x74, 0x44, 0x78, 0xe2, 0xf7, 0x14, 0xf5, 0x51, 0x12, + 0xc6, 0x71, 0xee, 0xf8, 0xdb, 0x68, 0x9d, 0x03, 0x01, 0x70, 0x95, 0xe7, 0xfa, 0xd4, 0xf4, 0x12, + 0xa3, 0xea, 0x7a, 0xe0, 0x73, 0x45, 0x03, 0x34, 0x05, 0xb5, 0xb4, 0xcb, 0x01, 0x86, 0xcd, 0x7a, + 0xa0, 0x41, 0xda, 0x75, 0x88, 0x5a, 0x98, 0x75, 0x8e, 0x89, 0x40, 0x2d, 0x1c, 0xc0, 0xfe, 0x9e, + 0x43, 0x23, 0xb4, 0x2d, 0x31, 0xc4, 0x9e, 0x7e, 0x07, 0xa5, 0x61, 0x51, 0x30, 0x4b, 0x50, 0x54, + 0xb2, 0xab, 0x64, 0xd6, 0x8a, 0xdf, 0xe7, 0x52, 0xfb, 0xe6, 0xe0, 0xe7, 0x4b, 0x26, 0xe6, 0xa5, + 0x88, 0x32, 0xec, 0x0b, 0x38, 0x09, 0x34, 0xee, 0x73, 0x95, 0x41, 0x7f, 0x51, 0x62, 0xd7, 0xc8, + 0xe5, 0x44, 0x40, 0x86, 0xff, 0x65, 0x89, 0x5d, 0x21, 0x4d, 0xf4, 0x54, 0x8a, 0x29, 0xfa, 0x57, + 0x06, 0x44, 0x9f, 0xe4, 0xc0, 0xbf, 0x36, 0x1c, 0x62, 0xa7, 0xe4, 0xf0, 0xbf, 0x31, 0xc2, 0x90, + 0x43, 0x1c, 0xea, 0x8a, 0x7e, 0xa9, 0x84, 0x9a, 0x26, 0xc2, 0x62, 0x98, 0x7e, 0xd9, 0x6c, 0x44, + 0xae, 0xe9, 0xc6, 0xaf, 0x98, 0x8d, 0x31, 0xcf, 0x14, 0xfd, 0xaa, 0x41, 0xef, 0xf3, 0xd0, 0x13, + 0x27, 0x27, 0x29, 0xfa, 0xb5, 0x12, 0x6b, 0x91, 0x2b, 0x78, 0x7c, 0x83, 0x07, 0x3c, 0x74, 0xb3, + 0xfd, 0xef, 0x97, 0xd8, 0x1c, 0xa1, 0x63, 0xe2, 0x14, 0xfd, 0x78, 0x99, 0xdd, 0x22, 0xd7, 0xb7, + 0xc0, 0x03, 0x89, 0x5e, 0x34, 0x09, 0x0f, 0x89, 0x6c, 0xfa, 0x89, 0x32, 0x6b, 0x93, 0x05, 0x43, + 0x1d, 0x3b, 0x69, 0x36, 0x62, 0x55, 0xa1, 0xef, 0x96, 0x19, 0x4d, 0x2e, 0xdc, 0xa0, 0xf4, 0x57, + 0xca, 0xc6, 0xdb, 0xf1, 0x01, 0x8b, 0xfd, 0x6a, 0x99, 0x35, 0x6d, 0x14, 0xd8, 0xf5, 0xaf, 0x95, + 0xd9, 0x75, 0xc2, 0xb6, 0x41, 0xa7, 0x25, 0xc6, 0x57, 0xda, 0x77, 0x15, 0xfd, 0xf5, 0x32, 0x9b, + 0x8d, 0xe3, 0xc3, 0xee, 0xfc, 0x4c, 0x99, 0xd5, 0xc9, 0xe4, 0x4e, 0x88, 0xd5, 0x96, 0xfe, 0x38, + 0x66, 0xfc, 0xa4, 0x6d, 0xa9, 0xf4, 0x27, 0xb0, 0xc6, 0x4c, 0x98, 0x8c, 0xa7, 0x3f, 0x89, 0xe3, + 0x1a, 0xc3, 0xf1, 0x34, 0xf4, 0xf2, 0x2f, 0x20, 0xfa, 0x53, 0xe6, 0x84, 0x2d, 0xd6, 0xf4, 0x53, + 0x66, 0x61, 0x87, 0x23, 0xfa, 0xef, 0x15, 0x73, 0x27, 0xf9, 0x49, 0xe9, 0x3f, 0x2a, 0xa8, 0x79, + 0x5e, 0x2b, 0xa0, 0xff, 0x59, 0x61, 0xf3, 0x64, 0x2e, 0xc1, 0xcc, 0xdc, 0x92, 0x96, 0xbc, 0xff, + 0xaa, 0xa0, 0xf7, 0xb0, 0x89, 0xa7, 0x41, 0x9a, 0x33, 0xe5, 0xbf, 0x2b, 0xec, 0x26, 0xb9, 0xb6, + 0x0d, 0x3a, 0x0d, 0x84, 0x1c, 0xf1, 0x7f, 0x2a, 0x6c, 0x86, 0x4c, 0x63, 0x51, 0xf4, 0xe1, 0x14, + 0xe8, 0x97, 0x2a, 0x18, 0x4d, 0xc9, 0x32, 0x56, 0xe7, 0xcb, 0x15, 0xbc, 0xe3, 0xef, 0xc3, 0x9e, + 0xd3, 0x1d, 0x74, 0xfa, 0x3c, 0x0c, 0x21, 0x50, 0xf4, 0x2b, 0x15, 0xbc, 0x49, 0x07, 0x06, 0xe2, + 0x14, 0x72, 0xf0, 0x57, 0x8d, 0x07, 0xcc, 0xe6, 0xb7, 0x86, 0x20, 0x47, 0x29, 0xe1, 0x6b, 0x15, + 0x8c, 0x09, 0xbb, 0xbf, 0x48, 0x79, 0xbf, 0xc2, 0x16, 0x48, 0xcb, 0xd6, 0xd2, 0x24, 0x22, 0x90, + 0xd8, 0x33, 0x63, 0x3a, 0xfd, 0x78, 0x35, 0xe5, 0xd8, 0x85, 0x40, 0xf3, 0xf4, 0xdc, 0x27, 0xaa, + 0xa8, 0x17, 0x16, 0x89, 0xac, 0xe7, 0x2a, 0xfa, 0x6e, 0x15, 0x03, 0x61, 0x1b, 0x74, 0xdc, 0x76, + 0x15, 0xfd, 0x41, 0x1c, 0x95, 0x9b, 0x8f, 0x43, 0x35, 0x3c, 0x4e, 0x15, 0xa5, 0x3f, 0x94, 0x1c, + 0xee, 0xfa, 0x4a, 0x4b, 0xff, 0x78, 0x68, 0x52, 0xec, 0x87, 0xab, 0x68, 0xd4, 0xc1, 0x28, 0x74, + 0x0b, 0xf0, 0x8f, 0x18, 0x9e, 0x69, 0xcc, 0x9d, 0x08, 0xfa, 0xb7, 0x55, 0x8c, 0x0f, 0x5b, 0x9d, + 0x0c, 0xf0, 0x77, 0x09, 0x3f, 0x9c, 0x8d, 0x4f, 0x41, 0x9a, 0xc1, 0x81, 0xfe, 0x7d, 0xaa, 0x62, + 0xae, 0xb5, 0xd0, 0x7f, 0xa8, 0xa2, 0xd3, 0x93, 0x9e, 0x4a, 0x3f, 0x53, 0x43, 0xfd, 0x8c, 0x4f, + 0xb0, 0xc3, 0xdb, 0x80, 0xf9, 0x8d, 0x1a, 0x46, 0x2a, 0xa6, 0x90, 0x8d, 0xbf, 0xdf, 0x34, 0xeb, + 0xb8, 0x5b, 0xee, 0x74, 0xe9, 0x67, 0x71, 0x46, 0x27, 0xf1, 0xfa, 0xf0, 0xe0, 0x11, 0xfd, 0xad, + 0x1a, 0x8a, 0x5a, 0x0f, 0xf0, 0x4d, 0xab, 0xd3, 0x44, 0xfe, 0xed, 0x1a, 0x56, 0x82, 0x9c, 0xf4, + 0xf8, 0xde, 0x7f, 0xa7, 0x66, 0x0c, 0xb5, 0xb8, 0x89, 0xdd, 0x2e, 0x36, 0x9d, 0xdf, 0x35, 0x5c, + 0x31, 0xa1, 0x50, 0x93, 0x43, 0x4d, 0x7f, 0xaf, 0xc6, 0x1a, 0x64, 0x2a, 0x7e, 0xa8, 0xd0, 0xdf, + 0x37, 0x32, 0xcc, 0x4c, 0x98, 0xbe, 0x6e, 0x15, 0x7d, 0xcf, 0xe8, 0x6f, 0x24, 0xa7, 0xdf, 0x69, + 0xe8, 0x1f, 0x18, 0x01, 0xe3, 0xf3, 0x2a, 0xfd, 0xc7, 0x7a, 0x1c, 0xda, 0x39, 0xec, 0x9f, 0xea, + 0xb6, 0x26, 0x14, 0x07, 0x54, 0xfa, 0xcf, 0x06, 0x1e, 0x1f, 0x6a, 0xe9, 0xbf, 0xd4, 0xd1, 0xa2, + 0xfc, 0x5c, 0x8a, 0xe5, 0x59, 0xd1, 0x2f, 0xd6, 0x51, 0xf5, 0x6c, 0x02, 0xa5, 0x7f, 0xd8, 0x40, + 0x2f, 0x27, 0xb3, 0x27, 0xfd, 0xa3, 0x06, 0xea, 0x3e, 0x36, 0x75, 0xd2, 0x3f, 0x6e, 0x98, 0x7b, + 0x4c, 0xe7, 0x4d, 0xfa, 0x27, 0x39, 0x00, 0x77, 0xd1, 0x3f, 0x6d, 0x98, 0xaa, 0x5b, 0x98, 0x31, + 0xe9, 0x9f, 0x35, 0x50, 0xb7, 0xf1, 0xe9, 0x92, 0xfe, 0x79, 0xc3, 0xc6, 0x49, 0x3a, 0x57, 0xd2, + 0xcf, 0x35, 0x30, 0xf9, 0x9e, 0x3f, 0x51, 0xd2, 0xcf, 0x1b, 0x59, 0xd9, 0x2c, 0x49, 0xbf, 0xd0, + 0xc0, 0x1c, 0x89, 0x6d, 0x88, 0x65, 0x99, 0xef, 0xaa, 0xf4, 0xe7, 0x66, 0x4c, 0x4f, 0x40, 0x63, + 0x0a, 0xf8, 0xcf, 0xcf, 0x60, 0x72, 0x20, 0x8b, 0x02, 0xae, 0xe8, 0x2f, 0xcc, 0x60, 0xbd, 0x48, + 0xaa, 0x5f, 0xf1, 0xd0, 0x2f, 0xce, 0x60, 0xc9, 0x39, 0x94, 0x3c, 0x54, 0x27, 0x20, 0xf1, 0xa6, + 0xe9, 0x2f, 0xcd, 0xa0, 0x77, 0x12, 0x28, 0x4e, 0x1d, 0xfa, 0xcb, 0x33, 0xec, 0x06, 0xb9, 0x6a, + 0xaf, 0x60, 0x8c, 0xff, 0xa7, 0x67, 0xd0, 0x2d, 0x56, 0x55, 0x8c, 0x97, 0x63, 0xae, 0x80, 0xfe, + 0x68, 0x13, 0x19, 0xa3, 0x96, 0x29, 0xf4, 0x63, 0x4d, 0xbc, 0x70, 0x54, 0x30, 0x81, 0x14, 0xfd, + 0x64, 0x73, 0xb9, 0x4d, 0xa6, 0xba, 0x2a, 0x30, 0x13, 0xc6, 0x14, 0xa9, 0x74, 0x55, 0x40, 0x2f, + 0x61, 0x43, 0xde, 0x10, 0x22, 0xd8, 0x3c, 0x8b, 0xe4, 0x93, 0x57, 0x69, 0x69, 0x79, 0x83, 0xcc, + 0x76, 0xc4, 0x20, 0xe2, 0x69, 0x41, 0x33, 0x43, 0x85, 0x9d, 0x46, 0xc0, 0xb3, 0xa9, 0x74, 0x09, + 0xbb, 0xfa, 0xe6, 0x19, 0xb8, 0x43, 0x33, 0x52, 0x95, 0x70, 0x89, 0x87, 0x30, 0x96, 0x3c, 0x5a, + 0x5e, 0xfe, 0x28, 0xa1, 0x1d, 0x11, 0x2a, 0x5f, 0x69, 0x08, 0xdd, 0xd1, 0x43, 0x38, 0x85, 0xc0, + 0x0c, 0x6e, 0x5a, 0x8a, 0xb0, 0x47, 0x2f, 0x99, 0x77, 0x3a, 0x98, 0xf7, 0xb6, 0x1d, 0xef, 0x36, + 0x70, 0x16, 0x37, 0x8f, 0xf1, 0x26, 0x21, 0x9b, 0xa7, 0x10, 0xea, 0x21, 0x0f, 0x82, 0x11, 0xad, + 0xe0, 0xba, 0x33, 0x54, 0x5a, 0x0c, 0xfc, 0x8f, 0xe1, 0x94, 0xb7, 0xfc, 0x33, 0x25, 0x52, 0xb7, + 0xb3, 0x5c, 0xaa, 0x9a, 0x5d, 0xee, 0x43, 0xe8, 0xf9, 0x86, 0x39, 0xbe, 0x25, 0x0d, 0x14, 0x0f, + 0xa0, 0xa5, 0x6c, 0xd3, 0x81, 0xe6, 0xd2, 0x68, 0x68, 0x9e, 0xd0, 0xf1, 0x39, 0x69, 0xf4, 0xf4, + 0xe8, 0x44, 0xb6, 0x2f, 0x99, 0x2a, 0xa7, 0xb3, 0x7d, 0x99, 0x79, 0x93, 0xf8, 0x8e, 0xca, 0x4b, + 0x58, 0x0f, 0xbd, 0x4e, 0x00, 0x1c, 0x47, 0xb5, 0xa9, 0xe5, 0x35, 0x42, 0xb2, 0x6f, 0x89, 0x46, + 0xfd, 0x6c, 0x84, 0xb9, 0x84, 0x4e, 0xd8, 0x0e, 0xc4, 0x31, 0x0f, 0x68, 0x09, 0x47, 0x4e, 0x13, + 0xea, 0xe5, 0xe5, 0xf7, 0x08, 0x99, 0x1d, 0xfb, 0x6e, 0x88, 0x56, 0xa4, 0x8b, 0xf5, 0x00, 0x2f, + 0x6a, 0x81, 0xdc, 0x48, 0x91, 0x73, 0xd3, 0x60, 0x09, 0x5f, 0x01, 0x29, 0x79, 0x6c, 0x2c, 0x2c, + 0xb3, 0x3b, 0xe4, 0x66, 0x46, 0x3c, 0x3f, 0x0c, 0x62, 0x27, 0x6b, 0xa5, 0x1b, 0xc6, 0xa7, 0xc2, + 0x2a, 0x3a, 0x26, 0xa5, 0x9a, 0x07, 0x8d, 0xf9, 0xe2, 0x91, 0x7d, 0xe4, 0xb4, 0xe3, 0x09, 0x9d, + 0x64, 0xd7, 0xc9, 0x95, 0x4c, 0xc7, 0x34, 0x8a, 0xe8, 0x14, 0xfa, 0x31, 0x25, 0xc4, 0xed, 0x7c, + 0xba, 0x00, 0xc6, 0x6d, 0xbd, 0x86, 0xce, 0x4d, 0x41, 0x2c, 0xe1, 0x59, 0xf5, 0x24, 0xf8, 0x8a, + 0x1a, 0x73, 0x81, 0x2d, 0xd3, 0xf5, 0x02, 0xc5, 0x8e, 0x27, 0xe6, 0xaf, 0x57, 0xb4, 0x81, 0xe3, + 0x6f, 0xc1, 0x2f, 0xf6, 0xc4, 0x4c, 0x41, 0x78, 0x3c, 0x14, 0x60, 0xd2, 0x34, 0xb3, 0x57, 0xab, + 0x99, 0x2d, 0x66, 0x0b, 0x98, 0x69, 0x17, 0x94, 0x16, 0xc4, 0xe5, 0x06, 0x2e, 0x7a, 0xb9, 0x68, + 0xa8, 0x09, 0x12, 0xca, 0x0a, 0xde, 0xb5, 0x7a, 0x3f, 0x7a, 0x16, 0x82, 0x54, 0x7d, 0x3f, 0xa2, + 0x57, 0x0a, 0x4e, 0xb3, 0x59, 0x6f, 0xe2, 0xe2, 0x6a, 0xc1, 0x15, 0xa8, 0x7a, 0x76, 0x68, 0xae, + 0x78, 0x61, 0xa6, 0xf4, 0x65, 0xd4, 0x6b, 0x05, 0xea, 0x2e, 0x0f, 0x79, 0x2f, 0x27, 0xf0, 0x7a, + 0x41, 0x60, 0xae, 0xe6, 0xb6, 0x0a, 0xca, 0xc7, 0x53, 0xd3, 0x0d, 0xb6, 0x48, 0x6e, 0x8d, 0x29, + 0x5f, 0xac, 0x6b, 0xf3, 0xec, 0x36, 0x99, 0x2f, 0xe8, 0x59, 0xa4, 0xdf, 0x64, 0x6d, 0x72, 0xfb, + 0x5c, 0xf4, 0x15, 0xf7, 0xdc, 0x2a, 0x44, 0xe8, 0x73, 0x0a, 0xeb, 0x02, 0xbb, 0x41, 0xe6, 0xd2, + 0x0d, 0x85, 0x22, 0x7a, 0xbb, 0x60, 0xed, 0x78, 0x31, 0xbd, 0x53, 0xe0, 0xbc, 0x0d, 0x1a, 0xaf, + 0xcb, 0x0f, 0x7b, 0xe9, 0x18, 0xb7, 0x58, 0xe0, 0x1c, 0x6f, 0xb0, 0x65, 0xee, 0x6e, 0x21, 0xe7, + 0xce, 0xbd, 0x48, 0xda, 0x85, 0x9c, 0x1b, 0x2b, 0xca, 0x2f, 0x14, 0xd8, 0x16, 0x8a, 0xf3, 0x8b, + 0x85, 0x8b, 0x2d, 0x16, 0x69, 0xf3, 0x21, 0xa6, 0x18, 0x82, 0x98, 0xfd, 0x2f, 0x3d, 0x27, 0x84, + 0xb2, 0x27, 0xca, 0xcb, 0xe7, 0x22, 0x25, 0xa3, 0x2d, 0x15, 0x94, 0x1c, 0x7b, 0xc6, 0x7c, 0xa0, + 0xa0, 0x64, 0xe1, 0x39, 0xb4, 0x3c, 0x9e, 0x88, 0x46, 0x17, 0xeb, 0x97, 0x0f, 0x3e, 0x27, 0x11, + 0xed, 0x8b, 0xec, 0x95, 0x73, 0xe9, 0x66, 0xf1, 0x7b, 0x45, 0x0d, 0x0b, 0xaf, 0xb8, 0x95, 0x62, + 0x36, 0xe5, 0x9e, 0x73, 0xab, 0xec, 0x2e, 0x59, 0x18, 0x4b, 0x8d, 0xb1, 0xb8, 0xf8, 0xd0, 0xf2, + 0x01, 0xa9, 0x19, 0xad, 0xcc, 0x07, 0x60, 0xac, 0xfd, 0xa1, 0x8f, 0x13, 0x8b, 0xff, 0x31, 0x3f, + 0x69, 0x35, 0xf7, 0x81, 0x07, 0xba, 0x3f, 0xa2, 0x25, 0xd6, 0x20, 0xd3, 0xeb, 0xc7, 0xa1, 0x90, + 0x03, 0x1e, 0xd0, 0xb2, 0xe9, 0x42, 0x9a, 0x87, 0xde, 0x06, 0x36, 0x9a, 0x06, 0x99, 0x3e, 0xd0, + 0x22, 0x8a, 0xf0, 0x54, 0x75, 0xd9, 0xb5, 0x43, 0xa0, 0xed, 0x31, 0x73, 0xe4, 0x72, 0xba, 0x48, + 0x3f, 0x4b, 0x98, 0x47, 0x79, 0x1e, 0x36, 0x75, 0xb1, 0x54, 0x40, 0xe3, 0x50, 0xb3, 0xed, 0xa6, + 0x80, 0x82, 0x47, 0x2b, 0x6f, 0xbe, 0x43, 0x2e, 0xa7, 0x7f, 0x55, 0x3a, 0x82, 0x33, 0x7d, 0x24, + 0x8e, 0xdf, 0x66, 0x77, 0x56, 0xec, 0xff, 0x10, 0xac, 0x24, 0xff, 0x43, 0xb0, 0xb2, 0x0b, 0x4a, + 0x61, 0x02, 0x47, 0xe6, 0xce, 0x5a, 0xff, 0x66, 0xff, 0xb8, 0xf8, 0xc2, 0x45, 0x7f, 0xdc, 0xcd, + 0xfd, 0x09, 0xcc, 0x99, 0x8d, 0x72, 0xab, 0x47, 0xc7, 0x6f, 0x6f, 0x0c, 0x48, 0xd3, 0x17, 0xc9, + 0xc9, 0x9e, 0x8c, 0xdc, 0x8d, 0x7a, 0xc7, 0x9c, 0xdb, 0x47, 0x2e, 0xfb, 0xa5, 0xef, 0x7f, 0xbd, + 0xe7, 0xeb, 0xfe, 0xf0, 0x18, 0xb9, 0xad, 0xda, 0x6d, 0xf7, 0x7c, 0x91, 0xfc, 0x32, 0xa2, 0x56, + 0x7b, 0xe2, 0x1e, 0x8f, 0xfc, 0xd5, 0xd3, 0xb5, 0x55, 0x2b, 0x32, 0x3a, 0xfe, 0xd9, 0x52, 0xe9, + 0xd3, 0x65, 0xb6, 0x6b, 0xb9, 0xda, 0x19, 0x75, 0x65, 0x5b, 0x46, 0xee, 0xf1, 0xa4, 0x39, 0xf1, + 0xda, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x0f, 0xb2, 0xa6, 0x3d, 0x21, 0x00, 0x00, } diff --git a/proto/v2.2/data_coord.proto b/proto/v2.2/data_coord.proto index 4576b8d..7f5e66a 100644 --- a/proto/v2.2/data_coord.proto +++ b/proto/v2.2/data_coord.proto @@ -25,6 +25,7 @@ enum SegmentLevel { Legacy = 0; // zero value for legacy logic L0 = 1; // L0 segment, contains delta data for current channel L1 = 2; // L1 segment, normal segment, with no extra compaction attribute + L2 = 3; // L2 segemnt, segment with extra data distribution info } service DataCoord { @@ -64,13 +65,9 @@ service DataCoord { rpc DropVirtualChannel(DropVirtualChannelRequest) returns (DropVirtualChannelResponse) {} rpc SetSegmentState(SetSegmentStateRequest) returns (SetSegmentStateResponse) {} - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - rpc Import(ImportTaskRequest) returns (ImportTaskResponse) {} rpc UpdateSegmentStatistics(UpdateSegmentStatisticsRequest) returns (common.Status) {} rpc UpdateChannelCheckpoint(UpdateChannelCheckpointRequest) returns (common.Status) {} - rpc SaveImportSegment(SaveImportSegmentRequest) returns(common.Status) {} - rpc UnsetIsImportingState(UnsetIsImportingStateRequest) returns(common.Status) {} rpc MarkSegmentsDropped(MarkSegmentsDroppedRequest) returns(common.Status) {} rpc BroadcastAlteredCollection(AlterCollectionRequest) returns (common.Status) {} @@ -78,6 +75,7 @@ service DataCoord { rpc CheckHealth(milvus.CheckHealthRequest) returns (milvus.CheckHealthResponse) {} rpc CreateIndex(index.CreateIndexRequest) returns (common.Status){} + rpc AlterIndex(index.AlterIndexRequest) returns (common.Status){} // Deprecated: use DescribeIndex instead rpc GetIndexState(index.GetIndexStateRequest) returns (index.GetIndexStateResponse) {} rpc GetSegmentIndexState(index.GetSegmentIndexStateRequest) returns (index.GetSegmentIndexStateResponse) {} @@ -87,10 +85,18 @@ service DataCoord { rpc GetIndexStatistics(index.GetIndexStatisticsRequest) returns (index.GetIndexStatisticsResponse) {} // Deprecated: use DescribeIndex instead rpc GetIndexBuildProgress(index.GetIndexBuildProgressRequest) returns (index.GetIndexBuildProgressResponse) {} + rpc ListIndexes(index.ListIndexesRequest) returns (index.ListIndexesResponse) {} rpc GcConfirm(GcConfirmRequest) returns (GcConfirmResponse) {} rpc ReportDataNodeTtMsgs(ReportDataNodeTtMsgsRequest) returns (common.Status) {} + + rpc GcControl(GcControlRequest) returns(common.Status){} + + // importV2 + rpc ImportV2(internal.ImportRequestInternal) returns(internal.ImportResponse){} + rpc GetImportProgress(internal.GetImportProgressRequest) returns(internal.GetImportProgressResponse){} + rpc ListImports(internal.ListImportsRequestInternal) returns(internal.ListImportsResponse){} } service DataNode { @@ -108,17 +114,19 @@ service DataNode { rpc GetCompactionState(CompactionStateRequest) returns (CompactionStateResponse) {} rpc SyncSegments(SyncSegmentsRequest) returns (common.Status) {} - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - rpc Import(ImportTaskRequest) returns(common.Status) {} - // Deprecated rpc ResendSegmentStats(ResendSegmentStatsRequest) returns(ResendSegmentStatsResponse) {} - rpc AddImportSegment(AddImportSegmentRequest) returns(AddImportSegmentResponse) {} - rpc FlushChannels(FlushChannelsRequest) returns(common.Status) {} rpc NotifyChannelOperation(ChannelOperationsRequest) returns(common.Status) {} rpc CheckChannelOperationProgress(ChannelWatchInfo) returns(ChannelOperationProgressResponse) {} + + // import v2 + rpc PreImport(PreImportRequest) returns(common.Status) {} + rpc ImportV2(ImportRequest) returns(common.Status) {} + rpc QueryPreImport(QueryPreImportRequest) returns(QueryPreImportResponse) {} + rpc QueryImport(QueryImportRequest) returns(QueryImportResponse) {} + rpc DropImport(DropImportRequest) returns(common.Status) {} } message FlushRequest { @@ -126,7 +134,7 @@ message FlushRequest { int64 dbID = 2; repeated int64 segmentIDs = 3; int64 collectionID = 4; - bool isImport = 5; + bool isImport = 5; // deprecated } message FlushResponse { @@ -137,6 +145,7 @@ message FlushResponse { repeated int64 flushSegmentIDs = 5; // old flushed segment int64 timeOfSeal = 6; uint64 flush_ts = 7; + map channel_cps = 8; } message FlushChannelsRequest { @@ -150,8 +159,8 @@ message SegmentIDRequest { string channel_name = 2; int64 collectionID = 3; int64 partitionID = 4; - bool isImport = 5; // Indicate whether this request comes from a bulk insert task. - int64 importTaskID = 6; // Needed for segment lock. + bool isImport = 5; // deprecated + int64 importTaskID = 6; // deprecated SegmentLevel level = 7; } @@ -255,6 +264,7 @@ message VchannelInfo { repeated int64 dropped_segmentIds = 9; repeated int64 indexed_segmentIds = 10; repeated SegmentInfo indexed_segments = 11; + repeated int64 level_zero_segment_ids = 12; } message WatchDmChannelsRequest { @@ -306,7 +316,7 @@ message SegmentInfo { bool compacted = 19; // Segment level, indicating compaction segment level - // Available value: Legacy, L0, L1 + // Available value: Legacy, L0, L1, L2 // For legacy level, it represent old segment before segment level introduced // so segments with Legacy level shall be treated as L1 segment SegmentLevel level = 20; @@ -329,7 +339,7 @@ message SaveBinlogPathsRequest { repeated FieldBinlog field2StatslogPaths = 8; repeated FieldBinlog deltalogs = 9; bool dropped = 10; - bool importing = 11; + bool importing = 11; // deprecated string channel = 12; // report channel name for verification SegmentLevel seg_level =13; int64 partitionID =14; // report partitionID for create L0 segment @@ -395,6 +405,10 @@ message Binlog { string log_path = 4; int64 log_size = 5; int64 logID = 6; + // memory_size represents the size occupied by loading data into memory. + // log_size represents the size after data serialized. + // for stats_log, the memory_size always equal log_size. + int64 memory_size = 7; } message GetRecoveryInfoResponse { @@ -498,6 +512,8 @@ message CompactionSegmentBinlogs { repeated FieldBinlog deltalogs = 4; string insert_channel = 5; SegmentLevel level = 6; + int64 collectionID = 7; + int64 partitionID = 8; } message CompactionPlan { @@ -527,6 +543,7 @@ message CompactionPlanResult { common.CompactionState state = 2; repeated CompactionSegment segments = 3; string channel = 4; + CompactionType type = 5; } message CompactionStateResponse { @@ -583,56 +600,6 @@ message DropVirtualChannelResponse { common.Status status = 1; } -message ImportTask { - common.Status status = 1; - int64 collection_id = 2; // target collection ID - int64 partition_id = 3; // target partition ID - repeated string channel_names = 4; // target channel names of the collection. - bool row_based = 5; // the file is row-based or column-based - int64 task_id = 6; // id of the task - repeated string files = 7; // file paths to be imported - repeated common.KeyValuePair infos = 8; // extra information about the task, bucket, etc. - string database_name = 16; // Database name -} - -message ImportTaskState { - common.ImportState stateCode = 1; // Import state code. - repeated int64 segments = 2; // Ids of segments created in import task. - repeated int64 row_ids = 3; // Row IDs for the newly inserted rows. - int64 row_count = 4; // # of rows added in the import task. - string error_message = 5; // Error message for the failed task. -} - -message ImportTaskInfo { - int64 id = 1; // Task ID. - int64 request_id = 2 [deprecated = true]; // Request ID of the import task. - int64 datanode_id = 3; // ID of DataNode that processes the task. - int64 collection_id = 4; // Collection ID for the import task. - int64 partition_id = 5; // Partition ID for the import task. - repeated string channel_names = 6; // Names of channels for the collection. - string bucket = 7; // Bucket for the import task. - bool row_based = 8; // Boolean indicating whether import files are row-based or column-based. - repeated string files = 9; // A list of files to import. - int64 create_ts = 10; // Timestamp when the import task is created. - ImportTaskState state = 11; // State of the import task. - string collection_name = 12; // Collection name for the import task. - string partition_name = 13; // Partition name for the import task. - repeated common.KeyValuePair infos = 14; // extra information about the task, bucket, etc. - int64 start_ts = 15; // Timestamp when the import task is sent to datanode to execute. - string database_name = 16; // Database name -} - -message ImportTaskResponse { - common.Status status = 1; - int64 datanode_id = 2; // which datanode takes this task -} - -message ImportTaskRequest { - common.MsgBase base = 1; - ImportTask import_task = 2; // Target import task. - repeated int64 working_nodes = 3; // DataNodes that are currently working. -} - message UpdateSegmentStatisticsRequest { common.MsgBase base = 1; repeated common.SegmentStats stats = 2; @@ -640,8 +607,9 @@ message UpdateSegmentStatisticsRequest { message UpdateChannelCheckpointRequest { common.MsgBase base = 1; - string vChannel = 2; - msg.MsgPosition position = 3; + string vChannel = 2; // deprecated, keep it for compatibility + msg.MsgPosition position = 3; // deprecated, keep it for compatibility + repeated msg.MsgPosition channel_checkpoints = 4; } message ResendSegmentStatsRequest { @@ -653,37 +621,6 @@ message ResendSegmentStatsResponse { repeated int64 seg_resent = 2; } -message AddImportSegmentRequest { - common.MsgBase base = 1; - int64 segment_id = 2; - string channel_name = 3; - int64 collection_id = 4; - int64 partition_id = 5; - int64 row_num = 6; - repeated FieldBinlog stats_log = 7; -} - -message AddImportSegmentResponse { - common.Status status = 1; - bytes channel_pos = 2; -} - -message SaveImportSegmentRequest { - common.MsgBase base = 1; - int64 segment_id = 2; - string channel_name = 3; - int64 collection_id = 4; - int64 partition_id = 5; - int64 row_num = 6; - SaveBinlogPathsRequest save_binlog_path_req = 7; - bytes dml_position_id = 8; -} - -message UnsetIsImportingStateRequest { - common.MsgBase base = 1; - repeated int64 segment_ids = 2; // IDs of segments whose `isImport` states need to be unset. -} - message MarkSegmentsDroppedRequest { common.MsgBase base = 1; repeated int64 segment_ids = 2; // IDs of segments that needs to be marked as `dropped`. @@ -702,6 +639,8 @@ message AlterCollectionRequest { repeated int64 partitionIDs = 3; repeated common.KeyDataPair start_positions = 4; repeated common.KeyValuePair properties = 5; + int64 dbID = 6; + repeated string vChannels = 7; } message GcConfirmRequest { @@ -737,3 +676,159 @@ message ChannelOperationProgressResponse { ChannelWatchState state = 3; int32 progress = 4; } + +message PreImportRequest { + string clusterID = 1; + int64 jobID = 2; + int64 taskID = 3; + int64 collectionID = 4; + repeated int64 partitionIDs = 5; + repeated string vchannels = 6; + schema.CollectionSchema schema = 7; + repeated internal.ImportFile import_files = 8; + repeated common.KeyValuePair options = 9; +} + +message autoIDRange { + int64 begin = 1; + int64 end = 2; +} + +message ImportRequestSegment { + int64 segmentID = 1; + int64 partitionID = 2; + string vchannel = 3; +} + +message ImportRequest { + string clusterID = 1; + int64 jobID = 2; + int64 taskID = 3; + int64 collectionID = 4; + repeated int64 partitionIDs = 5; + repeated string vchannels = 6; + schema.CollectionSchema schema = 7; + repeated internal.ImportFile files = 8; + repeated common.KeyValuePair options = 9; + uint64 ts = 10; + autoIDRange autoID_range = 11; + repeated ImportRequestSegment request_segments = 12; +} + +message QueryPreImportRequest { + string clusterID = 1; + int64 jobID = 2; + int64 taskID = 3; +} + +message PartitionImportStats { + map partition_rows = 1; // partitionID -> numRows + map partition_data_size = 2; // partitionID -> dataSize +} + +message ImportFileStats { + internal.ImportFile import_file = 1; + int64 file_size = 2; + int64 total_rows = 3; + int64 total_memory_size = 4; + map hashed_stats = 5; // channel -> PartitionImportStats +} + +message QueryPreImportResponse { + common.Status status = 1; + int64 taskID = 2; + ImportTaskStateV2 state = 3; + string reason = 4; + int64 slots = 5; + repeated ImportFileStats file_stats = 6; +} + +message QueryImportRequest { + string clusterID = 1; + int64 jobID = 2; + int64 taskID = 3; + bool querySlot = 4; +} + +message ImportSegmentInfo { + int64 segmentID = 1; + int64 imported_rows = 2; + repeated FieldBinlog binlogs = 3; + repeated FieldBinlog statslogs = 4; +} + +message QueryImportResponse { + common.Status status = 1; + int64 taskID = 2; + ImportTaskStateV2 state = 3; + string reason = 4; + int64 slots = 5; + repeated ImportSegmentInfo import_segments_info = 6; +} + +message DropImportRequest { + string clusterID = 1; + int64 jobID = 2; + int64 taskID = 3; +} + +message ImportJob { + int64 jobID = 1; + int64 dbID = 2; + int64 collectionID = 3; + string collection_name = 4; + repeated int64 partitionIDs = 5; + repeated string vchannels = 6; + schema.CollectionSchema schema = 7; + uint64 timeout_ts = 8; + uint64 cleanup_ts = 9; + int64 requestedDiskSize = 10; + internal.ImportJobState state = 11; + string reason = 12; + string complete_time = 13; + repeated internal.ImportFile files = 14; + repeated common.KeyValuePair options = 15; + string start_time = 16; +} + +enum ImportTaskStateV2 { + None = 0; + Pending = 1; + InProgress = 2; + Failed = 3; + Completed = 4; +} + +message PreImportTask { + int64 jobID = 1; + int64 taskID = 2; + int64 collectionID = 3; + int64 nodeID = 6; + ImportTaskStateV2 state = 7; + string reason = 8; + repeated ImportFileStats file_stats = 10; +} + +message ImportTaskV2 { + int64 jobID = 1; + int64 taskID = 2; + int64 collectionID = 3; + repeated int64 segmentIDs = 4; + int64 nodeID = 5; + ImportTaskStateV2 state = 6; + string reason = 7; + string complete_time = 8; + repeated ImportFileStats file_stats = 9; +} + +enum GcCommand { + _ = 0; + Pause = 1; + Resume = 2; +} + +message GcControlRequest { + common.MsgBase base = 1; + GcCommand command = 2; + repeated common.KeyValuePair params = 3; +} diff --git a/proto/v2.2/datapb/data_coord.pb.go b/proto/v2.2/datapb/data_coord.pb.go index 29d9883..5621101 100644 --- a/proto/v2.2/datapb/data_coord.pb.go +++ b/proto/v2.2/datapb/data_coord.pb.go @@ -67,18 +67,21 @@ const ( SegmentLevel_Legacy SegmentLevel = 0 SegmentLevel_L0 SegmentLevel = 1 SegmentLevel_L1 SegmentLevel = 2 + SegmentLevel_L2 SegmentLevel = 3 ) var SegmentLevel_name = map[int32]string{ 0: "Legacy", 1: "L0", 2: "L1", + 3: "L2", } var SegmentLevel_value = map[string]int32{ "Legacy": 0, "L0": 1, "L1": 2, + "L2": 3, } func (x SegmentLevel) String() string { @@ -173,6 +176,68 @@ func (CompactionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_82cd95f524594f49, []int{3} } +type ImportTaskStateV2 int32 + +const ( + ImportTaskStateV2_None ImportTaskStateV2 = 0 + ImportTaskStateV2_Pending ImportTaskStateV2 = 1 + ImportTaskStateV2_InProgress ImportTaskStateV2 = 2 + ImportTaskStateV2_Failed ImportTaskStateV2 = 3 + ImportTaskStateV2_Completed ImportTaskStateV2 = 4 +) + +var ImportTaskStateV2_name = map[int32]string{ + 0: "None", + 1: "Pending", + 2: "InProgress", + 3: "Failed", + 4: "Completed", +} + +var ImportTaskStateV2_value = map[string]int32{ + "None": 0, + "Pending": 1, + "InProgress": 2, + "Failed": 3, + "Completed": 4, +} + +func (x ImportTaskStateV2) String() string { + return proto.EnumName(ImportTaskStateV2_name, int32(x)) +} + +func (ImportTaskStateV2) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{4} +} + +type GcCommand int32 + +const ( + GcCommand__ GcCommand = 0 + GcCommand_Pause GcCommand = 1 + GcCommand_Resume GcCommand = 2 +) + +var GcCommand_name = map[int32]string{ + 0: "_", + 1: "Pause", + 2: "Resume", +} + +var GcCommand_value = map[string]int32{ + "_": 0, + "Pause": 1, + "Resume": 2, +} + +func (x GcCommand) String() string { + return proto.EnumName(GcCommand_name, int32(x)) +} + +func (GcCommand) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{5} +} + // TODO: import google/protobuf/empty.proto type Empty struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -277,16 +342,17 @@ func (m *FlushRequest) GetIsImport() bool { } type FlushResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - DbID int64 `protobuf:"varint,2,opt,name=dbID,proto3" json:"dbID,omitempty"` - CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - SegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` - FlushSegmentIDs []int64 `protobuf:"varint,5,rep,packed,name=flushSegmentIDs,proto3" json:"flushSegmentIDs,omitempty"` - TimeOfSeal int64 `protobuf:"varint,6,opt,name=timeOfSeal,proto3" json:"timeOfSeal,omitempty"` - FlushTs uint64 `protobuf:"varint,7,opt,name=flush_ts,json=flushTs,proto3" json:"flush_ts,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + DbID int64 `protobuf:"varint,2,opt,name=dbID,proto3" json:"dbID,omitempty"` + CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + SegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` + FlushSegmentIDs []int64 `protobuf:"varint,5,rep,packed,name=flushSegmentIDs,proto3" json:"flushSegmentIDs,omitempty"` + TimeOfSeal int64 `protobuf:"varint,6,opt,name=timeOfSeal,proto3" json:"timeOfSeal,omitempty"` + FlushTs uint64 `protobuf:"varint,7,opt,name=flush_ts,json=flushTs,proto3" json:"flush_ts,omitempty"` + ChannelCps map[string]*msgpb.MsgPosition `protobuf:"bytes,8,rep,name=channel_cps,json=channelCps,proto3" json:"channel_cps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *FlushResponse) Reset() { *m = FlushResponse{} } @@ -363,6 +429,13 @@ func (m *FlushResponse) GetFlushTs() uint64 { return 0 } +func (m *FlushResponse) GetChannelCps() map[string]*msgpb.MsgPosition { + if m != nil { + return m.ChannelCps + } + return nil +} + type FlushChannelsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` FlushTs uint64 `protobuf:"varint,2,opt,name=flush_ts,json=flushTs,proto3" json:"flush_ts,omitempty"` @@ -1326,6 +1399,7 @@ type VchannelInfo struct { DroppedSegmentIds []int64 `protobuf:"varint,9,rep,packed,name=dropped_segmentIds,json=droppedSegmentIds,proto3" json:"dropped_segmentIds,omitempty"` IndexedSegmentIds []int64 `protobuf:"varint,10,rep,packed,name=indexed_segmentIds,json=indexedSegmentIds,proto3" json:"indexed_segmentIds,omitempty"` IndexedSegments []*SegmentInfo `protobuf:"bytes,11,rep,name=indexed_segments,json=indexedSegments,proto3" json:"indexed_segments,omitempty"` + LevelZeroSegmentIds []int64 `protobuf:"varint,12,rep,packed,name=level_zero_segment_ids,json=levelZeroSegmentIds,proto3" json:"level_zero_segment_ids,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1433,6 +1507,13 @@ func (m *VchannelInfo) GetIndexedSegments() []*SegmentInfo { return nil } +func (m *VchannelInfo) GetLevelZeroSegmentIds() []int64 { + if m != nil { + return m.LevelZeroSegmentIds + } + return nil +} + type WatchDmChannelsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Vchannels []*VchannelInfo `protobuf:"bytes,2,rep,name=vchannels,proto3" json:"vchannels,omitempty"` @@ -1627,7 +1708,7 @@ type SegmentInfo struct { // As for new fields added in the message, they will be populated with their respective field types' default values. Compacted bool `protobuf:"varint,19,opt,name=compacted,proto3" json:"compacted,omitempty"` // Segment level, indicating compaction segment level - // Available value: Legacy, L0, L1 + // Available value: Legacy, L0, L1, L2 // For legacy level, it represent old segment before segment level introduced // so segments with Legacy level shall be treated as L1 segment Level SegmentLevel `protobuf:"varint,20,opt,name=level,proto3,enum=milvus.protov2.data.SegmentLevel" json:"level,omitempty"` @@ -2374,9 +2455,13 @@ type Binlog struct { TimestampFrom uint64 `protobuf:"varint,2,opt,name=timestamp_from,json=timestampFrom,proto3" json:"timestamp_from,omitempty"` TimestampTo uint64 `protobuf:"varint,3,opt,name=timestamp_to,json=timestampTo,proto3" json:"timestamp_to,omitempty"` // deprecated - LogPath string `protobuf:"bytes,4,opt,name=log_path,json=logPath,proto3" json:"log_path,omitempty"` - LogSize int64 `protobuf:"varint,5,opt,name=log_size,json=logSize,proto3" json:"log_size,omitempty"` - LogID int64 `protobuf:"varint,6,opt,name=logID,proto3" json:"logID,omitempty"` + LogPath string `protobuf:"bytes,4,opt,name=log_path,json=logPath,proto3" json:"log_path,omitempty"` + LogSize int64 `protobuf:"varint,5,opt,name=log_size,json=logSize,proto3" json:"log_size,omitempty"` + LogID int64 `protobuf:"varint,6,opt,name=logID,proto3" json:"logID,omitempty"` + // memory_size represents the size occupied by loading data into memory. + // log_size represents the size after data serialized. + // for stats_log, the memory_size always equal log_size. + MemorySize int64 `protobuf:"varint,7,opt,name=memory_size,json=memorySize,proto3" json:"memory_size,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2449,6 +2534,13 @@ func (m *Binlog) GetLogID() int64 { return 0 } +func (m *Binlog) GetMemorySize() int64 { + if m != nil { + return m.MemorySize + } + return 0 +} + type GetRecoveryInfoResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Channels []*VchannelInfo `protobuf:"bytes,2,rep,name=channels,proto3" json:"channels,omitempty"` @@ -3168,6 +3260,8 @@ type CompactionSegmentBinlogs struct { Deltalogs []*FieldBinlog `protobuf:"bytes,4,rep,name=deltalogs,proto3" json:"deltalogs,omitempty"` InsertChannel string `protobuf:"bytes,5,opt,name=insert_channel,json=insertChannel,proto3" json:"insert_channel,omitempty"` Level SegmentLevel `protobuf:"varint,6,opt,name=level,proto3,enum=milvus.protov2.data.SegmentLevel" json:"level,omitempty"` + CollectionID int64 `protobuf:"varint,7,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionID int64 `protobuf:"varint,8,opt,name=partitionID,proto3" json:"partitionID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3240,6 +3334,20 @@ func (m *CompactionSegmentBinlogs) GetLevel() SegmentLevel { return SegmentLevel_Legacy } +func (m *CompactionSegmentBinlogs) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *CompactionSegmentBinlogs) GetPartitionID() int64 { + if m != nil { + return m.PartitionID + } + return 0 +} + type CompactionPlan struct { PlanID int64 `protobuf:"varint,1,opt,name=planID,proto3" json:"planID,omitempty"` SegmentBinlogs []*CompactionSegmentBinlogs `protobuf:"bytes,2,rep,name=segmentBinlogs,proto3" json:"segmentBinlogs,omitempty"` @@ -3435,6 +3543,7 @@ type CompactionPlanResult struct { State commonpb.CompactionState `protobuf:"varint,2,opt,name=state,proto3,enum=milvus.protov2.common.CompactionState" json:"state,omitempty"` Segments []*CompactionSegment `protobuf:"bytes,3,rep,name=segments,proto3" json:"segments,omitempty"` Channel string `protobuf:"bytes,4,opt,name=channel,proto3" json:"channel,omitempty"` + Type CompactionType `protobuf:"varint,5,opt,name=type,proto3,enum=milvus.protov2.data.CompactionType" json:"type,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3493,6 +3602,13 @@ func (m *CompactionPlanResult) GetChannel() string { return "" } +func (m *CompactionPlanResult) GetType() CompactionType { + if m != nil { + return m.Type + } + return CompactionType_UndefinedCompaction +} + type CompactionStateResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Results []*CompactionPlanResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` @@ -3981,1391 +4097,1951 @@ func (m *DropVirtualChannelResponse) GetStatus() *commonpb.Status { return nil } -type ImportTask struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - CollectionId int64 `protobuf:"varint,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - PartitionId int64 `protobuf:"varint,3,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - ChannelNames []string `protobuf:"bytes,4,rep,name=channel_names,json=channelNames,proto3" json:"channel_names,omitempty"` - RowBased bool `protobuf:"varint,5,opt,name=row_based,json=rowBased,proto3" json:"row_based,omitempty"` - TaskId int64 `protobuf:"varint,6,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` - Files []string `protobuf:"bytes,7,rep,name=files,proto3" json:"files,omitempty"` - Infos []*commonpb.KeyValuePair `protobuf:"bytes,8,rep,name=infos,proto3" json:"infos,omitempty"` - DatabaseName string `protobuf:"bytes,16,opt,name=database_name,json=databaseName,proto3" json:"database_name,omitempty"` +type UpdateSegmentStatisticsRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + Stats []*commonpb.SegmentStats `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *ImportTask) Reset() { *m = ImportTask{} } -func (m *ImportTask) String() string { return proto.CompactTextString(m) } -func (*ImportTask) ProtoMessage() {} -func (*ImportTask) Descriptor() ([]byte, []int) { +func (m *UpdateSegmentStatisticsRequest) Reset() { *m = UpdateSegmentStatisticsRequest{} } +func (m *UpdateSegmentStatisticsRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateSegmentStatisticsRequest) ProtoMessage() {} +func (*UpdateSegmentStatisticsRequest) Descriptor() ([]byte, []int) { return fileDescriptor_82cd95f524594f49, []int{59} } -func (m *ImportTask) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportTask.Unmarshal(m, b) -} -func (m *ImportTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportTask.Marshal(b, m, deterministic) -} -func (m *ImportTask) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportTask.Merge(m, src) -} -func (m *ImportTask) XXX_Size() int { - return xxx_messageInfo_ImportTask.Size(m) -} -func (m *ImportTask) XXX_DiscardUnknown() { - xxx_messageInfo_ImportTask.DiscardUnknown(m) -} - -var xxx_messageInfo_ImportTask proto.InternalMessageInfo - -func (m *ImportTask) GetStatus() *commonpb.Status { - if m != nil { - return m.Status - } - return nil +func (m *UpdateSegmentStatisticsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateSegmentStatisticsRequest.Unmarshal(m, b) } - -func (m *ImportTask) GetCollectionId() int64 { - if m != nil { - return m.CollectionId - } - return 0 +func (m *UpdateSegmentStatisticsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateSegmentStatisticsRequest.Marshal(b, m, deterministic) } - -func (m *ImportTask) GetPartitionId() int64 { - if m != nil { - return m.PartitionId - } - return 0 +func (m *UpdateSegmentStatisticsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateSegmentStatisticsRequest.Merge(m, src) } - -func (m *ImportTask) GetChannelNames() []string { - if m != nil { - return m.ChannelNames - } - return nil +func (m *UpdateSegmentStatisticsRequest) XXX_Size() int { + return xxx_messageInfo_UpdateSegmentStatisticsRequest.Size(m) } - -func (m *ImportTask) GetRowBased() bool { - if m != nil { - return m.RowBased - } - return false +func (m *UpdateSegmentStatisticsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateSegmentStatisticsRequest.DiscardUnknown(m) } -func (m *ImportTask) GetTaskId() int64 { - if m != nil { - return m.TaskId - } - return 0 -} +var xxx_messageInfo_UpdateSegmentStatisticsRequest proto.InternalMessageInfo -func (m *ImportTask) GetFiles() []string { +func (m *UpdateSegmentStatisticsRequest) GetBase() *commonpb.MsgBase { if m != nil { - return m.Files + return m.Base } return nil } -func (m *ImportTask) GetInfos() []*commonpb.KeyValuePair { +func (m *UpdateSegmentStatisticsRequest) GetStats() []*commonpb.SegmentStats { if m != nil { - return m.Infos + return m.Stats } return nil } -func (m *ImportTask) GetDatabaseName() string { - if m != nil { - return m.DatabaseName - } - return "" -} - -type ImportTaskState struct { - StateCode commonpb.ImportState `protobuf:"varint,1,opt,name=stateCode,proto3,enum=milvus.protov2.common.ImportState" json:"stateCode,omitempty"` - Segments []int64 `protobuf:"varint,2,rep,packed,name=segments,proto3" json:"segments,omitempty"` - RowIds []int64 `protobuf:"varint,3,rep,packed,name=row_ids,json=rowIds,proto3" json:"row_ids,omitempty"` - RowCount int64 `protobuf:"varint,4,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` - ErrorMessage string `protobuf:"bytes,5,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` +type UpdateChannelCheckpointRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + VChannel string `protobuf:"bytes,2,opt,name=vChannel,proto3" json:"vChannel,omitempty"` + Position *msgpb.MsgPosition `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` + ChannelCheckpoints []*msgpb.MsgPosition `protobuf:"bytes,4,rep,name=channel_checkpoints,json=channelCheckpoints,proto3" json:"channel_checkpoints,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *ImportTaskState) Reset() { *m = ImportTaskState{} } -func (m *ImportTaskState) String() string { return proto.CompactTextString(m) } -func (*ImportTaskState) ProtoMessage() {} -func (*ImportTaskState) Descriptor() ([]byte, []int) { +func (m *UpdateChannelCheckpointRequest) Reset() { *m = UpdateChannelCheckpointRequest{} } +func (m *UpdateChannelCheckpointRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateChannelCheckpointRequest) ProtoMessage() {} +func (*UpdateChannelCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor_82cd95f524594f49, []int{60} } -func (m *ImportTaskState) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportTaskState.Unmarshal(m, b) +func (m *UpdateChannelCheckpointRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateChannelCheckpointRequest.Unmarshal(m, b) } -func (m *ImportTaskState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportTaskState.Marshal(b, m, deterministic) +func (m *UpdateChannelCheckpointRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateChannelCheckpointRequest.Marshal(b, m, deterministic) } -func (m *ImportTaskState) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportTaskState.Merge(m, src) +func (m *UpdateChannelCheckpointRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateChannelCheckpointRequest.Merge(m, src) } -func (m *ImportTaskState) XXX_Size() int { - return xxx_messageInfo_ImportTaskState.Size(m) +func (m *UpdateChannelCheckpointRequest) XXX_Size() int { + return xxx_messageInfo_UpdateChannelCheckpointRequest.Size(m) } -func (m *ImportTaskState) XXX_DiscardUnknown() { - xxx_messageInfo_ImportTaskState.DiscardUnknown(m) +func (m *UpdateChannelCheckpointRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateChannelCheckpointRequest.DiscardUnknown(m) } -var xxx_messageInfo_ImportTaskState proto.InternalMessageInfo - -func (m *ImportTaskState) GetStateCode() commonpb.ImportState { - if m != nil { - return m.StateCode - } - return commonpb.ImportState_ImportPending -} +var xxx_messageInfo_UpdateChannelCheckpointRequest proto.InternalMessageInfo -func (m *ImportTaskState) GetSegments() []int64 { +func (m *UpdateChannelCheckpointRequest) GetBase() *commonpb.MsgBase { if m != nil { - return m.Segments + return m.Base } return nil } -func (m *ImportTaskState) GetRowIds() []int64 { +func (m *UpdateChannelCheckpointRequest) GetVChannel() string { if m != nil { - return m.RowIds + return m.VChannel } - return nil + return "" } -func (m *ImportTaskState) GetRowCount() int64 { +func (m *UpdateChannelCheckpointRequest) GetPosition() *msgpb.MsgPosition { if m != nil { - return m.RowCount + return m.Position } - return 0 + return nil } -func (m *ImportTaskState) GetErrorMessage() string { +func (m *UpdateChannelCheckpointRequest) GetChannelCheckpoints() []*msgpb.MsgPosition { if m != nil { - return m.ErrorMessage + return m.ChannelCheckpoints } - return "" + return nil } -type ImportTaskInfo struct { - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - RequestId int64 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Deprecated: Do not use. - DatanodeId int64 `protobuf:"varint,3,opt,name=datanode_id,json=datanodeId,proto3" json:"datanode_id,omitempty"` - CollectionId int64 `protobuf:"varint,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - PartitionId int64 `protobuf:"varint,5,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - ChannelNames []string `protobuf:"bytes,6,rep,name=channel_names,json=channelNames,proto3" json:"channel_names,omitempty"` - Bucket string `protobuf:"bytes,7,opt,name=bucket,proto3" json:"bucket,omitempty"` - RowBased bool `protobuf:"varint,8,opt,name=row_based,json=rowBased,proto3" json:"row_based,omitempty"` - Files []string `protobuf:"bytes,9,rep,name=files,proto3" json:"files,omitempty"` - CreateTs int64 `protobuf:"varint,10,opt,name=create_ts,json=createTs,proto3" json:"create_ts,omitempty"` - State *ImportTaskState `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"` - CollectionName string `protobuf:"bytes,12,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` - PartitionName string `protobuf:"bytes,13,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` - Infos []*commonpb.KeyValuePair `protobuf:"bytes,14,rep,name=infos,proto3" json:"infos,omitempty"` - StartTs int64 `protobuf:"varint,15,opt,name=start_ts,json=startTs,proto3" json:"start_ts,omitempty"` - DatabaseName string `protobuf:"bytes,16,opt,name=database_name,json=databaseName,proto3" json:"database_name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type ResendSegmentStatsRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ImportTaskInfo) Reset() { *m = ImportTaskInfo{} } -func (m *ImportTaskInfo) String() string { return proto.CompactTextString(m) } -func (*ImportTaskInfo) ProtoMessage() {} -func (*ImportTaskInfo) Descriptor() ([]byte, []int) { +func (m *ResendSegmentStatsRequest) Reset() { *m = ResendSegmentStatsRequest{} } +func (m *ResendSegmentStatsRequest) String() string { return proto.CompactTextString(m) } +func (*ResendSegmentStatsRequest) ProtoMessage() {} +func (*ResendSegmentStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor_82cd95f524594f49, []int{61} } -func (m *ImportTaskInfo) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportTaskInfo.Unmarshal(m, b) +func (m *ResendSegmentStatsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResendSegmentStatsRequest.Unmarshal(m, b) } -func (m *ImportTaskInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportTaskInfo.Marshal(b, m, deterministic) +func (m *ResendSegmentStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResendSegmentStatsRequest.Marshal(b, m, deterministic) } -func (m *ImportTaskInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportTaskInfo.Merge(m, src) +func (m *ResendSegmentStatsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResendSegmentStatsRequest.Merge(m, src) } -func (m *ImportTaskInfo) XXX_Size() int { - return xxx_messageInfo_ImportTaskInfo.Size(m) +func (m *ResendSegmentStatsRequest) XXX_Size() int { + return xxx_messageInfo_ResendSegmentStatsRequest.Size(m) } -func (m *ImportTaskInfo) XXX_DiscardUnknown() { - xxx_messageInfo_ImportTaskInfo.DiscardUnknown(m) +func (m *ResendSegmentStatsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ResendSegmentStatsRequest.DiscardUnknown(m) } -var xxx_messageInfo_ImportTaskInfo proto.InternalMessageInfo +var xxx_messageInfo_ResendSegmentStatsRequest proto.InternalMessageInfo -func (m *ImportTaskInfo) GetId() int64 { +func (m *ResendSegmentStatsRequest) GetBase() *commonpb.MsgBase { if m != nil { - return m.Id + return m.Base } - return 0 + return nil } -// Deprecated: Do not use. -func (m *ImportTaskInfo) GetRequestId() int64 { - if m != nil { - return m.RequestId - } - return 0 +type ResendSegmentStatsResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + SegResent []int64 `protobuf:"varint,2,rep,packed,name=seg_resent,json=segResent,proto3" json:"seg_resent,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ImportTaskInfo) GetDatanodeId() int64 { - if m != nil { - return m.DatanodeId - } - return 0 +func (m *ResendSegmentStatsResponse) Reset() { *m = ResendSegmentStatsResponse{} } +func (m *ResendSegmentStatsResponse) String() string { return proto.CompactTextString(m) } +func (*ResendSegmentStatsResponse) ProtoMessage() {} +func (*ResendSegmentStatsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{62} } -func (m *ImportTaskInfo) GetCollectionId() int64 { - if m != nil { - return m.CollectionId - } - return 0 +func (m *ResendSegmentStatsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResendSegmentStatsResponse.Unmarshal(m, b) } - -func (m *ImportTaskInfo) GetPartitionId() int64 { - if m != nil { - return m.PartitionId - } - return 0 +func (m *ResendSegmentStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResendSegmentStatsResponse.Marshal(b, m, deterministic) } - -func (m *ImportTaskInfo) GetChannelNames() []string { - if m != nil { - return m.ChannelNames - } - return nil +func (m *ResendSegmentStatsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResendSegmentStatsResponse.Merge(m, src) } - -func (m *ImportTaskInfo) GetBucket() string { - if m != nil { - return m.Bucket - } - return "" +func (m *ResendSegmentStatsResponse) XXX_Size() int { + return xxx_messageInfo_ResendSegmentStatsResponse.Size(m) } - -func (m *ImportTaskInfo) GetRowBased() bool { - if m != nil { - return m.RowBased - } - return false +func (m *ResendSegmentStatsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ResendSegmentStatsResponse.DiscardUnknown(m) } -func (m *ImportTaskInfo) GetFiles() []string { - if m != nil { - return m.Files - } - return nil -} +var xxx_messageInfo_ResendSegmentStatsResponse proto.InternalMessageInfo -func (m *ImportTaskInfo) GetCreateTs() int64 { +func (m *ResendSegmentStatsResponse) GetStatus() *commonpb.Status { if m != nil { - return m.CreateTs + return m.Status } - return 0 + return nil } -func (m *ImportTaskInfo) GetState() *ImportTaskState { +func (m *ResendSegmentStatsResponse) GetSegResent() []int64 { if m != nil { - return m.State + return m.SegResent } return nil } -func (m *ImportTaskInfo) GetCollectionName() string { - if m != nil { - return m.CollectionName - } - return "" +type MarkSegmentsDroppedRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + SegmentIds []int64 `protobuf:"varint,2,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MarkSegmentsDroppedRequest) Reset() { *m = MarkSegmentsDroppedRequest{} } +func (m *MarkSegmentsDroppedRequest) String() string { return proto.CompactTextString(m) } +func (*MarkSegmentsDroppedRequest) ProtoMessage() {} +func (*MarkSegmentsDroppedRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{63} +} + +func (m *MarkSegmentsDroppedRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MarkSegmentsDroppedRequest.Unmarshal(m, b) +} +func (m *MarkSegmentsDroppedRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MarkSegmentsDroppedRequest.Marshal(b, m, deterministic) +} +func (m *MarkSegmentsDroppedRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MarkSegmentsDroppedRequest.Merge(m, src) +} +func (m *MarkSegmentsDroppedRequest) XXX_Size() int { + return xxx_messageInfo_MarkSegmentsDroppedRequest.Size(m) +} +func (m *MarkSegmentsDroppedRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MarkSegmentsDroppedRequest.DiscardUnknown(m) } -func (m *ImportTaskInfo) GetPartitionName() string { +var xxx_messageInfo_MarkSegmentsDroppedRequest proto.InternalMessageInfo + +func (m *MarkSegmentsDroppedRequest) GetBase() *commonpb.MsgBase { if m != nil { - return m.PartitionName + return m.Base } - return "" + return nil } -func (m *ImportTaskInfo) GetInfos() []*commonpb.KeyValuePair { +func (m *MarkSegmentsDroppedRequest) GetSegmentIds() []int64 { if m != nil { - return m.Infos + return m.SegmentIds } return nil } -func (m *ImportTaskInfo) GetStartTs() int64 { +type SegmentReferenceLock struct { + TaskID int64 `protobuf:"varint,1,opt,name=taskID,proto3" json:"taskID,omitempty"` + NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + SegmentIDs []int64 `protobuf:"varint,3,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SegmentReferenceLock) Reset() { *m = SegmentReferenceLock{} } +func (m *SegmentReferenceLock) String() string { return proto.CompactTextString(m) } +func (*SegmentReferenceLock) ProtoMessage() {} +func (*SegmentReferenceLock) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{64} +} + +func (m *SegmentReferenceLock) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SegmentReferenceLock.Unmarshal(m, b) +} +func (m *SegmentReferenceLock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SegmentReferenceLock.Marshal(b, m, deterministic) +} +func (m *SegmentReferenceLock) XXX_Merge(src proto.Message) { + xxx_messageInfo_SegmentReferenceLock.Merge(m, src) +} +func (m *SegmentReferenceLock) XXX_Size() int { + return xxx_messageInfo_SegmentReferenceLock.Size(m) +} +func (m *SegmentReferenceLock) XXX_DiscardUnknown() { + xxx_messageInfo_SegmentReferenceLock.DiscardUnknown(m) +} + +var xxx_messageInfo_SegmentReferenceLock proto.InternalMessageInfo + +func (m *SegmentReferenceLock) GetTaskID() int64 { if m != nil { - return m.StartTs + return m.TaskID } return 0 } -func (m *ImportTaskInfo) GetDatabaseName() string { +func (m *SegmentReferenceLock) GetNodeID() int64 { if m != nil { - return m.DatabaseName + return m.NodeID } - return "" + return 0 +} + +func (m *SegmentReferenceLock) GetSegmentIDs() []int64 { + if m != nil { + return m.SegmentIDs + } + return nil +} + +type AlterCollectionRequest struct { + CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + Schema *schemapb.CollectionSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` + PartitionIDs []int64 `protobuf:"varint,3,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + StartPositions []*commonpb.KeyDataPair `protobuf:"bytes,4,rep,name=start_positions,json=startPositions,proto3" json:"start_positions,omitempty"` + Properties []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=properties,proto3" json:"properties,omitempty"` + DbID int64 `protobuf:"varint,6,opt,name=dbID,proto3" json:"dbID,omitempty"` + VChannels []string `protobuf:"bytes,7,rep,name=vChannels,proto3" json:"vChannels,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterCollectionRequest) Reset() { *m = AlterCollectionRequest{} } +func (m *AlterCollectionRequest) String() string { return proto.CompactTextString(m) } +func (*AlterCollectionRequest) ProtoMessage() {} +func (*AlterCollectionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{65} +} + +func (m *AlterCollectionRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterCollectionRequest.Unmarshal(m, b) +} +func (m *AlterCollectionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterCollectionRequest.Marshal(b, m, deterministic) +} +func (m *AlterCollectionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterCollectionRequest.Merge(m, src) +} +func (m *AlterCollectionRequest) XXX_Size() int { + return xxx_messageInfo_AlterCollectionRequest.Size(m) +} +func (m *AlterCollectionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AlterCollectionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterCollectionRequest proto.InternalMessageInfo + +func (m *AlterCollectionRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *AlterCollectionRequest) GetSchema() *schemapb.CollectionSchema { + if m != nil { + return m.Schema + } + return nil +} + +func (m *AlterCollectionRequest) GetPartitionIDs() []int64 { + if m != nil { + return m.PartitionIDs + } + return nil +} + +func (m *AlterCollectionRequest) GetStartPositions() []*commonpb.KeyDataPair { + if m != nil { + return m.StartPositions + } + return nil +} + +func (m *AlterCollectionRequest) GetProperties() []*commonpb.KeyValuePair { + if m != nil { + return m.Properties + } + return nil +} + +func (m *AlterCollectionRequest) GetDbID() int64 { + if m != nil { + return m.DbID + } + return 0 +} + +func (m *AlterCollectionRequest) GetVChannels() []string { + if m != nil { + return m.VChannels + } + return nil +} + +type GcConfirmRequest struct { + CollectionId int64 `protobuf:"varint,1,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` + PartitionId int64 `protobuf:"varint,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GcConfirmRequest) Reset() { *m = GcConfirmRequest{} } +func (m *GcConfirmRequest) String() string { return proto.CompactTextString(m) } +func (*GcConfirmRequest) ProtoMessage() {} +func (*GcConfirmRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{66} +} + +func (m *GcConfirmRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GcConfirmRequest.Unmarshal(m, b) +} +func (m *GcConfirmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GcConfirmRequest.Marshal(b, m, deterministic) +} +func (m *GcConfirmRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GcConfirmRequest.Merge(m, src) +} +func (m *GcConfirmRequest) XXX_Size() int { + return xxx_messageInfo_GcConfirmRequest.Size(m) +} +func (m *GcConfirmRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GcConfirmRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GcConfirmRequest proto.InternalMessageInfo + +func (m *GcConfirmRequest) GetCollectionId() int64 { + if m != nil { + return m.CollectionId + } + return 0 } -type ImportTaskResponse struct { +func (m *GcConfirmRequest) GetPartitionId() int64 { + if m != nil { + return m.PartitionId + } + return 0 +} + +type GcConfirmResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - DatanodeId int64 `protobuf:"varint,2,opt,name=datanode_id,json=datanodeId,proto3" json:"datanode_id,omitempty"` + GcFinished bool `protobuf:"varint,2,opt,name=gc_finished,json=gcFinished,proto3" json:"gc_finished,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *ImportTaskResponse) Reset() { *m = ImportTaskResponse{} } -func (m *ImportTaskResponse) String() string { return proto.CompactTextString(m) } -func (*ImportTaskResponse) ProtoMessage() {} -func (*ImportTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{62} +func (m *GcConfirmResponse) Reset() { *m = GcConfirmResponse{} } +func (m *GcConfirmResponse) String() string { return proto.CompactTextString(m) } +func (*GcConfirmResponse) ProtoMessage() {} +func (*GcConfirmResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{67} } -func (m *ImportTaskResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportTaskResponse.Unmarshal(m, b) +func (m *GcConfirmResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GcConfirmResponse.Unmarshal(m, b) +} +func (m *GcConfirmResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GcConfirmResponse.Marshal(b, m, deterministic) +} +func (m *GcConfirmResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GcConfirmResponse.Merge(m, src) +} +func (m *GcConfirmResponse) XXX_Size() int { + return xxx_messageInfo_GcConfirmResponse.Size(m) } -func (m *ImportTaskResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportTaskResponse.Marshal(b, m, deterministic) +func (m *GcConfirmResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GcConfirmResponse.DiscardUnknown(m) } -func (m *ImportTaskResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportTaskResponse.Merge(m, src) + +var xxx_messageInfo_GcConfirmResponse proto.InternalMessageInfo + +func (m *GcConfirmResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil } -func (m *ImportTaskResponse) XXX_Size() int { - return xxx_messageInfo_ImportTaskResponse.Size(m) + +func (m *GcConfirmResponse) GetGcFinished() bool { + if m != nil { + return m.GcFinished + } + return false } -func (m *ImportTaskResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ImportTaskResponse.DiscardUnknown(m) + +type ReportDataNodeTtMsgsRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + Msgs []*msgpb.DataNodeTtMsg `protobuf:"bytes,2,rep,name=msgs,proto3" json:"msgs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ReportDataNodeTtMsgsRequest) Reset() { *m = ReportDataNodeTtMsgsRequest{} } +func (m *ReportDataNodeTtMsgsRequest) String() string { return proto.CompactTextString(m) } +func (*ReportDataNodeTtMsgsRequest) ProtoMessage() {} +func (*ReportDataNodeTtMsgsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{68} +} + +func (m *ReportDataNodeTtMsgsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Unmarshal(m, b) +} +func (m *ReportDataNodeTtMsgsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Marshal(b, m, deterministic) +} +func (m *ReportDataNodeTtMsgsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReportDataNodeTtMsgsRequest.Merge(m, src) +} +func (m *ReportDataNodeTtMsgsRequest) XXX_Size() int { + return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Size(m) +} +func (m *ReportDataNodeTtMsgsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ReportDataNodeTtMsgsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ReportDataNodeTtMsgsRequest proto.InternalMessageInfo + +func (m *ReportDataNodeTtMsgsRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *ReportDataNodeTtMsgsRequest) GetMsgs() []*msgpb.DataNodeTtMsg { + if m != nil { + return m.Msgs + } + return nil +} + +type GetFlushStateRequest struct { + SegmentIDs []int64 `protobuf:"varint,1,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` + FlushTs uint64 `protobuf:"varint,2,opt,name=flush_ts,json=flushTs,proto3" json:"flush_ts,omitempty"` + DbName string `protobuf:"bytes,3,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,4,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + CollectionID int64 `protobuf:"varint,5,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFlushStateRequest) Reset() { *m = GetFlushStateRequest{} } +func (m *GetFlushStateRequest) String() string { return proto.CompactTextString(m) } +func (*GetFlushStateRequest) ProtoMessage() {} +func (*GetFlushStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{69} +} + +func (m *GetFlushStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFlushStateRequest.Unmarshal(m, b) +} +func (m *GetFlushStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFlushStateRequest.Marshal(b, m, deterministic) +} +func (m *GetFlushStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFlushStateRequest.Merge(m, src) +} +func (m *GetFlushStateRequest) XXX_Size() int { + return xxx_messageInfo_GetFlushStateRequest.Size(m) +} +func (m *GetFlushStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetFlushStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFlushStateRequest proto.InternalMessageInfo + +func (m *GetFlushStateRequest) GetSegmentIDs() []int64 { + if m != nil { + return m.SegmentIDs + } + return nil +} + +func (m *GetFlushStateRequest) GetFlushTs() uint64 { + if m != nil { + return m.FlushTs + } + return 0 +} + +func (m *GetFlushStateRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *GetFlushStateRequest) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *GetFlushStateRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +type ChannelOperationsRequest struct { + Infos []*ChannelWatchInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelOperationsRequest) Reset() { *m = ChannelOperationsRequest{} } +func (m *ChannelOperationsRequest) String() string { return proto.CompactTextString(m) } +func (*ChannelOperationsRequest) ProtoMessage() {} +func (*ChannelOperationsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{70} +} + +func (m *ChannelOperationsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelOperationsRequest.Unmarshal(m, b) +} +func (m *ChannelOperationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelOperationsRequest.Marshal(b, m, deterministic) +} +func (m *ChannelOperationsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelOperationsRequest.Merge(m, src) +} +func (m *ChannelOperationsRequest) XXX_Size() int { + return xxx_messageInfo_ChannelOperationsRequest.Size(m) +} +func (m *ChannelOperationsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelOperationsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelOperationsRequest proto.InternalMessageInfo + +func (m *ChannelOperationsRequest) GetInfos() []*ChannelWatchInfo { + if m != nil { + return m.Infos + } + return nil +} + +type ChannelOperationProgressResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + OpID int64 `protobuf:"varint,2,opt,name=opID,proto3" json:"opID,omitempty"` + State ChannelWatchState `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.protov2.data.ChannelWatchState" json:"state,omitempty"` + Progress int32 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelOperationProgressResponse) Reset() { *m = ChannelOperationProgressResponse{} } +func (m *ChannelOperationProgressResponse) String() string { return proto.CompactTextString(m) } +func (*ChannelOperationProgressResponse) ProtoMessage() {} +func (*ChannelOperationProgressResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{71} +} + +func (m *ChannelOperationProgressResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelOperationProgressResponse.Unmarshal(m, b) +} +func (m *ChannelOperationProgressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelOperationProgressResponse.Marshal(b, m, deterministic) +} +func (m *ChannelOperationProgressResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelOperationProgressResponse.Merge(m, src) +} +func (m *ChannelOperationProgressResponse) XXX_Size() int { + return xxx_messageInfo_ChannelOperationProgressResponse.Size(m) +} +func (m *ChannelOperationProgressResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelOperationProgressResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelOperationProgressResponse proto.InternalMessageInfo + +func (m *ChannelOperationProgressResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *ChannelOperationProgressResponse) GetOpID() int64 { + if m != nil { + return m.OpID + } + return 0 +} + +func (m *ChannelOperationProgressResponse) GetState() ChannelWatchState { + if m != nil { + return m.State + } + return ChannelWatchState_Uncomplete +} + +func (m *ChannelOperationProgressResponse) GetProgress() int32 { + if m != nil { + return m.Progress + } + return 0 +} + +type PreImportRequest struct { + ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` + JobID int64 `protobuf:"varint,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` + CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + Vchannels []string `protobuf:"bytes,6,rep,name=vchannels,proto3" json:"vchannels,omitempty"` + Schema *schemapb.CollectionSchema `protobuf:"bytes,7,opt,name=schema,proto3" json:"schema,omitempty"` + ImportFiles []*internalpb.ImportFile `protobuf:"bytes,8,rep,name=import_files,json=importFiles,proto3" json:"import_files,omitempty"` + Options []*commonpb.KeyValuePair `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PreImportRequest) Reset() { *m = PreImportRequest{} } +func (m *PreImportRequest) String() string { return proto.CompactTextString(m) } +func (*PreImportRequest) ProtoMessage() {} +func (*PreImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{72} +} + +func (m *PreImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PreImportRequest.Unmarshal(m, b) +} +func (m *PreImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PreImportRequest.Marshal(b, m, deterministic) +} +func (m *PreImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PreImportRequest.Merge(m, src) +} +func (m *PreImportRequest) XXX_Size() int { + return xxx_messageInfo_PreImportRequest.Size(m) +} +func (m *PreImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PreImportRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PreImportRequest proto.InternalMessageInfo + +func (m *PreImportRequest) GetClusterID() string { + if m != nil { + return m.ClusterID + } + return "" +} + +func (m *PreImportRequest) GetJobID() int64 { + if m != nil { + return m.JobID + } + return 0 +} + +func (m *PreImportRequest) GetTaskID() int64 { + if m != nil { + return m.TaskID + } + return 0 +} + +func (m *PreImportRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *PreImportRequest) GetPartitionIDs() []int64 { + if m != nil { + return m.PartitionIDs + } + return nil +} + +func (m *PreImportRequest) GetVchannels() []string { + if m != nil { + return m.Vchannels + } + return nil +} + +func (m *PreImportRequest) GetSchema() *schemapb.CollectionSchema { + if m != nil { + return m.Schema + } + return nil +} + +func (m *PreImportRequest) GetImportFiles() []*internalpb.ImportFile { + if m != nil { + return m.ImportFiles + } + return nil +} + +func (m *PreImportRequest) GetOptions() []*commonpb.KeyValuePair { + if m != nil { + return m.Options + } + return nil +} + +type AutoIDRange struct { + Begin int64 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoIDRange) Reset() { *m = AutoIDRange{} } +func (m *AutoIDRange) String() string { return proto.CompactTextString(m) } +func (*AutoIDRange) ProtoMessage() {} +func (*AutoIDRange) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{73} +} + +func (m *AutoIDRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AutoIDRange.Unmarshal(m, b) +} +func (m *AutoIDRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AutoIDRange.Marshal(b, m, deterministic) +} +func (m *AutoIDRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoIDRange.Merge(m, src) +} +func (m *AutoIDRange) XXX_Size() int { + return xxx_messageInfo_AutoIDRange.Size(m) +} +func (m *AutoIDRange) XXX_DiscardUnknown() { + xxx_messageInfo_AutoIDRange.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoIDRange proto.InternalMessageInfo + +func (m *AutoIDRange) GetBegin() int64 { + if m != nil { + return m.Begin + } + return 0 +} + +func (m *AutoIDRange) GetEnd() int64 { + if m != nil { + return m.End + } + return 0 +} + +type ImportRequestSegment struct { + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + PartitionID int64 `protobuf:"varint,2,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + Vchannel string `protobuf:"bytes,3,opt,name=vchannel,proto3" json:"vchannel,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportRequestSegment) Reset() { *m = ImportRequestSegment{} } +func (m *ImportRequestSegment) String() string { return proto.CompactTextString(m) } +func (*ImportRequestSegment) ProtoMessage() {} +func (*ImportRequestSegment) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{74} +} + +func (m *ImportRequestSegment) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportRequestSegment.Unmarshal(m, b) +} +func (m *ImportRequestSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportRequestSegment.Marshal(b, m, deterministic) +} +func (m *ImportRequestSegment) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportRequestSegment.Merge(m, src) +} +func (m *ImportRequestSegment) XXX_Size() int { + return xxx_messageInfo_ImportRequestSegment.Size(m) +} +func (m *ImportRequestSegment) XXX_DiscardUnknown() { + xxx_messageInfo_ImportRequestSegment.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportRequestSegment proto.InternalMessageInfo + +func (m *ImportRequestSegment) GetSegmentID() int64 { + if m != nil { + return m.SegmentID + } + return 0 +} + +func (m *ImportRequestSegment) GetPartitionID() int64 { + if m != nil { + return m.PartitionID + } + return 0 +} + +func (m *ImportRequestSegment) GetVchannel() string { + if m != nil { + return m.Vchannel + } + return "" +} + +type ImportRequest struct { + ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` + JobID int64 `protobuf:"varint,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` + CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + Vchannels []string `protobuf:"bytes,6,rep,name=vchannels,proto3" json:"vchannels,omitempty"` + Schema *schemapb.CollectionSchema `protobuf:"bytes,7,opt,name=schema,proto3" json:"schema,omitempty"` + Files []*internalpb.ImportFile `protobuf:"bytes,8,rep,name=files,proto3" json:"files,omitempty"` + Options []*commonpb.KeyValuePair `protobuf:"bytes,9,rep,name=options,proto3" json:"options,omitempty"` + Ts uint64 `protobuf:"varint,10,opt,name=ts,proto3" json:"ts,omitempty"` + AutoIDRange *AutoIDRange `protobuf:"bytes,11,opt,name=autoID_range,json=autoIDRange,proto3" json:"autoID_range,omitempty"` + RequestSegments []*ImportRequestSegment `protobuf:"bytes,12,rep,name=request_segments,json=requestSegments,proto3" json:"request_segments,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportRequest) Reset() { *m = ImportRequest{} } +func (m *ImportRequest) String() string { return proto.CompactTextString(m) } +func (*ImportRequest) ProtoMessage() {} +func (*ImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{75} +} + +func (m *ImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportRequest.Unmarshal(m, b) +} +func (m *ImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportRequest.Marshal(b, m, deterministic) +} +func (m *ImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportRequest.Merge(m, src) +} +func (m *ImportRequest) XXX_Size() int { + return xxx_messageInfo_ImportRequest.Size(m) +} +func (m *ImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ImportRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportRequest proto.InternalMessageInfo + +func (m *ImportRequest) GetClusterID() string { + if m != nil { + return m.ClusterID + } + return "" +} + +func (m *ImportRequest) GetJobID() int64 { + if m != nil { + return m.JobID + } + return 0 +} + +func (m *ImportRequest) GetTaskID() int64 { + if m != nil { + return m.TaskID + } + return 0 +} + +func (m *ImportRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *ImportRequest) GetPartitionIDs() []int64 { + if m != nil { + return m.PartitionIDs + } + return nil } -var xxx_messageInfo_ImportTaskResponse proto.InternalMessageInfo - -func (m *ImportTaskResponse) GetStatus() *commonpb.Status { +func (m *ImportRequest) GetVchannels() []string { if m != nil { - return m.Status + return m.Vchannels } return nil } -func (m *ImportTaskResponse) GetDatanodeId() int64 { +func (m *ImportRequest) GetSchema() *schemapb.CollectionSchema { if m != nil { - return m.DatanodeId + return m.Schema } - return 0 -} - -type ImportTaskRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - ImportTask *ImportTask `protobuf:"bytes,2,opt,name=import_task,json=importTask,proto3" json:"import_task,omitempty"` - WorkingNodes []int64 `protobuf:"varint,3,rep,packed,name=working_nodes,json=workingNodes,proto3" json:"working_nodes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + return nil } -func (m *ImportTaskRequest) Reset() { *m = ImportTaskRequest{} } -func (m *ImportTaskRequest) String() string { return proto.CompactTextString(m) } -func (*ImportTaskRequest) ProtoMessage() {} -func (*ImportTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{63} +func (m *ImportRequest) GetFiles() []*internalpb.ImportFile { + if m != nil { + return m.Files + } + return nil } -func (m *ImportTaskRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportTaskRequest.Unmarshal(m, b) -} -func (m *ImportTaskRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportTaskRequest.Marshal(b, m, deterministic) -} -func (m *ImportTaskRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportTaskRequest.Merge(m, src) -} -func (m *ImportTaskRequest) XXX_Size() int { - return xxx_messageInfo_ImportTaskRequest.Size(m) -} -func (m *ImportTaskRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ImportTaskRequest.DiscardUnknown(m) +func (m *ImportRequest) GetOptions() []*commonpb.KeyValuePair { + if m != nil { + return m.Options + } + return nil } -var xxx_messageInfo_ImportTaskRequest proto.InternalMessageInfo - -func (m *ImportTaskRequest) GetBase() *commonpb.MsgBase { +func (m *ImportRequest) GetTs() uint64 { if m != nil { - return m.Base + return m.Ts } - return nil + return 0 } -func (m *ImportTaskRequest) GetImportTask() *ImportTask { +func (m *ImportRequest) GetAutoIDRange() *AutoIDRange { if m != nil { - return m.ImportTask + return m.AutoIDRange } return nil } -func (m *ImportTaskRequest) GetWorkingNodes() []int64 { +func (m *ImportRequest) GetRequestSegments() []*ImportRequestSegment { if m != nil { - return m.WorkingNodes + return m.RequestSegments } return nil } -type UpdateSegmentStatisticsRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - Stats []*commonpb.SegmentStats `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type QueryPreImportRequest struct { + ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` + JobID int64 `protobuf:"varint,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UpdateSegmentStatisticsRequest) Reset() { *m = UpdateSegmentStatisticsRequest{} } -func (m *UpdateSegmentStatisticsRequest) String() string { return proto.CompactTextString(m) } -func (*UpdateSegmentStatisticsRequest) ProtoMessage() {} -func (*UpdateSegmentStatisticsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{64} +func (m *QueryPreImportRequest) Reset() { *m = QueryPreImportRequest{} } +func (m *QueryPreImportRequest) String() string { return proto.CompactTextString(m) } +func (*QueryPreImportRequest) ProtoMessage() {} +func (*QueryPreImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{76} } -func (m *UpdateSegmentStatisticsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdateSegmentStatisticsRequest.Unmarshal(m, b) +func (m *QueryPreImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryPreImportRequest.Unmarshal(m, b) } -func (m *UpdateSegmentStatisticsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdateSegmentStatisticsRequest.Marshal(b, m, deterministic) +func (m *QueryPreImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryPreImportRequest.Marshal(b, m, deterministic) } -func (m *UpdateSegmentStatisticsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdateSegmentStatisticsRequest.Merge(m, src) +func (m *QueryPreImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryPreImportRequest.Merge(m, src) } -func (m *UpdateSegmentStatisticsRequest) XXX_Size() int { - return xxx_messageInfo_UpdateSegmentStatisticsRequest.Size(m) +func (m *QueryPreImportRequest) XXX_Size() int { + return xxx_messageInfo_QueryPreImportRequest.Size(m) } -func (m *UpdateSegmentStatisticsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UpdateSegmentStatisticsRequest.DiscardUnknown(m) +func (m *QueryPreImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryPreImportRequest.DiscardUnknown(m) } -var xxx_messageInfo_UpdateSegmentStatisticsRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryPreImportRequest proto.InternalMessageInfo -func (m *UpdateSegmentStatisticsRequest) GetBase() *commonpb.MsgBase { +func (m *QueryPreImportRequest) GetClusterID() string { if m != nil { - return m.Base + return m.ClusterID } - return nil + return "" } -func (m *UpdateSegmentStatisticsRequest) GetStats() []*commonpb.SegmentStats { +func (m *QueryPreImportRequest) GetJobID() int64 { if m != nil { - return m.Stats + return m.JobID } - return nil + return 0 } -type UpdateChannelCheckpointRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - VChannel string `protobuf:"bytes,2,opt,name=vChannel,proto3" json:"vChannel,omitempty"` - Position *msgpb.MsgPosition `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *QueryPreImportRequest) GetTaskID() int64 { + if m != nil { + return m.TaskID + } + return 0 } -func (m *UpdateChannelCheckpointRequest) Reset() { *m = UpdateChannelCheckpointRequest{} } -func (m *UpdateChannelCheckpointRequest) String() string { return proto.CompactTextString(m) } -func (*UpdateChannelCheckpointRequest) ProtoMessage() {} -func (*UpdateChannelCheckpointRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{65} +type PartitionImportStats struct { + PartitionRows map[int64]int64 `protobuf:"bytes,1,rep,name=partition_rows,json=partitionRows,proto3" json:"partition_rows,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + PartitionDataSize map[int64]int64 `protobuf:"bytes,2,rep,name=partition_data_size,json=partitionDataSize,proto3" json:"partition_data_size,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UpdateChannelCheckpointRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpdateChannelCheckpointRequest.Unmarshal(m, b) +func (m *PartitionImportStats) Reset() { *m = PartitionImportStats{} } +func (m *PartitionImportStats) String() string { return proto.CompactTextString(m) } +func (*PartitionImportStats) ProtoMessage() {} +func (*PartitionImportStats) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{77} } -func (m *UpdateChannelCheckpointRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpdateChannelCheckpointRequest.Marshal(b, m, deterministic) + +func (m *PartitionImportStats) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionImportStats.Unmarshal(m, b) } -func (m *UpdateChannelCheckpointRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpdateChannelCheckpointRequest.Merge(m, src) +func (m *PartitionImportStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionImportStats.Marshal(b, m, deterministic) } -func (m *UpdateChannelCheckpointRequest) XXX_Size() int { - return xxx_messageInfo_UpdateChannelCheckpointRequest.Size(m) +func (m *PartitionImportStats) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionImportStats.Merge(m, src) } -func (m *UpdateChannelCheckpointRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UpdateChannelCheckpointRequest.DiscardUnknown(m) +func (m *PartitionImportStats) XXX_Size() int { + return xxx_messageInfo_PartitionImportStats.Size(m) +} +func (m *PartitionImportStats) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionImportStats.DiscardUnknown(m) } -var xxx_messageInfo_UpdateChannelCheckpointRequest proto.InternalMessageInfo +var xxx_messageInfo_PartitionImportStats proto.InternalMessageInfo -func (m *UpdateChannelCheckpointRequest) GetBase() *commonpb.MsgBase { +func (m *PartitionImportStats) GetPartitionRows() map[int64]int64 { if m != nil { - return m.Base + return m.PartitionRows } return nil } -func (m *UpdateChannelCheckpointRequest) GetVChannel() string { - if m != nil { - return m.VChannel - } - return "" -} - -func (m *UpdateChannelCheckpointRequest) GetPosition() *msgpb.MsgPosition { +func (m *PartitionImportStats) GetPartitionDataSize() map[int64]int64 { if m != nil { - return m.Position + return m.PartitionDataSize } return nil } -type ResendSegmentStatsRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type ImportFileStats struct { + ImportFile *internalpb.ImportFile `protobuf:"bytes,1,opt,name=import_file,json=importFile,proto3" json:"import_file,omitempty"` + FileSize int64 `protobuf:"varint,2,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"` + TotalRows int64 `protobuf:"varint,3,opt,name=total_rows,json=totalRows,proto3" json:"total_rows,omitempty"` + TotalMemorySize int64 `protobuf:"varint,4,opt,name=total_memory_size,json=totalMemorySize,proto3" json:"total_memory_size,omitempty"` + HashedStats map[string]*PartitionImportStats `protobuf:"bytes,5,rep,name=hashed_stats,json=hashedStats,proto3" json:"hashed_stats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ResendSegmentStatsRequest) Reset() { *m = ResendSegmentStatsRequest{} } -func (m *ResendSegmentStatsRequest) String() string { return proto.CompactTextString(m) } -func (*ResendSegmentStatsRequest) ProtoMessage() {} -func (*ResendSegmentStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{66} +func (m *ImportFileStats) Reset() { *m = ImportFileStats{} } +func (m *ImportFileStats) String() string { return proto.CompactTextString(m) } +func (*ImportFileStats) ProtoMessage() {} +func (*ImportFileStats) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{78} } -func (m *ResendSegmentStatsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResendSegmentStatsRequest.Unmarshal(m, b) +func (m *ImportFileStats) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportFileStats.Unmarshal(m, b) } -func (m *ResendSegmentStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResendSegmentStatsRequest.Marshal(b, m, deterministic) +func (m *ImportFileStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportFileStats.Marshal(b, m, deterministic) } -func (m *ResendSegmentStatsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResendSegmentStatsRequest.Merge(m, src) +func (m *ImportFileStats) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportFileStats.Merge(m, src) } -func (m *ResendSegmentStatsRequest) XXX_Size() int { - return xxx_messageInfo_ResendSegmentStatsRequest.Size(m) +func (m *ImportFileStats) XXX_Size() int { + return xxx_messageInfo_ImportFileStats.Size(m) } -func (m *ResendSegmentStatsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ResendSegmentStatsRequest.DiscardUnknown(m) +func (m *ImportFileStats) XXX_DiscardUnknown() { + xxx_messageInfo_ImportFileStats.DiscardUnknown(m) } -var xxx_messageInfo_ResendSegmentStatsRequest proto.InternalMessageInfo +var xxx_messageInfo_ImportFileStats proto.InternalMessageInfo -func (m *ResendSegmentStatsRequest) GetBase() *commonpb.MsgBase { +func (m *ImportFileStats) GetImportFile() *internalpb.ImportFile { if m != nil { - return m.Base + return m.ImportFile } return nil } -type ResendSegmentStatsResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - SegResent []int64 `protobuf:"varint,2,rep,packed,name=seg_resent,json=segResent,proto3" json:"seg_resent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResendSegmentStatsResponse) Reset() { *m = ResendSegmentStatsResponse{} } -func (m *ResendSegmentStatsResponse) String() string { return proto.CompactTextString(m) } -func (*ResendSegmentStatsResponse) ProtoMessage() {} -func (*ResendSegmentStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{67} +func (m *ImportFileStats) GetFileSize() int64 { + if m != nil { + return m.FileSize + } + return 0 } -func (m *ResendSegmentStatsResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResendSegmentStatsResponse.Unmarshal(m, b) -} -func (m *ResendSegmentStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResendSegmentStatsResponse.Marshal(b, m, deterministic) -} -func (m *ResendSegmentStatsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResendSegmentStatsResponse.Merge(m, src) -} -func (m *ResendSegmentStatsResponse) XXX_Size() int { - return xxx_messageInfo_ResendSegmentStatsResponse.Size(m) -} -func (m *ResendSegmentStatsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ResendSegmentStatsResponse.DiscardUnknown(m) +func (m *ImportFileStats) GetTotalRows() int64 { + if m != nil { + return m.TotalRows + } + return 0 } -var xxx_messageInfo_ResendSegmentStatsResponse proto.InternalMessageInfo - -func (m *ResendSegmentStatsResponse) GetStatus() *commonpb.Status { +func (m *ImportFileStats) GetTotalMemorySize() int64 { if m != nil { - return m.Status + return m.TotalMemorySize } - return nil + return 0 } -func (m *ResendSegmentStatsResponse) GetSegResent() []int64 { +func (m *ImportFileStats) GetHashedStats() map[string]*PartitionImportStats { if m != nil { - return m.SegResent + return m.HashedStats } return nil } -type AddImportSegmentRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - SegmentId int64 `protobuf:"varint,2,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` - ChannelName string `protobuf:"bytes,3,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` - CollectionId int64 `protobuf:"varint,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - PartitionId int64 `protobuf:"varint,5,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - RowNum int64 `protobuf:"varint,6,opt,name=row_num,json=rowNum,proto3" json:"row_num,omitempty"` - StatsLog []*FieldBinlog `protobuf:"bytes,7,rep,name=stats_log,json=statsLog,proto3" json:"stats_log,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type QueryPreImportResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + TaskID int64 `protobuf:"varint,2,opt,name=taskID,proto3" json:"taskID,omitempty"` + State ImportTaskStateV2 `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.protov2.data.ImportTaskStateV2" json:"state,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + Slots int64 `protobuf:"varint,5,opt,name=slots,proto3" json:"slots,omitempty"` + FileStats []*ImportFileStats `protobuf:"bytes,6,rep,name=file_stats,json=fileStats,proto3" json:"file_stats,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AddImportSegmentRequest) Reset() { *m = AddImportSegmentRequest{} } -func (m *AddImportSegmentRequest) String() string { return proto.CompactTextString(m) } -func (*AddImportSegmentRequest) ProtoMessage() {} -func (*AddImportSegmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{68} +func (m *QueryPreImportResponse) Reset() { *m = QueryPreImportResponse{} } +func (m *QueryPreImportResponse) String() string { return proto.CompactTextString(m) } +func (*QueryPreImportResponse) ProtoMessage() {} +func (*QueryPreImportResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{79} } -func (m *AddImportSegmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddImportSegmentRequest.Unmarshal(m, b) +func (m *QueryPreImportResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryPreImportResponse.Unmarshal(m, b) } -func (m *AddImportSegmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddImportSegmentRequest.Marshal(b, m, deterministic) +func (m *QueryPreImportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryPreImportResponse.Marshal(b, m, deterministic) } -func (m *AddImportSegmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddImportSegmentRequest.Merge(m, src) +func (m *QueryPreImportResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryPreImportResponse.Merge(m, src) } -func (m *AddImportSegmentRequest) XXX_Size() int { - return xxx_messageInfo_AddImportSegmentRequest.Size(m) +func (m *QueryPreImportResponse) XXX_Size() int { + return xxx_messageInfo_QueryPreImportResponse.Size(m) } -func (m *AddImportSegmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AddImportSegmentRequest.DiscardUnknown(m) +func (m *QueryPreImportResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryPreImportResponse.DiscardUnknown(m) } -var xxx_messageInfo_AddImportSegmentRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryPreImportResponse proto.InternalMessageInfo -func (m *AddImportSegmentRequest) GetBase() *commonpb.MsgBase { +func (m *QueryPreImportResponse) GetStatus() *commonpb.Status { if m != nil { - return m.Base + return m.Status } return nil } -func (m *AddImportSegmentRequest) GetSegmentId() int64 { +func (m *QueryPreImportResponse) GetTaskID() int64 { if m != nil { - return m.SegmentId + return m.TaskID } return 0 } -func (m *AddImportSegmentRequest) GetChannelName() string { - if m != nil { - return m.ChannelName - } - return "" -} - -func (m *AddImportSegmentRequest) GetCollectionId() int64 { +func (m *QueryPreImportResponse) GetState() ImportTaskStateV2 { if m != nil { - return m.CollectionId + return m.State } - return 0 + return ImportTaskStateV2_None } -func (m *AddImportSegmentRequest) GetPartitionId() int64 { +func (m *QueryPreImportResponse) GetReason() string { if m != nil { - return m.PartitionId + return m.Reason } - return 0 + return "" } -func (m *AddImportSegmentRequest) GetRowNum() int64 { +func (m *QueryPreImportResponse) GetSlots() int64 { if m != nil { - return m.RowNum + return m.Slots } return 0 } -func (m *AddImportSegmentRequest) GetStatsLog() []*FieldBinlog { +func (m *QueryPreImportResponse) GetFileStats() []*ImportFileStats { if m != nil { - return m.StatsLog + return m.FileStats } return nil } -type AddImportSegmentResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - ChannelPos []byte `protobuf:"bytes,2,opt,name=channel_pos,json=channelPos,proto3" json:"channel_pos,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type QueryImportRequest struct { + ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` + JobID int64 `protobuf:"varint,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` + QuerySlot bool `protobuf:"varint,4,opt,name=querySlot,proto3" json:"querySlot,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *AddImportSegmentResponse) Reset() { *m = AddImportSegmentResponse{} } -func (m *AddImportSegmentResponse) String() string { return proto.CompactTextString(m) } -func (*AddImportSegmentResponse) ProtoMessage() {} -func (*AddImportSegmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{69} +func (m *QueryImportRequest) Reset() { *m = QueryImportRequest{} } +func (m *QueryImportRequest) String() string { return proto.CompactTextString(m) } +func (*QueryImportRequest) ProtoMessage() {} +func (*QueryImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{80} } -func (m *AddImportSegmentResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddImportSegmentResponse.Unmarshal(m, b) +func (m *QueryImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryImportRequest.Unmarshal(m, b) } -func (m *AddImportSegmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddImportSegmentResponse.Marshal(b, m, deterministic) +func (m *QueryImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryImportRequest.Marshal(b, m, deterministic) } -func (m *AddImportSegmentResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddImportSegmentResponse.Merge(m, src) +func (m *QueryImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryImportRequest.Merge(m, src) } -func (m *AddImportSegmentResponse) XXX_Size() int { - return xxx_messageInfo_AddImportSegmentResponse.Size(m) +func (m *QueryImportRequest) XXX_Size() int { + return xxx_messageInfo_QueryImportRequest.Size(m) } -func (m *AddImportSegmentResponse) XXX_DiscardUnknown() { - xxx_messageInfo_AddImportSegmentResponse.DiscardUnknown(m) +func (m *QueryImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryImportRequest.DiscardUnknown(m) } -var xxx_messageInfo_AddImportSegmentResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryImportRequest proto.InternalMessageInfo -func (m *AddImportSegmentResponse) GetStatus() *commonpb.Status { +func (m *QueryImportRequest) GetClusterID() string { if m != nil { - return m.Status + return m.ClusterID } - return nil + return "" } -func (m *AddImportSegmentResponse) GetChannelPos() []byte { +func (m *QueryImportRequest) GetJobID() int64 { if m != nil { - return m.ChannelPos + return m.JobID } - return nil + return 0 } -type SaveImportSegmentRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - SegmentId int64 `protobuf:"varint,2,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` - ChannelName string `protobuf:"bytes,3,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` - CollectionId int64 `protobuf:"varint,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - PartitionId int64 `protobuf:"varint,5,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - RowNum int64 `protobuf:"varint,6,opt,name=row_num,json=rowNum,proto3" json:"row_num,omitempty"` - SaveBinlogPathReq *SaveBinlogPathsRequest `protobuf:"bytes,7,opt,name=save_binlog_path_req,json=saveBinlogPathReq,proto3" json:"save_binlog_path_req,omitempty"` - DmlPositionId []byte `protobuf:"bytes,8,opt,name=dml_position_id,json=dmlPositionId,proto3" json:"dml_position_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *QueryImportRequest) GetTaskID() int64 { + if m != nil { + return m.TaskID + } + return 0 } -func (m *SaveImportSegmentRequest) Reset() { *m = SaveImportSegmentRequest{} } -func (m *SaveImportSegmentRequest) String() string { return proto.CompactTextString(m) } -func (*SaveImportSegmentRequest) ProtoMessage() {} -func (*SaveImportSegmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{70} +func (m *QueryImportRequest) GetQuerySlot() bool { + if m != nil { + return m.QuerySlot + } + return false } -func (m *SaveImportSegmentRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SaveImportSegmentRequest.Unmarshal(m, b) -} -func (m *SaveImportSegmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SaveImportSegmentRequest.Marshal(b, m, deterministic) +type ImportSegmentInfo struct { + SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + ImportedRows int64 `protobuf:"varint,2,opt,name=imported_rows,json=importedRows,proto3" json:"imported_rows,omitempty"` + Binlogs []*FieldBinlog `protobuf:"bytes,3,rep,name=binlogs,proto3" json:"binlogs,omitempty"` + Statslogs []*FieldBinlog `protobuf:"bytes,4,rep,name=statslogs,proto3" json:"statslogs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *SaveImportSegmentRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SaveImportSegmentRequest.Merge(m, src) + +func (m *ImportSegmentInfo) Reset() { *m = ImportSegmentInfo{} } +func (m *ImportSegmentInfo) String() string { return proto.CompactTextString(m) } +func (*ImportSegmentInfo) ProtoMessage() {} +func (*ImportSegmentInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{81} } -func (m *SaveImportSegmentRequest) XXX_Size() int { - return xxx_messageInfo_SaveImportSegmentRequest.Size(m) + +func (m *ImportSegmentInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportSegmentInfo.Unmarshal(m, b) } -func (m *SaveImportSegmentRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SaveImportSegmentRequest.DiscardUnknown(m) +func (m *ImportSegmentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportSegmentInfo.Marshal(b, m, deterministic) } - -var xxx_messageInfo_SaveImportSegmentRequest proto.InternalMessageInfo - -func (m *SaveImportSegmentRequest) GetBase() *commonpb.MsgBase { - if m != nil { - return m.Base - } - return nil +func (m *ImportSegmentInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportSegmentInfo.Merge(m, src) } - -func (m *SaveImportSegmentRequest) GetSegmentId() int64 { - if m != nil { - return m.SegmentId - } - return 0 +func (m *ImportSegmentInfo) XXX_Size() int { + return xxx_messageInfo_ImportSegmentInfo.Size(m) } - -func (m *SaveImportSegmentRequest) GetChannelName() string { - if m != nil { - return m.ChannelName - } - return "" +func (m *ImportSegmentInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ImportSegmentInfo.DiscardUnknown(m) } -func (m *SaveImportSegmentRequest) GetCollectionId() int64 { - if m != nil { - return m.CollectionId - } - return 0 -} +var xxx_messageInfo_ImportSegmentInfo proto.InternalMessageInfo -func (m *SaveImportSegmentRequest) GetPartitionId() int64 { +func (m *ImportSegmentInfo) GetSegmentID() int64 { if m != nil { - return m.PartitionId + return m.SegmentID } return 0 } -func (m *SaveImportSegmentRequest) GetRowNum() int64 { +func (m *ImportSegmentInfo) GetImportedRows() int64 { if m != nil { - return m.RowNum + return m.ImportedRows } return 0 } -func (m *SaveImportSegmentRequest) GetSaveBinlogPathReq() *SaveBinlogPathsRequest { +func (m *ImportSegmentInfo) GetBinlogs() []*FieldBinlog { if m != nil { - return m.SaveBinlogPathReq + return m.Binlogs } return nil } -func (m *SaveImportSegmentRequest) GetDmlPositionId() []byte { +func (m *ImportSegmentInfo) GetStatslogs() []*FieldBinlog { if m != nil { - return m.DmlPositionId + return m.Statslogs } return nil } - -type UnsetIsImportingStateRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - SegmentIds []int64 `protobuf:"varint,2,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + +type QueryImportResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + TaskID int64 `protobuf:"varint,2,opt,name=taskID,proto3" json:"taskID,omitempty"` + State ImportTaskStateV2 `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.protov2.data.ImportTaskStateV2" json:"state,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + Slots int64 `protobuf:"varint,5,opt,name=slots,proto3" json:"slots,omitempty"` + ImportSegmentsInfo []*ImportSegmentInfo `protobuf:"bytes,6,rep,name=import_segments_info,json=importSegmentsInfo,proto3" json:"import_segments_info,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *UnsetIsImportingStateRequest) Reset() { *m = UnsetIsImportingStateRequest{} } -func (m *UnsetIsImportingStateRequest) String() string { return proto.CompactTextString(m) } -func (*UnsetIsImportingStateRequest) ProtoMessage() {} -func (*UnsetIsImportingStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{71} +func (m *QueryImportResponse) Reset() { *m = QueryImportResponse{} } +func (m *QueryImportResponse) String() string { return proto.CompactTextString(m) } +func (*QueryImportResponse) ProtoMessage() {} +func (*QueryImportResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{82} } -func (m *UnsetIsImportingStateRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UnsetIsImportingStateRequest.Unmarshal(m, b) +func (m *QueryImportResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryImportResponse.Unmarshal(m, b) } -func (m *UnsetIsImportingStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UnsetIsImportingStateRequest.Marshal(b, m, deterministic) +func (m *QueryImportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryImportResponse.Marshal(b, m, deterministic) } -func (m *UnsetIsImportingStateRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnsetIsImportingStateRequest.Merge(m, src) +func (m *QueryImportResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryImportResponse.Merge(m, src) } -func (m *UnsetIsImportingStateRequest) XXX_Size() int { - return xxx_messageInfo_UnsetIsImportingStateRequest.Size(m) +func (m *QueryImportResponse) XXX_Size() int { + return xxx_messageInfo_QueryImportResponse.Size(m) } -func (m *UnsetIsImportingStateRequest) XXX_DiscardUnknown() { - xxx_messageInfo_UnsetIsImportingStateRequest.DiscardUnknown(m) +func (m *QueryImportResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryImportResponse.DiscardUnknown(m) } -var xxx_messageInfo_UnsetIsImportingStateRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryImportResponse proto.InternalMessageInfo -func (m *UnsetIsImportingStateRequest) GetBase() *commonpb.MsgBase { +func (m *QueryImportResponse) GetStatus() *commonpb.Status { if m != nil { - return m.Base + return m.Status } return nil } -func (m *UnsetIsImportingStateRequest) GetSegmentIds() []int64 { +func (m *QueryImportResponse) GetTaskID() int64 { if m != nil { - return m.SegmentIds + return m.TaskID } - return nil -} - -type MarkSegmentsDroppedRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - SegmentIds []int64 `protobuf:"varint,2,rep,packed,name=segment_ids,json=segmentIds,proto3" json:"segment_ids,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + return 0 } -func (m *MarkSegmentsDroppedRequest) Reset() { *m = MarkSegmentsDroppedRequest{} } -func (m *MarkSegmentsDroppedRequest) String() string { return proto.CompactTextString(m) } -func (*MarkSegmentsDroppedRequest) ProtoMessage() {} -func (*MarkSegmentsDroppedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{72} +func (m *QueryImportResponse) GetState() ImportTaskStateV2 { + if m != nil { + return m.State + } + return ImportTaskStateV2_None } -func (m *MarkSegmentsDroppedRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_MarkSegmentsDroppedRequest.Unmarshal(m, b) -} -func (m *MarkSegmentsDroppedRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_MarkSegmentsDroppedRequest.Marshal(b, m, deterministic) -} -func (m *MarkSegmentsDroppedRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MarkSegmentsDroppedRequest.Merge(m, src) -} -func (m *MarkSegmentsDroppedRequest) XXX_Size() int { - return xxx_messageInfo_MarkSegmentsDroppedRequest.Size(m) -} -func (m *MarkSegmentsDroppedRequest) XXX_DiscardUnknown() { - xxx_messageInfo_MarkSegmentsDroppedRequest.DiscardUnknown(m) +func (m *QueryImportResponse) GetReason() string { + if m != nil { + return m.Reason + } + return "" } -var xxx_messageInfo_MarkSegmentsDroppedRequest proto.InternalMessageInfo - -func (m *MarkSegmentsDroppedRequest) GetBase() *commonpb.MsgBase { +func (m *QueryImportResponse) GetSlots() int64 { if m != nil { - return m.Base + return m.Slots } - return nil + return 0 } -func (m *MarkSegmentsDroppedRequest) GetSegmentIds() []int64 { +func (m *QueryImportResponse) GetImportSegmentsInfo() []*ImportSegmentInfo { if m != nil { - return m.SegmentIds + return m.ImportSegmentsInfo } return nil } -type SegmentReferenceLock struct { - TaskID int64 `protobuf:"varint,1,opt,name=taskID,proto3" json:"taskID,omitempty"` - NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` - SegmentIDs []int64 `protobuf:"varint,3,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` +type DropImportRequest struct { + ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` + JobID int64 `protobuf:"varint,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,3,opt,name=taskID,proto3" json:"taskID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *SegmentReferenceLock) Reset() { *m = SegmentReferenceLock{} } -func (m *SegmentReferenceLock) String() string { return proto.CompactTextString(m) } -func (*SegmentReferenceLock) ProtoMessage() {} -func (*SegmentReferenceLock) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{73} +func (m *DropImportRequest) Reset() { *m = DropImportRequest{} } +func (m *DropImportRequest) String() string { return proto.CompactTextString(m) } +func (*DropImportRequest) ProtoMessage() {} +func (*DropImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{83} } -func (m *SegmentReferenceLock) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SegmentReferenceLock.Unmarshal(m, b) +func (m *DropImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DropImportRequest.Unmarshal(m, b) } -func (m *SegmentReferenceLock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SegmentReferenceLock.Marshal(b, m, deterministic) +func (m *DropImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DropImportRequest.Marshal(b, m, deterministic) } -func (m *SegmentReferenceLock) XXX_Merge(src proto.Message) { - xxx_messageInfo_SegmentReferenceLock.Merge(m, src) +func (m *DropImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DropImportRequest.Merge(m, src) } -func (m *SegmentReferenceLock) XXX_Size() int { - return xxx_messageInfo_SegmentReferenceLock.Size(m) +func (m *DropImportRequest) XXX_Size() int { + return xxx_messageInfo_DropImportRequest.Size(m) } -func (m *SegmentReferenceLock) XXX_DiscardUnknown() { - xxx_messageInfo_SegmentReferenceLock.DiscardUnknown(m) +func (m *DropImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DropImportRequest.DiscardUnknown(m) } -var xxx_messageInfo_SegmentReferenceLock proto.InternalMessageInfo +var xxx_messageInfo_DropImportRequest proto.InternalMessageInfo -func (m *SegmentReferenceLock) GetTaskID() int64 { +func (m *DropImportRequest) GetClusterID() string { if m != nil { - return m.TaskID + return m.ClusterID } - return 0 + return "" } -func (m *SegmentReferenceLock) GetNodeID() int64 { +func (m *DropImportRequest) GetJobID() int64 { if m != nil { - return m.NodeID + return m.JobID } return 0 } -func (m *SegmentReferenceLock) GetSegmentIDs() []int64 { +func (m *DropImportRequest) GetTaskID() int64 { if m != nil { - return m.SegmentIDs + return m.TaskID } - return nil + return 0 } -type AlterCollectionRequest struct { - CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - Schema *schemapb.CollectionSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"` - PartitionIDs []int64 `protobuf:"varint,3,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` - StartPositions []*commonpb.KeyDataPair `protobuf:"bytes,4,rep,name=start_positions,json=startPositions,proto3" json:"start_positions,omitempty"` - Properties []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=properties,proto3" json:"properties,omitempty"` +type ImportJob struct { + JobID int64 `protobuf:"varint,1,opt,name=jobID,proto3" json:"jobID,omitempty"` + DbID int64 `protobuf:"varint,2,opt,name=dbID,proto3" json:"dbID,omitempty"` + CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + CollectionName string `protobuf:"bytes,4,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + Vchannels []string `protobuf:"bytes,6,rep,name=vchannels,proto3" json:"vchannels,omitempty"` + Schema *schemapb.CollectionSchema `protobuf:"bytes,7,opt,name=schema,proto3" json:"schema,omitempty"` + TimeoutTs uint64 `protobuf:"varint,8,opt,name=timeout_ts,json=timeoutTs,proto3" json:"timeout_ts,omitempty"` + CleanupTs uint64 `protobuf:"varint,9,opt,name=cleanup_ts,json=cleanupTs,proto3" json:"cleanup_ts,omitempty"` + RequestedDiskSize int64 `protobuf:"varint,10,opt,name=requestedDiskSize,proto3" json:"requestedDiskSize,omitempty"` + State internalpb.ImportJobState `protobuf:"varint,11,opt,name=state,proto3,enum=milvus.protov2.internal.ImportJobState" json:"state,omitempty"` + Reason string `protobuf:"bytes,12,opt,name=reason,proto3" json:"reason,omitempty"` + CompleteTime string `protobuf:"bytes,13,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` + Files []*internalpb.ImportFile `protobuf:"bytes,14,rep,name=files,proto3" json:"files,omitempty"` + Options []*commonpb.KeyValuePair `protobuf:"bytes,15,rep,name=options,proto3" json:"options,omitempty"` + StartTime string `protobuf:"bytes,16,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *AlterCollectionRequest) Reset() { *m = AlterCollectionRequest{} } -func (m *AlterCollectionRequest) String() string { return proto.CompactTextString(m) } -func (*AlterCollectionRequest) ProtoMessage() {} -func (*AlterCollectionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{74} +func (m *ImportJob) Reset() { *m = ImportJob{} } +func (m *ImportJob) String() string { return proto.CompactTextString(m) } +func (*ImportJob) ProtoMessage() {} +func (*ImportJob) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{84} } -func (m *AlterCollectionRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AlterCollectionRequest.Unmarshal(m, b) +func (m *ImportJob) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportJob.Unmarshal(m, b) } -func (m *AlterCollectionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AlterCollectionRequest.Marshal(b, m, deterministic) +func (m *ImportJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportJob.Marshal(b, m, deterministic) } -func (m *AlterCollectionRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_AlterCollectionRequest.Merge(m, src) +func (m *ImportJob) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportJob.Merge(m, src) } -func (m *AlterCollectionRequest) XXX_Size() int { - return xxx_messageInfo_AlterCollectionRequest.Size(m) +func (m *ImportJob) XXX_Size() int { + return xxx_messageInfo_ImportJob.Size(m) } -func (m *AlterCollectionRequest) XXX_DiscardUnknown() { - xxx_messageInfo_AlterCollectionRequest.DiscardUnknown(m) +func (m *ImportJob) XXX_DiscardUnknown() { + xxx_messageInfo_ImportJob.DiscardUnknown(m) } -var xxx_messageInfo_AlterCollectionRequest proto.InternalMessageInfo +var xxx_messageInfo_ImportJob proto.InternalMessageInfo -func (m *AlterCollectionRequest) GetCollectionID() int64 { +func (m *ImportJob) GetJobID() int64 { + if m != nil { + return m.JobID + } + return 0 +} + +func (m *ImportJob) GetDbID() int64 { + if m != nil { + return m.DbID + } + return 0 +} + +func (m *ImportJob) GetCollectionID() int64 { if m != nil { return m.CollectionID } return 0 } -func (m *AlterCollectionRequest) GetSchema() *schemapb.CollectionSchema { +func (m *ImportJob) GetCollectionName() string { if m != nil { - return m.Schema + return m.CollectionName } - return nil + return "" } -func (m *AlterCollectionRequest) GetPartitionIDs() []int64 { +func (m *ImportJob) GetPartitionIDs() []int64 { if m != nil { return m.PartitionIDs } return nil } -func (m *AlterCollectionRequest) GetStartPositions() []*commonpb.KeyDataPair { +func (m *ImportJob) GetVchannels() []string { if m != nil { - return m.StartPositions + return m.Vchannels } return nil } -func (m *AlterCollectionRequest) GetProperties() []*commonpb.KeyValuePair { +func (m *ImportJob) GetSchema() *schemapb.CollectionSchema { if m != nil { - return m.Properties + return m.Schema } return nil } -type GcConfirmRequest struct { - CollectionId int64 `protobuf:"varint,1,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` - PartitionId int64 `protobuf:"varint,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *ImportJob) GetTimeoutTs() uint64 { + if m != nil { + return m.TimeoutTs + } + return 0 } -func (m *GcConfirmRequest) Reset() { *m = GcConfirmRequest{} } -func (m *GcConfirmRequest) String() string { return proto.CompactTextString(m) } -func (*GcConfirmRequest) ProtoMessage() {} -func (*GcConfirmRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{75} +func (m *ImportJob) GetCleanupTs() uint64 { + if m != nil { + return m.CleanupTs + } + return 0 } -func (m *GcConfirmRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GcConfirmRequest.Unmarshal(m, b) -} -func (m *GcConfirmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GcConfirmRequest.Marshal(b, m, deterministic) +func (m *ImportJob) GetRequestedDiskSize() int64 { + if m != nil { + return m.RequestedDiskSize + } + return 0 } -func (m *GcConfirmRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GcConfirmRequest.Merge(m, src) + +func (m *ImportJob) GetState() internalpb.ImportJobState { + if m != nil { + return m.State + } + return internalpb.ImportJobState_None } -func (m *GcConfirmRequest) XXX_Size() int { - return xxx_messageInfo_GcConfirmRequest.Size(m) + +func (m *ImportJob) GetReason() string { + if m != nil { + return m.Reason + } + return "" } -func (m *GcConfirmRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GcConfirmRequest.DiscardUnknown(m) + +func (m *ImportJob) GetCompleteTime() string { + if m != nil { + return m.CompleteTime + } + return "" } -var xxx_messageInfo_GcConfirmRequest proto.InternalMessageInfo +func (m *ImportJob) GetFiles() []*internalpb.ImportFile { + if m != nil { + return m.Files + } + return nil +} -func (m *GcConfirmRequest) GetCollectionId() int64 { +func (m *ImportJob) GetOptions() []*commonpb.KeyValuePair { if m != nil { - return m.CollectionId + return m.Options } - return 0 + return nil } -func (m *GcConfirmRequest) GetPartitionId() int64 { +func (m *ImportJob) GetStartTime() string { if m != nil { - return m.PartitionId + return m.StartTime } - return 0 + return "" } -type GcConfirmResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - GcFinished bool `protobuf:"varint,2,opt,name=gc_finished,json=gcFinished,proto3" json:"gc_finished,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type PreImportTask struct { + JobID int64 `protobuf:"varint,1,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,2,opt,name=taskID,proto3" json:"taskID,omitempty"` + CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + NodeID int64 `protobuf:"varint,6,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + State ImportTaskStateV2 `protobuf:"varint,7,opt,name=state,proto3,enum=milvus.protov2.data.ImportTaskStateV2" json:"state,omitempty"` + Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"` + FileStats []*ImportFileStats `protobuf:"bytes,10,rep,name=file_stats,json=fileStats,proto3" json:"file_stats,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *GcConfirmResponse) Reset() { *m = GcConfirmResponse{} } -func (m *GcConfirmResponse) String() string { return proto.CompactTextString(m) } -func (*GcConfirmResponse) ProtoMessage() {} -func (*GcConfirmResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{76} +func (m *PreImportTask) Reset() { *m = PreImportTask{} } +func (m *PreImportTask) String() string { return proto.CompactTextString(m) } +func (*PreImportTask) ProtoMessage() {} +func (*PreImportTask) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{85} } -func (m *GcConfirmResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GcConfirmResponse.Unmarshal(m, b) +func (m *PreImportTask) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PreImportTask.Unmarshal(m, b) } -func (m *GcConfirmResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GcConfirmResponse.Marshal(b, m, deterministic) +func (m *PreImportTask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PreImportTask.Marshal(b, m, deterministic) } -func (m *GcConfirmResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_GcConfirmResponse.Merge(m, src) +func (m *PreImportTask) XXX_Merge(src proto.Message) { + xxx_messageInfo_PreImportTask.Merge(m, src) } -func (m *GcConfirmResponse) XXX_Size() int { - return xxx_messageInfo_GcConfirmResponse.Size(m) +func (m *PreImportTask) XXX_Size() int { + return xxx_messageInfo_PreImportTask.Size(m) } -func (m *GcConfirmResponse) XXX_DiscardUnknown() { - xxx_messageInfo_GcConfirmResponse.DiscardUnknown(m) +func (m *PreImportTask) XXX_DiscardUnknown() { + xxx_messageInfo_PreImportTask.DiscardUnknown(m) } -var xxx_messageInfo_GcConfirmResponse proto.InternalMessageInfo +var xxx_messageInfo_PreImportTask proto.InternalMessageInfo -func (m *GcConfirmResponse) GetStatus() *commonpb.Status { +func (m *PreImportTask) GetJobID() int64 { if m != nil { - return m.Status + return m.JobID } - return nil + return 0 } -func (m *GcConfirmResponse) GetGcFinished() bool { +func (m *PreImportTask) GetTaskID() int64 { if m != nil { - return m.GcFinished + return m.TaskID } - return false + return 0 } -type ReportDataNodeTtMsgsRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - Msgs []*msgpb.DataNodeTtMsg `protobuf:"bytes,2,rep,name=msgs,proto3" json:"msgs,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *PreImportTask) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 } -func (m *ReportDataNodeTtMsgsRequest) Reset() { *m = ReportDataNodeTtMsgsRequest{} } -func (m *ReportDataNodeTtMsgsRequest) String() string { return proto.CompactTextString(m) } -func (*ReportDataNodeTtMsgsRequest) ProtoMessage() {} -func (*ReportDataNodeTtMsgsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{77} +func (m *PreImportTask) GetNodeID() int64 { + if m != nil { + return m.NodeID + } + return 0 } -func (m *ReportDataNodeTtMsgsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Unmarshal(m, b) -} -func (m *ReportDataNodeTtMsgsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Marshal(b, m, deterministic) -} -func (m *ReportDataNodeTtMsgsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReportDataNodeTtMsgsRequest.Merge(m, src) -} -func (m *ReportDataNodeTtMsgsRequest) XXX_Size() int { - return xxx_messageInfo_ReportDataNodeTtMsgsRequest.Size(m) -} -func (m *ReportDataNodeTtMsgsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ReportDataNodeTtMsgsRequest.DiscardUnknown(m) +func (m *PreImportTask) GetState() ImportTaskStateV2 { + if m != nil { + return m.State + } + return ImportTaskStateV2_None } -var xxx_messageInfo_ReportDataNodeTtMsgsRequest proto.InternalMessageInfo - -func (m *ReportDataNodeTtMsgsRequest) GetBase() *commonpb.MsgBase { +func (m *PreImportTask) GetReason() string { if m != nil { - return m.Base + return m.Reason } - return nil + return "" } -func (m *ReportDataNodeTtMsgsRequest) GetMsgs() []*msgpb.DataNodeTtMsg { +func (m *PreImportTask) GetFileStats() []*ImportFileStats { if m != nil { - return m.Msgs + return m.FileStats } return nil } -type GetFlushStateRequest struct { - SegmentIDs []int64 `protobuf:"varint,1,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` - FlushTs uint64 `protobuf:"varint,2,opt,name=flush_ts,json=flushTs,proto3" json:"flush_ts,omitempty"` - DbName string `protobuf:"bytes,3,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` - CollectionName string `protobuf:"bytes,4,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` - CollectionID int64 `protobuf:"varint,5,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type ImportTaskV2 struct { + JobID int64 `protobuf:"varint,1,opt,name=jobID,proto3" json:"jobID,omitempty"` + TaskID int64 `protobuf:"varint,2,opt,name=taskID,proto3" json:"taskID,omitempty"` + CollectionID int64 `protobuf:"varint,3,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + SegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` + NodeID int64 `protobuf:"varint,5,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + State ImportTaskStateV2 `protobuf:"varint,6,opt,name=state,proto3,enum=milvus.protov2.data.ImportTaskStateV2" json:"state,omitempty"` + Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"` + CompleteTime string `protobuf:"bytes,8,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` + FileStats []*ImportFileStats `protobuf:"bytes,9,rep,name=file_stats,json=fileStats,proto3" json:"file_stats,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *GetFlushStateRequest) Reset() { *m = GetFlushStateRequest{} } -func (m *GetFlushStateRequest) String() string { return proto.CompactTextString(m) } -func (*GetFlushStateRequest) ProtoMessage() {} -func (*GetFlushStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{78} +func (m *ImportTaskV2) Reset() { *m = ImportTaskV2{} } +func (m *ImportTaskV2) String() string { return proto.CompactTextString(m) } +func (*ImportTaskV2) ProtoMessage() {} +func (*ImportTaskV2) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{86} } -func (m *GetFlushStateRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetFlushStateRequest.Unmarshal(m, b) +func (m *ImportTaskV2) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportTaskV2.Unmarshal(m, b) } -func (m *GetFlushStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetFlushStateRequest.Marshal(b, m, deterministic) +func (m *ImportTaskV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportTaskV2.Marshal(b, m, deterministic) } -func (m *GetFlushStateRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetFlushStateRequest.Merge(m, src) +func (m *ImportTaskV2) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportTaskV2.Merge(m, src) } -func (m *GetFlushStateRequest) XXX_Size() int { - return xxx_messageInfo_GetFlushStateRequest.Size(m) +func (m *ImportTaskV2) XXX_Size() int { + return xxx_messageInfo_ImportTaskV2.Size(m) } -func (m *GetFlushStateRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetFlushStateRequest.DiscardUnknown(m) +func (m *ImportTaskV2) XXX_DiscardUnknown() { + xxx_messageInfo_ImportTaskV2.DiscardUnknown(m) } -var xxx_messageInfo_GetFlushStateRequest proto.InternalMessageInfo +var xxx_messageInfo_ImportTaskV2 proto.InternalMessageInfo -func (m *GetFlushStateRequest) GetSegmentIDs() []int64 { +func (m *ImportTaskV2) GetJobID() int64 { if m != nil { - return m.SegmentIDs + return m.JobID } - return nil + return 0 } -func (m *GetFlushStateRequest) GetFlushTs() uint64 { +func (m *ImportTaskV2) GetTaskID() int64 { if m != nil { - return m.FlushTs + return m.TaskID } return 0 } -func (m *GetFlushStateRequest) GetDbName() string { +func (m *ImportTaskV2) GetCollectionID() int64 { if m != nil { - return m.DbName + return m.CollectionID } - return "" + return 0 } -func (m *GetFlushStateRequest) GetCollectionName() string { +func (m *ImportTaskV2) GetSegmentIDs() []int64 { if m != nil { - return m.CollectionName + return m.SegmentIDs } - return "" + return nil } -func (m *GetFlushStateRequest) GetCollectionID() int64 { +func (m *ImportTaskV2) GetNodeID() int64 { if m != nil { - return m.CollectionID + return m.NodeID } return 0 } -type ChannelOperationsRequest struct { - Infos []*ChannelWatchInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +func (m *ImportTaskV2) GetState() ImportTaskStateV2 { + if m != nil { + return m.State + } + return ImportTaskStateV2_None } -func (m *ChannelOperationsRequest) Reset() { *m = ChannelOperationsRequest{} } -func (m *ChannelOperationsRequest) String() string { return proto.CompactTextString(m) } -func (*ChannelOperationsRequest) ProtoMessage() {} -func (*ChannelOperationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{79} +func (m *ImportTaskV2) GetReason() string { + if m != nil { + return m.Reason + } + return "" } -func (m *ChannelOperationsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ChannelOperationsRequest.Unmarshal(m, b) -} -func (m *ChannelOperationsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ChannelOperationsRequest.Marshal(b, m, deterministic) -} -func (m *ChannelOperationsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ChannelOperationsRequest.Merge(m, src) -} -func (m *ChannelOperationsRequest) XXX_Size() int { - return xxx_messageInfo_ChannelOperationsRequest.Size(m) -} -func (m *ChannelOperationsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_ChannelOperationsRequest.DiscardUnknown(m) +func (m *ImportTaskV2) GetCompleteTime() string { + if m != nil { + return m.CompleteTime + } + return "" } -var xxx_messageInfo_ChannelOperationsRequest proto.InternalMessageInfo - -func (m *ChannelOperationsRequest) GetInfos() []*ChannelWatchInfo { +func (m *ImportTaskV2) GetFileStats() []*ImportFileStats { if m != nil { - return m.Infos + return m.FileStats } return nil } -type ChannelOperationProgressResponse struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - OpID int64 `protobuf:"varint,2,opt,name=opID,proto3" json:"opID,omitempty"` - State ChannelWatchState `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.protov2.data.ChannelWatchState" json:"state,omitempty"` - Progress int32 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type GcControlRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + Command GcCommand `protobuf:"varint,2,opt,name=command,proto3,enum=milvus.protov2.data.GcCommand" json:"command,omitempty"` + Params []*commonpb.KeyValuePair `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *ChannelOperationProgressResponse) Reset() { *m = ChannelOperationProgressResponse{} } -func (m *ChannelOperationProgressResponse) String() string { return proto.CompactTextString(m) } -func (*ChannelOperationProgressResponse) ProtoMessage() {} -func (*ChannelOperationProgressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_82cd95f524594f49, []int{80} +func (m *GcControlRequest) Reset() { *m = GcControlRequest{} } +func (m *GcControlRequest) String() string { return proto.CompactTextString(m) } +func (*GcControlRequest) ProtoMessage() {} +func (*GcControlRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_82cd95f524594f49, []int{87} } -func (m *ChannelOperationProgressResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ChannelOperationProgressResponse.Unmarshal(m, b) +func (m *GcControlRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GcControlRequest.Unmarshal(m, b) } -func (m *ChannelOperationProgressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ChannelOperationProgressResponse.Marshal(b, m, deterministic) +func (m *GcControlRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GcControlRequest.Marshal(b, m, deterministic) } -func (m *ChannelOperationProgressResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ChannelOperationProgressResponse.Merge(m, src) +func (m *GcControlRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GcControlRequest.Merge(m, src) } -func (m *ChannelOperationProgressResponse) XXX_Size() int { - return xxx_messageInfo_ChannelOperationProgressResponse.Size(m) +func (m *GcControlRequest) XXX_Size() int { + return xxx_messageInfo_GcControlRequest.Size(m) } -func (m *ChannelOperationProgressResponse) XXX_DiscardUnknown() { - xxx_messageInfo_ChannelOperationProgressResponse.DiscardUnknown(m) +func (m *GcControlRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GcControlRequest.DiscardUnknown(m) } -var xxx_messageInfo_ChannelOperationProgressResponse proto.InternalMessageInfo +var xxx_messageInfo_GcControlRequest proto.InternalMessageInfo -func (m *ChannelOperationProgressResponse) GetStatus() *commonpb.Status { +func (m *GcControlRequest) GetBase() *commonpb.MsgBase { if m != nil { - return m.Status + return m.Base } return nil } -func (m *ChannelOperationProgressResponse) GetOpID() int64 { - if m != nil { - return m.OpID - } - return 0 -} - -func (m *ChannelOperationProgressResponse) GetState() ChannelWatchState { +func (m *GcControlRequest) GetCommand() GcCommand { if m != nil { - return m.State + return m.Command } - return ChannelWatchState_Uncomplete + return GcCommand__ } -func (m *ChannelOperationProgressResponse) GetProgress() int32 { +func (m *GcControlRequest) GetParams() []*commonpb.KeyValuePair { if m != nil { - return m.Progress + return m.Params } - return 0 + return nil } func init() { @@ -5373,9 +6049,12 @@ func init() { proto.RegisterEnum("milvus.protov2.data.SegmentLevel", SegmentLevel_name, SegmentLevel_value) proto.RegisterEnum("milvus.protov2.data.ChannelWatchState", ChannelWatchState_name, ChannelWatchState_value) proto.RegisterEnum("milvus.protov2.data.CompactionType", CompactionType_name, CompactionType_value) + proto.RegisterEnum("milvus.protov2.data.ImportTaskStateV2", ImportTaskStateV2_name, ImportTaskStateV2_value) + proto.RegisterEnum("milvus.protov2.data.GcCommand", GcCommand_name, GcCommand_value) proto.RegisterType((*Empty)(nil), "milvus.protov2.data.Empty") proto.RegisterType((*FlushRequest)(nil), "milvus.protov2.data.FlushRequest") proto.RegisterType((*FlushResponse)(nil), "milvus.protov2.data.FlushResponse") + proto.RegisterMapType((map[string]*msgpb.MsgPosition)(nil), "milvus.protov2.data.FlushResponse.ChannelCpsEntry") proto.RegisterType((*FlushChannelsRequest)(nil), "milvus.protov2.data.FlushChannelsRequest") proto.RegisterType((*SegmentIDRequest)(nil), "milvus.protov2.data.SegmentIDRequest") proto.RegisterType((*AssignSegmentIDRequest)(nil), "milvus.protov2.data.AssignSegmentIDRequest") @@ -5433,19 +6112,10 @@ func init() { proto.RegisterType((*DropVirtualChannelRequest)(nil), "milvus.protov2.data.DropVirtualChannelRequest") proto.RegisterType((*DropVirtualChannelSegment)(nil), "milvus.protov2.data.DropVirtualChannelSegment") proto.RegisterType((*DropVirtualChannelResponse)(nil), "milvus.protov2.data.DropVirtualChannelResponse") - proto.RegisterType((*ImportTask)(nil), "milvus.protov2.data.ImportTask") - proto.RegisterType((*ImportTaskState)(nil), "milvus.protov2.data.ImportTaskState") - proto.RegisterType((*ImportTaskInfo)(nil), "milvus.protov2.data.ImportTaskInfo") - proto.RegisterType((*ImportTaskResponse)(nil), "milvus.protov2.data.ImportTaskResponse") - proto.RegisterType((*ImportTaskRequest)(nil), "milvus.protov2.data.ImportTaskRequest") proto.RegisterType((*UpdateSegmentStatisticsRequest)(nil), "milvus.protov2.data.UpdateSegmentStatisticsRequest") proto.RegisterType((*UpdateChannelCheckpointRequest)(nil), "milvus.protov2.data.UpdateChannelCheckpointRequest") proto.RegisterType((*ResendSegmentStatsRequest)(nil), "milvus.protov2.data.ResendSegmentStatsRequest") proto.RegisterType((*ResendSegmentStatsResponse)(nil), "milvus.protov2.data.ResendSegmentStatsResponse") - proto.RegisterType((*AddImportSegmentRequest)(nil), "milvus.protov2.data.AddImportSegmentRequest") - proto.RegisterType((*AddImportSegmentResponse)(nil), "milvus.protov2.data.AddImportSegmentResponse") - proto.RegisterType((*SaveImportSegmentRequest)(nil), "milvus.protov2.data.SaveImportSegmentRequest") - proto.RegisterType((*UnsetIsImportingStateRequest)(nil), "milvus.protov2.data.UnsetIsImportingStateRequest") proto.RegisterType((*MarkSegmentsDroppedRequest)(nil), "milvus.protov2.data.MarkSegmentsDroppedRequest") proto.RegisterType((*SegmentReferenceLock)(nil), "milvus.protov2.data.SegmentReferenceLock") proto.RegisterType((*AlterCollectionRequest)(nil), "milvus.protov2.data.AlterCollectionRequest") @@ -5455,338 +6125,398 @@ func init() { proto.RegisterType((*GetFlushStateRequest)(nil), "milvus.protov2.data.GetFlushStateRequest") proto.RegisterType((*ChannelOperationsRequest)(nil), "milvus.protov2.data.ChannelOperationsRequest") proto.RegisterType((*ChannelOperationProgressResponse)(nil), "milvus.protov2.data.ChannelOperationProgressResponse") + proto.RegisterType((*PreImportRequest)(nil), "milvus.protov2.data.PreImportRequest") + proto.RegisterType((*AutoIDRange)(nil), "milvus.protov2.data.autoIDRange") + proto.RegisterType((*ImportRequestSegment)(nil), "milvus.protov2.data.ImportRequestSegment") + proto.RegisterType((*ImportRequest)(nil), "milvus.protov2.data.ImportRequest") + proto.RegisterType((*QueryPreImportRequest)(nil), "milvus.protov2.data.QueryPreImportRequest") + proto.RegisterType((*PartitionImportStats)(nil), "milvus.protov2.data.PartitionImportStats") + proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.data.PartitionImportStats.PartitionDataSizeEntry") + proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.data.PartitionImportStats.PartitionRowsEntry") + proto.RegisterType((*ImportFileStats)(nil), "milvus.protov2.data.ImportFileStats") + proto.RegisterMapType((map[string]*PartitionImportStats)(nil), "milvus.protov2.data.ImportFileStats.HashedStatsEntry") + proto.RegisterType((*QueryPreImportResponse)(nil), "milvus.protov2.data.QueryPreImportResponse") + proto.RegisterType((*QueryImportRequest)(nil), "milvus.protov2.data.QueryImportRequest") + proto.RegisterType((*ImportSegmentInfo)(nil), "milvus.protov2.data.ImportSegmentInfo") + proto.RegisterType((*QueryImportResponse)(nil), "milvus.protov2.data.QueryImportResponse") + proto.RegisterType((*DropImportRequest)(nil), "milvus.protov2.data.DropImportRequest") + proto.RegisterType((*ImportJob)(nil), "milvus.protov2.data.ImportJob") + proto.RegisterType((*PreImportTask)(nil), "milvus.protov2.data.PreImportTask") + proto.RegisterType((*ImportTaskV2)(nil), "milvus.protov2.data.ImportTaskV2") + proto.RegisterType((*GcControlRequest)(nil), "milvus.protov2.data.GcControlRequest") } func init() { proto.RegisterFile("data_coord.proto", fileDescriptor_82cd95f524594f49) } var fileDescriptor_82cd95f524594f49 = []byte{ - // 5201 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x3c, 0x5b, 0x6c, 0x1c, 0xd7, - 0x75, 0x9a, 0x7d, 0x71, 0xf7, 0xec, 0x72, 0xb9, 0xbc, 0xa2, 0xa9, 0xd5, 0xca, 0x7a, 0x78, 0x1c, - 0xc9, 0x92, 0x6c, 0x4b, 0x32, 0x1d, 0xd7, 0x8d, 0x1d, 0xdb, 0x11, 0x49, 0x4b, 0x65, 0x2c, 0xca, - 0xec, 0x90, 0x92, 0xdb, 0x24, 0xe8, 0x62, 0xb8, 0x73, 0xb9, 0x1c, 0x73, 0x76, 0x66, 0x35, 0x33, - 0x4b, 0x8a, 0x6e, 0x8a, 0xa2, 0x4e, 0xd3, 0x16, 0x41, 0x5f, 0x48, 0xd1, 0x06, 0xfd, 0xed, 0x47, - 0xbf, 0xd2, 0x04, 0x68, 0x80, 0xf6, 0xa3, 0x40, 0x9b, 0xa2, 0x05, 0x0a, 0xa4, 0x40, 0xfb, 0xd1, - 0xbf, 0xa2, 0x3f, 0xfd, 0x2a, 0xfa, 0xdb, 0x9f, 0x7e, 0xb6, 0xb8, 0x8f, 0xb9, 0x73, 0xe7, 0xb5, - 0x3b, 0xcb, 0xa5, 0xa2, 0x8f, 0x7c, 0x91, 0x73, 0xe7, 0x9c, 0xfb, 0x38, 0xf7, 0xbc, 0xcf, 0x99, - 0x85, 0x96, 0xa1, 0xfb, 0x7a, 0xb7, 0xe7, 0x38, 0xae, 0x71, 0x6b, 0xe8, 0x3a, 0xbe, 0x83, 0xce, - 0x0e, 0x4c, 0xeb, 0x70, 0xe4, 0xb1, 0xa7, 0xc3, 0x95, 0x5b, 0x04, 0xa0, 0xd3, 0xe8, 0x39, 0x83, - 0x81, 0x63, 0xb3, 0xc1, 0x4e, 0xd3, 0xb4, 0x7d, 0xec, 0xda, 0xba, 0xc5, 0x9f, 0x1b, 0x32, 0x4a, - 0xa7, 0xe1, 0xf5, 0xf6, 0xf1, 0x40, 0xe7, 0x4f, 0xb5, 0x81, 0xd7, 0xe7, 0xff, 0x2e, 0x9a, 0xb6, - 0x81, 0x9f, 0xca, 0x8b, 0xa9, 0x73, 0x50, 0xfe, 0x70, 0x30, 0xf4, 0x8f, 0xd5, 0xbf, 0x52, 0xa0, - 0x71, 0xcf, 0x1a, 0x79, 0xfb, 0x1a, 0x7e, 0x32, 0xc2, 0x9e, 0x8f, 0x56, 0xa0, 0xb4, 0xab, 0x7b, - 0xb8, 0xad, 0x5c, 0x51, 0xae, 0xd7, 0x57, 0x2e, 0xdd, 0x8a, 0xed, 0x8a, 0xef, 0x67, 0xd3, 0xeb, - 0xaf, 0xea, 0x1e, 0xd6, 0x28, 0x2c, 0x42, 0x50, 0x32, 0x76, 0x37, 0xd6, 0xdb, 0x85, 0x2b, 0xca, - 0xf5, 0xa2, 0x46, 0xff, 0x47, 0x97, 0x00, 0x3c, 0xdc, 0x1f, 0x60, 0xdb, 0xdf, 0x58, 0xf7, 0xda, - 0xc5, 0x2b, 0xc5, 0xeb, 0x45, 0x4d, 0x1a, 0x41, 0x2a, 0x34, 0x7a, 0x8e, 0x65, 0xe1, 0x9e, 0x6f, - 0x3a, 0xf6, 0xc6, 0x7a, 0xbb, 0x44, 0x71, 0x23, 0x63, 0xa8, 0x03, 0x55, 0xd3, 0xdb, 0x18, 0x0c, - 0x1d, 0xd7, 0x6f, 0x97, 0xaf, 0x28, 0xd7, 0xab, 0x9a, 0x78, 0x56, 0xbf, 0x55, 0x80, 0x79, 0xbe, - 0x71, 0x6f, 0xe8, 0xd8, 0x1e, 0x46, 0x6f, 0x41, 0xc5, 0xf3, 0x75, 0x7f, 0xe4, 0xf1, 0xbd, 0x5f, - 0xcc, 0xd8, 0xfb, 0x36, 0x05, 0xd2, 0x38, 0x70, 0xea, 0xe6, 0xe3, 0x9b, 0x2b, 0xa6, 0x6c, 0x2e, - 0x7a, 0xc0, 0x52, 0xe2, 0x80, 0xd7, 0x61, 0x61, 0x8f, 0xec, 0x6f, 0x3b, 0x04, 0x2a, 0x53, 0xa0, - 0xf8, 0x30, 0x99, 0xc9, 0x37, 0x07, 0xf8, 0xe3, 0xbd, 0x6d, 0xac, 0x5b, 0xed, 0x0a, 0x5d, 0x4b, - 0x1a, 0x41, 0xe7, 0xa1, 0x4a, 0x51, 0xba, 0xbe, 0xd7, 0x9e, 0xbb, 0xa2, 0x5c, 0x2f, 0x69, 0x73, - 0xf4, 0x79, 0xc7, 0x53, 0x7f, 0x43, 0x81, 0x25, 0x4a, 0x85, 0xb5, 0x7d, 0xdd, 0xb6, 0xb1, 0xe5, - 0xcd, 0x72, 0x8d, 0xf2, 0x3a, 0x85, 0xc8, 0x3a, 0xe4, 0x26, 0x7a, 0x7c, 0x05, 0x7a, 0x97, 0x35, - 0x4d, 0x3c, 0xab, 0xdf, 0x29, 0x40, 0x4b, 0x9c, 0x26, 0x58, 0x7f, 0x09, 0xca, 0x3d, 0x67, 0x64, - 0xfb, 0x74, 0x03, 0xf3, 0x1a, 0x7b, 0x40, 0x2f, 0x41, 0x83, 0xa3, 0x75, 0x6d, 0x7d, 0x80, 0xe9, - 0x2a, 0x35, 0xad, 0xce, 0xc7, 0x1e, 0xea, 0x03, 0x9c, 0x8b, 0xf4, 0x57, 0xa0, 0x3e, 0xd4, 0x5d, - 0xdf, 0x8c, 0xb0, 0x8e, 0x3c, 0x34, 0x8e, 0x73, 0xc8, 0x0a, 0x26, 0xfd, 0x6f, 0x47, 0xf7, 0x0e, - 0x36, 0xd6, 0x39, 0xc1, 0x23, 0x63, 0xe8, 0x6d, 0x28, 0x5b, 0xf8, 0x10, 0x5b, 0x94, 0xde, 0xcd, - 0x95, 0x97, 0x6e, 0xa5, 0x08, 0xe7, 0x2d, 0x7e, 0xe8, 0x07, 0x04, 0x50, 0x63, 0xf0, 0xea, 0x9f, - 0x29, 0xb0, 0x7c, 0xd7, 0xf3, 0xcc, 0xbe, 0x9d, 0x20, 0xc9, 0x32, 0x54, 0x6c, 0xc7, 0xc0, 0x1b, - 0xeb, 0x94, 0x26, 0x45, 0x8d, 0x3f, 0xa1, 0x0b, 0x50, 0x1b, 0x62, 0xec, 0x76, 0x5d, 0xc7, 0x0a, - 0x28, 0x52, 0x25, 0x03, 0x9a, 0x63, 0x61, 0xb4, 0x0d, 0x8b, 0x5e, 0x6c, 0x22, 0x76, 0x03, 0xf5, - 0x95, 0xab, 0xe3, 0x36, 0x25, 0xa0, 0xb5, 0x24, 0xbe, 0xfa, 0x79, 0x01, 0xce, 0x0a, 0x38, 0xb6, - 0x5b, 0xf2, 0x3f, 0xb9, 0x34, 0x0f, 0xf7, 0xc5, 0x06, 0xd9, 0x43, 0x9e, 0x4b, 0x13, 0xb7, 0x5d, - 0x94, 0x6f, 0x3b, 0x8f, 0x88, 0xc7, 0xae, 0xb2, 0x9c, 0xbc, 0xca, 0xcb, 0x50, 0xc7, 0x4f, 0x87, - 0xa6, 0x8b, 0xbb, 0x44, 0x24, 0xe8, 0x6d, 0x95, 0x34, 0x60, 0x43, 0x3b, 0xe6, 0x40, 0x96, 0xfb, - 0xb9, 0x29, 0xe4, 0x5e, 0xfd, 0x73, 0x05, 0xce, 0x25, 0x6e, 0x8a, 0xab, 0x92, 0x1d, 0x68, 0xd1, - 0xb3, 0x87, 0xb4, 0x21, 0x4a, 0x85, 0x10, 0xfd, 0xfa, 0x78, 0xa2, 0x87, 0x08, 0x5a, 0x62, 0x06, - 0x69, 0xa3, 0x85, 0x69, 0x36, 0x3a, 0x80, 0x73, 0xf7, 0xb1, 0xcf, 0x97, 0x20, 0xef, 0xf0, 0x4c, - 0x52, 0x1e, 0xd5, 0x5b, 0x85, 0xb8, 0xde, 0x52, 0x7f, 0x10, 0x8a, 0x33, 0x5d, 0x6c, 0xc3, 0xde, - 0x73, 0xd0, 0x8b, 0x50, 0x13, 0x20, 0x9c, 0x3b, 0xc2, 0x01, 0xf4, 0x25, 0x28, 0x93, 0xbd, 0x32, - 0xd6, 0x68, 0xae, 0xbc, 0x9c, 0x75, 0x2e, 0x69, 0x56, 0x8d, 0x61, 0xa0, 0x7b, 0xd0, 0xf4, 0x7c, - 0xdd, 0xf5, 0xbb, 0x43, 0xc7, 0xa3, 0x37, 0x4e, 0x59, 0xa8, 0xbe, 0x72, 0x39, 0x3e, 0x07, 0x31, - 0x67, 0x9b, 0x5e, 0x7f, 0x8b, 0x83, 0x69, 0xf3, 0x14, 0x2d, 0x78, 0x44, 0xab, 0xd0, 0xc0, 0xb6, - 0x11, 0xce, 0x52, 0xca, 0x37, 0x4b, 0x1d, 0xdb, 0x86, 0x98, 0x23, 0xbc, 0x9f, 0xf2, 0x34, 0xf7, - 0xf3, 0x87, 0x0a, 0xb4, 0x93, 0x17, 0x34, 0x9b, 0x51, 0x7a, 0x8f, 0xa1, 0x61, 0x76, 0x41, 0x13, - 0x64, 0x5d, 0x5c, 0x93, 0xc6, 0x91, 0xd4, 0xef, 0x29, 0xf0, 0x42, 0xb8, 0x25, 0xfa, 0xea, 0xd9, - 0x71, 0x0c, 0xba, 0x09, 0x2d, 0xd3, 0xee, 0x59, 0x23, 0x03, 0x3f, 0xb2, 0x7f, 0x01, 0xeb, 0x96, - 0xbf, 0x7f, 0x4c, 0x6f, 0xb1, 0xaa, 0x25, 0xc6, 0xd5, 0xff, 0x2c, 0xc0, 0x72, 0x7c, 0x67, 0xb3, - 0x91, 0xea, 0xe7, 0xa0, 0x6c, 0xda, 0x7b, 0x4e, 0x40, 0xa9, 0x2b, 0x63, 0x05, 0x94, 0xac, 0xc7, - 0xc0, 0xd1, 0x13, 0x40, 0x81, 0x5a, 0xeb, 0xed, 0xe3, 0xde, 0xc1, 0xd0, 0x31, 0xa9, 0x02, 0x23, - 0x93, 0xac, 0xa6, 0x4e, 0x92, 0xbe, 0xef, 0x5b, 0xdc, 0xf4, 0xae, 0x89, 0x49, 0x3e, 0xb4, 0x7d, - 0xf7, 0x58, 0x5b, 0xec, 0xc5, 0xc7, 0x3b, 0x18, 0x96, 0xd3, 0x81, 0x51, 0x0b, 0x8a, 0x07, 0xf8, - 0x98, 0x1e, 0xbc, 0xa6, 0x91, 0x7f, 0xd1, 0x5b, 0x50, 0x3e, 0xd4, 0xad, 0x11, 0xe6, 0xba, 0x62, - 0x22, 0x27, 0x33, 0xe8, 0x77, 0x0a, 0x3f, 0xaf, 0xa8, 0x0e, 0x5c, 0xb8, 0x8f, 0xfd, 0x0d, 0xdb, - 0xc3, 0xae, 0xbf, 0x6a, 0xda, 0x96, 0xd3, 0xdf, 0xd2, 0xfd, 0xfd, 0x99, 0x94, 0x46, 0x44, 0xfe, - 0x0b, 0x31, 0xf9, 0x57, 0xbf, 0xaf, 0xc0, 0x8b, 0xe9, 0x2b, 0xf2, 0xab, 0xed, 0x40, 0x75, 0xcf, - 0xc4, 0x96, 0x41, 0xf8, 0x47, 0xa1, 0xfc, 0x23, 0x9e, 0x89, 0xf2, 0x18, 0x12, 0x60, 0x7e, 0x7f, - 0x09, 0xe5, 0x21, 0x7c, 0xde, 0x6d, 0xdf, 0x35, 0xed, 0xfe, 0x03, 0xd3, 0xf3, 0x35, 0x86, 0x21, - 0x71, 0x4c, 0x71, 0x1a, 0x81, 0xfd, 0x5d, 0x05, 0x2e, 0xdd, 0xc7, 0xfe, 0x9a, 0xb0, 0x43, 0xe4, - 0xbd, 0xe9, 0xf9, 0x66, 0xcf, 0x3b, 0x6d, 0x2f, 0x38, 0x87, 0x37, 0xa3, 0xfe, 0x91, 0x02, 0x97, - 0x33, 0xb7, 0xc3, 0x09, 0xc8, 0x35, 0x6c, 0x60, 0x85, 0xb2, 0x34, 0xec, 0x47, 0xf8, 0xf8, 0x31, - 0x61, 0x83, 0x2d, 0xdd, 0x74, 0x99, 0x86, 0x3d, 0xb1, 0xd5, 0xf9, 0xa1, 0x02, 0x17, 0xef, 0x63, - 0x7f, 0x2b, 0xb0, 0xc4, 0xcf, 0x95, 0x46, 0x04, 0x46, 0xf2, 0x09, 0x02, 0x77, 0x3b, 0x32, 0xa6, - 0x7e, 0x97, 0x5d, 0x6b, 0xea, 0x8e, 0x9f, 0x1b, 0x19, 0x2f, 0x51, 0xc9, 0x90, 0xd4, 0x06, 0x57, - 0x00, 0x9c, 0x88, 0xea, 0xef, 0x97, 0xa1, 0xf1, 0x98, 0x6b, 0x0a, 0x6a, 0x69, 0xe3, 0xd4, 0x50, - 0xd2, 0x9d, 0x26, 0xc9, 0xfb, 0x4a, 0x73, 0xc8, 0xd6, 0x61, 0xde, 0xc3, 0xf8, 0x60, 0x6a, 0xab, - 0xda, 0x20, 0x58, 0xc2, 0x20, 0x3e, 0x84, 0xc5, 0x91, 0x4d, 0x43, 0x00, 0x6c, 0xf0, 0x23, 0x30, - 0xd2, 0xe7, 0x51, 0xb3, 0x49, 0x54, 0xf4, 0x55, 0x1e, 0x12, 0x49, 0xb3, 0x95, 0x73, 0xce, 0x16, - 0x47, 0x44, 0x1f, 0x41, 0xcb, 0x70, 0x9d, 0xe1, 0x10, 0x1b, 0x5d, 0x2f, 0x98, 0xac, 0x92, 0x77, - 0x32, 0x8e, 0x29, 0x26, 0xbb, 0x03, 0x67, 0xe3, 0xbb, 0xdd, 0x30, 0x88, 0x3f, 0x49, 0xb8, 0x2c, - 0xed, 0x15, 0x7a, 0x0d, 0x16, 0x93, 0xf0, 0x55, 0x0a, 0x9f, 0x7c, 0x81, 0x5e, 0x07, 0x14, 0xdb, - 0x2c, 0x01, 0xaf, 0x31, 0xf0, 0xe8, 0x66, 0x38, 0x38, 0x0d, 0xd9, 0xa3, 0xe0, 0xc0, 0xc0, 0xf9, - 0x1b, 0x09, 0xfc, 0x23, 0x62, 0x7f, 0x23, 0xe0, 0x5e, 0xbb, 0x9e, 0x97, 0x14, 0xd1, 0xe9, 0x3c, - 0xf5, 0xf7, 0x14, 0x58, 0xfe, 0x44, 0xf7, 0x7b, 0xfb, 0xeb, 0x83, 0xd3, 0x88, 0x29, 0x3f, 0x80, - 0xda, 0xa1, 0x88, 0x1c, 0x99, 0x86, 0x4f, 0x0f, 0xa6, 0x64, 0x21, 0xd0, 0x42, 0x1c, 0xf5, 0x1f, - 0x83, 0x08, 0x37, 0xd8, 0xe1, 0xf3, 0x50, 0x3f, 0x93, 0x62, 0xfd, 0x98, 0x40, 0x96, 0x13, 0x02, - 0xa9, 0x7e, 0x13, 0x80, 0x1f, 0x60, 0xd3, 0xeb, 0x9f, 0x68, 0xef, 0xef, 0xc0, 0x1c, 0x5f, 0x91, - 0x6b, 0xa0, 0xc9, 0x97, 0x1b, 0x20, 0xa8, 0xdf, 0x9f, 0x83, 0xba, 0xf4, 0x02, 0x35, 0xa1, 0x20, - 0x54, 0x4b, 0x21, 0x85, 0x06, 0x85, 0xc9, 0x91, 0x5a, 0x31, 0x19, 0xa9, 0x5d, 0x85, 0xa6, 0x49, - 0x5d, 0x80, 0x2e, 0x3f, 0x39, 0xf5, 0xc2, 0x6b, 0xda, 0x3c, 0x1b, 0xe5, 0xec, 0x84, 0x2e, 0x41, - 0xdd, 0x1e, 0x0d, 0xba, 0xce, 0x5e, 0xd7, 0x75, 0x8e, 0x3c, 0x1e, 0xf2, 0xd5, 0xec, 0xd1, 0xe0, - 0xe3, 0x3d, 0xcd, 0x39, 0xf2, 0xc2, 0x68, 0xa2, 0x32, 0x75, 0x34, 0x71, 0x09, 0xea, 0x03, 0xfd, - 0x29, 0x99, 0xb7, 0x6b, 0x8f, 0x06, 0x34, 0x1e, 0x2c, 0x6a, 0xb5, 0x81, 0xfe, 0x54, 0x73, 0x8e, - 0x1e, 0x8e, 0x06, 0xe8, 0x3a, 0xb4, 0x2c, 0xdd, 0xf3, 0xbb, 0x72, 0x40, 0x59, 0xa5, 0x01, 0x65, - 0x93, 0x8c, 0x7f, 0x18, 0x06, 0x95, 0xc9, 0xb8, 0xa4, 0x76, 0xd2, 0xb8, 0xc4, 0x18, 0x58, 0xe1, - 0x2c, 0x90, 0x33, 0x2e, 0x31, 0x06, 0x96, 0x98, 0xe3, 0x1d, 0x98, 0xdb, 0xa5, 0x4e, 0xd5, 0x78, - 0xb1, 0xbe, 0x47, 0x3c, 0x2a, 0xe6, 0x7d, 0x69, 0x01, 0x02, 0x7a, 0x1f, 0x6a, 0xd4, 0x7e, 0x51, - 0xec, 0x46, 0x4e, 0xec, 0x10, 0x85, 0xe0, 0x1b, 0xd8, 0xf2, 0x75, 0x8a, 0x3f, 0x9f, 0x17, 0x5f, - 0xa0, 0x10, 0xcd, 0xda, 0x73, 0xb1, 0xee, 0x63, 0x63, 0xf5, 0x78, 0xcd, 0x19, 0x0c, 0x75, 0xca, - 0x4e, 0xed, 0x26, 0x0d, 0x0f, 0xd2, 0x5e, 0xa1, 0x6b, 0xd0, 0xec, 0x89, 0xa7, 0x7b, 0xae, 0x33, - 0x68, 0x2f, 0x50, 0x79, 0x8b, 0x8d, 0xa2, 0x8b, 0x00, 0x81, 0x4e, 0xd5, 0xfd, 0x76, 0x8b, 0xde, - 0x62, 0x8d, 0x8f, 0xdc, 0xa5, 0xa9, 0x26, 0xd3, 0xeb, 0xb2, 0xa4, 0x8e, 0x69, 0xf7, 0xdb, 0x8b, - 0x74, 0xc5, 0x7a, 0x90, 0x05, 0x32, 0xed, 0x3e, 0x3a, 0x07, 0x73, 0xa6, 0xd7, 0xdd, 0xd3, 0x0f, - 0x70, 0x1b, 0xd1, 0xb7, 0x15, 0xd3, 0xbb, 0xa7, 0x1f, 0x50, 0x6f, 0x97, 0x2f, 0x86, 0x8d, 0xf6, - 0x59, 0xfa, 0x2a, 0x1c, 0x08, 0x73, 0x43, 0x4b, 0xd3, 0xe5, 0x86, 0xd0, 0x2b, 0xb0, 0xe0, 0xf9, - 0x8e, 0xab, 0xf7, 0x71, 0xf7, 0x10, 0xbb, 0x1e, 0xa1, 0xc3, 0x0b, 0x94, 0x43, 0x9b, 0x7c, 0xf8, - 0x31, 0x1b, 0x55, 0xbf, 0x09, 0x4b, 0x21, 0x77, 0x4b, 0xcc, 0x94, 0x64, 0x4a, 0xe5, 0x44, 0x4c, - 0x39, 0xde, 0x9b, 0xff, 0xbf, 0x32, 0x2c, 0x6f, 0xeb, 0x87, 0xf8, 0xa7, 0x11, 0x3a, 0xe4, 0xd2, - 0xbe, 0x0f, 0x61, 0x91, 0x46, 0x0b, 0x2b, 0xd2, 0x8e, 0xc6, 0xba, 0x21, 0x32, 0x2f, 0x26, 0x51, - 0xd1, 0x5d, 0xa2, 0xad, 0x71, 0xef, 0x60, 0x8b, 0xc4, 0x5f, 0x81, 0x0b, 0x72, 0x39, 0x75, 0xa6, - 0x35, 0x01, 0xa7, 0xc9, 0x38, 0x48, 0x23, 0x57, 0x29, 0xdf, 0x44, 0xe0, 0x7c, 0xdc, 0x98, 0x10, - 0xa8, 0x87, 0xb7, 0xa0, 0x35, 0x23, 0x97, 0xe2, 0xa1, 0x36, 0xcc, 0x71, 0xcf, 0x81, 0x2a, 0xae, - 0xaa, 0x16, 0x3c, 0x22, 0x0d, 0xce, 0xb2, 0x53, 0x6c, 0x73, 0xb9, 0x64, 0x24, 0xa8, 0xe6, 0x24, - 0x41, 0x1a, 0x72, 0x54, 0xb0, 0x6b, 0xd3, 0x0b, 0x76, 0x1b, 0xe6, 0xb8, 0xb0, 0x51, 0x9d, 0x56, - 0xd5, 0x82, 0x47, 0x72, 0xe1, 0xa1, 0xd8, 0xd5, 0x99, 0xf4, 0x88, 0x01, 0x82, 0x17, 0x58, 0x87, - 0x06, 0xb5, 0x0e, 0xc1, 0x23, 0x55, 0x55, 0xb8, 0xdf, 0x65, 0xb2, 0x35, 0x9f, 0x57, 0xb6, 0xaa, - 0x1e, 0xee, 0xd3, 0xff, 0xe2, 0x06, 0xaa, 0x99, 0x34, 0x50, 0xd7, 0x20, 0x26, 0x69, 0xed, 0x85, - 0x54, 0xf9, 0xfb, 0x6d, 0x05, 0x20, 0xbc, 0xf9, 0x09, 0xc9, 0xaf, 0x77, 0xa1, 0x2a, 0xc4, 0x31, - 0x67, 0xac, 0x2e, 0x10, 0xe2, 0xb6, 0xb0, 0x18, 0xb3, 0x85, 0xea, 0x3f, 0x2b, 0xd0, 0x58, 0x27, - 0x34, 0x7f, 0xe0, 0xf4, 0xa9, 0xe5, 0xbe, 0x0a, 0x4d, 0x17, 0xf7, 0x1c, 0xd7, 0xe8, 0x62, 0xdb, - 0x77, 0x4d, 0xcc, 0x92, 0x25, 0x25, 0x6d, 0x9e, 0x8d, 0x7e, 0xc8, 0x06, 0x09, 0x18, 0x31, 0x6e, - 0x9e, 0xaf, 0x0f, 0x86, 0xdd, 0x3d, 0xa2, 0x44, 0x59, 0x42, 0x7f, 0x5e, 0x8c, 0x52, 0x1d, 0xfa, - 0x12, 0x34, 0x42, 0x30, 0xdf, 0xa1, 0xeb, 0x97, 0xb4, 0xba, 0x18, 0xdb, 0x71, 0xd0, 0x17, 0xa0, - 0x49, 0x2f, 0xbd, 0x6b, 0x39, 0xfd, 0x2e, 0x09, 0xbb, 0xb9, 0x51, 0x6f, 0x18, 0x7c, 0x5b, 0x84, - 0x9d, 0xa2, 0x50, 0x9e, 0xf9, 0x19, 0xe6, 0x66, 0x5d, 0x40, 0x6d, 0x9b, 0x9f, 0x61, 0xf5, 0xdb, - 0x0a, 0xcc, 0x73, 0x2f, 0x60, 0x5b, 0x14, 0x5f, 0x68, 0x4e, 0x99, 0x25, 0x3e, 0xe8, 0xff, 0xe8, - 0xcb, 0xd1, 0x6c, 0xe2, 0xb5, 0x0c, 0xc1, 0xa4, 0xd3, 0x50, 0x4f, 0x35, 0xe2, 0x02, 0xe4, 0x89, - 0xb8, 0x3f, 0x27, 0x54, 0xd5, 0x7d, 0xfd, 0xa1, 0x63, 0xb0, 0xf4, 0x66, 0x1b, 0xe6, 0x74, 0xc3, - 0x70, 0xb1, 0xe7, 0xf1, 0x9d, 0x04, 0x8f, 0xe4, 0x4d, 0xa0, 0xab, 0x99, 0xee, 0x0a, 0x1e, 0xd1, - 0xfb, 0xb1, 0x92, 0x48, 0x7d, 0x45, 0x1d, 0xb7, 0x53, 0x1e, 0x17, 0x86, 0x65, 0x93, 0xbf, 0x29, - 0x40, 0x93, 0x73, 0xf2, 0x2a, 0x37, 0xd6, 0xe3, 0x19, 0x6d, 0x1d, 0x1a, 0x7b, 0xa1, 0x2c, 0x8e, - 0xcf, 0x77, 0xc9, 0x42, 0x1b, 0xc1, 0x9a, 0xc4, 0x71, 0x51, 0x87, 0xa1, 0x34, 0xa3, 0xc3, 0x50, - 0x9e, 0x5e, 0xaf, 0x24, 0x9d, 0xc8, 0x4a, 0x8a, 0x13, 0xa9, 0xfe, 0x0a, 0xd4, 0xa5, 0x09, 0xa8, - 0xee, 0x64, 0x09, 0x25, 0x4e, 0xb7, 0xe0, 0x11, 0xbd, 0x15, 0x3a, 0x4f, 0x8c, 0x60, 0x17, 0x52, - 0x77, 0x13, 0xf3, 0x9b, 0xd4, 0xbf, 0x53, 0xa0, 0xc2, 0xe7, 0xbe, 0x0c, 0x75, 0x2e, 0x6b, 0xd4, - 0xa9, 0x64, 0xf3, 0x03, 0x1f, 0x22, 0x5e, 0xe5, 0xe9, 0x09, 0xdb, 0x79, 0xa8, 0xc6, 0xc4, 0x6c, - 0x8e, 0x2b, 0xec, 0xe0, 0x95, 0x24, 0x5b, 0xe4, 0x15, 0x11, 0x2b, 0xb4, 0x04, 0x65, 0xcb, 0xe9, - 0x8b, 0x4a, 0x16, 0x7b, 0x50, 0xff, 0x45, 0xa1, 0x75, 0x03, 0x0d, 0xf7, 0x9c, 0x43, 0xec, 0x1e, - 0x9f, 0x46, 0xaa, 0xf5, 0x3d, 0x89, 0xe5, 0x73, 0xc7, 0x72, 0x02, 0x05, 0xbd, 0x17, 0x5e, 0x45, - 0x31, 0x3d, 0xff, 0x22, 0xab, 0x77, 0xce, 0xb0, 0xe1, 0x95, 0x7c, 0x57, 0xa1, 0xa9, 0xe3, 0xe8, - 0x81, 0x4e, 0xee, 0x97, 0x9c, 0x4a, 0xcc, 0xa3, 0xfe, 0xab, 0x02, 0xe7, 0x33, 0xa8, 0xfc, 0x78, - 0xe5, 0x39, 0xd1, 0xf9, 0xcb, 0x50, 0x15, 0x79, 0x80, 0x62, 0xce, 0x3c, 0x80, 0xc0, 0x50, 0xff, - 0x84, 0x95, 0x33, 0x52, 0xc8, 0xfc, 0x78, 0xe5, 0x99, 0x11, 0x3a, 0x9e, 0xdf, 0x2b, 0xa6, 0xe4, - 0xf7, 0xfe, 0x4d, 0x81, 0x4e, 0x98, 0x4b, 0xf3, 0x56, 0x8f, 0x67, 0xaf, 0x85, 0x9d, 0x4e, 0xdc, - 0xfb, 0xae, 0x28, 0xd6, 0x10, 0x7d, 0x99, 0x33, 0x62, 0x0d, 0x4a, 0x35, 0x43, 0x9a, 0xac, 0x4f, - 0x1e, 0x6a, 0x36, 0x49, 0xed, 0x48, 0x2c, 0xc0, 0x0a, 0x36, 0xe1, 0x05, 0xff, 0x3d, 0x63, 0xd9, - 0x7b, 0xd1, 0x84, 0xda, 0xf3, 0x27, 0xa3, 0x5c, 0x46, 0xda, 0xe7, 0x65, 0xa4, 0x52, 0xac, 0x8c, - 0xc4, 0xc7, 0x55, 0x87, 0xb2, 0x42, 0xe2, 0x08, 0xcf, 0x8e, 0x68, 0xdf, 0x51, 0xa0, 0xcd, 0xd7, - 0x61, 0xfd, 0x16, 0xce, 0x60, 0x68, 0x61, 0x1f, 0x1b, 0xcf, 0x23, 0x9d, 0xf3, 0x97, 0x05, 0x68, - 0xc9, 0x0e, 0x10, 0xf5, 0x61, 0xde, 0x86, 0x32, 0xcd, 0x9a, 0xf1, 0x5d, 0xe4, 0xd0, 0x18, 0x0c, - 0x9e, 0xd8, 0x4e, 0x1a, 0x89, 0xec, 0x78, 0x81, 0x8b, 0xc3, 0x1f, 0x43, 0x4f, 0xac, 0x78, 0x12, - 0x4f, 0xec, 0x45, 0xa8, 0x11, 0xdb, 0xe6, 0x8c, 0xc8, 0xcc, 0xac, 0xf6, 0x1f, 0x0e, 0xa0, 0x0f, - 0xa0, 0xc2, 0xfa, 0x95, 0x78, 0xb1, 0xf5, 0x95, 0xf8, 0xe4, 0xbc, 0x9b, 0x49, 0x2a, 0x8b, 0xd0, - 0x01, 0x8d, 0xa3, 0x91, 0xdb, 0x1a, 0xba, 0x4e, 0x9f, 0x3a, 0x6d, 0xc4, 0xf0, 0x95, 0x35, 0xf1, - 0x4c, 0xdc, 0x4a, 0x67, 0xb8, 0xb1, 0xce, 0x13, 0x40, 0xf4, 0x7f, 0xf5, 0x01, 0x2c, 0x87, 0x59, - 0x06, 0xb6, 0xd1, 0x93, 0xb3, 0xbc, 0xfa, 0x0f, 0x05, 0x38, 0xbb, 0x7d, 0x6c, 0xf7, 0xe2, 0xe2, - 0xb3, 0x0c, 0x95, 0xa1, 0xa5, 0x87, 0x89, 0x7b, 0xfe, 0x44, 0x9b, 0x28, 0x82, 0x0c, 0x02, 0x31, - 0xfe, 0x8c, 0xd2, 0x75, 0x31, 0xb6, 0xe3, 0x4c, 0xf4, 0xcc, 0xae, 0x8a, 0xc4, 0x08, 0x36, 0x98, - 0x9b, 0xc1, 0x12, 0x91, 0xf3, 0x62, 0x94, 0xba, 0x19, 0x1f, 0x00, 0x50, 0x6f, 0xac, 0x3b, 0x9d, - 0x07, 0x46, 0x71, 0x1e, 0x10, 0x0f, 0x2c, 0xde, 0xef, 0x51, 0x49, 0x96, 0x17, 0x5e, 0x92, 0xd4, - 0x75, 0xd7, 0x34, 0x38, 0x9d, 0x25, 0x69, 0x36, 0xd0, 0xcb, 0x30, 0x1f, 0xca, 0x3f, 0x81, 0xa9, - 0x26, 0x94, 0x82, 0xa1, 0xfe, 0x4f, 0x01, 0xda, 0xd2, 0xa5, 0xfc, 0xf4, 0xbd, 0xe1, 0x8c, 0xc8, - 0xba, 0x78, 0x6a, 0x91, 0x75, 0xe9, 0x34, 0x3c, 0xe0, 0x72, 0x5a, 0x1a, 0x55, 0xa4, 0xa1, 0x2a, - 0x53, 0xb6, 0x28, 0x7d, 0xbb, 0x08, 0xcd, 0x90, 0xe8, 0x5b, 0x96, 0x6e, 0x67, 0x72, 0xed, 0x23, - 0x68, 0x7a, 0x91, 0x4b, 0xe1, 0x64, 0x7e, 0x3d, 0x5d, 0x13, 0x64, 0xdc, 0xa4, 0x16, 0x9b, 0x04, - 0x5d, 0xa4, 0x2c, 0xea, 0xfa, 0x2c, 0x01, 0xcb, 0xfc, 0xe0, 0x1a, 0x53, 0x3a, 0xe6, 0x00, 0xa3, - 0xd7, 0x00, 0x71, 0x3d, 0xd1, 0x35, 0xed, 0xae, 0x87, 0x7b, 0x8e, 0x6d, 0x30, 0x0d, 0x52, 0xd6, - 0x5a, 0xfc, 0xcd, 0x86, 0xbd, 0xcd, 0xc6, 0xd1, 0xdb, 0x50, 0xf2, 0x8f, 0x87, 0xcc, 0x29, 0x6e, - 0x66, 0xb8, 0x94, 0xe1, 0xce, 0x76, 0x8e, 0x87, 0x58, 0xa3, 0x08, 0x41, 0xdb, 0x9d, 0xef, 0xea, - 0x01, 0x15, 0x4b, 0x9a, 0x34, 0x22, 0x67, 0x2a, 0xe6, 0xa2, 0x99, 0x0a, 0x2a, 0x89, 0x82, 0xb7, - 0x7d, 0xdf, 0xe2, 0xcc, 0x2d, 0x71, 0xfc, 0x8e, 0x6f, 0x91, 0x63, 0xfa, 0x8e, 0xaf, 0x5b, 0x4c, - 0x9e, 0x6b, 0x5c, 0x03, 0x92, 0x11, 0x1a, 0xdb, 0xff, 0x7b, 0x01, 0x16, 0x13, 0x24, 0xcb, 0xbc, - 0x8a, 0xf1, 0x69, 0xb4, 0x49, 0xba, 0xe3, 0x2e, 0xd4, 0x39, 0x4f, 0x4d, 0xc5, 0x95, 0xc0, 0x90, - 0x1e, 0x8c, 0x11, 0x95, 0xf2, 0xa9, 0x89, 0x4a, 0xe5, 0x44, 0x49, 0xa8, 0xf4, 0x2b, 0x52, 0x7f, - 0xa2, 0xc0, 0x52, 0x94, 0xc9, 0x35, 0xec, 0x8d, 0xac, 0x6c, 0xfa, 0x4e, 0xca, 0x3a, 0x70, 0x2b, - 0x10, 0x37, 0x21, 0xdc, 0xd6, 0xad, 0x26, 0x5c, 0xee, 0x6b, 0xf9, 0x44, 0x24, 0x74, 0x31, 0xe4, - 0xc3, 0x94, 0xa2, 0x87, 0xf9, 0x63, 0x05, 0xce, 0x25, 0x6c, 0xd7, 0x6c, 0xbe, 0xce, 0x1a, 0xcc, - 0xb9, 0x94, 0x20, 0x81, 0x48, 0xdf, 0x98, 0xb0, 0xdf, 0x90, 0x84, 0x5a, 0x80, 0xa9, 0x6e, 0xc3, - 0x72, 0xe0, 0x13, 0x85, 0xf7, 0xb3, 0x89, 0x7d, 0x7d, 0x4c, 0x3c, 0x7e, 0x19, 0xea, 0x2c, 0xa0, - 0x63, 0x51, 0x2e, 0xab, 0x5d, 0xc3, 0xae, 0x48, 0xcf, 0xaa, 0xdf, 0x2b, 0xc0, 0x12, 0x75, 0x26, - 0xe2, 0xe5, 0xc7, 0x3c, 0x95, 0x71, 0x55, 0xd8, 0x2e, 0x62, 0xa7, 0xd8, 0xd9, 0x6a, 0x5a, 0x64, - 0x0c, 0x7d, 0x94, 0xcc, 0xdd, 0x66, 0xe4, 0x6f, 0xc2, 0x76, 0x80, 0x75, 0xdd, 0xd7, 0x69, 0x37, - 0x40, 0x3c, 0x69, 0x1b, 0xba, 0x31, 0xa5, 0x93, 0xb9, 0x31, 0x37, 0xa0, 0xc5, 0xaa, 0x20, 0x5d, - 0x91, 0x08, 0xa0, 0xaa, 0xac, 0xa4, 0x2d, 0xb0, 0xf1, 0x9d, 0x60, 0x58, 0x7d, 0x08, 0x2f, 0xc4, - 0x08, 0x33, 0x13, 0x0f, 0xa8, 0x7f, 0xa1, 0x90, 0xfb, 0x8b, 0x34, 0xae, 0xcd, 0x12, 0x05, 0x5c, - 0x14, 0x45, 0x52, 0x62, 0xee, 0x63, 0x2a, 0xca, 0x40, 0x5f, 0x81, 0x9a, 0x8d, 0x8f, 0xba, 0xb2, - 0x43, 0x99, 0x2b, 0x50, 0xaa, 0xda, 0xf8, 0x88, 0xfe, 0xa7, 0x6e, 0xc1, 0xb9, 0xc4, 0x76, 0x67, - 0xa3, 0xc0, 0xdf, 0x2a, 0x70, 0x7e, 0xdd, 0x75, 0x86, 0x8f, 0x4d, 0xd7, 0x1f, 0xe9, 0x56, 0xb4, - 0x37, 0xe3, 0x44, 0x44, 0xc8, 0xd1, 0x2c, 0xfb, 0xd5, 0x84, 0xae, 0xb8, 0x95, 0x2a, 0x7b, 0xc9, - 0x8d, 0x25, 0x74, 0x86, 0xfa, 0x5f, 0xc5, 0xb4, 0x03, 0x04, 0xb6, 0x64, 0xbc, 0x07, 0x95, 0x27, - 0x6a, 0x4b, 0x2d, 0xbd, 0x14, 0x4f, 0x5e, 0x7a, 0xc9, 0x30, 0x22, 0xa5, 0x53, 0x33, 0x22, 0x27, - 0xc8, 0x38, 0x7e, 0x08, 0xd1, 0xf2, 0x18, 0x75, 0x05, 0xa6, 0x2f, 0xaa, 0x7d, 0x00, 0x10, 0x56, - 0x88, 0x78, 0x2b, 0xf2, 0xc4, 0x39, 0x24, 0x14, 0x72, 0x5b, 0xc2, 0x60, 0x73, 0x87, 0x42, 0xaa, - 0x04, 0x6c, 0x43, 0x27, 0x8d, 0x53, 0x67, 0xe3, 0xff, 0xff, 0x28, 0x00, 0x6c, 0x88, 0xbe, 0xf7, - 0x93, 0xda, 0x92, 0x84, 0xab, 0x9f, 0xe4, 0x24, 0x23, 0x11, 0x32, 0x14, 0xd3, 0x43, 0x06, 0x49, - 0x76, 0x18, 0x5b, 0xc4, 0xb5, 0xf7, 0x05, 0xa8, 0xb9, 0xce, 0x51, 0x97, 0x08, 0x9b, 0x11, 0xb4, - 0xf6, 0xbb, 0xce, 0x11, 0x11, 0x41, 0x03, 0x9d, 0x83, 0x39, 0x5f, 0xf7, 0x0e, 0xc8, 0xfc, 0x2c, - 0x17, 0x5a, 0x21, 0x8f, 0x1b, 0x06, 0x5a, 0x82, 0xf2, 0x9e, 0x69, 0x61, 0xd6, 0xd2, 0x53, 0xd3, - 0xd8, 0x03, 0xfa, 0x52, 0xd0, 0x3a, 0x5a, 0x9d, 0xa2, 0x1d, 0x8c, 0x75, 0x8f, 0xbe, 0x0c, 0xf3, - 0x84, 0xa7, 0xc8, 0x36, 0x98, 0xa0, 0xb7, 0x78, 0x55, 0x84, 0x0f, 0xd2, 0xa6, 0x8f, 0x9f, 0x28, - 0xb0, 0x10, 0x92, 0x97, 0x6a, 0x2c, 0xa2, 0x06, 0xa9, 0x0a, 0x5c, 0x73, 0x0c, 0xa6, 0x59, 0x9a, - 0x99, 0x76, 0x87, 0xa1, 0x32, 0x45, 0x17, 0x22, 0x8d, 0x4b, 0x53, 0x10, 0x02, 0x10, 0xea, 0x98, - 0x46, 0x90, 0x42, 0xab, 0xb8, 0xce, 0xd1, 0x86, 0x21, 0xc8, 0xc6, 0xba, 0xf4, 0x59, 0x30, 0x4e, - 0xc8, 0xb6, 0x46, 0x1b, 0xf5, 0x5f, 0x86, 0x79, 0xec, 0xba, 0x8e, 0xdb, 0x1d, 0x60, 0xcf, 0xd3, - 0xfb, 0x41, 0x03, 0x4b, 0x83, 0x0e, 0x6e, 0xb2, 0x31, 0xf5, 0xc7, 0x25, 0x68, 0x86, 0x87, 0x09, - 0xda, 0x48, 0x4c, 0x23, 0x68, 0x23, 0x31, 0xc9, 0x1d, 0x83, 0xcb, 0x74, 0xa7, 0xe0, 0x82, 0xd5, - 0x42, 0x5b, 0xd1, 0x6a, 0x7c, 0x74, 0xc3, 0x20, 0xe6, 0x9f, 0x90, 0xc8, 0x76, 0x0c, 0x1c, 0x72, - 0x01, 0x04, 0x43, 0x69, 0x71, 0x63, 0x29, 0x07, 0x33, 0x95, 0x73, 0x30, 0x53, 0x25, 0x85, 0x99, - 0x96, 0xa1, 0xb2, 0x3b, 0xea, 0x1d, 0x60, 0x9f, 0xbb, 0x8f, 0xfc, 0x29, 0xca, 0x64, 0xd5, 0x18, - 0x93, 0x09, 0x5e, 0xaa, 0xc9, 0xbc, 0x74, 0x01, 0x6a, 0x81, 0x1d, 0xf7, 0x68, 0x45, 0xb4, 0xa8, - 0x55, 0xb9, 0x01, 0xf7, 0xd0, 0x3b, 0x81, 0x73, 0x59, 0xa7, 0x72, 0xf5, 0x85, 0x54, 0xf5, 0x14, - 0xe3, 0x94, 0xc0, 0xb5, 0x7c, 0x05, 0x16, 0x24, 0x82, 0x50, 0x5e, 0x63, 0x85, 0x53, 0x29, 0x06, - 0xa1, 0x76, 0xe5, 0x2a, 0x34, 0x43, 0xa2, 0x50, 0xb8, 0x79, 0x16, 0x37, 0x8a, 0x51, 0x0a, 0x26, - 0x98, 0xbe, 0x39, 0x35, 0xd3, 0x9f, 0x87, 0x2a, 0x8f, 0xdb, 0x3c, 0x5e, 0x39, 0x15, 0xa9, 0xa2, - 0x5c, 0xf2, 0x60, 0x01, 0x0a, 0x0f, 0x39, 0xab, 0x07, 0x1b, 0xe3, 0xa4, 0x42, 0x9c, 0x93, 0xd4, - 0x1f, 0x28, 0xb0, 0x28, 0x2f, 0x77, 0x72, 0xa3, 0xfe, 0x15, 0xa8, 0xb3, 0x02, 0x76, 0x97, 0xa8, - 0x93, 0xac, 0x2a, 0x6f, 0xec, 0x12, 0x35, 0x08, 0xbf, 0x28, 0x22, 0xe4, 0x39, 0x72, 0xdc, 0x03, - 0xd3, 0xee, 0x77, 0xc9, 0xee, 0x44, 0x82, 0x9b, 0x0f, 0x3e, 0x24, 0x63, 0xea, 0x1f, 0x28, 0x70, - 0xe9, 0xd1, 0xd0, 0xd0, 0x7d, 0x2c, 0xf9, 0x38, 0xb3, 0xf7, 0xdc, 0x8a, 0xa6, 0xd7, 0xc2, 0xd8, - 0x0b, 0x97, 0xd6, 0xf4, 0x78, 0xd3, 0x2b, 0xf1, 0x10, 0xf9, 0x8e, 0x12, 0x7d, 0xeb, 0xb3, 0xec, - 0xa8, 0x03, 0xd5, 0x43, 0x3e, 0x61, 0xf0, 0xc1, 0x53, 0xf0, 0x1c, 0x29, 0xa7, 0x17, 0xa7, 0x2c, - 0xa7, 0xab, 0x1f, 0xc3, 0x79, 0x0d, 0x7b, 0xd8, 0x36, 0x22, 0x87, 0x99, 0x21, 0xcd, 0xe7, 0x42, - 0x27, 0x6d, 0xc2, 0xd9, 0x38, 0x97, 0x39, 0xca, 0x5d, 0x97, 0x4c, 0xec, 0x73, 0x15, 0x4e, 0xfc, - 0x32, 0xba, 0x92, 0xaf, 0xfe, 0xb0, 0x00, 0xe7, 0xee, 0x1a, 0x06, 0xd7, 0xfe, 0xdc, 0xe5, 0x7b, - 0x76, 0x7e, 0x79, 0xdc, 0x63, 0x2d, 0x26, 0x3d, 0xd6, 0xd3, 0xd2, 0xc9, 0xdc, 0x3a, 0xd9, 0xa3, - 0x41, 0x60, 0x9e, 0x5d, 0xd6, 0x97, 0xf7, 0x1e, 0x2f, 0x3a, 0x77, 0x2d, 0xa7, 0x4f, 0x4d, 0x74, - 0x1e, 0x17, 0xae, 0x1a, 0xa4, 0x2c, 0x55, 0x17, 0xda, 0x49, 0x82, 0xcd, 0xac, 0x5d, 0x02, 0xaa, - 0x0c, 0x1d, 0x96, 0x18, 0x6f, 0x10, 0x6f, 0x8d, 0x0e, 0x6d, 0x39, 0x9e, 0xfa, 0xbf, 0x05, 0x68, - 0x6f, 0xeb, 0x87, 0xf8, 0x67, 0xe9, 0x9a, 0xbe, 0x01, 0x4b, 0x9e, 0x7e, 0x88, 0xbb, 0x52, 0x00, - 0xdf, 0x75, 0xf1, 0x13, 0xee, 0xec, 0xbe, 0x9a, 0x9e, 0x81, 0x4c, 0xed, 0x24, 0xd3, 0x16, 0xbd, - 0xc8, 0xb8, 0x86, 0x9f, 0xa0, 0x6b, 0xb0, 0x20, 0xb7, 0x4a, 0x06, 0x39, 0xe3, 0x86, 0x36, 0x2f, - 0x35, 0x43, 0x6e, 0x18, 0xaa, 0x07, 0x2f, 0x3e, 0xb2, 0x3d, 0xec, 0x6f, 0x84, 0xad, 0x7c, 0x33, - 0xc7, 0xae, 0x97, 0xa1, 0x1e, 0x12, 0x3f, 0xf1, 0x8d, 0x93, 0xe1, 0xa9, 0x4f, 0xa0, 0xb3, 0xa9, - 0xbb, 0x07, 0x41, 0xba, 0x7f, 0x9d, 0xf5, 0x3a, 0x3d, 0xd3, 0x25, 0xf7, 0x44, 0x17, 0xa0, 0x86, - 0xf7, 0xb0, 0x8b, 0xed, 0x1e, 0x7e, 0xe0, 0xf4, 0x0e, 0x88, 0xd3, 0xe2, 0xb3, 0x2f, 0x57, 0x15, - 0xc9, 0xc7, 0x5d, 0x97, 0xbe, 0x2f, 0x2d, 0x44, 0xbe, 0x2f, 0x9d, 0xf0, 0x25, 0xb6, 0xfa, 0xa3, - 0x02, 0x2c, 0xdf, 0xb5, 0x7c, 0xec, 0x86, 0x39, 0x8a, 0x69, 0x52, 0x2e, 0x61, 0x06, 0xa4, 0x70, - 0xb2, 0x0c, 0x48, 0x8e, 0xda, 0x6f, 0x5a, 0xce, 0xa6, 0x74, 0xe2, 0x9c, 0xcd, 0x1a, 0xc0, 0xd0, - 0x75, 0x86, 0xd8, 0xf5, 0x4d, 0x1c, 0x44, 0x8c, 0xb9, 0xdc, 0x20, 0x09, 0x4d, 0xfd, 0x1a, 0xb4, - 0xee, 0xf7, 0xd6, 0x1c, 0x7b, 0xcf, 0x74, 0x07, 0x01, 0xb9, 0x12, 0x02, 0xa8, 0xe4, 0x10, 0xc0, - 0x42, 0x42, 0x00, 0xd5, 0x03, 0x58, 0x94, 0xe6, 0x9e, 0x59, 0x91, 0xf5, 0x7b, 0xdd, 0x3d, 0xd3, - 0x36, 0x69, 0x67, 0x61, 0x81, 0x3a, 0xb3, 0xd0, 0xef, 0xdd, 0xe3, 0x23, 0xea, 0xef, 0x28, 0x70, - 0x41, 0xc3, 0x44, 0x90, 0x82, 0x96, 0xa8, 0x1d, 0x7f, 0xd3, 0xeb, 0xcf, 0xe4, 0x72, 0xbc, 0x05, - 0xa5, 0x81, 0xd7, 0xcf, 0x6c, 0x5e, 0x20, 0x06, 0x3c, 0xb2, 0x98, 0x46, 0xc1, 0xd5, 0xbf, 0x56, - 0x60, 0x29, 0x28, 0xeb, 0x46, 0x44, 0x3a, 0xca, 0xc2, 0x4a, 0xa2, 0xff, 0x7e, 0xcc, 0x97, 0xeb, - 0xe7, 0x60, 0xce, 0xd8, 0x95, 0x55, 0x66, 0xc5, 0xd8, 0xa5, 0xda, 0x32, 0xc5, 0xaf, 0x2e, 0xa5, - 0xfa, 0xd5, 0x71, 0x21, 0x28, 0xa7, 0x74, 0x94, 0x7d, 0x02, 0x6d, 0xee, 0xc0, 0x7c, 0x3c, 0xc4, - 0xae, 0x4e, 0xf9, 0x2c, 0xd8, 0xfc, 0xbb, 0x81, 0xc3, 0xad, 0x8c, 0xf9, 0x94, 0x33, 0x5e, 0xce, - 0xe5, 0x2e, 0xb7, 0xfa, 0x4f, 0x0a, 0x5c, 0x89, 0xcf, 0xbc, 0xc5, 0xcb, 0x9c, 0xa7, 0xf0, 0xcb, - 0x07, 0xb4, 0x4a, 0x5a, 0x08, 0xab, 0xa4, 0x33, 0x96, 0x7c, 0xe5, 0x9a, 0x6c, 0x29, 0x5a, 0x93, - 0xbd, 0xf9, 0xbe, 0xf8, 0x04, 0x61, 0xe7, 0x78, 0x88, 0xd1, 0x1c, 0x14, 0x1f, 0xe2, 0xa3, 0xd6, - 0x19, 0x04, 0x50, 0x79, 0xe8, 0xb8, 0x03, 0xdd, 0x6a, 0x29, 0xa8, 0x0e, 0x73, 0xbc, 0xa6, 0xdf, - 0x2a, 0xa0, 0x79, 0xa8, 0xad, 0x05, 0x95, 0xcd, 0x56, 0xf1, 0xe6, 0x4d, 0x68, 0xc8, 0xd5, 0x2c, - 0x82, 0xf7, 0x00, 0xf7, 0xf5, 0xde, 0x71, 0xeb, 0x0c, 0xaa, 0x40, 0xe1, 0xc1, 0x9d, 0x96, 0x42, - 0xff, 0xbe, 0xd1, 0x2a, 0xdc, 0xfc, 0x53, 0x05, 0x16, 0x13, 0x9b, 0x44, 0x4d, 0x80, 0x47, 0x76, - 0x8f, 0x17, 0xee, 0x5b, 0x67, 0x50, 0x03, 0xaa, 0x41, 0x19, 0x9f, 0xad, 0xbd, 0xe3, 0x50, 0xe8, - 0x56, 0x01, 0xb5, 0xa0, 0xc1, 0x10, 0x47, 0xbd, 0x1e, 0xf6, 0xbc, 0x56, 0x51, 0x8c, 0xdc, 0xd3, - 0x4d, 0x6b, 0xe4, 0xe2, 0x56, 0x89, 0xec, 0x6f, 0xc7, 0xd1, 0xb0, 0x85, 0x75, 0x0f, 0xb7, 0xca, - 0x08, 0x41, 0x93, 0x3f, 0x04, 0x48, 0x15, 0x69, 0x2c, 0x40, 0x9b, 0xbb, 0xf9, 0x23, 0x45, 0x2e, - 0xbf, 0x51, 0x5a, 0x9c, 0x83, 0xb3, 0x8f, 0x6c, 0x03, 0xef, 0x99, 0x36, 0x36, 0xc2, 0x57, 0xad, - 0x33, 0xe8, 0x2c, 0x2c, 0x6c, 0x62, 0xb7, 0x8f, 0xa5, 0xc1, 0x02, 0x5a, 0x84, 0xf9, 0x4d, 0xf3, - 0xa9, 0x34, 0x54, 0x44, 0x4b, 0xd0, 0xda, 0x36, 0xed, 0xbe, 0x25, 0x03, 0x96, 0x28, 0xb6, 0x69, - 0x3b, 0xae, 0x34, 0x58, 0xa6, 0x83, 0xfa, 0xa7, 0x91, 0xc1, 0x0a, 0xea, 0xc0, 0x32, 0x25, 0xea, - 0x9d, 0x75, 0x4c, 0xa8, 0x21, 0xbd, 0x9b, 0x53, 0x4b, 0x55, 0xa5, 0xa5, 0xac, 0xfc, 0xf7, 0x35, - 0xa8, 0x11, 0x91, 0x5d, 0x73, 0x1c, 0xd7, 0x40, 0x43, 0x40, 0xf4, 0x8b, 0xc5, 0xc1, 0xd0, 0xb1, - 0xc5, 0x37, 0xcf, 0xe8, 0x4e, 0x42, 0xce, 0xd9, 0x63, 0x12, 0x94, 0x8b, 0x46, 0xe7, 0x5a, 0x06, - 0x46, 0x0c, 0x5c, 0x3d, 0x83, 0x9e, 0xd0, 0x15, 0x77, 0xcc, 0x01, 0xde, 0x31, 0x7b, 0x07, 0x41, - 0xb0, 0xb0, 0x92, 0xf9, 0xb1, 0x68, 0x12, 0x38, 0x58, 0xf3, 0x6a, 0xc6, 0x9a, 0xec, 0xf3, 0xd2, - 0x40, 0xa6, 0xd4, 0x33, 0x68, 0x44, 0x95, 0x51, 0x18, 0x83, 0x05, 0x8b, 0x7e, 0x71, 0xdc, 0xa2, - 0x09, 0xf0, 0xa9, 0x97, 0xdd, 0x82, 0x32, 0x95, 0x01, 0x94, 0x5e, 0xd1, 0x95, 0x7f, 0xac, 0xa5, - 0xa3, 0x8e, 0x03, 0x11, 0x33, 0xda, 0xb0, 0x10, 0xfb, 0xa1, 0x03, 0x94, 0xee, 0xab, 0xa5, 0xff, - 0x70, 0x45, 0xe7, 0xb5, 0x7c, 0xc0, 0x62, 0xbd, 0x03, 0x68, 0x46, 0xbf, 0x79, 0x44, 0x37, 0x73, - 0x7d, 0x4f, 0xcd, 0x56, 0x7b, 0x75, 0x8a, 0x6f, 0xaf, 0x29, 0x63, 0xb4, 0xe2, 0x1f, 0xdf, 0xa3, - 0xd7, 0x26, 0x4c, 0x11, 0x65, 0xc2, 0xd7, 0x73, 0x42, 0x8b, 0x25, 0x7f, 0x8d, 0x32, 0x46, 0xe2, - 0x6b, 0xe7, 0x24, 0xff, 0x07, 0x13, 0x65, 0x7d, 0x8a, 0xdd, 0x79, 0x63, 0x0a, 0x0c, 0xb1, 0xfc, - 0x6f, 0xb1, 0xc6, 0xce, 0xb4, 0xef, 0x85, 0xd1, 0x9b, 0x59, 0x13, 0x8e, 0xf9, 0xd8, 0xb9, 0xf3, - 0xc5, 0xe9, 0x90, 0xc4, 0x46, 0xbe, 0xc5, 0x1a, 0x32, 0x53, 0x3e, 0xb8, 0x4d, 0x0a, 0x66, 0x30, - 0x65, 0xf6, 0xf7, 0xc4, 0x9d, 0x37, 0xa7, 0xc2, 0x11, 0xbb, 0xf0, 0xe2, 0x3f, 0x75, 0x10, 0xc8, - 0xe9, 0x1b, 0x39, 0x18, 0xe9, 0xa4, 0x42, 0xda, 0x85, 0x85, 0x58, 0x60, 0x83, 0xa6, 0x09, 0x7f, - 0x3a, 0xe3, 0x2d, 0x34, 0x93, 0xd9, 0x58, 0x13, 0x26, 0xca, 0x14, 0x8c, 0x94, 0x56, 0xcd, 0xce, - 0x6b, 0xf9, 0x80, 0xc5, 0x81, 0x7c, 0x58, 0x8c, 0xbd, 0x7c, 0xbc, 0x82, 0x5e, 0x9f, 0x62, 0xc5, - 0xc7, 0x2b, 0x9d, 0x5b, 0xd3, 0xac, 0xf9, 0x78, 0x45, 0x3d, 0x83, 0x8e, 0xa8, 0x56, 0x8f, 0xb5, - 0xf1, 0xa1, 0xcc, 0x79, 0xd2, 0x5b, 0x16, 0x3b, 0xb7, 0x73, 0xc3, 0x8b, 0xe3, 0x7e, 0x06, 0x67, - 0x53, 0xba, 0x2e, 0xd1, 0xed, 0x09, 0x2c, 0x13, 0x6f, 0x3a, 0xed, 0xdc, 0xc9, 0x8f, 0x20, 0xd9, - 0x95, 0x56, 0xb0, 0xb7, 0xbb, 0x96, 0xc5, 0x5c, 0x93, 0x5b, 0xd9, 0xa6, 0x33, 0x02, 0x98, 0x79, - 0xe4, 0x4c, 0x78, 0xb1, 0xec, 0xaf, 0x03, 0xda, 0xde, 0x77, 0x8e, 0x68, 0x58, 0xd1, 0x1f, 0x71, - 0x1f, 0x75, 0x8c, 0x05, 0x4d, 0x02, 0x67, 0x0a, 0xea, 0x58, 0x1c, 0xb1, 0x81, 0x1e, 0xc0, 0x7d, - 0xec, 0x6f, 0x62, 0xdf, 0x25, 0x1a, 0xe2, 0x7a, 0xf6, 0x09, 0x38, 0x48, 0xb0, 0xdc, 0x8d, 0x1c, - 0x90, 0x32, 0x71, 0x37, 0x75, 0x7b, 0xa4, 0x5b, 0xd2, 0x17, 0x85, 0x59, 0xc4, 0x8d, 0x03, 0x4e, - 0x22, 0x6e, 0x12, 0x5e, 0x2c, 0xfb, 0xab, 0xc2, 0x21, 0x92, 0x7a, 0x34, 0x26, 0x39, 0x44, 0xc9, - 0x56, 0xc4, 0xa4, 0x41, 0x18, 0x83, 0x21, 0x16, 0xff, 0x4d, 0x85, 0xf6, 0x10, 0xc7, 0x00, 0x3e, - 0x31, 0xfd, 0xfd, 0x2d, 0x4b, 0xb7, 0xbd, 0x7c, 0xdb, 0xa0, 0xa0, 0x53, 0x6d, 0x83, 0x63, 0x88, - 0x6d, 0xec, 0xc3, 0x7c, 0xa4, 0x3d, 0x01, 0xa5, 0xb7, 0x94, 0xa4, 0xf5, 0x76, 0x74, 0x6e, 0xe6, - 0x01, 0x15, 0x2b, 0x7d, 0x0a, 0xf3, 0x91, 0x30, 0x31, 0x63, 0xa5, 0xb4, 0x50, 0x32, 0xa9, 0x18, - 0x63, 0x92, 0x13, 0x27, 0xee, 0x11, 0xa0, 0x64, 0xdd, 0x15, 0xe5, 0xad, 0xd8, 0x8f, 0x57, 0x51, - 0xd9, 0x05, 0x5d, 0x66, 0x01, 0x62, 0xdd, 0x0e, 0x59, 0x26, 0x26, 0xb5, 0x85, 0x23, 0xc3, 0x02, - 0x64, 0x34, 0x50, 0xa8, 0x67, 0xd0, 0xd7, 0xa1, 0xc2, 0x7f, 0x20, 0xed, 0xda, 0xa4, 0xca, 0x06, - 0x5f, 0xe1, 0x95, 0x89, 0x70, 0x62, 0x72, 0x07, 0xce, 0x65, 0x54, 0x36, 0x32, 0x5c, 0x96, 0xf1, - 0x75, 0x90, 0xc9, 0xf6, 0x53, 0x2c, 0x98, 0x28, 0x5c, 0x8c, 0x5d, 0x30, 0xab, 0xcc, 0x31, 0x79, - 0xc1, 0x1e, 0x2c, 0x26, 0xd2, 0xc1, 0x19, 0x06, 0x34, 0x2b, 0x6d, 0x3c, 0x79, 0x91, 0x03, 0x78, - 0x21, 0x35, 0xf5, 0x99, 0xe1, 0xeb, 0x8c, 0x4b, 0x93, 0x4e, 0x5e, 0xac, 0x0f, 0x67, 0x53, 0x52, - 0x9e, 0x19, 0x36, 0x32, 0x3b, 0x39, 0x3a, 0x79, 0xa1, 0x4f, 0xa1, 0xb3, 0xea, 0x3a, 0xba, 0xd1, - 0xd3, 0x3d, 0x9f, 0x26, 0x22, 0x49, 0x14, 0x1c, 0x78, 0x9e, 0x59, 0xa1, 0x4a, 0x6a, 0xc2, 0x72, - 0xf2, 0x5a, 0x7b, 0x50, 0xa7, 0x97, 0xcb, 0x7e, 0x8f, 0x0a, 0x65, 0xd9, 0x16, 0x09, 0x26, 0x53, - 0x45, 0xa5, 0x81, 0x0a, 0x86, 0xff, 0x25, 0xa8, 0xaf, 0xd1, 0xea, 0xef, 0x86, 0x6d, 0xe0, 0xa7, - 0x49, 0x6b, 0x47, 0x7f, 0x76, 0xe3, 0x96, 0x04, 0x32, 0x05, 0xb5, 0xe6, 0x69, 0x80, 0x60, 0xe0, - 0xa7, 0xec, 0xee, 0x6f, 0xa6, 0xcf, 0x1d, 0x01, 0xca, 0x0c, 0xae, 0x52, 0x61, 0x25, 0x9f, 0x61, - 0x49, 0xf6, 0x97, 0xc5, 0x92, 0x6f, 0x64, 0x4e, 0x93, 0x80, 0x0d, 0x56, 0x5e, 0x99, 0x06, 0x45, - 0xb6, 0x29, 0xc1, 0xde, 0x36, 0x68, 0x09, 0xfa, 0xc6, 0xf8, 0x03, 0xc8, 0x2e, 0xf0, 0xcd, 0x3c, - 0xa0, 0x62, 0xa5, 0x1d, 0xa8, 0x11, 0xbe, 0x65, 0xd7, 0x75, 0x2d, 0x1d, 0x55, 0x00, 0x4c, 0x73, - 0x59, 0xeb, 0xd8, 0xeb, 0xb9, 0xe6, 0x2e, 0x67, 0x84, 0x8c, 0x4d, 0x45, 0x80, 0x26, 0x5c, 0x56, - 0x0c, 0x56, 0x9c, 0xe0, 0x98, 0xfa, 0x20, 0x82, 0x8c, 0x5c, 0xbd, 0xde, 0x9e, 0x7c, 0xe3, 0x51, - 0xd5, 0x7a, 0x27, 0x3f, 0x82, 0x58, 0xfa, 0x73, 0xf6, 0x7b, 0x73, 0x14, 0x60, 0x75, 0x64, 0x5a, - 0x46, 0x90, 0xa2, 0x44, 0x2b, 0xe3, 0x67, 0x8b, 0x00, 0x8f, 0xf1, 0x2f, 0xc7, 0xe0, 0x88, 0x4d, - 0x7c, 0x03, 0x6a, 0x22, 0x6b, 0x8e, 0xd2, 0xb3, 0xac, 0xf1, 0x8c, 0x7d, 0xe7, 0xda, 0x24, 0x30, - 0x31, 0xbb, 0x09, 0x4b, 0x69, 0x59, 0xf2, 0x8c, 0xa0, 0x7f, 0x4c, 0x42, 0x7d, 0x22, 0xd3, 0xac, - 0xfc, 0xb8, 0x01, 0xd5, 0x00, 0xf5, 0x39, 0xa4, 0xda, 0x9e, 0x53, 0xde, 0xab, 0x0b, 0x0b, 0xb1, - 0xdf, 0x1d, 0xca, 0x50, 0xfd, 0xe9, 0xbf, 0x4e, 0x34, 0x59, 0x16, 0xbf, 0xce, 0x7f, 0x30, 0x58, - 0xc4, 0x99, 0x37, 0xb2, 0xb3, 0x67, 0xf1, 0x10, 0x73, 0xe2, 0xe4, 0x3f, 0x1b, 0xd1, 0x95, 0x06, - 0x20, 0xc5, 0x55, 0x2f, 0xe7, 0x68, 0x19, 0x9f, 0x4c, 0xb9, 0x27, 0xa9, 0xa1, 0xd3, 0xab, 0x93, - 0xda, 0xe7, 0x27, 0xbb, 0xba, 0xd9, 0x01, 0xd3, 0x2f, 0x43, 0x43, 0xfe, 0x76, 0x0b, 0x65, 0xfc, - 0xa8, 0x6b, 0xf2, 0xf3, 0xae, 0xc9, 0xa7, 0xf9, 0xc5, 0xa9, 0xbd, 0xe8, 0x89, 0x53, 0x1e, 0x01, - 0x4a, 0xf6, 0xa0, 0x64, 0x44, 0x20, 0x99, 0xdd, 0x2f, 0x19, 0x11, 0x48, 0x76, 0x73, 0x0b, 0x4b, - 0xad, 0xc6, 0xdb, 0x2a, 0x32, 0x52, 0xab, 0x19, 0xed, 0x2a, 0x19, 0xa9, 0xd5, 0xac, 0x5e, 0x0d, - 0x49, 0x46, 0x27, 0xc4, 0x90, 0x69, 0x3f, 0x79, 0x3d, 0x99, 0x90, 0xfb, 0xb0, 0xfc, 0xd0, 0xf1, - 0xcd, 0xbd, 0xe3, 0x78, 0x41, 0x2d, 0xc3, 0x4f, 0xcf, 0xaa, 0xe8, 0xe5, 0xd1, 0x06, 0x17, 0xa9, - 0x5b, 0x98, 0x55, 0xb9, 0x43, 0xf9, 0x8a, 0x80, 0x9d, 0xb7, 0x72, 0xed, 0x2b, 0x69, 0x0b, 0x57, - 0xdf, 0xfc, 0xda, 0x1b, 0x7d, 0xd3, 0xdf, 0x1f, 0xed, 0x92, 0xad, 0xdd, 0x66, 0x93, 0xbc, 0x6e, - 0x3a, 0xfc, 0xbf, 0xdb, 0x81, 0x4a, 0xb9, 0x4d, 0xe7, 0xbd, 0x4d, 0x66, 0x1d, 0xee, 0xee, 0x56, - 0xe8, 0xd3, 0x9b, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x1f, 0x76, 0x34, 0x9c, 0x5e, 0x00, - 0x00, + // 5863 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x3d, 0x5b, 0x8f, 0x24, 0xd7, + 0x59, 0x5b, 0x7d, 0xef, 0xaf, 0x7b, 0x7a, 0x7a, 0xce, 0x8c, 0x67, 0xdb, 0xed, 0xbd, 0xb9, 0x1c, + 0xaf, 0x77, 0x37, 0xf6, 0xae, 0xdd, 0xce, 0x92, 0xc4, 0x8e, 0xe3, 0x78, 0x67, 0xbc, 0xce, 0xd8, + 0xbb, 0xeb, 0xa1, 0x66, 0x76, 0x12, 0x02, 0x4a, 0xab, 0xa6, 0xeb, 0x4c, 0x4f, 0x79, 0xaa, 0xab, + 0xda, 0x55, 0xd5, 0xbb, 0x3b, 0x26, 0x80, 0x70, 0x2e, 0xa0, 0x28, 0x08, 0x14, 0x2e, 0x81, 0x57, + 0x1e, 0x82, 0x84, 0x02, 0x48, 0x20, 0x41, 0x24, 0x04, 0x12, 0x0a, 0x12, 0x48, 0x48, 0x20, 0xc1, + 0x0b, 0xe2, 0x09, 0x1e, 0x10, 0xbf, 0x80, 0xe7, 0xa0, 0x73, 0xa9, 0x53, 0xa7, 0x6e, 0xdd, 0xd5, + 0xd3, 0xb3, 0x59, 0xa1, 0x3c, 0x4d, 0xd7, 0xa9, 0xef, 0x3b, 0x97, 0xef, 0x7c, 0xf7, 0xf3, 0x9d, + 0x1a, 0x68, 0x1b, 0xba, 0xaf, 0xf7, 0x07, 0x8e, 0xe3, 0x1a, 0xd7, 0xc7, 0xae, 0xe3, 0x3b, 0x68, + 0x75, 0x64, 0x5a, 0x0f, 0x26, 0x1e, 0x7b, 0x7a, 0xd0, 0xbb, 0x4e, 0x00, 0xba, 0xcd, 0x81, 0x33, + 0x1a, 0x39, 0x36, 0x6b, 0xec, 0xb6, 0x4c, 0xdb, 0xc7, 0xae, 0xad, 0x5b, 0xfc, 0xb9, 0x29, 0xa3, + 0x74, 0x9b, 0xde, 0xe0, 0x10, 0x8f, 0x74, 0xfe, 0x54, 0x1f, 0x79, 0x43, 0xfe, 0x73, 0xc5, 0xb4, + 0x0d, 0xfc, 0x48, 0x1e, 0x4c, 0xad, 0x42, 0xf9, 0xed, 0xd1, 0xd8, 0x3f, 0x56, 0xff, 0x52, 0x81, + 0xe6, 0x6d, 0x6b, 0xe2, 0x1d, 0x6a, 0xf8, 0xc3, 0x09, 0xf6, 0x7c, 0xd4, 0x83, 0xd2, 0xbe, 0xee, + 0xe1, 0x8e, 0x72, 0x49, 0xb9, 0xd2, 0xe8, 0x5d, 0xb8, 0x1e, 0x9b, 0x15, 0x9f, 0xcf, 0x5d, 0x6f, + 0x78, 0x4b, 0xf7, 0xb0, 0x46, 0x61, 0x11, 0x82, 0x92, 0xb1, 0xbf, 0xb5, 0xd9, 0x29, 0x5c, 0x52, + 0xae, 0x14, 0x35, 0xfa, 0x1b, 0x5d, 0x00, 0xf0, 0xf0, 0x70, 0x84, 0x6d, 0x7f, 0x6b, 0xd3, 0xeb, + 0x14, 0x2f, 0x15, 0xaf, 0x14, 0x35, 0xa9, 0x05, 0xa9, 0xd0, 0x1c, 0x38, 0x96, 0x85, 0x07, 0xbe, + 0xe9, 0xd8, 0x5b, 0x9b, 0x9d, 0x12, 0xc5, 0x8d, 0xb4, 0xa1, 0x2e, 0xd4, 0x4c, 0x6f, 0x6b, 0x34, + 0x76, 0x5c, 0xbf, 0x53, 0xbe, 0xa4, 0x5c, 0xa9, 0x69, 0xe2, 0x59, 0xfd, 0x61, 0x11, 0x96, 0xf8, + 0xc4, 0xbd, 0xb1, 0x63, 0x7b, 0x18, 0xdd, 0x84, 0x8a, 0xe7, 0xeb, 0xfe, 0xc4, 0xe3, 0x73, 0x3f, + 0x9f, 0x31, 0xf7, 0x1d, 0x0a, 0xa4, 0x71, 0xe0, 0xd4, 0xc9, 0xc7, 0x27, 0x57, 0x4c, 0x99, 0x5c, + 0x74, 0x81, 0xa5, 0xc4, 0x02, 0xaf, 0xc0, 0xf2, 0x01, 0x99, 0xdf, 0x4e, 0x08, 0x54, 0xa6, 0x40, + 0xf1, 0x66, 0xd2, 0x93, 0x6f, 0x8e, 0xf0, 0xfb, 0x07, 0x3b, 0x58, 0xb7, 0x3a, 0x15, 0x3a, 0x96, + 0xd4, 0x82, 0x9e, 0x86, 0x1a, 0x45, 0xe9, 0xfb, 0x5e, 0xa7, 0x7a, 0x49, 0xb9, 0x52, 0xd2, 0xaa, + 0xf4, 0x79, 0xd7, 0x43, 0x3b, 0xd0, 0x18, 0x1c, 0xea, 0xb6, 0x8d, 0xad, 0xfe, 0x60, 0xec, 0x75, + 0x6a, 0x97, 0x8a, 0x57, 0x1a, 0xbd, 0xde, 0xf5, 0x14, 0x56, 0xba, 0x1e, 0x21, 0xd6, 0xf5, 0x0d, + 0x86, 0xb5, 0x31, 0xf6, 0xde, 0xb6, 0x7d, 0xf7, 0x58, 0x83, 0x81, 0x68, 0xe8, 0x7e, 0x15, 0x96, + 0x63, 0xaf, 0x51, 0x1b, 0x8a, 0x47, 0xf8, 0x98, 0x12, 0xb6, 0xae, 0x91, 0x9f, 0xe8, 0x26, 0x94, + 0x1f, 0xe8, 0xd6, 0x04, 0x53, 0xba, 0x35, 0x7a, 0x17, 0xe3, 0x63, 0x12, 0xf6, 0xbb, 0xeb, 0x0d, + 0xb7, 0x1d, 0xcf, 0x24, 0x04, 0xd3, 0x18, 0xf4, 0x6b, 0x85, 0xcf, 0x28, 0xea, 0xaf, 0x2a, 0xb0, + 0x46, 0x67, 0xc3, 0x47, 0xf1, 0x16, 0xe1, 0x3d, 0x99, 0x38, 0x85, 0x28, 0x71, 0xba, 0x50, 0xe3, + 0xab, 0x62, 0x0c, 0x58, 0xd7, 0xc4, 0xb3, 0xfa, 0xed, 0x02, 0xb4, 0xc5, 0x16, 0x04, 0xe3, 0xaf, + 0x41, 0x79, 0xe0, 0x4c, 0x6c, 0x9f, 0x4e, 0x60, 0x49, 0x63, 0x0f, 0xe8, 0x59, 0x68, 0x06, 0x34, + 0xb6, 0xf5, 0x11, 0x5b, 0x70, 0x5d, 0x0b, 0xe8, 0x7e, 0x4f, 0x1f, 0xe1, 0x5c, 0xfc, 0x72, 0x09, + 0x1a, 0x63, 0xdd, 0xf5, 0xcd, 0x08, 0xbf, 0xcb, 0x4d, 0xd3, 0xd8, 0x9d, 0x8c, 0x60, 0xd2, 0x5f, + 0xbb, 0xba, 0x77, 0xb4, 0xb5, 0xc9, 0xb9, 0x24, 0xd2, 0x86, 0x3e, 0x0d, 0x65, 0x0b, 0x3f, 0xc0, + 0x16, 0x65, 0x92, 0x56, 0xef, 0xd9, 0x54, 0x36, 0xe0, 0x8b, 0xbe, 0x43, 0x00, 0x35, 0x06, 0xaf, + 0xfe, 0xa1, 0x02, 0xeb, 0x6f, 0x79, 0x9e, 0x39, 0xb4, 0x13, 0x24, 0x59, 0x87, 0x8a, 0xed, 0x18, + 0x78, 0x6b, 0x93, 0xd2, 0xa4, 0xa8, 0xf1, 0x27, 0xf4, 0x0c, 0xd4, 0xc7, 0x18, 0xbb, 0x7d, 0xd7, + 0xb1, 0x02, 0x8a, 0xd4, 0x48, 0x83, 0xe6, 0x58, 0x18, 0xed, 0xc0, 0x8a, 0x17, 0xeb, 0x88, 0xed, + 0x40, 0xa3, 0xf7, 0xfc, 0xb4, 0x49, 0x09, 0x68, 0x2d, 0x89, 0xaf, 0x7e, 0x5c, 0x80, 0x55, 0x01, + 0xc7, 0x66, 0x4b, 0x7e, 0x93, 0x4d, 0xf3, 0xf0, 0x50, 0x4c, 0x90, 0x3d, 0xe4, 0xd9, 0x34, 0xb1, + 0xdb, 0x45, 0x79, 0xb7, 0xf3, 0xe8, 0xa5, 0xd8, 0x56, 0x96, 0x93, 0x5b, 0x79, 0x11, 0x1a, 0xf8, + 0xd1, 0xd8, 0x74, 0x71, 0x9f, 0xc8, 0x31, 0xdd, 0xad, 0x92, 0x06, 0xac, 0x69, 0xd7, 0x1c, 0xc9, + 0xca, 0xaa, 0x3a, 0x87, 0xb2, 0x52, 0xbf, 0xaf, 0xc0, 0xd9, 0xc4, 0x4e, 0x71, 0xfd, 0xb7, 0x0b, + 0x6d, 0xba, 0xf6, 0x90, 0x36, 0x44, 0x13, 0x12, 0xa2, 0x5f, 0x99, 0x4e, 0xf4, 0x10, 0x41, 0x4b, + 0xf4, 0x20, 0x4d, 0xb4, 0x30, 0xcf, 0x44, 0x47, 0x70, 0xf6, 0x1d, 0xec, 0xf3, 0x21, 0xc8, 0x3b, + 0xbc, 0x90, 0x94, 0x47, 0x95, 0x6d, 0x21, 0xae, 0x6c, 0xd5, 0x3f, 0x0d, 0xc5, 0x99, 0x0e, 0xb6, + 0x65, 0x1f, 0x38, 0xe8, 0x1c, 0xd4, 0x05, 0x08, 0xe7, 0x8e, 0xb0, 0x01, 0x7d, 0x16, 0xca, 0x64, + 0xae, 0x8c, 0x35, 0x5a, 0xbd, 0xe7, 0xb2, 0xd6, 0x25, 0xf5, 0xaa, 0x31, 0x0c, 0x74, 0x1b, 0x5a, + 0x9e, 0xaf, 0xbb, 0x7e, 0x7f, 0xcc, 0xb5, 0x1b, 0x65, 0xa1, 0x1c, 0x4a, 0x70, 0x89, 0xa2, 0x05, + 0x8f, 0xe8, 0x16, 0x34, 0xb1, 0x6d, 0x84, 0xbd, 0x94, 0xf2, 0xf5, 0xd2, 0xc0, 0xb6, 0x21, 0xfa, + 0x08, 0xf7, 0xa7, 0x3c, 0xcf, 0xfe, 0xfc, 0x96, 0x02, 0x9d, 0xe4, 0x06, 0x2d, 0x66, 0x49, 0xdf, + 0x60, 0x68, 0x98, 0x6d, 0xd0, 0x0c, 0x59, 0x17, 0xdb, 0xa4, 0x71, 0x24, 0xf5, 0x7b, 0x0a, 0x3c, + 0x15, 0x4e, 0x89, 0xbe, 0x7a, 0x7c, 0x1c, 0x83, 0xae, 0x41, 0xdb, 0xb4, 0x07, 0xd6, 0xc4, 0xc0, + 0xf7, 0xed, 0x2f, 0x62, 0xdd, 0xf2, 0x0f, 0x8f, 0xe9, 0x2e, 0xd6, 0xb4, 0x44, 0xbb, 0xfa, 0x5f, + 0x05, 0x58, 0x8f, 0xcf, 0x6c, 0x31, 0x52, 0xfd, 0x0c, 0x94, 0x4d, 0xfb, 0xc0, 0x09, 0x28, 0x75, + 0x69, 0xaa, 0x80, 0x92, 0xf1, 0x18, 0x38, 0xfa, 0x10, 0x90, 0xb0, 0xf7, 0x87, 0x78, 0x70, 0x34, + 0x76, 0x4c, 0xaa, 0xc0, 0x48, 0x27, 0xb7, 0x52, 0x3b, 0x49, 0x9f, 0xb7, 0xb0, 0xff, 0xa2, 0x13, + 0xe6, 0x06, 0xac, 0x0c, 0xe2, 0xed, 0x5d, 0x0c, 0xeb, 0xe9, 0xc0, 0xa7, 0xeb, 0x14, 0x38, 0xf0, + 0xcc, 0x3b, 0xd8, 0xdf, 0xb2, 0x3d, 0xec, 0xfa, 0xb7, 0x4c, 0xdb, 0x72, 0x86, 0xdb, 0xba, 0x7f, + 0xb8, 0x90, 0xd2, 0x88, 0xc8, 0x7f, 0x21, 0x26, 0xff, 0xea, 0x0f, 0x14, 0x38, 0x97, 0x3e, 0x22, + 0xdf, 0xda, 0x2e, 0xd4, 0x0e, 0x4c, 0x6c, 0x19, 0x84, 0x7f, 0x14, 0xca, 0x3f, 0xe2, 0x99, 0x28, + 0x8f, 0x31, 0x01, 0xe6, 0xfb, 0x97, 0x50, 0x1e, 0xc2, 0x51, 0xdf, 0xf1, 0x5d, 0xd3, 0x1e, 0xde, + 0x31, 0x3d, 0x5f, 0x63, 0x18, 0x12, 0xc7, 0x14, 0xe7, 0x11, 0xd8, 0xef, 0x28, 0x70, 0xe1, 0x1d, + 0xec, 0x6f, 0x08, 0x3b, 0x44, 0xde, 0x9b, 0x9e, 0x6f, 0x0e, 0xbc, 0xd3, 0x76, 0xdd, 0x73, 0x78, + 0x33, 0xea, 0x6f, 0x2b, 0x70, 0x31, 0x73, 0x3a, 0x9c, 0x80, 0x5c, 0xc3, 0x06, 0x56, 0x28, 0x4b, + 0xc3, 0xbe, 0x87, 0x8f, 0xf7, 0x08, 0x1b, 0x6c, 0xeb, 0xa6, 0xcb, 0x34, 0xec, 0x89, 0xad, 0xce, + 0x9f, 0x29, 0x70, 0xfe, 0x1d, 0xec, 0x6f, 0x07, 0x96, 0xf8, 0x89, 0xd2, 0x88, 0xc0, 0x48, 0x3e, + 0x41, 0x10, 0x23, 0x44, 0xda, 0xd4, 0xef, 0xb2, 0x6d, 0x4d, 0x9d, 0xf1, 0x13, 0x23, 0xe3, 0x05, + 0x2a, 0x19, 0x92, 0xda, 0xe0, 0x0a, 0x80, 0x13, 0x51, 0xfd, 0x51, 0x19, 0x9a, 0x7b, 0x5c, 0x53, + 0x50, 0x4b, 0x1b, 0xa7, 0x86, 0x92, 0xee, 0x34, 0x49, 0xde, 0x57, 0x9a, 0x43, 0xb6, 0x09, 0x4b, + 0x1e, 0xc6, 0x47, 0x73, 0x5b, 0xd5, 0x26, 0xc1, 0x12, 0x06, 0xf1, 0x1e, 0xac, 0x4c, 0x6c, 0x1a, + 0x02, 0x60, 0x83, 0x2f, 0x81, 0x91, 0x3e, 0x8f, 0x9a, 0x4d, 0xa2, 0xa2, 0x77, 0x79, 0x1c, 0x27, + 0xf5, 0x56, 0xce, 0xd9, 0x5b, 0x1c, 0x11, 0xbd, 0x07, 0x6d, 0xc3, 0x75, 0xc6, 0x63, 0x6c, 0xf4, + 0xbd, 0xa0, 0xb3, 0x4a, 0xde, 0xce, 0x38, 0xa6, 0xe8, 0xec, 0x65, 0x58, 0x8d, 0xcf, 0x76, 0xcb, + 0x20, 0xfe, 0x24, 0xe1, 0xb2, 0xb4, 0x57, 0xe8, 0x45, 0x58, 0x49, 0xc2, 0xd7, 0x28, 0x7c, 0xf2, + 0x05, 0x7a, 0x09, 0x50, 0x6c, 0xb2, 0x04, 0xbc, 0xce, 0xc0, 0xa3, 0x93, 0xe1, 0xe0, 0x34, 0xcf, + 0x10, 0x05, 0x07, 0x06, 0xce, 0xdf, 0x48, 0xe0, 0xef, 0x11, 0xfb, 0x1b, 0x01, 0xf7, 0x3a, 0x8d, + 0xbc, 0xa4, 0x88, 0x76, 0xe7, 0xa1, 0x57, 0x61, 0x9d, 0x46, 0x32, 0xfd, 0x8f, 0xb0, 0xeb, 0x04, + 0xfd, 0xf5, 0x4d, 0xc3, 0xeb, 0x34, 0x19, 0x35, 0xe8, 0xdb, 0xaf, 0x60, 0xd7, 0x09, 0x67, 0xa0, + 0xfe, 0x86, 0x02, 0xeb, 0x5f, 0xd2, 0xfd, 0xc1, 0xe1, 0xe6, 0xe8, 0x34, 0x02, 0xd1, 0x37, 0xa1, + 0xfe, 0x40, 0x84, 0x9b, 0xcc, 0x2c, 0xa4, 0x47, 0x60, 0xb2, 0xe4, 0x68, 0x21, 0x8e, 0xfa, 0xf7, + 0x41, 0x58, 0x1c, 0x2c, 0xeb, 0x49, 0xe8, 0xac, 0x59, 0x59, 0x8d, 0x98, 0x14, 0x97, 0x13, 0x52, + 0xac, 0x7e, 0x0d, 0x80, 0x2f, 0xe0, 0xae, 0x37, 0x3c, 0xd1, 0xdc, 0x5f, 0x83, 0x2a, 0x1f, 0x91, + 0xab, 0xad, 0xd9, 0x1c, 0x11, 0x20, 0xa8, 0x3f, 0xa8, 0x42, 0x43, 0x7a, 0x81, 0x5a, 0x50, 0x10, + 0xfa, 0xa8, 0x90, 0x42, 0x83, 0xc2, 0xec, 0xf0, 0xae, 0x98, 0x0c, 0xef, 0x9e, 0x87, 0x96, 0x49, + 0xfd, 0x86, 0x3e, 0x5f, 0x39, 0x75, 0xdd, 0xeb, 0xda, 0x12, 0x6b, 0xe5, 0xec, 0x84, 0x2e, 0x40, + 0xc3, 0x9e, 0x8c, 0xfa, 0xce, 0x41, 0xdf, 0x75, 0x1e, 0x7a, 0x3c, 0x4e, 0xac, 0xdb, 0x93, 0xd1, + 0xfb, 0x07, 0x9a, 0xf3, 0xd0, 0x0b, 0x43, 0x90, 0xca, 0xdc, 0x21, 0xc8, 0x05, 0x68, 0x8c, 0xf4, + 0x47, 0xa4, 0xdf, 0xbe, 0x3d, 0x19, 0xd1, 0x20, 0xb2, 0xa8, 0xd5, 0x47, 0xfa, 0x23, 0xcd, 0x79, + 0x78, 0x6f, 0x32, 0x42, 0x57, 0xa0, 0x6d, 0xe9, 0x9e, 0xdf, 0x97, 0xa3, 0xd0, 0x1a, 0x8d, 0x42, + 0x5b, 0xa4, 0xfd, 0xed, 0x30, 0x12, 0x4d, 0x06, 0x33, 0xf5, 0x93, 0x06, 0x33, 0xc6, 0xc8, 0x0a, + 0x7b, 0x81, 0x9c, 0xc1, 0x8c, 0x31, 0xb2, 0x44, 0x1f, 0xaf, 0x41, 0x75, 0x9f, 0x7a, 0x62, 0xd3, + 0x75, 0xc1, 0x6d, 0xe2, 0x86, 0x31, 0x97, 0x4d, 0x0b, 0x10, 0xd0, 0xe7, 0xa1, 0x4e, 0x8d, 0x1e, + 0xc5, 0x6e, 0xe6, 0xc4, 0x0e, 0x51, 0x08, 0xbe, 0x81, 0x2d, 0x5f, 0xa7, 0xf8, 0x4b, 0x79, 0xf1, + 0x05, 0x0a, 0x51, 0xc7, 0x03, 0x17, 0xeb, 0x3e, 0x36, 0x6e, 0x1d, 0x6f, 0x38, 0xa3, 0xb1, 0x4e, + 0xd9, 0xa9, 0xd3, 0xa2, 0x31, 0x45, 0xda, 0x2b, 0x74, 0x19, 0x5a, 0x03, 0xf1, 0x74, 0xdb, 0x75, + 0x46, 0x9d, 0x65, 0x2a, 0x6f, 0xb1, 0x56, 0x74, 0x1e, 0x20, 0x50, 0xc4, 0xba, 0xdf, 0x69, 0xd3, + 0x5d, 0xac, 0xf3, 0x96, 0xb7, 0x68, 0x7e, 0xca, 0xf4, 0xfa, 0x2c, 0x13, 0x64, 0xda, 0xc3, 0xce, + 0x0a, 0x1d, 0xb1, 0x11, 0xa4, 0x8e, 0x4c, 0x7b, 0x88, 0xce, 0x42, 0xd5, 0xf4, 0xfa, 0x07, 0xfa, + 0x11, 0xee, 0x20, 0xfa, 0xb6, 0x62, 0x7a, 0xb7, 0xf5, 0x23, 0xea, 0x22, 0xf3, 0xc1, 0xb0, 0xd1, + 0x59, 0xa5, 0xaf, 0xc2, 0x86, 0x30, 0xa1, 0xb4, 0x36, 0x5f, 0x42, 0x09, 0xbd, 0x00, 0xcb, 0x9e, + 0xef, 0xb8, 0xfa, 0x10, 0xf7, 0x1f, 0x60, 0xd7, 0x23, 0x74, 0x78, 0x8a, 0x72, 0x68, 0x8b, 0x37, + 0xef, 0xb1, 0x56, 0xf5, 0x6b, 0xb0, 0x16, 0x72, 0xb7, 0xc4, 0x4c, 0x49, 0xa6, 0x54, 0x4e, 0xc4, + 0x94, 0xd3, 0x43, 0x80, 0x1f, 0x97, 0x61, 0x7d, 0x47, 0x7f, 0x80, 0x7f, 0x12, 0xf1, 0x46, 0x2e, + 0xed, 0x7b, 0x0f, 0x56, 0x68, 0x88, 0xd1, 0x93, 0x66, 0x34, 0xd5, 0x77, 0x91, 0x79, 0x31, 0x89, + 0x8a, 0xde, 0x22, 0xda, 0x1a, 0x0f, 0x8e, 0xb6, 0x49, 0xd0, 0x16, 0xf8, 0x2d, 0x17, 0x53, 0x7b, + 0xda, 0x10, 0x70, 0x9a, 0x8c, 0x83, 0x34, 0xb2, 0x95, 0xf2, 0x4e, 0x04, 0x1e, 0xcb, 0xd5, 0x19, + 0xd1, 0x7d, 0xb8, 0x0b, 0x5a, 0x2b, 0xb2, 0x29, 0x1e, 0xea, 0x40, 0x95, 0xbb, 0x1b, 0x54, 0x71, + 0xd5, 0xb4, 0xe0, 0x11, 0x69, 0xb0, 0xca, 0x56, 0xb1, 0xc3, 0xe5, 0x92, 0x91, 0xa0, 0x96, 0x93, + 0x04, 0x69, 0xc8, 0x51, 0xc1, 0xae, 0xcf, 0x2f, 0xd8, 0x1d, 0xa8, 0x72, 0x61, 0xa3, 0x3a, 0xad, + 0xa6, 0x05, 0x8f, 0x64, 0xc3, 0x43, 0xb1, 0x6b, 0x30, 0xe9, 0x11, 0x0d, 0x04, 0x2f, 0xb0, 0x0e, + 0x4d, 0x6a, 0x1d, 0x82, 0x47, 0xaa, 0xaa, 0xf0, 0xb0, 0xcf, 0x64, 0x6b, 0x29, 0xaf, 0x6c, 0xd5, + 0x3c, 0x3c, 0xa4, 0xbf, 0xe2, 0x06, 0xaa, 0x95, 0x34, 0x50, 0x97, 0x21, 0x26, 0x69, 0x9d, 0xe5, + 0x54, 0xf9, 0xfb, 0x35, 0x05, 0x20, 0xdc, 0xf9, 0x19, 0x19, 0xb3, 0xd7, 0xa1, 0x26, 0xc4, 0x31, + 0x67, 0x80, 0x2f, 0x10, 0xe2, 0xb6, 0xb0, 0x18, 0xb3, 0x85, 0xea, 0x3f, 0x29, 0xd0, 0xdc, 0x24, + 0x34, 0xbf, 0xe3, 0x0c, 0xa9, 0xe5, 0x7e, 0x1e, 0x5a, 0x2e, 0x1e, 0x38, 0xae, 0xd1, 0xc7, 0xb6, + 0xef, 0x9a, 0x98, 0x65, 0x58, 0x4a, 0xda, 0x12, 0x6b, 0x7d, 0x9b, 0x35, 0x12, 0x30, 0x62, 0xdc, + 0x3c, 0x5f, 0x1f, 0x8d, 0xfb, 0x07, 0x44, 0x89, 0xb2, 0x53, 0x80, 0x25, 0xd1, 0x4a, 0x75, 0xe8, + 0xb3, 0xd0, 0x0c, 0xc1, 0x7c, 0x87, 0x8e, 0x5f, 0xd2, 0x1a, 0xa2, 0x6d, 0xd7, 0x41, 0x9f, 0x80, + 0x16, 0xdd, 0xf4, 0xbe, 0xe5, 0x0c, 0xfb, 0x24, 0x56, 0xe7, 0x46, 0xbd, 0x69, 0xf0, 0x69, 0x11, + 0x76, 0x8a, 0x42, 0x79, 0xe6, 0x47, 0x98, 0x9b, 0x75, 0x01, 0xb5, 0x63, 0x7e, 0x84, 0xd5, 0x6f, + 0x2a, 0xb0, 0xc4, 0xbd, 0x80, 0x1d, 0x71, 0xcc, 0x44, 0x13, 0xd1, 0x2c, 0x5b, 0x42, 0x7f, 0xa3, + 0xcf, 0x45, 0x53, 0x90, 0x97, 0x33, 0x04, 0x93, 0x76, 0x43, 0x3d, 0xd5, 0x88, 0x0b, 0x90, 0x27, + 0x4c, 0xff, 0x98, 0x50, 0x55, 0xf7, 0xf5, 0x7b, 0x8e, 0xc1, 0x72, 0xa2, 0x1d, 0xa8, 0xea, 0x86, + 0xe1, 0x62, 0xcf, 0xe3, 0x33, 0x09, 0x1e, 0xc9, 0x9b, 0x40, 0x57, 0x33, 0xdd, 0x15, 0x3c, 0xa2, + 0xcf, 0xc7, 0xce, 0x51, 0x1a, 0x3d, 0x75, 0xda, 0x4c, 0x79, 0x30, 0x19, 0x9e, 0xb5, 0xfc, 0x75, + 0x01, 0x5a, 0x9c, 0x93, 0x6f, 0x71, 0x63, 0x3d, 0x9d, 0xd1, 0x36, 0xa1, 0x79, 0x10, 0xca, 0xe2, + 0xf4, 0x24, 0x99, 0x2c, 0xb4, 0x11, 0xac, 0x59, 0x1c, 0x17, 0x75, 0x18, 0x4a, 0x0b, 0x3a, 0x0c, + 0xe5, 0xf9, 0xf5, 0x4a, 0xd2, 0x89, 0xac, 0xa4, 0x38, 0x91, 0xea, 0x57, 0xa1, 0x21, 0x75, 0x40, + 0x75, 0x27, 0xcb, 0x42, 0x71, 0xba, 0x05, 0x8f, 0xe8, 0x66, 0xe8, 0x3c, 0x31, 0x82, 0x3d, 0x93, + 0x3a, 0x9b, 0x98, 0xdf, 0xa4, 0xfe, 0xa7, 0x02, 0x15, 0xde, 0xf7, 0x45, 0x68, 0x70, 0x59, 0xa3, + 0x4e, 0x25, 0xeb, 0x1f, 0x78, 0x13, 0xf1, 0x2a, 0x4f, 0x4f, 0xd8, 0x9e, 0x86, 0x5a, 0x4c, 0xcc, + 0xaa, 0x5c, 0x61, 0x07, 0xaf, 0x24, 0xd9, 0x22, 0xaf, 0x88, 0x58, 0xa1, 0x35, 0x28, 0x5b, 0xce, + 0x50, 0x1c, 0x7f, 0xb1, 0x07, 0x32, 0xed, 0x11, 0x1e, 0x39, 0xee, 0x31, 0xc3, 0x61, 0xbe, 0x30, + 0xb0, 0x26, 0x2a, 0x8d, 0xff, 0xac, 0xd0, 0xd3, 0x08, 0x0d, 0x0f, 0x9c, 0x07, 0xd8, 0x3d, 0x3e, + 0x8d, 0x04, 0xee, 0x1b, 0x92, 0x4c, 0xe4, 0x0e, 0xf6, 0x04, 0x0a, 0x7a, 0x23, 0xdc, 0xab, 0x62, + 0x7a, 0x56, 0x47, 0xd6, 0xff, 0x9c, 0xa3, 0xc3, 0x3d, 0xfb, 0xae, 0x42, 0x13, 0xd2, 0xd1, 0x05, + 0x9d, 0xdc, 0x71, 0x39, 0x95, 0xa0, 0x48, 0xfd, 0x17, 0x05, 0x9e, 0xce, 0xa0, 0xf2, 0x5e, 0xef, + 0x09, 0xd1, 0xf9, 0x73, 0x50, 0x13, 0xd9, 0x85, 0x62, 0xce, 0xec, 0x82, 0xc0, 0x50, 0x7f, 0x8f, + 0x1d, 0x92, 0xa4, 0x90, 0x79, 0xaf, 0xf7, 0xd8, 0x08, 0x1d, 0xcf, 0x1a, 0x16, 0x53, 0xb2, 0x86, + 0xff, 0xa6, 0x40, 0x37, 0xcc, 0xd0, 0x79, 0xb7, 0x8e, 0x17, 0x3f, 0x61, 0x3b, 0x9d, 0xc0, 0xf8, + 0x75, 0x71, 0x04, 0x44, 0x14, 0x6a, 0xce, 0x90, 0x36, 0x38, 0x00, 0x1a, 0xd3, 0x23, 0x80, 0xe4, + 0xa2, 0x16, 0x93, 0xd4, 0xae, 0xc4, 0x02, 0xec, 0x18, 0x28, 0xdc, 0xe0, 0xbf, 0x63, 0x2c, 0x7b, + 0x3b, 0x9a, 0xa6, 0x7b, 0xf2, 0x64, 0x94, 0x0f, 0xa7, 0x0e, 0xf9, 0xe1, 0x54, 0x29, 0x76, 0x38, + 0xc5, 0xdb, 0x55, 0x87, 0xb2, 0x42, 0x62, 0x09, 0x8f, 0x8f, 0x68, 0xdf, 0x56, 0xa0, 0xc3, 0xc7, + 0x61, 0x55, 0x1c, 0xce, 0x68, 0x6c, 0x61, 0x1f, 0x1b, 0x4f, 0x22, 0xdf, 0xf3, 0xe7, 0x05, 0x68, + 0xcb, 0x1e, 0x12, 0x75, 0x72, 0x3e, 0x0d, 0x65, 0x9a, 0x56, 0xe3, 0xb3, 0xc8, 0xa1, 0x31, 0x18, + 0x3c, 0x31, 0xae, 0x34, 0x54, 0xd9, 0xf5, 0x02, 0x1f, 0x88, 0x3f, 0x86, 0xae, 0x5a, 0xf1, 0x24, + 0xae, 0xda, 0x39, 0xa8, 0x13, 0xe3, 0xe7, 0x4c, 0x48, 0xcf, 0xac, 0xa2, 0x20, 0x6c, 0x40, 0x6f, + 0x42, 0x85, 0x95, 0x6e, 0xf1, 0x23, 0xdc, 0x17, 0xe2, 0x9d, 0xf3, 0xc2, 0x2e, 0xe9, 0xb0, 0x85, + 0x36, 0x68, 0x1c, 0x8d, 0xec, 0xd6, 0xd8, 0x75, 0x86, 0xd4, 0xab, 0x23, 0x96, 0xb1, 0xac, 0x89, + 0x67, 0xe2, 0x77, 0x3a, 0xe3, 0xad, 0x4d, 0x6e, 0x15, 0xe9, 0x6f, 0xf5, 0x0e, 0xac, 0x87, 0x69, + 0x08, 0x36, 0xd1, 0x93, 0xb3, 0xbc, 0xfa, 0xa3, 0x02, 0xac, 0xee, 0x1c, 0xdb, 0x83, 0xb8, 0xf8, + 0xac, 0x43, 0x65, 0x6c, 0xe9, 0xe1, 0x71, 0x00, 0x7f, 0xa2, 0xa5, 0x19, 0x41, 0x8a, 0x81, 0x78, + 0x07, 0x8c, 0xd2, 0x0d, 0xd1, 0xb6, 0xeb, 0xcc, 0x74, 0xdd, 0x9e, 0x17, 0x99, 0x13, 0x6c, 0x30, + 0x3f, 0x84, 0x65, 0x2a, 0x97, 0x44, 0x2b, 0xf5, 0x43, 0xde, 0x04, 0xa0, 0xee, 0x5a, 0x7f, 0x3e, + 0x17, 0x8d, 0xe2, 0xdc, 0x21, 0x2e, 0x5a, 0xbc, 0x8a, 0xa4, 0x92, 0x3c, 0xb4, 0x78, 0x56, 0x52, + 0xd7, 0x7d, 0xd3, 0xe0, 0x74, 0x96, 0xa4, 0xd9, 0x40, 0xcf, 0xc1, 0x52, 0x28, 0xff, 0x04, 0xa6, + 0x96, 0x50, 0x0a, 0x86, 0xfa, 0xc3, 0x22, 0x74, 0xa4, 0x4d, 0xf9, 0xc9, 0xbb, 0xcb, 0x19, 0xa1, + 0x77, 0xf1, 0xd4, 0x42, 0xef, 0xd2, 0x69, 0xb8, 0xc8, 0xe5, 0xb4, 0x3c, 0xab, 0xc8, 0x53, 0x55, + 0xe6, 0xcc, 0x53, 0xc5, 0xb5, 0x75, 0x75, 0xb6, 0xb6, 0xae, 0x25, 0x1d, 0x9f, 0x6f, 0x16, 0xa1, + 0x15, 0x6e, 0xdd, 0xb6, 0xa5, 0xdb, 0x99, 0xbc, 0x7f, 0x1f, 0x5a, 0x5e, 0x64, 0x6b, 0xf9, 0x66, + 0xbd, 0x94, 0xae, 0x4f, 0x32, 0xf8, 0x41, 0x8b, 0x75, 0x82, 0xce, 0x53, 0x46, 0x77, 0x7d, 0x96, + 0xe7, 0x65, 0xee, 0x76, 0x9d, 0xa9, 0x2e, 0x73, 0x84, 0xd1, 0x8b, 0x80, 0xb8, 0xb6, 0xe9, 0x9b, + 0x76, 0xdf, 0xc3, 0x03, 0xc7, 0x36, 0x98, 0x1e, 0x2a, 0x6b, 0x6d, 0xfe, 0x66, 0xcb, 0xde, 0x61, + 0xed, 0xe8, 0xd3, 0x50, 0xf2, 0x8f, 0xc7, 0xcc, 0xf7, 0x6e, 0x65, 0x38, 0xa6, 0xe1, 0xcc, 0x76, + 0x8f, 0xc7, 0x58, 0xa3, 0x08, 0x41, 0x1d, 0xa3, 0xef, 0xea, 0xc1, 0x5e, 0x94, 0x34, 0xa9, 0x45, + 0x4e, 0x88, 0x54, 0xa3, 0x09, 0x11, 0x2a, 0xcf, 0x42, 0x42, 0x7c, 0xdf, 0xe2, 0x64, 0x96, 0xe4, + 0x66, 0xd7, 0xb7, 0xc8, 0x32, 0x7d, 0xc7, 0xd7, 0x2d, 0xa6, 0x15, 0xea, 0x5c, 0x8f, 0x92, 0x16, + 0x9a, 0x42, 0xf8, 0x8f, 0x02, 0xac, 0x24, 0x48, 0x96, 0xb9, 0x15, 0xd3, 0xb3, 0x75, 0xb3, 0x34, + 0xd0, 0x5b, 0xd0, 0xe0, 0x9c, 0x39, 0x17, 0x6f, 0x03, 0x43, 0xba, 0x33, 0x45, 0xe0, 0xca, 0xa7, + 0x26, 0x70, 0x95, 0x13, 0xe5, 0xba, 0xd2, 0xb7, 0x48, 0xfd, 0x7a, 0x01, 0xd6, 0xa2, 0x4c, 0xae, + 0x61, 0x6f, 0x62, 0x65, 0xd3, 0x77, 0x56, 0x72, 0x83, 0xdb, 0x92, 0xb8, 0x21, 0xe2, 0x16, 0xf3, + 0x56, 0xc2, 0x71, 0xbf, 0x9c, 0x4f, 0x44, 0x42, 0x47, 0x45, 0x5e, 0x4c, 0x29, 0xca, 0x6f, 0x27, + 0x65, 0x71, 0xf5, 0x77, 0x15, 0x38, 0x9b, 0x30, 0x9d, 0x8b, 0xb9, 0x5a, 0x1b, 0x50, 0x75, 0x29, + 0x25, 0x03, 0x5d, 0x70, 0x75, 0xc6, 0x74, 0x42, 0xda, 0x6b, 0x01, 0xa6, 0xba, 0x03, 0xeb, 0x81, + 0x4b, 0x16, 0x6e, 0xec, 0x5d, 0xec, 0xeb, 0x53, 0xf2, 0x05, 0x17, 0xa1, 0xc1, 0xe2, 0x49, 0x16, + 0x85, 0xb3, 0x03, 0x79, 0xd8, 0x17, 0xe9, 0x63, 0xf5, 0x7b, 0x05, 0x58, 0xa3, 0xbe, 0x4c, 0xfc, + 0x78, 0x34, 0xcf, 0x71, 0xbf, 0x2a, 0x4c, 0x27, 0x31, 0x93, 0x6c, 0x6d, 0x75, 0x2d, 0xd2, 0x86, + 0xde, 0x4b, 0xe6, 0x96, 0x33, 0xf2, 0x4b, 0x61, 0x8d, 0xc3, 0xa6, 0xee, 0xeb, 0xb4, 0xc4, 0x21, + 0x9e, 0x54, 0x0e, 0xbd, 0xa8, 0xd2, 0xc9, 0xbc, 0xa8, 0xab, 0xd0, 0x66, 0xa7, 0x34, 0x7d, 0x91, + 0xa8, 0xa0, 0x0c, 0x52, 0xd2, 0x96, 0x59, 0xfb, 0x6e, 0xd0, 0xac, 0xde, 0x83, 0xa7, 0x62, 0x84, + 0x59, 0x88, 0x07, 0xd4, 0x3f, 0x51, 0xc8, 0xfe, 0x45, 0xaa, 0xf1, 0x16, 0x09, 0x42, 0xce, 0x8b, + 0x43, 0x5c, 0xe2, 0x6d, 0xc4, 0x74, 0x9b, 0x81, 0xbe, 0x00, 0x75, 0x1b, 0x3f, 0xec, 0xcb, 0xfe, + 0x6c, 0xae, 0x38, 0xad, 0x66, 0xe3, 0x87, 0xf4, 0x97, 0xba, 0x0d, 0x67, 0x13, 0xd3, 0x5d, 0x8c, + 0x02, 0x7f, 0xab, 0xc0, 0xd3, 0x9b, 0xae, 0x33, 0xde, 0x33, 0x5d, 0x7f, 0xa2, 0x5b, 0xd1, 0x82, + 0x93, 0x13, 0x11, 0x21, 0x47, 0x05, 0xf0, 0xbb, 0x09, 0x25, 0x73, 0x3d, 0x55, 0xf6, 0x92, 0x13, + 0x4b, 0x28, 0x1b, 0xf5, 0x7f, 0x8a, 0x69, 0x0b, 0x08, 0x8c, 0xd0, 0x74, 0x07, 0x2e, 0x4f, 0xd0, + 0x98, 0x7a, 0x34, 0x54, 0x3c, 0xf9, 0xd1, 0x50, 0x86, 0xf5, 0x29, 0x9d, 0x9a, 0xf5, 0x39, 0x41, + 0x46, 0xf4, 0x6d, 0x88, 0x1e, 0xdf, 0x51, 0x1f, 0x62, 0xfe, 0x43, 0xbf, 0x37, 0x01, 0xc2, 0x13, + 0x2c, 0x5e, 0x5f, 0x3d, 0xb3, 0x0f, 0x09, 0x85, 0xec, 0x96, 0xb0, 0xf4, 0xdc, 0x13, 0x91, 0x4e, + 0x2a, 0x76, 0xa0, 0x9b, 0xc6, 0xa9, 0x8b, 0xf1, 0xff, 0x6f, 0x2a, 0x70, 0xe1, 0xfe, 0xd8, 0xd0, + 0x7d, 0x2c, 0x49, 0xd5, 0xe2, 0xa5, 0x6b, 0xa2, 0x76, 0xac, 0x30, 0xb5, 0x76, 0x4c, 0x1a, 0xd3, + 0xe3, 0xb5, 0x63, 0xea, 0x8f, 0xc5, 0x8c, 0x12, 0xe5, 0x9f, 0x8b, 0xcc, 0xa8, 0x0b, 0xb5, 0x07, + 0xbc, 0xc3, 0xe0, 0xde, 0x40, 0xf0, 0x1c, 0x39, 0x60, 0x2a, 0xce, 0x7b, 0xc0, 0xb4, 0x0d, 0xab, + 0xc9, 0xd2, 0xd8, 0x80, 0xa1, 0x67, 0xf6, 0x83, 0x12, 0x85, 0xaf, 0x9e, 0xfa, 0x3e, 0x3c, 0xad, + 0x61, 0x0f, 0xdb, 0x46, 0x84, 0x3c, 0x0b, 0x44, 0xca, 0x2e, 0x74, 0xd3, 0x3a, 0x5c, 0xcc, 0x7f, + 0x60, 0xca, 0xbe, 0xef, 0x92, 0x8e, 0x7d, 0x9e, 0xac, 0x21, 0xba, 0x85, 0x8e, 0xe4, 0xab, 0x1f, + 0x42, 0xf7, 0xae, 0xee, 0x1e, 0x05, 0xc1, 0xf9, 0x26, 0x3b, 0xba, 0x5c, 0x64, 0x07, 0x2f, 0x42, + 0x43, 0xae, 0xb0, 0x8a, 0x95, 0x56, 0x1b, 0x9e, 0x7a, 0x20, 0x0e, 0xf5, 0x35, 0x7c, 0x80, 0x5d, + 0x6c, 0x0f, 0xf0, 0x1d, 0x67, 0x70, 0x44, 0x3c, 0x45, 0x9f, 0xdd, 0x5e, 0xe1, 0x9e, 0x22, 0x7b, + 0x92, 0xee, 0x98, 0x14, 0x22, 0x77, 0x4c, 0x66, 0x5c, 0x21, 0x53, 0xff, 0xbb, 0x00, 0xeb, 0x6f, + 0x59, 0x3e, 0x76, 0x43, 0x93, 0x3e, 0x8f, 0x87, 0x12, 0x3a, 0x0c, 0x85, 0x93, 0x39, 0x0c, 0x39, + 0x32, 0xb5, 0x69, 0x2e, 0x4e, 0xe9, 0xc4, 0x2e, 0xce, 0x06, 0xc0, 0xd8, 0x75, 0xc6, 0xd8, 0xf5, + 0x4d, 0x1c, 0x28, 0xd8, 0x5c, 0xe5, 0xa0, 0x12, 0x9a, 0xa8, 0x0c, 0xab, 0x48, 0x95, 0x61, 0xe7, + 0xa0, 0x1e, 0x08, 0x21, 0x2b, 0x20, 0xac, 0x6b, 0x61, 0x83, 0xfa, 0x15, 0x68, 0xbf, 0x33, 0xd8, + 0x70, 0xec, 0x03, 0xd3, 0x1d, 0x05, 0x04, 0x4e, 0xe4, 0x34, 0x92, 0x14, 0x36, 0x12, 0xb9, 0x91, + 0x42, 0x22, 0x37, 0xa2, 0x1e, 0xc1, 0x8a, 0xd4, 0xf7, 0x62, 0x92, 0x70, 0x11, 0x1a, 0xc3, 0x41, + 0xff, 0xc0, 0xb4, 0x4d, 0x5a, 0x5a, 0x50, 0xa0, 0x09, 0x53, 0x18, 0x0e, 0x6e, 0xf3, 0x16, 0xf5, + 0xd7, 0x15, 0x78, 0x46, 0xc3, 0x63, 0xc7, 0xf5, 0x83, 0x33, 0xd1, 0x5d, 0xff, 0xae, 0x37, 0x5c, + 0x48, 0xc3, 0xde, 0x84, 0xd2, 0xc8, 0x1b, 0x66, 0x1e, 0x4e, 0x10, 0x3d, 0x13, 0x19, 0x4c, 0xa3, + 0xe0, 0xea, 0x5f, 0x29, 0xb0, 0x16, 0xa4, 0x6d, 0x23, 0xfe, 0x5e, 0x94, 0xe9, 0x95, 0x44, 0x01, + 0xde, 0x94, 0xfb, 0x6e, 0x67, 0xa1, 0x6a, 0xec, 0x33, 0x67, 0xa7, 0x48, 0x35, 0x6b, 0xc5, 0xd8, + 0xa7, 0x7e, 0xce, 0x0b, 0xb0, 0x2c, 0x6d, 0x16, 0x05, 0x60, 0x01, 0x91, 0x14, 0x75, 0xa7, 0xde, + 0x63, 0x2b, 0xa7, 0x1c, 0x29, 0x7f, 0x09, 0x3a, 0x9c, 0x33, 0xde, 0x1f, 0x63, 0x57, 0xa7, 0x9c, + 0x19, 0x4c, 0xfe, 0xf5, 0xe0, 0x5a, 0x83, 0x32, 0xe5, 0x02, 0x48, 0x3c, 0x5d, 0xcb, 0xef, 0x36, + 0xa8, 0xff, 0xa0, 0xc0, 0xa5, 0x78, 0xcf, 0xdb, 0x3c, 0x8d, 0x79, 0x0a, 0x97, 0x3c, 0x69, 0x16, + 0xb4, 0x10, 0x66, 0x41, 0x17, 0x4c, 0xe9, 0xca, 0x39, 0xd7, 0x52, 0x34, 0xe7, 0xaa, 0x7e, 0xa7, + 0x08, 0xed, 0x6d, 0x17, 0xb3, 0xfa, 0xab, 0x80, 0x36, 0xe7, 0xa0, 0x3e, 0xb0, 0x26, 0x9e, 0x8f, + 0x5d, 0xae, 0x8f, 0xea, 0x5a, 0xd8, 0x80, 0xd6, 0xa0, 0xfc, 0x81, 0x13, 0x16, 0x6c, 0xb2, 0x07, + 0x49, 0x63, 0x16, 0x23, 0x1a, 0x33, 0xcf, 0x25, 0xb5, 0xb8, 0x76, 0x2a, 0xa7, 0x68, 0xa7, 0x73, + 0x72, 0xcd, 0x6a, 0x85, 0xcb, 0xbd, 0x38, 0x3c, 0x0b, 0x15, 0x64, 0xf5, 0x64, 0x0a, 0xf2, 0x76, + 0x70, 0x69, 0xb1, 0x7f, 0x60, 0x5a, 0x38, 0x28, 0xe3, 0xc9, 0xbe, 0x2c, 0xc1, 0x08, 0x76, 0xdb, + 0xb4, 0xb0, 0xd6, 0x30, 0xc5, 0x6f, 0x7a, 0x5a, 0xea, 0x8c, 0x99, 0xf2, 0xac, 0xe7, 0x57, 0x7a, + 0x01, 0x8e, 0x7a, 0x13, 0x1a, 0xfa, 0xc4, 0x77, 0xb6, 0x36, 0x35, 0xdd, 0x1e, 0xd2, 0x43, 0xe4, + 0x7d, 0x3c, 0x34, 0xed, 0xe0, 0xc2, 0x20, 0x7d, 0x40, 0x6d, 0x28, 0x62, 0x3b, 0x50, 0x51, 0xe4, + 0xa7, 0xea, 0xc2, 0x5a, 0x64, 0x07, 0xf3, 0xf9, 0xf2, 0xb1, 0x74, 0x61, 0x21, 0xf5, 0x9a, 0x67, + 0x40, 0x63, 0x2e, 0xa7, 0xe2, 0x59, 0xfd, 0xa3, 0x12, 0x2c, 0xfd, 0xd4, 0xb3, 0xcd, 0x67, 0xa1, + 0x3c, 0x37, 0xbf, 0x30, 0x8c, 0x05, 0x39, 0x05, 0xb5, 0xa0, 0xe0, 0x7b, 0xb4, 0xca, 0xab, 0xa4, + 0x15, 0x7c, 0x62, 0x70, 0x9b, 0x8c, 0x73, 0xfa, 0x2e, 0x61, 0x1d, 0x5a, 0xe3, 0x95, 0x15, 0xd3, + 0x48, 0x2c, 0xa6, 0x45, 0xf8, 0x6d, 0x17, 0xda, 0x2e, 0xdb, 0xcc, 0xb0, 0xd2, 0xbd, 0x39, 0x25, + 0xd3, 0x93, 0xc6, 0x74, 0xda, 0xb2, 0x1b, 0x79, 0xf6, 0xd4, 0x01, 0x3c, 0xf5, 0xb3, 0x13, 0xec, + 0x1e, 0x3f, 0x4e, 0x3d, 0xa3, 0xfe, 0x6f, 0x01, 0xd6, 0xc4, 0xd5, 0x14, 0x36, 0x0c, 0xf5, 0x59, + 0xd1, 0x00, 0x5a, 0xa1, 0x65, 0xa7, 0x19, 0x52, 0xa6, 0xf1, 0x3f, 0x97, 0xba, 0xa2, 0xb4, 0x2e, + 0xc2, 0x46, 0x12, 0x54, 0xb1, 0xdb, 0x67, 0x4b, 0x63, 0xb9, 0x0d, 0x8d, 0x61, 0x35, 0x1c, 0x84, + 0x7e, 0x2f, 0x81, 0xd6, 0x77, 0x30, 0x4b, 0xfb, 0x85, 0x13, 0x8c, 0x44, 0x0c, 0xf1, 0x8e, 0xf9, + 0x11, 0xe6, 0x77, 0xdd, 0xc6, 0xf1, 0xf6, 0xee, 0x17, 0x00, 0x25, 0xa7, 0x25, 0xdf, 0x73, 0x2b, + 0xb2, 0x7b, 0x6e, 0x6b, 0xf2, 0x3d, 0xb7, 0xa2, 0x74, 0x8d, 0xad, 0xbb, 0x09, 0xeb, 0xe9, 0xc3, + 0xcd, 0xd3, 0x8b, 0xfa, 0x8d, 0x22, 0x2c, 0x87, 0xcc, 0xcd, 0x48, 0xbe, 0x09, 0x0d, 0x49, 0x99, + 0x72, 0xf3, 0x97, 0x4b, 0x36, 0x20, 0xd4, 0xa5, 0xe8, 0x19, 0xa8, 0x13, 0xf4, 0x80, 0x92, 0x0a, + 0xbb, 0xd5, 0x66, 0x61, 0x5a, 0x5e, 0x13, 0xcd, 0xaf, 0x17, 0x63, 0xf9, 0x75, 0x74, 0x0d, 0x56, + 0xd8, 0x6b, 0xb9, 0xda, 0x86, 0xe9, 0x90, 0x65, 0xfa, 0xe2, 0xae, 0x28, 0xb9, 0x41, 0x5f, 0x86, + 0xe6, 0xa1, 0x4e, 0x9c, 0xae, 0x3e, 0x8b, 0x3f, 0x99, 0xb3, 0x7a, 0x73, 0x0a, 0xc3, 0x8b, 0x95, + 0x5e, 0xff, 0x22, 0x45, 0xa4, 0xbf, 0xd9, 0x4e, 0x35, 0x0e, 0xc3, 0x96, 0xae, 0x09, 0xed, 0x38, + 0x40, 0xca, 0x4d, 0xc4, 0x37, 0xa3, 0x37, 0x11, 0xaf, 0xe6, 0xe6, 0x16, 0x79, 0x1b, 0x7e, 0xbf, + 0x00, 0xeb, 0x71, 0x21, 0x5b, 0xcc, 0x0f, 0x09, 0x05, 0xad, 0x10, 0xd1, 0xcc, 0xb9, 0x7c, 0x91, + 0x2d, 0x71, 0xd9, 0x9f, 0x7a, 0x22, 0x7b, 0xbd, 0xc0, 0x17, 0x59, 0x87, 0x8a, 0x8b, 0x75, 0x8f, + 0xdf, 0x20, 0xae, 0x6b, 0xfc, 0x89, 0x5e, 0x8d, 0xb7, 0x1c, 0x3f, 0xb8, 0x79, 0xc0, 0x1e, 0x48, + 0x14, 0xc1, 0x58, 0x80, 0x6e, 0x0c, 0x3b, 0x24, 0xf8, 0x44, 0x9e, 0x8d, 0xd1, 0x28, 0xeb, 0xd0, + 0x9f, 0xea, 0x2f, 0x03, 0xa2, 0x94, 0x79, 0x7c, 0xc6, 0xea, 0x1c, 0xd4, 0x3f, 0x24, 0x23, 0xec, + 0x58, 0x8e, 0xcf, 0x8b, 0x1f, 0xc2, 0x06, 0xf5, 0x5f, 0x15, 0x58, 0xe1, 0xbb, 0x26, 0xdd, 0xf6, + 0x98, 0x6e, 0x9a, 0x9f, 0x83, 0x25, 0x26, 0x09, 0xd8, 0x60, 0x1c, 0x5e, 0x90, 0x3f, 0xa2, 0x80, + 0x0d, 0xca, 0xe4, 0xaf, 0xc5, 0x2b, 0xb3, 0x4e, 0x7a, 0x05, 0x61, 0xfe, 0x8a, 0x42, 0xf5, 0x8f, + 0x0b, 0xb0, 0x1a, 0xa1, 0xea, 0xff, 0x7f, 0x66, 0xfb, 0x32, 0xac, 0x71, 0xad, 0x15, 0xd8, 0xbe, + 0x3e, 0xf1, 0xf6, 0x39, 0xdb, 0x4d, 0x1b, 0x5a, 0x2e, 0xf7, 0x40, 0xa6, 0xdc, 0xe4, 0x91, 0x36, + 0xb5, 0x0f, 0x2b, 0x9b, 0xae, 0x33, 0x7e, 0x7c, 0xc6, 0xef, 0x5b, 0x65, 0xa8, 0xb3, 0xde, 0xdf, + 0x75, 0xf6, 0x43, 0x5c, 0x45, 0xc6, 0x3d, 0xe9, 0x35, 0xab, 0x79, 0x22, 0xb2, 0x27, 0xed, 0x8e, + 0x9d, 0x67, 0xc7, 0xba, 0xce, 0xc4, 0x27, 0x31, 0x27, 0xbb, 0x44, 0x24, 0x55, 0xaf, 0x9c, 0x07, + 0x18, 0x58, 0x58, 0xb7, 0x27, 0x63, 0xf2, 0xba, 0xce, 0x5e, 0xf3, 0x96, 0x5d, 0x7a, 0xe7, 0x90, + 0xbb, 0x2e, 0xd8, 0xd8, 0x34, 0xbd, 0x23, 0x62, 0x1d, 0xa8, 0x87, 0x55, 0xd4, 0x92, 0x2f, 0xd0, + 0x1b, 0x01, 0x6b, 0x36, 0x28, 0x6b, 0xbe, 0x30, 0xc3, 0xbc, 0xbd, 0xeb, 0xec, 0x47, 0x82, 0xb2, + 0x90, 0x37, 0x9b, 0x11, 0xde, 0xa4, 0xd9, 0x0a, 0x56, 0xa5, 0xc4, 0x8e, 0xc8, 0x97, 0x58, 0x65, + 0x77, 0xd0, 0x48, 0x4f, 0xc9, 0x85, 0xdb, 0xd9, 0x5a, 0xc4, 0xed, 0x5c, 0x3e, 0x81, 0xdb, 0x19, + 0x3d, 0xbe, 0x6f, 0x33, 0xb6, 0x15, 0xc7, 0xf7, 0xea, 0xef, 0x14, 0x60, 0x49, 0x58, 0x20, 0x22, + 0x91, 0x19, 0xcc, 0x98, 0x25, 0xef, 0x79, 0x18, 0x32, 0xcc, 0xc1, 0x55, 0x22, 0x39, 0x38, 0xa1, + 0x2b, 0xaa, 0x8b, 0xe9, 0x8a, 0x5a, 0x64, 0x3f, 0xa2, 0x26, 0x08, 0x4e, 0x66, 0x82, 0xfe, 0xbd, + 0x00, 0xcd, 0x70, 0xe4, 0xbd, 0xde, 0x63, 0xa0, 0xca, 0xac, 0xdb, 0x90, 0x21, 0xd5, 0xca, 0xe9, + 0x54, 0xab, 0x2c, 0x46, 0xb5, 0xea, 0x74, 0x2e, 0xae, 0xa5, 0x70, 0x71, 0x94, 0xb4, 0xf5, 0x93, + 0x91, 0xf6, 0x6f, 0x14, 0x9e, 0xf2, 0xf3, 0x5d, 0x67, 0xa1, 0x43, 0xb8, 0xcf, 0x40, 0x95, 0xb4, + 0xeb, 0x3c, 0xb2, 0x6e, 0x25, 0xd1, 0xd8, 0x47, 0x2a, 0x06, 0x1b, 0x0c, 0x4a, 0x0b, 0xc0, 0xd1, + 0xeb, 0x50, 0x19, 0xeb, 0xae, 0x3e, 0xca, 0x2c, 0x90, 0x4e, 0x93, 0x28, 0x8e, 0x72, 0xed, 0xf3, + 0xe2, 0x12, 0xe8, 0xee, 0xf1, 0x18, 0xa3, 0x2a, 0x14, 0xef, 0xe1, 0x87, 0xed, 0x33, 0x08, 0xa0, + 0x72, 0xcf, 0x71, 0x47, 0xba, 0xd5, 0x56, 0x50, 0x03, 0xaa, 0xbc, 0x68, 0xb2, 0x5d, 0x40, 0x4b, + 0x50, 0xdf, 0x08, 0x4a, 0xc7, 0xda, 0xc5, 0x6b, 0x3d, 0x68, 0xca, 0xe5, 0x42, 0x04, 0xef, 0x0e, + 0x1e, 0xea, 0x83, 0xe3, 0xf6, 0x19, 0x54, 0x81, 0xc2, 0x9d, 0x97, 0xdb, 0x0a, 0xfd, 0xfb, 0x4a, + 0xbb, 0x40, 0xff, 0xf6, 0xda, 0xc5, 0x6b, 0x7f, 0xa0, 0xc0, 0x4a, 0x22, 0x5b, 0x84, 0x5a, 0x00, + 0xf7, 0xed, 0x60, 0x83, 0xda, 0x67, 0x50, 0x13, 0x6a, 0x41, 0xbd, 0x24, 0x9b, 0xc3, 0xae, 0x43, + 0xa1, 0xdb, 0x05, 0xd4, 0x86, 0x26, 0x43, 0x9c, 0x0c, 0x06, 0xd8, 0xf3, 0xda, 0x45, 0xd1, 0x72, + 0x5b, 0x37, 0xad, 0x89, 0x8b, 0xdb, 0x25, 0x32, 0xcf, 0x5d, 0x47, 0xc3, 0x16, 0xd6, 0x3d, 0xdc, + 0x2e, 0x23, 0x04, 0x2d, 0xfe, 0x10, 0x20, 0x55, 0xa4, 0xb6, 0x00, 0xad, 0x7a, 0xed, 0x2f, 0x14, + 0xb9, 0x42, 0x89, 0xd2, 0xe4, 0x2c, 0xac, 0xde, 0xb7, 0x0d, 0x7c, 0x60, 0xda, 0xd8, 0x08, 0x5f, + 0xb5, 0xcf, 0xa0, 0x55, 0x58, 0xbe, 0x8b, 0xdd, 0x21, 0x96, 0x1a, 0x0b, 0x68, 0x05, 0x96, 0xee, + 0x9a, 0x8f, 0xa4, 0xa6, 0x22, 0x5a, 0x83, 0xf6, 0x8e, 0x69, 0x0f, 0x2d, 0x19, 0xb0, 0x44, 0xb1, + 0x4d, 0xdb, 0x71, 0xa5, 0xc6, 0x32, 0x6d, 0xd4, 0x3f, 0x88, 0x34, 0x56, 0x50, 0x17, 0xd6, 0x29, + 0x71, 0x5f, 0xde, 0xc4, 0x84, 0x1a, 0xd2, 0xbb, 0xaa, 0x5a, 0xaa, 0x29, 0x6d, 0xe5, 0xda, 0xfd, + 0xc0, 0xc5, 0x93, 0x64, 0x04, 0xd5, 0xa0, 0x74, 0xcf, 0xb1, 0x09, 0x29, 0x1b, 0x50, 0xdd, 0xc6, + 0xb6, 0x61, 0xda, 0xc3, 0xb6, 0x42, 0xe8, 0xbc, 0x25, 0xb2, 0x85, 0xed, 0x02, 0xd9, 0x31, 0xb2, + 0x7c, 0xb2, 0x9b, 0xc1, 0xe6, 0xd2, 0x1a, 0xd5, 0x76, 0xe9, 0xda, 0x55, 0xa8, 0x0b, 0x7e, 0x43, + 0x65, 0x50, 0xfa, 0xed, 0x33, 0xa8, 0x0e, 0xe5, 0x6d, 0x7d, 0xe2, 0x91, 0x3d, 0x01, 0xa8, 0x68, + 0xd8, 0x9b, 0x8c, 0x70, 0xbb, 0xd0, 0xfb, 0xfe, 0x55, 0xa8, 0x93, 0x28, 0x6e, 0xc3, 0x71, 0x5c, + 0x03, 0x8d, 0x01, 0xd1, 0x4f, 0x5e, 0x8c, 0xc6, 0x8e, 0x2d, 0x3e, 0x9a, 0x83, 0x5e, 0x4e, 0xa4, + 0x7c, 0xd9, 0x63, 0x12, 0x94, 0x0b, 0x52, 0xf7, 0x72, 0x06, 0x46, 0x0c, 0x5c, 0x3d, 0x83, 0x3e, + 0xa4, 0x23, 0x12, 0xb9, 0xde, 0x35, 0x07, 0x47, 0xc1, 0x31, 0x59, 0x2f, 0xd3, 0x32, 0x25, 0x81, + 0x83, 0x31, 0x9f, 0xcf, 0x18, 0x93, 0x7d, 0x9f, 0x24, 0xf0, 0x34, 0xd5, 0x33, 0x68, 0x42, 0xf3, + 0xd2, 0xe1, 0xe9, 0x63, 0x30, 0xe8, 0xa7, 0xa6, 0x0d, 0x9a, 0x00, 0x9f, 0x7b, 0xd8, 0x6d, 0x28, + 0x53, 0x69, 0x44, 0xcf, 0x4e, 0xfb, 0x78, 0x1d, 0xeb, 0x54, 0x9d, 0xfd, 0x7d, 0x3b, 0xf5, 0x0c, + 0xb2, 0x61, 0x39, 0xf6, 0xa5, 0x2c, 0xf4, 0xc9, 0x54, 0xc4, 0xf4, 0x2f, 0x9f, 0x75, 0x5f, 0xcc, + 0x07, 0x2c, 0xc6, 0x3b, 0x82, 0x56, 0xf4, 0xa3, 0x19, 0xe8, 0x5a, 0xae, 0x0f, 0xf2, 0xb0, 0xd1, + 0x3e, 0x39, 0xc7, 0xc7, 0x7b, 0x28, 0x63, 0xb4, 0xe3, 0x5f, 0x6f, 0x42, 0x2f, 0xce, 0xe8, 0x22, + 0xca, 0x84, 0x2f, 0xe5, 0x84, 0x16, 0x43, 0xfe, 0x12, 0x65, 0x8c, 0xc4, 0xe7, 0x72, 0x92, 0xfc, + 0x1f, 0x74, 0x94, 0xf5, 0x2d, 0x9f, 0xee, 0x2b, 0x73, 0x60, 0x88, 0xe1, 0xbf, 0xc5, 0xee, 0xf0, + 0xa4, 0x7d, 0x70, 0x06, 0xbd, 0x9a, 0xd5, 0xe1, 0x94, 0xaf, 0xe5, 0x74, 0x3f, 0x35, 0x1f, 0x92, + 0x98, 0xc8, 0xd7, 0xd9, 0xdd, 0x9b, 0x94, 0x2f, 0xb6, 0xa0, 0x5e, 0x56, 0x97, 0xd9, 0x1f, 0xa4, + 0xe9, 0xbe, 0x3a, 0x17, 0x8e, 0x98, 0x85, 0x17, 0xff, 0x56, 0x56, 0x20, 0xa7, 0xaf, 0xe4, 0x60, + 0xa4, 0x93, 0x0a, 0x69, 0x1f, 0x96, 0x63, 0xd7, 0xa5, 0x33, 0x44, 0x2a, 0xfd, 0x52, 0x75, 0x77, + 0x7a, 0xdc, 0xca, 0x64, 0x36, 0x76, 0xdf, 0x06, 0x65, 0x0a, 0x46, 0xca, 0xad, 0x9c, 0xee, 0x8b, + 0xf9, 0x80, 0xc5, 0x82, 0x7c, 0x58, 0x89, 0xbd, 0xdc, 0xeb, 0xa1, 0x97, 0xe6, 0x18, 0x71, 0xaf, + 0xd7, 0xbd, 0x3e, 0xcf, 0x98, 0x7b, 0x3d, 0xf5, 0x0c, 0x7a, 0x48, 0xb5, 0x7a, 0xec, 0xc6, 0x06, + 0xca, 0xec, 0x27, 0xfd, 0x76, 0x4a, 0xf7, 0x46, 0x6e, 0x78, 0xb1, 0xdc, 0x8f, 0x60, 0x35, 0xe5, + 0x82, 0x0d, 0xba, 0x31, 0x83, 0x65, 0xe2, 0xf7, 0x8b, 0xba, 0x2f, 0xe7, 0x47, 0x90, 0xec, 0x4a, + 0x3b, 0x98, 0xdb, 0x5b, 0x96, 0xc5, 0x9c, 0xa3, 0xeb, 0xd9, 0xa6, 0x33, 0x02, 0x98, 0xb9, 0xe4, + 0x4c, 0x78, 0x31, 0xec, 0xaf, 0x00, 0xda, 0x39, 0x74, 0x1e, 0xd2, 0x13, 0xe6, 0xe1, 0x84, 0x1f, + 0x57, 0x4e, 0xb1, 0xa0, 0x49, 0xe0, 0x4c, 0x41, 0x9d, 0x8a, 0x23, 0x26, 0x30, 0x00, 0x78, 0x07, + 0xfb, 0x77, 0xb1, 0xef, 0x12, 0x0d, 0x71, 0x25, 0x7b, 0x05, 0x1c, 0x24, 0x18, 0xee, 0x6a, 0x0e, + 0x48, 0x99, 0xb8, 0x77, 0x75, 0x7b, 0xa2, 0x5b, 0xd2, 0xd7, 0x25, 0xb2, 0x88, 0x1b, 0x07, 0x9c, + 0x45, 0xdc, 0x24, 0xbc, 0x18, 0xf6, 0x17, 0x85, 0x43, 0x24, 0xd5, 0xc3, 0xce, 0x72, 0x88, 0x92, + 0xb7, 0x4e, 0x92, 0x06, 0x61, 0x0a, 0x86, 0x18, 0xfc, 0x1b, 0x0a, 0xbd, 0x2e, 0x16, 0x03, 0xf8, + 0x92, 0xe9, 0x1f, 0x6e, 0x5b, 0xba, 0xed, 0xe5, 0x9b, 0x06, 0x05, 0x9d, 0x6b, 0x1a, 0x1c, 0x43, + 0x4c, 0xe3, 0x10, 0x96, 0x22, 0xa5, 0xa0, 0x28, 0x3d, 0xd5, 0x9c, 0x56, 0x47, 0xdb, 0xbd, 0x96, + 0x07, 0x54, 0x8c, 0xf4, 0x01, 0x2c, 0x45, 0x2a, 0x06, 0x32, 0x46, 0x4a, 0xab, 0x2a, 0x48, 0x2a, + 0xc6, 0x98, 0xe4, 0xc4, 0x89, 0xfb, 0x10, 0x50, 0xb2, 0xc6, 0x0d, 0xe5, 0xad, 0x8e, 0x9c, 0xae, + 0xa2, 0xb2, 0x8b, 0xe7, 0x98, 0x05, 0x88, 0x55, 0x96, 0x66, 0x99, 0x98, 0xd4, 0x72, 0xd9, 0x0c, + 0x0b, 0x90, 0x51, 0xac, 0xaa, 0x9e, 0x41, 0x0e, 0x9c, 0xcd, 0x28, 0xbb, 0xcb, 0xf0, 0x2a, 0xa6, + 0x17, 0xe9, 0xcd, 0x36, 0x71, 0x62, 0xc0, 0x44, 0x55, 0xdd, 0xd4, 0x01, 0xb3, 0x6a, 0xf0, 0x66, + 0x0f, 0x38, 0x84, 0xd5, 0x94, 0x02, 0xb0, 0x0c, 0xa5, 0x9f, 0x5d, 0x2a, 0x36, 0x7b, 0xa0, 0x0f, + 0xa0, 0x7b, 0xcb, 0x75, 0x74, 0x63, 0xa0, 0x7b, 0x3e, 0x2d, 0xcb, 0x22, 0x81, 0x65, 0xe0, 0x4a, + 0x65, 0xf9, 0xde, 0xa9, 0xe5, 0x5b, 0xb3, 0xc7, 0x3a, 0x80, 0x06, 0x25, 0x05, 0xfb, 0x42, 0x27, + 0xca, 0x52, 0x96, 0x12, 0x4c, 0xa6, 0xcc, 0xa5, 0x81, 0x0a, 0xf6, 0xf8, 0x32, 0x34, 0x36, 0x68, + 0xed, 0xf7, 0x96, 0x6d, 0xe0, 0x47, 0x49, 0xf5, 0x4d, 0x3f, 0x44, 0x76, 0x5d, 0x02, 0xc9, 0xbd, + 0x82, 0x3d, 0x00, 0xba, 0x78, 0xd6, 0xf1, 0x0b, 0xe9, 0x1d, 0x87, 0x10, 0x73, 0xec, 0xc2, 0x12, + 0xf5, 0xa4, 0x0d, 0xfc, 0x88, 0x89, 0xcf, 0xb5, 0xf4, 0xae, 0x23, 0x40, 0x99, 0x51, 0x48, 0x2a, + 0xac, 0x64, 0x5c, 0xd7, 0x64, 0xc7, 0x52, 0x0c, 0xf9, 0x4a, 0x66, 0x37, 0x09, 0xd8, 0x60, 0xe4, + 0xde, 0x3c, 0x28, 0xb2, 0xf2, 0x0d, 0xe6, 0xb6, 0x45, 0xbf, 0x8f, 0x7a, 0x75, 0xfa, 0x02, 0x64, + 0x5f, 0xf1, 0x5a, 0x1e, 0x50, 0x31, 0xd2, 0x2e, 0xd4, 0xe9, 0x69, 0x03, 0xdd, 0xad, 0xcb, 0xe9, + 0xa8, 0x02, 0x60, 0x9e, 0xcd, 0xda, 0xc4, 0xde, 0xc0, 0x35, 0xf7, 0x39, 0x83, 0x65, 0x4c, 0x2a, + 0x02, 0x34, 0x63, 0xb3, 0x62, 0xb0, 0x62, 0x05, 0xc7, 0xd4, 0x58, 0x0b, 0x32, 0x72, 0x25, 0x77, + 0x63, 0xf6, 0x8e, 0x47, 0x15, 0xdc, 0xcb, 0xf9, 0x11, 0xc4, 0xd0, 0x1f, 0xb3, 0x2f, 0xfb, 0x52, + 0x80, 0x5b, 0x13, 0xd3, 0x32, 0x82, 0x44, 0x0d, 0xea, 0x4d, 0xef, 0x2d, 0x02, 0x3c, 0xc5, 0x11, + 0x9b, 0x82, 0x23, 0x26, 0x61, 0x40, 0xe3, 0x8e, 0xe9, 0x31, 0x18, 0xec, 0x65, 0x89, 0xb2, 0x04, + 0x92, 0xe9, 0x89, 0xa5, 0x40, 0x8a, 0x51, 0x7e, 0x81, 0x25, 0x97, 0x68, 0x3d, 0x23, 0x7a, 0x3e, + 0x33, 0xd9, 0x29, 0xd7, 0x52, 0x76, 0x2f, 0xcf, 0x02, 0x13, 0xbd, 0x9b, 0xb0, 0x96, 0x56, 0xbf, + 0x98, 0x11, 0x83, 0x4f, 0x29, 0x75, 0x9c, 0xcd, 0x9a, 0x3b, 0x7c, 0x21, 0xbe, 0xeb, 0x58, 0xd3, + 0x16, 0x22, 0x65, 0x88, 0x67, 0x77, 0x8a, 0xa1, 0xc6, 0x32, 0x7a, 0x7b, 0xbd, 0xa4, 0x33, 0x11, + 0x3b, 0x5f, 0xe1, 0x9d, 0x6e, 0xf1, 0xd6, 0xee, 0x0b, 0x33, 0xe1, 0x05, 0x99, 0xbe, 0x46, 0xc3, + 0x3a, 0xd6, 0x2c, 0x58, 0xed, 0x95, 0x69, 0x09, 0xac, 0x28, 0xec, 0x14, 0xa5, 0x94, 0x8d, 0x22, + 0x46, 0x77, 0x39, 0xa3, 0xd1, 0xf7, 0x29, 0x6e, 0x84, 0xe8, 0x44, 0x82, 0x8a, 0x2f, 0xf6, 0xc5, + 0x7c, 0x48, 0xc1, 0x98, 0xbd, 0x7f, 0x6c, 0x41, 0x2d, 0xd8, 0xe8, 0x27, 0x90, 0xa7, 0x7c, 0x42, + 0x49, 0xc3, 0x3e, 0x2c, 0xc7, 0x3e, 0xe0, 0x99, 0xe1, 0x66, 0xa4, 0x7f, 0xe6, 0x73, 0x36, 0xbf, + 0xfe, 0x3c, 0xff, 0x1f, 0x23, 0x22, 0x48, 0xbf, 0x9a, 0x9d, 0x7a, 0x8c, 0xc7, 0xe7, 0x33, 0x3b, + 0xff, 0xe9, 0x08, 0x4d, 0x35, 0x00, 0x29, 0x28, 0x7d, 0x2e, 0xc7, 0xdd, 0xc6, 0xd9, 0x94, 0xfb, + 0x30, 0x35, 0xee, 0xfc, 0xe4, 0xac, 0x0b, 0xa2, 0xb3, 0xe3, 0x84, 0xec, 0x68, 0xf3, 0xe7, 0xa0, + 0x29, 0x7f, 0xe3, 0x00, 0x65, 0xfc, 0x4b, 0x85, 0xe4, 0x67, 0x10, 0x66, 0xaf, 0xe6, 0x21, 0xa0, + 0xe4, 0xad, 0x90, 0x8c, 0x58, 0x2b, 0xf3, 0x3e, 0x4a, 0x46, 0xac, 0x95, 0x7d, 0xdd, 0x44, 0xe2, + 0xee, 0x19, 0xa1, 0x6b, 0xda, 0xbf, 0x6a, 0x99, 0xbd, 0xaa, 0x43, 0x58, 0xbf, 0xe7, 0xf8, 0xe6, + 0xc1, 0x71, 0xbc, 0xa4, 0x3b, 0x23, 0xbf, 0x96, 0x55, 0x53, 0x9e, 0x47, 0x8e, 0xce, 0x53, 0xe7, + 0x3d, 0xab, 0x76, 0x1c, 0xe5, 0x2b, 0x43, 0xef, 0xde, 0xcc, 0x35, 0xaf, 0x14, 0x85, 0xbf, 0x03, + 0x75, 0x71, 0x3c, 0x9f, 0x31, 0x58, 0xbc, 0x4a, 0x73, 0xf6, 0xaa, 0xde, 0x97, 0x4c, 0xa5, 0x3a, + 0xbb, 0x4e, 0x74, 0x76, 0x87, 0x47, 0xd0, 0x8a, 0xd6, 0xb2, 0x65, 0x9c, 0x4f, 0xa4, 0x56, 0x95, + 0x66, 0x9c, 0x4f, 0xa4, 0x17, 0xc7, 0xa9, 0x67, 0xd0, 0x3e, 0x34, 0xa4, 0x42, 0xa6, 0x64, 0x78, + 0x13, 0x62, 0x47, 0x87, 0xb9, 0x32, 0x1b, 0x50, 0x8c, 0x71, 0x1f, 0x20, 0x2c, 0x00, 0x42, 0x97, + 0x33, 0x73, 0x0d, 0xf3, 0xd1, 0xe9, 0xd6, 0xab, 0x5f, 0x79, 0x65, 0x68, 0xfa, 0x87, 0x93, 0x7d, + 0xf2, 0xe6, 0x06, 0x03, 0x7e, 0xc9, 0x74, 0xf8, 0xaf, 0x1b, 0x81, 0x6a, 0xbd, 0x41, 0xf1, 0x6f, + 0x90, 0x51, 0xc6, 0xfb, 0xfb, 0x15, 0xfa, 0xf4, 0xea, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x3b, + 0x40, 0xd6, 0x24, 0xd7, 0x6b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5828,16 +6558,13 @@ type DataCoordClient interface { GetFlushState(ctx context.Context, in *GetFlushStateRequest, opts ...grpc.CallOption) (*milvuspb.GetFlushStateResponse, error) DropVirtualChannel(ctx context.Context, in *DropVirtualChannelRequest, opts ...grpc.CallOption) (*DropVirtualChannelResponse, error) SetSegmentState(ctx context.Context, in *SetSegmentStateRequest, opts ...grpc.CallOption) (*SetSegmentStateResponse, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(ctx context.Context, in *ImportTaskRequest, opts ...grpc.CallOption) (*ImportTaskResponse, error) UpdateSegmentStatistics(ctx context.Context, in *UpdateSegmentStatisticsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) UpdateChannelCheckpoint(ctx context.Context, in *UpdateChannelCheckpointRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - SaveImportSegment(ctx context.Context, in *SaveImportSegmentRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - UnsetIsImportingState(ctx context.Context, in *UnsetIsImportingStateRequest, opts ...grpc.CallOption) (*commonpb.Status, error) MarkSegmentsDropped(ctx context.Context, in *MarkSegmentsDroppedRequest, opts ...grpc.CallOption) (*commonpb.Status, error) BroadcastAlteredCollection(ctx context.Context, in *AlterCollectionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) CheckHealth(ctx context.Context, in *milvuspb.CheckHealthRequest, opts ...grpc.CallOption) (*milvuspb.CheckHealthResponse, error) CreateIndex(ctx context.Context, in *indexpb.CreateIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + AlterIndex(ctx context.Context, in *indexpb.AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) // Deprecated: use DescribeIndex instead GetIndexState(ctx context.Context, in *indexpb.GetIndexStateRequest, opts ...grpc.CallOption) (*indexpb.GetIndexStateResponse, error) GetSegmentIndexState(ctx context.Context, in *indexpb.GetSegmentIndexStateRequest, opts ...grpc.CallOption) (*indexpb.GetSegmentIndexStateResponse, error) @@ -5847,8 +6574,14 @@ type DataCoordClient interface { GetIndexStatistics(ctx context.Context, in *indexpb.GetIndexStatisticsRequest, opts ...grpc.CallOption) (*indexpb.GetIndexStatisticsResponse, error) // Deprecated: use DescribeIndex instead GetIndexBuildProgress(ctx context.Context, in *indexpb.GetIndexBuildProgressRequest, opts ...grpc.CallOption) (*indexpb.GetIndexBuildProgressResponse, error) + ListIndexes(ctx context.Context, in *indexpb.ListIndexesRequest, opts ...grpc.CallOption) (*indexpb.ListIndexesResponse, error) GcConfirm(ctx context.Context, in *GcConfirmRequest, opts ...grpc.CallOption) (*GcConfirmResponse, error) ReportDataNodeTtMsgs(ctx context.Context, in *ReportDataNodeTtMsgsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + GcControl(ctx context.Context, in *GcControlRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + // importV2 + ImportV2(ctx context.Context, in *internalpb.ImportRequestInternal, opts ...grpc.CallOption) (*internalpb.ImportResponse, error) + GetImportProgress(ctx context.Context, in *internalpb.GetImportProgressRequest, opts ...grpc.CallOption) (*internalpb.GetImportProgressResponse, error) + ListImports(ctx context.Context, in *internalpb.ListImportsRequestInternal, opts ...grpc.CallOption) (*internalpb.ListImportsResponse, error) } type dataCoordClient struct { @@ -6093,15 +6826,6 @@ func (c *dataCoordClient) SetSegmentState(ctx context.Context, in *SetSegmentSta return out, nil } -func (c *dataCoordClient) Import(ctx context.Context, in *ImportTaskRequest, opts ...grpc.CallOption) (*ImportTaskResponse, error) { - out := new(ImportTaskResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/Import", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *dataCoordClient) UpdateSegmentStatistics(ctx context.Context, in *UpdateSegmentStatisticsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/UpdateSegmentStatistics", in, out, opts...) @@ -6120,24 +6844,6 @@ func (c *dataCoordClient) UpdateChannelCheckpoint(ctx context.Context, in *Updat return out, nil } -func (c *dataCoordClient) SaveImportSegment(ctx context.Context, in *SaveImportSegmentRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { - out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/SaveImportSegment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *dataCoordClient) UnsetIsImportingState(ctx context.Context, in *UnsetIsImportingStateRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { - out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/UnsetIsImportingState", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *dataCoordClient) MarkSegmentsDropped(ctx context.Context, in *MarkSegmentsDroppedRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/MarkSegmentsDropped", in, out, opts...) @@ -6174,6 +6880,15 @@ func (c *dataCoordClient) CreateIndex(ctx context.Context, in *indexpb.CreateInd return out, nil } +func (c *dataCoordClient) AlterIndex(ctx context.Context, in *indexpb.AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/AlterIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dataCoordClient) GetIndexState(ctx context.Context, in *indexpb.GetIndexStateRequest, opts ...grpc.CallOption) (*indexpb.GetIndexStateResponse, error) { out := new(indexpb.GetIndexStateResponse) err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/GetIndexState", in, out, opts...) @@ -6237,6 +6952,15 @@ func (c *dataCoordClient) GetIndexBuildProgress(ctx context.Context, in *indexpb return out, nil } +func (c *dataCoordClient) ListIndexes(ctx context.Context, in *indexpb.ListIndexesRequest, opts ...grpc.CallOption) (*indexpb.ListIndexesResponse, error) { + out := new(indexpb.ListIndexesResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/ListIndexes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dataCoordClient) GcConfirm(ctx context.Context, in *GcConfirmRequest, opts ...grpc.CallOption) (*GcConfirmResponse, error) { out := new(GcConfirmResponse) err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/GcConfirm", in, out, opts...) @@ -6255,6 +6979,42 @@ func (c *dataCoordClient) ReportDataNodeTtMsgs(ctx context.Context, in *ReportDa return out, nil } +func (c *dataCoordClient) GcControl(ctx context.Context, in *GcControlRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/GcControl", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCoordClient) ImportV2(ctx context.Context, in *internalpb.ImportRequestInternal, opts ...grpc.CallOption) (*internalpb.ImportResponse, error) { + out := new(internalpb.ImportResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/ImportV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCoordClient) GetImportProgress(ctx context.Context, in *internalpb.GetImportProgressRequest, opts ...grpc.CallOption) (*internalpb.GetImportProgressResponse, error) { + out := new(internalpb.GetImportProgressResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/GetImportProgress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCoordClient) ListImports(ctx context.Context, in *internalpb.ListImportsRequestInternal, opts ...grpc.CallOption) (*internalpb.ListImportsResponse, error) { + out := new(internalpb.ListImportsResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataCoord/ListImports", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DataCoordServer is the server API for DataCoord service. type DataCoordServer interface { GetComponentStates(context.Context, *milvuspb.GetComponentStatesRequest) (*milvuspb.ComponentStates, error) @@ -6284,16 +7044,13 @@ type DataCoordServer interface { GetFlushState(context.Context, *GetFlushStateRequest) (*milvuspb.GetFlushStateResponse, error) DropVirtualChannel(context.Context, *DropVirtualChannelRequest) (*DropVirtualChannelResponse, error) SetSegmentState(context.Context, *SetSegmentStateRequest) (*SetSegmentStateResponse, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(context.Context, *ImportTaskRequest) (*ImportTaskResponse, error) UpdateSegmentStatistics(context.Context, *UpdateSegmentStatisticsRequest) (*commonpb.Status, error) UpdateChannelCheckpoint(context.Context, *UpdateChannelCheckpointRequest) (*commonpb.Status, error) - SaveImportSegment(context.Context, *SaveImportSegmentRequest) (*commonpb.Status, error) - UnsetIsImportingState(context.Context, *UnsetIsImportingStateRequest) (*commonpb.Status, error) MarkSegmentsDropped(context.Context, *MarkSegmentsDroppedRequest) (*commonpb.Status, error) BroadcastAlteredCollection(context.Context, *AlterCollectionRequest) (*commonpb.Status, error) CheckHealth(context.Context, *milvuspb.CheckHealthRequest) (*milvuspb.CheckHealthResponse, error) CreateIndex(context.Context, *indexpb.CreateIndexRequest) (*commonpb.Status, error) + AlterIndex(context.Context, *indexpb.AlterIndexRequest) (*commonpb.Status, error) // Deprecated: use DescribeIndex instead GetIndexState(context.Context, *indexpb.GetIndexStateRequest) (*indexpb.GetIndexStateResponse, error) GetSegmentIndexState(context.Context, *indexpb.GetSegmentIndexStateRequest) (*indexpb.GetSegmentIndexStateResponse, error) @@ -6303,8 +7060,14 @@ type DataCoordServer interface { GetIndexStatistics(context.Context, *indexpb.GetIndexStatisticsRequest) (*indexpb.GetIndexStatisticsResponse, error) // Deprecated: use DescribeIndex instead GetIndexBuildProgress(context.Context, *indexpb.GetIndexBuildProgressRequest) (*indexpb.GetIndexBuildProgressResponse, error) + ListIndexes(context.Context, *indexpb.ListIndexesRequest) (*indexpb.ListIndexesResponse, error) GcConfirm(context.Context, *GcConfirmRequest) (*GcConfirmResponse, error) ReportDataNodeTtMsgs(context.Context, *ReportDataNodeTtMsgsRequest) (*commonpb.Status, error) + GcControl(context.Context, *GcControlRequest) (*commonpb.Status, error) + // importV2 + ImportV2(context.Context, *internalpb.ImportRequestInternal) (*internalpb.ImportResponse, error) + GetImportProgress(context.Context, *internalpb.GetImportProgressRequest) (*internalpb.GetImportProgressResponse, error) + ListImports(context.Context, *internalpb.ListImportsRequestInternal) (*internalpb.ListImportsResponse, error) } // UnimplementedDataCoordServer can be embedded to have forward compatible implementations. @@ -6389,21 +7152,12 @@ func (*UnimplementedDataCoordServer) DropVirtualChannel(ctx context.Context, req func (*UnimplementedDataCoordServer) SetSegmentState(ctx context.Context, req *SetSegmentStateRequest) (*SetSegmentStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetSegmentState not implemented") } -func (*UnimplementedDataCoordServer) Import(ctx context.Context, req *ImportTaskRequest) (*ImportTaskResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Import not implemented") -} func (*UnimplementedDataCoordServer) UpdateSegmentStatistics(ctx context.Context, req *UpdateSegmentStatisticsRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateSegmentStatistics not implemented") } func (*UnimplementedDataCoordServer) UpdateChannelCheckpoint(ctx context.Context, req *UpdateChannelCheckpointRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateChannelCheckpoint not implemented") } -func (*UnimplementedDataCoordServer) SaveImportSegment(ctx context.Context, req *SaveImportSegmentRequest) (*commonpb.Status, error) { - return nil, status.Errorf(codes.Unimplemented, "method SaveImportSegment not implemented") -} -func (*UnimplementedDataCoordServer) UnsetIsImportingState(ctx context.Context, req *UnsetIsImportingStateRequest) (*commonpb.Status, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnsetIsImportingState not implemented") -} func (*UnimplementedDataCoordServer) MarkSegmentsDropped(ctx context.Context, req *MarkSegmentsDroppedRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method MarkSegmentsDropped not implemented") } @@ -6416,6 +7170,9 @@ func (*UnimplementedDataCoordServer) CheckHealth(ctx context.Context, req *milvu func (*UnimplementedDataCoordServer) CreateIndex(ctx context.Context, req *indexpb.CreateIndexRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateIndex not implemented") } +func (*UnimplementedDataCoordServer) AlterIndex(ctx context.Context, req *indexpb.AlterIndexRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method AlterIndex not implemented") +} func (*UnimplementedDataCoordServer) GetIndexState(ctx context.Context, req *indexpb.GetIndexStateRequest) (*indexpb.GetIndexStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIndexState not implemented") } @@ -6437,12 +7194,27 @@ func (*UnimplementedDataCoordServer) GetIndexStatistics(ctx context.Context, req func (*UnimplementedDataCoordServer) GetIndexBuildProgress(ctx context.Context, req *indexpb.GetIndexBuildProgressRequest) (*indexpb.GetIndexBuildProgressResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIndexBuildProgress not implemented") } +func (*UnimplementedDataCoordServer) ListIndexes(ctx context.Context, req *indexpb.ListIndexesRequest) (*indexpb.ListIndexesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListIndexes not implemented") +} func (*UnimplementedDataCoordServer) GcConfirm(ctx context.Context, req *GcConfirmRequest) (*GcConfirmResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GcConfirm not implemented") } func (*UnimplementedDataCoordServer) ReportDataNodeTtMsgs(ctx context.Context, req *ReportDataNodeTtMsgsRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method ReportDataNodeTtMsgs not implemented") } +func (*UnimplementedDataCoordServer) GcControl(ctx context.Context, req *GcControlRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method GcControl not implemented") +} +func (*UnimplementedDataCoordServer) ImportV2(ctx context.Context, req *internalpb.ImportRequestInternal) (*internalpb.ImportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportV2 not implemented") +} +func (*UnimplementedDataCoordServer) GetImportProgress(ctx context.Context, req *internalpb.GetImportProgressRequest) (*internalpb.GetImportProgressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetImportProgress not implemented") +} +func (*UnimplementedDataCoordServer) ListImports(ctx context.Context, req *internalpb.ListImportsRequestInternal) (*internalpb.ListImportsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListImports not implemented") +} func RegisterDataCoordServer(s *grpc.Server, srv DataCoordServer) { s.RegisterService(&_DataCoord_serviceDesc, srv) @@ -6898,110 +7670,56 @@ func _DataCoord_DropVirtualChannel_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _DataCoord_SetSegmentState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetSegmentStateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataCoordServer).SetSegmentState(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/SetSegmentState", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).SetSegmentState(ctx, req.(*SetSegmentStateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DataCoord_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ImportTaskRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataCoordServer).Import(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/Import", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).Import(ctx, req.(*ImportTaskRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DataCoord_UpdateSegmentStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateSegmentStatisticsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DataCoordServer).UpdateSegmentStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/UpdateSegmentStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).UpdateSegmentStatistics(ctx, req.(*UpdateSegmentStatisticsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DataCoord_UpdateChannelCheckpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateChannelCheckpointRequest) +func _DataCoord_SetSegmentState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetSegmentStateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataCoordServer).UpdateChannelCheckpoint(ctx, in) + return srv.(DataCoordServer).SetSegmentState(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/UpdateChannelCheckpoint", + FullMethod: "/milvus.proto.data.DataCoord/SetSegmentState", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).UpdateChannelCheckpoint(ctx, req.(*UpdateChannelCheckpointRequest)) + return srv.(DataCoordServer).SetSegmentState(ctx, req.(*SetSegmentStateRequest)) } return interceptor(ctx, in, info, handler) } -func _DataCoord_SaveImportSegment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SaveImportSegmentRequest) +func _DataCoord_UpdateSegmentStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSegmentStatisticsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataCoordServer).SaveImportSegment(ctx, in) + return srv.(DataCoordServer).UpdateSegmentStatistics(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/SaveImportSegment", + FullMethod: "/milvus.proto.data.DataCoord/UpdateSegmentStatistics", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).SaveImportSegment(ctx, req.(*SaveImportSegmentRequest)) + return srv.(DataCoordServer).UpdateSegmentStatistics(ctx, req.(*UpdateSegmentStatisticsRequest)) } return interceptor(ctx, in, info, handler) } -func _DataCoord_UnsetIsImportingState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnsetIsImportingStateRequest) +func _DataCoord_UpdateChannelCheckpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateChannelCheckpointRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataCoordServer).UnsetIsImportingState(ctx, in) + return srv.(DataCoordServer).UpdateChannelCheckpoint(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataCoord/UnsetIsImportingState", + FullMethod: "/milvus.proto.data.DataCoord/UpdateChannelCheckpoint", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataCoordServer).UnsetIsImportingState(ctx, req.(*UnsetIsImportingStateRequest)) + return srv.(DataCoordServer).UpdateChannelCheckpoint(ctx, req.(*UpdateChannelCheckpointRequest)) } return interceptor(ctx, in, info, handler) } @@ -7078,6 +7796,24 @@ func _DataCoord_CreateIndex_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _DataCoord_AlterIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(indexpb.AlterIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).AlterIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/AlterIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).AlterIndex(ctx, req.(*indexpb.AlterIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _DataCoord_GetIndexState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(indexpb.GetIndexStateRequest) if err := dec(in); err != nil { @@ -7204,6 +7940,24 @@ func _DataCoord_GetIndexBuildProgress_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _DataCoord_ListIndexes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(indexpb.ListIndexesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).ListIndexes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/ListIndexes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).ListIndexes(ctx, req.(*indexpb.ListIndexesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _DataCoord_GcConfirm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GcConfirmRequest) if err := dec(in); err != nil { @@ -7240,6 +7994,78 @@ func _DataCoord_ReportDataNodeTtMsgs_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _DataCoord_GcControl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GcControlRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).GcControl(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/GcControl", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).GcControl(ctx, req.(*GcControlRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCoord_ImportV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.ImportRequestInternal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).ImportV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/ImportV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).ImportV2(ctx, req.(*internalpb.ImportRequestInternal)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCoord_GetImportProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.GetImportProgressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).GetImportProgress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/GetImportProgress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).GetImportProgress(ctx, req.(*internalpb.GetImportProgressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCoord_ListImports_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.ListImportsRequestInternal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCoordServer).ListImports(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataCoord/ListImports", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCoordServer).ListImports(ctx, req.(*internalpb.ListImportsRequestInternal)) + } + return interceptor(ctx, in, info, handler) +} + var _DataCoord_serviceDesc = grpc.ServiceDesc{ ServiceName: "milvus.protov2.data.DataCoord", HandlerType: (*DataCoordServer)(nil), @@ -7348,10 +8174,6 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "SetSegmentState", Handler: _DataCoord_SetSegmentState_Handler, }, - { - MethodName: "Import", - Handler: _DataCoord_Import_Handler, - }, { MethodName: "UpdateSegmentStatistics", Handler: _DataCoord_UpdateSegmentStatistics_Handler, @@ -7360,14 +8182,6 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateChannelCheckpoint", Handler: _DataCoord_UpdateChannelCheckpoint_Handler, }, - { - MethodName: "SaveImportSegment", - Handler: _DataCoord_SaveImportSegment_Handler, - }, - { - MethodName: "UnsetIsImportingState", - Handler: _DataCoord_UnsetIsImportingState_Handler, - }, { MethodName: "MarkSegmentsDropped", Handler: _DataCoord_MarkSegmentsDropped_Handler, @@ -7384,6 +8198,10 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateIndex", Handler: _DataCoord_CreateIndex_Handler, }, + { + MethodName: "AlterIndex", + Handler: _DataCoord_AlterIndex_Handler, + }, { MethodName: "GetIndexState", Handler: _DataCoord_GetIndexState_Handler, @@ -7412,6 +8230,10 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "GetIndexBuildProgress", Handler: _DataCoord_GetIndexBuildProgress_Handler, }, + { + MethodName: "ListIndexes", + Handler: _DataCoord_ListIndexes_Handler, + }, { MethodName: "GcConfirm", Handler: _DataCoord_GcConfirm_Handler, @@ -7420,6 +8242,22 @@ var _DataCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "ReportDataNodeTtMsgs", Handler: _DataCoord_ReportDataNodeTtMsgs_Handler, }, + { + MethodName: "GcControl", + Handler: _DataCoord_GcControl_Handler, + }, + { + MethodName: "ImportV2", + Handler: _DataCoord_ImportV2_Handler, + }, + { + MethodName: "GetImportProgress", + Handler: _DataCoord_GetImportProgress_Handler, + }, + { + MethodName: "ListImports", + Handler: _DataCoord_ListImports_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "data_coord.proto", @@ -7439,14 +8277,17 @@ type DataNodeClient interface { Compaction(ctx context.Context, in *CompactionPlan, opts ...grpc.CallOption) (*commonpb.Status, error) GetCompactionState(ctx context.Context, in *CompactionStateRequest, opts ...grpc.CallOption) (*CompactionStateResponse, error) SyncSegments(ctx context.Context, in *SyncSegmentsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(ctx context.Context, in *ImportTaskRequest, opts ...grpc.CallOption) (*commonpb.Status, error) // Deprecated ResendSegmentStats(ctx context.Context, in *ResendSegmentStatsRequest, opts ...grpc.CallOption) (*ResendSegmentStatsResponse, error) - AddImportSegment(ctx context.Context, in *AddImportSegmentRequest, opts ...grpc.CallOption) (*AddImportSegmentResponse, error) FlushChannels(ctx context.Context, in *FlushChannelsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) NotifyChannelOperation(ctx context.Context, in *ChannelOperationsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) CheckChannelOperationProgress(ctx context.Context, in *ChannelWatchInfo, opts ...grpc.CallOption) (*ChannelOperationProgressResponse, error) + // import v2 + PreImport(ctx context.Context, in *PreImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + ImportV2(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + QueryPreImport(ctx context.Context, in *QueryPreImportRequest, opts ...grpc.CallOption) (*QueryPreImportResponse, error) + QueryImport(ctx context.Context, in *QueryImportRequest, opts ...grpc.CallOption) (*QueryImportResponse, error) + DropImport(ctx context.Context, in *DropImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) } type dataNodeClient struct { @@ -7538,54 +8379,81 @@ func (c *dataNodeClient) SyncSegments(ctx context.Context, in *SyncSegmentsReque return out, nil } -func (c *dataNodeClient) Import(ctx context.Context, in *ImportTaskRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { +func (c *dataNodeClient) ResendSegmentStats(ctx context.Context, in *ResendSegmentStatsRequest, opts ...grpc.CallOption) (*ResendSegmentStatsResponse, error) { + out := new(ResendSegmentStatsResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/ResendSegmentStats", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataNodeClient) FlushChannels(ctx context.Context, in *FlushChannelsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/Import", in, out, opts...) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/FlushChannels", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *dataNodeClient) ResendSegmentStats(ctx context.Context, in *ResendSegmentStatsRequest, opts ...grpc.CallOption) (*ResendSegmentStatsResponse, error) { - out := new(ResendSegmentStatsResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/ResendSegmentStats", in, out, opts...) +func (c *dataNodeClient) NotifyChannelOperation(ctx context.Context, in *ChannelOperationsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/NotifyChannelOperation", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *dataNodeClient) AddImportSegment(ctx context.Context, in *AddImportSegmentRequest, opts ...grpc.CallOption) (*AddImportSegmentResponse, error) { - out := new(AddImportSegmentResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/AddImportSegment", in, out, opts...) +func (c *dataNodeClient) CheckChannelOperationProgress(ctx context.Context, in *ChannelWatchInfo, opts ...grpc.CallOption) (*ChannelOperationProgressResponse, error) { + out := new(ChannelOperationProgressResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/CheckChannelOperationProgress", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *dataNodeClient) FlushChannels(ctx context.Context, in *FlushChannelsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { +func (c *dataNodeClient) PreImport(ctx context.Context, in *PreImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/FlushChannels", in, out, opts...) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/PreImport", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *dataNodeClient) NotifyChannelOperation(ctx context.Context, in *ChannelOperationsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { +func (c *dataNodeClient) ImportV2(ctx context.Context, in *ImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/NotifyChannelOperation", in, out, opts...) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/ImportV2", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *dataNodeClient) CheckChannelOperationProgress(ctx context.Context, in *ChannelWatchInfo, opts ...grpc.CallOption) (*ChannelOperationProgressResponse, error) { - out := new(ChannelOperationProgressResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/CheckChannelOperationProgress", in, out, opts...) +func (c *dataNodeClient) QueryPreImport(ctx context.Context, in *QueryPreImportRequest, opts ...grpc.CallOption) (*QueryPreImportResponse, error) { + out := new(QueryPreImportResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/QueryPreImport", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataNodeClient) QueryImport(ctx context.Context, in *QueryImportRequest, opts ...grpc.CallOption) (*QueryImportResponse, error) { + out := new(QueryImportResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/QueryImport", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataNodeClient) DropImport(ctx context.Context, in *DropImportRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.data.DataNode/DropImport", in, out, opts...) if err != nil { return nil, err } @@ -7604,14 +8472,17 @@ type DataNodeServer interface { Compaction(context.Context, *CompactionPlan) (*commonpb.Status, error) GetCompactionState(context.Context, *CompactionStateRequest) (*CompactionStateResponse, error) SyncSegments(context.Context, *SyncSegmentsRequest) (*commonpb.Status, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(context.Context, *ImportTaskRequest) (*commonpb.Status, error) // Deprecated ResendSegmentStats(context.Context, *ResendSegmentStatsRequest) (*ResendSegmentStatsResponse, error) - AddImportSegment(context.Context, *AddImportSegmentRequest) (*AddImportSegmentResponse, error) FlushChannels(context.Context, *FlushChannelsRequest) (*commonpb.Status, error) NotifyChannelOperation(context.Context, *ChannelOperationsRequest) (*commonpb.Status, error) CheckChannelOperationProgress(context.Context, *ChannelWatchInfo) (*ChannelOperationProgressResponse, error) + // import v2 + PreImport(context.Context, *PreImportRequest) (*commonpb.Status, error) + ImportV2(context.Context, *ImportRequest) (*commonpb.Status, error) + QueryPreImport(context.Context, *QueryPreImportRequest) (*QueryPreImportResponse, error) + QueryImport(context.Context, *QueryImportRequest) (*QueryImportResponse, error) + DropImport(context.Context, *DropImportRequest) (*commonpb.Status, error) } // UnimplementedDataNodeServer can be embedded to have forward compatible implementations. @@ -7645,15 +8516,9 @@ func (*UnimplementedDataNodeServer) GetCompactionState(ctx context.Context, req func (*UnimplementedDataNodeServer) SyncSegments(ctx context.Context, req *SyncSegmentsRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method SyncSegments not implemented") } -func (*UnimplementedDataNodeServer) Import(ctx context.Context, req *ImportTaskRequest) (*commonpb.Status, error) { - return nil, status.Errorf(codes.Unimplemented, "method Import not implemented") -} func (*UnimplementedDataNodeServer) ResendSegmentStats(ctx context.Context, req *ResendSegmentStatsRequest) (*ResendSegmentStatsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ResendSegmentStats not implemented") } -func (*UnimplementedDataNodeServer) AddImportSegment(ctx context.Context, req *AddImportSegmentRequest) (*AddImportSegmentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddImportSegment not implemented") -} func (*UnimplementedDataNodeServer) FlushChannels(ctx context.Context, req *FlushChannelsRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method FlushChannels not implemented") } @@ -7663,6 +8528,21 @@ func (*UnimplementedDataNodeServer) NotifyChannelOperation(ctx context.Context, func (*UnimplementedDataNodeServer) CheckChannelOperationProgress(ctx context.Context, req *ChannelWatchInfo) (*ChannelOperationProgressResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckChannelOperationProgress not implemented") } +func (*UnimplementedDataNodeServer) PreImport(ctx context.Context, req *PreImportRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method PreImport not implemented") +} +func (*UnimplementedDataNodeServer) ImportV2(ctx context.Context, req *ImportRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportV2 not implemented") +} +func (*UnimplementedDataNodeServer) QueryPreImport(ctx context.Context, req *QueryPreImportRequest) (*QueryPreImportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPreImport not implemented") +} +func (*UnimplementedDataNodeServer) QueryImport(ctx context.Context, req *QueryImportRequest) (*QueryImportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryImport not implemented") +} +func (*UnimplementedDataNodeServer) DropImport(ctx context.Context, req *DropImportRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method DropImport not implemented") +} func RegisterDataNodeServer(s *grpc.Server, srv DataNodeServer) { s.RegisterService(&_DataNode_serviceDesc, srv) @@ -7830,110 +8710,164 @@ func _DataNode_SyncSegments_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _DataNode_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ImportTaskRequest) +func _DataNode_ResendSegmentStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResendSegmentStatsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).Import(ctx, in) + return srv.(DataNodeServer).ResendSegmentStats(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/Import", + FullMethod: "/milvus.proto.data.DataNode/ResendSegmentStats", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).Import(ctx, req.(*ImportTaskRequest)) + return srv.(DataNodeServer).ResendSegmentStats(ctx, req.(*ResendSegmentStatsRequest)) } return interceptor(ctx, in, info, handler) } -func _DataNode_ResendSegmentStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResendSegmentStatsRequest) +func _DataNode_FlushChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FlushChannelsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).ResendSegmentStats(ctx, in) + return srv.(DataNodeServer).FlushChannels(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/ResendSegmentStats", + FullMethod: "/milvus.proto.data.DataNode/FlushChannels", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).ResendSegmentStats(ctx, req.(*ResendSegmentStatsRequest)) + return srv.(DataNodeServer).FlushChannels(ctx, req.(*FlushChannelsRequest)) } return interceptor(ctx, in, info, handler) } -func _DataNode_AddImportSegment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddImportSegmentRequest) +func _DataNode_NotifyChannelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChannelOperationsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).AddImportSegment(ctx, in) + return srv.(DataNodeServer).NotifyChannelOperation(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/AddImportSegment", + FullMethod: "/milvus.proto.data.DataNode/NotifyChannelOperation", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).AddImportSegment(ctx, req.(*AddImportSegmentRequest)) + return srv.(DataNodeServer).NotifyChannelOperation(ctx, req.(*ChannelOperationsRequest)) } return interceptor(ctx, in, info, handler) } -func _DataNode_FlushChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(FlushChannelsRequest) +func _DataNode_CheckChannelOperationProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChannelWatchInfo) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).FlushChannels(ctx, in) + return srv.(DataNodeServer).CheckChannelOperationProgress(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/FlushChannels", + FullMethod: "/milvus.proto.data.DataNode/CheckChannelOperationProgress", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).FlushChannels(ctx, req.(*FlushChannelsRequest)) + return srv.(DataNodeServer).CheckChannelOperationProgress(ctx, req.(*ChannelWatchInfo)) } return interceptor(ctx, in, info, handler) } -func _DataNode_NotifyChannelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChannelOperationsRequest) +func _DataNode_PreImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PreImportRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).NotifyChannelOperation(ctx, in) + return srv.(DataNodeServer).PreImport(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/NotifyChannelOperation", + FullMethod: "/milvus.proto.data.DataNode/PreImport", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).NotifyChannelOperation(ctx, req.(*ChannelOperationsRequest)) + return srv.(DataNodeServer).PreImport(ctx, req.(*PreImportRequest)) } return interceptor(ctx, in, info, handler) } -func _DataNode_CheckChannelOperationProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChannelWatchInfo) +func _DataNode_ImportV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DataNodeServer).CheckChannelOperationProgress(ctx, in) + return srv.(DataNodeServer).ImportV2(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/milvus.proto.data.DataNode/CheckChannelOperationProgress", + FullMethod: "/milvus.proto.data.DataNode/ImportV2", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DataNodeServer).CheckChannelOperationProgress(ctx, req.(*ChannelWatchInfo)) + return srv.(DataNodeServer).ImportV2(ctx, req.(*ImportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataNode_QueryPreImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPreImportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataNodeServer).QueryPreImport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataNode/QueryPreImport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataNodeServer).QueryPreImport(ctx, req.(*QueryPreImportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataNode_QueryImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryImportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataNodeServer).QueryImport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataNode/QueryImport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataNodeServer).QueryImport(ctx, req.(*QueryImportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataNode_DropImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DropImportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataNodeServer).DropImport(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.data.DataNode/DropImport", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataNodeServer).DropImport(ctx, req.(*DropImportRequest)) } return interceptor(ctx, in, info, handler) } @@ -7978,18 +8912,10 @@ var _DataNode_serviceDesc = grpc.ServiceDesc{ MethodName: "SyncSegments", Handler: _DataNode_SyncSegments_Handler, }, - { - MethodName: "Import", - Handler: _DataNode_Import_Handler, - }, { MethodName: "ResendSegmentStats", Handler: _DataNode_ResendSegmentStats_Handler, }, - { - MethodName: "AddImportSegment", - Handler: _DataNode_AddImportSegment_Handler, - }, { MethodName: "FlushChannels", Handler: _DataNode_FlushChannels_Handler, @@ -8002,6 +8928,26 @@ var _DataNode_serviceDesc = grpc.ServiceDesc{ MethodName: "CheckChannelOperationProgress", Handler: _DataNode_CheckChannelOperationProgress_Handler, }, + { + MethodName: "PreImport", + Handler: _DataNode_PreImport_Handler, + }, + { + MethodName: "ImportV2", + Handler: _DataNode_ImportV2_Handler, + }, + { + MethodName: "QueryPreImport", + Handler: _DataNode_QueryPreImport_Handler, + }, + { + MethodName: "QueryImport", + Handler: _DataNode_QueryImport_Handler, + }, + { + MethodName: "DropImport", + Handler: _DataNode_DropImport_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "data_coord.proto", diff --git a/proto/v2.2/etcd_meta.proto b/proto/v2.2/etcd_meta.proto index 2801d28..14a17c4 100644 --- a/proto/v2.2/etcd_meta.proto +++ b/proto/v2.2/etcd_meta.proto @@ -93,6 +93,7 @@ message DatabaseInfo { int64 id = 3; DatabaseState state = 4; uint64 created_time = 5; + repeated common.KeyValuePair properties = 6; } message SegmentIndexInfo { diff --git a/proto/v2.2/etcdpb/etcd_meta.pb.go b/proto/v2.2/etcdpb/etcd_meta.pb.go index 145e472..23b7db6 100644 --- a/proto/v2.2/etcdpb/etcd_meta.pb.go +++ b/proto/v2.2/etcdpb/etcd_meta.pb.go @@ -565,14 +565,15 @@ func (m *AliasInfo) GetDbId() int64 { } type DatabaseInfo struct { - TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` - State DatabaseState `protobuf:"varint,4,opt,name=state,proto3,enum=milvus.protov2.etcd.DatabaseState" json:"state,omitempty"` - CreatedTime uint64 `protobuf:"varint,5,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` + State DatabaseState `protobuf:"varint,4,opt,name=state,proto3,enum=milvus.protov2.etcd.DatabaseState" json:"state,omitempty"` + CreatedTime uint64 `protobuf:"varint,5,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` + Properties []*commonpb.KeyValuePair `protobuf:"bytes,6,rep,name=properties,proto3" json:"properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DatabaseInfo) Reset() { *m = DatabaseInfo{} } @@ -635,6 +636,13 @@ func (m *DatabaseInfo) GetCreatedTime() uint64 { return 0 } +func (m *DatabaseInfo) GetProperties() []*commonpb.KeyValuePair { + if m != nil { + return m.Properties + } + return nil +} + type SegmentIndexInfo struct { CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` PartitionID int64 `protobuf:"varint,2,opt,name=partitionID,proto3" json:"partitionID,omitempty"` @@ -902,77 +910,77 @@ func init() { func init() { proto.RegisterFile("etcd_meta.proto", fileDescriptor_975d306d62b73e88) } var fileDescriptor_975d306d62b73e88 = []byte{ - // 1143 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0xcb, 0x72, 0x1b, 0x45, - 0x14, 0xf5, 0x68, 0x24, 0x59, 0xba, 0x7a, 0xba, 0x9d, 0xb8, 0x26, 0x4e, 0x20, 0x62, 0x12, 0x88, - 0xca, 0x55, 0xb1, 0x0b, 0x87, 0x50, 0xc0, 0x82, 0x97, 0x55, 0x29, 0x54, 0x81, 0x94, 0x6a, 0x6c, - 0xb2, 0x60, 0x33, 0xd5, 0x9a, 0x69, 0x5b, 0x0d, 0x33, 0x3d, 0x53, 0xd3, 0x2d, 0x07, 0xf3, 0x05, - 0x7c, 0x04, 0x9f, 0xc0, 0x9e, 0x1d, 0x5b, 0xbe, 0x86, 0x35, 0x5b, 0xaa, 0xbb, 0xe7, 0x2d, 0x99, - 0x62, 0x97, 0x9d, 0xee, 0x99, 0xbe, 0x8f, 0x73, 0xfb, 0xf4, 0xbd, 0x82, 0x11, 0x11, 0x9e, 0xef, - 0x86, 0x44, 0xe0, 0xe3, 0x38, 0x89, 0x44, 0x84, 0xf6, 0x43, 0x1a, 0x5c, 0xaf, 0xb9, 0xb6, 0xae, - 0x4f, 0x8f, 0xe5, 0xf7, 0xc3, 0xbe, 0x17, 0x85, 0x61, 0xc4, 0x34, 0x78, 0xd8, 0xe7, 0xde, 0x8a, - 0x84, 0xa9, 0x83, 0xfd, 0x97, 0x01, 0xdd, 0x39, 0xf3, 0xc9, 0xcf, 0x73, 0x76, 0x19, 0xa1, 0x77, - 0x00, 0xa8, 0x34, 0x5c, 0x86, 0x43, 0x62, 0x19, 0x13, 0x63, 0xda, 0x75, 0xba, 0x0a, 0x79, 0x85, - 0x43, 0x82, 0x2c, 0xd8, 0x55, 0xc6, 0x7c, 0x66, 0x35, 0x26, 0xc6, 0xd4, 0x74, 0x32, 0x13, 0xbd, - 0x80, 0xbe, 0x76, 0x8c, 0x71, 0x82, 0x43, 0x6e, 0x99, 0x13, 0x73, 0xda, 0x3b, 0x7d, 0x74, 0x5c, - 0x2b, 0x27, 0x2d, 0xe4, 0x25, 0xb9, 0x79, 0x8d, 0x83, 0x35, 0x59, 0x60, 0x9a, 0x38, 0x3d, 0xe5, - 0xb8, 0x50, 0x7e, 0x32, 0x83, 0x4f, 0x02, 0x22, 0x88, 0x6f, 0x35, 0x27, 0xc6, 0xb4, 0xe3, 0x64, - 0x26, 0x7a, 0x08, 0x3d, 0x2f, 0x21, 0x58, 0x10, 0x57, 0xd0, 0x90, 0x58, 0xad, 0x89, 0x31, 0x6d, - 0x3a, 0xa0, 0xa1, 0x0b, 0x1a, 0x12, 0x7b, 0x06, 0xc3, 0x17, 0x94, 0x04, 0x7e, 0xc1, 0xc6, 0x82, - 0xdd, 0x4b, 0x1a, 0x10, 0x7f, 0x3e, 0x53, 0x54, 0x4c, 0x27, 0x33, 0x6f, 0x27, 0x62, 0xff, 0xd6, - 0x86, 0xe1, 0x59, 0x14, 0x04, 0xc4, 0x13, 0x34, 0x62, 0x2a, 0xcc, 0x10, 0x1a, 0x79, 0x84, 0xc6, - 0x7c, 0x86, 0xbe, 0x80, 0xb6, 0x6e, 0xa1, 0xf2, 0xed, 0x9d, 0x3e, 0xa9, 0xb3, 0x4c, 0x1b, 0x5c, - 0x84, 0x39, 0x57, 0x80, 0x93, 0xba, 0xd5, 0xa9, 0x98, 0x75, 0x2a, 0xc8, 0x86, 0x7e, 0x8c, 0x13, - 0x41, 0x55, 0x09, 0x33, 0x6e, 0x35, 0x27, 0xe6, 0xd4, 0x74, 0x2a, 0x18, 0xfa, 0x00, 0x86, 0xb9, - 0x2d, 0x2f, 0x87, 0x5b, 0xad, 0x89, 0x39, 0xed, 0x3a, 0x35, 0x14, 0x7d, 0x03, 0x83, 0x4b, 0xd9, - 0x16, 0x57, 0x31, 0x24, 0xdc, 0x6a, 0x6f, 0xbf, 0x1a, 0xa9, 0x94, 0xe3, 0x6a, 0x03, 0x9d, 0xfe, - 0x65, 0x6e, 0x13, 0x8e, 0x4e, 0xe1, 0xee, 0x35, 0x4d, 0xc4, 0x1a, 0x07, 0xae, 0xb7, 0xc2, 0x8c, - 0x91, 0x40, 0xc9, 0x84, 0x5b, 0xbb, 0x2a, 0xf1, 0x7e, 0xfa, 0xf1, 0x4c, 0x7f, 0xd3, 0xd9, 0x3f, - 0x82, 0x83, 0x78, 0x75, 0xc3, 0xa9, 0xb7, 0xe1, 0xd4, 0x51, 0x4e, 0x77, 0xb2, 0xaf, 0x15, 0xaf, - 0x2f, 0xe1, 0x41, 0xce, 0xc2, 0xd5, 0x7d, 0xf1, 0x55, 0xaf, 0xb8, 0xc0, 0x61, 0xcc, 0xad, 0xee, - 0xc4, 0x9c, 0x36, 0x9d, 0xc3, 0xfc, 0xcc, 0x99, 0x3e, 0x72, 0x91, 0x9f, 0x90, 0x42, 0xe6, 0x2b, - 0x9c, 0xf8, 0xdc, 0x65, 0xeb, 0xd0, 0x82, 0x89, 0x31, 0x6d, 0x39, 0x5d, 0x8d, 0xbc, 0x5a, 0x87, - 0xe8, 0x25, 0x8c, 0xb8, 0xc0, 0x89, 0x70, 0xe3, 0x88, 0xab, 0x08, 0xdc, 0xea, 0xa9, 0xb6, 0xd8, - 0xb7, 0x2b, 0x76, 0x86, 0x05, 0x56, 0x82, 0x1d, 0x2a, 0xd7, 0x45, 0xe6, 0x89, 0x2e, 0x60, 0xcf, - 0x8b, 0x18, 0xa7, 0x5c, 0x10, 0xe6, 0xdd, 0xb8, 0x01, 0xb9, 0x26, 0x81, 0xd5, 0x9f, 0x18, 0xd3, - 0xe1, 0xa6, 0x34, 0xd2, 0x70, 0x67, 0xc5, 0xf9, 0x6f, 0xe5, 0x71, 0x67, 0xec, 0xd5, 0x10, 0xf4, - 0x19, 0xb4, 0xb8, 0xc0, 0x82, 0x58, 0x03, 0x15, 0xe9, 0xf1, 0xd6, 0xfb, 0x2a, 0x49, 0x4c, 0x9e, - 0x75, 0xb4, 0x0b, 0x3a, 0x03, 0x88, 0x93, 0x28, 0x26, 0x89, 0xa0, 0x84, 0x5b, 0xc3, 0xff, 0xff, - 0x16, 0x4b, 0x6e, 0x68, 0x1f, 0x5a, 0xfe, 0xd2, 0xa5, 0xbe, 0x35, 0x52, 0xca, 0x6f, 0xfa, 0xcb, - 0xb9, 0x6f, 0xff, 0x63, 0xc0, 0x60, 0x91, 0xcb, 0x50, 0xbe, 0x8e, 0x09, 0xf4, 0x4a, 0xba, 0x4c, - 0x9f, 0x49, 0x19, 0x42, 0x8f, 0x61, 0x50, 0xd1, 0xa4, 0x7a, 0x36, 0x5d, 0xa7, 0x0a, 0xa2, 0xcf, - 0xe1, 0xfe, 0x7f, 0xdc, 0x79, 0xfa, 0x48, 0xee, 0xdd, 0x7a, 0xe5, 0xe8, 0x11, 0x0c, 0xbc, 0xbc, - 0x1b, 0xb2, 0xec, 0xa6, 0xaa, 0xa4, 0x5f, 0x80, 0x73, 0x1f, 0x7d, 0x9a, 0x35, 0xb5, 0xa5, 0x9a, - 0xba, 0xfd, 0x11, 0xe4, 0xfc, 0xca, 0x3d, 0xb5, 0xff, 0x34, 0xa0, 0xfb, 0x55, 0x40, 0x31, 0xcf, - 0x06, 0x25, 0x96, 0x46, 0x65, 0x50, 0x2a, 0x44, 0x91, 0xd9, 0x28, 0xa6, 0xb1, 0xa5, 0x98, 0xf7, - 0xa0, 0x5f, 0xe6, 0x99, 0x52, 0x4c, 0x47, 0x83, 0x62, 0x86, 0x9e, 0x67, 0xf5, 0x36, 0x55, 0xbd, - 0x0f, 0xb7, 0xd6, 0xab, 0xaa, 0xaa, 0xdc, 0x7f, 0x7e, 0x75, 0xad, 0xd2, 0xd5, 0xfd, 0x6e, 0x40, - 0x5f, 0x6a, 0x78, 0x89, 0x39, 0x51, 0x1c, 0xee, 0x43, 0x57, 0x10, 0x86, 0x99, 0x90, 0x27, 0x35, - 0x85, 0x8e, 0x06, 0xe6, 0x3e, 0x42, 0xd0, 0x64, 0xc5, 0x5d, 0xa9, 0xdf, 0x72, 0x10, 0x52, 0x5f, - 0x95, 0x69, 0x3a, 0x0d, 0xea, 0xa3, 0x4f, 0xaa, 0xd5, 0xd9, 0x5b, 0xab, 0xcb, 0x52, 0x56, 0x0a, - 0xac, 0x53, 0x6f, 0x6d, 0x50, 0xb7, 0x7f, 0x6d, 0xc0, 0xf8, 0x9c, 0x5c, 0x85, 0x84, 0x89, 0x62, - 0xa2, 0xdb, 0x50, 0x6e, 0x61, 0xa6, 0xb6, 0x0a, 0x56, 0x17, 0x64, 0x63, 0x53, 0x90, 0x0f, 0xa0, - 0xcb, 0xd3, 0xc8, 0xb3, 0x94, 0x4e, 0x01, 0xe8, 0xad, 0x21, 0xc7, 0xde, 0x2c, 0x95, 0x50, 0x66, - 0x96, 0xb7, 0x46, 0xab, 0xba, 0xfe, 0x2c, 0xd8, 0x5d, 0xae, 0xa9, 0xf2, 0x69, 0xeb, 0x2f, 0xa9, - 0x29, 0x99, 0x12, 0x86, 0x97, 0x01, 0xd1, 0xf3, 0xd7, 0xda, 0x55, 0x5b, 0xad, 0xa7, 0x31, 0x45, - 0xac, 0xbe, 0x0e, 0x3a, 0x1b, 0x9b, 0xed, 0x6f, 0xa3, 0xbc, 0x93, 0xbe, 0x23, 0x02, 0xbf, 0x85, - 0x9d, 0xf4, 0x2e, 0x40, 0xde, 0xa3, 0x6c, 0x23, 0x95, 0x10, 0xf4, 0x7e, 0x69, 0x1f, 0xb9, 0x02, - 0x5f, 0x65, 0xfb, 0xa8, 0x78, 0xe6, 0x17, 0xf8, 0x8a, 0x6f, 0xac, 0xb6, 0xf6, 0xe6, 0x6a, 0xb3, - 0xff, 0x90, 0x7c, 0x13, 0xe2, 0x13, 0x26, 0x28, 0x0e, 0xd4, 0xc5, 0x1f, 0x42, 0x67, 0xcd, 0x49, - 0x52, 0x7a, 0x6d, 0xb9, 0x8d, 0x9e, 0x02, 0x22, 0xcc, 0x4b, 0x6e, 0x62, 0x29, 0xa7, 0x18, 0x73, - 0xfe, 0x26, 0x4a, 0xfc, 0x54, 0xb8, 0x7b, 0xf9, 0x97, 0x45, 0xfa, 0x01, 0x1d, 0x40, 0x5b, 0xab, - 0x5c, 0x91, 0xec, 0x3a, 0xa9, 0x85, 0xee, 0x41, 0x87, 0x72, 0x97, 0xaf, 0x63, 0x92, 0x64, 0xff, - 0x3d, 0x28, 0x3f, 0x97, 0x26, 0x7a, 0x02, 0x23, 0xbe, 0xc2, 0xa7, 0xcf, 0x3f, 0x2e, 0xc2, 0xb7, - 0x94, 0xef, 0x50, 0xc3, 0x59, 0xec, 0xa3, 0x5f, 0x60, 0x50, 0xd1, 0x3b, 0xda, 0x87, 0x51, 0x06, - 0x7c, 0xcf, 0x7e, 0x62, 0xd1, 0x1b, 0x36, 0xde, 0x29, 0x83, 0xe9, 0x18, 0x1b, 0x1b, 0xe8, 0x0e, - 0x8c, 0x2b, 0x20, 0x65, 0x57, 0xe3, 0x46, 0x19, 0x9d, 0x25, 0x51, 0x1c, 0x4b, 0xd4, 0x2c, 0x07, - 0x50, 0x28, 0xf1, 0xc7, 0xcd, 0xa3, 0x08, 0x46, 0xb5, 0x75, 0x80, 0xee, 0xc2, 0x5e, 0x01, 0x65, - 0xa9, 0x76, 0xd0, 0x01, 0xa0, 0x1a, 0x2c, 0xc3, 0x1a, 0x55, 0x3c, 0x4f, 0xd7, 0xa8, 0x86, 0xc9, - 0x12, 0x9a, 0x47, 0x3f, 0xc2, 0xb0, 0x3a, 0x2a, 0x65, 0xb5, 0x8b, 0xda, 0x80, 0x1e, 0xef, 0x48, - 0xf7, 0x2a, 0xaa, 0xb3, 0x95, 0xe1, 0x52, 0xb2, 0x72, 0x8c, 0x22, 0xd7, 0x6b, 0x80, 0x62, 0xcc, - 0xa1, 0x31, 0xf4, 0x95, 0x55, 0xe4, 0xd8, 0x83, 0x41, 0x81, 0xe8, 0xf8, 0x19, 0x54, 0x8a, 0x9d, - 0xf9, 0xe5, 0x71, 0xbf, 0x7e, 0xf6, 0xc3, 0x87, 0x57, 0x54, 0xac, 0xd6, 0x4b, 0xb9, 0x0e, 0x4f, - 0xf4, 0x9b, 0x79, 0x4a, 0xa3, 0xf4, 0xd7, 0x09, 0x65, 0x42, 0x8a, 0x2c, 0x38, 0x51, 0xcf, 0xe8, - 0x44, 0x0e, 0xb4, 0x78, 0xb9, 0x6c, 0x2b, 0xeb, 0xd9, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4b, - 0xe9, 0x15, 0x8d, 0x7e, 0x0b, 0x00, 0x00, + // 1149 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0x7a, 0x6d, 0xc7, 0x7e, 0xfe, 0x9b, 0x49, 0x1b, 0x6d, 0xd3, 0x42, 0xcd, 0xb6, 0x50, + 0x2b, 0x52, 0x13, 0x91, 0x52, 0x04, 0x1c, 0xf8, 0x17, 0xab, 0xc2, 0x2a, 0x54, 0xd6, 0x26, 0xf4, + 0xc0, 0x65, 0x35, 0xde, 0x9d, 0xc4, 0x03, 0xbb, 0xb3, 0xab, 0x9d, 0x71, 0x4a, 0xf8, 0x04, 0x7c, + 0x08, 0xbe, 0x07, 0x37, 0xae, 0x7c, 0x1a, 0x0e, 0x9c, 0xb8, 0xa2, 0x99, 0xd9, 0xff, 0x76, 0x10, + 0xe2, 0xc2, 0xcd, 0xef, 0xb7, 0xf3, 0xfe, 0xff, 0xde, 0x7b, 0x86, 0x11, 0x11, 0x9e, 0xef, 0x86, + 0x44, 0xe0, 0xe3, 0x38, 0x89, 0x44, 0x84, 0xf6, 0x43, 0x1a, 0x5c, 0xaf, 0xb9, 0x96, 0xae, 0x4f, + 0x8f, 0xe5, 0xf7, 0xc3, 0xbe, 0x17, 0x85, 0x61, 0xc4, 0x34, 0x78, 0xd8, 0xe7, 0xde, 0x8a, 0x84, + 0xa9, 0x82, 0xfd, 0xbb, 0x01, 0xdd, 0x39, 0xf3, 0xc9, 0x8f, 0x73, 0x76, 0x19, 0xa1, 0xb7, 0x00, + 0xa8, 0x14, 0x5c, 0x86, 0x43, 0x62, 0x19, 0x13, 0x63, 0xda, 0x75, 0xba, 0x0a, 0x79, 0x85, 0x43, + 0x82, 0x2c, 0xd8, 0x55, 0xc2, 0x7c, 0x66, 0x35, 0x26, 0xc6, 0xd4, 0x74, 0x32, 0x11, 0xbd, 0x80, + 0xbe, 0x56, 0x8c, 0x71, 0x82, 0x43, 0x6e, 0x99, 0x13, 0x73, 0xda, 0x3b, 0x7d, 0x74, 0x5c, 0x0b, + 0x27, 0x0d, 0xe4, 0x25, 0xb9, 0x79, 0x8d, 0x83, 0x35, 0x59, 0x60, 0x9a, 0x38, 0x3d, 0xa5, 0xb8, + 0x50, 0x7a, 0xd2, 0x83, 0x4f, 0x02, 0x22, 0x88, 0x6f, 0x35, 0x27, 0xc6, 0xb4, 0xe3, 0x64, 0x22, + 0x7a, 0x08, 0x3d, 0x2f, 0x21, 0x58, 0x10, 0x57, 0xd0, 0x90, 0x58, 0xad, 0x89, 0x31, 0x6d, 0x3a, + 0xa0, 0xa1, 0x0b, 0x1a, 0x12, 0x7b, 0x06, 0xc3, 0x17, 0x94, 0x04, 0x7e, 0x91, 0x8d, 0x05, 0xbb, + 0x97, 0x34, 0x20, 0xfe, 0x7c, 0xa6, 0x52, 0x31, 0x9d, 0x4c, 0xbc, 0x3d, 0x11, 0xfb, 0x97, 0x36, + 0x0c, 0xcf, 0xa2, 0x20, 0x20, 0x9e, 0xa0, 0x11, 0x53, 0x66, 0x86, 0xd0, 0xc8, 0x2d, 0x34, 0xe6, + 0x33, 0xf4, 0x19, 0xb4, 0x75, 0x09, 0x95, 0x6e, 0xef, 0xf4, 0x49, 0x3d, 0xcb, 0xb4, 0xc0, 0x85, + 0x99, 0x73, 0x05, 0x38, 0xa9, 0x5a, 0x3d, 0x15, 0xb3, 0x9e, 0x0a, 0xb2, 0xa1, 0x1f, 0xe3, 0x44, + 0x50, 0x15, 0xc2, 0x8c, 0x5b, 0xcd, 0x89, 0x39, 0x35, 0x9d, 0x0a, 0x86, 0xde, 0x83, 0x61, 0x2e, + 0xcb, 0xe6, 0x70, 0xab, 0x35, 0x31, 0xa7, 0x5d, 0xa7, 0x86, 0xa2, 0xaf, 0x60, 0x70, 0x29, 0xcb, + 0xe2, 0xaa, 0x0c, 0x09, 0xb7, 0xda, 0xdb, 0x5b, 0x23, 0x99, 0x72, 0x5c, 0x2d, 0xa0, 0xd3, 0xbf, + 0xcc, 0x65, 0xc2, 0xd1, 0x29, 0xdc, 0xbd, 0xa6, 0x89, 0x58, 0xe3, 0xc0, 0xf5, 0x56, 0x98, 0x31, + 0x12, 0x28, 0x9a, 0x70, 0x6b, 0x57, 0x39, 0xde, 0x4f, 0x3f, 0x9e, 0xe9, 0x6f, 0xda, 0xfb, 0x07, + 0x70, 0x10, 0xaf, 0x6e, 0x38, 0xf5, 0x36, 0x94, 0x3a, 0x4a, 0xe9, 0x4e, 0xf6, 0xb5, 0xa2, 0xf5, + 0x39, 0x3c, 0xc8, 0xb3, 0x70, 0x75, 0x5d, 0x7c, 0x55, 0x2b, 0x2e, 0x70, 0x18, 0x73, 0xab, 0x3b, + 0x31, 0xa7, 0x4d, 0xe7, 0x30, 0x7f, 0x73, 0xa6, 0x9f, 0x5c, 0xe4, 0x2f, 0x24, 0x91, 0xf9, 0x0a, + 0x27, 0x3e, 0x77, 0xd9, 0x3a, 0xb4, 0x60, 0x62, 0x4c, 0x5b, 0x4e, 0x57, 0x23, 0xaf, 0xd6, 0x21, + 0x7a, 0x09, 0x23, 0x2e, 0x70, 0x22, 0xdc, 0x38, 0xe2, 0xca, 0x02, 0xb7, 0x7a, 0xaa, 0x2c, 0xf6, + 0xed, 0x8c, 0x9d, 0x61, 0x81, 0x15, 0x61, 0x87, 0x4a, 0x75, 0x91, 0x69, 0xa2, 0x0b, 0xd8, 0xf3, + 0x22, 0xc6, 0x29, 0x17, 0x84, 0x79, 0x37, 0x6e, 0x40, 0xae, 0x49, 0x60, 0xf5, 0x27, 0xc6, 0x74, + 0xb8, 0x49, 0x8d, 0xd4, 0xdc, 0x59, 0xf1, 0xfe, 0x6b, 0xf9, 0xdc, 0x19, 0x7b, 0x35, 0x04, 0x7d, + 0x02, 0x2d, 0x2e, 0xb0, 0x20, 0xd6, 0x40, 0x59, 0x7a, 0xbc, 0xb5, 0x5f, 0x25, 0x8a, 0xc9, 0xb7, + 0x8e, 0x56, 0x41, 0x67, 0x00, 0x71, 0x12, 0xc5, 0x24, 0x11, 0x94, 0x70, 0x6b, 0xf8, 0xef, 0x67, + 0xb1, 0xa4, 0x86, 0xf6, 0xa1, 0xe5, 0x2f, 0x5d, 0xea, 0x5b, 0x23, 0xc5, 0xfc, 0xa6, 0xbf, 0x9c, + 0xfb, 0xf6, 0x5f, 0x06, 0x0c, 0x16, 0x39, 0x0d, 0xe5, 0x74, 0x4c, 0xa0, 0x57, 0xe2, 0x65, 0x3a, + 0x26, 0x65, 0x08, 0x3d, 0x86, 0x41, 0x85, 0x93, 0x6a, 0x6c, 0xba, 0x4e, 0x15, 0x44, 0x9f, 0xc2, + 0xfd, 0x7f, 0xe8, 0x79, 0x3a, 0x24, 0xf7, 0x6e, 0x6d, 0x39, 0x7a, 0x04, 0x03, 0x2f, 0xaf, 0x86, + 0x0c, 0xbb, 0xa9, 0x22, 0xe9, 0x17, 0xe0, 0xdc, 0x47, 0x1f, 0x67, 0x45, 0x6d, 0xa9, 0xa2, 0x6e, + 0x1f, 0x82, 0x3c, 0xbf, 0x72, 0x4d, 0xed, 0xdf, 0x0c, 0xe8, 0x7e, 0x11, 0x50, 0xcc, 0xb3, 0x45, + 0x89, 0xa5, 0x50, 0x59, 0x94, 0x0a, 0x51, 0xc9, 0x6c, 0x04, 0xd3, 0xd8, 0x12, 0xcc, 0x3b, 0xd0, + 0x2f, 0xe7, 0x99, 0xa6, 0x98, 0xae, 0x06, 0x95, 0x19, 0x7a, 0x9e, 0xc5, 0xdb, 0x54, 0xf1, 0x3e, + 0xdc, 0x1a, 0xaf, 0x8a, 0xaa, 0xd2, 0xff, 0xbc, 0x75, 0xad, 0x52, 0xeb, 0xfe, 0x34, 0xa0, 0x2f, + 0x39, 0xbc, 0xc4, 0x9c, 0xa8, 0x1c, 0xee, 0x43, 0x57, 0x10, 0x86, 0x99, 0x90, 0x2f, 0x75, 0x0a, + 0x1d, 0x0d, 0xcc, 0x7d, 0x84, 0xa0, 0xc9, 0x8a, 0x5e, 0xa9, 0xdf, 0x72, 0x11, 0x52, 0x5f, 0x85, + 0x69, 0x3a, 0x0d, 0xea, 0xa3, 0x8f, 0xaa, 0xd1, 0xd9, 0x5b, 0xa3, 0xcb, 0x5c, 0x56, 0x02, 0xac, + 0xa7, 0xde, 0xda, 0x4c, 0xbd, 0xca, 0xe1, 0xf6, 0x7f, 0xe2, 0xb0, 0xfd, 0x73, 0x03, 0xc6, 0xe7, + 0xe4, 0x2a, 0x24, 0x4c, 0x14, 0x67, 0xc1, 0x86, 0x72, 0x1f, 0x32, 0xca, 0x56, 0xb0, 0x3a, 0xab, + 0x1b, 0x9b, 0xac, 0x7e, 0x00, 0x5d, 0x9e, 0x5a, 0x9e, 0xa5, 0x35, 0x29, 0x00, 0x7d, 0x7a, 0xe4, + 0xee, 0x9c, 0xa5, 0x3c, 0xcc, 0xc4, 0xf2, 0xe9, 0x69, 0x55, 0x6f, 0xa8, 0x05, 0xbb, 0xcb, 0x35, + 0x55, 0x3a, 0x6d, 0xfd, 0x25, 0x15, 0x65, 0xb9, 0x08, 0xc3, 0xcb, 0x80, 0xe8, 0x25, 0x6e, 0xed, + 0xaa, 0xd3, 0xd8, 0xd3, 0x98, 0x4a, 0xac, 0x7e, 0x53, 0x3a, 0x1b, 0xe7, 0xf1, 0x0f, 0xa3, 0x7c, + 0xd8, 0xbe, 0x21, 0x02, 0xff, 0x0f, 0x87, 0xed, 0x6d, 0x80, 0xbc, 0x46, 0xd9, 0x59, 0x2b, 0x21, + 0xe8, 0xdd, 0xd2, 0x51, 0x73, 0x05, 0xbe, 0xca, 0x8e, 0x5a, 0xb1, 0x2b, 0x2e, 0xf0, 0x15, 0xdf, + 0xb8, 0x8f, 0xed, 0xcd, 0xfb, 0x68, 0xff, 0x2a, 0xf3, 0x4d, 0x88, 0x4f, 0x98, 0xa0, 0x38, 0x50, + 0x8d, 0x3f, 0x84, 0xce, 0x9a, 0x93, 0xa4, 0x34, 0xb2, 0xb9, 0x8c, 0x9e, 0x02, 0x22, 0xcc, 0x4b, + 0x6e, 0x62, 0xc9, 0xc9, 0x18, 0x73, 0xfe, 0x26, 0x4a, 0xfc, 0x94, 0xfd, 0x7b, 0xf9, 0x97, 0x45, + 0xfa, 0x01, 0x1d, 0x40, 0x5b, 0x8f, 0x8a, 0x4a, 0xb2, 0xeb, 0xa4, 0x12, 0xba, 0x07, 0x1d, 0xca, + 0x5d, 0xbe, 0x8e, 0x49, 0x92, 0xfd, 0x81, 0xa1, 0xfc, 0x5c, 0x8a, 0xe8, 0x09, 0x8c, 0xf8, 0x0a, + 0x9f, 0x3e, 0xff, 0xb0, 0x30, 0xdf, 0x52, 0xba, 0x43, 0x0d, 0x67, 0xb6, 0x8f, 0x7e, 0x82, 0x41, + 0x65, 0x68, 0xd0, 0x3e, 0x8c, 0x32, 0xe0, 0x5b, 0xf6, 0x03, 0x8b, 0xde, 0xb0, 0xf1, 0x4e, 0x19, + 0x4c, 0x77, 0xe1, 0xd8, 0x40, 0x77, 0x60, 0x5c, 0x01, 0x29, 0xbb, 0x1a, 0x37, 0xca, 0xe8, 0x2c, + 0x89, 0xe2, 0x58, 0xa2, 0x66, 0xd9, 0x80, 0x42, 0x89, 0x3f, 0x6e, 0x1e, 0x45, 0x30, 0xaa, 0xdd, + 0x14, 0x74, 0x17, 0xf6, 0x0a, 0x28, 0x73, 0xb5, 0x83, 0x0e, 0x00, 0xd5, 0x60, 0x69, 0xd6, 0xa8, + 0xe2, 0xb9, 0xbb, 0x46, 0xd5, 0x4c, 0xe6, 0xd0, 0x3c, 0xfa, 0x1e, 0x86, 0xd5, 0x7d, 0x2b, 0xa3, + 0x5d, 0xd4, 0xb6, 0xfc, 0x78, 0x47, 0xaa, 0x57, 0x51, 0xed, 0xad, 0x0c, 0x97, 0x9c, 0x95, 0x6d, + 0x14, 0xbe, 0x5e, 0x03, 0x14, 0xbb, 0x12, 0x8d, 0xa1, 0xaf, 0xa4, 0xc2, 0xc7, 0x1e, 0x0c, 0x0a, + 0x44, 0xdb, 0xcf, 0xa0, 0x92, 0xed, 0x4c, 0x2f, 0xb7, 0xfb, 0xe5, 0xb3, 0xef, 0xde, 0xbf, 0xa2, + 0x62, 0xb5, 0x5e, 0xca, 0x7d, 0x74, 0xa2, 0x67, 0xe6, 0x29, 0x8d, 0xd2, 0x5f, 0x27, 0x94, 0x09, + 0x49, 0xb2, 0xe0, 0x44, 0x8d, 0xd1, 0x89, 0xdc, 0x8a, 0xf1, 0x72, 0xd9, 0x56, 0xd2, 0xb3, 0xbf, + 0x03, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x4e, 0xe8, 0x2f, 0xc3, 0x0b, 0x00, 0x00, } diff --git a/proto/v2.2/gen_proto.sh b/proto/v2.2/gen_proto.sh index dc80917..455eb0e 100755 --- a/proto/v2.2/gen_proto.sh +++ b/proto/v2.2/gen_proto.sh @@ -19,11 +19,13 @@ case ":$PATH:" in esac echo "using protoc-gen-go: $(which protoc-gen-go)" +protoc=/home/yangxuan/Github/milvus/cmake_build/bin/protoc mkdir -p commonpb mkdir -p milvuspb mkdir -p schemapb mkdir -p internalpb +mkdir -p rgpb mkdir -p etcdpb mkdir -p datapb mkdir -p indexpb @@ -40,7 +42,13 @@ ${protoc} --proto_path=${MILVUS_PROTO_DIR} --proto_path=${GOOGLE_PROTO_DIR}\ --go_opt="Mschema.proto=github.com/milvus-io/birdwatcher/proto/v2.2/schemapb" \ --go_opt="Mmsg.proto=github.com/milvus-io/birdwatcher/proto/v2.2/msgpb" \ --go_opt="Mfeder.proto=github.com/milvus-io/birdwatcher/proto/v2.2/federpb" \ + --go_opt="Mrg.proto=github.com/milvus-io/birdwatcher/proto/v2.2/rgpb" \ --go_out=plugins=grpc,paths=source_relative:milvuspb milvus.proto +# rg.proto +${protoc} --proto_path=${MILVUS_PROTO_DIR} --proto_path=${GOOGLE_PROTO_DIR}\ + --go_opt="Mmilvus.proto=github.com/milvus-io/birdwatcher/proto/v2.2/milvuspb" \ + --go_opt="Mcommon.proto=github.com/milvus-io/birdwatcher/proto/v2.2/commonpb" \ + --go_out=plugins=grpc,paths=source_relative:rgpb rg.proto # feder.proto ${protoc} --proto_path=${MILVUS_PROTO_DIR} --proto_path=${GOOGLE_PROTO_DIR}\ --go_opt="Mmilvus.proto=github.com/milvus-io/birdwatcher/proto/v2.2/milvuspb" \ @@ -104,6 +112,7 @@ ${protoc} --proto_path=${MILVUS_PROTO_DIR} --proto_path=${GOOGLE_PROTO_DIR}\ --go_opt="Mdata_coord.proto=github.com/milvus-io/birdwatcher/proto/v2.2/datapb" \ --go_opt="Mmsg.proto=github.com/milvus-io/birdwatcher/proto/v2.2/msgpb" \ --go_opt="Mindex_coord.proto=github.com/milvus-io/birdwatcher/proto/v2.2/indexpb" \ + --go_opt="Mrg.proto=github.com/milvus-io/birdwatcher/proto/v2.2/rgpb" \ --go_out=plugins=grpc,paths=source_relative:querypb query_coord.proto # index_coord.proto ${protoc} --proto_path=${MILVUS_PROTO_DIR} --proto_path=${GOOGLE_PROTO_DIR}\ diff --git a/proto/v2.2/index_coord.proto b/proto/v2.2/index_coord.proto index fce538d..16d3fcc 100644 --- a/proto/v2.2/index_coord.proto +++ b/proto/v2.2/index_coord.proto @@ -7,11 +7,13 @@ option go_package = "github.com/milvus-io/milvus/internal/proto/indexpb"; import "common.proto"; import "internal.proto"; import "milvus.proto"; +import "schema.proto"; service IndexCoord { rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} rpc CreateIndex(CreateIndexRequest) returns (common.Status){} + rpc AlterIndex(AlterIndexRequest) returns (common.Status){} // Deprecated: use DescribeIndex instead rpc GetIndexState(GetIndexStateRequest) returns (GetIndexStateResponse) {} rpc GetSegmentIndexState(GetSegmentIndexStateRequest) returns (GetSegmentIndexStateResponse) {} @@ -22,266 +24,323 @@ service IndexCoord { // Deprecated: use DescribeIndex instead rpc GetIndexBuildProgress(GetIndexBuildProgressRequest) returns (GetIndexBuildProgressResponse) {} - rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse){} - // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy - rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} + rpc ShowConfigurations(internal.ShowConfigurationsRequest) + returns (internal.ShowConfigurationsResponse) { + } + // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy + rpc GetMetrics(milvus.GetMetricsRequest) + returns (milvus.GetMetricsResponse) { + } - rpc CheckHealth(milvus.CheckHealthRequest) returns (milvus.CheckHealthResponse) {} + rpc CheckHealth(milvus.CheckHealthRequest) + returns (milvus.CheckHealthResponse) { + } } service IndexNode { - rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} - rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} - rpc CreateJob(CreateJobRequest) returns (common.Status) {} - rpc QueryJobs(QueryJobsRequest) returns (QueryJobsResponse) {} - rpc DropJobs(DropJobsRequest) returns (common.Status) {} - rpc GetJobStats(GetJobStatsRequest) returns (GetJobStatsResponse) {} - - rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse){} - // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy - rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} + rpc GetComponentStates(milvus.GetComponentStatesRequest) + returns (milvus.ComponentStates) { + } + rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) + returns (milvus.StringResponse) { + } + rpc CreateJob(CreateJobRequest) returns (common.Status) { + } + rpc QueryJobs(QueryJobsRequest) returns (QueryJobsResponse) { + } + rpc DropJobs(DropJobsRequest) returns (common.Status) { + } + rpc GetJobStats(GetJobStatsRequest) returns (GetJobStatsResponse) { + } + + rpc ShowConfigurations(internal.ShowConfigurationsRequest) + returns (internal.ShowConfigurationsResponse) { + } + // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy + rpc GetMetrics(milvus.GetMetricsRequest) + returns (milvus.GetMetricsResponse) { + } } message IndexInfo { - int64 collectionID = 1; - int64 fieldID = 2; - string index_name = 3; - int64 indexID = 4; - repeated common.KeyValuePair type_params = 5; - repeated common.KeyValuePair index_params = 6; - // index build progress - // The real-time statistics may not be expected due to the existence of the compaction mechanism. - int64 indexed_rows = 7; - int64 total_rows = 8; - // index state - common.IndexState state = 9; - string index_state_fail_reason = 10; - bool is_auto_index = 11; - repeated common.KeyValuePair user_index_params = 12; - int64 pending_index_rows = 13; + int64 collectionID = 1; + int64 fieldID = 2; + string index_name = 3; + int64 indexID = 4; + repeated common.KeyValuePair type_params = 5; + repeated common.KeyValuePair index_params = 6; + // index build progress + // The real-time statistics may not be expected due to the existence of the compaction mechanism. + int64 indexed_rows = 7; + int64 total_rows = 8; + // index state + common.IndexState state = 9; + string index_state_fail_reason = 10; + bool is_auto_index = 11; + repeated common.KeyValuePair user_index_params = 12; + int64 pending_index_rows = 13; } message FieldIndex { - IndexInfo index_info = 1; - bool deleted = 2; - uint64 create_time = 3; + IndexInfo index_info = 1; + bool deleted = 2; + uint64 create_time = 3; } message SegmentIndex { - int64 collectionID = 1; - int64 partitionID = 2; - int64 segmentID = 3; - int64 num_rows = 4; - int64 indexID = 5; - int64 buildID = 6; - int64 nodeID = 7; - int64 index_version = 8; - common.IndexState state = 9; - string fail_reason = 10; - repeated string index_file_keys = 11; - bool deleted = 12; - uint64 create_time = 13; - uint64 serialize_size = 14; - bool write_handoff = 15; - int32 current_index_version = 16; + int64 collectionID = 1; + int64 partitionID = 2; + int64 segmentID = 3; + int64 num_rows = 4; + int64 indexID = 5; + int64 buildID = 6; + int64 nodeID = 7; + int64 index_version = 8; + common.IndexState state = 9; + string fail_reason = 10; + repeated string index_file_keys = 11; + bool deleted = 12; + uint64 create_time = 13; + uint64 serialize_size = 14; + bool write_handoff = 15; + int32 current_index_version = 16; + int64 index_store_version = 17; } message RegisterNodeRequest { - common.MsgBase base = 1; - common.Address address = 2; - int64 nodeID = 3; + common.MsgBase base = 1; + common.Address address = 2; + int64 nodeID = 3; } message RegisterNodeResponse { - common.Status status = 1; - internal.InitParams init_params = 2; + common.Status status = 1; + internal.InitParams init_params = 2; } message GetIndexStateRequest { - int64 collectionID = 1; - string index_name = 2; + int64 collectionID = 1; + string index_name = 2; } message GetIndexStateResponse { - common.Status status = 1; - common.IndexState state = 2; - string fail_reason = 3; + common.Status status = 1; + common.IndexState state = 2; + string fail_reason = 3; } message GetSegmentIndexStateRequest { - int64 collectionID = 1; - string index_name = 2; - repeated int64 segmentIDs = 3; + int64 collectionID = 1; + string index_name = 2; + repeated int64 segmentIDs = 3; } message SegmentIndexState { - int64 segmentID = 1; - common.IndexState state = 2; - string fail_reason = 3; + int64 segmentID = 1; + common.IndexState state = 2; + string fail_reason = 3; + string index_name = 4; } message GetSegmentIndexStateResponse { - common.Status status = 1; - repeated SegmentIndexState states = 2; + common.Status status = 1; + repeated SegmentIndexState states = 2; } message CreateIndexRequest { + int64 collectionID = 1; + int64 fieldID = 2; + string index_name = 3; + repeated common.KeyValuePair type_params = 4; + repeated common.KeyValuePair index_params = 5; + uint64 timestamp = 6; + bool is_auto_index = 7; + repeated common.KeyValuePair user_index_params = 8; +} + +message AlterIndexRequest { int64 collectionID = 1; - int64 fieldID = 2; - string index_name = 3; - repeated common.KeyValuePair type_params = 4; - repeated common.KeyValuePair index_params = 5; - uint64 timestamp = 6; - bool is_auto_index = 7; - repeated common.KeyValuePair user_index_params = 8; + string index_name = 2; + repeated common.KeyValuePair params = 3; } message GetIndexInfoRequest { - int64 collectionID = 1; - repeated int64 segmentIDs = 2; - string index_name = 3; + int64 collectionID = 1; + repeated int64 segmentIDs = 2; + string index_name = 3; } message IndexFilePathInfo { - int64 segmentID = 1; - int64 fieldID = 2; - int64 indexID = 3; - int64 buildID = 4; - string index_name = 5; - repeated common.KeyValuePair index_params = 6; - repeated string index_file_paths = 7; - uint64 serialized_size = 8; - int64 index_version = 9; - int64 num_rows = 10; - int32 current_index_version = 11; + int64 segmentID = 1; + int64 fieldID = 2; + int64 indexID = 3; + int64 buildID = 4; + string index_name = 5; + repeated common.KeyValuePair index_params = 6; + repeated string index_file_paths = 7; + uint64 serialized_size = 8; + int64 index_version = 9; + int64 num_rows = 10; + int32 current_index_version = 11; } message SegmentInfo { - int64 collectionID = 1; - int64 segmentID = 2; - bool enable_index = 3; - repeated IndexFilePathInfo index_infos = 4; + int64 collectionID = 1; + int64 segmentID = 2; + bool enable_index = 3; + repeated IndexFilePathInfo index_infos = 4; } message GetIndexInfoResponse { - common.Status status = 1; - map segment_info = 2; + common.Status status = 1; + map segment_info = 2; } message DropIndexRequest { - int64 collectionID = 1; - repeated int64 partitionIDs = 2; - string index_name = 3; - bool drop_all = 4; + int64 collectionID = 1; + repeated int64 partitionIDs = 2; + string index_name = 3; + bool drop_all = 4; } message DescribeIndexRequest { - int64 collectionID = 1; - string index_name = 2; - uint64 timestamp = 3; + int64 collectionID = 1; + string index_name = 2; + uint64 timestamp = 3; } message DescribeIndexResponse { - common.Status status = 1; - repeated IndexInfo index_infos = 2; + common.Status status = 1; + repeated IndexInfo index_infos = 2; } message GetIndexBuildProgressRequest { - int64 collectionID = 1; - string index_name = 2; + int64 collectionID = 1; + string index_name = 2; } message GetIndexBuildProgressResponse { - common.Status status = 1; - int64 indexed_rows = 2; - int64 total_rows = 3; - int64 pending_index_rows = 4; + common.Status status = 1; + int64 indexed_rows = 2; + int64 total_rows = 3; + int64 pending_index_rows = 4; } message StorageConfig { - string address = 1; - string access_keyID = 2; - string secret_access_key = 3; - bool useSSL = 4; - string bucket_name = 5; - string root_path = 6; - bool useIAM = 7; - string IAMEndpoint = 8; - string storage_type = 9; - bool use_virtual_host = 10; - string region = 11; - string cloud_provider = 12; - int64 request_timeout_ms = 13; + string address = 1; + string access_keyID = 2; + string secret_access_key = 3; + bool useSSL = 4; + string bucket_name = 5; + string root_path = 6; + bool useIAM = 7; + string IAMEndpoint = 8; + string storage_type = 9; + bool use_virtual_host = 10; + string region = 11; + string cloud_provider = 12; + int64 request_timeout_ms = 13; + string sslCACert = 14; +} + +message OptionalFieldInfo { + int64 fieldID = 1; + string field_name = 2; + int32 field_type = 3; + repeated string data_paths = 4; + repeated int64 data_ids = 5; } message CreateJobRequest { - string clusterID = 1; - string index_file_prefix = 2; - int64 buildID = 3; - repeated string data_paths = 4; - int64 index_version = 5; - int64 indexID = 6; - string index_name = 7; - StorageConfig storage_config = 8; - repeated common.KeyValuePair index_params = 9; - repeated common.KeyValuePair type_params = 10; - int64 num_rows = 11; - int32 current_index_version = 12; + string clusterID = 1; + string index_file_prefix = 2; + int64 buildID = 3; + repeated string data_paths = 4; + int64 index_version = 5; + int64 indexID = 6; + string index_name = 7; + StorageConfig storage_config = 8; + repeated common.KeyValuePair index_params = 9; + repeated common.KeyValuePair type_params = 10; + int64 num_rows = 11; + int32 current_index_version = 12; + int64 collectionID = 13; + int64 partitionID = 14; + int64 segmentID = 15; + int64 fieldID = 16; + string field_name = 17; + schema.DataType field_type = 18; + string store_path = 19; + int64 store_version = 20; + string index_store_path = 21; + int64 dim = 22; + repeated int64 data_ids = 23; + repeated OptionalFieldInfo optional_scalar_fields = 24; } message QueryJobsRequest { - string clusterID = 1; - repeated int64 buildIDs = 2; + string clusterID = 1; + repeated int64 buildIDs = 2; } message IndexTaskInfo { - int64 buildID = 1; - common.IndexState state = 2; - repeated string index_file_keys = 3; - uint64 serialized_size = 4; - string fail_reason = 5; - int32 current_index_version = 6; + int64 buildID = 1; + common.IndexState state = 2; + repeated string index_file_keys = 3; + uint64 serialized_size = 4; + string fail_reason = 5; + int32 current_index_version = 6; + int64 index_store_version = 7; } message QueryJobsResponse { - common.Status status = 1; - string clusterID = 2; - repeated IndexTaskInfo index_infos = 3; + common.Status status = 1; + string clusterID = 2; + repeated IndexTaskInfo index_infos = 3; } message DropJobsRequest { - string clusterID = 1; - repeated int64 buildIDs = 2; + string clusterID = 1; + repeated int64 buildIDs = 2; } message JobInfo { - int64 num_rows = 1; - int64 dim = 2; - int64 start_time = 3; - int64 end_time = 4; - repeated common.KeyValuePair index_params = 5; - int64 podID = 6; + int64 num_rows = 1; + int64 dim = 2; + int64 start_time = 3; + int64 end_time = 4; + repeated common.KeyValuePair index_params = 5; + int64 podID = 6; } message GetJobStatsRequest { } message GetJobStatsResponse { - common.Status status = 1; - int64 total_job_num = 2; - int64 in_progress_job_num = 3; - int64 enqueue_job_num = 4; - int64 task_slots = 5; - repeated JobInfo job_infos = 6; - bool enable_disk = 7; + common.Status status = 1; + int64 total_job_num = 2; + int64 in_progress_job_num = 3; + int64 enqueue_job_num = 4; + int64 task_slots = 5; + repeated JobInfo job_infos = 6; + bool enable_disk = 7; } message GetIndexStatisticsRequest { - int64 collectionID = 1; - string index_name = 2; + int64 collectionID = 1; + string index_name = 2; } message GetIndexStatisticsResponse { - common.Status status = 1; - repeated IndexInfo index_infos = 2; + common.Status status = 1; + repeated IndexInfo index_infos = 2; +} + +message ListIndexesRequest { + int64 collectionID = 1; +} + +message ListIndexesResponse { + common.Status status = 1; + repeated IndexInfo index_infos = 2; } diff --git a/proto/v2.2/indexpb/index_coord.pb.go b/proto/v2.2/indexpb/index_coord.pb.go index 899a889..0bdece5 100644 --- a/proto/v2.2/indexpb/index_coord.pb.go +++ b/proto/v2.2/indexpb/index_coord.pb.go @@ -10,6 +10,7 @@ import ( commonpb "github.com/milvus-io/birdwatcher/proto/v2.2/commonpb" internalpb "github.com/milvus-io/birdwatcher/proto/v2.2/internalpb" milvuspb "github.com/milvus-io/birdwatcher/proto/v2.2/milvuspb" + schemapb "github.com/milvus-io/birdwatcher/proto/v2.2/schemapb" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -237,6 +238,7 @@ type SegmentIndex struct { SerializeSize uint64 `protobuf:"varint,14,opt,name=serialize_size,json=serializeSize,proto3" json:"serialize_size,omitempty"` WriteHandoff bool `protobuf:"varint,15,opt,name=write_handoff,json=writeHandoff,proto3" json:"write_handoff,omitempty"` CurrentIndexVersion int32 `protobuf:"varint,16,opt,name=current_index_version,json=currentIndexVersion,proto3" json:"current_index_version,omitempty"` + IndexStoreVersion int64 `protobuf:"varint,17,opt,name=index_store_version,json=indexStoreVersion,proto3" json:"index_store_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -379,6 +381,13 @@ func (m *SegmentIndex) GetCurrentIndexVersion() int32 { return 0 } +func (m *SegmentIndex) GetIndexStoreVersion() int64 { + if m != nil { + return m.IndexStoreVersion + } + return 0 +} + type RegisterNodeRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Address *commonpb.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` @@ -642,6 +651,7 @@ type SegmentIndexState struct { SegmentID int64 `protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"` State commonpb.IndexState `protobuf:"varint,2,opt,name=state,proto3,enum=milvus.protov2.common.IndexState" json:"state,omitempty"` FailReason string `protobuf:"bytes,3,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` + IndexName string `protobuf:"bytes,4,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -693,6 +703,13 @@ func (m *SegmentIndexState) GetFailReason() string { return "" } +func (m *SegmentIndexState) GetIndexName() string { + if m != nil { + return m.IndexName + } + return "" +} + type GetSegmentIndexStateResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` States []*SegmentIndexState `protobuf:"bytes,2,rep,name=states,proto3" json:"states,omitempty"` @@ -835,6 +852,61 @@ func (m *CreateIndexRequest) GetUserIndexParams() []*commonpb.KeyValuePair { return nil } +type AlterIndexRequest struct { + CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + IndexName string `protobuf:"bytes,2,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` + Params []*commonpb.KeyValuePair `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterIndexRequest) Reset() { *m = AlterIndexRequest{} } +func (m *AlterIndexRequest) String() string { return proto.CompactTextString(m) } +func (*AlterIndexRequest) ProtoMessage() {} +func (*AlterIndexRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f9e019eb3fda53c2, []int{11} +} + +func (m *AlterIndexRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterIndexRequest.Unmarshal(m, b) +} +func (m *AlterIndexRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterIndexRequest.Marshal(b, m, deterministic) +} +func (m *AlterIndexRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterIndexRequest.Merge(m, src) +} +func (m *AlterIndexRequest) XXX_Size() int { + return xxx_messageInfo_AlterIndexRequest.Size(m) +} +func (m *AlterIndexRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AlterIndexRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterIndexRequest proto.InternalMessageInfo + +func (m *AlterIndexRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *AlterIndexRequest) GetIndexName() string { + if m != nil { + return m.IndexName + } + return "" +} + +func (m *AlterIndexRequest) GetParams() []*commonpb.KeyValuePair { + if m != nil { + return m.Params + } + return nil +} + type GetIndexInfoRequest struct { CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` SegmentIDs []int64 `protobuf:"varint,2,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` @@ -848,7 +920,7 @@ func (m *GetIndexInfoRequest) Reset() { *m = GetIndexInfoRequest{} } func (m *GetIndexInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexInfoRequest) ProtoMessage() {} func (*GetIndexInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{11} + return fileDescriptor_f9e019eb3fda53c2, []int{12} } func (m *GetIndexInfoRequest) XXX_Unmarshal(b []byte) error { @@ -911,7 +983,7 @@ func (m *IndexFilePathInfo) Reset() { *m = IndexFilePathInfo{} } func (m *IndexFilePathInfo) String() string { return proto.CompactTextString(m) } func (*IndexFilePathInfo) ProtoMessage() {} func (*IndexFilePathInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{12} + return fileDescriptor_f9e019eb3fda53c2, []int{13} } func (m *IndexFilePathInfo) XXX_Unmarshal(b []byte) error { @@ -1023,7 +1095,7 @@ func (m *SegmentInfo) Reset() { *m = SegmentInfo{} } func (m *SegmentInfo) String() string { return proto.CompactTextString(m) } func (*SegmentInfo) ProtoMessage() {} func (*SegmentInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{13} + return fileDescriptor_f9e019eb3fda53c2, []int{14} } func (m *SegmentInfo) XXX_Unmarshal(b []byte) error { @@ -1084,7 +1156,7 @@ func (m *GetIndexInfoResponse) Reset() { *m = GetIndexInfoResponse{} } func (m *GetIndexInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexInfoResponse) ProtoMessage() {} func (*GetIndexInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{14} + return fileDescriptor_f9e019eb3fda53c2, []int{15} } func (m *GetIndexInfoResponse) XXX_Unmarshal(b []byte) error { @@ -1133,7 +1205,7 @@ func (m *DropIndexRequest) Reset() { *m = DropIndexRequest{} } func (m *DropIndexRequest) String() string { return proto.CompactTextString(m) } func (*DropIndexRequest) ProtoMessage() {} func (*DropIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{15} + return fileDescriptor_f9e019eb3fda53c2, []int{16} } func (m *DropIndexRequest) XXX_Unmarshal(b []byte) error { @@ -1195,7 +1267,7 @@ func (m *DescribeIndexRequest) Reset() { *m = DescribeIndexRequest{} } func (m *DescribeIndexRequest) String() string { return proto.CompactTextString(m) } func (*DescribeIndexRequest) ProtoMessage() {} func (*DescribeIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{16} + return fileDescriptor_f9e019eb3fda53c2, []int{17} } func (m *DescribeIndexRequest) XXX_Unmarshal(b []byte) error { @@ -1249,7 +1321,7 @@ func (m *DescribeIndexResponse) Reset() { *m = DescribeIndexResponse{} } func (m *DescribeIndexResponse) String() string { return proto.CompactTextString(m) } func (*DescribeIndexResponse) ProtoMessage() {} func (*DescribeIndexResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{17} + return fileDescriptor_f9e019eb3fda53c2, []int{18} } func (m *DescribeIndexResponse) XXX_Unmarshal(b []byte) error { @@ -1296,7 +1368,7 @@ func (m *GetIndexBuildProgressRequest) Reset() { *m = GetIndexBuildProgr func (m *GetIndexBuildProgressRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexBuildProgressRequest) ProtoMessage() {} func (*GetIndexBuildProgressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{18} + return fileDescriptor_f9e019eb3fda53c2, []int{19} } func (m *GetIndexBuildProgressRequest) XXX_Unmarshal(b []byte) error { @@ -1345,7 +1417,7 @@ func (m *GetIndexBuildProgressResponse) Reset() { *m = GetIndexBuildProg func (m *GetIndexBuildProgressResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexBuildProgressResponse) ProtoMessage() {} func (*GetIndexBuildProgressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{19} + return fileDescriptor_f9e019eb3fda53c2, []int{20} } func (m *GetIndexBuildProgressResponse) XXX_Unmarshal(b []byte) error { @@ -1408,6 +1480,7 @@ type StorageConfig struct { Region string `protobuf:"bytes,11,opt,name=region,proto3" json:"region,omitempty"` CloudProvider string `protobuf:"bytes,12,opt,name=cloud_provider,json=cloudProvider,proto3" json:"cloud_provider,omitempty"` RequestTimeoutMs int64 `protobuf:"varint,13,opt,name=request_timeout_ms,json=requestTimeoutMs,proto3" json:"request_timeout_ms,omitempty"` + SslCACert string `protobuf:"bytes,14,opt,name=sslCACert,proto3" json:"sslCACert,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1417,7 +1490,7 @@ func (m *StorageConfig) Reset() { *m = StorageConfig{} } func (m *StorageConfig) String() string { return proto.CompactTextString(m) } func (*StorageConfig) ProtoMessage() {} func (*StorageConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{20} + return fileDescriptor_f9e019eb3fda53c2, []int{21} } func (m *StorageConfig) XXX_Unmarshal(b []byte) error { @@ -1529,6 +1602,84 @@ func (m *StorageConfig) GetRequestTimeoutMs() int64 { return 0 } +func (m *StorageConfig) GetSslCACert() string { + if m != nil { + return m.SslCACert + } + return "" +} + +type OptionalFieldInfo struct { + FieldID int64 `protobuf:"varint,1,opt,name=fieldID,proto3" json:"fieldID,omitempty"` + FieldName string `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + FieldType int32 `protobuf:"varint,3,opt,name=field_type,json=fieldType,proto3" json:"field_type,omitempty"` + DataPaths []string `protobuf:"bytes,4,rep,name=data_paths,json=dataPaths,proto3" json:"data_paths,omitempty"` + DataIds []int64 `protobuf:"varint,5,rep,packed,name=data_ids,json=dataIds,proto3" json:"data_ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OptionalFieldInfo) Reset() { *m = OptionalFieldInfo{} } +func (m *OptionalFieldInfo) String() string { return proto.CompactTextString(m) } +func (*OptionalFieldInfo) ProtoMessage() {} +func (*OptionalFieldInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_f9e019eb3fda53c2, []int{22} +} + +func (m *OptionalFieldInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OptionalFieldInfo.Unmarshal(m, b) +} +func (m *OptionalFieldInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OptionalFieldInfo.Marshal(b, m, deterministic) +} +func (m *OptionalFieldInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_OptionalFieldInfo.Merge(m, src) +} +func (m *OptionalFieldInfo) XXX_Size() int { + return xxx_messageInfo_OptionalFieldInfo.Size(m) +} +func (m *OptionalFieldInfo) XXX_DiscardUnknown() { + xxx_messageInfo_OptionalFieldInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_OptionalFieldInfo proto.InternalMessageInfo + +func (m *OptionalFieldInfo) GetFieldID() int64 { + if m != nil { + return m.FieldID + } + return 0 +} + +func (m *OptionalFieldInfo) GetFieldName() string { + if m != nil { + return m.FieldName + } + return "" +} + +func (m *OptionalFieldInfo) GetFieldType() int32 { + if m != nil { + return m.FieldType + } + return 0 +} + +func (m *OptionalFieldInfo) GetDataPaths() []string { + if m != nil { + return m.DataPaths + } + return nil +} + +func (m *OptionalFieldInfo) GetDataIds() []int64 { + if m != nil { + return m.DataIds + } + return nil +} + type CreateJobRequest struct { ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` IndexFilePrefix string `protobuf:"bytes,2,opt,name=index_file_prefix,json=indexFilePrefix,proto3" json:"index_file_prefix,omitempty"` @@ -1542,6 +1693,18 @@ type CreateJobRequest struct { TypeParams []*commonpb.KeyValuePair `protobuf:"bytes,10,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` NumRows int64 `protobuf:"varint,11,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` CurrentIndexVersion int32 `protobuf:"varint,12,opt,name=current_index_version,json=currentIndexVersion,proto3" json:"current_index_version,omitempty"` + CollectionID int64 `protobuf:"varint,13,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionID int64 `protobuf:"varint,14,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + SegmentID int64 `protobuf:"varint,15,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + FieldID int64 `protobuf:"varint,16,opt,name=fieldID,proto3" json:"fieldID,omitempty"` + FieldName string `protobuf:"bytes,17,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + FieldType schemapb.DataType `protobuf:"varint,18,opt,name=field_type,json=fieldType,proto3,enum=milvus.protov2.schema.DataType" json:"field_type,omitempty"` + StorePath string `protobuf:"bytes,19,opt,name=store_path,json=storePath,proto3" json:"store_path,omitempty"` + StoreVersion int64 `protobuf:"varint,20,opt,name=store_version,json=storeVersion,proto3" json:"store_version,omitempty"` + IndexStorePath string `protobuf:"bytes,21,opt,name=index_store_path,json=indexStorePath,proto3" json:"index_store_path,omitempty"` + Dim int64 `protobuf:"varint,22,opt,name=dim,proto3" json:"dim,omitempty"` + DataIds []int64 `protobuf:"varint,23,rep,packed,name=data_ids,json=dataIds,proto3" json:"data_ids,omitempty"` + OptionalScalarFields []*OptionalFieldInfo `protobuf:"bytes,24,rep,name=optional_scalar_fields,json=optionalScalarFields,proto3" json:"optional_scalar_fields,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1551,7 +1714,7 @@ func (m *CreateJobRequest) Reset() { *m = CreateJobRequest{} } func (m *CreateJobRequest) String() string { return proto.CompactTextString(m) } func (*CreateJobRequest) ProtoMessage() {} func (*CreateJobRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{21} + return fileDescriptor_f9e019eb3fda53c2, []int{23} } func (m *CreateJobRequest) XXX_Unmarshal(b []byte) error { @@ -1656,6 +1819,90 @@ func (m *CreateJobRequest) GetCurrentIndexVersion() int32 { return 0 } +func (m *CreateJobRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *CreateJobRequest) GetPartitionID() int64 { + if m != nil { + return m.PartitionID + } + return 0 +} + +func (m *CreateJobRequest) GetSegmentID() int64 { + if m != nil { + return m.SegmentID + } + return 0 +} + +func (m *CreateJobRequest) GetFieldID() int64 { + if m != nil { + return m.FieldID + } + return 0 +} + +func (m *CreateJobRequest) GetFieldName() string { + if m != nil { + return m.FieldName + } + return "" +} + +func (m *CreateJobRequest) GetFieldType() schemapb.DataType { + if m != nil { + return m.FieldType + } + return schemapb.DataType_None +} + +func (m *CreateJobRequest) GetStorePath() string { + if m != nil { + return m.StorePath + } + return "" +} + +func (m *CreateJobRequest) GetStoreVersion() int64 { + if m != nil { + return m.StoreVersion + } + return 0 +} + +func (m *CreateJobRequest) GetIndexStorePath() string { + if m != nil { + return m.IndexStorePath + } + return "" +} + +func (m *CreateJobRequest) GetDim() int64 { + if m != nil { + return m.Dim + } + return 0 +} + +func (m *CreateJobRequest) GetDataIds() []int64 { + if m != nil { + return m.DataIds + } + return nil +} + +func (m *CreateJobRequest) GetOptionalScalarFields() []*OptionalFieldInfo { + if m != nil { + return m.OptionalScalarFields + } + return nil +} + type QueryJobsRequest struct { ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` BuildIDs []int64 `protobuf:"varint,2,rep,packed,name=buildIDs,proto3" json:"buildIDs,omitempty"` @@ -1668,7 +1915,7 @@ func (m *QueryJobsRequest) Reset() { *m = QueryJobsRequest{} } func (m *QueryJobsRequest) String() string { return proto.CompactTextString(m) } func (*QueryJobsRequest) ProtoMessage() {} func (*QueryJobsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{22} + return fileDescriptor_f9e019eb3fda53c2, []int{24} } func (m *QueryJobsRequest) XXX_Unmarshal(b []byte) error { @@ -1710,6 +1957,7 @@ type IndexTaskInfo struct { SerializedSize uint64 `protobuf:"varint,4,opt,name=serialized_size,json=serializedSize,proto3" json:"serialized_size,omitempty"` FailReason string `protobuf:"bytes,5,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` CurrentIndexVersion int32 `protobuf:"varint,6,opt,name=current_index_version,json=currentIndexVersion,proto3" json:"current_index_version,omitempty"` + IndexStoreVersion int64 `protobuf:"varint,7,opt,name=index_store_version,json=indexStoreVersion,proto3" json:"index_store_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1719,7 +1967,7 @@ func (m *IndexTaskInfo) Reset() { *m = IndexTaskInfo{} } func (m *IndexTaskInfo) String() string { return proto.CompactTextString(m) } func (*IndexTaskInfo) ProtoMessage() {} func (*IndexTaskInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{23} + return fileDescriptor_f9e019eb3fda53c2, []int{25} } func (m *IndexTaskInfo) XXX_Unmarshal(b []byte) error { @@ -1782,6 +2030,13 @@ func (m *IndexTaskInfo) GetCurrentIndexVersion() int32 { return 0 } +func (m *IndexTaskInfo) GetIndexStoreVersion() int64 { + if m != nil { + return m.IndexStoreVersion + } + return 0 +} + type QueryJobsResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` ClusterID string `protobuf:"bytes,2,opt,name=clusterID,proto3" json:"clusterID,omitempty"` @@ -1795,7 +2050,7 @@ func (m *QueryJobsResponse) Reset() { *m = QueryJobsResponse{} } func (m *QueryJobsResponse) String() string { return proto.CompactTextString(m) } func (*QueryJobsResponse) ProtoMessage() {} func (*QueryJobsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{24} + return fileDescriptor_f9e019eb3fda53c2, []int{26} } func (m *QueryJobsResponse) XXX_Unmarshal(b []byte) error { @@ -1849,7 +2104,7 @@ func (m *DropJobsRequest) Reset() { *m = DropJobsRequest{} } func (m *DropJobsRequest) String() string { return proto.CompactTextString(m) } func (*DropJobsRequest) ProtoMessage() {} func (*DropJobsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{25} + return fileDescriptor_f9e019eb3fda53c2, []int{27} } func (m *DropJobsRequest) XXX_Unmarshal(b []byte) error { @@ -1900,7 +2155,7 @@ func (m *JobInfo) Reset() { *m = JobInfo{} } func (m *JobInfo) String() string { return proto.CompactTextString(m) } func (*JobInfo) ProtoMessage() {} func (*JobInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{26} + return fileDescriptor_f9e019eb3fda53c2, []int{28} } func (m *JobInfo) XXX_Unmarshal(b []byte) error { @@ -1973,7 +2228,7 @@ func (m *GetJobStatsRequest) Reset() { *m = GetJobStatsRequest{} } func (m *GetJobStatsRequest) String() string { return proto.CompactTextString(m) } func (*GetJobStatsRequest) ProtoMessage() {} func (*GetJobStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{27} + return fileDescriptor_f9e019eb3fda53c2, []int{29} } func (m *GetJobStatsRequest) XXX_Unmarshal(b []byte) error { @@ -2011,7 +2266,7 @@ func (m *GetJobStatsResponse) Reset() { *m = GetJobStatsResponse{} } func (m *GetJobStatsResponse) String() string { return proto.CompactTextString(m) } func (*GetJobStatsResponse) ProtoMessage() {} func (*GetJobStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{28} + return fileDescriptor_f9e019eb3fda53c2, []int{30} } func (m *GetJobStatsResponse) XXX_Unmarshal(b []byte) error { @@ -2093,7 +2348,7 @@ func (m *GetIndexStatisticsRequest) Reset() { *m = GetIndexStatisticsReq func (m *GetIndexStatisticsRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexStatisticsRequest) ProtoMessage() {} func (*GetIndexStatisticsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{29} + return fileDescriptor_f9e019eb3fda53c2, []int{31} } func (m *GetIndexStatisticsRequest) XXX_Unmarshal(b []byte) error { @@ -2140,7 +2395,7 @@ func (m *GetIndexStatisticsResponse) Reset() { *m = GetIndexStatisticsRe func (m *GetIndexStatisticsResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexStatisticsResponse) ProtoMessage() {} func (*GetIndexStatisticsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_f9e019eb3fda53c2, []int{30} + return fileDescriptor_f9e019eb3fda53c2, []int{32} } func (m *GetIndexStatisticsResponse) XXX_Unmarshal(b []byte) error { @@ -2175,6 +2430,92 @@ func (m *GetIndexStatisticsResponse) GetIndexInfos() []*IndexInfo { return nil } +type ListIndexesRequest struct { + CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListIndexesRequest) Reset() { *m = ListIndexesRequest{} } +func (m *ListIndexesRequest) String() string { return proto.CompactTextString(m) } +func (*ListIndexesRequest) ProtoMessage() {} +func (*ListIndexesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f9e019eb3fda53c2, []int{33} +} + +func (m *ListIndexesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListIndexesRequest.Unmarshal(m, b) +} +func (m *ListIndexesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListIndexesRequest.Marshal(b, m, deterministic) +} +func (m *ListIndexesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListIndexesRequest.Merge(m, src) +} +func (m *ListIndexesRequest) XXX_Size() int { + return xxx_messageInfo_ListIndexesRequest.Size(m) +} +func (m *ListIndexesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListIndexesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListIndexesRequest proto.InternalMessageInfo + +func (m *ListIndexesRequest) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +type ListIndexesResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + IndexInfos []*IndexInfo `protobuf:"bytes,2,rep,name=index_infos,json=indexInfos,proto3" json:"index_infos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListIndexesResponse) Reset() { *m = ListIndexesResponse{} } +func (m *ListIndexesResponse) String() string { return proto.CompactTextString(m) } +func (*ListIndexesResponse) ProtoMessage() {} +func (*ListIndexesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f9e019eb3fda53c2, []int{34} +} + +func (m *ListIndexesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListIndexesResponse.Unmarshal(m, b) +} +func (m *ListIndexesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListIndexesResponse.Marshal(b, m, deterministic) +} +func (m *ListIndexesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListIndexesResponse.Merge(m, src) +} +func (m *ListIndexesResponse) XXX_Size() int { + return xxx_messageInfo_ListIndexesResponse.Size(m) +} +func (m *ListIndexesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListIndexesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListIndexesResponse proto.InternalMessageInfo + +func (m *ListIndexesResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *ListIndexesResponse) GetIndexInfos() []*IndexInfo { + if m != nil { + return m.IndexInfos + } + return nil +} + func init() { proto.RegisterType((*IndexInfo)(nil), "milvus.protov2.index.IndexInfo") proto.RegisterType((*FieldIndex)(nil), "milvus.protov2.index.FieldIndex") @@ -2187,6 +2528,7 @@ func init() { proto.RegisterType((*SegmentIndexState)(nil), "milvus.protov2.index.SegmentIndexState") proto.RegisterType((*GetSegmentIndexStateResponse)(nil), "milvus.protov2.index.GetSegmentIndexStateResponse") proto.RegisterType((*CreateIndexRequest)(nil), "milvus.protov2.index.CreateIndexRequest") + proto.RegisterType((*AlterIndexRequest)(nil), "milvus.protov2.index.AlterIndexRequest") proto.RegisterType((*GetIndexInfoRequest)(nil), "milvus.protov2.index.GetIndexInfoRequest") proto.RegisterType((*IndexFilePathInfo)(nil), "milvus.protov2.index.IndexFilePathInfo") proto.RegisterType((*SegmentInfo)(nil), "milvus.protov2.index.SegmentInfo") @@ -2198,6 +2540,7 @@ func init() { proto.RegisterType((*GetIndexBuildProgressRequest)(nil), "milvus.protov2.index.GetIndexBuildProgressRequest") proto.RegisterType((*GetIndexBuildProgressResponse)(nil), "milvus.protov2.index.GetIndexBuildProgressResponse") proto.RegisterType((*StorageConfig)(nil), "milvus.protov2.index.StorageConfig") + proto.RegisterType((*OptionalFieldInfo)(nil), "milvus.protov2.index.OptionalFieldInfo") proto.RegisterType((*CreateJobRequest)(nil), "milvus.protov2.index.CreateJobRequest") proto.RegisterType((*QueryJobsRequest)(nil), "milvus.protov2.index.QueryJobsRequest") proto.RegisterType((*IndexTaskInfo)(nil), "milvus.protov2.index.IndexTaskInfo") @@ -2208,161 +2551,182 @@ func init() { proto.RegisterType((*GetJobStatsResponse)(nil), "milvus.protov2.index.GetJobStatsResponse") proto.RegisterType((*GetIndexStatisticsRequest)(nil), "milvus.protov2.index.GetIndexStatisticsRequest") proto.RegisterType((*GetIndexStatisticsResponse)(nil), "milvus.protov2.index.GetIndexStatisticsResponse") + proto.RegisterType((*ListIndexesRequest)(nil), "milvus.protov2.index.ListIndexesRequest") + proto.RegisterType((*ListIndexesResponse)(nil), "milvus.protov2.index.ListIndexesResponse") } func init() { proto.RegisterFile("index_coord.proto", fileDescriptor_f9e019eb3fda53c2) } var fileDescriptor_f9e019eb3fda53c2 = []byte{ - // 2379 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcd, 0x73, 0x1b, 0x49, - 0x15, 0xcf, 0x68, 0x64, 0x5b, 0xf3, 0x46, 0xf2, 0xc7, 0xc4, 0x0b, 0x8a, 0x36, 0xd9, 0x38, 0x93, - 0x4a, 0xa2, 0x04, 0xd6, 0x59, 0xb4, 0x4b, 0xb1, 0xb5, 0x54, 0x01, 0x8e, 0xbd, 0x49, 0xe4, 0x6c, - 0x42, 0x18, 0xbb, 0x52, 0xc0, 0x21, 0xaa, 0x91, 0xa6, 0x65, 0x77, 0x3c, 0x9a, 0xd6, 0x4e, 0xf7, - 0x38, 0x71, 0x2e, 0x50, 0x5c, 0xa0, 0x8a, 0xcb, 0x16, 0x5f, 0x17, 0xf8, 0x03, 0xb8, 0xc0, 0x91, - 0x0b, 0x9c, 0xa0, 0x8a, 0x03, 0x07, 0xfe, 0x0b, 0xfe, 0x0f, 0xaa, 0x3f, 0x66, 0x34, 0x33, 0x9a, - 0xb1, 0xe5, 0x0f, 0x8a, 0xc3, 0xde, 0xd4, 0xaf, 0x5f, 0x7f, 0xcc, 0x7b, 0xbf, 0xf7, 0xde, 0xef, - 0x75, 0x09, 0x56, 0x70, 0xe0, 0xa1, 0x37, 0xbd, 0x01, 0x21, 0xa1, 0xb7, 0x3e, 0x0e, 0x09, 0x23, - 0xd6, 0xea, 0x08, 0xfb, 0x87, 0x11, 0x95, 0xa3, 0xc3, 0xce, 0xba, 0xd0, 0x68, 0xd5, 0x07, 0x64, - 0x34, 0x22, 0x81, 0x94, 0xb6, 0x16, 0x71, 0xc0, 0x50, 0x18, 0xb8, 0xbe, 0x1a, 0xd7, 0xd3, 0x6b, - 0xec, 0xff, 0x54, 0xc1, 0xe8, 0xf2, 0x55, 0xdd, 0x60, 0x48, 0x2c, 0x1b, 0xea, 0x03, 0xe2, 0xfb, - 0x68, 0xc0, 0x30, 0x09, 0xba, 0x5b, 0x4d, 0x6d, 0x4d, 0x6b, 0xeb, 0x4e, 0x46, 0x66, 0x35, 0x61, - 0x61, 0x88, 0x91, 0xef, 0x75, 0xb7, 0x9a, 0x15, 0x31, 0x1d, 0x0f, 0xad, 0x6b, 0x00, 0xf2, 0x8a, - 0x81, 0x3b, 0x42, 0x4d, 0x7d, 0x4d, 0x6b, 0x1b, 0x8e, 0x21, 0x24, 0xcf, 0xdc, 0x11, 0xe2, 0x0b, - 0xc5, 0xa0, 0xbb, 0xd5, 0xac, 0xca, 0x85, 0x6a, 0x68, 0x6d, 0x81, 0xc9, 0x8e, 0xc6, 0xa8, 0x37, - 0x76, 0x43, 0x77, 0x44, 0x9b, 0x73, 0x6b, 0x7a, 0xdb, 0xec, 0xdc, 0x5c, 0xcf, 0x7d, 0x9c, 0xfa, - 0xaa, 0x27, 0xe8, 0xe8, 0x85, 0xeb, 0x47, 0xe8, 0xb9, 0x8b, 0x43, 0x07, 0xf8, 0xba, 0xe7, 0x62, - 0x99, 0xf5, 0x10, 0xea, 0xf2, 0x78, 0xb5, 0xcd, 0xfc, 0xec, 0xdb, 0x98, 0x62, 0xa1, 0xda, 0xe7, - 0x86, 0xda, 0x07, 0x79, 0xbd, 0x90, 0xbc, 0xa6, 0xcd, 0x05, 0x71, 0x59, 0x53, 0xc9, 0x1c, 0xf2, - 0x9a, 0xf2, 0x2f, 0x65, 0x84, 0xb9, 0xbe, 0x54, 0xa8, 0x09, 0x05, 0x43, 0x48, 0xc4, 0xf4, 0xb7, - 0x60, 0x8e, 0x32, 0x97, 0xa1, 0xa6, 0xb1, 0xa6, 0xb5, 0x17, 0x3b, 0x37, 0x4a, 0xae, 0x20, 0xec, - 0xbe, 0xc3, 0x15, 0x1d, 0xa9, 0x6f, 0x7d, 0x13, 0xbe, 0x2a, 0x3f, 0x41, 0x0c, 0x7b, 0x43, 0x17, - 0xfb, 0xbd, 0x10, 0xb9, 0x94, 0x04, 0x4d, 0x10, 0xe6, 0x5c, 0xc5, 0xc9, 0x9a, 0x87, 0x2e, 0xf6, - 0x1d, 0x31, 0x67, 0xd9, 0xd0, 0xc0, 0xb4, 0xe7, 0x46, 0x8c, 0xf4, 0xc4, 0x7c, 0xd3, 0x5c, 0xd3, - 0xda, 0x35, 0xc7, 0xc4, 0x74, 0x23, 0x62, 0x44, 0x1c, 0x63, 0x7d, 0x1f, 0x56, 0x22, 0x8a, 0xc2, - 0x5e, 0xc6, 0x44, 0xf5, 0xd9, 0x4d, 0xb4, 0xc4, 0x57, 0x77, 0x53, 0x66, 0xfa, 0x3a, 0x58, 0x63, - 0x14, 0x78, 0x38, 0xd8, 0x53, 0x7b, 0x0a, 0x5b, 0x34, 0x84, 0x2d, 0x96, 0xd5, 0x8c, 0xd0, 0xe7, - 0x26, 0xb1, 0x7f, 0xae, 0x01, 0x3c, 0x14, 0x38, 0x11, 0xb7, 0xf9, 0x4e, 0x0c, 0x15, 0x1c, 0x0c, - 0x89, 0x80, 0x99, 0xd9, 0xb9, 0xbe, 0x5e, 0x84, 0xe6, 0xf5, 0x04, 0x9d, 0x0a, 0x4b, 0x02, 0xa8, - 0x4d, 0x58, 0xf0, 0x90, 0x8f, 0x18, 0xf2, 0x04, 0x08, 0x6b, 0x4e, 0x3c, 0xb4, 0xae, 0x83, 0x39, - 0x08, 0x11, 0xb7, 0x1e, 0xc3, 0x0a, 0x85, 0x55, 0x07, 0xa4, 0x68, 0x17, 0x8f, 0x90, 0xfd, 0xd7, - 0x2a, 0xd4, 0x77, 0xd0, 0xde, 0x08, 0x05, 0x4c, 0xde, 0x65, 0x16, 0xd0, 0xaf, 0x81, 0x39, 0x76, - 0x43, 0x86, 0x95, 0x8a, 0x04, 0x7e, 0x5a, 0x64, 0x5d, 0x05, 0x83, 0xaa, 0x5d, 0xb7, 0xc4, 0xa9, - 0xba, 0x33, 0x11, 0x58, 0x57, 0xa0, 0x16, 0x44, 0x23, 0x69, 0x22, 0x05, 0xfe, 0x20, 0x1a, 0x09, - 0xb0, 0xa4, 0xc2, 0x62, 0x2e, 0x1b, 0x16, 0x4d, 0x58, 0xe8, 0x47, 0x58, 0x44, 0xda, 0xbc, 0x9c, - 0x51, 0x43, 0xeb, 0x2b, 0x30, 0x1f, 0x10, 0x0f, 0x75, 0xb7, 0x14, 0x38, 0xd5, 0xc8, 0xba, 0x09, - 0x0d, 0x69, 0xd6, 0x43, 0x14, 0x52, 0x4c, 0x02, 0x05, 0x4d, 0x89, 0xe7, 0x17, 0x52, 0x76, 0x76, - 0x74, 0x5e, 0x07, 0x73, 0x1a, 0x91, 0x30, 0x9c, 0xe0, 0xf0, 0x36, 0x2c, 0xc9, 0xe3, 0x87, 0xd8, - 0x47, 0xbd, 0x03, 0x74, 0x44, 0x9b, 0xe6, 0x9a, 0xde, 0x36, 0x1c, 0x79, 0xab, 0x87, 0xd8, 0x47, - 0x4f, 0xd0, 0x11, 0x4d, 0x7b, 0xaf, 0x7e, 0xac, 0xf7, 0x1a, 0x79, 0xef, 0x59, 0xb7, 0x60, 0x91, - 0xa2, 0x10, 0xbb, 0x3e, 0x7e, 0x8b, 0x7a, 0x14, 0xbf, 0x45, 0xcd, 0x45, 0xa1, 0xd3, 0x48, 0xa4, - 0x3b, 0xf8, 0x2d, 0xe2, 0x86, 0x78, 0x1d, 0x62, 0x86, 0x7a, 0xfb, 0x6e, 0xe0, 0x91, 0xe1, 0xb0, - 0xb9, 0x24, 0xce, 0xa9, 0x0b, 0xe1, 0x63, 0x29, 0xb3, 0x3a, 0xf0, 0xce, 0x20, 0x0a, 0x43, 0x14, - 0xb0, 0x5e, 0xd6, 0x6a, 0xcb, 0x6b, 0x5a, 0x7b, 0xce, 0xb9, 0xac, 0x26, 0xbb, 0x29, 0xe3, 0xd9, - 0xbf, 0xd7, 0xe0, 0xb2, 0x83, 0xf6, 0x30, 0x65, 0x28, 0x7c, 0x46, 0x3c, 0xe4, 0xa0, 0xcf, 0x23, - 0x44, 0x99, 0xd5, 0x81, 0x6a, 0xdf, 0xa5, 0x48, 0x41, 0xf9, 0xbd, 0x12, 0x9b, 0x3e, 0xa5, 0x7b, - 0x0f, 0x5c, 0x8a, 0x1c, 0xa1, 0x6b, 0x7d, 0x0c, 0x0b, 0xae, 0xe7, 0x85, 0x88, 0x52, 0x01, 0xa8, - 0xf2, 0x65, 0x1b, 0x52, 0xcb, 0x89, 0xd5, 0x53, 0xfe, 0xd7, 0xd3, 0xfe, 0xb7, 0x7f, 0xad, 0xc1, - 0x6a, 0xf6, 0x76, 0x74, 0x4c, 0x02, 0xca, 0x13, 0xcb, 0x3c, 0xf7, 0x61, 0x44, 0xd5, 0x05, 0xaf, - 0x95, 0x9c, 0xb4, 0x23, 0x94, 0x1c, 0xa5, 0xcc, 0x13, 0x33, 0x0e, 0x30, 0x8b, 0xd3, 0x85, 0xbc, - 0xe5, 0xcd, 0xe9, 0x38, 0x55, 0x05, 0xa6, 0x1b, 0x60, 0x26, 0xb3, 0x83, 0x03, 0x38, 0xf9, 0x6d, - 0xff, 0x08, 0x56, 0x1f, 0x21, 0x96, 0xc2, 0x93, 0xb2, 0xd9, 0x2c, 0x81, 0x97, 0xad, 0x29, 0x95, - 0x5c, 0x4d, 0xb1, 0xff, 0xa8, 0xc1, 0x3b, 0xb9, 0xbd, 0xcf, 0xf7, 0xc5, 0x49, 0x70, 0x54, 0xce, - 0x17, 0x1c, 0x7a, 0x3e, 0x38, 0xec, 0x9f, 0x6a, 0xf0, 0xee, 0x23, 0xc4, 0xd2, 0xa9, 0xe7, 0x82, - 0xad, 0x61, 0xbd, 0x07, 0x90, 0xa4, 0x1c, 0xda, 0xd4, 0xd7, 0xf4, 0xb6, 0xee, 0xa4, 0x24, 0xf6, - 0x2f, 0x35, 0x58, 0x99, 0x3a, 0x3f, 0x9b, 0xb9, 0xb4, 0x7c, 0xe6, 0xfa, 0xdf, 0x19, 0xe4, 0x77, - 0x1a, 0x5c, 0x2d, 0x36, 0xc8, 0xf9, 0x5c, 0xf8, 0x5d, 0xb9, 0x0c, 0x71, 0xbc, 0xf2, 0xf2, 0x76, - 0xa7, 0xb8, 0xae, 0x4c, 0x9f, 0xab, 0x96, 0xd9, 0xbf, 0xd2, 0xc1, 0xda, 0x14, 0x29, 0x47, 0xd6, - 0xaf, 0x53, 0x38, 0xe8, 0xcc, 0xe4, 0x28, 0x47, 0x81, 0xaa, 0x17, 0x43, 0x81, 0xe6, 0xce, 0x48, - 0x81, 0xae, 0x82, 0xc1, 0xf3, 0x2f, 0x65, 0xee, 0x68, 0x2c, 0x6a, 0x4f, 0xd5, 0x99, 0x08, 0xa6, - 0xe9, 0xc6, 0xc2, 0x8c, 0x74, 0xa3, 0x76, 0x76, 0xba, 0x61, 0xbf, 0x81, 0xcb, 0x71, 0xa0, 0x0b, - 0x32, 0x70, 0x0a, 0xa7, 0x64, 0xc3, 0xa2, 0x92, 0x0f, 0x8b, 0x13, 0x5c, 0x63, 0xff, 0x49, 0x87, - 0x95, 0x6e, 0x5c, 0xbf, 0x9e, 0xbb, 0x6c, 0x5f, 0x30, 0x90, 0xe3, 0xa3, 0xa6, 0x1c, 0x07, 0xa9, - 0x72, 0xaf, 0x97, 0x96, 0xfb, 0x6a, 0xb6, 0xdc, 0x67, 0x2f, 0x38, 0x97, 0xc7, 0xce, 0x45, 0x11, - 0xdf, 0x36, 0x2c, 0xa7, 0xca, 0xf7, 0xd8, 0x65, 0xfb, 0x9c, 0xfc, 0xf2, 0xfa, 0xbd, 0x88, 0xd3, - 0xdf, 0x4f, 0xad, 0x3b, 0xb0, 0x94, 0xd4, 0x5b, 0x4f, 0x96, 0xe1, 0x9a, 0x40, 0xc9, 0xa4, 0x38, - 0x7b, 0x71, 0x1d, 0xce, 0x96, 0x56, 0xa3, 0x80, 0x90, 0xa4, 0xc9, 0x11, 0x64, 0xc9, 0x51, 0x69, - 0x89, 0x36, 0xcb, 0x4b, 0xf4, 0xdf, 0x34, 0x30, 0x93, 0xe0, 0x9e, 0xb1, 0xa9, 0xc9, 0x78, 0xb3, - 0x92, 0xf7, 0xe6, 0x0d, 0xa8, 0xa3, 0xc0, 0xed, 0xfb, 0x48, 0xe1, 0x5d, 0x97, 0x78, 0x97, 0x32, - 0x89, 0xf7, 0xc7, 0x60, 0x4e, 0x08, 0x6d, 0x1c, 0xbf, 0x77, 0x8e, 0x61, 0xb4, 0x69, 0x30, 0x39, - 0x90, 0x30, 0x5b, 0x6a, 0x7f, 0x51, 0x99, 0x94, 0x4b, 0x89, 0xf4, 0xf3, 0xa5, 0xc3, 0x97, 0x50, - 0x57, 0x5f, 0x22, 0xc9, 0xb6, 0x4c, 0x8a, 0xdf, 0x2e, 0xbe, 0x5a, 0xd1, 0xc1, 0xeb, 0x29, 0x63, - 0x7e, 0x1a, 0xb0, 0xf0, 0xc8, 0x31, 0xe9, 0x44, 0xd2, 0x72, 0x61, 0x39, 0xaf, 0x60, 0x2d, 0x83, - 0x7e, 0x80, 0x8e, 0x94, 0xa5, 0xf9, 0x4f, 0x5e, 0x46, 0x0e, 0x39, 0xea, 0x14, 0x87, 0xb8, 0x71, - 0x42, 0x4e, 0x1e, 0x12, 0x47, 0xea, 0x7f, 0x52, 0xf9, 0x58, 0xb3, 0x7f, 0xa3, 0xc1, 0xf2, 0x56, - 0x48, 0xc6, 0xa7, 0x4e, 0xc7, 0x36, 0xd4, 0x53, 0x1c, 0x3d, 0x8e, 0xfd, 0x8c, 0xec, 0xa4, 0xc4, - 0x7c, 0x05, 0x6a, 0x5e, 0x48, 0xc6, 0x3d, 0xd7, 0xf7, 0x45, 0x58, 0x72, 0xb2, 0x1a, 0x92, 0xf1, - 0x86, 0xef, 0xdb, 0xaf, 0x61, 0x75, 0x0b, 0xd1, 0x41, 0x88, 0xfb, 0xa7, 0x2f, 0x14, 0x27, 0x54, - 0xf2, 0x4c, 0x02, 0xd6, 0x73, 0x09, 0xd8, 0xfe, 0x42, 0x83, 0x77, 0x72, 0x27, 0x9f, 0x0f, 0x23, - 0xdf, 0xcb, 0xa2, 0x57, 0x42, 0xe4, 0xc4, 0x7e, 0x2c, 0x8d, 0x5a, 0x57, 0xd4, 0x72, 0x31, 0xf7, - 0x80, 0x67, 0xad, 0xe7, 0x21, 0xd9, 0x13, 0x9c, 0xf5, 0xe2, 0xb8, 0xde, 0x3f, 0x35, 0xb8, 0x56, - 0x72, 0xc6, 0xf9, 0xbe, 0x3e, 0xdf, 0xf0, 0x57, 0x4e, 0x6a, 0xf8, 0xf5, 0x7c, 0xc3, 0x5f, 0xdc, - 0x0b, 0x57, 0x4b, 0x7a, 0xe1, 0xbf, 0xeb, 0xd0, 0xd8, 0x61, 0x24, 0x74, 0xf7, 0xd0, 0x26, 0x09, - 0x86, 0x78, 0x8f, 0xa7, 0xfe, 0xb8, 0x13, 0xd0, 0xc4, 0x67, 0x27, 0x4c, 0xff, 0x06, 0xd4, 0xdd, - 0xc1, 0x00, 0x51, 0xca, 0xdb, 0x29, 0x95, 0x9b, 0x0c, 0xc7, 0x94, 0xb2, 0x27, 0x5c, 0x64, 0xdd, - 0x83, 0x15, 0x8a, 0x06, 0x21, 0x62, 0xbd, 0x89, 0xa6, 0xc2, 0xf1, 0x92, 0x9c, 0xd8, 0x88, 0xb5, - 0x79, 0xe3, 0x10, 0x51, 0xb4, 0xb3, 0xf3, 0x99, 0xc2, 0xb2, 0x1a, 0x71, 0xb2, 0xd6, 0x8f, 0x06, - 0x07, 0x88, 0xa5, 0x4b, 0x0c, 0x48, 0x91, 0x00, 0xe4, 0xbb, 0x60, 0x84, 0x84, 0x30, 0x51, 0x15, - 0x04, 0x23, 0x30, 0x9c, 0x1a, 0x17, 0xf0, 0x14, 0xa6, 0x76, 0xed, 0x6e, 0x3c, 0x55, 0x4c, 0x40, - 0x8d, 0x78, 0xd7, 0xdc, 0xdd, 0x78, 0xfa, 0x69, 0xe0, 0x8d, 0x09, 0x0e, 0x98, 0x28, 0x11, 0x86, - 0x93, 0x16, 0xf1, 0xcf, 0xa3, 0xd2, 0x12, 0x3d, 0x4e, 0x63, 0x44, 0x79, 0x30, 0x1c, 0x53, 0xc9, - 0x76, 0x8f, 0xc6, 0x88, 0x57, 0xa5, 0x88, 0xa2, 0xde, 0x21, 0x0e, 0x59, 0xe4, 0xfa, 0xbd, 0x7d, - 0x42, 0x99, 0xa8, 0x12, 0x35, 0x67, 0x31, 0xa2, 0xe8, 0x85, 0x14, 0x3f, 0x26, 0x94, 0xf1, 0x6b, - 0x84, 0x68, 0x2f, 0xae, 0x0e, 0x86, 0xa3, 0x46, 0xbc, 0x67, 0x1c, 0xf8, 0x24, 0xf2, 0x7a, 0xe3, - 0x90, 0x1c, 0x62, 0x0f, 0x85, 0xa2, 0xeb, 0x34, 0x9c, 0x86, 0x90, 0x3e, 0x57, 0x42, 0xee, 0xc4, - 0x50, 0xa2, 0x55, 0x34, 0x9f, 0x24, 0x62, 0xbd, 0x51, 0xf2, 0xa0, 0xa1, 0x66, 0x76, 0xe5, 0xc4, - 0x53, 0x6a, 0xff, 0xa1, 0x0a, 0xcb, 0x92, 0x24, 0x6e, 0x93, 0x7e, 0x8c, 0xf2, 0xab, 0x60, 0x0c, - 0xfc, 0x88, 0x77, 0x5f, 0x0a, 0xe2, 0x86, 0x33, 0x11, 0x70, 0x47, 0xa5, 0xeb, 0x6b, 0x88, 0x86, - 0xf8, 0x8d, 0x72, 0xe8, 0xd2, 0xa4, 0xc0, 0x0a, 0x71, 0x9a, 0x0c, 0xe8, 0x53, 0x64, 0xc0, 0x73, - 0x99, 0xab, 0xea, 0x73, 0x55, 0xd4, 0x67, 0x83, 0x4b, 0x64, 0x69, 0x9e, 0xaa, 0xb8, 0x73, 0x05, - 0x15, 0x37, 0x45, 0x42, 0xe6, 0xb3, 0x24, 0x24, 0x1b, 0x83, 0x0b, 0xf9, 0xbc, 0xb4, 0x0d, 0x8b, - 0xb1, 0xbf, 0x06, 0x02, 0xba, 0xc2, 0xa9, 0x85, 0x3d, 0xa1, 0xc8, 0xe7, 0x69, 0x94, 0x3b, 0x0d, - 0x9a, 0x01, 0x7d, 0x9e, 0xb6, 0x18, 0x67, 0xa4, 0x2d, 0x39, 0xea, 0x0c, 0x67, 0xa3, 0xce, 0x69, - 0x12, 0x62, 0xce, 0x48, 0x42, 0xea, 0xe5, 0x24, 0xe4, 0x33, 0x58, 0xfe, 0x41, 0x84, 0xc2, 0xa3, - 0x6d, 0xd2, 0xa7, 0xb3, 0xa1, 0xa3, 0x05, 0x35, 0xe5, 0xe2, 0xb8, 0x4e, 0x25, 0x63, 0xfb, 0x17, - 0x15, 0x68, 0x88, 0xed, 0x77, 0x5d, 0x7a, 0x10, 0x3f, 0x80, 0xc5, 0xf8, 0xd0, 0xb2, 0xf8, 0x38, - 0x73, 0xc3, 0x56, 0xf0, 0x7a, 0xa3, 0x17, 0xbd, 0xde, 0x14, 0x90, 0xbf, 0x6a, 0x21, 0xf9, 0xcb, - 0x75, 0x80, 0x73, 0x53, 0xef, 0x45, 0xa5, 0x86, 0x9d, 0x2f, 0x37, 0xec, 0x9f, 0x35, 0x58, 0x49, - 0x59, 0xf6, 0x7c, 0x99, 0x3f, 0xe3, 0x91, 0x4a, 0xde, 0x23, 0x5b, 0xd9, 0xaa, 0xa8, 0x17, 0x03, - 0x2b, 0x55, 0x15, 0x63, 0xef, 0x64, 0x2a, 0xe3, 0x13, 0x58, 0xe2, 0xdc, 0xe5, 0x62, 0x80, 0xf0, - 0x6f, 0x0d, 0x16, 0xb6, 0x49, 0x5f, 0x40, 0x20, 0x8d, 0x58, 0x2d, 0x8b, 0xd8, 0x65, 0xd0, 0x3d, - 0x3c, 0x52, 0x85, 0x8c, 0xff, 0xe4, 0x71, 0x4d, 0x99, 0x1b, 0xb2, 0xc9, 0xab, 0x28, 0x67, 0xb8, - 0x5c, 0x22, 0x9e, 0xd5, 0xae, 0x40, 0x0d, 0x05, 0x9e, 0x9c, 0x54, 0xcd, 0x07, 0x0a, 0x3c, 0x31, - 0x75, 0x51, 0x3d, 0xe5, 0x2a, 0xcc, 0x8d, 0xc9, 0xe4, 0x2d, 0x53, 0x0e, 0xec, 0x55, 0xb0, 0x1e, - 0x21, 0xb6, 0x4d, 0xfa, 0xdc, 0x33, 0xb1, 0x81, 0xec, 0x7f, 0x54, 0x44, 0xb7, 0x37, 0x11, 0x9f, - 0xcf, 0xcd, 0x36, 0x34, 0x64, 0xf5, 0x7e, 0x45, 0xfa, 0xbd, 0x20, 0x8a, 0x0d, 0x63, 0x0a, 0xe1, - 0x36, 0xe9, 0x3f, 0x8b, 0x46, 0xd6, 0xfb, 0x70, 0x19, 0x07, 0xbc, 0x42, 0x08, 0x4a, 0x91, 0x68, - 0x4a, 0x4b, 0x2d, 0xe3, 0x20, 0x26, 0x1b, 0x4a, 0xfd, 0x36, 0x2c, 0xa1, 0xe0, 0xf3, 0x08, 0x45, - 0x28, 0x51, 0x95, 0x76, 0x6b, 0x28, 0xb1, 0xd2, 0xe3, 0xc4, 0xc1, 0xa5, 0x07, 0x3d, 0xea, 0x13, - 0x46, 0x55, 0x2e, 0x36, 0xb8, 0x64, 0x87, 0x0b, 0xac, 0x4f, 0xc0, 0xe0, 0xcb, 0x25, 0xc0, 0x64, - 0xdf, 0x76, 0xad, 0x18, 0x60, 0xca, 0xeb, 0x4e, 0xed, 0x95, 0xfc, 0x41, 0x79, 0x78, 0xa9, 0xae, - 0xc4, 0xc3, 0xf4, 0x40, 0x95, 0x5e, 0x90, 0xa2, 0x2d, 0x4c, 0x0f, 0xec, 0x97, 0x70, 0x25, 0xfd, - 0x36, 0x86, 0x29, 0xc3, 0x83, 0x8b, 0x24, 0x64, 0xbf, 0xd5, 0xa0, 0x55, 0x74, 0xc0, 0xff, 0x99, - 0x8b, 0x76, 0xfe, 0x62, 0x02, 0x88, 0x99, 0x4d, 0x42, 0x42, 0xcf, 0x1a, 0x0b, 0x88, 0x6d, 0x92, - 0xd1, 0x98, 0x04, 0x28, 0x60, 0x22, 0xe7, 0x51, 0xeb, 0x83, 0xfc, 0x8e, 0x6a, 0x38, 0xad, 0xaa, - 0x2c, 0xd6, 0xba, 0x5d, 0xb2, 0x22, 0xa7, 0x6e, 0x5f, 0xb2, 0x22, 0xd1, 0xc1, 0x4d, 0x4c, 0xb2, - 0xb9, 0xef, 0x06, 0x01, 0xf2, 0xad, 0x8f, 0x4a, 0x5f, 0x4e, 0x8b, 0xd4, 0xe3, 0x73, 0x6f, 0x95, - 0x9c, 0xbb, 0xc3, 0x42, 0x1c, 0xec, 0xc5, 0xe6, 0xb6, 0x2f, 0x59, 0x3f, 0x04, 0x33, 0xf5, 0x6c, - 0x65, 0xb5, 0x8b, 0x6d, 0x36, 0xfd, 0xb2, 0xd5, 0x3a, 0xde, 0x33, 0xf6, 0x25, 0xeb, 0x15, 0x34, - 0x32, 0xaf, 0xac, 0xd6, 0xbd, 0xe3, 0xdb, 0xc7, 0xf4, 0xc3, 0x66, 0xeb, 0x6b, 0x33, 0xe9, 0x26, - 0x5f, 0xf1, 0x13, 0x69, 0xbc, 0xa9, 0x67, 0xca, 0x6f, 0x94, 0x6e, 0x53, 0xf6, 0xa4, 0xda, 0xea, - 0x9c, 0x66, 0x49, 0x72, 0x81, 0xfd, 0xc9, 0xc7, 0xca, 0x40, 0xbb, 0x3b, 0x4b, 0xaf, 0x2c, 0x4f, - 0xbc, 0x37, 0x7b, 0x5b, 0x6d, 0x5f, 0xb2, 0x76, 0xc1, 0x48, 0xda, 0x5a, 0xeb, 0x76, 0xf1, 0xd2, - 0x7c, 0xdf, 0x3b, 0x93, 0xb3, 0x32, 0xcd, 0x61, 0x99, 0xb3, 0x8a, 0x7a, 0xd7, 0x32, 0x67, 0x15, - 0x76, 0x9b, 0xf6, 0x25, 0xeb, 0x48, 0xc4, 0x56, 0x2e, 0x03, 0x58, 0xf7, 0x4f, 0xf6, 0x78, 0x26, - 0x19, 0xb5, 0x3e, 0x98, 0x7d, 0x41, 0x72, 0xf4, 0xcf, 0x52, 0x4f, 0xff, 0x99, 0x76, 0xd0, 0xea, - 0x1c, 0xbf, 0x5b, 0x51, 0x7f, 0xda, 0xfa, 0xf0, 0x54, 0x6b, 0x52, 0x60, 0xb5, 0x76, 0xf6, 0xc9, - 0x6b, 0xc9, 0x68, 0xa3, 0xd0, 0xe5, 0x89, 0xb3, 0xf0, 0x02, 0x2a, 0xce, 0xa7, 0x95, 0x8f, 0xb9, - 0xc0, 0x31, 0x6b, 0x92, 0x0b, 0x0c, 0x00, 0x1e, 0x21, 0xf6, 0x14, 0xb1, 0x90, 0x1b, 0xbe, 0x5d, - 0x9e, 0xd4, 0x94, 0x4a, 0x7c, 0xdc, 0xdd, 0x19, 0x34, 0x93, 0x43, 0x86, 0x60, 0x6e, 0xee, 0xa3, - 0xc1, 0xc1, 0x63, 0xe4, 0xfa, 0x6c, 0xdf, 0x2a, 0x5b, 0x9b, 0xd2, 0x29, 0x8d, 0x87, 0x22, 0xd5, - 0xf8, 0x9c, 0xce, 0xbf, 0xe6, 0xd5, 0x9f, 0x11, 0x9e, 0x11, 0x0f, 0x7d, 0x79, 0xf2, 0xf6, 0x2e, - 0x18, 0x49, 0x27, 0x59, 0x96, 0x06, 0xf2, 0xad, 0xe6, 0xc9, 0x69, 0xe0, 0x25, 0x18, 0x09, 0x4f, - 0x2e, 0xdb, 0x35, 0xdf, 0xa2, 0xb4, 0xee, 0x9c, 0xa8, 0x97, 0xdc, 0xda, 0x81, 0x5a, 0xcc, 0x6b, - 0xad, 0x5b, 0xe5, 0xb9, 0x2b, 0xbd, 0xfb, 0x89, 0x77, 0xf6, 0xc0, 0x4c, 0xd1, 0xbe, 0xb2, 0x0a, - 0x36, 0x4d, 0x18, 0x5b, 0x77, 0x67, 0xd0, 0xfc, 0x72, 0x05, 0xed, 0x83, 0x8f, 0x7e, 0xdc, 0xd9, - 0xc3, 0x6c, 0x3f, 0xea, 0x73, 0x2b, 0xdf, 0x97, 0x9a, 0xef, 0x63, 0xa2, 0x7e, 0xdd, 0x8f, 0x6f, - 0x7a, 0x5f, 0xec, 0x75, 0x5f, 0xd8, 0x6b, 0xdc, 0xef, 0xcf, 0x8b, 0xe1, 0x87, 0xff, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0x40, 0xc9, 0x48, 0xad, 0x6d, 0x24, 0x00, 0x00, + // 2678 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcf, 0x6f, 0x1b, 0xc7, + 0xf5, 0xf7, 0x72, 0x29, 0x89, 0xfb, 0x48, 0xea, 0xc7, 0x48, 0x4e, 0x68, 0xc6, 0x4e, 0xe4, 0x35, + 0x62, 0x2b, 0xf9, 0x7e, 0x23, 0xa7, 0x4a, 0x8a, 0x06, 0x09, 0x90, 0x56, 0x91, 0x62, 0x9b, 0x72, + 0xec, 0xb8, 0x2b, 0xc1, 0x68, 0x0b, 0x34, 0xc4, 0x92, 0x3b, 0x94, 0x26, 0x5a, 0xee, 0x30, 0x3b, + 0xb3, 0xb2, 0xe5, 0x4b, 0x8b, 0x5e, 0x7a, 0x0b, 0x82, 0xfe, 0xba, 0xf4, 0x5c, 0xa0, 0x28, 0xd0, + 0x9e, 0x7b, 0xe8, 0xad, 0x40, 0x0f, 0x3d, 0xf4, 0x6f, 0xe8, 0xa5, 0xa7, 0x1e, 0xfb, 0x0f, 0x14, + 0xf3, 0x63, 0x97, 0xbb, 0x4b, 0x2e, 0x49, 0xfd, 0x28, 0x72, 0xc8, 0x8d, 0xf3, 0xe6, 0xcd, 0xcc, + 0x9b, 0x37, 0xef, 0xc7, 0xe7, 0xbd, 0x25, 0xac, 0x90, 0xc0, 0xc3, 0xcf, 0xdb, 0x5d, 0x4a, 0x43, + 0x6f, 0x73, 0x10, 0x52, 0x4e, 0xd1, 0x5a, 0x9f, 0xf8, 0x27, 0x11, 0x53, 0xa3, 0x93, 0xad, 0x4d, + 0xc9, 0xd1, 0xac, 0x75, 0x69, 0xbf, 0x4f, 0x03, 0x45, 0x6d, 0x2e, 0x92, 0x80, 0xe3, 0x30, 0x70, + 0x7d, 0x3d, 0xae, 0xa5, 0xd7, 0x34, 0x6b, 0xac, 0x7b, 0x84, 0xfb, 0xae, 0x1a, 0xd9, 0xff, 0x2a, + 0x83, 0xd5, 0x12, 0x7b, 0xb4, 0x82, 0x1e, 0x45, 0x36, 0xd4, 0xba, 0xd4, 0xf7, 0x71, 0x97, 0x13, + 0x1a, 0xb4, 0x76, 0x1b, 0xc6, 0xba, 0xb1, 0x61, 0x3a, 0x19, 0x1a, 0x6a, 0xc0, 0x42, 0x8f, 0x60, + 0xdf, 0x6b, 0xed, 0x36, 0x4a, 0x72, 0x3a, 0x1e, 0xa2, 0x1b, 0x00, 0x4a, 0xe0, 0xc0, 0xed, 0xe3, + 0x86, 0xb9, 0x6e, 0x6c, 0x58, 0x8e, 0x25, 0x29, 0x8f, 0xdd, 0x3e, 0x16, 0x0b, 0xe5, 0xa0, 0xb5, + 0xdb, 0x28, 0xab, 0x85, 0x7a, 0x88, 0x76, 0xa1, 0xca, 0x4f, 0x07, 0xb8, 0x3d, 0x70, 0x43, 0xb7, + 0xcf, 0x1a, 0x73, 0xeb, 0xe6, 0x46, 0x75, 0xeb, 0xd6, 0x66, 0xee, 0xaa, 0xfa, 0x8e, 0x0f, 0xf1, + 0xe9, 0x53, 0xd7, 0x8f, 0xf0, 0x13, 0x97, 0x84, 0x0e, 0x88, 0x75, 0x4f, 0xe4, 0x32, 0x74, 0x0f, + 0x6a, 0xea, 0x78, 0xbd, 0xcd, 0xfc, 0xec, 0xdb, 0x54, 0xe5, 0x42, 0xbd, 0xcf, 0x4d, 0xbd, 0x0f, + 0xf6, 0xda, 0x21, 0x7d, 0xc6, 0x1a, 0x0b, 0x52, 0xd8, 0xaa, 0xa6, 0x39, 0xf4, 0x19, 0x13, 0x37, + 0xe5, 0x94, 0xbb, 0xbe, 0x62, 0xa8, 0x48, 0x06, 0x4b, 0x52, 0xe4, 0xf4, 0x77, 0x60, 0x8e, 0x71, + 0x97, 0xe3, 0x86, 0xb5, 0x6e, 0x6c, 0x2c, 0x6e, 0xdd, 0x2c, 0x10, 0x41, 0xea, 0x7d, 0x5f, 0x30, + 0x3a, 0x8a, 0x1f, 0x7d, 0x1b, 0x5e, 0x56, 0x57, 0x90, 0xc3, 0x76, 0xcf, 0x25, 0x7e, 0x3b, 0xc4, + 0x2e, 0xa3, 0x41, 0x03, 0xa4, 0x3a, 0xd7, 0x48, 0xb2, 0xe6, 0x9e, 0x4b, 0x7c, 0x47, 0xce, 0x21, + 0x1b, 0xea, 0x84, 0xb5, 0xdd, 0x88, 0xd3, 0xb6, 0x9c, 0x6f, 0x54, 0xd7, 0x8d, 0x8d, 0x8a, 0x53, + 0x25, 0x6c, 0x3b, 0xe2, 0x54, 0x1e, 0x83, 0x3e, 0x85, 0x95, 0x88, 0xe1, 0xb0, 0x9d, 0x51, 0x51, + 0x6d, 0x76, 0x15, 0x2d, 0x89, 0xd5, 0xad, 0x94, 0x9a, 0xfe, 0x1f, 0xd0, 0x00, 0x07, 0x1e, 0x09, + 0x0e, 0xf5, 0x9e, 0x52, 0x17, 0x75, 0xa9, 0x8b, 0x65, 0x3d, 0x23, 0xf9, 0x85, 0x4a, 0xec, 0x9f, + 0x1b, 0x00, 0xf7, 0xa4, 0x9d, 0x48, 0x69, 0x3e, 0x8c, 0x4d, 0x85, 0x04, 0x3d, 0x2a, 0xcd, 0xac, + 0xba, 0xf5, 0xda, 0xe6, 0x38, 0xdb, 0xde, 0x4c, 0xac, 0x53, 0xdb, 0x92, 0x34, 0xd4, 0x06, 0x2c, + 0x78, 0xd8, 0xc7, 0x1c, 0x7b, 0xd2, 0x08, 0x2b, 0x4e, 0x3c, 0x44, 0xaf, 0x41, 0xb5, 0x1b, 0x62, + 0xa1, 0x3d, 0x4e, 0xb4, 0x15, 0x96, 0x1d, 0x50, 0xa4, 0x03, 0xd2, 0xc7, 0xf6, 0xbf, 0xcb, 0x50, + 0xdb, 0xc7, 0x87, 0x7d, 0x1c, 0x70, 0x25, 0xcb, 0x2c, 0x46, 0xbf, 0x0e, 0xd5, 0x81, 0x1b, 0x72, + 0xa2, 0x59, 0x94, 0xe1, 0xa7, 0x49, 0xe8, 0x3a, 0x58, 0x4c, 0xef, 0xba, 0x2b, 0x4f, 0x35, 0x9d, + 0x21, 0x01, 0x5d, 0x83, 0x4a, 0x10, 0xf5, 0x95, 0x8a, 0xb4, 0xf1, 0x07, 0x51, 0x5f, 0x1a, 0x4b, + 0xca, 0x2d, 0xe6, 0xb2, 0x6e, 0xd1, 0x80, 0x85, 0x4e, 0x44, 0xa4, 0xa7, 0xcd, 0xab, 0x19, 0x3d, + 0x44, 0x2f, 0xc1, 0x7c, 0x40, 0x3d, 0xdc, 0xda, 0xd5, 0xc6, 0xa9, 0x47, 0xe8, 0x16, 0xd4, 0x95, + 0x5a, 0x4f, 0x70, 0xc8, 0x08, 0x0d, 0xb4, 0x69, 0x2a, 0x7b, 0x7e, 0xaa, 0x68, 0xe7, 0xb7, 0xce, + 0xd7, 0xa0, 0x3a, 0x6a, 0x91, 0xd0, 0x1b, 0xda, 0xe1, 0x6d, 0x58, 0x52, 0xc7, 0xf7, 0x88, 0x8f, + 0xdb, 0xc7, 0xf8, 0x94, 0x35, 0xaa, 0xeb, 0xe6, 0x86, 0xe5, 0x28, 0xa9, 0xee, 0x11, 0x1f, 0x3f, + 0xc4, 0xa7, 0x2c, 0xfd, 0x7a, 0xb5, 0x89, 0xaf, 0x57, 0xcf, 0xbf, 0x1e, 0x7a, 0x1d, 0x16, 0x19, + 0x0e, 0x89, 0xeb, 0x93, 0x17, 0xb8, 0xcd, 0xc8, 0x0b, 0xdc, 0x58, 0x94, 0x3c, 0xf5, 0x84, 0xba, + 0x4f, 0x5e, 0x60, 0xa1, 0x88, 0x67, 0x21, 0xe1, 0xb8, 0x7d, 0xe4, 0x06, 0x1e, 0xed, 0xf5, 0x1a, + 0x4b, 0xf2, 0x9c, 0x9a, 0x24, 0x3e, 0x50, 0x34, 0xb4, 0x05, 0x57, 0xbb, 0x51, 0x18, 0xe2, 0x80, + 0xb7, 0xb3, 0x5a, 0x5b, 0x5e, 0x37, 0x36, 0xe6, 0x9c, 0x55, 0x3d, 0xd9, 0x4a, 0x2b, 0x6f, 0x13, + 0x56, 0x63, 0x0f, 0xa5, 0x21, 0x4e, 0x56, 0xac, 0x48, 0x3d, 0xaf, 0x68, 0xef, 0xa4, 0x21, 0xd6, + 0xfc, 0xf6, 0x6f, 0x0d, 0x58, 0x75, 0xf0, 0x21, 0x61, 0x1c, 0x87, 0x8f, 0xa9, 0x87, 0x1d, 0xfc, + 0x45, 0x84, 0x19, 0x47, 0x5b, 0x50, 0xee, 0xb8, 0x0c, 0x6b, 0xd3, 0x7f, 0xb5, 0xe0, 0x0d, 0x1e, + 0xb1, 0xc3, 0x8f, 0x5c, 0x86, 0x1d, 0xc9, 0x8b, 0xde, 0x83, 0x05, 0xd7, 0xf3, 0x42, 0xcc, 0x98, + 0x34, 0xc0, 0xe2, 0x65, 0xdb, 0x8a, 0xcb, 0x89, 0xd9, 0x53, 0xf6, 0x62, 0xa6, 0xed, 0xc5, 0xfe, + 0xa5, 0x01, 0x6b, 0x59, 0xe9, 0xd8, 0x80, 0x06, 0x4c, 0x04, 0xa2, 0x79, 0xf1, 0xe6, 0x11, 0xd3, + 0x02, 0xde, 0x28, 0x38, 0x69, 0x5f, 0x32, 0x39, 0x9a, 0x59, 0x04, 0x72, 0x12, 0x10, 0x1e, 0x87, + 0x17, 0x25, 0xe5, 0xad, 0x51, 0xbf, 0xd6, 0xe9, 0xa9, 0x15, 0x10, 0xae, 0xa2, 0x89, 0x03, 0x24, + 0xf9, 0x6d, 0xff, 0x10, 0xd6, 0xee, 0x63, 0x9e, 0xb2, 0x3f, 0xad, 0xb3, 0x59, 0x1c, 0x35, 0x9b, + 0x83, 0x4a, 0xb9, 0x1c, 0x64, 0xff, 0xde, 0x80, 0xab, 0xb9, 0xbd, 0x2f, 0x76, 0xe3, 0xc4, 0x99, + 0x4a, 0x17, 0x73, 0x26, 0x33, 0xef, 0x4c, 0xf6, 0x4f, 0x0d, 0x78, 0xe5, 0x3e, 0xe6, 0xe9, 0x50, + 0x75, 0xc9, 0xda, 0x40, 0xaf, 0x02, 0x24, 0x21, 0x8a, 0x35, 0xcc, 0x75, 0x73, 0xc3, 0x74, 0x52, + 0x14, 0xfb, 0x0f, 0x06, 0xac, 0x8c, 0x9c, 0x9f, 0x8d, 0x74, 0x46, 0x3e, 0xd2, 0xfd, 0xcf, 0x14, + 0x92, 0xbb, 0x4c, 0x39, 0xff, 0xb4, 0xbf, 0x31, 0xe0, 0xfa, 0x78, 0x7d, 0x5d, 0xec, 0x85, 0xbf, + 0xab, 0x96, 0x61, 0x61, 0xce, 0x22, 0x5b, 0xde, 0x19, 0x9f, 0xa6, 0x46, 0xcf, 0xd5, 0xcb, 0xec, + 0x5f, 0x98, 0x80, 0x76, 0x64, 0x04, 0x53, 0xe9, 0xf0, 0x0c, 0xef, 0x77, 0x6e, 0xac, 0x95, 0x43, + 0x54, 0xe5, 0xcb, 0x41, 0x54, 0x73, 0xe7, 0x44, 0x54, 0xd7, 0xc1, 0x12, 0xe1, 0x9c, 0x71, 0xb7, + 0x3f, 0x90, 0xa9, 0xac, 0xec, 0x0c, 0x09, 0xa3, 0xe8, 0x65, 0x61, 0x46, 0xf4, 0x52, 0x39, 0x3f, + 0x7a, 0x11, 0x91, 0x6f, 0x65, 0xdb, 0xe7, 0x9a, 0x78, 0x89, 0x3e, 0xf5, 0x01, 0xcc, 0x6b, 0xf1, + 0xcc, 0xd9, 0xc5, 0xd3, 0x4b, 0xec, 0xe7, 0xb0, 0x1a, 0x47, 0x27, 0x89, 0x78, 0xce, 0x20, 0x56, + 0xd6, 0x97, 0x4b, 0x79, 0x5f, 0x9e, 0x62, 0x30, 0xf6, 0x1f, 0x4d, 0x58, 0x69, 0xc5, 0x49, 0xfa, + 0x89, 0xcb, 0x8f, 0x24, 0xcc, 0x9a, 0xec, 0xea, 0xc5, 0xd6, 0x99, 0xc2, 0x34, 0x66, 0x21, 0xa6, + 0x29, 0x67, 0x31, 0x4d, 0x56, 0xc0, 0xb9, 0xbc, 0x5e, 0x2f, 0x0b, 0xdd, 0x6f, 0xc0, 0x72, 0x0a, + 0xa3, 0x0c, 0x5c, 0x7e, 0x24, 0x10, 0xbe, 0x00, 0x29, 0x8b, 0x24, 0x7d, 0x7f, 0x86, 0xee, 0xc0, + 0x52, 0x02, 0x2a, 0x3c, 0x85, 0x35, 0x2a, 0xd2, 0x76, 0x87, 0x08, 0xc4, 0x8b, 0xc1, 0x46, 0x16, + 0x3f, 0x58, 0x63, 0x50, 0x57, 0x1a, 0x01, 0x42, 0x16, 0x01, 0x16, 0xe2, 0x90, 0x6a, 0x21, 0x0e, + 0xb1, 0xff, 0x62, 0x40, 0x35, 0x09, 0x39, 0x33, 0x56, 0x6e, 0x99, 0xd7, 0x2c, 0xe5, 0x5f, 0xf3, + 0x26, 0xd4, 0x70, 0xe0, 0x76, 0x7c, 0xac, 0xbd, 0xd0, 0x54, 0x5e, 0xa8, 0x68, 0xca, 0x0b, 0x1f, + 0x40, 0x75, 0x88, 0xda, 0xe3, 0xa8, 0x72, 0x67, 0x02, 0x6c, 0x4f, 0x1b, 0x93, 0x03, 0x09, 0x7c, + 0x67, 0xf6, 0x57, 0xa5, 0x61, 0x8e, 0x57, 0x96, 0x7e, 0xb1, 0x20, 0xfd, 0x19, 0xd4, 0xf4, 0x4d, + 0x54, 0x45, 0xa1, 0x42, 0xf5, 0x07, 0xe3, 0x45, 0x1b, 0x77, 0xf0, 0x66, 0x4a, 0x99, 0x1f, 0x07, + 0x3c, 0x3c, 0x75, 0xaa, 0x6c, 0x48, 0x69, 0xba, 0xb0, 0x9c, 0x67, 0x40, 0xcb, 0x60, 0x1e, 0xe3, + 0x53, 0xad, 0x69, 0xf1, 0x53, 0xe4, 0xbe, 0x13, 0x61, 0x75, 0x1a, 0xf8, 0xdc, 0x9c, 0x92, 0x29, + 0x7a, 0xd4, 0x51, 0xfc, 0xef, 0x97, 0xde, 0x33, 0xec, 0x5f, 0x19, 0xb0, 0xbc, 0x1b, 0xd2, 0xc1, + 0x99, 0x03, 0x92, 0x0d, 0xb5, 0x54, 0x21, 0x12, 0xfb, 0x7e, 0x86, 0x36, 0x2d, 0x5d, 0x5c, 0x83, + 0x8a, 0x17, 0xd2, 0x41, 0xdb, 0xf5, 0x7d, 0xe9, 0x96, 0x02, 0x91, 0x87, 0x74, 0xb0, 0xed, 0xfb, + 0xf6, 0x33, 0x58, 0xdb, 0xc5, 0xac, 0x1b, 0x92, 0x0e, 0xbe, 0xec, 0x50, 0x99, 0x49, 0x0b, 0x66, + 0x2e, 0x2d, 0xd8, 0x5f, 0x19, 0x70, 0x35, 0x77, 0xf2, 0xc5, 0x6c, 0xe4, 0x7b, 0x59, 0xeb, 0x55, + 0x26, 0x32, 0xb5, 0xe8, 0x4c, 0x5b, 0xad, 0x2b, 0x11, 0x86, 0x9c, 0xfb, 0x48, 0x44, 0xad, 0x27, + 0x21, 0x3d, 0x94, 0x40, 0xfb, 0xf2, 0x00, 0xea, 0xdf, 0x0c, 0xb8, 0x51, 0x70, 0xc6, 0xc5, 0x6e, + 0x9f, 0xef, 0x6a, 0x94, 0xa6, 0x75, 0x35, 0xcc, 0x7c, 0x57, 0x63, 0x7c, 0xc1, 0x5f, 0x2e, 0x28, + 0xf8, 0xff, 0x69, 0x42, 0x5d, 0x54, 0x42, 0xee, 0x21, 0xde, 0xa1, 0x41, 0x8f, 0x1c, 0x8a, 0xd0, + 0x1f, 0x97, 0x2f, 0x86, 0xbc, 0x76, 0x52, 0x9e, 0xdc, 0x84, 0x9a, 0xdb, 0xed, 0x62, 0xc6, 0x44, + 0xcd, 0xa8, 0x63, 0x93, 0xe5, 0x54, 0x15, 0xed, 0xa1, 0x20, 0xa1, 0x37, 0x61, 0x85, 0xe1, 0x6e, + 0x88, 0x79, 0x7b, 0xc8, 0xa9, 0xed, 0x78, 0x49, 0x4d, 0x6c, 0xc7, 0xdc, 0xa2, 0xda, 0x89, 0x18, + 0xde, 0xdf, 0xff, 0x44, 0xdb, 0xb2, 0x1e, 0x09, 0x84, 0xd9, 0x89, 0xba, 0xc7, 0x98, 0xa7, 0x53, + 0x0c, 0x28, 0x92, 0x34, 0xc8, 0x57, 0xc0, 0x0a, 0x29, 0xe5, 0x32, 0x2b, 0x48, 0x9c, 0x62, 0x39, + 0x15, 0x41, 0x10, 0x21, 0x4c, 0xef, 0xda, 0xda, 0x7e, 0xa4, 0xf1, 0x89, 0x1e, 0xa1, 0x75, 0xa8, + 0xb6, 0xb6, 0x1f, 0x7d, 0x1c, 0x78, 0x03, 0x4a, 0x02, 0x2e, 0x53, 0x84, 0xe5, 0xa4, 0x49, 0xe2, + 0x7a, 0x4c, 0x69, 0xa2, 0x2d, 0xc0, 0x95, 0x4c, 0x0f, 0x96, 0x53, 0xd5, 0xb4, 0x83, 0xd3, 0x01, + 0x16, 0x59, 0x29, 0x62, 0xb8, 0x7d, 0x42, 0x42, 0x1e, 0xb9, 0x7e, 0xfb, 0x88, 0x32, 0x2e, 0xb3, + 0x44, 0xc5, 0x59, 0x8c, 0x18, 0x7e, 0xaa, 0xc8, 0x0f, 0x28, 0xe3, 0x42, 0x8c, 0x10, 0x1f, 0xc6, + 0xd9, 0xc1, 0x72, 0xf4, 0x48, 0x14, 0xc6, 0x5d, 0x9f, 0x46, 0x5e, 0x7b, 0x10, 0xd2, 0x13, 0xe2, + 0xe1, 0x50, 0x96, 0xd6, 0x96, 0x53, 0x97, 0xd4, 0x27, 0x9a, 0x28, 0x1e, 0x31, 0x54, 0xd6, 0x2a, + 0x2b, 0x6c, 0x1a, 0xf1, 0x76, 0x3f, 0xe9, 0xda, 0xe8, 0x99, 0x03, 0x35, 0xf1, 0x48, 0x02, 0x37, + 0xc6, 0xfc, 0x9d, 0xed, 0x1d, 0x1c, 0x72, 0x59, 0x68, 0x5b, 0xce, 0x90, 0x60, 0xff, 0xce, 0x80, + 0x95, 0x4f, 0x07, 0xc2, 0xae, 0x5d, 0x5f, 0xf7, 0x76, 0x54, 0x6b, 0x26, 0x46, 0x05, 0xc6, 0x08, + 0x66, 0x95, 0x3f, 0x33, 0xa6, 0x2f, 0x29, 0x52, 0xfb, 0xc9, 0xb4, 0x54, 0x92, 0x29, 0x73, 0x9f, + 0x9a, 0x96, 0x2a, 0xba, 0x01, 0xe0, 0xb9, 0xdc, 0xd5, 0x29, 0xbb, 0x2c, 0x53, 0xb6, 0x25, 0x28, + 0x2a, 0x5b, 0x8b, 0x10, 0x26, 0xa6, 0x89, 0xa7, 0x70, 0xaa, 0xe9, 0x2c, 0x88, 0x71, 0xcb, 0x63, + 0xf6, 0x7f, 0x16, 0x60, 0x59, 0x01, 0xf0, 0x3d, 0xda, 0x89, 0x7d, 0xf5, 0x3a, 0x58, 0x5d, 0x3f, + 0x12, 0x85, 0xaf, 0x16, 0xd4, 0x72, 0x86, 0x04, 0x61, 0x6e, 0x69, 0x94, 0x10, 0xe2, 0x1e, 0x79, + 0xae, 0x25, 0x5e, 0x1a, 0xc2, 0x04, 0x49, 0x4e, 0x43, 0x1a, 0x73, 0x04, 0xd2, 0x4c, 0x12, 0x79, + 0x04, 0x37, 0xcc, 0x8d, 0xc1, 0x0d, 0x29, 0x28, 0x35, 0x9f, 0x85, 0x52, 0xd9, 0x48, 0xb2, 0x90, + 0x8f, 0xae, 0x7b, 0xb0, 0x18, 0x5b, 0x5d, 0x57, 0x3a, 0xa0, 0x34, 0xcd, 0xb1, 0xe5, 0xb8, 0xcc, + 0x4a, 0x69, 0x5f, 0x75, 0xea, 0x2c, 0xe3, 0xba, 0x79, 0xf0, 0x65, 0x9d, 0x13, 0x7c, 0xe5, 0xca, + 0x12, 0x38, 0x5f, 0x59, 0x92, 0x86, 0x52, 0xd5, 0x19, 0xa1, 0x54, 0xad, 0xb8, 0xa5, 0x93, 0x8f, + 0xda, 0xf5, 0xe9, 0xfd, 0xbf, 0xc5, 0x29, 0xfd, 0xbf, 0xa5, 0x09, 0x50, 0x79, 0x79, 0x92, 0x53, + 0xac, 0xe4, 0x9d, 0xe2, 0xc3, 0x8c, 0x53, 0x20, 0x59, 0x53, 0x8f, 0xe4, 0x2c, 0xdd, 0xd1, 0xdf, + 0x75, 0xb9, 0x2b, 0x5c, 0x25, 0xe7, 0x35, 0xaa, 0x53, 0x25, 0x63, 0xda, 0xaa, 0x76, 0x61, 0x41, + 0x91, 0x41, 0xed, 0x16, 0xd4, 0xb3, 0x8d, 0xac, 0x35, 0x75, 0x79, 0x96, 0xea, 0x61, 0x0d, 0x21, + 0x73, 0x6a, 0xa7, 0xab, 0x72, 0xa7, 0xc5, 0x61, 0xc3, 0x4b, 0x6e, 0xb7, 0x0c, 0xa6, 0x47, 0xfa, + 0x8d, 0x97, 0x14, 0x24, 0xf2, 0x48, 0x3f, 0xe3, 0x96, 0x2f, 0x67, 0xdc, 0x12, 0xfd, 0x18, 0x5e, + 0xa2, 0x3a, 0x7a, 0xb4, 0x59, 0xd7, 0xf5, 0xdd, 0xb0, 0x2d, 0xe5, 0x66, 0x8d, 0xc6, 0x24, 0x60, + 0x39, 0x12, 0x71, 0x9c, 0xb5, 0x78, 0x9b, 0x7d, 0xb9, 0x8b, 0x9c, 0x60, 0xf6, 0x27, 0xb0, 0xfc, + 0xfd, 0x08, 0x87, 0xa7, 0x7b, 0xb4, 0xc3, 0x66, 0x73, 0xfa, 0x26, 0x54, 0xb4, 0xe7, 0xc6, 0x20, + 0x2a, 0x19, 0xdb, 0x7f, 0x2e, 0x41, 0x5d, 0x5a, 0xcd, 0x81, 0xcb, 0x8e, 0xe3, 0x38, 0x17, 0xbb, + 0xbd, 0x91, 0x75, 0xfb, 0x73, 0xb7, 0x40, 0xc6, 0xf4, 0x4f, 0xcd, 0x71, 0xfd, 0xd3, 0x31, 0x95, + 0x49, 0x79, 0x6c, 0x65, 0x92, 0xeb, 0xa9, 0xcc, 0x8d, 0xf4, 0x54, 0x0a, 0xfd, 0x65, 0xfe, 0xcc, + 0x2d, 0xd0, 0x85, 0xa2, 0x16, 0xe8, 0x9f, 0x0c, 0x58, 0x49, 0xbd, 0xc4, 0xc5, 0x60, 0x4c, 0xe6, + 0x05, 0x4b, 0xf9, 0x17, 0xdc, 0xcd, 0x42, 0xbc, 0x82, 0x0a, 0x3c, 0x05, 0xf1, 0xe2, 0xd7, 0xcc, + 0xc0, 0xbc, 0x87, 0xb0, 0x24, 0x80, 0xf8, 0xe5, 0x18, 0xce, 0x3f, 0x0c, 0x58, 0xd8, 0xa3, 0x1d, + 0x69, 0x32, 0xe9, 0xc0, 0x65, 0x64, 0x03, 0x97, 0xf6, 0x9c, 0xd2, 0xd0, 0x73, 0xa4, 0xe7, 0xba, + 0x21, 0x1f, 0x7e, 0xc7, 0x10, 0x11, 0x45, 0x50, 0x64, 0x23, 0xfc, 0x1a, 0x54, 0x70, 0xe0, 0xa9, + 0x49, 0x5d, 0x49, 0xe3, 0xc0, 0x93, 0x53, 0x97, 0xd5, 0xb6, 0x59, 0x83, 0xb9, 0x01, 0x1d, 0x7e, + 0x7d, 0x50, 0x03, 0x7b, 0x0d, 0xd0, 0x7d, 0xcc, 0xf7, 0x68, 0x47, 0xbc, 0x4c, 0xac, 0x20, 0xfb, + 0xaf, 0x25, 0xd9, 0xba, 0x18, 0x92, 0x2f, 0xf6, 0xcc, 0x36, 0xd4, 0x15, 0x14, 0xfd, 0x9c, 0x76, + 0xda, 0x41, 0x14, 0x2b, 0xa6, 0x2a, 0x89, 0x7b, 0xb4, 0xf3, 0x38, 0xea, 0xa3, 0xb7, 0x84, 0x1d, + 0x0a, 0xb8, 0x23, 0xf1, 0x71, 0xc2, 0xa9, 0x34, 0xb5, 0x4c, 0x82, 0x18, 0x39, 0x6b, 0xf6, 0xdb, + 0xb0, 0x84, 0x83, 0x2f, 0x22, 0x1c, 0xe1, 0x84, 0x55, 0xe9, 0xad, 0xae, 0xc9, 0x9a, 0x4f, 0xa0, + 0x60, 0x97, 0x1d, 0xb7, 0x99, 0x4f, 0x39, 0xd3, 0x29, 0xd9, 0x12, 0x94, 0x7d, 0x41, 0x40, 0xef, + 0x83, 0x25, 0x96, 0x2b, 0x03, 0x53, 0x4d, 0x88, 0x1b, 0xe3, 0x0d, 0x4c, 0xbf, 0xba, 0x53, 0xf9, + 0x5c, 0xfd, 0x60, 0xc2, 0x1d, 0x75, 0x89, 0xed, 0x11, 0x76, 0xac, 0x71, 0x24, 0x28, 0xd2, 0x2e, + 0x61, 0xc7, 0xf6, 0x67, 0x70, 0x2d, 0xdd, 0x9d, 0x26, 0x8c, 0x93, 0xee, 0x65, 0x56, 0x17, 0xbf, + 0x36, 0xa0, 0x39, 0xee, 0x80, 0xaf, 0xbb, 0xb0, 0x7a, 0x0f, 0xd0, 0x27, 0x84, 0x29, 0xb9, 0xf0, + 0x59, 0x2e, 0x6c, 0x7f, 0x69, 0xc0, 0x6a, 0x66, 0xe9, 0xd7, 0x7c, 0x95, 0xad, 0x2f, 0x6b, 0x00, + 0x72, 0x66, 0x87, 0xd2, 0xd0, 0x43, 0x03, 0xe9, 0x2d, 0x3b, 0xb4, 0x3f, 0xa0, 0x01, 0x0e, 0xb8, + 0x0c, 0xf7, 0x0c, 0xbd, 0x9d, 0xdf, 0x51, 0x0f, 0x47, 0x59, 0xb5, 0x2e, 0x9a, 0xb7, 0x0b, 0x56, + 0xe4, 0xd8, 0xed, 0x2b, 0x28, 0x92, 0x9d, 0x95, 0xe1, 0xeb, 0xee, 0x1c, 0xb9, 0x41, 0x80, 0x7d, + 0xf4, 0x6e, 0xe1, 0x67, 0x98, 0x71, 0xec, 0xf1, 0xb9, 0xaf, 0x17, 0x9c, 0xbb, 0xcf, 0x43, 0x12, + 0x1c, 0xc6, 0xea, 0xb6, 0xaf, 0xa0, 0x1f, 0x40, 0x35, 0xd5, 0xe4, 0x46, 0x1b, 0xe3, 0x75, 0x36, + 0xda, 0x07, 0x6f, 0x4e, 0x7e, 0x19, 0xfb, 0x0a, 0x7a, 0x0a, 0x30, 0xec, 0xd4, 0xa2, 0x02, 0x54, + 0x30, 0xd2, 0xcb, 0x9d, 0xbe, 0xef, 0xe7, 0x50, 0xcf, 0x7c, 0x0a, 0x42, 0x6f, 0x4e, 0x6e, 0x17, + 0xa5, 0xbf, 0xbe, 0x34, 0xff, 0x6f, 0x26, 0xde, 0x44, 0x3b, 0x3f, 0x51, 0x8f, 0x32, 0xf2, 0x2d, + 0xe5, 0x5b, 0x85, 0xdb, 0x14, 0x7d, 0xf7, 0x69, 0x6e, 0x9d, 0x65, 0x49, 0x22, 0xc0, 0xd1, 0xf0, + 0xb2, 0x2a, 0x16, 0xbd, 0x31, 0x4b, 0x6f, 0x4c, 0x9d, 0xf8, 0xe6, 0xec, 0x6d, 0x34, 0xfb, 0x0a, + 0x3a, 0x00, 0x2b, 0x69, 0x63, 0xa1, 0xdb, 0xe3, 0x97, 0xe6, 0xfb, 0x5c, 0x33, 0x3d, 0x56, 0xa6, + 0x19, 0x54, 0xf4, 0x58, 0xe3, 0x7a, 0x55, 0x45, 0x8f, 0x35, 0xb6, 0xbb, 0x64, 0x5f, 0x41, 0xa7, + 0xd2, 0x67, 0x73, 0x41, 0x12, 0xdd, 0x9d, 0xfe, 0xe2, 0x99, 0x78, 0xdd, 0x7c, 0x7b, 0xf6, 0x05, + 0xc9, 0xd1, 0x3f, 0x4b, 0x7d, 0x9f, 0xcc, 0xb4, 0x7f, 0xd0, 0xd6, 0xe4, 0xdd, 0xc6, 0xf5, 0xa3, + 0x9a, 0xef, 0x9c, 0x69, 0x4d, 0xca, 0x58, 0xd1, 0xfe, 0x11, 0x7d, 0xa6, 0x6a, 0xbf, 0x28, 0x74, + 0x45, 0xa8, 0x1d, 0x2b, 0x80, 0x8e, 0x1f, 0xa3, 0xcc, 0x13, 0x04, 0x98, 0xb0, 0x26, 0x11, 0xa0, + 0x0b, 0x70, 0x1f, 0xf3, 0x47, 0x98, 0x87, 0x42, 0xf1, 0x1b, 0xc5, 0xc1, 0x52, 0xb3, 0xc4, 0xc7, + 0xbd, 0x31, 0x03, 0x67, 0x72, 0x48, 0x0f, 0xaa, 0x3b, 0x47, 0xb8, 0x7b, 0xfc, 0x00, 0xbb, 0x3e, + 0x3f, 0x42, 0x45, 0x6b, 0x53, 0x3c, 0x85, 0xfe, 0x30, 0x8e, 0x35, 0x3e, 0x67, 0xeb, 0xef, 0xf3, + 0xfa, 0x1f, 0x56, 0x8f, 0xa9, 0x87, 0xbf, 0x39, 0xf9, 0xe0, 0x00, 0xac, 0xa4, 0xe7, 0x52, 0x14, + 0x06, 0xf2, 0x4d, 0x99, 0xe9, 0x61, 0xe0, 0x33, 0xb0, 0x92, 0x52, 0xa2, 0x68, 0xd7, 0x7c, 0xd5, + 0xd7, 0xbc, 0x33, 0x95, 0x2f, 0x91, 0xda, 0x81, 0x4a, 0x0c, 0xfd, 0xd1, 0xeb, 0xc5, 0xb1, 0x2b, + 0xbd, 0xfb, 0x54, 0x99, 0x3d, 0xa8, 0xa6, 0x90, 0x71, 0x51, 0x66, 0x1c, 0xc5, 0xd4, 0xcd, 0x37, + 0x66, 0xe0, 0xfc, 0x66, 0x39, 0xed, 0x47, 0xef, 0xfe, 0x68, 0xeb, 0x90, 0xf0, 0xa3, 0xa8, 0x23, + 0xb4, 0x7c, 0x57, 0x71, 0xbe, 0x45, 0xa8, 0xfe, 0x75, 0x37, 0x96, 0xf4, 0xae, 0xdc, 0xeb, 0xae, + 0xd4, 0xd7, 0xa0, 0xd3, 0x99, 0x97, 0xc3, 0x77, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x64, 0x55, + 0xb4, 0x1e, 0x50, 0x29, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2380,6 +2744,7 @@ type IndexCoordClient interface { GetComponentStates(ctx context.Context, in *milvuspb.GetComponentStatesRequest, opts ...grpc.CallOption) (*milvuspb.ComponentStates, error) GetStatisticsChannel(ctx context.Context, in *internalpb.GetStatisticsChannelRequest, opts ...grpc.CallOption) (*milvuspb.StringResponse, error) CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + AlterIndex(ctx context.Context, in *AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) // Deprecated: use DescribeIndex instead GetIndexState(ctx context.Context, in *GetIndexStateRequest, opts ...grpc.CallOption) (*GetIndexStateResponse, error) GetSegmentIndexState(ctx context.Context, in *GetSegmentIndexStateRequest, opts ...grpc.CallOption) (*GetSegmentIndexStateResponse, error) @@ -2430,6 +2795,15 @@ func (c *indexCoordClient) CreateIndex(ctx context.Context, in *CreateIndexReque return out, nil } +func (c *indexCoordClient) AlterIndex(ctx context.Context, in *AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.index.IndexCoord/AlterIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *indexCoordClient) GetIndexState(ctx context.Context, in *GetIndexStateRequest, opts ...grpc.CallOption) (*GetIndexStateResponse, error) { out := new(GetIndexStateResponse) err := c.cc.Invoke(ctx, "/milvus.proto.index.IndexCoord/GetIndexState", in, out, opts...) @@ -2525,6 +2899,7 @@ type IndexCoordServer interface { GetComponentStates(context.Context, *milvuspb.GetComponentStatesRequest) (*milvuspb.ComponentStates, error) GetStatisticsChannel(context.Context, *internalpb.GetStatisticsChannelRequest) (*milvuspb.StringResponse, error) CreateIndex(context.Context, *CreateIndexRequest) (*commonpb.Status, error) + AlterIndex(context.Context, *AlterIndexRequest) (*commonpb.Status, error) // Deprecated: use DescribeIndex instead GetIndexState(context.Context, *GetIndexStateRequest) (*GetIndexStateResponse, error) GetSegmentIndexState(context.Context, *GetSegmentIndexStateRequest) (*GetSegmentIndexStateResponse, error) @@ -2553,6 +2928,9 @@ func (*UnimplementedIndexCoordServer) GetStatisticsChannel(ctx context.Context, func (*UnimplementedIndexCoordServer) CreateIndex(ctx context.Context, req *CreateIndexRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateIndex not implemented") } +func (*UnimplementedIndexCoordServer) AlterIndex(ctx context.Context, req *AlterIndexRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method AlterIndex not implemented") +} func (*UnimplementedIndexCoordServer) GetIndexState(ctx context.Context, req *GetIndexStateRequest) (*GetIndexStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIndexState not implemented") } @@ -2642,6 +3020,24 @@ func _IndexCoord_CreateIndex_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _IndexCoord_AlterIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AlterIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IndexCoordServer).AlterIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.index.IndexCoord/AlterIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IndexCoordServer).AlterIndex(ctx, req.(*AlterIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _IndexCoord_GetIndexState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetIndexStateRequest) if err := dec(in); err != nil { @@ -2838,6 +3234,10 @@ var _IndexCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateIndex", Handler: _IndexCoord_CreateIndex_Handler, }, + { + MethodName: "AlterIndex", + Handler: _IndexCoord_AlterIndex_Handler, + }, { MethodName: "GetIndexState", Handler: _IndexCoord_GetIndexState_Handler, diff --git a/proto/v2.2/internal.proto b/proto/v2.2/internal.proto index 724d478..e86435d 100644 --- a/proto/v2.2/internal.proto +++ b/proto/v2.2/internal.proto @@ -82,6 +82,20 @@ message CreateIndexRequest { repeated common.KeyValuePair extra_params = 8; } + +message SubSearchRequest { + string dsl = 1; + // serialized `PlaceholderGroup` + bytes placeholder_group = 2; + common.DslType dsl_type = 3; + bytes serialized_expr_plan = 4; + int64 nq = 5; + repeated int64 partitionIDs = 6; + int64 topk = 7; + int64 offset = 8; + string metricType = 9; +} + message SearchRequest { common.MsgBase base = 1; int64 reqID = 2; @@ -94,6 +108,7 @@ message SearchRequest { common.DslType dsl_type = 8; bytes serialized_expr_plan = 9; repeated int64 output_fields_id = 10; + uint64 mvcc_timestamp = 11; uint64 guarantee_timestamp = 12; uint64 timeout_timestamp = 13; int64 nq = 14; @@ -101,6 +116,22 @@ message SearchRequest { string metricType = 16; bool ignoreGrowing = 17; // Optional string username = 18; + repeated SubSearchRequest sub_reqs = 19; + bool is_advanced = 20; + int64 offset = 21; + common.ConsistencyLevel consistency_level = 22; +} + +message SubSearchResults { + string metric_type = 1; + int64 num_queries = 2; + int64 top_k = 3; + // schema.SearchResultsData inside + bytes sliced_blob = 4; + int64 sliced_num_count = 5; + int64 sliced_offset = 6; + // to indicate it belongs to which sub request + int64 req_index = 7; } message SearchResults { @@ -120,12 +151,17 @@ message SearchResults { // search request cost CostAggregation costAggregation = 13; + map channels_mvcc = 14; + repeated SubSearchResults sub_results = 15; + bool is_advanced = 16; + int64 all_search_count = 17; } message CostAggregation { int64 responseTime = 1; int64 serviceTime = 2; int64 totalNQ = 3; + int64 totalRelatedDataSize = 4; } message RetrieveRequest { @@ -160,7 +196,8 @@ message RetrieveResults { repeated int64 global_sealed_segmentIDs = 8; // query request cost - CostAggregation costAggregation = 13; + CostAggregation costAggregation = 13; + int64 all_retrieve_count = 14; } message LoadIndex { @@ -229,6 +266,13 @@ message ShowConfigurationsResponse { repeated common.KeyValuePair configuations = 2; } +enum RateScope { + Cluster = 0; + Database = 1; + Collection = 2; + Partition = 3; +} + enum RateType { DDLCollection = 0; DDLPartition = 1; @@ -247,3 +291,90 @@ message Rate { RateType rt = 1; double r = 2; } + +enum ImportJobState { + None = 0; + Pending = 1; + PreImporting = 2; + Importing = 3; + Failed = 4; + Completed = 5; +} + +message ImportFile { + int64 id = 1; + // A singular row-based file or multiple column-based files. + repeated string paths = 2; +} + +message ImportRequestInternal { + int64 dbID = 1; + int64 collectionID = 2; + string collection_name = 3; + repeated int64 partitionIDs = 4; + repeated string channel_names = 5; + schema.CollectionSchema schema = 6; + repeated ImportFile files = 7; + repeated common.KeyValuePair options = 8; +} + +message ImportRequest { + string db_name = 1; + string collection_name = 2; + string partition_name = 3; + repeated ImportFile files = 4; + repeated common.KeyValuePair options = 5; +} + +message ImportResponse { + common.Status status = 1; + string jobID = 2; +} + +message GetImportProgressRequest { + string db_name = 1; + string jobID = 2; +} + +message ImportTaskProgress { + string file_name = 1; + int64 file_size = 2; + string reason = 3; + int64 progress = 4; + string complete_time = 5; + string state = 6; + int64 imported_rows = 7; + int64 total_rows = 8; +} + +message GetImportProgressResponse { + common.Status status = 1; + ImportJobState state = 2; + string reason = 3; + int64 progress = 4; + string collection_name = 5; + string complete_time = 6; + repeated ImportTaskProgress task_progresses = 7; + int64 imported_rows = 8; + int64 total_rows = 9; + string start_time = 10; +} + +message ListImportsRequestInternal { + int64 dbID = 1; + int64 collectionID = 2; +} + +message ListImportsRequest { + string db_name = 1; + string collection_name = 2; +} + +message ListImportsResponse { + common.Status status = 1; + repeated string jobIDs = 2; + repeated ImportJobState states = 3; + repeated string reasons = 4; + repeated int64 progresses = 5; + repeated string collection_names = 6; +} diff --git a/proto/v2.2/internalpb/internal.pb.go b/proto/v2.2/internalpb/internal.pb.go index 6070d82..0400808 100644 --- a/proto/v2.2/internalpb/internal.pb.go +++ b/proto/v2.2/internalpb/internal.pb.go @@ -22,6 +22,37 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +type RateScope int32 + +const ( + RateScope_Cluster RateScope = 0 + RateScope_Database RateScope = 1 + RateScope_Collection RateScope = 2 + RateScope_Partition RateScope = 3 +) + +var RateScope_name = map[int32]string{ + 0: "Cluster", + 1: "Database", + 2: "Collection", + 3: "Partition", +} + +var RateScope_value = map[string]int32{ + "Cluster": 0, + "Database": 1, + "Collection": 2, + "Partition": 3, +} + +func (x RateScope) String() string { + return proto.EnumName(RateScope_name, int32(x)) +} + +func (RateScope) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{0} +} + type RateType int32 const ( @@ -71,7 +102,44 @@ func (x RateType) String() string { } func (RateType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{0} + return fileDescriptor_41f4a519b878ee3b, []int{1} +} + +type ImportJobState int32 + +const ( + ImportJobState_None ImportJobState = 0 + ImportJobState_Pending ImportJobState = 1 + ImportJobState_PreImporting ImportJobState = 2 + ImportJobState_Importing ImportJobState = 3 + ImportJobState_Failed ImportJobState = 4 + ImportJobState_Completed ImportJobState = 5 +) + +var ImportJobState_name = map[int32]string{ + 0: "None", + 1: "Pending", + 2: "PreImporting", + 3: "Importing", + 4: "Failed", + 5: "Completed", +} + +var ImportJobState_value = map[string]int32{ + "None": 0, + "Pending": 1, + "PreImporting": 2, + "Importing": 3, + "Failed": 4, + "Completed": 5, +} + +func (x ImportJobState) String() string { + return proto.EnumName(ImportJobState_name, int32(x)) +} + +func (ImportJobState) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{2} } type GetTimeTickChannelRequest struct { @@ -732,6 +800,110 @@ func (m *CreateIndexRequest) GetExtraParams() []*commonpb.KeyValuePair { return nil } +type SubSearchRequest struct { + Dsl string `protobuf:"bytes,1,opt,name=dsl,proto3" json:"dsl,omitempty"` + // serialized `PlaceholderGroup` + PlaceholderGroup []byte `protobuf:"bytes,2,opt,name=placeholder_group,json=placeholderGroup,proto3" json:"placeholder_group,omitempty"` + DslType commonpb.DslType `protobuf:"varint,3,opt,name=dsl_type,json=dslType,proto3,enum=milvus.protov2.common.DslType" json:"dsl_type,omitempty"` + SerializedExprPlan []byte `protobuf:"bytes,4,opt,name=serialized_expr_plan,json=serializedExprPlan,proto3" json:"serialized_expr_plan,omitempty"` + Nq int64 `protobuf:"varint,5,opt,name=nq,proto3" json:"nq,omitempty"` + PartitionIDs []int64 `protobuf:"varint,6,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + Topk int64 `protobuf:"varint,7,opt,name=topk,proto3" json:"topk,omitempty"` + Offset int64 `protobuf:"varint,8,opt,name=offset,proto3" json:"offset,omitempty"` + MetricType string `protobuf:"bytes,9,opt,name=metricType,proto3" json:"metricType,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubSearchRequest) Reset() { *m = SubSearchRequest{} } +func (m *SubSearchRequest) String() string { return proto.CompactTextString(m) } +func (*SubSearchRequest) ProtoMessage() {} +func (*SubSearchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{12} +} + +func (m *SubSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubSearchRequest.Unmarshal(m, b) +} +func (m *SubSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubSearchRequest.Marshal(b, m, deterministic) +} +func (m *SubSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubSearchRequest.Merge(m, src) +} +func (m *SubSearchRequest) XXX_Size() int { + return xxx_messageInfo_SubSearchRequest.Size(m) +} +func (m *SubSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubSearchRequest proto.InternalMessageInfo + +func (m *SubSearchRequest) GetDsl() string { + if m != nil { + return m.Dsl + } + return "" +} + +func (m *SubSearchRequest) GetPlaceholderGroup() []byte { + if m != nil { + return m.PlaceholderGroup + } + return nil +} + +func (m *SubSearchRequest) GetDslType() commonpb.DslType { + if m != nil { + return m.DslType + } + return commonpb.DslType_Dsl +} + +func (m *SubSearchRequest) GetSerializedExprPlan() []byte { + if m != nil { + return m.SerializedExprPlan + } + return nil +} + +func (m *SubSearchRequest) GetNq() int64 { + if m != nil { + return m.Nq + } + return 0 +} + +func (m *SubSearchRequest) GetPartitionIDs() []int64 { + if m != nil { + return m.PartitionIDs + } + return nil +} + +func (m *SubSearchRequest) GetTopk() int64 { + if m != nil { + return m.Topk + } + return 0 +} + +func (m *SubSearchRequest) GetOffset() int64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *SubSearchRequest) GetMetricType() string { + if m != nil { + return m.MetricType + } + return "" +} + type SearchRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` ReqID int64 `protobuf:"varint,2,opt,name=reqID,proto3" json:"reqID,omitempty"` @@ -740,27 +912,32 @@ type SearchRequest struct { PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` Dsl string `protobuf:"bytes,6,opt,name=dsl,proto3" json:"dsl,omitempty"` // serialized `PlaceholderGroup` - PlaceholderGroup []byte `protobuf:"bytes,7,opt,name=placeholder_group,json=placeholderGroup,proto3" json:"placeholder_group,omitempty"` - DslType commonpb.DslType `protobuf:"varint,8,opt,name=dsl_type,json=dslType,proto3,enum=milvus.protov2.common.DslType" json:"dsl_type,omitempty"` - SerializedExprPlan []byte `protobuf:"bytes,9,opt,name=serialized_expr_plan,json=serializedExprPlan,proto3" json:"serialized_expr_plan,omitempty"` - OutputFieldsId []int64 `protobuf:"varint,10,rep,packed,name=output_fields_id,json=outputFieldsId,proto3" json:"output_fields_id,omitempty"` - GuaranteeTimestamp uint64 `protobuf:"varint,12,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"` - TimeoutTimestamp uint64 `protobuf:"varint,13,opt,name=timeout_timestamp,json=timeoutTimestamp,proto3" json:"timeout_timestamp,omitempty"` - Nq int64 `protobuf:"varint,14,opt,name=nq,proto3" json:"nq,omitempty"` - Topk int64 `protobuf:"varint,15,opt,name=topk,proto3" json:"topk,omitempty"` - MetricType string `protobuf:"bytes,16,opt,name=metricType,proto3" json:"metricType,omitempty"` - IgnoreGrowing bool `protobuf:"varint,17,opt,name=ignoreGrowing,proto3" json:"ignoreGrowing,omitempty"` - Username string `protobuf:"bytes,18,opt,name=username,proto3" json:"username,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + PlaceholderGroup []byte `protobuf:"bytes,7,opt,name=placeholder_group,json=placeholderGroup,proto3" json:"placeholder_group,omitempty"` + DslType commonpb.DslType `protobuf:"varint,8,opt,name=dsl_type,json=dslType,proto3,enum=milvus.protov2.common.DslType" json:"dsl_type,omitempty"` + SerializedExprPlan []byte `protobuf:"bytes,9,opt,name=serialized_expr_plan,json=serializedExprPlan,proto3" json:"serialized_expr_plan,omitempty"` + OutputFieldsId []int64 `protobuf:"varint,10,rep,packed,name=output_fields_id,json=outputFieldsId,proto3" json:"output_fields_id,omitempty"` + MvccTimestamp uint64 `protobuf:"varint,11,opt,name=mvcc_timestamp,json=mvccTimestamp,proto3" json:"mvcc_timestamp,omitempty"` + GuaranteeTimestamp uint64 `protobuf:"varint,12,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"` + TimeoutTimestamp uint64 `protobuf:"varint,13,opt,name=timeout_timestamp,json=timeoutTimestamp,proto3" json:"timeout_timestamp,omitempty"` + Nq int64 `protobuf:"varint,14,opt,name=nq,proto3" json:"nq,omitempty"` + Topk int64 `protobuf:"varint,15,opt,name=topk,proto3" json:"topk,omitempty"` + MetricType string `protobuf:"bytes,16,opt,name=metricType,proto3" json:"metricType,omitempty"` + IgnoreGrowing bool `protobuf:"varint,17,opt,name=ignoreGrowing,proto3" json:"ignoreGrowing,omitempty"` + Username string `protobuf:"bytes,18,opt,name=username,proto3" json:"username,omitempty"` + SubReqs []*SubSearchRequest `protobuf:"bytes,19,rep,name=sub_reqs,json=subReqs,proto3" json:"sub_reqs,omitempty"` + IsAdvanced bool `protobuf:"varint,20,opt,name=is_advanced,json=isAdvanced,proto3" json:"is_advanced,omitempty"` + Offset int64 `protobuf:"varint,21,opt,name=offset,proto3" json:"offset,omitempty"` + ConsistencyLevel commonpb.ConsistencyLevel `protobuf:"varint,22,opt,name=consistency_level,json=consistencyLevel,proto3,enum=milvus.protov2.common.ConsistencyLevel" json:"consistency_level,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SearchRequest) Reset() { *m = SearchRequest{} } func (m *SearchRequest) String() string { return proto.CompactTextString(m) } func (*SearchRequest) ProtoMessage() {} func (*SearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{12} + return fileDescriptor_41f4a519b878ee3b, []int{13} } func (m *SearchRequest) XXX_Unmarshal(b []byte) error { @@ -851,6 +1028,13 @@ func (m *SearchRequest) GetOutputFieldsId() []int64 { return nil } +func (m *SearchRequest) GetMvccTimestamp() uint64 { + if m != nil { + return m.MvccTimestamp + } + return 0 +} + func (m *SearchRequest) GetGuaranteeTimestamp() uint64 { if m != nil { return m.GuaranteeTimestamp @@ -900,6 +1084,123 @@ func (m *SearchRequest) GetUsername() string { return "" } +func (m *SearchRequest) GetSubReqs() []*SubSearchRequest { + if m != nil { + return m.SubReqs + } + return nil +} + +func (m *SearchRequest) GetIsAdvanced() bool { + if m != nil { + return m.IsAdvanced + } + return false +} + +func (m *SearchRequest) GetOffset() int64 { + if m != nil { + return m.Offset + } + return 0 +} + +func (m *SearchRequest) GetConsistencyLevel() commonpb.ConsistencyLevel { + if m != nil { + return m.ConsistencyLevel + } + return commonpb.ConsistencyLevel_Strong +} + +type SubSearchResults struct { + MetricType string `protobuf:"bytes,1,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` + NumQueries int64 `protobuf:"varint,2,opt,name=num_queries,json=numQueries,proto3" json:"num_queries,omitempty"` + TopK int64 `protobuf:"varint,3,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"` + // schema.SearchResultsData inside + SlicedBlob []byte `protobuf:"bytes,4,opt,name=sliced_blob,json=slicedBlob,proto3" json:"sliced_blob,omitempty"` + SlicedNumCount int64 `protobuf:"varint,5,opt,name=sliced_num_count,json=slicedNumCount,proto3" json:"sliced_num_count,omitempty"` + SlicedOffset int64 `protobuf:"varint,6,opt,name=sliced_offset,json=slicedOffset,proto3" json:"sliced_offset,omitempty"` + // to indicate it belongs to which sub request + ReqIndex int64 `protobuf:"varint,7,opt,name=req_index,json=reqIndex,proto3" json:"req_index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubSearchResults) Reset() { *m = SubSearchResults{} } +func (m *SubSearchResults) String() string { return proto.CompactTextString(m) } +func (*SubSearchResults) ProtoMessage() {} +func (*SubSearchResults) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{14} +} + +func (m *SubSearchResults) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubSearchResults.Unmarshal(m, b) +} +func (m *SubSearchResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubSearchResults.Marshal(b, m, deterministic) +} +func (m *SubSearchResults) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubSearchResults.Merge(m, src) +} +func (m *SubSearchResults) XXX_Size() int { + return xxx_messageInfo_SubSearchResults.Size(m) +} +func (m *SubSearchResults) XXX_DiscardUnknown() { + xxx_messageInfo_SubSearchResults.DiscardUnknown(m) +} + +var xxx_messageInfo_SubSearchResults proto.InternalMessageInfo + +func (m *SubSearchResults) GetMetricType() string { + if m != nil { + return m.MetricType + } + return "" +} + +func (m *SubSearchResults) GetNumQueries() int64 { + if m != nil { + return m.NumQueries + } + return 0 +} + +func (m *SubSearchResults) GetTopK() int64 { + if m != nil { + return m.TopK + } + return 0 +} + +func (m *SubSearchResults) GetSlicedBlob() []byte { + if m != nil { + return m.SlicedBlob + } + return nil +} + +func (m *SubSearchResults) GetSlicedNumCount() int64 { + if m != nil { + return m.SlicedNumCount + } + return 0 +} + +func (m *SubSearchResults) GetSlicedOffset() int64 { + if m != nil { + return m.SlicedOffset + } + return 0 +} + +func (m *SubSearchResults) GetReqIndex() int64 { + if m != nil { + return m.ReqIndex + } + return 0 +} + type SearchResults struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Status *commonpb.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` @@ -915,17 +1216,21 @@ type SearchResults struct { SlicedNumCount int64 `protobuf:"varint,11,opt,name=sliced_num_count,json=slicedNumCount,proto3" json:"sliced_num_count,omitempty"` SlicedOffset int64 `protobuf:"varint,12,opt,name=sliced_offset,json=slicedOffset,proto3" json:"sliced_offset,omitempty"` // search request cost - CostAggregation *CostAggregation `protobuf:"bytes,13,opt,name=costAggregation,proto3" json:"costAggregation,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CostAggregation *CostAggregation `protobuf:"bytes,13,opt,name=costAggregation,proto3" json:"costAggregation,omitempty"` + ChannelsMvcc map[string]uint64 `protobuf:"bytes,14,rep,name=channels_mvcc,json=channelsMvcc,proto3" json:"channels_mvcc,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + SubResults []*SubSearchResults `protobuf:"bytes,15,rep,name=sub_results,json=subResults,proto3" json:"sub_results,omitempty"` + IsAdvanced bool `protobuf:"varint,16,opt,name=is_advanced,json=isAdvanced,proto3" json:"is_advanced,omitempty"` + AllSearchCount int64 `protobuf:"varint,17,opt,name=all_search_count,json=allSearchCount,proto3" json:"all_search_count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SearchResults) Reset() { *m = SearchResults{} } func (m *SearchResults) String() string { return proto.CompactTextString(m) } func (*SearchResults) ProtoMessage() {} func (*SearchResults) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{13} + return fileDescriptor_41f4a519b878ee3b, []int{15} } func (m *SearchResults) XXX_Unmarshal(b []byte) error { @@ -1037,10 +1342,39 @@ func (m *SearchResults) GetCostAggregation() *CostAggregation { return nil } +func (m *SearchResults) GetChannelsMvcc() map[string]uint64 { + if m != nil { + return m.ChannelsMvcc + } + return nil +} + +func (m *SearchResults) GetSubResults() []*SubSearchResults { + if m != nil { + return m.SubResults + } + return nil +} + +func (m *SearchResults) GetIsAdvanced() bool { + if m != nil { + return m.IsAdvanced + } + return false +} + +func (m *SearchResults) GetAllSearchCount() int64 { + if m != nil { + return m.AllSearchCount + } + return 0 +} + type CostAggregation struct { ResponseTime int64 `protobuf:"varint,1,opt,name=responseTime,proto3" json:"responseTime,omitempty"` ServiceTime int64 `protobuf:"varint,2,opt,name=serviceTime,proto3" json:"serviceTime,omitempty"` TotalNQ int64 `protobuf:"varint,3,opt,name=totalNQ,proto3" json:"totalNQ,omitempty"` + TotalRelatedDataSize int64 `protobuf:"varint,4,opt,name=totalRelatedDataSize,proto3" json:"totalRelatedDataSize,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1050,7 +1384,7 @@ func (m *CostAggregation) Reset() { *m = CostAggregation{} } func (m *CostAggregation) String() string { return proto.CompactTextString(m) } func (*CostAggregation) ProtoMessage() {} func (*CostAggregation) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{14} + return fileDescriptor_41f4a519b878ee3b, []int{16} } func (m *CostAggregation) XXX_Unmarshal(b []byte) error { @@ -1092,6 +1426,13 @@ func (m *CostAggregation) GetTotalNQ() int64 { return 0 } +func (m *CostAggregation) GetTotalRelatedDataSize() int64 { + if m != nil { + return m.TotalRelatedDataSize + } + return 0 +} + type RetrieveRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` ReqID int64 `protobuf:"varint,2,opt,name=reqID,proto3" json:"reqID,omitempty"` @@ -1118,7 +1459,7 @@ func (m *RetrieveRequest) Reset() { *m = RetrieveRequest{} } func (m *RetrieveRequest) String() string { return proto.CompactTextString(m) } func (*RetrieveRequest) ProtoMessage() {} func (*RetrieveRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{15} + return fileDescriptor_41f4a519b878ee3b, []int{17} } func (m *RetrieveRequest) XXX_Unmarshal(b []byte) error { @@ -1262,6 +1603,7 @@ type RetrieveResults struct { GlobalSealedSegmentIDs []int64 `protobuf:"varint,8,rep,packed,name=global_sealed_segmentIDs,json=globalSealedSegmentIDs,proto3" json:"global_sealed_segmentIDs,omitempty"` // query request cost CostAggregation *CostAggregation `protobuf:"bytes,13,opt,name=costAggregation,proto3" json:"costAggregation,omitempty"` + AllRetrieveCount int64 `protobuf:"varint,14,opt,name=all_retrieve_count,json=allRetrieveCount,proto3" json:"all_retrieve_count,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1271,7 +1613,7 @@ func (m *RetrieveResults) Reset() { *m = RetrieveResults{} } func (m *RetrieveResults) String() string { return proto.CompactTextString(m) } func (*RetrieveResults) ProtoMessage() {} func (*RetrieveResults) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{16} + return fileDescriptor_41f4a519b878ee3b, []int{18} } func (m *RetrieveResults) XXX_Unmarshal(b []byte) error { @@ -1355,6 +1697,13 @@ func (m *RetrieveResults) GetCostAggregation() *CostAggregation { return nil } +func (m *RetrieveResults) GetAllRetrieveCount() int64 { + if m != nil { + return m.AllRetrieveCount + } + return 0 +} + type LoadIndex struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` SegmentID int64 `protobuf:"varint,2,opt,name=segmentID,proto3" json:"segmentID,omitempty"` @@ -1371,7 +1720,7 @@ func (m *LoadIndex) Reset() { *m = LoadIndex{} } func (m *LoadIndex) String() string { return proto.CompactTextString(m) } func (*LoadIndex) ProtoMessage() {} func (*LoadIndex) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{17} + return fileDescriptor_41f4a519b878ee3b, []int{19} } func (m *LoadIndex) XXX_Unmarshal(b []byte) error { @@ -1446,7 +1795,7 @@ func (m *IndexStats) Reset() { *m = IndexStats{} } func (m *IndexStats) String() string { return proto.CompactTextString(m) } func (*IndexStats) ProtoMessage() {} func (*IndexStats) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{18} + return fileDescriptor_41f4a519b878ee3b, []int{20} } func (m *IndexStats) XXX_Unmarshal(b []byte) error { @@ -1494,7 +1843,7 @@ func (m *FieldStats) Reset() { *m = FieldStats{} } func (m *FieldStats) String() string { return proto.CompactTextString(m) } func (*FieldStats) ProtoMessage() {} func (*FieldStats) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{19} + return fileDescriptor_41f4a519b878ee3b, []int{21} } func (m *FieldStats) XXX_Unmarshal(b []byte) error { @@ -1550,7 +1899,7 @@ func (m *SegmentStats) Reset() { *m = SegmentStats{} } func (m *SegmentStats) String() string { return proto.CompactTextString(m) } func (*SegmentStats) ProtoMessage() {} func (*SegmentStats) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{20} + return fileDescriptor_41f4a519b878ee3b, []int{22} } func (m *SegmentStats) XXX_Unmarshal(b []byte) error { @@ -1613,7 +1962,7 @@ func (m *ChannelTimeTickMsg) Reset() { *m = ChannelTimeTickMsg{} } func (m *ChannelTimeTickMsg) String() string { return proto.CompactTextString(m) } func (*ChannelTimeTickMsg) ProtoMessage() {} func (*ChannelTimeTickMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{21} + return fileDescriptor_41f4a519b878ee3b, []int{23} } func (m *ChannelTimeTickMsg) XXX_Unmarshal(b []byte) error { @@ -1679,7 +2028,7 @@ func (m *CredentialInfo) Reset() { *m = CredentialInfo{} } func (m *CredentialInfo) String() string { return proto.CompactTextString(m) } func (*CredentialInfo) ProtoMessage() {} func (*CredentialInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{22} + return fileDescriptor_41f4a519b878ee3b, []int{24} } func (m *CredentialInfo) XXX_Unmarshal(b []byte) error { @@ -1747,7 +2096,7 @@ func (m *ListPolicyRequest) Reset() { *m = ListPolicyRequest{} } func (m *ListPolicyRequest) String() string { return proto.CompactTextString(m) } func (*ListPolicyRequest) ProtoMessage() {} func (*ListPolicyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{23} + return fileDescriptor_41f4a519b878ee3b, []int{25} } func (m *ListPolicyRequest) XXX_Unmarshal(b []byte) error { @@ -1789,7 +2138,7 @@ func (m *ListPolicyResponse) Reset() { *m = ListPolicyResponse{} } func (m *ListPolicyResponse) String() string { return proto.CompactTextString(m) } func (*ListPolicyResponse) ProtoMessage() {} func (*ListPolicyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{24} + return fileDescriptor_41f4a519b878ee3b, []int{26} } func (m *ListPolicyResponse) XXX_Unmarshal(b []byte) error { @@ -1843,7 +2192,7 @@ func (m *ShowConfigurationsRequest) Reset() { *m = ShowConfigurationsReq func (m *ShowConfigurationsRequest) String() string { return proto.CompactTextString(m) } func (*ShowConfigurationsRequest) ProtoMessage() {} func (*ShowConfigurationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{25} + return fileDescriptor_41f4a519b878ee3b, []int{27} } func (m *ShowConfigurationsRequest) XXX_Unmarshal(b []byte) error { @@ -1890,7 +2239,7 @@ func (m *ShowConfigurationsResponse) Reset() { *m = ShowConfigurationsRe func (m *ShowConfigurationsResponse) String() string { return proto.CompactTextString(m) } func (*ShowConfigurationsResponse) ProtoMessage() {} func (*ShowConfigurationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{26} + return fileDescriptor_41f4a519b878ee3b, []int{28} } func (m *ShowConfigurationsResponse) XXX_Unmarshal(b []byte) error { @@ -1937,7 +2286,7 @@ func (m *Rate) Reset() { *m = Rate{} } func (m *Rate) String() string { return proto.CompactTextString(m) } func (*Rate) ProtoMessage() {} func (*Rate) Descriptor() ([]byte, []int) { - return fileDescriptor_41f4a519b878ee3b, []int{27} + return fileDescriptor_41f4a519b878ee3b, []int{29} } func (m *Rate) XXX_Unmarshal(b []byte) error { @@ -1972,8 +2321,697 @@ func (m *Rate) GetR() float64 { return 0 } +type ImportFile struct { + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // A singular row-based file or multiple column-based files. + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportFile) Reset() { *m = ImportFile{} } +func (m *ImportFile) String() string { return proto.CompactTextString(m) } +func (*ImportFile) ProtoMessage() {} +func (*ImportFile) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{30} +} + +func (m *ImportFile) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportFile.Unmarshal(m, b) +} +func (m *ImportFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportFile.Marshal(b, m, deterministic) +} +func (m *ImportFile) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportFile.Merge(m, src) +} +func (m *ImportFile) XXX_Size() int { + return xxx_messageInfo_ImportFile.Size(m) +} +func (m *ImportFile) XXX_DiscardUnknown() { + xxx_messageInfo_ImportFile.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportFile proto.InternalMessageInfo + +func (m *ImportFile) GetId() int64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *ImportFile) GetPaths() []string { + if m != nil { + return m.Paths + } + return nil +} + +type ImportRequestInternal struct { + DbID int64 `protobuf:"varint,1,opt,name=dbID,proto3" json:"dbID,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + PartitionIDs []int64 `protobuf:"varint,4,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + ChannelNames []string `protobuf:"bytes,5,rep,name=channel_names,json=channelNames,proto3" json:"channel_names,omitempty"` + Schema *schemapb.CollectionSchema `protobuf:"bytes,6,opt,name=schema,proto3" json:"schema,omitempty"` + Files []*ImportFile `protobuf:"bytes,7,rep,name=files,proto3" json:"files,omitempty"` + Options []*commonpb.KeyValuePair `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportRequestInternal) Reset() { *m = ImportRequestInternal{} } +func (m *ImportRequestInternal) String() string { return proto.CompactTextString(m) } +func (*ImportRequestInternal) ProtoMessage() {} +func (*ImportRequestInternal) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{31} +} + +func (m *ImportRequestInternal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportRequestInternal.Unmarshal(m, b) +} +func (m *ImportRequestInternal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportRequestInternal.Marshal(b, m, deterministic) +} +func (m *ImportRequestInternal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportRequestInternal.Merge(m, src) +} +func (m *ImportRequestInternal) XXX_Size() int { + return xxx_messageInfo_ImportRequestInternal.Size(m) +} +func (m *ImportRequestInternal) XXX_DiscardUnknown() { + xxx_messageInfo_ImportRequestInternal.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportRequestInternal proto.InternalMessageInfo + +func (m *ImportRequestInternal) GetDbID() int64 { + if m != nil { + return m.DbID + } + return 0 +} + +func (m *ImportRequestInternal) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *ImportRequestInternal) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *ImportRequestInternal) GetPartitionIDs() []int64 { + if m != nil { + return m.PartitionIDs + } + return nil +} + +func (m *ImportRequestInternal) GetChannelNames() []string { + if m != nil { + return m.ChannelNames + } + return nil +} + +func (m *ImportRequestInternal) GetSchema() *schemapb.CollectionSchema { + if m != nil { + return m.Schema + } + return nil +} + +func (m *ImportRequestInternal) GetFiles() []*ImportFile { + if m != nil { + return m.Files + } + return nil +} + +func (m *ImportRequestInternal) GetOptions() []*commonpb.KeyValuePair { + if m != nil { + return m.Options + } + return nil +} + +type ImportRequest struct { + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,2,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + PartitionName string `protobuf:"bytes,3,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` + Files []*ImportFile `protobuf:"bytes,4,rep,name=files,proto3" json:"files,omitempty"` + Options []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportRequest) Reset() { *m = ImportRequest{} } +func (m *ImportRequest) String() string { return proto.CompactTextString(m) } +func (*ImportRequest) ProtoMessage() {} +func (*ImportRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{32} +} + +func (m *ImportRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportRequest.Unmarshal(m, b) +} +func (m *ImportRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportRequest.Marshal(b, m, deterministic) +} +func (m *ImportRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportRequest.Merge(m, src) +} +func (m *ImportRequest) XXX_Size() int { + return xxx_messageInfo_ImportRequest.Size(m) +} +func (m *ImportRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ImportRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportRequest proto.InternalMessageInfo + +func (m *ImportRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *ImportRequest) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *ImportRequest) GetPartitionName() string { + if m != nil { + return m.PartitionName + } + return "" +} + +func (m *ImportRequest) GetFiles() []*ImportFile { + if m != nil { + return m.Files + } + return nil +} + +func (m *ImportRequest) GetOptions() []*commonpb.KeyValuePair { + if m != nil { + return m.Options + } + return nil +} + +type ImportResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + JobID string `protobuf:"bytes,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportResponse) Reset() { *m = ImportResponse{} } +func (m *ImportResponse) String() string { return proto.CompactTextString(m) } +func (*ImportResponse) ProtoMessage() {} +func (*ImportResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{33} +} + +func (m *ImportResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportResponse.Unmarshal(m, b) +} +func (m *ImportResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportResponse.Marshal(b, m, deterministic) +} +func (m *ImportResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportResponse.Merge(m, src) +} +func (m *ImportResponse) XXX_Size() int { + return xxx_messageInfo_ImportResponse.Size(m) +} +func (m *ImportResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ImportResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportResponse proto.InternalMessageInfo + +func (m *ImportResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *ImportResponse) GetJobID() string { + if m != nil { + return m.JobID + } + return "" +} + +type GetImportProgressRequest struct { + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + JobID string `protobuf:"bytes,2,opt,name=jobID,proto3" json:"jobID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetImportProgressRequest) Reset() { *m = GetImportProgressRequest{} } +func (m *GetImportProgressRequest) String() string { return proto.CompactTextString(m) } +func (*GetImportProgressRequest) ProtoMessage() {} +func (*GetImportProgressRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{34} +} + +func (m *GetImportProgressRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetImportProgressRequest.Unmarshal(m, b) +} +func (m *GetImportProgressRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetImportProgressRequest.Marshal(b, m, deterministic) +} +func (m *GetImportProgressRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetImportProgressRequest.Merge(m, src) +} +func (m *GetImportProgressRequest) XXX_Size() int { + return xxx_messageInfo_GetImportProgressRequest.Size(m) +} +func (m *GetImportProgressRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetImportProgressRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetImportProgressRequest proto.InternalMessageInfo + +func (m *GetImportProgressRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *GetImportProgressRequest) GetJobID() string { + if m != nil { + return m.JobID + } + return "" +} + +type ImportTaskProgress struct { + FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` + FileSize int64 `protobuf:"varint,2,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + Progress int64 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"` + CompleteTime string `protobuf:"bytes,5,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` + State string `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"` + ImportedRows int64 `protobuf:"varint,7,opt,name=imported_rows,json=importedRows,proto3" json:"imported_rows,omitempty"` + TotalRows int64 `protobuf:"varint,8,opt,name=total_rows,json=totalRows,proto3" json:"total_rows,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportTaskProgress) Reset() { *m = ImportTaskProgress{} } +func (m *ImportTaskProgress) String() string { return proto.CompactTextString(m) } +func (*ImportTaskProgress) ProtoMessage() {} +func (*ImportTaskProgress) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{35} +} + +func (m *ImportTaskProgress) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportTaskProgress.Unmarshal(m, b) +} +func (m *ImportTaskProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportTaskProgress.Marshal(b, m, deterministic) +} +func (m *ImportTaskProgress) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportTaskProgress.Merge(m, src) +} +func (m *ImportTaskProgress) XXX_Size() int { + return xxx_messageInfo_ImportTaskProgress.Size(m) +} +func (m *ImportTaskProgress) XXX_DiscardUnknown() { + xxx_messageInfo_ImportTaskProgress.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportTaskProgress proto.InternalMessageInfo + +func (m *ImportTaskProgress) GetFileName() string { + if m != nil { + return m.FileName + } + return "" +} + +func (m *ImportTaskProgress) GetFileSize() int64 { + if m != nil { + return m.FileSize + } + return 0 +} + +func (m *ImportTaskProgress) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +func (m *ImportTaskProgress) GetProgress() int64 { + if m != nil { + return m.Progress + } + return 0 +} + +func (m *ImportTaskProgress) GetCompleteTime() string { + if m != nil { + return m.CompleteTime + } + return "" +} + +func (m *ImportTaskProgress) GetState() string { + if m != nil { + return m.State + } + return "" +} + +func (m *ImportTaskProgress) GetImportedRows() int64 { + if m != nil { + return m.ImportedRows + } + return 0 +} + +func (m *ImportTaskProgress) GetTotalRows() int64 { + if m != nil { + return m.TotalRows + } + return 0 +} + +type GetImportProgressResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + State ImportJobState `protobuf:"varint,2,opt,name=state,proto3,enum=milvus.protov2.internal.ImportJobState" json:"state,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + Progress int64 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"` + CollectionName string `protobuf:"bytes,5,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + CompleteTime string `protobuf:"bytes,6,opt,name=complete_time,json=completeTime,proto3" json:"complete_time,omitempty"` + TaskProgresses []*ImportTaskProgress `protobuf:"bytes,7,rep,name=task_progresses,json=taskProgresses,proto3" json:"task_progresses,omitempty"` + ImportedRows int64 `protobuf:"varint,8,opt,name=imported_rows,json=importedRows,proto3" json:"imported_rows,omitempty"` + TotalRows int64 `protobuf:"varint,9,opt,name=total_rows,json=totalRows,proto3" json:"total_rows,omitempty"` + StartTime string `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetImportProgressResponse) Reset() { *m = GetImportProgressResponse{} } +func (m *GetImportProgressResponse) String() string { return proto.CompactTextString(m) } +func (*GetImportProgressResponse) ProtoMessage() {} +func (*GetImportProgressResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{36} +} + +func (m *GetImportProgressResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetImportProgressResponse.Unmarshal(m, b) +} +func (m *GetImportProgressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetImportProgressResponse.Marshal(b, m, deterministic) +} +func (m *GetImportProgressResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetImportProgressResponse.Merge(m, src) +} +func (m *GetImportProgressResponse) XXX_Size() int { + return xxx_messageInfo_GetImportProgressResponse.Size(m) +} +func (m *GetImportProgressResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetImportProgressResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetImportProgressResponse proto.InternalMessageInfo + +func (m *GetImportProgressResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *GetImportProgressResponse) GetState() ImportJobState { + if m != nil { + return m.State + } + return ImportJobState_None +} + +func (m *GetImportProgressResponse) GetReason() string { + if m != nil { + return m.Reason + } + return "" +} + +func (m *GetImportProgressResponse) GetProgress() int64 { + if m != nil { + return m.Progress + } + return 0 +} + +func (m *GetImportProgressResponse) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *GetImportProgressResponse) GetCompleteTime() string { + if m != nil { + return m.CompleteTime + } + return "" +} + +func (m *GetImportProgressResponse) GetTaskProgresses() []*ImportTaskProgress { + if m != nil { + return m.TaskProgresses + } + return nil +} + +func (m *GetImportProgressResponse) GetImportedRows() int64 { + if m != nil { + return m.ImportedRows + } + return 0 +} + +func (m *GetImportProgressResponse) GetTotalRows() int64 { + if m != nil { + return m.TotalRows + } + return 0 +} + +func (m *GetImportProgressResponse) GetStartTime() string { + if m != nil { + return m.StartTime + } + return "" +} + +type ListImportsRequestInternal struct { + DbID int64 `protobuf:"varint,1,opt,name=dbID,proto3" json:"dbID,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListImportsRequestInternal) Reset() { *m = ListImportsRequestInternal{} } +func (m *ListImportsRequestInternal) String() string { return proto.CompactTextString(m) } +func (*ListImportsRequestInternal) ProtoMessage() {} +func (*ListImportsRequestInternal) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{37} +} + +func (m *ListImportsRequestInternal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListImportsRequestInternal.Unmarshal(m, b) +} +func (m *ListImportsRequestInternal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListImportsRequestInternal.Marshal(b, m, deterministic) +} +func (m *ListImportsRequestInternal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListImportsRequestInternal.Merge(m, src) +} +func (m *ListImportsRequestInternal) XXX_Size() int { + return xxx_messageInfo_ListImportsRequestInternal.Size(m) +} +func (m *ListImportsRequestInternal) XXX_DiscardUnknown() { + xxx_messageInfo_ListImportsRequestInternal.DiscardUnknown(m) +} + +var xxx_messageInfo_ListImportsRequestInternal proto.InternalMessageInfo + +func (m *ListImportsRequestInternal) GetDbID() int64 { + if m != nil { + return m.DbID + } + return 0 +} + +func (m *ListImportsRequestInternal) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +type ListImportsRequest struct { + DbName string `protobuf:"bytes,1,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,2,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListImportsRequest) Reset() { *m = ListImportsRequest{} } +func (m *ListImportsRequest) String() string { return proto.CompactTextString(m) } +func (*ListImportsRequest) ProtoMessage() {} +func (*ListImportsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{38} +} + +func (m *ListImportsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListImportsRequest.Unmarshal(m, b) +} +func (m *ListImportsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListImportsRequest.Marshal(b, m, deterministic) +} +func (m *ListImportsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListImportsRequest.Merge(m, src) +} +func (m *ListImportsRequest) XXX_Size() int { + return xxx_messageInfo_ListImportsRequest.Size(m) +} +func (m *ListImportsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListImportsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListImportsRequest proto.InternalMessageInfo + +func (m *ListImportsRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *ListImportsRequest) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +type ListImportsResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + JobIDs []string `protobuf:"bytes,2,rep,name=jobIDs,proto3" json:"jobIDs,omitempty"` + States []ImportJobState `protobuf:"varint,3,rep,packed,name=states,proto3,enum=milvus.protov2.internal.ImportJobState" json:"states,omitempty"` + Reasons []string `protobuf:"bytes,4,rep,name=reasons,proto3" json:"reasons,omitempty"` + Progresses []int64 `protobuf:"varint,5,rep,packed,name=progresses,proto3" json:"progresses,omitempty"` + CollectionNames []string `protobuf:"bytes,6,rep,name=collection_names,json=collectionNames,proto3" json:"collection_names,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListImportsResponse) Reset() { *m = ListImportsResponse{} } +func (m *ListImportsResponse) String() string { return proto.CompactTextString(m) } +func (*ListImportsResponse) ProtoMessage() {} +func (*ListImportsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_41f4a519b878ee3b, []int{39} +} + +func (m *ListImportsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListImportsResponse.Unmarshal(m, b) +} +func (m *ListImportsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListImportsResponse.Marshal(b, m, deterministic) +} +func (m *ListImportsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListImportsResponse.Merge(m, src) +} +func (m *ListImportsResponse) XXX_Size() int { + return xxx_messageInfo_ListImportsResponse.Size(m) +} +func (m *ListImportsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListImportsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListImportsResponse proto.InternalMessageInfo + +func (m *ListImportsResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *ListImportsResponse) GetJobIDs() []string { + if m != nil { + return m.JobIDs + } + return nil +} + +func (m *ListImportsResponse) GetStates() []ImportJobState { + if m != nil { + return m.States + } + return nil +} + +func (m *ListImportsResponse) GetReasons() []string { + if m != nil { + return m.Reasons + } + return nil +} + +func (m *ListImportsResponse) GetProgresses() []int64 { + if m != nil { + return m.Progresses + } + return nil +} + +func (m *ListImportsResponse) GetCollectionNames() []string { + if m != nil { + return m.CollectionNames + } + return nil +} + func init() { + proto.RegisterEnum("milvus.protov2.internal.RateScope", RateScope_name, RateScope_value) proto.RegisterEnum("milvus.protov2.internal.RateType", RateType_name, RateType_value) + proto.RegisterEnum("milvus.protov2.internal.ImportJobState", ImportJobState_name, ImportJobState_value) proto.RegisterType((*GetTimeTickChannelRequest)(nil), "milvus.protov2.internal.GetTimeTickChannelRequest") proto.RegisterType((*GetStatisticsChannelRequest)(nil), "milvus.protov2.internal.GetStatisticsChannelRequest") proto.RegisterType((*GetDdChannelRequest)(nil), "milvus.protov2.internal.GetDdChannelRequest") @@ -1986,8 +3024,11 @@ func init() { proto.RegisterType((*DropAliasRequest)(nil), "milvus.protov2.internal.DropAliasRequest") proto.RegisterType((*AlterAliasRequest)(nil), "milvus.protov2.internal.AlterAliasRequest") proto.RegisterType((*CreateIndexRequest)(nil), "milvus.protov2.internal.CreateIndexRequest") + proto.RegisterType((*SubSearchRequest)(nil), "milvus.protov2.internal.SubSearchRequest") proto.RegisterType((*SearchRequest)(nil), "milvus.protov2.internal.SearchRequest") + proto.RegisterType((*SubSearchResults)(nil), "milvus.protov2.internal.SubSearchResults") proto.RegisterType((*SearchResults)(nil), "milvus.protov2.internal.SearchResults") + proto.RegisterMapType((map[string]uint64)(nil), "milvus.protov2.internal.SearchResults.ChannelsMvccEntry") proto.RegisterType((*CostAggregation)(nil), "milvus.protov2.internal.CostAggregation") proto.RegisterType((*RetrieveRequest)(nil), "milvus.protov2.internal.RetrieveRequest") proto.RegisterType((*RetrieveResults)(nil), "milvus.protov2.internal.RetrieveResults") @@ -2002,134 +3043,200 @@ func init() { proto.RegisterType((*ShowConfigurationsRequest)(nil), "milvus.protov2.internal.ShowConfigurationsRequest") proto.RegisterType((*ShowConfigurationsResponse)(nil), "milvus.protov2.internal.ShowConfigurationsResponse") proto.RegisterType((*Rate)(nil), "milvus.protov2.internal.Rate") + proto.RegisterType((*ImportFile)(nil), "milvus.protov2.internal.ImportFile") + proto.RegisterType((*ImportRequestInternal)(nil), "milvus.protov2.internal.ImportRequestInternal") + proto.RegisterType((*ImportRequest)(nil), "milvus.protov2.internal.ImportRequest") + proto.RegisterType((*ImportResponse)(nil), "milvus.protov2.internal.ImportResponse") + proto.RegisterType((*GetImportProgressRequest)(nil), "milvus.protov2.internal.GetImportProgressRequest") + proto.RegisterType((*ImportTaskProgress)(nil), "milvus.protov2.internal.ImportTaskProgress") + proto.RegisterType((*GetImportProgressResponse)(nil), "milvus.protov2.internal.GetImportProgressResponse") + proto.RegisterType((*ListImportsRequestInternal)(nil), "milvus.protov2.internal.ListImportsRequestInternal") + proto.RegisterType((*ListImportsRequest)(nil), "milvus.protov2.internal.ListImportsRequest") + proto.RegisterType((*ListImportsResponse)(nil), "milvus.protov2.internal.ListImportsResponse") } func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee3b) } var fileDescriptor_41f4a519b878ee3b = []byte{ - // 1971 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x5b, 0x6f, 0x1c, 0x49, - 0x15, 0xa6, 0xe7, 0x3e, 0x67, 0xc6, 0xe3, 0x71, 0xc5, 0x9b, 0xed, 0x38, 0x9b, 0x8d, 0xb7, 0x17, - 0x84, 0xb9, 0x6c, 0xc2, 0x0e, 0x0a, 0xec, 0x4a, 0x08, 0x29, 0x71, 0x27, 0xd6, 0x68, 0x27, 0xc1, - 0xe9, 0x09, 0x08, 0xc1, 0x43, 0xab, 0xa6, 0xbb, 0x3c, 0x2e, 0xa5, 0xbb, 0xab, 0x5d, 0x55, 0xed, - 0xd8, 0x79, 0x05, 0xf1, 0x86, 0xc4, 0x0b, 0xaf, 0xc0, 0x3f, 0xe0, 0x11, 0xed, 0x03, 0x4f, 0xfc, - 0x05, 0xfe, 0x07, 0xff, 0x00, 0xa1, 0xba, 0xf4, 0xdc, 0x7c, 0xd9, 0xb5, 0xad, 0x85, 0xe5, 0xad, - 0xea, 0x3b, 0x5f, 0x9d, 0xaa, 0x3a, 0x75, 0xfa, 0xab, 0x53, 0x0d, 0x3d, 0x9a, 0x49, 0xc2, 0x33, - 0x9c, 0x3c, 0xc8, 0x39, 0x93, 0x0c, 0xbd, 0x9b, 0xd2, 0xe4, 0xb8, 0x10, 0xa6, 0x77, 0x3c, 0x78, - 0x50, 0x9a, 0xb7, 0xba, 0x11, 0x4b, 0x53, 0x96, 0x19, 0xc3, 0x56, 0x57, 0x44, 0x87, 0x24, 0xc5, - 0xa6, 0xe7, 0xdd, 0x85, 0x3b, 0x7b, 0x44, 0xbe, 0xa2, 0x29, 0x79, 0x45, 0xa3, 0xd7, 0xbb, 0x87, - 0x38, 0xcb, 0x48, 0x12, 0x90, 0xa3, 0x82, 0x08, 0xe9, 0xdd, 0x83, 0xbb, 0x7b, 0x44, 0x8e, 0x25, - 0x96, 0x54, 0x48, 0x1a, 0x89, 0x15, 0xf3, 0x3b, 0x70, 0x6b, 0x8f, 0x48, 0x3f, 0x5e, 0x81, 0x7f, - 0x09, 0xad, 0x17, 0x2c, 0x26, 0xc3, 0xec, 0x80, 0xa1, 0x4f, 0xa0, 0x89, 0xe3, 0x98, 0x13, 0x21, - 0x5c, 0x67, 0xdb, 0xd9, 0xe9, 0x0c, 0xde, 0x7f, 0xb0, 0xb2, 0x4a, 0xbb, 0xb6, 0xc7, 0x86, 0x15, - 0x94, 0x74, 0x84, 0xa0, 0xc6, 0x59, 0x42, 0xdc, 0xca, 0xb6, 0xb3, 0xd3, 0x0e, 0x74, 0xdb, 0x4b, - 0x00, 0x86, 0x19, 0x95, 0xfb, 0x98, 0xe3, 0x54, 0xa0, 0xdb, 0xd0, 0xc8, 0xd4, 0x3c, 0xbe, 0x76, - 0x5d, 0x0d, 0x6c, 0x0f, 0x3d, 0x83, 0xae, 0x90, 0x98, 0xcb, 0x30, 0xd7, 0x3c, 0xb7, 0xb2, 0x5d, - 0xdd, 0xe9, 0x0c, 0x3e, 0xbc, 0x60, 0xe2, 0xcf, 0xc8, 0xe9, 0x2f, 0x70, 0x52, 0x90, 0x7d, 0x4c, - 0x79, 0xd0, 0xd1, 0x03, 0x8d, 0x7f, 0xef, 0xd7, 0x00, 0x63, 0xc9, 0x69, 0x36, 0x1d, 0x51, 0x21, - 0xd5, 0x6c, 0xc7, 0x8a, 0xa7, 0x36, 0x52, 0xdd, 0x69, 0x07, 0xb6, 0x87, 0x1e, 0x41, 0x43, 0x48, - 0x2c, 0x0b, 0xa1, 0x57, 0xda, 0x19, 0xdc, 0xbb, 0x60, 0x9e, 0xb1, 0x26, 0x05, 0x96, 0xec, 0xfd, - 0xb5, 0x02, 0x9b, 0x4b, 0xb1, 0xb5, 0xd1, 0x43, 0x03, 0xa8, 0x4d, 0xb0, 0x20, 0x5f, 0x10, 0xae, - 0xe7, 0x62, 0xfa, 0x04, 0x0b, 0x12, 0x68, 0xae, 0x8a, 0x55, 0x3c, 0x19, 0xfa, 0x7a, 0x05, 0xd5, - 0x40, 0xb7, 0x91, 0x07, 0xdd, 0x88, 0x25, 0x09, 0x89, 0x24, 0x65, 0xd9, 0xd0, 0x77, 0xab, 0xda, - 0xb6, 0x84, 0x29, 0x4e, 0x8e, 0xb9, 0xa4, 0xa6, 0x2b, 0xdc, 0xda, 0x76, 0x55, 0x71, 0x16, 0x31, - 0xf4, 0x1d, 0xe8, 0x4b, 0x8e, 0x8f, 0x49, 0x12, 0x4a, 0x9a, 0x12, 0x21, 0x71, 0x9a, 0xbb, 0xf5, - 0x6d, 0x67, 0xa7, 0x16, 0xac, 0x1b, 0xfc, 0x55, 0x09, 0xa3, 0x87, 0x70, 0x6b, 0x5a, 0x60, 0x8e, - 0x33, 0x49, 0xc8, 0x02, 0xbb, 0xa1, 0xd9, 0x68, 0x66, 0x9a, 0x0f, 0xf8, 0x1e, 0x6c, 0x28, 0x1a, - 0x2b, 0xe4, 0x02, 0xbd, 0xa9, 0xe9, 0x7d, 0x6b, 0x98, 0x91, 0xbd, 0xbf, 0x3b, 0xf0, 0xce, 0x4a, - 0xc4, 0x44, 0xce, 0x32, 0x41, 0xae, 0x15, 0xb2, 0xeb, 0x1d, 0x1b, 0xfa, 0x14, 0xea, 0xaa, 0x25, - 0xdc, 0xea, 0x97, 0x4f, 0x2a, 0x33, 0xc2, 0xfb, 0x8b, 0x03, 0x68, 0x97, 0x13, 0x2c, 0xc9, 0xe3, - 0x84, 0xe2, 0x1b, 0x9d, 0xf7, 0xbb, 0xd0, 0x8c, 0x27, 0x61, 0x86, 0xd3, 0xf2, 0xf3, 0x68, 0xc4, - 0x93, 0x17, 0x38, 0x25, 0xe8, 0xdb, 0xb0, 0x3e, 0x3f, 0x60, 0x43, 0xa8, 0x6a, 0x42, 0x6f, 0x0e, - 0x6b, 0xe2, 0x26, 0xd4, 0xb1, 0x5a, 0x85, 0x5b, 0xd3, 0x66, 0xd3, 0xf1, 0x0a, 0xe8, 0xfb, 0x9c, - 0xe5, 0x5f, 0xdd, 0xfa, 0x66, 0xd3, 0x56, 0x17, 0xa7, 0xfd, 0xb3, 0x03, 0x1b, 0x8f, 0x13, 0x49, - 0xf8, 0xd7, 0x36, 0x30, 0xff, 0xa8, 0x94, 0x67, 0x37, 0xcc, 0x62, 0x72, 0xf2, 0xbf, 0x5d, 0xe2, - 0x3d, 0x80, 0x03, 0x4a, 0x92, 0xd8, 0x70, 0xcc, 0x3a, 0xdb, 0x1a, 0xd1, 0xe6, 0x52, 0x0c, 0xea, - 0x97, 0x88, 0x41, 0xe3, 0x1c, 0x31, 0x70, 0xa1, 0xa9, 0x9d, 0x0c, 0x7d, 0xfd, 0x09, 0x56, 0x83, - 0xb2, 0xab, 0x04, 0x95, 0x9c, 0x48, 0x8e, 0x4b, 0x41, 0x6d, 0x5d, 0x41, 0x50, 0xf5, 0x40, 0x2b, - 0xa8, 0xff, 0xaa, 0xc1, 0xda, 0x98, 0x60, 0x1e, 0x1d, 0xde, 0x24, 0x80, 0x9b, 0x50, 0xe7, 0xe4, - 0x68, 0xa6, 0x76, 0xa6, 0x33, 0xdb, 0x75, 0xf5, 0x92, 0x5d, 0xd7, 0xbe, 0x84, 0x04, 0xd6, 0xcf, - 0x91, 0xc0, 0x3e, 0x54, 0x63, 0x91, 0xe8, 0xa0, 0xb5, 0x03, 0xd5, 0x54, 0xc2, 0x95, 0x27, 0x38, - 0x22, 0x87, 0x2c, 0x89, 0x09, 0x0f, 0xa7, 0x9c, 0x15, 0x46, 0xb8, 0xba, 0x41, 0x7f, 0xc1, 0xb0, - 0xa7, 0x70, 0xf4, 0x29, 0xb4, 0x62, 0x91, 0x84, 0xf2, 0x34, 0x27, 0x6e, 0x6b, 0xdb, 0xd9, 0xe9, - 0x5d, 0xb8, 0x51, 0x5f, 0x24, 0xaf, 0x4e, 0x73, 0x12, 0x34, 0x63, 0xd3, 0x40, 0x3f, 0x80, 0x4d, - 0x41, 0x38, 0xc5, 0x09, 0x7d, 0x4b, 0xe2, 0x90, 0x9c, 0xe4, 0x3c, 0xcc, 0x13, 0x9c, 0xb9, 0x6d, - 0x3d, 0x15, 0x9a, 0xdb, 0x9e, 0x9e, 0xe4, 0x7c, 0x3f, 0xc1, 0x19, 0xda, 0x81, 0x3e, 0x2b, 0x64, - 0x5e, 0xc8, 0x50, 0x9f, 0x9e, 0x08, 0x69, 0xec, 0x82, 0xde, 0x53, 0xcf, 0xe0, 0xcf, 0x34, 0x3c, - 0x8c, 0x2f, 0x52, 0xeb, 0xee, 0xd5, 0xd4, 0x7a, 0xed, 0x7c, 0xb5, 0x46, 0x3d, 0xa8, 0x64, 0x47, - 0x6e, 0x4f, 0x47, 0xbc, 0x92, 0x1d, 0xa9, 0xf3, 0x91, 0x2c, 0x7f, 0xed, 0xae, 0x9b, 0xf3, 0x51, - 0x6d, 0xf4, 0x3e, 0x40, 0x4a, 0x24, 0xa7, 0x91, 0xda, 0xab, 0xdb, 0xd7, 0xe1, 0x5d, 0x40, 0xd0, - 0x37, 0x61, 0x8d, 0x4e, 0x33, 0xc6, 0xc9, 0x1e, 0x67, 0x6f, 0x68, 0x36, 0x75, 0x37, 0xb6, 0x9d, - 0x9d, 0x56, 0xb0, 0x0c, 0xa2, 0x2d, 0x68, 0x15, 0x42, 0x15, 0x3a, 0x29, 0x71, 0x91, 0xf6, 0x31, - 0xeb, 0x7b, 0xff, 0x5c, 0xc8, 0x38, 0x51, 0x24, 0x52, 0xfc, 0x37, 0xef, 0x8a, 0x59, 0xa2, 0x56, - 0x17, 0x13, 0xf5, 0x3e, 0x74, 0xcc, 0x16, 0x4d, 0x42, 0xd4, 0xce, 0xec, 0xfa, 0x3e, 0x74, 0xb2, - 0x22, 0x0d, 0x8f, 0x0a, 0xc2, 0x29, 0x11, 0xf6, 0x33, 0x86, 0xac, 0x48, 0x5f, 0x1a, 0x04, 0xdd, - 0x82, 0xba, 0x64, 0x79, 0xf8, 0xda, 0x7e, 0xc5, 0x2a, 0x96, 0x9f, 0xa1, 0x9f, 0xc0, 0x96, 0x20, - 0x38, 0x21, 0x71, 0x28, 0xc8, 0x34, 0x25, 0x99, 0x1c, 0xfa, 0x22, 0x14, 0x7a, 0xeb, 0x24, 0x76, - 0x9b, 0x3a, 0x03, 0x5c, 0xc3, 0x18, 0xcf, 0x08, 0x63, 0x6b, 0x57, 0xb9, 0x10, 0x99, 0x22, 0x6e, - 0x69, 0x58, 0x4b, 0x57, 0x3a, 0x68, 0x6e, 0x9a, 0x0d, 0xf8, 0x04, 0xdc, 0x69, 0xc2, 0x26, 0x38, - 0x09, 0xcf, 0xcc, 0xea, 0xb6, 0xf5, 0x64, 0xb7, 0x8d, 0x7d, 0xbc, 0x32, 0xa5, 0xda, 0x9e, 0x48, - 0x68, 0x44, 0xe2, 0x70, 0x92, 0xb0, 0x89, 0x0b, 0x3a, 0x93, 0xc1, 0x40, 0x4f, 0x12, 0x36, 0x51, - 0x19, 0x6c, 0x09, 0x2a, 0x0c, 0x11, 0x2b, 0x32, 0xe9, 0x76, 0xf4, 0x4e, 0x7b, 0x06, 0x7f, 0x51, - 0xa4, 0xbb, 0x0a, 0x45, 0x1f, 0xc2, 0x9a, 0x65, 0xb2, 0x83, 0x03, 0x41, 0xa4, 0xce, 0xdd, 0x6a, - 0xd0, 0x35, 0xe0, 0xcf, 0x34, 0x86, 0x02, 0x25, 0xab, 0x42, 0x3e, 0x9e, 0x4e, 0x39, 0x99, 0x62, - 0xf5, 0x49, 0xeb, 0x9c, 0xed, 0x0c, 0x76, 0x1e, 0x5c, 0x50, 0x2f, 0x3f, 0xd8, 0x5d, 0xe6, 0x07, - 0xab, 0x0e, 0xbc, 0x23, 0x58, 0x5f, 0xe1, 0x28, 0x1d, 0xe1, 0xb6, 0x1e, 0x51, 0x1f, 0x81, 0x2d, - 0x49, 0x97, 0x30, 0xb4, 0x0d, 0x1d, 0x41, 0xf8, 0x31, 0x8d, 0x0c, 0xc5, 0xe8, 0xd7, 0x22, 0xa4, - 0x34, 0x58, 0x32, 0x89, 0x93, 0x17, 0x2f, 0x6d, 0xd2, 0x94, 0x5d, 0xef, 0x37, 0x75, 0x58, 0x0f, - 0x54, 0x92, 0x90, 0x63, 0xf2, 0xff, 0xa5, 0x9e, 0x17, 0x69, 0x58, 0xe3, 0x4a, 0x1a, 0xd6, 0x3c, - 0x57, 0xc3, 0xbe, 0x05, 0xbd, 0xf4, 0x38, 0x8a, 0x16, 0xf4, 0xa8, 0xa5, 0xf5, 0x68, 0x4d, 0xa1, - 0x5f, 0x58, 0x98, 0xb6, 0xaf, 0x26, 0x75, 0x70, 0x81, 0xd4, 0x6d, 0x42, 0x3d, 0xa1, 0x29, 0x2d, - 0xb3, 0xd4, 0x74, 0xce, 0x8a, 0x57, 0xf7, 0x3c, 0xf1, 0xba, 0x03, 0x2d, 0x2a, 0x6c, 0x92, 0xaf, - 0x69, 0x42, 0x93, 0x0a, 0x93, 0xdd, 0x4f, 0xe1, 0x3e, 0x95, 0x84, 0xeb, 0xf4, 0x0a, 0xc9, 0x89, - 0x24, 0x99, 0x50, 0x2d, 0x4e, 0xe2, 0x22, 0x22, 0x21, 0xc7, 0x92, 0x58, 0x79, 0x7d, 0x6f, 0x46, - 0x7b, 0x5a, 0xb2, 0x02, 0x4d, 0x0a, 0xb0, 0x24, 0x4b, 0xf2, 0xb8, 0xbe, 0x2c, 0x8f, 0xe8, 0x21, - 0x6c, 0x5a, 0x77, 0x42, 0x29, 0xca, 0x01, 0xe3, 0xe1, 0x84, 0x08, 0xa9, 0xa5, 0xb8, 0x15, 0x6c, - 0x18, 0xdb, 0x58, 0xb2, 0xfc, 0x19, 0xe3, 0x4f, 0xd4, 0xd3, 0xee, 0xb7, 0xb5, 0xc5, 0x2c, 0xfc, - 0x9a, 0x28, 0xea, 0xf7, 0xa1, 0x4a, 0x63, 0x53, 0xb0, 0x75, 0x06, 0x5b, 0xab, 0x9e, 0xec, 0x6b, - 0x77, 0xe8, 0x8b, 0x40, 0xd1, 0xd0, 0x63, 0xe8, 0xd8, 0xac, 0x8a, 0xb1, 0xc4, 0x3a, 0x63, 0x3b, - 0x83, 0xed, 0x0b, 0x46, 0xe9, 0x44, 0xf3, 0xb1, 0xc4, 0x81, 0x29, 0xb9, 0x84, 0x6a, 0xa3, 0x9f, - 0xc2, 0xdd, 0xb3, 0x5a, 0xcb, 0x6d, 0x58, 0x62, 0xb7, 0xa1, 0x53, 0xf5, 0xce, 0xaa, 0xd8, 0x96, - 0x71, 0x8b, 0xd1, 0xc7, 0xb0, 0xb9, 0xa0, 0xb6, 0xf3, 0x81, 0x4d, 0x2d, 0xb7, 0x0b, 0x4a, 0x3c, - 0x1f, 0x72, 0x99, 0xde, 0xb6, 0x2e, 0xd5, 0xdb, 0xaf, 0x42, 0xff, 0xfe, 0xed, 0x40, 0x7b, 0xc4, - 0x70, 0xac, 0x8b, 0xe1, 0x6b, 0x25, 0xc0, 0x7b, 0xd0, 0x9e, 0xed, 0xc0, 0x4a, 0xd1, 0x1c, 0x50, - 0xd6, 0x59, 0x3d, 0x6b, 0x8b, 0xe0, 0x85, 0x02, 0x77, 0xa1, 0x50, 0xad, 0x2d, 0x17, 0xaa, 0xf7, - 0xa1, 0x43, 0xd5, 0x92, 0xc2, 0x1c, 0xcb, 0x43, 0xa3, 0x46, 0xed, 0x00, 0x34, 0xb4, 0xaf, 0x10, - 0x55, 0xc9, 0x96, 0x04, 0x5d, 0xc9, 0x36, 0xae, 0x50, 0xc9, 0x5a, 0x37, 0xba, 0x92, 0xfd, 0x9d, - 0x03, 0xa0, 0x37, 0xaf, 0x12, 0xf4, 0xac, 0x5b, 0xe7, 0x7a, 0x6e, 0x95, 0x54, 0xaa, 0x3b, 0x8f, - 0x93, 0x04, 0xcb, 0xf9, 0x19, 0x0b, 0x1b, 0x20, 0x94, 0x15, 0x69, 0x60, 0x4c, 0xf6, 0x7c, 0x85, - 0xf7, 0x07, 0x07, 0x40, 0x27, 0xa9, 0x59, 0xc8, 0xaa, 0x66, 0x3b, 0x97, 0xd7, 0xf9, 0x95, 0xe5, - 0xf0, 0xf9, 0x65, 0xf8, 0x2e, 0x7d, 0xe2, 0xce, 0xd2, 0x64, 0x1e, 0x00, 0x1b, 0x63, 0xdd, 0xf6, - 0xfe, 0xe8, 0x40, 0xd7, 0xae, 0xcf, 0x2c, 0x6a, 0xe9, 0xac, 0x9d, 0xd5, 0xb3, 0xd6, 0xf5, 0x50, - 0xca, 0xf8, 0x69, 0x28, 0xe8, 0xdb, 0xf2, 0x52, 0x04, 0x03, 0x8d, 0xe9, 0x5b, 0xa2, 0x24, 0x52, - 0x07, 0x85, 0xbd, 0x11, 0xe5, 0xa5, 0xa8, 0x02, 0xc1, 0xde, 0x08, 0x25, 0xd3, 0x9c, 0x44, 0x24, - 0x93, 0xc9, 0x69, 0x98, 0xb2, 0x98, 0x1e, 0x50, 0x12, 0xeb, 0x9c, 0x68, 0x05, 0xfd, 0xd2, 0xf0, - 0xdc, 0xe2, 0xde, 0xe7, 0xea, 0xfd, 0x6d, 0x3e, 0xad, 0xf2, 0x77, 0xd7, 0x73, 0x31, 0xbd, 0x56, - 0xf6, 0xaa, 0x30, 0x1b, 0x4f, 0x2a, 0x21, 0xcd, 0x1f, 0xa6, 0x76, 0xb0, 0x84, 0xa9, 0xe2, 0x76, - 0x76, 0x75, 0x98, 0x58, 0xd6, 0x82, 0x05, 0x44, 0xad, 0x3d, 0x26, 0x07, 0xb8, 0x48, 0x16, 0xaf, - 0x98, 0x9a, 0xb9, 0x62, 0xac, 0x61, 0xfe, 0xef, 0xe3, 0x6f, 0x0e, 0xf4, 0x76, 0x39, 0x89, 0x49, - 0x26, 0x29, 0x4e, 0xf4, 0x9f, 0xb5, 0x45, 0x5d, 0x77, 0x56, 0x74, 0xfd, 0x23, 0x40, 0x24, 0x8b, - 0xf8, 0x69, 0xae, 0xb2, 0x28, 0xc7, 0x42, 0xbc, 0x61, 0x3c, 0xb6, 0xcf, 0xcd, 0x8d, 0x99, 0x65, - 0xdf, 0x1a, 0xd0, 0x6d, 0x68, 0x48, 0x92, 0xe1, 0x4c, 0xda, 0x6f, 0xcd, 0xf6, 0xec, 0xe5, 0x24, - 0x8a, 0x9c, 0x70, 0x1b, 0xd5, 0x26, 0x15, 0x63, 0xd5, 0x55, 0x8f, 0x55, 0x71, 0x88, 0x07, 0x8f, - 0x7e, 0x34, 0x77, 0x5f, 0x37, 0x8f, 0x55, 0x03, 0x97, 0xbe, 0xbd, 0x3d, 0xd8, 0x18, 0x51, 0x21, - 0xf7, 0x59, 0x42, 0xa3, 0xd3, 0x1b, 0x14, 0x2e, 0xde, 0xef, 0x1d, 0x40, 0x8b, 0x9e, 0xec, 0xbf, - 0x9f, 0xf9, 0x4d, 0xe2, 0x5c, 0xe5, 0x26, 0xf9, 0x00, 0xba, 0xb9, 0x76, 0x14, 0xd2, 0xec, 0x80, - 0x95, 0x27, 0xd8, 0x31, 0x98, 0x8a, 0xaf, 0x50, 0xcf, 0x6c, 0x15, 0xd0, 0x90, 0xb3, 0x84, 0x98, - 0x03, 0x6c, 0x07, 0x6d, 0x85, 0x04, 0x0a, 0xf0, 0x28, 0xdc, 0x19, 0x1f, 0xb2, 0x37, 0xbb, 0x2c, - 0x3b, 0xa0, 0xd3, 0xc2, 0xdc, 0xbf, 0x37, 0xfa, 0x77, 0xe1, 0x42, 0x33, 0xc7, 0x52, 0x7d, 0x5b, - 0xf6, 0xa4, 0xca, 0xae, 0xf7, 0x27, 0x07, 0xb6, 0xce, 0x9b, 0xeb, 0x66, 0x21, 0x18, 0xc2, 0x5a, - 0x64, 0x1c, 0x1a, 0x7f, 0x57, 0xf9, 0x4f, 0xba, 0x3c, 0xd2, 0xdb, 0x83, 0x9a, 0xae, 0x35, 0x3e, - 0x86, 0x0a, 0x97, 0x7a, 0x15, 0xbd, 0xc1, 0x07, 0x17, 0xea, 0x86, 0xa2, 0xea, 0x67, 0x6e, 0x85, - 0x4b, 0xd4, 0x05, 0x87, 0xeb, 0xfd, 0x3a, 0x81, 0xc3, 0xbf, 0xfb, 0xb9, 0x03, 0xad, 0xd2, 0x8c, - 0x36, 0x60, 0xcd, 0xf7, 0x47, 0xbb, 0x33, 0xed, 0xea, 0x7f, 0x03, 0xf5, 0xa1, 0xeb, 0xfb, 0xa3, - 0xfd, 0xb2, 0xbc, 0xec, 0x3b, 0xa8, 0x0b, 0x2d, 0xdf, 0x1f, 0x69, 0x29, 0xea, 0x57, 0x6c, 0xef, - 0x59, 0x52, 0x88, 0xc3, 0x7e, 0x75, 0xe6, 0x20, 0xcd, 0xb1, 0x71, 0x50, 0x43, 0x6b, 0xd0, 0xf6, - 0x9f, 0x8f, 0x86, 0x99, 0x20, 0x5c, 0xf6, 0xeb, 0xb6, 0xeb, 0x93, 0x84, 0x48, 0xd2, 0x6f, 0xa0, - 0x75, 0xe8, 0xf8, 0xcf, 0x47, 0x4f, 0x8a, 0xe4, 0xb5, 0xba, 0xdd, 0xfa, 0x4d, 0x6d, 0x7f, 0x39, - 0x32, 0xaf, 0x9e, 0x7e, 0x4b, 0xbb, 0x7f, 0x39, 0x52, 0xef, 0xb0, 0xd3, 0x7e, 0xdb, 0x0e, 0xfe, - 0x79, 0xae, 0x7d, 0xc1, 0x93, 0x1f, 0xff, 0xea, 0xd1, 0x94, 0xca, 0xc3, 0x62, 0xa2, 0x22, 0xf6, - 0xd0, 0x6c, 0xfe, 0x23, 0xca, 0x6c, 0xeb, 0x61, 0xb9, 0xfd, 0x87, 0x3a, 0x1e, 0xb3, 0x6e, 0x3e, - 0x99, 0x34, 0x34, 0xf2, 0xc3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xc3, 0xb9, 0x14, 0xd0, - 0x17, 0x00, 0x00, + // 2869 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcb, 0x6f, 0x1c, 0xc7, + 0xd1, 0xf7, 0xec, 0x7b, 0x6b, 0x97, 0xcb, 0x61, 0x8b, 0x92, 0x57, 0x94, 0x65, 0xd3, 0xe3, 0xcf, + 0x30, 0xfd, 0x92, 0x3e, 0xf3, 0x83, 0xbf, 0xc8, 0x41, 0x1c, 0x43, 0xe2, 0x4a, 0xc4, 0xda, 0x94, + 0x42, 0xcd, 0x32, 0x46, 0x90, 0xc0, 0x18, 0xf4, 0xce, 0x34, 0x97, 0x1d, 0xce, 0xce, 0x0c, 0xbb, + 0x7b, 0x28, 0xd1, 0xb7, 0x20, 0x40, 0x0e, 0x09, 0x02, 0xe4, 0x92, 0x6b, 0x92, 0x4b, 0xce, 0x01, + 0x72, 0x09, 0x7c, 0x48, 0x2e, 0xb9, 0xe6, 0x3f, 0xc9, 0x2d, 0x87, 0x9c, 0x82, 0x20, 0xe8, 0xc7, + 0xcc, 0xce, 0x2e, 0x97, 0x6f, 0x3b, 0x71, 0x6e, 0x53, 0xd5, 0xd5, 0x35, 0x3d, 0xbf, 0xae, 0xfe, + 0x55, 0x55, 0xef, 0x42, 0x87, 0x46, 0x82, 0xb0, 0x08, 0x87, 0x77, 0x12, 0x16, 0x8b, 0x18, 0xbd, + 0x38, 0xa6, 0xe1, 0x61, 0xca, 0xb5, 0x74, 0xb8, 0x7e, 0x27, 0x1b, 0x5e, 0x69, 0xfb, 0xf1, 0x78, + 0x1c, 0x47, 0x7a, 0x60, 0xa5, 0xcd, 0xfd, 0x3d, 0x32, 0xc6, 0x5a, 0x72, 0x6e, 0xc1, 0xcd, 0x4d, + 0x22, 0x76, 0xe8, 0x98, 0xec, 0x50, 0x7f, 0x7f, 0x63, 0x0f, 0x47, 0x11, 0x09, 0x5d, 0x72, 0x90, + 0x12, 0x2e, 0x9c, 0xdb, 0x70, 0x6b, 0x93, 0x88, 0x81, 0xc0, 0x82, 0x72, 0x41, 0x7d, 0x3e, 0x33, + 0x7c, 0x1d, 0xae, 0x6d, 0x12, 0xd1, 0x0b, 0x66, 0xd4, 0xdf, 0x83, 0xc6, 0x93, 0x38, 0x20, 0xfd, + 0x68, 0x37, 0x46, 0xf7, 0xa0, 0x8e, 0x83, 0x80, 0x11, 0xce, 0xbb, 0xd6, 0xaa, 0xb5, 0xd6, 0x5a, + 0x7f, 0xf9, 0xce, 0xcc, 0x2a, 0xcd, 0xda, 0xee, 0x6b, 0x2b, 0x37, 0x33, 0x47, 0x08, 0x2a, 0x2c, + 0x0e, 0x49, 0xb7, 0xb4, 0x6a, 0xad, 0x35, 0x5d, 0xf5, 0xec, 0x84, 0x00, 0xfd, 0x88, 0x8a, 0x6d, + 0xcc, 0xf0, 0x98, 0xa3, 0x1b, 0x50, 0x8b, 0xe4, 0x7b, 0x7a, 0xca, 0x75, 0xd9, 0x35, 0x12, 0x7a, + 0x04, 0x6d, 0x2e, 0x30, 0x13, 0x5e, 0xa2, 0xec, 0xba, 0xa5, 0xd5, 0xf2, 0x5a, 0x6b, 0xfd, 0xb5, + 0x13, 0x5e, 0xfc, 0x09, 0x39, 0xfa, 0x14, 0x87, 0x29, 0xd9, 0xc6, 0x94, 0xb9, 0x2d, 0x35, 0x51, + 0xfb, 0x77, 0x7e, 0x00, 0x30, 0x10, 0x8c, 0x46, 0xa3, 0x2d, 0xca, 0x85, 0x7c, 0xdb, 0xa1, 0xb4, + 0x93, 0x1f, 0x52, 0x5e, 0x6b, 0xba, 0x46, 0x42, 0xef, 0x43, 0x8d, 0x0b, 0x2c, 0x52, 0xae, 0x56, + 0xda, 0x5a, 0xbf, 0x7d, 0xc2, 0x7b, 0x06, 0xca, 0xc8, 0x35, 0xc6, 0xce, 0xef, 0x4a, 0xb0, 0x3c, + 0x85, 0xad, 0x41, 0x0f, 0xad, 0x43, 0x65, 0x88, 0x39, 0x39, 0x03, 0xae, 0xc7, 0x7c, 0xf4, 0x00, + 0x73, 0xe2, 0x2a, 0x5b, 0x89, 0x55, 0x30, 0xec, 0xf7, 0xd4, 0x0a, 0xca, 0xae, 0x7a, 0x46, 0x0e, + 0xb4, 0xfd, 0x38, 0x0c, 0x89, 0x2f, 0x68, 0x1c, 0xf5, 0x7b, 0xdd, 0xb2, 0x1a, 0x9b, 0xd2, 0x49, + 0x9b, 0x04, 0x33, 0x41, 0xb5, 0xc8, 0xbb, 0x95, 0xd5, 0xb2, 0xb4, 0x29, 0xea, 0xd0, 0x9b, 0x60, + 0x0b, 0x86, 0x0f, 0x49, 0xe8, 0x09, 0x3a, 0x26, 0x5c, 0xe0, 0x71, 0xd2, 0xad, 0xae, 0x5a, 0x6b, + 0x15, 0x77, 0x51, 0xeb, 0x77, 0x32, 0x35, 0xba, 0x0b, 0xd7, 0x46, 0x29, 0x66, 0x38, 0x12, 0x84, + 0x14, 0xac, 0x6b, 0xca, 0x1a, 0xe5, 0x43, 0x93, 0x09, 0x6f, 0xc3, 0x92, 0x34, 0x8b, 0x53, 0x51, + 0x30, 0xaf, 0x2b, 0x73, 0xdb, 0x0c, 0xe4, 0xc6, 0xce, 0x1f, 0x2d, 0xb8, 0x3e, 0x83, 0x18, 0x4f, + 0xe2, 0x88, 0x93, 0x4b, 0x41, 0x76, 0xb9, 0x6d, 0x43, 0x1f, 0x40, 0x55, 0x3e, 0xf1, 0x6e, 0xf9, + 0xfc, 0x41, 0xa5, 0x67, 0x38, 0xbf, 0xb1, 0x00, 0x6d, 0x30, 0x82, 0x05, 0xb9, 0x1f, 0x52, 0x7c, + 0xa5, 0xfd, 0x7e, 0x11, 0xea, 0xc1, 0xd0, 0x8b, 0xf0, 0x38, 0x3b, 0x1e, 0xb5, 0x60, 0xf8, 0x04, + 0x8f, 0x09, 0x7a, 0x03, 0x16, 0x27, 0x1b, 0xac, 0x0d, 0xca, 0xca, 0xa0, 0x33, 0x51, 0x2b, 0xc3, + 0x65, 0xa8, 0x62, 0xb9, 0x8a, 0x6e, 0x45, 0x0d, 0x6b, 0xc1, 0x49, 0xc1, 0xee, 0xb1, 0x38, 0xf9, + 0xea, 0xd6, 0x97, 0xbf, 0xb6, 0x5c, 0x7c, 0xed, 0xaf, 0x2d, 0x58, 0xba, 0x1f, 0x0a, 0xc2, 0xbe, + 0xb6, 0xc0, 0xfc, 0xb9, 0x94, 0xed, 0x5d, 0x3f, 0x0a, 0xc8, 0xf3, 0xff, 0xec, 0x12, 0x6f, 0x03, + 0xec, 0x52, 0x12, 0x06, 0xda, 0x46, 0xaf, 0xb3, 0xa9, 0x34, 0x6a, 0x38, 0x23, 0x83, 0xea, 0x29, + 0x64, 0x50, 0x9b, 0x43, 0x06, 0x5d, 0xa8, 0x2b, 0x27, 0xfd, 0x9e, 0x3a, 0x82, 0x65, 0x37, 0x13, + 0x25, 0xa1, 0x92, 0xe7, 0x82, 0xe1, 0x8c, 0x50, 0x1b, 0x17, 0x20, 0x54, 0x35, 0xd1, 0x10, 0xea, + 0x9f, 0x4a, 0x60, 0x0f, 0xd2, 0xe1, 0x80, 0x60, 0xe6, 0xef, 0x65, 0x18, 0xda, 0x50, 0x0e, 0x78, + 0xa8, 0x20, 0x6c, 0xba, 0xf2, 0x51, 0xb2, 0x42, 0x12, 0x62, 0x9f, 0xec, 0xc5, 0x61, 0x40, 0x98, + 0x37, 0x62, 0x71, 0x9a, 0x28, 0xac, 0xda, 0xae, 0x5d, 0x18, 0xd8, 0x94, 0x7a, 0xf4, 0x01, 0x34, + 0x02, 0x1e, 0x7a, 0xe2, 0x28, 0xd1, 0x70, 0x75, 0x4e, 0xdc, 0x86, 0x1e, 0x0f, 0x77, 0x8e, 0x12, + 0xe2, 0xd6, 0x03, 0xfd, 0x80, 0xfe, 0x17, 0x96, 0x39, 0x61, 0x14, 0x87, 0xf4, 0x73, 0x12, 0x78, + 0xe4, 0x79, 0xc2, 0xbc, 0x24, 0xc4, 0x91, 0x42, 0xb4, 0xed, 0xa2, 0xc9, 0xd8, 0xc3, 0xe7, 0x09, + 0xdb, 0x0e, 0x71, 0x84, 0x3a, 0x50, 0x8a, 0x0e, 0x0c, 0xb0, 0xa5, 0xe8, 0xe0, 0x18, 0x7f, 0xd6, + 0xe6, 0xf0, 0x27, 0x82, 0x8a, 0x88, 0x93, 0x7d, 0x83, 0xa9, 0x7a, 0x96, 0xb9, 0x24, 0xde, 0xdd, + 0xe5, 0x44, 0x74, 0x1b, 0x3a, 0x73, 0x69, 0x09, 0xbd, 0x0c, 0x30, 0x26, 0x82, 0x51, 0x5f, 0xae, + 0xaf, 0xdb, 0x54, 0x90, 0x14, 0x34, 0xce, 0x5f, 0x6b, 0xb0, 0x30, 0x8d, 0xde, 0x65, 0x22, 0x70, + 0x19, 0xaa, 0x8c, 0x1c, 0xe4, 0xe9, 0x42, 0x0b, 0x79, 0xd8, 0x94, 0x4f, 0x09, 0x9b, 0xca, 0x39, + 0x72, 0x48, 0x75, 0x0e, 0x06, 0x66, 0x8f, 0x6b, 0x67, 0xec, 0x71, 0xfd, 0x1c, 0x7b, 0xdc, 0xf8, + 0x72, 0xf6, 0xb8, 0x79, 0xe2, 0x1e, 0xaf, 0x81, 0x1d, 0xa7, 0x22, 0x49, 0x85, 0xa7, 0xc2, 0x9f, + 0x7b, 0x34, 0xe8, 0x82, 0xfa, 0xa6, 0x8e, 0xd6, 0x3f, 0x52, 0xea, 0x7e, 0x80, 0x5e, 0x87, 0xce, + 0xf8, 0xd0, 0xf7, 0x0b, 0xa9, 0xab, 0xa5, 0x52, 0xd7, 0x82, 0xd4, 0x9e, 0x99, 0x15, 0xdb, 0x17, + 0xcb, 0x8a, 0x0b, 0xf3, 0xb3, 0xa2, 0x09, 0xc9, 0x4e, 0x1e, 0x92, 0x59, 0xb8, 0x2d, 0x16, 0xc2, + 0x6d, 0x3a, 0xac, 0xec, 0xd9, 0xb0, 0x42, 0xff, 0x03, 0x0b, 0x74, 0x14, 0xc5, 0x8c, 0x6c, 0xb2, + 0xf8, 0x19, 0x8d, 0x46, 0xdd, 0xa5, 0x55, 0x6b, 0xad, 0xe1, 0x4e, 0x2b, 0xd1, 0x0a, 0x34, 0x52, + 0x2e, 0x0b, 0xca, 0x31, 0xe9, 0x22, 0xe5, 0x23, 0x97, 0x51, 0x0f, 0x1a, 0x3c, 0x1d, 0x7a, 0x8c, + 0x1c, 0xf0, 0xee, 0x35, 0xc5, 0x0e, 0x6f, 0xde, 0x39, 0xa1, 0x1a, 0xbd, 0x33, 0xcb, 0x00, 0x6e, + 0x9d, 0xa7, 0x43, 0x97, 0x1c, 0x70, 0xf4, 0x0a, 0xb4, 0x28, 0xf7, 0x70, 0x70, 0x88, 0x23, 0x9f, + 0x04, 0xdd, 0x65, 0xb5, 0x0a, 0xa0, 0xfc, 0xbe, 0xd1, 0x14, 0xce, 0xcd, 0xf5, 0xa9, 0x73, 0xb3, + 0x03, 0x4b, 0x7e, 0x1c, 0x71, 0xca, 0x05, 0x89, 0xfc, 0x23, 0x2f, 0x24, 0x87, 0x24, 0xec, 0xde, + 0x50, 0x91, 0xf2, 0xc6, 0x09, 0x91, 0xb2, 0x31, 0xb1, 0xdf, 0x92, 0xe6, 0xae, 0xed, 0xcf, 0x68, + 0x9c, 0xbf, 0x5b, 0x53, 0x74, 0xc5, 0xd3, 0x50, 0xa8, 0x35, 0x6a, 0xe4, 0x74, 0x38, 0x5a, 0xc7, + 0xc0, 0x7c, 0x05, 0x5a, 0x51, 0x3a, 0xf6, 0x0e, 0x52, 0xc2, 0x28, 0xe1, 0xe6, 0x8c, 0x41, 0x94, + 0x8e, 0x9f, 0x6a, 0x0d, 0xba, 0x06, 0x55, 0x11, 0x27, 0xde, 0x7e, 0x76, 0xd2, 0x44, 0x9c, 0x7c, + 0x22, 0x67, 0xf1, 0x90, 0xfa, 0x24, 0xf0, 0x86, 0x61, 0x3c, 0x34, 0x14, 0x04, 0x5a, 0xf5, 0x20, + 0x8c, 0x87, 0x32, 0x2c, 0x8d, 0x81, 0xf4, 0xee, 0xc7, 0x69, 0x24, 0x0c, 0x11, 0x75, 0xb4, 0xfe, + 0x49, 0x3a, 0xde, 0x90, 0x5a, 0xf4, 0x1a, 0x2c, 0x18, 0x4b, 0x83, 0x95, 0x21, 0x7b, 0xad, 0xfc, + 0x8e, 0x46, 0xec, 0x16, 0x34, 0x19, 0x39, 0xf0, 0xa8, 0xcc, 0x66, 0x86, 0x9a, 0x1a, 0x92, 0x07, + 0xa4, 0xec, 0xfc, 0xac, 0x3e, 0xa1, 0x19, 0xfd, 0xd5, 0xff, 0xc6, 0x0a, 0x2b, 0x67, 0xa7, 0x72, + 0x91, 0x9d, 0x66, 0x60, 0xaf, 0x9c, 0x05, 0x7b, 0xf5, 0x64, 0xd8, 0x6b, 0x05, 0xd8, 0xbf, 0x05, + 0x2b, 0x9c, 0xe0, 0x90, 0x04, 0x1e, 0x27, 0xa3, 0x31, 0x89, 0x44, 0xbf, 0xc7, 0x3d, 0xae, 0x3e, + 0x9d, 0x04, 0xdd, 0xba, 0x3a, 0xf6, 0x5d, 0x6d, 0x31, 0xc8, 0x0d, 0x06, 0x66, 0x5c, 0x9e, 0x6c, + 0x5f, 0xb7, 0x3e, 0x53, 0xd3, 0x1a, 0xaa, 0x3f, 0x40, 0x93, 0xa1, 0x7c, 0xc2, 0x3d, 0xe8, 0x8e, + 0xc2, 0x78, 0x88, 0x43, 0xef, 0xd8, 0x5b, 0xbb, 0x4d, 0xf5, 0xb2, 0x1b, 0x7a, 0x7c, 0x30, 0xf3, + 0xca, 0xd9, 0xf8, 0x80, 0x73, 0xc5, 0x47, 0xeb, 0x7c, 0xf1, 0xd1, 0x9e, 0x13, 0x1f, 0xae, 0x2c, + 0x46, 0xb8, 0xb8, 0x3f, 0x1a, 0x31, 0x32, 0xc2, 0x92, 0xc7, 0x15, 0x03, 0xb5, 0xd6, 0xd7, 0x4e, + 0x3c, 0xd7, 0x1b, 0xd3, 0xf6, 0xee, 0xac, 0x03, 0xf4, 0x19, 0x2c, 0x18, 0x4c, 0xb8, 0x27, 0x29, + 0xb2, 0xdb, 0x51, 0x4c, 0x71, 0xef, 0x64, 0xa6, 0x28, 0xc6, 0xe0, 0x1d, 0xd3, 0x65, 0xf2, 0xc7, + 0x87, 0xbe, 0xff, 0x30, 0x12, 0xec, 0xc8, 0x6d, 0xfb, 0x05, 0x15, 0xfa, 0x18, 0x5a, 0x9a, 0x83, + 0x94, 0x79, 0x77, 0xf1, 0xfc, 0x34, 0xa4, 0x26, 0xb8, 0xa0, 0x68, 0x28, 0x3f, 0xe5, 0x45, 0x26, + 0xb2, 0x8f, 0x31, 0xd1, 0x1a, 0xd8, 0x38, 0x0c, 0xcd, 0x9e, 0x1b, 0xb8, 0x97, 0x34, 0xdc, 0x38, + 0x0c, 0xb5, 0x63, 0x05, 0xf7, 0xca, 0x47, 0xb0, 0x74, 0x6c, 0xe5, 0x32, 0x21, 0xee, 0x93, 0xa3, + 0xac, 0xe8, 0xd9, 0x27, 0x47, 0x32, 0xec, 0x55, 0x43, 0xa9, 0x0e, 0x4b, 0xc5, 0xd5, 0xc2, 0x37, + 0x4b, 0xf7, 0x2c, 0xe7, 0xb7, 0x16, 0x2c, 0xce, 0x60, 0x2b, 0x93, 0x2e, 0x33, 0xdd, 0x8f, 0x4c, + 0x05, 0xa6, 0x01, 0x9e, 0xd2, 0xa1, 0x55, 0x68, 0x71, 0xc2, 0x0e, 0xa9, 0xaf, 0x4d, 0x34, 0x11, + 0x15, 0x55, 0xb2, 0xe2, 0x13, 0xb1, 0xc0, 0xe1, 0x93, 0xa7, 0xe6, 0xb0, 0x65, 0x22, 0x5a, 0x87, + 0x65, 0xf5, 0xe8, 0x92, 0x10, 0x0b, 0x12, 0xf4, 0xb0, 0xc0, 0x03, 0xfa, 0x39, 0x31, 0x05, 0xc0, + 0xdc, 0x31, 0xe7, 0xc7, 0x55, 0x58, 0x74, 0xe5, 0x81, 0x24, 0x87, 0xe4, 0xbf, 0xab, 0x3c, 0x39, + 0xa9, 0x48, 0xa8, 0x5d, 0xa8, 0x48, 0xa8, 0x9f, 0xb3, 0x48, 0x68, 0x5c, 0xa0, 0x48, 0x68, 0x5e, + 0xac, 0x48, 0x80, 0x13, 0x8a, 0x84, 0x65, 0xa8, 0x86, 0x74, 0x4c, 0x33, 0x46, 0xd0, 0xc2, 0xf1, + 0xb4, 0xdf, 0x9e, 0x97, 0xf6, 0x6f, 0x42, 0x83, 0x72, 0x13, 0xe1, 0x0b, 0xca, 0xa0, 0x4e, 0xb9, + 0x66, 0x92, 0x87, 0xf0, 0x0a, 0x15, 0x84, 0xa9, 0x90, 0xf4, 0xc8, 0x73, 0x41, 0x22, 0x2e, 0x9f, + 0x18, 0x09, 0x52, 0x9f, 0x78, 0x0c, 0x0b, 0x62, 0x0a, 0x93, 0x97, 0x72, 0xb3, 0x87, 0x99, 0x95, + 0xab, 0x8c, 0x5c, 0x2c, 0xc8, 0x54, 0x61, 0xb1, 0x38, 0x53, 0x58, 0xdc, 0x85, 0x65, 0xe3, 0x8e, + 0x4b, 0xf6, 0xde, 0x8d, 0x99, 0x37, 0x24, 0x5c, 0x98, 0x13, 0xb9, 0xa4, 0xc7, 0x06, 0x22, 0x4e, + 0x1e, 0xc5, 0xec, 0x01, 0xe1, 0xc2, 0xf9, 0x7d, 0xa5, 0x18, 0x85, 0x5f, 0x93, 0xec, 0xf5, 0x0e, + 0x94, 0x69, 0xa0, 0x5b, 0xca, 0xd6, 0xfa, 0xca, 0xac, 0x27, 0x73, 0x1f, 0xd7, 0xef, 0x71, 0x57, + 0x9a, 0xa1, 0xfb, 0xd0, 0x32, 0x51, 0x15, 0x60, 0x81, 0x55, 0xc4, 0xb6, 0xd6, 0x57, 0x4f, 0x98, + 0xa5, 0x02, 0x4d, 0x9e, 0x41, 0x57, 0x37, 0x85, 0x5c, 0x3e, 0xa3, 0x6f, 0xc3, 0xad, 0xe3, 0x79, + 0x8d, 0x19, 0x58, 0x02, 0xd3, 0xa7, 0xdc, 0x9c, 0x4d, 0x6c, 0x19, 0x6e, 0x01, 0x7a, 0x0f, 0x96, + 0x0b, 0x99, 0x6d, 0x32, 0xb1, 0xae, 0x52, 0x5b, 0x21, 0xeb, 0x4d, 0xa6, 0x9c, 0x96, 0xdb, 0x1a, + 0xa7, 0xe6, 0xb6, 0xaf, 0x22, 0xd7, 0xbc, 0x03, 0x48, 0xf2, 0x73, 0xb6, 0x72, 0x13, 0xbf, 0x3a, + 0x1a, 0x25, 0x73, 0x67, 0xeb, 0x56, 0x81, 0xec, 0xfc, 0xd3, 0x82, 0xe6, 0x56, 0x8c, 0x03, 0x55, + 0xfe, 0x5c, 0x2a, 0x5c, 0x5e, 0x82, 0x66, 0xfe, 0xbd, 0x86, 0xb8, 0x26, 0x0a, 0x39, 0x9a, 0xf7, + 0xe7, 0xa6, 0xa9, 0x2f, 0x34, 0xec, 0x85, 0xc6, 0xbb, 0x32, 0xdd, 0x78, 0xcb, 0x34, 0x24, 0x97, + 0xe4, 0x25, 0x58, 0xec, 0x69, 0xee, 0x6a, 0xba, 0xa0, 0x54, 0xdb, 0x52, 0x23, 0x3b, 0xf3, 0xcc, + 0x40, 0x75, 0xe6, 0xb5, 0x0b, 0x74, 0xe6, 0xc6, 0x8d, 0xea, 0xcc, 0x7f, 0x62, 0x01, 0xa8, 0x8f, + 0x97, 0xe1, 0x7c, 0xdc, 0xad, 0x75, 0x39, 0xb7, 0x92, 0x58, 0x65, 0x35, 0xc2, 0x74, 0xa6, 0xc8, + 0x22, 0x22, 0x2b, 0x8a, 0x51, 0x94, 0x8e, 0x4d, 0x12, 0x31, 0xd1, 0xc0, 0x9d, 0x5f, 0x58, 0x00, + 0x2a, 0xa4, 0xf5, 0x42, 0x66, 0x19, 0xde, 0x3a, 0xfd, 0xde, 0xa2, 0x34, 0x0d, 0x5f, 0x2f, 0x83, + 0xef, 0xd4, 0x2b, 0xbb, 0x3c, 0xa8, 0x26, 0x00, 0x18, 0x8c, 0xd5, 0xb3, 0xf3, 0x4b, 0x0b, 0xda, + 0x66, 0x7d, 0x7a, 0x51, 0x53, 0x7b, 0x6d, 0xcd, 0xee, 0xb5, 0xaa, 0x54, 0xc7, 0x31, 0x3b, 0xf2, + 0xb8, 0xcc, 0x98, 0xa6, 0xfe, 0xd7, 0x2a, 0x99, 0x27, 0x25, 0xa1, 0x2a, 0x50, 0xe2, 0x67, 0x3c, + 0x4b, 0xbb, 0x12, 0x88, 0xf8, 0x19, 0x97, 0xa4, 0xce, 0x88, 0x4f, 0x22, 0x11, 0x1e, 0x79, 0xe3, + 0x38, 0xa0, 0xbb, 0x94, 0x04, 0x2a, 0x26, 0x1a, 0xae, 0x9d, 0x0d, 0x3c, 0x36, 0x7a, 0xe7, 0x0b, + 0x0b, 0x90, 0xa9, 0x2c, 0xb2, 0xeb, 0xfb, 0xc7, 0x7c, 0x74, 0xa9, 0xe8, 0x95, 0x30, 0x6b, 0x4f, + 0x32, 0x20, 0xf5, 0x8d, 0x79, 0xd3, 0x9d, 0xd2, 0xc9, 0x26, 0x32, 0x4f, 0x34, 0x1a, 0xcb, 0x8a, + 0x5b, 0xd0, 0xc8, 0xb5, 0x07, 0x64, 0x17, 0xa7, 0x61, 0x31, 0x21, 0x55, 0x74, 0x42, 0x32, 0x03, + 0x93, 0xbb, 0xdc, 0x3f, 0x58, 0xd0, 0xd9, 0x60, 0x24, 0x20, 0x91, 0xa0, 0x38, 0x54, 0xbf, 0x14, + 0x14, 0xb3, 0x80, 0x35, 0x93, 0x05, 0xde, 0x05, 0x44, 0x22, 0x9f, 0x1d, 0x25, 0x32, 0x8a, 0x12, + 0xcc, 0xf9, 0xb3, 0x98, 0x05, 0xe6, 0xfa, 0x6c, 0x29, 0x1f, 0xd9, 0x36, 0x03, 0xb2, 0x4d, 0x14, + 0x24, 0xc2, 0x91, 0x30, 0x67, 0xcd, 0x48, 0x26, 0x95, 0xf1, 0x34, 0x21, 0xcc, 0xa0, 0x5a, 0xa7, + 0x7c, 0x20, 0x45, 0xf4, 0x06, 0x2c, 0xf2, 0x3d, 0xbc, 0xfe, 0xfe, 0xff, 0x4f, 0xdc, 0x57, 0xf5, + 0xe5, 0x9b, 0x56, 0x67, 0xbe, 0x9d, 0x4d, 0x58, 0xda, 0xa2, 0x5c, 0x6c, 0xc7, 0x21, 0xf5, 0x8f, + 0xae, 0x50, 0xe6, 0x38, 0x3f, 0xb7, 0x00, 0x15, 0x3d, 0x99, 0xbb, 0xec, 0x49, 0xde, 0xb1, 0x2e, + 0x92, 0x77, 0x5e, 0x85, 0x76, 0xa2, 0x1c, 0x79, 0x34, 0xda, 0x8d, 0xb3, 0x1d, 0x6c, 0x69, 0x9d, + 0xc4, 0x97, 0xa3, 0xdb, 0x00, 0x12, 0x50, 0x8f, 0xc5, 0x21, 0xd1, 0x1b, 0xd8, 0x74, 0x9b, 0x52, + 0xe3, 0x4a, 0x85, 0x43, 0xe1, 0xe6, 0x60, 0x2f, 0x7e, 0xb6, 0x11, 0x47, 0xbb, 0x74, 0x94, 0xea, + 0x6c, 0x7d, 0xa5, 0xbb, 0xd8, 0x2e, 0xd4, 0x13, 0x2c, 0xe4, 0xd9, 0x32, 0x3b, 0x95, 0x89, 0xce, + 0xaf, 0x2c, 0x58, 0x99, 0xf7, 0xae, 0xab, 0x41, 0xd0, 0x87, 0x05, 0x5f, 0x3b, 0xd4, 0xfe, 0x2e, + 0xf2, 0xbb, 0xcf, 0xf4, 0x4c, 0x67, 0x13, 0x2a, 0xaa, 0x32, 0x79, 0x0f, 0x4a, 0x4c, 0xa8, 0x55, + 0x74, 0xd6, 0x5f, 0x3d, 0x91, 0x37, 0xa4, 0xa9, 0xba, 0x75, 0x2a, 0x31, 0x81, 0xda, 0x60, 0x31, + 0xf5, 0xbd, 0x96, 0x6b, 0x31, 0x67, 0x1d, 0xa0, 0x3f, 0x4e, 0x62, 0x26, 0x1e, 0xd1, 0x90, 0xa0, + 0x0e, 0x94, 0x68, 0x60, 0x18, 0xa3, 0x44, 0x03, 0x59, 0x2c, 0x68, 0x62, 0xd7, 0xbb, 0xa5, 0x05, + 0xe7, 0x1f, 0x25, 0xb8, 0xae, 0x27, 0x19, 0xf4, 0xfb, 0xe6, 0x45, 0x79, 0x0d, 0x6c, 0x9d, 0x52, + 0x03, 0x97, 0xe6, 0x30, 0xe4, 0xb9, 0x6f, 0x96, 0xcf, 0xf3, 0x7b, 0xd0, 0x6b, 0x79, 0x17, 0xa7, + 0x3c, 0x65, 0x59, 0x69, 0x9a, 0x2c, 0x3e, 0x82, 0x9a, 0xae, 0x4f, 0x54, 0x0d, 0xdd, 0x3a, 0x7e, + 0x0b, 0x63, 0xaa, 0x97, 0x8d, 0xfc, 0xfd, 0x03, 0xa5, 0x70, 0xcd, 0x34, 0xf4, 0x01, 0x54, 0x77, + 0xa9, 0x8c, 0xd3, 0xfa, 0x59, 0xa4, 0x9d, 0xc3, 0xeb, 0xea, 0x19, 0xe8, 0x43, 0xa8, 0xc7, 0x89, + 0x8e, 0x80, 0x0b, 0x5c, 0x54, 0x67, 0x73, 0x9c, 0xbf, 0x59, 0xb0, 0x30, 0x05, 0x7f, 0xf1, 0xc6, + 0xde, 0x3a, 0xeb, 0xc6, 0xbe, 0x34, 0x17, 0xd7, 0xd7, 0xa1, 0x93, 0x63, 0x58, 0xc4, 0x7f, 0x21, + 0xd7, 0x2a, 0xb3, 0xfc, 0xa3, 0x2b, 0x57, 0xf9, 0xe8, 0xea, 0x25, 0x3e, 0xfa, 0x33, 0xe8, 0x64, + 0xdf, 0x7c, 0xb5, 0x43, 0xb8, 0x0c, 0xd5, 0x1f, 0xc6, 0xd9, 0x4f, 0x91, 0x4d, 0x57, 0x0b, 0x4e, + 0x1f, 0xba, 0x9b, 0x44, 0xe8, 0x37, 0x6c, 0xb3, 0x78, 0xa4, 0x7e, 0xe9, 0x3d, 0x0b, 0xdd, 0xf9, + 0xae, 0x7e, 0x54, 0x02, 0xa4, 0x1d, 0xed, 0x60, 0xbe, 0x9f, 0x39, 0x43, 0xb7, 0x64, 0x85, 0x15, + 0x92, 0xa2, 0x9f, 0x86, 0x54, 0x28, 0x4f, 0xd9, 0x60, 0x21, 0x21, 0xab, 0x41, 0x95, 0x8e, 0x6f, + 0x40, 0x8d, 0x11, 0xcc, 0xe3, 0x28, 0x4b, 0x16, 0x5a, 0x92, 0xf9, 0x28, 0x31, 0xde, 0x4d, 0x59, + 0x96, 0xcb, 0xea, 0x0c, 0xc4, 0xe3, 0x24, 0x24, 0x42, 0x37, 0x6b, 0x26, 0x57, 0xb4, 0x33, 0xa5, + 0xea, 0xae, 0x97, 0xf5, 0x4f, 0x85, 0xc4, 0x5c, 0x7b, 0x6b, 0x41, 0x4e, 0xa5, 0x6a, 0xf9, 0x24, + 0xd0, 0x25, 0x80, 0xbe, 0x7c, 0x6b, 0x67, 0x4a, 0x55, 0x07, 0xdc, 0x06, 0x50, 0x2d, 0xb6, 0xb6, + 0xd0, 0xbf, 0x11, 0x34, 0x75, 0xd3, 0x1d, 0x3f, 0xe3, 0xce, 0x5f, 0xca, 0xea, 0x47, 0xfb, 0x59, + 0x3c, 0xaf, 0xb6, 0x73, 0x1f, 0x66, 0xcb, 0x2d, 0xcd, 0xbf, 0x37, 0x9d, 0x09, 0xbe, 0x8f, 0xe3, + 0xa1, 0x74, 0x40, 0xb2, 0xef, 0xba, 0x0c, 0x8c, 0x73, 0xce, 0x4f, 0x75, 0xee, 0xf9, 0x39, 0x86, + 0x77, 0x6d, 0x0e, 0xde, 0x3b, 0xb0, 0x28, 0x30, 0xdf, 0xf7, 0x32, 0xf7, 0x39, 0x79, 0xbc, 0x7d, + 0xc6, 0xa7, 0x14, 0x03, 0xc9, 0xed, 0x88, 0x82, 0x44, 0xf8, 0xf1, 0xfd, 0x6a, 0x9c, 0xb9, 0x5f, + 0xcd, 0x99, 0xfd, 0x92, 0xc3, 0xfa, 0x0f, 0x09, 0x6a, 0xed, 0xa0, 0xeb, 0x7f, 0xa5, 0x91, 0x0b, + 0x77, 0x76, 0x60, 0x45, 0x16, 0x02, 0x7a, 0x31, 0xfc, 0x4b, 0x22, 0x7d, 0xe7, 0x53, 0x5d, 0x5e, + 0x4c, 0x7b, 0xbd, 0x3a, 0x97, 0x39, 0x3f, 0x2d, 0xc1, 0xb5, 0x29, 0xc7, 0x57, 0x0b, 0xbb, 0x1b, + 0x50, 0x53, 0x07, 0x3b, 0x4b, 0x82, 0x46, 0x52, 0x19, 0x44, 0x06, 0x96, 0xae, 0x54, 0x2e, 0x10, + 0x8f, 0x66, 0x9a, 0x2c, 0x3f, 0x74, 0x08, 0x6a, 0x3a, 0x6d, 0xba, 0x99, 0x28, 0x2b, 0xd9, 0x42, + 0x8c, 0xe8, 0x0b, 0xa1, 0x82, 0x06, 0xbd, 0x09, 0xf6, 0x0c, 0x14, 0xba, 0xb1, 0x6a, 0xba, 0x8b, + 0xd3, 0x58, 0xf0, 0xb7, 0x1e, 0x42, 0x53, 0x66, 0xff, 0x81, 0x1f, 0x27, 0x04, 0xb5, 0xa0, 0xbe, + 0x11, 0xa6, 0x5c, 0x10, 0x66, 0xbf, 0x80, 0xda, 0xd0, 0x90, 0x9d, 0xb8, 0xac, 0x84, 0x6c, 0x0b, + 0x75, 0x00, 0x26, 0xa9, 0xce, 0x2e, 0xa1, 0x05, 0x68, 0x6e, 0x67, 0xd4, 0x6f, 0x97, 0xdf, 0xfa, + 0xc2, 0x82, 0x46, 0x56, 0x45, 0xa0, 0x25, 0x58, 0xe8, 0xf5, 0xb6, 0x0a, 0xe6, 0x2f, 0x20, 0x1b, + 0xda, 0xbd, 0xde, 0xd6, 0x64, 0x86, 0xa5, 0xdc, 0xf7, 0xb6, 0x54, 0xc7, 0x62, 0x97, 0x8c, 0xf4, + 0x28, 0x4c, 0xf9, 0x9e, 0x5d, 0xce, 0x1d, 0x8c, 0x13, 0xac, 0x1d, 0x54, 0xe4, 0xfb, 0x7a, 0x8f, + 0xb7, 0xfa, 0x11, 0x27, 0x4c, 0xd8, 0x55, 0x23, 0xf6, 0x88, 0x3c, 0x3b, 0x76, 0x0d, 0x2d, 0x42, + 0xab, 0xf7, 0x78, 0xeb, 0x41, 0x1a, 0xee, 0xcb, 0x26, 0xd8, 0xae, 0xab, 0xf1, 0xa7, 0x5b, 0xfa, + 0x16, 0xd3, 0x6e, 0x28, 0xf7, 0x4f, 0xb7, 0x9e, 0xa6, 0x84, 0x1d, 0xd9, 0x4d, 0x33, 0xf9, 0xbb, + 0x89, 0xf2, 0x05, 0x6f, 0xf9, 0x59, 0xea, 0xc8, 0x76, 0x00, 0x35, 0xa0, 0xf2, 0x24, 0x8e, 0x88, + 0xfd, 0x82, 0x44, 0x64, 0x9b, 0x44, 0x01, 0x8d, 0x46, 0xb6, 0x25, 0x3f, 0x62, 0x9b, 0x11, 0x6d, + 0x2b, 0x35, 0x0a, 0x85, 0x89, 0x58, 0x46, 0x00, 0xb5, 0x47, 0x98, 0x86, 0x24, 0xd0, 0x0b, 0xde, + 0x30, 0x87, 0x3b, 0xb0, 0xab, 0x0f, 0xbe, 0xf1, 0xfd, 0xf7, 0x47, 0x54, 0xec, 0xa5, 0x43, 0x19, + 0x45, 0x77, 0x75, 0x24, 0xbc, 0x4b, 0x63, 0xf3, 0x74, 0x37, 0x8b, 0x85, 0xbb, 0x2a, 0x38, 0x72, + 0x31, 0x19, 0x0e, 0x6b, 0x4a, 0xf3, 0x7f, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x08, 0xcc, + 0x3b, 0x2c, 0x25, 0x00, 0x00, } diff --git a/proto/v2.2/milvus.proto b/proto/v2.2/milvus.proto index 6864cd1..06a4205 100644 --- a/proto/v2.2/milvus.proto +++ b/proto/v2.2/milvus.proto @@ -11,6 +11,7 @@ option java_generate_equals_and_hash = true; option csharp_namespace = "Milvus.Client.Grpc"; import "common.proto"; +import "rg.proto"; import "schema.proto"; import "feder.proto"; import "msg.proto"; @@ -45,6 +46,7 @@ service MilvusService { rpc ListAliases(ListAliasesRequest) returns (ListAliasesResponse) {} rpc CreateIndex(CreateIndexRequest) returns (common.Status) {} + rpc AlterIndex(AlterIndexRequest) returns (common.Status) {} rpc DescribeIndex(DescribeIndexRequest) returns (DescribeIndexResponse) {} rpc GetIndexStatistics(GetIndexStatisticsRequest) returns (GetIndexStatisticsResponse) {} // Deprecated: use DescribeIndex instead @@ -61,6 +63,7 @@ service MilvusService { rpc Delete(DeleteRequest) returns (MutationResult) {} rpc Upsert(UpsertRequest) returns (MutationResult) {} rpc Search(SearchRequest) returns (SearchResults) {} + rpc HybridSearch(HybridSearchRequest) returns (SearchResults) {} rpc Flush(FlushRequest) returns (FlushResponse) {} rpc Query(QueryRequest) returns (QueryResults) {} rpc CalcDistance(CalcDistanceRequest) returns (CalcDistanceResults) {} @@ -111,6 +114,7 @@ service MilvusService { rpc CreateResourceGroup(CreateResourceGroupRequest) returns (common.Status) {} rpc DropResourceGroup(DropResourceGroupRequest) returns (common.Status) {} + rpc UpdateResourceGroups(UpdateResourceGroupsRequest) returns (common.Status) {} rpc TransferNode(TransferNodeRequest) returns (common.Status) {} rpc TransferReplica(TransferReplicaRequest) returns (common.Status) {} rpc ListResourceGroups(ListResourceGroupsRequest) returns (ListResourceGroupsResponse) {} @@ -133,6 +137,12 @@ service MilvusService { } message CreateAliasRequest { + option (common.privilege_ext_obj) = { + object_type: Global + object_privilege: PrivilegeCreateAlias + object_name_index: -1 + }; + common.MsgBase base = 1; string db_name = 2; string collection_name = 3; @@ -140,6 +150,12 @@ message CreateAliasRequest { } message DropAliasRequest { + option (common.privilege_ext_obj) = { + object_type: Global + object_privilege: PrivilegeDropAlias + object_name_index: -1 + }; + common.MsgBase base = 1; string db_name = 2; string alias = 3; @@ -153,6 +169,12 @@ message AlterAliasRequest{ } message DescribeAliasRequest{ + option (common.privilege_ext_obj) = { + object_type: Global + object_privilege: PrivilegeDescribeAlias + object_name_index: -1 + }; + common.MsgBase base = 1; string db_name = 2; string alias = 3; @@ -170,6 +192,12 @@ message DescribeAliasResponse { } message ListAliasesRequest{ + option (common.privilege_ext_obj) = { + object_type: Global + object_privilege: PrivilegeListAliases + object_name_index: -1 + }; + common.MsgBase base = 1; string db_name = 2; string collection_name = 3; @@ -476,6 +504,11 @@ message ShowCollectionsResponse { * Create partition in created collection. */ message CreatePartitionRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeCreatePartition + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -489,6 +522,11 @@ message CreatePartitionRequest { * Drop partition in created collection. */ message DropPartitionRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeDropPartition + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -502,6 +540,11 @@ message DropPartitionRequest { * Check if partition exist in collection or not. */ message HasPartitionRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeHasPartition + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -516,6 +559,11 @@ message HasPartitionRequest { * Then you can get these data as result when you do vector search on this collection. */ message LoadPartitionsRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeLoad + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -536,6 +584,11 @@ message LoadPartitionsRequest { * Then you can not get these data as result when you do vector search on this collection. */ message ReleasePartitionsRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeRelease + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -567,6 +620,11 @@ message GetPartitionStatisticsResponse { * List all partitions for particular collection */ message ShowPartitionsRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeShowPartitions + object_name_index: 3 + }; // Not useful for now common.MsgBase base = 1; string db_name = 2; @@ -648,6 +706,23 @@ message CreateIndexRequest { string index_name = 6; } +/* +* Alter index +*/ +message AlterIndexRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeCreateIndex + object_name_index: 3 + }; + + common.MsgBase base = 1; + string db_name = 2; + string collection_name = 3; + string index_name = 4; + repeated common.KeyValuePair extra_params = 5; +} + /* * Get created index information. * Current release of Milvus only supports showing latest built index. @@ -814,6 +889,7 @@ message DeleteRequest { string partition_name = 4; string expr = 5; repeated uint32 hash_keys = 6; + common.ConsistencyLevel consistency_level = 7; } @@ -854,6 +930,26 @@ message SearchResults { string collection_name = 3; } +message HybridSearchRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeSearch + object_name_index: 3 + }; + common.MsgBase base = 1; // must + string db_name = 2; + string collection_name = 3; // must + repeated string partition_names = 4; // must + repeated SearchRequest requests = 5; + repeated common.KeyValuePair rank_params = 6; // must + uint64 travel_timestamp = 7; + uint64 guarantee_timestamp = 8; // guarantee_timestamp + bool not_return_all_meta = 9; + repeated string output_fields = 10; + common.ConsistencyLevel consistency_level = 11; + bool use_default_consistency = 12; +} + message FlushRequest { option (common.privilege_ext_obj) = { object_type: Collection @@ -1058,6 +1154,7 @@ message ManualCompactionRequest { }; int64 collectionID = 1; uint64 timetravel = 2; + bool majorCompaction = 3; } message ManualCompactionResponse { @@ -1095,6 +1192,11 @@ message CompactionMergeInfo { } message GetFlushStateRequest { + option (common.privilege_ext_obj) = { + object_type: Collection + object_privilege: PrivilegeGetFlushState + object_name_index: 4 + }; repeated int64 segmentIDs = 1; uint64 flush_ts = 2; string db_name = 3; @@ -1129,7 +1231,8 @@ message ImportRequest { bool row_based = 4; // the file is row-based or column-based repeated string files = 5; // file paths to be imported repeated common.KeyValuePair options = 6; // import options, bucket, etc. - string db_name = 7; + string db_name = 7; // target database + bytes clustering_info = 8; // serialized `schema.ClusteringInfo` } message ImportResponse { @@ -1523,6 +1626,17 @@ message CreateResourceGroupRequest { }; common.MsgBase base = 1; string resource_group = 2; + rg.ResourceGroupConfig config = 3; +} + +message UpdateResourceGroupsRequest { + option (common.privilege_ext_obj) = { + object_type: Global + object_privilege: PrivilegeUpdateResourceGroups + object_name_index: -1 + }; + common.MsgBase base = 1; + map resource_groups = 2; } message DropResourceGroupRequest { @@ -1600,8 +1714,12 @@ message ResourceGroup { map num_loaded_replica = 4; // collection name -> accessed other rg's node num map num_outgoing_node = 5; - // collection name -> be accessed node num by other rg + // collection name -> be accessed node num by other rg map num_incoming_node = 6; + // resource group configuration. + rg.ResourceGroupConfig config = 7; + // query node belong to this resource group now. + repeated common.NodeInfo nodes = 8; } message RenameCollectionRequest { diff --git a/proto/v2.2/milvuspb/milvus.pb.go b/proto/v2.2/milvuspb/milvus.pb.go index c576545..5fe5832 100644 --- a/proto/v2.2/milvuspb/milvus.pb.go +++ b/proto/v2.2/milvuspb/milvus.pb.go @@ -10,6 +10,7 @@ import ( commonpb "github.com/milvus-io/birdwatcher/proto/v2.2/commonpb" federpb "github.com/milvus-io/birdwatcher/proto/v2.2/federpb" msgpb "github.com/milvus-io/birdwatcher/proto/v2.2/msgpb" + rgpb "github.com/milvus-io/birdwatcher/proto/v2.2/rgpb" schemapb "github.com/milvus-io/birdwatcher/proto/v2.2/schemapb" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -376,6 +377,7 @@ func (m *DescribeAliasRequest) GetAlias() string { return "" } +// // Describe alias response type DescribeAliasResponse struct { // Response status @@ -496,6 +498,7 @@ func (m *ListAliasesRequest) GetCollectionName() string { return "" } +// // List aliases response type ListAliasesResponse struct { // Response status @@ -561,7 +564,7 @@ func (m *ListAliasesResponse) GetAliases() []string { return nil } -// * +//* // Create collection in milvus type CreateCollectionRequest struct { // Not useful for now @@ -664,7 +667,7 @@ func (m *CreateCollectionRequest) GetNumPartitions() int64 { return 0 } -// * +//* // Drop collection in milvus, also will drop data in collection. type DropCollectionRequest struct { // Not useful for now @@ -723,7 +726,7 @@ func (m *DropCollectionRequest) GetCollectionName() string { return "" } -// * +//* // Alter collection in milvus type AlterCollectionRequest struct { // Not useful for now @@ -798,7 +801,7 @@ func (m *AlterCollectionRequest) GetProperties() []*commonpb.KeyValuePair { return nil } -// * +//* // Check collection exist in milvus or not. type HasCollectionRequest struct { // Not useful for now @@ -960,7 +963,7 @@ func (m *StringResponse) GetValue() string { return "" } -// * +//* // Get collection meta datas like: schema, collectionID, shards number ... type DescribeCollectionRequest struct { // Not useful for now @@ -1037,7 +1040,7 @@ func (m *DescribeCollectionRequest) GetTimeStamp() uint64 { return 0 } -// * +//* // DescribeCollection Response type DescribeCollectionResponse struct { // Contain error_code and reason @@ -1202,7 +1205,7 @@ func (m *DescribeCollectionResponse) GetNumPartitions() int64 { return 0 } -// * +//* // Load collection data into query nodes, then you can do vector search on this collection. type LoadCollectionRequest struct { // Not useful for now @@ -1288,7 +1291,7 @@ func (m *LoadCollectionRequest) GetRefresh() bool { return false } -// * +//* // Release collection data from query nodes, then you can't do vector search on this collection. type ReleaseCollectionRequest struct { // Not useful for now @@ -1347,7 +1350,7 @@ func (m *ReleaseCollectionRequest) GetCollectionName() string { return "" } -// * +//* // Get statistics like row_count. // WARNING: This API is experimental and not useful for now. type GetStatisticsRequest struct { @@ -1425,7 +1428,7 @@ func (m *GetStatisticsRequest) GetGuaranteeTimestamp() uint64 { return 0 } -// * +//* // Will return statistics in stats field like [{key:"row_count",value:"1"}] // WARNING: This API is experimental and not useful for now. type GetStatisticsResponse struct { @@ -1477,7 +1480,7 @@ func (m *GetStatisticsResponse) GetStats() []*commonpb.KeyValuePair { return nil } -// * +//* // Get collection statistics like row_count. type GetCollectionStatisticsRequest struct { // Not useful for now @@ -1536,7 +1539,7 @@ func (m *GetCollectionStatisticsRequest) GetCollectionName() string { return "" } -// * +//* // Will return collection statistics in stats field like [{key:"row_count",value:"1"}] type GetCollectionStatisticsResponse struct { // Contain error_code and reason @@ -1587,6 +1590,7 @@ func (m *GetCollectionStatisticsResponse) GetStats() []*commonpb.KeyValuePair { return nil } +// // List collections type ShowCollectionsRequest struct { // Not useful for now @@ -1665,6 +1669,7 @@ func (m *ShowCollectionsRequest) GetCollectionNames() []string { return nil } +// // Return basic collection infos. type ShowCollectionsResponse struct { // Contain error_code and reason @@ -1762,6 +1767,7 @@ func (m *ShowCollectionsResponse) GetQueryServiceAvailable() []bool { return nil } +// // Create partition in created collection. type CreatePartitionRequest struct { // Not useful for now @@ -1829,6 +1835,7 @@ func (m *CreatePartitionRequest) GetPartitionName() string { return "" } +// // Drop partition in created collection. type DropPartitionRequest struct { // Not useful for now @@ -1896,6 +1903,7 @@ func (m *DropPartitionRequest) GetPartitionName() string { return "" } +// // Check if partition exist in collection or not. type HasPartitionRequest struct { // Not useful for now @@ -1963,6 +1971,7 @@ func (m *HasPartitionRequest) GetPartitionName() string { return "" } +// // Load specific partitions data of one collection into query nodes // Then you can get these data as result when you do vector search on this collection. type LoadPartitionsRequest struct { @@ -2058,6 +2067,7 @@ func (m *LoadPartitionsRequest) GetRefresh() bool { return false } +// // Release specific partitions data of one collection from query nodes. // Then you can not get these data as result when you do vector search on this collection. type ReleasePartitionsRequest struct { @@ -2126,6 +2136,7 @@ func (m *ReleasePartitionsRequest) GetPartitionNames() []string { return nil } +// // Get partition statistics like row_count. type GetPartitionStatisticsRequest struct { // Not useful for now @@ -2240,6 +2251,7 @@ func (m *GetPartitionStatisticsResponse) GetStats() []*commonpb.KeyValuePair { return nil } +// // List all partitions for particular collection type ShowPartitionsRequest struct { // Not useful for now @@ -2327,6 +2339,7 @@ func (m *ShowPartitionsRequest) GetType() ShowType { return ShowType_All } +// // List all partitions for particular collection response. // The returned datas are all rows, we can format to columns by therir index. type ShowPartitionsResponse struct { @@ -2644,6 +2657,7 @@ func (m *ShowSegmentsResponse) GetSegmentIDs() []int64 { return nil } +// // Create index for vector datas type CreateIndexRequest struct { // Not useful for now @@ -2729,6 +2743,80 @@ func (m *CreateIndexRequest) GetIndexName() string { return "" } +// +// Alter index +type AlterIndexRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + IndexName string `protobuf:"bytes,4,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` + ExtraParams []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=extra_params,json=extraParams,proto3" json:"extra_params,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterIndexRequest) Reset() { *m = AlterIndexRequest{} } +func (m *AlterIndexRequest) String() string { return proto.CompactTextString(m) } +func (*AlterIndexRequest) ProtoMessage() {} +func (*AlterIndexRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_02345ba45cc0e303, []int{37} +} + +func (m *AlterIndexRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterIndexRequest.Unmarshal(m, b) +} +func (m *AlterIndexRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterIndexRequest.Marshal(b, m, deterministic) +} +func (m *AlterIndexRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterIndexRequest.Merge(m, src) +} +func (m *AlterIndexRequest) XXX_Size() int { + return xxx_messageInfo_AlterIndexRequest.Size(m) +} +func (m *AlterIndexRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AlterIndexRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterIndexRequest proto.InternalMessageInfo + +func (m *AlterIndexRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *AlterIndexRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *AlterIndexRequest) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *AlterIndexRequest) GetIndexName() string { + if m != nil { + return m.IndexName + } + return "" +} + +func (m *AlterIndexRequest) GetExtraParams() []*commonpb.KeyValuePair { + if m != nil { + return m.ExtraParams + } + return nil +} + +// // Get created index information. // Current release of Milvus only supports showing latest built index. type DescribeIndexRequest struct { @@ -2751,7 +2839,7 @@ func (m *DescribeIndexRequest) Reset() { *m = DescribeIndexRequest{} } func (m *DescribeIndexRequest) String() string { return proto.CompactTextString(m) } func (*DescribeIndexRequest) ProtoMessage() {} func (*DescribeIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{37} + return fileDescriptor_02345ba45cc0e303, []int{38} } func (m *DescribeIndexRequest) XXX_Unmarshal(b []byte) error { @@ -2814,6 +2902,7 @@ func (m *DescribeIndexRequest) GetTimestamp() uint64 { return 0 } +// // Index informations type IndexDescription struct { // Index name @@ -2840,7 +2929,7 @@ func (m *IndexDescription) Reset() { *m = IndexDescription{} } func (m *IndexDescription) String() string { return proto.CompactTextString(m) } func (*IndexDescription) ProtoMessage() {} func (*IndexDescription) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{38} + return fileDescriptor_02345ba45cc0e303, []int{39} } func (m *IndexDescription) XXX_Unmarshal(b []byte) error { @@ -2924,6 +3013,7 @@ func (m *IndexDescription) GetPendingIndexRows() int64 { return 0 } +// // Describe index response type DescribeIndexResponse struct { // Response status @@ -2939,7 +3029,7 @@ func (m *DescribeIndexResponse) Reset() { *m = DescribeIndexResponse{} } func (m *DescribeIndexResponse) String() string { return proto.CompactTextString(m) } func (*DescribeIndexResponse) ProtoMessage() {} func (*DescribeIndexResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{39} + return fileDescriptor_02345ba45cc0e303, []int{40} } func (m *DescribeIndexResponse) XXX_Unmarshal(b []byte) error { @@ -2974,7 +3064,8 @@ func (m *DescribeIndexResponse) GetIndexDescriptions() []*IndexDescription { return nil } -// Get index building progress +// +// Get index building progress type GetIndexBuildProgressRequest struct { // Not useful for now Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -2994,7 +3085,7 @@ func (m *GetIndexBuildProgressRequest) Reset() { *m = GetIndexBuildProgr func (m *GetIndexBuildProgressRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexBuildProgressRequest) ProtoMessage() {} func (*GetIndexBuildProgressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{40} + return fileDescriptor_02345ba45cc0e303, []int{41} } func (m *GetIndexBuildProgressRequest) XXX_Unmarshal(b []byte) error { @@ -3063,7 +3154,7 @@ func (m *GetIndexBuildProgressResponse) Reset() { *m = GetIndexBuildProg func (m *GetIndexBuildProgressResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexBuildProgressResponse) ProtoMessage() {} func (*GetIndexBuildProgressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{41} + return fileDescriptor_02345ba45cc0e303, []int{42} } func (m *GetIndexBuildProgressResponse) XXX_Unmarshal(b []byte) error { @@ -3120,7 +3211,7 @@ func (m *GetIndexStateRequest) Reset() { *m = GetIndexStateRequest{} } func (m *GetIndexStateRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexStateRequest) ProtoMessage() {} func (*GetIndexStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{42} + return fileDescriptor_02345ba45cc0e303, []int{43} } func (m *GetIndexStateRequest) XXX_Unmarshal(b []byte) error { @@ -3189,7 +3280,7 @@ func (m *GetIndexStateResponse) Reset() { *m = GetIndexStateResponse{} } func (m *GetIndexStateResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexStateResponse) ProtoMessage() {} func (*GetIndexStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{43} + return fileDescriptor_02345ba45cc0e303, []int{44} } func (m *GetIndexStateResponse) XXX_Unmarshal(b []byte) error { @@ -3247,7 +3338,7 @@ func (m *DropIndexRequest) Reset() { *m = DropIndexRequest{} } func (m *DropIndexRequest) String() string { return proto.CompactTextString(m) } func (*DropIndexRequest) ProtoMessage() {} func (*DropIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{44} + return fileDescriptor_02345ba45cc0e303, []int{45} } func (m *DropIndexRequest) XXX_Unmarshal(b []byte) error { @@ -3320,7 +3411,7 @@ func (m *InsertRequest) Reset() { *m = InsertRequest{} } func (m *InsertRequest) String() string { return proto.CompactTextString(m) } func (*InsertRequest) ProtoMessage() {} func (*InsertRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{45} + return fileDescriptor_02345ba45cc0e303, []int{46} } func (m *InsertRequest) XXX_Unmarshal(b []byte) error { @@ -3407,7 +3498,7 @@ func (m *UpsertRequest) Reset() { *m = UpsertRequest{} } func (m *UpsertRequest) String() string { return proto.CompactTextString(m) } func (*UpsertRequest) ProtoMessage() {} func (*UpsertRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{46} + return fileDescriptor_02345ba45cc0e303, []int{47} } func (m *UpsertRequest) XXX_Unmarshal(b []byte) error { @@ -3496,7 +3587,7 @@ func (m *MutationResult) Reset() { *m = MutationResult{} } func (m *MutationResult) String() string { return proto.CompactTextString(m) } func (*MutationResult) ProtoMessage() {} func (*MutationResult) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{47} + return fileDescriptor_02345ba45cc0e303, []int{48} } func (m *MutationResult) XXX_Unmarshal(b []byte) error { @@ -3581,22 +3672,23 @@ func (m *MutationResult) GetTimestamp() uint64 { } type DeleteRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` - CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` - PartitionName string `protobuf:"bytes,4,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` - Expr string `protobuf:"bytes,5,opt,name=expr,proto3" json:"expr,omitempty"` - HashKeys []uint32 `protobuf:"varint,6,rep,packed,name=hash_keys,json=hashKeys,proto3" json:"hash_keys,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + PartitionName string `protobuf:"bytes,4,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` + Expr string `protobuf:"bytes,5,opt,name=expr,proto3" json:"expr,omitempty"` + HashKeys []uint32 `protobuf:"varint,6,rep,packed,name=hash_keys,json=hashKeys,proto3" json:"hash_keys,omitempty"` + ConsistencyLevel commonpb.ConsistencyLevel `protobuf:"varint,7,opt,name=consistency_level,json=consistencyLevel,proto3,enum=milvus.protov2.common.ConsistencyLevel" json:"consistency_level,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{48} + return fileDescriptor_02345ba45cc0e303, []int{49} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { @@ -3659,6 +3751,13 @@ func (m *DeleteRequest) GetHashKeys() []uint32 { return nil } +func (m *DeleteRequest) GetConsistencyLevel() commonpb.ConsistencyLevel { + if m != nil { + return m.ConsistencyLevel + } + return commonpb.ConsistencyLevel_Strong +} + type SearchRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` @@ -3686,7 +3785,7 @@ func (m *SearchRequest) Reset() { *m = SearchRequest{} } func (m *SearchRequest) String() string { return proto.CompactTextString(m) } func (*SearchRequest) ProtoMessage() {} func (*SearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{49} + return fileDescriptor_02345ba45cc0e303, []int{50} } func (m *SearchRequest) XXX_Unmarshal(b []byte) error { @@ -3832,7 +3931,7 @@ func (m *Hits) Reset() { *m = Hits{} } func (m *Hits) String() string { return proto.CompactTextString(m) } func (*Hits) ProtoMessage() {} func (*Hits) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{50} + return fileDescriptor_02345ba45cc0e303, []int{51} } func (m *Hits) XXX_Unmarshal(b []byte) error { @@ -3887,7 +3986,7 @@ func (m *SearchResults) Reset() { *m = SearchResults{} } func (m *SearchResults) String() string { return proto.CompactTextString(m) } func (*SearchResults) ProtoMessage() {} func (*SearchResults) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{51} + return fileDescriptor_02345ba45cc0e303, []int{52} } func (m *SearchResults) XXX_Unmarshal(b []byte) error { @@ -3929,6 +4028,133 @@ func (m *SearchResults) GetCollectionName() string { return "" } +type HybridSearchRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + PartitionNames []string `protobuf:"bytes,4,rep,name=partition_names,json=partitionNames,proto3" json:"partition_names,omitempty"` + Requests []*SearchRequest `protobuf:"bytes,5,rep,name=requests,proto3" json:"requests,omitempty"` + RankParams []*commonpb.KeyValuePair `protobuf:"bytes,6,rep,name=rank_params,json=rankParams,proto3" json:"rank_params,omitempty"` + TravelTimestamp uint64 `protobuf:"varint,7,opt,name=travel_timestamp,json=travelTimestamp,proto3" json:"travel_timestamp,omitempty"` + GuaranteeTimestamp uint64 `protobuf:"varint,8,opt,name=guarantee_timestamp,json=guaranteeTimestamp,proto3" json:"guarantee_timestamp,omitempty"` + NotReturnAllMeta bool `protobuf:"varint,9,opt,name=not_return_all_meta,json=notReturnAllMeta,proto3" json:"not_return_all_meta,omitempty"` + OutputFields []string `protobuf:"bytes,10,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"` + ConsistencyLevel commonpb.ConsistencyLevel `protobuf:"varint,11,opt,name=consistency_level,json=consistencyLevel,proto3,enum=milvus.protov2.common.ConsistencyLevel" json:"consistency_level,omitempty"` + UseDefaultConsistency bool `protobuf:"varint,12,opt,name=use_default_consistency,json=useDefaultConsistency,proto3" json:"use_default_consistency,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridSearchRequest) Reset() { *m = HybridSearchRequest{} } +func (m *HybridSearchRequest) String() string { return proto.CompactTextString(m) } +func (*HybridSearchRequest) ProtoMessage() {} +func (*HybridSearchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_02345ba45cc0e303, []int{53} +} + +func (m *HybridSearchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridSearchRequest.Unmarshal(m, b) +} +func (m *HybridSearchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridSearchRequest.Marshal(b, m, deterministic) +} +func (m *HybridSearchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridSearchRequest.Merge(m, src) +} +func (m *HybridSearchRequest) XXX_Size() int { + return xxx_messageInfo_HybridSearchRequest.Size(m) +} +func (m *HybridSearchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HybridSearchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridSearchRequest proto.InternalMessageInfo + +func (m *HybridSearchRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *HybridSearchRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *HybridSearchRequest) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *HybridSearchRequest) GetPartitionNames() []string { + if m != nil { + return m.PartitionNames + } + return nil +} + +func (m *HybridSearchRequest) GetRequests() []*SearchRequest { + if m != nil { + return m.Requests + } + return nil +} + +func (m *HybridSearchRequest) GetRankParams() []*commonpb.KeyValuePair { + if m != nil { + return m.RankParams + } + return nil +} + +func (m *HybridSearchRequest) GetTravelTimestamp() uint64 { + if m != nil { + return m.TravelTimestamp + } + return 0 +} + +func (m *HybridSearchRequest) GetGuaranteeTimestamp() uint64 { + if m != nil { + return m.GuaranteeTimestamp + } + return 0 +} + +func (m *HybridSearchRequest) GetNotReturnAllMeta() bool { + if m != nil { + return m.NotReturnAllMeta + } + return false +} + +func (m *HybridSearchRequest) GetOutputFields() []string { + if m != nil { + return m.OutputFields + } + return nil +} + +func (m *HybridSearchRequest) GetConsistencyLevel() commonpb.ConsistencyLevel { + if m != nil { + return m.ConsistencyLevel + } + return commonpb.ConsistencyLevel_Strong +} + +func (m *HybridSearchRequest) GetUseDefaultConsistency() bool { + if m != nil { + return m.UseDefaultConsistency + } + return false +} + type FlushRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` @@ -3942,7 +4168,7 @@ func (m *FlushRequest) Reset() { *m = FlushRequest{} } func (m *FlushRequest) String() string { return proto.CompactTextString(m) } func (*FlushRequest) ProtoMessage() {} func (*FlushRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{52} + return fileDescriptor_02345ba45cc0e303, []int{54} } func (m *FlushRequest) XXX_Unmarshal(b []byte) error { @@ -4000,7 +4226,7 @@ func (m *FlushResponse) Reset() { *m = FlushResponse{} } func (m *FlushResponse) String() string { return proto.CompactTextString(m) } func (*FlushResponse) ProtoMessage() {} func (*FlushResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{53} + return fileDescriptor_02345ba45cc0e303, []int{55} } func (m *FlushResponse) XXX_Unmarshal(b []byte) error { @@ -4085,7 +4311,7 @@ func (m *QueryRequest) Reset() { *m = QueryRequest{} } func (m *QueryRequest) String() string { return proto.CompactTextString(m) } func (*QueryRequest) ProtoMessage() {} func (*QueryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{54} + return fileDescriptor_02345ba45cc0e303, []int{56} } func (m *QueryRequest) XXX_Unmarshal(b []byte) error { @@ -4204,7 +4430,7 @@ func (m *QueryResults) Reset() { *m = QueryResults{} } func (m *QueryResults) String() string { return proto.CompactTextString(m) } func (*QueryResults) ProtoMessage() {} func (*QueryResults) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{55} + return fileDescriptor_02345ba45cc0e303, []int{57} } func (m *QueryResults) XXX_Unmarshal(b []byte) error { @@ -4267,7 +4493,7 @@ func (m *VectorIDs) Reset() { *m = VectorIDs{} } func (m *VectorIDs) String() string { return proto.CompactTextString(m) } func (*VectorIDs) ProtoMessage() {} func (*VectorIDs) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{56} + return fileDescriptor_02345ba45cc0e303, []int{58} } func (m *VectorIDs) XXX_Unmarshal(b []byte) error { @@ -4318,7 +4544,6 @@ func (m *VectorIDs) GetPartitionNames() []string { type VectorsArray struct { // Types that are valid to be assigned to Array: - // // *VectorsArray_IdArray // *VectorsArray_DataArray Array isVectorsArray_Array `protobuf_oneof:"array"` @@ -4331,7 +4556,7 @@ func (m *VectorsArray) Reset() { *m = VectorsArray{} } func (m *VectorsArray) String() string { return proto.CompactTextString(m) } func (*VectorsArray) ProtoMessage() {} func (*VectorsArray) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{57} + return fileDescriptor_02345ba45cc0e303, []int{59} } func (m *VectorsArray) XXX_Unmarshal(b []byte) error { @@ -4411,7 +4636,7 @@ func (m *CalcDistanceRequest) Reset() { *m = CalcDistanceRequest{} } func (m *CalcDistanceRequest) String() string { return proto.CompactTextString(m) } func (*CalcDistanceRequest) ProtoMessage() {} func (*CalcDistanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{58} + return fileDescriptor_02345ba45cc0e303, []int{60} } func (m *CalcDistanceRequest) XXX_Unmarshal(b []byte) error { @@ -4465,7 +4690,6 @@ type CalcDistanceResults struct { // num(op_left)*num(op_right) distance values, "HAMMIN" return integer distance // // Types that are valid to be assigned to Array: - // // *CalcDistanceResults_IntDist // *CalcDistanceResults_FloatDist Array isCalcDistanceResults_Array `protobuf_oneof:"array"` @@ -4478,7 +4702,7 @@ func (m *CalcDistanceResults) Reset() { *m = CalcDistanceResults{} } func (m *CalcDistanceResults) String() string { return proto.CompactTextString(m) } func (*CalcDistanceResults) ProtoMessage() {} func (*CalcDistanceResults) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{59} + return fileDescriptor_02345ba45cc0e303, []int{61} } func (m *CalcDistanceResults) XXX_Unmarshal(b []byte) error { @@ -4563,7 +4787,7 @@ func (m *FlushAllRequest) Reset() { *m = FlushAllRequest{} } func (m *FlushAllRequest) String() string { return proto.CompactTextString(m) } func (*FlushAllRequest) ProtoMessage() {} func (*FlushAllRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{60} + return fileDescriptor_02345ba45cc0e303, []int{62} } func (m *FlushAllRequest) XXX_Unmarshal(b []byte) error { @@ -4610,7 +4834,7 @@ func (m *FlushAllResponse) Reset() { *m = FlushAllResponse{} } func (m *FlushAllResponse) String() string { return proto.CompactTextString(m) } func (*FlushAllResponse) ProtoMessage() {} func (*FlushAllResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{61} + return fileDescriptor_02345ba45cc0e303, []int{63} } func (m *FlushAllResponse) XXX_Unmarshal(b []byte) error { @@ -4660,7 +4884,7 @@ func (m *PersistentSegmentInfo) Reset() { *m = PersistentSegmentInfo{} } func (m *PersistentSegmentInfo) String() string { return proto.CompactTextString(m) } func (*PersistentSegmentInfo) ProtoMessage() {} func (*PersistentSegmentInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{62} + return fileDescriptor_02345ba45cc0e303, []int{64} } func (m *PersistentSegmentInfo) XXX_Unmarshal(b []byte) error { @@ -4729,7 +4953,7 @@ func (m *GetPersistentSegmentInfoRequest) Reset() { *m = GetPersistentSe func (m *GetPersistentSegmentInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetPersistentSegmentInfoRequest) ProtoMessage() {} func (*GetPersistentSegmentInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{63} + return fileDescriptor_02345ba45cc0e303, []int{65} } func (m *GetPersistentSegmentInfoRequest) XXX_Unmarshal(b []byte) error { @@ -4783,7 +5007,7 @@ func (m *GetPersistentSegmentInfoResponse) Reset() { *m = GetPersistentS func (m *GetPersistentSegmentInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetPersistentSegmentInfoResponse) ProtoMessage() {} func (*GetPersistentSegmentInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{64} + return fileDescriptor_02345ba45cc0e303, []int{66} } func (m *GetPersistentSegmentInfoResponse) XXX_Unmarshal(b []byte) error { @@ -4839,7 +5063,7 @@ func (m *QuerySegmentInfo) Reset() { *m = QuerySegmentInfo{} } func (m *QuerySegmentInfo) String() string { return proto.CompactTextString(m) } func (*QuerySegmentInfo) ProtoMessage() {} func (*QuerySegmentInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{65} + return fileDescriptor_02345ba45cc0e303, []int{67} } func (m *QuerySegmentInfo) XXX_Unmarshal(b []byte) error { @@ -4944,7 +5168,7 @@ func (m *GetQuerySegmentInfoRequest) Reset() { *m = GetQuerySegmentInfoR func (m *GetQuerySegmentInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetQuerySegmentInfoRequest) ProtoMessage() {} func (*GetQuerySegmentInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{66} + return fileDescriptor_02345ba45cc0e303, []int{68} } func (m *GetQuerySegmentInfoRequest) XXX_Unmarshal(b []byte) error { @@ -4998,7 +5222,7 @@ func (m *GetQuerySegmentInfoResponse) Reset() { *m = GetQuerySegmentInfo func (m *GetQuerySegmentInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetQuerySegmentInfoResponse) ProtoMessage() {} func (*GetQuerySegmentInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{67} + return fileDescriptor_02345ba45cc0e303, []int{69} } func (m *GetQuerySegmentInfoResponse) XXX_Unmarshal(b []byte) error { @@ -5044,7 +5268,7 @@ func (m *DummyRequest) Reset() { *m = DummyRequest{} } func (m *DummyRequest) String() string { return proto.CompactTextString(m) } func (*DummyRequest) ProtoMessage() {} func (*DummyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{68} + return fileDescriptor_02345ba45cc0e303, []int{70} } func (m *DummyRequest) XXX_Unmarshal(b []byte) error { @@ -5083,7 +5307,7 @@ func (m *DummyResponse) Reset() { *m = DummyResponse{} } func (m *DummyResponse) String() string { return proto.CompactTextString(m) } func (*DummyResponse) ProtoMessage() {} func (*DummyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{69} + return fileDescriptor_02345ba45cc0e303, []int{71} } func (m *DummyResponse) XXX_Unmarshal(b []byte) error { @@ -5121,7 +5345,7 @@ func (m *RegisterLinkRequest) Reset() { *m = RegisterLinkRequest{} } func (m *RegisterLinkRequest) String() string { return proto.CompactTextString(m) } func (*RegisterLinkRequest) ProtoMessage() {} func (*RegisterLinkRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{70} + return fileDescriptor_02345ba45cc0e303, []int{72} } func (m *RegisterLinkRequest) XXX_Unmarshal(b []byte) error { @@ -5154,7 +5378,7 @@ func (m *RegisterLinkResponse) Reset() { *m = RegisterLinkResponse{} } func (m *RegisterLinkResponse) String() string { return proto.CompactTextString(m) } func (*RegisterLinkResponse) ProtoMessage() {} func (*RegisterLinkResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{71} + return fileDescriptor_02345ba45cc0e303, []int{73} } func (m *RegisterLinkResponse) XXX_Unmarshal(b []byte) error { @@ -5201,7 +5425,7 @@ func (m *GetMetricsRequest) Reset() { *m = GetMetricsRequest{} } func (m *GetMetricsRequest) String() string { return proto.CompactTextString(m) } func (*GetMetricsRequest) ProtoMessage() {} func (*GetMetricsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{72} + return fileDescriptor_02345ba45cc0e303, []int{74} } func (m *GetMetricsRequest) XXX_Unmarshal(b []byte) error { @@ -5249,7 +5473,7 @@ func (m *GetMetricsResponse) Reset() { *m = GetMetricsResponse{} } func (m *GetMetricsResponse) String() string { return proto.CompactTextString(m) } func (*GetMetricsResponse) ProtoMessage() {} func (*GetMetricsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{73} + return fileDescriptor_02345ba45cc0e303, []int{75} } func (m *GetMetricsResponse) XXX_Unmarshal(b []byte) error { @@ -5305,7 +5529,7 @@ func (m *ComponentInfo) Reset() { *m = ComponentInfo{} } func (m *ComponentInfo) String() string { return proto.CompactTextString(m) } func (*ComponentInfo) ProtoMessage() {} func (*ComponentInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{74} + return fileDescriptor_02345ba45cc0e303, []int{76} } func (m *ComponentInfo) XXX_Unmarshal(b []byte) error { @@ -5367,7 +5591,7 @@ func (m *ComponentStates) Reset() { *m = ComponentStates{} } func (m *ComponentStates) String() string { return proto.CompactTextString(m) } func (*ComponentStates) ProtoMessage() {} func (*ComponentStates) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{75} + return fileDescriptor_02345ba45cc0e303, []int{77} } func (m *ComponentStates) XXX_Unmarshal(b []byte) error { @@ -5419,7 +5643,7 @@ func (m *GetComponentStatesRequest) Reset() { *m = GetComponentStatesReq func (m *GetComponentStatesRequest) String() string { return proto.CompactTextString(m) } func (*GetComponentStatesRequest) ProtoMessage() {} func (*GetComponentStatesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{76} + return fileDescriptor_02345ba45cc0e303, []int{78} } func (m *GetComponentStatesRequest) XXX_Unmarshal(b []byte) error { @@ -5440,6 +5664,7 @@ func (m *GetComponentStatesRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetComponentStatesRequest proto.InternalMessageInfo +// // Do load balancing operation from src_nodeID to dst_nodeID. type LoadBalanceRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -5457,7 +5682,7 @@ func (m *LoadBalanceRequest) Reset() { *m = LoadBalanceRequest{} } func (m *LoadBalanceRequest) String() string { return proto.CompactTextString(m) } func (*LoadBalanceRequest) ProtoMessage() {} func (*LoadBalanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{77} + return fileDescriptor_02345ba45cc0e303, []int{79} } func (m *LoadBalanceRequest) XXX_Unmarshal(b []byte) error { @@ -5523,6 +5748,7 @@ func (m *LoadBalanceRequest) GetDbName() string { type ManualCompactionRequest struct { CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` Timetravel uint64 `protobuf:"varint,2,opt,name=timetravel,proto3" json:"timetravel,omitempty"` + MajorCompaction bool `protobuf:"varint,3,opt,name=majorCompaction,proto3" json:"majorCompaction,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -5532,7 +5758,7 @@ func (m *ManualCompactionRequest) Reset() { *m = ManualCompactionRequest func (m *ManualCompactionRequest) String() string { return proto.CompactTextString(m) } func (*ManualCompactionRequest) ProtoMessage() {} func (*ManualCompactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{78} + return fileDescriptor_02345ba45cc0e303, []int{80} } func (m *ManualCompactionRequest) XXX_Unmarshal(b []byte) error { @@ -5567,6 +5793,13 @@ func (m *ManualCompactionRequest) GetTimetravel() uint64 { return 0 } +func (m *ManualCompactionRequest) GetMajorCompaction() bool { + if m != nil { + return m.MajorCompaction + } + return false +} + type ManualCompactionResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` CompactionID int64 `protobuf:"varint,2,opt,name=compactionID,proto3" json:"compactionID,omitempty"` @@ -5580,7 +5813,7 @@ func (m *ManualCompactionResponse) Reset() { *m = ManualCompactionRespon func (m *ManualCompactionResponse) String() string { return proto.CompactTextString(m) } func (*ManualCompactionResponse) ProtoMessage() {} func (*ManualCompactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{79} + return fileDescriptor_02345ba45cc0e303, []int{81} } func (m *ManualCompactionResponse) XXX_Unmarshal(b []byte) error { @@ -5633,7 +5866,7 @@ func (m *GetCompactionStateRequest) Reset() { *m = GetCompactionStateReq func (m *GetCompactionStateRequest) String() string { return proto.CompactTextString(m) } func (*GetCompactionStateRequest) ProtoMessage() {} func (*GetCompactionStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{80} + return fileDescriptor_02345ba45cc0e303, []int{82} } func (m *GetCompactionStateRequest) XXX_Unmarshal(b []byte) error { @@ -5677,7 +5910,7 @@ func (m *GetCompactionStateResponse) Reset() { *m = GetCompactionStateRe func (m *GetCompactionStateResponse) String() string { return proto.CompactTextString(m) } func (*GetCompactionStateResponse) ProtoMessage() {} func (*GetCompactionStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{81} + return fileDescriptor_02345ba45cc0e303, []int{83} } func (m *GetCompactionStateResponse) XXX_Unmarshal(b []byte) error { @@ -5751,7 +5984,7 @@ func (m *GetCompactionPlansRequest) Reset() { *m = GetCompactionPlansReq func (m *GetCompactionPlansRequest) String() string { return proto.CompactTextString(m) } func (*GetCompactionPlansRequest) ProtoMessage() {} func (*GetCompactionPlansRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{82} + return fileDescriptor_02345ba45cc0e303, []int{84} } func (m *GetCompactionPlansRequest) XXX_Unmarshal(b []byte) error { @@ -5792,7 +6025,7 @@ func (m *GetCompactionPlansResponse) Reset() { *m = GetCompactionPlansRe func (m *GetCompactionPlansResponse) String() string { return proto.CompactTextString(m) } func (*GetCompactionPlansResponse) ProtoMessage() {} func (*GetCompactionPlansResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{83} + return fileDescriptor_02345ba45cc0e303, []int{85} } func (m *GetCompactionPlansResponse) XXX_Unmarshal(b []byte) error { @@ -5846,7 +6079,7 @@ func (m *CompactionMergeInfo) Reset() { *m = CompactionMergeInfo{} } func (m *CompactionMergeInfo) String() string { return proto.CompactTextString(m) } func (*CompactionMergeInfo) ProtoMessage() {} func (*CompactionMergeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{84} + return fileDescriptor_02345ba45cc0e303, []int{86} } func (m *CompactionMergeInfo) XXX_Unmarshal(b []byte) error { @@ -5895,7 +6128,7 @@ func (m *GetFlushStateRequest) Reset() { *m = GetFlushStateRequest{} } func (m *GetFlushStateRequest) String() string { return proto.CompactTextString(m) } func (*GetFlushStateRequest) ProtoMessage() {} func (*GetFlushStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{85} + return fileDescriptor_02345ba45cc0e303, []int{87} } func (m *GetFlushStateRequest) XXX_Unmarshal(b []byte) error { @@ -5956,7 +6189,7 @@ func (m *GetFlushStateResponse) Reset() { *m = GetFlushStateResponse{} } func (m *GetFlushStateResponse) String() string { return proto.CompactTextString(m) } func (*GetFlushStateResponse) ProtoMessage() {} func (*GetFlushStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{86} + return fileDescriptor_02345ba45cc0e303, []int{88} } func (m *GetFlushStateResponse) XXX_Unmarshal(b []byte) error { @@ -6004,7 +6237,7 @@ func (m *GetFlushAllStateRequest) Reset() { *m = GetFlushAllStateRequest func (m *GetFlushAllStateRequest) String() string { return proto.CompactTextString(m) } func (*GetFlushAllStateRequest) ProtoMessage() {} func (*GetFlushAllStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{87} + return fileDescriptor_02345ba45cc0e303, []int{89} } func (m *GetFlushAllStateRequest) XXX_Unmarshal(b []byte) error { @@ -6058,7 +6291,7 @@ func (m *GetFlushAllStateResponse) Reset() { *m = GetFlushAllStateRespon func (m *GetFlushAllStateResponse) String() string { return proto.CompactTextString(m) } func (*GetFlushAllStateResponse) ProtoMessage() {} func (*GetFlushAllStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{88} + return fileDescriptor_02345ba45cc0e303, []int{90} } func (m *GetFlushAllStateResponse) XXX_Unmarshal(b []byte) error { @@ -6101,6 +6334,7 @@ type ImportRequest struct { Files []string `protobuf:"bytes,5,rep,name=files,proto3" json:"files,omitempty"` Options []*commonpb.KeyValuePair `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` DbName string `protobuf:"bytes,7,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + ClusteringInfo []byte `protobuf:"bytes,8,opt,name=clustering_info,json=clusteringInfo,proto3" json:"clustering_info,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -6110,7 +6344,7 @@ func (m *ImportRequest) Reset() { *m = ImportRequest{} } func (m *ImportRequest) String() string { return proto.CompactTextString(m) } func (*ImportRequest) ProtoMessage() {} func (*ImportRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{89} + return fileDescriptor_02345ba45cc0e303, []int{91} } func (m *ImportRequest) XXX_Unmarshal(b []byte) error { @@ -6180,6 +6414,13 @@ func (m *ImportRequest) GetDbName() string { return "" } +func (m *ImportRequest) GetClusteringInfo() []byte { + if m != nil { + return m.ClusteringInfo + } + return nil +} + type ImportResponse struct { Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Tasks []int64 `protobuf:"varint,2,rep,packed,name=tasks,proto3" json:"tasks,omitempty"` @@ -6192,7 +6433,7 @@ func (m *ImportResponse) Reset() { *m = ImportResponse{} } func (m *ImportResponse) String() string { return proto.CompactTextString(m) } func (*ImportResponse) ProtoMessage() {} func (*ImportResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{90} + return fileDescriptor_02345ba45cc0e303, []int{92} } func (m *ImportResponse) XXX_Unmarshal(b []byte) error { @@ -6238,7 +6479,7 @@ func (m *GetImportStateRequest) Reset() { *m = GetImportStateRequest{} } func (m *GetImportStateRequest) String() string { return proto.CompactTextString(m) } func (*GetImportStateRequest) ProtoMessage() {} func (*GetImportStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{91} + return fileDescriptor_02345ba45cc0e303, []int{93} } func (m *GetImportStateRequest) XXX_Unmarshal(b []byte) error { @@ -6285,7 +6526,7 @@ func (m *GetImportStateResponse) Reset() { *m = GetImportStateResponse{} func (m *GetImportStateResponse) String() string { return proto.CompactTextString(m) } func (*GetImportStateResponse) ProtoMessage() {} func (*GetImportStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{92} + return fileDescriptor_02345ba45cc0e303, []int{94} } func (m *GetImportStateResponse) XXX_Unmarshal(b []byte) error { @@ -6382,7 +6623,7 @@ func (m *ListImportTasksRequest) Reset() { *m = ListImportTasksRequest{} func (m *ListImportTasksRequest) String() string { return proto.CompactTextString(m) } func (*ListImportTasksRequest) ProtoMessage() {} func (*ListImportTasksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{93} + return fileDescriptor_02345ba45cc0e303, []int{95} } func (m *ListImportTasksRequest) XXX_Unmarshal(b []byte) error { @@ -6436,7 +6677,7 @@ func (m *ListImportTasksResponse) Reset() { *m = ListImportTasksResponse func (m *ListImportTasksResponse) String() string { return proto.CompactTextString(m) } func (*ListImportTasksResponse) ProtoMessage() {} func (*ListImportTasksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{94} + return fileDescriptor_02345ba45cc0e303, []int{96} } func (m *ListImportTasksResponse) XXX_Unmarshal(b []byte) error { @@ -6486,7 +6727,7 @@ func (m *GetReplicasRequest) Reset() { *m = GetReplicasRequest{} } func (m *GetReplicasRequest) String() string { return proto.CompactTextString(m) } func (*GetReplicasRequest) ProtoMessage() {} func (*GetReplicasRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{95} + return fileDescriptor_02345ba45cc0e303, []int{97} } func (m *GetReplicasRequest) XXX_Unmarshal(b []byte) error { @@ -6554,7 +6795,7 @@ func (m *GetReplicasResponse) Reset() { *m = GetReplicasResponse{} } func (m *GetReplicasResponse) String() string { return proto.CompactTextString(m) } func (*GetReplicasResponse) ProtoMessage() {} func (*GetReplicasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{96} + return fileDescriptor_02345ba45cc0e303, []int{98} } func (m *GetReplicasResponse) XXX_Unmarshal(b []byte) error { @@ -6607,7 +6848,7 @@ func (m *ReplicaInfo) Reset() { *m = ReplicaInfo{} } func (m *ReplicaInfo) String() string { return proto.CompactTextString(m) } func (*ReplicaInfo) ProtoMessage() {} func (*ReplicaInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{97} + return fileDescriptor_02345ba45cc0e303, []int{99} } func (m *ReplicaInfo) XXX_Unmarshal(b []byte) error { @@ -6693,7 +6934,7 @@ func (m *ShardReplica) Reset() { *m = ShardReplica{} } func (m *ShardReplica) String() string { return proto.CompactTextString(m) } func (*ShardReplica) ProtoMessage() {} func (*ShardReplica) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{98} + return fileDescriptor_02345ba45cc0e303, []int{100} } func (m *ShardReplica) XXX_Unmarshal(b []byte) error { @@ -6762,7 +7003,7 @@ func (m *CreateCredentialRequest) Reset() { *m = CreateCredentialRequest func (m *CreateCredentialRequest) String() string { return proto.CompactTextString(m) } func (*CreateCredentialRequest) ProtoMessage() {} func (*CreateCredentialRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{99} + return fileDescriptor_02345ba45cc0e303, []int{101} } func (m *CreateCredentialRequest) XXX_Unmarshal(b []byte) error { @@ -6840,7 +7081,7 @@ func (m *UpdateCredentialRequest) Reset() { *m = UpdateCredentialRequest func (m *UpdateCredentialRequest) String() string { return proto.CompactTextString(m) } func (*UpdateCredentialRequest) ProtoMessage() {} func (*UpdateCredentialRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{100} + return fileDescriptor_02345ba45cc0e303, []int{102} } func (m *UpdateCredentialRequest) XXX_Unmarshal(b []byte) error { @@ -6917,7 +7158,7 @@ func (m *DeleteCredentialRequest) Reset() { *m = DeleteCredentialRequest func (m *DeleteCredentialRequest) String() string { return proto.CompactTextString(m) } func (*DeleteCredentialRequest) ProtoMessage() {} func (*DeleteCredentialRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{101} + return fileDescriptor_02345ba45cc0e303, []int{103} } func (m *DeleteCredentialRequest) XXX_Unmarshal(b []byte) error { @@ -6966,7 +7207,7 @@ func (m *ListCredUsersResponse) Reset() { *m = ListCredUsersResponse{} } func (m *ListCredUsersResponse) String() string { return proto.CompactTextString(m) } func (*ListCredUsersResponse) ProtoMessage() {} func (*ListCredUsersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{102} + return fileDescriptor_02345ba45cc0e303, []int{104} } func (m *ListCredUsersResponse) XXX_Unmarshal(b []byte) error { @@ -7013,7 +7254,7 @@ func (m *ListCredUsersRequest) Reset() { *m = ListCredUsersRequest{} } func (m *ListCredUsersRequest) String() string { return proto.CompactTextString(m) } func (*ListCredUsersRequest) ProtoMessage() {} func (*ListCredUsersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{103} + return fileDescriptor_02345ba45cc0e303, []int{105} } func (m *ListCredUsersRequest) XXX_Unmarshal(b []byte) error { @@ -7053,7 +7294,7 @@ func (m *RoleEntity) Reset() { *m = RoleEntity{} } func (m *RoleEntity) String() string { return proto.CompactTextString(m) } func (*RoleEntity) ProtoMessage() {} func (*RoleEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{104} + return fileDescriptor_02345ba45cc0e303, []int{106} } func (m *RoleEntity) XXX_Unmarshal(b []byte) error { @@ -7092,7 +7333,7 @@ func (m *UserEntity) Reset() { *m = UserEntity{} } func (m *UserEntity) String() string { return proto.CompactTextString(m) } func (*UserEntity) ProtoMessage() {} func (*UserEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{105} + return fileDescriptor_02345ba45cc0e303, []int{107} } func (m *UserEntity) XXX_Unmarshal(b []byte) error { @@ -7134,7 +7375,7 @@ func (m *CreateRoleRequest) Reset() { *m = CreateRoleRequest{} } func (m *CreateRoleRequest) String() string { return proto.CompactTextString(m) } func (*CreateRoleRequest) ProtoMessage() {} func (*CreateRoleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{106} + return fileDescriptor_02345ba45cc0e303, []int{108} } func (m *CreateRoleRequest) XXX_Unmarshal(b []byte) error { @@ -7183,7 +7424,7 @@ func (m *DropRoleRequest) Reset() { *m = DropRoleRequest{} } func (m *DropRoleRequest) String() string { return proto.CompactTextString(m) } func (*DropRoleRequest) ProtoMessage() {} func (*DropRoleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{107} + return fileDescriptor_02345ba45cc0e303, []int{109} } func (m *DropRoleRequest) XXX_Unmarshal(b []byte) error { @@ -7236,7 +7477,7 @@ func (m *OperateUserRoleRequest) Reset() { *m = OperateUserRoleRequest{} func (m *OperateUserRoleRequest) String() string { return proto.CompactTextString(m) } func (*OperateUserRoleRequest) ProtoMessage() {} func (*OperateUserRoleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{108} + return fileDescriptor_02345ba45cc0e303, []int{110} } func (m *OperateUserRoleRequest) XXX_Unmarshal(b []byte) error { @@ -7301,7 +7542,7 @@ func (m *SelectRoleRequest) Reset() { *m = SelectRoleRequest{} } func (m *SelectRoleRequest) String() string { return proto.CompactTextString(m) } func (*SelectRoleRequest) ProtoMessage() {} func (*SelectRoleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{109} + return fileDescriptor_02345ba45cc0e303, []int{111} } func (m *SelectRoleRequest) XXX_Unmarshal(b []byte) error { @@ -7355,7 +7596,7 @@ func (m *RoleResult) Reset() { *m = RoleResult{} } func (m *RoleResult) String() string { return proto.CompactTextString(m) } func (*RoleResult) ProtoMessage() {} func (*RoleResult) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{110} + return fileDescriptor_02345ba45cc0e303, []int{112} } func (m *RoleResult) XXX_Unmarshal(b []byte) error { @@ -7404,7 +7645,7 @@ func (m *SelectRoleResponse) Reset() { *m = SelectRoleResponse{} } func (m *SelectRoleResponse) String() string { return proto.CompactTextString(m) } func (*SelectRoleResponse) ProtoMessage() {} func (*SelectRoleResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{111} + return fileDescriptor_02345ba45cc0e303, []int{113} } func (m *SelectRoleResponse) XXX_Unmarshal(b []byte) error { @@ -7455,7 +7696,7 @@ func (m *SelectUserRequest) Reset() { *m = SelectUserRequest{} } func (m *SelectUserRequest) String() string { return proto.CompactTextString(m) } func (*SelectUserRequest) ProtoMessage() {} func (*SelectUserRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{112} + return fileDescriptor_02345ba45cc0e303, []int{114} } func (m *SelectUserRequest) XXX_Unmarshal(b []byte) error { @@ -7509,7 +7750,7 @@ func (m *UserResult) Reset() { *m = UserResult{} } func (m *UserResult) String() string { return proto.CompactTextString(m) } func (*UserResult) ProtoMessage() {} func (*UserResult) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{113} + return fileDescriptor_02345ba45cc0e303, []int{115} } func (m *UserResult) XXX_Unmarshal(b []byte) error { @@ -7558,7 +7799,7 @@ func (m *SelectUserResponse) Reset() { *m = SelectUserResponse{} } func (m *SelectUserResponse) String() string { return proto.CompactTextString(m) } func (*SelectUserResponse) ProtoMessage() {} func (*SelectUserResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{114} + return fileDescriptor_02345ba45cc0e303, []int{116} } func (m *SelectUserResponse) XXX_Unmarshal(b []byte) error { @@ -7604,7 +7845,7 @@ func (m *ObjectEntity) Reset() { *m = ObjectEntity{} } func (m *ObjectEntity) String() string { return proto.CompactTextString(m) } func (*ObjectEntity) ProtoMessage() {} func (*ObjectEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{115} + return fileDescriptor_02345ba45cc0e303, []int{117} } func (m *ObjectEntity) XXX_Unmarshal(b []byte) error { @@ -7643,7 +7884,7 @@ func (m *PrivilegeEntity) Reset() { *m = PrivilegeEntity{} } func (m *PrivilegeEntity) String() string { return proto.CompactTextString(m) } func (*PrivilegeEntity) ProtoMessage() {} func (*PrivilegeEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{116} + return fileDescriptor_02345ba45cc0e303, []int{118} } func (m *PrivilegeEntity) XXX_Unmarshal(b []byte) error { @@ -7683,7 +7924,7 @@ func (m *GrantorEntity) Reset() { *m = GrantorEntity{} } func (m *GrantorEntity) String() string { return proto.CompactTextString(m) } func (*GrantorEntity) ProtoMessage() {} func (*GrantorEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{117} + return fileDescriptor_02345ba45cc0e303, []int{119} } func (m *GrantorEntity) XXX_Unmarshal(b []byte) error { @@ -7729,7 +7970,7 @@ func (m *GrantPrivilegeEntity) Reset() { *m = GrantPrivilegeEntity{} } func (m *GrantPrivilegeEntity) String() string { return proto.CompactTextString(m) } func (*GrantPrivilegeEntity) ProtoMessage() {} func (*GrantPrivilegeEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{118} + return fileDescriptor_02345ba45cc0e303, []int{120} } func (m *GrantPrivilegeEntity) XXX_Unmarshal(b []byte) error { @@ -7777,7 +8018,7 @@ func (m *GrantEntity) Reset() { *m = GrantEntity{} } func (m *GrantEntity) String() string { return proto.CompactTextString(m) } func (*GrantEntity) ProtoMessage() {} func (*GrantEntity) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{119} + return fileDescriptor_02345ba45cc0e303, []int{121} } func (m *GrantEntity) XXX_Unmarshal(b []byte) error { @@ -7847,7 +8088,7 @@ func (m *SelectGrantRequest) Reset() { *m = SelectGrantRequest{} } func (m *SelectGrantRequest) String() string { return proto.CompactTextString(m) } func (*SelectGrantRequest) ProtoMessage() {} func (*SelectGrantRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{120} + return fileDescriptor_02345ba45cc0e303, []int{122} } func (m *SelectGrantRequest) XXX_Unmarshal(b []byte) error { @@ -7896,7 +8137,7 @@ func (m *SelectGrantResponse) Reset() { *m = SelectGrantResponse{} } func (m *SelectGrantResponse) String() string { return proto.CompactTextString(m) } func (*SelectGrantResponse) ProtoMessage() {} func (*SelectGrantResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{121} + return fileDescriptor_02345ba45cc0e303, []int{123} } func (m *SelectGrantResponse) XXX_Unmarshal(b []byte) error { @@ -7947,7 +8188,7 @@ func (m *OperatePrivilegeRequest) Reset() { *m = OperatePrivilegeRequest func (m *OperatePrivilegeRequest) String() string { return proto.CompactTextString(m) } func (*OperatePrivilegeRequest) ProtoMessage() {} func (*OperatePrivilegeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{122} + return fileDescriptor_02345ba45cc0e303, []int{124} } func (m *OperatePrivilegeRequest) XXX_Unmarshal(b []byte) error { @@ -8004,7 +8245,7 @@ func (m *GetLoadingProgressRequest) Reset() { *m = GetLoadingProgressReq func (m *GetLoadingProgressRequest) String() string { return proto.CompactTextString(m) } func (*GetLoadingProgressRequest) ProtoMessage() {} func (*GetLoadingProgressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{123} + return fileDescriptor_02345ba45cc0e303, []int{125} } func (m *GetLoadingProgressRequest) XXX_Unmarshal(b []byte) error { @@ -8066,7 +8307,7 @@ func (m *GetLoadingProgressResponse) Reset() { *m = GetLoadingProgressRe func (m *GetLoadingProgressResponse) String() string { return proto.CompactTextString(m) } func (*GetLoadingProgressResponse) ProtoMessage() {} func (*GetLoadingProgressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{124} + return fileDescriptor_02345ba45cc0e303, []int{126} } func (m *GetLoadingProgressResponse) XXX_Unmarshal(b []byte) error { @@ -8123,7 +8364,7 @@ func (m *GetLoadStateRequest) Reset() { *m = GetLoadStateRequest{} } func (m *GetLoadStateRequest) String() string { return proto.CompactTextString(m) } func (*GetLoadStateRequest) ProtoMessage() {} func (*GetLoadStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{125} + return fileDescriptor_02345ba45cc0e303, []int{127} } func (m *GetLoadStateRequest) XXX_Unmarshal(b []byte) error { @@ -8184,7 +8425,7 @@ func (m *GetLoadStateResponse) Reset() { *m = GetLoadStateResponse{} } func (m *GetLoadStateResponse) String() string { return proto.CompactTextString(m) } func (*GetLoadStateResponse) ProtoMessage() {} func (*GetLoadStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{126} + return fileDescriptor_02345ba45cc0e303, []int{128} } func (m *GetLoadStateResponse) XXX_Unmarshal(b []byte) error { @@ -8230,7 +8471,7 @@ func (m *MilvusExt) Reset() { *m = MilvusExt{} } func (m *MilvusExt) String() string { return proto.CompactTextString(m) } func (*MilvusExt) ProtoMessage() {} func (*MilvusExt) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{127} + return fileDescriptor_02345ba45cc0e303, []int{129} } func (m *MilvusExt) XXX_Unmarshal(b []byte) error { @@ -8268,7 +8509,7 @@ func (m *GetVersionRequest) Reset() { *m = GetVersionRequest{} } func (m *GetVersionRequest) String() string { return proto.CompactTextString(m) } func (*GetVersionRequest) ProtoMessage() {} func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{128} + return fileDescriptor_02345ba45cc0e303, []int{130} } func (m *GetVersionRequest) XXX_Unmarshal(b []byte) error { @@ -8301,7 +8542,7 @@ func (m *GetVersionResponse) Reset() { *m = GetVersionResponse{} } func (m *GetVersionResponse) String() string { return proto.CompactTextString(m) } func (*GetVersionResponse) ProtoMessage() {} func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{129} + return fileDescriptor_02345ba45cc0e303, []int{131} } func (m *GetVersionResponse) XXX_Unmarshal(b []byte) error { @@ -8346,7 +8587,7 @@ func (m *CheckHealthRequest) Reset() { *m = CheckHealthRequest{} } func (m *CheckHealthRequest) String() string { return proto.CompactTextString(m) } func (*CheckHealthRequest) ProtoMessage() {} func (*CheckHealthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{130} + return fileDescriptor_02345ba45cc0e303, []int{132} } func (m *CheckHealthRequest) XXX_Unmarshal(b []byte) error { @@ -8381,7 +8622,7 @@ func (m *CheckHealthResponse) Reset() { *m = CheckHealthResponse{} } func (m *CheckHealthResponse) String() string { return proto.CompactTextString(m) } func (*CheckHealthResponse) ProtoMessage() {} func (*CheckHealthResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{131} + return fileDescriptor_02345ba45cc0e303, []int{133} } func (m *CheckHealthResponse) XXX_Unmarshal(b []byte) error { @@ -8431,18 +8672,19 @@ func (m *CheckHealthResponse) GetQuotaStates() []QuotaState { } type CreateResourceGroupRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` - ResourceGroup string `protobuf:"bytes,2,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + ResourceGroup string `protobuf:"bytes,2,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + Config *rgpb.ResourceGroupConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CreateResourceGroupRequest) Reset() { *m = CreateResourceGroupRequest{} } func (m *CreateResourceGroupRequest) String() string { return proto.CompactTextString(m) } func (*CreateResourceGroupRequest) ProtoMessage() {} func (*CreateResourceGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{132} + return fileDescriptor_02345ba45cc0e303, []int{134} } func (m *CreateResourceGroupRequest) XXX_Unmarshal(b []byte) error { @@ -8477,6 +8719,60 @@ func (m *CreateResourceGroupRequest) GetResourceGroup() string { return "" } +func (m *CreateResourceGroupRequest) GetConfig() *rgpb.ResourceGroupConfig { + if m != nil { + return m.Config + } + return nil +} + +type UpdateResourceGroupsRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + ResourceGroups map[string]*rgpb.ResourceGroupConfig `protobuf:"bytes,2,rep,name=resource_groups,json=resourceGroups,proto3" json:"resource_groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateResourceGroupsRequest) Reset() { *m = UpdateResourceGroupsRequest{} } +func (m *UpdateResourceGroupsRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateResourceGroupsRequest) ProtoMessage() {} +func (*UpdateResourceGroupsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_02345ba45cc0e303, []int{135} +} + +func (m *UpdateResourceGroupsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateResourceGroupsRequest.Unmarshal(m, b) +} +func (m *UpdateResourceGroupsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateResourceGroupsRequest.Marshal(b, m, deterministic) +} +func (m *UpdateResourceGroupsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateResourceGroupsRequest.Merge(m, src) +} +func (m *UpdateResourceGroupsRequest) XXX_Size() int { + return xxx_messageInfo_UpdateResourceGroupsRequest.Size(m) +} +func (m *UpdateResourceGroupsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateResourceGroupsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateResourceGroupsRequest proto.InternalMessageInfo + +func (m *UpdateResourceGroupsRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *UpdateResourceGroupsRequest) GetResourceGroups() map[string]*rgpb.ResourceGroupConfig { + if m != nil { + return m.ResourceGroups + } + return nil +} + type DropResourceGroupRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` ResourceGroup string `protobuf:"bytes,2,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` @@ -8489,7 +8785,7 @@ func (m *DropResourceGroupRequest) Reset() { *m = DropResourceGroupReque func (m *DropResourceGroupRequest) String() string { return proto.CompactTextString(m) } func (*DropResourceGroupRequest) ProtoMessage() {} func (*DropResourceGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{133} + return fileDescriptor_02345ba45cc0e303, []int{136} } func (m *DropResourceGroupRequest) XXX_Unmarshal(b []byte) error { @@ -8539,7 +8835,7 @@ func (m *TransferNodeRequest) Reset() { *m = TransferNodeRequest{} } func (m *TransferNodeRequest) String() string { return proto.CompactTextString(m) } func (*TransferNodeRequest) ProtoMessage() {} func (*TransferNodeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{134} + return fileDescriptor_02345ba45cc0e303, []int{137} } func (m *TransferNodeRequest) XXX_Unmarshal(b []byte) error { @@ -8605,7 +8901,7 @@ func (m *TransferReplicaRequest) Reset() { *m = TransferReplicaRequest{} func (m *TransferReplicaRequest) String() string { return proto.CompactTextString(m) } func (*TransferReplicaRequest) ProtoMessage() {} func (*TransferReplicaRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{135} + return fileDescriptor_02345ba45cc0e303, []int{138} } func (m *TransferReplicaRequest) XXX_Unmarshal(b []byte) error { @@ -8679,7 +8975,7 @@ func (m *ListResourceGroupsRequest) Reset() { *m = ListResourceGroupsReq func (m *ListResourceGroupsRequest) String() string { return proto.CompactTextString(m) } func (*ListResourceGroupsRequest) ProtoMessage() {} func (*ListResourceGroupsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{136} + return fileDescriptor_02345ba45cc0e303, []int{139} } func (m *ListResourceGroupsRequest) XXX_Unmarshal(b []byte) error { @@ -8719,7 +9015,7 @@ func (m *ListResourceGroupsResponse) Reset() { *m = ListResourceGroupsRe func (m *ListResourceGroupsResponse) String() string { return proto.CompactTextString(m) } func (*ListResourceGroupsResponse) ProtoMessage() {} func (*ListResourceGroupsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{137} + return fileDescriptor_02345ba45cc0e303, []int{140} } func (m *ListResourceGroupsResponse) XXX_Unmarshal(b []byte) error { @@ -8766,7 +9062,7 @@ func (m *DescribeResourceGroupRequest) Reset() { *m = DescribeResourceGr func (m *DescribeResourceGroupRequest) String() string { return proto.CompactTextString(m) } func (*DescribeResourceGroupRequest) ProtoMessage() {} func (*DescribeResourceGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{138} + return fileDescriptor_02345ba45cc0e303, []int{141} } func (m *DescribeResourceGroupRequest) XXX_Unmarshal(b []byte) error { @@ -8813,7 +9109,7 @@ func (m *DescribeResourceGroupResponse) Reset() { *m = DescribeResourceG func (m *DescribeResourceGroupResponse) String() string { return proto.CompactTextString(m) } func (*DescribeResourceGroupResponse) ProtoMessage() {} func (*DescribeResourceGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{139} + return fileDescriptor_02345ba45cc0e303, []int{142} } func (m *DescribeResourceGroupResponse) XXX_Unmarshal(b []byte) error { @@ -8857,17 +9153,21 @@ type ResourceGroup struct { // collection name -> accessed other rg's node num NumOutgoingNode map[string]int32 `protobuf:"bytes,5,rep,name=num_outgoing_node,json=numOutgoingNode,proto3" json:"num_outgoing_node,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // collection name -> be accessed node num by other rg - NumIncomingNode map[string]int32 `protobuf:"bytes,6,rep,name=num_incoming_node,json=numIncomingNode,proto3" json:"num_incoming_node,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NumIncomingNode map[string]int32 `protobuf:"bytes,6,rep,name=num_incoming_node,json=numIncomingNode,proto3" json:"num_incoming_node,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // resource group configuration. + Config *rgpb.ResourceGroupConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"` + // query node belong to this resource group now. + Nodes []*commonpb.NodeInfo `protobuf:"bytes,8,rep,name=nodes,proto3" json:"nodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ResourceGroup) Reset() { *m = ResourceGroup{} } func (m *ResourceGroup) String() string { return proto.CompactTextString(m) } func (*ResourceGroup) ProtoMessage() {} func (*ResourceGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{140} + return fileDescriptor_02345ba45cc0e303, []int{143} } func (m *ResourceGroup) XXX_Unmarshal(b []byte) error { @@ -8930,6 +9230,20 @@ func (m *ResourceGroup) GetNumIncomingNode() map[string]int32 { return nil } +func (m *ResourceGroup) GetConfig() *rgpb.ResourceGroupConfig { + if m != nil { + return m.Config + } + return nil +} + +func (m *ResourceGroup) GetNodes() []*commonpb.NodeInfo { + if m != nil { + return m.Nodes + } + return nil +} + type RenameCollectionRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` @@ -8945,7 +9259,7 @@ func (m *RenameCollectionRequest) Reset() { *m = RenameCollectionRequest func (m *RenameCollectionRequest) String() string { return proto.CompactTextString(m) } func (*RenameCollectionRequest) ProtoMessage() {} func (*RenameCollectionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{141} + return fileDescriptor_02345ba45cc0e303, []int{144} } func (m *RenameCollectionRequest) XXX_Unmarshal(b []byte) error { @@ -9020,7 +9334,7 @@ func (m *GetIndexStatisticsRequest) Reset() { *m = GetIndexStatisticsReq func (m *GetIndexStatisticsRequest) String() string { return proto.CompactTextString(m) } func (*GetIndexStatisticsRequest) ProtoMessage() {} func (*GetIndexStatisticsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{142} + return fileDescriptor_02345ba45cc0e303, []int{145} } func (m *GetIndexStatisticsRequest) XXX_Unmarshal(b []byte) error { @@ -9090,7 +9404,7 @@ func (m *GetIndexStatisticsResponse) Reset() { *m = GetIndexStatisticsRe func (m *GetIndexStatisticsResponse) String() string { return proto.CompactTextString(m) } func (*GetIndexStatisticsResponse) ProtoMessage() {} func (*GetIndexStatisticsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{143} + return fileDescriptor_02345ba45cc0e303, []int{146} } func (m *GetIndexStatisticsResponse) XXX_Unmarshal(b []byte) error { @@ -9137,7 +9451,7 @@ func (m *ConnectRequest) Reset() { *m = ConnectRequest{} } func (m *ConnectRequest) String() string { return proto.CompactTextString(m) } func (*ConnectRequest) ProtoMessage() {} func (*ConnectRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{144} + return fileDescriptor_02345ba45cc0e303, []int{147} } func (m *ConnectRequest) XXX_Unmarshal(b []byte) error { @@ -9185,7 +9499,7 @@ func (m *ConnectResponse) Reset() { *m = ConnectResponse{} } func (m *ConnectResponse) String() string { return proto.CompactTextString(m) } func (*ConnectResponse) ProtoMessage() {} func (*ConnectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{145} + return fileDescriptor_02345ba45cc0e303, []int{148} } func (m *ConnectResponse) XXX_Unmarshal(b []byte) error { @@ -9238,7 +9552,7 @@ func (m *AllocTimestampRequest) Reset() { *m = AllocTimestampRequest{} } func (m *AllocTimestampRequest) String() string { return proto.CompactTextString(m) } func (*AllocTimestampRequest) ProtoMessage() {} func (*AllocTimestampRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{146} + return fileDescriptor_02345ba45cc0e303, []int{149} } func (m *AllocTimestampRequest) XXX_Unmarshal(b []byte) error { @@ -9278,7 +9592,7 @@ func (m *AllocTimestampResponse) Reset() { *m = AllocTimestampResponse{} func (m *AllocTimestampResponse) String() string { return proto.CompactTextString(m) } func (*AllocTimestampResponse) ProtoMessage() {} func (*AllocTimestampResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{147} + return fileDescriptor_02345ba45cc0e303, []int{150} } func (m *AllocTimestampResponse) XXX_Unmarshal(b []byte) error { @@ -9325,7 +9639,7 @@ func (m *CreateDatabaseRequest) Reset() { *m = CreateDatabaseRequest{} } func (m *CreateDatabaseRequest) String() string { return proto.CompactTextString(m) } func (*CreateDatabaseRequest) ProtoMessage() {} func (*CreateDatabaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{148} + return fileDescriptor_02345ba45cc0e303, []int{151} } func (m *CreateDatabaseRequest) XXX_Unmarshal(b []byte) error { @@ -9372,7 +9686,7 @@ func (m *DropDatabaseRequest) Reset() { *m = DropDatabaseRequest{} } func (m *DropDatabaseRequest) String() string { return proto.CompactTextString(m) } func (*DropDatabaseRequest) ProtoMessage() {} func (*DropDatabaseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{149} + return fileDescriptor_02345ba45cc0e303, []int{152} } func (m *DropDatabaseRequest) XXX_Unmarshal(b []byte) error { @@ -9418,7 +9732,7 @@ func (m *ListDatabasesRequest) Reset() { *m = ListDatabasesRequest{} } func (m *ListDatabasesRequest) String() string { return proto.CompactTextString(m) } func (*ListDatabasesRequest) ProtoMessage() {} func (*ListDatabasesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{150} + return fileDescriptor_02345ba45cc0e303, []int{153} } func (m *ListDatabasesRequest) XXX_Unmarshal(b []byte) error { @@ -9459,7 +9773,7 @@ func (m *ListDatabasesResponse) Reset() { *m = ListDatabasesResponse{} } func (m *ListDatabasesResponse) String() string { return proto.CompactTextString(m) } func (*ListDatabasesResponse) ProtoMessage() {} func (*ListDatabasesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{151} + return fileDescriptor_02345ba45cc0e303, []int{154} } func (m *ListDatabasesResponse) XXX_Unmarshal(b []byte) error { @@ -9518,7 +9832,7 @@ func (m *ReplicateMessageRequest) Reset() { *m = ReplicateMessageRequest func (m *ReplicateMessageRequest) String() string { return proto.CompactTextString(m) } func (*ReplicateMessageRequest) ProtoMessage() {} func (*ReplicateMessageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{152} + return fileDescriptor_02345ba45cc0e303, []int{155} } func (m *ReplicateMessageRequest) XXX_Unmarshal(b []byte) error { @@ -9600,7 +9914,7 @@ func (m *ReplicateMessageResponse) Reset() { *m = ReplicateMessageRespon func (m *ReplicateMessageResponse) String() string { return proto.CompactTextString(m) } func (*ReplicateMessageResponse) ProtoMessage() {} func (*ReplicateMessageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_02345ba45cc0e303, []int{153} + return fileDescriptor_02345ba45cc0e303, []int{156} } func (m *ReplicateMessageResponse) XXX_Unmarshal(b []byte) error { @@ -9686,6 +10000,7 @@ func init() { proto.RegisterType((*ShowSegmentsRequest)(nil), "milvus.protov2.milvus.ShowSegmentsRequest") proto.RegisterType((*ShowSegmentsResponse)(nil), "milvus.protov2.milvus.ShowSegmentsResponse") proto.RegisterType((*CreateIndexRequest)(nil), "milvus.protov2.milvus.CreateIndexRequest") + proto.RegisterType((*AlterIndexRequest)(nil), "milvus.protov2.milvus.AlterIndexRequest") proto.RegisterType((*DescribeIndexRequest)(nil), "milvus.protov2.milvus.DescribeIndexRequest") proto.RegisterType((*IndexDescription)(nil), "milvus.protov2.milvus.IndexDescription") proto.RegisterType((*DescribeIndexResponse)(nil), "milvus.protov2.milvus.DescribeIndexResponse") @@ -9701,6 +10016,7 @@ func init() { proto.RegisterType((*SearchRequest)(nil), "milvus.protov2.milvus.SearchRequest") proto.RegisterType((*Hits)(nil), "milvus.protov2.milvus.Hits") proto.RegisterType((*SearchResults)(nil), "milvus.protov2.milvus.SearchResults") + proto.RegisterType((*HybridSearchRequest)(nil), "milvus.protov2.milvus.HybridSearchRequest") proto.RegisterType((*FlushRequest)(nil), "milvus.protov2.milvus.FlushRequest") proto.RegisterType((*FlushResponse)(nil), "milvus.protov2.milvus.FlushResponse") proto.RegisterMapType((map[string]uint64)(nil), "milvus.protov2.milvus.FlushResponse.CollFlushTsEntry") @@ -9787,6 +10103,8 @@ func init() { proto.RegisterType((*CheckHealthRequest)(nil), "milvus.protov2.milvus.CheckHealthRequest") proto.RegisterType((*CheckHealthResponse)(nil), "milvus.protov2.milvus.CheckHealthResponse") proto.RegisterType((*CreateResourceGroupRequest)(nil), "milvus.protov2.milvus.CreateResourceGroupRequest") + proto.RegisterType((*UpdateResourceGroupsRequest)(nil), "milvus.protov2.milvus.UpdateResourceGroupsRequest") + proto.RegisterMapType((map[string]*rgpb.ResourceGroupConfig)(nil), "milvus.protov2.milvus.UpdateResourceGroupsRequest.ResourceGroupsEntry") proto.RegisterType((*DropResourceGroupRequest)(nil), "milvus.protov2.milvus.DropResourceGroupRequest") proto.RegisterType((*TransferNodeRequest)(nil), "milvus.protov2.milvus.TransferNodeRequest") proto.RegisterType((*TransferReplicaRequest)(nil), "milvus.protov2.milvus.TransferReplicaRequest") @@ -9817,474 +10135,493 @@ func init() { func init() { proto.RegisterFile("milvus.proto", fileDescriptor_02345ba45cc0e303) } var fileDescriptor_02345ba45cc0e303 = []byte{ - // 7468 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x8c, 0x1c, 0xc7, - 0x71, 0x30, 0x67, 0xf7, 0xf6, 0x55, 0xfb, 0xb8, 0xbd, 0xbe, 0xd7, 0x6a, 0xf5, 0x3a, 0x8d, 0x44, - 0x89, 0xa2, 0x44, 0x52, 0x3e, 0xbd, 0x2c, 0xd9, 0x96, 0xcc, 0xbb, 0x93, 0x48, 0x5a, 0x24, 0x45, - 0xcf, 0x1d, 0xa5, 0xcf, 0x36, 0xf4, 0x2d, 0xe6, 0x76, 0xfa, 0xf6, 0xc6, 0x9c, 0x9d, 0x59, 0xcd, - 0xcc, 0xde, 0xf1, 0xec, 0x24, 0xc8, 0x0f, 0x07, 0xf2, 0xdb, 0x81, 0x0d, 0x07, 0x76, 0x12, 0x23, - 0x4e, 0x02, 0x38, 0x86, 0x1d, 0x20, 0x81, 0x1d, 0x03, 0x09, 0x90, 0x04, 0x79, 0xfc, 0x13, 0x02, - 0xc4, 0x41, 0x00, 0x3b, 0x81, 0x91, 0x20, 0xbf, 0x82, 0xe4, 0x47, 0x10, 0x24, 0x3f, 0xf2, 0x27, - 0x41, 0x1c, 0xf4, 0x63, 0x66, 0x7b, 0x66, 0xa7, 0x77, 0x67, 0x39, 0xa2, 0x48, 0x06, 0xd9, 0x5f, - 0x3b, 0x3d, 0xdd, 0x5d, 0xd5, 0xd5, 0xd5, 0x55, 0xd5, 0xd5, 0xd5, 0x35, 0x50, 0xeb, 0x9b, 0xd6, - 0xc1, 0xd0, 0x3b, 0x3d, 0x70, 0x1d, 0xdf, 0x41, 0xcb, 0xe2, 0xd3, 0xc1, 0xfa, 0x69, 0xf6, 0xd8, - 0xae, 0x75, 0x9d, 0x7e, 0xdf, 0xb1, 0x59, 0x71, 0xbb, 0xe6, 0x75, 0xf7, 0x71, 0x5f, 0xe7, 0x4f, - 0xd5, 0x3d, 0x6c, 0x60, 0x97, 0x3f, 0x54, 0xfa, 0x5e, 0x8f, 0xff, 0x5d, 0xeb, 0x39, 0x4e, 0xcf, - 0xc2, 0x67, 0xe8, 0xd3, 0xee, 0x70, 0xef, 0x8c, 0x81, 0xbd, 0xae, 0x6b, 0x0e, 0x7c, 0x87, 0x57, - 0x56, 0xbf, 0xa9, 0x00, 0xda, 0x74, 0xb1, 0xee, 0xe3, 0xb3, 0x96, 0xa9, 0x7b, 0x1a, 0x7e, 0x73, - 0x88, 0x3d, 0x1f, 0xad, 0xc3, 0xdc, 0xae, 0xee, 0xe1, 0x96, 0xb2, 0xa6, 0x9c, 0xa8, 0xae, 0xdf, - 0x77, 0x3a, 0x86, 0x12, 0x47, 0xe5, 0x92, 0xd7, 0xdb, 0xd0, 0x3d, 0xac, 0xd1, 0xba, 0x68, 0x15, - 0x4a, 0xc6, 0x6e, 0xc7, 0xd6, 0xfb, 0xb8, 0x95, 0x5b, 0x53, 0x4e, 0x54, 0xb4, 0xa2, 0xb1, 0x7b, - 0x59, 0xef, 0x63, 0xf4, 0x08, 0xcc, 0x77, 0x1d, 0xcb, 0xc2, 0x5d, 0xdf, 0x74, 0x6c, 0x56, 0x21, - 0x4f, 0x2b, 0x34, 0x46, 0xc5, 0xb4, 0xe2, 0x12, 0x14, 0x74, 0x82, 0x45, 0x6b, 0x8e, 0xbe, 0x66, - 0x0f, 0xea, 0x10, 0x9a, 0x5b, 0xae, 0x33, 0xb8, 0x79, 0xf8, 0x85, 0x60, 0xf3, 0x22, 0xd8, 0x5f, - 0x53, 0x60, 0xe1, 0xac, 0xe5, 0x63, 0xf7, 0xb6, 0x25, 0xcc, 0x11, 0x2c, 0x6d, 0xd1, 0xf9, 0xdc, - 0xc5, 0xef, 0x36, 0x71, 0xbe, 0xa1, 0xc0, 0x72, 0x0c, 0xb6, 0x37, 0x70, 0x6c, 0x0f, 0xa3, 0xa7, - 0xa1, 0xe8, 0xf9, 0xba, 0x3f, 0xf4, 0x38, 0xf8, 0x7b, 0x25, 0xe0, 0xb7, 0x69, 0x25, 0x8d, 0x57, - 0x9e, 0x11, 0x3e, 0xba, 0x0f, 0x60, 0x44, 0x22, 0x4e, 0x15, 0xa1, 0x44, 0xfd, 0xac, 0x02, 0xe8, - 0xa2, 0xe9, 0xf9, 0x14, 0x37, 0x7c, 0x6b, 0x67, 0x4f, 0xfd, 0xb6, 0x02, 0x8b, 0x11, 0x64, 0x6e, - 0x12, 0xa9, 0x52, 0xb3, 0x53, 0x0b, 0x4a, 0x3a, 0xc3, 0xa5, 0x35, 0xb7, 0x96, 0x3f, 0x51, 0xd1, - 0x82, 0x47, 0xf5, 0x57, 0xf3, 0xb0, 0xca, 0xc4, 0xc1, 0x66, 0xd8, 0xe4, 0xd6, 0xb2, 0xfe, 0x0a, - 0x14, 0x99, 0xa8, 0xa3, 0xb3, 0x5c, 0xd3, 0xf8, 0x13, 0xba, 0x17, 0xc0, 0xdb, 0xd7, 0x5d, 0xc3, - 0xeb, 0xd8, 0xc3, 0x7e, 0xab, 0xb0, 0xa6, 0x9c, 0x28, 0x68, 0x15, 0x56, 0x72, 0x79, 0xd8, 0x47, - 0x3b, 0xb0, 0xd0, 0x75, 0x6c, 0xcf, 0xf4, 0x7c, 0x6c, 0x77, 0x8f, 0x3a, 0x16, 0x3e, 0xc0, 0x56, - 0xab, 0xb8, 0xa6, 0x9c, 0x68, 0xac, 0x3f, 0x22, 0xc1, 0x7c, 0x73, 0x54, 0xff, 0x22, 0xa9, 0xae, - 0x35, 0xbb, 0xb1, 0x12, 0xb4, 0x09, 0x30, 0x70, 0x9d, 0x01, 0x76, 0x7d, 0x13, 0x7b, 0xad, 0xd2, - 0x5a, 0xfe, 0x44, 0x75, 0xfd, 0x41, 0x49, 0x77, 0xaf, 0xe0, 0xa3, 0xd7, 0x74, 0x6b, 0x88, 0xaf, - 0xe8, 0xa6, 0xab, 0x09, 0xcd, 0xd0, 0x71, 0x68, 0xd8, 0xc3, 0x7e, 0x67, 0xa0, 0xbb, 0xbe, 0x49, - 0x86, 0xe9, 0xb5, 0xca, 0x6b, 0xca, 0x89, 0xbc, 0x56, 0xb7, 0x87, 0xfd, 0x2b, 0x61, 0xe1, 0xf3, - 0xe8, 0xed, 0x17, 0xe6, 0xcb, 0x4a, 0x53, 0x69, 0xfd, 0x34, 0xf8, 0x29, 0xea, 0xaf, 0x93, 0x65, - 0xe7, 0x3a, 0x83, 0xdb, 0x64, 0x72, 0x02, 0x1c, 0x73, 0x22, 0x8e, 0x9f, 0xcb, 0xc1, 0x0a, 0x95, - 0x9b, 0xb7, 0x0b, 0x07, 0xa9, 0x50, 0x1b, 0x95, 0x5c, 0xd8, 0xa2, 0x7c, 0x94, 0xd7, 0x22, 0x65, - 0xb1, 0x89, 0x2d, 0xdc, 0xd0, 0xc4, 0x26, 0xce, 0xd8, 0x77, 0x15, 0x58, 0x3a, 0xaf, 0x7b, 0xb7, - 0x0b, 0x2d, 0xee, 0x05, 0xf0, 0xcd, 0x3e, 0xee, 0x78, 0xbe, 0xde, 0x1f, 0x50, 0x4a, 0xcc, 0x69, - 0x15, 0x52, 0xb2, 0x4d, 0x0a, 0xd4, 0x8f, 0x41, 0x6d, 0xc3, 0x71, 0xac, 0xac, 0x12, 0x6a, 0x09, - 0x0a, 0x07, 0x84, 0x42, 0x14, 0xcb, 0xb2, 0xc6, 0x1e, 0xd4, 0x37, 0xa0, 0xb1, 0xed, 0xbb, 0xa6, - 0xdd, 0x7b, 0x47, 0xbb, 0xaf, 0x04, 0xdd, 0xff, 0x93, 0x02, 0x77, 0x05, 0x2a, 0xe9, 0x4e, 0x62, - 0xbd, 0xe8, 0x94, 0x14, 0x62, 0x53, 0x12, 0x30, 0x55, 0x5e, 0x64, 0xaa, 0x2f, 0x14, 0xa1, 0x9d, - 0x34, 0xd4, 0x6c, 0x64, 0x7d, 0x31, 0x94, 0xb4, 0x39, 0xda, 0x6c, 0x4c, 0x4e, 0x72, 0x93, 0x73, - 0x04, 0x71, 0x9b, 0x16, 0x84, 0x22, 0x39, 0x3e, 0xda, 0x7c, 0xc2, 0x68, 0xd7, 0x61, 0xf9, 0xc0, - 0x74, 0xfd, 0xa1, 0x6e, 0x75, 0xba, 0xfb, 0xba, 0x6d, 0x63, 0x8b, 0xd2, 0x2f, 0x50, 0x44, 0x8b, - 0xfc, 0xe5, 0x26, 0x7b, 0x47, 0x88, 0xe8, 0xa1, 0xa7, 0x60, 0x65, 0xb0, 0x7f, 0xe4, 0x99, 0xdd, - 0xb1, 0x46, 0x05, 0xda, 0x68, 0x29, 0x78, 0x1b, 0x69, 0xf5, 0x18, 0x2c, 0x74, 0xa9, 0x26, 0x33, - 0x3a, 0x84, 0x9a, 0x8c, 0xbc, 0x45, 0x4a, 0xde, 0x26, 0x7f, 0xb1, 0x13, 0x94, 0x13, 0xb4, 0x82, - 0xca, 0x43, 0xbf, 0x2b, 0x34, 0x28, 0xd1, 0x06, 0x8b, 0xfc, 0xe5, 0x55, 0xbf, 0x3b, 0x6a, 0x13, - 0xd5, 0x40, 0xe5, 0xb8, 0x06, 0x12, 0x94, 0x6c, 0x25, 0xa2, 0x64, 0xd1, 0x2b, 0x30, 0xef, 0xf9, - 0xba, 0xeb, 0x77, 0x06, 0x8e, 0xc7, 0x35, 0x00, 0x50, 0x89, 0xa3, 0xca, 0x25, 0xce, 0x96, 0xee, - 0xeb, 0x54, 0xe0, 0x34, 0x68, 0xd3, 0x2b, 0x41, 0xcb, 0x64, 0x45, 0x57, 0xcd, 0xaa, 0xe8, 0x12, - 0x38, 0xbc, 0x96, 0xc8, 0xe1, 0x51, 0xc1, 0x59, 0xbf, 0x31, 0x8d, 0x28, 0x2c, 0xb4, 0x46, 0x64, - 0xa1, 0x8d, 0xab, 0xca, 0xf9, 0x04, 0x55, 0xa9, 0xfe, 0x7c, 0x0e, 0x96, 0x2f, 0x3a, 0xba, 0x71, - 0xbb, 0x2c, 0xfb, 0xe3, 0xd0, 0x70, 0xf1, 0xc0, 0x32, 0xbb, 0x3a, 0x61, 0x8d, 0x5d, 0xec, 0xd2, - 0x85, 0x5f, 0xd0, 0xea, 0xbc, 0xf4, 0x32, 0x2d, 0x24, 0xfd, 0xb9, 0xd8, 0x73, 0x86, 0x6e, 0x17, - 0x77, 0x7a, 0xae, 0x33, 0x1c, 0x04, 0x0c, 0xdd, 0x08, 0x8a, 0xcf, 0xd1, 0x52, 0xc2, 0x4a, 0x2e, - 0xde, 0x73, 0xb1, 0xb7, 0x4f, 0x19, 0xb8, 0xac, 0x05, 0x8f, 0xcf, 0x97, 0xde, 0x7e, 0x61, 0xae, - 0x59, 0x68, 0xe5, 0xd5, 0xaf, 0x2b, 0xd0, 0xd2, 0xb0, 0x85, 0x75, 0xef, 0x76, 0x11, 0x7e, 0x0c, - 0xb7, 0x62, 0x2b, 0xaf, 0xfe, 0xab, 0x02, 0x4b, 0xe7, 0xb0, 0x4f, 0xc4, 0x8d, 0xe9, 0xf9, 0x66, - 0xf7, 0x16, 0x6f, 0xa6, 0x1e, 0x81, 0xf9, 0x90, 0xa1, 0x22, 0xc2, 0xa7, 0x11, 0x16, 0x33, 0x09, - 0x72, 0x06, 0x16, 0x7b, 0x43, 0xdd, 0xd5, 0x6d, 0x1f, 0x63, 0x41, 0x24, 0x30, 0x11, 0x8d, 0xc2, - 0x57, 0xa1, 0x44, 0x60, 0x23, 0x86, 0x56, 0x5e, 0xfd, 0x8c, 0x02, 0xcb, 0xb1, 0x11, 0x67, 0x93, - 0xcd, 0xcf, 0x41, 0x81, 0xfc, 0xf3, 0x5a, 0xb9, 0xf4, 0x2b, 0x8c, 0xb5, 0x20, 0xfb, 0xd8, 0xfb, - 0xce, 0x61, 0x5f, 0x90, 0xda, 0xb7, 0xc7, 0x3c, 0x8c, 0xa8, 0xf5, 0x15, 0x05, 0xee, 0x97, 0x62, - 0x78, 0xcb, 0xe8, 0xf6, 0x5f, 0x0a, 0xac, 0x6c, 0xef, 0x3b, 0x87, 0x23, 0xb4, 0x6e, 0x0e, 0xbd, - 0xa2, 0xfa, 0x3f, 0x1f, 0xd3, 0xff, 0xe8, 0x49, 0x98, 0xf3, 0x8f, 0x06, 0x98, 0x4a, 0x90, 0xc6, - 0xfa, 0xfd, 0xa7, 0x13, 0x9d, 0x43, 0xa7, 0x09, 0xa2, 0x3b, 0x47, 0x03, 0xac, 0xd1, 0xca, 0xe8, - 0x14, 0x34, 0x63, 0x73, 0xc0, 0x45, 0xcb, 0x46, 0xae, 0xa5, 0x68, 0xf3, 0xd1, 0x89, 0x08, 0x0d, - 0xd7, 0x39, 0xd1, 0xc6, 0xf8, 0x8f, 0x1c, 0xac, 0x8e, 0x0d, 0x3f, 0xdb, 0x64, 0x3c, 0x9a, 0x80, - 0x55, 0x8e, 0xae, 0xbc, 0x38, 0x46, 0x44, 0x82, 0x0a, 0x55, 0x4d, 0x83, 0x6c, 0xff, 0xf3, 0x44, - 0xf0, 0x0b, 0xc6, 0x84, 0xe1, 0xa1, 0x53, 0x80, 0xc6, 0x74, 0x3c, 0x5b, 0xcd, 0x73, 0xda, 0x42, - 0x5c, 0xc9, 0x53, 0x43, 0x22, 0x51, 0xcb, 0x33, 0xe2, 0xcc, 0x69, 0x4b, 0x09, 0x6a, 0xde, 0x43, - 0x4f, 0xc3, 0x92, 0x69, 0x5f, 0xc2, 0x7d, 0xc7, 0x3d, 0xea, 0x0c, 0xb0, 0xdb, 0xc5, 0xb6, 0xaf, - 0xf7, 0xb0, 0xd7, 0x2a, 0x12, 0x8c, 0x28, 0x41, 0x17, 0x83, 0xf7, 0x57, 0x46, 0xaf, 0xd1, 0x33, - 0xb0, 0xfa, 0xe6, 0x10, 0xbb, 0x47, 0x1d, 0x0f, 0xbb, 0x07, 0x66, 0x17, 0x77, 0xf4, 0x03, 0xdd, - 0xb4, 0xf4, 0x5d, 0x0b, 0xd3, 0x8d, 0x63, 0x59, 0x5b, 0xa6, 0xaf, 0xb7, 0xd9, 0xdb, 0xb3, 0xc1, - 0x4b, 0xf5, 0x07, 0x0a, 0xac, 0xb0, 0x2d, 0x78, 0xa8, 0xe1, 0x6e, 0xb9, 0x36, 0x8b, 0xca, 0x4b, - 0xee, 0x6f, 0xa9, 0x47, 0xc4, 0xa5, 0xfa, 0x7d, 0x05, 0x96, 0xc8, 0xde, 0xf4, 0xce, 0xc2, 0xfa, - 0x7b, 0x0a, 0x2c, 0x9e, 0xd7, 0xbd, 0x3b, 0x0b, 0xe9, 0x6f, 0x72, 0x7b, 0x67, 0x64, 0x02, 0xdd, - 0x21, 0x1a, 0x75, 0xdc, 0x30, 0x2a, 0xa4, 0x34, 0x8c, 0x8a, 0xd3, 0x0c, 0xa3, 0x52, 0xc4, 0x30, - 0x52, 0xff, 0x60, 0x64, 0x0f, 0xdd, 0x69, 0x54, 0x52, 0xff, 0x50, 0x81, 0x7b, 0xcf, 0x61, 0x3f, - 0xc4, 0xfb, 0x76, 0x31, 0x9c, 0x52, 0x72, 0xe7, 0x97, 0x99, 0xc1, 0x91, 0x88, 0xfe, 0x2d, 0xd3, - 0xe6, 0x5f, 0xc9, 0xc1, 0x32, 0x51, 0x67, 0xb7, 0x0b, 0x33, 0xa4, 0xf1, 0x0c, 0x24, 0x30, 0x4c, - 0x21, 0x71, 0x59, 0x3d, 0xcb, 0x6d, 0x84, 0x62, 0x2a, 0x1b, 0x81, 0xaa, 0x2c, 0xda, 0x40, 0xfd, - 0xfd, 0x1c, 0xb3, 0x71, 0x44, 0xaa, 0x64, 0x9b, 0xa2, 0x04, 0x9c, 0x73, 0x89, 0x38, 0xab, 0x50, - 0x0b, 0x4b, 0x2e, 0x6c, 0x05, 0xfa, 0x3d, 0x52, 0x76, 0x3b, 0xab, 0x77, 0xf5, 0x8b, 0x0a, 0xac, - 0x04, 0x3e, 0x98, 0x6d, 0xdc, 0xeb, 0x63, 0xdb, 0xcf, 0xc2, 0x51, 0x71, 0x7e, 0xc8, 0x25, 0xf0, - 0xc3, 0x3d, 0x50, 0xf1, 0x18, 0xa4, 0xd0, 0xb9, 0x32, 0x2a, 0x50, 0xff, 0x54, 0x81, 0xd5, 0x31, - 0x84, 0xb2, 0x4d, 0x66, 0x0b, 0x4a, 0xa6, 0x6d, 0xe0, 0xeb, 0x21, 0x3e, 0xc1, 0x23, 0x79, 0xb3, - 0x3b, 0x34, 0x2d, 0x23, 0x44, 0x24, 0x78, 0x44, 0x0f, 0x40, 0x0d, 0xdb, 0xc4, 0x90, 0xe9, 0xd0, - 0xba, 0x94, 0xb1, 0xcb, 0x5a, 0x95, 0x95, 0x5d, 0x20, 0x45, 0xa4, 0xf1, 0x9e, 0x89, 0x69, 0xe3, - 0x02, 0x6b, 0xcc, 0x1f, 0xd5, 0x2f, 0x29, 0xb0, 0x48, 0xf8, 0x91, 0xe3, 0xef, 0xdd, 0x6c, 0x8a, - 0xae, 0x41, 0x55, 0x60, 0x38, 0x3e, 0x14, 0xb1, 0x48, 0xed, 0xc3, 0x52, 0x14, 0xa1, 0x6c, 0x14, - 0xbd, 0x0f, 0x20, 0x9c, 0x31, 0xb6, 0x32, 0xf2, 0x9a, 0x50, 0xa2, 0x7e, 0x3d, 0x17, 0x1c, 0xc7, - 0x52, 0x52, 0xdd, 0x72, 0x67, 0x31, 0x9d, 0x18, 0x51, 0xd6, 0x57, 0x68, 0x09, 0x7d, 0xfd, 0x32, - 0xd4, 0xf0, 0x75, 0xdf, 0xd5, 0x3b, 0x03, 0xdd, 0xd5, 0xfb, 0x33, 0x79, 0xcd, 0xab, 0xb4, 0xe1, - 0x15, 0xda, 0x8e, 0x80, 0xa1, 0xac, 0xc2, 0xc0, 0x14, 0x19, 0x18, 0x5a, 0x32, 0xda, 0x26, 0x56, - 0x5b, 0x79, 0xf5, 0xdf, 0x94, 0xd1, 0x79, 0xe7, 0xed, 0x4f, 0x9d, 0xe8, 0xa8, 0x0a, 0xb1, 0x51, - 0x91, 0xb5, 0x1c, 0xf7, 0x4a, 0x8e, 0x0a, 0xd8, 0x98, 0x6b, 0xad, 0xbc, 0xfa, 0x56, 0x1e, 0x9a, - 0x74, 0xac, 0x5b, 0xfc, 0xe0, 0xde, 0x74, 0xec, 0x58, 0xd7, 0x4a, 0xbc, 0x6b, 0xf9, 0xaa, 0x7d, - 0x1f, 0x14, 0xf9, 0x5c, 0xe5, 0xd3, 0xcf, 0x15, 0x6f, 0x32, 0x6d, 0xbc, 0x0f, 0x40, 0x8d, 0x82, - 0xc1, 0x46, 0xc7, 0x75, 0x0e, 0x3d, 0xbe, 0xb2, 0xab, 0xbc, 0x4c, 0x73, 0x0e, 0x69, 0x0f, 0xbe, - 0xe3, 0xeb, 0x16, 0xab, 0x50, 0x64, 0x02, 0x8c, 0x96, 0xd0, 0xd7, 0xcf, 0x32, 0xed, 0x8e, 0xa9, - 0x29, 0xd7, 0x58, 0x7f, 0x40, 0x82, 0x1c, 0x25, 0x07, 0x59, 0x56, 0x98, 0xe9, 0x76, 0xb2, 0x16, - 0x57, 0x19, 0x3d, 0xe8, 0x63, 0x67, 0x4f, 0x37, 0xad, 0x8e, 0x8b, 0x75, 0xcf, 0xb1, 0xa9, 0x57, - 0xb6, 0xa2, 0x2d, 0x99, 0x61, 0x9b, 0x97, 0x75, 0xd3, 0xd2, 0xe8, 0x3b, 0xf4, 0x38, 0xa0, 0x01, - 0xb6, 0x0d, 0xd3, 0xee, 0x31, 0x51, 0xc5, 0xd0, 0xaa, 0x50, 0xb4, 0x9a, 0xfc, 0x0d, 0xe3, 0x33, - 0xe7, 0xd0, 0x53, 0xbf, 0x25, 0x9c, 0x78, 0x73, 0xee, 0xcb, 0x26, 0x0a, 0x5e, 0x03, 0xc4, 0xc0, - 0x1a, 0xa3, 0xa9, 0x0d, 0x2c, 0x9b, 0x47, 0x24, 0x2a, 0x3c, 0xce, 0x0a, 0xda, 0x82, 0x19, 0x2b, - 0xf1, 0xd4, 0x9f, 0x28, 0x70, 0xcf, 0x39, 0xec, 0xd3, 0xaa, 0x1b, 0x44, 0x28, 0x5f, 0x71, 0x9d, - 0x9e, 0x8b, 0x3d, 0xef, 0x0e, 0x5e, 0x2e, 0xa3, 0x05, 0xf1, 0x35, 0x66, 0x1b, 0x27, 0x8d, 0x2e, - 0xdb, 0x74, 0xc4, 0xf9, 0x37, 0x37, 0x8d, 0x7f, 0xf3, 0x31, 0xfe, 0x55, 0xff, 0x9a, 0xb9, 0x39, - 0x05, 0xfe, 0xfc, 0xdf, 0x40, 0xf0, 0x6f, 0x33, 0x57, 0xa6, 0x38, 0xaa, 0x6c, 0x84, 0x0e, 0x97, - 0x79, 0x6e, 0xc6, 0x65, 0x7e, 0x3f, 0x54, 0xc5, 0xa5, 0xcd, 0x46, 0x0d, 0x7b, 0xe1, 0x82, 0x56, - 0xff, 0x52, 0x61, 0x91, 0x42, 0x77, 0xba, 0x72, 0x60, 0xc4, 0xaf, 0xb7, 0xf2, 0xea, 0xef, 0xe6, - 0xa0, 0x7e, 0xc1, 0xf6, 0xb0, 0xeb, 0xdf, 0x09, 0x3b, 0x3f, 0x74, 0x16, 0xaa, 0x74, 0x8c, 0x5e, - 0xc7, 0xd0, 0x7d, 0x9d, 0x1b, 0x04, 0x6b, 0x92, 0x63, 0xc4, 0x97, 0x49, 0xcd, 0x2d, 0xdd, 0xd7, - 0x35, 0x46, 0x2a, 0x8f, 0xfc, 0x47, 0x77, 0x43, 0x65, 0x5f, 0xf7, 0xf6, 0x3b, 0xd7, 0xf0, 0x11, - 0x33, 0xc1, 0xeb, 0x5a, 0x99, 0x14, 0xbc, 0x82, 0x8f, 0x3c, 0x74, 0x17, 0x94, 0xed, 0x61, 0x9f, - 0x2d, 0x3f, 0xa2, 0x24, 0xea, 0x5a, 0xc9, 0x1e, 0xf6, 0xc9, 0xe2, 0x63, 0x24, 0x2b, 0x73, 0x92, - 0x5d, 0x1d, 0xfc, 0x1f, 0xc9, 0x52, 0x92, 0xec, 0xae, 0x56, 0x5e, 0xfd, 0x61, 0x0e, 0x1a, 0x97, - 0x86, 0x64, 0x97, 0x4e, 0x0f, 0x91, 0x87, 0x96, 0x7f, 0xa3, 0x6b, 0xfb, 0x71, 0xc8, 0x33, 0xbb, - 0x96, 0xb4, 0x69, 0x4b, 0x46, 0x71, 0x61, 0xcb, 0xd3, 0x48, 0x35, 0x7a, 0x80, 0x3a, 0xec, 0x76, - 0xf9, 0x46, 0x21, 0x4f, 0x31, 0xaf, 0x90, 0x12, 0xb6, 0x4d, 0xb8, 0x1b, 0x2a, 0xd8, 0x75, 0xc3, - 0x6d, 0x04, 0x1d, 0x17, 0x76, 0x5d, 0xf6, 0x52, 0x85, 0x9a, 0xde, 0xbd, 0x66, 0x3b, 0x87, 0x16, - 0x36, 0x7a, 0xd8, 0xa0, 0x6b, 0xa8, 0xac, 0x45, 0xca, 0xd8, 0x2a, 0x23, 0x9c, 0xd0, 0xe9, 0xda, - 0x7e, 0x60, 0x6f, 0xb0, 0x92, 0x4d, 0xdb, 0x27, 0xaf, 0x0d, 0x6c, 0x61, 0x1f, 0xd3, 0xd7, 0x25, - 0xf6, 0x9a, 0x95, 0xf0, 0xd7, 0xc3, 0x41, 0xd8, 0x9a, 0x85, 0xe8, 0x54, 0x58, 0x09, 0x79, 0x1d, - 0x31, 0xe0, 0x2a, 0x31, 0x03, 0x4e, 0xfd, 0x47, 0x05, 0xea, 0x5b, 0xb4, 0xab, 0x3b, 0x82, 0x0b, - 0x11, 0xcc, 0xe1, 0xeb, 0x03, 0x97, 0x4b, 0x22, 0xfa, 0x7f, 0x22, 0x5b, 0x31, 0xde, 0xa9, 0xb4, - 0xf2, 0xea, 0x7f, 0x17, 0xa0, 0xbe, 0x8d, 0x75, 0xb7, 0xbb, 0x7f, 0x87, 0xb8, 0x20, 0x9b, 0x90, - 0x37, 0x3c, 0x8b, 0x8f, 0x94, 0xfc, 0x45, 0x8f, 0xc1, 0xc2, 0xc0, 0xd2, 0xbb, 0x78, 0xdf, 0xb1, - 0x0c, 0xec, 0x32, 0x87, 0x23, 0xe5, 0x96, 0x9a, 0xd6, 0x14, 0x5e, 0x50, 0x97, 0x23, 0x7a, 0x0e, - 0xca, 0x86, 0x67, 0x75, 0xa8, 0xbb, 0x85, 0xd9, 0xa9, 0xb2, 0x11, 0x6e, 0x79, 0x16, 0x3d, 0x91, - 0x29, 0x19, 0xec, 0x0f, 0x7a, 0x10, 0xea, 0xce, 0xd0, 0x1f, 0x0c, 0xfd, 0x0e, 0x5b, 0xbc, 0xad, - 0x32, 0x45, 0xb0, 0xc6, 0x0a, 0xe9, 0xda, 0xf6, 0xd0, 0x79, 0xa8, 0x7b, 0x94, 0x9c, 0xc1, 0xae, - 0xaa, 0x92, 0xde, 0x52, 0xaf, 0xb1, 0x96, 0x7c, 0x5b, 0xf5, 0x28, 0x34, 0x7d, 0x57, 0x3f, 0xc0, - 0x96, 0x70, 0x74, 0x09, 0x94, 0x4f, 0xe7, 0x59, 0xf9, 0x28, 0x92, 0x41, 0x72, 0xd0, 0x59, 0x95, - 0x1d, 0x74, 0xa2, 0x06, 0xe4, 0xec, 0x37, 0x69, 0x44, 0x40, 0x5e, 0xcb, 0xd9, 0x6f, 0xa2, 0x53, - 0xb0, 0x68, 0x3b, 0x7e, 0xc7, 0xc5, 0xfe, 0xd0, 0xb5, 0x3b, 0xba, 0x65, 0x75, 0xfa, 0xd8, 0xd7, - 0x5b, 0x75, 0xba, 0x28, 0x9b, 0xb6, 0xe3, 0x6b, 0xf4, 0xcd, 0x59, 0xcb, 0xba, 0x84, 0x7d, 0x3d, - 0x39, 0x66, 0xa1, 0x91, 0x35, 0x66, 0xe1, 0x19, 0x58, 0x1d, 0x7a, 0xb8, 0x63, 0xe0, 0x3d, 0x7d, - 0x68, 0xf9, 0x1d, 0xe1, 0x3d, 0x8d, 0x1a, 0x28, 0x6b, 0xcb, 0x43, 0x0f, 0x6f, 0xb1, 0xb7, 0x42, - 0x77, 0xe8, 0x49, 0x58, 0xe1, 0x24, 0xdf, 0x3d, 0xea, 0x0c, 0x5c, 0xb3, 0xaf, 0xbb, 0x47, 0x8c, - 0xeb, 0x9b, 0xb4, 0xd9, 0x22, 0x7b, 0xbb, 0x71, 0x74, 0x85, 0xbd, 0x1b, 0x2d, 0x80, 0x46, 0x2b, - 0xaf, 0xbe, 0x02, 0x73, 0xe7, 0x4d, 0x9f, 0xf2, 0x15, 0x11, 0x7d, 0x0a, 0xdd, 0xd2, 0x53, 0xf1, - 0x76, 0x17, 0x94, 0x5d, 0xe7, 0x90, 0xc9, 0x75, 0x62, 0xd6, 0xd7, 0xb4, 0x92, 0xeb, 0x1c, 0x52, - 0x91, 0x4d, 0x83, 0x1a, 0x1d, 0x17, 0xb3, 0x8d, 0x58, 0x4e, 0xe3, 0x4f, 0xea, 0xf7, 0x94, 0xd1, - 0x6a, 0x22, 0x72, 0xd8, 0xbb, 0x51, 0x41, 0x7c, 0x16, 0x4a, 0x2e, 0xeb, 0x61, 0x4a, 0x30, 0x8f, - 0x08, 0x8d, 0x6a, 0x96, 0xa0, 0x5d, 0xfa, 0xf0, 0xd6, 0x2f, 0x29, 0x50, 0x7b, 0xd9, 0x1a, 0x7a, - 0x37, 0x47, 0x02, 0x24, 0x1d, 0x1a, 0xe6, 0x13, 0x0f, 0x0d, 0xd9, 0x9c, 0xcc, 0xaf, 0xe5, 0xd5, - 0xdf, 0x28, 0x42, 0x9d, 0x63, 0x74, 0x93, 0x42, 0x6d, 0xaf, 0x42, 0x95, 0x40, 0xef, 0x78, 0xb8, - 0x17, 0x38, 0x2f, 0xab, 0xeb, 0x4f, 0x49, 0x76, 0x6d, 0x11, 0x54, 0x68, 0xf8, 0xd4, 0x36, 0x6d, - 0xf6, 0x92, 0xed, 0xbb, 0x47, 0x2c, 0x6c, 0x99, 0x15, 0x20, 0x0c, 0x0b, 0x7b, 0xa4, 0x72, 0x47, - 0xec, 0x7c, 0x8e, 0x76, 0xfe, 0x5c, 0xaa, 0xce, 0xe9, 0x53, 0x1c, 0xc2, 0xfc, 0x5e, 0xb4, 0x14, - 0x75, 0xd8, 0xd4, 0x76, 0x3c, 0xac, 0x73, 0xe9, 0xc0, 0x0d, 0x8f, 0x67, 0x67, 0x18, 0x81, 0xce, - 0x04, 0x08, 0x03, 0x51, 0xef, 0x8a, 0x65, 0xe8, 0x23, 0x40, 0x0b, 0x3a, 0x6c, 0x30, 0x3e, 0xd3, - 0x1f, 0xd5, 0xf5, 0xa7, 0x53, 0x77, 0x4f, 0x4b, 0x76, 0x78, 0xe7, 0x94, 0xd4, 0xbc, 0xa4, 0xdd, - 0x81, 0xf9, 0xd8, 0xf8, 0xc8, 0xd2, 0xbb, 0x86, 0x8f, 0xb8, 0x23, 0x84, 0xfc, 0x45, 0xcf, 0x88, - 0x11, 0x82, 0x72, 0x7b, 0xea, 0xa2, 0x63, 0xf7, 0xce, 0xba, 0xae, 0x7e, 0xc4, 0x63, 0x08, 0x9f, - 0xcf, 0xbd, 0x57, 0x69, 0x1b, 0xb0, 0x94, 0x44, 0xc5, 0x77, 0x18, 0xca, 0x07, 0x01, 0x8d, 0x93, - 0x31, 0x01, 0x46, 0x24, 0xd6, 0x31, 0x2f, 0xf6, 0xf0, 0x02, 0x34, 0xe3, 0x94, 0x9a, 0xd6, 0x7e, - 0x4e, 0x68, 0xaf, 0xfe, 0x70, 0x0e, 0x6a, 0x1f, 0x1e, 0x62, 0xf7, 0xe8, 0xd6, 0x2a, 0xee, 0xc0, - 0xf4, 0x98, 0x13, 0x4c, 0x8f, 0x31, 0x4d, 0x59, 0x48, 0xd0, 0x94, 0x09, 0x1a, 0xbf, 0x98, 0xa8, - 0xf1, 0x93, 0x14, 0x61, 0x69, 0x26, 0x45, 0x58, 0x96, 0x2a, 0xc2, 0x97, 0xa1, 0xc6, 0x0e, 0xf9, - 0x67, 0xd7, 0xd6, 0x55, 0xda, 0x90, 0x2b, 0x6b, 0x89, 0x02, 0x85, 0x59, 0x14, 0x68, 0xf5, 0x26, - 0x2a, 0xd0, 0xda, 0x04, 0x05, 0xca, 0xe4, 0x6e, 0xb3, 0x95, 0x57, 0x7f, 0xa4, 0x84, 0x2c, 0x95, - 0x51, 0x7b, 0x45, 0x36, 0x45, 0xb9, 0x1b, 0xd8, 0x14, 0xa5, 0xe6, 0xbf, 0x31, 0x5e, 0x9b, 0x1b, - 0xe7, 0x35, 0xf5, 0xfb, 0x0a, 0x54, 0x5e, 0xc3, 0x5d, 0xdf, 0x71, 0x89, 0xf8, 0x4c, 0xe8, 0x5b, - 0x49, 0xe1, 0x05, 0xc8, 0xc5, 0xbd, 0x00, 0x4f, 0x43, 0xd9, 0x34, 0x3a, 0x3a, 0x11, 0x0d, 0x14, - 0xb9, 0xc9, 0x5b, 0xa6, 0x92, 0x69, 0x50, 0x29, 0x92, 0xfe, 0x1c, 0xf9, 0x57, 0x14, 0xa8, 0x31, - 0xac, 0x3d, 0xd6, 0xf2, 0x03, 0x02, 0x40, 0x25, 0x59, 0x66, 0xf1, 0xc7, 0x70, 0xb0, 0xe7, 0x8f, - 0x8d, 0x00, 0x6f, 0x02, 0x90, 0xf9, 0xe0, 0x1d, 0x30, 0xa1, 0xa7, 0x4a, 0x30, 0x66, 0x1d, 0x50, - 0xf2, 0x9d, 0x3f, 0xa6, 0x55, 0x48, 0x3b, 0xda, 0xc9, 0x46, 0x09, 0x0a, 0xb4, 0xbd, 0xfa, 0xa9, - 0x1c, 0x2c, 0x6e, 0xea, 0x56, 0x77, 0xcb, 0xf4, 0x7c, 0xdd, 0xee, 0x66, 0xda, 0x28, 0xbd, 0x1f, - 0x4a, 0xce, 0xa0, 0x63, 0xe1, 0x3d, 0x9f, 0xa3, 0xf5, 0xe0, 0xc4, 0x71, 0x31, 0x72, 0x68, 0x45, - 0x67, 0x70, 0x11, 0xef, 0xf9, 0xe8, 0x05, 0x28, 0x3b, 0x83, 0x8e, 0x6b, 0xf6, 0xf6, 0x7d, 0x3e, - 0x0f, 0xa9, 0x9a, 0x97, 0x9c, 0x81, 0x46, 0xda, 0x08, 0x6e, 0xf5, 0xb9, 0x99, 0xdd, 0xea, 0xea, - 0x8f, 0x95, 0x38, 0x19, 0x32, 0x2d, 0x9d, 0xf7, 0x43, 0xd9, 0xb4, 0xfd, 0x8e, 0x61, 0x7a, 0x01, - 0x29, 0xee, 0x97, 0xf1, 0x94, 0xed, 0xd3, 0x71, 0xd0, 0x19, 0xb6, 0x7d, 0x02, 0x1f, 0x6d, 0x00, - 0xec, 0x59, 0x8e, 0xce, 0xdb, 0x33, 0x5a, 0x3c, 0x20, 0x5b, 0x77, 0xa4, 0x62, 0xd0, 0x43, 0x85, - 0x36, 0x23, 0x7d, 0x8c, 0x26, 0xd8, 0x85, 0x79, 0xaa, 0x9c, 0xce, 0x5a, 0xd6, 0xcd, 0x50, 0x31, - 0x41, 0xd4, 0xda, 0xc3, 0x62, 0xd4, 0xda, 0x35, 0x68, 0x8e, 0x60, 0x66, 0xb3, 0xfd, 0xd6, 0xa0, - 0xc6, 0xcc, 0x17, 0x22, 0x8d, 0xb9, 0x1d, 0x3d, 0xa7, 0xc1, 0x1e, 0xef, 0x7e, 0xc7, 0x53, 0xff, - 0x4a, 0x81, 0xe5, 0x2b, 0xd8, 0x65, 0x72, 0xd0, 0xe7, 0x47, 0x84, 0x17, 0xec, 0x3d, 0x27, 0x7a, - 0x52, 0xab, 0xc4, 0x4e, 0x6a, 0xdf, 0x99, 0x93, 0xc9, 0x88, 0x67, 0x87, 0x45, 0x0f, 0x04, 0x9e, - 0x9d, 0x20, 0x4e, 0x82, 0x79, 0x16, 0x1b, 0x52, 0x7e, 0xe4, 0x18, 0x8b, 0x4e, 0x56, 0xf5, 0xab, - 0x2c, 0x16, 0x33, 0x71, 0x58, 0x59, 0x66, 0x71, 0x05, 0xf8, 0xb4, 0xc5, 0xec, 0x84, 0x87, 0x21, - 0x26, 0x34, 0x25, 0x9b, 0x8c, 0x6f, 0x28, 0xb0, 0x26, 0xc7, 0x2b, 0xdb, 0x4c, 0x6f, 0x40, 0xc1, - 0xb4, 0xf7, 0x9c, 0xe0, 0xf0, 0xe5, 0x71, 0xc9, 0xe2, 0x4f, 0x86, 0xcd, 0x9a, 0xaa, 0x3f, 0xca, - 0x41, 0xf3, 0xc3, 0x2c, 0x9e, 0xef, 0x5d, 0x67, 0x83, 0x3e, 0xee, 0x77, 0x3c, 0xf3, 0x13, 0x38, - 0x60, 0x83, 0x3e, 0xee, 0x6f, 0x9b, 0x9f, 0xc0, 0x11, 0x0e, 0x29, 0x44, 0x39, 0x64, 0xf2, 0x99, - 0xab, 0x78, 0x84, 0x58, 0x8a, 0x1e, 0x21, 0xb6, 0xa1, 0x68, 0x3b, 0x06, 0xbe, 0xb0, 0xc5, 0x3c, - 0x62, 0x34, 0x3e, 0x82, 0x97, 0x8c, 0xd8, 0xae, 0x32, 0x2b, 0xdb, 0x11, 0x80, 0xb4, 0x13, 0x83, - 0x5d, 0x85, 0x20, 0x98, 0xb2, 0x47, 0xf5, 0x17, 0x15, 0x68, 0x9f, 0xc3, 0x7e, 0x9c, 0xb6, 0xb7, - 0x92, 0x17, 0xbf, 0xa2, 0xc0, 0xdd, 0x89, 0x28, 0x65, 0x63, 0xc3, 0x0f, 0x44, 0xd9, 0x50, 0x76, - 0x06, 0x38, 0x06, 0x96, 0x73, 0xe0, 0x7b, 0xa0, 0xb6, 0x35, 0xec, 0xf7, 0x43, 0x73, 0xfe, 0x01, - 0xa8, 0xb9, 0xec, 0x2f, 0xf3, 0x56, 0x31, 0x13, 0xa5, 0xca, 0xcb, 0x76, 0x8e, 0x06, 0x58, 0x7d, - 0x0c, 0xea, 0xbc, 0x09, 0xc7, 0xbc, 0x0d, 0x65, 0x97, 0xff, 0xe7, 0xf5, 0xc3, 0x67, 0x75, 0x19, - 0x16, 0x35, 0xdc, 0x23, 0x0b, 0xc0, 0xbd, 0x68, 0xda, 0xd7, 0x38, 0x18, 0xf5, 0x2d, 0x05, 0x96, - 0xa2, 0xe5, 0xbc, 0xaf, 0xf7, 0x42, 0x49, 0x37, 0x0c, 0x17, 0x7b, 0xde, 0x94, 0xc9, 0x39, 0xcb, - 0x6a, 0x69, 0x41, 0x75, 0x81, 0x7e, 0xb9, 0x19, 0xe8, 0xa7, 0xea, 0xb0, 0x70, 0x0e, 0xfb, 0x97, - 0xb0, 0xef, 0x66, 0x8c, 0x94, 0xa3, 0x51, 0x85, 0xb4, 0x39, 0x67, 0x90, 0xe0, 0x51, 0xfd, 0xa2, - 0x02, 0x48, 0x84, 0x91, 0x6d, 0xc2, 0x45, 0x6a, 0xe7, 0xa2, 0xd4, 0x66, 0x01, 0xd0, 0xfd, 0x81, - 0x63, 0x63, 0xdb, 0x17, 0xcd, 0xd7, 0x7a, 0x58, 0x4a, 0x59, 0xf1, 0x4f, 0x14, 0xa8, 0x6f, 0x06, - 0x25, 0x54, 0xe6, 0xac, 0x84, 0x0b, 0x94, 0x09, 0x9c, 0x60, 0x71, 0x22, 0x98, 0x73, 0x1d, 0x2b, - 0x00, 0x44, 0xff, 0xa3, 0x17, 0x01, 0xd8, 0x91, 0x79, 0xd7, 0x31, 0x18, 0x80, 0xc6, 0xb8, 0x45, - 0x28, 0xe0, 0x8e, 0x37, 0x1d, 0x03, 0x6b, 0x15, 0x2f, 0xf8, 0x4b, 0xec, 0x05, 0x16, 0x02, 0x42, - 0x58, 0x70, 0x16, 0xeb, 0xa7, 0x42, 0x9b, 0x11, 0x84, 0xd5, 0x9f, 0x28, 0x64, 0x47, 0xcf, 0x87, - 0x40, 0xa1, 0x78, 0xe8, 0xf9, 0x40, 0x92, 0x30, 0x7a, 0x3e, 0x24, 0x59, 0x0a, 0x91, 0x91, 0x07, - 0xa2, 0xe4, 0x2a, 0x2c, 0x7a, 0xc3, 0xdd, 0x11, 0xf1, 0x68, 0x69, 0xb0, 0xa8, 0xd2, 0xf5, 0x84, - 0xc4, 0x0e, 0x38, 0x4a, 0xa3, 0x39, 0xce, 0xcf, 0xc2, 0x94, 0x77, 0xc3, 0x5d, 0xf4, 0x6a, 0x43, - 0xa4, 0xb3, 0x60, 0xed, 0xfc, 0x54, 0x01, 0x74, 0xd1, 0xd1, 0x8d, 0x0d, 0xdd, 0xca, 0x6a, 0x01, - 0xdf, 0x0b, 0xe0, 0xb9, 0xdd, 0x0e, 0x9f, 0xfa, 0x1c, 0xd7, 0x35, 0x6e, 0xf7, 0x32, 0x9b, 0xfd, - 0xfb, 0xa1, 0x6a, 0x78, 0x3e, 0x7f, 0x1d, 0x04, 0xdb, 0x81, 0xe1, 0xf9, 0xec, 0x3d, 0xbd, 0x2d, - 0xe7, 0x61, 0xdd, 0xc2, 0x46, 0x47, 0x88, 0x4f, 0x9a, 0xa3, 0xd5, 0x9a, 0xec, 0xc5, 0x76, 0x58, - 0x9e, 0x20, 0x28, 0x0b, 0x89, 0xfb, 0x1f, 0xc1, 0x74, 0x2b, 0x46, 0x4c, 0x37, 0xba, 0x63, 0x5c, - 0x68, 0x15, 0xd4, 0x3d, 0x58, 0xbd, 0xa4, 0xdb, 0x43, 0xdd, 0x22, 0x14, 0xd2, 0x23, 0x97, 0x96, - 0xe2, 0xea, 0x51, 0x49, 0x50, 0x8f, 0xf7, 0xb1, 0xbb, 0x13, 0x6c, 0x1b, 0x1f, 0x58, 0x68, 0xa3, - 0x12, 0x06, 0xa7, 0xd4, 0x52, 0xd4, 0xdf, 0x52, 0xa0, 0x35, 0x0e, 0x28, 0xdb, 0xf2, 0xa5, 0x08, - 0x06, 0x9d, 0x89, 0xfa, 0x7b, 0x54, 0x86, 0x9e, 0x80, 0xc5, 0xd1, 0xf3, 0x15, 0x4b, 0xb7, 0x37, - 0x9d, 0xa1, 0xcd, 0x2c, 0xeb, 0x82, 0x96, 0xf4, 0x4a, 0x7d, 0x31, 0x64, 0x18, 0x3d, 0xbc, 0x0b, - 0x83, 0x23, 0x34, 0x11, 0x40, 0x2a, 0xe3, 0x20, 0xd5, 0xdf, 0xc9, 0x51, 0x85, 0x39, 0xd6, 0x43, - 0xb6, 0xc1, 0xbe, 0x3f, 0x7a, 0x6a, 0xff, 0xb0, 0xd4, 0xcb, 0x10, 0x85, 0xca, 0xd7, 0xe4, 0x09, - 0x98, 0xc7, 0xd7, 0x71, 0x77, 0xe8, 0x9b, 0x76, 0x8f, 0x0c, 0xf5, 0xb2, 0xc3, 0x4d, 0x99, 0x78, - 0x31, 0x7a, 0x08, 0xea, 0x64, 0xfe, 0x9c, 0xa1, 0xcf, 0xeb, 0x31, 0x9b, 0x26, 0x5a, 0x48, 0xfa, - 0x23, 0x63, 0xb6, 0xb0, 0x8f, 0x0d, 0x5e, 0x8f, 0x19, 0x38, 0xf1, 0x62, 0x42, 0xb1, 0x3d, 0xdd, - 0xb4, 0xc2, 0x6a, 0xec, 0x14, 0x30, 0x52, 0x36, 0x46, 0x72, 0x52, 0xec, 0xcd, 0x42, 0xf2, 0xbf, - 0x53, 0x62, 0x24, 0xe7, 0x3d, 0xdc, 0x4a, 0x92, 0x7f, 0x08, 0xa0, 0x8f, 0xdd, 0x1e, 0xbe, 0x40, - 0x4d, 0x0a, 0xe6, 0xa0, 0x3e, 0x39, 0x41, 0xfa, 0xb1, 0x2e, 0x2e, 0x05, 0x4d, 0x34, 0xa1, 0xb5, - 0x7a, 0x0e, 0x16, 0x13, 0xaa, 0x10, 0x3d, 0xc9, 0xa2, 0xf1, 0x83, 0x63, 0x8f, 0xe0, 0x91, 0x28, - 0x21, 0x5f, 0x77, 0x7b, 0xd8, 0xe7, 0x8b, 0x82, 0x3f, 0x11, 0xcb, 0x69, 0xe9, 0x1c, 0xf6, 0xe9, - 0x16, 0x2d, 0xc2, 0xd8, 0xd1, 0xb8, 0x48, 0x25, 0x1e, 0x17, 0x49, 0x4c, 0xd9, 0xd0, 0x97, 0xcc, - 0x96, 0x79, 0x69, 0x8f, 0x39, 0x3e, 0x45, 0x21, 0x93, 0x9f, 0xe6, 0x82, 0x9c, 0x4b, 0xb4, 0xe7, - 0xf6, 0x69, 0x84, 0x8b, 0x88, 0x54, 0xe6, 0xb0, 0x59, 0x8a, 0x1c, 0x36, 0xf8, 0x05, 0xf8, 0xe0, - 0x51, 0xfd, 0xb4, 0x02, 0xab, 0x01, 0xa8, 0xb3, 0x96, 0x95, 0x39, 0x4a, 0x68, 0xea, 0x1e, 0x55, - 0x4a, 0x1d, 0xf5, 0x1a, 0xb4, 0xc6, 0x31, 0xb9, 0x59, 0xe3, 0xfe, 0x5a, 0x0e, 0xea, 0x17, 0xfa, - 0x03, 0x67, 0x14, 0x94, 0x91, 0xda, 0x87, 0x36, 0x7e, 0x82, 0x9d, 0x4b, 0x3a, 0xc1, 0x7e, 0x10, - 0xea, 0xd1, 0xab, 0xe1, 0xec, 0x8c, 0xa8, 0xd6, 0x15, 0xaf, 0x84, 0xdf, 0x0d, 0x15, 0xd7, 0x39, - 0xec, 0x10, 0xd2, 0x19, 0x3c, 0x30, 0xb9, 0xec, 0x3a, 0x87, 0x84, 0xa0, 0x06, 0x5a, 0x82, 0xc2, - 0x9e, 0x69, 0x85, 0x31, 0xf6, 0xec, 0x01, 0x7d, 0x00, 0x4a, 0x0e, 0x0f, 0xcd, 0x2b, 0xa6, 0x37, - 0x6f, 0x82, 0x36, 0x22, 0xf9, 0x4b, 0xe3, 0x1a, 0x10, 0xb5, 0x14, 0xf5, 0x0d, 0x68, 0x04, 0x94, - 0xc9, 0x9c, 0x15, 0xc1, 0xd7, 0xbd, 0x6b, 0x41, 0x54, 0x31, 0x7b, 0x50, 0x1f, 0x63, 0xd1, 0x5b, - 0x14, 0x42, 0x84, 0xdd, 0x10, 0xcc, 0x91, 0x1a, 0x5c, 0x9e, 0xd1, 0xff, 0xea, 0xbf, 0xe4, 0x60, - 0x25, 0x5e, 0x3b, 0x1b, 0x52, 0xef, 0x8d, 0xca, 0x30, 0xd9, 0x05, 0x77, 0x11, 0x22, 0x97, 0x5f, - 0x7c, 0xae, 0xba, 0xa1, 0xbe, 0xcc, 0xd3, 0xb9, 0xa2, 0x4a, 0x92, 0x90, 0xd5, 0x34, 0x3a, 0x96, - 0xe9, 0xf9, 0xdc, 0x46, 0x29, 0x9a, 0xc6, 0x45, 0xd3, 0xf3, 0xc9, 0x16, 0x94, 0xed, 0xa1, 0x66, - 0x08, 0x46, 0x66, 0x2d, 0x50, 0x03, 0x72, 0xa6, 0xc1, 0xf5, 0x43, 0xce, 0x34, 0x28, 0x47, 0x89, - 0x57, 0x10, 0xf9, 0x4e, 0x58, 0x34, 0x40, 0x0c, 0x62, 0x57, 0x71, 0x29, 0x45, 0x2f, 0x29, 0x96, - 0xa3, 0x82, 0xcb, 0xa0, 0x2c, 0xc7, 0x6e, 0x1d, 0x90, 0xe5, 0xc9, 0x62, 0x4b, 0xcb, 0xac, 0x60, - 0xc7, 0x53, 0x07, 0xb0, 0x42, 0xb0, 0x66, 0xa3, 0xdf, 0x21, 0xf3, 0x35, 0xf3, 0xf2, 0x58, 0x82, - 0x82, 0x65, 0xf6, 0xcd, 0x40, 0xd0, 0xb2, 0x07, 0xf9, 0xaa, 0xff, 0xaa, 0x02, 0xab, 0x63, 0x20, - 0xb3, 0x4d, 0xf1, 0xa6, 0xc8, 0x77, 0xd5, 0xf5, 0x53, 0x12, 0x1d, 0x93, 0xcc, 0x57, 0x01, 0x9b, - 0xfe, 0x0d, 0xdb, 0x58, 0x69, 0xec, 0x1a, 0xd8, 0x4d, 0x8f, 0xfb, 0x3f, 0x01, 0xcd, 0x43, 0xd3, - 0xdf, 0xef, 0xd0, 0x6c, 0x0d, 0xd4, 0x2a, 0x66, 0x66, 0x7d, 0x59, 0x6b, 0x90, 0xf2, 0x6d, 0x52, - 0x4c, 0x2c, 0x63, 0x2f, 0xb5, 0x12, 0x11, 0x49, 0x5e, 0x88, 0x90, 0xfc, 0xf3, 0x0a, 0x2c, 0x46, - 0x86, 0x96, 0x8d, 0xdc, 0x2f, 0x90, 0x4d, 0x23, 0xeb, 0x8a, 0x53, 0x5c, 0x95, 0x50, 0x9c, 0x43, - 0xa4, 0xda, 0x3c, 0x6c, 0xa3, 0xfe, 0x5e, 0x1e, 0xaa, 0xc2, 0x1b, 0x74, 0x0f, 0x54, 0xf8, 0xbb, - 0x91, 0x8f, 0x2a, 0x2c, 0x48, 0x45, 0xcc, 0x07, 0x61, 0x24, 0x8b, 0x85, 0xab, 0xba, 0xc2, 0x55, - 0x1e, 0xc3, 0x43, 0x1f, 0x82, 0x06, 0x23, 0x76, 0x88, 0xbc, 0x64, 0xb7, 0x18, 0x5e, 0x56, 0xd2, - 0x5d, 0x83, 0xe3, 0xa9, 0xd5, 0x3d, 0xe1, 0x89, 0xc5, 0xb4, 0x39, 0x06, 0xa6, 0xb0, 0x0a, 0x11, - 0x6f, 0x11, 0x3a, 0x0d, 0x8b, 0xd1, 0x9b, 0x83, 0xe2, 0xee, 0x63, 0x21, 0x72, 0x7b, 0x90, 0xce, - 0x5a, 0x17, 0x16, 0xec, 0x61, 0xbf, 0xe3, 0x0c, 0xfd, 0x5d, 0x67, 0x68, 0x33, 0x56, 0xe0, 0x79, - 0x9d, 0x9e, 0x9d, 0x4e, 0xd6, 0xd3, 0x97, 0x87, 0xfd, 0x57, 0x79, 0x53, 0xc2, 0x2e, 0xfc, 0xb8, - 0xdd, 0x8e, 0x96, 0xb6, 0x37, 0x60, 0x29, 0xa9, 0xe2, 0xb4, 0xd3, 0xda, 0x82, 0x78, 0x5a, 0xfb, - 0x45, 0x05, 0x6a, 0x22, 0x4d, 0x50, 0x1b, 0xca, 0x16, 0xd6, 0x0d, 0xec, 0x86, 0xd3, 0x16, 0x3e, - 0x13, 0xa9, 0xc4, 0xfe, 0x77, 0x74, 0xc3, 0x70, 0xb9, 0xc2, 0x04, 0x56, 0x74, 0xd6, 0x30, 0x5c, - 0xf4, 0x30, 0xcc, 0x1b, 0xfd, 0x48, 0x2e, 0x95, 0xc0, 0xbd, 0x60, 0xf4, 0x85, 0x24, 0x2a, 0x11, - 0x4a, 0xcf, 0x45, 0xfd, 0x72, 0x6f, 0xe5, 0xc2, 0x4c, 0x61, 0x2e, 0x36, 0xb0, 0xed, 0x9b, 0x7a, - 0x26, 0x37, 0x7f, 0x1b, 0xca, 0x43, 0x0f, 0xbb, 0x82, 0x86, 0x0f, 0x9f, 0xc9, 0xbb, 0x81, 0xee, - 0x79, 0x87, 0x8e, 0x6b, 0x70, 0x3c, 0xc3, 0xe7, 0x09, 0x97, 0xbe, 0x58, 0x76, 0xa3, 0xe4, 0x4b, - 0x5f, 0xcf, 0xc0, 0x6a, 0xdf, 0x31, 0xcc, 0x3d, 0x33, 0xe9, 0xae, 0x18, 0x69, 0xb6, 0x1c, 0xbc, - 0x8e, 0xb4, 0x0b, 0xce, 0x1c, 0x16, 0xc5, 0x33, 0x87, 0x6f, 0xe5, 0x60, 0xf5, 0xea, 0xc0, 0x78, - 0x57, 0x28, 0xb1, 0x06, 0x55, 0xc7, 0x32, 0xae, 0x44, 0x89, 0x21, 0x16, 0x91, 0x1a, 0x36, 0x3e, - 0x0c, 0x6b, 0x30, 0x61, 0x25, 0x16, 0x4d, 0xbc, 0x26, 0x77, 0x43, 0x14, 0x2b, 0x4e, 0xa2, 0x58, - 0xe5, 0xed, 0x17, 0x8a, 0xe5, 0x5c, 0x73, 0xa9, 0x95, 0x53, 0x7f, 0x16, 0x56, 0x59, 0x4c, 0xe4, - 0x4d, 0xa7, 0x53, 0x30, 0x4f, 0xcb, 0xe2, 0x3c, 0x59, 0xb0, 0x4c, 0x54, 0x1f, 0x01, 0x7e, 0xd5, - 0xc3, 0x6e, 0x66, 0x49, 0x7c, 0x0f, 0x54, 0x02, 0x78, 0xc1, 0x25, 0xc7, 0x51, 0x81, 0xfa, 0xff, - 0x61, 0x29, 0x06, 0xed, 0x86, 0x47, 0x1a, 0x8c, 0x66, 0x45, 0x1c, 0xcd, 0x1a, 0x80, 0xe6, 0x58, - 0x44, 0x92, 0x98, 0xfe, 0x11, 0xb1, 0xe6, 0x04, 0x23, 0x81, 0xfe, 0x27, 0x35, 0x08, 0xe4, 0x09, - 0x35, 0x7e, 0x49, 0x81, 0x05, 0xb6, 0x86, 0x49, 0x57, 0x59, 0xe6, 0xe2, 0x39, 0x28, 0x62, 0x0a, - 0x87, 0xbb, 0x6c, 0x1f, 0x90, 0x09, 0xcf, 0x10, 0x65, 0x8d, 0x37, 0x48, 0x5c, 0x52, 0x07, 0x30, - 0xbf, 0xe5, 0x3a, 0x83, 0xac, 0x58, 0x51, 0x1b, 0xd2, 0xc2, 0xe2, 0xb6, 0xa1, 0x4c, 0x0a, 0x2e, - 0xcb, 0x58, 0xe4, 0x6f, 0x15, 0x58, 0x79, 0x75, 0x80, 0x5d, 0xdd, 0xc7, 0x84, 0x74, 0x59, 0xe1, - 0x4f, 0x5a, 0xc9, 0x11, 0xdc, 0xf2, 0x51, 0xdc, 0xd0, 0x0b, 0x91, 0xa4, 0x1f, 0xb2, 0x6d, 0x7b, - 0x0c, 0xd3, 0x51, 0xfe, 0x8f, 0x60, 0x6c, 0xab, 0xe2, 0xd8, 0xfe, 0x58, 0x81, 0x85, 0x6d, 0x4c, - 0xd4, 0x76, 0xd6, 0x61, 0x3d, 0x2d, 0xb8, 0x92, 0x53, 0x4d, 0x35, 0xf3, 0x36, 0x9f, 0x84, 0x05, - 0xd3, 0xee, 0x5a, 0x43, 0x03, 0x77, 0x08, 0x15, 0x98, 0xcf, 0x98, 0x59, 0x5d, 0xf3, 0xfc, 0x05, - 0x19, 0x0a, 0x51, 0xac, 0x89, 0x1c, 0xff, 0x33, 0x8c, 0xe3, 0xc3, 0x08, 0x75, 0x86, 0x84, 0x32, - 0x1b, 0x12, 0xcf, 0x42, 0x81, 0x00, 0x0f, 0x6c, 0x27, 0x59, 0xbb, 0xd1, 0xc2, 0xd1, 0x58, 0x7d, - 0xb2, 0x75, 0x47, 0x22, 0xf9, 0xb2, 0xc9, 0x8e, 0xf7, 0x89, 0xf1, 0x99, 0xf9, 0x29, 0x03, 0x60, - 0x23, 0x0e, 0x23, 0x33, 0xd5, 0x1f, 0x84, 0x33, 0x49, 0xa7, 0x3e, 0xdb, 0x4c, 0x92, 0xd1, 0x4d, - 0x99, 0x49, 0x81, 0x18, 0xb4, 0xba, 0x38, 0x93, 0x94, 0x87, 0x13, 0x66, 0x92, 0xe0, 0x4d, 0x67, - 0x92, 0xcb, 0xff, 0x56, 0x2b, 0x47, 0x26, 0x90, 0x21, 0x1c, 0x4c, 0x20, 0x85, 0xad, 0xcc, 0x06, - 0xfb, 0x59, 0x28, 0x10, 0x98, 0x69, 0xe8, 0x16, 0x4c, 0x20, 0xad, 0x2f, 0x4c, 0x20, 0x47, 0xe2, - 0xdd, 0x99, 0xc0, 0xd1, 0x88, 0x47, 0x13, 0xa8, 0x42, 0xed, 0xd5, 0xdd, 0x8f, 0xe3, 0xae, 0x3f, - 0x41, 0x36, 0x1f, 0x87, 0xf9, 0x2b, 0xae, 0x79, 0x60, 0x5a, 0xb8, 0x37, 0x49, 0xc8, 0x7f, 0x5e, - 0x81, 0xfa, 0x39, 0x57, 0xb7, 0x7d, 0x27, 0x10, 0xf4, 0x37, 0x48, 0xd7, 0x2d, 0xa8, 0x0c, 0x02, - 0x78, 0x9c, 0x1f, 0x1e, 0x96, 0x1d, 0x84, 0x47, 0xf1, 0xd2, 0x46, 0x0d, 0xd5, 0xff, 0x07, 0x4b, - 0x14, 0x9b, 0x38, 0xea, 0x1f, 0x84, 0x32, 0x15, 0xf7, 0x26, 0xf7, 0x15, 0xca, 0x4f, 0x62, 0x22, - 0x83, 0xd1, 0xc2, 0x56, 0xea, 0x7f, 0x2a, 0x50, 0xa5, 0xef, 0x46, 0xc3, 0xbc, 0x91, 0xf5, 0xff, - 0x3e, 0x28, 0x3a, 0x94, 0xf4, 0x53, 0x02, 0x85, 0xc4, 0xf9, 0xd1, 0x78, 0x13, 0x62, 0x57, 0xb3, - 0x7f, 0xa2, 0xd4, 0x06, 0x56, 0xc4, 0xe5, 0x76, 0xa9, 0xc7, 0xf0, 0xa7, 0xa2, 0x3b, 0xed, 0x28, - 0x83, 0x46, 0xf2, 0x4d, 0xe4, 0xd7, 0x42, 0xe6, 0xa5, 0x2d, 0xb3, 0xac, 0xf9, 0xe7, 0x63, 0xaa, - 0x5a, 0x9d, 0x84, 0x62, 0xb2, 0xae, 0x8e, 0x88, 0x65, 0xb2, 0xbf, 0x8d, 0xa0, 0x96, 0x79, 0x7f, - 0x1b, 0x72, 0xca, 0xe4, 0xfd, 0xad, 0x88, 0xe0, 0x88, 0x4f, 0xfe, 0x5e, 0x81, 0x55, 0xae, 0x18, - 0x43, 0x26, 0xbc, 0x45, 0xe4, 0x42, 0x2f, 0x72, 0x35, 0xce, 0x4e, 0x56, 0x1f, 0x9b, 0xac, 0xc6, - 0x43, 0x6c, 0xa7, 0xe8, 0xf1, 0x3f, 0x57, 0xe8, 0x71, 0xc5, 0x45, 0x47, 0x37, 0x4c, 0xbb, 0xf7, - 0x4e, 0x5c, 0xee, 0x4d, 0xf0, 0x71, 0xe4, 0xd2, 0x5e, 0xb2, 0xc9, 0x27, 0x86, 0xdc, 0x0a, 0x7c, - 0x3c, 0x37, 0xee, 0xf6, 0x2c, 0xb4, 0x72, 0xea, 0x2f, 0xb3, 0x23, 0x93, 0xb1, 0x51, 0x64, 0x3e, - 0x51, 0x1f, 0xf0, 0xae, 0xb8, 0xab, 0x22, 0x7c, 0x46, 0x8f, 0x42, 0x93, 0x27, 0x07, 0xea, 0x84, - 0x75, 0xf8, 0x21, 0x14, 0x2f, 0x0f, 0xb0, 0x50, 0xff, 0x88, 0xb9, 0x6c, 0x08, 0x72, 0x99, 0x5d, - 0xf4, 0xb7, 0x82, 0xb8, 0xbf, 0xc0, 0x8e, 0x59, 0x04, 0xfc, 0xb3, 0x91, 0xf5, 0x99, 0xa8, 0x17, - 0x57, 0x16, 0x22, 0x30, 0x82, 0xc7, 0x83, 0xc9, 0x8e, 0x43, 0xe5, 0x12, 0xad, 0xf9, 0xd2, 0x75, - 0x1f, 0xb5, 0xa0, 0x74, 0x80, 0x5d, 0xcf, 0x74, 0x6c, 0xae, 0xc0, 0x82, 0x47, 0x75, 0x91, 0x06, - 0x6e, 0xbc, 0xc6, 0x9e, 0x82, 0xb3, 0x71, 0x4c, 0x1d, 0x82, 0x61, 0x61, 0xe6, 0x93, 0x89, 0x00, - 0x76, 0x2e, 0x0a, 0x7b, 0x09, 0xd0, 0xe6, 0x3e, 0xee, 0x5e, 0x3b, 0x8f, 0x75, 0xcb, 0x0f, 0x6e, - 0xb0, 0xa8, 0x6f, 0x2b, 0xb0, 0x18, 0x29, 0xce, 0xbc, 0x53, 0x34, 0x3d, 0xd6, 0xd5, 0x11, 0x3f, - 0x1a, 0x19, 0x15, 0xb0, 0x70, 0x13, 0xdd, 0x73, 0xec, 0x60, 0xc2, 0x83, 0x47, 0xb4, 0x05, 0xb5, - 0x37, 0x87, 0x8e, 0xaf, 0x07, 0x31, 0x0c, 0x73, 0x6b, 0xf9, 0xa4, 0x1b, 0xd3, 0x61, 0x60, 0x90, - 0xe3, 0xeb, 0x8c, 0xfe, 0xd5, 0x37, 0xc3, 0xff, 0x9e, 0xfa, 0x39, 0x05, 0xda, 0x7c, 0x97, 0x27, - 0xfa, 0xbf, 0xb2, 0x30, 0x35, 0xcd, 0xe3, 0x25, 0xba, 0xd9, 0x82, 0x43, 0x99, 0x88, 0x87, 0x2d, - 0x10, 0x5f, 0x6d, 0x51, 0x7c, 0x7d, 0x46, 0x81, 0x16, 0xdd, 0xdb, 0xdd, 0x1a, 0x5c, 0xee, 0x16, - 0x71, 0xf9, 0x07, 0x05, 0x16, 0x77, 0x5c, 0xdd, 0xf6, 0xf6, 0xb0, 0x7b, 0xd9, 0x31, 0x32, 0xad, - 0xf3, 0x75, 0x58, 0xe6, 0x48, 0x24, 0x62, 0xb3, 0xc8, 0xca, 0x22, 0xa3, 0x26, 0x6d, 0xd8, 0xc1, - 0x68, 0xbc, 0x0d, 0xb3, 0x2c, 0x16, 0xd9, 0xcb, 0x68, 0x1b, 0x1e, 0xd4, 0x47, 0x1d, 0x95, 0x2c, - 0xab, 0x6c, 0xc9, 0x1e, 0xf6, 0x09, 0xf6, 0xc1, 0x10, 0xef, 0x8b, 0xe4, 0x1f, 0xcf, 0xc1, 0x4a, - 0x30, 0xc4, 0xc0, 0x9d, 0x7a, 0x07, 0x8c, 0x32, 0xb5, 0xdb, 0xfd, 0x7e, 0xa8, 0xd2, 0x18, 0x47, - 0x36, 0x34, 0x1e, 0x05, 0x00, 0xf6, 0xb0, 0x1f, 0xf8, 0x49, 0xa5, 0x31, 0x28, 0x9c, 0x5a, 0xf7, - 0x8b, 0xd4, 0xea, 0xc2, 0x5d, 0x17, 0x4d, 0x2f, 0x8a, 0xcb, 0x3b, 0xe1, 0xb9, 0xb9, 0x37, 0xba, - 0x8f, 0x6d, 0x27, 0x01, 0xc9, 0x9c, 0x77, 0x2b, 0x9e, 0x32, 0x2f, 0x97, 0x94, 0x32, 0x4f, 0xfd, - 0x82, 0x02, 0xf7, 0x04, 0x79, 0x4c, 0x6e, 0xd1, 0x1a, 0xbc, 0x47, 0xa4, 0xc6, 0x6f, 0x2a, 0x70, - 0xaf, 0x04, 0x9f, 0x6c, 0x14, 0x79, 0x25, 0x11, 0x27, 0xb9, 0x49, 0x1e, 0x05, 0x1e, 0xc5, 0x5c, - 0xfd, 0xf7, 0x39, 0xa8, 0x47, 0x39, 0x34, 0x61, 0x33, 0x46, 0xcc, 0x8f, 0xae, 0x3e, 0xd0, 0xbb, - 0x81, 0xb5, 0x58, 0xd0, 0xc2, 0x67, 0xf4, 0x38, 0x20, 0xc2, 0xa8, 0x61, 0x12, 0x50, 0xb6, 0x82, - 0x59, 0x20, 0x50, 0xd3, 0x1e, 0xf6, 0xc3, 0x04, 0xa0, 0x64, 0x29, 0xa3, 0x7d, 0x56, 0xdb, 0x72, - 0x74, 0x03, 0x87, 0x67, 0x26, 0xfc, 0xc8, 0xe4, 0xf9, 0x34, 0x03, 0x38, 0x7d, 0x79, 0xd8, 0xbf, - 0x48, 0x5b, 0xf3, 0x85, 0xc0, 0xce, 0x26, 0x08, 0xa4, 0x48, 0x31, 0xc2, 0xe1, 0x09, 0x48, 0xcf, - 0x31, 0xed, 0x1e, 0x43, 0xab, 0x30, 0xf1, 0xca, 0xe1, 0x18, 0xa0, 0x57, 0x79, 0xe3, 0xb1, 0x33, - 0x90, 0xb0, 0x34, 0x00, 0x63, 0xda, 0x5d, 0xa7, 0x1f, 0x82, 0x29, 0xce, 0x06, 0xe6, 0x02, 0x6f, - 0x1c, 0x05, 0x23, 0x96, 0xb6, 0x37, 0x61, 0x39, 0x71, 0xe0, 0xb3, 0x9c, 0xb5, 0x8c, 0xce, 0x6b, - 0xa2, 0x83, 0xba, 0x81, 0x3e, 0xc6, 0x30, 0x9e, 0xe9, 0xcc, 0xe7, 0x2f, 0x14, 0x58, 0xd5, 0x30, - 0xe1, 0xac, 0x9b, 0x9c, 0xd2, 0xbb, 0x05, 0x25, 0x87, 0xdd, 0x49, 0xe2, 0x32, 0x39, 0x78, 0xa4, - 0x71, 0xd9, 0xf8, 0xf0, 0xf2, 0x48, 0xfe, 0x06, 0x8f, 0xc4, 0xa6, 0xb1, 0xf1, 0xe1, 0xd6, 0x86, - 0x10, 0xfe, 0x37, 0x2a, 0x08, 0x56, 0xba, 0x2a, 0xae, 0xf4, 0x1f, 0xb3, 0x8d, 0x4b, 0x98, 0xd8, - 0xe5, 0x76, 0x48, 0x69, 0x19, 0x8d, 0x83, 0x9f, 0x9b, 0x98, 0xa5, 0xab, 0x20, 0xcd, 0xd2, 0xf5, - 0x5d, 0xb6, 0x99, 0x19, 0x1b, 0xd9, 0xed, 0x99, 0x20, 0xea, 0xd3, 0x0a, 0x34, 0x36, 0x1d, 0xdb, - 0xc6, 0xdd, 0x4c, 0x7e, 0x84, 0x0d, 0xa8, 0x76, 0x2d, 0x93, 0x46, 0x3e, 0xd8, 0x7b, 0x8e, 0xcc, - 0x85, 0x18, 0x04, 0xa9, 0xd1, 0x9a, 0x2c, 0xb0, 0xac, 0x1b, 0xfe, 0x57, 0x7f, 0x9b, 0xc6, 0xfe, - 0x72, 0x54, 0xb2, 0x5e, 0xe2, 0xa8, 0x7a, 0xd8, 0x3d, 0x08, 0xfc, 0xca, 0x93, 0xd1, 0xd9, 0xa6, - 0x35, 0x19, 0x3a, 0x5e, 0xf8, 0x1f, 0xdd, 0x07, 0x60, 0xd2, 0x83, 0xa9, 0x3d, 0x13, 0xbb, 0x7c, - 0x73, 0x28, 0x94, 0xa8, 0xaf, 0xc0, 0xf2, 0x59, 0xcb, 0x72, 0x46, 0xc7, 0x5b, 0x19, 0xe8, 0xa7, - 0xf6, 0x61, 0x25, 0xde, 0x59, 0xe6, 0x5d, 0xc6, 0x88, 0x59, 0x73, 0xf1, 0x8c, 0x24, 0xd7, 0x61, - 0x99, 0x6d, 0x02, 0xb6, 0x74, 0x5f, 0x27, 0x08, 0xdc, 0xcc, 0x3b, 0x59, 0x0f, 0x46, 0x0f, 0x73, - 0x16, 0x89, 0xc1, 0xff, 0x6e, 0xc0, 0x7d, 0x48, 0x84, 0xcb, 0x4f, 0xe0, 0x02, 0xb8, 0xef, 0x84, - 0x1d, 0x77, 0x5c, 0xec, 0xff, 0x3b, 0x0a, 0x3b, 0x50, 0x14, 0x00, 0x64, 0x9b, 0xc0, 0xbb, 0xa0, - 0xcc, 0x47, 0x17, 0x18, 0x6f, 0x25, 0x36, 0x3c, 0xc9, 0xc7, 0x4c, 0xf2, 0x34, 0xab, 0xe9, 0xd8, - 0xc7, 0x4c, 0x12, 0xd3, 0xb9, 0xff, 0x59, 0x8e, 0xe8, 0x12, 0xaa, 0x10, 0x7d, 0x7c, 0x09, 0x7b, - 0x9e, 0x9e, 0xcd, 0x2d, 0xf6, 0x00, 0xd4, 0x22, 0xe1, 0x03, 0x6c, 0x3a, 0xaa, 0x42, 0xb8, 0x1d, - 0xd1, 0x1d, 0x1b, 0xb8, 0x67, 0xda, 0x3b, 0x1e, 0xcf, 0x6a, 0x1f, 0x3c, 0x12, 0x95, 0xf7, 0x92, - 0x6d, 0xec, 0x04, 0x47, 0xf4, 0xec, 0x81, 0x58, 0x54, 0x97, 0xbc, 0x1e, 0x0b, 0xe9, 0xa8, 0x69, - 0xf4, 0x3f, 0x3a, 0x07, 0x8d, 0xed, 0xc8, 0xf7, 0x4e, 0xb8, 0xcd, 0x30, 0x9e, 0xe3, 0xd6, 0xeb, - 0x11, 0x0c, 0x83, 0x7a, 0x5a, 0xac, 0x19, 0xda, 0x84, 0xda, 0x4b, 0xb6, 0x31, 0xea, 0xa6, 0x94, - 0xae, 0x9b, 0x48, 0x23, 0xb5, 0x0f, 0xad, 0x71, 0x1a, 0x66, 0xf7, 0x58, 0xf1, 0xfe, 0x83, 0x23, - 0xc2, 0xe0, 0xf9, 0xe4, 0x71, 0x28, 0x07, 0x39, 0x7b, 0x51, 0x09, 0xf2, 0x67, 0x2d, 0xab, 0x79, - 0x0c, 0xd5, 0xa0, 0x7c, 0x81, 0xa7, 0xa3, 0x6d, 0x2a, 0xed, 0x5c, 0x4b, 0x39, 0xf9, 0x41, 0x58, - 0x4c, 0x38, 0x09, 0x44, 0x0b, 0x50, 0x3f, 0x6b, 0xd0, 0xb3, 0xe7, 0x1d, 0x87, 0x14, 0x36, 0x8f, - 0xa1, 0x15, 0x40, 0x1a, 0xee, 0x3b, 0x07, 0xb4, 0xe2, 0xcb, 0xae, 0xd3, 0xa7, 0xe5, 0xca, 0xc9, - 0x53, 0xb0, 0x94, 0xe4, 0x84, 0x44, 0x15, 0x28, 0x50, 0xb7, 0x66, 0xf3, 0x18, 0x02, 0x28, 0x6a, - 0xf8, 0xc0, 0xb9, 0x46, 0xaa, 0xbf, 0x01, 0x30, 0xf2, 0x35, 0xa0, 0x2a, 0x94, 0xae, 0xda, 0xd7, - 0x6c, 0xe7, 0xd0, 0x6e, 0x1e, 0x43, 0xf3, 0x50, 0xd5, 0xb0, 0x6e, 0x5c, 0x34, 0xfb, 0xa6, 0x8f, - 0x8d, 0x66, 0x0e, 0x35, 0xa1, 0xf6, 0xba, 0x6b, 0xfa, 0x38, 0x28, 0xc9, 0xa3, 0x06, 0xc0, 0x16, - 0xb6, 0x8f, 0x76, 0x1c, 0x52, 0xb1, 0x39, 0x47, 0x9a, 0xb0, 0x67, 0x5a, 0xaf, 0x59, 0x58, 0xff, - 0xf2, 0x26, 0xd4, 0x99, 0xdb, 0x88, 0xe7, 0xc6, 0x47, 0x5d, 0x68, 0xc6, 0x3f, 0x4a, 0x87, 0x4e, - 0xcb, 0x62, 0x99, 0x93, 0xbf, 0x5e, 0xd7, 0x9e, 0x3c, 0x1f, 0xea, 0x31, 0xd4, 0x81, 0x46, 0xf4, - 0xd3, 0x6a, 0x48, 0x76, 0x11, 0x30, 0xf1, 0x0b, 0x6c, 0xd3, 0x01, 0x74, 0xa1, 0x1e, 0xf9, 0x12, - 0x18, 0x92, 0x39, 0x84, 0x93, 0xbe, 0x17, 0xd6, 0x96, 0x1d, 0x54, 0x88, 0xdf, 0xeb, 0x62, 0xa3, - 0x88, 0x7e, 0x09, 0x47, 0x3a, 0x8a, 0xc4, 0x0f, 0xe6, 0x4c, 0x1f, 0x05, 0x86, 0x85, 0xb1, 0xef, - 0xcc, 0xa0, 0x33, 0x52, 0x13, 0x3e, 0xf9, 0x8b, 0x34, 0xd3, 0xc1, 0x7c, 0x12, 0xd0, 0xf8, 0x17, - 0xae, 0xd0, 0x13, 0xb2, 0x19, 0x91, 0x7d, 0xf7, 0xab, 0xfd, 0x9e, 0x19, 0x5a, 0x84, 0x44, 0xfc, - 0x2c, 0x0b, 0xd3, 0x4e, 0xfa, 0x20, 0x09, 0x7a, 0x5a, 0x1e, 0xdf, 0x38, 0xe1, 0x13, 0x2b, 0xed, - 0x67, 0x66, 0x6d, 0x16, 0x22, 0xe3, 0xc2, 0x7c, 0xec, 0x3b, 0x1c, 0xe8, 0xd4, 0x84, 0x0c, 0xdf, - 0xe3, 0x9f, 0x2b, 0x69, 0x9f, 0x4e, 0x5b, 0x3d, 0x84, 0xa9, 0xc3, 0x7c, 0xec, 0x13, 0x7e, 0x52, - 0x98, 0xc9, 0x9f, 0xfa, 0x9b, 0x3e, 0xc1, 0x3a, 0xcc, 0xc7, 0xbe, 0x72, 0x21, 0x05, 0x91, 0xfc, - 0x35, 0x8c, 0xe9, 0x20, 0xde, 0x80, 0x7a, 0xe4, 0x83, 0x14, 0xd2, 0x05, 0x97, 0xf4, 0xd9, 0x8a, - 0x34, 0x23, 0xa8, 0x89, 0x5f, 0x8e, 0x40, 0x27, 0xe5, 0xcb, 0x79, 0xac, 0xf3, 0xd9, 0x56, 0xf3, - 0x28, 0x3d, 0xfb, 0xc4, 0xd5, 0x3c, 0x96, 0xdb, 0x7e, 0x96, 0xd5, 0x2c, 0xc0, 0x98, 0xb2, 0x9a, - 0x6f, 0x00, 0xcc, 0x5b, 0x0a, 0x0d, 0x2c, 0x4f, 0xf8, 0x24, 0x00, 0x7a, 0x4a, 0xbe, 0x30, 0xe4, - 0x1f, 0x40, 0x68, 0x3f, 0x3d, 0x63, 0xab, 0x90, 0xa2, 0x0e, 0x34, 0xa2, 0x09, 0xef, 0xa5, 0x14, - 0x4d, 0xfc, 0x5a, 0x40, 0xfb, 0x54, 0xca, 0xda, 0x21, 0xc0, 0x4f, 0xd2, 0x73, 0x8c, 0xd8, 0x39, - 0x97, 0x54, 0x90, 0x49, 0x0f, 0xf6, 0xa4, 0x82, 0x4c, 0x7e, 0x88, 0xa6, 0x1e, 0x43, 0x26, 0xd4, - 0xc4, 0x73, 0x20, 0x29, 0x8b, 0x26, 0x1c, 0x76, 0xb5, 0x1f, 0x4b, 0x55, 0x37, 0x04, 0xf5, 0x11, - 0xa8, 0x0a, 0xdf, 0x91, 0x46, 0x8f, 0x4e, 0x5c, 0xcb, 0xe2, 0xe7, 0x8a, 0xa7, 0x73, 0xcf, 0x55, - 0xa8, 0x84, 0x1f, 0x80, 0x46, 0x8f, 0x4c, 0x58, 0xc3, 0xb3, 0x75, 0xfb, 0x3a, 0xc0, 0xe8, 0xfb, - 0xce, 0xe8, 0xc4, 0x24, 0xf9, 0x36, 0x5b, 0xc7, 0x16, 0xd4, 0x23, 0xdf, 0x46, 0x96, 0xcb, 0x9d, - 0x84, 0xaf, 0x37, 0xb7, 0x1f, 0x4f, 0x57, 0x39, 0x24, 0xfc, 0x1e, 0x54, 0x85, 0x8f, 0x0b, 0x4b, - 0x09, 0x3f, 0xfe, 0x35, 0xe4, 0xf6, 0xc9, 0x34, 0x55, 0xc7, 0x27, 0x98, 0x25, 0xe0, 0x9c, 0x3c, - 0xc1, 0x62, 0x0a, 0xde, 0x99, 0x08, 0xc6, 0x3a, 0x9f, 0x46, 0xb0, 0x48, 0xf7, 0x8f, 0xa7, 0xab, - 0x1c, 0x5b, 0x91, 0x31, 0x67, 0xcd, 0xa4, 0x15, 0x99, 0xec, 0xb1, 0x9a, 0xb4, 0x22, 0x25, 0x9e, - 0x20, 0x2a, 0x7f, 0xea, 0x91, 0x6c, 0xca, 0xe8, 0xb1, 0x14, 0xbd, 0xe0, 0x69, 0x43, 0x4d, 0x4c, - 0xd0, 0xac, 0xe6, 0x3f, 0x9d, 0x53, 0x88, 0xe8, 0x5d, 0x4e, 0x4c, 0x98, 0x8d, 0x9e, 0x9c, 0xd2, - 0x59, 0x52, 0xf2, 0xf0, 0xf6, 0x53, 0xb3, 0x35, 0x12, 0x31, 0xe1, 0xcb, 0x98, 0xcd, 0xf0, 0xa4, - 0x65, 0x3c, 0x1b, 0xf3, 0xbc, 0x0e, 0x45, 0x96, 0x22, 0x19, 0x3d, 0x24, 0x75, 0x8a, 0x09, 0xe9, - 0x80, 0xdb, 0xc7, 0x25, 0xb5, 0xa2, 0x19, 0x70, 0x59, 0xc7, 0x2c, 0x5c, 0x59, 0xda, 0x71, 0x24, - 0xc3, 0xeb, 0x4c, 0x1d, 0xb3, 0x0c, 0xc5, 0xd2, 0x8e, 0x23, 0x09, 0x8c, 0xd3, 0x77, 0xfc, 0x1a, - 0x14, 0x59, 0x3e, 0x47, 0x69, 0xc7, 0x91, 0x54, 0xad, 0xed, 0x69, 0xb5, 0x58, 0xb4, 0xda, 0x31, - 0xb4, 0x03, 0x05, 0x7a, 0x51, 0x10, 0x3d, 0x38, 0x39, 0x81, 0xdf, 0xe4, 0x5e, 0x23, 0x59, 0xfe, - 0xd4, 0x63, 0x68, 0x1b, 0x0a, 0x34, 0x97, 0x85, 0xb4, 0x57, 0x31, 0x3b, 0x5d, 0x7b, 0x4a, 0xa5, - 0x00, 0xd5, 0x7d, 0xa8, 0x89, 0xd9, 0x94, 0xa4, 0x1a, 0x2f, 0x21, 0xf3, 0x54, 0x3b, 0x5d, 0xdd, - 0x00, 0xd2, 0x1b, 0x50, 0x0e, 0x6e, 0x4f, 0xa2, 0x87, 0x27, 0x0d, 0x79, 0x94, 0xff, 0xa8, 0xfd, - 0xc8, 0xd4, 0x7a, 0x21, 0x75, 0x2c, 0x2a, 0x28, 0x46, 0x97, 0x52, 0x27, 0x09, 0x8a, 0xb1, 0xfb, - 0xb4, 0x93, 0x04, 0xc5, 0xf8, 0x3d, 0x57, 0xf5, 0x18, 0x1a, 0x42, 0x33, 0x7e, 0x1b, 0x54, 0xba, - 0xc3, 0x96, 0x5c, 0x60, 0x6d, 0x9f, 0x49, 0x5d, 0x3f, 0x04, 0xfb, 0x05, 0x85, 0xde, 0x42, 0x4d, - 0x4e, 0xa2, 0x34, 0x61, 0xcb, 0x34, 0x29, 0x3d, 0x51, 0xfb, 0xd9, 0x99, 0xdb, 0x85, 0xf8, 0xfc, - 0x1c, 0x8d, 0xfb, 0x19, 0xcb, 0xe3, 0x33, 0x41, 0xd2, 0x4b, 0xf2, 0xd2, 0xb4, 0xd7, 0x67, 0x69, - 0x22, 0xea, 0x72, 0xe1, 0xaa, 0x98, 0x54, 0xc7, 0x8e, 0xdf, 0x94, 0x6b, 0x9f, 0x4c, 0x53, 0x35, - 0x84, 0xb3, 0x03, 0x05, 0x9a, 0xf8, 0x45, 0xba, 0xf4, 0xc4, 0x4c, 0x32, 0xd2, 0x05, 0x1d, 0xc9, - 0x1d, 0xc3, 0xac, 0x4d, 0x31, 0x13, 0x8c, 0x74, 0xed, 0x25, 0xa4, 0x91, 0x91, 0x5a, 0x9b, 0x49, - 0xa9, 0x65, 0xa8, 0x2f, 0x05, 0x46, 0x79, 0x58, 0xa4, 0xb6, 0xdb, 0x58, 0x3a, 0x98, 0xf6, 0xa3, - 0x29, 0x6a, 0x86, 0x40, 0x06, 0xd4, 0x50, 0x88, 0xe7, 0x26, 0x79, 0x62, 0xd2, 0x4e, 0x3e, 0x29, - 0xcd, 0x47, 0xfb, 0xe1, 0x69, 0x49, 0x47, 0x78, 0xa0, 0x0e, 0xb5, 0xb1, 0x84, 0x7c, 0x20, 0x72, - 0x5b, 0x6e, 0x2c, 0x67, 0x48, 0x2a, 0x87, 0xca, 0x78, 0x56, 0x88, 0x69, 0x83, 0x19, 0x4f, 0x41, - 0x31, 0xc9, 0xea, 0x91, 0xa4, 0x9c, 0x60, 0xe2, 0x25, 0x9e, 0x7d, 0x43, 0x2a, 0x5e, 0x24, 0xf9, - 0x40, 0xa4, 0xe2, 0x45, 0x96, 0xd6, 0x43, 0x3d, 0x86, 0x3e, 0xc5, 0x12, 0x35, 0xc5, 0xf0, 0x7a, - 0xdd, 0xf4, 0xf7, 0x69, 0x82, 0x86, 0x74, 0xa3, 0x17, 0xb3, 0x41, 0xa4, 0x1b, 0x7d, 0x24, 0xfb, - 0x03, 0xb7, 0x50, 0xe8, 0xd5, 0x57, 0xb9, 0x85, 0x22, 0xde, 0x8d, 0x97, 0xea, 0xfb, 0xe8, 0x3d, - 0x71, 0xb6, 0x99, 0x8d, 0x5e, 0xab, 0x45, 0x8f, 0xa7, 0xbc, 0x7d, 0x3b, 0x79, 0x33, 0x9b, 0x7c, - 0x57, 0x97, 0xf9, 0xa2, 0x62, 0xb7, 0x87, 0xa5, 0x4e, 0x9b, 0xe4, 0x8b, 0xcd, 0x52, 0x5f, 0x94, - 0xe4, 0x52, 0x32, 0x5d, 0xea, 0xcd, 0xf8, 0x3d, 0xc3, 0x69, 0xce, 0xdf, 0xf8, 0xf5, 0xb2, 0x34, - 0xbe, 0xd9, 0x66, 0xfc, 0x0a, 0x9f, 0x14, 0x88, 0xe4, 0xae, 0x5f, 0x2a, 0x20, 0xf1, 0xfb, 0x6f, - 0x52, 0x20, 0x92, 0x8b, 0x72, 0xa9, 0xf6, 0x52, 0x91, 0x7b, 0x67, 0x52, 0xbb, 0x21, 0xe9, 0x76, - 0x9a, 0xd4, 0x6e, 0x48, 0xbc, 0x38, 0xc7, 0xf6, 0xd0, 0xa3, 0x0b, 0x64, 0x52, 0x39, 0x3c, 0x76, - 0xc7, 0x6c, 0xfa, 0x30, 0xb6, 0xa1, 0x1c, 0xdc, 0x00, 0x93, 0x5a, 0x57, 0xb1, 0x2b, 0x62, 0xa9, - 0x7c, 0x8e, 0xb1, 0x93, 0x12, 0x29, 0xfb, 0x26, 0xdf, 0x02, 0x4b, 0x33, 0xc7, 0x30, 0xba, 0x25, - 0x24, 0x25, 0xc8, 0xd8, 0x3d, 0x2c, 0xa9, 0x62, 0x1a, 0xbf, 0x72, 0x24, 0x02, 0x21, 0xe8, 0x4d, - 0x01, 0x22, 0x5c, 0x11, 0x9a, 0x02, 0x44, 0xbc, 0x16, 0xc3, 0xb8, 0x35, 0x7e, 0x28, 0x24, 0xe5, - 0x56, 0x49, 0xc0, 0xfd, 0x74, 0x72, 0xed, 0x41, 0x55, 0xb8, 0x3b, 0x80, 0x26, 0x23, 0x28, 0x5e, - 0x7d, 0x90, 0x1a, 0x3c, 0x09, 0x57, 0x11, 0x42, 0x7b, 0x81, 0x47, 0x13, 0x4f, 0xb2, 0x17, 0xa2, - 0x51, 0xc8, 0x93, 0xec, 0x85, 0x58, 0x68, 0x32, 0x1b, 0x8c, 0x10, 0x34, 0x2c, 0xf7, 0x90, 0x8c, - 0xc5, 0x1b, 0xcb, 0x77, 0x1e, 0xe3, 0x31, 0xc8, 0xd4, 0xce, 0x5a, 0x4c, 0x88, 0xe7, 0x95, 0x5a, - 0xa9, 0xf2, 0xd8, 0xdf, 0x54, 0xfe, 0xe1, 0xb1, 0x60, 0x5d, 0xa9, 0x7f, 0x58, 0x16, 0xd6, 0x3b, - 0x1d, 0xcc, 0xc7, 0xa0, 0x26, 0xc6, 0xe1, 0x4a, 0x2d, 0xc7, 0x84, 0x60, 0xdd, 0x54, 0xab, 0x3e, - 0x16, 0x01, 0x2b, 0x5d, 0xf5, 0xc9, 0x91, 0xb2, 0xa9, 0x8c, 0xab, 0xf1, 0x90, 0x4e, 0xa9, 0x79, - 0x21, 0x0d, 0x31, 0x95, 0x9a, 0x17, 0xf2, 0x78, 0x51, 0x66, 0xe5, 0x2c, 0x27, 0x46, 0x50, 0x4a, - 0x3d, 0x3c, 0x93, 0xe2, 0x3f, 0xa5, 0x1e, 0x9e, 0x89, 0x41, 0x9a, 0x4c, 0x5e, 0xc4, 0x83, 0xd5, - 0xa4, 0xf2, 0x42, 0x12, 0xd5, 0x36, 0x9d, 0xd0, 0x47, 0x8c, 0xd0, 0x17, 0xd8, 0x57, 0xd9, 0xf8, - 0x26, 0x6a, 0x9c, 0x21, 0xf7, 0xb0, 0x81, 0xdd, 0xd3, 0xe3, 0x35, 0x03, 0x38, 0x4f, 0xa4, 0x6f, - 0x10, 0x8e, 0xef, 0x73, 0x0a, 0xb4, 0x62, 0xdf, 0x57, 0x65, 0xd1, 0x56, 0xba, 0xaf, 0x8f, 0x9f, - 0x0a, 0xb2, 0x0e, 0x65, 0xf5, 0xa5, 0xa7, 0x82, 0xd3, 0x9a, 0x85, 0xd8, 0x7c, 0x14, 0x4a, 0x3c, - 0x70, 0x0a, 0x1d, 0x97, 0x6e, 0x2f, 0xc4, 0x18, 0xaf, 0x09, 0xbb, 0x90, 0x48, 0xfc, 0x15, 0x33, - 0x2b, 0xa3, 0x91, 0x49, 0x52, 0xb3, 0x32, 0x31, 0x1a, 0xaa, 0x7d, 0x2a, 0x65, 0x6d, 0xf1, 0x98, - 0x2b, 0x1a, 0x9b, 0x24, 0x05, 0x98, 0x18, 0xc2, 0x94, 0x4a, 0xbe, 0x88, 0x21, 0x48, 0x52, 0xf9, - 0x92, 0x10, 0xa7, 0x94, 0xda, 0xe2, 0x0a, 0xc3, 0x80, 0x26, 0x5a, 0x5c, 0xf1, 0x68, 0xa4, 0x89, - 0x16, 0xd7, 0x58, 0x64, 0x11, 0xdb, 0x4a, 0xc5, 0x63, 0x50, 0x26, 0x2c, 0xb3, 0xc4, 0x80, 0x9f, - 0xf6, 0x99, 0xd4, 0xf5, 0x03, 0xb0, 0xeb, 0x47, 0x50, 0xbb, 0xe2, 0x3a, 0xd7, 0x8f, 0x82, 0x90, - 0x8c, 0x77, 0x6f, 0xaf, 0xff, 0x3c, 0x86, 0x06, 0xab, 0xd0, 0xc1, 0xd7, 0xfd, 0x8e, 0xb3, 0xfb, - 0x71, 0x74, 0xcf, 0xe9, 0x9e, 0xe3, 0xf4, 0x2c, 0xcc, 0x3a, 0xd8, 0x1d, 0xee, 0x9d, 0x7e, 0xd9, - 0xb4, 0xf0, 0xab, 0x3c, 0x42, 0xf2, 0x9f, 0x4b, 0x13, 0x53, 0xdb, 0x87, 0x37, 0x92, 0xb4, 0x5a, - 0x3f, 0xf8, 0xfb, 0xea, 0xee, 0xc7, 0x37, 0xfa, 0xd0, 0x30, 0x9d, 0xa0, 0x52, 0xcf, 0x1d, 0x74, - 0x37, 0xaa, 0xac, 0xea, 0x15, 0xd2, 0xfe, 0x8a, 0xf2, 0xd1, 0xa7, 0x7a, 0xa6, 0xbf, 0x3f, 0xdc, - 0x25, 0xf3, 0x7f, 0x86, 0x55, 0x3b, 0x65, 0x3a, 0xc1, 0x3f, 0x0a, 0xe4, 0x4c, 0xcf, 0x39, 0xa5, - 0x0f, 0xcc, 0x33, 0x07, 0xeb, 0xbc, 0x78, 0xb0, 0xfb, 0x4d, 0x45, 0xf9, 0x4e, 0x0e, 0x5d, 0xe2, - 0xdc, 0x4b, 0x23, 0x1f, 0x4f, 0x9f, 0x73, 0x07, 0xdd, 0xdd, 0x22, 0x6d, 0xf1, 0xe4, 0xff, 0x04, - 0x00, 0x00, 0xff, 0xff, 0xf9, 0x9a, 0x91, 0x19, 0xfc, 0x95, 0x00, 0x00, + // 7775 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x6d, 0x8c, 0x1b, 0xc7, + 0x75, 0x5a, 0xf2, 0x78, 0x24, 0x1f, 0x79, 0x77, 0xbc, 0xb9, 0x2f, 0x9a, 0x96, 0xad, 0xf3, 0xda, + 0xb2, 0x65, 0x7d, 0x9c, 0x9c, 0xb3, 0x65, 0xc7, 0x8e, 0x23, 0x5b, 0xba, 0xb3, 0x3e, 0x62, 0x49, + 0x56, 0xf6, 0x24, 0xa7, 0x49, 0xe0, 0x12, 0x7b, 0xdc, 0x39, 0xde, 0x5a, 0xcb, 0x5d, 0x7a, 0x77, + 0x29, 0xe9, 0x92, 0xb6, 0x28, 0xd0, 0x14, 0x4e, 0x9b, 0x38, 0x29, 0x1a, 0xa4, 0x48, 0xda, 0xa4, + 0x9f, 0x40, 0x9a, 0x26, 0x05, 0x5a, 0xb4, 0x29, 0x50, 0xa0, 0x6e, 0xd0, 0xa4, 0xff, 0xdc, 0x02, + 0x4d, 0x51, 0x20, 0x69, 0x11, 0xb4, 0xe8, 0xcf, 0xe6, 0x47, 0x51, 0xf4, 0x4f, 0x81, 0xa2, 0x45, + 0x53, 0xcc, 0xd7, 0x72, 0x76, 0xb9, 0x43, 0x2e, 0x45, 0xcb, 0x92, 0x8a, 0xf2, 0x17, 0x67, 0x76, + 0x66, 0xde, 0x9b, 0x37, 0x6f, 0xde, 0xbc, 0x79, 0xf3, 0xe6, 0x0d, 0x54, 0x3b, 0xb6, 0x73, 0xbd, + 0x17, 0xac, 0x75, 0x7d, 0x2f, 0xf4, 0xd0, 0x92, 0x9c, 0xba, 0xbe, 0xbe, 0xc6, 0x92, 0x8d, 0x6a, + 0xcb, 0xeb, 0x74, 0x3c, 0x97, 0x65, 0x37, 0x4a, 0x7e, 0x9b, 0xff, 0xab, 0x06, 0xad, 0x5d, 0xdc, + 0x31, 0x79, 0xaa, 0xb2, 0x83, 0x2d, 0xec, 0xf3, 0x44, 0xb9, 0x13, 0x88, 0x52, 0xab, 0x6d, 0xcf, + 0x6b, 0x3b, 0xf8, 0x38, 0x4d, 0x6d, 0xf7, 0x76, 0x8e, 0x5b, 0x38, 0x68, 0xf9, 0x76, 0x37, 0xf4, + 0x78, 0x61, 0xfd, 0x5b, 0x1a, 0xa0, 0x0d, 0x1f, 0x9b, 0x21, 0x3e, 0xe5, 0xd8, 0x66, 0x60, 0xe0, + 0x37, 0x7a, 0x38, 0x08, 0xd1, 0x3a, 0x4c, 0x6d, 0x9b, 0x01, 0xae, 0x6b, 0xab, 0xda, 0xa1, 0xca, + 0xfa, 0x83, 0x6b, 0x09, 0xe4, 0x38, 0x52, 0x17, 0x83, 0xf6, 0x69, 0x33, 0xc0, 0x06, 0x2d, 0x8b, + 0x56, 0xa0, 0x68, 0x6d, 0x37, 0x5d, 0xb3, 0x83, 0xeb, 0xb9, 0x55, 0xed, 0x50, 0xd9, 0x98, 0xb6, + 0xb6, 0x2f, 0x99, 0x1d, 0x8c, 0x1e, 0x83, 0xb9, 0x96, 0xe7, 0x38, 0xb8, 0x15, 0xda, 0x9e, 0xcb, + 0x0a, 0xe4, 0x69, 0x81, 0xd9, 0x7e, 0x36, 0x2d, 0xb8, 0x08, 0x05, 0x93, 0x60, 0x51, 0x9f, 0xa2, + 0x9f, 0x59, 0xe2, 0x39, 0xf4, 0xce, 0xc9, 0xb9, 0x92, 0x56, 0x3b, 0x5a, 0xff, 0xb1, 0xf8, 0x69, + 0xfa, 0x2f, 0x68, 0x50, 0xdb, 0xf4, 0xbd, 0xee, 0xed, 0x43, 0x3a, 0xc2, 0x25, 0x9f, 0x82, 0xcb, + 0x31, 0x19, 0x97, 0xdf, 0xd0, 0x60, 0xfe, 0x94, 0x13, 0x62, 0xff, 0x6e, 0xa5, 0xa0, 0xfe, 0x96, + 0x06, 0x8b, 0x9b, 0x74, 0xe4, 0xb7, 0xf1, 0x1d, 0xa2, 0xd8, 0x9a, 0x4c, 0xb1, 0xaf, 0x6a, 0xb0, + 0x94, 0xc0, 0x27, 0xe8, 0x7a, 0x6e, 0x80, 0xd1, 0x09, 0x98, 0x0e, 0x42, 0x33, 0xec, 0x05, 0x1c, + 0xa5, 0x07, 0x14, 0x28, 0x6d, 0xd1, 0x42, 0x06, 0x2f, 0x3c, 0x26, 0x4e, 0xe8, 0x41, 0x80, 0x3e, + 0xdd, 0x38, 0xa9, 0xa4, 0x1c, 0xfd, 0xd7, 0x35, 0x40, 0x17, 0xec, 0x20, 0xa4, 0xb8, 0xe1, 0x3b, + 0x3b, 0xa4, 0x82, 0x80, 0xc7, 0x65, 0x02, 0x7e, 0x5d, 0x83, 0x85, 0x18, 0x82, 0xb7, 0x89, 0x7c, + 0x99, 0xf9, 0xae, 0x0e, 0x45, 0x93, 0xe1, 0x52, 0x9f, 0x5a, 0xcd, 0x1f, 0x2a, 0x1b, 0x22, 0xa9, + 0x7f, 0x25, 0x0f, 0x2b, 0x4c, 0xc0, 0x6c, 0x44, 0x55, 0xee, 0xec, 0x1c, 0x59, 0x86, 0x69, 0x26, + 0x3c, 0xe9, 0xc8, 0x57, 0x0d, 0x9e, 0x42, 0x0f, 0x00, 0x04, 0xbb, 0xa6, 0x6f, 0x05, 0x4d, 0xb7, + 0xd7, 0xa9, 0x17, 0x56, 0xb5, 0x43, 0x05, 0xa3, 0xcc, 0x72, 0x2e, 0xf5, 0x3a, 0xe8, 0x0a, 0xcc, + 0xb7, 0x3c, 0x37, 0xb0, 0x83, 0x10, 0xbb, 0xad, 0xbd, 0xa6, 0x83, 0xaf, 0x63, 0xa7, 0x3e, 0xbd, + 0xaa, 0x1d, 0x9a, 0x5d, 0x7f, 0x4c, 0x81, 0xf9, 0x46, 0xbf, 0xfc, 0x05, 0x52, 0xdc, 0xa8, 0xb5, + 0x12, 0x39, 0x68, 0x03, 0xa0, 0xeb, 0x7b, 0x5d, 0xec, 0x87, 0x36, 0x0e, 0xea, 0xc5, 0xd5, 0xfc, + 0xa1, 0xca, 0xfa, 0xc3, 0x8a, 0xe6, 0x5e, 0xc6, 0x7b, 0xaf, 0x9a, 0x4e, 0x0f, 0x5f, 0x36, 0x6d, + 0xdf, 0x90, 0xaa, 0xa1, 0x83, 0x30, 0xeb, 0xf6, 0x3a, 0xcd, 0xae, 0xe9, 0x87, 0x36, 0xe9, 0x66, + 0x50, 0x2f, 0xad, 0x6a, 0x87, 0xf2, 0xc6, 0x8c, 0xdb, 0xeb, 0x5c, 0x8e, 0x32, 0x05, 0x27, 0x69, + 0x32, 0x27, 0xfd, 0x16, 0x99, 0x8a, 0xbe, 0xd7, 0xbd, 0x4b, 0x06, 0x47, 0xe0, 0x98, 0x93, 0x71, + 0xfc, 0x4c, 0x0e, 0x96, 0xa9, 0x80, 0xbd, 0x5b, 0x38, 0x48, 0x87, 0x6a, 0x3f, 0xe7, 0xfc, 0x26, + 0xe5, 0xa3, 0xbc, 0x11, 0xcb, 0x4b, 0x0c, 0x6c, 0xe1, 0x96, 0x06, 0x36, 0x75, 0xc4, 0xbe, 0xa9, + 0xc1, 0xe2, 0x39, 0x33, 0xb8, 0x5b, 0x68, 0xf1, 0x00, 0x40, 0x68, 0x77, 0x70, 0x33, 0x08, 0xcd, + 0x4e, 0x97, 0x52, 0x62, 0xca, 0x28, 0x93, 0x9c, 0x2d, 0x92, 0xa1, 0x7f, 0x1c, 0xaa, 0xa7, 0x3d, + 0xcf, 0x99, 0x54, 0x42, 0x2d, 0x42, 0xe1, 0x3a, 0xa1, 0x10, 0xc5, 0xb2, 0x64, 0xb0, 0x84, 0xfe, + 0x1a, 0xcc, 0x6e, 0x85, 0xbe, 0xed, 0xb6, 0xdf, 0xd5, 0xe6, 0xcb, 0xa2, 0xf9, 0x7f, 0xd1, 0xe0, + 0x3e, 0xb1, 0x4c, 0xdd, 0x4b, 0xac, 0x17, 0x1f, 0x92, 0x42, 0x62, 0x48, 0x04, 0x53, 0xe5, 0x65, + 0xa6, 0x7a, 0x6b, 0x1a, 0x1a, 0x69, 0x5d, 0x9d, 0x8c, 0xac, 0x2f, 0x44, 0x92, 0x36, 0x47, 0xab, + 0x0d, 0xc8, 0x49, 0xae, 0xc4, 0xf6, 0x21, 0x6e, 0xd1, 0x8c, 0x48, 0x24, 0x27, 0x7b, 0x9b, 0x4f, + 0xe9, 0xed, 0x3a, 0x2c, 0x5d, 0xb7, 0xfd, 0xb0, 0x67, 0x3a, 0xcd, 0xd6, 0xae, 0xe9, 0xba, 0xd8, + 0xa1, 0xf4, 0x13, 0x0b, 0xd1, 0x02, 0xff, 0xb8, 0xc1, 0xbe, 0x11, 0x22, 0x06, 0xe8, 0x29, 0x58, + 0xee, 0xee, 0xee, 0x05, 0x76, 0x6b, 0xa0, 0x52, 0x81, 0x56, 0x5a, 0x14, 0x5f, 0x63, 0xb5, 0x8e, + 0xc0, 0x7c, 0x8b, 0xae, 0x64, 0x56, 0x93, 0x50, 0x93, 0x91, 0x77, 0x9a, 0x92, 0xb7, 0xc6, 0x3f, + 0x5c, 0x11, 0xf9, 0x04, 0x2d, 0x51, 0xb8, 0x17, 0xb6, 0xa4, 0x0a, 0x45, 0x5a, 0x61, 0x81, 0x7f, + 0xbc, 0x1a, 0xb6, 0xfa, 0x75, 0xe2, 0x2b, 0x50, 0x29, 0xb9, 0x02, 0x49, 0x8b, 0x6c, 0x39, 0xb6, + 0xc8, 0xa2, 0x97, 0x61, 0x2e, 0x08, 0x4d, 0x3f, 0x6c, 0x76, 0xbd, 0x80, 0xaf, 0x00, 0x40, 0x25, + 0x8e, 0xae, 0x96, 0x38, 0x9b, 0x66, 0x68, 0x52, 0x81, 0x33, 0x4b, 0xab, 0x5e, 0x16, 0x35, 0xd3, + 0x17, 0xba, 0xca, 0xa4, 0x0b, 0x5d, 0x0a, 0x87, 0x57, 0x53, 0x39, 0x3c, 0x2e, 0x38, 0x67, 0x6e, + 0x6d, 0x45, 0x94, 0x26, 0xda, 0x6c, 0x6c, 0xa2, 0x0d, 0x2e, 0x95, 0x73, 0x29, 0x4b, 0xa5, 0xfe, + 0xb3, 0x39, 0x58, 0xba, 0xe0, 0x99, 0xd6, 0xdd, 0x32, 0xed, 0x0f, 0xc2, 0xac, 0x8f, 0xbb, 0x8e, + 0xdd, 0x32, 0x09, 0x6b, 0x6c, 0x63, 0x9f, 0x4e, 0xfc, 0x82, 0x31, 0xc3, 0x73, 0x2f, 0xd1, 0x4c, + 0xd2, 0x9e, 0x8f, 0x03, 0xaf, 0xe7, 0xb7, 0x70, 0xb3, 0xed, 0x7b, 0xbd, 0xae, 0x60, 0xe8, 0x59, + 0x91, 0x7d, 0x96, 0xe6, 0x12, 0x56, 0xf2, 0xf1, 0x8e, 0x8f, 0x83, 0x5d, 0xca, 0xc0, 0x25, 0x43, + 0x24, 0x9f, 0x2b, 0xbe, 0x73, 0x72, 0xaa, 0x56, 0xa8, 0xe7, 0xf5, 0x2f, 0x6b, 0x50, 0x37, 0xb0, + 0x83, 0xcd, 0xe0, 0x6e, 0x11, 0x7e, 0x0c, 0xb7, 0xe9, 0x7a, 0x5e, 0xff, 0x37, 0x0d, 0x16, 0xcf, + 0xe2, 0x90, 0x88, 0x1b, 0x3b, 0x08, 0xed, 0xd6, 0x1d, 0xde, 0x75, 0x3d, 0x06, 0x73, 0x11, 0x43, + 0xc5, 0x84, 0xcf, 0x6c, 0x94, 0xcd, 0x24, 0xc8, 0x71, 0x58, 0x68, 0xf7, 0x4c, 0xdf, 0x74, 0x43, + 0x8c, 0x25, 0x91, 0xc0, 0x44, 0x34, 0x8a, 0x3e, 0x45, 0x12, 0x81, 0xf5, 0x18, 0xea, 0x79, 0xb2, + 0xe1, 0x5d, 0x4a, 0xf4, 0x78, 0x32, 0xd9, 0xfc, 0x2c, 0x14, 0xc8, 0xbf, 0xa0, 0x9e, 0xcb, 0x3e, + 0xc3, 0x58, 0x0d, 0xb2, 0xe1, 0x7d, 0xf0, 0x2c, 0x0e, 0x25, 0xa9, 0x7d, 0x77, 0x8c, 0x43, 0x9f, + 0x5a, 0x5f, 0xd0, 0xe0, 0x80, 0x12, 0xc3, 0x3b, 0x46, 0xb7, 0xff, 0xd6, 0x60, 0x79, 0x6b, 0xd7, + 0xbb, 0xd1, 0x47, 0xeb, 0xf6, 0xd0, 0x2b, 0xbe, 0xfe, 0xe7, 0x13, 0xeb, 0x3f, 0x7a, 0x12, 0xa6, + 0xc2, 0xbd, 0x2e, 0xa6, 0x12, 0x64, 0x76, 0xfd, 0xc0, 0x5a, 0xaa, 0xe1, 0x69, 0x8d, 0x20, 0x7a, + 0x65, 0xaf, 0x8b, 0x0d, 0x5a, 0x18, 0x1d, 0x83, 0x5a, 0x62, 0x0c, 0xb8, 0x68, 0x39, 0x9d, 0xab, + 0x6b, 0xc6, 0x5c, 0x7c, 0x20, 0x22, 0xc5, 0x75, 0x4a, 0xd6, 0x31, 0xfe, 0x23, 0x07, 0x2b, 0x03, + 0xdd, 0x9f, 0x6c, 0x30, 0x1e, 0x4f, 0xc1, 0x2a, 0x47, 0x67, 0x5e, 0x12, 0x23, 0x22, 0x41, 0xa5, + 0xa2, 0xb6, 0x15, 0xd4, 0xf3, 0xab, 0x79, 0x22, 0xf8, 0x25, 0x65, 0xc2, 0x0a, 0xd0, 0x31, 0x40, + 0x03, 0x6b, 0x3c, 0x9b, 0xcd, 0x53, 0xc6, 0x7c, 0x72, 0x91, 0xa7, 0x8a, 0x44, 0xea, 0x2a, 0xcf, + 0x88, 0x33, 0x65, 0x2c, 0xa6, 0x2c, 0xf3, 0x01, 0x3a, 0x01, 0x8b, 0xb6, 0x7b, 0x11, 0x77, 0x3c, + 0x7f, 0xaf, 0xd9, 0xc5, 0x7e, 0x0b, 0xbb, 0xa1, 0xd9, 0xc6, 0x41, 0x7d, 0x9a, 0x60, 0x44, 0x09, + 0xba, 0x20, 0xbe, 0x5f, 0xee, 0x7f, 0x46, 0x4f, 0xc3, 0xca, 0x1b, 0x3d, 0xec, 0xef, 0x35, 0x03, + 0xec, 0x5f, 0xb7, 0x5b, 0xb8, 0x69, 0x5e, 0x37, 0x6d, 0xc7, 0xdc, 0x76, 0x30, 0xdd, 0x38, 0x96, + 0x8c, 0x25, 0xfa, 0x79, 0x8b, 0x7d, 0x3d, 0x25, 0x3e, 0xea, 0xdf, 0xd6, 0x60, 0x99, 0x6d, 0xc1, + 0xa3, 0x15, 0xee, 0x8e, 0xaf, 0x66, 0x71, 0x79, 0xc9, 0x6d, 0x30, 0x33, 0x31, 0x71, 0xc9, 0xa6, + 0xf3, 0x63, 0xf5, 0xbc, 0xfe, 0xb6, 0x06, 0x8b, 0x64, 0x93, 0x7a, 0x0f, 0xa2, 0x7f, 0xa8, 0x9e, + 0xd7, 0xff, 0x4c, 0x83, 0x85, 0x73, 0x66, 0x70, 0x0f, 0x62, 0x7f, 0xb8, 0x9e, 0xd7, 0x7f, 0x8f, + 0xab, 0x42, 0x7d, 0xed, 0xe8, 0x1e, 0x59, 0x6c, 0x07, 0x75, 0xa6, 0x42, 0x46, 0x9d, 0x69, 0x7a, + 0x94, 0xce, 0x54, 0x54, 0xe8, 0x4c, 0xdf, 0xed, 0xeb, 0x4c, 0xf7, 0x1a, 0xb9, 0xfa, 0xca, 0xd5, + 0xdb, 0x1a, 0x3c, 0x70, 0x16, 0x87, 0x51, 0x07, 0xee, 0x16, 0x2d, 0x2b, 0x1b, 0xe3, 0xea, 0xbf, + 0xcc, 0xb4, 0x93, 0x54, 0xf4, 0xef, 0xd8, 0xd2, 0xff, 0x95, 0x1c, 0x2c, 0x91, 0xb5, 0xef, 0x6e, + 0xe1, 0x8a, 0x2c, 0x66, 0x84, 0x14, 0xce, 0x29, 0xa4, 0x4e, 0xb4, 0x67, 0xb8, 0x42, 0x31, 0x9d, + 0x49, 0xa1, 0xa0, 0xeb, 0x1b, 0xad, 0xc0, 0x58, 0xee, 0xf1, 0x7a, 0x5e, 0xff, 0xd3, 0x1c, 0xd3, + 0x8c, 0x64, 0xf2, 0x4c, 0x36, 0x56, 0x29, 0xc8, 0xe7, 0x52, 0x91, 0xd7, 0xa1, 0x1a, 0xe5, 0x9c, + 0xdf, 0x14, 0x5a, 0x41, 0x2c, 0xef, 0x6e, 0x56, 0x0a, 0xf4, 0xcf, 0x69, 0xb0, 0x2c, 0x2c, 0x37, + 0x5b, 0xb8, 0xdd, 0xc1, 0x6e, 0x38, 0x09, 0x6b, 0x25, 0x19, 0x23, 0x97, 0xc2, 0x18, 0xfb, 0xa1, + 0x1c, 0x30, 0x48, 0x91, 0x49, 0xa6, 0x9f, 0xa1, 0x7f, 0x47, 0x83, 0x95, 0x01, 0x84, 0x26, 0x1b, + 0xcc, 0x3a, 0x14, 0x6d, 0xd7, 0xc2, 0x37, 0x23, 0x7c, 0x44, 0x92, 0x7c, 0xd9, 0xee, 0xd9, 0x8e, + 0x15, 0x21, 0x22, 0x92, 0xe8, 0x21, 0xa8, 0x62, 0x97, 0xa8, 0x3f, 0x4d, 0x5a, 0x96, 0x72, 0x78, + 0xc9, 0xa8, 0xb0, 0xbc, 0xf3, 0x24, 0x8b, 0x54, 0xde, 0xb1, 0x31, 0xad, 0x5c, 0x60, 0x95, 0x79, + 0x52, 0xff, 0xbc, 0x06, 0x0b, 0x84, 0x1f, 0x39, 0xfe, 0xc1, 0xed, 0xa6, 0xe8, 0x2a, 0x54, 0x24, + 0x86, 0xe3, 0x5d, 0x91, 0xb3, 0xf4, 0x0e, 0x2c, 0xc6, 0x11, 0x9a, 0x8c, 0xa2, 0x0f, 0x02, 0x44, + 0x23, 0xc6, 0x66, 0x46, 0xde, 0x90, 0x72, 0xf4, 0x2f, 0xe7, 0xc4, 0xb1, 0x30, 0x25, 0xd5, 0x1d, + 0x37, 0x31, 0xd3, 0x81, 0x91, 0x85, 0x7e, 0x99, 0xe6, 0xd0, 0xcf, 0x67, 0xa0, 0x8a, 0x6f, 0x86, + 0xbe, 0xd9, 0xec, 0x9a, 0xbe, 0xd9, 0x19, 0xcb, 0xd6, 0x5e, 0xa1, 0x15, 0x2f, 0xd3, 0x7a, 0x04, + 0x0c, 0x65, 0x15, 0x06, 0x66, 0x9a, 0x81, 0xa1, 0x39, 0x7d, 0x85, 0xa8, 0x52, 0xcf, 0xeb, 0xff, + 0x29, 0xce, 0x7b, 0xef, 0x0e, 0xd2, 0x48, 0x38, 0x4f, 0x25, 0x70, 0x7e, 0xb7, 0x48, 0xd3, 0xef, + 0xfb, 0xbf, 0x4b, 0x27, 0xc9, 0x77, 0x3f, 0x67, 0xc4, 0xa9, 0x53, 0x48, 0x52, 0x67, 0x3f, 0x94, + 0x93, 0x76, 0xdc, 0x7e, 0x06, 0xeb, 0x73, 0xb5, 0x9e, 0xd7, 0xdf, 0xcc, 0x43, 0x8d, 0xf6, 0x75, + 0x93, 0x3b, 0x4f, 0xd8, 0x9e, 0x9b, 0x68, 0x5a, 0x4b, 0x36, 0xad, 0x96, 0x58, 0x1f, 0x80, 0x69, + 0x3e, 0x18, 0xf9, 0xec, 0x83, 0xc1, 0xab, 0x8c, 0xea, 0xef, 0x43, 0x50, 0xa5, 0x60, 0xb0, 0xd5, + 0xf4, 0xbd, 0x1b, 0x01, 0x97, 0x6a, 0x15, 0x9e, 0x67, 0x78, 0x37, 0x68, 0x0b, 0xa1, 0x17, 0x9a, + 0x0e, 0x2b, 0x30, 0xcd, 0x84, 0x37, 0xcd, 0xa1, 0x9f, 0x9f, 0x61, 0x2a, 0x0e, 0xa6, 0x1a, 0xee, + 0xec, 0xfa, 0x43, 0x0a, 0xe4, 0x28, 0x39, 0x88, 0x48, 0xc1, 0x4c, 0xc1, 0x21, 0x72, 0x68, 0x85, + 0xd1, 0x83, 0x26, 0x9b, 0x3b, 0xa6, 0xed, 0x34, 0x7d, 0x6c, 0x06, 0x9e, 0x4b, 0xed, 0xd8, 0x65, + 0x63, 0xd1, 0x8e, 0xea, 0x9c, 0x31, 0x6d, 0xc7, 0xa0, 0xdf, 0xd0, 0x51, 0x40, 0x5d, 0xec, 0x5a, + 0xb6, 0xdb, 0x66, 0x62, 0x9a, 0xa1, 0x55, 0xa6, 0x68, 0xd5, 0xf8, 0x17, 0xc6, 0x67, 0xde, 0x8d, + 0x40, 0xff, 0x9a, 0xe4, 0x37, 0xc0, 0xb9, 0x6f, 0x32, 0x31, 0xf8, 0x2a, 0x20, 0x06, 0xd6, 0xea, + 0x0f, 0xad, 0x50, 0xef, 0x1e, 0x53, 0xe8, 0x31, 0x49, 0x56, 0x30, 0xe6, 0xed, 0x44, 0x4e, 0xa0, + 0xff, 0x50, 0x83, 0xfd, 0x67, 0x71, 0x48, 0x8b, 0x9e, 0x26, 0x0b, 0xd2, 0x65, 0xdf, 0x6b, 0xfb, + 0x38, 0x08, 0xee, 0xe1, 0xe9, 0xd2, 0x9f, 0x10, 0x5f, 0x62, 0x1b, 0x84, 0xb4, 0xde, 0x4d, 0x36, + 0x1c, 0x49, 0xfe, 0xcd, 0x8d, 0xe2, 0xdf, 0x7c, 0x82, 0x7f, 0xf5, 0xbf, 0x63, 0x86, 0x61, 0x89, + 0x3f, 0xff, 0x2f, 0x10, 0xfc, 0xeb, 0xcc, 0xf8, 0x2b, 0xf7, 0x6a, 0x32, 0x42, 0x47, 0xd3, 0x3c, + 0x37, 0xe6, 0x34, 0x3f, 0x00, 0x15, 0x79, 0x6a, 0xb3, 0x5e, 0xc3, 0x4e, 0x34, 0xa1, 0xf5, 0xbf, + 0xe1, 0x8e, 0x59, 0xf7, 0xfa, 0xe2, 0xc0, 0x88, 0x3f, 0x53, 0xcf, 0xeb, 0x7f, 0x98, 0x83, 0x99, + 0xf3, 0x6e, 0x80, 0xfd, 0xf0, 0x5e, 0xd8, 0xfe, 0xa2, 0x53, 0x50, 0xa1, 0x7d, 0x0c, 0x9a, 0x96, + 0x19, 0x9a, 0x7c, 0xc5, 0x5f, 0x55, 0x1c, 0xbc, 0x9e, 0x21, 0x25, 0x37, 0xcd, 0xd0, 0x34, 0x18, + 0xa9, 0x02, 0xf2, 0x1f, 0xdd, 0x0f, 0xe5, 0x5d, 0x33, 0xd8, 0x6d, 0x5e, 0xc3, 0x7b, 0x6c, 0xfb, + 0x31, 0x63, 0x94, 0x48, 0xc6, 0xcb, 0x78, 0x2f, 0x40, 0xf7, 0x41, 0xc9, 0xed, 0x75, 0xd8, 0xf4, + 0x23, 0x8b, 0xc4, 0x8c, 0x51, 0x74, 0x7b, 0x1d, 0x32, 0xf9, 0x18, 0xc9, 0x4a, 0x9c, 0x64, 0x57, + 0xbb, 0xff, 0x4f, 0xb2, 0x8c, 0x24, 0xbb, 0xaf, 0x9e, 0xd7, 0xbf, 0x97, 0x83, 0xd9, 0x8b, 0xbd, + 0xd0, 0xe4, 0xc7, 0xee, 0x3d, 0x27, 0xbc, 0xd5, 0xb9, 0x7d, 0x14, 0xf2, 0x4c, 0xa7, 0x27, 0x75, + 0x1a, 0x8a, 0x5e, 0x9c, 0xdf, 0x0c, 0x0c, 0x52, 0x8c, 0x1e, 0x39, 0xf7, 0x5a, 0x2d, 0xbe, 0x49, + 0xca, 0x53, 0xcc, 0xcb, 0x24, 0x87, 0x6d, 0x91, 0xee, 0x87, 0x32, 0xf6, 0xfd, 0x68, 0x0b, 0x45, + 0xfb, 0x85, 0x7d, 0xa6, 0xf9, 0x92, 0x9d, 0x8d, 0xd9, 0xba, 0xe6, 0x7a, 0x37, 0x1c, 0x6c, 0xb5, + 0xb1, 0x45, 0xe7, 0x50, 0xc9, 0x88, 0xe5, 0xb1, 0x59, 0x46, 0x38, 0xa1, 0xd9, 0x72, 0x43, 0xa1, + 0x6f, 0xb0, 0x9c, 0x0d, 0x37, 0x24, 0x9f, 0x2d, 0xec, 0xe0, 0x10, 0xd3, 0xcf, 0x45, 0xf6, 0x99, + 0xe5, 0xf0, 0xcf, 0xbd, 0x6e, 0x54, 0x9b, 0x39, 0x35, 0x95, 0x59, 0x0e, 0xf9, 0x1c, 0x53, 0xe0, + 0xca, 0x09, 0x05, 0x4e, 0x7f, 0x3b, 0x07, 0x33, 0x9b, 0xb4, 0xa9, 0x7b, 0x82, 0x0b, 0x11, 0x4c, + 0xe1, 0x9b, 0x5d, 0x9f, 0x4b, 0x22, 0xfa, 0x7f, 0x38, 0x5b, 0xa5, 0x9e, 0xd3, 0x17, 0x27, 0x3c, + 0xa7, 0x67, 0x1c, 0x59, 0xae, 0xe7, 0xf5, 0xff, 0x29, 0xc0, 0xcc, 0x16, 0x36, 0xfd, 0xd6, 0xee, + 0x3d, 0x62, 0xef, 0xad, 0x41, 0xde, 0x0a, 0x1c, 0x4e, 0x3f, 0xf2, 0x17, 0x1d, 0x81, 0xf9, 0xae, + 0x63, 0xb6, 0xf0, 0xae, 0xe7, 0x58, 0xd8, 0x67, 0xd6, 0x5d, 0xca, 0x83, 0x55, 0xa3, 0x26, 0x7d, + 0xa0, 0xf6, 0x5d, 0xf4, 0x2c, 0x94, 0xac, 0xc0, 0x69, 0x52, 0x4b, 0x16, 0xa3, 0xa2, 0xaa, 0x87, + 0x9b, 0x81, 0x43, 0x4f, 0xc6, 0x8a, 0x16, 0xfb, 0x83, 0x1e, 0x86, 0x19, 0xaf, 0x17, 0x76, 0x7b, + 0x61, 0x93, 0x89, 0x84, 0x7a, 0x89, 0x22, 0x58, 0x65, 0x99, 0x54, 0x62, 0x04, 0xe8, 0x1c, 0xcc, + 0x04, 0x94, 0x9c, 0x62, 0x33, 0x56, 0xce, 0xae, 0xff, 0x57, 0x59, 0x4d, 0xbe, 0x51, 0x7d, 0x1c, + 0x6a, 0xa1, 0x6f, 0x5e, 0xc7, 0x8e, 0x74, 0x84, 0x0c, 0x94, 0xfb, 0xe7, 0x58, 0x7e, 0xdf, 0xa3, + 0x44, 0x71, 0xe0, 0x5c, 0x51, 0x1d, 0x38, 0xa3, 0x59, 0xc8, 0xb9, 0x6f, 0x50, 0xcf, 0x8c, 0xbc, + 0x91, 0x73, 0xdf, 0x40, 0xc7, 0x60, 0xc1, 0xf5, 0xc2, 0xa6, 0x8f, 0xc3, 0x9e, 0xef, 0x36, 0x4d, + 0xc7, 0x69, 0x76, 0x70, 0x68, 0xd6, 0x67, 0xe8, 0x54, 0xaf, 0xb9, 0x5e, 0x68, 0xd0, 0x2f, 0xa7, + 0x1c, 0xe7, 0x22, 0x0e, 0xcd, 0x74, 0x9e, 0x9c, 0x9d, 0xd4, 0x77, 0xe4, 0x69, 0x58, 0xe9, 0x05, + 0xb8, 0x69, 0xe1, 0x1d, 0xb3, 0xe7, 0x84, 0x4d, 0xe9, 0x3b, 0xf5, 0xde, 0x28, 0x19, 0x4b, 0xbd, + 0x00, 0x6f, 0xb2, 0xaf, 0x52, 0x73, 0xe8, 0x49, 0x58, 0xe6, 0x24, 0xdf, 0xde, 0x6b, 0x76, 0x7d, + 0xbb, 0x63, 0xfa, 0x7b, 0x6c, 0x2e, 0xd5, 0x68, 0xb5, 0x05, 0xf6, 0xf5, 0xf4, 0xde, 0x65, 0xf6, + 0x8d, 0x4c, 0x2b, 0x36, 0x01, 0x66, 0xeb, 0x79, 0xfd, 0x65, 0x98, 0x3a, 0x67, 0x87, 0x94, 0xaf, + 0x88, 0x40, 0xd5, 0xa8, 0x91, 0x84, 0x0a, 0xcd, 0xfb, 0xa0, 0xe4, 0x7b, 0x37, 0xd8, 0x6a, 0x41, + 0x36, 0x0b, 0x55, 0xa3, 0xe8, 0x7b, 0x37, 0xe8, 0x42, 0x40, 0x9d, 0x4b, 0x3d, 0x1f, 0xb3, 0xed, + 0x5d, 0xce, 0xe0, 0x29, 0xfd, 0x8f, 0xb4, 0xfe, 0x6c, 0x22, 0xd2, 0x3d, 0xb8, 0x55, 0xf1, 0x7e, + 0x0a, 0x8a, 0x3e, 0x6b, 0x61, 0x84, 0x53, 0x95, 0x0c, 0x8d, 0xae, 0x57, 0xa2, 0x5e, 0xe6, 0xa9, + 0xa7, 0xff, 0x5c, 0x01, 0x16, 0xce, 0xed, 0x6d, 0xfb, 0xb6, 0x75, 0x4f, 0x09, 0x82, 0x17, 0xa1, + 0xe4, 0x33, 0x4c, 0x85, 0xc5, 0xe3, 0x11, 0x95, 0x4d, 0x5a, 0xee, 0x96, 0x11, 0xd5, 0x42, 0x9b, + 0x50, 0xf1, 0x4d, 0xf7, 0x9a, 0x98, 0xa9, 0xd3, 0x63, 0x38, 0x21, 0x91, 0x7a, 0x43, 0xe6, 0x69, + 0x71, 0xac, 0x79, 0x5a, 0x52, 0xce, 0x53, 0xc5, 0xbc, 0x2c, 0x2b, 0xe6, 0xe5, 0x80, 0x84, 0x82, + 0x14, 0x09, 0x75, 0x7b, 0x1c, 0xbf, 0x86, 0x4c, 0xde, 0xea, 0x90, 0xc9, 0xdb, 0x9f, 0x87, 0x9f, + 0xd7, 0xa0, 0x7a, 0xc6, 0xe9, 0x05, 0xb7, 0x87, 0xfd, 0xd2, 0x5c, 0x08, 0xf2, 0xa9, 0x2e, 0x04, + 0x0c, 0xa3, 0xb9, 0xd5, 0xbc, 0xfe, 0xdb, 0xd3, 0x30, 0xc3, 0x31, 0xba, 0x4d, 0x8e, 0xf7, 0x57, + 0xa1, 0x42, 0xa0, 0x37, 0x03, 0xdc, 0x16, 0x87, 0x12, 0x95, 0xf5, 0xa7, 0x14, 0x5c, 0x1c, 0x43, + 0x85, 0x3a, 0x53, 0x6e, 0xd1, 0x6a, 0x2f, 0xb9, 0xa1, 0xbf, 0xc7, 0x2e, 0x36, 0xb0, 0x0c, 0x84, + 0x61, 0x7e, 0x87, 0x14, 0x6e, 0xca, 0x8d, 0x4f, 0xd1, 0xc6, 0x9f, 0xcd, 0xd4, 0x38, 0x4d, 0x25, + 0x21, 0xcc, 0xed, 0xc4, 0x73, 0x51, 0x93, 0x4d, 0xe9, 0x66, 0x80, 0x4d, 0xce, 0xfb, 0x7c, 0x1e, + 0x3e, 0x33, 0x46, 0x0f, 0x4c, 0x36, 0x3d, 0x18, 0x88, 0x99, 0x96, 0x9c, 0x87, 0x3e, 0x0a, 0x34, + 0xa3, 0xc9, 0x3a, 0x13, 0x8a, 0x19, 0x7a, 0x22, 0x73, 0xf3, 0x34, 0xe7, 0x0a, 0x6f, 0x9c, 0x92, + 0x9a, 0xe7, 0x34, 0x9a, 0x30, 0x97, 0xe8, 0x1f, 0x59, 0x00, 0xae, 0xe1, 0x3d, 0x6e, 0xe4, 0x23, + 0x7f, 0xd1, 0xd3, 0xb2, 0xbf, 0xb0, 0x7a, 0xaf, 0x70, 0xc1, 0x73, 0xdb, 0xa7, 0x7c, 0xdf, 0xdc, + 0xe3, 0x1e, 0xc5, 0xcf, 0xe5, 0xde, 0xaf, 0x35, 0x2c, 0x58, 0x4c, 0xa3, 0xe2, 0xbb, 0x0c, 0xe5, + 0x45, 0x40, 0x83, 0x64, 0x4c, 0x81, 0x11, 0xf3, 0x7c, 0xce, 0xcb, 0x2d, 0x9c, 0x84, 0x5a, 0x92, + 0x52, 0xa3, 0xea, 0x4f, 0x49, 0xf5, 0xf5, 0xef, 0x4d, 0x41, 0xf5, 0xc3, 0x3d, 0xec, 0xef, 0xdd, + 0xd9, 0x55, 0x43, 0xa8, 0xd5, 0x53, 0x92, 0x5a, 0x3d, 0x20, 0x0d, 0x0b, 0x29, 0xd2, 0x30, 0x65, + 0xb9, 0x99, 0x4e, 0x5d, 0x6e, 0x6e, 0xa7, 0x98, 0x3f, 0x03, 0x55, 0xe6, 0xf2, 0x33, 0xbe, 0xce, + 0x58, 0xa1, 0x15, 0xf9, 0x52, 0xa4, 0x58, 0x2e, 0x60, 0x1c, 0x35, 0xee, 0xce, 0xae, 0x04, 0xb5, + 0x7a, 0x5e, 0xff, 0xbe, 0x16, 0xb1, 0xd4, 0x84, 0x3a, 0x54, 0x6c, 0xc3, 0x9f, 0xbb, 0x85, 0x0d, + 0x7f, 0x66, 0xfe, 0x1b, 0xe0, 0xb5, 0xa9, 0x41, 0x5e, 0xd3, 0xff, 0x58, 0x83, 0xf2, 0xab, 0xb8, + 0x15, 0x7a, 0x3e, 0x11, 0x9f, 0x29, 0x6d, 0x6b, 0x19, 0x2c, 0x5c, 0xb9, 0xa4, 0x85, 0xeb, 0x04, + 0x94, 0x6c, 0xab, 0x69, 0x12, 0xd1, 0x40, 0x91, 0x1b, 0x6e, 0x0e, 0x28, 0xda, 0x16, 0x95, 0x22, + 0x99, 0xf5, 0x2c, 0xfd, 0xd7, 0x34, 0xa8, 0x32, 0xac, 0x03, 0x56, 0xf3, 0x83, 0x12, 0x40, 0x2d, + 0x5d, 0x66, 0xf1, 0x64, 0xd4, 0xd9, 0x73, 0xfb, 0xfa, 0x80, 0x37, 0x00, 0xc8, 0x78, 0xf0, 0x06, + 0x98, 0xd0, 0xd3, 0x15, 0x18, 0xb3, 0x06, 0x28, 0xf9, 0xce, 0xed, 0x33, 0xca, 0xa4, 0x1e, 0x6d, + 0xe4, 0x74, 0x11, 0x0a, 0xb4, 0xbe, 0xfe, 0xa9, 0x1c, 0x2c, 0x6c, 0x98, 0x4e, 0x6b, 0xd3, 0x0e, + 0x42, 0xd3, 0x6d, 0x4d, 0x64, 0x04, 0x78, 0x1e, 0x8a, 0x5e, 0xb7, 0xe9, 0xe0, 0x9d, 0x90, 0xa3, + 0xf5, 0xf0, 0xd0, 0x7e, 0x31, 0x72, 0x18, 0xd3, 0x5e, 0xf7, 0x02, 0xde, 0x09, 0xd1, 0x49, 0x28, + 0x79, 0xdd, 0xa6, 0x6f, 0xb7, 0x77, 0x43, 0x3e, 0x0e, 0x99, 0xaa, 0x17, 0xbd, 0xae, 0x41, 0xea, + 0x48, 0x47, 0x46, 0x53, 0x63, 0x1f, 0x19, 0xe9, 0x3f, 0xd0, 0x92, 0x64, 0x98, 0x68, 0xea, 0x3c, + 0x0f, 0x25, 0xdb, 0x0d, 0x9b, 0x96, 0x1d, 0x08, 0x52, 0x1c, 0x50, 0xf1, 0x94, 0x1b, 0xd2, 0x7e, + 0xd0, 0x11, 0x76, 0x43, 0x02, 0x1f, 0x9d, 0x06, 0xd8, 0x71, 0x3c, 0x93, 0xd7, 0x67, 0xb4, 0x78, + 0x48, 0x35, 0xef, 0x48, 0x41, 0xd1, 0x42, 0x99, 0x56, 0x23, 0x6d, 0xf4, 0x07, 0xd8, 0x87, 0x39, + 0xba, 0x38, 0x9d, 0x72, 0x9c, 0xdb, 0xb1, 0xc4, 0x08, 0x1f, 0xd6, 0x47, 0x65, 0x1f, 0xd6, 0x6b, + 0x50, 0xeb, 0xc3, 0x9c, 0x4c, 0xf7, 0x5b, 0x85, 0x2a, 0x53, 0x5f, 0x88, 0x34, 0xe6, 0xbb, 0xb9, + 0x29, 0x03, 0x76, 0x78, 0xf3, 0x57, 0x02, 0xfd, 0x6f, 0x35, 0x58, 0xba, 0x8c, 0x7d, 0x26, 0x07, + 0x43, 0x7e, 0xf4, 0x7f, 0xde, 0xdd, 0xf1, 0xe2, 0x1e, 0x18, 0x5a, 0xc2, 0x03, 0xe3, 0xdd, 0xf1, + 0x38, 0x88, 0x59, 0x2d, 0x99, 0x7b, 0x90, 0xb0, 0x5a, 0x0a, 0x47, 0x28, 0x66, 0x35, 0x9f, 0x55, + 0xf2, 0x23, 0xc7, 0x58, 0x3e, 0x40, 0xd0, 0xbf, 0xc8, 0x3c, 0xb3, 0x53, 0xbb, 0x35, 0xc9, 0x28, + 0x2e, 0x03, 0x1f, 0xb6, 0x84, 0x9e, 0xf0, 0x28, 0x24, 0x84, 0xa6, 0x62, 0xab, 0xfb, 0x55, 0x0d, + 0x56, 0xd5, 0x78, 0x4d, 0x36, 0xd2, 0xa7, 0xa1, 0x60, 0xbb, 0x3b, 0x9e, 0x38, 0x58, 0x3c, 0xaa, + 0x98, 0xfc, 0xe9, 0xb0, 0x59, 0x55, 0xfd, 0xfb, 0x39, 0xa8, 0x7d, 0x98, 0x79, 0xf7, 0xbe, 0xe7, + 0x6c, 0xd0, 0xc1, 0x9d, 0x66, 0x60, 0x7f, 0x02, 0x0b, 0x36, 0xe8, 0xe0, 0xce, 0x96, 0xfd, 0x09, + 0x1c, 0xe3, 0x90, 0x42, 0x9c, 0x43, 0x86, 0xfb, 0x52, 0xc8, 0xc7, 0xe3, 0xc5, 0xf8, 0xf1, 0x78, + 0x03, 0xa6, 0x5d, 0xcf, 0xc2, 0xe7, 0x37, 0x99, 0xb5, 0x97, 0xfa, 0x3d, 0xf1, 0x9c, 0x3e, 0xdb, + 0x95, 0xc7, 0x65, 0x3b, 0x02, 0x90, 0x36, 0xc2, 0x77, 0xbe, 0x04, 0x53, 0x96, 0xd4, 0x7f, 0x49, + 0x83, 0xc6, 0x59, 0x1c, 0x26, 0x69, 0x7b, 0x27, 0x79, 0xf1, 0x0b, 0x1a, 0xdc, 0x9f, 0x8a, 0xd2, + 0x64, 0x6c, 0xf8, 0xc1, 0x38, 0x1b, 0xaa, 0xce, 0xb7, 0x07, 0xc0, 0x72, 0x0e, 0x7c, 0x1f, 0x54, + 0x37, 0x7b, 0x9d, 0x4e, 0xa4, 0xce, 0x3f, 0x04, 0x55, 0x6e, 0x2f, 0x61, 0x36, 0x53, 0xa6, 0xa2, + 0x54, 0x78, 0xde, 0x95, 0xbd, 0x2e, 0xd6, 0x8f, 0xc0, 0x0c, 0xaf, 0xc2, 0x31, 0x6f, 0x40, 0xc9, + 0xe7, 0xff, 0x79, 0xf9, 0x28, 0xad, 0x2f, 0xc1, 0x82, 0x81, 0xdb, 0x64, 0x02, 0xf8, 0x17, 0x6c, + 0xf7, 0x1a, 0x07, 0xa3, 0xbf, 0xa9, 0xc1, 0x62, 0x3c, 0x9f, 0xb7, 0xf5, 0x7e, 0x28, 0x9a, 0x96, + 0xe5, 0xe3, 0x20, 0x18, 0x31, 0x38, 0xa7, 0x58, 0x29, 0x43, 0x14, 0x97, 0xe8, 0x97, 0x1b, 0x83, + 0x7e, 0xba, 0x09, 0xf3, 0x67, 0x71, 0x78, 0x11, 0x87, 0xfe, 0x84, 0xae, 0xb0, 0xd4, 0x91, 0x98, + 0x56, 0xe7, 0x0c, 0x22, 0x92, 0xfa, 0xe7, 0x34, 0x40, 0x32, 0x8c, 0xc9, 0x06, 0x5c, 0xa6, 0x76, + 0x2e, 0x4e, 0x6d, 0x76, 0x1d, 0xa2, 0xd3, 0xf5, 0x5c, 0xec, 0x86, 0xb2, 0xfa, 0x3a, 0x13, 0xe5, + 0x52, 0x56, 0xfc, 0x0b, 0x0d, 0x66, 0x36, 0x44, 0x0e, 0x95, 0x39, 0xcb, 0xd1, 0x04, 0x65, 0x02, + 0x47, 0x4c, 0x4e, 0x04, 0x53, 0xbe, 0xe7, 0x08, 0x40, 0xf4, 0x3f, 0x7a, 0x01, 0x80, 0xb9, 0x83, + 0xb4, 0x3c, 0x8b, 0x01, 0x98, 0x1d, 0xd4, 0x08, 0x25, 0xdc, 0xf1, 0x86, 0x67, 0x61, 0xa3, 0x1c, + 0x88, 0xbf, 0x44, 0x5f, 0x60, 0xfe, 0x4b, 0x84, 0x05, 0xc7, 0xd1, 0x7e, 0xca, 0xb4, 0x1a, 0x41, + 0x58, 0xff, 0xa1, 0x46, 0x76, 0xf4, 0xbc, 0x0b, 0x14, 0x4a, 0x80, 0x9e, 0x13, 0x92, 0x84, 0xd1, + 0x53, 0x65, 0x1e, 0x8c, 0xf5, 0x5c, 0x88, 0x92, 0xab, 0xb0, 0x10, 0xf4, 0xb6, 0xfb, 0xc4, 0xa3, + 0xb9, 0x62, 0x52, 0x65, 0x6b, 0x09, 0xc9, 0x0d, 0x70, 0x94, 0xfa, 0x63, 0x9c, 0x1f, 0x87, 0x29, + 0xef, 0x87, 0xfb, 0xe8, 0x45, 0xa7, 0x58, 0x63, 0x62, 0xee, 0xfc, 0x58, 0x03, 0x74, 0xc1, 0x33, + 0xad, 0xd3, 0xa6, 0x33, 0xa9, 0x06, 0xfc, 0x00, 0x40, 0xe0, 0xb7, 0x9a, 0x7c, 0xe8, 0x73, 0x7c, + 0xad, 0xf1, 0x5b, 0x97, 0xd8, 0xe8, 0x1f, 0x80, 0x8a, 0x15, 0x84, 0xfc, 0xb3, 0x70, 0xa2, 0x05, + 0x2b, 0x08, 0xd9, 0x77, 0x7a, 0x77, 0x36, 0xc0, 0xa6, 0x83, 0xad, 0xa6, 0xe4, 0x77, 0x38, 0x45, + 0x8b, 0xd5, 0xd8, 0x87, 0xad, 0x28, 0x3f, 0x45, 0x50, 0x16, 0x52, 0xf7, 0x3f, 0x92, 0xea, 0x36, + 0x1d, 0x53, 0xdd, 0xe8, 0x8e, 0x71, 0xbe, 0x5e, 0x20, 0xd2, 0x7d, 0xe5, 0xa2, 0xe9, 0xf6, 0x4c, + 0x87, 0x90, 0xc8, 0x8c, 0xdd, 0x61, 0x4c, 0xae, 0x8f, 0x5a, 0xca, 0xfa, 0xf8, 0x20, 0xbb, 0x4a, + 0xc5, 0xf6, 0xf1, 0x42, 0x45, 0xeb, 0xe7, 0xa0, 0x43, 0x30, 0xd7, 0x31, 0x5f, 0xf7, 0xfc, 0x7e, + 0xeb, 0x74, 0xf8, 0x4a, 0x46, 0x32, 0x9b, 0xa1, 0x54, 0xac, 0x6b, 0xfa, 0xef, 0x6a, 0x50, 0x1f, + 0x44, 0x69, 0xb2, 0x99, 0x4e, 0xbb, 0x22, 0x1a, 0x93, 0x97, 0xfa, 0x7e, 0x1e, 0x7a, 0x02, 0x16, + 0xfa, 0xe9, 0xcb, 0x8e, 0xe9, 0x6e, 0x78, 0x3d, 0x97, 0x29, 0xe1, 0x05, 0x23, 0xed, 0x93, 0xfe, + 0x42, 0xc4, 0x5b, 0x66, 0x74, 0x89, 0x0e, 0xc7, 0xa8, 0x27, 0x81, 0xd4, 0x06, 0x41, 0xea, 0x7f, + 0x90, 0xa3, 0x6b, 0xeb, 0x40, 0x0b, 0x93, 0x75, 0xf6, 0xf9, 0xb8, 0xf3, 0xca, 0xa3, 0x4a, 0x83, + 0x44, 0x1c, 0x2a, 0x9f, 0xbe, 0x87, 0x60, 0x0e, 0xdf, 0xc4, 0xad, 0x5e, 0x68, 0xbb, 0x6d, 0xd2, + 0xd5, 0x4b, 0x1e, 0xd7, 0x7a, 0x92, 0xd9, 0xe8, 0x11, 0x98, 0x21, 0x23, 0xed, 0xf5, 0x42, 0x5e, + 0x8e, 0xa9, 0x3f, 0xf1, 0x4c, 0xd2, 0x1e, 0xe9, 0xb3, 0x83, 0x43, 0x6c, 0xf1, 0x72, 0x4c, 0x17, + 0x4a, 0x66, 0x13, 0x8a, 0xed, 0x98, 0xb6, 0x13, 0x15, 0x63, 0x87, 0xe1, 0xb1, 0xbc, 0x01, 0x92, + 0x93, 0xec, 0x60, 0x1c, 0x92, 0xff, 0xa3, 0x96, 0x20, 0x39, 0x6f, 0xe1, 0x4e, 0x92, 0xfc, 0x43, + 0x00, 0x1d, 0xec, 0xb7, 0xf1, 0x79, 0xaa, 0x7d, 0x30, 0x5b, 0xf6, 0xe1, 0x21, 0x82, 0x92, 0x35, + 0x71, 0x51, 0x54, 0x31, 0xa4, 0xda, 0xfa, 0x59, 0x58, 0x48, 0x29, 0x42, 0x96, 0x54, 0x76, 0x57, + 0x47, 0x9c, 0xd3, 0x89, 0x24, 0x59, 0xaf, 0x42, 0xd3, 0x6f, 0xe3, 0x90, 0x4f, 0x0a, 0x9e, 0xd2, + 0xbf, 0xc2, 0x3c, 0xc5, 0xe8, 0x6e, 0x2e, 0xc6, 0xd8, 0x71, 0xd7, 0x68, 0x2d, 0xe9, 0x1a, 0x4d, + 0xb4, 0xde, 0xc8, 0xec, 0xcc, 0x04, 0x42, 0x71, 0x87, 0xd9, 0x48, 0x65, 0x79, 0x94, 0x1f, 0x65, + 0xad, 0x9c, 0x52, 0xdf, 0x60, 0x3d, 0x52, 0x9f, 0xd2, 0x77, 0xa9, 0xc7, 0x97, 0x8c, 0xdd, 0xc4, + 0x2e, 0xf4, 0x14, 0x4b, 0x6c, 0xf1, 0x10, 0x1a, 0x22, 0xa9, 0x7f, 0x5a, 0x83, 0x15, 0x01, 0xea, + 0x94, 0xe3, 0x4c, 0xec, 0x35, 0x37, 0x72, 0x5f, 0xab, 0x24, 0x93, 0x7e, 0x0d, 0xea, 0x83, 0x98, + 0xdc, 0xae, 0x7e, 0x7f, 0x27, 0x07, 0x33, 0xe7, 0x3b, 0x5d, 0xaf, 0xef, 0xa4, 0x94, 0xd9, 0xee, + 0x36, 0xe8, 0xd1, 0x91, 0x4b, 0xf3, 0xe8, 0x78, 0x18, 0x66, 0xe2, 0xc1, 0x25, 0xd8, 0xb9, 0x52, + 0xb5, 0x25, 0x07, 0x95, 0xb8, 0x1f, 0xca, 0xbe, 0x77, 0xa3, 0x49, 0x48, 0x67, 0xf1, 0x4b, 0x0a, + 0x25, 0xdf, 0xbb, 0x41, 0x08, 0x6a, 0xa1, 0x45, 0x28, 0xec, 0xd8, 0x4e, 0x74, 0xf1, 0x86, 0x25, + 0xd0, 0x07, 0xa1, 0xe8, 0x71, 0x57, 0xd5, 0x31, 0x4e, 0x26, 0x45, 0x1d, 0x99, 0xfc, 0xc5, 0x01, + 0x2e, 0x75, 0x7a, 0x44, 0xd1, 0x66, 0xfe, 0xb8, 0x3b, 0x1e, 0xdd, 0x84, 0x55, 0x8d, 0xd9, 0x7e, + 0x36, 0x99, 0x6d, 0x8c, 0x4b, 0x51, 0x5d, 0xd3, 0x5f, 0x83, 0x59, 0x41, 0xc2, 0x89, 0x03, 0xb0, + 0x84, 0x66, 0x70, 0x4d, 0x5c, 0x45, 0x60, 0x09, 0xfd, 0x08, 0x73, 0x7b, 0xa4, 0x10, 0x62, 0x7c, + 0x89, 0x60, 0x8a, 0x94, 0xe0, 0x12, 0x90, 0xfe, 0xd7, 0xff, 0x35, 0x07, 0xcb, 0xc9, 0xd2, 0x93, + 0x21, 0xf5, 0xfe, 0xb8, 0xd4, 0x53, 0xc5, 0xd2, 0x90, 0x21, 0x72, 0x89, 0xc7, 0x07, 0xb5, 0x15, + 0xad, 0xb0, 0x79, 0x3a, 0xa8, 0x74, 0x59, 0x25, 0xf4, 0xb7, 0xad, 0xa6, 0x63, 0x07, 0x21, 0x57, + 0x80, 0xa6, 0x6d, 0xeb, 0x82, 0x1d, 0x84, 0x64, 0x7f, 0xcb, 0x36, 0x68, 0x63, 0xb8, 0xe9, 0xb3, + 0x1a, 0x68, 0x16, 0x72, 0xb6, 0xc5, 0x57, 0x94, 0x9c, 0x6d, 0x51, 0xd6, 0x93, 0x6f, 0x3b, 0xf3, + 0x6d, 0xb6, 0xac, 0xdc, 0x58, 0x44, 0x69, 0xe3, 0x72, 0x8d, 0xde, 0x87, 0x2e, 0xc5, 0x45, 0x9d, + 0x45, 0x79, 0x93, 0x5d, 0x55, 0x22, 0xf3, 0x98, 0x39, 0x65, 0x97, 0x58, 0xc6, 0x95, 0x40, 0xef, + 0xc2, 0x32, 0xc1, 0x9a, 0xf5, 0xfe, 0x0a, 0x19, 0xaf, 0xb1, 0xe7, 0xd1, 0x22, 0x14, 0x1c, 0xbb, + 0x63, 0x0b, 0xd1, 0xcc, 0x12, 0x6a, 0xf1, 0xf0, 0x45, 0x0d, 0x56, 0x06, 0x40, 0x4e, 0x36, 0xc4, + 0x1b, 0x32, 0xdf, 0x55, 0xd6, 0x8f, 0x29, 0x56, 0xa5, 0x74, 0xbe, 0x12, 0x6c, 0xfa, 0xf7, 0x6c, + 0xd7, 0x66, 0xb0, 0x6b, 0xa5, 0xb7, 0xfd, 0xb2, 0xd0, 0x21, 0xa8, 0xdd, 0xb0, 0xc3, 0xdd, 0x26, + 0x0d, 0x0c, 0x43, 0x55, 0xee, 0x80, 0x2b, 0x9d, 0xb3, 0x24, 0x7f, 0x8b, 0x64, 0x13, 0xb5, 0x3b, + 0xc8, 0xbc, 0xec, 0xc8, 0x24, 0x2f, 0xc4, 0x48, 0xfe, 0x59, 0x0d, 0x16, 0x62, 0x5d, 0x9b, 0x8c, + 0xdc, 0x27, 0xc9, 0x8e, 0x94, 0x35, 0xc5, 0x29, 0xae, 0x2b, 0x28, 0xce, 0x21, 0xd2, 0xf5, 0x3f, + 0xaa, 0xa3, 0x7f, 0x2b, 0x0f, 0x15, 0xe9, 0x0b, 0xda, 0x0f, 0x65, 0xfe, 0xad, 0x6f, 0x00, 0x8b, + 0x32, 0x32, 0x11, 0xf3, 0x61, 0xe8, 0x0b, 0x6d, 0x29, 0x2a, 0x80, 0x74, 0xff, 0xcf, 0x0a, 0xd0, + 0x87, 0x60, 0x96, 0x11, 0x3b, 0x42, 0x5e, 0xb1, 0x15, 0x8d, 0xae, 0x3a, 0x9a, 0xbe, 0xc5, 0xf1, + 0x34, 0x66, 0x02, 0x29, 0xc5, 0x9c, 0x41, 0x3d, 0x0b, 0x53, 0x58, 0x85, 0x98, 0x29, 0x0a, 0xad, + 0xc1, 0x42, 0xfc, 0x26, 0xb2, 0xbc, 0xb5, 0x99, 0x8f, 0xdd, 0x46, 0xa6, 0xa3, 0xd6, 0x82, 0x79, + 0xb7, 0xd7, 0x69, 0x7a, 0xbd, 0x70, 0xdb, 0xeb, 0xb9, 0x8c, 0x15, 0x78, 0x08, 0xb9, 0x67, 0x46, + 0x93, 0x75, 0xed, 0x52, 0xaf, 0xf3, 0x0a, 0xaf, 0x4a, 0xd8, 0x85, 0x9f, 0xe5, 0xbb, 0xf1, 0xdc, + 0xc6, 0x69, 0x58, 0x4c, 0x2b, 0x38, 0xea, 0x28, 0xb8, 0x20, 0x1f, 0x05, 0x7f, 0x4e, 0x83, 0xaa, + 0x4c, 0x13, 0xd4, 0x80, 0x92, 0x83, 0x4d, 0x0b, 0xfb, 0xd1, 0xb0, 0x45, 0x69, 0x22, 0x95, 0xd8, + 0xff, 0xa6, 0x69, 0x59, 0x3e, 0x5f, 0x59, 0x81, 0x65, 0x9d, 0xb2, 0x2c, 0x1f, 0x3d, 0x0a, 0x73, + 0x56, 0x27, 0x16, 0xb6, 0x49, 0xd8, 0x2e, 0xac, 0x8e, 0x14, 0xaf, 0x29, 0x46, 0xe9, 0xa9, 0xb8, + 0xd1, 0xef, 0xcd, 0x5c, 0x14, 0x94, 0xd0, 0xc7, 0x16, 0x76, 0x43, 0xdb, 0x9c, 0xe8, 0x0c, 0xa1, + 0x01, 0xa5, 0x5e, 0x80, 0x7d, 0x49, 0x15, 0x88, 0xd2, 0xe4, 0x5b, 0xd7, 0x0c, 0x82, 0x1b, 0x9e, + 0x6f, 0x71, 0x3c, 0xa3, 0xf4, 0x90, 0x9b, 0xa2, 0x2c, 0x90, 0x5a, 0xfa, 0x4d, 0xd1, 0xa7, 0x61, + 0xa5, 0xe3, 0x59, 0xf6, 0x8e, 0x9d, 0x76, 0xc1, 0x94, 0x54, 0x5b, 0x12, 0x9f, 0x63, 0xf5, 0xc4, + 0x81, 0xc6, 0x82, 0x7c, 0xa0, 0xf1, 0xb5, 0x1c, 0xac, 0x5c, 0xed, 0x5a, 0xef, 0x09, 0x25, 0x56, + 0xa1, 0xe2, 0x39, 0xd6, 0xe5, 0x38, 0x31, 0xe4, 0x2c, 0x52, 0xc2, 0xc5, 0x37, 0xa2, 0x12, 0x4c, + 0x58, 0xc9, 0x59, 0x43, 0xef, 0xd6, 0xde, 0x12, 0xc5, 0xa6, 0x87, 0x51, 0xac, 0xfc, 0xce, 0xc9, + 0xe9, 0x52, 0xae, 0xb6, 0x58, 0xcf, 0xe9, 0x3f, 0x0d, 0x2b, 0xcc, 0x99, 0xf8, 0xb6, 0xd3, 0x49, + 0x8c, 0xd3, 0x92, 0x3c, 0x4e, 0x0e, 0x2c, 0x91, 0xa5, 0x8f, 0x00, 0xbf, 0x1a, 0x60, 0x7f, 0x62, + 0x49, 0xbc, 0x1f, 0xca, 0x02, 0x9e, 0xb8, 0x19, 0xdd, 0xcf, 0xd0, 0x7f, 0x12, 0x16, 0x13, 0xd0, + 0x6e, 0xb9, 0xa7, 0xa2, 0x37, 0xcb, 0x72, 0x6f, 0x56, 0x01, 0x0c, 0xcf, 0x21, 0x92, 0xc4, 0x0e, + 0xf7, 0x88, 0x36, 0x27, 0x29, 0x09, 0xf4, 0x3f, 0x29, 0x41, 0x20, 0x0f, 0x29, 0xf1, 0x2b, 0x1a, + 0xcc, 0xb3, 0x39, 0x4c, 0x9a, 0x9a, 0x64, 0x2c, 0x9e, 0x85, 0x69, 0x4c, 0xe1, 0x70, 0x7b, 0xf0, + 0x43, 0x2a, 0xe1, 0x19, 0xa1, 0x6c, 0xf0, 0x0a, 0xa9, 0x53, 0xea, 0x3a, 0xcc, 0x6d, 0xfa, 0x5e, + 0x77, 0x52, 0xac, 0xa8, 0x0e, 0xe9, 0x60, 0x79, 0x7f, 0x51, 0x22, 0x19, 0x97, 0x54, 0x2c, 0xf2, + 0x0f, 0x1a, 0x2c, 0xbf, 0xd2, 0xc5, 0xbe, 0x19, 0x62, 0x42, 0xba, 0x49, 0xe1, 0x0f, 0x9b, 0xc9, + 0x31, 0xdc, 0xf2, 0x71, 0xdc, 0xd0, 0xc9, 0x58, 0x7c, 0x21, 0xd5, 0x46, 0x3f, 0x81, 0x69, 0x3f, + 0xd4, 0x90, 0xe8, 0xdb, 0x8a, 0xdc, 0xb7, 0x6f, 0x6b, 0x30, 0xbf, 0x85, 0xc9, 0xb2, 0x3d, 0x69, + 0xb7, 0x4e, 0x48, 0x76, 0xea, 0x4c, 0x43, 0xcd, 0x4c, 0xd9, 0x87, 0x61, 0xde, 0x76, 0x5b, 0x4e, + 0xcf, 0xc2, 0x4d, 0x42, 0x05, 0xb6, 0x3b, 0xe2, 0xa6, 0x3e, 0xfe, 0x81, 0x74, 0x85, 0x6e, 0x8f, + 0xd2, 0x38, 0xfe, 0xa7, 0x18, 0xc7, 0x47, 0x57, 0x3b, 0x18, 0x12, 0xda, 0x78, 0x48, 0x3c, 0x03, + 0x05, 0x02, 0x5c, 0xe8, 0x4e, 0xaa, 0x7a, 0xfd, 0x89, 0x63, 0xb0, 0xf2, 0x64, 0x8f, 0x8f, 0x64, + 0xf2, 0x4d, 0x26, 0x3b, 0x3e, 0x20, 0xbb, 0x20, 0xe7, 0x47, 0x74, 0x80, 0xf5, 0x38, 0x72, 0x3e, + 0xd6, 0xff, 0x24, 0x1a, 0x49, 0x3a, 0xf4, 0x93, 0x8d, 0x24, 0xe9, 0xdd, 0x88, 0x91, 0x94, 0x88, + 0x41, 0x8b, 0xcb, 0x23, 0x49, 0x79, 0x38, 0x65, 0x24, 0x09, 0xde, 0x74, 0x24, 0xb9, 0xfc, 0xaf, + 0xd7, 0x73, 0x64, 0x00, 0x19, 0xc2, 0x62, 0x00, 0x29, 0x6c, 0x6d, 0x3c, 0xd8, 0xcf, 0x40, 0x81, + 0xc0, 0xcc, 0x42, 0x37, 0x31, 0x80, 0xb4, 0xbc, 0x34, 0x80, 0x1c, 0x89, 0xf7, 0x66, 0x00, 0xfb, + 0x3d, 0xee, 0x0f, 0xa0, 0x0e, 0xd5, 0x57, 0xb6, 0x5f, 0xc7, 0xad, 0x70, 0x88, 0x6c, 0x3e, 0x08, + 0x73, 0x97, 0x7d, 0xfb, 0xba, 0xed, 0xe0, 0xf6, 0x30, 0x21, 0xff, 0x59, 0x0d, 0x66, 0xce, 0xfa, + 0xa6, 0x1b, 0x7a, 0x42, 0xd0, 0xdf, 0x22, 0x5d, 0x37, 0xa1, 0xdc, 0x15, 0xf0, 0x38, 0x3f, 0x3c, + 0xaa, 0x3a, 0x65, 0x8f, 0xe3, 0x65, 0xf4, 0x2b, 0xea, 0x3f, 0x01, 0x8b, 0x14, 0x9b, 0x24, 0xea, + 0x2f, 0x42, 0x89, 0x8a, 0x7b, 0x9b, 0x5b, 0x17, 0xd5, 0xc7, 0x3c, 0xb1, 0xce, 0x18, 0x51, 0x2d, + 0xfd, 0xbf, 0x34, 0xa8, 0xd0, 0x6f, 0xfd, 0x6e, 0xde, 0xca, 0xfc, 0xff, 0x00, 0x4c, 0x7b, 0x94, + 0xf4, 0x23, 0xbc, 0x90, 0xe4, 0xf1, 0x31, 0x78, 0x15, 0xa2, 0x57, 0xb3, 0x7f, 0xb2, 0xd4, 0x06, + 0x96, 0xc5, 0xe5, 0x76, 0xb1, 0xcd, 0xf0, 0xa7, 0xa2, 0x3b, 0x6b, 0x2f, 0x45, 0x25, 0xf5, 0x26, + 0xf2, 0x4b, 0x11, 0xf3, 0xd2, 0x9a, 0x93, 0xcc, 0xf9, 0xe7, 0x12, 0x4b, 0xb5, 0x3e, 0x0c, 0xc5, + 0xf4, 0xb5, 0x3a, 0x26, 0x96, 0xc9, 0xfe, 0x36, 0x86, 0xda, 0xc4, 0xfb, 0xdb, 0x88, 0x53, 0x86, + 0xef, 0x6f, 0x65, 0x04, 0xfb, 0x7c, 0xf2, 0x4f, 0x1a, 0xac, 0xf0, 0x85, 0x31, 0x62, 0xc2, 0x3b, + 0x44, 0x2e, 0xf4, 0x02, 0x5f, 0xc6, 0xd9, 0xb1, 0xed, 0x91, 0xe1, 0xcb, 0x78, 0x84, 0xed, 0x88, + 0x75, 0xfc, 0x2f, 0x35, 0x7a, 0xc0, 0x71, 0xc1, 0x33, 0x2d, 0xdb, 0x6d, 0xbf, 0x1b, 0xb7, 0xe2, + 0x53, 0x6c, 0x1c, 0xb9, 0xac, 0xd7, 0x47, 0xf2, 0xa9, 0xfe, 0xbc, 0x12, 0x1f, 0x4f, 0x0d, 0x9e, + 0x2a, 0x16, 0xea, 0x39, 0xfd, 0x57, 0xd9, 0x21, 0xcb, 0x40, 0x2f, 0x26, 0x3e, 0xae, 0xef, 0xf2, + 0xa6, 0xb8, 0xa9, 0x22, 0x4a, 0xa3, 0xc7, 0xa1, 0xc6, 0x83, 0x8d, 0x35, 0xa3, 0x32, 0xfc, 0xd8, + 0x8a, 0xe7, 0x0b, 0x2c, 0xf4, 0x3f, 0x67, 0x26, 0x1b, 0x82, 0xdc, 0xc4, 0xb6, 0xfc, 0x3b, 0x41, + 0xdc, 0x9f, 0x67, 0x07, 0x33, 0x12, 0xfe, 0x93, 0x91, 0xf5, 0xe9, 0xb8, 0x15, 0x57, 0xe5, 0x7f, + 0xd0, 0x87, 0xc7, 0x3d, 0xd5, 0x0e, 0x42, 0xf9, 0x22, 0x2d, 0xf9, 0xd2, 0xcd, 0x10, 0xd5, 0xa1, + 0x78, 0x1d, 0xfb, 0x81, 0xed, 0xb9, 0x7c, 0x01, 0x13, 0x49, 0x7d, 0x81, 0x7a, 0x85, 0xbc, 0xca, + 0x52, 0xe2, 0xe0, 0x1d, 0x53, 0x83, 0x60, 0x94, 0x39, 0xf1, 0x11, 0x86, 0x80, 0x9d, 0x8b, 0xc3, + 0x5e, 0x04, 0xb4, 0xb1, 0x8b, 0x5b, 0xd7, 0xce, 0x61, 0xd3, 0x09, 0xc5, 0xf5, 0x18, 0xfd, 0x1d, + 0x0d, 0x16, 0x62, 0xd9, 0x13, 0xef, 0x14, 0xed, 0x80, 0x35, 0xb5, 0xc7, 0xcf, 0x50, 0xfa, 0x19, + 0xcc, 0x97, 0xc5, 0x0c, 0x3c, 0x57, 0x0c, 0xb8, 0x48, 0xa2, 0x4d, 0xa8, 0xbe, 0xd1, 0xf3, 0x42, + 0x53, 0x38, 0x48, 0x4c, 0xad, 0xe6, 0xd3, 0x42, 0x0d, 0x44, 0x5e, 0x47, 0x5e, 0x68, 0x32, 0xfa, + 0x57, 0xde, 0x88, 0xfe, 0x07, 0xfa, 0x5f, 0x69, 0xd0, 0xe0, 0xbb, 0x3c, 0xd9, 0xfe, 0x35, 0x09, + 0x53, 0xd3, 0xb8, 0x80, 0xb2, 0x99, 0x4d, 0x9c, 0xde, 0xc4, 0x2c, 0x6c, 0xe8, 0x24, 0x4c, 0xb7, + 0x3c, 0x77, 0xc7, 0x6e, 0x73, 0x87, 0x8c, 0x01, 0x85, 0xc2, 0x6f, 0xaf, 0xc5, 0x70, 0xda, 0xa0, + 0xa5, 0x0d, 0x5e, 0x4b, 0x88, 0xbf, 0x86, 0x2c, 0xfe, 0xbe, 0x93, 0x83, 0xfb, 0x99, 0xb5, 0x25, + 0x56, 0x73, 0x22, 0x01, 0xe8, 0x0d, 0xc6, 0x2f, 0x64, 0x4b, 0xcf, 0x19, 0x95, 0xf6, 0xa4, 0x46, + 0x20, 0xde, 0x21, 0x7e, 0x3d, 0x26, 0x11, 0x07, 0xb1, 0x61, 0xc3, 0x42, 0x4a, 0xb1, 0x14, 0x83, + 0xe0, 0xf3, 0xf1, 0xfb, 0x2b, 0x59, 0x09, 0xd8, 0x37, 0x1c, 0x0a, 0x1a, 0x3e, 0x91, 0x78, 0xfa, + 0xa7, 0x4e, 0xf7, 0xd7, 0xef, 0x2d, 0x3f, 0x08, 0x5c, 0xee, 0x97, 0x71, 0xf9, 0x67, 0x0d, 0x16, + 0xae, 0xf8, 0xa6, 0x1b, 0xec, 0x60, 0xff, 0x92, 0x67, 0x4d, 0x24, 0x6b, 0xd7, 0x61, 0x89, 0x23, + 0x91, 0x8a, 0xcd, 0x02, 0xcb, 0x8b, 0xf5, 0x9a, 0xd4, 0x61, 0xc7, 0xd9, 0xc9, 0x3a, 0x4c, 0xbb, + 0x5b, 0x60, 0x1f, 0xe3, 0x75, 0xb8, 0xd7, 0x26, 0x35, 0x16, 0xb3, 0x20, 0xe2, 0x45, 0xb7, 0xd7, + 0x21, 0xd8, 0x8b, 0x2e, 0x3e, 0x18, 0x7b, 0x6e, 0x22, 0x07, 0xcb, 0xa2, 0x8b, 0xc2, 0xa4, 0x7d, + 0x0f, 0xf4, 0x32, 0xf3, 0xd1, 0xc7, 0x01, 0xa8, 0x50, 0x27, 0x56, 0xd6, 0x35, 0xee, 0xbb, 0x01, + 0x6e, 0xaf, 0x23, 0x6c, 0xd5, 0x4a, 0x27, 0x23, 0x4e, 0xad, 0x03, 0x32, 0xb5, 0x5a, 0x70, 0xdf, + 0x05, 0x3b, 0x08, 0xdf, 0xb5, 0xd9, 0x2d, 0x80, 0x3c, 0x10, 0xb7, 0x25, 0x34, 0xd2, 0x80, 0x4c, + 0x1c, 0x30, 0x31, 0x4d, 0x8c, 0x0c, 0x84, 0x41, 0xd5, 0xdf, 0xd2, 0x60, 0xbf, 0x08, 0xc2, 0x74, + 0x87, 0xe6, 0xe0, 0x7e, 0x99, 0x1a, 0xbf, 0xa3, 0xc1, 0x03, 0x0a, 0x7c, 0x26, 0xa3, 0xc8, 0xcb, + 0xa9, 0x38, 0xa9, 0xb7, 0x45, 0x71, 0xe0, 0x71, 0xcc, 0xf5, 0x1f, 0x15, 0x60, 0x26, 0xce, 0xa1, + 0x29, 0x1b, 0x62, 0xa2, 0x02, 0xb6, 0xcc, 0xae, 0xd9, 0x12, 0x1a, 0x7b, 0xc1, 0x88, 0xd2, 0xe8, + 0x28, 0x20, 0xc2, 0xa8, 0x51, 0xcc, 0x67, 0x36, 0x83, 0x99, 0xfb, 0x56, 0xcd, 0xed, 0x75, 0xa2, + 0x78, 0xcf, 0x64, 0x2a, 0xa3, 0x5d, 0x56, 0xda, 0xf1, 0x4c, 0x0b, 0x47, 0xe7, 0x56, 0xfc, 0xd8, + 0xea, 0xb9, 0x2c, 0x1d, 0x58, 0xbb, 0xd4, 0xeb, 0x5c, 0xa0, 0xb5, 0xf9, 0x44, 0x60, 0x8b, 0x01, + 0x81, 0x14, 0xcb, 0x46, 0x38, 0x3a, 0x85, 0x6a, 0x7b, 0xb6, 0xdb, 0x66, 0x68, 0x15, 0x86, 0xde, + 0x29, 0x1d, 0x00, 0xf4, 0x0a, 0xaf, 0x3c, 0x70, 0x0e, 0x15, 0xe5, 0x0a, 0x30, 0xb6, 0xdb, 0xf2, + 0x3a, 0x11, 0x98, 0xe9, 0xf1, 0xc0, 0x9c, 0xe7, 0x95, 0xe3, 0x60, 0xe4, 0x5c, 0x69, 0xd5, 0x2f, + 0xde, 0xca, 0xaa, 0x8f, 0x4e, 0x40, 0x81, 0x9d, 0xc8, 0x96, 0x28, 0x6a, 0x07, 0x14, 0xac, 0x46, + 0xdd, 0x22, 0xa9, 0x53, 0x29, 0x2d, 0xdd, 0xd8, 0x80, 0xa5, 0x54, 0x7a, 0x8f, 0x73, 0xcc, 0xd6, + 0x3f, 0xaa, 0x8b, 0xd3, 0xf2, 0x16, 0xda, 0x18, 0x20, 0xd4, 0x58, 0xc7, 0x7d, 0x7f, 0xad, 0xc1, + 0x8a, 0x81, 0x09, 0x43, 0xdf, 0xe6, 0x87, 0x23, 0xea, 0x50, 0xf4, 0xd8, 0x5d, 0x37, 0xbe, 0x14, + 0x88, 0x24, 0xf5, 0xf7, 0xc7, 0x37, 0x2e, 0xf5, 0xc5, 0xbe, 0x48, 0x12, 0x75, 0xd6, 0xc5, 0x37, + 0x36, 0x4f, 0x4b, 0x6e, 0xa5, 0xfd, 0x0c, 0x21, 0x60, 0x74, 0x59, 0xc0, 0xfc, 0x80, 0xed, 0x59, + 0xa3, 0x60, 0x58, 0x77, 0x43, 0x2c, 0xe4, 0x11, 0x71, 0x1f, 0x63, 0x81, 0x71, 0x0a, 0xca, 0xc8, + 0x86, 0xdf, 0x64, 0xfb, 0xd8, 0x81, 0x9e, 0xdd, 0x9d, 0x41, 0xf5, 0x3e, 0xad, 0xc1, 0xec, 0x86, + 0xe7, 0xba, 0xb8, 0x35, 0x91, 0x09, 0xe9, 0x34, 0x54, 0x5a, 0x8e, 0x4d, 0x9d, 0x5e, 0xdc, 0x1d, + 0x4f, 0x65, 0x3d, 0x16, 0x1e, 0x8d, 0xb4, 0x24, 0xf3, 0x42, 0x6c, 0x45, 0xff, 0xf5, 0xdf, 0xa7, + 0x3e, 0xe5, 0x1c, 0x95, 0x49, 0x2f, 0x07, 0x55, 0x02, 0xec, 0x5f, 0x17, 0x47, 0x0a, 0xc3, 0xd1, + 0xd9, 0xa2, 0x25, 0x19, 0x3a, 0x41, 0xf4, 0x1f, 0x3d, 0x08, 0x60, 0xd3, 0x33, 0xc9, 0x1d, 0x1b, + 0xfb, 0xdc, 0x2e, 0x20, 0xe5, 0xe8, 0x2f, 0xc3, 0xd2, 0x29, 0xc7, 0xf1, 0xfa, 0x27, 0x9b, 0x13, + 0xd0, 0x4f, 0xef, 0xc0, 0x72, 0xb2, 0xb1, 0x89, 0x37, 0x98, 0x7d, 0x66, 0xcd, 0x25, 0xa3, 0x38, + 0xdd, 0x84, 0x25, 0xb6, 0xff, 0xdb, 0x34, 0x43, 0x93, 0x20, 0x70, 0x3b, 0xef, 0xfa, 0x3d, 0x1c, + 0x3f, 0xc7, 0x5b, 0x20, 0xfb, 0x8c, 0xf7, 0x02, 0xee, 0x23, 0x32, 0x5c, 0x7e, 0xf8, 0x2a, 0xe0, + 0xbe, 0x1b, 0xea, 0xe3, 0x41, 0xb9, 0xfd, 0x6f, 0x68, 0xec, 0x2c, 0x59, 0x02, 0x30, 0xd9, 0x00, + 0xde, 0x07, 0x25, 0xde, 0x3b, 0xa1, 0x33, 0x16, 0x59, 0xf7, 0x14, 0x4f, 0x66, 0xe5, 0x69, 0x14, + 0xec, 0x81, 0x27, 0xb3, 0x52, 0x1f, 0x0d, 0xf9, 0x6e, 0x8e, 0xac, 0x25, 0x74, 0x41, 0x0c, 0xf1, + 0x45, 0x1c, 0x04, 0xe6, 0x64, 0x16, 0xd1, 0x87, 0xa0, 0x1a, 0xf3, 0x1c, 0x61, 0xc3, 0x51, 0x91, + 0x5c, 0x32, 0xc9, 0xda, 0x71, 0x1a, 0xb7, 0x6d, 0xf7, 0x4a, 0xc0, 0xdf, 0x4e, 0x11, 0x49, 0xb2, + 0xe4, 0xbd, 0xe4, 0x5a, 0x57, 0x84, 0x77, 0x06, 0x4b, 0x10, 0x45, 0xee, 0x62, 0xd0, 0x66, 0xde, + 0x3c, 0x55, 0x83, 0xfe, 0x47, 0x67, 0x61, 0x76, 0x2b, 0xf6, 0xaa, 0x16, 0x57, 0x55, 0x06, 0x83, + 0xa3, 0x07, 0x6d, 0x82, 0xa1, 0x28, 0x67, 0x24, 0xaa, 0xa1, 0x0d, 0xa8, 0xbe, 0xe4, 0x5a, 0xfd, + 0x66, 0x8a, 0xd9, 0x9a, 0x89, 0x55, 0xd2, 0x3b, 0x50, 0x1f, 0xa4, 0xe1, 0xe4, 0xc6, 0x4a, 0xde, + 0xbe, 0x38, 0x1d, 0x16, 0xe9, 0xc3, 0x07, 0xa1, 0x24, 0x82, 0xbd, 0xa3, 0x22, 0xe4, 0x4f, 0x39, + 0x4e, 0x6d, 0x1f, 0xaa, 0x42, 0xe9, 0x3c, 0x0f, 0x5f, 0x5e, 0xd3, 0x1a, 0xb9, 0xba, 0x76, 0xf8, + 0x45, 0x58, 0x48, 0x39, 0x04, 0x46, 0xf3, 0x30, 0x73, 0xca, 0xa2, 0x6e, 0x07, 0x57, 0x3c, 0x92, + 0x59, 0xdb, 0x87, 0x96, 0x01, 0x19, 0xb8, 0xe3, 0x5d, 0xa7, 0x05, 0xcf, 0xf8, 0x5e, 0x87, 0xe6, + 0x6b, 0x87, 0x8f, 0xc1, 0x62, 0x9a, 0xfd, 0x19, 0x95, 0xa1, 0x40, 0x2d, 0xda, 0xb5, 0x7d, 0x08, + 0x60, 0xda, 0xc0, 0xd7, 0xbd, 0x6b, 0xa4, 0xf8, 0x6b, 0x00, 0x7d, 0x33, 0x13, 0xaa, 0x40, 0xf1, + 0xaa, 0x7b, 0xcd, 0xf5, 0x6e, 0xb8, 0xb5, 0x7d, 0x68, 0x0e, 0x2a, 0x06, 0x36, 0xad, 0x0b, 0x76, + 0xc7, 0x0e, 0xb1, 0x55, 0xcb, 0xa1, 0x1a, 0x54, 0x3f, 0xe2, 0xdb, 0x21, 0x16, 0x39, 0x79, 0x34, + 0x0b, 0xb0, 0x89, 0xdd, 0xbd, 0x2b, 0x1e, 0x29, 0x58, 0x9b, 0x22, 0x55, 0x58, 0x9a, 0x96, 0xab, + 0x15, 0xd6, 0xdf, 0x7e, 0x09, 0x66, 0x98, 0xc5, 0x90, 0xbf, 0xc0, 0x82, 0x5a, 0x50, 0x4b, 0x3e, + 0x7d, 0x8a, 0xd6, 0x54, 0x8e, 0xef, 0xe9, 0x6f, 0xa4, 0x36, 0x86, 0x8f, 0x87, 0xbe, 0x0f, 0x35, + 0x61, 0x36, 0xfe, 0x80, 0x27, 0x52, 0x5d, 0x30, 0x4d, 0x7d, 0xe7, 0x73, 0x34, 0x80, 0x16, 0xcc, + 0xc4, 0xde, 0x9b, 0x44, 0xaa, 0xb3, 0x80, 0xb4, 0x57, 0x29, 0x1b, 0xaa, 0x33, 0x2a, 0xf9, 0x55, + 0x48, 0xd6, 0x8b, 0xf8, 0x7b, 0x6b, 0xca, 0x5e, 0xa4, 0x3e, 0xcb, 0x36, 0xba, 0x17, 0x18, 0xe6, + 0x07, 0x5e, 0x33, 0x43, 0xc7, 0x95, 0x3b, 0x87, 0xf4, 0x77, 0xcf, 0x46, 0x83, 0xf9, 0x24, 0xa0, + 0xc1, 0x77, 0x14, 0xd1, 0x13, 0xaa, 0x11, 0x51, 0xbd, 0x2e, 0xd9, 0x78, 0xdf, 0x18, 0x35, 0x22, + 0x22, 0xfe, 0x22, 0x73, 0xe5, 0x4f, 0x7b, 0xf6, 0x0a, 0x9d, 0x50, 0xbb, 0xb6, 0x0e, 0x79, 0xc8, + 0xab, 0xf1, 0xf4, 0xb8, 0xd5, 0x22, 0x64, 0x7c, 0x98, 0x4b, 0xbc, 0xf6, 0x84, 0x8e, 0x0d, 0x79, + 0x1a, 0x62, 0xf0, 0x51, 0xac, 0xc6, 0x5a, 0xd6, 0xe2, 0x11, 0x4c, 0x13, 0xe6, 0x12, 0x0f, 0xc5, + 0x2a, 0x61, 0xa6, 0x3f, 0x28, 0x3b, 0x7a, 0x80, 0x4d, 0x98, 0x4b, 0xbc, 0xa5, 0xa4, 0x04, 0x91, + 0xfe, 0xe6, 0xd2, 0x68, 0x10, 0xaf, 0xc1, 0x4c, 0xec, 0xb5, 0x23, 0xe5, 0x84, 0x4b, 0x7b, 0x13, + 0x29, 0x4b, 0x0f, 0xaa, 0xf2, 0x6b, 0x44, 0xe8, 0xb0, 0x7a, 0x3a, 0x0f, 0x34, 0x3e, 0xde, 0x6c, + 0xee, 0x3f, 0xe7, 0x31, 0x74, 0x36, 0x0f, 0x3c, 0x8a, 0x32, 0xce, 0x6c, 0x96, 0x60, 0x8c, 0x98, + 0xcd, 0xb7, 0x00, 0xe6, 0x4d, 0x8d, 0xde, 0x29, 0x48, 0x79, 0x4b, 0x06, 0x3d, 0xa5, 0x9e, 0x18, + 0xea, 0x97, 0x73, 0x1a, 0x27, 0xc6, 0xac, 0x15, 0x51, 0xd4, 0x83, 0xd9, 0xf8, 0x03, 0x29, 0x4a, + 0x8a, 0xa6, 0x3e, 0x33, 0xd3, 0x38, 0x96, 0xb1, 0x74, 0x04, 0xf0, 0x93, 0xf4, 0x08, 0x2b, 0x71, + 0xc4, 0xa9, 0x14, 0x64, 0xca, 0x33, 0x5d, 0xa5, 0x20, 0x53, 0x9f, 0x9f, 0xea, 0xfb, 0x90, 0x0d, + 0x55, 0xf9, 0x08, 0x50, 0xc9, 0xa2, 0x29, 0xe7, 0x9c, 0x8d, 0x23, 0x99, 0xca, 0x46, 0xa0, 0x3e, + 0x0a, 0x15, 0x36, 0x4f, 0xe9, 0x5b, 0xea, 0xe8, 0xf1, 0xa1, 0x73, 0x59, 0x7e, 0x3c, 0x7f, 0x34, + 0xf7, 0x5c, 0x85, 0x32, 0x99, 0xa1, 0xac, 0xe1, 0xc7, 0x86, 0xcc, 0xe1, 0xf1, 0x9a, 0xfd, 0x08, + 0x00, 0x15, 0x5e, 0xac, 0xdd, 0x43, 0xc3, 0xe4, 0xdb, 0x78, 0x0d, 0x3b, 0x30, 0x13, 0x7b, 0x95, + 0x5f, 0x2d, 0x77, 0xe2, 0x6f, 0xf7, 0xb3, 0xe6, 0x8f, 0x66, 0x2b, 0x1c, 0x11, 0x7e, 0x07, 0x2a, + 0xd2, 0x13, 0xf6, 0x4a, 0xc2, 0x0f, 0xbe, 0xc3, 0xdf, 0x38, 0x9c, 0xa5, 0xe8, 0xe0, 0x00, 0xb3, + 0xa0, 0xc5, 0xc3, 0x07, 0x58, 0x0e, 0x5b, 0x9e, 0x7d, 0x24, 0x58, 0xcb, 0x43, 0x47, 0x62, 0xbc, + 0x86, 0xa5, 0x91, 0x60, 0x6d, 0x8f, 0x1a, 0x89, 0x58, 0xf3, 0x47, 0xb3, 0x15, 0x4e, 0x4c, 0xf5, + 0x84, 0x15, 0x68, 0xd8, 0x54, 0x4f, 0x37, 0x85, 0x0d, 0x9b, 0xea, 0x0a, 0x13, 0x13, 0x15, 0x6c, + 0x33, 0xb1, 0xd0, 0xf6, 0xe8, 0x48, 0x86, 0x56, 0xf0, 0xa8, 0xae, 0xa6, 0x46, 0xcb, 0xd7, 0xf3, + 0x9f, 0xce, 0x69, 0x44, 0xa6, 0x2f, 0xa5, 0xbe, 0x5e, 0x80, 0x9e, 0x1c, 0xd1, 0x58, 0xda, 0x4b, + 0x0e, 0x8d, 0xa7, 0xc6, 0xab, 0x24, 0x63, 0xc2, 0xe5, 0x03, 0x1b, 0xe1, 0x61, 0xf2, 0x61, 0x5c, + 0xae, 0x9c, 0x66, 0xf1, 0xea, 0xd1, 0x23, 0x4a, 0x6b, 0x9b, 0x14, 0x9b, 0xbd, 0x71, 0x50, 0x51, + 0x2a, 0x1e, 0x8e, 0x9c, 0x35, 0xcc, 0x5c, 0xe0, 0x95, 0x0d, 0xc7, 0xc2, 0x6d, 0x8f, 0xd5, 0x30, + 0x0b, 0x17, 0xaf, 0x6c, 0x38, 0x16, 0x4d, 0x3e, 0x7b, 0xc3, 0xaf, 0xc2, 0x34, 0x0b, 0xf1, 0x8a, + 0x32, 0x45, 0x80, 0x6d, 0x8c, 0x2a, 0xc5, 0x3c, 0x20, 0xf7, 0xa1, 0x6d, 0xa8, 0xca, 0x71, 0x71, + 0xd5, 0x2a, 0xd4, 0x60, 0xf0, 0xdc, 0xcc, 0x30, 0xae, 0x40, 0x81, 0xde, 0x84, 0x45, 0x0f, 0x0f, + 0x8f, 0x6a, 0x39, 0xbc, 0xd5, 0x58, 0xe8, 0x4b, 0x7d, 0x1f, 0xda, 0x82, 0x02, 0x0d, 0xf0, 0xa2, + 0x6c, 0x55, 0x0e, 0xd9, 0xd8, 0x18, 0x51, 0x48, 0xa0, 0xba, 0x0b, 0x55, 0x39, 0xc4, 0x98, 0x92, + 0x1c, 0x29, 0xe1, 0xd8, 0x1a, 0xd9, 0xca, 0x0a, 0x48, 0xaf, 0x41, 0x49, 0x5c, 0x0f, 0x46, 0x8f, + 0x0e, 0xeb, 0x72, 0x3f, 0x28, 0x58, 0xe3, 0xb1, 0x91, 0xe5, 0x22, 0xea, 0x38, 0x54, 0x18, 0xf5, + 0x6f, 0x5d, 0x0f, 0x13, 0x46, 0x03, 0x37, 0xc7, 0x87, 0x09, 0xa3, 0xc1, 0x8b, 0xdc, 0xfa, 0x3e, + 0xd4, 0x83, 0x5a, 0xf2, 0xba, 0xb3, 0xd2, 0x3c, 0xa0, 0xb8, 0xa1, 0xdd, 0x38, 0x9e, 0xb9, 0x7c, + 0x04, 0xf6, 0x2d, 0x8d, 0x5e, 0xb3, 0x4e, 0x8f, 0x2c, 0x36, 0x64, 0xbf, 0x37, 0x2c, 0x66, 0x57, + 0xe3, 0x99, 0xb1, 0xeb, 0x45, 0xf8, 0xfc, 0x0c, 0xf5, 0x57, 0x1b, 0x08, 0x6e, 0x35, 0x64, 0x35, + 0x51, 0x04, 0x6b, 0x6a, 0xac, 0x8f, 0x53, 0x45, 0x56, 0x44, 0xa4, 0x2b, 0x8e, 0x4a, 0x05, 0x61, + 0xf0, 0x86, 0x67, 0xe3, 0x70, 0x96, 0xa2, 0x11, 0x9c, 0x2b, 0x50, 0xa0, 0xd1, 0x90, 0x94, 0x53, + 0x4f, 0x0e, 0xaf, 0xa4, 0x9c, 0xd0, 0xb1, 0x80, 0x4a, 0x4c, 0x55, 0x96, 0xc3, 0x23, 0x29, 0xe7, + 0x5e, 0x4a, 0x6c, 0x25, 0xa5, 0xaa, 0x9c, 0x16, 0x6f, 0x89, 0x1a, 0x82, 0xa0, 0x1f, 0x9c, 0x48, + 0xa9, 0xee, 0x0c, 0xc4, 0x48, 0x6a, 0x3c, 0x9e, 0xa1, 0x64, 0x04, 0xa4, 0x4b, 0x95, 0x91, 0x64, + 0xc0, 0x9e, 0x27, 0x86, 0x99, 0x21, 0xd2, 0x62, 0xdf, 0x34, 0x1e, 0x1d, 0x15, 0x89, 0x87, 0x3b, + 0x98, 0x51, 0x05, 0x51, 0x0a, 0x92, 0xa3, 0x56, 0x44, 0x07, 0x02, 0xe9, 0x64, 0xb2, 0x06, 0x0d, + 0xc6, 0x3f, 0x19, 0xd5, 0x99, 0xc1, 0x60, 0x2b, 0xc3, 0x34, 0x2b, 0x45, 0x70, 0x15, 0x26, 0x5e, + 0x92, 0x71, 0x66, 0x94, 0xe2, 0x45, 0x11, 0x23, 0x47, 0x29, 0x5e, 0x54, 0x01, 0x6c, 0xf4, 0x7d, + 0xe8, 0x53, 0x2c, 0x7a, 0x59, 0x02, 0xaf, 0x8f, 0xd8, 0xe1, 0x2e, 0x0d, 0x45, 0x92, 0xad, 0xf7, + 0x72, 0xdc, 0x93, 0x6c, 0xbd, 0x8f, 0xc5, 0x39, 0xe1, 0x5a, 0x10, 0xbd, 0xb2, 0xad, 0xd6, 0x82, + 0xe4, 0xe0, 0x0f, 0x4a, 0x9d, 0x22, 0x1e, 0xdf, 0x80, 0xed, 0xc4, 0xe3, 0xd7, 0xc1, 0xd1, 0xd1, + 0x8c, 0xb7, 0xc6, 0x87, 0xef, 0xc4, 0xd3, 0xef, 0x98, 0x33, 0x43, 0x5a, 0xe2, 0xd6, 0xbb, 0xd2, + 0xe2, 0x94, 0x7e, 0x21, 0x5f, 0x69, 0x48, 0x53, 0x5c, 0xa6, 0xa7, 0x53, 0xbd, 0x96, 0xbc, 0x1f, + 0x3b, 0xca, 0x72, 0x9d, 0xbc, 0x16, 0x99, 0xc5, 0xb0, 0x5c, 0x4b, 0x5e, 0x3d, 0x55, 0x02, 0x51, + 0xdc, 0x51, 0xcd, 0x04, 0x24, 0x79, 0x6f, 0x53, 0x09, 0x44, 0x71, 0xc1, 0x33, 0xd3, 0x7e, 0x2d, + 0x76, 0x5f, 0x52, 0xa9, 0x37, 0xa4, 0xdd, 0xaa, 0x54, 0xea, 0x0d, 0xa9, 0x17, 0x3e, 0xd9, 0xb6, + 0xb3, 0x7f, 0xf1, 0x51, 0x29, 0x87, 0x07, 0xee, 0x46, 0x8e, 0xee, 0xc6, 0x16, 0x94, 0xc4, 0xcd, + 0x45, 0xa5, 0x76, 0x95, 0xb8, 0xda, 0x98, 0xc9, 0x60, 0x9a, 0x38, 0xe6, 0x51, 0xb2, 0x6f, 0xfa, + 0xed, 0xc5, 0x2c, 0x63, 0x0c, 0xfd, 0xdb, 0x6d, 0x4a, 0x82, 0x0c, 0xdc, 0x1f, 0x54, 0x2e, 0x4c, + 0x83, 0x57, 0xe5, 0x64, 0x20, 0x04, 0xbd, 0x11, 0x40, 0xa4, 0xab, 0x6d, 0x23, 0x80, 0xc8, 0xd7, + 0xb9, 0x18, 0xb7, 0x26, 0x4f, 0xb4, 0x94, 0xdc, 0xaa, 0xb8, 0x28, 0x32, 0x9a, 0x5c, 0x3b, 0x50, + 0x91, 0xee, 0xbc, 0xa0, 0xe1, 0x08, 0xca, 0x57, 0x76, 0x94, 0x0a, 0x4f, 0xca, 0x15, 0x9a, 0x48, + 0x5f, 0xe0, 0x5e, 0xf0, 0xc3, 0xf4, 0x85, 0xb8, 0xf7, 0xfc, 0x30, 0x7d, 0x21, 0xe1, 0x52, 0xcf, + 0x3a, 0x23, 0x39, 0xbb, 0xab, 0xcd, 0x3b, 0x03, 0x7e, 0xf2, 0xea, 0x9d, 0xc7, 0xa0, 0xef, 0x3c, + 0xd5, 0xb3, 0x16, 0x52, 0xfc, 0xd0, 0x95, 0x5a, 0xaa, 0xda, 0x67, 0x3d, 0x93, 0x71, 0x7b, 0xc0, + 0xc1, 0x59, 0x69, 0xdc, 0x56, 0xb9, 0x42, 0x8f, 0x06, 0x73, 0x0d, 0x16, 0xd3, 0x5c, 0xc1, 0xd1, + 0xfa, 0xf8, 0x7e, 0xe3, 0xa3, 0x81, 0x7d, 0x1c, 0xaa, 0xb2, 0xa3, 0xb4, 0x52, 0x4d, 0x4d, 0xf1, + 0xa6, 0xce, 0x24, 0x62, 0x12, 0x2e, 0xca, 0x4a, 0x11, 0x93, 0xee, 0xca, 0x9c, 0x49, 0x93, 0x1b, + 0xf4, 0xb9, 0x55, 0xea, 0x32, 0x4a, 0x1f, 0x60, 0xa5, 0x2e, 0xa3, 0x76, 0xe8, 0x65, 0x2a, 0xd5, + 0x52, 0xaa, 0x8b, 0xab, 0xd2, 0x64, 0x35, 0xcc, 0x41, 0x57, 0x69, 0xb2, 0x1a, 0xea, 0x45, 0xcb, + 0x84, 0x53, 0xd2, 0xad, 0x4f, 0x29, 0x9c, 0x14, 0xfe, 0x7f, 0xa3, 0x09, 0xbd, 0xc7, 0x08, 0x7d, + 0x9e, 0xbd, 0xf9, 0xc9, 0x77, 0x6c, 0x83, 0xdc, 0xbf, 0x83, 0x2d, 0xec, 0xaf, 0x0d, 0x96, 0x14, + 0x70, 0x9e, 0xc8, 0x5e, 0x21, 0xea, 0xdf, 0x67, 0x34, 0xa8, 0x27, 0x5e, 0x2e, 0x67, 0x7e, 0x69, + 0x66, 0x68, 0x0e, 0x9e, 0x9f, 0xb2, 0x06, 0x55, 0xe5, 0x95, 0xe7, 0xa7, 0xa3, 0xaa, 0x45, 0xd8, + 0x7c, 0x0c, 0x8a, 0xdc, 0xc5, 0x0c, 0x1d, 0x54, 0xee, 0x65, 0x64, 0x6f, 0xb8, 0x21, 0x5b, 0x9e, + 0x98, 0xa7, 0x1a, 0xd3, 0x61, 0xe3, 0x3e, 0x5c, 0x4a, 0x1d, 0x36, 0xd5, 0x6f, 0xac, 0x71, 0x2c, + 0x63, 0x69, 0xf9, 0x40, 0x30, 0xee, 0xc5, 0xa5, 0x04, 0x98, 0xea, 0xec, 0x95, 0x49, 0xbe, 0xc8, + 0xce, 0x5a, 0x4a, 0xf9, 0x92, 0xe2, 0xd1, 0x95, 0x59, 0xbd, 0x8b, 0x1c, 0xa6, 0x86, 0xaa, 0x77, + 0x49, 0xbf, 0xad, 0xa1, 0xea, 0xdd, 0x80, 0x0f, 0x16, 0xdb, 0xb7, 0x25, 0xbd, 0x75, 0x86, 0x4c, + 0xb3, 0x54, 0xd7, 0xa8, 0xc6, 0xf1, 0xcc, 0xe5, 0x05, 0xd8, 0xf5, 0x3d, 0xa8, 0x5e, 0xf6, 0xbd, + 0x9b, 0x7b, 0xc2, 0x79, 0xe5, 0xbd, 0x33, 0x2c, 0x3c, 0x87, 0x61, 0x96, 0x15, 0x68, 0xe2, 0x9b, + 0x61, 0xd3, 0xdb, 0x7e, 0x1d, 0xed, 0x5f, 0x6b, 0x7b, 0x5e, 0xdb, 0xc1, 0xac, 0x81, 0xed, 0xde, + 0xce, 0xda, 0x19, 0xdb, 0xc1, 0xaf, 0x70, 0x5f, 0xd2, 0x1f, 0x15, 0x87, 0x3e, 0x2e, 0x11, 0x5d, + 0xdb, 0x33, 0xaa, 0x1d, 0xf1, 0xf7, 0x95, 0xed, 0xd7, 0x4f, 0x77, 0x60, 0xd6, 0xf6, 0x44, 0xa1, + 0xb6, 0xdf, 0x6d, 0x9d, 0xae, 0xb0, 0xa2, 0x97, 0x49, 0xfd, 0xcb, 0xda, 0xc7, 0x9e, 0x6a, 0xdb, + 0xe1, 0x6e, 0x6f, 0x9b, 0x8c, 0xff, 0x71, 0x56, 0xec, 0x98, 0xed, 0x89, 0x7f, 0x14, 0xc8, 0xf1, + 0xb6, 0x77, 0xcc, 0xec, 0xda, 0xc7, 0xaf, 0xaf, 0xf3, 0xec, 0xee, 0xf6, 0x6f, 0x6a, 0xda, 0x37, + 0x72, 0xe8, 0x22, 0xe7, 0x5e, 0xea, 0x23, 0xba, 0x76, 0xd6, 0xef, 0xb6, 0xb6, 0xa7, 0x69, 0x8d, + 0x27, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x3c, 0x8c, 0x25, 0xe8, 0x9d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -10323,6 +10660,7 @@ type MilvusServiceClient interface { DescribeAlias(ctx context.Context, in *DescribeAliasRequest, opts ...grpc.CallOption) (*DescribeAliasResponse, error) ListAliases(ctx context.Context, in *ListAliasesRequest, opts ...grpc.CallOption) (*ListAliasesResponse, error) CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + AlterIndex(ctx context.Context, in *AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DescribeIndex(ctx context.Context, in *DescribeIndexRequest, opts ...grpc.CallOption) (*DescribeIndexResponse, error) GetIndexStatistics(ctx context.Context, in *GetIndexStatisticsRequest, opts ...grpc.CallOption) (*GetIndexStatisticsResponse, error) // Deprecated: use DescribeIndex instead @@ -10334,6 +10672,7 @@ type MilvusServiceClient interface { Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*MutationResult, error) Upsert(ctx context.Context, in *UpsertRequest, opts ...grpc.CallOption) (*MutationResult, error) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResults, error) + HybridSearch(ctx context.Context, in *HybridSearchRequest, opts ...grpc.CallOption) (*SearchResults, error) Flush(ctx context.Context, in *FlushRequest, opts ...grpc.CallOption) (*FlushResponse, error) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResults, error) CalcDistance(ctx context.Context, in *CalcDistanceRequest, opts ...grpc.CallOption) (*CalcDistanceResults, error) @@ -10374,6 +10713,7 @@ type MilvusServiceClient interface { CheckHealth(ctx context.Context, in *CheckHealthRequest, opts ...grpc.CallOption) (*CheckHealthResponse, error) CreateResourceGroup(ctx context.Context, in *CreateResourceGroupRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DropResourceGroup(ctx context.Context, in *DropResourceGroupRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + UpdateResourceGroups(ctx context.Context, in *UpdateResourceGroupsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) TransferNode(ctx context.Context, in *TransferNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) TransferReplica(ctx context.Context, in *TransferReplicaRequest, opts ...grpc.CallOption) (*commonpb.Status, error) ListResourceGroups(ctx context.Context, in *ListResourceGroupsRequest, opts ...grpc.CallOption) (*ListResourceGroupsResponse, error) @@ -10613,6 +10953,15 @@ func (c *milvusServiceClient) CreateIndex(ctx context.Context, in *CreateIndexRe return out, nil } +func (c *milvusServiceClient) AlterIndex(ctx context.Context, in *AlterIndexRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/AlterIndex", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *milvusServiceClient) DescribeIndex(ctx context.Context, in *DescribeIndexRequest, opts ...grpc.CallOption) (*DescribeIndexResponse, error) { out := new(DescribeIndexResponse) err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/DescribeIndex", in, out, opts...) @@ -10696,6 +11045,15 @@ func (c *milvusServiceClient) Search(ctx context.Context, in *SearchRequest, opt return out, nil } +func (c *milvusServiceClient) HybridSearch(ctx context.Context, in *HybridSearchRequest, opts ...grpc.CallOption) (*SearchResults, error) { + out := new(SearchResults) + err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/HybridSearch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *milvusServiceClient) Flush(ctx context.Context, in *FlushRequest, opts ...grpc.CallOption) (*FlushResponse, error) { out := new(FlushResponse) err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/Flush", in, out, opts...) @@ -11011,6 +11369,15 @@ func (c *milvusServiceClient) DropResourceGroup(ctx context.Context, in *DropRes return out, nil } +func (c *milvusServiceClient) UpdateResourceGroups(ctx context.Context, in *UpdateResourceGroupsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/UpdateResourceGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *milvusServiceClient) TransferNode(ctx context.Context, in *TransferNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) err := c.cc.Invoke(ctx, "/milvus.proto.milvus.MilvusService/TransferNode", in, out, opts...) @@ -11154,6 +11521,7 @@ type MilvusServiceServer interface { DescribeAlias(context.Context, *DescribeAliasRequest) (*DescribeAliasResponse, error) ListAliases(context.Context, *ListAliasesRequest) (*ListAliasesResponse, error) CreateIndex(context.Context, *CreateIndexRequest) (*commonpb.Status, error) + AlterIndex(context.Context, *AlterIndexRequest) (*commonpb.Status, error) DescribeIndex(context.Context, *DescribeIndexRequest) (*DescribeIndexResponse, error) GetIndexStatistics(context.Context, *GetIndexStatisticsRequest) (*GetIndexStatisticsResponse, error) // Deprecated: use DescribeIndex instead @@ -11165,6 +11533,7 @@ type MilvusServiceServer interface { Delete(context.Context, *DeleteRequest) (*MutationResult, error) Upsert(context.Context, *UpsertRequest) (*MutationResult, error) Search(context.Context, *SearchRequest) (*SearchResults, error) + HybridSearch(context.Context, *HybridSearchRequest) (*SearchResults, error) Flush(context.Context, *FlushRequest) (*FlushResponse, error) Query(context.Context, *QueryRequest) (*QueryResults, error) CalcDistance(context.Context, *CalcDistanceRequest) (*CalcDistanceResults, error) @@ -11205,6 +11574,7 @@ type MilvusServiceServer interface { CheckHealth(context.Context, *CheckHealthRequest) (*CheckHealthResponse, error) CreateResourceGroup(context.Context, *CreateResourceGroupRequest) (*commonpb.Status, error) DropResourceGroup(context.Context, *DropResourceGroupRequest) (*commonpb.Status, error) + UpdateResourceGroups(context.Context, *UpdateResourceGroupsRequest) (*commonpb.Status, error) TransferNode(context.Context, *TransferNodeRequest) (*commonpb.Status, error) TransferReplica(context.Context, *TransferReplicaRequest) (*commonpb.Status, error) ListResourceGroups(context.Context, *ListResourceGroupsRequest) (*ListResourceGroupsResponse, error) @@ -11296,6 +11666,9 @@ func (*UnimplementedMilvusServiceServer) ListAliases(ctx context.Context, req *L func (*UnimplementedMilvusServiceServer) CreateIndex(ctx context.Context, req *CreateIndexRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateIndex not implemented") } +func (*UnimplementedMilvusServiceServer) AlterIndex(ctx context.Context, req *AlterIndexRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method AlterIndex not implemented") +} func (*UnimplementedMilvusServiceServer) DescribeIndex(ctx context.Context, req *DescribeIndexRequest) (*DescribeIndexResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DescribeIndex not implemented") } @@ -11323,6 +11696,9 @@ func (*UnimplementedMilvusServiceServer) Upsert(ctx context.Context, req *Upsert func (*UnimplementedMilvusServiceServer) Search(ctx context.Context, req *SearchRequest) (*SearchResults, error) { return nil, status.Errorf(codes.Unimplemented, "method Search not implemented") } +func (*UnimplementedMilvusServiceServer) HybridSearch(ctx context.Context, req *HybridSearchRequest) (*SearchResults, error) { + return nil, status.Errorf(codes.Unimplemented, "method HybridSearch not implemented") +} func (*UnimplementedMilvusServiceServer) Flush(ctx context.Context, req *FlushRequest) (*FlushResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Flush not implemented") } @@ -11428,6 +11804,9 @@ func (*UnimplementedMilvusServiceServer) CreateResourceGroup(ctx context.Context func (*UnimplementedMilvusServiceServer) DropResourceGroup(ctx context.Context, req *DropResourceGroupRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method DropResourceGroup not implemented") } +func (*UnimplementedMilvusServiceServer) UpdateResourceGroups(ctx context.Context, req *UpdateResourceGroupsRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateResourceGroups not implemented") +} func (*UnimplementedMilvusServiceServer) TransferNode(ctx context.Context, req *TransferNodeRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method TransferNode not implemented") } @@ -11904,6 +12283,24 @@ func _MilvusService_CreateIndex_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _MilvusService_AlterIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AlterIndexRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).AlterIndex(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.milvus.MilvusService/AlterIndex", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).AlterIndex(ctx, req.(*AlterIndexRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _MilvusService_DescribeIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DescribeIndexRequest) if err := dec(in); err != nil { @@ -12066,6 +12463,24 @@ func _MilvusService_Search_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _MilvusService_HybridSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HybridSearchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).HybridSearch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.milvus.MilvusService/HybridSearch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).HybridSearch(ctx, req.(*HybridSearchRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _MilvusService_Flush_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FlushRequest) if err := dec(in); err != nil { @@ -12696,6 +13111,24 @@ func _MilvusService_DropResourceGroup_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _MilvusService_UpdateResourceGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateResourceGroupsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MilvusServiceServer).UpdateResourceGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.milvus.MilvusService/UpdateResourceGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MilvusServiceServer).UpdateResourceGroups(ctx, req.(*UpdateResourceGroupsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _MilvusService_TransferNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TransferNodeRequest) if err := dec(in); err != nil { @@ -13030,6 +13463,10 @@ var _MilvusService_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateIndex", Handler: _MilvusService_CreateIndex_Handler, }, + { + MethodName: "AlterIndex", + Handler: _MilvusService_AlterIndex_Handler, + }, { MethodName: "DescribeIndex", Handler: _MilvusService_DescribeIndex_Handler, @@ -13066,6 +13503,10 @@ var _MilvusService_serviceDesc = grpc.ServiceDesc{ MethodName: "Search", Handler: _MilvusService_Search_Handler, }, + { + MethodName: "HybridSearch", + Handler: _MilvusService_HybridSearch_Handler, + }, { MethodName: "Flush", Handler: _MilvusService_Flush_Handler, @@ -13206,6 +13647,10 @@ var _MilvusService_serviceDesc = grpc.ServiceDesc{ MethodName: "DropResourceGroup", Handler: _MilvusService_DropResourceGroup_Handler, }, + { + MethodName: "UpdateResourceGroups", + Handler: _MilvusService_UpdateResourceGroups_Handler, + }, { MethodName: "TransferNode", Handler: _MilvusService_TransferNode_Handler, diff --git a/proto/v2.2/plan.proto b/proto/v2.2/plan.proto index a3ac888..fad7202 100644 --- a/proto/v2.2/plan.proto +++ b/proto/v2.2/plan.proto @@ -34,6 +34,8 @@ enum VectorType { BinaryVector = 0; FloatVector = 1; Float16Vector = 2; + BFloat16Vector = 3; + SparseFloatVector = 4; }; message GenericValue { @@ -57,6 +59,8 @@ message QueryInfo { string metric_type = 3; string search_params = 4; int64 round_decimal = 5; + int64 group_by_field_id = 6; + bool materialized_view_involved = 7; } message ColumnInfo { @@ -67,6 +71,7 @@ message ColumnInfo { repeated string nested_path = 5; bool is_partition_key = 6; schema.DataType element_type = 7; + bool is_clustering_key = 8; } message ColumnExpr { diff --git a/proto/v2.2/proxy.proto b/proto/v2.2/proxy.proto index 7bd5e00..c379020 100644 --- a/proto/v2.2/proxy.proto +++ b/proto/v2.2/proxy.proto @@ -22,6 +22,13 @@ service Proxy { rpc SetRates(SetRatesRequest) returns (common.Status) {} rpc ListClientInfos(ListClientInfosRequest) returns (ListClientInfosResponse) {} + + // importV2 + rpc ImportV2(internal.ImportRequest) returns(internal.ImportResponse){} + rpc GetImportProgress(internal.GetImportProgressRequest) returns(internal.GetImportProgressResponse){} + rpc ListImports(internal.ListImportsRequest) returns(internal.ListImportsResponse){} + + rpc InvalidateShardLeaderCache(InvalidateShardLeaderCacheRequest) returns (common.Status) {} } message InvalidateCollMetaCacheRequest { @@ -32,6 +39,12 @@ message InvalidateCollMetaCacheRequest { string db_name = 2; string collection_name = 3; int64 collectionID = 4; + string partition_name = 5; +} + +message InvalidateShardLeaderCacheRequest { + common.MsgBase base = 1; + repeated int64 collectionIDs = 2; } message InvalidateCredCacheRequest { @@ -52,6 +65,7 @@ message RefreshPolicyInfoCacheRequest { string opKey = 3; } +// Deprecated: use ClusterLimiter instead it message CollectionRate { int64 collection = 1; repeated internal.Rate rates = 2; @@ -59,9 +73,27 @@ message CollectionRate { repeated common.ErrorCode codes = 4; } +message LimiterNode { + // self limiter information + Limiter limiter = 1; + // db id -> db limiter + // collection id -> collection limiter + // partition id -> partition limiter + map children = 2; +} + +message Limiter { + repeated internal.Rate rates = 1; + // we can use map to store quota states and error code, because key in map fields cannot be enum types + repeated milvus.QuotaState states = 2; + repeated common.ErrorCode codes = 3; +} + message SetRatesRequest { common.MsgBase base = 1; + // deprecated repeated CollectionRate rates = 2; + LimiterNode rootLimiter = 3; } message ListClientInfosRequest { diff --git a/proto/v2.2/proxypb/proxy.pb.go b/proto/v2.2/proxypb/proxy.pb.go index 04567bb..5365f94 100644 --- a/proto/v2.2/proxypb/proxy.pb.go +++ b/proto/v2.2/proxypb/proxy.pb.go @@ -29,13 +29,13 @@ const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package type InvalidateCollMetaCacheRequest struct { // MsgType: - // - // DropCollection -> {meta cache, dml channels} - // Other -> {meta cache} + // DropCollection -> {meta cache, dml channels} + // Other -> {meta cache} Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` CollectionName string `protobuf:"bytes,3,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionName string `protobuf:"bytes,5,opt,name=partition_name,json=partitionName,proto3" json:"partition_name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -94,6 +94,60 @@ func (m *InvalidateCollMetaCacheRequest) GetCollectionID() int64 { return 0 } +func (m *InvalidateCollMetaCacheRequest) GetPartitionName() string { + if m != nil { + return m.PartitionName + } + return "" +} + +type InvalidateShardLeaderCacheRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + CollectionIDs []int64 `protobuf:"varint,2,rep,packed,name=collectionIDs,proto3" json:"collectionIDs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InvalidateShardLeaderCacheRequest) Reset() { *m = InvalidateShardLeaderCacheRequest{} } +func (m *InvalidateShardLeaderCacheRequest) String() string { return proto.CompactTextString(m) } +func (*InvalidateShardLeaderCacheRequest) ProtoMessage() {} +func (*InvalidateShardLeaderCacheRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_700b50b08ed8dbaf, []int{1} +} + +func (m *InvalidateShardLeaderCacheRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvalidateShardLeaderCacheRequest.Unmarshal(m, b) +} +func (m *InvalidateShardLeaderCacheRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvalidateShardLeaderCacheRequest.Marshal(b, m, deterministic) +} +func (m *InvalidateShardLeaderCacheRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvalidateShardLeaderCacheRequest.Merge(m, src) +} +func (m *InvalidateShardLeaderCacheRequest) XXX_Size() int { + return xxx_messageInfo_InvalidateShardLeaderCacheRequest.Size(m) +} +func (m *InvalidateShardLeaderCacheRequest) XXX_DiscardUnknown() { + xxx_messageInfo_InvalidateShardLeaderCacheRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_InvalidateShardLeaderCacheRequest proto.InternalMessageInfo + +func (m *InvalidateShardLeaderCacheRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *InvalidateShardLeaderCacheRequest) GetCollectionIDs() []int64 { + if m != nil { + return m.CollectionIDs + } + return nil +} + type InvalidateCredCacheRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` @@ -106,7 +160,7 @@ func (m *InvalidateCredCacheRequest) Reset() { *m = InvalidateCredCacheR func (m *InvalidateCredCacheRequest) String() string { return proto.CompactTextString(m) } func (*InvalidateCredCacheRequest) ProtoMessage() {} func (*InvalidateCredCacheRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{1} + return fileDescriptor_700b50b08ed8dbaf, []int{2} } func (m *InvalidateCredCacheRequest) XXX_Unmarshal(b []byte) error { @@ -155,7 +209,7 @@ func (m *UpdateCredCacheRequest) Reset() { *m = UpdateCredCacheRequest{} func (m *UpdateCredCacheRequest) String() string { return proto.CompactTextString(m) } func (*UpdateCredCacheRequest) ProtoMessage() {} func (*UpdateCredCacheRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{2} + return fileDescriptor_700b50b08ed8dbaf, []int{3} } func (m *UpdateCredCacheRequest) XXX_Unmarshal(b []byte) error { @@ -210,7 +264,7 @@ func (m *RefreshPolicyInfoCacheRequest) Reset() { *m = RefreshPolicyInfo func (m *RefreshPolicyInfoCacheRequest) String() string { return proto.CompactTextString(m) } func (*RefreshPolicyInfoCacheRequest) ProtoMessage() {} func (*RefreshPolicyInfoCacheRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{3} + return fileDescriptor_700b50b08ed8dbaf, []int{4} } func (m *RefreshPolicyInfoCacheRequest) XXX_Unmarshal(b []byte) error { @@ -252,6 +306,7 @@ func (m *RefreshPolicyInfoCacheRequest) GetOpKey() string { return "" } +// Deprecated: use ClusterLimiter instead it type CollectionRate struct { Collection int64 `protobuf:"varint,1,opt,name=collection,proto3" json:"collection,omitempty"` Rates []*internalpb.Rate `protobuf:"bytes,2,rep,name=rates,proto3" json:"rates,omitempty"` @@ -266,7 +321,7 @@ func (m *CollectionRate) Reset() { *m = CollectionRate{} } func (m *CollectionRate) String() string { return proto.CompactTextString(m) } func (*CollectionRate) ProtoMessage() {} func (*CollectionRate) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{4} + return fileDescriptor_700b50b08ed8dbaf, []int{5} } func (m *CollectionRate) XXX_Unmarshal(b []byte) error { @@ -315,9 +370,118 @@ func (m *CollectionRate) GetCodes() []commonpb.ErrorCode { return nil } +type LimiterNode struct { + // self limiter information + Limiter *Limiter `protobuf:"bytes,1,opt,name=limiter,proto3" json:"limiter,omitempty"` + // db id -> db limiter + // collection id -> collection limiter + // partition id -> partition limiter + Children map[int64]*LimiterNode `protobuf:"bytes,2,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LimiterNode) Reset() { *m = LimiterNode{} } +func (m *LimiterNode) String() string { return proto.CompactTextString(m) } +func (*LimiterNode) ProtoMessage() {} +func (*LimiterNode) Descriptor() ([]byte, []int) { + return fileDescriptor_700b50b08ed8dbaf, []int{6} +} + +func (m *LimiterNode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LimiterNode.Unmarshal(m, b) +} +func (m *LimiterNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LimiterNode.Marshal(b, m, deterministic) +} +func (m *LimiterNode) XXX_Merge(src proto.Message) { + xxx_messageInfo_LimiterNode.Merge(m, src) +} +func (m *LimiterNode) XXX_Size() int { + return xxx_messageInfo_LimiterNode.Size(m) +} +func (m *LimiterNode) XXX_DiscardUnknown() { + xxx_messageInfo_LimiterNode.DiscardUnknown(m) +} + +var xxx_messageInfo_LimiterNode proto.InternalMessageInfo + +func (m *LimiterNode) GetLimiter() *Limiter { + if m != nil { + return m.Limiter + } + return nil +} + +func (m *LimiterNode) GetChildren() map[int64]*LimiterNode { + if m != nil { + return m.Children + } + return nil +} + +type Limiter struct { + Rates []*internalpb.Rate `protobuf:"bytes,1,rep,name=rates,proto3" json:"rates,omitempty"` + // we can use map to store quota states and error code, because key in map fields cannot be enum types + States []milvuspb.QuotaState `protobuf:"varint,2,rep,packed,name=states,proto3,enum=milvus.protov2.milvus.QuotaState" json:"states,omitempty"` + Codes []commonpb.ErrorCode `protobuf:"varint,3,rep,packed,name=codes,proto3,enum=milvus.protov2.common.ErrorCode" json:"codes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Limiter) Reset() { *m = Limiter{} } +func (m *Limiter) String() string { return proto.CompactTextString(m) } +func (*Limiter) ProtoMessage() {} +func (*Limiter) Descriptor() ([]byte, []int) { + return fileDescriptor_700b50b08ed8dbaf, []int{7} +} + +func (m *Limiter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Limiter.Unmarshal(m, b) +} +func (m *Limiter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Limiter.Marshal(b, m, deterministic) +} +func (m *Limiter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Limiter.Merge(m, src) +} +func (m *Limiter) XXX_Size() int { + return xxx_messageInfo_Limiter.Size(m) +} +func (m *Limiter) XXX_DiscardUnknown() { + xxx_messageInfo_Limiter.DiscardUnknown(m) +} + +var xxx_messageInfo_Limiter proto.InternalMessageInfo + +func (m *Limiter) GetRates() []*internalpb.Rate { + if m != nil { + return m.Rates + } + return nil +} + +func (m *Limiter) GetStates() []milvuspb.QuotaState { + if m != nil { + return m.States + } + return nil +} + +func (m *Limiter) GetCodes() []commonpb.ErrorCode { + if m != nil { + return m.Codes + } + return nil +} + type SetRatesRequest struct { - Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + // deprecated Rates []*CollectionRate `protobuf:"bytes,2,rep,name=rates,proto3" json:"rates,omitempty"` + RootLimiter *LimiterNode `protobuf:"bytes,3,opt,name=rootLimiter,proto3" json:"rootLimiter,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -327,7 +491,7 @@ func (m *SetRatesRequest) Reset() { *m = SetRatesRequest{} } func (m *SetRatesRequest) String() string { return proto.CompactTextString(m) } func (*SetRatesRequest) ProtoMessage() {} func (*SetRatesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{5} + return fileDescriptor_700b50b08ed8dbaf, []int{8} } func (m *SetRatesRequest) XXX_Unmarshal(b []byte) error { @@ -362,6 +526,13 @@ func (m *SetRatesRequest) GetRates() []*CollectionRate { return nil } +func (m *SetRatesRequest) GetRootLimiter() *LimiterNode { + if m != nil { + return m.RootLimiter + } + return nil +} + type ListClientInfosRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -373,7 +544,7 @@ func (m *ListClientInfosRequest) Reset() { *m = ListClientInfosRequest{} func (m *ListClientInfosRequest) String() string { return proto.CompactTextString(m) } func (*ListClientInfosRequest) ProtoMessage() {} func (*ListClientInfosRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{6} + return fileDescriptor_700b50b08ed8dbaf, []int{9} } func (m *ListClientInfosRequest) XXX_Unmarshal(b []byte) error { @@ -413,7 +584,7 @@ func (m *ListClientInfosResponse) Reset() { *m = ListClientInfosResponse func (m *ListClientInfosResponse) String() string { return proto.CompactTextString(m) } func (*ListClientInfosResponse) ProtoMessage() {} func (*ListClientInfosResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_700b50b08ed8dbaf, []int{7} + return fileDescriptor_700b50b08ed8dbaf, []int{10} } func (m *ListClientInfosResponse) XXX_Unmarshal(b []byte) error { @@ -450,10 +621,14 @@ func (m *ListClientInfosResponse) GetClientInfos() []*commonpb.ClientInfo { func init() { proto.RegisterType((*InvalidateCollMetaCacheRequest)(nil), "milvus.protov2.proxy.InvalidateCollMetaCacheRequest") + proto.RegisterType((*InvalidateShardLeaderCacheRequest)(nil), "milvus.protov2.proxy.InvalidateShardLeaderCacheRequest") proto.RegisterType((*InvalidateCredCacheRequest)(nil), "milvus.protov2.proxy.InvalidateCredCacheRequest") proto.RegisterType((*UpdateCredCacheRequest)(nil), "milvus.protov2.proxy.UpdateCredCacheRequest") proto.RegisterType((*RefreshPolicyInfoCacheRequest)(nil), "milvus.protov2.proxy.RefreshPolicyInfoCacheRequest") proto.RegisterType((*CollectionRate)(nil), "milvus.protov2.proxy.CollectionRate") + proto.RegisterType((*LimiterNode)(nil), "milvus.protov2.proxy.LimiterNode") + proto.RegisterMapType((map[int64]*LimiterNode)(nil), "milvus.protov2.proxy.LimiterNode.ChildrenEntry") + proto.RegisterType((*Limiter)(nil), "milvus.protov2.proxy.Limiter") proto.RegisterType((*SetRatesRequest)(nil), "milvus.protov2.proxy.SetRatesRequest") proto.RegisterType((*ListClientInfosRequest)(nil), "milvus.protov2.proxy.ListClientInfosRequest") proto.RegisterType((*ListClientInfosResponse)(nil), "milvus.protov2.proxy.ListClientInfosResponse") @@ -462,54 +637,70 @@ func init() { func init() { proto.RegisterFile("proxy.proto", fileDescriptor_700b50b08ed8dbaf) } var fileDescriptor_700b50b08ed8dbaf = []byte{ - // 737 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0xdd, 0x6e, 0xda, 0x4c, - 0x10, 0x8d, 0x43, 0xe0, 0xcb, 0x37, 0x20, 0x90, 0x56, 0x29, 0xa1, 0x48, 0x44, 0xc4, 0x6a, 0x5a, - 0x2a, 0x25, 0x10, 0x91, 0xb4, 0x52, 0x7b, 0x19, 0x52, 0xa1, 0xa8, 0x49, 0x95, 0x9a, 0xf6, 0xa6, - 0x37, 0xd1, 0x62, 0x4f, 0xc2, 0x4a, 0x66, 0xd7, 0xf5, 0x2e, 0xb4, 0x5c, 0x56, 0xea, 0x33, 0xf4, - 0x61, 0xfa, 0x02, 0x7d, 0x85, 0x3e, 0x4e, 0xe5, 0x1f, 0x0c, 0x38, 0x36, 0xa4, 0x42, 0xea, 0x9d, - 0x67, 0x7d, 0x66, 0xce, 0x99, 0x99, 0xdd, 0x03, 0x79, 0xc7, 0x15, 0x5f, 0x27, 0x4d, 0xc7, 0x15, - 0x4a, 0x90, 0x9d, 0x21, 0xb3, 0xc7, 0x23, 0x19, 0x44, 0xe3, 0x76, 0xd3, 0xff, 0x57, 0x2d, 0x98, - 0x62, 0x38, 0x14, 0x3c, 0x38, 0xad, 0x16, 0x19, 0x57, 0xe8, 0x72, 0x6a, 0x87, 0x71, 0x61, 0x3e, - 0x47, 0xff, 0xa9, 0xc1, 0xde, 0x05, 0x1f, 0x53, 0x9b, 0x59, 0x54, 0x61, 0x47, 0xd8, 0xf6, 0x15, - 0x2a, 0xda, 0xa1, 0xe6, 0x00, 0x0d, 0xfc, 0x3c, 0x42, 0xa9, 0x48, 0x1b, 0xb6, 0xfa, 0x54, 0x62, - 0x45, 0xab, 0x6b, 0x8d, 0x7c, 0x7b, 0xaf, 0x19, 0xe3, 0x0c, 0xc9, 0xae, 0xe4, 0xdd, 0x19, 0x95, - 0x68, 0xf8, 0x58, 0xb2, 0x0b, 0xff, 0x59, 0xfd, 0x1b, 0x4e, 0x87, 0x58, 0xd9, 0xac, 0x6b, 0x8d, - 0xff, 0x8d, 0x9c, 0xd5, 0x7f, 0x47, 0x87, 0x48, 0x9e, 0x41, 0xc9, 0x14, 0xb6, 0x8d, 0xa6, 0x62, - 0x82, 0x07, 0x80, 0x8c, 0x0f, 0x28, 0xce, 0x8e, 0x7d, 0xa0, 0x0e, 0x85, 0xd9, 0xc9, 0xc5, 0x79, - 0x65, 0xab, 0xae, 0x35, 0x32, 0xc6, 0xc2, 0x99, 0x6e, 0x43, 0x75, 0x4e, 0xbb, 0x8b, 0xd6, 0xda, - 0xba, 0xab, 0xb0, 0x3d, 0x92, 0xde, 0xb4, 0x22, 0xe1, 0x51, 0xac, 0x7f, 0xd7, 0xa0, 0xfc, 0xd1, - 0xf9, 0x17, 0x54, 0xde, 0x3f, 0x87, 0x4a, 0xf9, 0x45, 0xb8, 0x56, 0x38, 0x9e, 0x28, 0xd6, 0xbf, - 0x69, 0x50, 0x33, 0xf0, 0xd6, 0x45, 0x39, 0xb8, 0x16, 0x36, 0x33, 0x27, 0x17, 0xfc, 0x56, 0xac, - 0xad, 0xa6, 0x0c, 0x39, 0xe1, 0x7c, 0x98, 0x38, 0x81, 0x96, 0xac, 0x11, 0x46, 0x64, 0x07, 0xb2, - 0xc2, 0x79, 0x8b, 0x93, 0x50, 0x46, 0x10, 0xe8, 0xbf, 0x35, 0x28, 0x76, 0xa2, 0x4d, 0x18, 0x54, - 0x21, 0xd9, 0x03, 0x98, 0xed, 0xc6, 0xa7, 0xce, 0x18, 0x73, 0x27, 0xe4, 0x04, 0xb2, 0x2e, 0x55, - 0x28, 0x2b, 0x9b, 0xf5, 0x4c, 0x23, 0xdf, 0xae, 0xc5, 0x55, 0x45, 0xb7, 0xd4, 0xab, 0x66, 0x04, - 0x58, 0xf2, 0x0a, 0x72, 0x52, 0xf9, 0x59, 0x99, 0x7a, 0xa6, 0x51, 0x6c, 0xef, 0xc7, 0xb3, 0xc2, - 0xf0, 0xfd, 0x48, 0x28, 0xda, 0xf3, 0x90, 0x46, 0x98, 0x40, 0x5e, 0x42, 0xd6, 0x14, 0x16, 0xca, - 0xca, 0x96, 0x9f, 0x59, 0x4f, 0x99, 0xc2, 0x1b, 0xd7, 0x15, 0x6e, 0x47, 0x58, 0x68, 0x04, 0x70, - 0x6f, 0xbc, 0xa5, 0x1e, 0x2a, 0x4f, 0x85, 0x5c, 0x67, 0xa0, 0xaf, 0x17, 0xfb, 0x7d, 0xd2, 0x4c, - 0x7a, 0xaa, 0xcd, 0xc5, 0x21, 0x86, 0x6d, 0xeb, 0x97, 0x50, 0xbe, 0x64, 0x52, 0x75, 0x6c, 0x86, - 0x5c, 0x79, 0xeb, 0x5d, 0x47, 0x89, 0xfe, 0x43, 0x83, 0xdd, 0x7b, 0xe5, 0xa4, 0x23, 0xb8, 0x44, - 0xf2, 0x22, 0x18, 0xf0, 0x48, 0x86, 0x15, 0x6b, 0x29, 0x15, 0x7b, 0x3e, 0xc8, 0x08, 0xc1, 0xe4, - 0x1c, 0x0a, 0xa6, 0x5f, 0xed, 0x86, 0x79, 0xe5, 0xc2, 0x1e, 0xf7, 0x53, 0x92, 0x67, 0xc4, 0x46, - 0xde, 0x9c, 0x89, 0x68, 0xff, 0xda, 0x86, 0xec, 0xb5, 0x37, 0x06, 0xe2, 0x00, 0xe9, 0xa2, 0xea, - 0x88, 0xa1, 0x23, 0x38, 0x72, 0xd5, 0x0b, 0x56, 0x78, 0x9c, 0xb2, 0xed, 0xfb, 0xd0, 0x70, 0x3c, - 0xd5, 0xa7, 0x29, 0x19, 0x31, 0xb8, 0xbe, 0x41, 0x46, 0xb0, 0xd3, 0x45, 0x3f, 0x64, 0x52, 0x31, - 0x53, 0x76, 0x06, 0x94, 0x73, 0xb4, 0xc9, 0x69, 0xea, 0xbd, 0x4c, 0x82, 0x4f, 0x79, 0x0f, 0x52, - 0x78, 0x7b, 0xca, 0x65, 0xfc, 0x6e, 0x3a, 0x6d, 0x7d, 0x83, 0x8c, 0xa1, 0xb6, 0xe8, 0xb6, 0xc1, - 0xf2, 0x23, 0xcf, 0xbd, 0xcf, 0x1f, 0xdc, 0x93, 0xe5, 0x16, 0x5d, 0x5d, 0xbe, 0x36, 0x7d, 0x83, - 0x20, 0x14, 0xba, 0xa8, 0xce, 0xad, 0x69, 0x9b, 0x87, 0xcb, 0xda, 0x8c, 0x60, 0x7f, 0xdd, 0x1e, - 0x87, 0xc7, 0x8b, 0x86, 0x8c, 0x5c, 0x31, 0x6a, 0x07, 0xad, 0x1d, 0xaf, 0x6c, 0x2d, 0x66, 0xab, - 0xab, 0xdb, 0xba, 0x85, 0x47, 0x33, 0x47, 0x9e, 0xe7, 0x3a, 0x4c, 0xe6, 0x4a, 0xb6, 0xef, 0xd5, - 0x3c, 0x1c, 0xca, 0xc9, 0x96, 0x4b, 0x4e, 0x92, 0x89, 0x96, 0x1a, 0xf4, 0x6a, 0xbe, 0x01, 0x94, - 0xba, 0xa8, 0xfc, 0xb7, 0x71, 0x85, 0xca, 0x65, 0xa6, 0x24, 0x8d, 0xf4, 0xc7, 0x10, 0x42, 0xa6, - 0xd5, 0x9f, 0x3f, 0x00, 0x19, 0x6d, 0xcc, 0x80, 0xed, 0xa9, 0xdb, 0x91, 0x83, 0xe4, 0x5e, 0x62, - 0x6e, 0xb8, 0x5a, 0xbd, 0x03, 0xa5, 0x98, 0xdf, 0xa4, 0xed, 0x23, 0xd9, 0xe5, 0xaa, 0x47, 0x0f, - 0x44, 0x4f, 0xbb, 0x38, 0x3b, 0xfd, 0xd4, 0xbe, 0x63, 0x6a, 0x30, 0xea, 0x7b, 0x5a, 0x5a, 0x41, - 0xf2, 0x11, 0x13, 0xe1, 0x57, 0x6b, 0x7a, 0xb9, 0x5b, 0x7e, 0xbd, 0x96, 0x5f, 0xcd, 0xe9, 0xf7, - 0x73, 0x7e, 0x78, 0xf2, 0x27, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x1b, 0xdf, 0x71, 0x53, 0x09, 0x00, - 0x00, + // 998 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xdd, 0x6e, 0x1b, 0xc5, + 0x17, 0xcf, 0xc6, 0x71, 0x92, 0xff, 0xb1, 0x93, 0xfc, 0x19, 0x85, 0xd4, 0x58, 0x4a, 0xe4, 0xac, + 0x9a, 0xd6, 0x88, 0x34, 0x2e, 0x4e, 0x21, 0xd0, 0xcb, 0x3a, 0x95, 0x15, 0x35, 0xa9, 0xc2, 0x1a, + 0xb8, 0x40, 0x82, 0x6a, 0xbd, 0x7b, 0x12, 0x0f, 0xac, 0x67, 0x96, 0x99, 0xb1, 0xc1, 0x12, 0x5c, + 0x20, 0x71, 0xc1, 0x13, 0xf0, 0x1e, 0xbc, 0x04, 0xcf, 0xc0, 0x2d, 0xcf, 0xc0, 0x0b, 0xa0, 0xdd, + 0x99, 0x5d, 0x7f, 0xae, 0x9d, 0xd4, 0x12, 0x77, 0x73, 0xce, 0xfc, 0xce, 0xf9, 0x9d, 0xaf, 0xf9, + 0x80, 0x42, 0x28, 0xf8, 0x8f, 0x83, 0x93, 0x50, 0x70, 0xc5, 0xc9, 0x6e, 0x97, 0x06, 0xfd, 0x9e, + 0xd4, 0x52, 0xbf, 0x7e, 0x12, 0xef, 0x95, 0x8b, 0x1e, 0xef, 0x76, 0x39, 0xd3, 0xda, 0xf2, 0x36, + 0x65, 0x0a, 0x05, 0x73, 0x03, 0x23, 0x17, 0x47, 0x6d, 0xec, 0xbf, 0x2d, 0x38, 0xb8, 0x60, 0x7d, + 0x37, 0xa0, 0xbe, 0xab, 0xb0, 0xc1, 0x83, 0xe0, 0x0a, 0x95, 0xdb, 0x70, 0xbd, 0x0e, 0x3a, 0xf8, + 0x7d, 0x0f, 0xa5, 0x22, 0x75, 0x58, 0x6b, 0xbb, 0x12, 0x4b, 0x56, 0xc5, 0xaa, 0x16, 0xea, 0x07, + 0x27, 0x13, 0x9c, 0x86, 0xec, 0x4a, 0xde, 0xbe, 0x70, 0x25, 0x3a, 0x31, 0x96, 0x3c, 0x80, 0x0d, + 0xbf, 0xfd, 0x86, 0xb9, 0x5d, 0x2c, 0xad, 0x56, 0xac, 0xea, 0xff, 0x9c, 0x75, 0xbf, 0xfd, 0xda, + 0xed, 0x22, 0x79, 0x0c, 0x3b, 0x1e, 0x0f, 0x02, 0xf4, 0x14, 0xe5, 0x4c, 0x03, 0x72, 0x31, 0x60, + 0x7b, 0xa8, 0x8e, 0x81, 0x36, 0x14, 0x87, 0x9a, 0x8b, 0xf3, 0xd2, 0x5a, 0xc5, 0xaa, 0xe6, 0x9c, + 0x31, 0x1d, 0x39, 0x82, 0xed, 0xd0, 0x15, 0x8a, 0x0e, 0x7d, 0xe5, 0x63, 0x5f, 0x5b, 0xa9, 0x36, + 0x72, 0x65, 0xff, 0x0c, 0x87, 0xc3, 0x14, 0x5b, 0x1d, 0x57, 0xf8, 0x97, 0xe8, 0xfa, 0x28, 0x96, + 0xce, 0xf2, 0x21, 0x6c, 0x8d, 0xc6, 0x23, 0x4b, 0xab, 0x95, 0x5c, 0x35, 0xe7, 0x8c, 0x2b, 0xed, + 0x00, 0xca, 0x23, 0x15, 0x16, 0xe8, 0x2f, 0xcd, 0x5b, 0x86, 0xcd, 0x9e, 0x8c, 0x7a, 0x9a, 0x96, + 0x37, 0x95, 0xed, 0x5f, 0x2d, 0xd8, 0xfb, 0x22, 0xfc, 0x2f, 0xa8, 0xa2, 0xbd, 0xd0, 0x95, 0xf2, + 0x07, 0x2e, 0x7c, 0xd3, 0xc4, 0x54, 0xb6, 0x7f, 0xb1, 0x60, 0xdf, 0xc1, 0x1b, 0x81, 0xb2, 0x73, + 0xcd, 0x03, 0xea, 0x0d, 0x2e, 0xd8, 0x0d, 0x5f, 0x3a, 0x9a, 0x3d, 0x58, 0xe7, 0xe1, 0xe7, 0x83, + 0x50, 0xc7, 0x92, 0x77, 0x8c, 0x44, 0x76, 0x21, 0xcf, 0xc3, 0x57, 0x38, 0x30, 0x61, 0x68, 0xc1, + 0xfe, 0xcb, 0x82, 0xed, 0x46, 0xda, 0x0a, 0xc7, 0x55, 0x48, 0x0e, 0x00, 0x86, 0xcd, 0x89, 0xa9, + 0x73, 0xce, 0x88, 0x86, 0x9c, 0x42, 0x5e, 0xb8, 0x0a, 0x75, 0x27, 0x0b, 0xf5, 0xfd, 0xc9, 0xa8, + 0xd2, 0xb3, 0x14, 0x79, 0x73, 0x34, 0x96, 0x7c, 0x0a, 0xeb, 0x52, 0xc5, 0x56, 0xb9, 0x4a, 0xae, + 0xba, 0x5d, 0x3f, 0x9c, 0xb4, 0x32, 0xe2, 0x67, 0x3d, 0xae, 0xdc, 0x56, 0x84, 0x74, 0x8c, 0x01, + 0xf9, 0x18, 0xf2, 0x1e, 0xf7, 0x51, 0x96, 0xd6, 0x62, 0xcb, 0x4a, 0x46, 0x15, 0x5e, 0x0a, 0xc1, + 0x45, 0x83, 0xfb, 0xe8, 0x68, 0xb8, 0xfd, 0x8f, 0x05, 0x85, 0x4b, 0xda, 0xa5, 0x0a, 0xc5, 0x6b, + 0xee, 0x23, 0x39, 0x83, 0x8d, 0x40, 0x8b, 0xa6, 0x9e, 0x53, 0x91, 0xeb, 0x6b, 0xc3, 0xd8, 0x38, + 0x09, 0x9a, 0xbc, 0x82, 0x4d, 0xaf, 0x43, 0x03, 0x5f, 0x20, 0x33, 0x39, 0xd7, 0xe6, 0x5a, 0x46, + 0x6c, 0x27, 0x0d, 0x63, 0xf1, 0x92, 0x29, 0x31, 0x70, 0x52, 0x07, 0xe5, 0x6f, 0x60, 0x6b, 0x6c, + 0x8b, 0xfc, 0x1f, 0x72, 0xdf, 0xe1, 0xc0, 0xd4, 0x39, 0x5a, 0x92, 0x33, 0xc8, 0xf7, 0xdd, 0xa0, + 0xa7, 0x1b, 0x58, 0x98, 0x2e, 0xd5, 0x14, 0x99, 0xa3, 0xf1, 0xcf, 0x57, 0x3f, 0xb1, 0xec, 0x3f, + 0x2c, 0xd8, 0x30, 0x5b, 0xc3, 0x4e, 0x59, 0x6f, 0xd5, 0xa9, 0xd5, 0xb7, 0xee, 0x54, 0xee, 0x7e, + 0x9d, 0xfa, 0xd3, 0x82, 0x9d, 0x16, 0xaa, 0x28, 0x0a, 0xb9, 0xcc, 0xe8, 0x3f, 0x1f, 0x9f, 0xcc, + 0x87, 0xb3, 0x0b, 0x37, 0x3e, 0xee, 0x49, 0xda, 0x0d, 0x28, 0x08, 0xce, 0x95, 0x29, 0x5d, 0x7c, + 0x48, 0xee, 0x54, 0xfa, 0x51, 0x2b, 0xfb, 0x12, 0xf6, 0x2e, 0xa9, 0x54, 0x8d, 0x80, 0x22, 0x53, + 0xd1, 0x69, 0x5e, 0x26, 0x1d, 0xfb, 0x77, 0x0b, 0x1e, 0x4c, 0xb9, 0x93, 0x21, 0x67, 0x12, 0xc9, + 0x47, 0xba, 0x4b, 0x3d, 0x99, 0x35, 0xcb, 0xc6, 0x63, 0x2b, 0x06, 0x39, 0x06, 0x4c, 0xce, 0xa1, + 0xe8, 0xc5, 0xde, 0xde, 0xd0, 0xc8, 0x9d, 0x29, 0xd4, 0x61, 0x86, 0xf1, 0x90, 0xd8, 0x29, 0x78, + 0xc3, 0x20, 0xea, 0xbf, 0x15, 0x21, 0x7f, 0x1d, 0x55, 0x82, 0x84, 0x40, 0x9a, 0xa8, 0x1a, 0xbc, + 0x1b, 0x72, 0x86, 0x4c, 0xb5, 0xf4, 0x1c, 0x3c, 0xcd, 0x18, 0x99, 0x69, 0xa8, 0x29, 0x4f, 0xf9, + 0x51, 0x86, 0xc5, 0x04, 0xdc, 0x5e, 0x21, 0x3d, 0xd8, 0x6d, 0x62, 0x2c, 0x52, 0xa9, 0xa8, 0x27, + 0x1b, 0x1d, 0x97, 0x31, 0x0c, 0xc8, 0xb3, 0xcc, 0xe1, 0x9e, 0x05, 0x4f, 0x78, 0x8f, 0x32, 0x78, + 0x5b, 0x4a, 0x50, 0x76, 0x9b, 0x54, 0xdb, 0x5e, 0x21, 0x7d, 0xd8, 0x1f, 0xff, 0x02, 0xe8, 0x09, + 0x4a, 0x3f, 0x02, 0xd3, 0xfc, 0x7a, 0x54, 0xe6, 0xff, 0x1b, 0xca, 0xf3, 0xdb, 0x66, 0xaf, 0x10, + 0x84, 0x62, 0x13, 0xd5, 0xb9, 0x9f, 0xa4, 0x79, 0x3c, 0x2f, 0xcd, 0x14, 0x76, 0xef, 0xf4, 0x18, + 0xbc, 0x37, 0xfe, 0xfe, 0x22, 0x53, 0xd4, 0x0d, 0x74, 0x6a, 0x4f, 0x17, 0xa6, 0x36, 0xf1, 0x8a, + 0x2e, 0x4e, 0xeb, 0x06, 0xde, 0x1d, 0x3e, 0xc0, 0xa3, 0x5c, 0xc7, 0xb3, 0xb9, 0x66, 0xbf, 0xd6, + 0x8b, 0x79, 0x18, 0xec, 0xcd, 0x7e, 0x61, 0xc9, 0xe9, 0x6c, 0xa2, 0xb9, 0xef, 0xf1, 0x62, 0xbe, + 0x0e, 0xec, 0x34, 0x51, 0xc5, 0x67, 0xe3, 0x0a, 0x95, 0xa0, 0x9e, 0x24, 0xd5, 0xec, 0xc3, 0x60, + 0x20, 0x89, 0xf7, 0xf7, 0xef, 0x80, 0x4c, 0x3b, 0xe6, 0xc0, 0x66, 0x72, 0x65, 0x92, 0xa3, 0xd9, + 0xb9, 0x4c, 0x5c, 0xa9, 0x8b, 0xa3, 0x0f, 0x61, 0x67, 0xe2, 0xbe, 0xc9, 0xea, 0xc7, 0xec, 0x5b, + 0xae, 0xfc, 0xe4, 0x8e, 0xe8, 0x34, 0x8b, 0xaf, 0x61, 0xf3, 0xa2, 0x1b, 0x72, 0xa1, 0xbe, 0xac, + 0x93, 0x47, 0x99, 0xa3, 0xad, 0x21, 0x09, 0xc9, 0xe3, 0x85, 0xb8, 0xd4, 0xfd, 0x4f, 0xf0, 0x4e, + 0x13, 0x95, 0x56, 0x5f, 0x0b, 0x7e, 0x2b, 0x50, 0x4a, 0xf2, 0xe1, 0xbc, 0x23, 0x34, 0x8e, 0x4d, + 0x28, 0xeb, 0xf7, 0x31, 0x49, 0xd9, 0xbf, 0x8d, 0xfe, 0x1f, 0xd2, 0xec, 0x4b, 0xf2, 0x41, 0xa6, + 0x93, 0x11, 0x54, 0xc2, 0x78, 0x7c, 0x37, 0xf0, 0xc8, 0xfd, 0x54, 0xce, 0xfe, 0xbf, 0x93, 0xb3, + 0x45, 0x27, 0x38, 0xe3, 0xc7, 0xbf, 0x70, 0x64, 0x5e, 0x3c, 0xfb, 0xaa, 0x7e, 0x4b, 0x55, 0xa7, + 0xd7, 0x8e, 0x76, 0x6a, 0x1a, 0xfc, 0x84, 0x72, 0xb3, 0xaa, 0x25, 0x51, 0xd7, 0x62, 0xfb, 0x5a, + 0x4c, 0x1b, 0xb6, 0xdb, 0xeb, 0xb1, 0x78, 0xfa, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0xa1, + 0x32, 0x28, 0xa9, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -534,6 +725,11 @@ type ProxyClient interface { GetProxyMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) SetRates(ctx context.Context, in *SetRatesRequest, opts ...grpc.CallOption) (*commonpb.Status, error) ListClientInfos(ctx context.Context, in *ListClientInfosRequest, opts ...grpc.CallOption) (*ListClientInfosResponse, error) + // importV2 + ImportV2(ctx context.Context, in *internalpb.ImportRequest, opts ...grpc.CallOption) (*internalpb.ImportResponse, error) + GetImportProgress(ctx context.Context, in *internalpb.GetImportProgressRequest, opts ...grpc.CallOption) (*internalpb.GetImportProgressResponse, error) + ListImports(ctx context.Context, in *internalpb.ListImportsRequest, opts ...grpc.CallOption) (*internalpb.ListImportsResponse, error) + InvalidateShardLeaderCache(ctx context.Context, in *InvalidateShardLeaderCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error) } type proxyClient struct { @@ -634,6 +830,42 @@ func (c *proxyClient) ListClientInfos(ctx context.Context, in *ListClientInfosRe return out, nil } +func (c *proxyClient) ImportV2(ctx context.Context, in *internalpb.ImportRequest, opts ...grpc.CallOption) (*internalpb.ImportResponse, error) { + out := new(internalpb.ImportResponse) + err := c.cc.Invoke(ctx, "/milvus.protov2.proxy.Proxy/ImportV2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyClient) GetImportProgress(ctx context.Context, in *internalpb.GetImportProgressRequest, opts ...grpc.CallOption) (*internalpb.GetImportProgressResponse, error) { + out := new(internalpb.GetImportProgressResponse) + err := c.cc.Invoke(ctx, "/milvus.protov2.proxy.Proxy/GetImportProgress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyClient) ListImports(ctx context.Context, in *internalpb.ListImportsRequest, opts ...grpc.CallOption) (*internalpb.ListImportsResponse, error) { + out := new(internalpb.ListImportsResponse) + err := c.cc.Invoke(ctx, "/milvus.protov2.proxy.Proxy/ListImports", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *proxyClient) InvalidateShardLeaderCache(ctx context.Context, in *InvalidateShardLeaderCacheRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.protov2.proxy.Proxy/InvalidateShardLeaderCache", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ProxyServer is the server API for Proxy service. type ProxyServer interface { GetComponentStates(context.Context, *milvuspb.GetComponentStatesRequest) (*milvuspb.ComponentStates, error) @@ -646,6 +878,11 @@ type ProxyServer interface { GetProxyMetrics(context.Context, *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) SetRates(context.Context, *SetRatesRequest) (*commonpb.Status, error) ListClientInfos(context.Context, *ListClientInfosRequest) (*ListClientInfosResponse, error) + // importV2 + ImportV2(context.Context, *internalpb.ImportRequest) (*internalpb.ImportResponse, error) + GetImportProgress(context.Context, *internalpb.GetImportProgressRequest) (*internalpb.GetImportProgressResponse, error) + ListImports(context.Context, *internalpb.ListImportsRequest) (*internalpb.ListImportsResponse, error) + InvalidateShardLeaderCache(context.Context, *InvalidateShardLeaderCacheRequest) (*commonpb.Status, error) } // UnimplementedProxyServer can be embedded to have forward compatible implementations. @@ -682,6 +919,18 @@ func (*UnimplementedProxyServer) SetRates(ctx context.Context, req *SetRatesRequ func (*UnimplementedProxyServer) ListClientInfos(ctx context.Context, req *ListClientInfosRequest) (*ListClientInfosResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListClientInfos not implemented") } +func (*UnimplementedProxyServer) ImportV2(ctx context.Context, req *internalpb.ImportRequest) (*internalpb.ImportResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportV2 not implemented") +} +func (*UnimplementedProxyServer) GetImportProgress(ctx context.Context, req *internalpb.GetImportProgressRequest) (*internalpb.GetImportProgressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetImportProgress not implemented") +} +func (*UnimplementedProxyServer) ListImports(ctx context.Context, req *internalpb.ListImportsRequest) (*internalpb.ListImportsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListImports not implemented") +} +func (*UnimplementedProxyServer) InvalidateShardLeaderCache(ctx context.Context, req *InvalidateShardLeaderCacheRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method InvalidateShardLeaderCache not implemented") +} func RegisterProxyServer(s *grpc.Server, srv ProxyServer) { s.RegisterService(&_Proxy_serviceDesc, srv) @@ -867,6 +1116,78 @@ func _Proxy_ListClientInfos_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Proxy_ImportV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.ImportRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyServer).ImportV2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.protov2.proxy.Proxy/ImportV2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyServer).ImportV2(ctx, req.(*internalpb.ImportRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Proxy_GetImportProgress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.GetImportProgressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyServer).GetImportProgress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.protov2.proxy.Proxy/GetImportProgress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyServer).GetImportProgress(ctx, req.(*internalpb.GetImportProgressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Proxy_ListImports_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(internalpb.ListImportsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyServer).ListImports(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.protov2.proxy.Proxy/ListImports", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyServer).ListImports(ctx, req.(*internalpb.ListImportsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Proxy_InvalidateShardLeaderCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InvalidateShardLeaderCacheRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProxyServer).InvalidateShardLeaderCache(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.protov2.proxy.Proxy/InvalidateShardLeaderCache", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProxyServer).InvalidateShardLeaderCache(ctx, req.(*InvalidateShardLeaderCacheRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Proxy_serviceDesc = grpc.ServiceDesc{ ServiceName: "milvus.protov2.proxy.Proxy", HandlerType: (*ProxyServer)(nil), @@ -911,6 +1232,22 @@ var _Proxy_serviceDesc = grpc.ServiceDesc{ MethodName: "ListClientInfos", Handler: _Proxy_ListClientInfos_Handler, }, + { + MethodName: "ImportV2", + Handler: _Proxy_ImportV2_Handler, + }, + { + MethodName: "GetImportProgress", + Handler: _Proxy_GetImportProgress_Handler, + }, + { + MethodName: "ListImports", + Handler: _Proxy_ListImports_Handler, + }, + { + MethodName: "InvalidateShardLeaderCache", + Handler: _Proxy_InvalidateShardLeaderCache_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "proxy.proto", diff --git a/proto/v2.2/query_coord.proto b/proto/v2.2/query_coord.proto index 5a3f738..ee00870 100644 --- a/proto/v2.2/query_coord.proto +++ b/proto/v2.2/query_coord.proto @@ -6,6 +6,7 @@ option go_package = "github.com/milvus-io/milvus/internal/proto/querypb"; import "common.proto"; import "milvus.proto"; +import "rg.proto"; import "internal.proto"; import "schema.proto"; import "msg.proto"; @@ -13,229 +14,323 @@ import "data_coord.proto"; import "index_coord.proto"; service QueryCoord { - rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} - rpc GetTimeTickChannel(internal.GetTimeTickChannelRequest) returns(milvus.StringResponse) {} - rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} - - rpc ShowCollections(ShowCollectionsRequest) returns (ShowCollectionsResponse) {} - rpc ShowPartitions(ShowPartitionsRequest) returns (ShowPartitionsResponse) {} - - rpc LoadPartitions(LoadPartitionsRequest) returns (common.Status) {} - rpc ReleasePartitions(ReleasePartitionsRequest) returns (common.Status) {} - rpc LoadCollection(LoadCollectionRequest) returns (common.Status) {} - rpc ReleaseCollection(ReleaseCollectionRequest) returns (common.Status) {} - rpc SyncNewCreatedPartition(SyncNewCreatedPartitionRequest) returns (common.Status) {} - - rpc GetPartitionStates(GetPartitionStatesRequest) returns (GetPartitionStatesResponse) {} - rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) {} - rpc LoadBalance(LoadBalanceRequest) returns (common.Status) {} - - rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse){} - // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy - rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} - - // https://wiki.lfaidata.foundation/display/MIL/MEP+23+--+Multiple+memory+replication+design - rpc GetReplicas(milvus.GetReplicasRequest) returns (milvus.GetReplicasResponse) {} - rpc GetShardLeaders(GetShardLeadersRequest) returns (GetShardLeadersResponse) {} - - rpc CheckHealth(milvus.CheckHealthRequest) returns (milvus.CheckHealthResponse) {} - - rpc CreateResourceGroup(milvus.CreateResourceGroupRequest) returns (common.Status) {} - rpc DropResourceGroup(milvus.DropResourceGroupRequest) returns (common.Status) {} - rpc TransferNode(milvus.TransferNodeRequest) returns (common.Status) {} - rpc TransferReplica(TransferReplicaRequest) returns (common.Status) {} - rpc ListResourceGroups(milvus.ListResourceGroupsRequest) returns (milvus.ListResourceGroupsResponse) {} - rpc DescribeResourceGroup(DescribeResourceGroupRequest) returns (DescribeResourceGroupResponse) {} - + rpc GetComponentStates(milvus.GetComponentStatesRequest) + returns (milvus.ComponentStates) { + } + rpc GetTimeTickChannel(internal.GetTimeTickChannelRequest) + returns (milvus.StringResponse) { + } + rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) + returns (milvus.StringResponse) { + } + + rpc ShowCollections(ShowCollectionsRequest) + returns (ShowCollectionsResponse) { + } + rpc ShowPartitions(ShowPartitionsRequest) returns (ShowPartitionsResponse) { + } + + rpc LoadPartitions(LoadPartitionsRequest) returns (common.Status) { + } + rpc ReleasePartitions(ReleasePartitionsRequest) returns (common.Status) { + } + rpc LoadCollection(LoadCollectionRequest) returns (common.Status) { + } + rpc ReleaseCollection(ReleaseCollectionRequest) returns (common.Status) { + } + rpc SyncNewCreatedPartition(SyncNewCreatedPartitionRequest) + returns (common.Status) { + } + + rpc GetPartitionStates(GetPartitionStatesRequest) + returns (GetPartitionStatesResponse) { + } + rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) { + } + rpc LoadBalance(LoadBalanceRequest) returns (common.Status) { + } + + rpc ShowConfigurations(internal.ShowConfigurationsRequest) + returns (internal.ShowConfigurationsResponse) { + } + // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy + rpc GetMetrics(milvus.GetMetricsRequest) + returns (milvus.GetMetricsResponse) { + } + + // https://wiki.lfaidata.foundation/display/MIL/MEP+23+--+Multiple+memory+replication+design + rpc GetReplicas(milvus.GetReplicasRequest) + returns (milvus.GetReplicasResponse) { + } + rpc GetShardLeaders(GetShardLeadersRequest) + returns (GetShardLeadersResponse) { + } + + rpc CheckHealth(milvus.CheckHealthRequest) + returns (milvus.CheckHealthResponse) { + } + + rpc CreateResourceGroup(milvus.CreateResourceGroupRequest) + returns (common.Status) { + } + rpc UpdateResourceGroups(UpdateResourceGroupsRequest) + returns (common.Status) { + } + rpc DropResourceGroup(milvus.DropResourceGroupRequest) + returns (common.Status) { + } + rpc TransferNode(milvus.TransferNodeRequest) returns (common.Status) { + } + rpc TransferReplica(TransferReplicaRequest) returns (common.Status) { + } + rpc ListResourceGroups(milvus.ListResourceGroupsRequest) + returns (milvus.ListResourceGroupsResponse) { + } + rpc DescribeResourceGroup(DescribeResourceGroupRequest) + returns (DescribeResourceGroupResponse) { + } + + + // ops interfaces rpc ListCheckers(ListCheckersRequest) returns (ListCheckersResponse) {} rpc ActivateChecker(ActivateCheckerRequest) returns (common.Status) {} rpc DeactivateChecker(DeactivateCheckerRequest) returns (common.Status) {} + + rpc ListQueryNode(ListQueryNodeRequest) returns (ListQueryNodeResponse) {} + rpc GetQueryNodeDistribution(GetQueryNodeDistributionRequest) returns (GetQueryNodeDistributionResponse) {} + rpc SuspendBalance(SuspendBalanceRequest) returns (common.Status) {} + rpc ResumeBalance(ResumeBalanceRequest) returns (common.Status) {} + rpc SuspendNode(SuspendNodeRequest) returns (common.Status) {} + rpc ResumeNode(ResumeNodeRequest) returns (common.Status) {} + rpc TransferSegment(TransferSegmentRequest) returns (common.Status) {} + rpc TransferChannel(TransferChannelRequest) returns (common.Status) {} + rpc CheckQueryNodeDistribution(CheckQueryNodeDistributionRequest) returns (common.Status) {} } service QueryNode { - rpc GetComponentStates(milvus.GetComponentStatesRequest) returns (milvus.ComponentStates) {} - rpc GetTimeTickChannel(internal.GetTimeTickChannelRequest) returns(milvus.StringResponse) {} - rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) returns(milvus.StringResponse){} - - rpc WatchDmChannels(WatchDmChannelsRequest) returns (common.Status) {} - rpc UnsubDmChannel(UnsubDmChannelRequest) returns (common.Status) {} - rpc LoadSegments(LoadSegmentsRequest) returns (common.Status) {} - rpc ReleaseCollection(ReleaseCollectionRequest) returns (common.Status) {} - rpc LoadPartitions(LoadPartitionsRequest) returns (common.Status) {} - rpc ReleasePartitions(ReleasePartitionsRequest) returns (common.Status) {} - rpc ReleaseSegments(ReleaseSegmentsRequest) returns (common.Status) {} - rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) {} - rpc SyncReplicaSegments(SyncReplicaSegmentsRequest) returns (common.Status) {} - - rpc GetStatistics(GetStatisticsRequest) returns (internal.GetStatisticsResponse) {} - rpc Search(SearchRequest) returns (internal.SearchResults) {} - rpc SearchSegments(SearchRequest) returns (internal.SearchResults) {} - rpc Query(QueryRequest) returns (internal.RetrieveResults) {} - rpc QueryStream(QueryRequest) returns (stream internal.RetrieveResults){} - rpc QuerySegments(QueryRequest) returns (internal.RetrieveResults) {} - rpc QueryStreamSegments(QueryRequest) returns (stream internal.RetrieveResults){} - - rpc ShowConfigurations(internal.ShowConfigurationsRequest) returns (internal.ShowConfigurationsResponse){} - // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy - rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} - - rpc GetDataDistribution(GetDataDistributionRequest) returns (GetDataDistributionResponse) {} - rpc SyncDistribution(SyncDistributionRequest) returns (common.Status) {} - rpc Delete(DeleteRequest) returns (common.Status) {} + rpc GetComponentStates(milvus.GetComponentStatesRequest) + returns (milvus.ComponentStates) { + } + rpc GetTimeTickChannel(internal.GetTimeTickChannelRequest) + returns (milvus.StringResponse) { + } + rpc GetStatisticsChannel(internal.GetStatisticsChannelRequest) + returns (milvus.StringResponse) { + } + + rpc WatchDmChannels(WatchDmChannelsRequest) returns (common.Status) { + } + rpc UnsubDmChannel(UnsubDmChannelRequest) returns (common.Status) { + } + rpc LoadSegments(LoadSegmentsRequest) returns (common.Status) { + } + rpc ReleaseCollection(ReleaseCollectionRequest) returns (common.Status) { + } + rpc LoadPartitions(LoadPartitionsRequest) returns (common.Status) { + } + rpc ReleasePartitions(ReleasePartitionsRequest) returns (common.Status) { + } + rpc ReleaseSegments(ReleaseSegmentsRequest) returns (common.Status) { + } + rpc GetSegmentInfo(GetSegmentInfoRequest) returns (GetSegmentInfoResponse) { + } + rpc SyncReplicaSegments(SyncReplicaSegmentsRequest) + returns (common.Status) { + } + + rpc GetStatistics(GetStatisticsRequest) + returns (internal.GetStatisticsResponse) { + } + rpc Search(SearchRequest) returns (internal.SearchResults) { + } + rpc SearchSegments(SearchRequest) returns (internal.SearchResults) { + } + rpc Query(QueryRequest) returns (internal.RetrieveResults) { + } + rpc QueryStream(QueryRequest) returns (stream internal.RetrieveResults) { + } + rpc QuerySegments(QueryRequest) returns (internal.RetrieveResults) { + } + rpc QueryStreamSegments(QueryRequest) + returns (stream internal.RetrieveResults) { + } + + rpc ShowConfigurations(internal.ShowConfigurationsRequest) + returns (internal.ShowConfigurationsResponse) { + } + // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy + rpc GetMetrics(milvus.GetMetricsRequest) + returns (milvus.GetMetricsResponse) { + } + + rpc GetDataDistribution(GetDataDistributionRequest) + returns (GetDataDistributionResponse) { + } + rpc SyncDistribution(SyncDistributionRequest) returns (common.Status) { + } + rpc Delete(DeleteRequest) returns (common.Status) { + } } // --------------------QueryCoord grpc request and response proto------------------ message ShowCollectionsRequest { - common.MsgBase base = 1; - // Not useful for now - int64 dbID = 2; - repeated int64 collectionIDs = 3; + common.MsgBase base = 1; + // Not useful for now + int64 dbID = 2; + repeated int64 collectionIDs = 3; } message ShowCollectionsResponse { - common.Status status = 1; - repeated int64 collectionIDs = 2; - repeated int64 inMemory_percentages = 3; - repeated bool query_service_available = 4; - repeated int64 refresh_progress = 5; + common.Status status = 1; + repeated int64 collectionIDs = 2; + repeated int64 inMemory_percentages = 3; + repeated bool query_service_available = 4; + repeated int64 refresh_progress = 5; } message ShowPartitionsRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - repeated int64 partitionIDs = 4; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + repeated int64 partitionIDs = 4; } message ShowPartitionsResponse { - common.Status status = 1; - repeated int64 partitionIDs = 2; - repeated int64 inMemory_percentages = 3; - repeated int64 refresh_progress = 4; + common.Status status = 1; + repeated int64 partitionIDs = 2; + repeated int64 inMemory_percentages = 3; + repeated int64 refresh_progress = 4; } message LoadCollectionRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - schema.CollectionSchema schema = 4; - int32 replica_number = 5; - // fieldID -> indexID - map field_indexID = 6; - bool refresh = 7; - // resource group names - repeated string resource_groups = 8; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + schema.CollectionSchema schema = 4; + int32 replica_number = 5; + // fieldID -> indexID + map field_indexID = 6; + bool refresh = 7; + // resource group names + repeated string resource_groups = 8; } message ReleaseCollectionRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - int64 nodeID = 4; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + int64 nodeID = 4; } message GetStatisticsRequest { - internal.GetStatisticsRequest req = 1; - repeated string dml_channels = 2; - repeated int64 segmentIDs = 3; - bool from_shard_leader = 4; - DataScope scope = 5; // All, Streaming, Historical + internal.GetStatisticsRequest req = 1; + repeated string dml_channels = 2; + repeated int64 segmentIDs = 3; + bool from_shard_leader = 4; + DataScope scope = 5; // All, Streaming, Historical } message LoadPartitionsRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - repeated int64 partitionIDs = 4; - schema.CollectionSchema schema = 5; - int32 replica_number = 6; - // fieldID -> indexID - map field_indexID = 7; - bool refresh = 8; - // resource group names - repeated string resource_groups = 9; - repeated index.IndexInfo index_info_list = 10; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + repeated int64 partitionIDs = 4; + schema.CollectionSchema schema = 5; + int32 replica_number = 6; + // fieldID -> indexID + map field_indexID = 7; + bool refresh = 8; + // resource group names + repeated string resource_groups = 9; + repeated index.IndexInfo index_info_list = 10; } message ReleasePartitionsRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - repeated int64 partitionIDs = 4; - int64 nodeID = 5; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + repeated int64 partitionIDs = 4; + int64 nodeID = 5; } message GetPartitionStatesRequest { - common.MsgBase base = 1; - int64 dbID = 2; - int64 collectionID = 3; - repeated int64 partitionIDs = 4; + common.MsgBase base = 1; + int64 dbID = 2; + int64 collectionID = 3; + repeated int64 partitionIDs = 4; } message GetPartitionStatesResponse { - common.Status status = 1; - repeated PartitionStates partition_descriptions = 2; + common.Status status = 1; + repeated PartitionStates partition_descriptions = 2; } message GetSegmentInfoRequest { - common.MsgBase base = 1; - repeated int64 segmentIDs = 2; // deprecated - int64 collectionID = 3; + common.MsgBase base = 1; + repeated int64 segmentIDs = 2; // deprecated + int64 collectionID = 3; } message GetSegmentInfoResponse { - common.Status status = 1; - repeated SegmentInfo infos = 2; + common.Status status = 1; + repeated SegmentInfo infos = 2; } message GetShardLeadersRequest { - common.MsgBase base = 1; - int64 collectionID = 2; + common.MsgBase base = 1; + int64 collectionID = 2; } message GetShardLeadersResponse { - common.Status status = 1; - repeated ShardLeadersList shards = 2; + common.Status status = 1; + repeated ShardLeadersList shards = 2; +} + +message UpdateResourceGroupsRequest { + common.MsgBase base = 1; + map resource_groups = 2; } message ShardLeadersList { // All leaders of all replicas of one shard - string channel_name = 1; - repeated int64 node_ids = 2; - repeated string node_addrs = 3; + string channel_name = 1; + repeated int64 node_ids = 2; + repeated string node_addrs = 3; } message SyncNewCreatedPartitionRequest { - common.MsgBase base = 1; - int64 collectionID = 2; - int64 partitionID = 3; + common.MsgBase base = 1; + int64 collectionID = 2; + int64 partitionID = 3; } // -----------------query node grpc request and response proto---------------- message LoadMetaInfo { - LoadType load_type = 1; - int64 collectionID = 2; - repeated int64 partitionIDs = 3; - string metric_type = 4; + LoadType load_type = 1; + int64 collectionID = 2; + repeated int64 partitionIDs = 3; + string metric_type = 4 [deprecated = true]; + string db_name = 5; // Only used for metrics label. + string resource_group = 6; // Only used for metrics label. } message WatchDmChannelsRequest { - common.MsgBase base = 1; - int64 nodeID = 2; - int64 collectionID = 3; - repeated int64 partitionIDs = 4; - repeated data.VchannelInfo infos = 5; - schema.CollectionSchema schema = 6; - repeated data.SegmentInfo exclude_infos = 7; - LoadMetaInfo load_meta = 8; - int64 replicaID = 9; - map segment_infos = 10; - // Deprecated - // for node down load balance, need to remove offline node in time after every watchDmChannel finish. - int64 offlineNodeID = 11; - int64 version = 12; - repeated index.IndexInfo index_info_list = 13; + common.MsgBase base = 1; + int64 nodeID = 2; + int64 collectionID = 3; + repeated int64 partitionIDs = 4; + repeated data.VchannelInfo infos = 5; + schema.CollectionSchema schema = 6; + repeated data.SegmentInfo exclude_infos = 7; + LoadMetaInfo load_meta = 8; + int64 replicaID = 9; + map segment_infos = 10; + // Deprecated + // for node down load balance, need to remove offline node in time after every watchDmChannel finish. + int64 offlineNodeID = 11; + int64 version = 12; + repeated index.IndexInfo index_info_list = 13; } message UnsubDmChannelRequest { @@ -246,423 +341,541 @@ message UnsubDmChannelRequest { } message SegmentLoadInfo { - int64 segmentID = 1; - int64 partitionID = 2; - int64 collectionID = 3; - int64 dbID = 4; - int64 flush_time = 5; - repeated data.FieldBinlog binlog_paths = 6; - int64 num_of_rows = 7; - repeated data.FieldBinlog statslogs = 8; - repeated data.FieldBinlog deltalogs = 9; - repeated int64 compactionFrom = 10; // segmentIDs compacted from - repeated FieldIndexInfo index_infos = 11; - int64 segment_size = 12; - string insert_channel = 13; - msg.MsgPosition start_position = 14; - msg.MsgPosition delta_position = 15; - int64 readableVersion = 16; - data.SegmentLevel level = 17; + int64 segmentID = 1; + int64 partitionID = 2; + int64 collectionID = 3; + int64 dbID = 4; + int64 flush_time = 5; + repeated data.FieldBinlog binlog_paths = 6; + int64 num_of_rows = 7; + repeated data.FieldBinlog statslogs = 8; + repeated data.FieldBinlog deltalogs = 9; + repeated int64 compactionFrom = 10; // segmentIDs compacted from + repeated FieldIndexInfo index_infos = 11; + int64 segment_size = 12 [deprecated = true]; + string insert_channel = 13; + msg.MsgPosition start_position = 14; + msg.MsgPosition delta_position = 15; + int64 readableVersion = 16; + data.SegmentLevel level = 17; + int64 storageVersion = 18; } message FieldIndexInfo { - int64 fieldID =1; - // deprecated - bool enable_index = 2; - string index_name = 3; - int64 indexID = 4; - int64 buildID = 5; - repeated common.KeyValuePair index_params = 6; - repeated string index_file_paths = 7; - int64 index_size = 8; - int64 index_version = 9; - int64 num_rows = 10; - int32 current_index_version = 11; + int64 fieldID = 1; + // deprecated + bool enable_index = 2; + string index_name = 3; + int64 indexID = 4; + int64 buildID = 5; + repeated common.KeyValuePair index_params = 6; + repeated string index_file_paths = 7; + int64 index_size = 8; + int64 index_version = 9; + int64 num_rows = 10; + int32 current_index_version = 11; + int64 index_store_version = 12; } enum LoadScope { - Full = 0; - Delta = 1; - Index = 2; + Full = 0; + Delta = 1; + Index = 2; } message LoadSegmentsRequest { - common.MsgBase base = 1; - int64 dst_nodeID = 2; - repeated SegmentLoadInfo infos = 3; - schema.CollectionSchema schema = 4; - int64 source_nodeID = 5; - int64 collectionID = 6; - LoadMetaInfo load_meta = 7; - int64 replicaID = 8; - repeated msg.MsgPosition delta_positions = 9; // keep it for compatibility of rolling upgrade from 2.2.x to 2.3 - int64 version = 10; - bool need_transfer = 11; - LoadScope load_scope = 12; - repeated index.IndexInfo index_info_list = 13; + common.MsgBase base = 1; + int64 dst_nodeID = 2; + repeated SegmentLoadInfo infos = 3; + schema.CollectionSchema schema = 4; + int64 source_nodeID = 5; + int64 collectionID = 6; + LoadMetaInfo load_meta = 7; + int64 replicaID = 8; + repeated msg.MsgPosition delta_positions = + 9; // keep it for compatibility of rolling upgrade from 2.2.x to 2.3 + int64 version = 10; + bool need_transfer = 11; + LoadScope load_scope = 12; + repeated index.IndexInfo index_info_list = 13; + bool lazy_load = 14; } message ReleaseSegmentsRequest { - common.MsgBase base = 1; - int64 nodeID = 2; - // Not useful for now - int64 dbID = 3; - int64 collectionID = 4; - repeated int64 partitionIDs = 5; - repeated int64 segmentIDs = 6; - DataScope scope = 7; // All, Streaming, Historical - string shard = 8; - bool need_transfer = 11; + common.MsgBase base = 1; + int64 nodeID = 2; + // Not useful for now + int64 dbID = 3; + int64 collectionID = 4; + repeated int64 partitionIDs = 5; + repeated int64 segmentIDs = 6; + DataScope scope = 7; // All, Streaming, Historical + string shard = 8; + bool need_transfer = 11; + msg.MsgPosition checkpoint = 12; // channel's check point } message SearchRequest { - internal.SearchRequest req = 1; - repeated string dml_channels = 2; - repeated int64 segmentIDs = 3; - bool from_shard_leader = 4; - DataScope scope = 5; // All, Streaming, Historical - int32 total_channel_num = 6; + internal.SearchRequest req = 1; + repeated string dml_channels = 2; + repeated int64 segmentIDs = 3; + bool from_shard_leader = 4; + DataScope scope = 5; // All, Streaming, Historical + int32 total_channel_num = 6; } message QueryRequest { - internal.RetrieveRequest req = 1; - repeated string dml_channels = 2; - repeated int64 segmentIDs = 3; - bool from_shard_leader = 4; - DataScope scope = 5; // All, Streaming, Historical + internal.RetrieveRequest req = 1; + repeated string dml_channels = 2; + repeated int64 segmentIDs = 3; + bool from_shard_leader = 4; + DataScope scope = 5; // All, Streaming, Historical } message SyncReplicaSegmentsRequest { - common.MsgBase base = 1; - string vchannel_name = 2; - repeated ReplicaSegmentsInfo replica_segments = 3; + common.MsgBase base = 1; + string vchannel_name = 2; + repeated ReplicaSegmentsInfo replica_segments = 3; } message ReplicaSegmentsInfo { - int64 node_id = 1; - int64 partition_id = 2; - repeated int64 segment_ids = 3; - repeated int64 versions = 4; + int64 node_id = 1; + int64 partition_id = 2; + repeated int64 segment_ids = 3; + repeated int64 versions = 4; } message GetLoadInfoRequest { - common.MsgBase base = 1; - int64 collection_id = 2; + common.MsgBase base = 1; + int64 collection_id = 2; } message GetLoadInfoResponse { - common.Status status = 1; - schema.CollectionSchema schema = 2; - LoadType load_type = 3; - repeated int64 partitions = 4; + common.Status status = 1; + schema.CollectionSchema schema = 2; + LoadType load_type = 3; + repeated int64 partitions = 4; } // ----------------request auto triggered by QueryCoord----------------- message HandoffSegmentsRequest { - common.MsgBase base = 1; - repeated SegmentInfo segmentInfos = 2; - repeated int64 released_segments = 3; + common.MsgBase base = 1; + repeated SegmentInfo segmentInfos = 2; + repeated int64 released_segments = 3; } message LoadBalanceRequest { - common.MsgBase base = 1; - repeated int64 source_nodeIDs = 2; - TriggerCondition balance_reason = 3; - repeated int64 dst_nodeIDs = 4; - repeated int64 sealed_segmentIDs = 5; - int64 collectionID = 6; + common.MsgBase base = 1; + repeated int64 source_nodeIDs = 2; + TriggerCondition balance_reason = 3; + repeated int64 dst_nodeIDs = 4; + repeated int64 sealed_segmentIDs = 5; + int64 collectionID = 6; } // -------------------- internal meta proto------------------ enum DataScope { - UnKnown = 0; - All = 1; - Streaming = 2; - Historical = 3; + UnKnown = 0; + All = 1; + Streaming = 2; + Historical = 3; } enum PartitionState { - NotExist = 0; - NotPresent = 1; - OnDisk = 2; - PartialInMemory = 3; - InMemory = 4; - PartialInGPU = 5; - InGPU = 6; + NotExist = 0; + NotPresent = 1; + OnDisk = 2; + PartialInMemory = 3; + InMemory = 4; + PartialInGPU = 5; + InGPU = 6; } enum TriggerCondition { - UnKnowCondition = 0; - Handoff = 1; - LoadBalance = 2; - GrpcRequest = 3; - NodeDown = 4; + UnKnowCondition = 0; + Handoff = 1; + LoadBalance = 2; + GrpcRequest = 3; + NodeDown = 4; } enum LoadType { - UnKnownType = 0; - LoadPartition = 1; - LoadCollection = 2; + UnKnownType = 0; + LoadPartition = 1; + LoadCollection = 2; } message DmChannelWatchInfo { - int64 collectionID = 1; - string dmChannel = 2; - int64 nodeID_loaded = 3; - int64 replicaID = 4; - repeated int64 node_ids = 5; + int64 collectionID = 1; + string dmChannel = 2; + int64 nodeID_loaded = 3; + int64 replicaID = 4; + repeated int64 node_ids = 5; } message QueryChannelInfo { - int64 collectionID = 1; - string query_channel = 2; - string query_result_channel = 3; - repeated SegmentInfo global_sealed_segments = 4; - msg.MsgPosition seek_position = 5; + int64 collectionID = 1; + string query_channel = 2; + string query_result_channel = 3; + repeated SegmentInfo global_sealed_segments = 4; + msg.MsgPosition seek_position = 5; } message PartitionStates { - int64 partitionID = 1; - PartitionState state = 2; - int64 inMemory_percentage = 3; + int64 partitionID = 1; + PartitionState state = 2; + int64 inMemory_percentage = 3; } message SegmentInfo { - int64 segmentID = 1; - int64 collectionID = 2; - int64 partitionID = 3; - // deprecated, check node_ids(NodeIds) field - int64 nodeID = 4; - int64 mem_size = 5; - int64 num_rows = 6; - string index_name = 7; - int64 indexID = 8; - string dmChannel = 9; - repeated int64 compactionFrom = 10; - bool createdByCompaction = 11; - common.SegmentState segment_state = 12; - repeated FieldIndexInfo index_infos = 13; - repeated int64 replica_ids = 14; - repeated int64 node_ids = 15; - bool enable_index = 16; - bool is_fake = 17; + int64 segmentID = 1; + int64 collectionID = 2; + int64 partitionID = 3; + // deprecated, check node_ids(NodeIds) field + int64 nodeID = 4; + int64 mem_size = 5; + int64 num_rows = 6; + string index_name = 7; + int64 indexID = 8; + string dmChannel = 9; + repeated int64 compactionFrom = 10; + bool createdByCompaction = 11; + common.SegmentState segment_state = 12; + repeated FieldIndexInfo index_infos = 13; + repeated int64 replica_ids = 14; + repeated int64 node_ids = 15; + bool enable_index = 16; + bool is_fake = 17; } message CollectionInfo { - int64 collectionID = 1; - repeated int64 partitionIDs = 2; - repeated PartitionStates partition_states = 3; - LoadType load_type = 4; - schema.CollectionSchema schema = 5; - repeated int64 released_partitionIDs = 6; - int64 inMemory_percentage = 7; - repeated int64 replica_ids = 8; - int32 replica_number = 9; + int64 collectionID = 1; + repeated int64 partitionIDs = 2; + repeated PartitionStates partition_states = 3; + LoadType load_type = 4; + schema.CollectionSchema schema = 5; + repeated int64 released_partitionIDs = 6; + int64 inMemory_percentage = 7; + repeated int64 replica_ids = 8; + int32 replica_number = 9; } message UnsubscribeChannels { - int64 collectionID = 1; - repeated string channels = 2; + int64 collectionID = 1; + repeated string channels = 2; } message UnsubscribeChannelInfo { - int64 nodeID = 1; - repeated UnsubscribeChannels collection_channels = 2; + int64 nodeID = 1; + repeated UnsubscribeChannels collection_channels = 2; } // ---- synchronize messages proto between QueryCoord and QueryNode ----- message SegmentChangeInfo { - int64 online_nodeID = 1; - repeated SegmentInfo online_segments = 2; - int64 offline_nodeID = 3; - repeated SegmentInfo offline_segments = 4; + int64 online_nodeID = 1; + repeated SegmentInfo online_segments = 2; + int64 offline_nodeID = 3; + repeated SegmentInfo offline_segments = 4; } message SealedSegmentsChangeInfo { - common.MsgBase base = 1; - repeated SegmentChangeInfo infos = 2; + common.MsgBase base = 1; + repeated SegmentChangeInfo infos = 2; } message GetDataDistributionRequest { - common.MsgBase base = 1; - map checkpoints = 2; + common.MsgBase base = 1; + map checkpoints = 2; } message GetDataDistributionResponse { - common.Status status = 1; - int64 nodeID = 2; - repeated SegmentVersionInfo segments = 3; - repeated ChannelVersionInfo channels = 4; - repeated LeaderView leader_views = 5; + common.Status status = 1; + int64 nodeID = 2; + repeated SegmentVersionInfo segments = 3; + repeated ChannelVersionInfo channels = 4; + repeated LeaderView leader_views = 5; } message LeaderView { - int64 collection = 1; - string channel = 2; - map segment_dist = 3; - repeated int64 growing_segmentIDs = 4; - map growing_segments = 5; - int64 TargetVersion = 6; + int64 collection = 1; + string channel = 2; + map segment_dist = 3; + repeated int64 growing_segmentIDs = 4; + map growing_segments = 5; + int64 TargetVersion = 6; + int64 num_of_growing_rows = 7; } message SegmentDist { - int64 nodeID = 1; - int64 version = 2; + int64 nodeID = 1; + int64 version = 2; } - message SegmentVersionInfo { - int64 ID = 1; - int64 collection = 2; - int64 partition = 3; - string channel = 4; - int64 version = 5; - uint64 last_delta_timestamp = 6; - map index_info = 7; + int64 ID = 1; + int64 collection = 2; + int64 partition = 3; + string channel = 4; + int64 version = 5; + uint64 last_delta_timestamp = 6; + map index_info = 7; } message ChannelVersionInfo { - string channel = 1; - int64 collection = 2; - int64 version = 3; + string channel = 1; + int64 collection = 2; + int64 version = 3; } enum LoadStatus { - Invalid = 0; - Loading = 1; - Loaded = 2; + Invalid = 0; + Loading = 1; + Loaded = 2; } message CollectionLoadInfo { - int64 collectionID = 1; - repeated int64 released_partitions = 2; // Deprecated: No longer used; kept for compatibility. - int32 replica_number = 3; - LoadStatus status = 4; - map field_indexID = 5; - LoadType load_type = 6; - int32 recover_times = 7; + int64 collectionID = 1; + repeated int64 released_partitions = + 2; // Deprecated: No longer used; kept for compatibility. + int32 replica_number = 3; + LoadStatus status = 4; + map field_indexID = 5; + LoadType load_type = 6; + int32 recover_times = 7; } message PartitionLoadInfo { - int64 collectionID = 1; - int64 partitionID = 2; - int32 replica_number = 3; // Deprecated: No longer used; kept for compatibility. - LoadStatus status = 4; - map field_indexID = 5; // Deprecated: No longer used; kept for compatibility. - int32 recover_times = 7; + int64 collectionID = 1; + int64 partitionID = 2; + int32 replica_number = + 3; // Deprecated: No longer used; kept for compatibility. + LoadStatus status = 4; + map field_indexID = + 5; // Deprecated: No longer used; kept for compatibility. + int32 recover_times = 7; +} + +message ChannelNodeInfo { + repeated int64 rw_nodes =6; } message Replica { - int64 ID = 1; - int64 collectionID = 2; - repeated int64 nodes = 3; - string resource_group = 4; + int64 ID = 1; + int64 collectionID = 2; + repeated int64 nodes = 3; // all (read and write) nodes. mutual exclusive with ro_nodes. + string resource_group = 4; + repeated int64 ro_nodes = 5; // the in-using node but should not be assigned to these replica. + // can not load new channel or segment on it anymore. + map channel_node_infos = 6; } enum SyncType { - Remove = 0; - Set = 1; - Amend = 2; - UpdateVersion = 3; + Remove = 0; + Set = 1; + Amend = 2; + UpdateVersion = 3; } message SyncAction { - SyncType type = 1; - int64 partitionID = 2; - int64 segmentID = 3; - int64 nodeID = 4; - int64 version = 5; - SegmentLoadInfo info = 6; - repeated int64 growingInTarget = 7; - repeated int64 sealedInTarget = 8; - int64 TargetVersion = 9; - repeated int64 droppedInTarget = 10; + SyncType type = 1; + int64 partitionID = 2; + int64 segmentID = 3; + int64 nodeID = 4; + int64 version = 5; + SegmentLoadInfo info = 6; + repeated int64 growingInTarget = 7; + repeated int64 sealedInTarget = 8; + int64 TargetVersion = 9; + repeated int64 droppedInTarget = 10; + msg.MsgPosition checkpoint = 11; } message SyncDistributionRequest { - common.MsgBase base = 1; - int64 collectionID = 2; - string channel = 3; - repeated SyncAction actions = 4; - schema.CollectionSchema schema = 5; - LoadMetaInfo load_meta = 6; - int64 replicaID = 7; - int64 version = 8; + common.MsgBase base = 1; + int64 collectionID = 2; + string channel = 3; + repeated SyncAction actions = 4; + schema.CollectionSchema schema = 5; + LoadMetaInfo load_meta = 6; + int64 replicaID = 7; + int64 version = 8; + repeated index.IndexInfo index_info_list = 9; } message ResourceGroup { - string name = 1; - int32 capacity = 2; - repeated int64 nodes = 3; + string name = 1; + int32 capacity = 2 [deprecated = true]; // capacity can be found in config.requests.nodeNum and config.limits.nodeNum. + repeated int64 nodes = 3; + rg.ResourceGroupConfig config = 4; } // transfer `replicaNum` replicas in `collectionID` from `source_resource_group` to `target_resource_groups` message TransferReplicaRequest { - common.MsgBase base = 1; - string source_resource_group = 2; - string target_resource_group = 3; - int64 collectionID = 4; - int64 num_replica = 5; + common.MsgBase base = 1; + string source_resource_group = 2; + string target_resource_group = 3; + int64 collectionID = 4; + int64 num_replica = 5; } message DescribeResourceGroupRequest { - common.MsgBase base = 1; - string resource_group = 2; + common.MsgBase base = 1; + string resource_group = 2; } message DescribeResourceGroupResponse { - common.Status status = 1; - ResourceGroupInfo resource_group = 2; + common.Status status = 1; + ResourceGroupInfo resource_group = 2; } message ResourceGroupInfo { - string name = 1; - int32 capacity = 2; - int32 num_available_node = 3; - // collection id -> loaded replica num - map num_loaded_replica = 4; - // collection id -> accessed other rg's node num - map num_outgoing_node = 5; - // collection id -> be accessed node num by other rg - map num_incoming_node = 6; + string name = 1; + int32 capacity = 2 [deprecated = true]; // capacity can be found in config.requests.nodeNum and config.limits.nodeNum. + int32 num_available_node = 3; + // collection id -> loaded replica num + map num_loaded_replica = 4; + // collection id -> accessed other rg's node num + map num_outgoing_node = 5; + // collection id -> be accessed node num by other rg + map num_incoming_node = 6; + // resource group configuration. + rg.ResourceGroupConfig config = 7; + repeated common.NodeInfo nodes = 8; } + message DeleteRequest { - common.MsgBase base = 1; - int64 collection_id = 2; - int64 partition_id = 3; - string vchannel_name = 4; - int64 segment_id = 5; - schema.IDs primary_keys = 6; - repeated uint64 timestamps = 7; + common.MsgBase base = 1; + int64 collection_id = 2; + int64 partition_id = 3; + string vchannel_name = 4; + int64 segment_id = 5; + schema.IDs primary_keys = 6; + repeated uint64 timestamps = 7; + DataScope scope = 8; } message ActivateCheckerRequest { - common.MsgBase base = 1; - int32 checkerID = 2; + common.MsgBase base = 1; + int32 checkerID = 2; } message DeactivateCheckerRequest { - common.MsgBase base = 1; - int32 checkerID = 2; + common.MsgBase base = 1; + int32 checkerID = 2; } message ListCheckersRequest { - common.MsgBase base = 1; - repeated int32 checkerIDs = 2; + common.MsgBase base = 1; + repeated int32 checkerIDs = 2; } message ListCheckersResponse { - common.Status status = 1; - repeated CheckerInfo checkerInfos = 2; + common.Status status = 1; + repeated CheckerInfo checkerInfos = 2; } - + message CheckerInfo { - int32 id = 1; - string desc = 2; - bool activated = 3; - bool found = 4; + int32 id = 1; + string desc = 2; + bool activated = 3; + bool found = 4; +} + +message SegmentTarget { + int64 ID = 1; + data.SegmentLevel level = 2; +} + +message PartitionTarget { + int64 partitionID = 1; + repeated SegmentTarget segments = 2; +} + +message ChannelTarget { + string channelName = 1; + repeated int64 dropped_segmentIDs = 2; + repeated int64 growing_segmentIDs = 3; + repeated PartitionTarget partition_targets = 4; + msg.MsgPosition seek_position = 5; +} + +message CollectionTarget { + int64 collectionID = 1; + repeated ChannelTarget Channel_targets = 2; + int64 version = 3; } +message NodeInfo { + int64 ID = 2; + string address = 3; + string state = 4; +} + +message ListQueryNodeRequest { + common.MsgBase base = 1; +} + +message ListQueryNodeResponse { + common.Status status = 1; + repeated NodeInfo nodeInfos = 2; +} + +message GetQueryNodeDistributionRequest { + common.MsgBase base = 1; + int64 nodeID = 2; +} + +message GetQueryNodeDistributionResponse { + common.Status status = 1; + int64 ID = 2; + repeated string channel_names = 3; + repeated int64 sealed_segmentIDs = 4; +} + +message SuspendBalanceRequest { + common.MsgBase base = 1; +} + +message ResumeBalanceRequest { + common.MsgBase base = 1; +} + +message SuspendNodeRequest { + common.MsgBase base = 1; + int64 nodeID = 2; +} + +message ResumeNodeRequest { + common.MsgBase base = 1; + int64 nodeID = 2; +} + +message TransferSegmentRequest { + common.MsgBase base = 1; + int64 segmentID = 2; + int64 source_nodeID = 3; + int64 target_nodeID = 4; + bool transfer_all = 5; + bool to_all_nodes = 6; + bool copy_mode = 7; +} + +message TransferChannelRequest { + common.MsgBase base = 1; + string channel_name = 2; + int64 source_nodeID = 3; + int64 target_nodeID = 4; + bool transfer_all = 5; + bool to_all_nodes = 6; + bool copy_mode = 7; +} + +message CheckQueryNodeDistributionRequest { + common.MsgBase base = 1; + int64 source_nodeID = 3; + int64 target_nodeID = 4; +} + diff --git a/proto/v2.2/querypb/query_coord.pb.go b/proto/v2.2/querypb/query_coord.pb.go index b279ba0..3712b76 100644 --- a/proto/v2.2/querypb/query_coord.pb.go +++ b/proto/v2.2/querypb/query_coord.pb.go @@ -13,6 +13,7 @@ import ( internalpb "github.com/milvus-io/birdwatcher/proto/v2.2/internalpb" milvuspb "github.com/milvus-io/birdwatcher/proto/v2.2/milvuspb" msgpb "github.com/milvus-io/birdwatcher/proto/v2.2/msgpb" + rgpb "github.com/milvus-io/birdwatcher/proto/v2.2/rgpb" schemapb "github.com/milvus-io/birdwatcher/proto/v2.2/schemapb" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -1225,6 +1226,53 @@ func (m *GetShardLeadersResponse) GetShards() []*ShardLeadersList { return nil } +type UpdateResourceGroupsRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + ResourceGroups map[string]*rgpb.ResourceGroupConfig `protobuf:"bytes,2,rep,name=resource_groups,json=resourceGroups,proto3" json:"resource_groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateResourceGroupsRequest) Reset() { *m = UpdateResourceGroupsRequest{} } +func (m *UpdateResourceGroupsRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateResourceGroupsRequest) ProtoMessage() {} +func (*UpdateResourceGroupsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{15} +} + +func (m *UpdateResourceGroupsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateResourceGroupsRequest.Unmarshal(m, b) +} +func (m *UpdateResourceGroupsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateResourceGroupsRequest.Marshal(b, m, deterministic) +} +func (m *UpdateResourceGroupsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateResourceGroupsRequest.Merge(m, src) +} +func (m *UpdateResourceGroupsRequest) XXX_Size() int { + return xxx_messageInfo_UpdateResourceGroupsRequest.Size(m) +} +func (m *UpdateResourceGroupsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateResourceGroupsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateResourceGroupsRequest proto.InternalMessageInfo + +func (m *UpdateResourceGroupsRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *UpdateResourceGroupsRequest) GetResourceGroups() map[string]*rgpb.ResourceGroupConfig { + if m != nil { + return m.ResourceGroups + } + return nil +} + type ShardLeadersList struct { ChannelName string `protobuf:"bytes,1,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` NodeIds []int64 `protobuf:"varint,2,rep,packed,name=node_ids,json=nodeIds,proto3" json:"node_ids,omitempty"` @@ -1238,7 +1286,7 @@ func (m *ShardLeadersList) Reset() { *m = ShardLeadersList{} } func (m *ShardLeadersList) String() string { return proto.CompactTextString(m) } func (*ShardLeadersList) ProtoMessage() {} func (*ShardLeadersList) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{15} + return fileDescriptor_aab7cc9a69ed26e8, []int{16} } func (m *ShardLeadersList) XXX_Unmarshal(b []byte) error { @@ -1293,7 +1341,7 @@ func (m *SyncNewCreatedPartitionRequest) Reset() { *m = SyncNewCreatedPa func (m *SyncNewCreatedPartitionRequest) String() string { return proto.CompactTextString(m) } func (*SyncNewCreatedPartitionRequest) ProtoMessage() {} func (*SyncNewCreatedPartitionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{16} + return fileDescriptor_aab7cc9a69ed26e8, []int{17} } func (m *SyncNewCreatedPartitionRequest) XXX_Unmarshal(b []byte) error { @@ -1339,7 +1387,9 @@ type LoadMetaInfo struct { LoadType LoadType `protobuf:"varint,1,opt,name=load_type,json=loadType,proto3,enum=milvus.protov2.query.LoadType" json:"load_type,omitempty"` CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` PartitionIDs []int64 `protobuf:"varint,3,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` - MetricType string `protobuf:"bytes,4,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` + MetricType string `protobuf:"bytes,4,opt,name=metric_type,json=metricType,proto3" json:"metric_type,omitempty"` // Deprecated: Do not use. + DbName string `protobuf:"bytes,5,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + ResourceGroup string `protobuf:"bytes,6,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1349,7 +1399,7 @@ func (m *LoadMetaInfo) Reset() { *m = LoadMetaInfo{} } func (m *LoadMetaInfo) String() string { return proto.CompactTextString(m) } func (*LoadMetaInfo) ProtoMessage() {} func (*LoadMetaInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{17} + return fileDescriptor_aab7cc9a69ed26e8, []int{18} } func (m *LoadMetaInfo) XXX_Unmarshal(b []byte) error { @@ -1391,6 +1441,7 @@ func (m *LoadMetaInfo) GetPartitionIDs() []int64 { return nil } +// Deprecated: Do not use. func (m *LoadMetaInfo) GetMetricType() string { if m != nil { return m.MetricType @@ -1398,6 +1449,20 @@ func (m *LoadMetaInfo) GetMetricType() string { return "" } +func (m *LoadMetaInfo) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *LoadMetaInfo) GetResourceGroup() string { + if m != nil { + return m.ResourceGroup + } + return "" +} + type WatchDmChannelsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` @@ -1423,7 +1488,7 @@ func (m *WatchDmChannelsRequest) Reset() { *m = WatchDmChannelsRequest{} func (m *WatchDmChannelsRequest) String() string { return proto.CompactTextString(m) } func (*WatchDmChannelsRequest) ProtoMessage() {} func (*WatchDmChannelsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{18} + return fileDescriptor_aab7cc9a69ed26e8, []int{19} } func (m *WatchDmChannelsRequest) XXX_Unmarshal(b []byte) error { @@ -1549,7 +1614,7 @@ func (m *UnsubDmChannelRequest) Reset() { *m = UnsubDmChannelRequest{} } func (m *UnsubDmChannelRequest) String() string { return proto.CompactTextString(m) } func (*UnsubDmChannelRequest) ProtoMessage() {} func (*UnsubDmChannelRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{19} + return fileDescriptor_aab7cc9a69ed26e8, []int{20} } func (m *UnsubDmChannelRequest) XXX_Unmarshal(b []byte) error { @@ -1610,12 +1675,13 @@ type SegmentLoadInfo struct { Deltalogs []*datapb.FieldBinlog `protobuf:"bytes,9,rep,name=deltalogs,proto3" json:"deltalogs,omitempty"` CompactionFrom []int64 `protobuf:"varint,10,rep,packed,name=compactionFrom,proto3" json:"compactionFrom,omitempty"` IndexInfos []*FieldIndexInfo `protobuf:"bytes,11,rep,name=index_infos,json=indexInfos,proto3" json:"index_infos,omitempty"` - SegmentSize int64 `protobuf:"varint,12,opt,name=segment_size,json=segmentSize,proto3" json:"segment_size,omitempty"` + SegmentSize int64 `protobuf:"varint,12,opt,name=segment_size,json=segmentSize,proto3" json:"segment_size,omitempty"` // Deprecated: Do not use. InsertChannel string `protobuf:"bytes,13,opt,name=insert_channel,json=insertChannel,proto3" json:"insert_channel,omitempty"` StartPosition *msgpb.MsgPosition `protobuf:"bytes,14,opt,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"` DeltaPosition *msgpb.MsgPosition `protobuf:"bytes,15,opt,name=delta_position,json=deltaPosition,proto3" json:"delta_position,omitempty"` ReadableVersion int64 `protobuf:"varint,16,opt,name=readableVersion,proto3" json:"readableVersion,omitempty"` Level datapb.SegmentLevel `protobuf:"varint,17,opt,name=level,proto3,enum=milvus.protov2.data.SegmentLevel" json:"level,omitempty"` + StorageVersion int64 `protobuf:"varint,18,opt,name=storageVersion,proto3" json:"storageVersion,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1625,7 +1691,7 @@ func (m *SegmentLoadInfo) Reset() { *m = SegmentLoadInfo{} } func (m *SegmentLoadInfo) String() string { return proto.CompactTextString(m) } func (*SegmentLoadInfo) ProtoMessage() {} func (*SegmentLoadInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{20} + return fileDescriptor_aab7cc9a69ed26e8, []int{21} } func (m *SegmentLoadInfo) XXX_Unmarshal(b []byte) error { @@ -1723,6 +1789,7 @@ func (m *SegmentLoadInfo) GetIndexInfos() []*FieldIndexInfo { return nil } +// Deprecated: Do not use. func (m *SegmentLoadInfo) GetSegmentSize() int64 { if m != nil { return m.SegmentSize @@ -1765,6 +1832,13 @@ func (m *SegmentLoadInfo) GetLevel() datapb.SegmentLevel { return datapb.SegmentLevel_Legacy } +func (m *SegmentLoadInfo) GetStorageVersion() int64 { + if m != nil { + return m.StorageVersion + } + return 0 +} + type FieldIndexInfo struct { FieldID int64 `protobuf:"varint,1,opt,name=fieldID,proto3" json:"fieldID,omitempty"` // deprecated @@ -1778,6 +1852,7 @@ type FieldIndexInfo struct { IndexVersion int64 `protobuf:"varint,9,opt,name=index_version,json=indexVersion,proto3" json:"index_version,omitempty"` NumRows int64 `protobuf:"varint,10,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"` CurrentIndexVersion int32 `protobuf:"varint,11,opt,name=current_index_version,json=currentIndexVersion,proto3" json:"current_index_version,omitempty"` + IndexStoreVersion int64 `protobuf:"varint,12,opt,name=index_store_version,json=indexStoreVersion,proto3" json:"index_store_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1787,7 +1862,7 @@ func (m *FieldIndexInfo) Reset() { *m = FieldIndexInfo{} } func (m *FieldIndexInfo) String() string { return proto.CompactTextString(m) } func (*FieldIndexInfo) ProtoMessage() {} func (*FieldIndexInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{21} + return fileDescriptor_aab7cc9a69ed26e8, []int{22} } func (m *FieldIndexInfo) XXX_Unmarshal(b []byte) error { @@ -1885,6 +1960,13 @@ func (m *FieldIndexInfo) GetCurrentIndexVersion() int32 { return 0 } +func (m *FieldIndexInfo) GetIndexStoreVersion() int64 { + if m != nil { + return m.IndexStoreVersion + } + return 0 +} + type LoadSegmentsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` DstNodeID int64 `protobuf:"varint,2,opt,name=dst_nodeID,json=dstNodeID,proto3" json:"dst_nodeID,omitempty"` @@ -1899,6 +1981,7 @@ type LoadSegmentsRequest struct { NeedTransfer bool `protobuf:"varint,11,opt,name=need_transfer,json=needTransfer,proto3" json:"need_transfer,omitempty"` LoadScope LoadScope `protobuf:"varint,12,opt,name=load_scope,json=loadScope,proto3,enum=milvus.protov2.query.LoadScope" json:"load_scope,omitempty"` IndexInfoList []*indexpb.IndexInfo `protobuf:"bytes,13,rep,name=index_info_list,json=indexInfoList,proto3" json:"index_info_list,omitempty"` + LazyLoad bool `protobuf:"varint,14,opt,name=lazy_load,json=lazyLoad,proto3" json:"lazy_load,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1908,7 +1991,7 @@ func (m *LoadSegmentsRequest) Reset() { *m = LoadSegmentsRequest{} } func (m *LoadSegmentsRequest) String() string { return proto.CompactTextString(m) } func (*LoadSegmentsRequest) ProtoMessage() {} func (*LoadSegmentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{22} + return fileDescriptor_aab7cc9a69ed26e8, []int{23} } func (m *LoadSegmentsRequest) XXX_Unmarshal(b []byte) error { @@ -2020,27 +2103,35 @@ func (m *LoadSegmentsRequest) GetIndexInfoList() []*indexpb.IndexInfo { return nil } +func (m *LoadSegmentsRequest) GetLazyLoad() bool { + if m != nil { + return m.LazyLoad + } + return false +} + type ReleaseSegmentsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` // Not useful for now - DbID int64 `protobuf:"varint,3,opt,name=dbID,proto3" json:"dbID,omitempty"` - CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` - SegmentIDs []int64 `protobuf:"varint,6,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` - Scope DataScope `protobuf:"varint,7,opt,name=scope,proto3,enum=milvus.protov2.query.DataScope" json:"scope,omitempty"` - Shard string `protobuf:"bytes,8,opt,name=shard,proto3" json:"shard,omitempty"` - NeedTransfer bool `protobuf:"varint,11,opt,name=need_transfer,json=needTransfer,proto3" json:"need_transfer,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + DbID int64 `protobuf:"varint,3,opt,name=dbID,proto3" json:"dbID,omitempty"` + CollectionID int64 `protobuf:"varint,4,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + PartitionIDs []int64 `protobuf:"varint,5,rep,packed,name=partitionIDs,proto3" json:"partitionIDs,omitempty"` + SegmentIDs []int64 `protobuf:"varint,6,rep,packed,name=segmentIDs,proto3" json:"segmentIDs,omitempty"` + Scope DataScope `protobuf:"varint,7,opt,name=scope,proto3,enum=milvus.protov2.query.DataScope" json:"scope,omitempty"` + Shard string `protobuf:"bytes,8,opt,name=shard,proto3" json:"shard,omitempty"` + NeedTransfer bool `protobuf:"varint,11,opt,name=need_transfer,json=needTransfer,proto3" json:"need_transfer,omitempty"` + Checkpoint *msgpb.MsgPosition `protobuf:"bytes,12,opt,name=checkpoint,proto3" json:"checkpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ReleaseSegmentsRequest) Reset() { *m = ReleaseSegmentsRequest{} } func (m *ReleaseSegmentsRequest) String() string { return proto.CompactTextString(m) } func (*ReleaseSegmentsRequest) ProtoMessage() {} func (*ReleaseSegmentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{23} + return fileDescriptor_aab7cc9a69ed26e8, []int{24} } func (m *ReleaseSegmentsRequest) XXX_Unmarshal(b []byte) error { @@ -2124,6 +2215,13 @@ func (m *ReleaseSegmentsRequest) GetNeedTransfer() bool { return false } +func (m *ReleaseSegmentsRequest) GetCheckpoint() *msgpb.MsgPosition { + if m != nil { + return m.Checkpoint + } + return nil +} + type SearchRequest struct { Req *internalpb.SearchRequest `protobuf:"bytes,1,opt,name=req,proto3" json:"req,omitempty"` DmlChannels []string `protobuf:"bytes,2,rep,name=dml_channels,json=dmlChannels,proto3" json:"dml_channels,omitempty"` @@ -2140,7 +2238,7 @@ func (m *SearchRequest) Reset() { *m = SearchRequest{} } func (m *SearchRequest) String() string { return proto.CompactTextString(m) } func (*SearchRequest) ProtoMessage() {} func (*SearchRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{24} + return fileDescriptor_aab7cc9a69ed26e8, []int{25} } func (m *SearchRequest) XXX_Unmarshal(b []byte) error { @@ -2218,7 +2316,7 @@ func (m *QueryRequest) Reset() { *m = QueryRequest{} } func (m *QueryRequest) String() string { return proto.CompactTextString(m) } func (*QueryRequest) ProtoMessage() {} func (*QueryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{25} + return fileDescriptor_aab7cc9a69ed26e8, []int{26} } func (m *QueryRequest) XXX_Unmarshal(b []byte) error { @@ -2287,7 +2385,7 @@ func (m *SyncReplicaSegmentsRequest) Reset() { *m = SyncReplicaSegmentsR func (m *SyncReplicaSegmentsRequest) String() string { return proto.CompactTextString(m) } func (*SyncReplicaSegmentsRequest) ProtoMessage() {} func (*SyncReplicaSegmentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{26} + return fileDescriptor_aab7cc9a69ed26e8, []int{27} } func (m *SyncReplicaSegmentsRequest) XXX_Unmarshal(b []byte) error { @@ -2343,7 +2441,7 @@ func (m *ReplicaSegmentsInfo) Reset() { *m = ReplicaSegmentsInfo{} } func (m *ReplicaSegmentsInfo) String() string { return proto.CompactTextString(m) } func (*ReplicaSegmentsInfo) ProtoMessage() {} func (*ReplicaSegmentsInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{27} + return fileDescriptor_aab7cc9a69ed26e8, []int{28} } func (m *ReplicaSegmentsInfo) XXX_Unmarshal(b []byte) error { @@ -2404,7 +2502,7 @@ func (m *GetLoadInfoRequest) Reset() { *m = GetLoadInfoRequest{} } func (m *GetLoadInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetLoadInfoRequest) ProtoMessage() {} func (*GetLoadInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{28} + return fileDescriptor_aab7cc9a69ed26e8, []int{29} } func (m *GetLoadInfoRequest) XXX_Unmarshal(b []byte) error { @@ -2453,7 +2551,7 @@ func (m *GetLoadInfoResponse) Reset() { *m = GetLoadInfoResponse{} } func (m *GetLoadInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetLoadInfoResponse) ProtoMessage() {} func (*GetLoadInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{29} + return fileDescriptor_aab7cc9a69ed26e8, []int{30} } func (m *GetLoadInfoResponse) XXX_Unmarshal(b []byte) error { @@ -2515,7 +2613,7 @@ func (m *HandoffSegmentsRequest) Reset() { *m = HandoffSegmentsRequest{} func (m *HandoffSegmentsRequest) String() string { return proto.CompactTextString(m) } func (*HandoffSegmentsRequest) ProtoMessage() {} func (*HandoffSegmentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{30} + return fileDescriptor_aab7cc9a69ed26e8, []int{31} } func (m *HandoffSegmentsRequest) XXX_Unmarshal(b []byte) error { @@ -2573,7 +2671,7 @@ func (m *LoadBalanceRequest) Reset() { *m = LoadBalanceRequest{} } func (m *LoadBalanceRequest) String() string { return proto.CompactTextString(m) } func (*LoadBalanceRequest) ProtoMessage() {} func (*LoadBalanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{31} + return fileDescriptor_aab7cc9a69ed26e8, []int{32} } func (m *LoadBalanceRequest) XXX_Unmarshal(b []byte) error { @@ -2651,7 +2749,7 @@ func (m *DmChannelWatchInfo) Reset() { *m = DmChannelWatchInfo{} } func (m *DmChannelWatchInfo) String() string { return proto.CompactTextString(m) } func (*DmChannelWatchInfo) ProtoMessage() {} func (*DmChannelWatchInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{32} + return fileDescriptor_aab7cc9a69ed26e8, []int{33} } func (m *DmChannelWatchInfo) XXX_Unmarshal(b []byte) error { @@ -2722,7 +2820,7 @@ func (m *QueryChannelInfo) Reset() { *m = QueryChannelInfo{} } func (m *QueryChannelInfo) String() string { return proto.CompactTextString(m) } func (*QueryChannelInfo) ProtoMessage() {} func (*QueryChannelInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{33} + return fileDescriptor_aab7cc9a69ed26e8, []int{34} } func (m *QueryChannelInfo) XXX_Unmarshal(b []byte) error { @@ -2791,7 +2889,7 @@ func (m *PartitionStates) Reset() { *m = PartitionStates{} } func (m *PartitionStates) String() string { return proto.CompactTextString(m) } func (*PartitionStates) ProtoMessage() {} func (*PartitionStates) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{34} + return fileDescriptor_aab7cc9a69ed26e8, []int{35} } func (m *PartitionStates) XXX_Unmarshal(b []byte) error { @@ -2861,7 +2959,7 @@ func (m *SegmentInfo) Reset() { *m = SegmentInfo{} } func (m *SegmentInfo) String() string { return proto.CompactTextString(m) } func (*SegmentInfo) ProtoMessage() {} func (*SegmentInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{35} + return fileDescriptor_aab7cc9a69ed26e8, []int{36} } func (m *SegmentInfo) XXX_Unmarshal(b []byte) error { @@ -3020,7 +3118,7 @@ func (m *CollectionInfo) Reset() { *m = CollectionInfo{} } func (m *CollectionInfo) String() string { return proto.CompactTextString(m) } func (*CollectionInfo) ProtoMessage() {} func (*CollectionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{36} + return fileDescriptor_aab7cc9a69ed26e8, []int{37} } func (m *CollectionInfo) XXX_Unmarshal(b []byte) error { @@ -3116,7 +3214,7 @@ func (m *UnsubscribeChannels) Reset() { *m = UnsubscribeChannels{} } func (m *UnsubscribeChannels) String() string { return proto.CompactTextString(m) } func (*UnsubscribeChannels) ProtoMessage() {} func (*UnsubscribeChannels) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{37} + return fileDescriptor_aab7cc9a69ed26e8, []int{38} } func (m *UnsubscribeChannels) XXX_Unmarshal(b []byte) error { @@ -3163,7 +3261,7 @@ func (m *UnsubscribeChannelInfo) Reset() { *m = UnsubscribeChannelInfo{} func (m *UnsubscribeChannelInfo) String() string { return proto.CompactTextString(m) } func (*UnsubscribeChannelInfo) ProtoMessage() {} func (*UnsubscribeChannelInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{38} + return fileDescriptor_aab7cc9a69ed26e8, []int{39} } func (m *UnsubscribeChannelInfo) XXX_Unmarshal(b []byte) error { @@ -3212,7 +3310,7 @@ func (m *SegmentChangeInfo) Reset() { *m = SegmentChangeInfo{} } func (m *SegmentChangeInfo) String() string { return proto.CompactTextString(m) } func (*SegmentChangeInfo) ProtoMessage() {} func (*SegmentChangeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{39} + return fileDescriptor_aab7cc9a69ed26e8, []int{40} } func (m *SegmentChangeInfo) XXX_Unmarshal(b []byte) error { @@ -3273,7 +3371,7 @@ func (m *SealedSegmentsChangeInfo) Reset() { *m = SealedSegmentsChangeIn func (m *SealedSegmentsChangeInfo) String() string { return proto.CompactTextString(m) } func (*SealedSegmentsChangeInfo) ProtoMessage() {} func (*SealedSegmentsChangeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{40} + return fileDescriptor_aab7cc9a69ed26e8, []int{41} } func (m *SealedSegmentsChangeInfo) XXX_Unmarshal(b []byte) error { @@ -3320,7 +3418,7 @@ func (m *GetDataDistributionRequest) Reset() { *m = GetDataDistributionR func (m *GetDataDistributionRequest) String() string { return proto.CompactTextString(m) } func (*GetDataDistributionRequest) ProtoMessage() {} func (*GetDataDistributionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{41} + return fileDescriptor_aab7cc9a69ed26e8, []int{42} } func (m *GetDataDistributionRequest) XXX_Unmarshal(b []byte) error { @@ -3370,7 +3468,7 @@ func (m *GetDataDistributionResponse) Reset() { *m = GetDataDistribution func (m *GetDataDistributionResponse) String() string { return proto.CompactTextString(m) } func (*GetDataDistributionResponse) ProtoMessage() {} func (*GetDataDistributionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{42} + return fileDescriptor_aab7cc9a69ed26e8, []int{43} } func (m *GetDataDistributionResponse) XXX_Unmarshal(b []byte) error { @@ -3433,6 +3531,7 @@ type LeaderView struct { GrowingSegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=growing_segmentIDs,json=growingSegmentIDs,proto3" json:"growing_segmentIDs,omitempty"` GrowingSegments map[int64]*msgpb.MsgPosition `protobuf:"bytes,5,rep,name=growing_segments,json=growingSegments,proto3" json:"growing_segments,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` TargetVersion int64 `protobuf:"varint,6,opt,name=TargetVersion,proto3" json:"TargetVersion,omitempty"` + NumOfGrowingRows int64 `protobuf:"varint,7,opt,name=num_of_growing_rows,json=numOfGrowingRows,proto3" json:"num_of_growing_rows,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3442,7 +3541,7 @@ func (m *LeaderView) Reset() { *m = LeaderView{} } func (m *LeaderView) String() string { return proto.CompactTextString(m) } func (*LeaderView) ProtoMessage() {} func (*LeaderView) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{43} + return fileDescriptor_aab7cc9a69ed26e8, []int{44} } func (m *LeaderView) XXX_Unmarshal(b []byte) error { @@ -3505,6 +3604,13 @@ func (m *LeaderView) GetTargetVersion() int64 { return 0 } +func (m *LeaderView) GetNumOfGrowingRows() int64 { + if m != nil { + return m.NumOfGrowingRows + } + return 0 +} + type SegmentDist struct { NodeID int64 `protobuf:"varint,1,opt,name=nodeID,proto3" json:"nodeID,omitempty"` Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` @@ -3517,7 +3623,7 @@ func (m *SegmentDist) Reset() { *m = SegmentDist{} } func (m *SegmentDist) String() string { return proto.CompactTextString(m) } func (*SegmentDist) ProtoMessage() {} func (*SegmentDist) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{44} + return fileDescriptor_aab7cc9a69ed26e8, []int{45} } func (m *SegmentDist) XXX_Unmarshal(b []byte) error { @@ -3569,7 +3675,7 @@ func (m *SegmentVersionInfo) Reset() { *m = SegmentVersionInfo{} } func (m *SegmentVersionInfo) String() string { return proto.CompactTextString(m) } func (*SegmentVersionInfo) ProtoMessage() {} func (*SegmentVersionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{45} + return fileDescriptor_aab7cc9a69ed26e8, []int{46} } func (m *SegmentVersionInfo) XXX_Unmarshal(b []byte) error { @@ -3652,7 +3758,7 @@ func (m *ChannelVersionInfo) Reset() { *m = ChannelVersionInfo{} } func (m *ChannelVersionInfo) String() string { return proto.CompactTextString(m) } func (*ChannelVersionInfo) ProtoMessage() {} func (*ChannelVersionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{46} + return fileDescriptor_aab7cc9a69ed26e8, []int{47} } func (m *ChannelVersionInfo) XXX_Unmarshal(b []byte) error { @@ -3711,7 +3817,7 @@ func (m *CollectionLoadInfo) Reset() { *m = CollectionLoadInfo{} } func (m *CollectionLoadInfo) String() string { return proto.CompactTextString(m) } func (*CollectionLoadInfo) ProtoMessage() {} func (*CollectionLoadInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{47} + return fileDescriptor_aab7cc9a69ed26e8, []int{48} } func (m *CollectionLoadInfo) XXX_Unmarshal(b []byte) error { @@ -3797,7 +3903,7 @@ func (m *PartitionLoadInfo) Reset() { *m = PartitionLoadInfo{} } func (m *PartitionLoadInfo) String() string { return proto.CompactTextString(m) } func (*PartitionLoadInfo) ProtoMessage() {} func (*PartitionLoadInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{48} + return fileDescriptor_aab7cc9a69ed26e8, []int{49} } func (m *PartitionLoadInfo) XXX_Unmarshal(b []byte) error { @@ -3860,21 +3966,63 @@ func (m *PartitionLoadInfo) GetRecoverTimes() int32 { return 0 } -type Replica struct { - ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` - CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` - Nodes []int64 `protobuf:"varint,3,rep,packed,name=nodes,proto3" json:"nodes,omitempty"` - ResourceGroup string `protobuf:"bytes,4,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` +type ChannelNodeInfo struct { + RwNodes []int64 `protobuf:"varint,6,rep,packed,name=rw_nodes,json=rwNodes,proto3" json:"rw_nodes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } +func (m *ChannelNodeInfo) Reset() { *m = ChannelNodeInfo{} } +func (m *ChannelNodeInfo) String() string { return proto.CompactTextString(m) } +func (*ChannelNodeInfo) ProtoMessage() {} +func (*ChannelNodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{50} +} + +func (m *ChannelNodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelNodeInfo.Unmarshal(m, b) +} +func (m *ChannelNodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelNodeInfo.Marshal(b, m, deterministic) +} +func (m *ChannelNodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelNodeInfo.Merge(m, src) +} +func (m *ChannelNodeInfo) XXX_Size() int { + return xxx_messageInfo_ChannelNodeInfo.Size(m) +} +func (m *ChannelNodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelNodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelNodeInfo proto.InternalMessageInfo + +func (m *ChannelNodeInfo) GetRwNodes() []int64 { + if m != nil { + return m.RwNodes + } + return nil +} + +type Replica struct { + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + Nodes []int64 `protobuf:"varint,3,rep,packed,name=nodes,proto3" json:"nodes,omitempty"` + ResourceGroup string `protobuf:"bytes,4,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + RoNodes []int64 `protobuf:"varint,5,rep,packed,name=ro_nodes,json=roNodes,proto3" json:"ro_nodes,omitempty"` + // can not load new channel or segment on it anymore. + ChannelNodeInfos map[string]*ChannelNodeInfo `protobuf:"bytes,6,rep,name=channel_node_infos,json=channelNodeInfos,proto3" json:"channel_node_infos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + func (m *Replica) Reset() { *m = Replica{} } func (m *Replica) String() string { return proto.CompactTextString(m) } func (*Replica) ProtoMessage() {} func (*Replica) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{49} + return fileDescriptor_aab7cc9a69ed26e8, []int{51} } func (m *Replica) XXX_Unmarshal(b []byte) error { @@ -3923,27 +4071,42 @@ func (m *Replica) GetResourceGroup() string { return "" } +func (m *Replica) GetRoNodes() []int64 { + if m != nil { + return m.RoNodes + } + return nil +} + +func (m *Replica) GetChannelNodeInfos() map[string]*ChannelNodeInfo { + if m != nil { + return m.ChannelNodeInfos + } + return nil +} + type SyncAction struct { - Type SyncType `protobuf:"varint,1,opt,name=type,proto3,enum=milvus.protov2.query.SyncType" json:"type,omitempty"` - PartitionID int64 `protobuf:"varint,2,opt,name=partitionID,proto3" json:"partitionID,omitempty"` - SegmentID int64 `protobuf:"varint,3,opt,name=segmentID,proto3" json:"segmentID,omitempty"` - NodeID int64 `protobuf:"varint,4,opt,name=nodeID,proto3" json:"nodeID,omitempty"` - Version int64 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"` - Info *SegmentLoadInfo `protobuf:"bytes,6,opt,name=info,proto3" json:"info,omitempty"` - GrowingInTarget []int64 `protobuf:"varint,7,rep,packed,name=growingInTarget,proto3" json:"growingInTarget,omitempty"` - SealedInTarget []int64 `protobuf:"varint,8,rep,packed,name=sealedInTarget,proto3" json:"sealedInTarget,omitempty"` - TargetVersion int64 `protobuf:"varint,9,opt,name=TargetVersion,proto3" json:"TargetVersion,omitempty"` - DroppedInTarget []int64 `protobuf:"varint,10,rep,packed,name=droppedInTarget,proto3" json:"droppedInTarget,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Type SyncType `protobuf:"varint,1,opt,name=type,proto3,enum=milvus.protov2.query.SyncType" json:"type,omitempty"` + PartitionID int64 `protobuf:"varint,2,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + SegmentID int64 `protobuf:"varint,3,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + NodeID int64 `protobuf:"varint,4,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + Version int64 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"` + Info *SegmentLoadInfo `protobuf:"bytes,6,opt,name=info,proto3" json:"info,omitempty"` + GrowingInTarget []int64 `protobuf:"varint,7,rep,packed,name=growingInTarget,proto3" json:"growingInTarget,omitempty"` + SealedInTarget []int64 `protobuf:"varint,8,rep,packed,name=sealedInTarget,proto3" json:"sealedInTarget,omitempty"` + TargetVersion int64 `protobuf:"varint,9,opt,name=TargetVersion,proto3" json:"TargetVersion,omitempty"` + DroppedInTarget []int64 `protobuf:"varint,10,rep,packed,name=droppedInTarget,proto3" json:"droppedInTarget,omitempty"` + Checkpoint *msgpb.MsgPosition `protobuf:"bytes,11,opt,name=checkpoint,proto3" json:"checkpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SyncAction) Reset() { *m = SyncAction{} } func (m *SyncAction) String() string { return proto.CompactTextString(m) } func (*SyncAction) ProtoMessage() {} func (*SyncAction) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{50} + return fileDescriptor_aab7cc9a69ed26e8, []int{52} } func (m *SyncAction) XXX_Unmarshal(b []byte) error { @@ -4034,6 +4197,13 @@ func (m *SyncAction) GetDroppedInTarget() []int64 { return nil } +func (m *SyncAction) GetCheckpoint() *msgpb.MsgPosition { + if m != nil { + return m.Checkpoint + } + return nil +} + type SyncDistributionRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` @@ -4043,6 +4213,7 @@ type SyncDistributionRequest struct { LoadMeta *LoadMetaInfo `protobuf:"bytes,6,opt,name=load_meta,json=loadMeta,proto3" json:"load_meta,omitempty"` ReplicaID int64 `protobuf:"varint,7,opt,name=replicaID,proto3" json:"replicaID,omitempty"` Version int64 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + IndexInfoList []*indexpb.IndexInfo `protobuf:"bytes,9,rep,name=index_info_list,json=indexInfoList,proto3" json:"index_info_list,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -4052,7 +4223,7 @@ func (m *SyncDistributionRequest) Reset() { *m = SyncDistributionRequest func (m *SyncDistributionRequest) String() string { return proto.CompactTextString(m) } func (*SyncDistributionRequest) ProtoMessage() {} func (*SyncDistributionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{51} + return fileDescriptor_aab7cc9a69ed26e8, []int{53} } func (m *SyncDistributionRequest) XXX_Unmarshal(b []byte) error { @@ -4129,20 +4300,28 @@ func (m *SyncDistributionRequest) GetVersion() int64 { return 0 } +func (m *SyncDistributionRequest) GetIndexInfoList() []*indexpb.IndexInfo { + if m != nil { + return m.IndexInfoList + } + return nil +} + type ResourceGroup struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Capacity int32 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` - Nodes []int64 `protobuf:"varint,3,rep,packed,name=nodes,proto3" json:"nodes,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Capacity int32 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` // Deprecated: Do not use. + Nodes []int64 `protobuf:"varint,3,rep,packed,name=nodes,proto3" json:"nodes,omitempty"` + Config *rgpb.ResourceGroupConfig `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ResourceGroup) Reset() { *m = ResourceGroup{} } func (m *ResourceGroup) String() string { return proto.CompactTextString(m) } func (*ResourceGroup) ProtoMessage() {} func (*ResourceGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{52} + return fileDescriptor_aab7cc9a69ed26e8, []int{54} } func (m *ResourceGroup) XXX_Unmarshal(b []byte) error { @@ -4170,6 +4349,7 @@ func (m *ResourceGroup) GetName() string { return "" } +// Deprecated: Do not use. func (m *ResourceGroup) GetCapacity() int32 { if m != nil { return m.Capacity @@ -4184,6 +4364,13 @@ func (m *ResourceGroup) GetNodes() []int64 { return nil } +func (m *ResourceGroup) GetConfig() *rgpb.ResourceGroupConfig { + if m != nil { + return m.Config + } + return nil +} + // transfer `replicaNum` replicas in `collectionID` from `source_resource_group` to `target_resource_groups` type TransferReplicaRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -4200,7 +4387,7 @@ func (m *TransferReplicaRequest) Reset() { *m = TransferReplicaRequest{} func (m *TransferReplicaRequest) String() string { return proto.CompactTextString(m) } func (*TransferReplicaRequest) ProtoMessage() {} func (*TransferReplicaRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{53} + return fileDescriptor_aab7cc9a69ed26e8, []int{55} } func (m *TransferReplicaRequest) XXX_Unmarshal(b []byte) error { @@ -4268,7 +4455,7 @@ func (m *DescribeResourceGroupRequest) Reset() { *m = DescribeResourceGr func (m *DescribeResourceGroupRequest) String() string { return proto.CompactTextString(m) } func (*DescribeResourceGroupRequest) ProtoMessage() {} func (*DescribeResourceGroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{54} + return fileDescriptor_aab7cc9a69ed26e8, []int{56} } func (m *DescribeResourceGroupRequest) XXX_Unmarshal(b []byte) error { @@ -4315,7 +4502,7 @@ func (m *DescribeResourceGroupResponse) Reset() { *m = DescribeResourceG func (m *DescribeResourceGroupResponse) String() string { return proto.CompactTextString(m) } func (*DescribeResourceGroupResponse) ProtoMessage() {} func (*DescribeResourceGroupResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{55} + return fileDescriptor_aab7cc9a69ed26e8, []int{57} } func (m *DescribeResourceGroupResponse) XXX_Unmarshal(b []byte) error { @@ -4352,24 +4539,27 @@ func (m *DescribeResourceGroupResponse) GetResourceGroup() *ResourceGroupInfo { type ResourceGroupInfo struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Capacity int32 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` + Capacity int32 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` // Deprecated: Do not use. NumAvailableNode int32 `protobuf:"varint,3,opt,name=num_available_node,json=numAvailableNode,proto3" json:"num_available_node,omitempty"` // collection id -> loaded replica num NumLoadedReplica map[int64]int32 `protobuf:"bytes,4,rep,name=num_loaded_replica,json=numLoadedReplica,proto3" json:"num_loaded_replica,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // collection id -> accessed other rg's node num NumOutgoingNode map[int64]int32 `protobuf:"bytes,5,rep,name=num_outgoing_node,json=numOutgoingNode,proto3" json:"num_outgoing_node,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // collection id -> be accessed node num by other rg - NumIncomingNode map[int64]int32 `protobuf:"bytes,6,rep,name=num_incoming_node,json=numIncomingNode,proto3" json:"num_incoming_node,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NumIncomingNode map[int64]int32 `protobuf:"bytes,6,rep,name=num_incoming_node,json=numIncomingNode,proto3" json:"num_incoming_node,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + // resource group configuration. + Config *rgpb.ResourceGroupConfig `protobuf:"bytes,7,opt,name=config,proto3" json:"config,omitempty"` + Nodes []*commonpb.NodeInfo `protobuf:"bytes,8,rep,name=nodes,proto3" json:"nodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ResourceGroupInfo) Reset() { *m = ResourceGroupInfo{} } func (m *ResourceGroupInfo) String() string { return proto.CompactTextString(m) } func (*ResourceGroupInfo) ProtoMessage() {} func (*ResourceGroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{56} + return fileDescriptor_aab7cc9a69ed26e8, []int{58} } func (m *ResourceGroupInfo) XXX_Unmarshal(b []byte) error { @@ -4397,6 +4587,7 @@ func (m *ResourceGroupInfo) GetName() string { return "" } +// Deprecated: Do not use. func (m *ResourceGroupInfo) GetCapacity() int32 { if m != nil { return m.Capacity @@ -4432,6 +4623,20 @@ func (m *ResourceGroupInfo) GetNumIncomingNode() map[int64]int32 { return nil } +func (m *ResourceGroupInfo) GetConfig() *rgpb.ResourceGroupConfig { + if m != nil { + return m.Config + } + return nil +} + +func (m *ResourceGroupInfo) GetNodes() []*commonpb.NodeInfo { + if m != nil { + return m.Nodes + } + return nil +} + type DeleteRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CollectionId int64 `protobuf:"varint,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` @@ -4440,6 +4645,7 @@ type DeleteRequest struct { SegmentId int64 `protobuf:"varint,5,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` PrimaryKeys *schemapb.IDs `protobuf:"bytes,6,opt,name=primary_keys,json=primaryKeys,proto3" json:"primary_keys,omitempty"` Timestamps []uint64 `protobuf:"varint,7,rep,packed,name=timestamps,proto3" json:"timestamps,omitempty"` + Scope DataScope `protobuf:"varint,8,opt,name=scope,proto3,enum=milvus.protov2.query.DataScope" json:"scope,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -4449,7 +4655,7 @@ func (m *DeleteRequest) Reset() { *m = DeleteRequest{} } func (m *DeleteRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRequest) ProtoMessage() {} func (*DeleteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{57} + return fileDescriptor_aab7cc9a69ed26e8, []int{59} } func (m *DeleteRequest) XXX_Unmarshal(b []byte) error { @@ -4519,6 +4725,13 @@ func (m *DeleteRequest) GetTimestamps() []uint64 { return nil } +func (m *DeleteRequest) GetScope() DataScope { + if m != nil { + return m.Scope + } + return DataScope_UnKnown +} + type ActivateCheckerRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CheckerID int32 `protobuf:"varint,2,opt,name=checkerID,proto3" json:"checkerID,omitempty"` @@ -4531,7 +4744,7 @@ func (m *ActivateCheckerRequest) Reset() { *m = ActivateCheckerRequest{} func (m *ActivateCheckerRequest) String() string { return proto.CompactTextString(m) } func (*ActivateCheckerRequest) ProtoMessage() {} func (*ActivateCheckerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{58} + return fileDescriptor_aab7cc9a69ed26e8, []int{60} } func (m *ActivateCheckerRequest) XXX_Unmarshal(b []byte) error { @@ -4578,7 +4791,7 @@ func (m *DeactivateCheckerRequest) Reset() { *m = DeactivateCheckerReque func (m *DeactivateCheckerRequest) String() string { return proto.CompactTextString(m) } func (*DeactivateCheckerRequest) ProtoMessage() {} func (*DeactivateCheckerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{59} + return fileDescriptor_aab7cc9a69ed26e8, []int{61} } func (m *DeactivateCheckerRequest) XXX_Unmarshal(b []byte) error { @@ -4625,7 +4838,7 @@ func (m *ListCheckersRequest) Reset() { *m = ListCheckersRequest{} } func (m *ListCheckersRequest) String() string { return proto.CompactTextString(m) } func (*ListCheckersRequest) ProtoMessage() {} func (*ListCheckersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{60} + return fileDescriptor_aab7cc9a69ed26e8, []int{62} } func (m *ListCheckersRequest) XXX_Unmarshal(b []byte) error { @@ -4672,7 +4885,7 @@ func (m *ListCheckersResponse) Reset() { *m = ListCheckersResponse{} } func (m *ListCheckersResponse) String() string { return proto.CompactTextString(m) } func (*ListCheckersResponse) ProtoMessage() {} func (*ListCheckersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{61} + return fileDescriptor_aab7cc9a69ed26e8, []int{63} } func (m *ListCheckersResponse) XXX_Unmarshal(b []byte) error { @@ -4721,7 +4934,7 @@ func (m *CheckerInfo) Reset() { *m = CheckerInfo{} } func (m *CheckerInfo) String() string { return proto.CompactTextString(m) } func (*CheckerInfo) ProtoMessage() {} func (*CheckerInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_aab7cc9a69ed26e8, []int{62} + return fileDescriptor_aab7cc9a69ed26e8, []int{64} } func (m *CheckerInfo) XXX_Unmarshal(b []byte) error { @@ -4770,21 +4983,893 @@ func (m *CheckerInfo) GetFound() bool { return false } -func init() { - proto.RegisterEnum("milvus.protov2.query.LoadScope", LoadScope_name, LoadScope_value) - proto.RegisterEnum("milvus.protov2.query.DataScope", DataScope_name, DataScope_value) - proto.RegisterEnum("milvus.protov2.query.PartitionState", PartitionState_name, PartitionState_value) - proto.RegisterEnum("milvus.protov2.query.TriggerCondition", TriggerCondition_name, TriggerCondition_value) - proto.RegisterEnum("milvus.protov2.query.LoadType", LoadType_name, LoadType_value) - proto.RegisterEnum("milvus.protov2.query.LoadStatus", LoadStatus_name, LoadStatus_value) - proto.RegisterEnum("milvus.protov2.query.SyncType", SyncType_name, SyncType_value) - proto.RegisterType((*ShowCollectionsRequest)(nil), "milvus.protov2.query.ShowCollectionsRequest") - proto.RegisterType((*ShowCollectionsResponse)(nil), "milvus.protov2.query.ShowCollectionsResponse") - proto.RegisterType((*ShowPartitionsRequest)(nil), "milvus.protov2.query.ShowPartitionsRequest") - proto.RegisterType((*ShowPartitionsResponse)(nil), "milvus.protov2.query.ShowPartitionsResponse") - proto.RegisterType((*LoadCollectionRequest)(nil), "milvus.protov2.query.LoadCollectionRequest") - proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.query.LoadCollectionRequest.FieldIndexIDEntry") - proto.RegisterType((*ReleaseCollectionRequest)(nil), "milvus.protov2.query.ReleaseCollectionRequest") +type SegmentTarget struct { + ID int64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Level datapb.SegmentLevel `protobuf:"varint,2,opt,name=level,proto3,enum=milvus.protov2.data.SegmentLevel" json:"level,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SegmentTarget) Reset() { *m = SegmentTarget{} } +func (m *SegmentTarget) String() string { return proto.CompactTextString(m) } +func (*SegmentTarget) ProtoMessage() {} +func (*SegmentTarget) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{65} +} + +func (m *SegmentTarget) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SegmentTarget.Unmarshal(m, b) +} +func (m *SegmentTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SegmentTarget.Marshal(b, m, deterministic) +} +func (m *SegmentTarget) XXX_Merge(src proto.Message) { + xxx_messageInfo_SegmentTarget.Merge(m, src) +} +func (m *SegmentTarget) XXX_Size() int { + return xxx_messageInfo_SegmentTarget.Size(m) +} +func (m *SegmentTarget) XXX_DiscardUnknown() { + xxx_messageInfo_SegmentTarget.DiscardUnknown(m) +} + +var xxx_messageInfo_SegmentTarget proto.InternalMessageInfo + +func (m *SegmentTarget) GetID() int64 { + if m != nil { + return m.ID + } + return 0 +} + +func (m *SegmentTarget) GetLevel() datapb.SegmentLevel { + if m != nil { + return m.Level + } + return datapb.SegmentLevel_Legacy +} + +type PartitionTarget struct { + PartitionID int64 `protobuf:"varint,1,opt,name=partitionID,proto3" json:"partitionID,omitempty"` + Segments []*SegmentTarget `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PartitionTarget) Reset() { *m = PartitionTarget{} } +func (m *PartitionTarget) String() string { return proto.CompactTextString(m) } +func (*PartitionTarget) ProtoMessage() {} +func (*PartitionTarget) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{66} +} + +func (m *PartitionTarget) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PartitionTarget.Unmarshal(m, b) +} +func (m *PartitionTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PartitionTarget.Marshal(b, m, deterministic) +} +func (m *PartitionTarget) XXX_Merge(src proto.Message) { + xxx_messageInfo_PartitionTarget.Merge(m, src) +} +func (m *PartitionTarget) XXX_Size() int { + return xxx_messageInfo_PartitionTarget.Size(m) +} +func (m *PartitionTarget) XXX_DiscardUnknown() { + xxx_messageInfo_PartitionTarget.DiscardUnknown(m) +} + +var xxx_messageInfo_PartitionTarget proto.InternalMessageInfo + +func (m *PartitionTarget) GetPartitionID() int64 { + if m != nil { + return m.PartitionID + } + return 0 +} + +func (m *PartitionTarget) GetSegments() []*SegmentTarget { + if m != nil { + return m.Segments + } + return nil +} + +type ChannelTarget struct { + ChannelName string `protobuf:"bytes,1,opt,name=channelName,proto3" json:"channelName,omitempty"` + DroppedSegmentIDs []int64 `protobuf:"varint,2,rep,packed,name=dropped_segmentIDs,json=droppedSegmentIDs,proto3" json:"dropped_segmentIDs,omitempty"` + GrowingSegmentIDs []int64 `protobuf:"varint,3,rep,packed,name=growing_segmentIDs,json=growingSegmentIDs,proto3" json:"growing_segmentIDs,omitempty"` + PartitionTargets []*PartitionTarget `protobuf:"bytes,4,rep,name=partition_targets,json=partitionTargets,proto3" json:"partition_targets,omitempty"` + SeekPosition *msgpb.MsgPosition `protobuf:"bytes,5,opt,name=seek_position,json=seekPosition,proto3" json:"seek_position,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelTarget) Reset() { *m = ChannelTarget{} } +func (m *ChannelTarget) String() string { return proto.CompactTextString(m) } +func (*ChannelTarget) ProtoMessage() {} +func (*ChannelTarget) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{67} +} + +func (m *ChannelTarget) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelTarget.Unmarshal(m, b) +} +func (m *ChannelTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelTarget.Marshal(b, m, deterministic) +} +func (m *ChannelTarget) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelTarget.Merge(m, src) +} +func (m *ChannelTarget) XXX_Size() int { + return xxx_messageInfo_ChannelTarget.Size(m) +} +func (m *ChannelTarget) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelTarget.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelTarget proto.InternalMessageInfo + +func (m *ChannelTarget) GetChannelName() string { + if m != nil { + return m.ChannelName + } + return "" +} + +func (m *ChannelTarget) GetDroppedSegmentIDs() []int64 { + if m != nil { + return m.DroppedSegmentIDs + } + return nil +} + +func (m *ChannelTarget) GetGrowingSegmentIDs() []int64 { + if m != nil { + return m.GrowingSegmentIDs + } + return nil +} + +func (m *ChannelTarget) GetPartitionTargets() []*PartitionTarget { + if m != nil { + return m.PartitionTargets + } + return nil +} + +func (m *ChannelTarget) GetSeekPosition() *msgpb.MsgPosition { + if m != nil { + return m.SeekPosition + } + return nil +} + +type CollectionTarget struct { + CollectionID int64 `protobuf:"varint,1,opt,name=collectionID,proto3" json:"collectionID,omitempty"` + ChannelTargets []*ChannelTarget `protobuf:"bytes,2,rep,name=Channel_targets,json=ChannelTargets,proto3" json:"Channel_targets,omitempty"` + Version int64 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionTarget) Reset() { *m = CollectionTarget{} } +func (m *CollectionTarget) String() string { return proto.CompactTextString(m) } +func (*CollectionTarget) ProtoMessage() {} +func (*CollectionTarget) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{68} +} + +func (m *CollectionTarget) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionTarget.Unmarshal(m, b) +} +func (m *CollectionTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionTarget.Marshal(b, m, deterministic) +} +func (m *CollectionTarget) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionTarget.Merge(m, src) +} +func (m *CollectionTarget) XXX_Size() int { + return xxx_messageInfo_CollectionTarget.Size(m) +} +func (m *CollectionTarget) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionTarget.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionTarget proto.InternalMessageInfo + +func (m *CollectionTarget) GetCollectionID() int64 { + if m != nil { + return m.CollectionID + } + return 0 +} + +func (m *CollectionTarget) GetChannelTargets() []*ChannelTarget { + if m != nil { + return m.ChannelTargets + } + return nil +} + +func (m *CollectionTarget) GetVersion() int64 { + if m != nil { + return m.Version + } + return 0 +} + +type NodeInfo struct { + ID int64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeInfo) Reset() { *m = NodeInfo{} } +func (m *NodeInfo) String() string { return proto.CompactTextString(m) } +func (*NodeInfo) ProtoMessage() {} +func (*NodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{69} +} + +func (m *NodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeInfo.Unmarshal(m, b) +} +func (m *NodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeInfo.Marshal(b, m, deterministic) +} +func (m *NodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeInfo.Merge(m, src) +} +func (m *NodeInfo) XXX_Size() int { + return xxx_messageInfo_NodeInfo.Size(m) +} +func (m *NodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_NodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeInfo proto.InternalMessageInfo + +func (m *NodeInfo) GetID() int64 { + if m != nil { + return m.ID + } + return 0 +} + +func (m *NodeInfo) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *NodeInfo) GetState() string { + if m != nil { + return m.State + } + return "" +} + +type ListQueryNodeRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListQueryNodeRequest) Reset() { *m = ListQueryNodeRequest{} } +func (m *ListQueryNodeRequest) String() string { return proto.CompactTextString(m) } +func (*ListQueryNodeRequest) ProtoMessage() {} +func (*ListQueryNodeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{70} +} + +func (m *ListQueryNodeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListQueryNodeRequest.Unmarshal(m, b) +} +func (m *ListQueryNodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListQueryNodeRequest.Marshal(b, m, deterministic) +} +func (m *ListQueryNodeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListQueryNodeRequest.Merge(m, src) +} +func (m *ListQueryNodeRequest) XXX_Size() int { + return xxx_messageInfo_ListQueryNodeRequest.Size(m) +} +func (m *ListQueryNodeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListQueryNodeRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListQueryNodeRequest proto.InternalMessageInfo + +func (m *ListQueryNodeRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +type ListQueryNodeResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + NodeInfos []*NodeInfo `protobuf:"bytes,2,rep,name=nodeInfos,proto3" json:"nodeInfos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListQueryNodeResponse) Reset() { *m = ListQueryNodeResponse{} } +func (m *ListQueryNodeResponse) String() string { return proto.CompactTextString(m) } +func (*ListQueryNodeResponse) ProtoMessage() {} +func (*ListQueryNodeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{71} +} + +func (m *ListQueryNodeResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListQueryNodeResponse.Unmarshal(m, b) +} +func (m *ListQueryNodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListQueryNodeResponse.Marshal(b, m, deterministic) +} +func (m *ListQueryNodeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListQueryNodeResponse.Merge(m, src) +} +func (m *ListQueryNodeResponse) XXX_Size() int { + return xxx_messageInfo_ListQueryNodeResponse.Size(m) +} +func (m *ListQueryNodeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListQueryNodeResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListQueryNodeResponse proto.InternalMessageInfo + +func (m *ListQueryNodeResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *ListQueryNodeResponse) GetNodeInfos() []*NodeInfo { + if m != nil { + return m.NodeInfos + } + return nil +} + +type GetQueryNodeDistributionRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetQueryNodeDistributionRequest) Reset() { *m = GetQueryNodeDistributionRequest{} } +func (m *GetQueryNodeDistributionRequest) String() string { return proto.CompactTextString(m) } +func (*GetQueryNodeDistributionRequest) ProtoMessage() {} +func (*GetQueryNodeDistributionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{72} +} + +func (m *GetQueryNodeDistributionRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetQueryNodeDistributionRequest.Unmarshal(m, b) +} +func (m *GetQueryNodeDistributionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetQueryNodeDistributionRequest.Marshal(b, m, deterministic) +} +func (m *GetQueryNodeDistributionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetQueryNodeDistributionRequest.Merge(m, src) +} +func (m *GetQueryNodeDistributionRequest) XXX_Size() int { + return xxx_messageInfo_GetQueryNodeDistributionRequest.Size(m) +} +func (m *GetQueryNodeDistributionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetQueryNodeDistributionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetQueryNodeDistributionRequest proto.InternalMessageInfo + +func (m *GetQueryNodeDistributionRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *GetQueryNodeDistributionRequest) GetNodeID() int64 { + if m != nil { + return m.NodeID + } + return 0 +} + +type GetQueryNodeDistributionResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + ID int64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + ChannelNames []string `protobuf:"bytes,3,rep,name=channel_names,json=channelNames,proto3" json:"channel_names,omitempty"` + SealedSegmentIDs []int64 `protobuf:"varint,4,rep,packed,name=sealed_segmentIDs,json=sealedSegmentIDs,proto3" json:"sealed_segmentIDs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetQueryNodeDistributionResponse) Reset() { *m = GetQueryNodeDistributionResponse{} } +func (m *GetQueryNodeDistributionResponse) String() string { return proto.CompactTextString(m) } +func (*GetQueryNodeDistributionResponse) ProtoMessage() {} +func (*GetQueryNodeDistributionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{73} +} + +func (m *GetQueryNodeDistributionResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetQueryNodeDistributionResponse.Unmarshal(m, b) +} +func (m *GetQueryNodeDistributionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetQueryNodeDistributionResponse.Marshal(b, m, deterministic) +} +func (m *GetQueryNodeDistributionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetQueryNodeDistributionResponse.Merge(m, src) +} +func (m *GetQueryNodeDistributionResponse) XXX_Size() int { + return xxx_messageInfo_GetQueryNodeDistributionResponse.Size(m) +} +func (m *GetQueryNodeDistributionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetQueryNodeDistributionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetQueryNodeDistributionResponse proto.InternalMessageInfo + +func (m *GetQueryNodeDistributionResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *GetQueryNodeDistributionResponse) GetID() int64 { + if m != nil { + return m.ID + } + return 0 +} + +func (m *GetQueryNodeDistributionResponse) GetChannelNames() []string { + if m != nil { + return m.ChannelNames + } + return nil +} + +func (m *GetQueryNodeDistributionResponse) GetSealedSegmentIDs() []int64 { + if m != nil { + return m.SealedSegmentIDs + } + return nil +} + +type SuspendBalanceRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SuspendBalanceRequest) Reset() { *m = SuspendBalanceRequest{} } +func (m *SuspendBalanceRequest) String() string { return proto.CompactTextString(m) } +func (*SuspendBalanceRequest) ProtoMessage() {} +func (*SuspendBalanceRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{74} +} + +func (m *SuspendBalanceRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SuspendBalanceRequest.Unmarshal(m, b) +} +func (m *SuspendBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SuspendBalanceRequest.Marshal(b, m, deterministic) +} +func (m *SuspendBalanceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SuspendBalanceRequest.Merge(m, src) +} +func (m *SuspendBalanceRequest) XXX_Size() int { + return xxx_messageInfo_SuspendBalanceRequest.Size(m) +} +func (m *SuspendBalanceRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SuspendBalanceRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SuspendBalanceRequest proto.InternalMessageInfo + +func (m *SuspendBalanceRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +type ResumeBalanceRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResumeBalanceRequest) Reset() { *m = ResumeBalanceRequest{} } +func (m *ResumeBalanceRequest) String() string { return proto.CompactTextString(m) } +func (*ResumeBalanceRequest) ProtoMessage() {} +func (*ResumeBalanceRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{75} +} + +func (m *ResumeBalanceRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResumeBalanceRequest.Unmarshal(m, b) +} +func (m *ResumeBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResumeBalanceRequest.Marshal(b, m, deterministic) +} +func (m *ResumeBalanceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResumeBalanceRequest.Merge(m, src) +} +func (m *ResumeBalanceRequest) XXX_Size() int { + return xxx_messageInfo_ResumeBalanceRequest.Size(m) +} +func (m *ResumeBalanceRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ResumeBalanceRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ResumeBalanceRequest proto.InternalMessageInfo + +func (m *ResumeBalanceRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +type SuspendNodeRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SuspendNodeRequest) Reset() { *m = SuspendNodeRequest{} } +func (m *SuspendNodeRequest) String() string { return proto.CompactTextString(m) } +func (*SuspendNodeRequest) ProtoMessage() {} +func (*SuspendNodeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{76} +} + +func (m *SuspendNodeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SuspendNodeRequest.Unmarshal(m, b) +} +func (m *SuspendNodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SuspendNodeRequest.Marshal(b, m, deterministic) +} +func (m *SuspendNodeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SuspendNodeRequest.Merge(m, src) +} +func (m *SuspendNodeRequest) XXX_Size() int { + return xxx_messageInfo_SuspendNodeRequest.Size(m) +} +func (m *SuspendNodeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SuspendNodeRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SuspendNodeRequest proto.InternalMessageInfo + +func (m *SuspendNodeRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *SuspendNodeRequest) GetNodeID() int64 { + if m != nil { + return m.NodeID + } + return 0 +} + +type ResumeNodeRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + NodeID int64 `protobuf:"varint,2,opt,name=nodeID,proto3" json:"nodeID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResumeNodeRequest) Reset() { *m = ResumeNodeRequest{} } +func (m *ResumeNodeRequest) String() string { return proto.CompactTextString(m) } +func (*ResumeNodeRequest) ProtoMessage() {} +func (*ResumeNodeRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{77} +} + +func (m *ResumeNodeRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResumeNodeRequest.Unmarshal(m, b) +} +func (m *ResumeNodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResumeNodeRequest.Marshal(b, m, deterministic) +} +func (m *ResumeNodeRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResumeNodeRequest.Merge(m, src) +} +func (m *ResumeNodeRequest) XXX_Size() int { + return xxx_messageInfo_ResumeNodeRequest.Size(m) +} +func (m *ResumeNodeRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ResumeNodeRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ResumeNodeRequest proto.InternalMessageInfo + +func (m *ResumeNodeRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *ResumeNodeRequest) GetNodeID() int64 { + if m != nil { + return m.NodeID + } + return 0 +} + +type TransferSegmentRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + SegmentID int64 `protobuf:"varint,2,opt,name=segmentID,proto3" json:"segmentID,omitempty"` + SourceNodeID int64 `protobuf:"varint,3,opt,name=source_nodeID,json=sourceNodeID,proto3" json:"source_nodeID,omitempty"` + TargetNodeID int64 `protobuf:"varint,4,opt,name=target_nodeID,json=targetNodeID,proto3" json:"target_nodeID,omitempty"` + TransferAll bool `protobuf:"varint,5,opt,name=transfer_all,json=transferAll,proto3" json:"transfer_all,omitempty"` + ToAllNodes bool `protobuf:"varint,6,opt,name=to_all_nodes,json=toAllNodes,proto3" json:"to_all_nodes,omitempty"` + CopyMode bool `protobuf:"varint,7,opt,name=copy_mode,json=copyMode,proto3" json:"copy_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransferSegmentRequest) Reset() { *m = TransferSegmentRequest{} } +func (m *TransferSegmentRequest) String() string { return proto.CompactTextString(m) } +func (*TransferSegmentRequest) ProtoMessage() {} +func (*TransferSegmentRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{78} +} + +func (m *TransferSegmentRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferSegmentRequest.Unmarshal(m, b) +} +func (m *TransferSegmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferSegmentRequest.Marshal(b, m, deterministic) +} +func (m *TransferSegmentRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferSegmentRequest.Merge(m, src) +} +func (m *TransferSegmentRequest) XXX_Size() int { + return xxx_messageInfo_TransferSegmentRequest.Size(m) +} +func (m *TransferSegmentRequest) XXX_DiscardUnknown() { + xxx_messageInfo_TransferSegmentRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_TransferSegmentRequest proto.InternalMessageInfo + +func (m *TransferSegmentRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *TransferSegmentRequest) GetSegmentID() int64 { + if m != nil { + return m.SegmentID + } + return 0 +} + +func (m *TransferSegmentRequest) GetSourceNodeID() int64 { + if m != nil { + return m.SourceNodeID + } + return 0 +} + +func (m *TransferSegmentRequest) GetTargetNodeID() int64 { + if m != nil { + return m.TargetNodeID + } + return 0 +} + +func (m *TransferSegmentRequest) GetTransferAll() bool { + if m != nil { + return m.TransferAll + } + return false +} + +func (m *TransferSegmentRequest) GetToAllNodes() bool { + if m != nil { + return m.ToAllNodes + } + return false +} + +func (m *TransferSegmentRequest) GetCopyMode() bool { + if m != nil { + return m.CopyMode + } + return false +} + +type TransferChannelRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + ChannelName string `protobuf:"bytes,2,opt,name=channel_name,json=channelName,proto3" json:"channel_name,omitempty"` + SourceNodeID int64 `protobuf:"varint,3,opt,name=source_nodeID,json=sourceNodeID,proto3" json:"source_nodeID,omitempty"` + TargetNodeID int64 `protobuf:"varint,4,opt,name=target_nodeID,json=targetNodeID,proto3" json:"target_nodeID,omitempty"` + TransferAll bool `protobuf:"varint,5,opt,name=transfer_all,json=transferAll,proto3" json:"transfer_all,omitempty"` + ToAllNodes bool `protobuf:"varint,6,opt,name=to_all_nodes,json=toAllNodes,proto3" json:"to_all_nodes,omitempty"` + CopyMode bool `protobuf:"varint,7,opt,name=copy_mode,json=copyMode,proto3" json:"copy_mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransferChannelRequest) Reset() { *m = TransferChannelRequest{} } +func (m *TransferChannelRequest) String() string { return proto.CompactTextString(m) } +func (*TransferChannelRequest) ProtoMessage() {} +func (*TransferChannelRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{79} +} + +func (m *TransferChannelRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransferChannelRequest.Unmarshal(m, b) +} +func (m *TransferChannelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransferChannelRequest.Marshal(b, m, deterministic) +} +func (m *TransferChannelRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransferChannelRequest.Merge(m, src) +} +func (m *TransferChannelRequest) XXX_Size() int { + return xxx_messageInfo_TransferChannelRequest.Size(m) +} +func (m *TransferChannelRequest) XXX_DiscardUnknown() { + xxx_messageInfo_TransferChannelRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_TransferChannelRequest proto.InternalMessageInfo + +func (m *TransferChannelRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *TransferChannelRequest) GetChannelName() string { + if m != nil { + return m.ChannelName + } + return "" +} + +func (m *TransferChannelRequest) GetSourceNodeID() int64 { + if m != nil { + return m.SourceNodeID + } + return 0 +} + +func (m *TransferChannelRequest) GetTargetNodeID() int64 { + if m != nil { + return m.TargetNodeID + } + return 0 +} + +func (m *TransferChannelRequest) GetTransferAll() bool { + if m != nil { + return m.TransferAll + } + return false +} + +func (m *TransferChannelRequest) GetToAllNodes() bool { + if m != nil { + return m.ToAllNodes + } + return false +} + +func (m *TransferChannelRequest) GetCopyMode() bool { + if m != nil { + return m.CopyMode + } + return false +} + +type CheckQueryNodeDistributionRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + SourceNodeID int64 `protobuf:"varint,3,opt,name=source_nodeID,json=sourceNodeID,proto3" json:"source_nodeID,omitempty"` + TargetNodeID int64 `protobuf:"varint,4,opt,name=target_nodeID,json=targetNodeID,proto3" json:"target_nodeID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CheckQueryNodeDistributionRequest) Reset() { *m = CheckQueryNodeDistributionRequest{} } +func (m *CheckQueryNodeDistributionRequest) String() string { return proto.CompactTextString(m) } +func (*CheckQueryNodeDistributionRequest) ProtoMessage() {} +func (*CheckQueryNodeDistributionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_aab7cc9a69ed26e8, []int{80} +} + +func (m *CheckQueryNodeDistributionRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CheckQueryNodeDistributionRequest.Unmarshal(m, b) +} +func (m *CheckQueryNodeDistributionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CheckQueryNodeDistributionRequest.Marshal(b, m, deterministic) +} +func (m *CheckQueryNodeDistributionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckQueryNodeDistributionRequest.Merge(m, src) +} +func (m *CheckQueryNodeDistributionRequest) XXX_Size() int { + return xxx_messageInfo_CheckQueryNodeDistributionRequest.Size(m) +} +func (m *CheckQueryNodeDistributionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CheckQueryNodeDistributionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckQueryNodeDistributionRequest proto.InternalMessageInfo + +func (m *CheckQueryNodeDistributionRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *CheckQueryNodeDistributionRequest) GetSourceNodeID() int64 { + if m != nil { + return m.SourceNodeID + } + return 0 +} + +func (m *CheckQueryNodeDistributionRequest) GetTargetNodeID() int64 { + if m != nil { + return m.TargetNodeID + } + return 0 +} + +func init() { + proto.RegisterEnum("milvus.protov2.query.LoadScope", LoadScope_name, LoadScope_value) + proto.RegisterEnum("milvus.protov2.query.DataScope", DataScope_name, DataScope_value) + proto.RegisterEnum("milvus.protov2.query.PartitionState", PartitionState_name, PartitionState_value) + proto.RegisterEnum("milvus.protov2.query.TriggerCondition", TriggerCondition_name, TriggerCondition_value) + proto.RegisterEnum("milvus.protov2.query.LoadType", LoadType_name, LoadType_value) + proto.RegisterEnum("milvus.protov2.query.LoadStatus", LoadStatus_name, LoadStatus_value) + proto.RegisterEnum("milvus.protov2.query.SyncType", SyncType_name, SyncType_value) + proto.RegisterType((*ShowCollectionsRequest)(nil), "milvus.protov2.query.ShowCollectionsRequest") + proto.RegisterType((*ShowCollectionsResponse)(nil), "milvus.protov2.query.ShowCollectionsResponse") + proto.RegisterType((*ShowPartitionsRequest)(nil), "milvus.protov2.query.ShowPartitionsRequest") + proto.RegisterType((*ShowPartitionsResponse)(nil), "milvus.protov2.query.ShowPartitionsResponse") + proto.RegisterType((*LoadCollectionRequest)(nil), "milvus.protov2.query.LoadCollectionRequest") + proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.query.LoadCollectionRequest.FieldIndexIDEntry") + proto.RegisterType((*ReleaseCollectionRequest)(nil), "milvus.protov2.query.ReleaseCollectionRequest") proto.RegisterType((*GetStatisticsRequest)(nil), "milvus.protov2.query.GetStatisticsRequest") proto.RegisterType((*LoadPartitionsRequest)(nil), "milvus.protov2.query.LoadPartitionsRequest") proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.query.LoadPartitionsRequest.FieldIndexIDEntry") @@ -4795,6 +5880,8 @@ func init() { proto.RegisterType((*GetSegmentInfoResponse)(nil), "milvus.protov2.query.GetSegmentInfoResponse") proto.RegisterType((*GetShardLeadersRequest)(nil), "milvus.protov2.query.GetShardLeadersRequest") proto.RegisterType((*GetShardLeadersResponse)(nil), "milvus.protov2.query.GetShardLeadersResponse") + proto.RegisterType((*UpdateResourceGroupsRequest)(nil), "milvus.protov2.query.UpdateResourceGroupsRequest") + proto.RegisterMapType((map[string]*rgpb.ResourceGroupConfig)(nil), "milvus.protov2.query.UpdateResourceGroupsRequest.ResourceGroupsEntry") proto.RegisterType((*ShardLeadersList)(nil), "milvus.protov2.query.ShardLeadersList") proto.RegisterType((*SyncNewCreatedPartitionRequest)(nil), "milvus.protov2.query.SyncNewCreatedPartitionRequest") proto.RegisterType((*LoadMetaInfo)(nil), "milvus.protov2.query.LoadMetaInfo") @@ -4836,7 +5923,9 @@ func init() { proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.query.CollectionLoadInfo.FieldIndexIDEntry") proto.RegisterType((*PartitionLoadInfo)(nil), "milvus.protov2.query.PartitionLoadInfo") proto.RegisterMapType((map[int64]int64)(nil), "milvus.protov2.query.PartitionLoadInfo.FieldIndexIDEntry") + proto.RegisterType((*ChannelNodeInfo)(nil), "milvus.protov2.query.ChannelNodeInfo") proto.RegisterType((*Replica)(nil), "milvus.protov2.query.Replica") + proto.RegisterMapType((map[string]*ChannelNodeInfo)(nil), "milvus.protov2.query.Replica.ChannelNodeInfosEntry") proto.RegisterType((*SyncAction)(nil), "milvus.protov2.query.SyncAction") proto.RegisterType((*SyncDistributionRequest)(nil), "milvus.protov2.query.SyncDistributionRequest") proto.RegisterType((*ResourceGroup)(nil), "milvus.protov2.query.ResourceGroup") @@ -4853,327 +5942,396 @@ func init() { proto.RegisterType((*ListCheckersRequest)(nil), "milvus.protov2.query.ListCheckersRequest") proto.RegisterType((*ListCheckersResponse)(nil), "milvus.protov2.query.ListCheckersResponse") proto.RegisterType((*CheckerInfo)(nil), "milvus.protov2.query.CheckerInfo") + proto.RegisterType((*SegmentTarget)(nil), "milvus.protov2.query.SegmentTarget") + proto.RegisterType((*PartitionTarget)(nil), "milvus.protov2.query.PartitionTarget") + proto.RegisterType((*ChannelTarget)(nil), "milvus.protov2.query.ChannelTarget") + proto.RegisterType((*CollectionTarget)(nil), "milvus.protov2.query.CollectionTarget") + proto.RegisterType((*NodeInfo)(nil), "milvus.protov2.query.NodeInfo") + proto.RegisterType((*ListQueryNodeRequest)(nil), "milvus.protov2.query.ListQueryNodeRequest") + proto.RegisterType((*ListQueryNodeResponse)(nil), "milvus.protov2.query.ListQueryNodeResponse") + proto.RegisterType((*GetQueryNodeDistributionRequest)(nil), "milvus.protov2.query.GetQueryNodeDistributionRequest") + proto.RegisterType((*GetQueryNodeDistributionResponse)(nil), "milvus.protov2.query.GetQueryNodeDistributionResponse") + proto.RegisterType((*SuspendBalanceRequest)(nil), "milvus.protov2.query.SuspendBalanceRequest") + proto.RegisterType((*ResumeBalanceRequest)(nil), "milvus.protov2.query.ResumeBalanceRequest") + proto.RegisterType((*SuspendNodeRequest)(nil), "milvus.protov2.query.SuspendNodeRequest") + proto.RegisterType((*ResumeNodeRequest)(nil), "milvus.protov2.query.ResumeNodeRequest") + proto.RegisterType((*TransferSegmentRequest)(nil), "milvus.protov2.query.TransferSegmentRequest") + proto.RegisterType((*TransferChannelRequest)(nil), "milvus.protov2.query.TransferChannelRequest") + proto.RegisterType((*CheckQueryNodeDistributionRequest)(nil), "milvus.protov2.query.CheckQueryNodeDistributionRequest") } func init() { proto.RegisterFile("query_coord.proto", fileDescriptor_aab7cc9a69ed26e8) } var fileDescriptor_aab7cc9a69ed26e8 = []byte{ - // 5028 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x24, 0x57, - 0x5a, 0x53, 0x7d, 0xb1, 0xbb, 0xbf, 0xbe, 0xfa, 0xf8, 0x32, 0xbd, 0xcd, 0x4c, 0xe2, 0xd4, 0xe4, - 0xe2, 0x4c, 0x12, 0xcf, 0xc4, 0xd9, 0x6c, 0xb2, 0xb3, 0x24, 0x61, 0xc6, 0x9e, 0x99, 0x98, 0x4c, - 0x1c, 0x53, 0x9e, 0x49, 0x50, 0x40, 0xe9, 0x29, 0x77, 0x1d, 0xb7, 0x8b, 0xa9, 0x4b, 0x4f, 0x55, - 0xb5, 0x27, 0x0e, 0x48, 0x5c, 0x84, 0x10, 0x0f, 0x0b, 0xcb, 0x03, 0xe2, 0x81, 0x15, 0x68, 0x5f, - 0x00, 0x09, 0x10, 0x62, 0xa5, 0x7d, 0xe1, 0x01, 0x69, 0xc5, 0x2b, 0x12, 0x12, 0x20, 0xf1, 0x23, - 0x78, 0xe2, 0x0d, 0xed, 0x03, 0x02, 0x9d, 0x5b, 0x55, 0x9d, 0xba, 0xb8, 0xcb, 0x6e, 0x4f, 0x92, - 0x05, 0xde, 0xba, 0xbe, 0x73, 0xf9, 0xbe, 0xf3, 0xdd, 0xce, 0xf7, 0x7d, 0xe7, 0x9c, 0x86, 0x85, - 0xc7, 0x13, 0xec, 0x1d, 0x0f, 0x86, 0xae, 0xeb, 0x19, 0xeb, 0x63, 0xcf, 0x0d, 0x5c, 0xb4, 0x64, - 0x9b, 0xd6, 0xd1, 0xc4, 0x67, 0x5f, 0x47, 0x1b, 0xeb, 0xb4, 0x47, 0xbf, 0x39, 0x74, 0x6d, 0xdb, - 0x75, 0x18, 0xb4, 0xdf, 0x8c, 0xf7, 0xe9, 0xb7, 0x4d, 0x27, 0xc0, 0x9e, 0xa3, 0x5b, 0xa2, 0xd5, - 0x1f, 0x1e, 0x62, 0x5b, 0xe7, 0x5f, 0x75, 0xdb, 0x1f, 0xf1, 0x9f, 0x5d, 0x43, 0x0f, 0xf4, 0x38, - 0xb2, 0xfe, 0x82, 0xe9, 0x18, 0xf8, 0xf3, 0x38, 0x48, 0xfd, 0x1d, 0x05, 0x56, 0xf6, 0x0e, 0xdd, - 0x27, 0x9b, 0xae, 0x65, 0xe1, 0x61, 0x60, 0xba, 0x8e, 0xaf, 0xe1, 0xc7, 0x13, 0xec, 0x07, 0x68, - 0x03, 0x2a, 0xfb, 0xba, 0x8f, 0x7b, 0xca, 0xaa, 0xb2, 0xd6, 0xd8, 0x78, 0x66, 0x3d, 0x41, 0x29, - 0x27, 0xf1, 0x43, 0x7f, 0x74, 0x4b, 0xf7, 0xb1, 0x46, 0xfb, 0x22, 0x04, 0x15, 0x63, 0x7f, 0x7b, - 0xab, 0x57, 0x5a, 0x55, 0xd6, 0xca, 0x1a, 0xfd, 0x8d, 0x9e, 0x87, 0xd6, 0x30, 0x9c, 0x7d, 0x7b, - 0xcb, 0xef, 0x95, 0x57, 0xcb, 0x6b, 0x65, 0x4d, 0x06, 0xaa, 0xdf, 0x2d, 0xc1, 0xc5, 0x14, 0x21, - 0xfe, 0xd8, 0x75, 0x7c, 0x8c, 0xde, 0x84, 0x39, 0x3f, 0xd0, 0x83, 0x89, 0xcf, 0x69, 0xb9, 0x9c, - 0x43, 0xcb, 0x1e, 0xed, 0xa4, 0xf1, 0xce, 0x69, 0xc4, 0xa5, 0x0c, 0xc4, 0xe8, 0x75, 0x58, 0x32, - 0x9d, 0x0f, 0xb1, 0xed, 0x7a, 0xc7, 0x83, 0x31, 0xf6, 0x86, 0xd8, 0x09, 0xf4, 0x11, 0x16, 0x54, - 0x2e, 0x8a, 0xb6, 0xdd, 0xa8, 0x09, 0x7d, 0x0b, 0x2e, 0x32, 0x49, 0xfa, 0xd8, 0x3b, 0x32, 0x87, - 0x78, 0xa0, 0x1f, 0xe9, 0xa6, 0xa5, 0xef, 0x5b, 0xb8, 0x57, 0x59, 0x2d, 0xaf, 0xd5, 0xb4, 0x65, - 0xda, 0xbc, 0xc7, 0x5a, 0x6f, 0x8a, 0x46, 0xf4, 0x32, 0x74, 0x3d, 0x7c, 0xe0, 0x61, 0xff, 0x70, - 0x30, 0xf6, 0xdc, 0x91, 0x87, 0x7d, 0xbf, 0x57, 0xa5, 0x68, 0x3a, 0x1c, 0xbe, 0xcb, 0xc1, 0xea, - 0x5f, 0x28, 0xb0, 0x4c, 0xd8, 0xb1, 0xab, 0x7b, 0x81, 0xf9, 0x54, 0xc4, 0xa2, 0x42, 0x33, 0xce, - 0x88, 0x5e, 0x99, 0xb6, 0x49, 0x30, 0xd2, 0x67, 0x2c, 0x08, 0x20, 0x0c, 0xac, 0x50, 0x62, 0x25, - 0x98, 0xfa, 0xcf, 0x5c, 0x83, 0xe2, 0x94, 0xce, 0x26, 0xb7, 0x24, 0xd6, 0x52, 0x1a, 0xeb, 0x59, - 0xa4, 0x96, 0xc5, 0xfd, 0x4a, 0x36, 0xf7, 0xff, 0xb5, 0x0c, 0xcb, 0xf7, 0x5c, 0xdd, 0x88, 0x94, - 0xf1, 0xab, 0xe0, 0xfe, 0x7b, 0x30, 0xc7, 0x6c, 0xbb, 0x57, 0xa1, 0xd8, 0x5e, 0x4a, 0x62, 0xe3, - 0x96, 0x1f, 0x51, 0xb9, 0x47, 0x01, 0x1a, 0x1f, 0x86, 0x5e, 0x80, 0xb6, 0x87, 0xc7, 0x96, 0x39, - 0xd4, 0x07, 0xce, 0xc4, 0xde, 0xc7, 0x5e, 0xaf, 0xba, 0xaa, 0xac, 0x55, 0xb5, 0x16, 0x87, 0xee, - 0x50, 0x20, 0xda, 0x87, 0xd6, 0x81, 0x89, 0x2d, 0x63, 0x40, 0xdd, 0xc3, 0xf6, 0x56, 0x6f, 0x6e, - 0xb5, 0xbc, 0xd6, 0xd8, 0x78, 0x67, 0x3d, 0xcb, 0x37, 0xad, 0x67, 0xf2, 0x65, 0xfd, 0x0e, 0x99, - 0x60, 0x9b, 0x8d, 0xbf, 0xed, 0x04, 0xde, 0xb1, 0xd6, 0x3c, 0x88, 0x81, 0x50, 0x0f, 0xe6, 0x39, - 0x93, 0x7b, 0xf3, 0xab, 0xca, 0x5a, 0x4d, 0x13, 0x9f, 0xe8, 0x25, 0xe8, 0x78, 0xd8, 0x77, 0x27, - 0xde, 0x10, 0x0f, 0x46, 0x9e, 0x3b, 0x19, 0xfb, 0xbd, 0xda, 0x6a, 0x79, 0xad, 0xae, 0xb5, 0x05, - 0xf8, 0x2e, 0x85, 0xf6, 0xdf, 0x83, 0x85, 0x14, 0x16, 0xd4, 0x85, 0xf2, 0x23, 0x7c, 0x4c, 0xc5, - 0x51, 0xd6, 0xc8, 0x4f, 0xb4, 0x04, 0xd5, 0x23, 0xdd, 0x9a, 0x60, 0xce, 0x6e, 0xf6, 0x71, 0xa3, - 0xf4, 0xb6, 0xa2, 0xfe, 0xa9, 0x02, 0x3d, 0x0d, 0x5b, 0x58, 0xf7, 0xf1, 0x57, 0x2b, 0xd8, 0x15, - 0x98, 0x73, 0x5c, 0x03, 0x6f, 0x6f, 0x51, 0xc1, 0x96, 0x35, 0xfe, 0xa5, 0xfe, 0x97, 0x02, 0x4b, - 0x77, 0x71, 0x40, 0xcc, 0xc1, 0xf4, 0x03, 0x73, 0x18, 0xda, 0xfc, 0x7b, 0x50, 0xf6, 0xf0, 0x63, - 0x4e, 0xdb, 0x6b, 0x49, 0xda, 0xc2, 0x0d, 0x21, 0x6b, 0xac, 0x46, 0x46, 0xa2, 0xe7, 0xa0, 0x69, - 0xd8, 0xd6, 0x60, 0x78, 0xa8, 0x3b, 0x0e, 0xb6, 0x98, 0x49, 0xd5, 0xb5, 0x86, 0x61, 0x5b, 0x9b, - 0x1c, 0x84, 0x9e, 0x01, 0xf0, 0xf1, 0xc8, 0xc6, 0x4e, 0x10, 0xf9, 0xe8, 0x18, 0x04, 0x5d, 0x85, - 0x85, 0x03, 0xcf, 0xb5, 0x07, 0xfe, 0xa1, 0xee, 0x19, 0x03, 0x0b, 0xeb, 0x06, 0xf6, 0x28, 0xfd, - 0x35, 0xad, 0x43, 0x1a, 0xf6, 0x08, 0xfc, 0x1e, 0x05, 0xa3, 0x37, 0xa1, 0xea, 0x0f, 0xdd, 0x31, - 0xa6, 0xfa, 0xd6, 0xde, 0x78, 0x36, 0x5b, 0x93, 0xb6, 0xf4, 0x40, 0xdf, 0x23, 0xdd, 0x34, 0xd6, - 0x5b, 0xfd, 0x71, 0x85, 0x99, 0xdd, 0xd7, 0xde, 0xe9, 0xc5, 0x4c, 0xb3, 0x7a, 0x5e, 0xa6, 0x39, - 0x57, 0xc8, 0x34, 0xe7, 0xa7, 0x99, 0x66, 0x8a, 0x77, 0xa7, 0x31, 0xcd, 0xda, 0x54, 0xd3, 0xac, - 0x67, 0x99, 0x26, 0xba, 0x0b, 0x1d, 0x16, 0x5a, 0x98, 0xce, 0x81, 0x3b, 0xb0, 0x4c, 0x3f, 0xe8, - 0x01, 0x25, 0xf4, 0xd9, 0xb4, 0xae, 0x1a, 0xf8, 0xf3, 0x75, 0x86, 0xda, 0x39, 0x70, 0xb5, 0x96, - 0x29, 0x7e, 0xde, 0x33, 0xfd, 0x60, 0x76, 0x1b, 0xff, 0x87, 0xc8, 0xc6, 0xbf, 0xfe, 0x5a, 0x14, - 0xf9, 0x81, 0xaa, 0xe4, 0x07, 0xfe, 0x4a, 0x81, 0x6f, 0xdc, 0xc5, 0x41, 0xb8, 0x00, 0x62, 0xd4, - 0xf8, 0x6b, 0x1b, 0x00, 0xfc, 0x50, 0x81, 0x7e, 0x16, 0xb5, 0xb3, 0x05, 0x01, 0xbf, 0x0c, 0x2b, - 0x21, 0x96, 0x81, 0x81, 0xfd, 0xa1, 0x67, 0x8e, 0xa9, 0x30, 0xa9, 0xef, 0x6a, 0x6c, 0xbc, 0x90, - 0x6d, 0x02, 0x49, 0x2a, 0x96, 0xc3, 0x49, 0xb6, 0x62, 0x73, 0xa8, 0xdf, 0x53, 0x60, 0x99, 0x78, - 0x4b, 0xee, 0xde, 0x88, 0x26, 0xce, 0xc0, 0x5d, 0xd9, 0x75, 0x96, 0x52, 0xae, 0xb3, 0x00, 0xa7, - 0xd5, 0xdf, 0x55, 0x60, 0x25, 0x49, 0xd1, 0x6c, 0x1c, 0x7c, 0x0b, 0xaa, 0xc4, 0x1c, 0x05, 0xc3, - 0x9e, 0xcb, 0x66, 0x58, 0x1c, 0x21, 0xeb, 0xaf, 0x8e, 0x19, 0x25, 0x91, 0x3f, 0x9f, 0x49, 0xf5, - 0x92, 0x8b, 0x2f, 0x65, 0x2c, 0xfe, 0x0f, 0x14, 0xb8, 0x98, 0x42, 0x39, 0xdb, 0xea, 0xdf, 0x85, - 0x39, 0xba, 0x53, 0x89, 0xe5, 0xbf, 0x98, 0xb3, 0xfc, 0x18, 0x4a, 0xe2, 0x81, 0x34, 0x3e, 0x4a, - 0x75, 0xa1, 0x9b, 0x6c, 0x23, 0xbb, 0x28, 0xdf, 0x41, 0x07, 0x8e, 0x6e, 0x33, 0x36, 0xd4, 0xb5, - 0x06, 0x87, 0xed, 0xe8, 0x36, 0x46, 0xdf, 0x80, 0x1a, 0x31, 0xe2, 0x81, 0x69, 0x08, 0x45, 0x98, - 0xa7, 0x46, 0x6d, 0xf8, 0xe8, 0x32, 0x00, 0x6d, 0xd2, 0x0d, 0xc3, 0x63, 0x1b, 0x6c, 0x5d, 0xab, - 0x13, 0xc8, 0x4d, 0x02, 0x50, 0xff, 0x58, 0x81, 0x67, 0xf6, 0x8e, 0x9d, 0xe1, 0x0e, 0x7e, 0xb2, - 0xe9, 0x61, 0x3d, 0xc0, 0x91, 0x2b, 0x7f, 0xca, 0xec, 0x47, 0xab, 0xd0, 0x88, 0x59, 0x34, 0x57, - 0xcf, 0x38, 0x48, 0xfd, 0x91, 0x02, 0x4d, 0xb2, 0xbb, 0x7c, 0x88, 0x03, 0x9d, 0xa8, 0x0a, 0xfa, - 0x0e, 0xd4, 0x2d, 0x57, 0x37, 0x06, 0xc1, 0xf1, 0x98, 0xd1, 0xd3, 0x4e, 0xd3, 0x13, 0x6d, 0x4a, - 0xf7, 0x8f, 0xc7, 0x58, 0xab, 0x59, 0xfc, 0x57, 0x21, 0x9a, 0x92, 0x9e, 0xa7, 0x9c, 0xe1, 0x3f, - 0x9f, 0x85, 0x86, 0x8d, 0x03, 0xcf, 0x1c, 0x32, 0x32, 0x2a, 0x54, 0x1c, 0xc0, 0x40, 0x04, 0x91, - 0xfa, 0x27, 0x73, 0xb0, 0xf2, 0x89, 0x1e, 0x0c, 0x0f, 0xb7, 0x6c, 0x11, 0xe7, 0xcc, 0xc2, 0xcb, - 0xc8, 0x5f, 0x97, 0xe2, 0xfe, 0xfa, 0xdc, 0xf6, 0x83, 0xd0, 0x62, 0xab, 0xd9, 0x16, 0x4b, 0x12, - 0xfa, 0xf5, 0x8f, 0xb9, 0xba, 0xc5, 0x2c, 0x36, 0x16, 0x8e, 0xcc, 0x9d, 0x2d, 0x1c, 0xb9, 0x0d, - 0x2d, 0xfc, 0xf9, 0xd0, 0x9a, 0x10, 0xcd, 0xa5, 0x14, 0xb0, 0x38, 0x63, 0x35, 0x93, 0x82, 0xb8, - 0xcb, 0x68, 0xf2, 0x61, 0xdb, 0x9c, 0x0e, 0xa6, 0x15, 0x36, 0x0e, 0x74, 0x1a, 0x4c, 0x34, 0x36, - 0xd4, 0x7c, 0xad, 0x10, 0xca, 0xc4, 0x34, 0x83, 0x7c, 0xa1, 0x4b, 0x50, 0xe7, 0x01, 0xd0, 0xf6, - 0x56, 0xaf, 0x4e, 0xd9, 0x18, 0x01, 0xd0, 0x10, 0x5a, 0xdc, 0xab, 0x72, 0x2a, 0x59, 0x90, 0xf1, - 0x6e, 0x36, 0x8a, 0x6c, 0xc1, 0xc7, 0xa9, 0xf7, 0x79, 0x38, 0xe4, 0xc7, 0x40, 0xe8, 0x79, 0x68, - 0xb9, 0x07, 0x07, 0x96, 0xe9, 0xe0, 0x1d, 0x26, 0xeb, 0x06, 0x25, 0x43, 0x06, 0x92, 0xa0, 0xe9, - 0x08, 0x7b, 0xbe, 0xe9, 0x3a, 0xbd, 0x26, 0x6d, 0x17, 0x9f, 0x59, 0xb1, 0x50, 0xeb, 0x4c, 0xb1, - 0x90, 0x0e, 0x0b, 0x29, 0x5a, 0x33, 0x62, 0xa1, 0x6f, 0xc5, 0x63, 0xa1, 0x22, 0x22, 0x8b, 0x45, - 0x4b, 0x7f, 0xa9, 0xc0, 0xf2, 0x03, 0xc7, 0x9f, 0xec, 0x87, 0x6c, 0xfa, 0xaa, 0xcc, 0x23, 0xe9, - 0x5a, 0x2b, 0x29, 0xd7, 0xaa, 0xfe, 0xdd, 0x1c, 0x74, 0xf8, 0x3a, 0x88, 0xf6, 0x50, 0x37, 0x74, - 0x09, 0xea, 0xe1, 0x3e, 0xcb, 0x99, 0x12, 0x01, 0x92, 0x7e, 0xad, 0x94, 0xf2, 0x6b, 0x85, 0x48, - 0x13, 0xb1, 0x53, 0x25, 0x16, 0x3b, 0x5d, 0x06, 0x38, 0xb0, 0x26, 0xfe, 0xe1, 0x20, 0x30, 0x6d, - 0xcc, 0xa3, 0xb7, 0x3a, 0x85, 0xdc, 0x37, 0x6d, 0x8c, 0x36, 0xa1, 0xb9, 0x6f, 0x3a, 0x96, 0x3b, - 0x1a, 0x8c, 0xf5, 0xe0, 0xd0, 0xe7, 0x09, 0x75, 0xb6, 0x68, 0x68, 0xbc, 0x7b, 0x8b, 0xf6, 0xd6, - 0x1a, 0x6c, 0xd4, 0x2e, 0x19, 0x84, 0x9e, 0x81, 0x86, 0x33, 0xb1, 0x07, 0xee, 0xc1, 0xc0, 0x73, - 0x9f, 0xf8, 0x34, 0x6d, 0x2e, 0x6b, 0x75, 0x67, 0x62, 0x7f, 0x74, 0xa0, 0xb9, 0x4f, 0xc8, 0x0e, - 0x57, 0x27, 0x7b, 0x9d, 0x6f, 0xb9, 0x23, 0x96, 0x32, 0x17, 0xc1, 0x10, 0x0d, 0x21, 0xe3, 0x0d, - 0x6c, 0x05, 0x3a, 0x1d, 0x5f, 0x2f, 0x3a, 0x3e, 0x1c, 0x82, 0x5e, 0x84, 0xf6, 0xd0, 0xb5, 0xc7, - 0x3a, 0xe5, 0xd3, 0x1d, 0xcf, 0xb5, 0xa9, 0x39, 0x96, 0xb5, 0x04, 0x14, 0xdd, 0x86, 0x46, 0x64, - 0x10, 0x7e, 0xaf, 0x41, 0x31, 0x3d, 0x9f, 0x6d, 0xb3, 0xb1, 0xe0, 0x9f, 0xa8, 0x2a, 0x84, 0x16, - 0xe1, 0x13, 0x0d, 0x11, 0xc6, 0xef, 0x9b, 0x5f, 0x60, 0x6e, 0x76, 0x0d, 0x0e, 0xdb, 0x33, 0xbf, - 0xc0, 0x24, 0xa9, 0x32, 0x1d, 0x1f, 0x7b, 0x81, 0x48, 0x74, 0x7b, 0x2d, 0xaa, 0x46, 0x2d, 0x06, - 0xe5, 0x2a, 0x8e, 0xee, 0x40, 0xdb, 0x0f, 0x74, 0x2f, 0x18, 0x8c, 0x5d, 0x9f, 0x2a, 0x42, 0xaf, - 0x4d, 0xb5, 0x3c, 0x65, 0xa0, 0xb6, 0x3f, 0x22, 0x2a, 0xbe, 0xcb, 0xbb, 0x69, 0x2d, 0x3a, 0x4c, - 0x7c, 0x92, 0x79, 0x28, 0x37, 0xa2, 0x79, 0x3a, 0x05, 0xe7, 0xa1, 0xc3, 0xc2, 0x79, 0xd6, 0x48, - 0x9a, 0xa5, 0x1b, 0xfa, 0xbe, 0x85, 0x3f, 0xe6, 0x3e, 0xa5, 0x4b, 0x17, 0x97, 0x04, 0x93, 0x0d, - 0xc2, 0xc2, 0x47, 0xd8, 0xea, 0x2d, 0xd0, 0x1d, 0xf7, 0xb9, 0x93, 0x6c, 0xfd, 0x1e, 0xe9, 0xa8, - 0xb1, 0xfe, 0xea, 0x9f, 0x95, 0xa1, 0x2d, 0xf3, 0x96, 0x78, 0x30, 0x96, 0x06, 0x0a, 0xc3, 0x11, - 0x9f, 0x84, 0xd3, 0xd8, 0x21, 0x68, 0x59, 0xd6, 0x49, 0xed, 0xa6, 0xa6, 0x35, 0x18, 0x8c, 0x4e, - 0x40, 0xf4, 0x9f, 0xc9, 0x94, 0x1a, 0x6b, 0x99, 0x72, 0xb9, 0x4e, 0x21, 0x34, 0x0a, 0xea, 0xc1, - 0xbc, 0x48, 0x58, 0x99, 0xd5, 0x88, 0x4f, 0xd2, 0xb2, 0x3f, 0x31, 0x29, 0x56, 0x66, 0x35, 0xe2, - 0x13, 0xdd, 0x81, 0x26, 0x9b, 0x72, 0xac, 0x7b, 0xba, 0x2d, 0x6c, 0xe6, 0x4a, 0x8e, 0xe7, 0xf9, - 0x00, 0x1f, 0x7f, 0x4c, 0xdc, 0xd8, 0xae, 0x6e, 0x7a, 0x1a, 0xd3, 0xaf, 0x5d, 0x3a, 0x0e, 0xad, - 0x41, 0x97, 0xcd, 0x73, 0x60, 0x5a, 0x98, 0xdb, 0xdf, 0x3c, 0xcb, 0x5a, 0x29, 0xfc, 0x8e, 0x69, - 0x61, 0x66, 0x60, 0xe1, 0x22, 0xa8, 0x3e, 0xd5, 0x98, 0x7d, 0x51, 0x08, 0xd5, 0xa6, 0x2b, 0xc0, - 0x1c, 0xf2, 0x40, 0x38, 0x7a, 0xb6, 0x1f, 0x31, 0x2a, 0x85, 0x44, 0x48, 0xbc, 0x37, 0xb1, 0x99, - 0x85, 0x02, 0x5b, 0x90, 0x33, 0xb1, 0xa9, 0x7d, 0x6e, 0xc0, 0xf2, 0x70, 0xe2, 0x79, 0x6c, 0xb7, - 0x8a, 0xcf, 0xd3, 0xa0, 0x99, 0xfe, 0x22, 0x6f, 0xdc, 0x8e, 0x4d, 0xa7, 0xfe, 0xa0, 0x0a, 0x8b, - 0xc4, 0xb9, 0x71, 0x19, 0xce, 0x14, 0xad, 0x5c, 0x06, 0x30, 0xfc, 0x60, 0x20, 0xb9, 0xe4, 0xba, - 0xe1, 0x07, 0x7c, 0x07, 0xfb, 0x8e, 0x08, 0x36, 0xca, 0x27, 0xe5, 0x53, 0x09, 0x87, 0x9b, 0x0e, - 0x38, 0xce, 0x58, 0x9a, 0xbc, 0x02, 0x2d, 0x5e, 0x58, 0x90, 0x32, 0xe0, 0x26, 0x03, 0xee, 0x64, - 0x6f, 0x1c, 0x73, 0x99, 0x45, 0xd2, 0x58, 0xc8, 0x31, 0x3f, 0x6b, 0xc8, 0x51, 0x4b, 0x86, 0x1c, - 0xef, 0x43, 0x47, 0xb6, 0x71, 0xe1, 0x2a, 0xa7, 0x1a, 0x79, 0x5b, 0x32, 0x72, 0x3f, 0x1e, 0x31, - 0x80, 0x1c, 0x31, 0x5c, 0x81, 0x96, 0x83, 0xb1, 0x31, 0x08, 0x3c, 0xdd, 0xf1, 0x0f, 0xb0, 0x47, - 0x15, 0xa4, 0xa6, 0x35, 0x09, 0xf0, 0x3e, 0x87, 0xa1, 0x77, 0x01, 0xe8, 0x3a, 0x59, 0x5d, 0xad, - 0x79, 0x52, 0x5d, 0x8d, 0x2a, 0x10, 0xad, 0xab, 0x51, 0xd6, 0xd0, 0x9f, 0xe7, 0x16, 0x96, 0xa8, - 0xff, 0x52, 0x82, 0x15, 0x5e, 0x61, 0x39, 0x0f, 0x2d, 0xcd, 0x0b, 0x1a, 0xc4, 0xae, 0x5b, 0x3e, - 0xa1, 0x62, 0x51, 0x29, 0x10, 0x67, 0x57, 0x33, 0xe2, 0x6c, 0x39, 0x5f, 0x9f, 0x4b, 0xe5, 0xeb, - 0x61, 0xf9, 0x72, 0xfe, 0x34, 0xe5, 0x4b, 0xb4, 0x04, 0x55, 0x9a, 0x3c, 0x52, 0x2d, 0xaa, 0x6b, - 0xec, 0xa3, 0x90, 0x74, 0xd5, 0xef, 0x97, 0xa0, 0xb5, 0x87, 0x75, 0x6f, 0x78, 0x28, 0x78, 0xf9, - 0x76, 0xbc, 0xe4, 0xfb, 0x62, 0x6e, 0xc9, 0x57, 0x1a, 0xf4, 0x53, 0x54, 0xeb, 0x25, 0x28, 0x02, - 0x37, 0xd0, 0x43, 0x3a, 0x07, 0xce, 0xc4, 0xe6, 0x35, 0xd0, 0x0e, 0x6d, 0xe0, 0xc4, 0xee, 0x4c, - 0x6c, 0xf5, 0x3f, 0x14, 0x68, 0xfe, 0x02, 0x99, 0x46, 0x30, 0xe7, 0x46, 0x9c, 0x39, 0x6b, 0xb9, - 0xcc, 0xd1, 0x48, 0x26, 0x88, 0x8f, 0xf0, 0x4f, 0x61, 0x29, 0xfc, 0x1f, 0x15, 0xe8, 0xef, 0x1d, - 0x3b, 0x43, 0x8d, 0x79, 0xa2, 0xf3, 0xb0, 0xb4, 0x2b, 0xd0, 0x3a, 0x92, 0x62, 0xec, 0x12, 0x55, - 0xd3, 0xe6, 0x51, 0xbc, 0x7e, 0x71, 0x1f, 0xba, 0xa2, 0x2e, 0xcd, 0x17, 0x2c, 0x36, 0x88, 0x97, - 0xb3, 0x29, 0x4f, 0x10, 0x48, 0x3d, 0x46, 0xc7, 0x93, 0x81, 0xea, 0xef, 0x2b, 0xb0, 0x98, 0xd1, - 0x11, 0x5d, 0x84, 0x79, 0x5e, 0x2d, 0xe1, 0x31, 0x08, 0xb3, 0x7e, 0x83, 0x08, 0x29, 0xaa, 0xfe, - 0x99, 0x46, 0x3a, 0x74, 0x37, 0x48, 0xf2, 0x1f, 0x26, 0x83, 0x46, 0x4a, 0x4a, 0x86, 0x8f, 0xfa, - 0x50, 0xe3, 0x1e, 0x56, 0x64, 0xdb, 0xe1, 0xb7, 0x6a, 0x03, 0xba, 0x8b, 0xa3, 0x5d, 0x6d, 0x36, - 0xae, 0x46, 0xfe, 0x27, 0x22, 0x35, 0xee, 0x94, 0x0c, 0xf5, 0xdf, 0x15, 0x58, 0x94, 0xf0, 0xcd, - 0x56, 0xdb, 0x8a, 0x76, 0xdf, 0xd2, 0xd9, 0x76, 0x5f, 0xa9, 0x7a, 0x53, 0x3e, 0x65, 0xf5, 0xe6, - 0x19, 0x80, 0x50, 0x0e, 0x82, 0xb3, 0x31, 0x88, 0xfa, 0x63, 0x05, 0x56, 0xde, 0xd7, 0x1d, 0xc3, - 0x3d, 0x38, 0x38, 0x0f, 0xb5, 0xbd, 0x0d, 0x52, 0x7e, 0x5e, 0xbc, 0x9a, 0x29, 0xa7, 0xf5, 0xaf, - 0xc0, 0x82, 0xc7, 0x76, 0x2d, 0x43, 0xd6, 0xec, 0xb2, 0xd6, 0x15, 0x0d, 0xa1, 0xbe, 0xfe, 0x6d, - 0x09, 0x10, 0x59, 0xf9, 0x2d, 0xdd, 0xd2, 0x9d, 0x21, 0x9e, 0x85, 0xfc, 0x17, 0xa0, 0x2d, 0x05, - 0x3a, 0xe1, 0x2d, 0x84, 0x78, 0xa4, 0xe3, 0xa3, 0x0f, 0xa1, 0xbd, 0xcf, 0x90, 0x0d, 0x3c, 0xac, - 0xfb, 0xae, 0xc3, 0xc5, 0x92, 0x53, 0xb6, 0xbc, 0xef, 0x99, 0xa3, 0x11, 0xf6, 0x36, 0x5d, 0xc7, - 0xe0, 0x29, 0xc5, 0xbe, 0x20, 0x95, 0x0c, 0x26, 0xc6, 0x11, 0xc5, 0x7e, 0xa1, 0x90, 0xc2, 0xe0, - 0x8f, 0xb2, 0xc3, 0xc7, 0xba, 0x15, 0x31, 0x23, 0xda, 0x2b, 0xbb, 0xac, 0x61, 0x2f, 0xbf, 0x7e, - 0x9d, 0x11, 0x87, 0xa9, 0x3f, 0x52, 0x00, 0x85, 0x55, 0x04, 0x5a, 0x7a, 0xa1, 0x16, 0x9e, 0x1c, - 0xaa, 0x64, 0x6c, 0xd9, 0x97, 0xa0, 0x6e, 0x88, 0x91, 0xdc, 0x29, 0x45, 0x00, 0xba, 0x7f, 0x52, - 0xa2, 0x07, 0x44, 0x03, 0xb1, 0x21, 0x72, 0x74, 0x06, 0xbc, 0x47, 0x61, 0x72, 0x10, 0x57, 0x49, - 0x06, 0x71, 0xf1, 0xa2, 0x6c, 0x55, 0x2a, 0xca, 0xaa, 0x7f, 0x5d, 0x82, 0x2e, 0xdd, 0x5a, 0x36, - 0xa3, 0xaa, 0x5a, 0x21, 0xa2, 0xaf, 0x40, 0x8b, 0xdf, 0xe6, 0x91, 0x08, 0x6f, 0x3e, 0x8e, 0x4d, - 0x86, 0xae, 0xc3, 0x12, 0xeb, 0xe4, 0x61, 0x7f, 0x62, 0x45, 0x69, 0x29, 0x4b, 0x98, 0xd0, 0x63, - 0xb6, 0xa7, 0x91, 0x26, 0x31, 0xe2, 0x13, 0x58, 0x19, 0x59, 0xee, 0xbe, 0x6e, 0x0d, 0x64, 0xf1, - 0x30, 0x19, 0x16, 0xd2, 0xfb, 0x25, 0x36, 0xc1, 0x5e, 0x5c, 0x8a, 0x3e, 0xda, 0x82, 0x96, 0x8f, - 0xf1, 0xa3, 0x28, 0x57, 0xad, 0x16, 0xcb, 0x55, 0x9b, 0x64, 0x94, 0xf8, 0x52, 0x7f, 0xa0, 0x40, - 0x27, 0x71, 0xc4, 0x92, 0xac, 0xb2, 0x28, 0xe9, 0x2a, 0xcb, 0x0d, 0xa8, 0x12, 0xcf, 0xc5, 0x76, - 0x9c, 0x76, 0x5e, 0xee, 0x2f, 0xcf, 0xab, 0xb1, 0x21, 0xe8, 0x1a, 0x2c, 0x66, 0x5c, 0xf4, 0xe0, - 0x4a, 0x80, 0xd2, 0xf7, 0x3c, 0xd4, 0x9f, 0x54, 0xa0, 0x11, 0x63, 0xc7, 0x94, 0x12, 0xd1, 0xb9, - 0x94, 0xc7, 0xf3, 0x0e, 0xf4, 0x89, 0xe2, 0xd9, 0xd8, 0x66, 0xf9, 0x25, 0x4f, 0x77, 0x6d, 0x6c, - 0xd3, 0xec, 0x32, 0x9e, 0x38, 0xce, 0xc9, 0x89, 0xa3, 0x9c, 0x5c, 0xcf, 0x9f, 0x90, 0x5c, 0xd7, - 0xe4, 0xe4, 0x5a, 0x32, 0xa4, 0x7a, 0xd2, 0x90, 0x8a, 0xd6, 0x6b, 0xae, 0xc3, 0xe2, 0x90, 0x1d, - 0x40, 0xdc, 0x3a, 0xde, 0x0c, 0x9b, 0x78, 0xd8, 0x9a, 0xd5, 0x84, 0xde, 0x8f, 0xea, 0xb2, 0x4c, - 0xce, 0x2c, 0x3d, 0xc9, 0xcb, 0xdd, 0xb9, 0x74, 0x98, 0x98, 0x85, 0x97, 0xa6, 0x5f, 0xc9, 0x5a, - 0x51, 0xeb, 0x8c, 0xb5, 0xa2, 0x67, 0xa1, 0x21, 0xa2, 0x18, 0x62, 0xf3, 0x6d, 0xe6, 0xfe, 0x84, - 0x43, 0x30, 0x7c, 0xc9, 0x23, 0x74, 0xe4, 0x63, 0x9a, 0x64, 0xf5, 0xa3, 0x9b, 0xae, 0x7e, 0x5c, - 0x84, 0x79, 0xd3, 0x1f, 0x1c, 0xe8, 0x8f, 0x30, 0x2d, 0xc4, 0xd4, 0xb4, 0x39, 0xd3, 0xbf, 0xa3, - 0x3f, 0xc2, 0xea, 0xbf, 0x95, 0xa1, 0x1d, 0x6d, 0xba, 0x85, 0x7d, 0x49, 0x91, 0x0b, 0x4f, 0xbb, - 0xd0, 0x8d, 0x22, 0x22, 0xca, 0xe5, 0x29, 0x99, 0x7b, 0xf2, 0x24, 0xb4, 0x33, 0x4e, 0xd8, 0xad, - 0x14, 0x04, 0x54, 0x4e, 0x19, 0x04, 0xcc, 0x7c, 0x01, 0xe2, 0x0d, 0x58, 0x0e, 0xf7, 0x63, 0x69, - 0xf1, 0x2c, 0x1d, 0x5b, 0x12, 0x8d, 0xbb, 0x71, 0x26, 0xe4, 0x38, 0x83, 0xf9, 0x3c, 0x67, 0x90, - 0x54, 0x84, 0x5a, 0x4a, 0x11, 0xd2, 0xf7, 0x30, 0xea, 0x19, 0xf7, 0x30, 0xd4, 0x07, 0xb0, 0x48, - 0xeb, 0xe4, 0xfe, 0xd0, 0x33, 0xf7, 0x71, 0x98, 0x28, 0x14, 0x11, 0x6e, 0x1f, 0x6a, 0x89, 0x5c, - 0x23, 0xfc, 0x56, 0xbf, 0xab, 0xc0, 0x4a, 0x7a, 0x5e, 0xaa, 0x37, 0x91, 0x4b, 0x51, 0x24, 0x97, - 0xf2, 0x29, 0x2c, 0xc6, 0xe2, 0x4d, 0x69, 0xe6, 0xdc, 0x18, 0x3d, 0x83, 0x74, 0x0d, 0x45, 0xb3, - 0x08, 0x98, 0xfa, 0x13, 0x25, 0x3c, 0x72, 0x20, 0xb0, 0x11, 0x3d, 0xd5, 0x21, 0x3b, 0x9d, 0xeb, - 0x58, 0xa6, 0x13, 0x96, 0x6a, 0xf8, 0x2a, 0x19, 0x90, 0x97, 0x6a, 0x7e, 0x1e, 0x3a, 0xbc, 0x53, - 0xb8, 0x61, 0x15, 0x0e, 0xd4, 0xda, 0x6c, 0x64, 0xb8, 0x55, 0xbd, 0x00, 0x6d, 0x7e, 0xd8, 0x22, - 0x30, 0x96, 0xb3, 0x8e, 0x60, 0xee, 0x41, 0x57, 0x74, 0x3b, 0xfd, 0x26, 0xd9, 0xe1, 0x43, 0xc3, - 0x90, 0xef, 0xf7, 0x14, 0xe8, 0xc9, 0x5b, 0x66, 0x8c, 0x05, 0x67, 0x09, 0xfc, 0xde, 0x91, 0x8f, - 0xdf, 0x5f, 0x3a, 0x91, 0xa6, 0x08, 0x97, 0x38, 0x84, 0xff, 0xa3, 0x12, 0xbd, 0x55, 0x41, 0x12, - 0xc3, 0x2d, 0xd3, 0x0f, 0x3c, 0x73, 0x7f, 0x32, 0xeb, 0x51, 0xf0, 0x10, 0x1a, 0xc3, 0x43, 0x3c, - 0x7c, 0x34, 0x76, 0xcd, 0x48, 0x3e, 0x37, 0xb3, 0xe9, 0xca, 0x47, 0xbd, 0xbe, 0x19, 0xcd, 0xc1, - 0xce, 0xcf, 0xe2, 0xb3, 0xf6, 0x07, 0xd0, 0x4d, 0x76, 0x88, 0x1f, 0x5a, 0xd5, 0xd9, 0xa1, 0xd5, - 0x9b, 0xf2, 0xa1, 0xd5, 0xd4, 0x28, 0x24, 0x76, 0x66, 0xf5, 0xf7, 0x25, 0xf8, 0x99, 0x4c, 0xea, - 0x66, 0xcb, 0xa9, 0xf2, 0xea, 0x50, 0x5b, 0x50, 0x4b, 0x24, 0xc2, 0x6b, 0x27, 0x4a, 0x92, 0x57, - 0x72, 0x59, 0x91, 0xd1, 0x8f, 0xa2, 0xaf, 0xc8, 0x09, 0x54, 0x4e, 0x9a, 0x85, 0xdb, 0xa2, 0x34, - 0x8b, 0x18, 0x89, 0x36, 0xa1, 0xc9, 0x8a, 0x0d, 0x83, 0x23, 0x13, 0x3f, 0x11, 0xc7, 0xc4, 0xab, - 0x39, 0x4e, 0x9b, 0xf6, 0xfc, 0xd8, 0xc4, 0x4f, 0xb4, 0x86, 0x15, 0xfe, 0xf6, 0xd5, 0xef, 0x57, - 0x00, 0xa2, 0x36, 0x92, 0xcd, 0x45, 0x9e, 0x80, 0x9b, 0x76, 0x0c, 0x42, 0xa2, 0x0d, 0x39, 0xc2, - 0x15, 0x9f, 0xe8, 0x7e, 0x74, 0x20, 0x63, 0x98, 0x7e, 0xc0, 0xb9, 0xf3, 0xfa, 0x34, 0x6a, 0x04, - 0xa3, 0x88, 0xf0, 0xb8, 0xfe, 0xf8, 0x11, 0x04, 0xbd, 0x06, 0x68, 0xe4, 0xb9, 0x4f, 0x4c, 0x67, - 0x14, 0xcf, 0x4c, 0x58, 0x02, 0xb3, 0xc0, 0x5b, 0x62, 0xa9, 0xc9, 0x43, 0xe8, 0x26, 0xba, 0x0b, - 0xb6, 0xbc, 0x39, 0x95, 0x90, 0xbb, 0xd2, 0x6c, 0x5c, 0x99, 0x3b, 0x32, 0x0e, 0x7a, 0x1e, 0x7c, - 0x5f, 0xf7, 0x46, 0x58, 0x48, 0x96, 0x47, 0x6b, 0x32, 0xb0, 0xaf, 0x43, 0x37, 0xb9, 0xae, 0x8c, - 0xb3, 0xda, 0xb7, 0x64, 0xb5, 0x3f, 0xd9, 0x4f, 0x91, 0x89, 0x62, 0x8a, 0xdf, 0x1f, 0xc2, 0x52, - 0x16, 0xc5, 0x19, 0x68, 0x66, 0xb0, 0xae, 0xf7, 0xc2, 0xe0, 0x99, 0x4a, 0x23, 0x6f, 0x17, 0x8a, - 0x15, 0xb3, 0x4b, 0x52, 0x31, 0x5b, 0xfd, 0xed, 0x32, 0xa0, 0xb4, 0x29, 0xa0, 0x36, 0x94, 0xc2, - 0x49, 0x4a, 0xdb, 0x5b, 0x09, 0xb5, 0x2b, 0xa5, 0xd4, 0xee, 0x12, 0xd4, 0xc3, 0xa8, 0x80, 0xbb, - 0xff, 0x08, 0x10, 0x57, 0xca, 0x8a, 0xac, 0x94, 0x31, 0xc2, 0xaa, 0x72, 0x95, 0xfd, 0x3a, 0x2c, - 0x59, 0xba, 0x1f, 0x0c, 0x58, 0x39, 0x3f, 0x30, 0x6d, 0xec, 0x07, 0xba, 0x3d, 0xa6, 0xe2, 0xac, - 0x68, 0x88, 0xb4, 0x6d, 0x91, 0xa6, 0xfb, 0xa2, 0x05, 0x7d, 0x2c, 0xe2, 0x70, 0xe2, 0x91, 0xf9, - 0x8d, 0x88, 0xb7, 0x8a, 0x1a, 0x7f, 0x54, 0x40, 0x67, 0x7a, 0x55, 0x0f, 0xc3, 0xd3, 0xfe, 0x3e, - 0xb4, 0xe5, 0xc6, 0x0c, 0x11, 0xde, 0x90, 0x45, 0x58, 0x2c, 0x04, 0x8e, 0xc9, 0xf1, 0x10, 0x50, - 0xda, 0x95, 0xc4, 0xf9, 0xa6, 0xc8, 0x7c, 0x9b, 0x26, 0x8f, 0x18, 0x5f, 0xcb, 0xb2, 0xc0, 0xff, - 0xa9, 0x0c, 0x28, 0x8a, 0xf2, 0xc2, 0x93, 0xf9, 0x22, 0xa1, 0xd1, 0x35, 0x58, 0x4c, 0xc7, 0x80, - 0x22, 0xfc, 0x45, 0xa9, 0x08, 0x30, 0x2b, 0x5a, 0x2b, 0x67, 0xdd, 0x9a, 0x7d, 0x3b, 0xdc, 0x02, - 0x58, 0x58, 0xbb, 0x7a, 0xc2, 0x39, 0x89, 0xbc, 0x0b, 0x0c, 0x92, 0xf7, 0x6d, 0x99, 0x2f, 0xb9, - 0x91, 0xe3, 0xac, 0x53, 0xcb, 0x9e, 0x7a, 0xd9, 0x56, 0x0a, 0xba, 0xe7, 0x4e, 0x19, 0x74, 0x5f, - 0x81, 0x96, 0x87, 0x87, 0xee, 0x11, 0xf6, 0x98, 0xfe, 0xd2, 0xc0, 0xb7, 0xaa, 0x35, 0x39, 0x90, - 0x6a, 0xee, 0xec, 0x57, 0x68, 0x7f, 0xa3, 0x0c, 0x0b, 0x21, 0xcf, 0x4f, 0x25, 0xcf, 0xe9, 0xf7, - 0x2d, 0x9e, 0xba, 0x00, 0x3f, 0xcb, 0x16, 0xe0, 0xb7, 0xa7, 0xe4, 0x48, 0x85, 0xe5, 0xf7, 0xe5, - 0x88, 0xe0, 0x0b, 0x98, 0xe7, 0xe5, 0xf2, 0x94, 0xe3, 0x2c, 0x52, 0xb0, 0x58, 0x82, 0x2a, 0xf1, - 0xd3, 0xa2, 0xbe, 0xc9, 0x3e, 0x18, 0xef, 0xe3, 0xb7, 0xb9, 0xb9, 0xef, 0x6c, 0x49, 0x97, 0xb9, - 0xd5, 0xef, 0x95, 0x01, 0xf6, 0x8e, 0x9d, 0xe1, 0x4d, 0x66, 0xf8, 0x1b, 0x50, 0x99, 0x7e, 0xc7, - 0x8f, 0xf4, 0xa7, 0xba, 0x4a, 0xfb, 0x16, 0xd0, 0x03, 0xa9, 0x28, 0x53, 0x4e, 0x16, 0x65, 0xf2, - 0xca, 0x29, 0xf9, 0xce, 0xfd, 0xdb, 0x50, 0xa1, 0x4e, 0x9a, 0x5d, 0x7f, 0x2b, 0x78, 0x96, 0x4d, - 0x87, 0xa0, 0x35, 0x10, 0x5b, 0xfe, 0xb6, 0xc3, 0xf6, 0x74, 0xea, 0xea, 0xcb, 0x5a, 0x12, 0x8c, - 0x5e, 0x84, 0x36, 0x2b, 0xca, 0x85, 0x1d, 0x59, 0x3e, 0x99, 0x80, 0xa6, 0x23, 0x86, 0x7a, 0x46, - 0xc4, 0x40, 0xf0, 0x1a, 0x9e, 0x3b, 0x1e, 0xc7, 0xa6, 0x63, 0xf5, 0x98, 0x24, 0x58, 0xfd, 0xcd, - 0x32, 0x5c, 0x24, 0x1c, 0x3e, 0xaf, 0x3c, 0xa0, 0x88, 0x0a, 0xc5, 0x76, 0x8a, 0xb2, 0xbc, 0x53, - 0xdc, 0x80, 0x79, 0x56, 0xf6, 0x11, 0x91, 0xec, 0x6a, 0xbe, 0x4e, 0x30, 0x1d, 0xd2, 0xc4, 0x80, - 0xd9, 0xab, 0x06, 0xd2, 0x69, 0xff, 0xdc, 0xac, 0xa7, 0xfd, 0xf3, 0xc9, 0x42, 0x71, 0x4c, 0xc1, - 0x6a, 0xf2, 0x2e, 0xf7, 0x00, 0x5a, 0x5a, 0xdc, 0x4c, 0x10, 0x82, 0x4a, 0xec, 0x0e, 0x30, 0xfd, - 0x4d, 0x53, 0x7d, 0x7d, 0xac, 0x0f, 0xcd, 0xe0, 0x98, 0x32, 0xb5, 0xaa, 0x85, 0xdf, 0xd9, 0x36, - 0x49, 0x32, 0xee, 0x15, 0x71, 0x08, 0xcc, 0x2d, 0x7e, 0x16, 0xc9, 0x6e, 0xc0, 0x32, 0x37, 0xf0, - 0x84, 0xa5, 0xb3, 0xd0, 0x7d, 0x91, 0xc1, 0xe4, 0x85, 0x6c, 0xc0, 0x72, 0x40, 0xf5, 0x2c, 0x39, - 0x86, 0xc9, 0x7d, 0x91, 0x35, 0xca, 0x63, 0x8a, 0x1c, 0xc4, 0x3f, 0xcb, 0xae, 0xaf, 0x71, 0xe6, - 0x72, 0x83, 0x05, 0x67, 0x62, 0xf3, 0x75, 0xaa, 0xc7, 0x70, 0x89, 0xdd, 0xc9, 0xdf, 0x97, 0x29, - 0x9a, 0xf1, 0xb4, 0x25, 0x73, 0xe5, 0x09, 0x1f, 0xf7, 0xe7, 0x0a, 0x5c, 0xce, 0xc1, 0x3d, 0x5b, - 0x16, 0xb9, 0x93, 0x89, 0x3f, 0x37, 0xfb, 0x97, 0x70, 0xb3, 0xcb, 0x16, 0x32, 0xa1, 0xff, 0x5d, - 0x81, 0x85, 0x54, 0xa7, 0x53, 0xeb, 0xde, 0xab, 0x80, 0x88, 0x28, 0xc2, 0x57, 0xaa, 0xb4, 0xac, - 0xc2, 0x77, 0xde, 0xae, 0x33, 0xb1, 0xc3, 0x17, 0xaa, 0x3b, 0xae, 0x81, 0xd1, 0x23, 0xd6, 0x9b, - 0x9d, 0xb6, 0x84, 0xf2, 0xab, 0x9c, 0xf4, 0xf0, 0x28, 0x45, 0xe2, 0xfa, 0xce, 0xc4, 0x66, 0x47, - 0x33, 0x5c, 0xda, 0x6c, 0x2f, 0x25, 0xc8, 0x24, 0x30, 0x3a, 0x84, 0x05, 0x7a, 0xc9, 0x71, 0x12, - 0x8c, 0x5c, 0x92, 0xc4, 0x51, 0xca, 0xd8, 0x9e, 0xfd, 0xb3, 0xa7, 0xc0, 0xf5, 0x11, 0x1f, 0x4f, - 0x16, 0xc0, 0xf3, 0x38, 0x47, 0x86, 0x0a, 0x4c, 0xa6, 0x33, 0x74, 0xed, 0x10, 0xd3, 0xdc, 0xa9, - 0x31, 0x6d, 0xf3, 0xf1, 0x32, 0xa6, 0x38, 0xb4, 0xbf, 0x09, 0xcb, 0x99, 0xcb, 0x9f, 0x16, 0x02, - 0x54, 0xe3, 0xd9, 0xde, 0x2d, 0x58, 0xca, 0x5a, 0xd7, 0x19, 0xe6, 0x48, 0x51, 0x7c, 0x9a, 0x39, - 0xd4, 0xbf, 0x29, 0x41, 0x6b, 0x0b, 0x5b, 0x38, 0xc0, 0x4f, 0xfb, 0x94, 0x3c, 0x75, 0xe8, 0x5f, - 0x4e, 0x1f, 0xfa, 0xa7, 0xee, 0x30, 0x54, 0x32, 0xee, 0x30, 0x5c, 0x0e, 0xaf, 0x6f, 0x90, 0x59, - 0xaa, 0x72, 0x74, 0x61, 0xa0, 0x77, 0xa0, 0x39, 0xf6, 0x4c, 0x5b, 0xf7, 0x8e, 0x07, 0x8f, 0xf0, - 0xb1, 0xcf, 0xb7, 0x91, 0x7e, 0xce, 0x56, 0xb4, 0xbd, 0xe5, 0x6b, 0x0d, 0xde, 0xff, 0x03, 0x7c, - 0x4c, 0x2f, 0x87, 0x84, 0xc9, 0x23, 0xbb, 0x59, 0x58, 0xd1, 0x62, 0x10, 0xf5, 0x57, 0x60, 0x85, - 0x6c, 0x7b, 0x47, 0x7a, 0x80, 0x69, 0x21, 0x8c, 0x38, 0xf6, 0xb3, 0x33, 0xee, 0x12, 0xd4, 0x87, - 0x6c, 0x16, 0xbe, 0x51, 0x57, 0xb5, 0x08, 0xa0, 0x5a, 0xd0, 0xdb, 0xc2, 0xfa, 0x97, 0x85, 0xcd, - 0x84, 0xc5, 0x7b, 0xa6, 0x1f, 0x70, 0x3c, 0xfe, 0x8c, 0x2f, 0xa6, 0xc2, 0x79, 0x59, 0xc2, 0x57, - 0xd5, 0x62, 0x10, 0xf5, 0x0f, 0x15, 0x58, 0x92, 0x71, 0xcd, 0xe6, 0x97, 0x6f, 0x43, 0x53, 0xcc, - 0x3e, 0xfd, 0x12, 0xc1, 0x66, 0xd4, 0x53, 0x93, 0x86, 0xa9, 0x18, 0x1a, 0xb1, 0x46, 0x12, 0x9b, - 0xf3, 0x9b, 0x2b, 0x55, 0xad, 0x64, 0x1a, 0xf4, 0xce, 0x1a, 0xf6, 0x87, 0x7c, 0xcf, 0xa1, 0xbf, - 0x09, 0x4b, 0x85, 0x80, 0x98, 0x46, 0xd7, 0xb4, 0x08, 0x40, 0xec, 0xee, 0xc0, 0x9d, 0x38, 0x06, - 0xbf, 0x3d, 0xc4, 0x3e, 0xae, 0xbe, 0x02, 0xf5, 0xf0, 0x0e, 0x1f, 0xaa, 0x41, 0xe5, 0xce, 0xc4, - 0xb2, 0xba, 0x17, 0x50, 0x1d, 0xaa, 0xb4, 0x42, 0xd1, 0x55, 0xc8, 0x4f, 0x9a, 0x5c, 0x74, 0x4b, - 0x57, 0x7f, 0x0e, 0xea, 0xe1, 0xed, 0x21, 0xd4, 0x80, 0xf9, 0x07, 0xce, 0x07, 0x8e, 0xfb, 0xc4, - 0xe9, 0x5e, 0x40, 0xf3, 0x50, 0xbe, 0x69, 0x59, 0x5d, 0x05, 0xb5, 0xa0, 0xbe, 0x17, 0x78, 0x58, - 0x27, 0x5e, 0xa0, 0x5b, 0x42, 0x6d, 0x80, 0xf7, 0x4d, 0x3f, 0x70, 0x3d, 0x73, 0xa8, 0x5b, 0xdd, - 0xf2, 0xd5, 0x2f, 0xa0, 0x2d, 0x1f, 0x16, 0xa1, 0x26, 0xd4, 0x76, 0xdc, 0xe0, 0xf6, 0xe7, 0xa6, - 0x1f, 0x74, 0x2f, 0x90, 0xfe, 0x3b, 0x6e, 0xb0, 0xeb, 0x61, 0x1f, 0x3b, 0x41, 0x57, 0x41, 0x00, - 0x73, 0x1f, 0x39, 0x5b, 0xa6, 0xff, 0xa8, 0x5b, 0x42, 0x8b, 0xfc, 0x3c, 0x58, 0xb7, 0xb6, 0xf9, - 0xe9, 0x4b, 0xb7, 0x4c, 0x86, 0x87, 0x5f, 0x15, 0xd4, 0x85, 0x66, 0xd8, 0xe5, 0xee, 0xee, 0x83, - 0x6e, 0x95, 0x51, 0x4f, 0x7e, 0xce, 0x5d, 0x35, 0xa0, 0x9b, 0xbc, 0xcb, 0x40, 0xe6, 0x64, 0x8b, - 0x08, 0x41, 0xdd, 0x0b, 0x64, 0x65, 0xfc, 0x52, 0x49, 0x57, 0x41, 0x1d, 0x68, 0xc4, 0xae, 0x67, - 0x74, 0x4b, 0x04, 0x70, 0xd7, 0x1b, 0x0f, 0xb9, 0x4a, 0x32, 0x12, 0x88, 0xbf, 0xdb, 0x22, 0x9c, - 0xa8, 0x5c, 0xbd, 0x05, 0x35, 0x91, 0x4e, 0x93, 0xae, 0x9c, 0x45, 0xe4, 0xb3, 0x7b, 0x01, 0x2d, - 0x40, 0x4b, 0x7a, 0x38, 0xdb, 0x55, 0x10, 0x82, 0xb6, 0xfc, 0xcc, 0xbd, 0x5b, 0xba, 0xba, 0x01, - 0x10, 0xe5, 0x9b, 0x84, 0x9c, 0x6d, 0xe7, 0x48, 0xb7, 0x4c, 0x83, 0xd1, 0x46, 0x9a, 0x08, 0x77, - 0x29, 0x77, 0x98, 0xeb, 0xef, 0x96, 0xae, 0xbe, 0x03, 0x35, 0x91, 0x1a, 0x11, 0xb8, 0x86, 0x6d, - 0xf7, 0x08, 0x33, 0xc9, 0xec, 0xe1, 0x80, 0xc9, 0xf1, 0xa6, 0x8d, 0x1d, 0xa3, 0x5b, 0x22, 0x64, - 0x3c, 0x18, 0x1b, 0x7a, 0x20, 0x2e, 0x7b, 0x77, 0xcb, 0x1b, 0xff, 0xb9, 0x02, 0xc0, 0x2e, 0x27, - 0xb8, 0xae, 0x67, 0xa0, 0x31, 0xbd, 0xb4, 0xb4, 0xe9, 0xda, 0x63, 0xd7, 0x11, 0x27, 0xa6, 0x3e, - 0xba, 0x9e, 0xaa, 0xee, 0xb1, 0xcf, 0x74, 0x57, 0xce, 0x9d, 0xfe, 0x8b, 0x39, 0x23, 0x12, 0xdd, - 0xd5, 0x0b, 0xe8, 0x31, 0xc5, 0x48, 0x92, 0xda, 0xfb, 0xe6, 0xf0, 0x91, 0x38, 0x48, 0xde, 0x38, - 0xe9, 0x01, 0x7a, 0xa2, 0xb3, 0xc0, 0xf9, 0x42, 0x0e, 0xce, 0xbd, 0xc0, 0x33, 0x9d, 0x91, 0x30, - 0x6f, 0xf5, 0x02, 0x9a, 0x24, 0x9e, 0xc0, 0x0b, 0xa4, 0xdf, 0x2c, 0xf6, 0xea, 0xfd, 0xac, 0x68, - 0xc7, 0xd0, 0x49, 0xfc, 0xfb, 0x08, 0x7a, 0x35, 0xef, 0xc5, 0x60, 0xd6, 0xbf, 0xa5, 0xf4, 0x5f, - 0x2b, 0xd8, 0x3b, 0xc4, 0x68, 0x43, 0x5b, 0xfe, 0xdb, 0x0c, 0xf4, 0x4a, 0xfe, 0x14, 0xa9, 0xb7, - 0xcc, 0xfd, 0x57, 0x8b, 0x75, 0x0e, 0xd1, 0x7d, 0xc6, 0x54, 0x7a, 0x3a, 0xba, 0xcc, 0x47, 0xe4, - 0xfd, 0x93, 0xfd, 0xac, 0x7a, 0x01, 0x19, 0x24, 0x50, 0x4d, 0xbc, 0xbb, 0x46, 0xeb, 0x79, 0x81, - 0x55, 0xf6, 0x03, 0xed, 0xe9, 0x58, 0x3e, 0x4b, 0x1a, 0xe6, 0x49, 0xab, 0x48, 0xfd, 0xc9, 0xc3, - 0x69, 0x56, 0x11, 0x43, 0x71, 0xf2, 0x2a, 0xce, 0x80, 0x65, 0xcc, 0xf2, 0xf9, 0x8c, 0x97, 0x9e, - 0x69, 0x35, 0x8f, 0x92, 0xe9, 0xfc, 0x87, 0xa1, 0xd3, 0x31, 0x1e, 0x53, 0x43, 0x4e, 0xde, 0xdc, - 0xb9, 0x96, 0x7b, 0xf6, 0x97, 0xfd, 0xf4, 0xbc, 0x7f, 0xbd, 0xf8, 0x80, 0xb8, 0x9e, 0xcb, 0xef, - 0x9a, 0xf3, 0x44, 0x96, 0xf9, 0x1e, 0x3b, 0x4f, 0xcf, 0xb3, 0x9f, 0x4a, 0xab, 0x17, 0xd0, 0x2f, - 0x4a, 0x5b, 0x03, 0x5a, 0xcb, 0x57, 0x0f, 0xf9, 0x72, 0xdf, 0x74, 0x1e, 0xfe, 0x3a, 0x20, 0x66, - 0xcd, 0xce, 0x81, 0x39, 0x9a, 0x78, 0x3a, 0x53, 0xf1, 0x7c, 0x67, 0x98, 0xee, 0x2c, 0x50, 0xbd, - 0x71, 0xaa, 0x31, 0xe1, 0xd2, 0x86, 0x00, 0x77, 0x71, 0xf0, 0x21, 0x7d, 0xde, 0xea, 0xa7, 0x57, - 0x16, 0xf9, 0x7d, 0xde, 0x45, 0xa0, 0x7b, 0xb9, 0x40, 0xcf, 0x10, 0xc9, 0x01, 0x34, 0xee, 0x92, - 0x74, 0x9f, 0xa6, 0x2d, 0x3e, 0x3a, 0x61, 0xac, 0xe8, 0x23, 0xd0, 0x5c, 0x2d, 0xd2, 0x35, 0xee, - 0x70, 0x13, 0x2f, 0xbe, 0xd1, 0x09, 0xa2, 0x4e, 0xbf, 0x45, 0xcf, 0x73, 0xb8, 0x39, 0xcf, 0xc8, - 0xd9, 0xca, 0x68, 0xf0, 0xf6, 0x3e, 0xd6, 0xad, 0xe0, 0x30, 0x77, 0x65, 0xb1, 0x3e, 0xd3, 0x56, - 0x26, 0x75, 0x0d, 0xf1, 0x98, 0xb0, 0xc8, 0xec, 0x54, 0xae, 0x99, 0xbc, 0x9e, 0x37, 0x49, 0xba, - 0x6f, 0x61, 0x95, 0xc4, 0xb0, 0xb0, 0xe5, 0xb9, 0x63, 0x19, 0xd1, 0xb5, 0x1c, 0x44, 0xa9, 0x9e, - 0x85, 0xd1, 0xfc, 0x12, 0x34, 0x45, 0x91, 0x8a, 0xa6, 0xd2, 0x79, 0xfc, 0x88, 0x77, 0x2a, 0x3c, - 0xf9, 0x43, 0xe8, 0x24, 0x2a, 0x60, 0x79, 0x8a, 0x90, 0x5d, 0x28, 0x9b, 0x8e, 0xe1, 0x57, 0x01, - 0xd1, 0xa7, 0xfd, 0xf2, 0x7f, 0x96, 0xe4, 0xc5, 0x4d, 0xe9, 0xae, 0x02, 0xd1, 0xeb, 0xa7, 0x18, - 0x11, 0x6a, 0xc3, 0x6f, 0x29, 0xb0, 0x9c, 0x59, 0x6a, 0x4a, 0x7b, 0x0e, 0xfe, 0x14, 0xe0, 0x84, - 0x9a, 0x58, 0xda, 0x73, 0x9c, 0x38, 0x26, 0x24, 0x62, 0x04, 0xcd, 0x78, 0x36, 0x85, 0x72, 0xee, - 0x09, 0x65, 0x64, 0x77, 0x69, 0xdd, 0xcf, 0xea, 0x1a, 0x22, 0x7a, 0x08, 0x9d, 0x44, 0xf2, 0x9b, - 0x27, 0xcc, 0xec, 0x1c, 0xb9, 0xd0, 0x0e, 0x9d, 0x4a, 0x79, 0xf3, 0x76, 0xe8, 0xbc, 0xdc, 0x78, - 0x2a, 0x96, 0x8d, 0x1f, 0x2e, 0x42, 0x9d, 0x46, 0xde, 0x54, 0xdf, 0xff, 0x3f, 0xf0, 0x7e, 0x7a, - 0x81, 0xf7, 0x43, 0xe8, 0x24, 0x1e, 0xea, 0xe7, 0x69, 0x4c, 0xf6, 0x7b, 0xfe, 0x42, 0x31, 0xa3, - 0xfc, 0xc6, 0x3d, 0x2f, 0x00, 0xc9, 0x7c, 0x09, 0x3f, 0x7d, 0xfe, 0x4f, 0xd9, 0x5f, 0x63, 0x84, - 0x17, 0x46, 0x5e, 0x3e, 0xe1, 0xb0, 0x52, 0x7e, 0x0f, 0xf1, 0x75, 0x89, 0x47, 0xff, 0x77, 0xe4, - 0x06, 0x0f, 0xa1, 0x93, 0x78, 0x97, 0x98, 0xa7, 0x49, 0xd9, 0xcf, 0x17, 0xa7, 0x63, 0xf8, 0x92, - 0x43, 0xd9, 0x43, 0x58, 0xcc, 0x78, 0x02, 0x86, 0xae, 0xe7, 0xa7, 0x08, 0xd9, 0xaf, 0xc5, 0x8a, - 0x2c, 0xac, 0x25, 0x19, 0x33, 0xba, 0x9a, 0x4f, 0x6a, 0xf2, 0x0f, 0xe6, 0xfa, 0xeb, 0x45, 0xff, - 0x8f, 0x2e, 0x5c, 0xd8, 0x27, 0x30, 0xc7, 0xde, 0x2d, 0xa2, 0x2b, 0x79, 0x27, 0xb5, 0xb1, 0x57, - 0x8d, 0xfd, 0xe9, 0xaf, 0x1f, 0xfd, 0x89, 0x15, 0x90, 0x75, 0x0c, 0xa0, 0xcd, 0x40, 0x21, 0xb3, - 0xce, 0x19, 0xc1, 0x27, 0x50, 0xa5, 0xdb, 0x02, 0xca, 0x39, 0x75, 0x8c, 0xbf, 0x52, 0xec, 0x17, - 0x79, 0x98, 0x18, 0x51, 0xde, 0xa0, 0x63, 0x59, 0x9d, 0xee, 0xbc, 0xa7, 0xbf, 0xae, 0xa0, 0x01, - 0xb4, 0x18, 0x02, 0xc1, 0x99, 0xf3, 0x5e, 0xc1, 0x08, 0x16, 0x63, 0x2b, 0x78, 0x5a, 0x68, 0xae, - 0x2b, 0xff, 0x47, 0xf2, 0xb0, 0x5f, 0xa3, 0x2f, 0x06, 0x93, 0xb7, 0x5c, 0xd1, 0xf5, 0xd3, 0x5e, - 0xd7, 0xed, 0xbf, 0x7e, 0x8a, 0x11, 0x21, 0xf6, 0x7d, 0xe8, 0x26, 0x6f, 0x1c, 0xa0, 0xd7, 0xf2, - 0xfd, 0x4e, 0x16, 0xde, 0xa9, 0x4e, 0x67, 0x07, 0xe6, 0xd8, 0xc1, 0x52, 0x9e, 0x91, 0x4a, 0xc7, - 0x4e, 0x53, 0xe7, 0xbb, 0xf5, 0xcd, 0x4f, 0x37, 0x46, 0x66, 0x70, 0x38, 0xd9, 0x27, 0x2d, 0xd7, - 0x58, 0xe7, 0xd7, 0x4c, 0x97, 0xff, 0xba, 0x26, 0x64, 0x7b, 0x8d, 0x8e, 0xbf, 0x46, 0x51, 0x8c, - 0xf7, 0xf7, 0xe7, 0xe8, 0xe7, 0x1b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x47, 0xe5, 0x4c, 0x36, - 0x9c, 0x59, 0x00, 0x00, + // 5885 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3d, 0x6b, 0x8f, 0x1c, 0xd9, + 0x55, 0xae, 0x7e, 0x4d, 0xf7, 0xe9, 0xc7, 0xf4, 0xdc, 0x99, 0xb1, 0x3b, 0xbd, 0x7e, 0xcc, 0x96, + 0xe3, 0xdd, 0x59, 0xef, 0x7a, 0x6c, 0xcf, 0x66, 0xb3, 0x89, 0x93, 0x5d, 0x63, 0xcf, 0xd8, 0xde, + 0xc9, 0xda, 0x8e, 0xa9, 0xf1, 0x7a, 0xa3, 0x10, 0xa5, 0x5d, 0xd3, 0x75, 0xa7, 0xa7, 0xe2, 0x7a, + 0xb4, 0xab, 0xaa, 0xc7, 0x3b, 0x0b, 0x12, 0x08, 0x21, 0x04, 0x22, 0x3c, 0x24, 0x50, 0x24, 0x88, + 0x88, 0xe0, 0x0b, 0x08, 0xc8, 0x07, 0x22, 0xf1, 0x0d, 0x45, 0x8a, 0xf8, 0x18, 0x24, 0x04, 0x42, + 0xf0, 0x0b, 0xc8, 0x17, 0x3e, 0xf1, 0x91, 0x45, 0x42, 0x42, 0xf7, 0x55, 0x55, 0xb7, 0x1e, 0xdd, + 0x3d, 0xd3, 0xe3, 0x7d, 0x00, 0xdf, 0xba, 0x4e, 0xdd, 0x7b, 0xcf, 0xb9, 0xf7, 0x3c, 0xee, 0x39, + 0xe7, 0x9e, 0xba, 0x0d, 0x0b, 0x4f, 0x47, 0xd8, 0x3b, 0xe8, 0xf5, 0x5d, 0xd7, 0x33, 0xd6, 0x86, + 0x9e, 0x1b, 0xb8, 0x68, 0xc9, 0x36, 0xad, 0xfd, 0x91, 0xcf, 0x9e, 0xf6, 0xd7, 0xd7, 0x68, 0x8b, + 0x6e, 0xa3, 0xef, 0xda, 0xb6, 0xeb, 0x30, 0x68, 0xb7, 0x11, 0x6f, 0xd3, 0xad, 0x7a, 0x03, 0xfe, + 0xab, 0x65, 0x3a, 0x01, 0xf6, 0x1c, 0xdd, 0x12, 0xed, 0xfc, 0xfe, 0x1e, 0xb6, 0x75, 0xfe, 0x54, + 0xb3, 0x7d, 0xd1, 0xb0, 0x6d, 0xe8, 0x81, 0x1e, 0x47, 0xdb, 0x5d, 0x30, 0x1d, 0x03, 0x7f, 0x10, + 0x07, 0xa9, 0xbf, 0xae, 0xc0, 0xc9, 0xed, 0x3d, 0xf7, 0xd9, 0x86, 0x6b, 0x59, 0xb8, 0x1f, 0x98, + 0xae, 0xe3, 0x6b, 0xf8, 0xe9, 0x08, 0xfb, 0x01, 0x5a, 0x87, 0xd2, 0x8e, 0xee, 0xe3, 0x8e, 0xb2, + 0xa2, 0xac, 0xd6, 0xd7, 0xcf, 0xae, 0x25, 0x68, 0xe6, 0xc4, 0xde, 0xf3, 0x07, 0x37, 0x75, 0x1f, + 0x6b, 0xb4, 0x2d, 0x42, 0x50, 0x32, 0x76, 0xb6, 0x36, 0x3b, 0x85, 0x15, 0x65, 0xb5, 0xa8, 0xd1, + 0xdf, 0xe8, 0xf3, 0xd0, 0xec, 0x87, 0xa3, 0x6f, 0x6d, 0xfa, 0x9d, 0xe2, 0x4a, 0x71, 0xb5, 0xa8, + 0xc9, 0x40, 0xf5, 0xbb, 0x05, 0x38, 0x95, 0x22, 0xc4, 0x1f, 0xba, 0x8e, 0x8f, 0xd1, 0x1b, 0x50, + 0xf1, 0x03, 0x3d, 0x18, 0xf9, 0x9c, 0x96, 0x33, 0x39, 0xb4, 0x6c, 0xd3, 0x46, 0x1a, 0x6f, 0x9c, + 0x46, 0x5c, 0xc8, 0x40, 0x8c, 0xae, 0xc2, 0x92, 0xe9, 0xdc, 0xc3, 0xb6, 0xeb, 0x1d, 0xf4, 0x86, + 0xd8, 0xeb, 0x63, 0x27, 0xd0, 0x07, 0x58, 0x50, 0xb9, 0x28, 0xde, 0x3d, 0x88, 0x5e, 0xa1, 0x2f, + 0xc2, 0x29, 0xc6, 0x53, 0x1f, 0x7b, 0xfb, 0x66, 0x1f, 0xf7, 0xf4, 0x7d, 0xdd, 0xb4, 0xf4, 0x1d, + 0x0b, 0x77, 0x4a, 0x2b, 0xc5, 0xd5, 0xaa, 0xb6, 0x4c, 0x5f, 0x6f, 0xb3, 0xb7, 0x37, 0xc4, 0x4b, + 0xf4, 0x0a, 0xb4, 0x3d, 0xbc, 0xeb, 0x61, 0x7f, 0xaf, 0x37, 0xf4, 0xdc, 0x81, 0x87, 0x7d, 0xbf, + 0x53, 0xa6, 0x68, 0xe6, 0x39, 0xfc, 0x01, 0x07, 0xab, 0x7f, 0xae, 0xc0, 0x32, 0x59, 0x8e, 0x07, + 0xba, 0x17, 0x98, 0xcf, 0x85, 0x2d, 0x2a, 0x34, 0xe2, 0x0b, 0xd1, 0x29, 0xd2, 0x77, 0x12, 0x8c, + 0xb4, 0x19, 0x0a, 0x02, 0xc8, 0x02, 0x96, 0x28, 0xb1, 0x12, 0x4c, 0xfd, 0x27, 0x2e, 0x41, 0x71, + 0x4a, 0x67, 0xe3, 0x5b, 0x12, 0x6b, 0x21, 0x8d, 0xf5, 0x28, 0x5c, 0xcb, 0x5a, 0xfd, 0x52, 0xf6, + 0xea, 0xff, 0x73, 0x11, 0x96, 0xef, 0xba, 0xba, 0x11, 0x09, 0xe3, 0x27, 0xb1, 0xfa, 0xd7, 0xa1, + 0xc2, 0x74, 0xbb, 0x53, 0xa2, 0xd8, 0x5e, 0x4e, 0x62, 0xe3, 0x9a, 0x1f, 0x51, 0xb9, 0x4d, 0x01, + 0x1a, 0xef, 0x86, 0x2e, 0x40, 0xcb, 0xc3, 0x43, 0xcb, 0xec, 0xeb, 0x3d, 0x67, 0x64, 0xef, 0x60, + 0xaf, 0x53, 0x5e, 0x51, 0x56, 0xcb, 0x5a, 0x93, 0x43, 0xef, 0x53, 0x20, 0xda, 0x81, 0xe6, 0xae, + 0x89, 0x2d, 0xa3, 0x47, 0xcd, 0xc3, 0xd6, 0x66, 0xa7, 0xb2, 0x52, 0x5c, 0xad, 0xaf, 0xbf, 0xb5, + 0x96, 0x65, 0xa5, 0xd6, 0x32, 0xd7, 0x65, 0xed, 0x36, 0x19, 0x60, 0x8b, 0xf5, 0xbf, 0xe5, 0x04, + 0xde, 0x81, 0xd6, 0xd8, 0x8d, 0x81, 0x50, 0x07, 0xe6, 0xf8, 0x22, 0x77, 0xe6, 0x56, 0x94, 0xd5, + 0xaa, 0x26, 0x1e, 0xd1, 0xcb, 0x30, 0xef, 0x61, 0xdf, 0x1d, 0x79, 0x7d, 0xdc, 0x1b, 0x78, 0xee, + 0x68, 0xe8, 0x77, 0xaa, 0x2b, 0xc5, 0xd5, 0x9a, 0xd6, 0x12, 0xe0, 0x3b, 0x14, 0xda, 0xbd, 0x0e, + 0x0b, 0x29, 0x2c, 0xa8, 0x0d, 0xc5, 0x27, 0xf8, 0x80, 0xb2, 0xa3, 0xa8, 0x91, 0x9f, 0x68, 0x09, + 0xca, 0xfb, 0xba, 0x35, 0xc2, 0x7c, 0xb9, 0xd9, 0xc3, 0xb5, 0xc2, 0x97, 0x14, 0xf5, 0x07, 0x0a, + 0x74, 0x34, 0x6c, 0x61, 0xdd, 0xc7, 0x9f, 0x2c, 0x63, 0x4f, 0x42, 0xc5, 0x71, 0x0d, 0xbc, 0xb5, + 0x49, 0x19, 0x5b, 0xd4, 0xf8, 0x93, 0xfa, 0xdf, 0x0a, 0x2c, 0xdd, 0xc1, 0x01, 0x51, 0x07, 0xd3, + 0x0f, 0xcc, 0x7e, 0xa8, 0xf3, 0xd7, 0xa1, 0xe8, 0xe1, 0xa7, 0x9c, 0xb6, 0x4b, 0x49, 0xda, 0xc2, + 0x0d, 0x21, 0xab, 0xaf, 0x46, 0x7a, 0xa2, 0x17, 0xa1, 0x61, 0xd8, 0x56, 0xaf, 0xbf, 0xa7, 0x3b, + 0x0e, 0xb6, 0x98, 0x4a, 0xd5, 0xb4, 0xba, 0x61, 0x5b, 0x1b, 0x1c, 0x84, 0xce, 0x02, 0xf8, 0x78, + 0x60, 0x63, 0x27, 0x88, 0x6c, 0x74, 0x0c, 0x82, 0x2e, 0xc2, 0xc2, 0xae, 0xe7, 0xda, 0x3d, 0x7f, + 0x4f, 0xf7, 0x8c, 0x9e, 0x85, 0x75, 0x03, 0x7b, 0x94, 0xfe, 0xaa, 0x36, 0x4f, 0x5e, 0x6c, 0x13, + 0xf8, 0x5d, 0x0a, 0x46, 0x6f, 0x40, 0xd9, 0xef, 0xbb, 0x43, 0x4c, 0xe5, 0xad, 0xb5, 0x7e, 0x2e, + 0x5b, 0x92, 0x36, 0xf5, 0x40, 0xdf, 0x26, 0xcd, 0x34, 0xd6, 0x5a, 0xfd, 0x49, 0x89, 0xa9, 0xdd, + 0xa7, 0xde, 0xe8, 0xc5, 0x54, 0xb3, 0x7c, 0x5c, 0xaa, 0x59, 0x99, 0x4a, 0x35, 0xe7, 0x26, 0xa9, + 0x66, 0x6a, 0xed, 0x0e, 0xa3, 0x9a, 0xd5, 0x89, 0xaa, 0x59, 0xcb, 0x52, 0x4d, 0x74, 0x07, 0xe6, + 0x99, 0x6b, 0x61, 0x3a, 0xbb, 0x6e, 0xcf, 0x32, 0xfd, 0xa0, 0x03, 0x94, 0xd0, 0x73, 0x69, 0x59, + 0x35, 0xf0, 0x07, 0x6b, 0x0c, 0xb5, 0xb3, 0xeb, 0x6a, 0x4d, 0x53, 0xfc, 0xbc, 0x6b, 0xfa, 0xc1, + 0xec, 0x3a, 0xfe, 0x77, 0x91, 0x8e, 0x7f, 0xfa, 0xa5, 0x28, 0xb2, 0x03, 0x65, 0xc9, 0x0e, 0xfc, + 0x95, 0x02, 0x9f, 0xbb, 0x83, 0x83, 0x70, 0x02, 0x44, 0xa9, 0xf1, 0xa7, 0xd6, 0x01, 0xf8, 0x91, + 0x02, 0xdd, 0x2c, 0x6a, 0x67, 0x73, 0x02, 0xbe, 0x05, 0x27, 0x43, 0x2c, 0x3d, 0x03, 0xfb, 0x7d, + 0xcf, 0x1c, 0x52, 0x66, 0x52, 0xdb, 0x55, 0x5f, 0xbf, 0x90, 0xad, 0x02, 0x49, 0x2a, 0x96, 0xc3, + 0x41, 0x36, 0x63, 0x63, 0xa8, 0xbf, 0xab, 0xc0, 0x32, 0xb1, 0x96, 0xdc, 0xbc, 0x11, 0x49, 0x9c, + 0x61, 0x75, 0x65, 0xd3, 0x59, 0x48, 0x99, 0xce, 0x29, 0x56, 0x5a, 0xfd, 0x0d, 0x05, 0x4e, 0x26, + 0x29, 0x9a, 0x6d, 0x05, 0xdf, 0x84, 0x32, 0x51, 0x47, 0xb1, 0x60, 0x2f, 0x66, 0x2f, 0x58, 0x1c, + 0x21, 0x6b, 0xaf, 0x0e, 0x19, 0x25, 0x91, 0x3d, 0x9f, 0x49, 0xf4, 0x92, 0x93, 0x2f, 0x64, 0x4c, + 0xfe, 0xf7, 0x14, 0x38, 0x95, 0x42, 0x39, 0xdb, 0xec, 0xdf, 0x86, 0x0a, 0xdd, 0xa9, 0xc4, 0xf4, + 0x5f, 0xca, 0x99, 0x7e, 0x0c, 0x25, 0xb1, 0x40, 0x1a, 0xef, 0xa5, 0xfe, 0xb0, 0x00, 0x2f, 0xbc, + 0x37, 0x34, 0xf4, 0x00, 0x6b, 0x92, 0xad, 0x9b, 0x65, 0x29, 0x9c, 0xb4, 0x3d, 0x65, 0xc4, 0xdd, + 0xca, 0x26, 0x6e, 0x0c, 0xfe, 0x35, 0x19, 0xca, 0xec, 0x7a, 0xd2, 0x63, 0x32, 0x61, 0x31, 0xa3, + 0x59, 0xdc, 0x9e, 0xd6, 0x98, 0x3d, 0xfd, 0x6a, 0xdc, 0x9e, 0x66, 0xac, 0x95, 0x37, 0x90, 0xf1, + 0x6d, 0xb8, 0xce, 0xae, 0x39, 0x88, 0xdb, 0x5d, 0x17, 0xda, 0xc9, 0xa5, 0x24, 0x4e, 0x07, 0x77, + 0x38, 0x7a, 0x8e, 0x6e, 0x63, 0x8e, 0xb0, 0xce, 0x61, 0xf7, 0x75, 0x1b, 0xa3, 0xcf, 0x41, 0x95, + 0xd8, 0xbc, 0x9e, 0x69, 0x08, 0xbd, 0x99, 0xa3, 0x36, 0xd0, 0xf0, 0xd1, 0x19, 0x00, 0xfa, 0x4a, + 0x37, 0x0c, 0x8f, 0xf9, 0x23, 0x35, 0xad, 0x46, 0x20, 0x37, 0x08, 0x40, 0xfd, 0x23, 0x05, 0xce, + 0x6e, 0x1f, 0x38, 0xfd, 0xfb, 0xf8, 0xd9, 0x86, 0x87, 0xf5, 0x00, 0x47, 0x3b, 0xdf, 0x73, 0x96, + 0x56, 0xb4, 0x02, 0xf5, 0x98, 0x01, 0xe4, 0xda, 0x1c, 0x07, 0xa9, 0xff, 0xa9, 0x40, 0x83, 0x6c, + 0xc6, 0xf7, 0x70, 0xa0, 0x13, 0xcd, 0x42, 0x5f, 0x81, 0x9a, 0xe5, 0xea, 0x46, 0x2f, 0x38, 0x18, + 0x32, 0x7a, 0x5a, 0x69, 0x7a, 0xa2, 0x3d, 0xfc, 0xe1, 0xc1, 0x10, 0x6b, 0x55, 0x8b, 0xff, 0x9a, + 0x8a, 0xa6, 0xa4, 0xa1, 0x2e, 0x66, 0x6c, 0x37, 0xe7, 0xa1, 0x6e, 0xe3, 0xc0, 0x33, 0xfb, 0x8c, + 0x0c, 0xe2, 0xbb, 0xd5, 0x6e, 0x16, 0x3a, 0x8a, 0x06, 0x0c, 0x4c, 0x91, 0x9d, 0x82, 0x39, 0x63, + 0x87, 0xf1, 0xab, 0x4c, 0xf9, 0x55, 0x31, 0x76, 0x28, 0xab, 0xa8, 0xc7, 0x12, 0x17, 0x5e, 0xea, + 0xb1, 0xd4, 0x88, 0xc7, 0x12, 0x93, 0x0c, 0xf5, 0x8f, 0x2b, 0x70, 0xf2, 0x7d, 0x3d, 0xe8, 0xef, + 0x6d, 0xda, 0xc2, 0xb5, 0x9c, 0x85, 0x1f, 0xd1, 0x16, 0x59, 0x88, 0x6f, 0x91, 0xc7, 0xb6, 0x05, + 0x87, 0x46, 0xb2, 0x9c, 0x6d, 0x24, 0x0d, 0x3d, 0xd0, 0xd7, 0x1e, 0x71, 0x91, 0x8d, 0x19, 0xc9, + 0x98, 0x07, 0x58, 0x39, 0x9a, 0x07, 0x78, 0x0b, 0x9a, 0xf8, 0x83, 0xbe, 0x35, 0x22, 0xd2, 0x4f, + 0x29, 0x60, 0xae, 0xdd, 0x4a, 0x26, 0x05, 0x71, 0x2b, 0xdd, 0xe0, 0xdd, 0xb6, 0x38, 0x1d, 0x4c, + 0xb2, 0x6c, 0x1c, 0xe8, 0xd4, 0x7f, 0xab, 0xaf, 0xab, 0xf9, 0x92, 0x25, 0x04, 0x92, 0x49, 0x17, + 0x79, 0x42, 0xa7, 0xa1, 0xc6, 0x7d, 0xce, 0xad, 0xcd, 0x4e, 0x8d, 0x2e, 0x63, 0x04, 0x40, 0x7d, + 0x68, 0xf2, 0x8d, 0x8c, 0x53, 0xc9, 0xfc, 0xba, 0xb7, 0xb3, 0x51, 0x64, 0x33, 0x3e, 0x4e, 0x3d, + 0xb7, 0x54, 0x0d, 0x3f, 0x06, 0x42, 0x9f, 0x87, 0xa6, 0xbb, 0xbb, 0x6b, 0x99, 0x0e, 0xbe, 0xcf, + 0x78, 0x5d, 0xa7, 0x64, 0xc8, 0x40, 0xe2, 0xa7, 0xee, 0x63, 0xcf, 0x37, 0x5d, 0xa7, 0xd3, 0xa0, + 0xef, 0xc5, 0x63, 0x96, 0xfb, 0xd9, 0x3c, 0x92, 0xfb, 0xa9, 0xc3, 0x42, 0x8a, 0xd6, 0x0c, 0xf7, + 0xf3, 0x8b, 0xb2, 0xb9, 0x9c, 0xcc, 0xb2, 0x98, 0xa1, 0xfc, 0x4b, 0x05, 0x96, 0xdf, 0x73, 0xfc, + 0xd1, 0x4e, 0xb8, 0x4c, 0x9f, 0x94, 0x7a, 0x24, 0xcd, 0x73, 0x29, 0x65, 0x9e, 0xd5, 0x9f, 0x55, + 0x60, 0x9e, 0xcf, 0x83, 0x48, 0x0f, 0x35, 0x65, 0xa7, 0xa1, 0x16, 0xba, 0x36, 0x7c, 0x51, 0x22, + 0x40, 0xd2, 0x36, 0x16, 0x52, 0xb6, 0x71, 0x2a, 0xd2, 0x84, 0xbb, 0x5a, 0x8a, 0xb9, 0xab, 0x67, + 0x00, 0x76, 0xad, 0x91, 0xbf, 0xd7, 0x0b, 0x4c, 0x6e, 0x9b, 0x8a, 0x5a, 0x8d, 0x42, 0x1e, 0x9a, + 0x36, 0x46, 0x1b, 0xd0, 0xd8, 0x31, 0x1d, 0xcb, 0x1d, 0xf4, 0x86, 0x7a, 0xb0, 0xe7, 0xf3, 0x1c, + 0x46, 0x36, 0x6b, 0x68, 0x88, 0x71, 0x93, 0xb6, 0xd6, 0xea, 0xac, 0xd7, 0x03, 0xd2, 0x09, 0x9d, + 0x85, 0xba, 0x33, 0xb2, 0x7b, 0xee, 0x6e, 0xcf, 0x73, 0x9f, 0xf9, 0x34, 0x53, 0x51, 0xd4, 0x6a, + 0xce, 0xc8, 0xfe, 0xfa, 0xae, 0xe6, 0x3e, 0x23, 0x4e, 0x45, 0x8d, 0xb8, 0x17, 0xbe, 0xe5, 0x0e, + 0x58, 0x96, 0x62, 0x1a, 0x0c, 0x51, 0x17, 0xd2, 0xdf, 0xc0, 0x56, 0xa0, 0xd3, 0xfe, 0xb5, 0x69, + 0xfb, 0x87, 0x5d, 0xd0, 0x4b, 0xd0, 0xea, 0xbb, 0xf6, 0x50, 0xa7, 0xeb, 0x74, 0xdb, 0x73, 0x6d, + 0xaa, 0x8e, 0x45, 0x2d, 0x01, 0x45, 0xb7, 0xa0, 0x1e, 0x29, 0x84, 0xdf, 0xa9, 0x53, 0x4c, 0x9f, + 0xcf, 0xd6, 0xd9, 0x58, 0xbc, 0x45, 0x44, 0x15, 0x42, 0x8d, 0xf0, 0xd1, 0x05, 0x10, 0x7a, 0xda, + 0xf3, 0xcd, 0x0f, 0x31, 0x53, 0x3b, 0xba, 0x63, 0xd4, 0x39, 0x7c, 0xdb, 0xfc, 0x90, 0xee, 0x0c, + 0xa6, 0xe3, 0x63, 0x2f, 0x10, 0xf9, 0x85, 0x4e, 0x93, 0xed, 0x0c, 0x0c, 0xca, 0xc5, 0x1c, 0xdd, + 0x86, 0x96, 0x1f, 0xe8, 0x5e, 0xd0, 0x1b, 0xba, 0x3e, 0x15, 0x86, 0x4e, 0x8b, 0x4a, 0x7a, 0x4a, + 0x49, 0x6d, 0x7f, 0x40, 0xc4, 0xfc, 0x01, 0x6f, 0xa6, 0x35, 0x69, 0x37, 0xf1, 0x48, 0xc6, 0xa1, + 0x2b, 0x12, 0x8d, 0x33, 0x3f, 0xe5, 0x38, 0xb4, 0x5b, 0x38, 0xce, 0x2a, 0xf1, 0xc6, 0x74, 0x43, + 0xdf, 0xb1, 0xf0, 0x23, 0x6e, 0x57, 0xda, 0x94, 0xe1, 0x49, 0x30, 0xd9, 0x24, 0x2c, 0xbc, 0x8f, + 0xad, 0xce, 0x02, 0xdd, 0xb9, 0x5f, 0x1c, 0xa7, 0xef, 0x77, 0x49, 0x43, 0x8d, 0xb5, 0x27, 0xfc, + 0xf2, 0x03, 0xd7, 0xd3, 0x07, 0x21, 0x06, 0x44, 0x31, 0x24, 0xa0, 0xea, 0xbf, 0x14, 0xa1, 0x25, + 0xf3, 0x81, 0x58, 0x3b, 0x16, 0xa5, 0x0b, 0x25, 0x13, 0x8f, 0x44, 0x6f, 0xb1, 0x43, 0xc8, 0x63, + 0x49, 0x01, 0xaa, 0x63, 0x55, 0xad, 0xce, 0x60, 0x74, 0x00, 0xa2, 0x2b, 0x8c, 0xff, 0x54, 0xb1, + 0x8b, 0x94, 0x1b, 0x35, 0x0a, 0xa1, 0x5b, 0x79, 0x07, 0xe6, 0x44, 0x3e, 0x81, 0x69, 0x98, 0x78, + 0x24, 0x6f, 0x76, 0x46, 0x26, 0xc5, 0xca, 0x34, 0x4c, 0x3c, 0xa2, 0xdb, 0xd0, 0x60, 0x43, 0x0e, + 0x75, 0x4f, 0xb7, 0x85, 0x7e, 0x9d, 0xcf, 0xb1, 0x52, 0xef, 0xe2, 0x83, 0x47, 0xc4, 0xe4, 0x3d, + 0xd0, 0x4d, 0x4f, 0x63, 0xb2, 0xf8, 0x80, 0xf6, 0x43, 0xab, 0xd0, 0x66, 0xe3, 0xec, 0x9a, 0x16, + 0xe6, 0xba, 0x3a, 0xc7, 0x92, 0x0a, 0x14, 0x7e, 0xdb, 0xb4, 0x30, 0x53, 0xc6, 0x70, 0x12, 0x54, + 0xf6, 0xaa, 0x4c, 0x17, 0x29, 0x84, 0x4a, 0xdd, 0x79, 0x60, 0xc6, 0xbb, 0x27, 0x36, 0x05, 0xb6, + 0x77, 0x31, 0x2a, 0x05, 0xe7, 0x88, 0x7f, 0x39, 0xb2, 0x99, 0x36, 0x03, 0x9b, 0x90, 0x33, 0xb2, + 0xa9, 0x2e, 0xaf, 0xc3, 0x72, 0x7f, 0xe4, 0x79, 0x6c, 0x67, 0x8b, 0x8f, 0x53, 0xa7, 0x89, 0x98, + 0x45, 0xfe, 0x72, 0x2b, 0x3e, 0xdc, 0x1a, 0x2c, 0x72, 0x92, 0x02, 0xd7, 0xc3, 0x3d, 0x79, 0x3b, + 0x62, 0xa7, 0x2b, 0xdb, 0xe4, 0x8d, 0xe0, 0xeb, 0x8f, 0xcb, 0xb0, 0x48, 0x0c, 0x27, 0x97, 0x8d, + 0x99, 0x3c, 0xa1, 0x33, 0x00, 0x86, 0x1f, 0xf4, 0x24, 0x73, 0x5f, 0x33, 0xfc, 0x80, 0xef, 0x8e, + 0x5f, 0x11, 0x8e, 0x4c, 0x71, 0x5c, 0x78, 0x9c, 0x30, 0xe6, 0x69, 0x67, 0xe6, 0x88, 0x99, 0xe6, + 0xf3, 0xd0, 0xe4, 0xae, 0xa1, 0x94, 0xd0, 0x68, 0x30, 0xe0, 0xfd, 0xec, 0x4d, 0xa9, 0x92, 0x99, + 0xf3, 0x8e, 0xb9, 0x33, 0x73, 0xb3, 0xba, 0x33, 0xd5, 0xa4, 0x3b, 0xf3, 0x0e, 0xcc, 0xcb, 0xb6, + 0x43, 0x98, 0xe1, 0x89, 0xc6, 0xa3, 0x25, 0x19, 0x0f, 0x3f, 0xee, 0x8d, 0x80, 0xec, 0x8d, 0x9c, + 0x87, 0xa6, 0x83, 0xb1, 0xd1, 0x0b, 0x3c, 0xdd, 0xf1, 0x77, 0xb1, 0x47, 0x05, 0xaa, 0xaa, 0x35, + 0x08, 0xf0, 0x21, 0x87, 0xa1, 0xb7, 0x01, 0xe8, 0x3c, 0x59, 0x9a, 0xb4, 0x31, 0x2e, 0x4d, 0x4a, + 0x05, 0x88, 0xa6, 0x49, 0xe9, 0xd2, 0xd0, 0x9f, 0xc7, 0xe6, 0xf2, 0xa0, 0x17, 0xa0, 0x66, 0xe9, + 0x1f, 0x1e, 0xf4, 0xc8, 0xd0, 0xd4, 0x20, 0x57, 0xb5, 0x2a, 0x01, 0x10, 0xac, 0xea, 0xef, 0x17, + 0xe1, 0x24, 0xcf, 0xa6, 0x1d, 0x87, 0x08, 0xe7, 0x79, 0x2b, 0x62, 0xbb, 0x2f, 0x8e, 0xc9, 0x4e, + 0x95, 0xa6, 0x70, 0xf0, 0xcb, 0x19, 0x0e, 0xbe, 0x9c, 0x9b, 0xa9, 0xa4, 0x72, 0x33, 0x61, 0xaa, + 0x7a, 0xee, 0x30, 0xa9, 0x6a, 0xb4, 0x04, 0x65, 0x9a, 0x28, 0xa0, 0x22, 0x56, 0xd3, 0xd8, 0xc3, + 0x74, 0xac, 0xbf, 0x0e, 0xd0, 0xdf, 0xc3, 0xfd, 0x27, 0x43, 0xd7, 0x74, 0x02, 0xca, 0xfa, 0x29, + 0xc4, 0x2f, 0xd6, 0x45, 0xfd, 0x7e, 0x01, 0x9a, 0xdb, 0x58, 0xf7, 0xfa, 0x7b, 0x82, 0x19, 0x5f, + 0x8a, 0x9f, 0x0f, 0xbc, 0x94, 0x7b, 0x3e, 0x20, 0x75, 0xfa, 0x0c, 0x1d, 0x0c, 0x10, 0x14, 0x81, + 0x1b, 0xe8, 0x21, 0x9d, 0x3d, 0x67, 0x64, 0xf3, 0x84, 0xf9, 0x3c, 0x7d, 0xc1, 0x89, 0xbd, 0x3f, + 0xb2, 0xd5, 0xff, 0x50, 0xa0, 0xf1, 0xf3, 0x64, 0x18, 0xb1, 0x38, 0xd7, 0xe2, 0x8b, 0xb3, 0x9a, + 0xbb, 0x38, 0x1a, 0x89, 0x81, 0xf1, 0x3e, 0xfe, 0x0c, 0x9e, 0x9b, 0xfc, 0xbd, 0x02, 0xdd, 0xed, + 0x03, 0xa7, 0xaf, 0x31, 0x3b, 0x77, 0x1c, 0xaa, 0x7a, 0x1e, 0x9a, 0xfb, 0x52, 0x74, 0x50, 0xa0, + 0x72, 0xde, 0xd8, 0x8f, 0x67, 0x6f, 0x1e, 0x42, 0x5b, 0x1c, 0x62, 0xf0, 0x09, 0x8b, 0xed, 0xe7, + 0x95, 0x6c, 0xca, 0x13, 0x04, 0x52, 0x7b, 0x34, 0xef, 0xc9, 0x40, 0xf5, 0x77, 0x14, 0x58, 0xcc, + 0x68, 0x88, 0x4e, 0xc1, 0x1c, 0xcf, 0x15, 0x71, 0x8f, 0x88, 0x99, 0x0f, 0x83, 0x30, 0x29, 0x4a, + 0x15, 0x9b, 0x46, 0x3a, 0xe8, 0x30, 0xd0, 0x39, 0xa8, 0x87, 0x61, 0xac, 0x91, 0xe2, 0x92, 0xe1, + 0xa3, 0x2e, 0x54, 0xb9, 0xfd, 0x16, 0x79, 0x82, 0xf0, 0x59, 0xb5, 0x01, 0xdd, 0xc1, 0xd1, 0x9e, + 0x39, 0xdb, 0xaa, 0x46, 0x06, 0x2c, 0x22, 0x35, 0x6e, 0xd5, 0x0c, 0xf5, 0xdf, 0x15, 0x58, 0x94, + 0xf0, 0xcd, 0x96, 0x08, 0x8d, 0xf6, 0xf6, 0xc2, 0xd1, 0xf6, 0x76, 0x29, 0x77, 0x55, 0x3c, 0x64, + 0xee, 0xea, 0x2c, 0x40, 0xc8, 0x07, 0xb1, 0xb2, 0x31, 0x88, 0xfa, 0x13, 0x05, 0x4e, 0xbe, 0xa3, + 0x3b, 0x86, 0xbb, 0xbb, 0x7b, 0x1c, 0x62, 0x7b, 0x0b, 0xa4, 0xcc, 0xc2, 0xf4, 0xa9, 0x6f, 0x39, + 0x21, 0xf1, 0x2a, 0x2c, 0x78, 0x6c, 0xdb, 0x33, 0x64, 0xc9, 0x2e, 0x6a, 0x6d, 0xf1, 0x22, 0x94, + 0xd7, 0xbf, 0x2e, 0x00, 0x22, 0x33, 0xbf, 0xa9, 0x5b, 0xba, 0xd3, 0xc7, 0xb3, 0x90, 0x7f, 0x01, + 0x5a, 0x92, 0x1b, 0x15, 0x96, 0xac, 0xc4, 0xfd, 0x28, 0x1f, 0xdd, 0x83, 0xd6, 0x0e, 0x43, 0xd6, + 0xf3, 0xb0, 0xee, 0xbb, 0x0e, 0x67, 0x4b, 0x4e, 0x8e, 0xfb, 0xa1, 0x67, 0x0e, 0x06, 0xd8, 0xdb, + 0x70, 0x1d, 0x83, 0x07, 0x42, 0x3b, 0x82, 0x54, 0xd2, 0x99, 0x28, 0x47, 0xe4, 0x59, 0x86, 0x4c, + 0x0a, 0x5d, 0x4b, 0xba, 0x1c, 0x3e, 0xd6, 0xad, 0x68, 0x31, 0xa2, 0xcd, 0xb6, 0xcd, 0x5e, 0x6c, + 0xe7, 0x1f, 0x76, 0x64, 0x78, 0x79, 0xea, 0xdf, 0x28, 0x80, 0xc2, 0xfc, 0x07, 0x4d, 0x1a, 0x51, + 0x0d, 0x4f, 0x76, 0x55, 0x32, 0xf6, 0xfc, 0xd3, 0x50, 0x33, 0x44, 0x4f, 0x6e, 0x94, 0x22, 0x00, + 0xdd, 0x80, 0x29, 0xd1, 0xd4, 0x9f, 0xc1, 0x86, 0xc8, 0x2e, 0x30, 0xe0, 0x5d, 0x0a, 0x93, 0x5d, + 0xc4, 0x52, 0xd2, 0x45, 0x8c, 0xa7, 0xa4, 0xcb, 0x52, 0x4a, 0x5a, 0xfd, 0x61, 0x01, 0xda, 0x74, + 0x6b, 0xd9, 0x88, 0xf2, 0x81, 0x53, 0x11, 0x7d, 0x1e, 0x9a, 0xbc, 0x08, 0x4c, 0x22, 0xbc, 0xf1, + 0x34, 0x36, 0x18, 0xba, 0x02, 0x4b, 0xac, 0x91, 0x87, 0xfd, 0x91, 0x15, 0x05, 0xd3, 0x2c, 0x7c, + 0x43, 0x4f, 0xd9, 0x9e, 0x46, 0x5e, 0x89, 0x1e, 0xef, 0xc3, 0xc9, 0x81, 0xe5, 0xee, 0xe8, 0x56, + 0x4f, 0x66, 0x0f, 0xe3, 0xe1, 0x54, 0x72, 0xbf, 0xc4, 0x06, 0xd8, 0x8e, 0x73, 0xd1, 0x47, 0x9b, + 0xd0, 0xf4, 0x31, 0x7e, 0x12, 0x45, 0xd8, 0xe5, 0xe9, 0xbc, 0x94, 0x06, 0xe9, 0x25, 0x9e, 0xd4, + 0x3f, 0x51, 0x60, 0x3e, 0x71, 0x1e, 0x97, 0xcc, 0x0f, 0x29, 0xe9, 0xfc, 0xd0, 0x35, 0x28, 0x13, + 0xcb, 0xc5, 0x76, 0x9c, 0x56, 0x5e, 0xd6, 0x42, 0x1e, 0x57, 0x63, 0x5d, 0xd0, 0x65, 0x58, 0xcc, + 0xa8, 0x0a, 0xe2, 0x42, 0x80, 0xd2, 0x45, 0x41, 0xea, 0x47, 0x25, 0xa8, 0xc7, 0x96, 0x63, 0x42, + 0x72, 0xeb, 0x58, 0x0e, 0x07, 0xf2, 0xaa, 0x3f, 0x88, 0xe0, 0xd9, 0xd8, 0x66, 0xd1, 0x2e, 0x0f, + 0xbe, 0x6d, 0x6c, 0xd3, 0x58, 0x37, 0x1e, 0xc6, 0x56, 0xe4, 0x30, 0x56, 0x0e, 0xf5, 0xe7, 0xc6, + 0x84, 0xfa, 0x55, 0x39, 0xd4, 0x97, 0x14, 0xa9, 0x96, 0x54, 0xa4, 0x69, 0x33, 0x4d, 0x57, 0x60, + 0xb1, 0xcf, 0x8e, 0x5f, 0x6e, 0x1e, 0x6c, 0x84, 0xaf, 0xb8, 0xdf, 0x9b, 0xf5, 0x0a, 0xbd, 0x13, + 0x65, 0x94, 0x19, 0x9f, 0x59, 0xf0, 0x93, 0x97, 0x49, 0xe0, 0xdc, 0x61, 0x6c, 0x16, 0x56, 0x9a, + 0x3e, 0x25, 0xb3, 0x5c, 0xcd, 0x23, 0x66, 0xb9, 0xce, 0x41, 0x5d, 0x78, 0x31, 0x44, 0xe7, 0x5b, + 0xcc, 0xfc, 0x09, 0x83, 0x60, 0xf8, 0x92, 0x45, 0x98, 0x97, 0x0f, 0xa9, 0x92, 0xb9, 0x98, 0x76, + 0x3a, 0x17, 0x73, 0x0a, 0xe6, 0x4c, 0xbf, 0xb7, 0xab, 0x3f, 0xc1, 0x34, 0x7d, 0x54, 0xd5, 0x2a, + 0xa6, 0x7f, 0x5b, 0x7f, 0x82, 0xd5, 0x7f, 0x2d, 0x42, 0x2b, 0xda, 0x74, 0xa7, 0xb6, 0x25, 0xd3, + 0x54, 0xc7, 0x3d, 0x80, 0x76, 0xe4, 0x11, 0xd1, 0x55, 0x9e, 0x90, 0x17, 0x48, 0x1e, 0x9b, 0xcf, + 0x0f, 0x13, 0x7a, 0x2b, 0x39, 0x01, 0xa5, 0x43, 0x3a, 0x01, 0x33, 0x57, 0xcb, 0xbc, 0x0e, 0xcb, + 0xe1, 0x7e, 0x2c, 0x4d, 0x9e, 0xc5, 0x73, 0x4b, 0xe2, 0xe5, 0x83, 0xf8, 0x22, 0xe4, 0x18, 0x83, + 0xb9, 0x3c, 0x63, 0x90, 0x14, 0x84, 0x6a, 0x4a, 0x10, 0xd2, 0x45, 0x3b, 0xb5, 0x8c, 0xa2, 0x1d, + 0xf5, 0x3d, 0x58, 0xa4, 0x19, 0x7e, 0xbf, 0xef, 0x99, 0x3b, 0x38, 0x0c, 0x14, 0xa6, 0x61, 0x6e, + 0x17, 0xaa, 0x89, 0x58, 0x23, 0x7c, 0x56, 0xbf, 0xab, 0xc0, 0xc9, 0xf4, 0xb8, 0x54, 0x6e, 0x22, + 0x93, 0xa2, 0x48, 0x26, 0xe5, 0x9b, 0xb0, 0x18, 0xf3, 0x37, 0xa5, 0x91, 0x73, 0x7d, 0xf4, 0x0c, + 0xd2, 0x35, 0x14, 0x8d, 0x22, 0x60, 0xea, 0x47, 0x4a, 0x78, 0x58, 0x42, 0x60, 0x03, 0x7a, 0x1e, + 0x45, 0x76, 0x3a, 0xd7, 0xb1, 0x4c, 0x27, 0x4c, 0x04, 0xf1, 0x59, 0x32, 0x20, 0x4f, 0x04, 0x7d, + 0x0d, 0xe6, 0x79, 0xa3, 0x70, 0xc3, 0x9a, 0xda, 0x51, 0x6b, 0xb1, 0x9e, 0xe1, 0x56, 0x75, 0x01, + 0x5a, 0xfc, 0x98, 0x48, 0x60, 0x2c, 0x66, 0x1d, 0x1e, 0xdd, 0x85, 0xb6, 0x68, 0x76, 0xf8, 0x4d, + 0x72, 0x9e, 0x77, 0x0d, 0x5d, 0xbe, 0xdf, 0x56, 0xa0, 0x23, 0x6f, 0x99, 0xb1, 0x25, 0x38, 0x8a, + 0xe3, 0xf7, 0x96, 0x5c, 0xab, 0xf1, 0xf2, 0x58, 0x9a, 0x22, 0x5c, 0xa2, 0x62, 0xe3, 0x7b, 0x05, + 0x5a, 0x82, 0x43, 0x02, 0xc3, 0x4d, 0xd3, 0x0f, 0x3c, 0x73, 0x67, 0x34, 0xeb, 0x41, 0x78, 0x1f, + 0xea, 0x51, 0xca, 0x41, 0xd0, 0x75, 0x23, 0x9b, 0xae, 0x7c, 0xd4, 0x6b, 0x1b, 0xd1, 0x18, 0xec, + 0xe4, 0x2f, 0x3e, 0x6a, 0xb7, 0x07, 0xed, 0x64, 0x83, 0x8c, 0xea, 0x84, 0x37, 0xe4, 0xe3, 0xb6, + 0x89, 0x5e, 0x48, 0xec, 0xb4, 0xed, 0xc7, 0x05, 0x78, 0x21, 0x93, 0xba, 0xd9, 0x62, 0xaa, 0xbc, + 0x44, 0xd6, 0x26, 0x54, 0x13, 0x81, 0xf0, 0xea, 0x58, 0x4e, 0xf2, 0x3c, 0x31, 0x4b, 0x61, 0xfa, + 0x91, 0xf7, 0x15, 0x19, 0x81, 0xd2, 0xb8, 0x51, 0xb8, 0x2e, 0x4a, 0xa3, 0x88, 0x9e, 0x68, 0x03, + 0x1a, 0x2c, 0xd9, 0xd0, 0xdb, 0x37, 0xf1, 0x33, 0x71, 0xc0, 0xbd, 0x92, 0x63, 0xb4, 0x69, 0xcb, + 0x47, 0x26, 0x7e, 0xa6, 0xd5, 0xad, 0xf0, 0xb7, 0xaf, 0xfe, 0xb4, 0x04, 0x10, 0xbd, 0x23, 0xd1, + 0x5c, 0x64, 0x09, 0xb8, 0x6a, 0xc7, 0x20, 0xc4, 0xdb, 0x90, 0x3d, 0x5c, 0xf1, 0x88, 0x1e, 0x46, + 0x47, 0x49, 0x86, 0xe9, 0x07, 0x7c, 0x75, 0xae, 0x4e, 0xa2, 0x46, 0x2c, 0x14, 0x61, 0x1e, 0x97, + 0x1f, 0x3f, 0x82, 0xa0, 0x4b, 0x80, 0x06, 0x9e, 0xfb, 0xcc, 0x74, 0x06, 0xf1, 0xc8, 0x84, 0x05, + 0x30, 0x0b, 0xfc, 0x4d, 0x2c, 0x34, 0x79, 0x0c, 0xed, 0x44, 0x73, 0xb1, 0x2c, 0x6f, 0x4c, 0x24, + 0xe4, 0x8e, 0x34, 0x1a, 0x17, 0xe6, 0x79, 0x19, 0x07, 0x3d, 0xc9, 0x7e, 0xa8, 0x7b, 0x03, 0x2c, + 0x38, 0xcb, 0xbd, 0x35, 0x19, 0x88, 0x2e, 0xc1, 0x22, 0x3f, 0x66, 0x14, 0xe4, 0xc4, 0x8e, 0x1b, + 0xdb, 0xf4, 0xb8, 0x91, 0xa3, 0x23, 0x2e, 0x5e, 0x57, 0x87, 0x76, 0x72, 0x19, 0x32, 0x0e, 0xa5, + 0xdf, 0x94, 0xb5, 0x64, 0xbc, 0x59, 0x23, 0x03, 0xc5, 0xf4, 0xa4, 0xdb, 0x87, 0xa5, 0xac, 0x09, + 0x66, 0xa0, 0x99, 0x41, 0x19, 0xaf, 0x87, 0xbe, 0x36, 0x65, 0x5e, 0xde, 0xa6, 0x15, 0xcb, 0xac, + 0x17, 0xa4, 0xcc, 0xba, 0xfa, 0x6b, 0x45, 0x40, 0x69, 0xcd, 0x41, 0x2d, 0x28, 0x84, 0x83, 0x14, + 0xb6, 0x36, 0x13, 0x52, 0x5a, 0x48, 0x49, 0xe9, 0x69, 0xa8, 0x85, 0x4e, 0x04, 0xdf, 0x2d, 0x22, + 0x40, 0x5c, 0x86, 0x4b, 0xb2, 0x0c, 0xc7, 0x08, 0x2b, 0xcb, 0x29, 0xff, 0x2b, 0xb0, 0x64, 0xe9, + 0x7e, 0xd0, 0x63, 0x67, 0x0b, 0x81, 0x69, 0x63, 0x3f, 0xd0, 0x6d, 0x56, 0x21, 0x53, 0xd2, 0x10, + 0x79, 0xb7, 0x49, 0x5e, 0x3d, 0x14, 0x6f, 0xd0, 0x23, 0xe1, 0xb6, 0x13, 0x03, 0xce, 0x4b, 0x3f, + 0xde, 0x9c, 0xd6, 0x56, 0x44, 0xd9, 0x7c, 0x26, 0x86, 0xb5, 0xd0, 0x9b, 0xed, 0xee, 0x40, 0x4b, + 0x7e, 0x99, 0xc1, 0xc2, 0x6b, 0x32, 0x0b, 0xa7, 0xf3, 0x98, 0x63, 0x7c, 0xdc, 0x03, 0x94, 0xb6, + 0x3c, 0xf1, 0x75, 0x53, 0xe4, 0x75, 0x9b, 0xc4, 0x8f, 0xd8, 0xba, 0x16, 0x65, 0x86, 0xff, 0x43, + 0x11, 0x50, 0xe4, 0x14, 0x86, 0x25, 0x08, 0xd3, 0x78, 0x52, 0x97, 0x61, 0x31, 0xed, 0x32, 0x0a, + 0x6f, 0x19, 0xa5, 0x1c, 0xc6, 0x2c, 0xe7, 0xae, 0x98, 0x55, 0x91, 0xfd, 0xa5, 0x70, 0xc7, 0x60, + 0x5e, 0xf0, 0xca, 0x98, 0x43, 0x1b, 0x79, 0xd3, 0xe8, 0x25, 0x6b, 0xb9, 0x99, 0xe9, 0xb9, 0x96, + 0x63, 0xdb, 0x53, 0xd3, 0x9e, 0x58, 0xc8, 0x2d, 0xf9, 0xe8, 0x95, 0x43, 0xfa, 0xe8, 0xe7, 0xa1, + 0xe9, 0xe1, 0xbe, 0xbb, 0x8f, 0x3d, 0x26, 0xbf, 0xd4, 0x1a, 0x95, 0xb5, 0x06, 0x07, 0x52, 0xc9, + 0x9d, 0xbd, 0x3c, 0xfb, 0x57, 0x8a, 0xb0, 0x10, 0xae, 0xf9, 0xa1, 0xf8, 0x39, 0xb9, 0xb0, 0xe4, + 0xb9, 0x33, 0xf0, 0xdb, 0xd9, 0x0c, 0xfc, 0xf2, 0x84, 0x90, 0x6a, 0x6a, 0xfe, 0x7d, 0x3c, 0x2c, + 0x78, 0x0d, 0xe6, 0xc5, 0x69, 0x89, 0xcb, 0x8a, 0xc8, 0x48, 0x80, 0xeb, 0x3d, 0xa3, 0xee, 0xb3, + 0x88, 0xa8, 0xe6, 0xbc, 0x67, 0xe4, 0xad, 0xaf, 0xfe, 0x5b, 0x01, 0xe6, 0x78, 0x32, 0x3e, 0x65, + 0x67, 0xa7, 0x49, 0x87, 0x2c, 0x41, 0x99, 0x8d, 0xcb, 0xb2, 0xa7, 0xec, 0x21, 0xa3, 0x96, 0xb0, + 0x94, 0x51, 0x4b, 0x48, 0xe9, 0x72, 0x39, 0x5d, 0x3c, 0x15, 0xe7, 0xb9, 0x94, 0x2e, 0xa4, 0x03, + 0x0a, 0x8f, 0x27, 0xdc, 0xb0, 0x84, 0x8e, 0x15, 0x25, 0xbc, 0x3e, 0xf6, 0xf0, 0x61, 0x2d, 0x31, + 0x7b, 0xbe, 0x95, 0xb7, 0xfb, 0x09, 0x70, 0xf7, 0x3b, 0xb0, 0x9c, 0xd9, 0x34, 0xc3, 0x43, 0xfd, + 0x8a, 0x6c, 0x51, 0x2f, 0x8c, 0x75, 0xd7, 0xc4, 0x68, 0x71, 0xa6, 0xfc, 0x63, 0x11, 0x60, 0xfb, + 0xc0, 0xe9, 0xdf, 0x60, 0x16, 0x71, 0x1d, 0x4a, 0x93, 0x2b, 0x45, 0x49, 0x7b, 0xaa, 0xc4, 0xb4, + 0xed, 0x14, 0x0a, 0x22, 0x25, 0xb7, 0x8a, 0xc9, 0xe4, 0x56, 0x5e, 0x5a, 0x2a, 0x7f, 0xd7, 0xfb, + 0x32, 0x94, 0xe8, 0xee, 0x55, 0x19, 0x37, 0xe9, 0x64, 0xc5, 0x01, 0xed, 0x82, 0x56, 0x41, 0xb8, + 0x4e, 0x5b, 0x0e, 0xf3, 0x8d, 0xe8, 0x1e, 0x58, 0xd4, 0x92, 0x60, 0x5a, 0x42, 0x43, 0x23, 0xad, + 0xb0, 0x21, 0x8b, 0xcb, 0x13, 0xd0, 0xb4, 0xe7, 0x55, 0xcb, 0xf2, 0xbc, 0x56, 0x61, 0xde, 0xf0, + 0xdc, 0xe1, 0x30, 0x36, 0x1c, 0xcb, 0x6b, 0x25, 0xc1, 0x89, 0x53, 0xda, 0xfa, 0xe1, 0x4f, 0x69, + 0x7f, 0x5a, 0x84, 0x53, 0x84, 0x45, 0xc7, 0x15, 0x90, 0x4d, 0xa3, 0x6d, 0xb1, 0x3d, 0xb8, 0x28, + 0xef, 0xc1, 0xd7, 0x60, 0x8e, 0xe5, 0xdf, 0x44, 0x48, 0xb1, 0x92, 0x2f, 0x54, 0x4c, 0x08, 0x35, + 0xd1, 0x61, 0xf6, 0xf4, 0x8d, 0x54, 0xd4, 0x51, 0x99, 0xb5, 0xa8, 0x63, 0x2e, 0x99, 0xb1, 0x8f, + 0x49, 0x68, 0x75, 0x62, 0x61, 0x68, 0xed, 0x28, 0x55, 0x12, 0xea, 0x1f, 0x2a, 0xd0, 0x94, 0x2a, + 0xe0, 0x11, 0x82, 0x52, 0xac, 0xa8, 0x9d, 0xfe, 0x46, 0x67, 0xa1, 0xda, 0xd7, 0x87, 0x7a, 0xdf, + 0x0c, 0x0e, 0x28, 0x7b, 0xca, 0xb4, 0x56, 0x2e, 0x84, 0xe5, 0x18, 0xc3, 0xb7, 0xa1, 0xd2, 0xa7, + 0xf5, 0xf4, 0xbc, 0xf8, 0x66, 0xda, 0xea, 0x7b, 0xde, 0x4b, 0xfd, 0x48, 0x81, 0x93, 0xa2, 0xb8, + 0x80, 0xdb, 0xb8, 0x59, 0xe4, 0x6c, 0x1d, 0x96, 0xb9, 0x65, 0x4e, 0x98, 0x68, 0x16, 0xd1, 0x2d, + 0x32, 0x98, 0xbc, 0x18, 0xeb, 0xb0, 0x1c, 0x50, 0xb5, 0x49, 0xf6, 0x61, 0x52, 0xb8, 0xc8, 0x5e, + 0xca, 0x7d, 0xa6, 0x29, 0xf0, 0x38, 0xc7, 0xea, 0x31, 0x39, 0xab, 0xb9, 0xfd, 0x01, 0x67, 0x64, + 0xf3, 0x79, 0xaa, 0x07, 0x70, 0x9a, 0x7d, 0xd7, 0xb3, 0x23, 0x53, 0x34, 0xe3, 0x21, 0x5c, 0xe6, + 0xcc, 0x13, 0x85, 0xee, 0x7f, 0xa6, 0xc0, 0x99, 0x1c, 0xdc, 0xb3, 0x25, 0x17, 0xee, 0x67, 0xe2, + 0xcf, 0x4d, 0x0a, 0x49, 0xb8, 0x99, 0xec, 0xca, 0x84, 0xfe, 0x57, 0x19, 0x16, 0x52, 0x8d, 0x8e, + 0x24, 0xbf, 0xaf, 0x01, 0x22, 0xec, 0x08, 0xbf, 0x76, 0xa7, 0x5b, 0x2f, 0xf7, 0xb2, 0x48, 0xd8, + 0x1a, 0x7e, 0xe9, 0x4e, 0xb6, 0x38, 0xf4, 0x84, 0xb5, 0x66, 0x07, 0x71, 0x21, 0x0f, 0x4b, 0xe3, + 0x3e, 0x60, 0x4c, 0x91, 0xb9, 0x76, 0x7f, 0x64, 0xb3, 0x53, 0x3b, 0xce, 0x71, 0xbe, 0x59, 0x3b, + 0x09, 0x30, 0xda, 0x83, 0x05, 0x1a, 0x52, 0x8f, 0x82, 0x81, 0x4b, 0x02, 0x6a, 0x4a, 0x19, 0xf3, + 0xcf, 0xbe, 0x7a, 0x08, 0x5c, 0x5f, 0xe7, 0xfd, 0xc9, 0x04, 0x78, 0x88, 0xef, 0xc8, 0x50, 0x81, + 0xc9, 0x74, 0xfa, 0xae, 0x1d, 0x62, 0xaa, 0x1c, 0x1a, 0xd3, 0x16, 0xef, 0x2f, 0x63, 0x8a, 0x43, + 0x63, 0x86, 0x61, 0xee, 0x28, 0x86, 0x81, 0x84, 0xea, 0xcc, 0xdc, 0x54, 0xb3, 0x6d, 0x1e, 0x17, + 0xbf, 0xc8, 0x1f, 0xa1, 0xad, 0xbb, 0x1b, 0xb0, 0x9c, 0xb9, 0xea, 0x93, 0xbc, 0xcc, 0x72, 0x3c, + 0xa1, 0x70, 0x13, 0x96, 0xb2, 0x96, 0xf3, 0x08, 0x63, 0xa4, 0x16, 0xea, 0x30, 0x63, 0xa8, 0x3f, + 0x2b, 0x40, 0x73, 0x13, 0x5b, 0x38, 0xc0, 0xcf, 0xbb, 0x6e, 0x23, 0x55, 0x86, 0x52, 0x4c, 0x97, + 0xa1, 0xa4, 0xaa, 0x6a, 0x4a, 0x19, 0x55, 0x35, 0x67, 0xc2, 0x82, 0x22, 0x32, 0x4a, 0x59, 0xf6, + 0xd3, 0x0c, 0xf4, 0x16, 0x34, 0x86, 0x9e, 0x69, 0xeb, 0xde, 0x41, 0xef, 0x09, 0x3e, 0xf0, 0xf9, + 0x7e, 0xda, 0xcd, 0xd9, 0x93, 0xb7, 0x36, 0x7d, 0xad, 0xce, 0xdb, 0xbf, 0x8b, 0x0f, 0x68, 0xb9, + 0x52, 0x98, 0x9f, 0x60, 0x95, 0xb7, 0x25, 0x2d, 0x06, 0x89, 0x4a, 0x90, 0xaa, 0x87, 0x2a, 0x41, + 0xfa, 0x0e, 0x9c, 0x24, 0x6e, 0xc3, 0xbe, 0x1e, 0x60, 0x9a, 0xd1, 0x25, 0x5b, 0xd1, 0xd1, 0xd7, + 0xfb, 0x34, 0xd4, 0xfa, 0x6c, 0x14, 0xee, 0xe8, 0x94, 0xb5, 0x08, 0xa0, 0x5a, 0xd0, 0xd9, 0xc4, + 0xfa, 0xc7, 0x85, 0xcd, 0x84, 0x45, 0xe2, 0x02, 0x70, 0x3c, 0xfe, 0x8c, 0xdf, 0x89, 0x86, 0xe3, + 0xb2, 0x54, 0x44, 0x59, 0x8b, 0x41, 0xd4, 0x3f, 0x50, 0x60, 0x49, 0xc6, 0x35, 0xdb, 0x4e, 0x72, + 0x0b, 0x1a, 0x62, 0xf4, 0xc9, 0xd5, 0x30, 0x1b, 0x51, 0x4b, 0x4d, 0xea, 0xa6, 0x62, 0xa8, 0xc7, + 0x5e, 0x92, 0x30, 0x90, 0x97, 0x60, 0x95, 0xb5, 0x82, 0x69, 0xd0, 0xea, 0x4d, 0xec, 0xf7, 0xf9, + 0x2e, 0x49, 0x7f, 0x93, 0x25, 0x15, 0x0c, 0x62, 0x8a, 0x50, 0xd5, 0x22, 0x00, 0x51, 0xd7, 0x5d, + 0x77, 0xe4, 0x18, 0xbc, 0x0c, 0x8e, 0x3d, 0xa8, 0xdf, 0x80, 0x26, 0x0f, 0x16, 0xb8, 0x0b, 0x9e, + 0x8c, 0x37, 0xc3, 0x32, 0xfc, 0xc2, 0xe1, 0xca, 0xf0, 0xd5, 0x20, 0x56, 0x87, 0xc0, 0xc7, 0x9e, + 0x5c, 0x87, 0x70, 0x3d, 0x96, 0xcb, 0x2f, 0x64, 0x17, 0xbb, 0x4b, 0x11, 0x0e, 0x1b, 0x38, 0x4a, + 0xe3, 0xab, 0x7f, 0x51, 0x80, 0x26, 0x0f, 0xf9, 0x22, 0xa4, 0x31, 0x45, 0xcf, 0xfa, 0x1e, 0xf2, + 0x12, 0x20, 0x1e, 0x88, 0xf4, 0x52, 0x5f, 0x14, 0x2f, 0xf0, 0x37, 0xb1, 0x84, 0x76, 0x76, 0xfe, + 0xbb, 0x98, 0x97, 0xff, 0xd6, 0x60, 0x21, 0xb2, 0x50, 0xcc, 0x27, 0x13, 0xe1, 0xc0, 0xa4, 0x73, + 0x61, 0x3e, 0xbb, 0xe8, 0x58, 0x99, 0x01, 0x8e, 0xab, 0x54, 0xe4, 0x07, 0x0a, 0xb4, 0xa3, 0xf0, + 0x81, 0x2f, 0xd7, 0x34, 0x69, 0xa1, 0xbb, 0x61, 0x36, 0x23, 0x9c, 0xd0, 0x58, 0x66, 0x49, 0x0c, + 0xd1, 0x5a, 0xd2, 0xa3, 0x3f, 0x26, 0x13, 0xf9, 0x35, 0xa8, 0x86, 0xe9, 0x12, 0x26, 0x97, 0x85, + 0x50, 0x2e, 0x3b, 0x30, 0xa7, 0x1b, 0x06, 0xbd, 0x4f, 0x86, 0x47, 0x5d, 0xfc, 0x91, 0x56, 0x09, + 0xd3, 0x1a, 0x87, 0x12, 0xaf, 0x12, 0x26, 0x0f, 0xea, 0xd7, 0x98, 0x96, 0xd3, 0x4a, 0x22, 0x32, + 0xe8, 0x0c, 0x26, 0x45, 0xfd, 0xae, 0x02, 0xcb, 0x89, 0xc1, 0x66, 0xb3, 0x19, 0x5f, 0x05, 0xfa, + 0x91, 0x6d, 0xdc, 0x60, 0xe4, 0xe4, 0x1f, 0x42, 0xbf, 0x21, 0xea, 0xa0, 0xda, 0x70, 0xee, 0x0e, + 0x8e, 0x88, 0x39, 0xae, 0xd8, 0x37, 0xe7, 0xbc, 0x4d, 0xfd, 0x5b, 0x05, 0x56, 0xf2, 0xf1, 0xcd, + 0xb6, 0x10, 0x49, 0x2e, 0x13, 0x1f, 0x20, 0xb6, 0x75, 0x8b, 0x4f, 0x92, 0x1b, 0x31, 0xf5, 0xcd, + 0xa9, 0x94, 0x2b, 0x65, 0x57, 0xca, 0xa9, 0xef, 0xc2, 0xf2, 0xf6, 0xc8, 0x1f, 0x62, 0xe7, 0x18, + 0x4a, 0x07, 0x89, 0x50, 0x69, 0xd8, 0x1f, 0xd9, 0xf8, 0x18, 0xc6, 0x7a, 0x0c, 0x88, 0x13, 0x36, + 0xa3, 0x78, 0xe6, 0x32, 0xae, 0x47, 0x43, 0x92, 0x91, 0x8d, 0x9f, 0x17, 0x82, 0xef, 0x15, 0xa2, + 0xa0, 0x98, 0x2f, 0xf9, 0x8c, 0x2e, 0x42, 0x94, 0x3a, 0x2b, 0x24, 0x53, 0x67, 0xa9, 0xaf, 0x5f, + 0x8a, 0x19, 0x5f, 0xbf, 0x9c, 0x87, 0x26, 0x8f, 0x91, 0xa5, 0x34, 0x5b, 0x83, 0x01, 0x79, 0xa3, + 0x17, 0xa1, 0x21, 0xbe, 0x1d, 0xe8, 0xe9, 0x96, 0x45, 0x8d, 0x69, 0x55, 0xab, 0x0b, 0xd8, 0x0d, + 0xcb, 0x42, 0x2b, 0xd0, 0x08, 0x5c, 0xf2, 0x32, 0x4c, 0xd8, 0x92, 0x26, 0x10, 0xb8, 0x37, 0x2c, + 0x8b, 0xe5, 0x46, 0x5f, 0x80, 0x5a, 0xdf, 0x1d, 0x1e, 0xf4, 0x6c, 0x12, 0x99, 0xb0, 0xdb, 0x96, + 0xaa, 0x04, 0x70, 0xcf, 0x35, 0xb0, 0xfa, 0xfd, 0xd8, 0xc2, 0x1c, 0xc3, 0x07, 0xa8, 0xc9, 0x8f, + 0x48, 0x0b, 0xe9, 0x3d, 0xed, 0xb3, 0xb4, 0x3a, 0x7f, 0xaa, 0xc0, 0x8b, 0xd4, 0xd7, 0x39, 0x76, + 0x13, 0x76, 0x6c, 0xab, 0x70, 0xf1, 0x55, 0xa8, 0x85, 0x9f, 0x04, 0xa1, 0x2a, 0x94, 0x6e, 0x8f, + 0x2c, 0xab, 0x7d, 0x02, 0xd5, 0xa0, 0x4c, 0xcf, 0x18, 0xdb, 0x0a, 0xf9, 0x49, 0x33, 0x59, 0xed, + 0xc2, 0xc5, 0x9f, 0x83, 0x5a, 0xe8, 0xab, 0xa3, 0x3a, 0xcc, 0xbd, 0xe7, 0xbc, 0xeb, 0xb8, 0xcf, + 0x9c, 0xf6, 0x09, 0x34, 0x07, 0xc5, 0x1b, 0x96, 0xd5, 0x56, 0x50, 0x13, 0x6a, 0xdb, 0x81, 0x87, + 0x75, 0x12, 0x64, 0xb5, 0x0b, 0xa8, 0x05, 0xf0, 0x8e, 0xe9, 0x07, 0xae, 0x67, 0xf6, 0x75, 0xab, + 0x5d, 0xbc, 0xf8, 0x21, 0xb4, 0xe4, 0xea, 0x30, 0xd4, 0x20, 0x7b, 0x61, 0x70, 0xeb, 0x03, 0xd3, + 0x0f, 0xda, 0x27, 0x48, 0xfb, 0xfb, 0x6e, 0xf0, 0xc0, 0xc3, 0x3e, 0x76, 0x82, 0xb6, 0x82, 0x00, + 0x2a, 0x5f, 0x77, 0x36, 0x4d, 0xff, 0x49, 0xbb, 0x80, 0x16, 0xb9, 0xe3, 0xa5, 0x5b, 0x5b, 0xbc, + 0xdc, 0xaa, 0x5d, 0x24, 0xdd, 0xc3, 0xa7, 0x12, 0x6a, 0x43, 0x23, 0x6c, 0x72, 0xe7, 0xc1, 0x7b, + 0xed, 0x32, 0xa3, 0x9e, 0xfc, 0xac, 0x5c, 0x34, 0xa0, 0x9d, 0x2c, 0x5e, 0x26, 0x63, 0xb2, 0x49, + 0x84, 0xa0, 0xf6, 0x09, 0x32, 0x33, 0x5e, 0x45, 0xde, 0x56, 0xd0, 0x3c, 0xd4, 0x63, 0xf5, 0xd8, + 0xed, 0x02, 0x01, 0xdc, 0xf1, 0x86, 0x7d, 0xce, 0x3e, 0x46, 0x02, 0xe5, 0x2d, 0x59, 0x89, 0xd2, + 0xc5, 0x9b, 0x50, 0x15, 0x07, 0x62, 0xa4, 0x29, 0x5f, 0x22, 0xf2, 0xd8, 0x3e, 0x81, 0x16, 0xa0, + 0x29, 0x5d, 0xab, 0xd4, 0x56, 0x10, 0x82, 0x96, 0x7c, 0x09, 0x5a, 0xbb, 0x70, 0x71, 0x1d, 0x20, + 0x3a, 0x31, 0x22, 0xe4, 0x6c, 0x39, 0xfb, 0xba, 0x65, 0x1a, 0x8c, 0x36, 0xf2, 0x8a, 0xac, 0x2e, + 0x5d, 0x1d, 0x16, 0x59, 0xb7, 0x0b, 0x17, 0xdf, 0x82, 0xaa, 0xc8, 0xe1, 0x13, 0xb8, 0x86, 0x6d, + 0x77, 0x1f, 0x33, 0xce, 0x6c, 0xe3, 0x80, 0xf1, 0xf1, 0x86, 0x8d, 0x1d, 0xa3, 0x5d, 0x20, 0x64, + 0xb0, 0xdb, 0x40, 0x78, 0x26, 0xbb, 0x5d, 0x5c, 0xff, 0xcd, 0x73, 0x00, 0xac, 0x1a, 0xd9, 0x75, + 0x3d, 0x03, 0x0d, 0xe9, 0x57, 0x0a, 0x1b, 0xae, 0x3d, 0x74, 0x1d, 0x51, 0x22, 0xe9, 0xa3, 0x2b, + 0x29, 0x3f, 0x8c, 0x3d, 0xa6, 0x9b, 0xf2, 0xd5, 0xe9, 0xbe, 0x94, 0xd3, 0x23, 0xd1, 0x5c, 0x3d, + 0x81, 0x9e, 0x52, 0x8c, 0x0f, 0x4d, 0x1b, 0x3f, 0x34, 0xfb, 0x4f, 0x44, 0xe5, 0xe8, 0xfa, 0xb8, + 0xeb, 0xc9, 0x12, 0x8d, 0x05, 0xce, 0x0b, 0x39, 0x38, 0xb7, 0x03, 0xcf, 0x74, 0x06, 0x62, 0x27, + 0x57, 0x4f, 0xa0, 0x51, 0xe2, 0x82, 0x34, 0x81, 0xf4, 0x0b, 0xd3, 0xdd, 0x89, 0x76, 0x54, 0xb4, + 0x43, 0x98, 0x4f, 0xdc, 0x4d, 0x89, 0x5e, 0xcb, 0xbb, 0x4f, 0x26, 0xeb, 0x2e, 0xcd, 0xee, 0xa5, + 0x29, 0x5b, 0x87, 0x18, 0x6d, 0x68, 0xc9, 0x97, 0x2a, 0xa2, 0x57, 0xf3, 0x87, 0x48, 0xdd, 0x74, + 0xd5, 0x7d, 0x6d, 0xba, 0xc6, 0x21, 0xba, 0x6f, 0x33, 0x91, 0x9e, 0x8c, 0x2e, 0xf3, 0x8a, 0xb1, + 0xee, 0x78, 0x97, 0x4a, 0x3d, 0x81, 0x0c, 0xb2, 0xdf, 0x27, 0x6e, 0xe5, 0x42, 0x6b, 0x79, 0xe9, + 0xb2, 0xec, 0xeb, 0xbb, 0x26, 0x63, 0xf9, 0x76, 0x52, 0x31, 0xc7, 0xcd, 0x22, 0x75, 0x05, 0xe0, + 0x61, 0x66, 0x11, 0x43, 0x31, 0x7e, 0x16, 0x47, 0xc0, 0x32, 0x64, 0xe7, 0x46, 0x19, 0x17, 0xdb, + 0xa4, 0xc5, 0x3c, 0x3a, 0xb4, 0xc9, 0xbf, 0x07, 0x67, 0x32, 0xc6, 0x03, 0xaa, 0xc8, 0xc9, 0x52, + 0xfd, 0xcb, 0xb9, 0xc5, 0x7e, 0xd9, 0x17, 0x93, 0x75, 0xaf, 0x4c, 0xdf, 0x21, 0x2e, 0xe7, 0xf2, + 0xad, 0x57, 0x79, 0x2c, 0xcb, 0xbc, 0xad, 0x2b, 0x4f, 0xce, 0xb3, 0x2f, 0xd2, 0x52, 0x4f, 0xa0, + 0x6f, 0x48, 0x5b, 0x03, 0x5a, 0xcd, 0x17, 0x0f, 0xd9, 0x8d, 0x9e, 0xbc, 0x86, 0xbf, 0x0c, 0x88, + 0x69, 0xb3, 0xb3, 0x6b, 0x0e, 0x46, 0x9e, 0xce, 0x44, 0x3c, 0xdf, 0x18, 0xa6, 0x1b, 0x0b, 0x54, + 0xaf, 0x1f, 0xaa, 0x4f, 0x38, 0xb5, 0x3e, 0xc0, 0x1d, 0x1c, 0xdc, 0xa3, 0x37, 0xf9, 0xf8, 0xe9, + 0x99, 0x45, 0x76, 0x9f, 0x37, 0x11, 0xe8, 0x5e, 0x99, 0xa2, 0x65, 0x88, 0x64, 0x17, 0xea, 0x77, + 0x70, 0xc0, 0xb3, 0xc2, 0x3e, 0x1a, 0xd3, 0x57, 0xb4, 0x11, 0x68, 0x2e, 0x4e, 0xd3, 0x34, 0x6e, + 0x70, 0x13, 0xf7, 0x81, 0xa1, 0x31, 0xac, 0x4e, 0xdf, 0x54, 0x96, 0x67, 0x70, 0x73, 0x2e, 0x19, + 0x63, 0x33, 0xa3, 0x8e, 0xdf, 0x3b, 0x58, 0xb7, 0x82, 0xbd, 0xdc, 0x99, 0xc5, 0xda, 0x4c, 0x9a, + 0x99, 0xd4, 0x34, 0xc4, 0x63, 0xc2, 0x22, 0xd3, 0x53, 0xf9, 0x34, 0xec, 0x6a, 0xde, 0x20, 0xe9, + 0xb6, 0x53, 0x8b, 0xe4, 0x77, 0x60, 0x29, 0xeb, 0x06, 0x31, 0x74, 0xf5, 0xd0, 0xb7, 0x8d, 0x4d, + 0xc6, 0x85, 0x61, 0x61, 0xd3, 0x73, 0x87, 0xf2, 0xa4, 0x2e, 0xe7, 0x4c, 0x2a, 0xd5, 0x72, 0x6a, + 0x34, 0xbf, 0x00, 0x0d, 0x11, 0xbc, 0xd0, 0x23, 0x92, 0xbc, 0xb5, 0x8f, 0x37, 0x9a, 0x7a, 0xf0, + 0xc7, 0x30, 0x9f, 0x38, 0x47, 0xcd, 0x13, 0xba, 0xec, 0xe3, 0xd6, 0xc9, 0x18, 0x7e, 0x11, 0x10, + 0xbd, 0x64, 0x4e, 0xe6, 0x47, 0x9e, 0x8f, 0x96, 0x6e, 0x2a, 0x10, 0x5d, 0x3d, 0x44, 0x8f, 0x50, + 0xf2, 0x7e, 0x55, 0x81, 0xe5, 0xcc, 0x03, 0xcb, 0xb4, 0x95, 0xe2, 0x49, 0xfe, 0x31, 0x27, 0xab, + 0xdd, 0xd7, 0x0f, 0xd5, 0x27, 0x24, 0x62, 0x00, 0x8d, 0x78, 0x86, 0x1b, 0xe5, 0x7c, 0x84, 0x90, + 0x91, 0x71, 0x4f, 0xeb, 0x59, 0x56, 0xd3, 0x10, 0xd1, 0x63, 0x98, 0x4f, 0x1c, 0x48, 0xe4, 0x31, + 0x33, 0xfb, 0xdc, 0x62, 0x2a, 0x6f, 0x20, 0x75, 0x0c, 0x91, 0xe7, 0x0d, 0xe4, 0x9d, 0x57, 0x4c, + 0xa3, 0xc4, 0x4d, 0x29, 0xbf, 0x87, 0xc6, 0x2c, 0x43, 0x32, 0xa3, 0xd8, 0x7d, 0x75, 0xaa, 0xb6, + 0xe1, 0x9a, 0xfd, 0x96, 0x02, 0x9d, 0xbc, 0x74, 0x1a, 0x7a, 0x23, 0xd7, 0xa2, 0x8e, 0x8b, 0x95, + 0xbb, 0x5f, 0x3c, 0x6c, 0xb7, 0xb8, 0x4f, 0x2a, 0xa7, 0xc7, 0x72, 0x5d, 0xe0, 0xac, 0x24, 0xda, + 0xe4, 0x95, 0xfd, 0x16, 0x2d, 0xe9, 0x88, 0x32, 0x66, 0x79, 0x2b, 0x9b, 0x95, 0x56, 0x9b, 0x3c, + 0xfa, 0x37, 0xa0, 0x1e, 0xcb, 0xa1, 0xe5, 0x79, 0x1a, 0xe9, 0x34, 0xdb, 0xe4, 0x91, 0x1f, 0x01, + 0x44, 0xb9, 0x33, 0xf4, 0xf2, 0x38, 0xa2, 0x8f, 0x6a, 0xfe, 0xb8, 0xf3, 0x34, 0xc9, 0xfc, 0xc9, + 0x89, 0xb5, 0x43, 0x61, 0x10, 0x81, 0xdb, 0x04, 0x0c, 0x89, 0x80, 0x6d, 0x22, 0x86, 0x7d, 0xe8, + 0xe6, 0xa7, 0x6f, 0xd0, 0x9b, 0x63, 0x4e, 0xbe, 0xc6, 0x0a, 0xf1, 0x24, 0xbc, 0xeb, 0x3f, 0x5a, + 0x84, 0x5a, 0xa4, 0xa2, 0xff, 0x1f, 0x8a, 0x3f, 0xbf, 0x50, 0xfc, 0x31, 0xcc, 0x27, 0x6e, 0x19, + 0xcc, 0x93, 0xa1, 0xec, 0xcb, 0x08, 0xa7, 0x8a, 0x22, 0xe5, 0x0b, 0xfa, 0xf2, 0xec, 0x4e, 0xe6, + 0x35, 0x7e, 0x93, 0xc7, 0xff, 0x26, 0xbb, 0x1b, 0x34, 0xfc, 0x66, 0xe4, 0x95, 0x31, 0x05, 0xc8, + 0xf2, 0x95, 0x08, 0x9f, 0x96, 0x08, 0xf5, 0x7f, 0x47, 0xb6, 0xe0, 0x31, 0xcc, 0x27, 0xee, 0x36, + 0xca, 0x93, 0xa4, 0xec, 0x2b, 0x90, 0x26, 0x63, 0xf8, 0x98, 0x83, 0xdb, 0x3d, 0x58, 0xcc, 0xb8, + 0x05, 0x06, 0x5d, 0xc9, 0x4f, 0x1a, 0x64, 0x5f, 0x18, 0x33, 0xcd, 0xc4, 0x9a, 0x92, 0x32, 0xe7, + 0x6d, 0x9d, 0x59, 0x7f, 0x48, 0xd0, 0x5d, 0x9b, 0xf6, 0xff, 0x0b, 0xc2, 0x89, 0xbd, 0x0f, 0x15, + 0x76, 0x75, 0x11, 0xca, 0x3d, 0x82, 0x8f, 0x5d, 0x6c, 0xd4, 0x9d, 0x7c, 0x01, 0x92, 0x3f, 0xb2, + 0x02, 0x32, 0x8f, 0x1e, 0xb4, 0x18, 0x28, 0x5c, 0xac, 0x63, 0x46, 0xf0, 0x3e, 0x94, 0xe9, 0xb6, + 0x80, 0x72, 0xea, 0x5d, 0xe3, 0x17, 0x15, 0x75, 0xa7, 0xb9, 0x9b, 0x28, 0xa2, 0xbc, 0x4e, 0xfb, + 0xb2, 0xcc, 0xfd, 0x71, 0x0f, 0x7f, 0x45, 0x41, 0x3d, 0x68, 0x32, 0x04, 0x62, 0x65, 0x8e, 0x7b, + 0x06, 0x03, 0x58, 0x8c, 0xcd, 0xe0, 0x79, 0xa1, 0xb9, 0xa2, 0xfc, 0x1f, 0xc9, 0xcc, 0xfc, 0x12, + 0xbd, 0x34, 0x28, 0xf9, 0xa1, 0x2b, 0xba, 0x72, 0xd8, 0x2f, 0x76, 0xbb, 0x57, 0x0f, 0xd1, 0x23, + 0xc4, 0xbe, 0x03, 0xed, 0x64, 0xad, 0x3b, 0xba, 0x94, 0x6f, 0x77, 0x8e, 0xe2, 0x63, 0xa1, 0xfb, + 0x50, 0x61, 0x95, 0x7c, 0x79, 0x4a, 0x2a, 0xd5, 0xf9, 0x4d, 0x1c, 0xef, 0xe6, 0x17, 0xbe, 0xb9, + 0x3e, 0x30, 0x83, 0xbd, 0xd1, 0x0e, 0x79, 0x73, 0x99, 0x35, 0xbe, 0x64, 0xba, 0xfc, 0xd7, 0x65, + 0xc1, 0xdb, 0xcb, 0xb4, 0xff, 0x65, 0x8a, 0x62, 0xb8, 0xb3, 0x53, 0xa1, 0x8f, 0xaf, 0xff, 0x4f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xc0, 0x55, 0x17, 0xd6, 0x6b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5209,14 +6367,25 @@ type QueryCoordClient interface { GetShardLeaders(ctx context.Context, in *GetShardLeadersRequest, opts ...grpc.CallOption) (*GetShardLeadersResponse, error) CheckHealth(ctx context.Context, in *milvuspb.CheckHealthRequest, opts ...grpc.CallOption) (*milvuspb.CheckHealthResponse, error) CreateResourceGroup(ctx context.Context, in *milvuspb.CreateResourceGroupRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + UpdateResourceGroups(ctx context.Context, in *UpdateResourceGroupsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DropResourceGroup(ctx context.Context, in *milvuspb.DropResourceGroupRequest, opts ...grpc.CallOption) (*commonpb.Status, error) TransferNode(ctx context.Context, in *milvuspb.TransferNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) TransferReplica(ctx context.Context, in *TransferReplicaRequest, opts ...grpc.CallOption) (*commonpb.Status, error) ListResourceGroups(ctx context.Context, in *milvuspb.ListResourceGroupsRequest, opts ...grpc.CallOption) (*milvuspb.ListResourceGroupsResponse, error) DescribeResourceGroup(ctx context.Context, in *DescribeResourceGroupRequest, opts ...grpc.CallOption) (*DescribeResourceGroupResponse, error) + // ops interfaces ListCheckers(ctx context.Context, in *ListCheckersRequest, opts ...grpc.CallOption) (*ListCheckersResponse, error) ActivateChecker(ctx context.Context, in *ActivateCheckerRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DeactivateChecker(ctx context.Context, in *DeactivateCheckerRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + ListQueryNode(ctx context.Context, in *ListQueryNodeRequest, opts ...grpc.CallOption) (*ListQueryNodeResponse, error) + GetQueryNodeDistribution(ctx context.Context, in *GetQueryNodeDistributionRequest, opts ...grpc.CallOption) (*GetQueryNodeDistributionResponse, error) + SuspendBalance(ctx context.Context, in *SuspendBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + ResumeBalance(ctx context.Context, in *ResumeBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + SuspendNode(ctx context.Context, in *SuspendNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + ResumeNode(ctx context.Context, in *ResumeNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + TransferSegment(ctx context.Context, in *TransferSegmentRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + TransferChannel(ctx context.Context, in *TransferChannelRequest, opts ...grpc.CallOption) (*commonpb.Status, error) + CheckQueryNodeDistribution(ctx context.Context, in *CheckQueryNodeDistributionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) } type queryCoordClient struct { @@ -5398,6 +6567,15 @@ func (c *queryCoordClient) CreateResourceGroup(ctx context.Context, in *milvuspb return out, nil } +func (c *queryCoordClient) UpdateResourceGroups(ctx context.Context, in *UpdateResourceGroupsRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/UpdateResourceGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryCoordClient) DropResourceGroup(ctx context.Context, in *milvuspb.DropResourceGroupRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/DropResourceGroup", in, out, opts...) @@ -5470,6 +6648,87 @@ func (c *queryCoordClient) DeactivateChecker(ctx context.Context, in *Deactivate return out, nil } +func (c *queryCoordClient) ListQueryNode(ctx context.Context, in *ListQueryNodeRequest, opts ...grpc.CallOption) (*ListQueryNodeResponse, error) { + out := new(ListQueryNodeResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/ListQueryNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) GetQueryNodeDistribution(ctx context.Context, in *GetQueryNodeDistributionRequest, opts ...grpc.CallOption) (*GetQueryNodeDistributionResponse, error) { + out := new(GetQueryNodeDistributionResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/GetQueryNodeDistribution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) SuspendBalance(ctx context.Context, in *SuspendBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/SuspendBalance", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) ResumeBalance(ctx context.Context, in *ResumeBalanceRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/ResumeBalance", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) SuspendNode(ctx context.Context, in *SuspendNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/SuspendNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) ResumeNode(ctx context.Context, in *ResumeNodeRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/ResumeNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) TransferSegment(ctx context.Context, in *TransferSegmentRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/TransferSegment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) TransferChannel(ctx context.Context, in *TransferChannelRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/TransferChannel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryCoordClient) CheckQueryNodeDistribution(ctx context.Context, in *CheckQueryNodeDistributionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.query.QueryCoord/CheckQueryNodeDistribution", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryCoordServer is the server API for QueryCoord service. type QueryCoordServer interface { GetComponentStates(context.Context, *milvuspb.GetComponentStatesRequest) (*milvuspb.ComponentStates, error) @@ -5493,14 +6752,25 @@ type QueryCoordServer interface { GetShardLeaders(context.Context, *GetShardLeadersRequest) (*GetShardLeadersResponse, error) CheckHealth(context.Context, *milvuspb.CheckHealthRequest) (*milvuspb.CheckHealthResponse, error) CreateResourceGroup(context.Context, *milvuspb.CreateResourceGroupRequest) (*commonpb.Status, error) + UpdateResourceGroups(context.Context, *UpdateResourceGroupsRequest) (*commonpb.Status, error) DropResourceGroup(context.Context, *milvuspb.DropResourceGroupRequest) (*commonpb.Status, error) TransferNode(context.Context, *milvuspb.TransferNodeRequest) (*commonpb.Status, error) TransferReplica(context.Context, *TransferReplicaRequest) (*commonpb.Status, error) ListResourceGroups(context.Context, *milvuspb.ListResourceGroupsRequest) (*milvuspb.ListResourceGroupsResponse, error) DescribeResourceGroup(context.Context, *DescribeResourceGroupRequest) (*DescribeResourceGroupResponse, error) + // ops interfaces ListCheckers(context.Context, *ListCheckersRequest) (*ListCheckersResponse, error) ActivateChecker(context.Context, *ActivateCheckerRequest) (*commonpb.Status, error) DeactivateChecker(context.Context, *DeactivateCheckerRequest) (*commonpb.Status, error) + ListQueryNode(context.Context, *ListQueryNodeRequest) (*ListQueryNodeResponse, error) + GetQueryNodeDistribution(context.Context, *GetQueryNodeDistributionRequest) (*GetQueryNodeDistributionResponse, error) + SuspendBalance(context.Context, *SuspendBalanceRequest) (*commonpb.Status, error) + ResumeBalance(context.Context, *ResumeBalanceRequest) (*commonpb.Status, error) + SuspendNode(context.Context, *SuspendNodeRequest) (*commonpb.Status, error) + ResumeNode(context.Context, *ResumeNodeRequest) (*commonpb.Status, error) + TransferSegment(context.Context, *TransferSegmentRequest) (*commonpb.Status, error) + TransferChannel(context.Context, *TransferChannelRequest) (*commonpb.Status, error) + CheckQueryNodeDistribution(context.Context, *CheckQueryNodeDistributionRequest) (*commonpb.Status, error) } // UnimplementedQueryCoordServer can be embedded to have forward compatible implementations. @@ -5564,6 +6834,9 @@ func (*UnimplementedQueryCoordServer) CheckHealth(ctx context.Context, req *milv func (*UnimplementedQueryCoordServer) CreateResourceGroup(ctx context.Context, req *milvuspb.CreateResourceGroupRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateResourceGroup not implemented") } +func (*UnimplementedQueryCoordServer) UpdateResourceGroups(ctx context.Context, req *UpdateResourceGroupsRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateResourceGroups not implemented") +} func (*UnimplementedQueryCoordServer) DropResourceGroup(ctx context.Context, req *milvuspb.DropResourceGroupRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method DropResourceGroup not implemented") } @@ -5588,6 +6861,33 @@ func (*UnimplementedQueryCoordServer) ActivateChecker(ctx context.Context, req * func (*UnimplementedQueryCoordServer) DeactivateChecker(ctx context.Context, req *DeactivateCheckerRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateChecker not implemented") } +func (*UnimplementedQueryCoordServer) ListQueryNode(ctx context.Context, req *ListQueryNodeRequest) (*ListQueryNodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListQueryNode not implemented") +} +func (*UnimplementedQueryCoordServer) GetQueryNodeDistribution(ctx context.Context, req *GetQueryNodeDistributionRequest) (*GetQueryNodeDistributionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetQueryNodeDistribution not implemented") +} +func (*UnimplementedQueryCoordServer) SuspendBalance(ctx context.Context, req *SuspendBalanceRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method SuspendBalance not implemented") +} +func (*UnimplementedQueryCoordServer) ResumeBalance(ctx context.Context, req *ResumeBalanceRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeBalance not implemented") +} +func (*UnimplementedQueryCoordServer) SuspendNode(ctx context.Context, req *SuspendNodeRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method SuspendNode not implemented") +} +func (*UnimplementedQueryCoordServer) ResumeNode(ctx context.Context, req *ResumeNodeRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeNode not implemented") +} +func (*UnimplementedQueryCoordServer) TransferSegment(ctx context.Context, req *TransferSegmentRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method TransferSegment not implemented") +} +func (*UnimplementedQueryCoordServer) TransferChannel(ctx context.Context, req *TransferChannelRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method TransferChannel not implemented") +} +func (*UnimplementedQueryCoordServer) CheckQueryNodeDistribution(ctx context.Context, req *CheckQueryNodeDistributionRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckQueryNodeDistribution not implemented") +} func RegisterQueryCoordServer(s *grpc.Server, srv QueryCoordServer) { s.RegisterService(&_QueryCoord_serviceDesc, srv) @@ -5935,6 +7235,24 @@ func _QueryCoord_CreateResourceGroup_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _QueryCoord_UpdateResourceGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateResourceGroupsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).UpdateResourceGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/UpdateResourceGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).UpdateResourceGroups(ctx, req.(*UpdateResourceGroupsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _QueryCoord_DropResourceGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(milvuspb.DropResourceGroupRequest) if err := dec(in); err != nil { @@ -6079,6 +7397,168 @@ func _QueryCoord_DeactivateChecker_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _QueryCoord_ListQueryNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListQueryNodeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).ListQueryNode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/ListQueryNode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).ListQueryNode(ctx, req.(*ListQueryNodeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_GetQueryNodeDistribution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetQueryNodeDistributionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).GetQueryNodeDistribution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/GetQueryNodeDistribution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).GetQueryNodeDistribution(ctx, req.(*GetQueryNodeDistributionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_SuspendBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SuspendBalanceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).SuspendBalance(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/SuspendBalance", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).SuspendBalance(ctx, req.(*SuspendBalanceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_ResumeBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResumeBalanceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).ResumeBalance(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/ResumeBalance", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).ResumeBalance(ctx, req.(*ResumeBalanceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_SuspendNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SuspendNodeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).SuspendNode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/SuspendNode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).SuspendNode(ctx, req.(*SuspendNodeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_ResumeNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResumeNodeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).ResumeNode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/ResumeNode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).ResumeNode(ctx, req.(*ResumeNodeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_TransferSegment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TransferSegmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).TransferSegment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/TransferSegment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).TransferSegment(ctx, req.(*TransferSegmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_TransferChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TransferChannelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).TransferChannel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/TransferChannel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).TransferChannel(ctx, req.(*TransferChannelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _QueryCoord_CheckQueryNodeDistribution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckQueryNodeDistributionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryCoordServer).CheckQueryNodeDistribution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.query.QueryCoord/CheckQueryNodeDistribution", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryCoordServer).CheckQueryNodeDistribution(ctx, req.(*CheckQueryNodeDistributionRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _QueryCoord_serviceDesc = grpc.ServiceDesc{ ServiceName: "milvus.protov2.query.QueryCoord", HandlerType: (*QueryCoordServer)(nil), @@ -6159,6 +7639,10 @@ var _QueryCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateResourceGroup", Handler: _QueryCoord_CreateResourceGroup_Handler, }, + { + MethodName: "UpdateResourceGroups", + Handler: _QueryCoord_UpdateResourceGroups_Handler, + }, { MethodName: "DropResourceGroup", Handler: _QueryCoord_DropResourceGroup_Handler, @@ -6191,6 +7675,42 @@ var _QueryCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "DeactivateChecker", Handler: _QueryCoord_DeactivateChecker_Handler, }, + { + MethodName: "ListQueryNode", + Handler: _QueryCoord_ListQueryNode_Handler, + }, + { + MethodName: "GetQueryNodeDistribution", + Handler: _QueryCoord_GetQueryNodeDistribution_Handler, + }, + { + MethodName: "SuspendBalance", + Handler: _QueryCoord_SuspendBalance_Handler, + }, + { + MethodName: "ResumeBalance", + Handler: _QueryCoord_ResumeBalance_Handler, + }, + { + MethodName: "SuspendNode", + Handler: _QueryCoord_SuspendNode_Handler, + }, + { + MethodName: "ResumeNode", + Handler: _QueryCoord_ResumeNode_Handler, + }, + { + MethodName: "TransferSegment", + Handler: _QueryCoord_TransferSegment_Handler, + }, + { + MethodName: "TransferChannel", + Handler: _QueryCoord_TransferChannel_Handler, + }, + { + MethodName: "CheckQueryNodeDistribution", + Handler: _QueryCoord_CheckQueryNodeDistribution_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "query_coord.proto", diff --git a/proto/v2.2/rg.proto b/proto/v2.2/rg.proto new file mode 100644 index 0000000..68d0be4 --- /dev/null +++ b/proto/v2.2/rg.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; +package milvus.protov2.rg; + +option go_package = "github.com/milvus-io/milvus-proto/go-api/v2/rgpb"; + +option java_multiple_files = true; +option java_package = "io.milvus.grpc"; +option java_outer_classname = "ResourceGroupProto"; +option java_generate_equals_and_hash = true; + +option csharp_namespace = "Milvus.Client.Grpc"; + +message ResourceGroupLimit { + int32 nodeNum = 1; + // preserve for other limit. +} + +message ResourceGroupTransfer { + string resource_group = 1; // resource groups can be transfered with current resource group. + // preserve for other option, such as weight, priority or affinity setup. +} + +message ResourceGroupConfig { + ResourceGroupLimit requests = 1; // requests node num in resource group, if node num is less than requests.nodeNum, it will be transfer from other resource group. + ResourceGroupLimit limits = 2; // limited node num in resource group, if node num is more than limits.nodeNum, it will be transfer to other resource group. + repeated ResourceGroupTransfer from = 3; // missing node should be transfer from given resource group at high priority in repeated list. + repeated ResourceGroupTransfer to = 4; // redundant node should be transfer to given resource group at high priority in repeated list. +} + diff --git a/proto/v2.2/rgpb/rg.pb.go b/proto/v2.2/rgpb/rg.pb.go new file mode 100644 index 0000000..f9416ae --- /dev/null +++ b/proto/v2.2/rgpb/rg.pb.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: rg.proto + +package rgpb + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ResourceGroupLimit struct { + NodeNum int32 `protobuf:"varint,1,opt,name=nodeNum,proto3" json:"nodeNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResourceGroupLimit) Reset() { *m = ResourceGroupLimit{} } +func (m *ResourceGroupLimit) String() string { return proto.CompactTextString(m) } +func (*ResourceGroupLimit) ProtoMessage() {} +func (*ResourceGroupLimit) Descriptor() ([]byte, []int) { + return fileDescriptor_103cbf007c63c19b, []int{0} +} + +func (m *ResourceGroupLimit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResourceGroupLimit.Unmarshal(m, b) +} +func (m *ResourceGroupLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResourceGroupLimit.Marshal(b, m, deterministic) +} +func (m *ResourceGroupLimit) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResourceGroupLimit.Merge(m, src) +} +func (m *ResourceGroupLimit) XXX_Size() int { + return xxx_messageInfo_ResourceGroupLimit.Size(m) +} +func (m *ResourceGroupLimit) XXX_DiscardUnknown() { + xxx_messageInfo_ResourceGroupLimit.DiscardUnknown(m) +} + +var xxx_messageInfo_ResourceGroupLimit proto.InternalMessageInfo + +func (m *ResourceGroupLimit) GetNodeNum() int32 { + if m != nil { + return m.NodeNum + } + return 0 +} + +type ResourceGroupTransfer struct { + ResourceGroup string `protobuf:"bytes,1,opt,name=resource_group,json=resourceGroup,proto3" json:"resource_group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResourceGroupTransfer) Reset() { *m = ResourceGroupTransfer{} } +func (m *ResourceGroupTransfer) String() string { return proto.CompactTextString(m) } +func (*ResourceGroupTransfer) ProtoMessage() {} +func (*ResourceGroupTransfer) Descriptor() ([]byte, []int) { + return fileDescriptor_103cbf007c63c19b, []int{1} +} + +func (m *ResourceGroupTransfer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResourceGroupTransfer.Unmarshal(m, b) +} +func (m *ResourceGroupTransfer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResourceGroupTransfer.Marshal(b, m, deterministic) +} +func (m *ResourceGroupTransfer) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResourceGroupTransfer.Merge(m, src) +} +func (m *ResourceGroupTransfer) XXX_Size() int { + return xxx_messageInfo_ResourceGroupTransfer.Size(m) +} +func (m *ResourceGroupTransfer) XXX_DiscardUnknown() { + xxx_messageInfo_ResourceGroupTransfer.DiscardUnknown(m) +} + +var xxx_messageInfo_ResourceGroupTransfer proto.InternalMessageInfo + +func (m *ResourceGroupTransfer) GetResourceGroup() string { + if m != nil { + return m.ResourceGroup + } + return "" +} + +type ResourceGroupConfig struct { + Requests *ResourceGroupLimit `protobuf:"bytes,1,opt,name=requests,proto3" json:"requests,omitempty"` + Limits *ResourceGroupLimit `protobuf:"bytes,2,opt,name=limits,proto3" json:"limits,omitempty"` + From []*ResourceGroupTransfer `protobuf:"bytes,3,rep,name=from,proto3" json:"from,omitempty"` + To []*ResourceGroupTransfer `protobuf:"bytes,4,rep,name=to,proto3" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResourceGroupConfig) Reset() { *m = ResourceGroupConfig{} } +func (m *ResourceGroupConfig) String() string { return proto.CompactTextString(m) } +func (*ResourceGroupConfig) ProtoMessage() {} +func (*ResourceGroupConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_103cbf007c63c19b, []int{2} +} + +func (m *ResourceGroupConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResourceGroupConfig.Unmarshal(m, b) +} +func (m *ResourceGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResourceGroupConfig.Marshal(b, m, deterministic) +} +func (m *ResourceGroupConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResourceGroupConfig.Merge(m, src) +} +func (m *ResourceGroupConfig) XXX_Size() int { + return xxx_messageInfo_ResourceGroupConfig.Size(m) +} +func (m *ResourceGroupConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ResourceGroupConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_ResourceGroupConfig proto.InternalMessageInfo + +func (m *ResourceGroupConfig) GetRequests() *ResourceGroupLimit { + if m != nil { + return m.Requests + } + return nil +} + +func (m *ResourceGroupConfig) GetLimits() *ResourceGroupLimit { + if m != nil { + return m.Limits + } + return nil +} + +func (m *ResourceGroupConfig) GetFrom() []*ResourceGroupTransfer { + if m != nil { + return m.From + } + return nil +} + +func (m *ResourceGroupConfig) GetTo() []*ResourceGroupTransfer { + if m != nil { + return m.To + } + return nil +} + +func init() { + proto.RegisterType((*ResourceGroupLimit)(nil), "milvus.protov2.rg.ResourceGroupLimit") + proto.RegisterType((*ResourceGroupTransfer)(nil), "milvus.protov2.rg.ResourceGroupTransfer") + proto.RegisterType((*ResourceGroupConfig)(nil), "milvus.protov2.rg.ResourceGroupConfig") +} + +func init() { proto.RegisterFile("rg.proto", fileDescriptor_103cbf007c63c19b) } + +var fileDescriptor_103cbf007c63c19b = []byte{ + // 290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x41, 0x4b, 0xc3, 0x30, + 0x14, 0xc7, 0x69, 0x37, 0xe7, 0xcc, 0x70, 0x60, 0x44, 0xe8, 0x71, 0x14, 0x06, 0xbd, 0x2c, 0x95, + 0x7a, 0xf1, 0xa0, 0x82, 0xdb, 0x61, 0x17, 0x95, 0x51, 0x3c, 0x79, 0x91, 0xb5, 0xa6, 0x31, 0xd0, + 0xf6, 0xc5, 0x97, 0xa4, 0x5f, 0xc3, 0xaf, 0xe0, 0xd9, 0x4f, 0x29, 0x6d, 0x57, 0xb1, 0xec, 0x20, + 0xbb, 0xe5, 0xe5, 0xfd, 0x7f, 0xbf, 0xbc, 0xf0, 0xc8, 0x18, 0x05, 0x53, 0x08, 0x06, 0xe8, 0x59, + 0x21, 0xf3, 0xca, 0xea, 0xb6, 0xaa, 0x22, 0x86, 0xc2, 0x67, 0x84, 0xc6, 0x5c, 0x83, 0xc5, 0x94, + 0xaf, 0x11, 0xac, 0x7a, 0x90, 0x85, 0x34, 0xd4, 0x23, 0xc7, 0x25, 0xbc, 0xf1, 0x27, 0x5b, 0x78, + 0xce, 0xcc, 0x09, 0x8e, 0xe2, 0xae, 0xf4, 0xef, 0xc8, 0x45, 0x2f, 0xff, 0x8c, 0xdb, 0x52, 0x67, + 0x1c, 0xe9, 0x9c, 0x4c, 0x71, 0xd7, 0x78, 0x15, 0x75, 0xa7, 0x21, 0x4f, 0xe2, 0x53, 0xfc, 0x1b, + 0xf7, 0x3f, 0x5d, 0x72, 0xde, 0x13, 0xac, 0xa0, 0xcc, 0xa4, 0xa0, 0xf7, 0x64, 0x8c, 0xfc, 0xc3, + 0x72, 0x6d, 0x74, 0x03, 0x4e, 0xa2, 0x39, 0xdb, 0x9b, 0x96, 0xed, 0x8f, 0x1a, 0xff, 0x62, 0xf4, + 0x96, 0x8c, 0xf2, 0xfa, 0x4a, 0x7b, 0xee, 0x21, 0x82, 0x1d, 0x44, 0x6f, 0xc8, 0x30, 0x43, 0x28, + 0xbc, 0xc1, 0x6c, 0x10, 0x4c, 0xa2, 0xe0, 0x3f, 0xb8, 0xfb, 0x78, 0xdc, 0x50, 0xf4, 0x9a, 0xb8, + 0x06, 0xbc, 0xe1, 0x81, 0xac, 0x6b, 0x60, 0xa9, 0xc8, 0x54, 0x42, 0x47, 0x08, 0x54, 0xe9, 0xb2, + 0xbf, 0x91, 0x4d, 0x2d, 0xd9, 0x38, 0x2f, 0x97, 0x42, 0x9a, 0x77, 0x9b, 0xb0, 0x14, 0x8a, 0xb0, + 0x4d, 0x2f, 0x24, 0x74, 0xa7, 0xe6, 0xa5, 0x50, 0xc0, 0x62, 0xab, 0x64, 0x58, 0x45, 0x21, 0x0a, + 0x95, 0x7c, 0x39, 0xce, 0xb7, 0x4b, 0x1f, 0x5b, 0xf1, 0x2a, 0x97, 0xbc, 0x34, 0x6c, 0x8d, 0x2a, + 0x4d, 0x46, 0x4d, 0xfa, 0xea, 0x27, 0x00, 0x00, 0xff, 0xff, 0x42, 0xf7, 0xb8, 0x5f, 0x19, 0x02, + 0x00, 0x00, +} diff --git a/proto/v2.2/root_coord.proto b/proto/v2.2/root_coord.proto index d777bdf..2465da6 100644 --- a/proto/v2.2/root_coord.proto +++ b/proto/v2.2/root_coord.proto @@ -7,7 +7,6 @@ import "common.proto"; import "milvus.proto"; import "internal.proto"; import "proxy.proto"; -//import "data_coord.proto"; import "etcd_meta.proto"; service RootCoord { @@ -54,6 +53,8 @@ service RootCoord { rpc CreateAlias(milvus.CreateAliasRequest) returns (common.Status) {} rpc DropAlias(milvus.DropAliasRequest) returns (common.Status) {} rpc AlterAlias(milvus.AlterAliasRequest) returns (common.Status) {} + rpc DescribeAlias(milvus.DescribeAliasRequest) returns (milvus.DescribeAliasResponse) {} + rpc ListAliases(milvus.ListAliasesRequest) returns (milvus.ListAliasesResponse) {} /** * @brief This method is used to list all collections. @@ -114,12 +115,6 @@ service RootCoord { // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy rpc GetMetrics(milvus.GetMetricsRequest) returns (milvus.GetMetricsResponse) {} - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - rpc Import(milvus.ImportRequest) returns (milvus.ImportResponse) {} - rpc GetImportState(milvus.GetImportStateRequest) returns (milvus.GetImportStateResponse) {} - rpc ListImportTasks(milvus.ListImportTasksRequest) returns (milvus.ListImportTasksResponse) {} - rpc ReportImport(ImportResult) returns (common.Status) {} - // https://wiki.lfaidata.foundation/display/MIL/MEP+27+--+Support+Basic+Authentication rpc CreateCredential(internal.CredentialInfo) returns (common.Status) {} rpc UpdateCredential(internal.CredentialInfo) returns (common.Status) {} @@ -145,6 +140,8 @@ service RootCoord { rpc CreateDatabase(milvus.CreateDatabaseRequest) returns (common.Status) {} rpc DropDatabase(milvus.DropDatabaseRequest) returns (common.Status) {} rpc ListDatabases(milvus.ListDatabasesRequest) returns (milvus.ListDatabasesResponse) {} + rpc DescribeDatabase(DescribeDatabaseRequest) returns(DescribeDatabaseResponse){} + rpc AlterDatabase(AlterDatabaseRequest) returns(common.Status){} } message AllocTimestampRequest { @@ -169,17 +166,6 @@ message AllocIDResponse { uint32 count = 3; } -message ImportResult { - common.Status status = 1; - int64 task_id = 2; // id of the task - int64 datanode_id = 3; // id of the datanode which takes this task - common.ImportState state = 4; // state of the task - repeated int64 segments = 5; // id array of new sealed segments - repeated int64 auto_ids = 6; // auto-generated ids for auto-id primary key - int64 row_count = 7; // how many rows are imported by this task - repeated common.KeyValuePair infos = 8; // more informations about the task, file path, failed reason, etc. -} - // TODO: find a proper place for these segment-related messages. message DescribeSegmentsRequest { @@ -222,3 +208,22 @@ message GetCredentialResponse { string password = 3; } +message DescribeDatabaseRequest { + common.MsgBase base = 1; + string db_name = 2; +} + +message DescribeDatabaseResponse { + common.Status status = 1; + string db_name = 2; + int64 dbID = 3; + uint64 created_timestamp = 4; + repeated common.KeyValuePair properties = 5; +} + +message AlterDatabaseRequest { + common.MsgBase base = 1; + string db_name = 2; + string db_id = 3; + repeated common.KeyValuePair properties = 4; +} diff --git a/proto/v2.2/rootcoordpb/root_coord.pb.go b/proto/v2.2/rootcoordpb/root_coord.pb.go index 218f5f6..4f5680e 100644 --- a/proto/v2.2/rootcoordpb/root_coord.pb.go +++ b/proto/v2.2/rootcoordpb/root_coord.pb.go @@ -233,101 +233,6 @@ func (m *AllocIDResponse) GetCount() uint32 { return 0 } -type ImportResult struct { - Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` - TaskId int64 `protobuf:"varint,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` - DatanodeId int64 `protobuf:"varint,3,opt,name=datanode_id,json=datanodeId,proto3" json:"datanode_id,omitempty"` - State commonpb.ImportState `protobuf:"varint,4,opt,name=state,proto3,enum=milvus.protov2.common.ImportState" json:"state,omitempty"` - Segments []int64 `protobuf:"varint,5,rep,packed,name=segments,proto3" json:"segments,omitempty"` - AutoIds []int64 `protobuf:"varint,6,rep,packed,name=auto_ids,json=autoIds,proto3" json:"auto_ids,omitempty"` - RowCount int64 `protobuf:"varint,7,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` - Infos []*commonpb.KeyValuePair `protobuf:"bytes,8,rep,name=infos,proto3" json:"infos,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ImportResult) Reset() { *m = ImportResult{} } -func (m *ImportResult) String() string { return proto.CompactTextString(m) } -func (*ImportResult) ProtoMessage() {} -func (*ImportResult) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{4} -} - -func (m *ImportResult) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ImportResult.Unmarshal(m, b) -} -func (m *ImportResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ImportResult.Marshal(b, m, deterministic) -} -func (m *ImportResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_ImportResult.Merge(m, src) -} -func (m *ImportResult) XXX_Size() int { - return xxx_messageInfo_ImportResult.Size(m) -} -func (m *ImportResult) XXX_DiscardUnknown() { - xxx_messageInfo_ImportResult.DiscardUnknown(m) -} - -var xxx_messageInfo_ImportResult proto.InternalMessageInfo - -func (m *ImportResult) GetStatus() *commonpb.Status { - if m != nil { - return m.Status - } - return nil -} - -func (m *ImportResult) GetTaskId() int64 { - if m != nil { - return m.TaskId - } - return 0 -} - -func (m *ImportResult) GetDatanodeId() int64 { - if m != nil { - return m.DatanodeId - } - return 0 -} - -func (m *ImportResult) GetState() commonpb.ImportState { - if m != nil { - return m.State - } - return commonpb.ImportState_ImportPending -} - -func (m *ImportResult) GetSegments() []int64 { - if m != nil { - return m.Segments - } - return nil -} - -func (m *ImportResult) GetAutoIds() []int64 { - if m != nil { - return m.AutoIds - } - return nil -} - -func (m *ImportResult) GetRowCount() int64 { - if m != nil { - return m.RowCount - } - return 0 -} - -func (m *ImportResult) GetInfos() []*commonpb.KeyValuePair { - if m != nil { - return m.Infos - } - return nil -} - type DescribeSegmentsRequest struct { Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` CollectionID int64 `protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"` @@ -341,7 +246,7 @@ func (m *DescribeSegmentsRequest) Reset() { *m = DescribeSegmentsRequest func (m *DescribeSegmentsRequest) String() string { return proto.CompactTextString(m) } func (*DescribeSegmentsRequest) ProtoMessage() {} func (*DescribeSegmentsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{5} + return fileDescriptor_4513485a144f6b06, []int{4} } func (m *DescribeSegmentsRequest) XXX_Unmarshal(b []byte) error { @@ -396,7 +301,7 @@ func (m *SegmentBaseInfo) Reset() { *m = SegmentBaseInfo{} } func (m *SegmentBaseInfo) String() string { return proto.CompactTextString(m) } func (*SegmentBaseInfo) ProtoMessage() {} func (*SegmentBaseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{6} + return fileDescriptor_4513485a144f6b06, []int{5} } func (m *SegmentBaseInfo) XXX_Unmarshal(b []byte) error { @@ -451,7 +356,7 @@ func (m *SegmentInfos) Reset() { *m = SegmentInfos{} } func (m *SegmentInfos) String() string { return proto.CompactTextString(m) } func (*SegmentInfos) ProtoMessage() {} func (*SegmentInfos) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{7} + return fileDescriptor_4513485a144f6b06, []int{6} } func (m *SegmentInfos) XXX_Unmarshal(b []byte) error { @@ -506,7 +411,7 @@ func (m *DescribeSegmentsResponse) Reset() { *m = DescribeSegmentsRespon func (m *DescribeSegmentsResponse) String() string { return proto.CompactTextString(m) } func (*DescribeSegmentsResponse) ProtoMessage() {} func (*DescribeSegmentsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{8} + return fileDescriptor_4513485a144f6b06, []int{7} } func (m *DescribeSegmentsResponse) XXX_Unmarshal(b []byte) error { @@ -562,7 +467,7 @@ func (m *GetCredentialRequest) Reset() { *m = GetCredentialRequest{} } func (m *GetCredentialRequest) String() string { return proto.CompactTextString(m) } func (*GetCredentialRequest) ProtoMessage() {} func (*GetCredentialRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{9} + return fileDescriptor_4513485a144f6b06, []int{8} } func (m *GetCredentialRequest) XXX_Unmarshal(b []byte) error { @@ -613,7 +518,7 @@ func (m *GetCredentialResponse) Reset() { *m = GetCredentialResponse{} } func (m *GetCredentialResponse) String() string { return proto.CompactTextString(m) } func (*GetCredentialResponse) ProtoMessage() {} func (*GetCredentialResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4513485a144f6b06, []int{10} + return fileDescriptor_4513485a144f6b06, []int{9} } func (m *GetCredentialResponse) XXX_Unmarshal(b []byte) error { @@ -655,12 +560,192 @@ func (m *GetCredentialResponse) GetPassword() string { return "" } +type DescribeDatabaseRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DescribeDatabaseRequest) Reset() { *m = DescribeDatabaseRequest{} } +func (m *DescribeDatabaseRequest) String() string { return proto.CompactTextString(m) } +func (*DescribeDatabaseRequest) ProtoMessage() {} +func (*DescribeDatabaseRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4513485a144f6b06, []int{10} +} + +func (m *DescribeDatabaseRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DescribeDatabaseRequest.Unmarshal(m, b) +} +func (m *DescribeDatabaseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DescribeDatabaseRequest.Marshal(b, m, deterministic) +} +func (m *DescribeDatabaseRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescribeDatabaseRequest.Merge(m, src) +} +func (m *DescribeDatabaseRequest) XXX_Size() int { + return xxx_messageInfo_DescribeDatabaseRequest.Size(m) +} +func (m *DescribeDatabaseRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DescribeDatabaseRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DescribeDatabaseRequest proto.InternalMessageInfo + +func (m *DescribeDatabaseRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *DescribeDatabaseRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +type DescribeDatabaseResponse struct { + Status *commonpb.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + DbID int64 `protobuf:"varint,3,opt,name=dbID,proto3" json:"dbID,omitempty"` + CreatedTimestamp uint64 `protobuf:"varint,4,opt,name=created_timestamp,json=createdTimestamp,proto3" json:"created_timestamp,omitempty"` + Properties []*commonpb.KeyValuePair `protobuf:"bytes,5,rep,name=properties,proto3" json:"properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DescribeDatabaseResponse) Reset() { *m = DescribeDatabaseResponse{} } +func (m *DescribeDatabaseResponse) String() string { return proto.CompactTextString(m) } +func (*DescribeDatabaseResponse) ProtoMessage() {} +func (*DescribeDatabaseResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4513485a144f6b06, []int{11} +} + +func (m *DescribeDatabaseResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DescribeDatabaseResponse.Unmarshal(m, b) +} +func (m *DescribeDatabaseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DescribeDatabaseResponse.Marshal(b, m, deterministic) +} +func (m *DescribeDatabaseResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescribeDatabaseResponse.Merge(m, src) +} +func (m *DescribeDatabaseResponse) XXX_Size() int { + return xxx_messageInfo_DescribeDatabaseResponse.Size(m) +} +func (m *DescribeDatabaseResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DescribeDatabaseResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DescribeDatabaseResponse proto.InternalMessageInfo + +func (m *DescribeDatabaseResponse) GetStatus() *commonpb.Status { + if m != nil { + return m.Status + } + return nil +} + +func (m *DescribeDatabaseResponse) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *DescribeDatabaseResponse) GetDbID() int64 { + if m != nil { + return m.DbID + } + return 0 +} + +func (m *DescribeDatabaseResponse) GetCreatedTimestamp() uint64 { + if m != nil { + return m.CreatedTimestamp + } + return 0 +} + +func (m *DescribeDatabaseResponse) GetProperties() []*commonpb.KeyValuePair { + if m != nil { + return m.Properties + } + return nil +} + +type AlterDatabaseRequest struct { + Base *commonpb.MsgBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` + DbName string `protobuf:"bytes,2,opt,name=db_name,json=dbName,proto3" json:"db_name,omitempty"` + DbId string `protobuf:"bytes,3,opt,name=db_id,json=dbId,proto3" json:"db_id,omitempty"` + Properties []*commonpb.KeyValuePair `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterDatabaseRequest) Reset() { *m = AlterDatabaseRequest{} } +func (m *AlterDatabaseRequest) String() string { return proto.CompactTextString(m) } +func (*AlterDatabaseRequest) ProtoMessage() {} +func (*AlterDatabaseRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4513485a144f6b06, []int{12} +} + +func (m *AlterDatabaseRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterDatabaseRequest.Unmarshal(m, b) +} +func (m *AlterDatabaseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterDatabaseRequest.Marshal(b, m, deterministic) +} +func (m *AlterDatabaseRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterDatabaseRequest.Merge(m, src) +} +func (m *AlterDatabaseRequest) XXX_Size() int { + return xxx_messageInfo_AlterDatabaseRequest.Size(m) +} +func (m *AlterDatabaseRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AlterDatabaseRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterDatabaseRequest proto.InternalMessageInfo + +func (m *AlterDatabaseRequest) GetBase() *commonpb.MsgBase { + if m != nil { + return m.Base + } + return nil +} + +func (m *AlterDatabaseRequest) GetDbName() string { + if m != nil { + return m.DbName + } + return "" +} + +func (m *AlterDatabaseRequest) GetDbId() string { + if m != nil { + return m.DbId + } + return "" +} + +func (m *AlterDatabaseRequest) GetProperties() []*commonpb.KeyValuePair { + if m != nil { + return m.Properties + } + return nil +} + func init() { proto.RegisterType((*AllocTimestampRequest)(nil), "milvus.protov2.rootcoord.AllocTimestampRequest") proto.RegisterType((*AllocTimestampResponse)(nil), "milvus.protov2.rootcoord.AllocTimestampResponse") proto.RegisterType((*AllocIDRequest)(nil), "milvus.protov2.rootcoord.AllocIDRequest") proto.RegisterType((*AllocIDResponse)(nil), "milvus.protov2.rootcoord.AllocIDResponse") - proto.RegisterType((*ImportResult)(nil), "milvus.protov2.rootcoord.ImportResult") proto.RegisterType((*DescribeSegmentsRequest)(nil), "milvus.protov2.rootcoord.DescribeSegmentsRequest") proto.RegisterType((*SegmentBaseInfo)(nil), "milvus.protov2.rootcoord.SegmentBaseInfo") proto.RegisterType((*SegmentInfos)(nil), "milvus.protov2.rootcoord.SegmentInfos") @@ -669,114 +754,115 @@ func init() { proto.RegisterMapType((map[int64]*SegmentInfos)(nil), "milvus.protov2.rootcoord.DescribeSegmentsResponse.SegmentInfosEntry") proto.RegisterType((*GetCredentialRequest)(nil), "milvus.protov2.rootcoord.GetCredentialRequest") proto.RegisterType((*GetCredentialResponse)(nil), "milvus.protov2.rootcoord.GetCredentialResponse") + proto.RegisterType((*DescribeDatabaseRequest)(nil), "milvus.protov2.rootcoord.DescribeDatabaseRequest") + proto.RegisterType((*DescribeDatabaseResponse)(nil), "milvus.protov2.rootcoord.DescribeDatabaseResponse") + proto.RegisterType((*AlterDatabaseRequest)(nil), "milvus.protov2.rootcoord.AlterDatabaseRequest") } func init() { proto.RegisterFile("root_coord.proto", fileDescriptor_4513485a144f6b06) } var fileDescriptor_4513485a144f6b06 = []byte{ - // 1623 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x5b, 0x73, 0xdb, 0x36, - 0x16, 0x8e, 0xa4, 0xf8, 0x76, 0x24, 0x5b, 0x0e, 0x26, 0x17, 0xad, 0x76, 0x93, 0xf5, 0x28, 0x1b, - 0xaf, 0x73, 0xb1, 0x9c, 0x75, 0xb2, 0x3b, 0xd9, 0xb6, 0x2f, 0x89, 0x94, 0x38, 0x9a, 0xd6, 0x53, - 0x0f, 0x9d, 0x34, 0xd3, 0xb4, 0x1d, 0x15, 0xa6, 0x60, 0x19, 0x63, 0x8a, 0x50, 0x08, 0xc8, 0x97, - 0xe9, 0x43, 0x1f, 0x32, 0xd3, 0xf7, 0xfe, 0x96, 0xfe, 0x89, 0xf6, 0xb7, 0xf4, 0x4f, 0x74, 0x40, - 0x90, 0x10, 0x2f, 0x02, 0x45, 0xc5, 0x4d, 0xdf, 0x08, 0xe0, 0xc3, 0xf9, 0x0e, 0xce, 0x0d, 0x07, - 0x84, 0x55, 0x8f, 0x31, 0xd1, 0xb5, 0x19, 0xf3, 0x7a, 0xcd, 0xa1, 0xc7, 0x04, 0x43, 0xb5, 0x01, - 0x75, 0x4e, 0x46, 0x5c, 0x8d, 0x4e, 0xb6, 0x9b, 0x12, 0xe0, 0xaf, 0xd7, 0x2b, 0x36, 0x1b, 0x0c, - 0x98, 0xab, 0x56, 0xea, 0x95, 0x28, 0xae, 0xbe, 0x42, 0x5d, 0x41, 0x3c, 0x17, 0x3b, 0xc1, 0xb8, - 0x3c, 0xf4, 0xd8, 0xd9, 0x79, 0x30, 0xa8, 0x12, 0x61, 0xf7, 0xba, 0x03, 0x22, 0xb0, 0x9a, 0x68, - 0x60, 0xb8, 0xf6, 0xd4, 0x71, 0x98, 0xfd, 0x8a, 0x0e, 0x08, 0x17, 0x78, 0x30, 0xb4, 0xc8, 0xbb, - 0x11, 0xe1, 0x02, 0x6d, 0xc3, 0xe5, 0x03, 0xcc, 0x49, 0xad, 0xb0, 0x56, 0xd8, 0x28, 0x6f, 0xdf, - 0x6a, 0x26, 0x74, 0x09, 0x14, 0xd8, 0xe5, 0xfd, 0x67, 0x98, 0x13, 0xcb, 0xc7, 0xa2, 0xab, 0x30, - 0x67, 0xb3, 0x91, 0x2b, 0x6a, 0xa5, 0xb5, 0xc2, 0xc6, 0xb2, 0xa5, 0x06, 0x8d, 0xf7, 0x05, 0xb8, - 0x9e, 0xe4, 0xe0, 0x43, 0xe6, 0x72, 0x82, 0xfe, 0x0b, 0xf3, 0x5c, 0x60, 0x31, 0xe2, 0x01, 0xcd, - 0x4d, 0x03, 0xcd, 0xbe, 0x0f, 0xb2, 0x02, 0x30, 0xfa, 0x07, 0x2c, 0x89, 0x50, 0x56, 0xad, 0xb8, - 0x56, 0xd8, 0xb8, 0x6c, 0x8d, 0x27, 0x0c, 0x5a, 0xbc, 0x85, 0x15, 0x5f, 0x89, 0x4e, 0xfb, 0x4f, - 0x39, 0x61, 0x31, 0x2a, 0xdb, 0x85, 0xaa, 0x96, 0x7d, 0xb1, 0x93, 0xad, 0x40, 0xb1, 0xd3, 0xf6, - 0x85, 0x97, 0xac, 0x62, 0xa7, 0x6d, 0x38, 0xcb, 0xaf, 0x45, 0xa8, 0x74, 0x06, 0x43, 0xe6, 0x09, - 0x8b, 0xf0, 0x91, 0x23, 0x3e, 0x94, 0xed, 0x06, 0x2c, 0x08, 0xcc, 0x8f, 0xbb, 0xb4, 0x17, 0x50, - 0xce, 0xcb, 0x61, 0xa7, 0x87, 0xfe, 0x09, 0xe5, 0x1e, 0x16, 0xd8, 0x65, 0x3d, 0x22, 0x17, 0x4b, - 0xfe, 0x22, 0x84, 0x53, 0x9d, 0x1e, 0x7a, 0x02, 0x73, 0x52, 0x06, 0xa9, 0x5d, 0x5e, 0x2b, 0x6c, - 0xac, 0x6c, 0x37, 0x0c, 0x7c, 0x4a, 0x49, 0xc9, 0x4a, 0x2c, 0xb5, 0x01, 0xd5, 0x61, 0x91, 0x93, - 0xfe, 0x80, 0xb8, 0x82, 0xd7, 0xe6, 0xd6, 0x4a, 0x1b, 0x25, 0x4b, 0x8f, 0xd1, 0xdf, 0x60, 0x11, - 0x8f, 0x04, 0xeb, 0xd2, 0x1e, 0xaf, 0xcd, 0xfb, 0x6b, 0x0b, 0x72, 0xdc, 0xe9, 0x71, 0xf4, 0x77, - 0x58, 0xf2, 0xd8, 0x69, 0x57, 0x19, 0x63, 0xc1, 0xd7, 0x67, 0xd1, 0x63, 0xa7, 0x2d, 0x39, 0x46, - 0xff, 0x87, 0x39, 0xea, 0x1e, 0x32, 0x5e, 0x5b, 0x5c, 0x2b, 0x6d, 0x94, 0xb7, 0x6f, 0x1b, 0xb4, - 0xf9, 0x9c, 0x9c, 0x7f, 0x85, 0x9d, 0x11, 0xd9, 0xc3, 0xd4, 0xb3, 0xd4, 0x8e, 0xc6, 0xcf, 0x05, - 0xb8, 0xd1, 0x26, 0xdc, 0xf6, 0xe8, 0x01, 0xd9, 0x0f, 0xf4, 0xb8, 0x48, 0x80, 0x34, 0xa0, 0x62, - 0x33, 0xc7, 0x21, 0xb6, 0xa0, 0xcc, 0xd5, 0xae, 0x8c, 0xcd, 0xa1, 0x5b, 0x00, 0xc1, 0x91, 0x3b, - 0x6d, 0x5e, 0x2b, 0xf9, 0x07, 0x8d, 0xcc, 0x34, 0x46, 0x50, 0x0d, 0x54, 0x91, 0x82, 0x3b, 0xee, - 0x21, 0x4b, 0x89, 0x2d, 0x4c, 0x10, 0xbb, 0x06, 0xe5, 0x21, 0xf6, 0x04, 0x8d, 0x31, 0x47, 0xa7, - 0x64, 0xde, 0x68, 0x9a, 0xc0, 0xa9, 0xe3, 0x89, 0xc6, 0xef, 0x45, 0xa8, 0x04, 0xbc, 0x92, 0x93, - 0xa3, 0x17, 0xb0, 0x24, 0xcf, 0xd4, 0x95, 0x96, 0x0a, 0x8c, 0x70, 0xb7, 0x69, 0xaa, 0x49, 0xcd, - 0x84, 0xca, 0xd6, 0xe2, 0x41, 0xa8, 0xfc, 0x0b, 0x28, 0x53, 0xb7, 0x47, 0xce, 0xba, 0xca, 0x49, - 0x45, 0xdf, 0x49, 0x77, 0x92, 0x92, 0x64, 0x65, 0x6a, 0x6a, 0xfe, 0x1e, 0x39, 0xf3, 0xa5, 0x00, - 0x0d, 0x3f, 0x39, 0xea, 0xc3, 0x15, 0x72, 0x26, 0x3c, 0xdc, 0x8d, 0x4a, 0x2b, 0xf9, 0xd2, 0x3e, - 0x9d, 0xaa, 0x97, 0x2f, 0xa2, 0xf9, 0x5c, 0xee, 0xd7, 0xd2, 0xf9, 0x73, 0x57, 0x78, 0xe7, 0x56, - 0x95, 0xc4, 0x67, 0xeb, 0x07, 0x70, 0x75, 0x12, 0x10, 0xad, 0x42, 0xe9, 0x98, 0x9c, 0x07, 0xc6, - 0x97, 0x9f, 0xe8, 0x31, 0xcc, 0x9d, 0xc8, 0x90, 0xf2, 0xad, 0x3d, 0x21, 0x46, 0xfc, 0x43, 0x8d, - 0x4f, 0xa3, 0xc0, 0x9f, 0x14, 0x9f, 0x14, 0x1a, 0xbf, 0x15, 0xa1, 0x96, 0x0e, 0xbc, 0x8b, 0x55, - 0x8f, 0x3c, 0xc1, 0x47, 0x61, 0x39, 0x70, 0x79, 0xcc, 0x80, 0x6d, 0xb3, 0x01, 0x4d, 0x5a, 0xc6, - 0x2c, 0xab, 0x2c, 0x59, 0xe1, 0x91, 0xa9, 0x7a, 0x1f, 0xae, 0xa4, 0x20, 0x13, 0x6c, 0xf8, 0x59, - 0xdc, 0x86, 0xeb, 0xf9, 0x5c, 0x19, 0xb5, 0xe5, 0x21, 0x5c, 0xdd, 0x21, 0xa2, 0xe5, 0x91, 0x1e, - 0x71, 0x05, 0xc5, 0xce, 0x45, 0x12, 0xb8, 0x0e, 0x8b, 0x23, 0x2e, 0xef, 0xcf, 0x81, 0x52, 0x68, - 0xc9, 0xd2, 0xe3, 0xc6, 0x4f, 0x05, 0xb8, 0x96, 0x20, 0xba, 0x98, 0xc3, 0x32, 0xc8, 0xe4, 0xda, - 0x10, 0x73, 0x7e, 0xca, 0x3c, 0x55, 0x80, 0x97, 0x2c, 0x3d, 0xde, 0xfe, 0x65, 0x1d, 0x96, 0x2c, - 0xc6, 0x44, 0x4b, 0x9a, 0x05, 0x0d, 0x01, 0x49, 0xad, 0xd8, 0x60, 0xc8, 0x5c, 0xe2, 0xaa, 0x72, - 0xcb, 0xd1, 0xc3, 0xa4, 0x0a, 0xc1, 0x30, 0x0d, 0x0d, 0xcc, 0x55, 0x5f, 0x37, 0xec, 0x48, 0xc0, - 0x1b, 0x97, 0xd0, 0x3b, 0x9f, 0x51, 0xde, 0xe7, 0xaf, 0xa8, 0x7d, 0xdc, 0x3a, 0xc2, 0xae, 0x4b, - 0x1c, 0xb4, 0x9d, 0xdc, 0xaf, 0x3b, 0x91, 0x34, 0x38, 0xe4, 0xbc, 0x63, 0xe0, 0xdc, 0x17, 0x1e, - 0x75, 0xfb, 0xa1, 0x7d, 0x1b, 0x97, 0xd0, 0xc8, 0xf7, 0xb1, 0xd4, 0x80, 0x72, 0x41, 0x6d, 0x1e, - 0x92, 0x3e, 0xce, 0x22, 0x4d, 0xc1, 0x67, 0xa6, 0xb5, 0x61, 0xb5, 0xe5, 0x11, 0x2c, 0x48, 0x4b, - 0x27, 0x11, 0x6a, 0x9a, 0xec, 0x94, 0x00, 0x86, 0x64, 0xd9, 0xc1, 0xd0, 0xb8, 0x84, 0xba, 0xb0, - 0xd2, 0xf6, 0xd8, 0x30, 0x42, 0xf1, 0xc0, 0x40, 0x11, 0x87, 0xe5, 0x26, 0xb0, 0x61, 0xf9, 0x25, - 0xe6, 0x11, 0xf9, 0xf7, 0x0d, 0xf2, 0x63, 0xa8, 0x50, 0xfc, 0x6d, 0x03, 0xf8, 0x19, 0x63, 0x4e, - 0xc4, 0x54, 0x3f, 0x00, 0x0a, 0x4b, 0x45, 0x84, 0xc9, 0x14, 0x86, 0x69, 0x68, 0x48, 0xf7, 0x9f, - 0x19, 0x76, 0x68, 0xf2, 0xf7, 0x05, 0xa8, 0xa7, 0x01, 0x9d, 0x20, 0x16, 0xfe, 0x2a, 0x2d, 0xbe, - 0x86, 0xb2, 0x0a, 0x82, 0xa7, 0x0e, 0xc5, 0x1c, 0xdd, 0xcd, 0x0c, 0x14, 0x1f, 0x93, 0xdb, 0x85, - 0xaf, 0x61, 0x49, 0x3a, 0x5f, 0x09, 0xfe, 0x77, 0x46, 0x78, 0xcc, 0x26, 0xf6, 0x0d, 0xc0, 0x53, - 0x47, 0x10, 0x4f, 0xc9, 0xdd, 0x30, 0xc8, 0x1d, 0x43, 0x72, 0x0b, 0xf6, 0xa0, 0xba, 0x7f, 0x24, - 0x1b, 0xb4, 0xd0, 0x4c, 0x1c, 0x6d, 0x9a, 0x92, 0x2e, 0x8e, 0x0b, 0x29, 0x9a, 0x79, 0xe1, 0xda, - 0xfc, 0x58, 0xf6, 0xe1, 0x82, 0x78, 0x91, 0xf0, 0xdb, 0xcc, 0x3a, 0xd1, 0x07, 0x64, 0x12, 0x86, - 0xaa, 0xf2, 0xde, 0x5e, 0xd8, 0x57, 0x19, 0x29, 0x12, 0xb8, 0xdc, 0x14, 0xdf, 0xc1, 0xb2, 0xf4, - 0xe3, 0x98, 0xe0, 0x7e, 0x86, 0xb7, 0x67, 0x17, 0x8f, 0xa1, 0xf2, 0x12, 0xf3, 0xb1, 0xf4, 0x7b, - 0xe6, 0x52, 0x90, 0x12, 0x9e, 0xb3, 0x12, 0x30, 0x58, 0x91, 0x4e, 0xd2, 0xdb, 0xb9, 0xb1, 0x9e, - 0xc5, 0x61, 0x21, 0xcd, 0x66, 0x4e, 0xb4, 0x26, 0x3c, 0x85, 0xeb, 0xf1, 0x35, 0x9d, 0xf8, 0x1f, - 0x99, 0x98, 0x42, 0x45, 0xae, 0x85, 0xad, 0x91, 0xd1, 0x98, 0x51, 0x50, 0x48, 0x76, 0x3f, 0x17, - 0x36, 0x72, 0x01, 0xae, 0xc4, 0x5f, 0xd1, 0x68, 0xcb, 0xdc, 0x29, 0x4d, 0x7c, 0xd3, 0xd7, 0x1f, - 0xe6, 0xdf, 0xa0, 0x69, 0xbf, 0x87, 0x85, 0xe0, 0x6d, 0x9b, 0xae, 0x0e, 0x89, 0xed, 0xfa, 0x69, - 0x5d, 0xbf, 0x9b, 0x03, 0xa9, 0x19, 0x08, 0x5c, 0x7b, 0x3d, 0xec, 0xc9, 0x9b, 0x53, 0xdd, 0xd1, - 0x61, 0xa7, 0x90, 0x8e, 0x7b, 0x7d, 0xb5, 0x27, 0x90, 0xbb, 0xbc, 0x3f, 0x3d, 0xee, 0x4f, 0xe0, - 0x66, 0xc7, 0x3d, 0xc1, 0x0e, 0xed, 0xc5, 0x2e, 0xe9, 0x5d, 0x22, 0x70, 0x0b, 0xdb, 0x47, 0x24, - 0xdd, 0x49, 0xa8, 0x1f, 0x27, 0xf1, 0x4d, 0x1a, 0x9e, 0x3b, 0xdf, 0x7e, 0x04, 0xa4, 0x2a, 0x96, - 0x7b, 0x48, 0xfb, 0x23, 0x0f, 0xab, 0x84, 0x30, 0xf7, 0x4a, 0x69, 0x70, 0x48, 0xf5, 0x68, 0xa6, - 0x3d, 0x91, 0x16, 0x06, 0x76, 0x88, 0xd8, 0x25, 0xc2, 0xa3, 0xb6, 0xb9, 0xc4, 0x8f, 0x21, 0x46, - 0x27, 0x4e, 0x40, 0x6a, 0x92, 0x37, 0x30, 0xaf, 0x1e, 0xfb, 0xe8, 0x5f, 0x86, 0x6d, 0xe1, 0x0f, - 0x8b, 0xec, 0x06, 0x4c, 0xff, 0xd6, 0x88, 0xd4, 0x92, 0x1d, 0x22, 0x22, 0x3f, 0x12, 0x8c, 0x29, - 0x1d, 0x87, 0x4d, 0x4b, 0xe9, 0x24, 0x5a, 0x13, 0x7a, 0x50, 0xfd, 0x82, 0xf2, 0x60, 0xf1, 0x15, - 0xe6, 0xc7, 0xe6, 0x8b, 0x2b, 0x81, 0x9b, 0x76, 0x71, 0xa5, 0xe0, 0x11, 0xeb, 0x55, 0x2c, 0x22, - 0x17, 0x02, 0x1b, 0x66, 0xbc, 0x81, 0xa2, 0xff, 0x7d, 0xa6, 0x07, 0xdf, 0xb7, 0xba, 0x7d, 0xd5, - 0x6f, 0x96, 0x74, 0xf3, 0x30, 0x4e, 0x2b, 0x0d, 0x92, 0x4f, 0xac, 0x5c, 0xd2, 0x83, 0xcc, 0xfd, - 0x18, 0xd2, 0x6d, 0x58, 0x6d, 0x13, 0x87, 0xc4, 0xa4, 0x37, 0x8d, 0x5d, 0x59, 0x1c, 0x98, 0x3b, - 0x3b, 0x1d, 0x58, 0x96, 0x6e, 0x91, 0x3b, 0x5f, 0x73, 0xe2, 0x71, 0xe3, 0x65, 0x1b, 0x43, 0x85, - 0xe2, 0x1f, 0xe4, 0x03, 0x47, 0x62, 0x6b, 0x39, 0xf6, 0x7e, 0x4c, 0x9f, 0x67, 0xec, 0xe8, 0x49, - 0x2f, 0xda, 0xfa, 0x56, 0x6e, 0x7c, 0x24, 0xb6, 0x40, 0x85, 0x80, 0xc5, 0x1c, 0x62, 0x4c, 0xff, - 0x31, 0x24, 0xb7, 0xe9, 0xf6, 0x61, 0x51, 0x76, 0x20, 0xbe, 0xd8, 0xf5, 0x8c, 0x16, 0x65, 0x26, - 0xa1, 0x18, 0xaa, 0x5f, 0x0e, 0x89, 0x87, 0x05, 0x91, 0xb6, 0xf3, 0x65, 0x9b, 0xb2, 0x2f, 0x81, - 0x9b, 0xe1, 0x31, 0x04, 0xfb, 0x44, 0x56, 0xff, 0x4c, 0x83, 0x8c, 0x21, 0xd3, 0xea, 0x61, 0x14, - 0x19, 0x2d, 0xba, 0x6a, 0x5e, 0xaa, 0x37, 0x85, 0xc4, 0x3f, 0x41, 0x2e, 0x12, 0x85, 0x8c, 0x3e, - 0x4e, 0x03, 0x23, 0xec, 0x79, 0xf4, 0x84, 0x3a, 0xa4, 0x4f, 0x8c, 0x19, 0x92, 0x04, 0xe6, 0x36, - 0xd7, 0x21, 0x94, 0x15, 0xf9, 0x8e, 0x87, 0x5d, 0x81, 0xb2, 0x15, 0xf4, 0x31, 0xa1, 0xe8, 0x7b, - 0x79, 0xa0, 0xfa, 0x30, 0x7d, 0x00, 0x99, 0x36, 0x7b, 0xcc, 0xa1, 0xf6, 0x79, 0xba, 0x91, 0xd2, - 0x65, 0x64, 0x0c, 0x32, 0x36, 0x52, 0x13, 0xb1, 0x9a, 0xe8, 0x10, 0xca, 0xad, 0x23, 0x62, 0x1f, - 0xbf, 0x24, 0xd8, 0x11, 0x47, 0xe6, 0x47, 0xda, 0x18, 0x33, 0xed, 0x40, 0x31, 0x68, 0xd4, 0x3b, - 0x16, 0x71, 0xf1, 0x20, 0xcf, 0xaf, 0x83, 0x24, 0x70, 0x96, 0x5f, 0x07, 0x2a, 0x75, 0xdb, 0x58, - 0x60, 0xff, 0x07, 0xd6, 0x83, 0xcc, 0x0c, 0x0f, 0x61, 0xb9, 0x09, 0xbe, 0x81, 0x8a, 0x4c, 0x62, - 0x2d, 0xfe, 0x5e, 0x46, 0xa6, 0xcf, 0x2c, 0x3c, 0xa8, 0xbe, 0xe1, 0xbe, 0xec, 0xea, 0xab, 0x51, - 0x79, 0xaa, 0x6f, 0x04, 0x1c, 0x3a, 0xe4, 0xd9, 0x93, 0xb7, 0xff, 0xeb, 0x53, 0x71, 0x34, 0x3a, - 0x90, 0x7a, 0x6c, 0x29, 0xf0, 0x26, 0x65, 0xc1, 0xd7, 0x56, 0x18, 0x35, 0x5b, 0xbe, 0xb8, 0x2d, - 0x5d, 0x59, 0x87, 0x07, 0x07, 0xf3, 0xfe, 0xd4, 0xa3, 0x3f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x25, - 0xd2, 0xae, 0x91, 0xa4, 0x1b, 0x00, 0x00, + // 1598 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x5d, 0x73, 0x13, 0xb7, + 0x1a, 0xc6, 0x76, 0x02, 0xe4, 0xb5, 0xf3, 0x81, 0x4e, 0x00, 0x8f, 0xe7, 0xc0, 0x64, 0xcc, 0x90, + 0x13, 0x08, 0x71, 0x20, 0x70, 0xce, 0x30, 0xa7, 0xbd, 0x01, 0x9b, 0x8f, 0x4c, 0x9b, 0x36, 0xb3, + 0x81, 0x32, 0xa5, 0x74, 0x5c, 0x79, 0xad, 0x38, 0x1a, 0xd6, 0xab, 0x65, 0x25, 0x87, 0x64, 0x7a, + 0xd1, 0x0b, 0x66, 0x7a, 0xdf, 0x1f, 0xd4, 0x1f, 0xd0, 0xcb, 0xfe, 0x8e, 0xde, 0xf4, 0x27, 0x74, + 0xa4, 0xdd, 0xd5, 0x7e, 0x59, 0xf6, 0x9a, 0x94, 0xde, 0xed, 0x4a, 0x8f, 0x9e, 0xe7, 0xd5, 0xab, + 0xf7, 0x7d, 0xf5, 0x01, 0x2b, 0x3e, 0x63, 0xa2, 0x6b, 0x33, 0xe6, 0xf7, 0x5b, 0x9e, 0xcf, 0x04, + 0x43, 0xf5, 0x21, 0x75, 0x8e, 0x47, 0x3c, 0xf8, 0x3b, 0xde, 0x69, 0x49, 0x80, 0xea, 0x6f, 0xd4, + 0x6c, 0x36, 0x1c, 0x32, 0x37, 0xe8, 0x69, 0xd4, 0x92, 0xb8, 0xc6, 0x12, 0x75, 0x05, 0xf1, 0x5d, + 0xec, 0x84, 0xff, 0x55, 0xcf, 0x67, 0x27, 0xa7, 0xe1, 0xcf, 0x32, 0x11, 0x76, 0xbf, 0x3b, 0x24, + 0x02, 0x07, 0x0d, 0x4d, 0x0c, 0x97, 0x1f, 0x39, 0x0e, 0xb3, 0x5f, 0xd0, 0x21, 0xe1, 0x02, 0x0f, + 0x3d, 0x8b, 0xbc, 0x1b, 0x11, 0x2e, 0xd0, 0x0e, 0xcc, 0xf5, 0x30, 0x27, 0xf5, 0xd2, 0x5a, 0x69, + 0xa3, 0xba, 0x73, 0xbd, 0x95, 0xb1, 0x25, 0x34, 0x60, 0x8f, 0x0f, 0x1e, 0x63, 0x4e, 0x2c, 0x85, + 0x45, 0xab, 0x30, 0x6f, 0xb3, 0x91, 0x2b, 0xea, 0x95, 0xb5, 0xd2, 0xc6, 0xa2, 0x15, 0xfc, 0x34, + 0x3f, 0x94, 0xe0, 0x4a, 0x56, 0x83, 0x7b, 0xcc, 0xe5, 0x04, 0xfd, 0x17, 0xce, 0x73, 0x81, 0xc5, + 0x88, 0x87, 0x32, 0xd7, 0x0c, 0x32, 0x07, 0x0a, 0x64, 0x85, 0x60, 0xf4, 0x6f, 0x58, 0x10, 0x11, + 0x57, 0xbd, 0xbc, 0x56, 0xda, 0x98, 0xb3, 0xe2, 0x06, 0x83, 0x15, 0xaf, 0x61, 0x49, 0x19, 0xb1, + 0xdb, 0xf9, 0x5b, 0x66, 0x58, 0x4e, 0x72, 0xbb, 0xb0, 0xac, 0xb9, 0xcf, 0x36, 0xb3, 0x25, 0x28, + 0xef, 0x76, 0x14, 0x79, 0xc5, 0x2a, 0xef, 0x76, 0x0c, 0x73, 0xf9, 0xa5, 0x04, 0x57, 0x3b, 0x84, + 0xdb, 0x3e, 0xed, 0x91, 0x03, 0x32, 0x18, 0x12, 0x57, 0xf0, 0xb3, 0xcc, 0xaa, 0x09, 0x35, 0x9b, + 0x39, 0x0e, 0xb1, 0x05, 0x65, 0xae, 0xd6, 0x4f, 0xb5, 0xa1, 0xeb, 0x00, 0x3c, 0x90, 0xda, 0xed, + 0xf0, 0x7a, 0x65, 0xad, 0xb2, 0x51, 0xb1, 0x12, 0x2d, 0xcd, 0x11, 0x2c, 0x87, 0xa6, 0x48, 0xe2, + 0x5d, 0xf7, 0x90, 0xe5, 0x68, 0x4b, 0x63, 0x68, 0xd7, 0xa0, 0xea, 0x61, 0x5f, 0xd0, 0x94, 0x72, + 0xb2, 0x49, 0x2e, 0xb6, 0x96, 0x51, 0x6e, 0xa8, 0x58, 0x71, 0x43, 0xf3, 0x8f, 0x32, 0xd4, 0x42, + 0x5d, 0xa9, 0xc9, 0xd1, 0x53, 0x58, 0x90, 0x73, 0xea, 0x52, 0xf7, 0x90, 0x85, 0x4e, 0xb8, 0xd5, + 0x32, 0x25, 0x52, 0x2b, 0x63, 0xb2, 0x75, 0xb1, 0x17, 0x19, 0xff, 0x14, 0xaa, 0xd4, 0xed, 0x93, + 0x13, 0x45, 0xc4, 0xeb, 0xe5, 0xb5, 0xca, 0x46, 0x75, 0xe7, 0x66, 0x96, 0x49, 0xa6, 0x53, 0x4b, + 0xeb, 0xf7, 0xc9, 0x89, 0x62, 0x01, 0x1a, 0x7d, 0x72, 0x34, 0x80, 0x4b, 0xe4, 0x44, 0xf8, 0xb8, + 0x9b, 0x64, 0xab, 0x28, 0xb6, 0xcf, 0xa6, 0xda, 0xa5, 0x28, 0x5a, 0x4f, 0xe4, 0x78, 0xcd, 0xce, + 0x9f, 0xb8, 0xc2, 0x3f, 0xb5, 0x96, 0x49, 0xba, 0xb5, 0xd1, 0x83, 0xd5, 0x71, 0x40, 0xb4, 0x02, + 0x95, 0xb7, 0xe4, 0x34, 0x74, 0xbe, 0xfc, 0x44, 0x0f, 0x60, 0xfe, 0x18, 0x3b, 0x23, 0xa2, 0xbc, + 0x3d, 0x26, 0x46, 0xd4, 0xa4, 0xe2, 0xd9, 0x04, 0xe0, 0xff, 0x97, 0x1f, 0x96, 0x9a, 0xbf, 0x95, + 0xa1, 0x9e, 0x0f, 0xbc, 0xb3, 0x85, 0x7c, 0x91, 0xe0, 0xa3, 0xb0, 0x18, 0x2e, 0x79, 0xca, 0x81, + 0x1d, 0xb3, 0x03, 0x4d, 0x56, 0xa6, 0x3c, 0x1b, 0x78, 0xb2, 0xc6, 0x13, 0x4d, 0x8d, 0x01, 0x5c, + 0xca, 0x41, 0xc6, 0xf8, 0xf0, 0xf3, 0xb4, 0x0f, 0xd7, 0x8b, 0x2d, 0x65, 0xd2, 0x97, 0x87, 0xb0, + 0xfa, 0x8c, 0x88, 0xb6, 0x4f, 0xfa, 0xc4, 0x15, 0x14, 0x3b, 0x67, 0x49, 0xe0, 0x06, 0x5c, 0x1c, + 0x71, 0x59, 0xf4, 0x87, 0x81, 0x41, 0x0b, 0x96, 0xfe, 0x6f, 0xfe, 0x5c, 0x82, 0xcb, 0x19, 0xa1, + 0xb3, 0x2d, 0xd8, 0x04, 0x31, 0xd9, 0xe7, 0x61, 0xce, 0xdf, 0x33, 0xbf, 0xaf, 0x72, 0x75, 0xc1, + 0xd2, 0xff, 0xcd, 0xc3, 0xb8, 0x68, 0x75, 0xb0, 0xc0, 0xd2, 0xf0, 0xb3, 0xcc, 0xf9, 0x2a, 0x5c, + 0xe8, 0xf7, 0xba, 0x09, 0x2b, 0xce, 0xf7, 0x7b, 0x5f, 0xc9, 0x09, 0xff, 0x59, 0x8a, 0x83, 0x34, + 0x16, 0x3a, 0xdb, 0x9c, 0x4d, 0x62, 0x08, 0xc1, 0x5c, 0xbf, 0xa7, 0x0b, 0x93, 0xfa, 0x46, 0x9b, + 0x70, 0xc9, 0xf6, 0x09, 0x16, 0xa4, 0xdf, 0x8d, 0xb7, 0xa9, 0x39, 0xb5, 0x4d, 0xad, 0x84, 0x1d, + 0x7a, 0x2b, 0x44, 0x6d, 0x00, 0xcf, 0x67, 0x1e, 0xf1, 0x05, 0x25, 0xbc, 0x3e, 0xaf, 0xe2, 0xfa, + 0x86, 0xc1, 0xa8, 0x2f, 0xc8, 0xe9, 0x37, 0x32, 0x7e, 0xf6, 0x31, 0xf5, 0xad, 0xc4, 0xb0, 0xe6, + 0xaf, 0x25, 0x58, 0x7d, 0xe4, 0x08, 0xe2, 0x7f, 0x4a, 0xc7, 0xa2, 0x7f, 0xc1, 0x7c, 0xbf, 0xd7, + 0xa5, 0xd1, 0xca, 0xca, 0xc9, 0xf6, 0x33, 0xf6, 0xcf, 0x7d, 0x94, 0xfd, 0x3b, 0xbf, 0xaf, 0xc3, + 0x82, 0xc5, 0x98, 0x68, 0xcb, 0x8c, 0x41, 0x1e, 0x20, 0x19, 0xb0, 0x6c, 0xe8, 0x31, 0x97, 0xb8, + 0x42, 0x2e, 0x05, 0xe1, 0xe8, 0x6e, 0x96, 0x34, 0xfc, 0xcd, 0x43, 0xc3, 0xc9, 0x37, 0xd6, 0x0d, + 0x23, 0x32, 0xf0, 0xe6, 0x39, 0xf4, 0x4e, 0x29, 0xca, 0x45, 0x79, 0x41, 0xed, 0xb7, 0xed, 0x23, + 0xec, 0xba, 0xc4, 0x41, 0x3b, 0xd9, 0xf1, 0xfa, 0x64, 0x95, 0x07, 0x47, 0x9a, 0x37, 0x0d, 0x9a, + 0x07, 0xc2, 0xa7, 0xee, 0x20, 0x0a, 0xc3, 0xe6, 0x39, 0x34, 0x52, 0xe9, 0x2f, 0x2d, 0xa0, 0x5c, + 0x50, 0x9b, 0x47, 0xa2, 0x0f, 0x26, 0x89, 0xe6, 0xe0, 0x33, 0xcb, 0xda, 0xb0, 0xd2, 0x56, 0x21, + 0xd8, 0xd6, 0xf5, 0x15, 0xb5, 0x4c, 0x7e, 0xca, 0x00, 0x23, 0xb1, 0xc9, 0x39, 0xd3, 0x3c, 0x87, + 0xba, 0xb0, 0xd4, 0xf1, 0x99, 0x97, 0x90, 0xb8, 0x63, 0x90, 0x48, 0xc3, 0x0a, 0x0b, 0xd8, 0xb0, + 0xf8, 0x1c, 0xf3, 0x04, 0xff, 0xa6, 0x81, 0x3f, 0x85, 0x8a, 0xe8, 0x6f, 0x18, 0xc0, 0x8f, 0x19, + 0x73, 0x12, 0xae, 0xfa, 0x11, 0x50, 0x54, 0x46, 0x12, 0x4a, 0xa6, 0x30, 0xcc, 0x43, 0x23, 0xb9, + 0x7b, 0x33, 0x8c, 0xd0, 0xe2, 0x1f, 0x4a, 0xd0, 0xc8, 0x03, 0x76, 0xc3, 0x58, 0xf8, 0xa7, 0xac, + 0xf8, 0x16, 0xaa, 0x41, 0x10, 0x3c, 0x72, 0x28, 0xe6, 0xe8, 0xd6, 0xc4, 0x40, 0x51, 0x98, 0xc2, + 0x4b, 0xf8, 0x12, 0x16, 0xe4, 0xe2, 0x07, 0xc4, 0xff, 0x99, 0x10, 0x1e, 0xb3, 0xd1, 0xbe, 0x02, + 0x50, 0x85, 0x30, 0xe0, 0xdd, 0x30, 0xf0, 0xc6, 0x90, 0xc2, 0xc4, 0x0e, 0x2c, 0x46, 0xae, 0x0a, + 0xb8, 0x37, 0xa7, 0x38, 0x34, 0x45, 0x7f, 0xa7, 0x18, 0x58, 0x3b, 0xfe, 0x10, 0xaa, 0x5f, 0x52, + 0x2e, 0x54, 0x33, 0x31, 0x3b, 0x3e, 0x81, 0x89, 0x94, 0x6e, 0x17, 0x81, 0x6a, 0x1d, 0x1f, 0x96, + 0x0f, 0x8e, 0xd8, 0xfb, 0x78, 0xf1, 0x39, 0xda, 0x32, 0x95, 0x92, 0x34, 0x2e, 0xd2, 0x6b, 0x15, + 0x85, 0x6b, 0x4d, 0x2c, 0x6f, 0x4b, 0x82, 0xf8, 0x89, 0xa4, 0xda, 0x9a, 0xb4, 0x4e, 0x1f, 0x51, + 0x1f, 0x30, 0x2c, 0x07, 0x31, 0xb9, 0x1f, 0x5d, 0x24, 0x8c, 0x12, 0x19, 0x5c, 0x61, 0x89, 0xef, + 0x61, 0x51, 0x46, 0x67, 0x2c, 0xb0, 0x39, 0x21, 0x86, 0x67, 0xa7, 0xc7, 0x50, 0x7b, 0x8e, 0x79, + 0xcc, 0x7e, 0xdb, 0x5c, 0xe0, 0x72, 0xe4, 0x05, 0xeb, 0x1b, 0x83, 0x25, 0xb9, 0x48, 0x7a, 0x38, + 0x37, 0x56, 0xe9, 0x34, 0x2c, 0x92, 0xd9, 0x2a, 0x88, 0xd6, 0x82, 0xef, 0xe1, 0x4a, 0xba, 0x4f, + 0x97, 0xb3, 0x4f, 0x2c, 0x4c, 0xa1, 0x26, 0xfb, 0xa2, 0xbb, 0x80, 0xd1, 0x99, 0x49, 0x50, 0x24, + 0xb6, 0x59, 0x08, 0x9b, 0xd8, 0xd6, 0x97, 0xd2, 0x6f, 0x1d, 0x68, 0xdb, 0x7c, 0x35, 0x18, 0xfb, + 0xf2, 0xd2, 0xb8, 0x5b, 0x7c, 0x80, 0x96, 0xfd, 0x01, 0x2e, 0x84, 0x2f, 0x10, 0xf9, 0x9a, 0x97, + 0x19, 0xae, 0x1f, 0x40, 0x1a, 0xb7, 0x0a, 0x20, 0xb5, 0x02, 0x81, 0xcb, 0x2f, 0xbd, 0xbe, 0x3c, + 0x0f, 0x04, 0x27, 0x8f, 0xe8, 0xfc, 0x93, 0x8f, 0x7b, 0x7d, 0x60, 0xc9, 0x20, 0xf7, 0xf8, 0x60, + 0x7a, 0xdc, 0x1f, 0xc3, 0xb5, 0x5d, 0xf7, 0x18, 0x3b, 0xb4, 0x9f, 0x3a, 0x7a, 0xec, 0x11, 0x81, + 0xdb, 0xd8, 0x3e, 0x22, 0xf9, 0xf3, 0x51, 0xf0, 0xbc, 0x95, 0x1e, 0xa4, 0xe1, 0x85, 0xf3, 0xed, + 0x27, 0x40, 0x41, 0xc5, 0x72, 0x0f, 0xe9, 0x60, 0xe4, 0xe3, 0x20, 0x21, 0xcc, 0x27, 0xc0, 0x3c, + 0x38, 0x92, 0xba, 0x3f, 0xd3, 0x98, 0xc4, 0xc1, 0x0c, 0x9e, 0x11, 0xb1, 0x47, 0x84, 0x4f, 0x6d, + 0xf3, 0xc6, 0x15, 0x43, 0x8c, 0x8b, 0x38, 0x06, 0xa9, 0x45, 0xde, 0xe8, 0xd3, 0x9f, 0xbe, 0x0d, + 0xe6, 0xf7, 0xde, 0x78, 0xfd, 0x34, 0x48, 0x5e, 0x5e, 0xa7, 0xfb, 0xf0, 0x0d, 0xac, 0x84, 0x21, + 0xf2, 0x29, 0xd8, 0x6d, 0x58, 0xe9, 0x10, 0x87, 0xa4, 0xd8, 0x5b, 0xc6, 0x6d, 0x35, 0x0d, 0x9c, + 0x65, 0x97, 0x97, 0x1b, 0xa5, 0x1c, 0xf9, 0x92, 0x13, 0xdf, 0xbc, 0xcb, 0xa7, 0x50, 0xd3, 0x76, + 0xf9, 0x0c, 0x38, 0xb1, 0xfb, 0x2e, 0xa6, 0x6e, 0xe6, 0xf9, 0xf9, 0xc4, 0x19, 0x39, 0xee, 0xad, + 0xa0, 0xb1, 0x5d, 0x18, 0xaf, 0x35, 0x5f, 0x01, 0x04, 0x21, 0x60, 0x31, 0x87, 0x18, 0xe3, 0x2c, + 0x86, 0x14, 0x76, 0xdd, 0x01, 0x5c, 0x94, 0x5b, 0x9d, 0xa2, 0x5d, 0x9f, 0xb0, 0x17, 0xce, 0x44, + 0x8a, 0x61, 0xf9, 0x6b, 0x8f, 0xf8, 0x58, 0x10, 0xe9, 0x3b, 0xc5, 0x6d, 0xaa, 0xfe, 0x19, 0xdc, + 0x0c, 0x77, 0x09, 0x38, 0x20, 0xb2, 0xcc, 0x4c, 0x74, 0x48, 0x0c, 0x99, 0x96, 0x78, 0x49, 0x64, + 0x32, 0xbb, 0x83, 0x76, 0x69, 0xde, 0x14, 0x11, 0x35, 0x83, 0x42, 0x22, 0x01, 0x32, 0x79, 0xb7, + 0x0b, 0x9d, 0xb0, 0xef, 0xd3, 0x63, 0xea, 0x90, 0x01, 0x31, 0x66, 0x48, 0x16, 0x58, 0xd8, 0x5d, + 0x87, 0x50, 0x0d, 0xc4, 0x9f, 0xf9, 0xd8, 0x15, 0x68, 0xb2, 0x81, 0x0a, 0x33, 0xed, 0x64, 0x9a, + 0x82, 0xea, 0xc9, 0x0c, 0x00, 0x64, 0xda, 0xec, 0x33, 0x87, 0xda, 0xa7, 0xf9, 0x1d, 0x5b, 0x97, + 0x91, 0x18, 0x64, 0xdc, 0xb1, 0xc7, 0x62, 0x93, 0x47, 0xed, 0xf6, 0x11, 0xb1, 0xdf, 0x3e, 0x27, + 0xd8, 0x11, 0x47, 0xe6, 0x3b, 0x4e, 0x8c, 0x99, 0x36, 0xa1, 0x14, 0x34, 0xb9, 0x3a, 0x16, 0x71, + 0xf1, 0xb0, 0xc8, 0xcd, 0x3b, 0x0b, 0x9c, 0xe5, 0xe6, 0x1d, 0xa4, 0x6e, 0xf4, 0x10, 0x64, 0x3c, + 0x5a, 0xa5, 0x61, 0x85, 0x05, 0xbe, 0x83, 0x9a, 0x4c, 0x62, 0x4d, 0x7f, 0x7b, 0x42, 0xa6, 0xcf, + 0x4c, 0x1e, 0x56, 0xdf, 0x68, 0xdc, 0xe4, 0xea, 0xab, 0x51, 0x45, 0xaa, 0x6f, 0x02, 0x9c, 0xb8, + 0xdf, 0xaf, 0x64, 0x9f, 0x09, 0xd1, 0xbd, 0xe9, 0x2f, 0xca, 0xd9, 0x59, 0xed, 0xcc, 0x32, 0x24, + 0x71, 0x60, 0x5b, 0x4c, 0x3d, 0xd8, 0x4d, 0x2a, 0xfd, 0xe3, 0x5e, 0xf6, 0xa6, 0x3a, 0xf3, 0xf1, + 0xc3, 0xd7, 0xff, 0x1b, 0x50, 0x71, 0x34, 0xea, 0xc9, 0x9e, 0xed, 0x00, 0xbc, 0x45, 0x59, 0xf8, + 0xb5, 0x1d, 0x25, 0xc5, 0xb6, 0x1a, 0xbf, 0xad, 0xd5, 0xbc, 0x5e, 0xef, 0xbc, 0x6a, 0xba, 0xff, + 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x17, 0x06, 0x26, 0x92, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -794,28 +880,28 @@ type RootCoordClient interface { GetComponentStates(ctx context.Context, in *milvuspb.GetComponentStatesRequest, opts ...grpc.CallOption) (*milvuspb.ComponentStates, error) GetTimeTickChannel(ctx context.Context, in *internalpb.GetTimeTickChannelRequest, opts ...grpc.CallOption) (*milvuspb.StringResponse, error) GetStatisticsChannel(ctx context.Context, in *internalpb.GetStatisticsChannelRequest, opts ...grpc.CallOption) (*milvuspb.StringResponse, error) - // * + //* // @brief This method is used to create collection // // @param CreateCollectionRequest, use to provide collection information to be created. // // @return Status CreateCollection(ctx context.Context, in *milvuspb.CreateCollectionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + //* // @brief This method is used to delete collection. // // @param DropCollectionRequest, collection name is going to be deleted. // // @return Status DropCollection(ctx context.Context, in *milvuspb.DropCollectionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + //* // @brief This method is used to test collection existence. // // @param HasCollectionRequest, collection name is going to be tested. // // @return BoolResponse HasCollection(ctx context.Context, in *milvuspb.HasCollectionRequest, opts ...grpc.CallOption) (*milvuspb.BoolResponse, error) - // * + //* // @brief This method is used to get collection schema. // // @param DescribeCollectionRequest, target collection name. @@ -826,28 +912,30 @@ type RootCoordClient interface { CreateAlias(ctx context.Context, in *milvuspb.CreateAliasRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DropAlias(ctx context.Context, in *milvuspb.DropAliasRequest, opts ...grpc.CallOption) (*commonpb.Status, error) AlterAlias(ctx context.Context, in *milvuspb.AlterAliasRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + DescribeAlias(ctx context.Context, in *milvuspb.DescribeAliasRequest, opts ...grpc.CallOption) (*milvuspb.DescribeAliasResponse, error) + ListAliases(ctx context.Context, in *milvuspb.ListAliasesRequest, opts ...grpc.CallOption) (*milvuspb.ListAliasesResponse, error) + //* // @brief This method is used to list all collections. // // @return StringListResponse, collection name list ShowCollections(ctx context.Context, in *milvuspb.ShowCollectionsRequest, opts ...grpc.CallOption) (*milvuspb.ShowCollectionsResponse, error) AlterCollection(ctx context.Context, in *milvuspb.AlterCollectionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + //* // @brief This method is used to create partition // // @return Status CreatePartition(ctx context.Context, in *milvuspb.CreatePartitionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + //* // @brief This method is used to drop partition // // @return Status DropPartition(ctx context.Context, in *milvuspb.DropPartitionRequest, opts ...grpc.CallOption) (*commonpb.Status, error) - // * + //* // @brief This method is used to test partition existence. // // @return BoolResponse HasPartition(ctx context.Context, in *milvuspb.HasPartitionRequest, opts ...grpc.CallOption) (*milvuspb.BoolResponse, error) - // * + //* // @brief This method is used to show partition information // // @param ShowPartitionRequest, target collection name. @@ -855,7 +943,7 @@ type RootCoordClient interface { // @return StringListResponse ShowPartitions(ctx context.Context, in *milvuspb.ShowPartitionsRequest, opts ...grpc.CallOption) (*milvuspb.ShowPartitionsResponse, error) ShowPartitionsInternal(ctx context.Context, in *milvuspb.ShowPartitionsRequest, opts ...grpc.CallOption) (*milvuspb.ShowPartitionsResponse, error) - // rpc DescribeSegment(milvus.DescribeSegmentRequest) returns (milvus.DescribeSegmentResponse) {} + // rpc DescribeSegment(milvus.DescribeSegmentRequest) returns (milvus.DescribeSegmentResponse) {} ShowSegments(ctx context.Context, in *milvuspb.ShowSegmentsRequest, opts ...grpc.CallOption) (*milvuspb.ShowSegmentsResponse, error) AllocTimestamp(ctx context.Context, in *AllocTimestampRequest, opts ...grpc.CallOption) (*AllocTimestampResponse, error) AllocID(ctx context.Context, in *AllocIDRequest, opts ...grpc.CallOption) (*AllocIDResponse, error) @@ -864,11 +952,6 @@ type RootCoordClient interface { ShowConfigurations(ctx context.Context, in *internalpb.ShowConfigurationsRequest, opts ...grpc.CallOption) (*internalpb.ShowConfigurationsResponse, error) // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy GetMetrics(ctx context.Context, in *milvuspb.GetMetricsRequest, opts ...grpc.CallOption) (*milvuspb.GetMetricsResponse, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(ctx context.Context, in *milvuspb.ImportRequest, opts ...grpc.CallOption) (*milvuspb.ImportResponse, error) - GetImportState(ctx context.Context, in *milvuspb.GetImportStateRequest, opts ...grpc.CallOption) (*milvuspb.GetImportStateResponse, error) - ListImportTasks(ctx context.Context, in *milvuspb.ListImportTasksRequest, opts ...grpc.CallOption) (*milvuspb.ListImportTasksResponse, error) - ReportImport(ctx context.Context, in *ImportResult, opts ...grpc.CallOption) (*commonpb.Status, error) // https://wiki.lfaidata.foundation/display/MIL/MEP+27+--+Support+Basic+Authentication CreateCredential(ctx context.Context, in *internalpb.CredentialInfo, opts ...grpc.CallOption) (*commonpb.Status, error) UpdateCredential(ctx context.Context, in *internalpb.CredentialInfo, opts ...grpc.CallOption) (*commonpb.Status, error) @@ -890,6 +973,8 @@ type RootCoordClient interface { CreateDatabase(ctx context.Context, in *milvuspb.CreateDatabaseRequest, opts ...grpc.CallOption) (*commonpb.Status, error) DropDatabase(ctx context.Context, in *milvuspb.DropDatabaseRequest, opts ...grpc.CallOption) (*commonpb.Status, error) ListDatabases(ctx context.Context, in *milvuspb.ListDatabasesRequest, opts ...grpc.CallOption) (*milvuspb.ListDatabasesResponse, error) + DescribeDatabase(ctx context.Context, in *DescribeDatabaseRequest, opts ...grpc.CallOption) (*DescribeDatabaseResponse, error) + AlterDatabase(ctx context.Context, in *AlterDatabaseRequest, opts ...grpc.CallOption) (*commonpb.Status, error) } type rootCoordClient struct { @@ -999,6 +1084,24 @@ func (c *rootCoordClient) AlterAlias(ctx context.Context, in *milvuspb.AlterAlia return out, nil } +func (c *rootCoordClient) DescribeAlias(ctx context.Context, in *milvuspb.DescribeAliasRequest, opts ...grpc.CallOption) (*milvuspb.DescribeAliasResponse, error) { + out := new(milvuspb.DescribeAliasResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/DescribeAlias", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *rootCoordClient) ListAliases(ctx context.Context, in *milvuspb.ListAliasesRequest, opts ...grpc.CallOption) (*milvuspb.ListAliasesResponse, error) { + out := new(milvuspb.ListAliasesResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/ListAliases", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *rootCoordClient) ShowCollections(ctx context.Context, in *milvuspb.ShowCollectionsRequest, opts ...grpc.CallOption) (*milvuspb.ShowCollectionsResponse, error) { out := new(milvuspb.ShowCollectionsResponse) err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/ShowCollections", in, out, opts...) @@ -1125,42 +1228,6 @@ func (c *rootCoordClient) GetMetrics(ctx context.Context, in *milvuspb.GetMetric return out, nil } -func (c *rootCoordClient) Import(ctx context.Context, in *milvuspb.ImportRequest, opts ...grpc.CallOption) (*milvuspb.ImportResponse, error) { - out := new(milvuspb.ImportResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/Import", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *rootCoordClient) GetImportState(ctx context.Context, in *milvuspb.GetImportStateRequest, opts ...grpc.CallOption) (*milvuspb.GetImportStateResponse, error) { - out := new(milvuspb.GetImportStateResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/GetImportState", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *rootCoordClient) ListImportTasks(ctx context.Context, in *milvuspb.ListImportTasksRequest, opts ...grpc.CallOption) (*milvuspb.ListImportTasksResponse, error) { - out := new(milvuspb.ListImportTasksResponse) - err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/ListImportTasks", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *rootCoordClient) ReportImport(ctx context.Context, in *ImportResult, opts ...grpc.CallOption) (*commonpb.Status, error) { - out := new(commonpb.Status) - err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/ReportImport", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *rootCoordClient) CreateCredential(ctx context.Context, in *internalpb.CredentialInfo, opts ...grpc.CallOption) (*commonpb.Status, error) { out := new(commonpb.Status) err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/CreateCredential", in, out, opts...) @@ -1323,33 +1390,51 @@ func (c *rootCoordClient) ListDatabases(ctx context.Context, in *milvuspb.ListDa return out, nil } +func (c *rootCoordClient) DescribeDatabase(ctx context.Context, in *DescribeDatabaseRequest, opts ...grpc.CallOption) (*DescribeDatabaseResponse, error) { + out := new(DescribeDatabaseResponse) + err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/DescribeDatabase", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *rootCoordClient) AlterDatabase(ctx context.Context, in *AlterDatabaseRequest, opts ...grpc.CallOption) (*commonpb.Status, error) { + out := new(commonpb.Status) + err := c.cc.Invoke(ctx, "/milvus.proto.rootcoord.RootCoord/AlterDatabase", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // RootCoordServer is the server API for RootCoord service. type RootCoordServer interface { GetComponentStates(context.Context, *milvuspb.GetComponentStatesRequest) (*milvuspb.ComponentStates, error) GetTimeTickChannel(context.Context, *internalpb.GetTimeTickChannelRequest) (*milvuspb.StringResponse, error) GetStatisticsChannel(context.Context, *internalpb.GetStatisticsChannelRequest) (*milvuspb.StringResponse, error) - // * + //* // @brief This method is used to create collection // // @param CreateCollectionRequest, use to provide collection information to be created. // // @return Status CreateCollection(context.Context, *milvuspb.CreateCollectionRequest) (*commonpb.Status, error) - // * + //* // @brief This method is used to delete collection. // // @param DropCollectionRequest, collection name is going to be deleted. // // @return Status DropCollection(context.Context, *milvuspb.DropCollectionRequest) (*commonpb.Status, error) - // * + //* // @brief This method is used to test collection existence. // // @param HasCollectionRequest, collection name is going to be tested. // // @return BoolResponse HasCollection(context.Context, *milvuspb.HasCollectionRequest) (*milvuspb.BoolResponse, error) - // * + //* // @brief This method is used to get collection schema. // // @param DescribeCollectionRequest, target collection name. @@ -1360,28 +1445,30 @@ type RootCoordServer interface { CreateAlias(context.Context, *milvuspb.CreateAliasRequest) (*commonpb.Status, error) DropAlias(context.Context, *milvuspb.DropAliasRequest) (*commonpb.Status, error) AlterAlias(context.Context, *milvuspb.AlterAliasRequest) (*commonpb.Status, error) - // * + DescribeAlias(context.Context, *milvuspb.DescribeAliasRequest) (*milvuspb.DescribeAliasResponse, error) + ListAliases(context.Context, *milvuspb.ListAliasesRequest) (*milvuspb.ListAliasesResponse, error) + //* // @brief This method is used to list all collections. // // @return StringListResponse, collection name list ShowCollections(context.Context, *milvuspb.ShowCollectionsRequest) (*milvuspb.ShowCollectionsResponse, error) AlterCollection(context.Context, *milvuspb.AlterCollectionRequest) (*commonpb.Status, error) - // * + //* // @brief This method is used to create partition // // @return Status CreatePartition(context.Context, *milvuspb.CreatePartitionRequest) (*commonpb.Status, error) - // * + //* // @brief This method is used to drop partition // // @return Status DropPartition(context.Context, *milvuspb.DropPartitionRequest) (*commonpb.Status, error) - // * + //* // @brief This method is used to test partition existence. // // @return BoolResponse HasPartition(context.Context, *milvuspb.HasPartitionRequest) (*milvuspb.BoolResponse, error) - // * + //* // @brief This method is used to show partition information // // @param ShowPartitionRequest, target collection name. @@ -1389,7 +1476,7 @@ type RootCoordServer interface { // @return StringListResponse ShowPartitions(context.Context, *milvuspb.ShowPartitionsRequest) (*milvuspb.ShowPartitionsResponse, error) ShowPartitionsInternal(context.Context, *milvuspb.ShowPartitionsRequest) (*milvuspb.ShowPartitionsResponse, error) - // rpc DescribeSegment(milvus.DescribeSegmentRequest) returns (milvus.DescribeSegmentResponse) {} + // rpc DescribeSegment(milvus.DescribeSegmentRequest) returns (milvus.DescribeSegmentResponse) {} ShowSegments(context.Context, *milvuspb.ShowSegmentsRequest) (*milvuspb.ShowSegmentsResponse, error) AllocTimestamp(context.Context, *AllocTimestampRequest) (*AllocTimestampResponse, error) AllocID(context.Context, *AllocIDRequest) (*AllocIDResponse, error) @@ -1398,11 +1485,6 @@ type RootCoordServer interface { ShowConfigurations(context.Context, *internalpb.ShowConfigurationsRequest) (*internalpb.ShowConfigurationsResponse, error) // https://wiki.lfaidata.foundation/display/MIL/MEP+8+--+Add+metrics+for+proxy GetMetrics(context.Context, *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) - // https://wiki.lfaidata.foundation/display/MIL/MEP+24+--+Support+bulk+load - Import(context.Context, *milvuspb.ImportRequest) (*milvuspb.ImportResponse, error) - GetImportState(context.Context, *milvuspb.GetImportStateRequest) (*milvuspb.GetImportStateResponse, error) - ListImportTasks(context.Context, *milvuspb.ListImportTasksRequest) (*milvuspb.ListImportTasksResponse, error) - ReportImport(context.Context, *ImportResult) (*commonpb.Status, error) // https://wiki.lfaidata.foundation/display/MIL/MEP+27+--+Support+Basic+Authentication CreateCredential(context.Context, *internalpb.CredentialInfo) (*commonpb.Status, error) UpdateCredential(context.Context, *internalpb.CredentialInfo) (*commonpb.Status, error) @@ -1424,6 +1506,8 @@ type RootCoordServer interface { CreateDatabase(context.Context, *milvuspb.CreateDatabaseRequest) (*commonpb.Status, error) DropDatabase(context.Context, *milvuspb.DropDatabaseRequest) (*commonpb.Status, error) ListDatabases(context.Context, *milvuspb.ListDatabasesRequest) (*milvuspb.ListDatabasesResponse, error) + DescribeDatabase(context.Context, *DescribeDatabaseRequest) (*DescribeDatabaseResponse, error) + AlterDatabase(context.Context, *AlterDatabaseRequest) (*commonpb.Status, error) } // UnimplementedRootCoordServer can be embedded to have forward compatible implementations. @@ -1463,6 +1547,12 @@ func (*UnimplementedRootCoordServer) DropAlias(ctx context.Context, req *milvusp func (*UnimplementedRootCoordServer) AlterAlias(ctx context.Context, req *milvuspb.AlterAliasRequest) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method AlterAlias not implemented") } +func (*UnimplementedRootCoordServer) DescribeAlias(ctx context.Context, req *milvuspb.DescribeAliasRequest) (*milvuspb.DescribeAliasResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DescribeAlias not implemented") +} +func (*UnimplementedRootCoordServer) ListAliases(ctx context.Context, req *milvuspb.ListAliasesRequest) (*milvuspb.ListAliasesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAliases not implemented") +} func (*UnimplementedRootCoordServer) ShowCollections(ctx context.Context, req *milvuspb.ShowCollectionsRequest) (*milvuspb.ShowCollectionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ShowCollections not implemented") } @@ -1505,18 +1595,6 @@ func (*UnimplementedRootCoordServer) ShowConfigurations(ctx context.Context, req func (*UnimplementedRootCoordServer) GetMetrics(ctx context.Context, req *milvuspb.GetMetricsRequest) (*milvuspb.GetMetricsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented") } -func (*UnimplementedRootCoordServer) Import(ctx context.Context, req *milvuspb.ImportRequest) (*milvuspb.ImportResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Import not implemented") -} -func (*UnimplementedRootCoordServer) GetImportState(ctx context.Context, req *milvuspb.GetImportStateRequest) (*milvuspb.GetImportStateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetImportState not implemented") -} -func (*UnimplementedRootCoordServer) ListImportTasks(ctx context.Context, req *milvuspb.ListImportTasksRequest) (*milvuspb.ListImportTasksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListImportTasks not implemented") -} -func (*UnimplementedRootCoordServer) ReportImport(ctx context.Context, req *ImportResult) (*commonpb.Status, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReportImport not implemented") -} func (*UnimplementedRootCoordServer) CreateCredential(ctx context.Context, req *internalpb.CredentialInfo) (*commonpb.Status, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateCredential not implemented") } @@ -1571,6 +1649,12 @@ func (*UnimplementedRootCoordServer) DropDatabase(ctx context.Context, req *milv func (*UnimplementedRootCoordServer) ListDatabases(ctx context.Context, req *milvuspb.ListDatabasesRequest) (*milvuspb.ListDatabasesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListDatabases not implemented") } +func (*UnimplementedRootCoordServer) DescribeDatabase(ctx context.Context, req *DescribeDatabaseRequest) (*DescribeDatabaseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DescribeDatabase not implemented") +} +func (*UnimplementedRootCoordServer) AlterDatabase(ctx context.Context, req *AlterDatabaseRequest) (*commonpb.Status, error) { + return nil, status.Errorf(codes.Unimplemented, "method AlterDatabase not implemented") +} func RegisterRootCoordServer(s *grpc.Server, srv RootCoordServer) { s.RegisterService(&_RootCoord_serviceDesc, srv) @@ -1774,6 +1858,42 @@ func _RootCoord_AlterAlias_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _RootCoord_DescribeAlias_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(milvuspb.DescribeAliasRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RootCoordServer).DescribeAlias(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.rootcoord.RootCoord/DescribeAlias", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RootCoordServer).DescribeAlias(ctx, req.(*milvuspb.DescribeAliasRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RootCoord_ListAliases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(milvuspb.ListAliasesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RootCoordServer).ListAliases(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.rootcoord.RootCoord/ListAliases", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RootCoordServer).ListAliases(ctx, req.(*milvuspb.ListAliasesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RootCoord_ShowCollections_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(milvuspb.ShowCollectionsRequest) if err := dec(in); err != nil { @@ -2026,78 +2146,6 @@ func _RootCoord_GetMetrics_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } -func _RootCoord_Import_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(milvuspb.ImportRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RootCoordServer).Import(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.rootcoord.RootCoord/Import", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RootCoordServer).Import(ctx, req.(*milvuspb.ImportRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RootCoord_GetImportState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(milvuspb.GetImportStateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RootCoordServer).GetImportState(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.rootcoord.RootCoord/GetImportState", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RootCoordServer).GetImportState(ctx, req.(*milvuspb.GetImportStateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RootCoord_ListImportTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(milvuspb.ListImportTasksRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RootCoordServer).ListImportTasks(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.rootcoord.RootCoord/ListImportTasks", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RootCoordServer).ListImportTasks(ctx, req.(*milvuspb.ListImportTasksRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RootCoord_ReportImport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ImportResult) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RootCoordServer).ReportImport(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/milvus.proto.rootcoord.RootCoord/ReportImport", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RootCoordServer).ReportImport(ctx, req.(*ImportResult)) - } - return interceptor(ctx, in, info, handler) -} - func _RootCoord_CreateCredential_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(internalpb.CredentialInfo) if err := dec(in); err != nil { @@ -2422,6 +2470,42 @@ func _RootCoord_ListDatabases_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _RootCoord_DescribeDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeDatabaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RootCoordServer).DescribeDatabase(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.rootcoord.RootCoord/DescribeDatabase", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RootCoordServer).DescribeDatabase(ctx, req.(*DescribeDatabaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RootCoord_AlterDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AlterDatabaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RootCoordServer).AlterDatabase(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/milvus.proto.rootcoord.RootCoord/AlterDatabase", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RootCoordServer).AlterDatabase(ctx, req.(*AlterDatabaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _RootCoord_serviceDesc = grpc.ServiceDesc{ ServiceName: "milvus.protov2.rootcoord.RootCoord", HandlerType: (*RootCoordServer)(nil), @@ -2470,6 +2554,14 @@ var _RootCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "AlterAlias", Handler: _RootCoord_AlterAlias_Handler, }, + { + MethodName: "DescribeAlias", + Handler: _RootCoord_DescribeAlias_Handler, + }, + { + MethodName: "ListAliases", + Handler: _RootCoord_ListAliases_Handler, + }, { MethodName: "ShowCollections", Handler: _RootCoord_ShowCollections_Handler, @@ -2526,22 +2618,6 @@ var _RootCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "GetMetrics", Handler: _RootCoord_GetMetrics_Handler, }, - { - MethodName: "Import", - Handler: _RootCoord_Import_Handler, - }, - { - MethodName: "GetImportState", - Handler: _RootCoord_GetImportState_Handler, - }, - { - MethodName: "ListImportTasks", - Handler: _RootCoord_ListImportTasks_Handler, - }, - { - MethodName: "ReportImport", - Handler: _RootCoord_ReportImport_Handler, - }, { MethodName: "CreateCredential", Handler: _RootCoord_CreateCredential_Handler, @@ -2614,6 +2690,14 @@ var _RootCoord_serviceDesc = grpc.ServiceDesc{ MethodName: "ListDatabases", Handler: _RootCoord_ListDatabases_Handler, }, + { + MethodName: "DescribeDatabase", + Handler: _RootCoord_DescribeDatabase_Handler, + }, + { + MethodName: "AlterDatabase", + Handler: _RootCoord_AlterDatabase_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "root_coord.proto", diff --git a/proto/v2.2/schema.proto b/proto/v2.2/schema.proto index 6875308..9707489 100644 --- a/proto/v2.2/schema.proto +++ b/proto/v2.2/schema.proto @@ -36,6 +36,7 @@ enum DataType { FloatVector = 101; Float16Vector = 102; BFloat16Vector = 103; + SparseFloatVector = 104; } enum FieldState { @@ -63,6 +64,7 @@ message FieldSchema { ValueField default_value = 11; // default_value only support scalars except array and json for now bool is_dynamic = 12; // mark whether this field is the dynamic field bool is_partition_key = 13; // enable logic partitions + bool is_clustering_key = 14; } /** @@ -74,6 +76,7 @@ message CollectionSchema { bool autoID = 3 [deprecated=true]; // deprecated later, keep compatible with c++ part now repeated FieldSchema fields = 4; bool enable_dynamic_field = 5; // mark whether this table has the dynamic field function enabled. + repeated common.KeyValuePair properties = 6; } message BoolArray { repeated bool data = 1; } @@ -124,13 +127,22 @@ message ScalarField { } } +// beta, api may change +message SparseFloatArray { + repeated bytes contents = 1; + // dim is the max dimension of the current batch of vectors + int64 dim = 2; +} + message VectorField { + // For sparse vector, dim is the max dimension of the current batch of vectors int64 dim = 1; oneof data { FloatArray float_vector = 2; bytes binary_vector = 3; bytes float16_vector = 4; bytes bfloat16_vector = 5; + SparseFloatArray sparse_float_vector = 6; } } @@ -160,4 +172,25 @@ message SearchResultData { IDs ids = 5; repeated int64 topks = 6; repeated string output_fields = 7; + FieldData group_by_field_value = 8; + int64 all_search_count = 9; +} + +// vector field clustering info +message VectorClusteringInfo { + // for multi vectors + string field = 1; + schema.VectorField centroid = 2; +} + +// Scalar field clustering info +// todo more definitions: min/max, etc +message ScalarClusteringInfo { + string field = 1; +} + +// clustering distribution info of a certain data unit, it can be segment, partition, etc. +message ClusteringInfo { + repeated VectorClusteringInfo vector_clustering_infos = 1; + repeated ScalarClusteringInfo scalar_clustering_infos = 2; } diff --git a/proto/v2.2/schemapb/schema.pb.go b/proto/v2.2/schemapb/schema.pb.go index e701c96..b6d1456 100644 --- a/proto/v2.2/schemapb/schema.pb.go +++ b/proto/v2.2/schemapb/schema.pb.go @@ -22,27 +22,28 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package -// * +//* // @brief Field data type type DataType int32 const ( - DataType_None DataType = 0 - DataType_Bool DataType = 1 - DataType_Int8 DataType = 2 - DataType_Int16 DataType = 3 - DataType_Int32 DataType = 4 - DataType_Int64 DataType = 5 - DataType_Float DataType = 10 - DataType_Double DataType = 11 - DataType_String DataType = 20 - DataType_VarChar DataType = 21 - DataType_Array DataType = 22 - DataType_JSON DataType = 23 - DataType_BinaryVector DataType = 100 - DataType_FloatVector DataType = 101 - DataType_Float16Vector DataType = 102 - DataType_BFloat16Vector DataType = 103 + DataType_None DataType = 0 + DataType_Bool DataType = 1 + DataType_Int8 DataType = 2 + DataType_Int16 DataType = 3 + DataType_Int32 DataType = 4 + DataType_Int64 DataType = 5 + DataType_Float DataType = 10 + DataType_Double DataType = 11 + DataType_String DataType = 20 + DataType_VarChar DataType = 21 + DataType_Array DataType = 22 + DataType_JSON DataType = 23 + DataType_BinaryVector DataType = 100 + DataType_FloatVector DataType = 101 + DataType_Float16Vector DataType = 102 + DataType_BFloat16Vector DataType = 103 + DataType_SparseFloatVector DataType = 104 ) var DataType_name = map[int32]string{ @@ -62,25 +63,27 @@ var DataType_name = map[int32]string{ 101: "FloatVector", 102: "Float16Vector", 103: "BFloat16Vector", + 104: "SparseFloatVector", } var DataType_value = map[string]int32{ - "None": 0, - "Bool": 1, - "Int8": 2, - "Int16": 3, - "Int32": 4, - "Int64": 5, - "Float": 10, - "Double": 11, - "String": 20, - "VarChar": 21, - "Array": 22, - "JSON": 23, - "BinaryVector": 100, - "FloatVector": 101, - "Float16Vector": 102, - "BFloat16Vector": 103, + "None": 0, + "Bool": 1, + "Int8": 2, + "Int16": 3, + "Int32": 4, + "Int64": 5, + "Float": 10, + "Double": 11, + "String": 20, + "VarChar": 21, + "Array": 22, + "JSON": 23, + "BinaryVector": 100, + "FloatVector": 101, + "Float16Vector": 102, + "BFloat16Vector": 103, + "SparseFloatVector": 104, } func (x DataType) String() string { @@ -122,7 +125,7 @@ func (FieldState) EnumDescriptor() ([]byte, []int) { return fileDescriptor_1c5fb4d8cc22d66a, []int{1} } -// * +//* // @brief Field schema type FieldSchema struct { FieldID int64 `protobuf:"varint,1,opt,name=fieldID,proto3" json:"fieldID,omitempty"` @@ -139,6 +142,7 @@ type FieldSchema struct { DefaultValue *ValueField `protobuf:"bytes,11,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` IsDynamic bool `protobuf:"varint,12,opt,name=is_dynamic,json=isDynamic,proto3" json:"is_dynamic,omitempty"` IsPartitionKey bool `protobuf:"varint,13,opt,name=is_partition_key,json=isPartitionKey,proto3" json:"is_partition_key,omitempty"` + IsClusteringKey bool `protobuf:"varint,14,opt,name=is_clustering_key,json=isClusteringKey,proto3" json:"is_clustering_key,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -260,17 +264,25 @@ func (m *FieldSchema) GetIsPartitionKey() bool { return false } -// * +func (m *FieldSchema) GetIsClusteringKey() bool { + if m != nil { + return m.IsClusteringKey + } + return false +} + +//* // @brief Collection schema type CollectionSchema struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - AutoID bool `protobuf:"varint,3,opt,name=autoID,proto3" json:"autoID,omitempty"` // Deprecated: Do not use. - Fields []*FieldSchema `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"` - EnableDynamicField bool `protobuf:"varint,5,opt,name=enable_dynamic_field,json=enableDynamicField,proto3" json:"enable_dynamic_field,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + AutoID bool `protobuf:"varint,3,opt,name=autoID,proto3" json:"autoID,omitempty"` // Deprecated: Do not use. + Fields []*FieldSchema `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"` + EnableDynamicField bool `protobuf:"varint,5,opt,name=enable_dynamic_field,json=enableDynamicField,proto3" json:"enable_dynamic_field,omitempty"` + Properties []*commonpb.KeyValuePair `protobuf:"bytes,6,rep,name=properties,proto3" json:"properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *CollectionSchema) Reset() { *m = CollectionSchema{} } @@ -334,6 +346,13 @@ func (m *CollectionSchema) GetEnableDynamicField() bool { return false } +func (m *CollectionSchema) GetProperties() []*commonpb.KeyValuePair { + if m != nil { + return m.Properties + } + return nil +} + type BoolArray struct { Data []bool `protobuf:"varint,1,rep,packed,name=data,proto3" json:"data,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -696,7 +715,6 @@ func (m *JSONArray) GetData() [][]byte { type ValueField struct { // Types that are valid to be assigned to Data: - // // *ValueField_BoolData // *ValueField_IntData // *ValueField_LongData @@ -852,7 +870,6 @@ func (*ValueField) XXX_OneofWrappers() []interface{} { type ScalarField struct { // Types that are valid to be assigned to Data: - // // *ScalarField_BoolData // *ScalarField_IntData // *ScalarField_LongData @@ -1036,14 +1053,64 @@ func (*ScalarField) XXX_OneofWrappers() []interface{} { } } +// beta, api may change +type SparseFloatArray struct { + Contents [][]byte `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` + // dim is the max dimension of the current batch of vectors + Dim int64 `protobuf:"varint,2,opt,name=dim,proto3" json:"dim,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SparseFloatArray) Reset() { *m = SparseFloatArray{} } +func (m *SparseFloatArray) String() string { return proto.CompactTextString(m) } +func (*SparseFloatArray) ProtoMessage() {} +func (*SparseFloatArray) Descriptor() ([]byte, []int) { + return fileDescriptor_1c5fb4d8cc22d66a, []int{13} +} + +func (m *SparseFloatArray) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SparseFloatArray.Unmarshal(m, b) +} +func (m *SparseFloatArray) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SparseFloatArray.Marshal(b, m, deterministic) +} +func (m *SparseFloatArray) XXX_Merge(src proto.Message) { + xxx_messageInfo_SparseFloatArray.Merge(m, src) +} +func (m *SparseFloatArray) XXX_Size() int { + return xxx_messageInfo_SparseFloatArray.Size(m) +} +func (m *SparseFloatArray) XXX_DiscardUnknown() { + xxx_messageInfo_SparseFloatArray.DiscardUnknown(m) +} + +var xxx_messageInfo_SparseFloatArray proto.InternalMessageInfo + +func (m *SparseFloatArray) GetContents() [][]byte { + if m != nil { + return m.Contents + } + return nil +} + +func (m *SparseFloatArray) GetDim() int64 { + if m != nil { + return m.Dim + } + return 0 +} + type VectorField struct { + // For sparse vector, dim is the max dimension of the current batch of vectors Dim int64 `protobuf:"varint,1,opt,name=dim,proto3" json:"dim,omitempty"` // Types that are valid to be assigned to Data: - // // *VectorField_FloatVector // *VectorField_BinaryVector // *VectorField_Float16Vector // *VectorField_Bfloat16Vector + // *VectorField_SparseFloatVector Data isVectorField_Data `protobuf_oneof:"data"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1054,7 +1121,7 @@ func (m *VectorField) Reset() { *m = VectorField{} } func (m *VectorField) String() string { return proto.CompactTextString(m) } func (*VectorField) ProtoMessage() {} func (*VectorField) Descriptor() ([]byte, []int) { - return fileDescriptor_1c5fb4d8cc22d66a, []int{13} + return fileDescriptor_1c5fb4d8cc22d66a, []int{14} } func (m *VectorField) XXX_Unmarshal(b []byte) error { @@ -1102,6 +1169,10 @@ type VectorField_Bfloat16Vector struct { Bfloat16Vector []byte `protobuf:"bytes,5,opt,name=bfloat16_vector,json=bfloat16Vector,proto3,oneof"` } +type VectorField_SparseFloatVector struct { + SparseFloatVector *SparseFloatArray `protobuf:"bytes,6,opt,name=sparse_float_vector,json=sparseFloatVector,proto3,oneof"` +} + func (*VectorField_FloatVector) isVectorField_Data() {} func (*VectorField_BinaryVector) isVectorField_Data() {} @@ -1110,6 +1181,8 @@ func (*VectorField_Float16Vector) isVectorField_Data() {} func (*VectorField_Bfloat16Vector) isVectorField_Data() {} +func (*VectorField_SparseFloatVector) isVectorField_Data() {} + func (m *VectorField) GetData() isVectorField_Data { if m != nil { return m.Data @@ -1145,6 +1218,13 @@ func (m *VectorField) GetBfloat16Vector() []byte { return nil } +func (m *VectorField) GetSparseFloatVector() *SparseFloatArray { + if x, ok := m.GetData().(*VectorField_SparseFloatVector); ok { + return x.SparseFloatVector + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*VectorField) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -1152,6 +1232,7 @@ func (*VectorField) XXX_OneofWrappers() []interface{} { (*VectorField_BinaryVector)(nil), (*VectorField_Float16Vector)(nil), (*VectorField_Bfloat16Vector)(nil), + (*VectorField_SparseFloatVector)(nil), } } @@ -1159,7 +1240,6 @@ type FieldData struct { Type DataType `protobuf:"varint,1,opt,name=type,proto3,enum=milvus.protov2.schema.DataType" json:"type,omitempty"` FieldName string `protobuf:"bytes,2,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` // Types that are valid to be assigned to Field: - // // *FieldData_Scalars // *FieldData_Vectors Field isFieldData_Field `protobuf_oneof:"field"` @@ -1174,7 +1254,7 @@ func (m *FieldData) Reset() { *m = FieldData{} } func (m *FieldData) String() string { return proto.CompactTextString(m) } func (*FieldData) ProtoMessage() {} func (*FieldData) Descriptor() ([]byte, []int) { - return fileDescriptor_1c5fb4d8cc22d66a, []int{14} + return fileDescriptor_1c5fb4d8cc22d66a, []int{15} } func (m *FieldData) XXX_Unmarshal(b []byte) error { @@ -1270,7 +1350,6 @@ func (*FieldData) XXX_OneofWrappers() []interface{} { type IDs struct { // Types that are valid to be assigned to IdField: - // // *IDs_IntId // *IDs_StrId IdField isIDs_IdField `protobuf_oneof:"id_field"` @@ -1283,7 +1362,7 @@ func (m *IDs) Reset() { *m = IDs{} } func (m *IDs) String() string { return proto.CompactTextString(m) } func (*IDs) ProtoMessage() {} func (*IDs) Descriptor() ([]byte, []int) { - return fileDescriptor_1c5fb4d8cc22d66a, []int{15} + return fileDescriptor_1c5fb4d8cc22d66a, []int{16} } func (m *IDs) XXX_Unmarshal(b []byte) error { @@ -1357,6 +1436,8 @@ type SearchResultData struct { Ids *IDs `protobuf:"bytes,5,opt,name=ids,proto3" json:"ids,omitempty"` Topks []int64 `protobuf:"varint,6,rep,packed,name=topks,proto3" json:"topks,omitempty"` OutputFields []string `protobuf:"bytes,7,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"` + GroupByFieldValue *FieldData `protobuf:"bytes,8,opt,name=group_by_field_value,json=groupByFieldValue,proto3" json:"group_by_field_value,omitempty"` + AllSearchCount int64 `protobuf:"varint,9,opt,name=all_search_count,json=allSearchCount,proto3" json:"all_search_count,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1366,7 +1447,7 @@ func (m *SearchResultData) Reset() { *m = SearchResultData{} } func (m *SearchResultData) String() string { return proto.CompactTextString(m) } func (*SearchResultData) ProtoMessage() {} func (*SearchResultData) Descriptor() ([]byte, []int) { - return fileDescriptor_1c5fb4d8cc22d66a, []int{16} + return fileDescriptor_1c5fb4d8cc22d66a, []int{17} } func (m *SearchResultData) XXX_Unmarshal(b []byte) error { @@ -1436,6 +1517,158 @@ func (m *SearchResultData) GetOutputFields() []string { return nil } +func (m *SearchResultData) GetGroupByFieldValue() *FieldData { + if m != nil { + return m.GroupByFieldValue + } + return nil +} + +func (m *SearchResultData) GetAllSearchCount() int64 { + if m != nil { + return m.AllSearchCount + } + return 0 +} + +// vector field clustering info +type VectorClusteringInfo struct { + // for multi vectors + Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` + Centroid *VectorField `protobuf:"bytes,2,opt,name=centroid,proto3" json:"centroid,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VectorClusteringInfo) Reset() { *m = VectorClusteringInfo{} } +func (m *VectorClusteringInfo) String() string { return proto.CompactTextString(m) } +func (*VectorClusteringInfo) ProtoMessage() {} +func (*VectorClusteringInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1c5fb4d8cc22d66a, []int{18} +} + +func (m *VectorClusteringInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_VectorClusteringInfo.Unmarshal(m, b) +} +func (m *VectorClusteringInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_VectorClusteringInfo.Marshal(b, m, deterministic) +} +func (m *VectorClusteringInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_VectorClusteringInfo.Merge(m, src) +} +func (m *VectorClusteringInfo) XXX_Size() int { + return xxx_messageInfo_VectorClusteringInfo.Size(m) +} +func (m *VectorClusteringInfo) XXX_DiscardUnknown() { + xxx_messageInfo_VectorClusteringInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_VectorClusteringInfo proto.InternalMessageInfo + +func (m *VectorClusteringInfo) GetField() string { + if m != nil { + return m.Field + } + return "" +} + +func (m *VectorClusteringInfo) GetCentroid() *VectorField { + if m != nil { + return m.Centroid + } + return nil +} + +// Scalar field clustering info +// todo more definitions: min/max, etc +type ScalarClusteringInfo struct { + Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ScalarClusteringInfo) Reset() { *m = ScalarClusteringInfo{} } +func (m *ScalarClusteringInfo) String() string { return proto.CompactTextString(m) } +func (*ScalarClusteringInfo) ProtoMessage() {} +func (*ScalarClusteringInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1c5fb4d8cc22d66a, []int{19} +} + +func (m *ScalarClusteringInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ScalarClusteringInfo.Unmarshal(m, b) +} +func (m *ScalarClusteringInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ScalarClusteringInfo.Marshal(b, m, deterministic) +} +func (m *ScalarClusteringInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ScalarClusteringInfo.Merge(m, src) +} +func (m *ScalarClusteringInfo) XXX_Size() int { + return xxx_messageInfo_ScalarClusteringInfo.Size(m) +} +func (m *ScalarClusteringInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ScalarClusteringInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ScalarClusteringInfo proto.InternalMessageInfo + +func (m *ScalarClusteringInfo) GetField() string { + if m != nil { + return m.Field + } + return "" +} + +// clustering distribution info of a certain data unit, it can be segment, partition, etc. +type ClusteringInfo struct { + VectorClusteringInfos []*VectorClusteringInfo `protobuf:"bytes,1,rep,name=vector_clustering_infos,json=vectorClusteringInfos,proto3" json:"vector_clustering_infos,omitempty"` + ScalarClusteringInfos []*ScalarClusteringInfo `protobuf:"bytes,2,rep,name=scalar_clustering_infos,json=scalarClusteringInfos,proto3" json:"scalar_clustering_infos,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ClusteringInfo) Reset() { *m = ClusteringInfo{} } +func (m *ClusteringInfo) String() string { return proto.CompactTextString(m) } +func (*ClusteringInfo) ProtoMessage() {} +func (*ClusteringInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1c5fb4d8cc22d66a, []int{20} +} + +func (m *ClusteringInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ClusteringInfo.Unmarshal(m, b) +} +func (m *ClusteringInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ClusteringInfo.Marshal(b, m, deterministic) +} +func (m *ClusteringInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClusteringInfo.Merge(m, src) +} +func (m *ClusteringInfo) XXX_Size() int { + return xxx_messageInfo_ClusteringInfo.Size(m) +} +func (m *ClusteringInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ClusteringInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ClusteringInfo proto.InternalMessageInfo + +func (m *ClusteringInfo) GetVectorClusteringInfos() []*VectorClusteringInfo { + if m != nil { + return m.VectorClusteringInfos + } + return nil +} + +func (m *ClusteringInfo) GetScalarClusteringInfos() []*ScalarClusteringInfo { + if m != nil { + return m.ScalarClusteringInfos + } + return nil +} + func init() { proto.RegisterEnum("milvus.protov2.schema.DataType", DataType_name, DataType_value) proto.RegisterEnum("milvus.protov2.schema.FieldState", FieldState_name, FieldState_value) @@ -1452,102 +1685,121 @@ func init() { proto.RegisterType((*JSONArray)(nil), "milvus.protov2.schema.JSONArray") proto.RegisterType((*ValueField)(nil), "milvus.protov2.schema.ValueField") proto.RegisterType((*ScalarField)(nil), "milvus.protov2.schema.ScalarField") + proto.RegisterType((*SparseFloatArray)(nil), "milvus.protov2.schema.SparseFloatArray") proto.RegisterType((*VectorField)(nil), "milvus.protov2.schema.VectorField") proto.RegisterType((*FieldData)(nil), "milvus.protov2.schema.FieldData") proto.RegisterType((*IDs)(nil), "milvus.protov2.schema.IDs") proto.RegisterType((*SearchResultData)(nil), "milvus.protov2.schema.SearchResultData") + proto.RegisterType((*VectorClusteringInfo)(nil), "milvus.protov2.schema.VectorClusteringInfo") + proto.RegisterType((*ScalarClusteringInfo)(nil), "milvus.protov2.schema.ScalarClusteringInfo") + proto.RegisterType((*ClusteringInfo)(nil), "milvus.protov2.schema.ClusteringInfo") } func init() { proto.RegisterFile("schema.proto", fileDescriptor_1c5fb4d8cc22d66a) } var fileDescriptor_1c5fb4d8cc22d66a = []byte{ - // 1406 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xdd, 0x72, 0x1b, 0xc5, - 0x12, 0xf6, 0x6a, 0xf5, 0xb3, 0xdb, 0x2b, 0x3b, 0x7b, 0xe6, 0x24, 0x39, 0x7b, 0x7c, 0x2a, 0xc7, - 0x8a, 0x02, 0x85, 0x48, 0x11, 0x9b, 0x38, 0x29, 0xf3, 0x97, 0x22, 0x15, 0x59, 0x31, 0x16, 0x86, - 0x60, 0xd6, 0x94, 0x2f, 0xb8, 0x51, 0x8d, 0xb4, 0x63, 0x79, 0xc8, 0x6a, 0x67, 0xd9, 0x1d, 0xb9, - 0xd0, 0x1b, 0x40, 0x15, 0x0f, 0x41, 0x71, 0xc9, 0xe3, 0x70, 0xc5, 0x33, 0x70, 0xc5, 0x0d, 0xc5, - 0x2d, 0x35, 0x3d, 0xb3, 0x92, 0x2c, 0x45, 0xc6, 0xb9, 0x9b, 0xe9, 0xf9, 0xba, 0x35, 0xdd, 0xdf, - 0xd7, 0xbd, 0x23, 0xa8, 0xe7, 0x83, 0x73, 0x36, 0xa2, 0xdb, 0x69, 0x26, 0xa4, 0x20, 0xb7, 0x46, - 0x3c, 0xbe, 0x18, 0xe7, 0x7a, 0x77, 0xb1, 0xbb, 0xad, 0x0f, 0x37, 0xeb, 0x03, 0x31, 0x1a, 0x89, - 0x44, 0x9b, 0x37, 0x1b, 0x43, 0x21, 0x86, 0x31, 0xdb, 0xc1, 0x5d, 0x7f, 0x7c, 0xb6, 0x13, 0xb1, - 0x7c, 0x90, 0xf1, 0x54, 0x8a, 0x4c, 0x23, 0x9a, 0x7f, 0x96, 0xc1, 0x3b, 0xe0, 0x2c, 0x8e, 0x4e, - 0xd0, 0x9f, 0x04, 0x50, 0x3b, 0x53, 0xdb, 0x6e, 0x27, 0xb0, 0x1a, 0x56, 0xcb, 0x0e, 0x8b, 0x2d, - 0x21, 0x50, 0x4e, 0xe8, 0x88, 0x05, 0xa5, 0x86, 0xd5, 0x72, 0x43, 0x5c, 0x93, 0x37, 0x60, 0x83, - 0xe7, 0xbd, 0x34, 0xe3, 0x23, 0x9a, 0x4d, 0x7a, 0x2f, 0xd9, 0x24, 0xb0, 0x1b, 0x56, 0xcb, 0x09, - 0xeb, 0x3c, 0x3f, 0xd6, 0xc6, 0x23, 0x36, 0x21, 0x0d, 0xf0, 0x8a, 0xdf, 0xe5, 0x22, 0x09, 0xca, - 0x18, 0x60, 0xde, 0x44, 0x9e, 0x80, 0x1b, 0x51, 0x49, 0x7b, 0x72, 0x92, 0xb2, 0xa0, 0xd2, 0xb0, - 0x5a, 0x1b, 0xbb, 0x5b, 0xdb, 0xaf, 0x4c, 0x70, 0xbb, 0x43, 0x25, 0xfd, 0x6a, 0x92, 0xb2, 0xd0, - 0x89, 0xcc, 0x8a, 0x74, 0xc0, 0x53, 0x8e, 0xbd, 0x94, 0x66, 0x74, 0x94, 0x07, 0xd5, 0x86, 0xdd, - 0xf2, 0x76, 0xef, 0x2d, 0xfa, 0x9b, 0xc2, 0x1c, 0xb1, 0xc9, 0x29, 0x8d, 0xc7, 0xec, 0x98, 0xf2, - 0x2c, 0x04, 0xe5, 0x77, 0x8c, 0x6e, 0xe4, 0x00, 0xea, 0x3c, 0x89, 0xd8, 0x77, 0x45, 0x98, 0xda, - 0xf5, 0xc3, 0x78, 0xe8, 0x68, 0xe2, 0xdc, 0x86, 0x2a, 0x1d, 0x4b, 0xd1, 0xed, 0x04, 0x0e, 0xd6, - 0xc2, 0xec, 0xc8, 0x7b, 0x50, 0xc9, 0x25, 0x95, 0x2c, 0x70, 0x31, 0xbf, 0xbb, 0x2b, 0xf2, 0xd3, - 0x64, 0x28, 0x60, 0xa8, 0xf1, 0xa4, 0x0d, 0x75, 0x16, 0xb3, 0x11, 0x4b, 0xa4, 0xae, 0x0f, 0x5c, - 0xaf, 0x3e, 0x9e, 0x71, 0xc2, 0x12, 0x1d, 0xc0, 0x7a, 0xc4, 0xce, 0xe8, 0x38, 0x96, 0xbd, 0x0b, - 0x75, 0xed, 0xc0, 0x6b, 0x58, 0x2d, 0x6f, 0xe5, 0x25, 0x30, 0x35, 0xbc, 0x49, 0x58, 0x37, 0x7e, - 0x68, 0x22, 0x77, 0x00, 0x78, 0xde, 0x8b, 0x26, 0x09, 0x1d, 0xf1, 0x41, 0x50, 0xc7, 0x04, 0x5d, - 0x9e, 0x77, 0xb4, 0x81, 0xb4, 0xc0, 0x57, 0x7a, 0xa0, 0x99, 0xe4, 0x8a, 0x57, 0x54, 0xc4, 0x3a, - 0x82, 0x36, 0x78, 0x7e, 0x5c, 0x98, 0x8f, 0xd8, 0xa4, 0xf9, 0xab, 0x05, 0xfe, 0xbe, 0x88, 0x63, - 0x36, 0x50, 0x16, 0x23, 0xbe, 0x42, 0x62, 0xd6, 0x9c, 0xc4, 0x16, 0xc4, 0x53, 0x5a, 0x16, 0xcf, - 0xe6, 0xb4, 0xe0, 0x28, 0xbe, 0x76, 0x29, 0xb0, 0xa6, 0x45, 0xff, 0x10, 0xaa, 0xa8, 0xdf, 0x3c, - 0x28, 0x23, 0x9d, 0xcd, 0x2b, 0xab, 0x8e, 0xeb, 0xd0, 0x78, 0x90, 0x77, 0xe1, 0x26, 0x4b, 0x68, - 0x3f, 0x66, 0x45, 0xbe, 0x3d, 0x3c, 0x40, 0x7d, 0x3a, 0x21, 0xd1, 0x67, 0x26, 0x73, 0xf4, 0x6f, - 0x6e, 0x81, 0xdb, 0x16, 0x22, 0x7e, 0x96, 0x65, 0x74, 0xa2, 0x92, 0x51, 0x0a, 0x0d, 0xac, 0x86, - 0xdd, 0x72, 0x42, 0x5c, 0x37, 0xff, 0x0f, 0x4e, 0x37, 0x91, 0xcb, 0xe7, 0x15, 0x73, 0xbe, 0x05, - 0xee, 0x67, 0x22, 0x19, 0x2e, 0x03, 0x6c, 0x03, 0x68, 0x00, 0x1c, 0xc4, 0x82, 0xbe, 0x22, 0x44, - 0xc9, 0x20, 0xee, 0x82, 0xd7, 0x11, 0xe3, 0x7e, 0xcc, 0x96, 0x21, 0xd6, 0x2c, 0x48, 0x7b, 0x22, - 0x59, 0xbe, 0x8c, 0xa8, 0xcf, 0x82, 0x9c, 0xc8, 0x8c, 0xbf, 0xea, 0x26, 0xae, 0x81, 0x7c, 0x6f, - 0x01, 0xe0, 0xa9, 0x86, 0xec, 0xcd, 0x41, 0x56, 0x97, 0xf9, 0x64, 0x40, 0x63, 0x9a, 0x69, 0x61, - 0x21, 0x7e, 0x49, 0xdc, 0xa5, 0xd7, 0x17, 0xb7, 0xaa, 0xda, 0xa7, 0x27, 0x5f, 0xbc, 0x58, 0x9d, - 0xce, 0x5f, 0x16, 0xc0, 0x4c, 0xd2, 0xe4, 0x0e, 0xb8, 0x7d, 0x21, 0xe2, 0x9e, 0xc1, 0x59, 0x2d, - 0xe7, 0x70, 0x2d, 0x74, 0x94, 0x49, 0xc5, 0x27, 0xff, 0x03, 0x87, 0x27, 0x52, 0x9f, 0xaa, 0xeb, - 0x54, 0x0e, 0xd7, 0xc2, 0x1a, 0x4f, 0x24, 0x1e, 0xde, 0x01, 0x37, 0x16, 0xc9, 0x50, 0x9f, 0x2a, - 0xbd, 0xd9, 0xca, 0x57, 0x99, 0xf0, 0x78, 0x0b, 0xe0, 0x4c, 0xf1, 0xa3, 0xcf, 0xd5, 0xa4, 0x2b, - 0x1d, 0xae, 0x85, 0x2e, 0xda, 0x10, 0x70, 0x17, 0xbc, 0x08, 0xe9, 0xd1, 0x08, 0xa5, 0x25, 0xeb, - 0x70, 0x2d, 0x04, 0x6d, 0x2c, 0x20, 0x39, 0x16, 0x5f, 0x43, 0xaa, 0x4a, 0xf1, 0x0a, 0xa2, 0x8d, - 0xc5, 0xcf, 0xf4, 0x15, 0x83, 0x1a, 0x51, 0x6b, 0x58, 0xad, 0xba, 0xfa, 0x19, 0xb4, 0x29, 0x40, - 0xbb, 0xaa, 0xab, 0xd0, 0xfc, 0xa3, 0x0c, 0xde, 0x5c, 0xd1, 0xc9, 0xd3, 0xc5, 0xd4, 0xbd, 0xdd, - 0xc6, 0x8a, 0x5a, 0x4f, 0x95, 0x7c, 0xa9, 0x38, 0x4f, 0x16, 0x8a, 0xe3, 0xad, 0xe4, 0xaa, 0x10, - 0xfa, 0x7c, 0xf5, 0x9e, 0x2e, 0x56, 0x6f, 0xf5, 0xcf, 0x4f, 0xfb, 0xe0, 0x52, 0x7d, 0xdb, 0x4b, - 0xf5, 0x5d, 0x3d, 0xc4, 0x66, 0x8d, 0x72, 0x99, 0x82, 0xe7, 0xcb, 0x14, 0xac, 0x56, 0xec, 0x5c, - 0x2f, 0x2d, 0xd0, 0xf4, 0x7c, 0x99, 0xa6, 0x2b, 0x84, 0x3f, 0xeb, 0xa6, 0x05, 0x2a, 0xdb, 0x4b, - 0x54, 0xae, 0xce, 0x68, 0xd6, 0xb5, 0x97, 0xd8, 0x56, 0x31, 0xa8, 0xb2, 0xea, 0x18, 0xce, 0x95, - 0x31, 0x66, 0x3d, 0xab, 0x62, 0xa0, 0x5b, 0x41, 0xcd, 0x37, 0xb9, 0x48, 0x74, 0x08, 0xf7, 0x4a, - 0x6a, 0xa6, 0xcd, 0xa6, 0xa8, 0x51, 0x4e, 0x97, 0x24, 0xf7, 0xbb, 0x05, 0xde, 0x29, 0x1b, 0x48, - 0x61, 0x24, 0xe7, 0x83, 0x1d, 0xf1, 0x91, 0x79, 0x4d, 0xa8, 0xa5, 0xfa, 0xd2, 0x6a, 0x12, 0x2f, - 0x10, 0x66, 0x74, 0x74, 0x2d, 0x1a, 0x3d, 0x74, 0xd4, 0xe1, 0xc9, 0x9b, 0xb0, 0xde, 0xe7, 0x89, - 0x7a, 0x79, 0x98, 0x40, 0xb6, 0x69, 0x84, 0xba, 0x36, 0x1b, 0xd8, 0x5b, 0xb0, 0x81, 0x5e, 0x0f, - 0xf7, 0x0a, 0x5c, 0xd9, 0xe0, 0xd6, 0x8d, 0xdd, 0x00, 0xdf, 0x86, 0x1b, 0xfd, 0x05, 0x64, 0xc5, - 0x20, 0x37, 0xfa, 0x97, 0xa0, 0xd3, 0x64, 0x7f, 0x2e, 0x81, 0x8b, 0x69, 0x62, 0x0d, 0x1f, 0x41, - 0x19, 0x87, 0x98, 0x75, 0xbd, 0x21, 0x86, 0x60, 0xf5, 0x49, 0xc5, 0xef, 0x4a, 0x6f, 0xee, 0x75, - 0xe5, 0xa2, 0xe5, 0x85, 0xfa, 0xfe, 0x7d, 0x0c, 0xb5, 0x1c, 0x1b, 0x38, 0x37, 0x0d, 0x73, 0x8d, - 0xd9, 0xaa, 0x5a, 0xce, 0x38, 0x29, 0x7f, 0x9d, 0x4b, 0x6e, 0xda, 0x65, 0x95, 0xff, 0x1c, 0x67, - 0xca, 0xdf, 0x38, 0x91, 0xff, 0x82, 0xa3, 0xaf, 0xc7, 0xf5, 0x97, 0x6f, 0xfa, 0x22, 0x8c, 0x16, - 0x1e, 0x03, 0xd5, 0x85, 0xc7, 0x40, 0xbb, 0x06, 0x15, 0x44, 0x36, 0x7f, 0xb0, 0xc0, 0xee, 0x76, - 0x72, 0xf2, 0x01, 0x54, 0xd5, 0xec, 0xe0, 0xd1, 0x3f, 0x4c, 0x9e, 0xf9, 0xd6, 0xaf, 0xf0, 0x44, - 0x76, 0x23, 0xf2, 0x11, 0x54, 0x73, 0x99, 0x29, 0xd7, 0xd2, 0x6b, 0xf4, 0x59, 0x25, 0x97, 0x59, - 0x37, 0x6a, 0x03, 0x38, 0x3c, 0xd2, 0x1f, 0xef, 0xe6, 0x8f, 0x25, 0xf0, 0x4f, 0x18, 0xcd, 0x06, - 0xe7, 0x21, 0xcb, 0xc7, 0xb1, 0x34, 0xe3, 0xd4, 0x4b, 0xc6, 0xa3, 0xde, 0xb7, 0x63, 0x96, 0x71, - 0x96, 0x1b, 0xa9, 0x42, 0x32, 0x1e, 0x7d, 0xa9, 0x2d, 0xe4, 0xdf, 0x50, 0x91, 0x22, 0xed, 0xbd, - 0xc4, 0x5f, 0xb7, 0xc3, 0xb2, 0x14, 0xe9, 0x11, 0x79, 0x06, 0x9e, 0x7e, 0x29, 0x14, 0xe3, 0xcc, - 0xbe, 0x22, 0xa7, 0xa9, 0x48, 0x42, 0xcd, 0xb6, 0x6e, 0xdc, 0xdb, 0x50, 0xcd, 0x07, 0x22, 0x63, - 0xfa, 0x79, 0x52, 0x0a, 0xcd, 0x8e, 0xbc, 0x03, 0x36, 0x8f, 0x72, 0x33, 0x9a, 0x36, 0x57, 0x0d, - 0xd8, 0x4e, 0x1e, 0x2a, 0x18, 0xb9, 0x89, 0xb7, 0x7b, 0xa9, 0x5f, 0xbe, 0x76, 0xa8, 0x37, 0xe4, - 0x1e, 0xac, 0x8b, 0xb1, 0x4c, 0xc7, 0xb2, 0x67, 0x5e, 0x40, 0x35, 0xfc, 0x7a, 0xd7, 0xb5, 0x11, - 0xef, 0x93, 0xdf, 0xff, 0xcd, 0x02, 0xa7, 0xd0, 0x23, 0x71, 0xa0, 0xfc, 0x42, 0x24, 0xcc, 0x5f, - 0x53, 0x2b, 0x35, 0xfe, 0x7d, 0x4b, 0xad, 0xba, 0x89, 0x7c, 0xdf, 0x2f, 0x11, 0x17, 0x2a, 0xdd, - 0x44, 0x3e, 0xdc, 0xf3, 0x6d, 0xb3, 0x7c, 0xb4, 0xeb, 0x97, 0xcd, 0x72, 0xef, 0xb1, 0x5f, 0x51, - 0x4b, 0xec, 0x55, 0x1f, 0x08, 0x40, 0x55, 0x0f, 0x4e, 0xdf, 0x53, 0x6b, 0xcd, 0x8a, 0x7f, 0x93, - 0x78, 0x50, 0x3b, 0xa5, 0xd9, 0xfe, 0x39, 0xcd, 0xfc, 0x5b, 0x0a, 0x8f, 0x44, 0xf9, 0xb7, 0xd5, - 0xaf, 0xa8, 0xa1, 0xe2, 0xff, 0x87, 0xf8, 0x50, 0x6f, 0xcf, 0x35, 0xaf, 0x1f, 0x91, 0x1b, 0xe0, - 0x1d, 0xcc, 0x9a, 0xde, 0x67, 0xe4, 0x5f, 0xb0, 0x7e, 0x30, 0xdf, 0x8c, 0xfe, 0x19, 0x21, 0xb0, - 0xd1, 0xbe, 0x6c, 0x1b, 0xde, 0x3f, 0x05, 0x98, 0xbd, 0xa5, 0x55, 0x5c, 0xdc, 0xed, 0x67, 0x8c, - 0x4a, 0x16, 0xf9, 0x6b, 0x18, 0x66, 0x6a, 0x51, 0xd7, 0xb3, 0xa6, 0xa6, 0x4e, 0x26, 0xd2, 0x54, - 0x99, 0x4a, 0x53, 0x3f, 0x34, 0xb1, 0xc8, 0xb7, 0xdb, 0x23, 0xd8, 0xe0, 0xa2, 0xa0, 0x64, 0x98, - 0xa5, 0x83, 0xb6, 0xa7, 0x1f, 0x8e, 0xc7, 0x8a, 0x9e, 0x63, 0xeb, 0xeb, 0xc7, 0x43, 0x2e, 0xcf, - 0xc7, 0x7d, 0xf5, 0x4f, 0x61, 0x47, 0xc3, 0x1e, 0x70, 0x51, 0xac, 0x90, 0xc3, 0x9d, 0xa1, 0x78, - 0x40, 0x53, 0xbe, 0x73, 0xb1, 0xbb, 0xa3, 0xb9, 0x4c, 0xfb, 0x3f, 0x59, 0xd6, 0x2f, 0x25, 0xf2, - 0xb9, 0x8e, 0xba, 0x1f, 0x73, 0x96, 0xc8, 0xed, 0x4f, 0xb2, 0x74, 0xd0, 0xaf, 0xa2, 0xc7, 0xa3, - 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xea, 0x9a, 0x20, 0xc6, 0xfe, 0x0d, 0x00, 0x00, + // 1644 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0xdb, 0x72, 0x1b, 0x45, + 0x13, 0xf6, 0x6a, 0x75, 0x58, 0xf5, 0xca, 0xca, 0x7a, 0x62, 0x27, 0xfa, 0xfd, 0x57, 0x7e, 0x2b, + 0xca, 0x4f, 0x45, 0x84, 0xc4, 0x26, 0x4e, 0xca, 0x9c, 0x52, 0x09, 0x91, 0x15, 0x63, 0x61, 0x08, + 0xce, 0x9a, 0x72, 0x15, 0xdc, 0x6c, 0xad, 0x76, 0xc7, 0xf2, 0x90, 0xd5, 0xce, 0xb2, 0x33, 0xeb, + 0x42, 0x6f, 0x00, 0x4f, 0xc0, 0x2d, 0x70, 0xc9, 0x7b, 0xf0, 0x12, 0xbc, 0x04, 0xdc, 0x71, 0x4b, + 0xcd, 0x41, 0x67, 0x4b, 0x71, 0xee, 0x66, 0x7a, 0xbe, 0xee, 0x99, 0xee, 0xfe, 0xba, 0xb7, 0x17, + 0x2a, 0x2c, 0x38, 0xc7, 0x7d, 0x7f, 0x3b, 0x49, 0x29, 0xa7, 0x68, 0xa3, 0x4f, 0xa2, 0x8b, 0x8c, + 0xa9, 0xdd, 0xc5, 0xee, 0xb6, 0x3a, 0xdc, 0xac, 0x04, 0xb4, 0xdf, 0xa7, 0xb1, 0x12, 0x6f, 0xd6, + 0x7b, 0x94, 0xf6, 0x22, 0xbc, 0x23, 0x77, 0xdd, 0xec, 0x6c, 0x27, 0xc4, 0x2c, 0x48, 0x49, 0xc2, + 0x69, 0xaa, 0x10, 0x8d, 0x5f, 0x0b, 0x60, 0x1f, 0x10, 0x1c, 0x85, 0x27, 0x52, 0x1f, 0xd5, 0xa0, + 0x74, 0x26, 0xb6, 0x9d, 0x76, 0xcd, 0xa8, 0x1b, 0x4d, 0xd3, 0x1d, 0x6e, 0x11, 0x82, 0x7c, 0xec, + 0xf7, 0x71, 0x2d, 0x57, 0x37, 0x9a, 0x65, 0x57, 0xae, 0xd1, 0xff, 0xa1, 0x4a, 0x98, 0x97, 0xa4, + 0xa4, 0xef, 0xa7, 0x03, 0xef, 0x35, 0x1e, 0xd4, 0xcc, 0xba, 0xd1, 0xb4, 0xdc, 0x0a, 0x61, 0xc7, + 0x4a, 0x78, 0x84, 0x07, 0xa8, 0x0e, 0xf6, 0xf0, 0x5e, 0x42, 0xe3, 0x5a, 0x5e, 0x1a, 0x98, 0x14, + 0xa1, 0x27, 0x50, 0x0e, 0x7d, 0xee, 0x7b, 0x7c, 0x90, 0xe0, 0x5a, 0xa1, 0x6e, 0x34, 0xab, 0xbb, + 0x5b, 0xdb, 0x97, 0x3a, 0xb8, 0xdd, 0xf6, 0xb9, 0xff, 0xf5, 0x20, 0xc1, 0xae, 0x15, 0xea, 0x15, + 0x6a, 0x83, 0x2d, 0x14, 0xbd, 0xc4, 0x4f, 0xfd, 0x3e, 0xab, 0x15, 0xeb, 0x66, 0xd3, 0xde, 0xbd, + 0x33, 0xab, 0xaf, 0x03, 0x73, 0x84, 0x07, 0xa7, 0x7e, 0x94, 0xe1, 0x63, 0x9f, 0xa4, 0x2e, 0x08, + 0xbd, 0x63, 0xa9, 0x86, 0x0e, 0xa0, 0x42, 0xe2, 0x10, 0xff, 0x30, 0x34, 0x53, 0xba, 0xba, 0x19, + 0x5b, 0x2a, 0x6a, 0x3b, 0x37, 0xa0, 0xe8, 0x67, 0x9c, 0x76, 0xda, 0x35, 0x4b, 0xc6, 0x42, 0xef, + 0xd0, 0x07, 0x50, 0x60, 0xdc, 0xe7, 0xb8, 0x56, 0x96, 0xfe, 0xdd, 0x5e, 0xe0, 0x9f, 0x4a, 0x86, + 0x00, 0xba, 0x0a, 0x8f, 0x5a, 0x50, 0xc1, 0x11, 0xee, 0xe3, 0x98, 0xab, 0xf8, 0xc0, 0xd5, 0xe2, + 0x63, 0x6b, 0x25, 0x19, 0xa2, 0x03, 0x58, 0x0d, 0xf1, 0x99, 0x9f, 0x45, 0xdc, 0xbb, 0x10, 0xcf, + 0xae, 0xd9, 0x75, 0xa3, 0x69, 0x2f, 0x7c, 0x84, 0x74, 0x4d, 0xbe, 0xc4, 0xad, 0x68, 0x3d, 0x29, + 0x42, 0xb7, 0x00, 0x08, 0xf3, 0xc2, 0x41, 0xec, 0xf7, 0x49, 0x50, 0xab, 0x48, 0x07, 0xcb, 0x84, + 0xb5, 0x95, 0x00, 0x35, 0xc1, 0x11, 0x7c, 0xf0, 0x53, 0x4e, 0x44, 0x5e, 0x25, 0x23, 0x56, 0x25, + 0xa8, 0x4a, 0xd8, 0xf1, 0x50, 0x2c, 0x38, 0x71, 0x0f, 0xd6, 0x08, 0xf3, 0x82, 0x28, 0x63, 0x1c, + 0xa7, 0x24, 0xee, 0x49, 0x68, 0x55, 0x42, 0xaf, 0x11, 0xb6, 0x3f, 0x92, 0x1f, 0xe1, 0x41, 0xe3, + 0xe7, 0x1c, 0x38, 0xfb, 0x34, 0x8a, 0x70, 0x20, 0xb4, 0x35, 0x51, 0x87, 0x74, 0x34, 0x26, 0xe8, + 0x38, 0x43, 0xb4, 0xdc, 0x3c, 0xd1, 0x36, 0x47, 0xc9, 0x91, 0x44, 0x6d, 0xe5, 0x6a, 0xc6, 0x28, + 0x41, 0x1f, 0x43, 0x51, 0x72, 0x9d, 0xd5, 0xf2, 0x32, 0xf5, 0x8d, 0xa5, 0x19, 0x92, 0x6b, 0x57, + 0x6b, 0xa0, 0xf7, 0x61, 0x1d, 0xc7, 0x7e, 0x37, 0xc2, 0xc3, 0xd8, 0x78, 0xf2, 0x40, 0x72, 0xd9, + 0x72, 0x91, 0x3a, 0xd3, 0x51, 0x92, 0xfa, 0x68, 0x1f, 0x20, 0x49, 0x69, 0x82, 0x53, 0x4e, 0xf0, + 0xdb, 0x71, 0x76, 0xac, 0xd6, 0xd8, 0x82, 0x72, 0x8b, 0xd2, 0xe8, 0x79, 0x9a, 0xfa, 0x03, 0x11, + 0x11, 0x51, 0x12, 0x35, 0xa3, 0x6e, 0x36, 0x2d, 0x57, 0xae, 0x1b, 0xff, 0x03, 0xab, 0x13, 0xf3, + 0xf9, 0xf3, 0x82, 0x3e, 0xdf, 0x82, 0xf2, 0x17, 0x34, 0xee, 0xcd, 0x03, 0x4c, 0x0d, 0xa8, 0x03, + 0x1c, 0x44, 0xd4, 0xbf, 0xc4, 0x44, 0x4e, 0x23, 0x6e, 0x83, 0xdd, 0xa6, 0x59, 0x37, 0xc2, 0xf3, + 0x10, 0x63, 0x6c, 0xa4, 0x35, 0xe0, 0x98, 0xcd, 0x23, 0x2a, 0x63, 0x23, 0x27, 0x5c, 0xe4, 0x7b, + 0x1e, 0x52, 0xd6, 0x90, 0x1f, 0x0d, 0x00, 0x79, 0xaa, 0x20, 0x7b, 0x13, 0x90, 0xc5, 0xb9, 0x3a, + 0x09, 0xfc, 0xc8, 0x4f, 0x15, 0x93, 0x25, 0x7e, 0xae, 0x9a, 0x72, 0x6f, 0x5f, 0x4d, 0x22, 0x6a, + 0x9f, 0x9f, 0x7c, 0xf5, 0x72, 0xb1, 0x3b, 0xff, 0x18, 0x00, 0xe3, 0x1a, 0x42, 0xb7, 0xa0, 0xdc, + 0xa5, 0x34, 0xf2, 0x34, 0xce, 0x68, 0x5a, 0x87, 0x2b, 0xae, 0x25, 0x44, 0xc2, 0x3e, 0xfa, 0x2f, + 0x58, 0x24, 0xe6, 0xea, 0x54, 0x3c, 0xa7, 0x70, 0xb8, 0xe2, 0x96, 0x48, 0xcc, 0xe5, 0xe1, 0x2d, + 0x28, 0x47, 0x34, 0xee, 0xa9, 0x53, 0x41, 0x5a, 0x53, 0xe8, 0x0a, 0x91, 0x3c, 0xde, 0x02, 0x38, + 0x13, 0xf9, 0x51, 0xe7, 0xa2, 0xb5, 0xe6, 0x0e, 0x57, 0xdc, 0xb2, 0x94, 0x49, 0xc0, 0x6d, 0xb0, + 0x43, 0x99, 0x1e, 0x85, 0x10, 0x84, 0x34, 0x0e, 0x57, 0x5c, 0x50, 0xc2, 0x21, 0x84, 0xc9, 0xe0, + 0x2b, 0x48, 0x51, 0x94, 0x8d, 0x80, 0x28, 0xe1, 0xf0, 0x9a, 0xae, 0xc8, 0xa0, 0x42, 0x94, 0xea, + 0x46, 0xb3, 0x22, 0xae, 0x91, 0x32, 0x01, 0x68, 0x15, 0x55, 0x14, 0x1a, 0x7f, 0xe7, 0xc1, 0x9e, + 0x08, 0x3a, 0x7a, 0x36, 0xeb, 0xba, 0xbd, 0x5b, 0x5f, 0x10, 0xeb, 0x11, 0x93, 0xa7, 0x82, 0xf3, + 0x64, 0x26, 0x38, 0xf6, 0xc2, 0x5c, 0x0d, 0x89, 0x3e, 0x19, 0xbd, 0x67, 0xb3, 0xd1, 0x5b, 0x7c, + 0xfd, 0xa8, 0x0e, 0xa6, 0xe2, 0xdb, 0x9a, 0x8b, 0xef, 0xe2, 0xae, 0x39, 0x2e, 0x94, 0xe9, 0x14, + 0xbc, 0x98, 0x4f, 0xc1, 0x62, 0xc6, 0x4e, 0xd4, 0xd2, 0x4c, 0x9a, 0x5e, 0xcc, 0xa7, 0x69, 0x09, + 0xf1, 0xc7, 0xd5, 0x34, 0x93, 0xca, 0xd6, 0x5c, 0x2a, 0x17, 0x7b, 0x34, 0xae, 0xda, 0xa9, 0x6c, + 0x0b, 0x1b, 0xbe, 0x90, 0x2a, 0x1b, 0xd6, 0x52, 0x1b, 0xe3, 0x9a, 0x15, 0x36, 0xa4, 0xda, 0x30, + 0x35, 0xdf, 0x31, 0x1a, 0x2b, 0x13, 0xe5, 0xa5, 0xa9, 0x19, 0x15, 0x9b, 0x48, 0x8d, 0x50, 0x9a, + 0xa2, 0xdc, 0xa7, 0xe0, 0x9c, 0x24, 0x7e, 0xca, 0xf0, 0x44, 0xa3, 0xda, 0x04, 0x2b, 0xa0, 0x31, + 0xc7, 0x31, 0x67, 0xba, 0x30, 0x47, 0x7b, 0xe4, 0x80, 0x19, 0x92, 0xbe, 0x24, 0x93, 0xe9, 0x8a, + 0x65, 0xe3, 0x8f, 0x1c, 0xd8, 0xa7, 0x38, 0xe0, 0x54, 0x93, 0x56, 0x23, 0x8c, 0x11, 0x42, 0x0c, + 0x07, 0x8a, 0x06, 0x17, 0x12, 0xa6, 0x99, 0x78, 0x25, 0x22, 0xd8, 0x52, 0x51, 0x99, 0x47, 0xef, + 0xc0, 0x6a, 0x97, 0xc4, 0x62, 0x58, 0xd2, 0x86, 0x4c, 0x5d, 0x4a, 0x15, 0x25, 0xd6, 0xb0, 0xbb, + 0x50, 0x95, 0x5a, 0x0f, 0xf7, 0x86, 0xb8, 0xbc, 0xc6, 0xad, 0x6a, 0xb9, 0x06, 0xbe, 0x0b, 0xd7, + 0xba, 0x33, 0xc8, 0x82, 0x46, 0x56, 0xbb, 0xd3, 0xd0, 0x6f, 0xe0, 0x3a, 0x93, 0x61, 0xf2, 0xa6, + 0x3c, 0x51, 0x34, 0xba, 0xbb, 0x88, 0x46, 0x33, 0x81, 0x3d, 0x5c, 0x71, 0xd7, 0xd8, 0x58, 0xa6, + 0x4c, 0x8f, 0x32, 0xf1, 0x5b, 0x0e, 0xca, 0x32, 0x82, 0x32, 0xc1, 0x8f, 0x20, 0x2f, 0x3b, 0xac, + 0x71, 0xb5, 0x0e, 0x2b, 0xc1, 0x62, 0xc0, 0x90, 0x5f, 0x4e, 0x6f, 0x62, 0xd6, 0x2c, 0x4b, 0xc9, + 0x4b, 0xf1, 0x85, 0x7f, 0x0a, 0x25, 0x26, 0xbb, 0x0b, 0xd3, 0xd5, 0x7c, 0x85, 0xc6, 0x2f, 0xfa, + 0x81, 0x56, 0x12, 0xfa, 0xca, 0x6f, 0xa6, 0x6b, 0x79, 0x91, 0xfe, 0x04, 0x1d, 0x84, 0xbe, 0x56, + 0x42, 0xff, 0x01, 0x4b, 0x3d, 0x8f, 0xa8, 0x6f, 0xfb, 0x68, 0x3e, 0x0e, 0x67, 0x46, 0xa3, 0xe2, + 0xcc, 0x68, 0xd4, 0x2a, 0x41, 0x41, 0x22, 0x1b, 0x3f, 0x19, 0x60, 0x76, 0xda, 0x0c, 0x7d, 0x04, + 0x45, 0xd1, 0xd8, 0x48, 0xf8, 0x86, 0xb6, 0x38, 0xd9, 0x97, 0x0a, 0x24, 0xe6, 0x9d, 0x10, 0x7d, + 0x02, 0x45, 0xc6, 0x53, 0xa1, 0x9a, 0x7b, 0x8b, 0x26, 0x50, 0x60, 0x3c, 0xed, 0x84, 0x2d, 0x00, + 0x8b, 0x84, 0x9e, 0x7e, 0x8b, 0x09, 0xce, 0x09, 0xf6, 0xd3, 0xe0, 0xdc, 0xc5, 0x2c, 0x8b, 0xb8, + 0xee, 0xf5, 0x76, 0x9c, 0xf5, 0xbd, 0xef, 0x33, 0x9c, 0x8a, 0xd1, 0x44, 0x55, 0x01, 0xc4, 0x59, + 0xff, 0x95, 0x92, 0xa0, 0xeb, 0x50, 0xe0, 0x34, 0xf1, 0x5e, 0xeb, 0x12, 0xca, 0x73, 0x9a, 0x1c, + 0xa1, 0xe7, 0x60, 0xab, 0x59, 0x68, 0xd8, 0x6b, 0xcd, 0x25, 0x3e, 0x8d, 0x48, 0xe2, 0xaa, 0x6c, + 0xab, 0xae, 0x72, 0x03, 0x8a, 0x2c, 0xa0, 0x29, 0x56, 0x03, 0x58, 0xce, 0xd5, 0x3b, 0x74, 0x1f, + 0x4c, 0x12, 0x32, 0xdd, 0x37, 0x37, 0x17, 0x75, 0xff, 0x36, 0x73, 0x05, 0x0c, 0xad, 0xcb, 0xd7, + 0xbd, 0x56, 0x33, 0x95, 0xe9, 0xaa, 0x0d, 0xba, 0x03, 0xab, 0x34, 0xe3, 0x49, 0xc6, 0x3d, 0x3d, + 0xe3, 0x95, 0xe4, 0x68, 0x51, 0x51, 0xc2, 0x03, 0x35, 0xc5, 0xbd, 0x82, 0xf5, 0x5e, 0x4a, 0xb3, + 0xc4, 0xeb, 0x0e, 0x14, 0x4c, 0x0f, 0xcb, 0xd6, 0xd2, 0x04, 0x8d, 0x9d, 0x59, 0x93, 0xda, 0xad, + 0x81, 0x94, 0xa8, 0x81, 0xb9, 0x09, 0x8e, 0x1f, 0x45, 0x1e, 0x93, 0x41, 0xf6, 0x02, 0x9a, 0xc5, + 0x5c, 0x36, 0x3b, 0xd3, 0xad, 0xfa, 0x51, 0xa4, 0x62, 0xbf, 0x2f, 0xa4, 0x8d, 0x08, 0xd6, 0x15, + 0xe9, 0xc6, 0xc3, 0x6f, 0x27, 0x3e, 0xa3, 0xc2, 0x1f, 0x35, 0x4b, 0xaa, 0x49, 0x57, 0x6d, 0xd0, + 0x53, 0xb0, 0x02, 0x1c, 0xf3, 0x94, 0xbe, 0x91, 0x04, 0x13, 0x4c, 0x76, 0x47, 0x3a, 0x8d, 0xfb, + 0xb0, 0xae, 0x4a, 0xe4, 0x2a, 0xb7, 0x35, 0xfe, 0x34, 0xa0, 0x3a, 0x03, 0x0c, 0xe0, 0xa6, 0x2a, + 0x8a, 0xc9, 0x21, 0x9e, 0xc4, 0x67, 0x94, 0xe9, 0x91, 0xec, 0xbd, 0xa5, 0xef, 0x99, 0xb6, 0xe6, + 0x6e, 0x5c, 0x5c, 0x22, 0x65, 0xe2, 0x12, 0x55, 0xb9, 0xf3, 0x97, 0xe4, 0x96, 0x5e, 0x72, 0x99, + 0x6f, 0xee, 0x06, 0xbb, 0x44, 0xca, 0xee, 0xfd, 0x65, 0x80, 0x35, 0xec, 0x42, 0xc8, 0x82, 0xfc, + 0x4b, 0x1a, 0x63, 0x67, 0x45, 0xac, 0xc4, 0x44, 0xe2, 0x18, 0x62, 0xd5, 0x89, 0xf9, 0x87, 0x4e, + 0x0e, 0x95, 0xa1, 0xd0, 0x89, 0xf9, 0xc3, 0x3d, 0xc7, 0xd4, 0xcb, 0x47, 0xbb, 0x4e, 0x5e, 0x2f, + 0xf7, 0x1e, 0x3b, 0x05, 0xb1, 0x94, 0x8d, 0xd1, 0x01, 0x04, 0x50, 0x54, 0xdf, 0x72, 0xc7, 0x16, + 0x6b, 0x55, 0x8b, 0xce, 0x3a, 0xb2, 0xa1, 0x74, 0xea, 0xa7, 0xfb, 0xe7, 0x7e, 0xea, 0x6c, 0x08, + 0xbc, 0x2c, 0x4f, 0xe7, 0x86, 0xb8, 0x45, 0x7c, 0xe7, 0x9c, 0x9b, 0xc8, 0x81, 0x4a, 0x6b, 0xe2, + 0x6b, 0xe0, 0x84, 0xe8, 0x1a, 0xd8, 0x13, 0xfd, 0xd6, 0xc1, 0x68, 0x0d, 0x56, 0x0f, 0x26, 0xbb, + 0xbb, 0x73, 0x86, 0x10, 0x54, 0x5b, 0xd3, 0xb2, 0x1e, 0xda, 0x80, 0xb5, 0x93, 0xd9, 0x6e, 0xed, + 0x9c, 0xdf, 0x3b, 0x05, 0x18, 0xff, 0x66, 0x8a, 0xeb, 0xe4, 0x6e, 0x3f, 0xc5, 0x3e, 0xc7, 0xa1, + 0xb3, 0x22, 0xad, 0x8f, 0x24, 0xe2, 0xd5, 0xc6, 0x48, 0xd4, 0x4e, 0x69, 0x92, 0x08, 0x51, 0x6e, + 0xa4, 0x27, 0x45, 0x38, 0x74, 0xcc, 0x56, 0x1f, 0xaa, 0x84, 0x0e, 0x33, 0xd2, 0x4b, 0x93, 0xa0, + 0x65, 0xab, 0xff, 0xa4, 0x63, 0x91, 0x9d, 0x63, 0xe3, 0xdb, 0xc7, 0x3d, 0xc2, 0xcf, 0xb3, 0xae, + 0xf8, 0xaf, 0xd9, 0x51, 0xb0, 0x07, 0x84, 0x0e, 0x57, 0x32, 0x85, 0x3b, 0x3d, 0xfa, 0xc0, 0x4f, + 0xc8, 0xce, 0xc5, 0xee, 0x8e, 0x4a, 0x65, 0xd2, 0xfd, 0xc5, 0x30, 0x7e, 0xcf, 0xa1, 0x2f, 0x95, + 0xd5, 0xfd, 0x88, 0xe0, 0x98, 0x6f, 0x7f, 0x96, 0x26, 0x41, 0xb7, 0x28, 0x35, 0x1e, 0xfd, 0x1b, + 0x00, 0x00, 0xff, 0xff, 0x9e, 0x71, 0x2c, 0x9e, 0x19, 0x11, 0x00, 0x00, } diff --git a/proto/v2.2/segcore.proto b/proto/v2.2/segcore.proto index 31db598..0594d47 100644 --- a/proto/v2.2/segcore.proto +++ b/proto/v2.2/segcore.proto @@ -9,6 +9,7 @@ message RetrieveResults { schema.IDs ids = 1; repeated int64 offset = 2; repeated schema.FieldData fields_data = 3; + int64 all_retrieve_count = 4; } message LoadFieldMeta { @@ -41,4 +42,4 @@ message FieldIndexMeta { message CollectionIndexMeta { int64 maxIndexRowCount = 1; repeated FieldIndexMeta index_metas = 2; -} \ No newline at end of file +} diff --git a/states/etcd/show/segment.go b/states/etcd/show/segment.go index ebd4c5b..953963e 100644 --- a/states/etcd/show/segment.go +++ b/states/etcd/show/segment.go @@ -154,6 +154,7 @@ func PrintSegmentInfo(info *models.Segment, detailBinlog bool) { if detailBinlog { var binlogSize int64 + var insertmemSize int64 fmt.Println("**************************************") fmt.Println("Binlogs:") sort.Slice(info.GetBinlogs(), func(i, j int) bool { @@ -166,15 +167,18 @@ func PrintSegmentInfo(info *models.Segment, detailBinlog bool) { fmt.Printf("Path: %s\n", binlog.LogPath) tf, _ := utils.ParseTS(binlog.TimestampFrom) tt, _ := utils.ParseTS(binlog.TimestampTo) - fmt.Printf("Log Size: %d \t Entry Num: %d\t TimeRange:%s-%s\n", + fmt.Printf("Mem Size: %d \t Log Size: %d \t Entry Num: %d\t TimeRange:%s-%s\n", + binlog.MemSize, binlog.LogSize, binlog.EntriesNum, tf.Format(tsPrintFormat), tt.Format(tsPrintFormat)) binlogSize += binlog.LogSize + insertmemSize += binlog.MemSize fieldLogSize += binlog.LogSize } fmt.Println("--- Field Log Size:", hrSize(fieldLogSize)) } fmt.Println("=== Segment Total Binlog Size: ", hrSize(binlogSize)) + fmt.Println("=== Segment Total Binlog Mem Size: ", hrSize(insertmemSize)) fmt.Println("**************************************") fmt.Println("Statslogs:") @@ -199,14 +203,17 @@ func PrintSegmentInfo(info *models.Segment, detailBinlog bool) { fmt.Println("**************************************") fmt.Println("Delta Logs:") var deltaLogSize int64 + var memSize int64 for _, log := range info.GetDeltalogs() { for _, l := range log.Binlogs { fmt.Printf("Entries: %d From: %v - To: %v\n", l.EntriesNum, l.TimestampFrom, l.TimestampTo) - fmt.Printf("Path: %v LogSize: %s\n", l.LogPath, hrSize(l.LogSize)) + fmt.Printf("Path: %v LogSize: %s, MemSize: %s\n", l.LogPath, hrSize(l.LogSize), hrSize(l.MemSize)) deltaLogSize += l.LogSize + memSize += l.MemSize } } fmt.Println("=== Segment Total Deltalog Size: ", hrSize(deltaLogSize)) + fmt.Println("=== Segment Total Deltalog Mem Size: ", hrSize(memSize)) } fmt.Println("================================================================================")