update Makefile to use new nga-c sources, fix amalgamate tool for changes

FossilOrigin-Name: 5837a410e388941d6cb5822732bcd3d003aa313af0d54c548c662883de01c164
This commit is contained in:
crc 2021-04-19 17:28:08 +00:00
parent b543cd63f5
commit 755f064f62
4 changed files with 273 additions and 249 deletions

View file

@ -134,17 +134,17 @@ bin/retro-repl: vm/nga-c/repl.c vm/nga-c/image.c
update-extensions: bin/retro
cd package/extensions && ../../bin/retro -f ../../tools/generate-extensions-list.retro >../load-extensions.retro
vm/nga-c/retro-image.c: ngaImage bin/retro-embedimage bin/retro-extend interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/retro-unix.retro interface/clock.retro
vm/nga-c/image.c: ngaImage bin/retro-embedimage bin/retro-extend interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/retro-unix.retro interface/clock.retro
cp ngaImage rre.image
./bin/retro-extend rre.image interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/clock.retro interface/retro-unix.retro
./bin/retro-embedimage rre.image >vm/nga-c/retro-image.c
./bin/retro-embedimage rre.image >vm/nga-c/image.c
bin/retro: vm/nga-c/retro-image.c vm/nga-c/retro-unix.c vm/nga-c/bsd-strl.c vm/nga-c/config.h vm/nga-c/dev-clock.c vm/nga-c/dev-files.c vm/nga-c/dev-floatingpoint.c vm/nga-c/dev-image.c vm/nga-c/dev-rng.c vm/nga-c/dev-sockets.c vm/nga-c/dev-unix.c vm/nga-c/prototypes.h package/list.forth package/load-extensions.retro
cd vm/nga-c && $(CC) $(OPTIONS) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro-unix.c $(LIBM)
bin/retro: vm/nga-c/image.c vm/nga-c/retro.c package/list.forth package/load-extensions.retro
cd vm/nga-c && $(CC) $(OPTIONS) $(ENABLEd) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro.c $(LIBM)
cd package && ../bin/retro -u rre.image -f list.forth
./bin/retro-embedimage rre.image >vm/nga-c/retro-image.c
./bin/retro-embedimage rre.image >vm/nga-c/image.c
rm rre.image
cd vm/nga-c && $(CC) $(OPTIONS) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro-unix.c $(LIBM)
cd vm/nga-c && $(CC) $(OPTIONS) $(ENABLED) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro.c $(LIBM)

View file

@ -133,7 +133,7 @@ bin/retro-repl: vm/nga-c/repl.c vm/nga-c/image.c
update-extensions: bin/retro
cd package/extensions && ../../bin/retro -f ../../tools/generate-extensions-list.retro >../load-extensions.retro
vm/nga-c/retro-image.c: ngaImage bin/retro-embedimage bin/retro-extend interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/retro-unix.retro interface/clock.retro
vm/nga-c/image.c: ngaImage bin/retro-embedimage bin/retro-extend interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/retro-unix.retro interface/clock.retro
cp ngaImage rre.image
./bin/retro-extend rre.image interface/filesystem.retro interface/floatingpoint.retro interface/unix.retro interface/rng.retro interface/sockets.retro interface/scripting.retro interface/clock.retro interface/retro-unix.retro
./bin/retro-embedimage rre.image >vm/nga-c/image.c
@ -143,7 +143,7 @@ bin/retro: vm/nga-c/image.c vm/nga-c/retro.c package/list.forth package/load-ext
cd package && ../bin/retro -u rre.image -f list.forth
./bin/retro-embedimage rre.image >vm/nga-c/image.c
rm rre.image
cd vm/nga-c && $(CC) -DFAST $(OPTIONS) $(ENABLED) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro-unix.c $(LIBM)
cd vm/nga-c && $(CC) -DFAST $(OPTIONS) $(ENABLED) $(CFLAGS) $(LDFLAGS) -o ../../bin/retro retro.c $(LIBM)
# optional targets

View file

@ -9,15 +9,23 @@ Output will be written to stdout.
## References
[1] vm/nga-c/retro-unix.c
[2] vm/nga-c/retro-image.c
[1] vm/nga-c/retro.c
[2] vm/nga-c/image.c
## Code
Include compilation instructions.
Include compilation instructions and enable i/o devices.
~~~
'/*_Build_with_`cc_-lm_-O2_retro-unix.c_-o_retro`_*/ s:put nl nl
{ 'ENABLE_FLOATS
'ENABLE_FILES
'ENABLE_UNIX
'ENABLE_RNG
'ENABLE_CLOCK
'ENABLE_SCRIPTING
} [ '#define_%s s:format s:put nl ] a:for-each nl
~~~
Then extract and generate the single file source.
@ -34,7 +42,7 @@ Then extract and generate the single file source.
---reveal---
:amalgamate
'vm/nga-c/retro-unix.c [ source:line ] file:for-each-line ;
'vm/nga-c/retro.c [ source:line ] file:for-each-line ;
}}
amalgamate

View file

