From 0ee6d6460f4bd0ee4a94b8bc70e78c50fe9cc515 Mon Sep 17 00:00:00 2001 From: crc Date: Tue, 20 Nov 2018 00:35:34 +0000 Subject: [PATCH] add set:counted-results FossilOrigin-Name: dd324a02e9faf469977fc009c4b1c0dbd8cc5c0ee24e9deda6a7b6336c592a4e --- RELEASE_NOTES.md | 4 + doc/Glossary.txt | 12 + interfaces/image.c | 182 +++++++------- interfaces/rre_image_unix.c | 470 ++++++++++++++++++------------------ literate/RetroForth.md | 5 + ngaImage | Bin 35380 -> 35544 bytes words.tsv | 1 + 7 files changed, 350 insertions(+), 324 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 4da0ea9..fe03f9b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -36,6 +36,8 @@ easier to write. Contrast: - `s:format` now treats `\0` as ASCII NUL - added `prefix:|` for use with compiler macros - inline some stack shufflers for better performance and code density +- add `set:counted-results` +- deprecate `set:from-results` ## Interfaces @@ -50,6 +52,8 @@ easier to write. Contrast: ## Tools - added commentary to Unu +- Retro implementation of Unu +- Retro implementation of Muri ## Other diff --git a/doc/Glossary.txt b/doc/Glossary.txt index 0f9b357..9446525 100644 --- a/doc/Glossary.txt +++ b/doc/Glossary.txt @@ -4316,6 +4316,18 @@ Class Handler: class:word | Namespace: set | Interface Layer: all ---------------------------------------------------------------- +set:counted-results + + Data: q-a + Addr: - + Float: - + +{n/a} + +Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} + +---------------------------------------------------------------- + set:dup Data: a-b diff --git a/interfaces/image.c b/interfaces/image.c index 70ec476..e318282 100644 --- a/interfaces/image.c +++ b/interfaces/image.c @@ -1,6 +1,6 @@ #include -int32_t ngaImageCells = 8845; -int32_t ngaImage[] = { 1793,-1,8827,8844,201812,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +int32_t ngaImageCells = 8886; +int32_t ngaImage[] = { 1793,-1,8868,8885,201812,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,10,10,11,10,12,10,13,10,14,10,15,10,16,10, 17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,26,10, 68223234,1,2575,85000450,1,656912,354,339,268505089,66,65,135205121,66,10,101384453,0,9,10,2049,59, @@ -157,7 +157,7 @@ int32_t ngaImage[] = { 1793,-1,8827,8844,201812,0,10,1,10,2,10,3,10,4,10,5,10,6, 2065,4,16,10,3048,3101,147,118,58,117,112,100,97,116,101,45,117,115,105,110, 103,0,4,1793,3108,15,4,8,10,1,3104,2049,2077,16,10,3083,3122,147,99,111, 112,121,0,1793,3131,1,59,2049,2065,2049,62,10,1,3124,2049,2252,3,3,10,3114, - 3151,147,83,99,111,112,101,76,105,115,116,0,8722,8750,10,3138,3160,147,123,123, + 3151,147,83,99,111,112,101,76,105,115,116,0,8763,8791,10,3138,3160,147,123,123, 0,2049,1570,2,1,3151,2049,62,16,10,3154,3185,147,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1570,1,3151,2049,2863,16,10,3169,3199,147,125,125,0, 1,3151,2049,59,4,15,11,1793,3213,3841,3151,4097,2,10,1,3208,1793,3243,3841,3151, @@ -351,95 +351,97 @@ int32_t ngaImage[] = { 1793,-1,8827,8844,201812,0,10,1,10,2,10,3,10,4,10,5,10,6, 1,6949,2049,2065,1,6943,7,10,1,6943,8,3,10,6925,6987,147,100,58,108,111, 111,107,117,112,45,120,116,0,1,0,4,1793,7013,2049,2055,2049,161,15,11,1793, 7006,4,1,2016,2049,2065,10,1,7000,1,11,2049,67,10,1,6992,2049,6939,3,10, - 6972,7033,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7019,7055,147,115, - 101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556,1793,7061, - 8,10,1,7059,2049,2065,2049,1556,4,18,2049,1835,1793,7086,2,2049,108,1793,7081,2049, - 108,10,1,7078,2049,2252,10,1,7073,2049,2065,10,7035,7110,147,115,101,116,58,102, - 114,111,109,45,115,116,114,105,110,103,0,2049,3768,1793,7122,1793,7117,10,1,7116, - 2049,3974,10,1,7114,2049,6885,2049,7055,10,7091,7134,134,81,0,0,7091,7151,147,115, - 101,116,58,102,111,114,45,101,97,99,104,0,1,7134,1793,7181,4097,7134,2049,59, - 1793,7175,2049,59,4,1793,7170,3841,7134,8,10,1,7166,2049,2065,10,1,7161,2049,2252, - 3,10,1,7155,2049,3062,10,7135,7197,147,115,101,116,58,100,117,112,0,2049,1835, - 1793,7215,2,15,2049,108,1793,7210,2049,108,10,1,7207,2049,7151,10,1,7201,2049,2065, - 10,7186,7234,147,115,101,116,58,102,105,108,116,101,114,0,1793,7262,67502597,1793,7241, - 8,10,1,7239,2049,2065,4,1793,7251,2049,108,10,1,7248,1793,7257,3,10,1,7255, - 2049,67,10,1,7236,2049,6885,2049,1835,1793,7277,67502597,15,2049,108,2049,7151,10,1,7270, - 2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7220,7295,134,70,0,0,7220,7313,147, - 115,101,116,58,99,111,110,116,97,105,110,115,63,0,1,7295,2049,3029,1793,7327, - 67502597,11,3841,7295,22,4097,7295,10,1,7319,2049,7151,3,3841,7295,10,7296,7359,147,115, - 101,116,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63,0, - 1,7295,2049,3029,1793,7374,67502597,2049,96,3841,7295,22,4097,7295,10,1,7365,2049,7151,3, - 3841,7295,10,7335,7393,147,115,101,116,58,109,97,112,0,1793,7399,8,2049,108,10, - 1,7395,2049,6885,2049,1835,1793,7414,67502597,15,2049,108,2049,7151,10,1,7407,2049,2065,10, - 7382,7434,147,115,101,116,58,114,101,118,101,114,115,101,0,2049,1835,1793,7468,2049, - 59,1793,7446,17,2049,2876,10,1,7442,2049,2077,2,2049,108,1793,7462,2,15,2049,108, - 2049,2876,10,1,7455,2049,2252,3,10,1,7438,2049,2065,10,7419,7484,147,115,101,116, - 58,110,116,104,0,17,2049,2863,10,7473,7502,147,115,101,116,58,114,101,100,117, - 99,101,0,1793,7506,4,10,1,7504,2049,2065,2049,7151,10,7488,7525,147,115,101,116, - 58,109,97,107,101,0,2049,7055,2049,7434,10,7513,7535,159,123,0,1,288,2049,159, - 10,7530,7545,159,125,0,1,305,2049,159,1,7525,2049,147,10,7540,7560,134,73,48, - 0,0,0,0,7554,7569,134,73,49,0,0,0,0,7563,7578,134,73,50,0,0, - 0,0,7572,7587,134,73,51,0,0,0,0,7581,7600,147,111,112,99,111,100,101, - 0,2049,3648,46,46,0,1,7602,1793,7612,1,0,10,1,7609,2049,2326,2049,3648,108, - 105,0,1,7618,1793,7628,1,1,10,1,7625,2049,2326,2049,3648,100,117,0,1,7634, - 1793,7644,1,2,10,1,7641,2049,2326,2049,3648,100,114,0,1,7650,1793,7660,1,3, - 10,1,7657,2049,2326,2049,3648,115,119,0,1,7666,1793,7676,1,4,10,1,7673,2049, - 2326,2049,3648,112,117,0,1,7682,1793,7692,1,5,10,1,7689,2049,2326,2049,3648,112, - 111,0,1,7698,1793,7708,1,6,10,1,7705,2049,2326,2049,3648,106,117,0,1,7714, - 1793,7724,1,7,10,1,7721,2049,2326,2049,3648,99,97,0,1,7730,1793,7740,1,8, - 10,1,7737,2049,2326,2049,3648,99,99,0,1,7746,1793,7756,1,9,10,1,7753,2049, - 2326,2049,3648,114,101,0,1,7762,1793,7772,1,10,10,1,7769,2049,2326,2049,3648,101, - 113,0,1,7778,1793,7788,1,11,10,1,7785,2049,2326,2049,3648,110,101,0,1,7794, - 1793,7804,1,12,10,1,7801,2049,2326,2049,3648,108,116,0,1,7810,1793,7820,1,13, - 10,1,7817,2049,2326,2049,3648,103,116,0,1,7826,1793,7836,1,14,10,1,7833,2049, - 2326,2049,3648,102,101,0,1,7842,1793,7852,1,15,10,1,7849,2049,2326,2049,3648,115, - 116,0,1,7858,1793,7868,1,16,10,1,7865,2049,2326,2049,3648,97,100,0,1,7874, - 1793,7884,1,17,10,1,7881,2049,2326,2049,3648,115,117,0,1,7890,1793,7900,1,18, - 10,1,7897,2049,2326,2049,3648,109,117,0,1,7906,1793,7916,1,19,10,1,7913,2049, - 2326,2049,3648,100,105,0,1,7922,1793,7932,1,20,10,1,7929,2049,2326,2049,3648,97, - 110,0,1,7938,1793,7948,1,21,10,1,7945,2049,2326,2049,3648,111,114,0,1,7954, - 1793,7964,1,22,10,1,7961,2049,2326,2049,3648,120,111,0,1,7970,1793,7980,1,23, - 10,1,7977,2049,2326,2049,3648,115,104,0,1,7986,1793,7996,1,24,10,1,7993,2049, - 2326,2049,3648,122,114,0,1,8002,1793,8012,1,25,10,1,8009,2049,2326,2049,3648,101, - 110,0,1,8018,1793,8028,1,26,10,1,8025,2049,2326,3,1,0,10,7590,8044,147, - 112,97,99,107,0,1,7560,2049,7600,1,7569,2049,7600,1,7578,2049,7600,1,7587,2049, - 7600,1,-24,24,4,1,-16,24,17,4,1,-8,24,17,4,17,10,7540,8081,147, - 105,0,2,1,7560,1,2,2049,3122,1,2,17,2,1,7569,1,2,2049,3122,1, - 2,17,2,1,7578,1,2,2049,3122,1,2,17,1,7587,1,2,2049,3122,2049,8044, - 2049,108,10,8076,8127,147,100,0,2049,108,10,8122,8135,147,114,0,2049,200,2049,161, - 15,2049,108,10,8130,8150,159,97,115,123,0,3841,127,1,127,2049,3029,10,8143,8164, - 159,125,97,115,0,4097,127,10,8157,8183,147,99,117,114,114,101,110,116,45,108, - 105,110,101,0,2049,3523,1,1025,18,10,8167,8205,147,99,111,117,110,116,45,116, - 111,107,101,110,115,0,1793,8211,1,32,11,10,1,8207,2049,4403,2049,82,10,8189, - 8232,147,110,101,120,116,45,116,111,107,101,110,0,1,32,2049,6099,10,8218,8255, - 147,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,8281,2049,8232, - 4,1793,8274,2,2049,82,2049,2538,1,366,1,11,2049,67,10,1,8262,2049,2065,2049, - 2863,10,1,8257,2049,2252,2049,366,10,8157,8302,147,115,58,101,118,97,108,117,97, - 116,101,0,2049,8183,2049,4606,2049,8183,2,2049,8205,2049,8255,10,8288,8320,134,76,80, - 0,0,8314,8330,134,73,110,100,101,120,0,0,0,0,0,0,0,0,0,0, + 6972,7033,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7019,7058,147,115, + 101,116,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0,8, + 2049,1835,1793,7071,2,2049,108,1,108,2049,2252,10,1,7063,2049,2065,10,7035,7096,147, + 115,101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556,1793, + 7102,8,10,1,7100,2049,2065,2049,1556,4,18,2049,1835,1793,7127,2,2049,108,1793,7122, + 2049,108,10,1,7119,2049,2252,10,1,7114,2049,2065,10,7076,7151,147,115,101,116,58, + 102,114,111,109,45,115,116,114,105,110,103,0,2049,3768,1793,7163,1793,7158,10,1, + 7157,2049,3974,10,1,7155,2049,6885,2049,7096,10,7132,7175,134,81,0,0,7132,7192,147, + 115,101,116,58,102,111,114,45,101,97,99,104,0,1,7175,1793,7222,4097,7175,2049, + 59,1793,7216,2049,59,4,1793,7211,3841,7175,8,10,1,7207,2049,2065,10,1,7202,2049, + 2252,3,10,1,7196,2049,3062,10,7176,7238,147,115,101,116,58,100,117,112,0,2049, + 1835,1793,7256,2,15,2049,108,1793,7251,2049,108,10,1,7248,2049,7192,10,1,7242,2049, + 2065,10,7227,7275,147,115,101,116,58,102,105,108,116,101,114,0,1793,7303,67502597,1793, + 7282,8,10,1,7280,2049,2065,4,1793,7292,2049,108,10,1,7289,1793,7298,3,10,1, + 7296,2049,67,10,1,7277,2049,6885,2049,1835,1793,7318,67502597,15,2049,108,2049,7192,10,1, + 7311,2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7261,7336,134,70,0,0,7261,7354, + 147,115,101,116,58,99,111,110,116,97,105,110,115,63,0,1,7336,2049,3029,1793, + 7368,67502597,11,3841,7336,22,4097,7336,10,1,7360,2049,7192,3,3841,7336,10,7337,7400,147, + 115,101,116,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63, + 0,1,7336,2049,3029,1793,7415,67502597,2049,96,3841,7336,22,4097,7336,10,1,7406,2049,7192, + 3,3841,7336,10,7376,7434,147,115,101,116,58,109,97,112,0,1793,7440,8,2049,108, + 10,1,7436,2049,6885,2049,1835,1793,7455,67502597,15,2049,108,2049,7192,10,1,7448,2049,2065, + 10,7423,7475,147,115,101,116,58,114,101,118,101,114,115,101,0,2049,1835,1793,7509, + 2049,59,1793,7487,17,2049,2876,10,1,7483,2049,2077,2,2049,108,1793,7503,2,15,2049, + 108,2049,2876,10,1,7496,2049,2252,3,10,1,7479,2049,2065,10,7460,7525,147,115,101, + 116,58,110,116,104,0,17,2049,2863,10,7514,7543,147,115,101,116,58,114,101,100, + 117,99,101,0,1793,7547,4,10,1,7545,2049,2065,2049,7192,10,7529,7566,147,115,101, + 116,58,109,97,107,101,0,2049,7096,2049,7475,10,7554,7576,159,123,0,1,288,2049, + 159,10,7571,7586,159,125,0,1,305,2049,159,1,7566,2049,147,10,7581,7601,134,73, + 48,0,0,0,0,7595,7610,134,73,49,0,0,0,0,7604,7619,134,73,50,0, + 0,0,0,7613,7628,134,73,51,0,0,0,0,7622,7641,147,111,112,99,111,100, + 101,0,2049,3648,46,46,0,1,7643,1793,7653,1,0,10,1,7650,2049,2326,2049,3648, + 108,105,0,1,7659,1793,7669,1,1,10,1,7666,2049,2326,2049,3648,100,117,0,1, + 7675,1793,7685,1,2,10,1,7682,2049,2326,2049,3648,100,114,0,1,7691,1793,7701,1, + 3,10,1,7698,2049,2326,2049,3648,115,119,0,1,7707,1793,7717,1,4,10,1,7714, + 2049,2326,2049,3648,112,117,0,1,7723,1793,7733,1,5,10,1,7730,2049,2326,2049,3648, + 112,111,0,1,7739,1793,7749,1,6,10,1,7746,2049,2326,2049,3648,106,117,0,1, + 7755,1793,7765,1,7,10,1,7762,2049,2326,2049,3648,99,97,0,1,7771,1793,7781,1, + 8,10,1,7778,2049,2326,2049,3648,99,99,0,1,7787,1793,7797,1,9,10,1,7794, + 2049,2326,2049,3648,114,101,0,1,7803,1793,7813,1,10,10,1,7810,2049,2326,2049,3648, + 101,113,0,1,7819,1793,7829,1,11,10,1,7826,2049,2326,2049,3648,110,101,0,1, + 7835,1793,7845,1,12,10,1,7842,2049,2326,2049,3648,108,116,0,1,7851,1793,7861,1, + 13,10,1,7858,2049,2326,2049,3648,103,116,0,1,7867,1793,7877,1,14,10,1,7874, + 2049,2326,2049,3648,102,101,0,1,7883,1793,7893,1,15,10,1,7890,2049,2326,2049,3648, + 115,116,0,1,7899,1793,7909,1,16,10,1,7906,2049,2326,2049,3648,97,100,0,1, + 7915,1793,7925,1,17,10,1,7922,2049,2326,2049,3648,115,117,0,1,7931,1793,7941,1, + 18,10,1,7938,2049,2326,2049,3648,109,117,0,1,7947,1793,7957,1,19,10,1,7954, + 2049,2326,2049,3648,100,105,0,1,7963,1793,7973,1,20,10,1,7970,2049,2326,2049,3648, + 97,110,0,1,7979,1793,7989,1,21,10,1,7986,2049,2326,2049,3648,111,114,0,1, + 7995,1793,8005,1,22,10,1,8002,2049,2326,2049,3648,120,111,0,1,8011,1793,8021,1, + 23,10,1,8018,2049,2326,2049,3648,115,104,0,1,8027,1793,8037,1,24,10,1,8034, + 2049,2326,2049,3648,122,114,0,1,8043,1793,8053,1,25,10,1,8050,2049,2326,2049,3648, + 101,110,0,1,8059,1793,8069,1,26,10,1,8066,2049,2326,3,1,0,10,7631,8085, + 147,112,97,99,107,0,1,7601,2049,7641,1,7610,2049,7641,1,7619,2049,7641,1,7628, + 2049,7641,1,-24,24,4,1,-16,24,17,4,1,-8,24,17,4,17,10,7581,8122, + 147,105,0,2,1,7601,1,2,2049,3122,1,2,17,2,1,7610,1,2,2049,3122, + 1,2,17,2,1,7619,1,2,2049,3122,1,2,17,1,7628,1,2,2049,3122,2049, + 8085,2049,108,10,8117,8168,147,100,0,2049,108,10,8163,8176,147,114,0,2049,200,2049, + 161,15,2049,108,10,8171,8191,159,97,115,123,0,3841,127,1,127,2049,3029,10,8184, + 8205,159,125,97,115,0,4097,127,10,8198,8224,147,99,117,114,114,101,110,116,45, + 108,105,110,101,0,2049,3523,1,1025,18,10,8208,8246,147,99,111,117,110,116,45, + 116,111,107,101,110,115,0,1793,8252,1,32,11,10,1,8248,2049,4403,2049,82,10, + 8230,8273,147,110,101,120,116,45,116,111,107,101,110,0,1,32,2049,6099,10,8259, + 8296,147,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,8322,2049, + 8273,4,1793,8315,2,2049,82,2049,2538,1,366,1,11,2049,67,10,1,8303,2049,2065, + 2049,2863,10,1,8298,2049,2252,2049,366,10,8198,8343,147,115,58,101,118,97,108,117, + 97,116,101,0,2049,8224,2049,4606,2049,8224,2,2049,8246,2049,8296,10,8329,8361,134,76, + 80,0,0,8355,8371,134,73,110,100,101,120,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8321, - 8466,147,110,101,120,116,0,3841,8320,1,8330,17,2049,2964,10,8458,8482,147,112,114, - 101,112,0,1,8320,2049,2964,1,0,3841,8320,1,8330,17,16,10,8474,8503,147,100, - 111,110,101,0,1,8320,2049,2979,10,8288,8513,147,73,0,3841,8320,1,8330,17,15, - 10,8508,8525,147,74,0,3841,8320,1,8330,17,2049,2876,15,10,8520,8539,147,75,0, - 3841,8320,1,8330,17,1,2,18,15,10,8534,8570,147,116,105,109,101,115,60,119, - 105,116,104,45,105,110,100,101,120,62,0,2049,8482,4,1793,8590,25,2049,2876,5, - 1,21,2049,2077,6,2049,8466,1,8575,7,10,1,8575,8,3,2049,8503,10,8549,8606, - 147,99,58,112,117,116,0,1000,10,8597,8614,147,110,108,0,1,10,2049,8606,10, - 8608,8625,147,115,112,0,1,32,2049,8606,10,8619,8637,147,116,97,98,0,1,9, - 2049,8606,10,8630,8651,147,115,58,112,117,116,0,1793,8656,2049,8606,10,1,8653,2049, - 3974,10,8642,8670,147,110,58,112,117,116,0,2049,5945,2049,8651,10,8661,8686,147,100, - 58,119,111,114,100,115,0,1793,8695,2049,165,2049,8651,2049,8625,10,1,8688,2049,6939, - 10,8675,8709,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1, - 8711,7,10,8700,8736,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25, - 3,5,2049,8736,6,2,2049,8670,2049,8625,10,8722,8772,147,100,105,115,112,108,97, - 121,45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4274,1793,8784, - 2049,8651,2049,8625,10,1,8779,1793,8790,3,10,1,8788,2049,67,10,8722,8811,147,100, - 58,119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4606,1793,8822,2049,165, - 2049,8772,10,1,8817,2049,6939,10,8795,8835,147,70,82,69,69,0,2049,3523,1,1025, - 18,2049,1835,18,10,0 }; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 8362,8507,147,110,101,120,116,0,3841,8361,1,8371,17,2049,2964,10,8499,8523,147,112, + 114,101,112,0,1,8361,2049,2964,1,0,3841,8361,1,8371,17,16,10,8515,8544,147, + 100,111,110,101,0,1,8361,2049,2979,10,8329,8554,147,73,0,3841,8361,1,8371,17, + 15,10,8549,8566,147,74,0,3841,8361,1,8371,17,2049,2876,15,10,8561,8580,147,75, + 0,3841,8361,1,8371,17,1,2,18,15,10,8575,8611,147,116,105,109,101,115,60, + 119,105,116,104,45,105,110,100,101,120,62,0,2049,8523,4,1793,8631,25,2049,2876, + 5,1,21,2049,2077,6,2049,8507,1,8616,7,10,1,8616,8,3,2049,8544,10,8590, + 8647,147,99,58,112,117,116,0,1000,10,8638,8655,147,110,108,0,1,10,2049,8647, + 10,8649,8666,147,115,112,0,1,32,2049,8647,10,8660,8678,147,116,97,98,0,1, + 9,2049,8647,10,8671,8692,147,115,58,112,117,116,0,1793,8697,2049,8647,10,1,8694, + 2049,3974,10,8683,8711,147,110,58,112,117,116,0,2049,5945,2049,8692,10,8702,8727,147, + 100,58,119,111,114,100,115,0,1793,8736,2049,165,2049,8692,2049,8666,10,1,8729,2049, + 6939,10,8716,8750,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18, + 1,8752,7,10,8741,8777,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556, + 25,3,5,2049,8777,6,2,2049,8711,2049,8666,10,8763,8813,147,100,105,115,112,108, + 97,121,45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4274,1793, + 8825,2049,8692,2049,8666,10,1,8820,1793,8831,3,10,1,8829,2049,67,10,8763,8852,147, + 100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4606,1793,8863,2049, + 165,2049,8813,10,1,8858,2049,6939,10,8836,8876,147,70,82,69,69,0,2049,3523,1, + 1025,18,2049,1835,18,10,0 }; diff --git a/interfaces/rre_image_unix.c b/interfaces/rre_image_unix.c index 119beab..75e0b24 100644 --- a/interfaces/rre_image_unix.c +++ b/interfaces/rre_image_unix.c @@ -1,6 +1,6 @@ #include -int32_t ngaImageCells = 11738; -int32_t ngaImage[] = { 1793,-1,11701,11737,201812,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +int32_t ngaImageCells = 11779; +int32_t ngaImage[] = { 1793,-1,11742,11778,201812,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,10,10,11,10,12,10,13,10,14,10,15,10,16,10, 17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,26,10, 68223234,1,2575,85000450,1,656912,354,339,268505089,66,65,135205121,66,10,101384453,0,9,10,2049,59, @@ -157,7 +157,7 @@ int32_t ngaImage[] = { 1793,-1,11701,11737,201812,0,10,1,10,2,10,3,10,4,10,5,10, 2065,4,16,10,3048,3101,147,118,58,117,112,100,97,116,101,45,117,115,105,110, 103,0,4,1793,3108,15,4,8,10,1,3104,2049,2077,16,10,3083,3122,147,99,111, 112,121,0,1793,3131,1,59,2049,2065,2049,62,10,1,3124,2049,2252,3,3,10,3114, - 3151,147,83,99,111,112,101,76,105,115,116,0,11585,11644,10,3138,3160,147,123,123, + 3151,147,83,99,111,112,101,76,105,115,116,0,11626,11685,10,3138,3160,147,123,123, 0,2049,1570,2,1,3151,2049,62,16,10,3154,3185,147,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1570,1,3151,2049,2863,16,10,3169,3199,147,125,125,0, 1,3151,2049,59,4,15,11,1793,3213,3841,3151,4097,2,10,1,3208,1793,3243,3841,3151, @@ -351,239 +351,241 @@ int32_t ngaImage[] = { 1793,-1,11701,11737,201812,0,10,1,10,2,10,3,10,4,10,5,10, 1,6949,2049,2065,1,6943,7,10,1,6943,8,3,10,6925,6987,147,100,58,108,111, 111,107,117,112,45,120,116,0,1,0,4,1793,7013,2049,2055,2049,161,15,11,1793, 7006,4,1,2016,2049,2065,10,1,7000,1,11,2049,67,10,1,6992,2049,6939,3,10, - 6972,7033,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7019,7055,147,115, - 101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556,1793,7061, - 8,10,1,7059,2049,2065,2049,1556,4,18,2049,1835,1793,7086,2,2049,108,1793,7081,2049, - 108,10,1,7078,2049,2252,10,1,7073,2049,2065,10,7035,7110,147,115,101,116,58,102, - 114,111,109,45,115,116,114,105,110,103,0,2049,3768,1793,7122,1793,7117,10,1,7116, - 2049,3974,10,1,7114,2049,6885,2049,7055,10,7091,7134,134,81,0,0,7091,7151,147,115, - 101,116,58,102,111,114,45,101,97,99,104,0,1,7134,1793,7181,4097,7134,2049,59, - 1793,7175,2049,59,4,1793,7170,3841,7134,8,10,1,7166,2049,2065,10,1,7161,2049,2252, - 3,10,1,7155,2049,3062,10,7135,7197,147,115,101,116,58,100,117,112,0,2049,1835, - 1793,7215,2,15,2049,108,1793,7210,2049,108,10,1,7207,2049,7151,10,1,7201,2049,2065, - 10,7186,7234,147,115,101,116,58,102,105,108,116,101,114,0,1793,7262,67502597,1793,7241, - 8,10,1,7239,2049,2065,4,1793,7251,2049,108,10,1,7248,1793,7257,3,10,1,7255, - 2049,67,10,1,7236,2049,6885,2049,1835,1793,7277,67502597,15,2049,108,2049,7151,10,1,7270, - 2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7220,7295,134,70,0,0,7220,7313,147, - 115,101,116,58,99,111,110,116,97,105,110,115,63,0,1,7295,2049,3029,1793,7327, - 67502597,11,3841,7295,22,4097,7295,10,1,7319,2049,7151,3,3841,7295,10,7296,7359,147,115, - 101,116,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63,0, - 1,7295,2049,3029,1793,7374,67502597,2049,96,3841,7295,22,4097,7295,10,1,7365,2049,7151,3, - 3841,7295,10,7335,7393,147,115,101,116,58,109,97,112,0,1793,7399,8,2049,108,10, - 1,7395,2049,6885,2049,1835,1793,7414,67502597,15,2049,108,2049,7151,10,1,7407,2049,2065,10, - 7382,7434,147,115,101,116,58,114,101,118,101,114,115,101,0,2049,1835,1793,7468,2049, - 59,1793,7446,17,2049,2876,10,1,7442,2049,2077,2,2049,108,1793,7462,2,15,2049,108, - 2049,2876,10,1,7455,2049,2252,3,10,1,7438,2049,2065,10,7419,7484,147,115,101,116, - 58,110,116,104,0,17,2049,2863,10,7473,7502,147,115,101,116,58,114,101,100,117, - 99,101,0,1793,7506,4,10,1,7504,2049,2065,2049,7151,10,7488,7525,147,115,101,116, - 58,109,97,107,101,0,2049,7055,2049,7434,10,7513,7535,159,123,0,1,288,2049,159, - 10,7530,7545,159,125,0,1,305,2049,159,1,7525,2049,147,10,7540,7560,134,73,48, - 0,0,0,0,7554,7569,134,73,49,0,0,0,0,7563,7578,134,73,50,0,0, - 0,0,7572,7587,134,73,51,0,0,0,0,7581,7600,147,111,112,99,111,100,101, - 0,2049,3648,46,46,0,1,7602,1793,7612,1,0,10,1,7609,2049,2326,2049,3648,108, - 105,0,1,7618,1793,7628,1,1,10,1,7625,2049,2326,2049,3648,100,117,0,1,7634, - 1793,7644,1,2,10,1,7641,2049,2326,2049,3648,100,114,0,1,7650,1793,7660,1,3, - 10,1,7657,2049,2326,2049,3648,115,119,0,1,7666,1793,7676,1,4,10,1,7673,2049, - 2326,2049,3648,112,117,0,1,7682,1793,7692,1,5,10,1,7689,2049,2326,2049,3648,112, - 111,0,1,7698,1793,7708,1,6,10,1,7705,2049,2326,2049,3648,106,117,0,1,7714, - 1793,7724,1,7,10,1,7721,2049,2326,2049,3648,99,97,0,1,7730,1793,7740,1,8, - 10,1,7737,2049,2326,2049,3648,99,99,0,1,7746,1793,7756,1,9,10,1,7753,2049, - 2326,2049,3648,114,101,0,1,7762,1793,7772,1,10,10,1,7769,2049,2326,2049,3648,101, - 113,0,1,7778,1793,7788,1,11,10,1,7785,2049,2326,2049,3648,110,101,0,1,7794, - 1793,7804,1,12,10,1,7801,2049,2326,2049,3648,108,116,0,1,7810,1793,7820,1,13, - 10,1,7817,2049,2326,2049,3648,103,116,0,1,7826,1793,7836,1,14,10,1,7833,2049, - 2326,2049,3648,102,101,0,1,7842,1793,7852,1,15,10,1,7849,2049,2326,2049,3648,115, - 116,0,1,7858,1793,7868,1,16,10,1,7865,2049,2326,2049,3648,97,100,0,1,7874, - 1793,7884,1,17,10,1,7881,2049,2326,2049,3648,115,117,0,1,7890,1793,7900,1,18, - 10,1,7897,2049,2326,2049,3648,109,117,0,1,7906,1793,7916,1,19,10,1,7913,2049, - 2326,2049,3648,100,105,0,1,7922,1793,7932,1,20,10,1,7929,2049,2326,2049,3648,97, - 110,0,1,7938,1793,7948,1,21,10,1,7945,2049,2326,2049,3648,111,114,0,1,7954, - 1793,7964,1,22,10,1,7961,2049,2326,2049,3648,120,111,0,1,7970,1793,7980,1,23, - 10,1,7977,2049,2326,2049,3648,115,104,0,1,7986,1793,7996,1,24,10,1,7993,2049, - 2326,2049,3648,122,114,0,1,8002,1793,8012,1,25,10,1,8009,2049,2326,2049,3648,101, - 110,0,1,8018,1793,8028,1,26,10,1,8025,2049,2326,3,1,0,10,7590,8044,147, - 112,97,99,107,0,1,7560,2049,7600,1,7569,2049,7600,1,7578,2049,7600,1,7587,2049, - 7600,1,-24,24,4,1,-16,24,17,4,1,-8,24,17,4,17,10,7540,8081,147, - 105,0,2,1,7560,1,2,2049,3122,1,2,17,2,1,7569,1,2,2049,3122,1, - 2,17,2,1,7578,1,2,2049,3122,1,2,17,1,7587,1,2,2049,3122,2049,8044, - 2049,108,10,8076,8127,147,100,0,2049,108,10,8122,8135,147,114,0,2049,200,2049,161, - 15,2049,108,10,8130,8150,159,97,115,123,0,3841,127,1,127,2049,3029,10,8143,8164, - 159,125,97,115,0,4097,127,10,8157,8183,147,99,117,114,114,101,110,116,45,108, - 105,110,101,0,2049,3523,1,1025,18,10,8167,8205,147,99,111,117,110,116,45,116, - 111,107,101,110,115,0,1793,8211,1,32,11,10,1,8207,2049,4403,2049,82,10,8189, - 8232,147,110,101,120,116,45,116,111,107,101,110,0,1,32,2049,6099,10,8218,8255, - 147,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,8281,2049,8232, - 4,1793,8274,2,2049,82,2049,2538,1,366,1,11,2049,67,10,1,8262,2049,2065,2049, - 2863,10,1,8257,2049,2252,2049,366,10,8157,8302,147,115,58,101,118,97,108,117,97, - 116,101,0,2049,8183,2049,4606,2049,8183,2,2049,8205,2049,8255,10,8288,8320,134,76,80, - 0,0,8314,8330,134,73,110,100,101,120,0,0,0,0,0,0,0,0,0,0, + 6972,7033,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7019,7058,147,115, + 101,116,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0,8, + 2049,1835,1793,7071,2,2049,108,1,108,2049,2252,10,1,7063,2049,2065,10,7035,7096,147, + 115,101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556,1793, + 7102,8,10,1,7100,2049,2065,2049,1556,4,18,2049,1835,1793,7127,2,2049,108,1793,7122, + 2049,108,10,1,7119,2049,2252,10,1,7114,2049,2065,10,7076,7151,147,115,101,116,58, + 102,114,111,109,45,115,116,114,105,110,103,0,2049,3768,1793,7163,1793,7158,10,1, + 7157,2049,3974,10,1,7155,2049,6885,2049,7096,10,7132,7175,134,81,0,0,7132,7192,147, + 115,101,116,58,102,111,114,45,101,97,99,104,0,1,7175,1793,7222,4097,7175,2049, + 59,1793,7216,2049,59,4,1793,7211,3841,7175,8,10,1,7207,2049,2065,10,1,7202,2049, + 2252,3,10,1,7196,2049,3062,10,7176,7238,147,115,101,116,58,100,117,112,0,2049, + 1835,1793,7256,2,15,2049,108,1793,7251,2049,108,10,1,7248,2049,7192,10,1,7242,2049, + 2065,10,7227,7275,147,115,101,116,58,102,105,108,116,101,114,0,1793,7303,67502597,1793, + 7282,8,10,1,7280,2049,2065,4,1793,7292,2049,108,10,1,7289,1793,7298,3,10,1, + 7296,2049,67,10,1,7277,2049,6885,2049,1835,1793,7318,67502597,15,2049,108,2049,7192,10,1, + 7311,2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7261,7336,134,70,0,0,7261,7354, + 147,115,101,116,58,99,111,110,116,97,105,110,115,63,0,1,7336,2049,3029,1793, + 7368,67502597,11,3841,7336,22,4097,7336,10,1,7360,2049,7192,3,3841,7336,10,7337,7400,147, + 115,101,116,58,99,111,110,116,97,105,110,115,45,115,116,114,105,110,103,63, + 0,1,7336,2049,3029,1793,7415,67502597,2049,96,3841,7336,22,4097,7336,10,1,7406,2049,7192, + 3,3841,7336,10,7376,7434,147,115,101,116,58,109,97,112,0,1793,7440,8,2049,108, + 10,1,7436,2049,6885,2049,1835,1793,7455,67502597,15,2049,108,2049,7192,10,1,7448,2049,2065, + 10,7423,7475,147,115,101,116,58,114,101,118,101,114,115,101,0,2049,1835,1793,7509, + 2049,59,1793,7487,17,2049,2876,10,1,7483,2049,2077,2,2049,108,1793,7503,2,15,2049, + 108,2049,2876,10,1,7496,2049,2252,3,10,1,7479,2049,2065,10,7460,7525,147,115,101, + 116,58,110,116,104,0,17,2049,2863,10,7514,7543,147,115,101,116,58,114,101,100, + 117,99,101,0,1793,7547,4,10,1,7545,2049,2065,2049,7192,10,7529,7566,147,115,101, + 116,58,109,97,107,101,0,2049,7096,2049,7475,10,7554,7576,159,123,0,1,288,2049, + 159,10,7571,7586,159,125,0,1,305,2049,159,1,7566,2049,147,10,7581,7601,134,73, + 48,0,0,0,0,7595,7610,134,73,49,0,0,0,0,7604,7619,134,73,50,0, + 0,0,0,7613,7628,134,73,51,0,0,0,0,7622,7641,147,111,112,99,111,100, + 101,0,2049,3648,46,46,0,1,7643,1793,7653,1,0,10,1,7650,2049,2326,2049,3648, + 108,105,0,1,7659,1793,7669,1,1,10,1,7666,2049,2326,2049,3648,100,117,0,1, + 7675,1793,7685,1,2,10,1,7682,2049,2326,2049,3648,100,114,0,1,7691,1793,7701,1, + 3,10,1,7698,2049,2326,2049,3648,115,119,0,1,7707,1793,7717,1,4,10,1,7714, + 2049,2326,2049,3648,112,117,0,1,7723,1793,7733,1,5,10,1,7730,2049,2326,2049,3648, + 112,111,0,1,7739,1793,7749,1,6,10,1,7746,2049,2326,2049,3648,106,117,0,1, + 7755,1793,7765,1,7,10,1,7762,2049,2326,2049,3648,99,97,0,1,7771,1793,7781,1, + 8,10,1,7778,2049,2326,2049,3648,99,99,0,1,7787,1793,7797,1,9,10,1,7794, + 2049,2326,2049,3648,114,101,0,1,7803,1793,7813,1,10,10,1,7810,2049,2326,2049,3648, + 101,113,0,1,7819,1793,7829,1,11,10,1,7826,2049,2326,2049,3648,110,101,0,1, + 7835,1793,7845,1,12,10,1,7842,2049,2326,2049,3648,108,116,0,1,7851,1793,7861,1, + 13,10,1,7858,2049,2326,2049,3648,103,116,0,1,7867,1793,7877,1,14,10,1,7874, + 2049,2326,2049,3648,102,101,0,1,7883,1793,7893,1,15,10,1,7890,2049,2326,2049,3648, + 115,116,0,1,7899,1793,7909,1,16,10,1,7906,2049,2326,2049,3648,97,100,0,1, + 7915,1793,7925,1,17,10,1,7922,2049,2326,2049,3648,115,117,0,1,7931,1793,7941,1, + 18,10,1,7938,2049,2326,2049,3648,109,117,0,1,7947,1793,7957,1,19,10,1,7954, + 2049,2326,2049,3648,100,105,0,1,7963,1793,7973,1,20,10,1,7970,2049,2326,2049,3648, + 97,110,0,1,7979,1793,7989,1,21,10,1,7986,2049,2326,2049,3648,111,114,0,1, + 7995,1793,8005,1,22,10,1,8002,2049,2326,2049,3648,120,111,0,1,8011,1793,8021,1, + 23,10,1,8018,2049,2326,2049,3648,115,104,0,1,8027,1793,8037,1,24,10,1,8034, + 2049,2326,2049,3648,122,114,0,1,8043,1793,8053,1,25,10,1,8050,2049,2326,2049,3648, + 101,110,0,1,8059,1793,8069,1,26,10,1,8066,2049,2326,3,1,0,10,7631,8085, + 147,112,97,99,107,0,1,7601,2049,7641,1,7610,2049,7641,1,7619,2049,7641,1,7628, + 2049,7641,1,-24,24,4,1,-16,24,17,4,1,-8,24,17,4,17,10,7581,8122, + 147,105,0,2,1,7601,1,2,2049,3122,1,2,17,2,1,7610,1,2,2049,3122, + 1,2,17,2,1,7619,1,2,2049,3122,1,2,17,1,7628,1,2,2049,3122,2049, + 8085,2049,108,10,8117,8168,147,100,0,2049,108,10,8163,8176,147,114,0,2049,200,2049, + 161,15,2049,108,10,8171,8191,159,97,115,123,0,3841,127,1,127,2049,3029,10,8184, + 8205,159,125,97,115,0,4097,127,10,8198,8224,147,99,117,114,114,101,110,116,45, + 108,105,110,101,0,2049,3523,1,1025,18,10,8208,8246,147,99,111,117,110,116,45, + 116,111,107,101,110,115,0,1793,8252,1,32,11,10,1,8248,2049,4403,2049,82,10, + 8230,8273,147,110,101,120,116,45,116,111,107,101,110,0,1,32,2049,6099,10,8259, + 8296,147,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,8322,2049, + 8273,4,1793,8315,2,2049,82,2049,2538,1,366,1,11,2049,67,10,1,8303,2049,2065, + 2049,2863,10,1,8298,2049,2252,2049,366,10,8198,8343,147,115,58,101,118,97,108,117, + 97,116,101,0,2049,8224,2049,4606,2049,8224,2,2049,8246,2049,8296,10,8329,8361,134,76, + 80,0,0,8355,8371,134,73,110,100,101,120,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8321, - 8466,147,110,101,120,116,0,3841,8320,1,8330,17,2049,2964,10,8458,8482,147,112,114, - 101,112,0,1,8320,2049,2964,1,0,3841,8320,1,8330,17,16,10,8474,8503,147,100, - 111,110,101,0,1,8320,2049,2979,10,8288,8513,147,73,0,3841,8320,1,8330,17,15, - 10,8508,8525,147,74,0,3841,8320,1,8330,17,2049,2876,15,10,8520,8539,147,75,0, - 3841,8320,1,8330,17,1,2,18,15,10,8534,8570,147,116,105,109,101,115,60,119, - 105,116,104,45,105,110,100,101,120,62,0,2049,8482,4,1793,8590,25,2049,2876,5, - 1,21,2049,2077,6,2049,8466,1,8575,7,10,1,8575,8,3,2049,8503,10,8549,8606, - 147,99,58,112,117,116,0,1000,10,8597,8614,147,110,108,0,1,10,2049,8606,10, - 8608,8625,147,115,112,0,1,32,2049,8606,10,8619,8637,147,116,97,98,0,1,9, - 2049,8606,10,8630,8651,147,115,58,112,117,116,0,1793,8656,2049,8606,10,1,8653,2049, - 3974,10,8642,8670,147,110,58,112,117,116,0,2049,5945,2049,8651,10,8661,8686,147,100, - 58,119,111,114,100,115,0,1793,8695,2049,165,2049,8651,2049,8625,10,1,8688,2049,6939, - 10,8675,8709,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1, - 8711,7,10,8700,8736,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25, - 3,5,2049,8736,6,2,2049,8670,2049,8625,10,8722,8772,147,100,105,115,112,108,97, - 121,45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4274,1793,8784, - 2049,8651,2049,8625,10,1,8779,1793,8790,3,10,1,8788,2049,67,10,8722,8811,147,100, - 58,119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4606,1793,8822,2049,165, - 2049,8772,10,1,8817,2049,6939,10,8795,8835,147,70,82,69,69,0,2049,3523,1,1025, - 18,2049,1835,18,10,8827,8853,147,99,58,103,101,116,0,1001,10,8844,8869,147,110, - 58,116,111,45,102,108,111,97,116,0,1,0,-6000,10,8855,8887,147,115,58,116, - 111,45,102,108,111,97,116,0,1,1,-6000,10,8873,8906,147,102,58,116,111,45, - 115,116,114,105,110,103,0,2049,3633,2,1,2,-6000,10,8891,8920,147,102,58,43, - 0,1,3,-6000,10,8913,8931,147,102,58,45,0,1,4,-6000,10,8924,8942,147,102, - 58,42,0,1,5,-6000,10,8935,8953,147,102,58,47,0,1,6,-6000,10,8946,8968, - 147,102,58,102,108,111,111,114,0,1,7,-6000,10,8957,8981,147,102,58,101,113, - 63,0,1,8,-6000,10,8972,8995,147,102,58,45,101,113,63,0,1,9,-6000,10, - 8985,9008,147,102,58,108,116,63,0,1,10,-6000,10,8999,9021,147,102,58,103,116, - 63,0,1,11,-6000,10,9012,9036,147,102,58,100,101,112,116,104,0,1,12,-6000, - 10,9025,9049,147,102,58,100,117,112,0,1,13,-6000,10,9040,9063,147,102,58,100, - 114,111,112,0,1,14,-6000,10,9053,9077,147,102,58,115,119,97,112,0,1,15, - -6000,10,9067,9090,147,102,58,108,111,103,0,1,16,-6000,10,9081,9105,147,102,58, - 112,111,119,101,114,0,1,17,-6000,10,9094,9124,147,102,58,116,111,45,110,117, - 109,98,101,114,0,1,18,-6000,10,9109,9137,147,102,58,115,105,110,0,1,19, - -6000,10,9128,9150,147,102,58,99,111,115,0,1,20,-6000,10,9141,9163,147,102,58, - 116,97,110,0,1,21,-6000,10,9154,9177,147,102,58,97,115,105,110,0,1,22, - -6000,10,9167,9191,147,102,58,97,99,111,115,0,1,23,-6000,10,9181,9205,147,102, - 58,97,116,97,110,0,1,24,-6000,10,9195,9222,147,102,58,99,101,105,108,105, - 110,103,0,1,25,-6000,10,9209,9236,147,102,58,115,113,114,116,0,1,26,-6000, - 10,9226,9252,147,102,58,115,113,117,97,114,101,0,2049,9049,2049,8942,10,9240,9267, - 147,102,58,111,118,101,114,0,2049,8906,2049,9049,2049,8887,2049,9077,10,9257,9286,147, - 102,58,116,117,99,107,0,2049,9077,2049,9267,10,9276,9306,147,102,58,112,111,115, - 105,116,105,118,101,63,0,1,0,2049,8869,2049,9021,10,9291,9328,147,102,58,110, - 101,103,97,116,105,118,101,63,0,1,0,2049,8869,2049,9008,10,9313,9347,147,102, - 58,110,101,103,97,116,101,0,1,-1,2049,8869,2049,8942,10,9335,9363,147,102,58, - 97,98,115,0,2049,9049,2049,9328,1793,9372,2049,9347,10,1,9369,9,10,9354,9388,159, - 112,114,101,102,105,120,58,46,0,2049,1806,1793,9395,2049,3674,10,1,9392,1793,9402, - 2049,3607,10,1,9399,2049,67,1,8887,2049,147,10,9376,9420,147,102,58,112,117,116, - 0,2049,8906,2049,8651,10,9411,9433,147,102,58,80,73,0,2049,3648,51,46,49,52, - 49,53,57,50,0,1,9435,2049,8887,10,9425,9456,147,102,58,69,0,2049,3648,50, - 46,55,49,56,50,56,49,0,1,9458,2049,8887,10,9449,9481,147,102,58,78,65, - 78,0,2049,3648,48,0,1,9483,2049,8887,2049,3648,48,0,1,9491,2049,8887,2049,8953, - 10,9472,9509,147,102,58,73,78,70,0,2049,3648,49,46,48,0,1,9511,2049,8887, - 2049,3648,48,0,1,9521,2049,8887,2049,8953,10,9500,9540,147,102,58,45,73,78,70, - 0,2049,3648,45,49,46,48,0,1,9542,2049,8887,2049,3648,48,0,1,9553,2049,8887, - 2049,8953,10,9530,9572,147,102,58,110,97,110,63,0,2049,9049,2049,8995,10,9562,9587, - 147,102,58,105,110,102,63,0,2049,9509,2049,8981,10,9577,9603,147,102,58,45,105, - 110,102,63,0,2049,9540,2049,8981,10,9592,9619,147,102,58,114,111,117,110,100,0, - 2049,9049,2049,9328,1793,9640,2049,3648,48,46,53,0,1,9627,2049,8887,2049,8931,2049,9222, - 10,1,9625,1793,9659,2049,3648,48,46,53,0,1,9646,2049,8887,2049,8920,2049,8968,10, - 1,9644,2049,67,10,9608,2147483646,134,117,58,77,65,88,0,9664,-2147483646,134,117,58,77, - 73,78,0,9673,-2147483648,134,117,58,78,65,78,0,9682,2147483647,134,117,58,73,78,70, - 0,9691,-2147483647,134,117,58,45,73,78,70,0,9700,9718,147,117,58,110,63,0,1, - -2147483646,2049,2863,1,2147483646,2049,2876,2049,2894,10,9710,9739,147,117,58,109,97,120,63,0, - 1,2147483646,11,10,9729,9753,147,117,58,109,105,110,63,0,1,-2147483646,11,10,9743,9768, - 147,117,58,122,101,114,111,63,0,2049,2522,10,9757,9781,147,117,58,110,97,110, - 63,0,1,-2147483648,11,10,9771,9795,147,117,58,105,110,102,63,0,1,2147483647,11,10, - 9785,9810,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,9799,9824,147,117,58, - 99,108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,9814,9839,147,102,58,85,49,0, - 2049,3648,49,46,101,57,0,1,9841,2049,8887,10,9831,9864,147,102,58,66,65,76, - 65,78,67,69,0,2049,3648,49,46,0,1,9866,2049,8887,10,9851,9885,147,102,58, - 115,99,97,108,101,0,2049,9839,2049,8942,10,9874,9903,147,102,58,100,101,115,99, - 97,108,101,0,2049,9839,2049,8953,10,9890,9920,147,102,58,101,110,99,111,100,101, - 0,2049,9864,2049,9267,2049,8920,2049,8953,10,9908,9941,147,102,58,100,101,99,111,100, - 101,0,2049,3648,49,46,0,1,9943,2049,8887,2049,9267,2049,8931,2049,8953,2049,9864,2049, - 8942,10,9851,9971,147,102,58,116,111,45,117,0,2049,9049,2049,9920,2049,9885,2049,9619, - 2049,9124,2049,9824,2049,9049,2049,9572,1793,9993,3,1,-2147483648,10,1,9989,9,2049,9049,2049, - 9587,1793,10006,3,1,2147483647,10,1,10002,9,2049,9049,2049,9603,1793,10019,3,1,-2147483647,10, - 1,10015,9,2049,9063,10,9961,10035,147,117,58,116,111,45,102,0,2,2049,8869,2049, - 9903,2049,9941,2,2049,9781,1793,10052,2049,9063,2049,9481,10,1,10047,9,2,2049,9795,1793, - 10065,2049,9063,2049,9509,10,1,10060,9,2,2049,9810,1793,10078,2049,9063,2049,9540,10,1, - 10073,9,3,10,10025,10094,147,102,58,115,116,111,114,101,0,1793,10099,2049,9971,10, - 1,10096,2049,2065,16,10,10083,10116,147,102,58,102,101,116,99,104,0,15,2049,10035, - 10,10105,10134,147,103,111,112,104,101,114,58,103,101,116,0,-6200,10,10120,10148,147, - 115,121,115,58,97,114,103,99,0,-6100,10,10136,10162,147,115,121,115,58,97,114, - 103,118,0,2049,3633,4,-6101,10,10150,10182,147,117,110,105,120,58,115,121,115,116, - 101,109,0,1,-8000,-6300,10,10167,10199,147,117,110,105,120,58,102,111,114,107,0, - 1,-8001,-6300,10,10186,10216,147,117,110,105,120,58,101,120,105,116,0,1,-8002,-6300, - 10,10203,10235,147,117,110,105,120,58,103,101,116,112,105,100,0,1,-8003,-6300,10, - 10220,10253,147,117,110,105,120,58,101,120,101,99,48,0,1,-8004,-6300,10,10239,10271, - 147,117,110,105,120,58,101,120,101,99,49,0,1,-8005,-6300,10,10257,10289,147,117, - 110,105,120,58,101,120,101,99,50,0,1,-8006,-6300,10,10275,10307,147,117,110,105, - 120,58,101,120,101,99,51,0,1,-8007,-6300,10,10293,10324,147,117,110,105,120,58, - 119,97,105,116,0,1,-8008,-6300,10,10311,10341,147,117,110,105,120,58,107,105,108, - 108,0,1,-8009,-6300,10,10328,10359,147,117,110,105,120,58,112,111,112,101,110,0, - 1,-8010,-6300,10,10345,10378,147,117,110,105,120,58,112,99,108,111,115,101,0,1, - -8011,-6300,10,10363,10396,147,117,110,105,120,58,119,114,105,116,101,0,1793,10402,2, - 2049,82,10,1,10398,2049,2065,1,-8012,-6300,10,10382,10424,147,117,110,105,120,58,99, - 104,100,105,114,0,1,-8013,-6300,10,10410,10443,147,117,110,105,120,58,103,101,116, - 101,110,118,0,1,-8014,-6300,10,10428,10462,147,117,110,105,120,58,112,117,116,101, - 110,118,0,1,-8015,-6300,10,10447,10480,147,117,110,105,120,58,115,108,101,101,112, - 0,1,-8016,-6300,10,10466,0,134,102,105,108,101,58,82,0,10484,1,134,102,105, - 108,101,58,87,0,10494,2,134,102,105,108,101,58,65,0,10504,3,134,102,105, - 108,101,58,82,43,0,10514,10538,147,102,105,108,101,58,111,112,101,110,0,118, - 10,10525,10554,147,102,105,108,101,58,99,108,111,115,101,0,119,10,10540,10569,147, - 102,105,108,101,58,114,101,97,100,0,120,10,10556,10585,147,102,105,108,101,58, - 119,114,105,116,101,0,121,10,10571,10600,147,102,105,108,101,58,116,101,108,108, - 0,122,10,10587,10615,147,102,105,108,101,58,115,101,101,107,0,123,10,10602,10630, - 147,102,105,108,101,58,115,105,122,101,0,124,10,10617,10647,147,102,105,108,101, - 58,100,101,108,101,116,101,0,125,10,10632,10663,147,102,105,108,101,58,102,108, - 117,115,104,0,126,10,10649,10681,147,102,105,108,101,58,101,120,105,115,116,115, - 63,0,1,0,2049,10538,2,2049,2538,1793,10695,2049,10554,2049,2428,10,1,10690,1793,10703, - 3,2049,2440,10,1,10699,2049,67,10,10665,10734,147,102,105,108,101,58,111,112,101, - 110,60,102,111,114,45,114,101,97,100,105,110,103,62,0,1,0,2049,10538,2, - 2049,10630,4,10,10708,10768,147,102,105,108,101,58,111,112,101,110,60,102,111,114, - 45,97,112,112,101,110,100,62,0,1,2,2049,10538,2,2049,10630,4,10,10743,10803, - 147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,119,114,105,116,105, - 110,103,62,0,1,1,2049,10538,10,10777,10815,134,70,73,68,0,0,10808,10824,134, - 83,105,122,101,0,0,10816,10835,134,65,99,116,105,111,110,0,0,10825,10846,134, - 66,117,102,102,101,114,0,0,10836,10856,147,45,101,111,102,63,0,3841,10815,2049, - 10600,3841,10824,13,10,10847,10876,147,112,114,101,115,101,114,118,101,0,1,10815,1793, - 10891,1,10824,1793,10886,8,10,1,10884,2049,3062,10,1,10880,2049,3062,10,10777,10914,147, - 102,105,108,101,58,114,101,97,100,45,108,105,110,101,0,4097,10815,1793,10971,2049, - 1835,2,4097,10846,2049,3430,1793,10963,3841,10815,2049,10569,2,2049,3338,1793,10940,1,13,11, - 10,1,10936,1793,10948,1,10,11,10,1,10944,1793,10956,1,0,11,10,1,10952,2049, - 2129,22,22,10,1,10927,2049,2223,2049,3362,3,10,1,10918,2049,3454,3841,10846,10,10896, - 11000,147,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110,101, - 0,1793,11031,4097,10835,2049,10734,4097,10815,4097,10824,1793,11022,3841,10815,2049,10914,3841,10835,8, - 2049,10856,10,1,11012,2049,2197,3841,10815,2049,10554,10,1,11002,2049,10876,10,10978,11043,134, - 70,73,68,0,0,11036,11052,134,83,105,122,101,0,0,10978,11067,147,102,105,108, - 101,58,115,108,117,114,112,0,1793,11097,2049,10734,4097,11043,4097,11052,2049,3430,3841,11052, - 1793,11088,3841,11043,2049,10569,2049,3338,10,1,11081,2049,2252,3841,11043,2049,10554,10,1,11069, - 2049,3454,10,11053,11109,134,70,73,68,0,0,11053,11123,147,102,105,108,101,58,115, - 112,101,119,0,2049,10803,4097,11109,1793,11134,3841,11109,2049,10585,10,1,11129,2049,3974,3841, - 11109,2049,10554,10,11110,11160,147,117,110,105,120,58,105,111,58,110,58,112,117,116, - 0,1,-8100,-6300,10,11143,11181,147,117,110,105,120,58,105,111,58,115,58,112,117, - 116,0,1,-8101,-6300,10,11164,11195,134,78,111,69,99,104,111,0,0,11185,11207,147, - 118,101,114,115,105,111,110,0,3841,4,1,100,20,2049,8670,1,46,2049,8606,2049, - 8670,10,11196,11229,147,101,111,108,63,0,1793,11235,1,13,11,10,1,11231,1793,11243, - 1,10,11,10,1,11239,1793,11251,1,32,11,10,1,11247,2049,2129,22,22,10,11221, - 11268,147,118,97,108,105,100,63,0,2,2049,82,2049,2538,10,11258,11280,147,111,107, - 0,3841,11195,2049,2675,25,3,2049,1806,1793,11303,2049,8614,2049,3648,79,107,32,0,1, - 11294,2049,8651,10,1,11290,2049,73,10,11274,11321,147,99,104,101,99,107,45,101,111, - 102,0,2,1793,11328,1,-1,11,10,1,11324,1793,11336,1,4,11,10,1,11332,2049, - 2092,22,1793,11358,2049,3648,98,121,101,0,1,11345,2049,200,2049,161,15,8,10,1, - 11343,9,10,11308,11374,147,99,104,101,99,107,45,98,115,0,2,1793,11381,1,8, - 11,10,1,11377,1793,11389,1,127,11,10,1,11385,2049,2092,22,1793,11402,2049,3362,2049, - 3362,771,10,1,11396,9,10,11362,11415,147,115,58,103,101,116,0,1793,11444,1,1025, - 2049,3430,1793,11435,2049,8853,2,2049,3338,2049,11321,2049,11374,2049,11229,10,1,11423,2049,2223, - 2049,3304,2049,3741,10,1,11417,2049,3454,10,11185,11459,147,98,97,110,110,101,114,0, - 3841,11195,2049,2675,25,3,2049,3648,82,69,84,82,79,32,49,50,32,40,114,120, - 45,0,1,11467,2049,8651,2049,11207,1,41,2049,8606,2049,8614,2049,1543,2049,8670,2049,3648, - 32,77,65,88,44,32,84,73,66,32,64,32,49,48,50,53,44,32,72,101, - 97,112,32,64,32,0,1,11499,2049,8651,2049,1835,2049,8670,2049,8614,10,11449,11543,147, - 98,121,101,0,1,0,2049,10216,10,11536,11558,147,108,105,115,116,101,110,0,2049, - 11280,2049,11415,2049,11268,1793,11571,2049,366,2049,11280,10,1,11566,1793,11577,3,10,1,11575, - 2049,67,1,11560,7,10,11548,11596,147,105,110,99,108,117,100,101,0,-9999,10,11585, - 11608,147,103,97,116,104,101,114,0,2,1793,11615,1,8,11,10,1,11611,1793,11623, - 1,127,11,10,1,11619,2049,2092,22,1793,11632,3,10,1,11630,1793,11639,2049,3338,10, - 1,11636,2049,67,10,11598,11653,147,99,121,99,108,101,0,2049,8853,2049,2055,4,8, - 2049,2675,25,3,2049,11608,1,11653,7,10,11585,11684,147,112,97,114,115,101,45,117, - 110,116,105,108,0,1793,11696,2049,3633,2049,3430,2049,11653,771,2049,3304,10,1,11686,2049, - 3454,10,11669,11710,147,115,58,103,101,116,0,1793,11732,1793,11718,1,10,11,10,1, - 11714,1793,11726,1,13,11,10,1,11722,2049,2092,22,10,1,11712,2049,11684,10,0 }; + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 8362,8507,147,110,101,120,116,0,3841,8361,1,8371,17,2049,2964,10,8499,8523,147,112, + 114,101,112,0,1,8361,2049,2964,1,0,3841,8361,1,8371,17,16,10,8515,8544,147, + 100,111,110,101,0,1,8361,2049,2979,10,8329,8554,147,73,0,3841,8361,1,8371,17, + 15,10,8549,8566,147,74,0,3841,8361,1,8371,17,2049,2876,15,10,8561,8580,147,75, + 0,3841,8361,1,8371,17,1,2,18,15,10,8575,8611,147,116,105,109,101,115,60, + 119,105,116,104,45,105,110,100,101,120,62,0,2049,8523,4,1793,8631,25,2049,2876, + 5,1,21,2049,2077,6,2049,8507,1,8616,7,10,1,8616,8,3,2049,8544,10,8590, + 8647,147,99,58,112,117,116,0,1000,10,8638,8655,147,110,108,0,1,10,2049,8647, + 10,8649,8666,147,115,112,0,1,32,2049,8647,10,8660,8678,147,116,97,98,0,1, + 9,2049,8647,10,8671,8692,147,115,58,112,117,116,0,1793,8697,2049,8647,10,1,8694, + 2049,3974,10,8683,8711,147,110,58,112,117,116,0,2049,5945,2049,8692,10,8702,8727,147, + 100,58,119,111,114,100,115,0,1793,8736,2049,165,2049,8692,2049,8666,10,1,8729,2049, + 6939,10,8716,8750,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18, + 1,8752,7,10,8741,8777,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556, + 25,3,5,2049,8777,6,2,2049,8711,2049,8666,10,8763,8813,147,100,105,115,112,108, + 97,121,45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4274,1793, + 8825,2049,8692,2049,8666,10,1,8820,1793,8831,3,10,1,8829,2049,67,10,8763,8852,147, + 100,58,119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4606,1793,8863,2049, + 165,2049,8813,10,1,8858,2049,6939,10,8836,8876,147,70,82,69,69,0,2049,3523,1, + 1025,18,2049,1835,18,10,8868,8894,147,99,58,103,101,116,0,1001,10,8885,8910,147, + 110,58,116,111,45,102,108,111,97,116,0,1,0,-6000,10,8896,8928,147,115,58, + 116,111,45,102,108,111,97,116,0,1,1,-6000,10,8914,8947,147,102,58,116,111, + 45,115,116,114,105,110,103,0,2049,3633,2,1,2,-6000,10,8932,8961,147,102,58, + 43,0,1,3,-6000,10,8954,8972,147,102,58,45,0,1,4,-6000,10,8965,8983,147, + 102,58,42,0,1,5,-6000,10,8976,8994,147,102,58,47,0,1,6,-6000,10,8987, + 9009,147,102,58,102,108,111,111,114,0,1,7,-6000,10,8998,9022,147,102,58,101, + 113,63,0,1,8,-6000,10,9013,9036,147,102,58,45,101,113,63,0,1,9,-6000, + 10,9026,9049,147,102,58,108,116,63,0,1,10,-6000,10,9040,9062,147,102,58,103, + 116,63,0,1,11,-6000,10,9053,9077,147,102,58,100,101,112,116,104,0,1,12, + -6000,10,9066,9090,147,102,58,100,117,112,0,1,13,-6000,10,9081,9104,147,102,58, + 100,114,111,112,0,1,14,-6000,10,9094,9118,147,102,58,115,119,97,112,0,1, + 15,-6000,10,9108,9131,147,102,58,108,111,103,0,1,16,-6000,10,9122,9146,147,102, + 58,112,111,119,101,114,0,1,17,-6000,10,9135,9165,147,102,58,116,111,45,110, + 117,109,98,101,114,0,1,18,-6000,10,9150,9178,147,102,58,115,105,110,0,1, + 19,-6000,10,9169,9191,147,102,58,99,111,115,0,1,20,-6000,10,9182,9204,147,102, + 58,116,97,110,0,1,21,-6000,10,9195,9218,147,102,58,97,115,105,110,0,1, + 22,-6000,10,9208,9232,147,102,58,97,99,111,115,0,1,23,-6000,10,9222,9246,147, + 102,58,97,116,97,110,0,1,24,-6000,10,9236,9263,147,102,58,99,101,105,108, + 105,110,103,0,1,25,-6000,10,9250,9277,147,102,58,115,113,114,116,0,1,26, + -6000,10,9267,9293,147,102,58,115,113,117,97,114,101,0,2049,9090,2049,8983,10,9281, + 9308,147,102,58,111,118,101,114,0,2049,8947,2049,9090,2049,8928,2049,9118,10,9298,9327, + 147,102,58,116,117,99,107,0,2049,9118,2049,9308,10,9317,9347,147,102,58,112,111, + 115,105,116,105,118,101,63,0,1,0,2049,8910,2049,9062,10,9332,9369,147,102,58, + 110,101,103,97,116,105,118,101,63,0,1,0,2049,8910,2049,9049,10,9354,9388,147, + 102,58,110,101,103,97,116,101,0,1,-1,2049,8910,2049,8983,10,9376,9404,147,102, + 58,97,98,115,0,2049,9090,2049,9369,1793,9413,2049,9388,10,1,9410,9,10,9395,9429, + 159,112,114,101,102,105,120,58,46,0,2049,1806,1793,9436,2049,3674,10,1,9433,1793, + 9443,2049,3607,10,1,9440,2049,67,1,8928,2049,147,10,9417,9461,147,102,58,112,117, + 116,0,2049,8947,2049,8692,10,9452,9474,147,102,58,80,73,0,2049,3648,51,46,49, + 52,49,53,57,50,0,1,9476,2049,8928,10,9466,9497,147,102,58,69,0,2049,3648, + 50,46,55,49,56,50,56,49,0,1,9499,2049,8928,10,9490,9522,147,102,58,78, + 65,78,0,2049,3648,48,0,1,9524,2049,8928,2049,3648,48,0,1,9532,2049,8928,2049, + 8994,10,9513,9550,147,102,58,73,78,70,0,2049,3648,49,46,48,0,1,9552,2049, + 8928,2049,3648,48,0,1,9562,2049,8928,2049,8994,10,9541,9581,147,102,58,45,73,78, + 70,0,2049,3648,45,49,46,48,0,1,9583,2049,8928,2049,3648,48,0,1,9594,2049, + 8928,2049,8994,10,9571,9613,147,102,58,110,97,110,63,0,2049,9090,2049,9036,10,9603, + 9628,147,102,58,105,110,102,63,0,2049,9550,2049,9022,10,9618,9644,147,102,58,45, + 105,110,102,63,0,2049,9581,2049,9022,10,9633,9660,147,102,58,114,111,117,110,100, + 0,2049,9090,2049,9369,1793,9681,2049,3648,48,46,53,0,1,9668,2049,8928,2049,8972,2049, + 9263,10,1,9666,1793,9700,2049,3648,48,46,53,0,1,9687,2049,8928,2049,8961,2049,9009, + 10,1,9685,2049,67,10,9649,2147483646,134,117,58,77,65,88,0,9705,-2147483646,134,117,58, + 77,73,78,0,9714,-2147483648,134,117,58,78,65,78,0,9723,2147483647,134,117,58,73,78, + 70,0,9732,-2147483647,134,117,58,45,73,78,70,0,9741,9759,147,117,58,110,63,0, + 1,-2147483646,2049,2863,1,2147483646,2049,2876,2049,2894,10,9751,9780,147,117,58,109,97,120,63, + 0,1,2147483646,11,10,9770,9794,147,117,58,109,105,110,63,0,1,-2147483646,11,10,9784, + 9809,147,117,58,122,101,114,111,63,0,2049,2522,10,9798,9822,147,117,58,110,97, + 110,63,0,1,-2147483648,11,10,9812,9836,147,117,58,105,110,102,63,0,1,2147483647,11, + 10,9826,9851,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,9840,9865,147,117, + 58,99,108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,9855,9880,147,102,58,85,49, + 0,2049,3648,49,46,101,57,0,1,9882,2049,8928,10,9872,9905,147,102,58,66,65, + 76,65,78,67,69,0,2049,3648,49,46,0,1,9907,2049,8928,10,9892,9926,147,102, + 58,115,99,97,108,101,0,2049,9880,2049,8983,10,9915,9944,147,102,58,100,101,115, + 99,97,108,101,0,2049,9880,2049,8994,10,9931,9961,147,102,58,101,110,99,111,100, + 101,0,2049,9905,2049,9308,2049,8961,2049,8994,10,9949,9982,147,102,58,100,101,99,111, + 100,101,0,2049,3648,49,46,0,1,9984,2049,8928,2049,9308,2049,8972,2049,8994,2049,9905, + 2049,8983,10,9892,10012,147,102,58,116,111,45,117,0,2049,9090,2049,9961,2049,9926,2049, + 9660,2049,9165,2049,9865,2049,9090,2049,9613,1793,10034,3,1,-2147483648,10,1,10030,9,2049,9090, + 2049,9628,1793,10047,3,1,2147483647,10,1,10043,9,2049,9090,2049,9644,1793,10060,3,1,-2147483647, + 10,1,10056,9,2049,9104,10,10002,10076,147,117,58,116,111,45,102,0,2,2049,8910, + 2049,9944,2049,9982,2,2049,9822,1793,10093,2049,9104,2049,9522,10,1,10088,9,2,2049,9836, + 1793,10106,2049,9104,2049,9550,10,1,10101,9,2,2049,9851,1793,10119,2049,9104,2049,9581,10, + 1,10114,9,3,10,10066,10135,147,102,58,115,116,111,114,101,0,1793,10140,2049,10012, + 10,1,10137,2049,2065,16,10,10124,10157,147,102,58,102,101,116,99,104,0,15,2049, + 10076,10,10146,10175,147,103,111,112,104,101,114,58,103,101,116,0,-6200,10,10161,10189, + 147,115,121,115,58,97,114,103,99,0,-6100,10,10177,10203,147,115,121,115,58,97, + 114,103,118,0,2049,3633,4,-6101,10,10191,10223,147,117,110,105,120,58,115,121,115, + 116,101,109,0,1,-8000,-6300,10,10208,10240,147,117,110,105,120,58,102,111,114,107, + 0,1,-8001,-6300,10,10227,10257,147,117,110,105,120,58,101,120,105,116,0,1,-8002, + -6300,10,10244,10276,147,117,110,105,120,58,103,101,116,112,105,100,0,1,-8003,-6300, + 10,10261,10294,147,117,110,105,120,58,101,120,101,99,48,0,1,-8004,-6300,10,10280, + 10312,147,117,110,105,120,58,101,120,101,99,49,0,1,-8005,-6300,10,10298,10330,147, + 117,110,105,120,58,101,120,101,99,50,0,1,-8006,-6300,10,10316,10348,147,117,110, + 105,120,58,101,120,101,99,51,0,1,-8007,-6300,10,10334,10365,147,117,110,105,120, + 58,119,97,105,116,0,1,-8008,-6300,10,10352,10382,147,117,110,105,120,58,107,105, + 108,108,0,1,-8009,-6300,10,10369,10400,147,117,110,105,120,58,112,111,112,101,110, + 0,1,-8010,-6300,10,10386,10419,147,117,110,105,120,58,112,99,108,111,115,101,0, + 1,-8011,-6300,10,10404,10437,147,117,110,105,120,58,119,114,105,116,101,0,1793,10443, + 2,2049,82,10,1,10439,2049,2065,1,-8012,-6300,10,10423,10465,147,117,110,105,120,58, + 99,104,100,105,114,0,1,-8013,-6300,10,10451,10484,147,117,110,105,120,58,103,101, + 116,101,110,118,0,1,-8014,-6300,10,10469,10503,147,117,110,105,120,58,112,117,116, + 101,110,118,0,1,-8015,-6300,10,10488,10521,147,117,110,105,120,58,115,108,101,101, + 112,0,1,-8016,-6300,10,10507,0,134,102,105,108,101,58,82,0,10525,1,134,102, + 105,108,101,58,87,0,10535,2,134,102,105,108,101,58,65,0,10545,3,134,102, + 105,108,101,58,82,43,0,10555,10579,147,102,105,108,101,58,111,112,101,110,0, + 118,10,10566,10595,147,102,105,108,101,58,99,108,111,115,101,0,119,10,10581,10610, + 147,102,105,108,101,58,114,101,97,100,0,120,10,10597,10626,147,102,105,108,101, + 58,119,114,105,116,101,0,121,10,10612,10641,147,102,105,108,101,58,116,101,108, + 108,0,122,10,10628,10656,147,102,105,108,101,58,115,101,101,107,0,123,10,10643, + 10671,147,102,105,108,101,58,115,105,122,101,0,124,10,10658,10688,147,102,105,108, + 101,58,100,101,108,101,116,101,0,125,10,10673,10704,147,102,105,108,101,58,102, + 108,117,115,104,0,126,10,10690,10722,147,102,105,108,101,58,101,120,105,115,116, + 115,63,0,1,0,2049,10579,2,2049,2538,1793,10736,2049,10595,2049,2428,10,1,10731,1793, + 10744,3,2049,2440,10,1,10740,2049,67,10,10706,10775,147,102,105,108,101,58,111,112, + 101,110,60,102,111,114,45,114,101,97,100,105,110,103,62,0,1,0,2049,10579, + 2,2049,10671,4,10,10749,10809,147,102,105,108,101,58,111,112,101,110,60,102,111, + 114,45,97,112,112,101,110,100,62,0,1,2,2049,10579,2,2049,10671,4,10,10784, + 10844,147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,119,114,105,116, + 105,110,103,62,0,1,1,2049,10579,10,10818,10856,134,70,73,68,0,0,10849,10865, + 134,83,105,122,101,0,0,10857,10876,134,65,99,116,105,111,110,0,0,10866,10887, + 134,66,117,102,102,101,114,0,0,10877,10897,147,45,101,111,102,63,0,3841,10856, + 2049,10641,3841,10865,13,10,10888,10917,147,112,114,101,115,101,114,118,101,0,1,10856, + 1793,10932,1,10865,1793,10927,8,10,1,10925,2049,3062,10,1,10921,2049,3062,10,10818,10955, + 147,102,105,108,101,58,114,101,97,100,45,108,105,110,101,0,4097,10856,1793,11012, + 2049,1835,2,4097,10887,2049,3430,1793,11004,3841,10856,2049,10610,2,2049,3338,1793,10981,1,13, + 11,10,1,10977,1793,10989,1,10,11,10,1,10985,1793,10997,1,0,11,10,1,10993, + 2049,2129,22,22,10,1,10968,2049,2223,2049,3362,3,10,1,10959,2049,3454,3841,10887,10, + 10937,11041,147,102,105,108,101,58,102,111,114,45,101,97,99,104,45,108,105,110, + 101,0,1793,11072,4097,10876,2049,10775,4097,10856,4097,10865,1793,11063,3841,10856,2049,10955,3841,10876, + 8,2049,10897,10,1,11053,2049,2197,3841,10856,2049,10595,10,1,11043,2049,10917,10,11019,11084, + 134,70,73,68,0,0,11077,11093,134,83,105,122,101,0,0,11019,11108,147,102,105, + 108,101,58,115,108,117,114,112,0,1793,11138,2049,10775,4097,11084,4097,11093,2049,3430,3841, + 11093,1793,11129,3841,11084,2049,10610,2049,3338,10,1,11122,2049,2252,3841,11084,2049,10595,10,1, + 11110,2049,3454,10,11094,11150,134,70,73,68,0,0,11094,11164,147,102,105,108,101,58, + 115,112,101,119,0,2049,10844,4097,11150,1793,11175,3841,11150,2049,10626,10,1,11170,2049,3974, + 3841,11150,2049,10595,10,11151,11201,147,117,110,105,120,58,105,111,58,110,58,112,117, + 116,0,1,-8100,-6300,10,11184,11222,147,117,110,105,120,58,105,111,58,115,58,112, + 117,116,0,1,-8101,-6300,10,11205,11236,134,78,111,69,99,104,111,0,0,11226,11248, + 147,118,101,114,115,105,111,110,0,3841,4,1,100,20,2049,8711,1,46,2049,8647, + 2049,8711,10,11237,11270,147,101,111,108,63,0,1793,11276,1,13,11,10,1,11272,1793, + 11284,1,10,11,10,1,11280,1793,11292,1,32,11,10,1,11288,2049,2129,22,22,10, + 11262,11309,147,118,97,108,105,100,63,0,2,2049,82,2049,2538,10,11299,11321,147,111, + 107,0,3841,11236,2049,2675,25,3,2049,1806,1793,11344,2049,8655,2049,3648,79,107,32,0, + 1,11335,2049,8692,10,1,11331,2049,73,10,11315,11362,147,99,104,101,99,107,45,101, + 111,102,0,2,1793,11369,1,-1,11,10,1,11365,1793,11377,1,4,11,10,1,11373, + 2049,2092,22,1793,11399,2049,3648,98,121,101,0,1,11386,2049,200,2049,161,15,8,10, + 1,11384,9,10,11349,11415,147,99,104,101,99,107,45,98,115,0,2,1793,11422,1, + 8,11,10,1,11418,1793,11430,1,127,11,10,1,11426,2049,2092,22,1793,11443,2049,3362, + 2049,3362,771,10,1,11437,9,10,11403,11456,147,115,58,103,101,116,0,1793,11485,1, + 1025,2049,3430,1793,11476,2049,8894,2,2049,3338,2049,11362,2049,11415,2049,11270,10,1,11464,2049, + 2223,2049,3304,2049,3741,10,1,11458,2049,3454,10,11226,11500,147,98,97,110,110,101,114, + 0,3841,11236,2049,2675,25,3,2049,3648,82,69,84,82,79,32,49,50,32,40,114, + 120,45,0,1,11508,2049,8692,2049,11248,1,41,2049,8647,2049,8655,2049,1543,2049,8711,2049, + 3648,32,77,65,88,44,32,84,73,66,32,64,32,49,48,50,53,44,32,72, + 101,97,112,32,64,32,0,1,11540,2049,8692,2049,1835,2049,8711,2049,8655,10,11490,11584, + 147,98,121,101,0,1,0,2049,10257,10,11577,11599,147,108,105,115,116,101,110,0, + 2049,11321,2049,11456,2049,11309,1793,11612,2049,366,2049,11321,10,1,11607,1793,11618,3,10,1, + 11616,2049,67,1,11601,7,10,11589,11637,147,105,110,99,108,117,100,101,0,-9999,10, + 11626,11649,147,103,97,116,104,101,114,0,2,1793,11656,1,8,11,10,1,11652,1793, + 11664,1,127,11,10,1,11660,2049,2092,22,1793,11673,3,10,1,11671,1793,11680,2049,3338, + 10,1,11677,2049,67,10,11639,11694,147,99,121,99,108,101,0,2049,8894,2049,2055,4, + 8,2049,2675,25,3,2049,11649,1,11694,7,10,11626,11725,147,112,97,114,115,101,45, + 117,110,116,105,108,0,1793,11737,2049,3633,2049,3430,2049,11694,771,2049,3304,10,1,11727, + 2049,3454,10,11710,11751,147,115,58,103,101,116,0,1793,11773,1793,11759,1,10,11,10, + 1,11755,1793,11767,1,13,11,10,1,11763,2049,2092,22,10,1,11753,2049,11725,10,0 }; diff --git a/literate/RetroForth.md b/literate/RetroForth.md index aed7834..da4d91a 100644 --- a/literate/RetroForth.md +++ b/literate/RetroForth.md @@ -1262,6 +1262,11 @@ we wrap this as `set:length`: :set:length (a-n) fetch ; ~~~ +~~~ +:set:counted-results (q-a) + call here [ dup , &, times ] dip ; +~~~ + The first couple of words are used to create sets. The first, `set:from-results` executes a quote and constructs a set from the returned values. diff --git a/ngaImage b/ngaImage index 419636824e2322ee34ee0ccade373dd7b2206507..03bad46923caf08be13579e3f084c2280b4890df 100644 GIT binary patch delta 3025 zcmai03v5$m6ux(Iw^deUl&*tr>)J9=7KE{kNjgI2!ecCiOhOO{kts`nv9VV>O4+(C zd$1VMaG3ZAlJQ8GXviExm_kHUd@MnUL;;OXgCUtyQ8pzc;CI^d<8|?IliPF7cfSAp z=l|}1|J!4`W4`Q+vFdS}b_dr%kEZqYSZ8J#K6op8^RtfT>AR?>+(9YT@f6>fV3cZ_ zww~-2)0W1=)A5su!CYXUQ`2Gu+sqbs#DX(``(DBJfXCw!1q&fQLD$PyCZ2`|@GkRh zT2(Pk|ALw-Z1XP2D6Xg~ofphp{bRvY^@E6irq3#tuf4??^f?NvDvSub?f$>8-vqll zCEDi+;eQ1im!fHH=%5(4x)@KUu4)G@-u$4O89d7zwiBWwc(p#z8J|UiTWr=$&SFkx z$5U6O?LO5ntL90eS89{&DNMr9(ecsd;t?;5Otii-MSq-{Djk$pHF+v1$w;X+EsEU)nMojED?xh;OS?@~I$Z^u|cEQZL2N}coX4recQ!_UTx4?vz3npsP z(Hcv}^T4yJWD65W~QzM^Du7Kd?9XiG2V|g@I)db=IXywVvQ~5-)jE!A2mOv;Tk73 z`s3-j1qo9oq(;@}+GceVQmLUTX|4t0y02BFh78IiS`D3mMidhV_c=dfKC67Mgm^TkYFR^ zuCwXCQcj&W?UrCh8u+Nl$C+ANOd191JZa-Og;I8*nD_t0G&&B7Qz#iiF)QRrqtQB# zB~vIlN`t_jq!D0cg89iEwCUB9 z6ZBd_g0)f!ux9cDds?tg>H@Zl`hdMG*dZDOwx33T9TBXL+}mvW8kCr(jp)Zb{Dy4A%~#~}3)@3y8YWRkgH7+h>zx&Eyuot~Aad9{rB8MI^dY`R!wpX3 zdw9Q)H9XT8f_I1V!`ZQaz_X^)wy?(RV`OlQVUbIg;A|%cDAAyJ@(|VH|+h+iPid#Tc)`_0fzL zm%AGt>TA8Q>eSpVr)IWW(~79P#ie)CGcAtPv0Qv(B2yHAw~o%VxJn|7cuhMX6*^FL z6S6EGpIdzKr)O*>{ycKCrQimHzl6!S{>G>LR)@O^j22-PMM+~=!B(dc2IBy|*t*5ig|LU^&@ z#YoLK#O9j(SGk-{?Iqkwhhfd%jCvVUfa=^0SKEy>Ez8;`8MT&j#LVC| Ryd*ibh8D!H(e;jkKLHRd;WYpN delta 3168 zcmaKu32YQ)6vuZKrkq>YmUh{0r?cHvdst}})LJQlwn(j@LQ%|e1x#v!ltN1n3bnhf z(3VPs`e;lW!J`pFyeKs$7!0I|C&hyVViUk15<)`6VghNT=>P4$ZXA4skt&y`#P3o&&J1sr9T6L^bc}`lD{7Co-Ix@Ge}%!I;Z3vLxd_iq zM21-7xRh+VP?eaKAq8CnuacyTO(jl%UW8bDyS#zb&~$s;SdLK&*;;am#ZxVBDd(ZZ zReB~If&i>_zaS39mbJ{M^lF!VLn^JVNp@K4dWlw5=jso`B}ARoi4mzYQrGe7oM1>o zokj<^wzr{kolqm~<@scmaa&kct9?`aI1`t~w?fT_F?UQdc&Tx7<|>}yo1(J(06o$T z*w$FQ@0IDR|H4ahJ#5IYe?$8+;-Rz;`wd3jA z$K7Qv;5v_AJ*Mx2)LwB-_Ityfv@Igx;t=6MGKt`=!GpVrFl@u?YD)!&VRX|#e zi?-K#^#Ep{iD<`by$_W^lXj!iJUbCq_6%a&NK5Mc z`pb|SsG-iER1S$5lIS(i+o`Y4bhbe1#KniO6jy-O#wY5p!O}w`b*8=-QZE_xroIo- zAu6n&Z5)QgT{y}keE6qoK0@8~eq%t0K_Qq@#CJ4Q?@v1=#91NuOetc>pp-4XwBH1| zDu{KbUomJokn4in62#iQ5rcZR_zZhmwAjf!B8hHEG=YY;_>BZ1QiX`K5N>ie_zj;B zIYMCVv0}3*2x6uX1wx?LF(RM3K@@A^2ga>NrS2 z5Ql|0Dg>SqF#=lz#DEZkLhx}?F|b9pVT%ZHR)_=(F_cCrjo2cBTookIf?P?X@uc! zqcLY;i*W2Ri9HG~lbp>ZdJ2fSw5quzDJX0vM)k@pqa)3E+5#GG_GpFVXmRPBtdg=? z@&Y#@am?Ein|1Y#NFIwCl|f6X@sdW_lPB@172f>fNwc z-VGDeZ8je{cbHn30y|vB-K;tuDd6&`e1{o|5GbryBCJ8wLd^30;O8{|_}v=eAgiqE zC>DTyTKK0T^u2jrJioz|-;?lJk#3_gtn!A&l0CBkM>I{SttX2c274j&VPYwr1#EkPc8*o9WmubMIj6qvtJ_4`KO|n%n#_ z=5tt1P+yxr`zJ`e2IZ|G`bn{=kI(_==hNwSTXy^jh+M#FjDMulqwU%GH-&y5W{$)N zk9~q_u>UDG58k!xei6D(-R&jLalSh%z6Gn7hT9k3?}e3LBWf$17k?F#zuf23+MVl5 z7eo55tP6P#?OcY@`to~De2S5QtKn$tDXHVxK%LB}wakakgodk1=F}QiK!26GI*R`V DCXTob diff --git a/words.tsv b/words.tsv index d80b993..b2db083 100644 --- a/words.tsv +++ b/words.tsv @@ -338,6 +338,7 @@ s:trim-left s-s - - Trim leading whitespace from a string. class:word '__h s:trim-right s-s - - Trim trailing whitespace from a string. class:word '__hello__ s:trim-right {n/a} s all set:contains-string? sa-f - - Return `TRUE` if the string value is in the set or`FALSE` otherwise. class:word {n/a} {n/a} set all set:contains? na-f - - Return `TRUE` if the value is in the set or `FALSE` otherwise. class:word {n/a} {n/a} set all +set:counted-results q-a - - {n/a} class:word {n/a} {n/a} {n/a} {n/a} {n/a} set:dup a-b - - Make a copy of a set. Return the address of the copy. class:word {n/a} {n/a} set all set:filter aq-b - - For each item in the initial set, run the specified quote. If the quote returns `TRUE`, copy the item into a new set. If `FALSE`, discard it. Returns a pointer to the new set. class:word {n/a} {n/a} set all set:for-each aq- - - Execute the quote once for each item in the set. class:word {n/a} {n/a} set all