From 7b925e12703652fef63a2fbbb28d3407b2971d6e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 4 Jul 2019 13:10:41 +0200 Subject: [PATCH] Sync our Snowball stemmer dictionaries with current upstream The main change is a new stemmer for Greek. There are minor changes in the Danish and French stemmers. Author: Panagiotis Mavrogiorgos --- doc/src/sgml/textsearch.sgml | 1 + src/backend/snowball/Makefile | 2 + src/backend/snowball/README | 6 +- src/backend/snowball/dict_snowball.c | 2 + .../libstemmer/stem_ISO_8859_1_danish.c | 122 +- .../libstemmer/stem_ISO_8859_1_french.c | 598 +-- .../snowball/libstemmer/stem_UTF_8_danish.c | 122 +- .../snowball/libstemmer/stem_UTF_8_french.c | 608 +-- .../snowball/libstemmer/stem_UTF_8_greek.c | 4199 +++++++++++++++++ src/backend/snowball/libstemmer/utilities.c | 58 +- src/bin/initdb/initdb.c | 2 + src/include/catalog/catversion.h | 2 +- src/include/snowball/libstemmer/api.h | 7 + .../snowball/libstemmer/stem_UTF_8_greek.h | 16 + 14 files changed, 5052 insertions(+), 693 deletions(-) create mode 100644 src/backend/snowball/libstemmer/stem_UTF_8_greek.c create mode 100644 src/include/snowball/libstemmer/stem_UTF_8_greek.h diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml index 40888a4d20..196558b440 100644 --- a/doc/src/sgml/textsearch.sgml +++ b/doc/src/sgml/textsearch.sgml @@ -3810,6 +3810,7 @@ Parser: "pg_catalog.default" pg_catalog | finnish_stem | snowball stemmer for finnish language pg_catalog | french_stem | snowball stemmer for french language pg_catalog | german_stem | snowball stemmer for german language + pg_catalog | greek_stem | snowball stemmer for greek language pg_catalog | hungarian_stem | snowball stemmer for hungarian language pg_catalog | indonesian_stem | snowball stemmer for indonesian language pg_catalog | irish_stem | snowball stemmer for irish language diff --git a/src/backend/snowball/Makefile b/src/backend/snowball/Makefile index f792b6a9e5..bf55b19234 100644 --- a/src/backend/snowball/Makefile +++ b/src/backend/snowball/Makefile @@ -41,6 +41,7 @@ OBJS= $(WIN32RES) dict_snowball.o api.o utilities.o \ stem_UTF_8_finnish.o \ stem_UTF_8_french.o \ stem_UTF_8_german.o \ + stem_UTF_8_greek.o \ stem_UTF_8_hungarian.o \ stem_UTF_8_indonesian.o \ stem_UTF_8_irish.o \ @@ -69,6 +70,7 @@ LANGUAGES= \ finnish finnish \ french french \ german german \ + greek greek \ hungarian hungarian \ indonesian indonesian \ irish irish \ diff --git a/src/backend/snowball/README b/src/backend/snowball/README index bada9d96ca..3463289f1c 100644 --- a/src/backend/snowball/README +++ b/src/backend/snowball/README @@ -29,8 +29,8 @@ We choose to include the derived files in the PostgreSQL distribution because most installations will not have the Snowball compiler available. We are currently synced with the Snowball git commit -1964ce688cbeca505263c8f77e16ed923296ce7a -of 2018-06-29. +4456b82c26c02493e8807a66f30593a98c5d2888 +of 2019-06-24. To update the PostgreSQL sources from a new Snowball version: @@ -57,7 +57,7 @@ do not require any changes. 4. Check whether any stemmer modules have been added or removed. If so, edit the OBJS list in Makefile, the list of #include's in dict_snowball.c, and the stemmer_modules[] table in dict_snowball.c. You might also need to change -the LANGUAGES list in Makefile. +the LANGUAGES list in Makefile and tsearch_config_languages in initdb.c. 5. The various stopword files in stopwords/ must be downloaded individually from pages on the snowballstem.org website. diff --git a/src/backend/snowball/dict_snowball.c b/src/backend/snowball/dict_snowball.c index 5166738310..1d32b7d356 100644 --- a/src/backend/snowball/dict_snowball.c +++ b/src/backend/snowball/dict_snowball.c @@ -50,6 +50,7 @@ #include "snowball/libstemmer/stem_UTF_8_finnish.h" #include "snowball/libstemmer/stem_UTF_8_french.h" #include "snowball/libstemmer/stem_UTF_8_german.h" +#include "snowball/libstemmer/stem_UTF_8_greek.h" #include "snowball/libstemmer/stem_UTF_8_hungarian.h" #include "snowball/libstemmer/stem_UTF_8_indonesian.h" #include "snowball/libstemmer/stem_UTF_8_irish.h" @@ -115,6 +116,7 @@ static const stemmer_module stemmer_modules[] = STEMMER_MODULE(finnish, PG_UTF8, UTF_8), STEMMER_MODULE(french, PG_UTF8, UTF_8), STEMMER_MODULE(german, PG_UTF8, UTF_8), + STEMMER_MODULE(greek, PG_UTF8, UTF_8), STEMMER_MODULE(hungarian, PG_UTF8, UTF_8), STEMMER_MODULE(indonesian, PG_UTF8, UTF_8), STEMMER_MODULE(irish, PG_UTF8, UTF_8), diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c index 263c226e34..0ecbbb76a8 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c @@ -124,6 +124,8 @@ static const struct among a_2[5] = /* 4 */ { 4, s_2_4, -1, 2, 0} }; +static const unsigned char g_c[] = { 119, 223, 119, 1 }; + static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; static const unsigned char g_s_ending[] = { 239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 }; @@ -133,25 +135,25 @@ static const symbol s_1[] = { 'i', 'g' }; static const symbol s_2[] = { 'l', 0xF8, 's' }; static int r_mark_regions(struct SN_env * z) { /* forwardmode */ - z->I[0] = z->l; /* $p1 = , line 31 */ - { int c_test1 = z->c; /* test, line 33 */ - { int ret = z->c + 3; /* hop, line 33 */ + z->I[0] = z->l; /* $p1 = , line 33 */ + { int c_test1 = z->c; /* test, line 35 */ + { int ret = z->c + 3; /* hop, line 35 */ if (0 > ret || ret > z->l) return 0; z->c = ret; } - z->I[1] = z->c; /* setmark x, line 33 */ + z->I[1] = z->c; /* setmark x, line 35 */ z->c = c_test1; } - if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 34 */ - { /* gopast */ /* non v, line 34 */ + if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 36 */ + { /* gopast */ /* non v, line 36 */ int ret = in_grouping(z, g_v, 97, 248, 1); if (ret < 0) return 0; z->c += ret; } - z->I[0] = z->c; /* setmark p1, line 34 */ - /* try, line 35 */ - if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 35 */ - z->I[0] = z->I[1]; /* $p1 = , line 35 */ + z->I[0] = z->c; /* setmark p1, line 36 */ + /* try, line 37 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 37 */ + z->I[0] = z->I[1]; /* $p1 = , line 37 */ lab0: return 1; } @@ -159,25 +161,25 @@ lab0: static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit1; /* setlimit, line 41 */ + { int mlimit1; /* setlimit, line 43 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 41 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 41 */ + z->ket = z->c; /* [, line 43 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 43 */ among_var = find_among_b(z, a_0, 32); if (!(among_var)) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 41 */ + z->bra = z->c; /* ], line 43 */ z->lb = mlimit1; } - switch (among_var) { /* among, line 42 */ + switch (among_var) { /* among, line 44 */ case 1: - { int ret = slice_del(z); /* delete, line 48 */ + { int ret = slice_del(z); /* delete, line 50 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 50 */ - { int ret = slice_del(z); /* delete, line 50 */ + if (in_grouping_b(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 52 */ + { int ret = slice_del(z); /* delete, line 52 */ if (ret < 0) return ret; } break; @@ -186,23 +188,23 @@ static int r_main_suffix(struct SN_env * z) { /* backwardmode */ } static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ - { int m_test1 = z->l - z->c; /* test, line 55 */ + { int m_test1 = z->l - z->c; /* test, line 57 */ - { int mlimit2; /* setlimit, line 56 */ + { int mlimit2; /* setlimit, line 58 */ if (z->c < z->I[0]) return 0; mlimit2 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 56 */ + z->ket = z->c; /* [, line 58 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 58 */ if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit2; return 0; } - z->bra = z->c; /* ], line 56 */ + z->bra = z->c; /* ], line 58 */ z->lb = mlimit2; } z->c = z->l - m_test1; } if (z->c <= z->lb) return 0; - z->c--; /* next, line 62 */ - z->bra = z->c; /* ], line 62 */ - { int ret = slice_del(z); /* delete, line 62 */ + z->c--; /* next, line 64 */ + z->bra = z->c; /* ], line 64 */ + { int ret = slice_del(z); /* delete, line 64 */ if (ret < 0) return ret; } return 1; @@ -210,35 +212,35 @@ static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* do, line 66 */ - z->ket = z->c; /* [, line 66 */ - if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 66 */ - z->bra = z->c; /* ], line 66 */ - if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 66 */ - { int ret = slice_del(z); /* delete, line 66 */ + { int m1 = z->l - z->c; (void)m1; /* do, line 68 */ + z->ket = z->c; /* [, line 68 */ + if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 68 */ + z->bra = z->c; /* ], line 68 */ + if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 68 */ + { int ret = slice_del(z); /* delete, line 68 */ if (ret < 0) return ret; } lab0: z->c = z->l - m1; } - { int mlimit2; /* setlimit, line 67 */ + { int mlimit2; /* setlimit, line 69 */ if (z->c < z->I[0]) return 0; mlimit2 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 67 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 67 */ + z->ket = z->c; /* [, line 69 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 69 */ among_var = find_among_b(z, a_2, 5); if (!(among_var)) { z->lb = mlimit2; return 0; } - z->bra = z->c; /* ], line 67 */ + z->bra = z->c; /* ], line 69 */ z->lb = mlimit2; } - switch (among_var) { /* among, line 68 */ + switch (among_var) { /* among, line 70 */ case 1: - { int ret = slice_del(z); /* delete, line 70 */ + { int ret = slice_del(z); /* delete, line 72 */ if (ret < 0) return ret; } - { int m3 = z->l - z->c; (void)m3; /* do, line 70 */ - { int ret = r_consonant_pair(z); /* call consonant_pair, line 70 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 72 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 72 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } @@ -247,7 +249,7 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ } break; case 2: - { int ret = slice_from_s(z, 3, s_2); /* <-, line 72 */ + { int ret = slice_from_s(z, 3, s_2); /* <-, line 74 */ if (ret < 0) return ret; } break; @@ -257,60 +259,60 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ static int r_undouble(struct SN_env * z) { /* backwardmode */ - { int mlimit1; /* setlimit, line 76 */ + { int mlimit1; /* setlimit, line 78 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 76 */ - if (out_grouping_b(z, g_v, 97, 248, 0)) { z->lb = mlimit1; return 0; } /* non v, line 76 */ - z->bra = z->c; /* ], line 76 */ - z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 76 */ - if (z->S[0] == 0) return -1; /* -> ch, line 76 */ + z->ket = z->c; /* [, line 78 */ + if (in_grouping_b(z, g_c, 98, 122, 0)) { z->lb = mlimit1; return 0; } /* grouping c, line 78 */ + z->bra = z->c; /* ], line 78 */ + z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 78 */ + if (z->S[0] == 0) return -1; /* -> ch, line 78 */ z->lb = mlimit1; } - if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 77 */ - { int ret = slice_del(z); /* delete, line 78 */ + if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 79 */ + { int ret = slice_del(z); /* delete, line 80 */ if (ret < 0) return ret; } return 1; } extern int danish_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ - { int c1 = z->c; /* do, line 84 */ - { int ret = r_mark_regions(z); /* call mark_regions, line 84 */ + { int c1 = z->c; /* do, line 86 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 86 */ if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - z->lb = z->c; z->c = z->l; /* backwards, line 85 */ + z->lb = z->c; z->c = z->l; /* backwards, line 87 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 86 */ - { int ret = r_main_suffix(z); /* call main_suffix, line 86 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 88 */ + { int ret = r_main_suffix(z); /* call main_suffix, line 88 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: z->c = z->l - m2; } - { int m3 = z->l - z->c; (void)m3; /* do, line 87 */ - { int ret = r_consonant_pair(z); /* call consonant_pair, line 87 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 89 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 89 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } lab2: z->c = z->l - m3; } - { int m4 = z->l - z->c; (void)m4; /* do, line 88 */ - { int ret = r_other_suffix(z); /* call other_suffix, line 88 */ + { int m4 = z->l - z->c; (void)m4; /* do, line 90 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 90 */ if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: z->c = z->l - m4; } - { int m5 = z->l - z->c; (void)m5; /* do, line 89 */ - { int ret = r_undouble(z); /* call undouble, line 89 */ + { int m5 = z->l - z->c; (void)m5; /* do, line 91 */ + { int ret = r_undouble(z); /* call undouble, line 91 */ if (ret == 0) goto lab4; if (ret < 0) return ret; } diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c index 1a1732b216..4e9f76cd9a 100644 --- a/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c +++ b/src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c @@ -45,16 +45,22 @@ static const struct among a_0[3] = /* 2 */ { 3, s_0_2, -1, -1, 0} }; -static const symbol s_1_1[1] = { 'I' }; -static const symbol s_1_2[1] = { 'U' }; -static const symbol s_1_3[1] = { 'Y' }; +static const symbol s_1_1[1] = { 'H' }; +static const symbol s_1_2[2] = { 'H', 'e' }; +static const symbol s_1_3[2] = { 'H', 'i' }; +static const symbol s_1_4[1] = { 'I' }; +static const symbol s_1_5[1] = { 'U' }; +static const symbol s_1_6[1] = { 'Y' }; -static const struct among a_1[4] = +static const struct among a_1[7] = { -/* 0 */ { 0, 0, -1, 4, 0}, -/* 1 */ { 1, s_1_1, 0, 1, 0}, -/* 2 */ { 1, s_1_2, 0, 2, 0}, -/* 3 */ { 1, s_1_3, 0, 3, 0} +/* 0 */ { 0, 0, -1, 7, 0}, +/* 1 */ { 1, s_1_1, 0, 6, 0}, +/* 2 */ { 2, s_1_2, 1, 4, 0}, +/* 3 */ { 2, s_1_3, 1, 5, 0}, +/* 4 */ { 1, s_1_4, 0, 1, 0}, +/* 5 */ { 1, s_1_5, 0, 2, 0}, +/* 6 */ { 1, s_1_6, 0, 3, 0} }; static const symbol s_2_0[3] = { 'i', 'q', 'U' }; @@ -338,17 +344,15 @@ static const symbol s_7_2[4] = { 'i', 0xE8, 'r', 'e' }; static const symbol s_7_3[3] = { 'i', 'o', 'n' }; static const symbol s_7_4[3] = { 'I', 'e', 'r' }; static const symbol s_7_5[3] = { 'i', 'e', 'r' }; -static const symbol s_7_6[1] = { 0xEB }; -static const struct among a_7[7] = +static const struct among a_7[6] = { /* 0 */ { 1, s_7_0, -1, 3, 0}, /* 1 */ { 4, s_7_1, 0, 2, 0}, /* 2 */ { 4, s_7_2, 0, 2, 0}, /* 3 */ { 3, s_7_3, -1, 1, 0}, /* 4 */ { 3, s_7_4, -1, 2, 0}, -/* 5 */ { 3, s_7_5, -1, 2, 0}, -/* 6 */ { 1, s_7_6, -1, 4, 0} +/* 5 */ { 3, s_7_5, -1, 2, 0} }; static const symbol s_8_0[3] = { 'e', 'l', 'l' }; @@ -373,34 +377,38 @@ static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0 static const symbol s_0[] = { 'U' }; static const symbol s_1[] = { 'I' }; static const symbol s_2[] = { 'Y' }; -static const symbol s_3[] = { 'Y' }; -static const symbol s_4[] = { 'U' }; -static const symbol s_5[] = { 'i' }; -static const symbol s_6[] = { 'u' }; -static const symbol s_7[] = { 'y' }; -static const symbol s_8[] = { 'i', 'c' }; -static const symbol s_9[] = { 'i', 'q', 'U' }; -static const symbol s_10[] = { 'l', 'o', 'g' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'e', 'n', 't' }; -static const symbol s_13[] = { 'a', 't' }; -static const symbol s_14[] = { 'e', 'u', 'x' }; -static const symbol s_15[] = { 'i' }; -static const symbol s_16[] = { 'a', 'b', 'l' }; -static const symbol s_17[] = { 'i', 'q', 'U' }; -static const symbol s_18[] = { 'a', 't' }; -static const symbol s_19[] = { 'i', 'c' }; -static const symbol s_20[] = { 'i', 'q', 'U' }; -static const symbol s_21[] = { 'e', 'a', 'u' }; -static const symbol s_22[] = { 'a', 'l' }; -static const symbol s_23[] = { 'e', 'u', 'x' }; -static const symbol s_24[] = { 'a', 'n', 't' }; -static const symbol s_25[] = { 'e', 'n', 't' }; -static const symbol s_26[] = { 'i' }; -static const symbol s_27[] = { 'g', 'u' }; -static const symbol s_28[] = { 'e' }; -static const symbol s_29[] = { 'i' }; -static const symbol s_30[] = { 'c' }; +static const symbol s_3[] = { 'H', 'e' }; +static const symbol s_4[] = { 'H', 'i' }; +static const symbol s_5[] = { 'Y' }; +static const symbol s_6[] = { 'U' }; +static const symbol s_7[] = { 'i' }; +static const symbol s_8[] = { 'u' }; +static const symbol s_9[] = { 'y' }; +static const symbol s_10[] = { 0xEB }; +static const symbol s_11[] = { 0xEF }; +static const symbol s_12[] = { 'i', 'c' }; +static const symbol s_13[] = { 'i', 'q', 'U' }; +static const symbol s_14[] = { 'l', 'o', 'g' }; +static const symbol s_15[] = { 'u' }; +static const symbol s_16[] = { 'e', 'n', 't' }; +static const symbol s_17[] = { 'a', 't' }; +static const symbol s_18[] = { 'e', 'u', 'x' }; +static const symbol s_19[] = { 'i' }; +static const symbol s_20[] = { 'a', 'b', 'l' }; +static const symbol s_21[] = { 'i', 'q', 'U' }; +static const symbol s_22[] = { 'a', 't' }; +static const symbol s_23[] = { 'i', 'c' }; +static const symbol s_24[] = { 'i', 'q', 'U' }; +static const symbol s_25[] = { 'e', 'a', 'u' }; +static const symbol s_26[] = { 'a', 'l' }; +static const symbol s_27[] = { 'e', 'u', 'x' }; +static const symbol s_28[] = { 'a', 'n', 't' }; +static const symbol s_29[] = { 'e', 'n', 't' }; +static const symbol s_30[] = { 'H', 'i' }; +static const symbol s_31[] = { 'i' }; +static const symbol s_32[] = { 'e' }; +static const symbol s_33[] = { 'i' }; +static const symbol s_34[] = { 'c' }; static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 38 */ @@ -443,23 +451,43 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */ lab3: z->c = c3; z->bra = z->c; /* [, line 45 */ - if (z->c == z->l || z->p[z->c] != 'y') goto lab7; /* literal, line 45 */ + if (z->c == z->l || z->p[z->c] != 0xEB) goto lab7; /* literal, line 45 */ z->c++; z->ket = z->c; /* ], line 45 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab7; /* grouping v, line 45 */ - { int ret = slice_from_s(z, 1, s_3); /* <-, line 45 */ + { int ret = slice_from_s(z, 2, s_3); /* <-, line 45 */ if (ret < 0) return ret; } goto lab2; lab7: z->c = c3; - if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 47 */ - z->c++; z->bra = z->c; /* [, line 47 */ - if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 47 */ + if (z->c == z->l || z->p[z->c] != 0xEF) goto lab8; /* literal, line 47 */ z->c++; z->ket = z->c; /* ], line 47 */ - { int ret = slice_from_s(z, 1, s_4); /* <-, line 47 */ + { int ret = slice_from_s(z, 2, s_4); /* <-, line 47 */ + if (ret < 0) return ret; + } + goto lab2; + lab8: + z->c = c3; + z->bra = z->c; /* [, line 49 */ + if (z->c == z->l || z->p[z->c] != 'y') goto lab9; /* literal, line 49 */ + z->c++; + z->ket = z->c; /* ], line 49 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab9; /* grouping v, line 49 */ + { int ret = slice_from_s(z, 1, s_5); /* <-, line 49 */ + if (ret < 0) return ret; + } + goto lab2; + lab9: + z->c = c3; + if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 51 */ + z->c++; + z->bra = z->c; /* [, line 51 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 51 */ + z->c++; + z->ket = z->c; /* ], line 51 */ + { int ret = slice_from_s(z, 1, s_6); /* <-, line 51 */ if (ret < 0) return ret; } } @@ -480,59 +508,59 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */ } static int r_mark_regions(struct SN_env * z) { /* forwardmode */ - z->I[0] = z->l; /* $pV = , line 52 */ - z->I[1] = z->l; /* $p1 = , line 53 */ - z->I[2] = z->l; /* $p2 = , line 54 */ - { int c1 = z->c; /* do, line 56 */ - { int c2 = z->c; /* or, line 58 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ - if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ + z->I[0] = z->l; /* $pV = , line 56 */ + z->I[1] = z->l; /* $p1 = , line 57 */ + z->I[2] = z->l; /* $p2 = , line 58 */ + { int c1 = z->c; /* do, line 60 */ + { int c2 = z->c; /* or, line 62 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 61 */ + if (in_grouping(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 61 */ if (z->c >= z->l) goto lab2; - z->c++; /* next, line 57 */ + z->c++; /* next, line 61 */ goto lab1; lab2: z->c = c2; - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 59 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 63 */ if (!(find_among(z, a_0, 3))) goto lab3; goto lab1; lab3: z->c = c2; if (z->c >= z->l) goto lab0; - z->c++; /* next, line 66 */ - { /* gopast */ /* grouping v, line 66 */ + z->c++; /* next, line 70 */ + { /* gopast */ /* grouping v, line 70 */ int ret = out_grouping(z, g_v, 97, 251, 1); if (ret < 0) goto lab0; z->c += ret; } } lab1: - z->I[0] = z->c; /* setmark pV, line 67 */ + z->I[0] = z->c; /* setmark pV, line 71 */ lab0: z->c = c1; } - { int c3 = z->c; /* do, line 69 */ - { /* gopast */ /* grouping v, line 70 */ + { int c3 = z->c; /* do, line 73 */ + { /* gopast */ /* grouping v, line 74 */ int ret = out_grouping(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - { /* gopast */ /* non v, line 70 */ + { /* gopast */ /* non v, line 74 */ int ret = in_grouping(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - z->I[1] = z->c; /* setmark p1, line 70 */ - { /* gopast */ /* grouping v, line 71 */ + z->I[1] = z->c; /* setmark p1, line 74 */ + { /* gopast */ /* grouping v, line 75 */ int ret = out_grouping(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - { /* gopast */ /* non v, line 71 */ + { /* gopast */ /* non v, line 75 */ int ret = in_grouping(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - z->I[2] = z->c; /* setmark p2, line 71 */ + z->I[2] = z->c; /* setmark p2, line 75 */ lab4: z->c = c3; } @@ -541,32 +569,47 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */ static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; - while(1) { /* repeat, line 75 */ + while(1) { /* repeat, line 79 */ int c1 = z->c; - z->bra = z->c; /* [, line 77 */ - if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else /* substring, line 77 */ - among_var = find_among(z, a_1, 4); + z->bra = z->c; /* [, line 81 */ + if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else /* substring, line 81 */ + among_var = find_among(z, a_1, 7); if (!(among_var)) goto lab0; - z->ket = z->c; /* ], line 77 */ - switch (among_var) { /* among, line 77 */ + z->ket = z->c; /* ], line 81 */ + switch (among_var) { /* among, line 81 */ case 1: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 82 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 83 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 80 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 84 */ if (ret < 0) return ret; } break; case 4: + { int ret = slice_from_s(z, 1, s_10); /* <-, line 85 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 1, s_11); /* <-, line 86 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_del(z); /* delete, line 87 */ + if (ret < 0) return ret; + } + break; + case 7: if (z->c >= z->l) goto lab0; - z->c++; /* next, line 81 */ + z->c++; /* next, line 88 */ break; } continue; @@ -578,58 +621,58 @@ static int r_postlude(struct SN_env * z) { /* forwardmode */ } static int r_RV(struct SN_env * z) { /* backwardmode */ - if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 94 */ return 1; } static int r_R1(struct SN_env * z) { /* backwardmode */ - if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 95 */ return 1; } static int r_R2(struct SN_env * z) { /* backwardmode */ - if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 89 */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 96 */ return 1; } static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 92 */ - among_var = find_among_b(z, a_4, 43); /* substring, line 92 */ + z->ket = z->c; /* [, line 99 */ + among_var = find_among_b(z, a_4, 43); /* substring, line 99 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 92 */ - switch (among_var) { /* among, line 92 */ + z->bra = z->c; /* ], line 99 */ + switch (among_var) { /* among, line 99 */ case 1: - { int ret = r_R2(z); /* call R2, line 96 */ + { int ret = r_R2(z); /* call R2, line 103 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 96 */ + { int ret = slice_del(z); /* delete, line 103 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); /* call R2, line 99 */ + { int ret = r_R2(z); /* call R2, line 106 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 99 */ + { int ret = slice_del(z); /* delete, line 106 */ if (ret < 0) return ret; } - { int m1 = z->l - z->c; (void)m1; /* try, line 100 */ - z->ket = z->c; /* [, line 100 */ - if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m1; goto lab0; } /* literal, line 100 */ - z->bra = z->c; /* ], line 100 */ - { int m2 = z->l - z->c; (void)m2; /* or, line 100 */ - { int ret = r_R2(z); /* call R2, line 100 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 107 */ + z->ket = z->c; /* [, line 107 */ + if (!(eq_s_b(z, 2, s_12))) { z->c = z->l - m1; goto lab0; } /* literal, line 107 */ + z->bra = z->c; /* ], line 107 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 107 */ + { int ret = r_R2(z); /* call R2, line 107 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 100 */ + { int ret = slice_del(z); /* delete, line 107 */ if (ret < 0) return ret; } goto lab1; lab2: z->c = z->l - m2; - { int ret = slice_from_s(z, 3, s_9); /* <-, line 100 */ + { int ret = slice_from_s(z, 3, s_13); /* <-, line 107 */ if (ret < 0) return ret; } } @@ -639,98 +682,98 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 3: - { int ret = r_R2(z); /* call R2, line 104 */ + { int ret = r_R2(z); /* call R2, line 111 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_10); /* <-, line 104 */ + { int ret = slice_from_s(z, 3, s_14); /* <-, line 111 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); /* call R2, line 107 */ + { int ret = r_R2(z); /* call R2, line 114 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_11); /* <-, line 107 */ + { int ret = slice_from_s(z, 1, s_15); /* <-, line 114 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); /* call R2, line 110 */ + { int ret = r_R2(z); /* call R2, line 117 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_12); /* <-, line 110 */ + { int ret = slice_from_s(z, 3, s_16); /* <-, line 117 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); /* call RV, line 114 */ + { int ret = r_RV(z); /* call RV, line 121 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 114 */ + { int ret = slice_del(z); /* delete, line 121 */ if (ret < 0) return ret; } - { int m3 = z->l - z->c; (void)m3; /* try, line 115 */ - z->ket = z->c; /* [, line 116 */ - among_var = find_among_b(z, a_2, 6); /* substring, line 116 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 122 */ + z->ket = z->c; /* [, line 123 */ + among_var = find_among_b(z, a_2, 6); /* substring, line 123 */ if (!(among_var)) { z->c = z->l - m3; goto lab3; } - z->bra = z->c; /* ], line 116 */ - switch (among_var) { /* among, line 116 */ + z->bra = z->c; /* ], line 123 */ + switch (among_var) { /* among, line 123 */ case 1: - { int ret = r_R2(z); /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 124 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 117 */ + { int ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 117 */ - if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m3; goto lab3; } /* literal, line 117 */ - z->bra = z->c; /* ], line 117 */ - { int ret = r_R2(z); /* call R2, line 117 */ + z->ket = z->c; /* [, line 124 */ + if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m3; goto lab3; } /* literal, line 124 */ + z->bra = z->c; /* ], line 124 */ + { int ret = r_R2(z); /* call R2, line 124 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 117 */ + { int ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } break; case 2: - { int m4 = z->l - z->c; (void)m4; /* or, line 118 */ - { int ret = r_R2(z); /* call R2, line 118 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 125 */ + { int ret = r_R2(z); /* call R2, line 125 */ if (ret == 0) goto lab5; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 118 */ + { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } goto lab4; lab5: z->c = z->l - m4; - { int ret = r_R1(z); /* call R1, line 118 */ + { int ret = r_R1(z); /* call R1, line 125 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 3, s_14); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 125 */ if (ret < 0) return ret; } } lab4: break; case 3: - { int ret = r_R2(z); /* call R2, line 120 */ + { int ret = r_R2(z); /* call R2, line 127 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 120 */ + { int ret = slice_del(z); /* delete, line 127 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_RV(z); /* call RV, line 122 */ + { int ret = r_RV(z); /* call RV, line 129 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 1, s_15); /* <-, line 122 */ + { int ret = slice_from_s(z, 1, s_19); /* <-, line 129 */ if (ret < 0) return ret; } break; @@ -740,61 +783,61 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 7: - { int ret = r_R2(z); /* call R2, line 129 */ + { int ret = r_R2(z); /* call R2, line 136 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 129 */ + { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; } - { int m5 = z->l - z->c; (void)m5; /* try, line 130 */ - z->ket = z->c; /* [, line 131 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 131 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 137 */ + z->ket = z->c; /* [, line 138 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 138 */ among_var = find_among_b(z, a_3, 3); if (!(among_var)) { z->c = z->l - m5; goto lab6; } - z->bra = z->c; /* ], line 131 */ - switch (among_var) { /* among, line 131 */ + z->bra = z->c; /* ], line 138 */ + switch (among_var) { /* among, line 138 */ case 1: - { int m6 = z->l - z->c; (void)m6; /* or, line 132 */ - { int ret = r_R2(z); /* call R2, line 132 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 139 */ + { int ret = r_R2(z); /* call R2, line 139 */ if (ret == 0) goto lab8; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 132 */ + { int ret = slice_del(z); /* delete, line 139 */ if (ret < 0) return ret; } goto lab7; lab8: z->c = z->l - m6; - { int ret = slice_from_s(z, 3, s_16); /* <-, line 132 */ + { int ret = slice_from_s(z, 3, s_20); /* <-, line 139 */ if (ret < 0) return ret; } } lab7: break; case 2: - { int m7 = z->l - z->c; (void)m7; /* or, line 133 */ - { int ret = r_R2(z); /* call R2, line 133 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 140 */ + { int ret = r_R2(z); /* call R2, line 140 */ if (ret == 0) goto lab10; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 133 */ + { int ret = slice_del(z); /* delete, line 140 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - { int ret = slice_from_s(z, 3, s_17); /* <-, line 133 */ + { int ret = slice_from_s(z, 3, s_21); /* <-, line 140 */ if (ret < 0) return ret; } } lab9: break; case 3: - { int ret = r_R2(z); /* call R2, line 134 */ + { int ret = r_R2(z); /* call R2, line 141 */ if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 134 */ + { int ret = slice_del(z); /* delete, line 141 */ if (ret < 0) return ret; } break; @@ -804,38 +847,38 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 8: - { int ret = r_R2(z); /* call R2, line 141 */ + { int ret = r_R2(z); /* call R2, line 148 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 141 */ + { int ret = slice_del(z); /* delete, line 148 */ if (ret < 0) return ret; } - { int m8 = z->l - z->c; (void)m8; /* try, line 142 */ - z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ - z->bra = z->c; /* ], line 142 */ - { int ret = r_R2(z); /* call R2, line 142 */ + { int m8 = z->l - z->c; (void)m8; /* try, line 149 */ + z->ket = z->c; /* [, line 149 */ + if (!(eq_s_b(z, 2, s_22))) { z->c = z->l - m8; goto lab11; } /* literal, line 149 */ + z->bra = z->c; /* ], line 149 */ + { int ret = r_R2(z); /* call R2, line 149 */ if (ret == 0) { z->c = z->l - m8; goto lab11; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 142 */ + { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ - z->bra = z->c; /* ], line 142 */ - { int m9 = z->l - z->c; (void)m9; /* or, line 142 */ - { int ret = r_R2(z); /* call R2, line 142 */ + z->ket = z->c; /* [, line 149 */ + if (!(eq_s_b(z, 2, s_23))) { z->c = z->l - m8; goto lab11; } /* literal, line 149 */ + z->bra = z->c; /* ], line 149 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 149 */ + { int ret = r_R2(z); /* call R2, line 149 */ if (ret == 0) goto lab13; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 142 */ + { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } goto lab12; lab13: z->c = z->l - m9; - { int ret = slice_from_s(z, 3, s_20); /* <-, line 142 */ + { int ret = slice_from_s(z, 3, s_24); /* <-, line 149 */ if (ret < 0) return ret; } } @@ -845,78 +888,78 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 9: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 144 */ + { int ret = slice_from_s(z, 3, s_25); /* <-, line 151 */ if (ret < 0) return ret; } break; case 10: - { int ret = r_R1(z); /* call R1, line 145 */ + { int ret = r_R1(z); /* call R1, line 152 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_22); /* <-, line 145 */ + { int ret = slice_from_s(z, 2, s_26); /* <-, line 152 */ if (ret < 0) return ret; } break; case 11: - { int m10 = z->l - z->c; (void)m10; /* or, line 147 */ - { int ret = r_R2(z); /* call R2, line 147 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 154 */ + { int ret = r_R2(z); /* call R2, line 154 */ if (ret == 0) goto lab15; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 147 */ + { int ret = slice_del(z); /* delete, line 154 */ if (ret < 0) return ret; } goto lab14; lab15: z->c = z->l - m10; - { int ret = r_R1(z); /* call R1, line 147 */ + { int ret = r_R1(z); /* call R1, line 154 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_23); /* <-, line 147 */ + { int ret = slice_from_s(z, 3, s_27); /* <-, line 154 */ if (ret < 0) return ret; } } lab14: break; case 12: - { int ret = r_R1(z); /* call R1, line 150 */ + { int ret = r_R1(z); /* call R1, line 157 */ if (ret <= 0) return ret; } - if (out_grouping_b(z, g_v, 97, 251, 0)) return 0; /* non v, line 150 */ - { int ret = slice_del(z); /* delete, line 150 */ + if (out_grouping_b(z, g_v, 97, 251, 0)) return 0; /* non v, line 157 */ + { int ret = slice_del(z); /* delete, line 157 */ if (ret < 0) return ret; } break; case 13: - { int ret = r_RV(z); /* call RV, line 155 */ + { int ret = r_RV(z); /* call RV, line 162 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_24); /* <-, line 155 */ + { int ret = slice_from_s(z, 3, s_28); /* <-, line 162 */ if (ret < 0) return ret; } - return 0; /* fail, line 155 */ + return 0; /* fail, line 162 */ break; case 14: - { int ret = r_RV(z); /* call RV, line 156 */ + { int ret = r_RV(z); /* call RV, line 163 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_25); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_29); /* <-, line 163 */ if (ret < 0) return ret; } - return 0; /* fail, line 156 */ + return 0; /* fail, line 163 */ break; case 15: - { int m_test11 = z->l - z->c; /* test, line 158 */ - if (in_grouping_b(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 158 */ - { int ret = r_RV(z); /* call RV, line 158 */ + { int m_test11 = z->l - z->c; /* test, line 165 */ + if (in_grouping_b(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 165 */ + { int ret = r_RV(z); /* call RV, line 165 */ if (ret <= 0) return ret; } z->c = z->l - m_test11; } - { int ret = slice_del(z); /* delete, line 158 */ + { int ret = slice_del(z); /* delete, line 165 */ if (ret < 0) return ret; } - return 0; /* fail, line 158 */ + return 0; /* fail, line 165 */ break; } return 1; @@ -924,15 +967,22 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ - { int mlimit1; /* setlimit, line 163 */ + { int mlimit1; /* setlimit, line 170 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 164 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 164 */ + z->ket = z->c; /* [, line 171 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 171 */ if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 164 */ - if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 170 */ - { int ret = slice_del(z); /* delete, line 170 */ + z->bra = z->c; /* ], line 171 */ + { int m2 = z->l - z->c; (void)m2; /* not, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0; /* literal, line 177 */ + z->c--; + { z->lb = mlimit1; return 0; } + lab0: + z->c = z->l - m2; + } + if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 177 */ + { int ret = slice_del(z); /* delete, line 177 */ if (ret < 0) return ret; } z->lb = mlimit1; @@ -943,38 +993,38 @@ static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit1; /* setlimit, line 174 */ + { int mlimit1; /* setlimit, line 181 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 175 */ - among_var = find_among_b(z, a_6, 38); /* substring, line 175 */ + z->ket = z->c; /* [, line 182 */ + among_var = find_among_b(z, a_6, 38); /* substring, line 182 */ if (!(among_var)) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 175 */ - switch (among_var) { /* among, line 175 */ + z->bra = z->c; /* ], line 182 */ + switch (among_var) { /* among, line 182 */ case 1: - { int ret = r_R2(z); /* call R2, line 177 */ + { int ret = r_R2(z); /* call R2, line 184 */ if (ret == 0) { z->lb = mlimit1; return 0; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 177 */ + { int ret = slice_del(z); /* delete, line 184 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 185 */ + { int ret = slice_del(z); /* delete, line 192 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 190 */ + { int ret = slice_del(z); /* delete, line 197 */ if (ret < 0) return ret; } - { int m2 = z->l - z->c; (void)m2; /* try, line 191 */ - z->ket = z->c; /* [, line 191 */ - if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 191 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 198 */ + z->ket = z->c; /* [, line 198 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 198 */ z->c--; - z->bra = z->c; /* ], line 191 */ - { int ret = slice_del(z); /* delete, line 191 */ + z->bra = z->c; /* ], line 198 */ + { int ret = slice_del(z); /* delete, line 198 */ if (ret < 0) return ret; } lab0: @@ -989,82 +1039,84 @@ static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* try, line 199 */ - z->ket = z->c; /* [, line 199 */ - if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 199 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 206 */ + z->ket = z->c; /* [, line 206 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 206 */ z->c--; - z->bra = z->c; /* ], line 199 */ - { int m_test2 = z->l - z->c; /* test, line 199 */ - if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 199 */ + z->bra = z->c; /* ], line 206 */ + { int m_test2 = z->l - z->c; /* test, line 206 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 206 */ + if (!(eq_s_b(z, 2, s_30))) goto lab2; /* literal, line 206 */ + goto lab1; + lab2: + z->c = z->l - m3; + if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 206 */ + } + lab1: z->c = z->l - m_test2; } - { int ret = slice_del(z); /* delete, line 199 */ + { int ret = slice_del(z); /* delete, line 206 */ if (ret < 0) return ret; } lab0: ; } - { int mlimit3; /* setlimit, line 200 */ + { int mlimit4; /* setlimit, line 207 */ if (z->c < z->I[0]) return 0; - mlimit3 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 201 */ - among_var = find_among_b(z, a_7, 7); /* substring, line 201 */ - if (!(among_var)) { z->lb = mlimit3; return 0; } - z->bra = z->c; /* ], line 201 */ - switch (among_var) { /* among, line 201 */ + mlimit4 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 208 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit4; return 0; } /* substring, line 208 */ + among_var = find_among_b(z, a_7, 6); + if (!(among_var)) { z->lb = mlimit4; return 0; } + z->bra = z->c; /* ], line 208 */ + switch (among_var) { /* among, line 208 */ case 1: - { int ret = r_R2(z); /* call R2, line 202 */ - if (ret == 0) { z->lb = mlimit3; return 0; } + { int ret = r_R2(z); /* call R2, line 209 */ + if (ret == 0) { z->lb = mlimit4; return 0; } if (ret < 0) return ret; } - { int m4 = z->l - z->c; (void)m4; /* or, line 202 */ - if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2; /* literal, line 202 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 209 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4; /* literal, line 209 */ z->c--; - goto lab1; - lab2: - z->c = z->l - m4; - if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit3; return 0; } /* literal, line 202 */ + goto lab3; + lab4: + z->c = z->l - m5; + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; } /* literal, line 209 */ z->c--; } - lab1: - { int ret = slice_del(z); /* delete, line 202 */ + lab3: + { int ret = slice_del(z); /* delete, line 209 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_26); /* <-, line 204 */ + { int ret = slice_from_s(z, 1, s_31); /* <-, line 211 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 205 */ - if (ret < 0) return ret; - } - break; - case 4: - if (!(eq_s_b(z, 2, s_27))) { z->lb = mlimit3; return 0; } /* literal, line 206 */ - { int ret = slice_del(z); /* delete, line 206 */ + { int ret = slice_del(z); /* delete, line 212 */ if (ret < 0) return ret; } break; } - z->lb = mlimit3; + z->lb = mlimit4; } return 1; } static int r_un_double(struct SN_env * z) { /* backwardmode */ - { int m_test1 = z->l - z->c; /* test, line 212 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 212 */ + { int m_test1 = z->l - z->c; /* test, line 218 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 218 */ if (!(find_among_b(z, a_8, 5))) return 0; z->c = z->l - m_test1; } - z->ket = z->c; /* [, line 212 */ + z->ket = z->c; /* [, line 218 */ if (z->c <= z->lb) return 0; - z->c--; /* next, line 212 */ - z->bra = z->c; /* ], line 212 */ - { int ret = slice_del(z); /* delete, line 212 */ + z->c--; /* next, line 218 */ + z->bra = z->c; /* ], line 218 */ + { int ret = slice_del(z); /* delete, line 218 */ if (ret < 0) return ret; } return 1; @@ -1072,8 +1124,8 @@ static int r_un_double(struct SN_env * z) { /* backwardmode */ static int r_un_accent(struct SN_env * z) { /* backwardmode */ { int i = 1; - while(1) { /* atleast, line 216 */ - if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 216 */ + while(1) { /* atleast, line 222 */ + if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */ i--; continue; lab0: @@ -1081,82 +1133,82 @@ static int r_un_accent(struct SN_env * z) { /* backwardmode */ } if (i > 0) return 0; } - z->ket = z->c; /* [, line 217 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 217 */ - if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab2; /* literal, line 217 */ + z->ket = z->c; /* [, line 223 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 223 */ + if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab2; /* literal, line 223 */ z->c--; goto lab1; lab2: z->c = z->l - m1; - if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0; /* literal, line 217 */ + if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0; /* literal, line 223 */ z->c--; } lab1: - z->bra = z->c; /* ], line 217 */ - { int ret = slice_from_s(z, 1, s_28); /* <-, line 217 */ + z->bra = z->c; /* ], line 223 */ + { int ret = slice_from_s(z, 1, s_32); /* <-, line 223 */ if (ret < 0) return ret; } return 1; } extern int french_ISO_8859_1_stem(struct SN_env * z) { /* forwardmode */ - { int c1 = z->c; /* do, line 223 */ - { int ret = r_prelude(z); /* call prelude, line 223 */ + { int c1 = z->c; /* do, line 229 */ + { int ret = r_prelude(z); /* call prelude, line 229 */ if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - /* do, line 224 */ - { int ret = r_mark_regions(z); /* call mark_regions, line 224 */ + /* do, line 230 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 230 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: - z->lb = z->c; z->c = z->l; /* backwards, line 225 */ + z->lb = z->c; z->c = z->l; /* backwards, line 231 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 227 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 237 */ - { int m4 = z->l - z->c; (void)m4; /* and, line 233 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 229 */ - { int ret = r_standard_suffix(z); /* call standard_suffix, line 229 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 233 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 243 */ + { int m4 = z->l - z->c; (void)m4; /* and, line 239 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 235 */ + { int ret = r_standard_suffix(z); /* call standard_suffix, line 235 */ if (ret == 0) goto lab6; if (ret < 0) return ret; } goto lab5; lab6: z->c = z->l - m5; - { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 230 */ + { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */ if (ret == 0) goto lab7; if (ret < 0) return ret; } goto lab5; lab7: z->c = z->l - m5; - { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + { int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */ if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: z->c = z->l - m4; - { int m6 = z->l - z->c; (void)m6; /* try, line 234 */ - z->ket = z->c; /* [, line 234 */ - { int m7 = z->l - z->c; (void)m7; /* or, line 234 */ - if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 234 */ + { int m6 = z->l - z->c; (void)m6; /* try, line 240 */ + z->ket = z->c; /* [, line 240 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 240 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 240 */ z->c--; - z->bra = z->c; /* ], line 234 */ - { int ret = slice_from_s(z, 1, s_29); /* <-, line 234 */ + z->bra = z->c; /* ], line 240 */ + { int ret = slice_from_s(z, 1, s_33); /* <-, line 240 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab8; } /* literal, line 235 */ + if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m6; goto lab8; } /* literal, line 241 */ z->c--; - z->bra = z->c; /* ], line 235 */ - { int ret = slice_from_s(z, 1, s_30); /* <-, line 235 */ + z->bra = z->c; /* ], line 241 */ + { int ret = slice_from_s(z, 1, s_34); /* <-, line 241 */ if (ret < 0) return ret; } } @@ -1168,7 +1220,7 @@ lab1: goto lab3; lab4: z->c = z->l - m3; - { int ret = r_residual_suffix(z); /* call residual_suffix, line 238 */ + { int ret = r_residual_suffix(z); /* call residual_suffix, line 244 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } @@ -1177,16 +1229,16 @@ lab1: lab2: z->c = z->l - m2; } - { int m8 = z->l - z->c; (void)m8; /* do, line 243 */ - { int ret = r_un_double(z); /* call un_double, line 243 */ + { int m8 = z->l - z->c; (void)m8; /* do, line 249 */ + { int ret = r_un_double(z); /* call un_double, line 249 */ if (ret == 0) goto lab11; if (ret < 0) return ret; } lab11: z->c = z->l - m8; } - { int m9 = z->l - z->c; (void)m9; /* do, line 244 */ - { int ret = r_un_accent(z); /* call un_accent, line 244 */ + { int m9 = z->l - z->c; (void)m9; /* do, line 250 */ + { int ret = r_un_accent(z); /* call un_accent, line 250 */ if (ret == 0) goto lab12; if (ret < 0) return ret; } @@ -1194,8 +1246,8 @@ lab1: z->c = z->l - m9; } z->c = z->lb; - { int c10 = z->c; /* do, line 246 */ - { int ret = r_postlude(z); /* call postlude, line 246 */ + { int c10 = z->c; /* do, line 252 */ + { int ret = r_postlude(z); /* call postlude, line 252 */ if (ret == 0) goto lab13; if (ret < 0) return ret; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_danish.c b/src/backend/snowball/libstemmer/stem_UTF_8_danish.c index 4f7e3016bb..901491c7b6 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_danish.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_danish.c @@ -124,6 +124,8 @@ static const struct among a_2[5] = /* 4 */ { 5, s_2_4, -1, 2, 0} }; +static const unsigned char g_c[] = { 119, 223, 119, 1 }; + static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128 }; static const unsigned char g_s_ending[] = { 239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 }; @@ -133,25 +135,25 @@ static const symbol s_1[] = { 'i', 'g' }; static const symbol s_2[] = { 'l', 0xC3, 0xB8, 's' }; static int r_mark_regions(struct SN_env * z) { /* forwardmode */ - z->I[0] = z->l; /* $p1 = , line 31 */ - { int c_test1 = z->c; /* test, line 33 */ - { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 33 */ + z->I[0] = z->l; /* $p1 = , line 33 */ + { int c_test1 = z->c; /* test, line 35 */ + { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3); /* hop, line 35 */ if (ret < 0) return 0; z->c = ret; } - z->I[1] = z->c; /* setmark x, line 33 */ + z->I[1] = z->c; /* setmark x, line 35 */ z->c = c_test1; } - if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 34 */ - { /* gopast */ /* non v, line 34 */ + if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0; /* goto */ /* grouping v, line 36 */ + { /* gopast */ /* non v, line 36 */ int ret = in_grouping_U(z, g_v, 97, 248, 1); if (ret < 0) return 0; z->c += ret; } - z->I[0] = z->c; /* setmark p1, line 34 */ - /* try, line 35 */ - if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 35 */ - z->I[0] = z->I[1]; /* $p1 = , line 35 */ + z->I[0] = z->c; /* setmark p1, line 36 */ + /* try, line 37 */ + if (!(z->I[0] < z->I[1])) goto lab0; /* $( < ), line 37 */ + z->I[0] = z->I[1]; /* $p1 = , line 37 */ lab0: return 1; } @@ -159,25 +161,25 @@ lab0: static int r_main_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit1; /* setlimit, line 41 */ + { int mlimit1; /* setlimit, line 43 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 41 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 41 */ + z->ket = z->c; /* [, line 43 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 43 */ among_var = find_among_b(z, a_0, 32); if (!(among_var)) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 41 */ + z->bra = z->c; /* ], line 43 */ z->lb = mlimit1; } - switch (among_var) { /* among, line 42 */ + switch (among_var) { /* among, line 44 */ case 1: - { int ret = slice_del(z); /* delete, line 48 */ + { int ret = slice_del(z); /* delete, line 50 */ if (ret < 0) return ret; } break; case 2: - if (in_grouping_b_U(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 50 */ - { int ret = slice_del(z); /* delete, line 50 */ + if (in_grouping_b_U(z, g_s_ending, 97, 229, 0)) return 0; /* grouping s_ending, line 52 */ + { int ret = slice_del(z); /* delete, line 52 */ if (ret < 0) return ret; } break; @@ -186,25 +188,25 @@ static int r_main_suffix(struct SN_env * z) { /* backwardmode */ } static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ - { int m_test1 = z->l - z->c; /* test, line 55 */ + { int m_test1 = z->l - z->c; /* test, line 57 */ - { int mlimit2; /* setlimit, line 56 */ + { int mlimit2; /* setlimit, line 58 */ if (z->c < z->I[0]) return 0; mlimit2 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 56 */ - if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 56 */ + z->ket = z->c; /* [, line 58 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; } /* substring, line 58 */ if (!(find_among_b(z, a_1, 4))) { z->lb = mlimit2; return 0; } - z->bra = z->c; /* ], line 56 */ + z->bra = z->c; /* ], line 58 */ z->lb = mlimit2; } z->c = z->l - m_test1; } { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 62 */ + z->c = ret; /* next, line 64 */ } - z->bra = z->c; /* ], line 62 */ - { int ret = slice_del(z); /* delete, line 62 */ + z->bra = z->c; /* ], line 64 */ + { int ret = slice_del(z); /* delete, line 64 */ if (ret < 0) return ret; } return 1; @@ -212,35 +214,35 @@ static int r_consonant_pair(struct SN_env * z) { /* backwardmode */ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* do, line 66 */ - z->ket = z->c; /* [, line 66 */ - if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 66 */ - z->bra = z->c; /* ], line 66 */ - if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 66 */ - { int ret = slice_del(z); /* delete, line 66 */ + { int m1 = z->l - z->c; (void)m1; /* do, line 68 */ + z->ket = z->c; /* [, line 68 */ + if (!(eq_s_b(z, 2, s_0))) goto lab0; /* literal, line 68 */ + z->bra = z->c; /* ], line 68 */ + if (!(eq_s_b(z, 2, s_1))) goto lab0; /* literal, line 68 */ + { int ret = slice_del(z); /* delete, line 68 */ if (ret < 0) return ret; } lab0: z->c = z->l - m1; } - { int mlimit2; /* setlimit, line 67 */ + { int mlimit2; /* setlimit, line 69 */ if (z->c < z->I[0]) return 0; mlimit2 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 67 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 67 */ + z->ket = z->c; /* [, line 69 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit2; return 0; } /* substring, line 69 */ among_var = find_among_b(z, a_2, 5); if (!(among_var)) { z->lb = mlimit2; return 0; } - z->bra = z->c; /* ], line 67 */ + z->bra = z->c; /* ], line 69 */ z->lb = mlimit2; } - switch (among_var) { /* among, line 68 */ + switch (among_var) { /* among, line 70 */ case 1: - { int ret = slice_del(z); /* delete, line 70 */ + { int ret = slice_del(z); /* delete, line 72 */ if (ret < 0) return ret; } - { int m3 = z->l - z->c; (void)m3; /* do, line 70 */ - { int ret = r_consonant_pair(z); /* call consonant_pair, line 70 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 72 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 72 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } @@ -249,7 +251,7 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ } break; case 2: - { int ret = slice_from_s(z, 4, s_2); /* <-, line 72 */ + { int ret = slice_from_s(z, 4, s_2); /* <-, line 74 */ if (ret < 0) return ret; } break; @@ -259,60 +261,60 @@ static int r_other_suffix(struct SN_env * z) { /* backwardmode */ static int r_undouble(struct SN_env * z) { /* backwardmode */ - { int mlimit1; /* setlimit, line 76 */ + { int mlimit1; /* setlimit, line 78 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 76 */ - if (out_grouping_b_U(z, g_v, 97, 248, 0)) { z->lb = mlimit1; return 0; } /* non v, line 76 */ - z->bra = z->c; /* ], line 76 */ - z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 76 */ - if (z->S[0] == 0) return -1; /* -> ch, line 76 */ + z->ket = z->c; /* [, line 78 */ + if (in_grouping_b_U(z, g_c, 98, 122, 0)) { z->lb = mlimit1; return 0; } /* grouping c, line 78 */ + z->bra = z->c; /* ], line 78 */ + z->S[0] = slice_to(z, z->S[0]); /* -> ch, line 78 */ + if (z->S[0] == 0) return -1; /* -> ch, line 78 */ z->lb = mlimit1; } - if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 77 */ - { int ret = slice_del(z); /* delete, line 78 */ + if (!(eq_v_b(z, z->S[0]))) return 0; /* name ch, line 79 */ + { int ret = slice_del(z); /* delete, line 80 */ if (ret < 0) return ret; } return 1; } extern int danish_UTF_8_stem(struct SN_env * z) { /* forwardmode */ - { int c1 = z->c; /* do, line 84 */ - { int ret = r_mark_regions(z); /* call mark_regions, line 84 */ + { int c1 = z->c; /* do, line 86 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 86 */ if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - z->lb = z->c; z->c = z->l; /* backwards, line 85 */ + z->lb = z->c; z->c = z->l; /* backwards, line 87 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 86 */ - { int ret = r_main_suffix(z); /* call main_suffix, line 86 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 88 */ + { int ret = r_main_suffix(z); /* call main_suffix, line 88 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: z->c = z->l - m2; } - { int m3 = z->l - z->c; (void)m3; /* do, line 87 */ - { int ret = r_consonant_pair(z); /* call consonant_pair, line 87 */ + { int m3 = z->l - z->c; (void)m3; /* do, line 89 */ + { int ret = r_consonant_pair(z); /* call consonant_pair, line 89 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } lab2: z->c = z->l - m3; } - { int m4 = z->l - z->c; (void)m4; /* do, line 88 */ - { int ret = r_other_suffix(z); /* call other_suffix, line 88 */ + { int m4 = z->l - z->c; (void)m4; /* do, line 90 */ + { int ret = r_other_suffix(z); /* call other_suffix, line 90 */ if (ret == 0) goto lab3; if (ret < 0) return ret; } lab3: z->c = z->l - m4; } - { int m5 = z->l - z->c; (void)m5; /* do, line 89 */ - { int ret = r_undouble(z); /* call undouble, line 89 */ + { int m5 = z->l - z->c; (void)m5; /* do, line 91 */ + { int ret = r_undouble(z); /* call undouble, line 91 */ if (ret == 0) goto lab4; if (ret < 0) return ret; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_french.c b/src/backend/snowball/libstemmer/stem_UTF_8_french.c index 80564a8e36..9e12865c67 100644 --- a/src/backend/snowball/libstemmer/stem_UTF_8_french.c +++ b/src/backend/snowball/libstemmer/stem_UTF_8_french.c @@ -45,16 +45,22 @@ static const struct among a_0[3] = /* 2 */ { 3, s_0_2, -1, -1, 0} }; -static const symbol s_1_1[1] = { 'I' }; -static const symbol s_1_2[1] = { 'U' }; -static const symbol s_1_3[1] = { 'Y' }; +static const symbol s_1_1[1] = { 'H' }; +static const symbol s_1_2[2] = { 'H', 'e' }; +static const symbol s_1_3[2] = { 'H', 'i' }; +static const symbol s_1_4[1] = { 'I' }; +static const symbol s_1_5[1] = { 'U' }; +static const symbol s_1_6[1] = { 'Y' }; -static const struct among a_1[4] = +static const struct among a_1[7] = { -/* 0 */ { 0, 0, -1, 4, 0}, -/* 1 */ { 1, s_1_1, 0, 1, 0}, -/* 2 */ { 1, s_1_2, 0, 2, 0}, -/* 3 */ { 1, s_1_3, 0, 3, 0} +/* 0 */ { 0, 0, -1, 7, 0}, +/* 1 */ { 1, s_1_1, 0, 6, 0}, +/* 2 */ { 2, s_1_2, 1, 4, 0}, +/* 3 */ { 2, s_1_3, 1, 5, 0}, +/* 4 */ { 1, s_1_4, 0, 1, 0}, +/* 5 */ { 1, s_1_5, 0, 2, 0}, +/* 6 */ { 1, s_1_6, 0, 3, 0} }; static const symbol s_2_0[3] = { 'i', 'q', 'U' }; @@ -338,17 +344,15 @@ static const symbol s_7_2[5] = { 'i', 0xC3, 0xA8, 'r', 'e' }; static const symbol s_7_3[3] = { 'i', 'o', 'n' }; static const symbol s_7_4[3] = { 'I', 'e', 'r' }; static const symbol s_7_5[3] = { 'i', 'e', 'r' }; -static const symbol s_7_6[2] = { 0xC3, 0xAB }; -static const struct among a_7[7] = +static const struct among a_7[6] = { /* 0 */ { 1, s_7_0, -1, 3, 0}, /* 1 */ { 5, s_7_1, 0, 2, 0}, /* 2 */ { 5, s_7_2, 0, 2, 0}, /* 3 */ { 3, s_7_3, -1, 1, 0}, /* 4 */ { 3, s_7_4, -1, 2, 0}, -/* 5 */ { 3, s_7_5, -1, 2, 0}, -/* 6 */ { 2, s_7_6, -1, 4, 0} +/* 5 */ { 3, s_7_5, -1, 2, 0} }; static const symbol s_8_0[3] = { 'e', 'l', 'l' }; @@ -373,37 +377,43 @@ static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0 static const symbol s_0[] = { 'U' }; static const symbol s_1[] = { 'I' }; static const symbol s_2[] = { 'Y' }; -static const symbol s_3[] = { 'Y' }; -static const symbol s_4[] = { 'U' }; -static const symbol s_5[] = { 'i' }; -static const symbol s_6[] = { 'u' }; -static const symbol s_7[] = { 'y' }; -static const symbol s_8[] = { 'i', 'c' }; -static const symbol s_9[] = { 'i', 'q', 'U' }; -static const symbol s_10[] = { 'l', 'o', 'g' }; -static const symbol s_11[] = { 'u' }; -static const symbol s_12[] = { 'e', 'n', 't' }; -static const symbol s_13[] = { 'a', 't' }; -static const symbol s_14[] = { 'e', 'u', 'x' }; -static const symbol s_15[] = { 'i' }; -static const symbol s_16[] = { 'a', 'b', 'l' }; -static const symbol s_17[] = { 'i', 'q', 'U' }; -static const symbol s_18[] = { 'a', 't' }; -static const symbol s_19[] = { 'i', 'c' }; -static const symbol s_20[] = { 'i', 'q', 'U' }; -static const symbol s_21[] = { 'e', 'a', 'u' }; -static const symbol s_22[] = { 'a', 'l' }; -static const symbol s_23[] = { 'e', 'u', 'x' }; -static const symbol s_24[] = { 'a', 'n', 't' }; -static const symbol s_25[] = { 'e', 'n', 't' }; -static const symbol s_26[] = { 'i' }; -static const symbol s_27[] = { 'g', 'u' }; -static const symbol s_28[] = { 0xC3, 0xA9 }; -static const symbol s_29[] = { 0xC3, 0xA8 }; -static const symbol s_30[] = { 'e' }; -static const symbol s_31[] = { 'i' }; -static const symbol s_32[] = { 0xC3, 0xA7 }; -static const symbol s_33[] = { 'c' }; +static const symbol s_3[] = { 0xC3, 0xAB }; +static const symbol s_4[] = { 'H', 'e' }; +static const symbol s_5[] = { 0xC3, 0xAF }; +static const symbol s_6[] = { 'H', 'i' }; +static const symbol s_7[] = { 'Y' }; +static const symbol s_8[] = { 'U' }; +static const symbol s_9[] = { 'i' }; +static const symbol s_10[] = { 'u' }; +static const symbol s_11[] = { 'y' }; +static const symbol s_12[] = { 0xC3, 0xAB }; +static const symbol s_13[] = { 0xC3, 0xAF }; +static const symbol s_14[] = { 'i', 'c' }; +static const symbol s_15[] = { 'i', 'q', 'U' }; +static const symbol s_16[] = { 'l', 'o', 'g' }; +static const symbol s_17[] = { 'u' }; +static const symbol s_18[] = { 'e', 'n', 't' }; +static const symbol s_19[] = { 'a', 't' }; +static const symbol s_20[] = { 'e', 'u', 'x' }; +static const symbol s_21[] = { 'i' }; +static const symbol s_22[] = { 'a', 'b', 'l' }; +static const symbol s_23[] = { 'i', 'q', 'U' }; +static const symbol s_24[] = { 'a', 't' }; +static const symbol s_25[] = { 'i', 'c' }; +static const symbol s_26[] = { 'i', 'q', 'U' }; +static const symbol s_27[] = { 'e', 'a', 'u' }; +static const symbol s_28[] = { 'a', 'l' }; +static const symbol s_29[] = { 'e', 'u', 'x' }; +static const symbol s_30[] = { 'a', 'n', 't' }; +static const symbol s_31[] = { 'e', 'n', 't' }; +static const symbol s_32[] = { 'H', 'i' }; +static const symbol s_33[] = { 'i' }; +static const symbol s_34[] = { 0xC3, 0xA9 }; +static const symbol s_35[] = { 0xC3, 0xA8 }; +static const symbol s_36[] = { 'e' }; +static const symbol s_37[] = { 'i' }; +static const symbol s_38[] = { 0xC3, 0xA7 }; +static const symbol s_39[] = { 'c' }; static int r_prelude(struct SN_env * z) { /* forwardmode */ while(1) { /* repeat, line 38 */ @@ -446,23 +456,41 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */ lab3: z->c = c3; z->bra = z->c; /* [, line 45 */ - if (z->c == z->l || z->p[z->c] != 'y') goto lab7; /* literal, line 45 */ - z->c++; + if (!(eq_s(z, 2, s_3))) goto lab7; /* literal, line 45 */ z->ket = z->c; /* ], line 45 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab7; /* grouping v, line 45 */ - { int ret = slice_from_s(z, 1, s_3); /* <-, line 45 */ + { int ret = slice_from_s(z, 2, s_4); /* <-, line 45 */ if (ret < 0) return ret; } goto lab2; lab7: z->c = c3; - if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 47 */ - z->c++; z->bra = z->c; /* [, line 47 */ - if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 47 */ - z->c++; + if (!(eq_s(z, 2, s_5))) goto lab8; /* literal, line 47 */ z->ket = z->c; /* ], line 47 */ - { int ret = slice_from_s(z, 1, s_4); /* <-, line 47 */ + { int ret = slice_from_s(z, 2, s_6); /* <-, line 47 */ + if (ret < 0) return ret; + } + goto lab2; + lab8: + z->c = c3; + z->bra = z->c; /* [, line 49 */ + if (z->c == z->l || z->p[z->c] != 'y') goto lab9; /* literal, line 49 */ + z->c++; + z->ket = z->c; /* ], line 49 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab9; /* grouping v, line 49 */ + { int ret = slice_from_s(z, 1, s_7); /* <-, line 49 */ + if (ret < 0) return ret; + } + goto lab2; + lab9: + z->c = c3; + if (z->c == z->l || z->p[z->c] != 'q') goto lab1; /* literal, line 51 */ + z->c++; + z->bra = z->c; /* [, line 51 */ + if (z->c == z->l || z->p[z->c] != 'u') goto lab1; /* literal, line 51 */ + z->c++; + z->ket = z->c; /* ], line 51 */ + { int ret = slice_from_s(z, 1, s_8); /* <-, line 51 */ if (ret < 0) return ret; } } @@ -485,63 +513,63 @@ static int r_prelude(struct SN_env * z) { /* forwardmode */ } static int r_mark_regions(struct SN_env * z) { /* forwardmode */ - z->I[0] = z->l; /* $pV = , line 52 */ - z->I[1] = z->l; /* $p1 = , line 53 */ - z->I[2] = z->l; /* $p2 = , line 54 */ - { int c1 = z->c; /* do, line 56 */ - { int c2 = z->c; /* or, line 58 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ - if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 57 */ + z->I[0] = z->l; /* $pV = , line 56 */ + z->I[1] = z->l; /* $p1 = , line 57 */ + z->I[2] = z->l; /* $p2 = , line 58 */ + { int c1 = z->c; /* do, line 60 */ + { int c2 = z->c; /* or, line 62 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 61 */ + if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2; /* grouping v, line 61 */ { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab2; - z->c = ret; /* next, line 57 */ + z->c = ret; /* next, line 61 */ } goto lab1; lab2: z->c = c2; - if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 59 */ + if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((331776 >> (z->p[z->c + 2] & 0x1f)) & 1)) goto lab3; /* among, line 63 */ if (!(find_among(z, a_0, 3))) goto lab3; goto lab1; lab3: z->c = c2; { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; - z->c = ret; /* next, line 66 */ + z->c = ret; /* next, line 70 */ } - { /* gopast */ /* grouping v, line 66 */ + { /* gopast */ /* grouping v, line 70 */ int ret = out_grouping_U(z, g_v, 97, 251, 1); if (ret < 0) goto lab0; z->c += ret; } } lab1: - z->I[0] = z->c; /* setmark pV, line 67 */ + z->I[0] = z->c; /* setmark pV, line 71 */ lab0: z->c = c1; } - { int c3 = z->c; /* do, line 69 */ - { /* gopast */ /* grouping v, line 70 */ + { int c3 = z->c; /* do, line 73 */ + { /* gopast */ /* grouping v, line 74 */ int ret = out_grouping_U(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - { /* gopast */ /* non v, line 70 */ + { /* gopast */ /* non v, line 74 */ int ret = in_grouping_U(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - z->I[1] = z->c; /* setmark p1, line 70 */ - { /* gopast */ /* grouping v, line 71 */ + z->I[1] = z->c; /* setmark p1, line 74 */ + { /* gopast */ /* grouping v, line 75 */ int ret = out_grouping_U(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - { /* gopast */ /* non v, line 71 */ + { /* gopast */ /* non v, line 75 */ int ret = in_grouping_U(z, g_v, 97, 251, 1); if (ret < 0) goto lab4; z->c += ret; } - z->I[2] = z->c; /* setmark p2, line 71 */ + z->I[2] = z->c; /* setmark p2, line 75 */ lab4: z->c = c3; } @@ -550,33 +578,48 @@ static int r_mark_regions(struct SN_env * z) { /* forwardmode */ static int r_postlude(struct SN_env * z) { /* forwardmode */ int among_var; - while(1) { /* repeat, line 75 */ + while(1) { /* repeat, line 79 */ int c1 = z->c; - z->bra = z->c; /* [, line 77 */ - if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652096 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 4; else /* substring, line 77 */ - among_var = find_among(z, a_1, 4); + z->bra = z->c; /* [, line 81 */ + if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else /* substring, line 81 */ + among_var = find_among(z, a_1, 7); if (!(among_var)) goto lab0; - z->ket = z->c; /* ], line 77 */ - switch (among_var) { /* among, line 77 */ + z->ket = z->c; /* ], line 81 */ + switch (among_var) { /* among, line 81 */ case 1: - { int ret = slice_from_s(z, 1, s_5); /* <-, line 78 */ + { int ret = slice_from_s(z, 1, s_9); /* <-, line 82 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_6); /* <-, line 79 */ + { int ret = slice_from_s(z, 1, s_10); /* <-, line 83 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_from_s(z, 1, s_7); /* <-, line 80 */ + { int ret = slice_from_s(z, 1, s_11); /* <-, line 84 */ if (ret < 0) return ret; } break; case 4: + { int ret = slice_from_s(z, 2, s_12); /* <-, line 85 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 2, s_13); /* <-, line 86 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_del(z); /* delete, line 87 */ + if (ret < 0) return ret; + } + break; + case 7: { int ret = skip_utf8(z->p, z->c, 0, z->l, 1); if (ret < 0) goto lab0; - z->c = ret; /* next, line 81 */ + z->c = ret; /* next, line 88 */ } break; } @@ -589,58 +632,58 @@ static int r_postlude(struct SN_env * z) { /* forwardmode */ } static int r_RV(struct SN_env * z) { /* backwardmode */ - if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 87 */ + if (!(z->I[0] <= z->c)) return 0; /* $( <= ), line 94 */ return 1; } static int r_R1(struct SN_env * z) { /* backwardmode */ - if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 88 */ + if (!(z->I[1] <= z->c)) return 0; /* $( <= ), line 95 */ return 1; } static int r_R2(struct SN_env * z) { /* backwardmode */ - if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 89 */ + if (!(z->I[2] <= z->c)) return 0; /* $( <= ), line 96 */ return 1; } static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - z->ket = z->c; /* [, line 92 */ - among_var = find_among_b(z, a_4, 43); /* substring, line 92 */ + z->ket = z->c; /* [, line 99 */ + among_var = find_among_b(z, a_4, 43); /* substring, line 99 */ if (!(among_var)) return 0; - z->bra = z->c; /* ], line 92 */ - switch (among_var) { /* among, line 92 */ + z->bra = z->c; /* ], line 99 */ + switch (among_var) { /* among, line 99 */ case 1: - { int ret = r_R2(z); /* call R2, line 96 */ + { int ret = r_R2(z); /* call R2, line 103 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 96 */ + { int ret = slice_del(z); /* delete, line 103 */ if (ret < 0) return ret; } break; case 2: - { int ret = r_R2(z); /* call R2, line 99 */ + { int ret = r_R2(z); /* call R2, line 106 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 99 */ + { int ret = slice_del(z); /* delete, line 106 */ if (ret < 0) return ret; } - { int m1 = z->l - z->c; (void)m1; /* try, line 100 */ - z->ket = z->c; /* [, line 100 */ - if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m1; goto lab0; } /* literal, line 100 */ - z->bra = z->c; /* ], line 100 */ - { int m2 = z->l - z->c; (void)m2; /* or, line 100 */ - { int ret = r_R2(z); /* call R2, line 100 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 107 */ + z->ket = z->c; /* [, line 107 */ + if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m1; goto lab0; } /* literal, line 107 */ + z->bra = z->c; /* ], line 107 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 107 */ + { int ret = r_R2(z); /* call R2, line 107 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 100 */ + { int ret = slice_del(z); /* delete, line 107 */ if (ret < 0) return ret; } goto lab1; lab2: z->c = z->l - m2; - { int ret = slice_from_s(z, 3, s_9); /* <-, line 100 */ + { int ret = slice_from_s(z, 3, s_15); /* <-, line 107 */ if (ret < 0) return ret; } } @@ -650,98 +693,98 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 3: - { int ret = r_R2(z); /* call R2, line 104 */ + { int ret = r_R2(z); /* call R2, line 111 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_10); /* <-, line 104 */ + { int ret = slice_from_s(z, 3, s_16); /* <-, line 111 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_R2(z); /* call R2, line 107 */ + { int ret = r_R2(z); /* call R2, line 114 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 1, s_11); /* <-, line 107 */ + { int ret = slice_from_s(z, 1, s_17); /* <-, line 114 */ if (ret < 0) return ret; } break; case 5: - { int ret = r_R2(z); /* call R2, line 110 */ + { int ret = r_R2(z); /* call R2, line 117 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_12); /* <-, line 110 */ + { int ret = slice_from_s(z, 3, s_18); /* <-, line 117 */ if (ret < 0) return ret; } break; case 6: - { int ret = r_RV(z); /* call RV, line 114 */ + { int ret = r_RV(z); /* call RV, line 121 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 114 */ + { int ret = slice_del(z); /* delete, line 121 */ if (ret < 0) return ret; } - { int m3 = z->l - z->c; (void)m3; /* try, line 115 */ - z->ket = z->c; /* [, line 116 */ - among_var = find_among_b(z, a_2, 6); /* substring, line 116 */ + { int m3 = z->l - z->c; (void)m3; /* try, line 122 */ + z->ket = z->c; /* [, line 123 */ + among_var = find_among_b(z, a_2, 6); /* substring, line 123 */ if (!(among_var)) { z->c = z->l - m3; goto lab3; } - z->bra = z->c; /* ], line 116 */ - switch (among_var) { /* among, line 116 */ + z->bra = z->c; /* ], line 123 */ + switch (among_var) { /* among, line 123 */ case 1: - { int ret = r_R2(z); /* call R2, line 117 */ + { int ret = r_R2(z); /* call R2, line 124 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 117 */ + { int ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 117 */ - if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m3; goto lab3; } /* literal, line 117 */ - z->bra = z->c; /* ], line 117 */ - { int ret = r_R2(z); /* call R2, line 117 */ + z->ket = z->c; /* [, line 124 */ + if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m3; goto lab3; } /* literal, line 124 */ + z->bra = z->c; /* ], line 124 */ + { int ret = r_R2(z); /* call R2, line 124 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 117 */ + { int ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } break; case 2: - { int m4 = z->l - z->c; (void)m4; /* or, line 118 */ - { int ret = r_R2(z); /* call R2, line 118 */ + { int m4 = z->l - z->c; (void)m4; /* or, line 125 */ + { int ret = r_R2(z); /* call R2, line 125 */ if (ret == 0) goto lab5; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 118 */ + { int ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } goto lab4; lab5: z->c = z->l - m4; - { int ret = r_R1(z); /* call R1, line 118 */ + { int ret = r_R1(z); /* call R1, line 125 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 3, s_14); /* <-, line 118 */ + { int ret = slice_from_s(z, 3, s_20); /* <-, line 125 */ if (ret < 0) return ret; } } lab4: break; case 3: - { int ret = r_R2(z); /* call R2, line 120 */ + { int ret = r_R2(z); /* call R2, line 127 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 120 */ + { int ret = slice_del(z); /* delete, line 127 */ if (ret < 0) return ret; } break; case 4: - { int ret = r_RV(z); /* call RV, line 122 */ + { int ret = r_RV(z); /* call RV, line 129 */ if (ret == 0) { z->c = z->l - m3; goto lab3; } if (ret < 0) return ret; } - { int ret = slice_from_s(z, 1, s_15); /* <-, line 122 */ + { int ret = slice_from_s(z, 1, s_21); /* <-, line 129 */ if (ret < 0) return ret; } break; @@ -751,61 +794,61 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 7: - { int ret = r_R2(z); /* call R2, line 129 */ + { int ret = r_R2(z); /* call R2, line 136 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 129 */ + { int ret = slice_del(z); /* delete, line 136 */ if (ret < 0) return ret; } - { int m5 = z->l - z->c; (void)m5; /* try, line 130 */ - z->ket = z->c; /* [, line 131 */ - if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 131 */ + { int m5 = z->l - z->c; (void)m5; /* try, line 137 */ + z->ket = z->c; /* [, line 138 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m5; goto lab6; } /* substring, line 138 */ among_var = find_among_b(z, a_3, 3); if (!(among_var)) { z->c = z->l - m5; goto lab6; } - z->bra = z->c; /* ], line 131 */ - switch (among_var) { /* among, line 131 */ + z->bra = z->c; /* ], line 138 */ + switch (among_var) { /* among, line 138 */ case 1: - { int m6 = z->l - z->c; (void)m6; /* or, line 132 */ - { int ret = r_R2(z); /* call R2, line 132 */ + { int m6 = z->l - z->c; (void)m6; /* or, line 139 */ + { int ret = r_R2(z); /* call R2, line 139 */ if (ret == 0) goto lab8; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 132 */ + { int ret = slice_del(z); /* delete, line 139 */ if (ret < 0) return ret; } goto lab7; lab8: z->c = z->l - m6; - { int ret = slice_from_s(z, 3, s_16); /* <-, line 132 */ + { int ret = slice_from_s(z, 3, s_22); /* <-, line 139 */ if (ret < 0) return ret; } } lab7: break; case 2: - { int m7 = z->l - z->c; (void)m7; /* or, line 133 */ - { int ret = r_R2(z); /* call R2, line 133 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 140 */ + { int ret = r_R2(z); /* call R2, line 140 */ if (ret == 0) goto lab10; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 133 */ + { int ret = slice_del(z); /* delete, line 140 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - { int ret = slice_from_s(z, 3, s_17); /* <-, line 133 */ + { int ret = slice_from_s(z, 3, s_23); /* <-, line 140 */ if (ret < 0) return ret; } } lab9: break; case 3: - { int ret = r_R2(z); /* call R2, line 134 */ + { int ret = r_R2(z); /* call R2, line 141 */ if (ret == 0) { z->c = z->l - m5; goto lab6; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 134 */ + { int ret = slice_del(z); /* delete, line 141 */ if (ret < 0) return ret; } break; @@ -815,38 +858,38 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 8: - { int ret = r_R2(z); /* call R2, line 141 */ + { int ret = r_R2(z); /* call R2, line 148 */ if (ret <= 0) return ret; } - { int ret = slice_del(z); /* delete, line 141 */ + { int ret = slice_del(z); /* delete, line 148 */ if (ret < 0) return ret; } - { int m8 = z->l - z->c; (void)m8; /* try, line 142 */ - z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ - z->bra = z->c; /* ], line 142 */ - { int ret = r_R2(z); /* call R2, line 142 */ + { int m8 = z->l - z->c; (void)m8; /* try, line 149 */ + z->ket = z->c; /* [, line 149 */ + if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m8; goto lab11; } /* literal, line 149 */ + z->bra = z->c; /* ], line 149 */ + { int ret = r_R2(z); /* call R2, line 149 */ if (ret == 0) { z->c = z->l - m8; goto lab11; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 142 */ + { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } - z->ket = z->c; /* [, line 142 */ - if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m8; goto lab11; } /* literal, line 142 */ - z->bra = z->c; /* ], line 142 */ - { int m9 = z->l - z->c; (void)m9; /* or, line 142 */ - { int ret = r_R2(z); /* call R2, line 142 */ + z->ket = z->c; /* [, line 149 */ + if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m8; goto lab11; } /* literal, line 149 */ + z->bra = z->c; /* ], line 149 */ + { int m9 = z->l - z->c; (void)m9; /* or, line 149 */ + { int ret = r_R2(z); /* call R2, line 149 */ if (ret == 0) goto lab13; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 142 */ + { int ret = slice_del(z); /* delete, line 149 */ if (ret < 0) return ret; } goto lab12; lab13: z->c = z->l - m9; - { int ret = slice_from_s(z, 3, s_20); /* <-, line 142 */ + { int ret = slice_from_s(z, 3, s_26); /* <-, line 149 */ if (ret < 0) return ret; } } @@ -856,78 +899,78 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ } break; case 9: - { int ret = slice_from_s(z, 3, s_21); /* <-, line 144 */ + { int ret = slice_from_s(z, 3, s_27); /* <-, line 151 */ if (ret < 0) return ret; } break; case 10: - { int ret = r_R1(z); /* call R1, line 145 */ + { int ret = r_R1(z); /* call R1, line 152 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 2, s_22); /* <-, line 145 */ + { int ret = slice_from_s(z, 2, s_28); /* <-, line 152 */ if (ret < 0) return ret; } break; case 11: - { int m10 = z->l - z->c; (void)m10; /* or, line 147 */ - { int ret = r_R2(z); /* call R2, line 147 */ + { int m10 = z->l - z->c; (void)m10; /* or, line 154 */ + { int ret = r_R2(z); /* call R2, line 154 */ if (ret == 0) goto lab15; if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 147 */ + { int ret = slice_del(z); /* delete, line 154 */ if (ret < 0) return ret; } goto lab14; lab15: z->c = z->l - m10; - { int ret = r_R1(z); /* call R1, line 147 */ + { int ret = r_R1(z); /* call R1, line 154 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_23); /* <-, line 147 */ + { int ret = slice_from_s(z, 3, s_29); /* <-, line 154 */ if (ret < 0) return ret; } } lab14: break; case 12: - { int ret = r_R1(z); /* call R1, line 150 */ + { int ret = r_R1(z); /* call R1, line 157 */ if (ret <= 0) return ret; } - if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* non v, line 150 */ - { int ret = slice_del(z); /* delete, line 150 */ + if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* non v, line 157 */ + { int ret = slice_del(z); /* delete, line 157 */ if (ret < 0) return ret; } break; case 13: - { int ret = r_RV(z); /* call RV, line 155 */ + { int ret = r_RV(z); /* call RV, line 162 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_24); /* <-, line 155 */ + { int ret = slice_from_s(z, 3, s_30); /* <-, line 162 */ if (ret < 0) return ret; } - return 0; /* fail, line 155 */ + return 0; /* fail, line 162 */ break; case 14: - { int ret = r_RV(z); /* call RV, line 156 */ + { int ret = r_RV(z); /* call RV, line 163 */ if (ret <= 0) return ret; } - { int ret = slice_from_s(z, 3, s_25); /* <-, line 156 */ + { int ret = slice_from_s(z, 3, s_31); /* <-, line 163 */ if (ret < 0) return ret; } - return 0; /* fail, line 156 */ + return 0; /* fail, line 163 */ break; case 15: - { int m_test11 = z->l - z->c; /* test, line 158 */ - if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 158 */ - { int ret = r_RV(z); /* call RV, line 158 */ + { int m_test11 = z->l - z->c; /* test, line 165 */ + if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0; /* grouping v, line 165 */ + { int ret = r_RV(z); /* call RV, line 165 */ if (ret <= 0) return ret; } z->c = z->l - m_test11; } - { int ret = slice_del(z); /* delete, line 158 */ + { int ret = slice_del(z); /* delete, line 165 */ if (ret < 0) return ret; } - return 0; /* fail, line 158 */ + return 0; /* fail, line 165 */ break; } return 1; @@ -935,15 +978,22 @@ static int r_standard_suffix(struct SN_env * z) { /* backwardmode */ static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ - { int mlimit1; /* setlimit, line 163 */ + { int mlimit1; /* setlimit, line 170 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 164 */ - if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 164 */ + z->ket = z->c; /* [, line 171 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; } /* substring, line 171 */ if (!(find_among_b(z, a_5, 35))) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 164 */ - if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 170 */ - { int ret = slice_del(z); /* delete, line 170 */ + z->bra = z->c; /* ], line 171 */ + { int m2 = z->l - z->c; (void)m2; /* not, line 177 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0; /* literal, line 177 */ + z->c--; + { z->lb = mlimit1; return 0; } + lab0: + z->c = z->l - m2; + } + if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; } /* non v, line 177 */ + { int ret = slice_del(z); /* delete, line 177 */ if (ret < 0) return ret; } z->lb = mlimit1; @@ -954,38 +1004,38 @@ static int r_i_verb_suffix(struct SN_env * z) { /* backwardmode */ static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int mlimit1; /* setlimit, line 174 */ + { int mlimit1; /* setlimit, line 181 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 175 */ - among_var = find_among_b(z, a_6, 38); /* substring, line 175 */ + z->ket = z->c; /* [, line 182 */ + among_var = find_among_b(z, a_6, 38); /* substring, line 182 */ if (!(among_var)) { z->lb = mlimit1; return 0; } - z->bra = z->c; /* ], line 175 */ - switch (among_var) { /* among, line 175 */ + z->bra = z->c; /* ], line 182 */ + switch (among_var) { /* among, line 182 */ case 1: - { int ret = r_R2(z); /* call R2, line 177 */ + { int ret = r_R2(z); /* call R2, line 184 */ if (ret == 0) { z->lb = mlimit1; return 0; } if (ret < 0) return ret; } - { int ret = slice_del(z); /* delete, line 177 */ + { int ret = slice_del(z); /* delete, line 184 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_del(z); /* delete, line 185 */ + { int ret = slice_del(z); /* delete, line 192 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 190 */ + { int ret = slice_del(z); /* delete, line 197 */ if (ret < 0) return ret; } - { int m2 = z->l - z->c; (void)m2; /* try, line 191 */ - z->ket = z->c; /* [, line 191 */ - if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 191 */ + { int m2 = z->l - z->c; (void)m2; /* try, line 198 */ + z->ket = z->c; /* [, line 198 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; } /* literal, line 198 */ z->c--; - z->bra = z->c; /* ], line 191 */ - { int ret = slice_del(z); /* delete, line 191 */ + z->bra = z->c; /* ], line 198 */ + { int ret = slice_del(z); /* delete, line 198 */ if (ret < 0) return ret; } lab0: @@ -1000,84 +1050,86 @@ static int r_verb_suffix(struct SN_env * z) { /* backwardmode */ static int r_residual_suffix(struct SN_env * z) { /* backwardmode */ int among_var; - { int m1 = z->l - z->c; (void)m1; /* try, line 199 */ - z->ket = z->c; /* [, line 199 */ - if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 199 */ + { int m1 = z->l - z->c; (void)m1; /* try, line 206 */ + z->ket = z->c; /* [, line 206 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; } /* literal, line 206 */ z->c--; - z->bra = z->c; /* ], line 199 */ - { int m_test2 = z->l - z->c; /* test, line 199 */ - if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 199 */ + z->bra = z->c; /* ], line 206 */ + { int m_test2 = z->l - z->c; /* test, line 206 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 206 */ + if (!(eq_s_b(z, 2, s_32))) goto lab2; /* literal, line 206 */ + goto lab1; + lab2: + z->c = z->l - m3; + if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - m1; goto lab0; } /* non keep_with_s, line 206 */ + } + lab1: z->c = z->l - m_test2; } - { int ret = slice_del(z); /* delete, line 199 */ + { int ret = slice_del(z); /* delete, line 206 */ if (ret < 0) return ret; } lab0: ; } - { int mlimit3; /* setlimit, line 200 */ + { int mlimit4; /* setlimit, line 207 */ if (z->c < z->I[0]) return 0; - mlimit3 = z->lb; z->lb = z->I[0]; - z->ket = z->c; /* [, line 201 */ - among_var = find_among_b(z, a_7, 7); /* substring, line 201 */ - if (!(among_var)) { z->lb = mlimit3; return 0; } - z->bra = z->c; /* ], line 201 */ - switch (among_var) { /* among, line 201 */ + mlimit4 = z->lb; z->lb = z->I[0]; + z->ket = z->c; /* [, line 208 */ + if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit4; return 0; } /* substring, line 208 */ + among_var = find_among_b(z, a_7, 6); + if (!(among_var)) { z->lb = mlimit4; return 0; } + z->bra = z->c; /* ], line 208 */ + switch (among_var) { /* among, line 208 */ case 1: - { int ret = r_R2(z); /* call R2, line 202 */ - if (ret == 0) { z->lb = mlimit3; return 0; } + { int ret = r_R2(z); /* call R2, line 209 */ + if (ret == 0) { z->lb = mlimit4; return 0; } if (ret < 0) return ret; } - { int m4 = z->l - z->c; (void)m4; /* or, line 202 */ - if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2; /* literal, line 202 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 209 */ + if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4; /* literal, line 209 */ z->c--; - goto lab1; - lab2: - z->c = z->l - m4; - if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit3; return 0; } /* literal, line 202 */ + goto lab3; + lab4: + z->c = z->l - m5; + if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; } /* literal, line 209 */ z->c--; } - lab1: - { int ret = slice_del(z); /* delete, line 202 */ + lab3: + { int ret = slice_del(z); /* delete, line 209 */ if (ret < 0) return ret; } break; case 2: - { int ret = slice_from_s(z, 1, s_26); /* <-, line 204 */ + { int ret = slice_from_s(z, 1, s_33); /* <-, line 211 */ if (ret < 0) return ret; } break; case 3: - { int ret = slice_del(z); /* delete, line 205 */ - if (ret < 0) return ret; - } - break; - case 4: - if (!(eq_s_b(z, 2, s_27))) { z->lb = mlimit3; return 0; } /* literal, line 206 */ - { int ret = slice_del(z); /* delete, line 206 */ + { int ret = slice_del(z); /* delete, line 212 */ if (ret < 0) return ret; } break; } - z->lb = mlimit3; + z->lb = mlimit4; } return 1; } static int r_un_double(struct SN_env * z) { /* backwardmode */ - { int m_test1 = z->l - z->c; /* test, line 212 */ - if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 212 */ + { int m_test1 = z->l - z->c; /* test, line 218 */ + if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* among, line 218 */ if (!(find_among_b(z, a_8, 5))) return 0; z->c = z->l - m_test1; } - z->ket = z->c; /* [, line 212 */ + z->ket = z->c; /* [, line 218 */ { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); if (ret < 0) return 0; - z->c = ret; /* next, line 212 */ + z->c = ret; /* next, line 218 */ } - z->bra = z->c; /* ], line 212 */ - { int ret = slice_del(z); /* delete, line 212 */ + z->bra = z->c; /* ], line 218 */ + { int ret = slice_del(z); /* delete, line 218 */ if (ret < 0) return ret; } return 1; @@ -1085,8 +1137,8 @@ static int r_un_double(struct SN_env * z) { /* backwardmode */ static int r_un_accent(struct SN_env * z) { /* backwardmode */ { int i = 1; - while(1) { /* atleast, line 216 */ - if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 216 */ + while(1) { /* atleast, line 222 */ + if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0; /* non v, line 222 */ i--; continue; lab0: @@ -1094,79 +1146,79 @@ static int r_un_accent(struct SN_env * z) { /* backwardmode */ } if (i > 0) return 0; } - z->ket = z->c; /* [, line 217 */ - { int m1 = z->l - z->c; (void)m1; /* or, line 217 */ - if (!(eq_s_b(z, 2, s_28))) goto lab2; /* literal, line 217 */ + z->ket = z->c; /* [, line 223 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 223 */ + if (!(eq_s_b(z, 2, s_34))) goto lab2; /* literal, line 223 */ goto lab1; lab2: z->c = z->l - m1; - if (!(eq_s_b(z, 2, s_29))) return 0; /* literal, line 217 */ + if (!(eq_s_b(z, 2, s_35))) return 0; /* literal, line 223 */ } lab1: - z->bra = z->c; /* ], line 217 */ - { int ret = slice_from_s(z, 1, s_30); /* <-, line 217 */ + z->bra = z->c; /* ], line 223 */ + { int ret = slice_from_s(z, 1, s_36); /* <-, line 223 */ if (ret < 0) return ret; } return 1; } extern int french_UTF_8_stem(struct SN_env * z) { /* forwardmode */ - { int c1 = z->c; /* do, line 223 */ - { int ret = r_prelude(z); /* call prelude, line 223 */ + { int c1 = z->c; /* do, line 229 */ + { int ret = r_prelude(z); /* call prelude, line 229 */ if (ret == 0) goto lab0; if (ret < 0) return ret; } lab0: z->c = c1; } - /* do, line 224 */ - { int ret = r_mark_regions(z); /* call mark_regions, line 224 */ + /* do, line 230 */ + { int ret = r_mark_regions(z); /* call mark_regions, line 230 */ if (ret == 0) goto lab1; if (ret < 0) return ret; } lab1: - z->lb = z->c; z->c = z->l; /* backwards, line 225 */ + z->lb = z->c; z->c = z->l; /* backwards, line 231 */ - { int m2 = z->l - z->c; (void)m2; /* do, line 227 */ - { int m3 = z->l - z->c; (void)m3; /* or, line 237 */ - { int m4 = z->l - z->c; (void)m4; /* and, line 233 */ - { int m5 = z->l - z->c; (void)m5; /* or, line 229 */ - { int ret = r_standard_suffix(z); /* call standard_suffix, line 229 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 233 */ + { int m3 = z->l - z->c; (void)m3; /* or, line 243 */ + { int m4 = z->l - z->c; (void)m4; /* and, line 239 */ + { int m5 = z->l - z->c; (void)m5; /* or, line 235 */ + { int ret = r_standard_suffix(z); /* call standard_suffix, line 235 */ if (ret == 0) goto lab6; if (ret < 0) return ret; } goto lab5; lab6: z->c = z->l - m5; - { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 230 */ + { int ret = r_i_verb_suffix(z); /* call i_verb_suffix, line 236 */ if (ret == 0) goto lab7; if (ret < 0) return ret; } goto lab5; lab7: z->c = z->l - m5; - { int ret = r_verb_suffix(z); /* call verb_suffix, line 231 */ + { int ret = r_verb_suffix(z); /* call verb_suffix, line 237 */ if (ret == 0) goto lab4; if (ret < 0) return ret; } } lab5: z->c = z->l - m4; - { int m6 = z->l - z->c; (void)m6; /* try, line 234 */ - z->ket = z->c; /* [, line 234 */ - { int m7 = z->l - z->c; (void)m7; /* or, line 234 */ - if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 234 */ + { int m6 = z->l - z->c; (void)m6; /* try, line 240 */ + z->ket = z->c; /* [, line 240 */ + { int m7 = z->l - z->c; (void)m7; /* or, line 240 */ + if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab10; /* literal, line 240 */ z->c--; - z->bra = z->c; /* ], line 234 */ - { int ret = slice_from_s(z, 1, s_31); /* <-, line 234 */ + z->bra = z->c; /* ], line 240 */ + { int ret = slice_from_s(z, 1, s_37); /* <-, line 240 */ if (ret < 0) return ret; } goto lab9; lab10: z->c = z->l - m7; - if (!(eq_s_b(z, 2, s_32))) { z->c = z->l - m6; goto lab8; } /* literal, line 235 */ - z->bra = z->c; /* ], line 235 */ - { int ret = slice_from_s(z, 1, s_33); /* <-, line 235 */ + if (!(eq_s_b(z, 2, s_38))) { z->c = z->l - m6; goto lab8; } /* literal, line 241 */ + z->bra = z->c; /* ], line 241 */ + { int ret = slice_from_s(z, 1, s_39); /* <-, line 241 */ if (ret < 0) return ret; } } @@ -1178,7 +1230,7 @@ lab1: goto lab3; lab4: z->c = z->l - m3; - { int ret = r_residual_suffix(z); /* call residual_suffix, line 238 */ + { int ret = r_residual_suffix(z); /* call residual_suffix, line 244 */ if (ret == 0) goto lab2; if (ret < 0) return ret; } @@ -1187,16 +1239,16 @@ lab1: lab2: z->c = z->l - m2; } - { int m8 = z->l - z->c; (void)m8; /* do, line 243 */ - { int ret = r_un_double(z); /* call un_double, line 243 */ + { int m8 = z->l - z->c; (void)m8; /* do, line 249 */ + { int ret = r_un_double(z); /* call un_double, line 249 */ if (ret == 0) goto lab11; if (ret < 0) return ret; } lab11: z->c = z->l - m8; } - { int m9 = z->l - z->c; (void)m9; /* do, line 244 */ - { int ret = r_un_accent(z); /* call un_accent, line 244 */ + { int m9 = z->l - z->c; (void)m9; /* do, line 250 */ + { int ret = r_un_accent(z); /* call un_accent, line 250 */ if (ret == 0) goto lab12; if (ret < 0) return ret; } @@ -1204,8 +1256,8 @@ lab1: z->c = z->l - m9; } z->c = z->lb; - { int c10 = z->c; /* do, line 246 */ - { int ret = r_postlude(z); /* call postlude, line 246 */ + { int c10 = z->c; /* do, line 252 */ + { int ret = r_postlude(z); /* call postlude, line 252 */ if (ret == 0) goto lab13; if (ret < 0) return ret; } diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_greek.c b/src/backend/snowball/libstemmer/stem_UTF_8_greek.c new file mode 100644 index 0000000000..6566d9cafb --- /dev/null +++ b/src/backend/snowball/libstemmer/stem_UTF_8_greek.c @@ -0,0 +1,4199 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#include "header.h" + +static int r_step7(struct SN_env * z); +static int r_step6(struct SN_env * z); +static int r_step5m(struct SN_env * z); +static int r_step5l(struct SN_env * z); +static int r_step5k(struct SN_env * z); +static int r_step5j(struct SN_env * z); +static int r_step5i(struct SN_env * z); +static int r_step5h(struct SN_env * z); +static int r_step5g(struct SN_env * z); +static int r_step5f(struct SN_env * z); +static int r_step5e(struct SN_env * z); +static int r_step5d(struct SN_env * z); +static int r_step5c(struct SN_env * z); +static int r_step5b(struct SN_env * z); +static int r_step5a(struct SN_env * z); +static int r_step4(struct SN_env * z); +static int r_step3(struct SN_env * z); +static int r_step2d(struct SN_env * z); +static int r_step2c(struct SN_env * z); +static int r_step2b(struct SN_env * z); +static int r_step2a(struct SN_env * z); +static int r_step1(struct SN_env * z); +static int r_steps10(struct SN_env * z); +static int r_steps9(struct SN_env * z); +static int r_steps8(struct SN_env * z); +static int r_steps7(struct SN_env * z); +static int r_steps6(struct SN_env * z); +static int r_steps5(struct SN_env * z); +static int r_steps4(struct SN_env * z); +static int r_steps3(struct SN_env * z); +static int r_steps2(struct SN_env * z); +static int r_steps1(struct SN_env * z); +static int r_has_min_length(struct SN_env * z); +static int r_tolower(struct SN_env * z); +#ifdef __cplusplus +extern "C" { +#endif +extern int greek_UTF_8_stem(struct SN_env * z); +#ifdef __cplusplus +} +#endif +#ifdef __cplusplus +extern "C" { +#endif + + +extern struct SN_env * greek_UTF_8_create_env(void); +extern void greek_UTF_8_close_env(struct SN_env * z); + + +#ifdef __cplusplus +} +#endif +static const symbol s_0_1[2] = { 0xCF, 0x82 }; +static const symbol s_0_2[2] = { 0xCE, 0x86 }; +static const symbol s_0_3[2] = { 0xCE, 0x88 }; +static const symbol s_0_4[2] = { 0xCE, 0x89 }; +static const symbol s_0_5[2] = { 0xCE, 0x8A }; +static const symbol s_0_6[2] = { 0xCF, 0x8A }; +static const symbol s_0_7[2] = { 0xCF, 0x8B }; +static const symbol s_0_8[2] = { 0xCE, 0x8C }; +static const symbol s_0_9[2] = { 0xCF, 0x8C }; +static const symbol s_0_10[2] = { 0xCF, 0x8D }; +static const symbol s_0_11[2] = { 0xCE, 0x8E }; +static const symbol s_0_12[2] = { 0xCF, 0x8E }; +static const symbol s_0_13[2] = { 0xCE, 0x8F }; +static const symbol s_0_14[2] = { 0xCE, 0x90 }; +static const symbol s_0_15[2] = { 0xCE, 0x91 }; +static const symbol s_0_16[2] = { 0xCE, 0x92 }; +static const symbol s_0_17[2] = { 0xCE, 0x93 }; +static const symbol s_0_18[2] = { 0xCE, 0x94 }; +static const symbol s_0_19[2] = { 0xCE, 0x95 }; +static const symbol s_0_20[2] = { 0xCE, 0x96 }; +static const symbol s_0_21[2] = { 0xCE, 0x97 }; +static const symbol s_0_22[2] = { 0xCE, 0x98 }; +static const symbol s_0_23[2] = { 0xCE, 0x99 }; +static const symbol s_0_24[2] = { 0xCE, 0x9A }; +static const symbol s_0_25[2] = { 0xCE, 0x9B }; +static const symbol s_0_26[2] = { 0xCE, 0x9C }; +static const symbol s_0_27[2] = { 0xCE, 0x9D }; +static const symbol s_0_28[2] = { 0xCE, 0x9E }; +static const symbol s_0_29[2] = { 0xCE, 0x9F }; +static const symbol s_0_30[2] = { 0xCE, 0xA0 }; +static const symbol s_0_31[2] = { 0xCE, 0xA1 }; +static const symbol s_0_32[2] = { 0xCE, 0xA3 }; +static const symbol s_0_33[2] = { 0xCE, 0xA4 }; +static const symbol s_0_34[2] = { 0xCE, 0xA5 }; +static const symbol s_0_35[2] = { 0xCE, 0xA6 }; +static const symbol s_0_36[2] = { 0xCE, 0xA7 }; +static const symbol s_0_37[2] = { 0xCE, 0xA8 }; +static const symbol s_0_38[2] = { 0xCE, 0xA9 }; +static const symbol s_0_39[2] = { 0xCE, 0xAA }; +static const symbol s_0_40[2] = { 0xCE, 0xAB }; +static const symbol s_0_41[2] = { 0xCE, 0xAC }; +static const symbol s_0_42[2] = { 0xCE, 0xAD }; +static const symbol s_0_43[2] = { 0xCE, 0xAE }; +static const symbol s_0_44[2] = { 0xCE, 0xAF }; +static const symbol s_0_45[2] = { 0xCE, 0xB0 }; + +static const struct among a_0[46] = +{ +/* 0 */ { 0, 0, -1, 25, 0}, +/* 1 */ { 2, s_0_1, 0, 18, 0}, +/* 2 */ { 2, s_0_2, 0, 1, 0}, +/* 3 */ { 2, s_0_3, 0, 5, 0}, +/* 4 */ { 2, s_0_4, 0, 7, 0}, +/* 5 */ { 2, s_0_5, 0, 9, 0}, +/* 6 */ { 2, s_0_6, 0, 7, 0}, +/* 7 */ { 2, s_0_7, 0, 20, 0}, +/* 8 */ { 2, s_0_8, 0, 15, 0}, +/* 9 */ { 2, s_0_9, 0, 15, 0}, +/* 10 */ { 2, s_0_10, 0, 20, 0}, +/* 11 */ { 2, s_0_11, 0, 20, 0}, +/* 12 */ { 2, s_0_12, 0, 24, 0}, +/* 13 */ { 2, s_0_13, 0, 24, 0}, +/* 14 */ { 2, s_0_14, 0, 7, 0}, +/* 15 */ { 2, s_0_15, 0, 1, 0}, +/* 16 */ { 2, s_0_16, 0, 2, 0}, +/* 17 */ { 2, s_0_17, 0, 3, 0}, +/* 18 */ { 2, s_0_18, 0, 4, 0}, +/* 19 */ { 2, s_0_19, 0, 5, 0}, +/* 20 */ { 2, s_0_20, 0, 6, 0}, +/* 21 */ { 2, s_0_21, 0, 7, 0}, +/* 22 */ { 2, s_0_22, 0, 8, 0}, +/* 23 */ { 2, s_0_23, 0, 9, 0}, +/* 24 */ { 2, s_0_24, 0, 10, 0}, +/* 25 */ { 2, s_0_25, 0, 11, 0}, +/* 26 */ { 2, s_0_26, 0, 12, 0}, +/* 27 */ { 2, s_0_27, 0, 13, 0}, +/* 28 */ { 2, s_0_28, 0, 14, 0}, +/* 29 */ { 2, s_0_29, 0, 15, 0}, +/* 30 */ { 2, s_0_30, 0, 16, 0}, +/* 31 */ { 2, s_0_31, 0, 17, 0}, +/* 32 */ { 2, s_0_32, 0, 18, 0}, +/* 33 */ { 2, s_0_33, 0, 19, 0}, +/* 34 */ { 2, s_0_34, 0, 20, 0}, +/* 35 */ { 2, s_0_35, 0, 21, 0}, +/* 36 */ { 2, s_0_36, 0, 22, 0}, +/* 37 */ { 2, s_0_37, 0, 23, 0}, +/* 38 */ { 2, s_0_38, 0, 24, 0}, +/* 39 */ { 2, s_0_39, 0, 9, 0}, +/* 40 */ { 2, s_0_40, 0, 20, 0}, +/* 41 */ { 2, s_0_41, 0, 1, 0}, +/* 42 */ { 2, s_0_42, 0, 5, 0}, +/* 43 */ { 2, s_0_43, 0, 7, 0}, +/* 44 */ { 2, s_0_44, 0, 9, 0}, +/* 45 */ { 2, s_0_45, 0, 20, 0} +}; + +static const symbol s_1_0[16] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCF, 0x83 }; +static const symbol s_1_1[6] = { 0xCF, 0x86, 0xCF, 0x89, 0xCF, 0x83 }; +static const symbol s_1_2[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_1_3[10] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_1_4[10] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_1_5[20] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_6[10] = { 0xCF, 0x86, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_7[14] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_8[14] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_9[14] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_10[18] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_11[14] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_1_12[12] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_1_13[14] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_1_14[12] = { 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_1_15[16] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_1_16[14] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_1_17[18] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_18[8] = { 0xCF, 0x86, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_19[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_20[12] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_21[12] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_22[16] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_1_23[10] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_1_24[12] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_1_25[10] = { 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_1_26[14] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_1_27[12] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_1_28[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB7 }; +static const symbol s_1_29[20] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_30[10] = { 0xCF, 0x86, 0xCF, 0x89, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_31[14] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_32[14] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_33[14] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_34[18] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_35[12] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_36[14] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_37[12] = { 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_38[16] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_1_39[14] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_1[40] = +{ +/* 0 */ { 16, s_1_0, -1, 10, 0}, +/* 1 */ { 6, s_1_1, -1, 9, 0}, +/* 2 */ { 10, s_1_2, -1, 7, 0}, +/* 3 */ { 10, s_1_3, -1, 8, 0}, +/* 4 */ { 10, s_1_4, -1, 6, 0}, +/* 5 */ { 20, s_1_5, -1, 10, 0}, +/* 6 */ { 10, s_1_6, -1, 9, 0}, +/* 7 */ { 14, s_1_7, -1, 7, 0}, +/* 8 */ { 14, s_1_8, -1, 8, 0}, +/* 9 */ { 14, s_1_9, -1, 6, 0}, +/* 10 */ { 18, s_1_10, -1, 11, 0}, +/* 11 */ { 14, s_1_11, -1, 11, 0}, +/* 12 */ { 12, s_1_12, -1, 1, 0}, +/* 13 */ { 14, s_1_13, -1, 2, 0}, +/* 14 */ { 12, s_1_14, -1, 4, 0}, +/* 15 */ { 16, s_1_15, -1, 5, 0}, +/* 16 */ { 14, s_1_16, -1, 3, 0}, +/* 17 */ { 18, s_1_17, -1, 10, 0}, +/* 18 */ { 8, s_1_18, -1, 9, 0}, +/* 19 */ { 12, s_1_19, -1, 7, 0}, +/* 20 */ { 12, s_1_20, -1, 8, 0}, +/* 21 */ { 12, s_1_21, -1, 6, 0}, +/* 22 */ { 16, s_1_22, -1, 11, 0}, +/* 23 */ { 10, s_1_23, -1, 1, 0}, +/* 24 */ { 12, s_1_24, -1, 2, 0}, +/* 25 */ { 10, s_1_25, -1, 4, 0}, +/* 26 */ { 14, s_1_26, -1, 5, 0}, +/* 27 */ { 12, s_1_27, -1, 3, 0}, +/* 28 */ { 12, s_1_28, -1, 7, 0}, +/* 29 */ { 20, s_1_29, -1, 10, 0}, +/* 30 */ { 10, s_1_30, -1, 9, 0}, +/* 31 */ { 14, s_1_31, -1, 7, 0}, +/* 32 */ { 14, s_1_32, -1, 8, 0}, +/* 33 */ { 14, s_1_33, -1, 6, 0}, +/* 34 */ { 18, s_1_34, -1, 11, 0}, +/* 35 */ { 12, s_1_35, -1, 1, 0}, +/* 36 */ { 14, s_1_36, -1, 2, 0}, +/* 37 */ { 12, s_1_37, -1, 4, 0}, +/* 38 */ { 16, s_1_38, -1, 5, 0}, +/* 39 */ { 14, s_1_39, -1, 3, 0} +}; + +static const symbol s_2_0[4] = { 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_1[12] = { 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_2[6] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_3[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_4[12] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_5[8] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_2_6[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_2_7[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; +static const symbol s_2_8[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; + +static const struct among a_2[9] = +{ +/* 0 */ { 4, s_2_0, -1, 1, 0}, +/* 1 */ { 12, s_2_1, 0, 1, 0}, +/* 2 */ { 6, s_2_2, 0, 1, 0}, +/* 3 */ { 12, s_2_3, 0, 1, 0}, +/* 4 */ { 12, s_2_4, 0, 1, 0}, +/* 5 */ { 8, s_2_5, 0, 1, 0}, +/* 6 */ { 8, s_2_6, -1, 1, 0}, +/* 7 */ { 8, s_2_7, -1, 1, 0}, +/* 8 */ { 14, s_2_8, 7, 1, 0} +}; + +static const symbol s_3_0[2] = { 0xCF, 0x80 }; +static const symbol s_3_1[6] = { 0xCE, 0xB9, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_3_2[2] = { 0xCF, 0x81 }; +static const symbol s_3_3[4] = { 0xCF, 0x80, 0xCF, 0x81 }; +static const symbol s_3_4[6] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCF, 0x81 }; +static const symbol s_3_5[6] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 }; +static const symbol s_3_6[12] = { 0xCE, 0xB3, 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xBA, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_3_7[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_3_8[10] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_3_9[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_3_10[6] = { 0xCE, 0xB3, 0xCE, 0xBA, 0xCF, 0x81 }; +static const symbol s_3_11[14] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_3_12[12] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xB2, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_3_13[12] = { 0xCE, 0xB3, 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_3_14[6] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_3_15[2] = { 0xCE, 0xB2 }; +static const symbol s_3_16[12] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x85, 0xCF, 0x81, 0xCE, 0xB9 }; +static const symbol s_3_17[8] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA }; +static const symbol s_3_18[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA }; +static const symbol s_3_19[2] = { 0xCE, 0xBB }; +static const symbol s_3_20[2] = { 0xCE, 0xBC }; +static const symbol s_3_21[8] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xBD }; + +static const struct among a_3[22] = +{ +/* 0 */ { 2, s_3_0, -1, 1, 0}, +/* 1 */ { 6, s_3_1, 0, 1, 0}, +/* 2 */ { 2, s_3_2, -1, 1, 0}, +/* 3 */ { 4, s_3_3, 2, 1, 0}, +/* 4 */ { 6, s_3_4, 3, 1, 0}, +/* 5 */ { 6, s_3_5, 2, 1, 0}, +/* 6 */ { 12, s_3_6, 2, 1, 0}, +/* 7 */ { 10, s_3_7, 2, 1, 0}, +/* 8 */ { 10, s_3_8, 2, 1, 0}, +/* 9 */ { 6, s_3_9, 2, 1, 0}, +/* 10 */ { 6, s_3_10, 2, 1, 0}, +/* 11 */ { 14, s_3_11, 2, 1, 0}, +/* 12 */ { 12, s_3_12, 2, 1, 0}, +/* 13 */ { 12, s_3_13, 2, 1, 0}, +/* 14 */ { 6, s_3_14, -1, 1, 0}, +/* 15 */ { 2, s_3_15, -1, 1, 0}, +/* 16 */ { 12, s_3_16, -1, 1, 0}, +/* 17 */ { 8, s_3_17, -1, 1, 0}, +/* 18 */ { 8, s_3_18, -1, 1, 0}, +/* 19 */ { 2, s_3_19, -1, 1, 0}, +/* 20 */ { 2, s_3_20, -1, 1, 0}, +/* 21 */ { 8, s_3_21, -1, 1, 0} +}; + +static const symbol s_4_0[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_4_1[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_4_2[6] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCF, 0x89 }; +static const symbol s_4_3[6] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1 }; +static const symbol s_4_4[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_4_5[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_4_6[6] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5 }; +static const symbol s_4_7[12] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_4_8[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_4_9[12] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_4_10[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_4_11[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_4_12[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_4_13[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD }; + +static const struct among a_4[14] = +{ +/* 0 */ { 8, s_4_0, -1, 1, 0}, +/* 1 */ { 10, s_4_1, -1, 1, 0}, +/* 2 */ { 6, s_4_2, -1, 1, 0}, +/* 3 */ { 6, s_4_3, -1, 1, 0}, +/* 4 */ { 10, s_4_4, -1, 1, 0}, +/* 5 */ { 10, s_4_5, -1, 1, 0}, +/* 6 */ { 6, s_4_6, -1, 1, 0}, +/* 7 */ { 12, s_4_7, -1, 1, 0}, +/* 8 */ { 10, s_4_8, -1, 1, 0}, +/* 9 */ { 12, s_4_9, -1, 1, 0}, +/* 10 */ { 10, s_4_10, -1, 1, 0}, +/* 11 */ { 8, s_4_11, -1, 1, 0}, +/* 12 */ { 10, s_4_12, -1, 1, 0}, +/* 13 */ { 8, s_4_13, -1, 1, 0} +}; + +static const symbol s_5_0[2] = { 0xCF, 0x83 }; +static const symbol s_5_1[2] = { 0xCF, 0x87 }; +static const symbol s_5_2[4] = { 0xCF, 0x85, 0xCF, 0x88 }; +static const symbol s_5_3[4] = { 0xCE, 0xB6, 0xCF, 0x89 }; +static const symbol s_5_4[4] = { 0xCE, 0xB2, 0xCE, 0xB9 }; +static const symbol s_5_5[4] = { 0xCE, 0xBB, 0xCE, 0xB9 }; +static const symbol s_5_6[4] = { 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_5_7[4] = { 0xCE, 0xB5, 0xCE, 0xBD }; + +static const struct among a_5[8] = +{ +/* 0 */ { 2, s_5_0, -1, 1, 0}, +/* 1 */ { 2, s_5_1, -1, 1, 0}, +/* 2 */ { 4, s_5_2, -1, 1, 0}, +/* 3 */ { 4, s_5_3, -1, 1, 0}, +/* 4 */ { 4, s_5_4, -1, 1, 0}, +/* 5 */ { 4, s_5_5, -1, 1, 0}, +/* 6 */ { 4, s_5_6, -1, 1, 0}, +/* 7 */ { 4, s_5_7, -1, 1, 0} +}; + +static const symbol s_6_0[12] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_6_1[10] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 }; +static const symbol s_6_2[14] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_6_3[10] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 }; +static const symbol s_6_4[14] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_6_5[14] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_6_6[12] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD }; + +static const struct among a_6[7] = +{ +/* 0 */ { 12, s_6_0, -1, 1, 0}, +/* 1 */ { 10, s_6_1, -1, 1, 0}, +/* 2 */ { 14, s_6_2, -1, 1, 0}, +/* 3 */ { 10, s_6_3, -1, 1, 0}, +/* 4 */ { 14, s_6_4, -1, 1, 0}, +/* 5 */ { 14, s_6_5, -1, 1, 0}, +/* 6 */ { 12, s_6_6, -1, 1, 0} +}; + +static const symbol s_7_0[12] = { 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_1[6] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_2[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_3[12] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_4[8] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_5[14] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_7_6[12] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x87, 0xCE, 0xB1 }; +static const symbol s_7_7[4] = { 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_7_8[6] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_7_9[12] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_7_10[6] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_7_11[6] = { 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_7_12[12] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x89, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_7_13[8] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_7_14[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_7_15[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_7_16[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_7_17[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; +static const symbol s_7_18[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; + +static const struct among a_7[19] = +{ +/* 0 */ { 12, s_7_0, -1, 1, 0}, +/* 1 */ { 6, s_7_1, -1, 1, 0}, +/* 2 */ { 12, s_7_2, -1, 1, 0}, +/* 3 */ { 12, s_7_3, -1, 1, 0}, +/* 4 */ { 8, s_7_4, -1, 1, 0}, +/* 5 */ { 14, s_7_5, -1, 1, 0}, +/* 6 */ { 12, s_7_6, -1, 1, 0}, +/* 7 */ { 4, s_7_7, -1, 1, 0}, +/* 8 */ { 6, s_7_8, 7, 1, 0}, +/* 9 */ { 12, s_7_9, 8, 1, 0}, +/* 10 */ { 6, s_7_10, -1, 1, 0}, +/* 11 */ { 6, s_7_11, -1, 1, 0}, +/* 12 */ { 12, s_7_12, 11, 1, 0}, +/* 13 */ { 8, s_7_13, 11, 1, 0}, +/* 14 */ { 12, s_7_14, 13, 1, 0}, +/* 15 */ { 12, s_7_15, 11, 1, 0}, +/* 16 */ { 8, s_7_16, -1, 1, 0}, +/* 17 */ { 8, s_7_17, -1, 1, 0}, +/* 18 */ { 14, s_7_18, 17, 1, 0} +}; + +static const symbol s_8_0[2] = { 0xCF, 0x80 }; +static const symbol s_8_1[6] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_8_2[16] = { 0xCE, 0xB4, 0xCE, 0xB7, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_8_3[4] = { 0xCE, 0xB1, 0xCF, 0x86 }; +static const symbol s_8_4[18] = { 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB1, 0xCF, 0x86 }; +static const symbol s_8_5[4] = { 0xCE, 0xB3, 0xCE, 0xB5 }; +static const symbol s_8_6[6] = { 0xCE, 0xB3, 0xCE, 0xBA, 0xCE, 0xB5 }; +static const symbol s_8_7[4] = { 0xCE, 0xB3, 0xCE, 0xBA }; +static const symbol s_8_8[2] = { 0xCE, 0xBC }; +static const symbol s_8_9[12] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_8_10[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBC }; +static const symbol s_8_11[4] = { 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_8_12[6] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF }; + +static const struct among a_8[13] = +{ +/* 0 */ { 2, s_8_0, -1, 1, 0}, +/* 1 */ { 6, s_8_1, -1, 1, 0}, +/* 2 */ { 16, s_8_2, -1, 1, 0}, +/* 3 */ { 4, s_8_3, -1, 1, 0}, +/* 4 */ { 18, s_8_4, 3, 1, 0}, +/* 5 */ { 4, s_8_5, -1, 1, 0}, +/* 6 */ { 6, s_8_6, -1, 1, 0}, +/* 7 */ { 4, s_8_7, -1, 1, 0}, +/* 8 */ { 2, s_8_8, -1, 1, 0}, +/* 9 */ { 12, s_8_9, 8, 1, 0}, +/* 10 */ { 6, s_8_10, 8, 1, 0}, +/* 11 */ { 4, s_8_11, -1, 1, 0}, +/* 12 */ { 6, s_8_12, -1, 1, 0} +}; + +static const symbol s_9_0[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_9_1[6] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_9_2[6] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_9_3[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_9_4[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_9_5[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_9_6[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD }; + +static const struct among a_9[7] = +{ +/* 0 */ { 8, s_9_0, -1, 1, 0}, +/* 1 */ { 6, s_9_1, -1, 1, 0}, +/* 2 */ { 6, s_9_2, -1, 1, 0}, +/* 3 */ { 10, s_9_3, -1, 1, 0}, +/* 4 */ { 10, s_9_4, -1, 1, 0}, +/* 5 */ { 10, s_9_5, -1, 1, 0}, +/* 6 */ { 8, s_9_6, -1, 1, 0} +}; + +static const symbol s_10_0[12] = { 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_1[6] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_2[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_3[12] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_4[8] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_5[14] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xB1 }; +static const symbol s_10_6[12] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x87, 0xCE, 0xB1 }; +static const symbol s_10_7[4] = { 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_10_8[6] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_10_9[12] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB5 }; +static const symbol s_10_10[6] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_10_11[6] = { 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_10_12[12] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x89, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_10_13[8] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_10_14[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_10_15[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_10_16[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_10_17[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; +static const symbol s_10_18[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; + +static const struct among a_10[19] = +{ +/* 0 */ { 12, s_10_0, -1, 1, 0}, +/* 1 */ { 6, s_10_1, -1, 1, 0}, +/* 2 */ { 12, s_10_2, -1, 1, 0}, +/* 3 */ { 12, s_10_3, -1, 1, 0}, +/* 4 */ { 8, s_10_4, -1, 1, 0}, +/* 5 */ { 14, s_10_5, -1, 1, 0}, +/* 6 */ { 12, s_10_6, -1, 1, 0}, +/* 7 */ { 4, s_10_7, -1, 1, 0}, +/* 8 */ { 6, s_10_8, 7, 1, 0}, +/* 9 */ { 12, s_10_9, 8, 1, 0}, +/* 10 */ { 6, s_10_10, -1, 1, 0}, +/* 11 */ { 6, s_10_11, -1, 1, 0}, +/* 12 */ { 12, s_10_12, 11, 1, 0}, +/* 13 */ { 8, s_10_13, 11, 1, 0}, +/* 14 */ { 12, s_10_14, 13, 1, 0}, +/* 15 */ { 12, s_10_15, 11, 1, 0}, +/* 16 */ { 8, s_10_16, -1, 1, 0}, +/* 17 */ { 8, s_10_17, -1, 1, 0}, +/* 18 */ { 14, s_10_18, 17, 1, 0} +}; + +static const symbol s_11_0[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_11_1[6] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x89 }; +static const symbol s_11_2[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_11_3[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_11_4[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_11_5[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_11_6[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; + +static const struct among a_11[7] = +{ +/* 0 */ { 10, s_11_0, -1, 1, 0}, +/* 1 */ { 6, s_11_1, -1, 1, 0}, +/* 2 */ { 10, s_11_2, -1, 1, 0}, +/* 3 */ { 12, s_11_3, -1, 1, 0}, +/* 4 */ { 12, s_11_4, -1, 1, 0}, +/* 5 */ { 8, s_11_5, -1, 1, 0}, +/* 6 */ { 10, s_11_6, -1, 1, 0} +}; + +static const symbol s_12_0[4] = { 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_12_1[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_12_2[6] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_12_3[6] = { 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_12_4[12] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x89, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_12_5[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_12_6[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF }; + +static const struct among a_12[7] = +{ +/* 0 */ { 4, s_12_0, -1, 1, 0}, +/* 1 */ { 6, s_12_1, 0, 1, 0}, +/* 2 */ { 6, s_12_2, -1, 1, 0}, +/* 3 */ { 6, s_12_3, -1, 1, 0}, +/* 4 */ { 12, s_12_4, 3, 1, 0}, +/* 5 */ { 8, s_12_5, -1, 1, 0}, +/* 6 */ { 14, s_12_6, -1, 1, 0} +}; + +static const symbol s_13_0[2] = { 0xCF, 0x80 }; +static const symbol s_13_1[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x80 }; +static const symbol s_13_2[4] = { 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_13_3[6] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_13_4[6] = { 0xCE, 0xB3, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_13_5[4] = { 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_13_6[6] = { 0xCF, 0x87, 0xCF, 0x89, 0xCF, 0x81 }; +static const symbol s_13_7[4] = { 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_13_8[6] = { 0xCE, 0xB1, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_13_9[4] = { 0xCF, 0x87, 0xCF, 0x84 }; +static const symbol s_13_10[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCF, 0x84 }; +static const symbol s_13_11[4] = { 0xCE, 0xBA, 0xCF, 0x84 }; +static const symbol s_13_12[6] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCF, 0x84 }; +static const symbol s_13_13[4] = { 0xCF, 0x83, 0xCF, 0x87 }; +static const symbol s_13_14[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x87 }; +static const symbol s_13_15[6] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x87 }; +static const symbol s_13_16[4] = { 0xCF, 0x85, 0xCF, 0x88 }; +static const symbol s_13_17[6] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_13_18[4] = { 0xCF, 0x86, 0xCE, 0xB1 }; +static const symbol s_13_19[6] = { 0xCE, 0xB7, 0xCF, 0x86, 0xCE, 0xB1 }; +static const symbol s_13_20[6] = { 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xB3 }; +static const symbol s_13_21[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB3 }; +static const symbol s_13_22[4] = { 0xCE, 0xB7, 0xCE, 0xB4 }; +static const symbol s_13_23[6] = { 0xCE, 0xB5, 0xCF, 0x87, 0xCE, 0xB8 }; +static const symbol s_13_24[6] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_13_25[4] = { 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_13_26[6] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_13_27[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_13_28[6] = { 0xCE, 0xBA, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_13_29[6] = { 0xCF, 0x86, 0xCE, 0xB9, 0xCE, 0xBB }; +static const symbol s_13_30[2] = { 0xCE, 0xBC }; +static const symbol s_13_31[6] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xBC }; +static const symbol s_13_32[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xBD }; + +static const struct among a_13[33] = +{ +/* 0 */ { 2, s_13_0, -1, 1, 0}, +/* 1 */ { 6, s_13_1, 0, 1, 0}, +/* 2 */ { 4, s_13_2, 0, 1, 0}, +/* 3 */ { 6, s_13_3, 0, 1, 0}, +/* 4 */ { 6, s_13_4, -1, 1, 0}, +/* 5 */ { 4, s_13_5, -1, 1, 0}, +/* 6 */ { 6, s_13_6, -1, 1, 0}, +/* 7 */ { 4, s_13_7, -1, 1, 0}, +/* 8 */ { 6, s_13_8, -1, 1, 0}, +/* 9 */ { 4, s_13_9, -1, 1, 0}, +/* 10 */ { 6, s_13_10, 9, 1, 0}, +/* 11 */ { 4, s_13_11, -1, 1, 0}, +/* 12 */ { 6, s_13_12, 11, 1, 0}, +/* 13 */ { 4, s_13_13, -1, 1, 0}, +/* 14 */ { 6, s_13_14, 13, 1, 0}, +/* 15 */ { 6, s_13_15, -1, 1, 0}, +/* 16 */ { 4, s_13_16, -1, 1, 0}, +/* 17 */ { 6, s_13_17, -1, 1, 0}, +/* 18 */ { 4, s_13_18, -1, 1, 0}, +/* 19 */ { 6, s_13_19, 18, 1, 0}, +/* 20 */ { 6, s_13_20, -1, 1, 0}, +/* 21 */ { 6, s_13_21, -1, 1, 0}, +/* 22 */ { 4, s_13_22, -1, 1, 0}, +/* 23 */ { 6, s_13_23, -1, 1, 0}, +/* 24 */ { 6, s_13_24, -1, 1, 0}, +/* 25 */ { 4, s_13_25, -1, 1, 0}, +/* 26 */ { 6, s_13_26, -1, 1, 0}, +/* 27 */ { 6, s_13_27, -1, 1, 0}, +/* 28 */ { 6, s_13_28, -1, 1, 0}, +/* 29 */ { 6, s_13_29, -1, 1, 0}, +/* 30 */ { 2, s_13_30, -1, 1, 0}, +/* 31 */ { 6, s_13_31, 30, 1, 0}, +/* 32 */ { 6, s_13_32, -1, 1, 0} +}; + +static const symbol s_14_0[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_14_1[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_14_2[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB7, 0xCF, 0x83 }; +static const symbol s_14_3[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_14_4[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_14_5[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_14_6[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_14_7[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB7 }; +static const symbol s_14_8[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB9 }; +static const symbol s_14_9[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_14_10[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF }; + +static const struct among a_14[11] = +{ +/* 0 */ { 12, s_14_0, -1, 1, 0}, +/* 1 */ { 10, s_14_1, -1, 1, 0}, +/* 2 */ { 10, s_14_2, -1, 1, 0}, +/* 3 */ { 10, s_14_3, -1, 1, 0}, +/* 4 */ { 10, s_14_4, -1, 1, 0}, +/* 5 */ { 8, s_14_5, -1, 1, 0}, +/* 6 */ { 8, s_14_6, -1, 1, 0}, +/* 7 */ { 8, s_14_7, -1, 1, 0}, +/* 8 */ { 10, s_14_8, -1, 1, 0}, +/* 9 */ { 10, s_14_9, -1, 1, 0}, +/* 10 */ { 8, s_14_10, -1, 1, 0} +}; + +static const symbol s_15_0[4] = { 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_15_1[12] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_15_2[14] = { 0xCE, 0xBC, 0xCE, 0xB9, 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB5 }; +static const symbol s_15_3[10] = { 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_15_4[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5 }; + +static const struct among a_15[5] = +{ +/* 0 */ { 4, s_15_0, -1, 1, 0}, +/* 1 */ { 12, s_15_1, 0, 1, 0}, +/* 2 */ { 14, s_15_2, 0, 1, 0}, +/* 3 */ { 10, s_15_3, -1, 1, 0}, +/* 4 */ { 12, s_15_4, -1, 1, 0} +}; + +static const symbol s_16_0[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_16_1[16] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; + +static const struct among a_16[2] = +{ +/* 0 */ { 8, s_16_0, -1, 1, 0}, +/* 1 */ { 16, s_16_1, 0, 1, 0} +}; + +static const symbol s_17_0[10] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_1[14] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x80, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_2[14] = { 0xCE, 0xB3, 0xCE, 0xBD, 0xCF, 0x89, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_3[16] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBD, 0xCF, 0x89, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_4[16] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBA, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_5[12] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_6[10] = { 0xCE, 0xB5, 0xCE, 0xB8, 0xCE, 0xBD, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_17_7[14] = { 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBD }; +static const symbol s_17_8[20] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB4, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBD }; +static const symbol s_17_9[16] = { 0xCE, 0xB2, 0xCF, 0x85, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBD }; + +static const struct among a_17[10] = +{ +/* 0 */ { 10, s_17_0, -1, 7, 0}, +/* 1 */ { 14, s_17_1, -1, 6, 0}, +/* 2 */ { 14, s_17_2, -1, 3, 0}, +/* 3 */ { 16, s_17_3, 2, 1, 0}, +/* 4 */ { 16, s_17_4, -1, 5, 0}, +/* 5 */ { 12, s_17_5, -1, 2, 0}, +/* 6 */ { 10, s_17_6, -1, 4, 0}, +/* 7 */ { 14, s_17_7, -1, 10, 0}, +/* 8 */ { 20, s_17_8, -1, 8, 0}, +/* 9 */ { 16, s_17_9, -1, 9, 0} +}; + +static const symbol s_18_0[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_18_1[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_18_2[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_18_3[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xB9 }; +static const symbol s_18_4[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_18_5[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF }; + +static const struct among a_18[6] = +{ +/* 0 */ { 12, s_18_0, -1, 1, 0}, +/* 1 */ { 10, s_18_1, -1, 1, 0}, +/* 2 */ { 10, s_18_2, -1, 1, 0}, +/* 3 */ { 10, s_18_3, -1, 1, 0}, +/* 4 */ { 10, s_18_4, -1, 1, 0}, +/* 5 */ { 8, s_18_5, -1, 1, 0} +}; + +static const symbol s_19_0[2] = { 0xCF, 0x83 }; +static const symbol s_19_1[2] = { 0xCF, 0x87 }; + +static const struct among a_19[2] = +{ +/* 0 */ { 2, s_19_0, -1, 1, 0}, +/* 1 */ { 2, s_19_1, -1, 1, 0} +}; + +static const symbol s_20_0[12] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_20_1[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_20_2[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 }; +static const symbol s_20_3[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 }; + +static const struct among a_20[4] = +{ +/* 0 */ { 12, s_20_0, -1, 1, 0}, +/* 1 */ { 14, s_20_1, -1, 1, 0}, +/* 2 */ { 10, s_20_2, -1, 1, 0}, +/* 3 */ { 12, s_20_3, -1, 1, 0} +}; + +static const symbol s_21_0[12] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_21_1[2] = { 0xCF, 0x81 }; +static const symbol s_21_2[4] = { 0xCE, 0xB2, 0xCF, 0x81 }; +static const symbol s_21_3[8] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xB2, 0xCF, 0x81 }; +static const symbol s_21_4[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB2, 0xCF, 0x81 }; +static const symbol s_21_5[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_21_6[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB8, 0xCF, 0x81 }; +static const symbol s_21_7[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_21_8[2] = { 0xCF, 0x83 }; +static const symbol s_21_9[12] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_21_10[10] = { 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_21_11[4] = { 0xCF, 0x81, 0xCF, 0x85 }; +static const symbol s_21_12[2] = { 0xCF, 0x86 }; +static const symbol s_21_13[4] = { 0xCF, 0x83, 0xCF, 0x86 }; +static const symbol s_21_14[10] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x86 }; +static const symbol s_21_15[2] = { 0xCF, 0x87 }; +static const symbol s_21_16[8] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB2 }; +static const symbol s_21_17[8] = { 0xCF, 0x83, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB2 }; +static const symbol s_21_18[18] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x87, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB2 }; +static const symbol s_21_19[4] = { 0xCF, 0x84, 0xCE, 0xB6 }; +static const symbol s_21_20[2] = { 0xCE, 0xBA }; +static const symbol s_21_21[4] = { 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_21_22[10] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_21_23[6] = { 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xBA }; +static const symbol s_21_24[4] = { 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_21_25[6] = { 0xCF, 0x86, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_21_26[8] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_21_27[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_21_28[8] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBC }; +static const symbol s_21_29[8] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBC }; +static const symbol s_21_30[8] = { 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBC }; +static const symbol s_21_31[8] = { 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_21_32[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_21[33] = +{ +/* 0 */ { 12, s_21_0, -1, 1, 0}, +/* 1 */ { 2, s_21_1, -1, 1, 0}, +/* 2 */ { 4, s_21_2, 1, 1, 0}, +/* 3 */ { 8, s_21_3, 2, 1, 0}, +/* 4 */ { 8, s_21_4, 2, 1, 0}, +/* 5 */ { 6, s_21_5, 1, 1, 0}, +/* 6 */ { 8, s_21_6, 1, 1, 0}, +/* 7 */ { 6, s_21_7, 1, 1, 0}, +/* 8 */ { 2, s_21_8, -1, 1, 0}, +/* 9 */ { 12, s_21_9, 8, 1, 0}, +/* 10 */ { 10, s_21_10, -1, 1, 0}, +/* 11 */ { 4, s_21_11, -1, 1, 0}, +/* 12 */ { 2, s_21_12, -1, 1, 0}, +/* 13 */ { 4, s_21_13, 12, 1, 0}, +/* 14 */ { 10, s_21_14, 13, 1, 0}, +/* 15 */ { 2, s_21_15, -1, 1, 0}, +/* 16 */ { 8, s_21_16, -1, 1, 0}, +/* 17 */ { 8, s_21_17, -1, 1, 0}, +/* 18 */ { 18, s_21_18, 17, 1, 0}, +/* 19 */ { 4, s_21_19, -1, 1, 0}, +/* 20 */ { 2, s_21_20, -1, 1, 0}, +/* 21 */ { 4, s_21_21, 20, 1, 0}, +/* 22 */ { 10, s_21_22, 20, 1, 0}, +/* 23 */ { 6, s_21_23, 20, 1, 0}, +/* 24 */ { 4, s_21_24, -1, 1, 0}, +/* 25 */ { 6, s_21_25, -1, 1, 0}, +/* 26 */ { 8, s_21_26, -1, 1, 0}, +/* 27 */ { 6, s_21_27, -1, 1, 0}, +/* 28 */ { 8, s_21_28, -1, 1, 0}, +/* 29 */ { 8, s_21_29, -1, 1, 0}, +/* 30 */ { 8, s_21_30, -1, 1, 0}, +/* 31 */ { 8, s_21_31, -1, 1, 0}, +/* 32 */ { 6, s_21_32, -1, 1, 0} +}; + +static const symbol s_22_0[2] = { 0xCF, 0x80 }; +static const symbol s_22_1[10] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_22_2[6] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_22_3[6] = { 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x86 }; +static const symbol s_22_4[2] = { 0xCE, 0xB2 }; +static const symbol s_22_5[8] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB4 }; +static const symbol s_22_6[2] = { 0xCE, 0xB6 }; +static const symbol s_22_7[4] = { 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_22_8[6] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_22_9[4] = { 0xCE, 0xB3, 0xCE, 0xBB }; +static const symbol s_22_10[12] = { 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB }; +static const symbol s_22_11[12] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBA, 0xCF, 0x81, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_22_12[8] = { 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_22_13[14] = { 0xCE, 0xB7, 0xCE, 0xB3, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xBD }; +static const symbol s_22_14[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_22[15] = +{ +/* 0 */ { 2, s_22_0, -1, 1, 0}, +/* 1 */ { 10, s_22_1, -1, 1, 0}, +/* 2 */ { 6, s_22_2, -1, 1, 0}, +/* 3 */ { 6, s_22_3, -1, 1, 0}, +/* 4 */ { 2, s_22_4, -1, 1, 0}, +/* 5 */ { 8, s_22_5, -1, 1, 0}, +/* 6 */ { 2, s_22_6, -1, 1, 0}, +/* 7 */ { 4, s_22_7, -1, 1, 0}, +/* 8 */ { 6, s_22_8, -1, 1, 0}, +/* 9 */ { 4, s_22_9, -1, 1, 0}, +/* 10 */ { 12, s_22_10, -1, 1, 0}, +/* 11 */ { 12, s_22_11, -1, 1, 0}, +/* 12 */ { 8, s_22_12, -1, 1, 0}, +/* 13 */ { 14, s_22_13, -1, 1, 0}, +/* 14 */ { 6, s_22_14, -1, 1, 0} +}; + +static const symbol s_23_0[10] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_23_1[10] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_23_2[8] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_23_3[8] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_23_4[12] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_23_5[6] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 }; +static const symbol s_23_6[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 }; +static const symbol s_23_7[10] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_23[8] = +{ +/* 0 */ { 10, s_23_0, -1, 1, 0}, +/* 1 */ { 10, s_23_1, -1, 1, 0}, +/* 2 */ { 8, s_23_2, -1, 1, 0}, +/* 3 */ { 8, s_23_3, -1, 1, 0}, +/* 4 */ { 12, s_23_4, 3, 1, 0}, +/* 5 */ { 6, s_23_5, -1, 1, 0}, +/* 6 */ { 10, s_23_6, 5, 1, 0}, +/* 7 */ { 10, s_23_7, -1, 1, 0} +}; + +static const symbol s_24_0[4] = { 0xCE, 0xB9, 0xCF, 0x81 }; +static const symbol s_24_1[6] = { 0xCF, 0x88, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_24_2[8] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x86, 0xCE, 0xBD }; +static const symbol s_24_3[6] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF }; + +static const struct among a_24[4] = +{ +/* 0 */ { 4, s_24_0, -1, 1, 0}, +/* 1 */ { 6, s_24_1, -1, 1, 0}, +/* 2 */ { 8, s_24_2, -1, 1, 0}, +/* 3 */ { 6, s_24_3, -1, 1, 0} +}; + +static const symbol s_25_0[2] = { 0xCE, 0xB5 }; +static const symbol s_25_1[10] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x87, 0xCE, 0xBD }; + +static const struct among a_25[2] = +{ +/* 0 */ { 2, s_25_0, -1, 1, 0}, +/* 1 */ { 10, s_25_1, -1, 1, 0} +}; + +static const symbol s_26_0[8] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_26_1[10] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_26_2[8] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xBF }; + +static const struct among a_26[3] = +{ +/* 0 */ { 8, s_26_0, -1, 1, 0}, +/* 1 */ { 10, s_26_1, -1, 1, 0}, +/* 2 */ { 8, s_26_2, -1, 1, 0} +}; + +static const symbol s_27_0[2] = { 0xCF, 0x81 }; +static const symbol s_27_1[4] = { 0xCE, 0xB9, 0xCE, 0xB2 }; +static const symbol s_27_2[2] = { 0xCE, 0xB4 }; +static const symbol s_27_3[6] = { 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xBA }; +static const symbol s_27_4[10] = { 0xCF, 0x86, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA }; +static const symbol s_27_5[8] = { 0xCE, 0xBF, 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_27_6[6] = { 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBD }; + +static const struct among a_27[7] = +{ +/* 0 */ { 2, s_27_0, -1, 1, 0}, +/* 1 */ { 4, s_27_1, -1, 1, 0}, +/* 2 */ { 2, s_27_2, -1, 1, 0}, +/* 3 */ { 6, s_27_3, -1, 1, 0}, +/* 4 */ { 10, s_27_4, -1, 1, 0}, +/* 5 */ { 8, s_27_5, -1, 1, 0}, +/* 6 */ { 6, s_27_6, -1, 1, 0} +}; + +static const symbol s_28_0[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_28_1[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_28_2[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5 }; +static const symbol s_28_3[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF }; + +static const struct among a_28[4] = +{ +/* 0 */ { 10, s_28_0, -1, 1, 0}, +/* 1 */ { 10, s_28_1, -1, 1, 0}, +/* 2 */ { 8, s_28_2, -1, 1, 0}, +/* 3 */ { 8, s_28_3, -1, 1, 0} +}; + +static const symbol s_29_0[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_29_1[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_29[2] = +{ +/* 0 */ { 8, s_29_0, -1, 1, 0}, +/* 1 */ { 8, s_29_1, -1, 1, 0} +}; + +static const symbol s_30_0[10] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_30_1[6] = { 0xCE, 0xBA, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_30_2[10] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_30_3[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_30_4[10] = { 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_30_5[10] = { 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9 }; +static const symbol s_30_6[6] = { 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_30_7[4] = { 0xCE, 0xBF, 0xCE, 0xBA }; +static const symbol s_30_8[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_30_9[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD }; + +static const struct among a_30[10] = +{ +/* 0 */ { 10, s_30_0, -1, -1, 0}, +/* 1 */ { 6, s_30_1, -1, -1, 0}, +/* 2 */ { 10, s_30_2, -1, -1, 0}, +/* 3 */ { 10, s_30_3, -1, -1, 0}, +/* 4 */ { 10, s_30_4, -1, -1, 0}, +/* 5 */ { 10, s_30_5, -1, -1, 0}, +/* 6 */ { 6, s_30_6, -1, -1, 0}, +/* 7 */ { 4, s_30_7, -1, -1, 0}, +/* 8 */ { 6, s_30_8, -1, -1, 0}, +/* 9 */ { 6, s_30_9, -1, -1, 0} +}; + +static const symbol s_31_0[8] = { 0xCE, 0xB5, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_31_1[8] = { 0xCE, 0xB5, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_31[2] = +{ +/* 0 */ { 8, s_31_0, -1, 1, 0}, +/* 1 */ { 8, s_31_1, -1, 1, 0} +}; + +static const symbol s_32_0[10] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80 }; +static const symbol s_32_1[4] = { 0xCF, 0x85, 0xCF, 0x80 }; +static const symbol s_32_2[6] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_32_3[6] = { 0xCE, 0xB3, 0xCE, 0xB7, 0xCF, 0x80 }; +static const symbol s_32_4[4] = { 0xCE, 0xB9, 0xCF, 0x80 }; +static const symbol s_32_5[6] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_32_6[4] = { 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_32_7[6] = { 0xCE, 0xBC, 0xCE, 0xB9, 0xCE, 0xBB }; + +static const struct among a_32[8] = +{ +/* 0 */ { 10, s_32_0, -1, 1, 0}, +/* 1 */ { 4, s_32_1, -1, 1, 0}, +/* 2 */ { 6, s_32_2, -1, 1, 0}, +/* 3 */ { 6, s_32_3, -1, 1, 0}, +/* 4 */ { 4, s_32_4, -1, 1, 0}, +/* 5 */ { 6, s_32_5, -1, 1, 0}, +/* 6 */ { 4, s_32_6, -1, 1, 0}, +/* 7 */ { 6, s_32_7, -1, 1, 0} +}; + +static const symbol s_33_0[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_33_1[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_33[2] = +{ +/* 0 */ { 10, s_33_0, -1, 1, 0}, +/* 1 */ { 10, s_33_1, -1, 1, 0} +}; + +static const symbol s_34_0[4] = { 0xCF, 0x83, 0xCF, 0x80 }; +static const symbol s_34_1[4] = { 0xCF, 0x86, 0xCF, 0x81 }; +static const symbol s_34_2[2] = { 0xCF, 0x83 }; +static const symbol s_34_3[6] = { 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x87 }; +static const symbol s_34_4[8] = { 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_34_5[4] = { 0xCF, 0x86, 0xCE, 0xB5 }; +static const symbol s_34_6[6] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA }; +static const symbol s_34_7[4] = { 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_34_8[12] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_34_9[8] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_34_10[4] = { 0xCF, 0x86, 0xCE, 0xBB }; +static const symbol s_34_11[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_34_12[6] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_34_13[4] = { 0xCF, 0x87, 0xCE, 0xBD }; +static const symbol s_34_14[8] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBE }; + +static const struct among a_34[15] = +{ +/* 0 */ { 4, s_34_0, -1, 1, 0}, +/* 1 */ { 4, s_34_1, -1, 1, 0}, +/* 2 */ { 2, s_34_2, -1, 1, 0}, +/* 3 */ { 6, s_34_3, -1, 1, 0}, +/* 4 */ { 8, s_34_4, -1, 1, 0}, +/* 5 */ { 4, s_34_5, -1, 1, 0}, +/* 6 */ { 6, s_34_6, -1, 1, 0}, +/* 7 */ { 4, s_34_7, -1, 1, 0}, +/* 8 */ { 12, s_34_8, -1, 1, 0}, +/* 9 */ { 8, s_34_9, -1, 1, 0}, +/* 10 */ { 4, s_34_10, -1, 1, 0}, +/* 11 */ { 10, s_34_11, -1, 1, 0}, +/* 12 */ { 6, s_34_12, -1, 1, 0}, +/* 13 */ { 4, s_34_13, -1, 1, 0}, +/* 14 */ { 8, s_34_14, -1, 1, 0} +}; + +static const symbol s_35_0[6] = { 0xCE, 0xB5, 0xCF, 0x89, 0xCF, 0x83 }; +static const symbol s_35_1[6] = { 0xCE, 0xB5, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_35[2] = +{ +/* 0 */ { 6, s_35_0, -1, 1, 0}, +/* 1 */ { 6, s_35_1, -1, 1, 0} +}; + +static const symbol s_36_0[2] = { 0xCF, 0x80 }; +static const symbol s_36_1[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_36_2[2] = { 0xCE, 0xB4 }; +static const symbol s_36_3[4] = { 0xCE, 0xB9, 0xCE, 0xB4 }; +static const symbol s_36_4[2] = { 0xCE, 0xB8 }; +static const symbol s_36_5[6] = { 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_36_6[4] = { 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_36_7[2] = { 0xCE, 0xBD }; + +static const struct among a_36[8] = +{ +/* 0 */ { 2, s_36_0, -1, 1, 0}, +/* 1 */ { 6, s_36_1, -1, 1, 0}, +/* 2 */ { 2, s_36_2, -1, 1, 0}, +/* 3 */ { 4, s_36_3, 2, 1, 0}, +/* 4 */ { 2, s_36_4, -1, 1, 0}, +/* 5 */ { 6, s_36_5, -1, 1, 0}, +/* 6 */ { 4, s_36_6, -1, 1, 0}, +/* 7 */ { 2, s_36_7, -1, 1, 0} +}; + +static const symbol s_37_0[6] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_37_1[4] = { 0xCE, 0xB9, 0xCE, 0xB1 }; +static const symbol s_37_2[6] = { 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_37[3] = +{ +/* 0 */ { 6, s_37_0, -1, 1, 0}, +/* 1 */ { 4, s_37_1, -1, 1, 0}, +/* 2 */ { 6, s_37_2, -1, 1, 0} +}; + +static const symbol s_38_0[8] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_38_1[6] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xB1 }; +static const symbol s_38_2[8] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_38_3[6] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xBF }; + +static const struct among a_38[4] = +{ +/* 0 */ { 8, s_38_0, -1, 1, 0}, +/* 1 */ { 6, s_38_1, -1, 1, 0}, +/* 2 */ { 8, s_38_2, -1, 1, 0}, +/* 3 */ { 6, s_38_3, -1, 1, 0} +}; + +static const symbol s_39_0[8] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCF, 0x80 }; +static const symbol s_39_1[6] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_39_2[12] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_39_3[8] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_39_4[8] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_39_5[6] = { 0xCF, 0x86, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_39_6[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_39_7[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_39_8[8] = { 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x84 }; +static const symbol s_39_9[14] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_39_10[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x84 }; +static const symbol s_39_11[12] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_39_12[8] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCF, 0x89, 0xCE, 0xB4 }; +static const symbol s_39_13[4] = { 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_39_14[10] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_39_15[10] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_39_16[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB4 }; +static const symbol s_39_17[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4 }; +static const symbol s_39_18[8] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB4 }; +static const symbol s_39_19[12] = { 0xCF, 0x80, 0xCF, 0x81, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB4 }; +static const symbol s_39_20[10] = { 0xCF, 0x86, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB4 }; +static const symbol s_39_21[4] = { 0xCE, 0xB7, 0xCE, 0xB8 }; +static const symbol s_39_22[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB7, 0xCE, 0xB8 }; +static const symbol s_39_23[6] = { 0xCE, 0xBE, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_39_24[8] = { 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_39_25[4] = { 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_39_26[14] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x87, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_39_27[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBB }; +static const symbol s_39_28[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB }; +static const symbol s_39_29[8] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCF, 0x89, 0xCE, 0xBC }; +static const symbol s_39_30[8] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_39_31[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_39_32[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_39_33[12] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBD }; +static const symbol s_39_34[14] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB, 0xCE, 0xBD }; +static const symbol s_39_35[10] = { 0xCF, 0x86, 0xCE, 0xB9, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_39[36] = +{ +/* 0 */ { 8, s_39_0, -1, 1, 0}, +/* 1 */ { 6, s_39_1, -1, 1, 0}, +/* 2 */ { 12, s_39_2, -1, 1, 0}, +/* 3 */ { 8, s_39_3, -1, 1, 0}, +/* 4 */ { 8, s_39_4, -1, 1, 0}, +/* 5 */ { 6, s_39_5, -1, 1, 0}, +/* 6 */ { 6, s_39_6, -1, 1, 0}, +/* 7 */ { 8, s_39_7, -1, 1, 0}, +/* 8 */ { 8, s_39_8, -1, 1, 0}, +/* 9 */ { 14, s_39_9, -1, 1, 0}, +/* 10 */ { 6, s_39_10, -1, 1, 0}, +/* 11 */ { 12, s_39_11, -1, 1, 0}, +/* 12 */ { 8, s_39_12, -1, 1, 0}, +/* 13 */ { 4, s_39_13, -1, 1, 0}, +/* 14 */ { 10, s_39_14, 13, 1, 0}, +/* 15 */ { 10, s_39_15, 13, 1, 0}, +/* 16 */ { 10, s_39_16, -1, 1, 0}, +/* 17 */ { 6, s_39_17, -1, 1, 0}, +/* 18 */ { 8, s_39_18, -1, 1, 0}, +/* 19 */ { 12, s_39_19, -1, 1, 0}, +/* 20 */ { 10, s_39_20, -1, 1, 0}, +/* 21 */ { 4, s_39_21, -1, 1, 0}, +/* 22 */ { 8, s_39_22, 21, 1, 0}, +/* 23 */ { 6, s_39_23, -1, 1, 0}, +/* 24 */ { 8, s_39_24, -1, 1, 0}, +/* 25 */ { 4, s_39_25, -1, 1, 0}, +/* 26 */ { 14, s_39_26, 25, 1, 0}, +/* 27 */ { 14, s_39_27, -1, 1, 0}, +/* 28 */ { 8, s_39_28, -1, 1, 0}, +/* 29 */ { 8, s_39_29, -1, 1, 0}, +/* 30 */ { 8, s_39_30, -1, 1, 0}, +/* 31 */ { 8, s_39_31, -1, 1, 0}, +/* 32 */ { 8, s_39_32, -1, 1, 0}, +/* 33 */ { 12, s_39_33, -1, 1, 0}, +/* 34 */ { 14, s_39_34, -1, 1, 0}, +/* 35 */ { 10, s_39_35, -1, 1, 0} +}; + +static const symbol s_40_0[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_40_1[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_40_2[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_40_3[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_40_4[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; + +static const struct among a_40[5] = +{ +/* 0 */ { 12, s_40_0, -1, 1, 0}, +/* 1 */ { 10, s_40_1, -1, 1, 0}, +/* 2 */ { 10, s_40_2, -1, 1, 0}, +/* 3 */ { 10, s_40_3, -1, 1, 0}, +/* 4 */ { 14, s_40_4, 3, 1, 0} +}; + +static const symbol s_41_0[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_41_1[8] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xBA, 0xCF, 0x81 }; +static const symbol s_41_2[10] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_41_3[6] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 }; +static const symbol s_41_4[2] = { 0xCF, 0x87 }; +static const symbol s_41_5[6] = { 0xCF, 0x83, 0xCE, 0xB9, 0xCF, 0x87 }; +static const symbol s_41_6[8] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB2 }; +static const symbol s_41_7[6] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xB8 }; +static const symbol s_41_8[6] = { 0xCE, 0xBE, 0xCE, 0xB5, 0xCE, 0xB8 }; +static const symbol s_41_9[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB8 }; +static const symbol s_41_10[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA }; +static const symbol s_41_11[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; + +static const struct among a_41[12] = +{ +/* 0 */ { 8, s_41_0, -1, 1, 0}, +/* 1 */ { 8, s_41_1, -1, 1, 0}, +/* 2 */ { 10, s_41_2, -1, 1, 0}, +/* 3 */ { 6, s_41_3, -1, 1, 0}, +/* 4 */ { 2, s_41_4, -1, 1, 0}, +/* 5 */ { 6, s_41_5, 4, 1, 0}, +/* 6 */ { 8, s_41_6, -1, 1, 0}, +/* 7 */ { 6, s_41_7, -1, 1, 0}, +/* 8 */ { 6, s_41_8, -1, 1, 0}, +/* 9 */ { 8, s_41_9, -1, 1, 0}, +/* 10 */ { 8, s_41_10, -1, 1, 0}, +/* 11 */ { 6, s_41_11, -1, 1, 0} +}; + +static const symbol s_42_0[4] = { 0xCF, 0x84, 0xCF, 0x81 }; +static const symbol s_42_1[4] = { 0xCF, 0x84, 0xCF, 0x83 }; + +static const struct among a_42[2] = +{ +/* 0 */ { 4, s_42_0, -1, 1, 0}, +/* 1 */ { 4, s_42_1, -1, 1, 0} +}; + +static const symbol s_43_0[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_1[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_2[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_3[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_4[12] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_5[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_6[10] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_7[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_8[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_9[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_43_10[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; + +static const struct among a_43[11] = +{ +/* 0 */ { 12, s_43_0, -1, 1, 0}, +/* 1 */ { 10, s_43_1, -1, 1, 0}, +/* 2 */ { 14, s_43_2, -1, 1, 0}, +/* 3 */ { 16, s_43_3, 2, 1, 0}, +/* 4 */ { 12, s_43_4, -1, 1, 0}, +/* 5 */ { 14, s_43_5, 4, 1, 0}, +/* 6 */ { 10, s_43_6, -1, 1, 0}, +/* 7 */ { 12, s_43_7, 6, 1, 0}, +/* 8 */ { 10, s_43_8, -1, 1, 0}, +/* 9 */ { 10, s_43_9, -1, 1, 0}, +/* 10 */ { 14, s_43_10, 9, 1, 0} +}; + +static const symbol s_44_0[2] = { 0xCF, 0x80 }; +static const symbol s_44_1[4] = { 0xCF, 0x83, 0xCF, 0x80 }; +static const symbol s_44_2[14] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_44_3[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_44_4[18] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_44_5[8] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_44_6[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_44_7[12] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_44_8[12] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x81 }; +static const symbol s_44_9[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_44_10[4] = { 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_44_11[10] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_44_12[6] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_44_13[12] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB8, 0xCE, 0xB7, 0xCF, 0x81 }; +static const symbol s_44_14[12] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_44_15[2] = { 0xCF, 0x83 }; +static const symbol s_44_16[16] = { 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_44_17[6] = { 0xCE, 0xB8, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_44_18[6] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_44_19[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_44_20[8] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_44_21[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_44_22[8] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_44_23[14] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_44_24[6] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x84 }; +static const symbol s_44_25[12] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x81, 0xCE, 0xB9, 0xCF, 0x84 }; +static const symbol s_44_26[10] = { 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCF, 0x84 }; +static const symbol s_44_27[8] = { 0xCE, 0xB6, 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_44_28[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_44_29[2] = { 0xCF, 0x86 }; +static const symbol s_44_30[14] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x86 }; +static const symbol s_44_31[14] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xB9, 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x86 }; +static const symbol s_44_32[6] = { 0xCE, 0xBF, 0xCF, 0x81, 0xCF, 0x86 }; +static const symbol s_44_33[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x86 }; +static const symbol s_44_34[8] = { 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x86 }; +static const symbol s_44_35[16] = { 0xCF, 0x86, 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x86 }; +static const symbol s_44_36[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB7, 0xCF, 0x86 }; +static const symbol s_44_37[12] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB7, 0xCF, 0x86 }; +static const symbol s_44_38[2] = { 0xCF, 0x87 }; +static const symbol s_44_39[14] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_40[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_41[12] = { 0xCE, 0xB2, 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_42[22] = { 0xCE, 0xBC, 0xCE, 0xB9, 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xB2, 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_43[22] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB2, 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_44[22] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBD, 0xCE, 0xBF, 0xCE, 0xB2, 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB7, 0xCF, 0x87 }; +static const symbol s_44_45[6] = { 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x87 }; +static const symbol s_44_46[6] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB2 }; +static const symbol s_44_47[8] = { 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB2 }; +static const symbol s_44_48[14] = { 0xCF, 0x88, 0xCE, 0xB7, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB2 }; +static const symbol s_44_49[6] = { 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB2 }; +static const symbol s_44_50[8] = { 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB2 }; +static const symbol s_44_51[16] = { 0xCE, 0xBE, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB2 }; +static const symbol s_44_52[2] = { 0xCE, 0xB3 }; +static const symbol s_44_53[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xB3 }; +static const symbol s_44_54[10] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xB3 }; +static const symbol s_44_55[4] = { 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_44_56[8] = { 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_44_57[8] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_44_58[10] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB3, 0xCE, 0xB3 }; +static const symbol s_44_59[12] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB3, 0xCE, 0xB3 }; +static const symbol s_44_60[10] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB9, 0xCE, 0xB3, 0xCE, 0xB3 }; +static const symbol s_44_61[8] = { 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xB3 }; +static const symbol s_44_62[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB7, 0xCE, 0xB3 }; +static const symbol s_44_63[6] = { 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB3 }; +static const symbol s_44_64[14] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB6 }; +static const symbol s_44_65[2] = { 0xCE, 0xB8 }; +static const symbol s_44_66[12] = { 0xCE, 0xBC, 0xCF, 0x89, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB8 }; +static const symbol s_44_67[6] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB8 }; +static const symbol s_44_68[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB8 }; +static const symbol s_44_69[8] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_44_70[12] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x87, 0xCF, 0x85, 0xCE, 0xBA }; +static const symbol s_44_71[6] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCE, 0xBA }; +static const symbol s_44_72[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBA }; +static const symbol s_44_73[4] = { 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_44_74[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_44_75[10] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBA }; +static const symbol s_44_76[4] = { 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_44_77[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_44_78[12] = { 0xCF, 0x88, 0xCF, 0x85, 0xCF, 0x87, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_44_79[10] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_44_80[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_44_81[6] = { 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_44_82[14] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x85, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_44_83[14] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_44_84[12] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_44_85[12] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_44_86[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_44_87[12] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBB }; +static const symbol s_44_88[2] = { 0xCE, 0xBC }; +static const symbol s_44_89[14] = { 0xCE, 0xB4, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC }; +static const symbol s_44_90[10] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xBC }; +static const symbol s_44_91[16] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_44_92[16] = { 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBC }; +static const symbol s_44_93[2] = { 0xCE, 0xBD }; +static const symbol s_44_94[16] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD }; + +static const struct among a_44[95] = +{ +/* 0 */ { 2, s_44_0, -1, 1, 0}, +/* 1 */ { 4, s_44_1, 0, 1, 0}, +/* 2 */ { 14, s_44_2, 0, 1, 0}, +/* 3 */ { 8, s_44_3, 0, 1, 0}, +/* 4 */ { 18, s_44_4, 0, 1, 0}, +/* 5 */ { 8, s_44_5, 0, 1, 0}, +/* 6 */ { 6, s_44_6, 0, 1, 0}, +/* 7 */ { 12, s_44_7, 6, 1, 0}, +/* 8 */ { 12, s_44_8, -1, 1, 0}, +/* 9 */ { 6, s_44_9, -1, 1, 0}, +/* 10 */ { 4, s_44_10, -1, 1, 0}, +/* 11 */ { 10, s_44_11, 10, 1, 0}, +/* 12 */ { 6, s_44_12, 10, 1, 0}, +/* 13 */ { 12, s_44_13, -1, 1, 0}, +/* 14 */ { 12, s_44_14, -1, 1, 0}, +/* 15 */ { 2, s_44_15, -1, 1, 0}, +/* 16 */ { 16, s_44_16, 15, 1, 0}, +/* 17 */ { 6, s_44_17, 15, 1, 0}, +/* 18 */ { 6, s_44_18, 15, 1, 0}, +/* 19 */ { 10, s_44_19, 15, 1, 0}, +/* 20 */ { 8, s_44_20, -1, 1, 0}, +/* 21 */ { 8, s_44_21, -1, 1, 0}, +/* 22 */ { 8, s_44_22, -1, 1, 0}, +/* 23 */ { 14, s_44_23, -1, 1, 0}, +/* 24 */ { 6, s_44_24, -1, 1, 0}, +/* 25 */ { 12, s_44_25, -1, 1, 0}, +/* 26 */ { 10, s_44_26, -1, 1, 0}, +/* 27 */ { 8, s_44_27, -1, 1, 0}, +/* 28 */ { 10, s_44_28, -1, 1, 0}, +/* 29 */ { 2, s_44_29, -1, 1, 0}, +/* 30 */ { 14, s_44_30, 29, 1, 0}, +/* 31 */ { 14, s_44_31, 29, 1, 0}, +/* 32 */ { 6, s_44_32, 29, 1, 0}, +/* 33 */ { 8, s_44_33, 29, 1, 0}, +/* 34 */ { 8, s_44_34, 29, 1, 0}, +/* 35 */ { 16, s_44_35, 34, 1, 0}, +/* 36 */ { 10, s_44_36, 29, 1, 0}, +/* 37 */ { 12, s_44_37, 36, 1, 0}, +/* 38 */ { 2, s_44_38, -1, 1, 0}, +/* 39 */ { 14, s_44_39, 38, 1, 0}, +/* 40 */ { 8, s_44_40, 38, 1, 0}, +/* 41 */ { 12, s_44_41, 38, 1, 0}, +/* 42 */ { 22, s_44_42, 41, 1, 0}, +/* 43 */ { 22, s_44_43, 41, 1, 0}, +/* 44 */ { 22, s_44_44, 41, 1, 0}, +/* 45 */ { 6, s_44_45, 38, 1, 0}, +/* 46 */ { 6, s_44_46, -1, 1, 0}, +/* 47 */ { 8, s_44_47, 46, 1, 0}, +/* 48 */ { 14, s_44_48, 46, 1, 0}, +/* 49 */ { 6, s_44_49, -1, 1, 0}, +/* 50 */ { 8, s_44_50, 49, 1, 0}, +/* 51 */ { 16, s_44_51, 50, 1, 0}, +/* 52 */ { 2, s_44_52, -1, 1, 0}, +/* 53 */ { 10, s_44_53, 52, 1, 0}, +/* 54 */ { 10, s_44_54, 52, 1, 0}, +/* 55 */ { 4, s_44_55, 52, 1, 0}, +/* 56 */ { 8, s_44_56, 55, 1, 0}, +/* 57 */ { 8, s_44_57, 55, 1, 0}, +/* 58 */ { 10, s_44_58, 52, 1, 0}, +/* 59 */ { 12, s_44_59, 58, 1, 0}, +/* 60 */ { 10, s_44_60, 52, 1, 0}, +/* 61 */ { 8, s_44_61, 52, 1, 0}, +/* 62 */ { 8, s_44_62, 52, 1, 0}, +/* 63 */ { 6, s_44_63, 52, 1, 0}, +/* 64 */ { 14, s_44_64, -1, 1, 0}, +/* 65 */ { 2, s_44_65, -1, 1, 0}, +/* 66 */ { 12, s_44_66, 65, 1, 0}, +/* 67 */ { 6, s_44_67, 65, 1, 0}, +/* 68 */ { 8, s_44_68, 67, 1, 0}, +/* 69 */ { 8, s_44_69, -1, 1, 0}, +/* 70 */ { 12, s_44_70, -1, 1, 0}, +/* 71 */ { 6, s_44_71, -1, 1, 0}, +/* 72 */ { 10, s_44_72, -1, 1, 0}, +/* 73 */ { 4, s_44_73, -1, 1, 0}, +/* 74 */ { 8, s_44_74, 73, 1, 0}, +/* 75 */ { 10, s_44_75, -1, 1, 0}, +/* 76 */ { 4, s_44_76, -1, 1, 0}, +/* 77 */ { 8, s_44_77, 76, 1, 0}, +/* 78 */ { 12, s_44_78, 76, 1, 0}, +/* 79 */ { 10, s_44_79, 76, 1, 0}, +/* 80 */ { 6, s_44_80, -1, 1, 0}, +/* 81 */ { 6, s_44_81, -1, 1, 0}, +/* 82 */ { 14, s_44_82, 81, 1, 0}, +/* 83 */ { 14, s_44_83, 81, 1, 0}, +/* 84 */ { 12, s_44_84, 81, 1, 0}, +/* 85 */ { 12, s_44_85, -1, 1, 0}, +/* 86 */ { 6, s_44_86, -1, 1, 0}, +/* 87 */ { 12, s_44_87, -1, 1, 0}, +/* 88 */ { 2, s_44_88, -1, 1, 0}, +/* 89 */ { 14, s_44_89, 88, 1, 0}, +/* 90 */ { 10, s_44_90, 88, 1, 0}, +/* 91 */ { 16, s_44_91, 88, 1, 0}, +/* 92 */ { 16, s_44_92, 88, 1, 0}, +/* 93 */ { 2, s_44_93, -1, 1, 0}, +/* 94 */ { 16, s_44_94, 93, 1, 0} +}; + +static const symbol s_45_0[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 }; + +static const struct among a_45[1] = +{ +/* 0 */ { 10, s_45_0, -1, 1, 0} +}; + +static const symbol s_46_0[6] = { 0xCF, 0x80, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_46_1[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_46_2[6] = { 0xCF, 0x87, 0xCF, 0x89, 0xCF, 0x81 }; +static const symbol s_46_3[6] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_46_4[4] = { 0xCE, 0xB2, 0xCF, 0x81 }; +static const symbol s_46_5[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x81 }; +static const symbol s_46_6[6] = { 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_46_7[6] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCF, 0x84 }; +static const symbol s_46_8[4] = { 0xCF, 0x83, 0xCF, 0x87 }; +static const symbol s_46_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB4 }; +static const symbol s_46_10[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4 }; +static const symbol s_46_11[4] = { 0xCE, 0xBF, 0xCE, 0xB4 }; +static const symbol s_46_12[10] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB8 }; +static const symbol s_46_13[4] = { 0xCF, 0x83, 0xCE, 0xB8 }; +static const symbol s_46_14[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCE, 0xB8 }; +static const symbol s_46_15[6] = { 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_46_16[6] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_46_17[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_46_18[6] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_46_19[6] = { 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB8 }; +static const symbol s_46_20[6] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB8 }; +static const symbol s_46_21[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 }; +static const symbol s_46_22[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB8 }; +static const symbol s_46_23[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xB8 }; +static const symbol s_46_24[6] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA }; +static const symbol s_46_25[8] = { 0xCF, 0x89, 0xCF, 0x86, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_46_26[6] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCE, 0xBB }; +static const symbol s_46_27[6] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_46_28[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBD }; +static const symbol s_46_29[6] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBD }; +static const symbol s_46_30[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_46[31] = +{ +/* 0 */ { 6, s_46_0, -1, 1, 0}, +/* 1 */ { 6, s_46_1, -1, 1, 0}, +/* 2 */ { 6, s_46_2, -1, 1, 0}, +/* 3 */ { 6, s_46_3, -1, 1, 0}, +/* 4 */ { 4, s_46_4, -1, 1, 0}, +/* 5 */ { 6, s_46_5, -1, 1, 0}, +/* 6 */ { 6, s_46_6, -1, 1, 0}, +/* 7 */ { 6, s_46_7, -1, 1, 0}, +/* 8 */ { 4, s_46_8, -1, 1, 0}, +/* 9 */ { 8, s_46_9, -1, 1, 0}, +/* 10 */ { 6, s_46_10, -1, 1, 0}, +/* 11 */ { 4, s_46_11, -1, 1, 0}, +/* 12 */ { 10, s_46_12, -1, 1, 0}, +/* 13 */ { 4, s_46_13, -1, 1, 0}, +/* 14 */ { 6, s_46_14, -1, 1, 0}, +/* 15 */ { 6, s_46_15, -1, 1, 0}, +/* 16 */ { 6, s_46_16, -1, 1, 0}, +/* 17 */ { 8, s_46_17, -1, 1, 0}, +/* 18 */ { 6, s_46_18, -1, 1, 0}, +/* 19 */ { 6, s_46_19, -1, 1, 0}, +/* 20 */ { 6, s_46_20, -1, 1, 0}, +/* 21 */ { 8, s_46_21, -1, 1, 0}, +/* 22 */ { 6, s_46_22, -1, 1, 0}, +/* 23 */ { 6, s_46_23, -1, 1, 0}, +/* 24 */ { 6, s_46_24, -1, 1, 0}, +/* 25 */ { 8, s_46_25, -1, 1, 0}, +/* 26 */ { 6, s_46_26, -1, 1, 0}, +/* 27 */ { 6, s_46_27, -1, 1, 0}, +/* 28 */ { 6, s_46_28, -1, 1, 0}, +/* 29 */ { 6, s_46_29, -1, 1, 0}, +/* 30 */ { 6, s_46_30, -1, 1, 0} +}; + +static const symbol s_47_0[8] = { 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x80 }; +static const symbol s_47_1[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_47_2[8] = { 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 }; +static const symbol s_47_3[6] = { 0xCE, 0xBD, 0xCF, 0x84, 0xCF, 0x81 }; +static const symbol s_47_4[8] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_47_5[8] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_47_6[6] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCF, 0x81 }; +static const symbol s_47_7[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_47_8[2] = { 0xCF, 0x85 }; +static const symbol s_47_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCF, 0x81, 0xCF, 0x86 }; +static const symbol s_47_10[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x86 }; +static const symbol s_47_11[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_47_12[2] = { 0xCE, 0xB4 }; +static const symbol s_47_13[4] = { 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_47_14[2] = { 0xCE, 0xB8 }; +static const symbol s_47_15[4] = { 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_47_16[4] = { 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_47_17[6] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBA }; +static const symbol s_47_18[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_47_19[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_47_20[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_47_21[4] = { 0xCE, 0xB5, 0xCE, 0xBC }; +static const symbol s_47_22[4] = { 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_47_23[6] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD }; +static const symbol s_47_24[10] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_47[25] = +{ +/* 0 */ { 8, s_47_0, -1, 1, 0}, +/* 1 */ { 6, s_47_1, -1, 1, 0}, +/* 2 */ { 8, s_47_2, -1, 1, 0}, +/* 3 */ { 6, s_47_3, -1, 1, 0}, +/* 4 */ { 8, s_47_4, -1, 1, 0}, +/* 5 */ { 8, s_47_5, -1, 1, 0}, +/* 6 */ { 6, s_47_6, -1, 1, 0}, +/* 7 */ { 8, s_47_7, -1, 1, 0}, +/* 8 */ { 2, s_47_8, -1, 1, 0}, +/* 9 */ { 8, s_47_9, -1, 1, 0}, +/* 10 */ { 6, s_47_10, -1, 1, 0}, +/* 11 */ { 6, s_47_11, -1, 1, 0}, +/* 12 */ { 2, s_47_12, -1, 1, 0}, +/* 13 */ { 4, s_47_13, 12, 1, 0}, +/* 14 */ { 2, s_47_14, -1, 1, 0}, +/* 15 */ { 4, s_47_15, 14, 1, 0}, +/* 16 */ { 4, s_47_16, -1, 1, 0}, +/* 17 */ { 6, s_47_17, -1, 1, 0}, +/* 18 */ { 6, s_47_18, -1, 1, 0}, +/* 19 */ { 14, s_47_19, -1, 1, 0}, +/* 20 */ { 8, s_47_20, -1, 1, 0}, +/* 21 */ { 4, s_47_21, -1, 1, 0}, +/* 22 */ { 4, s_47_22, -1, 1, 0}, +/* 23 */ { 6, s_47_23, -1, 1, 0}, +/* 24 */ { 10, s_47_24, -1, 1, 0} +}; + +static const symbol s_48_0[10] = { 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_48_1[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 }; + +static const struct among a_48[2] = +{ +/* 0 */ { 10, s_48_0, -1, 1, 0}, +/* 1 */ { 10, s_48_1, -1, 1, 0} +}; + +static const symbol s_49_0[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_49_1[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; + +static const struct among a_49[2] = +{ +/* 0 */ { 12, s_49_0, -1, 1, 0}, +/* 1 */ { 14, s_49_1, 0, 1, 0} +}; + +static const symbol s_50_0[2] = { 0xCF, 0x80 }; +static const symbol s_50_1[4] = { 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_50_2[12] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x80 }; +static const symbol s_50_3[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_50_4[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_50_5[14] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 }; + +static const struct among a_50[6] = +{ +/* 0 */ { 2, s_50_0, -1, 1, 0}, +/* 1 */ { 4, s_50_1, 0, 1, 0}, +/* 2 */ { 12, s_50_2, 1, 1, 0}, +/* 3 */ { 8, s_50_3, 0, 1, 0}, +/* 4 */ { 10, s_50_4, 3, 1, 0}, +/* 5 */ { 14, s_50_5, -1, 1, 0} +}; + +static const symbol s_51_0[4] = { 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_51_1[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_51_2[2] = { 0xCE, 0xB6 }; +static const symbol s_51_3[4] = { 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_51_4[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_51_5[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_51_6[2] = { 0xCE, 0xBC }; +static const symbol s_51_7[2] = { 0xCE, 0xBE }; +static const symbol s_51_8[6] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF }; + +static const struct among a_51[9] = +{ +/* 0 */ { 4, s_51_0, -1, 1, 0}, +/* 1 */ { 6, s_51_1, -1, 1, 0}, +/* 2 */ { 2, s_51_2, -1, 1, 0}, +/* 3 */ { 4, s_51_3, -1, 1, 0}, +/* 4 */ { 14, s_51_4, 3, 1, 0}, +/* 5 */ { 10, s_51_5, -1, 1, 0}, +/* 6 */ { 2, s_51_6, -1, 1, 0}, +/* 7 */ { 2, s_51_7, -1, 1, 0}, +/* 8 */ { 6, s_51_8, -1, 1, 0} +}; + +static const symbol s_52_0[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_52_1[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 }; +static const symbol s_52_2[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 }; + +static const struct among a_52[3] = +{ +/* 0 */ { 12, s_52_0, -1, 1, 0}, +/* 1 */ { 10, s_52_1, -1, 1, 0}, +/* 2 */ { 10, s_52_2, -1, 1, 0} +}; + +static const symbol s_53_0[4] = { 0xCF, 0x83, 0xCF, 0x86 }; +static const symbol s_53_1[8] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB8 }; +static const symbol s_53_2[6] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB8 }; +static const symbol s_53_3[4] = { 0xCE, 0xBF, 0xCE, 0xB8 }; +static const symbol s_53_4[10] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB }; +static const symbol s_53_5[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCF, 0x89, 0xCE, 0xBB }; + +static const struct among a_53[6] = +{ +/* 0 */ { 4, s_53_0, -1, 1, 0}, +/* 1 */ { 8, s_53_1, -1, 1, 0}, +/* 2 */ { 6, s_53_2, -1, 1, 0}, +/* 3 */ { 4, s_53_3, -1, 1, 0}, +/* 4 */ { 10, s_53_4, -1, 1, 0}, +/* 5 */ { 8, s_53_5, -1, 1, 0} +}; + +static const symbol s_54_0[2] = { 0xCE, 0xB8 }; +static const symbol s_54_1[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB8 }; +static const symbol s_54_2[18] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_54_3[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 }; +static const symbol s_54_4[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 }; + +static const struct among a_54[5] = +{ +/* 0 */ { 2, s_54_0, -1, 1, 0}, +/* 1 */ { 10, s_54_1, 0, 1, 0}, +/* 2 */ { 18, s_54_2, 0, 1, 0}, +/* 3 */ { 8, s_54_3, 0, 1, 0}, +/* 4 */ { 8, s_54_4, 0, 1, 0} +}; + +static const symbol s_55_0[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_55_1[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 }; +static const symbol s_55_2[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 }; + +static const struct among a_55[3] = +{ +/* 0 */ { 8, s_55_0, -1, 1, 0}, +/* 1 */ { 6, s_55_1, -1, 1, 0}, +/* 2 */ { 6, s_55_2, -1, 1, 0} +}; + +static const symbol s_56_0[8] = { 0xCE, 0xB2, 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x80 }; +static const symbol s_56_1[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_56_2[8] = { 0xCF, 0x80, 0xCF, 0x81, 0xCF, 0x89, 0xCF, 0x84 }; +static const symbol s_56_3[10] = { 0xCE, 0xBA, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_56_4[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x87 }; +static const symbol s_56_5[6] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x87 }; +static const symbol s_56_6[6] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_56_7[6] = { 0xCE, 0xBB, 0xCE, 0xB7, 0xCE, 0xB3 }; +static const symbol s_56_8[8] = { 0xCF, 0x86, 0xCF, 0x81, 0xCF, 0x85, 0xCE, 0xB4 }; +static const symbol s_56_9[12] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBB }; +static const symbol s_56_10[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB }; +static const symbol s_56_11[4] = { 0xCE, 0xBF, 0xCE, 0xBC }; + +static const struct among a_56[12] = +{ +/* 0 */ { 8, s_56_0, -1, 1, 0}, +/* 1 */ { 10, s_56_1, -1, 1, 0}, +/* 2 */ { 8, s_56_2, -1, 1, 0}, +/* 3 */ { 10, s_56_3, -1, 1, 0}, +/* 4 */ { 12, s_56_4, -1, 1, 0}, +/* 5 */ { 6, s_56_5, -1, 1, 0}, +/* 6 */ { 6, s_56_6, -1, 1, 0}, +/* 7 */ { 6, s_56_7, -1, 1, 0}, +/* 8 */ { 8, s_56_8, -1, 1, 0}, +/* 9 */ { 12, s_56_9, -1, 1, 0}, +/* 10 */ { 8, s_56_10, -1, 1, 0}, +/* 11 */ { 4, s_56_11, -1, 1, 0} +}; + +static const symbol s_57_0[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x80 }; +static const symbol s_57_1[2] = { 0xCF, 0x81 }; +static const symbol s_57_2[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 }; +static const symbol s_57_3[16] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x86, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_57_4[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_57_5[14] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 }; +static const symbol s_57_6[16] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 }; +static const symbol s_57_7[6] = { 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x87 }; +static const symbol s_57_8[6] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_57_9[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_57_10[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB4 }; +static const symbol s_57_11[12] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB4 }; +static const symbol s_57_12[4] = { 0xCE, 0xB4, 0xCE, 0xB5 }; +static const symbol s_57_13[6] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5 }; +static const symbol s_57_14[10] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB6 }; +static const symbol s_57_15[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB6 }; +static const symbol s_57_16[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xB8 }; +static const symbol s_57_17[12] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_57_18[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA }; +static const symbol s_57_19[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB7, 0xCE, 0xBA }; +static const symbol s_57_20[2] = { 0xCE, 0xBB }; +static const symbol s_57_21[2] = { 0xCE, 0xBC }; +static const symbol s_57_22[4] = { 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_57_23[8] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBC }; +static const symbol s_57_24[14] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBD }; + +static const struct among a_57[25] = +{ +/* 0 */ { 10, s_57_0, -1, 1, 0}, +/* 1 */ { 2, s_57_1, -1, 1, 0}, +/* 2 */ { 10, s_57_2, 1, 1, 0}, +/* 3 */ { 16, s_57_3, 1, 1, 0}, +/* 4 */ { 6, s_57_4, -1, 1, 0}, +/* 5 */ { 14, s_57_5, -1, 1, 0}, +/* 6 */ { 16, s_57_6, -1, 1, 0}, +/* 7 */ { 6, s_57_7, -1, 1, 0}, +/* 8 */ { 6, s_57_8, -1, 1, 0}, +/* 9 */ { 6, s_57_9, -1, 1, 0}, +/* 10 */ { 6, s_57_10, -1, 1, 0}, +/* 11 */ { 12, s_57_11, -1, 1, 0}, +/* 12 */ { 4, s_57_12, -1, 1, 0}, +/* 13 */ { 6, s_57_13, -1, 1, 0}, +/* 14 */ { 10, s_57_14, -1, 1, 0}, +/* 15 */ { 12, s_57_15, -1, 1, 0}, +/* 16 */ { 6, s_57_16, -1, 1, 0}, +/* 17 */ { 12, s_57_17, -1, 1, 0}, +/* 18 */ { 6, s_57_18, -1, 1, 0}, +/* 19 */ { 8, s_57_19, -1, 1, 0}, +/* 20 */ { 2, s_57_20, -1, 1, 0}, +/* 21 */ { 2, s_57_21, -1, 1, 0}, +/* 22 */ { 4, s_57_22, 21, 1, 0}, +/* 23 */ { 8, s_57_23, 21, 1, 0}, +/* 24 */ { 14, s_57_24, -1, 1, 0} +}; + +static const symbol s_58_0[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_58_1[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_58_2[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5 }; + +static const struct among a_58[3] = +{ +/* 0 */ { 10, s_58_0, -1, 1, 0}, +/* 1 */ { 8, s_58_1, -1, 1, 0}, +/* 2 */ { 8, s_58_2, -1, 1, 0} +}; + +static const symbol s_59_0[6] = { 0xCF, 0x88, 0xCE, 0xBF, 0xCF, 0x86 }; +static const symbol s_59_1[12] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 }; + +static const struct among a_59[2] = +{ +/* 0 */ { 6, s_59_0, -1, -1, 0}, +/* 1 */ { 12, s_59_1, -1, -1, 0} +}; + +static const symbol s_60_0[4] = { 0xCF, 0x81, 0xCF, 0x80 }; +static const symbol s_60_1[4] = { 0xCF, 0x80, 0xCF, 0x81 }; +static const symbol s_60_2[4] = { 0xCF, 0x86, 0xCF, 0x81 }; +static const symbol s_60_3[8] = { 0xCF, 0x87, 0xCE, 0xBF, 0xCF, 0x81, 0xCF, 0x84 }; +static const symbol s_60_4[4] = { 0xCF, 0x83, 0xCF, 0x86 }; +static const symbol s_60_5[4] = { 0xCE, 0xBF, 0xCF, 0x86 }; +static const symbol s_60_6[6] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 }; +static const symbol s_60_7[6] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBB }; +static const symbol s_60_8[4] = { 0xCE, 0xBB, 0xCE, 0xBB }; +static const symbol s_60_9[8] = { 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBD }; + +static const struct among a_60[10] = +{ +/* 0 */ { 4, s_60_0, -1, 1, 0}, +/* 1 */ { 4, s_60_1, -1, 1, 0}, +/* 2 */ { 4, s_60_2, -1, 1, 0}, +/* 3 */ { 8, s_60_3, -1, 1, 0}, +/* 4 */ { 4, s_60_4, -1, 1, 0}, +/* 5 */ { 4, s_60_5, -1, 1, 0}, +/* 6 */ { 6, s_60_6, -1, 1, 0}, +/* 7 */ { 6, s_60_7, -1, 1, 0}, +/* 8 */ { 4, s_60_8, -1, 1, 0}, +/* 9 */ { 8, s_60_9, -1, 1, 0} +}; + +static const symbol s_61_0[2] = { 0xCF, 0x80 }; +static const symbol s_61_1[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80 }; +static const symbol s_61_2[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x80 }; +static const symbol s_61_3[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xB9, 0xCF, 0x80 }; +static const symbol s_61_4[8] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x80 }; +static const symbol s_61_5[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 }; +static const symbol s_61_6[16] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x89, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_7[14] = { 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_8[12] = { 0xCE, 0xB4, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_9[8] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_10[16] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_11[8] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_61_12[2] = { 0xCF, 0x81 }; +static const symbol s_61_13[4] = { 0xCF, 0x84, 0xCF, 0x81 }; +static const symbol s_61_14[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x81 }; +static const symbol s_61_15[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_61_16[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_61_17[8] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 }; +static const symbol s_61_18[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_61_19[2] = { 0xCF, 0x84 }; +static const symbol s_61_20[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_61_21[10] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_61_22[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_61_23[12] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_61_24[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_61_25[8] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB9, 0xCF, 0x84 }; +static const symbol s_61_26[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_61_27[8] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 }; +static const symbol s_61_28[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 }; +static const symbol s_61_29[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 }; +static const symbol s_61_30[10] = { 0xCE, 0xBD, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 }; +static const symbol s_61_31[6] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85 }; +static const symbol s_61_32[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCF, 0x86 }; +static const symbol s_61_33[4] = { 0xCE, 0xB1, 0xCF, 0x86 }; +static const symbol s_61_34[6] = { 0xCE, 0xBE, 0xCE, 0xB5, 0xCF, 0x86 }; +static const symbol s_61_35[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x86 }; +static const symbol s_61_36[8] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 }; +static const symbol s_61_37[12] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xB9 }; +static const symbol s_61_38[2] = { 0xCE, 0xBB }; +static const symbol s_61_39[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB }; +static const symbol s_61_40[2] = { 0xCE, 0xBC }; +static const symbol s_61_41[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_61_42[4] = { 0xCE, 0xB5, 0xCE, 0xBD }; +static const symbol s_61_43[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD }; + +static const struct among a_61[44] = +{ +/* 0 */ { 2, s_61_0, -1, 1, 0}, +/* 1 */ { 6, s_61_1, 0, 1, 0}, +/* 2 */ { 8, s_61_2, 0, 1, 0}, +/* 3 */ { 10, s_61_3, 0, 1, 0}, +/* 4 */ { 8, s_61_4, 0, 1, 0}, +/* 5 */ { 8, s_61_5, 0, 1, 0}, +/* 6 */ { 16, s_61_6, 0, 1, 0}, +/* 7 */ { 14, s_61_7, 0, 1, 0}, +/* 8 */ { 12, s_61_8, 0, 1, 0}, +/* 9 */ { 8, s_61_9, 0, 1, 0}, +/* 10 */ { 16, s_61_10, 0, 1, 0}, +/* 11 */ { 8, s_61_11, 0, 1, 0}, +/* 12 */ { 2, s_61_12, -1, 1, 0}, +/* 13 */ { 4, s_61_13, 12, 1, 0}, +/* 14 */ { 6, s_61_14, 12, 1, 0}, +/* 15 */ { 10, s_61_15, 12, 1, 0}, +/* 16 */ { 6, s_61_16, 12, 1, 0}, +/* 17 */ { 8, s_61_17, 16, 1, 0}, +/* 18 */ { 8, s_61_18, 12, 1, 0}, +/* 19 */ { 2, s_61_19, -1, 1, 0}, +/* 20 */ { 10, s_61_20, 19, 1, 0}, +/* 21 */ { 10, s_61_21, 19, 1, 0}, +/* 22 */ { 10, s_61_22, 19, 1, 0}, +/* 23 */ { 12, s_61_23, 19, 1, 0}, +/* 24 */ { 8, s_61_24, 19, 1, 0}, +/* 25 */ { 8, s_61_25, 19, 1, 0}, +/* 26 */ { 8, s_61_26, 19, 1, 0}, +/* 27 */ { 8, s_61_27, 19, 1, 0}, +/* 28 */ { 8, s_61_28, 19, 1, 0}, +/* 29 */ { 8, s_61_29, 19, 1, 0}, +/* 30 */ { 10, s_61_30, 29, 1, 0}, +/* 31 */ { 6, s_61_31, -1, 1, 0}, +/* 32 */ { 10, s_61_32, -1, 1, 0}, +/* 33 */ { 4, s_61_33, -1, 1, 0}, +/* 34 */ { 6, s_61_34, -1, 1, 0}, +/* 35 */ { 8, s_61_35, -1, 1, 0}, +/* 36 */ { 8, s_61_36, -1, 1, 0}, +/* 37 */ { 12, s_61_37, -1, 1, 0}, +/* 38 */ { 2, s_61_38, -1, 1, 0}, +/* 39 */ { 8, s_61_39, 38, 1, 0}, +/* 40 */ { 2, s_61_40, -1, 1, 0}, +/* 41 */ { 10, s_61_41, 40, 1, 0}, +/* 42 */ { 4, s_61_42, -1, 1, 0}, +/* 43 */ { 12, s_61_43, 42, 1, 0} +}; + +static const symbol s_62_0[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_62_1[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1 }; +static const symbol s_62_2[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5 }; + +static const struct among a_62[3] = +{ +/* 0 */ { 8, s_62_0, -1, 1, 0}, +/* 1 */ { 6, s_62_1, -1, 1, 0}, +/* 2 */ { 6, s_62_2, -1, 1, 0} +}; + +static const symbol s_63_0[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_63_1[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_63_2[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5 }; + +static const struct among a_63[3] = +{ +/* 0 */ { 8, s_63_0, -1, 1, 0}, +/* 1 */ { 6, s_63_1, -1, 1, 0}, +/* 2 */ { 6, s_63_2, -1, 1, 0} +}; + +static const symbol s_64_0[2] = { 0xCE, 0xBD }; +static const symbol s_64_1[10] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_64_2[14] = { 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xB4, 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_64_3[12] = { 0xCF, 0x87, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xBD }; +static const symbol s_64_4[14] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xBD }; +static const symbol s_64_5[12] = { 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB7, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xBD }; + +static const struct among a_64[6] = +{ +/* 0 */ { 2, s_64_0, -1, 1, 0}, +/* 1 */ { 10, s_64_1, 0, 1, 0}, +/* 2 */ { 14, s_64_2, 0, 1, 0}, +/* 3 */ { 12, s_64_3, 0, 1, 0}, +/* 4 */ { 14, s_64_4, 0, 1, 0}, +/* 5 */ { 12, s_64_5, 0, 1, 0} +}; + +static const symbol s_65_0[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; + +static const struct among a_65[1] = +{ +/* 0 */ { 8, s_65_0, -1, 1, 0} +}; + +static const symbol s_66_0[4] = { 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_66_1[10] = { 0xCE, 0xB4, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_66_2[8] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_66_3[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_66_4[14] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xB9, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x87, 0xCF, 0x81 }; +static const symbol s_66_5[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBC, 0xCF, 0x88 }; +static const symbol s_66_6[4] = { 0xCF, 0x83, 0xCE, 0xB2 }; +static const symbol s_66_7[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB2 }; +static const symbol s_66_8[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB }; +static const symbol s_66_9[10] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBD }; + +static const struct among a_66[10] = +{ +/* 0 */ { 4, s_66_0, -1, 1, 0}, +/* 1 */ { 10, s_66_1, 0, 1, 0}, +/* 2 */ { 8, s_66_2, 0, 1, 0}, +/* 3 */ { 6, s_66_3, 0, 1, 0}, +/* 4 */ { 14, s_66_4, 0, 1, 0}, +/* 5 */ { 12, s_66_5, -1, 1, 0}, +/* 6 */ { 4, s_66_6, -1, 1, 0}, +/* 7 */ { 6, s_66_7, 6, 1, 0}, +/* 8 */ { 6, s_66_8, -1, 1, 0}, +/* 9 */ { 10, s_66_9, -1, 1, 0} +}; + +static const symbol s_67_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_67_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_67_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 }; + +static const struct among a_67[3] = +{ +/* 0 */ { 8, s_67_0, -1, 1, 0}, +/* 1 */ { 12, s_67_1, 0, 1, 0}, +/* 2 */ { 12, s_67_2, 0, 1, 0} +}; + +static const symbol s_68_0[2] = { 0xCF, 0x81 }; +static const symbol s_68_1[22] = { 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_68_2[18] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_68_3[6] = { 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB9 }; +static const symbol s_68_4[2] = { 0xCE, 0xBD }; +static const symbol s_68_5[8] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_68[6] = +{ +/* 0 */ { 2, s_68_0, -1, 1, 0}, +/* 1 */ { 22, s_68_1, -1, 1, 0}, +/* 2 */ { 18, s_68_2, -1, 1, 0}, +/* 3 */ { 6, s_68_3, -1, 1, 0}, +/* 4 */ { 2, s_68_4, -1, 1, 0}, +/* 5 */ { 8, s_68_5, 4, 1, 0} +}; + +static const symbol s_69_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_69_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_69_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 }; + +static const struct among a_69[3] = +{ +/* 0 */ { 8, s_69_0, -1, 1, 0}, +/* 1 */ { 12, s_69_1, 0, 1, 0}, +/* 2 */ { 12, s_69_2, 0, 1, 0} +}; + +static const symbol s_70_0[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_70_1[16] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_70_2[16] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_70_3[2] = { 0xCF, 0x86 }; +static const symbol s_70_4[2] = { 0xCF, 0x87 }; +static const symbol s_70_5[4] = { 0xCE, 0xB1, 0xCE, 0xB6 }; +static const symbol s_70_6[12] = { 0xCF, 0x89, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xBB }; + +static const struct among a_70[7] = +{ +/* 0 */ { 10, s_70_0, -1, 1, 0}, +/* 1 */ { 16, s_70_1, 0, 1, 0}, +/* 2 */ { 16, s_70_2, -1, 1, 0}, +/* 3 */ { 2, s_70_3, -1, 1, 0}, +/* 4 */ { 2, s_70_4, -1, 1, 0}, +/* 5 */ { 4, s_70_5, -1, 1, 0}, +/* 6 */ { 12, s_70_6, -1, 1, 0} +}; + +static const symbol s_71_0[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_71_1[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 }; +static const symbol s_71_2[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD }; + +static const struct among a_71[3] = +{ +/* 0 */ { 10, s_71_0, -1, 1, 0}, +/* 1 */ { 8, s_71_1, -1, 1, 0}, +/* 2 */ { 10, s_71_2, -1, 1, 0} +}; + +static const symbol s_72_0[4] = { 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_72_1[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_72_2[4] = { 0xCE, 0xB1, 0xCF, 0x83 }; +static const symbol s_72_3[4] = { 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_72_4[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_72_5[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 }; +static const symbol s_72_6[4] = { 0xCE, 0xB7, 0xCF, 0x83 }; +static const symbol s_72_7[6] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_72_8[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_72_9[4] = { 0xCE, 0xBF, 0xCF, 0x83 }; +static const symbol s_72_10[2] = { 0xCF, 0x85 }; +static const symbol s_72_11[4] = { 0xCE, 0xBF, 0xCF, 0x85 }; +static const symbol s_72_12[2] = { 0xCF, 0x89 }; +static const symbol s_72_13[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x89 }; +static const symbol s_72_14[4] = { 0xCE, 0xB1, 0xCF, 0x89 }; +static const symbol s_72_15[6] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCF, 0x89 }; +static const symbol s_72_16[2] = { 0xCE, 0xB1 }; +static const symbol s_72_17[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1 }; +static const symbol s_72_18[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 }; +static const symbol s_72_19[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 }; +static const symbol s_72_20[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 }; +static const symbol s_72_21[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 }; +static const symbol s_72_22[2] = { 0xCE, 0xB5 }; +static const symbol s_72_23[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_24[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_25[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_26[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_27[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_28[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_29[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_30[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_31[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_32[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_33[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_34[8] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_35[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_72_36[2] = { 0xCE, 0xB7 }; +static const symbol s_72_37[2] = { 0xCE, 0xB9 }; +static const symbol s_72_38[8] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_39[8] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_40[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_41[8] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_42[8] = { 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_43[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_44[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_45[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_46[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_47[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_48[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_49[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_50[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 }; +static const symbol s_72_51[4] = { 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_72_52[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_72_53[6] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_72_54[8] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9 }; +static const symbol s_72_55[4] = { 0xCE, 0xBF, 0xCE, 0xB9 }; +static const symbol s_72_56[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_57[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_58[10] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_59[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_60[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_61[10] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_62[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_72_63[4] = { 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_72_64[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_72_65[4] = { 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_66[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_67[16] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_68[18] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_69[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_70[14] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_71[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_72[14] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_73[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_74[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_75[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_76[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_77[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_78[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_79[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_80[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_81[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_82[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_72_83[2] = { 0xCE, 0xBF }; + +static const struct among a_72[84] = +{ +/* 0 */ { 4, s_72_0, -1, 1, 0}, +/* 1 */ { 6, s_72_1, 0, 1, 0}, +/* 2 */ { 4, s_72_2, -1, 1, 0}, +/* 3 */ { 4, s_72_3, -1, 1, 0}, +/* 4 */ { 8, s_72_4, 3, 1, 0}, +/* 5 */ { 8, s_72_5, 3, 1, 0}, +/* 6 */ { 4, s_72_6, -1, 1, 0}, +/* 7 */ { 6, s_72_7, -1, 1, 0}, +/* 8 */ { 10, s_72_8, 7, 1, 0}, +/* 9 */ { 4, s_72_9, -1, 1, 0}, +/* 10 */ { 2, s_72_10, -1, 1, 0}, +/* 11 */ { 4, s_72_11, 10, 1, 0}, +/* 12 */ { 2, s_72_12, -1, 1, 0}, +/* 13 */ { 6, s_72_13, 12, 1, 0}, +/* 14 */ { 4, s_72_14, 12, 1, 0}, +/* 15 */ { 6, s_72_15, 12, 1, 0}, +/* 16 */ { 2, s_72_16, -1, 1, 0}, +/* 17 */ { 10, s_72_17, 16, 1, 0}, +/* 18 */ { 12, s_72_18, 16, 1, 0}, +/* 19 */ { 14, s_72_19, 18, 1, 0}, +/* 20 */ { 12, s_72_20, 16, 1, 0}, +/* 21 */ { 14, s_72_21, 20, 1, 0}, +/* 22 */ { 2, s_72_22, -1, 1, 0}, +/* 23 */ { 14, s_72_23, 22, 1, 0}, +/* 24 */ { 12, s_72_24, 22, 1, 0}, +/* 25 */ { 14, s_72_25, 24, 1, 0}, +/* 26 */ { 14, s_72_26, 22, 1, 0}, +/* 27 */ { 16, s_72_27, 26, 1, 0}, +/* 28 */ { 14, s_72_28, 22, 1, 0}, +/* 29 */ { 12, s_72_29, 22, 1, 0}, +/* 30 */ { 10, s_72_30, 22, 1, 0}, +/* 31 */ { 10, s_72_31, 22, 1, 0}, +/* 32 */ { 10, s_72_32, 22, 1, 0}, +/* 33 */ { 14, s_72_33, 32, 1, 0}, +/* 34 */ { 8, s_72_34, 22, 1, 0}, +/* 35 */ { 12, s_72_35, 34, 1, 0}, +/* 36 */ { 2, s_72_36, -1, 1, 0}, +/* 37 */ { 2, s_72_37, -1, 1, 0}, +/* 38 */ { 8, s_72_38, 37, 1, 0}, +/* 39 */ { 8, s_72_39, 37, 1, 0}, +/* 40 */ { 10, s_72_40, 39, 1, 0}, +/* 41 */ { 8, s_72_41, 37, 1, 0}, +/* 42 */ { 8, s_72_42, 37, 1, 0}, +/* 43 */ { 10, s_72_43, 42, 1, 0}, +/* 44 */ { 12, s_72_44, 37, 1, 0}, +/* 45 */ { 14, s_72_45, 44, 1, 0}, +/* 46 */ { 10, s_72_46, 37, 1, 0}, +/* 47 */ { 10, s_72_47, 37, 1, 0}, +/* 48 */ { 8, s_72_48, 37, 1, 0}, +/* 49 */ { 10, s_72_49, 37, 1, 0}, +/* 50 */ { 8, s_72_50, 37, 1, 0}, +/* 51 */ { 4, s_72_51, 37, 1, 0}, +/* 52 */ { 8, s_72_52, 51, 1, 0}, +/* 53 */ { 6, s_72_53, 51, 1, 0}, +/* 54 */ { 8, s_72_54, 51, 1, 0}, +/* 55 */ { 4, s_72_55, 37, 1, 0}, +/* 56 */ { 6, s_72_56, -1, 1, 0}, +/* 57 */ { 10, s_72_57, 56, 1, 0}, +/* 58 */ { 10, s_72_58, 56, 1, 0}, +/* 59 */ { 12, s_72_59, 58, 1, 0}, +/* 60 */ { 10, s_72_60, 56, 1, 0}, +/* 61 */ { 10, s_72_61, 56, 1, 0}, +/* 62 */ { 12, s_72_62, 61, 1, 0}, +/* 63 */ { 4, s_72_63, -1, 1, 0}, +/* 64 */ { 8, s_72_64, 63, 1, 0}, +/* 65 */ { 4, s_72_65, -1, 1, 0}, +/* 66 */ { 10, s_72_66, 65, 1, 0}, +/* 67 */ { 16, s_72_67, 66, 1, 0}, +/* 68 */ { 18, s_72_68, 67, 1, 0}, +/* 69 */ { 8, s_72_69, 65, 1, 0}, +/* 70 */ { 14, s_72_70, 65, 1, 0}, +/* 71 */ { 16, s_72_71, 70, 1, 0}, +/* 72 */ { 14, s_72_72, 65, 1, 0}, +/* 73 */ { 16, s_72_73, 72, 1, 0}, +/* 74 */ { 12, s_72_74, 65, 1, 0}, +/* 75 */ { 14, s_72_75, 74, 1, 0}, +/* 76 */ { 10, s_72_76, 65, 1, 0}, +/* 77 */ { 12, s_72_77, 76, 1, 0}, +/* 78 */ { 8, s_72_78, 65, 1, 0}, +/* 79 */ { 10, s_72_79, 78, 1, 0}, +/* 80 */ { 8, s_72_80, 65, 1, 0}, +/* 81 */ { 8, s_72_81, 65, 1, 0}, +/* 82 */ { 12, s_72_82, 81, 1, 0}, +/* 83 */ { 2, s_72_83, -1, 1, 0} +}; + +static const symbol s_73_0[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_73_1[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_73_2[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_73_3[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_73_4[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_73_5[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_73_6[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 }; +static const symbol s_73_7[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 }; + +static const struct among a_73[8] = +{ +/* 0 */ { 10, s_73_0, -1, 1, 0}, +/* 1 */ { 8, s_73_1, -1, 1, 0}, +/* 2 */ { 8, s_73_2, -1, 1, 0}, +/* 3 */ { 8, s_73_3, -1, 1, 0}, +/* 4 */ { 10, s_73_4, -1, 1, 0}, +/* 5 */ { 8, s_73_5, -1, 1, 0}, +/* 6 */ { 8, s_73_6, -1, 1, 0}, +/* 7 */ { 8, s_73_7, -1, 1, 0} +}; + +static const unsigned char g_v[] = { 81, 65, 16, 1 }; + +static const unsigned char g_v2[] = { 81, 65, 0, 1 }; + +static const symbol s_0[] = { 0xCE, 0xB1 }; +static const symbol s_1[] = { 0xCE, 0xB2 }; +static const symbol s_2[] = { 0xCE, 0xB3 }; +static const symbol s_3[] = { 0xCE, 0xB4 }; +static const symbol s_4[] = { 0xCE, 0xB5 }; +static const symbol s_5[] = { 0xCE, 0xB6 }; +static const symbol s_6[] = { 0xCE, 0xB7 }; +static const symbol s_7[] = { 0xCE, 0xB8 }; +static const symbol s_8[] = { 0xCE, 0xB9 }; +static const symbol s_9[] = { 0xCE, 0xBA }; +static const symbol s_10[] = { 0xCE, 0xBB }; +static const symbol s_11[] = { 0xCE, 0xBC }; +static const symbol s_12[] = { 0xCE, 0xBD }; +static const symbol s_13[] = { 0xCE, 0xBE }; +static const symbol s_14[] = { 0xCE, 0xBF }; +static const symbol s_15[] = { 0xCF, 0x80 }; +static const symbol s_16[] = { 0xCF, 0x81 }; +static const symbol s_17[] = { 0xCF, 0x83 }; +static const symbol s_18[] = { 0xCF, 0x84 }; +static const symbol s_19[] = { 0xCF, 0x85 }; +static const symbol s_20[] = { 0xCF, 0x86 }; +static const symbol s_21[] = { 0xCF, 0x87 }; +static const symbol s_22[] = { 0xCF, 0x88 }; +static const symbol s_23[] = { 0xCF, 0x89 }; +static const symbol s_24[] = { 0xCF, 0x86, 0xCE, 0xB1 }; +static const symbol s_25[] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB1 }; +static const symbol s_26[] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF }; +static const symbol s_27[] = { 0xCF, 0x83, 0xCE, 0xBF }; +static const symbol s_28[] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF }; +static const symbol s_29[] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5 }; +static const symbol s_30[] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_31[] = { 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 }; +static const symbol s_32[] = { 0xCF, 0x86, 0xCF, 0x89 }; +static const symbol s_33[] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_34[] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBF, 0xCE, 0xBD }; +static const symbol s_35[] = { 0xCE, 0xB9 }; +static const symbol s_36[] = { 0xCE, 0xB9, 0xCE, 0xB6 }; +static const symbol s_37[] = { 0xCF, 0x89, 0xCE, 0xBD }; +static const symbol s_38[] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1 }; +static const symbol s_39[] = { 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_40[] = { 0xCE, 0xB9 }; +static const symbol s_41[] = { 0xCE, 0xB9, 0xCF, 0x83 }; +static const symbol s_42[] = { 0xCE, 0xB9 }; +static const symbol s_43[] = { 0xCE, 0xB9 }; +static const symbol s_44[] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_45[] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC }; +static const symbol s_46[] = { 0xCE, 0xB9 }; +static const symbol s_47[] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBD, 0xCF, 0x89, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_48[] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBC }; +static const symbol s_49[] = { 0xCE, 0xB3, 0xCE, 0xBD, 0xCF, 0x89, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_50[] = { 0xCE, 0xB5, 0xCE, 0xB8, 0xCE, 0xBD }; +static const symbol s_51[] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBA, 0xCF, 0x84 }; +static const symbol s_52[] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x80, 0xCF, 0x84 }; +static const symbol s_53[] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x80 }; +static const symbol s_54[] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB4, 0xCF, 0x81 }; +static const symbol s_55[] = { 0xCE, 0xB2, 0xCF, 0x85, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_56[] = { 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x81 }; +static const symbol s_57[] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_58[] = { 0xCE, 0xB1, 0xCE, 0xBA }; +static const symbol s_59[] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_60[] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81 }; +static const symbol s_61[] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83 }; +static const symbol s_62[] = { 0xCE, 0xB9, 0xCE, 0xB4 }; +static const symbol s_63[] = { 0xCE, 0xB9, 0xCE, 0xB4 }; +static const symbol s_64[] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA }; +static const symbol s_65[] = { 0xCE, 0xB1, 0xCE, 0xB4 }; +static const symbol s_66[] = { 0xCE, 0xB5, 0xCE, 0xB4 }; +static const symbol s_67[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4 }; +static const symbol s_68[] = { 0xCE, 0xB5 }; +static const symbol s_69[] = { 0xCE, 0xB9 }; +static const symbol s_70[] = { 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_71[] = { 0xCE, 0xB9, 0xCE, 0xBA }; +static const symbol s_72[] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_73[] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_74[] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 }; +static const symbol s_75[] = { 0xCE, 0xB1, 0xCE, 0xBC }; +static const symbol s_76[] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_77[] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 }; +static const symbol s_78[] = { 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_79[] = { 0xCE, 0xB1, 0xCE, 0xBD }; +static const symbol s_80[] = { 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_81[] = { 0xCE, 0xB5, 0xCF, 0x84 }; +static const symbol s_82[] = { 0xCE, 0xB5, 0xCF, 0x84 }; +static const symbol s_83[] = { 0xCE, 0xB5, 0xCF, 0x84 }; +static const symbol s_84[] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x87 }; +static const symbol s_85[] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_86[] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5 }; +static const symbol s_87[] = { 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84 }; +static const symbol s_88[] = { 0xCE, 0xBF, 0xCE, 0xBD }; +static const symbol s_89[] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_90[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_91[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_92[] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 }; +static const symbol s_93[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_94[] = { 0xCE, 0xB7, 0xCE, 0xBA }; +static const symbol s_95[] = { 0xCE, 0xB7, 0xCE, 0xBA }; +static const symbol s_96[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_97[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 }; +static const symbol s_98[] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBB }; +static const symbol s_99[] = { 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_100[] = { 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_101[] = { 0xCE, 0xB1, 0xCE, 0xB3 }; +static const symbol s_102[] = { 0xCE, 0xB7, 0xCF, 0x83 }; +static const symbol s_103[] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x84 }; +static const symbol s_104[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD }; +static const symbol s_105[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC }; +static const symbol s_106[] = { 0xCE, 0xBC, 0xCE, 0xB1 }; + +static int r_has_min_length(struct SN_env * z) { /* backwardmode */ + if (!(len_utf8(z->p) >= 3)) return 0; /* $( >= ), line 111 */ + return 1; +} + +static int r_tolower(struct SN_env * z) { /* backwardmode */ + int among_var; + while(1) { /* repeat, line 115 */ + int m1 = z->l - z->c; (void)m1; + z->ket = z->c; /* [, line 116 */ + among_var = find_among_b(z, a_0, 46); /* substring, line 116 */ + if (!(among_var)) goto lab0; + z->bra = z->c; /* ], line 116 */ + switch (among_var) { /* among, line 116 */ + case 1: + { int ret = slice_from_s(z, 2, s_0); /* <-, line 117 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 2, s_1); /* <-, line 118 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 2, s_2); /* <-, line 119 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 2, s_3); /* <-, line 120 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 2, s_4); /* <-, line 121 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 2, s_5); /* <-, line 122 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 2, s_6); /* <-, line 123 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 2, s_7); /* <-, line 124 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 2, s_8); /* <-, line 125 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 2, s_9); /* <-, line 126 */ + if (ret < 0) return ret; + } + break; + case 11: + { int ret = slice_from_s(z, 2, s_10); /* <-, line 127 */ + if (ret < 0) return ret; + } + break; + case 12: + { int ret = slice_from_s(z, 2, s_11); /* <-, line 128 */ + if (ret < 0) return ret; + } + break; + case 13: + { int ret = slice_from_s(z, 2, s_12); /* <-, line 129 */ + if (ret < 0) return ret; + } + break; + case 14: + { int ret = slice_from_s(z, 2, s_13); /* <-, line 130 */ + if (ret < 0) return ret; + } + break; + case 15: + { int ret = slice_from_s(z, 2, s_14); /* <-, line 131 */ + if (ret < 0) return ret; + } + break; + case 16: + { int ret = slice_from_s(z, 2, s_15); /* <-, line 132 */ + if (ret < 0) return ret; + } + break; + case 17: + { int ret = slice_from_s(z, 2, s_16); /* <-, line 133 */ + if (ret < 0) return ret; + } + break; + case 18: + { int ret = slice_from_s(z, 2, s_17); /* <-, line 134 */ + if (ret < 0) return ret; + } + break; + case 19: + { int ret = slice_from_s(z, 2, s_18); /* <-, line 135 */ + if (ret < 0) return ret; + } + break; + case 20: + { int ret = slice_from_s(z, 2, s_19); /* <-, line 136 */ + if (ret < 0) return ret; + } + break; + case 21: + { int ret = slice_from_s(z, 2, s_20); /* <-, line 137 */ + if (ret < 0) return ret; + } + break; + case 22: + { int ret = slice_from_s(z, 2, s_21); /* <-, line 138 */ + if (ret < 0) return ret; + } + break; + case 23: + { int ret = slice_from_s(z, 2, s_22); /* <-, line 139 */ + if (ret < 0) return ret; + } + break; + case 24: + { int ret = slice_from_s(z, 2, s_23); /* <-, line 140 */ + if (ret < 0) return ret; + } + break; + case 25: + { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1); + if (ret < 0) goto lab0; + z->c = ret; /* next, line 162 */ + } + break; + } + continue; + lab0: + z->c = z->l - m1; + break; + } + return 1; +} + +static int r_step1(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 168 */ + among_var = find_among_b(z, a_1, 40); /* substring, line 168 */ + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 168 */ + switch (among_var) { /* among, line 168 */ + case 1: + { int ret = slice_from_s(z, 4, s_24); /* <-, line 169 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 6, s_25); /* <-, line 170 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 6, s_26); /* <-, line 171 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 4, s_27); /* <-, line 172 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 8, s_28); /* <-, line 173 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 6, s_29); /* <-, line 174 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 6, s_30); /* <-, line 175 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 6, s_31); /* <-, line 176 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 4, s_32); /* <-, line 177 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 12, s_33); /* <-, line 178 */ + if (ret < 0) return ret; + } + break; + case 11: + { int ret = slice_from_s(z, 10, s_34); /* <-, line 179 */ + if (ret < 0) return ret; + } + break; + } + z->B[0] = 0; /* unset test1, line 181 */ + return 1; +} + +static int r_steps1(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 185 */ + if (!(find_among_b(z, a_4, 14))) return 0; /* substring, line 185 */ + z->bra = z->c; /* ], line 185 */ + { int ret = slice_del(z); /* delete, line 188 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 189 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 193 */ + z->ket = z->c; /* [, line 190 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-2145255424 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1; /* substring, line 190 */ + if (!(find_among_b(z, a_2, 9))) goto lab1; + z->bra = z->c; /* ], line 190 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 190 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 192 */ + if (z->S[0] == 0) return -1; /* -> s, line 192 */ + { int ret = slice_from_s(z, 2, s_35); /* <-, line 192 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 192 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 194 */ + if (!(find_among_b(z, a_3, 22))) return 0; /* substring, line 194 */ + z->bra = z->c; /* ], line 194 */ + if (z->c > z->lb) return 0; /* atlimit, line 194 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 198 */ + if (z->S[0] == 0) return -1; /* -> s, line 198 */ + { int ret = slice_from_s(z, 4, s_36); /* <-, line 198 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 198 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_steps2(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 205 */ + if (!(find_among_b(z, a_6, 7))) return 0; /* substring, line 205 */ + z->bra = z->c; /* ], line 205 */ + { int ret = slice_del(z); /* delete, line 207 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 208 */ + z->ket = z->c; /* [, line 209 */ + if (!(find_among_b(z, a_5, 8))) return 0; /* substring, line 209 */ + z->bra = z->c; /* ], line 209 */ + if (z->c > z->lb) return 0; /* atlimit, line 209 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 210 */ + if (z->S[0] == 0) return -1; /* -> s, line 210 */ + { int ret = slice_from_s(z, 4, s_37); /* <-, line 210 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 210 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_steps3(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 217 */ + if (!(find_among_b(z, a_9, 7))) return 0; /* substring, line 217 */ + z->bra = z->c; /* ], line 217 */ + { int ret = slice_del(z); /* delete, line 219 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 220 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 221 */ + if (!(eq_s_b(z, 6, s_38))) goto lab1; /* literal, line 221 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 221 */ + { int ret = slice_from_s(z, 4, s_39); /* <-, line 221 */ + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 222 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-2145255424 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2; /* substring, line 222 */ + if (!(find_among_b(z, a_7, 19))) goto lab2; + z->bra = z->c; /* ], line 222 */ + if (z->c > z->lb) goto lab2; /* atlimit, line 222 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 226 */ + if (z->S[0] == 0) return -1; /* -> s, line 226 */ + { int ret = slice_from_s(z, 2, s_40); /* <-, line 226 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 226 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab2: + z->c = z->l - m1; + z->ket = z->c; /* [, line 228 */ + if (!(find_among_b(z, a_8, 13))) return 0; /* substring, line 228 */ + z->bra = z->c; /* ], line 228 */ + if (z->c > z->lb) return 0; /* atlimit, line 228 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 231 */ + if (z->S[0] == 0) return -1; /* -> s, line 231 */ + { int ret = slice_from_s(z, 4, s_41); /* <-, line 231 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 231 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_steps4(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 238 */ + if (!(find_among_b(z, a_11, 7))) return 0; /* substring, line 238 */ + z->bra = z->c; /* ], line 238 */ + { int ret = slice_del(z); /* delete, line 240 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 241 */ + z->ket = z->c; /* [, line 242 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-2145255424 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 242 */ + if (!(find_among_b(z, a_10, 19))) return 0; + z->bra = z->c; /* ], line 242 */ + if (z->c > z->lb) return 0; /* atlimit, line 242 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 246 */ + if (z->S[0] == 0) return -1; /* -> s, line 246 */ + { int ret = slice_from_s(z, 2, s_42); /* <-, line 246 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 246 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_steps5(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 253 */ + if (!(find_among_b(z, a_14, 11))) return 0; /* substring, line 253 */ + z->bra = z->c; /* ], line 253 */ + { int ret = slice_del(z); /* delete, line 256 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 257 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 261 */ + z->ket = z->c; /* [, line 258 */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 181 && z->p[z->c - 1] != 191)) goto lab1; /* substring, line 258 */ + if (!(find_among_b(z, a_12, 7))) goto lab1; + z->bra = z->c; /* ], line 258 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 258 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 260 */ + if (z->S[0] == 0) return -1; /* -> s, line 260 */ + { int ret = slice_from_s(z, 2, s_43); /* <-, line 260 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 260 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 262 */ + if (!(find_among_b(z, a_13, 33))) return 0; /* substring, line 262 */ + z->bra = z->c; /* ], line 262 */ + if (z->c > z->lb) return 0; /* atlimit, line 262 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 266 */ + if (z->S[0] == 0) return -1; /* -> s, line 266 */ + { int ret = slice_from_s(z, 6, s_44); /* <-, line 266 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 266 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_steps6(struct SN_env * z) { /* backwardmode */ + int among_var; + z->ket = z->c; /* [, line 273 */ + if (!(find_among_b(z, a_18, 6))) return 0; /* substring, line 273 */ + z->bra = z->c; /* ], line 273 */ + { int ret = slice_del(z); /* delete, line 275 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 276 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 280 */ + z->ket = z->c; /* [, line 277 */ + if (z->c - 3 <= z->lb || z->p[z->c - 1] != 181) goto lab1; /* substring, line 277 */ + if (!(find_among_b(z, a_15, 5))) goto lab1; + z->bra = z->c; /* ], line 277 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 277 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 279 */ + if (z->S[0] == 0) return -1; /* -> s, line 279 */ + { int ret = slice_from_s(z, 6, s_45); /* <-, line 279 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 279 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 281 */ + if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) goto lab2; /* substring, line 281 */ + if (!(find_among_b(z, a_16, 2))) goto lab2; + z->bra = z->c; /* ], line 281 */ + if (z->c > z->lb) goto lab2; /* atlimit, line 281 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 283 */ + if (z->S[0] == 0) return -1; /* -> s, line 283 */ + { int ret = slice_from_s(z, 2, s_46); /* <-, line 283 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 283 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab2: + z->c = z->l - m1; + z->ket = z->c; /* [, line 285 */ + if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 186 && z->p[z->c - 1] != 189)) return 0; /* substring, line 285 */ + among_var = find_among_b(z, a_17, 10); + if (!(among_var)) return 0; + z->bra = z->c; /* ], line 285 */ + switch (among_var) { /* among, line 285 */ + case 1: + { int ret = slice_from_s(z, 12, s_47); /* <-, line 286 */ + if (ret < 0) return ret; + } + break; + case 2: + { int ret = slice_from_s(z, 8, s_48); /* <-, line 287 */ + if (ret < 0) return ret; + } + break; + case 3: + { int ret = slice_from_s(z, 10, s_49); /* <-, line 288 */ + if (ret < 0) return ret; + } + break; + case 4: + { int ret = slice_from_s(z, 6, s_50); /* <-, line 289 */ + if (ret < 0) return ret; + } + break; + case 5: + { int ret = slice_from_s(z, 12, s_51); /* <-, line 290 */ + if (ret < 0) return ret; + } + break; + case 6: + { int ret = slice_from_s(z, 10, s_52); /* <-, line 291 */ + if (ret < 0) return ret; + } + break; + case 7: + { int ret = slice_from_s(z, 6, s_53); /* <-, line 292 */ + if (ret < 0) return ret; + } + break; + case 8: + { int ret = slice_from_s(z, 16, s_54); /* <-, line 293 */ + if (ret < 0) return ret; + } + break; + case 9: + { int ret = slice_from_s(z, 12, s_55); /* <-, line 294 */ + if (ret < 0) return ret; + } + break; + case 10: + { int ret = slice_from_s(z, 10, s_56); /* <-, line 295 */ + if (ret < 0) return ret; + } + break; + } + } +lab0: + return 1; +} + +static int r_steps7(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 302 */ + if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 177 && z->p[z->c - 1] != 185)) return 0; /* substring, line 302 */ + if (!(find_among_b(z, a_20, 4))) return 0; + z->bra = z->c; /* ], line 302 */ + { int ret = slice_del(z); /* delete, line 304 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 305 */ + z->ket = z->c; /* [, line 306 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 135)) return 0; /* substring, line 306 */ + if (!(find_among_b(z, a_19, 2))) return 0; + z->bra = z->c; /* ], line 306 */ + if (z->c > z->lb) return 0; /* atlimit, line 306 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 308 */ + if (z->S[0] == 0) return -1; /* -> s, line 308 */ + { int ret = slice_from_s(z, 8, s_57); /* <-, line 308 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 308 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_steps8(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 315 */ + if (!(find_among_b(z, a_23, 8))) return 0; /* substring, line 315 */ + z->bra = z->c; /* ], line 315 */ + { int ret = slice_del(z); /* delete, line 317 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 318 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 325 */ + z->ket = z->c; /* [, line 319 */ + if (!(find_among_b(z, a_21, 33))) goto lab1; /* substring, line 319 */ + z->bra = z->c; /* ], line 319 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 319 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 324 */ + if (z->S[0] == 0) return -1; /* -> s, line 324 */ + { int ret = slice_from_s(z, 4, s_58); /* <-, line 324 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 324 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 326 */ + if (!(find_among_b(z, a_22, 15))) goto lab2; /* substring, line 326 */ + z->bra = z->c; /* ], line 326 */ + if (z->c > z->lb) goto lab2; /* atlimit, line 326 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 329 */ + if (z->S[0] == 0) return -1; /* -> s, line 329 */ + { int ret = slice_from_s(z, 6, s_59); /* <-, line 329 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 329 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab2: + z->c = z->l - m1; + z->ket = z->c; /* [, line 331 */ + if (!(eq_s_b(z, 6, s_60))) return 0; /* literal, line 331 */ + z->bra = z->c; /* ], line 331 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 331 */ + if (z->S[0] == 0) return -1; /* -> s, line 331 */ + { int ret = slice_from_s(z, 6, s_61); /* <-, line 331 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 331 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_steps9(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 337 */ + if (z->c - 7 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-1610481664 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0; /* substring, line 337 */ + if (!(find_among_b(z, a_26, 3))) return 0; + z->bra = z->c; /* ], line 337 */ + { int ret = slice_del(z); /* delete, line 339 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 340 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 343 */ + z->ket = z->c; /* [, line 341 */ + if (!(find_among_b(z, a_24, 4))) goto lab1; /* substring, line 341 */ + z->bra = z->c; /* ], line 341 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 341 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 342 */ + if (z->S[0] == 0) return -1; /* -> s, line 342 */ + { int ret = slice_from_s(z, 4, s_62); /* <-, line 342 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 342 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 344 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 181 && z->p[z->c - 1] != 189)) return 0; /* substring, line 344 */ + if (!(find_among_b(z, a_25, 2))) return 0; + z->bra = z->c; /* ], line 344 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 345 */ + if (z->S[0] == 0) return -1; /* -> s, line 345 */ + { int ret = slice_from_s(z, 4, s_63); /* <-, line 345 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 345 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_steps10(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 352 */ + if (!(find_among_b(z, a_28, 4))) return 0; /* substring, line 352 */ + z->bra = z->c; /* ], line 352 */ + { int ret = slice_del(z); /* delete, line 354 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 355 */ + z->ket = z->c; /* [, line 356 */ + if (!(find_among_b(z, a_27, 7))) return 0; /* substring, line 356 */ + z->bra = z->c; /* ], line 356 */ + if (z->c > z->lb) return 0; /* atlimit, line 356 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 358 */ + if (z->S[0] == 0) return -1; /* -> s, line 358 */ + { int ret = slice_from_s(z, 6, s_64); /* <-, line 358 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 358 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step2a(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 365 */ + if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0; /* substring, line 365 */ + if (!(find_among_b(z, a_29, 2))) return 0; + z->bra = z->c; /* ], line 365 */ + { int ret = slice_del(z); /* delete, line 366 */ + if (ret < 0) return ret; + } + { int m1 = z->l - z->c; (void)m1; /* not, line 368 */ + z->ket = z->c; /* [, line 368 */ + if (!(find_among_b(z, a_30, 10))) goto lab0; /* substring, line 368 */ + z->bra = z->c; /* ], line 368 */ + return 0; + lab0: + z->c = z->l - m1; + } + { int ret; + { int saved_c = z->c; + ret = insert_s(z, z->c, z->c, 4, s_65); /* <+, line 371 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step2b(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 375 */ + if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0; /* substring, line 375 */ + if (!(find_among_b(z, a_31, 2))) return 0; + z->bra = z->c; /* ], line 375 */ + { int ret = slice_del(z); /* delete, line 376 */ + if (ret < 0) return ret; + } + z->ket = z->c; /* [, line 378 */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 128 && z->p[z->c - 1] != 187)) return 0; /* substring, line 378 */ + if (!(find_among_b(z, a_32, 8))) return 0; + z->bra = z->c; /* ], line 378 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 379 */ + if (z->S[0] == 0) return -1; /* -> s, line 379 */ + { int ret = slice_from_s(z, 4, s_66); /* <-, line 379 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 379 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step2c(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 384 */ + if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0; /* substring, line 384 */ + if (!(find_among_b(z, a_33, 2))) return 0; + z->bra = z->c; /* ], line 384 */ + { int ret = slice_del(z); /* delete, line 385 */ + if (ret < 0) return ret; + } + z->ket = z->c; /* [, line 387 */ + if (!(find_among_b(z, a_34, 15))) return 0; /* substring, line 387 */ + z->bra = z->c; /* ], line 387 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 389 */ + if (z->S[0] == 0) return -1; /* -> s, line 389 */ + { int ret = slice_from_s(z, 6, s_67); /* <-, line 389 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 389 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step2d(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 394 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0; /* substring, line 394 */ + if (!(find_among_b(z, a_35, 2))) return 0; + z->bra = z->c; /* ], line 394 */ + { int ret = slice_del(z); /* delete, line 395 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 395 */ + z->ket = z->c; /* [, line 397 */ + if (!(find_among_b(z, a_36, 8))) return 0; /* substring, line 397 */ + z->bra = z->c; /* ], line 397 */ + if (z->c > z->lb) return 0; /* atlimit, line 397 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 398 */ + if (z->S[0] == 0) return -1; /* -> s, line 398 */ + { int ret = slice_from_s(z, 2, s_68); /* <-, line 398 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 398 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step3(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 403 */ + if (!(find_among_b(z, a_37, 3))) return 0; /* substring, line 403 */ + z->bra = z->c; /* ], line 403 */ + { int ret = slice_del(z); /* delete, line 404 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 404 */ + z->ket = z->c; /* [, line 406 */ + if (in_grouping_b_U(z, g_v, 945, 969, 0)) return 0; /* grouping v, line 406 */ + z->bra = z->c; /* ], line 406 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 406 */ + if (z->S[0] == 0) return -1; /* -> s, line 406 */ + { int ret = slice_from_s(z, 2, s_69); /* <-, line 406 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 406 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step4(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 410 */ + if (!(find_among_b(z, a_38, 4))) return 0; /* substring, line 410 */ + z->bra = z->c; /* ], line 410 */ + { int ret = slice_del(z); /* delete, line 411 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 411 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 413 */ + z->ket = z->c; /* [, line 413 */ + if (in_grouping_b_U(z, g_v, 945, 969, 0)) goto lab1; /* grouping v, line 413 */ + z->bra = z->c; /* ], line 413 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 413 */ + if (z->S[0] == 0) return -1; /* -> s, line 413 */ + { int ret = slice_from_s(z, 4, s_70); /* <-, line 413 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 413 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 414 */ + } +lab0: + if (!(find_among_b(z, a_39, 36))) return 0; /* substring, line 414 */ + z->bra = z->c; /* ], line 414 */ + if (z->c > z->lb) return 0; /* atlimit, line 414 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 419 */ + if (z->S[0] == 0) return -1; /* -> s, line 419 */ + { int ret = slice_from_s(z, 4, s_71); /* <-, line 419 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 419 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5a(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 424 */ + if (!(eq_s_b(z, 10, s_72))) goto lab0; /* literal, line 424 */ + if (z->c > z->lb) goto lab0; /* atlimit, line 424 */ + { int ret = slice_from_s(z, 8, s_73); /* <-, line 424 */ + if (ret < 0) return ret; + } + lab0: + z->c = z->l - m1; + } + { int m2 = z->l - z->c; (void)m2; /* do, line 425 */ + z->ket = z->c; /* [, line 426 */ + if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab1; /* substring, line 426 */ + if (!(find_among_b(z, a_40, 5))) goto lab1; + z->bra = z->c; /* ], line 426 */ + { int ret = slice_del(z); /* delete, line 427 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 427 */ + lab1: + z->c = z->l - m2; + } + z->ket = z->c; /* [, line 430 */ + if (!(eq_s_b(z, 6, s_74))) return 0; /* literal, line 430 */ + z->bra = z->c; /* ], line 430 */ + { int ret = slice_del(z); /* delete, line 431 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 432 */ + z->ket = z->c; /* [, line 433 */ + if (!(find_among_b(z, a_41, 12))) return 0; /* substring, line 433 */ + z->bra = z->c; /* ], line 433 */ + if (z->c > z->lb) return 0; /* atlimit, line 433 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 435 */ + if (z->S[0] == 0) return -1; /* -> s, line 435 */ + { int ret = slice_from_s(z, 4, s_75); /* <-, line 435 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 435 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5b(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 440 */ + z->ket = z->c; /* [, line 441 */ + if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab0; /* substring, line 441 */ + if (!(find_among_b(z, a_43, 11))) goto lab0; + z->bra = z->c; /* ], line 441 */ + { int ret = slice_del(z); /* delete, line 444 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 445 */ + z->ket = z->c; /* [, line 446 */ + if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 131)) goto lab0; /* substring, line 446 */ + if (!(find_among_b(z, a_42, 2))) goto lab0; + z->bra = z->c; /* ], line 446 */ + if (z->c > z->lb) goto lab0; /* atlimit, line 446 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 447 */ + if (z->S[0] == 0) return -1; /* -> s, line 447 */ + { int ret = slice_from_s(z, 8, s_76); /* <-, line 447 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 447 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + lab0: + z->c = z->l - m1; + } + z->ket = z->c; /* [, line 452 */ + if (!(eq_s_b(z, 6, s_77))) return 0; /* literal, line 452 */ + z->bra = z->c; /* ], line 452 */ + { int ret = slice_del(z); /* delete, line 453 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 454 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 455 */ + z->ket = z->c; /* [, line 455 */ + if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab2; /* grouping v2, line 455 */ + z->bra = z->c; /* ], line 455 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 455 */ + if (z->S[0] == 0) return -1; /* -> s, line 455 */ + { int ret = slice_from_s(z, 4, s_78); /* <-, line 455 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 455 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab1; + lab2: + z->c = z->l - m2; + z->ket = z->c; /* [, line 456 */ + } +lab1: + if (!(find_among_b(z, a_44, 95))) return 0; /* substring, line 456 */ + z->bra = z->c; /* ], line 456 */ + if (z->c > z->lb) return 0; /* atlimit, line 456 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 473 */ + if (z->S[0] == 0) return -1; /* -> s, line 473 */ + { int ret = slice_from_s(z, 4, s_79); /* <-, line 473 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 473 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5c(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 478 */ + z->ket = z->c; /* [, line 479 */ + if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab0; /* substring, line 479 */ + if (!(find_among_b(z, a_45, 1))) goto lab0; + z->bra = z->c; /* ], line 479 */ + { int ret = slice_del(z); /* delete, line 480 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 480 */ + lab0: + z->c = z->l - m1; + } + z->ket = z->c; /* [, line 483 */ + if (!(eq_s_b(z, 6, s_80))) return 0; /* literal, line 483 */ + z->bra = z->c; /* ], line 483 */ + { int ret = slice_del(z); /* delete, line 484 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 485 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 486 */ + z->ket = z->c; /* [, line 486 */ + if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab2; /* grouping v2, line 486 */ + z->bra = z->c; /* ], line 486 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 486 */ + if (z->S[0] == 0) return -1; /* -> s, line 486 */ + { int ret = slice_from_s(z, 4, s_81); /* <-, line 486 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 486 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab1; + lab2: + z->c = z->l - m2; + z->ket = z->c; /* [, line 487 */ + if (!(find_among_b(z, a_46, 31))) goto lab3; /* substring, line 487 */ + z->bra = z->c; /* ], line 487 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 491 */ + if (z->S[0] == 0) return -1; /* -> s, line 491 */ + { int ret = slice_from_s(z, 4, s_82); /* <-, line 491 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 491 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab1; + lab3: + z->c = z->l - m2; + z->ket = z->c; /* [, line 493 */ + } +lab1: + if (!(find_among_b(z, a_47, 25))) return 0; /* substring, line 493 */ + z->bra = z->c; /* ], line 493 */ + if (z->c > z->lb) return 0; /* atlimit, line 493 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 497 */ + if (z->S[0] == 0) return -1; /* -> s, line 497 */ + { int ret = slice_from_s(z, 4, s_83); /* <-, line 497 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 497 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5d(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 502 */ + if (z->c - 9 <= z->lb || z->p[z->c - 1] != 131) return 0; /* substring, line 502 */ + if (!(find_among_b(z, a_48, 2))) return 0; + z->bra = z->c; /* ], line 502 */ + { int ret = slice_del(z); /* delete, line 504 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 505 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 506 */ + z->ket = z->c; /* [, line 506 */ + if (!(eq_s_b(z, 6, s_84))) goto lab1; /* literal, line 506 */ + z->bra = z->c; /* ], line 506 */ + if (z->c > z->lb) goto lab1; /* atlimit, line 506 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 506 */ + if (z->S[0] == 0) return -1; /* -> s, line 506 */ + { int ret = slice_from_s(z, 6, s_85); /* <-, line 506 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 506 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 507 */ + if (!(eq_s_b(z, 6, s_86))) return 0; /* literal, line 507 */ + z->bra = z->c; /* ], line 507 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 507 */ + if (z->S[0] == 0) return -1; /* -> s, line 507 */ + { int ret = slice_from_s(z, 6, s_87); /* <-, line 507 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 507 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_step5e(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 513 */ + if (z->c - 11 <= z->lb || z->p[z->c - 1] != 181) return 0; /* substring, line 513 */ + if (!(find_among_b(z, a_49, 2))) return 0; + z->bra = z->c; /* ], line 513 */ + { int ret = slice_del(z); /* delete, line 515 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 516 */ + z->ket = z->c; /* [, line 517 */ + if (!(eq_s_b(z, 4, s_88))) return 0; /* literal, line 517 */ + z->bra = z->c; /* ], line 517 */ + if (z->c > z->lb) return 0; /* atlimit, line 517 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 517 */ + if (z->S[0] == 0) return -1; /* -> s, line 517 */ + { int ret = slice_from_s(z, 10, s_89); /* <-, line 517 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 517 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5f(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 523 */ + z->ket = z->c; /* [, line 524 */ + if (!(eq_s_b(z, 10, s_90))) goto lab0; /* literal, line 524 */ + z->bra = z->c; /* ], line 524 */ + { int ret = slice_del(z); /* delete, line 525 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 526 */ + z->ket = z->c; /* [, line 527 */ + if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 128 && z->p[z->c - 1] != 134)) goto lab0; /* substring, line 527 */ + if (!(find_among_b(z, a_50, 6))) goto lab0; + z->bra = z->c; /* ], line 527 */ + if (z->c > z->lb) goto lab0; /* atlimit, line 527 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 528 */ + if (z->S[0] == 0) return -1; /* -> s, line 528 */ + { int ret = slice_from_s(z, 8, s_91); /* <-, line 528 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 528 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + lab0: + z->c = z->l - m1; + } + z->ket = z->c; /* [, line 531 */ + if (!(eq_s_b(z, 8, s_92))) return 0; /* literal, line 531 */ + z->bra = z->c; /* ], line 531 */ + { int ret = slice_del(z); /* delete, line 532 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 533 */ + z->ket = z->c; /* [, line 534 */ + if (!(find_among_b(z, a_51, 9))) return 0; /* substring, line 534 */ + z->bra = z->c; /* ], line 534 */ + if (z->c > z->lb) return 0; /* atlimit, line 534 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 536 */ + if (z->S[0] == 0) return -1; /* -> s, line 536 */ + { int ret = slice_from_s(z, 8, s_93); /* <-, line 536 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 536 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5g(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 541 */ + z->ket = z->c; /* [, line 542 */ + if (!(find_among_b(z, a_52, 3))) goto lab0; /* substring, line 542 */ + z->bra = z->c; /* ], line 542 */ + { int ret = slice_del(z); /* delete, line 543 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 543 */ + lab0: + z->c = z->l - m1; + } + z->ket = z->c; /* [, line 546 */ + if (!(find_among_b(z, a_55, 3))) return 0; /* substring, line 546 */ + z->bra = z->c; /* ], line 546 */ + { int ret = slice_del(z); /* delete, line 548 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 549 */ + { int m2 = z->l - z->c; (void)m2; /* or, line 552 */ + z->ket = z->c; /* [, line 550 */ + if (!(find_among_b(z, a_53, 6))) goto lab2; /* substring, line 550 */ + z->bra = z->c; /* ], line 550 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 551 */ + if (z->S[0] == 0) return -1; /* -> s, line 551 */ + { int ret = slice_from_s(z, 4, s_94); /* <-, line 551 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 551 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab1; + lab2: + z->c = z->l - m2; + z->ket = z->c; /* [, line 553 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 184) return 0; /* substring, line 553 */ + if (!(find_among_b(z, a_54, 5))) return 0; + z->bra = z->c; /* ], line 553 */ + if (z->c > z->lb) return 0; /* atlimit, line 553 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 554 */ + if (z->S[0] == 0) return -1; /* -> s, line 554 */ + { int ret = slice_from_s(z, 4, s_95); /* <-, line 554 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 554 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab1: + return 1; +} + +static int r_step5h(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 561 */ + if (!(find_among_b(z, a_58, 3))) return 0; /* substring, line 561 */ + z->bra = z->c; /* ], line 561 */ + { int ret = slice_del(z); /* delete, line 563 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 564 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 569 */ + z->ket = z->c; /* [, line 565 */ + if (!(find_among_b(z, a_56, 12))) goto lab1; /* substring, line 565 */ + z->bra = z->c; /* ], line 565 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 567 */ + if (z->S[0] == 0) return -1; /* -> s, line 567 */ + { int ret = slice_from_s(z, 6, s_96); /* <-, line 567 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 567 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + z->ket = z->c; /* [, line 570 */ + if (!(find_among_b(z, a_57, 25))) return 0; /* substring, line 570 */ + z->bra = z->c; /* ], line 570 */ + if (z->c > z->lb) return 0; /* atlimit, line 570 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 574 */ + if (z->S[0] == 0) return -1; /* -> s, line 574 */ + { int ret = slice_from_s(z, 6, s_97); /* <-, line 574 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 574 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } +lab0: + return 1; +} + +static int r_step5i(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 581 */ + if (!(find_among_b(z, a_62, 3))) return 0; /* substring, line 581 */ + z->bra = z->c; /* ], line 581 */ + { int ret = slice_del(z); /* delete, line 583 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 584 */ + { int m1 = z->l - z->c; (void)m1; /* or, line 585 */ + z->ket = z->c; /* [, line 585 */ + if (!(eq_s_b(z, 8, s_98))) goto lab1; /* literal, line 585 */ + z->bra = z->c; /* ], line 585 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 585 */ + if (z->S[0] == 0) return -1; /* -> s, line 585 */ + { int ret = slice_from_s(z, 4, s_99); /* <-, line 585 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 585 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab0; + lab1: + z->c = z->l - m1; + { int m2 = z->l - z->c; (void)m2; /* not, line 586 */ + z->ket = z->c; /* [, line 586 */ + if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 134 && z->p[z->c - 1] != 135)) goto lab2; /* substring, line 586 */ + if (!(find_among_b(z, a_59, 2))) goto lab2; + z->bra = z->c; /* ], line 586 */ + return 0; + lab2: + z->c = z->l - m2; + } + { int m3 = z->l - z->c; (void)m3; /* or, line 590 */ + z->ket = z->c; /* [, line 587 */ + if (!(find_among_b(z, a_60, 10))) goto lab4; /* substring, line 587 */ + z->bra = z->c; /* ], line 587 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 589 */ + if (z->S[0] == 0) return -1; /* -> s, line 589 */ + { int ret = slice_from_s(z, 4, s_100); /* <-, line 589 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 589 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + goto lab3; + lab4: + z->c = z->l - m3; + z->ket = z->c; /* [, line 591 */ + if (!(find_among_b(z, a_61, 44))) return 0; /* substring, line 591 */ + z->bra = z->c; /* ], line 591 */ + if (z->c > z->lb) return 0; /* atlimit, line 591 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 597 */ + if (z->S[0] == 0) return -1; /* -> s, line 597 */ + { int ret = slice_from_s(z, 4, s_101); /* <-, line 597 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 597 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + } + lab3: + ; + } +lab0: + return 1; +} + +static int r_step5j(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 605 */ + if (!(find_among_b(z, a_63, 3))) return 0; /* substring, line 605 */ + z->bra = z->c; /* ], line 605 */ + { int ret = slice_del(z); /* delete, line 606 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 606 */ + z->ket = z->c; /* [, line 608 */ + if (z->c - 1 <= z->lb || z->p[z->c - 1] != 189) return 0; /* substring, line 608 */ + if (!(find_among_b(z, a_64, 6))) return 0; + z->bra = z->c; /* ], line 608 */ + if (z->c > z->lb) return 0; /* atlimit, line 608 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 609 */ + if (z->S[0] == 0) return -1; /* -> s, line 609 */ + { int ret = slice_from_s(z, 4, s_102); /* <-, line 609 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 609 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5k(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 614 */ + if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0; /* substring, line 614 */ + if (!(find_among_b(z, a_65, 1))) return 0; + z->bra = z->c; /* ], line 614 */ + { int ret = slice_del(z); /* delete, line 615 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 615 */ + z->ket = z->c; /* [, line 617 */ + if (!(find_among_b(z, a_66, 10))) return 0; /* substring, line 617 */ + z->bra = z->c; /* ], line 617 */ + if (z->c > z->lb) return 0; /* atlimit, line 617 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 619 */ + if (z->S[0] == 0) return -1; /* -> s, line 619 */ + { int ret = slice_from_s(z, 6, s_103); /* <-, line 619 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 619 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5l(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 624 */ + if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0; /* substring, line 624 */ + if (!(find_among_b(z, a_67, 3))) return 0; + z->bra = z->c; /* ], line 624 */ + { int ret = slice_del(z); /* delete, line 625 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 625 */ + z->ket = z->c; /* [, line 627 */ + if (!(find_among_b(z, a_68, 6))) return 0; /* substring, line 627 */ + z->bra = z->c; /* ], line 627 */ + if (z->c > z->lb) return 0; /* atlimit, line 627 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 628 */ + if (z->S[0] == 0) return -1; /* -> s, line 628 */ + { int ret = slice_from_s(z, 6, s_104); /* <-, line 628 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 628 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step5m(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 633 */ + if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0; /* substring, line 633 */ + if (!(find_among_b(z, a_69, 3))) return 0; + z->bra = z->c; /* ], line 633 */ + { int ret = slice_del(z); /* delete, line 634 */ + if (ret < 0) return ret; + } + z->B[0] = 0; /* unset test1, line 634 */ + z->ket = z->c; /* [, line 636 */ + if (!(find_among_b(z, a_70, 7))) return 0; /* substring, line 636 */ + z->bra = z->c; /* ], line 636 */ + if (z->c > z->lb) return 0; /* atlimit, line 636 */ + z->S[0] = slice_to(z, z->S[0]); /* -> s, line 638 */ + if (z->S[0] == 0) return -1; /* -> s, line 638 */ + { int ret = slice_from_s(z, 6, s_105); /* <-, line 638 */ + if (ret < 0) return ret; + } + { int ret; + { int saved_c = z->c; + ret = insert_v(z, z->c, z->c, z->S[0]); /* <+ s, line 638 */ + z->c = saved_c; + } + if (ret < 0) return ret; + } + return 1; +} + +static int r_step6(struct SN_env * z) { /* backwardmode */ + { int m1 = z->l - z->c; (void)m1; /* do, line 643 */ + z->ket = z->c; /* [, line 644 */ + if (!(find_among_b(z, a_71, 3))) goto lab0; /* substring, line 644 */ + z->bra = z->c; /* ], line 644 */ + { int ret = slice_from_s(z, 4, s_106); /* <-, line 645 */ + if (ret < 0) return ret; + } + lab0: + z->c = z->l - m1; + } + if (!(z->B[0])) return 0; /* Boolean test test1, line 648 */ + z->ket = z->c; /* [, line 649 */ + if (!(find_among_b(z, a_72, 84))) return 0; /* substring, line 649 */ + z->bra = z->c; /* ], line 649 */ + { int ret = slice_del(z); /* delete, line 659 */ + if (ret < 0) return ret; + } + return 1; +} + +static int r_step7(struct SN_env * z) { /* backwardmode */ + z->ket = z->c; /* [, line 664 */ + if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 132)) return 0; /* substring, line 664 */ + if (!(find_among_b(z, a_73, 8))) return 0; + z->bra = z->c; /* ], line 664 */ + { int ret = slice_del(z); /* delete, line 665 */ + if (ret < 0) return ret; + } + return 1; +} + +extern int greek_UTF_8_stem(struct SN_env * z) { /* forwardmode */ + z->lb = z->c; z->c = z->l; /* backwards, line 671 */ + + { int m1 = z->l - z->c; (void)m1; /* do, line 672 */ + { int ret = r_tolower(z); /* call tolower, line 672 */ + if (ret == 0) goto lab0; + if (ret < 0) return ret; + } + lab0: + z->c = z->l - m1; + } + { int ret = r_has_min_length(z); /* call has_min_length, line 673 */ + if (ret <= 0) return ret; + } + z->B[0] = 1; /* set test1, line 674 */ + { int m2 = z->l - z->c; (void)m2; /* do, line 675 */ + { int ret = r_step1(z); /* call step1, line 675 */ + if (ret == 0) goto lab1; + if (ret < 0) return ret; + } + lab1: + z->c = z->l - m2; + } + { int m3 = z->l - z->c; (void)m3; /* do, line 676 */ + { int ret = r_steps1(z); /* call steps1, line 676 */ + if (ret == 0) goto lab2; + if (ret < 0) return ret; + } + lab2: + z->c = z->l - m3; + } + { int m4 = z->l - z->c; (void)m4; /* do, line 677 */ + { int ret = r_steps2(z); /* call steps2, line 677 */ + if (ret == 0) goto lab3; + if (ret < 0) return ret; + } + lab3: + z->c = z->l - m4; + } + { int m5 = z->l - z->c; (void)m5; /* do, line 678 */ + { int ret = r_steps3(z); /* call steps3, line 678 */ + if (ret == 0) goto lab4; + if (ret < 0) return ret; + } + lab4: + z->c = z->l - m5; + } + { int m6 = z->l - z->c; (void)m6; /* do, line 679 */ + { int ret = r_steps4(z); /* call steps4, line 679 */ + if (ret == 0) goto lab5; + if (ret < 0) return ret; + } + lab5: + z->c = z->l - m6; + } + { int m7 = z->l - z->c; (void)m7; /* do, line 680 */ + { int ret = r_steps5(z); /* call steps5, line 680 */ + if (ret == 0) goto lab6; + if (ret < 0) return ret; + } + lab6: + z->c = z->l - m7; + } + { int m8 = z->l - z->c; (void)m8; /* do, line 681 */ + { int ret = r_steps6(z); /* call steps6, line 681 */ + if (ret == 0) goto lab7; + if (ret < 0) return ret; + } + lab7: + z->c = z->l - m8; + } + { int m9 = z->l - z->c; (void)m9; /* do, line 682 */ + { int ret = r_steps7(z); /* call steps7, line 682 */ + if (ret == 0) goto lab8; + if (ret < 0) return ret; + } + lab8: + z->c = z->l - m9; + } + { int m10 = z->l - z->c; (void)m10; /* do, line 683 */ + { int ret = r_steps8(z); /* call steps8, line 683 */ + if (ret == 0) goto lab9; + if (ret < 0) return ret; + } + lab9: + z->c = z->l - m10; + } + { int m11 = z->l - z->c; (void)m11; /* do, line 684 */ + { int ret = r_steps9(z); /* call steps9, line 684 */ + if (ret == 0) goto lab10; + if (ret < 0) return ret; + } + lab10: + z->c = z->l - m11; + } + { int m12 = z->l - z->c; (void)m12; /* do, line 685 */ + { int ret = r_steps10(z); /* call steps10, line 685 */ + if (ret == 0) goto lab11; + if (ret < 0) return ret; + } + lab11: + z->c = z->l - m12; + } + { int m13 = z->l - z->c; (void)m13; /* do, line 686 */ + { int ret = r_step2a(z); /* call step2a, line 686 */ + if (ret == 0) goto lab12; + if (ret < 0) return ret; + } + lab12: + z->c = z->l - m13; + } + { int m14 = z->l - z->c; (void)m14; /* do, line 687 */ + { int ret = r_step2b(z); /* call step2b, line 687 */ + if (ret == 0) goto lab13; + if (ret < 0) return ret; + } + lab13: + z->c = z->l - m14; + } + { int m15 = z->l - z->c; (void)m15; /* do, line 688 */ + { int ret = r_step2c(z); /* call step2c, line 688 */ + if (ret == 0) goto lab14; + if (ret < 0) return ret; + } + lab14: + z->c = z->l - m15; + } + { int m16 = z->l - z->c; (void)m16; /* do, line 689 */ + { int ret = r_step2d(z); /* call step2d, line 689 */ + if (ret == 0) goto lab15; + if (ret < 0) return ret; + } + lab15: + z->c = z->l - m16; + } + { int m17 = z->l - z->c; (void)m17; /* do, line 690 */ + { int ret = r_step3(z); /* call step3, line 690 */ + if (ret == 0) goto lab16; + if (ret < 0) return ret; + } + lab16: + z->c = z->l - m17; + } + { int m18 = z->l - z->c; (void)m18; /* do, line 691 */ + { int ret = r_step4(z); /* call step4, line 691 */ + if (ret == 0) goto lab17; + if (ret < 0) return ret; + } + lab17: + z->c = z->l - m18; + } + { int m19 = z->l - z->c; (void)m19; /* do, line 692 */ + { int ret = r_step5a(z); /* call step5a, line 692 */ + if (ret == 0) goto lab18; + if (ret < 0) return ret; + } + lab18: + z->c = z->l - m19; + } + { int m20 = z->l - z->c; (void)m20; /* do, line 693 */ + { int ret = r_step5b(z); /* call step5b, line 693 */ + if (ret == 0) goto lab19; + if (ret < 0) return ret; + } + lab19: + z->c = z->l - m20; + } + { int m21 = z->l - z->c; (void)m21; /* do, line 694 */ + { int ret = r_step5c(z); /* call step5c, line 694 */ + if (ret == 0) goto lab20; + if (ret < 0) return ret; + } + lab20: + z->c = z->l - m21; + } + { int m22 = z->l - z->c; (void)m22; /* do, line 695 */ + { int ret = r_step5d(z); /* call step5d, line 695 */ + if (ret == 0) goto lab21; + if (ret < 0) return ret; + } + lab21: + z->c = z->l - m22; + } + { int m23 = z->l - z->c; (void)m23; /* do, line 696 */ + { int ret = r_step5e(z); /* call step5e, line 696 */ + if (ret == 0) goto lab22; + if (ret < 0) return ret; + } + lab22: + z->c = z->l - m23; + } + { int m24 = z->l - z->c; (void)m24; /* do, line 697 */ + { int ret = r_step5f(z); /* call step5f, line 697 */ + if (ret == 0) goto lab23; + if (ret < 0) return ret; + } + lab23: + z->c = z->l - m24; + } + { int m25 = z->l - z->c; (void)m25; /* do, line 698 */ + { int ret = r_step5g(z); /* call step5g, line 698 */ + if (ret == 0) goto lab24; + if (ret < 0) return ret; + } + lab24: + z->c = z->l - m25; + } + { int m26 = z->l - z->c; (void)m26; /* do, line 699 */ + { int ret = r_step5h(z); /* call step5h, line 699 */ + if (ret == 0) goto lab25; + if (ret < 0) return ret; + } + lab25: + z->c = z->l - m26; + } + { int m27 = z->l - z->c; (void)m27; /* do, line 700 */ + { int ret = r_step5j(z); /* call step5j, line 700 */ + if (ret == 0) goto lab26; + if (ret < 0) return ret; + } + lab26: + z->c = z->l - m27; + } + { int m28 = z->l - z->c; (void)m28; /* do, line 701 */ + { int ret = r_step5i(z); /* call step5i, line 701 */ + if (ret == 0) goto lab27; + if (ret < 0) return ret; + } + lab27: + z->c = z->l - m28; + } + { int m29 = z->l - z->c; (void)m29; /* do, line 702 */ + { int ret = r_step5k(z); /* call step5k, line 702 */ + if (ret == 0) goto lab28; + if (ret < 0) return ret; + } + lab28: + z->c = z->l - m29; + } + { int m30 = z->l - z->c; (void)m30; /* do, line 703 */ + { int ret = r_step5l(z); /* call step5l, line 703 */ + if (ret == 0) goto lab29; + if (ret < 0) return ret; + } + lab29: + z->c = z->l - m30; + } + { int m31 = z->l - z->c; (void)m31; /* do, line 704 */ + { int ret = r_step5m(z); /* call step5m, line 704 */ + if (ret == 0) goto lab30; + if (ret < 0) return ret; + } + lab30: + z->c = z->l - m31; + } + { int m32 = z->l - z->c; (void)m32; /* do, line 705 */ + { int ret = r_step6(z); /* call step6, line 705 */ + if (ret == 0) goto lab31; + if (ret < 0) return ret; + } + lab31: + z->c = z->l - m32; + } + { int m33 = z->l - z->c; (void)m33; /* do, line 706 */ + { int ret = r_step7(z); /* call step7, line 706 */ + if (ret == 0) goto lab32; + if (ret < 0) return ret; + } + lab32: + z->c = z->l - m33; + } + z->c = z->lb; + return 1; +} + +extern struct SN_env * greek_UTF_8_create_env(void) { return SN_create_env(1, 0, 1); } + +extern void greek_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 1); } + diff --git a/src/backend/snowball/libstemmer/utilities.c b/src/backend/snowball/libstemmer/utilities.c index 920b8dbe6d..d64d922317 100644 --- a/src/backend/snowball/libstemmer/utilities.c +++ b/src/backend/snowball/libstemmer/utilities.c @@ -59,31 +59,49 @@ extern int skip_utf8(const symbol * p, int c, int lb, int l, int n) { /* Code for character groupings: utf8 cases */ static int get_utf8(const symbol * p, int c, int l, int * slot) { - int b0, b1; + int b0, b1, b2; if (c >= l) return 0; b0 = p[c++]; if (b0 < 0xC0 || c == l) { /* 1100 0000 */ - * slot = b0; return 1; + *slot = b0; + return 1; } - b1 = p[c++]; + b1 = p[c++] & 0x3F; if (b0 < 0xE0 || c == l) { /* 1110 0000 */ - * slot = (b0 & 0x1F) << 6 | (b1 & 0x3F); return 2; + *slot = (b0 & 0x1F) << 6 | b1; + return 2; } - * slot = (b0 & 0xF) << 12 | (b1 & 0x3F) << 6 | (p[c] & 0x3F); return 3; + b2 = p[c++] & 0x3F; + if (b0 < 0xF0 || c == l) { /* 1111 0000 */ + *slot = (b0 & 0xF) << 12 | b1 << 6 | b2; + return 3; + } + *slot = (b0 & 0xE) << 18 | b1 << 12 | b2 << 6 | (p[c] & 0x3F); + return 4; } static int get_b_utf8(const symbol * p, int c, int lb, int * slot) { - int b0, b1; + int a, b; if (c <= lb) return 0; - b0 = p[--c]; - if (b0 < 0x80 || c == lb) { /* 1000 0000 */ - * slot = b0; return 1; + b = p[--c]; + if (b < 0x80 || c == lb) { /* 1000 0000 */ + *slot = b; + return 1; } - b1 = p[--c]; - if (b1 >= 0xC0 || c == lb) { /* 1100 0000 */ - * slot = (b1 & 0x1F) << 6 | (b0 & 0x3F); return 2; + a = b & 0x3F; + b = p[--c]; + if (b >= 0xC0 || c == lb) { /* 1100 0000 */ + *slot = (b & 0x1F) << 6 | a; + return 2; } - * slot = (p[--c] & 0xF) << 12 | (b1 & 0x3F) << 6 | (b0 & 0x3F); return 3; + a |= (b & 0x3F) << 6; + b = p[--c]; + if (b >= 0xE0 || c == lb) { /* 1110 0000 */ + *slot = (b & 0xF) << 12 | a; + return 3; + } + *slot = (p[--c] & 0xE) << 18 | (b & 0x3F) << 12 | a; + return 4; } extern int in_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat) { @@ -230,8 +248,13 @@ extern int find_among(struct SN_env * z, const struct among * v, int v_size) { common++; } } - if (diff < 0) { j = k; common_j = common; } - else { i = k; common_i = common; } + if (diff < 0) { + j = k; + common_j = common; + } else { + i = k; + common_i = common; + } if (j - i <= 1) { if (i > 0) break; /* v->s has been inspected */ if (j == i) break; /* only one item in v */ @@ -360,9 +383,8 @@ extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const z->l += adjustment; if (z->c >= c_ket) z->c += adjustment; - else - if (z->c > c_bra) - z->c = c_bra; + else if (z->c > c_bra) + z->c = c_bra; } if (s_size) memmove(z->p + c_bra, s, s_size * sizeof(symbol)); if (adjptr != NULL) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 70273be783..f1acbdfcf2 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -716,6 +716,8 @@ static const struct tsearch_config_match tsearch_config_languages[] = {"french", "French"}, {"german", "de"}, {"german", "German"}, + {"greek", "el"}, + {"greek", "Greek"}, {"hungarian", "hu"}, {"hungarian", "Hungarian"}, {"indonesian", "id"}, diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index fe44cae3ff..190093ec1d 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201906161 +#define CATALOG_VERSION_NO 201907041 #endif diff --git a/src/include/snowball/libstemmer/api.h b/src/include/snowball/libstemmer/api.h index 8b997f0c29..7ed7995f9e 100644 --- a/src/include/snowball/libstemmer/api.h +++ b/src/include/snowball/libstemmer/api.h @@ -19,8 +19,15 @@ struct SN_env { unsigned char * B; }; +#ifdef __cplusplus +extern "C" { +#endif + extern struct SN_env * SN_create_env(int S_size, int I_size, int B_size); extern void SN_close_env(struct SN_env * z, int S_size); extern int SN_set_current(struct SN_env * z, int size, const symbol * s); +#ifdef __cplusplus +} +#endif diff --git a/src/include/snowball/libstemmer/stem_UTF_8_greek.h b/src/include/snowball/libstemmer/stem_UTF_8_greek.h new file mode 100644 index 0000000000..bf1cc6ca01 --- /dev/null +++ b/src/include/snowball/libstemmer/stem_UTF_8_greek.h @@ -0,0 +1,16 @@ +/* This file was generated automatically by the Snowball to ISO C compiler */ +/* http://snowballstem.org/ */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern struct SN_env * greek_UTF_8_create_env(void); +extern void greek_UTF_8_close_env(struct SN_env * z); + +extern int greek_UTF_8_stem(struct SN_env * z); + +#ifdef __cplusplus +} +#endif +