start of the new ioctl device

FossilOrigin-Name: ff4557673a4ee251c20472267a4e6e8c7b364aaead7bc5c8c9065f043396bb44
This commit is contained in:
crc 2024-01-22 15:19:00 +00:00
parent 56dc248ef2
commit f326a99caf
14 changed files with 553 additions and 451 deletions

View file

@ -67,6 +67,7 @@ ENABLED += -DENABLE_ERROR
ENABLED += -DENABLE_UNSIGNED ENABLED += -DENABLE_UNSIGNED
ENABLED += -DENABLE_MALLOC ENABLED += -DENABLE_MALLOC
ENABLED += -DENABLE_BLOCKS ENABLED += -DENABLE_BLOCKS
ENABLED += -DENABLE_IOCTL
DEVICES ?= DEVICES ?=
DEVICES += interface/ll.retro DEVICES += interface/ll.retro
@ -87,6 +88,7 @@ DEVICES += interface/future.retro
DEVICES += interface/block.retro DEVICES += interface/block.retro
DEVICES += interface/deprecated.retro DEVICES += interface/deprecated.retro
DEVICES += interface/error.retro DEVICES += interface/error.retro
DEVICES += interface/ioctl.retro
DEVICES += interface/final.retro DEVICES += interface/final.retro
DEVICES += interface/library.retro DEVICES += interface/library.retro

View file

@ -37,6 +37,7 @@
- filesystem device no longer included if ENABLE_FILES not - filesystem device no longer included if ENABLE_FILES not
defined defined
- formatting cleanups - formatting cleanups
- added ioctl device
Future Notes Future Notes

View file

@ -187,6 +187,9 @@ Return device ID for floating point.
DEVICE:IMAGE D: -n A: - F: - DEVICE:IMAGE D: -n A: - F: -
Return device ID for image writer. Return device ID for image writer.
DEVICE:IOCTL D: -n A: - F: -
Return device ID for Unix IOCTL interface.
DEVICE:KEYBOARD D: -n A: - F: - DEVICE:KEYBOARD D: -n A: - F: -
Return device ID for Keyboard input. Return device ID for Keyboard input.
@ -208,9 +211,6 @@ Reserved device ID.
DEVICE:RESERVED13 D: -n A: - F: - DEVICE:RESERVED13 D: -n A: - F: -
Reserved device ID. Reserved device ID.
DEVICE:RESERVED14 D: -n A: - F: -
Reserved device ID.
DEVICE:RESERVED6 D: -n A: - F: - DEVICE:RESERVED6 D: -n A: - F: -
Reserved device ID. Reserved device ID.

View file

@ -61,6 +61,7 @@ DEVICE:FFI D: -n A: - F: -
DEVICE:FILES D: -n A: - F: - DEVICE:FILES D: -n A: - F: -
DEVICE:FLOATS D: -n A: - F: - DEVICE:FLOATS D: -n A: - F: -
DEVICE:IMAGE D: -n A: - F: - DEVICE:IMAGE D: -n A: - F: -
DEVICE:IOCTL D: -n A: - F: -
DEVICE:KEYBOARD D: -n A: - F: - DEVICE:KEYBOARD D: -n A: - F: -
DEVICE:MALLOC D: -n A: - F: - DEVICE:MALLOC D: -n A: - F: -
DEVICE:MULTICORE D: -n A: - F: - DEVICE:MULTICORE D: -n A: - F: -
@ -68,7 +69,6 @@ DEVICE:OUTPUT D: -n A: - F: -
DEVICE:RESERVED11 D: -n A: - F: - DEVICE:RESERVED11 D: -n A: - F: -
DEVICE:RESERVED12 D: -n A: - F: - DEVICE:RESERVED12 D: -n A: - F: -
DEVICE:RESERVED13 D: -n A: - F: - DEVICE:RESERVED13 D: -n A: - F: -
DEVICE:RESERVED14 D: -n A: - F: -
DEVICE:RESERVED6 D: -n A: - F: - DEVICE:RESERVED6 D: -n A: - F: -
DEVICE:RNG D: -n A: - F: - DEVICE:RNG D: -n A: - F: -
DEVICE:SCRIPTING D: -n A: - F: - DEVICE:SCRIPTING D: -n A: - F: -

View file

@ -466,6 +466,13 @@
</div> </div>
<p>Return device ID for image writer.</p> <p>Return device ID for image writer.</p>
<table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/> <table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>DEVICE:IOCTL</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> -n<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Return device ID for Unix IOCTL interface.</p>
<table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>DEVICE:KEYBOARD</h2> <h2>DEVICE:KEYBOARD</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> -n<br> <div style='margin-left: 1em;'><p><b>Data:</b> -n<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>
@ -515,13 +522,6 @@
</div> </div>
<p>Reserved device ID.</p> <p>Reserved device ID.</p>
<table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/> <table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>DEVICE:RESERVED14</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> -n<br>
<b>Addr:</b> -<br>
<b>Float:</b> -</p>
</div>
<p>Reserved device ID.</p>
<table><tr><td><b>Class:</b> </td><td>class:data</td></tr><tr><td><b>Namespace:</b> </td><td>DEVICE</td></tr><tr><td><b>Interface Layer:</b> </td><td>rre</td></tr></table><hr/>
<h2>DEVICE:RESERVED6</h2> <h2>DEVICE:RESERVED6</h2>
<div style='margin-left: 1em;'><p><b>Data:</b> -n<br> <div style='margin-left: 1em;'><p><b>Data:</b> -n<br>
<b>Addr:</b> -<br> <b>Addr:</b> -<br>

View file

@ -724,6 +724,17 @@ Return device ID for image writer.
Class: class:data | Namespace: DEVICE | Interface Layer: rre Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------ ------------------------------------------------------------------------
DEVICE:IOCTL
Data: -n
Addr: -
Float: -
Return device ID for Unix IOCTL interface.
Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------
DEVICE:KEYBOARD DEVICE:KEYBOARD
Data: -n Data: -n
@ -801,17 +812,6 @@ Reserved device ID.
Class: class:data | Namespace: DEVICE | Interface Layer: rre Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------ ------------------------------------------------------------------------
DEVICE:RESERVED14
Data: -n
Addr: -
Float: -
Reserved device ID.
Class: class:data | Namespace: DEVICE | Interface Layer: rre
------------------------------------------------------------------------
DEVICE:RESERVED6 DEVICE:RESERVED6
Data: -n Data: -n

View file

