~crc_/retroforth

85839e6a897fdf9e597e2221c44a838e7a441758 — crc 13 days ago 7eac7bb
add `d:use-strings` to revert to string based dictionary lookups

FossilOrigin-Name: 9657aab01b390e0bc0c4b91f4397cc89400b87f4e6295834ef4fe95bd713a278
2 files changed, 114 insertions(+), 105 deletions(-)

M interface/future.retro
M vm/nga-c/image.c
M interface/future.retro => interface/future.retro +6 -0
@@ 61,4 61,10 @@ existing set in the future.
  [ d:hash fetch ] &d:lookup #8 - store
  #2049 &d:lookup store
  &s:hash &d:lookup n:inc store ;

:d:use-strings
  &s:eq? &d:lookup #5 - store
  &d:name &d:lookup #8 - store
  #0 &d:lookup store
  #0 &d:lookup n:inc store ;
~~~

M vm/nga-c/image.c => vm/nga-c/image.c +108 -105
@@ 10,8 10,8 @@
#define CELL_MAX LLONG_MAX - 1
#endif
#endif
CELL ngaImageCells = 20372;
CELL ngaImage[] = { 1793,19869,20327,20371,202301,417,389,1249,1535,0,10995,0,10,1,10,2,10,3,10,
CELL ngaImageCells = 20420;
CELL ngaImage[] = { 1793,19917,20375,20419,202301,417,389,1249,1535,0,10995,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,
                       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,


@@ 20,8 20,8 @@ CELL ngaImage[] = { 1793,19869,20327,20371,202301,417,389,1249,1535,0,10995,0,10
                       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,
                       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,20124,17108737,3,2,524559,130,
                       2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19105,1249,167841793,
                       66,7,10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,20172,17108737,3,2,524559,130,
                       2049,130,2049,130,524545,0,130,524545,0,130,2049,144,1048838,2,1642241,10,7,19153,1249,167841793,
                       216,11,17826049,0,216,2,15,25,524546,190,134287105,217,118,2305,218,459023,226,0,0,134287361,
                       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,


@@ 170,7 170,7 @@ CELL ngaImage[] = { 1793,19869,20327,20371,202301,417,389,1249,1535,0,10995,0,10
                       110,58,105,110,99,0,659713,1,10,3114,3139,168,11782,210720197721,110,58,100,101,99,0,
                       659969,1,10,3128,3158,168,11782,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,11782,249861296566813883,83,99,
                       111,112,101,76,105,115,116,0,20229,20283,10,3172,3198,168,11782,5864091,123,123,0,2049,
                       111,112,101,76,105,115,116,0,20277,20331,10,3172,3198,168,11782,5864091,123,123,0,2049,
                       1576,2,1,3187,2049,61,16,10,3190,3225,168,11782,-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,11782,5864159,125,
                       125,0,1,3187,2049,58,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281,


@@ 889,7 889,7 @@ CELL ngaImage[] = { 1793,19869,20327,20371,202301,417,389,1249,1535,0,10995,0,10
                       47,109,111,100,0,1,1,1,0,1,8101,2049,10534,2,2049,10515,2049,10515,10,17484,
                       17529,168,17538,210639169918,42,47,109,111,100,0,1,1,1,8101,2049,10534,2049,10515,10,105,
                       110,116,101,114,102,97,99,101,47,117,110,115,105,103,110,101,100,46,114,101,
                       116,114,111,0,17538,18421,17518,17576,168,516096,210720194422,110,58,97,100,100,0,17,10,17565,
                       116,114,111,0,17538,18469,17518,17576,168,516096,210720194422,110,58,97,100,100,0,17,10,17565,
                       17589,168,516096,210720214583,110,58,115,117,98,0,18,10,17578,17602,168,516096,210720208059,110,58,109,
                       117,108,0,19,10,17591,17615,168,516096,210720197872,110,58,100,105,118,0,197652,10,17604,17628,
                       168,516096,210720207853,110,58,109,111,100,0,788,10,17617,17644,168,516096,7572651751048528,110,58,100,105,


@@ 926,107 926,110 @@ CELL ngaImage[] = { 1793,19869,20327,20371,202301,417,389,1249,1535,0,10995,0,10
                       8598,2049,17657,1,17657,2049,8777,10,1,18237,2049,2229,10,18222,18270,168,0,-3502245454587251943,100,58,
                       117,115,101,45,104,97,115,104,101,115,0,1,29,1,236,1,5,18,16,1793,
                       18284,2049,188,15,10,1,18280,1,236,1,8,18,16,1,2049,1,236,16,1,4875,
                       1,236,2049,3125,16,10,18252,18323,168,0,-3527051417241377258,98,108,111,99,107,58,105,110,118,
                       111,107,101,0,1,3,2049,10534,2049,10515,10,18252,18346,168,18398,8246131600073141446,98,108,111,99,
                       107,58,114,101,97,100,0,1,0,2049,18323,10,18330,18368,168,18398,-4578818303223200395,98,108,111,
                       99,107,58,119,114,105,116,101,0,1,1,2049,18323,10,18351,18393,168,18398,-4036225629868593021,98,
                       108,111,99,107,58,115,101,116,45,102,105,108,101,0,1,2,2049,18323,10,105,
                       110,116,101,114,102,97,99,101,47,98,108,111,99,107,115,46,114,101,116,114,
                       111,0,18398,11155,18373,18436,168,0,229480770855518,115,58,115,112,108,105,116,0,2049,7184,10,
                       18423,18462,168,0,6119006473764520940,115,58,115,112,108,105,116,45,111,110,45,115,116,114,105,
                       110,103,0,2049,7218,10,18439,18487,168,0,-2157201768052001381,115,58,99,111,110,116,97,105,110,
                       115,45,99,104,97,114,63,0,2049,4857,10,18465,18514,168,0,-6456228026363444588,115,58,99,111,
                       110,116,97,105,110,115,45,115,116,114,105,110,103,63,0,2049,5286,10,18490,18541,
                       168,0,-3160266536000611262,97,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,
                       63,0,2049,9099,10,18517,18560,168,0,8246014626430519194,97,58,105,110,100,101,120,45,111,102,
                       0,2049,9291,10,18544,18586,168,0,-5025353456659034242,97,58,105,110,100,101,120,45,111,102,45,
                       115,116,114,105,110,103,0,2049,9416,10,18563,18605,168,0,8246850033149754348,115,58,105,110,100,
                       101,120,45,111,102,0,2049,4779,10,18589,18631,168,0,-94300875658333296,115,58,105,110,100,101,
                       120,45,111,102,45,115,116,114,105,110,103,0,2049,5069,10,18608,18650,168,0,8246228896775126019,
                       100,111,117,98,108,101,58,118,97,114,0,2049,2075,4,2049,130,2049,130,10,18634,
                       18676,168,0,-3421095308458227740,100,111,117,98,108,101,58,102,101,116,99,104,0,2049,58,4,
                       15,10,18658,18699,168,0,-3421095308442276665,100,111,117,98,108,101,58,115,116,111,114,101,0,
                       1,19,2049,2229,2049,61,16,10,18681,18725,168,0,-3421095308461432127,100,111,117,98,108,101,58,
                       99,111,110,115,116,0,2049,18650,1,18676,2049,8460,10,18707,18749,168,0,-4575607512064199915,100,111,
                       117,98,108,101,58,115,119,97,112,0,67503109,5,67503109,6,10,18732,18770,168,0,8246228896775106679,
                       100,111,117,98,108,101,58,100,105,112,0,67503109,67503109,5,5,8,6,6,10,18754,
                       18794,168,0,8246228896775123014,100,111,117,98,108,101,58,115,105,112,0,1,2217,2049,2229,2049,
                       18770,10,18778,18817,168,0,8246632143337714634,109,101,109,58,105,110,118,111,107,101,0,1,15,
                       2049,10534,2049,10515,10,18801,0,156,0,210667451248,65,76,76,79,67,0,18824,1,156,0,
                       6384048135,70,82,69,69,0,18835,2,156,0,210689088690,83,84,79,82,69,0,18845,3,156,
                       0,210673137615,70,69,84,67,72,0,18856,4,156,0,6952683137271,82,69,83,73,90,69,0,
                       18778,18894,168,0,249897943727936361,109,101,109,58,97,108,108,111,99,0,1,0,2049,18817,10,
                       18879,18914,168,0,249897943749573803,109,101,109,58,115,116,111,114,101,0,1,2,2049,18817,10,
                       18899,18934,168,0,249897943733622728,109,101,109,58,102,101,116,99,104,0,1,3,2049,18817,10,
                       18919,18953,168,0,7572664961638592,109,101,109,58,102,114,101,101,0,1,1,2049,18817,10,18939,
                       18974,168,0,8246632143679146032,109,101,109,58,114,101,115,105,122,101,0,1,4,2049,18817,10,
                       18958,18994,168,0,249897943730056489,109,101,109,58,99,101,108,108,43,0,1,8,19,17,10,
                       18979,19021,168,0,1050530996183190288,109,101,109,58,102,101,116,99,104,45,100,111,117,98,108,
                       101,0,2,1,1,2049,18994,15,5,2049,18934,6,10,18999,19054,168,0,1730340976492540563,109,101,
                       109,58,115,116,111,114,101,45,100,111,117,98,108,101,0,5,5,2049,2217,1,
                       1,2049,18994,6,2049,18914,6,2049,18914,10,1793,19090,1,192,1,2,17,8,2049,1576,
                       2049,190,3841,10980,8,2049,1576,2049,188,16,10,1,19071,19032,19101,168,19888,193470948,84,73,
                       66,0,1,7,15,10,19092,19121,168,19888,8246457295145463473,105,109,97,103,101,58,115,97,118,
                       101,0,1,1000,2049,10534,2049,10515,10,19105,19139,168,0,210711039690,101,100,105,116,63,0,
                       2,1793,19146,1,8,11,10,1,19142,1793,19154,1,127,11,10,1,19150,2049,2255,22,
                       10,19128,19172,168,0,6953539406400,103,97,116,104,101,114,0,2049,19139,1,17,1,4134,2049,
                       66,10,19160,19192,168,0,210709415765,99,121,99,108,101,0,2049,10864,2049,2217,4,8,2049,
                       2644,25,3,2049,19172,1,19192,7,10,19105,19225,168,19888,-4557881830897049127,112,97,114,115,101,45,
                       117,110,116,105,108,0,1793,19237,2049,4451,2049,4234,2049,19192,771,2049,4096,10,1,19227,
                       2049,4260,10,19208,19253,168,19888,210726130610,115,58,103,101,116,0,1793,19275,1793,19261,1,13,
                       11,10,1,19257,1793,19269,1,10,11,10,1,19265,2049,2255,22,10,1,19255,2049,19225,
                       10,19242,19291,168,19888,210708950412,99,108,101,97,114,0,2049,4472,92,94,91,50,74,92,
                       94,91,48,59,48,72,0,1,19293,2049,8246,2049,10640,10,19280,19325,156,19888,6952575930081,78,
                       111,69,99,104,111,0,0,19313,19335,156,0,193454829,69,79,84,0,0,19326,19350,156,
                       0,7571133383038306,73,103,110,111,114,105,110,103,0,0,19336,19366,168,0,249892406716047873,105,103,110,
                       111,114,105,110,103,63,0,3841,19350,10,19351,19382,168,0,229486327000139,118,101,114,115,105,
                       111,110,0,3841,4,1,100,20,10,19369,19399,168,0,210710254026,100,111,110,101,63,0,
                       2,4097,19335,1793,19408,1,13,11,10,1,19404,1793,19416,1,10,11,10,1,19412,1793,
                       19424,1,32,11,10,1,19420,2049,2298,22,22,10,19388,19441,168,0,6385195044,101,111,108,
                       63,0,3841,19335,1793,19449,1,13,11,10,1,19445,1793,19457,1,10,11,10,1,19453,
                       2049,2255,22,10,19431,19475,168,0,6954126150804,118,97,108,105,100,63,0,2,2049,104,2049,
                       2812,10,19463,19496,168,0,249883998779477802,99,104,101,99,107,45,101,111,102,0,2,1793,19503,
                       1,-1,11,10,1,19499,1793,19511,1,4,11,10,1,19507,2049,2255,22,1793,19521,2049,
                       10931,10,1,19518,9,10,19481,19533,168,0,5863258,98,115,0,2049,4212,1,2,2049,2675,
                       1793,19545,2049,4160,3,10,1,19541,9,2049,4160,3,10,19525,19566,168,0,7572242387256805,99,104,
                       101,99,107,45,98,115,0,2,1793,19573,1,8,11,10,1,19569,1793,19581,1,127,
                       11,10,1,19577,2049,2255,22,1793,19591,2049,19533,10,1,19588,9,10,19552,19606,168,0,
                       210708806723,99,104,101,99,107,0,2049,19496,2049,19566,10,19595,19626,168,0,249883994190734226,99,104,97,
                       114,97,99,116,101,114,0,2049,10864,2,2049,4134,10,19611,19644,168,0,6953366942559,98,117,
                       102,102,101,114,0,1793,19654,2049,19101,2049,4234,8,2049,4096,10,1,19646,2049,4260,10,
                       19632,19675,168,0,8246863741238799215,114,101,97,100,45,116,111,107,101,110,0,1793,19691,1793,19686,
                       2049,19626,2049,19606,2049,19399,10,1,19679,2049,2397,10,1,19677,2049,19644,2049,4587,10,19659,
                       19709,168,0,210716150453,105,110,112,117,116,0,2049,19675,2049,19475,10,19698,19727,168,0,229479082815460,
                       112,114,111,99,101,115,115,0,2049,19366,1793,19745,771,2049,19441,1793,19741,1,19350,2049,
                       3931,10,1,19736,9,10,1,19731,2049,2862,1,417,1,17,2049,66,10,19313,19764,180,
                       19888,5861507,47,47,0,2049,16280,1,19350,2049,3916,10,19756,19783,168,19888,6953343520347,98,97,110,
                       110,101,114,0,2049,19382,2049,4472,82,69,84,82,79,32,49,50,32,40,37,110,
                       46,37,110,41,92,110,0,1,19787,2049,8246,2049,10640,2049,10716,2049,1545,2049,10716,18,
                       2049,1545,2049,4472,37,110,32,77,97,120,44,32,37,110,32,85,115,101,100,44,
                       32,37,110,32,70,114,101,101,92,110,0,1,19823,2049,8246,2049,10640,10,19771,19869,
                       168,19888,6953744547860,108,105,115,116,101,110,0,3841,19325,1793,19876,2049,19783,10,1,19873,2049,
                       74,2049,19709,2049,19727,1,19880,7,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,19857,19928,156,0,
                       229441520490121,83,111,117,114,99,101,115,0,1,20177,0,0,0,0,0,0,0,0,0,
                       1,236,2049,3125,16,10,18252,18324,168,0,-4893635544173424761,100,58,117,115,101,45,115,116,114,
                       105,110,103,115,0,1,118,1,236,1,5,18,16,1,190,1,236,1,8,18,
                       16,1,0,1,236,16,1,0,1,236,2049,3125,16,10,18305,18371,168,0,-3527051417241377258,98,
                       108,111,99,107,58,105,110,118,111,107,101,0,1,3,2049,10534,2049,10515,10,18305,
                       18394,168,18446,8246131600073141446,98,108,111,99,107,58,114,101,97,100,0,1,0,2049,18371,10,
                       18378,18416,168,18446,-4578818303223200395,98,108,111,99,107,58,119,114,105,116,101,0,1,1,2049,
                       18371,10,18399,18441,168,18446,-4036225629868593021,98,108,111,99,107,58,115,101,116,45,102,105,108,
                       101,0,1,2,2049,18371,10,105,110,116,101,114,102,97,99,101,47,98,108,111,
                       99,107,115,46,114,101,116,114,111,0,18446,11155,18421,18484,168,0,229480770855518,115,58,115,
                       112,108,105,116,0,2049,7184,10,18471,18510,168,0,6119006473764520940,115,58,115,112,108,105,116,
                       45,111,110,45,115,116,114,105,110,103,0,2049,7218,10,18487,18535,168,0,-2157201768052001381,115,
                       58,99,111,110,116,97,105,110,115,45,99,104,97,114,63,0,2049,4857,10,18513,
                       18562,168,0,-6456228026363444588,115,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,
                       103,63,0,2049,5286,10,18538,18589,168,0,-3160266536000611262,97,58,99,111,110,116,97,105,110,
                       115,45,115,116,114,105,110,103,63,0,2049,9099,10,18565,18608,168,0,8246014626430519194,97,58,
                       105,110,100,101,120,45,111,102,0,2049,9291,10,18592,18634,168,0,-5025353456659034242,97,58,105,
                       110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,2049,9416,10,18611,18653,
                       168,0,8246850033149754348,115,58,105,110,100,101,120,45,111,102,0,2049,4779,10,18637,18679,168,
                       0,-94300875658333296,115,58,105,110,100,101,120,45,111,102,45,115,116,114,105,110,103,0,
                       2049,5069,10,18656,18698,168,0,8246228896775126019,100,111,117,98,108,101,58,118,97,114,0,2049,
                       2075,4,2049,130,2049,130,10,18682,18724,168,0,-3421095308458227740,100,111,117,98,108,101,58,102,
                       101,116,99,104,0,2049,58,4,15,10,18706,18747,168,0,-3421095308442276665,100,111,117,98,108,
                       101,58,115,116,111,114,101,0,1,19,2049,2229,2049,61,16,10,18729,18773,168,0,
                       -3421095308461432127,100,111,117,98,108,101,58,99,111,110,115,116,0,2049,18698,1,18724,2049,8460,
                       10,18755,18797,168,0,-4575607512064199915,100,111,117,98,108,101,58,115,119,97,112,0,67503109,5,
                       67503109,6,10,18780,18818,168,0,8246228896775106679,100,111,117,98,108,101,58,100,105,112,0,67503109,
                       67503109,5,5,8,6,6,10,18802,18842,168,0,8246228896775123014,100,111,117,98,108,101,58,115,
                       105,112,0,1,2217,2049,2229,2049,18818,10,18826,18865,168,0,8246632143337714634,109,101,109,58,105,
                       110,118,111,107,101,0,1,15,2049,10534,2049,10515,10,18849,0,156,0,210667451248,65,76,
                       76,79,67,0,18872,1,156,0,6384048135,70,82,69,69,0,18883,2,156,0,210689088690,83,
                       84,79,82,69,0,18893,3,156,0,210673137615,70,69,84,67,72,0,18904,4,156,0,
                       6952683137271,82,69,83,73,90,69,0,18826,18942,168,0,249897943727936361,109,101,109,58,97,108,108,
                       111,99,0,1,0,2049,18865,10,18927,18962,168,0,249897943749573803,109,101,109,58,115,116,111,
                       114,101,0,1,2,2049,18865,10,18947,18982,168,0,249897943733622728,109,101,109,58,102,101,116,
                       99,104,0,1,3,2049,18865,10,18967,19001,168,0,7572664961638592,109,101,109,58,102,114,101,
                       101,0,1,1,2049,18865,10,18987,19022,168,0,8246632143679146032,109,101,109,58,114,101,115,105,
                       122,101,0,1,4,2049,18865,10,19006,19042,168,0,249897943730056489,109,101,109,58,99,101,108,
                       108,43,0,1,8,19,17,10,19027,19069,168,0,1050530996183190288,109,101,109,58,102,101,116,
                       99,104,45,100,111,117,98,108,101,0,2,1,1,2049,19042,15,5,2049,18982,6,
                       10,19047,19102,168,0,1730340976492540563,109,101,109,58,115,116,111,114,101,45,100,111,117,98,
                       108,101,0,5,5,2049,2217,1,1,2049,19042,6,2049,18962,6,2049,18962,10,1793,19138,
                       1,192,1,2,17,8,2049,1576,2049,190,3841,10980,8,2049,1576,2049,188,16,10,1,
                       19119,19080,19149,168,19936,193470948,84,73,66,0,1,7,15,10,19140,19169,168,19936,8246457295145463473,105,
                       109,97,103,101,58,115,97,118,101,0,1,1000,2049,10534,2049,10515,10,19153,19187,168,
                       0,210711039690,101,100,105,116,63,0,2,1793,19194,1,8,11,10,1,19190,1793,19202,1,
                       127,11,10,1,19198,2049,2255,22,10,19176,19220,168,0,6953539406400,103,97,116,104,101,114,
                       0,2049,19187,1,17,1,4134,2049,66,10,19208,19240,168,0,210709415765,99,121,99,108,101,
                       0,2049,10864,2049,2217,4,8,2049,2644,25,3,2049,19220,1,19240,7,10,19153,19273,168,
                       19936,-4557881830897049127,112,97,114,115,101,45,117,110,116,105,108,0,1793,19285,2049,4451,2049,4234,
                       2049,19240,771,2049,4096,10,1,19275,2049,4260,10,19256,19301,168,19936,210726130610,115,58,103,101,
                       116,0,1793,19323,1793,19309,1,13,11,10,1,19305,1793,19317,1,10,11,10,1,19313,
                       2049,2255,22,10,1,19303,2049,19273,10,19290,19339,168,19936,210708950412,99,108,101,97,114,0,
                       2049,4472,92,94,91,50,74,92,94,91,48,59,48,72,0,1,19341,2049,8246,2049,
                       10640,10,19328,19373,156,19936,6952575930081,78,111,69,99,104,111,0,0,19361,19383,156,0,193454829,
                       69,79,84,0,0,19374,19398,156,0,7571133383038306,73,103,110,111,114,105,110,103,0,0,
                       19384,19414,168,0,249892406716047873,105,103,110,111,114,105,110,103,63,0,3841,19398,10,19399,19430,
                       168,0,229486327000139,118,101,114,115,105,111,110,0,3841,4,1,100,20,10,19417,19447,168,
                       0,210710254026,100,111,110,101,63,0,2,4097,19383,1793,19456,1,13,11,10,1,19452,1793,
                       19464,1,10,11,10,1,19460,1793,19472,1,32,11,10,1,19468,2049,2298,22,22,10,
                       19436,19489,168,0,6385195044,101,111,108,63,0,3841,19383,1793,19497,1,13,11,10,1,19493,
                       1793,19505,1,10,11,10,1,19501,2049,2255,22,10,19479,19523,168,0,6954126150804,118,97,108,
                       105,100,63,0,2,2049,104,2049,2812,10,19511,19544,168,0,249883998779477802,99,104,101,99,107,
                       45,101,111,102,0,2,1793,19551,1,-1,11,10,1,19547,1793,19559,1,4,11,10,
                       1,19555,2049,2255,22,1793,19569,2049,10931,10,1,19566,9,10,19529,19581,168,0,5863258,98,
                       115,0,2049,4212,1,2,2049,2675,1793,19593,2049,4160,3,10,1,19589,9,2049,4160,3,
                       10,19573,19614,168,0,7572242387256805,99,104,101,99,107,45,98,115,0,2,1793,19621,1,8,
                       11,10,1,19617,1793,19629,1,127,11,10,1,19625,2049,2255,22,1793,19639,2049,19581,10,
                       1,19636,9,10,19600,19654,168,0,210708806723,99,104,101,99,107,0,2049,19544,2049,19614,10,
                       19643,19674,168,0,249883994190734226,99,104,97,114,97,99,116,101,114,0,2049,10864,2,2049,4134,
                       10,19659,19692,168,0,6953366942559,98,117,102,102,101,114,0,1793,19702,2049,19149,2049,4234,8,
                       2049,4096,10,1,19694,2049,4260,10,19680,19723,168,0,8246863741238799215,114,101,97,100,45,116,111,
                       107,101,110,0,1793,19739,1793,19734,2049,19674,2049,19654,2049,19447,10,1,19727,2049,2397,10,
                       1,19725,2049,19692,2049,4587,10,19707,19757,168,0,210716150453,105,110,112,117,116,0,2049,19723,
                       2049,19523,10,19746,19775,168,0,229479082815460,112,114,111,99,101,115,115,0,2049,19414,1793,19793,
                       771,2049,19489,1793,19789,1,19398,2049,3931,10,1,19784,9,10,1,19779,2049,2862,1,417,
                       1,17,2049,66,10,19361,19812,180,19936,5861507,47,47,0,2049,16280,1,19398,2049,3916,10,
                       19804,19831,168,19936,6953343520347,98,97,110,110,101,114,0,2049,19430,2049,4472,82,69,84,82,
                       79,32,49,50,32,40,37,110,46,37,110,41,92,110,0,1,19835,2049,8246,2049,
                       10640,2049,10716,2049,1545,2049,10716,18,2049,1545,2049,4472,37,110,32,77,97,120,44,32,
                       37,110,32,85,115,101,100,44,32,37,110,32,70,114,101,101,92,110,0,1,
                       19871,2049,8246,2049,10640,10,19819,19917,168,19936,6953744547860,108,105,115,116,101,110,0,3841,19373,
                       1793,19924,2049,19831,10,1,19921,2049,74,2049,19757,2049,19775,1,19928,7,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,19905,19976,156,0,229441520490121,83,111,117,114,99,101,115,0,1,20225,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19915,20068,168,
                       0,6953711201841,107,110,111,119,110,63,0,2,1,19928,2049,9099,10,20056,20085,168,0,210716136861,
                       105,110,100,101,120,0,1,19928,4,2049,9416,1,19928,4,2049,9236,10,20074,20108,168,
                       0,6953974036516,114,101,99,111,114,100,0,2049,4500,2,1,19928,2049,3864,3841,19928,1,19928,
                       17,16,10,1793,20175,2049,16215,2049,20068,1793,20133,2049,20085,10,1,20130,1793,20140,2049,20108,
                       10,1,20137,2049,66,1793,20153,1,192,1,2,17,8,10,1,20146,2049,2229,2049,1576,
                       2049,186,16,2049,1576,2049,190,3841,10980,8,2049,1576,2049,188,16,10,1,20124,100,105,
                       99,116,45,119,111,114,100,115,45,108,105,115,116,105,110,103,46,102,111,114,
                       116,104,0,19857,20215,168,20177,229461403550098,100,58,119,111,114,100,115,0,1793,20224,2049,190,
                       2049,10640,2049,10610,10,1,20217,2049,8491,10,20202,20247,168,20177,-3502157631813457253,100,58,119,111,114,
                       100,115,45,119,105,116,104,0,2049,1977,2049,5573,1793,20278,2049,190,2,2049,1977,2049,
                       5286,1793,20267,2049,10640,2049,10610,10,1,20262,1793,20273,3,10,1,20271,2049,66,10,1,
                       20253,2049,8491,10,20229,20304,168,20177,2818131571306626127,100,105,115,112,108,97,121,45,105,102,45,
                       108,101,102,116,0,2,2049,1977,2049,5519,1793,20316,2049,10640,2049,10610,10,1,20311,1793,
                       20322,3,10,1,20320,2049,66,10,20229,20355,168,20177,2947807019553410009,100,58,119,111,114,100,115,
                       45,98,101,103,105,110,110,105,110,103,45,119,105,116,104,0,2049,1977,2049,5573,
                       1793,20366,2049,190,2049,20304,10,1,20361,2049,8491,10,0 };
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,19963,20116,168,0,6953711201841,107,110,111,119,110,63,0,2,1,19976,
                       2049,9099,10,20104,20133,168,0,210716136861,105,110,100,101,120,0,1,19976,4,2049,9416,1,
                       19976,4,2049,9236,10,20122,20156,168,0,6953974036516,114,101,99,111,114,100,0,2049,4500,2,
                       1,19976,2049,3864,3841,19976,1,19976,17,16,10,1793,20223,2049,16215,2049,20116,1793,20181,2049,
                       20133,10,1,20178,1793,20188,2049,20156,10,1,20185,2049,66,1793,20201,1,192,1,2,17,
                       8,10,1,20194,2049,2229,2049,1576,2049,186,16,2049,1576,2049,190,3841,10980,8,2049,1576,
                       2049,188,16,10,1,20172,100,105,99,116,45,119,111,114,100,115,45,108,105,115,
                       116,105,110,103,46,102,111,114,116,104,0,19905,20263,168,20225,229461403550098,100,58,119,111,
                       114,100,115,0,1793,20272,2049,190,2049,10640,2049,10610,10,1,20265,2049,8491,10,20250,20295,
                       168,20225,-3502157631813457253,100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1977,2049,5573,
                       1793,20326,2049,190,2,2049,1977,2049,5286,1793,20315,2049,10640,2049,10610,10,1,20310,1793,20321,
                       3,10,1,20319,2049,66,10,1,20301,2049,8491,10,20277,20352,168,20225,2818131571306626127,100,105,115,
                       112,108,97,121,45,105,102,45,108,101,102,116,0,2,2049,1977,2049,5519,1793,20364,
                       2049,10640,2049,10610,10,1,20359,1793,20370,3,10,1,20368,2049,66,10,20277,20403,168,20225,
                       2947807019553410009,100,58,119,111,114,100,115,45,98,101,103,105,110,110,105,110,103,45,119,
                       105,116,104,0,2049,1977,2049,5573,1793,20414,2049,190,2049,20352,10,1,20409,2049,8491,10,
                       0 };