@ -2,17 +2,17 @@
#ifndef CELL
#define CELL int32_t
#endif
CELL ngaImageCells = 14667;
CELL ngaImage[] = { 1793,14055,14625,14667,202104,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
CELL ngaImageCells = 14989;
CELL ngaImage[] = { 1793,14809,14947,14989,202104,0,10,1,10,2,10,3,10,4,10,5,10,6,10,
7,10,8,10,9,10,10,11,10,12,10,13,10,14,10,15,10,16,10,17,
10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,68223234,1,2575,
85000450,1,656912,141,140,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,2049,56,25,
85000450,1,656912,9354,9398,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,2049,56,25,
459011,76,524546,76,302256641,1,10,16974595,0,50529798,10,25,524547,95,50529798,10,17108738,1,251790353,101777669,
1,17565186,86,524545,90,64,167838467,-1,134287105,3,59,659457,3,459023,107,2049,56,25,2049,107,
1793,114,2049,114,117506307,0,107,0,524545,25,112,168820993,0,126,1642241,126,134283523,7,112,1793,
107,7,524545,2049,107,1793,107,16846593,126,141,140,1793,64,16846593,126,112,140,1793,64,7,
10,659713,1,659713,2,659713,3,1793,168,17108737,3,2,524559,107,2049,107,2049,107,2049,121,
168820998,2,14145,1025,167841793,181,5,17826049,0,181,2,15,25,524546,164,134287105,182,95,2305,183,
168820998,2,14057,1025,167841793,181,5,17826049,0,181,2,15,25,524546,164,134287105,182,95,2305,183,
459023,191,134287361,182,186,659201,181,2049,56,25,84152833,48,286458116,10,459014,206,184618754,45,25,16974851,
-1,168886532,1,134284289,1,215,134284289,0,206,660227,32,0,0,115,105,103,105,108,58,105,
0,285278479,232,6,2576,524546,81,1641217,1,167838467,229,2049,244,2049,240,524545,232,201,17826050,231,
@ -55,7 +55,7 @@ CELL ngaImage[] = { 1793,14055,14625,14667,202104,0,10,1,10,2,10,3,10,4,10,5,10,
0,969,415,146,105,0,980,107,146,100,0,985,409,146,114,0,990,338,146,101,
114,114,58,110,111,116,102,111,117,110,100,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,105,109,97,103,101,58,115,97,118,101,0,103,101,0,
65,68,77,69,46,114,101,116,114,111,0,0,79,85,78,68,0,125,126,0,
65,68,77,69,46,114,101,116,114,111,0,0,110,0,78,68,0,125,126,0,
72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,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,0,0,0,0,0,0,0,0,0,
@ -160,7 +160,7 @@ CELL ngaImage[] = { 1793,14055,14625,14667,202104,0,10,1,10,2,10,3,10,4,10,5,10,
2095,10,1,3076,2049,2095,4100,10,3059,3099,146,118,58,117,112,100,97,116,101,0,
4,1793,3106,15,4,8,10,1,3102,2049,2105,16,10,3087,3120,146,99,111,112,121,
0,1793,3129,285278725,1,33951492,268767489,1,6,10,1,3122,2049,2270,771,10,3112,3148,146,83,
99,111,112,101,76,105,115,116,0,14531,14583,10,3135,3157,146,123,123,0,2049,1570,
99,111,112,101,76,105,115,116,0,14853,14905,10,3135,3157,146,123,123,0,2049,1570,
2,1,3148,2049,59,16,10,3151,3182,146,45,45,45,114,101,118,101,97,108,45,
45,45,0,2049,1570,1,3148,2049,2884,16,10,3166,3196,146,125,125,0,1,3148,2049,
56,4,15,11,1793,3210,3841,3148,4097,2,10,1,3205,1793,3236,3841,3148,1793,3231,1,
@ -179,7 +179,7 @@ CELL ngaImage[] = { 1793,14055,14625,14667,202104,0,10,1,10,2,10,3,10,4,10,5,10,
1,3452,2049,2095,4097,3259,10,3427,3481,133,84,101,109,112,83,116,114,105,110,103,
115,0,32,3466,3499,133,84,101,109,112,83,116,114,105,110,103,77,97,120,0,
512,3482,3511,146,83,84,82,73,78,71,83,0,2049,1543,3841,3481,3841,3499,19,18,
10,3500,3531,133,67,117,114,114,101,110,116,0,19,10,3520,3546,146,115,58,112,
10,3500,3531,133,67,117,114,114,101,110,116,0,14,10,3520,3546,146,115,58,112,
111,105,110,116,101,114,0,3841,3531,3841,3499,19,2049,3511,17,10,3533,3565,146,115,
58,110,101,120,116,0,1,3531,2049,2982,3841,3531,3841,3481,11,1793,3581,1,0,4097,
3531,10,1,3576,9,10,3500,3595,146,115,58,116,101,109,112,0,2,2049,81,2049,
@ -507,233 +507,249 @@ CELL ngaImage[] = { 1793,14055,14625,14667,202104,0,10,1,10,2,10,3,10,4,10,5,10,
115,108,117,114,112,0,1793,10052,4,2049,3422,2049,9707,4097,10010,1793,10043,3841,10010,2049,
9522,2049,3330,10,1,10036,2049,2270,3841,10010,2049,9504,10,1,10027,2049,3446,10,10011,10070,
146,102,105,108,101,58,115,112,101,119,0,2049,9774,4,1793,10079,67502597,2049,9541,10,
1,10075,2049,3863,2049,9504,10,10057,10105,146,102,108,111,97,116,58,111,112,101,114,
97,116,105,111,110,0,1,2,2049,9144,2049,9127,10,10086,10126,146,110,58,116,111,
45,102,108,111,97,116,0,1,0,2049,10105,10,10112,10145,146,115,58,116,111,45,
102,108,111,97,116,0,1,1,2049,10105,10,10131,10165,146,102,58,116,111,45,110,
117,109,98,101,114,0,1,2,2049,10105,10,10150,10185,146,102,58,116,111,45,115,
116,114,105,110,103,0,2049,3621,2,1,3,2049,10105,10,10170,10200,146,102,58,43,
0,1,4,2049,10105,10,10193,10212,146,102,58,45,0,1,5,2049,10105,10,10205,10224,
146,102,58,42,0,1,6,2049,10105,10,10217,10236,146,102,58,47,0,1,7,2049,
10105,10,10229,10252,146,102,58,102,108,111,111,114,0,1,8,2049,10105,10,10241,10270,
146,102,58,99,101,105,108,105,110,103,0,1,9,2049,10105,10,10257,10285,146,102,
58,115,113,114,116,0,1,10,2049,10105,10,10275,10299,146,102,58,101,113,63,0,
1,11,2049,10105,10,10290,10314,146,102,58,45,101,113,63,0,1,12,2049,10105,10,
10304,10328,146,102,58,108,116,63,0,1,13,2049,10105,10,10319,10342,146,102,58,103,
116,63,0,1,14,2049,10105,10,10333,10358,146,102,58,100,101,112,116,104,0,1,
15,2049,10105,10,10347,10372,146,102,58,100,117,112,0,1,16,2049,10105,10,10363,10387,
146,102,58,100,114,111,112,0,1,17,2049,10105,10,10377,10402,146,102,58,115,119,
97,112,0,1,18,2049,10105,10,10392,10416,146,102,58,108,111,103,0,1,19,2049,
10105,10,10407,10432,146,102,58,112,111,119,101,114,0,1,20,2049,10105,10,10421,10446,
146,102,58,115,105,110,0,1,21,2049,10105,10,10437,10460,146,102,58,99,111,115,
0,1,22,2049,10105,10,10451,10474,146,102,58,116,97,110,0,1,23,2049,10105,10,
10465,10489,146,102,58,97,115,105,110,0,1,24,2049,10105,10,10479,10504,146,102,58,
97,99,111,115,0,1,25,2049,10105,10,10494,10519,146,102,58,97,116,97,110,0,
1,26,2049,10105,10,10509,10534,146,102,58,112,117,115,104,0,1,27,2049,10105,10,
10524,10548,146,102,58,112,111,112,0,1,28,2049,10105,10,10539,10565,146,102,58,97,
100,101,112,116,104,0,1,29,2049,10105,10,10553,10580,146,102,58,111,118,101,114,
0,2049,10534,2049,10372,2049,10548,2049,10402,10,10570,10599,146,102,58,116,117,99,107,0,
2049,10372,2049,10534,2049,10402,2049,10548,10,10589,10617,146,102,58,110,105,112,0,2049,10402,
2049,10387,10,10608,10637,146,102,58,100,114,111,112,45,112,97,105,114,0,2049,10387,
2049,10387,10,10622,10656,146,102,58,100,117,112,45,112,97,105,114,0,2049,10580,2049,
10580,10,10642,10670,146,102,58,114,111,116,0,2049,10534,2049,10402,2049,10548,2049,10402,10,
10661,10690,158,115,105,103,105,108,58,46,0,2049,1815,1,3666,1,3595,2049,64,1,
10145,2049,146,10,10679,10715,146,102,58,115,113,117,97,114,101,0,2049,10372,2049,10224,
10,10703,10735,146,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049,10126,
2049,10342,10,10720,10757,146,102,58,110,101,103,97,116,105,118,101,63,0,1,0,
2049,10126,2049,10328,10,10742,10776,146,102,58,110,101,103,97,116,101,0,1,-1,2049,
10126,2049,10224,10,10764,10792,146,102,58,97,98,115,0,2049,10372,2049,10757,1,10776,9,
10,10783,10809,146,102,58,112,117,116,0,2049,10185,2049,9240,10,10800,10822,146,102,58,
80,73,0,2049,3640,51,46,49,52,49,53,57,50,0,1,10824,2049,10145,10,10814,
10845,146,102,58,69,0,2049,3640,50,46,55,49,56,50,56,49,0,1,10847,2049,
10145,10,10838,10870,146,102,58,78,65,78,0,2049,3640,48,0,1,10872,2049,10145,2049,
3640,48,0,1,10880,2049,10145,2049,10236,10,10861,10898,146,102,58,73,78,70,0,2049,
3640,49,46,48,0,1,10900,2049,10145,2049,3640,48,0,1,10910,2049,10145,2049,10236,10,
10889,10929,146,102,58,45,73,78,70,0,2049,3640,45,49,46,48,0,1,10931,2049,
10145,2049,3640,48,0,1,10942,2049,10145,2049,10236,10,10919,10961,146,102,58,110,97,110,
63,0,2049,10372,2049,10314,10,10951,10976,146,102,58,105,110,102,63,0,2049,10898,2049,
10299,10,10966,10992,146,102,58,45,105,110,102,63,0,2049,10929,2049,10299,10,10981,11008,
146,102,58,114,111,117,110,100,0,2049,10372,2049,10757,1793,11029,2049,3640,48,46,53,
0,1,11016,2049,10145,2049,10212,2049,10270,10,1,11014,1793,11048,2049,3640,48,46,53,0,
1,11035,2049,10145,2049,10200,2049,10252,10,1,11033,2049,64,10,10997,11062,146,102,58,109,
105,110,0,2049,10656,2049,10328,1,10387,1,10617,2049,64,10,11053,11082,146,102,58,109,
97,120,0,2049,10656,2049,10342,1,10387,1,10617,2049,64,10,11073,11104,146,102,58,108,
105,109,105,116,0,2049,10402,2049,10534,2049,11062,2049,10548,2049,11082,10,11093,11129,146,102,
58,98,101,116,119,101,101,110,63,0,2049,10670,2049,10372,2049,10534,2049,10670,2049,10670,
2049,11104,2049,10548,2049,10299,10,11115,11155,146,102,58,105,110,99,0,2049,3640,49,0,
1,11157,2049,10145,2049,10200,10,11146,11175,146,102,58,100,101,99,0,2049,3640,49,0,
1,11177,2049,10145,2049,10212,10,11166,11196,146,102,58,99,97,115,101,0,2049,10580,2049,
10299,1793,11208,2049,10387,8,1,-1,10,1,11202,1793,11216,3,1,0,10,1,11212,2049,
64,25,6,771,10,11186,11234,146,102,58,115,105,103,110,0,2049,10372,2049,3640,48,
0,1,11238,2049,10145,2049,10299,1793,11253,1,0,2049,10387,10,1,11248,2049,2647,2049,3640,
48,0,1,11259,2049,10145,2049,10342,1793,11272,1,1,10,1,11269,1793,11279,1,-1,10,
1,11276,2049,64,10,11224,2147483645,133,101,58,77,65,88,0,11284,-2147483645,133,101,58,77,
73,78,0,11293,-2147483647,133,101,58,78,65,78,0,11302,2147483646,133,101,58,73,78,70,
0,11311,-2147483646,133,101,58,45,73,78,70,0,11320,11338,146,101,58,110,63,0,1,
-2147483645,2049,2884,1,2147483645,2049,2897,2049,2915,10,11330,11359,146,101,58,109,97,120,63,0,
1,2147483645,11,10,11349,11373,146,101,58,109,105,110,63,0,1,-2147483645,11,10,11363,11388,
146,101,58,122,101,114,111,63,0,2049,2521,10,11377,11401,146,101,58,110,97,110,
63,0,1,-2147483647,11,10,11391,11415,146,101,58,105,110,102,63,0,1,2147483646,11,10,
11405,11430,146,101,58,45,105,110,102,63,0,1,-2147483646,11,10,11419,11444,146,101,58,
99,108,105,112,0,1,-2147483645,1,2147483645,2049,2867,10,11434,11459,146,102,58,69,49,0,
1793,11461,2049,3640,49,46,101,53,0,1,11463,2049,10145,10,11451,11490,146,102,58,115,
105,103,110,101,100,45,115,113,114,116,0,2049,10372,2049,11234,2049,10792,2049,10285,2049,
10126,2049,10224,10,11473,11522,146,102,58,115,105,103,110,101,100,45,115,113,117,97,
114,101,0,2049,10372,2049,11234,2049,10372,2049,10224,2049,10126,2049,10224,10,11503,11547,146,102,
58,45,115,104,105,102,116,0,2049,11459,2049,10224,10,11535,11564,146,102,58,43,115,
104,105,102,116,0,2049,11459,2049,10236,10,11552,11582,146,102,58,43,101,110,99,111,
100,101,0,2049,11490,2049,11547,10,11569,11600,146,102,58,45,101,110,99,111,100,101,
0,2049,10372,2049,11234,2049,11564,2049,10372,2049,10224,2049,10126,2049,10224,10,11503,11625,146,102,
58,116,111,45,101,0,2049,10372,2049,10961,1793,11636,2049,10387,1,-2147483647,10,1,11631,2049,
2647,2049,10372,2049,10976,1793,11651,2049,10387,1,2147483646,10,1,11646,2049,2647,2049,10372,2049,10992,
1793,11666,2049,10387,1,-2147483646,10,1,11661,2049,2647,2049,11582,2049,11008,2049,10165,2049,11444,1,
-2147483645,1,10387,2049,2367,1,2147483645,1,10387,2049,2367,10,11615,11701,146,101,58,116,111,45,
102,0,1,-2147483647,1,10870,2049,2367,1,2147483646,1,10898,2049,2367,1,-2147483646,1,10929,2049,2367,
2049,10126,2049,11600,10,11691,11735,146,102,58,115,116,111,114,101,0,1,11625,2049,2095,
16,10,11724,11752,146,102,58,102,101,116,99,104,0,15,2049,11701,10,11741,11772,146,
102,58,100,117,109,112,45,115,116,97,99,107,0,2049,10358,2,1,10534,2049,2270,
1793,11790,2049,10548,2049,10372,2049,10809,2049,9214,10,1,11781,2049,2270,10,11756,11812,146,102,
58,100,117,109,112,45,97,115,116,97,99,107,0,2049,10565,2,1,10548,2049,2270,
1793,11830,2049,10372,2049,10809,2049,9214,2049,10534,10,1,11821,2049,2270,10,11795,11844,146,101,
58,112,117,116,0,1,2147483645,1793,11861,2049,3640,101,58,77,65,88,0,1,11850,2049,
9240,10,1,11848,2049,2367,1,-2147483645,1793,11882,2049,3640,101,58,77,73,78,0,1,11871,
2049,9240,10,1,11869,2049,2367,1,0,1793,11901,2049,3640,101,58,48,0,1,11892,2049,
9240,10,1,11890,2049,2367,1,-2147483647,1793,11922,2049,3640,101,58,78,65,78,0,1,11911,
2049,9240,10,1,11909,2049,2367,1,2147483646,1793,11943,2049,3640,101,58,73,78,70,0,1,
11932,2049,9240,10,1,11930,2049,2367,1,-2147483646,1793,11965,2049,3640,101,58,45,73,78,70,
0,1,11953,2049,9240,10,1,11951,2049,2367,2049,11701,2049,10809,10,11835,11982,133,85,110,
105,120,0,0,11974,11995,146,105,100,101,110,116,105,102,121,0,3841,11982,2049,2521,
25,3,1,8,2049,9144,2,2049,2556,1793,12050,3,2049,3640,73,79,32,68,69,86,
73,67,69,32,84,89,80,69,32,48,48,48,56,32,78,79,84,32,70,79,
85,78,68,0,1,12013,2049,9240,2049,9203,10,1,12010,1793,12057,4097,11982,10,1,12054,
2049,64,10,11835,12081,146,105,111,58,117,110,105,120,45,115,121,115,99,97,108,
108,0,2049,11995,3841,11982,2049,9127,10,12062,12103,146,117,110,105,120,58,115,121,115,
116,101,109,0,1,0,2049,12081,10,12088,12121,146,117,110,105,120,58,102,111,114,
107,0,1,1,2049,12081,10,12108,12140,146,117,110,105,120,58,101,120,101,99,48,
0,1,2,2049,12081,10,12126,12159,146,117,110,105,120,58,101,120,101,99,49,0,
1,3,2049,12081,10,12145,12178,146,117,110,105,120,58,101,120,101,99,50,0,1,
4,2049,12081,10,12164,12197,146,117,110,105,120,58,101,120,101,99,51,0,1,5,
2049,12081,10,12183,12215,146,117,110,105,120,58,101,120,105,116,0,1,6,2049,12081,
10,12202,12235,146,117,110,105,120,58,103,101,116,112,105,100,0,1,7,2049,12081,
10,12220,12253,146,117,110,105,120,58,119,97,105,116,0,1,8,2049,12081,10,12240,
12271,146,117,110,105,120,58,107,105,108,108,0,1,9,2049,12081,10,12258,12290,146,
117,110,105,120,58,112,111,112,101,110,0,1,10,2049,12081,10,12276,12310,146,117,
110,105,120,58,112,99,108,111,115,101,0,1,11,2049,12081,10,12295,12329,146,117,
110,105,120,58,99,104,100,105,114,0,1,13,2049,12081,10,12315,12349,146,117,110,
105,120,58,103,101,116,101,110,118,0,1,14,2049,12081,10,12334,12369,146,117,110,
105,120,58,112,117,116,101,110,118,0,1,15,2049,12081,10,12354,12388,146,117,110,
105,120,58,115,108,101,101,112,0,1,16,2049,12081,10,12374,12406,146,117,110,105,
120,58,112,105,112,101,0,1,0,2049,12290,1,9881,1,12310,2049,2117,10,12393,12433,
146,117,110,105,120,58,103,101,116,45,99,119,100,0,2049,3640,112,119,100,0,
1,12435,2049,12406,2049,5983,2049,3640,47,0,1,12447,2049,3845,10,12417,12481,146,117,110,
105,120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,
100,0,2049,3640,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,12483,
2049,12406,2049,5983,2049,222,10,12454,12528,146,117,110,105,120,58,102,111,114,45,101,
97,99,104,45,102,105,108,101,0,2049,3640,108,115,32,45,49,32,45,112,0,
1,12530,1,0,2049,12290,2049,12481,1793,12563,1793,12558,2049,9881,2049,3595,67502597,8,10,1,
12551,2049,2105,10,1,12549,2049,2270,2049,12310,3,10,12506,12580,146,115,116,97,114,116,
0,4,2049,3422,1,0,2049,12290,10,12571,12596,146,114,101,97,100,0,2,2049,9522,
2,2049,3330,2049,2521,10,12588,12615,146,102,105,110,105,115,104,0,2049,12310,2049,3402,
10,12506,12639,146,117,110,105,120,58,115,108,117,114,112,45,112,105,112,101,0,
1793,12650,2049,12580,1,12596,2049,2245,2049,12615,10,1,12641,2049,3446,10,12620,12667,146,110,
58,114,97,110,100,111,109,0,1,10,2049,9144,2049,9127,10,12655,12687,133,83,99,
114,105,112,116,105,110,103,0,6,12674,12700,146,105,100,101,110,116,105,102,121,
0,3841,12687,2049,2521,25,3,1,9,2049,9144,2,2049,2556,1793,12755,3,2049,3640,73,
79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,57,32,78,
79,84,32,70,79,85,78,68,0,1,12718,2049,9240,2049,9203,10,1,12715,1793,12762,
4097,12687,10,1,12759,2049,64,10,12655,12787,146,115,99,114,105,112,116,58,97,114,
103,117,109,101,110,116,115,0,2049,12700,1,0,3841,12687,2049,9127,10,12767,12819,146,
115,99,114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,110,116,0,
2049,3621,4,2049,12700,1,1,3841,12687,2049,9127,10,12796,12842,146,105,110,99,108,117,
100,101,0,2049,12700,1,2,3841,12687,2049,9127,10,12831,12866,146,115,99,114,105,112,
116,58,110,97,109,101,0,2049,3621,2049,12700,1,3,3841,12687,2049,9127,10,12851,12900,
146,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,102,105,108,101,
0,2049,3621,2049,12700,1,4,3841,12687,2049,9127,10,12877,12934,146,115,99,114,105,112,
116,58,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,12700,1,5,3841,
12687,2049,9127,10,12911,12967,146,115,99,114,105,112,116,58,105,103,110,111,114,101,
45,116,111,45,101,111,108,0,2049,12700,1,6,3841,12687,2049,9127,10,12943,13000,146,
115,99,114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,
0,2049,12700,1,7,3841,12687,2049,9127,10,12976,13018,146,97,98,111,114,116,0,1,
126,2049,3041,2049,12700,1,8,3841,12687,2049,9127,10,13009,13040,133,67,108,111,99,107,
0,0,13031,13053,146,105,100,101,110,116,105,102,121,0,3841,13040,2049,2521,25,3,
1,5,2049,9144,2,2049,2556,1793,13108,3,2049,3640,73,79,32,68,69,86,73,67,
69,32,84,89,80,69,32,48,48,48,53,32,78,79,84,32,70,79,85,78,
68,0,1,13071,2049,9240,2049,9203,10,1,13068,1793,13115,4097,13040,10,1,13112,2049,64,
10,13009,13139,146,99,108,111,99,107,58,111,112,101,114,97,116,105,111,110,0,
2049,13053,3841,13040,2049,9127,10,13120,13165,146,99,108,111,99,107,58,116,105,109,101,
115,116,97,109,112,0,1,0,2049,13139,10,13146,13183,146,99,108,111,99,107,58,
100,97,121,0,1,1,2049,13139,10,13170,13203,146,99,108,111,99,107,58,109,111,
110,116,104,0,1,2,2049,13139,10,13188,13222,146,99,108,111,99,107,58,121,101,
97,114,0,1,3,2049,13139,10,13208,13241,146,99,108,111,99,107,58,104,111,117,
114,0,1,4,2049,13139,10,13227,13262,146,99,108,111,99,107,58,109,105,110,117,
116,101,0,1,5,2049,13139,10,13246,13283,146,99,108,111,99,107,58,115,101,99,
111,110,100,0,1,6,2049,13139,10,13267,13305,146,99,108,111,99,107,58,117,116,
99,58,100,97,121,0,1,7,2049,13139,10,13288,13329,146,99,108,111,99,107,58,
117,116,99,58,109,111,110,116,104,0,1,8,2049,13139,10,13310,13352,146,99,108,
111,99,107,58,117,116,99,58,121,101,97,114,0,1,9,2049,13139,10,13334,13375,
146,99,108,111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,13139,
10,13357,13400,146,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,
0,1,11,2049,13139,10,13380,13425,146,99,108,111,99,107,58,117,116,99,58,115,
101,99,111,110,100,0,1,12,2049,13139,10,13405,1024,133,84,73,66,0,13430,13446,
146,99,58,103,101,116,0,1,1,2049,9144,2049,9127,10,13437,13462,146,101,100,105,
116,63,0,2,1793,13469,1,8,11,10,1,13465,1793,13477,1,127,11,10,1,13473,
2049,2117,22,10,13453,13493,146,103,97,116,104,101,114,0,2049,13462,1,11,1,3330,
2049,64,10,13483,13511,146,99,121,99,108,101,0,2049,13446,2049,2085,4,8,2049,2453,
25,3,2049,13493,1,13511,7,10,13437,13542,146,112,97,114,115,101,45,117,110,116,
105,108,0,1793,13554,2049,3621,2049,3422,2049,13511,771,2049,3296,10,1,13544,2049,3446,10,
13527,13568,146,115,58,103,101,116,0,1793,13590,1793,13576,1,10,11,10,1,13572,1793,
13584,1,13,11,10,1,13580,2049,2117,22,10,1,13570,2049,13542,10,13559,13609,146,115,
58,103,101,116,45,119,111,114,100,0,1,5585,2049,13542,10,13595,13623,146,99,108,
101,97,114,0,2049,3640,92,94,91,50,74,92,94,91,48,59,48,72,0,1,
13625,2049,7217,2049,9240,10,13614,13652,146,98,121,101,0,1,0,2049,12215,10,13645,13664,
133,69,79,84,0,0,13657,13677,133,73,103,110,111,114,105,110,103,0,0,13665,
13691,146,105,103,110,111,114,105,110,103,63,0,3841,13677,10,13678,13705,146,118,101,
114,115,105,111,110,0,3841,4,1,100,20,10,13694,13720,146,100,111,110,101,63,
0,2,4097,13664,1793,13729,1,13,11,10,1,13725,1793,13737,1,10,11,10,1,13733,
1793,13745,1,32,11,10,1,13741,2049,2154,22,22,10,13711,13760,146,101,111,108,63,
0,3841,13664,1793,13768,1,13,11,10,1,13764,1793,13776,1,10,11,10,1,13772,2049,
2117,22,10,13752,13792,146,118,97,108,105,100,63,0,2,2049,81,2049,2603,10,13782,
13811,146,99,104,101,99,107,45,101,111,102,0,2,1793,13818,1,-1,11,10,1,
13814,1793,13826,1,4,11,10,1,13822,2049,2117,22,1,13652,9,10,13798,13841,146,98,
115,0,2049,3354,2049,3354,771,10,13835,13859,146,99,104,101,99,107,45,98,115,0,
2,1793,13866,1,8,11,10,1,13862,1793,13874,1,127,11,10,1,13870,2049,2117,22,
1,13841,9,10,13847,13892,146,99,104,101,99,107,0,2049,13811,2049,13859,10,13883,13910,
146,99,104,97,114,97,99,116,101,114,0,2049,13446,2,2049,3330,10,13897,13926,146,
98,117,102,102,101,114,0,1793,13936,1,1024,2049,3422,8,2049,3296,10,1,13928,2049,
3446,10,13916,13955,146,114,101,97,100,45,116,111,107,101,110,0,1793,13971,1793,13966,
2049,13910,2049,13892,2049,13720,10,1,13959,2049,2245,10,1,13957,2049,13926,2049,3717,10,13941,
13987,146,105,110,112,117,116,0,2049,13955,2049,13792,10,13978,14003,146,112,114,111,99,
101,115,115,0,2049,13691,1793,14021,771,2049,13760,1793,14017,1,13677,2049,3041,10,1,14012,
9,10,1,14007,2049,2647,1,368,1,11,2049,64,10,13645,14038,158,47,47,0,2049,
12967,1,13677,2049,3028,10,14032,14055,146,108,105,115,116,101,110,0,2049,13987,2049,14003,
1,14055,7,10,14045,14070,133,70,73,68,0,1,14063,14085,146,119,114,105,116,101,
45,98,121,116,101,0,3841,14070,2049,9541,10,14071,14098,146,109,97,115,107,0,1,
255,21,10,14090,14116,146,119,114,105,116,101,45,99,101,108,108,0,2,2049,14098,
2049,14085,1,8,24,2,2049,14098,2049,14085,1,8,24,2,2049,14098,2049,14085,1,8,
24,2049,14098,2049,14085,10,14045,14159,146,105,109,97,103,101,58,115,97,118,101,0,
2049,9774,4097,14070,1,0,2049,1871,1793,14174,2049,56,2049,14116,10,1,14169,2049,2270,3,
3841,14070,2049,9504,10,14145,14195,146,100,58,119,111,114,100,115,0,1793,14204,2049,164,
2049,9240,2049,9214,10,1,14197,2049,7446,10,14184,14225,146,100,58,119,111,114,100,115,
45,119,105,116,104,0,2049,1871,2049,4641,1793,14256,2049,164,2,2049,1871,2049,4155,1793,
14245,2049,9240,2049,9214,10,1,14240,1793,14251,3,10,1,14249,2049,64,10,1,14231,2049,
7446,10,14209,14280,146,100,105,115,112,108,97,121,45,105,102,45,108,101,102,116,
0,2,2049,1871,2049,4591,1793,14292,2049,9240,2049,9214,10,1,14287,1793,14298,3,10,1,
14296,2049,64,10,14209,14329,146,100,58,119,111,114,100,115,45,98,101,103,105,110,
110,105,110,103,45,119,105,116,104,0,2049,1871,2049,4641,1793,14340,2049,164,2049,14280,
10,1,14335,2049,7446,10,14303,14356,146,100,58,119,111,114,100,115,0,1793,14365,2049,
164,2049,9240,2049,9214,10,1,14358,2049,7446,10,14345,14386,146,100,58,119,111,114,100,
115,45,119,105,116,104,0,2049,1871,2049,4641,1793,14417,2049,164,2,2049,1871,2049,4155,
1793,14406,2049,9240,2049,9214,10,1,14401,1793,14412,3,10,1,14410,2049,64,10,1,14392,
2049,7446,10,14370,14441,146,100,105,115,112,108,97,121,45,105,102,45,108,101,102,
116,0,2,2049,1871,2049,4591,1793,14453,2049,9240,2049,9214,10,1,14448,1793,14459,3,10,
1,14457,2049,64,10,14370,14490,146,100,58,119,111,114,100,115,45,98,101,103,105,
110,110,105,110,103,45,119,105,116,104,0,2049,1871,2049,4641,1793,14501,2049,164,2049,
14441,10,1,14496,2049,7446,10,14464,14517,146,100,58,119,111,114,100,115,0,1793,14526,
2049,164,2049,9240,2049,9214,10,1,14519,2049,7446,10,14506,14547,146,100,58,119,111,114,
100,115,45,119,105,116,104,0,2049,1871,2049,4641,1793,14578,2049,164,2,2049,1871,2049,
4155,1793,14567,2049,9240,2049,9214,10,1,14562,1793,14573,3,10,1,14571,2049,64,10,1,
14553,2049,7446,10,14531,14602,146,100,105,115,112,108,97,121,45,105,102,45,108,101,
102,116,0,2,2049,1871,2049,4591,1793,14614,2049,9240,2049,9214,10,1,14609,1793,14620,3,
10,1,14618,2049,64,10,14531,14651,146,100,58,119,111,114,100,115,45,98,101,103,
105,110,110,105,110,103,45,119,105,116,104,0,2049,1871,2049,4641,1793,14662,2049,164,
2049,14602,10,1,14657,2049,7446,10 };
1,10075,2049,3863,2049,9504,10,10057,10093,133,70,80,85,0,0,10086,10106,146,105,100,
101,110,116,105,102,121,0,3841,10093,2049,2521,25,3,1,2,2049,9144,2,2049,2556,
1793,10161,3,2049,3640,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,
48,48,48,50,32,78,79,84,32,70,79,85,78,68,0,1,10124,2049,9240,2049,
9203,10,1,10121,1793,10168,4097,10093,10,1,10165,2049,64,10,10057,10192,146,102,108,111,
97,116,58,111,112,101,114,97,116,105,111,110,0,2049,10106,3841,10093,2049,9127,10,
10173,10213,146,110,58,116,111,45,102,108,111,97,116,0,1,0,2049,10192,10,10199,
10232,146,115,58,116,111,45,102,108,111,97,116,0,1,1,2049,10192,10,10218,10252,
146,102,58,116,111,45,110,117,109,98,101,114,0,1,2,2049,10192,10,10237,10272,
146,102,58,116,111,45,115,116,114,105,110,103,0,2049,3621,2,1,3,2049,10192,
10,10257,10287,146,102,58,43,0,1,4,2049,10192,10,10280,10299,146,102,58,45,0,
1,5,2049,10192,10,10292,10311,146,102,58,42,0,1,6,2049,10192,10,10304,10323,146,
102,58,47,0,1,7,2049,10192,10,10316,10339,146,102,58,102,108,111,111,114,0,
1,8,2049,10192,10,10328,10357,146,102,58,99,101,105,108,105,110,103,0,1,9,
2049,10192,10,10344,10372,146,102,58,115,113,114,116,0,1,10,2049,10192,10,10362,10386,
146,102,58,101,113,63,0,1,11,2049,10192,10,10377,10401,146,102,58,45,101,113,
63,0,1,12,2049,10192,10,10391,10415,146,102,58,108,116,63,0,1,13,2049,10192,
10,10406,10429,146,102,58,103,116,63,0,1,14,2049,10192,10,10420,10445,146,102,58,
100,101,112,116,104,0,1,15,2049,10192,10,10434,10459,146,102,58,100,117,112,0,
1,16,2049,10192,10,10450,10474,146,102,58,100,114,111,112,0,1,17,2049,10192,10,
10464,10489,146,102,58,115,119,97,112,0,1,18,2049,10192,10,10479,10503,146,102,58,
108,111,103,0,1,19,2049,10192,10,10494,10519,146,102,58,112,111,119,101,114,0,
1,20,2049,10192,10,10508,10533,146,102,58,115,105,110,0,1,21,2049,10192,10,10524,
10547,146,102,58,99,111,115,0,1,22,2049,10192,10,10538,10561,146,102,58,116,97,
110,0,1,23,2049,10192,10,10552,10576,146,102,58,97,115,105,110,0,1,24,2049,
10192,10,10566,10591,146,102,58,97,99,111,115,0,1,25,2049,10192,10,10581,10606,146,
102,58,97,116,97,110,0,1,26,2049,10192,10,10596,10621,146,102,58,112,117,115,
104,0,1,27,2049,10192,10,10611,10635,146,102,58,112,111,112,0,1,28,2049,10192,
10,10626,10652,146,102,58,97,100,101,112,116,104,0,1,29,2049,10192,10,10640,10667,
146,102,58,111,118,101,114,0,2049,10621,2049,10459,2049,10635,2049,10489,10,10657,10686,146,
102,58,116,117,99,107,0,2049,10459,2049,10621,2049,10489,2049,10635,10,10676,10704,146,102,
58,110,105,112,0,2049,10489,2049,10474,10,10695,10724,146,102,58,100,114,111,112,45,
112,97,105,114,0,2049,10474,2049,10474,10,10709,10743,146,102,58,100,117,112,45,112,
97,105,114,0,2049,10667,2049,10667,10,10729,10757,146,102,58,114,111,116,0,2049,10621,
2049,10489,2049,10635,2049,10489,10,10748,10777,158,115,105,103,105,108,58,46,0,2049,1815,
1,3666,1,3595,2049,64,1,10232,2049,146,10,10766,10802,146,102,58,115,113,117,97,
114,101,0,2049,10459,2049,10311,10,10790,10822,146,102,58,112,111,115,105,116,105,118,
101,63,0,1,0,2049,10213,2049,10429,10,10807,10844,146,102,58,110,101,103,97,116,
105,118,101,63,0,1,0,2049,10213,2049,10415,10,10829,10863,146,102,58,110,101,103,
97,116,101,0,1,-1,2049,10213,2049,10311,10,10851,10879,146,102,58,97,98,115,0,
2049,10459,2049,10844,1,10863,9,10,10870,10896,146,102,58,112,117,116,0,2049,10272,2049,
9240,10,10887,10909,146,102,58,80,73,0,2049,3640,51,46,49,52,49,53,57,50,
0,1,10911,2049,10232,10,10901,10932,146,102,58,69,0,2049,3640,50,46,55,49,56,
50,56,49,0,1,10934,2049,10232,10,10925,10957,146,102,58,78,65,78,0,2049,3640,
48,0,1,10959,2049,10232,2049,3640,48,0,1,10967,2049,10232,2049,10323,10,10948,10985,146,
102,58,73,78,70,0,2049,3640,49,46,48,0,1,10987,2049,10232,2049,3640,48,0,
1,10997,2049,10232,2049,10323,10,10976,11016,146,102,58,45,73,78,70,0,2049,3640,45,
49,46,48,0,1,11018,2049,10232,2049,3640,48,0,1,11029,2049,10232,2049,10323,10,11006,
11048,146,102,58,110,97,110,63,0,2049,10459,2049,10401,10,11038,11063,146,102,58,105,
110,102,63,0,2049,10985,2049,10386,10,11053,11079,146,102,58,45,105,110,102,63,0,
2049,11016,2049,10386,10,11068,11095,146,102,58,114,111,117,110,100,0,2049,10459,2049,10844,
1793,11116,2049,3640,48,46,53,0,1,11103,2049,10232,2049,10299,2049,10357,10,1,11101,1793,
11135,2049,3640,48,46,53,0,1,11122,2049,10232,2049,10287,2049,10339,10,1,11120,2049,64,
10,11084,11149,146,102,58,109,105,110,0,2049,10743,2049,10415,1,10474,1,10704,2049,64,
10,11140,11169,146,102,58,109,97,120,0,2049,10743,2049,10429,1,10474,1,10704,2049,64,
10,11160,11191,146,102,58,108,105,109,105,116,0,2049,10489,2049,10621,2049,11149,2049,10635,
2049,11169,10,11180,11216,146,102,58,98,101,116,119,101,101,110,63,0,2049,10757,2049,
10459,2049,10621,2049,10757,2049,10757,2049,11191,2049,10635,2049,10386,10,11202,11242,146,102,58,105,
110,99,0,2049,3640,49,0,1,11244,2049,10232,2049,10287,10,11233,11262,146,102,58,100,
101,99,0,2049,3640,49,0,1,11264,2049,10232,2049,10299,10,11253,11283,146,102,58,99,
97,115,101,0,2049,10667,2049,10386,1793,11295,2049,10474,8,1,-1,10,1,11289,1793,11303,
3,1,0,10,1,11299,2049,64,25,6,771,10,11273,11321,146,102,58,115,105,103,
110,0,2049,10459,2049,3640,48,0,1,11325,2049,10232,2049,10386,1793,11340,1,0,2049,10474,
10,1,11335,2049,2647,2049,3640,48,0,1,11346,2049,10232,2049,10429,1793,11359,1,1,10,
1,11356,1793,11366,1,-1,10,1,11363,2049,64,10,11311,2147483645,133,101,58,77,65,88,
0,11371,-2147483645,133,101,58,77,73,78,0,11380,-2147483647,133,101,58,78,65,78,0,11389,
2147483646,133,101,58,73,78,70,0,11398,-2147483646,133,101,58,45,73,78,70,0,11407,11425,
146,101,58,110,63,0,1,-2147483645,2049,2884,1,2147483645,2049,2897,2049,2915,10,11417,11446,146,
101,58,109,97,120,63,0,1,2147483645,11,10,11436,11460,146,101,58,109,105,110,63,
0,1,-2147483645,11,10,11450,11475,146,101,58,122,101,114,111,63,0,2049,2521,10,11464,
11488,146,101,58,110,97,110,63,0,1,-2147483647,11,10,11478,11502,146,101,58,105,110,
102,63,0,1,2147483646,11,10,11492,11517,146,101,58,45,105,110,102,63,0,1,-2147483646,
11,10,11506,11531,146,101,58,99,108,105,112,0,1,-2147483645,1,2147483645,2049,2867,10,11521,
11546,146,102,58,69,49,0,1793,11548,2049,3640,49,46,101,53,0,1,11550,2049,10232,
10,11538,11577,146,102,58,115,105,103,110,101,100,45,115,113,114,116,0,2049,10459,
2049,11321,2049,10879,2049,10372,2049,10213,2049,10311,10,11560,11609,146,102,58,115,105,103,110,
101,100,45,115,113,117,97,114,101,0,2049,10459,2049,11321,2049,10459,2049,10311,2049,10213,
2049,10311,10,11590,11634,146,102,58,45,115,104,105,102,116,0,2049,11546,2049,10311,10,
11622,11651,146,102,58,43,115,104,105,102,116,0,2049,11546,2049,10323,10,11639,11669,146,
102,58,43,101,110,99,111,100,101,0,2049,11577,2049,11634,10,11656,11687,146,102,58,
45,101,110,99,111,100,101,0,2049,10459,2049,11321,2049,11651,2049,10459,2049,10311,2049,10213,
2049,10311,10,11590,11712,146,102,58,116,111,45,101,0,2049,10459,2049,11048,1793,11723,2049,
10474,1,-2147483647,10,1,11718,2049,2647,2049,10459,2049,11063,1793,11738,2049,10474,1,2147483646,10,1,
11733,2049,2647,2049,10459,2049,11079,1793,11753,2049,10474,1,-2147483646,10,1,11748,2049,2647,2049,11669,
2049,11095,2049,10252,2049,11531,1,-2147483645,1,10474,2049,2367,1,2147483645,1,10474,2049,2367,10,11702,
11788,146,101,58,116,111,45,102,0,1,-2147483647,1,10957,2049,2367,1,2147483646,1,10985,2049,
2367,1,-2147483646,1,11016,2049,2367,2049,10213,2049,11687,10,11778,11822,146,102,58,115,116,111,
114,101,0,1,11712,2049,2095,16,10,11811,11839,146,102,58,102,101,116,99,104,0,
15,2049,11788,10,11828,11859,146,102,58,100,117,109,112,45,115,116,97,99,107,0,
2049,10445,2,1,10621,2049,2270,1793,11877,2049,10635,2049,10459,2049,10896,2049,9214,10,1,11868,
2049,2270,10,11843,11899,146,102,58,100,117,109,112,45,97,115,116,97,99,107,0,
2049,10652,2,1,10635,2049,2270,1793,11917,2049,10459,2049,10896,2049,9214,2049,10621,10,1,11908,
2049,2270,10,11882,11931,146,101,58,112,117,116,0,1,2147483645,1793,11948,2049,3640,101,58,
77,65,88,0,1,11937,2049,9240,10,1,11935,2049,2367,1,-2147483645,1793,11969,2049,3640,101,
58,77,73,78,0,1,11958,2049,9240,10,1,11956,2049,2367,1,0,1793,11988,2049,3640,
101,58,48,0,1,11979,2049,9240,10,1,11977,2049,2367,1,-2147483647,1793,12009,2049,3640,101,
58,78,65,78,0,1,11998,2049,9240,10,1,11996,2049,2367,1,2147483646,1793,12030,2049,3640,
101,58,73,78,70,0,1,12019,2049,9240,10,1,12017,2049,2367,1,-2147483646,1793,12052,2049,
3640,101,58,45,73,78,70,0,1,12040,2049,9240,10,1,12038,2049,2367,2049,11788,2049,
10896,10,11922,12069,133,85,110,105,120,0,0,12061,12082,146,105,100,101,110,116,105,
102,121,0,3841,12069,2049,2521,25,3,1,8,2049,9144,2,2049,2556,1793,12137,3,2049,
3640,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,56,
32,78,79,84,32,70,79,85,78,68,0,1,12100,2049,9240,2049,9203,10,1,12097,
1793,12144,4097,12069,10,1,12141,2049,64,10,11922,12168,146,105,111,58,117,110,105,120,
45,115,121,115,99,97,108,108,0,2049,12082,3841,12069,2049,9127,10,12149,12190,146,117,
110,105,120,58,115,121,115,116,101,109,0,1,0,2049,12168,10,12175,12208,146,117,
110,105,120,58,102,111,114,107,0,1,1,2049,12168,10,12195,12227,146,117,110,105,
120,58,101,120,101,99,48,0,1,2,2049,12168,10,12213,12246,146,117,110,105,120,
58,101,120,101,99,49,0,1,3,2049,12168,10,12232,12265,146,117,110,105,120,58,
101,120,101,99,50,0,1,4,2049,12168,10,12251,12284,146,117,110,105,120,58,101,
120,101,99,51,0,1,5,2049,12168,10,12270,12302,146,117,110,105,120,58,101,120,
105,116,0,1,6,2049,12168,10,12289,12322,146,117,110,105,120,58,103,101,116,112,
105,100,0,1,7,2049,12168,10,12307,12340,146,117,110,105,120,58,119,97,105,116,
0,1,8,2049,12168,10,12327,12358,146,117,110,105,120,58,107,105,108,108,0,1,
9,2049,12168,10,12345,12377,146,117,110,105,120,58,112,111,112,101,110,0,1,10,
2049,12168,10,12363,12397,146,117,110,105,120,58,112,99,108,111,115,101,0,1,11,
2049,12168,10,12382,12416,146,117,110,105,120,58,99,104,100,105,114,0,1,13,2049,
12168,10,12402,12436,146,117,110,105,120,58,103,101,116,101,110,118,0,1,14,2049,
12168,10,12421,12456,146,117,110,105,120,58,112,117,116,101,110,118,0,1,15,2049,
12168,10,12441,12475,146,117,110,105,120,58,115,108,101,101,112,0,1,16,2049,12168,
10,12461,12493,146,117,110,105,120,58,112,105,112,101,0,1,0,2049,12377,1,9881,
1,12397,2049,2117,10,12480,12520,146,117,110,105,120,58,103,101,116,45,99,119,100,
0,2049,3640,112,119,100,0,1,12522,2049,12493,2049,5983,2049,3640,47,0,1,12534,2049,
3845,10,12504,12568,146,117,110,105,120,58,99,111,117,110,116,45,102,105,108,101,
115,45,105,110,45,99,119,100,0,2049,3640,108,115,32,45,49,32,124,32,119,
99,32,45,108,0,1,12570,2049,12493,2049,5983,2049,222,10,12541,12615,146,117,110,105,
120,58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,3640,108,115,
32,45,49,32,45,112,0,1,12617,1,0,2049,12377,2049,12568,1793,12650,1793,12645,2049,
9881,2049,3595,67502597,8,10,1,12638,2049,2105,10,1,12636,2049,2270,2049,12397,3,10,12593,
12667,146,115,116,97,114,116,0,4,2049,3422,1,0,2049,12377,10,12658,12683,146,114,
101,97,100,0,2,2049,9522,2,2049,3330,2049,2521,10,12675,12702,146,102,105,110,105,
115,104,0,2049,12397,2049,3402,10,12593,12726,146,117,110,105,120,58,115,108,117,114,
112,45,112,105,112,101,0,1793,12737,2049,12667,1,12683,2049,2245,2049,12702,10,1,12728,
2049,3446,10,12707,12748,133,105,111,0,0,12742,12761,146,105,100,101,110,116,105,102,
121,0,3841,12748,2049,2521,25,3,1,10,2049,9144,2,2049,2556,1793,12816,3,2049,3640,
73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,49,48,32,
78,79,84,32,70,79,85,78,68,0,1,12779,2049,9240,2049,9203,10,1,12776,1793,
12823,4097,12748,10,1,12820,2049,64,10,12707,12848,146,105,111,58,114,110,103,45,111,
112,101,114,97,116,105,111,110,0,2049,12761,3841,12748,2049,9127,10,12828,12867,146,110,
58,114,97,110,100,111,109,0,2049,12848,10,12855,12881,133,83,111,99,107,101,116,
115,0,0,12870,12894,146,105,100,101,110,116,105,102,121,0,3841,12881,2049,2521,25,
3,1,7,2049,9144,2,2049,2556,1793,12949,3,2049,3640,73,79,32,68,69,86,73,
67,69,32,84,89,80,69,32,48,48,48,55,32,78,79,84,32,70,79,85,
78,68,0,1,12912,2049,9240,2049,9203,10,1,12909,1793,12956,4097,12881,10,1,12953,2049,
64,10,12855,12981,146,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,
110,0,2049,12894,3841,12881,2049,9127,10,12961,13012,146,115,111,99,107,101,116,58,103,
101,116,104,111,115,116,98,121,110,97,109,101,0,1,0,2049,12981,10,12988,13034,
146,115,111,99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,12981,10,
13017,13054,146,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,12981,10,
13039,13076,146,115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,
12981,10,13059,13098,146,115,111,99,107,101,116,58,97,99,99,101,112,116,0,1,
4,2049,12981,10,13081,13121,146,115,111,99,107,101,116,58,99,111,110,110,101,99,
116,0,1,5,2049,12981,10,13103,13141,146,115,111,99,107,101,116,58,115,101,110,
100,0,1,6,2049,12981,10,13126,13161,146,115,111,99,107,101,116,58,114,101,99,
118,0,1,8,2049,12981,10,13146,13182,146,115,111,99,107,101,116,58,99,108,111,
115,101,0,1,10,2049,12981,10,13166,13207,146,115,111,99,107,101,116,58,99,111,
110,102,105,103,117,114,101,0,1,11,2049,12981,10,13187,13225,133,83,99,114,105,
112,116,105,110,103,0,6,13212,13238,146,105,100,101,110,116,105,102,121,0,3841,
13225,2049,2521,25,3,1,9,2049,9144,2,2049,2556,1793,13293,3,2049,3640,73,79,32,
68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,57,32,78,79,84,
32,70,79,85,78,68,0,1,13256,2049,9240,2049,9203,10,1,13253,1793,13300,4097,13225,
10,1,13297,2049,64,10,13187,13325,146,115,99,114,105,112,116,58,97,114,103,117,
109,101,110,116,115,0,2049,13238,1,0,3841,13225,2049,9127,10,13305,13357,146,115,99,
114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,110,116,0,2049,3621,
4,2049,13238,1,1,3841,13225,2049,9127,10,13334,13380,146,105,110,99,108,117,100,101,
0,2049,13238,1,2,3841,13225,2049,9127,10,13369,13404,146,115,99,114,105,112,116,58,
110,97,109,101,0,2049,3621,2049,13238,1,3,3841,13225,2049,9127,10,13389,13438,146,115,
99,114,105,112,116,58,99,117,114,114,101,110,116,45,102,105,108,101,0,2049,
3621,2049,13238,1,4,3841,13225,2049,9127,10,13415,13472,146,115,99,114,105,112,116,58,
99,117,114,114,101,110,116,45,108,105,110,101,0,2049,13238,1,5,3841,13225,2049,
9127,10,13449,13505,146,115,99,114,105,112,116,58,105,103,110,111,114,101,45,116,
111,45,101,111,108,0,2049,13238,1,6,3841,13225,2049,9127,10,13481,13538,146,115,99,
114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,2049,
13238,1,7,3841,13225,2049,9127,10,13514,13556,146,97,98,111,114,116,0,1,126,2049,
3041,2049,13238,1,8,3841,13225,2049,9127,10,13547,13578,133,67,108,111,99,107,0,0,
13569,13591,146,105,100,101,110,116,105,102,121,0,3841,13578,2049,2521,25,3,1,5,
2049,9144,2,2049,2556,1793,13646,3,2049,3640,73,79,32,68,69,86,73,67,69,32,
84,89,80,69,32,48,48,48,53,32,78,79,84,32,70,79,85,78,68,0,
1,13609,2049,9240,2049,9203,10,1,13606,1793,13653,4097,13578,10,1,13650,2049,64,10,13547,
13677,146,99,108,111,99,107,58,111,112,101,114,97,116,105,111,110,0,2049,13591,
3841,13578,2049,9127,10,13658,13703,146,99,108,111,99,107,58,116,105,109,101,115,116,
97,109,112,0,1,0,2049,13677,10,13684,13721,146,99,108,111,99,107,58,100,97,
121,0,1,1,2049,13677,10,13708,13741,146,99,108,111,99,107,58,109,111,110,116,
104,0,1,2,2049,13677,10,13726,13760,146,99,108,111,99,107,58,121,101,97,114,
0,1,3,2049,13677,10,13746,13779,146,99,108,111,99,107,58,104,111,117,114,0,
1,4,2049,13677,10,13765,13800,146,99,108,111,99,107,58,109,105,110,117,116,101,
0,1,5,2049,13677,10,13784,13821,146,99,108,111,99,107,58,115,101,99,111,110,
100,0,1,6,2049,13677,10,13805,13843,146,99,108,111,99,107,58,117,116,99,58,
100,97,121,0,1,7,2049,13677,10,13826,13867,146,99,108,111,99,107,58,117,116,
99,58,109,111,110,116,104,0,1,8,2049,13677,10,13848,13890,146,99,108,111,99,
107,58,117,116,99,58,121,101,97,114,0,1,9,2049,13677,10,13872,13913,146,99,
108,111,99,107,58,117,116,99,58,104,111,117,114,0,1,10,2049,13677,10,13895,
13938,146,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,
11,2049,13677,10,13918,13963,146,99,108,111,99,107,58,117,116,99,58,115,101,99,
111,110,100,0,1,12,2049,13677,10,13943,1024,133,84,73,66,0,13968,13982,133,70,
73,68,0,1,13975,13997,146,119,114,105,116,101,45,98,121,116,101,0,3841,13982,
2049,9541,10,13983,14010,146,109,97,115,107,0,1,255,21,10,14002,14028,146,119,114,
105,116,101,45,99,101,108,108,0,2,2049,14010,2049,13997,1,8,24,2,2049,14010,
2049,13997,1,8,24,2,2049,14010,2049,13997,1,8,24,2049,14010,2049,13997,10,13968,14071,
146,105,109,97,103,101,58,115,97,118,101,0,2049,9774,4097,13982,1,0,2049,1871,
1793,14086,2049,56,2049,14028,10,1,14081,2049,2270,3,3841,13982,2049,9504,10,14057,14105,146,
99,58,103,101,116,0,1,1,2049,9144,2049,9127,10,14096,14121,146,101,100,105,116,
63,0,2,1793,14128,1,8,11,10,1,14124,1793,14136,1,127,11,10,1,14132,2049,
2117,22,10,14112,14152,146,103,97,116,104,101,114,0,2049,14121,1,11,1,3330,2049,
64,10,14142,14170,146,99,121,99,108,101,0,2049,14105,2049,2085,4,8,2049,2453,25,
3,2049,14152,1,14170,7,10,14096,14201,146,112,97,114,115,101,45,117,110,116,105,
108,0,1793,14213,2049,3621,2049,3422,2049,14170,771,2049,3296,10,1,14203,2049,3446,10,14186,
14227,146,115,58,103,101,116,0,1793,14249,1793,14235,1,10,11,10,1,14231,1793,14243,
1,13,11,10,1,14239,2049,2117,22,10,1,14229,2049,14201,10,14218,14268,146,115,58,
103,101,116,45,119,111,114,100,0,1,5585,2049,14201,10,14254,14282,146,99,108,101,
97,114,0,2049,3640,92,94,91,50,74,92,94,91,48,59,48,72,0,1,14284,
2049,7217,2049,9240,10,14273,14314,133,78,111,69,99,104,111,0,0,14304,14322,146,98,
121,101,0,1,0,2049,12302,10,14315,14334,133,69,79,84,0,0,14327,14347,133,73,
103,110,111,114,105,110,103,0,0,14335,14361,146,105,103,110,111,114,105,110,103,
63,0,3841,14347,10,14348,14375,146,118,101,114,115,105,111,110,0,3841,4,1,100,
20,10,14364,14390,146,100,111,110,101,63,0,2,4097,14334,1793,14399,1,13,11,10,
1,14395,1793,14407,1,10,11,10,1,14403,1793,14415,1,32,11,10,1,14411,2049,2154,
22,22,10,14381,14430,146,101,111,108,63,0,3841,14334,1793,14438,1,13,11,10,1,
14434,1793,14446,1,10,11,10,1,14442,2049,2117,22,10,14422,14462,146,118,97,108,105,
100,63,0,2,2049,81,2049,2603,10,14452,14481,146,99,104,101,99,107,45,101,111,
102,0,2,1793,14488,1,-1,11,10,1,14484,1793,14496,1,4,11,10,1,14492,2049,
2117,22,1,14322,9,10,14468,14511,146,98,115,0,2049,3354,2049,3354,771,10,14505,14529,
146,99,104,101,99,107,45,98,115,0,2,1793,14536,1,8,11,10,1,14532,1793,
14544,1,127,11,10,1,14540,2049,2117,22,1,14511,9,10,14517,14562,146,99,104,101,
99,107,0,2049,14481,2049,14529,10,14553,14580,146,99,104,97,114,97,99,116,101,114,
0,2049,14105,2,2049,3330,10,14567,14596,146,98,117,102,102,101,114,0,1793,14606,1,
1024,2049,3422,8,2049,3296,10,1,14598,2049,3446,10,14586,14625,146,114,101,97,100,45,
116,111,107,101,110,0,1793,14641,1793,14636,2049,14580,2049,14562,2049,14390,10,1,14629,2049,
2245,10,1,14627,2049,14596,2049,3717,10,14611,14657,146,105,110,112,117,116,0,2049,14625,
2049,14462,10,14648,14673,146,112,114,111,99,101,115,115,0,2049,14361,1793,14691,771,2049,
14430,1793,14687,1,14347,2049,3041,10,1,14682,9,10,1,14677,2049,2647,1,368,1,11,
2049,64,10,14315,14708,158,47,47,0,2049,13505,1,14347,2049,3028,10,14702,14725,146,98,
97,110,110,101,114,0,2049,14375,2049,3640,82,69,84,82,79,32,49,50,32,40,
37,110,46,37,110,41,92,110,0,1,14729,2049,7217,2049,9240,2049,1543,2049,1871,18,
2049,1871,2049,1543,2049,3640,37,110,32,77,97,120,44,32,37,110,32,85,115,101,
100,44,32,37,110,32,70,114,101,101,92,110,0,1,14765,2049,7217,2049,9240,10,
14715,14809,146,108,105,115,116,101,110,0,3841,14314,1793,14816,2049,14725,10,1,14813,2049,
72,2049,14657,2049,14673,1,14820,7,10,14799,14839,146,100,58,119,111,114,100,115,0,
1793,14848,2049,164,2049,9240,2049,9214,10,1,14841,2049,7446,10,14828,14869,146,100,58,119,
111,114,100,115,45,119,105,116,104,0,2049,1871,2049,4641,1793,14900,2049,164,2,2049,
1871,2049,4155,1793,14889,2049,9240,2049,9214,10,1,14884,1793,14895,3,10,1,14893,2049,64,
10,1,14875,2049,7446,10,14853,14924,146,100,105,115,112,108,97,121,45,105,102,45,
108,101,102,116,0,2,2049,1871,2049,4591,1793,14936,2049,9240,2049,9214,10,1,14931,1793,
14942,3,10,1,14940,2049,64,10,14853,14973,146,100,58,119,111,114,100,115,45,98,
101,103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1871,2049,4641,1793,14984,
2049,164,2049,14924,10,1,14979,2049,7446,10 };