Skip to content

Commit 5cd0168

Browse files
author
Christoph Hellwig
committed
add the string library from musl
Import the whole string library, as well as the ctype functions from the musl C library. Must is a BSD licensed library that aims to be API and mostly ABI compatible with glibc, so it's our easiest way to provide the ABI we need without reinventing the wheel. I will import more of the traditional non-syscall C library code from it and expect libc/ to eventually mostly consist of slightly modified musl code.
1 parent 54e4b14 commit 5cd0168

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+2598
-380
lines changed

libc/build.mak

+108-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,125 @@
11
libc :=
22

33
libc += getopt.o
4+
5+
libc += ctype/__ctype_b_loc.o
6+
libc += ctype/__ctype_get_mb_cur_max.o
7+
libc += ctype/__ctype_tolower_loc.o
8+
libc += ctype/__ctype_toupper_loc.o
9+
libc += ctype/isalnum.o
10+
libc += ctype/isalpha.o
11+
libc += ctype/isascii.o
12+
libc += ctype/isblank.o
13+
libc += ctype/iscntrl.o
14+
libc += ctype/isdigit.o
15+
libc += ctype/isgraph.o
16+
libc += ctype/islower.o
17+
libc += ctype/isprint.o
18+
libc += ctype/ispunct.o
19+
libc += ctype/isspace.o
20+
libc += ctype/isupper.o
21+
libc += ctype/iswalnum.o
22+
libc += ctype/iswalpha.o
23+
libc += ctype/iswblank.o
24+
libc += ctype/iswcntrl.o
25+
libc += ctype/iswctype.o
26+
libc += ctype/iswdigit.o
27+
libc += ctype/iswgraph.o
28+
libc += ctype/iswlower.o
29+
libc += ctype/iswprint.o
30+
libc += ctype/iswpunct.o
31+
libc += ctype/iswspace.o
32+
libc += ctype/iswupper.o
33+
libc += ctype/iswxdigit.o
34+
libc += ctype/isxdigit.o
35+
libc += ctype/toascii.o
36+
libc += ctype/tolower.o
37+
libc += ctype/toupper.o
38+
libc += ctype/towctrans.o
39+
libc += ctype/wcswidth.o
40+
libc += ctype/wctrans.o
41+
libc += ctype/wcwidth.o
42+
43+
libc += string/bcmp.o
44+
libc += string/bcopy.o
45+
libc += string/bzero.o
46+
libc += string/index.o
47+
libc += string/memccpy.o
48+
libc += string/memchr.o
49+
libc += string/memcmp.o
50+
libc += string/memcpy.o
51+
libc += string/memmem.o
52+
libc += string/memmove.o
53+
libc += string/mempcpy.o
54+
libc += string/memrchr.o
55+
libc += string/memset.o
56+
libc += string/rindex.o
57+
libc += string/stpcpy.o
58+
libc += string/stpncpy.o
59+
libc += string/strcasecmp.o
60+
libc += string/strcasestr.o
61+
libc += string/strcat.o
62+
libc += string/strchr.o
63+
libc += string/strchrnul.o
464
libc += string/strcmp.o
565
libc += string/strcpy.o
6-
libc += string/strlcpy.o
66+
libc += string/strcspn.o
67+
libc += string/strdup.o
68+
libc += string/strerror_r.o
769
libc += string/strlcat.o
70+
libc += string/strlcpy.o
71+
libc += string/strlen.o
72+
libc += string/strncasecmp.o
73+
libc += string/strncat.o
874
libc += string/strncmp.o
9-
libc += string.o
75+
libc += string/strncpy.o
76+
libc += string/strndup.o
77+
libc += string/strnlen.o
78+
libc += string/strpbrk.o
79+
libc += string/strrchr.o
80+
libc += string/strsep.o
81+
libc += string/strsignal.o
82+
libc += string/strspn.o
83+
libc += string/strstr.o
84+
libc += string/strtok.o
85+
libc += string/strtok_r.o
86+
libc += string/strverscmp.o
87+
libc += string/swab.o
88+
libc += string/wcpcpy.o
89+
libc += string/wcpncpy.o
90+
libc += string/wcscasecmp.o
91+
libc += string/wcscasecmp_l.o
92+
libc += string/wcscat.o
93+
libc += string/wcschr.o
94+
libc += string/wcscmp.o
95+
libc += string/wcscpy.o
96+
libc += string/wcscspn.o
97+
libc += string/wcsdup.o
98+
libc += string/wcslen.o
99+
libc += string/wcsncasecmp.o
100+
libc += string/wcsncasecmp_l.o
101+
libc += string/wcsncat.o
102+
libc += string/wcsncmp.o
103+
libc += string/wcsncpy.o
104+
libc += string/wcsnlen.o
105+
libc += string/wcspbrk.o
106+
libc += string/wcsrchr.o
107+
libc += string/wcsspn.o
108+
libc += string/wcsstr.o
109+
libc += string/wcstok.o
110+
libc += string/wcswcs.o
111+
libc += string/wmemchr.o
112+
libc += string/wmemcmp.o
113+
libc += string/wmemcpy.o
114+
libc += string/wmemmove.o
115+
libc += string/wmemset.o
10116
libc += printf.o
11117
libc += pthread.o
12118
libc += dir.o
13119
libc += file.o
14120
libc += libc.o
15121
libc += dlfcn.o
16122
libc += time.o
17-
libc += ctype.o
18123
libc += signal.o
19124
libc += mman.o
20125
libc += qsort.o

libc/ctype.cc

-30
This file was deleted.

