25 captures
27 Oct 2020 - 31 Dec 2025
Mar
APR
May
28
2022
2023
2024
success
fail
About this capture
COLLECTED BY
Organization:
Internet Archive
Focused crawls are collections of frequently-updated webcrawl data from narrow (as opposed to broad or wide) web crawls, often focused on a single domain or subdomain.
Collection:
github.com
TIMESTAMPS
T
h
e
W
a
y
b
a
c
k
M
a
c
h
i
n
e
-
h
t
t
p
:
/
/
w
e
b
.
a
r
c
h
i
v
e
.
o
r
g
/
w
e
b
/
2
0
2
3
0
4
2
8
1
4
4
6
3
7
/
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
t
o
p
i
c
s
/
p
y
t
h
o
n
-
m
o
d
u
l
e
s
S
k
i
p
t
o
c
o
n
t
e
n
t
T
o
g
g
l
e
n
a
v
i
g
a
t
i
o
n
S
i
g
n
up
●
P
r
o
d
u
c
t
A
c
t
i
o
n
s
A
u
t
o
m
a
t
e
a
n
y
w
o
r
k
f
l
o
w
P
a
c
k
a
g
e
s
H
o
s
t
a
n
d
m
a
n
a
g
e
p
a
c
k
a
g
e
s
S
e
c
u
r
i
t
y
F
i
n
d
a
n
d
f
i
x
v
u
l
n
e
r
a
b
i
l
i
t
i
e
s
C
o
d
e
s
p
a
c
e
s
I
n
s
t
a
n
t
d
e
v
e
n
v
i
r
o
n
m
e
n
t
s
C
o
p
i
l
o
t
W
r
i
t
e
b
e
t
t
e
r
c
o
d
e
w
i
t
h
A
I
C
o
d
e
r
e
v
i
e
w
M
a
n
a
g
e
c
o
d
e
c
h
a
n
g
e
s
I
s
s
u
e
s
P
l
a
n
a
n
d
t
r
a
c
k
w
o
r
k
D
i
s
c
u
s
s
i
o
n
s
C
o
l
l
a
b
o
r
a
t
e
o
u
t
s
i
d
e
o
f
c
o
d
e
E
x
p
l
o
r
e
●
A
l
l
f
e
a
t
u
r
e
s
●
D
o
c
u
m
e
n
t
a
t
i
o
n
●
G
i
t
H
u
b
S
k
i
l
l
s
●
B
l
o
g
●
S
o
l
u
t
i
o
n
s
F
o
r
●
E
n
t
e
r
p
r
i
s
e
●
T
e
a
m
s
●
S
t
a
r
t
u
p
s
●
E
d
u
c
a
t
i
o
n
B
y
S
o
l
u
t
i
o
n
●
C
I
/
C
D
&
A
u
t
o
m
a
t
i
o
n
●
D
e
v
O
p
s
●
D
e
v
S
e
c
O
p
s
C
a
s
e
S
t
u
d
i
e
s
●
C
u
s
t
o
m
e
r
S
t
o
r
i
e
s
●
R
e
s
o
u
r
c
e
s
●
O
p
e
n
S
o
u
r
c
e
G
i
t
H
u
b
S
p
o
n
s
o
r
s
F
u
n
d
o
p
e
n
s
o
u
r
c
e
d
e
v
e
l
o
p
e
r
s
T
h
e
R
e
a
d
M
E
P
r
o
j
e
c
t
G
i
t
H
u
b
c
o
m
m
u
n
i
t
y
a
r
t
i
c
l
e
s
R
e
p
o
s
i
t
o
r
i
e
s
●
T
o
p
i
c
s
●
T
r
e
n
d
i
n
g
●
C
o
l
l
e
c
t
i
o
n
s
●
P
r
i
c
i
n
g
In this topic
All GitHub
↵
Jump to
↵
No suggested jump to results
In this topic
All GitHub
↵
Jump to
↵
Search
All GitHub
↵
Jump to
↵
In this topic
All GitHub
↵
Jump to
↵
S
i
g
n
i
n
S
i
g
n
u
p
{
{
m
e
s
s
a
g
e
}
}
E
x
p
l
o
r
e
T
o
p
i
c
s
T
r
e
n
d
i
n
g
C
o
l
l
e
c
t
i
o
n
s
E
v
e
n
t
s
G
i
t
H
u
b
S
p
o
n
s
o
r
s
G
e
t
e
m
a
i
l
u
p
d
a
t
e
s
#
p
y
t
h
o
n
-
m
o
d
u
l
e
s
S
t
a
r
H
e
r
e
a
r
e
9
0
p
u
b
l
i
c
r
e
p
o
s
i
t
o
r
i
e
s
m
a
t
c
h
i
n
g
t
h
i
s
t
o
p
i
c
.
.
.
L
a
n
g
u
a
g
e
:
A
l
l
F
i
l
t
e
r
b
y
l
a
n
g
u
a
g
e
A
l
l
90
P
y
t
h
o
n
66
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
16
C
2
J
a
v
a
S
c
r
i
p
t
1
M
a
k
e
f
i
l
e
1
S
o
r
t
:
M
o
s
t
s
t
a
r
s
S
o
r
t
o
p
t
i
o
n
s
M
o
s
t
s
t
a
r
s
F
e
w
e
s
t
s
t
a
r
s
M
o
s
t
f
o
r
k
s
F
e
w
e
s
t
f
o
r
k
s
R
e
c
e
n
t
l
y
u
p
d
a
t
e
d
L
e
a
s
t
r
e
c
e
n
t
l
y
u
p
d
a
t
e
d
f
a
s
t
a
i
/
n
b
d
e
v
S
t
a
r
4
.
3
k
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
C
r
e
a
t
e
d
e
l
i
g
h
t
f
u
l
s
o
f
t
w
a
r
e
w
i
t
h
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
s
p
y
t
h
o
n
j
u
p
y
t
e
r
p
y
p
i
d
o
c
u
m
e
n
t
a
t
i
o
n
-
t
o
o
l
c
o
n
d
a
d
e
v
e
l
o
p
e
r
-
t
o
o
l
s
l
i
t
e
r
a
t
e
-
p
r
o
g
r
a
m
m
i
n
g
j
u
p
y
t
e
r
-
n
o
t
e
b
o
o
k
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
f
a
s
t
a
i
d
o
c
u
m
e
n
t
a
t
i
o
n
-
g
e
n
e
r
a
t
o
r
n
b
d
e
v
●
U
p
d
a
t
e
d
A
p
r
2
7
,
2
0
2
3
●
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
u
n
p
i
n
g
c
o
/
P
y
t
h
o
n
-
f
o
r
-
P
r
o
b
a
b
i
l
i
t
y
-
S
t
a
t
i
s
t
i
c
s
-
a
n
d
-
M
a
c
h
i
n
e
-
L
e
a
r
n
i
n
g
-
2
E
S
t
a
r
2
8
5
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
S
e
c
o
n
d
e
d
i
t
i
o
n
o
f
S
p
r
i
n
g
e
r
B
o
o
k
P
y
t
h
o
n
f
o
r
P
r
o
b
a
b
i
l
i
t
y
,
S
t
a
t
i
s
t
i
c
s
,
a
n
d
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
m
a
c
h
i
n
e
-
l
e
a
r
n
i
n
g
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
r
o
b
a
b
i
l
i
t
y
-
s
t
a
t
i
s
t
i
c
s
s
p
r
i
n
g
e
r
-
b
o
o
k
-
p
y
t
h
o
n
●
U
p
d
a
t
e
d
S
e
p
2
1
,
2
0
2
1
●
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
c
a
s
s
i
o
b
o
t
a
r
o
/
a
w
e
s
o
m
e
-
p
y
t
h
o
n
-
m
o
d
u
l
e
s
-
a
s
-
s
c
r
i
p
t
S
t
a
r
1
4
9
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
C
a
t
a
l
o
g
u
e
o
f
u
s
e
f
u
l
p
y
t
h
o
n
m
o
d
u
l
e
s
t
h
a
t
r
u
n
a
s
s
c
r
i
p
t
.
c
a
t
a
l
o
g
u
e
p
y
t
h
o
n
-
m
o
d
u
l
e
s
●
U
p
d
a
t
e
d
N
o
v
2
9
,
2
0
2
2
d
o
g
o
n
c
o
u
c
h
/
l
o
g
d
i
s
s
e
c
t
S
t
a
r
1
2
7
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
C
L
I
u
t
i
l
i
t
y
a
n
d
P
y
t
h
o
n
m
o
d
u
l
e
f
o
r
a
n
a
l
y
z
i
n
g
l
o
g
f
i
l
e
s
a
n
d
o
t
h
e
r
d
a
t
a
.
c
l
i
s
e
c
u
r
i
t
y
p
a
r
s
e
r
j
s
o
n
d
a
t
a
-
s
c
i
e
n
c
e
l
i
b
r
a
r
y
l
o
g
-
a
n
a
l
y
s
i
s
m
o
d
u
l
e
p
a
r
s
i
n
g
c
o
m
m
a
n
d
-
l
i
n
e
p
y
t
h
o
n
-
l
i
b
r
a
r
y
s
y
s
l
o
g
f
o
r
e
n
s
i
c
s
d
a
t
a
-
a
n
a
l
y
s
i
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
l
o
g
-
p
a
r
s
e
r
p
a
r
s
i
n
g
-
l
i
b
r
a
r
y
f
o
r
e
n
s
i
c
-
a
n
a
l
y
s
i
s
p
y
t
h
o
n
-
m
o
d
u
l
e
●
U
p
d
a
t
e
d
F
e
b
8
,
2
0
2
1
●
P
y
t
h
o
n
M
a
t
t
h
i
a
s
1
5
9
0
/
C
o
n
s
o
l
e
D
r
a
w
S
t
a
r
1
1
6
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
A
p
y
t
h
o
n
m
o
d
u
l
e
t
o
u
p
d
a
t
e
t
h
e
c
o
n
s
o
l
e
w
i
t
h
o
u
t
f
l
a
s
h
i
n
g
.
p
y
t
h
o
n
c
o
n
s
o
l
e
c
o
n
s
o
l
e
-
g
a
m
e
c
o
n
s
o
l
e
-
a
p
p
l
i
c
a
t
i
o
n
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
y
t
h
o
n
-
t
e
r
m
i
n
a
l
p
y
t
h
o
n
-
c
o
n
s
o
l
e
t
e
r
m
i
n
a
l
-
g
a
m
e
p
y
t
h
o
n
-
m
o
d
u
l
e
t
e
r
m
i
n
a
l
-
a
p
p
l
i
c
a
t
i
o
n
p
y
t
h
o
n
m
o
d
u
l
e
p
y
t
h
o
n
-
c
o
n
s
o
l
e
-
g
a
m
e
p
y
t
h
o
n
m
o
d
u
l
e
s
●
U
p
d
a
t
e
d
J
a
n
1
4
,
2
0
2
2
●
P
y
t
h
o
n
k
e
s
h
a
v
s
i
n
g
h
4
5
2
2
/
P
y
t
h
o
n
S
t
a
r
63
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
●
D
i
s
c
u
s
s
i
o
n
s
t
h
i
s
r
e
s
p
o
r
a
t
o
r
y
h
a
v
e
m
l
,
a
i
,
n
l
p
,
d
a
t
a
s
c
i
e
n
c
e
e
t
c
.
p
y
t
h
o
n
l
a
n
g
u
a
g
e
r
e
l
a
t
e
d
m
a
t
e
r
i
a
l
f
r
o
m
m
a
n
y
w
e
b
s
i
t
e
s
e
g
.
d
a
t
a
c
a
m
p
,
g
e
e
k
s
f
o
r
g
e
e
k
s
,
l
i
n
k
e
d
i
n
,
y
o
u
t
u
b
e
,
u
d
e
m
y
e
t
c
.
a
l
s
o
i
t
i
n
c
l
u
d
e
p
r
o
g
r
a
m
m
i
n
g
c
h
a
l
l
a
n
g
e
/
c
o
m
p
e
t
i
o
n
s
o
l
u
t
i
o
n
s
n
l
p
d
a
t
a
-
s
c
i
e
n
c
e
d
a
t
a
b
a
s
e
ai
ml
c
o
m
p
e
t
i
t
i
v
e
-
p
r
o
g
r
a
m
m
i
n
g
p
y
t
h
o
n
3
h
a
c
k
e
r
e
a
r
t
h
p
r
o
g
r
a
m
m
i
n
g
-
c
h
a
l
l
e
n
g
e
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
h
a
c
k
t
o
b
e
r
f
e
s
t
d
i
g
i
t
a
l
-
i
m
a
g
e
-
p
r
o
c
e
s
s
i
n
g
h
a
c
k
e
r
r
a
n
k
-
p
y
t
h
o
n
h
a
c
k
e
r
r
a
n
k
-
s
o
l
u
t
i
o
n
s
d
a
t
a
s
t
r
u
c
t
u
r
e
c
o
d
e
c
h
e
f
-
s
o
l
u
t
i
o
n
s
h
a
c
k
e
r
e
a
r
t
h
-
s
o
l
u
t
i
o
n
s
h
a
c
k
e
r
e
a
r
t
h
-
p
y
t
h
o
n
g
e
e
k
s
f
o
r
g
e
e
k
s
-
i
n
t
e
r
v
i
e
w
-
p
r
e
p
l
e
e
t
c
o
d
e
-
3
0
d
a
y
s
-
c
h
a
l
l
e
n
g
e
●
U
p
d
a
t
e
d
F
e
b
1
6
,
2
0
2
3
●
P
y
t
h
o
n
v
l
a
d
p
u
n
k
o
/
n
o
t
e
b
o
o
k
-
e
n
v
i
r
o
n
m
e
n
t
s
S
t
a
r
45
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
M
a
n
a
g
e
p
y
t
h
o
n
v
i
r
t
u
a
l
e
n
v
i
r
o
n
m
e
n
t
s
o
n
t
h
e
w
o
r
k
i
n
g
n
o
t
e
b
o
o
k
s
e
r
v
e
r
j
u
p
y
t
e
r
-
k
e
r
n
e
l
s
j
u
p
y
t
e
r
-
n
o
t
e
b
o
o
k
s
p
y
t
h
o
n
-
s
c
r
i
p
t
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
u
n
i
x
-
s
h
e
l
l
m
a
c
o
s
-
s
h
e
l
l
●
U
p
d
a
t
e
d
N
o
v
2
1
,
2
0
2
1
●
P
y
t
h
o
n
0
x
d
o
l
a
n
/
k
u
r
d
i
s
h
S
t
a
r
31
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
K
u
r
d
i
s
h
L
a
n
g
u
a
g
e
L
i
b
r
a
r
y
f
o
r
c
o
n
v
e
r
t
i
n
g
c
h
a
r
a
c
t
e
r
s
a
n
d
d
i
g
i
t
s
i
n
P
e
r
s
i
a
n
,
E
n
g
l
i
s
h
a
n
d
A
r
a
b
i
c
t
o
K
u
r
d
i
s
h
a
n
d
v
i
c
e
v
e
r
s
a
.
p
y
t
h
o
n
p
y
t
h
o
n
-
l
i
b
r
a
r
y
p
e
r
s
i
a
n
a
r
a
b
i
c
p
y
t
h
o
n
-
m
o
d
u
l
e
s
f
a
r
s
i
d
i
g
i
t
k
u
r
d
i
s
h
c
o
n
v
e
r
t
-
c
h
a
r
a
c
t
e
r
s
k
u
r
d
i
s
h
d
a
t
e
k
u
r
d
i
s
h
c
a
l
e
n
d
a
r
k
u
r
d
i
s
h
k
e
y
b
o
a
r
d
k
u
r
d
i
s
h
-
l
a
n
g
u
a
g
e
-
l
i
b
r
a
r
y
c
o
n
v
e
r
t
i
n
g
-
k
u
r
d
i
s
h
-
d
i
g
i
t
s
k
u
r
d
i
s
h
-
o
s
s
●
U
p
d
a
t
e
d
F
e
b
1
,
2
0
2
2
●
P
y
t
h
o
n
n
o
d
e
p
y
/
n
o
d
e
p
y
S
t
a
r
27
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
A
N
o
d
e
.
j
s
-
l
i
k
e
r
u
n
t
i
m
e
f
o
r
P
y
t
h
o
n
.
p
y
t
h
o
n
p
y
t
h
o
n
-
m
o
d
u
l
e
s
n
o
d
e
-
p
y
●
U
p
d
a
t
e
d
D
e
c
5
,
2
0
1
9
●
P
y
t
h
o
n
S
a
h
i
b
z
a
d
a
S
a
l
m
a
n
/
P
y
t
h
o
n
-
F
u
n
d
a
m
e
n
t
a
l
s
S
t
a
r
22
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
●
D
i
s
c
u
s
s
i
o
n
s
T
h
i
s
r
e
p
o
s
i
t
o
r
y
c
o
n
t
a
i
n
a
l
l
t
h
e
b
a
s
i
c
s
y
o
u
n
e
e
d
t
o
l
e
a
r
n
P
y
t
h
o
n
p
r
o
g
r
a
m
m
i
n
g
f
u
n
c
t
i
o
n
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
y
t
h
o
n
-
d
i
c
t
i
o
n
a
r
y
p
y
t
h
o
n
-
l
i
s
t
s
p
y
t
h
o
n
-
t
u
p
l
e
s
w
h
i
l
e
-
l
o
o
p
s
p
y
t
h
o
n
-
d
a
t
a
t
y
p
e
s
p
y
t
h
o
n
-
l
o
o
p
s
p
y
t
h
o
n
-
f
u
n
c
t
i
o
n
s
-
e
x
a
m
p
l
e
s
f
o
r
-
l
o
o
p
-
i
n
-
p
y
t
h
o
n
●
U
p
d
a
t
e
d
A
p
r
2
4
,
2
0
2
2
●
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
V
i
n
c
e
n
t
L
e
r
o
u
x
/
L
a
s
e
r
S
t
a
r
22
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
P
y
t
h
o
n
m
o
d
u
l
e
s
f
o
r
l
a
s
e
r
s
i
m
u
l
a
t
i
o
n
p
y
t
h
o
n
l
a
s
e
r
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
r
o
p
a
g
a
t
i
o
n
a
b
c
d
l
a
s
e
r
-
s
i
m
u
l
a
t
i
o
n
z
e
r
n
i
k
e
●
U
p
d
a
t
e
d
A
p
r
2
1
,
2
0
2
1
●
J
u
p
y
t
e
r
N
o
t
e
b
o
o
k
j
u
a
n
c
a
r
l
o
s
p
a
c
o
/
g
o
t
h
o
n
S
t
a
r
21
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
P
y
t
h
o
n
3
.
6
+
m
o
d
u
l
e
s
w
r
i
t
t
e
n
o
n
p
u
r
e
G
o
1
.
1
0
+
.
N
o
C
F
F
I
,
n
o
C
T
y
p
e
s
,
n
o
C
G
o
,
n
o
P
y
B
i
n
d
G
e
n
,
j
u
s
t
i
m
p
o
r
t
*
.
g
o
f
i
l
e
s
f
r
o
m
P
y
t
h
o
n
.
p
y
t
h
o
n
g
o
l
a
n
g
p
y
t
h
o
n
3
s
p
e
e
d
p
y
t
h
o
n
-
m
o
d
u
l
e
s
g
o
-
l
a
n
g
●
U
p
d
a
t
e
d
M
a
y
3
,
2
0
1
8
●
P
y
t
h
o
n
J
o
r
d
a
n
L
e
i
c
h
/
B
l
a
c
k
j
a
c
k
-
2
1
S
p
o
n
s
o
r
S
t
a
r
9
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
T
h
i
s
i
s
a
g
a
m
e
w
h
e
r
e
y
o
u
p
l
a
y
a
g
a
i
n
s
t
t
h
e
d
e
a
l
e
r
a
n
d
t
r
y
t
o
g
e
t
t
h
e
h
i
g
h
e
r
v
a
l
u
e
s
o
f
c
a
r
d
s
w
i
t
h
o
u
t
e
x
c
e
e
d
i
n
g
t
h
e
n
u
m
b
e
r
2
1
.
g
a
m
e
c
a
r
d
s
b
l
a
c
k
j
a
c
k
p
y
t
h
o
n
-
m
o
d
u
l
e
s
d
e
a
l
e
r
t
i
e
p
l
a
y
s
o
u
n
d
c
a
s
h
-
b
a
l
a
n
c
e
h
i
g
h
e
r
-
v
a
l
u
e
s
●
U
p
d
a
t
e
d
O
c
t
2
5
,
2
0
2
1
●
P
y
t
h
o
n
m
m
a
l
a
h
e
/
u
p
b
S
t
a
r
8
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
A
b
o
t
t
h
a
t
l
e
a
r
n
s
t
o
p
l
a
y
t
h
e
F
r
a
n
k
L
a
n
t
z
g
a
m
e
U
n
i
v
e
r
s
a
l
P
a
p
e
r
c
l
i
p
s
u
s
i
n
g
r
e
i
n
f
o
r
c
e
m
e
n
t
l
e
a
r
n
i
n
g
.
b
o
t
p
y
t
h
o
n
-
m
o
d
u
l
e
s
u
n
i
v
e
r
s
a
l
-
p
a
p
e
r
c
l
i
p
s
●
U
p
d
a
t
e
d
J
a
n
2
,
2
0
1
8
●
J
a
v
a
S
c
r
i
p
t
M
a
t
t
h
i
a
s
1
5
9
0
/
I
n
p
u
t
V
a
l
i
d
a
t
i
o
n
S
t
a
r
6
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
A
p
y
t
h
o
n
m
o
d
u
l
e
t
o
v
a
l
i
d
a
t
e
i
n
p
u
t
.
p
y
t
h
o
n
i
n
p
u
t
p
y
t
h
o
n
-
m
o
d
u
l
e
s
i
n
p
u
t
-
v
a
l
i
d
a
t
i
o
n
u
s
e
r
-
i
n
p
u
t
p
y
t
h
o
n
-
m
o
d
u
l
e
i
n
p
u
t
-
v
a
l
i
d
a
t
o
r
u
s
e
r
i
n
p
u
t
i
n
p
u
t
v
a
l
i
d
a
t
o
r
p
y
t
h
o
n
m
o
d
u
l
e
i
n
p
u
t
v
a
l
i
d
a
t
i
o
n
p
y
t
h
o
n
m
o
d
u
l
e
s
●
U
p
d
a
t
e
d
O
c
t
1
0
,
2
0
2
1
●
P
y
t
h
o
n
s
a
g
a
r
g
o
s
w
a
m
i
2
0
0
1
/
S
c
h
o
o
l
-
M
a
n
a
g
e
m
e
n
t
-
S
y
s
t
e
m
-
U
s
i
n
g
-
P
y
t
h
o
n
S
t
a
r
5
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
T
h
i
s
i
s
a
G
U
I
B
a
s
e
d
S
c
h
o
o
l
M
a
n
a
g
e
m
e
n
t
S
y
s
t
e
m
U
s
i
n
g
t
h
e
T
k
i
n
t
e
r
,
S
Q
L
i
t
e
3
,
&
T
k
C
a
l
e
n
d
e
r
L
i
b
r
a
r
i
e
s
.
p
y
t
h
o
n
p
y
t
h
o
n
-
s
c
r
i
p
t
t
k
i
n
t
e
r
s
q
l
i
t
e
3
p
y
t
h
o
n
-
m
o
d
u
l
e
s
s
c
h
o
o
l
-
m
a
n
a
g
e
m
e
n
t
p
y
t
h
o
n
-
p
r
o
j
e
c
t
d
a
t
a
b
a
s
e
-
p
r
o
j
e
c
t
t
k
i
n
t
e
r
-
g
u
i
p
y
t
h
o
n
-
l
i
b
r
a
r
i
e
s
g
u
i
-
p
r
o
j
e
c
t
●
U
p
d
a
t
e
d
D
e
c
4
,
2
0
2
2
●
P
y
t
h
o
n
s
a
g
a
r
g
o
s
w
a
m
i
2
0
0
1
/
S
i
m
p
l
e
-
W
e
b
-
B
r
o
w
s
e
r
-
U
s
i
n
g
-
P
y
t
h
o
n
S
t
a
r
5
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
T
h
i
s
i
s
a
G
U
I
B
a
s
e
d
W
e
b
B
r
o
w
s
e
r
U
s
i
n
g
P
y
Q
t
5
&
P
y
Q
t
W
e
b
E
n
g
i
n
e
M
o
d
u
l
e
s
.
p
y
t
h
o
n
p
y
q
t
5
p
y
t
h
o
n
-
l
i
b
r
a
r
y
w
e
b
-
b
r
o
w
s
e
r
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
y
q
t
5
-
d
e
s
k
t
o
p
-
a
p
p
l
i
c
a
t
i
o
n
p
y
q
t
5
-
g
u
i
p
y
q
t
w
e
b
e
n
g
i
n
e
g
o
o
g
l
e
-
b
r
o
w
s
e
r
-
p
l
u
g
i
n
●
U
p
d
a
t
e
d
D
e
c
2
8
,
2
0
2
2
●
P
y
t
h
o
n
D
e
a
d
s
h
o
t
0
x
7
/
m
y
g
e
o
i
p
S
p
o
n
s
o
r
S
t
a
r
4
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
●
D
i
s
c
u
s
s
i
o
n
s
A
p
y
t
h
o
n
m
o
d
u
l
e
f
o
r
f
i
n
d
i
n
g
t
h
e
g
e
o
l
o
c
a
t
i
o
n
u
s
i
n
g
t
h
e
I
P
a
d
d
r
e
s
s
c
r
e
a
t
e
d
b
y
S
a
y
y
e
d
v
i
q
u
a
r
A
h
m
e
d
p
y
t
h
o
n
p
y
t
h
o
n
-
l
i
b
r
a
r
y
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
y
t
h
o
n
-
m
o
d
u
l
e
●
U
p
d
a
t
e
d
J
u
n
9
,
2
0
2
2
●
P
y
t
h
o
n
K
e
n
n
y
l
/
p
y
t
h
o
n
-
f
o
n
t
f
o
r
g
e
-
s
c
r
i
p
t
S
t
a
r
4
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
P
y
t
h
o
n
S
c
r
i
p
t
f
o
r
F
o
n
t
M
a
n
i
p
u
l
a
t
i
o
n
u
s
i
n
g
F
o
n
t
F
o
r
g
e
M
o
d
u
l
e
p
y
t
h
o
n
f
o
n
t
f
o
n
t
s
a
u
t
o
m
a
t
i
o
n
p
y
t
h
o
n
-
l
i
b
r
a
r
y
p
y
t
h
o
n
-
s
c
r
i
p
t
p
y
t
h
o
n
-
s
c
r
i
p
t
s
p
y
t
h
o
n
-
m
o
d
u
l
e
s
f
o
n
t
f
o
r
g
e
p
y
t
h
o
n
-
m
o
d
u
l
e
p
y
t
h
o
n
s
c
r
i
p
t
p
y
t
h
o
n
-
f
o
n
t
f
o
r
g
e
●
U
p
d
a
t
e
d
N
o
v
5
,
2
0
1
7
●
P
y
t
h
o
n
e
m
r
e
s
v
d
/
f
u
n
c
b
y
g
p
t
S
t
a
r
3
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
t
e
l
l
t
h
e
f
u
n
c
t
i
o
n
w
h
a
t
t
o
d
o
a
n
d
g
p
t
w
i
l
l
w
r
i
t
e
t
h
e
c
o
d
e
p
y
t
h
o
n
ai
p
y
t
h
o
n
3
p
y
t
h
o
n
-
w
r
a
p
p
e
r
p
i
p
o
p
e
n
a
i
g
p
t
p
y
t
h
o
n
-
m
o
d
u
l
e
s
p
y
t
h
o
n
-
w
r
a
p
p
e
r
-
a
p
i
p
y
t
h
o
n
-
m
o
d
u
l
e
p
i
p
3
p
y
t
h
o
n
-
w
r
a
p
p
e
r
-
l
i
b
r
a
r
y
p
y
t
h
o
n
-
a
i
g
p
t
-
2
g
p
t
2
g
p
t
-
3
g
p
t
3
o
p
e
n
a
i
-
a
p
i
●
U
p
d
a
t
e
d
M
a
r
1
7
,
2
0
2
3
●
P
y
t
h
o
n
Load more…
I
m
p
r
o
v
e
t
h
i
s
p
a
g
e
A
d
d
a
d
e
s
c
r
i
p
t
i
o
n
,
i
m
a
g
e
,
a
n
d
l
i
n
k
s
t
o
t
h
e
p
y
t
h
o
n
-
m
o
d
u
l
e
s
t
o
p
i
c
p
a
g
e
s
o
t
h
a
t
d
e
v
e
l
o
p
e
r
s
c
a
n
m
o
r
e
e
a
s
i
l
y
l
e
a
r
n
a
b
o
u
t
i
t
.
C
u
r
a
t
e
t
h
i
s
t
o
p
i
c
A
d
d
t
h
i
s
t
o
p
i
c
t
o
y
o
u
r
r
e
p
o
T
o
a
s
s
o
c
i
a
t
e
y
o
u
r
r
e
p
o
s
i
t
o
r
y
w
i
t
h
t
h
e
p
y
t
h
o
n
-
m
o
d
u
l
e
s
t
o
p
i
c
,
v
i
s
i
t
y
o
u
r
r
e
p
o
'
s
l
a
n
d
i
n
g
p
a
g
e
a
n
d
s
e
l
e
c
t
"
m
a
n
a
g
e
t
o
p
i
c
s
.
"
L
e
a
r
n
m
o
r
e
F
o
o
t
e
r
©
2
0
2
3
G
i
t
H
u
b
,
I
n
c
.
F
o
o
t
e
r
n
a
v
i
g
a
t
i
o
n
●
T
e
r
m
s
●
P
r
i
v
a
c
y
●
S
e
c
u
r
i
t
y
●
S
t
a
t
u
s
●
D
o
c
s
●
C
o
n
t
a
c
t
G
i
t
H
u
b
●
P
r
i
c
i
n
g
●
A
P
I
●
T
r
a
i
n
i
n
g
●
B
l
o
g
●
A
b
o
u
t
Y
o
u
c
a
n
’
t
p
e
r
f
o
r
m
t
h
a
t
a
c
t
i
o
n
a
t
t
h
i
s
t
i
m
e
.
Y
o
u
s
i
g
n
e
d
i
n
w
i
t
h
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.
Y
o
u
s
i
g
n
e
d
o
u
t
i
n
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.