@ -61,6 +61,7 @@ DEVICE:FFI -n - - Return device ID for foreign function interface. class:data
DEVICE:FILES -n - - Return device ID for filesystem access. class:data {n/a} {n/a} DEVICE rre DEVICE:FILES -n - - Return device ID for filesystem access. class:data {n/a} {n/a} DEVICE rre
DEVICE:FLOATS -n - - Return device ID for floating point. class:data {n/a} {n/a} DEVICE rre DEVICE:FLOATS -n - - Return device ID for floating point. class:data {n/a} {n/a} DEVICE rre
DEVICE:IMAGE -n - - Return device ID for image writer. class:data {n/a} {n/a} DEVICE rre DEVICE:IMAGE -n - - Return device ID for image writer. class:data {n/a} {n/a} DEVICE rre
DEVICE:IOCTL -n - - Return device ID for Unix IOCTL interface. class:data {n/a} {n/a} DEVICE rre
DEVICE:KEYBOARD -n - - Return device ID for Keyboard input. class:data {n/a} {n/a} DEVICE rre DEVICE:KEYBOARD -n - - Return device ID for Keyboard input. class:data {n/a} {n/a} DEVICE rre
DEVICE:MALLOC -n - - Return device ID for memory allocator. class:data {n/a} {n/a} DEVICE rre DEVICE:MALLOC -n - - Return device ID for memory allocator. class:data {n/a} {n/a} DEVICE rre
DEVICE:MULTICORE -n - - Return device ID for multicore support. class:data {n/a} {n/a} DEVICE rre DEVICE:MULTICORE -n - - Return device ID for multicore support. class:data {n/a} {n/a} DEVICE rre
@ -68,7 +69,6 @@ DEVICE:OUTPUT -n - - Return device ID for Output device. class:data {n/a} {n/a
DEVICE:RESERVED11 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre DEVICE:RESERVED11 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED12 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre DEVICE:RESERVED12 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED13 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre DEVICE:RESERVED13 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED14 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED6 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre DEVICE:RESERVED6 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RNG -n - - Return device ID for random number generator. class:data {n/a} {n/a} DEVICE rre DEVICE:RNG -n - - Return device ID for random number generator. class:data {n/a} {n/a} DEVICE rre
DEVICE:SCRIPTING -n - - Return device ID for scripting support. class:data {n/a} {n/a} DEVICE rre DEVICE:SCRIPTING -n - - Return device ID for scripting support. class:data {n/a} {n/a} DEVICE rre

1 $ -c - - Return ASCII:NUL (0). class:macro {n/a} {n/a} global all
61 DEVICE:FILES -n - - Return device ID for filesystem access. class:data {n/a} {n/a} DEVICE rre
62 DEVICE:FLOATS -n - - Return device ID for floating point. class:data {n/a} {n/a} DEVICE rre
63 DEVICE:IMAGE -n - - Return device ID for image writer. class:data {n/a} {n/a} DEVICE rre
64 DEVICE:IOCTL -n - - Return device ID for Unix IOCTL interface. class:data {n/a} {n/a} DEVICE rre
65 DEVICE:KEYBOARD -n - - Return device ID for Keyboard input. class:data {n/a} {n/a} DEVICE rre
66 DEVICE:MALLOC -n - - Return device ID for memory allocator. class:data {n/a} {n/a} DEVICE rre
67 DEVICE:MULTICORE -n - - Return device ID for multicore support. class:data {n/a} {n/a} DEVICE rre
69 DEVICE:RESERVED11 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
70 DEVICE:RESERVED12 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
71 DEVICE:RESERVED13 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
DEVICE:RESERVED14 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
72 DEVICE:RESERVED6 -n - - Reserved device ID. class:data {n/a} {n/a} DEVICE rre
73 DEVICE:RNG -n - - Return device ID for random number generator. class:data {n/a} {n/a} DEVICE rre
74 DEVICE:SCRIPTING -n - - Return device ID for scripting support. class:data {n/a} {n/a} DEVICE rre

View file

@ -13,7 +13,7 @@
#11 'DEVICE:RESERVED11 const #11 'DEVICE:RESERVED11 const
#12 'DEVICE:RESERVED12 const #12 'DEVICE:RESERVED12 const
#13 'DEVICE:RESERVED13 const #13 'DEVICE:RESERVED13 const
#14 'DEVICE:RESERVED14 const #14 'DEVICE:IOCTL const
#15 'DEVICE:MALLOC const #15 'DEVICE:MALLOC const
#1000 'DEVICE:IMAGE const #1000 'DEVICE:IMAGE const
#1234 'DEVICE:ERROR const #1234 'DEVICE:ERROR const
@ -29,7 +29,7 @@ dup 'DEVICE:MULTICORE d:set-source
dup 'DEVICE:ERROR d:set-source dup 'DEVICE:ERROR d:set-source
dup 'DEVICE:IMAGE d:set-source dup 'DEVICE:IMAGE d:set-source
dup 'DEVICE:MALLOC d:set-source dup 'DEVICE:MALLOC d:set-source
dup 'DEVICE:RESERVED14 d:set-source dup 'DEVICE:IOCTL d:set-source
dup 'DEVICE:RESERVED13 d:set-source dup 'DEVICE:RESERVED13 d:set-source
dup 'DEVICE:RESERVED12 d:set-source dup 'DEVICE:RESERVED12 d:set-source
dup 'DEVICE:RESERVED11 d:set-source dup 'DEVICE:RESERVED11 d:set-source

12
interface/ioctl.retro Normal file
View file

@ -0,0 +1,12 @@
~~~
:ioctl:operation
DEVICE:IOCTL io:scan-for
dup n:negative? [ drop 'Error:_ioctl_device_not_found s:put nl ] if;
io:invoke ;
:ioctl:term-size (-nn) #0 ioctl:operation ;
:ioctl:set-cbreak (-) #1 ioctl:operation ;
:ioctl:set-lbreak (-) #2 ioctl:operation ;
:ioctl:save-state (-) #3 ioctl:operation ;
:ioctl:restore-state (-) #4 ioctl:operation ;
~~~

View file

@ -26,6 +26,7 @@
#define ENABLE_UNSIGNED #define ENABLE_UNSIGNED
#define ENABLE_MALLOC #define ENABLE_MALLOC
#define ENABLE_BLOCKS #define ENABLE_BLOCKS
#define ENABLE_IOCTL
#endif #endif
#ifdef ENABLE_MULTICORE #ifdef ENABLE_MULTICORE

65
vm/nga-c/dev-ioctl.c Normal file
View file

@ -0,0 +1,65 @@
/**************************************************************
_ __ _ _
_ __ ___| |_ _ __ ___ / _| ___ _ __| |_| |__
| '__/ _ \ __| '__/ _ \| |_ / _ \| '__| __| '_ \
| | | __/ |_| | | (_) | _| (_) | | | |_| | | |
|_| \___|\__|_| \___/|_| \___/|_| \__|_| |_|
for nga
(c) Charles Childers, Luke Parrish, Marc Simpsonn,
Jay Skeer, Kenneth Keating
**************************************************************/
#ifdef ENABLE_IOCTL
#include <sys/ioctl.h>
#include <termios.h>
void ioctl_get_terminal_size(NgaState *vm) {
struct winsize size;
ioctl(STDOUT_FILENO, TIOCGWINSZ, &size);
stack_push(vm, size.ws_row);
stack_push(vm, size.ws_col);
}
void ioctl_set_character_breaking_mode(NgaState *vm) {
struct termios term;
tcgetattr(STDIN_FILENO, &term);
term.c_iflag |= BRKINT;
tcsetattr(STDIN_FILENO, TCSANOW, &term);
}
void ioctl_set_line_buffered_mode(NgaState *vm) {
struct termios term;
tcgetattr(STDIN_FILENO, &term);
term.c_lflag |= ICANON;
tcsetattr(STDIN_FILENO, TCSANOW, &term);
}
struct termios savedTermState;
void ioctl_save_current_state(NgaState *vm) {
tcgetattr(STDIN_FILENO, &savedTermState);
}
void ioctl_restore_saved_state(NgaState *vm) {
tcsetattr(STDIN_FILENO, TCSANOW, &savedTermState);
}
Handler IOCTLActions[] = {
ioctl_get_terminal_size,
ioctl_set_character_breaking_mode,
ioctl_set_line_buffered_mode,
ioctl_save_current_state,
ioctl_restore_saved_state
};
V query_ioctl(NgaState *vm) {
stack_push(vm, 0);
stack_push(vm, DEVICE_IOCTL);
}
V io_ioctl(NgaState *vm) {
IOCTLActions[stack_pop(vm)](vm);
}
#endif

View file

@ -12,7 +12,7 @@
#define DEVICE_RESERVED11 11 #define DEVICE_RESERVED11 11
#define DEVICE_RESERVED12 12 #define DEVICE_RESERVED12 12
#define DEVICE_RESERVED13 13 #define DEVICE_RESERVED13 13
#define DEVICE_RESERVED14 14 #define DEVICE_IOCTL 14
#define DEVICE_MALLOC 15 #define DEVICE_MALLOC 15
#define DEVICE_IMAGE 1000 #define DEVICE_IMAGE 1000

View file

@ -10,8 +10,8 @@
#define CELL_MAX LLONG_MAX - 1 #define CELL_MAX LLONG_MAX - 1
#endif #endif
#endif #endif
CELL ngaImageCells = 20803; CELL ngaImageCells = 21012;
CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10,1,10,2,10,3,10, CELL ngaImage[] = { 1793,11537,20974,21011,202409,417,389,1249,1535,0,11583,0,10,1,10,2,10,3,10,
4,10,5,10,6,10,7,10,8,10,11,10,12,10,13,10,14,10,15,10, 4,10,5,10,6,10,7,10,8,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,68223234, 16,10,17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,68223234,
1,2575,85000450,1,656912,163,180,268505089,65,64,285281281,0,65,2063,10,101384453,0,9,10,68485378, 1,2575,85000450,1,656912,163,180,268505089,65,64,285281281,0,65,2063,10,101384453,0,9,10,68485378,
@ -20,9 +20,9 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
1,251790353,101777669,1,17565186,109,524545,113,66,167838467,-1,134287105,3,61,659457,3,459023,130,2049,58, 1,251790353,101777669,1,17565186,109,524545,113,66,167838467,-1,134287105,3,61,659457,3,459023,130,2049,58,
25,2049,130,1793,137,2049,137,117506307,0,130,0,524545,28,135,168820993,0,149,1642241,149,134283523, 25,2049,130,1793,137,2049,137,117506307,0,130,0,524545,28,135,168820993,0,149,1642241,149,134283523,
13,135,1793,130,524545,2049,130,1793,130,16846593,149,163,180,1793,66,16846593,149,135,180,1793, 13,135,1793,130,524545,2049,130,1793,130,16846593,149,163,180,1793,66,16846593,149,135,180,1793,
66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20072,17108737,3,2,524559,130, 66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20281,17108737,3,2,524559,130,
2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19613,8246457295145463473,167841793, 2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19822,8246457295145463473,167841793,
216,11,17826049,0,216,2,15,25,524546,18736,134287105,217,29,2305,218,459023,226,2049,4819,134287361, 216,11,17826049,0,216,2,15,25,524546,18731,134287105,217,29,2305,218,459023,226,2049,4819,134287361,
217,221,659201,216,10,659969,7,2049,58,25,17694978,58,244,9,84152833,48,319750404,243,117507601,246, 217,221,659201,216,10,659969,7,2049,58,25,17694978,58,244,9,84152833,48,319750404,243,117507601,246,
184618754,45,25,16974851,-1,168886532,1,134284289,1,259,134284289,0,246,660227,32,0,0,115,105,103, 184618754,45,25,16974851,-1,168886532,1,134284289,1,259,134284289,0,246,660227,32,0,0,115,105,103,
105,108,58,105,0,285278479,276,6,2576,524546,104,1641217,1,167838467,273,2049,288,2049,284,524545, 105,108,58,105,0,285278479,276,6,2576,524546,104,1641217,1,167838467,273,2049,288,2049,284,524545,
@ -170,7 +170,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
110,58,105,110,99,0,659713,1,10,3114,3139,168,12432,210720197721,110,58,100,101,99,0, 110,58,105,110,99,0,659713,1,10,3114,3139,168,12432,210720197721,110,58,100,101,99,0,
659969,1,10,3128,3158,168,12432,8246617666422322998,110,58,98,101,116,119,101,101,110,63,0,67503109, 659969,1,10,3128,3158,168,12432,8246617666422322998,110,58,98,101,116,119,101,101,110,63,0,67503109,
1793,3166,67503109,67503109,2049,3106,10,1,3161,2049,2241,11,10,3142,3187,168,12432,249861296566813883,83,99, 1793,3166,67503109,67503109,2049,3106,10,1,3161,2049,2241,11,10,3142,3187,168,12432,249861296566813883,83,99,
111,112,101,76,105,115,116,0,20487,20600,10,3172,3198,168,12432,5864091,123,123,0,2049, 111,112,101,76,105,115,116,0,20696,20809,10,3172,3198,168,12432,5864091,123,123,0,2049,
1576,2,1,3187,2049,61,16,10,3190,3225,168,12432,-6305314778776785742,45,45,45,114,101,118,101, 1576,2,1,3187,2049,61,16,10,3190,3225,168,12432,-6305314778776785742,45,45,45,114,101,118,101,
97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,168,12432,5864159,125, 97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,168,12432,5864159,125,
125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281, 125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281,
@ -225,7 +225,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
4211,2049,2229,4097,4000,10,4184,4242,156,12432,-4600587576916820603,84,101,109,112,83,116,114,105,110, 4211,2049,2229,4097,4000,10,4184,4242,156,12432,-4600587576916820603,84,101,109,112,83,116,114,105,110,
103,115,0,32,4225,4262,156,12432,7474516786580364824,84,101,109,112,83,116,114,105,110,103,77, 103,115,0,32,4225,4262,156,12432,7474516786580364824,84,101,109,112,83,116,114,105,110,103,77,
97,120,0,512,4243,4276,168,12432,229440420829967,83,84,82,73,78,71,83,0,2049,1545,3841, 97,120,0,512,4243,4276,168,12432,229440420829967,83,84,82,73,78,71,83,0,2049,1545,3841,
4242,3841,4262,19,18,10,4263,4298,156,0,0,67,117,114,114,101,110,116,0,0, 4242,3841,4262,19,18,10,4263,4298,156,0,0,67,117,114,114,101,110,116,0,1,
10,4285,4315,168,0,0,115,58,112,111,105,110,116,101,114,0,3841,4298,3841,4262, 10,4285,4315,168,0,0,115,58,112,111,105,110,116,101,114,0,3841,4298,3841,4262,
19,2049,4276,17,10,4300,4336,168,0,0,115,58,110,101,120,116,0,1,4298,2049, 19,2049,4276,17,10,4300,4336,168,0,0,115,58,110,101,120,116,0,1,4298,2049,
3816,3841,4298,3841,4242,11,1793,4352,1,0,4097,4298,10,1,4347,9,10,4263,4368,168, 3816,3841,4298,3841,4242,11,1793,4352,1,0,4097,4298,10,1,4347,9,10,4263,4368,168,
@ -528,7 +528,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
2049,2740,1,417,1,17,2049,66,10,1,10276,2049,2229,2049,3125,10,1,10269,2049,2449, 2049,2740,1,417,1,17,2049,66,10,1,10276,2049,2229,2049,3125,10,1,10269,2049,2449,
2049,417,10,10145,10318,168,12432,8246849872898570441,115,58,101,118,97,108,117,97,116,101,0,2049, 2049,417,10,10145,10318,168,12432,8246849872898570441,115,58,101,118,97,108,117,97,116,101,0,2049,
10210,2049,5517,2049,10210,2,2049,10234,2049,10267,10,10302,10338,156,0,0,76,80,0,0, 10210,2049,5517,2049,10210,2,2049,10234,2049,10267,10,10302,10338,156,0,0,76,80,0,0,
10330,10350,156,0,0,73,110,100,101,120,0,0,14,0,0,0,0,0,0,0, 10330,10350,156,0,0,73,110,100,101,120,0,0,15,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,0,0,0,0,0,0,
0,0,0,10339,10392,168,0,0,110,101,120,116,0,3841,10338,1,10350,17,2049,3816, 0,0,0,10339,10392,168,0,0,110,101,120,116,0,3841,10338,1,10350,17,2049,3816,
10,10382,10410,168,0,0,112,114,101,112,0,1,10338,2049,3816,1,0,3841,10338,1, 10,10382,10410,168,0,0,112,114,101,112,0,1,10338,2049,3816,1,0,3841,10338,1,
@ -599,7 +599,7 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
114,33,0,2049,11665,16,10,11692,11716,168,12101,6385111390,99,100,114,64,0,2049,11675,15, 114,33,0,2049,11665,16,10,11692,11716,168,12101,6385111390,99,100,114,64,0,2049,11675,15,
10,11706,11730,168,12101,6385111359,99,100,114,33,0,2049,11675,16,10,11720,11743,168,12101,193454780, 10,11706,11730,168,12101,6385111359,99,100,114,33,0,2049,11675,16,10,11720,11743,168,12101,193454780,
69,78,68,0,10,11734,11760,168,12101,8246317064958091121,102,108,108,58,99,114,101,97,116,101, 69,78,68,0,10,11734,11760,168,12101,8246317064958091121,102,108,108,58,99,114,101,97,116,101,
0,1,11743,2049,11641,10,11744,11772,156,0,177687,114,0,18950,11744,11789,168,12101,8246317065617826724,102, 0,1,11743,2049,11641,10,11744,11772,156,0,177687,114,0,18945,11744,11789,168,12101,8246317065617826724,102,
108,108,58,116,111,45,101,110,100,0,2,4097,11772,1793,11814,2049,11716,2,1,11743, 108,108,58,116,111,45,101,110,100,0,2,4097,11772,1793,11814,2049,11716,2,1,11743,
12,2,1793,11807,67502597,4097,11772,10,1,11803,1,2172,2049,66,10,1,11794,2049,2372,3841, 12,2,1793,11807,67502597,4097,11772,10,1,11803,1,2172,2049,66,10,1,11794,2049,2372,3841,
11772,10,11773,11843,168,12101,4204933718218055169,102,108,108,58,97,112,112,101,110,100,47,118,97, 11772,10,11773,11843,168,12101,4204933718218055169,102,108,108,58,97,112,112,101,110,100,47,118,97,
@ -618,8 +618,8 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
12101,229465928304278,102,108,108,58,112,117,116,0,1793,12096,2049,10853,2049,10807,10,1,12091,2049, 12101,229465928304278,102,108,108,58,112,117,116,0,1793,12096,2049,10853,2049,10807,10,1,12091,2049,
11940,10,105,110,116,101,114,102,97,99,101,47,108,108,46,114,101,116,114,111, 11940,10,105,110,116,101,114,102,97,99,101,47,108,108,46,114,101,116,114,111,
0,105,110,105,116,0,12120,12362,12076,12145,156,12340,-2744922491217532500,115,58,100,101,100,117,112, 0,105,110,105,116,0,12120,12362,12076,12145,156,12340,-2744922491217532500,115,58,100,101,100,117,112,
46,100,97,116,97,0,12125,12127,12154,156,0,5863786,116,49,0,508416,12146,12163,156,0, 46,100,97,116,97,0,12125,12127,12154,156,0,5863786,116,49,0,508928,12146,12163,156,0,
5863787,116,50,0,19587,12127,12186,168,12340,-1192507208876296873,115,58,100,101,100,117,112,46,114,101, 5863787,116,50,0,19796,12127,12186,168,12340,-1192507208876296873,115,58,100,101,100,117,112,46,114,101,
103,105,115,116,101,114,0,2049,4445,3841,12145,4,1,11843,2049,2241,10,12164,12218,168, 103,105,115,116,101,114,0,2049,4445,3841,12145,4,1,11843,2049,2241,10,12164,12218,168,
12340,-1192507805573830048,115,58,100,101,100,117,112,46,100,101,102,105,110,101,100,63,0,4097, 12340,-1192507805573830048,115,58,100,101,100,117,112,46,100,101,102,105,110,101,100,63,0,4097,
12154,1,0,4097,12163,3841,12145,1793,12238,3841,12154,2049,118,3841,12163,22,4097,12163,10,1, 12154,1,0,4097,12163,3841,12145,1793,12238,3841,12154,2049,118,3841,12163,22,4097,12163,10,1,
@ -633,422 +633,432 @@ CELL ngaImage[] = { 1793,11537,20765,20802,202409,417,389,1249,1535,0,11583,0,10
99,101,0,1,12310,2049,2229,2049,236,2049,186,16,10,105,110,116,101,114,102,97, 99,101,0,1,12310,2049,2229,2049,236,2049,186,16,10,105,110,116,101,114,102,97,
99,101,47,115,111,117,114,99,101,115,46,114,101,116,114,111,0,12392,12430,98, 99,101,47,115,111,117,114,99,101,115,46,114,101,116,114,111,0,12392,12430,98,
117,105,108,100,46,114,101,116,114,111,0,12418,12444,114,101,116,114,111,46,102, 117,105,108,100,46,114,101,116,114,111,0,12418,12444,114,101,116,114,111,46,102,
111,114,116,104,0,12432,12886,12364,0,156,12862,-2419379730924625824,68,69,86,73,67,69,58,79, 111,114,116,104,0,12432,12881,12364,0,156,12857,-2419379730924625824,68,69,86,73,67,69,58,79,
85,84,80,85,84,0,12446,1,156,12862,3179875372589939872,68,69,86,73,67,69,58,75,69, 85,84,80,85,84,0,12446,1,156,12857,3179875372589939872,68,69,86,73,67,69,58,75,69,
89,66,79,65,82,68,0,12465,2,156,12862,-2419379731287713704,68,69,86,73,67,69,58,70, 89,66,79,65,82,68,0,12465,2,156,12857,-2419379731287713704,68,69,86,73,67,69,58,70,
76,79,65,84,83,0,12486,4,156,12862,-5104244739232646654,68,69,86,73,67,69,58,70,73, 76,79,65,84,83,0,12486,4,156,12857,-5104244739232646654,68,69,86,73,67,69,58,70,73,
76,69,83,0,12505,3,156,12862,-2419379731444253395,68,69,86,73,67,69,58,66,76,79,67, 76,69,83,0,12505,3,156,12857,-2419379731444253395,68,69,86,73,67,69,58,66,76,79,67,
75,83,0,12523,5,156,12862,-5104244739236093413,68,69,86,73,67,69,58,67,76,79,67,75, 75,83,0,12523,5,156,12857,-5104244739236093413,68,69,86,73,67,69,58,67,76,79,67,75,
0,12542,6,156,12862,-5744567309556069531,68,69,86,73,67,69,58,82,69,83,69,82,86,69, 0,12542,6,156,12857,-5744567309556069531,68,69,86,73,67,69,58,82,69,83,69,82,86,69,
68,54,0,12560,7,156,12862,-2419379730775816680,68,69,86,73,67,69,58,83,79,67,75,69, 68,54,0,12560,7,156,12857,-2419379730775816680,68,69,86,73,67,69,58,83,79,67,75,69,
84,0,12582,8,156,12862,-4626612040269427085,68,69,86,73,67,69,58,85,78,73,88,0,12601, 84,0,12582,8,156,12857,-4626612040269427085,68,69,86,73,67,69,58,85,78,73,88,0,12601,
9,156,12862,-5744565989521702654,68,69,86,73,67,69,58,83,67,82,73,80,84,73,78,71, 9,156,12857,-5744565989521702654,68,69,86,73,67,69,58,83,67,82,73,80,84,73,78,71,
0,12618,10,156,12862,8244683305011325430,68,69,86,73,67,69,58,82,78,71,0,12640,11,156, 0,12618,10,156,12857,8244683305011325430,68,69,86,73,67,69,58,82,78,71,0,12640,11,156,
12862,-5103280478254778479,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,49,49,0, 12857,-5103280478254778479,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,49,49,0,
12656,12,156,12862,-5103280478254778478,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68, 12656,12,156,12857,-5103280478254778478,68,69,86,73,67,69,58,82,69,83,69,82,86,69,68,
49,50,0,12679,13,156,12862,-5103280478254778477,68,69,86,73,67,69,58,82,69,83,69,82, 49,50,0,12679,13,156,12857,-5103280478254778477,68,69,86,73,67,69,58,82,69,83,69,82,
86,69,68,49,51,0,12702,14,156,12862,-5103280478254778476,68,69,86,73,67,69,58,82,69, 86,69,68,49,51,0,12702,14,156,12857,-5104244739228882582,68,69,86,73,67,69,58,73,79,
83,69,82,86,69,68,49,52,0,12725,15,156,12862,-2419379731026907097,68,69,86,73,67,69, 67,84,76,0,12725,15,156,12857,-2419379731026907097,68,69,86,73,67,69,58,77,65,76,76,
58,77,65,76,76,79,67,0,12748,1000,156,12862,-5104244739228957070,68,69,86,73,67,69,58, 79,67,0,12743,1000,156,12857,-5104244739228957070,68,69,86,73,67,69,58,73,77,65,71,69,
73,77,65,71,69,0,12767,1234,156,12862,-5104244739233502279,68,69,86,73,67,69,58,69,82, 0,12762,1234,156,12857,-5104244739233502279,68,69,86,73,67,69,58,69,82,82,79,82,0,12780,
82,79,82,0,12785,8000,156,12862,-5744573668168662717,68,69,86,73,67,69,58,77,85,76,84, 8000,156,12857,-5744573668168662717,68,69,86,73,67,69,58,77,85,76,84,73,67,79,82,69,
73,67,79,82,69,0,12803,8100,156,12862,8244683305011312100,68,69,86,73,67,69,58,70,70, 0,12798,8100,156,12857,8244683305011312100,68,69,86,73,67,69,58,70,70,73,0,12820,8101,156,
73,0,12825,8101,156,12862,3179875810170796684,68,69,86,73,67,69,58,85,78,83,73,71,78, 12857,3179875810170796684,68,69,86,73,67,69,58,85,78,83,73,71,78,69,68,0,105,110,
69,68,0,105,110,116,101,114,102,97,99,101,47,100,101,118,105,99,101,115, 116,101,114,102,97,99,101,47,100,101,118,105,99,101,115,46,114,101,116,114,
46,114,101,116,114,111,0,12862,15046,12841,12909,168,15016,-6845980351726443322,102,108,111,97,116,58, 111,0,12857,15041,12836,12904,168,15011,-6845980351726443322,102,108,111,97,116,58,111,112,101,114,97,
111,112,101,114,97,116,105,111,110,0,1,2,2049,10731,2,2049,2761,1793,12967,3, 116,105,111,110,0,1,2,2049,10731,2,2049,2761,1793,12962,3,2049,4417,69,114,114,
2049,4417,69,114,114,111,114,58,32,102,108,111,97,116,105,110,103,32,112,111, 111,114,58,32,102,108,111,97,116,105,110,103,32,112,111,105,110,116,32,100,
105,110,116,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100, 101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,12916,2049,10837,
0,1,12921,2049,10837,2049,10794,10,1,12918,2049,2862,2049,10712,10,12888,12990,168,15016,8246618443670464787, 2049,10794,10,1,12913,2049,2862,2049,10712,10,12883,12985,168,15011,8246618443670464787,110,58,116,111,45,
110,58,116,111,45,102,108,111,97,116,0,1,0,2049,12909,10,12974,13011,168,15016, 102,108,111,97,116,0,1,0,2049,12904,10,12969,13006,168,15011,8246850501092474552,115,58,116,111,
8246850501092474552,115,58,116,111,45,102,108,111,97,116,0,1,1,2049,12909,10,12995,13033,168, 45,102,108,111,97,116,0,1,1,2049,12904,10,12990,13028,168,15011,-4575005096076366594,102,58,116,
15016,-4575005096076366594,102,58,116,111,45,110,117,109,98,101,114,0,1,2,2049,12909,10,13016, 111,45,110,117,109,98,101,114,0,1,2,2049,12904,10,13011,13050,168,15011,-4575005095881687956,102,
13055,168,15016,-4575005095881687956,102,58,116,111,45,115,116,114,105,110,103,0,2049,4396,2,1, 58,116,111,45,115,116,114,105,110,103,0,2049,4396,2,1,3,2049,12904,10,13033,
3,2049,12909,10,13038,13072,168,15016,193490032,102,58,43,0,1,4,2049,12909,10,13063,13086, 13067,168,15011,193490032,102,58,43,0,1,4,2049,12904,10,13058,13081,168,15011,193490034,102,58,
168,15016,193490034,102,58,45,0,1,5,2049,12909,10,13077,13100,168,15016,193490031,102,58,42, 45,0,1,5,2049,12904,10,13072,13095,168,15011,193490031,102,58,42,0,1,6,2049,12904,
0,1,6,2049,12909,10,13091,13114,168,15016,193490036,102,58,47,0,1,7,2049,12909,10, 10,13086,13109,168,15011,193490036,102,58,47,0,1,7,2049,12904,10,13100,13127,168,15011,229463966214663,
13105,13132,168,15016,229463966214663,102,58,102,108,111,111,114,0,1,8,2049,12909,10,13119,13152, 102,58,102,108,111,111,114,0,1,8,2049,12904,10,13114,13147,168,15011,249886255052186944,102,58,
168,15016,249886255052186944,102,58,99,101,105,108,105,110,103,0,1,9,2049,12909,10,13137,13169, 99,101,105,108,105,110,103,0,1,9,2049,12904,10,13132,13164,168,15011,6953453994383,102,58,
168,15016,6953453994383,102,58,115,113,114,116,0,1,10,2049,12909,10,13157,13185,168,15016,210710711802, 115,113,114,116,0,1,10,2049,12904,10,13152,13180,168,15011,210710711802,102,58,101,113,63,
102,58,101,113,63,0,1,11,2049,12909,10,13174,13202,168,15016,6953451465639,102,58,45,101, 0,1,11,2049,12904,10,13169,13197,168,15011,6953451465639,102,58,45,101,113,63,0,1,12,
113,63,0,1,12,2049,12909,10,13190,13218,168,15016,210710719524,102,58,108,116,63,0,1, 2049,12904,10,13185,13213,168,15011,210710719524,102,58,108,116,63,0,1,13,2049,12904,10,13202,
13,2049,12909,10,13207,13234,168,15016,210710714079,102,58,103,116,63,0,1,14,2049,12909,10, 13229,168,15011,210710714079,102,58,103,116,63,0,1,14,2049,12904,10,13218,13247,168,15011,229463963592506,
13223,13252,168,15016,229463963592506,102,58,100,101,112,116,104,0,1,15,2049,12909,10,13239,13268, 102,58,100,101,112,116,104,0,1,15,2049,12904,10,13234,13263,168,15011,210710710894,102,58,
168,15016,210710710894,102,58,100,117,112,0,1,16,2049,12909,10,13257,13285,168,15016,6953453456314,102, 100,117,112,0,1,16,2049,12904,10,13252,13280,168,15011,6953453456314,102,58,100,114,111,112,
58,100,114,111,112,0,1,17,2049,12909,10,13273,13302,168,15016,6953454000352,102,58,115,119, 0,1,17,2049,12904,10,13268,13297,168,15011,6953454000352,102,58,115,119,97,112,0,1,18,
97,112,0,1,18,2049,12909,10,13290,13318,168,15016,210710719399,102,58,108,111,103,0,1, 2049,12904,10,13285,13313,168,15011,210710719399,102,58,108,111,103,0,1,19,2049,12904,10,13302,
19,2049,12909,10,13307,13336,168,15016,229463978190066,102,58,112,111,119,101,114,0,1,20,2049, 13331,168,15011,229463978190066,102,58,112,111,119,101,114,0,1,20,2049,12904,10,13318,13347,168,
12909,10,13323,13352,168,15016,210710726831,102,58,115,105,110,0,1,21,2049,12909,10,13341,13368, 15011,210710726831,102,58,115,105,110,0,1,21,2049,12904,10,13336,13363,168,15011,210710727656,102,58,
168,15016,210710727656,102,58,116,97,110,0,1,22,2049,12909,10,13357,13384,168,15016,210710709610,102, 116,97,110,0,1,22,2049,12904,10,13352,13379,168,15011,210710709610,102,58,99,111,115,0,
58,99,111,115,0,1,23,2049,12909,10,13373,13401,168,15016,6953453349392,102,58,97,115,105, 1,23,2049,12904,10,13368,13396,168,15011,6953453349392,102,58,97,115,105,110,0,1,24,2049,
110,0,1,24,2049,12909,10,13389,13418,168,15016,6953453332171,102,58,97,99,111,115,0,1, 12904,10,13384,13413,168,15011,6953453332171,102,58,97,99,111,115,0,1,25,2049,12904,10,13401,
25,2049,12909,10,13406,13435,168,15016,6953453350217,102,58,97,116,97,110,0,1,26,2049,12909, 13430,168,15011,6953453350217,102,58,97,116,97,110,0,1,26,2049,12904,10,13418,13447,168,15011,
10,13423,13452,168,15016,6953453890949,102,58,112,117,115,104,0,1,27,2049,12909,10,13440,13468, 6953453890949,102,58,112,117,115,104,0,1,27,2049,12904,10,13435,13463,168,15011,210710723764,102,58,
168,15016,210710723764,102,58,112,111,112,0,1,28,2049,12909,10,13457,13487,168,15016,7572310679561435,102, 112,111,112,0,1,28,2049,12904,10,13452,13482,168,15011,7572310679561435,102,58,97,100,101,112,
58,97,100,101,112,116,104,0,1,29,2049,12909,10,13473,13504,168,15016,6953453855649,102,58, 116,104,0,1,29,2049,12904,10,13468,13499,168,15011,6953453855649,102,58,111,118,101,114,0,
111,118,101,114,0,2049,13452,2049,13268,2049,13468,2049,13302,10,13492,13525,168,15016,6953454034172,102, 2049,13447,2049,13263,2049,13463,2049,13297,10,13487,13520,168,15011,6953454034172,102,58,116,117,99,107,
58,116,117,99,107,0,2049,13268,2049,13452,2049,13302,2049,13468,10,13513,13545,168,15016,210710721388, 0,2049,13263,2049,13447,2049,13297,2049,13463,10,13508,13540,168,15011,210710721388,102,58,110,105,112,
102,58,110,105,112,0,2049,13302,2049,13285,10,13534,13567,168,15016,-4575027385529052237,102,58,100,114, 0,2049,13297,2049,13280,10,13529,13562,168,15011,-4575027385529052237,102,58,100,114,111,112,45,112,97,
111,112,45,112,97,105,114,0,2049,13285,2049,13285,10,13550,13588,168,15016,8246246480203571943,102,58, 105,114,0,2049,13280,2049,13280,10,13545,13583,168,15011,8246246480203571943,102,58,100,117,112,45,112,
100,117,112,45,112,97,105,114,0,2049,13504,2049,13504,10,13572,13604,168,15016,210710725946,102, 97,105,114,0,2049,13499,2049,13499,10,13567,13599,168,15011,210710725946,102,58,114,111,116,0,
58,114,111,116,0,2049,13452,2049,13302,2049,13468,2049,13302,10,13593,13626,180,15016,229482595734757,115, 2049,13447,2049,13297,2049,13463,2049,13297,10,13588,13621,180,15011,229482595734757,115,105,103,105,108,58,
105,103,105,108,58,46,0,2049,1913,1,4445,1,4368,2049,66,1,13011,2049,168,10, 46,0,2049,1913,1,4445,1,4368,2049,66,1,13006,2049,168,10,13608,13648,168,15011,7572311399974070,
13613,13653,168,15016,7572311399974070,102,58,115,113,117,97,114,101,0,2049,13268,2049,13100,10,13639, 102,58,115,113,117,97,114,101,0,2049,13263,2049,13095,10,13634,13670,168,15011,-4575010631505066633,102,
13675,168,15016,-4575010631505066633,102,58,112,111,115,105,116,105,118,101,63,0,1,0,2049,12990, 58,112,111,115,105,116,105,118,101,63,0,1,0,2049,12985,2049,13229,10,13653,13694,
2049,13234,10,13658,13699,168,15016,-4575013886317431657,102,58,110,101,103,97,116,105,118,101,63,0, 168,15011,-4575013886317431657,102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,12985,2049,
1,0,2049,12990,2049,13218,10,13682,13720,168,15016,7572311189563001,102,58,110,101,103,97,116,101, 13213,10,13677,13715,168,15011,7572311189563001,102,58,110,101,103,97,116,101,0,1,-1,2049,12985,
0,1,-1,2049,12990,2049,13100,10,13706,13738,168,15016,210710707003,102,58,97,98,115,0,2049, 2049,13095,10,13701,13733,168,15011,210710707003,102,58,97,98,115,0,2049,13263,2049,13694,1,13715,
13268,2049,13699,1,13720,9,10,13727,13757,168,15016,210710723966,102,58,112,117,116,0,2049,13055, 9,10,13722,13752,168,15011,210710723966,102,58,112,117,116,0,2049,13050,2049,10837,10,13741,13767,
2049,10837,10,13746,13772,168,15016,6385172350,102,58,80,73,0,2049,4417,51,46,49,52,49, 168,15011,6385172350,102,58,80,73,0,2049,4417,51,46,49,52,49,53,57,50,54,53,
53,57,50,54,53,52,0,1,13774,2049,13011,10,13762,13800,168,15016,193490058,102,58,69, 52,0,1,13769,2049,13006,10,13757,13795,168,15011,193490058,102,58,69,0,2049,4417,50,46,
0,2049,4417,50,46,55,49,56,50,56,49,56,50,56,0,1,13802,2049,13011,10, 55,49,56,50,56,49,56,50,56,0,1,13797,2049,13006,10,13786,13825,168,15011,210710685186,
13791,13830,168,15016,210710685186,102,58,78,65,78,0,2049,4417,48,0,1,13832,2049,13011,2049, 102,58,78,65,78,0,2049,4417,48,0,1,13827,2049,13006,2049,4417,48,0,1,13835,
4417,48,0,1,13840,2049,13011,2049,13114,10,13819,13860,168,15016,210710680162,102,58,73,78,70, 2049,13006,2049,13109,10,13814,13855,168,15011,210710680162,102,58,73,78,70,0,2049,4417,49,46,
0,2049,4417,49,46,48,0,1,13862,2049,13011,2049,4417,48,0,1,13872,2049,13011,2049, 48,0,1,13857,2049,13006,2049,4417,48,0,1,13867,2049,13006,2049,13109,10,13844,13888,168,
13114,10,13849,13893,168,15016,6953451433999,102,58,45,73,78,70,0,2049,4417,45,49,46,48, 15011,6953451433999,102,58,45,73,78,70,0,2049,4417,45,49,46,48,0,1,13890,2049,13006,
0,1,13895,2049,13011,2049,4417,48,0,1,13906,2049,13011,2049,13114,10,13881,13927,168,15016, 2049,4417,48,0,1,13901,2049,13006,2049,13109,10,13876,13922,168,15011,6953453797089,102,58,110,97,
6953453797089,102,58,110,97,110,63,0,2049,13268,2049,13202,10,13915,13944,168,15016,6953453631297,102,58, 110,63,0,2049,13263,2049,13197,10,13910,13939,168,15011,6953453631297,102,58,105,110,102,63,0,
105,110,102,63,0,2049,13860,2049,13185,10,13932,13962,168,15016,229463898507918,102,58,45,105,110, 2049,13855,2049,13180,10,13927,13957,168,15011,229463898507918,102,58,45,105,110,102,63,0,2049,13888,
102,63,0,2049,13893,2049,13185,10,13949,13980,168,15016,229463980560013,102,58,114,111,117,110,100, 2049,13180,10,13944,13975,168,15011,229463980560013,102,58,114,111,117,110,100,0,2049,13263,2049,13694,
0,2049,13268,2049,13699,1793,14001,2049,4417,48,46,53,0,1,13988,2049,13011,2049,13086,2049, 1793,13996,2049,4417,48,46,53,0,1,13983,2049,13006,2049,13081,2049,13147,10,1,13981,1793,
13152,10,1,13986,1793,14020,2049,4417,48,46,53,0,1,14007,2049,13011,2049,13072,2049,13132, 14015,2049,4417,48,46,53,0,1,14002,2049,13006,2049,13067,2049,13127,10,1,14000,2049,66,
10,1,14005,2049,66,10,13967,14036,168,15016,210710720297,102,58,109,105,110,0,2049,13588,2049, 10,13962,14031,168,15011,210710720297,102,58,109,105,110,0,2049,13583,2049,13213,1,13280,1,13540,
13218,1,13285,1,13545,2049,66,10,14025,14058,168,15016,210710720043,102,58,109,97,120,0,2049, 2049,66,10,14020,14053,168,15011,210710720043,102,58,109,97,120,0,2049,13583,2049,13229,1,13280,
13588,2049,13234,1,13285,1,13545,2049,66,10,14047,14082,168,15016,229463973220004,102,58,108,105,109, 1,13540,2049,66,10,14042,14077,168,15011,229463973220004,102,58,108,105,109,105,116,0,2049,13297,
105,116,0,2049,13302,2049,13452,2049,14036,2049,13468,2049,14058,10,14069,14109,168,15016,8246246374547107374,102, 2049,13447,2049,14031,2049,13463,2049,14053,10,14064,14104,168,15011,8246246374547107374,102,58,98,101,116,119,
58,98,101,116,119,101,101,110,63,0,2049,13604,2049,13268,2049,13452,2049,13604,2049,13604, 101,101,110,63,0,2049,13599,2049,13263,2049,13447,2049,13599,2049,13599,2049,14077,2049,13463,2049,
2049,14082,2049,13468,2049,13185,10,14093,14137,168,15016,210710716095,102,58,105,110,99,0,2049,4417, 13180,10,14088,14132,168,15011,210710716095,102,58,105,110,99,0,2049,4417,49,0,1,14134,2049,
49,0,1,14139,2049,13011,2049,13072,10,14126,14159,168,15016,210710710353,102,58,100,101,99,0, 13006,2049,13067,10,14121,14154,168,15011,210710710353,102,58,100,101,99,0,2049,4417,49,0,1,
2049,4417,49,0,1,14161,2049,13011,2049,13086,10,14148,14182,168,15016,6953453401985,102,58,99,97, 14156,2049,13006,2049,13081,10,14143,14177,168,15011,6953453401985,102,58,99,97,115,101,0,2049,13499,
115,101,0,2049,13504,2049,13185,1793,14194,2049,13285,8,1,-1,10,1,14188,1793,14202,3, 2049,13180,1793,14189,2049,13280,8,1,-1,10,1,14183,1793,14197,3,1,0,10,1,14193,
1,0,10,1,14198,2049,66,25,6,771,10,14170,14222,168,15016,6953453985302,102,58,115,105, 2049,66,25,6,771,10,14165,14217,168,15011,6953453985302,102,58,115,105,103,110,0,2049,13263,
103,110,0,2049,13268,2049,4417,48,0,1,14226,2049,13011,2049,13185,1793,14241,1,0,2049, 2049,4417,48,0,1,14221,2049,13006,2049,13180,1793,14236,1,0,2049,13280,10,1,14231,2049,
13285,10,1,14236,2049,2862,2049,4417,48,0,1,14247,2049,13011,2049,13234,1793,14260,1,1, 2862,2049,4417,48,0,1,14242,2049,13006,2049,13229,1793,14255,1,1,10,1,14252,1793,14262,
10,1,14257,1793,14267,1,-1,10,1,14264,2049,66,10,14210,9223372036854775805,156,15016,210709498186,101,58, 1,-1,10,1,14259,2049,66,10,14205,9223372036854775805,156,15011,210709498186,101,58,77,65,88,0,14267,
77,65,88,0,14272,-9223372036854775805,156,15016,210709498440,101,58,77,73,78,0,14283,-9223372036854775807,156,15016,210709499265, -9223372036854775805,156,15011,210709498440,101,58,77,73,78,0,14278,-9223372036854775807,156,15011,210709499265,101,58,78,65,78,
101,58,78,65,78,0,14294,9223372036854775806,156,15016,210709494241,101,58,73,78,70,0,14305,-9223372036854775806,156, 0,14289,9223372036854775806,156,15011,210709494241,101,58,73,78,70,0,14300,-9223372036854775806,156,15011,6953412298606,101,58,45,
15016,6953412298606,101,58,45,73,78,70,0,14316,14338,168,15016,6385137393,101,58,110,63,0,1, 73,78,70,0,14311,14333,168,15011,6385137393,101,58,110,63,0,1,-9223372036854775805,2049,3125,1,9223372036854775805,
-9223372036854775805,2049,3125,1,9223372036854775805,2049,3139,2049,3158,10,14328,14361,168,15016,6953414626089,101,58,109,97,120, 2049,3139,2049,3158,10,14323,14356,168,15011,6953414626089,101,58,109,97,120,63,0,1,9223372036854775805,11,
63,0,1,9223372036854775805,11,10,14349,14377,168,15016,6953414634471,101,58,109,105,110,63,0,1,-9223372036854775805, 10,14344,14372,168,15011,6953414634471,101,58,109,105,110,63,0,1,-9223372036854775805,11,10,14360,14389,168,
11,10,14365,14394,168,15016,229462698216771,101,58,122,101,114,111,63,0,2049,2722,10,14381,14409, 15011,229462698216771,101,58,122,101,114,111,63,0,2049,2722,10,14376,14404,168,15011,6953414661696,101,58,
168,15016,6953414661696,101,58,110,97,110,63,0,1,-9223372036854775807,11,10,14397,14425,168,15016,6953414495904,101, 110,97,110,63,0,1,-9223372036854775807,11,10,14392,14420,168,15011,6953414495904,101,58,105,110,102,63,
58,105,110,102,63,0,1,9223372036854775806,11,10,14413,14442,168,15016,229462607039949,101,58,45,105,110, 0,1,9223372036854775806,11,10,14408,14437,168,15011,229462607039949,101,58,45,105,110,102,63,0,1,-9223372036854775806,
102,63,0,1,-9223372036854775806,11,10,14429,14458,168,15016,6953414278252,101,58,99,108,105,112,0,1, 11,10,14424,14453,168,15011,6953414278252,101,58,99,108,105,112,0,1,-9223372036854775805,1,9223372036854775805,2049,3106,
-9223372036854775805,1,9223372036854775805,2049,3106,10,14446,14475,168,15016,6385171963,102,58,69,49,0,1793,14477,2049,4417, 10,14441,14470,168,15011,6385171963,102,58,69,49,0,1793,14472,2049,4417,49,46,101,53,0,
49,46,101,53,0,1,14479,2049,13011,10,14465,14508,168,15016,-1561378222854156682,102,58,115,105,103, 1,14474,2049,13006,10,14460,14503,168,15011,-1561378222854156682,102,58,115,105,103,110,101,100,45,115,
110,101,100,45,115,113,114,116,0,2049,13268,2049,14222,2049,13738,2049,13169,2049,12990,2049, 113,114,116,0,2049,13263,2049,14217,2049,13733,2049,13164,2049,12985,2049,13095,10,14484,14537,168,
13100,10,14489,14542,168,15016,-3240429906897787043,102,58,115,105,103,110,101,100,45,115,113,117,97, 15011,-3240429906897787043,102,58,115,105,103,110,101,100,45,115,113,117,97,114,101,0,2049,13263,
114,101,0,2049,13268,2049,14222,2049,13268,2049,13100,2049,12990,2049,13100,10,14521,14569,168,0, 2049,14217,2049,13263,2049,13095,2049,12985,2049,13095,10,14516,14564,168,0,7572308662409552,102,58,45,115,
7572308662409552,102,58,45,115,104,105,102,116,0,2049,14475,2049,13100,10,14555,14588,168,0,7572308584138766, 104,105,102,116,0,2049,14470,2049,13095,10,14550,14583,168,0,7572308584138766,102,58,43,115,104,
102,58,43,115,104,105,102,116,0,2049,14475,2049,13114,10,14574,14608,168,0,249886182735593054,102, 105,102,116,0,2049,14470,2049,13109,10,14569,14603,168,0,249886182735593054,102,58,43,101,110,99,
58,43,101,110,99,111,100,101,0,2049,14508,2049,14569,10,14593,14628,168,0,249886185318528992,102, 111,100,101,0,2049,14503,2049,14564,10,14588,14623,168,0,249886185318528992,102,58,45,101,110,99,
58,45,101,110,99,111,100,101,0,2049,13268,2049,14222,2049,14588,2049,13268,2049,13100,2049, 111,100,101,0,2049,13263,2049,14217,2049,14583,2049,13263,2049,13095,2049,12985,2049,13095,10,14516,
12990,2049,13100,10,14521,14655,168,15016,6953454025850,102,58,116,111,45,101,0,2049,13268,2049,13927, 14650,168,15011,6953454025850,102,58,116,111,45,101,0,2049,13263,2049,13922,1793,14661,2049,13280,1,
1793,14666,2049,13285,1,-9223372036854775807,10,1,14661,2049,2862,2049,13268,2049,13944,1793,14681,2049,13285,1, -9223372036854775807,10,1,14656,2049,2862,2049,13263,2049,13939,1793,14676,2049,13280,1,9223372036854775806,10,1,14671,2049,
9223372036854775806,10,1,14676,2049,2862,2049,13268,2049,13962,1793,14696,2049,13285,1,-9223372036854775806,10,1,14691,2049, 2862,2049,13263,2049,13957,1793,14691,2049,13280,1,-9223372036854775806,10,1,14686,2049,2862,2049,14603,2049,13975,
2862,2049,14608,2049,13980,2049,13033,2049,14458,1,-9223372036854775805,1,13285,2049,2554,1,9223372036854775805,1,13285,2049, 2049,13028,2049,14453,1,-9223372036854775805,1,13280,2049,2554,1,9223372036854775805,1,13280,2049,2554,10,14638,14728,168,
2554,10,14643,14733,168,15016,6953414890458,101,58,116,111,45,102,0,1,-9223372036854775807,1,13830,2049,2554, 15011,6953414890458,101,58,116,111,45,102,0,1,-9223372036854775807,1,13825,2049,2554,1,9223372036854775806,1,13855,2049,
1,9223372036854775806,1,13860,2049,2554,1,-9223372036854775806,1,13893,2049,2554,2049,12990,2049,14628,10,14721,14769,168, 2554,1,-9223372036854775806,1,13888,2049,2554,2049,12985,2049,14623,10,14716,14764,168,15011,229463981919218,102,58,115,
15016,229463981919218,102,58,115,116,111,114,101,0,1,14655,2049,2229,16,10,14756,14788,168,15016, 116,111,114,101,0,1,14650,2049,2229,16,10,14751,14783,168,15011,229463965968143,102,58,102,101,
229463965968143,102,58,102,101,116,99,104,0,15,2049,14733,10,14775,14810,168,15016,-3401946998789110658,102,58, 116,99,104,0,15,2049,14728,10,14770,14805,168,15011,-3401946998789110658,102,58,100,117,109,112,45,
100,117,109,112,45,115,116,97,99,107,0,2049,13252,2,1,13452,2049,2449,1793,14828, 115,116,97,99,107,0,2049,13247,2,1,13447,2049,2449,1793,14823,2049,13463,2049,13263,2049,
2049,13468,2049,13268,2049,13757,2049,10807,10,1,14819,2049,2449,10,14792,14852,168,15016,-1583786518488284545,102, 13752,2049,10807,10,1,14814,2049,2449,10,14787,14847,168,15011,-1583786518488284545,102,58,100,117,109,112,
58,100,117,109,112,45,97,115,116,97,99,107,0,2049,13487,2,1,13468,2049,2449, 45,97,115,116,97,99,107,0,2049,13482,2,1,13463,2049,2449,1793,14865,2049,13263,2049,
1793,14870,2049,13268,2049,13757,2049,10807,2049,13452,10,1,14861,2049,2449,10,14833,14886,168,15016, 13752,2049,10807,2049,13447,10,1,14856,2049,2449,10,14828,14881,168,15011,210709538045,101,58,112,117,
210709538045,101,58,112,117,116,0,1,9223372036854775805,1793,14903,2049,4417,101,58,77,65,88,0,1, 116,0,1,9223372036854775805,1793,14898,2049,4417,101,58,77,65,88,0,1,14887,2049,10837,10,1,
14892,2049,10837,10,1,14890,2049,2554,1,-9223372036854775805,1793,14924,2049,4417,101,58,77,73,78,0, 14885,2049,2554,1,-9223372036854775805,1793,14919,2049,4417,101,58,77,73,78,0,1,14908,2049,10837,10,
1,14913,2049,10837,10,1,14911,2049,2554,1,0,1793,14943,2049,4417,101,58,48,0,1, 1,14906,2049,2554,1,0,1793,14938,2049,4417,101,58,48,0,1,14929,2049,10837,10,1,
14934,2049,10837,10,1,14932,2049,2554,1,-9223372036854775807,1793,14964,2049,4417,101,58,78,65,78,0, 14927,2049,2554,1,-9223372036854775807,1793,14959,2049,4417,101,58,78,65,78,0,1,14948,2049,10837,10,
1,14953,2049,10837,10,1,14951,2049,2554,1,9223372036854775806,1793,14985,2049,4417,101,58,73,78,70, 1,14946,2049,2554,1,9223372036854775806,1793,14980,2049,4417,101,58,73,78,70,0,1,14969,2049,10837,
0,1,14974,2049,10837,10,1,14972,2049,2554,1,-9223372036854775806,1793,15007,2049,4417,101,58,45,73, 10,1,14967,2049,2554,1,-9223372036854775806,1793,15002,2049,4417,101,58,45,73,78,70,0,1,14990,
78,70,0,1,14995,2049,10837,10,1,14993,2049,2554,2049,14733,2049,13757,10,105,110,116, 2049,10837,10,1,14988,2049,2554,2049,14728,2049,13752,10,105,110,116,101,114,102,97,99,
101,114,102,97,99,101,47,102,108,111,97,116,105,110,103,112,111,105,110,116, 101,47,102,108,111,97,116,105,110,103,112,111,105,110,116,46,114,101,116,114,
46,114,101,116,114,111,0,15016,15893,14875,15068,168,15866,8056574075740390096,102,105,108,101,58,111, 111,0,15011,15888,14870,15063,168,15861,8056574075740390096,102,105,108,101,58,111,112,101,114,97,116,
112,101,114,97,116,105,111,110,0,1,4,2049,10731,2,2049,2761,1793,15117,3,2049, 105,111,110,0,1,4,2049,10731,2,2049,2761,1793,15112,3,2049,4417,69,114,114,111,
4417,69,114,114,111,114,58,32,102,105,108,101,115,32,100,101,118,105,99,101, 114,58,32,102,105,108,101,115,32,100,101,118,105,99,101,32,110,111,116,32,
32,110,111,116,32,102,111,117,110,100,0,1,15080,2049,10837,2049,10794,10,1,15077, 102,111,117,110,100,0,1,15075,2049,10837,2049,10794,10,1,15072,2049,2862,2049,10712,10,
2049,2862,2049,10712,10,15048,0,156,15866,6953509466161,102,105,108,101,58,82,0,15124,1,156, 15043,0,156,15861,6953509466161,102,105,108,101,58,82,0,15119,1,156,15861,6953509466166,102,105,108,
15866,6953509466166,102,105,108,101,58,87,0,15136,2,156,15866,6953509466144,102,105,108,101,58,65, 101,58,87,0,15131,2,156,15861,6953509466144,102,105,108,101,58,65,0,15143,3,156,15861,
0,15148,3,156,15866,229465812383356,102,105,108,101,58,82,43,0,15160,15188,168,15866,249888269686595441,102, 229465812383356,102,105,108,101,58,82,43,0,15155,15183,168,15861,249888269686595441,102,105,108,101,58,111,
105,108,101,58,111,112,101,110,0,1,0,2049,15068,10,15173,15209,168,15866,8246312899643285909,102, 112,101,110,0,1,0,2049,15063,10,15168,15204,168,15861,8246312899643285909,102,105,108,101,58,99,
105,108,101,58,99,108,111,115,101,0,1,1,2049,15068,10,15193,15229,168,15866,249888269686691131, 108,111,115,101,0,1,1,2049,15063,10,15188,15224,168,15861,249888269686691131,102,105,108,101,58,
102,105,108,101,58,114,101,97,100,0,1,2,2049,15068,10,15214,15250,168,15866,8246312899667213450, 114,101,97,100,0,1,2,2049,15063,10,15209,15245,168,15861,8246312899667213450,102,105,108,101,58,
102,105,108,101,58,119,114,105,116,101,0,1,3,2049,15068,10,15234,15270,168,15866, 119,114,105,116,101,0,1,3,2049,15063,10,15229,15265,168,15861,249888269686763376,102,105,108,101,
249888269686763376,102,105,108,101,58,116,101,108,108,0,1,4,2049,15068,10,15255,15290,168,15866, 58,116,101,108,108,0,1,4,2049,15063,10,15250,15285,168,15861,249888269686727207,102,105,108,101,
249888269686727207,102,105,108,101,58,115,101,101,107,0,1,5,2049,15068,10,15275,15310,168,15866, 58,115,101,101,107,0,1,5,2049,15063,10,15270,15305,168,15861,249888269686732250,102,105,108,101,
249888269686732250,102,105,108,101,58,115,105,122,101,0,1,6,2049,15068,10,15295,15332,168,15866, 58,115,105,122,101,0,1,6,2049,15063,10,15290,15327,168,15861,-4572835417384127758,102,105,108,101,
-4572835417384127758,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,15068,10,15315,15353, 58,100,101,108,101,116,101,0,1,7,2049,15063,10,15310,15348,168,15861,8246312899646850209,102,105,
168,15866,8246312899646850209,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,15068,10,15337, 108,101,58,102,108,117,115,104,0,1,8,2049,15063,10,15332,15374,168,15861,7612651040925696305,102,
15379,168,15866,7612651040925696305,102,105,108,101,58,114,101,97,100,47,98,121,116,101,115,0, 105,108,101,58,114,101,97,100,47,98,121,116,101,115,0,1,9,2049,15063,10,
1,9,2049,15068,10,15358,15406,168,15866,-7028659436281878592,102,105,108,101,58,119,114,105,116,101, 15353,15401,168,15861,-7028659436281878592,102,105,108,101,58,119,114,105,116,101,47,98,121,116,101,
47,98,121,116,101,115,0,1,10,2049,15068,10,15384,15428,168,15866,-4572835416836630931,102,105,108, 115,0,1,10,2049,15063,10,15379,15423,168,15861,-4572835416836630931,102,105,108,101,58,114,101,97,
101,58,114,101,97,100,47,99,0,1,11,2049,15068,10,15411,15451,168,15866,-3329616158956188292,102, 100,47,99,0,1,11,2049,15063,10,15406,15446,168,15861,-3329616158956188292,102,105,108,101,58,119,
105,108,101,58,119,114,105,116,101,47,99,0,1,12,2049,15068,10,15433,15474,168, 114,105,116,101,47,99,0,1,12,2049,15063,10,15428,15469,168,15861,-3329616181967816770,102,105,108,
15866,-3329616181967816770,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,15188,2, 101,58,101,120,105,115,116,115,63,0,1,0,2049,15183,2,2049,2740,1793,15483,2049,
2049,2740,1793,15488,2049,15209,2049,2527,10,1,15483,1793,15496,3,2049,2541,10,1,15492,2049, 15204,2049,2527,10,1,15478,1793,15491,3,2049,2541,10,1,15487,2049,66,10,15451,15523,168,
66,10,15456,15528,168,15866,-4283841618960457812,102,105,108,101,58,111,112,101,110,45,102,111,114, 15861,-4283841618960457812,102,105,108,101,58,111,112,101,110,45,102,111,114,45,114,101,97,100,
45,114,101,97,100,105,110,103,0,1,0,2049,15188,2,2049,15310,4,10,15501,15563, 105,110,103,0,1,0,2049,15183,2,2049,15305,4,10,15496,15558,168,15861,2106155595587003402,102,105,
168,15866,2106155595587003402,102,105,108,101,58,111,112,101,110,45,102,111,114,45,97,112,112, 108,101,58,111,112,101,110,45,102,111,114,45,97,112,112,101,110,100,0,1,
101,110,100,0,1,2,2049,15188,2,2049,15310,4,10,15537,15599,168,15866,-4283841611984295498,102,105, 2,2049,15183,2,2049,15305,4,10,15532,15594,168,15861,-4283841611984295498,102,105,108,101,58,111,112,
108,101,58,111,112,101,110,45,102,111,114,45,119,114,105,116,105,110,103,0, 101,110,45,102,111,114,45,119,114,105,116,105,110,103,0,1,1,2049,15183,10,
1,1,2049,15188,10,15572,15613,156,0,193455704,70,73,68,0,0,15604,15624,156,0,6384542144, 15567,15608,156,0,193455704,70,73,68,0,0,15599,15619,156,0,6384542144,83,105,122,101,0,
83,105,122,101,0,0,15614,15637,156,0,6952054634723,65,99,116,105,111,110,0,0,15625, 0,15609,15632,156,0,6952054634723,65,99,116,105,111,110,0,0,15620,15644,168,0,210644670123,45,
15649,168,0,210644670123,45,101,111,102,63,0,3841,15613,2049,15270,3841,15624,13,10,15638,15671, 101,111,102,63,0,3841,15608,2049,15265,3841,15619,13,10,15633,15666,168,0,7572809360530097,112,114,
168,0,7572809360530097,112,114,101,115,101,114,118,101,0,1,15613,1793,15682,1,15624,1,27, 101,115,101,114,118,101,0,1,15608,1793,15677,1,15619,1,27,2049,3919,10,1,15670,
2049,3919,10,1,15675,2049,3919,10,15572,15707,168,15866,8056577820387649264,102,105,108,101,58,114,101, 2049,3919,10,15567,15702,168,15861,8056577820387649264,102,105,108,101,58,114,101,97,100,45,108,105,
97,100,45,108,105,110,101,0,2049,1977,4,1,13,2049,15068,2049,1977,10,15687,15741, 110,101,0,2049,1977,4,1,13,2049,15063,2049,1977,10,15682,15736,168,15861,-8859848394595038695,102,105,
168,15866,-8859848394595038695,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110, 108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,15767,4097,
101,0,1793,15772,4097,15637,2049,15528,4097,15613,4097,15624,1793,15763,3841,15613,2049,15707,3841,15637, 15632,2049,15523,4097,15608,4097,15619,1793,15758,3841,15608,2049,15702,3841,15632,8,2049,15644,10,1,
8,2049,15649,10,1,15753,2049,2372,3841,15613,2049,15209,10,1,15743,2049,15671,10,15717,15786, 15748,2049,2372,3841,15608,2049,15204,10,1,15738,2049,15666,10,15712,15781,156,0,193455704,70,73,
156,0,193455704,70,73,68,0,0,15717,15803,168,15866,8246312899662267157,102,105,108,101,58,115,108, 68,0,0,15712,15798,168,15861,8246312899662267157,102,105,108,101,58,115,108,117,114,112,0,1793,
117,114,112,0,1793,15830,4,2049,4179,2049,15528,4097,15786,1793,15821,3841,15786,2049,15229,2049, 15825,4,2049,4179,2049,15523,4097,15781,1793,15816,3841,15781,2049,15224,2049,4079,10,1,15809,2049,
4079,10,1,15814,2049,2449,3841,15786,2049,15209,10,1,15805,2049,4205,10,15787,15850,168,15866, 2449,3841,15781,2049,15204,10,1,15800,2049,4205,10,15782,15845,168,15861,249888269686739198,102,105,108,101,
249888269686739198,102,105,108,101,58,115,112,101,119,0,2049,15599,4,1793,15859,67502597,2049,15250,10, 58,115,112,101,119,0,2049,15594,4,1793,15854,67502597,2049,15245,10,1,15850,2049,4686,2049,
1,15855,2049,4686,2049,15209,10,105,110,116,101,114,102,97,99,101,47,102,105,108, 15204,10,105,110,116,101,114,102,97,99,101,47,102,105,108,101,115,121,115,116,
101,115,121,115,116,101,109,46,114,101,116,114,111,0,15866,16630,15835,15916,168,16609, 101,109,46,114,101,116,114,111,0,15861,16625,15830,15911,168,16604,4299348465103751587,105,111,58,117,
4299348465103751587,105,111,58,117,110,105,120,45,115,121,115,99,97,108,108,0,1,8,2049, 110,105,120,45,115,121,115,99,97,108,108,0,1,8,2049,10731,2,2049,2761,1793,
10731,2,2049,2761,1793,15964,3,2049,4417,69,114,114,111,114,58,32,85,78,73,88, 15959,3,2049,4417,69,114,114,111,114,58,32,85,78,73,88,32,100,101,118,105,
32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,15928, 99,101,32,110,111,116,32,102,111,117,110,100,0,1,15923,2049,10837,2049,10794,10,
2049,10837,2049,10794,10,1,15925,2049,2862,2049,10712,10,15895,15988,168,16609,-4549633084047572696,117,110,105, 1,15920,2049,2862,2049,10712,10,15890,15983,168,16604,-4549633084047572696,117,110,105,120,58,115,121,115,
120,58,115,121,115,116,101,109,0,1,0,2049,15916,10,15971,16008,168,16609,249909575776928405,117, 116,101,109,0,1,0,2049,15911,10,15966,16003,168,16604,249909575776928405,117,110,105,120,58,102,
110,105,120,58,102,111,114,107,0,1,1,2049,15916,10,15993,16029,168,16609,8247016000637760504,117, 111,114,107,0,1,1,2049,15911,10,15988,16024,168,16604,8247016000637760504,117,110,105,120,58,101,
110,105,120,58,101,120,101,99,48,0,1,2,2049,15916,10,16013,16050,168,16609,8247016000637760505, 120,101,99,48,0,1,2,2049,15911,10,16008,16045,168,16604,8247016000637760505,117,110,105,120,58,
117,110,105,120,58,101,120,101,99,49,0,1,3,2049,15916,10,16034,16071,168,16609, 101,120,101,99,49,0,1,3,2049,15911,10,16029,16066,168,16604,8247016000637760506,117,110,105,120,
8247016000637760506,117,110,105,120,58,101,120,101,99,50,0,1,4,2049,15916,10,16055,16092,168, 58,101,120,101,99,50,0,1,4,2049,15911,10,16050,16087,168,16604,8247016000637760507,117,110,105,
16609,8247016000637760507,117,110,105,120,58,101,120,101,99,51,0,1,5,2049,15916,10,16076,16112, 120,58,101,120,101,99,51,0,1,5,2049,15911,10,16071,16107,168,16604,249909575776901981,117,110,
168,16609,249909575776901981,117,110,105,120,58,101,120,105,116,0,1,6,2049,15916,10,16097,16134, 105,120,58,101,120,105,116,0,1,6,2049,15911,10,16092,16129,168,16604,-4549633084540884128,117,110,
168,16609,-4549633084540884128,117,110,105,120,58,103,101,116,112,105,100,0,1,7,2049,15916,10, 105,120,58,103,101,116,112,105,100,0,1,7,2049,15911,10,16112,16149,168,16604,249909575777523800,
16117,16154,168,16609,249909575777523800,117,110,105,120,58,119,97,105,116,0,1,8,2049,15916,10, 117,110,105,120,58,119,97,105,116,0,1,8,2049,15911,10,16134,16169,168,16604,249909575777101359,
16139,16174,168,16609,249909575777101359,117,110,105,120,58,107,105,108,108,0,1,9,2049,15916,10, 117,110,105,120,58,107,105,108,108,0,1,9,2049,15911,10,16154,16190,168,16604,8247016000650494309,
16159,16195,168,16609,8247016000650494309,117,110,105,120,58,112,111,112,101,110,0,1,10,2049,15916, 117,110,105,120,58,112,111,112,101,110,0,1,10,2049,15911,10,16174,16212,168,16604,
10,16179,16217,168,16609,-4549633084191325687,117,110,105,120,58,112,99,108,111,115,101,0,1,11, -4549633084191325687,117,110,105,120,58,112,99,108,111,115,101,0,1,11,2049,15911,10,16195,16233,
2049,15916,10,16200,16238,168,16609,8247016000634812845,117,110,105,120,58,99,104,100,105,114,0,1, 168,16604,8247016000634812845,117,110,105,120,58,99,104,100,105,114,0,1,13,2049,15911,10,16217,
13,2049,15916,10,16222,16260,168,16609,-4549633084540895924,117,110,105,120,58,103,101,116,101,110,118, 16255,168,16604,-4549633084540895924,117,110,105,120,58,103,101,116,101,110,118,0,1,14,2049,15911,
0,1,14,2049,15916,10,16243,16282,168,16609,-4549633084169702651,117,110,105,120,58,112,117,116,101, 10,16238,16277,168,16604,-4549633084169702651,117,110,105,120,58,112,117,116,101,110,118,0,1,15,
110,118,0,1,15,2049,15916,10,16265,16303,168,16609,8247016000653932284,117,110,105,120,58,115,108, 2049,15911,10,16260,16298,168,16604,8247016000653932284,117,110,105,120,58,115,108,101,101,112,0,1,
101,101,112,0,1,16,2049,15916,10,16287,16326,168,16609,-2563939202030369066,117,110,105,120,58,101, 16,2049,15911,10,16282,16321,168,16604,-2563939202030369066,117,110,105,120,58,101,120,101,99,117,116,
120,101,99,117,116,101,0,1,17,2049,15916,10,16308,16346,168,16609,249909575777281169,117,110,105, 101,0,1,17,2049,15911,10,16303,16341,168,16604,249909575777281169,117,110,105,120,58,112,105,112,
120,58,112,105,112,101,0,1,0,2049,16195,1,15707,1,16217,2049,2255,10,16331,16375, 101,0,1,0,2049,16190,1,15702,1,16212,2049,2255,10,16326,16370,168,16604,-2563939200175176882,117,110,
168,16609,-2563939200175176882,117,110,105,120,58,103,101,116,45,99,119,100,0,2049,4417,112,119, 105,120,58,103,101,116,45,99,119,100,0,2049,4417,112,119,100,0,1,16372,2049,
100,0,1,16377,2049,16346,2049,6999,2049,4417,47,0,1,16389,2049,4666,10,16357,16425,168, 16341,2049,6999,2049,4417,47,0,1,16384,2049,4666,10,16352,16420,168,16604,-2316844556017942917,117,110,105,
16609,-2316844556017942917,117,110,105,120,58,99,111,117,110,116,45,102,105,108,101,115,45,105, 120,58,99,111,117,110,116,45,102,105,108,101,115,45,105,110,45,99,119,100,
110,45,99,119,100,0,2049,4417,108,115,32,45,49,32,124,32,119,99,32,45, 0,2049,4417,108,115,32,45,49,32,124,32,119,99,32,45,108,0,1,16422,2049,
108,0,1,16427,2049,16346,2049,6999,2049,266,10,16396,16474,168,16609,-4594486429310984907,117,110,105,120, 16341,2049,6999,2049,266,10,16391,16469,168,16604,-4594486429310984907,117,110,105,120,58,102,111,114,45,
58,102,111,114,45,101,97,99,104,45,102,105,108,101,0,2049,4417,108,115,32, 101,97,99,104,45,102,105,108,101,0,2049,4417,108,115,32,45,49,32,45,112,
45,49,32,45,112,0,1,16476,1,0,2049,16195,2049,16425,1793,16509,1793,16504,2049,15707, 0,1,16471,1,0,2049,16190,2049,16420,1793,16504,1793,16499,2049,15702,2049,4368,67502597,8,10,
2049,4368,67502597,8,10,1,16497,2049,2241,10,1,16495,2049,2449,2049,16217,3,10,16450,16528, 1,16492,2049,2241,10,1,16490,2049,2449,2049,16212,3,10,16445,16523,168,0,210728208851,115,116,
168,0,210728208851,115,116,97,114,116,0,4,2049,4179,1,0,2049,16195,10,16517,16546,168, 97,114,116,0,4,2049,4179,1,0,2049,16190,10,16512,16541,168,0,6385651009,114,101,97,
0,6385651009,114,101,97,100,0,2,2049,15229,2,2049,4079,2049,2722,10,16536,16567,168,0, 100,0,2,2049,15224,2,2049,4079,2049,2722,10,16531,16562,168,0,6953509544294,102,105,110,105,
6953509544294,102,105,110,105,115,104,0,2049,16217,2049,4157,10,16450,16593,168,16609,1204178398703148788,117,110, 115,104,0,2049,16212,2049,4157,10,16445,16588,168,16604,1204178398703148788,117,110,105,120,58,115,108,
105,120,58,115,108,117,114,112,45,112,105,112,101,0,1793,16604,2049,16528,1,16546, 117,114,112,45,112,105,112,101,0,1793,16599,2049,16523,1,16541,2049,2397,2049,16562,10,
2049,2397,2049,16567,10,1,16595,2049,4205,10,105,110,116,101,114,102,97,99,101,47, 1,16590,2049,4205,10,105,110,116,101,114,102,97,99,101,47,117,110,105,120,46,
117,110,105,120,46,114,101,116,114,111,0,16609,16720,16572,16646,168,16700,7572652289159374,110,58, 114,101,116,114,111,0,16604,16715,16567,16641,168,16695,7572652289159374,110,58,114,97,110,100,111,
114,97,110,100,111,109,0,1,10,2049,10731,2,2049,2761,1793,16693,3,2049,4417,69, 109,0,1,10,2049,10731,2,2049,2761,1793,16688,3,2049,4417,69,114,114,111,114,58,
114,114,111,114,58,32,82,78,71,32,100,101,118,105,99,101,32,110,111,116, 32,82,78,71,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,
32,102,111,117,110,100,0,1,16658,2049,10837,2049,10794,10,1,16655,2049,2862,2049,10712, 100,0,1,16653,2049,10837,2049,10794,10,1,16650,2049,2862,2049,10712,10,105,110,116,101,
10,105,110,116,101,114,102,97,99,101,47,114,110,103,46,114,101,116,114,111, 114,102,97,99,101,47,114,110,103,46,114,101,116,114,111,0,16695,17126,16627,16738,
0,16700,17131,16632,16743,168,17109,4482520117059041020,99,108,111,99,107,58,111,112,101,114,97,116, 168,17104,4482520117059041020,99,108,111,99,107,58,111,112,101,114,97,116,105,111,110,0,1,
105,111,110,0,1,5,2049,10731,2,2049,2761,1793,16792,3,2049,4417,69,114,114,111, 5,2049,10731,2,2049,2761,1793,16787,3,2049,4417,69,114,114,111,114,58,32,99,108,
114,58,32,99,108,111,99,107,32,100,101,118,105,99,101,32,110,111,116,32, 111,99,107,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,
102,111,117,110,100,0,1,16755,2049,10837,2049,10794,10,1,16752,2049,2862,2049,10712,10, 0,1,16750,2049,10837,2049,10794,10,1,16747,2049,2862,2049,10712,10,16717,16815,168,17104,4482526860617352831,
16722,16820,168,17109,4482526860617352831,99,108,111,99,107,58,116,105,109,101,115,116,97,109,112, 99,108,111,99,107,58,116,105,109,101,115,116,97,109,112,0,1,0,2049,16738,
0,1,0,2049,16743,10,16799,16840,168,17109,249884182168395049,99,108,111,99,107,58,100,97,121, 10,16794,16835,168,17104,249884182168395049,99,108,111,99,107,58,100,97,121,0,1,1,2049,16738,
0,1,1,2049,16743,10,16825,16862,168,17109,-4577286724249897519,99,108,111,99,107,58,109,111,110, 10,16820,16857,168,17104,-4577286724249897519,99,108,111,99,107,58,109,111,110,116,104,0,1,2,
116,104,0,1,2,2049,16743,10,16845,16883,168,17109,8246178011557794972,99,108,111,99,107,58,121, 2049,16738,10,16840,16878,168,17104,8246178011557794972,99,108,111,99,107,58,121,101,97,114,0,1,
101,97,114,0,1,3,2049,16743,10,16867,16904,168,17109,8246178011557195593,99,108,111,99,107,58, 3,2049,16738,10,16862,16899,168,17104,8246178011557195593,99,108,111,99,107,58,104,111,117,114,0,
104,111,117,114,0,1,4,2049,16743,10,16888,16927,168,17109,-3476509310577319139,99,108,111,99,107, 1,4,2049,16738,10,16883,16922,168,17104,-3476509310577319139,99,108,111,99,107,58,109,105,110,117,
58,109,105,110,117,116,101,0,1,5,2049,16743,10,16909,16950,168,17109,-3476509310347652505,99,108, 116,101,0,1,5,2049,16738,10,16904,16945,168,17104,-3476509310347652505,99,108,111,99,107,58,115,
111,99,107,58,115,101,99,111,110,100,0,1,6,2049,16743,10,16932,16974,168,17109, 101,99,111,110,100,0,1,6,2049,16738,10,16927,16969,168,17104,-4044342796047171665,99,108,111,99,
-4044342796047171665,99,108,111,99,107,58,117,116,99,58,100,97,121,0,1,7,2049,16743,10, 107,58,117,116,99,58,100,97,121,0,1,7,2049,16738,10,16950,16995,168,17104,4482528721224061399,
16955,17000,168,17109,4482528721224061399,99,108,111,99,107,58,117,116,99,58,109,111,110,116,104, 99,108,111,99,107,58,117,116,99,58,109,111,110,116,104,0,1,8,2049,16738,
0,1,8,2049,16743,10,16979,17025,168,17109,-4336103753589045278,99,108,111,99,107,58,117,116,99, 10,16974,17020,168,17104,-4336103753589045278,99,108,111,99,107,58,117,116,99,58,121,101,97,114,
58,121,101,97,114,0,1,9,2049,16743,10,17005,17050,168,17109,-4336103753589644657,99,108,111,99, 0,1,9,2049,16738,10,17000,17045,168,17104,-4336103753589644657,99,108,111,99,107,58,117,116,99,
107,58,117,116,99,58,104,111,117,114,0,1,10,2049,16743,10,17030,17077,168,17109, 58,104,111,117,114,0,1,10,2049,16738,10,17025,17072,168,17104,349495210710499299,99,108,111,99,
349495210710499299,99,108,111,99,107,58,117,116,99,58,109,105,110,117,116,101,0,1,11, 107,58,117,116,99,58,109,105,110,117,116,101,0,1,11,2049,16738,10,17050,17099,
2049,16743,10,17055,17104,168,17109,349495210940165933,99,108,111,99,107,58,117,116,99,58,115,101, 168,17104,349495210940165933,99,108,111,99,107,58,117,116,99,58,115,101,99,111,110,100,0,
99,111,110,100,0,1,12,2049,16743,10,105,110,116,101,114,102,97,99,101,47, 1,12,2049,16738,10,105,110,116,101,114,102,97,99,101,47,99,108,111,99,107,
99,108,111,99,107,46,114,101,116,114,111,0,17109,17533,17082,17155,168,0,1976442044545254821,115, 46,114,101,116,114,111,0,17104,17528,17077,17150,168,0,1976442044545254821,115,99,114,105,112,116,
99,114,105,112,116,58,111,112,101,114,97,116,105,111,110,0,1,9,2049,10731, 58,111,112,101,114,97,116,105,111,110,0,1,9,2049,10731,2,2049,2761,1793,17203,
2,2049,2761,1793,17208,3,2049,4417,69,114,114,111,114,58,32,115,99,114,105,112, 3,2049,4417,69,114,114,111,114,58,32,115,99,114,105,112,116,105,110,103,32,
116,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110, 100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,17162,2049,
100,0,1,17167,2049,10837,2049,10794,10,1,17164,2049,2862,2049,10712,10,17082,17237,168,17507, 10837,2049,10794,10,1,17159,2049,2862,2049,10712,10,17077,17232,168,17502,1976422442775525130,115,99,114,105,
1976422442775525130,115,99,114,105,112,116,58,97,114,103,117,109,101,110,116,115,0,1,0, 112,116,58,97,114,103,117,109,101,110,116,115,0,1,0,2049,17150,10,17210,17262,
2049,17155,10,17215,17267,168,17507,7012485947518414468,115,99,114,105,112,116,58,103,101,116,45,97, 168,17502,7012485947518414468,115,99,114,105,112,116,58,103,101,116,45,97,114,103,117,109,101,
114,103,117,109,101,110,116,0,2049,4396,4,1,1,2049,17155,10,17242,17288,168,17507, 110,116,0,2049,4396,4,1,1,2049,17150,10,17237,17283,168,17502,229469872107401,105,110,99,108,
229469872107401,105,110,99,108,117,100,101,0,1,2,2049,17155,10,17275,17310,168,17507,-4553194680242110987,115, 117,100,101,0,1,2,2049,17150,10,17270,17305,168,17502,-4553194680242110987,115,99,114,105,112,116,
99,114,105,112,116,58,110,97,109,101,0,2049,4396,1,3,2049,17155,10,17293,17342, 58,110,97,109,101,0,2049,4396,1,3,2049,17150,10,17288,17337,168,17502,6834827170184619652,115,99,
168,17507,6834827170184619652,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,102,105, 114,105,112,116,58,99,117,114,114,101,110,116,45,102,105,108,101,0,2049,4396,
108,101,0,2049,4396,1,4,2049,17155,10,17317,17374,180,17507,6834827170184835340,115,99,114,105,112, 1,4,2049,17150,10,17312,17369,180,17502,6834827170184835340,115,99,114,105,112,116,58,99,117,114,
116,58,99,117,114,114,101,110,116,45,108,105,110,101,0,1,5,2049,17155,2049, 114,101,110,116,45,108,105,110,101,0,1,5,2049,17150,2049,156,10,17344,17402,168,
156,10,17349,17407,168,17507,-4964876483161304491,115,99,114,105,112,116,58,105,103,110,111,114,101, 17502,-4964876483161304491,115,99,114,105,112,116,58,105,103,110,111,114,101,45,116,111,45,101,
45,116,111,45,101,111,108,0,1,6,2049,17155,10,17381,17438,168,17507,-112287744780050755,115,99, 111,108,0,1,6,2049,17150,10,17376,17433,168,17502,-112287744780050755,115,99,114,105,112,116,58,
114,105,112,116,58,97,98,111,114,116,45,105,110,99,108,117,100,101,0,1, 97,98,111,114,116,45,105,110,99,108,117,100,101,0,1,7,2049,17150,10,17407,
7,2049,17155,10,17412,17454,168,17507,210706230653,97,98,111,114,116,0,1,149,2049,3883,1, 17449,168,17502,210706230653,97,98,111,114,116,0,1,149,2049,3883,1,8,2049,17150,10,17438,
8,2049,17155,10,17443,17493,168,17507,-7741142524340576066,115,99,114,105,112,116,58,99,117,114,114, 17488,168,17502,-7741142524340576066,115,99,114,105,112,116,58,99,117,114,114,101,110,116,45,108,
101,110,116,45,108,105,110,101,45,116,101,120,116,0,2049,4396,1793,17502,1,9, 105,110,101,45,116,101,120,116,0,2049,4396,1793,17497,1,9,2049,17150,10,1,17492,
2049,17155,10,1,17497,2049,2241,10,105,110,116,101,114,102,97,99,101,47,115,99, 2049,2241,10,105,110,116,101,114,102,97,99,101,47,115,99,114,105,112,116,105,
114,105,112,116,105,110,103,46,114,101,116,114,111,0,17507,17989,17463,17557,168,17991, 110,103,46,114,101,116,114,111,0,17502,17984,17458,17552,168,17986,1183117598919957017,115,111,99,107,
1183117598919957017,115,111,99,107,101,116,58,111,112,101,114,97,116,105,111,110,0,1,7, 101,116,58,111,112,101,114,97,116,105,111,110,0,1,7,2049,10731,2,2049,2761,
2049,10731,2,2049,2761,1793,17714,3,2049,4417,69,114,114,111,114,58,32,115,111,99, 1793,17709,3,2049,4417,69,114,114,111,114,58,32,115,111,99,107,101,116,32,100,
107,101,116,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100, 101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,17564,2049,10837,
0,1,17569,2049,10837,2049,10794,2049,4417,83,101,101,32,104,116,116,112,115,58,47, 2049,10794,2049,4417,83,101,101,32,104,116,116,112,115,58,47,47,114,101,116,114,
47,114,101,116,114,111,102,111,114,116,104,46,111,114,103,47,115,117,112,112, 111,102,111,114,116,104,46,111,114,103,47,115,117,112,112,111,114,116,47,50,
111,114,116,47,50,48,50,50,46,49,47,83,79,67,75,69,84,83,46,109, 48,50,50,46,49,47,83,79,67,75,69,84,83,46,109,100,0,1,17603,2049,
100,0,1,17608,2049,10837,2049,10794,2049,4417,102,111,114,32,105,110,115,116,114,117, 10837,2049,10794,2049,4417,102,111,114,32,105,110,115,116,114,117,99,116,105,111,110,
99,116,105,111,110,115,32,111,110,32,101,110,97,98,108,105,110,103,32,115, 115,32,111,110,32,101,110,97,98,108,105,110,103,32,115,111,99,107,101,116,
111,99,107,101,116,115,46,0,1,17669,2049,10837,2049,10794,10,1,17566,2049,2862,2049, 115,46,0,1,17664,2049,10837,2049,10794,10,1,17561,2049,2862,2049,10712,10,17530,17742,168,
10712,10,17535,17747,168,17965,-7671511728383126910,115,111,99,107,101,116,58,103,101,116,104,111,115, 17960,-7671511728383126910,115,111,99,107,101,116,58,103,101,116,104,111,115,116,98,121,110,97,
116,98,121,110,97,109,101,0,1,0,2049,17557,10,17721,17771,168,17965,4328757989659661596,115,111, 109,101,0,1,0,2049,17552,10,17716,17766,168,17960,4328757989659661596,115,111,99,107,101,116,58,
99,107,101,116,58,99,114,101,97,116,101,0,1,1,2049,17557,10,17752,17793,168, 99,114,101,97,116,101,0,1,1,2049,17552,10,17747,17788,168,17960,-4552658767528245371,115,111,99,
17965,-4552658767528245371,115,111,99,107,101,116,58,98,105,110,100,0,1,2,2049,17557,10,17776, 107,101,116,58,98,105,110,100,0,1,2,2049,17552,10,17771,17812,168,17960,4328757990001730167,115,
17817,168,17965,4328757990001730167,115,111,99,107,101,116,58,108,105,115,116,101,110,0,1,3, 111,99,107,101,116,58,108,105,115,116,101,110,0,1,3,2049,17552,10,17793,17836,
2049,17557,10,17798,17841,168,17965,4328757989563534360,115,111,99,107,101,116,58,97,99,99,101,112, 168,17960,4328757989563534360,115,111,99,107,101,116,58,97,99,99,101,112,116,0,1,4,2049,
116,0,1,4,2049,17557,10,17822,17866,168,17965,-4724938931013862254,115,111,99,107,101,116,58,99, 17552,10,17817,17861,168,17960,-4724938931013862254,115,111,99,107,101,116,58,99,111,110,110,101,99,
111,110,110,101,99,116,0,1,5,2049,17557,10,17846,17888,168,17965,-4552658767527638798,115,111,99, 116,0,1,5,2049,17552,10,17841,17883,168,17960,-4552658767527638798,115,111,99,107,101,116,58,115,
107,101,116,58,115,101,110,100,0,1,6,2049,17557,10,17871,17910,168,17965,-4552658767527675080,115, 101,110,100,0,1,6,2049,17552,10,17866,17905,168,17960,-4552658767527675080,115,111,99,107,101,116,
111,99,107,101,116,58,114,101,99,118,0,1,7,2049,17557,10,17893,17933,168,17965, 58,114,101,99,118,0,1,7,2049,17552,10,17888,17928,168,17960,-2663786738754388898,115,111,99,107,
-2663786738754388898,115,111,99,107,101,116,58,99,108,111,115,101,0,1,8,2049,17557,10,17915, 101,116,58,99,108,111,115,101,0,1,8,2049,17552,10,17910,17955,168,17960,1183100690560715498,115,
17960,168,17965,1183100690560715498,115,111,99,107,101,116,58,99,111,110,102,105,103,117,114,101, 111,99,107,101,116,58,99,111,110,102,105,103,117,114,101,0,1,9,2049,17552,
0,1,9,2049,17557,10,105,110,116,101,114,102,97,99,101,47,115,111,99,107, 10,105,110,116,101,114,102,97,99,101,47,115,111,99,107,101,116,115,46,114,
101,116,115,46,114,101,116,114,111,0,17965,18008,115,111,99,107,101,116,58,111, 101,116,114,111,0,17960,18003,115,111,99,107,101,116,58,111,112,101,114,97,116,
112,101,114,97,116,105,111,110,0,17991,18218,17938,18023,168,18192,229469862290528,105,111,58,99, 105,111,110,0,17986,18213,17933,18018,168,18187,229469862290528,105,111,58,99,111,114,101,0,1,
111,114,101,0,1,8000,2049,10731,2049,10712,10,18010,18045,168,18192,249884313919988732,99,111,114,101, 8000,2049,10731,2049,10712,10,18005,18040,168,18187,249884313919988732,99,111,114,101,58,105,110,105,116,
58,105,110,105,116,0,1,0,2049,18023,10,18030,18066,168,18192,8246182359371694326,99,111,114,101, 0,1,0,2049,18018,10,18025,18061,168,18187,8246182359371694326,99,111,114,101,58,115,116,97,114,
58,115,116,97,114,116,0,1,1,2049,18023,10,18050,18087,168,18192,8246182359367475558,99,111,114, 116,0,1,1,2049,18018,10,18045,18082,168,18187,8246182359367475558,99,111,114,101,58,112,97,117,
101,58,112,97,117,115,101,0,1,2,2049,18023,10,18071,18116,168,18192,8337299194488917014,99,111, 115,101,0,1,2,2049,18018,10,18066,18111,168,18187,8337299194488917014,99,111,114,101,58,112,97,
114,101,58,112,97,117,115,101,45,99,117,114,114,101,110,116,0,1,3,2049, 117,115,101,45,99,117,114,114,101,110,116,0,1,3,2049,18018,10,18087,18133,168,
18023,10,18092,18138,168,18192,-4577143246433635687,99,111,114,101,58,114,101,115,117,109,101,0,1, 18187,-4577143246433635687,99,111,114,101,58,114,101,115,117,109,101,0,1,4,2049,18018,10,18116,
4,2049,18023,10,18121,18162,168,18192,-3888095465377135055,99,111,114,101,58,114,101,97,100,47,114, 18157,168,18187,-3888095465377135055,99,111,114,101,58,114,101,97,100,47,114,101,103,0,1,5,
101,103,0,1,5,2049,18023,10,18143,18187,168,18192,820065755623810592,99,111,114,101,58,119,114, 2049,18018,10,18138,18182,168,18187,820065755623810592,99,111,114,101,58,119,114,105,116,101,47,114,
105,116,101,47,114,101,103,0,1,6,2049,18023,10,105,110,116,101,114,102,97, 101,103,0,1,6,2049,18018,10,105,110,116,101,114,102,97,99,101,47,109,117,
99,101,47,109,117,108,116,105,99,111,114,101,46,114,101,116,114,111,0,18192, 108,116,105,99,111,114,101,46,114,101,116,114,111,0,18187,18370,18162,18234,168,18350,
18375,18167,18239,168,18355,644988671245709381,102,102,105,58,111,112,101,114,97,116,105,111,110,0, 644988671245709381,102,102,105,58,111,112,101,114,97,116,105,111,110,0,1,8100,2049,10731,2,
1,8100,2049,10731,2,2049,2761,1793,18286,3,2049,4417,69,114,114,111,114,58,32,70, 2049,2761,1793,18281,3,2049,4417,69,114,114,111,114,58,32,70,70,73,32,100,101,
70,73,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0, 118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,18246,2049,10837,2049,
1,18251,2049,10837,2049,10794,10,1,18248,2049,2862,2049,10712,10,18220,18307,168,18355,7572367767785414,102, 10794,10,1,18243,2049,2862,2049,10712,10,18215,18302,168,18350,7572367767785414,102,102,105,58,111,112,
102,105,58,111,112,101,110,0,1,0,2049,18239,10,18293,18329,168,18355,-4572980637897979592,102,102, 101,110,0,1,0,2049,18234,10,18288,18324,168,18350,-4572980637897979592,102,102,105,58,109,97,112,
105,58,109,97,112,45,115,121,109,0,1,1,2049,18239,10,18312,18350,168,18355,8246308498881747296, 45,115,121,109,0,1,1,2049,18234,10,18307,18345,168,18350,8246308498881747296,102,102,105,58,105,
102,102,105,58,105,110,118,111,107,101,0,1,2,2049,18239,10,105,110,116,101, 110,118,111,107,101,0,1,2,2049,18234,10,105,110,116,101,114,102,97,99,101,
114,102,97,99,101,47,102,102,105,46,114,101,116,114,111,0,18355,18706,18334,18393, 47,102,102,105,46,114,101,116,114,111,0,18350,18701,18329,18388,168,18676,8247016409221251463,117,110,
168,18681,8247016409221251463,117,110,115,105,103,110,101,100,58,43,0,1,0,1,8101,2049,10731, 115,105,103,110,101,100,58,43,0,1,0,1,8101,2049,10731,2049,10712,17,10,18372,
2049,10712,17,10,18377,18419,168,18681,8247016409221251465,117,110,115,105,103,110,101,100,58,45,0, 18414,168,18676,8247016409221251465,117,110,115,105,103,110,101,100,58,45,0,1,0,1,8101,2049,
1,0,1,8101,2049,10731,2049,10712,18,10,18403,18445,168,18681,8247016409221251462,117,110,115,105,103, 10731,2049,10712,18,10,18398,18440,168,18676,8247016409221251462,117,110,115,105,103,110,101,100,58,42,
110,101,100,58,42,0,1,0,1,8101,2049,10731,2049,10712,19,10,18429,18474,168,18681, 0,1,0,1,8101,2049,10731,2049,10712,19,10,18424,18469,168,18676,7638409966457829387,117,110,115,105,
7638409966457829387,117,110,115,105,103,110,101,100,58,47,109,111,100,0,1,0,1,8101,2049, 103,110,101,100,58,47,109,111,100,0,1,0,1,8101,2049,10731,2049,10712,20,10,
10731,2049,10712,20,10,18455,18502,168,18681,-2563494254608726831,117,110,115,105,103,110,101,100,58,101, 18450,18497,168,18676,-2563494254608726831,117,110,115,105,103,110,101,100,58,101,113,63,0,1,0,
113,63,0,1,0,1,8101,2049,10731,2049,10712,11,10,18484,18531,168,18681,7638409966457748830,117,110, 1,8101,2049,10731,2049,10712,11,10,18479,18526,168,18676,7638409966457748830,117,110,115,105,103,110,101,
115,105,103,110,101,100,58,45,101,113,63,0,1,0,1,8101,2049,10731,2049,10712, 100,58,45,101,113,63,0,1,0,1,8101,2049,10731,2049,10712,12,10,18507,18554,168,
12,10,18512,18559,168,18681,-2563494254608719109,117,110,115,105,103,110,101,100,58,108,116,63,0, 18676,-2563494254608719109,117,110,115,105,103,110,101,100,58,108,116,63,0,1,0,1,8101,2049,
1,0,1,8101,2049,10731,2049,10712,13,10,18541,18587,168,18681,-2563494254608724554,117,110,115,105,103, 10731,2049,10712,13,10,18536,18582,168,18676,-2563494254608724554,117,110,115,105,103,110,101,100,58,103,
110,101,100,58,103,116,63,0,1,0,1,8101,2049,10731,2049,10712,14,10,18569,18617, 116,63,0,1,0,1,8101,2049,10731,2049,10712,14,10,18564,18612,168,18676,-6186888138744896262,117,110,
168,18681,-6186888138744896262,117,110,115,105,103,110,101,100,58,115,104,105,102,116,0,1,0, 115,105,103,110,101,100,58,115,104,105,102,116,0,1,0,1,8101,2049,10731,2049,
1,8101,2049,10731,2049,10712,24,10,18597,18647,168,18681,-6186888138833512267,117,110,115,105,103,110,101, 10712,24,10,18592,18642,168,18676,-6186888138833512267,117,110,115,105,103,110,101,100,58,42,47,109,
100,58,42,47,109,111,100,0,1,1,1,0,1,8101,2049,10731,2,2049,10712,2049, 111,100,0,1,1,1,0,1,8101,2049,10731,2,2049,10712,2049,10712,10,18622,18667,168,
10712,10,18627,18672,168,18681,210639169918,42,47,109,111,100,0,1,1,1,8101,2049,10731,2049, 18676,210639169918,42,47,109,111,100,0,1,1,1,8101,2049,10731,2049,10712,10,105,110,116,
10712,10,105,110,116,101,114,102,97,99,101,47,117,110,115,105,103,110,101,100, 101,114,102,97,99,101,47,117,110,115,105,103,110,101,100,46,114,101,116,114,
46,114,101,116,114,111,0,18681,18832,18661,18726,168,18809,-3502245454587251943,100,58,117,115,101,45, 111,0,18676,18827,18656,18721,168,18804,-3502245454587251943,100,58,117,115,101,45,104,97,115,104,101,
104,97,115,104,101,115,0,1,29,1,236,1,5,18,16,1793,18740,2049,188,15, 115,0,1,29,1,236,1,5,18,16,1793,18735,2049,188,15,10,1,18731,1,236,
10,1,18736,1,236,1,8,18,16,1,2049,1,236,16,1,4819,1,236,2049,3125, 1,8,18,16,1,2049,1,236,16,1,4819,1,236,2049,3125,16,10,18703,18775,168,
16,10,18708,18780,168,18809,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,115, 18804,-4893635544173424761,100,58,117,115,101,45,115,116,114,105,110,103,115,0,1,118,1,236,
0,1,118,1,236,1,5,18,16,1,190,1,236,1,8,18,16,1,0,1, 1,5,18,16,1,190,1,236,1,8,18,16,1,0,1,236,16,1,0,1,
236,16,1,0,1,236,2049,3125,16,10,105,110,116,101,114,102,97,99,101,47, 236,2049,3125,16,10,105,110,116,101,114,102,97,99,101,47,102,117,116,117,114,
102,117,116,117,114,101,46,114,101,116,114,111,0,18809,18950,18761,18852,168,0,-3527051417241377258, 101,46,114,101,116,114,111,0,18804,18945,18756,18847,168,0,-3527051417241377258,98,108,111,99,107,
98,108,111,99,107,58,105,110,118,111,107,101,0,1,3,2049,10731,2049,10712,10, 58,105,110,118,111,107,101,0,1,3,2049,10731,2049,10712,10,18756,18870,168,18922,8246131600073141446,
18761,18875,168,18927,8246131600073141446,98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18852, 98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18847,10,18854,18892,168,18922,
10,18859,18897,168,18927,-4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1, -4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1,2049,18847,10,18875,18917,
2049,18852,10,18880,18922,168,18927,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105, 168,18922,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,2,
108,101,0,1,2,2049,18852,10,105,110,116,101,114,102,97,99,101,47,98,108, 2049,18847,10,105,110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,46,
111,99,107,115,46,114,101,116,114,111,0,18927,19611,18902,18973,168,19197,4283726481136624767,101,114, 114,101,116,114,111,0,18922,19820,18897,18968,168,19192,4283726481136624767,101,114,114,58,115,101,116,
114,58,115,101,116,45,104,97,110,100,108,101,114,0,1,1234,2049,10731,2,2049, 45,104,97,110,100,108,101,114,0,1,1234,2049,10731,2,2049,2761,1793,19026,3,2049,
2761,1793,19031,3,2049,4417,69,114,114,111,114,58,32,101,114,114,111,114,32,104, 4417,69,114,114,111,114,58,32,101,114,114,111,114,32,104,97,110,100,108,105,
97,110,100,108,105,110,103,32,100,101,118,105,99,101,32,110,111,116,32,102, 110,103,32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,
111,117,110,100,0,1,18985,2049,10837,2049,10794,10,1,18982,2049,2862,1,0,4,2049, 1,18980,2049,10837,2049,10794,10,1,18977,2049,2862,1,0,4,2049,10712,10,18947,19049,168,
10712,10,18952,19054,168,19197,229464878751060,101,114,114,58,100,115,117,0,2049,10869,2049,10794,2049, 19192,229464878751060,101,114,114,58,100,115,117,0,2049,10869,2049,10794,2049,4417,69,82,82,79,
4417,69,82,82,79,82,58,32,68,83,85,58,32,68,65,84,65,32,83,84, 82,58,32,68,83,85,58,32,68,65,84,65,32,83,84,65,67,75,32,85,
65,67,75,32,85,78,68,69,82,70,76,79,87,0,1,19060,2049,10837,2049,10794, 78,68,69,82,70,76,79,87,0,1,19055,2049,10837,2049,10794,2049,10986,10,19036,19110,
2049,10986,10,19041,19115,168,19197,229464878751054,101,114,114,58,100,115,111,0,2049,10869,2049,10794, 168,19192,229464878751054,101,114,114,58,100,115,111,0,2049,10869,2049,10794,2049,4417,69,82,82,
2049,4417,69,82,82,79,82,58,32,68,83,79,58,32,68,65,84,65,32,83, 79,82,58,32,68,83,79,58,32,68,65,84,65,32,83,84,65,67,75,32,
84,65,67,75,32,79,86,69,82,70,76,79,87,0,1,19121,2049,10837,2049,10794, 79,86,69,82,70,76,79,87,0,1,19116,2049,10837,2049,10794,2049,10986,10,19097,19179,
2049,10986,10,19102,19184,168,19197,-6210978877792005319,101,114,114,58,115,101,116,45,100,101,102,97, 168,19192,-6210978877792005319,101,114,114,58,115,101,116,45,100,101,102,97,117,108,116,115,0,
117,108,116,115,0,1,19054,1,1,2049,18973,1,19115,1,2,2049,18973,10,105,110, 1,19049,1,1,2049,18968,1,19110,1,2,2049,18968,10,105,110,116,101,114,102,97,
116,101,114,102,97,99,101,47,101,114,114,111,114,46,114,101,116,114,111,0, 99,101,47,101,114,114,111,114,46,114,101,116,114,111,0,19157,19235,168,0,-1159954141530329845,
1793,19240,1,192,1,2,17,8,2049,1576,2049,190,3841,11568,8,2049,1576,2049,188,16, 105,111,99,116,108,58,111,112,101,114,97,116,105,111,110,0,1,14,2049,10731,
10,1,19221,19162,19252,168,19587,6384117006,72,79,77,69,0,2049,1977,1,4096,17,10,37, 2,2049,2761,1793,19284,3,2049,4417,69,114,114,111,114,58,32,105,111,99,116,108,
115,47,46,99,111,110,102,105,103,47,114,101,116,114,111,102,111,114,116,104, 32,100,101,118,105,99,101,32,110,111,116,32,102,111,117,110,100,0,1,19247,
47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,19242,19258, 2049,10837,2049,10794,10,1,19244,2049,2862,2049,10712,10,19214,19312,168,0,-1159947561758408230,105,111,99,
156,19587,6061648467740287960,108,105,98,114,97,114,121,58,46,67,79,78,70,73,71,0,46, 116,108,58,116,101,114,109,45,115,105,122,101,0,1,0,2049,19235,10,19291,19339,
47,108,105,98,114,97,114,121,47,37,115,46,114,101,116,114,111,0,19297,19318, 168,0,-1384827797416383269,105,111,99,116,108,58,115,101,116,45,99,98,114,101,97,107,0,
156,19587,-4563659402581934926,108,105,98,114,97,114,121,58,67,87,68,0,19337,19371,168,19587,-4563659402581898990, 1,1,2049,19235,10,19317,19366,168,0,-1384827797064164732,105,111,99,116,108,58,115,101,116,45,
108,105,98,114,97,114,121,58,99,119,100,0,1,19318,2049,8190,10,19354,19397,168, 108,98,114,101,97,107,0,1,2,2049,19235,10,19344,19393,168,0,-1384833267584846441,105,111,99,
19587,6061648469031755928,108,105,98,114,97,114,121,58,46,99,111,110,102,105,103,0,2049,4417, 116,108,58,115,97,118,101,45,115,116,97,116,101,0,1,3,2049,19235,10,19371,
72,79,77,69,0,1,19399,2049,19252,2049,16260,2049,19252,1,19258,2049,8190,10,19376,19439, 19423,168,0,1092846777098631660,105,111,99,116,108,58,114,101,115,116,111,114,101,45,115,116,
168,19587,-2879782938503308011,108,105,98,114,97,114,121,58,102,105,108,101,110,97,109,101,0, 97,116,101,0,1,4,2049,19235,10,1793,19449,1,192,1,2,17,8,2049,1576,2049,
2,2049,19371,2,2049,15474,1793,19449,772,10,1,19447,2049,2862,3,2049,19397,2,2049,15474, 190,3841,11568,8,2049,1576,2049,188,16,10,1,19430,19398,19461,168,19796,6384117006,72,79,77,
1793,19462,10,1,19461,2049,2862,3,2049,4396,10,19417,19493,168,19587,-2799120562421764174,108,105,98,114, 69,0,2049,1977,1,4096,17,10,37,115,47,46,99,111,110,102,105,103,47,114,
97,114,121,58,99,111,110,116,97,105,110,115,63,0,1,19371,1,19397,2049,2255, 101,116,114,111,102,111,114,116,104,47,108,105,98,114,97,114,121,47,37,115,
1,15474,2049,2285,22,10,19470,19523,168,19587,-3026807695525939020,108,105,98,114,97,114,121,58,108, 46,114,101,116,114,111,0,19451,19467,156,19796,6061648467740287960,108,105,98,114,97,114,121,58,
111,97,100,0,2,2049,19493,1793,19533,2049,19439,2049,17288,10,1,19528,1793,19582,2049,4417, 46,67,79,78,70,73,71,0,46,47,108,105,98,114,97,114,121,47,37,115,
69,82,82,79,82,58,32,76,105,98,114,97,114,121,32,96,37,115,96,32, 46,114,101,116,114,111,0,19506,19527,156,19796,-4563659402581934926,108,105,98,114,97,114,121,58,
119,97,115,32,110,111,116,32,102,111,117,110,100,0,1,19539,2049,8190,2049,10837, 67,87,68,0,19546,19580,168,19796,-4563659402581898990,108,105,98,114,97,114,121,58,99,119,100,
2049,10794,10,1,19537,2049,66,10,105,110,116,101,114,102,97,99,101,47,108,105, 0,1,19527,2049,8190,10,19563,19606,168,19796,6061648469031755928,108,105,98,114,97,114,121,58,46,
98,114,97,114,121,46,114,101,116,114,111,0,19587,11743,19505,19629,168,19836,8246457295145463473,105, 99,111,110,102,105,103,0,2049,4417,72,79,77,69,0,1,19608,2049,19461,2049,16255,
109,97,103,101,58,115,97,118,101,0,1,1000,2049,10731,2049,10712,10,19613,19647,168, 2049,19461,1,19467,2049,8190,10,19585,19648,168,19796,-2879782938503308011,108,105,98,114,97,114,121,58,
0,210711039690,101,100,105,116,63,0,2,1793,19654,1,8,11,10,1,19650,1793,19662,1, 102,105,108,101,110,97,109,101,0,2,2049,19580,2,2049,15469,1793,19658,772,10,1,
127,11,10,1,19658,2049,2255,22,10,19636,19680,168,0,6953539406400,103,97,116,104,101,114, 19656,2049,2862,3,2049,19606,2,2049,15469,1793,19671,10,1,19670,2049,2862,3,2049,4396,10,
0,2049,19647,1,17,1,4079,2049,66,10,19668,19700,168,0,210709415765,99,121,99,108,101, 19626,19702,168,19796,-2799120562421764174,108,105,98,114,97,114,121,58,99,111,110,116,97,105,110,
0,2049,10968,2049,2217,4,8,2049,2644,25,3,2049,19680,1,19700,7,10,19613,19733,168, 115,63,0,1,19580,1,19606,2049,2255,1,15469,2049,2285,22,10,19679,19732,168,19796,-3026807695525939020,
19836,-4557881830897049127,112,97,114,115,101,45,117,110,116,105,108,0,1793,19745,2049,4396,2049,4179, 108,105,98,114,97,114,121,58,108,111,97,100,0,2,2049,19702,1793,19742,2049,19648,
2049,19700,771,2049,4041,10,1,19735,2049,4205,10,19716,19761,168,19836,210726130610,115,58,103,101, 2049,17283,10,1,19737,1793,19791,2049,4417,69,82,82,79,82,58,32,76,105,98,114,
116,0,1793,19783,1793,19769,1,13,11,10,1,19765,1793,19777,1,10,11,10,1,19773, 97,114,121,32,96,37,115,96,32,119,97,115,32,110,111,116,32,102,111,117,
2049,2255,22,10,1,19763,2049,19733,10,19750,19799,168,19836,210708950412,99,108,101,97,114,0, 110,100,0,1,19748,2049,8190,2049,10837,2049,10794,10,1,19746,2049,66,10,105,110,116,
2049,4417,92,94,91,50,74,92,94,91,48,59,48,72,0,1,19801,2049,8190,2049, 101,114,102,97,99,101,47,108,105,98,114,97,114,121,46,114,101,116,114,111,
10837,10,19788,19829,180,19836,5861507,47,47,0,2049,17407,1,11002,2049,3868,10,105,110,116, 0,19796,11743,19714,19838,168,20045,8246457295145463473,105,109,97,103,101,58,115,97,118,101,0,1,
101,114,102,97,99,101,47,114,101,116,114,111,45,117,110,105,120,46,114,101, 1000,2049,10731,2049,10712,10,19822,19856,168,0,210711039690,101,100,105,116,63,0,2,1793,19863,
116,114,111,0,19821,19876,156,0,229441520490121,83,111,117,114,99,101,115,0,3,20125,20319, 1,8,11,10,1,19859,1793,19871,1,127,11,10,1,19867,2049,2255,22,10,19845,19889,
20510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 168,0,6953539406400,103,97,116,104,101,114,0,2049,19856,1,17,1,4079,2049,66,10,19877,
19909,168,0,210709415765,99,121,99,108,101,0,2049,10968,2049,2217,4,8,2049,2644,25,3,
2049,19889,1,19909,7,10,19822,19942,168,20045,-4557881830897049127,112,97,114,115,101,45,117,110,116,
105,108,0,1793,19954,2049,4396,2049,4179,2049,19909,771,2049,4041,10,1,19944,2049,4205,10,
19925,19970,168,20045,210726130610,115,58,103,101,116,0,1793,19992,1793,19978,1,13,11,10,1,
19974,1793,19986,1,10,11,10,1,19982,2049,2255,22,10,1,19972,2049,19942,10,19959,20008,
168,20045,210708950412,99,108,101,97,114,0,2049,4417,92,94,91,50,74,92,94,91,48,
59,48,72,0,1,20010,2049,8190,2049,10837,10,19997,20038,180,20045,5861507,47,47,0,2049,
17402,1,11002,2049,3868,10,105,110,116,101,114,102,97,99,101,47,114,101,116,114,
111,45,117,110,105,120,46,114,101,116,114,111,0,20030,20085,156,0,229441520490121,83,111,
117,114,99,101,115,0,3,20334,20528,20719,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,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,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,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,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,0,0,0,0,0,
0,0,0,0,0,19863,20016,168,0,6953711201841,107,110,111,119,110,63,0,2,1,19876, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,20072,20225,168,0,6953711201841,107,
2049,9030,10,20004,20033,168,0,210716136861,105,110,100,101,120,0,1,19876,4,2049,9670,1, 110,111,119,110,63,0,2,1,20085,2049,9030,10,20213,20242,168,0,210716136861,105,110,100,
19876,4,2049,9176,10,20022,20056,168,0,6953974036516,114,101,99,111,114,100,0,2049,4445,2, 101,120,0,1,20085,4,2049,9670,1,20085,4,2049,9176,10,20231,20265,168,0,6953974036516,114,
1,19876,2049,3816,3841,19876,1,19876,17,16,10,1793,20123,2049,17342,2049,20016,1793,20081,2049, 101,99,111,114,100,0,2049,4445,2,1,20085,2049,3816,3841,20085,1,20085,17,16,10,
20033,10,1,20078,1793,20088,2049,20056,10,1,20085,2049,66,1793,20101,1,192,1,2,17, 1793,20332,2049,17337,2049,20225,1793,20290,2049,20242,10,1,20287,1793,20297,2049,20265,10,1,20294,
8,10,1,20094,2049,2229,2049,1576,2049,186,16,2049,1576,2049,190,3841,11568,8,2049,1576, 2049,66,1793,20310,1,192,1,2,17,8,10,1,20303,2049,2229,2049,1576,2049,186,16,
2049,188,16,10,1,20072,100,105,99,116,45,119,111,114,100,115,45,108,105,115, 2049,1576,2049,190,3841,11568,8,2049,1576,2049,188,16,10,1,20281,100,105,99,116,45,
116,105,110,103,46,102,111,114,116,104,0,19821,20163,168,20125,229461403550098,100,58,119,111, 119,111,114,100,115,45,108,105,115,116,105,110,103,46,102,111,114,116,104,0,
114,100,115,0,1793,20172,2049,190,2049,10837,2049,10807,10,1,20165,2049,8435,10,20150,20195, 20030,20372,168,20334,229461403550098,100,58,119,111,114,100,115,0,1793,20381,2049,190,2049,10837,2049,
168,20125,-3502157631813457253,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1977,2049,5517, 10807,10,1,20374,2049,8435,10,20359,20404,168,20334,-3502157631813457253,100,58,119,111,114,100,115,45,
1793,20226,2049,190,2,2049,1977,2049,5230,1793,20215,2049,10837,2049,10807,10,1,20210,1793,20221, 119,105,116,104,0,2049,1977,2049,5517,1793,20435,2049,190,2,2049,1977,2049,5230,1793,20424,
3,10,1,20219,2049,66,10,1,20201,2049,8435,10,20177,20252,168,20125,2818131571306626127,100,105,115, 2049,10837,2049,10807,10,1,20419,1793,20430,3,10,1,20428,2049,66,10,1,20410,2049,8435,
112,108,97,121,45,105,102,45,108,101,102,116,0,2,2049,1977,2049,5463,1793,20264, 10,20386,20461,168,20334,2818131571306626127,100,105,115,112,108,97,121,45,105,102,45,108,101,102,
2049,10837,2049,10807,10,1,20259,1793,20270,3,10,1,20268,2049,66,10,20177,20303,168,20125, 116,0,2,2049,1977,2049,5463,1793,20473,2049,10837,2049,10807,10,1,20468,1793,20479,3,10,
2947807019553410009,100,58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,119, 1,20477,2049,66,10,20386,20512,168,20334,2947807019553410009,100,58,119,111,114,100,115,45,98,101,
105,116,104,0,2049,1977,2049,5517,1793,20314,2049,190,2049,20252,10,1,20309,2049,8435,10, 103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1977,2049,5517,1793,20523,2049,
101,120,116,101,110,115,105,111,110,115,47,100,111,117,98,108,101,46,114,101, 190,2049,20461,10,1,20518,2049,8435,10,101,120,116,101,110,115,105,111,110,115,47,
116,114,111,0,20275,20359,168,20319,8246228896775126019,100,111,117,98,108,101,58,118,97,114,0, 100,111,117,98,108,101,46,114,101,116,114,111,0,20484,20568,168,20528,8246228896775126019,100,111,
2049,2075,4,2049,130,2049,130,10,20343,20385,168,20319,-3421095308458227740,100,111,117,98,108,101,58, 117,98,108,101,58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,20552,20594,168,
102,101,116,99,104,0,2049,58,4,15,10,20367,20408,168,20319,-3421095308442276665,100,111,117,98, 20528,-3421095308458227740,100,111,117,98,108,101,58,102,101,116,99,104,0,2049,58,4,15,10,
108,101,58,115,116,111,114,101,0,1,19,2049,2229,2049,61,16,10,20390,20434,168, 20576,20617,168,20528,-3421095308442276665,100,111,117,98,108,101,58,115,116,111,114,101,0,1,19,
20319,-3421095308461432127,100,111,117,98,108,101,58,99,111,110,115,116,0,2049,20359,1,20385,2049, 2049,2229,2049,61,16,10,20599,20643,168,20528,-3421095308461432127,100,111,117,98,108,101,58,99,111,
8404,10,20416,20458,168,20319,-4575607512064199915,100,111,117,98,108,101,58,115,119,97,112,0,67503109, 110,115,116,0,2049,20568,1,20594,2049,8404,10,20625,20667,168,20528,-4575607512064199915,100,111,117,98,
5,67503109,6,10,20441,20479,168,20319,8246228896775106679,100,111,117,98,108,101,58,100,105,112,0, 108,101,58,115,119,97,112,0,67503109,5,67503109,6,10,20650,20688,168,20528,8246228896775106679,100,111,
67503109,67503109,5,5,8,6,6,10,20463,20503,168,20319,8246228896775123014,100,111,117,98,108,101,58, 117,98,108,101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,20672,20712,168,
115,105,112,0,1,2217,2049,2229,2049,20479,10,101,120,116,101,110,115,105,111,110, 20528,8246228896775123014,100,111,117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,20688,10,
115,47,109,97,108,108,111,99,46,114,101,116,114,111,0,20487,20550,168,20510,8246632143337714634, 101,120,116,101,110,115,105,111,110,115,47,109,97,108,108,111,99,46,114,101,
109,101,109,58,105,110,118,111,107,101,0,1,15,2049,10731,2049,10712,10,20534,0, 116,114,111,0,20696,20759,168,20719,8246632143337714634,109,101,109,58,105,110,118,111,107,101,0,
156,20510,210667451248,65,76,76,79,67,0,20557,1,156,20510,6384048135,70,82,69,69,0,20568, 1,15,2049,10731,2049,10712,10,20743,0,156,20719,210667451248,65,76,76,79,67,0,20766,1,
2,156,20510,210689088690,83,84,79,82,69,0,20578,3,156,20510,210673137615,70,69,84,67,72, 156,20719,6384048135,70,82,69,69,0,20777,2,156,20719,210689088690,83,84,79,82,69,0,20787,
0,20589,4,156,20510,6952683137271,82,69,83,73,90,69,0,20487,20627,168,20510,249897943727936361,109,101, 3,156,20719,210673137615,70,69,84,67,72,0,20798,4,156,20719,6952683137271,82,69,83,73,90,
109,58,97,108,108,111,99,0,1,0,2049,20550,10,20612,20647,168,20510,249897943749573803,109,101, 69,0,20696,20836,168,20719,249897943727936361,109,101,109,58,97,108,108,111,99,0,1,0,2049,
109,58,115,116,111,114,101,0,1,2,2049,20550,10,20632,20667,168,20510,249897943733622728,109,101, 20759,10,20821,20856,168,20719,249897943749573803,109,101,109,58,115,116,111,114,101,0,1,2,2049,
109,58,102,101,116,99,104,0,1,3,2049,20550,10,20652,20686,168,20510,7572664961638592,109,101, 20759,10,20841,20876,168,20719,249897943733622728,109,101,109,58,102,101,116,99,104,0,1,3,2049,
109,58,102,114,101,101,0,1,1,2049,20550,10,20672,20707,168,20510,8246632143679146032,109,101,109, 20759,10,20861,20895,168,20719,7572664961638592,109,101,109,58,102,114,101,101,0,1,1,2049,20759,
58,114,101,115,105,122,101,0,1,4,2049,20550,10,20691,20727,168,20510,249897943730056489,109,101, 10,20881,20916,168,20719,8246632143679146032,109,101,109,58,114,101,115,105,122,101,0,1,4,2049,
109,58,99,101,108,108,43,0,1,8,19,17,10,20712,20754,168,20510,1050530996183190288,109,101, 20759,10,20900,20936,168,20719,249897943730056489,109,101,109,58,99,101,108,108,43,0,1,8,19,
109,58,102,101,116,99,104,45,100,111,117,98,108,101,0,2,1,1,2049,20727, 17,10,20921,20963,168,20719,1050530996183190288,109,101,109,58,102,101,116,99,104,45,100,111,117,
15,5,2049,20667,6,10,20732,20787,168,20510,1730340976492540563,109,101,109,58,115,116,111,114,101, 98,108,101,0,2,1,1,2049,20936,15,5,2049,20876,6,10,20941,20996,168,20719,1730340976492540563,
45,100,111,117,98,108,101,0,5,5,2049,2217,1,1,2049,20727,6,2049,20647,6, 109,101,109,58,115,116,111,114,101,45,100,111,117,98,108,101,0,5,5,2049,
2049,20647,10,0 }; 2217,1,1,2049,20936,6,2049,20856,6,2049,20856,10,0 };

View file

@ -151,6 +151,10 @@ IO(malloc)
IO(blocks) IO(blocks)
#endif #endif
#ifdef ENABLE_IOCTL
IO(ioctl)
#endif
IO(image) IO(image)
V load_embedded_image(NgaState *); V load_embedded_image(NgaState *);
@ -282,6 +286,10 @@ V guard(NgaState *vm, int n, int m, int diff) {
} }
#endif #endif
#ifdef ENABLE_IOCTL
#include "dev-ioctl.c"
#endif
#ifdef ENABLE_MALLOC #ifdef ENABLE_MALLOC
#ifdef BIT64 #ifdef BIT64
#include "dev-malloc.c" #include "dev-malloc.c"
@ -1013,6 +1021,9 @@ V register_devices(NgaState *vm) {
#ifdef ENABLE_ERROR #ifdef ENABLE_ERROR
register_device(vm, io_error, query_error); register_device(vm, io_error, query_error);
#endif #endif
#ifdef ENABLE_IOCTL
register_device(vm, io_ioctl, query_ioctl);
#endif
} }
V register_signal_handlers() { V register_signal_handlers() {