0
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0F
R
A
M
E
0
1
S
H
E
L
F
1
0
L
O
C
A
L
0
11
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P
N
A
T
I
V
E
0
1
0
M
A
C
O
S
1
0
1
A
P
P0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1P
R
I
V
A
C
Y
1
0
F
I
R
S
T
0
1
T
R
U
E1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
1
B
U
I
L
D
0
1
S
H
I
P
1
0
C
R
A
F
T
0
10
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
1
00
1
Q
1
0
N
0
1
E
1
0
T
0
1
R
1
0
A
0
11
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E
Q
U
A
N
E
T
R
A
0
1
0
1
0
1
P
R
I
V
A
T
E0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
0
1
0
1
0
1
1
0
22/tcp open ssh_visual80/tcp open web_shell443/tcp open privacy_tls404/tcp closed tracking
4 sectors scanned // 0 threats
NEURAL LINK OVERLOADBUFFER_SPIKE // 0xFF77A9
DISPLAY SIGNAL LOST[ ESC / TAP ]
⚠ SYSTEM PANIC ⚠QUANETRA_FAILSAFE_PROTOCOL // SYSTEM HALTED[ ESC / TAP ]
[ ROUTE://SYNC ]
jakub@quanetra:~/projects$ open frameshelf.app
Native macOS app
Your videos. Finally organized.
FrameShelf scans a selected folder and its subfolders to build a fast visual library from files already on your Mac or a connected drive. It never imports or moves them.
Colorful text illustration showing a video contact sheet in FrameShelf.
scan --library
[00]----[01]----[02]----[03]----[04]----[00]----[01]----[02]----[03]----[04]----[00]----[01]----[02]----[03]----[04]----[00]----[01]----[02]----[03]----[04]----+-------+.......+-------+.......+-------++-------+.......+-------+.......+-------++-------+.......+-------+.......+-------++-------+.......+-------+.......+-------+{ scan }-->{ sort }-->{ tag }-->{ find }{ scan }-->{ sort }-->{ tag }-->{ find }{ scan }-->{ sort }-->{ tag }-->{ find }{ scan }-->{ sort }-->{ tag }-->{ find }
[ FEATURES://INDEX ]items = 4;
// features
Order without changing your habits.
+--[01]--+
A folder becomes a library
Choose a folder on your Mac, an external drive, or an available network volume. FrameShelf scans its subfolders and groups videos by their real location.
+--[02]--+
Thumbnails and 4×4 sheets
The app matches clip.mp4.jpg or, when you ask it to, saves a contact sheet with 16 evenly spaced frames beside the movie. It can also fill all missing thumbnails without replacing existing ones.
+--[03]--+
Search, tags, and filters
Search names and tags, combine required and excluded tags, and use folders, favorites, and history. Tags are part of the filename; editing them also renames related images, and conflicts are never overwritten.
+--[04]--+
Private by design
Videos are never imported or uploaded. FrameShelf works offline in the macOS App Sandbox and accesses only folders you explicitly select.
REC_2026_08_24.mov+--[ footage ]--+00:18:42
// for_creators
Hours of footage. Seconds to the right shot.
Shooting trips, events, YouTube videos, or documenting your own projects? FrameShelf can create a sheet of 16 frames sampled evenly across a movie, making it easier to identify the right recording.
Hover over a tile or press Space to show the large preview. Arrow keys move the selection, Enter or a double-click opens the movie in its default player, and Escape closes the preview.
✓ search by filename and tags
✓ required, any, and excluded tags
✓ favorites, history, and sorting
+--[ preview://selected ]--+
REC_0042.MOVFRAME_LOCKED00:18:42
// privacy
Your library stays with you.
$ frameshelf --privacy-check
✓ videos imported into the app 0
✓ videos uploaded to cloud 0
✓ accounts / analytics / ads 0
✓ access outside selected folders 0
status: files stay in place
privacy = local;
>>>>>>> BUILD >>>>>>> TEST >>>>>>> SIGN >>>>>>> SHIP >>>>>>> BUILD >>>>>>> TEST >>>>>>> SIGN >>>>>>> SHIP >>>>>>> BUILD >>>>>>> TEST >>>>>>> SIGN >>>>>>> SHIP >>>>>>> BUILD >>>>>>> TEST >>>>>>> SIGN >>>>>>> SHIP [OK]--------[OK]--------[OK]--------[READY]-----[OK]--------[OK]--------[OK]--------[READY]-----[OK]--------[OK]--------[OK]--------[READY]-----[OK]--------[OK]--------[OK]--------[READY]-----return 0;....checksum:pass....mode:native....return 0;....checksum:pass....mode:native....return 0;....checksum:pass....mode:native....return 0;....checksum:pass....mode:native....