libc/ctype/__ctype_b_loc.c

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#include <ctype.h>
2+
#include <endian.h>
3+
4+
#if __BYTE_ORDER == __BIG_ENDIAN
5+
#define X(x) x
6+
#else
7+
#define X(x) (((x)/256 | (x)*256) % 65536)
8+
#endif
9+
10+
static const unsigned short table[] = {
11+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
13+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
15+
X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),
16+
X(0x200),X(0x320),X(0x220),X(0x220),X(0x220),X(0x220),X(0x200),X(0x200),
17+
X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),
18+
X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),X(0x200),
19+
X(0x160),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),
20+
X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),
21+
X(0x8d8),X(0x8d8),X(0x8d8),X(0x8d8),X(0x8d8),X(0x8d8),X(0x8d8),X(0x8d8),
22+
X(0x8d8),X(0x8d8),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),
23+
X(0x4c0),X(0x8d5),X(0x8d5),X(0x8d5),X(0x8d5),X(0x8d5),X(0x8d5),X(0x8c5),
24+
X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),
25+
X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),X(0x8c5),
26+
X(0x8c5),X(0x8c5),X(0x8c5),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),
27+
X(0x4c0),X(0x8d6),X(0x8d6),X(0x8d6),X(0x8d6),X(0x8d6),X(0x8d6),X(0x8c6),
28+
X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),
29+
X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),X(0x8c6),
30+
X(0x8c6),X(0x8c6),X(0x8c6),X(0x4c0),X(0x4c0),X(0x4c0),X(0x4c0),X(0x200),
31+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
32+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
33+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
34+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
35+
};
36+
37+
static const unsigned short *const ptable = table+128;
38+
39+
const unsigned short **__ctype_b_loc(void)
40+
{
41+
return (void *)&ptable;
42+
}

libc/ctype/__ctype_get_mb_cur_max.c

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include <stdlib.h>
2+
3+
size_t __ctype_get_mb_cur_max()
4+
{
5+
return 4;
6+
}

libc/ctype/__ctype_tolower_loc.c

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <ctype.h>
2+
#include <inttypes.h>
3+
4+
static const int32_t table[] = {
5+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
6+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9+
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
10+
16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
11+
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,
12+
48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,
13+
64,
14+
'a','b','c','d','e','f','g','h','i','j','k','l','m',
15+
'n','o','p','q','r','s','t','u','v','w','x','y','z',
16+
91,92,93,94,95,96,
17+
'a','b','c','d','e','f','g','h','i','j','k','l','m',
18+
'n','o','p','q','r','s','t','u','v','w','x','y','z',
19+
123,124,125,126,127,
20+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
22+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
24+
};
25+
26+
static const int32_t *const ptable = table+128;
27+
28+
const int32_t **__ctype_tolower_loc(void)
29+
{
30+
return (void *)&ptable;
31+
}

libc/ctype/__ctype_toupper_loc.c

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include <ctype.h>
2+
#include <inttypes.h>
3+
4+
static const int32_t table[] = {
5+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
6+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9+
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
10+
16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
11+
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,
12+
48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,
13+
64,
14+
'A','B','C','D','E','F','G','H','I','J','K','L','M',
15+
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
16+
91,92,93,94,95,96,
17+
'A','B','C','D','E','F','G','H','I','J','K','L','M',
18+
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
19+
123,124,125,126,127,
20+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
22+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
23+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
24+
};
25+
26+
static const int32_t *const ptable = table+128;
27+
28+
const int32_t **__ctype_toupper_loc(void)
29+
{
30+
return (void *)&ptable;
31+
}

libc/ctype/alpha.h

+125
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,
2+
41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,
3+
17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,
4+
17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
5+
17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
6+
17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
7+
17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,
8+
17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
9+
17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
10+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,
11+
73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,
12+
16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,
13+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
14+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,
15+
16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
17+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,
18+
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
19+
88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
20+
92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,
21+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,
22+
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
23+
255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,
24+
255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,
25+
255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,
26+
0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,
27+
255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
28+
255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
29+
255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,
30+
0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,
31+
255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,
32+
255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,
33+
255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,
34+
0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,
35+
225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,
36+
255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,
37+
255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,
38+
159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,
39+
0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,
40+
255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,
41+
93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,
42+
254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,
43+
59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,
44+
255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,
45+
255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,
46+
255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,
47+
255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,
48+
255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,
49+
255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,
50+
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
51+
255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,
52+
255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,
53+
0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,
54+
3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,
55+
255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,
56+
63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,
57+
255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,
58+
0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,
59+
243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,
60+
255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,
61+
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
62+
255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,
63+
63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,
64+
0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,
65+
243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
66+
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,
67+
255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,
68+
255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,
69+
255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,
70+
255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,
71+
0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,
72+
255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,
73+
255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,
74+
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
75+
63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
76+
255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,
77+
255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,
78+
255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,
79+
255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,
80+
255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,
81+
0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,
82+
255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,
83+
255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,
84+
255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,
85+
255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,
86+
0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,
87+
255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,
88+
255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,
89+
255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,
90+
95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,
91+
255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,
92+
255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,
93+
0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,
94+
0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,
95+
255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,
96+
0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,
97+
0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
98+
0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,
99+
255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,
100+
15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
101+
255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,
102+
145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,
103+
255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,
104+
239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
105+
255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
106+
0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
107+
0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,
108+
255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,
109+
0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,
110+
0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,
111+
255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
112+
0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
113+
0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
114+
0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
115+
0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,
116+
248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
117+
0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,
118+
255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,
119+
223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,
120+
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
121+
255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,
122+
247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,
123+
255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,
124+
255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,
125+
251,255,15,0,0,0,0,0,0,0,0,

0 commit comments

Comments
 (0)