Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
1aafe86f
M
milvus
项目概览
milvus
/
milvus
11 个月 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1aafe86f
编写于
2月 04, 2021
作者:
X
XuanYang-cn
提交者:
yefu.chen
2月 04, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change MsgPosition Logic
Signed-off-by:
N
XuanYang-cn
<
xuan.yang@zilliz.com
>
上级
b92ff69c
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
325 addition
and
412 deletion
+325
-412
internal/datanode/collection_replica.go
internal/datanode/collection_replica.go
+28
-22
internal/datanode/collection_replica_test.go
internal/datanode/collection_replica_test.go
+1
-2
internal/datanode/flow_graph_dd_node_test.go
internal/datanode/flow_graph_dd_node_test.go
+1
-1
internal/datanode/flow_graph_insert_buffer_node.go
internal/datanode/flow_graph_insert_buffer_node.go
+17
-6
internal/dataservice/server.go
internal/dataservice/server.go
+2
-2
internal/dataservice/stats_handler.go
internal/dataservice/stats_handler.go
+1
-15
internal/proto/data_service.proto
internal/proto/data_service.proto
+4
-4
internal/proto/datapb/data_service.pb.go
internal/proto/datapb/data_service.pb.go
+133
-135
internal/proto/internal.proto
internal/proto/internal.proto
+2
-2
internal/proto/internalpb2/internal.pb.go
internal/proto/internalpb2/internal.pb.go
+110
-110
internal/proxynode/impl.go
internal/proxynode/impl.go
+2
-4
internal/proxynode/interface.go
internal/proxynode/interface.go
+0
-1
internal/proxynode/task.go
internal/proxynode/task.go
+7
-91
internal/querynode/load_service.go
internal/querynode/load_service.go
+1
-1
internal/querynode/query_node.go
internal/querynode/query_node.go
+2
-2
internal/queryservice/queryservice.go
internal/queryservice/queryservice.go
+10
-10
internal/queryservice/queryservice_test.go
internal/queryservice/queryservice_test.go
+4
-4
未找到文件。
internal/datanode/collection_replica.go
浏览文件 @
1aafe86f
...
...
@@ -21,8 +21,7 @@ type collectionReplica interface {
hasCollection
(
collectionID
UniqueID
)
bool
// segment
addSegment
(
segmentID
UniqueID
,
collID
UniqueID
,
partitionID
UniqueID
,
positions
[]
*
internalpb2
.
MsgPosition
)
error
addSegment
(
segmentID
UniqueID
,
collID
UniqueID
,
partitionID
UniqueID
,
channelName
string
)
error
removeSegment
(
segmentID
UniqueID
)
error
hasSegment
(
segmentID
UniqueID
)
bool
updateStatistics
(
segmentID
UniqueID
,
numRows
int64
)
error
...
...
@@ -32,16 +31,16 @@ type collectionReplica interface {
type
(
Segment
struct
{
segmentID
UniqueID
collectionID
UniqueID
partitionID
UniqueID
numRows
int64
memorySize
int64
isNew
bool
createTime
Timestamp
// not using
endTime
Timestamp
// not using
startPosition
s
[]
*
internalpb2
.
MsgPosition
endPosition
s
[]
*
internalpb2
.
MsgPosition
// not using
segmentID
UniqueID
collectionID
UniqueID
partitionID
UniqueID
numRows
int64
memorySize
int64
isNew
bool
createTime
Timestamp
// not using
endTime
Timestamp
// not using
startPosition
*
internalpb2
.
MsgPosition
endPosition
*
internalpb2
.
MsgPosition
// not using
}
collectionReplicaImpl
struct
{
...
...
@@ -74,21 +73,28 @@ func (colReplica *collectionReplicaImpl) getSegmentByID(segmentID UniqueID) (*Se
return
nil
,
errors
.
Errorf
(
"Cannot find segment, id = %v"
,
segmentID
)
}
func
(
colReplica
*
collectionReplicaImpl
)
addSegment
(
segmentID
UniqueID
,
collID
UniqueID
,
partitionID
UniqueID
,
positions
[]
*
internalpb2
.
MsgPosition
)
error
{
func
(
colReplica
*
collectionReplicaImpl
)
addSegment
(
segmentID
UniqueID
,
collID
UniqueID
,
partitionID
UniqueID
,
channelName
string
)
error
{
colReplica
.
mu
.
Lock
()
defer
colReplica
.
mu
.
Unlock
()
log
.
Println
(
"Add Segment"
,
segmentID
)
position
:=
&
internalpb2
.
MsgPosition
{
ChannelName
:
channelName
,
}
seg
:=
&
Segment
{
segmentID
:
segmentID
,
collectionID
:
collID
,
partitionID
:
partitionID
,
isNew
:
true
,
createTime
:
0
,
startPosition
s
:
positions
,
endPosition
s
:
make
([]
*
internalpb2
.
MsgPosition
,
0
),
segmentID
:
segmentID
,
collectionID
:
collID
,
partitionID
:
partitionID
,
isNew
:
true
,
createTime
:
0
,
startPosition
:
position
,
endPosition
:
new
(
internalpb2
.
MsgPosition
),
}
colReplica
.
segments
=
append
(
colReplica
.
segments
,
seg
)
return
nil
...
...
@@ -151,7 +157,7 @@ func (colReplica *collectionReplicaImpl) getSegmentStatisticsUpdates(segmentID U
}
if
ele
.
isNew
{
updates
.
StartPosition
s
=
ele
.
startPositions
updates
.
StartPosition
=
ele
.
startPosition
ele
.
isNew
=
false
}
return
updates
,
nil
...
...
internal/datanode/collection_replica_test.go
浏览文件 @
1aafe86f
...
...
@@ -5,7 +5,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/zilliztech/milvus-distributed/internal/proto/internalpb2"
)
func
initTestReplicaMeta
(
t
*
testing
.
T
,
replica
collectionReplica
,
collectionName
string
,
collectionID
UniqueID
,
segmentID
UniqueID
)
{
...
...
@@ -112,7 +111,7 @@ func TestReplica_Segment(t *testing.T) {
replica
:=
newReplica
()
assert
.
False
(
t
,
replica
.
hasSegment
(
0
))
err
:=
replica
.
addSegment
(
0
,
1
,
2
,
make
([]
*
internalpb2
.
MsgPosition
,
0
)
)
err
:=
replica
.
addSegment
(
0
,
1
,
2
,
"insert-01"
)
assert
.
NoError
(
t
,
err
)
assert
.
True
(
t
,
replica
.
hasSegment
(
0
))
...
...
internal/datanode/flow_graph_dd_node_test.go
浏览文件 @
1aafe86f
...
...
@@ -139,7 +139,7 @@ func TestFlowGraphDDNode_Operate(t *testing.T) {
DropPartitionRequest
:
dropPartitionReq
,
}
replica
.
addSegment
(
1
,
collID
,
partitionID
,
make
([]
*
internalpb2
.
MsgPosition
,
0
)
)
replica
.
addSegment
(
1
,
collID
,
partitionID
,
"insert-01"
)
inFlushCh
<-
&
flushMsg
{
msgID
:
5
,
timestamp
:
5
,
...
...
internal/datanode/flow_graph_insert_buffer_node.go
浏览文件 @
1aafe86f
...
...
@@ -112,7 +112,7 @@ func (ibNode *insertBufferNode) Operate(in []*Msg) []*Msg {
partitionID
:=
msg
.
GetPartitionID
()
if
!
ibNode
.
replica
.
hasSegment
(
currentSegID
)
{
err
:=
ibNode
.
replica
.
addSegment
(
currentSegID
,
collID
,
partitionID
,
iMsg
.
startPositions
)
err
:=
ibNode
.
replica
.
addSegment
(
currentSegID
,
collID
,
partitionID
,
msg
.
GetChannelID
()
)
if
err
!=
nil
{
log
.
Println
(
"Error: add segment error"
,
err
)
}
...
...
@@ -134,13 +134,22 @@ func (ibNode *insertBufferNode) Operate(in []*Msg) []*Msg {
uniqueSeg
[
currentSegID
]
=
true
}
}
segIDs
:=
make
([]
UniqueID
,
0
,
len
(
uniqueSeg
))
for
id
:=
range
uniqueSeg
{
segIDs
=
append
(
segIDs
,
id
)
}
err
:=
ibNode
.
updateSegStatistics
(
segIDs
)
if
err
!=
nil
{
log
.
Println
(
"Error: update segment statistics error, "
,
err
)
if
len
(
segIDs
)
>
0
{
switch
{
case
iMsg
.
startPositions
==
nil
||
len
(
iMsg
.
startPositions
)
<=
0
:
log
.
Println
(
"Warning: insert Msg StartPosition empty"
)
default
:
err
:=
ibNode
.
updateSegStatistics
(
segIDs
,
iMsg
.
startPositions
[
0
])
if
err
!=
nil
{
log
.
Println
(
"Error: update segment statistics error, "
,
err
)
}
}
}
// iMsg is insertMsg
...
...
@@ -579,7 +588,7 @@ func (ibNode *insertBufferNode) writeHardTimeTick(ts Timestamp) error {
return
ibNode
.
timeTickStream
.
Produce
(
&
msgPack
)
}
func
(
ibNode
*
insertBufferNode
)
updateSegStatistics
(
segIDs
[]
UniqueID
)
error
{
func
(
ibNode
*
insertBufferNode
)
updateSegStatistics
(
segIDs
[]
UniqueID
,
currentPosition
*
internalpb2
.
MsgPosition
)
error
{
log
.
Println
(
"Updating segments statistics..."
)
statsUpdates
:=
make
([]
*
internalpb2
.
SegmentStatisticsUpdates
,
0
,
len
(
segIDs
))
for
_
,
segID
:=
range
segIDs
{
...
...
@@ -588,6 +597,8 @@ func (ibNode *insertBufferNode) updateSegStatistics(segIDs []UniqueID) error {
log
.
Println
(
"Error get segment"
,
segID
,
"statistics updates"
,
err
)
continue
}
updates
.
StartPosition
.
Timestamp
=
currentPosition
.
GetTimestamp
()
updates
.
StartPosition
.
MsgID
=
currentPosition
.
GetMsgID
()
statsUpdates
=
append
(
statsUpdates
,
updates
)
}
...
...
@@ -603,7 +614,7 @@ func (ibNode *insertBufferNode) updateSegStatistics(segIDs []UniqueID) error {
var
msg
msgstream
.
TsMsg
=
&
msgstream
.
SegmentStatisticsMsg
{
BaseMsg
:
msgstream
.
BaseMsg
{
HashValues
:
[]
uint32
{
0
},
HashValues
:
[]
uint32
{
0
},
// GOOSE TODO
},
SegmentStatistics
:
segStats
,
}
...
...
internal/dataservice/server.go
浏览文件 @
1aafe86f
...
...
@@ -648,8 +648,8 @@ func (s *Server) GetSegmentStates(req *datapb.SegmentStatesRequest) (*datapb.Seg
state
.
CreateTime
=
segmentInfo
.
OpenTime
state
.
SealedTime
=
segmentInfo
.
SealedTime
state
.
FlushedTime
=
segmentInfo
.
FlushedTime
state
.
StartPosition
s
=
segmentInfo
.
StartPosition
state
.
EndPosition
s
=
segmentInfo
.
EndPosition
state
.
StartPosition
=
segmentInfo
.
StartPosition
state
.
EndPosition
=
segmentInfo
.
EndPosition
}
resp
.
States
=
append
(
resp
.
States
,
state
)
}
...
...
internal/dataservice/stats_handler.go
浏览文件 @
1aafe86f
...
...
@@ -22,23 +22,9 @@ func (handler *statsHandler) HandleSegmentStat(segStats *internalpb2.SegmentStat
if
segStats
.
IsNewSegment
{
segMeta
.
OpenTime
=
segStats
.
CreateTime
segMeta
.
StartPosition
=
append
(
segMeta
.
StartPosition
,
segStats
.
StartPositions
...
)
segMeta
.
StartPosition
=
segStats
.
StartPosition
}
segMeta
.
SealedTime
=
segStats
.
EndTime
for
_
,
pos
:=
range
segStats
.
EndPositions
{
isNew
:=
true
for
_
,
epos
:=
range
segMeta
.
EndPosition
{
if
epos
.
ChannelName
==
pos
.
ChannelName
{
epos
.
Timestamp
=
pos
.
Timestamp
epos
.
MsgID
=
pos
.
MsgID
isNew
=
false
break
}
}
if
isNew
{
segMeta
.
EndPosition
=
append
(
segMeta
.
EndPosition
,
pos
)
}
}
segMeta
.
NumRows
=
segStats
.
NumRows
segMeta
.
MemSize
=
segStats
.
MemorySize
...
...
internal/proto/data_service.proto
浏览文件 @
1aafe86f
...
...
@@ -82,8 +82,8 @@ message SegmentStateInfo {
uint64
create_time
=
3
;
uint64
sealed_time
=
4
;
uint64
flushed_time
=
5
;
repeated
internal.MsgPosition
start_positions
=
6
;
repeated
internal.MsgPosition
end_positions
=
7
;
internal.MsgPosition
start_position
=
6
;
internal.MsgPosition
end_position
=
7
;
common.Status
status
=
8
;
}
...
...
@@ -145,8 +145,8 @@ message SegmentInfo {
int64
num_rows
=
8
;
int64
mem_size
=
9
;
common.SegmentState
state
=
10
;
repeated
internal.MsgPosition
start_position
=
11
;
repeated
internal.MsgPosition
end_position
=
12
;
internal.MsgPosition
start_position
=
11
;
internal.MsgPosition
end_position
=
12
;
}
message
SegmentMsg
{
...
...
internal/proto/datapb/data_service.pb.go
浏览文件 @
1aafe86f
...
...
@@ -618,17 +618,17 @@ func (m *SegmentStatesRequest) GetSegmentIDs() []int64 {
}
type
SegmentStateInfo
struct
{
SegmentID
int64
`protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
State
commonpb
.
SegmentState
`protobuf:"varint,2,opt,name=state,proto3,enum=milvus.proto.common.SegmentState" json:"state,omitempty"`
CreateTime
uint64
`protobuf:"varint,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
SealedTime
uint64
`protobuf:"varint,4,opt,name=sealed_time,json=sealedTime,proto3" json:"sealed_time,omitempty"`
FlushedTime
uint64
`protobuf:"varint,5,opt,name=flushed_time,json=flushedTime,proto3" json:"flushed_time,omitempty"`
StartPosition
s
[]
*
internalpb2
.
MsgPosition
`protobuf:"bytes,6,rep,name=start_positions,json=startPositions,proto3" json:"start_positions
,omitempty"`
EndPosition
s
[]
*
internalpb2
.
MsgPosition
`protobuf:"bytes,7,rep,name=end_positions,json=endPositions,proto3" json:"end_positions
,omitempty"`
Status
*
commonpb
.
Status
`protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
SegmentID
int64
`protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
State
commonpb
.
SegmentState
`protobuf:"varint,2,opt,name=state,proto3,enum=milvus.proto.common.SegmentState" json:"state,omitempty"`
CreateTime
uint64
`protobuf:"varint,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
SealedTime
uint64
`protobuf:"varint,4,opt,name=sealed_time,json=sealedTime,proto3" json:"sealed_time,omitempty"`
FlushedTime
uint64
`protobuf:"varint,5,opt,name=flushed_time,json=flushedTime,proto3" json:"flushed_time,omitempty"`
StartPosition
*
internalpb2
.
MsgPosition
`protobuf:"bytes,6,opt,name=start_position,json=startPosition,proto3" json:"start_position
,omitempty"`
EndPosition
*
internalpb2
.
MsgPosition
`protobuf:"bytes,7,opt,name=end_position,json=endPosition,proto3" json:"end_position
,omitempty"`
Status
*
commonpb
.
Status
`protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
SegmentStateInfo
)
Reset
()
{
*
m
=
SegmentStateInfo
{}
}
...
...
@@ -691,16 +691,16 @@ func (m *SegmentStateInfo) GetFlushedTime() uint64 {
return
0
}
func
(
m
*
SegmentStateInfo
)
GetStartPosition
s
()
[]
*
internalpb2
.
MsgPosition
{
func
(
m
*
SegmentStateInfo
)
GetStartPosition
()
*
internalpb2
.
MsgPosition
{
if
m
!=
nil
{
return
m
.
StartPosition
s
return
m
.
StartPosition
}
return
nil
}
func
(
m
*
SegmentStateInfo
)
GetEndPosition
s
()
[]
*
internalpb2
.
MsgPosition
{
func
(
m
*
SegmentStateInfo
)
GetEndPosition
()
*
internalpb2
.
MsgPosition
{
if
m
!=
nil
{
return
m
.
EndPosition
s
return
m
.
EndPosition
}
return
nil
}
...
...
@@ -1121,21 +1121,21 @@ func (m *FlushSegRequest) GetSegmentIDs() []int64 {
}
type
SegmentInfo
struct
{
SegmentID
int64
`protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
CollectionID
int64
`protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
PartitionID
int64
`protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"`
InsertChannel
string
`protobuf:"bytes,4,opt,name=insert_channel,json=insertChannel,proto3" json:"insert_channel,omitempty"`
OpenTime
uint64
`protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
SealedTime
uint64
`protobuf:"varint,6,opt,name=sealed_time,json=sealedTime,proto3" json:"sealed_time,omitempty"`
FlushedTime
uint64
`protobuf:"varint,7,opt,name=flushed_time,json=flushedTime,proto3" json:"flushed_time,omitempty"`
NumRows
int64
`protobuf:"varint,8,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"`
MemSize
int64
`protobuf:"varint,9,opt,name=mem_size,json=memSize,proto3" json:"mem_size,omitempty"`
State
commonpb
.
SegmentState
`protobuf:"varint,10,opt,name=state,proto3,enum=milvus.proto.common.SegmentState" json:"state,omitempty"`
StartPosition
[]
*
internalpb2
.
MsgPosition
`protobuf:"bytes,11,rep
,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"`
EndPosition
[]
*
internalpb2
.
MsgPosition
`protobuf:"bytes,12,rep
,name=end_position,json=endPosition,proto3" json:"end_position,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
SegmentID
int64
`protobuf:"varint,1,opt,name=segmentID,proto3" json:"segmentID,omitempty"`
CollectionID
int64
`protobuf:"varint,2,opt,name=collectionID,proto3" json:"collectionID,omitempty"`
PartitionID
int64
`protobuf:"varint,3,opt,name=partitionID,proto3" json:"partitionID,omitempty"`
InsertChannel
string
`protobuf:"bytes,4,opt,name=insert_channel,json=insertChannel,proto3" json:"insert_channel,omitempty"`
OpenTime
uint64
`protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
SealedTime
uint64
`protobuf:"varint,6,opt,name=sealed_time,json=sealedTime,proto3" json:"sealed_time,omitempty"`
FlushedTime
uint64
`protobuf:"varint,7,opt,name=flushed_time,json=flushedTime,proto3" json:"flushed_time,omitempty"`
NumRows
int64
`protobuf:"varint,8,opt,name=num_rows,json=numRows,proto3" json:"num_rows,omitempty"`
MemSize
int64
`protobuf:"varint,9,opt,name=mem_size,json=memSize,proto3" json:"mem_size,omitempty"`
State
commonpb
.
SegmentState
`protobuf:"varint,10,opt,name=state,proto3,enum=milvus.proto.common.SegmentState" json:"state,omitempty"`
StartPosition
*
internalpb2
.
MsgPosition
`protobuf:"bytes,11,opt
,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"`
EndPosition
*
internalpb2
.
MsgPosition
`protobuf:"bytes,12,opt
,name=end_position,json=endPosition,proto3" json:"end_position,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
SegmentInfo
)
Reset
()
{
*
m
=
SegmentInfo
{}
}
...
...
@@ -1233,14 +1233,14 @@ func (m *SegmentInfo) GetState() commonpb.SegmentState {
return
commonpb
.
SegmentState_SegmentNone
}
func
(
m
*
SegmentInfo
)
GetStartPosition
()
[]
*
internalpb2
.
MsgPosition
{
func
(
m
*
SegmentInfo
)
GetStartPosition
()
*
internalpb2
.
MsgPosition
{
if
m
!=
nil
{
return
m
.
StartPosition
}
return
nil
}
func
(
m
*
SegmentInfo
)
GetEndPosition
()
[]
*
internalpb2
.
MsgPosition
{
func
(
m
*
SegmentInfo
)
GetEndPosition
()
*
internalpb2
.
MsgPosition
{
if
m
!=
nil
{
return
m
.
EndPosition
}
...
...
@@ -1793,109 +1793,107 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"data_service.proto"
,
fileDescriptor_3385cd32ad6cfe64
)
}
var
fileDescriptor_3385cd32ad6cfe64
=
[]
byte
{
// 1618 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xc4
,
0x58
,
0x5b
,
0x6f
,
0x1b
,
0xc5
,
0x1e
,
0xcf
,
0x66
,
0xed
,
0xd8
,
0xfe
,
0xdb
,
0x71
,
0xda
,
0xc9
,
0xa5
,
0xae
,
0xdb
,
0xd3
,
0xa6
,
0x7b
,
0x94
,
0x36
,
0xad
,
0xce
,
0x49
,
0x8e
,
0xd2
,
0xa3
,
0x73
,
0x40
,
0x48
,
0x88
,
0xa6
,
0x6e
,
0x23
,
0xab
,
0x4d
,
0x15
,
0x8d
,
0x0b
,
0x15
,
0x79
,
0xb1
,
0xd6
,
0xf6
,
0xc4
,
0x19
,
0xf0
,
0xee
,
0x9a
,
0x9d
,
0x71
,
0x2f
,
0x79
,
0xa1
,
0xe2
,
0x01
,
0x04
,
0x2f
,
0xf0
,
0x84
,
0x04
,
0xbc
,
0x20
,
0x21
,
0x3e
,
0x07
,
0x5f
,
0x81
,
0x37
,
0xbe
,
0x0b
,
0x4f
,
0x68
,
0x2e
,
0x7b
,
0xb3
,
0x37
,
0x59
,
0x93
,
0xf4
,
0xf2
,
0xe6
,
0xf9
,
0xfb
,
0x37
,
0xff
,
0xfb
,
0x6d
,
0x16
,
0x50
,
0xcf
,
0xe6
,
0x76
,
0x9b
,
0x11
,
0xff
,
0x29
,
0xed
,
0x92
,
0x8d
,
0xa1
,
0xef
,
0x71
,
0x0f
,
0x9d
,
0x77
,
0xe8
,
0xe0
,
0xe9
,
0x88
,
0xa9
,
0xd3
,
0x86
,
0x00
,
0xd4
,
0x2b
,
0x5d
,
0xcf
,
0x71
,
0x3c
,
0x57
,
0x91
,
0xea
,
0x55
,
0xea
,
0x72
,
0xe2
,
0xbb
,
0xf6
,
0x40
,
0x9f
,
0x2b
,
0xf1
,
0x0b
,
0xd6
,
0xe7
,
0xb0
,
0x88
,
0x49
,
0x9f
,
0x32
,
0x4e
,
0xfc
,
0x47
,
0x5e
,
0x8f
,
0x60
,
0xf2
,
0xd9
,
0x88
,
0x30
,
0x8e
,
0xfe
,
0x03
,
0xb9
,
0x8e
,
0xcd
,
0x48
,
0xcd
,
0x58
,
0x35
,
0xd6
,
0xcb
,
0x5b
,
0x97
,
0x37
,
0x12
,
0x42
,
0x34
,
0xfb
,
0x5d
,
0xd6
,
0xdf
,
0xb6
,
0x19
,
0xc1
,
0x12
,
0x89
,
0xfe
,
0x07
,
0x05
,
0xbb
,
0xd7
,
0xf3
,
0x09
,
0x63
,
0xb5
,
0xd9
,
0x13
,
0x2e
,
0xdd
,
0x51
,
0x18
,
0x1c
,
0x80
,
0xad
,
0x6f
,
0x0d
,
0x58
,
0x4a
,
0x6a
,
0xc0
,
0x86
,
0x9e
,
0xcb
,
0x08
,
0xda
,
0x86
,
0x32
,
0x75
,
0x29
,
0x6f
,
0x0f
,
0x6d
,
0xdf
,
0x76
,
0x98
,
0xd6
,
0xe4
,
0x5a
,
0x92
,
0x69
,
0x68
,
0x5a
,
0xd3
,
0xa5
,
0x7c
,
0x4f
,
0x02
,
0x31
,
0xd0
,
0xf0
,
0x37
,
0xba
,
0x0d
,
0x73
,
0x8c
,
0xdb
,
0x7c
,
0x14
,
0xe8
,
0x74
,
0x29
,
0x55
,
0xa7
,
0x96
,
0x84
,
0x60
,
0x0d
,
0xb5
,
0x7e
,
0x37
,
0xa0
,
0xd2
,
0x22
,
0xfd
,
0x66
,
0x23
,
0x70
,
0xc6
,
0x12
,
0xe4
,
0xbb
,
0xde
,
0xc8
,
0xe5
,
0x52
,
0x87
,
0x79
,
0xac
,
0x0e
,
0x68
,
0x15
,
0xca
,
0xdd
,
0x43
,
0xdb
,
0x75
,
0xc9
,
0xe0
,
0x91
,
0xed
,
0x10
,
0x29
,
0xa0
,
0x84
,
0xe3
,
0x24
,
0x64
,
0x41
,
0xa5
,
0xeb
,
0x0d
,
0x06
,
0xa4
,
0xcb
,
0xa9
,
0xe7
,
0x36
,
0x1b
,
0x35
,
0x73
,
0xd5
,
0x58
,
0x37
,
0x71
,
0x82
,
0x26
,
0xb8
,
0x0c
,
0x6d
,
0x9f
,
0x53
,
0x0d
,
0xc9
,
0x49
,
0x48
,
0x9c
,
0x84
,
0x2e
,
0x41
,
0x49
,
0xdc
,
0x68
,
0xbb
,
0x42
,
0x4a
,
0x5e
,
0x4a
,
0x29
,
0x0a
,
0x82
,
0x14
,
0xb1
,
0x06
,
0xd5
,
0x10
,
0xab
,
0x10
,
0x73
,
0x12
,
0x31
,
0x1f
,
0x52
,
0x05
,
0xcc
,
0xfa
,
0xce
,
0x00
,
0x74
,
0x87
,
0x31
,
0xda
,
0x77
,
0x13
,
0x86
,
0xad
,
0xc0
,
0x9c
,
0xeb
,
0xf5
,
0x48
,
0xb3
,
0x21
,
0x2d
,
0x33
,
0xb1
,
0x3e
,
0x09
,
0x91
,
0x43
,
0x42
,
0xfc
,
0xb6
,
0xef
,
0x0d
,
0x02
,
0xc3
,
0x8a
,
0x82
,
0x80
,
0xbd
,
0x01
,
0x41
,
0xf7
,
0x60
,
0x9e
,
0xc5
,
0x98
,
0xb0
,
0x9a
,
0xb9
,
0x6a
,
0xae
,
0x97
,
0xb7
,
0xae
,
0x6e
,
0x4c
,
0x24
,
0xe2
,
0x46
,
0x5c
,
0x18
,
0x4e
,
0xde
,
0xb2
,
0x7e
,
0x9b
,
0x85
,
0x05
,
0xf9
,
0xbf
,
0xd2
,
0xcb
,
0x21
,
0xae
,
0x74
,
0xb4
,
0x04
,
0x69
,
0x75
,
0xd4
,
0x61
,
0x0a
,
0x47
,
0x87
,
0x01
,
0x32
,
0xe3
,
0x01
,
0x1a
,
0x77
,
0x7f
,
0x2e
,
0xdb
,
0xfd
,
0xf9
,
0x49
,
0xf7
,
0x5f
,
0x85
,
0x32
,
0x79
,
0x3e
,
0xa4
,
0x3e
,
0x69
,
0x73
,
0xaa
,
0xdd
,
0x9b
,
0xc3
,
0xa0
,
0x48
,
0x8f
,
0xa9
,
0x43
,
0x62
,
0x39
,
0x56
,
0x98
,
0x3a
,
0xc7
,
0x92
,
0x41
,
0x2d
,
0x66
,
0x06
,
0xb5
,
0x94
,
0x16
,
0xd4
,
0x1f
,
0x0d
,
0x58
,
0x4c
,
0x04
,
0x55
,
0x17
,
0xce
,
0x23
,
0x38
,
0xc7
,
0x92
,
0x8e
,
0x15
,
0xd5
,
0x23
,
0x62
,
0x64
,
0x1d
,
0x17
,
0xa3
,
0x08
,
0x8a
,
0x27
,
0xee
,
0x9e
,
0xae
,
0x88
,
0x9e
,
0x43
,
0xe5
,
0xfe
,
0x60
,
0xc4
,
0x0e
,
0x4f
,
0xdf
,
0x50
,
0x10
,
0xe4
,
0x7a
,
0x9d
,
0x66
,
0x43
,
0x0a
,
0x35
,
0xb1
,
0xfc
,
0x3d
,
0x4d
,
0x48
,
0xad
,
0x9f
,
0x0d
,
0x40
,
0xad
,
0x43
,
0xef
,
0x59
,
0x8b
,
0xf4
,
0xa5
,
0x41
,
0xa7
,
0x56
,
0x60
,
0x5c
,
0xd8
,
0x6c
,
0x76
,
0xfe
,
0x98
,
0x93
,
0xf9
,
0x13
,
0x98
,
0x91
,
0x8b
,
0xcc
,
0xb0
,
0x3e
,
0x81
,
0xc5
,
0x84
,
0x86
,
0x3a
,
0x70
,
0x57
,
0x00
,
0x98
,
0x22
,
0x35
,
0x1b
,
0x2a
,
0x64
,
0x26
,
0x8e
,
0x51
,
0x4e
,
0x17
,
0x88
,
0x43
,
0x58
,
0xd2
,
0x72
,
0xc4
,
0x1f
,
0x84
,
0x9d
,
0xde
,
0x1f
,
0x49
,
0xf5
,
0x66
,
0xc7
,
0xd5
,
0xb3
,
0x7e
,
0x30
,
0xe1
,
0x5c
,
0x5c
,
0x54
,
0xd3
,
0x3d
,
0xf0
,
0xd0
,
0x65
,
0x28
,
0x85
,
0x10
,
0x5d
,
0xd6
,
0x11
,
0x01
,
0xfd
,
0x1f
,
0xf2
,
0x42
,
0x4d
,
0x55
,
0xd4
,
0xd5
,
0xf1
,
0xee
,
0x1e
,
0x18
,
0x14
,
0xe3
,
0x89
,
0x15
,
0x5e
,
0x54
,
0x65
,
0xd7
,
0x27
,
0x36
,
0xd7
,
0x55
,
0x69
,
0xaa
,
0xaa
,
0x54
,
0x24
,
0x59
,
0x95
,
0x57
,
0xa1
,
0xcc
,
0x88
,
0x3d
,
0x20
,
0x3d
,
0x05
,
0xc8
,
0x29
,
0x80
,
0x22
,
0x49
,
0xc0
,
0x35
,
0xa8
,
0x1c
,
0x88
,
0x04
,
0x0d
,
0x10
,
0x79
,
0x89
,
0x28
,
0x6b
,
0x9a
,
0x84
,
0x3c
,
0x80
,
0x05
,
0xc6
,
0x6d
,
0x9f
,
0xb7
,
0x87
,
0x1e
,
0x93
,
0xe1
,
0x64
,
0xb5
,
0xb9
,
0xb4
,
0x3a
,
0x0a
,
0xa7
,
0xd0
,
0x2e
,
0xeb
,
0xef
,
0x69
,
0x28
,
0xae
,
0xca
,
0xab
,
0xc1
,
0x91
,
0xa1
,
0x1d
,
0x98
,
0x27
,
0x6e
,
0x2f
,
0xc6
,
0xaa
,
0x30
,
0x35
,
0xab
,
0x0a
,
0x71
,
0x7b
,
0x11
,
0xa3
,
0x28
,
0x0b
,
0x8a
,
0xd3
,
0x67
,
0xc1
,
0x01
,
0x20
,
0xed
,
0x46
,
0x11
,
0x95
,
0xd7
,
0x97
,
0x03
,
0x2f
,
0x0d
,
0x58
,
0x4c
,
0x08
,
0xd2
,
0xa9
,
0x1d
,
0x29
,
0x6d
,
0x4c
,
0xdf
,
0x24
,
0xff
,
0x0b
,
0x79
,
0xea
,
0x1e
,
0x78
,
0x4a
,
0x4e
,
0x79
,
0xeb
,
0x4a
,
0x7a
,
0xf7
,
0x0a
,
0x65
,
0x29
,
0xb0
,
0xf5
,
0xb5
,
0x01
,
0xcb
,
0x63
,
0x19
,
0x7f
,
0x16
,
0x25
,
0xde
,
0x53
,
0x97
,
0x48
,
0xa0
,
0xc5
,
0x3f
,
0x8f
,
0xd7
,
0x22
,
0xcc
,
0x7a
,
0xac
,
0xaf
,
0x58
,
0x14
,
0x2e
,
0x34
,
0x5d
,
0x46
,
0x7c
,
0xbe
,
0x4d
,
0xdd
,
0x81
,
0xd7
,
0xdf
,
0xb3
,
0xf9
,
0x19
,
0x1a
,
0x62
,
0xa2
,
0x94
,
0x66
,
0xc7
,
0x4a
,
0xc9
,
0xfa
,
0xd5
,
0x80
,
0x8b
,
0xe3
,
0xb2
,
0x22
,
0xd3
,
0xeb
,
0x50
,
0x3c
,
0xa0
,
0x64
,
0xd0
,
0x8b
,
0x1a
,
0x4b
,
0x78
,
0x16
,
0x45
,
0x38
,
0x14
,
0x60
,
0x6d
,
0xe0
,
0x71
,
0x2b
,
0x56
,
0x8b
,
0xfb
,
0xd4
,
0xed
,
0x3f
,
0xa4
,
0x8c
,
0x63
,
0x85
,
0x8f
,
0xf9
,
0xd3
,
0x9c
,
0x3e
,
0x13
,
0x5f
,
0x1a
,
0xb0
,
0xa4
,
0xf4
,
0xbc
,
0xab
,
0x26
,
0xf8
,
0xeb
,
0x9d
,
0x10
,
0x29
,
0x3b
,
0x97
,
0xe5
,
0xc0
,
0xf2
,
0x13
,
0x9b
,
0x77
,
0x0f
,
0x1b
,
0xce
,
0x99
,
0x55
,
0x10
,
0xe2
,
0xa2
,
0x45
,
0x44
,
0xb9
,
0xb0
,
0x84
,
0x13
,
0x34
,
0xeb
,
0x27
,
0x03
,
0x16
,
0xe4
,
0x2c
,
0x6c
,
0x91
,
0xfe
,
0x1b
,
0x37
,
0x76
,
0xac
,
0x62
,
0x73
,
0x13
,
0x15
,
0xfb
,
0xa7
,
0x09
,
0xe5
,
0x58
,
0x15
,
0x65
,
0x34
,
0xec
,
0x57
,
0x33
,
0x13
,
0xd7
,
0xa0
,
0x4a
,
0x65
,
0x0a
,
0xb4
,
0xb5
,
0xa3
,
0x64
,
0x7f
,
0x2e
,
0xe1
,
0x79
,
0x1a
,
0x4f
,
0x0c
,
0xb1
,
0x24
,
0x79
,
0x43
,
0xe2
,
0xc6
,
0xfb
,
0x73
,
0x51
,
0x10
,
0xd2
,
0x1a
,
0xfc
,
0x5c
,
0x66
,
0x83
,
0x2f
,
0x4c
,
0x36
,
0xf8
,
0x8b
,
0x50
,
0x74
,
0x47
,
0x4e
,
0xdb
,
0xf7
,
0x9e
,
0xa9
,
0x66
,
0x6a
,
0xe2
,
0x82
,
0x3b
,
0x72
,
0xb0
,
0xf7
,
0x8c
,
0x89
,
0xbf
,
0x1c
,
0xe2
,
0xb4
,
0x19
,
0x3d
,
0x52
,
0xdb
,
0x97
,
0x89
,
0x0b
,
0x0e
,
0x71
,
0x5a
,
0xf4
,
0x88
,
0x44
,
0x43
,
0x0b
,
0xfe
,
0xe6
,
0xd0
,
0x6a
,
0x42
,
0x35
,
0x39
,
0x4f
,
0x6a
,
0xe5
,
0xa9
,
0x67
,
0xc0
,
0x7c
,
0x62
,
0x9c
,
0xa0
,
0x7b
,
0x50
,
0x89
,
0x4f
,
0x93
,
0x5a
,
0x65
,
0x6a
,
0x46
,
0xe5
,
0xd8
,
0x30
,
0xb1
,
0x9e
,
0x03
,
0x68
,
0x45
,
0x77
,
0x59
,
0xff
,
0x14
,
0x49
,
0xf9
,
0x0e
,
0x14
,
0x74
,
0x6e
,
0xe8
,
0x95
,
0x24
,
0xab
,
0x47
,
0x07
,
0x70
,
0xeb
,
0x0b
,
0x03
,
0x56
,
0xee
,
0x86
,
0x59
,
0x23
,
0xdc
,
0xc4
,
0xde
,
0x7c
,
0x23
,
0xf8
,
0xca
,
0x80
,
0x0b
,
0x13
,
0x4a
,
0xe8
,
0x8e
,
0xa9
,
0xa3
,
0x1c
,
0xac
,
0xce
,
0xe9
,
0x51
,
0x7e
,
0x40
,
0x5e
,
0x7c
,
0x64
,
0x0f
,
0x46
,
0x64
,
0xcf
,
0xa6
,
0xbe
,
0x8a
,
0xf2
,
0x29
,
0xb7
,
0xb4
,
0x5f
,
0x0c
,
0x58
,
0xde
,
0x0b
,
0x2a
,
0xe4
,
0xed
,
0x78
,
0x23
,
0xfb
,
0x29
,
0x6a
,
0x7d
,
0x69
,
0xc0
,
0xca
,
0xb8
,
0x96
,
0x6f
,
0xc5
,
0x5d
,
0xbb
,
0x50
,
0xbd
,
0x2f
,
0xc6
,
0x97
,
0x6c
,
0xab
,
0xbb
,
0x84
,
0xdb
,
0xa8
,
0x06
,
0x05
,
0x3d
,
0xd0
,
0x74
,
0xd3
,
0x0a
,
0x8e
,
0xa2
,
0x0f
,
0x74
,
0xe4
,
0x44
,
0x6c
,
0x47
,
0x53
,
0xae
,
0x84
,
0xcb
,
0x9d
,
0x68
,
0x4a
,
0x5a
,
0xdf
,
0x18
,
0xe1
,
0xe6
,
0x1a
,
0x71
,
0x3c
,
0xb9
,
0x11
,
0xfe
,
0x03
,
0x80
,
0xb2
,
0xb6
,
0x6e
,
0x26
,
0x52
,
0xf5
,
0x22
,
0x2e
,
0x51
,
0x76
,
0x5f
,
0x11
,
0xd0
,
0xbb
,
0x30
,
0x27
,
0xe5
,
0xb3
,
0x5a
,
0x3e
,
0xcd
,
0x1f
,
0xb2
,
0x2e
,
0x92
,
0x16
,
0x60
,
0x7d
,
0xc1
,
0xfa
,
0x10
,
0x2a
,
0x8d
,
0xc6
,
0xc3
,
0x48
,
0x8f
,
0xf1
,
0xd0
,
0x19
,
0x29
,
0xa1
,
0x9b
,
0xc2
,
0xc6
,
0x64
,
0xc1
,
0xdd
,
0x15
,
0x2f
,
0xe4
,
0x37
,
0x5f
,
0x70
,
0xbd
,
0x78
,
0xbd
,
0x69
,
0x1d
,
0xce
,
0xb2
,
0x9c
,
0x85
,
0x0f
,
0x7f
,
0xa5
,
0x88
,
0x3a
,
0x6c
,
0xfd
,
0x51
,
0x86
,
0x72
,
0xc3
,
0xe6
,
0x76
,
0x4b
,
0x7d
,
0x28
,
0x43
,
0x36
,
0x54
,
0xe2
,
0x5f
,
0x98
,
0xd0
,
0xf5
,
0x94
,
0x60
,
0xa4
,
0x7c
,
0x04
,
0xab
,
0xdf
,
0xc8
,
0xc4
,
0x29
,
0xdd
,
0xad
,
0x19
,
0xb4
,
0x03
,
0x79
,
0x19
,
0x31
,
0x94
,
0xf6
,
0x19
,
0x24
,
0xfe
,
0x10
,
0xae
,
0x9f
,
0x64
,
0x97
,
0x35
,
0x83
,
0x3a
,
0xb0
,
0x10
,
0xbe
,
0xe9
,
0x75
,
0xaa
,
0xad
,
0xa5
,
0xb0
,
0x9c
,
0xfc
,
0x98
,
0x53
,
0xbf
,
0x9e
,
0x05
,
0x0b
,
0x95
,
0x6d
,
0x43
,
0x25
,
0xf6
,
0xfc
,
0x64
,
0xa9
,
0x02
,
0x26
,
0x5f
,
0xd0
,
0xa9
,
0x02
,
0x52
,
0x9e
,
0xb1
,
0xd6
,
0x0c
,
0xb2
,
0xa1
,
0xba
,
0x43
,
0x78
,
0x7c
,
0xab
,
0x58
,
0xcb
,
0x98
,
0x0b
,
0x27
,
0x89
,
0x98
,
0x7c
,
0x4e
,
0x58
,
0x33
,
0xa8
,
0x0f
,
0xe7
,
0x22
,
0x11
,
0x6a
,
0xcf
,
0x47
,
0x37
,
0x32
,
0x56
,
0xf3
,
0xa0
,
0xa7
,
0xd6
,
0xd7
,
0xb3
,
0x81
,
0xa1
,
0x20
,
0x1f
,
0x96
,
0x76
,
0x08
,
0x9f
,
0xd8
,
0xac
,
0xd1
,
0xad
,
0x14
,
0x1e
,
0xc7
,
0xec
,
0xfa
,
0xf5
,
0x7f
,
0x4d
,
0x81
,
0x65
,
0x09
,
0xff
,
0x9d
,
0x0f
,
0x65
,
0xea
,
0x65
,
0x28
,
0xdd
,
0xba
,
0xb4
,
0x45
,
0xba
,
0x9e
,
0xbd
,
0xc0
,
0x4b
,
0xb3
,
0x2e
,
0xec
,
0x10
,
0x9e
,
0x1c
,
0x7e
,
0x94
,
0x71
,
0xda
,
0x65
,
0xe8
,
0x66
,
0x8a
,
0xa0
,
0xf4
,
0x51
,
0x5d
,
0xbf
,
0x35
,
0x0d
,
0x34
,
0x34
,
0xcb
,
0x83
,
0x95
,
0x1d
,
0xc2
,
0x13
,
0x03
,
0x44
,
0x8b
,
0x4c
,
0x0b
,
0x48
,
0xea
,
0x38
,
0xac
,
0xdf
,
0x9c
,
0x02
,
0x19
,
0x0a
,
0xdc
,
0x07
,
0x24
,
0x8d
,
0x74
,
0x86
,
0x9e
,
0x1b
,
0xa5
,
0x49
,
0x3d
,
0xb5
,
0x02
,
0xef
,
0x39
,
0x43
,
0xfe
,
0x62
,
0x3c
,
0x01
,
0x43
,
0xdf
,
0x8d
,
0xf1
,
0xb0
,
0x66
,
0xd0
,
0x13
,
0xc9
,
0x5b
,
0xac
,
0x91
,
0x8f
,
0x69
,
0xf7
,
0xd3
,
0x60
,
0x65
,
0x3d
,
0x89
,
0xf7
,
0xd8
,
0xcb
,
0x51
,
0x1f
,
0x54
,
0x54
,
0x62
,
0x4a
,
0x7f
,
0x2c
,
0x13
,
0x2e
,
0x72
,
0xce
,
0x2b
,
0x64
,
0xbd
,
0x0f
,
0xcb
,
0xc9
,
0xba
,
0x7c
,
0x85
,
0xbc
,
0xbb
,
0x50
,
0x94
,
0xbe
,
0x1e
,
0xb9
,
0x3c
,
0x23
,
0x83
,
0xe2
,
0xb3
,
0x27
,
0x23
,
0x83
,
0x12
,
0x23
,
0xc2
,
0x9a
,
0xd9
,
0xfa
,
0x7e
,
0x16
,
0x8a
,
0xa2
,
0xb3
,
0xcb
,
0x36
,
0xfe
,
0x3a
,
0xa3
,
0xbb
,
0x0f
,
0x0b
,
0xc9
,
0x27
,
0x62
,
0x7a
,
0x8e
,
0xa6
,
0x3e
,
0x23
,
0xb3
,
0x5a
,
0x3c
,
0x86
,
0xf9
,
0xe0
,
0x39
,
0xa8
,
0xfa
,
0xaf
,
0x75
,
0xdc
,
0xcc
,
0x88
,
0x1e
,
0x8c
,
0x19
,
0x3c
,
0xb7
,
0x3f
,
0xd8
,
0x7f
,
0xbf
,
0x4f
,
0xf9
,
0xe1
,
0xa8
,
0x23
,
0xfe
,
0xd9
,
0x3c
,
0xa2
,
0x83
,
0x01
,
0x3d
,
0xe2
,
0xa4
,
0x7b
,
0xb8
,
0xa9
,
0x6e
,
0xfd
,
0xbb
,
0x47
,
0x19
,
0xf7
,
0x69
,
0x67
,
0xc4
,
0x49
,
0x6f
,
0x33
,
0x30
,
0x7b
,
0x53
,
0xb2
,
0xda
,
0x14
,
0xe2
,
0x86
,
0x9d
,
0xce
,
0x9c
,
0x3c
,
0xdd
,
0xfe
,
0x2b
,
0x00
,
0x00
,
0xff
,
0xff
,
0xac
,
0x3c
,
0x2b
,
0xea
,
0x64
,
0x1a
,
0x00
,
0x00
,
// 1599 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xc4
,
0x58
,
0xcb
,
0x6f
,
0x1b
,
0xc5
,
0x1f
,
0xcf
,
0x66
,
0xed
,
0xd8
,
0xfe
,
0xda
,
0x49
,
0xda
,
0xc9
,
0xa3
,
0xa9
,
0xdb
,
0x5f
,
0x9b
,
0xee
,
0x4f
,
0x69
,
0xd3
,
0x0a
,
0x12
,
0x94
,
0x22
,
0x1e
,
0x42
,
0x42
,
0x34
,
0x75
,
0x1b
,
0x59
,
0x34
,
0x55
,
0x34
,
0x2e
,
0x54
,
0xe4
,
0x62
,
0xad
,
0xed
,
0x89
,
0x33
,
0xe0
,
0xdd
,
0x35
,
0x3b
,
0xe3
,
0x3e
,
0x72
,
0xa1
,
0xe2
,
0x00
,
0x82
,
0x0b
,
0x5c
,
0xe0
,
0x00
,
0x17
,
0x24
,
0xc4
,
0xdf
,
0xc1
,
0xbf
,
0xc0
,
0x8d
,
0xff
,
0x85
,
0x13
,
0x9a
,
0xc7
,
0xbe
,
0xec
,
0x4d
,
0xd6
,
0x38
,
0x69
,
0x7b
,
0xf3
,
0x7c
,
0xfd
,
0x99
,
0xef
,
0xfb
,
0x35
,
0x0b
,
0xa8
,
0x63
,
0x73
,
0xbb
,
0xc9
,
0x88
,
0xff
,
0x84
,
0xb6
,
0xc9
,
0x46
,
0xdf
,
0xf7
,
0xb8
,
0x87
,
0xce
,
0x3b
,
0xb4
,
0xf7
,
0x64
,
0xc0
,
0xd4
,
0x69
,
0x43
,
0x00
,
0xaa
,
0x95
,
0xb6
,
0xe7
,
0x38
,
0x9e
,
0xab
,
0x48
,
0xd5
,
0x39
,
0xea
,
0x72
,
0xe2
,
0xbb
,
0x76
,
0x4f
,
0x9f
,
0x2b
,
0xf1
,
0x0b
,
0xd6
,
0x57
,
0xb0
,
0x80
,
0x49
,
0x97
,
0x32
,
0x4e
,
0xfc
,
0x87
,
0x5e
,
0x87
,
0x60
,
0xf2
,
0xe5
,
0x80
,
0x30
,
0x8e
,
0xde
,
0x82
,
0x5c
,
0xcb
,
0x66
,
0x64
,
0xc5
,
0x58
,
0x35
,
0xd6
,
0xcb
,
0x5b
,
0x97
,
0x37
,
0x12
,
0x42
,
0x34
,
0xfb
,
0x5d
,
0xd6
,
0xdd
,
0xb6
,
0x19
,
0xc1
,
0x12
,
0x89
,
0xde
,
0x81
,
0x82
,
0xdd
,
0xe9
,
0xf8
,
0x84
,
0xb1
,
0x95
,
0xe9
,
0x13
,
0x2e
,
0xdd
,
0x51
,
0x18
,
0x1c
,
0x80
,
0xad
,
0x1f
,
0x0c
,
0x58
,
0x4c
,
0x6a
,
0xc0
,
0xfa
,
0x9e
,
0xcb
,
0x08
,
0xda
,
0x86
,
0x32
,
0x75
,
0x29
,
0x6f
,
0xf6
,
0x6d
,
0xdf
,
0x76
,
0x98
,
0xd6
,
0xe4
,
0x5a
,
0x92
,
0x69
,
0x68
,
0x5a
,
0xdd
,
0xa5
,
0x7c
,
0x4f
,
0x02
,
0x31
,
0xd0
,
0xf0
,
0x37
,
0xba
,
0x0d
,
0x33
,
0x8c
,
0xdb
,
0x7c
,
0x10
,
0xe8
,
0x74
,
0x29
,
0x55
,
0xa7
,
0x86
,
0x84
,
0x60
,
0x0d
,
0xb5
,
0xfe
,
0x32
,
0xa0
,
0xd2
,
0x20
,
0xdd
,
0x7a
,
0x2d
,
0x70
,
0xc6
,
0x22
,
0xe4
,
0xdb
,
0xde
,
0xc0
,
0xe5
,
0x52
,
0x87
,
0x59
,
0xac
,
0x0e
,
0x68
,
0x15
,
0xca
,
0xed
,
0x43
,
0xdb
,
0x75
,
0x49
,
0xef
,
0xa1
,
0xed
,
0x10
,
0x29
,
0xa0
,
0x84
,
0xe3
,
0x24
,
0x64
,
0x41
,
0xa5
,
0xed
,
0xf5
,
0x7a
,
0xa4
,
0xcd
,
0xa9
,
0xe7
,
0xd6
,
0x6b
,
0x2b
,
0xe6
,
0xaa
,
0xb1
,
0x6e
,
0xe2
,
0x04
,
0x4d
,
0x70
,
0xe9
,
0xdb
,
0x3e
,
0xa7
,
0x1a
,
0x92
,
0x93
,
0x90
,
0x38
,
0x09
,
0x5d
,
0x82
,
0x92
,
0xb8
,
0xd1
,
0x74
,
0x85
,
0x94
,
0xbc
,
0x94
,
0x52
,
0x14
,
0x04
,
0x29
,
0x62
,
0x0d
,
0xe6
,
0x42
,
0xac
,
0x42
,
0xcc
,
0x48
,
0xc4
,
0x6c
,
0x48
,
0x15
,
0x30
,
0xeb
,
0x47
,
0x03
,
0xd0
,
0x1d
,
0xc6
,
0x68
,
0xd7
,
0x4d
,
0x18
,
0xb6
,
0x0c
,
0x33
,
0xae
,
0xd7
,
0x21
,
0xf5
,
0x9a
,
0xb4
,
0xcc
,
0xc4
,
0xfa
,
0x24
,
0x44
,
0xf6
,
0x09
,
0xf1
,
0x9b
,
0xbe
,
0xd7
,
0x0b
,
0x0c
,
0x2b
,
0x0a
,
0x02
,
0xf6
,
0x7a
,
0x04
,
0xdd
,
0x83
,
0x59
,
0x16
,
0x63
,
0xc2
,
0x56
,
0xcc
,
0x55
,
0x73
,
0xbd
,
0xbc
,
0x75
,
0x75
,
0x63
,
0x24
,
0x11
,
0x37
,
0xe2
,
0xc2
,
0x70
,
0xf2
,
0x96
,
0xf5
,
0xe7
,
0x34
,
0xcc
,
0xcb
,
0xff
,
0x95
,
0x5e
,
0x0e
,
0x71
,
0xa5
,
0xa3
,
0x25
,
0x48
,
0xab
,
0xa3
,
0x0e
,
0x63
,
0x38
,
0x3a
,
0x0c
,
0x90
,
0x19
,
0x0f
,
0xd0
,
0xb0
,
0xfb
,
0x73
,
0xd9
,
0xee
,
0xcf
,
0x8f
,
0xba
,
0xff
,
0x2a
,
0x94
,
0xc9
,
0xb3
,
0x3e
,
0xf5
,
0x49
,
0x93
,
0x53
,
0xed
,
0xde
,
0x1c
,
0x06
,
0x45
,
0x7a
,
0x44
,
0x1d
,
0x12
,
0xcb
,
0xb1
,
0xc2
,
0xd8
,
0x39
,
0x96
,
0x0c
,
0x6a
,
0x31
,
0x33
,
0xa8
,
0xa5
,
0xb4
,
0xa0
,
0xfe
,
0x62
,
0xc0
,
0x42
,
0x22
,
0xa8
,
0xba
,
0x70
,
0x1e
,
0xc2
,
0x39
,
0x96
,
0x74
,
0xac
,
0xa8
,
0x1e
,
0x11
,
0x23
,
0xeb
,
0xb8
,
0x18
,
0x45
,
0x50
,
0x3c
,
0x72
,
0x77
,
0xb2
,
0x22
,
0x7a
,
0x06
,
0x95
,
0xfb
,
0xbd
,
0x01
,
0x3b
,
0x9c
,
0xbc
,
0xa1
,
0x20
,
0xc8
,
0x75
,
0x5a
,
0xf5
,
0x9a
,
0x14
,
0x6a
,
0x62
,
0xf9
,
0x7b
,
0x9c
,
0x90
,
0x5a
,
0xbf
,
0x19
,
0x80
,
0x1a
,
0x87
,
0xde
,
0xd3
,
0x06
,
0xe9
,
0x4a
,
0x83
,
0x26
,
0x56
,
0x60
,
0x58
,
0xd8
,
0x74
,
0x76
,
0xfe
,
0x98
,
0xa3
,
0xf9
,
0x13
,
0x98
,
0x91
,
0x8b
,
0xcc
,
0xb0
,
0x3e
,
0x87
,
0x85
,
0x84
,
0x86
,
0x3a
,
0x70
,
0x57
,
0x00
,
0x98
,
0x22
,
0xd5
,
0x6b
,
0x2a
,
0x64
,
0x26
,
0x8e
,
0x51
,
0x26
,
0x0b
,
0xc4
,
0x21
,
0x2c
,
0x6a
,
0x39
,
0xe2
,
0x0f
,
0xc2
,
0x26
,
0xf7
,
0x47
,
0x52
,
0xbd
,
0xe9
,
0x61
,
0xf5
,
0xac
,
0x9f
,
0x4c
,
0x38
,
0x17
,
0x17
,
0x55
,
0x77
,
0x0f
,
0x3c
,
0x74
,
0x19
,
0x4a
,
0x21
,
0x44
,
0x97
,
0x75
,
0x44
,
0x40
,
0xef
,
0x42
,
0x5e
,
0xa8
,
0xa9
,
0x8a
,
0x7a
,
0x6e
,
0xb8
,
0xbb
,
0x07
,
0x06
,
0xc5
,
0x78
,
0x62
,
0x85
,
0x17
,
0x55
,
0xd9
,
0xf6
,
0x89
,
0xcd
,
0x75
,
0x55
,
0x9a
,
0xaa
,
0x2a
,
0x15
,
0x49
,
0x56
,
0xe5
,
0x55
,
0x28
,
0x33
,
0x62
,
0xf7
,
0x48
,
0x47
,
0x01
,
0x72
,
0x0a
,
0xa0
,
0x48
,
0x12
,
0x70
,
0x0d
,
0x2a
,
0x07
,
0x22
,
0x41
,
0x03
,
0x44
,
0x5e
,
0x22
,
0xca
,
0x9a
,
0x26
,
0x21
,
0x75
,
0x98
,
0x63
,
0xdc
,
0xf6
,
0x79
,
0xb3
,
0xef
,
0x31
,
0x19
,
0x4e
,
0x59
,
0xfd
,
0x23
,
0x65
,
0x14
,
0x0e
,
0xa1
,
0x5d
,
0xd6
,
0xdd
,
0xd3
,
0x48
,
0x3c
,
0x2b
,
0x6f
,
0x06
,
0x47
,
0x74
,
0x0f
,
0x2a
,
0xc4
,
0xed
,
0x44
,
0x8c
,
0x0a
,
0x63
,
0x33
,
0x2a
,
0x13
,
0xb7
,
0x13
,
0xb2
,
0x89
,
0x32
,
0xa0
,
0x38
,
0x7e
,
0x06
,
0x1c
,
0x00
,
0xd2
,
0x2e
,
0x14
,
0x11
,
0x79
,
0x79
,
0xf1
,
0x7f
,
0x61
,
0xc0
,
0x42
,
0x42
,
0x90
,
0x4e
,
0xeb
,
0x48
,
0x69
,
0x63
,
0xfc
,
0x06
,
0xf9
,
0x36
,
0xe4
,
0xa9
,
0x7b
,
0xe0
,
0x29
,
0x39
,
0xe5
,
0xad
,
0x2b
,
0xe9
,
0x9d
,
0x2b
,
0x94
,
0xa5
,
0xc0
,
0xd6
,
0x77
,
0x06
,
0x2c
,
0x0d
,
0x65
,
0xfb
,
0x69
,
0x94
,
0xf8
,
0x40
,
0x5d
,
0x22
,
0x81
,
0x16
,
0xff
,
0x3f
,
0x5e
,
0x8b
,
0x30
,
0xe3
,
0xb1
,
0xbe
,
0x62
,
0x51
,
0xb8
,
0x50
,
0x77
,
0x19
,
0xf1
,
0xf9
,
0x36
,
0x75
,
0x7b
,
0x5e
,
0x77
,
0xcf
,
0xe6
,
0xa7
,
0x68
,
0x86
,
0x89
,
0x32
,
0x9a
,
0x1e
,
0x2a
,
0x23
,
0xeb
,
0x0f
,
0x03
,
0x2e
,
0x0e
,
0xcb
,
0x8a
,
0x4c
,
0xaf
,
0x42
,
0xf1
,
0x80
,
0x92
,
0x5e
,
0x27
,
0x6a
,
0x2a
,
0xe1
,
0x59
,
0x14
,
0x60
,
0x5f
,
0x80
,
0xb5
,
0x81
,
0xc7
,
0xad
,
0x57
,
0x0d
,
0xee
,
0x53
,
0xb7
,
0xfb
,
0x80
,
0x32
,
0x8e
,
0x15
,
0x3e
,
0xe6
,
0x4f
,
0x73
,
0xfc
,
0x4c
,
0x7c
,
0x61
,
0xc0
,
0xa2
,
0xd2
,
0xf3
,
0xae
,
0x9a
,
0xde
,
0x2f
,
0x77
,
0x3a
,
0xa4
,
0xec
,
0x5b
,
0x96
,
0x03
,
0x4b
,
0x8f
,
0x6d
,
0xde
,
0x3e
,
0xac
,
0x39
,
0xa7
,
0x56
,
0x41
,
0x88
,
0x8b
,
0x96
,
0x10
,
0xe5
,
0xc2
,
0x12
,
0x4e
,
0xd0
,
0xac
,
0x5f
,
0x0d
,
0x98
,
0x97
,
0x73
,
0xb0
,
0x41
,
0xba
,
0xaf
,
0xdc
,
0xd8
,
0xa1
,
0x8a
,
0xcd
,
0x8d
,
0x54
,
0xec
,
0x3f
,
0x26
,
0x94
,
0x63
,
0x55
,
0x94
,
0xd1
,
0xac
,
0xcf
,
0x66
,
0x1e
,
0xae
,
0xc1
,
0x1c
,
0x95
,
0x29
,
0xd0
,
0xd4
,
0x8e
,
0x92
,
0xbd
,
0xb9
,
0x84
,
0x67
,
0x69
,
0x3c
,
0x31
,
0xc4
,
0x82
,
0xe4
,
0xf5
,
0x89
,
0x1b
,
0xef
,
0xcd
,
0x45
,
0x41
,
0x48
,
0x6b
,
0xee
,
0x33
,
0x99
,
0xcd
,
0xbd
,
0x30
,
0xda
,
0xdc
,
0x2f
,
0x42
,
0xd1
,
0x1d
,
0x38
,
0x4d
,
0xdf
,
0x7b
,
0xaa
,
0x9a
,
0xa9
,
0x89
,
0x0b
,
0xee
,
0xc0
,
0xc1
,
0xde
,
0x53
,
0x26
,
0xfe
,
0x72
,
0x88
,
0xd3
,
0x64
,
0xf4
,
0x48
,
0x6d
,
0x5e
,
0x26
,
0x2e
,
0x38
,
0xc4
,
0x69
,
0xd0
,
0x23
,
0x12
,
0x0d
,
0x2c
,
0xf8
,
0x8f
,
0x03
,
0x6b
,
0x74
,
0x96
,
0x94
,
0xcf
,
0x6a
,
0x96
,
0x54
,
0x26
,
0x9a
,
0x25
,
0xd6
,
0x33
,
0x00
,
0xad
,
0xe8
,
0x2e
,
0xeb
,
0x4e
,
0x90
,
0x94
,
0xef
,
0x41
,
0x41
,
0xe7
,
0x86
,
0x5e
,
0x47
,
0xb2
,
0x7a
,
0x74
,
0x00
,
0xb7
,
0xbe
,
0x36
,
0x60
,
0xf9
,
0x6e
,
0x98
,
0x35
,
0xc2
,
0x4d
,
0xec
,
0xd5
,
0x37
,
0x82
,
0x6f
,
0x0d
,
0xb8
,
0x30
,
0xa2
,
0x84
,
0xee
,
0x98
,
0x3a
,
0xca
,
0xc1
,
0xda
,
0x9c
,
0x1e
,
0xe5
,
0x8f
,
0xc9
,
0xf3
,
0x4f
,
0xed
,
0xde
,
0x80
,
0xec
,
0xd9
,
0xd4
,
0x57
,
0x51
,
0x9e
,
0x70
,
0x43
,
0xfb
,
0xdd
,
0x80
,
0xa5
,
0xbd
,
0xa0
,
0x42
,
0x5e
,
0x8f
,
0x37
,
0xb2
,
0x9f
,
0xa1
,
0xd6
,
0x37
,
0x06
,
0x2c
,
0x0f
,
0x6b
,
0xf9
,
0x5a
,
0xdc
,
0xb5
,
0x0b
,
0x73
,
0xf7
,
0xc5
,
0xf8
,
0x92
,
0x6d
,
0x75
,
0x97
,
0x70
,
0x1b
,
0xad
,
0x40
,
0x41
,
0x0f
,
0x34
,
0xdd
,
0xb4
,
0x82
,
0xa3
,
0xe8
,
0x03
,
0x2d
,
0x39
,
0x11
,
0x9b
,
0xd1
,
0x94
,
0x2b
,
0xe1
,
0x72
,
0x2b
,
0x9a
,
0x92
,
0xd6
,
0xf7
,
0x46
,
0xb8
,
0xb5
,
0x46
,
0x1c
,
0x4f
,
0x6e
,
0x84
,
0xff
,
0x03
,
0xa0
,
0xac
,
0xa9
,
0x9b
,
0x89
,
0x54
,
0xbd
,
0x88
,
0x4b
,
0x94
,
0xdd
,
0x57
,
0x04
,
0xf4
,
0x3e
,
0xcc
,
0x48
,
0xf9
,
0x6c
,
0x25
,
0x9f
,
0xe6
,
0x0f
,
0x59
,
0x17
,
0x49
,
0x0b
,
0xb0
,
0xbe
,
0x60
,
0x7d
,
0x02
,
0x95
,
0x5a
,
0xed
,
0x41
,
0xa4
,
0xc7
,
0x70
,
0xe8
,
0x8c
,
0x94
,
0xd0
,
0x8d
,
0x61
,
0x63
,
0xb2
,
0xe0
,
0xee
,
0x8a
,
0xd7
,
0xf1
,
0xab
,
0x2f
,
0xb8
,
0x4e
,
0xbc
,
0xde
,
0xb4
,
0x0e
,
0xa7
,
0x59
,
0xce
,
0xc2
,
0x47
,
0xbf
,
0x52
,
0x44
,
0x1d
,
0xb6
,
0xfe
,
0x2e
,
0x43
,
0xb9
,
0x66
,
0x73
,
0xbb
,
0xa1
,
0x3e
,
0x92
,
0x21
,
0x1b
,
0x2a
,
0xf1
,
0xaf
,
0x4b
,
0xe8
,
0x7a
,
0x4a
,
0x30
,
0x52
,
0x3e
,
0x80
,
0x55
,
0x6f
,
0x64
,
0xe2
,
0x94
,
0xee
,
0xd6
,
0x14
,
0xda
,
0x81
,
0xbc
,
0x8c
,
0x18
,
0x4a
,
0xfb
,
0x04
,
0x12
,
0x7f
,
0x04
,
0x57
,
0x4f
,
0xb2
,
0xcb
,
0x9a
,
0x42
,
0x2d
,
0x98
,
0x0f
,
0xdf
,
0xf3
,
0x3a
,
0xd5
,
0xd6
,
0x52
,
0x58
,
0x8e
,
0x7e
,
0xc8
,
0xa9
,
0x5e
,
0xcf
,
0x82
,
0x85
,
0xca
,
0x36
,
0xa1
,
0x12
,
0x7b
,
0x7a
,
0xb2
,
0x54
,
0x01
,
0xa3
,
0xaf
,
0xe7
,
0x54
,
0x01
,
0x29
,
0x4f
,
0x58
,
0x6b
,
0x0a
,
0xd9
,
0x30
,
0xb7
,
0x43
,
0x78
,
0x7c
,
0xab
,
0x58
,
0xcb
,
0x98
,
0x0b
,
0x27
,
0x89
,
0x18
,
0x7d
,
0x4e
,
0x58
,
0x53
,
0xa8
,
0x0b
,
0xe7
,
0x22
,
0x11
,
0x6a
,
0xcf
,
0x47
,
0x37
,
0x32
,
0x56
,
0xf3
,
0xa0
,
0xa7
,
0x56
,
0xd7
,
0xb3
,
0x81
,
0xa1
,
0x20
,
0x1f
,
0x16
,
0x77
,
0x08
,
0x1f
,
0xd9
,
0xac
,
0xd1
,
0xad
,
0x14
,
0x1e
,
0xc7
,
0xec
,
0xfa
,
0xd5
,
0x37
,
0xc6
,
0xc0
,
0xb2
,
0x84
,
0xff
,
0xce
,
0x87
,
0x32
,
0xf5
,
0x32
,
0x94
,
0x6e
,
0x5d
,
0xda
,
0x22
,
0x5d
,
0xcd
,
0x5e
,
0xe0
,
0xa5
,
0x59
,
0x17
,
0x76
,
0x08
,
0x4f
,
0x0e
,
0x3f
,
0xca
,
0x38
,
0x6d
,
0x33
,
0x74
,
0x33
,
0x45
,
0x50
,
0xfa
,
0xa8
,
0xae
,
0xde
,
0x1a
,
0x07
,
0x1a
,
0x9a
,
0xe5
,
0xc1
,
0xf2
,
0x0e
,
0xe1
,
0x89
,
0x01
,
0xa2
,
0x45
,
0xa6
,
0x05
,
0x24
,
0x75
,
0x1c
,
0x56
,
0x6f
,
0x8e
,
0x81
,
0x0c
,
0x05
,
0xee
,
0x03
,
0x92
,
0x46
,
0x3a
,
0x7d
,
0xcf
,
0x8d
,
0xd2
,
0xa4
,
0x9a
,
0x5a
,
0x81
,
0xf7
,
0x9c
,
0x3e
,
0x7f
,
0x3e
,
0x9c
,
0x80
,
0xa1
,
0xef
,
0x86
,
0x78
,
0x58
,
0x53
,
0xe8
,
0xb1
,
0xe4
,
0x2d
,
0xd6
,
0xc8
,
0x47
,
0xb4
,
0xfd
,
0x45
,
0xb0
,
0xb2
,
0x9e
,
0xc4
,
0x7b
,
0xe8
,
0xe5
,
0xa8
,
0x0f
,
0x2a
,
0x2a
,
0x31
,
0xa5
,
0x3f
,
0x93
,
0x09
,
0x17
,
0x39
,
0xe7
,
0x0c
,
0x59
,
0xef
,
0xc3
,
0x52
,
0xb2
,
0x2e
,
0xcf
,
0x90
,
0x77
,
0x1b
,
0x8a
,
0xd2
,
0xd7
,
0x03
,
0x97
,
0x67
,
0x64
,
0x50
,
0x7c
,
0xf6
,
0x64
,
0x64
,
0x50
,
0x62
,
0x44
,
0x58
,
0x53
,
0x5b
,
0x3f
,
0x4f
,
0x43
,
0x51
,
0x74
,
0x76
,
0xd9
,
0xc6
,
0x5f
,
0x66
,
0x74
,
0xf7
,
0x61
,
0x3e
,
0xf9
,
0x44
,
0x4c
,
0xcf
,
0xd1
,
0xd4
,
0x67
,
0x64
,
0x56
,
0x8b
,
0xc7
,
0x30
,
0x1b
,
0x3c
,
0x07
,
0x55
,
0xff
,
0xb5
,
0x8e
,
0x9b
,
0x19
,
0xd1
,
0x83
,
0x31
,
0x83
,
0xe7
,
0xf6
,
0x47
,
0xfb
,
0x1f
,
0x76
,
0x29
,
0x3f
,
0x1c
,
0xb4
,
0xc4
,
0x3f
,
0x9b
,
0x47
,
0xb4
,
0xd7
,
0xa3
,
0x47
,
0x9c
,
0xb4
,
0x0f
,
0x37
,
0xd5
,
0xad
,
0x37
,
0x3b
,
0x94
,
0x71
,
0x9f
,
0xb6
,
0x06
,
0x9c
,
0x74
,
0x36
,
0x03
,
0xb3
,
0x37
,
0x25
,
0xab
,
0x4d
,
0x21
,
0xae
,
0xdf
,
0x6a
,
0xcd
,
0xc8
,
0xd3
,
0xed
,
0x7f
,
0x03
,
0x00
,
0x00
,
0xff
,
0xff
,
0xac
,
0x37
,
0x0d
,
0xbc
,
0x60
,
0x1a
,
0x00
,
0x00
,
}
// Reference imports to suppress errors if they are not otherwise used.
...
...
internal/proto/internal.proto
浏览文件 @
1aafe86f
...
...
@@ -179,8 +179,8 @@ message SegmentStatisticsUpdates {
int64
NumRows
=
3
;
uint64
create_time
=
4
;
uint64
end_time
=
5
;
repeated
internal.MsgPosition
start_positions
=
6
;
repeated
internal.MsgPosition
end_positions
=
7
;
internal.MsgPosition
start_position
=
6
;
internal.MsgPosition
end_position
=
7
;
bool
isNewSegment
=
8
;
}
...
...
internal/proto/internalpb2/internal.pb.go
浏览文件 @
1aafe86f
...
...
@@ -1275,17 +1275,17 @@ func (m *LoadIndex) GetIndexParams() []*commonpb.KeyValuePair {
}
type
SegmentStatisticsUpdates
struct
{
SegmentID
int64
`protobuf:"varint,1,opt,name=SegmentID,proto3" json:"SegmentID,omitempty"`
MemorySize
int64
`protobuf:"varint,2,opt,name=MemorySize,proto3" json:"MemorySize,omitempty"`
NumRows
int64
`protobuf:"varint,3,opt,name=NumRows,proto3" json:"NumRows,omitempty"`
CreateTime
uint64
`protobuf:"varint,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
EndTime
uint64
`protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
StartPosition
s
[]
*
MsgPosition
`protobuf:"bytes,6,rep,name=start_positions,json=startPositions,proto3" json:"start_positions
,omitempty"`
EndPosition
s
[]
*
MsgPosition
`protobuf:"bytes,7,rep,name=end_positions,json=endPositions,proto3" json:"end_positions
,omitempty"`
IsNewSegment
bool
`protobuf:"varint,8,opt,name=isNewSegment,proto3" json:"isNewSegment,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
SegmentID
int64
`protobuf:"varint,1,opt,name=SegmentID,proto3" json:"SegmentID,omitempty"`
MemorySize
int64
`protobuf:"varint,2,opt,name=MemorySize,proto3" json:"MemorySize,omitempty"`
NumRows
int64
`protobuf:"varint,3,opt,name=NumRows,proto3" json:"NumRows,omitempty"`
CreateTime
uint64
`protobuf:"varint,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
EndTime
uint64
`protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
StartPosition
*
MsgPosition
`protobuf:"bytes,6,opt,name=start_position,json=startPosition,proto3" json:"start_position
,omitempty"`
EndPosition
*
MsgPosition
`protobuf:"bytes,7,opt,name=end_position,json=endPosition,proto3" json:"end_position
,omitempty"`
IsNewSegment
bool
`protobuf:"varint,8,opt,name=isNewSegment,proto3" json:"isNewSegment,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
func
(
m
*
SegmentStatisticsUpdates
)
Reset
()
{
*
m
=
SegmentStatisticsUpdates
{}
}
...
...
@@ -1348,16 +1348,16 @@ func (m *SegmentStatisticsUpdates) GetEndTime() uint64 {
return
0
}
func
(
m
*
SegmentStatisticsUpdates
)
GetStartPosition
s
()
[]
*
MsgPosition
{
func
(
m
*
SegmentStatisticsUpdates
)
GetStartPosition
()
*
MsgPosition
{
if
m
!=
nil
{
return
m
.
StartPosition
s
return
m
.
StartPosition
}
return
nil
}
func
(
m
*
SegmentStatisticsUpdates
)
GetEndPosition
s
()
[]
*
MsgPosition
{
func
(
m
*
SegmentStatisticsUpdates
)
GetEndPosition
()
*
MsgPosition
{
if
m
!=
nil
{
return
m
.
EndPosition
s
return
m
.
EndPosition
}
return
nil
}
...
...
@@ -1771,99 +1771,99 @@ func init() { proto.RegisterFile("internal.proto", fileDescriptor_41f4a519b878ee
var
fileDescriptor_41f4a519b878ee3b
=
[]
byte
{
// 1510 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xec
,
0x58
,
0x
5b
,
0x6f
,
0x1b
,
0x45
,
0x14
,
0x6
6
,
0x6d
,
0x27
,
0xb6
,
0x8f
,
0x9d
,
0xc4
,
0x5d
,
0x7a
,
0xd9
,
0x42
,
0xa0
,
0xee
,
0x72
,
0x0b
,
0x
54
,
0x24
,
0x55
,
0x8a
,
0x10
,
0xe2
,
0xa5
,
0x4d
,
0xe2
,
0x5e
,
0x56
,
0x49
,
0x4c
,
0x18
,
0xa7
,
0x95
,
0xd
a
,
0x97
,
0xd5
,
0x7a
,
0x77
,
0x62
,
0x4f
,
0xbb
,
0x17
,
0x77
,
0x66
,
0xdc
,
0xd4
,
0x7d
,
0xe6
,
0x0d
,
0x
c1
,
0x03
,
0x12
,
0x7f
,
0x80
,
0x1f
,
0xc0
,
0x33
,
0x4f
,
0x20
,
0xf1
,
0x84
,
0xc4
,
0x3b
,
0x12
,
0x12
,
0x
3f
,
0x80
,
0xdf
,
0xc0
,
0x13
,
0x9a
,
0xcb
,
0xee
,
0xda
,
0xa9
,
0x93
,
0xa6
,
0x81
,
0x0a
,
0x21
,
0x78
,
0x
f3
,
0x9c
,
0x39
,
0x7b
,
0x66
,
0xbe
,
0xef
,
0x3b
,
0x67
,
0xce
,
0x8c
,
0x61
,
0x9e
,
0xc4
,
0x1c
,
0xd
3
,
0x
d8
,
0x0b
,
0x97
,
0x07
,
0x34
,
0xe1
,
0x89
,
0x79
,
0x26
,
0x22
,
0xe1
,
0xa3
,
0x21
,
0x53
,
0xa3
,
0xe5
,
0x
74
,
0xf2
,
0x95
,
0xba
,
0x9f
,
0x44
,
0x51
,
0x12
,
0x2b
,
0xb3
,
0xfd
,
0xbd
,
0x01
,
0x73
,
0x1b
,
0x49
,
0x3
4
,
0x48
,
0x62
,
0x1c
,
0x73
,
0x27
,
0xde
,
0x4b
,
0xcc
,
0xb3
,
0x30
,
0x1b
,
0x27
,
0x01
,
0x76
,
0x5
a
,
0x
96
,
0xd1
,
0x34
,
0x96
,
0x8a
,
0x48
,
0x8f
,
0x4c
,
0x13
,
0x4a
,
0x34
,
0x09
,
0xb1
,
0x55
,
0x68
,
0x1a
,
0x
4b
,
0x55
,
0x24
,
0x7f
,
0x9b
,
0x57
,
0x01
,
0x18
,
0xf7
,
0x38
,
0x76
,
0xfd
,
0x24
,
0xc0
,
0x56
,
0xb1
,
0x
69
,
0x2c
,
0xcd
,
0xaf
,
0x36
,
0x97
,
0xa7
,
0xae
,
0xbb
,
0xdc
,
0x11
,
0x8e
,
0x1b
,
0x49
,
0x80
,
0x51
,
0x
95
,
0xa5
,
0x3f
,
0xcd
,
0x6b
,
0x00
,
0xf8
,
0x31
,
0xa7
,
0x9e
,
0x4b
,
0xe2
,
0xbd
,
0xc4
,
0x2a
,
0x35
,
0x
8b
,
0x4b
,
0xb5
,
0xd5
,
0x8b
,
0x93
,
0x01
,
0xf4
,
0x76
,
0x37
,
0xf1
,
0xe8
,
0x8e
,
0x17
,
0x0e
,
0xf1
,
0x
8e
,
0x47
,
0x28
,
0xaa
,
0xca
,
0x8f
,
0xc4
,
0x76
,
0xed
,
0x5f
,
0x0d
,
0x58
,
0xc8
,
0x00
,
0xc8
,
0x35
,
0x
98
,
0xf9
,
0x31
,
0xcc
,
0xc8
,
0x25
,
0x24
,
0x82
,
0xda
,
0xea
,
0x9b
,
0x87
,
0xec
,
0x68
,
0x02
,
0x37
,
0x
52
,
0x9f
,
0x98
,
0xb7
,
0xe1
,
0x65
,
0x36
,
0xec
,
0xfa
,
0xe9
,
0x94
,
0x2b
,
0xad
,
0xcc
,
0x2a
,
0xc8
,
0x
ad
,
0x1d
,
0x2f
,
0x92
,
0x39
,
0x1e
,
0x40
,
0x6f
,
0xe9
,
0x0a
,
0xcc
,
0x8a
,
0x48
,
0x43
,
0x26
,
0x5
9
,
0x
aa
,
0xad
,
0xbe
,
0x3a
,
0x15
,
0x64
,
0x47
,
0xba
,
0x20
,
0xed
,
0x6a
,
0xdf
,
0x81
,
0x4a
,
0x5b
,
0x90
,
0x
2f
,
0x64
,
0xf9
,
0x10
,
0xca
,
0x5e
,
0x10
,
0x50
,
0xcc
,
0x98
,
0x46
,
0xb5
,
0x38
,
0x35
,
0xc2
,
0x9a
,
0x
f2
,
0x41
,
0xa9
,
0xf3
,
0x34
,
0xd9
,
0xec
,
0xfb
,
0x00
,
0x4e
,
0x4c
,
0xf8
,
0x8e
,
0x47
,
0xbd
,
0x88
,
0x
1d
,
0x2a
,
0x78
,
0x0b
,
0xea
,
0x8c
,
0x7b
,
0x94
,
0xbb
,
0x03
,
0xe9
,
0xa7
,
0x29
,
0x38
,
0x86
,
0x3a
,
0x
35
,
0xf9
,
0x99
,
0x8a
,
0x6e
,
0xdf
,
0x05
,
0xe8
,
0x70
,
0x4a
,
0xe2
,
0xde
,
0x16
,
0x61
,
0x5c
,
0xac
,
0x
f5
,
0x48
,
0xf8
,
0x09
,
0x10
,
0xc5
,
0xa5
,
0x2a
,
0xd2
,
0xa3
,
0x31
,
0x7a
,
0x0a
,
0xc7
,
0xa7
,
0xe7
,
0x
2a
,
0xd4
,
0x76
,
0x49
,
0x84
,
0x77
,
0x89
,
0xff
,
0x60
,
0x9b
,
0xf5
,
0xcc
,
0xcb
,
0x50
,
0xea
,
0x7a
,
0x
0c
,
0x1f
,
0x49
,
0xcf
,
0x36
,
0xeb
,
0xad
,
0x7b
,
0x0c
,
0x23
,
0xe9
,
0x69
,
0xff
,
0x66
,
0xc0
,
0xb9
,
0x
0d
,
0x8a
,
0x65
,
0x32
,
0x86
,
0x21
,
0xf6
,
0x39
,
0x49
,
0x62
,
0x84
,
0x1f
,
0x0e
,
0x31
,
0xe3
,
0xc
f
,
0x
1f
,
0xcd
,
0x3c
,
0x07
,
0xe5
,
0xa0
,
0xeb
,
0xc6
,
0x5e
,
0x94
,
0x92
,
0x3d
,
0x1b
,
0x74
,
0xdb
,
0x5e
,
0x
84
,
0xcd
,
0xb7
,
0x61
,
0xde
,
0xcf
,
0xe2
,
0x0b
,
0x8b
,
0xcc
,
0x81
,
0x2a
,
0x3a
,
0x60
,
0x15
,
0x52
,
0x
05
,
0x5d
,
0xa7
,
0x65
,
0x95
,
0xa4
,
0x0c
,
0xf2
,
0xb7
,
0x69
,
0x43
,
0x3d
,
0xf7
,
0x72
,
0x5a
,
0xd6
,
0x
8c
,
0x9c
,
0x9b
,
0xb0
,
0x09
,
0x52
,
0x99
,
0xdf
,
0xc7
,
0x91
,
0x67
,
0xcd
,
0x36
,
0x8d
,
0xa5
,
0x3a
,
0x
d2
,
0x23
,
0xfb
,
0x47
,
0x03
,
0xce
,
0xb4
,
0x68
,
0x32
,
0xf8
,
0x37
,
0x83
,
0xb3
,
0xbf
,
0x28
,
0xc0
,
0x
59
,
0xa5
,
0xd1
,
0x8e
,
0x47
,
0x39
,
0x79
,
0x41
,
0x28
,
0xde
,
0x81
,
0x85
,
0x7c
,
0x55
,
0xe5
,
0x30
,
0x1
d
,
0xc6
,
0x5b
,
0x30
,
0x3f
,
0x48
,
0xf7
,
0xa1
,
0xfc
,
0x4a
,
0xd2
,
0x6f
,
0x2e
,
0xb3
,
0x4e
,
0xa0
,
0x
9d
,
0x39
,
0x02
,
0xed
,
0xec
,
0x14
,
0x29
,
0x9b
,
0x50
,
0xcb
,
0x02
,
0x39
,
0x2d
,
0xab
,
0x2c
,
0x5d
,
0x
c6
,
0x4d
,
0xf6
,
0xe7
,
0x05
,
0x38
,
0x2d
,
0x44
,
0xfd
,
0x9f
,
0x0d
,
0xc1
,
0xc6
,
0x0f
,
0x05
,
0x30
,
0x
55
,
0x76
,
0x38
,
0x71
,
0x80
,
0x1f
,
0xff
,
0x93
,
0x5c
,
0xbc
,
0x06
,
0xb0
,
0x47
,
0x70
,
0x18
,
0x8c
,
0x
f3
,
0x50
,
0x95
,
0x96
,
0xbf
,
0xc4
,
0x81
,
0x05
,
0x65
,
0x19
,
0x24
,
0xc3
,
0x9f
,
0x0e
,
0xc5
,
0xf
9
,
0x
ac
,
0x7a
,
0xa7
,
0x3e
,
0x9f
,
0x2b
,
0xc7
,
0x3e
,
0x9f
,
0xe5
,
0x67
,
0xfa
,
0x7c
,
0xfe
,
0xb6
,
0x08
,
0x
73
,
0x4e
,
0xcc
,
0x30
,
0xe5
,
0xff
,
0xe5
,
0x44
,
0x32
,
0x17
,
0xa1
,
0xca
,
0x70
,
0x2f
,
0x12
,
0x2d
,
0x
bc
,
0x65
,
0x55
,
0xe4
,
0x7c
,
0x6e
,
0x10
,
0xb3
,
0x7e
,
0xdf
,
0x8b
,
0x63
,
0x1c
,
0x3a
,
0x2d
,
0xab
,
0x
aa
,
0xa4
,
0xcd
,
0x0c
,
0xe6
,
0xeb
,
0x00
,
0x9c
,
0x44
,
0x98
,
0x71
,
0x2f
,
0x1a
,
0x30
,
0x0b
,
0x9a
,
0x
c5
,
0xa5
,
0x12
,
0x1a
,
0xb3
,
0x88
,
0xf3
,
0x99
,
0x26
,
0xfb
,
0x4e
,
0x8b
,
0x59
,
0xb5
,
0x66
,
0x5
1
,
0x
34
,
0x58
,
0x35
,
0x32
,
0x3f
,
0x80
,
0x0a
,
0x4d
,
0xf6
,
0xdd
,
0xc0
,
0xe3
,
0x9e
,
0x55
,
0x97
,
0xe2
,
0x
9d
,
0x9f
,
0x4a
,
0xf6
,
0x7a
,
0x98
,
0x74
,
0x51
,
0x99
,
0x26
,
0xfb
,
0x2d
,
0x8f
,
0x7b
,
0xf6
,
0x77
,
0x
05
,
0x98
,
0xeb
,
0x60
,
0x8f
,
0xfa
,
0xfd
,
0x93
,
0x0b
,
0xf6
,
0x2e
,
0x34
,
0x28
,
0x66
,
0xc3
,
0x90
,
0x
bb
,
0x39
,
0x2c
,
0xa5
,
0xdc
,
0x82
,
0xb2
,
0x6f
,
0x64
,
0xe0
,
0x52
,
0xca
,
0x8b
,
0x47
,
0x50
,
0x5e
,
0x
9a
,
0x42
,
0xb9
,
0x0d
,
0xf5
,
0x31
,
0x7e
,
0x99
,
0x35
,
0x23
,
0xa1
,
0x4f
,
0xd8
,
0xcc
,
0x06
,
0x14
,
0x
03
,
0x16
,
0x4a
,
0xc5
,
0xaa
,
0x48
,
0xfc
,
0x34
,
0x2f
,
0xc1
,
0xa9
,
0x41
,
0xe8
,
0xf9
,
0xb8
,
0x9f
,
0x8
4
,
0x01
,
0xa6
,
0x6e
,
0x8f
,
0x26
,
0xc3
,
0x81
,
0x94
,
0xab
,
0x8e
,
0x1a
,
0x63
,
0x13
,
0x37
,
0x85
,
0x
dd
,
0x5c
,
0x81
,
0x99
,
0x87
,
0x43
,
0x4c
,
0x47
,
0x52
,
0xaf
,
0x23
,
0xc9
,
0x53
,
0x7e
,
0xf6
,
0x2f
,
0x
46
,
0x4e
,
0x9d
,
0x40
,
0xc9
,
0x4e
,
0x40
,
0xdd
,
0x49
,
0x6e
,
0x2a
,
0x53
,
0xf9
,
0x2e
,
0x4e
,
0xe
7
,
0x
fb
,
0x02
,
0xd4
,
0x22
,
0xcc
,
0x29
,
0xf1
,
0x5d
,
0x3e
,
0x1a
,
0xa4
,
0x65
,
0x00
,
0xca
,
0xb4
,
0x3b
,
0x
1a
,
0xc8
,
0x1a
,
0xe8
,
0x13
,
0xae
,
0x08
,
0xad
,
0x23
,
0xf9
,
0xdb
,
0xfe
,
0xd9
,
0x80
,
0xb9
,
0x16
,
0x
0e
,
0x31
,
0xc7
,
0x27
,
0xcf
,
0x89
,
0x29
,
0xb5
,
0x5a
,
0x98
,
0x5a
,
0xab
,
0x13
,
0xc5
,
0x50
,
0x3c
,
0x
ba
,
0x18
,
0x4a
,
0x4f
,
0x15
,
0xc3
,
0x45
,
0xa8
,
0x0f
,
0x28
,
0x89
,
0x3c
,
0x3a
,
0x72
,
0x1f
,
0xe0
,
0x
51
,
0x9a
,
0x17
,
0x35
,
0x6d
,
0xdb
,
0xc4
,
0x23
,
0x66
,
0x7f
,
0x63
,
0x40
,
0xe5
,
0x46
,
0x38
,
0x64
,
0x
fd
,
0x13
,
0xdd
,
0xea
,
0x26
,
0x4b
,
0xb9
,
0x70
,
0xb0
,
0x94
,
0x0f
,
0xe6
,
0x6e
,
0xf1
,
0x19
,
0xb9
,
0x
bb
,
0xeb
,
0xf5
,
0xb4
,
0x08
,
0x13
,
0x36
,
0xfb
,
0x0f
,
0x03
,
0xaa
,
0x5b
,
0x89
,
0x17
,
0xc8
,
0xb
e
,
0xf
3
,
0xb7
,
0xef
,
0x72
,
0x11
,
0xf2
,
0xd6
,
0x91
,
0x72
,
0x9c
,
0xf7
,
0x92
,
0xb1
,
0x9e
,
0x50
,
0x9a
,
0x
ec
,
0x09
,
0x17
,
0xa0
,
0x46
,
0xc4
,
0x86
,
0xdc
,
0x81
,
0xc7
,
0xfb
,
0x8a
,
0xdc
,
0x2a
,
0x02
,
0x69
,
0x
da
,
0x11
,
0x16
,
0xd1
,
0x34
,
0x52
,
0x07
,
0xd9
,
0x34
,
0x66
,
0x8f
,
0xdd
,
0x34
,
0x74
,
0x10
,
0xd9
,
0x
34
,
0x7e
,
0x2f
,
0x80
,
0xd5
,
0x51
,
0x9b
,
0x15
,
0x99
,
0x4e
,
0x18
,
0x27
,
0x3e
,
0xbb
,
0x3d
,
0x08
,
0x
e4
,
0x53
,
0x67
,
0x11
,
0xaa
,
0x9d
,
0x0c
,
0x99
,
0x7a
,
0x52
,
0xe4
,
0x06
,
0x91
,
0x1f
,
0xdb
,
0x38
,
0x
4a
,
0xe8
,
0xa8
,
0x43
,
0x9e
,
0x60
,
0x0d
,
0x7c
,
0xcc
,
0x22
,
0xb0
,
0xb5
,
0x87
,
0x11
,
0x4a
,
0xf6
,
0x
99
,
0x96
,
0x26
,
0x1d
,
0x0a
,
0x6c
,
0xbe
,
0x6c
,
0xf5
,
0xae
,
0x48
,
0x27
,
0x89
,
0xbc
,
0x84
,
0x40
,
0x
99
,
0xc4
,
0x3b
,
0xc0
,
0x3c
,
0x0f
,
0x15
,
0x1c
,
0x07
,
0x6a
,
0x76
,
0x46
,
0xce
,
0x96
,
0x71
,
0x1c
,
0x
c8
,
0xa9
,
0x4d
,
0x58
,
0xd0
,
0x6f
,
0x99
,
0x84
,
0x49
,
0x09
,
0x53
,
0xe4
,
0xf6
,
0x21
,
0x2f
,
0xba
,
0x
6d
,
0xd6
,
0xdb
,
0xd1
,
0xae
,
0x68
,
0x5e
,
0xbd
,
0x67
,
0xd2
,
0x2f
,
0xcd
,
0x9b
,
0x30
,
0x27
,
0xd6
,
0x
c9
,
0x43
,
0x95
,
0x8f
,
0x1d
,
0xaa
,
0x8e
,
0xe3
,
0x20
,
0x0f
,
0x64
,
0x43
,
0x9d
,
0xb0
,
0x36
,
0xde
,
0x
d7
,
0xec
,
0xc8
,
0x73
,
0xac
,
0x82
,
0x26
,
0x6c
,
0xf6
,
0x57
,
0x06
,
0x9c
,
0x7a
,
0x8a
,
0xea
,
0x1
3
,
0xe4
,
0xd
b
,
0x26
,
0x54
,
0x3a
,
0xb8
,
0x27
,
0x42
,
0xa4
,
0x2f
,
0xb9
,
0x95
,
0xc3
,
0x1e
,
0xea
,
0x87
,
0x
08
,
0x8b
,
0xb2
,
0x00
,
0xf6
,
0xfd
,
0x4c
,
0x7e
,
0x59
,
0xa7
,
0xe2
,
0xf9
,
0x2b
,
0x0e
,
0x9f
,
0xe0
,
0x0
5
,
0x14
,
0xac
,
0xfd
,
0x99
,
0x21
,
0x5e
,
0xab
,
0x01
,
0x7e
,
0x2c
,
0x97
,
0x7e
,
0x2a
,
0x81
,
0x8d
,
0x
93
,
0x24
,
0xb0
,
0x79
,
0x19
,
0x4e
,
0xc7
,
0xc3
,
0xc8
,
0xa5
,
0x38
,
0xf4
,
0x38
,
0x0e
,
0x5c
,
0xbd
,
0x1a
,
0xd3
,
0xab
,
0x
9b
,
0xf1
,
0x30
,
0x42
,
0x6a
,
0x4a
,
0xc3
,
0x64
,
0xf6
,
0x97
,
0x06
,
0xc0
,
0x0d
,
0x51
,
0x6
5
,
0x6a
,
0x1b
,
0x07
,
0x8f
,
0x11
,
0xe3
,
0xe8
,
0xab
,
0x5b
,
0x61
,
0xb2
,
0x4c
,
0xd7
,
0xd3
,
0x
32
,
0x65
,
0x52
,
0x8f
,
0xe2
,
0x34
,
0x0c
,
0x99
,
0x1e
,
0x39
,
0x78
,
0x5d
,
0xc9
,
0x4a
,
0x83
,
0xa
f
,
0x
0d
,
0xa8
,
0x8f
,
0x49
,
0xc5
,
0x26
,
0x69
,
0x34
,
0x0e
,
0x9e
,
0x28
,
0xb2
,
0xaf
,
0x88
,
0x2a
,
0x73
,
0x
d9
,
0x58
,
0xe1
,
0x45
,
0x79
,
0xe1
,
0x9d
,
0x87
,
0x8a
,
0xa4
,
0x64
,
0xac
,
0xf2
,
0x62
,
0x5d
,
0x79
,
0x
97
,
0xe0
,
0x14
,
0xc5
,
0x3e
,
0x8e
,
0x79
,
0x38
,
0x72
,
0xa3
,
0x24
,
0x20
,
0x7b
,
0x04
,
0x07
,
0xb2
,
0x
fe
,
0x2a
,
0xa8
,
0x91
,
0x4e
,
0x6c
,
0x6b
,
0xbb
,
0xfd
,
0x93
,
0x01
,
0xf3
,
0x9f
,
0x8a
,
0x76
,
0xdb
,
0x
4e
,
0x02
,
0xac
,
0x76
,
0xf6
,
0xfc
,
0x29
,
0x71
,
0x4d
,
0x62
,
0xd1
,
0xf4
,
0xa8
,
0x74
,
0x7d
,
0xe3
,
0x
d9
,
0xe9
,
0xca
,
0x50
,
0x85
,
0xe9
,
0x14
,
0x15
,
0x14
,
0xab
,
0xeb
,
0xf8
,
0x71
,
0x28
,
0xce
,
0x85
,
0x
45
,
0xea
,
0x12
,
0xaf
,
0x28
,
0x0e
,
0xa0
,
0x36
,
0x56
,
0xbc
,
0xa2
,
0x75
,
0xe9
,
0x3e
,
0xa7
,
0xd
a
,
0x
a3
,
0x21
,
0xcf
,
0xe5
,
0x9a
,
0xb6
,
0xc9
,
0x93
,
0xf9
,
0x34
,
0xcc
,
0x44
,
0xac
,
0x97
,
0xdd
,
0xa6
,
0x
d4
,
0x40
,
0x28
,
0x93
,
0x75
,
0x40
,
0xc9
,
0x6d
,
0x09
,
0xe5
,
0x86
,
0xf7
,
0x3e
,
0x82
,
0x6a
,
0xf6
,
0x
df
,
0x98
,
0xd9
,
0x80
,
0xba
,
0xd3
,
0x76
,
0x76
,
0x9d
,
0xb5
,
0x2d
,
0xe7
,
0x9e
,
0xd3
,
0xbe
,
0xd9
,
0x
78
,
0xc9
,
0xac
,
0x41
,
0xf9
,
0xd6
,
0xf5
,
0xb5
,
0xad
,
0xdd
,
0x5b
,
0x77
,
0x1b
,
0x86
,
0x59
,
0x87
,
0x
ca
,
0xda
,
0x7a
,
0xfb
,
0x13
,
0xb4
,
0xbd
,
0xb6
,
0xd5
,
0x28
,
0xac
,
0x5f
,
0xbf
,
0xb7
,
0xd1
,
0x23
,
0x
bc
,
0x3f
,
0xec
,
0x0a
,
0x12
,
0x57
,
0x9e
,
0x90
,
0x30
,
0x24
,
0x4f
,
0x38
,
0xf6
,
0xfb
,
0x2b
,
0x0a
,
0x
e5
,
0xfb
,
0x01
,
0x61
,
0x9c
,
0x92
,
0xee
,
0x90
,
0xe3
,
0x60
,
0x25
,
0xc5
,
0xba
,
0x22
,
0xa1
,
0x67
,
0x
c3
,
0x41
,
0x77
,
0xb5
,
0x3b
,
0x2b
,
0x4d
,
0x57
,
0xfe
,
0x0c
,
0x00
,
0x00
,
0xff
,
0xff
,
0xac
,
0xb7
,
0x
6c
,
0x03
,
0x41
,
0x14
,
0x00
,
0x00
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xec
,
0x58
,
0x
cd
,
0x6f
,
0x1b
,
0x45
,
0x14
,
0x6
7
,
0x6d
,
0x27
,
0xb6
,
0xdf
,
0x3a
,
0xa9
,
0xbb
,
0xf4
,
0x63
,
0x0b
,
0x81
,
0xba
,
0xcb
,
0x57
,
0x
a0
,
0x22
,
0xa9
,
0x52
,
0x84
,
0x10
,
0x97
,
0x36
,
0x89
,
0xfb
,
0xb1
,
0x6a
,
0x62
,
0xc2
,
0x38
,
0xad
,
0xd
4
,
0x5e
,
0x56
,
0xeb
,
0xdd
,
0x89
,
0x3d
,
0xed
,
0x7e
,
0xb8
,
0x33
,
0xe3
,
0xa6
,
0xee
,
0x99
,
0x1b
,
0x
82
,
0x03
,
0x12
,
0xff
,
0x00
,
0x7f
,
0x00
,
0x67
,
0x4e
,
0x20
,
0x71
,
0x42
,
0xe2
,
0x8e
,
0x84
,
0xc4
,
0x
91
,
0xbf
,
0x82
,
0x13
,
0x9a
,
0x8f
,
0x5d
,
0xdb
,
0xa9
,
0x93
,
0xa6
,
0x86
,
0x0a
,
0x21
,
0xb8
,
0xed
,
0x
bc
,
0x79
,
0x7e
,
0x33
,
0xbf
,
0xdf
,
0xef
,
0xbd
,
0x79
,
0x33
,
0x86
,
0x45
,
0x92
,
0x70
,
0x4c
,
0x1
3
,
0x
3f
,
0x5a
,
0xe9
,
0xd3
,
0x94
,
0xa7
,
0xd6
,
0xe9
,
0x98
,
0x44
,
0x8f
,
0x06
,
0x4c
,
0x8d
,
0x56
,
0xb2
,
0x
c9
,
0x57
,
0x6a
,
0x41
,
0x1a
,
0xc7
,
0x69
,
0xa2
,
0xcc
,
0xce
,
0xf7
,
0x06
,
0x2c
,
0x6c
,
0xa6
,
0x71
,
0x3
f
,
0x4d
,
0x70
,
0xc2
,
0xdd
,
0x64
,
0x2f
,
0xb5
,
0xce
,
0xc0
,
0x7c
,
0x92
,
0x86
,
0xd8
,
0x6d
,
0xd
a
,
0x
46
,
0xc3
,
0x58
,
0x2e
,
0x22
,
0x3d
,
0xb2
,
0x2c
,
0x28
,
0xd1
,
0x34
,
0xc2
,
0x76
,
0xa1
,
0x61
,
0x2c
,
0x
57
,
0x91
,
0xfc
,
0xb6
,
0xae
,
0x00
,
0x30
,
0xee
,
0x73
,
0xec
,
0x05
,
0x69
,
0x88
,
0xed
,
0x62
,
0xc3
,
0x
58
,
0x5e
,
0x5c
,
0x6b
,
0xac
,
0x4c
,
0x5d
,
0x77
,
0xa5
,
0x2d
,
0x1c
,
0x37
,
0xd3
,
0x10
,
0xa3
,
0x2a
,
0x
cb
,
0x3e
,
0xad
,
0xab
,
0x00
,
0xf8
,
0x31
,
0xa7
,
0xbe
,
0x47
,
0x92
,
0xbd
,
0xd4
,
0x2e
,
0x35
,
0x8a
,
0x
cb
,
0xe6
,
0xda
,
0x85
,
0xc9
,
0x00
,
0x7a
,
0xbb
,
0xb7
,
0xf0
,
0xf0
,
0x8e
,
0x1f
,
0x0d
,
0xf0
,
0x8e
,
0x
4f
,
0x28
,
0xaa
,
0xca
,
0x1f
,
0x89
,
0xed
,
0x3a
,
0xbf
,
0x1a
,
0x70
,
0x22
,
0x07
,
0x20
,
0xd7
,
0x60
,
0x
d6
,
0xc7
,
0x30
,
0x27
,
0x97
,
0x90
,
0x08
,
0xcc
,
0xb5
,
0x37
,
0x0f
,
0xd9
,
0xd1
,
0x04
,
0x6e
,
0xa4
,
0x
7e
,
0x62
,
0xdd
,
0x86
,
0x97
,
0xd9
,
0xa0
,
0x13
,
0x64
,
0x53
,
0x9e
,
0xb4
,
0x32
,
0xbb
,
0x20
,
0xb7
,
0x
76
,
0xbc
,
0x48
,
0xd6
,
0x78
,
0x00
,
0xbd
,
0xa5
,
0xcb
,
0x30
,
0x2f
,
0x22
,
0x0d
,
0x98
,
0x64
,
0xc
9
,
0x
5c
,
0x7b
,
0x75
,
0x2a
,
0xc8
,
0xb6
,
0x74
,
0x41
,
0xda
,
0xd5
,
0xb9
,
0x03
,
0x95
,
0x96
,
0x20
,
0x5f
,
0x
c8
,
0xf2
,
0x21
,
0x94
,
0xfd
,
0x30
,
0xa4
,
0x98
,
0x31
,
0x8d
,
0x6a
,
0x69
,
0x6a
,
0x84
,
0x75
,
0xe5
,
0x
83
,
0x32
,
0xe7
,
0x69
,
0xb2
,
0x39
,
0xf7
,
0x01
,
0xdc
,
0x84
,
0xf0
,
0x1d
,
0x9f
,
0xfa
,
0x31
,
0x3b
,
0x
54
,
0xf0
,
0x26
,
0xd4
,
0x18
,
0xf7
,
0x29
,
0xf7
,
0xfa
,
0xd2
,
0x4f
,
0x53
,
0x70
,
0x0c
,
0x75
,
0x4c
,
0x
f9
,
0x33
,
0x15
,
0xdd
,
0xb9
,
0x0b
,
0xd0
,
0xe6
,
0x94
,
0x24
,
0xdd
,
0x2d
,
0xc2
,
0xb8
,
0x58
,
0xeb
,
0x
91
,
0xf0
,
0x13
,
0x20
,
0x8a
,
0xcb
,
0x55
,
0xa4
,
0x47
,
0x63
,
0xf4
,
0x14
,
0x8e
,
0x4f
,
0xcf
,
0x15
,
0x
30
,
0x77
,
0x49
,
0x8c
,
0x77
,
0x49
,
0xf0
,
0x60
,
0x9b
,
0x75
,
0xad
,
0x4b
,
0x50
,
0xea
,
0xf8
,
0x0c
,
0x
1f
,
0x49
,
0xcf
,
0x36
,
0xeb
,
0x6e
,
0xf8
,
0x0c
,
0x23
,
0xe9
,
0xe9
,
0xfc
,
0x66
,
0xc0
,
0xd9
,
0x4d
,
0x
8a
,
0x65
,
0x32
,
0x46
,
0x11
,
0x0e
,
0x38
,
0x49
,
0x13
,
0x84
,
0x1f
,
0x0e
,
0x30
,
0xe3
,
0xcf
,
0x1
f
,
0x
cd
,
0x3a
,
0x0b
,
0xe5
,
0xb0
,
0xe3
,
0x25
,
0x7e
,
0x9c
,
0x91
,
0x3d
,
0x1f
,
0x76
,
0x5a
,
0x7e
,
0x8c
,
0x
ad
,
0xb7
,
0x61
,
0x31
,
0xc8
,
0xe3
,
0x0b
,
0x8b
,
0xcc
,
0x81
,
0x2a
,
0x3a
,
0x60
,
0x15
,
0x52
,
0x85
,
0x
1d
,
0xb7
,
0x69
,
0x97
,
0xa4
,
0x0c
,
0xf2
,
0xdb
,
0x72
,
0xa0
,
0x36
,
0xf2
,
0x72
,
0x9b
,
0xf6
,
0x9c
,
0x
9c
,
0x9b
,
0xb0
,
0x09
,
0x52
,
0x59
,
0xd0
,
0xc3
,
0xb1
,
0x6f
,
0xcf
,
0x37
,
0x8c
,
0xe5
,
0x1a
,
0xd2
,
0x
23
,
0xe7
,
0x47
,
0x03
,
0x4e
,
0x37
,
0x69
,
0xda
,
0xff
,
0x37
,
0x83
,
0x73
,
0xbe
,
0x28
,
0xc0
,
0x19
,
0x
a5
,
0xd1
,
0x8e
,
0x4f
,
0x39
,
0x79
,
0x41
,
0x28
,
0xde
,
0x81
,
0x13
,
0xa3
,
0x55
,
0x95
,
0xc3
,
0x74
,
0x1
8
,
0x6f
,
0xc1
,
0x62
,
0x3f
,
0xdb
,
0x87
,
0xf2
,
0x2b
,
0x49
,
0xbf
,
0x85
,
0xdc
,
0x3a
,
0x81
,
0x76
,
0x
ee
,
0x08
,
0xb4
,
0xf3
,
0x53
,
0xa4
,
0x6c
,
0x80
,
0x99
,
0x07
,
0x72
,
0x9b
,
0x76
,
0x59
,
0xba
,
0x8c
,
0x
9b
,
0x9c
,
0xcf
,
0x0b
,
0x70
,
0x4a
,
0x88
,
0xfa
,
0x3f
,
0x1b
,
0x82
,
0x8d
,
0x1f
,
0x0a
,
0x60
,
0xa9
,
0x
ec
,
0x70
,
0x93
,
0x10
,
0x3f
,
0xfe
,
0x27
,
0xb9
,
0x78
,
0x0d
,
0x60
,
0x8f
,
0xe0
,
0x28
,
0x1c
,
0xe7
,
0x
a1
,
0x2a
,
0x2d
,
0x7f
,
0x89
,
0x03
,
0x1b
,
0xca
,
0x32
,
0x48
,
0x8e
,
0x3f
,
0x1b
,
0x8a
,
0xf3
,
0x5
9
,
0x
f5
,
0x4e
,
0x7d
,
0x3e
,
0x57
,
0x8e
,
0x7d
,
0x3e
,
0xcb
,
0x9f
,
0xe9
,
0xf3
,
0xf9
,
0xdb
,
0x22
,
0x2c
,
0x
b8
,
0x09
,
0xc3
,
0x94
,
0xff
,
0x97
,
0x13
,
0xc9
,
0x5a
,
0x82
,
0x2a
,
0xc3
,
0xdd
,
0x58
,
0xb4
,
0xf0
,
0x
a6
,
0x5d
,
0x91
,
0xf3
,
0x23
,
0x83
,
0x98
,
0x0d
,
0x7a
,
0x7e
,
0x92
,
0xe0
,
0xc8
,
0x6d
,
0xda
,
0x55
,
0x
25
,
0x6d
,
0x6e
,
0xb0
,
0x5e
,
0x07
,
0xe0
,
0x24
,
0xc6
,
0x8c
,
0xfb
,
0x71
,
0x9f
,
0xd9
,
0xd0
,
0x28
,
0x
2e
,
0x97
,
0xd0
,
0x98
,
0x45
,
0x9c
,
0xcf
,
0x34
,
0xdd
,
0x77
,
0x9b
,
0xcc
,
0x36
,
0x1b
,
0x45
,
0xd
1
,
0x
60
,
0xd5
,
0xc8
,
0xfa
,
0x00
,
0x2a
,
0x34
,
0xdd
,
0xf7
,
0x42
,
0x9f
,
0xfb
,
0x76
,
0x4d
,
0x8a
,
0x77
,
0x
6e
,
0x2a
,
0xd9
,
0x1b
,
0x51
,
0xda
,
0x41
,
0x65
,
0x9a
,
0xee
,
0x37
,
0x7d
,
0xee
,
0x3b
,
0xdf
,
0x15
,
0x
60
,
0xa1
,
0x8d
,
0x7d
,
0x1a
,
0xf4
,
0x66
,
0x17
,
0xec
,
0x5d
,
0xa8
,
0x53
,
0xcc
,
0x06
,
0x11
,
0xf7
,
0x
46
,
0xb0
,
0x94
,
0x72
,
0x27
,
0x94
,
0x7d
,
0x33
,
0x07
,
0x97
,
0x51
,
0x5e
,
0x3c
,
0x82
,
0xf2
,
0xd2
,
0x
14
,
0xca
,
0x1d
,
0xa8
,
0x8d
,
0xf1
,
0xcb
,
0xec
,
0x39
,
0x09
,
0x7d
,
0xc2
,
0x66
,
0xd5
,
0xa1
,
0x18
,
0x
b2
,
0x48
,
0x2a
,
0x56
,
0x45
,
0xe2
,
0xd3
,
0xba
,
0x08
,
0x27
,
0xfb
,
0x91
,
0x1f
,
0xe0
,
0x5e
,
0x1a
,
0x8
5
,
0x98
,
0x7a
,
0x5d
,
0x9a
,
0x0e
,
0xfa
,
0x52
,
0xae
,
0x1a
,
0xaa
,
0x8f
,
0x4d
,
0xdc
,
0x10
,
0x76
,
0x
6b
,
0x15
,
0xe6
,
0x1e
,
0x0e
,
0x30
,
0x1d
,
0x4a
,
0xbd
,
0x8e
,
0x24
,
0x4f
,
0xf9
,
0x39
,
0xbf
,
0x18
,
0x
23
,
0xea
,
0x04
,
0x4a
,
0x36
,
0x03
,
0x75
,
0xb3
,
0xdc
,
0x54
,
0xa6
,
0xf2
,
0x5d
,
0x9c
,
0xce
,
0xf
7
,
0x
79
,
0x30
,
0x63
,
0xcc
,
0x29
,
0x09
,
0x3c
,
0x3e
,
0xec
,
0x67
,
0x65
,
0x00
,
0xca
,
0xb4
,
0x3b
,
0xec
,
0x
cb
,
0x1a
,
0xe8
,
0x11
,
0xae
,
0x08
,
0xad
,
0x21
,
0xf9
,
0xed
,
0xfc
,
0x6c
,
0xc0
,
0x42
,
0x13
,
0x47
,
0x
98
,
0xe3
,
0xd9
,
0x73
,
0x62
,
0x4a
,
0xad
,
0x16
,
0xa6
,
0xd6
,
0xea
,
0x44
,
0x31
,
0x14
,
0x8f
,
0x2e
,
0x
86
,
0xd2
,
0x53
,
0xc5
,
0x70
,
0x01
,
0x6a
,
0x7d
,
0x4a
,
0x62
,
0x9f
,
0x0e
,
0xbd
,
0x07
,
0x78
,
0x98
,
0x
e5
,
0x85
,
0xa9
,
0x6d
,
0xb7
,
0xf0
,
0x90
,
0x39
,
0xdf
,
0x18
,
0x50
,
0xb9
,
0x1e
,
0x0d
,
0x58
,
0x6f
,
0x
a6
,
0x5b
,
0xdd
,
0x64
,
0x29
,
0x17
,
0x0e
,
0x96
,
0xf2
,
0xc1
,
0xdc
,
0x2d
,
0x3e
,
0x23
,
0x77
,
0x77
,
0x
fd
,
0xae
,
0x16
,
0x61
,
0xc2
,
0xe6
,
0xfc
,
0x61
,
0x40
,
0x75
,
0x2b
,
0xf5
,
0x43
,
0xd9
,
0x77
,
0xf
e
,
0xf
6
,
0x5d
,
0x2e
,
0xc1
,
0xa8
,
0x75
,
0x64
,
0x1c
,
0x8f
,
0x7a
,
0xc9
,
0x58
,
0x4f
,
0x28
,
0x4d
,
0xf6
,
0x
84
,
0xf3
,
0x60
,
0x12
,
0xb1
,
0x21
,
0xaf
,
0xef
,
0xf3
,
0x9e
,
0x22
,
0xb7
,
0x8a
,
0x40
,
0x9a
,
0x76
,
0x
84
,
0x45
,
0x34
,
0x8d
,
0xcc
,
0x41
,
0x36
,
0x8d
,
0xf9
,
0x63
,
0x37
,
0x0d
,
0x1d
,
0x44
,
0x36
,
0x8d
,
0x
df
,
0x0b
,
0x60
,
0xb7
,
0xd5
,
0x66
,
0x45
,
0xa6
,
0x13
,
0xc6
,
0x49
,
0xc0
,
0x6e
,
0xf7
,
0x43
,
0xf9
,
0x
d4
,
0x59
,
0x82
,
0x6a
,
0x3b
,
0x47
,
0xa6
,
0x9e
,
0x14
,
0x23
,
0x83
,
0xc8
,
0x8f
,
0x6d
,
0x1c
,
0xa7
,
0x
74
,
0xd8
,
0x26
,
0x4f
,
0xb0
,
0x06
,
0x3e
,
0x66
,
0x11
,
0xd8
,
0x5a
,
0x83
,
0x18
,
0xa5
,
0xfb
,
0x4c
,
0x
4b
,
0x93
,
0x0d
,
0x05
,
0xb6
,
0x40
,
0xb6
,
0x7a
,
0x4f
,
0xa4
,
0x93
,
0x44
,
0x5e
,
0x42
,
0xa0
,
0x4c
,
0x
e2
,
0x1d
,
0x60
,
0x9d
,
0x83
,
0x0a
,
0x4e
,
0x42
,
0x35
,
0x3b
,
0x27
,
0x67
,
0xcb
,
0x38
,
0x09
,
0xe5
,
0x
94
,
0x0b
,
0x8b
,
0xfa
,
0x2d
,
0x93
,
0x32
,
0x29
,
0xa1
,
0x3c
,
0x74
,
0xcc
,
0x35
,
0xe7
,
0x90
,
0x07
,
0x
dd
,
0x36
,
0xeb
,
0xee
,
0x68
,
0x4f
,
0xb4
,
0xa0
,
0x9e
,
0x33
,
0x7a
,
0x68
,
0x5d
,
0x83
,
0x9a
,
0x58
,
0x
25
,
0x0f
,
0x54
,
0x3e
,
0x76
,
0x20
,
0x13
,
0x27
,
0x61
,
0x1e
,
0xc6
,
0x81
,
0x1a
,
0x61
,
0x2d
,
0xbc
,
0x
af
,
0x99
,
0x91
,
0x67
,
0x58
,
0x05
,
0x4d
,
0xd8
,
0x9c
,
0xaf
,
0x0c
,
0x38
,
0xf9
,
0x14
,
0xcd
,
0x3
3
,
0xe4
,
0xd
a
,
0x2d
,
0xa8
,
0xb4
,
0x71
,
0x57
,
0x84
,
0xc8
,
0x5e
,
0x71
,
0xab
,
0x87
,
0x3d
,
0xd2
,
0x0f
,
0x
11
,
0x15
,
0xe5
,
0x01
,
0x9c
,
0xfb
,
0xb9
,
0xf4
,
0xb2
,
0x46
,
0xc5
,
0xd3
,
0x57
,
0x1c
,
0x3c
,
0xe1
,
0x0
b
,
0x28
,
0x56
,
0xe7
,
0x33
,
0x43
,
0xbc
,
0x54
,
0x43
,
0xfc
,
0x58
,
0x2e
,
0xfd
,
0x54
,
0xf2
,
0x1a
,
0x
b3
,
0x24
,
0xaf
,
0x75
,
0x09
,
0x4e
,
0x25
,
0x83
,
0xd8
,
0xa3
,
0x38
,
0xf2
,
0x39
,
0x0e
,
0x3d
,
0xbd
,
0x1a
,
0xd3
,
0xab
,
0x
5b
,
0xc9
,
0x20
,
0x46
,
0x6a
,
0x4a
,
0xc3
,
0x64
,
0xce
,
0x97
,
0x06
,
0xc0
,
0x75
,
0x51
,
0x6
1
,
0x6a
,
0x1b
,
0x07
,
0x8f
,
0x10
,
0xe3
,
0xe8
,
0x6b
,
0x5b
,
0x61
,
0xb2
,
0x44
,
0x37
,
0xb2
,
0x
12
,
0x65
,
0x52
,
0x8f
,
0xe2
,
0x34
,
0x0c
,
0xb9
,
0x1e
,
0x23
,
0xf0
,
0xba
,
0x8a
,
0x95
,
0x06
,
0x5
f
,
0x
1b
,
0x50
,
0x1b
,
0x93
,
0x8a
,
0x4d
,
0xd2
,
0x68
,
0x1c
,
0x3c
,
0x4d
,
0x64
,
0x4f
,
0x11
,
0x15
,
0xe6
,
0x
b1
,
0xb1
,
0xa2
,
0x8b
,
0x47
,
0x45
,
0x77
,
0x0e
,
0x2a
,
0x92
,
0x92
,
0xb1
,
0xaa
,
0x4b
,
0x74
,
0xd5
,
0x
5d
,
0x84
,
0x93
,
0x14
,
0x07
,
0x38
,
0xe1
,
0xd1
,
0xd0
,
0x8b
,
0xd3
,
0x90
,
0xec
,
0x11
,
0x1c
,
0xca
,
0x
da
,
0xab
,
0xa0
,
0x7a
,
0x36
,
0xb1
,
0xad
,
0xed
,
0xce
,
0x4f
,
0x06
,
0x2c
,
0x7e
,
0x2a
,
0x5a
,
0x6d
,
0x
2b
,
0x0d
,
0xb1
,
0xda
,
0xd9
,
0xf3
,
0xa7
,
0xc4
,
0x55
,
0x89
,
0x45
,
0xd3
,
0xa3
,
0xd2
,
0xf5
,
0x8d
,
0x
67
,
0xa7
,
0x2b
,
0x43
,
0x15
,
0xa6
,
0x53
,
0x54
,
0x50
,
0xac
,
0xae
,
0xe2
,
0xc7
,
0xa1
,
0x78
,
0x24
,
0x
2c
,
0x52
,
0x17
,
0x78
,
0x45
,
0x71
,
0x08
,
0xe6
,
0x58
,
0xed
,
0x8a
,
0xb6
,
0xa5
,
0x7b
,
0x9c
,
0x6
a
,
0x
8d
,
0x86
,
0x3c
,
0x93
,
0x4d
,
0x6d
,
0x93
,
0xa7
,
0xf2
,
0x29
,
0x98
,
0x8b
,
0x59
,
0x37
,
0xbf
,
0x49
,
0x
a9
,
0x81
,
0x50
,
0x26
,
0xef
,
0x7e
,
0x92
,
0xdb
,
0x12
,
0x1a
,
0x19
,
0xde
,
0xfb
,
0x08
,
0xaa
,
0xf9
,
0x
ff
,
0x62
,
0x56
,
0x1d
,
0x6a
,
0x6e
,
0xcb
,
0xdd
,
0x75
,
0xd7
,
0xb7
,
0xdc
,
0x7b
,
0x6e
,
0xeb
,
0x46
,
0x
fd
,
0x25
,
0xcb
,
0x84
,
0xf2
,
0xcd
,
0x6b
,
0xeb
,
0x5b
,
0xbb
,
0x37
,
0xef
,
0xd6
,
0x0d
,
0xab
,
0x06
,
0x
95
,
0xf5
,
0x8d
,
0xd6
,
0x27
,
0x68
,
0x7b
,
0x7d
,
0xab
,
0x5e
,
0xd8
,
0xb8
,
0x76
,
0x6f
,
0xb3
,
0x4b
,
0x
78
,
0x6f
,
0xd0
,
0x11
,
0x24
,
0xae
,
0x3e
,
0x21
,
0x51
,
0x44
,
0x9e
,
0x70
,
0x1c
,
0xf4
,
0x56
,
0x15
,
0x
ca
,
0xf7
,
0x43
,
0xc2
,
0x38
,
0x25
,
0x9d
,
0x01
,
0xc7
,
0xe1
,
0x6a
,
0x86
,
0x75
,
0x55
,
0x42
,
0xcf
,
0x
87
,
0xfd
,
0xce
,
0x5a
,
0x67
,
0x5e
,
0x9a
,
0x2e
,
0xff
,
0x19
,
0x00
,
0x00
,
0xff
,
0xff
,
0x23
,
0xe9
,
0x
2e
,
0x4b
,
0x3d
,
0x14
,
0x00
,
0x00
,
}
internal/proxynode/impl.go
浏览文件 @
1aafe86f
...
...
@@ -442,10 +442,8 @@ func (node *NodeImpl) GetIndexState(request *milvuspb.IndexStateRequest) (*milvu
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
reqTimeoutInterval
)
defer
cancel
()
dipt
:=
&
GetIndexStateTask
{
Condition
:
NewTaskCondition
(
ctx
),
IndexStateRequest
:
request
,
indexServiceClient
:
node
.
indexServiceClient
,
masterClientInterface
:
node
.
masterClient
,
Condition
:
NewTaskCondition
(
ctx
),
IndexStateRequest
:
request
,
}
err
:=
node
.
sched
.
DdQueue
.
Enqueue
(
dipt
)
...
...
internal/proxynode/interface.go
浏览文件 @
1aafe86f
...
...
@@ -23,7 +23,6 @@ type MasterClient interface {
CreateIndex
(
in
*
milvuspb
.
CreateIndexRequest
)
(
*
commonpb
.
Status
,
error
)
DescribeIndex
(
in
*
milvuspb
.
DescribeIndexRequest
)
(
*
milvuspb
.
DescribeIndexResponse
,
error
)
ShowSegments
(
in
*
milvuspb
.
ShowSegmentRequest
)
(
*
milvuspb
.
ShowSegmentResponse
,
error
)
DescribeSegment
(
in
*
milvuspb
.
DescribeSegmentRequest
)
(
*
milvuspb
.
DescribeSegmentResponse
,
error
)
}
type
IndexServiceClient
interface
{
...
...
internal/proxynode/task.go
浏览文件 @
1aafe86f
...
...
@@ -6,8 +6,6 @@ import (
"math"
"strconv"
"github.com/zilliztech/milvus-distributed/internal/proto/indexpb"
"github.com/zilliztech/milvus-distributed/internal/proto/datapb"
"github.com/golang/protobuf/proto"
...
...
@@ -1287,9 +1285,8 @@ func (dit *DescribeIndexTask) PostExecute() error {
type
GetIndexStateTask
struct
{
Condition
*
milvuspb
.
IndexStateRequest
indexServiceClient
IndexServiceClient
masterClientInterface
MasterClient
result
*
milvuspb
.
IndexStateResponse
indexServiceClient
IndexServiceClient
result
*
milvuspb
.
IndexStateResponse
}
func
(
dipt
*
GetIndexStateTask
)
OnEnqueue
()
error
{
...
...
@@ -1339,98 +1336,17 @@ func (dipt *GetIndexStateTask) PreExecute() error {
}
func
(
dipt
*
GetIndexStateTask
)
Execute
()
error
{
collectionName
:=
dipt
.
CollectionName
collectionID
,
err
:=
globalMetaCache
.
GetCollectionID
(
collectionName
)
if
err
!=
nil
{
// err is not nil if collection not exists
return
err
}
showPartitionRequest
:=
&
milvuspb
.
ShowPartitionRequest
{
Base
:
&
commonpb
.
MsgBase
{
MsgType
:
commonpb
.
MsgType_kShowPartitions
,
MsgID
:
dipt
.
Base
.
MsgID
,
Timestamp
:
dipt
.
Base
.
Timestamp
,
SourceID
:
Params
.
ProxyID
,
},
DbName
:
dipt
.
DbName
,
CollectionName
:
collectionName
,
CollectionID
:
collectionID
,
}
partitions
,
err
:=
dipt
.
masterClientInterface
.
ShowPartitions
(
showPartitionRequest
)
if
err
!=
nil
{
return
err
}
for
_
,
partitionID
:=
range
partitions
.
PartitionIDs
{
showSegmentsRequest
:=
&
milvuspb
.
ShowSegmentRequest
{
Base
:
&
commonpb
.
MsgBase
{
MsgType
:
commonpb
.
MsgType_kShowSegment
,
MsgID
:
dipt
.
Base
.
MsgID
,
Timestamp
:
dipt
.
Base
.
Timestamp
,
SourceID
:
Params
.
ProxyID
,
},
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
}
segments
,
err
:=
dipt
.
masterClientInterface
.
ShowSegments
(
showSegmentsRequest
)
if
err
!=
nil
{
return
err
}
getIndexStatesRequest
:=
&
indexpb
.
IndexStatesRequest
{
IndexBuildIDs
:
make
([]
UniqueID
,
0
),
}
for
_
,
segmentID
:=
range
segments
.
SegmentIDs
{
describeSegmentRequest
:=
&
milvuspb
.
DescribeSegmentRequest
{
Base
:
&
commonpb
.
MsgBase
{
MsgType
:
commonpb
.
MsgType_kDescribeSegment
,
MsgID
:
dipt
.
Base
.
MsgID
,
Timestamp
:
dipt
.
Base
.
Timestamp
,
SourceID
:
Params
.
ProxyID
,
},
CollectionID
:
collectionID
,
SegmentID
:
segmentID
,
}
segmentDesc
,
err
:=
dipt
.
masterClientInterface
.
DescribeSegment
(
describeSegmentRequest
)
if
err
!=
nil
{
return
err
}
getIndexStatesRequest
.
IndexBuildIDs
=
append
(
getIndexStatesRequest
.
IndexBuildIDs
,
segmentDesc
.
BuildID
)
}
states
,
err
:=
dipt
.
indexServiceClient
.
GetIndexStates
(
getIndexStatesRequest
)
if
err
!=
nil
{
return
err
}
if
states
.
Status
.
ErrorCode
!=
commonpb
.
ErrorCode_SUCCESS
{
dipt
.
result
=
&
milvuspb
.
IndexStateResponse
{
Status
:
states
.
Status
,
State
:
commonpb
.
IndexState_FAILED
,
}
return
nil
}
for
_
,
state
:=
range
states
.
States
{
if
state
.
State
!=
commonpb
.
IndexState_FINISHED
{
dipt
.
result
=
&
milvuspb
.
IndexStateResponse
{
Status
:
states
.
Status
,
State
:
state
.
State
,
}
return
nil
}
}
}
// TODO: use index service client
//var err error
//dipt.result, err = dipt.masterClient.GetIndexState(dipt.IndexStateRequest)
//return err
dipt
.
result
=
&
milvuspb
.
IndexStateResponse
{
Status
:
&
commonpb
.
Status
{
ErrorCode
:
commonpb
.
ErrorCode_SUCCESS
,
ErrorCode
:
0
,
Reason
:
""
,
},
State
:
commonpb
.
IndexState_FINISHED
,
}
return
nil
}
...
...
internal/querynode/load_service.go
浏览文件 @
1aafe86f
...
...
@@ -383,7 +383,7 @@ func (s *loadService) releaseSegment(segmentID UniqueID) error {
return
err
}
func
(
s
*
loadService
)
seekSegment
(
position
s
[]
*
internalpb2
.
MsgPosition
)
error
{
func
(
s
*
loadService
)
seekSegment
(
position
*
internalpb2
.
MsgPosition
)
error
{
// TODO: open seek
//for _, position := range positions {
// err := s.dmStream.Seek(position)
...
...
internal/querynode/query_node.go
浏览文件 @
1aafe86f
...
...
@@ -446,8 +446,8 @@ func (node *QueryNode) LoadSegments(in *queryPb.LoadSegmentRequest) (*commonpb.S
// segments are ordered before LoadSegments calling
if
in
.
LastSegmentState
.
State
==
commonpb
.
SegmentState_SegmentGrowing
{
segmentNum
:=
len
(
segmentIDs
)
position
s
:=
in
.
LastSegmentState
.
StartPositions
err
=
node
.
loadService
.
seekSegment
(
position
s
)
position
:=
in
.
LastSegmentState
.
StartPosition
err
=
node
.
loadService
.
seekSegment
(
position
)
if
err
!=
nil
{
status
:=
&
commonpb
.
Status
{
ErrorCode
:
commonpb
.
ErrorCode_UNEXPECTED_ERROR
,
...
...
internal/queryservice/queryservice.go
浏览文件 @
1aafe86f
...
...
@@ -318,14 +318,14 @@ func (qs *QueryService) LoadPartitions(req *querypb.LoadPartitionRequest) (*comm
segmentID
:=
state
.
SegmentID
segmentStates
[
segmentID
]
=
state
var
flatChannelName
string
channelNames
:=
make
([]
string
,
0
)
for
i
,
str
:=
range
state
.
StartPositions
{
flatChannelName
+=
str
.
ChannelName
channelNames
=
append
(
channelNames
,
str
.
ChannelName
)
if
i
+
1
<
len
(
state
.
StartPositions
)
{
flatChannelName
+=
"/"
}
}
//
channelNames := make([]string, 0)
//
for i, str := range state.StartPositions {
//
flatChannelName += str.ChannelName
//
channelNames = append(channelNames, str.ChannelName)
//
if i+1 < len(state.StartPositions) {
//
flatChannelName += "/"
//
}
//
}
if
flatChannelName
==
""
{
log
.
Fatal
(
"segmentState's channel name is empty"
)
}
...
...
@@ -365,8 +365,8 @@ func (qs *QueryService) LoadPartitions(req *querypb.LoadPartitionRequest) (*comm
if
channels
==
node
.
insertChannels
{
statesID
:=
id2segs
[
i
][
len
(
id2segs
[
i
])
-
1
]
//TODO :: should be start position
position
:=
segmentStates
[
statesID
-
1
]
.
StartPositions
segmentStates
[
statesID
]
.
StartPositions
=
position
//
position := segmentStates[statesID-1].StartPositions
//
segmentStates[statesID].StartPositions = position
loadSegmentRequest
:=
&
querypb
.
LoadSegmentRequest
{
CollectionID
:
collectionID
,
PartitionID
:
partitionID
,
...
...
internal/queryservice/queryservice_test.go
浏览文件 @
1aafe86f
...
...
@@ -115,10 +115,10 @@ func newDataMock() *dataMock {
Status
:
&
commonpb
.
Status
{
ErrorCode
:
commonpb
.
ErrorCode_SUCCESS
,
},
SegmentID
:
segmentID
,
State
:
state
,
CreateTime
:
time
,
StartPositions
:
position
,
SegmentID
:
segmentID
,
State
:
state
,
CreateTime
:
time
,
//
StartPositions: position,
}
}
segmentStates
:=
make
(
map
[
UniqueID
]
*
datapb
.
SegmentStateInfo
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录