]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Update to latest Snowball sources.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jan 2026 20:22:12 +0000 (15:22 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Jan 2026 20:22:37 +0000 (15:22 -0500)
It's been almost a year since we last did this, and upstream has
been busy.  They've added stemmers for Polish and Esperanto,
and also deprecated their old Dutch stemmer in favor of the
Kraaij-Pohlmann algorithm.  (The "dutch" stemmer is now the
latter, and "dutch_porter" is the old algorithm.)

Upstream also decided to rename their internal header "header.h"
to something less generic: "snowball_runtime.h".  Seems like a good
thing, but it complicates this patch a bit because we were relying on
interposing our own version of "header.h" to control system header
inclusion order.  (We're partially failing at that now, because now the
generated stemmer files include <stddef.h> before snowball_runtime.h.
I think that'll be okay, but if the buildfarm complains then we'll
have to do more-extensive editing of the generated files.)

I realized that we weren't documenting the available stemmers in
any user-visible place, except indirectly through sample \dFd output.
That's incomplete because we only provide built-in dictionaries for
the recommended stemmers for each language, not alternative stemmers
such as dutch_porter.  So I added a list to the documentation.

I did not do anything with the stopword lists.  If those are still
available from snowballstem.org, they are mighty well hidden.

Discussion: https://postgr.es/m/1185975.1767569534@sss.pgh.pa.us

119 files changed:
doc/src/sgml/textsearch.sgml
src/backend/snowball/Makefile
src/backend/snowball/README
src/backend/snowball/dict_snowball.c
src/backend/snowball/libstemmer/api.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_basque.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_catalan.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_danish.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.c [new file with mode: 0644]
src/backend/snowball/libstemmer/stem_ISO_8859_1_english.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_finnish.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_french.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_german.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_indonesian.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_irish.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_italian.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_norwegian.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_porter.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_portuguese.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_spanish.c
src/backend/snowball/libstemmer/stem_ISO_8859_1_swedish.c
src/backend/snowball/libstemmer/stem_ISO_8859_2_hungarian.c
src/backend/snowball/libstemmer/stem_ISO_8859_2_polish.c [new file with mode: 0644]
src/backend/snowball/libstemmer/stem_KOI8_R_russian.c
src/backend/snowball/libstemmer/stem_UTF_8_arabic.c
src/backend/snowball/libstemmer/stem_UTF_8_armenian.c
src/backend/snowball/libstemmer/stem_UTF_8_basque.c
src/backend/snowball/libstemmer/stem_UTF_8_catalan.c
src/backend/snowball/libstemmer/stem_UTF_8_danish.c
src/backend/snowball/libstemmer/stem_UTF_8_dutch.c
src/backend/snowball/libstemmer/stem_UTF_8_dutch_porter.c [new file with mode: 0644]
src/backend/snowball/libstemmer/stem_UTF_8_english.c
src/backend/snowball/libstemmer/stem_UTF_8_esperanto.c [new file with mode: 0644]
src/backend/snowball/libstemmer/stem_UTF_8_estonian.c
src/backend/snowball/libstemmer/stem_UTF_8_finnish.c
src/backend/snowball/libstemmer/stem_UTF_8_french.c
src/backend/snowball/libstemmer/stem_UTF_8_german.c
src/backend/snowball/libstemmer/stem_UTF_8_greek.c
src/backend/snowball/libstemmer/stem_UTF_8_hindi.c
src/backend/snowball/libstemmer/stem_UTF_8_hungarian.c
src/backend/snowball/libstemmer/stem_UTF_8_indonesian.c
src/backend/snowball/libstemmer/stem_UTF_8_irish.c
src/backend/snowball/libstemmer/stem_UTF_8_italian.c
src/backend/snowball/libstemmer/stem_UTF_8_lithuanian.c
src/backend/snowball/libstemmer/stem_UTF_8_nepali.c
src/backend/snowball/libstemmer/stem_UTF_8_norwegian.c
src/backend/snowball/libstemmer/stem_UTF_8_polish.c [new file with mode: 0644]
src/backend/snowball/libstemmer/stem_UTF_8_porter.c
src/backend/snowball/libstemmer/stem_UTF_8_portuguese.c
src/backend/snowball/libstemmer/stem_UTF_8_romanian.c
src/backend/snowball/libstemmer/stem_UTF_8_russian.c
src/backend/snowball/libstemmer/stem_UTF_8_serbian.c
src/backend/snowball/libstemmer/stem_UTF_8_spanish.c
src/backend/snowball/libstemmer/stem_UTF_8_swedish.c
src/backend/snowball/libstemmer/stem_UTF_8_tamil.c
src/backend/snowball/libstemmer/stem_UTF_8_turkish.c
src/backend/snowball/libstemmer/stem_UTF_8_yiddish.c
src/backend/snowball/libstemmer/utilities.c
src/backend/snowball/meson.build
src/backend/snowball/snowball_create.pl
src/bin/initdb/initdb.c
src/include/snowball/libstemmer/api.h
src/include/snowball/libstemmer/header.h [deleted file]
src/include/snowball/libstemmer/snowball_runtime.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_ISO_8859_1_basque.h
src/include/snowball/libstemmer/stem_ISO_8859_1_catalan.h
src/include/snowball/libstemmer/stem_ISO_8859_1_danish.h
src/include/snowball/libstemmer/stem_ISO_8859_1_dutch.h
src/include/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_ISO_8859_1_english.h
src/include/snowball/libstemmer/stem_ISO_8859_1_finnish.h
src/include/snowball/libstemmer/stem_ISO_8859_1_french.h
src/include/snowball/libstemmer/stem_ISO_8859_1_german.h
src/include/snowball/libstemmer/stem_ISO_8859_1_indonesian.h
src/include/snowball/libstemmer/stem_ISO_8859_1_irish.h
src/include/snowball/libstemmer/stem_ISO_8859_1_italian.h
src/include/snowball/libstemmer/stem_ISO_8859_1_norwegian.h
src/include/snowball/libstemmer/stem_ISO_8859_1_porter.h
src/include/snowball/libstemmer/stem_ISO_8859_1_portuguese.h
src/include/snowball/libstemmer/stem_ISO_8859_1_spanish.h
src/include/snowball/libstemmer/stem_ISO_8859_1_swedish.h
src/include/snowball/libstemmer/stem_ISO_8859_2_hungarian.h
src/include/snowball/libstemmer/stem_ISO_8859_2_polish.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_KOI8_R_russian.h
src/include/snowball/libstemmer/stem_UTF_8_arabic.h
src/include/snowball/libstemmer/stem_UTF_8_armenian.h
src/include/snowball/libstemmer/stem_UTF_8_basque.h
src/include/snowball/libstemmer/stem_UTF_8_catalan.h
src/include/snowball/libstemmer/stem_UTF_8_danish.h
src/include/snowball/libstemmer/stem_UTF_8_dutch.h
src/include/snowball/libstemmer/stem_UTF_8_dutch_porter.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_UTF_8_english.h
src/include/snowball/libstemmer/stem_UTF_8_esperanto.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_UTF_8_estonian.h
src/include/snowball/libstemmer/stem_UTF_8_finnish.h
src/include/snowball/libstemmer/stem_UTF_8_french.h
src/include/snowball/libstemmer/stem_UTF_8_german.h
src/include/snowball/libstemmer/stem_UTF_8_greek.h
src/include/snowball/libstemmer/stem_UTF_8_hindi.h
src/include/snowball/libstemmer/stem_UTF_8_hungarian.h
src/include/snowball/libstemmer/stem_UTF_8_indonesian.h
src/include/snowball/libstemmer/stem_UTF_8_irish.h
src/include/snowball/libstemmer/stem_UTF_8_italian.h
src/include/snowball/libstemmer/stem_UTF_8_lithuanian.h
src/include/snowball/libstemmer/stem_UTF_8_nepali.h
src/include/snowball/libstemmer/stem_UTF_8_norwegian.h
src/include/snowball/libstemmer/stem_UTF_8_polish.h [new file with mode: 0644]
src/include/snowball/libstemmer/stem_UTF_8_porter.h
src/include/snowball/libstemmer/stem_UTF_8_portuguese.h
src/include/snowball/libstemmer/stem_UTF_8_romanian.h
src/include/snowball/libstemmer/stem_UTF_8_russian.h
src/include/snowball/libstemmer/stem_UTF_8_serbian.h
src/include/snowball/libstemmer/stem_UTF_8_spanish.h
src/include/snowball/libstemmer/stem_UTF_8_swedish.h
src/include/snowball/libstemmer/stem_UTF_8_tamil.h
src/include/snowball/libstemmer/stem_UTF_8_turkish.h
src/include/snowball/libstemmer/stem_UTF_8_yiddish.h
src/include/snowball/snowball_runtime.h [moved from src/include/snowball/header.h with 70% similarity]

index d20484cb232f4f68501b7407eb9cb9b7afed3326..e68d43227d7b18b79ab163c683864ce625757bd2 100644 (file)
@@ -3145,6 +3145,56 @@ largehearted
     <literal>stopword</literal> file name that gives a list of words to eliminate.
     (<productname>PostgreSQL</productname>'s standard stopword lists are also
     provided by the Snowball project.)
+   </para>
+
+   <para>
+    The available values of the <literal>language</literal> parameter are:
+
+    <literal>arabic</literal>,
+    <literal>armenian</literal>,
+    <literal>basque</literal>,
+    <literal>catalan</literal>,
+    <literal>danish</literal>,
+    <literal>dutch</literal>,
+    <literal>dutch_porter</literal>,
+    <literal>english</literal>,
+    <literal>esperanto</literal>,
+    <literal>estonian</literal>,
+    <literal>finnish</literal>,
+    <literal>french</literal>,
+    <literal>german</literal>,
+    <literal>greek</literal>,
+    <literal>hindi</literal>,
+    <literal>hungarian</literal>,
+    <literal>indonesian</literal>,
+    <literal>irish</literal>,
+    <literal>italian</literal>,
+    <literal>lithuanian</literal>,
+    <literal>nepali</literal>,
+    <literal>norwegian</literal>,
+    <literal>polish</literal>,
+    <literal>porter</literal>,
+    <literal>portuguese</literal>,
+    <literal>romanian</literal>,
+    <literal>russian</literal>,
+    <literal>serbian</literal>,
+    <literal>spanish</literal>,
+    <literal>swedish</literal>,
+    <literal>tamil</literal>,
+    <literal>turkish</literal>,
+    and
+    <literal>yiddish</literal>.
+
+    The <literal>porter</literal> algorithm is an old stemmer for English,
+    and the <literal>dutch_porter</literal> algorithm is an old stemmer
+    for Dutch (it was called <literal>dutch</literal>
+    in <productname>PostgreSQL</productname> releases before 19).
+    The rest are the currently-recommended stemmers for their
+    respective languages.
+
+    All these algorithms except <literal>porter</literal>
+    and <literal>dutch_porter</literal> have built-in dictionaries
+    provided, most with stopword lists attached.
     For example, there is a built-in definition equivalent to
 
 <programlisting>
@@ -3879,6 +3929,7 @@ Parser: "pg_catalog.default"
  pg_catalog | danish_stem     | snowball stemmer for danish language
  pg_catalog | dutch_stem      | snowball stemmer for dutch language
  pg_catalog | english_stem    | snowball stemmer for english language
+ pg_catalog | esperanto_stem  | snowball stemmer for esperanto language
  pg_catalog | estonian_stem   | snowball stemmer for estonian language
  pg_catalog | finnish_stem    | snowball stemmer for finnish language
  pg_catalog | french_stem     | snowball stemmer for french language
@@ -3892,6 +3943,7 @@ Parser: "pg_catalog.default"
  pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language
  pg_catalog | nepali_stem     | snowball stemmer for nepali language
  pg_catalog | norwegian_stem  | snowball stemmer for norwegian language
+ pg_catalog | polish_stem     | snowball stemmer for polish language
  pg_catalog | portuguese_stem | snowball stemmer for portuguese language
  pg_catalog | romanian_stem   | snowball stemmer for romanian language
  pg_catalog | russian_stem    | snowball stemmer for russian language
index 0398c9bb14ceb1a6f8d7fd1bb62aeec90fdaf994..ecfae121565bb8d71478bffc65c775e273b2b102 100644 (file)
@@ -27,6 +27,7 @@ OBJS += \
        stem_ISO_8859_1_catalan.o \
        stem_ISO_8859_1_danish.o \
        stem_ISO_8859_1_dutch.o \
+       stem_ISO_8859_1_dutch_porter.o \
        stem_ISO_8859_1_english.o \
        stem_ISO_8859_1_finnish.o \
        stem_ISO_8859_1_french.o \
@@ -40,6 +41,7 @@ OBJS += \
        stem_ISO_8859_1_spanish.o \
        stem_ISO_8859_1_swedish.o \
        stem_ISO_8859_2_hungarian.o \
+       stem_ISO_8859_2_polish.o \
        stem_KOI8_R_russian.o \
        stem_UTF_8_arabic.o \
        stem_UTF_8_armenian.o \
@@ -47,7 +49,9 @@ OBJS += \
        stem_UTF_8_catalan.o \
        stem_UTF_8_danish.o \
        stem_UTF_8_dutch.o \
+       stem_UTF_8_dutch_porter.o \
        stem_UTF_8_english.o \
+       stem_UTF_8_esperanto.o \
        stem_UTF_8_estonian.o \
        stem_UTF_8_finnish.o \
        stem_UTF_8_french.o \
@@ -61,6 +65,7 @@ OBJS += \
        stem_UTF_8_lithuanian.o \
        stem_UTF_8_nepali.o \
        stem_UTF_8_norwegian.o \
+       stem_UTF_8_polish.o \
        stem_UTF_8_porter.o \
        stem_UTF_8_portuguese.o \
        stem_UTF_8_romanian.o \
index 2e41bee11423ea602106451960494c5f97e52030..d4ababe9b38ede78a362685894375bea2664ccf2 100644 (file)
@@ -29,27 +29,28 @@ 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
-d19326ac6c1b9a417fc872f7c2f845265a5e9ece
-of 2025-02-19.
+2d2e312df56f2ede014a4ffb3e91e6dea43c24be
+of 2025-12-15.
 
 To update the PostgreSQL sources from a new Snowball version:
 
 0. If you didn't do it already, "make -C snowball".
 
 1. Copy the *.c files in snowball/src_c/ to src/backend/snowball/libstemmer
-with replacement of "../runtime/header.h" by "header.h", for example
+with replacement of "../runtime/snowball_runtime.h" by "snowball_runtime.h",
+for example
 
 for f in .../snowball/src_c/*.c
 do
-    sed 's|\.\./runtime/header\.h|header.h|' $f >libstemmer/`basename $f`
+    sed 's|\.\./runtime/snowball_runtime\.h|snowball_runtime.h|' $f >libstemmer/`basename $f`
 done
 
 Do not copy stemmers that are listed in their libstemmer/modules.txt as
-nonstandard, such as "kraaij_pohlmann" or "lovins".
+nonstandard, such as "lovins".
 
-2. Copy the *.c files in snowball/runtime/ to
-src/backend/snowball/libstemmer, and edit them to remove direct inclusions
-of system headers such as <stdio.h> --- they should only include "header.h".
+2. Copy the *.c files in snowball/runtime/ to src/backend/snowball/libstemmer,
+and edit them to remove direct inclusions of system headers such as <stdio.h>
+--- they should only include "snowball_runtime.h".
 (This removal avoids portability problems on some platforms where <stdio.h>
 is sensitive to largefile compilation options.)
 
@@ -61,9 +62,12 @@ stemmers.
 4. Check whether any stemmer modules have been added or removed.  If so, edit
 the OBJS list in Makefile, the dict_snowball_sources list in meson.build,
 the list of #include's and the stemmer_modules[] table in dict_snowball.c,
+the list of valid language parameters in the documentation in textsearch.sgml,
 and the sample \dFd output in the documentation in textsearch.sgml.
 You might also need to change the @languages array in snowball_create.pl
-and the tsearch_config_languages[] table in initdb.c.
+and the tsearch_config_languages[] table in initdb.c.  Typically, the latter
+two should be extended when a stemmer for an entirely new language is added,
+but alternative stemmers for existing languages are not represented in them.
 
 5. The various stopword files in stopwords/ must be downloaded
 individually from pages on the snowballstem.org website.
index 984a7a04f6df5e15e49394841b533f068a51d1bf..182bd156995e17e681cc693c9c43aaf855895938 100644 (file)
 #undef MININT
 #endif
 
-/* Now we can include the original Snowball header.h */
-#include "snowball/libstemmer/header.h"
+/* Now we can include the original Snowball snowball_runtime.h */
+#include "snowball/libstemmer/snowball_runtime.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_basque.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_catalan.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_danish.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_dutch.h"
+#include "snowball/libstemmer/stem_ISO_8859_1_dutch_porter.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_english.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_finnish.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_french.h"
@@ -45,6 +46,7 @@
 #include "snowball/libstemmer/stem_ISO_8859_1_spanish.h"
 #include "snowball/libstemmer/stem_ISO_8859_1_swedish.h"
 #include "snowball/libstemmer/stem_ISO_8859_2_hungarian.h"
+#include "snowball/libstemmer/stem_ISO_8859_2_polish.h"
 #include "snowball/libstemmer/stem_KOI8_R_russian.h"
 #include "snowball/libstemmer/stem_UTF_8_arabic.h"
 #include "snowball/libstemmer/stem_UTF_8_armenian.h"
@@ -52,7 +54,9 @@
 #include "snowball/libstemmer/stem_UTF_8_catalan.h"
 #include "snowball/libstemmer/stem_UTF_8_danish.h"
 #include "snowball/libstemmer/stem_UTF_8_dutch.h"
+#include "snowball/libstemmer/stem_UTF_8_dutch_porter.h"
 #include "snowball/libstemmer/stem_UTF_8_english.h"
+#include "snowball/libstemmer/stem_UTF_8_esperanto.h"
 #include "snowball/libstemmer/stem_UTF_8_estonian.h"
 #include "snowball/libstemmer/stem_UTF_8_finnish.h"
 #include "snowball/libstemmer/stem_UTF_8_french.h"
@@ -66,6 +70,7 @@
 #include "snowball/libstemmer/stem_UTF_8_lithuanian.h"
 #include "snowball/libstemmer/stem_UTF_8_nepali.h"
 #include "snowball/libstemmer/stem_UTF_8_norwegian.h"
+#include "snowball/libstemmer/stem_UTF_8_polish.h"
 #include "snowball/libstemmer/stem_UTF_8_porter.h"
 #include "snowball/libstemmer/stem_UTF_8_portuguese.h"
 #include "snowball/libstemmer/stem_UTF_8_romanian.h"
@@ -109,6 +114,7 @@ static const stemmer_module stemmer_modules[] =
        STEMMER_MODULE(catalan, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(danish, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(dutch, PG_LATIN1, ISO_8859_1),
+       STEMMER_MODULE(dutch_porter, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(english, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(finnish, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(french, PG_LATIN1, ISO_8859_1),
@@ -122,6 +128,7 @@ static const stemmer_module stemmer_modules[] =
        STEMMER_MODULE(spanish, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(swedish, PG_LATIN1, ISO_8859_1),
        STEMMER_MODULE(hungarian, PG_LATIN2, ISO_8859_2),
+       STEMMER_MODULE(polish, PG_LATIN2, ISO_8859_2),
        STEMMER_MODULE(russian, PG_KOI8R, KOI8_R),
        STEMMER_MODULE(arabic, PG_UTF8, UTF_8),
        STEMMER_MODULE(armenian, PG_UTF8, UTF_8),
@@ -129,7 +136,9 @@ static const stemmer_module stemmer_modules[] =
        STEMMER_MODULE(catalan, PG_UTF8, UTF_8),
        STEMMER_MODULE(danish, PG_UTF8, UTF_8),
        STEMMER_MODULE(dutch, PG_UTF8, UTF_8),
+       STEMMER_MODULE(dutch_porter, PG_UTF8, UTF_8),
        STEMMER_MODULE(english, PG_UTF8, UTF_8),
+       STEMMER_MODULE(esperanto, PG_UTF8, UTF_8),
        STEMMER_MODULE(estonian, PG_UTF8, UTF_8),
        STEMMER_MODULE(finnish, PG_UTF8, UTF_8),
        STEMMER_MODULE(french, PG_UTF8, UTF_8),
@@ -144,6 +153,7 @@ static const stemmer_module stemmer_modules[] =
        STEMMER_MODULE(nepali, PG_UTF8, UTF_8),
        STEMMER_MODULE(norwegian, PG_UTF8, UTF_8),
        STEMMER_MODULE(porter, PG_UTF8, UTF_8),
+       STEMMER_MODULE(polish, PG_UTF8, UTF_8),
        STEMMER_MODULE(portuguese, PG_UTF8, UTF_8),
        STEMMER_MODULE(romanian, PG_UTF8, UTF_8),
        STEMMER_MODULE(russian, PG_UTF8, UTF_8),
index 358f5633b28fea5a45f008b74f161cc0ca5e0010..9890f6664f94584062c8a71c08b98c60c4589d33 100644 (file)
@@ -1,56 +1,30 @@
-#include "header.h"
+#include "snowball_runtime.h"
 
-extern struct SN_env * SN_create_env(int S_size, int I_size)
+static const struct SN_env default_SN_env;
+
+extern struct SN_env * SN_new_env(int alloc_size)
 {
-    struct SN_env * z = (struct SN_env *) calloc(1, sizeof(struct SN_env));
+    struct SN_env * z = (struct SN_env *) malloc(alloc_size);
     if (z == NULL) return NULL;
+    *z = default_SN_env;
     z->p = create_s();
-    if (z->p == NULL) goto error;
-    if (S_size)
-    {
-        int i;
-        z->S = (symbol * *) calloc(S_size, sizeof(symbol *));
-        if (z->S == NULL) goto error;
-
-        for (i = 0; i < S_size; i++)
-        {
-            z->S[i] = create_s();
-            if (z->S[i] == NULL) goto error;
-        }
-    }
-
-    if (I_size)
-    {
-        z->I = (int *) calloc(I_size, sizeof(int));
-        if (z->I == NULL) goto error;
+    if (z->p == NULL) {
+        SN_delete_env(z);
+        return NULL;
     }
-
     return z;
-error:
-    SN_close_env(z, S_size);
-    return NULL;
 }
 
-extern void SN_close_env(struct SN_env * z, int S_size)
+extern void SN_delete_env(struct SN_env * z)
 {
     if (z == NULL) return;
-    if (z->S)
-    {
-        int i;
-        for (i = 0; i < S_size; i++)
-        {
-            lose_s(z->S[i]);
-        }
-        free(z->S);
-    }
-    free(z->I);
     if (z->p) lose_s(z->p);
     free(z);
 }
 
 extern int SN_set_current(struct SN_env * z, int size, const symbol * s)
 {
-    int err = replace_s(z, 0, z->l, size, s, NULL);
+    int err = replace_s(z, 0, z->l, size, s);
     z->c = 0;
     return err;
 }
index ec2d4e7482eccddf2a5b08a779e13557d643b82d..865793837c14113a785ee172c0cadf22bfa820fa 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from basque.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_basque.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int basque_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_R1(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_RV(struct SN_env * z);
@@ -16,18 +30,12 @@ static int r_mark_regions(struct SN_env * z);
 static int r_adjetiboak(struct SN_env * z);
 static int r_izenak(struct SN_env * z);
 static int r_aditzak(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 
-extern struct SN_env * basque_ISO_8859_1_create_env(void);
-extern void basque_ISO_8859_1_close_env(struct SN_env * z);
+static const symbol s_0[] = { 'j', 'o', 'k' };
+static const symbol s_1[] = { 't', 'r', 'a' };
+static const symbol s_2[] = { 'm', 'i', 'n', 'u', 't', 'u' };
+static const symbol s_3[] = { 'z' };
 
-
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[4] = { 'i', 'd', 'e', 'a' };
 static const symbol s_0_1[5] = { 'b', 'i', 'd', 'e', 'a' };
 static const symbol s_0_2[5] = { 'k', 'i', 'd', 'e', 'a' };
@@ -137,118 +145,116 @@ static const symbol s_0_105[5] = { 'e', 'r', 'r', 'e', 'z' };
 static const symbol s_0_106[4] = { 't', 'z', 'e', 'z' };
 static const symbol s_0_107[5] = { 'g', 'a', 'i', 't', 'z' };
 static const symbol s_0_108[5] = { 'k', 'a', 'i', 't', 'z' };
-
-static const struct among a_0[109] =
-{
-{ 4, s_0_0, -1, 1, 0},
-{ 5, s_0_1, 0, 1, 0},
-{ 5, s_0_2, 0, 1, 0},
-{ 5, s_0_3, 0, 1, 0},
-{ 6, s_0_4, -1, 1, 0},
-{ 5, s_0_5, -1, 1, 0},
-{ 6, s_0_6, -1, 1, 0},
-{ 7, s_0_7, -1, 1, 0},
-{ 5, s_0_8, -1, 1, 0},
-{ 5, s_0_9, -1, 1, 0},
-{ 5, s_0_10, -1, 1, 0},
-{ 4, s_0_11, -1, 1, 0},
-{ 5, s_0_12, -1, 1, 0},
-{ 6, s_0_13, 12, 1, 0},
-{ 5, s_0_14, -1, 1, 0},
-{ 6, s_0_15, -1, 2, 0},
-{ 6, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 1, 0},
-{ 5, s_0_18, 17, 1, 0},
-{ 2, s_0_19, -1, 1, 0},
-{ 4, s_0_20, -1, 1, 0},
-{ 4, s_0_21, -1, 1, 0},
-{ 4, s_0_22, -1, 1, 0},
-{ 5, s_0_23, -1, 1, 0},
-{ 6, s_0_24, 23, 1, 0},
-{ 4, s_0_25, -1, 1, 0},
-{ 4, s_0_26, -1, 1, 0},
-{ 6, s_0_27, -1, 1, 0},
-{ 3, s_0_28, -1, 1, 0},
-{ 4, s_0_29, 28, 1, 0},
-{ 7, s_0_30, 29, 4, 0},
-{ 4, s_0_31, 28, 1, 0},
-{ 4, s_0_32, 28, 1, 0},
-{ 4, s_0_33, -1, 1, 0},
-{ 5, s_0_34, 33, 1, 0},
-{ 4, s_0_35, -1, 1, 0},
-{ 4, s_0_36, -1, 1, 0},
-{ 4, s_0_37, -1, 1, 0},
-{ 4, s_0_38, -1, 1, 0},
-{ 3, s_0_39, -1, 1, 0},
-{ 4, s_0_40, 39, 1, 0},
-{ 6, s_0_41, -1, 1, 0},
-{ 3, s_0_42, -1, 1, 0},
-{ 6, s_0_43, 42, 1, 0},
-{ 3, s_0_44, -1, 2, 0},
-{ 6, s_0_45, 44, 1, 0},
-{ 6, s_0_46, 44, 1, 0},
-{ 6, s_0_47, 44, 1, 0},
-{ 3, s_0_48, -1, 1, 0},
-{ 4, s_0_49, 48, 1, 0},
-{ 4, s_0_50, 48, 1, 0},
-{ 4, s_0_51, 48, 1, 0},
-{ 5, s_0_52, -1, 1, 0},
-{ 5, s_0_53, -1, 1, 0},
-{ 5, s_0_54, -1, 1, 0},
-{ 2, s_0_55, -1, 1, 0},
-{ 4, s_0_56, 55, 1, 0},
-{ 5, s_0_57, 55, 1, 0},
-{ 6, s_0_58, 55, 1, 0},
-{ 4, s_0_59, -1, 1, 0},
-{ 4, s_0_60, -1, 1, 0},
-{ 3, s_0_61, -1, 1, 0},
-{ 4, s_0_62, 61, 1, 0},
-{ 3, s_0_63, -1, 1, 0},
-{ 4, s_0_64, -1, 1, 0},
-{ 5, s_0_65, 64, 1, 0},
-{ 2, s_0_66, -1, 1, 0},
-{ 3, s_0_67, -1, 1, 0},
-{ 4, s_0_68, 67, 1, 0},
-{ 4, s_0_69, 67, 1, 0},
-{ 4, s_0_70, 67, 1, 0},
-{ 5, s_0_71, 70, 1, 0},
-{ 5, s_0_72, -1, 2, 0},
-{ 5, s_0_73, -1, 1, 0},
-{ 5, s_0_74, -1, 1, 0},
-{ 6, s_0_75, 74, 1, 0},
-{ 2, s_0_76, -1, 1, 0},
-{ 3, s_0_77, 76, 1, 0},
-{ 4, s_0_78, 77, 1, 0},
-{ 3, s_0_79, 76, 1, 0},
-{ 4, s_0_80, 76, 1, 0},
-{ 7, s_0_81, -1, 3, 0},
-{ 3, s_0_82, -1, 1, 0},
-{ 3, s_0_83, -1, 1, 0},
-{ 3, s_0_84, -1, 1, 0},
-{ 5, s_0_85, 84, 1, 0},
-{ 4, s_0_86, -1, 1, 0},
-{ 5, s_0_87, 86, 1, 0},
-{ 3, s_0_88, -1, 1, 0},
-{ 5, s_0_89, -1, 1, 0},
-{ 2, s_0_90, -1, 1, 0},
-{ 3, s_0_91, 90, 1, 0},
-{ 3, s_0_92, -1, 1, 0},
-{ 4, s_0_93, -1, 1, 0},
-{ 2, s_0_94, -1, 1, 0},
-{ 3, s_0_95, 94, 1, 0},
-{ 4, s_0_96, -1, 1, 0},
-{ 2, s_0_97, -1, 1, 0},
-{ 5, s_0_98, -1, 1, 0},
-{ 2, s_0_99, -1, 1, 0},
-{ 3, s_0_100, 99, 1, 0},
-{ 6, s_0_101, 100, 1, 0},
-{ 4, s_0_102, 100, 1, 0},
-{ 6, s_0_103, 99, 5, 0},
-{ 2, s_0_104, -1, 1, 0},
-{ 5, s_0_105, 104, 1, 0},
-{ 4, s_0_106, 104, 1, 0},
-{ 5, s_0_107, -1, 1, 0},
-{ 5, s_0_108, -1, 1, 0}
+static const struct among a_0[109] = {
+{ 4, s_0_0, 0, 1, 0},
+{ 5, s_0_1, -1, 1, 0},
+{ 5, s_0_2, -2, 1, 0},
+{ 5, s_0_3, -3, 1, 0},
+{ 6, s_0_4, 0, 1, 0},
+{ 5, s_0_5, 0, 1, 0},
+{ 6, s_0_6, 0, 1, 0},
+{ 7, s_0_7, 0, 1, 0},
+{ 5, s_0_8, 0, 1, 0},
+{ 5, s_0_9, 0, 1, 0},
+{ 5, s_0_10, 0, 1, 0},
+{ 4, s_0_11, 0, 1, 0},
+{ 5, s_0_12, 0, 1, 0},
+{ 6, s_0_13, -1, 1, 0},
+{ 5, s_0_14, 0, 1, 0},
+{ 6, s_0_15, 0, 2, 0},
+{ 6, s_0_16, 0, 1, 0},
+{ 2, s_0_17, 0, 1, 0},
+{ 5, s_0_18, -1, 1, 0},
+{ 2, s_0_19, 0, 1, 0},
+{ 4, s_0_20, 0, 1, 0},
+{ 4, s_0_21, 0, 1, 0},
+{ 4, s_0_22, 0, 1, 0},
+{ 5, s_0_23, 0, 1, 0},
+{ 6, s_0_24, -1, 1, 0},
+{ 4, s_0_25, 0, 1, 0},
+{ 4, s_0_26, 0, 1, 0},
+{ 6, s_0_27, 0, 1, 0},
+{ 3, s_0_28, 0, 1, 0},
+{ 4, s_0_29, -1, 1, 0},
+{ 7, s_0_30, -1, -1, 0},
+{ 4, s_0_31, -3, 1, 0},
+{ 4, s_0_32, -4, 1, 0},
+{ 4, s_0_33, 0, 1, 0},
+{ 5, s_0_34, -1, 1, 0},
+{ 4, s_0_35, 0, 1, 0},
+{ 4, s_0_36, 0, 1, 0},
+{ 4, s_0_37, 0, 1, 0},
+{ 4, s_0_38, 0, 1, 0},
+{ 3, s_0_39, 0, 1, 0},
+{ 4, s_0_40, -1, 1, 0},
+{ 6, s_0_41, 0, 1, 0},
+{ 3, s_0_42, 0, 1, 0},
+{ 6, s_0_43, -1, 1, 0},
+{ 3, s_0_44, 0, 2, 0},
+{ 6, s_0_45, -1, 1, 0},
+{ 6, s_0_46, -2, 1, 0},
+{ 6, s_0_47, -3, 1, 0},
+{ 3, s_0_48, 0, 1, 0},
+{ 4, s_0_49, -1, 1, 0},
+{ 4, s_0_50, -2, 1, 0},
+{ 4, s_0_51, -3, 1, 0},
+{ 5, s_0_52, 0, 1, 0},
+{ 5, s_0_53, 0, 1, 0},
+{ 5, s_0_54, 0, 1, 0},
+{ 2, s_0_55, 0, 1, 0},
+{ 4, s_0_56, -1, 1, 0},
+{ 5, s_0_57, -2, 1, 0},
+{ 6, s_0_58, -3, 1, 0},
+{ 4, s_0_59, 0, 1, 0},
+{ 4, s_0_60, 0, 1, 0},
+{ 3, s_0_61, 0, 1, 0},
+{ 4, s_0_62, -1, 1, 0},
+{ 3, s_0_63, 0, 1, 0},
+{ 4, s_0_64, 0, 1, 0},
+{ 5, s_0_65, -1, 1, 0},
+{ 2, s_0_66, 0, 1, 0},
+{ 3, s_0_67, 0, 1, 0},
+{ 4, s_0_68, -1, 1, 0},
+{ 4, s_0_69, -2, 1, 0},
+{ 4, s_0_70, -3, 1, 0},
+{ 5, s_0_71, -1, 1, 0},
+{ 5, s_0_72, 0, 2, 0},
+{ 5, s_0_73, 0, 1, 0},
+{ 5, s_0_74, 0, 1, 0},
+{ 6, s_0_75, -1, 1, 0},
+{ 2, s_0_76, 0, 1, 0},
+{ 3, s_0_77, -1, 1, 0},
+{ 4, s_0_78, -1, 1, 0},
+{ 3, s_0_79, -3, 1, 0},
+{ 4, s_0_80, -4, 1, 0},
+{ 7, s_0_81, 0, -1, 0},
+{ 3, s_0_82, 0, 1, 0},
+{ 3, s_0_83, 0, 1, 0},
+{ 3, s_0_84, 0, 1, 0},
+{ 5, s_0_85, -1, 1, 0},
+{ 4, s_0_86, 0, 1, 0},
+{ 5, s_0_87, -1, 1, 0},
+{ 3, s_0_88, 0, 1, 0},
+{ 5, s_0_89, 0, 1, 0},
+{ 2, s_0_90, 0, 1, 0},
+{ 3, s_0_91, -1, 1, 0},
+{ 3, s_0_92, 0, 1, 0},
+{ 4, s_0_93, 0, 1, 0},
+{ 2, s_0_94, 0, 1, 0},
+{ 3, s_0_95, -1, 1, 0},
+{ 4, s_0_96, 0, 1, 0},
+{ 2, s_0_97, 0, 1, 0},
+{ 5, s_0_98, 0, 1, 0},
+{ 2, s_0_99, 0, 1, 0},
+{ 3, s_0_100, -1, 1, 0},
+{ 6, s_0_101, -1, 1, 0},
+{ 4, s_0_102, -2, 1, 0},
+{ 6, s_0_103, -4, -1, 0},
+{ 2, s_0_104, 0, 1, 0},
+{ 5, s_0_105, -1, 1, 0},
+{ 4, s_0_106, -2, 1, 0},
+{ 5, s_0_107, 0, 1, 0},
+{ 5, s_0_108, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'a', 'd', 'a' };
@@ -546,304 +552,302 @@ static const symbol s_1_291[2] = { 'e', 'z' };
 static const symbol s_1_292[4] = { 'e', 'r', 'o', 'z' };
 static const symbol s_1_293[2] = { 't', 'z' };
 static const symbol s_1_294[5] = { 'k', 'o', 'i', 't', 'z' };
-
-static const struct among a_1[295] =
-{
-{ 3, s_1_0, -1, 1, 0},
-{ 4, s_1_1, 0, 1, 0},
-{ 4, s_1_2, -1, 1, 0},
-{ 5, s_1_3, -1, 1, 0},
-{ 5, s_1_4, -1, 1, 0},
-{ 5, s_1_5, -1, 1, 0},
-{ 5, s_1_6, -1, 1, 0},
-{ 6, s_1_7, 6, 1, 0},
-{ 6, s_1_8, 6, 1, 0},
-{ 5, s_1_9, -1, 1, 0},
-{ 5, s_1_10, -1, 1, 0},
-{ 6, s_1_11, 10, 1, 0},
-{ 5, s_1_12, -1, 1, 0},
-{ 4, s_1_13, -1, 1, 0},
-{ 5, s_1_14, -1, 1, 0},
-{ 3, s_1_15, -1, 1, 0},
-{ 4, s_1_16, 15, 1, 0},
-{ 6, s_1_17, 15, 1, 0},
-{ 4, s_1_18, 15, 1, 0},
-{ 5, s_1_19, 18, 1, 0},
-{ 3, s_1_20, -1, 1, 0},
-{ 6, s_1_21, -1, 1, 0},
-{ 3, s_1_22, -1, 1, 0},
-{ 5, s_1_23, 22, 1, 0},
-{ 5, s_1_24, 22, 1, 0},
-{ 5, s_1_25, 22, 1, 0},
-{ 5, s_1_26, -1, 1, 0},
-{ 2, s_1_27, -1, 1, 0},
-{ 4, s_1_28, 27, 1, 0},
-{ 4, s_1_29, -1, 1, 0},
-{ 5, s_1_30, -1, 1, 0},
-{ 6, s_1_31, 30, 1, 0},
-{ 6, s_1_32, -1, 1, 0},
-{ 6, s_1_33, -1, 1, 0},
-{ 4, s_1_34, -1, 1, 0},
-{ 4, s_1_35, -1, 1, 0},
-{ 5, s_1_36, 35, 1, 0},
-{ 5, s_1_37, 35, 1, 0},
-{ 5, s_1_38, -1, 1, 0},
-{ 4, s_1_39, -1, 1, 0},
-{ 3, s_1_40, -1, 1, 0},
-{ 5, s_1_41, 40, 1, 0},
-{ 3, s_1_42, -1, 1, 0},
-{ 4, s_1_43, 42, 1, 0},
-{ 4, s_1_44, -1, 1, 0},
-{ 5, s_1_45, 44, 1, 0},
-{ 5, s_1_46, 44, 1, 0},
-{ 5, s_1_47, 44, 1, 0},
-{ 4, s_1_48, -1, 1, 0},
-{ 5, s_1_49, 48, 1, 0},
-{ 5, s_1_50, 48, 1, 0},
-{ 6, s_1_51, -1, 2, 0},
-{ 6, s_1_52, -1, 1, 0},
-{ 6, s_1_53, -1, 1, 0},
-{ 5, s_1_54, -1, 1, 0},
-{ 4, s_1_55, -1, 1, 0},
-{ 3, s_1_56, -1, 1, 0},
-{ 4, s_1_57, -1, 1, 0},
-{ 5, s_1_58, -1, 1, 0},
-{ 6, s_1_59, -1, 1, 0},
-{ 2, s_1_60, -1, 1, 0},
-{ 4, s_1_61, 60, 3, 0},
-{ 5, s_1_62, 60, 10, 0},
-{ 3, s_1_63, 60, 1, 0},
-{ 3, s_1_64, 60, 1, 0},
-{ 3, s_1_65, 60, 1, 0},
-{ 6, s_1_66, -1, 1, 0},
-{ 4, s_1_67, -1, 1, 0},
-{ 5, s_1_68, -1, 1, 0},
-{ 5, s_1_69, -1, 1, 0},
-{ 4, s_1_70, -1, 1, 0},
-{ 3, s_1_71, -1, 1, 0},
-{ 2, s_1_72, -1, 1, 0},
-{ 4, s_1_73, 72, 1, 0},
-{ 3, s_1_74, 72, 1, 0},
-{ 7, s_1_75, 74, 1, 0},
-{ 7, s_1_76, 74, 1, 0},
-{ 6, s_1_77, 74, 1, 0},
-{ 5, s_1_78, 72, 1, 0},
-{ 6, s_1_79, 78, 1, 0},
-{ 4, s_1_80, 72, 1, 0},
-{ 4, s_1_81, 72, 1, 0},
-{ 5, s_1_82, 72, 1, 0},
-{ 3, s_1_83, 72, 1, 0},
-{ 4, s_1_84, 83, 1, 0},
-{ 5, s_1_85, 83, 1, 0},
-{ 6, s_1_86, 85, 1, 0},
-{ 5, s_1_87, -1, 1, 0},
-{ 6, s_1_88, 87, 1, 0},
-{ 4, s_1_89, -1, 1, 0},
-{ 4, s_1_90, -1, 1, 0},
-{ 3, s_1_91, -1, 1, 0},
-{ 5, s_1_92, 91, 1, 0},
-{ 4, s_1_93, 91, 1, 0},
-{ 3, s_1_94, -1, 1, 0},
-{ 5, s_1_95, 94, 1, 0},
-{ 4, s_1_96, -1, 1, 0},
-{ 5, s_1_97, 96, 1, 0},
-{ 5, s_1_98, 96, 1, 0},
-{ 4, s_1_99, -1, 1, 0},
-{ 4, s_1_100, -1, 1, 0},
-{ 4, s_1_101, -1, 1, 0},
-{ 3, s_1_102, -1, 1, 0},
-{ 4, s_1_103, 102, 1, 0},
-{ 4, s_1_104, 102, 1, 0},
-{ 4, s_1_105, -1, 1, 0},
-{ 4, s_1_106, -1, 1, 0},
-{ 3, s_1_107, -1, 1, 0},
-{ 2, s_1_108, -1, 1, 0},
-{ 3, s_1_109, 108, 1, 0},
-{ 4, s_1_110, 109, 1, 0},
-{ 5, s_1_111, 109, 1, 0},
-{ 5, s_1_112, 109, 1, 0},
-{ 4, s_1_113, 109, 1, 0},
-{ 5, s_1_114, 113, 1, 0},
-{ 5, s_1_115, 109, 1, 0},
-{ 4, s_1_116, 108, 1, 0},
-{ 4, s_1_117, 108, 1, 0},
-{ 4, s_1_118, 108, 1, 0},
-{ 3, s_1_119, 108, 2, 0},
-{ 6, s_1_120, 108, 1, 0},
-{ 5, s_1_121, 108, 1, 0},
-{ 3, s_1_122, 108, 1, 0},
-{ 2, s_1_123, -1, 1, 0},
-{ 3, s_1_124, 123, 1, 0},
-{ 2, s_1_125, -1, 1, 0},
-{ 3, s_1_126, 125, 1, 0},
-{ 4, s_1_127, 126, 1, 0},
-{ 3, s_1_128, 125, 1, 0},
-{ 3, s_1_129, -1, 1, 0},
-{ 6, s_1_130, 129, 1, 0},
-{ 5, s_1_131, 129, 1, 0},
-{ 5, s_1_132, -1, 1, 0},
-{ 5, s_1_133, -1, 1, 0},
-{ 5, s_1_134, -1, 1, 0},
-{ 4, s_1_135, -1, 1, 0},
-{ 3, s_1_136, -1, 1, 0},
-{ 6, s_1_137, 136, 1, 0},
-{ 5, s_1_138, 136, 1, 0},
-{ 4, s_1_139, -1, 1, 0},
-{ 3, s_1_140, -1, 1, 0},
-{ 4, s_1_141, 140, 1, 0},
-{ 2, s_1_142, -1, 1, 0},
-{ 3, s_1_143, 142, 1, 0},
-{ 5, s_1_144, 142, 1, 0},
-{ 3, s_1_145, 142, 2, 0},
-{ 6, s_1_146, 145, 1, 0},
-{ 5, s_1_147, 145, 1, 0},
-{ 6, s_1_148, 145, 1, 0},
-{ 6, s_1_149, 145, 1, 0},
-{ 6, s_1_150, 145, 1, 0},
-{ 4, s_1_151, -1, 1, 0},
-{ 4, s_1_152, -1, 1, 0},
-{ 4, s_1_153, -1, 1, 0},
-{ 4, s_1_154, -1, 1, 0},
-{ 5, s_1_155, 154, 1, 0},
-{ 5, s_1_156, 154, 1, 0},
-{ 4, s_1_157, -1, 1, 0},
-{ 2, s_1_158, -1, 1, 0},
-{ 4, s_1_159, -1, 1, 0},
-{ 5, s_1_160, 159, 1, 0},
-{ 4, s_1_161, -1, 1, 0},
-{ 3, s_1_162, -1, 1, 0},
-{ 4, s_1_163, -1, 1, 0},
-{ 2, s_1_164, -1, 1, 0},
-{ 5, s_1_165, 164, 1, 0},
-{ 3, s_1_166, 164, 1, 0},
-{ 4, s_1_167, 166, 1, 0},
-{ 2, s_1_168, -1, 1, 0},
-{ 5, s_1_169, -1, 1, 0},
-{ 2, s_1_170, -1, 1, 0},
-{ 4, s_1_171, 170, 1, 0},
-{ 4, s_1_172, 170, 1, 0},
-{ 4, s_1_173, 170, 1, 0},
-{ 4, s_1_174, -1, 1, 0},
-{ 3, s_1_175, -1, 1, 0},
-{ 2, s_1_176, -1, 1, 0},
-{ 4, s_1_177, 176, 1, 0},
-{ 5, s_1_178, 177, 1, 0},
-{ 5, s_1_179, 176, 8, 0},
-{ 5, s_1_180, 176, 1, 0},
-{ 5, s_1_181, 176, 1, 0},
-{ 3, s_1_182, -1, 1, 0},
-{ 3, s_1_183, -1, 1, 0},
-{ 4, s_1_184, 183, 1, 0},
-{ 4, s_1_185, 183, 1, 0},
-{ 4, s_1_186, -1, 1, 0},
-{ 3, s_1_187, -1, 1, 0},
-{ 2, s_1_188, -1, 1, 0},
-{ 4, s_1_189, 188, 1, 0},
-{ 2, s_1_190, -1, 1, 0},
-{ 3, s_1_191, 190, 1, 0},
-{ 3, s_1_192, 190, 1, 0},
-{ 3, s_1_193, -1, 1, 0},
-{ 4, s_1_194, 193, 1, 0},
-{ 4, s_1_195, 193, 1, 0},
-{ 4, s_1_196, 193, 1, 0},
-{ 5, s_1_197, -1, 2, 0},
-{ 5, s_1_198, -1, 1, 0},
-{ 5, s_1_199, -1, 1, 0},
-{ 4, s_1_200, -1, 1, 0},
-{ 3, s_1_201, -1, 1, 0},
-{ 2, s_1_202, -1, 1, 0},
-{ 5, s_1_203, -1, 1, 0},
-{ 2, s_1_204, -1, 1, 0},
-{ 2, s_1_205, -1, 1, 0},
-{ 2, s_1_206, -1, 1, 0},
-{ 5, s_1_207, -1, 1, 0},
-{ 5, s_1_208, -1, 1, 0},
-{ 3, s_1_209, -1, 1, 0},
-{ 4, s_1_210, 209, 1, 0},
-{ 3, s_1_211, -1, 1, 0},
-{ 3, s_1_212, -1, 1, 0},
-{ 4, s_1_213, 212, 1, 0},
-{ 2, s_1_214, -1, 4, 0},
-{ 3, s_1_215, 214, 2, 0},
-{ 6, s_1_216, 215, 1, 0},
-{ 6, s_1_217, 215, 1, 0},
-{ 5, s_1_218, 215, 1, 0},
-{ 3, s_1_219, 214, 4, 0},
-{ 4, s_1_220, 214, 4, 0},
-{ 4, s_1_221, -1, 1, 0},
-{ 5, s_1_222, 221, 1, 0},
-{ 3, s_1_223, -1, 1, 0},
-{ 3, s_1_224, -1, 1, 0},
-{ 3, s_1_225, -1, 1, 0},
-{ 4, s_1_226, -1, 1, 0},
-{ 5, s_1_227, 226, 1, 0},
-{ 5, s_1_228, -1, 1, 0},
-{ 4, s_1_229, -1, 1, 0},
-{ 5, s_1_230, 229, 1, 0},
-{ 2, s_1_231, -1, 1, 0},
-{ 3, s_1_232, 231, 1, 0},
-{ 3, s_1_233, -1, 1, 0},
-{ 2, s_1_234, -1, 1, 0},
-{ 5, s_1_235, 234, 5, 0},
-{ 4, s_1_236, 234, 1, 0},
-{ 5, s_1_237, 236, 1, 0},
-{ 3, s_1_238, 234, 1, 0},
-{ 6, s_1_239, 234, 1, 0},
-{ 3, s_1_240, 234, 1, 0},
-{ 4, s_1_241, 234, 1, 0},
-{ 8, s_1_242, 241, 6, 0},
-{ 3, s_1_243, 234, 1, 0},
-{ 2, s_1_244, -1, 1, 0},
-{ 4, s_1_245, 244, 1, 0},
-{ 2, s_1_246, -1, 1, 0},
-{ 3, s_1_247, 246, 1, 0},
-{ 5, s_1_248, 247, 9, 0},
-{ 4, s_1_249, 247, 1, 0},
-{ 4, s_1_250, 247, 1, 0},
-{ 3, s_1_251, 246, 1, 0},
-{ 4, s_1_252, 246, 1, 0},
-{ 3, s_1_253, 246, 1, 0},
-{ 3, s_1_254, -1, 1, 0},
-{ 2, s_1_255, -1, 1, 0},
-{ 3, s_1_256, 255, 1, 0},
-{ 3, s_1_257, 255, 1, 0},
-{ 3, s_1_258, -1, 1, 0},
-{ 3, s_1_259, -1, 1, 0},
-{ 6, s_1_260, 259, 1, 0},
-{ 2, s_1_261, -1, 1, 0},
-{ 2, s_1_262, -1, 1, 0},
-{ 2, s_1_263, -1, 1, 0},
-{ 3, s_1_264, 263, 1, 0},
-{ 5, s_1_265, 263, 1, 0},
-{ 5, s_1_266, 263, 7, 0},
-{ 4, s_1_267, 263, 1, 0},
-{ 4, s_1_268, 263, 1, 0},
-{ 3, s_1_269, 263, 1, 0},
-{ 4, s_1_270, 263, 1, 0},
-{ 2, s_1_271, -1, 2, 0},
-{ 3, s_1_272, 271, 1, 0},
-{ 2, s_1_273, -1, 1, 0},
-{ 3, s_1_274, -1, 1, 0},
-{ 2, s_1_275, -1, 1, 0},
-{ 5, s_1_276, 275, 1, 0},
-{ 4, s_1_277, 275, 1, 0},
-{ 4, s_1_278, -1, 1, 0},
-{ 4, s_1_279, -1, 2, 0},
-{ 4, s_1_280, -1, 1, 0},
-{ 3, s_1_281, -1, 1, 0},
-{ 2, s_1_282, -1, 1, 0},
-{ 4, s_1_283, 282, 4, 0},
-{ 5, s_1_284, 282, 1, 0},
-{ 4, s_1_285, 282, 1, 0},
-{ 3, s_1_286, -1, 1, 0},
-{ 2, s_1_287, -1, 1, 0},
-{ 3, s_1_288, 287, 1, 0},
-{ 6, s_1_289, 288, 1, 0},
-{ 1, s_1_290, -1, 1, 0},
-{ 2, s_1_291, 290, 1, 0},
-{ 4, s_1_292, 290, 1, 0},
-{ 2, s_1_293, 290, 1, 0},
-{ 5, s_1_294, 293, 1, 0}
+static const struct among a_1[295] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 4, s_1_1, -1, 1, 0},
+{ 4, s_1_2, 0, 1, 0},
+{ 5, s_1_3, 0, 1, 0},
+{ 5, s_1_4, 0, 1, 0},
+{ 5, s_1_5, 0, 1, 0},
+{ 5, s_1_6, 0, 1, 0},
+{ 6, s_1_7, -1, 1, 0},
+{ 6, s_1_8, -2, 1, 0},
+{ 5, s_1_9, 0, 1, 0},
+{ 5, s_1_10, 0, 1, 0},
+{ 6, s_1_11, -1, 1, 0},
+{ 5, s_1_12, 0, 1, 0},
+{ 4, s_1_13, 0, 1, 0},
+{ 5, s_1_14, 0, 1, 0},
+{ 3, s_1_15, 0, 1, 0},
+{ 4, s_1_16, -1, 1, 0},
+{ 6, s_1_17, -2, 1, 0},
+{ 4, s_1_18, -3, 1, 0},
+{ 5, s_1_19, -1, 1, 0},
+{ 3, s_1_20, 0, 1, 0},
+{ 6, s_1_21, 0, 1, 0},
+{ 3, s_1_22, 0, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 5, s_1_24, -2, 1, 0},
+{ 5, s_1_25, -3, 1, 0},
+{ 5, s_1_26, 0, 1, 0},
+{ 2, s_1_27, 0, 1, 0},
+{ 4, s_1_28, -1, 1, 0},
+{ 4, s_1_29, 0, 1, 0},
+{ 5, s_1_30, 0, 1, 0},
+{ 6, s_1_31, -1, 1, 0},
+{ 6, s_1_32, 0, 1, 0},
+{ 6, s_1_33, 0, 1, 0},
+{ 4, s_1_34, 0, 1, 0},
+{ 4, s_1_35, 0, 1, 0},
+{ 5, s_1_36, -1, 1, 0},
+{ 5, s_1_37, -2, 1, 0},
+{ 5, s_1_38, 0, 1, 0},
+{ 4, s_1_39, 0, 1, 0},
+{ 3, s_1_40, 0, 1, 0},
+{ 5, s_1_41, -1, 1, 0},
+{ 3, s_1_42, 0, 1, 0},
+{ 4, s_1_43, -1, 1, 0},
+{ 4, s_1_44, 0, 1, 0},
+{ 5, s_1_45, -1, 1, 0},
+{ 5, s_1_46, -2, 1, 0},
+{ 5, s_1_47, -3, 1, 0},
+{ 4, s_1_48, 0, 1, 0},
+{ 5, s_1_49, -1, 1, 0},
+{ 5, s_1_50, -2, 1, 0},
+{ 6, s_1_51, 0, 2, 0},
+{ 6, s_1_52, 0, 1, 0},
+{ 6, s_1_53, 0, 1, 0},
+{ 5, s_1_54, 0, 1, 0},
+{ 4, s_1_55, 0, 1, 0},
+{ 3, s_1_56, 0, 1, 0},
+{ 4, s_1_57, 0, 1, 0},
+{ 5, s_1_58, 0, 1, 0},
+{ 6, s_1_59, 0, 1, 0},
+{ 2, s_1_60, 0, 1, 0},
+{ 4, s_1_61, -1, 3, 0},
+{ 5, s_1_62, -2, -1, 0},
+{ 3, s_1_63, -3, 1, 0},
+{ 3, s_1_64, -4, 1, 0},
+{ 3, s_1_65, -5, 1, 0},
+{ 6, s_1_66, 0, 1, 0},
+{ 4, s_1_67, 0, 1, 0},
+{ 5, s_1_68, 0, 1, 0},
+{ 5, s_1_69, 0, 1, 0},
+{ 4, s_1_70, 0, 1, 0},
+{ 3, s_1_71, 0, 1, 0},
+{ 2, s_1_72, 0, 1, 0},
+{ 4, s_1_73, -1, 1, 0},
+{ 3, s_1_74, -2, 1, 0},
+{ 7, s_1_75, -1, 1, 0},
+{ 7, s_1_76, -2, 1, 0},
+{ 6, s_1_77, -3, 1, 0},
+{ 5, s_1_78, -6, 1, 0},
+{ 6, s_1_79, -1, 1, 0},
+{ 4, s_1_80, -8, 1, 0},
+{ 4, s_1_81, -9, 1, 0},
+{ 5, s_1_82, -10, 1, 0},
+{ 3, s_1_83, -11, 1, 0},
+{ 4, s_1_84, -1, 1, 0},
+{ 5, s_1_85, -2, 1, 0},
+{ 6, s_1_86, -1, 1, 0},
+{ 5, s_1_87, 0, 1, 0},
+{ 6, s_1_88, -1, 1, 0},
+{ 4, s_1_89, 0, 1, 0},
+{ 4, s_1_90, 0, 1, 0},
+{ 3, s_1_91, 0, 1, 0},
+{ 5, s_1_92, -1, 1, 0},
+{ 4, s_1_93, -2, 1, 0},
+{ 3, s_1_94, 0, 1, 0},
+{ 5, s_1_95, -1, 1, 0},
+{ 4, s_1_96, 0, 1, 0},
+{ 5, s_1_97, -1, 1, 0},
+{ 5, s_1_98, -2, 1, 0},
+{ 4, s_1_99, 0, 1, 0},
+{ 4, s_1_100, 0, 1, 0},
+{ 4, s_1_101, 0, 1, 0},
+{ 3, s_1_102, 0, 1, 0},
+{ 4, s_1_103, -1, 1, 0},
+{ 4, s_1_104, -2, 1, 0},
+{ 4, s_1_105, 0, 1, 0},
+{ 4, s_1_106, 0, 1, 0},
+{ 3, s_1_107, 0, 1, 0},
+{ 2, s_1_108, 0, 1, 0},
+{ 3, s_1_109, -1, 1, 0},
+{ 4, s_1_110, -1, 1, 0},
+{ 5, s_1_111, -2, 1, 0},
+{ 5, s_1_112, -3, 1, 0},
+{ 4, s_1_113, -4, 1, 0},
+{ 5, s_1_114, -1, 1, 0},
+{ 5, s_1_115, -6, 1, 0},
+{ 4, s_1_116, -8, 1, 0},
+{ 4, s_1_117, -9, 1, 0},
+{ 4, s_1_118, -10, 1, 0},
+{ 3, s_1_119, -11, 2, 0},
+{ 6, s_1_120, -12, 1, 0},
+{ 5, s_1_121, -13, 1, 0},
+{ 3, s_1_122, -14, 1, 0},
+{ 2, s_1_123, 0, 1, 0},
+{ 3, s_1_124, -1, 1, 0},
+{ 2, s_1_125, 0, 1, 0},
+{ 3, s_1_126, -1, 1, 0},
+{ 4, s_1_127, -1, 1, 0},
+{ 3, s_1_128, -3, 1, 0},
+{ 3, s_1_129, 0, 1, 0},
+{ 6, s_1_130, -1, 1, 0},
+{ 5, s_1_131, -2, 1, 0},
+{ 5, s_1_132, 0, 1, 0},
+{ 5, s_1_133, 0, 1, 0},
+{ 5, s_1_134, 0, 1, 0},
+{ 4, s_1_135, 0, 1, 0},
+{ 3, s_1_136, 0, 1, 0},
+{ 6, s_1_137, -1, 1, 0},
+{ 5, s_1_138, -2, 1, 0},
+{ 4, s_1_139, 0, 1, 0},
+{ 3, s_1_140, 0, 1, 0},
+{ 4, s_1_141, -1, 1, 0},
+{ 2, s_1_142, 0, 1, 0},
+{ 3, s_1_143, -1, 1, 0},
+{ 5, s_1_144, -2, 1, 0},
+{ 3, s_1_145, -3, 2, 0},
+{ 6, s_1_146, -1, 1, 0},
+{ 5, s_1_147, -2, 1, 0},
+{ 6, s_1_148, -3, 1, 0},
+{ 6, s_1_149, -4, 1, 0},
+{ 6, s_1_150, -5, 1, 0},
+{ 4, s_1_151, 0, 1, 0},
+{ 4, s_1_152, 0, 1, 0},
+{ 4, s_1_153, 0, 1, 0},
+{ 4, s_1_154, 0, 1, 0},
+{ 5, s_1_155, -1, 1, 0},
+{ 5, s_1_156, -2, 1, 0},
+{ 4, s_1_157, 0, 1, 0},
+{ 2, s_1_158, 0, 1, 0},
+{ 4, s_1_159, 0, 1, 0},
+{ 5, s_1_160, -1, 1, 0},
+{ 4, s_1_161, 0, 1, 0},
+{ 3, s_1_162, 0, 1, 0},
+{ 4, s_1_163, 0, 1, 0},
+{ 2, s_1_164, 0, 1, 0},
+{ 5, s_1_165, -1, 1, 0},
+{ 3, s_1_166, -2, 1, 0},
+{ 4, s_1_167, -1, 1, 0},
+{ 2, s_1_168, 0, 1, 0},
+{ 5, s_1_169, 0, 1, 0},
+{ 2, s_1_170, 0, 1, 0},
+{ 4, s_1_171, -1, 1, 0},
+{ 4, s_1_172, -2, 1, 0},
+{ 4, s_1_173, -3, 1, 0},
+{ 4, s_1_174, 0, 1, 0},
+{ 3, s_1_175, 0, 1, 0},
+{ 2, s_1_176, 0, 1, 0},
+{ 4, s_1_177, -1, 1, 0},
+{ 5, s_1_178, -1, 1, 0},
+{ 5, s_1_179, -3, -1, 0},
+{ 5, s_1_180, -4, 1, 0},
+{ 5, s_1_181, -5, 1, 0},
+{ 3, s_1_182, 0, 1, 0},
+{ 3, s_1_183, 0, 1, 0},
+{ 4, s_1_184, -1, 1, 0},
+{ 4, s_1_185, -2, 1, 0},
+{ 4, s_1_186, 0, 1, 0},
+{ 3, s_1_187, 0, 1, 0},
+{ 2, s_1_188, 0, 1, 0},
+{ 4, s_1_189, -1, 1, 0},
+{ 2, s_1_190, 0, 1, 0},
+{ 3, s_1_191, -1, 1, 0},
+{ 3, s_1_192, -2, 1, 0},
+{ 3, s_1_193, 0, 1, 0},
+{ 4, s_1_194, -1, 1, 0},
+{ 4, s_1_195, -2, 1, 0},
+{ 4, s_1_196, -3, 1, 0},
+{ 5, s_1_197, 0, 2, 0},
+{ 5, s_1_198, 0, 1, 0},
+{ 5, s_1_199, 0, 1, 0},
+{ 4, s_1_200, 0, 1, 0},
+{ 3, s_1_201, 0, 1, 0},
+{ 2, s_1_202, 0, 1, 0},
+{ 5, s_1_203, 0, 1, 0},
+{ 2, s_1_204, 0, 1, 0},
+{ 2, s_1_205, 0, 1, 0},
+{ 2, s_1_206, 0, 1, 0},
+{ 5, s_1_207, 0, 1, 0},
+{ 5, s_1_208, 0, 1, 0},
+{ 3, s_1_209, 0, 1, 0},
+{ 4, s_1_210, -1, 1, 0},
+{ 3, s_1_211, 0, 1, 0},
+{ 3, s_1_212, 0, 1, 0},
+{ 4, s_1_213, -1, 1, 0},
+{ 2, s_1_214, 0, 4, 0},
+{ 3, s_1_215, -1, 2, 0},
+{ 6, s_1_216, -1, 1, 0},
+{ 6, s_1_217, -2, 1, 0},
+{ 5, s_1_218, -3, 1, 0},
+{ 3, s_1_219, -5, 4, 0},
+{ 4, s_1_220, -6, 4, 0},
+{ 4, s_1_221, 0, 1, 0},
+{ 5, s_1_222, -1, 1, 0},
+{ 3, s_1_223, 0, 1, 0},
+{ 3, s_1_224, 0, 1, 0},
+{ 3, s_1_225, 0, 1, 0},
+{ 4, s_1_226, 0, 1, 0},
+{ 5, s_1_227, -1, 1, 0},
+{ 5, s_1_228, 0, 1, 0},
+{ 4, s_1_229, 0, 1, 0},
+{ 5, s_1_230, -1, 1, 0},
+{ 2, s_1_231, 0, 1, 0},
+{ 3, s_1_232, -1, 1, 0},
+{ 3, s_1_233, 0, 1, 0},
+{ 2, s_1_234, 0, 1, 0},
+{ 5, s_1_235, -1, 5, 0},
+{ 4, s_1_236, -2, 1, 0},
+{ 5, s_1_237, -1, 1, 0},
+{ 3, s_1_238, -4, 1, 0},
+{ 6, s_1_239, -5, 1, 0},
+{ 3, s_1_240, -6, 1, 0},
+{ 4, s_1_241, -7, 1, 0},
+{ 8, s_1_242, -1, 6, 0},
+{ 3, s_1_243, -9, 1, 0},
+{ 2, s_1_244, 0, 1, 0},
+{ 4, s_1_245, -1, 1, 0},
+{ 2, s_1_246, 0, 1, 0},
+{ 3, s_1_247, -1, 1, 0},
+{ 5, s_1_248, -1, -1, 0},
+{ 4, s_1_249, -2, 1, 0},
+{ 4, s_1_250, -3, 1, 0},
+{ 3, s_1_251, -5, 1, 0},
+{ 4, s_1_252, -6, 1, 0},
+{ 3, s_1_253, -7, 1, 0},
+{ 3, s_1_254, 0, 1, 0},
+{ 2, s_1_255, 0, 1, 0},
+{ 3, s_1_256, -1, 1, 0},
+{ 3, s_1_257, -2, 1, 0},
+{ 3, s_1_258, 0, 1, 0},
+{ 3, s_1_259, 0, 1, 0},
+{ 6, s_1_260, -1, 1, 0},
+{ 2, s_1_261, 0, 1, 0},
+{ 2, s_1_262, 0, 1, 0},
+{ 2, s_1_263, 0, 1, 0},
+{ 3, s_1_264, -1, 1, 0},
+{ 5, s_1_265, -2, 1, 0},
+{ 5, s_1_266, -3, -1, 0},
+{ 4, s_1_267, -4, 1, 0},
+{ 4, s_1_268, -5, 1, 0},
+{ 3, s_1_269, -6, 1, 0},
+{ 4, s_1_270, -7, 1, 0},
+{ 2, s_1_271, 0, 2, 0},
+{ 3, s_1_272, -1, 1, 0},
+{ 2, s_1_273, 0, 1, 0},
+{ 3, s_1_274, 0, 1, 0},
+{ 2, s_1_275, 0, 1, 0},
+{ 5, s_1_276, -1, 1, 0},
+{ 4, s_1_277, -2, 1, 0},
+{ 4, s_1_278, 0, 1, 0},
+{ 4, s_1_279, 0, 2, 0},
+{ 4, s_1_280, 0, 1, 0},
+{ 3, s_1_281, 0, 1, 0},
+{ 2, s_1_282, 0, 1, 0},
+{ 4, s_1_283, -1, 4, 0},
+{ 5, s_1_284, -2, 1, 0},
+{ 4, s_1_285, -3, 1, 0},
+{ 3, s_1_286, 0, 1, 0},
+{ 2, s_1_287, 0, 1, 0},
+{ 3, s_1_288, -1, 1, 0},
+{ 6, s_1_289, -1, 1, 0},
+{ 1, s_1_290, 0, 1, 0},
+{ 2, s_1_291, -1, 1, 0},
+{ 4, s_1_292, -2, 1, 0},
+{ 2, s_1_293, -3, 1, 0},
+{ 5, s_1_294, -1, 1, 0}
 };
 
 static const symbol s_2_0[4] = { 'z', 'l', 'e', 'a' };
@@ -865,179 +869,148 @@ static const symbol s_2_15[2] = { 'g', 'o' };
 static const symbol s_2_16[2] = { 'r', 'o' };
 static const symbol s_2_17[3] = { 'e', 'r', 'o' };
 static const symbol s_2_18[2] = { 't', 'o' };
-
-static const struct among a_2[19] =
-{
-{ 4, s_2_0, -1, 2, 0},
-{ 5, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 1, 0},
-{ 3, s_2_3, -1, 1, 0},
-{ 4, s_2_4, -1, 1, 0},
-{ 4, s_2_5, -1, 1, 0},
-{ 4, s_2_6, -1, 1, 0},
-{ 4, s_2_7, -1, 1, 0},
-{ 2, s_2_8, -1, 1, 0},
-{ 2, s_2_9, -1, 1, 0},
-{ 2, s_2_10, -1, 1, 0},
-{ 5, s_2_11, 10, 1, 0},
-{ 3, s_2_12, 10, 1, 0},
-{ 5, s_2_13, 12, 1, 0},
-{ 4, s_2_14, 10, 1, 0},
-{ 2, s_2_15, -1, 1, 0},
-{ 2, s_2_16, -1, 1, 0},
-{ 3, s_2_17, 16, 1, 0},
-{ 2, s_2_18, -1, 1, 0}
+static const struct among a_2[19] = {
+{ 4, s_2_0, 0, 2, 0},
+{ 5, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 1, 0},
+{ 3, s_2_3, 0, 1, 0},
+{ 4, s_2_4, 0, 1, 0},
+{ 4, s_2_5, 0, 1, 0},
+{ 4, s_2_6, 0, 1, 0},
+{ 4, s_2_7, 0, 1, 0},
+{ 2, s_2_8, 0, 1, 0},
+{ 2, s_2_9, 0, 1, 0},
+{ 2, s_2_10, 0, 1, 0},
+{ 5, s_2_11, -1, 1, 0},
+{ 3, s_2_12, -2, 1, 0},
+{ 5, s_2_13, -1, 1, 0},
+{ 4, s_2_14, -4, 1, 0},
+{ 2, s_2_15, 0, 1, 0},
+{ 2, s_2_16, 0, 1, 0},
+{ 3, s_2_17, -1, 1, 0},
+{ 2, s_2_18, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16 };
 
-static const symbol s_0[] = { 'a', 't', 's', 'e', 'd', 'e', 'n' };
-static const symbol s_1[] = { 'a', 'r', 'a', 'b', 'e', 'r', 'a' };
-static const symbol s_2[] = { 'b', 'a', 'd', 'i', 't', 'u' };
-static const symbol s_3[] = { 'j', 'o', 'k' };
-static const symbol s_4[] = { 't', 'r', 'a' };
-static const symbol s_5[] = { 'm', 'i', 'n', 'u', 't', 'u' };
-static const symbol s_6[] = { 'z', 'e', 'h', 'a', 'r' };
-static const symbol s_7[] = { 'g', 'e', 'l', 'd', 'i' };
-static const symbol s_8[] = { 'i', 'g', 'a', 'r', 'o' };
-static const symbol s_9[] = { 'a', 'u', 'r', 'k', 'a' };
-static const symbol s_10[] = { 'z' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping(z, g_v, 97, 117, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping(z, g_v, 97, 117, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping(z, g_v, 97, 117, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping(z, g_v, 97, 117, 0)) goto lab2;
                 {
                     int ret = out_grouping(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping(z, g_v, 97, 117, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping(z, g_v, 97, 117, 0)) goto lab1;
                 {
                     int ret = in_grouping(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping(z, g_v, 97, 117, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping(z, g_v, 97, 117, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping(z, g_v, 97, 117, 0)) goto lab3;
                 {
                     int ret = out_grouping(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping(z, g_v, 97, 117, 0)) goto lab0;
                 if (z->c >= z->l) goto lab0;
                 z->c++;
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_aditzak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((70566434 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_0, 109);
+    among_var = find_among_b(z, a_0, 109, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 3:
-            {   int ret = slice_from_s(z, 7, s_0);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 4:
-            {   int ret = slice_from_s(z, 7, s_1);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 5:
-            {   int ret = slice_from_s(z, 6, s_2);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1049,66 +1022,55 @@ static int r_izenak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((71162402 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_1, 295);
+    among_var = find_among_b(z, a_1, 295, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_3);
+            {
+                int ret = slice_from_s(z, 3, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_4);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 6, s_5);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 7:
-            {   int ret = slice_from_s(z, 5, s_6);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 8:
-            {   int ret = slice_from_s(z, 5, s_7);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 9:
-            {   int ret = slice_from_s(z, 5, s_8);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 10:
-            {   int ret = slice_from_s(z, 5, s_9);
+            {
+                int ret = slice_from_s(z, 6, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -1120,20 +1082,23 @@ static int r_adjetiboak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((35362 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_2, 19);
+    among_var = find_among_b(z, a_2, 19, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -1142,45 +1107,58 @@ static int r_adjetiboak(struct SN_env * z) {
 }
 
 extern int basque_ISO_8859_1_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    while(1) {
-        int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_aditzak(z);
+    while (1) {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_aditzak(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
         break;
     }
-    while(1) {
-        int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_izenak(z);
+    while (1) {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_izenak(z);
             if (ret == 0) goto lab1;
             if (ret < 0) return ret;
         }
         continue;
     lab1:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
         break;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_adjetiboak(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_adjetiboak(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * basque_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * basque_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void basque_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void basque_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index f2710534d62749ad7bb2d6020333ba01bc6bce6c..ef82a92548e61e6c70ac0e61acb5b25fe4f5ae3b 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from catalan.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_catalan.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int catalan_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_standard_suffix(struct SN_env * z);
@@ -17,18 +30,18 @@ static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_cleaning(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * catalan_ISO_8859_1_create_env(void);
-extern void catalan_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { '.' };
+static const symbol s_6[] = { 'l', 'o', 'g' };
+static const symbol s_7[] = { 'i', 'c' };
+static const symbol s_8[] = { 'c' };
+static const symbol s_9[] = { 'i', 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[1] = { 0xB7 };
 static const symbol s_0_2[1] = { 0xE0 };
 static const symbol s_0_3[1] = { 0xE1 };
@@ -41,22 +54,20 @@ static const symbol s_0_9[1] = { 0xF2 };
 static const symbol s_0_10[1] = { 0xF3 };
 static const symbol s_0_11[1] = { 0xFA };
 static const symbol s_0_12[1] = { 0xFC };
-
-static const struct among a_0[13] =
-{
-{ 0, 0, -1, 7, 0},
-{ 1, s_0_1, 0, 6, 0},
-{ 1, s_0_2, 0, 1, 0},
-{ 1, s_0_3, 0, 1, 0},
-{ 1, s_0_4, 0, 2, 0},
-{ 1, s_0_5, 0, 2, 0},
-{ 1, s_0_6, 0, 3, 0},
-{ 1, s_0_7, 0, 3, 0},
-{ 1, s_0_8, 0, 3, 0},
-{ 1, s_0_9, 0, 4, 0},
-{ 1, s_0_10, 0, 4, 0},
-{ 1, s_0_11, 0, 5, 0},
-{ 1, s_0_12, 0, 5, 0}
+static const struct among a_0[13] = {
+{ 0, 0, 0, 7, 0},
+{ 1, s_0_1, -1, 6, 0},
+{ 1, s_0_2, -2, 1, 0},
+{ 1, s_0_3, -3, 1, 0},
+{ 1, s_0_4, -4, 2, 0},
+{ 1, s_0_5, -5, 2, 0},
+{ 1, s_0_6, -6, 3, 0},
+{ 1, s_0_7, -7, 3, 0},
+{ 1, s_0_8, -8, 3, 0},
+{ 1, s_0_9, -9, 4, 0},
+{ 1, s_0_10, -10, 4, 0},
+{ 1, s_0_11, -11, 5, 0},
+{ 1, s_0_12, -12, 5, 0}
 };
 
 static const symbol s_1_0[2] = { 'l', 'a' };
@@ -98,48 +109,46 @@ static const symbol s_1_35[3] = { 'v', 'o', 's' };
 static const symbol s_1_36[2] = { 'u', 's' };
 static const symbol s_1_37[3] = { '-', 'u', 's' };
 static const symbol s_1_38[2] = { '\'', 't' };
-
-static const struct among a_1[39] =
-{
-{ 2, s_1_0, -1, 1, 0},
-{ 3, s_1_1, 0, 1, 0},
-{ 4, s_1_2, 0, 1, 0},
-{ 2, s_1_3, -1, 1, 0},
-{ 2, s_1_4, -1, 1, 0},
-{ 3, s_1_5, 4, 1, 0},
-{ 2, s_1_6, -1, 1, 0},
-{ 3, s_1_7, -1, 1, 0},
-{ 2, s_1_8, -1, 1, 0},
-{ 3, s_1_9, 8, 1, 0},
-{ 2, s_1_10, -1, 1, 0},
-{ 3, s_1_11, 10, 1, 0},
-{ 2, s_1_12, -1, 1, 0},
-{ 2, s_1_13, -1, 1, 0},
-{ 2, s_1_14, -1, 1, 0},
-{ 2, s_1_15, -1, 1, 0},
-{ 2, s_1_16, -1, 1, 0},
-{ 2, s_1_17, -1, 1, 0},
-{ 3, s_1_18, 17, 1, 0},
-{ 2, s_1_19, -1, 1, 0},
-{ 4, s_1_20, 19, 1, 0},
-{ 2, s_1_21, -1, 1, 0},
-{ 3, s_1_22, -1, 1, 0},
-{ 5, s_1_23, 22, 1, 0},
-{ 3, s_1_24, -1, 1, 0},
-{ 4, s_1_25, 24, 1, 0},
-{ 3, s_1_26, -1, 1, 0},
-{ 3, s_1_27, -1, 1, 0},
-{ 3, s_1_28, -1, 1, 0},
-{ 3, s_1_29, -1, 1, 0},
-{ 3, s_1_30, -1, 1, 0},
-{ 3, s_1_31, -1, 1, 0},
-{ 5, s_1_32, 31, 1, 0},
-{ 3, s_1_33, -1, 1, 0},
-{ 4, s_1_34, 33, 1, 0},
-{ 3, s_1_35, -1, 1, 0},
-{ 2, s_1_36, -1, 1, 0},
-{ 3, s_1_37, 36, 1, 0},
-{ 2, s_1_38, -1, 1, 0}
+static const struct among a_1[39] = {
+{ 2, s_1_0, 0, 1, 0},
+{ 3, s_1_1, -1, 1, 0},
+{ 4, s_1_2, -2, 1, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 2, s_1_4, 0, 1, 0},
+{ 3, s_1_5, -1, 1, 0},
+{ 2, s_1_6, 0, 1, 0},
+{ 3, s_1_7, 0, 1, 0},
+{ 2, s_1_8, 0, 1, 0},
+{ 3, s_1_9, -1, 1, 0},
+{ 2, s_1_10, 0, 1, 0},
+{ 3, s_1_11, -1, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 2, s_1_13, 0, 1, 0},
+{ 2, s_1_14, 0, 1, 0},
+{ 2, s_1_15, 0, 1, 0},
+{ 2, s_1_16, 0, 1, 0},
+{ 2, s_1_17, 0, 1, 0},
+{ 3, s_1_18, -1, 1, 0},
+{ 2, s_1_19, 0, 1, 0},
+{ 4, s_1_20, -1, 1, 0},
+{ 2, s_1_21, 0, 1, 0},
+{ 3, s_1_22, 0, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 3, s_1_24, 0, 1, 0},
+{ 4, s_1_25, -1, 1, 0},
+{ 3, s_1_26, 0, 1, 0},
+{ 3, s_1_27, 0, 1, 0},
+{ 3, s_1_28, 0, 1, 0},
+{ 3, s_1_29, 0, 1, 0},
+{ 3, s_1_30, 0, 1, 0},
+{ 3, s_1_31, 0, 1, 0},
+{ 5, s_1_32, -1, 1, 0},
+{ 3, s_1_33, 0, 1, 0},
+{ 4, s_1_34, -1, 1, 0},
+{ 3, s_1_35, 0, 1, 0},
+{ 2, s_1_36, 0, 1, 0},
+{ 3, s_1_37, -1, 1, 0},
+{ 2, s_1_38, 0, 1, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'c', 'a' };
@@ -342,209 +351,207 @@ static const symbol s_2_196[1] = { 0xF3 };
 static const symbol s_2_197[2] = { 'i', 0xF3 };
 static const symbol s_2_198[3] = { 'c', 'i', 0xF3 };
 static const symbol s_2_199[4] = { 'a', 'c', 'i', 0xF3 };
-
-static const struct among a_2[200] =
-{
-{ 3, s_2_0, -1, 4, 0},
-{ 6, s_2_1, 0, 3, 0},
-{ 4, s_2_2, -1, 1, 0},
-{ 3, s_2_3, -1, 2, 0},
-{ 5, s_2_4, -1, 1, 0},
-{ 5, s_2_5, -1, 1, 0},
-{ 5, s_2_6, -1, 1, 0},
-{ 4, s_2_7, -1, 1, 0},
-{ 5, s_2_8, -1, 3, 0},
-{ 4, s_2_9, -1, 1, 0},
-{ 5, s_2_10, 9, 1, 0},
-{ 4, s_2_11, -1, 1, 0},
-{ 4, s_2_12, -1, 1, 0},
-{ 6, s_2_13, -1, 1, 0},
-{ 4, s_2_14, -1, 1, 0},
-{ 4, s_2_15, -1, 1, 0},
-{ 5, s_2_16, -1, 1, 0},
-{ 3, s_2_17, -1, 1, 0},
-{ 6, s_2_18, 17, 1, 0},
-{ 8, s_2_19, 18, 5, 0},
-{ 3, s_2_20, -1, 1, 0},
-{ 3, s_2_21, -1, 1, 0},
-{ 3, s_2_22, -1, 1, 0},
-{ 5, s_2_23, 22, 1, 0},
-{ 3, s_2_24, -1, 1, 0},
-{ 4, s_2_25, 24, 1, 0},
-{ 5, s_2_26, 25, 1, 0},
-{ 5, s_2_27, -1, 1, 0},
-{ 3, s_2_28, -1, 1, 0},
-{ 3, s_2_29, -1, 1, 0},
-{ 4, s_2_30, -1, 1, 0},
-{ 4, s_2_31, -1, 1, 0},
-{ 4, s_2_32, -1, 1, 0},
-{ 3, s_2_33, -1, 1, 0},
-{ 3, s_2_34, -1, 1, 0},
-{ 3, s_2_35, -1, 1, 0},
-{ 4, s_2_36, -1, 1, 0},
-{ 7, s_2_37, 36, 1, 0},
-{ 7, s_2_38, 36, 1, 0},
-{ 3, s_2_39, -1, 1, 0},
-{ 5, s_2_40, 39, 1, 0},
-{ 3, s_2_41, -1, 1, 0},
-{ 5, s_2_42, -1, 3, 0},
-{ 2, s_2_43, -1, 4, 0},
-{ 5, s_2_44, 43, 1, 0},
-{ 3, s_2_45, -1, 1, 0},
-{ 3, s_2_46, -1, 1, 0},
-{ 2, s_2_47, -1, 1, 0},
-{ 4, s_2_48, -1, 1, 0},
-{ 3, s_2_49, -1, 1, 0},
-{ 4, s_2_50, 49, 1, 0},
-{ 4, s_2_51, 49, 1, 0},
-{ 4, s_2_52, -1, 1, 0},
-{ 7, s_2_53, 52, 1, 0},
-{ 7, s_2_54, 52, 1, 0},
-{ 6, s_2_55, 52, 1, 0},
-{ 4, s_2_56, -1, 1, 0},
-{ 4, s_2_57, -1, 1, 0},
-{ 4, s_2_58, -1, 1, 0},
-{ 3, s_2_59, -1, 1, 0},
-{ 3, s_2_60, -1, 1, 0},
-{ 4, s_2_61, -1, 3, 0},
-{ 3, s_2_62, -1, 1, 0},
-{ 4, s_2_63, -1, 1, 0},
-{ 2, s_2_64, -1, 1, 0},
-{ 2, s_2_65, -1, 1, 0},
-{ 3, s_2_66, -1, 1, 0},
-{ 3, s_2_67, -1, 1, 0},
-{ 4, s_2_68, -1, 1, 0},
-{ 4, s_2_69, -1, 1, 0},
-{ 5, s_2_70, -1, 1, 0},
-{ 5, s_2_71, -1, 1, 0},
-{ 5, s_2_72, -1, 1, 0},
-{ 5, s_2_73, -1, 1, 0},
-{ 7, s_2_74, 73, 5, 0},
-{ 4, s_2_75, -1, 1, 0},
-{ 5, s_2_76, -1, 1, 0},
-{ 2, s_2_77, -1, 1, 0},
-{ 6, s_2_78, 77, 1, 0},
-{ 4, s_2_79, 77, 1, 0},
-{ 4, s_2_80, 77, 1, 0},
-{ 4, s_2_81, 77, 1, 0},
-{ 5, s_2_82, 77, 1, 0},
-{ 3, s_2_83, -1, 1, 0},
-{ 2, s_2_84, -1, 1, 0},
-{ 3, s_2_85, 84, 1, 0},
-{ 3, s_2_86, -1, 1, 0},
-{ 5, s_2_87, -1, 1, 0},
-{ 3, s_2_88, -1, 4, 0},
-{ 6, s_2_89, 88, 3, 0},
-{ 3, s_2_90, -1, 1, 0},
-{ 4, s_2_91, -1, 1, 0},
-{ 4, s_2_92, -1, 2, 0},
-{ 6, s_2_93, -1, 1, 0},
-{ 6, s_2_94, -1, 1, 0},
-{ 6, s_2_95, -1, 1, 0},
-{ 5, s_2_96, -1, 1, 0},
-{ 6, s_2_97, -1, 3, 0},
-{ 5, s_2_98, -1, 1, 0},
-{ 5, s_2_99, -1, 1, 0},
-{ 5, s_2_100, -1, 1, 0},
-{ 5, s_2_101, -1, 1, 0},
-{ 7, s_2_102, -1, 1, 0},
-{ 4, s_2_103, -1, 1, 0},
-{ 5, s_2_104, 103, 1, 0},
-{ 5, s_2_105, 103, 1, 0},
-{ 4, s_2_106, -1, 1, 0},
-{ 7, s_2_107, 106, 1, 0},
-{ 9, s_2_108, 107, 5, 0},
-{ 6, s_2_109, -1, 1, 0},
-{ 5, s_2_110, -1, 1, 0},
-{ 8, s_2_111, 110, 1, 0},
-{ 4, s_2_112, -1, 1, 0},
-{ 4, s_2_113, -1, 1, 0},
-{ 4, s_2_114, -1, 1, 0},
-{ 5, s_2_115, 114, 1, 0},
-{ 6, s_2_116, 115, 1, 0},
-{ 5, s_2_117, -1, 1, 0},
-{ 4, s_2_118, -1, 1, 0},
-{ 4, s_2_119, -1, 1, 0},
-{ 5, s_2_120, -1, 1, 0},
-{ 5, s_2_121, -1, 1, 0},
-{ 4, s_2_122, -1, 1, 0},
-{ 4, s_2_123, -1, 1, 0},
-{ 5, s_2_124, -1, 1, 0},
-{ 8, s_2_125, 124, 1, 0},
-{ 8, s_2_126, 124, 1, 0},
-{ 5, s_2_127, -1, 4, 0},
-{ 8, s_2_128, 127, 3, 0},
-{ 4, s_2_129, -1, 1, 0},
-{ 6, s_2_130, 129, 1, 0},
-{ 6, s_2_131, -1, 3, 0},
-{ 9, s_2_132, -1, 1, 0},
-{ 4, s_2_133, -1, 1, 0},
-{ 4, s_2_134, -1, 1, 0},
-{ 5, s_2_135, -1, 3, 0},
-{ 4, s_2_136, -1, 1, 0},
-{ 5, s_2_137, -1, 1, 0},
-{ 2, s_2_138, -1, 1, 0},
-{ 3, s_2_139, 138, 1, 0},
-{ 4, s_2_140, 138, 1, 0},
-{ 3, s_2_141, -1, 1, 0},
-{ 6, s_2_142, 141, 1, 0},
-{ 8, s_2_143, 142, 5, 0},
-{ 4, s_2_144, -1, 1, 0},
-{ 5, s_2_145, 144, 1, 0},
-{ 6, s_2_146, 145, 2, 0},
-{ 4, s_2_147, -1, 1, 0},
-{ 4, s_2_148, -1, 1, 0},
-{ 5, s_2_149, -1, 1, 0},
-{ 5, s_2_150, -1, 1, 0},
-{ 3, s_2_151, -1, 1, 0},
-{ 3, s_2_152, -1, 1, 0},
-{ 4, s_2_153, 152, 1, 0},
-{ 5, s_2_154, 153, 1, 0},
-{ 5, s_2_155, 153, 1, 0},
-{ 3, s_2_156, -1, 1, 0},
-{ 5, s_2_157, 156, 1, 0},
-{ 8, s_2_158, 157, 1, 0},
-{ 7, s_2_159, 157, 1, 0},
-{ 9, s_2_160, 159, 1, 0},
-{ 5, s_2_161, 156, 1, 0},
-{ 3, s_2_162, -1, 1, 0},
-{ 4, s_2_163, -1, 1, 0},
-{ 4, s_2_164, -1, 1, 0},
-{ 5, s_2_165, 164, 1, 0},
-{ 6, s_2_166, 165, 1, 0},
-{ 3, s_2_167, -1, 1, 0},
-{ 3, s_2_168, -1, 1, 0},
-{ 3, s_2_169, -1, 1, 0},
-{ 5, s_2_170, 169, 1, 0},
-{ 5, s_2_171, 169, 1, 0},
-{ 2, s_2_172, -1, 1, 0},
-{ 2, s_2_173, -1, 1, 0},
-{ 2, s_2_174, -1, 1, 0},
-{ 3, s_2_175, 174, 1, 0},
-{ 2, s_2_176, -1, 1, 0},
-{ 4, s_2_177, -1, 1, 0},
-{ 7, s_2_178, 177, 1, 0},
-{ 6, s_2_179, 177, 1, 0},
-{ 8, s_2_180, 179, 1, 0},
-{ 4, s_2_181, -1, 1, 0},
-{ 2, s_2_182, -1, 1, 0},
-{ 3, s_2_183, -1, 1, 0},
-{ 3, s_2_184, -1, 1, 0},
-{ 4, s_2_185, 184, 1, 0},
-{ 4, s_2_186, 184, 1, 0},
-{ 5, s_2_187, 186, 1, 0},
-{ 7, s_2_188, 187, 1, 0},
-{ 2, s_2_189, -1, 1, 0},
-{ 5, s_2_190, -1, 1, 0},
-{ 5, s_2_191, -1, 1, 0},
-{ 5, s_2_192, -1, 1, 0},
-{ 4, s_2_193, -1, 1, 0},
-{ 5, s_2_194, -1, 1, 0},
-{ 4, s_2_195, -1, 1, 0},
-{ 1, s_2_196, -1, 1, 0},
-{ 2, s_2_197, 196, 1, 0},
-{ 3, s_2_198, 197, 1, 0},
-{ 4, s_2_199, 198, 1, 0}
+static const struct among a_2[200] = {
+{ 3, s_2_0, 0, 4, 0},
+{ 6, s_2_1, -1, 3, 0},
+{ 4, s_2_2, 0, 1, 0},
+{ 3, s_2_3, 0, 2, 0},
+{ 5, s_2_4, 0, 1, 0},
+{ 5, s_2_5, 0, 1, 0},
+{ 5, s_2_6, 0, 1, 0},
+{ 4, s_2_7, 0, 1, 0},
+{ 5, s_2_8, 0, 3, 0},
+{ 4, s_2_9, 0, 1, 0},
+{ 5, s_2_10, -1, 1, 0},
+{ 4, s_2_11, 0, 1, 0},
+{ 4, s_2_12, 0, 1, 0},
+{ 6, s_2_13, 0, 1, 0},
+{ 4, s_2_14, 0, 1, 0},
+{ 4, s_2_15, 0, 1, 0},
+{ 5, s_2_16, 0, 1, 0},
+{ 3, s_2_17, 0, 1, 0},
+{ 6, s_2_18, -1, 1, 0},
+{ 8, s_2_19, -1, 5, 0},
+{ 3, s_2_20, 0, 1, 0},
+{ 3, s_2_21, 0, 1, 0},
+{ 3, s_2_22, 0, 1, 0},
+{ 5, s_2_23, -1, 1, 0},
+{ 3, s_2_24, 0, 1, 0},
+{ 4, s_2_25, -1, 1, 0},
+{ 5, s_2_26, -1, 1, 0},
+{ 5, s_2_27, 0, 1, 0},
+{ 3, s_2_28, 0, 1, 0},
+{ 3, s_2_29, 0, 1, 0},
+{ 4, s_2_30, 0, 1, 0},
+{ 4, s_2_31, 0, 1, 0},
+{ 4, s_2_32, 0, 1, 0},
+{ 3, s_2_33, 0, 1, 0},
+{ 3, s_2_34, 0, 1, 0},
+{ 3, s_2_35, 0, 1, 0},
+{ 4, s_2_36, 0, 1, 0},
+{ 7, s_2_37, -1, 1, 0},
+{ 7, s_2_38, -2, 1, 0},
+{ 3, s_2_39, 0, 1, 0},
+{ 5, s_2_40, -1, 1, 0},
+{ 3, s_2_41, 0, 1, 0},
+{ 5, s_2_42, 0, 3, 0},
+{ 2, s_2_43, 0, 4, 0},
+{ 5, s_2_44, -1, 1, 0},
+{ 3, s_2_45, 0, 1, 0},
+{ 3, s_2_46, 0, 1, 0},
+{ 2, s_2_47, 0, 1, 0},
+{ 4, s_2_48, 0, 1, 0},
+{ 3, s_2_49, 0, 1, 0},
+{ 4, s_2_50, -1, 1, 0},
+{ 4, s_2_51, -2, 1, 0},
+{ 4, s_2_52, 0, 1, 0},
+{ 7, s_2_53, -1, 1, 0},
+{ 7, s_2_54, -2, 1, 0},
+{ 6, s_2_55, -3, 1, 0},
+{ 4, s_2_56, 0, 1, 0},
+{ 4, s_2_57, 0, 1, 0},
+{ 4, s_2_58, 0, 1, 0},
+{ 3, s_2_59, 0, 1, 0},
+{ 3, s_2_60, 0, 1, 0},
+{ 4, s_2_61, 0, 3, 0},
+{ 3, s_2_62, 0, 1, 0},
+{ 4, s_2_63, 0, 1, 0},
+{ 2, s_2_64, 0, 1, 0},
+{ 2, s_2_65, 0, 1, 0},
+{ 3, s_2_66, 0, 1, 0},
+{ 3, s_2_67, 0, 1, 0},
+{ 4, s_2_68, 0, 1, 0},
+{ 4, s_2_69, 0, 1, 0},
+{ 5, s_2_70, 0, 1, 0},
+{ 5, s_2_71, 0, 1, 0},
+{ 5, s_2_72, 0, 1, 0},
+{ 5, s_2_73, 0, 1, 0},
+{ 7, s_2_74, -1, 5, 0},
+{ 4, s_2_75, 0, 1, 0},
+{ 5, s_2_76, 0, 1, 0},
+{ 2, s_2_77, 0, 1, 0},
+{ 6, s_2_78, -1, 1, 0},
+{ 4, s_2_79, -2, 1, 0},
+{ 4, s_2_80, -3, 1, 0},
+{ 4, s_2_81, -4, 1, 0},
+{ 5, s_2_82, -5, 1, 0},
+{ 3, s_2_83, 0, 1, 0},
+{ 2, s_2_84, 0, 1, 0},
+{ 3, s_2_85, -1, 1, 0},
+{ 3, s_2_86, 0, 1, 0},
+{ 5, s_2_87, 0, 1, 0},
+{ 3, s_2_88, 0, 4, 0},
+{ 6, s_2_89, -1, 3, 0},
+{ 3, s_2_90, 0, 1, 0},
+{ 4, s_2_91, 0, 1, 0},
+{ 4, s_2_92, 0, 2, 0},
+{ 6, s_2_93, 0, 1, 0},
+{ 6, s_2_94, 0, 1, 0},
+{ 6, s_2_95, 0, 1, 0},
+{ 5, s_2_96, 0, 1, 0},
+{ 6, s_2_97, 0, 3, 0},
+{ 5, s_2_98, 0, 1, 0},
+{ 5, s_2_99, 0, 1, 0},
+{ 5, s_2_100, 0, 1, 0},
+{ 5, s_2_101, 0, 1, 0},
+{ 7, s_2_102, 0, 1, 0},
+{ 4, s_2_103, 0, 1, 0},
+{ 5, s_2_104, -1, 1, 0},
+{ 5, s_2_105, -2, 1, 0},
+{ 4, s_2_106, 0, 1, 0},
+{ 7, s_2_107, -1, 1, 0},
+{ 9, s_2_108, -1, 5, 0},
+{ 6, s_2_109, 0, 1, 0},
+{ 5, s_2_110, 0, 1, 0},
+{ 8, s_2_111, -1, 1, 0},
+{ 4, s_2_112, 0, 1, 0},
+{ 4, s_2_113, 0, 1, 0},
+{ 4, s_2_114, 0, 1, 0},
+{ 5, s_2_115, -1, 1, 0},
+{ 6, s_2_116, -1, 1, 0},
+{ 5, s_2_117, 0, 1, 0},
+{ 4, s_2_118, 0, 1, 0},
+{ 4, s_2_119, 0, 1, 0},
+{ 5, s_2_120, 0, 1, 0},
+{ 5, s_2_121, 0, 1, 0},
+{ 4, s_2_122, 0, 1, 0},
+{ 4, s_2_123, 0, 1, 0},
+{ 5, s_2_124, 0, 1, 0},
+{ 8, s_2_125, -1, 1, 0},
+{ 8, s_2_126, -2, 1, 0},
+{ 5, s_2_127, 0, 4, 0},
+{ 8, s_2_128, -1, 3, 0},
+{ 4, s_2_129, 0, 1, 0},
+{ 6, s_2_130, -1, 1, 0},
+{ 6, s_2_131, 0, 3, 0},
+{ 9, s_2_132, 0, 1, 0},
+{ 4, s_2_133, 0, 1, 0},
+{ 4, s_2_134, 0, 1, 0},
+{ 5, s_2_135, 0, 3, 0},
+{ 4, s_2_136, 0, 1, 0},
+{ 5, s_2_137, 0, 1, 0},
+{ 2, s_2_138, 0, 1, 0},
+{ 3, s_2_139, -1, 1, 0},
+{ 4, s_2_140, -2, 1, 0},
+{ 3, s_2_141, 0, 1, 0},
+{ 6, s_2_142, -1, 1, 0},
+{ 8, s_2_143, -1, 5, 0},
+{ 4, s_2_144, 0, 1, 0},
+{ 5, s_2_145, -1, 1, 0},
+{ 6, s_2_146, -1, 2, 0},
+{ 4, s_2_147, 0, 1, 0},
+{ 4, s_2_148, 0, 1, 0},
+{ 5, s_2_149, 0, 1, 0},
+{ 5, s_2_150, 0, 1, 0},
+{ 3, s_2_151, 0, 1, 0},
+{ 3, s_2_152, 0, 1, 0},
+{ 4, s_2_153, -1, 1, 0},
+{ 5, s_2_154, -1, 1, 0},
+{ 5, s_2_155, -2, 1, 0},
+{ 3, s_2_156, 0, 1, 0},
+{ 5, s_2_157, -1, 1, 0},
+{ 8, s_2_158, -1, 1, 0},
+{ 7, s_2_159, -2, 1, 0},
+{ 9, s_2_160, -1, 1, 0},
+{ 5, s_2_161, -5, 1, 0},
+{ 3, s_2_162, 0, 1, 0},
+{ 4, s_2_163, 0, 1, 0},
+{ 4, s_2_164, 0, 1, 0},
+{ 5, s_2_165, -1, 1, 0},
+{ 6, s_2_166, -1, 1, 0},
+{ 3, s_2_167, 0, 1, 0},
+{ 3, s_2_168, 0, 1, 0},
+{ 3, s_2_169, 0, 1, 0},
+{ 5, s_2_170, -1, 1, 0},
+{ 5, s_2_171, -2, 1, 0},
+{ 2, s_2_172, 0, 1, 0},
+{ 2, s_2_173, 0, 1, 0},
+{ 2, s_2_174, 0, 1, 0},
+{ 3, s_2_175, -1, 1, 0},
+{ 2, s_2_176, 0, 1, 0},
+{ 4, s_2_177, 0, 1, 0},
+{ 7, s_2_178, -1, 1, 0},
+{ 6, s_2_179, -2, 1, 0},
+{ 8, s_2_180, -1, 1, 0},
+{ 4, s_2_181, 0, 1, 0},
+{ 2, s_2_182, 0, 1, 0},
+{ 3, s_2_183, 0, 1, 0},
+{ 3, s_2_184, 0, 1, 0},
+{ 4, s_2_185, -1, 1, 0},
+{ 4, s_2_186, -2, 1, 0},
+{ 5, s_2_187, -1, 1, 0},
+{ 7, s_2_188, -1, 1, 0},
+{ 2, s_2_189, 0, 1, 0},
+{ 5, s_2_190, 0, 1, 0},
+{ 5, s_2_191, 0, 1, 0},
+{ 5, s_2_192, 0, 1, 0},
+{ 4, s_2_193, 0, 1, 0},
+{ 5, s_2_194, 0, 1, 0},
+{ 4, s_2_195, 0, 1, 0},
+{ 1, s_2_196, 0, 1, 0},
+{ 2, s_2_197, -1, 1, 0},
+{ 3, s_2_198, -1, 1, 0},
+{ 4, s_2_199, -1, 1, 0}
 };
 
 static const symbol s_3_0[3] = { 'a', 'b', 'a' };
@@ -830,292 +837,290 @@ static const symbol s_3_279[3] = { 'i', 'r', 0xE9 };
 static const symbol s_3_280[1] = { 0xED };
 static const symbol s_3_281[2] = { 'i', 0xEF };
 static const symbol s_3_282[2] = { 'i', 0xF3 };
-
-static const struct among a_3[283] =
-{
-{ 3, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 4, s_3_2, -1, 1, 0},
-{ 4, s_3_3, -1, 1, 0},
-{ 3, s_3_4, -1, 1, 0},
-{ 3, s_3_5, -1, 1, 0},
-{ 3, s_3_6, -1, 1, 0},
-{ 3, s_3_7, -1, 1, 0},
-{ 2, s_3_8, -1, 1, 0},
-{ 4, s_3_9, 8, 1, 0},
-{ 4, s_3_10, 8, 1, 0},
-{ 3, s_3_11, -1, 1, 0},
-{ 4, s_3_12, -1, 1, 0},
-{ 3, s_3_13, -1, 1, 0},
-{ 5, s_3_14, -1, 1, 0},
-{ 3, s_3_15, -1, 1, 0},
-{ 3, s_3_16, -1, 1, 0},
-{ 3, s_3_17, -1, 1, 0},
-{ 4, s_3_18, -1, 1, 0},
-{ 2, s_3_19, -1, 1, 0},
-{ 4, s_3_20, 19, 1, 0},
-{ 4, s_3_21, 19, 1, 0},
-{ 4, s_3_22, 19, 1, 0},
-{ 2, s_3_23, -1, 1, 0},
-{ 3, s_3_24, -1, 1, 0},
-{ 3, s_3_25, -1, 1, 0},
-{ 2, s_3_26, -1, 1, 0},
-{ 2, s_3_27, -1, 1, 0},
-{ 2, s_3_28, -1, 1, 0},
-{ 2, s_3_29, -1, 1, 0},
-{ 2, s_3_30, -1, 1, 0},
-{ 3, s_3_31, 30, 1, 0},
-{ 3, s_3_32, -1, 1, 0},
-{ 4, s_3_33, -1, 1, 0},
-{ 4, s_3_34, -1, 1, 0},
-{ 4, s_3_35, -1, 1, 0},
-{ 2, s_3_36, -1, 1, 0},
-{ 3, s_3_37, -1, 1, 0},
-{ 5, s_3_38, -1, 1, 0},
-{ 4, s_3_39, -1, 1, 0},
-{ 4, s_3_40, -1, 1, 0},
-{ 2, s_3_41, -1, 1, 0},
-{ 2, s_3_42, -1, 1, 0},
-{ 4, s_3_43, 42, 1, 0},
-{ 4, s_3_44, 42, 1, 0},
-{ 4, s_3_45, 42, 1, 0},
-{ 4, s_3_46, 42, 1, 0},
-{ 5, s_3_47, 42, 1, 0},
-{ 5, s_3_48, 42, 1, 0},
-{ 5, s_3_49, 42, 1, 0},
-{ 5, s_3_50, 42, 1, 0},
-{ 4, s_3_51, 42, 1, 0},
-{ 4, s_3_52, 42, 1, 0},
-{ 4, s_3_53, 42, 1, 0},
-{ 5, s_3_54, 42, 1, 0},
-{ 3, s_3_55, 42, 1, 0},
-{ 5, s_3_56, 55, 1, 0},
-{ 5, s_3_57, 55, 1, 0},
-{ 5, s_3_58, -1, 1, 0},
-{ 5, s_3_59, -1, 1, 0},
-{ 5, s_3_60, -1, 1, 0},
-{ 5, s_3_61, -1, 1, 0},
-{ 5, s_3_62, -1, 1, 0},
-{ 5, s_3_63, -1, 1, 0},
-{ 5, s_3_64, -1, 1, 0},
-{ 2, s_3_65, -1, 1, 0},
-{ 2, s_3_66, -1, 1, 0},
-{ 4, s_3_67, 66, 1, 0},
-{ 5, s_3_68, 66, 1, 0},
-{ 4, s_3_69, 66, 1, 0},
-{ 5, s_3_70, 66, 1, 0},
-{ 4, s_3_71, 66, 1, 0},
-{ 3, s_3_72, 66, 1, 0},
-{ 5, s_3_73, 72, 1, 0},
-{ 5, s_3_74, 72, 1, 0},
-{ 5, s_3_75, 72, 1, 0},
-{ 2, s_3_76, -1, 1, 0},
-{ 3, s_3_77, 76, 1, 0},
-{ 5, s_3_78, 77, 1, 0},
-{ 5, s_3_79, 77, 1, 0},
-{ 4, s_3_80, 76, 1, 0},
-{ 4, s_3_81, 76, 1, 0},
-{ 4, s_3_82, 76, 1, 0},
-{ 4, s_3_83, 76, 1, 0},
-{ 4, s_3_84, 76, 1, 0},
-{ 4, s_3_85, 76, 1, 0},
-{ 5, s_3_86, 76, 1, 0},
-{ 5, s_3_87, 76, 1, 0},
-{ 5, s_3_88, 76, 1, 0},
-{ 5, s_3_89, 76, 1, 0},
-{ 5, s_3_90, 76, 1, 0},
-{ 5, s_3_91, 76, 1, 0},
-{ 6, s_3_92, 76, 1, 0},
-{ 6, s_3_93, 76, 1, 0},
-{ 6, s_3_94, 76, 1, 0},
-{ 4, s_3_95, 76, 1, 0},
-{ 4, s_3_96, 76, 1, 0},
-{ 5, s_3_97, 96, 1, 0},
-{ 4, s_3_98, 76, 1, 0},
-{ 3, s_3_99, 76, 1, 0},
-{ 2, s_3_100, -1, 1, 0},
-{ 4, s_3_101, 100, 1, 0},
-{ 3, s_3_102, 100, 1, 0},
-{ 4, s_3_103, 102, 1, 0},
-{ 5, s_3_104, 102, 1, 0},
-{ 5, s_3_105, 102, 1, 0},
-{ 5, s_3_106, 102, 1, 0},
-{ 5, s_3_107, 102, 1, 0},
-{ 6, s_3_108, 100, 1, 0},
-{ 5, s_3_109, 100, 1, 0},
-{ 4, s_3_110, -1, 1, 0},
-{ 5, s_3_111, -1, 1, 0},
-{ 4, s_3_112, -1, 1, 0},
-{ 4, s_3_113, -1, 1, 0},
-{ 4, s_3_114, -1, 1, 0},
-{ 3, s_3_115, -1, 1, 0},
-{ 3, s_3_116, -1, 1, 0},
-{ 3, s_3_117, -1, 1, 0},
-{ 4, s_3_118, -1, 2, 0},
-{ 5, s_3_119, -1, 1, 0},
-{ 2, s_3_120, -1, 1, 0},
-{ 3, s_3_121, -1, 1, 0},
-{ 4, s_3_122, 121, 1, 0},
-{ 3, s_3_123, -1, 1, 0},
-{ 4, s_3_124, -1, 1, 0},
-{ 2, s_3_125, -1, 1, 0},
-{ 4, s_3_126, 125, 1, 0},
-{ 2, s_3_127, -1, 1, 0},
-{ 5, s_3_128, 127, 1, 0},
-{ 2, s_3_129, -1, 1, 0},
-{ 4, s_3_130, -1, 1, 0},
-{ 2, s_3_131, -1, 1, 0},
-{ 4, s_3_132, 131, 1, 0},
-{ 4, s_3_133, 131, 1, 0},
-{ 4, s_3_134, 131, 1, 0},
-{ 4, s_3_135, 131, 1, 0},
-{ 5, s_3_136, 131, 1, 0},
-{ 3, s_3_137, 131, 1, 0},
-{ 5, s_3_138, 137, 1, 0},
-{ 5, s_3_139, 137, 1, 0},
-{ 5, s_3_140, 137, 1, 0},
-{ 3, s_3_141, -1, 1, 0},
-{ 2, s_3_142, -1, 1, 0},
-{ 4, s_3_143, 142, 1, 0},
-{ 4, s_3_144, 142, 1, 0},
-{ 4, s_3_145, 142, 1, 0},
-{ 4, s_3_146, 142, 1, 0},
-{ 5, s_3_147, 142, 1, 0},
-{ 3, s_3_148, 142, 1, 0},
-{ 5, s_3_149, 148, 1, 0},
-{ 5, s_3_150, 148, 1, 0},
-{ 4, s_3_151, 142, 1, 0},
-{ 4, s_3_152, 142, 1, 0},
-{ 6, s_3_153, 142, 1, 0},
-{ 4, s_3_154, 142, 1, 0},
-{ 4, s_3_155, 142, 1, 0},
-{ 5, s_3_156, 142, 1, 0},
-{ 5, s_3_157, 142, 1, 0},
-{ 5, s_3_158, 142, 1, 0},
-{ 5, s_3_159, 142, 1, 0},
-{ 5, s_3_160, 142, 1, 0},
-{ 4, s_3_161, 142, 1, 0},
-{ 6, s_3_162, 161, 1, 0},
-{ 6, s_3_163, 161, 1, 0},
-{ 4, s_3_164, 142, 1, 0},
-{ 4, s_3_165, 142, 1, 0},
-{ 5, s_3_166, 165, 1, 0},
-{ 4, s_3_167, 142, 1, 0},
-{ 3, s_3_168, 142, 1, 0},
-{ 5, s_3_169, -1, 1, 0},
-{ 5, s_3_170, -1, 1, 0},
-{ 6, s_3_171, -1, 1, 0},
-{ 4, s_3_172, -1, 1, 0},
-{ 6, s_3_173, 172, 1, 0},
-{ 6, s_3_174, 172, 1, 0},
-{ 6, s_3_175, 172, 1, 0},
-{ 5, s_3_176, -1, 1, 0},
-{ 6, s_3_177, -1, 1, 0},
-{ 6, s_3_178, -1, 1, 0},
-{ 6, s_3_179, -1, 1, 0},
-{ 4, s_3_180, -1, 1, 0},
-{ 3, s_3_181, -1, 1, 0},
-{ 4, s_3_182, 181, 1, 0},
-{ 5, s_3_183, 181, 1, 0},
-{ 5, s_3_184, 181, 1, 0},
-{ 5, s_3_185, 181, 1, 0},
-{ 5, s_3_186, 181, 1, 0},
-{ 6, s_3_187, -1, 1, 0},
-{ 5, s_3_188, -1, 1, 0},
-{ 5, s_3_189, -1, 1, 0},
-{ 3, s_3_190, -1, 1, 0},
-{ 5, s_3_191, -1, 1, 0},
-{ 5, s_3_192, -1, 1, 0},
-{ 5, s_3_193, -1, 1, 0},
-{ 3, s_3_194, -1, 1, 0},
-{ 4, s_3_195, -1, 1, 0},
-{ 4, s_3_196, -1, 1, 0},
-{ 4, s_3_197, -1, 1, 0},
-{ 6, s_3_198, 197, 1, 0},
-{ 6, s_3_199, 197, 1, 0},
-{ 7, s_3_200, 197, 1, 0},
-{ 5, s_3_201, 197, 1, 0},
-{ 7, s_3_202, 201, 1, 0},
-{ 7, s_3_203, 201, 1, 0},
-{ 7, s_3_204, 201, 1, 0},
-{ 6, s_3_205, -1, 1, 0},
-{ 6, s_3_206, -1, 1, 0},
-{ 6, s_3_207, -1, 1, 0},
-{ 6, s_3_208, -1, 1, 0},
-{ 7, s_3_209, -1, 1, 0},
-{ 4, s_3_210, -1, 1, 0},
-{ 5, s_3_211, -1, 1, 0},
-{ 3, s_3_212, -1, 1, 0},
-{ 5, s_3_213, 212, 1, 0},
-{ 3, s_3_214, -1, 1, 0},
-{ 3, s_3_215, -1, 1, 0},
-{ 3, s_3_216, -1, 1, 0},
-{ 4, s_3_217, -1, 1, 0},
-{ 2, s_3_218, -1, 1, 0},
-{ 4, s_3_219, 218, 1, 0},
-{ 4, s_3_220, 218, 1, 0},
-{ 4, s_3_221, -1, 1, 0},
-{ 4, s_3_222, -1, 1, 0},
-{ 4, s_3_223, -1, 1, 0},
-{ 2, s_3_224, -1, 1, 0},
-{ 4, s_3_225, 224, 1, 0},
-{ 2, s_3_226, -1, 1, 0},
-{ 3, s_3_227, -1, 1, 0},
-{ 2, s_3_228, -1, 1, 0},
-{ 2, s_3_229, -1, 1, 0},
-{ 3, s_3_230, -1, 1, 0},
-{ 3, s_3_231, -1, 1, 0},
-{ 3, s_3_232, -1, 1, 0},
-{ 2, s_3_233, -1, 1, 0},
-{ 2, s_3_234, -1, 1, 0},
-{ 2, s_3_235, -1, 1, 0},
-{ 4, s_3_236, 235, 1, 0},
-{ 3, s_3_237, -1, 1, 0},
-{ 4, s_3_238, -1, 1, 0},
-{ 4, s_3_239, -1, 1, 0},
-{ 4, s_3_240, -1, 1, 0},
-{ 4, s_3_241, -1, 1, 0},
-{ 4, s_3_242, -1, 1, 0},
-{ 5, s_3_243, -1, 1, 0},
-{ 5, s_3_244, -1, 1, 0},
-{ 7, s_3_245, 244, 1, 0},
-{ 5, s_3_246, -1, 1, 0},
-{ 5, s_3_247, -1, 1, 0},
-{ 5, s_3_248, -1, 1, 0},
-{ 5, s_3_249, -1, 1, 0},
-{ 4, s_3_250, -1, 1, 0},
-{ 4, s_3_251, -1, 1, 0},
-{ 5, s_3_252, -1, 1, 0},
-{ 3, s_3_253, -1, 1, 0},
-{ 5, s_3_254, 253, 1, 0},
-{ 3, s_3_255, -1, 1, 0},
-{ 5, s_3_256, 255, 1, 0},
-{ 5, s_3_257, 255, 1, 0},
-{ 5, s_3_258, -1, 1, 0},
-{ 5, s_3_259, -1, 1, 0},
-{ 5, s_3_260, -1, 1, 0},
-{ 5, s_3_261, -1, 1, 0},
-{ 5, s_3_262, -1, 1, 0},
-{ 5, s_3_263, -1, 1, 0},
-{ 2, s_3_264, -1, 1, 0},
-{ 2, s_3_265, -1, 1, 0},
-{ 3, s_3_266, 265, 1, 0},
-{ 2, s_3_267, -1, 1, 0},
-{ 3, s_3_268, -1, 1, 0},
-{ 2, s_3_269, -1, 1, 0},
-{ 3, s_3_270, -1, 1, 0},
-{ 3, s_3_271, -1, 1, 0},
-{ 4, s_3_272, -1, 1, 0},
-{ 3, s_3_273, -1, 1, 0},
-{ 3, s_3_274, -1, 1, 0},
-{ 3, s_3_275, -1, 1, 0},
-{ 3, s_3_276, -1, 1, 0},
-{ 3, s_3_277, -1, 1, 0},
-{ 3, s_3_278, -1, 1, 0},
-{ 3, s_3_279, -1, 1, 0},
-{ 1, s_3_280, -1, 1, 0},
-{ 2, s_3_281, -1, 1, 0},
-{ 2, s_3_282, -1, 1, 0}
+static const struct among a_3[283] = {
+{ 3, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 4, s_3_2, 0, 1, 0},
+{ 4, s_3_3, 0, 1, 0},
+{ 3, s_3_4, 0, 1, 0},
+{ 3, s_3_5, 0, 1, 0},
+{ 3, s_3_6, 0, 1, 0},
+{ 3, s_3_7, 0, 1, 0},
+{ 2, s_3_8, 0, 1, 0},
+{ 4, s_3_9, -1, 1, 0},
+{ 4, s_3_10, -2, 1, 0},
+{ 3, s_3_11, 0, 1, 0},
+{ 4, s_3_12, 0, 1, 0},
+{ 3, s_3_13, 0, 1, 0},
+{ 5, s_3_14, 0, 1, 0},
+{ 3, s_3_15, 0, 1, 0},
+{ 3, s_3_16, 0, 1, 0},
+{ 3, s_3_17, 0, 1, 0},
+{ 4, s_3_18, 0, 1, 0},
+{ 2, s_3_19, 0, 1, 0},
+{ 4, s_3_20, -1, 1, 0},
+{ 4, s_3_21, -2, 1, 0},
+{ 4, s_3_22, -3, 1, 0},
+{ 2, s_3_23, 0, 1, 0},
+{ 3, s_3_24, 0, 1, 0},
+{ 3, s_3_25, 0, 1, 0},
+{ 2, s_3_26, 0, 1, 0},
+{ 2, s_3_27, 0, 1, 0},
+{ 2, s_3_28, 0, 1, 0},
+{ 2, s_3_29, 0, 1, 0},
+{ 2, s_3_30, 0, 1, 0},
+{ 3, s_3_31, -1, 1, 0},
+{ 3, s_3_32, 0, 1, 0},
+{ 4, s_3_33, 0, 1, 0},
+{ 4, s_3_34, 0, 1, 0},
+{ 4, s_3_35, 0, 1, 0},
+{ 2, s_3_36, 0, 1, 0},
+{ 3, s_3_37, 0, 1, 0},
+{ 5, s_3_38, 0, 1, 0},
+{ 4, s_3_39, 0, 1, 0},
+{ 4, s_3_40, 0, 1, 0},
+{ 2, s_3_41, 0, 1, 0},
+{ 2, s_3_42, 0, 1, 0},
+{ 4, s_3_43, -1, 1, 0},
+{ 4, s_3_44, -2, 1, 0},
+{ 4, s_3_45, -3, 1, 0},
+{ 4, s_3_46, -4, 1, 0},
+{ 5, s_3_47, -5, 1, 0},
+{ 5, s_3_48, -6, 1, 0},
+{ 5, s_3_49, -7, 1, 0},
+{ 5, s_3_50, -8, 1, 0},
+{ 4, s_3_51, -9, 1, 0},
+{ 4, s_3_52, -10, 1, 0},
+{ 4, s_3_53, -11, 1, 0},
+{ 5, s_3_54, -12, 1, 0},
+{ 3, s_3_55, -13, 1, 0},
+{ 5, s_3_56, -1, 1, 0},
+{ 5, s_3_57, -2, 1, 0},
+{ 5, s_3_58, 0, 1, 0},
+{ 5, s_3_59, 0, 1, 0},
+{ 5, s_3_60, 0, 1, 0},
+{ 5, s_3_61, 0, 1, 0},
+{ 5, s_3_62, 0, 1, 0},
+{ 5, s_3_63, 0, 1, 0},
+{ 5, s_3_64, 0, 1, 0},
+{ 2, s_3_65, 0, 1, 0},
+{ 2, s_3_66, 0, 1, 0},
+{ 4, s_3_67, -1, 1, 0},
+{ 5, s_3_68, -2, 1, 0},
+{ 4, s_3_69, -3, 1, 0},
+{ 5, s_3_70, -4, 1, 0},
+{ 4, s_3_71, -5, 1, 0},
+{ 3, s_3_72, -6, 1, 0},
+{ 5, s_3_73, -1, 1, 0},
+{ 5, s_3_74, -2, 1, 0},
+{ 5, s_3_75, -3, 1, 0},
+{ 2, s_3_76, 0, 1, 0},
+{ 3, s_3_77, -1, 1, 0},
+{ 5, s_3_78, -1, 1, 0},
+{ 5, s_3_79, -2, 1, 0},
+{ 4, s_3_80, -4, 1, 0},
+{ 4, s_3_81, -5, 1, 0},
+{ 4, s_3_82, -6, 1, 0},
+{ 4, s_3_83, -7, 1, 0},
+{ 4, s_3_84, -8, 1, 0},
+{ 4, s_3_85, -9, 1, 0},
+{ 5, s_3_86, -10, 1, 0},
+{ 5, s_3_87, -11, 1, 0},
+{ 5, s_3_88, -12, 1, 0},
+{ 5, s_3_89, -13, 1, 0},
+{ 5, s_3_90, -14, 1, 0},
+{ 5, s_3_91, -15, 1, 0},
+{ 6, s_3_92, -16, 1, 0},
+{ 6, s_3_93, -17, 1, 0},
+{ 6, s_3_94, -18, 1, 0},
+{ 4, s_3_95, -19, 1, 0},
+{ 4, s_3_96, -20, 1, 0},
+{ 5, s_3_97, -1, 1, 0},
+{ 4, s_3_98, -22, 1, 0},
+{ 3, s_3_99, -23, 1, 0},
+{ 2, s_3_100, 0, 1, 0},
+{ 4, s_3_101, -1, 1, 0},
+{ 3, s_3_102, -2, 1, 0},
+{ 4, s_3_103, -1, 1, 0},
+{ 5, s_3_104, -2, 1, 0},
+{ 5, s_3_105, -3, 1, 0},
+{ 5, s_3_106, -4, 1, 0},
+{ 5, s_3_107, -5, 1, 0},
+{ 6, s_3_108, -8, 1, 0},
+{ 5, s_3_109, -9, 1, 0},
+{ 4, s_3_110, 0, 1, 0},
+{ 5, s_3_111, 0, 1, 0},
+{ 4, s_3_112, 0, 1, 0},
+{ 4, s_3_113, 0, 1, 0},
+{ 4, s_3_114, 0, 1, 0},
+{ 3, s_3_115, 0, 1, 0},
+{ 3, s_3_116, 0, 1, 0},
+{ 3, s_3_117, 0, 1, 0},
+{ 4, s_3_118, 0, 2, 0},
+{ 5, s_3_119, 0, 1, 0},
+{ 2, s_3_120, 0, 1, 0},
+{ 3, s_3_121, 0, 1, 0},
+{ 4, s_3_122, -1, 1, 0},
+{ 3, s_3_123, 0, 1, 0},
+{ 4, s_3_124, 0, 1, 0},
+{ 2, s_3_125, 0, 1, 0},
+{ 4, s_3_126, -1, 1, 0},
+{ 2, s_3_127, 0, 1, 0},
+{ 5, s_3_128, -1, 1, 0},
+{ 2, s_3_129, 0, 1, 0},
+{ 4, s_3_130, 0, 1, 0},
+{ 2, s_3_131, 0, 1, 0},
+{ 4, s_3_132, -1, 1, 0},
+{ 4, s_3_133, -2, 1, 0},
+{ 4, s_3_134, -3, 1, 0},
+{ 4, s_3_135, -4, 1, 0},
+{ 5, s_3_136, -5, 1, 0},
+{ 3, s_3_137, -6, 1, 0},
+{ 5, s_3_138, -1, 1, 0},
+{ 5, s_3_139, -2, 1, 0},
+{ 5, s_3_140, -3, 1, 0},
+{ 3, s_3_141, 0, 1, 0},
+{ 2, s_3_142, 0, 1, 0},
+{ 4, s_3_143, -1, 1, 0},
+{ 4, s_3_144, -2, 1, 0},
+{ 4, s_3_145, -3, 1, 0},
+{ 4, s_3_146, -4, 1, 0},
+{ 5, s_3_147, -5, 1, 0},
+{ 3, s_3_148, -6, 1, 0},
+{ 5, s_3_149, -1, 1, 0},
+{ 5, s_3_150, -2, 1, 0},
+{ 4, s_3_151, -9, 1, 0},
+{ 4, s_3_152, -10, 1, 0},
+{ 6, s_3_153, -11, 1, 0},
+{ 4, s_3_154, -12, 1, 0},
+{ 4, s_3_155, -13, 1, 0},
+{ 5, s_3_156, -14, 1, 0},
+{ 5, s_3_157, -15, 1, 0},
+{ 5, s_3_158, -16, 1, 0},
+{ 5, s_3_159, -17, 1, 0},
+{ 5, s_3_160, -18, 1, 0},
+{ 4, s_3_161, -19, 1, 0},
+{ 6, s_3_162, -1, 1, 0},
+{ 6, s_3_163, -2, 1, 0},
+{ 4, s_3_164, -22, 1, 0},
+{ 4, s_3_165, -23, 1, 0},
+{ 5, s_3_166, -1, 1, 0},
+{ 4, s_3_167, -25, 1, 0},
+{ 3, s_3_168, -26, 1, 0},
+{ 5, s_3_169, 0, 1, 0},
+{ 5, s_3_170, 0, 1, 0},
+{ 6, s_3_171, 0, 1, 0},
+{ 4, s_3_172, 0, 1, 0},
+{ 6, s_3_173, -1, 1, 0},
+{ 6, s_3_174, -2, 1, 0},
+{ 6, s_3_175, -3, 1, 0},
+{ 5, s_3_176, 0, 1, 0},
+{ 6, s_3_177, 0, 1, 0},
+{ 6, s_3_178, 0, 1, 0},
+{ 6, s_3_179, 0, 1, 0},
+{ 4, s_3_180, 0, 1, 0},
+{ 3, s_3_181, 0, 1, 0},
+{ 4, s_3_182, -1, 1, 0},
+{ 5, s_3_183, -2, 1, 0},
+{ 5, s_3_184, -3, 1, 0},
+{ 5, s_3_185, -4, 1, 0},
+{ 5, s_3_186, -5, 1, 0},
+{ 6, s_3_187, 0, 1, 0},
+{ 5, s_3_188, 0, 1, 0},
+{ 5, s_3_189, 0, 1, 0},
+{ 3, s_3_190, 0, 1, 0},
+{ 5, s_3_191, 0, 1, 0},
+{ 5, s_3_192, 0, 1, 0},
+{ 5, s_3_193, 0, 1, 0},
+{ 3, s_3_194, 0, 1, 0},
+{ 4, s_3_195, 0, 1, 0},
+{ 4, s_3_196, 0, 1, 0},
+{ 4, s_3_197, 0, 1, 0},
+{ 6, s_3_198, -1, 1, 0},
+{ 6, s_3_199, -2, 1, 0},
+{ 7, s_3_200, -3, 1, 0},
+{ 5, s_3_201, -4, 1, 0},
+{ 7, s_3_202, -1, 1, 0},
+{ 7, s_3_203, -2, 1, 0},
+{ 7, s_3_204, -3, 1, 0},
+{ 6, s_3_205, 0, 1, 0},
+{ 6, s_3_206, 0, 1, 0},
+{ 6, s_3_207, 0, 1, 0},
+{ 6, s_3_208, 0, 1, 0},
+{ 7, s_3_209, 0, 1, 0},
+{ 4, s_3_210, 0, 1, 0},
+{ 5, s_3_211, 0, 1, 0},
+{ 3, s_3_212, 0, 1, 0},
+{ 5, s_3_213, -1, 1, 0},
+{ 3, s_3_214, 0, 1, 0},
+{ 3, s_3_215, 0, 1, 0},
+{ 3, s_3_216, 0, 1, 0},
+{ 4, s_3_217, 0, 1, 0},
+{ 2, s_3_218, 0, 1, 0},
+{ 4, s_3_219, -1, 1, 0},
+{ 4, s_3_220, -2, 1, 0},
+{ 4, s_3_221, 0, 1, 0},
+{ 4, s_3_222, 0, 1, 0},
+{ 4, s_3_223, 0, 1, 0},
+{ 2, s_3_224, 0, 1, 0},
+{ 4, s_3_225, -1, 1, 0},
+{ 2, s_3_226, 0, 1, 0},
+{ 3, s_3_227, 0, 1, 0},
+{ 2, s_3_228, 0, 1, 0},
+{ 2, s_3_229, 0, 1, 0},
+{ 3, s_3_230, 0, 1, 0},
+{ 3, s_3_231, 0, 1, 0},
+{ 3, s_3_232, 0, 1, 0},
+{ 2, s_3_233, 0, 1, 0},
+{ 2, s_3_234, 0, 1, 0},
+{ 2, s_3_235, 0, 1, 0},
+{ 4, s_3_236, -1, 1, 0},
+{ 3, s_3_237, 0, 1, 0},
+{ 4, s_3_238, 0, 1, 0},
+{ 4, s_3_239, 0, 1, 0},
+{ 4, s_3_240, 0, 1, 0},
+{ 4, s_3_241, 0, 1, 0},
+{ 4, s_3_242, 0, 1, 0},
+{ 5, s_3_243, 0, 1, 0},
+{ 5, s_3_244, 0, 1, 0},
+{ 7, s_3_245, -1, 1, 0},
+{ 5, s_3_246, 0, 1, 0},
+{ 5, s_3_247, 0, 1, 0},
+{ 5, s_3_248, 0, 1, 0},
+{ 5, s_3_249, 0, 1, 0},
+{ 4, s_3_250, 0, 1, 0},
+{ 4, s_3_251, 0, 1, 0},
+{ 5, s_3_252, 0, 1, 0},
+{ 3, s_3_253, 0, 1, 0},
+{ 5, s_3_254, -1, 1, 0},
+{ 3, s_3_255, 0, 1, 0},
+{ 5, s_3_256, -1, 1, 0},
+{ 5, s_3_257, -2, 1, 0},
+{ 5, s_3_258, 0, 1, 0},
+{ 5, s_3_259, 0, 1, 0},
+{ 5, s_3_260, 0, 1, 0},
+{ 5, s_3_261, 0, 1, 0},
+{ 5, s_3_262, 0, 1, 0},
+{ 5, s_3_263, 0, 1, 0},
+{ 2, s_3_264, 0, 1, 0},
+{ 2, s_3_265, 0, 1, 0},
+{ 3, s_3_266, -1, 1, 0},
+{ 2, s_3_267, 0, 1, 0},
+{ 3, s_3_268, 0, 1, 0},
+{ 2, s_3_269, 0, 1, 0},
+{ 3, s_3_270, 0, 1, 0},
+{ 3, s_3_271, 0, 1, 0},
+{ 4, s_3_272, 0, 1, 0},
+{ 3, s_3_273, 0, 1, 0},
+{ 3, s_3_274, 0, 1, 0},
+{ 3, s_3_275, 0, 1, 0},
+{ 3, s_3_276, 0, 1, 0},
+{ 3, s_3_277, 0, 1, 0},
+{ 3, s_3_278, 0, 1, 0},
+{ 3, s_3_279, 0, 1, 0},
+{ 1, s_3_280, 0, 1, 0},
+{ 2, s_3_281, 0, 1, 0},
+{ 2, s_3_282, 0, 1, 0}
 };
 
 static const symbol s_4_0[1] = { 'a' };
@@ -1140,117 +1145,107 @@ static const symbol s_4_18[1] = { 0xEC };
 static const symbol s_4_19[1] = { 0xED };
 static const symbol s_4_20[1] = { 0xEF };
 static const symbol s_4_21[1] = { 0xF3 };
-
-static const struct among a_4[22] =
-{
-{ 1, s_4_0, -1, 1, 0},
-{ 1, s_4_1, -1, 1, 0},
-{ 1, s_4_2, -1, 1, 0},
-{ 2, s_4_3, -1, 1, 0},
-{ 1, s_4_4, -1, 1, 0},
-{ 2, s_4_5, -1, 1, 0},
-{ 1, s_4_6, -1, 1, 0},
-{ 2, s_4_7, 6, 1, 0},
-{ 2, s_4_8, 6, 1, 0},
-{ 2, s_4_9, 6, 1, 0},
-{ 2, s_4_10, -1, 1, 0},
-{ 2, s_4_11, -1, 1, 0},
-{ 2, s_4_12, -1, 1, 0},
-{ 3, s_4_13, -1, 2, 0},
-{ 3, s_4_14, -1, 1, 0},
-{ 1, s_4_15, -1, 1, 0},
-{ 1, s_4_16, -1, 1, 0},
-{ 1, s_4_17, -1, 1, 0},
-{ 1, s_4_18, -1, 1, 0},
-{ 1, s_4_19, -1, 1, 0},
-{ 1, s_4_20, -1, 1, 0},
-{ 1, s_4_21, -1, 1, 0}
+static const struct among a_4[22] = {
+{ 1, s_4_0, 0, 1, 0},
+{ 1, s_4_1, 0, 1, 0},
+{ 1, s_4_2, 0, 1, 0},
+{ 2, s_4_3, 0, 1, 0},
+{ 1, s_4_4, 0, 1, 0},
+{ 2, s_4_5, 0, 1, 0},
+{ 1, s_4_6, 0, 1, 0},
+{ 2, s_4_7, -1, 1, 0},
+{ 2, s_4_8, -2, 1, 0},
+{ 2, s_4_9, -3, 1, 0},
+{ 2, s_4_10, 0, 1, 0},
+{ 2, s_4_11, 0, 1, 0},
+{ 2, s_4_12, 0, 1, 0},
+{ 3, s_4_13, 0, 2, 0},
+{ 3, s_4_14, 0, 1, 0},
+{ 1, s_4_15, 0, 1, 0},
+{ 1, s_4_16, 0, 1, 0},
+{ 1, s_4_17, 0, 1, 0},
+{ 1, s_4_18, 0, 1, 0},
+{ 1, s_4_19, 0, 1, 0},
+{ 1, s_4_20, 0, 1, 0},
+{ 1, s_4_21, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 81, 6, 10 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { '.' };
-static const symbol s_6[] = { 'l', 'o', 'g' };
-static const symbol s_7[] = { 'i', 'c' };
-static const symbol s_8[] = { 'c' };
-static const symbol s_9[] = { 'i', 'c' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_cleaning(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
-        among_var = find_among(z, a_0, 13);
+        among_var = find_among(z, a_0, 13, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_0);
+                {
+                    int ret = slice_from_s(z, 1, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_1);
+                {
+                    int ret = slice_from_s(z, 1, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_2);
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 1, s_5);
+                {
+                    int ret = slice_from_s(z, 1, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -1261,29 +1256,31 @@ static int r_cleaning(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1634850 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 39)) return 0;
+    if (!find_among_b(z, a_1, 39, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1292,47 +1289,57 @@ static int r_attached_pronoun(struct SN_env * z) {
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_2, 200);
+    among_var = find_among_b(z, a_2, 200, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_6);
+            {
+                int ret = slice_from_s(z, 3, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_7);
+            {
+                int ret = slice_from_s(z, 2, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
@@ -1343,23 +1350,27 @@ static int r_standard_suffix(struct SN_env * z) {
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_3, 283);
+    among_var = find_among_b(z, a_3, 283, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1370,23 +1381,27 @@ static int r_verb_suffix(struct SN_env * z) {
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 22);
+    among_var = find_among_b(z, a_4, 22, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -1395,53 +1410,70 @@ static int r_residual_suffix(struct SN_env * z) {
 }
 
 extern int catalan_ISO_8859_1_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_attached_pronoun(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_standard_suffix(z);
-                if (ret == 0) goto lab2;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_verb_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_verb_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_residual_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_residual_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    {   int c5 = z->c;
-        {   int ret = r_cleaning(z);
+    {
+        int v_5 = z->c;
+        {
+            int ret = r_cleaning(z);
             if (ret < 0) return ret;
         }
-        z->c = c5;
+        z->c = v_5;
     }
     return 1;
 }
 
-extern struct SN_env * catalan_ISO_8859_1_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * catalan_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void catalan_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void catalan_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 372902d495c7b1861142ffdec2a08d4c96d83e92..30bfe059e8b1a56d7606cd8f9e2e32fad551bd23 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from danish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_danish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+    symbol * s_ch;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,23 +21,17 @@ extern int danish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_undouble(struct SN_env * z);
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * danish_ISO_8859_1_create_env(void);
-extern void danish_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's', 't' };
+static const symbol s_1[] = { 'i', 'g' };
+static const symbol s_2[] = { 'l', 0xF8, 's' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'h', 'e', 'd' };
 static const symbol s_0_1[5] = { 'e', 't', 'h', 'e', 'd' };
 static const symbol s_0_2[4] = { 'e', 'r', 'e', 'd' };
@@ -58,54 +64,50 @@ static const symbol s_0_28[3] = { 'e', 't', 's' };
 static const symbol s_0_29[5] = { 'e', 'r', 'e', 't', 's' };
 static const symbol s_0_30[2] = { 'e', 't' };
 static const symbol s_0_31[4] = { 'e', 'r', 'e', 't' };
-
-static const struct among a_0[32] =
-{
-{ 3, s_0_0, -1, 1, 0},
-{ 5, s_0_1, 0, 1, 0},
-{ 4, s_0_2, -1, 1, 0},
-{ 1, s_0_3, -1, 1, 0},
-{ 5, s_0_4, 3, 1, 0},
-{ 4, s_0_5, 3, 1, 0},
-{ 6, s_0_6, 5, 1, 0},
-{ 3, s_0_7, 3, 1, 0},
-{ 4, s_0_8, 3, 1, 0},
-{ 3, s_0_9, 3, 1, 0},
-{ 2, s_0_10, -1, 1, 0},
-{ 5, s_0_11, 10, 1, 0},
-{ 4, s_0_12, 10, 1, 0},
-{ 2, s_0_13, -1, 1, 0},
-{ 5, s_0_14, 13, 1, 0},
-{ 4, s_0_15, 13, 1, 0},
-{ 1, s_0_16, -1, 2, 0},
-{ 4, s_0_17, 16, 1, 0},
-{ 2, s_0_18, 16, 1, 0},
-{ 5, s_0_19, 18, 1, 0},
-{ 7, s_0_20, 19, 1, 0},
-{ 4, s_0_21, 18, 1, 0},
-{ 5, s_0_22, 18, 1, 0},
-{ 4, s_0_23, 18, 1, 0},
-{ 3, s_0_24, 16, 1, 0},
-{ 6, s_0_25, 24, 1, 0},
-{ 5, s_0_26, 24, 1, 0},
-{ 3, s_0_27, 16, 1, 0},
-{ 3, s_0_28, 16, 1, 0},
-{ 5, s_0_29, 28, 1, 0},
-{ 2, s_0_30, -1, 1, 0},
-{ 4, s_0_31, 30, 1, 0}
+static const struct among a_0[32] = {
+{ 3, s_0_0, 0, 1, 0},
+{ 5, s_0_1, -1, 1, 0},
+{ 4, s_0_2, 0, 1, 0},
+{ 1, s_0_3, 0, 1, 0},
+{ 5, s_0_4, -1, 1, 0},
+{ 4, s_0_5, -2, 1, 0},
+{ 6, s_0_6, -1, 1, 0},
+{ 3, s_0_7, -4, 1, 0},
+{ 4, s_0_8, -5, 1, 0},
+{ 3, s_0_9, -6, 1, 0},
+{ 2, s_0_10, 0, 1, 0},
+{ 5, s_0_11, -1, 1, 0},
+{ 4, s_0_12, -2, 1, 0},
+{ 2, s_0_13, 0, 1, 0},
+{ 5, s_0_14, -1, 1, 0},
+{ 4, s_0_15, -2, 1, 0},
+{ 1, s_0_16, 0, 2, 0},
+{ 4, s_0_17, -1, 1, 0},
+{ 2, s_0_18, -2, 1, 0},
+{ 5, s_0_19, -1, 1, 0},
+{ 7, s_0_20, -1, 1, 0},
+{ 4, s_0_21, -3, 1, 0},
+{ 5, s_0_22, -4, 1, 0},
+{ 4, s_0_23, -5, 1, 0},
+{ 3, s_0_24, -8, 1, 0},
+{ 6, s_0_25, -1, 1, 0},
+{ 5, s_0_26, -2, 1, 0},
+{ 3, s_0_27, -11, 1, 0},
+{ 3, s_0_28, -12, 1, 0},
+{ 5, s_0_29, -1, 1, 0},
+{ 2, s_0_30, 0, 1, 0},
+{ 4, s_0_31, -1, 1, 0}
 };
 
 static const symbol s_1_0[2] = { 'g', 'd' };
 static const symbol s_1_1[2] = { 'd', 't' };
 static const symbol s_1_2[2] = { 'g', 't' };
 static const symbol s_1_3[2] = { 'k', 't' };
-
-static const struct among a_1[4] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0}
+static const struct among a_1[4] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0}
 };
 
 static const symbol s_2_0[2] = { 'i', 'g' };
@@ -113,14 +115,12 @@ static const symbol s_2_1[3] = { 'l', 'i', 'g' };
 static const symbol s_2_2[4] = { 'e', 'l', 'i', 'g' };
 static const symbol s_2_3[3] = { 'e', 'l', 's' };
 static const symbol s_2_4[4] = { 'l', 0xF8, 's', 't' };
-
-static const struct among a_2[5] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 4, s_2_2, 1, 1, 0},
-{ 3, s_2_3, -1, 1, 0},
-{ 4, s_2_4, -1, 2, 0}
+static const struct among a_2[5] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 3, s_2_1, -1, 1, 0},
+{ 4, s_2_2, -1, 1, 0},
+{ 3, s_2_3, 0, 1, 0},
+{ 4, s_2_4, 0, 2, 0}
 };
 
 static const unsigned char g_c[] = { 119, 223, 119, 1 };
@@ -129,56 +129,57 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 
 static const unsigned char g_s_ending[] = { 239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 };
 
-static const symbol s_0[] = { 's', 't' };
-static const symbol s_1[] = { 'i', 'g' };
-static const symbol s_2[] = { 'l', 0xF8, 's' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-z->c = z->c + 3;
-        if (z->c > z->l) return 0;
-        z->I[0] = z->c;
-        z->c = c_test1;
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping(z, g_v, 97, 248, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0;
-
     {
         int ret = in_grouping(z, g_v, 97, 248, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_0, 32);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_0, 32, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (in_grouping_b(z, g_s_ending, 97, 229, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -187,23 +188,25 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-
-        {   int mlimit2;
-            if (z->c < z->I[1]) return 0;
-            mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) return 0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
             z->ket = z->c;
-            if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; }
-            if (!find_among_b(z, a_1, 4)) { z->lb = mlimit2; return 0; }
+            if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = v_2; return 0; }
+            if (!find_among_b(z, a_1, 4, 0)) { z->lb = v_2; return 0; }
             z->bra = z->c;
-            z->lb = mlimit2;
+            z->lb = v_2;
         }
-        z->c = z->l - m_test1;
+        z->c = z->l - v_1;
     }
     if (z->c <= z->lb) return 0;
     z->c--;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -211,42 +214,48 @@ static int r_consonant_pair(struct SN_env * z) {
 
 static int r_other_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (!(eq_s_b(z, 2, s_0))) goto lab0;
         z->bra = z->c;
         if (!(eq_s_b(z, 2, s_1))) goto lab0;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-
-    {   int mlimit2;
-        if (z->c < z->I[1]) return 0;
-        mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_2;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_2, 5);
-        if (!among_var) { z->lb = mlimit2; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_2; return 0; }
+        among_var = find_among_b(z, a_2, 5, 0);
+        if (!among_var) { z->lb = v_2; return 0; }
         z->bra = z->c;
-        z->lb = mlimit2;
+        z->lb = v_2;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int ret = r_consonant_pair(z);
+            {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = r_consonant_pair(z);
                     if (ret < 0) return ret;
                 }
-                z->c = z->l - m3;
+                z->c = z->l - v_3;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_2);
+            {
+                int ret = slice_from_s(z, 3, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -255,62 +264,91 @@ static int r_other_suffix(struct SN_env * z) {
 }
 
 static int r_undouble(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (in_grouping_b(z, g_c, 98, 122, 0)) { z->lb = mlimit1; return 0; }
+        if (in_grouping_b(z, g_c, 98, 122, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->S[0] = slice_to(z, z->S[0]);
-        if (z->S[0] == 0) return -1;
-        z->lb = mlimit1;
+        {
+            int ret = slice_to(z, &((SN_local *)z)->s_ch);
+            if (ret < 0) return ret;
+        }
+        z->lb = v_1;
     }
-    if (!(eq_v_b(z, z->S[0]))) return 0;
-    {   int ret = slice_del(z);
+    if (!(eq_v_b(z, ((SN_local *)z)->s_ch))) return 0;
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int danish_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_undouble(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_undouble(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * danish_ISO_8859_1_create_env(void) { return SN_create_env(1, 2); }
+extern struct SN_env * danish_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->s_ch = NULL;
 
-extern void danish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 1); }
+        if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
+            danish_ISO_8859_1_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
+
+extern void danish_ISO_8859_1_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_ch);
+    }
+    SN_delete_env(z);
+}
 
index d2bc1baebef1020e33e5ad51f9e40b0a2ac84a54..424bff8258cfbb1031517bc5726112d586f92c1f 100644 (file)
@@ -1,6 +1,20 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_dutch.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_GE_removed;
+    symbol * s_ch;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,601 +23,2003 @@ extern int dutch_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_standard_suffix(struct SN_env * z);
-static int r_undouble(struct SN_env * z);
+
+static int r_measure(struct SN_env * z);
+static int r_Lose_infix(struct SN_env * z);
+static int r_Lose_prefix(struct SN_env * z);
+static int r_Step_1c(struct SN_env * z);
+static int r_Step_6(struct SN_env * z);
+static int r_Step_7(struct SN_env * z);
+static int r_Step_4(struct SN_env * z);
+static int r_Step_3(struct SN_env * z);
+static int r_Step_2(struct SN_env * z);
+static int r_Step_1(struct SN_env * z);
+static int r_lengthen_V(struct SN_env * z);
+static int r_VX(struct SN_env * z);
+static int r_V(struct SN_env * z);
+static int r_C(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
-static int r_mark_regions(struct SN_env * z);
-static int r_en_ending(struct SN_env * z);
-static int r_e_ending(struct SN_env * z);
-static int r_postlude(struct SN_env * z);
-static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * dutch_ISO_8859_1_create_env(void);
-extern void dutch_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'i', 'j' };
+static const symbol s_1[] = { 'i', 'j' };
+static const symbol s_2[] = { 'i', 'j' };
+static const symbol s_3[] = { 'e', 0xEB, 'e' };
+static const symbol s_4[] = { 'i', 'e', 'e' };
+static const symbol s_5[] = { 'i', 'e' };
+static const symbol s_6[] = { 'a', 'r' };
+static const symbol s_7[] = { 'e', 'r' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 0xE9 };
+static const symbol s_10[] = { 'a', 'u' };
+static const symbol s_11[] = { 'h', 'e', 'd' };
+static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_13[] = { 'n', 'd' };
+static const symbol s_14[] = { 'n', 'd' };
+static const symbol s_15[] = { '\'', 't' };
+static const symbol s_16[] = { 'e', 't' };
+static const symbol s_17[] = { 'r', 'n', 't' };
+static const symbol s_18[] = { 'r', 'n' };
+static const symbol s_19[] = { 'i', 'n', 'k' };
+static const symbol s_20[] = { 'i', 'n', 'g' };
+static const symbol s_21[] = { 'm', 'p' };
+static const symbol s_22[] = { 'm' };
+static const symbol s_23[] = { 'g' };
+static const symbol s_24[] = { 'l', 'i', 'j', 'k' };
+static const symbol s_25[] = { 'i', 's', 'c', 'h' };
+static const symbol s_26[] = { 't' };
+static const symbol s_27[] = { 's' };
+static const symbol s_28[] = { 'r' };
+static const symbol s_29[] = { 'l' };
+static const symbol s_30[] = { 'e', 'n' };
+static const symbol s_31[] = { 'i', 'e', 'f' };
+static const symbol s_32[] = { 'e', 'e', 'r' };
+static const symbol s_33[] = { 'r' };
+static const symbol s_34[] = { 'i', 'l', 'd' };
+static const symbol s_35[] = { 'e', 'r' };
+static const symbol s_36[] = { 'a', 'a', 'r' };
+static const symbol s_37[] = { 'f' };
+static const symbol s_38[] = { 'g' };
+static const symbol s_39[] = { 't' };
+static const symbol s_40[] = { 'd' };
+static const symbol s_41[] = { 'i', 'e' };
+static const symbol s_42[] = { 'e', 'e', 'r' };
+static const symbol s_43[] = { 'n' };
+static const symbol s_44[] = { 'l' };
+static const symbol s_45[] = { 'r' };
+static const symbol s_46[] = { 't', 'e', 'e', 'r' };
+static const symbol s_47[] = { 'l', 'i', 'j', 'k' };
+static const symbol s_48[] = { 'i', 'n', 'n' };
+static const symbol s_49[] = { 'k' };
+static const symbol s_50[] = { 'f' };
+static const symbol s_51[] = { 'p' };
+static const symbol s_52[] = { 'b' };
+static const symbol s_53[] = { 'c' };
+static const symbol s_54[] = { 'd' };
+static const symbol s_55[] = { 'f' };
+static const symbol s_56[] = { 'g' };
+static const symbol s_57[] = { 'h' };
+static const symbol s_58[] = { 'j' };
+static const symbol s_59[] = { 'k' };
+static const symbol s_60[] = { 'l' };
+static const symbol s_61[] = { 'm' };
+static const symbol s_62[] = { 'n' };
+static const symbol s_63[] = { 'p' };
+static const symbol s_64[] = { 'q' };
+static const symbol s_65[] = { 'r' };
+static const symbol s_66[] = { 's' };
+static const symbol s_67[] = { 't' };
+static const symbol s_68[] = { 'v' };
+static const symbol s_69[] = { 'w' };
+static const symbol s_70[] = { 'x' };
+static const symbol s_71[] = { 'z' };
+static const symbol s_72[] = { 'i', 'n' };
+static const symbol s_73[] = { 'n' };
+static const symbol s_74[] = { 'e', 'n' };
+static const symbol s_75[] = { 'g', 'e' };
+static const symbol s_76[] = { 'i', 'j' };
+static const symbol s_77[] = { 'i', 'j' };
+static const symbol s_78[] = { 'e' };
+static const symbol s_79[] = { 'i' };
+static const symbol s_80[] = { 'g', 'e' };
+static const symbol s_81[] = { 'i', 'j' };
+static const symbol s_82[] = { 'i', 'j' };
+static const symbol s_83[] = { 'e' };
+static const symbol s_84[] = { 'i' };
+static const symbol s_85[] = { 'i', 'j' };
+static const symbol s_86[] = { 'i', 'j' };
 
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_1[1] = { 0xE1 };
-static const symbol s_0_2[1] = { 0xE4 };
-static const symbol s_0_3[1] = { 0xE9 };
-static const symbol s_0_4[1] = { 0xEB };
-static const symbol s_0_5[1] = { 0xED };
-static const symbol s_0_6[1] = { 0xEF };
-static const symbol s_0_7[1] = { 0xF3 };
-static const symbol s_0_8[1] = { 0xF6 };
-static const symbol s_0_9[1] = { 0xFA };
-static const symbol s_0_10[1] = { 0xFC };
-
-static const struct among a_0[11] =
-{
-{ 0, 0, -1, 6, 0},
-{ 1, s_0_1, 0, 1, 0},
+static const symbol s_0_0[1] = { 'a' };
+static const symbol s_0_1[1] = { 'e' };
+static const symbol s_0_2[1] = { 'o' };
+static const symbol s_0_3[1] = { 'u' };
+static const symbol s_0_4[1] = { 0xE0 };
+static const symbol s_0_5[1] = { 0xE1 };
+static const symbol s_0_6[1] = { 0xE2 };
+static const symbol s_0_7[1] = { 0xE4 };
+static const symbol s_0_8[1] = { 0xE8 };
+static const symbol s_0_9[1] = { 0xE9 };
+static const symbol s_0_10[1] = { 0xEA };
+static const symbol s_0_11[2] = { 'e', 0xEB };
+static const symbol s_0_12[2] = { 'i', 0xEB };
+static const symbol s_0_13[1] = { 0xF2 };
+static const symbol s_0_14[1] = { 0xF3 };
+static const symbol s_0_15[1] = { 0xF4 };
+static const symbol s_0_16[1] = { 0xF6 };
+static const symbol s_0_17[1] = { 0xF9 };
+static const symbol s_0_18[1] = { 0xFA };
+static const symbol s_0_19[1] = { 0xFB };
+static const symbol s_0_20[1] = { 0xFC };
+static const struct among a_0[21] = {
+{ 1, s_0_0, 0, 1, 0},
+{ 1, s_0_1, 0, 2, 0},
 { 1, s_0_2, 0, 1, 0},
-{ 1, s_0_3, 0, 2, 0},
-{ 1, s_0_4, 0, 2, 0},
-{ 1, s_0_5, 0, 3, 0},
-{ 1, s_0_6, 0, 3, 0},
-{ 1, s_0_7, 0, 4, 0},
-{ 1, s_0_8, 0, 4, 0},
-{ 1, s_0_9, 0, 5, 0},
-{ 1, s_0_10, 0, 5, 0}
+{ 1, s_0_3, 0, 1, 0},
+{ 1, s_0_4, 0, 1, 0},
+{ 1, s_0_5, 0, 1, 0},
+{ 1, s_0_6, 0, 1, 0},
+{ 1, s_0_7, 0, 1, 0},
+{ 1, s_0_8, 0, 2, 0},
+{ 1, s_0_9, 0, 2, 0},
+{ 1, s_0_10, 0, 2, 0},
+{ 2, s_0_11, 0, 3, 0},
+{ 2, s_0_12, 0, 4, 0},
+{ 1, s_0_13, 0, 1, 0},
+{ 1, s_0_14, 0, 1, 0},
+{ 1, s_0_15, 0, 1, 0},
+{ 1, s_0_16, 0, 1, 0},
+{ 1, s_0_17, 0, 1, 0},
+{ 1, s_0_18, 0, 1, 0},
+{ 1, s_0_19, 0, 1, 0},
+{ 1, s_0_20, 0, 1, 0}
 };
 
-static const symbol s_1_1[1] = { 'I' };
-static const symbol s_1_2[1] = { 'Y' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_1_1, 0, 2, 0},
-{ 1, s_1_2, 0, 1, 0}
+static const symbol s_1_0[3] = { 'n', 'd', 'e' };
+static const symbol s_1_1[2] = { 'e', 'n' };
+static const symbol s_1_2[1] = { 's' };
+static const symbol s_1_3[2] = { '\'', 's' };
+static const symbol s_1_4[2] = { 'e', 's' };
+static const symbol s_1_5[3] = { 'i', 'e', 's' };
+static const symbol s_1_6[3] = { 'a', 'u', 's' };
+static const symbol s_1_7[2] = { 0xE9, 's' };
+static const struct among a_1[8] = {
+{ 3, s_1_0, 0, 8, 0},
+{ 2, s_1_1, 0, 7, 0},
+{ 1, s_1_2, 0, 2, 0},
+{ 2, s_1_3, -1, 1, 0},
+{ 2, s_1_4, -2, 4, 0},
+{ 3, s_1_5, -1, 3, 0},
+{ 3, s_1_6, -4, 6, 0},
+{ 2, s_1_7, -5, 5, 0}
 };
 
-static const symbol s_2_0[2] = { 'd', 'd' };
-static const symbol s_2_1[2] = { 'k', 'k' };
-static const symbol s_2_2[2] = { 't', 't' };
-
-static const struct among a_2[3] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0}
+static const symbol s_2_0[2] = { 'd', 'e' };
+static const symbol s_2_1[2] = { 'g', 'e' };
+static const symbol s_2_2[5] = { 'i', 's', 'c', 'h', 'e' };
+static const symbol s_2_3[2] = { 'j', 'e' };
+static const symbol s_2_4[5] = { 'l', 'i', 'j', 'k', 'e' };
+static const symbol s_2_5[2] = { 'l', 'e' };
+static const symbol s_2_6[3] = { 'e', 'n', 'e' };
+static const symbol s_2_7[2] = { 'r', 'e' };
+static const symbol s_2_8[2] = { 's', 'e' };
+static const symbol s_2_9[2] = { 't', 'e' };
+static const symbol s_2_10[4] = { 'i', 'e', 'v', 'e' };
+static const struct among a_2[11] = {
+{ 2, s_2_0, 0, 5, 0},
+{ 2, s_2_1, 0, 2, 0},
+{ 5, s_2_2, 0, 4, 0},
+{ 2, s_2_3, 0, 1, 0},
+{ 5, s_2_4, 0, 3, 0},
+{ 2, s_2_5, 0, 9, 0},
+{ 3, s_2_6, 0, 10, 0},
+{ 2, s_2_7, 0, 8, 0},
+{ 2, s_2_8, 0, 7, 0},
+{ 2, s_2_9, 0, 6, 0},
+{ 4, s_2_10, 0, 11, 0}
 };
 
-static const symbol s_3_0[3] = { 'e', 'n', 'e' };
-static const symbol s_3_1[2] = { 's', 'e' };
-static const symbol s_3_2[2] = { 'e', 'n' };
-static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
-static const symbol s_3_4[1] = { 's' };
-
-static const struct among a_3[5] =
-{
-{ 3, s_3_0, -1, 2, 0},
-{ 2, s_3_1, -1, 3, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 5, s_3_3, 2, 1, 0},
-{ 1, s_3_4, -1, 3, 0}
+static const symbol s_3_0[4] = { 'h', 'e', 'i', 'd' };
+static const symbol s_3_1[3] = { 'f', 'i', 'e' };
+static const symbol s_3_2[3] = { 'g', 'i', 'e' };
+static const symbol s_3_3[4] = { 'a', 't', 'i', 'e' };
+static const symbol s_3_4[4] = { 'i', 's', 'm', 'e' };
+static const symbol s_3_5[3] = { 'i', 'n', 'g' };
+static const symbol s_3_6[4] = { 'a', 'r', 'i', 'j' };
+static const symbol s_3_7[4] = { 'e', 'r', 'i', 'j' };
+static const symbol s_3_8[3] = { 's', 'e', 'l' };
+static const symbol s_3_9[4] = { 'r', 'd', 'e', 'r' };
+static const symbol s_3_10[4] = { 's', 't', 'e', 'r' };
+static const symbol s_3_11[5] = { 'i', 't', 'e', 'i', 't' };
+static const symbol s_3_12[3] = { 'd', 's', 't' };
+static const symbol s_3_13[3] = { 't', 's', 't' };
+static const struct among a_3[14] = {
+{ 4, s_3_0, 0, 3, 0},
+{ 3, s_3_1, 0, 7, 0},
+{ 3, s_3_2, 0, 8, 0},
+{ 4, s_3_3, 0, 1, 0},
+{ 4, s_3_4, 0, 5, 0},
+{ 3, s_3_5, 0, 5, 0},
+{ 4, s_3_6, 0, 6, 0},
+{ 4, s_3_7, 0, 5, 0},
+{ 3, s_3_8, 0, 3, 0},
+{ 4, s_3_9, 0, 4, 0},
+{ 4, s_3_10, 0, 3, 0},
+{ 5, s_3_11, 0, 2, 0},
+{ 3, s_3_12, 0, 10, 0},
+{ 3, s_3_13, 0, 9, 0}
 };
 
 static const symbol s_4_0[3] = { 'e', 'n', 'd' };
-static const symbol s_4_1[2] = { 'i', 'g' };
-static const symbol s_4_2[3] = { 'i', 'n', 'g' };
-static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
-static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
-static const symbol s_4_5[3] = { 'b', 'a', 'r' };
-
-static const struct among a_4[6] =
-{
-{ 3, s_4_0, -1, 1, 0},
-{ 2, s_4_1, -1, 2, 0},
-{ 3, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 3, 0},
-{ 4, s_4_4, -1, 4, 0},
-{ 3, s_4_5, -1, 5, 0}
+static const symbol s_4_1[5] = { 'a', 't', 'i', 'e', 'f' };
+static const symbol s_4_2[4] = { 'e', 'r', 'i', 'g' };
+static const symbol s_4_3[6] = { 'a', 'c', 'h', 't', 'i', 'g' };
+static const symbol s_4_4[6] = { 'i', 'o', 'n', 'e', 'e', 'l' };
+static const symbol s_4_5[4] = { 'b', 'a', 'a', 'r' };
+static const symbol s_4_6[4] = { 'l', 'a', 'a', 'r' };
+static const symbol s_4_7[4] = { 'n', 'a', 'a', 'r' };
+static const symbol s_4_8[4] = { 'r', 'a', 'a', 'r' };
+static const symbol s_4_9[6] = { 'e', 'r', 'i', 'g', 'e', 'r' };
+static const symbol s_4_10[8] = { 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r' };
+static const symbol s_4_11[6] = { 'l', 'i', 'j', 'k', 'e', 'r' };
+static const symbol s_4_12[4] = { 't', 'a', 'n', 't' };
+static const symbol s_4_13[6] = { 'e', 'r', 'i', 'g', 's', 't' };
+static const symbol s_4_14[8] = { 'a', 'c', 'h', 't', 'i', 'g', 's', 't' };
+static const symbol s_4_15[6] = { 'l', 'i', 'j', 'k', 's', 't' };
+static const struct among a_4[16] = {
+{ 3, s_4_0, 0, 9, 0},
+{ 5, s_4_1, 0, 2, 0},
+{ 4, s_4_2, 0, 9, 0},
+{ 6, s_4_3, 0, 3, 0},
+{ 6, s_4_4, 0, 1, 0},
+{ 4, s_4_5, 0, 3, 0},
+{ 4, s_4_6, 0, 5, 0},
+{ 4, s_4_7, 0, 4, 0},
+{ 4, s_4_8, 0, 6, 0},
+{ 6, s_4_9, 0, 9, 0},
+{ 8, s_4_10, 0, 3, 0},
+{ 6, s_4_11, 0, 8, 0},
+{ 4, s_4_12, 0, 7, 0},
+{ 6, s_4_13, 0, 9, 0},
+{ 8, s_4_14, 0, 3, 0},
+{ 6, s_4_15, 0, 8, 0}
 };
 
-static const symbol s_5_0[2] = { 'a', 'a' };
-static const symbol s_5_1[2] = { 'e', 'e' };
-static const symbol s_5_2[2] = { 'o', 'o' };
-static const symbol s_5_3[2] = { 'u', 'u' };
-
-static const struct among a_5[4] =
-{
-{ 2, s_5_0, -1, -1, 0},
-{ 2, s_5_1, -1, -1, 0},
-{ 2, s_5_2, -1, -1, 0},
-{ 2, s_5_3, -1, -1, 0}
+static const symbol s_5_0[2] = { 'i', 'g' };
+static const symbol s_5_1[4] = { 'i', 'g', 'e', 'r' };
+static const symbol s_5_2[4] = { 'i', 'g', 's', 't' };
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0}
 };
 
-static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
-
-static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+static const symbol s_6_0[2] = { 'f', 't' };
+static const symbol s_6_1[2] = { 'k', 't' };
+static const symbol s_6_2[2] = { 'p', 't' };
+static const struct among a_6[3] = {
+{ 2, s_6_0, 0, 2, 0},
+{ 2, s_6_1, 0, 1, 0},
+{ 2, s_6_2, 0, 3, 0}
+};
 
-static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+static const symbol s_7_0[2] = { 'b', 'b' };
+static const symbol s_7_1[2] = { 'c', 'c' };
+static const symbol s_7_2[2] = { 'd', 'd' };
+static const symbol s_7_3[2] = { 'f', 'f' };
+static const symbol s_7_4[2] = { 'g', 'g' };
+static const symbol s_7_5[2] = { 'h', 'h' };
+static const symbol s_7_6[2] = { 'j', 'j' };
+static const symbol s_7_7[2] = { 'k', 'k' };
+static const symbol s_7_8[2] = { 'l', 'l' };
+static const symbol s_7_9[2] = { 'm', 'm' };
+static const symbol s_7_10[2] = { 'n', 'n' };
+static const symbol s_7_11[2] = { 'p', 'p' };
+static const symbol s_7_12[2] = { 'q', 'q' };
+static const symbol s_7_13[2] = { 'r', 'r' };
+static const symbol s_7_14[2] = { 's', 's' };
+static const symbol s_7_15[2] = { 't', 't' };
+static const symbol s_7_16[1] = { 'v' };
+static const symbol s_7_17[2] = { 'v', 'v' };
+static const symbol s_7_18[2] = { 'w', 'w' };
+static const symbol s_7_19[2] = { 'x', 'x' };
+static const symbol s_7_20[1] = { 'z' };
+static const symbol s_7_21[2] = { 'z', 'z' };
+static const struct among a_7[22] = {
+{ 2, s_7_0, 0, 1, 0},
+{ 2, s_7_1, 0, 2, 0},
+{ 2, s_7_2, 0, 3, 0},
+{ 2, s_7_3, 0, 4, 0},
+{ 2, s_7_4, 0, 5, 0},
+{ 2, s_7_5, 0, 6, 0},
+{ 2, s_7_6, 0, 7, 0},
+{ 2, s_7_7, 0, 8, 0},
+{ 2, s_7_8, 0, 9, 0},
+{ 2, s_7_9, 0, 10, 0},
+{ 2, s_7_10, 0, 11, 0},
+{ 2, s_7_11, 0, 12, 0},
+{ 2, s_7_12, 0, 13, 0},
+{ 2, s_7_13, 0, 14, 0},
+{ 2, s_7_14, 0, 15, 0},
+{ 2, s_7_15, 0, 16, 0},
+{ 1, s_7_16, 0, 4, 0},
+{ 2, s_7_17, -1, 17, 0},
+{ 2, s_7_18, 0, 18, 0},
+{ 2, s_7_19, 0, 19, 0},
+{ 1, s_7_20, 0, 15, 0},
+{ 2, s_7_21, -1, 20, 0}
+};
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { 'Y' };
-static const symbol s_6[] = { 'I' };
-static const symbol s_7[] = { 'Y' };
-static const symbol s_8[] = { 'y' };
-static const symbol s_9[] = { 'i' };
-static const symbol s_10[] = { 'g', 'e', 'm' };
-static const symbol s_11[] = { 'h', 'e', 'i', 'd' };
-static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
-static const symbol s_13[] = { 'e', 'n' };
-static const symbol s_14[] = { 'i', 'g' };
+static const symbol s_8_0[1] = { 'd' };
+static const symbol s_8_1[1] = { 't' };
+static const struct among a_8[2] = {
+{ 1, s_8_0, 0, 1, 0},
+{ 1, s_8_1, 0, 2, 0}
+};
 
-static int r_prelude(struct SN_env * z) {
-    int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            z->bra = z->c;
-            if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((340306450 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else
-            among_var = find_among(z, a_0, 11);
-            z->ket = z->c;
-            switch (among_var) {
-                case 1:
-                    {   int ret = slice_from_s(z, 1, s_0);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 2:
-                    {   int ret = slice_from_s(z, 1, s_1);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 3:
-                    {   int ret = slice_from_s(z, 1, s_2);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 4:
-                    {   int ret = slice_from_s(z, 1, s_3);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 5:
-                    {   int ret = slice_from_s(z, 1, s_4);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 6:
-                    if (z->c >= z->l) goto lab0;
-                    z->c++;
-                    break;
-            }
-            continue;
-        lab0:
-            z->c = c2;
-            break;
-        }
-        z->c = c_test1;
-    }
-    {   int c3 = z->c;
-        z->bra = z->c;
-        if (z->c == z->l || z->p[z->c] != 'y') { z->c = c3; goto lab1; }
-        z->c++;
-        z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_5);
-            if (ret < 0) return ret;
-        }
-    lab1:
-        ;
-    }
-    while(1) {
-        int c4 = z->c;
-        while(1) {
-            int c5 = z->c;
-            if (in_grouping(z, g_v, 97, 232, 0)) goto lab3;
-            z->bra = z->c;
-            {   int c6 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'i') goto lab5;
-                z->c++;
-                z->ket = z->c;
-                if (in_grouping(z, g_v, 97, 232, 0)) goto lab5;
-                {   int ret = slice_from_s(z, 1, s_6);
-                    if (ret < 0) return ret;
-                }
-                goto lab4;
-            lab5:
-                z->c = c6;
-                if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
-                z->c++;
-                z->ket = z->c;
-                {   int ret = slice_from_s(z, 1, s_7);
-                    if (ret < 0) return ret;
-                }
-            }
-        lab4:
-            z->c = c5;
-            break;
-        lab3:
-            z->c = c5;
-            if (z->c >= z->l) goto lab2;
-            z->c++;
-        }
-        continue;
-    lab2:
-        z->c = c4;
-        break;
-    }
-    return 1;
-}
+static const symbol s_9_1[3] = { 'e', 'f', 't' };
+static const symbol s_9_2[3] = { 'v', 'a', 'a' };
+static const symbol s_9_3[3] = { 'v', 'a', 'l' };
+static const symbol s_9_4[4] = { 'v', 'a', 'l', 'i' };
+static const symbol s_9_5[4] = { 'v', 'a', 'r', 'e' };
+static const struct among a_9[6] = {
+{ 0, 0, 0, -1, 0},
+{ 3, s_9_1, -1, 1, 0},
+{ 3, s_9_2, -2, 1, 0},
+{ 3, s_9_3, -3, 1, 0},
+{ 4, s_9_4, -1, -1, 0},
+{ 4, s_9_5, -5, 1, 0}
+};
 
-static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-z->c = z->c + 3;
-        if (z->c > z->l) return 0;
-        z->I[0] = z->c;
-        z->c = c_test1;
-    }
+static const symbol s_10_0[1] = { 0xEB };
+static const symbol s_10_1[1] = { 0xEF };
+static const struct among a_10[2] = {
+{ 1, s_10_0, 0, 1, 0},
+{ 1, s_10_1, 0, 2, 0}
+};
 
-    {
-        int ret = out_grouping(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
+static const symbol s_11_0[1] = { 0xEB };
+static const symbol s_11_1[1] = { 0xEF };
+static const struct among a_11[2] = {
+{ 1, s_11_0, 0, 1, 0},
+{ 1, s_11_1, 0, 2, 0}
+};
 
-    {
-        int ret = in_grouping(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
-    z->I[2] = z->c;
+static const unsigned char g_E[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120 };
 
-    if (z->I[2] >= z->I[0]) goto lab0;
-    z->I[2] = z->I[0];
-lab0:
+static const unsigned char g_AIOU[] = { 1, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 11, 120, 46, 15 };
 
-    {
-        int ret = out_grouping(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
+static const unsigned char g_AEIOU[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
-    {
-        int ret = in_grouping(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
-    z->I[1] = z->c;
-    return 1;
-}
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
-static int r_postlude(struct SN_env * z) {
-    int among_var;
-    while(1) {
-        int c1 = z->c;
-        z->bra = z->c;
-        if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
-        z->ket = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = slice_from_s(z, 1, s_8);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 2:
-                {   int ret = slice_from_s(z, 1, s_9);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 3:
-                if (z->c >= z->l) goto lab0;
-                z->c++;
-                break;
-        }
-        continue;
-    lab0:
-        z->c = c1;
-        break;
-    }
-    return 1;
-}
+static const unsigned char g_v_WX[] = { 17, 65, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
 static int r_R1(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
-static int r_undouble(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_2, 3)) return 0;
-        z->c = z->l - m_test1;
-    }
-    z->ket = z->c;
-    if (z->c <= z->lb) return 0;
-    z->c--;
-    z->bra = z->c;
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
+static int r_V(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        do {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b(z, g_v, 97, 252, 0)) goto lab0;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_0))) return 0;
+        } while (0);
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_e_ending(struct SN_env * z) {
-    z->I[3] = 0;
-    z->ket = z->c;
-    if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
-    z->c--;
-    z->bra = z->c;
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m_test1 = z->l - z->c;
-        if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
-        z->c = z->l - m_test1;
-    }
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
-    }
-    z->I[3] = 1;
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
+static int r_VX(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb) return 0;
+        z->c--;
+        do {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b(z, g_v, 97, 252, 0)) goto lab0;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_1))) return 0;
+        } while (0);
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_en_ending(struct SN_env * z) {
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m1 = z->l - z->c; (void)m1;
-        if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
-        z->c = z->l - m1;
-        {   int m2 = z->l - z->c; (void)m2;
-            if (!(eq_s_b(z, 3, s_10))) goto lab0;
+static int r_C(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 2, s_2))) goto lab0;
             return 0;
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-    }
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
-    }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
+        if (out_grouping_b(z, g_v, 97, 252, 0)) return 0;
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_standard_suffix(struct SN_env * z) {
+static int r_lengthen_V(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b(z, g_v_WX, 97, 252, 0)) goto lab0;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
-        among_var = find_among_b(z, a_3, 5);
+        among_var = find_among_b(z, a_0, 21, 0);
         if (!among_var) goto lab0;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int v_2 = z->l - z->c;
+                    do {
+                        int v_3 = z->l - z->c;
+                        if (out_grouping_b(z, g_AEIOU, 97, 252, 0)) goto lab1;
+                        break;
+                    lab1:
+                        z->c = z->l - v_3;
+                        if (z->c > z->lb) goto lab0;
+                    } while (0);
+                    z->c = z->l - v_2;
+                }
+                {
+                    int ret = slice_to(z, &((SN_local *)z)->s_ch);
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 4, s_11);
+                {
+                    int saved_c = z->c;
+                    int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
+                    z->c = saved_c;
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = r_en_ending(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int v_4 = z->l - z->c;
+                    do {
+                        int v_5 = z->l - z->c;
+                        if (out_grouping_b(z, g_AEIOU, 97, 252, 0)) goto lab2;
+                        break;
+                    lab2:
+                        z->c = z->l - v_5;
+                        if (z->c > z->lb) goto lab0;
+                    } while (0);
+                    {
+                        int v_6 = z->l - z->c;
+                        do {
+                            int v_7 = z->l - z->c;
+                            if (in_grouping_b(z, g_AIOU, 97, 252, 0)) goto lab4;
+                            break;
+                        lab4:
+                            z->c = z->l - v_7;
+                            if (in_grouping_b(z, g_E, 101, 235, 0)) goto lab3;
+                            if (z->c > z->lb) goto lab3;
+                        } while (0);
+                        goto lab0;
+                    lab3:
+                        z->c = z->l - v_6;
+                    }
+                    {
+                        int v_8 = z->l - z->c;
+                        if (z->c <= z->lb) goto lab5;
+                        z->c--;
+                        if (in_grouping_b(z, g_AIOU, 97, 252, 0)) goto lab5;
+                        if (out_grouping_b(z, g_AEIOU, 97, 252, 0)) goto lab5;
+                        goto lab0;
+                    lab5:
+                        z->c = z->l - v_8;
+                    }
+                    z->c = z->l - v_4;
+                }
+                {
+                    int ret = slice_to(z, &((SN_local *)z)->s_ch);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int saved_c = z->c;
+                    int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
+                    z->c = saved_c;
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int ret = slice_from_s(z, 3, s_3);
                     if (ret < 0) return ret;
                 }
-                if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0;
-                {   int ret = slice_del(z);
+                break;
+            case 4:
+                {
+                    int ret = slice_from_s(z, 3, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab0:
-        z->c = z->l - m1;
-    }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_e_ending(z);
-            if (ret < 0) return ret;
-        }
-        z->c = z->l - m2;
-    }
-    {   int m3 = z->l - z->c; (void)m3;
-        z->ket = z->c;
-        if (!(eq_s_b(z, 4, s_12))) goto lab1;
-        z->bra = z->c;
-        {   int ret = r_R2(z);
-            if (ret == 0) goto lab1;
-            if (ret < 0) return ret;
-        }
-        {   int m4 = z->l - z->c; (void)m4;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2;
-            z->c--;
-            goto lab1;
-        lab2:
-            z->c = z->l - m4;
-        }
-        {   int ret = slice_del(z);
-            if (ret < 0) return ret;
-        }
-        z->ket = z->c;
-        if (!(eq_s_b(z, 2, s_13))) goto lab1;
-        z->bra = z->c;
-        {   int ret = r_en_ending(z);
-            if (ret == 0) goto lab1;
-            if (ret < 0) return ret;
-        }
-    lab1:
-        z->c = z->l - m3;
+        z->c = z->l - v_1;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
-        among_var = find_among_b(z, a_4, 6);
-        if (!among_var) goto lab3;
-        z->bra = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
-                    if (ret < 0) return ret;
-                }
-                {   int ret = slice_del(z);
+    return 1;
+}
+
+static int r_Step_1(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_1, 8, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab0;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
-                    z->ket = z->c;
-                    if (!(eq_s_b(z, 2, s_14))) goto lab5;
-                    z->bra = z->c;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab5;
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 2, s_5);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            do {
+                int v_2 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_6))) goto lab1;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                    {   int m7 = z->l - z->c; (void)m7;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
-                        z->c--;
-                        goto lab5;
-                    lab6:
-                        z->c = z->l - m7;
+                    {
+                        int ret = r_C(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    z->c = z->l - v_3;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int v_4 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_7))) goto lab2;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab5:
-                    z->c = z->l - m6;
-                    {   int ret = r_undouble(z);
-                        if (ret == 0) goto lab3;
+                    {
+                        int ret = r_C(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
+                    z->c = z->l - v_4;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
                 }
-            lab4:
                 break;
-            case 2:
-                {   int ret = r_R2(z);
+            lab2:
+                z->c = z->l - v_2;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_8);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 5:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_9);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_V(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 2, s_10);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            do {
+                int v_5 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_11))) goto lab3;
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab3;
                     if (ret < 0) return ret;
                 }
-                {   int m8 = z->l - z->c; (void)m8;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 4, s_12);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab3:
+                z->c = z->l - v_5;
+                if (!(eq_s_b(z, 2, s_13))) goto lab4;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab4:
+                z->c = z->l - v_5;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab5;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab5;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab5;
+                    if (ret < 0) return ret;
+                }
+                z->bra = z->c;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab5:
+                z->c = z->l - v_5;
+                do {
+                    int v_6 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7;
                     z->c--;
-                    goto lab3;
+                    break;
                 lab7:
-                    z->c = z->l - m8;
+                    z->c = z->l - v_6;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab6;
+                    z->c--;
+                } while (0);
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab6;
+                    if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-            case 3:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
+            lab6:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret <= 0) return ret;
+                }
+            } while (0);
+            break;
+        case 8:
+            {
+                int ret = slice_from_s(z, 2, s_14);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_2(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 101) return 0;
+    among_var = find_among_b(z, a_2, 11, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_15))) goto lab0;
+                z->bra = z->c;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_e_ending(z);
-                    if (ret == 0) goto lab3;
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 2, s_16))) goto lab1;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab1;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab1;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-            case 4:
-                {   int ret = r_R2(z);
+            lab1:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 3, s_17))) goto lab2;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 2, s_18);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab2:
+                z->c = z->l - v_1;
+                if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab3;
+                z->c--;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab3;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = r_VX(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-            case 5:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
+            lab3:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 3, s_19))) goto lab4;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 3, s_20);
                     if (ret < 0) return ret;
                 }
-                if (!(z->I[3])) goto lab3;
-                {   int ret = slice_del(z);
+                break;
+            lab4:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 2, s_21))) goto lab5;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_22);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab5:
+                z->c = z->l - v_1;
+                if (z->c <= z->lb || z->p[z->c - 1] != '\'') goto lab6;
+                z->c--;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab6;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab6:
+                z->c = z->l - v_1;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_23);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 4, s_24);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 4, s_25);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_26);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_27);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_28);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_29);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 2, s_30);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 11:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_31);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_3(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1316016 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_3, 14, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_32);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_33);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_34))) goto lab0;
+                {
+                    int ret = slice_from_s(z, 2, s_35);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret <= 0) return ret;
+                }
+            } while (0);
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_36);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_37);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_38);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_39);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_40);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_4(struct SN_env * z) {
+    int among_var;
+    do {
+        int v_1 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1315024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+        among_var = find_among_b(z, a_4, 16, 0);
+        if (!among_var) goto lab0;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 2, s_41);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 3, s_42);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 4:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_43);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 5:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_44);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 6:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_45);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 7:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_46);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 8:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_47);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 9:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-    lab3:
-        z->c = z->l - m5;
-    }
-    {   int m9 = z->l - z->c; (void)m9;
-        if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab8;
-        {   int m_test10 = z->l - z->c;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab8;
-            if (!find_among_b(z, a_5, 4)) goto lab8;
-            if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab8;
-            z->c = z->l - m_test10;
-        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        if (z->c <= z->lb) goto lab8;
-        z->c--;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1310848 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+        if (!find_among_b(z, a_5, 3, 0)) return 0;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = r_R1(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 3, s_48))) goto lab1;
+            if (z->c > z->lb) goto lab1;
+            return 0;
+        lab1:
+            z->c = z->l - v_2;
+        }
+        {
+            int ret = r_C(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-    lab8:
-        z->c = z->l - m9;
+        {
+            int ret = r_lengthen_V(z);
+            if (ret <= 0) return ret;
+        }
+    } while (0);
+    return 1;
+}
+
+static int r_Step_7(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) return 0;
+    among_var = find_among_b(z, a_6, 3, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_49);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_50);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_51);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_6(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((98532828 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_7, 22, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_52);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_53);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_54);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_55);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = slice_from_s(z, 1, s_56);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = slice_from_s(z, 1, s_57);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = slice_from_s(z, 1, s_58);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = slice_from_s(z, 1, s_59);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = slice_from_s(z, 1, s_60);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = slice_from_s(z, 1, s_61);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 11:
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab0;
+                z->c--;
+                if (z->c > z->lb) goto lab0;
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_62);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 12:
+            {
+                int ret = slice_from_s(z, 1, s_63);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 13:
+            {
+                int ret = slice_from_s(z, 1, s_64);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 14:
+            {
+                int ret = slice_from_s(z, 1, s_65);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 15:
+            {
+                int ret = slice_from_s(z, 1, s_66);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 16:
+            {
+                int ret = slice_from_s(z, 1, s_67);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 17:
+            {
+                int ret = slice_from_s(z, 1, s_68);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 18:
+            {
+                int ret = slice_from_s(z, 1, s_69);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 19:
+            {
+                int ret = slice_from_s(z, 1, s_70);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 20:
+            {
+                int ret = slice_from_s(z, 1, s_71);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_1c(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) return 0;
+    among_var = find_among_b(z, a_8, 2, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int ret = r_C(z);
+        if (ret <= 0) return ret;
+    }
+    switch (among_var) {
+        case 1:
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            do {
+                int v_2 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_72))) goto lab1;
+                if (z->c > z->lb) goto lab1;
+                {
+                    int ret = slice_from_s(z, 1, s_73);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 2:
+            {
+                int v_3 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'h') goto lab2;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab2;
+                    if (ret < 0) return ret;
+                }
+                return 0;
+            lab2:
+                z->c = z->l - v_3;
+            }
+            {
+                int v_4 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_74))) goto lab3;
+                if (z->c > z->lb) goto lab3;
+                return 0;
+            lab3:
+                z->c = z->l - v_4;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Lose_prefix(struct SN_env * z) {
+    int among_var;
+    z->bra = z->c;
+    if (!(eq_s(z, 2, s_75))) return 0;
+    z->ket = z->c;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            do {
+                int v_4 = z->c;
+                if (!(eq_s(z, 2, s_76))) goto lab1;
+                break;
+            lab1:
+                z->c = v_4;
+                if (in_grouping(z, g_v, 97, 252, 0)) goto lab0;
+            } while (0);
+            break;
+        lab0:
+            z->c = v_3;
+            if (z->c >= z->l) return 0;
+            z->c++;
+        }
+        while (1) {
+            int v_5 = z->c;
+            do {
+                int v_6 = z->c;
+                if (!(eq_s(z, 2, s_77))) goto lab3;
+                break;
+            lab3:
+                z->c = v_6;
+                if (in_grouping(z, g_v, 97, 252, 0)) goto lab2;
+            } while (0);
+            continue;
+        lab2:
+            z->c = v_5;
+            break;
+        }
+        if (z->c < z->l) goto lab4;
+        return 0;
+    lab4:
+        z->c = v_2;
+    }
+    if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((1314818 >> (z->p[z->c + 2] & 0x1f)) & 1)) among_var = -1; else
+    among_var = find_among(z, a_9, 6, 0);
+    switch (among_var) {
+        case 1:
+            return 0;
+            break;
+    }
+    ((SN_local *)z)->b_GE_removed = 1;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    {
+        int v_7 = z->c;
+        z->bra = z->c;
+        if (z->c >= z->l || (z->p[z->c + 0] != 235 && z->p[z->c + 0] != 239)) goto lab5;
+        among_var = find_among(z, a_10, 2, 0);
+        if (!among_var) goto lab5;
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_78);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_79);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab5:
+        z->c = v_7;
+    }
+    return 1;
+}
+
+static int r_Lose_infix(struct SN_env * z) {
+    int among_var;
+    if (z->c >= z->l) return 0;
+    z->c++;
+    while (1) {
+        z->bra = z->c;
+        if (!(eq_s(z, 2, s_80))) goto lab0;
+        z->ket = z->c;
+        break;
+    lab0:
+        if (z->c >= z->l) return 0;
+        z->c++;
+    }
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            do {
+                int v_4 = z->c;
+                if (!(eq_s(z, 2, s_81))) goto lab2;
+                break;
+            lab2:
+                z->c = v_4;
+                if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_3;
+            if (z->c >= z->l) return 0;
+            z->c++;
+        }
+        while (1) {
+            int v_5 = z->c;
+            do {
+                int v_6 = z->c;
+                if (!(eq_s(z, 2, s_82))) goto lab4;
+                break;
+            lab4:
+                z->c = v_6;
+                if (in_grouping(z, g_v, 97, 252, 0)) goto lab3;
+            } while (0);
+            continue;
+        lab3:
+            z->c = v_5;
+            break;
+        }
+        if (z->c < z->l) goto lab5;
+        return 0;
+    lab5:
+        z->c = v_2;
+    }
+    ((SN_local *)z)->b_GE_removed = 1;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    {
+        int v_7 = z->c;
+        z->bra = z->c;
+        if (z->c >= z->l || (z->p[z->c + 0] != 235 && z->p[z->c + 0] != 239)) goto lab6;
+        among_var = find_among(z, a_11, 2, 0);
+        if (!among_var) goto lab6;
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_83);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_84);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab6:
+        z->c = v_7;
+    }
+    return 1;
+}
+
+static int r_measure(struct SN_env * z) {
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        while (1) {
+            if (out_grouping(z, g_v, 97, 252, 0)) goto lab1;
+            continue;
+        lab1:
+            break;
+        }
+        {
+            int v_2 = 1;
+            while (1) {
+                int v_3 = z->c;
+                do {
+                    int v_4 = z->c;
+                    if (!(eq_s(z, 2, s_85))) goto lab3;
+                    break;
+                lab3:
+                    z->c = v_4;
+                    if (in_grouping(z, g_v, 97, 252, 0)) goto lab2;
+                } while (0);
+                v_2--;
+                continue;
+            lab2:
+                z->c = v_3;
+                break;
+            }
+            if (v_2 > 0) goto lab0;
+        }
+        if (out_grouping(z, g_v, 97, 252, 0)) goto lab0;
+        ((SN_local *)z)->i_p1 = z->c;
+        while (1) {
+            if (out_grouping(z, g_v, 97, 252, 0)) goto lab4;
+            continue;
+        lab4:
+            break;
+        }
+        {
+            int v_5 = 1;
+            while (1) {
+                int v_6 = z->c;
+                do {
+                    int v_7 = z->c;
+                    if (!(eq_s(z, 2, s_86))) goto lab6;
+                    break;
+                lab6:
+                    z->c = v_7;
+                    if (in_grouping(z, g_v, 97, 252, 0)) goto lab5;
+                } while (0);
+                v_5--;
+                continue;
+            lab5:
+                z->c = v_6;
+                break;
+            }
+            if (v_5 > 0) goto lab0;
+        }
+        if (out_grouping(z, g_v, 97, 252, 0)) goto lab0;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab0:
+        z->c = v_1;
     }
     return 1;
 }
 
 extern int dutch_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    int b_stemmed;
+    b_stemmed = 0;
+    {
+        int ret = r_measure(z);
+        if (ret <= 0) return ret;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_Step_1(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab0:
+        z->c = z->l - v_1;
+    }
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_Step_2(z);
+            if (ret == 0) goto lab1;
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        b_stemmed = 1;
+    lab1:
+        z->c = z->l - v_2;
     }
-    {   int c2 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_Step_3(z);
+            if (ret == 0) goto lab2;
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        b_stemmed = 1;
+    lab2:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_Step_4(z);
+            if (ret == 0) goto lab3;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab3:
+        z->c = z->l - v_4;
+    }
+    z->c = z->lb;
+    ((SN_local *)z)->b_GE_removed = 0;
+    {
+        int v_5 = z->c;
+        {
+            int v_6 = z->c;
+            {
+                int ret = r_Lose_prefix(z);
+                if (ret == 0) goto lab4;
+                if (ret < 0) return ret;
+            }
+            z->c = v_6;
+            {
+                int ret = r_measure(z);
+                if (ret < 0) return ret;
+            }
+        }
+    lab4:
+        z->c = v_5;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int ret = r_standard_suffix(z);
-        if (ret < 0) return ret;
+    {
+        int v_7 = z->l - z->c;
+        if (!((SN_local *)z)->b_GE_removed) goto lab5;
+        b_stemmed = 1;
+        {
+            int ret = r_Step_1c(z);
+            if (ret == 0) goto lab5;
+            if (ret < 0) return ret;
+        }
+    lab5:
+        z->c = z->l - v_7;
     }
     z->c = z->lb;
-    {   int c3 = z->c;
-        {   int ret = r_postlude(z);
+    ((SN_local *)z)->b_GE_removed = 0;
+    {
+        int v_8 = z->c;
+        {
+            int v_9 = z->c;
+            {
+                int ret = r_Lose_infix(z);
+                if (ret == 0) goto lab6;
+                if (ret < 0) return ret;
+            }
+            z->c = v_9;
+            {
+                int ret = r_measure(z);
+                if (ret < 0) return ret;
+            }
+        }
+    lab6:
+        z->c = v_8;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_10 = z->l - z->c;
+        if (!((SN_local *)z)->b_GE_removed) goto lab7;
+        b_stemmed = 1;
+        {
+            int ret = r_Step_1c(z);
+            if (ret == 0) goto lab7;
             if (ret < 0) return ret;
         }
-        z->c = c3;
+    lab7:
+        z->c = z->l - v_10;
     }
+    z->c = z->lb;
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_11 = z->l - z->c;
+        {
+            int ret = r_Step_7(z);
+            if (ret == 0) goto lab8;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab8:
+        z->c = z->l - v_11;
+    }
+    {
+        int v_12 = z->l - z->c;
+        if (!b_stemmed) goto lab9;
+        {
+            int ret = r_Step_6(z);
+            if (ret == 0) goto lab9;
+            if (ret < 0) return ret;
+        }
+    lab9:
+        z->c = z->l - v_12;
+    }
+    z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * dutch_ISO_8859_1_create_env(void) { return SN_create_env(0, 4); }
+extern struct SN_env * dutch_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_GE_removed = 0;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->s_ch = NULL;
 
-extern void dutch_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+        if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
+            dutch_ISO_8859_1_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
+
+extern void dutch_ISO_8859_1_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_ch);
+    }
+    SN_delete_env(z);
+}
 
diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.c b/src/backend/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.c
new file mode 100644 (file)
index 0000000..64e8bbe
--- /dev/null
@@ -0,0 +1,665 @@
+/* Generated from dutch_porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#include "stem_ISO_8859_1_dutch_porter.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_e_found;
+};
+
+typedef struct SN_local SN_local;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int dutch_porter_ISO_8859_1_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
+
+static int r_standard_suffix(struct SN_env * z);
+static int r_undouble(struct SN_env * z);
+static int r_R2(struct SN_env * z);
+static int r_R1(struct SN_env * z);
+static int r_mark_regions(struct SN_env * z);
+static int r_en_ending(struct SN_env * z);
+static int r_e_ending(struct SN_env * z);
+static int r_postlude(struct SN_env * z);
+static int r_prelude(struct SN_env * z);
+
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { 'Y' };
+static const symbol s_6[] = { 'I' };
+static const symbol s_7[] = { 'Y' };
+static const symbol s_8[] = { 'y' };
+static const symbol s_9[] = { 'i' };
+static const symbol s_10[] = { 'g', 'e', 'm' };
+static const symbol s_11[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_13[] = { 'e', 'n' };
+static const symbol s_14[] = { 'i', 'g' };
+
+static const symbol s_0_1[1] = { 0xE1 };
+static const symbol s_0_2[1] = { 0xE4 };
+static const symbol s_0_3[1] = { 0xE9 };
+static const symbol s_0_4[1] = { 0xEB };
+static const symbol s_0_5[1] = { 0xED };
+static const symbol s_0_6[1] = { 0xEF };
+static const symbol s_0_7[1] = { 0xF3 };
+static const symbol s_0_8[1] = { 0xF6 };
+static const symbol s_0_9[1] = { 0xFA };
+static const symbol s_0_10[1] = { 0xFC };
+static const struct among a_0[11] = {
+{ 0, 0, 0, 6, 0},
+{ 1, s_0_1, -1, 1, 0},
+{ 1, s_0_2, -2, 1, 0},
+{ 1, s_0_3, -3, 2, 0},
+{ 1, s_0_4, -4, 2, 0},
+{ 1, s_0_5, -5, 3, 0},
+{ 1, s_0_6, -6, 3, 0},
+{ 1, s_0_7, -7, 4, 0},
+{ 1, s_0_8, -8, 4, 0},
+{ 1, s_0_9, -9, 5, 0},
+{ 1, s_0_10, -10, 5, 0}
+};
+
+static const symbol s_1_1[1] = { 'I' };
+static const symbol s_1_2[1] = { 'Y' };
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_1_1, -1, 2, 0},
+{ 1, s_1_2, -2, 1, 0}
+};
+
+static const symbol s_2_0[2] = { 'd', 'd' };
+static const symbol s_2_1[2] = { 'k', 'k' };
+static const symbol s_2_2[2] = { 't', 't' };
+static const struct among a_2[3] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0}
+};
+
+static const symbol s_3_0[3] = { 'e', 'n', 'e' };
+static const symbol s_3_1[2] = { 's', 'e' };
+static const symbol s_3_2[2] = { 'e', 'n' };
+static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
+static const symbol s_3_4[1] = { 's' };
+static const struct among a_3[5] = {
+{ 3, s_3_0, 0, 2, 0},
+{ 2, s_3_1, 0, 3, 0},
+{ 2, s_3_2, 0, 2, 0},
+{ 5, s_3_3, -1, 1, 0},
+{ 1, s_3_4, 0, 3, 0}
+};
+
+static const symbol s_4_0[3] = { 'e', 'n', 'd' };
+static const symbol s_4_1[2] = { 'i', 'g' };
+static const symbol s_4_2[3] = { 'i', 'n', 'g' };
+static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
+static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
+static const symbol s_4_5[3] = { 'b', 'a', 'r' };
+static const struct among a_4[6] = {
+{ 3, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 2, 0},
+{ 3, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 3, 0},
+{ 4, s_4_4, 0, 4, 0},
+{ 3, s_4_5, 0, 5, 0}
+};
+
+static const symbol s_5_0[2] = { 'a', 'a' };
+static const symbol s_5_1[2] = { 'e', 'e' };
+static const symbol s_5_2[2] = { 'o', 'o' };
+static const symbol s_5_3[2] = { 'u', 'u' };
+static const struct among a_5[4] = {
+{ 2, s_5_0, 0, -1, 0},
+{ 2, s_5_1, 0, -1, 0},
+{ 2, s_5_2, 0, -1, 0},
+{ 2, s_5_3, 0, -1, 0}
+};
+
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static int r_prelude(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            z->bra = z->c;
+            if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((340306450 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else
+            among_var = find_among(z, a_0, 11, 0);
+            z->ket = z->c;
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_from_s(z, 1, s_0);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 2:
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 3:
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 4:
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 5:
+                    {
+                        int ret = slice_from_s(z, 1, s_4);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 6:
+                    if (z->c >= z->l) goto lab0;
+                    z->c++;
+                    break;
+            }
+            continue;
+        lab0:
+            z->c = v_2;
+            break;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_3 = z->c;
+        z->bra = z->c;
+        if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_3; goto lab1; }
+        z->c++;
+        z->ket = z->c;
+        {
+            int ret = slice_from_s(z, 1, s_5);
+            if (ret < 0) return ret;
+        }
+    lab1:
+        ;
+    }
+    while (1) {
+        int v_4 = z->c;
+        {
+            int ret = out_grouping(z, g_v, 97, 232, 1);
+            if (ret < 0) goto lab2;
+            z->c += ret;
+        }
+        {
+            int v_5 = z->c;
+            z->bra = z->c;
+            do {
+                int v_6 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
+                z->c++;
+                z->ket = z->c;
+                {
+                    int v_7 = z->c;
+                    if (in_grouping(z, g_v, 97, 232, 0)) goto lab5;
+                    {
+                        int ret = slice_from_s(z, 1, s_6);
+                        if (ret < 0) return ret;
+                    }
+                lab5:
+                    z->c = v_7;
+                }
+                break;
+            lab4:
+                z->c = v_6;
+                if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_5; goto lab3; }
+                z->c++;
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_7);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+        lab3:
+            ;
+        }
+        continue;
+    lab2:
+        z->c = v_4;
+        break;
+    }
+    return 1;
+}
+
+static int r_mark_regions(struct SN_env * z) {
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
+lab0:
+    {
+        int ret = out_grouping(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p2 = z->c;
+    return 1;
+}
+
+static int r_postlude(struct SN_env * z) {
+    int among_var;
+    while (1) {
+        int v_1 = z->c;
+        z->bra = z->c;
+        if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
+        among_var = find_among(z, a_1, 3, 0);
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_8);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_9);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                if (z->c >= z->l) goto lab0;
+                z->c++;
+                break;
+        }
+        continue;
+    lab0:
+        z->c = v_1;
+        break;
+    }
+    return 1;
+}
+
+static int r_R1(struct SN_env * z) {
+    return ((SN_local *)z)->i_p1 <= z->c;
+}
+
+static int r_R2(struct SN_env * z) {
+    return ((SN_local *)z)->i_p2 <= z->c;
+}
+
+static int r_undouble(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+        if (!find_among_b(z, a_2, 3, 0)) return 0;
+        z->c = z->l - v_1;
+    }
+    z->ket = z->c;
+    if (z->c <= z->lb) return 0;
+    z->c--;
+    z->bra = z->c;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_e_ending(struct SN_env * z) {
+    ((SN_local *)z)->b_e_found = 0;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
+    z->c--;
+    z->bra = z->c;
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
+        z->c = z->l - v_1;
+    }
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    ((SN_local *)z)->b_e_found = 1;
+    return r_undouble(z);
+}
+
+static int r_en_ending(struct SN_env * z) {
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b(z, g_v, 97, 232, 0)) return 0;
+        z->c = z->l - v_1;
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 3, s_10))) goto lab0;
+            return 0;
+        lab0:
+            z->c = z->l - v_2;
+        }
+    }
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return r_undouble(z);
+}
+
+static int r_standard_suffix(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+        among_var = find_among_b(z, a_3, 5, 0);
+        if (!among_var) goto lab0;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_11);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = r_en_ending(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                if (out_grouping_b(z, g_v_j, 97, 232, 0)) goto lab0;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab0:
+        z->c = z->l - v_1;
+    }
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_e_ending(z);
+            if (ret < 0) return ret;
+        }
+        z->c = z->l - v_2;
+    }
+    {
+        int v_3 = z->l - z->c;
+        z->ket = z->c;
+        if (!(eq_s_b(z, 4, s_12))) goto lab1;
+        z->bra = z->c;
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+        {
+            int v_4 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2;
+            z->c--;
+            goto lab1;
+        lab2:
+            z->c = z->l - v_4;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+        z->ket = z->c;
+        if (!(eq_s_b(z, 2, s_13))) goto lab1;
+        z->bra = z->c;
+        {
+            int ret = r_en_ending(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+    lab1:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_5 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
+        among_var = find_among_b(z, a_4, 6, 0);
+        if (!among_var) goto lab3;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                do {
+                    int v_6 = z->l - z->c;
+                    z->ket = z->c;
+                    if (!(eq_s_b(z, 2, s_14))) goto lab4;
+                    z->bra = z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab4;
+                        if (ret < 0) return ret;
+                    }
+                    {
+                        int v_7 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab5;
+                        z->c--;
+                        goto lab4;
+                    lab5:
+                        z->c = z->l - v_7;
+                    }
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                lab4:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_undouble(z);
+                        if (ret == 0) goto lab3;
+                        if (ret < 0) return ret;
+                    }
+                } while (0);
+                break;
+            case 2:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int v_8 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
+                    z->c--;
+                    goto lab3;
+                lab6:
+                    z->c = z->l - v_8;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_e_ending(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 4:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 5:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                if (!((SN_local *)z)->b_e_found) goto lab3;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab3:
+        z->c = z->l - v_5;
+    }
+    {
+        int v_9 = z->l - z->c;
+        if (out_grouping_b(z, g_v_I, 73, 232, 0)) goto lab7;
+        {
+            int v_10 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab7;
+            if (!find_among_b(z, a_5, 4, 0)) goto lab7;
+            if (out_grouping_b(z, g_v, 97, 232, 0)) goto lab7;
+            z->c = z->l - v_10;
+        }
+        z->ket = z->c;
+        if (z->c <= z->lb) goto lab7;
+        z->c--;
+        z->bra = z->c;
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    lab7:
+        z->c = z->l - v_9;
+    }
+    return 1;
+}
+
+extern int dutch_porter_ISO_8859_1_stem(struct SN_env * z) {
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_mark_regions(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_2;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int ret = r_standard_suffix(z);
+        if (ret < 0) return ret;
+    }
+    z->c = z->lb;
+    {
+        int v_3 = z->c;
+        {
+            int ret = r_postlude(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_3;
+    }
+    return 1;
+}
+
+extern struct SN_env * dutch_porter_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->b_e_found = 0;
+    }
+    return z;
+}
+
+extern void dutch_porter_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
+
index ac36c163f93121a8aeb094e1c970982f528406f1..cb9ea3ae1c33ac5b47507dc49e20bb5d6da4b56a 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from english.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_english.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_Y_found;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,7 +22,7 @@ extern int english_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_exception2(struct SN_env * z);
+
 static int r_exception1(struct SN_env * z);
 static int r_Step_5(struct SN_env * z);
 static int r_Step_4(struct SN_env * z);
@@ -24,38 +37,75 @@ static int r_shortv(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * english_ISO_8859_1_create_env(void);
-extern void english_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'Y' };
+static const symbol s_1[] = { 'Y' };
+static const symbol s_2[] = { 'p', 'a', 's', 't' };
+static const symbol s_3[] = { 's', 's' };
+static const symbol s_4[] = { 'i' };
+static const symbol s_5[] = { 'i', 'e' };
+static const symbol s_6[] = { 'e', 'e' };
+static const symbol s_7[] = { 'i', 'e' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 'e' };
+static const symbol s_10[] = { 'i' };
+static const symbol s_11[] = { 't', 'i', 'o', 'n' };
+static const symbol s_12[] = { 'e', 'n', 'c', 'e' };
+static const symbol s_13[] = { 'a', 'n', 'c', 'e' };
+static const symbol s_14[] = { 'a', 'b', 'l', 'e' };
+static const symbol s_15[] = { 'e', 'n', 't' };
+static const symbol s_16[] = { 'i', 'z', 'e' };
+static const symbol s_17[] = { 'a', 't', 'e' };
+static const symbol s_18[] = { 'a', 'l' };
+static const symbol s_19[] = { 'f', 'u', 'l' };
+static const symbol s_20[] = { 'o', 'u', 's' };
+static const symbol s_21[] = { 'i', 'v', 'e' };
+static const symbol s_22[] = { 'b', 'l', 'e' };
+static const symbol s_23[] = { 'o', 'g' };
+static const symbol s_24[] = { 'o', 'g' };
+static const symbol s_25[] = { 'l', 'e', 's', 's' };
+static const symbol s_26[] = { 't', 'i', 'o', 'n' };
+static const symbol s_27[] = { 'a', 't', 'e' };
+static const symbol s_28[] = { 'a', 'l' };
+static const symbol s_29[] = { 'i', 'c' };
+static const symbol s_30[] = { 's', 'k', 'i' };
+static const symbol s_31[] = { 's', 'k', 'y' };
+static const symbol s_32[] = { 'i', 'd', 'l' };
+static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
+static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
+static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
+static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
+static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
+static const symbol s_38[] = { 'y' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[5] = { 'a', 'r', 's', 'e', 'n' };
 static const symbol s_0_1[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
-static const symbol s_0_2[5] = { 'g', 'e', 'n', 'e', 'r' };
-
-static const struct among a_0[3] =
-{
-{ 5, s_0_0, -1, -1, 0},
-{ 6, s_0_1, -1, -1, 0},
-{ 5, s_0_2, -1, -1, 0}
+static const symbol s_0_2[5] = { 'e', 'm', 'e', 'r', 'g' };
+static const symbol s_0_3[5] = { 'g', 'e', 'n', 'e', 'r' };
+static const symbol s_0_4[5] = { 'i', 'n', 't', 'e', 'r' };
+static const symbol s_0_5[5] = { 'l', 'a', 't', 'e', 'r' };
+static const symbol s_0_6[5] = { 'o', 'r', 'g', 'a', 'n' };
+static const symbol s_0_7[4] = { 'p', 'a', 's', 't' };
+static const symbol s_0_8[7] = { 'u', 'n', 'i', 'v', 'e', 'r', 's' };
+static const struct among a_0[9] = {
+{ 5, s_0_0, 0, -1, 0},
+{ 6, s_0_1, 0, -1, 0},
+{ 5, s_0_2, 0, -1, 0},
+{ 5, s_0_3, 0, -1, 0},
+{ 5, s_0_4, 0, -1, 0},
+{ 5, s_0_5, 0, -1, 0},
+{ 5, s_0_6, 0, -1, 0},
+{ 4, s_0_7, 0, -1, 0},
+{ 7, s_0_8, 0, -1, 0}
 };
 
 static const symbol s_1_0[1] = { '\'' };
 static const symbol s_1_1[3] = { '\'', 's', '\'' };
 static const symbol s_1_2[2] = { '\'', 's' };
-
-static const struct among a_1[3] =
-{
-{ 1, s_1_0, -1, 1, 0},
-{ 3, s_1_1, 0, 1, 0},
-{ 2, s_1_2, -1, 1, 0}
+static const struct among a_1[3] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 3, s_1_1, -1, 1, 0},
+{ 2, s_1_2, 0, 1, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'e', 'd' };
@@ -64,250 +114,236 @@ static const symbol s_2_2[3] = { 'i', 'e', 's' };
 static const symbol s_2_3[4] = { 's', 's', 'e', 's' };
 static const symbol s_2_4[2] = { 's', 's' };
 static const symbol s_2_5[2] = { 'u', 's' };
-
-static const struct among a_2[6] =
-{
-{ 3, s_2_0, -1, 2, 0},
-{ 1, s_2_1, -1, 3, 0},
-{ 3, s_2_2, 1, 2, 0},
-{ 4, s_2_3, 1, 1, 0},
-{ 2, s_2_4, 1, -1, 0},
-{ 2, s_2_5, 1, -1, 0}
+static const struct among a_2[6] = {
+{ 3, s_2_0, 0, 2, 0},
+{ 1, s_2_1, 0, 3, 0},
+{ 3, s_2_2, -1, 2, 0},
+{ 4, s_2_3, -2, 1, 0},
+{ 2, s_2_4, -3, -1, 0},
+{ 2, s_2_5, -4, -1, 0}
 };
 
-static const symbol s_3_1[2] = { 'b', 'b' };
-static const symbol s_3_2[2] = { 'd', 'd' };
-static const symbol s_3_3[2] = { 'f', 'f' };
-static const symbol s_3_4[2] = { 'g', 'g' };
-static const symbol s_3_5[2] = { 'b', 'l' };
-static const symbol s_3_6[2] = { 'm', 'm' };
-static const symbol s_3_7[2] = { 'n', 'n' };
-static const symbol s_3_8[2] = { 'p', 'p' };
-static const symbol s_3_9[2] = { 'r', 'r' };
-static const symbol s_3_10[2] = { 'a', 't' };
-static const symbol s_3_11[2] = { 't', 't' };
-static const symbol s_3_12[2] = { 'i', 'z' };
-
-static const struct among a_3[13] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_3_1, 0, 2, 0},
-{ 2, s_3_2, 0, 2, 0},
-{ 2, s_3_3, 0, 2, 0},
-{ 2, s_3_4, 0, 2, 0},
-{ 2, s_3_5, 0, 1, 0},
-{ 2, s_3_6, 0, 2, 0},
-{ 2, s_3_7, 0, 2, 0},
-{ 2, s_3_8, 0, 2, 0},
-{ 2, s_3_9, 0, 2, 0},
-{ 2, s_3_10, 0, 1, 0},
-{ 2, s_3_11, 0, 2, 0},
-{ 2, s_3_12, 0, 1, 0}
+static const symbol s_3_0[4] = { 's', 'u', 'c', 'c' };
+static const symbol s_3_1[4] = { 'p', 'r', 'o', 'c' };
+static const symbol s_3_2[3] = { 'e', 'x', 'c' };
+static const struct among a_3[3] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 3, s_3_2, 0, 1, 0}
 };
 
-static const symbol s_4_0[2] = { 'e', 'd' };
-static const symbol s_4_1[3] = { 'e', 'e', 'd' };
-static const symbol s_4_2[3] = { 'i', 'n', 'g' };
-static const symbol s_4_3[4] = { 'e', 'd', 'l', 'y' };
-static const symbol s_4_4[5] = { 'e', 'e', 'd', 'l', 'y' };
-static const symbol s_4_5[5] = { 'i', 'n', 'g', 'l', 'y' };
-
-static const struct among a_4[6] =
-{
-{ 2, s_4_0, -1, 2, 0},
-{ 3, s_4_1, 0, 1, 0},
-{ 3, s_4_2, -1, 2, 0},
-{ 4, s_4_3, -1, 2, 0},
-{ 5, s_4_4, 3, 1, 0},
-{ 5, s_4_5, -1, 2, 0}
+static const symbol s_4_0[4] = { 'e', 'v', 'e', 'n' };
+static const symbol s_4_1[4] = { 'c', 'a', 'n', 'n' };
+static const symbol s_4_2[3] = { 'i', 'n', 'n' };
+static const symbol s_4_3[4] = { 'e', 'a', 'r', 'r' };
+static const symbol s_4_4[4] = { 'h', 'e', 'r', 'r' };
+static const symbol s_4_5[3] = { 'o', 'u', 't' };
+static const symbol s_4_6[1] = { 'y' };
+static const struct among a_4[7] = {
+{ 4, s_4_0, 0, 2, 0},
+{ 4, s_4_1, 0, 2, 0},
+{ 3, s_4_2, 0, 2, 0},
+{ 4, s_4_3, 0, 2, 0},
+{ 4, s_4_4, 0, 2, 0},
+{ 3, s_4_5, 0, 2, 0},
+{ 1, s_4_6, 0, 1, 0}
 };
 
-static const symbol s_5_0[4] = { 'a', 'n', 'c', 'i' };
-static const symbol s_5_1[4] = { 'e', 'n', 'c', 'i' };
-static const symbol s_5_2[3] = { 'o', 'g', 'i' };
-static const symbol s_5_3[2] = { 'l', 'i' };
-static const symbol s_5_4[3] = { 'b', 'l', 'i' };
-static const symbol s_5_5[4] = { 'a', 'b', 'l', 'i' };
-static const symbol s_5_6[4] = { 'a', 'l', 'l', 'i' };
-static const symbol s_5_7[5] = { 'f', 'u', 'l', 'l', 'i' };
-static const symbol s_5_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
-static const symbol s_5_9[5] = { 'o', 'u', 's', 'l', 'i' };
-static const symbol s_5_10[5] = { 'e', 'n', 't', 'l', 'i' };
-static const symbol s_5_11[5] = { 'a', 'l', 'i', 't', 'i' };
-static const symbol s_5_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
-static const symbol s_5_13[5] = { 'i', 'v', 'i', 't', 'i' };
-static const symbol s_5_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_5_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_5_16[5] = { 'a', 'l', 'i', 's', 'm' };
-static const symbol s_5_17[5] = { 'a', 't', 'i', 'o', 'n' };
-static const symbol s_5_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
-static const symbol s_5_19[4] = { 'i', 'z', 'e', 'r' };
-static const symbol s_5_20[4] = { 'a', 't', 'o', 'r' };
-static const symbol s_5_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
-static const symbol s_5_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
-static const symbol s_5_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
-
-static const struct among a_5[24] =
-{
-{ 4, s_5_0, -1, 3, 0},
-{ 4, s_5_1, -1, 2, 0},
-{ 3, s_5_2, -1, 13, 0},
-{ 2, s_5_3, -1, 15, 0},
-{ 3, s_5_4, 3, 12, 0},
-{ 4, s_5_5, 4, 4, 0},
-{ 4, s_5_6, 3, 8, 0},
-{ 5, s_5_7, 3, 9, 0},
-{ 6, s_5_8, 3, 14, 0},
-{ 5, s_5_9, 3, 10, 0},
-{ 5, s_5_10, 3, 5, 0},
-{ 5, s_5_11, -1, 8, 0},
-{ 6, s_5_12, -1, 12, 0},
-{ 5, s_5_13, -1, 11, 0},
-{ 6, s_5_14, -1, 1, 0},
-{ 7, s_5_15, 14, 7, 0},
-{ 5, s_5_16, -1, 8, 0},
-{ 5, s_5_17, -1, 7, 0},
-{ 7, s_5_18, 17, 6, 0},
-{ 4, s_5_19, -1, 6, 0},
-{ 4, s_5_20, -1, 7, 0},
-{ 7, s_5_21, -1, 11, 0},
-{ 7, s_5_22, -1, 9, 0},
-{ 7, s_5_23, -1, 10, 0}
+static const symbol s_5_1[2] = { 'e', 'd' };
+static const symbol s_5_2[3] = { 'e', 'e', 'd' };
+static const symbol s_5_3[3] = { 'i', 'n', 'g' };
+static const symbol s_5_4[4] = { 'e', 'd', 'l', 'y' };
+static const symbol s_5_5[5] = { 'e', 'e', 'd', 'l', 'y' };
+static const symbol s_5_6[5] = { 'i', 'n', 'g', 'l', 'y' };
+static const struct among a_5[7] = {
+{ 0, 0, 0, -1, 0},
+{ 2, s_5_1, -1, 2, 0},
+{ 3, s_5_2, -1, 1, 0},
+{ 3, s_5_3, -3, 3, 0},
+{ 4, s_5_4, -4, 2, 0},
+{ 5, s_5_5, -1, 1, 0},
+{ 5, s_5_6, -6, 2, 0}
 };
 
-static const symbol s_6_0[5] = { 'i', 'c', 'a', 't', 'e' };
-static const symbol s_6_1[5] = { 'a', 't', 'i', 'v', 'e' };
-static const symbol s_6_2[5] = { 'a', 'l', 'i', 'z', 'e' };
-static const symbol s_6_3[5] = { 'i', 'c', 'i', 't', 'i' };
-static const symbol s_6_4[4] = { 'i', 'c', 'a', 'l' };
-static const symbol s_6_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_6_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_6_7[3] = { 'f', 'u', 'l' };
-static const symbol s_6_8[4] = { 'n', 'e', 's', 's' };
-
-static const struct among a_6[9] =
-{
-{ 5, s_6_0, -1, 4, 0},
-{ 5, s_6_1, -1, 6, 0},
-{ 5, s_6_2, -1, 3, 0},
-{ 5, s_6_3, -1, 4, 0},
-{ 4, s_6_4, -1, 4, 0},
-{ 6, s_6_5, -1, 1, 0},
-{ 7, s_6_6, 5, 2, 0},
-{ 3, s_6_7, -1, 5, 0},
-{ 4, s_6_8, -1, 5, 0}
+static const symbol s_6_1[2] = { 'b', 'b' };
+static const symbol s_6_2[2] = { 'd', 'd' };
+static const symbol s_6_3[2] = { 'f', 'f' };
+static const symbol s_6_4[2] = { 'g', 'g' };
+static const symbol s_6_5[2] = { 'b', 'l' };
+static const symbol s_6_6[2] = { 'm', 'm' };
+static const symbol s_6_7[2] = { 'n', 'n' };
+static const symbol s_6_8[2] = { 'p', 'p' };
+static const symbol s_6_9[2] = { 'r', 'r' };
+static const symbol s_6_10[2] = { 'a', 't' };
+static const symbol s_6_11[2] = { 't', 't' };
+static const symbol s_6_12[2] = { 'i', 'z' };
+static const struct among a_6[13] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_6_1, -1, 2, 0},
+{ 2, s_6_2, -2, 2, 0},
+{ 2, s_6_3, -3, 2, 0},
+{ 2, s_6_4, -4, 2, 0},
+{ 2, s_6_5, -5, 1, 0},
+{ 2, s_6_6, -6, 2, 0},
+{ 2, s_6_7, -7, 2, 0},
+{ 2, s_6_8, -8, 2, 0},
+{ 2, s_6_9, -9, 2, 0},
+{ 2, s_6_10, -10, 1, 0},
+{ 2, s_6_11, -11, 2, 0},
+{ 2, s_6_12, -12, 1, 0}
 };
 
-static const symbol s_7_0[2] = { 'i', 'c' };
-static const symbol s_7_1[4] = { 'a', 'n', 'c', 'e' };
-static const symbol s_7_2[4] = { 'e', 'n', 'c', 'e' };
-static const symbol s_7_3[4] = { 'a', 'b', 'l', 'e' };
-static const symbol s_7_4[4] = { 'i', 'b', 'l', 'e' };
-static const symbol s_7_5[3] = { 'a', 't', 'e' };
-static const symbol s_7_6[3] = { 'i', 'v', 'e' };
-static const symbol s_7_7[3] = { 'i', 'z', 'e' };
-static const symbol s_7_8[3] = { 'i', 't', 'i' };
-static const symbol s_7_9[2] = { 'a', 'l' };
-static const symbol s_7_10[3] = { 'i', 's', 'm' };
-static const symbol s_7_11[3] = { 'i', 'o', 'n' };
-static const symbol s_7_12[2] = { 'e', 'r' };
-static const symbol s_7_13[3] = { 'o', 'u', 's' };
-static const symbol s_7_14[3] = { 'a', 'n', 't' };
-static const symbol s_7_15[3] = { 'e', 'n', 't' };
-static const symbol s_7_16[4] = { 'm', 'e', 'n', 't' };
-static const symbol s_7_17[5] = { 'e', 'm', 'e', 'n', 't' };
-
-static const struct among a_7[18] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 4, s_7_1, -1, 1, 0},
-{ 4, s_7_2, -1, 1, 0},
-{ 4, s_7_3, -1, 1, 0},
-{ 4, s_7_4, -1, 1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 3, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 3, s_7_8, -1, 1, 0},
-{ 2, s_7_9, -1, 1, 0},
-{ 3, s_7_10, -1, 1, 0},
-{ 3, s_7_11, -1, 2, 0},
-{ 2, s_7_12, -1, 1, 0},
-{ 3, s_7_13, -1, 1, 0},
-{ 3, s_7_14, -1, 1, 0},
-{ 3, s_7_15, -1, 1, 0},
-{ 4, s_7_16, 15, 1, 0},
-{ 5, s_7_17, 16, 1, 0}
+static const symbol s_7_0[4] = { 'a', 'n', 'c', 'i' };
+static const symbol s_7_1[4] = { 'e', 'n', 'c', 'i' };
+static const symbol s_7_2[3] = { 'o', 'g', 'i' };
+static const symbol s_7_3[2] = { 'l', 'i' };
+static const symbol s_7_4[3] = { 'b', 'l', 'i' };
+static const symbol s_7_5[4] = { 'a', 'b', 'l', 'i' };
+static const symbol s_7_6[4] = { 'a', 'l', 'l', 'i' };
+static const symbol s_7_7[5] = { 'f', 'u', 'l', 'l', 'i' };
+static const symbol s_7_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
+static const symbol s_7_9[5] = { 'o', 'u', 's', 'l', 'i' };
+static const symbol s_7_10[5] = { 'e', 'n', 't', 'l', 'i' };
+static const symbol s_7_11[5] = { 'a', 'l', 'i', 't', 'i' };
+static const symbol s_7_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
+static const symbol s_7_13[5] = { 'i', 'v', 'i', 't', 'i' };
+static const symbol s_7_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_7_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_7_16[5] = { 'a', 'l', 'i', 's', 'm' };
+static const symbol s_7_17[5] = { 'a', 't', 'i', 'o', 'n' };
+static const symbol s_7_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
+static const symbol s_7_19[4] = { 'i', 'z', 'e', 'r' };
+static const symbol s_7_20[4] = { 'a', 't', 'o', 'r' };
+static const symbol s_7_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
+static const symbol s_7_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
+static const symbol s_7_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
+static const symbol s_7_24[5] = { 'o', 'g', 'i', 's', 't' };
+static const struct among a_7[25] = {
+{ 4, s_7_0, 0, 3, 0},
+{ 4, s_7_1, 0, 2, 0},
+{ 3, s_7_2, 0, 14, 0},
+{ 2, s_7_3, 0, 16, 0},
+{ 3, s_7_4, -1, 12, 0},
+{ 4, s_7_5, -1, 4, 0},
+{ 4, s_7_6, -3, 8, 0},
+{ 5, s_7_7, -4, 9, 0},
+{ 6, s_7_8, -5, 15, 0},
+{ 5, s_7_9, -6, 10, 0},
+{ 5, s_7_10, -7, 5, 0},
+{ 5, s_7_11, 0, 8, 0},
+{ 6, s_7_12, 0, 12, 0},
+{ 5, s_7_13, 0, 11, 0},
+{ 6, s_7_14, 0, 1, 0},
+{ 7, s_7_15, -1, 7, 0},
+{ 5, s_7_16, 0, 8, 0},
+{ 5, s_7_17, 0, 7, 0},
+{ 7, s_7_18, -1, 6, 0},
+{ 4, s_7_19, 0, 6, 0},
+{ 4, s_7_20, 0, 7, 0},
+{ 7, s_7_21, 0, 11, 0},
+{ 7, s_7_22, 0, 9, 0},
+{ 7, s_7_23, 0, 10, 0},
+{ 5, s_7_24, 0, 13, 0}
 };
 
-static const symbol s_8_0[1] = { 'e' };
-static const symbol s_8_1[1] = { 'l' };
-
-static const struct among a_8[2] =
-{
-{ 1, s_8_0, -1, 1, 0},
-{ 1, s_8_1, -1, 2, 0}
+static const symbol s_8_0[5] = { 'i', 'c', 'a', 't', 'e' };
+static const symbol s_8_1[5] = { 'a', 't', 'i', 'v', 'e' };
+static const symbol s_8_2[5] = { 'a', 'l', 'i', 'z', 'e' };
+static const symbol s_8_3[5] = { 'i', 'c', 'i', 't', 'i' };
+static const symbol s_8_4[4] = { 'i', 'c', 'a', 'l' };
+static const symbol s_8_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_8_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_8_7[3] = { 'f', 'u', 'l' };
+static const symbol s_8_8[4] = { 'n', 'e', 's', 's' };
+static const struct among a_8[9] = {
+{ 5, s_8_0, 0, 4, 0},
+{ 5, s_8_1, 0, 6, 0},
+{ 5, s_8_2, 0, 3, 0},
+{ 5, s_8_3, 0, 4, 0},
+{ 4, s_8_4, 0, 4, 0},
+{ 6, s_8_5, 0, 1, 0},
+{ 7, s_8_6, -1, 2, 0},
+{ 3, s_8_7, 0, 5, 0},
+{ 4, s_8_8, 0, 5, 0}
 };
 
-static const symbol s_9_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
-static const symbol s_9_1[7] = { 'p', 'r', 'o', 'c', 'e', 'e', 'd' };
-static const symbol s_9_2[6] = { 'e', 'x', 'c', 'e', 'e', 'd' };
-static const symbol s_9_3[7] = { 'c', 'a', 'n', 'n', 'i', 'n', 'g' };
-static const symbol s_9_4[6] = { 'i', 'n', 'n', 'i', 'n', 'g' };
-static const symbol s_9_5[7] = { 'e', 'a', 'r', 'r', 'i', 'n', 'g' };
-static const symbol s_9_6[7] = { 'h', 'e', 'r', 'r', 'i', 'n', 'g' };
-static const symbol s_9_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
-
-static const struct among a_9[8] =
-{
-{ 7, s_9_0, -1, -1, 0},
-{ 7, s_9_1, -1, -1, 0},
-{ 6, s_9_2, -1, -1, 0},
-{ 7, s_9_3, -1, -1, 0},
-{ 6, s_9_4, -1, -1, 0},
-{ 7, s_9_5, -1, -1, 0},
-{ 7, s_9_6, -1, -1, 0},
-{ 6, s_9_7, -1, -1, 0}
+static const symbol s_9_0[2] = { 'i', 'c' };
+static const symbol s_9_1[4] = { 'a', 'n', 'c', 'e' };
+static const symbol s_9_2[4] = { 'e', 'n', 'c', 'e' };
+static const symbol s_9_3[4] = { 'a', 'b', 'l', 'e' };
+static const symbol s_9_4[4] = { 'i', 'b', 'l', 'e' };
+static const symbol s_9_5[3] = { 'a', 't', 'e' };
+static const symbol s_9_6[3] = { 'i', 'v', 'e' };
+static const symbol s_9_7[3] = { 'i', 'z', 'e' };
+static const symbol s_9_8[3] = { 'i', 't', 'i' };
+static const symbol s_9_9[2] = { 'a', 'l' };
+static const symbol s_9_10[3] = { 'i', 's', 'm' };
+static const symbol s_9_11[3] = { 'i', 'o', 'n' };
+static const symbol s_9_12[2] = { 'e', 'r' };
+static const symbol s_9_13[3] = { 'o', 'u', 's' };
+static const symbol s_9_14[3] = { 'a', 'n', 't' };
+static const symbol s_9_15[3] = { 'e', 'n', 't' };
+static const symbol s_9_16[4] = { 'm', 'e', 'n', 't' };
+static const symbol s_9_17[5] = { 'e', 'm', 'e', 'n', 't' };
+static const struct among a_9[18] = {
+{ 2, s_9_0, 0, 1, 0},
+{ 4, s_9_1, 0, 1, 0},
+{ 4, s_9_2, 0, 1, 0},
+{ 4, s_9_3, 0, 1, 0},
+{ 4, s_9_4, 0, 1, 0},
+{ 3, s_9_5, 0, 1, 0},
+{ 3, s_9_6, 0, 1, 0},
+{ 3, s_9_7, 0, 1, 0},
+{ 3, s_9_8, 0, 1, 0},
+{ 2, s_9_9, 0, 1, 0},
+{ 3, s_9_10, 0, 1, 0},
+{ 3, s_9_11, 0, 2, 0},
+{ 2, s_9_12, 0, 1, 0},
+{ 3, s_9_13, 0, 1, 0},
+{ 3, s_9_14, 0, 1, 0},
+{ 3, s_9_15, 0, 1, 0},
+{ 4, s_9_16, -1, 1, 0},
+{ 5, s_9_17, -1, 1, 0}
 };
 
-static const symbol s_10_0[5] = { 'a', 'n', 'd', 'e', 's' };
-static const symbol s_10_1[5] = { 'a', 't', 'l', 'a', 's' };
-static const symbol s_10_2[4] = { 'b', 'i', 'a', 's' };
-static const symbol s_10_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
-static const symbol s_10_4[5] = { 'd', 'y', 'i', 'n', 'g' };
-static const symbol s_10_5[5] = { 'e', 'a', 'r', 'l', 'y' };
-static const symbol s_10_6[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
-static const symbol s_10_7[4] = { 'h', 'o', 'w', 'e' };
-static const symbol s_10_8[4] = { 'i', 'd', 'l', 'y' };
-static const symbol s_10_9[5] = { 'l', 'y', 'i', 'n', 'g' };
-static const symbol s_10_10[4] = { 'n', 'e', 'w', 's' };
-static const symbol s_10_11[4] = { 'o', 'n', 'l', 'y' };
-static const symbol s_10_12[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
-static const symbol s_10_13[5] = { 's', 'k', 'i', 'e', 's' };
-static const symbol s_10_14[4] = { 's', 'k', 'i', 's' };
-static const symbol s_10_15[3] = { 's', 'k', 'y' };
-static const symbol s_10_16[5] = { 't', 'y', 'i', 'n', 'g' };
-static const symbol s_10_17[4] = { 'u', 'g', 'l', 'y' };
+static const symbol s_10_0[1] = { 'e' };
+static const symbol s_10_1[1] = { 'l' };
+static const struct among a_10[2] = {
+{ 1, s_10_0, 0, 1, 0},
+{ 1, s_10_1, 0, 2, 0}
+};
 
-static const struct among a_10[18] =
-{
-{ 5, s_10_0, -1, -1, 0},
-{ 5, s_10_1, -1, -1, 0},
-{ 4, s_10_2, -1, -1, 0},
-{ 6, s_10_3, -1, -1, 0},
-{ 5, s_10_4, -1, 3, 0},
-{ 5, s_10_5, -1, 9, 0},
-{ 6, s_10_6, -1, 7, 0},
-{ 4, s_10_7, -1, -1, 0},
-{ 4, s_10_8, -1, 6, 0},
-{ 5, s_10_9, -1, 4, 0},
-{ 4, s_10_10, -1, -1, 0},
-{ 4, s_10_11, -1, 10, 0},
-{ 6, s_10_12, -1, 11, 0},
-{ 5, s_10_13, -1, 2, 0},
-{ 4, s_10_14, -1, 1, 0},
-{ 3, s_10_15, -1, -1, 0},
-{ 5, s_10_16, -1, 5, 0},
-{ 4, s_10_17, -1, 8, 0}
+static const symbol s_11_0[5] = { 'a', 'n', 'd', 'e', 's' };
+static const symbol s_11_1[5] = { 'a', 't', 'l', 'a', 's' };
+static const symbol s_11_2[4] = { 'b', 'i', 'a', 's' };
+static const symbol s_11_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
+static const symbol s_11_4[5] = { 'e', 'a', 'r', 'l', 'y' };
+static const symbol s_11_5[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
+static const symbol s_11_6[4] = { 'h', 'o', 'w', 'e' };
+static const symbol s_11_7[4] = { 'i', 'd', 'l', 'y' };
+static const symbol s_11_8[4] = { 'n', 'e', 'w', 's' };
+static const symbol s_11_9[4] = { 'o', 'n', 'l', 'y' };
+static const symbol s_11_10[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
+static const symbol s_11_11[5] = { 's', 'k', 'i', 'e', 's' };
+static const symbol s_11_12[4] = { 's', 'k', 'i', 's' };
+static const symbol s_11_13[3] = { 's', 'k', 'y' };
+static const symbol s_11_14[4] = { 'u', 'g', 'l', 'y' };
+static const struct among a_11[15] = {
+{ 5, s_11_0, 0, -1, 0},
+{ 5, s_11_1, 0, -1, 0},
+{ 4, s_11_2, 0, -1, 0},
+{ 6, s_11_3, 0, -1, 0},
+{ 5, s_11_4, 0, 6, 0},
+{ 6, s_11_5, 0, 4, 0},
+{ 4, s_11_6, 0, -1, 0},
+{ 4, s_11_7, 0, 3, 0},
+{ 4, s_11_8, 0, -1, 0},
+{ 4, s_11_9, 0, 7, 0},
+{ 6, s_11_10, 0, 8, 0},
+{ 5, s_11_11, 0, 2, 0},
+{ 4, s_11_12, 0, 1, 0},
+{ 3, s_11_13, 0, -1, 0},
+{ 4, s_11_14, 0, 5, 0}
 };
 
 static const unsigned char g_aeo[] = { 17, 64 };
@@ -318,178 +354,147 @@ static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
 
 static const unsigned char g_valid_LI[] = { 55, 141, 2 };
 
-static const symbol s_0[] = { 'Y' };
-static const symbol s_1[] = { 'Y' };
-static const symbol s_2[] = { 's', 's' };
-static const symbol s_3[] = { 'i' };
-static const symbol s_4[] = { 'i', 'e' };
-static const symbol s_5[] = { 'e', 'e' };
-static const symbol s_6[] = { 'e' };
-static const symbol s_7[] = { 'e' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 't', 'i', 'o', 'n' };
-static const symbol s_10[] = { 'e', 'n', 'c', 'e' };
-static const symbol s_11[] = { 'a', 'n', 'c', 'e' };
-static const symbol s_12[] = { 'a', 'b', 'l', 'e' };
-static const symbol s_13[] = { 'e', 'n', 't' };
-static const symbol s_14[] = { 'i', 'z', 'e' };
-static const symbol s_15[] = { 'a', 't', 'e' };
-static const symbol s_16[] = { 'a', 'l' };
-static const symbol s_17[] = { 'f', 'u', 'l' };
-static const symbol s_18[] = { 'o', 'u', 's' };
-static const symbol s_19[] = { 'i', 'v', 'e' };
-static const symbol s_20[] = { 'b', 'l', 'e' };
-static const symbol s_21[] = { 'o', 'g' };
-static const symbol s_22[] = { 'l', 'e', 's', 's' };
-static const symbol s_23[] = { 't', 'i', 'o', 'n' };
-static const symbol s_24[] = { 'a', 't', 'e' };
-static const symbol s_25[] = { 'a', 'l' };
-static const symbol s_26[] = { 'i', 'c' };
-static const symbol s_27[] = { 's', 'k', 'i' };
-static const symbol s_28[] = { 's', 'k', 'y' };
-static const symbol s_29[] = { 'd', 'i', 'e' };
-static const symbol s_30[] = { 'l', 'i', 'e' };
-static const symbol s_31[] = { 't', 'i', 'e' };
-static const symbol s_32[] = { 'i', 'd', 'l' };
-static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
-static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
-static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
-static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
-static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
-static const symbol s_38[] = { 'y' };
-
 static int r_prelude(struct SN_env * z) {
-    z->I[2] = 0;
-    {   int c1 = z->c;
+    ((SN_local *)z)->b_Y_found = 0;
+    {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != '\'') goto lab0;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
+    {
+        int v_2 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_0);
+        {
+            int ret = slice_from_s(z, 1, s_0);
             if (ret < 0) return ret;
         }
-        z->I[2] = 1;
+        ((SN_local *)z)->b_Y_found = 1;
     lab1:
-        z->c = c2;
+        z->c = v_2;
     }
-    {   int c3 = z->c;
-        while(1) {
-            int c4 = z->c;
-            while(1) {
-                int c5 = z->c;
+    {
+        int v_3 = z->c;
+        while (1) {
+            int v_4 = z->c;
+            while (1) {
+                int v_5 = z->c;
                 if (in_grouping(z, g_v, 97, 121, 0)) goto lab4;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'y') goto lab4;
                 z->c++;
                 z->ket = z->c;
-                z->c = c5;
+                z->c = v_5;
                 break;
             lab4:
-                z->c = c5;
+                z->c = v_5;
                 if (z->c >= z->l) goto lab3;
                 z->c++;
             }
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
-            z->I[2] = 1;
+            ((SN_local *)z)->b_Y_found = 1;
             continue;
         lab3:
-            z->c = c4;
+            z->c = v_4;
             break;
         }
-        z->c = c3;
+        z->c = v_3;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2;
-            if (!find_among(z, a_0, 3)) goto lab2;
-            goto lab1;
-        lab2:
-            z->c = c2;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 3 || !((5513250 >> (z->p[z->c + 3] & 0x1f)) & 1)) goto lab1;
+            if (!find_among(z, a_0, 9, 0)) goto lab1;
+            break;
+        lab1:
+            z->c = v_2;
             {
                 int ret = out_grouping(z, g_v, 97, 121, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-
             {
                 int ret = in_grouping(z, g_v, 97, 121, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-        }
-    lab1:
-        z->I[1] = z->c;
-
+        } while (0);
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_shortv(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) goto lab1;
-        if (in_grouping_b(z, g_v, 97, 121, 0)) goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) goto lab0;
+        if (in_grouping_b(z, g_v, 97, 121, 0)) goto lab0;
+        if (out_grouping_b(z, g_v, 97, 121, 0)) goto lab0;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (out_grouping_b(z, g_v, 97, 121, 0)) goto lab1;
-        goto lab0;
+        if (in_grouping_b(z, g_v, 97, 121, 0)) goto lab1;
+        if (z->c > z->lb) goto lab1;
+        break;
     lab1:
-        z->c = z->l - m1;
-        if (out_grouping_b(z, g_v, 97, 121, 0)) return 0;
-        if (in_grouping_b(z, g_v, 97, 121, 0)) return 0;
-        if (z->c > z->lb) return 0;
-    }
-lab0:
+        z->c = z->l - v_1;
+        if (!(eq_s_b(z, 4, s_2))) return 0;
+    } while (0);
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_Step_1a(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m1; goto lab0; }
-        if (!find_among_b(z, a_1, 3)) { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - v_1; goto lab0; }
+        if (!find_among_b(z, a_1, 3, 0)) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
@@ -497,41 +502,44 @@ static int r_Step_1a(struct SN_env * z) {
     }
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0;
-    among_var = find_among_b(z, a_2, 6);
+    among_var = find_among_b(z, a_2, 6, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_2);
+            {
+                int ret = slice_from_s(z, 2, s_3);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m2 = z->l - z->c; (void)m2;
-z->c = z->c - 2;
-                if (z->c < z->lb) goto lab2;
-                {   int ret = slice_from_s(z, 1, s_3);
+            do {
+                int v_2 = z->l - z->c;
+                if (z->c - 2 < z->lb) goto lab1;
+                z->c -= 2;
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
-                goto lab1;
-            lab2:
-                z->c = z->l - m2;
-                {   int ret = slice_from_s(z, 2, s_4);
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
-            }
-        lab1:
+            } while (0);
             break;
         case 3:
             if (z->c <= z->lb) return 0;
             z->c--;
-
             {
                 int ret = out_grouping_b(z, g_v, 97, 121, 1);
                 if (ret < 0) return 0;
                 z->c -= ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -542,100 +550,154 @@ z->c = z->c - 2;
 static int r_Step_1b(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_4, 6);
-    if (!among_var) return 0;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = -1; else
+    among_var = find_among_b(z, a_5, 7, 0);
     z->bra = z->c;
-    switch (among_var) {
-        case 1:
-            {   int ret = r_R1(z);
-                if (ret <= 0) return ret;
-            }
-            {   int ret = slice_from_s(z, 2, s_5);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 2:
-            {   int m_test1 = z->l - z->c;
-
+    do {
+        int v_1 = z->l - z->c;
+        switch (among_var) {
+            case 1:
                 {
-                    int ret = out_grouping_b(z, g_v, 97, 121, 1);
-                    if (ret < 0) return 0;
-                    z->c -= ret;
+                    int v_2 = z->l - z->c;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    do {
+                        int v_3 = z->l - z->c;
+                        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 99) goto lab2;
+                        if (!find_among_b(z, a_3, 3, 0)) goto lab2;
+                        if (z->c > z->lb) goto lab2;
+                        break;
+                    lab2:
+                        z->c = z->l - v_3;
+                        {
+                            int ret = slice_from_s(z, 2, s_6);
+                            if (ret < 0) return ret;
+                        }
+                    } while (0);
+                lab1:
+                    z->c = z->l - v_2;
                 }
-                z->c = z->l - m_test1;
-            }
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->ket = z->c;
-            z->bra = z->c;
-            {   int m_test2 = z->l - z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
-                among_var = find_among_b(z, a_3, 13);
+                break;
+            case 2:
+                goto lab0;
+                break;
+            case 3:
+                if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((34881536 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+                among_var = find_among_b(z, a_4, 7, 0);
+                if (!among_var) goto lab0;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 1, s_6);
-                            if (ret < 0) return ret;
-                        }
-                        return 0;
-                        break;
-                    case 2:
-                        {   int m3 = z->l - z->c; (void)m3;
-                            if (in_grouping_b(z, g_aeo, 97, 111, 0)) goto lab0;
+                        {
+                            int v_4 = z->l - z->c;
+                            if (out_grouping_b(z, g_v, 97, 121, 0)) goto lab0;
                             if (z->c > z->lb) goto lab0;
-                            return 0;
-                        lab0:
-                            z->c = z->l - m3;
-                        }
-                        break;
-                    case 3:
-                        if (z->c != z->I[1]) return 0;
-                        {   int m_test4 = z->l - z->c;
-                            {   int ret = r_shortv(z);
-                                if (ret <= 0) return ret;
-                            }
-                            z->c = z->l - m_test4;
+                            z->c = z->l - v_4;
                         }
-                        {   int ret = slice_from_s(z, 1, s_7);
+                        z->bra = z->c;
+                        {
+                            int ret = slice_from_s(z, 2, s_7);
                             if (ret < 0) return ret;
                         }
-                        return 0;
+                        break;
+                    case 2:
+                        if (z->c > z->lb) goto lab0;
                         break;
                 }
-                z->c = z->l - m_test2;
-            }
-            z->ket = z->c;
-            if (z->c <= z->lb) return 0;
-            z->c--;
-            z->bra = z->c;
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
+                break;
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_5 = z->l - z->c;
+            {
+                int ret = out_grouping_b(z, g_v, 97, 121, 1);
+                if (ret < 0) return 0;
+                z->c -= ret;
             }
-            break;
-    }
+            z->c = z->l - v_5;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+        z->ket = z->c;
+        z->bra = z->c;
+        {
+            int v_6 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
+            among_var = find_among_b(z, a_6, 13, 0);
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_from_s(z, 1, s_8);
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                    break;
+                case 2:
+                    {
+                        int v_7 = z->l - z->c;
+                        if (in_grouping_b(z, g_aeo, 97, 111, 0)) goto lab3;
+                        if (z->c > z->lb) goto lab3;
+                        return 0;
+                    lab3:
+                        z->c = z->l - v_7;
+                    }
+                    break;
+                case 3:
+                    if (z->c != ((SN_local *)z)->i_p1) return 0;
+                    {
+                        int v_8 = z->l - z->c;
+                        {
+                            int ret = r_shortv(z);
+                            if (ret <= 0) return ret;
+                        }
+                        z->c = z->l - v_8;
+                    }
+                    {
+                        int ret = slice_from_s(z, 1, s_9);
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                    break;
+            }
+            z->c = z->l - v_6;
+        }
+        z->ket = z->c;
+        if (z->c <= z->lb) return 0;
+        z->c--;
+        z->bra = z->c;
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    } while (0);
     return 1;
 }
 
 static int r_Step_1c(struct SN_env * z) {
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
         z->c--;
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
         z->c--;
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
     if (out_grouping_b(z, g_v, 97, 121, 0)) return 0;
-
-    if (z->c > z->lb) goto lab2;
+    if (z->c > z->lb) goto lab1;
     return 0;
-lab2:
-    {   int ret = slice_from_s(z, 1, s_8);
+lab1:
+    {
+        int ret = slice_from_s(z, 1, s_10);
         if (ret < 0) return ret;
     }
     return 1;
@@ -644,89 +706,111 @@ lab2:
 static int r_Step_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 24);
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864192 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_7, 25, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_9);
+            {
+                int ret = slice_from_s(z, 4, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_10);
+            {
+                int ret = slice_from_s(z, 4, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_11);
+            {
+                int ret = slice_from_s(z, 4, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_12);
+            {
+                int ret = slice_from_s(z, 4, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_13);
+            {
+                int ret = slice_from_s(z, 3, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 3, s_14);
+            {
+                int ret = slice_from_s(z, 3, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 3, s_15);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 2, s_16);
+            {
+                int ret = slice_from_s(z, 2, s_18);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 3, s_18);
+            {
+                int ret = slice_from_s(z, 3, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 3, s_19);
+            {
+                int ret = slice_from_s(z, 3, s_21);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 3, s_20);
+            {
+                int ret = slice_from_s(z, 3, s_22);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
-            z->c--;
-            {   int ret = slice_from_s(z, 2, s_21);
+            {
+                int ret = slice_from_s(z, 2, s_23);
                 if (ret < 0) return ret;
             }
             break;
         case 14:
-            {   int ret = slice_from_s(z, 4, s_22);
+            if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
+            z->c--;
+            {
+                int ret = slice_from_s(z, 2, s_24);
                 if (ret < 0) return ret;
             }
             break;
         case 15:
+            {
+                int ret = slice_from_s(z, 4, s_25);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 16:
             if (in_grouping_b(z, g_valid_LI, 99, 116, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -738,43 +822,51 @@ static int r_Step_3(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_6, 9);
+    among_var = find_among_b(z, a_8, 9, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_23);
+            {
+                int ret = slice_from_s(z, 4, s_26);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_24);
+            {
+                int ret = slice_from_s(z, 3, s_27);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 2, s_25);
+            {
+                int ret = slice_from_s(z, 2, s_28);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 2, s_26);
+            {
+                int ret = slice_from_s(z, 2, s_29);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -786,30 +878,33 @@ static int r_Step_4(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_7, 18);
+    among_var = find_among_b(z, a_9, 18, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -821,42 +916,49 @@ static int r_Step_5(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0;
-    among_var = find_among_b(z, a_8, 2);
+    among_var = find_among_b(z, a_10, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-
-            {   int ret = r_R2(z);
-                if (ret == 0) goto lab1;
-                if (ret < 0) return ret;
-            }
-            goto lab0;
-        lab1:
-            {   int ret = r_R1(z);
-                if (ret <= 0) return ret;
-            }
-            {   int m1 = z->l - z->c; (void)m1;
-                {   int ret = r_shortv(z);
-                    if (ret == 0) goto lab2;
+            do {
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                return 0;
-            lab2:
-                z->c = z->l - m1;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+                break;
+            lab0:
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int v_1 = z->l - z->c;
+                    {
+                        int ret = r_shortv(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                lab1:
+                    z->c = z->l - v_1;
+                }
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
             if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -864,76 +966,60 @@ static int r_Step_5(struct SN_env * z) {
     return 1;
 }
 
-static int r_exception2(struct SN_env * z) {
-    z->ket = z->c;
-    if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
-    if (!find_among_b(z, a_9, 8)) return 0;
-    z->bra = z->c;
-    if (z->c > z->lb) return 0;
-    return 1;
-}
-
 static int r_exception1(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
-    among_var = find_among(z, a_10, 18);
+    among_var = find_among(z, a_11, 15, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     if (z->c < z->l) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_27);
+            {
+                int ret = slice_from_s(z, 3, s_30);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_28);
+            {
+                int ret = slice_from_s(z, 3, s_31);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_29);
+            {
+                int ret = slice_from_s(z, 3, s_32);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 3, s_30);
+            {
+                int ret = slice_from_s(z, 5, s_33);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_31);
+            {
+                int ret = slice_from_s(z, 4, s_34);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 3, s_32);
+            {
+                int ret = slice_from_s(z, 5, s_35);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 5, s_33);
+            {
+                int ret = slice_from_s(z, 4, s_36);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 4, s_34);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 9:
-            {   int ret = slice_from_s(z, 5, s_35);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 10:
-            {   int ret = slice_from_s(z, 4, s_36);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 11:
-            {   int ret = slice_from_s(z, 5, s_37);
+            {
+                int ret = slice_from_s(z, 5, s_37);
                 if (ret < 0) return ret;
             }
             break;
@@ -942,127 +1028,145 @@ static int r_exception1(struct SN_env * z) {
 }
 
 static int r_postlude(struct SN_env * z) {
-    if (!(z->I[2])) return 0;
-    while(1) {
-        int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
+    if (!((SN_local *)z)->b_Y_found) return 0;
+    while (1) {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             z->bra = z->c;
             if (z->c == z->l || z->p[z->c] != 'Y') goto lab1;
             z->c++;
             z->ket = z->c;
-            z->c = c2;
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             if (z->c >= z->l) goto lab0;
             z->c++;
         }
-        {   int ret = slice_from_s(z, 1, s_38);
+        {
+            int ret = slice_from_s(z, 1, s_38);
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 extern int english_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_exception1(z);
-            if (ret == 0) goto lab1;
+    do {
+        int v_1 = z->c;
+        {
+            int ret = r_exception1(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = c1;
-        {   int c2 = z->c;
-z->c = z->c + 3;
-            if (z->c > z->l) goto lab3;
-            goto lab2;
-        lab3:
-            z->c = c2;
+        break;
+    lab0:
+        z->c = v_1;
+        {
+            int v_2 = z->c;
+            if (z->c + 3 > z->l) goto lab2;
+            z->c += 3;
+            goto lab1;
+        lab2:
+            z->c = v_2;
         }
-        goto lab0;
-    lab2:
-        z->c = c1;
-
-        {   int ret = r_prelude(z);
+        break;
+    lab1:
+        z->c = v_1;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-
-        {   int ret = r_mark_regions(z);
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
         z->lb = z->c; z->c = z->l;
-
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_Step_1a(z);
+        {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_Step_1a(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m3;
+            z->c = z->l - v_3;
         }
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int ret = r_exception2(z);
-                if (ret == 0) goto lab5;
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = r_Step_1b(z);
                 if (ret < 0) return ret;
             }
-            goto lab4;
-        lab5:
-            z->c = z->l - m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int ret = r_Step_1b(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m5;
-            }
-            {   int m6 = z->l - z->c; (void)m6;
-                {   int ret = r_Step_1c(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m6;
+            z->c = z->l - v_4;
+        }
+        {
+            int v_5 = z->l - z->c;
+            {
+                int ret = r_Step_1c(z);
+                if (ret < 0) return ret;
             }
-            {   int m7 = z->l - z->c; (void)m7;
-                {   int ret = r_Step_2(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m7;
+            z->c = z->l - v_5;
+        }
+        {
+            int v_6 = z->l - z->c;
+            {
+                int ret = r_Step_2(z);
+                if (ret < 0) return ret;
             }
-            {   int m8 = z->l - z->c; (void)m8;
-                {   int ret = r_Step_3(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m8;
+            z->c = z->l - v_6;
+        }
+        {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_Step_3(z);
+                if (ret < 0) return ret;
             }
-            {   int m9 = z->l - z->c; (void)m9;
-                {   int ret = r_Step_4(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m9;
+            z->c = z->l - v_7;
+        }
+        {
+            int v_8 = z->l - z->c;
+            {
+                int ret = r_Step_4(z);
+                if (ret < 0) return ret;
             }
-            {   int m10 = z->l - z->c; (void)m10;
-                {   int ret = r_Step_5(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m10;
+            z->c = z->l - v_8;
+        }
+        {
+            int v_9 = z->l - z->c;
+            {
+                int ret = r_Step_5(z);
+                if (ret < 0) return ret;
             }
+            z->c = z->l - v_9;
         }
-    lab4:
         z->c = z->lb;
-        {   int c11 = z->c;
-            {   int ret = r_postlude(z);
+        {
+            int v_10 = z->c;
+            {
+                int ret = r_postlude(z);
                 if (ret < 0) return ret;
             }
-            z->c = c11;
+            z->c = v_10;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
-extern struct SN_env * english_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * english_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_Y_found = 0;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void english_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void english_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 978ecb02278900c7426f3ba9439280eab2b8151c..c4318056c5d87166770273bed79c8431a0837eb2 100644 (file)
@@ -1,6 +1,20 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from finnish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_finnish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_ending_removed;
+    symbol * s_x;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +23,7 @@ extern int finnish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_tidy(struct SN_env * z);
 static int r_other_endings(struct SN_env * z);
 static int r_t_plural(struct SN_env * z);
@@ -20,18 +35,13 @@ static int r_possessive(struct SN_env * z);
 static int r_particle_etc(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * finnish_ISO_8859_1_create_env(void);
-extern void finnish_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'k', 's', 'e' };
+static const symbol s_1[] = { 'k', 's', 'i' };
+static const symbol s_2[] = { 'i', 'e' };
+static const symbol s_3[] = { 'p', 'o' };
+static const symbol s_4[] = { 'p', 'o' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 'p', 'a' };
 static const symbol s_0_1[3] = { 's', 't', 'i' };
 static const symbol s_0_2[4] = { 'k', 'a', 'a', 'n' };
@@ -42,19 +52,17 @@ static const symbol s_0_6[4] = { 'k', 0xE4, 0xE4, 'n' };
 static const symbol s_0_7[2] = { 'k', 'o' };
 static const symbol s_0_8[2] = { 'p', 0xE4 };
 static const symbol s_0_9[2] = { 'k', 0xF6 };
-
-static const struct among a_0[10] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 3, s_0_1, -1, 2, 0},
-{ 4, s_0_2, -1, 1, 0},
-{ 3, s_0_3, -1, 1, 0},
-{ 3, s_0_4, -1, 1, 0},
-{ 3, s_0_5, -1, 1, 0},
-{ 4, s_0_6, -1, 1, 0},
-{ 2, s_0_7, -1, 1, 0},
-{ 2, s_0_8, -1, 1, 0},
-{ 2, s_0_9, -1, 1, 0}
+static const struct among a_0[10] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 2, 0},
+{ 4, s_0_2, 0, 1, 0},
+{ 3, s_0_3, 0, 1, 0},
+{ 3, s_0_4, 0, 1, 0},
+{ 3, s_0_5, 0, 1, 0},
+{ 4, s_0_6, 0, 1, 0},
+{ 2, s_0_7, 0, 1, 0},
+{ 2, s_0_8, 0, 1, 0},
+{ 2, s_0_9, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'l', 'l', 'a' };
@@ -63,15 +71,13 @@ static const symbol s_1_2[3] = { 's', 's', 'a' };
 static const symbol s_1_3[2] = { 't', 'a' };
 static const symbol s_1_4[3] = { 'l', 't', 'a' };
 static const symbol s_1_5[3] = { 's', 't', 'a' };
-
-static const struct among a_1[6] =
-{
-{ 3, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 3, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 3, s_1_4, 3, -1, 0},
-{ 3, s_1_5, 3, -1, 0}
+static const struct among a_1[6] = {
+{ 3, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 3, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 3, s_1_4, -1, -1, 0},
+{ 3, s_1_5, -2, -1, 0}
 };
 
 static const symbol s_2_0[3] = { 'l', 'l', 0xE4 };
@@ -80,24 +86,20 @@ static const symbol s_2_2[3] = { 's', 's', 0xE4 };
 static const symbol s_2_3[2] = { 't', 0xE4 };
 static const symbol s_2_4[3] = { 'l', 't', 0xE4 };
 static const symbol s_2_5[3] = { 's', 't', 0xE4 };
-
-static const struct among a_2[6] =
-{
-{ 3, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 3, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, -1, 0},
-{ 3, s_2_4, 3, -1, 0},
-{ 3, s_2_5, 3, -1, 0}
+static const struct among a_2[6] = {
+{ 3, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 3, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, -1, 0},
+{ 3, s_2_4, -1, -1, 0},
+{ 3, s_2_5, -2, -1, 0}
 };
 
 static const symbol s_3_0[3] = { 'l', 'l', 'e' };
 static const symbol s_3_1[3] = { 'i', 'n', 'e' };
-
-static const struct among a_3[2] =
-{
-{ 3, s_3_0, -1, -1, 0},
-{ 3, s_3_1, -1, -1, 0}
+static const struct among a_3[2] = {
+{ 3, s_3_0, 0, -1, 0},
+{ 3, s_3_1, 0, -1, 0}
 };
 
 static const symbol s_4_0[3] = { 'n', 's', 'a' };
@@ -109,18 +111,16 @@ static const symbol s_4_5[2] = { 'a', 'n' };
 static const symbol s_4_6[2] = { 'e', 'n' };
 static const symbol s_4_7[2] = { 0xE4, 'n' };
 static const symbol s_4_8[3] = { 'n', 's', 0xE4 };
-
-static const struct among a_4[9] =
-{
-{ 3, s_4_0, -1, 3, 0},
-{ 3, s_4_1, -1, 3, 0},
-{ 3, s_4_2, -1, 3, 0},
-{ 2, s_4_3, -1, 2, 0},
-{ 2, s_4_4, -1, 1, 0},
-{ 2, s_4_5, -1, 4, 0},
-{ 2, s_4_6, -1, 6, 0},
-{ 2, s_4_7, -1, 5, 0},
-{ 3, s_4_8, -1, 3, 0}
+static const struct among a_4[9] = {
+{ 3, s_4_0, 0, 3, 0},
+{ 3, s_4_1, 0, 3, 0},
+{ 3, s_4_2, 0, 3, 0},
+{ 2, s_4_3, 0, 2, 0},
+{ 2, s_4_4, 0, 1, 0},
+{ 2, s_4_5, 0, 4, 0},
+{ 2, s_4_6, 0, 6, 0},
+{ 2, s_4_7, 0, 5, 0},
+{ 3, s_4_8, 0, 3, 0}
 };
 
 static const symbol s_5_0[2] = { 'a', 'a' };
@@ -130,16 +130,14 @@ static const symbol s_5_3[2] = { 'o', 'o' };
 static const symbol s_5_4[2] = { 'u', 'u' };
 static const symbol s_5_5[2] = { 0xE4, 0xE4 };
 static const symbol s_5_6[2] = { 0xF6, 0xF6 };
-
-static const struct among a_5[7] =
-{
-{ 2, s_5_0, -1, -1, 0},
-{ 2, s_5_1, -1, -1, 0},
-{ 2, s_5_2, -1, -1, 0},
-{ 2, s_5_3, -1, -1, 0},
-{ 2, s_5_4, -1, -1, 0},
-{ 2, s_5_5, -1, -1, 0},
-{ 2, s_5_6, -1, -1, 0}
+static const struct among a_5[7] = {
+{ 2, s_5_0, 0, -1, 0},
+{ 2, s_5_1, 0, -1, 0},
+{ 2, s_5_2, 0, -1, 0},
+{ 2, s_5_3, 0, -1, 0},
+{ 2, s_5_4, 0, -1, 0},
+{ 2, s_5_5, 0, -1, 0},
+{ 2, s_5_6, 0, -1, 0}
 };
 
 static const symbol s_6_0[1] = { 'a' };
@@ -172,41 +170,47 @@ static const symbol s_6_26[2] = { 't', 0xE4 };
 static const symbol s_6_27[3] = { 'l', 't', 0xE4 };
 static const symbol s_6_28[3] = { 's', 't', 0xE4 };
 static const symbol s_6_29[3] = { 't', 't', 0xE4 };
-
-static const struct among a_6[30] =
-{
-{ 1, s_6_0, -1, 8, 0},
-{ 3, s_6_1, 0, -1, 0},
-{ 2, s_6_2, 0, -1, 0},
-{ 3, s_6_3, 0, -1, 0},
-{ 2, s_6_4, 0, -1, 0},
-{ 3, s_6_5, 4, -1, 0},
-{ 3, s_6_6, 4, -1, 0},
-{ 3, s_6_7, 4, 2, 0},
-{ 3, s_6_8, -1, -1, 0},
-{ 3, s_6_9, -1, -1, 0},
-{ 3, s_6_10, -1, -1, 0},
-{ 1, s_6_11, -1, 7, 0},
-{ 3, s_6_12, 11, 1, 0},
-{ 3, s_6_13, 11, -1, r_VI},
-{ 4, s_6_14, 11, -1, r_LONG},
-{ 3, s_6_15, 11, 2, 0},
-{ 4, s_6_16, 11, -1, r_VI},
-{ 3, s_6_17, 11, 3, 0},
-{ 4, s_6_18, 11, -1, r_VI},
-{ 3, s_6_19, 11, 4, 0},
-{ 3, s_6_20, 11, 5, 0},
-{ 3, s_6_21, 11, 6, 0},
-{ 1, s_6_22, -1, 8, 0},
-{ 3, s_6_23, 22, -1, 0},
-{ 2, s_6_24, 22, -1, 0},
-{ 3, s_6_25, 22, -1, 0},
-{ 2, s_6_26, 22, -1, 0},
-{ 3, s_6_27, 26, -1, 0},
-{ 3, s_6_28, 26, -1, 0},
-{ 3, s_6_29, 26, 2, 0}
+static const struct among a_6[30] = {
+{ 1, s_6_0, 0, 8, 0},
+{ 3, s_6_1, -1, -1, 0},
+{ 2, s_6_2, -2, -1, 0},
+{ 3, s_6_3, -3, -1, 0},
+{ 2, s_6_4, -4, -1, 0},
+{ 3, s_6_5, -1, -1, 0},
+{ 3, s_6_6, -2, -1, 0},
+{ 3, s_6_7, -3, 2, 0},
+{ 3, s_6_8, 0, -1, 0},
+{ 3, s_6_9, 0, -1, 0},
+{ 3, s_6_10, 0, -1, 0},
+{ 1, s_6_11, 0, 7, 0},
+{ 3, s_6_12, -1, 1, 0},
+{ 3, s_6_13, -2, -1, 1},
+{ 4, s_6_14, -3, -1, 2},
+{ 3, s_6_15, -4, 2, 0},
+{ 4, s_6_16, -5, -1, 1},
+{ 3, s_6_17, -6, 3, 0},
+{ 4, s_6_18, -7, -1, 1},
+{ 3, s_6_19, -8, 4, 0},
+{ 3, s_6_20, -9, 5, 0},
+{ 3, s_6_21, -10, 6, 0},
+{ 1, s_6_22, 0, 8, 0},
+{ 3, s_6_23, -1, -1, 0},
+{ 2, s_6_24, -2, -1, 0},
+{ 3, s_6_25, -3, -1, 0},
+{ 2, s_6_26, -4, -1, 0},
+{ 3, s_6_27, -1, -1, 0},
+{ 3, s_6_28, -2, -1, 0},
+{ 3, s_6_29, -3, 2, 0}
 };
 
+static int af_6(struct SN_env * z) {
+    switch (z->af) {
+        case 1: return r_VI(z);
+        case 2: return r_LONG(z);
+    }
+    return -1;
+}
+
 static const symbol s_7_0[3] = { 'e', 'j', 'a' };
 static const symbol s_7_1[3] = { 'm', 'm', 'a' };
 static const symbol s_7_2[4] = { 'i', 'm', 'm', 'a' };
@@ -221,41 +225,28 @@ static const symbol s_7_10[3] = { 'm', 'm', 0xE4 };
 static const symbol s_7_11[4] = { 'i', 'm', 'm', 0xE4 };
 static const symbol s_7_12[3] = { 'm', 'p', 0xE4 };
 static const symbol s_7_13[4] = { 'i', 'm', 'p', 0xE4 };
-
-static const struct among a_7[14] =
-{
-{ 3, s_7_0, -1, -1, 0},
-{ 3, s_7_1, -1, 1, 0},
-{ 4, s_7_2, 1, -1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 4, s_7_4, 3, -1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 4, s_7_6, 5, -1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 4, s_7_8, 7, -1, 0},
-{ 3, s_7_9, -1, -1, 0},
-{ 3, s_7_10, -1, 1, 0},
-{ 4, s_7_11, 10, -1, 0},
-{ 3, s_7_12, -1, 1, 0},
-{ 4, s_7_13, 12, -1, 0}
-};
-
-static const symbol s_8_0[1] = { 'i' };
-static const symbol s_8_1[1] = { 'j' };
-
-static const struct among a_8[2] =
-{
-{ 1, s_8_0, -1, -1, 0},
-{ 1, s_8_1, -1, -1, 0}
+static const struct among a_7[14] = {
+{ 3, s_7_0, 0, -1, 0},
+{ 3, s_7_1, 0, 1, 0},
+{ 4, s_7_2, -1, -1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 4, s_7_4, -1, -1, 0},
+{ 3, s_7_5, 0, 1, 0},
+{ 4, s_7_6, -1, -1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 4, s_7_8, -1, -1, 0},
+{ 3, s_7_9, 0, -1, 0},
+{ 3, s_7_10, 0, 1, 0},
+{ 4, s_7_11, -1, -1, 0},
+{ 3, s_7_12, 0, 1, 0},
+{ 4, s_7_13, -1, -1, 0}
 };
 
 static const symbol s_9_0[3] = { 'm', 'm', 'a' };
 static const symbol s_9_1[4] = { 'i', 'm', 'm', 'a' };
-
-static const struct among a_9[2] =
-{
-{ 3, s_9_0, -1, 1, 0},
-{ 4, s_9_1, 0, -1, 0}
+static const struct among a_9[2] = {
+{ 3, s_9_0, 0, 1, 0},
+{ 4, s_9_1, -1, -1, 0}
 };
 
 static const unsigned char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 };
@@ -268,63 +259,63 @@ static const unsigned char g_V2[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
 static const unsigned char g_particle_end[] = { 17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
 
-static const symbol s_0[] = { 'k', 's', 'e' };
-static const symbol s_1[] = { 'k', 's', 'i' };
-static const symbol s_2[] = { 'i', 'e' };
-static const symbol s_3[] = { 'p', 'o' };
-static const symbol s_4[] = { 'p', 'o' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-
-    if (out_grouping(z, g_V1, 97, 246, 1) < 0) return 0;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int ret = out_grouping(z, g_V1, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
     {
         int ret = in_grouping(z, g_V1, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (out_grouping(z, g_V1, 97, 246, 1) < 0) return 0;
-
+    ((SN_local *)z)->i_p1 = z->c;
+    {
+        int ret = out_grouping(z, g_V1, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
     {
         int ret = in_grouping(z, g_V1, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[0] = z->c;
+    ((SN_local *)z)->i_p2 = z->c;
     return 1;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_particle_etc(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_0, 10);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_0, 10, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
             if (in_grouping_b(z, g_particle_end, 97, 246, 0)) return 0;
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -332,63 +323,71 @@ static int r_particle_etc(struct SN_env * z) {
 
 static int r_possessive(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_4, 9);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_4, 9, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0;
                 z->c--;
                 return 0;
             lab0:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
             if (!(eq_s_b(z, 3, s_0))) return 0;
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 3, s_1);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0;
-            if (!find_among_b(z, a_1, 6)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_1, 6, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
             if (z->c - 1 <= z->lb || z->p[z->c - 1] != 228) return 0;
-            if (!find_among_b(z, a_2, 6)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_2, 6, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
             if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0;
-            if (!find_among_b(z, a_3, 2)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_3, 2, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -397,28 +396,26 @@ static int r_possessive(struct SN_env * z) {
 }
 
 static int r_LONG(struct SN_env * z) {
-    if (!find_among_b(z, a_5, 7)) return 0;
-    return 1;
+    return find_among_b(z, a_5, 7, 0) != 0;
 }
 
 static int r_VI(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
     z->c--;
-    if (in_grouping_b(z, g_V2, 97, 246, 0)) return 0;
-    return 1;
+    return !in_grouping_b(z, g_V2, 97, 246, 0);
 }
 
 static int r_case_ending(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_6, 30);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_6, 30, af_6);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
@@ -446,21 +443,24 @@ static int r_case_ending(struct SN_env * z) {
             z->c--;
             break;
         case 7:
-            {   int m2 = z->l - z->c; (void)m2;
-                {   int m3 = z->l - z->c; (void)m3;
-                    {   int m4 = z->l - z->c; (void)m4;
-                        {   int ret = r_LONG(z);
-                            if (ret == 0) goto lab2;
+            {
+                int v_2 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
+                    do {
+                        int v_4 = z->l - z->c;
+                        {
+                            int ret = r_LONG(z);
+                            if (ret == 0) goto lab1;
                             if (ret < 0) return ret;
                         }
-                        goto lab1;
-                    lab2:
-                        z->c = z->l - m4;
-                        if (!(eq_s_b(z, 2, s_2))) { z->c = z->l - m2; goto lab0; }
-                    }
-                lab1:
-                    z->c = z->l - m3;
-                    if (z->c <= z->lb) { z->c = z->l - m2; goto lab0; }
+                        break;
+                    lab1:
+                        z->c = z->l - v_4;
+                        if (!(eq_s_b(z, 2, s_2))) { z->c = z->l - v_2; goto lab0; }
+                    } while (0);
+                    z->c = z->l - v_3;
+                    if (z->c <= z->lb) { z->c = z->l - v_2; goto lab0; }
                     z->c--;
                 }
                 z->bra = z->c;
@@ -473,53 +473,57 @@ static int r_case_ending(struct SN_env * z) {
             if (in_grouping_b(z, g_C, 98, 122, 0)) return 0;
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[2] = 1;
+    ((SN_local *)z)->b_ending_removed = 1;
     return 1;
 }
 
 static int r_other_endings(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p2) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p2;
         z->ket = z->c;
-        among_var = find_among_b(z, a_7, 14);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_7, 14, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 if (!(eq_s_b(z, 2, s_3))) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_i_plural(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_8, 2)) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = v_1; return 0; }
+        z->c--;
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -527,196 +531,246 @@ static int r_i_plural(struct SN_env * z) {
 
 static int r_t_plural(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = v_1; return 0; }
         z->c--;
         z->bra = z->c;
-        {   int m_test2 = z->l - z->c;
-            if (in_grouping_b(z, g_V1, 97, 246, 0)) { z->lb = mlimit1; return 0; }
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b(z, g_V1, 97, 246, 0)) { z->lb = v_1; return 0; }
+            z->c = z->l - v_2;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-
-    {   int mlimit3;
-        if (z->c < z->I[0]) return 0;
-        mlimit3 = z->lb; z->lb = z->I[0];
+    {
+        int v_3;
+        if (z->c < ((SN_local *)z)->i_p2) return 0;
+        v_3 = z->lb; z->lb = ((SN_local *)z)->i_p2;
         z->ket = z->c;
-        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit3; return 0; }
-        among_var = find_among_b(z, a_9, 2);
-        if (!among_var) { z->lb = mlimit3; return 0; }
+        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = v_3; return 0; }
+        among_var = find_among_b(z, a_9, 2, 0);
+        if (!among_var) { z->lb = v_3; return 0; }
         z->bra = z->c;
-        z->lb = mlimit3;
+        z->lb = v_3;
     }
     switch (among_var) {
         case 1:
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 if (!(eq_s_b(z, 2, s_4))) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m4;
+                z->c = z->l - v_4;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_tidy(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
-        {   int m2 = z->l - z->c; (void)m2;
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int ret = r_LONG(z);
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+        {
+            int v_2 = z->l - z->c;
+            {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = r_LONG(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                z->c = z->l - m3;
+                z->c = z->l - v_3;
                 z->ket = z->c;
                 if (z->c <= z->lb) goto lab0;
                 z->c--;
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             }
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-        {   int m4 = z->l - z->c; (void)m4;
+        {
+            int v_4 = z->l - z->c;
             z->ket = z->c;
             if (in_grouping_b(z, g_AEI, 97, 228, 0)) goto lab1;
             z->bra = z->c;
             if (in_grouping_b(z, g_C, 98, 122, 0)) goto lab1;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         lab1:
-            z->c = z->l - m4;
+            z->c = z->l - v_4;
         }
-        {   int m5 = z->l - z->c; (void)m5;
+        {
+            int v_5 = z->l - z->c;
             z->ket = z->c;
             if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab2;
             z->c--;
             z->bra = z->c;
-            {   int m6 = z->l - z->c; (void)m6;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4;
+            do {
+                int v_6 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab3;
                 z->c--;
-                goto lab3;
-            lab4:
-                z->c = z->l - m6;
+                break;
+            lab3:
+                z->c = z->l - v_6;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab2;
                 z->c--;
-            }
-        lab3:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         lab2:
-            z->c = z->l - m5;
+            z->c = z->l - v_5;
         }
-        {   int m7 = z->l - z->c; (void)m7;
+        {
+            int v_7 = z->l - z->c;
             z->ket = z->c;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4;
             z->c--;
             z->bra = z->c;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab5;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab4;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-        lab5:
-            z->c = z->l - m7;
+        lab4:
+            z->c = z->l - v_7;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-
     if (in_grouping_b(z, g_V1, 97, 246, 1) < 0) return 0;
     z->ket = z->c;
     if (in_grouping_b(z, g_C, 98, 122, 0)) return 0;
     z->bra = z->c;
-    z->S[0] = slice_to(z, z->S[0]);
-    if (z->S[0] == 0) return -1;
-    if (!(eq_v_b(z, z->S[0]))) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_to(z, &((SN_local *)z)->s_x);
+        if (ret < 0) return ret;
+    }
+    if (!(eq_v_b(z, ((SN_local *)z)->s_x))) return 0;
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int finnish_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    z->I[2] = 0;
+    ((SN_local *)z)->b_ending_removed = 0;
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_particle_etc(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_particle_etc(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_possessive(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_possessive(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_case_ending(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_case_ending(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_other_endings(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_other_endings(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-
-    if (!(z->I[2])) goto lab1;
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_i_plural(z);
-            if (ret < 0) return ret;
+    do {
+        if (!((SN_local *)z)->b_ending_removed) goto lab0;
+        {
+            int v_6 = z->l - z->c;
+            {
+                int ret = r_i_plural(z);
+                if (ret < 0) return ret;
+            }
+            z->c = z->l - v_6;
         }
-        z->c = z->l - m6;
-    }
-    goto lab0;
-lab1:
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_t_plural(z);
-            if (ret < 0) return ret;
+        break;
+    lab0:
+        {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_t_plural(z);
+                if (ret < 0) return ret;
+            }
+            z->c = z->l - v_7;
         }
-        z->c = z->l - m7;
-    }
-lab0:
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_tidy(z);
+    } while (0);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_tidy(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * finnish_ISO_8859_1_create_env(void) { return SN_create_env(1, 3); }
+extern struct SN_env * finnish_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_ending_removed = 0;
+        ((SN_local *)z)->s_x = NULL;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+
+        if ((((SN_local *)z)->s_x = create_s()) == NULL) {
+            finnish_ISO_8859_1_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
 
-extern void finnish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 1); }
+extern void finnish_ISO_8859_1_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_x);
+    }
+    SN_delete_env(z);
+}
 
index 5706a5296bb9bf9c9632c9f5d449d00cfcb9dcaa..ba6fff32b00f3942209e9a97698a8ad268f489af 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from french.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_french.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int french_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_un_accent(struct SN_env * z);
 static int r_un_double(struct SN_env * z);
 static int r_residual_suffix(struct SN_env * z);
@@ -22,27 +36,54 @@ static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
 static int r_elisions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * french_ISO_8859_1_create_env(void);
-extern void french_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'q', 'u' };
+static const symbol s_1[] = { 'U' };
+static const symbol s_2[] = { 'I' };
+static const symbol s_3[] = { 'Y' };
+static const symbol s_4[] = { 'H', 'e' };
+static const symbol s_5[] = { 'H', 'i' };
+static const symbol s_6[] = { 'Y' };
+static const symbol s_7[] = { 'U' };
+static const symbol s_8[] = { 'i' };
+static const symbol s_9[] = { 'u' };
+static const symbol s_10[] = { 'y' };
+static const symbol s_11[] = { 0xEB };
+static const symbol s_12[] = { 0xEF };
+static const symbol s_13[] = { 'i', 'c' };
+static const symbol s_14[] = { 'i', 'q', 'U' };
+static const symbol s_15[] = { 'l', 'o', 'g' };
+static const symbol s_16[] = { 'u' };
+static const symbol s_17[] = { 'e', 'n', 't' };
+static const symbol s_18[] = { 'a', 't' };
+static const symbol s_19[] = { 'e', 'u', 'x' };
+static const symbol s_20[] = { 'i' };
+static const symbol s_21[] = { 'a', 'b', 'l' };
+static const symbol s_22[] = { 'i', 'q', 'U' };
+static const symbol s_23[] = { 'a', 't' };
+static const symbol s_24[] = { 'i', 'c' };
+static const symbol s_25[] = { 'i', 'q', 'U' };
+static const symbol s_26[] = { 'e', 'a', 'u' };
+static const symbol s_27[] = { 'a', 'l' };
+static const symbol s_28[] = { 'o', 'u' };
+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[] = { 'e' };
+static const symbol s_35[] = { 'i' };
+static const symbol s_36[] = { 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'c', 'o', 'l' };
-static const symbol s_0_1[3] = { 'p', 'a', 'r' };
-static const symbol s_0_2[3] = { 't', 'a', 'p' };
-
-static const struct among a_0[3] =
-{
-{ 3, s_0_0, -1, -1, 0},
-{ 3, s_0_1, -1, -1, 0},
-{ 3, s_0_2, -1, -1, 0}
+static const symbol s_0_1[2] = { 'n', 'i' };
+static const symbol s_0_2[3] = { 'p', 'a', 'r' };
+static const symbol s_0_3[3] = { 't', 'a', 'p' };
+static const struct among a_0[4] = {
+{ 3, s_0_0, 0, -1, 0},
+{ 2, s_0_1, 0, 1, 0},
+{ 3, s_0_2, 0, -1, 0},
+{ 3, s_0_3, 0, -1, 0}
 };
 
 static const symbol s_1_1[1] = { 'H' };
@@ -51,16 +92,14 @@ 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[7] =
-{
-{ 0, 0, -1, 7, 0},
-{ 1, s_1_1, 0, 6, 0},
-{ 2, s_1_2, 1, 4, 0},
-{ 2, s_1_3, 1, 5, 0},
-{ 1, s_1_4, 0, 1, 0},
-{ 1, s_1_5, 0, 2, 0},
-{ 1, s_1_6, 0, 3, 0}
+static const struct among a_1[7] = {
+{ 0, 0, 0, 7, 0},
+{ 1, s_1_1, -1, 6, 0},
+{ 2, s_1_2, -1, 4, 0},
+{ 2, s_1_3, -2, 5, 0},
+{ 1, s_1_4, -4, 1, 0},
+{ 1, s_1_5, -5, 2, 0},
+{ 1, s_1_6, -6, 3, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'q', 'U' };
@@ -69,26 +108,22 @@ static const symbol s_2_2[3] = { 'I', 0xE8, 'r' };
 static const symbol s_2_3[3] = { 'i', 0xE8, 'r' };
 static const symbol s_2_4[3] = { 'e', 'u', 's' };
 static const symbol s_2_5[2] = { 'i', 'v' };
-
-static const struct among a_2[6] =
-{
-{ 3, s_2_0, -1, 3, 0},
-{ 3, s_2_1, -1, 3, 0},
-{ 3, s_2_2, -1, 4, 0},
-{ 3, s_2_3, -1, 4, 0},
-{ 3, s_2_4, -1, 2, 0},
-{ 2, s_2_5, -1, 1, 0}
+static const struct among a_2[6] = {
+{ 3, s_2_0, 0, 3, 0},
+{ 3, s_2_1, 0, 3, 0},
+{ 3, s_2_2, 0, 4, 0},
+{ 3, s_2_3, 0, 4, 0},
+{ 3, s_2_4, 0, 2, 0},
+{ 2, s_2_5, 0, 1, 0}
 };
 
 static const symbol s_3_0[2] = { 'i', 'c' };
 static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_3_2[2] = { 'i', 'v' };
-
-static const struct among a_3[3] =
-{
-{ 2, s_3_0, -1, 2, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 3, 0}
+static const struct among a_3[3] = {
+{ 2, s_3_0, 0, 2, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 2, s_3_2, 0, 3, 0}
 };
 
 static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
@@ -133,53 +168,53 @@ static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
 static const symbol s_4_39[3] = { 'a', 'u', 'x' };
 static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
 static const symbol s_4_41[3] = { 'e', 'u', 'x' };
-static const symbol s_4_42[3] = { 'i', 't', 0xE9 };
-
-static const struct among a_4[43] =
-{
-{ 4, s_4_0, -1, 1, 0},
-{ 6, s_4_1, -1, 2, 0},
-{ 4, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 5, 0},
-{ 5, s_4_4, -1, 3, 0},
-{ 4, s_4_5, -1, 1, 0},
-{ 4, s_4_6, -1, 1, 0},
-{ 4, s_4_7, -1, 11, 0},
-{ 4, s_4_8, -1, 1, 0},
-{ 3, s_4_9, -1, 8, 0},
-{ 2, s_4_10, -1, 8, 0},
-{ 5, s_4_11, -1, 4, 0},
-{ 5, s_4_12, -1, 2, 0},
-{ 5, s_4_13, -1, 4, 0},
-{ 5, s_4_14, -1, 2, 0},
-{ 5, s_4_15, -1, 1, 0},
-{ 7, s_4_16, -1, 2, 0},
-{ 5, s_4_17, -1, 1, 0},
-{ 5, s_4_18, -1, 5, 0},
-{ 6, s_4_19, -1, 3, 0},
-{ 5, s_4_20, -1, 1, 0},
-{ 5, s_4_21, -1, 1, 0},
-{ 5, s_4_22, -1, 11, 0},
-{ 5, s_4_23, -1, 1, 0},
-{ 4, s_4_24, -1, 8, 0},
-{ 3, s_4_25, -1, 8, 0},
-{ 6, s_4_26, -1, 4, 0},
-{ 6, s_4_27, -1, 2, 0},
-{ 6, s_4_28, -1, 4, 0},
-{ 6, s_4_29, -1, 2, 0},
-{ 5, s_4_30, -1, 15, 0},
-{ 6, s_4_31, 30, 6, 0},
-{ 9, s_4_32, 31, 12, 0},
-{ 4, s_4_33, -1, 7, 0},
-{ 4, s_4_34, -1, 15, 0},
-{ 5, s_4_35, 34, 6, 0},
-{ 8, s_4_36, 35, 12, 0},
-{ 6, s_4_37, 34, 13, 0},
-{ 6, s_4_38, 34, 14, 0},
-{ 3, s_4_39, -1, 10, 0},
-{ 4, s_4_40, 39, 9, 0},
-{ 3, s_4_41, -1, 1, 0},
-{ 3, s_4_42, -1, 7, 0}
+static const symbol s_4_42[3] = { 'o', 'u', 'x' };
+static const symbol s_4_43[3] = { 'i', 't', 0xE9 };
+static const struct among a_4[44] = {
+{ 4, s_4_0, 0, 1, 0},
+{ 6, s_4_1, 0, 2, 0},
+{ 4, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 5, 0},
+{ 5, s_4_4, 0, 3, 0},
+{ 4, s_4_5, 0, 1, 0},
+{ 4, s_4_6, 0, 1, 0},
+{ 4, s_4_7, 0, 12, 0},
+{ 4, s_4_8, 0, 1, 0},
+{ 3, s_4_9, 0, 8, 0},
+{ 2, s_4_10, 0, 8, 0},
+{ 5, s_4_11, 0, 4, 0},
+{ 5, s_4_12, 0, 2, 0},
+{ 5, s_4_13, 0, 4, 0},
+{ 5, s_4_14, 0, 2, 0},
+{ 5, s_4_15, 0, 1, 0},
+{ 7, s_4_16, 0, 2, 0},
+{ 5, s_4_17, 0, 1, 0},
+{ 5, s_4_18, 0, 5, 0},
+{ 6, s_4_19, 0, 3, 0},
+{ 5, s_4_20, 0, 1, 0},
+{ 5, s_4_21, 0, 1, 0},
+{ 5, s_4_22, 0, 12, 0},
+{ 5, s_4_23, 0, 1, 0},
+{ 4, s_4_24, 0, 8, 0},
+{ 3, s_4_25, 0, 8, 0},
+{ 6, s_4_26, 0, 4, 0},
+{ 6, s_4_27, 0, 2, 0},
+{ 6, s_4_28, 0, 4, 0},
+{ 6, s_4_29, 0, 2, 0},
+{ 5, s_4_30, 0, 16, 0},
+{ 6, s_4_31, -1, 6, 0},
+{ 9, s_4_32, -1, 13, 0},
+{ 4, s_4_33, 0, 7, 0},
+{ 4, s_4_34, 0, 16, 0},
+{ 5, s_4_35, -1, 6, 0},
+{ 8, s_4_36, -1, 13, 0},
+{ 6, s_4_37, -3, 14, 0},
+{ 6, s_4_38, -4, 15, 0},
+{ 3, s_4_39, 0, 10, 0},
+{ 4, s_4_40, -1, 9, 0},
+{ 3, s_4_41, 0, 1, 0},
+{ 3, s_4_42, 0, 11, 0},
+{ 3, s_4_43, 0, 7, 0}
 };
 
 static const symbol s_5_0[3] = { 'i', 'r', 'a' };
@@ -217,423 +252,412 @@ static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
 static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
 static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
 static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
-
-static const struct among a_5[35] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 1, 0},
-{ 4, s_5_2, -1, 1, 0},
-{ 7, s_5_3, -1, 1, 0},
-{ 1, s_5_4, -1, 1, 0},
-{ 4, s_5_5, 4, 1, 0},
-{ 2, s_5_6, -1, 1, 0},
-{ 4, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 1, 0},
-{ 4, s_5_9, -1, 1, 0},
-{ 5, s_5_10, -1, 1, 0},
-{ 8, s_5_11, -1, 1, 0},
-{ 4, s_5_12, -1, 1, 0},
-{ 2, s_5_13, -1, 1, 0},
-{ 5, s_5_14, 13, 1, 0},
-{ 6, s_5_15, 13, 1, 0},
-{ 6, s_5_16, -1, 1, 0},
-{ 7, s_5_17, -1, 1, 0},
-{ 5, s_5_18, -1, 1, 0},
-{ 6, s_5_19, -1, 1, 0},
-{ 7, s_5_20, -1, 1, 0},
-{ 2, s_5_21, -1, 1, 0},
-{ 5, s_5_22, 21, 1, 0},
-{ 6, s_5_23, 21, 1, 0},
-{ 6, s_5_24, -1, 1, 0},
-{ 7, s_5_25, -1, 1, 0},
-{ 8, s_5_26, -1, 1, 0},
-{ 5, s_5_27, -1, 1, 0},
-{ 6, s_5_28, -1, 1, 0},
-{ 5, s_5_29, -1, 1, 0},
-{ 2, s_5_30, -1, 1, 0},
-{ 5, s_5_31, -1, 1, 0},
-{ 6, s_5_32, -1, 1, 0},
-{ 4, s_5_33, -1, 1, 0},
-{ 5, s_5_34, -1, 1, 0}
+static const struct among a_5[35] = {
+{ 3, s_5_0, 0, 1, 0},
+{ 2, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0},
+{ 7, s_5_3, 0, 1, 0},
+{ 1, s_5_4, 0, 1, 0},
+{ 4, s_5_5, -1, 1, 0},
+{ 2, s_5_6, 0, 1, 0},
+{ 4, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 1, 0},
+{ 4, s_5_9, 0, 1, 0},
+{ 5, s_5_10, 0, 1, 0},
+{ 8, s_5_11, 0, 1, 0},
+{ 4, s_5_12, 0, 1, 0},
+{ 2, s_5_13, 0, 1, 0},
+{ 5, s_5_14, -1, 1, 0},
+{ 6, s_5_15, -2, 1, 0},
+{ 6, s_5_16, 0, 1, 0},
+{ 7, s_5_17, 0, 1, 0},
+{ 5, s_5_18, 0, 1, 0},
+{ 6, s_5_19, 0, 1, 0},
+{ 7, s_5_20, 0, 1, 0},
+{ 2, s_5_21, 0, 1, 0},
+{ 5, s_5_22, -1, 1, 0},
+{ 6, s_5_23, -2, 1, 0},
+{ 6, s_5_24, 0, 1, 0},
+{ 7, s_5_25, 0, 1, 0},
+{ 8, s_5_26, 0, 1, 0},
+{ 5, s_5_27, 0, 1, 0},
+{ 6, s_5_28, 0, 1, 0},
+{ 5, s_5_29, 0, 1, 0},
+{ 2, s_5_30, 0, 1, 0},
+{ 5, s_5_31, 0, 1, 0},
+{ 6, s_5_32, 0, 1, 0},
+{ 4, s_5_33, 0, 1, 0},
+{ 5, s_5_34, 0, 1, 0}
 };
 
-static const symbol s_6_0[1] = { 'a' };
-static const symbol s_6_1[3] = { 'e', 'r', 'a' };
-static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
-static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
-static const symbol s_6_4[2] = { 0xE9, 'e' };
-static const symbol s_6_5[2] = { 'a', 'i' };
-static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
-static const symbol s_6_7[2] = { 'e', 'r' };
-static const symbol s_6_8[2] = { 'a', 's' };
-static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
-static const symbol s_6_10[4] = { 0xE2, 'm', 'e', 's' };
-static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
-static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
-static const symbol s_6_13[4] = { 0xE2, 't', 'e', 's' };
-static const symbol s_6_14[3] = { 0xE9, 'e', 's' };
-static const symbol s_6_15[3] = { 'a', 'i', 's' };
-static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
-static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
-static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
-static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
-static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
-static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
-static const symbol s_6_22[2] = { 0xE9, 's' };
-static const symbol s_6_23[3] = { 'a', 'i', 't' };
-static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
-static const symbol s_6_25[3] = { 'a', 'n', 't' };
-static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
-static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
-static const symbol s_6_28[5] = { 0xE8, 'r', 'e', 'n', 't' };
-static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
-static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
-static const symbol s_6_31[2] = { 0xE2, 't' };
-static const symbol s_6_32[2] = { 'e', 'z' };
-static const symbol s_6_33[3] = { 'i', 'e', 'z' };
-static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
-static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
-static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
-static const symbol s_6_37[1] = { 0xE9 };
-
-static const struct among a_6[38] =
-{
-{ 1, s_6_0, -1, 3, 0},
-{ 3, s_6_1, 0, 2, 0},
-{ 4, s_6_2, -1, 3, 0},
-{ 4, s_6_3, -1, 3, 0},
-{ 2, s_6_4, -1, 2, 0},
-{ 2, s_6_5, -1, 3, 0},
-{ 4, s_6_6, 5, 2, 0},
-{ 2, s_6_7, -1, 2, 0},
-{ 2, s_6_8, -1, 3, 0},
-{ 4, s_6_9, 8, 2, 0},
-{ 4, s_6_10, -1, 3, 0},
-{ 5, s_6_11, -1, 3, 0},
-{ 5, s_6_12, -1, 3, 0},
-{ 4, s_6_13, -1, 3, 0},
-{ 3, s_6_14, -1, 2, 0},
-{ 3, s_6_15, -1, 3, 0},
-{ 5, s_6_16, 15, 2, 0},
-{ 4, s_6_17, -1, 1, 0},
-{ 6, s_6_18, 17, 2, 0},
-{ 7, s_6_19, 17, 3, 0},
-{ 5, s_6_20, -1, 2, 0},
-{ 4, s_6_21, -1, 3, 0},
-{ 2, s_6_22, -1, 2, 0},
-{ 3, s_6_23, -1, 3, 0},
-{ 5, s_6_24, 23, 2, 0},
-{ 3, s_6_25, -1, 3, 0},
-{ 5, s_6_26, -1, 3, 0},
-{ 7, s_6_27, 26, 2, 0},
-{ 5, s_6_28, -1, 2, 0},
-{ 6, s_6_29, -1, 3, 0},
-{ 5, s_6_30, -1, 2, 0},
-{ 2, s_6_31, -1, 3, 0},
-{ 2, s_6_32, -1, 2, 0},
-{ 3, s_6_33, 32, 2, 0},
-{ 5, s_6_34, 33, 2, 0},
-{ 6, s_6_35, 33, 3, 0},
-{ 4, s_6_36, 32, 2, 0},
-{ 1, s_6_37, -1, 2, 0}
+static const symbol s_6_0[2] = { 'a', 'l' };
+static const symbol s_6_1[3] = { 0xE9, 'p', 'l' };
+static const symbol s_6_2[3] = { 'a', 'u', 'v' };
+static const struct among a_6[3] = {
+{ 2, s_6_0, 0, 1, 0},
+{ 3, s_6_1, 0, -1, 0},
+{ 3, s_6_2, 0, -1, 0}
 };
 
-static const symbol s_7_0[1] = { 'e' };
-static const symbol s_7_1[4] = { 'I', 0xE8, 'r', 'e' };
-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 struct among a_7[6] =
-{
-{ 1, s_7_0, -1, 3, 0},
-{ 4, s_7_1, 0, 2, 0},
-{ 4, s_7_2, 0, 2, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 3, s_7_4, -1, 2, 0},
-{ 3, s_7_5, -1, 2, 0}
+static const symbol s_7_0[1] = { 'a' };
+static const symbol s_7_1[3] = { 'e', 'r', 'a' };
+static const symbol s_7_2[4] = { 'a', 'i', 's', 'e' };
+static const symbol s_7_3[4] = { 'a', 's', 's', 'e' };
+static const symbol s_7_4[4] = { 'a', 'n', 't', 'e' };
+static const symbol s_7_5[2] = { 0xE9, 'e' };
+static const symbol s_7_6[2] = { 'a', 'i' };
+static const symbol s_7_7[4] = { 'e', 'r', 'a', 'i' };
+static const symbol s_7_8[2] = { 'e', 'r' };
+static const symbol s_7_9[2] = { 'a', 's' };
+static const symbol s_7_10[4] = { 'e', 'r', 'a', 's' };
+static const symbol s_7_11[4] = { 0xE2, 'm', 'e', 's' };
+static const symbol s_7_12[5] = { 'a', 'i', 's', 'e', 's' };
+static const symbol s_7_13[5] = { 'a', 's', 's', 'e', 's' };
+static const symbol s_7_14[5] = { 'a', 'n', 't', 'e', 's' };
+static const symbol s_7_15[4] = { 0xE2, 't', 'e', 's' };
+static const symbol s_7_16[3] = { 0xE9, 'e', 's' };
+static const symbol s_7_17[3] = { 'a', 'i', 's' };
+static const symbol s_7_18[4] = { 'e', 'a', 'i', 's' };
+static const symbol s_7_19[5] = { 'e', 'r', 'a', 'i', 's' };
+static const symbol s_7_20[4] = { 'i', 'o', 'n', 's' };
+static const symbol s_7_21[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
+static const symbol s_7_22[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
+static const symbol s_7_23[5] = { 'e', 'r', 'o', 'n', 's' };
+static const symbol s_7_24[4] = { 'a', 'n', 't', 's' };
+static const symbol s_7_25[2] = { 0xE9, 's' };
+static const symbol s_7_26[3] = { 'a', 'i', 't' };
+static const symbol s_7_27[5] = { 'e', 'r', 'a', 'i', 't' };
+static const symbol s_7_28[3] = { 'a', 'n', 't' };
+static const symbol s_7_29[5] = { 'a', 'I', 'e', 'n', 't' };
+static const symbol s_7_30[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
+static const symbol s_7_31[5] = { 0xE8, 'r', 'e', 'n', 't' };
+static const symbol s_7_32[6] = { 'a', 's', 's', 'e', 'n', 't' };
+static const symbol s_7_33[5] = { 'e', 'r', 'o', 'n', 't' };
+static const symbol s_7_34[2] = { 0xE2, 't' };
+static const symbol s_7_35[2] = { 'e', 'z' };
+static const symbol s_7_36[3] = { 'i', 'e', 'z' };
+static const symbol s_7_37[5] = { 'e', 'r', 'i', 'e', 'z' };
+static const symbol s_7_38[6] = { 'a', 's', 's', 'i', 'e', 'z' };
+static const symbol s_7_39[4] = { 'e', 'r', 'e', 'z' };
+static const symbol s_7_40[1] = { 0xE9 };
+static const struct among a_7[41] = {
+{ 1, s_7_0, 0, 3, 0},
+{ 3, s_7_1, -1, 2, 0},
+{ 4, s_7_2, 0, 4, 0},
+{ 4, s_7_3, 0, 3, 0},
+{ 4, s_7_4, 0, 3, 0},
+{ 2, s_7_5, 0, 2, 0},
+{ 2, s_7_6, 0, 3, 0},
+{ 4, s_7_7, -1, 2, 0},
+{ 2, s_7_8, 0, 2, 0},
+{ 2, s_7_9, 0, 3, 0},
+{ 4, s_7_10, -1, 2, 0},
+{ 4, s_7_11, 0, 3, 0},
+{ 5, s_7_12, 0, 4, 0},
+{ 5, s_7_13, 0, 3, 0},
+{ 5, s_7_14, 0, 3, 0},
+{ 4, s_7_15, 0, 3, 0},
+{ 3, s_7_16, 0, 2, 0},
+{ 3, s_7_17, 0, 4, 0},
+{ 4, s_7_18, -1, 2, 0},
+{ 5, s_7_19, -2, 2, 0},
+{ 4, s_7_20, 0, 1, 0},
+{ 6, s_7_21, -1, 2, 0},
+{ 7, s_7_22, -2, 3, 0},
+{ 5, s_7_23, 0, 2, 0},
+{ 4, s_7_24, 0, 3, 0},
+{ 2, s_7_25, 0, 2, 0},
+{ 3, s_7_26, 0, 3, 0},
+{ 5, s_7_27, -1, 2, 0},
+{ 3, s_7_28, 0, 3, 0},
+{ 5, s_7_29, 0, 3, 0},
+{ 7, s_7_30, -1, 2, 0},
+{ 5, s_7_31, 0, 2, 0},
+{ 6, s_7_32, 0, 3, 0},
+{ 5, s_7_33, 0, 2, 0},
+{ 2, s_7_34, 0, 3, 0},
+{ 2, s_7_35, 0, 2, 0},
+{ 3, s_7_36, -1, 2, 0},
+{ 5, s_7_37, -1, 2, 0},
+{ 6, s_7_38, -2, 3, 0},
+{ 4, s_7_39, -4, 2, 0},
+{ 1, s_7_40, 0, 2, 0}
 };
 
-static const symbol s_8_0[3] = { 'e', 'l', 'l' };
-static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
-static const symbol s_8_2[3] = { 'e', 'n', 'n' };
-static const symbol s_8_3[3] = { 'o', 'n', 'n' };
-static const symbol s_8_4[3] = { 'e', 't', 't' };
+static const symbol s_8_0[1] = { 'e' };
+static const symbol s_8_1[4] = { 'I', 0xE8, 'r', 'e' };
+static const symbol s_8_2[4] = { 'i', 0xE8, 'r', 'e' };
+static const symbol s_8_3[3] = { 'i', 'o', 'n' };
+static const symbol s_8_4[3] = { 'I', 'e', 'r' };
+static const symbol s_8_5[3] = { 'i', 'e', 'r' };
+static const struct among a_8[6] = {
+{ 1, s_8_0, 0, 3, 0},
+{ 4, s_8_1, -1, 2, 0},
+{ 4, s_8_2, -2, 2, 0},
+{ 3, s_8_3, 0, 1, 0},
+{ 3, s_8_4, 0, 2, 0},
+{ 3, s_8_5, 0, 2, 0}
+};
 
-static const struct among a_8[5] =
-{
-{ 3, s_8_0, -1, -1, 0},
-{ 4, s_8_1, -1, -1, 0},
-{ 3, s_8_2, -1, -1, 0},
-{ 3, s_8_3, -1, -1, 0},
-{ 3, s_8_4, -1, -1, 0}
+static const symbol s_9_0[3] = { 'e', 'l', 'l' };
+static const symbol s_9_1[4] = { 'e', 'i', 'l', 'l' };
+static const symbol s_9_2[3] = { 'e', 'n', 'n' };
+static const symbol s_9_3[3] = { 'o', 'n', 'n' };
+static const symbol s_9_4[3] = { 'e', 't', 't' };
+static const struct among a_9[5] = {
+{ 3, s_9_0, 0, -1, 0},
+{ 4, s_9_1, 0, -1, 0},
+{ 3, s_9_2, 0, -1, 0},
+{ 3, s_9_3, 0, -1, 0},
+{ 3, s_9_4, 0, -1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
 
+static const unsigned char g_oux_ending[] = { 65, 85 };
+
 static const unsigned char g_elision_char[] = { 131, 14, 3 };
 
 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
 
-static const symbol s_0[] = { 'q', 'u' };
-static const symbol s_1[] = { 'U' };
-static const symbol s_2[] = { 'I' };
-static const symbol s_3[] = { 'Y' };
-static const symbol s_4[] = { 'H', 'e' };
-static const symbol s_5[] = { 'H', 'i' };
-static const symbol s_6[] = { 'Y' };
-static const symbol s_7[] = { 'U' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 'u' };
-static const symbol s_10[] = { 'y' };
-static const symbol s_11[] = { 0xEB };
-static const symbol s_12[] = { 0xEF };
-static const symbol s_13[] = { 'i', 'c' };
-static const symbol s_14[] = { 'i', 'q', 'U' };
-static const symbol s_15[] = { 'l', 'o', 'g' };
-static const symbol s_16[] = { 'u' };
-static const symbol s_17[] = { 'e', 'n', 't' };
-static const symbol s_18[] = { 'a', 't' };
-static const symbol s_19[] = { 'e', 'u', 'x' };
-static const symbol s_20[] = { 'i' };
-static const symbol s_21[] = { 'a', 'b', 'l' };
-static const symbol s_22[] = { 'i', 'q', 'U' };
-static const symbol s_23[] = { 'a', 't' };
-static const symbol s_24[] = { 'i', 'c' };
-static const symbol s_25[] = { 'i', 'q', 'U' };
-static const symbol s_26[] = { 'e', 'a', 'u' };
-static const symbol s_27[] = { 'a', 'l' };
-static const symbol s_28[] = { 'e', 'u', 'x' };
-static const symbol s_29[] = { 'a', 'n', 't' };
-static const symbol s_30[] = { 'e', 'n', 't' };
-static const symbol s_31[] = { 'H', 'i' };
-static const symbol s_32[] = { 'i' };
-static const symbol s_33[] = { 'e' };
-static const symbol s_34[] = { 'i' };
-static const symbol s_35[] = { 'c' };
-
 static int r_elisions(struct SN_env * z) {
     z->bra = z->c;
-    {   int c1 = z->c;
-        if (in_grouping(z, g_elision_char, 99, 116, 0)) goto lab1;
-        goto lab0;
-    lab1:
-        z->c = c1;
+    do {
+        int v_1 = z->c;
+        if (in_grouping(z, g_elision_char, 99, 116, 0)) goto lab0;
+        break;
+    lab0:
+        z->c = v_1;
         if (!(eq_s(z, 2, s_0))) return 0;
-    }
-lab0:
+    } while (0);
     if (z->c == z->l || z->p[z->c] != '\'') return 0;
     z->c++;
     z->ket = z->c;
-
-    if (z->c < z->l) goto lab2;
+    if (z->c < z->l) goto lab1;
     return 0;
-lab2:
-    {   int ret = slice_del(z);
+lab1:
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_prelude(struct SN_env * z) {
-    while(1) {
-        int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            {   int c3 = z->c;
-                if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
+    while (1) {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            do {
+                int v_3 = z->c;
+                if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
                 z->bra = z->c;
-                {   int c4 = z->c;
-                    if (z->c == z->l || z->p[z->c] != 'u') goto lab5;
+                do {
+                    int v_4 = z->c;
+                    if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping(z, g_v, 97, 251, 0)) goto lab5;
-                    {   int ret = slice_from_s(z, 1, s_1);
+                    if (in_grouping(z, g_v, 97, 251, 0)) goto lab3;
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab5:
-                    z->c = c4;
-                    if (z->c == z->l || z->p[z->c] != 'i') goto lab6;
+                    break;
+                lab3:
+                    z->c = v_4;
+                    if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping(z, g_v, 97, 251, 0)) goto lab6;
-                    {   int ret = slice_from_s(z, 1, s_2);
+                    if (in_grouping(z, g_v, 97, 251, 0)) goto lab4;
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab6:
-                    z->c = c4;
-                    if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
+                    break;
+                lab4:
+                    z->c = v_4;
+                    if (z->c == z->l || z->p[z->c] != 'y') goto lab2;
                     z->c++;
                     z->ket = z->c;
-                    {   int ret = slice_from_s(z, 1, s_3);
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
                         if (ret < 0) return ret;
                     }
-                }
-            lab4:
-                goto lab2;
-            lab3:
-                z->c = c3;
+                } while (0);
+                break;
+            lab2:
+                z->c = v_3;
                 z->bra = z->c;
-                if (z->c == z->l || z->p[z->c] != 0xEB) goto lab7;
+                if (z->c == z->l || z->p[z->c] != 0xEB) goto lab5;
                 z->c++;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 2, s_4);
+                {
+                    int ret = slice_from_s(z, 2, s_4);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab7:
-                z->c = c3;
+                break;
+            lab5:
+                z->c = v_3;
                 z->bra = z->c;
-                if (z->c == z->l || z->p[z->c] != 0xEF) goto lab8;
+                if (z->c == z->l || z->p[z->c] != 0xEF) goto lab6;
                 z->c++;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 2, s_5);
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab8:
-                z->c = c3;
+                break;
+            lab6:
+                z->c = v_3;
                 z->bra = z->c;
-                if (z->c == z->l || z->p[z->c] != 'y') goto lab9;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab7;
                 z->c++;
                 z->ket = z->c;
-                if (in_grouping(z, g_v, 97, 251, 0)) goto lab9;
-                {   int ret = slice_from_s(z, 1, s_6);
+                if (in_grouping(z, g_v, 97, 251, 0)) goto lab7;
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab9:
-                z->c = c3;
+                break;
+            lab7:
+                z->c = v_3;
                 if (z->c == z->l || z->p[z->c] != 'q') goto lab1;
                 z->c++;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'u') goto lab1;
                 z->c++;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 1, s_7);
+                {
+                    int ret = slice_from_s(z, 1, s_7);
                     if (ret < 0) return ret;
                 }
-            }
-        lab2:
-            z->c = c2;
+            } while (0);
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             if (z->c >= z->l) goto lab0;
             z->c++;
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
-            if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
-            if (z->c >= z->l) goto lab2;
+    int among_var;
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping(z, g_v, 97, 251, 0)) goto lab1;
+            if (in_grouping(z, g_v, 97, 251, 0)) goto lab1;
+            if (z->c >= z->l) goto lab1;
             z->c++;
-            goto lab1;
+            break;
+        lab1:
+            z->c = v_2;
+            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((33282 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab2;
+            among_var = find_among(z, a_0, 4, 0);
+            if (!among_var) goto lab2;
+            switch (among_var) {
+                case 1:
+                    if (in_grouping(z, g_v, 97, 251, 0)) goto lab2;
+                    break;
+            }
+            break;
         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;
-            if (!find_among(z, a_0, 3)) goto lab3;
-            goto lab1;
-        lab3:
-            z->c = c2;
+            z->c = v_2;
             if (z->c >= z->l) goto lab0;
             z->c++;
-
             {
                 int ret = out_grouping(z, g_v, 97, 251, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-        }
-    lab1:
-        z->I[2] = z->c;
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c3 = z->c;
-
+    {
+        int v_3 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab4:
-        z->c = c3;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab3:
+        z->c = v_3;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else
-        among_var = find_among(z, a_1, 7);
+        among_var = find_among(z, a_1, 7, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_8);
+                {
+                    int ret = slice_from_s(z, 1, s_8);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_10);
+                {
+                    int ret = slice_from_s(z, 1, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_11);
+                {
+                    int ret = slice_from_s(z, 1, s_11);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_12);
+                {
+                    int ret = slice_from_s(z, 1, s_12);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -644,346 +668,417 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 43);
+    among_var = find_among_b(z, a_4, 44, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int m2 = z->l - z->c; (void)m2;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab2;
+                do {
+                    int v_2 = z->l - z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m2;
-                    {   int ret = slice_from_s(z, 3, s_14);
+                    break;
+                lab1:
+                    z->c = z->l - v_2;
+                    {
+                        int ret = slice_from_s(z, 3, s_14);
                         if (ret < 0) return ret;
                     }
-                }
-            lab1:
+                } while (0);
             lab0:
                 ;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_15);
+            {
+                int ret = slice_from_s(z, 3, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_16);
+            {
+                int ret = slice_from_s(z, 1, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                among_var = find_among_b(z, a_2, 6);
-                if (!among_var) { z->c = z->l - m3; goto lab3; }
+                among_var = find_among_b(z, a_2, 6, 0);
+                if (!among_var) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - m3; goto lab3; }
+                        if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - v_3; goto lab2; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int m4 = z->l - z->c; (void)m4;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab5;
+                        do {
+                            int v_4 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab3;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab4;
-                        lab5:
-                            z->c = z->l - m4;
-                            {   int ret = r_R1(z);
-                                if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                            break;
+                        lab3:
+                            z->c = z->l - v_4;
+                            {
+                                int ret = r_R1(z);
+                                if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_from_s(z, 3, s_19);
+                            {
+                                int ret = slice_from_s(z, 3, s_19);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab4:
+                        } while (0);
                         break;
                     case 3:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = r_RV(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_RV(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_from_s(z, 1, s_20);
+                        {
+                            int ret = slice_from_s(z, 1, s_20);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-            lab3:
+            lab2:
                 ;
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m5 = z->l - z->c; (void)m5;
+            {
+                int v_5 = z->l - z->c;
                 z->ket = z->c;
-                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; }
-                among_var = find_among_b(z, a_3, 3);
-                if (!among_var) { z->c = z->l - m5; goto lab6; }
+                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 - v_5; goto lab4; }
+                among_var = find_among_b(z, a_3, 3, 0);
+                if (!among_var) { z->c = z->l - v_5; goto lab4; }
                 z->bra = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int m6 = z->l - z->c; (void)m6;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab8;
+                        do {
+                            int v_6 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab5;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab7;
-                        lab8:
-                            z->c = z->l - m6;
-                            {   int ret = slice_from_s(z, 3, s_21);
+                            break;
+                        lab5:
+                            z->c = z->l - v_6;
+                            {
+                                int ret = slice_from_s(z, 3, s_21);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab7:
+                        } while (0);
                         break;
                     case 2:
-                        {   int m7 = z->l - z->c; (void)m7;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab10;
+                        do {
+                            int v_7 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab6;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab9;
-                        lab10:
-                            z->c = z->l - m7;
-                            {   int ret = slice_from_s(z, 3, s_22);
+                            break;
+                        lab6:
+                            z->c = z->l - v_7;
+                            {
+                                int ret = slice_from_s(z, 3, s_22);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab9:
+                        } while (0);
                         break;
                     case 3:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m5; goto lab6; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-            lab6:
+            lab4:
                 ;
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m8 = z->l - z->c; (void)m8;
+            {
+                int v_8 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_23))) { z->c = z->l - m8; goto lab11; }
+                if (!(eq_s_b(z, 2, s_23))) { z->c = z->l - v_8; goto lab7; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m8; goto lab11; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_8; goto lab7; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m8; goto lab11; }
+                if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - v_8; goto lab7; }
                 z->bra = z->c;
-                {   int m9 = z->l - z->c; (void)m9;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab13;
+                do {
+                    int v_9 = z->l - z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab8;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    goto lab12;
-                lab13:
-                    z->c = z->l - m9;
-                    {   int ret = slice_from_s(z, 3, s_25);
+                    break;
+                lab8:
+                    z->c = z->l - v_9;
+                    {
+                        int ret = slice_from_s(z, 3, s_25);
                         if (ret < 0) return ret;
                     }
-                }
-            lab12:
-            lab11:
+                } while (0);
+            lab7:
                 ;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 3, s_26);
+            {
+                int ret = slice_from_s(z, 3, s_26);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_27);
+            {
+                int ret = slice_from_s(z, 2, s_27);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int m10 = z->l - z->c; (void)m10;
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab15;
+            if (in_grouping_b(z, g_oux_ending, 98, 112, 0)) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_28);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 12:
+            do {
+                int v_10 = z->l - z->c;
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab9;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                goto lab14;
-            lab15:
-                z->c = z->l - m10;
-                {   int ret = r_R1(z);
+                break;
+            lab9:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_R1(z);
                     if (ret <= 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 3, s_28);
+                {
+                    int ret = slice_from_s(z, 3, s_29);
                     if (ret < 0) return ret;
                 }
-            }
-        lab14:
+            } while (0);
             break;
-        case 12:
-            {   int ret = r_R1(z);
+        case 13:
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
             if (out_grouping_b(z, g_v, 97, 251, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
-        case 13:
-            {   int ret = r_RV(z);
+        case 14:
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_29);
+            {
+                int ret = slice_from_s(z, 3, s_30);
                 if (ret < 0) return ret;
             }
             return 0;
             break;
-        case 14:
-            {   int ret = r_RV(z);
+        case 15:
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_30);
+            {
+                int ret = slice_from_s(z, 3, s_31);
                 if (ret < 0) return ret;
             }
             return 0;
             break;
-        case 15:
-            {   int m_test11 = z->l - z->c;
+        case 16:
+            {
+                int v_11 = z->l - z->c;
                 if (in_grouping_b(z, g_v, 97, 251, 0)) return 0;
-                {   int ret = r_RV(z);
+                {
+                    int ret = r_RV(z);
                     if (ret <= 0) return ret;
                 }
-                z->c = z->l - m_test11;
+                z->c = z->l - v_11;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             return 0;
@@ -993,294 +1088,362 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_i_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        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; }
-        if (!find_among_b(z, a_5, 35)) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        if (!find_among_b(z, a_5, 35, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int m2 = z->l - z->c; (void)m2;
+        {
+            int v_2 = z->l - z->c;
             if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0;
             z->c--;
-            { z->lb = mlimit1; return 0; }
+            { z->lb = v_1; return 0; }
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-        if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; }
-        {   int ret = slice_del(z);
+        if (out_grouping_b(z, g_v, 97, 251, 0)) { z->lb = v_1; return 0; }
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        among_var = find_among_b(z, a_6, 38);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_7, 41, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->lb = mlimit1; return 0; }
-                    if (ret < 0) return ret;
-                }
-                {   int ret = slice_del(z);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 2:
-                {   int ret = slice_del(z);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 3:
-                {   int ret = slice_del(z);
+        z->lb = v_1;
+    }
+    switch (among_var) {
+        case 1:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - v_2; goto lab0; }
+                z->c--;
+                {
+                    int ret = r_RV(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int m2 = z->l - z->c; (void)m2;
-                    z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; }
-                    z->c--;
-                    z->bra = z->c;
-                    {   int ret = slice_del(z);
-                        if (ret < 0) return ret;
-                    }
-                lab0:
-                    ;
+                z->bra = z->c;
+            lab0:
+                ;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int v_3 = z->l - z->c;
+                if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 108 && z->p[z->c - 1] != 118)) goto lab1;
+                among_var = find_among_b(z, a_6, 3, 0);
+                if (!among_var) goto lab1;
+                switch (among_var) {
+                    case 1:
+                        if (z->c <= z->lb) goto lab1;
+                        z->c--;
+                        if (z->c > z->lb) goto lab1;
+                        break;
                 }
-                break;
-        }
-        z->lb = mlimit1;
+                return 0;
+            lab1:
+                z->c = z->l - v_3;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
     }
     return 1;
 }
 
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - v_1; goto lab0; }
         z->c--;
         z->bra = z->c;
-        {   int m_test2 = z->l - z->c;
-            {   int m3 = z->l - z->c; (void)m3;
-                if (!(eq_s_b(z, 2, s_31))) goto lab2;
-                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; }
-            }
-        lab1:
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            do {
+                int v_3 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_32))) goto lab1;
+                break;
+            lab1:
+                z->c = z->l - v_3;
+                if (out_grouping_b(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - v_1; goto lab0; }
+            } while (0);
+            z->c = z->l - v_2;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
         ;
     }
-
-    {   int mlimit4;
-        if (z->c < z->I[2]) return 0;
-        mlimit4 = z->lb; z->lb = z->I[2];
+    {
+        int v_4;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_4 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_7, 6);
-        if (!among_var) { z->lb = mlimit4; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_4; return 0; }
+        among_var = find_among_b(z, a_8, 6, 0);
+        if (!among_var) { z->lb = v_4; return 0; }
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->lb = mlimit4; return 0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->lb = v_4; return 0; }
                     if (ret < 0) return ret;
                 }
-                {   int m5 = z->l - z->c; (void)m5;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4;
+                do {
+                    int v_5 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
                     z->c--;
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m5;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; }
+                    break;
+                lab2:
+                    z->c = z->l - v_5;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = v_4; return 0; }
                     z->c--;
-                }
-            lab3:
-                {   int ret = slice_del(z);
+                } while (0);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_32);
+                {
+                    int ret = slice_from_s(z, 1, s_33);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        z->lb = mlimit4;
+        z->lb = v_4;
     }
     return 1;
 }
 
 static int r_un_double(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_8, 5)) return 0;
-        z->c = z->l - m_test1;
+        if (!find_among_b(z, a_9, 5, 0)) return 0;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
     if (z->c <= z->lb) return 0;
     z->c--;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_un_accent(struct SN_env * z) {
-    {   int i = 1;
-        while(1) {
+    {
+        int v_1 = 1;
+        while (1) {
             if (out_grouping_b(z, g_v, 97, 251, 0)) goto lab0;
-            i--;
+            v_1--;
             continue;
         lab0:
             break;
         }
-        if (i > 0) return 0;
+        if (v_1 > 0) return 0;
     }
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab2;
+    do {
+        int v_2 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 0xE9) goto lab1;
         z->c--;
-        goto lab1;
-    lab2:
-        z->c = z->l - m1;
+        break;
+    lab1:
+        z->c = z->l - v_2;
         if (z->c <= z->lb || z->p[z->c - 1] != 0xE8) return 0;
         z->c--;
-    }
-lab1:
+    } while (0);
     z->bra = z->c;
-    {   int ret = slice_from_s(z, 1, s_33);
+    {
+        int ret = slice_from_s(z, 1, s_34);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int french_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_elisions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_elisions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int m6 = z->l - z->c; (void)m6;
-                    {   int ret = r_standard_suffix(z);
-                        if (ret == 0) goto lab4;
+    {
+        int v_3 = z->l - z->c;
+        do {
+            int v_4 = z->l - z->c;
+            {
+                int v_5 = z->l - z->c;
+                do {
+                    int v_6 = z->l - z->c;
+                    {
+                        int ret = r_standard_suffix(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m6;
-                    {   int ret = r_i_verb_suffix(z);
-                        if (ret == 0) goto lab5;
+                    break;
+                lab2:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_i_verb_suffix(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab5:
-                    z->c = z->l - m6;
-                    {   int ret = r_verb_suffix(z);
-                        if (ret == 0) goto lab2;
+                    break;
+                lab3:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_verb_suffix(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                }
-            lab3:
-                z->c = z->l - m5;
-                {   int m7 = z->l - z->c; (void)m7;
+                } while (0);
+                z->c = z->l - v_5;
+                {
+                    int v_7 = z->l - z->c;
                     z->ket = z->c;
-                    {   int m8 = z->l - z->c; (void)m8;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8;
+                    do {
+                        int v_8 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab5;
                         z->c--;
                         z->bra = z->c;
-                        {   int ret = slice_from_s(z, 1, s_34);
+                        {
+                            int ret = slice_from_s(z, 1, s_35);
                             if (ret < 0) return ret;
                         }
-                        goto lab7;
-                    lab8:
-                        z->c = z->l - m8;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - m7; goto lab6; }
+                        break;
+                    lab5:
+                        z->c = z->l - v_8;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 0xE7) { z->c = z->l - v_7; goto lab4; }
                         z->c--;
                         z->bra = z->c;
-                        {   int ret = slice_from_s(z, 1, s_35);
+                        {
+                            int ret = slice_from_s(z, 1, s_36);
                             if (ret < 0) return ret;
                         }
-                    }
-                lab7:
-                lab6:
+                    } while (0);
+                lab4:
                     ;
                 }
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m4;
-            {   int ret = r_residual_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_4;
+            {
+                int ret = r_residual_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_un_double(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_un_double(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_un_accent(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_un_accent(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
     z->c = z->lb;
-    {   int c11 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_11 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c11;
+        z->c = v_11;
     }
     return 1;
 }
 
-extern struct SN_env * french_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * french_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void french_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void french_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index c053b201d55038035e81bfff7b112fca51d132a7..86c85c32ae627a019866bf28f55027d2de91ca7c 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from german.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_german.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,38 +21,43 @@ extern int german_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_standard_suffix(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * german_ISO_8859_1_create_env(void);
-extern void german_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'U' };
+static const symbol s_1[] = { 'Y' };
+static const symbol s_2[] = { 's', 's' };
+static const symbol s_3[] = { 0xE4 };
+static const symbol s_4[] = { 0xF6 };
+static const symbol s_5[] = { 0xFC };
+static const symbol s_6[] = { 'y' };
+static const symbol s_7[] = { 'u' };
+static const symbol s_8[] = { 'a' };
+static const symbol s_9[] = { 'o' };
+static const symbol s_10[] = { 's', 'y', 's', 't' };
+static const symbol s_11[] = { 'n', 'i', 's' };
+static const symbol s_12[] = { 'l' };
+static const symbol s_13[] = { 'i', 'g' };
+static const symbol s_14[] = { 'e', 'r' };
+static const symbol s_15[] = { 'e', 'n' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 'a', 'e' };
 static const symbol s_0_2[2] = { 'o', 'e' };
 static const symbol s_0_3[2] = { 'q', 'u' };
 static const symbol s_0_4[2] = { 'u', 'e' };
 static const symbol s_0_5[1] = { 0xDF };
-
-static const struct among a_0[6] =
-{
-{ 0, 0, -1, 5, 0},
-{ 2, s_0_1, 0, 2, 0},
-{ 2, s_0_2, 0, 3, 0},
-{ 2, s_0_3, 0, -1, 0},
-{ 2, s_0_4, 0, 4, 0},
-{ 1, s_0_5, 0, 1, 0}
+static const struct among a_0[6] = {
+{ 0, 0, 0, 5, 0},
+{ 2, s_0_1, -1, 2, 0},
+{ 2, s_0_2, -2, 3, 0},
+{ 2, s_0_3, -3, -1, 0},
+{ 2, s_0_4, -4, 4, 0},
+{ 1, s_0_5, -5, 1, 0}
 };
 
 static const symbol s_1_1[1] = { 'U' };
@@ -48,15 +65,13 @@ static const symbol s_1_2[1] = { 'Y' };
 static const symbol s_1_3[1] = { 0xE4 };
 static const symbol s_1_4[1] = { 0xF6 };
 static const symbol s_1_5[1] = { 0xFC };
-
-static const struct among a_1[6] =
-{
-{ 0, 0, -1, 5, 0},
-{ 1, s_1_1, 0, 2, 0},
-{ 1, s_1_2, 0, 1, 0},
-{ 1, s_1_3, 0, 3, 0},
-{ 1, s_1_4, 0, 4, 0},
-{ 1, s_1_5, 0, 2, 0}
+static const struct among a_1[6] = {
+{ 0, 0, 0, 5, 0},
+{ 1, s_1_1, -1, 2, 0},
+{ 1, s_1_2, -2, 1, 0},
+{ 1, s_1_3, -3, 3, 0},
+{ 1, s_1_4, -4, 4, 0},
+{ 1, s_1_5, -5, 2, 0}
 };
 
 static const symbol s_2_0[1] = { 'e' };
@@ -70,237 +85,237 @@ static const symbol s_2_7[2] = { 'e', 'r' };
 static const symbol s_2_8[1] = { 's' };
 static const symbol s_2_9[2] = { 'e', 's' };
 static const symbol s_2_10[3] = { 'l', 'n', 's' };
-
-static const struct among a_2[11] =
-{
-{ 1, s_2_0, -1, 3, 0},
-{ 2, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 3, 0},
-{ 7, s_2_3, 2, 2, 0},
-{ 4, s_2_4, -1, 2, 0},
-{ 2, s_2_5, -1, 5, 0},
-{ 3, s_2_6, -1, 2, 0},
-{ 2, s_2_7, -1, 2, 0},
-{ 1, s_2_8, -1, 4, 0},
-{ 2, s_2_9, 8, 3, 0},
-{ 3, s_2_10, 8, 5, 0}
+static const struct among a_2[11] = {
+{ 1, s_2_0, 0, 3, 0},
+{ 2, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 3, 0},
+{ 7, s_2_3, -1, 2, 0},
+{ 4, s_2_4, 0, 2, 0},
+{ 2, s_2_5, 0, 5, 0},
+{ 3, s_2_6, 0, 2, 0},
+{ 2, s_2_7, 0, 2, 0},
+{ 1, s_2_8, 0, 4, 0},
+{ 2, s_2_9, -1, 3, 0},
+{ 3, s_2_10, -2, 5, 0}
 };
 
-static const symbol s_3_0[2] = { 'e', 'n' };
-static const symbol s_3_1[2] = { 'e', 'r' };
-static const symbol s_3_2[2] = { 's', 't' };
-static const symbol s_3_3[3] = { 'e', 's', 't' };
-
-static const struct among a_3[4] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 3, s_3_3, 2, 1, 0}
+static const symbol s_3_0[4] = { 't', 'i', 'c', 'k' };
+static const symbol s_3_1[4] = { 'p', 'l', 'a', 'n' };
+static const symbol s_3_2[6] = { 'g', 'e', 'o', 'r', 'd', 'n' };
+static const symbol s_3_3[6] = { 'i', 'n', 't', 'e', 'r', 'n' };
+static const symbol s_3_4[2] = { 't', 'r' };
+static const struct among a_3[5] = {
+{ 4, s_3_0, 0, -1, 0},
+{ 4, s_3_1, 0, -1, 0},
+{ 6, s_3_2, 0, -1, 0},
+{ 6, s_3_3, 0, -1, 0},
+{ 2, s_3_4, 0, -1, 0}
 };
 
-static const symbol s_4_0[2] = { 'i', 'g' };
-static const symbol s_4_1[4] = { 'l', 'i', 'c', 'h' };
-
-static const struct among a_4[2] =
-{
-{ 2, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0}
+static const symbol s_4_0[2] = { 'e', 'n' };
+static const symbol s_4_1[2] = { 'e', 'r' };
+static const symbol s_4_2[2] = { 'e', 't' };
+static const symbol s_4_3[2] = { 's', 't' };
+static const symbol s_4_4[3] = { 'e', 's', 't' };
+static const struct among a_4[5] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 3, 0},
+{ 2, s_4_3, 0, 2, 0},
+{ 3, s_4_4, -1, 1, 0}
 };
 
-static const symbol s_5_0[3] = { 'e', 'n', 'd' };
-static const symbol s_5_1[2] = { 'i', 'g' };
-static const symbol s_5_2[3] = { 'u', 'n', 'g' };
-static const symbol s_5_3[4] = { 'l', 'i', 'c', 'h' };
-static const symbol s_5_4[4] = { 'i', 's', 'c', 'h' };
-static const symbol s_5_5[2] = { 'i', 'k' };
-static const symbol s_5_6[4] = { 'h', 'e', 'i', 't' };
-static const symbol s_5_7[4] = { 'k', 'e', 'i', 't' };
+static const symbol s_5_0[2] = { 'i', 'g' };
+static const symbol s_5_1[4] = { 'l', 'i', 'c', 'h' };
+static const struct among a_5[2] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0}
+};
 
-static const struct among a_5[8] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 2, 0},
-{ 3, s_5_2, -1, 1, 0},
-{ 4, s_5_3, -1, 3, 0},
-{ 4, s_5_4, -1, 2, 0},
-{ 2, s_5_5, -1, 2, 0},
-{ 4, s_5_6, -1, 3, 0},
-{ 4, s_5_7, -1, 4, 0}
+static const symbol s_6_0[3] = { 'e', 'n', 'd' };
+static const symbol s_6_1[2] = { 'i', 'g' };
+static const symbol s_6_2[3] = { 'u', 'n', 'g' };
+static const symbol s_6_3[4] = { 'l', 'i', 'c', 'h' };
+static const symbol s_6_4[4] = { 'i', 's', 'c', 'h' };
+static const symbol s_6_5[2] = { 'i', 'k' };
+static const symbol s_6_6[4] = { 'h', 'e', 'i', 't' };
+static const symbol s_6_7[4] = { 'k', 'e', 'i', 't' };
+static const struct among a_6[8] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 2, s_6_1, 0, 2, 0},
+{ 3, s_6_2, 0, 1, 0},
+{ 4, s_6_3, 0, 3, 0},
+{ 4, s_6_4, 0, 2, 0},
+{ 2, s_6_5, 0, 2, 0},
+{ 4, s_6_6, 0, 3, 0},
+{ 4, s_6_7, 0, 4, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
 
+static const unsigned char g_et_ending[] = { 1, 128, 198, 227, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
 static const unsigned char g_s_ending[] = { 117, 30, 5 };
 
 static const unsigned char g_st_ending[] = { 117, 30, 4 };
 
-static const symbol s_0[] = { 'U' };
-static const symbol s_1[] = { 'Y' };
-static const symbol s_2[] = { 's', 's' };
-static const symbol s_3[] = { 0xE4 };
-static const symbol s_4[] = { 0xF6 };
-static const symbol s_5[] = { 0xFC };
-static const symbol s_6[] = { 'y' };
-static const symbol s_7[] = { 'u' };
-static const symbol s_8[] = { 'a' };
-static const symbol s_9[] = { 'o' };
-static const symbol s_10[] = { 's', 'y', 's', 't' };
-static const symbol s_11[] = { 'n', 'i', 's' };
-static const symbol s_12[] = { 'l' };
-static const symbol s_13[] = { 'i', 'g' };
-static const symbol s_14[] = { 'e', 'r' };
-static const symbol s_15[] = { 'e', 'n' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
                 z->bra = z->c;
-                {   int c4 = z->c;
-                    if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
+                do {
+                    int v_4 = z->c;
+                    if (z->c == z->l || z->p[z->c] != 'u') goto lab2;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping(z, g_v, 97, 252, 0)) goto lab3;
-                    {   int ret = slice_from_s(z, 1, s_0);
+                    if (in_grouping(z, g_v, 97, 252, 0)) goto lab2;
+                    {
+                        int ret = slice_from_s(z, 1, s_0);
                         if (ret < 0) return ret;
                     }
-                    goto lab2;
-                lab3:
-                    z->c = c4;
+                    break;
+                lab2:
+                    z->c = v_4;
                     if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
                     z->c++;
                     z->ket = z->c;
                     if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
-                    {   int ret = slice_from_s(z, 1, s_1);
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
                         if (ret < 0) return ret;
                     }
-                }
-            lab2:
-                z->c = c3;
+                } while (0);
+                z->c = v_3;
                 break;
             lab1:
-                z->c = c3;
+                z->c = v_3;
                 if (z->c >= z->l) goto lab0;
                 z->c++;
             }
             continue;
         lab0:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c_test1;
+        z->c = v_1;
     }
-    while(1) {
-        int c5 = z->c;
+    while (1) {
+        int v_5 = z->c;
         z->bra = z->c;
-        among_var = find_among(z, a_0, 6);
+        among_var = find_among(z, a_0, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_2);
+                {
+                    int ret = slice_from_s(z, 2, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_5);
+                {
+                    int ret = slice_from_s(z, 1, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                if (z->c >= z->l) goto lab4;
+                if (z->c >= z->l) goto lab3;
                 z->c++;
                 break;
         }
         continue;
-    lab4:
-        z->c = c5;
+    lab3:
+        z->c = v_5;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-z->c = z->c + 3;
-        if (z->c > z->l) return 0;
-        z->I[0] = z->c;
-        z->c = c_test1;
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        i_x = z->c;
+        z->c = v_1;
     }
-
     {
         int ret = out_grouping(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-
     {
         int ret = in_grouping(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[2] = z->c;
-
-    if (z->I[2] >= z->I[0]) goto lab0;
-    z->I[2] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
-
     {
         int ret = out_grouping(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-
     {
         int ret = in_grouping(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
+    ((SN_local *)z)->i_p2 = z->c;
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
-        among_var = find_among(z, a_1, 6);
+        among_var = find_among(z, a_1, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_6);
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_7);
+                {
+                    int ret = slice_from_s(z, 1, s_7);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_8);
+                {
+                    int ret = slice_from_s(z, 1, s_8);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -311,60 +326,68 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
-        among_var = find_among_b(z, a_2, 11);
+        among_var = find_among_b(z, a_2, 11, 0);
         if (!among_var) goto lab0;
         z->bra = z->c;
-        {   int ret = r_R1(z);
+        {
+            int ret = r_R1(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int m2 = z->l - z->c; (void)m2;
+                {
+                    int v_2 = z->l - z->c;
                     if (!(eq_s_b(z, 4, s_10))) goto lab1;
                     goto lab0;
                 lab1:
-                    z->c = z->l - m2;
+                    z->c = z->l - v_2;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m3 = z->l - z->c; (void)m3;
+                {
+                    int v_3 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m3; goto lab2; }
+                    if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - v_3; goto lab2; }
                     z->c--;
                     z->bra = z->c;
-                    if (!(eq_s_b(z, 3, s_11))) { z->c = z->l - m3; goto lab2; }
-                    {   int ret = slice_del(z);
+                    if (!(eq_s_b(z, 3, s_11))) { z->c = z->l - v_3; goto lab2; }
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                 lab2:
@@ -373,136 +396,178 @@ static int r_standard_suffix(struct SN_env * z) {
                 break;
             case 4:
                 if (in_grouping_b(z, g_s_ending, 98, 116, 0)) goto lab0;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_12);
+                {
+                    int ret = slice_from_s(z, 1, s_12);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m4 = z->l - z->c; (void)m4;
+    {
+        int v_4 = z->l - z->c;
         z->ket = z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
-        among_var = find_among_b(z, a_3, 4);
+        among_var = find_among_b(z, a_4, 5, 0);
         if (!among_var) goto lab3;
         z->bra = z->c;
-        {   int ret = r_R1(z);
+        {
+            int ret = r_R1(z);
             if (ret == 0) goto lab3;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
                 if (in_grouping_b(z, g_st_ending, 98, 116, 0)) goto lab3;
-z->c = z->c - 3;
-                if (z->c < z->lb) goto lab3;
-                {   int ret = slice_del(z);
+                if (z->c - 3 < z->lb) goto lab3;
+                z->c -= 3;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int v_5 = z->l - z->c;
+                    if (in_grouping_b(z, g_et_ending, 85, 228, 0)) goto lab3;
+                    z->c = z->l - v_5;
+                }
+                {
+                    int v_6 = z->l - z->c;
+                    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((280576 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4;
+                    if (!find_among_b(z, a_3, 5, 0)) goto lab4;
+                    goto lab3;
+                lab4:
+                    z->c = z->l - v_6;
+                }
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab3:
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
+    {
+        int v_7 = z->l - z->c;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4;
-        among_var = find_among_b(z, a_5, 8);
-        if (!among_var) goto lab4;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab5;
+        among_var = find_among_b(z, a_6, 8, 0);
+        if (!among_var) goto lab5;
         z->bra = z->c;
-        {   int ret = r_R2(z);
-            if (ret == 0) goto lab4;
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab5;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
+                {
+                    int v_8 = z->l - z->c;
                     z->ket = z->c;
-                    if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m6; goto lab5; }
+                    if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - v_8; goto lab6; }
                     z->bra = z->c;
-                    {   int m7 = z->l - z->c; (void)m7;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
+                    {
+                        int v_9 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
                         z->c--;
-                        { z->c = z->l - m6; goto lab5; }
-                    lab6:
-                        z->c = z->l - m7;
+                        { z->c = z->l - v_8; goto lab6; }
+                    lab7:
+                        z->c = z->l - v_9;
                     }
-                    {   int ret = r_R2(z);
-                        if (ret == 0) { z->c = z->l - m6; goto lab5; }
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) { z->c = z->l - v_8; goto lab6; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab5:
+                lab6:
                     ;
                 }
                 break;
             case 2:
-                {   int m8 = z->l - z->c; (void)m8;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
+                {
+                    int v_10 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
                     z->c--;
-                    goto lab4;
-                lab7:
-                    z->c = z->l - m8;
+                    goto lab5;
+                lab8:
+                    z->c = z->l - v_10;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m9 = z->l - z->c; (void)m9;
+                {
+                    int v_11 = z->l - z->c;
                     z->ket = z->c;
-                    {   int m10 = z->l - z->c; (void)m10;
+                    do {
+                        int v_12 = z->l - z->c;
                         if (!(eq_s_b(z, 2, s_14))) goto lab10;
-                        goto lab9;
+                        break;
                     lab10:
-                        z->c = z->l - m10;
-                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m9; goto lab8; }
-                    }
-                lab9:
+                        z->c = z->l - v_12;
+                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - v_11; goto lab9; }
+                    } while (0);
                     z->bra = z->c;
-                    {   int ret = r_R1(z);
-                        if (ret == 0) { z->c = z->l - m9; goto lab8; }
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) { z->c = z->l - v_11; goto lab9; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab8:
+                lab9:
                     ;
                 }
                 break;
             case 4:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m11 = z->l - z->c; (void)m11;
+                {
+                    int v_13 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m11; goto lab11; }
-                    if (!find_among_b(z, a_4, 2)) { z->c = z->l - m11; goto lab11; }
+                    if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - v_13; goto lab11; }
+                    if (!find_among_b(z, a_5, 2, 0)) { z->c = z->l - v_13; goto lab11; }
                     z->bra = z->c;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) { z->c = z->l - m11; goto lab11; }
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) { z->c = z->l - v_13; goto lab11; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                 lab11:
@@ -510,42 +575,56 @@ z->c = z->c - 3;
                 }
                 break;
         }
-    lab4:
-        z->c = z->l - m5;
+    lab5:
+        z->c = z->l - v_7;
     }
     return 1;
 }
 
 extern int german_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int ret = r_standard_suffix(z);
+    {
+        int ret = r_standard_suffix(z);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
-    {   int c3 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_3 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c3;
+        z->c = v_3;
     }
     return 1;
 }
 
-extern struct SN_env * german_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * german_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void german_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void german_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 8624d0382ebde6d4288c4d5be7eb1ae9e135f851..986599f3dc0f9292dbbc9332f2db0cd995c852d2 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from indonesian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_indonesian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_prefix;
+    int i_measure;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,59 +21,44 @@ extern int indonesian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_VOWEL(struct SN_env * z);
-static int r_SUFFIX_I_OK(struct SN_env * z);
-static int r_SUFFIX_AN_OK(struct SN_env * z);
-static int r_SUFFIX_KAN_OK(struct SN_env * z);
-static int r_KER(struct SN_env * z);
+
 static int r_remove_suffix(struct SN_env * z);
 static int r_remove_second_order_prefix(struct SN_env * z);
 static int r_remove_first_order_prefix(struct SN_env * z);
 static int r_remove_possessive_pronoun(struct SN_env * z);
 static int r_remove_particle(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * indonesian_ISO_8859_1_create_env(void);
-extern void indonesian_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 'p' };
+static const symbol s_3[] = { 'p' };
+static const symbol s_4[] = { 'a', 'j', 'a', 'r' };
+static const symbol s_5[] = { 'a', 'j', 'a', 'r' };
+static const symbol s_6[] = { 'e', 'r' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'k', 'a', 'h' };
 static const symbol s_0_1[3] = { 'l', 'a', 'h' };
 static const symbol s_0_2[3] = { 'p', 'u', 'n' };
-
-static const struct among a_0[3] =
-{
-{ 3, s_0_0, -1, 1, 0},
-{ 3, s_0_1, -1, 1, 0},
-{ 3, s_0_2, -1, 1, 0}
+static const struct among a_0[3] = {
+{ 3, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 1, 0},
+{ 3, s_0_2, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'n', 'y', 'a' };
 static const symbol s_1_1[2] = { 'k', 'u' };
 static const symbol s_1_2[2] = { 'm', 'u' };
-
-static const struct among a_1[3] =
-{
-{ 3, s_1_0, -1, 1, 0},
-{ 2, s_1_1, -1, 1, 0},
-{ 2, s_1_2, -1, 1, 0}
+static const struct among a_1[3] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 2, s_1_1, 0, 1, 0},
+{ 2, s_1_2, 0, 1, 0}
 };
 
 static const symbol s_2_0[1] = { 'i' };
 static const symbol s_2_1[2] = { 'a', 'n' };
-static const symbol s_2_2[3] = { 'k', 'a', 'n' };
-
-static const struct among a_2[3] =
-{
-{ 1, s_2_0, -1, 1, r_SUFFIX_I_OK},
-{ 2, s_2_1, -1, 1, r_SUFFIX_AN_OK},
-{ 3, s_2_2, 1, 1, r_SUFFIX_KAN_OK}
+static const struct among a_2[2] = {
+{ 1, s_2_0, 0, 2, 0},
+{ 2, s_2_1, 0, 1, 0}
 };
 
 static const symbol s_3_0[2] = { 'd', 'i' };
@@ -70,123 +67,97 @@ static const symbol s_3_2[2] = { 'm', 'e' };
 static const symbol s_3_3[3] = { 'm', 'e', 'm' };
 static const symbol s_3_4[3] = { 'm', 'e', 'n' };
 static const symbol s_3_5[4] = { 'm', 'e', 'n', 'g' };
-static const symbol s_3_6[4] = { 'm', 'e', 'n', 'y' };
-static const symbol s_3_7[3] = { 'p', 'e', 'm' };
-static const symbol s_3_8[3] = { 'p', 'e', 'n' };
-static const symbol s_3_9[4] = { 'p', 'e', 'n', 'g' };
-static const symbol s_3_10[4] = { 'p', 'e', 'n', 'y' };
-static const symbol s_3_11[3] = { 't', 'e', 'r' };
-
-static const struct among a_3[12] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 2, 0},
-{ 2, s_3_2, -1, 1, 0},
-{ 3, s_3_3, 2, 5, 0},
-{ 3, s_3_4, 2, 1, 0},
-{ 4, s_3_5, 4, 1, 0},
-{ 4, s_3_6, 4, 3, r_VOWEL},
-{ 3, s_3_7, -1, 6, 0},
-{ 3, s_3_8, -1, 2, 0},
-{ 4, s_3_9, 8, 2, 0},
-{ 4, s_3_10, 8, 4, r_VOWEL},
-{ 3, s_3_11, -1, 1, 0}
+static const symbol s_3_6[3] = { 'p', 'e', 'm' };
+static const symbol s_3_7[3] = { 'p', 'e', 'n' };
+static const symbol s_3_8[4] = { 'p', 'e', 'n', 'g' };
+static const symbol s_3_9[3] = { 't', 'e', 'r' };
+static const struct among a_3[10] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 2, s_3_1, 0, 3, 0},
+{ 2, s_3_2, 0, 1, 0},
+{ 3, s_3_3, -1, 5, 0},
+{ 3, s_3_4, -2, 2, 0},
+{ 4, s_3_5, -1, 1, 0},
+{ 3, s_3_6, 0, 6, 0},
+{ 3, s_3_7, 0, 4, 0},
+{ 4, s_3_8, -1, 3, 0},
+{ 3, s_3_9, 0, 1, 0}
 };
 
 static const symbol s_4_0[2] = { 'b', 'e' };
-static const symbol s_4_1[7] = { 'b', 'e', 'l', 'a', 'j', 'a', 'r' };
-static const symbol s_4_2[3] = { 'b', 'e', 'r' };
-static const symbol s_4_3[2] = { 'p', 'e' };
-static const symbol s_4_4[7] = { 'p', 'e', 'l', 'a', 'j', 'a', 'r' };
-static const symbol s_4_5[3] = { 'p', 'e', 'r' };
-
-static const struct among a_4[6] =
-{
-{ 2, s_4_0, -1, 3, r_KER},
-{ 7, s_4_1, 0, 4, 0},
-{ 3, s_4_2, 0, 3, 0},
-{ 2, s_4_3, -1, 1, 0},
-{ 7, s_4_4, 3, 2, 0},
-{ 3, s_4_5, 3, 1, 0}
+static const symbol s_4_1[2] = { 'p', 'e' };
+static const struct among a_4[2] = {
+{ 2, s_4_0, 0, 2, 0},
+{ 2, s_4_1, 0, 1, 0}
 };
 
 static const unsigned char g_vowel[] = { 17, 65, 16 };
 
-static const symbol s_0[] = { 'e', 'r' };
-static const symbol s_1[] = { 's' };
-static const symbol s_2[] = { 's' };
-static const symbol s_3[] = { 'p' };
-static const symbol s_4[] = { 'p' };
-static const symbol s_5[] = { 'a', 'j', 'a', 'r' };
-static const symbol s_6[] = { 'a', 'j', 'a', 'r' };
-
 static int r_remove_particle(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 104 && z->p[z->c - 1] != 110)) return 0;
-    if (!find_among_b(z, a_0, 3)) return 0;
+    if (!find_among_b(z, a_0, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
 static int r_remove_possessive_pronoun(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) return 0;
-    if (!find_among_b(z, a_1, 3)) return 0;
+    if (!find_among_b(z, a_1, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
-    return 1;
-}
-
-static int r_SUFFIX_KAN_OK(struct SN_env * z) {
-
-    if (z->I[0] == 3) return 0;
-    if (z->I[0] == 2) return 0;
-    return 1;
-}
-
-static int r_SUFFIX_AN_OK(struct SN_env * z) {
-    return z->I[0] != 1;
-}
-
-static int r_SUFFIX_I_OK(struct SN_env * z) {
-    if (z->I[0] > 2) return 0;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
-        z->c--;
-        return 0;
-    lab0:
-        z->c = z->l - m1;
-    }
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
 static int r_remove_suffix(struct SN_env * z) {
+    int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 110)) return 0;
-    if (!find_among_b(z, a_2, 3)) return 0;
+    among_var = find_among_b(z, a_2, 2, 0);
+    if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    switch (among_var) {
+        case 1:
+            do {
+                int v_1 = z->l - z->c;
+                if (((SN_local *)z)->i_prefix == 3) goto lab0;
+                if (((SN_local *)z)->i_prefix == 2) goto lab0;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0;
+                z->c--;
+                z->bra = z->c;
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (((SN_local *)z)->i_prefix == 1) return 0;
+            } while (0);
+            break;
+        case 2:
+            if (((SN_local *)z)->i_prefix > 2) return 0;
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+                z->c--;
+                return 0;
+            lab1:
+                z->c = z->l - v_2;
+            }
+            break;
+    }
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
-    return 1;
-}
-
-static int r_VOWEL(struct SN_env * z) {
-    if (in_grouping(z, g_vowel, 97, 117, 0)) return 0;
-    return 1;
-}
-
-static int r_KER(struct SN_env * z) {
-    if (out_grouping(z, g_vowel, 97, 117, 0)) return 0;
-    if (!(eq_s(z, 2, s_0))) return 0;
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
@@ -194,77 +165,127 @@ static int r_remove_first_order_prefix(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 1 >= z->l || (z->p[z->c + 1] != 105 && z->p[z->c + 1] != 101)) return 0;
-    among_var = find_among(z, a_3, 12);
+    among_var = find_among(z, a_3, 10, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            z->I[0] = 1;
-            z->I[1] -= 1;
+            ((SN_local *)z)->i_prefix = 1;
+            ((SN_local *)z)->i_measure -= 1;
             break;
         case 2:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 3;
-            z->I[1] -= 1;
+            do {
+                int v_1 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
+                z->c++;
+                {
+                    int v_2 = z->c;
+                    if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab0;
+                    z->c = v_2;
+                }
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_0);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 1;
+                ((SN_local *)z)->i_measure -= 1;
+                break;
+            lab0:
+                z->c = v_1;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 1;
+                ((SN_local *)z)->i_measure -= 1;
+            } while (0);
             break;
         case 3:
-            z->I[0] = 1;
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            z->I[1] -= 1;
+            ((SN_local *)z)->i_prefix = 3;
+            ((SN_local *)z)->i_measure -= 1;
             break;
         case 4:
-            z->I[0] = 3;
-            {   int ret = slice_from_s(z, 1, s_2);
-                if (ret < 0) return ret;
-            }
-            z->I[1] -= 1;
+            do {
+                int v_3 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
+                z->c++;
+                {
+                    int v_4 = z->c;
+                    if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab1;
+                    z->c = v_4;
+                }
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_1);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 3;
+                ((SN_local *)z)->i_measure -= 1;
+                break;
+            lab1:
+                z->c = v_3;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 3;
+                ((SN_local *)z)->i_measure -= 1;
+            } while (0);
             break;
         case 5:
-            z->I[0] = 1;
-            z->I[1] -= 1;
-            {   int c1 = z->c;
-                {   int c2 = z->c;
-                    if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab1;
-                    z->c = c2;
-                    {   int ret = slice_from_s(z, 1, s_3);
+            ((SN_local *)z)->i_prefix = 1;
+            ((SN_local *)z)->i_measure -= 1;
+            do {
+                int v_5 = z->c;
+                {
+                    int v_6 = z->c;
+                    if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab2;
+                    z->c = v_6;
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
                         if (ret < 0) return ret;
                     }
                 }
-                goto lab0;
-            lab1:
-                z->c = c1;
-                {   int ret = slice_del(z);
+                break;
+            lab2:
+                z->c = v_5;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-            }
-        lab0:
+            } while (0);
             break;
         case 6:
-            z->I[0] = 3;
-            z->I[1] -= 1;
-            {   int c3 = z->c;
-                {   int c4 = z->c;
+            ((SN_local *)z)->i_prefix = 3;
+            ((SN_local *)z)->i_measure -= 1;
+            do {
+                int v_7 = z->c;
+                {
+                    int v_8 = z->c;
                     if (in_grouping(z, g_vowel, 97, 117, 0)) goto lab3;
-                    z->c = c4;
-                    {   int ret = slice_from_s(z, 1, s_4);
+                    z->c = v_8;
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
                         if (ret < 0) return ret;
                     }
                 }
-                goto lab2;
+                break;
             lab3:
-                z->c = c3;
-                {   int ret = slice_del(z);
+                z->c = v_7;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-            }
-        lab2:
+            } while (0);
             break;
     }
     return 1;
@@ -274,134 +295,174 @@ static int r_remove_second_order_prefix(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 1 >= z->l || z->p[z->c + 1] != 101) return 0;
-    among_var = find_among(z, a_4, 6);
+    among_var = find_among(z, a_4, 2, 0);
     if (!among_var) return 0;
-    z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 2;
-            z->I[1] -= 1;
+            do {
+                int v_1 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'r') goto lab0;
+                z->c++;
+                z->ket = z->c;
+                ((SN_local *)z)->i_prefix = 2;
+                break;
+            lab0:
+                z->c = v_1;
+                if (z->c == z->l || z->p[z->c] != 'l') goto lab1;
+                z->c++;
+                z->ket = z->c;
+                if (!(eq_s(z, 4, s_4))) goto lab1;
+                break;
+            lab1:
+                z->c = v_1;
+                z->ket = z->c;
+                ((SN_local *)z)->i_prefix = 2;
+            } while (0);
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_5);
-                if (ret < 0) return ret;
-            }
-            z->I[1] -= 1;
-            break;
-        case 3:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 4;
-            z->I[1] -= 1;
-            break;
-        case 4:
-            {   int ret = slice_from_s(z, 4, s_6);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 4;
-            z->I[1] -= 1;
+            do {
+                int v_2 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'r') goto lab2;
+                z->c++;
+                z->ket = z->c;
+                break;
+            lab2:
+                z->c = v_2;
+                if (z->c == z->l || z->p[z->c] != 'l') goto lab3;
+                z->c++;
+                z->ket = z->c;
+                if (!(eq_s(z, 4, s_5))) goto lab3;
+                break;
+            lab3:
+                z->c = v_2;
+                z->ket = z->c;
+                if (out_grouping(z, g_vowel, 97, 117, 0)) return 0;
+                if (!(eq_s(z, 2, s_6))) return 0;
+            } while (0);
+            ((SN_local *)z)->i_prefix = 4;
             break;
     }
+    ((SN_local *)z)->i_measure -= 1;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
     return 1;
 }
 
 extern int indonesian_ISO_8859_1_stem(struct SN_env * z) {
-    z->I[1] = 0;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-
+    ((SN_local *)z)->i_measure = 0;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             {
                 int ret = out_grouping(z, g_vowel, 97, 117, 1);
                 if (ret < 0) goto lab1;
                 z->c += ret;
             }
-            z->I[1] += 1;
+            ((SN_local *)z)->i_measure += 1;
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    if (z->I[1] <= 2) return 0;
-    z->I[0] = 0;
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    ((SN_local *)z)->i_prefix = 0;
     z->lb = z->c; z->c = z->l;
-
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_remove_particle(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_remove_particle(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    if (z->I[1] <= 2) return 0;
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_remove_possessive_pronoun(z);
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_remove_possessive_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    if (z->I[1] <= 2) return 0;
-    {   int c5 = z->c;
-        {   int c_test6 = z->c;
-            {   int ret = r_remove_first_order_prefix(z);
-                if (ret == 0) goto lab3;
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    do {
+        int v_5 = z->c;
+        {
+            int v_6 = z->c;
+            {
+                int ret = r_remove_first_order_prefix(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            {   int c7 = z->c;
-                {   int c_test8 = z->c;
-                    if (z->I[1] <= 2) goto lab4;
+            {
+                int v_7 = z->c;
+                {
+                    int v_8 = z->c;
+                    if (((SN_local *)z)->i_measure <= 2) goto lab3;
                     z->lb = z->c; z->c = z->l;
-
-                    {   int ret = r_remove_suffix(z);
-                        if (ret == 0) goto lab4;
+                    {
+                        int ret = r_remove_suffix(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
                     z->c = z->lb;
-                    z->c = c_test8;
+                    z->c = v_8;
                 }
-                if (z->I[1] <= 2) goto lab4;
-                {   int ret = r_remove_second_order_prefix(z);
-                    if (ret == 0) goto lab4;
+                if (((SN_local *)z)->i_measure <= 2) goto lab3;
+                {
+                    int ret = r_remove_second_order_prefix(z);
+                    if (ret == 0) goto lab3;
                     if (ret < 0) return ret;
                 }
-            lab4:
-                z->c = c7;
+            lab3:
+                z->c = v_7;
             }
-            z->c = c_test6;
+            z->c = v_6;
         }
-        goto lab2;
-    lab3:
-        z->c = c5;
-        {   int c9 = z->c;
-            {   int ret = r_remove_second_order_prefix(z);
+        break;
+    lab2:
+        z->c = v_5;
+        {
+            int v_9 = z->c;
+            {
+                int ret = r_remove_second_order_prefix(z);
                 if (ret < 0) return ret;
             }
-            z->c = c9;
+            z->c = v_9;
         }
-        {   int c10 = z->c;
-            if (z->I[1] <= 2) goto lab5;
+        {
+            int v_10 = z->c;
+            if (((SN_local *)z)->i_measure <= 2) goto lab4;
             z->lb = z->c; z->c = z->l;
-
-            {   int ret = r_remove_suffix(z);
-                if (ret == 0) goto lab5;
+            {
+                int ret = r_remove_suffix(z);
+                if (ret == 0) goto lab4;
                 if (ret < 0) return ret;
             }
             z->c = z->lb;
-        lab5:
-            z->c = c10;
+        lab4:
+            z->c = v_10;
         }
-    }
-lab2:
+    } while (0);
     return 1;
 }
 
-extern struct SN_env * indonesian_ISO_8859_1_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * indonesian_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_prefix = 0;
+        ((SN_local *)z)->i_measure = 0;
+    }
+    return z;
+}
 
-extern void indonesian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void indonesian_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index a61591eab3f950c038403209522588feadc538ed..9a14b0d5d40d0e193e9944b3ca50f2c04975445f 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from irish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_irish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int irish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_verb_sfx(struct SN_env * z);
 static int r_deriv(struct SN_env * z);
 static int r_noun_sfx(struct SN_env * z);
@@ -17,18 +31,22 @@ static int r_initial_morph(struct SN_env * z);
 static int r_RV(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * irish_ISO_8859_1_create_env(void);
-extern void irish_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'f' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 'b' };
+static const symbol s_3[] = { 'c' };
+static const symbol s_4[] = { 'd' };
+static const symbol s_5[] = { 'g' };
+static const symbol s_6[] = { 'p' };
+static const symbol s_7[] = { 't' };
+static const symbol s_8[] = { 'm' };
+static const symbol s_9[] = { 'a', 'r', 'c' };
+static const symbol s_10[] = { 'g', 'i', 'n' };
+static const symbol s_11[] = { 'g', 'r', 'a', 'f' };
+static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' };
+static const symbol s_13[] = { 0xF3, 'i', 'd' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 'b', '\'' };
 static const symbol s_0_1[2] = { 'b', 'h' };
 static const symbol s_0_2[3] = { 'b', 'h', 'f' };
@@ -53,33 +71,31 @@ static const symbol s_0_20[2] = { 's', 'h' };
 static const symbol s_0_21[2] = { 't', '-' };
 static const symbol s_0_22[2] = { 't', 'h' };
 static const symbol s_0_23[2] = { 't', 's' };
-
-static const struct among a_0[24] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 4, 0},
-{ 3, s_0_2, 1, 2, 0},
-{ 2, s_0_3, -1, 8, 0},
-{ 2, s_0_4, -1, 5, 0},
-{ 2, s_0_5, -1, 1, 0},
-{ 4, s_0_6, 5, 2, 0},
-{ 2, s_0_7, -1, 6, 0},
-{ 2, s_0_8, -1, 9, 0},
-{ 2, s_0_9, -1, 2, 0},
-{ 2, s_0_10, -1, 5, 0},
-{ 2, s_0_11, -1, 7, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 2, s_0_13, -1, 1, 0},
-{ 2, s_0_14, -1, 4, 0},
-{ 2, s_0_15, -1, 10, 0},
-{ 2, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 6, 0},
-{ 2, s_0_18, -1, 7, 0},
-{ 2, s_0_19, -1, 8, 0},
-{ 2, s_0_20, -1, 3, 0},
-{ 2, s_0_21, -1, 1, 0},
-{ 2, s_0_22, -1, 9, 0},
-{ 2, s_0_23, -1, 3, 0}
+static const struct among a_0[24] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 4, 0},
+{ 3, s_0_2, -1, 2, 0},
+{ 2, s_0_3, 0, 8, 0},
+{ 2, s_0_4, 0, 5, 0},
+{ 2, s_0_5, 0, 1, 0},
+{ 4, s_0_6, -1, 2, 0},
+{ 2, s_0_7, 0, 6, 0},
+{ 2, s_0_8, 0, 9, 0},
+{ 2, s_0_9, 0, 2, 0},
+{ 2, s_0_10, 0, 5, 0},
+{ 2, s_0_11, 0, 7, 0},
+{ 2, s_0_12, 0, 1, 0},
+{ 2, s_0_13, 0, 1, 0},
+{ 2, s_0_14, 0, 4, 0},
+{ 2, s_0_15, 0, 10, 0},
+{ 2, s_0_16, 0, 1, 0},
+{ 2, s_0_17, 0, 6, 0},
+{ 2, s_0_18, 0, 7, 0},
+{ 2, s_0_19, 0, 8, 0},
+{ 2, s_0_20, 0, 3, 0},
+{ 2, s_0_21, 0, 1, 0},
+{ 2, s_0_22, 0, 9, 0},
+{ 2, s_0_23, 0, 3, 0}
 };
 
 static const symbol s_1_0[6] = { 0xED, 'o', 'c', 'h', 't', 'a' };
@@ -98,25 +114,23 @@ static const symbol s_1_12[5] = { 0xED, 'o', 'c', 'h', 't' };
 static const symbol s_1_13[6] = { 'a', 0xED, 'o', 'c', 'h', 't' };
 static const symbol s_1_14[3] = { 'i', 'r', 0xED };
 static const symbol s_1_15[4] = { 'a', 'i', 'r', 0xED };
-
-static const struct among a_1[16] =
-{
-{ 6, s_1_0, -1, 1, 0},
-{ 7, s_1_1, 0, 1, 0},
-{ 3, s_1_2, -1, 2, 0},
-{ 4, s_1_3, 2, 2, 0},
-{ 3, s_1_4, -1, 1, 0},
-{ 4, s_1_5, 4, 1, 0},
-{ 3, s_1_6, -1, 1, 0},
-{ 4, s_1_7, 6, 1, 0},
-{ 3, s_1_8, -1, 1, 0},
-{ 4, s_1_9, 8, 1, 0},
-{ 3, s_1_10, -1, 1, 0},
-{ 4, s_1_11, 10, 1, 0},
-{ 5, s_1_12, -1, 1, 0},
-{ 6, s_1_13, 12, 1, 0},
-{ 3, s_1_14, -1, 2, 0},
-{ 4, s_1_15, 14, 2, 0}
+static const struct among a_1[16] = {
+{ 6, s_1_0, 0, 1, 0},
+{ 7, s_1_1, -1, 1, 0},
+{ 3, s_1_2, 0, 2, 0},
+{ 4, s_1_3, -1, 2, 0},
+{ 3, s_1_4, 0, 1, 0},
+{ 4, s_1_5, -1, 1, 0},
+{ 3, s_1_6, 0, 1, 0},
+{ 4, s_1_7, -1, 1, 0},
+{ 3, s_1_8, 0, 1, 0},
+{ 4, s_1_9, -1, 1, 0},
+{ 3, s_1_10, 0, 1, 0},
+{ 4, s_1_11, -1, 1, 0},
+{ 5, s_1_12, 0, 1, 0},
+{ 6, s_1_13, -1, 1, 0},
+{ 3, s_1_14, 0, 2, 0},
+{ 4, s_1_15, -1, 2, 0}
 };
 
 static const symbol s_2_0[8] = { 0xF3, 'i', 'd', 'e', 'a', 'c', 'h', 'a' };
@@ -144,34 +158,32 @@ static const symbol s_2_21[5] = { 'e', 'a', 'c', 'h', 't' };
 static const symbol s_2_22[10] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't' };
 static const symbol s_2_23[9] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xED };
 static const symbol s_2_24[12] = { 'g', 'r', 'a', 'f', 'a', 0xED, 'o', 'c', 'h', 't', 'a', 0xED };
-
-static const struct among a_2[25] =
-{
-{ 8, s_2_0, -1, 6, 0},
-{ 7, s_2_1, -1, 5, 0},
-{ 5, s_2_2, -1, 1, 0},
-{ 8, s_2_3, 2, 2, 0},
-{ 6, s_2_4, 2, 1, 0},
-{ 11, s_2_5, -1, 4, 0},
-{ 5, s_2_6, -1, 5, 0},
-{ 3, s_2_7, -1, 1, 0},
-{ 4, s_2_8, 7, 1, 0},
-{ 7, s_2_9, 8, 6, 0},
-{ 7, s_2_10, 8, 3, 0},
-{ 6, s_2_11, 7, 5, 0},
-{ 9, s_2_12, -1, 4, 0},
-{ 7, s_2_13, -1, 5, 0},
-{ 6, s_2_14, -1, 6, 0},
-{ 7, s_2_15, -1, 1, 0},
-{ 8, s_2_16, 15, 1, 0},
-{ 6, s_2_17, -1, 3, 0},
-{ 5, s_2_18, -1, 3, 0},
-{ 4, s_2_19, -1, 1, 0},
-{ 7, s_2_20, 19, 2, 0},
-{ 5, s_2_21, 19, 1, 0},
-{ 10, s_2_22, -1, 4, 0},
-{ 9, s_2_23, -1, 2, 0},
-{ 12, s_2_24, -1, 4, 0}
+static const struct among a_2[25] = {
+{ 8, s_2_0, 0, 6, 0},
+{ 7, s_2_1, 0, 5, 0},
+{ 5, s_2_2, 0, 1, 0},
+{ 8, s_2_3, -1, 2, 0},
+{ 6, s_2_4, -2, 1, 0},
+{ 11, s_2_5, 0, 4, 0},
+{ 5, s_2_6, 0, 5, 0},
+{ 3, s_2_7, 0, 1, 0},
+{ 4, s_2_8, -1, 1, 0},
+{ 7, s_2_9, -1, 6, 0},
+{ 7, s_2_10, -2, 3, 0},
+{ 6, s_2_11, -4, 5, 0},
+{ 9, s_2_12, 0, 4, 0},
+{ 7, s_2_13, 0, 5, 0},
+{ 6, s_2_14, 0, 6, 0},
+{ 7, s_2_15, 0, 1, 0},
+{ 8, s_2_16, -1, 1, 0},
+{ 6, s_2_17, 0, 3, 0},
+{ 5, s_2_18, 0, 3, 0},
+{ 4, s_2_19, 0, 1, 0},
+{ 7, s_2_20, -1, 2, 0},
+{ 5, s_2_21, -2, 1, 0},
+{ 10, s_2_22, 0, 4, 0},
+{ 9, s_2_23, 0, 2, 0},
+{ 12, s_2_24, 0, 4, 0}
 };
 
 static const symbol s_3_0[4] = { 'i', 'm', 'i', 'd' };
@@ -186,74 +198,54 @@ static const symbol s_3_8[3] = { 0xE1, 'i', 'l' };
 static const symbol s_3_9[3] = { 'a', 'i', 'n' };
 static const symbol s_3_10[4] = { 't', 'e', 'a', 'r' };
 static const symbol s_3_11[3] = { 't', 'a', 'r' };
-
-static const struct among a_3[12] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 5, s_3_1, 0, 1, 0},
-{ 4, s_3_2, -1, 1, 0},
-{ 5, s_3_3, 2, 1, 0},
-{ 3, s_3_4, -1, 2, 0},
-{ 4, s_3_5, 4, 2, 0},
-{ 5, s_3_6, -1, 1, 0},
-{ 4, s_3_7, -1, 1, 0},
-{ 3, s_3_8, -1, 2, 0},
-{ 3, s_3_9, -1, 2, 0},
-{ 4, s_3_10, -1, 2, 0},
-{ 3, s_3_11, -1, 2, 0}
+static const struct among a_3[12] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 5, s_3_1, -1, 1, 0},
+{ 4, s_3_2, 0, 1, 0},
+{ 5, s_3_3, -1, 1, 0},
+{ 3, s_3_4, 0, 2, 0},
+{ 4, s_3_5, -1, 2, 0},
+{ 5, s_3_6, 0, 1, 0},
+{ 4, s_3_7, 0, 1, 0},
+{ 3, s_3_8, 0, 2, 0},
+{ 3, s_3_9, 0, 2, 0},
+{ 4, s_3_10, 0, 2, 0},
+{ 3, s_3_11, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 };
 
-static const symbol s_0[] = { 'f' };
-static const symbol s_1[] = { 's' };
-static const symbol s_2[] = { 'b' };
-static const symbol s_3[] = { 'c' };
-static const symbol s_4[] = { 'd' };
-static const symbol s_5[] = { 'g' };
-static const symbol s_6[] = { 'p' };
-static const symbol s_7[] = { 't' };
-static const symbol s_8[] = { 'm' };
-static const symbol s_9[] = { 'a', 'r', 'c' };
-static const symbol s_10[] = { 'g', 'i', 'n' };
-static const symbol s_11[] = { 'g', 'r', 'a', 'f' };
-static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' };
-static const symbol s_13[] = { 0xF3, 'i', 'd' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[2] = z->c;
-
+        ((SN_local *)z)->i_pV = z->c;
         {
             int ret = in_grouping(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
@@ -261,57 +253,67 @@ static int r_mark_regions(struct SN_env * z) {
 static int r_initial_morph(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
-    among_var = find_among(z, a_0, 24);
+    among_var = find_among(z, a_0, 24, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 1, s_2);
+            {
+                int ret = slice_from_s(z, 1, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 1, s_3);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 1, s_4);
+            {
+                int ret = slice_from_s(z, 1, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 1, s_6);
+            {
+                int ret = slice_from_s(z, 1, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
@@ -320,37 +322,41 @@ static int r_initial_morph(struct SN_env * z) {
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_noun_sfx(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_1, 16);
+    among_var = find_among_b(z, a_1, 16, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -361,40 +367,47 @@ static int r_noun_sfx(struct SN_env * z) {
 static int r_deriv(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_2, 25);
+    among_var = find_among_b(z, a_2, 25, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_9);
+            {
+                int ret = slice_from_s(z, 3, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_10);
+            {
+                int ret = slice_from_s(z, 3, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_11);
+            {
+                int ret = slice_from_s(z, 4, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 5, s_12);
+            {
+                int ret = slice_from_s(z, 5, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 3, s_13);
+            {
+                int ret = slice_from_s(z, 3, s_13);
                 if (ret < 0) return ret;
             }
             break;
@@ -406,23 +419,27 @@ static int r_verb_sfx(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((282896 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_3, 12);
+    among_var = find_among_b(z, a_3, 12, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -431,41 +448,58 @@ static int r_verb_sfx(struct SN_env * z) {
 }
 
 extern int irish_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_initial_morph(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_initial_morph(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_noun_sfx(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_noun_sfx(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_deriv(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_deriv(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_verb_sfx(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_verb_sfx(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * irish_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * irish_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void irish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void irish_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 122449e90a9a1ea0cf87b6fdea40ffdb49161c1b..323378171d8d9ecbd6f87cc4fb4b1da2bb53e014 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from italian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_italian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int italian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_vowel_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_standard_suffix(struct SN_env * z);
@@ -19,45 +33,49 @@ static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-static int r_exceptions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * italian_ISO_8859_1_create_env(void);
-extern void italian_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xE0 };
+static const symbol s_1[] = { 0xE8 };
+static const symbol s_2[] = { 0xEC };
+static const symbol s_3[] = { 0xF2 };
+static const symbol s_4[] = { 0xF9 };
+static const symbol s_5[] = { 'q', 'U' };
+static const symbol s_6[] = { 'U' };
+static const symbol s_7[] = { 'I' };
+static const symbol s_8[] = { 'd', 'i', 'v', 'a', 'n' };
+static const symbol s_9[] = { 'i' };
+static const symbol s_10[] = { 'u' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'i', 'c' };
+static const symbol s_13[] = { 'l', 'o', 'g' };
+static const symbol s_14[] = { 'u' };
+static const symbol s_15[] = { 'e', 'n', 't', 'e' };
+static const symbol s_16[] = { 'a', 't' };
+static const symbol s_17[] = { 'a', 't' };
+static const symbol s_18[] = { 'i', 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 'q', 'u' };
 static const symbol s_0_2[1] = { 0xE1 };
 static const symbol s_0_3[1] = { 0xE9 };
 static const symbol s_0_4[1] = { 0xED };
 static const symbol s_0_5[1] = { 0xF3 };
 static const symbol s_0_6[1] = { 0xFA };
-
-static const struct among a_0[7] =
-{
-{ 0, 0, -1, 7, 0},
-{ 2, s_0_1, 0, 6, 0},
-{ 1, s_0_2, 0, 1, 0},
-{ 1, s_0_3, 0, 2, 0},
-{ 1, s_0_4, 0, 3, 0},
-{ 1, s_0_5, 0, 4, 0},
-{ 1, s_0_6, 0, 5, 0}
+static const struct among a_0[7] = {
+{ 0, 0, 0, 7, 0},
+{ 2, s_0_1, -1, 6, 0},
+{ 1, s_0_2, -2, 1, 0},
+{ 1, s_0_3, -3, 2, 0},
+{ 1, s_0_4, -4, 3, 0},
+{ 1, s_0_5, -5, 4, 0},
+{ 1, s_0_6, -6, 5, 0}
 };
 
 static const symbol s_1_1[1] = { 'I' };
 static const symbol s_1_2[1] = { 'U' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_1_1, 0, 1, 0},
-{ 1, s_1_2, 0, 2, 0}
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_1_1, -1, 1, 0},
+{ 1, s_1_2, -2, 2, 0}
 };
 
 static const symbol s_2_0[2] = { 'l', 'a' };
@@ -97,46 +115,44 @@ static const symbol s_2_33[6] = { 'g', 'l', 'i', 'e', 'l', 'o' };
 static const symbol s_2_34[4] = { 'm', 'e', 'l', 'o' };
 static const symbol s_2_35[4] = { 't', 'e', 'l', 'o' };
 static const symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
-
-static const struct among a_2[37] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 4, s_2_1, 0, -1, 0},
-{ 6, s_2_2, 0, -1, 0},
-{ 4, s_2_3, 0, -1, 0},
-{ 4, s_2_4, 0, -1, 0},
-{ 4, s_2_5, 0, -1, 0},
-{ 2, s_2_6, -1, -1, 0},
-{ 4, s_2_7, 6, -1, 0},
-{ 6, s_2_8, 6, -1, 0},
-{ 4, s_2_9, 6, -1, 0},
-{ 4, s_2_10, 6, -1, 0},
-{ 4, s_2_11, 6, -1, 0},
-{ 2, s_2_12, -1, -1, 0},
-{ 4, s_2_13, 12, -1, 0},
-{ 6, s_2_14, 12, -1, 0},
-{ 4, s_2_15, 12, -1, 0},
-{ 4, s_2_16, 12, -1, 0},
-{ 4, s_2_17, 12, -1, 0},
-{ 4, s_2_18, 12, -1, 0},
-{ 2, s_2_19, -1, -1, 0},
-{ 2, s_2_20, -1, -1, 0},
-{ 4, s_2_21, 20, -1, 0},
-{ 6, s_2_22, 20, -1, 0},
-{ 4, s_2_23, 20, -1, 0},
-{ 4, s_2_24, 20, -1, 0},
-{ 4, s_2_25, 20, -1, 0},
-{ 3, s_2_26, 20, -1, 0},
-{ 2, s_2_27, -1, -1, 0},
-{ 2, s_2_28, -1, -1, 0},
-{ 2, s_2_29, -1, -1, 0},
-{ 2, s_2_30, -1, -1, 0},
-{ 2, s_2_31, -1, -1, 0},
-{ 4, s_2_32, 31, -1, 0},
-{ 6, s_2_33, 31, -1, 0},
-{ 4, s_2_34, 31, -1, 0},
-{ 4, s_2_35, 31, -1, 0},
-{ 4, s_2_36, 31, -1, 0}
+static const struct among a_2[37] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 4, s_2_1, -1, -1, 0},
+{ 6, s_2_2, -2, -1, 0},
+{ 4, s_2_3, -3, -1, 0},
+{ 4, s_2_4, -4, -1, 0},
+{ 4, s_2_5, -5, -1, 0},
+{ 2, s_2_6, 0, -1, 0},
+{ 4, s_2_7, -1, -1, 0},
+{ 6, s_2_8, -2, -1, 0},
+{ 4, s_2_9, -3, -1, 0},
+{ 4, s_2_10, -4, -1, 0},
+{ 4, s_2_11, -5, -1, 0},
+{ 2, s_2_12, 0, -1, 0},
+{ 4, s_2_13, -1, -1, 0},
+{ 6, s_2_14, -2, -1, 0},
+{ 4, s_2_15, -3, -1, 0},
+{ 4, s_2_16, -4, -1, 0},
+{ 4, s_2_17, -5, -1, 0},
+{ 4, s_2_18, -6, -1, 0},
+{ 2, s_2_19, 0, -1, 0},
+{ 2, s_2_20, 0, -1, 0},
+{ 4, s_2_21, -1, -1, 0},
+{ 6, s_2_22, -2, -1, 0},
+{ 4, s_2_23, -3, -1, 0},
+{ 4, s_2_24, -4, -1, 0},
+{ 4, s_2_25, -5, -1, 0},
+{ 3, s_2_26, -6, -1, 0},
+{ 2, s_2_27, 0, -1, 0},
+{ 2, s_2_28, 0, -1, 0},
+{ 2, s_2_29, 0, -1, 0},
+{ 2, s_2_30, 0, -1, 0},
+{ 2, s_2_31, 0, -1, 0},
+{ 4, s_2_32, -1, -1, 0},
+{ 6, s_2_33, -2, -1, 0},
+{ 4, s_2_34, -3, -1, 0},
+{ 4, s_2_35, -4, -1, 0},
+{ 4, s_2_36, -5, -1, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
@@ -144,38 +160,32 @@ static const symbol s_3_1[4] = { 'e', 'n', 'd', 'o' };
 static const symbol s_3_2[2] = { 'a', 'r' };
 static const symbol s_3_3[2] = { 'e', 'r' };
 static const symbol s_3_4[2] = { 'i', 'r' };
-
-static const struct among a_3[5] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 2, s_3_3, -1, 2, 0},
-{ 2, s_3_4, -1, 2, 0}
+static const struct among a_3[5] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 2, s_3_2, 0, 2, 0},
+{ 2, s_3_3, 0, 2, 0},
+{ 2, s_3_4, 0, 2, 0}
 };
 
 static const symbol s_4_0[2] = { 'i', 'c' };
 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_4_2[2] = { 'o', 's' };
 static const symbol s_4_3[2] = { 'i', 'v' };
-
-static const struct among a_4[4] =
-{
-{ 2, s_4_0, -1, -1, 0},
-{ 4, s_4_1, -1, -1, 0},
-{ 2, s_4_2, -1, -1, 0},
-{ 2, s_4_3, -1, 1, 0}
+static const struct among a_4[4] = {
+{ 2, s_4_0, 0, -1, 0},
+{ 4, s_4_1, 0, -1, 0},
+{ 2, s_4_2, 0, -1, 0},
+{ 2, s_4_3, 0, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_5_2[2] = { 'i', 'v' };
-
-static const struct among a_5[3] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 2, s_5_2, -1, 1, 0}
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 2, s_5_2, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
@@ -229,60 +239,58 @@ static const symbol s_6_47[3] = { 'i', 't', 0xE0 };
 static const symbol s_6_48[4] = { 'i', 's', 't', 0xE0 };
 static const symbol s_6_49[4] = { 'i', 's', 't', 0xE8 };
 static const symbol s_6_50[4] = { 'i', 's', 't', 0xEC };
-
-static const struct among a_6[51] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 5, s_6_1, -1, 3, 0},
-{ 3, s_6_2, -1, 1, 0},
-{ 4, s_6_3, -1, 1, 0},
-{ 3, s_6_4, -1, 9, 0},
-{ 4, s_6_5, -1, 1, 0},
-{ 4, s_6_6, -1, 5, 0},
-{ 3, s_6_7, -1, 1, 0},
-{ 6, s_6_8, 7, 1, 0},
-{ 4, s_6_9, -1, 1, 0},
-{ 5, s_6_10, -1, 3, 0},
-{ 5, s_6_11, -1, 1, 0},
-{ 5, s_6_12, -1, 1, 0},
-{ 6, s_6_13, -1, 4, 0},
-{ 6, s_6_14, -1, 2, 0},
-{ 6, s_6_15, -1, 4, 0},
-{ 5, s_6_16, -1, 2, 0},
-{ 3, s_6_17, -1, 1, 0},
-{ 4, s_6_18, -1, 1, 0},
-{ 5, s_6_19, -1, 1, 0},
-{ 6, s_6_20, 19, 7, 0},
-{ 4, s_6_21, -1, 1, 0},
-{ 3, s_6_22, -1, 9, 0},
-{ 4, s_6_23, -1, 1, 0},
-{ 4, s_6_24, -1, 5, 0},
-{ 3, s_6_25, -1, 1, 0},
-{ 6, s_6_26, 25, 1, 0},
-{ 4, s_6_27, -1, 1, 0},
-{ 5, s_6_28, -1, 1, 0},
-{ 5, s_6_29, -1, 1, 0},
-{ 4, s_6_30, -1, 1, 0},
-{ 6, s_6_31, -1, 4, 0},
-{ 6, s_6_32, -1, 2, 0},
-{ 6, s_6_33, -1, 4, 0},
-{ 5, s_6_34, -1, 2, 0},
-{ 3, s_6_35, -1, 1, 0},
-{ 4, s_6_36, -1, 1, 0},
-{ 6, s_6_37, -1, 6, 0},
-{ 6, s_6_38, -1, 6, 0},
-{ 4, s_6_39, -1, 1, 0},
-{ 3, s_6_40, -1, 9, 0},
-{ 3, s_6_41, -1, 1, 0},
-{ 4, s_6_42, -1, 1, 0},
-{ 3, s_6_43, -1, 1, 0},
-{ 6, s_6_44, -1, 6, 0},
-{ 6, s_6_45, -1, 6, 0},
-{ 3, s_6_46, -1, 9, 0},
-{ 3, s_6_47, -1, 8, 0},
-{ 4, s_6_48, -1, 1, 0},
-{ 4, s_6_49, -1, 1, 0},
-{ 4, s_6_50, -1, 1, 0}
+static const struct among a_6[51] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 5, s_6_1, 0, 3, 0},
+{ 3, s_6_2, 0, 1, 0},
+{ 4, s_6_3, 0, 1, 0},
+{ 3, s_6_4, 0, 9, 0},
+{ 4, s_6_5, 0, 1, 0},
+{ 4, s_6_6, 0, 5, 0},
+{ 3, s_6_7, 0, 1, 0},
+{ 6, s_6_8, -1, 1, 0},
+{ 4, s_6_9, 0, 1, 0},
+{ 5, s_6_10, 0, 3, 0},
+{ 5, s_6_11, 0, 1, 0},
+{ 5, s_6_12, 0, 1, 0},
+{ 6, s_6_13, 0, 4, 0},
+{ 6, s_6_14, 0, 2, 0},
+{ 6, s_6_15, 0, 4, 0},
+{ 5, s_6_16, 0, 2, 0},
+{ 3, s_6_17, 0, 1, 0},
+{ 4, s_6_18, 0, 1, 0},
+{ 5, s_6_19, 0, 1, 0},
+{ 6, s_6_20, -1, 7, 0},
+{ 4, s_6_21, 0, 1, 0},
+{ 3, s_6_22, 0, 9, 0},
+{ 4, s_6_23, 0, 1, 0},
+{ 4, s_6_24, 0, 5, 0},
+{ 3, s_6_25, 0, 1, 0},
+{ 6, s_6_26, -1, 1, 0},
+{ 4, s_6_27, 0, 1, 0},
+{ 5, s_6_28, 0, 1, 0},
+{ 5, s_6_29, 0, 1, 0},
+{ 4, s_6_30, 0, 1, 0},
+{ 6, s_6_31, 0, 4, 0},
+{ 6, s_6_32, 0, 2, 0},
+{ 6, s_6_33, 0, 4, 0},
+{ 5, s_6_34, 0, 2, 0},
+{ 3, s_6_35, 0, 1, 0},
+{ 4, s_6_36, 0, 1, 0},
+{ 6, s_6_37, 0, 6, 0},
+{ 6, s_6_38, 0, 6, 0},
+{ 4, s_6_39, 0, 1, 0},
+{ 3, s_6_40, 0, 9, 0},
+{ 3, s_6_41, 0, 1, 0},
+{ 4, s_6_42, 0, 1, 0},
+{ 3, s_6_43, 0, 1, 0},
+{ 6, s_6_44, 0, 6, 0},
+{ 6, s_6_45, 0, 6, 0},
+{ 3, s_6_46, 0, 9, 0},
+{ 3, s_6_47, 0, 8, 0},
+{ 4, s_6_48, 0, 1, 0},
+{ 4, s_6_49, 0, 1, 0},
+{ 4, s_6_50, 0, 1, 0}
 };
 
 static const symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
@@ -372,96 +380,94 @@ static const symbol s_7_83[3] = { 'e', 'r', 0xE0 };
 static const symbol s_7_84[3] = { 'i', 'r', 0xE0 };
 static const symbol s_7_85[3] = { 'e', 'r', 0xF2 };
 static const symbol s_7_86[3] = { 'i', 'r', 0xF2 };
-
-static const struct among a_7[87] =
-{
-{ 4, s_7_0, -1, 1, 0},
-{ 4, s_7_1, -1, 1, 0},
-{ 3, s_7_2, -1, 1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 3, s_7_4, -1, 1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 3, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 6, s_7_8, -1, 1, 0},
-{ 6, s_7_9, -1, 1, 0},
-{ 4, s_7_10, -1, 1, 0},
-{ 4, s_7_11, -1, 1, 0},
-{ 3, s_7_12, -1, 1, 0},
-{ 3, s_7_13, -1, 1, 0},
-{ 3, s_7_14, -1, 1, 0},
-{ 4, s_7_15, -1, 1, 0},
-{ 3, s_7_16, -1, 1, 0},
-{ 5, s_7_17, 16, 1, 0},
-{ 5, s_7_18, 16, 1, 0},
-{ 5, s_7_19, 16, 1, 0},
-{ 3, s_7_20, -1, 1, 0},
-{ 5, s_7_21, 20, 1, 0},
-{ 5, s_7_22, 20, 1, 0},
-{ 3, s_7_23, -1, 1, 0},
-{ 6, s_7_24, -1, 1, 0},
-{ 6, s_7_25, -1, 1, 0},
-{ 3, s_7_26, -1, 1, 0},
-{ 4, s_7_27, -1, 1, 0},
-{ 4, s_7_28, -1, 1, 0},
-{ 4, s_7_29, -1, 1, 0},
-{ 4, s_7_30, -1, 1, 0},
-{ 4, s_7_31, -1, 1, 0},
-{ 4, s_7_32, -1, 1, 0},
-{ 4, s_7_33, -1, 1, 0},
-{ 3, s_7_34, -1, 1, 0},
-{ 3, s_7_35, -1, 1, 0},
-{ 6, s_7_36, -1, 1, 0},
-{ 6, s_7_37, -1, 1, 0},
-{ 3, s_7_38, -1, 1, 0},
-{ 3, s_7_39, -1, 1, 0},
-{ 3, s_7_40, -1, 1, 0},
-{ 3, s_7_41, -1, 1, 0},
-{ 4, s_7_42, -1, 1, 0},
-{ 4, s_7_43, -1, 1, 0},
-{ 4, s_7_44, -1, 1, 0},
-{ 4, s_7_45, -1, 1, 0},
-{ 4, s_7_46, -1, 1, 0},
-{ 5, s_7_47, -1, 1, 0},
-{ 5, s_7_48, -1, 1, 0},
-{ 5, s_7_49, -1, 1, 0},
-{ 5, s_7_50, -1, 1, 0},
-{ 5, s_7_51, -1, 1, 0},
-{ 6, s_7_52, -1, 1, 0},
-{ 4, s_7_53, -1, 1, 0},
-{ 4, s_7_54, -1, 1, 0},
-{ 6, s_7_55, 54, 1, 0},
-{ 6, s_7_56, 54, 1, 0},
-{ 4, s_7_57, -1, 1, 0},
-{ 3, s_7_58, -1, 1, 0},
-{ 6, s_7_59, 58, 1, 0},
-{ 5, s_7_60, 58, 1, 0},
-{ 5, s_7_61, 58, 1, 0},
-{ 5, s_7_62, 58, 1, 0},
-{ 6, s_7_63, -1, 1, 0},
-{ 6, s_7_64, -1, 1, 0},
-{ 3, s_7_65, -1, 1, 0},
-{ 6, s_7_66, 65, 1, 0},
-{ 5, s_7_67, 65, 1, 0},
-{ 5, s_7_68, 65, 1, 0},
-{ 5, s_7_69, 65, 1, 0},
-{ 8, s_7_70, -1, 1, 0},
-{ 8, s_7_71, -1, 1, 0},
-{ 6, s_7_72, -1, 1, 0},
-{ 6, s_7_73, -1, 1, 0},
-{ 6, s_7_74, -1, 1, 0},
-{ 3, s_7_75, -1, 1, 0},
-{ 3, s_7_76, -1, 1, 0},
-{ 3, s_7_77, -1, 1, 0},
-{ 3, s_7_78, -1, 1, 0},
-{ 3, s_7_79, -1, 1, 0},
-{ 3, s_7_80, -1, 1, 0},
-{ 2, s_7_81, -1, 1, 0},
-{ 2, s_7_82, -1, 1, 0},
-{ 3, s_7_83, -1, 1, 0},
-{ 3, s_7_84, -1, 1, 0},
-{ 3, s_7_85, -1, 1, 0},
-{ 3, s_7_86, -1, 1, 0}
+static const struct among a_7[87] = {
+{ 4, s_7_0, 0, 1, 0},
+{ 4, s_7_1, 0, 1, 0},
+{ 3, s_7_2, 0, 1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 3, s_7_4, 0, 1, 0},
+{ 3, s_7_5, 0, 1, 0},
+{ 3, s_7_6, 0, 1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 6, s_7_8, 0, 1, 0},
+{ 6, s_7_9, 0, 1, 0},
+{ 4, s_7_10, 0, 1, 0},
+{ 4, s_7_11, 0, 1, 0},
+{ 3, s_7_12, 0, 1, 0},
+{ 3, s_7_13, 0, 1, 0},
+{ 3, s_7_14, 0, 1, 0},
+{ 4, s_7_15, 0, 1, 0},
+{ 3, s_7_16, 0, 1, 0},
+{ 5, s_7_17, -1, 1, 0},
+{ 5, s_7_18, -2, 1, 0},
+{ 5, s_7_19, -3, 1, 0},
+{ 3, s_7_20, 0, 1, 0},
+{ 5, s_7_21, -1, 1, 0},
+{ 5, s_7_22, -2, 1, 0},
+{ 3, s_7_23, 0, 1, 0},
+{ 6, s_7_24, 0, 1, 0},
+{ 6, s_7_25, 0, 1, 0},
+{ 3, s_7_26, 0, 1, 0},
+{ 4, s_7_27, 0, 1, 0},
+{ 4, s_7_28, 0, 1, 0},
+{ 4, s_7_29, 0, 1, 0},
+{ 4, s_7_30, 0, 1, 0},
+{ 4, s_7_31, 0, 1, 0},
+{ 4, s_7_32, 0, 1, 0},
+{ 4, s_7_33, 0, 1, 0},
+{ 3, s_7_34, 0, 1, 0},
+{ 3, s_7_35, 0, 1, 0},
+{ 6, s_7_36, 0, 1, 0},
+{ 6, s_7_37, 0, 1, 0},
+{ 3, s_7_38, 0, 1, 0},
+{ 3, s_7_39, 0, 1, 0},
+{ 3, s_7_40, 0, 1, 0},
+{ 3, s_7_41, 0, 1, 0},
+{ 4, s_7_42, 0, 1, 0},
+{ 4, s_7_43, 0, 1, 0},
+{ 4, s_7_44, 0, 1, 0},
+{ 4, s_7_45, 0, 1, 0},
+{ 4, s_7_46, 0, 1, 0},
+{ 5, s_7_47, 0, 1, 0},
+{ 5, s_7_48, 0, 1, 0},
+{ 5, s_7_49, 0, 1, 0},
+{ 5, s_7_50, 0, 1, 0},
+{ 5, s_7_51, 0, 1, 0},
+{ 6, s_7_52, 0, 1, 0},
+{ 4, s_7_53, 0, 1, 0},
+{ 4, s_7_54, 0, 1, 0},
+{ 6, s_7_55, -1, 1, 0},
+{ 6, s_7_56, -2, 1, 0},
+{ 4, s_7_57, 0, 1, 0},
+{ 3, s_7_58, 0, 1, 0},
+{ 6, s_7_59, -1, 1, 0},
+{ 5, s_7_60, -2, 1, 0},
+{ 5, s_7_61, -3, 1, 0},
+{ 5, s_7_62, -4, 1, 0},
+{ 6, s_7_63, 0, 1, 0},
+{ 6, s_7_64, 0, 1, 0},
+{ 3, s_7_65, 0, 1, 0},
+{ 6, s_7_66, -1, 1, 0},
+{ 5, s_7_67, -2, 1, 0},
+{ 5, s_7_68, -3, 1, 0},
+{ 5, s_7_69, -4, 1, 0},
+{ 8, s_7_70, 0, 1, 0},
+{ 8, s_7_71, 0, 1, 0},
+{ 6, s_7_72, 0, 1, 0},
+{ 6, s_7_73, 0, 1, 0},
+{ 6, s_7_74, 0, 1, 0},
+{ 3, s_7_75, 0, 1, 0},
+{ 3, s_7_76, 0, 1, 0},
+{ 3, s_7_77, 0, 1, 0},
+{ 3, s_7_78, 0, 1, 0},
+{ 3, s_7_79, 0, 1, 0},
+{ 3, s_7_80, 0, 1, 0},
+{ 2, s_7_81, 0, 1, 0},
+{ 2, s_7_82, 0, 1, 0},
+{ 3, s_7_83, 0, 1, 0},
+{ 3, s_7_84, 0, 1, 0},
+{ 3, s_7_85, 0, 1, 0},
+{ 3, s_7_86, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
@@ -470,63 +476,49 @@ static const unsigned char g_AEIO[] = { 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
 static const unsigned char g_CG[] = { 17 };
 
-static const symbol s_0[] = { 0xE0 };
-static const symbol s_1[] = { 0xE8 };
-static const symbol s_2[] = { 0xEC };
-static const symbol s_3[] = { 0xF2 };
-static const symbol s_4[] = { 0xF9 };
-static const symbol s_5[] = { 'q', 'U' };
-static const symbol s_6[] = { 'U' };
-static const symbol s_7[] = { 'I' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 'u' };
-static const symbol s_10[] = { 'e' };
-static const symbol s_11[] = { 'i', 'c' };
-static const symbol s_12[] = { 'l', 'o', 'g' };
-static const symbol s_13[] = { 'u' };
-static const symbol s_14[] = { 'e', 'n', 't', 'e' };
-static const symbol s_15[] = { 'a', 't' };
-static const symbol s_16[] = { 'a', 't' };
-static const symbol s_17[] = { 'i', 'c' };
-static const symbol s_18[] = { 'd', 'i', 'v', 'a', 'n', 'o' };
-static const symbol s_19[] = { 'd', 'i', 'v', 'a', 'n' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             z->bra = z->c;
-            among_var = find_among(z, a_0, 7);
+            among_var = find_among(z, a_0, 7, 0);
             z->ket = z->c;
             switch (among_var) {
                 case 1:
-                    {   int ret = slice_from_s(z, 1, s_0);
+                    {
+                        int ret = slice_from_s(z, 1, s_0);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 2:
-                    {   int ret = slice_from_s(z, 1, s_1);
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    {   int ret = slice_from_s(z, 1, s_2);
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 4:
-                    {   int ret = slice_from_s(z, 1, s_3);
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 5:
-                    {   int ret = slice_from_s(z, 1, s_4);
+                    {
+                        int ret = slice_from_s(z, 1, s_4);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 6:
-                    {   int ret = slice_from_s(z, 2, s_5);
+                    {
+                        int ret = slice_from_s(z, 2, s_5);
                         if (ret < 0) return ret;
                     }
                     break;
@@ -537,155 +529,157 @@ static int r_prelude(struct SN_env * z) {
             }
             continue;
         lab0:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c_test1;
+        z->c = v_1;
     }
-    while(1) {
-        int c3 = z->c;
-        while(1) {
-            int c4 = z->c;
+    while (1) {
+        int v_3 = z->c;
+        while (1) {
+            int v_4 = z->c;
             if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
             z->bra = z->c;
-            {   int c5 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'u') goto lab4;
+            do {
+                int v_5 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
                 z->c++;
                 z->ket = z->c;
-                if (in_grouping(z, g_v, 97, 249, 0)) goto lab4;
-                {   int ret = slice_from_s(z, 1, s_6);
+                if (in_grouping(z, g_v, 97, 249, 0)) goto lab3;
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c5;
+                break;
+            lab3:
+                z->c = v_5;
                 if (z->c == z->l || z->p[z->c] != 'i') goto lab2;
                 z->c++;
                 z->ket = z->c;
                 if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
-                {   int ret = slice_from_s(z, 1, s_7);
+                {
+                    int ret = slice_from_s(z, 1, s_7);
                     if (ret < 0) return ret;
                 }
-            }
-        lab3:
-            z->c = c4;
+            } while (0);
+            z->c = v_4;
             break;
         lab2:
-            z->c = c4;
+            z->c = v_4;
             if (z->c >= z->l) goto lab1;
             z->c++;
         }
         continue;
     lab1:
-        z->c = c3;
+        z->c = v_3;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping(z, g_v, 97, 249, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping(z, g_v, 97, 249, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping(z, g_v, 97, 249, 0)) goto lab2;
                 {
                     int ret = out_grouping(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping(z, g_v, 97, 249, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping(z, g_v, 97, 249, 0)) goto lab1;
                 {
                     int ret = in_grouping(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
+            if (!(eq_s(z, 5, s_8))) goto lab3;
+            break;
         lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            z->c = v_2;
             if (out_grouping(z, g_v, 97, 249, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping(z, g_v, 97, 249, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping(z, g_v, 97, 249, 0)) goto lab4;
                 {
                     int ret = out_grouping(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab4;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab4:
+                z->c = v_4;
                 if (in_grouping(z, g_v, 97, 249, 0)) goto lab0;
                 if (z->c >= z->l) goto lab0;
                 z->c++;
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab5:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
+        among_var = find_among(z, a_1, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_8);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -696,44 +690,47 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_2, 37)) return 0;
+    if (!find_among_b(z, a_2, 37, 0)) return 0;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
-    among_var = find_among_b(z, a_3, 5);
+    among_var = find_among_b(z, a_3, 5, 0);
     if (!among_var) return 0;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
@@ -744,34 +741,41 @@ static int r_attached_pronoun(struct SN_env * z) {
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_6, 51);
+    among_var = find_among_b(z, a_6, 51, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_12))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -779,67 +783,82 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_12);
+            {
+                int ret = slice_from_s(z, 3, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_13);
+            {
+                int ret = slice_from_s(z, 1, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_14);
+            {
+                int ret = slice_from_s(z, 4, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
-                among_var = find_among_b(z, a_4, 4);
-                if (!among_var) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_2; goto lab1; }
+                among_var = find_among_b(z, a_4, 4, 0);
+                if (!among_var) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m2; goto lab1; }
+                        if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - v_2; goto lab1; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -849,22 +868,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                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 - m3; goto lab2; }
-                if (!find_among_b(z, a_5, 3)) { z->c = z->l - m3; goto lab2; }
+                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 - v_3; goto lab2; }
+                if (!find_among_b(z, a_5, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -872,31 +896,38 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -908,58 +939,67 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_7, 87)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_7, 87, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_vowel_suffix(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m1; goto lab0; }
+        if (in_grouping_b(z, g_AEIO, 97, 242, 0)) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - v_1; goto lab0; }
         z->c--;
         z->bra = z->c;
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
         ;
     }
-    {   int m2 = z->l - z->c; (void)m2;
+    {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - m2; goto lab1; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - v_2; goto lab1; }
         z->c--;
         z->bra = z->c;
-        if (in_grouping_b(z, g_CG, 99, 103, 0)) { z->c = z->l - m2; goto lab1; }
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+        if (in_grouping_b(z, g_CG, 99, 103, 0)) { z->c = z->l - v_2; goto lab1; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab1:
@@ -968,81 +1008,80 @@ static int r_vowel_suffix(struct SN_env * z) {
     return 1;
 }
 
-static int r_exceptions(struct SN_env * z) {
-    z->bra = z->c;
-    if (!(eq_s(z, 6, s_18))) return 0;
-    if (z->c < z->l) return 0;
-    z->ket = z->c;
-    {   int ret = slice_from_s(z, 5, s_19);
-        if (ret < 0) return ret;
-    }
-    return 1;
-}
-
 extern int italian_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_exceptions(z);
-            if (ret == 0) goto lab1;
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = c1;
-        {   int c2 = z->c;
-            {   int ret = r_prelude(z);
-                if (ret < 0) return ret;
-            }
-            z->c = c2;
-        }
-
-        {   int ret = r_mark_regions(z);
+        z->c = v_1;
+    }
+    {
+        int ret = r_mark_regions(z);
+        if (ret < 0) return ret;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->lb = z->c; z->c = z->l;
-
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_attached_pronoun(z);
+        z->c = z->l - v_2;
+    }
+    {
+        int v_3 = z->l - z->c;
+        do {
+            int v_4 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m3;
-        }
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int ret = r_standard_suffix(z);
-                    if (ret == 0) goto lab4;
-                    if (ret < 0) return ret;
-                }
-                goto lab3;
-            lab4:
-                z->c = z->l - m5;
-                {   int ret = r_verb_suffix(z);
-                    if (ret == 0) goto lab2;
-                    if (ret < 0) return ret;
-                }
-            }
-        lab3:
-        lab2:
-            z->c = z->l - m4;
-        }
-        {   int m6 = z->l - z->c; (void)m6;
-            {   int ret = r_vowel_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_4;
+            {
+                int ret = r_verb_suffix(z);
+                if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m6;
+        } while (0);
+    lab0:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_vowel_suffix(z);
+            if (ret < 0) return ret;
         }
-        z->c = z->lb;
-        {   int c7 = z->c;
-            {   int ret = r_postlude(z);
-                if (ret < 0) return ret;
-            }
-            z->c = c7;
+        z->c = z->l - v_5;
+    }
+    z->c = z->lb;
+    {
+        int v_6 = z->c;
+        {
+            int ret = r_postlude(z);
+            if (ret < 0) return ret;
         }
+        z->c = v_6;
     }
-lab0:
     return 1;
 }
 
-extern struct SN_env * italian_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * italian_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void italian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void italian_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index c10c0d761f1f5ffe8843798087ad89cf61dbe7e9..66978be21d82d21e368005341caa36505b9ccca9 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from norwegian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_norwegian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,187 +20,234 @@ extern int norwegian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 
-extern struct SN_env * norwegian_ISO_8859_1_create_env(void);
-extern void norwegian_ISO_8859_1_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[1] = { 'a' };
-static const symbol s_0_1[1] = { 'e' };
-static const symbol s_0_2[3] = { 'e', 'd', 'e' };
-static const symbol s_0_3[4] = { 'a', 'n', 'd', 'e' };
-static const symbol s_0_4[4] = { 'e', 'n', 'd', 'e' };
-static const symbol s_0_5[3] = { 'a', 'n', 'e' };
-static const symbol s_0_6[3] = { 'e', 'n', 'e' };
-static const symbol s_0_7[6] = { 'h', 'e', 't', 'e', 'n', 'e' };
-static const symbol s_0_8[4] = { 'e', 'r', 't', 'e' };
-static const symbol s_0_9[2] = { 'e', 'n' };
-static const symbol s_0_10[5] = { 'h', 'e', 't', 'e', 'n' };
-static const symbol s_0_11[2] = { 'a', 'r' };
-static const symbol s_0_12[2] = { 'e', 'r' };
-static const symbol s_0_13[5] = { 'h', 'e', 't', 'e', 'r' };
-static const symbol s_0_14[1] = { 's' };
-static const symbol s_0_15[2] = { 'a', 's' };
-static const symbol s_0_16[2] = { 'e', 's' };
-static const symbol s_0_17[4] = { 'e', 'd', 'e', 's' };
-static const symbol s_0_18[5] = { 'e', 'n', 'd', 'e', 's' };
-static const symbol s_0_19[4] = { 'e', 'n', 'e', 's' };
-static const symbol s_0_20[7] = { 'h', 'e', 't', 'e', 'n', 'e', 's' };
-static const symbol s_0_21[3] = { 'e', 'n', 's' };
-static const symbol s_0_22[6] = { 'h', 'e', 't', 'e', 'n', 's' };
-static const symbol s_0_23[3] = { 'e', 'r', 's' };
-static const symbol s_0_24[3] = { 'e', 't', 's' };
-static const symbol s_0_25[2] = { 'e', 't' };
-static const symbol s_0_26[3] = { 'h', 'e', 't' };
-static const symbol s_0_27[3] = { 'e', 'r', 't' };
-static const symbol s_0_28[3] = { 'a', 's', 't' };
+static const symbol s_0[] = { 'e', 'r' };
 
-static const struct among a_0[29] =
-{
-{ 1, s_0_0, -1, 1, 0},
-{ 1, s_0_1, -1, 1, 0},
-{ 3, s_0_2, 1, 1, 0},
-{ 4, s_0_3, 1, 1, 0},
-{ 4, s_0_4, 1, 1, 0},
-{ 3, s_0_5, 1, 1, 0},
-{ 3, s_0_6, 1, 1, 0},
-{ 6, s_0_7, 6, 1, 0},
-{ 4, s_0_8, 1, 3, 0},
-{ 2, s_0_9, -1, 1, 0},
-{ 5, s_0_10, 9, 1, 0},
-{ 2, s_0_11, -1, 1, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 5, s_0_13, 12, 1, 0},
-{ 1, s_0_14, -1, 2, 0},
-{ 2, s_0_15, 14, 1, 0},
-{ 2, s_0_16, 14, 1, 0},
-{ 4, s_0_17, 16, 1, 0},
-{ 5, s_0_18, 16, 1, 0},
-{ 4, s_0_19, 16, 1, 0},
-{ 7, s_0_20, 19, 1, 0},
-{ 3, s_0_21, 14, 1, 0},
-{ 6, s_0_22, 21, 1, 0},
-{ 3, s_0_23, 14, 1, 0},
-{ 3, s_0_24, 14, 1, 0},
-{ 2, s_0_25, -1, 1, 0},
-{ 3, s_0_26, 25, 1, 0},
-{ 3, s_0_27, -1, 3, 0},
-{ 3, s_0_28, -1, 1, 0}
+static const symbol s_0_1[3] = { 'i', 'n', 'd' };
+static const symbol s_0_2[2] = { 'k', 'k' };
+static const symbol s_0_3[2] = { 'n', 'k' };
+static const symbol s_0_4[3] = { 'a', 'm', 'm' };
+static const symbol s_0_5[3] = { 'o', 'm', 'm' };
+static const symbol s_0_6[3] = { 'k', 'a', 'p' };
+static const symbol s_0_7[4] = { 's', 'k', 'a', 'p' };
+static const symbol s_0_8[2] = { 'p', 'p' };
+static const symbol s_0_9[2] = { 'l', 't' };
+static const symbol s_0_10[3] = { 'a', 's', 't' };
+static const symbol s_0_11[3] = { 0xF8, 's', 't' };
+static const symbol s_0_12[1] = { 'v' };
+static const symbol s_0_13[3] = { 'h', 'a', 'v' };
+static const symbol s_0_14[3] = { 'g', 'i', 'v' };
+static const struct among a_0[15] = {
+{ 0, 0, 0, 1, 0},
+{ 3, s_0_1, -1, -1, 0},
+{ 2, s_0_2, -2, -1, 0},
+{ 2, s_0_3, -3, -1, 0},
+{ 3, s_0_4, -4, -1, 0},
+{ 3, s_0_5, -5, -1, 0},
+{ 3, s_0_6, -6, -1, 0},
+{ 4, s_0_7, -1, 1, 0},
+{ 2, s_0_8, -8, -1, 0},
+{ 2, s_0_9, -9, -1, 0},
+{ 3, s_0_10, -10, -1, 0},
+{ 3, s_0_11, -11, -1, 0},
+{ 1, s_0_12, -12, -1, 0},
+{ 3, s_0_13, -1, 1, 0},
+{ 3, s_0_14, -2, 1, 0}
 };
 
-static const symbol s_1_0[2] = { 'd', 't' };
-static const symbol s_1_1[2] = { 'v', 't' };
-
-static const struct among a_1[2] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0}
+static const symbol s_1_0[1] = { 'a' };
+static const symbol s_1_1[1] = { 'e' };
+static const symbol s_1_2[3] = { 'e', 'd', 'e' };
+static const symbol s_1_3[4] = { 'a', 'n', 'd', 'e' };
+static const symbol s_1_4[4] = { 'e', 'n', 'd', 'e' };
+static const symbol s_1_5[3] = { 'a', 'n', 'e' };
+static const symbol s_1_6[3] = { 'e', 'n', 'e' };
+static const symbol s_1_7[6] = { 'h', 'e', 't', 'e', 'n', 'e' };
+static const symbol s_1_8[4] = { 'e', 'r', 't', 'e' };
+static const symbol s_1_9[2] = { 'e', 'n' };
+static const symbol s_1_10[5] = { 'h', 'e', 't', 'e', 'n' };
+static const symbol s_1_11[2] = { 'a', 'r' };
+static const symbol s_1_12[2] = { 'e', 'r' };
+static const symbol s_1_13[5] = { 'h', 'e', 't', 'e', 'r' };
+static const symbol s_1_14[1] = { 's' };
+static const symbol s_1_15[2] = { 'a', 's' };
+static const symbol s_1_16[2] = { 'e', 's' };
+static const symbol s_1_17[4] = { 'e', 'd', 'e', 's' };
+static const symbol s_1_18[5] = { 'e', 'n', 'd', 'e', 's' };
+static const symbol s_1_19[4] = { 'e', 'n', 'e', 's' };
+static const symbol s_1_20[7] = { 'h', 'e', 't', 'e', 'n', 'e', 's' };
+static const symbol s_1_21[3] = { 'e', 'n', 's' };
+static const symbol s_1_22[6] = { 'h', 'e', 't', 'e', 'n', 's' };
+static const symbol s_1_23[3] = { 'e', 'r', 's' };
+static const symbol s_1_24[3] = { 'e', 't', 's' };
+static const symbol s_1_25[2] = { 'e', 't' };
+static const symbol s_1_26[3] = { 'h', 'e', 't' };
+static const symbol s_1_27[3] = { 'e', 'r', 't' };
+static const symbol s_1_28[3] = { 'a', 's', 't' };
+static const struct among a_1[29] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 1, s_1_1, 0, 1, 0},
+{ 3, s_1_2, -1, 1, 0},
+{ 4, s_1_3, -2, 1, 0},
+{ 4, s_1_4, -3, 1, 0},
+{ 3, s_1_5, -4, 1, 0},
+{ 3, s_1_6, -5, 1, 0},
+{ 6, s_1_7, -1, 1, 0},
+{ 4, s_1_8, -7, 4, 0},
+{ 2, s_1_9, 0, 1, 0},
+{ 5, s_1_10, -1, 1, 0},
+{ 2, s_1_11, 0, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 5, s_1_13, -1, 1, 0},
+{ 1, s_1_14, 0, 3, 0},
+{ 2, s_1_15, -1, 1, 0},
+{ 2, s_1_16, -2, 1, 0},
+{ 4, s_1_17, -1, 1, 0},
+{ 5, s_1_18, -2, 1, 0},
+{ 4, s_1_19, -3, 1, 0},
+{ 7, s_1_20, -1, 1, 0},
+{ 3, s_1_21, -7, 1, 0},
+{ 6, s_1_22, -1, 1, 0},
+{ 3, s_1_23, -9, 2, 0},
+{ 3, s_1_24, -10, 1, 0},
+{ 2, s_1_25, 0, 1, 0},
+{ 3, s_1_26, -1, 1, 0},
+{ 3, s_1_27, 0, 4, 0},
+{ 3, s_1_28, 0, 1, 0}
 };
 
-static const symbol s_2_0[3] = { 'l', 'e', 'g' };
-static const symbol s_2_1[4] = { 'e', 'l', 'e', 'g' };
-static const symbol s_2_2[2] = { 'i', 'g' };
-static const symbol s_2_3[3] = { 'e', 'i', 'g' };
-static const symbol s_2_4[3] = { 'l', 'i', 'g' };
-static const symbol s_2_5[4] = { 'e', 'l', 'i', 'g' };
-static const symbol s_2_6[3] = { 'e', 'l', 's' };
-static const symbol s_2_7[3] = { 'l', 'o', 'v' };
-static const symbol s_2_8[4] = { 'e', 'l', 'o', 'v' };
-static const symbol s_2_9[4] = { 's', 'l', 'o', 'v' };
-static const symbol s_2_10[7] = { 'h', 'e', 't', 's', 'l', 'o', 'v' };
-
-static const struct among a_2[11] =
-{
-{ 3, s_2_0, -1, 1, 0},
-{ 4, s_2_1, 0, 1, 0},
-{ 2, s_2_2, -1, 1, 0},
-{ 3, s_2_3, 2, 1, 0},
-{ 3, s_2_4, 2, 1, 0},
-{ 4, s_2_5, 4, 1, 0},
-{ 3, s_2_6, -1, 1, 0},
-{ 3, s_2_7, -1, 1, 0},
-{ 4, s_2_8, 7, 1, 0},
-{ 4, s_2_9, 7, 1, 0},
-{ 7, s_2_10, 9, 1, 0}
+static const symbol s_2_0[2] = { 'd', 't' };
+static const symbol s_2_1[2] = { 'v', 't' };
+static const struct among a_2[2] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0}
 };
 
-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 symbol s_3_0[3] = { 'l', 'e', 'g' };
+static const symbol s_3_1[4] = { 'e', 'l', 'e', 'g' };
+static const symbol s_3_2[2] = { 'i', 'g' };
+static const symbol s_3_3[3] = { 'e', 'i', 'g' };
+static const symbol s_3_4[3] = { 'l', 'i', 'g' };
+static const symbol s_3_5[4] = { 'e', 'l', 'i', 'g' };
+static const symbol s_3_6[3] = { 'e', 'l', 's' };
+static const symbol s_3_7[3] = { 'l', 'o', 'v' };
+static const symbol s_3_8[4] = { 'e', 'l', 'o', 'v' };
+static const symbol s_3_9[4] = { 's', 'l', 'o', 'v' };
+static const symbol s_3_10[7] = { 'h', 'e', 't', 's', 'l', 'o', 'v' };
+static const struct among a_3[11] = {
+{ 3, s_3_0, 0, 1, 0},
+{ 4, s_3_1, -1, 1, 0},
+{ 2, s_3_2, 0, 1, 0},
+{ 3, s_3_3, -1, 1, 0},
+{ 3, s_3_4, -2, 1, 0},
+{ 4, s_3_5, -1, 1, 0},
+{ 3, s_3_6, 0, 1, 0},
+{ 3, s_3_7, 0, 1, 0},
+{ 4, s_3_8, -1, 1, 0},
+{ 4, s_3_9, -2, 1, 0},
+{ 7, s_3_10, -1, 1, 0}
+};
 
-static const unsigned char g_s_ending[] = { 119, 125, 149, 1 };
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 142 };
 
-static const symbol s_0[] = { 'e', 'r' };
+static const unsigned char g_s_ending[] = { 119, 125, 148, 1 };
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-z->c = z->c + 3;
-        if (z->c > z->l) return 0;
-        z->I[0] = z->c;
-        z->c = c_test1;
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping(z, g_v, 97, 248, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping(z, g_v, 97, 248, 1) < 0) return 0;
-
     {
         int ret = in_grouping(z, g_v, 97, 248, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_0, 29);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_1, 29, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m2 = z->l - z->c; (void)m2;
-                if (in_grouping_b(z, g_s_ending, 98, 122, 0)) goto lab1;
-                goto lab0;
+            if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((5318672 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 1; else
+            among_var = find_among_b(z, a_0, 15, 0);
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+            }
+            break;
+        case 3:
+            do {
+                int v_2 = z->l - z->c;
+                if (in_grouping_b(z, g_s_ending, 98, 122, 0)) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_2;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'r') goto lab1;
+                z->c--;
+                {
+                    int v_3 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
+                    z->c--;
+                    goto lab1;
+                lab2:
+                    z->c = z->l - v_3;
+                }
+                break;
             lab1:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'k') return 0;
                 z->c--;
                 if (out_grouping_b(z, g_v, 97, 248, 0)) return 0;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
-        case 3:
-            {   int ret = slice_from_s(z, 2, s_0);
+        case 4:
+            {
+                int ret = slice_from_s(z, 2, s_0);
                 if (ret < 0) return ret;
             }
             break;
@@ -198,77 +256,95 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-
-        {   int mlimit2;
-            if (z->c < z->I[1]) return 0;
-            mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) return 0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
             z->ket = z->c;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit2; return 0; }
-            if (!find_among_b(z, a_1, 2)) { z->lb = mlimit2; return 0; }
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = v_2; return 0; }
+            if (!find_among_b(z, a_2, 2, 0)) { z->lb = v_2; return 0; }
             z->bra = z->c;
-            z->lb = mlimit2;
+            z->lb = v_2;
         }
-        z->c = z->l - m_test1;
+        z->c = z->l - v_1;
     }
     if (z->c <= z->lb) return 0;
     z->c--;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_other_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_2, 11)) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        if (!find_among_b(z, a_3, 11, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int norwegian_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * norwegian_ISO_8859_1_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * norwegian_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void norwegian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void norwegian_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index b8be0a26e4f0a46bb073177dedb4e50095a00e63..e7f9be15fc5b24ab48cb19a9dba85e5d5d403239 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_porter.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_Step_5b(struct SN_env * z);
 static int r_Step_5a(struct SN_env * z);
 static int r_Step_4(struct SN_env * z);
@@ -20,29 +33,41 @@ static int r_Step_1a(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_shortv(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * porter_ISO_8859_1_create_env(void);
-extern void porter_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's', 's' };
+static const symbol s_1[] = { 'i' };
+static const symbol s_2[] = { 'e', 'e' };
+static const symbol s_3[] = { 'e' };
+static const symbol s_4[] = { 'e' };
+static const symbol s_5[] = { 'i' };
+static const symbol s_6[] = { 't', 'i', 'o', 'n' };
+static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
+static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
+static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
+static const symbol s_10[] = { 'e', 'n', 't' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'i', 'z', 'e' };
+static const symbol s_13[] = { 'a', 't', 'e' };
+static const symbol s_14[] = { 'a', 'l' };
+static const symbol s_15[] = { 'f', 'u', 'l' };
+static const symbol s_16[] = { 'o', 'u', 's' };
+static const symbol s_17[] = { 'i', 'v', 'e' };
+static const symbol s_18[] = { 'b', 'l', 'e' };
+static const symbol s_19[] = { 'a', 'l' };
+static const symbol s_20[] = { 'i', 'c' };
+static const symbol s_21[] = { 'Y' };
+static const symbol s_22[] = { 'Y' };
+static const symbol s_23[] = { 'y' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[1] = { 's' };
 static const symbol s_0_1[3] = { 'i', 'e', 's' };
 static const symbol s_0_2[4] = { 's', 's', 'e', 's' };
 static const symbol s_0_3[2] = { 's', 's' };
-
-static const struct among a_0[4] =
-{
-{ 1, s_0_0, -1, 3, 0},
-{ 3, s_0_1, 0, 2, 0},
-{ 4, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, -1, 0}
+static const struct among a_0[4] = {
+{ 1, s_0_0, 0, 3, 0},
+{ 3, s_0_1, -1, 2, 0},
+{ 4, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, -1, 0}
 };
 
 static const symbol s_1_1[2] = { 'b', 'b' };
@@ -57,33 +82,29 @@ static const symbol s_1_9[2] = { 'r', 'r' };
 static const symbol s_1_10[2] = { 'a', 't' };
 static const symbol s_1_11[2] = { 't', 't' };
 static const symbol s_1_12[2] = { 'i', 'z' };
-
-static const struct among a_1[13] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_1_1, 0, 2, 0},
-{ 2, s_1_2, 0, 2, 0},
-{ 2, s_1_3, 0, 2, 0},
-{ 2, s_1_4, 0, 2, 0},
-{ 2, s_1_5, 0, 1, 0},
-{ 2, s_1_6, 0, 2, 0},
-{ 2, s_1_7, 0, 2, 0},
-{ 2, s_1_8, 0, 2, 0},
-{ 2, s_1_9, 0, 2, 0},
-{ 2, s_1_10, 0, 1, 0},
-{ 2, s_1_11, 0, 2, 0},
-{ 2, s_1_12, 0, 1, 0}
+static const struct among a_1[13] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_1_1, -1, 2, 0},
+{ 2, s_1_2, -2, 2, 0},
+{ 2, s_1_3, -3, 2, 0},
+{ 2, s_1_4, -4, 2, 0},
+{ 2, s_1_5, -5, 1, 0},
+{ 2, s_1_6, -6, 2, 0},
+{ 2, s_1_7, -7, 2, 0},
+{ 2, s_1_8, -8, 2, 0},
+{ 2, s_1_9, -9, 2, 0},
+{ 2, s_1_10, -10, 1, 0},
+{ 2, s_1_11, -11, 2, 0},
+{ 2, s_1_12, -12, 1, 0}
 };
 
 static const symbol s_2_0[2] = { 'e', 'd' };
 static const symbol s_2_1[3] = { 'e', 'e', 'd' };
 static const symbol s_2_2[3] = { 'i', 'n', 'g' };
-
-static const struct among a_2[3] =
-{
-{ 2, s_2_0, -1, 2, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 3, s_2_2, -1, 2, 0}
+static const struct among a_2[3] = {
+{ 2, s_2_0, 0, 2, 0},
+{ 3, s_2_1, -1, 1, 0},
+{ 3, s_2_2, 0, 2, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 'c', 'i' };
@@ -106,29 +127,27 @@ static const symbol s_3_16[4] = { 'a', 't', 'o', 'r' };
 static const symbol s_3_17[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
 static const symbol s_3_18[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
 static const symbol s_3_19[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
-
-static const struct among a_3[20] =
-{
-{ 4, s_3_0, -1, 3, 0},
-{ 4, s_3_1, -1, 2, 0},
-{ 4, s_3_2, -1, 4, 0},
-{ 3, s_3_3, -1, 6, 0},
-{ 4, s_3_4, -1, 9, 0},
-{ 5, s_3_5, -1, 11, 0},
-{ 5, s_3_6, -1, 5, 0},
-{ 5, s_3_7, -1, 9, 0},
-{ 6, s_3_8, -1, 13, 0},
-{ 5, s_3_9, -1, 12, 0},
-{ 6, s_3_10, -1, 1, 0},
-{ 7, s_3_11, 10, 8, 0},
-{ 5, s_3_12, -1, 9, 0},
-{ 5, s_3_13, -1, 8, 0},
-{ 7, s_3_14, 13, 7, 0},
-{ 4, s_3_15, -1, 7, 0},
-{ 4, s_3_16, -1, 8, 0},
-{ 7, s_3_17, -1, 12, 0},
-{ 7, s_3_18, -1, 10, 0},
-{ 7, s_3_19, -1, 11, 0}
+static const struct among a_3[20] = {
+{ 4, s_3_0, 0, 3, 0},
+{ 4, s_3_1, 0, 2, 0},
+{ 4, s_3_2, 0, 4, 0},
+{ 3, s_3_3, 0, 6, 0},
+{ 4, s_3_4, 0, 9, 0},
+{ 5, s_3_5, 0, 11, 0},
+{ 5, s_3_6, 0, 5, 0},
+{ 5, s_3_7, 0, 9, 0},
+{ 6, s_3_8, 0, 13, 0},
+{ 5, s_3_9, 0, 12, 0},
+{ 6, s_3_10, 0, 1, 0},
+{ 7, s_3_11, -1, 8, 0},
+{ 5, s_3_12, 0, 9, 0},
+{ 5, s_3_13, 0, 8, 0},
+{ 7, s_3_14, -1, 7, 0},
+{ 4, s_3_15, 0, 7, 0},
+{ 4, s_3_16, 0, 8, 0},
+{ 7, s_3_17, 0, 12, 0},
+{ 7, s_3_18, 0, 10, 0},
+{ 7, s_3_19, 0, 11, 0}
 };
 
 static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' };
@@ -138,16 +157,14 @@ static const symbol s_4_3[5] = { 'i', 'c', 'i', 't', 'i' };
 static const symbol s_4_4[4] = { 'i', 'c', 'a', 'l' };
 static const symbol s_4_5[3] = { 'f', 'u', 'l' };
 static const symbol s_4_6[4] = { 'n', 'e', 's', 's' };
-
-static const struct among a_4[7] =
-{
-{ 5, s_4_0, -1, 2, 0},
-{ 5, s_4_1, -1, 3, 0},
-{ 5, s_4_2, -1, 1, 0},
-{ 5, s_4_3, -1, 2, 0},
-{ 4, s_4_4, -1, 2, 0},
-{ 3, s_4_5, -1, 3, 0},
-{ 4, s_4_6, -1, 3, 0}
+static const struct among a_4[7] = {
+{ 5, s_4_0, 0, 2, 0},
+{ 5, s_4_1, 0, 3, 0},
+{ 5, s_4_2, 0, 1, 0},
+{ 5, s_4_3, 0, 2, 0},
+{ 4, s_4_4, 0, 2, 0},
+{ 3, s_4_5, 0, 3, 0},
+{ 4, s_4_6, 0, 3, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
@@ -169,94 +186,69 @@ static const symbol s_5_15[3] = { 'e', 'n', 't' };
 static const symbol s_5_16[4] = { 'm', 'e', 'n', 't' };
 static const symbol s_5_17[5] = { 'e', 'm', 'e', 'n', 't' };
 static const symbol s_5_18[2] = { 'o', 'u' };
-
-static const struct among a_5[19] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 4, s_5_2, -1, 1, 0},
-{ 4, s_5_3, -1, 1, 0},
-{ 4, s_5_4, -1, 1, 0},
-{ 3, s_5_5, -1, 1, 0},
-{ 3, s_5_6, -1, 1, 0},
-{ 3, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 1, 0},
-{ 2, s_5_9, -1, 1, 0},
-{ 3, s_5_10, -1, 1, 0},
-{ 3, s_5_11, -1, 2, 0},
-{ 2, s_5_12, -1, 1, 0},
-{ 3, s_5_13, -1, 1, 0},
-{ 3, s_5_14, -1, 1, 0},
-{ 3, s_5_15, -1, 1, 0},
-{ 4, s_5_16, 15, 1, 0},
-{ 5, s_5_17, 16, 1, 0},
-{ 2, s_5_18, -1, 1, 0}
+static const struct among a_5[19] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0},
+{ 4, s_5_3, 0, 1, 0},
+{ 4, s_5_4, 0, 1, 0},
+{ 3, s_5_5, 0, 1, 0},
+{ 3, s_5_6, 0, 1, 0},
+{ 3, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 1, 0},
+{ 2, s_5_9, 0, 1, 0},
+{ 3, s_5_10, 0, 1, 0},
+{ 3, s_5_11, 0, 2, 0},
+{ 2, s_5_12, 0, 1, 0},
+{ 3, s_5_13, 0, 1, 0},
+{ 3, s_5_14, 0, 1, 0},
+{ 3, s_5_15, 0, 1, 0},
+{ 4, s_5_16, -1, 1, 0},
+{ 5, s_5_17, -1, 1, 0},
+{ 2, s_5_18, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1 };
 
 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
 
-static const symbol s_0[] = { 's', 's' };
-static const symbol s_1[] = { 'i' };
-static const symbol s_2[] = { 'e', 'e' };
-static const symbol s_3[] = { 'e' };
-static const symbol s_4[] = { 'e' };
-static const symbol s_5[] = { 'i' };
-static const symbol s_6[] = { 't', 'i', 'o', 'n' };
-static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
-static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
-static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
-static const symbol s_10[] = { 'e', 'n', 't' };
-static const symbol s_11[] = { 'e' };
-static const symbol s_12[] = { 'i', 'z', 'e' };
-static const symbol s_13[] = { 'a', 't', 'e' };
-static const symbol s_14[] = { 'a', 'l' };
-static const symbol s_15[] = { 'f', 'u', 'l' };
-static const symbol s_16[] = { 'o', 'u', 's' };
-static const symbol s_17[] = { 'i', 'v', 'e' };
-static const symbol s_18[] = { 'b', 'l', 'e' };
-static const symbol s_19[] = { 'a', 'l' };
-static const symbol s_20[] = { 'i', 'c' };
-static const symbol s_21[] = { 'Y' };
-static const symbol s_22[] = { 'Y' };
-static const symbol s_23[] = { 'y' };
-
 static int r_shortv(struct SN_env * z) {
     if (out_grouping_b(z, g_v_WXY, 89, 121, 0)) return 0;
     if (in_grouping_b(z, g_v, 97, 121, 0)) return 0;
-    if (out_grouping_b(z, g_v, 97, 121, 0)) return 0;
-    return 1;
+    return !out_grouping_b(z, g_v, 97, 121, 0);
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_Step_1a(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0;
-    among_var = find_among_b(z, a_0, 4);
+    among_var = find_among_b(z, a_0, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_0);
+            {
+                int ret = slice_from_s(z, 2, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -268,43 +260,46 @@ static int r_Step_1b(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
-    among_var = find_among_b(z, a_2, 3);
+    among_var = find_among_b(z, a_2, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_2);
+            {
+                int ret = slice_from_s(z, 2, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m_test1 = z->l - z->c;
-
+            {
+                int v_1 = z->l - z->c;
                 {
                     int ret = out_grouping_b(z, g_v, 97, 121, 1);
                     if (ret < 0) return 0;
                     z->c -= ret;
                 }
-                z->c = z->l - m_test1;
+                z->c = z->l - v_1;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m_test2 = z->l - z->c;
+            {
+                int v_2 = z->l - z->c;
                 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
-                among_var = find_among_b(z, a_1, 13);
-                z->c = z->l - m_test2;
+                among_var = find_among_b(z, a_1, 13, 0);
+                z->c = z->l - v_2;
             }
             switch (among_var) {
                 case 1:
-                    {   int ret;
-                        {   int saved_c = z->c;
-                            ret = insert_s(z, z->c, z->c, 1, s_3);
-                            z->c = saved_c;
-                        }
+                    {
+                        int saved_c = z->c;
+                        int ret = insert_s(z, z->c, z->c, 1, s_3);
+                        z->c = saved_c;
                         if (ret < 0) return ret;
                     }
                     break;
@@ -313,23 +308,25 @@ static int r_Step_1b(struct SN_env * z) {
                     if (z->c <= z->lb) return 0;
                     z->c--;
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    if (z->c != z->I[1]) return 0;
-                    {   int m_test3 = z->l - z->c;
-                        {   int ret = r_shortv(z);
+                    if (z->c != ((SN_local *)z)->i_p1) return 0;
+                    {
+                        int v_3 = z->l - z->c;
+                        {
+                            int ret = r_shortv(z);
                             if (ret <= 0) return ret;
                         }
-                        z->c = z->l - m_test3;
+                        z->c = z->l - v_3;
                     }
-                    {   int ret;
-                        {   int saved_c = z->c;
-                            ret = insert_s(z, z->c, z->c, 1, s_4);
-                            z->c = saved_c;
-                        }
+                    {
+                        int saved_c = z->c;
+                        int ret = insert_s(z, z->c, z->c, 1, s_4);
+                        z->c = saved_c;
                         if (ret < 0) return ret;
                     }
                     break;
@@ -341,24 +338,24 @@ static int r_Step_1b(struct SN_env * z) {
 
 static int r_Step_1c(struct SN_env * z) {
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
         z->c--;
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
         z->c--;
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
-
     {
         int ret = out_grouping_b(z, g_v, 97, 121, 1);
         if (ret < 0) return 0;
         z->c -= ret;
     }
-    {   int ret = slice_from_s(z, 1, s_5);
+    {
+        int ret = slice_from_s(z, 1, s_5);
         if (ret < 0) return ret;
     }
     return 1;
@@ -368,75 +365,89 @@ static int r_Step_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_3, 20);
+    among_var = find_among_b(z, a_3, 20, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_7);
+            {
+                int ret = slice_from_s(z, 4, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_8);
+            {
+                int ret = slice_from_s(z, 4, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_9);
+            {
+                int ret = slice_from_s(z, 4, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_10);
+            {
+                int ret = slice_from_s(z, 3, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 1, s_11);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 3, s_12);
+            {
+                int ret = slice_from_s(z, 3, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 3, s_13);
+            {
+                int ret = slice_from_s(z, 3, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 2, s_14);
+            {
+                int ret = slice_from_s(z, 2, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 3, s_15);
+            {
+                int ret = slice_from_s(z, 3, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 3, s_16);
+            {
+                int ret = slice_from_s(z, 3, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            {   int ret = slice_from_s(z, 3, s_18);
+            {
+                int ret = slice_from_s(z, 3, s_18);
                 if (ret < 0) return ret;
             }
             break;
@@ -448,25 +459,29 @@ static int r_Step_3(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_4, 7);
+    among_var = find_among_b(z, a_4, 7, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_19);
+            {
+                int ret = slice_from_s(z, 2, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 2, s_20);
+            {
+                int ret = slice_from_s(z, 2, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -478,30 +493,33 @@ static int r_Step_4(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 19);
+    among_var = find_among_b(z, a_5, 19, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -514,27 +532,32 @@ static int r_Step_5a(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
     z->c--;
     z->bra = z->c;
-
-    {   int ret = r_R2(z);
-        if (ret == 0) goto lab1;
-        if (ret < 0) return ret;
-    }
-    goto lab0;
-lab1:
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_shortv(z);
-            if (ret == 0) goto lab2;
+    do {
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
-        return 0;
-    lab2:
-        z->c = z->l - m1;
-    }
-lab0:
-    {   int ret = slice_del(z);
+        break;
+    lab0:
+        {
+            int ret = r_R1(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int v_1 = z->l - z->c;
+            {
+                int ret = r_shortv(z);
+                if (ret == 0) goto lab1;
+                if (ret < 0) return ret;
+            }
+            return 0;
+        lab1:
+            z->c = z->l - v_1;
+        }
+    } while (0);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -545,174 +568,204 @@ static int r_Step_5b(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     z->c--;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     z->c--;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int porter_ISO_8859_1_stem(struct SN_env * z) {
-    z->I[2] = 0;
-    {   int c1 = z->c;
+    int b_Y_found;
+    b_Y_found = 0;
+    {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_21);
+        {
+            int ret = slice_from_s(z, 1, s_21);
             if (ret < 0) return ret;
         }
-        z->I[2] = 1;
+        b_Y_found = 1;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        while(1) {
-            int c3 = z->c;
-            while(1) {
-                int c4 = z->c;
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            while (1) {
+                int v_4 = z->c;
                 if (in_grouping(z, g_v, 97, 121, 0)) goto lab3;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
                 z->c++;
                 z->ket = z->c;
-                z->c = c4;
+                z->c = v_4;
                 break;
             lab3:
-                z->c = c4;
+                z->c = v_4;
                 if (z->c >= z->l) goto lab2;
                 z->c++;
             }
-            {   int ret = slice_from_s(z, 1, s_22);
+            {
+                int ret = slice_from_s(z, 1, s_22);
                 if (ret < 0) return ret;
             }
-            z->I[2] = 1;
+            b_Y_found = 1;
             continue;
         lab2:
-            z->c = c3;
+            z->c = v_3;
             break;
         }
-        z->c = c2;
+        z->c = v_2;
     }
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c5 = z->c;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab4:
-        z->c = c5;
+        z->c = v_5;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_Step_1a(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_Step_1a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_Step_1b(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_Step_1b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_Step_1c(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_Step_1c(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_Step_2(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_Step_2(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_Step_3(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_Step_3(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
-    {   int m11 = z->l - z->c; (void)m11;
-        {   int ret = r_Step_4(z);
+    {
+        int v_11 = z->l - z->c;
+        {
+            int ret = r_Step_4(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m11;
+        z->c = z->l - v_11;
     }
-    {   int m12 = z->l - z->c; (void)m12;
-        {   int ret = r_Step_5a(z);
+    {
+        int v_12 = z->l - z->c;
+        {
+            int ret = r_Step_5a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m12;
+        z->c = z->l - v_12;
     }
-    {   int m13 = z->l - z->c; (void)m13;
-        {   int ret = r_Step_5b(z);
+    {
+        int v_13 = z->l - z->c;
+        {
+            int ret = r_Step_5b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m13;
+        z->c = z->l - v_13;
     }
     z->c = z->lb;
-    {   int c14 = z->c;
-        if (!(z->I[2])) goto lab5;
-        while(1) {
-            int c15 = z->c;
-            while(1) {
-                int c16 = z->c;
+    {
+        int v_14 = z->c;
+        if (!b_Y_found) goto lab5;
+        while (1) {
+            int v_15 = z->c;
+            while (1) {
+                int v_16 = z->c;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
                 z->c++;
                 z->ket = z->c;
-                z->c = c16;
+                z->c = v_16;
                 break;
             lab7:
-                z->c = c16;
+                z->c = v_16;
                 if (z->c >= z->l) goto lab6;
                 z->c++;
             }
-            {   int ret = slice_from_s(z, 1, s_23);
+            {
+                int ret = slice_from_s(z, 1, s_23);
                 if (ret < 0) return ret;
             }
             continue;
         lab6:
-            z->c = c15;
+            z->c = v_15;
             break;
         }
     lab5:
-        z->c = c14;
+        z->c = v_14;
     }
     return 1;
 }
 
-extern struct SN_env * porter_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * porter_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void porter_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void porter_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 33aae89f7322bf7a1657ce72327e328b415a5769..39a36a97b32c7122fbcb1b641be253e6d140ddb9 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from portuguese.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_portuguese.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int portuguese_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_form(struct SN_env * z);
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
@@ -19,71 +33,62 @@ static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * portuguese_ISO_8859_1_create_env(void);
-extern void portuguese_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a', '~' };
+static const symbol s_1[] = { 'o', '~' };
+static const symbol s_2[] = { 0xE3 };
+static const symbol s_3[] = { 0xF5 };
+static const symbol s_4[] = { 'l', 'o', 'g' };
+static const symbol s_5[] = { 'u' };
+static const symbol s_6[] = { 'e', 'n', 't', 'e' };
+static const symbol s_7[] = { 'a', 't' };
+static const symbol s_8[] = { 'a', 't' };
+static const symbol s_9[] = { 'i', 'r' };
+static const symbol s_10[] = { 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[1] = { 0xE3 };
 static const symbol s_0_2[1] = { 0xF5 };
-
-static const struct among a_0[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_0_1, 0, 1, 0},
-{ 1, s_0_2, 0, 2, 0}
+static const struct among a_0[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_0_1, -1, 1, 0},
+{ 1, s_0_2, -2, 2, 0}
 };
 
 static const symbol s_1_1[2] = { 'a', '~' };
 static const symbol s_1_2[2] = { 'o', '~' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_1_1, 0, 1, 0},
-{ 2, s_1_2, 0, 2, 0}
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_1_1, -1, 1, 0},
+{ 2, s_1_2, -2, 2, 0}
 };
 
 static const symbol s_2_0[2] = { 'i', 'c' };
 static const symbol s_2_1[2] = { 'a', 'd' };
 static const symbol s_2_2[2] = { 'o', 's' };
 static const symbol s_2_3[2] = { 'i', 'v' };
-
-static const struct among a_2[4] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, 1, 0}
+static const struct among a_2[4] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, 1, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
 static const symbol s_3_1[4] = { 'a', 'v', 'e', 'l' };
 static const symbol s_3_2[4] = { 0xED, 'v', 'e', 'l' };
-
-static const struct among a_3[3] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 4, s_3_2, -1, 1, 0}
+static const struct among a_3[3] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 4, s_3_2, 0, 1, 0}
 };
 
 static const symbol s_4_0[2] = { 'i', 'c' };
 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_4_2[2] = { 'i', 'v' };
-
-static const struct among a_4[3] =
-{
-{ 2, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 2, s_4_2, -1, 1, 0}
+static const struct among a_4[3] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 1, 0}
 };
 
 static const symbol s_5_0[3] = { 'i', 'c', 'a' };
@@ -131,54 +136,52 @@ static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
 static const symbol s_5_42[7] = { 'a', 'm', 'e', 'n', 't', 'o', 's' };
 static const symbol s_5_43[7] = { 'i', 'm', 'e', 'n', 't', 'o', 's' };
 static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
-
-static const struct among a_5[45] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 5, s_5_1, -1, 1, 0},
-{ 5, s_5_2, -1, 4, 0},
-{ 5, s_5_3, -1, 2, 0},
-{ 3, s_5_4, -1, 9, 0},
-{ 5, s_5_5, -1, 1, 0},
-{ 3, s_5_6, -1, 1, 0},
-{ 4, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 8, 0},
-{ 3, s_5_9, -1, 1, 0},
-{ 5, s_5_10, -1, 7, 0},
-{ 4, s_5_11, -1, 1, 0},
-{ 5, s_5_12, -1, 6, 0},
-{ 6, s_5_13, 12, 5, 0},
-{ 4, s_5_14, -1, 1, 0},
-{ 4, s_5_15, -1, 1, 0},
-{ 3, s_5_16, -1, 1, 0},
-{ 4, s_5_17, -1, 1, 0},
-{ 3, s_5_18, -1, 1, 0},
-{ 6, s_5_19, -1, 1, 0},
-{ 6, s_5_20, -1, 1, 0},
-{ 3, s_5_21, -1, 8, 0},
-{ 5, s_5_22, -1, 1, 0},
-{ 5, s_5_23, -1, 3, 0},
-{ 4, s_5_24, -1, 1, 0},
-{ 4, s_5_25, -1, 1, 0},
-{ 6, s_5_26, -1, 4, 0},
-{ 6, s_5_27, -1, 2, 0},
-{ 4, s_5_28, -1, 9, 0},
-{ 6, s_5_29, -1, 1, 0},
-{ 4, s_5_30, -1, 1, 0},
-{ 5, s_5_31, -1, 1, 0},
-{ 4, s_5_32, -1, 8, 0},
-{ 4, s_5_33, -1, 1, 0},
-{ 6, s_5_34, -1, 7, 0},
-{ 6, s_5_35, -1, 1, 0},
-{ 5, s_5_36, -1, 1, 0},
-{ 6, s_5_37, -1, 1, 0},
-{ 6, s_5_38, -1, 3, 0},
-{ 4, s_5_39, -1, 1, 0},
-{ 5, s_5_40, -1, 1, 0},
-{ 4, s_5_41, -1, 1, 0},
-{ 7, s_5_42, -1, 1, 0},
-{ 7, s_5_43, -1, 1, 0},
-{ 4, s_5_44, -1, 8, 0}
+static const struct among a_5[45] = {
+{ 3, s_5_0, 0, 1, 0},
+{ 5, s_5_1, 0, 1, 0},
+{ 5, s_5_2, 0, 4, 0},
+{ 5, s_5_3, 0, 2, 0},
+{ 3, s_5_4, 0, 9, 0},
+{ 5, s_5_5, 0, 1, 0},
+{ 3, s_5_6, 0, 1, 0},
+{ 4, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 8, 0},
+{ 3, s_5_9, 0, 1, 0},
+{ 5, s_5_10, 0, 7, 0},
+{ 4, s_5_11, 0, 1, 0},
+{ 5, s_5_12, 0, 6, 0},
+{ 6, s_5_13, -1, 5, 0},
+{ 4, s_5_14, 0, 1, 0},
+{ 4, s_5_15, 0, 1, 0},
+{ 3, s_5_16, 0, 1, 0},
+{ 4, s_5_17, 0, 1, 0},
+{ 3, s_5_18, 0, 1, 0},
+{ 6, s_5_19, 0, 1, 0},
+{ 6, s_5_20, 0, 1, 0},
+{ 3, s_5_21, 0, 8, 0},
+{ 5, s_5_22, 0, 1, 0},
+{ 5, s_5_23, 0, 3, 0},
+{ 4, s_5_24, 0, 1, 0},
+{ 4, s_5_25, 0, 1, 0},
+{ 6, s_5_26, 0, 4, 0},
+{ 6, s_5_27, 0, 2, 0},
+{ 4, s_5_28, 0, 9, 0},
+{ 6, s_5_29, 0, 1, 0},
+{ 4, s_5_30, 0, 1, 0},
+{ 5, s_5_31, 0, 1, 0},
+{ 4, s_5_32, 0, 8, 0},
+{ 4, s_5_33, 0, 1, 0},
+{ 6, s_5_34, 0, 7, 0},
+{ 6, s_5_35, 0, 1, 0},
+{ 5, s_5_36, 0, 1, 0},
+{ 6, s_5_37, 0, 1, 0},
+{ 6, s_5_38, 0, 3, 0},
+{ 4, s_5_39, 0, 1, 0},
+{ 5, s_5_40, 0, 1, 0},
+{ 4, s_5_41, 0, 1, 0},
+{ 7, s_5_42, 0, 1, 0},
+{ 7, s_5_43, 0, 1, 0},
+{ 4, s_5_44, 0, 8, 0}
 };
 
 static const symbol s_6_0[3] = { 'a', 'd', 'a' };
@@ -301,129 +304,127 @@ static const symbol s_6_116[2] = { 'o', 'u' };
 static const symbol s_6_117[3] = { 'a', 'r', 0xE1 };
 static const symbol s_6_118[3] = { 'e', 'r', 0xE1 };
 static const symbol s_6_119[3] = { 'i', 'r', 0xE1 };
-
-static const struct among a_6[120] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 3, s_6_1, -1, 1, 0},
-{ 2, s_6_2, -1, 1, 0},
-{ 4, s_6_3, 2, 1, 0},
-{ 4, s_6_4, 2, 1, 0},
-{ 4, s_6_5, 2, 1, 0},
-{ 3, s_6_6, -1, 1, 0},
-{ 3, s_6_7, -1, 1, 0},
-{ 3, s_6_8, -1, 1, 0},
-{ 3, s_6_9, -1, 1, 0},
-{ 4, s_6_10, -1, 1, 0},
-{ 4, s_6_11, -1, 1, 0},
-{ 4, s_6_12, -1, 1, 0},
-{ 4, s_6_13, -1, 1, 0},
-{ 4, s_6_14, -1, 1, 0},
-{ 4, s_6_15, -1, 1, 0},
-{ 2, s_6_16, -1, 1, 0},
-{ 4, s_6_17, 16, 1, 0},
-{ 4, s_6_18, 16, 1, 0},
-{ 4, s_6_19, 16, 1, 0},
-{ 2, s_6_20, -1, 1, 0},
-{ 3, s_6_21, 20, 1, 0},
-{ 5, s_6_22, 21, 1, 0},
-{ 5, s_6_23, 21, 1, 0},
-{ 5, s_6_24, 21, 1, 0},
-{ 4, s_6_25, 20, 1, 0},
-{ 4, s_6_26, 20, 1, 0},
-{ 4, s_6_27, 20, 1, 0},
-{ 4, s_6_28, 20, 1, 0},
-{ 2, s_6_29, -1, 1, 0},
-{ 4, s_6_30, 29, 1, 0},
-{ 4, s_6_31, 29, 1, 0},
-{ 4, s_6_32, 29, 1, 0},
-{ 5, s_6_33, 29, 1, 0},
-{ 5, s_6_34, 29, 1, 0},
-{ 5, s_6_35, 29, 1, 0},
-{ 3, s_6_36, -1, 1, 0},
-{ 3, s_6_37, -1, 1, 0},
-{ 4, s_6_38, -1, 1, 0},
-{ 4, s_6_39, -1, 1, 0},
-{ 4, s_6_40, -1, 1, 0},
-{ 5, s_6_41, -1, 1, 0},
-{ 5, s_6_42, -1, 1, 0},
-{ 5, s_6_43, -1, 1, 0},
-{ 2, s_6_44, -1, 1, 0},
-{ 2, s_6_45, -1, 1, 0},
-{ 2, s_6_46, -1, 1, 0},
-{ 2, s_6_47, -1, 1, 0},
-{ 4, s_6_48, 47, 1, 0},
-{ 4, s_6_49, 47, 1, 0},
-{ 3, s_6_50, 47, 1, 0},
-{ 5, s_6_51, 50, 1, 0},
-{ 5, s_6_52, 50, 1, 0},
-{ 5, s_6_53, 50, 1, 0},
-{ 4, s_6_54, 47, 1, 0},
-{ 4, s_6_55, 47, 1, 0},
-{ 4, s_6_56, 47, 1, 0},
-{ 4, s_6_57, 47, 1, 0},
-{ 2, s_6_58, -1, 1, 0},
-{ 5, s_6_59, 58, 1, 0},
-{ 5, s_6_60, 58, 1, 0},
-{ 5, s_6_61, 58, 1, 0},
-{ 4, s_6_62, 58, 1, 0},
-{ 4, s_6_63, 58, 1, 0},
-{ 4, s_6_64, 58, 1, 0},
-{ 5, s_6_65, 58, 1, 0},
-{ 5, s_6_66, 58, 1, 0},
-{ 5, s_6_67, 58, 1, 0},
-{ 5, s_6_68, 58, 1, 0},
-{ 5, s_6_69, 58, 1, 0},
-{ 5, s_6_70, 58, 1, 0},
-{ 2, s_6_71, -1, 1, 0},
-{ 3, s_6_72, 71, 1, 0},
-{ 3, s_6_73, 71, 1, 0},
-{ 5, s_6_74, 73, 1, 0},
-{ 5, s_6_75, 73, 1, 0},
-{ 5, s_6_76, 73, 1, 0},
-{ 5, s_6_77, 73, 1, 0},
-{ 5, s_6_78, 73, 1, 0},
-{ 5, s_6_79, 73, 1, 0},
-{ 6, s_6_80, 73, 1, 0},
-{ 6, s_6_81, 73, 1, 0},
-{ 6, s_6_82, 73, 1, 0},
-{ 5, s_6_83, 73, 1, 0},
-{ 4, s_6_84, 73, 1, 0},
-{ 6, s_6_85, 84, 1, 0},
-{ 6, s_6_86, 84, 1, 0},
-{ 6, s_6_87, 84, 1, 0},
-{ 4, s_6_88, -1, 1, 0},
-{ 4, s_6_89, -1, 1, 0},
-{ 4, s_6_90, -1, 1, 0},
-{ 6, s_6_91, 90, 1, 0},
-{ 6, s_6_92, 90, 1, 0},
-{ 6, s_6_93, 90, 1, 0},
-{ 6, s_6_94, 90, 1, 0},
-{ 5, s_6_95, 90, 1, 0},
-{ 7, s_6_96, 95, 1, 0},
-{ 7, s_6_97, 95, 1, 0},
-{ 7, s_6_98, 95, 1, 0},
-{ 4, s_6_99, -1, 1, 0},
-{ 6, s_6_100, 99, 1, 0},
-{ 6, s_6_101, 99, 1, 0},
-{ 6, s_6_102, 99, 1, 0},
-{ 7, s_6_103, 99, 1, 0},
-{ 7, s_6_104, 99, 1, 0},
-{ 7, s_6_105, 99, 1, 0},
-{ 4, s_6_106, -1, 1, 0},
-{ 5, s_6_107, -1, 1, 0},
-{ 5, s_6_108, -1, 1, 0},
-{ 5, s_6_109, -1, 1, 0},
-{ 4, s_6_110, -1, 1, 0},
-{ 4, s_6_111, -1, 1, 0},
-{ 4, s_6_112, -1, 1, 0},
-{ 4, s_6_113, -1, 1, 0},
-{ 2, s_6_114, -1, 1, 0},
-{ 2, s_6_115, -1, 1, 0},
-{ 2, s_6_116, -1, 1, 0},
-{ 3, s_6_117, -1, 1, 0},
-{ 3, s_6_118, -1, 1, 0},
-{ 3, s_6_119, -1, 1, 0}
+static const struct among a_6[120] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 3, s_6_1, 0, 1, 0},
+{ 2, s_6_2, 0, 1, 0},
+{ 4, s_6_3, -1, 1, 0},
+{ 4, s_6_4, -2, 1, 0},
+{ 4, s_6_5, -3, 1, 0},
+{ 3, s_6_6, 0, 1, 0},
+{ 3, s_6_7, 0, 1, 0},
+{ 3, s_6_8, 0, 1, 0},
+{ 3, s_6_9, 0, 1, 0},
+{ 4, s_6_10, 0, 1, 0},
+{ 4, s_6_11, 0, 1, 0},
+{ 4, s_6_12, 0, 1, 0},
+{ 4, s_6_13, 0, 1, 0},
+{ 4, s_6_14, 0, 1, 0},
+{ 4, s_6_15, 0, 1, 0},
+{ 2, s_6_16, 0, 1, 0},
+{ 4, s_6_17, -1, 1, 0},
+{ 4, s_6_18, -2, 1, 0},
+{ 4, s_6_19, -3, 1, 0},
+{ 2, s_6_20, 0, 1, 0},
+{ 3, s_6_21, -1, 1, 0},
+{ 5, s_6_22, -1, 1, 0},
+{ 5, s_6_23, -2, 1, 0},
+{ 5, s_6_24, -3, 1, 0},
+{ 4, s_6_25, -5, 1, 0},
+{ 4, s_6_26, -6, 1, 0},
+{ 4, s_6_27, -7, 1, 0},
+{ 4, s_6_28, -8, 1, 0},
+{ 2, s_6_29, 0, 1, 0},
+{ 4, s_6_30, -1, 1, 0},
+{ 4, s_6_31, -2, 1, 0},
+{ 4, s_6_32, -3, 1, 0},
+{ 5, s_6_33, -4, 1, 0},
+{ 5, s_6_34, -5, 1, 0},
+{ 5, s_6_35, -6, 1, 0},
+{ 3, s_6_36, 0, 1, 0},
+{ 3, s_6_37, 0, 1, 0},
+{ 4, s_6_38, 0, 1, 0},
+{ 4, s_6_39, 0, 1, 0},
+{ 4, s_6_40, 0, 1, 0},
+{ 5, s_6_41, 0, 1, 0},
+{ 5, s_6_42, 0, 1, 0},
+{ 5, s_6_43, 0, 1, 0},
+{ 2, s_6_44, 0, 1, 0},
+{ 2, s_6_45, 0, 1, 0},
+{ 2, s_6_46, 0, 1, 0},
+{ 2, s_6_47, 0, 1, 0},
+{ 4, s_6_48, -1, 1, 0},
+{ 4, s_6_49, -2, 1, 0},
+{ 3, s_6_50, -3, 1, 0},
+{ 5, s_6_51, -1, 1, 0},
+{ 5, s_6_52, -2, 1, 0},
+{ 5, s_6_53, -3, 1, 0},
+{ 4, s_6_54, -7, 1, 0},
+{ 4, s_6_55, -8, 1, 0},
+{ 4, s_6_56, -9, 1, 0},
+{ 4, s_6_57, -10, 1, 0},
+{ 2, s_6_58, 0, 1, 0},
+{ 5, s_6_59, -1, 1, 0},
+{ 5, s_6_60, -2, 1, 0},
+{ 5, s_6_61, -3, 1, 0},
+{ 4, s_6_62, -4, 1, 0},
+{ 4, s_6_63, -5, 1, 0},
+{ 4, s_6_64, -6, 1, 0},
+{ 5, s_6_65, -7, 1, 0},
+{ 5, s_6_66, -8, 1, 0},
+{ 5, s_6_67, -9, 1, 0},
+{ 5, s_6_68, -10, 1, 0},
+{ 5, s_6_69, -11, 1, 0},
+{ 5, s_6_70, -12, 1, 0},
+{ 2, s_6_71, 0, 1, 0},
+{ 3, s_6_72, -1, 1, 0},
+{ 3, s_6_73, -2, 1, 0},
+{ 5, s_6_74, -1, 1, 0},
+{ 5, s_6_75, -2, 1, 0},
+{ 5, s_6_76, -3, 1, 0},
+{ 5, s_6_77, -4, 1, 0},
+{ 5, s_6_78, -5, 1, 0},
+{ 5, s_6_79, -6, 1, 0},
+{ 6, s_6_80, -7, 1, 0},
+{ 6, s_6_81, -8, 1, 0},
+{ 6, s_6_82, -9, 1, 0},
+{ 5, s_6_83, -10, 1, 0},
+{ 4, s_6_84, -11, 1, 0},
+{ 6, s_6_85, -1, 1, 0},
+{ 6, s_6_86, -2, 1, 0},
+{ 6, s_6_87, -3, 1, 0},
+{ 4, s_6_88, 0, 1, 0},
+{ 4, s_6_89, 0, 1, 0},
+{ 4, s_6_90, 0, 1, 0},
+{ 6, s_6_91, -1, 1, 0},
+{ 6, s_6_92, -2, 1, 0},
+{ 6, s_6_93, -3, 1, 0},
+{ 6, s_6_94, -4, 1, 0},
+{ 5, s_6_95, -5, 1, 0},
+{ 7, s_6_96, -1, 1, 0},
+{ 7, s_6_97, -2, 1, 0},
+{ 7, s_6_98, -3, 1, 0},
+{ 4, s_6_99, 0, 1, 0},
+{ 6, s_6_100, -1, 1, 0},
+{ 6, s_6_101, -2, 1, 0},
+{ 6, s_6_102, -3, 1, 0},
+{ 7, s_6_103, -4, 1, 0},
+{ 7, s_6_104, -5, 1, 0},
+{ 7, s_6_105, -6, 1, 0},
+{ 4, s_6_106, 0, 1, 0},
+{ 5, s_6_107, 0, 1, 0},
+{ 5, s_6_108, 0, 1, 0},
+{ 5, s_6_109, 0, 1, 0},
+{ 4, s_6_110, 0, 1, 0},
+{ 4, s_6_111, 0, 1, 0},
+{ 4, s_6_112, 0, 1, 0},
+{ 4, s_6_113, 0, 1, 0},
+{ 2, s_6_114, 0, 1, 0},
+{ 2, s_6_115, 0, 1, 0},
+{ 2, s_6_116, 0, 1, 0},
+{ 3, s_6_117, 0, 1, 0},
+{ 3, s_6_118, 0, 1, 0},
+{ 3, s_6_119, 0, 1, 0}
 };
 
 static const symbol s_7_0[1] = { 'a' };
@@ -433,61 +434,47 @@ static const symbol s_7_3[2] = { 'o', 's' };
 static const symbol s_7_4[1] = { 0xE1 };
 static const symbol s_7_5[1] = { 0xED };
 static const symbol s_7_6[1] = { 0xF3 };
-
-static const struct among a_7[7] =
-{
-{ 1, s_7_0, -1, 1, 0},
-{ 1, s_7_1, -1, 1, 0},
-{ 1, s_7_2, -1, 1, 0},
-{ 2, s_7_3, -1, 1, 0},
-{ 1, s_7_4, -1, 1, 0},
-{ 1, s_7_5, -1, 1, 0},
-{ 1, s_7_6, -1, 1, 0}
+static const struct among a_7[7] = {
+{ 1, s_7_0, 0, 1, 0},
+{ 1, s_7_1, 0, 1, 0},
+{ 1, s_7_2, 0, 1, 0},
+{ 2, s_7_3, 0, 1, 0},
+{ 1, s_7_4, 0, 1, 0},
+{ 1, s_7_5, 0, 1, 0},
+{ 1, s_7_6, 0, 1, 0}
 };
 
 static const symbol s_8_0[1] = { 'e' };
 static const symbol s_8_1[1] = { 0xE7 };
 static const symbol s_8_2[1] = { 0xE9 };
 static const symbol s_8_3[1] = { 0xEA };
-
-static const struct among a_8[4] =
-{
-{ 1, s_8_0, -1, 1, 0},
-{ 1, s_8_1, -1, 2, 0},
-{ 1, s_8_2, -1, 1, 0},
-{ 1, s_8_3, -1, 1, 0}
+static const struct among a_8[4] = {
+{ 1, s_8_0, 0, 1, 0},
+{ 1, s_8_1, 0, 2, 0},
+{ 1, s_8_2, 0, 1, 0},
+{ 1, s_8_3, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
 
-static const symbol s_0[] = { 'a', '~' };
-static const symbol s_1[] = { 'o', '~' };
-static const symbol s_2[] = { 0xE3 };
-static const symbol s_3[] = { 0xF5 };
-static const symbol s_4[] = { 'l', 'o', 'g' };
-static const symbol s_5[] = { 'u' };
-static const symbol s_6[] = { 'e', 'n', 't', 'e' };
-static const symbol s_7[] = { 'a', 't' };
-static const symbol s_8[] = { 'a', 't' };
-static const symbol s_9[] = { 'i', 'r' };
-static const symbol s_10[] = { 'c' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || (z->p[z->c + 0] != 227 && z->p[z->c + 0] != 245)) among_var = 3; else
-        among_var = find_among(z, a_0, 3);
+        among_var = find_among(z, a_0, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_0);
+                {
+                    int ret = slice_from_s(z, 2, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_1);
+                {
+                    int ret = slice_from_s(z, 2, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -498,115 +485,111 @@ static int r_prelude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping(z, g_v, 97, 250, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping(z, g_v, 97, 250, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping(z, g_v, 97, 250, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping(z, g_v, 97, 250, 0)) goto lab2;
                 {
                     int ret = out_grouping(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping(z, g_v, 97, 250, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping(z, g_v, 97, 250, 0)) goto lab1;
                 {
                     int ret = in_grouping(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping(z, g_v, 97, 250, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping(z, g_v, 97, 250, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping(z, g_v, 97, 250, 0)) goto lab3;
                 {
                     int ret = out_grouping(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping(z, g_v, 97, 250, 0)) goto lab0;
                 if (z->c >= z->l) goto lab0;
                 z->c++;
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
+        among_var = find_among(z, a_1, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_2);
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -617,94 +600,109 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 45);
+    among_var = find_among_b(z, a_5, 45, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_4);
+            {
+                int ret = slice_from_s(z, 3, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; }
-                among_var = find_among_b(z, a_2, 4);
-                if (!among_var) { z->c = z->l - m1; goto lab0; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_1; goto lab0; }
+                among_var = find_among_b(z, a_2, 4, 0);
+                if (!among_var) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; }
+                        if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - v_1; goto lab0; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -714,22 +712,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 6:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; }
-                if (!find_among_b(z, a_3, 3)) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - v_2; goto lab1; }
+                if (!find_among_b(z, a_3, 3, 0)) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab1:
@@ -737,22 +740,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                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 - m3; goto lab2; }
-                if (!find_among_b(z, a_4, 3)) { z->c = z->l - m3; goto lab2; }
+                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 - v_3; goto lab2; }
+                if (!find_among_b(z, a_4, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -760,21 +768,26 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -782,12 +795,14 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
             if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
             z->c--;
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -796,29 +811,32 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_6, 120)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_6, 120, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_residual_suffix(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_7, 7)) return 0;
+    if (!find_among_b(z, a_7, 7, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -827,49 +845,56 @@ static int r_residual_suffix(struct SN_env * z) {
 static int r_residual_form(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_8, 4);
+    among_var = find_among_b(z, a_8, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab0;
                 z->c--;
                 z->bra = z->c;
-                {   int m_test2 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1;
+                {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab0;
                     z->c--;
-                    z->c = z->l - m_test2;
+                    z->c = z->l - v_2;
                 }
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
                 z->c--;
                 z->bra = z->c;
-                {   int m_test3 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
                     if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0;
                     z->c--;
-                    z->c = z->l - m_test3;
+                    z->c = z->l - v_3;
                 }
-            }
-        lab0:
-            {   int ret = r_RV(z);
+            } while (0);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_10);
                 if (ret < 0) return ret;
             }
             break;
@@ -878,86 +903,110 @@ static int r_residual_form(struct SN_env * z) {
 }
 
 extern int portuguese_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m4 = z->l - z->c; (void)m4;
-                {   int m5 = z->l - z->c; (void)m5;
-                    {   int ret = r_standard_suffix(z);
-                        if (ret == 0) goto lab4;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int v_4 = z->l - z->c;
+                do {
+                    int v_5 = z->l - z->c;
+                    {
+                        int ret = r_standard_suffix(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m5;
-                    {   int ret = r_verb_suffix(z);
-                        if (ret == 0) goto lab2;
+                    break;
+                lab2:
+                    z->c = z->l - v_5;
+                    {
+                        int ret = r_verb_suffix(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                }
-            lab3:
-                z->c = z->l - m4;
-                {   int m6 = z->l - z->c; (void)m6;
+                } while (0);
+                z->c = z->l - v_4;
+                {
+                    int v_6 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab5;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab3;
                     z->c--;
                     z->bra = z->c;
-                    {   int m_test7 = z->l - z->c;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab5;
+                    {
+                        int v_7 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3;
                         z->c--;
-                        z->c = z->l - m_test7;
+                        z->c = z->l - v_7;
                     }
-                    {   int ret = r_RV(z);
-                        if (ret == 0) goto lab5;
+                    {
+                        int ret = r_RV(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab5:
-                    z->c = z->l - m6;
+                lab3:
+                    z->c = z->l - v_6;
                 }
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_residual_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_residual_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_residual_form(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_residual_form(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
     z->c = z->lb;
-    {   int c9 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_9 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c9;
+        z->c = v_9;
     }
     return 1;
 }
 
-extern struct SN_env * portuguese_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * portuguese_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void portuguese_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void portuguese_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 252bb28cd3c43f212e8f2c7ac88e38338fbf6fd1..01f10f847e30f278d12d55eeb82110bf8fcb56b8 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from spanish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_spanish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int spanish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_y_verb_suffix(struct SN_env * z);
@@ -19,32 +33,36 @@ static int r_R1(struct SN_env * z);
 static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * spanish_ISO_8859_1_create_env(void);
-extern void spanish_ISO_8859_1_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
+static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
+static const symbol s_7[] = { 'a', 'r' };
+static const symbol s_8[] = { 'e', 'r' };
+static const symbol s_9[] = { 'i', 'r' };
+static const symbol s_10[] = { 'i', 'c' };
+static const symbol s_11[] = { 'l', 'o', 'g' };
+static const symbol s_12[] = { 'u' };
+static const symbol s_13[] = { 'e', 'n', 't', 'e' };
+static const symbol s_14[] = { 'a', 't' };
+static const symbol s_15[] = { 'a', 't' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[1] = { 0xE1 };
 static const symbol s_0_2[1] = { 0xE9 };
 static const symbol s_0_3[1] = { 0xED };
 static const symbol s_0_4[1] = { 0xF3 };
 static const symbol s_0_5[1] = { 0xFA };
-
-static const struct among a_0[6] =
-{
-{ 0, 0, -1, 6, 0},
-{ 1, s_0_1, 0, 1, 0},
-{ 1, s_0_2, 0, 2, 0},
-{ 1, s_0_3, 0, 3, 0},
-{ 1, s_0_4, 0, 4, 0},
-{ 1, s_0_5, 0, 5, 0}
+static const struct among a_0[6] = {
+{ 0, 0, 0, 6, 0},
+{ 1, s_0_1, -1, 1, 0},
+{ 1, s_0_2, -2, 2, 0},
+{ 1, s_0_3, -3, 3, 0},
+{ 1, s_0_4, -4, 4, 0},
+{ 1, s_0_5, -5, 5, 0}
 };
 
 static const symbol s_1_0[2] = { 'l', 'a' };
@@ -60,22 +78,20 @@ static const symbol s_1_9[3] = { 'l', 'e', 's' };
 static const symbol s_1_10[3] = { 'l', 'o', 's' };
 static const symbol s_1_11[5] = { 's', 'e', 'l', 'o', 's' };
 static const symbol s_1_12[3] = { 'n', 'o', 's' };
-
-static const struct among a_1[13] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 4, s_1_1, 0, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 2, s_1_4, -1, -1, 0},
-{ 2, s_1_5, -1, -1, 0},
-{ 4, s_1_6, 5, -1, 0},
-{ 3, s_1_7, -1, -1, 0},
-{ 5, s_1_8, 7, -1, 0},
-{ 3, s_1_9, -1, -1, 0},
-{ 3, s_1_10, -1, -1, 0},
-{ 5, s_1_11, 10, -1, 0},
-{ 3, s_1_12, -1, -1, 0}
+static const struct among a_1[13] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 4, s_1_1, -1, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 2, s_1_4, 0, -1, 0},
+{ 2, s_1_5, 0, -1, 0},
+{ 4, s_1_6, -1, -1, 0},
+{ 3, s_1_7, 0, -1, 0},
+{ 5, s_1_8, -1, -1, 0},
+{ 3, s_1_9, 0, -1, 0},
+{ 3, s_1_10, 0, -1, 0},
+{ 5, s_1_11, -1, -1, 0},
+{ 3, s_1_12, 0, -1, 0}
 };
 
 static const symbol s_2_0[4] = { 'a', 'n', 'd', 'o' };
@@ -89,55 +105,47 @@ static const symbol s_2_7[2] = { 'i', 'r' };
 static const symbol s_2_8[2] = { 0xE1, 'r' };
 static const symbol s_2_9[2] = { 0xE9, 'r' };
 static const symbol s_2_10[2] = { 0xED, 'r' };
-
-static const struct among a_2[11] =
-{
-{ 4, s_2_0, -1, 6, 0},
-{ 5, s_2_1, -1, 6, 0},
-{ 5, s_2_2, -1, 7, 0},
-{ 4, s_2_3, -1, 2, 0},
-{ 5, s_2_4, -1, 1, 0},
-{ 2, s_2_5, -1, 6, 0},
-{ 2, s_2_6, -1, 6, 0},
-{ 2, s_2_7, -1, 6, 0},
-{ 2, s_2_8, -1, 3, 0},
-{ 2, s_2_9, -1, 4, 0},
-{ 2, s_2_10, -1, 5, 0}
+static const struct among a_2[11] = {
+{ 4, s_2_0, 0, 6, 0},
+{ 5, s_2_1, 0, 6, 0},
+{ 5, s_2_2, 0, 7, 0},
+{ 4, s_2_3, 0, 2, 0},
+{ 5, s_2_4, 0, 1, 0},
+{ 2, s_2_5, 0, 6, 0},
+{ 2, s_2_6, 0, 6, 0},
+{ 2, s_2_7, 0, 6, 0},
+{ 2, s_2_8, 0, 3, 0},
+{ 2, s_2_9, 0, 4, 0},
+{ 2, s_2_10, 0, 5, 0}
 };
 
 static const symbol s_3_0[2] = { 'i', 'c' };
 static const symbol s_3_1[2] = { 'a', 'd' };
 static const symbol s_3_2[2] = { 'o', 's' };
 static const symbol s_3_3[2] = { 'i', 'v' };
-
-static const struct among a_3[4] =
-{
-{ 2, s_3_0, -1, -1, 0},
-{ 2, s_3_1, -1, -1, 0},
-{ 2, s_3_2, -1, -1, 0},
-{ 2, s_3_3, -1, 1, 0}
+static const struct among a_3[4] = {
+{ 2, s_3_0, 0, -1, 0},
+{ 2, s_3_1, 0, -1, 0},
+{ 2, s_3_2, 0, -1, 0},
+{ 2, s_3_3, 0, 1, 0}
 };
 
 static const symbol s_4_0[4] = { 'a', 'b', 'l', 'e' };
 static const symbol s_4_1[4] = { 'i', 'b', 'l', 'e' };
 static const symbol s_4_2[4] = { 'a', 'n', 't', 'e' };
-
-static const struct among a_4[3] =
-{
-{ 4, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 4, s_4_2, -1, 1, 0}
+static const struct among a_4[3] = {
+{ 4, s_4_0, 0, 1, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 4, s_4_2, 0, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_5_2[2] = { 'i', 'v' };
-
-static const struct among a_5[3] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 2, s_5_2, -1, 1, 0}
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 2, s_5_2, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
@@ -155,86 +163,88 @@ static const symbol s_6_11[4] = { 'i', 'b', 'l', 'e' };
 static const symbol s_6_12[4] = { 'a', 'n', 't', 'e' };
 static const symbol s_6_13[5] = { 'm', 'e', 'n', 't', 'e' };
 static const symbol s_6_14[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
-static const symbol s_6_15[5] = { 'a', 'c', 'i', 0xF3, 'n' };
-static const symbol s_6_16[5] = { 'u', 'c', 'i', 0xF3, 'n' };
-static const symbol s_6_17[3] = { 'i', 'c', 'o' };
-static const symbol s_6_18[4] = { 'i', 's', 'm', 'o' };
-static const symbol s_6_19[3] = { 'o', 's', 'o' };
-static const symbol s_6_20[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
-static const symbol s_6_21[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
-static const symbol s_6_22[3] = { 'i', 'v', 'o' };
-static const symbol s_6_23[4] = { 'a', 'd', 'o', 'r' };
-static const symbol s_6_24[4] = { 'i', 'c', 'a', 's' };
-static const symbol s_6_25[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
-static const symbol s_6_26[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
-static const symbol s_6_27[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
-static const symbol s_6_28[4] = { 'o', 's', 'a', 's' };
-static const symbol s_6_29[5] = { 'i', 's', 't', 'a', 's' };
-static const symbol s_6_30[4] = { 'i', 'v', 'a', 's' };
-static const symbol s_6_31[5] = { 'a', 'n', 'z', 'a', 's' };
-static const symbol s_6_32[6] = { 'l', 'o', 'g', 0xED, 'a', 's' };
-static const symbol s_6_33[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
-static const symbol s_6_34[5] = { 'a', 'b', 'l', 'e', 's' };
-static const symbol s_6_35[5] = { 'i', 'b', 'l', 'e', 's' };
-static const symbol s_6_36[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
-static const symbol s_6_37[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
-static const symbol s_6_38[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
-static const symbol s_6_39[5] = { 'a', 'n', 't', 'e', 's' };
-static const symbol s_6_40[4] = { 'i', 'c', 'o', 's' };
-static const symbol s_6_41[5] = { 'i', 's', 'm', 'o', 's' };
-static const symbol s_6_42[4] = { 'o', 's', 'o', 's' };
-static const symbol s_6_43[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
-static const symbol s_6_44[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
-static const symbol s_6_45[4] = { 'i', 'v', 'o', 's' };
-
-static const struct among a_6[46] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 5, s_6_1, -1, 2, 0},
-{ 5, s_6_2, -1, 5, 0},
-{ 5, s_6_3, -1, 2, 0},
-{ 3, s_6_4, -1, 1, 0},
-{ 4, s_6_5, -1, 1, 0},
-{ 3, s_6_6, -1, 9, 0},
-{ 4, s_6_7, -1, 1, 0},
-{ 5, s_6_8, -1, 3, 0},
-{ 4, s_6_9, -1, 8, 0},
-{ 4, s_6_10, -1, 1, 0},
-{ 4, s_6_11, -1, 1, 0},
-{ 4, s_6_12, -1, 2, 0},
-{ 5, s_6_13, -1, 7, 0},
-{ 6, s_6_14, 13, 6, 0},
-{ 5, s_6_15, -1, 2, 0},
-{ 5, s_6_16, -1, 4, 0},
-{ 3, s_6_17, -1, 1, 0},
-{ 4, s_6_18, -1, 1, 0},
-{ 3, s_6_19, -1, 1, 0},
-{ 7, s_6_20, -1, 1, 0},
-{ 7, s_6_21, -1, 1, 0},
-{ 3, s_6_22, -1, 9, 0},
-{ 4, s_6_23, -1, 2, 0},
-{ 4, s_6_24, -1, 1, 0},
-{ 6, s_6_25, -1, 2, 0},
-{ 6, s_6_26, -1, 5, 0},
-{ 6, s_6_27, -1, 2, 0},
-{ 4, s_6_28, -1, 1, 0},
-{ 5, s_6_29, -1, 1, 0},
-{ 4, s_6_30, -1, 9, 0},
-{ 5, s_6_31, -1, 1, 0},
-{ 6, s_6_32, -1, 3, 0},
-{ 6, s_6_33, -1, 8, 0},
-{ 5, s_6_34, -1, 1, 0},
-{ 5, s_6_35, -1, 1, 0},
-{ 7, s_6_36, -1, 2, 0},
-{ 7, s_6_37, -1, 4, 0},
-{ 6, s_6_38, -1, 2, 0},
-{ 5, s_6_39, -1, 2, 0},
-{ 4, s_6_40, -1, 1, 0},
-{ 5, s_6_41, -1, 1, 0},
-{ 4, s_6_42, -1, 1, 0},
-{ 8, s_6_43, -1, 1, 0},
-{ 8, s_6_44, -1, 1, 0},
-{ 4, s_6_45, -1, 9, 0}
+static const symbol s_6_15[5] = { 'a', 'c', 'i', 'o', 'n' };
+static const symbol s_6_16[5] = { 'u', 'c', 'i', 'o', 'n' };
+static const symbol s_6_17[5] = { 'a', 'c', 'i', 0xF3, 'n' };
+static const symbol s_6_18[5] = { 'u', 'c', 'i', 0xF3, 'n' };
+static const symbol s_6_19[3] = { 'i', 'c', 'o' };
+static const symbol s_6_20[4] = { 'i', 's', 'm', 'o' };
+static const symbol s_6_21[3] = { 'o', 's', 'o' };
+static const symbol s_6_22[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
+static const symbol s_6_23[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
+static const symbol s_6_24[3] = { 'i', 'v', 'o' };
+static const symbol s_6_25[4] = { 'a', 'd', 'o', 'r' };
+static const symbol s_6_26[4] = { 'i', 'c', 'a', 's' };
+static const symbol s_6_27[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
+static const symbol s_6_28[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
+static const symbol s_6_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
+static const symbol s_6_30[4] = { 'o', 's', 'a', 's' };
+static const symbol s_6_31[5] = { 'i', 's', 't', 'a', 's' };
+static const symbol s_6_32[4] = { 'i', 'v', 'a', 's' };
+static const symbol s_6_33[5] = { 'a', 'n', 'z', 'a', 's' };
+static const symbol s_6_34[6] = { 'l', 'o', 'g', 0xED, 'a', 's' };
+static const symbol s_6_35[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
+static const symbol s_6_36[5] = { 'a', 'b', 'l', 'e', 's' };
+static const symbol s_6_37[5] = { 'i', 'b', 'l', 'e', 's' };
+static const symbol s_6_38[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
+static const symbol s_6_39[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
+static const symbol s_6_40[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
+static const symbol s_6_41[5] = { 'a', 'n', 't', 'e', 's' };
+static const symbol s_6_42[4] = { 'i', 'c', 'o', 's' };
+static const symbol s_6_43[5] = { 'i', 's', 'm', 'o', 's' };
+static const symbol s_6_44[4] = { 'o', 's', 'o', 's' };
+static const symbol s_6_45[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
+static const symbol s_6_46[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
+static const symbol s_6_47[4] = { 'i', 'v', 'o', 's' };
+static const struct among a_6[48] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 5, s_6_1, 0, 2, 0},
+{ 5, s_6_2, 0, 5, 0},
+{ 5, s_6_3, 0, 2, 0},
+{ 3, s_6_4, 0, 1, 0},
+{ 4, s_6_5, 0, 1, 0},
+{ 3, s_6_6, 0, 9, 0},
+{ 4, s_6_7, 0, 1, 0},
+{ 5, s_6_8, 0, 3, 0},
+{ 4, s_6_9, 0, 8, 0},
+{ 4, s_6_10, 0, 1, 0},
+{ 4, s_6_11, 0, 1, 0},
+{ 4, s_6_12, 0, 2, 0},
+{ 5, s_6_13, 0, 7, 0},
+{ 6, s_6_14, -1, 6, 0},
+{ 5, s_6_15, 0, 2, 0},
+{ 5, s_6_16, 0, 4, 0},
+{ 5, s_6_17, 0, 2, 0},
+{ 5, s_6_18, 0, 4, 0},
+{ 3, s_6_19, 0, 1, 0},
+{ 4, s_6_20, 0, 1, 0},
+{ 3, s_6_21, 0, 1, 0},
+{ 7, s_6_22, 0, 1, 0},
+{ 7, s_6_23, 0, 1, 0},
+{ 3, s_6_24, 0, 9, 0},
+{ 4, s_6_25, 0, 2, 0},
+{ 4, s_6_26, 0, 1, 0},
+{ 6, s_6_27, 0, 2, 0},
+{ 6, s_6_28, 0, 5, 0},
+{ 6, s_6_29, 0, 2, 0},
+{ 4, s_6_30, 0, 1, 0},
+{ 5, s_6_31, 0, 1, 0},
+{ 4, s_6_32, 0, 9, 0},
+{ 5, s_6_33, 0, 1, 0},
+{ 6, s_6_34, 0, 3, 0},
+{ 6, s_6_35, 0, 8, 0},
+{ 5, s_6_36, 0, 1, 0},
+{ 5, s_6_37, 0, 1, 0},
+{ 7, s_6_38, 0, 2, 0},
+{ 7, s_6_39, 0, 4, 0},
+{ 6, s_6_40, 0, 2, 0},
+{ 5, s_6_41, 0, 2, 0},
+{ 4, s_6_42, 0, 1, 0},
+{ 5, s_6_43, 0, 1, 0},
+{ 4, s_6_44, 0, 1, 0},
+{ 8, s_6_45, 0, 1, 0},
+{ 8, s_6_46, 0, 1, 0},
+{ 4, s_6_47, 0, 9, 0}
 };
 
 static const symbol s_7_0[2] = { 'y', 'a' };
@@ -249,21 +259,19 @@ static const symbol s_7_8[3] = { 'y', 'e', 's' };
 static const symbol s_7_9[4] = { 'y', 'a', 'i', 's' };
 static const symbol s_7_10[5] = { 'y', 'a', 'm', 'o', 's' };
 static const symbol s_7_11[2] = { 'y', 0xF3 };
-
-static const struct among a_7[12] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 2, s_7_1, -1, 1, 0},
-{ 3, s_7_2, -1, 1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 5, s_7_4, -1, 1, 0},
-{ 5, s_7_5, -1, 1, 0},
-{ 2, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 3, s_7_8, -1, 1, 0},
-{ 4, s_7_9, -1, 1, 0},
-{ 5, s_7_10, -1, 1, 0},
-{ 2, s_7_11, -1, 1, 0}
+static const struct among a_7[12] = {
+{ 2, s_7_0, 0, 1, 0},
+{ 2, s_7_1, 0, 1, 0},
+{ 3, s_7_2, 0, 1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 5, s_7_4, 0, 1, 0},
+{ 5, s_7_5, 0, 1, 0},
+{ 2, s_7_6, 0, 1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 3, s_7_8, 0, 1, 0},
+{ 4, s_7_9, 0, 1, 0},
+{ 5, s_7_10, 0, 1, 0},
+{ 2, s_7_11, 0, 1, 0}
 };
 
 static const symbol s_8_0[3] = { 'a', 'b', 'a' };
@@ -362,105 +370,103 @@ static const symbol s_8_92[3] = { 'a', 'r', 0xE9 };
 static const symbol s_8_93[3] = { 'e', 'r', 0xE9 };
 static const symbol s_8_94[3] = { 'i', 'r', 0xE9 };
 static const symbol s_8_95[2] = { 'i', 0xF3 };
-
-static const struct among a_8[96] =
-{
-{ 3, s_8_0, -1, 2, 0},
-{ 3, s_8_1, -1, 2, 0},
-{ 3, s_8_2, -1, 2, 0},
-{ 3, s_8_3, -1, 2, 0},
-{ 4, s_8_4, -1, 2, 0},
-{ 2, s_8_5, -1, 2, 0},
-{ 4, s_8_6, 5, 2, 0},
-{ 4, s_8_7, 5, 2, 0},
-{ 4, s_8_8, 5, 2, 0},
-{ 2, s_8_9, -1, 2, 0},
-{ 2, s_8_10, -1, 2, 0},
-{ 2, s_8_11, -1, 2, 0},
-{ 3, s_8_12, -1, 2, 0},
-{ 4, s_8_13, -1, 2, 0},
-{ 4, s_8_14, -1, 2, 0},
-{ 4, s_8_15, -1, 2, 0},
-{ 2, s_8_16, -1, 2, 0},
-{ 4, s_8_17, 16, 2, 0},
-{ 4, s_8_18, 16, 2, 0},
-{ 5, s_8_19, 16, 2, 0},
-{ 3, s_8_20, 16, 2, 0},
-{ 5, s_8_21, 20, 2, 0},
-{ 5, s_8_22, 20, 2, 0},
-{ 5, s_8_23, 20, 2, 0},
-{ 2, s_8_24, -1, 1, 0},
-{ 4, s_8_25, 24, 2, 0},
-{ 5, s_8_26, 24, 2, 0},
-{ 4, s_8_27, -1, 2, 0},
-{ 5, s_8_28, -1, 2, 0},
-{ 4, s_8_29, -1, 2, 0},
-{ 4, s_8_30, -1, 2, 0},
-{ 4, s_8_31, -1, 2, 0},
-{ 3, s_8_32, -1, 2, 0},
-{ 3, s_8_33, -1, 2, 0},
-{ 4, s_8_34, -1, 2, 0},
-{ 5, s_8_35, -1, 2, 0},
-{ 2, s_8_36, -1, 2, 0},
-{ 2, s_8_37, -1, 2, 0},
-{ 2, s_8_38, -1, 2, 0},
-{ 2, s_8_39, -1, 2, 0},
-{ 4, s_8_40, 39, 2, 0},
-{ 4, s_8_41, 39, 2, 0},
-{ 4, s_8_42, 39, 2, 0},
-{ 4, s_8_43, 39, 2, 0},
-{ 5, s_8_44, 39, 2, 0},
-{ 3, s_8_45, 39, 2, 0},
-{ 5, s_8_46, 45, 2, 0},
-{ 5, s_8_47, 45, 2, 0},
-{ 5, s_8_48, 45, 2, 0},
-{ 2, s_8_49, -1, 1, 0},
-{ 4, s_8_50, 49, 2, 0},
-{ 5, s_8_51, 49, 2, 0},
-{ 5, s_8_52, -1, 2, 0},
-{ 5, s_8_53, -1, 2, 0},
-{ 6, s_8_54, -1, 2, 0},
-{ 4, s_8_55, -1, 2, 0},
-{ 6, s_8_56, 55, 2, 0},
-{ 6, s_8_57, 55, 2, 0},
-{ 6, s_8_58, 55, 2, 0},
-{ 5, s_8_59, -1, 2, 0},
-{ 6, s_8_60, -1, 2, 0},
-{ 6, s_8_61, -1, 2, 0},
-{ 6, s_8_62, -1, 2, 0},
-{ 3, s_8_63, -1, 2, 0},
-{ 3, s_8_64, -1, 1, 0},
-{ 5, s_8_65, 64, 2, 0},
-{ 5, s_8_66, 64, 2, 0},
-{ 5, s_8_67, 64, 2, 0},
-{ 4, s_8_68, -1, 2, 0},
-{ 4, s_8_69, -1, 2, 0},
-{ 4, s_8_70, -1, 2, 0},
-{ 6, s_8_71, 70, 2, 0},
-{ 6, s_8_72, 70, 2, 0},
-{ 7, s_8_73, 70, 2, 0},
-{ 5, s_8_74, 70, 2, 0},
-{ 7, s_8_75, 74, 2, 0},
-{ 7, s_8_76, 74, 2, 0},
-{ 7, s_8_77, 74, 2, 0},
-{ 4, s_8_78, -1, 1, 0},
-{ 6, s_8_79, 78, 2, 0},
-{ 6, s_8_80, 78, 2, 0},
-{ 6, s_8_81, 78, 2, 0},
-{ 6, s_8_82, 78, 2, 0},
-{ 7, s_8_83, 78, 2, 0},
-{ 4, s_8_84, -1, 2, 0},
-{ 4, s_8_85, -1, 2, 0},
-{ 4, s_8_86, -1, 2, 0},
-{ 4, s_8_87, -1, 2, 0},
-{ 2, s_8_88, -1, 2, 0},
-{ 3, s_8_89, -1, 2, 0},
-{ 3, s_8_90, -1, 2, 0},
-{ 3, s_8_91, -1, 2, 0},
-{ 3, s_8_92, -1, 2, 0},
-{ 3, s_8_93, -1, 2, 0},
-{ 3, s_8_94, -1, 2, 0},
-{ 2, s_8_95, -1, 2, 0}
+static const struct among a_8[96] = {
+{ 3, s_8_0, 0, 2, 0},
+{ 3, s_8_1, 0, 2, 0},
+{ 3, s_8_2, 0, 2, 0},
+{ 3, s_8_3, 0, 2, 0},
+{ 4, s_8_4, 0, 2, 0},
+{ 2, s_8_5, 0, 2, 0},
+{ 4, s_8_6, -1, 2, 0},
+{ 4, s_8_7, -2, 2, 0},
+{ 4, s_8_8, -3, 2, 0},
+{ 2, s_8_9, 0, 2, 0},
+{ 2, s_8_10, 0, 2, 0},
+{ 2, s_8_11, 0, 2, 0},
+{ 3, s_8_12, 0, 2, 0},
+{ 4, s_8_13, 0, 2, 0},
+{ 4, s_8_14, 0, 2, 0},
+{ 4, s_8_15, 0, 2, 0},
+{ 2, s_8_16, 0, 2, 0},
+{ 4, s_8_17, -1, 2, 0},
+{ 4, s_8_18, -2, 2, 0},
+{ 5, s_8_19, -3, 2, 0},
+{ 3, s_8_20, -4, 2, 0},
+{ 5, s_8_21, -1, 2, 0},
+{ 5, s_8_22, -2, 2, 0},
+{ 5, s_8_23, -3, 2, 0},
+{ 2, s_8_24, 0, 1, 0},
+{ 4, s_8_25, -1, 2, 0},
+{ 5, s_8_26, -2, 2, 0},
+{ 4, s_8_27, 0, 2, 0},
+{ 5, s_8_28, 0, 2, 0},
+{ 4, s_8_29, 0, 2, 0},
+{ 4, s_8_30, 0, 2, 0},
+{ 4, s_8_31, 0, 2, 0},
+{ 3, s_8_32, 0, 2, 0},
+{ 3, s_8_33, 0, 2, 0},
+{ 4, s_8_34, 0, 2, 0},
+{ 5, s_8_35, 0, 2, 0},
+{ 2, s_8_36, 0, 2, 0},
+{ 2, s_8_37, 0, 2, 0},
+{ 2, s_8_38, 0, 2, 0},
+{ 2, s_8_39, 0, 2, 0},
+{ 4, s_8_40, -1, 2, 0},
+{ 4, s_8_41, -2, 2, 0},
+{ 4, s_8_42, -3, 2, 0},
+{ 4, s_8_43, -4, 2, 0},
+{ 5, s_8_44, -5, 2, 0},
+{ 3, s_8_45, -6, 2, 0},
+{ 5, s_8_46, -1, 2, 0},
+{ 5, s_8_47, -2, 2, 0},
+{ 5, s_8_48, -3, 2, 0},
+{ 2, s_8_49, 0, 1, 0},
+{ 4, s_8_50, -1, 2, 0},
+{ 5, s_8_51, -2, 2, 0},
+{ 5, s_8_52, 0, 2, 0},
+{ 5, s_8_53, 0, 2, 0},
+{ 6, s_8_54, 0, 2, 0},
+{ 4, s_8_55, 0, 2, 0},
+{ 6, s_8_56, -1, 2, 0},
+{ 6, s_8_57, -2, 2, 0},
+{ 6, s_8_58, -3, 2, 0},
+{ 5, s_8_59, 0, 2, 0},
+{ 6, s_8_60, 0, 2, 0},
+{ 6, s_8_61, 0, 2, 0},
+{ 6, s_8_62, 0, 2, 0},
+{ 3, s_8_63, 0, 2, 0},
+{ 3, s_8_64, 0, 1, 0},
+{ 5, s_8_65, -1, 2, 0},
+{ 5, s_8_66, -2, 2, 0},
+{ 5, s_8_67, -3, 2, 0},
+{ 4, s_8_68, 0, 2, 0},
+{ 4, s_8_69, 0, 2, 0},
+{ 4, s_8_70, 0, 2, 0},
+{ 6, s_8_71, -1, 2, 0},
+{ 6, s_8_72, -2, 2, 0},
+{ 7, s_8_73, -3, 2, 0},
+{ 5, s_8_74, -4, 2, 0},
+{ 7, s_8_75, -1, 2, 0},
+{ 7, s_8_76, -2, 2, 0},
+{ 7, s_8_77, -3, 2, 0},
+{ 4, s_8_78, 0, 1, 0},
+{ 6, s_8_79, -1, 2, 0},
+{ 6, s_8_80, -2, 2, 0},
+{ 6, s_8_81, -3, 2, 0},
+{ 6, s_8_82, -4, 2, 0},
+{ 7, s_8_83, -5, 2, 0},
+{ 4, s_8_84, 0, 2, 0},
+{ 4, s_8_85, 0, 2, 0},
+{ 4, s_8_86, 0, 2, 0},
+{ 4, s_8_87, 0, 2, 0},
+{ 2, s_8_88, 0, 2, 0},
+{ 3, s_8_89, 0, 2, 0},
+{ 3, s_8_90, 0, 2, 0},
+{ 3, s_8_91, 0, 2, 0},
+{ 3, s_8_92, 0, 2, 0},
+{ 3, s_8_93, 0, 2, 0},
+{ 3, s_8_94, 0, 2, 0},
+{ 2, s_8_95, 0, 2, 0}
 };
 
 static const symbol s_9_0[1] = { 'a' };
@@ -471,156 +477,136 @@ static const symbol s_9_4[1] = { 0xE1 };
 static const symbol s_9_5[1] = { 0xE9 };
 static const symbol s_9_6[1] = { 0xED };
 static const symbol s_9_7[1] = { 0xF3 };
-
-static const struct among a_9[8] =
-{
-{ 1, s_9_0, -1, 1, 0},
-{ 1, s_9_1, -1, 2, 0},
-{ 1, s_9_2, -1, 1, 0},
-{ 2, s_9_3, -1, 1, 0},
-{ 1, s_9_4, -1, 1, 0},
-{ 1, s_9_5, -1, 2, 0},
-{ 1, s_9_6, -1, 1, 0},
-{ 1, s_9_7, -1, 1, 0}
+static const struct among a_9[8] = {
+{ 1, s_9_0, 0, 1, 0},
+{ 1, s_9_1, 0, 2, 0},
+{ 1, s_9_2, 0, 1, 0},
+{ 2, s_9_3, 0, 1, 0},
+{ 1, s_9_4, 0, 1, 0},
+{ 1, s_9_5, 0, 2, 0},
+{ 1, s_9_6, 0, 1, 0},
+{ 1, s_9_7, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
-static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
-static const symbol s_7[] = { 'a', 'r' };
-static const symbol s_8[] = { 'e', 'r' };
-static const symbol s_9[] = { 'i', 'r' };
-static const symbol s_10[] = { 'i', 'c' };
-static const symbol s_11[] = { 'l', 'o', 'g' };
-static const symbol s_12[] = { 'u' };
-static const symbol s_13[] = { 'e', 'n', 't', 'e' };
-static const symbol s_14[] = { 'a', 't' };
-static const symbol s_15[] = { 'a', 't' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping(z, g_v, 97, 252, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping(z, g_v, 97, 252, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping(z, g_v, 97, 252, 0)) goto lab2;
                 {
                     int ret = out_grouping(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping(z, g_v, 97, 252, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
                 {
                     int ret = in_grouping(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping(z, g_v, 97, 252, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping(z, g_v, 97, 252, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping(z, g_v, 97, 252, 0)) goto lab3;
                 {
                     int ret = out_grouping(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping(z, g_v, 97, 252, 0)) goto lab0;
                 if (z->c >= z->l) goto lab0;
                 z->c++;
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || z->p[z->c + 0] >> 5 != 7 || !((67641858 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 6; else
-        among_var = find_among(z, a_0, 6);
+        among_var = find_among(z, a_0, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_0);
+                {
+                    int ret = slice_from_s(z, 1, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_1);
+                {
+                    int ret = slice_from_s(z, 1, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_2);
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -631,76 +617,84 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 13)) return 0;
+    if (!find_among_b(z, a_1, 13, 0)) return 0;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
-    among_var = find_among_b(z, a_2, 11);
+    among_var = find_among_b(z, a_2, 11, 0);
     if (!among_var) return 0;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 5, s_5);
+            {
+                int ret = slice_from_s(z, 5, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_7);
+            {
+                int ret = slice_from_s(z, 2, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_8);
+            {
+                int ret = slice_from_s(z, 2, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
             if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -712,34 +706,41 @@ static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_6, 46);
+    among_var = find_among_b(z, a_6, 48, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -747,59 +748,72 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_11);
+            {
+                int ret = slice_from_s(z, 3, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_12);
+            {
+                int ret = slice_from_s(z, 1, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_13);
+            {
+                int ret = slice_from_s(z, 4, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
-                among_var = find_among_b(z, a_3, 4);
-                if (!among_var) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_2; goto lab1; }
+                among_var = find_among_b(z, a_3, 4, 0);
+                if (!among_var) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m2; goto lab1; }
+                        if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - v_2; goto lab1; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -809,22 +823,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m3; goto lab2; }
-                if (!find_among_b(z, a_4, 3)) { z->c = z->l - m3; goto lab2; }
+                if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - v_3; goto lab2; }
+                if (!find_among_b(z, a_4, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -832,22 +851,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                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 - m4; goto lab3; }
-                if (!find_among_b(z, a_5, 3)) { z->c = z->l - m4; goto lab3; }
+                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 - v_4; goto lab3; }
+                if (!find_among_b(z, a_5, 3, 0)) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -855,21 +879,26 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m5 = z->l - z->c; (void)m5;
+            {
+                int v_5 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m5; goto lab4; }
+                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - v_5; goto lab4; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m5; goto lab4; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab4:
@@ -881,18 +910,19 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_y_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_7, 12)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_7, 12, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
     z->c--;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -900,36 +930,40 @@ static int r_y_verb_suffix(struct SN_env * z) {
 
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        among_var = find_among_b(z, a_8, 96);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_8, 96, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m2; goto lab0; }
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - v_2; goto lab0; }
                 z->c--;
-                {   int m_test3 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m2; goto lab0; }
+                {
+                    int v_3 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - v_2; goto lab0; }
                     z->c--;
-                    z->c = z->l - m_test3;
+                    z->c = z->l - v_3;
                 }
             lab0:
                 ;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -940,40 +974,48 @@ static int r_verb_suffix(struct SN_env * z) {
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_9, 8);
+    among_var = find_among_b(z, a_9, 8, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m1; goto lab0; }
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - v_1; goto lab0; }
                 z->c--;
                 z->bra = z->c;
-                {   int m_test2 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m1; goto lab0; }
+                {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - v_1; goto lab0; }
                     z->c--;
-                    z->c = z->l - m_test2;
+                    z->c = z->l - v_2;
                 }
-                {   int ret = r_RV(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_RV(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -985,60 +1027,79 @@ static int r_residual_suffix(struct SN_env * z) {
 }
 
 extern int spanish_ISO_8859_1_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_attached_pronoun(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_standard_suffix(z);
-                if (ret == 0) goto lab2;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_y_verb_suffix(z);
-                if (ret == 0) goto lab3;
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_y_verb_suffix(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab3:
-            z->c = z->l - m3;
-            {   int ret = r_verb_suffix(z);
+            break;
+        lab2:
+            z->c = z->l - v_3;
+            {
+                int ret = r_verb_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_residual_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_residual_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    {   int c5 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_5 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c5;
+        z->c = v_5;
     }
     return 1;
 }
 
-extern struct SN_env * spanish_ISO_8859_1_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * spanish_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void spanish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void spanish_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 6cf715d14c4d7f2ede785c53dab9ca31b2d529e9..28552cf74ce6134d61a41bd5ed790b27b68f3a99 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from swedish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_1_swedish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,133 +20,169 @@ extern int swedish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+static int r_et_condition(struct SN_env * z);
 
-extern struct SN_env * swedish_ISO_8859_1_create_env(void);
-extern void swedish_ISO_8859_1_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[1] = { 'a' };
-static const symbol s_0_1[4] = { 'a', 'r', 'n', 'a' };
-static const symbol s_0_2[4] = { 'e', 'r', 'n', 'a' };
-static const symbol s_0_3[7] = { 'h', 'e', 't', 'e', 'r', 'n', 'a' };
-static const symbol s_0_4[4] = { 'o', 'r', 'n', 'a' };
-static const symbol s_0_5[2] = { 'a', 'd' };
-static const symbol s_0_6[1] = { 'e' };
-static const symbol s_0_7[3] = { 'a', 'd', 'e' };
-static const symbol s_0_8[4] = { 'a', 'n', 'd', 'e' };
-static const symbol s_0_9[4] = { 'a', 'r', 'n', 'e' };
-static const symbol s_0_10[3] = { 'a', 'r', 'e' };
-static const symbol s_0_11[4] = { 'a', 's', 't', 'e' };
-static const symbol s_0_12[2] = { 'e', 'n' };
-static const symbol s_0_13[5] = { 'a', 'n', 'd', 'e', 'n' };
-static const symbol s_0_14[4] = { 'a', 'r', 'e', 'n' };
-static const symbol s_0_15[5] = { 'h', 'e', 't', 'e', 'n' };
-static const symbol s_0_16[3] = { 'e', 'r', 'n' };
-static const symbol s_0_17[2] = { 'a', 'r' };
-static const symbol s_0_18[2] = { 'e', 'r' };
-static const symbol s_0_19[5] = { 'h', 'e', 't', 'e', 'r' };
-static const symbol s_0_20[2] = { 'o', 'r' };
-static const symbol s_0_21[1] = { 's' };
-static const symbol s_0_22[2] = { 'a', 's' };
-static const symbol s_0_23[5] = { 'a', 'r', 'n', 'a', 's' };
-static const symbol s_0_24[5] = { 'e', 'r', 'n', 'a', 's' };
-static const symbol s_0_25[5] = { 'o', 'r', 'n', 'a', 's' };
-static const symbol s_0_26[2] = { 'e', 's' };
-static const symbol s_0_27[4] = { 'a', 'd', 'e', 's' };
-static const symbol s_0_28[5] = { 'a', 'n', 'd', 'e', 's' };
-static const symbol s_0_29[3] = { 'e', 'n', 's' };
-static const symbol s_0_30[5] = { 'a', 'r', 'e', 'n', 's' };
-static const symbol s_0_31[6] = { 'h', 'e', 't', 'e', 'n', 's' };
-static const symbol s_0_32[4] = { 'e', 'r', 'n', 's' };
-static const symbol s_0_33[2] = { 'a', 't' };
-static const symbol s_0_34[5] = { 'a', 'n', 'd', 'e', 't' };
-static const symbol s_0_35[3] = { 'h', 'e', 't' };
-static const symbol s_0_36[3] = { 'a', 's', 't' };
+static const symbol s_0[] = { 'e', 't' };
+static const symbol s_1[] = { 0xF6, 's' };
+static const symbol s_2[] = { 'f', 'u', 'l', 'l' };
 
-static const struct among a_0[37] =
-{
-{ 1, s_0_0, -1, 1, 0},
-{ 4, s_0_1, 0, 1, 0},
-{ 4, s_0_2, 0, 1, 0},
-{ 7, s_0_3, 2, 1, 0},
-{ 4, s_0_4, 0, 1, 0},
-{ 2, s_0_5, -1, 1, 0},
-{ 1, s_0_6, -1, 1, 0},
-{ 3, s_0_7, 6, 1, 0},
-{ 4, s_0_8, 6, 1, 0},
-{ 4, s_0_9, 6, 1, 0},
-{ 3, s_0_10, 6, 1, 0},
-{ 4, s_0_11, 6, 1, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 5, s_0_13, 12, 1, 0},
-{ 4, s_0_14, 12, 1, 0},
-{ 5, s_0_15, 12, 1, 0},
-{ 3, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 1, 0},
-{ 2, s_0_18, -1, 1, 0},
-{ 5, s_0_19, 18, 1, 0},
-{ 2, s_0_20, -1, 1, 0},
-{ 1, s_0_21, -1, 2, 0},
-{ 2, s_0_22, 21, 1, 0},
-{ 5, s_0_23, 22, 1, 0},
-{ 5, s_0_24, 22, 1, 0},
-{ 5, s_0_25, 22, 1, 0},
-{ 2, s_0_26, 21, 1, 0},
-{ 4, s_0_27, 26, 1, 0},
-{ 5, s_0_28, 26, 1, 0},
-{ 3, s_0_29, 21, 1, 0},
-{ 5, s_0_30, 29, 1, 0},
-{ 6, s_0_31, 29, 1, 0},
-{ 4, s_0_32, 21, 1, 0},
-{ 2, s_0_33, -1, 1, 0},
-{ 5, s_0_34, -1, 1, 0},
-{ 3, s_0_35, -1, 1, 0},
-{ 3, s_0_36, -1, 1, 0}
+static const symbol s_0_0[3] = { 'f', 'a', 'b' };
+static const symbol s_0_1[1] = { 'h' };
+static const symbol s_0_2[3] = { 'p', 'a', 'k' };
+static const symbol s_0_3[3] = { 'r', 'a', 'k' };
+static const symbol s_0_4[4] = { 's', 't', 'a', 'k' };
+static const symbol s_0_5[3] = { 'k', 'o', 'm' };
+static const symbol s_0_6[3] = { 'i', 'e', 't' };
+static const symbol s_0_7[3] = { 'c', 'i', 't' };
+static const symbol s_0_8[3] = { 'd', 'i', 't' };
+static const symbol s_0_9[4] = { 'a', 'l', 'i', 't' };
+static const symbol s_0_10[4] = { 'i', 'l', 'i', 't' };
+static const symbol s_0_11[3] = { 'm', 'i', 't' };
+static const symbol s_0_12[3] = { 'n', 'i', 't' };
+static const symbol s_0_13[3] = { 'p', 'i', 't' };
+static const symbol s_0_14[3] = { 'r', 'i', 't' };
+static const symbol s_0_15[3] = { 's', 'i', 't' };
+static const symbol s_0_16[3] = { 't', 'i', 't' };
+static const symbol s_0_17[3] = { 'u', 'i', 't' };
+static const symbol s_0_18[4] = { 'i', 'v', 'i', 't' };
+static const symbol s_0_19[4] = { 'k', 'v', 'i', 't' };
+static const symbol s_0_20[3] = { 'x', 'i', 't' };
+static const struct among a_0[21] = {
+{ 3, s_0_0, 0, -1, 0},
+{ 1, s_0_1, 0, -1, 0},
+{ 3, s_0_2, 0, -1, 0},
+{ 3, s_0_3, 0, -1, 0},
+{ 4, s_0_4, 0, -1, 0},
+{ 3, s_0_5, 0, -1, 0},
+{ 3, s_0_6, 0, -1, 0},
+{ 3, s_0_7, 0, -1, 0},
+{ 3, s_0_8, 0, -1, 0},
+{ 4, s_0_9, 0, -1, 0},
+{ 4, s_0_10, 0, -1, 0},
+{ 3, s_0_11, 0, -1, 0},
+{ 3, s_0_12, 0, -1, 0},
+{ 3, s_0_13, 0, -1, 0},
+{ 3, s_0_14, 0, -1, 0},
+{ 3, s_0_15, 0, -1, 0},
+{ 3, s_0_16, 0, -1, 0},
+{ 3, s_0_17, 0, -1, 0},
+{ 4, s_0_18, 0, -1, 0},
+{ 4, s_0_19, 0, -1, 0},
+{ 3, s_0_20, 0, -1, 0}
 };
 
-static const symbol s_1_0[2] = { 'd', 'd' };
-static const symbol s_1_1[2] = { 'g', 'd' };
-static const symbol s_1_2[2] = { 'n', 'n' };
-static const symbol s_1_3[2] = { 'd', 't' };
-static const symbol s_1_4[2] = { 'g', 't' };
-static const symbol s_1_5[2] = { 'k', 't' };
-static const symbol s_1_6[2] = { 't', 't' };
-
-static const struct among a_1[7] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 2, s_1_4, -1, -1, 0},
-{ 2, s_1_5, -1, -1, 0},
-{ 2, s_1_6, -1, -1, 0}
+static const symbol s_1_0[1] = { 'a' };
+static const symbol s_1_1[4] = { 'a', 'r', 'n', 'a' };
+static const symbol s_1_2[4] = { 'e', 'r', 'n', 'a' };
+static const symbol s_1_3[7] = { 'h', 'e', 't', 'e', 'r', 'n', 'a' };
+static const symbol s_1_4[4] = { 'o', 'r', 'n', 'a' };
+static const symbol s_1_5[2] = { 'a', 'd' };
+static const symbol s_1_6[1] = { 'e' };
+static const symbol s_1_7[3] = { 'a', 'd', 'e' };
+static const symbol s_1_8[4] = { 'a', 'n', 'd', 'e' };
+static const symbol s_1_9[4] = { 'a', 'r', 'n', 'e' };
+static const symbol s_1_10[3] = { 'a', 'r', 'e' };
+static const symbol s_1_11[4] = { 'a', 's', 't', 'e' };
+static const symbol s_1_12[2] = { 'e', 'n' };
+static const symbol s_1_13[5] = { 'a', 'n', 'd', 'e', 'n' };
+static const symbol s_1_14[4] = { 'a', 'r', 'e', 'n' };
+static const symbol s_1_15[5] = { 'h', 'e', 't', 'e', 'n' };
+static const symbol s_1_16[3] = { 'e', 'r', 'n' };
+static const symbol s_1_17[2] = { 'a', 'r' };
+static const symbol s_1_18[2] = { 'e', 'r' };
+static const symbol s_1_19[5] = { 'h', 'e', 't', 'e', 'r' };
+static const symbol s_1_20[2] = { 'o', 'r' };
+static const symbol s_1_21[1] = { 's' };
+static const symbol s_1_22[2] = { 'a', 's' };
+static const symbol s_1_23[5] = { 'a', 'r', 'n', 'a', 's' };
+static const symbol s_1_24[5] = { 'e', 'r', 'n', 'a', 's' };
+static const symbol s_1_25[5] = { 'o', 'r', 'n', 'a', 's' };
+static const symbol s_1_26[2] = { 'e', 's' };
+static const symbol s_1_27[4] = { 'a', 'd', 'e', 's' };
+static const symbol s_1_28[5] = { 'a', 'n', 'd', 'e', 's' };
+static const symbol s_1_29[3] = { 'e', 'n', 's' };
+static const symbol s_1_30[5] = { 'a', 'r', 'e', 'n', 's' };
+static const symbol s_1_31[6] = { 'h', 'e', 't', 'e', 'n', 's' };
+static const symbol s_1_32[4] = { 'e', 'r', 'n', 's' };
+static const symbol s_1_33[2] = { 'a', 't' };
+static const symbol s_1_34[2] = { 'e', 't' };
+static const symbol s_1_35[5] = { 'a', 'n', 'd', 'e', 't' };
+static const symbol s_1_36[3] = { 'h', 'e', 't' };
+static const symbol s_1_37[3] = { 'a', 's', 't' };
+static const struct among a_1[38] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 4, s_1_1, -1, 1, 0},
+{ 4, s_1_2, -2, 1, 0},
+{ 7, s_1_3, -1, 1, 0},
+{ 4, s_1_4, -4, 1, 0},
+{ 2, s_1_5, 0, 1, 0},
+{ 1, s_1_6, 0, 1, 0},
+{ 3, s_1_7, -1, 1, 0},
+{ 4, s_1_8, -2, 1, 0},
+{ 4, s_1_9, -3, 1, 0},
+{ 3, s_1_10, -4, 1, 0},
+{ 4, s_1_11, -5, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 5, s_1_13, -1, 1, 0},
+{ 4, s_1_14, -2, 1, 0},
+{ 5, s_1_15, -3, 1, 0},
+{ 3, s_1_16, 0, 1, 0},
+{ 2, s_1_17, 0, 1, 0},
+{ 2, s_1_18, 0, 1, 0},
+{ 5, s_1_19, -1, 1, 0},
+{ 2, s_1_20, 0, 1, 0},
+{ 1, s_1_21, 0, 2, 0},
+{ 2, s_1_22, -1, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 5, s_1_24, -2, 1, 0},
+{ 5, s_1_25, -3, 1, 0},
+{ 2, s_1_26, -5, 1, 0},
+{ 4, s_1_27, -1, 1, 0},
+{ 5, s_1_28, -2, 1, 0},
+{ 3, s_1_29, -8, 1, 0},
+{ 5, s_1_30, -1, 1, 0},
+{ 6, s_1_31, -2, 1, 0},
+{ 4, s_1_32, -11, 1, 0},
+{ 2, s_1_33, 0, 1, 0},
+{ 2, s_1_34, 0, 3, 0},
+{ 5, s_1_35, -1, 1, 0},
+{ 3, s_1_36, -2, 1, 0},
+{ 3, s_1_37, 0, 1, 0}
 };
 
-static const symbol s_2_0[2] = { 'i', 'g' };
-static const symbol s_2_1[3] = { 'l', 'i', 'g' };
-static const symbol s_2_2[3] = { 'e', 'l', 's' };
-static const symbol s_2_3[5] = { 'f', 'u', 'l', 'l', 't' };
-static const symbol s_2_4[3] = { 0xF6, 's', 't' };
+static const symbol s_2_0[2] = { 'd', 'd' };
+static const symbol s_2_1[2] = { 'g', 'd' };
+static const symbol s_2_2[2] = { 'n', 'n' };
+static const symbol s_2_3[2] = { 'd', 't' };
+static const symbol s_2_4[2] = { 'g', 't' };
+static const symbol s_2_5[2] = { 'k', 't' };
+static const symbol s_2_6[2] = { 't', 't' };
+static const struct among a_2[7] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, -1, 0},
+{ 2, s_2_4, 0, -1, 0},
+{ 2, s_2_5, 0, -1, 0},
+{ 2, s_2_6, 0, -1, 0}
+};
 
-static const struct among a_2[5] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 3, s_2_2, -1, 1, 0},
-{ 5, s_2_3, -1, 3, 0},
-{ 3, s_2_4, -1, 2, 0}
+static const symbol s_3_0[2] = { 'i', 'g' };
+static const symbol s_3_1[3] = { 'l', 'i', 'g' };
+static const symbol s_3_2[3] = { 'e', 'l', 's' };
+static const symbol s_3_3[5] = { 'f', 'u', 'l', 'l', 't' };
+static const symbol s_3_4[3] = { 0xF6, 's', 't' };
+static const struct among a_3[5] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 3, s_3_1, -1, 1, 0},
+{ 3, s_3_2, 0, 1, 0},
+{ 5, s_3_3, 0, 3, 0},
+{ 3, s_3_4, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 };
@@ -144,55 +191,101 @@ static const unsigned char g_s_ending[] = { 119, 127, 149 };
 
 static const unsigned char g_ost_ending[] = { 173, 58 };
 
-static const symbol s_0[] = { 0xF6, 's' };
-static const symbol s_1[] = { 'f', 'u', 'l', 'l' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-z->c = z->c + 3;
-        if (z->c > z->l) return 0;
-        z->I[0] = z->c;
-        z->c = c_test1;
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        if (z->c + 3 > z->l) return 0;
+        z->c += 3;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping(z, g_v, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping(z, g_v, 97, 246, 1) < 0) return 0;
-
     {
         int ret = in_grouping(z, g_v, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
+static int r_et_condition(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b(z, g_v, 97, 246, 0)) return 0;
+        if (in_grouping_b(z, g_v, 97, 246, 0)) return 0;
+        if (z->c > z->lb) goto lab0;
+        return 0;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_2 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1059076 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
+            if (!find_among_b(z, a_0, 21, 0)) goto lab1;
+            return 0;
+        lab1:
+            z->c = z->l - v_2;
+        }
+    }
+    return 1;
+}
+
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_0, 37);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_1, 38, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            if (in_grouping_b(z, g_s_ending, 98, 121, 0)) return 0;
-            {   int ret = slice_del(z);
+            do {
+                int v_2 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_0))) goto lab0;
+                {
+                    int ret = r_et_condition(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                z->bra = z->c;
+                break;
+            lab0:
+                z->c = z->l - v_2;
+                if (in_grouping_b(z, g_s_ending, 98, 121, 0)) return 0;
+            } while (0);
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_et_condition(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -201,54 +294,59 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
-        {   int m2 = z->l - z->c; (void)m2;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-            if (!find_among_b(z, a_1, 7)) { z->lb = mlimit1; return 0; }
-            z->c = z->l - m2;
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+        {
+            int v_2 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+            if (!find_among_b(z, a_2, 7, 0)) { z->lb = v_1; return 0; }
+            z->c = z->l - v_2;
             z->ket = z->c;
-            if (z->c <= z->lb) { z->lb = mlimit1; return 0; }
+            if (z->c <= z->lb) { z->lb = v_1; return 0; }
             z->c--;
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_other_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_2, 5);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_3, 5, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (in_grouping_b(z, g_ost_ending, 105, 118, 0)) return 0;
-            {   int ret = slice_from_s(z, 2, s_0);
+            {
+                int ret = slice_from_s(z, 2, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_1);
+            {
+                int ret = slice_from_s(z, 4, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -257,37 +355,52 @@ static int r_other_suffix(struct SN_env * z) {
 }
 
 extern int swedish_ISO_8859_1_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * swedish_ISO_8859_1_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * swedish_ISO_8859_1_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void swedish_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void swedish_ISO_8859_1_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 7308963105d3f4de0ece4b3ee3e8705e778beb74..2d4ffac098c681be16de5824ade37354b4ce329b 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hungarian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_ISO_8859_2_hungarian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +20,7 @@ extern int hungarian_ISO_8859_2_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_double(struct SN_env * z);
 static int r_undouble(struct SN_env * z);
 static int r_factive(struct SN_env * z);
@@ -23,514 +35,452 @@ static int r_case(struct SN_env * z);
 static int r_v_ending(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * hungarian_ISO_8859_2_create_env(void);
-extern void hungarian_ISO_8859_2_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'e' };
+static const symbol s_3[] = { 'a' };
+static const symbol s_4[] = { 'a' };
+static const symbol s_5[] = { 'e' };
+static const symbol s_6[] = { 'a' };
+static const symbol s_7[] = { 'e' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 'a' };
+static const symbol s_10[] = { 'a' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'a' };
+static const symbol s_13[] = { 'e' };
 
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[2] = { 'c', 's' };
-static const symbol s_0_1[3] = { 'd', 'z', 's' };
-static const symbol s_0_2[2] = { 'g', 'y' };
-static const symbol s_0_3[2] = { 'l', 'y' };
-static const symbol s_0_4[2] = { 'n', 'y' };
-static const symbol s_0_5[2] = { 's', 'z' };
-static const symbol s_0_6[2] = { 't', 'y' };
-static const symbol s_0_7[2] = { 'z', 's' };
-
-static const struct among a_0[8] =
-{
-{ 2, s_0_0, -1, -1, 0},
-{ 3, s_0_1, -1, -1, 0},
-{ 2, s_0_2, -1, -1, 0},
-{ 2, s_0_3, -1, -1, 0},
-{ 2, s_0_4, -1, -1, 0},
-{ 2, s_0_5, -1, -1, 0},
-{ 2, s_0_6, -1, -1, 0},
-{ 2, s_0_7, -1, -1, 0}
-};
-
-static const symbol s_1_0[1] = { 0xE1 };
-static const symbol s_1_1[1] = { 0xE9 };
-
-static const struct among a_1[2] =
-{
-{ 1, s_1_0, -1, 1, 0},
-{ 1, s_1_1, -1, 2, 0}
-};
-
-static const symbol s_2_0[2] = { 'b', 'b' };
-static const symbol s_2_1[2] = { 'c', 'c' };
-static const symbol s_2_2[2] = { 'd', 'd' };
-static const symbol s_2_3[2] = { 'f', 'f' };
-static const symbol s_2_4[2] = { 'g', 'g' };
-static const symbol s_2_5[2] = { 'j', 'j' };
-static const symbol s_2_6[2] = { 'k', 'k' };
-static const symbol s_2_7[2] = { 'l', 'l' };
-static const symbol s_2_8[2] = { 'm', 'm' };
-static const symbol s_2_9[2] = { 'n', 'n' };
-static const symbol s_2_10[2] = { 'p', 'p' };
-static const symbol s_2_11[2] = { 'r', 'r' };
-static const symbol s_2_12[3] = { 'c', 'c', 's' };
-static const symbol s_2_13[2] = { 's', 's' };
-static const symbol s_2_14[3] = { 'z', 'z', 's' };
-static const symbol s_2_15[2] = { 't', 't' };
-static const symbol s_2_16[2] = { 'v', 'v' };
-static const symbol s_2_17[3] = { 'g', 'g', 'y' };
-static const symbol s_2_18[3] = { 'l', 'l', 'y' };
-static const symbol s_2_19[3] = { 'n', 'n', 'y' };
-static const symbol s_2_20[3] = { 't', 't', 'y' };
-static const symbol s_2_21[3] = { 's', 's', 'z' };
-static const symbol s_2_22[2] = { 'z', 'z' };
-
-static const struct among a_2[23] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, -1, 0},
-{ 2, s_2_4, -1, -1, 0},
-{ 2, s_2_5, -1, -1, 0},
-{ 2, s_2_6, -1, -1, 0},
-{ 2, s_2_7, -1, -1, 0},
-{ 2, s_2_8, -1, -1, 0},
-{ 2, s_2_9, -1, -1, 0},
-{ 2, s_2_10, -1, -1, 0},
-{ 2, s_2_11, -1, -1, 0},
-{ 3, s_2_12, -1, -1, 0},
-{ 2, s_2_13, -1, -1, 0},
-{ 3, s_2_14, -1, -1, 0},
-{ 2, s_2_15, -1, -1, 0},
-{ 2, s_2_16, -1, -1, 0},
-{ 3, s_2_17, -1, -1, 0},
-{ 3, s_2_18, -1, -1, 0},
-{ 3, s_2_19, -1, -1, 0},
-{ 3, s_2_20, -1, -1, 0},
-{ 3, s_2_21, -1, -1, 0},
-{ 2, s_2_22, -1, -1, 0}
+static const symbol s_0_0[1] = { 0xE1 };
+static const symbol s_0_1[1] = { 0xE9 };
+static const struct among a_0[2] = {
+{ 1, s_0_0, 0, 1, 0},
+{ 1, s_0_1, 0, 2, 0}
 };
 
-static const symbol s_3_0[2] = { 'a', 'l' };
-static const symbol s_3_1[2] = { 'e', 'l' };
-
-static const struct among a_3[2] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 1, 0}
+static const symbol s_1_0[2] = { 'b', 'b' };
+static const symbol s_1_1[2] = { 'c', 'c' };
+static const symbol s_1_2[2] = { 'd', 'd' };
+static const symbol s_1_3[2] = { 'f', 'f' };
+static const symbol s_1_4[2] = { 'g', 'g' };
+static const symbol s_1_5[2] = { 'j', 'j' };
+static const symbol s_1_6[2] = { 'k', 'k' };
+static const symbol s_1_7[2] = { 'l', 'l' };
+static const symbol s_1_8[2] = { 'm', 'm' };
+static const symbol s_1_9[2] = { 'n', 'n' };
+static const symbol s_1_10[2] = { 'p', 'p' };
+static const symbol s_1_11[2] = { 'r', 'r' };
+static const symbol s_1_12[3] = { 'c', 'c', 's' };
+static const symbol s_1_13[2] = { 's', 's' };
+static const symbol s_1_14[3] = { 'z', 'z', 's' };
+static const symbol s_1_15[2] = { 't', 't' };
+static const symbol s_1_16[2] = { 'v', 'v' };
+static const symbol s_1_17[3] = { 'g', 'g', 'y' };
+static const symbol s_1_18[3] = { 'l', 'l', 'y' };
+static const symbol s_1_19[3] = { 'n', 'n', 'y' };
+static const symbol s_1_20[3] = { 't', 't', 'y' };
+static const symbol s_1_21[3] = { 's', 's', 'z' };
+static const symbol s_1_22[2] = { 'z', 'z' };
+static const struct among a_1[23] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 2, s_1_4, 0, -1, 0},
+{ 2, s_1_5, 0, -1, 0},
+{ 2, s_1_6, 0, -1, 0},
+{ 2, s_1_7, 0, -1, 0},
+{ 2, s_1_8, 0, -1, 0},
+{ 2, s_1_9, 0, -1, 0},
+{ 2, s_1_10, 0, -1, 0},
+{ 2, s_1_11, 0, -1, 0},
+{ 3, s_1_12, 0, -1, 0},
+{ 2, s_1_13, 0, -1, 0},
+{ 3, s_1_14, 0, -1, 0},
+{ 2, s_1_15, 0, -1, 0},
+{ 2, s_1_16, 0, -1, 0},
+{ 3, s_1_17, 0, -1, 0},
+{ 3, s_1_18, 0, -1, 0},
+{ 3, s_1_19, 0, -1, 0},
+{ 3, s_1_20, 0, -1, 0},
+{ 3, s_1_21, 0, -1, 0},
+{ 2, s_1_22, 0, -1, 0}
 };
 
-static const symbol s_4_0[2] = { 'b', 'a' };
-static const symbol s_4_1[2] = { 'r', 'a' };
-static const symbol s_4_2[2] = { 'b', 'e' };
-static const symbol s_4_3[2] = { 'r', 'e' };
-static const symbol s_4_4[2] = { 'i', 'g' };
-static const symbol s_4_5[3] = { 'n', 'a', 'k' };
-static const symbol s_4_6[3] = { 'n', 'e', 'k' };
-static const symbol s_4_7[3] = { 'v', 'a', 'l' };
-static const symbol s_4_8[3] = { 'v', 'e', 'l' };
-static const symbol s_4_9[2] = { 'u', 'l' };
-static const symbol s_4_10[3] = { 'n', 0xE1, 'l' };
-static const symbol s_4_11[3] = { 'n', 0xE9, 'l' };
-static const symbol s_4_12[3] = { 'b', 0xF3, 'l' };
-static const symbol s_4_13[3] = { 'r', 0xF3, 'l' };
-static const symbol s_4_14[3] = { 't', 0xF3, 'l' };
-static const symbol s_4_15[3] = { 'b', 0xF5, 'l' };
-static const symbol s_4_16[3] = { 'r', 0xF5, 'l' };
-static const symbol s_4_17[3] = { 't', 0xF5, 'l' };
-static const symbol s_4_18[2] = { 0xFC, 'l' };
-static const symbol s_4_19[1] = { 'n' };
-static const symbol s_4_20[2] = { 'a', 'n' };
-static const symbol s_4_21[3] = { 'b', 'a', 'n' };
-static const symbol s_4_22[2] = { 'e', 'n' };
-static const symbol s_4_23[3] = { 'b', 'e', 'n' };
-static const symbol s_4_24[6] = { 'k', 0xE9, 'p', 'p', 'e', 'n' };
-static const symbol s_4_25[2] = { 'o', 'n' };
-static const symbol s_4_26[2] = { 0xF6, 'n' };
-static const symbol s_4_27[4] = { 'k', 0xE9, 'p', 'p' };
-static const symbol s_4_28[3] = { 'k', 'o', 'r' };
-static const symbol s_4_29[1] = { 't' };
-static const symbol s_4_30[2] = { 'a', 't' };
-static const symbol s_4_31[2] = { 'e', 't' };
-static const symbol s_4_32[4] = { 'k', 0xE9, 'n', 't' };
-static const symbol s_4_33[6] = { 'a', 'n', 'k', 0xE9, 'n', 't' };
-static const symbol s_4_34[6] = { 'e', 'n', 'k', 0xE9, 'n', 't' };
-static const symbol s_4_35[6] = { 'o', 'n', 'k', 0xE9, 'n', 't' };
-static const symbol s_4_36[2] = { 'o', 't' };
-static const symbol s_4_37[3] = { 0xE9, 'r', 't' };
-static const symbol s_4_38[2] = { 0xF6, 't' };
-static const symbol s_4_39[3] = { 'h', 'e', 'z' };
-static const symbol s_4_40[3] = { 'h', 'o', 'z' };
-static const symbol s_4_41[3] = { 'h', 0xF6, 'z' };
-static const symbol s_4_42[2] = { 'v', 0xE1 };
-static const symbol s_4_43[2] = { 'v', 0xE9 };
-
-static const struct among a_4[44] =
-{
-{ 2, s_4_0, -1, -1, 0},
-{ 2, s_4_1, -1, -1, 0},
-{ 2, s_4_2, -1, -1, 0},
-{ 2, s_4_3, -1, -1, 0},
-{ 2, s_4_4, -1, -1, 0},
-{ 3, s_4_5, -1, -1, 0},
-{ 3, s_4_6, -1, -1, 0},
-{ 3, s_4_7, -1, -1, 0},
-{ 3, s_4_8, -1, -1, 0},
-{ 2, s_4_9, -1, -1, 0},
-{ 3, s_4_10, -1, -1, 0},
-{ 3, s_4_11, -1, -1, 0},
-{ 3, s_4_12, -1, -1, 0},
-{ 3, s_4_13, -1, -1, 0},
-{ 3, s_4_14, -1, -1, 0},
-{ 3, s_4_15, -1, -1, 0},
-{ 3, s_4_16, -1, -1, 0},
-{ 3, s_4_17, -1, -1, 0},
-{ 2, s_4_18, -1, -1, 0},
-{ 1, s_4_19, -1, -1, 0},
-{ 2, s_4_20, 19, -1, 0},
-{ 3, s_4_21, 20, -1, 0},
-{ 2, s_4_22, 19, -1, 0},
-{ 3, s_4_23, 22, -1, 0},
-{ 6, s_4_24, 22, -1, 0},
-{ 2, s_4_25, 19, -1, 0},
-{ 2, s_4_26, 19, -1, 0},
-{ 4, s_4_27, -1, -1, 0},
-{ 3, s_4_28, -1, -1, 0},
-{ 1, s_4_29, -1, -1, 0},
-{ 2, s_4_30, 29, -1, 0},
-{ 2, s_4_31, 29, -1, 0},
-{ 4, s_4_32, 29, -1, 0},
-{ 6, s_4_33, 32, -1, 0},
-{ 6, s_4_34, 32, -1, 0},
-{ 6, s_4_35, 32, -1, 0},
-{ 2, s_4_36, 29, -1, 0},
-{ 3, s_4_37, 29, -1, 0},
-{ 2, s_4_38, 29, -1, 0},
-{ 3, s_4_39, -1, -1, 0},
-{ 3, s_4_40, -1, -1, 0},
-{ 3, s_4_41, -1, -1, 0},
-{ 2, s_4_42, -1, -1, 0},
-{ 2, s_4_43, -1, -1, 0}
+static const symbol s_2_0[2] = { 'a', 'l' };
+static const symbol s_2_1[2] = { 'e', 'l' };
+static const struct among a_2[2] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 2, s_2_1, 0, 1, 0}
 };
 
-static const symbol s_5_0[2] = { 0xE1, 'n' };
-static const symbol s_5_1[2] = { 0xE9, 'n' };
-static const symbol s_5_2[6] = { 0xE1, 'n', 'k', 0xE9, 'n', 't' };
-
-static const struct among a_5[3] =
-{
-{ 2, s_5_0, -1, 2, 0},
-{ 2, s_5_1, -1, 1, 0},
-{ 6, s_5_2, -1, 2, 0}
+static const symbol s_3_0[2] = { 'b', 'a' };
+static const symbol s_3_1[2] = { 'r', 'a' };
+static const symbol s_3_2[2] = { 'b', 'e' };
+static const symbol s_3_3[2] = { 'r', 'e' };
+static const symbol s_3_4[2] = { 'i', 'g' };
+static const symbol s_3_5[3] = { 'n', 'a', 'k' };
+static const symbol s_3_6[3] = { 'n', 'e', 'k' };
+static const symbol s_3_7[3] = { 'v', 'a', 'l' };
+static const symbol s_3_8[3] = { 'v', 'e', 'l' };
+static const symbol s_3_9[2] = { 'u', 'l' };
+static const symbol s_3_10[3] = { 'n', 0xE1, 'l' };
+static const symbol s_3_11[3] = { 'n', 0xE9, 'l' };
+static const symbol s_3_12[3] = { 'b', 0xF3, 'l' };
+static const symbol s_3_13[3] = { 'r', 0xF3, 'l' };
+static const symbol s_3_14[3] = { 't', 0xF3, 'l' };
+static const symbol s_3_15[3] = { 'b', 0xF5, 'l' };
+static const symbol s_3_16[3] = { 'r', 0xF5, 'l' };
+static const symbol s_3_17[3] = { 't', 0xF5, 'l' };
+static const symbol s_3_18[2] = { 0xFC, 'l' };
+static const symbol s_3_19[1] = { 'n' };
+static const symbol s_3_20[2] = { 'a', 'n' };
+static const symbol s_3_21[3] = { 'b', 'a', 'n' };
+static const symbol s_3_22[2] = { 'e', 'n' };
+static const symbol s_3_23[3] = { 'b', 'e', 'n' };
+static const symbol s_3_24[6] = { 'k', 0xE9, 'p', 'p', 'e', 'n' };
+static const symbol s_3_25[2] = { 'o', 'n' };
+static const symbol s_3_26[2] = { 0xF6, 'n' };
+static const symbol s_3_27[4] = { 'k', 0xE9, 'p', 'p' };
+static const symbol s_3_28[3] = { 'k', 'o', 'r' };
+static const symbol s_3_29[1] = { 't' };
+static const symbol s_3_30[2] = { 'a', 't' };
+static const symbol s_3_31[2] = { 'e', 't' };
+static const symbol s_3_32[4] = { 'k', 0xE9, 'n', 't' };
+static const symbol s_3_33[6] = { 'a', 'n', 'k', 0xE9, 'n', 't' };
+static const symbol s_3_34[6] = { 'e', 'n', 'k', 0xE9, 'n', 't' };
+static const symbol s_3_35[6] = { 'o', 'n', 'k', 0xE9, 'n', 't' };
+static const symbol s_3_36[2] = { 'o', 't' };
+static const symbol s_3_37[3] = { 0xE9, 'r', 't' };
+static const symbol s_3_38[2] = { 0xF6, 't' };
+static const symbol s_3_39[3] = { 'h', 'e', 'z' };
+static const symbol s_3_40[3] = { 'h', 'o', 'z' };
+static const symbol s_3_41[3] = { 'h', 0xF6, 'z' };
+static const symbol s_3_42[2] = { 'v', 0xE1 };
+static const symbol s_3_43[2] = { 'v', 0xE9 };
+static const struct among a_3[44] = {
+{ 2, s_3_0, 0, -1, 0},
+{ 2, s_3_1, 0, -1, 0},
+{ 2, s_3_2, 0, -1, 0},
+{ 2, s_3_3, 0, -1, 0},
+{ 2, s_3_4, 0, -1, 0},
+{ 3, s_3_5, 0, -1, 0},
+{ 3, s_3_6, 0, -1, 0},
+{ 3, s_3_7, 0, -1, 0},
+{ 3, s_3_8, 0, -1, 0},
+{ 2, s_3_9, 0, -1, 0},
+{ 3, s_3_10, 0, -1, 0},
+{ 3, s_3_11, 0, -1, 0},
+{ 3, s_3_12, 0, -1, 0},
+{ 3, s_3_13, 0, -1, 0},
+{ 3, s_3_14, 0, -1, 0},
+{ 3, s_3_15, 0, -1, 0},
+{ 3, s_3_16, 0, -1, 0},
+{ 3, s_3_17, 0, -1, 0},
+{ 2, s_3_18, 0, -1, 0},
+{ 1, s_3_19, 0, -1, 0},
+{ 2, s_3_20, -1, -1, 0},
+{ 3, s_3_21, -1, -1, 0},
+{ 2, s_3_22, -3, -1, 0},
+{ 3, s_3_23, -1, -1, 0},
+{ 6, s_3_24, -2, -1, 0},
+{ 2, s_3_25, -6, -1, 0},
+{ 2, s_3_26, -7, -1, 0},
+{ 4, s_3_27, 0, -1, 0},
+{ 3, s_3_28, 0, -1, 0},
+{ 1, s_3_29, 0, -1, 0},
+{ 2, s_3_30, -1, -1, 0},
+{ 2, s_3_31, -2, -1, 0},
+{ 4, s_3_32, -3, -1, 0},
+{ 6, s_3_33, -1, -1, 0},
+{ 6, s_3_34, -2, -1, 0},
+{ 6, s_3_35, -3, -1, 0},
+{ 2, s_3_36, -7, -1, 0},
+{ 3, s_3_37, -8, -1, 0},
+{ 2, s_3_38, -9, -1, 0},
+{ 3, s_3_39, 0, -1, 0},
+{ 3, s_3_40, 0, -1, 0},
+{ 3, s_3_41, 0, -1, 0},
+{ 2, s_3_42, 0, -1, 0},
+{ 2, s_3_43, 0, -1, 0}
 };
 
-static const symbol s_6_0[4] = { 's', 't', 'u', 'l' };
-static const symbol s_6_1[5] = { 'a', 's', 't', 'u', 'l' };
-static const symbol s_6_2[5] = { 0xE1, 's', 't', 'u', 'l' };
-static const symbol s_6_3[4] = { 's', 't', 0xFC, 'l' };
-static const symbol s_6_4[5] = { 'e', 's', 't', 0xFC, 'l' };
-static const symbol s_6_5[5] = { 0xE9, 's', 't', 0xFC, 'l' };
-
-static const struct among a_6[6] =
-{
-{ 4, s_6_0, -1, 1, 0},
-{ 5, s_6_1, 0, 1, 0},
-{ 5, s_6_2, 0, 2, 0},
-{ 4, s_6_3, -1, 1, 0},
-{ 5, s_6_4, 3, 1, 0},
-{ 5, s_6_5, 3, 3, 0}
+static const symbol s_4_0[2] = { 0xE1, 'n' };
+static const symbol s_4_1[2] = { 0xE9, 'n' };
+static const symbol s_4_2[6] = { 0xE1, 'n', 'k', 0xE9, 'n', 't' };
+static const struct among a_4[3] = {
+{ 2, s_4_0, 0, 2, 0},
+{ 2, s_4_1, 0, 1, 0},
+{ 6, s_4_2, 0, 2, 0}
 };
 
-static const symbol s_7_0[1] = { 0xE1 };
-static const symbol s_7_1[1] = { 0xE9 };
-
-static const struct among a_7[2] =
-{
-{ 1, s_7_0, -1, 1, 0},
-{ 1, s_7_1, -1, 1, 0}
+static const symbol s_5_0[4] = { 's', 't', 'u', 'l' };
+static const symbol s_5_1[5] = { 'a', 's', 't', 'u', 'l' };
+static const symbol s_5_2[5] = { 0xE1, 's', 't', 'u', 'l' };
+static const symbol s_5_3[4] = { 's', 't', 0xFC, 'l' };
+static const symbol s_5_4[5] = { 'e', 's', 't', 0xFC, 'l' };
+static const symbol s_5_5[5] = { 0xE9, 's', 't', 0xFC, 'l' };
+static const struct among a_5[6] = {
+{ 4, s_5_0, 0, 1, 0},
+{ 5, s_5_1, -1, 1, 0},
+{ 5, s_5_2, -2, 2, 0},
+{ 4, s_5_3, 0, 1, 0},
+{ 5, s_5_4, -1, 1, 0},
+{ 5, s_5_5, -2, 3, 0}
 };
 
-static const symbol s_8_0[1] = { 'k' };
-static const symbol s_8_1[2] = { 'a', 'k' };
-static const symbol s_8_2[2] = { 'e', 'k' };
-static const symbol s_8_3[2] = { 'o', 'k' };
-static const symbol s_8_4[2] = { 0xE1, 'k' };
-static const symbol s_8_5[2] = { 0xE9, 'k' };
-static const symbol s_8_6[2] = { 0xF6, 'k' };
-
-static const struct among a_8[7] =
-{
-{ 1, s_8_0, -1, 3, 0},
-{ 2, s_8_1, 0, 3, 0},
-{ 2, s_8_2, 0, 3, 0},
-{ 2, s_8_3, 0, 3, 0},
-{ 2, s_8_4, 0, 1, 0},
-{ 2, s_8_5, 0, 2, 0},
-{ 2, s_8_6, 0, 3, 0}
+static const symbol s_7_0[1] = { 'k' };
+static const symbol s_7_1[2] = { 'a', 'k' };
+static const symbol s_7_2[2] = { 'e', 'k' };
+static const symbol s_7_3[2] = { 'o', 'k' };
+static const symbol s_7_4[2] = { 0xE1, 'k' };
+static const symbol s_7_5[2] = { 0xE9, 'k' };
+static const symbol s_7_6[2] = { 0xF6, 'k' };
+static const struct among a_7[7] = {
+{ 1, s_7_0, 0, 3, 0},
+{ 2, s_7_1, -1, 3, 0},
+{ 2, s_7_2, -2, 3, 0},
+{ 2, s_7_3, -3, 3, 0},
+{ 2, s_7_4, -4, 1, 0},
+{ 2, s_7_5, -5, 2, 0},
+{ 2, s_7_6, -6, 3, 0}
 };
 
-static const symbol s_9_0[2] = { 0xE9, 'i' };
-static const symbol s_9_1[3] = { 0xE1, 0xE9, 'i' };
-static const symbol s_9_2[3] = { 0xE9, 0xE9, 'i' };
-static const symbol s_9_3[1] = { 0xE9 };
-static const symbol s_9_4[2] = { 'k', 0xE9 };
-static const symbol s_9_5[3] = { 'a', 'k', 0xE9 };
-static const symbol s_9_6[3] = { 'e', 'k', 0xE9 };
-static const symbol s_9_7[3] = { 'o', 'k', 0xE9 };
-static const symbol s_9_8[3] = { 0xE1, 'k', 0xE9 };
-static const symbol s_9_9[3] = { 0xE9, 'k', 0xE9 };
-static const symbol s_9_10[3] = { 0xF6, 'k', 0xE9 };
-static const symbol s_9_11[2] = { 0xE9, 0xE9 };
-
-static const struct among a_9[12] =
-{
-{ 2, s_9_0, -1, 1, 0},
-{ 3, s_9_1, 0, 3, 0},
-{ 3, s_9_2, 0, 2, 0},
-{ 1, s_9_3, -1, 1, 0},
-{ 2, s_9_4, 3, 1, 0},
-{ 3, s_9_5, 4, 1, 0},
-{ 3, s_9_6, 4, 1, 0},
-{ 3, s_9_7, 4, 1, 0},
-{ 3, s_9_8, 4, 3, 0},
-{ 3, s_9_9, 4, 2, 0},
-{ 3, s_9_10, 4, 1, 0},
-{ 2, s_9_11, 3, 2, 0}
+static const symbol s_8_0[2] = { 0xE9, 'i' };
+static const symbol s_8_1[3] = { 0xE1, 0xE9, 'i' };
+static const symbol s_8_2[3] = { 0xE9, 0xE9, 'i' };
+static const symbol s_8_3[1] = { 0xE9 };
+static const symbol s_8_4[2] = { 'k', 0xE9 };
+static const symbol s_8_5[3] = { 'a', 'k', 0xE9 };
+static const symbol s_8_6[3] = { 'e', 'k', 0xE9 };
+static const symbol s_8_7[3] = { 'o', 'k', 0xE9 };
+static const symbol s_8_8[3] = { 0xE1, 'k', 0xE9 };
+static const symbol s_8_9[3] = { 0xE9, 'k', 0xE9 };
+static const symbol s_8_10[3] = { 0xF6, 'k', 0xE9 };
+static const symbol s_8_11[2] = { 0xE9, 0xE9 };
+static const struct among a_8[12] = {
+{ 2, s_8_0, 0, 1, 0},
+{ 3, s_8_1, -1, 3, 0},
+{ 3, s_8_2, -2, 2, 0},
+{ 1, s_8_3, 0, 1, 0},
+{ 2, s_8_4, -1, 1, 0},
+{ 3, s_8_5, -1, 1, 0},
+{ 3, s_8_6, -2, 1, 0},
+{ 3, s_8_7, -3, 1, 0},
+{ 3, s_8_8, -4, 3, 0},
+{ 3, s_8_9, -5, 2, 0},
+{ 3, s_8_10, -6, 1, 0},
+{ 2, s_8_11, -8, 2, 0}
 };
 
-static const symbol s_10_0[1] = { 'a' };
-static const symbol s_10_1[2] = { 'j', 'a' };
-static const symbol s_10_2[1] = { 'd' };
-static const symbol s_10_3[2] = { 'a', 'd' };
-static const symbol s_10_4[2] = { 'e', 'd' };
-static const symbol s_10_5[2] = { 'o', 'd' };
-static const symbol s_10_6[2] = { 0xE1, 'd' };
-static const symbol s_10_7[2] = { 0xE9, 'd' };
-static const symbol s_10_8[2] = { 0xF6, 'd' };
-static const symbol s_10_9[1] = { 'e' };
-static const symbol s_10_10[2] = { 'j', 'e' };
-static const symbol s_10_11[2] = { 'n', 'k' };
-static const symbol s_10_12[3] = { 'u', 'n', 'k' };
-static const symbol s_10_13[3] = { 0xE1, 'n', 'k' };
-static const symbol s_10_14[3] = { 0xE9, 'n', 'k' };
-static const symbol s_10_15[3] = { 0xFC, 'n', 'k' };
-static const symbol s_10_16[2] = { 'u', 'k' };
-static const symbol s_10_17[3] = { 'j', 'u', 'k' };
-static const symbol s_10_18[4] = { 0xE1, 'j', 'u', 'k' };
-static const symbol s_10_19[2] = { 0xFC, 'k' };
-static const symbol s_10_20[3] = { 'j', 0xFC, 'k' };
-static const symbol s_10_21[4] = { 0xE9, 'j', 0xFC, 'k' };
-static const symbol s_10_22[1] = { 'm' };
-static const symbol s_10_23[2] = { 'a', 'm' };
-static const symbol s_10_24[2] = { 'e', 'm' };
-static const symbol s_10_25[2] = { 'o', 'm' };
-static const symbol s_10_26[2] = { 0xE1, 'm' };
-static const symbol s_10_27[2] = { 0xE9, 'm' };
-static const symbol s_10_28[1] = { 'o' };
-static const symbol s_10_29[1] = { 0xE1 };
-static const symbol s_10_30[1] = { 0xE9 };
-
-static const struct among a_10[31] =
-{
-{ 1, s_10_0, -1, 1, 0},
-{ 2, s_10_1, 0, 1, 0},
-{ 1, s_10_2, -1, 1, 0},
-{ 2, s_10_3, 2, 1, 0},
-{ 2, s_10_4, 2, 1, 0},
-{ 2, s_10_5, 2, 1, 0},
-{ 2, s_10_6, 2, 2, 0},
-{ 2, s_10_7, 2, 3, 0},
-{ 2, s_10_8, 2, 1, 0},
-{ 1, s_10_9, -1, 1, 0},
-{ 2, s_10_10, 9, 1, 0},
-{ 2, s_10_11, -1, 1, 0},
-{ 3, s_10_12, 11, 1, 0},
-{ 3, s_10_13, 11, 2, 0},
-{ 3, s_10_14, 11, 3, 0},
-{ 3, s_10_15, 11, 1, 0},
-{ 2, s_10_16, -1, 1, 0},
-{ 3, s_10_17, 16, 1, 0},
-{ 4, s_10_18, 17, 2, 0},
-{ 2, s_10_19, -1, 1, 0},
-{ 3, s_10_20, 19, 1, 0},
-{ 4, s_10_21, 20, 3, 0},
-{ 1, s_10_22, -1, 1, 0},
-{ 2, s_10_23, 22, 1, 0},
-{ 2, s_10_24, 22, 1, 0},
-{ 2, s_10_25, 22, 1, 0},
-{ 2, s_10_26, 22, 2, 0},
-{ 2, s_10_27, 22, 3, 0},
-{ 1, s_10_28, -1, 1, 0},
-{ 1, s_10_29, -1, 2, 0},
-{ 1, s_10_30, -1, 3, 0}
+static const symbol s_9_0[1] = { 'a' };
+static const symbol s_9_1[2] = { 'j', 'a' };
+static const symbol s_9_2[1] = { 'd' };
+static const symbol s_9_3[2] = { 'a', 'd' };
+static const symbol s_9_4[2] = { 'e', 'd' };
+static const symbol s_9_5[2] = { 'o', 'd' };
+static const symbol s_9_6[2] = { 0xE1, 'd' };
+static const symbol s_9_7[2] = { 0xE9, 'd' };
+static const symbol s_9_8[2] = { 0xF6, 'd' };
+static const symbol s_9_9[1] = { 'e' };
+static const symbol s_9_10[2] = { 'j', 'e' };
+static const symbol s_9_11[2] = { 'n', 'k' };
+static const symbol s_9_12[3] = { 'u', 'n', 'k' };
+static const symbol s_9_13[3] = { 0xE1, 'n', 'k' };
+static const symbol s_9_14[3] = { 0xE9, 'n', 'k' };
+static const symbol s_9_15[3] = { 0xFC, 'n', 'k' };
+static const symbol s_9_16[2] = { 'u', 'k' };
+static const symbol s_9_17[3] = { 'j', 'u', 'k' };
+static const symbol s_9_18[4] = { 0xE1, 'j', 'u', 'k' };
+static const symbol s_9_19[2] = { 0xFC, 'k' };
+static const symbol s_9_20[3] = { 'j', 0xFC, 'k' };
+static const symbol s_9_21[4] = { 0xE9, 'j', 0xFC, 'k' };
+static const symbol s_9_22[1] = { 'm' };
+static const symbol s_9_23[2] = { 'a', 'm' };
+static const symbol s_9_24[2] = { 'e', 'm' };
+static const symbol s_9_25[2] = { 'o', 'm' };
+static const symbol s_9_26[2] = { 0xE1, 'm' };
+static const symbol s_9_27[2] = { 0xE9, 'm' };
+static const symbol s_9_28[1] = { 'o' };
+static const symbol s_9_29[1] = { 0xE1 };
+static const symbol s_9_30[1] = { 0xE9 };
+static const struct among a_9[31] = {
+{ 1, s_9_0, 0, 1, 0},
+{ 2, s_9_1, -1, 1, 0},
+{ 1, s_9_2, 0, 1, 0},
+{ 2, s_9_3, -1, 1, 0},
+{ 2, s_9_4, -2, 1, 0},
+{ 2, s_9_5, -3, 1, 0},
+{ 2, s_9_6, -4, 2, 0},
+{ 2, s_9_7, -5, 3, 0},
+{ 2, s_9_8, -6, 1, 0},
+{ 1, s_9_9, 0, 1, 0},
+{ 2, s_9_10, -1, 1, 0},
+{ 2, s_9_11, 0, 1, 0},
+{ 3, s_9_12, -1, 1, 0},
+{ 3, s_9_13, -2, 2, 0},
+{ 3, s_9_14, -3, 3, 0},
+{ 3, s_9_15, -4, 1, 0},
+{ 2, s_9_16, 0, 1, 0},
+{ 3, s_9_17, -1, 1, 0},
+{ 4, s_9_18, -1, 2, 0},
+{ 2, s_9_19, 0, 1, 0},
+{ 3, s_9_20, -1, 1, 0},
+{ 4, s_9_21, -1, 3, 0},
+{ 1, s_9_22, 0, 1, 0},
+{ 2, s_9_23, -1, 1, 0},
+{ 2, s_9_24, -2, 1, 0},
+{ 2, s_9_25, -3, 1, 0},
+{ 2, s_9_26, -4, 2, 0},
+{ 2, s_9_27, -5, 3, 0},
+{ 1, s_9_28, 0, 1, 0},
+{ 1, s_9_29, 0, 2, 0},
+{ 1, s_9_30, 0, 3, 0}
 };
 
-static const symbol s_11_0[2] = { 'i', 'd' };
-static const symbol s_11_1[3] = { 'a', 'i', 'd' };
-static const symbol s_11_2[4] = { 'j', 'a', 'i', 'd' };
-static const symbol s_11_3[3] = { 'e', 'i', 'd' };
-static const symbol s_11_4[4] = { 'j', 'e', 'i', 'd' };
-static const symbol s_11_5[3] = { 0xE1, 'i', 'd' };
-static const symbol s_11_6[3] = { 0xE9, 'i', 'd' };
-static const symbol s_11_7[1] = { 'i' };
-static const symbol s_11_8[2] = { 'a', 'i' };
-static const symbol s_11_9[3] = { 'j', 'a', 'i' };
-static const symbol s_11_10[2] = { 'e', 'i' };
-static const symbol s_11_11[3] = { 'j', 'e', 'i' };
-static const symbol s_11_12[2] = { 0xE1, 'i' };
-static const symbol s_11_13[2] = { 0xE9, 'i' };
-static const symbol s_11_14[4] = { 'i', 't', 'e', 'k' };
-static const symbol s_11_15[5] = { 'e', 'i', 't', 'e', 'k' };
-static const symbol s_11_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
-static const symbol s_11_17[5] = { 0xE9, 'i', 't', 'e', 'k' };
-static const symbol s_11_18[2] = { 'i', 'k' };
-static const symbol s_11_19[3] = { 'a', 'i', 'k' };
-static const symbol s_11_20[4] = { 'j', 'a', 'i', 'k' };
-static const symbol s_11_21[3] = { 'e', 'i', 'k' };
-static const symbol s_11_22[4] = { 'j', 'e', 'i', 'k' };
-static const symbol s_11_23[3] = { 0xE1, 'i', 'k' };
-static const symbol s_11_24[3] = { 0xE9, 'i', 'k' };
-static const symbol s_11_25[3] = { 'i', 'n', 'k' };
-static const symbol s_11_26[4] = { 'a', 'i', 'n', 'k' };
-static const symbol s_11_27[5] = { 'j', 'a', 'i', 'n', 'k' };
-static const symbol s_11_28[4] = { 'e', 'i', 'n', 'k' };
-static const symbol s_11_29[5] = { 'j', 'e', 'i', 'n', 'k' };
-static const symbol s_11_30[4] = { 0xE1, 'i', 'n', 'k' };
-static const symbol s_11_31[4] = { 0xE9, 'i', 'n', 'k' };
-static const symbol s_11_32[5] = { 'a', 'i', 't', 'o', 'k' };
-static const symbol s_11_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
-static const symbol s_11_34[5] = { 0xE1, 'i', 't', 'o', 'k' };
-static const symbol s_11_35[2] = { 'i', 'm' };
-static const symbol s_11_36[3] = { 'a', 'i', 'm' };
-static const symbol s_11_37[4] = { 'j', 'a', 'i', 'm' };
-static const symbol s_11_38[3] = { 'e', 'i', 'm' };
-static const symbol s_11_39[4] = { 'j', 'e', 'i', 'm' };
-static const symbol s_11_40[3] = { 0xE1, 'i', 'm' };
-static const symbol s_11_41[3] = { 0xE9, 'i', 'm' };
-
-static const struct among a_11[42] =
-{
-{ 2, s_11_0, -1, 1, 0},
-{ 3, s_11_1, 0, 1, 0},
-{ 4, s_11_2, 1, 1, 0},
-{ 3, s_11_3, 0, 1, 0},
-{ 4, s_11_4, 3, 1, 0},
-{ 3, s_11_5, 0, 2, 0},
-{ 3, s_11_6, 0, 3, 0},
-{ 1, s_11_7, -1, 1, 0},
-{ 2, s_11_8, 7, 1, 0},
-{ 3, s_11_9, 8, 1, 0},
-{ 2, s_11_10, 7, 1, 0},
-{ 3, s_11_11, 10, 1, 0},
-{ 2, s_11_12, 7, 2, 0},
-{ 2, s_11_13, 7, 3, 0},
-{ 4, s_11_14, -1, 1, 0},
-{ 5, s_11_15, 14, 1, 0},
-{ 6, s_11_16, 15, 1, 0},
-{ 5, s_11_17, 14, 3, 0},
-{ 2, s_11_18, -1, 1, 0},
-{ 3, s_11_19, 18, 1, 0},
-{ 4, s_11_20, 19, 1, 0},
-{ 3, s_11_21, 18, 1, 0},
-{ 4, s_11_22, 21, 1, 0},
-{ 3, s_11_23, 18, 2, 0},
-{ 3, s_11_24, 18, 3, 0},
-{ 3, s_11_25, -1, 1, 0},
-{ 4, s_11_26, 25, 1, 0},
-{ 5, s_11_27, 26, 1, 0},
-{ 4, s_11_28, 25, 1, 0},
-{ 5, s_11_29, 28, 1, 0},
-{ 4, s_11_30, 25, 2, 0},
-{ 4, s_11_31, 25, 3, 0},
-{ 5, s_11_32, -1, 1, 0},
-{ 6, s_11_33, 32, 1, 0},
-{ 5, s_11_34, -1, 2, 0},
-{ 2, s_11_35, -1, 1, 0},
-{ 3, s_11_36, 35, 1, 0},
-{ 4, s_11_37, 36, 1, 0},
-{ 3, s_11_38, 35, 1, 0},
-{ 4, s_11_39, 38, 1, 0},
-{ 3, s_11_40, 35, 2, 0},
-{ 3, s_11_41, 35, 3, 0}
+static const symbol s_10_0[2] = { 'i', 'd' };
+static const symbol s_10_1[3] = { 'a', 'i', 'd' };
+static const symbol s_10_2[4] = { 'j', 'a', 'i', 'd' };
+static const symbol s_10_3[3] = { 'e', 'i', 'd' };
+static const symbol s_10_4[4] = { 'j', 'e', 'i', 'd' };
+static const symbol s_10_5[3] = { 0xE1, 'i', 'd' };
+static const symbol s_10_6[3] = { 0xE9, 'i', 'd' };
+static const symbol s_10_7[1] = { 'i' };
+static const symbol s_10_8[2] = { 'a', 'i' };
+static const symbol s_10_9[3] = { 'j', 'a', 'i' };
+static const symbol s_10_10[2] = { 'e', 'i' };
+static const symbol s_10_11[3] = { 'j', 'e', 'i' };
+static const symbol s_10_12[2] = { 0xE1, 'i' };
+static const symbol s_10_13[2] = { 0xE9, 'i' };
+static const symbol s_10_14[4] = { 'i', 't', 'e', 'k' };
+static const symbol s_10_15[5] = { 'e', 'i', 't', 'e', 'k' };
+static const symbol s_10_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
+static const symbol s_10_17[5] = { 0xE9, 'i', 't', 'e', 'k' };
+static const symbol s_10_18[2] = { 'i', 'k' };
+static const symbol s_10_19[3] = { 'a', 'i', 'k' };
+static const symbol s_10_20[4] = { 'j', 'a', 'i', 'k' };
+static const symbol s_10_21[3] = { 'e', 'i', 'k' };
+static const symbol s_10_22[4] = { 'j', 'e', 'i', 'k' };
+static const symbol s_10_23[3] = { 0xE1, 'i', 'k' };
+static const symbol s_10_24[3] = { 0xE9, 'i', 'k' };
+static const symbol s_10_25[3] = { 'i', 'n', 'k' };
+static const symbol s_10_26[4] = { 'a', 'i', 'n', 'k' };
+static const symbol s_10_27[5] = { 'j', 'a', 'i', 'n', 'k' };
+static const symbol s_10_28[4] = { 'e', 'i', 'n', 'k' };
+static const symbol s_10_29[5] = { 'j', 'e', 'i', 'n', 'k' };
+static const symbol s_10_30[4] = { 0xE1, 'i', 'n', 'k' };
+static const symbol s_10_31[4] = { 0xE9, 'i', 'n', 'k' };
+static const symbol s_10_32[5] = { 'a', 'i', 't', 'o', 'k' };
+static const symbol s_10_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
+static const symbol s_10_34[5] = { 0xE1, 'i', 't', 'o', 'k' };
+static const symbol s_10_35[2] = { 'i', 'm' };
+static const symbol s_10_36[3] = { 'a', 'i', 'm' };
+static const symbol s_10_37[4] = { 'j', 'a', 'i', 'm' };
+static const symbol s_10_38[3] = { 'e', 'i', 'm' };
+static const symbol s_10_39[4] = { 'j', 'e', 'i', 'm' };
+static const symbol s_10_40[3] = { 0xE1, 'i', 'm' };
+static const symbol s_10_41[3] = { 0xE9, 'i', 'm' };
+static const struct among a_10[42] = {
+{ 2, s_10_0, 0, 1, 0},
+{ 3, s_10_1, -1, 1, 0},
+{ 4, s_10_2, -1, 1, 0},
+{ 3, s_10_3, -3, 1, 0},
+{ 4, s_10_4, -1, 1, 0},
+{ 3, s_10_5, -5, 2, 0},
+{ 3, s_10_6, -6, 3, 0},
+{ 1, s_10_7, 0, 1, 0},
+{ 2, s_10_8, -1, 1, 0},
+{ 3, s_10_9, -1, 1, 0},
+{ 2, s_10_10, -3, 1, 0},
+{ 3, s_10_11, -1, 1, 0},
+{ 2, s_10_12, -5, 2, 0},
+{ 2, s_10_13, -6, 3, 0},
+{ 4, s_10_14, 0, 1, 0},
+{ 5, s_10_15, -1, 1, 0},
+{ 6, s_10_16, -1, 1, 0},
+{ 5, s_10_17, -3, 3, 0},
+{ 2, s_10_18, 0, 1, 0},
+{ 3, s_10_19, -1, 1, 0},
+{ 4, s_10_20, -1, 1, 0},
+{ 3, s_10_21, -3, 1, 0},
+{ 4, s_10_22, -1, 1, 0},
+{ 3, s_10_23, -5, 2, 0},
+{ 3, s_10_24, -6, 3, 0},
+{ 3, s_10_25, 0, 1, 0},
+{ 4, s_10_26, -1, 1, 0},
+{ 5, s_10_27, -1, 1, 0},
+{ 4, s_10_28, -3, 1, 0},
+{ 5, s_10_29, -1, 1, 0},
+{ 4, s_10_30, -5, 2, 0},
+{ 4, s_10_31, -6, 3, 0},
+{ 5, s_10_32, 0, 1, 0},
+{ 6, s_10_33, -1, 1, 0},
+{ 5, s_10_34, 0, 2, 0},
+{ 2, s_10_35, 0, 1, 0},
+{ 3, s_10_36, -1, 1, 0},
+{ 4, s_10_37, -1, 1, 0},
+{ 3, s_10_38, -3, 1, 0},
+{ 4, s_10_39, -1, 1, 0},
+{ 3, s_10_40, -5, 2, 0},
+{ 3, s_10_41, -6, 3, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'e' };
-static const symbol s_3[] = { 'a' };
-static const symbol s_4[] = { 'a' };
-static const symbol s_5[] = { 'e' };
-static const symbol s_6[] = { 'a' };
-static const symbol s_7[] = { 'e' };
-static const symbol s_8[] = { 'e' };
-static const symbol s_9[] = { 'a' };
-static const symbol s_10[] = { 'a' };
-static const symbol s_11[] = { 'e' };
-static const symbol s_12[] = { 'a' };
-static const symbol s_13[] = { 'e' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
-
-        if (in_grouping(z, g_v, 97, 252, 1) < 0) goto lab1;
-        {   int c2 = z->c;
-            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3;
-            if (!find_among(z, a_0, 8)) goto lab3;
-            goto lab2;
-        lab3:
-            z->c = c2;
-            if (z->c >= z->l) goto lab1;
-            z->c++;
+    ((SN_local *)z)->i_p1 = z->l;
+    do {
+        int v_1 = z->c;
+        if (in_grouping(z, g_v, 97, 252, 0)) goto lab0;
+        {
+            int v_2 = z->c;
+            {
+                int ret = in_grouping(z, g_v, 97, 252, 1);
+                if (ret < 0) goto lab1;
+                z->c += ret;
+            }
+            ((SN_local *)z)->i_p1 = z->c;
+        lab1:
+            z->c = v_2;
         }
-    lab2:
-        z->I[0] = z->c;
-        goto lab0;
-    lab1:
-        z->c = c1;
-        if (out_grouping(z, g_v, 97, 252, 0)) return 0;
-
+        break;
+    lab0:
+        z->c = v_1;
         {
             int ret = out_grouping(z, g_v, 97, 252, 1);
             if (ret < 0) return 0;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    }
-lab0:
+        ((SN_local *)z)->i_p1 = z->c;
+    } while (0);
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_v_ending(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0;
-    among_var = find_among_b(z, a_1, 2);
+    among_var = find_among_b(z, a_0, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
@@ -539,10 +489,11 @@ static int r_v_ending(struct SN_env * z) {
 }
 
 static int r_double(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_2, 23)) return 0;
-        z->c = z->l - m_test1;
+        if (!find_among_b(z, a_1, 23, 0)) return 0;
+        z->c = z->l - v_1;
     }
     return 1;
 }
@@ -551,10 +502,11 @@ static int r_undouble(struct SN_env * z) {
     if (z->c <= z->lb) return 0;
     z->c--;
     z->ket = z->c;
-z->c = z->c - 1;
-    if (z->c < z->lb) return 0;
+    if (z->c <= z->lb) return 0;
+    z->c--;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -563,57 +515,59 @@ z->c = z->c - 1;
 static int r_instrum(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0;
-    if (!find_among_b(z, a_3, 2)) return 0;
+    if (!find_among_b(z, a_2, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = r_double(z);
+    {
+        int ret = r_double(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_undouble(z);
 }
 
 static int r_case(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_4, 44)) return 0;
+    if (!find_among_b(z, a_3, 44, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_v_ending(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_v_ending(z);
 }
 
 static int r_case_special(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;
-    among_var = find_among_b(z, a_5, 3);
+    among_var = find_among_b(z, a_4, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_2);
+            {
+                int ret = slice_from_s(z, 1, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_3);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -625,25 +579,29 @@ static int r_case_other(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0;
-    among_var = find_among_b(z, a_6, 6);
+    among_var = find_among_b(z, a_5, 6, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_4);
+            {
+                int ret = slice_from_s(z, 1, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
@@ -654,46 +612,50 @@ static int r_case_other(struct SN_env * z) {
 static int r_factive(struct SN_env * z) {
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0;
-    if (!find_among_b(z, a_7, 2)) return 0;
+    z->c--;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = r_double(z);
+    {
+        int ret = r_double(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_undouble(z);
 }
 
 static int r_plural(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
-    among_var = find_among_b(z, a_8, 7);
+    among_var = find_among_b(z, a_7, 7, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_6);
+            {
+                int ret = slice_from_s(z, 1, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -705,25 +667,29 @@ static int r_owned(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 233)) return 0;
-    among_var = find_among_b(z, a_9, 12);
+    among_var = find_among_b(z, a_8, 12, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_9);
+            {
+                int ret = slice_from_s(z, 1, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -734,25 +700,29 @@ static int r_owned(struct SN_env * z) {
 static int r_sing_owner(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_10, 31);
+    among_var = find_among_b(z, a_9, 31, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_11);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
@@ -764,25 +734,29 @@ static int r_plur_owner(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_11, 42);
+    among_var = find_among_b(z, a_10, 42, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_12);
+            {
+                int ret = slice_from_s(z, 1, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_13);
+            {
+                int ret = slice_from_s(z, 1, s_13);
                 if (ret < 0) return ret;
             }
             break;
@@ -791,73 +765,100 @@ static int r_plur_owner(struct SN_env * z) {
 }
 
 extern int hungarian_ISO_8859_2_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_instrum(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_instrum(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_case(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_case(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_case_special(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_case_special(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_case_other(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_case_other(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_factive(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_factive(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_owned(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_owned(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_sing_owner(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_sing_owner(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_plur_owner(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_plur_owner(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_plural(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_plural(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * hungarian_ISO_8859_2_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * hungarian_ISO_8859_2_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void hungarian_ISO_8859_2_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void hungarian_ISO_8859_2_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
diff --git a/src/backend/snowball/libstemmer/stem_ISO_8859_2_polish.c b/src/backend/snowball/libstemmer/stem_ISO_8859_2_polish.c
new file mode 100644 (file)
index 0000000..893d0ab
--- /dev/null
@@ -0,0 +1,520 @@
+/* Generated from polish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#include "stem_ISO_8859_2_polish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int polish_ISO_8859_2_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
+
+static int r_R1(struct SN_env * z);
+static int r_normalize_consonant(struct SN_env * z);
+static int r_remove_endings(struct SN_env * z);
+static int r_mark_regions(struct SN_env * z);
+
+static const symbol s_0[] = { 's' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 0xB3 };
+static const symbol s_3[] = { 's' };
+static const symbol s_4[] = { 'c' };
+static const symbol s_5[] = { 'n' };
+static const symbol s_6[] = { 's' };
+static const symbol s_7[] = { 'z' };
+
+static const symbol s_0_0[6] = { 'b', 'y', 0xB6, 'c', 'i', 'e' };
+static const symbol s_0_1[3] = { 'b', 'y', 'm' };
+static const symbol s_0_2[2] = { 'b', 'y' };
+static const symbol s_0_3[5] = { 'b', 'y', 0xB6, 'm', 'y' };
+static const symbol s_0_4[3] = { 'b', 'y', 0xB6 };
+static const struct among a_0[5] = {
+{ 6, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 1, 0},
+{ 2, s_0_2, 0, 1, 0},
+{ 5, s_0_3, 0, 1, 0},
+{ 3, s_0_4, 0, 1, 0}
+};
+
+static const symbol s_1_0[2] = { 0xB1, 'c' };
+static const symbol s_1_1[4] = { 'a', 'j', 0xB1, 'c' };
+static const symbol s_1_2[4] = { 's', 'z', 0xB1, 'c' };
+static const symbol s_1_3[2] = { 's', 'z' };
+static const symbol s_1_4[5] = { 'i', 'e', 'j', 's', 'z' };
+static const struct among a_1[5] = {
+{ 2, s_1_0, 0, 1, 0},
+{ 4, s_1_1, -1, 1, 0},
+{ 4, s_1_2, -2, 2, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 5, s_1_4, -1, 1, 0}
+};
+
+static const symbol s_2_0[1] = { 'a' };
+static const symbol s_2_1[3] = { 0xB1, 'c', 'a' };
+static const symbol s_2_2[5] = { 'a', 'j', 0xB1, 'c', 'a' };
+static const symbol s_2_3[5] = { 's', 'z', 0xB1, 'c', 'a' };
+static const symbol s_2_4[2] = { 'i', 'a' };
+static const symbol s_2_5[3] = { 's', 'z', 'a' };
+static const symbol s_2_6[6] = { 'i', 'e', 'j', 's', 'z', 'a' };
+static const symbol s_2_7[3] = { 'a', 0xB3, 'a' };
+static const symbol s_2_8[4] = { 'i', 'a', 0xB3, 'a' };
+static const symbol s_2_9[3] = { 'i', 0xB3, 'a' };
+static const symbol s_2_10[2] = { 0xB1, 'c' };
+static const symbol s_2_11[4] = { 'a', 'j', 0xB1, 'c' };
+static const symbol s_2_12[1] = { 'e' };
+static const symbol s_2_13[3] = { 0xB1, 'c', 'e' };
+static const symbol s_2_14[5] = { 'a', 'j', 0xB1, 'c', 'e' };
+static const symbol s_2_15[5] = { 's', 'z', 0xB1, 'c', 'e' };
+static const symbol s_2_16[2] = { 'i', 'e' };
+static const symbol s_2_17[3] = { 'c', 'i', 'e' };
+static const symbol s_2_18[4] = { 'a', 'c', 'i', 'e' };
+static const symbol s_2_19[4] = { 'e', 'c', 'i', 'e' };
+static const symbol s_2_20[4] = { 'i', 'c', 'i', 'e' };
+static const symbol s_2_21[5] = { 'a', 'j', 'c', 'i', 'e' };
+static const symbol s_2_22[6] = { 'l', 'i', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_23[7] = { 'a', 'l', 'i', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_24[8] = { 'i', 'e', 'l', 'i', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_25[7] = { 'i', 'l', 'i', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_26[6] = { 0xB3, 'y', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_27[7] = { 'a', 0xB3, 'y', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_28[8] = { 'i', 'a', 0xB3, 'y', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_29[7] = { 'i', 0xB3, 'y', 0xB6, 'c', 'i', 'e' };
+static const symbol s_2_30[3] = { 's', 'z', 'e' };
+static const symbol s_2_31[6] = { 'i', 'e', 'j', 's', 'z', 'e' };
+static const symbol s_2_32[3] = { 'a', 'c', 'h' };
+static const symbol s_2_33[4] = { 'i', 'a', 'c', 'h' };
+static const symbol s_2_34[3] = { 'i', 'c', 'h' };
+static const symbol s_2_35[3] = { 'y', 'c', 'h' };
+static const symbol s_2_36[1] = { 'i' };
+static const symbol s_2_37[3] = { 'a', 'l', 'i' };
+static const symbol s_2_38[4] = { 'i', 'e', 'l', 'i' };
+static const symbol s_2_39[3] = { 'i', 'l', 'i' };
+static const symbol s_2_40[3] = { 'a', 'm', 'i' };
+static const symbol s_2_41[4] = { 'i', 'a', 'm', 'i' };
+static const symbol s_2_42[3] = { 'i', 'm', 'i' };
+static const symbol s_2_43[3] = { 'y', 'm', 'i' };
+static const symbol s_2_44[3] = { 'o', 'w', 'i' };
+static const symbol s_2_45[4] = { 'i', 'o', 'w', 'i' };
+static const symbol s_2_46[2] = { 'a', 'j' };
+static const symbol s_2_47[2] = { 'e', 'j' };
+static const symbol s_2_48[3] = { 'i', 'e', 'j' };
+static const symbol s_2_49[2] = { 'a', 'm' };
+static const symbol s_2_50[4] = { 'a', 0xB3, 'a', 'm' };
+static const symbol s_2_51[5] = { 'i', 'a', 0xB3, 'a', 'm' };
+static const symbol s_2_52[4] = { 'i', 0xB3, 'a', 'm' };
+static const symbol s_2_53[2] = { 'e', 'm' };
+static const symbol s_2_54[3] = { 'i', 'e', 'm' };
+static const symbol s_2_55[4] = { 'a', 0xB3, 'e', 'm' };
+static const symbol s_2_56[5] = { 'i', 'a', 0xB3, 'e', 'm' };
+static const symbol s_2_57[4] = { 'i', 0xB3, 'e', 'm' };
+static const symbol s_2_58[2] = { 'i', 'm' };
+static const symbol s_2_59[2] = { 'o', 'm' };
+static const symbol s_2_60[3] = { 'i', 'o', 'm' };
+static const symbol s_2_61[2] = { 'y', 'm' };
+static const symbol s_2_62[1] = { 'o' };
+static const symbol s_2_63[3] = { 'e', 'g', 'o' };
+static const symbol s_2_64[4] = { 'i', 'e', 'g', 'o' };
+static const symbol s_2_65[3] = { 'a', 0xB3, 'o' };
+static const symbol s_2_66[4] = { 'i', 'a', 0xB3, 'o' };
+static const symbol s_2_67[3] = { 'i', 0xB3, 'o' };
+static const symbol s_2_68[1] = { 'u' };
+static const symbol s_2_69[2] = { 'i', 'u' };
+static const symbol s_2_70[3] = { 'e', 'm', 'u' };
+static const symbol s_2_71[4] = { 'i', 'e', 'm', 'u' };
+static const symbol s_2_72[2] = { 0xF3, 'w' };
+static const symbol s_2_73[1] = { 'y' };
+static const symbol s_2_74[3] = { 'a', 'm', 'y' };
+static const symbol s_2_75[3] = { 'e', 'm', 'y' };
+static const symbol s_2_76[3] = { 'i', 'm', 'y' };
+static const symbol s_2_77[5] = { 'l', 'i', 0xB6, 'm', 'y' };
+static const symbol s_2_78[6] = { 'a', 'l', 'i', 0xB6, 'm', 'y' };
+static const symbol s_2_79[7] = { 'i', 'e', 'l', 'i', 0xB6, 'm', 'y' };
+static const symbol s_2_80[6] = { 'i', 'l', 'i', 0xB6, 'm', 'y' };
+static const symbol s_2_81[5] = { 0xB3, 'y', 0xB6, 'm', 'y' };
+static const symbol s_2_82[6] = { 'a', 0xB3, 'y', 0xB6, 'm', 'y' };
+static const symbol s_2_83[7] = { 'i', 'a', 0xB3, 'y', 0xB6, 'm', 'y' };
+static const symbol s_2_84[6] = { 'i', 0xB3, 'y', 0xB6, 'm', 'y' };
+static const symbol s_2_85[3] = { 'a', 0xB3, 'y' };
+static const symbol s_2_86[4] = { 'i', 'a', 0xB3, 'y' };
+static const symbol s_2_87[3] = { 'i', 0xB3, 'y' };
+static const symbol s_2_88[3] = { 'a', 's', 'z' };
+static const symbol s_2_89[3] = { 'e', 's', 'z' };
+static const symbol s_2_90[3] = { 'i', 's', 'z' };
+static const symbol s_2_91[1] = { 0xB1 };
+static const symbol s_2_92[3] = { 0xB1, 'c', 0xB1 };
+static const symbol s_2_93[5] = { 'a', 'j', 0xB1, 'c', 0xB1 };
+static const symbol s_2_94[5] = { 's', 'z', 0xB1, 'c', 0xB1 };
+static const symbol s_2_95[2] = { 'i', 0xB1 };
+static const symbol s_2_96[3] = { 'a', 'j', 0xB1 };
+static const symbol s_2_97[3] = { 's', 'z', 0xB1 };
+static const symbol s_2_98[6] = { 'i', 'e', 'j', 's', 'z', 0xB1 };
+static const symbol s_2_99[2] = { 'a', 0xB3 };
+static const symbol s_2_100[3] = { 'i', 'a', 0xB3 };
+static const symbol s_2_101[2] = { 'i', 0xB3 };
+static const symbol s_2_102[3] = { 0xB3, 'a', 0xB6 };
+static const symbol s_2_103[4] = { 'a', 0xB3, 'a', 0xB6 };
+static const symbol s_2_104[5] = { 'i', 'a', 0xB3, 'a', 0xB6 };
+static const symbol s_2_105[4] = { 'i', 0xB3, 'a', 0xB6 };
+static const symbol s_2_106[3] = { 0xB3, 'e', 0xB6 };
+static const symbol s_2_107[4] = { 'a', 0xB3, 'e', 0xB6 };
+static const symbol s_2_108[5] = { 'i', 'a', 0xB3, 'e', 0xB6 };
+static const symbol s_2_109[4] = { 'i', 0xB3, 'e', 0xB6 };
+static const symbol s_2_110[2] = { 'a', 0xE6 };
+static const symbol s_2_111[3] = { 'i', 'e', 0xE6 };
+static const symbol s_2_112[2] = { 'i', 0xE6 };
+static const symbol s_2_113[2] = { 0xB1, 0xE6 };
+static const symbol s_2_114[3] = { 'a', 0xB6, 0xE6 };
+static const symbol s_2_115[3] = { 'e', 0xB6, 0xE6 };
+static const symbol s_2_116[1] = { 0xEA };
+static const symbol s_2_117[3] = { 's', 'z', 0xEA };
+static const struct among a_2[118] = {
+{ 1, s_2_0, 0, 1, 1},
+{ 3, s_2_1, -1, 1, 0},
+{ 5, s_2_2, -1, 1, 0},
+{ 5, s_2_3, -2, 2, 0},
+{ 2, s_2_4, -4, 1, 1},
+{ 3, s_2_5, -5, 1, 0},
+{ 6, s_2_6, -1, 1, 0},
+{ 3, s_2_7, -7, 1, 0},
+{ 4, s_2_8, -1, 1, 0},
+{ 3, s_2_9, -9, 1, 0},
+{ 2, s_2_10, 0, 1, 0},
+{ 4, s_2_11, -1, 1, 0},
+{ 1, s_2_12, 0, 1, 1},
+{ 3, s_2_13, -1, 1, 0},
+{ 5, s_2_14, -1, 1, 0},
+{ 5, s_2_15, -2, 2, 0},
+{ 2, s_2_16, -4, 1, 1},
+{ 3, s_2_17, -1, 1, 0},
+{ 4, s_2_18, -1, 1, 0},
+{ 4, s_2_19, -2, 1, 0},
+{ 4, s_2_20, -3, 1, 0},
+{ 5, s_2_21, -4, 1, 0},
+{ 6, s_2_22, -5, 4, 0},
+{ 7, s_2_23, -1, 1, 0},
+{ 8, s_2_24, -2, 1, 0},
+{ 7, s_2_25, -3, 1, 0},
+{ 6, s_2_26, -9, 4, 0},
+{ 7, s_2_27, -1, 1, 0},
+{ 8, s_2_28, -1, 1, 0},
+{ 7, s_2_29, -3, 1, 0},
+{ 3, s_2_30, -18, 1, 0},
+{ 6, s_2_31, -1, 1, 0},
+{ 3, s_2_32, 0, 1, 1},
+{ 4, s_2_33, -1, 1, 1},
+{ 3, s_2_34, 0, 5, 0},
+{ 3, s_2_35, 0, 5, 0},
+{ 1, s_2_36, 0, 1, 1},
+{ 3, s_2_37, -1, 1, 0},
+{ 4, s_2_38, -2, 1, 0},
+{ 3, s_2_39, -3, 1, 0},
+{ 3, s_2_40, -4, 1, 1},
+{ 4, s_2_41, -1, 1, 1},
+{ 3, s_2_42, -6, 5, 0},
+{ 3, s_2_43, -7, 5, 0},
+{ 3, s_2_44, -8, 1, 1},
+{ 4, s_2_45, -1, 1, 1},
+{ 2, s_2_46, 0, 1, 0},
+{ 2, s_2_47, 0, 5, 0},
+{ 3, s_2_48, -1, 5, 0},
+{ 2, s_2_49, 0, 1, 0},
+{ 4, s_2_50, -1, 1, 0},
+{ 5, s_2_51, -1, 1, 0},
+{ 4, s_2_52, -3, 1, 0},
+{ 2, s_2_53, 0, 1, 1},
+{ 3, s_2_54, -1, 1, 1},
+{ 4, s_2_55, -2, 1, 0},
+{ 5, s_2_56, -1, 1, 0},
+{ 4, s_2_57, -4, 1, 0},
+{ 2, s_2_58, 0, 5, 0},
+{ 2, s_2_59, 0, 1, 1},
+{ 3, s_2_60, -1, 1, 1},
+{ 2, s_2_61, 0, 5, 0},
+{ 1, s_2_62, 0, 1, 1},
+{ 3, s_2_63, -1, 5, 0},
+{ 4, s_2_64, -1, 5, 0},
+{ 3, s_2_65, -3, 1, 0},
+{ 4, s_2_66, -1, 1, 0},
+{ 3, s_2_67, -5, 1, 0},
+{ 1, s_2_68, 0, 1, 1},
+{ 2, s_2_69, -1, 1, 1},
+{ 3, s_2_70, -2, 5, 0},
+{ 4, s_2_71, -1, 5, 0},
+{ 2, s_2_72, 0, 1, 1},
+{ 1, s_2_73, 0, 5, 0},
+{ 3, s_2_74, -1, 1, 0},
+{ 3, s_2_75, -2, 1, 0},
+{ 3, s_2_76, -3, 1, 0},
+{ 5, s_2_77, -4, 4, 0},
+{ 6, s_2_78, -1, 1, 0},
+{ 7, s_2_79, -2, 1, 0},
+{ 6, s_2_80, -3, 1, 0},
+{ 5, s_2_81, -8, 4, 0},
+{ 6, s_2_82, -1, 1, 0},
+{ 7, s_2_83, -1, 1, 0},
+{ 6, s_2_84, -3, 1, 0},
+{ 3, s_2_85, -12, 1, 0},
+{ 4, s_2_86, -1, 1, 0},
+{ 3, s_2_87, -14, 1, 0},
+{ 3, s_2_88, 0, 1, 0},
+{ 3, s_2_89, 0, 1, 0},
+{ 3, s_2_90, 0, 1, 0},
+{ 1, s_2_91, 0, 1, 1},
+{ 3, s_2_92, -1, 1, 0},
+{ 5, s_2_93, -1, 1, 0},
+{ 5, s_2_94, -2, 2, 0},
+{ 2, s_2_95, -4, 1, 1},
+{ 3, s_2_96, -5, 1, 0},
+{ 3, s_2_97, -6, 3, 0},
+{ 6, s_2_98, -1, 1, 0},
+{ 2, s_2_99, 0, 1, 0},
+{ 3, s_2_100, -1, 1, 0},
+{ 2, s_2_101, 0, 1, 0},
+{ 3, s_2_102, 0, 4, 0},
+{ 4, s_2_103, -1, 1, 0},
+{ 5, s_2_104, -1, 1, 0},
+{ 4, s_2_105, -3, 1, 0},
+{ 3, s_2_106, 0, 4, 0},
+{ 4, s_2_107, -1, 1, 0},
+{ 5, s_2_108, -1, 1, 0},
+{ 4, s_2_109, -3, 1, 0},
+{ 2, s_2_110, 0, 1, 0},
+{ 3, s_2_111, 0, 1, 0},
+{ 2, s_2_112, 0, 1, 0},
+{ 2, s_2_113, 0, 1, 0},
+{ 3, s_2_114, 0, 1, 0},
+{ 3, s_2_115, 0, 1, 0},
+{ 1, s_2_116, 0, 1, 0},
+{ 3, s_2_117, -1, 2, 0}
+};
+
+static const symbol s_3_0[1] = { 0xB6 };
+static const symbol s_3_1[1] = { 0xBC };
+static const symbol s_3_2[1] = { 0xE6 };
+static const symbol s_3_3[1] = { 0xF1 };
+static const struct among a_3[4] = {
+{ 1, s_3_0, 0, 3, 0},
+{ 1, s_3_1, 0, 4, 0},
+{ 1, s_3_2, 0, 1, 0},
+{ 1, s_3_3, 0, 2, 0}
+};
+
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 4 };
+
+static int r_mark_regions(struct SN_env * z) {
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int ret = out_grouping(z, g_v, 97, 243, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping(z, g_v, 97, 243, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p1 = z->c;
+    return 1;
+}
+
+static int r_R1(struct SN_env * z) {
+    return ((SN_local *)z)->i_p1 <= z->c;
+}
+
+static int r_remove_endings(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) goto lab0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+            z->ket = z->c;
+            if (!find_among_b(z, a_0, 5, 0)) { z->lb = v_2; goto lab0; }
+            z->bra = z->c;
+            z->lb = v_2;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    lab0:
+        z->c = z->l - v_1;
+    }
+    z->ket = z->c;
+    among_var = find_among_b(z, a_2, 118, r_R1);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_0);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            do {
+                int v_3 = z->l - z->c;
+                {
+                    int v_4 = z->l - z->c;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    z->c = z->l - v_4;
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                }
+                break;
+            lab1:
+                z->c = z->l - v_3;
+                {
+                    int ret = slice_from_s(z, 1, s_1);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_2);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int v_5 = z->l - z->c;
+                z->ket = z->c;
+                if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 99 && z->p[z->c - 1] != 122)) { z->c = z->l - v_5; goto lab2; }
+                among_var = find_among_b(z, a_1, 5, 0);
+                if (!among_var) { z->c = z->l - v_5; goto lab2; }
+                z->bra = z->c;
+                switch (among_var) {
+                    case 1:
+                        {
+                            int ret = slice_del(z);
+                            if (ret < 0) return ret;
+                        }
+                        break;
+                    case 2:
+                        {
+                            int ret = slice_from_s(z, 1, s_3);
+                            if (ret < 0) return ret;
+                        }
+                        break;
+                }
+            lab2:
+                ;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_normalize_consonant(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    among_var = find_among_b(z, a_3, 4, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    if (z->c > z->lb) goto lab0;
+    return 0;
+lab0:
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_4);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_5);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_6);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_7);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+extern int polish_ISO_8859_2_stem(struct SN_env * z) {
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_1;
+    }
+    do {
+        int v_2 = z->c;
+        if (z->c + 2 > z->l) goto lab0;
+        z->c += 2;
+        z->lb = z->c; z->c = z->l;
+        {
+            int ret = r_remove_endings(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
+        }
+        z->c = z->lb;
+        break;
+    lab0:
+        z->c = v_2;
+        z->lb = z->c; z->c = z->l;
+        {
+            int ret = r_normalize_consonant(z);
+            if (ret <= 0) return ret;
+        }
+        z->c = z->lb;
+    } while (0);
+    return 1;
+}
+
+extern struct SN_env * polish_ISO_8859_2_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
+
+extern void polish_ISO_8859_2_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
+
index f9f0973b3935ed0b33dc864871d3e18790aedf82..d44e3db4429fa8146b8d345759d4f4da9ab343c0 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from russian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_KOI8_R_russian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int russian_KOI8_R_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_tidy_up(struct SN_env * z);
 static int r_derivational(struct SN_env * z);
 static int r_noun(struct SN_env * z);
@@ -19,18 +32,9 @@ static int r_adjective(struct SN_env * z);
 static int r_perfective_gerund(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * russian_KOI8_R_create_env(void);
-extern void russian_KOI8_R_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xC5 };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 0xD7, 0xDB, 0xC9 };
 static const symbol s_0_1[4] = { 0xC9, 0xD7, 0xDB, 0xC9 };
 static const symbol s_0_2[4] = { 0xD9, 0xD7, 0xDB, 0xC9 };
@@ -40,18 +44,16 @@ static const symbol s_0_5[2] = { 0xD9, 0xD7 };
 static const symbol s_0_6[5] = { 0xD7, 0xDB, 0xC9, 0xD3, 0xD8 };
 static const symbol s_0_7[6] = { 0xC9, 0xD7, 0xDB, 0xC9, 0xD3, 0xD8 };
 static const symbol s_0_8[6] = { 0xD9, 0xD7, 0xDB, 0xC9, 0xD3, 0xD8 };
-
-static const struct among a_0[9] =
-{
-{ 3, s_0_0, -1, 1, 0},
-{ 4, s_0_1, 0, 2, 0},
-{ 4, s_0_2, 0, 2, 0},
-{ 1, s_0_3, -1, 1, 0},
-{ 2, s_0_4, 3, 2, 0},
-{ 2, s_0_5, 3, 2, 0},
-{ 5, s_0_6, -1, 1, 0},
-{ 6, s_0_7, 6, 2, 0},
-{ 6, s_0_8, 6, 2, 0}
+static const struct among a_0[9] = {
+{ 3, s_0_0, 0, 1, 0},
+{ 4, s_0_1, -1, 2, 0},
+{ 4, s_0_2, -2, 2, 0},
+{ 1, s_0_3, 0, 1, 0},
+{ 2, s_0_4, -1, 2, 0},
+{ 2, s_0_5, -2, 2, 0},
+{ 5, s_0_6, 0, 1, 0},
+{ 6, s_0_7, -1, 2, 0},
+{ 6, s_0_8, -2, 2, 0}
 };
 
 static const symbol s_1_0[2] = { 0xC0, 0xC0 };
@@ -80,35 +82,33 @@ static const symbol s_1_22[2] = { 0xC1, 0xD1 };
 static const symbol s_1_23[2] = { 0xD1, 0xD1 };
 static const symbol s_1_24[3] = { 0xC5, 0xCD, 0xD5 };
 static const symbol s_1_25[3] = { 0xCF, 0xCD, 0xD5 };
-
-static const struct among a_1[26] =
-{
-{ 2, s_1_0, -1, 1, 0},
-{ 2, s_1_1, -1, 1, 0},
-{ 2, s_1_2, -1, 1, 0},
-{ 2, s_1_3, -1, 1, 0},
-{ 2, s_1_4, -1, 1, 0},
-{ 2, s_1_5, -1, 1, 0},
-{ 2, s_1_6, -1, 1, 0},
-{ 2, s_1_7, -1, 1, 0},
-{ 2, s_1_8, -1, 1, 0},
-{ 2, s_1_9, -1, 1, 0},
-{ 3, s_1_10, -1, 1, 0},
-{ 3, s_1_11, -1, 1, 0},
-{ 2, s_1_12, -1, 1, 0},
-{ 2, s_1_13, -1, 1, 0},
-{ 2, s_1_14, -1, 1, 0},
-{ 2, s_1_15, -1, 1, 0},
-{ 2, s_1_16, -1, 1, 0},
-{ 2, s_1_17, -1, 1, 0},
-{ 2, s_1_18, -1, 1, 0},
-{ 2, s_1_19, -1, 1, 0},
-{ 3, s_1_20, -1, 1, 0},
-{ 3, s_1_21, -1, 1, 0},
-{ 2, s_1_22, -1, 1, 0},
-{ 2, s_1_23, -1, 1, 0},
-{ 3, s_1_24, -1, 1, 0},
-{ 3, s_1_25, -1, 1, 0}
+static const struct among a_1[26] = {
+{ 2, s_1_0, 0, 1, 0},
+{ 2, s_1_1, 0, 1, 0},
+{ 2, s_1_2, 0, 1, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 2, s_1_4, 0, 1, 0},
+{ 2, s_1_5, 0, 1, 0},
+{ 2, s_1_6, 0, 1, 0},
+{ 2, s_1_7, 0, 1, 0},
+{ 2, s_1_8, 0, 1, 0},
+{ 2, s_1_9, 0, 1, 0},
+{ 3, s_1_10, 0, 1, 0},
+{ 3, s_1_11, 0, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 2, s_1_13, 0, 1, 0},
+{ 2, s_1_14, 0, 1, 0},
+{ 2, s_1_15, 0, 1, 0},
+{ 2, s_1_16, 0, 1, 0},
+{ 2, s_1_17, 0, 1, 0},
+{ 2, s_1_18, 0, 1, 0},
+{ 2, s_1_19, 0, 1, 0},
+{ 3, s_1_20, 0, 1, 0},
+{ 3, s_1_21, 0, 1, 0},
+{ 2, s_1_22, 0, 1, 0},
+{ 2, s_1_23, 0, 1, 0},
+{ 3, s_1_24, 0, 1, 0},
+{ 3, s_1_25, 0, 1, 0}
 };
 
 static const symbol s_2_0[2] = { 0xC5, 0xCD };
@@ -119,26 +119,22 @@ static const symbol s_2_4[3] = { 0xD9, 0xD7, 0xDB };
 static const symbol s_2_5[1] = { 0xDD };
 static const symbol s_2_6[2] = { 0xC0, 0xDD };
 static const symbol s_2_7[3] = { 0xD5, 0xC0, 0xDD };
-
-static const struct among a_2[8] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 2, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 1, 0},
-{ 3, s_2_3, 2, 2, 0},
-{ 3, s_2_4, 2, 2, 0},
-{ 1, s_2_5, -1, 1, 0},
-{ 2, s_2_6, 5, 1, 0},
-{ 3, s_2_7, 6, 2, 0}
+static const struct among a_2[8] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 2, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 1, 0},
+{ 3, s_2_3, -1, 2, 0},
+{ 3, s_2_4, -2, 2, 0},
+{ 1, s_2_5, 0, 1, 0},
+{ 2, s_2_6, -1, 1, 0},
+{ 3, s_2_7, -1, 2, 0}
 };
 
 static const symbol s_3_0[2] = { 0xD3, 0xD1 };
 static const symbol s_3_1[2] = { 0xD3, 0xD8 };
-
-static const struct among a_3[2] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 1, 0}
+static const struct among a_3[2] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 2, s_3_1, 0, 1, 0}
 };
 
 static const symbol s_4_0[1] = { 0xC0 };
@@ -187,55 +183,53 @@ static const symbol s_4_42[3] = { 0xC5, 0xDB, 0xD8 };
 static const symbol s_4_43[3] = { 0xC9, 0xDB, 0xD8 };
 static const symbol s_4_44[2] = { 0xCE, 0xD9 };
 static const symbol s_4_45[3] = { 0xC5, 0xCE, 0xD9 };
-
-static const struct among a_4[46] =
-{
-{ 1, s_4_0, -1, 2, 0},
-{ 2, s_4_1, 0, 2, 0},
-{ 2, s_4_2, -1, 1, 0},
-{ 3, s_4_3, 2, 2, 0},
-{ 3, s_4_4, 2, 2, 0},
-{ 2, s_4_5, -1, 1, 0},
-{ 3, s_4_6, 5, 2, 0},
-{ 3, s_4_7, -1, 1, 0},
-{ 3, s_4_8, -1, 2, 0},
-{ 3, s_4_9, -1, 1, 0},
-{ 4, s_4_10, 9, 2, 0},
-{ 4, s_4_11, 9, 2, 0},
-{ 2, s_4_12, -1, 1, 0},
-{ 3, s_4_13, 12, 2, 0},
-{ 3, s_4_14, 12, 2, 0},
-{ 1, s_4_15, -1, 1, 0},
-{ 2, s_4_16, 15, 2, 0},
-{ 2, s_4_17, 15, 2, 0},
-{ 1, s_4_18, -1, 1, 0},
-{ 2, s_4_19, 18, 2, 0},
-{ 2, s_4_20, 18, 2, 0},
-{ 2, s_4_21, -1, 1, 0},
-{ 2, s_4_22, -1, 2, 0},
-{ 2, s_4_23, -1, 2, 0},
-{ 1, s_4_24, -1, 1, 0},
-{ 2, s_4_25, 24, 2, 0},
-{ 2, s_4_26, -1, 1, 0},
-{ 3, s_4_27, 26, 2, 0},
-{ 3, s_4_28, 26, 2, 0},
-{ 2, s_4_29, -1, 1, 0},
-{ 3, s_4_30, 29, 2, 0},
-{ 3, s_4_31, 29, 1, 0},
-{ 2, s_4_32, -1, 1, 0},
-{ 3, s_4_33, 32, 2, 0},
-{ 2, s_4_34, -1, 1, 0},
-{ 3, s_4_35, 34, 2, 0},
-{ 2, s_4_36, -1, 2, 0},
-{ 2, s_4_37, -1, 2, 0},
-{ 2, s_4_38, -1, 2, 0},
-{ 2, s_4_39, -1, 1, 0},
-{ 3, s_4_40, 39, 2, 0},
-{ 3, s_4_41, 39, 2, 0},
-{ 3, s_4_42, -1, 1, 0},
-{ 3, s_4_43, -1, 2, 0},
-{ 2, s_4_44, -1, 1, 0},
-{ 3, s_4_45, 44, 2, 0}
+static const struct among a_4[46] = {
+{ 1, s_4_0, 0, 2, 0},
+{ 2, s_4_1, -1, 2, 0},
+{ 2, s_4_2, 0, 1, 0},
+{ 3, s_4_3, -1, 2, 0},
+{ 3, s_4_4, -2, 2, 0},
+{ 2, s_4_5, 0, 1, 0},
+{ 3, s_4_6, -1, 2, 0},
+{ 3, s_4_7, 0, 1, 0},
+{ 3, s_4_8, 0, 2, 0},
+{ 3, s_4_9, 0, 1, 0},
+{ 4, s_4_10, -1, 2, 0},
+{ 4, s_4_11, -2, 2, 0},
+{ 2, s_4_12, 0, 1, 0},
+{ 3, s_4_13, -1, 2, 0},
+{ 3, s_4_14, -2, 2, 0},
+{ 1, s_4_15, 0, 1, 0},
+{ 2, s_4_16, -1, 2, 0},
+{ 2, s_4_17, -2, 2, 0},
+{ 1, s_4_18, 0, 1, 0},
+{ 2, s_4_19, -1, 2, 0},
+{ 2, s_4_20, -2, 2, 0},
+{ 2, s_4_21, 0, 1, 0},
+{ 2, s_4_22, 0, 2, 0},
+{ 2, s_4_23, 0, 2, 0},
+{ 1, s_4_24, 0, 1, 0},
+{ 2, s_4_25, -1, 2, 0},
+{ 2, s_4_26, 0, 1, 0},
+{ 3, s_4_27, -1, 2, 0},
+{ 3, s_4_28, -2, 2, 0},
+{ 2, s_4_29, 0, 1, 0},
+{ 3, s_4_30, -1, 2, 0},
+{ 3, s_4_31, -2, 1, 0},
+{ 2, s_4_32, 0, 1, 0},
+{ 3, s_4_33, -1, 2, 0},
+{ 2, s_4_34, 0, 1, 0},
+{ 3, s_4_35, -1, 2, 0},
+{ 2, s_4_36, 0, 2, 0},
+{ 2, s_4_37, 0, 2, 0},
+{ 2, s_4_38, 0, 2, 0},
+{ 2, s_4_39, 0, 1, 0},
+{ 3, s_4_40, -1, 2, 0},
+{ 3, s_4_41, -2, 2, 0},
+{ 3, s_4_42, 0, 1, 0},
+{ 3, s_4_43, 0, 2, 0},
+{ 2, s_4_44, 0, 1, 0},
+{ 3, s_4_45, -1, 2, 0}
 };
 
 static const symbol s_5_0[1] = { 0xC0 };
@@ -274,138 +268,129 @@ static const symbol s_5_32[2] = { 0xC5, 0xD7 };
 static const symbol s_5_33[2] = { 0xCF, 0xD7 };
 static const symbol s_5_34[1] = { 0xD8 };
 static const symbol s_5_35[1] = { 0xD9 };
-
-static const struct among a_5[36] =
-{
-{ 1, s_5_0, -1, 1, 0},
-{ 2, s_5_1, 0, 1, 0},
-{ 2, s_5_2, 0, 1, 0},
-{ 1, s_5_3, -1, 1, 0},
-{ 1, s_5_4, -1, 1, 0},
-{ 2, s_5_5, 4, 1, 0},
-{ 2, s_5_6, 4, 1, 0},
-{ 2, s_5_7, -1, 1, 0},
-{ 2, s_5_8, -1, 1, 0},
-{ 3, s_5_9, 8, 1, 0},
-{ 1, s_5_10, -1, 1, 0},
-{ 2, s_5_11, 10, 1, 0},
-{ 2, s_5_12, 10, 1, 0},
-{ 3, s_5_13, 10, 1, 0},
-{ 3, s_5_14, 10, 1, 0},
-{ 4, s_5_15, 14, 1, 0},
-{ 1, s_5_16, -1, 1, 0},
-{ 2, s_5_17, 16, 1, 0},
-{ 3, s_5_18, 17, 1, 0},
-{ 2, s_5_19, 16, 1, 0},
-{ 2, s_5_20, 16, 1, 0},
-{ 2, s_5_21, -1, 1, 0},
-{ 2, s_5_22, -1, 1, 0},
-{ 3, s_5_23, 22, 1, 0},
-{ 2, s_5_24, -1, 1, 0},
-{ 2, s_5_25, -1, 1, 0},
-{ 3, s_5_26, 25, 1, 0},
-{ 1, s_5_27, -1, 1, 0},
-{ 1, s_5_28, -1, 1, 0},
-{ 2, s_5_29, 28, 1, 0},
-{ 2, s_5_30, 28, 1, 0},
-{ 1, s_5_31, -1, 1, 0},
-{ 2, s_5_32, -1, 1, 0},
-{ 2, s_5_33, -1, 1, 0},
-{ 1, s_5_34, -1, 1, 0},
-{ 1, s_5_35, -1, 1, 0}
+static const struct among a_5[36] = {
+{ 1, s_5_0, 0, 1, 0},
+{ 2, s_5_1, -1, 1, 0},
+{ 2, s_5_2, -2, 1, 0},
+{ 1, s_5_3, 0, 1, 0},
+{ 1, s_5_4, 0, 1, 0},
+{ 2, s_5_5, -1, 1, 0},
+{ 2, s_5_6, -2, 1, 0},
+{ 2, s_5_7, 0, 1, 0},
+{ 2, s_5_8, 0, 1, 0},
+{ 3, s_5_9, -1, 1, 0},
+{ 1, s_5_10, 0, 1, 0},
+{ 2, s_5_11, -1, 1, 0},
+{ 2, s_5_12, -2, 1, 0},
+{ 3, s_5_13, -3, 1, 0},
+{ 3, s_5_14, -4, 1, 0},
+{ 4, s_5_15, -1, 1, 0},
+{ 1, s_5_16, 0, 1, 0},
+{ 2, s_5_17, -1, 1, 0},
+{ 3, s_5_18, -1, 1, 0},
+{ 2, s_5_19, -3, 1, 0},
+{ 2, s_5_20, -4, 1, 0},
+{ 2, s_5_21, 0, 1, 0},
+{ 2, s_5_22, 0, 1, 0},
+{ 3, s_5_23, -1, 1, 0},
+{ 2, s_5_24, 0, 1, 0},
+{ 2, s_5_25, 0, 1, 0},
+{ 3, s_5_26, -1, 1, 0},
+{ 1, s_5_27, 0, 1, 0},
+{ 1, s_5_28, 0, 1, 0},
+{ 2, s_5_29, -1, 1, 0},
+{ 2, s_5_30, -2, 1, 0},
+{ 1, s_5_31, 0, 1, 0},
+{ 2, s_5_32, 0, 1, 0},
+{ 2, s_5_33, 0, 1, 0},
+{ 1, s_5_34, 0, 1, 0},
+{ 1, s_5_35, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 0xCF, 0xD3, 0xD4 };
 static const symbol s_6_1[4] = { 0xCF, 0xD3, 0xD4, 0xD8 };
-
-static const struct among a_6[2] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 4, s_6_1, -1, 1, 0}
+static const struct among a_6[2] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 4, s_6_1, 0, 1, 0}
 };
 
 static const symbol s_7_0[4] = { 0xC5, 0xCA, 0xDB, 0xC5 };
 static const symbol s_7_1[1] = { 0xCE };
 static const symbol s_7_2[1] = { 0xD8 };
 static const symbol s_7_3[3] = { 0xC5, 0xCA, 0xDB };
-
-static const struct among a_7[4] =
-{
-{ 4, s_7_0, -1, 1, 0},
-{ 1, s_7_1, -1, 2, 0},
-{ 1, s_7_2, -1, 3, 0},
-{ 3, s_7_3, -1, 1, 0}
+static const struct among a_7[4] = {
+{ 4, s_7_0, 0, 1, 0},
+{ 1, s_7_1, 0, 2, 0},
+{ 1, s_7_2, 0, 3, 0},
+{ 3, s_7_3, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 35, 130, 34, 18 };
 
-static const symbol s_0[] = { 0xC5 };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping(z, g_v, 192, 220, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_pV = z->c;
         {
             int ret = in_grouping(z, g_v, 192, 220, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = out_grouping(z, g_v, 192, 220, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping(z, g_v, 192, 220, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_perfective_gerund(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((25166336 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_0, 9);
+    among_var = find_among_b(z, a_0, 9, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -416,9 +401,10 @@ static int r_perfective_gerund(struct SN_env * z) {
 static int r_adjective(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((2271009 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 26)) return 0;
+    if (!find_among_b(z, a_1, 26, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -426,33 +412,37 @@ static int r_adjective(struct SN_env * z) {
 
 static int r_adjectival(struct SN_env * z) {
     int among_var;
-    {   int ret = r_adjective(z);
+    {
+        int ret = r_adjective(z);
         if (ret <= 0) return ret;
     }
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((671113216 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; }
-        among_var = find_among_b(z, a_2, 8);
-        if (!among_var) { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((671113216 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_1; goto lab0; }
+        among_var = find_among_b(z, a_2, 8, 0);
+        if (!among_var) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int m2 = z->l - z->c; (void)m2;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab2;
+                do {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab1;
                     z->c--;
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m2;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) { z->c = z->l - m1; goto lab0; }
+                    break;
+                lab1:
+                    z->c = z->l - v_2;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) { z->c = z->l - v_1; goto lab0; }
                     z->c--;
-                }
-            lab1:
-                {   int ret = slice_del(z);
+                } while (0);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -466,9 +456,10 @@ static int r_adjectival(struct SN_env * z) {
 static int r_reflexive(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 209 && z->p[z->c - 1] != 216)) return 0;
-    if (!find_among_b(z, a_3, 2)) return 0;
+    if (!find_among_b(z, a_3, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -478,27 +469,29 @@ static int r_verb(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((51443235 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_4, 46);
+    among_var = find_among_b(z, a_4, 46, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 0xC1) goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 0xD1) return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -509,9 +502,10 @@ static int r_verb(struct SN_env * z) {
 static int r_noun(struct SN_env * z) {
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((60991267 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_5, 36)) return 0;
+    if (!find_among_b(z, a_5, 36, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -520,12 +514,14 @@ static int r_noun(struct SN_env * z) {
 static int r_derivational(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 212 && z->p[z->c - 1] != 216)) return 0;
-    if (!find_among_b(z, a_6, 2)) return 0;
+    if (!find_among_b(z, a_6, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -535,12 +531,13 @@ static int r_tidy_up(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 6 || !((151011360 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_7, 4);
+    among_var = find_among_b(z, a_7, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
@@ -549,19 +546,22 @@ static int r_tidy_up(struct SN_env * z) {
             z->bra = z->c;
             if (z->c <= z->lb || z->p[z->c - 1] != 0xCE) return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (z->c <= z->lb || z->p[z->c - 1] != 0xCE) return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -570,116 +570,138 @@ static int r_tidy_up(struct SN_env * z) {
 }
 
 extern int russian_KOI8_R_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 0xA3) goto lab2;
                 z->c++;
                 z->ket = z->c;
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
+                z->c = v_3;
                 if (z->c >= z->l) goto lab1;
                 z->c++;
             }
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int mlimit4;
-        if (z->c < z->I[1]) return 0;
-        mlimit4 = z->lb; z->lb = z->I[1];
-        {   int m5 = z->l - z->c; (void)m5;
-            {   int m6 = z->l - z->c; (void)m6;
-                {   int ret = r_perfective_gerund(z);
-                    if (ret == 0) goto lab5;
+    {
+        int v_4;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_4 = z->lb; z->lb = ((SN_local *)z)->i_pV;
+        {
+            int v_5 = z->l - z->c;
+            do {
+                int v_6 = z->l - z->c;
+                {
+                    int ret = r_perfective_gerund(z);
+                    if (ret == 0) goto lab4;
                     if (ret < 0) return ret;
                 }
-                goto lab4;
-            lab5:
-                z->c = z->l - m6;
-                {   int m7 = z->l - z->c; (void)m7;
-                    {   int ret = r_reflexive(z);
-                        if (ret == 0) { z->c = z->l - m7; goto lab6; }
+                break;
+            lab4:
+                z->c = z->l - v_6;
+                {
+                    int v_7 = z->l - z->c;
+                    {
+                        int ret = r_reflexive(z);
+                        if (ret == 0) { z->c = z->l - v_7; goto lab5; }
                         if (ret < 0) return ret;
                     }
-                lab6:
+                lab5:
                     ;
                 }
-                {   int m8 = z->l - z->c; (void)m8;
-                    {   int ret = r_adjectival(z);
-                        if (ret == 0) goto lab8;
+                do {
+                    int v_8 = z->l - z->c;
+                    {
+                        int ret = r_adjectival(z);
+                        if (ret == 0) goto lab6;
                         if (ret < 0) return ret;
                     }
-                    goto lab7;
-                lab8:
-                    z->c = z->l - m8;
-                    {   int ret = r_verb(z);
-                        if (ret == 0) goto lab9;
+                    break;
+                lab6:
+                    z->c = z->l - v_8;
+                    {
+                        int ret = r_verb(z);
+                        if (ret == 0) goto lab7;
                         if (ret < 0) return ret;
                     }
-                    goto lab7;
-                lab9:
-                    z->c = z->l - m8;
-                    {   int ret = r_noun(z);
+                    break;
+                lab7:
+                    z->c = z->l - v_8;
+                    {
+                        int ret = r_noun(z);
                         if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                }
-            lab7:
-                ;
-            }
-        lab4:
+                } while (0);
+            } while (0);
         lab3:
-            z->c = z->l - m5;
+            z->c = z->l - v_5;
         }
-        {   int m9 = z->l - z->c; (void)m9;
+        {
+            int v_9 = z->l - z->c;
             z->ket = z->c;
-            if (z->c <= z->lb || z->p[z->c - 1] != 0xC9) { z->c = z->l - m9; goto lab10; }
+            if (z->c <= z->lb || z->p[z->c - 1] != 0xC9) { z->c = z->l - v_9; goto lab8; }
             z->c--;
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-        lab10:
+        lab8:
             ;
         }
-        {   int m10 = z->l - z->c; (void)m10;
-            {   int ret = r_derivational(z);
+        {
+            int v_10 = z->l - z->c;
+            {
+                int ret = r_derivational(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m10;
+            z->c = z->l - v_10;
         }
-        {   int m11 = z->l - z->c; (void)m11;
-            {   int ret = r_tidy_up(z);
+        {
+            int v_11 = z->l - z->c;
+            {
+                int ret = r_tidy_up(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m11;
+            z->c = z->l - v_11;
         }
-        z->lb = mlimit4;
+        z->lb = v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * russian_KOI8_R_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * russian_KOI8_R_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void russian_KOI8_R_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void russian_KOI8_R_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 1f00dd95c89e5ebfcf5e173b4f94d064026b1272..bd039b57474544961e57ddf5b2a42e2ea5f30898 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from arabic.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_arabic.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    unsigned char b_is_defined;
+    unsigned char b_is_verb;
+    unsigned char b_is_noun;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int arabic_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_Checks1(struct SN_env * z);
 static int r_Normalize_pre(struct SN_env * z);
 static int r_Normalize_post(struct SN_env * z);
@@ -30,18 +44,81 @@ static int r_Prefix_Step3b_Noun(struct SN_env * z);
 static int r_Prefix_Step3a_Noun(struct SN_env * z);
 static int r_Prefix_Step2(struct SN_env * z);
 static int r_Prefix_Step1(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * arabic_UTF_8_create_env(void);
-extern void arabic_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { '0' };
+static const symbol s_1[] = { '1' };
+static const symbol s_2[] = { '2' };
+static const symbol s_3[] = { '3' };
+static const symbol s_4[] = { '4' };
+static const symbol s_5[] = { '5' };
+static const symbol s_6[] = { '6' };
+static const symbol s_7[] = { '7' };
+static const symbol s_8[] = { '8' };
+static const symbol s_9[] = { '9' };
+static const symbol s_10[] = { 0xD8, 0xA1 };
+static const symbol s_11[] = { 0xD8, 0xA3 };
+static const symbol s_12[] = { 0xD8, 0xA5 };
+static const symbol s_13[] = { 0xD8, 0xA6 };
+static const symbol s_14[] = { 0xD8, 0xA2 };
+static const symbol s_15[] = { 0xD8, 0xA4 };
+static const symbol s_16[] = { 0xD8, 0xA7 };
+static const symbol s_17[] = { 0xD8, 0xA8 };
+static const symbol s_18[] = { 0xD8, 0xA9 };
+static const symbol s_19[] = { 0xD8, 0xAA };
+static const symbol s_20[] = { 0xD8, 0xAB };
+static const symbol s_21[] = { 0xD8, 0xAC };
+static const symbol s_22[] = { 0xD8, 0xAD };
+static const symbol s_23[] = { 0xD8, 0xAE };
+static const symbol s_24[] = { 0xD8, 0xAF };
+static const symbol s_25[] = { 0xD8, 0xB0 };
+static const symbol s_26[] = { 0xD8, 0xB1 };
+static const symbol s_27[] = { 0xD8, 0xB2 };
+static const symbol s_28[] = { 0xD8, 0xB3 };
+static const symbol s_29[] = { 0xD8, 0xB4 };
+static const symbol s_30[] = { 0xD8, 0xB5 };
+static const symbol s_31[] = { 0xD8, 0xB6 };
+static const symbol s_32[] = { 0xD8, 0xB7 };
+static const symbol s_33[] = { 0xD8, 0xB8 };
+static const symbol s_34[] = { 0xD8, 0xB9 };
+static const symbol s_35[] = { 0xD8, 0xBA };
+static const symbol s_36[] = { 0xD9, 0x81 };
+static const symbol s_37[] = { 0xD9, 0x82 };
+static const symbol s_38[] = { 0xD9, 0x83 };
+static const symbol s_39[] = { 0xD9, 0x84 };
+static const symbol s_40[] = { 0xD9, 0x85 };
+static const symbol s_41[] = { 0xD9, 0x86 };
+static const symbol s_42[] = { 0xD9, 0x87 };
+static const symbol s_43[] = { 0xD9, 0x88 };
+static const symbol s_44[] = { 0xD9, 0x89 };
+static const symbol s_45[] = { 0xD9, 0x8A };
+static const symbol s_46[] = { 0xD9, 0x84, 0xD8, 0xA7 };
+static const symbol s_47[] = { 0xD9, 0x84, 0xD8, 0xA3 };
+static const symbol s_48[] = { 0xD9, 0x84, 0xD8, 0xA5 };
+static const symbol s_49[] = { 0xD9, 0x84, 0xD8, 0xA2 };
+static const symbol s_50[] = { 0xD8, 0xA1 };
+static const symbol s_51[] = { 0xD8, 0xA7 };
+static const symbol s_52[] = { 0xD9, 0x88 };
+static const symbol s_53[] = { 0xD9, 0x8A };
+static const symbol s_54[] = { 0xD8, 0xA3 };
+static const symbol s_55[] = { 0xD8, 0xA2 };
+static const symbol s_56[] = { 0xD8, 0xA7 };
+static const symbol s_57[] = { 0xD8, 0xA5 };
+static const symbol s_58[] = { 0xD8, 0xA7 };
+static const symbol s_59[] = { 0xD8, 0xA8 };
+static const symbol s_60[] = { 0xD9, 0x83 };
+static const symbol s_61[] = { 0xD9, 0x8A };
+static const symbol s_62[] = { 0xD8, 0xAA };
+static const symbol s_63[] = { 0xD9, 0x86 };
+static const symbol s_64[] = { 0xD8, 0xA3 };
+static const symbol s_65[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
+static const symbol s_66[] = { 0xD9, 0x86 };
+static const symbol s_67[] = { 0xD8, 0xA7, 0xD8, 0xAA };
+static const symbol s_68[] = { 0xD8, 0xAA };
+static const symbol s_69[] = { 0xD8, 0xA9 };
+static const symbol s_70[] = { 0xD9, 0x8A };
+static const symbol s_71[] = { 0xD9, 0x89 };
+static const symbol s_72[] = { 0xD9, 0x8A };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 0xD9, 0x80 };
 static const symbol s_0_1[2] = { 0xD9, 0x8B };
 static const symbol s_0_2[2] = { 0xD9, 0x8C };
@@ -186,153 +263,151 @@ static const symbol s_0_140[3] = { 0xEF, 0xBB, 0xB9 };
 static const symbol s_0_141[3] = { 0xEF, 0xBB, 0xBA };
 static const symbol s_0_142[3] = { 0xEF, 0xBB, 0xBB };
 static const symbol s_0_143[3] = { 0xEF, 0xBB, 0xBC };
-
-static const struct among a_0[144] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 1, 0},
-{ 2, s_0_2, -1, 1, 0},
-{ 2, s_0_3, -1, 1, 0},
-{ 2, s_0_4, -1, 1, 0},
-{ 2, s_0_5, -1, 1, 0},
-{ 2, s_0_6, -1, 1, 0},
-{ 2, s_0_7, -1, 1, 0},
-{ 2, s_0_8, -1, 1, 0},
-{ 2, s_0_9, -1, 2, 0},
-{ 2, s_0_10, -1, 3, 0},
-{ 2, s_0_11, -1, 4, 0},
-{ 2, s_0_12, -1, 5, 0},
-{ 2, s_0_13, -1, 6, 0},
-{ 2, s_0_14, -1, 7, 0},
-{ 2, s_0_15, -1, 8, 0},
-{ 2, s_0_16, -1, 9, 0},
-{ 2, s_0_17, -1, 10, 0},
-{ 2, s_0_18, -1, 11, 0},
-{ 3, s_0_19, -1, 12, 0},
-{ 3, s_0_20, -1, 16, 0},
-{ 3, s_0_21, -1, 16, 0},
-{ 3, s_0_22, -1, 13, 0},
-{ 3, s_0_23, -1, 13, 0},
-{ 3, s_0_24, -1, 17, 0},
-{ 3, s_0_25, -1, 17, 0},
-{ 3, s_0_26, -1, 14, 0},
-{ 3, s_0_27, -1, 14, 0},
-{ 3, s_0_28, -1, 15, 0},
-{ 3, s_0_29, -1, 15, 0},
-{ 3, s_0_30, -1, 15, 0},
-{ 3, s_0_31, -1, 15, 0},
-{ 3, s_0_32, -1, 18, 0},
-{ 3, s_0_33, -1, 18, 0},
-{ 3, s_0_34, -1, 19, 0},
-{ 3, s_0_35, -1, 19, 0},
-{ 3, s_0_36, -1, 19, 0},
-{ 3, s_0_37, -1, 19, 0},
-{ 3, s_0_38, -1, 20, 0},
-{ 3, s_0_39, -1, 20, 0},
-{ 3, s_0_40, -1, 21, 0},
-{ 3, s_0_41, -1, 21, 0},
-{ 3, s_0_42, -1, 21, 0},
-{ 3, s_0_43, -1, 21, 0},
-{ 3, s_0_44, -1, 22, 0},
-{ 3, s_0_45, -1, 22, 0},
-{ 3, s_0_46, -1, 22, 0},
-{ 3, s_0_47, -1, 22, 0},
-{ 3, s_0_48, -1, 23, 0},
-{ 3, s_0_49, -1, 23, 0},
-{ 3, s_0_50, -1, 23, 0},
-{ 3, s_0_51, -1, 23, 0},
-{ 3, s_0_52, -1, 24, 0},
-{ 3, s_0_53, -1, 24, 0},
-{ 3, s_0_54, -1, 24, 0},
-{ 3, s_0_55, -1, 24, 0},
-{ 3, s_0_56, -1, 25, 0},
-{ 3, s_0_57, -1, 25, 0},
-{ 3, s_0_58, -1, 25, 0},
-{ 3, s_0_59, -1, 25, 0},
-{ 3, s_0_60, -1, 26, 0},
-{ 3, s_0_61, -1, 26, 0},
-{ 3, s_0_62, -1, 27, 0},
-{ 3, s_0_63, -1, 27, 0},
-{ 3, s_0_64, -1, 28, 0},
-{ 3, s_0_65, -1, 28, 0},
-{ 3, s_0_66, -1, 29, 0},
-{ 3, s_0_67, -1, 29, 0},
-{ 3, s_0_68, -1, 30, 0},
-{ 3, s_0_69, -1, 30, 0},
-{ 3, s_0_70, -1, 30, 0},
-{ 3, s_0_71, -1, 30, 0},
-{ 3, s_0_72, -1, 31, 0},
-{ 3, s_0_73, -1, 31, 0},
-{ 3, s_0_74, -1, 31, 0},
-{ 3, s_0_75, -1, 31, 0},
-{ 3, s_0_76, -1, 32, 0},
-{ 3, s_0_77, -1, 32, 0},
-{ 3, s_0_78, -1, 32, 0},
-{ 3, s_0_79, -1, 32, 0},
-{ 3, s_0_80, -1, 33, 0},
-{ 3, s_0_81, -1, 33, 0},
-{ 3, s_0_82, -1, 33, 0},
-{ 3, s_0_83, -1, 33, 0},
-{ 3, s_0_84, -1, 34, 0},
-{ 3, s_0_85, -1, 34, 0},
-{ 3, s_0_86, -1, 34, 0},
-{ 3, s_0_87, -1, 34, 0},
-{ 3, s_0_88, -1, 35, 0},
-{ 3, s_0_89, -1, 35, 0},
-{ 3, s_0_90, -1, 35, 0},
-{ 3, s_0_91, -1, 35, 0},
-{ 3, s_0_92, -1, 36, 0},
-{ 3, s_0_93, -1, 36, 0},
-{ 3, s_0_94, -1, 36, 0},
-{ 3, s_0_95, -1, 36, 0},
-{ 3, s_0_96, -1, 37, 0},
-{ 3, s_0_97, -1, 37, 0},
-{ 3, s_0_98, -1, 37, 0},
-{ 3, s_0_99, -1, 37, 0},
-{ 3, s_0_100, -1, 38, 0},
-{ 3, s_0_101, -1, 38, 0},
-{ 3, s_0_102, -1, 38, 0},
-{ 3, s_0_103, -1, 38, 0},
-{ 3, s_0_104, -1, 39, 0},
-{ 3, s_0_105, -1, 39, 0},
-{ 3, s_0_106, -1, 39, 0},
-{ 3, s_0_107, -1, 39, 0},
-{ 3, s_0_108, -1, 40, 0},
-{ 3, s_0_109, -1, 40, 0},
-{ 3, s_0_110, -1, 40, 0},
-{ 3, s_0_111, -1, 40, 0},
-{ 3, s_0_112, -1, 41, 0},
-{ 3, s_0_113, -1, 41, 0},
-{ 3, s_0_114, -1, 41, 0},
-{ 3, s_0_115, -1, 41, 0},
-{ 3, s_0_116, -1, 42, 0},
-{ 3, s_0_117, -1, 42, 0},
-{ 3, s_0_118, -1, 42, 0},
-{ 3, s_0_119, -1, 42, 0},
-{ 3, s_0_120, -1, 43, 0},
-{ 3, s_0_121, -1, 43, 0},
-{ 3, s_0_122, -1, 43, 0},
-{ 3, s_0_123, -1, 43, 0},
-{ 3, s_0_124, -1, 44, 0},
-{ 3, s_0_125, -1, 44, 0},
-{ 3, s_0_126, -1, 44, 0},
-{ 3, s_0_127, -1, 44, 0},
-{ 3, s_0_128, -1, 45, 0},
-{ 3, s_0_129, -1, 45, 0},
-{ 3, s_0_130, -1, 46, 0},
-{ 3, s_0_131, -1, 46, 0},
-{ 3, s_0_132, -1, 47, 0},
-{ 3, s_0_133, -1, 47, 0},
-{ 3, s_0_134, -1, 47, 0},
-{ 3, s_0_135, -1, 47, 0},
-{ 3, s_0_136, -1, 51, 0},
-{ 3, s_0_137, -1, 51, 0},
-{ 3, s_0_138, -1, 49, 0},
-{ 3, s_0_139, -1, 49, 0},
-{ 3, s_0_140, -1, 50, 0},
-{ 3, s_0_141, -1, 50, 0},
-{ 3, s_0_142, -1, 48, 0},
-{ 3, s_0_143, -1, 48, 0}
+static const struct among a_0[144] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 1, 0},
+{ 2, s_0_2, 0, 1, 0},
+{ 2, s_0_3, 0, 1, 0},
+{ 2, s_0_4, 0, 1, 0},
+{ 2, s_0_5, 0, 1, 0},
+{ 2, s_0_6, 0, 1, 0},
+{ 2, s_0_7, 0, 1, 0},
+{ 2, s_0_8, 0, 1, 0},
+{ 2, s_0_9, 0, 2, 0},
+{ 2, s_0_10, 0, 3, 0},
+{ 2, s_0_11, 0, 4, 0},
+{ 2, s_0_12, 0, 5, 0},
+{ 2, s_0_13, 0, 6, 0},
+{ 2, s_0_14, 0, 7, 0},
+{ 2, s_0_15, 0, 8, 0},
+{ 2, s_0_16, 0, 9, 0},
+{ 2, s_0_17, 0, 10, 0},
+{ 2, s_0_18, 0, 11, 0},
+{ 3, s_0_19, 0, 12, 0},
+{ 3, s_0_20, 0, 16, 0},
+{ 3, s_0_21, 0, 16, 0},
+{ 3, s_0_22, 0, 13, 0},
+{ 3, s_0_23, 0, 13, 0},
+{ 3, s_0_24, 0, 17, 0},
+{ 3, s_0_25, 0, 17, 0},
+{ 3, s_0_26, 0, 14, 0},
+{ 3, s_0_27, 0, 14, 0},
+{ 3, s_0_28, 0, 15, 0},
+{ 3, s_0_29, 0, 15, 0},
+{ 3, s_0_30, 0, 15, 0},
+{ 3, s_0_31, 0, 15, 0},
+{ 3, s_0_32, 0, 18, 0},
+{ 3, s_0_33, 0, 18, 0},
+{ 3, s_0_34, 0, 19, 0},
+{ 3, s_0_35, 0, 19, 0},
+{ 3, s_0_36, 0, 19, 0},
+{ 3, s_0_37, 0, 19, 0},
+{ 3, s_0_38, 0, 20, 0},
+{ 3, s_0_39, 0, 20, 0},
+{ 3, s_0_40, 0, 21, 0},
+{ 3, s_0_41, 0, 21, 0},
+{ 3, s_0_42, 0, 21, 0},
+{ 3, s_0_43, 0, 21, 0},
+{ 3, s_0_44, 0, 22, 0},
+{ 3, s_0_45, 0, 22, 0},
+{ 3, s_0_46, 0, 22, 0},
+{ 3, s_0_47, 0, 22, 0},
+{ 3, s_0_48, 0, 23, 0},
+{ 3, s_0_49, 0, 23, 0},
+{ 3, s_0_50, 0, 23, 0},
+{ 3, s_0_51, 0, 23, 0},
+{ 3, s_0_52, 0, 24, 0},
+{ 3, s_0_53, 0, 24, 0},
+{ 3, s_0_54, 0, 24, 0},
+{ 3, s_0_55, 0, 24, 0},
+{ 3, s_0_56, 0, 25, 0},
+{ 3, s_0_57, 0, 25, 0},
+{ 3, s_0_58, 0, 25, 0},
+{ 3, s_0_59, 0, 25, 0},
+{ 3, s_0_60, 0, 26, 0},
+{ 3, s_0_61, 0, 26, 0},
+{ 3, s_0_62, 0, 27, 0},
+{ 3, s_0_63, 0, 27, 0},
+{ 3, s_0_64, 0, 28, 0},
+{ 3, s_0_65, 0, 28, 0},
+{ 3, s_0_66, 0, 29, 0},
+{ 3, s_0_67, 0, 29, 0},
+{ 3, s_0_68, 0, 30, 0},
+{ 3, s_0_69, 0, 30, 0},
+{ 3, s_0_70, 0, 30, 0},
+{ 3, s_0_71, 0, 30, 0},
+{ 3, s_0_72, 0, 31, 0},
+{ 3, s_0_73, 0, 31, 0},
+{ 3, s_0_74, 0, 31, 0},
+{ 3, s_0_75, 0, 31, 0},
+{ 3, s_0_76, 0, 32, 0},
+{ 3, s_0_77, 0, 32, 0},
+{ 3, s_0_78, 0, 32, 0},
+{ 3, s_0_79, 0, 32, 0},
+{ 3, s_0_80, 0, 33, 0},
+{ 3, s_0_81, 0, 33, 0},
+{ 3, s_0_82, 0, 33, 0},
+{ 3, s_0_83, 0, 33, 0},
+{ 3, s_0_84, 0, 34, 0},
+{ 3, s_0_85, 0, 34, 0},
+{ 3, s_0_86, 0, 34, 0},
+{ 3, s_0_87, 0, 34, 0},
+{ 3, s_0_88, 0, 35, 0},
+{ 3, s_0_89, 0, 35, 0},
+{ 3, s_0_90, 0, 35, 0},
+{ 3, s_0_91, 0, 35, 0},
+{ 3, s_0_92, 0, 36, 0},
+{ 3, s_0_93, 0, 36, 0},
+{ 3, s_0_94, 0, 36, 0},
+{ 3, s_0_95, 0, 36, 0},
+{ 3, s_0_96, 0, 37, 0},
+{ 3, s_0_97, 0, 37, 0},
+{ 3, s_0_98, 0, 37, 0},
+{ 3, s_0_99, 0, 37, 0},
+{ 3, s_0_100, 0, 38, 0},
+{ 3, s_0_101, 0, 38, 0},
+{ 3, s_0_102, 0, 38, 0},
+{ 3, s_0_103, 0, 38, 0},
+{ 3, s_0_104, 0, 39, 0},
+{ 3, s_0_105, 0, 39, 0},
+{ 3, s_0_106, 0, 39, 0},
+{ 3, s_0_107, 0, 39, 0},
+{ 3, s_0_108, 0, 40, 0},
+{ 3, s_0_109, 0, 40, 0},
+{ 3, s_0_110, 0, 40, 0},
+{ 3, s_0_111, 0, 40, 0},
+{ 3, s_0_112, 0, 41, 0},
+{ 3, s_0_113, 0, 41, 0},
+{ 3, s_0_114, 0, 41, 0},
+{ 3, s_0_115, 0, 41, 0},
+{ 3, s_0_116, 0, 42, 0},
+{ 3, s_0_117, 0, 42, 0},
+{ 3, s_0_118, 0, 42, 0},
+{ 3, s_0_119, 0, 42, 0},
+{ 3, s_0_120, 0, 43, 0},
+{ 3, s_0_121, 0, 43, 0},
+{ 3, s_0_122, 0, 43, 0},
+{ 3, s_0_123, 0, 43, 0},
+{ 3, s_0_124, 0, 44, 0},
+{ 3, s_0_125, 0, 44, 0},
+{ 3, s_0_126, 0, 44, 0},
+{ 3, s_0_127, 0, 44, 0},
+{ 3, s_0_128, 0, 45, 0},
+{ 3, s_0_129, 0, 45, 0},
+{ 3, s_0_130, 0, 46, 0},
+{ 3, s_0_131, 0, 46, 0},
+{ 3, s_0_132, 0, 47, 0},
+{ 3, s_0_133, 0, 47, 0},
+{ 3, s_0_134, 0, 47, 0},
+{ 3, s_0_135, 0, 47, 0},
+{ 3, s_0_136, 0, 51, 0},
+{ 3, s_0_137, 0, 51, 0},
+{ 3, s_0_138, 0, 49, 0},
+{ 3, s_0_139, 0, 49, 0},
+{ 3, s_0_140, 0, 50, 0},
+{ 3, s_0_141, 0, 50, 0},
+{ 3, s_0_142, 0, 48, 0},
+{ 3, s_0_143, 0, 48, 0}
 };
 
 static const symbol s_1_0[2] = { 0xD8, 0xA2 };
@@ -340,14 +415,12 @@ static const symbol s_1_1[2] = { 0xD8, 0xA3 };
 static const symbol s_1_2[2] = { 0xD8, 0xA4 };
 static const symbol s_1_3[2] = { 0xD8, 0xA5 };
 static const symbol s_1_4[2] = { 0xD8, 0xA6 };
-
-static const struct among a_1[5] =
-{
-{ 2, s_1_0, -1, 1, 0},
-{ 2, s_1_1, -1, 1, 0},
-{ 2, s_1_2, -1, 1, 0},
-{ 2, s_1_3, -1, 1, 0},
-{ 2, s_1_4, -1, 1, 0}
+static const struct among a_1[5] = {
+{ 2, s_1_0, 0, 1, 0},
+{ 2, s_1_1, 0, 1, 0},
+{ 2, s_1_2, 0, 1, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 2, s_1_4, 0, 1, 0}
 };
 
 static const symbol s_2_0[2] = { 0xD8, 0xA2 };
@@ -355,27 +428,23 @@ static const symbol s_2_1[2] = { 0xD8, 0xA3 };
 static const symbol s_2_2[2] = { 0xD8, 0xA4 };
 static const symbol s_2_3[2] = { 0xD8, 0xA5 };
 static const symbol s_2_4[2] = { 0xD8, 0xA6 };
-
-static const struct among a_2[5] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 2, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 2, 0},
-{ 2, s_2_3, -1, 1, 0},
-{ 2, s_2_4, -1, 3, 0}
+static const struct among a_2[5] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 2, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 2, 0},
+{ 2, s_2_3, 0, 1, 0},
+{ 2, s_2_4, 0, 3, 0}
 };
 
 static const symbol s_3_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_3_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_3_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_3_3[4] = { 0xD9, 0x84, 0xD9, 0x84 };
-
-static const struct among a_3[4] =
-{
-{ 4, s_3_0, -1, 2, 0},
-{ 6, s_3_1, -1, 1, 0},
-{ 6, s_3_2, -1, 1, 0},
-{ 4, s_3_3, -1, 2, 0}
+static const struct among a_3[4] = {
+{ 4, s_3_0, 0, 2, 0},
+{ 6, s_3_1, 0, 1, 0},
+{ 6, s_3_2, 0, 1, 0},
+{ 4, s_3_3, 0, 2, 0}
 };
 
 static const symbol s_4_0[4] = { 0xD8, 0xA3, 0xD8, 0xA2 };
@@ -383,73 +452,61 @@ static const symbol s_4_1[4] = { 0xD8, 0xA3, 0xD8, 0xA3 };
 static const symbol s_4_2[4] = { 0xD8, 0xA3, 0xD8, 0xA4 };
 static const symbol s_4_3[4] = { 0xD8, 0xA3, 0xD8, 0xA5 };
 static const symbol s_4_4[4] = { 0xD8, 0xA3, 0xD8, 0xA7 };
-
-static const struct among a_4[5] =
-{
-{ 4, s_4_0, -1, 2, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 4, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 4, 0},
-{ 4, s_4_4, -1, 3, 0}
+static const struct among a_4[5] = {
+{ 4, s_4_0, 0, 2, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 4, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 4, 0},
+{ 4, s_4_4, 0, 3, 0}
 };
 
 static const symbol s_5_0[2] = { 0xD9, 0x81 };
 static const symbol s_5_1[2] = { 0xD9, 0x88 };
-
-static const struct among a_5[2] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 1, 0}
+static const struct among a_5[2] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 2, s_5_1, 0, 1, 0}
 };
 
 static const symbol s_6_0[4] = { 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_6_1[6] = { 0xD8, 0xA8, 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_6_2[6] = { 0xD9, 0x83, 0xD8, 0xA7, 0xD9, 0x84 };
 static const symbol s_6_3[4] = { 0xD9, 0x84, 0xD9, 0x84 };
-
-static const struct among a_6[4] =
-{
-{ 4, s_6_0, -1, 2, 0},
-{ 6, s_6_1, -1, 1, 0},
-{ 6, s_6_2, -1, 1, 0},
-{ 4, s_6_3, -1, 2, 0}
+static const struct among a_6[4] = {
+{ 4, s_6_0, 0, 2, 0},
+{ 6, s_6_1, 0, 1, 0},
+{ 6, s_6_2, 0, 1, 0},
+{ 4, s_6_3, 0, 2, 0}
 };
 
 static const symbol s_7_0[2] = { 0xD8, 0xA8 };
 static const symbol s_7_1[4] = { 0xD8, 0xA8, 0xD8, 0xA7 };
 static const symbol s_7_2[4] = { 0xD8, 0xA8, 0xD8, 0xA8 };
 static const symbol s_7_3[4] = { 0xD9, 0x83, 0xD9, 0x83 };
-
-static const struct among a_7[4] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 4, s_7_1, 0, -1, 0},
-{ 4, s_7_2, 0, 2, 0},
-{ 4, s_7_3, -1, 3, 0}
+static const struct among a_7[4] = {
+{ 2, s_7_0, 0, 1, 0},
+{ 4, s_7_1, -1, -1, 0},
+{ 4, s_7_2, -2, 2, 0},
+{ 4, s_7_3, 0, 3, 0}
 };
 
 static const symbol s_8_0[4] = { 0xD8, 0xB3, 0xD8, 0xA3 };
 static const symbol s_8_1[4] = { 0xD8, 0xB3, 0xD8, 0xAA };
 static const symbol s_8_2[4] = { 0xD8, 0xB3, 0xD9, 0x86 };
 static const symbol s_8_3[4] = { 0xD8, 0xB3, 0xD9, 0x8A };
-
-static const struct among a_8[4] =
-{
-{ 4, s_8_0, -1, 4, 0},
-{ 4, s_8_1, -1, 2, 0},
-{ 4, s_8_2, -1, 3, 0},
-{ 4, s_8_3, -1, 1, 0}
+static const struct among a_8[4] = {
+{ 4, s_8_0, 0, 4, 0},
+{ 4, s_8_1, 0, 2, 0},
+{ 4, s_8_2, 0, 3, 0},
+{ 4, s_8_3, 0, 1, 0}
 };
 
 static const symbol s_9_0[6] = { 0xD8, 0xAA, 0xD8, 0xB3, 0xD8, 0xAA };
 static const symbol s_9_1[6] = { 0xD9, 0x86, 0xD8, 0xB3, 0xD8, 0xAA };
 static const symbol s_9_2[6] = { 0xD9, 0x8A, 0xD8, 0xB3, 0xD8, 0xAA };
-
-static const struct among a_9[3] =
-{
-{ 6, s_9_0, -1, 1, 0},
-{ 6, s_9_1, -1, 1, 0},
-{ 6, s_9_2, -1, 1, 0}
+static const struct among a_9[3] = {
+{ 6, s_9_0, 0, 1, 0},
+{ 6, s_9_1, 0, 1, 0},
+{ 6, s_9_2, 0, 1, 0}
 };
 
 static const symbol s_10_0[2] = { 0xD9, 0x83 };
@@ -462,559 +519,496 @@ static const symbol s_10_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 };
 static const symbol s_10_7[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 };
 static const symbol s_10_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
 static const symbol s_10_9[4] = { 0xD9, 0x87, 0xD8, 0xA7 };
-
-static const struct among a_10[10] =
-{
-{ 2, s_10_0, -1, 1, 0},
-{ 4, s_10_1, -1, 2, 0},
-{ 4, s_10_2, -1, 2, 0},
-{ 4, s_10_3, -1, 2, 0},
-{ 2, s_10_4, -1, 1, 0},
-{ 2, s_10_5, -1, 1, 0},
-{ 6, s_10_6, -1, 3, 0},
-{ 6, s_10_7, -1, 3, 0},
-{ 4, s_10_8, -1, 2, 0},
-{ 4, s_10_9, -1, 2, 0}
+static const struct among a_10[10] = {
+{ 2, s_10_0, 0, 1, 0},
+{ 4, s_10_1, 0, 2, 0},
+{ 4, s_10_2, 0, 2, 0},
+{ 4, s_10_3, 0, 2, 0},
+{ 2, s_10_4, 0, 1, 0},
+{ 2, s_10_5, 0, 1, 0},
+{ 6, s_10_6, 0, 3, 0},
+{ 6, s_10_7, 0, 3, 0},
+{ 4, s_10_8, 0, 2, 0},
+{ 4, s_10_9, 0, 2, 0}
 };
 
-static const symbol s_11_0[2] = { 0xD9, 0x86 };
-
-static const struct among a_11[1] =
-{
-{ 2, s_11_0, -1, 1, 0}
+static const symbol s_11_0[2] = { 0xD9, 0x88 };
+static const symbol s_11_1[2] = { 0xD9, 0x8A };
+static const symbol s_11_2[2] = { 0xD8, 0xA7 };
+static const struct among a_11[3] = {
+{ 2, s_11_0, 0, 1, 0},
+{ 2, s_11_1, 0, 1, 0},
+{ 2, s_11_2, 0, 1, 0}
 };
 
-static const symbol s_12_0[2] = { 0xD9, 0x88 };
-static const symbol s_12_1[2] = { 0xD9, 0x8A };
-static const symbol s_12_2[2] = { 0xD8, 0xA7 };
-
-static const struct among a_12[3] =
-{
-{ 2, s_12_0, -1, 1, 0},
-{ 2, s_12_1, -1, 1, 0},
-{ 2, s_12_2, -1, 1, 0}
+static const symbol s_12_0[2] = { 0xD9, 0x83 };
+static const symbol s_12_1[4] = { 0xD9, 0x83, 0xD9, 0x85 };
+static const symbol s_12_2[4] = { 0xD9, 0x87, 0xD9, 0x85 };
+static const symbol s_12_3[4] = { 0xD9, 0x83, 0xD9, 0x86 };
+static const symbol s_12_4[4] = { 0xD9, 0x87, 0xD9, 0x86 };
+static const symbol s_12_5[2] = { 0xD9, 0x87 };
+static const symbol s_12_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88 };
+static const symbol s_12_7[4] = { 0xD9, 0x86, 0xD9, 0x8A };
+static const symbol s_12_8[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 };
+static const symbol s_12_9[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 };
+static const symbol s_12_10[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
+static const symbol s_12_11[4] = { 0xD9, 0x87, 0xD8, 0xA7 };
+static const struct among a_12[12] = {
+{ 2, s_12_0, 0, 1, 0},
+{ 4, s_12_1, 0, 2, 0},
+{ 4, s_12_2, 0, 2, 0},
+{ 4, s_12_3, 0, 2, 0},
+{ 4, s_12_4, 0, 2, 0},
+{ 2, s_12_5, 0, 1, 0},
+{ 6, s_12_6, 0, 3, 0},
+{ 4, s_12_7, 0, 2, 0},
+{ 6, s_12_8, 0, 3, 0},
+{ 6, s_12_9, 0, 3, 0},
+{ 4, s_12_10, 0, 2, 0},
+{ 4, s_12_11, 0, 2, 0}
 };
 
-static const symbol s_13_0[4] = { 0xD8, 0xA7, 0xD8, 0xAA };
-
-static const struct among a_13[1] =
-{
-{ 4, s_13_0, -1, 1, 0}
+static const symbol s_13_0[2] = { 0xD9, 0x86 };
+static const symbol s_13_1[4] = { 0xD9, 0x88, 0xD9, 0x86 };
+static const symbol s_13_2[4] = { 0xD9, 0x8A, 0xD9, 0x86 };
+static const symbol s_13_3[4] = { 0xD8, 0xA7, 0xD9, 0x86 };
+static const symbol s_13_4[4] = { 0xD8, 0xAA, 0xD9, 0x86 };
+static const symbol s_13_5[2] = { 0xD9, 0x8A };
+static const symbol s_13_6[2] = { 0xD8, 0xA7 };
+static const symbol s_13_7[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7 };
+static const symbol s_13_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
+static const symbol s_13_9[4] = { 0xD8, 0xAA, 0xD8, 0xA7 };
+static const symbol s_13_10[2] = { 0xD8, 0xAA };
+static const struct among a_13[11] = {
+{ 2, s_13_0, 0, 1, 0},
+{ 4, s_13_1, -1, 3, 0},
+{ 4, s_13_2, -2, 3, 0},
+{ 4, s_13_3, -3, 3, 0},
+{ 4, s_13_4, -4, 2, 0},
+{ 2, s_13_5, 0, 1, 0},
+{ 2, s_13_6, 0, 1, 0},
+{ 6, s_13_7, -1, 4, 0},
+{ 4, s_13_8, -2, 2, 0},
+{ 4, s_13_9, -3, 2, 0},
+{ 2, s_13_10, 0, 1, 0}
 };
 
-static const symbol s_14_0[2] = { 0xD8, 0xAA };
-
-static const struct among a_14[1] =
-{
-{ 2, s_14_0, -1, 1, 0}
-};
-
-static const symbol s_15_0[2] = { 0xD8, 0xA9 };
-
-static const struct among a_15[1] =
-{
-{ 2, s_15_0, -1, 1, 0}
+static const symbol s_14_0[4] = { 0xD8, 0xAA, 0xD9, 0x85 };
+static const symbol s_14_1[4] = { 0xD9, 0x88, 0xD8, 0xA7 };
+static const struct among a_14[2] = {
+{ 4, s_14_0, 0, 1, 0},
+{ 4, s_14_1, 0, 1, 0}
 };
 
-static const symbol s_16_0[2] = { 0xD9, 0x8A };
-
-static const struct among a_16[1] =
-{
-{ 2, s_16_0, -1, 1, 0}
-};
-
-static const symbol s_17_0[2] = { 0xD9, 0x83 };
-static const symbol s_17_1[4] = { 0xD9, 0x83, 0xD9, 0x85 };
-static const symbol s_17_2[4] = { 0xD9, 0x87, 0xD9, 0x85 };
-static const symbol s_17_3[4] = { 0xD9, 0x83, 0xD9, 0x86 };
-static const symbol s_17_4[4] = { 0xD9, 0x87, 0xD9, 0x86 };
-static const symbol s_17_5[2] = { 0xD9, 0x87 };
-static const symbol s_17_6[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x88 };
-static const symbol s_17_7[4] = { 0xD9, 0x86, 0xD9, 0x8A };
-static const symbol s_17_8[6] = { 0xD9, 0x83, 0xD9, 0x85, 0xD8, 0xA7 };
-static const symbol s_17_9[6] = { 0xD9, 0x87, 0xD9, 0x85, 0xD8, 0xA7 };
-static const symbol s_17_10[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
-static const symbol s_17_11[4] = { 0xD9, 0x87, 0xD8, 0xA7 };
-
-static const struct among a_17[12] =
-{
-{ 2, s_17_0, -1, 1, 0},
-{ 4, s_17_1, -1, 2, 0},
-{ 4, s_17_2, -1, 2, 0},
-{ 4, s_17_3, -1, 2, 0},
-{ 4, s_17_4, -1, 2, 0},
-{ 2, s_17_5, -1, 1, 0},
-{ 6, s_17_6, -1, 3, 0},
-{ 4, s_17_7, -1, 2, 0},
-{ 6, s_17_8, -1, 3, 0},
-{ 6, s_17_9, -1, 3, 0},
-{ 4, s_17_10, -1, 2, 0},
-{ 4, s_17_11, -1, 2, 0}
-};
-
-static const symbol s_18_0[2] = { 0xD9, 0x86 };
-static const symbol s_18_1[4] = { 0xD9, 0x88, 0xD9, 0x86 };
-static const symbol s_18_2[4] = { 0xD9, 0x8A, 0xD9, 0x86 };
-static const symbol s_18_3[4] = { 0xD8, 0xA7, 0xD9, 0x86 };
-static const symbol s_18_4[4] = { 0xD8, 0xAA, 0xD9, 0x86 };
-static const symbol s_18_5[2] = { 0xD9, 0x8A };
-static const symbol s_18_6[2] = { 0xD8, 0xA7 };
-static const symbol s_18_7[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xA7 };
-static const symbol s_18_8[4] = { 0xD9, 0x86, 0xD8, 0xA7 };
-static const symbol s_18_9[4] = { 0xD8, 0xAA, 0xD8, 0xA7 };
-static const symbol s_18_10[2] = { 0xD8, 0xAA };
-
-static const struct among a_18[11] =
-{
-{ 2, s_18_0, -1, 1, 0},
-{ 4, s_18_1, 0, 3, 0},
-{ 4, s_18_2, 0, 3, 0},
-{ 4, s_18_3, 0, 3, 0},
-{ 4, s_18_4, 0, 2, 0},
-{ 2, s_18_5, -1, 1, 0},
-{ 2, s_18_6, -1, 1, 0},
-{ 6, s_18_7, 6, 4, 0},
-{ 4, s_18_8, 6, 2, 0},
-{ 4, s_18_9, 6, 2, 0},
-{ 2, s_18_10, -1, 1, 0}
-};
-
-static const symbol s_19_0[4] = { 0xD8, 0xAA, 0xD9, 0x85 };
-static const symbol s_19_1[4] = { 0xD9, 0x88, 0xD8, 0xA7 };
-
-static const struct among a_19[2] =
-{
-{ 4, s_19_0, -1, 1, 0},
-{ 4, s_19_1, -1, 1, 0}
-};
-
-static const symbol s_20_0[2] = { 0xD9, 0x88 };
-static const symbol s_20_1[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88 };
-
-static const struct among a_20[2] =
-{
-{ 2, s_20_0, -1, 1, 0},
-{ 6, s_20_1, 0, 2, 0}
+static const symbol s_15_0[2] = { 0xD9, 0x88 };
+static const symbol s_15_1[6] = { 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x88 };
+static const struct among a_15[2] = {
+{ 2, s_15_0, 0, 1, 0},
+{ 6, s_15_1, -1, 2, 0}
 };
 
-static const symbol s_21_0[2] = { 0xD9, 0x89 };
-
-static const struct among a_21[1] =
-{
-{ 2, s_21_0, -1, 1, 0}
-};
-
-static const symbol s_0[] = { '0' };
-static const symbol s_1[] = { '1' };
-static const symbol s_2[] = { '2' };
-static const symbol s_3[] = { '3' };
-static const symbol s_4[] = { '4' };
-static const symbol s_5[] = { '5' };
-static const symbol s_6[] = { '6' };
-static const symbol s_7[] = { '7' };
-static const symbol s_8[] = { '8' };
-static const symbol s_9[] = { '9' };
-static const symbol s_10[] = { 0xD8, 0xA1 };
-static const symbol s_11[] = { 0xD8, 0xA3 };
-static const symbol s_12[] = { 0xD8, 0xA5 };
-static const symbol s_13[] = { 0xD8, 0xA6 };
-static const symbol s_14[] = { 0xD8, 0xA2 };
-static const symbol s_15[] = { 0xD8, 0xA4 };
-static const symbol s_16[] = { 0xD8, 0xA7 };
-static const symbol s_17[] = { 0xD8, 0xA8 };
-static const symbol s_18[] = { 0xD8, 0xA9 };
-static const symbol s_19[] = { 0xD8, 0xAA };
-static const symbol s_20[] = { 0xD8, 0xAB };
-static const symbol s_21[] = { 0xD8, 0xAC };
-static const symbol s_22[] = { 0xD8, 0xAD };
-static const symbol s_23[] = { 0xD8, 0xAE };
-static const symbol s_24[] = { 0xD8, 0xAF };
-static const symbol s_25[] = { 0xD8, 0xB0 };
-static const symbol s_26[] = { 0xD8, 0xB1 };
-static const symbol s_27[] = { 0xD8, 0xB2 };
-static const symbol s_28[] = { 0xD8, 0xB3 };
-static const symbol s_29[] = { 0xD8, 0xB4 };
-static const symbol s_30[] = { 0xD8, 0xB5 };
-static const symbol s_31[] = { 0xD8, 0xB6 };
-static const symbol s_32[] = { 0xD8, 0xB7 };
-static const symbol s_33[] = { 0xD8, 0xB8 };
-static const symbol s_34[] = { 0xD8, 0xB9 };
-static const symbol s_35[] = { 0xD8, 0xBA };
-static const symbol s_36[] = { 0xD9, 0x81 };
-static const symbol s_37[] = { 0xD9, 0x82 };
-static const symbol s_38[] = { 0xD9, 0x83 };
-static const symbol s_39[] = { 0xD9, 0x84 };
-static const symbol s_40[] = { 0xD9, 0x85 };
-static const symbol s_41[] = { 0xD9, 0x86 };
-static const symbol s_42[] = { 0xD9, 0x87 };
-static const symbol s_43[] = { 0xD9, 0x88 };
-static const symbol s_44[] = { 0xD9, 0x89 };
-static const symbol s_45[] = { 0xD9, 0x8A };
-static const symbol s_46[] = { 0xD9, 0x84, 0xD8, 0xA7 };
-static const symbol s_47[] = { 0xD9, 0x84, 0xD8, 0xA3 };
-static const symbol s_48[] = { 0xD9, 0x84, 0xD8, 0xA5 };
-static const symbol s_49[] = { 0xD9, 0x84, 0xD8, 0xA2 };
-static const symbol s_50[] = { 0xD8, 0xA1 };
-static const symbol s_51[] = { 0xD8, 0xA7 };
-static const symbol s_52[] = { 0xD9, 0x88 };
-static const symbol s_53[] = { 0xD9, 0x8A };
-static const symbol s_54[] = { 0xD8, 0xA3 };
-static const symbol s_55[] = { 0xD8, 0xA2 };
-static const symbol s_56[] = { 0xD8, 0xA7 };
-static const symbol s_57[] = { 0xD8, 0xA5 };
-static const symbol s_58[] = { 0xD8, 0xA7 };
-static const symbol s_59[] = { 0xD8, 0xA8 };
-static const symbol s_60[] = { 0xD9, 0x83 };
-static const symbol s_61[] = { 0xD9, 0x8A };
-static const symbol s_62[] = { 0xD8, 0xAA };
-static const symbol s_63[] = { 0xD9, 0x86 };
-static const symbol s_64[] = { 0xD8, 0xA3 };
-static const symbol s_65[] = { 0xD8, 0xA7, 0xD8, 0xB3, 0xD8, 0xAA };
-static const symbol s_66[] = { 0xD9, 0x8A };
-
 static int r_Normalize_pre(struct SN_env * z) {
     int among_var;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            {   int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            do {
+                int v_3 = z->c;
                 z->bra = z->c;
-                among_var = find_among(z, a_0, 144);
-                if (!among_var) goto lab3;
+                among_var = find_among(z, a_0, 144, 0);
+                if (!among_var) goto lab2;
                 z->ket = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 1, s_0);
+                        {
+                            int ret = slice_from_s(z, 1, s_0);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 3:
-                        {   int ret = slice_from_s(z, 1, s_1);
+                        {
+                            int ret = slice_from_s(z, 1, s_1);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = slice_from_s(z, 1, s_2);
+                        {
+                            int ret = slice_from_s(z, 1, s_2);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 5:
-                        {   int ret = slice_from_s(z, 1, s_3);
+                        {
+                            int ret = slice_from_s(z, 1, s_3);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 6:
-                        {   int ret = slice_from_s(z, 1, s_4);
+                        {
+                            int ret = slice_from_s(z, 1, s_4);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 7:
-                        {   int ret = slice_from_s(z, 1, s_5);
+                        {
+                            int ret = slice_from_s(z, 1, s_5);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 8:
-                        {   int ret = slice_from_s(z, 1, s_6);
+                        {
+                            int ret = slice_from_s(z, 1, s_6);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 9:
-                        {   int ret = slice_from_s(z, 1, s_7);
+                        {
+                            int ret = slice_from_s(z, 1, s_7);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 10:
-                        {   int ret = slice_from_s(z, 1, s_8);
+                        {
+                            int ret = slice_from_s(z, 1, s_8);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 11:
-                        {   int ret = slice_from_s(z, 1, s_9);
+                        {
+                            int ret = slice_from_s(z, 1, s_9);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 12:
-                        {   int ret = slice_from_s(z, 2, s_10);
+                        {
+                            int ret = slice_from_s(z, 2, s_10);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 13:
-                        {   int ret = slice_from_s(z, 2, s_11);
+                        {
+                            int ret = slice_from_s(z, 2, s_11);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 14:
-                        {   int ret = slice_from_s(z, 2, s_12);
+                        {
+                            int ret = slice_from_s(z, 2, s_12);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 15:
-                        {   int ret = slice_from_s(z, 2, s_13);
+                        {
+                            int ret = slice_from_s(z, 2, s_13);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 16:
-                        {   int ret = slice_from_s(z, 2, s_14);
+                        {
+                            int ret = slice_from_s(z, 2, s_14);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 17:
-                        {   int ret = slice_from_s(z, 2, s_15);
+                        {
+                            int ret = slice_from_s(z, 2, s_15);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 18:
-                        {   int ret = slice_from_s(z, 2, s_16);
+                        {
+                            int ret = slice_from_s(z, 2, s_16);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 19:
-                        {   int ret = slice_from_s(z, 2, s_17);
+                        {
+                            int ret = slice_from_s(z, 2, s_17);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 20:
-                        {   int ret = slice_from_s(z, 2, s_18);
+                        {
+                            int ret = slice_from_s(z, 2, s_18);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 21:
-                        {   int ret = slice_from_s(z, 2, s_19);
+                        {
+                            int ret = slice_from_s(z, 2, s_19);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 22:
-                        {   int ret = slice_from_s(z, 2, s_20);
+                        {
+                            int ret = slice_from_s(z, 2, s_20);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 23:
-                        {   int ret = slice_from_s(z, 2, s_21);
+                        {
+                            int ret = slice_from_s(z, 2, s_21);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 24:
-                        {   int ret = slice_from_s(z, 2, s_22);
+                        {
+                            int ret = slice_from_s(z, 2, s_22);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 25:
-                        {   int ret = slice_from_s(z, 2, s_23);
+                        {
+                            int ret = slice_from_s(z, 2, s_23);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 26:
-                        {   int ret = slice_from_s(z, 2, s_24);
+                        {
+                            int ret = slice_from_s(z, 2, s_24);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 27:
-                        {   int ret = slice_from_s(z, 2, s_25);
+                        {
+                            int ret = slice_from_s(z, 2, s_25);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 28:
-                        {   int ret = slice_from_s(z, 2, s_26);
+                        {
+                            int ret = slice_from_s(z, 2, s_26);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 29:
-                        {   int ret = slice_from_s(z, 2, s_27);
+                        {
+                            int ret = slice_from_s(z, 2, s_27);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 30:
-                        {   int ret = slice_from_s(z, 2, s_28);
+                        {
+                            int ret = slice_from_s(z, 2, s_28);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 31:
-                        {   int ret = slice_from_s(z, 2, s_29);
+                        {
+                            int ret = slice_from_s(z, 2, s_29);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 32:
-                        {   int ret = slice_from_s(z, 2, s_30);
+                        {
+                            int ret = slice_from_s(z, 2, s_30);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 33:
-                        {   int ret = slice_from_s(z, 2, s_31);
+                        {
+                            int ret = slice_from_s(z, 2, s_31);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 34:
-                        {   int ret = slice_from_s(z, 2, s_32);
+                        {
+                            int ret = slice_from_s(z, 2, s_32);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 35:
-                        {   int ret = slice_from_s(z, 2, s_33);
+                        {
+                            int ret = slice_from_s(z, 2, s_33);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 36:
-                        {   int ret = slice_from_s(z, 2, s_34);
+                        {
+                            int ret = slice_from_s(z, 2, s_34);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 37:
-                        {   int ret = slice_from_s(z, 2, s_35);
+                        {
+                            int ret = slice_from_s(z, 2, s_35);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 38:
-                        {   int ret = slice_from_s(z, 2, s_36);
+                        {
+                            int ret = slice_from_s(z, 2, s_36);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 39:
-                        {   int ret = slice_from_s(z, 2, s_37);
+                        {
+                            int ret = slice_from_s(z, 2, s_37);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 40:
-                        {   int ret = slice_from_s(z, 2, s_38);
+                        {
+                            int ret = slice_from_s(z, 2, s_38);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 41:
-                        {   int ret = slice_from_s(z, 2, s_39);
+                        {
+                            int ret = slice_from_s(z, 2, s_39);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 42:
-                        {   int ret = slice_from_s(z, 2, s_40);
+                        {
+                            int ret = slice_from_s(z, 2, s_40);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 43:
-                        {   int ret = slice_from_s(z, 2, s_41);
+                        {
+                            int ret = slice_from_s(z, 2, s_41);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 44:
-                        {   int ret = slice_from_s(z, 2, s_42);
+                        {
+                            int ret = slice_from_s(z, 2, s_42);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 45:
-                        {   int ret = slice_from_s(z, 2, s_43);
+                        {
+                            int ret = slice_from_s(z, 2, s_43);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 46:
-                        {   int ret = slice_from_s(z, 2, s_44);
+                        {
+                            int ret = slice_from_s(z, 2, s_44);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 47:
-                        {   int ret = slice_from_s(z, 2, s_45);
+                        {
+                            int ret = slice_from_s(z, 2, s_45);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 48:
-                        {   int ret = slice_from_s(z, 4, s_46);
+                        {
+                            int ret = slice_from_s(z, 4, s_46);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 49:
-                        {   int ret = slice_from_s(z, 4, s_47);
+                        {
+                            int ret = slice_from_s(z, 4, s_47);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 50:
-                        {   int ret = slice_from_s(z, 4, s_48);
+                        {
+                            int ret = slice_from_s(z, 4, s_48);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 51:
-                        {   int ret = slice_from_s(z, 4, s_49);
+                        {
+                            int ret = slice_from_s(z, 4, s_49);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                goto lab2;
-            lab3:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                break;
+            lab2:
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
-            }
-        lab2:
+            } while (0);
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_Normalize_post(struct SN_env * z) {
     int among_var;
-    {   int c1 = z->c;
+    {
+        int v_1 = z->c;
         z->lb = z->c; z->c = z->l;
-
         z->ket = z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((124 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
-        if (!find_among_b(z, a_1, 5)) goto lab0;
+        if (!find_among_b(z, a_1, 5, 0)) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_from_s(z, 2, s_50);
+        {
+            int ret = slice_from_s(z, 2, s_50);
             if (ret < 0) return ret;
         }
         z->c = z->lb;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        while(1) {
-            int c3 = z->c;
-            {   int c4 = z->c;
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            do {
+                int v_4 = z->c;
                 z->bra = z->c;
-                if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((124 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab4;
-                among_var = find_among(z, a_2, 5);
-                if (!among_var) goto lab4;
+                if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((124 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3;
+                among_var = find_among(z, a_2, 5, 0);
+                if (!among_var) goto lab3;
                 z->ket = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 2, s_51);
+                        {
+                            int ret = slice_from_s(z, 2, s_51);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 2, s_52);
+                        {
+                            int ret = slice_from_s(z, 2, s_52);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 3:
-                        {   int ret = slice_from_s(z, 2, s_53);
+                        {
+                            int ret = slice_from_s(z, 2, s_53);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                goto lab3;
-            lab4:
-                z->c = c4;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                break;
+            lab3:
+                z->c = v_4;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab2;
                     z->c = ret;
                 }
-            }
-        lab3:
+            } while (0);
             continue;
         lab2:
-            z->c = c3;
+            z->c = v_3;
             break;
         }
-        z->c = c2;
+        z->c = v_2;
     }
     return 1;
 }
@@ -1023,21 +1017,21 @@ static int r_Checks1(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0;
-    among_var = find_among(z, a_3, 4);
+    among_var = find_among(z, a_3, 4, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) <= 4) return 0;
-            z->I[2] = 1;
-            z->I[1] = 0;
-            z->I[0] = 1;
+            ((SN_local *)z)->b_is_noun = 1;
+            ((SN_local *)z)->b_is_verb = 0;
+            ((SN_local *)z)->b_is_defined = 1;
             break;
         case 2:
             if (len_utf8(z->p) <= 3) return 0;
-            z->I[2] = 1;
-            z->I[1] = 0;
-            z->I[0] = 1;
+            ((SN_local *)z)->b_is_noun = 1;
+            ((SN_local *)z)->b_is_verb = 0;
+            ((SN_local *)z)->b_is_defined = 1;
             break;
     }
     return 1;
@@ -1047,31 +1041,35 @@ static int r_Prefix_Step1(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 5 || !((188 >> (z->p[z->c + 3] & 0x1f)) & 1)) return 0;
-    among_var = find_among(z, a_4, 5);
+    among_var = find_among(z, a_4, 5, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_54);
+            {
+                int ret = slice_from_s(z, 2, s_54);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_55);
+            {
+                int ret = slice_from_s(z, 2, s_55);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_56);
+            {
+                int ret = slice_from_s(z, 2, s_56);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_57);
+            {
+                int ret = slice_from_s(z, 2, s_57);
                 if (ret < 0) return ret;
             }
             break;
@@ -1082,16 +1080,18 @@ static int r_Prefix_Step1(struct SN_env * z) {
 static int r_Prefix_Step2(struct SN_env * z) {
     z->bra = z->c;
     if (z->c + 1 >= z->l || (z->p[z->c + 1] != 129 && z->p[z->c + 1] != 136)) return 0;
-    if (!find_among(z, a_5, 2)) return 0;
+    if (!find_among(z, a_5, 2, 0)) return 0;
     z->ket = z->c;
     if (len_utf8(z->p) <= 3) return 0;
-    {   int c1 = z->c;
+    {
+        int v_1 = z->c;
         if (!(eq_s(z, 2, s_58))) goto lab0;
         return 0;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1101,19 +1101,21 @@ static int r_Prefix_Step3a_Noun(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 3 >= z->l || (z->p[z->c + 3] != 132 && z->p[z->c + 3] != 167)) return 0;
-    among_var = find_among(z, a_6, 4);
+    among_var = find_among(z, a_6, 4, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) <= 5) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) <= 4) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1125,25 +1127,28 @@ static int r_Prefix_Step3b_Noun(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 1 >= z->l || (z->p[z->c + 1] != 168 && z->p[z->c + 1] != 131)) return 0;
-    among_var = find_among(z, a_7, 4);
+    among_var = find_among(z, a_7, 4, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_59);
+            {
+                int ret = slice_from_s(z, 2, s_59);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) <= 3) return 0;
-            {   int ret = slice_from_s(z, 2, s_60);
+            {
+                int ret = slice_from_s(z, 2, s_60);
                 if (ret < 0) return ret;
             }
             break;
@@ -1154,31 +1159,35 @@ static int r_Prefix_Step3b_Noun(struct SN_env * z) {
 static int r_Prefix_Step3_Verb(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
-    among_var = find_among(z, a_8, 4);
+    among_var = find_among(z, a_8, 4, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) <= 4) return 0;
-            {   int ret = slice_from_s(z, 2, s_61);
+            {
+                int ret = slice_from_s(z, 2, s_61);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) <= 4) return 0;
-            {   int ret = slice_from_s(z, 2, s_62);
+            {
+                int ret = slice_from_s(z, 2, s_62);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) <= 4) return 0;
-            {   int ret = slice_from_s(z, 2, s_63);
+            {
+                int ret = slice_from_s(z, 2, s_63);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             if (len_utf8(z->p) <= 4) return 0;
-            {   int ret = slice_from_s(z, 2, s_64);
+            {
+                int ret = slice_from_s(z, 2, s_64);
                 if (ret < 0) return ret;
             }
             break;
@@ -1189,12 +1198,13 @@ static int r_Prefix_Step3_Verb(struct SN_env * z) {
 static int r_Prefix_Step4_Verb(struct SN_env * z) {
     z->bra = z->c;
     if (z->c + 5 >= z->l || z->p[z->c + 5] != 170) return 0;
-    if (!find_among(z, a_9, 3)) return 0;
+    if (!find_among(z, a_9, 3, 0)) return 0;
     z->ket = z->c;
     if (len_utf8(z->p) <= 4) return 0;
-    z->I[1] = 1;
-    z->I[2] = 0;
-    {   int ret = slice_from_s(z, 6, s_65);
+    ((SN_local *)z)->b_is_verb = 1;
+    ((SN_local *)z)->b_is_noun = 0;
+    {
+        int ret = slice_from_s(z, 6, s_65);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1203,25 +1213,28 @@ static int r_Prefix_Step4_Verb(struct SN_env * z) {
 static int r_Suffix_Noun_Step1a(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_10, 10);
+    among_var = find_among_b(z, a_10, 10, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) < 4) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) < 5) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) < 6) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1231,11 +1244,11 @@ static int r_Suffix_Noun_Step1a(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step1b(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 134) return 0;
-    if (!find_among_b(z, a_11, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_66))) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) <= 5) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1243,10 +1256,11 @@ static int r_Suffix_Noun_Step1b(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step2a(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_12, 3)) return 0;
+    if (!find_among_b(z, a_11, 3, 0)) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) <= 4) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1254,11 +1268,11 @@ static int r_Suffix_Noun_Step2a(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step2b(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 3 <= z->lb || z->p[z->c - 1] != 170) return 0;
-    if (!find_among_b(z, a_13, 1)) return 0;
+    if (!(eq_s_b(z, 4, s_67))) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) < 5) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1266,11 +1280,11 @@ static int r_Suffix_Noun_Step2b(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step2c1(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 170) return 0;
-    if (!find_among_b(z, a_14, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_68))) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) < 4) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1278,11 +1292,11 @@ static int r_Suffix_Noun_Step2c1(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step2c2(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 169) return 0;
-    if (!find_among_b(z, a_15, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_69))) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) < 4) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1290,11 +1304,11 @@ static int r_Suffix_Noun_Step2c2(struct SN_env * z) {
 
 static int r_Suffix_Noun_Step3(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 138) return 0;
-    if (!find_among_b(z, a_16, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_70))) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) < 3) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1303,25 +1317,28 @@ static int r_Suffix_Noun_Step3(struct SN_env * z) {
 static int r_Suffix_Verb_Step1(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_17, 12);
+    among_var = find_among_b(z, a_12, 12, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) < 4) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) < 5) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) < 6) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1332,31 +1349,35 @@ static int r_Suffix_Verb_Step1(struct SN_env * z) {
 static int r_Suffix_Verb_Step2a(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_18, 11);
+    among_var = find_among_b(z, a_13, 11, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) < 4) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) < 5) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (len_utf8(z->p) <= 5) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             if (len_utf8(z->p) < 6) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1367,10 +1388,11 @@ static int r_Suffix_Verb_Step2a(struct SN_env * z) {
 static int r_Suffix_Verb_Step2b(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 133 && z->p[z->c - 1] != 167)) return 0;
-    if (!find_among_b(z, a_19, 2)) return 0;
+    if (!find_among_b(z, a_14, 2, 0)) return 0;
     z->bra = z->c;
     if (len_utf8(z->p) < 5) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1380,19 +1402,21 @@ static int r_Suffix_Verb_Step2c(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 136) return 0;
-    among_var = find_among_b(z, a_20, 2);
+    among_var = find_among_b(z, a_15, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
             if (len_utf8(z->p) < 4) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (len_utf8(z->p) < 6) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1402,263 +1426,301 @@ static int r_Suffix_Verb_Step2c(struct SN_env * z) {
 
 static int r_Suffix_All_alef_maqsura(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 137) return 0;
-    if (!find_among_b(z, a_21, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_71))) return 0;
     z->bra = z->c;
-    {   int ret = slice_from_s(z, 2, s_66);
+    {
+        int ret = slice_from_s(z, 2, s_72);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int arabic_UTF_8_stem(struct SN_env * z) {
-    z->I[2] = 1;
-    z->I[1] = 1;
-    z->I[0] = 0;
-    {   int c1 = z->c;
-        {   int ret = r_Checks1(z);
+    ((SN_local *)z)->b_is_noun = 1;
+    ((SN_local *)z)->b_is_verb = 1;
+    ((SN_local *)z)->b_is_defined = 0;
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_Checks1(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_Normalize_pre(z);
+    {
+        int ret = r_Normalize_pre(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            if (!(z->I[1])) goto lab2;
-            {   int m4 = z->l - z->c; (void)m4;
-                {   int i = 1;
-                    while(1) {
-                        int m5 = z->l - z->c; (void)m5;
-                        {   int ret = r_Suffix_Verb_Step1(z);
-                            if (ret == 0) goto lab5;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            if (!((SN_local *)z)->b_is_verb) goto lab1;
+            do {
+                int v_4 = z->l - z->c;
+                {
+                    int v_5 = 1;
+                    while (1) {
+                        int v_6 = z->l - z->c;
+                        {
+                            int ret = r_Suffix_Verb_Step1(z);
+                            if (ret == 0) goto lab3;
                             if (ret < 0) return ret;
                         }
-                        i--;
+                        v_5--;
                         continue;
-                    lab5:
-                        z->c = z->l - m5;
+                    lab3:
+                        z->c = z->l - v_6;
                         break;
                     }
-                    if (i > 0) goto lab4;
+                    if (v_5 > 0) goto lab2;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
-                    {   int ret = r_Suffix_Verb_Step2a(z);
-                        if (ret == 0) goto lab7;
+                do {
+                    int v_7 = z->l - z->c;
+                    {
+                        int ret = r_Suffix_Verb_Step2a(z);
+                        if (ret == 0) goto lab4;
                         if (ret < 0) return ret;
                     }
-                    goto lab6;
-                lab7:
-                    z->c = z->l - m6;
-                    {   int ret = r_Suffix_Verb_Step2c(z);
-                        if (ret == 0) goto lab8;
+                    break;
+                lab4:
+                    z->c = z->l - v_7;
+                    {
+                        int ret = r_Suffix_Verb_Step2c(z);
+                        if (ret == 0) goto lab5;
                         if (ret < 0) return ret;
                     }
-                    goto lab6;
-                lab8:
-                    z->c = z->l - m6;
-                    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-                        if (ret < 0) goto lab4;
+                    break;
+                lab5:
+                    z->c = z->l - v_7;
+                    {
+                        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                        if (ret < 0) goto lab2;
                         z->c = ret;
                     }
-                }
-            lab6:
-                goto lab3;
-            lab4:
-                z->c = z->l - m4;
-                {   int ret = r_Suffix_Verb_Step2b(z);
-                    if (ret == 0) goto lab9;
+                } while (0);
+                break;
+            lab2:
+                z->c = z->l - v_4;
+                {
+                    int ret = r_Suffix_Verb_Step2b(z);
+                    if (ret == 0) goto lab6;
                     if (ret < 0) return ret;
                 }
-                goto lab3;
-            lab9:
-                z->c = z->l - m4;
-                {   int ret = r_Suffix_Verb_Step2a(z);
-                    if (ret == 0) goto lab2;
+                break;
+            lab6:
+                z->c = z->l - v_4;
+                {
+                    int ret = r_Suffix_Verb_Step2a(z);
+                    if (ret == 0) goto lab1;
                     if (ret < 0) return ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            if (!(z->I[2])) goto lab10;
-            {   int m7 = z->l - z->c; (void)m7;
-                {   int m8 = z->l - z->c; (void)m8;
-                    {   int ret = r_Suffix_Noun_Step2c2(z);
-                        if (ret == 0) goto lab13;
+            } while (0);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            if (!((SN_local *)z)->b_is_noun) goto lab7;
+            {
+                int v_8 = z->l - z->c;
+                do {
+                    int v_9 = z->l - z->c;
+                    {
+                        int ret = r_Suffix_Noun_Step2c2(z);
+                        if (ret == 0) goto lab9;
                         if (ret < 0) return ret;
                     }
-                    goto lab12;
-                lab13:
-                    z->c = z->l - m8;
-
-                    if (!(z->I[0])) goto lab15;
-                    goto lab14;
-                lab15:
-                    {   int ret = r_Suffix_Noun_Step1a(z);
-                        if (ret == 0) goto lab14;
+                    break;
+                lab9:
+                    z->c = z->l - v_9;
+                    if (((SN_local *)z)->b_is_defined) goto lab10;
+                    {
+                        int ret = r_Suffix_Noun_Step1a(z);
+                        if (ret == 0) goto lab10;
                         if (ret < 0) return ret;
                     }
-                    {   int m9 = z->l - z->c; (void)m9;
-                        {   int ret = r_Suffix_Noun_Step2a(z);
-                            if (ret == 0) goto lab17;
+                    do {
+                        int v_10 = z->l - z->c;
+                        {
+                            int ret = r_Suffix_Noun_Step2a(z);
+                            if (ret == 0) goto lab11;
                             if (ret < 0) return ret;
                         }
-                        goto lab16;
-                    lab17:
-                        z->c = z->l - m9;
-                        {   int ret = r_Suffix_Noun_Step2b(z);
-                            if (ret == 0) goto lab18;
+                        break;
+                    lab11:
+                        z->c = z->l - v_10;
+                        {
+                            int ret = r_Suffix_Noun_Step2b(z);
+                            if (ret == 0) goto lab12;
                             if (ret < 0) return ret;
                         }
-                        goto lab16;
-                    lab18:
-                        z->c = z->l - m9;
-                        {   int ret = r_Suffix_Noun_Step2c1(z);
-                            if (ret == 0) goto lab19;
+                        break;
+                    lab12:
+                        z->c = z->l - v_10;
+                        {
+                            int ret = r_Suffix_Noun_Step2c1(z);
+                            if (ret == 0) goto lab13;
                             if (ret < 0) return ret;
                         }
-                        goto lab16;
-                    lab19:
-                        z->c = z->l - m9;
-                        {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-                            if (ret < 0) goto lab14;
+                        break;
+                    lab13:
+                        z->c = z->l - v_10;
+                        {
+                            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                            if (ret < 0) goto lab10;
                             z->c = ret;
                         }
-                    }
-                lab16:
-                    goto lab12;
-                lab14:
-                    z->c = z->l - m8;
-                    {   int ret = r_Suffix_Noun_Step1b(z);
-                        if (ret == 0) goto lab20;
+                    } while (0);
+                    break;
+                lab10:
+                    z->c = z->l - v_9;
+                    {
+                        int ret = r_Suffix_Noun_Step1b(z);
+                        if (ret == 0) goto lab14;
                         if (ret < 0) return ret;
                     }
-                    {   int m10 = z->l - z->c; (void)m10;
-                        {   int ret = r_Suffix_Noun_Step2a(z);
-                            if (ret == 0) goto lab22;
+                    do {
+                        int v_11 = z->l - z->c;
+                        {
+                            int ret = r_Suffix_Noun_Step2a(z);
+                            if (ret == 0) goto lab15;
                             if (ret < 0) return ret;
                         }
-                        goto lab21;
-                    lab22:
-                        z->c = z->l - m10;
-                        {   int ret = r_Suffix_Noun_Step2b(z);
-                            if (ret == 0) goto lab23;
+                        break;
+                    lab15:
+                        z->c = z->l - v_11;
+                        {
+                            int ret = r_Suffix_Noun_Step2b(z);
+                            if (ret == 0) goto lab16;
                             if (ret < 0) return ret;
                         }
-                        goto lab21;
-                    lab23:
-                        z->c = z->l - m10;
-                        {   int ret = r_Suffix_Noun_Step2c1(z);
-                            if (ret == 0) goto lab20;
+                        break;
+                    lab16:
+                        z->c = z->l - v_11;
+                        {
+                            int ret = r_Suffix_Noun_Step2c1(z);
+                            if (ret == 0) goto lab14;
                             if (ret < 0) return ret;
                         }
-                    }
-                lab21:
-                    goto lab12;
-                lab20:
-                    z->c = z->l - m8;
-
-                    if (!(z->I[0])) goto lab25;
-                    goto lab24;
-                lab25:
-                    {   int ret = r_Suffix_Noun_Step2a(z);
-                        if (ret == 0) goto lab24;
+                    } while (0);
+                    break;
+                lab14:
+                    z->c = z->l - v_9;
+                    if (((SN_local *)z)->b_is_defined) goto lab17;
+                    {
+                        int ret = r_Suffix_Noun_Step2a(z);
+                        if (ret == 0) goto lab17;
                         if (ret < 0) return ret;
                     }
-                    goto lab12;
-                lab24:
-                    z->c = z->l - m8;
-                    {   int ret = r_Suffix_Noun_Step2b(z);
-                        if (ret == 0) { z->c = z->l - m7; goto lab11; }
+                    break;
+                lab17:
+                    z->c = z->l - v_9;
+                    {
+                        int ret = r_Suffix_Noun_Step2b(z);
+                        if (ret == 0) { z->c = z->l - v_8; goto lab8; }
                         if (ret < 0) return ret;
                     }
-                }
-            lab12:
-            lab11:
+                } while (0);
+            lab8:
                 ;
             }
-            {   int ret = r_Suffix_Noun_Step3(z);
-                if (ret == 0) goto lab10;
+            {
+                int ret = r_Suffix_Noun_Step3(z);
+                if (ret == 0) goto lab7;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab10:
-            z->c = z->l - m3;
-            {   int ret = r_Suffix_All_alef_maqsura(z);
+            break;
+        lab7:
+            z->c = z->l - v_3;
+            {
+                int ret = r_Suffix_All_alef_maqsura(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
     z->c = z->lb;
-    {   int c11 = z->c;
-        {   int c12 = z->c;
-            {   int ret = r_Prefix_Step1(z);
-                if (ret == 0) { z->c = c12; goto lab27; }
+    {
+        int v_12 = z->c;
+        {
+            int v_13 = z->c;
+            {
+                int ret = r_Prefix_Step1(z);
+                if (ret == 0) { z->c = v_13; goto lab19; }
                 if (ret < 0) return ret;
             }
-        lab27:
+        lab19:
             ;
         }
-        {   int c13 = z->c;
-            {   int ret = r_Prefix_Step2(z);
-                if (ret == 0) { z->c = c13; goto lab28; }
+        {
+            int v_14 = z->c;
+            {
+                int ret = r_Prefix_Step2(z);
+                if (ret == 0) { z->c = v_14; goto lab20; }
                 if (ret < 0) return ret;
             }
-        lab28:
+        lab20:
             ;
         }
-        {   int c14 = z->c;
-            {   int ret = r_Prefix_Step3a_Noun(z);
-                if (ret == 0) goto lab30;
+        do {
+            int v_15 = z->c;
+            {
+                int ret = r_Prefix_Step3a_Noun(z);
+                if (ret == 0) goto lab21;
                 if (ret < 0) return ret;
             }
-            goto lab29;
-        lab30:
-            z->c = c14;
-            if (!(z->I[2])) goto lab31;
-            {   int ret = r_Prefix_Step3b_Noun(z);
-                if (ret == 0) goto lab31;
+            break;
+        lab21:
+            z->c = v_15;
+            if (!((SN_local *)z)->b_is_noun) goto lab22;
+            {
+                int ret = r_Prefix_Step3b_Noun(z);
+                if (ret == 0) goto lab22;
                 if (ret < 0) return ret;
             }
-            goto lab29;
-        lab31:
-            z->c = c14;
-            if (!(z->I[1])) goto lab26;
-            {   int c15 = z->c;
-                {   int ret = r_Prefix_Step3_Verb(z);
-                    if (ret == 0) { z->c = c15; goto lab32; }
+            break;
+        lab22:
+            z->c = v_15;
+            if (!((SN_local *)z)->b_is_verb) goto lab18;
+            {
+                int v_16 = z->c;
+                {
+                    int ret = r_Prefix_Step3_Verb(z);
+                    if (ret == 0) { z->c = v_16; goto lab23; }
                     if (ret < 0) return ret;
                 }
-            lab32:
+            lab23:
                 ;
             }
-            {   int ret = r_Prefix_Step4_Verb(z);
-                if (ret == 0) goto lab26;
+            {
+                int ret = r_Prefix_Step4_Verb(z);
+                if (ret == 0) goto lab18;
                 if (ret < 0) return ret;
             }
-        }
-    lab29:
-    lab26:
-        z->c = c11;
+        } while (0);
+    lab18:
+        z->c = v_12;
     }
-
-    {   int ret = r_Normalize_post(z);
+    {
+        int ret = r_Normalize_post(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
-extern struct SN_env * arabic_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * arabic_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_is_defined = 0;
+        ((SN_local *)z)->b_is_verb = 0;
+        ((SN_local *)z)->b_is_noun = 0;
+    }
+    return z;
+}
 
-extern void arabic_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void arabic_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 81ec52fef2b2e1e9c9db06f65dac19c19c73f0da..0ec4250bdc31202f11784b1938b51efe237433a5 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from armenian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_armenian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,24 +21,15 @@ extern int armenian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_ending(struct SN_env * z);
 static int r_noun(struct SN_env * z);
 static int r_verb(struct SN_env * z);
 static int r_adjective(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
 
 
-extern struct SN_env * armenian_UTF_8_create_env(void);
-extern void armenian_UTF_8_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[6] = { 0xD5, 0xA2, 0xD5, 0xA1, 0xD6, 0x80 };
 static const symbol s_0_1[8] = { 0xD6, 0x80, 0xD5, 0xB8, 0xD6, 0x80, 0xD5, 0xA4 };
 static const symbol s_0_2[10] = { 0xD5, 0xA5, 0xD6, 0x80, 0xD5, 0xB8, 0xD6, 0x80, 0xD5, 0xA4 };
@@ -50,32 +53,30 @@ static const symbol s_0_19[4] = { 0xD5, 0xAB, 0xD5, 0xBE };
 static const symbol s_0_20[4] = { 0xD5, 0xA1, 0xD5, 0xBF };
 static const symbol s_0_21[8] = { 0xD5, 0xA1, 0xD5, 0xBE, 0xD5, 0xA5, 0xD5, 0xBF };
 static const symbol s_0_22[6] = { 0xD5, 0xAF, 0xD5, 0xB8, 0xD5, 0xBF };
-
-static const struct among a_0[23] =
-{
-{ 6, s_0_0, -1, 1, 0},
-{ 8, s_0_1, -1, 1, 0},
-{ 10, s_0_2, 1, 1, 0},
-{ 6, s_0_3, -1, 1, 0},
-{ 6, s_0_4, -1, 1, 0},
-{ 8, s_0_5, -1, 1, 0},
-{ 4, s_0_6, -1, 1, 0},
-{ 8, s_0_7, -1, 1, 0},
-{ 8, s_0_8, -1, 1, 0},
-{ 8, s_0_9, -1, 1, 0},
-{ 4, s_0_10, -1, 1, 0},
-{ 8, s_0_11, 10, 1, 0},
-{ 8, s_0_12, 10, 1, 0},
-{ 8, s_0_13, -1, 1, 0},
-{ 4, s_0_14, -1, 1, 0},
-{ 6, s_0_15, 14, 1, 0},
-{ 8, s_0_16, 14, 1, 0},
-{ 8, s_0_17, -1, 1, 0},
-{ 6, s_0_18, -1, 1, 0},
-{ 4, s_0_19, -1, 1, 0},
-{ 4, s_0_20, -1, 1, 0},
-{ 8, s_0_21, -1, 1, 0},
-{ 6, s_0_22, -1, 1, 0}
+static const struct among a_0[23] = {
+{ 6, s_0_0, 0, 1, 0},
+{ 8, s_0_1, 0, 1, 0},
+{ 10, s_0_2, -1, 1, 0},
+{ 6, s_0_3, 0, 1, 0},
+{ 6, s_0_4, 0, 1, 0},
+{ 8, s_0_5, 0, 1, 0},
+{ 4, s_0_6, 0, 1, 0},
+{ 8, s_0_7, 0, 1, 0},
+{ 8, s_0_8, 0, 1, 0},
+{ 8, s_0_9, 0, 1, 0},
+{ 4, s_0_10, 0, 1, 0},
+{ 8, s_0_11, -1, 1, 0},
+{ 8, s_0_12, -2, 1, 0},
+{ 8, s_0_13, 0, 1, 0},
+{ 4, s_0_14, 0, 1, 0},
+{ 6, s_0_15, -1, 1, 0},
+{ 8, s_0_16, -2, 1, 0},
+{ 8, s_0_17, 0, 1, 0},
+{ 6, s_0_18, 0, 1, 0},
+{ 4, s_0_19, 0, 1, 0},
+{ 4, s_0_20, 0, 1, 0},
+{ 8, s_0_21, 0, 1, 0},
+{ 6, s_0_22, 0, 1, 0}
 };
 
 static const symbol s_1_0[4] = { 0xD5, 0xA1, 0xD6, 0x80 };
@@ -149,80 +150,78 @@ static const symbol s_1_67[8] = { 0xD5, 0xA1, 0xD6, 0x81, 0xD5, 0xA1, 0xD5, 0xBE
 static const symbol s_1_68[8] = { 0xD5, 0xA5, 0xD6, 0x81, 0xD5, 0xA1, 0xD5, 0xBE };
 static const symbol s_1_69[8] = { 0xD5, 0xA1, 0xD5, 0xAC, 0xD5, 0xB8, 0xD5, 0xBE };
 static const symbol s_1_70[8] = { 0xD5, 0xA5, 0xD5, 0xAC, 0xD5, 0xB8, 0xD5, 0xBE };
-
-static const struct among a_1[71] =
-{
-{ 4, s_1_0, -1, 1, 0},
-{ 8, s_1_1, 0, 1, 0},
-{ 8, s_1_2, 0, 1, 0},
-{ 10, s_1_3, -1, 1, 0},
-{ 8, s_1_4, -1, 1, 0},
-{ 8, s_1_5, -1, 1, 0},
-{ 10, s_1_6, 5, 1, 0},
-{ 10, s_1_7, -1, 1, 0},
-{ 10, s_1_8, -1, 1, 0},
-{ 4, s_1_9, -1, 1, 0},
-{ 4, s_1_10, -1, 1, 0},
-{ 10, s_1_11, 10, 1, 0},
-{ 8, s_1_12, -1, 1, 0},
-{ 8, s_1_13, -1, 1, 0},
-{ 4, s_1_14, -1, 1, 0},
-{ 6, s_1_15, 14, 1, 0},
-{ 8, s_1_16, 15, 1, 0},
-{ 10, s_1_17, -1, 1, 0},
-{ 8, s_1_18, -1, 1, 0},
-{ 8, s_1_19, -1, 1, 0},
-{ 10, s_1_20, 19, 1, 0},
-{ 6, s_1_21, -1, 1, 0},
-{ 8, s_1_22, 21, 1, 0},
-{ 10, s_1_23, 22, 1, 0},
-{ 12, s_1_24, -1, 1, 0},
-{ 10, s_1_25, -1, 1, 0},
-{ 10, s_1_26, -1, 1, 0},
-{ 12, s_1_27, 26, 1, 0},
-{ 2, s_1_28, -1, 1, 0},
-{ 6, s_1_29, 28, 1, 0},
-{ 6, s_1_30, 28, 1, 0},
-{ 4, s_1_31, -1, 1, 0},
-{ 8, s_1_32, -1, 1, 0},
-{ 6, s_1_33, -1, 1, 0},
-{ 6, s_1_34, -1, 1, 0},
-{ 8, s_1_35, 34, 1, 0},
-{ 4, s_1_36, -1, 1, 0},
-{ 6, s_1_37, 36, 1, 0},
-{ 10, s_1_38, 36, 1, 0},
-{ 8, s_1_39, 36, 1, 0},
-{ 8, s_1_40, 36, 1, 0},
-{ 4, s_1_41, -1, 1, 0},
-{ 6, s_1_42, 41, 1, 0},
-{ 6, s_1_43, 41, 1, 0},
-{ 8, s_1_44, 43, 1, 0},
-{ 10, s_1_45, 44, 1, 0},
-{ 6, s_1_46, 41, 1, 0},
-{ 6, s_1_47, 41, 1, 0},
-{ 10, s_1_48, 47, 1, 0},
-{ 10, s_1_49, 47, 1, 0},
-{ 6, s_1_50, 41, 1, 0},
-{ 8, s_1_51, 50, 1, 0},
-{ 8, s_1_52, 50, 1, 0},
-{ 10, s_1_53, 52, 1, 0},
-{ 6, s_1_54, -1, 1, 0},
-{ 6, s_1_55, -1, 1, 0},
-{ 8, s_1_56, 55, 1, 0},
-{ 4, s_1_57, -1, 1, 0},
-{ 6, s_1_58, 57, 1, 0},
-{ 8, s_1_59, 58, 1, 0},
-{ 10, s_1_60, -1, 1, 0},
-{ 8, s_1_61, -1, 1, 0},
-{ 8, s_1_62, -1, 1, 0},
-{ 10, s_1_63, 62, 1, 0},
-{ 8, s_1_64, -1, 1, 0},
-{ 8, s_1_65, -1, 1, 0},
-{ 4, s_1_66, -1, 1, 0},
-{ 8, s_1_67, 66, 1, 0},
-{ 8, s_1_68, 66, 1, 0},
-{ 8, s_1_69, -1, 1, 0},
-{ 8, s_1_70, -1, 1, 0}
+static const struct among a_1[71] = {
+{ 4, s_1_0, 0, 1, 0},
+{ 8, s_1_1, -1, 1, 0},
+{ 8, s_1_2, -2, 1, 0},
+{ 10, s_1_3, 0, 1, 0},
+{ 8, s_1_4, 0, 1, 0},
+{ 8, s_1_5, 0, 1, 0},
+{ 10, s_1_6, -1, 1, 0},
+{ 10, s_1_7, 0, 1, 0},
+{ 10, s_1_8, 0, 1, 0},
+{ 4, s_1_9, 0, 1, 0},
+{ 4, s_1_10, 0, 1, 0},
+{ 10, s_1_11, -1, 1, 0},
+{ 8, s_1_12, 0, 1, 0},
+{ 8, s_1_13, 0, 1, 0},
+{ 4, s_1_14, 0, 1, 0},
+{ 6, s_1_15, -1, 1, 0},
+{ 8, s_1_16, -1, 1, 0},
+{ 10, s_1_17, 0, 1, 0},
+{ 8, s_1_18, 0, 1, 0},
+{ 8, s_1_19, 0, 1, 0},
+{ 10, s_1_20, -1, 1, 0},
+{ 6, s_1_21, 0, 1, 0},
+{ 8, s_1_22, -1, 1, 0},
+{ 10, s_1_23, -1, 1, 0},
+{ 12, s_1_24, 0, 1, 0},
+{ 10, s_1_25, 0, 1, 0},
+{ 10, s_1_26, 0, 1, 0},
+{ 12, s_1_27, -1, 1, 0},
+{ 2, s_1_28, 0, 1, 0},
+{ 6, s_1_29, -1, 1, 0},
+{ 6, s_1_30, -2, 1, 0},
+{ 4, s_1_31, 0, 1, 0},
+{ 8, s_1_32, 0, 1, 0},
+{ 6, s_1_33, 0, 1, 0},
+{ 6, s_1_34, 0, 1, 0},
+{ 8, s_1_35, -1, 1, 0},
+{ 4, s_1_36, 0, 1, 0},
+{ 6, s_1_37, -1, 1, 0},
+{ 10, s_1_38, -2, 1, 0},
+{ 8, s_1_39, -3, 1, 0},
+{ 8, s_1_40, -4, 1, 0},
+{ 4, s_1_41, 0, 1, 0},
+{ 6, s_1_42, -1, 1, 0},
+{ 6, s_1_43, -2, 1, 0},
+{ 8, s_1_44, -1, 1, 0},
+{ 10, s_1_45, -1, 1, 0},
+{ 6, s_1_46, -5, 1, 0},
+{ 6, s_1_47, -6, 1, 0},
+{ 10, s_1_48, -1, 1, 0},
+{ 10, s_1_49, -2, 1, 0},
+{ 6, s_1_50, -9, 1, 0},
+{ 8, s_1_51, -1, 1, 0},
+{ 8, s_1_52, -2, 1, 0},
+{ 10, s_1_53, -1, 1, 0},
+{ 6, s_1_54, 0, 1, 0},
+{ 6, s_1_55, 0, 1, 0},
+{ 8, s_1_56, -1, 1, 0},
+{ 4, s_1_57, 0, 1, 0},
+{ 6, s_1_58, -1, 1, 0},
+{ 8, s_1_59, -1, 1, 0},
+{ 10, s_1_60, 0, 1, 0},
+{ 8, s_1_61, 0, 1, 0},
+{ 8, s_1_62, 0, 1, 0},
+{ 10, s_1_63, -1, 1, 0},
+{ 8, s_1_64, 0, 1, 0},
+{ 8, s_1_65, 0, 1, 0},
+{ 4, s_1_66, 0, 1, 0},
+{ 8, s_1_67, -1, 1, 0},
+{ 8, s_1_68, -2, 1, 0},
+{ 8, s_1_69, 0, 1, 0},
+{ 8, s_1_70, 0, 1, 0}
 };
 
 static const symbol s_2_0[6] = { 0xD5, 0xA3, 0xD5, 0xA1, 0xD6, 0x80 };
@@ -265,49 +264,47 @@ static const symbol s_2_36[6] = { 0xD5, 0xA1, 0xD5, 0xAE, 0xD5, 0xB8 };
 static const symbol s_2_37[4] = { 0xD5, 0xAB, 0xD5, 0xB9 };
 static const symbol s_2_38[6] = { 0xD5, 0xB8, 0xD6, 0x82, 0xD5, 0xBD };
 static const symbol s_2_39[8] = { 0xD5, 0xB8, 0xD6, 0x82, 0xD5, 0xBD, 0xD5, 0xBF };
-
-static const struct among a_2[40] =
-{
-{ 6, s_2_0, -1, 1, 0},
-{ 6, s_2_1, -1, 1, 0},
-{ 8, s_2_2, 1, 1, 0},
-{ 8, s_2_3, -1, 1, 0},
-{ 4, s_2_4, -1, 1, 0},
-{ 4, s_2_5, -1, 1, 0},
-{ 2, s_2_6, -1, 1, 0},
-{ 6, s_2_7, 6, 1, 0},
-{ 6, s_2_8, 6, 1, 0},
-{ 4, s_2_9, 6, 1, 0},
-{ 8, s_2_10, 9, 1, 0},
-{ 8, s_2_11, 9, 1, 0},
-{ 8, s_2_12, 6, 1, 0},
-{ 8, s_2_13, 6, 1, 0},
-{ 8, s_2_14, 6, 1, 0},
-{ 10, s_2_15, 14, 1, 0},
-{ 6, s_2_16, 6, 1, 0},
-{ 6, s_2_17, 6, 1, 0},
-{ 6, s_2_18, 6, 1, 0},
-{ 6, s_2_19, -1, 1, 0},
-{ 8, s_2_20, -1, 1, 0},
-{ 4, s_2_21, -1, 1, 0},
-{ 8, s_2_22, -1, 1, 0},
-{ 4, s_2_23, -1, 1, 0},
-{ 6, s_2_24, -1, 1, 0},
-{ 4, s_2_25, -1, 1, 0},
-{ 6, s_2_26, 25, 1, 0},
-{ 8, s_2_27, 25, 1, 0},
-{ 4, s_2_28, -1, 1, 0},
-{ 8, s_2_29, -1, 1, 0},
-{ 14, s_2_30, 29, 1, 0},
-{ 4, s_2_31, -1, 1, 0},
-{ 8, s_2_32, 31, 1, 0},
-{ 6, s_2_33, 31, 1, 0},
-{ 8, s_2_34, 31, 1, 0},
-{ 8, s_2_35, -1, 1, 0},
-{ 6, s_2_36, -1, 1, 0},
-{ 4, s_2_37, -1, 1, 0},
-{ 6, s_2_38, -1, 1, 0},
-{ 8, s_2_39, -1, 1, 0}
+static const struct among a_2[40] = {
+{ 6, s_2_0, 0, 1, 0},
+{ 6, s_2_1, 0, 1, 0},
+{ 8, s_2_2, -1, 1, 0},
+{ 8, s_2_3, 0, 1, 0},
+{ 4, s_2_4, 0, 1, 0},
+{ 4, s_2_5, 0, 1, 0},
+{ 2, s_2_6, 0, 1, 0},
+{ 6, s_2_7, -1, 1, 0},
+{ 6, s_2_8, -2, 1, 0},
+{ 4, s_2_9, -3, 1, 0},
+{ 8, s_2_10, -1, 1, 0},
+{ 8, s_2_11, -2, 1, 0},
+{ 8, s_2_12, -6, 1, 0},
+{ 8, s_2_13, -7, 1, 0},
+{ 8, s_2_14, -8, 1, 0},
+{ 10, s_2_15, -1, 1, 0},
+{ 6, s_2_16, -10, 1, 0},
+{ 6, s_2_17, -11, 1, 0},
+{ 6, s_2_18, -12, 1, 0},
+{ 6, s_2_19, 0, 1, 0},
+{ 8, s_2_20, 0, 1, 0},
+{ 4, s_2_21, 0, 1, 0},
+{ 8, s_2_22, 0, 1, 0},
+{ 4, s_2_23, 0, 1, 0},
+{ 6, s_2_24, 0, 1, 0},
+{ 4, s_2_25, 0, 1, 0},
+{ 6, s_2_26, -1, 1, 0},
+{ 8, s_2_27, -2, 1, 0},
+{ 4, s_2_28, 0, 1, 0},
+{ 8, s_2_29, 0, 1, 0},
+{ 14, s_2_30, -1, 1, 0},
+{ 4, s_2_31, 0, 1, 0},
+{ 8, s_2_32, -1, 1, 0},
+{ 6, s_2_33, -2, 1, 0},
+{ 8, s_2_34, -3, 1, 0},
+{ 8, s_2_35, 0, 1, 0},
+{ 6, s_2_36, 0, 1, 0},
+{ 4, s_2_37, 0, 1, 0},
+{ 6, s_2_38, 0, 1, 0},
+{ 8, s_2_39, 0, 1, 0}
 };
 
 static const symbol s_3_0[4] = { 0xD5, 0xA5, 0xD6, 0x80 };
@@ -367,116 +364,111 @@ static const symbol s_3_53[8] = { 0xD5, 0xA5, 0xD6, 0x80, 0xD5, 0xB8, 0xD5, 0xBE
 static const symbol s_3_54[10] = { 0xD5, 0xB6, 0xD5, 0xA5, 0xD6, 0x80, 0xD5, 0xB8, 0xD5, 0xBE };
 static const symbol s_3_55[8] = { 0xD5, 0xA1, 0xD5, 0xB6, 0xD5, 0xB8, 0xD5, 0xBE };
 static const symbol s_3_56[6] = { 0xD5, 0xBE, 0xD5, 0xB8, 0xD5, 0xBE };
-
-static const struct among a_3[57] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 6, s_3_1, 0, 1, 0},
-{ 2, s_3_2, -1, 1, 0},
-{ 6, s_3_3, 2, 1, 0},
-{ 4, s_3_4, 2, 1, 0},
-{ 8, s_3_5, 4, 1, 0},
-{ 10, s_3_6, 5, 1, 0},
-{ 6, s_3_7, 4, 1, 0},
-{ 10, s_3_8, 4, 1, 0},
-{ 8, s_3_9, 4, 1, 0},
-{ 6, s_3_10, 4, 1, 0},
-{ 4, s_3_11, 2, 1, 0},
-{ 4, s_3_12, -1, 1, 0},
-{ 4, s_3_13, -1, 1, 0},
-{ 6, s_3_14, -1, 1, 0},
-{ 2, s_3_15, -1, 1, 0},
-{ 6, s_3_16, 15, 1, 0},
-{ 8, s_3_17, 16, 1, 0},
-{ 6, s_3_18, 15, 1, 0},
-{ 6, s_3_19, 15, 1, 0},
-{ 14, s_3_20, 19, 1, 0},
-{ 8, s_3_21, 19, 1, 0},
-{ 6, s_3_22, 15, 1, 0},
-{ 2, s_3_23, -1, 1, 0},
-{ 6, s_3_24, 23, 1, 0},
-{ 8, s_3_25, 24, 1, 0},
-{ 6, s_3_26, 23, 1, 0},
-{ 14, s_3_27, 26, 1, 0},
-{ 8, s_3_28, 26, 1, 0},
-{ 6, s_3_29, 23, 1, 0},
-{ 2, s_3_30, -1, 1, 0},
-{ 6, s_3_31, 30, 1, 0},
-{ 8, s_3_32, 31, 1, 0},
-{ 4, s_3_33, 30, 1, 0},
-{ 10, s_3_34, -1, 1, 0},
-{ 12, s_3_35, 34, 1, 0},
-{ 10, s_3_36, -1, 1, 0},
-{ 2, s_3_37, -1, 1, 0},
-{ 6, s_3_38, 37, 1, 0},
-{ 8, s_3_39, 38, 1, 0},
-{ 6, s_3_40, 37, 1, 0},
-{ 4, s_3_41, 37, 1, 0},
-{ 12, s_3_42, 41, 1, 0},
-{ 6, s_3_43, 41, 1, 0},
-{ 4, s_3_44, 37, 1, 0},
-{ 8, s_3_45, 44, 1, 0},
-{ 10, s_3_46, 45, 1, 0},
-{ 14, s_3_47, 37, 1, 0},
-{ 4, s_3_48, -1, 1, 0},
-{ 14, s_3_49, -1, 1, 0},
-{ 8, s_3_50, -1, 1, 0},
-{ 6, s_3_51, -1, 1, 0},
-{ 4, s_3_52, -1, 1, 0},
-{ 8, s_3_53, 52, 1, 0},
-{ 10, s_3_54, 53, 1, 0},
-{ 8, s_3_55, 52, 1, 0},
-{ 6, s_3_56, 52, 1, 0}
+static const struct among a_3[57] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 6, s_3_1, -1, 1, 0},
+{ 2, s_3_2, 0, 1, 0},
+{ 6, s_3_3, -1, 1, 0},
+{ 4, s_3_4, -2, 1, 0},
+{ 8, s_3_5, -1, 1, 0},
+{ 10, s_3_6, -1, 1, 0},
+{ 6, s_3_7, -3, 1, 0},
+{ 10, s_3_8, -4, 1, 0},
+{ 8, s_3_9, -5, 1, 0},
+{ 6, s_3_10, -6, 1, 0},
+{ 4, s_3_11, -9, 1, 0},
+{ 4, s_3_12, 0, 1, 0},
+{ 4, s_3_13, 0, 1, 0},
+{ 6, s_3_14, 0, 1, 0},
+{ 2, s_3_15, 0, 1, 0},
+{ 6, s_3_16, -1, 1, 0},
+{ 8, s_3_17, -1, 1, 0},
+{ 6, s_3_18, -3, 1, 0},
+{ 6, s_3_19, -4, 1, 0},
+{ 14, s_3_20, -1, 1, 0},
+{ 8, s_3_21, -2, 1, 0},
+{ 6, s_3_22, -7, 1, 0},
+{ 2, s_3_23, 0, 1, 0},
+{ 6, s_3_24, -1, 1, 0},
+{ 8, s_3_25, -1, 1, 0},
+{ 6, s_3_26, -3, 1, 0},
+{ 14, s_3_27, -1, 1, 0},
+{ 8, s_3_28, -2, 1, 0},
+{ 6, s_3_29, -6, 1, 0},
+{ 2, s_3_30, 0, 1, 0},
+{ 6, s_3_31, -1, 1, 0},
+{ 8, s_3_32, -1, 1, 0},
+{ 4, s_3_33, -3, 1, 0},
+{ 10, s_3_34, 0, 1, 0},
+{ 12, s_3_35, -1, 1, 0},
+{ 10, s_3_36, 0, 1, 0},
+{ 2, s_3_37, 0, 1, 0},
+{ 6, s_3_38, -1, 1, 0},
+{ 8, s_3_39, -1, 1, 0},
+{ 6, s_3_40, -3, 1, 0},
+{ 4, s_3_41, -4, 1, 0},
+{ 12, s_3_42, -1, 1, 0},
+{ 6, s_3_43, -2, 1, 0},
+{ 4, s_3_44, -7, 1, 0},
+{ 8, s_3_45, -1, 1, 0},
+{ 10, s_3_46, -1, 1, 0},
+{ 14, s_3_47, -10, 1, 0},
+{ 4, s_3_48, 0, 1, 0},
+{ 14, s_3_49, 0, 1, 0},
+{ 8, s_3_50, 0, 1, 0},
+{ 6, s_3_51, 0, 1, 0},
+{ 4, s_3_52, 0, 1, 0},
+{ 8, s_3_53, -1, 1, 0},
+{ 10, s_3_54, -1, 1, 0},
+{ 8, s_3_55, -3, 1, 0},
+{ 6, s_3_56, -4, 1, 0}
 };
 
 static const unsigned char g_v[] = { 209, 4, 128, 0, 18 };
 
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 1377, 1413, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_pV = z->c;
         {
             int ret = in_grouping_U(z, g_v, 1377, 1413, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = out_grouping_U(z, g_v, 1377, 1413, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 1377, 1413, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_adjective(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_0, 23)) return 0;
+    if (!find_among_b(z, a_0, 23, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -484,9 +476,10 @@ static int r_adjective(struct SN_env * z) {
 
 static int r_verb(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_1, 71)) return 0;
+    if (!find_among_b(z, a_1, 71, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -494,9 +487,10 @@ static int r_verb(struct SN_env * z) {
 
 static int r_noun(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_2, 40)) return 0;
+    if (!find_among_b(z, a_2, 40, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -504,59 +498,77 @@ static int r_noun(struct SN_env * z) {
 
 static int r_ending(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_3, 57)) return 0;
+    if (!find_among_b(z, a_3, 57, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int armenian_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
-        {   int m2 = z->l - z->c; (void)m2;
-            {   int ret = r_ending(z);
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
+        {
+            int v_2 = z->l - z->c;
+            {
+                int ret = r_ending(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_verb(z);
+        {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_verb(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m3;
+            z->c = z->l - v_3;
         }
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int ret = r_adjective(z);
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = r_adjective(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m4;
+            z->c = z->l - v_4;
         }
-        {   int m5 = z->l - z->c; (void)m5;
-            {   int ret = r_noun(z);
+        {
+            int v_5 = z->l - z->c;
+            {
+                int ret = r_noun(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m5;
+            z->c = z->l - v_5;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * armenian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * armenian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void armenian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void armenian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 67b5b4835b8728e44db0760eeb8fb6edcdc56201..9f29692f4282a469778024ae7add28845d1a79d8 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from basque.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_basque.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int basque_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_R1(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_RV(struct SN_env * z);
@@ -16,18 +30,12 @@ static int r_mark_regions(struct SN_env * z);
 static int r_adjetiboak(struct SN_env * z);
 static int r_izenak(struct SN_env * z);
 static int r_aditzak(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
 
+static const symbol s_0[] = { 'j', 'o', 'k' };
+static const symbol s_1[] = { 't', 'r', 'a' };
+static const symbol s_2[] = { 'm', 'i', 'n', 'u', 't', 'u' };
+static const symbol s_3[] = { 'z' };
 
-extern struct SN_env * basque_UTF_8_create_env(void);
-extern void basque_UTF_8_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[4] = { 'i', 'd', 'e', 'a' };
 static const symbol s_0_1[5] = { 'b', 'i', 'd', 'e', 'a' };
 static const symbol s_0_2[5] = { 'k', 'i', 'd', 'e', 'a' };
@@ -137,118 +145,116 @@ static const symbol s_0_105[5] = { 'e', 'r', 'r', 'e', 'z' };
 static const symbol s_0_106[4] = { 't', 'z', 'e', 'z' };
 static const symbol s_0_107[5] = { 'g', 'a', 'i', 't', 'z' };
 static const symbol s_0_108[5] = { 'k', 'a', 'i', 't', 'z' };
-
-static const struct among a_0[109] =
-{
-{ 4, s_0_0, -1, 1, 0},
-{ 5, s_0_1, 0, 1, 0},
-{ 5, s_0_2, 0, 1, 0},
-{ 5, s_0_3, 0, 1, 0},
-{ 6, s_0_4, -1, 1, 0},
-{ 5, s_0_5, -1, 1, 0},
-{ 6, s_0_6, -1, 1, 0},
-{ 7, s_0_7, -1, 1, 0},
-{ 5, s_0_8, -1, 1, 0},
-{ 5, s_0_9, -1, 1, 0},
-{ 5, s_0_10, -1, 1, 0},
-{ 4, s_0_11, -1, 1, 0},
-{ 5, s_0_12, -1, 1, 0},
-{ 6, s_0_13, 12, 1, 0},
-{ 5, s_0_14, -1, 1, 0},
-{ 6, s_0_15, -1, 2, 0},
-{ 6, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 1, 0},
-{ 5, s_0_18, 17, 1, 0},
-{ 2, s_0_19, -1, 1, 0},
-{ 4, s_0_20, -1, 1, 0},
-{ 4, s_0_21, -1, 1, 0},
-{ 4, s_0_22, -1, 1, 0},
-{ 5, s_0_23, -1, 1, 0},
-{ 6, s_0_24, 23, 1, 0},
-{ 4, s_0_25, -1, 1, 0},
-{ 4, s_0_26, -1, 1, 0},
-{ 6, s_0_27, -1, 1, 0},
-{ 3, s_0_28, -1, 1, 0},
-{ 4, s_0_29, 28, 1, 0},
-{ 7, s_0_30, 29, 4, 0},
-{ 4, s_0_31, 28, 1, 0},
-{ 4, s_0_32, 28, 1, 0},
-{ 4, s_0_33, -1, 1, 0},
-{ 5, s_0_34, 33, 1, 0},
-{ 4, s_0_35, -1, 1, 0},
-{ 4, s_0_36, -1, 1, 0},
-{ 4, s_0_37, -1, 1, 0},
-{ 4, s_0_38, -1, 1, 0},
-{ 3, s_0_39, -1, 1, 0},
-{ 4, s_0_40, 39, 1, 0},
-{ 6, s_0_41, -1, 1, 0},
-{ 3, s_0_42, -1, 1, 0},
-{ 6, s_0_43, 42, 1, 0},
-{ 3, s_0_44, -1, 2, 0},
-{ 6, s_0_45, 44, 1, 0},
-{ 6, s_0_46, 44, 1, 0},
-{ 6, s_0_47, 44, 1, 0},
-{ 3, s_0_48, -1, 1, 0},
-{ 4, s_0_49, 48, 1, 0},
-{ 4, s_0_50, 48, 1, 0},
-{ 4, s_0_51, 48, 1, 0},
-{ 5, s_0_52, -1, 1, 0},
-{ 5, s_0_53, -1, 1, 0},
-{ 5, s_0_54, -1, 1, 0},
-{ 2, s_0_55, -1, 1, 0},
-{ 4, s_0_56, 55, 1, 0},
-{ 5, s_0_57, 55, 1, 0},
-{ 6, s_0_58, 55, 1, 0},
-{ 4, s_0_59, -1, 1, 0},
-{ 4, s_0_60, -1, 1, 0},
-{ 3, s_0_61, -1, 1, 0},
-{ 4, s_0_62, 61, 1, 0},
-{ 3, s_0_63, -1, 1, 0},
-{ 4, s_0_64, -1, 1, 0},
-{ 5, s_0_65, 64, 1, 0},
-{ 2, s_0_66, -1, 1, 0},
-{ 3, s_0_67, -1, 1, 0},
-{ 4, s_0_68, 67, 1, 0},
-{ 4, s_0_69, 67, 1, 0},
-{ 4, s_0_70, 67, 1, 0},
-{ 5, s_0_71, 70, 1, 0},
-{ 5, s_0_72, -1, 2, 0},
-{ 5, s_0_73, -1, 1, 0},
-{ 5, s_0_74, -1, 1, 0},
-{ 6, s_0_75, 74, 1, 0},
-{ 2, s_0_76, -1, 1, 0},
-{ 3, s_0_77, 76, 1, 0},
-{ 4, s_0_78, 77, 1, 0},
-{ 3, s_0_79, 76, 1, 0},
-{ 4, s_0_80, 76, 1, 0},
-{ 7, s_0_81, -1, 3, 0},
-{ 3, s_0_82, -1, 1, 0},
-{ 3, s_0_83, -1, 1, 0},
-{ 3, s_0_84, -1, 1, 0},
-{ 5, s_0_85, 84, 1, 0},
-{ 4, s_0_86, -1, 1, 0},
-{ 5, s_0_87, 86, 1, 0},
-{ 3, s_0_88, -1, 1, 0},
-{ 5, s_0_89, -1, 1, 0},
-{ 2, s_0_90, -1, 1, 0},
-{ 3, s_0_91, 90, 1, 0},
-{ 3, s_0_92, -1, 1, 0},
-{ 4, s_0_93, -1, 1, 0},
-{ 2, s_0_94, -1, 1, 0},
-{ 3, s_0_95, 94, 1, 0},
-{ 4, s_0_96, -1, 1, 0},
-{ 2, s_0_97, -1, 1, 0},
-{ 5, s_0_98, -1, 1, 0},
-{ 2, s_0_99, -1, 1, 0},
-{ 3, s_0_100, 99, 1, 0},
-{ 6, s_0_101, 100, 1, 0},
-{ 4, s_0_102, 100, 1, 0},
-{ 6, s_0_103, 99, 5, 0},
-{ 2, s_0_104, -1, 1, 0},
-{ 5, s_0_105, 104, 1, 0},
-{ 4, s_0_106, 104, 1, 0},
-{ 5, s_0_107, -1, 1, 0},
-{ 5, s_0_108, -1, 1, 0}
+static const struct among a_0[109] = {
+{ 4, s_0_0, 0, 1, 0},
+{ 5, s_0_1, -1, 1, 0},
+{ 5, s_0_2, -2, 1, 0},
+{ 5, s_0_3, -3, 1, 0},
+{ 6, s_0_4, 0, 1, 0},
+{ 5, s_0_5, 0, 1, 0},
+{ 6, s_0_6, 0, 1, 0},
+{ 7, s_0_7, 0, 1, 0},
+{ 5, s_0_8, 0, 1, 0},
+{ 5, s_0_9, 0, 1, 0},
+{ 5, s_0_10, 0, 1, 0},
+{ 4, s_0_11, 0, 1, 0},
+{ 5, s_0_12, 0, 1, 0},
+{ 6, s_0_13, -1, 1, 0},
+{ 5, s_0_14, 0, 1, 0},
+{ 6, s_0_15, 0, 2, 0},
+{ 6, s_0_16, 0, 1, 0},
+{ 2, s_0_17, 0, 1, 0},
+{ 5, s_0_18, -1, 1, 0},
+{ 2, s_0_19, 0, 1, 0},
+{ 4, s_0_20, 0, 1, 0},
+{ 4, s_0_21, 0, 1, 0},
+{ 4, s_0_22, 0, 1, 0},
+{ 5, s_0_23, 0, 1, 0},
+{ 6, s_0_24, -1, 1, 0},
+{ 4, s_0_25, 0, 1, 0},
+{ 4, s_0_26, 0, 1, 0},
+{ 6, s_0_27, 0, 1, 0},
+{ 3, s_0_28, 0, 1, 0},
+{ 4, s_0_29, -1, 1, 0},
+{ 7, s_0_30, -1, -1, 0},
+{ 4, s_0_31, -3, 1, 0},
+{ 4, s_0_32, -4, 1, 0},
+{ 4, s_0_33, 0, 1, 0},
+{ 5, s_0_34, -1, 1, 0},
+{ 4, s_0_35, 0, 1, 0},
+{ 4, s_0_36, 0, 1, 0},
+{ 4, s_0_37, 0, 1, 0},
+{ 4, s_0_38, 0, 1, 0},
+{ 3, s_0_39, 0, 1, 0},
+{ 4, s_0_40, -1, 1, 0},
+{ 6, s_0_41, 0, 1, 0},
+{ 3, s_0_42, 0, 1, 0},
+{ 6, s_0_43, -1, 1, 0},
+{ 3, s_0_44, 0, 2, 0},
+{ 6, s_0_45, -1, 1, 0},
+{ 6, s_0_46, -2, 1, 0},
+{ 6, s_0_47, -3, 1, 0},
+{ 3, s_0_48, 0, 1, 0},
+{ 4, s_0_49, -1, 1, 0},
+{ 4, s_0_50, -2, 1, 0},
+{ 4, s_0_51, -3, 1, 0},
+{ 5, s_0_52, 0, 1, 0},
+{ 5, s_0_53, 0, 1, 0},
+{ 5, s_0_54, 0, 1, 0},
+{ 2, s_0_55, 0, 1, 0},
+{ 4, s_0_56, -1, 1, 0},
+{ 5, s_0_57, -2, 1, 0},
+{ 6, s_0_58, -3, 1, 0},
+{ 4, s_0_59, 0, 1, 0},
+{ 4, s_0_60, 0, 1, 0},
+{ 3, s_0_61, 0, 1, 0},
+{ 4, s_0_62, -1, 1, 0},
+{ 3, s_0_63, 0, 1, 0},
+{ 4, s_0_64, 0, 1, 0},
+{ 5, s_0_65, -1, 1, 0},
+{ 2, s_0_66, 0, 1, 0},
+{ 3, s_0_67, 0, 1, 0},
+{ 4, s_0_68, -1, 1, 0},
+{ 4, s_0_69, -2, 1, 0},
+{ 4, s_0_70, -3, 1, 0},
+{ 5, s_0_71, -1, 1, 0},
+{ 5, s_0_72, 0, 2, 0},
+{ 5, s_0_73, 0, 1, 0},
+{ 5, s_0_74, 0, 1, 0},
+{ 6, s_0_75, -1, 1, 0},
+{ 2, s_0_76, 0, 1, 0},
+{ 3, s_0_77, -1, 1, 0},
+{ 4, s_0_78, -1, 1, 0},
+{ 3, s_0_79, -3, 1, 0},
+{ 4, s_0_80, -4, 1, 0},
+{ 7, s_0_81, 0, -1, 0},
+{ 3, s_0_82, 0, 1, 0},
+{ 3, s_0_83, 0, 1, 0},
+{ 3, s_0_84, 0, 1, 0},
+{ 5, s_0_85, -1, 1, 0},
+{ 4, s_0_86, 0, 1, 0},
+{ 5, s_0_87, -1, 1, 0},
+{ 3, s_0_88, 0, 1, 0},
+{ 5, s_0_89, 0, 1, 0},
+{ 2, s_0_90, 0, 1, 0},
+{ 3, s_0_91, -1, 1, 0},
+{ 3, s_0_92, 0, 1, 0},
+{ 4, s_0_93, 0, 1, 0},
+{ 2, s_0_94, 0, 1, 0},
+{ 3, s_0_95, -1, 1, 0},
+{ 4, s_0_96, 0, 1, 0},
+{ 2, s_0_97, 0, 1, 0},
+{ 5, s_0_98, 0, 1, 0},
+{ 2, s_0_99, 0, 1, 0},
+{ 3, s_0_100, -1, 1, 0},
+{ 6, s_0_101, -1, 1, 0},
+{ 4, s_0_102, -2, 1, 0},
+{ 6, s_0_103, -4, -1, 0},
+{ 2, s_0_104, 0, 1, 0},
+{ 5, s_0_105, -1, 1, 0},
+{ 4, s_0_106, -2, 1, 0},
+{ 5, s_0_107, 0, 1, 0},
+{ 5, s_0_108, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'a', 'd', 'a' };
@@ -546,304 +552,302 @@ static const symbol s_1_291[2] = { 'e', 'z' };
 static const symbol s_1_292[4] = { 'e', 'r', 'o', 'z' };
 static const symbol s_1_293[2] = { 't', 'z' };
 static const symbol s_1_294[5] = { 'k', 'o', 'i', 't', 'z' };
-
-static const struct among a_1[295] =
-{
-{ 3, s_1_0, -1, 1, 0},
-{ 4, s_1_1, 0, 1, 0},
-{ 4, s_1_2, -1, 1, 0},
-{ 5, s_1_3, -1, 1, 0},
-{ 5, s_1_4, -1, 1, 0},
-{ 5, s_1_5, -1, 1, 0},
-{ 5, s_1_6, -1, 1, 0},
-{ 6, s_1_7, 6, 1, 0},
-{ 6, s_1_8, 6, 1, 0},
-{ 5, s_1_9, -1, 1, 0},
-{ 5, s_1_10, -1, 1, 0},
-{ 6, s_1_11, 10, 1, 0},
-{ 5, s_1_12, -1, 1, 0},
-{ 4, s_1_13, -1, 1, 0},
-{ 5, s_1_14, -1, 1, 0},
-{ 3, s_1_15, -1, 1, 0},
-{ 4, s_1_16, 15, 1, 0},
-{ 6, s_1_17, 15, 1, 0},
-{ 4, s_1_18, 15, 1, 0},
-{ 5, s_1_19, 18, 1, 0},
-{ 3, s_1_20, -1, 1, 0},
-{ 6, s_1_21, -1, 1, 0},
-{ 3, s_1_22, -1, 1, 0},
-{ 5, s_1_23, 22, 1, 0},
-{ 5, s_1_24, 22, 1, 0},
-{ 5, s_1_25, 22, 1, 0},
-{ 5, s_1_26, -1, 1, 0},
-{ 2, s_1_27, -1, 1, 0},
-{ 4, s_1_28, 27, 1, 0},
-{ 4, s_1_29, -1, 1, 0},
-{ 5, s_1_30, -1, 1, 0},
-{ 6, s_1_31, 30, 1, 0},
-{ 6, s_1_32, -1, 1, 0},
-{ 6, s_1_33, -1, 1, 0},
-{ 4, s_1_34, -1, 1, 0},
-{ 4, s_1_35, -1, 1, 0},
-{ 5, s_1_36, 35, 1, 0},
-{ 5, s_1_37, 35, 1, 0},
-{ 5, s_1_38, -1, 1, 0},
-{ 4, s_1_39, -1, 1, 0},
-{ 3, s_1_40, -1, 1, 0},
-{ 5, s_1_41, 40, 1, 0},
-{ 3, s_1_42, -1, 1, 0},
-{ 4, s_1_43, 42, 1, 0},
-{ 4, s_1_44, -1, 1, 0},
-{ 5, s_1_45, 44, 1, 0},
-{ 5, s_1_46, 44, 1, 0},
-{ 5, s_1_47, 44, 1, 0},
-{ 4, s_1_48, -1, 1, 0},
-{ 5, s_1_49, 48, 1, 0},
-{ 5, s_1_50, 48, 1, 0},
-{ 6, s_1_51, -1, 2, 0},
-{ 6, s_1_52, -1, 1, 0},
-{ 6, s_1_53, -1, 1, 0},
-{ 5, s_1_54, -1, 1, 0},
-{ 4, s_1_55, -1, 1, 0},
-{ 3, s_1_56, -1, 1, 0},
-{ 4, s_1_57, -1, 1, 0},
-{ 5, s_1_58, -1, 1, 0},
-{ 6, s_1_59, -1, 1, 0},
-{ 2, s_1_60, -1, 1, 0},
-{ 4, s_1_61, 60, 3, 0},
-{ 5, s_1_62, 60, 10, 0},
-{ 3, s_1_63, 60, 1, 0},
-{ 3, s_1_64, 60, 1, 0},
-{ 3, s_1_65, 60, 1, 0},
-{ 6, s_1_66, -1, 1, 0},
-{ 4, s_1_67, -1, 1, 0},
-{ 5, s_1_68, -1, 1, 0},
-{ 5, s_1_69, -1, 1, 0},
-{ 4, s_1_70, -1, 1, 0},
-{ 3, s_1_71, -1, 1, 0},
-{ 2, s_1_72, -1, 1, 0},
-{ 4, s_1_73, 72, 1, 0},
-{ 3, s_1_74, 72, 1, 0},
-{ 7, s_1_75, 74, 1, 0},
-{ 7, s_1_76, 74, 1, 0},
-{ 6, s_1_77, 74, 1, 0},
-{ 5, s_1_78, 72, 1, 0},
-{ 6, s_1_79, 78, 1, 0},
-{ 4, s_1_80, 72, 1, 0},
-{ 4, s_1_81, 72, 1, 0},
-{ 5, s_1_82, 72, 1, 0},
-{ 3, s_1_83, 72, 1, 0},
-{ 4, s_1_84, 83, 1, 0},
-{ 5, s_1_85, 83, 1, 0},
-{ 6, s_1_86, 85, 1, 0},
-{ 5, s_1_87, -1, 1, 0},
-{ 6, s_1_88, 87, 1, 0},
-{ 4, s_1_89, -1, 1, 0},
-{ 4, s_1_90, -1, 1, 0},
-{ 3, s_1_91, -1, 1, 0},
-{ 5, s_1_92, 91, 1, 0},
-{ 4, s_1_93, 91, 1, 0},
-{ 3, s_1_94, -1, 1, 0},
-{ 5, s_1_95, 94, 1, 0},
-{ 4, s_1_96, -1, 1, 0},
-{ 5, s_1_97, 96, 1, 0},
-{ 5, s_1_98, 96, 1, 0},
-{ 4, s_1_99, -1, 1, 0},
-{ 4, s_1_100, -1, 1, 0},
-{ 4, s_1_101, -1, 1, 0},
-{ 3, s_1_102, -1, 1, 0},
-{ 4, s_1_103, 102, 1, 0},
-{ 4, s_1_104, 102, 1, 0},
-{ 4, s_1_105, -1, 1, 0},
-{ 4, s_1_106, -1, 1, 0},
-{ 4, s_1_107, -1, 1, 0},
-{ 2, s_1_108, -1, 1, 0},
-{ 3, s_1_109, 108, 1, 0},
-{ 4, s_1_110, 109, 1, 0},
-{ 5, s_1_111, 109, 1, 0},
-{ 5, s_1_112, 109, 1, 0},
-{ 4, s_1_113, 109, 1, 0},
-{ 5, s_1_114, 113, 1, 0},
-{ 5, s_1_115, 109, 1, 0},
-{ 4, s_1_116, 108, 1, 0},
-{ 4, s_1_117, 108, 1, 0},
-{ 4, s_1_118, 108, 1, 0},
-{ 3, s_1_119, 108, 2, 0},
-{ 6, s_1_120, 108, 1, 0},
-{ 5, s_1_121, 108, 1, 0},
-{ 3, s_1_122, 108, 1, 0},
-{ 2, s_1_123, -1, 1, 0},
-{ 3, s_1_124, 123, 1, 0},
-{ 2, s_1_125, -1, 1, 0},
-{ 3, s_1_126, 125, 1, 0},
-{ 4, s_1_127, 126, 1, 0},
-{ 3, s_1_128, 125, 1, 0},
-{ 3, s_1_129, -1, 1, 0},
-{ 6, s_1_130, 129, 1, 0},
-{ 5, s_1_131, 129, 1, 0},
-{ 5, s_1_132, -1, 1, 0},
-{ 5, s_1_133, -1, 1, 0},
-{ 5, s_1_134, -1, 1, 0},
-{ 4, s_1_135, -1, 1, 0},
-{ 3, s_1_136, -1, 1, 0},
-{ 6, s_1_137, 136, 1, 0},
-{ 5, s_1_138, 136, 1, 0},
-{ 4, s_1_139, -1, 1, 0},
-{ 3, s_1_140, -1, 1, 0},
-{ 4, s_1_141, 140, 1, 0},
-{ 2, s_1_142, -1, 1, 0},
-{ 3, s_1_143, 142, 1, 0},
-{ 5, s_1_144, 142, 1, 0},
-{ 3, s_1_145, 142, 2, 0},
-{ 6, s_1_146, 145, 1, 0},
-{ 5, s_1_147, 145, 1, 0},
-{ 6, s_1_148, 145, 1, 0},
-{ 6, s_1_149, 145, 1, 0},
-{ 6, s_1_150, 145, 1, 0},
-{ 4, s_1_151, -1, 1, 0},
-{ 4, s_1_152, -1, 1, 0},
-{ 4, s_1_153, -1, 1, 0},
-{ 4, s_1_154, -1, 1, 0},
-{ 5, s_1_155, 154, 1, 0},
-{ 5, s_1_156, 154, 1, 0},
-{ 4, s_1_157, -1, 1, 0},
-{ 2, s_1_158, -1, 1, 0},
-{ 4, s_1_159, -1, 1, 0},
-{ 5, s_1_160, 159, 1, 0},
-{ 4, s_1_161, -1, 1, 0},
-{ 3, s_1_162, -1, 1, 0},
-{ 4, s_1_163, -1, 1, 0},
-{ 2, s_1_164, -1, 1, 0},
-{ 5, s_1_165, 164, 1, 0},
-{ 3, s_1_166, 164, 1, 0},
-{ 4, s_1_167, 166, 1, 0},
-{ 2, s_1_168, -1, 1, 0},
-{ 5, s_1_169, -1, 1, 0},
-{ 2, s_1_170, -1, 1, 0},
-{ 4, s_1_171, 170, 1, 0},
-{ 4, s_1_172, 170, 1, 0},
-{ 4, s_1_173, 170, 1, 0},
-{ 4, s_1_174, -1, 1, 0},
-{ 3, s_1_175, -1, 1, 0},
-{ 2, s_1_176, -1, 1, 0},
-{ 4, s_1_177, 176, 1, 0},
-{ 5, s_1_178, 177, 1, 0},
-{ 5, s_1_179, 176, 8, 0},
-{ 5, s_1_180, 176, 1, 0},
-{ 5, s_1_181, 176, 1, 0},
-{ 3, s_1_182, -1, 1, 0},
-{ 3, s_1_183, -1, 1, 0},
-{ 4, s_1_184, 183, 1, 0},
-{ 4, s_1_185, 183, 1, 0},
-{ 4, s_1_186, -1, 1, 0},
-{ 3, s_1_187, -1, 1, 0},
-{ 2, s_1_188, -1, 1, 0},
-{ 4, s_1_189, 188, 1, 0},
-{ 2, s_1_190, -1, 1, 0},
-{ 3, s_1_191, 190, 1, 0},
-{ 3, s_1_192, 190, 1, 0},
-{ 3, s_1_193, -1, 1, 0},
-{ 4, s_1_194, 193, 1, 0},
-{ 4, s_1_195, 193, 1, 0},
-{ 4, s_1_196, 193, 1, 0},
-{ 5, s_1_197, -1, 2, 0},
-{ 5, s_1_198, -1, 1, 0},
-{ 5, s_1_199, -1, 1, 0},
-{ 4, s_1_200, -1, 1, 0},
-{ 3, s_1_201, -1, 1, 0},
-{ 2, s_1_202, -1, 1, 0},
-{ 5, s_1_203, -1, 1, 0},
-{ 3, s_1_204, -1, 1, 0},
-{ 2, s_1_205, -1, 1, 0},
-{ 2, s_1_206, -1, 1, 0},
-{ 5, s_1_207, -1, 1, 0},
-{ 5, s_1_208, -1, 1, 0},
-{ 3, s_1_209, -1, 1, 0},
-{ 4, s_1_210, 209, 1, 0},
-{ 3, s_1_211, -1, 1, 0},
-{ 3, s_1_212, -1, 1, 0},
-{ 4, s_1_213, 212, 1, 0},
-{ 2, s_1_214, -1, 4, 0},
-{ 3, s_1_215, 214, 2, 0},
-{ 6, s_1_216, 215, 1, 0},
-{ 6, s_1_217, 215, 1, 0},
-{ 5, s_1_218, 215, 1, 0},
-{ 3, s_1_219, 214, 4, 0},
-{ 4, s_1_220, 214, 4, 0},
-{ 4, s_1_221, -1, 1, 0},
-{ 5, s_1_222, 221, 1, 0},
-{ 3, s_1_223, -1, 1, 0},
-{ 3, s_1_224, -1, 1, 0},
-{ 3, s_1_225, -1, 1, 0},
-{ 4, s_1_226, -1, 1, 0},
-{ 5, s_1_227, 226, 1, 0},
-{ 5, s_1_228, -1, 1, 0},
-{ 4, s_1_229, -1, 1, 0},
-{ 5, s_1_230, 229, 1, 0},
-{ 2, s_1_231, -1, 1, 0},
-{ 3, s_1_232, 231, 1, 0},
-{ 3, s_1_233, -1, 1, 0},
-{ 2, s_1_234, -1, 1, 0},
-{ 5, s_1_235, 234, 5, 0},
-{ 4, s_1_236, 234, 1, 0},
-{ 5, s_1_237, 236, 1, 0},
-{ 3, s_1_238, 234, 1, 0},
-{ 6, s_1_239, 234, 1, 0},
-{ 3, s_1_240, 234, 1, 0},
-{ 4, s_1_241, 234, 1, 0},
-{ 8, s_1_242, 241, 6, 0},
-{ 3, s_1_243, 234, 1, 0},
-{ 2, s_1_244, -1, 1, 0},
-{ 4, s_1_245, 244, 1, 0},
-{ 2, s_1_246, -1, 1, 0},
-{ 3, s_1_247, 246, 1, 0},
-{ 5, s_1_248, 247, 9, 0},
-{ 4, s_1_249, 247, 1, 0},
-{ 4, s_1_250, 247, 1, 0},
-{ 3, s_1_251, 246, 1, 0},
-{ 4, s_1_252, 246, 1, 0},
-{ 3, s_1_253, 246, 1, 0},
-{ 3, s_1_254, -1, 1, 0},
-{ 2, s_1_255, -1, 1, 0},
-{ 3, s_1_256, 255, 1, 0},
-{ 3, s_1_257, 255, 1, 0},
-{ 3, s_1_258, -1, 1, 0},
-{ 3, s_1_259, -1, 1, 0},
-{ 6, s_1_260, 259, 1, 0},
-{ 3, s_1_261, -1, 1, 0},
-{ 2, s_1_262, -1, 1, 0},
-{ 2, s_1_263, -1, 1, 0},
-{ 3, s_1_264, 263, 1, 0},
-{ 5, s_1_265, 263, 1, 0},
-{ 5, s_1_266, 263, 7, 0},
-{ 4, s_1_267, 263, 1, 0},
-{ 4, s_1_268, 263, 1, 0},
-{ 3, s_1_269, 263, 1, 0},
-{ 4, s_1_270, 263, 1, 0},
-{ 2, s_1_271, -1, 2, 0},
-{ 3, s_1_272, 271, 1, 0},
-{ 2, s_1_273, -1, 1, 0},
-{ 3, s_1_274, -1, 1, 0},
-{ 2, s_1_275, -1, 1, 0},
-{ 5, s_1_276, 275, 1, 0},
-{ 4, s_1_277, 275, 1, 0},
-{ 4, s_1_278, -1, 1, 0},
-{ 4, s_1_279, -1, 2, 0},
-{ 4, s_1_280, -1, 1, 0},
-{ 3, s_1_281, -1, 1, 0},
-{ 2, s_1_282, -1, 1, 0},
-{ 4, s_1_283, 282, 4, 0},
-{ 5, s_1_284, 282, 1, 0},
-{ 4, s_1_285, 282, 1, 0},
-{ 3, s_1_286, -1, 1, 0},
-{ 2, s_1_287, -1, 1, 0},
-{ 3, s_1_288, 287, 1, 0},
-{ 6, s_1_289, 288, 1, 0},
-{ 1, s_1_290, -1, 1, 0},
-{ 2, s_1_291, 290, 1, 0},
-{ 4, s_1_292, 290, 1, 0},
-{ 2, s_1_293, 290, 1, 0},
-{ 5, s_1_294, 293, 1, 0}
+static const struct among a_1[295] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 4, s_1_1, -1, 1, 0},
+{ 4, s_1_2, 0, 1, 0},
+{ 5, s_1_3, 0, 1, 0},
+{ 5, s_1_4, 0, 1, 0},
+{ 5, s_1_5, 0, 1, 0},
+{ 5, s_1_6, 0, 1, 0},
+{ 6, s_1_7, -1, 1, 0},
+{ 6, s_1_8, -2, 1, 0},
+{ 5, s_1_9, 0, 1, 0},
+{ 5, s_1_10, 0, 1, 0},
+{ 6, s_1_11, -1, 1, 0},
+{ 5, s_1_12, 0, 1, 0},
+{ 4, s_1_13, 0, 1, 0},
+{ 5, s_1_14, 0, 1, 0},
+{ 3, s_1_15, 0, 1, 0},
+{ 4, s_1_16, -1, 1, 0},
+{ 6, s_1_17, -2, 1, 0},
+{ 4, s_1_18, -3, 1, 0},
+{ 5, s_1_19, -1, 1, 0},
+{ 3, s_1_20, 0, 1, 0},
+{ 6, s_1_21, 0, 1, 0},
+{ 3, s_1_22, 0, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 5, s_1_24, -2, 1, 0},
+{ 5, s_1_25, -3, 1, 0},
+{ 5, s_1_26, 0, 1, 0},
+{ 2, s_1_27, 0, 1, 0},
+{ 4, s_1_28, -1, 1, 0},
+{ 4, s_1_29, 0, 1, 0},
+{ 5, s_1_30, 0, 1, 0},
+{ 6, s_1_31, -1, 1, 0},
+{ 6, s_1_32, 0, 1, 0},
+{ 6, s_1_33, 0, 1, 0},
+{ 4, s_1_34, 0, 1, 0},
+{ 4, s_1_35, 0, 1, 0},
+{ 5, s_1_36, -1, 1, 0},
+{ 5, s_1_37, -2, 1, 0},
+{ 5, s_1_38, 0, 1, 0},
+{ 4, s_1_39, 0, 1, 0},
+{ 3, s_1_40, 0, 1, 0},
+{ 5, s_1_41, -1, 1, 0},
+{ 3, s_1_42, 0, 1, 0},
+{ 4, s_1_43, -1, 1, 0},
+{ 4, s_1_44, 0, 1, 0},
+{ 5, s_1_45, -1, 1, 0},
+{ 5, s_1_46, -2, 1, 0},
+{ 5, s_1_47, -3, 1, 0},
+{ 4, s_1_48, 0, 1, 0},
+{ 5, s_1_49, -1, 1, 0},
+{ 5, s_1_50, -2, 1, 0},
+{ 6, s_1_51, 0, 2, 0},
+{ 6, s_1_52, 0, 1, 0},
+{ 6, s_1_53, 0, 1, 0},
+{ 5, s_1_54, 0, 1, 0},
+{ 4, s_1_55, 0, 1, 0},
+{ 3, s_1_56, 0, 1, 0},
+{ 4, s_1_57, 0, 1, 0},
+{ 5, s_1_58, 0, 1, 0},
+{ 6, s_1_59, 0, 1, 0},
+{ 2, s_1_60, 0, 1, 0},
+{ 4, s_1_61, -1, 3, 0},
+{ 5, s_1_62, -2, -1, 0},
+{ 3, s_1_63, -3, 1, 0},
+{ 3, s_1_64, -4, 1, 0},
+{ 3, s_1_65, -5, 1, 0},
+{ 6, s_1_66, 0, 1, 0},
+{ 4, s_1_67, 0, 1, 0},
+{ 5, s_1_68, 0, 1, 0},
+{ 5, s_1_69, 0, 1, 0},
+{ 4, s_1_70, 0, 1, 0},
+{ 3, s_1_71, 0, 1, 0},
+{ 2, s_1_72, 0, 1, 0},
+{ 4, s_1_73, -1, 1, 0},
+{ 3, s_1_74, -2, 1, 0},
+{ 7, s_1_75, -1, 1, 0},
+{ 7, s_1_76, -2, 1, 0},
+{ 6, s_1_77, -3, 1, 0},
+{ 5, s_1_78, -6, 1, 0},
+{ 6, s_1_79, -1, 1, 0},
+{ 4, s_1_80, -8, 1, 0},
+{ 4, s_1_81, -9, 1, 0},
+{ 5, s_1_82, -10, 1, 0},
+{ 3, s_1_83, -11, 1, 0},
+{ 4, s_1_84, -1, 1, 0},
+{ 5, s_1_85, -2, 1, 0},
+{ 6, s_1_86, -1, 1, 0},
+{ 5, s_1_87, 0, 1, 0},
+{ 6, s_1_88, -1, 1, 0},
+{ 4, s_1_89, 0, 1, 0},
+{ 4, s_1_90, 0, 1, 0},
+{ 3, s_1_91, 0, 1, 0},
+{ 5, s_1_92, -1, 1, 0},
+{ 4, s_1_93, -2, 1, 0},
+{ 3, s_1_94, 0, 1, 0},
+{ 5, s_1_95, -1, 1, 0},
+{ 4, s_1_96, 0, 1, 0},
+{ 5, s_1_97, -1, 1, 0},
+{ 5, s_1_98, -2, 1, 0},
+{ 4, s_1_99, 0, 1, 0},
+{ 4, s_1_100, 0, 1, 0},
+{ 4, s_1_101, 0, 1, 0},
+{ 3, s_1_102, 0, 1, 0},
+{ 4, s_1_103, -1, 1, 0},
+{ 4, s_1_104, -2, 1, 0},
+{ 4, s_1_105, 0, 1, 0},
+{ 4, s_1_106, 0, 1, 0},
+{ 4, s_1_107, 0, 1, 0},
+{ 2, s_1_108, 0, 1, 0},
+{ 3, s_1_109, -1, 1, 0},
+{ 4, s_1_110, -1, 1, 0},
+{ 5, s_1_111, -2, 1, 0},
+{ 5, s_1_112, -3, 1, 0},
+{ 4, s_1_113, -4, 1, 0},
+{ 5, s_1_114, -1, 1, 0},
+{ 5, s_1_115, -6, 1, 0},
+{ 4, s_1_116, -8, 1, 0},
+{ 4, s_1_117, -9, 1, 0},
+{ 4, s_1_118, -10, 1, 0},
+{ 3, s_1_119, -11, 2, 0},
+{ 6, s_1_120, -12, 1, 0},
+{ 5, s_1_121, -13, 1, 0},
+{ 3, s_1_122, -14, 1, 0},
+{ 2, s_1_123, 0, 1, 0},
+{ 3, s_1_124, -1, 1, 0},
+{ 2, s_1_125, 0, 1, 0},
+{ 3, s_1_126, -1, 1, 0},
+{ 4, s_1_127, -1, 1, 0},
+{ 3, s_1_128, -3, 1, 0},
+{ 3, s_1_129, 0, 1, 0},
+{ 6, s_1_130, -1, 1, 0},
+{ 5, s_1_131, -2, 1, 0},
+{ 5, s_1_132, 0, 1, 0},
+{ 5, s_1_133, 0, 1, 0},
+{ 5, s_1_134, 0, 1, 0},
+{ 4, s_1_135, 0, 1, 0},
+{ 3, s_1_136, 0, 1, 0},
+{ 6, s_1_137, -1, 1, 0},
+{ 5, s_1_138, -2, 1, 0},
+{ 4, s_1_139, 0, 1, 0},
+{ 3, s_1_140, 0, 1, 0},
+{ 4, s_1_141, -1, 1, 0},
+{ 2, s_1_142, 0, 1, 0},
+{ 3, s_1_143, -1, 1, 0},
+{ 5, s_1_144, -2, 1, 0},
+{ 3, s_1_145, -3, 2, 0},
+{ 6, s_1_146, -1, 1, 0},
+{ 5, s_1_147, -2, 1, 0},
+{ 6, s_1_148, -3, 1, 0},
+{ 6, s_1_149, -4, 1, 0},
+{ 6, s_1_150, -5, 1, 0},
+{ 4, s_1_151, 0, 1, 0},
+{ 4, s_1_152, 0, 1, 0},
+{ 4, s_1_153, 0, 1, 0},
+{ 4, s_1_154, 0, 1, 0},
+{ 5, s_1_155, -1, 1, 0},
+{ 5, s_1_156, -2, 1, 0},
+{ 4, s_1_157, 0, 1, 0},
+{ 2, s_1_158, 0, 1, 0},
+{ 4, s_1_159, 0, 1, 0},
+{ 5, s_1_160, -1, 1, 0},
+{ 4, s_1_161, 0, 1, 0},
+{ 3, s_1_162, 0, 1, 0},
+{ 4, s_1_163, 0, 1, 0},
+{ 2, s_1_164, 0, 1, 0},
+{ 5, s_1_165, -1, 1, 0},
+{ 3, s_1_166, -2, 1, 0},
+{ 4, s_1_167, -1, 1, 0},
+{ 2, s_1_168, 0, 1, 0},
+{ 5, s_1_169, 0, 1, 0},
+{ 2, s_1_170, 0, 1, 0},
+{ 4, s_1_171, -1, 1, 0},
+{ 4, s_1_172, -2, 1, 0},
+{ 4, s_1_173, -3, 1, 0},
+{ 4, s_1_174, 0, 1, 0},
+{ 3, s_1_175, 0, 1, 0},
+{ 2, s_1_176, 0, 1, 0},
+{ 4, s_1_177, -1, 1, 0},
+{ 5, s_1_178, -1, 1, 0},
+{ 5, s_1_179, -3, -1, 0},
+{ 5, s_1_180, -4, 1, 0},
+{ 5, s_1_181, -5, 1, 0},
+{ 3, s_1_182, 0, 1, 0},
+{ 3, s_1_183, 0, 1, 0},
+{ 4, s_1_184, -1, 1, 0},
+{ 4, s_1_185, -2, 1, 0},
+{ 4, s_1_186, 0, 1, 0},
+{ 3, s_1_187, 0, 1, 0},
+{ 2, s_1_188, 0, 1, 0},
+{ 4, s_1_189, -1, 1, 0},
+{ 2, s_1_190, 0, 1, 0},
+{ 3, s_1_191, -1, 1, 0},
+{ 3, s_1_192, -2, 1, 0},
+{ 3, s_1_193, 0, 1, 0},
+{ 4, s_1_194, -1, 1, 0},
+{ 4, s_1_195, -2, 1, 0},
+{ 4, s_1_196, -3, 1, 0},
+{ 5, s_1_197, 0, 2, 0},
+{ 5, s_1_198, 0, 1, 0},
+{ 5, s_1_199, 0, 1, 0},
+{ 4, s_1_200, 0, 1, 0},
+{ 3, s_1_201, 0, 1, 0},
+{ 2, s_1_202, 0, 1, 0},
+{ 5, s_1_203, 0, 1, 0},
+{ 3, s_1_204, 0, 1, 0},
+{ 2, s_1_205, 0, 1, 0},
+{ 2, s_1_206, 0, 1, 0},
+{ 5, s_1_207, 0, 1, 0},
+{ 5, s_1_208, 0, 1, 0},
+{ 3, s_1_209, 0, 1, 0},
+{ 4, s_1_210, -1, 1, 0},
+{ 3, s_1_211, 0, 1, 0},
+{ 3, s_1_212, 0, 1, 0},
+{ 4, s_1_213, -1, 1, 0},
+{ 2, s_1_214, 0, 4, 0},
+{ 3, s_1_215, -1, 2, 0},
+{ 6, s_1_216, -1, 1, 0},
+{ 6, s_1_217, -2, 1, 0},
+{ 5, s_1_218, -3, 1, 0},
+{ 3, s_1_219, -5, 4, 0},
+{ 4, s_1_220, -6, 4, 0},
+{ 4, s_1_221, 0, 1, 0},
+{ 5, s_1_222, -1, 1, 0},
+{ 3, s_1_223, 0, 1, 0},
+{ 3, s_1_224, 0, 1, 0},
+{ 3, s_1_225, 0, 1, 0},
+{ 4, s_1_226, 0, 1, 0},
+{ 5, s_1_227, -1, 1, 0},
+{ 5, s_1_228, 0, 1, 0},
+{ 4, s_1_229, 0, 1, 0},
+{ 5, s_1_230, -1, 1, 0},
+{ 2, s_1_231, 0, 1, 0},
+{ 3, s_1_232, -1, 1, 0},
+{ 3, s_1_233, 0, 1, 0},
+{ 2, s_1_234, 0, 1, 0},
+{ 5, s_1_235, -1, 5, 0},
+{ 4, s_1_236, -2, 1, 0},
+{ 5, s_1_237, -1, 1, 0},
+{ 3, s_1_238, -4, 1, 0},
+{ 6, s_1_239, -5, 1, 0},
+{ 3, s_1_240, -6, 1, 0},
+{ 4, s_1_241, -7, 1, 0},
+{ 8, s_1_242, -1, 6, 0},
+{ 3, s_1_243, -9, 1, 0},
+{ 2, s_1_244, 0, 1, 0},
+{ 4, s_1_245, -1, 1, 0},
+{ 2, s_1_246, 0, 1, 0},
+{ 3, s_1_247, -1, 1, 0},
+{ 5, s_1_248, -1, -1, 0},
+{ 4, s_1_249, -2, 1, 0},
+{ 4, s_1_250, -3, 1, 0},
+{ 3, s_1_251, -5, 1, 0},
+{ 4, s_1_252, -6, 1, 0},
+{ 3, s_1_253, -7, 1, 0},
+{ 3, s_1_254, 0, 1, 0},
+{ 2, s_1_255, 0, 1, 0},
+{ 3, s_1_256, -1, 1, 0},
+{ 3, s_1_257, -2, 1, 0},
+{ 3, s_1_258, 0, 1, 0},
+{ 3, s_1_259, 0, 1, 0},
+{ 6, s_1_260, -1, 1, 0},
+{ 3, s_1_261, 0, 1, 0},
+{ 2, s_1_262, 0, 1, 0},
+{ 2, s_1_263, 0, 1, 0},
+{ 3, s_1_264, -1, 1, 0},
+{ 5, s_1_265, -2, 1, 0},
+{ 5, s_1_266, -3, -1, 0},
+{ 4, s_1_267, -4, 1, 0},
+{ 4, s_1_268, -5, 1, 0},
+{ 3, s_1_269, -6, 1, 0},
+{ 4, s_1_270, -7, 1, 0},
+{ 2, s_1_271, 0, 2, 0},
+{ 3, s_1_272, -1, 1, 0},
+{ 2, s_1_273, 0, 1, 0},
+{ 3, s_1_274, 0, 1, 0},
+{ 2, s_1_275, 0, 1, 0},
+{ 5, s_1_276, -1, 1, 0},
+{ 4, s_1_277, -2, 1, 0},
+{ 4, s_1_278, 0, 1, 0},
+{ 4, s_1_279, 0, 2, 0},
+{ 4, s_1_280, 0, 1, 0},
+{ 3, s_1_281, 0, 1, 0},
+{ 2, s_1_282, 0, 1, 0},
+{ 4, s_1_283, -1, 4, 0},
+{ 5, s_1_284, -2, 1, 0},
+{ 4, s_1_285, -3, 1, 0},
+{ 3, s_1_286, 0, 1, 0},
+{ 2, s_1_287, 0, 1, 0},
+{ 3, s_1_288, -1, 1, 0},
+{ 6, s_1_289, -1, 1, 0},
+{ 1, s_1_290, 0, 1, 0},
+{ 2, s_1_291, -1, 1, 0},
+{ 4, s_1_292, -2, 1, 0},
+{ 2, s_1_293, -3, 1, 0},
+{ 5, s_1_294, -1, 1, 0}
 };
 
 static const symbol s_2_0[4] = { 'z', 'l', 'e', 'a' };
@@ -865,181 +869,151 @@ static const symbol s_2_15[2] = { 'g', 'o' };
 static const symbol s_2_16[2] = { 'r', 'o' };
 static const symbol s_2_17[3] = { 'e', 'r', 'o' };
 static const symbol s_2_18[2] = { 't', 'o' };
-
-static const struct among a_2[19] =
-{
-{ 4, s_2_0, -1, 2, 0},
-{ 5, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 1, 0},
-{ 3, s_2_3, -1, 1, 0},
-{ 4, s_2_4, -1, 1, 0},
-{ 4, s_2_5, -1, 1, 0},
-{ 4, s_2_6, -1, 1, 0},
-{ 4, s_2_7, -1, 1, 0},
-{ 2, s_2_8, -1, 1, 0},
-{ 2, s_2_9, -1, 1, 0},
-{ 2, s_2_10, -1, 1, 0},
-{ 5, s_2_11, 10, 1, 0},
-{ 3, s_2_12, 10, 1, 0},
-{ 5, s_2_13, 12, 1, 0},
-{ 4, s_2_14, 10, 1, 0},
-{ 2, s_2_15, -1, 1, 0},
-{ 2, s_2_16, -1, 1, 0},
-{ 3, s_2_17, 16, 1, 0},
-{ 2, s_2_18, -1, 1, 0}
+static const struct among a_2[19] = {
+{ 4, s_2_0, 0, 2, 0},
+{ 5, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 1, 0},
+{ 3, s_2_3, 0, 1, 0},
+{ 4, s_2_4, 0, 1, 0},
+{ 4, s_2_5, 0, 1, 0},
+{ 4, s_2_6, 0, 1, 0},
+{ 4, s_2_7, 0, 1, 0},
+{ 2, s_2_8, 0, 1, 0},
+{ 2, s_2_9, 0, 1, 0},
+{ 2, s_2_10, 0, 1, 0},
+{ 5, s_2_11, -1, 1, 0},
+{ 3, s_2_12, -2, 1, 0},
+{ 5, s_2_13, -1, 1, 0},
+{ 4, s_2_14, -4, 1, 0},
+{ 2, s_2_15, 0, 1, 0},
+{ 2, s_2_16, 0, 1, 0},
+{ 3, s_2_17, -1, 1, 0},
+{ 2, s_2_18, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16 };
 
-static const symbol s_0[] = { 'a', 't', 's', 'e', 'd', 'e', 'n' };
-static const symbol s_1[] = { 'a', 'r', 'a', 'b', 'e', 'r', 'a' };
-static const symbol s_2[] = { 'b', 'a', 'd', 'i', 't', 'u' };
-static const symbol s_3[] = { 'j', 'o', 'k' };
-static const symbol s_4[] = { 't', 'r', 'a' };
-static const symbol s_5[] = { 'm', 'i', 'n', 'u', 't', 'u' };
-static const symbol s_6[] = { 'z', 'e', 'h', 'a', 'r' };
-static const symbol s_7[] = { 'g', 'e', 'l', 'd', 'i' };
-static const symbol s_8[] = { 'i', 'g', 'a', 'r', 'o' };
-static const symbol s_9[] = { 'a', 'u', 'r', 'k', 'a' };
-static const symbol s_10[] = { 'z' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 117, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping_U(z, g_v, 97, 117, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 117, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping_U(z, g_v, 97, 117, 0)) goto lab2;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping_U(z, g_v, 97, 117, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping_U(z, g_v, 97, 117, 0)) goto lab1;
                 {
                     int ret = in_grouping_U(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping_U(z, g_v, 97, 117, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping_U(z, g_v, 97, 117, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping_U(z, g_v, 97, 117, 0)) goto lab3;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 117, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping_U(z, g_v, 97, 117, 0)) goto lab0;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 117, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_aditzak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((70566434 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_0, 109);
+    among_var = find_among_b(z, a_0, 109, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 3:
-            {   int ret = slice_from_s(z, 7, s_0);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 4:
-            {   int ret = slice_from_s(z, 7, s_1);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 5:
-            {   int ret = slice_from_s(z, 6, s_2);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1051,66 +1025,55 @@ static int r_izenak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((71162402 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_1, 295);
+    among_var = find_among_b(z, a_1, 295, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_3);
+            {
+                int ret = slice_from_s(z, 3, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_4);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 6, s_5);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 7:
-            {   int ret = slice_from_s(z, 5, s_6);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 8:
-            {   int ret = slice_from_s(z, 5, s_7);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 9:
-            {   int ret = slice_from_s(z, 5, s_8);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 10:
-            {   int ret = slice_from_s(z, 5, s_9);
+            {
+                int ret = slice_from_s(z, 6, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -1122,20 +1085,23 @@ static int r_adjetiboak(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((35362 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_2, 19);
+    among_var = find_among_b(z, a_2, 19, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -1144,45 +1110,58 @@ static int r_adjetiboak(struct SN_env * z) {
 }
 
 extern int basque_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    while(1) {
-        int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_aditzak(z);
+    while (1) {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_aditzak(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
         break;
     }
-    while(1) {
-        int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_izenak(z);
+    while (1) {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_izenak(z);
             if (ret == 0) goto lab1;
             if (ret < 0) return ret;
         }
         continue;
     lab1:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
         break;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_adjetiboak(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_adjetiboak(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * basque_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * basque_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void basque_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void basque_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index d261407883b150db7f36e386458ff1f5eca37332..8b363e3ea01d9e70272bf7a2164559114ef78a21 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from catalan.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_catalan.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int catalan_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_standard_suffix(struct SN_env * z);
@@ -17,18 +30,18 @@ static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_cleaning(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * catalan_UTF_8_create_env(void);
-extern void catalan_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { '.' };
+static const symbol s_6[] = { 'l', 'o', 'g' };
+static const symbol s_7[] = { 'i', 'c' };
+static const symbol s_8[] = { 'c' };
+static const symbol s_9[] = { 'i', 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 0xC2, 0xB7 };
 static const symbol s_0_2[2] = { 0xC3, 0xA0 };
 static const symbol s_0_3[2] = { 0xC3, 0xA1 };
@@ -41,22 +54,20 @@ static const symbol s_0_9[2] = { 0xC3, 0xB2 };
 static const symbol s_0_10[2] = { 0xC3, 0xB3 };
 static const symbol s_0_11[2] = { 0xC3, 0xBA };
 static const symbol s_0_12[2] = { 0xC3, 0xBC };
-
-static const struct among a_0[13] =
-{
-{ 0, 0, -1, 7, 0},
-{ 2, s_0_1, 0, 6, 0},
-{ 2, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, 1, 0},
-{ 2, s_0_4, 0, 2, 0},
-{ 2, s_0_5, 0, 2, 0},
-{ 2, s_0_6, 0, 3, 0},
-{ 2, s_0_7, 0, 3, 0},
-{ 2, s_0_8, 0, 3, 0},
-{ 2, s_0_9, 0, 4, 0},
-{ 2, s_0_10, 0, 4, 0},
-{ 2, s_0_11, 0, 5, 0},
-{ 2, s_0_12, 0, 5, 0}
+static const struct among a_0[13] = {
+{ 0, 0, 0, 7, 0},
+{ 2, s_0_1, -1, 6, 0},
+{ 2, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, 1, 0},
+{ 2, s_0_4, -4, 2, 0},
+{ 2, s_0_5, -5, 2, 0},
+{ 2, s_0_6, -6, 3, 0},
+{ 2, s_0_7, -7, 3, 0},
+{ 2, s_0_8, -8, 3, 0},
+{ 2, s_0_9, -9, 4, 0},
+{ 2, s_0_10, -10, 4, 0},
+{ 2, s_0_11, -11, 5, 0},
+{ 2, s_0_12, -12, 5, 0}
 };
 
 static const symbol s_1_0[2] = { 'l', 'a' };
@@ -98,48 +109,46 @@ static const symbol s_1_35[3] = { 'v', 'o', 's' };
 static const symbol s_1_36[2] = { 'u', 's' };
 static const symbol s_1_37[3] = { '-', 'u', 's' };
 static const symbol s_1_38[2] = { '\'', 't' };
-
-static const struct among a_1[39] =
-{
-{ 2, s_1_0, -1, 1, 0},
-{ 3, s_1_1, 0, 1, 0},
-{ 4, s_1_2, 0, 1, 0},
-{ 2, s_1_3, -1, 1, 0},
-{ 2, s_1_4, -1, 1, 0},
-{ 3, s_1_5, 4, 1, 0},
-{ 2, s_1_6, -1, 1, 0},
-{ 3, s_1_7, -1, 1, 0},
-{ 2, s_1_8, -1, 1, 0},
-{ 3, s_1_9, 8, 1, 0},
-{ 2, s_1_10, -1, 1, 0},
-{ 3, s_1_11, 10, 1, 0},
-{ 2, s_1_12, -1, 1, 0},
-{ 2, s_1_13, -1, 1, 0},
-{ 2, s_1_14, -1, 1, 0},
-{ 2, s_1_15, -1, 1, 0},
-{ 2, s_1_16, -1, 1, 0},
-{ 2, s_1_17, -1, 1, 0},
-{ 3, s_1_18, 17, 1, 0},
-{ 2, s_1_19, -1, 1, 0},
-{ 4, s_1_20, 19, 1, 0},
-{ 2, s_1_21, -1, 1, 0},
-{ 3, s_1_22, -1, 1, 0},
-{ 5, s_1_23, 22, 1, 0},
-{ 3, s_1_24, -1, 1, 0},
-{ 4, s_1_25, 24, 1, 0},
-{ 3, s_1_26, -1, 1, 0},
-{ 3, s_1_27, -1, 1, 0},
-{ 3, s_1_28, -1, 1, 0},
-{ 3, s_1_29, -1, 1, 0},
-{ 3, s_1_30, -1, 1, 0},
-{ 3, s_1_31, -1, 1, 0},
-{ 5, s_1_32, 31, 1, 0},
-{ 3, s_1_33, -1, 1, 0},
-{ 4, s_1_34, 33, 1, 0},
-{ 3, s_1_35, -1, 1, 0},
-{ 2, s_1_36, -1, 1, 0},
-{ 3, s_1_37, 36, 1, 0},
-{ 2, s_1_38, -1, 1, 0}
+static const struct among a_1[39] = {
+{ 2, s_1_0, 0, 1, 0},
+{ 3, s_1_1, -1, 1, 0},
+{ 4, s_1_2, -2, 1, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 2, s_1_4, 0, 1, 0},
+{ 3, s_1_5, -1, 1, 0},
+{ 2, s_1_6, 0, 1, 0},
+{ 3, s_1_7, 0, 1, 0},
+{ 2, s_1_8, 0, 1, 0},
+{ 3, s_1_9, -1, 1, 0},
+{ 2, s_1_10, 0, 1, 0},
+{ 3, s_1_11, -1, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 2, s_1_13, 0, 1, 0},
+{ 2, s_1_14, 0, 1, 0},
+{ 2, s_1_15, 0, 1, 0},
+{ 2, s_1_16, 0, 1, 0},
+{ 2, s_1_17, 0, 1, 0},
+{ 3, s_1_18, -1, 1, 0},
+{ 2, s_1_19, 0, 1, 0},
+{ 4, s_1_20, -1, 1, 0},
+{ 2, s_1_21, 0, 1, 0},
+{ 3, s_1_22, 0, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 3, s_1_24, 0, 1, 0},
+{ 4, s_1_25, -1, 1, 0},
+{ 3, s_1_26, 0, 1, 0},
+{ 3, s_1_27, 0, 1, 0},
+{ 3, s_1_28, 0, 1, 0},
+{ 3, s_1_29, 0, 1, 0},
+{ 3, s_1_30, 0, 1, 0},
+{ 3, s_1_31, 0, 1, 0},
+{ 5, s_1_32, -1, 1, 0},
+{ 3, s_1_33, 0, 1, 0},
+{ 4, s_1_34, -1, 1, 0},
+{ 3, s_1_35, 0, 1, 0},
+{ 2, s_1_36, 0, 1, 0},
+{ 3, s_1_37, -1, 1, 0},
+{ 2, s_1_38, 0, 1, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'c', 'a' };
@@ -342,209 +351,207 @@ static const symbol s_2_196[2] = { 0xC3, 0xB3 };
 static const symbol s_2_197[3] = { 'i', 0xC3, 0xB3 };
 static const symbol s_2_198[4] = { 'c', 'i', 0xC3, 0xB3 };
 static const symbol s_2_199[5] = { 'a', 'c', 'i', 0xC3, 0xB3 };
-
-static const struct among a_2[200] =
-{
-{ 3, s_2_0, -1, 4, 0},
-{ 7, s_2_1, 0, 3, 0},
-{ 4, s_2_2, -1, 1, 0},
-{ 3, s_2_3, -1, 2, 0},
-{ 5, s_2_4, -1, 1, 0},
-{ 5, s_2_5, -1, 1, 0},
-{ 6, s_2_6, -1, 1, 0},
-{ 5, s_2_7, -1, 1, 0},
-{ 5, s_2_8, -1, 3, 0},
-{ 4, s_2_9, -1, 1, 0},
-{ 6, s_2_10, 9, 1, 0},
-{ 4, s_2_11, -1, 1, 0},
-{ 5, s_2_12, -1, 1, 0},
-{ 7, s_2_13, -1, 1, 0},
-{ 4, s_2_14, -1, 1, 0},
-{ 4, s_2_15, -1, 1, 0},
-{ 6, s_2_16, -1, 1, 0},
-{ 3, s_2_17, -1, 1, 0},
-{ 7, s_2_18, 17, 1, 0},
-{ 9, s_2_19, 18, 5, 0},
-{ 3, s_2_20, -1, 1, 0},
-{ 3, s_2_21, -1, 1, 0},
-{ 3, s_2_22, -1, 1, 0},
-{ 5, s_2_23, 22, 1, 0},
-{ 3, s_2_24, -1, 1, 0},
-{ 4, s_2_25, 24, 1, 0},
-{ 5, s_2_26, 25, 1, 0},
-{ 5, s_2_27, -1, 1, 0},
-{ 3, s_2_28, -1, 1, 0},
-{ 3, s_2_29, -1, 1, 0},
-{ 4, s_2_30, -1, 1, 0},
-{ 4, s_2_31, -1, 1, 0},
-{ 4, s_2_32, -1, 1, 0},
-{ 3, s_2_33, -1, 1, 0},
-{ 3, s_2_34, -1, 1, 0},
-{ 3, s_2_35, -1, 1, 0},
-{ 4, s_2_36, -1, 1, 0},
-{ 7, s_2_37, 36, 1, 0},
-{ 7, s_2_38, 36, 1, 0},
-{ 3, s_2_39, -1, 1, 0},
-{ 5, s_2_40, 39, 1, 0},
-{ 4, s_2_41, -1, 1, 0},
-{ 6, s_2_42, -1, 3, 0},
-{ 2, s_2_43, -1, 4, 0},
-{ 6, s_2_44, 43, 1, 0},
-{ 3, s_2_45, -1, 1, 0},
-{ 3, s_2_46, -1, 1, 0},
-{ 2, s_2_47, -1, 1, 0},
-{ 4, s_2_48, -1, 1, 0},
-{ 3, s_2_49, -1, 1, 0},
-{ 4, s_2_50, 49, 1, 0},
-{ 4, s_2_51, 49, 1, 0},
-{ 4, s_2_52, -1, 1, 0},
-{ 7, s_2_53, 52, 1, 0},
-{ 7, s_2_54, 52, 1, 0},
-{ 6, s_2_55, 52, 1, 0},
-{ 4, s_2_56, -1, 1, 0},
-{ 4, s_2_57, -1, 1, 0},
-{ 4, s_2_58, -1, 1, 0},
-{ 3, s_2_59, -1, 1, 0},
-{ 4, s_2_60, -1, 1, 0},
-{ 4, s_2_61, -1, 3, 0},
-{ 3, s_2_62, -1, 1, 0},
-{ 4, s_2_63, -1, 1, 0},
-{ 2, s_2_64, -1, 1, 0},
-{ 2, s_2_65, -1, 1, 0},
-{ 3, s_2_66, -1, 1, 0},
-{ 3, s_2_67, -1, 1, 0},
-{ 5, s_2_68, -1, 1, 0},
-{ 4, s_2_69, -1, 1, 0},
-{ 5, s_2_70, -1, 1, 0},
-{ 6, s_2_71, -1, 1, 0},
-{ 6, s_2_72, -1, 1, 0},
-{ 6, s_2_73, -1, 1, 0},
-{ 8, s_2_74, 73, 5, 0},
-{ 4, s_2_75, -1, 1, 0},
-{ 6, s_2_76, -1, 1, 0},
-{ 2, s_2_77, -1, 1, 0},
-{ 6, s_2_78, 77, 1, 0},
-{ 4, s_2_79, 77, 1, 0},
-{ 4, s_2_80, 77, 1, 0},
-{ 4, s_2_81, 77, 1, 0},
-{ 5, s_2_82, 77, 1, 0},
-{ 3, s_2_83, -1, 1, 0},
-{ 2, s_2_84, -1, 1, 0},
-{ 3, s_2_85, 84, 1, 0},
-{ 3, s_2_86, -1, 1, 0},
-{ 5, s_2_87, -1, 1, 0},
-{ 3, s_2_88, -1, 4, 0},
-{ 7, s_2_89, 88, 3, 0},
-{ 3, s_2_90, -1, 1, 0},
-{ 4, s_2_91, -1, 1, 0},
-{ 4, s_2_92, -1, 2, 0},
-{ 6, s_2_93, -1, 1, 0},
-{ 6, s_2_94, -1, 1, 0},
-{ 7, s_2_95, -1, 1, 0},
-{ 6, s_2_96, -1, 1, 0},
-{ 6, s_2_97, -1, 3, 0},
-{ 5, s_2_98, -1, 1, 0},
-{ 6, s_2_99, -1, 1, 0},
-{ 5, s_2_100, -1, 1, 0},
-{ 6, s_2_101, -1, 1, 0},
-{ 8, s_2_102, -1, 1, 0},
-{ 4, s_2_103, -1, 1, 0},
-{ 5, s_2_104, 103, 1, 0},
-{ 5, s_2_105, 103, 1, 0},
-{ 4, s_2_106, -1, 1, 0},
-{ 8, s_2_107, 106, 1, 0},
-{ 10, s_2_108, 107, 5, 0},
-{ 6, s_2_109, -1, 1, 0},
-{ 5, s_2_110, -1, 1, 0},
-{ 8, s_2_111, 110, 1, 0},
-{ 4, s_2_112, -1, 1, 0},
-{ 4, s_2_113, -1, 1, 0},
-{ 4, s_2_114, -1, 1, 0},
-{ 5, s_2_115, 114, 1, 0},
-{ 6, s_2_116, 115, 1, 0},
-{ 5, s_2_117, -1, 1, 0},
-{ 4, s_2_118, -1, 1, 0},
-{ 4, s_2_119, -1, 1, 0},
-{ 5, s_2_120, -1, 1, 0},
-{ 5, s_2_121, -1, 1, 0},
-{ 4, s_2_122, -1, 1, 0},
-{ 4, s_2_123, -1, 1, 0},
-{ 5, s_2_124, -1, 1, 0},
-{ 8, s_2_125, 124, 1, 0},
-{ 8, s_2_126, 124, 1, 0},
-{ 5, s_2_127, -1, 4, 0},
-{ 9, s_2_128, 127, 3, 0},
-{ 4, s_2_129, -1, 1, 0},
-{ 6, s_2_130, 129, 1, 0},
-{ 7, s_2_131, -1, 3, 0},
-{ 10, s_2_132, -1, 1, 0},
-{ 4, s_2_133, -1, 1, 0},
-{ 5, s_2_134, -1, 1, 0},
-{ 5, s_2_135, -1, 3, 0},
-{ 4, s_2_136, -1, 1, 0},
-{ 5, s_2_137, -1, 1, 0},
-{ 2, s_2_138, -1, 1, 0},
-{ 3, s_2_139, 138, 1, 0},
-{ 4, s_2_140, 138, 1, 0},
-{ 3, s_2_141, -1, 1, 0},
-{ 7, s_2_142, 141, 1, 0},
-{ 9, s_2_143, 142, 5, 0},
-{ 4, s_2_144, -1, 1, 0},
-{ 5, s_2_145, 144, 1, 0},
-{ 6, s_2_146, 145, 2, 0},
-{ 4, s_2_147, -1, 1, 0},
-{ 4, s_2_148, -1, 1, 0},
-{ 5, s_2_149, -1, 1, 0},
-{ 5, s_2_150, -1, 1, 0},
-{ 3, s_2_151, -1, 1, 0},
-{ 3, s_2_152, -1, 1, 0},
-{ 4, s_2_153, 152, 1, 0},
-{ 5, s_2_154, 153, 1, 0},
-{ 5, s_2_155, 153, 1, 0},
-{ 3, s_2_156, -1, 1, 0},
-{ 5, s_2_157, 156, 1, 0},
-{ 8, s_2_158, 157, 1, 0},
-{ 7, s_2_159, 157, 1, 0},
-{ 9, s_2_160, 159, 1, 0},
-{ 6, s_2_161, 156, 1, 0},
-{ 3, s_2_162, -1, 1, 0},
-{ 4, s_2_163, -1, 1, 0},
-{ 4, s_2_164, -1, 1, 0},
-{ 5, s_2_165, 164, 1, 0},
-{ 6, s_2_166, 165, 1, 0},
-{ 3, s_2_167, -1, 1, 0},
-{ 3, s_2_168, -1, 1, 0},
-{ 3, s_2_169, -1, 1, 0},
-{ 5, s_2_170, 169, 1, 0},
-{ 5, s_2_171, 169, 1, 0},
-{ 3, s_2_172, -1, 1, 0},
-{ 3, s_2_173, -1, 1, 0},
-{ 3, s_2_174, -1, 1, 0},
-{ 4, s_2_175, 174, 1, 0},
-{ 3, s_2_176, -1, 1, 0},
-{ 4, s_2_177, -1, 1, 0},
-{ 7, s_2_178, 177, 1, 0},
-{ 6, s_2_179, 177, 1, 0},
-{ 8, s_2_180, 179, 1, 0},
-{ 5, s_2_181, -1, 1, 0},
-{ 2, s_2_182, -1, 1, 0},
-{ 3, s_2_183, -1, 1, 0},
-{ 3, s_2_184, -1, 1, 0},
-{ 4, s_2_185, 184, 1, 0},
-{ 4, s_2_186, 184, 1, 0},
-{ 5, s_2_187, 186, 1, 0},
-{ 7, s_2_188, 187, 1, 0},
-{ 2, s_2_189, -1, 1, 0},
-{ 5, s_2_190, -1, 1, 0},
-{ 6, s_2_191, -1, 1, 0},
-{ 6, s_2_192, -1, 1, 0},
-{ 4, s_2_193, -1, 1, 0},
-{ 6, s_2_194, -1, 1, 0},
-{ 4, s_2_195, -1, 1, 0},
-{ 2, s_2_196, -1, 1, 0},
-{ 3, s_2_197, 196, 1, 0},
-{ 4, s_2_198, 197, 1, 0},
-{ 5, s_2_199, 198, 1, 0}
+static const struct among a_2[200] = {
+{ 3, s_2_0, 0, 4, 0},
+{ 7, s_2_1, -1, 3, 0},
+{ 4, s_2_2, 0, 1, 0},
+{ 3, s_2_3, 0, 2, 0},
+{ 5, s_2_4, 0, 1, 0},
+{ 5, s_2_5, 0, 1, 0},
+{ 6, s_2_6, 0, 1, 0},
+{ 5, s_2_7, 0, 1, 0},
+{ 5, s_2_8, 0, 3, 0},
+{ 4, s_2_9, 0, 1, 0},
+{ 6, s_2_10, -1, 1, 0},
+{ 4, s_2_11, 0, 1, 0},
+{ 5, s_2_12, 0, 1, 0},
+{ 7, s_2_13, 0, 1, 0},
+{ 4, s_2_14, 0, 1, 0},
+{ 4, s_2_15, 0, 1, 0},
+{ 6, s_2_16, 0, 1, 0},
+{ 3, s_2_17, 0, 1, 0},
+{ 7, s_2_18, -1, 1, 0},
+{ 9, s_2_19, -1, 5, 0},
+{ 3, s_2_20, 0, 1, 0},
+{ 3, s_2_21, 0, 1, 0},
+{ 3, s_2_22, 0, 1, 0},
+{ 5, s_2_23, -1, 1, 0},
+{ 3, s_2_24, 0, 1, 0},
+{ 4, s_2_25, -1, 1, 0},
+{ 5, s_2_26, -1, 1, 0},
+{ 5, s_2_27, 0, 1, 0},
+{ 3, s_2_28, 0, 1, 0},
+{ 3, s_2_29, 0, 1, 0},
+{ 4, s_2_30, 0, 1, 0},
+{ 4, s_2_31, 0, 1, 0},
+{ 4, s_2_32, 0, 1, 0},
+{ 3, s_2_33, 0, 1, 0},
+{ 3, s_2_34, 0, 1, 0},
+{ 3, s_2_35, 0, 1, 0},
+{ 4, s_2_36, 0, 1, 0},
+{ 7, s_2_37, -1, 1, 0},
+{ 7, s_2_38, -2, 1, 0},
+{ 3, s_2_39, 0, 1, 0},
+{ 5, s_2_40, -1, 1, 0},
+{ 4, s_2_41, 0, 1, 0},
+{ 6, s_2_42, 0, 3, 0},
+{ 2, s_2_43, 0, 4, 0},
+{ 6, s_2_44, -1, 1, 0},
+{ 3, s_2_45, 0, 1, 0},
+{ 3, s_2_46, 0, 1, 0},
+{ 2, s_2_47, 0, 1, 0},
+{ 4, s_2_48, 0, 1, 0},
+{ 3, s_2_49, 0, 1, 0},
+{ 4, s_2_50, -1, 1, 0},
+{ 4, s_2_51, -2, 1, 0},
+{ 4, s_2_52, 0, 1, 0},
+{ 7, s_2_53, -1, 1, 0},
+{ 7, s_2_54, -2, 1, 0},
+{ 6, s_2_55, -3, 1, 0},
+{ 4, s_2_56, 0, 1, 0},
+{ 4, s_2_57, 0, 1, 0},
+{ 4, s_2_58, 0, 1, 0},
+{ 3, s_2_59, 0, 1, 0},
+{ 4, s_2_60, 0, 1, 0},
+{ 4, s_2_61, 0, 3, 0},
+{ 3, s_2_62, 0, 1, 0},
+{ 4, s_2_63, 0, 1, 0},
+{ 2, s_2_64, 0, 1, 0},
+{ 2, s_2_65, 0, 1, 0},
+{ 3, s_2_66, 0, 1, 0},
+{ 3, s_2_67, 0, 1, 0},
+{ 5, s_2_68, 0, 1, 0},
+{ 4, s_2_69, 0, 1, 0},
+{ 5, s_2_70, 0, 1, 0},
+{ 6, s_2_71, 0, 1, 0},
+{ 6, s_2_72, 0, 1, 0},
+{ 6, s_2_73, 0, 1, 0},
+{ 8, s_2_74, -1, 5, 0},
+{ 4, s_2_75, 0, 1, 0},
+{ 6, s_2_76, 0, 1, 0},
+{ 2, s_2_77, 0, 1, 0},
+{ 6, s_2_78, -1, 1, 0},
+{ 4, s_2_79, -2, 1, 0},
+{ 4, s_2_80, -3, 1, 0},
+{ 4, s_2_81, -4, 1, 0},
+{ 5, s_2_82, -5, 1, 0},
+{ 3, s_2_83, 0, 1, 0},
+{ 2, s_2_84, 0, 1, 0},
+{ 3, s_2_85, -1, 1, 0},
+{ 3, s_2_86, 0, 1, 0},
+{ 5, s_2_87, 0, 1, 0},
+{ 3, s_2_88, 0, 4, 0},
+{ 7, s_2_89, -1, 3, 0},
+{ 3, s_2_90, 0, 1, 0},
+{ 4, s_2_91, 0, 1, 0},
+{ 4, s_2_92, 0, 2, 0},
+{ 6, s_2_93, 0, 1, 0},
+{ 6, s_2_94, 0, 1, 0},
+{ 7, s_2_95, 0, 1, 0},
+{ 6, s_2_96, 0, 1, 0},
+{ 6, s_2_97, 0, 3, 0},
+{ 5, s_2_98, 0, 1, 0},
+{ 6, s_2_99, 0, 1, 0},
+{ 5, s_2_100, 0, 1, 0},
+{ 6, s_2_101, 0, 1, 0},
+{ 8, s_2_102, 0, 1, 0},
+{ 4, s_2_103, 0, 1, 0},
+{ 5, s_2_104, -1, 1, 0},
+{ 5, s_2_105, -2, 1, 0},
+{ 4, s_2_106, 0, 1, 0},
+{ 8, s_2_107, -1, 1, 0},
+{ 10, s_2_108, -1, 5, 0},
+{ 6, s_2_109, 0, 1, 0},
+{ 5, s_2_110, 0, 1, 0},
+{ 8, s_2_111, -1, 1, 0},
+{ 4, s_2_112, 0, 1, 0},
+{ 4, s_2_113, 0, 1, 0},
+{ 4, s_2_114, 0, 1, 0},
+{ 5, s_2_115, -1, 1, 0},
+{ 6, s_2_116, -1, 1, 0},
+{ 5, s_2_117, 0, 1, 0},
+{ 4, s_2_118, 0, 1, 0},
+{ 4, s_2_119, 0, 1, 0},
+{ 5, s_2_120, 0, 1, 0},
+{ 5, s_2_121, 0, 1, 0},
+{ 4, s_2_122, 0, 1, 0},
+{ 4, s_2_123, 0, 1, 0},
+{ 5, s_2_124, 0, 1, 0},
+{ 8, s_2_125, -1, 1, 0},
+{ 8, s_2_126, -2, 1, 0},
+{ 5, s_2_127, 0, 4, 0},
+{ 9, s_2_128, -1, 3, 0},
+{ 4, s_2_129, 0, 1, 0},
+{ 6, s_2_130, -1, 1, 0},
+{ 7, s_2_131, 0, 3, 0},
+{ 10, s_2_132, 0, 1, 0},
+{ 4, s_2_133, 0, 1, 0},
+{ 5, s_2_134, 0, 1, 0},
+{ 5, s_2_135, 0, 3, 0},
+{ 4, s_2_136, 0, 1, 0},
+{ 5, s_2_137, 0, 1, 0},
+{ 2, s_2_138, 0, 1, 0},
+{ 3, s_2_139, -1, 1, 0},
+{ 4, s_2_140, -2, 1, 0},
+{ 3, s_2_141, 0, 1, 0},
+{ 7, s_2_142, -1, 1, 0},
+{ 9, s_2_143, -1, 5, 0},
+{ 4, s_2_144, 0, 1, 0},
+{ 5, s_2_145, -1, 1, 0},
+{ 6, s_2_146, -1, 2, 0},
+{ 4, s_2_147, 0, 1, 0},
+{ 4, s_2_148, 0, 1, 0},
+{ 5, s_2_149, 0, 1, 0},
+{ 5, s_2_150, 0, 1, 0},
+{ 3, s_2_151, 0, 1, 0},
+{ 3, s_2_152, 0, 1, 0},
+{ 4, s_2_153, -1, 1, 0},
+{ 5, s_2_154, -1, 1, 0},
+{ 5, s_2_155, -2, 1, 0},
+{ 3, s_2_156, 0, 1, 0},
+{ 5, s_2_157, -1, 1, 0},
+{ 8, s_2_158, -1, 1, 0},
+{ 7, s_2_159, -2, 1, 0},
+{ 9, s_2_160, -1, 1, 0},
+{ 6, s_2_161, -5, 1, 0},
+{ 3, s_2_162, 0, 1, 0},
+{ 4, s_2_163, 0, 1, 0},
+{ 4, s_2_164, 0, 1, 0},
+{ 5, s_2_165, -1, 1, 0},
+{ 6, s_2_166, -1, 1, 0},
+{ 3, s_2_167, 0, 1, 0},
+{ 3, s_2_168, 0, 1, 0},
+{ 3, s_2_169, 0, 1, 0},
+{ 5, s_2_170, -1, 1, 0},
+{ 5, s_2_171, -2, 1, 0},
+{ 3, s_2_172, 0, 1, 0},
+{ 3, s_2_173, 0, 1, 0},
+{ 3, s_2_174, 0, 1, 0},
+{ 4, s_2_175, -1, 1, 0},
+{ 3, s_2_176, 0, 1, 0},
+{ 4, s_2_177, 0, 1, 0},
+{ 7, s_2_178, -1, 1, 0},
+{ 6, s_2_179, -2, 1, 0},
+{ 8, s_2_180, -1, 1, 0},
+{ 5, s_2_181, 0, 1, 0},
+{ 2, s_2_182, 0, 1, 0},
+{ 3, s_2_183, 0, 1, 0},
+{ 3, s_2_184, 0, 1, 0},
+{ 4, s_2_185, -1, 1, 0},
+{ 4, s_2_186, -2, 1, 0},
+{ 5, s_2_187, -1, 1, 0},
+{ 7, s_2_188, -1, 1, 0},
+{ 2, s_2_189, 0, 1, 0},
+{ 5, s_2_190, 0, 1, 0},
+{ 6, s_2_191, 0, 1, 0},
+{ 6, s_2_192, 0, 1, 0},
+{ 4, s_2_193, 0, 1, 0},
+{ 6, s_2_194, 0, 1, 0},
+{ 4, s_2_195, 0, 1, 0},
+{ 2, s_2_196, 0, 1, 0},
+{ 3, s_2_197, -1, 1, 0},
+{ 4, s_2_198, -1, 1, 0},
+{ 5, s_2_199, -1, 1, 0}
 };
 
 static const symbol s_3_0[3] = { 'a', 'b', 'a' };
@@ -830,292 +837,290 @@ static const symbol s_3_279[4] = { 'i', 'r', 0xC3, 0xA9 };
 static const symbol s_3_280[2] = { 0xC3, 0xAD };
 static const symbol s_3_281[3] = { 'i', 0xC3, 0xAF };
 static const symbol s_3_282[3] = { 'i', 0xC3, 0xB3 };
-
-static const struct among a_3[283] =
-{
-{ 3, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 4, s_3_2, -1, 1, 0},
-{ 5, s_3_3, -1, 1, 0},
-{ 3, s_3_4, -1, 1, 0},
-{ 3, s_3_5, -1, 1, 0},
-{ 3, s_3_6, -1, 1, 0},
-{ 4, s_3_7, -1, 1, 0},
-{ 2, s_3_8, -1, 1, 0},
-{ 4, s_3_9, 8, 1, 0},
-{ 4, s_3_10, 8, 1, 0},
-{ 3, s_3_11, -1, 1, 0},
-{ 4, s_3_12, -1, 1, 0},
-{ 3, s_3_13, -1, 1, 0},
-{ 5, s_3_14, -1, 1, 0},
-{ 4, s_3_15, -1, 1, 0},
-{ 3, s_3_16, -1, 1, 0},
-{ 3, s_3_17, -1, 1, 0},
-{ 4, s_3_18, -1, 1, 0},
-{ 3, s_3_19, -1, 1, 0},
-{ 5, s_3_20, 19, 1, 0},
-{ 5, s_3_21, 19, 1, 0},
-{ 5, s_3_22, 19, 1, 0},
-{ 3, s_3_23, -1, 1, 0},
-{ 3, s_3_24, -1, 1, 0},
-{ 4, s_3_25, -1, 1, 0},
-{ 2, s_3_26, -1, 1, 0},
-{ 2, s_3_27, -1, 1, 0},
-{ 2, s_3_28, -1, 1, 0},
-{ 2, s_3_29, -1, 1, 0},
-{ 2, s_3_30, -1, 1, 0},
-{ 3, s_3_31, 30, 1, 0},
-{ 3, s_3_32, -1, 1, 0},
-{ 4, s_3_33, -1, 1, 0},
-{ 4, s_3_34, -1, 1, 0},
-{ 4, s_3_35, -1, 1, 0},
-{ 2, s_3_36, -1, 1, 0},
-{ 3, s_3_37, -1, 1, 0},
-{ 5, s_3_38, -1, 1, 0},
-{ 4, s_3_39, -1, 1, 0},
-{ 4, s_3_40, -1, 1, 0},
-{ 2, s_3_41, -1, 1, 0},
-{ 2, s_3_42, -1, 1, 0},
-{ 4, s_3_43, 42, 1, 0},
-{ 4, s_3_44, 42, 1, 0},
-{ 5, s_3_45, 42, 1, 0},
-{ 5, s_3_46, 42, 1, 0},
-{ 6, s_3_47, 42, 1, 0},
-{ 6, s_3_48, 42, 1, 0},
-{ 5, s_3_49, 42, 1, 0},
-{ 6, s_3_50, 42, 1, 0},
-{ 4, s_3_51, 42, 1, 0},
-{ 5, s_3_52, 42, 1, 0},
-{ 5, s_3_53, 42, 1, 0},
-{ 6, s_3_54, 42, 1, 0},
-{ 4, s_3_55, 42, 1, 0},
-{ 6, s_3_56, 55, 1, 0},
-{ 6, s_3_57, 55, 1, 0},
-{ 5, s_3_58, -1, 1, 0},
-{ 5, s_3_59, -1, 1, 0},
-{ 5, s_3_60, -1, 1, 0},
-{ 6, s_3_61, -1, 1, 0},
-{ 6, s_3_62, -1, 1, 0},
-{ 6, s_3_63, -1, 1, 0},
-{ 6, s_3_64, -1, 1, 0},
-{ 3, s_3_65, -1, 1, 0},
-{ 2, s_3_66, -1, 1, 0},
-{ 4, s_3_67, 66, 1, 0},
-{ 5, s_3_68, 66, 1, 0},
-{ 4, s_3_69, 66, 1, 0},
-{ 5, s_3_70, 66, 1, 0},
-{ 4, s_3_71, 66, 1, 0},
-{ 4, s_3_72, 66, 1, 0},
-{ 6, s_3_73, 72, 1, 0},
-{ 6, s_3_74, 72, 1, 0},
-{ 6, s_3_75, 72, 1, 0},
-{ 2, s_3_76, -1, 1, 0},
-{ 3, s_3_77, 76, 1, 0},
-{ 5, s_3_78, 77, 1, 0},
-{ 5, s_3_79, 77, 1, 0},
-{ 4, s_3_80, 76, 1, 0},
-{ 4, s_3_81, 76, 1, 0},
-{ 4, s_3_82, 76, 1, 0},
-{ 5, s_3_83, 76, 1, 0},
-{ 5, s_3_84, 76, 1, 0},
-{ 4, s_3_85, 76, 1, 0},
-{ 5, s_3_86, 76, 1, 0},
-{ 5, s_3_87, 76, 1, 0},
-{ 5, s_3_88, 76, 1, 0},
-{ 5, s_3_89, 76, 1, 0},
-{ 6, s_3_90, 76, 1, 0},
-{ 6, s_3_91, 76, 1, 0},
-{ 6, s_3_92, 76, 1, 0},
-{ 6, s_3_93, 76, 1, 0},
-{ 7, s_3_94, 76, 1, 0},
-{ 4, s_3_95, 76, 1, 0},
-{ 4, s_3_96, 76, 1, 0},
-{ 5, s_3_97, 96, 1, 0},
-{ 5, s_3_98, 76, 1, 0},
-{ 4, s_3_99, 76, 1, 0},
-{ 2, s_3_100, -1, 1, 0},
-{ 4, s_3_101, 100, 1, 0},
-{ 3, s_3_102, 100, 1, 0},
-{ 4, s_3_103, 102, 1, 0},
-{ 5, s_3_104, 102, 1, 0},
-{ 5, s_3_105, 102, 1, 0},
-{ 5, s_3_106, 102, 1, 0},
-{ 6, s_3_107, 102, 1, 0},
-{ 6, s_3_108, 100, 1, 0},
-{ 5, s_3_109, 100, 1, 0},
-{ 4, s_3_110, -1, 1, 0},
-{ 5, s_3_111, -1, 1, 0},
-{ 5, s_3_112, -1, 1, 0},
-{ 5, s_3_113, -1, 1, 0},
-{ 5, s_3_114, -1, 1, 0},
-{ 4, s_3_115, -1, 1, 0},
-{ 3, s_3_116, -1, 1, 0},
-{ 3, s_3_117, -1, 1, 0},
-{ 4, s_3_118, -1, 2, 0},
-{ 5, s_3_119, -1, 1, 0},
-{ 2, s_3_120, -1, 1, 0},
-{ 3, s_3_121, -1, 1, 0},
-{ 4, s_3_122, 121, 1, 0},
-{ 4, s_3_123, -1, 1, 0},
-{ 4, s_3_124, -1, 1, 0},
-{ 2, s_3_125, -1, 1, 0},
-{ 4, s_3_126, 125, 1, 0},
-{ 2, s_3_127, -1, 1, 0},
-{ 5, s_3_128, 127, 1, 0},
-{ 2, s_3_129, -1, 1, 0},
-{ 4, s_3_130, -1, 1, 0},
-{ 2, s_3_131, -1, 1, 0},
-{ 4, s_3_132, 131, 1, 0},
-{ 4, s_3_133, 131, 1, 0},
-{ 4, s_3_134, 131, 1, 0},
-{ 4, s_3_135, 131, 1, 0},
-{ 5, s_3_136, 131, 1, 0},
-{ 4, s_3_137, 131, 1, 0},
-{ 6, s_3_138, 137, 1, 0},
-{ 6, s_3_139, 137, 1, 0},
-{ 6, s_3_140, 137, 1, 0},
-{ 3, s_3_141, -1, 1, 0},
-{ 2, s_3_142, -1, 1, 0},
-{ 4, s_3_143, 142, 1, 0},
-{ 4, s_3_144, 142, 1, 0},
-{ 4, s_3_145, 142, 1, 0},
-{ 5, s_3_146, 142, 1, 0},
-{ 5, s_3_147, 142, 1, 0},
-{ 3, s_3_148, 142, 1, 0},
-{ 5, s_3_149, 148, 1, 0},
-{ 5, s_3_150, 148, 1, 0},
-{ 4, s_3_151, 142, 1, 0},
-{ 4, s_3_152, 142, 1, 0},
-{ 6, s_3_153, 142, 1, 0},
-{ 5, s_3_154, 142, 1, 0},
-{ 4, s_3_155, 142, 1, 0},
-{ 5, s_3_156, 142, 1, 0},
-{ 5, s_3_157, 142, 1, 0},
-{ 5, s_3_158, 142, 1, 0},
-{ 5, s_3_159, 142, 1, 0},
-{ 6, s_3_160, 142, 1, 0},
-{ 4, s_3_161, 142, 1, 0},
-{ 6, s_3_162, 161, 1, 0},
-{ 7, s_3_163, 161, 1, 0},
-{ 4, s_3_164, 142, 1, 0},
-{ 4, s_3_165, 142, 1, 0},
-{ 5, s_3_166, 165, 1, 0},
-{ 5, s_3_167, 142, 1, 0},
-{ 4, s_3_168, 142, 1, 0},
-{ 5, s_3_169, -1, 1, 0},
-{ 5, s_3_170, -1, 1, 0},
-{ 6, s_3_171, -1, 1, 0},
-{ 5, s_3_172, -1, 1, 0},
-{ 7, s_3_173, 172, 1, 0},
-{ 7, s_3_174, 172, 1, 0},
-{ 7, s_3_175, 172, 1, 0},
-{ 5, s_3_176, -1, 1, 0},
-{ 6, s_3_177, -1, 1, 0},
-{ 6, s_3_178, -1, 1, 0},
-{ 6, s_3_179, -1, 1, 0},
-{ 4, s_3_180, -1, 1, 0},
-{ 3, s_3_181, -1, 1, 0},
-{ 4, s_3_182, 181, 1, 0},
-{ 5, s_3_183, 181, 1, 0},
-{ 5, s_3_184, 181, 1, 0},
-{ 5, s_3_185, 181, 1, 0},
-{ 6, s_3_186, 181, 1, 0},
-{ 6, s_3_187, -1, 1, 0},
-{ 5, s_3_188, -1, 1, 0},
-{ 5, s_3_189, -1, 1, 0},
-{ 4, s_3_190, -1, 1, 0},
-{ 6, s_3_191, -1, 1, 0},
-{ 6, s_3_192, -1, 1, 0},
-{ 6, s_3_193, -1, 1, 0},
-{ 3, s_3_194, -1, 1, 0},
-{ 4, s_3_195, -1, 1, 0},
-{ 4, s_3_196, -1, 1, 0},
-{ 4, s_3_197, -1, 1, 0},
-{ 7, s_3_198, 197, 1, 0},
-{ 7, s_3_199, 197, 1, 0},
-{ 8, s_3_200, 197, 1, 0},
-{ 6, s_3_201, 197, 1, 0},
-{ 8, s_3_202, 201, 1, 0},
-{ 8, s_3_203, 201, 1, 0},
-{ 8, s_3_204, 201, 1, 0},
-{ 6, s_3_205, -1, 1, 0},
-{ 6, s_3_206, -1, 1, 0},
-{ 6, s_3_207, -1, 1, 0},
-{ 7, s_3_208, -1, 1, 0},
-{ 8, s_3_209, -1, 1, 0},
-{ 4, s_3_210, -1, 1, 0},
-{ 5, s_3_211, -1, 1, 0},
-{ 3, s_3_212, -1, 1, 0},
-{ 5, s_3_213, 212, 1, 0},
-{ 3, s_3_214, -1, 1, 0},
-{ 3, s_3_215, -1, 1, 0},
-{ 3, s_3_216, -1, 1, 0},
-{ 4, s_3_217, -1, 1, 0},
-{ 3, s_3_218, -1, 1, 0},
-{ 5, s_3_219, 218, 1, 0},
-{ 5, s_3_220, 218, 1, 0},
-{ 5, s_3_221, -1, 1, 0},
-{ 5, s_3_222, -1, 1, 0},
-{ 5, s_3_223, -1, 1, 0},
-{ 3, s_3_224, -1, 1, 0},
-{ 5, s_3_225, 224, 1, 0},
-{ 3, s_3_226, -1, 1, 0},
-{ 4, s_3_227, -1, 1, 0},
-{ 2, s_3_228, -1, 1, 0},
-{ 2, s_3_229, -1, 1, 0},
-{ 3, s_3_230, -1, 1, 0},
-{ 3, s_3_231, -1, 1, 0},
-{ 3, s_3_232, -1, 1, 0},
-{ 2, s_3_233, -1, 1, 0},
-{ 3, s_3_234, -1, 1, 0},
-{ 2, s_3_235, -1, 1, 0},
-{ 4, s_3_236, 235, 1, 0},
-{ 3, s_3_237, -1, 1, 0},
-{ 4, s_3_238, -1, 1, 0},
-{ 4, s_3_239, -1, 1, 0},
-{ 4, s_3_240, -1, 1, 0},
-{ 5, s_3_241, -1, 1, 0},
-{ 5, s_3_242, -1, 1, 0},
-{ 5, s_3_243, -1, 1, 0},
-{ 5, s_3_244, -1, 1, 0},
-{ 7, s_3_245, 244, 1, 0},
-{ 6, s_3_246, -1, 1, 0},
-{ 6, s_3_247, -1, 1, 0},
-{ 5, s_3_248, -1, 1, 0},
-{ 6, s_3_249, -1, 1, 0},
-{ 5, s_3_250, -1, 1, 0},
-{ 5, s_3_251, -1, 1, 0},
-{ 5, s_3_252, -1, 1, 0},
-{ 4, s_3_253, -1, 1, 0},
-{ 6, s_3_254, 253, 1, 0},
-{ 4, s_3_255, -1, 1, 0},
-{ 6, s_3_256, 255, 1, 0},
-{ 6, s_3_257, 255, 1, 0},
-{ 5, s_3_258, -1, 1, 0},
-{ 5, s_3_259, -1, 1, 0},
-{ 6, s_3_260, -1, 1, 0},
-{ 6, s_3_261, -1, 1, 0},
-{ 6, s_3_262, -1, 1, 0},
-{ 6, s_3_263, -1, 1, 0},
-{ 3, s_3_264, -1, 1, 0},
-{ 2, s_3_265, -1, 1, 0},
-{ 3, s_3_266, 265, 1, 0},
-{ 3, s_3_267, -1, 1, 0},
-{ 3, s_3_268, -1, 1, 0},
-{ 3, s_3_269, -1, 1, 0},
-{ 4, s_3_270, -1, 1, 0},
-{ 4, s_3_271, -1, 1, 0},
-{ 5, s_3_272, -1, 1, 0},
-{ 4, s_3_273, -1, 1, 0},
-{ 4, s_3_274, -1, 1, 0},
-{ 4, s_3_275, -1, 1, 0},
-{ 4, s_3_276, -1, 1, 0},
-{ 4, s_3_277, -1, 1, 0},
-{ 4, s_3_278, -1, 1, 0},
-{ 4, s_3_279, -1, 1, 0},
-{ 2, s_3_280, -1, 1, 0},
-{ 3, s_3_281, -1, 1, 0},
-{ 3, s_3_282, -1, 1, 0}
+static const struct among a_3[283] = {
+{ 3, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 4, s_3_2, 0, 1, 0},
+{ 5, s_3_3, 0, 1, 0},
+{ 3, s_3_4, 0, 1, 0},
+{ 3, s_3_5, 0, 1, 0},
+{ 3, s_3_6, 0, 1, 0},
+{ 4, s_3_7, 0, 1, 0},
+{ 2, s_3_8, 0, 1, 0},
+{ 4, s_3_9, -1, 1, 0},
+{ 4, s_3_10, -2, 1, 0},
+{ 3, s_3_11, 0, 1, 0},
+{ 4, s_3_12, 0, 1, 0},
+{ 3, s_3_13, 0, 1, 0},
+{ 5, s_3_14, 0, 1, 0},
+{ 4, s_3_15, 0, 1, 0},
+{ 3, s_3_16, 0, 1, 0},
+{ 3, s_3_17, 0, 1, 0},
+{ 4, s_3_18, 0, 1, 0},
+{ 3, s_3_19, 0, 1, 0},
+{ 5, s_3_20, -1, 1, 0},
+{ 5, s_3_21, -2, 1, 0},
+{ 5, s_3_22, -3, 1, 0},
+{ 3, s_3_23, 0, 1, 0},
+{ 3, s_3_24, 0, 1, 0},
+{ 4, s_3_25, 0, 1, 0},
+{ 2, s_3_26, 0, 1, 0},
+{ 2, s_3_27, 0, 1, 0},
+{ 2, s_3_28, 0, 1, 0},
+{ 2, s_3_29, 0, 1, 0},
+{ 2, s_3_30, 0, 1, 0},
+{ 3, s_3_31, -1, 1, 0},
+{ 3, s_3_32, 0, 1, 0},
+{ 4, s_3_33, 0, 1, 0},
+{ 4, s_3_34, 0, 1, 0},
+{ 4, s_3_35, 0, 1, 0},
+{ 2, s_3_36, 0, 1, 0},
+{ 3, s_3_37, 0, 1, 0},
+{ 5, s_3_38, 0, 1, 0},
+{ 4, s_3_39, 0, 1, 0},
+{ 4, s_3_40, 0, 1, 0},
+{ 2, s_3_41, 0, 1, 0},
+{ 2, s_3_42, 0, 1, 0},
+{ 4, s_3_43, -1, 1, 0},
+{ 4, s_3_44, -2, 1, 0},
+{ 5, s_3_45, -3, 1, 0},
+{ 5, s_3_46, -4, 1, 0},
+{ 6, s_3_47, -5, 1, 0},
+{ 6, s_3_48, -6, 1, 0},
+{ 5, s_3_49, -7, 1, 0},
+{ 6, s_3_50, -8, 1, 0},
+{ 4, s_3_51, -9, 1, 0},
+{ 5, s_3_52, -10, 1, 0},
+{ 5, s_3_53, -11, 1, 0},
+{ 6, s_3_54, -12, 1, 0},
+{ 4, s_3_55, -13, 1, 0},
+{ 6, s_3_56, -1, 1, 0},
+{ 6, s_3_57, -2, 1, 0},
+{ 5, s_3_58, 0, 1, 0},
+{ 5, s_3_59, 0, 1, 0},
+{ 5, s_3_60, 0, 1, 0},
+{ 6, s_3_61, 0, 1, 0},
+{ 6, s_3_62, 0, 1, 0},
+{ 6, s_3_63, 0, 1, 0},
+{ 6, s_3_64, 0, 1, 0},
+{ 3, s_3_65, 0, 1, 0},
+{ 2, s_3_66, 0, 1, 0},
+{ 4, s_3_67, -1, 1, 0},
+{ 5, s_3_68, -2, 1, 0},
+{ 4, s_3_69, -3, 1, 0},
+{ 5, s_3_70, -4, 1, 0},
+{ 4, s_3_71, -5, 1, 0},
+{ 4, s_3_72, -6, 1, 0},
+{ 6, s_3_73, -1, 1, 0},
+{ 6, s_3_74, -2, 1, 0},
+{ 6, s_3_75, -3, 1, 0},
+{ 2, s_3_76, 0, 1, 0},
+{ 3, s_3_77, -1, 1, 0},
+{ 5, s_3_78, -1, 1, 0},
+{ 5, s_3_79, -2, 1, 0},
+{ 4, s_3_80, -4, 1, 0},
+{ 4, s_3_81, -5, 1, 0},
+{ 4, s_3_82, -6, 1, 0},
+{ 5, s_3_83, -7, 1, 0},
+{ 5, s_3_84, -8, 1, 0},
+{ 4, s_3_85, -9, 1, 0},
+{ 5, s_3_86, -10, 1, 0},
+{ 5, s_3_87, -11, 1, 0},
+{ 5, s_3_88, -12, 1, 0},
+{ 5, s_3_89, -13, 1, 0},
+{ 6, s_3_90, -14, 1, 0},
+{ 6, s_3_91, -15, 1, 0},
+{ 6, s_3_92, -16, 1, 0},
+{ 6, s_3_93, -17, 1, 0},
+{ 7, s_3_94, -18, 1, 0},
+{ 4, s_3_95, -19, 1, 0},
+{ 4, s_3_96, -20, 1, 0},
+{ 5, s_3_97, -1, 1, 0},
+{ 5, s_3_98, -22, 1, 0},
+{ 4, s_3_99, -23, 1, 0},
+{ 2, s_3_100, 0, 1, 0},
+{ 4, s_3_101, -1, 1, 0},
+{ 3, s_3_102, -2, 1, 0},
+{ 4, s_3_103, -1, 1, 0},
+{ 5, s_3_104, -2, 1, 0},
+{ 5, s_3_105, -3, 1, 0},
+{ 5, s_3_106, -4, 1, 0},
+{ 6, s_3_107, -5, 1, 0},
+{ 6, s_3_108, -8, 1, 0},
+{ 5, s_3_109, -9, 1, 0},
+{ 4, s_3_110, 0, 1, 0},
+{ 5, s_3_111, 0, 1, 0},
+{ 5, s_3_112, 0, 1, 0},
+{ 5, s_3_113, 0, 1, 0},
+{ 5, s_3_114, 0, 1, 0},
+{ 4, s_3_115, 0, 1, 0},
+{ 3, s_3_116, 0, 1, 0},
+{ 3, s_3_117, 0, 1, 0},
+{ 4, s_3_118, 0, 2, 0},
+{ 5, s_3_119, 0, 1, 0},
+{ 2, s_3_120, 0, 1, 0},
+{ 3, s_3_121, 0, 1, 0},
+{ 4, s_3_122, -1, 1, 0},
+{ 4, s_3_123, 0, 1, 0},
+{ 4, s_3_124, 0, 1, 0},
+{ 2, s_3_125, 0, 1, 0},
+{ 4, s_3_126, -1, 1, 0},
+{ 2, s_3_127, 0, 1, 0},
+{ 5, s_3_128, -1, 1, 0},
+{ 2, s_3_129, 0, 1, 0},
+{ 4, s_3_130, 0, 1, 0},
+{ 2, s_3_131, 0, 1, 0},
+{ 4, s_3_132, -1, 1, 0},
+{ 4, s_3_133, -2, 1, 0},
+{ 4, s_3_134, -3, 1, 0},
+{ 4, s_3_135, -4, 1, 0},
+{ 5, s_3_136, -5, 1, 0},
+{ 4, s_3_137, -6, 1, 0},
+{ 6, s_3_138, -1, 1, 0},
+{ 6, s_3_139, -2, 1, 0},
+{ 6, s_3_140, -3, 1, 0},
+{ 3, s_3_141, 0, 1, 0},
+{ 2, s_3_142, 0, 1, 0},
+{ 4, s_3_143, -1, 1, 0},
+{ 4, s_3_144, -2, 1, 0},
+{ 4, s_3_145, -3, 1, 0},
+{ 5, s_3_146, -4, 1, 0},
+{ 5, s_3_147, -5, 1, 0},
+{ 3, s_3_148, -6, 1, 0},
+{ 5, s_3_149, -1, 1, 0},
+{ 5, s_3_150, -2, 1, 0},
+{ 4, s_3_151, -9, 1, 0},
+{ 4, s_3_152, -10, 1, 0},
+{ 6, s_3_153, -11, 1, 0},
+{ 5, s_3_154, -12, 1, 0},
+{ 4, s_3_155, -13, 1, 0},
+{ 5, s_3_156, -14, 1, 0},
+{ 5, s_3_157, -15, 1, 0},
+{ 5, s_3_158, -16, 1, 0},
+{ 5, s_3_159, -17, 1, 0},
+{ 6, s_3_160, -18, 1, 0},
+{ 4, s_3_161, -19, 1, 0},
+{ 6, s_3_162, -1, 1, 0},
+{ 7, s_3_163, -2, 1, 0},
+{ 4, s_3_164, -22, 1, 0},
+{ 4, s_3_165, -23, 1, 0},
+{ 5, s_3_166, -1, 1, 0},
+{ 5, s_3_167, -25, 1, 0},
+{ 4, s_3_168, -26, 1, 0},
+{ 5, s_3_169, 0, 1, 0},
+{ 5, s_3_170, 0, 1, 0},
+{ 6, s_3_171, 0, 1, 0},
+{ 5, s_3_172, 0, 1, 0},
+{ 7, s_3_173, -1, 1, 0},
+{ 7, s_3_174, -2, 1, 0},
+{ 7, s_3_175, -3, 1, 0},
+{ 5, s_3_176, 0, 1, 0},
+{ 6, s_3_177, 0, 1, 0},
+{ 6, s_3_178, 0, 1, 0},
+{ 6, s_3_179, 0, 1, 0},
+{ 4, s_3_180, 0, 1, 0},
+{ 3, s_3_181, 0, 1, 0},
+{ 4, s_3_182, -1, 1, 0},
+{ 5, s_3_183, -2, 1, 0},
+{ 5, s_3_184, -3, 1, 0},
+{ 5, s_3_185, -4, 1, 0},
+{ 6, s_3_186, -5, 1, 0},
+{ 6, s_3_187, 0, 1, 0},
+{ 5, s_3_188, 0, 1, 0},
+{ 5, s_3_189, 0, 1, 0},
+{ 4, s_3_190, 0, 1, 0},
+{ 6, s_3_191, 0, 1, 0},
+{ 6, s_3_192, 0, 1, 0},
+{ 6, s_3_193, 0, 1, 0},
+{ 3, s_3_194, 0, 1, 0},
+{ 4, s_3_195, 0, 1, 0},
+{ 4, s_3_196, 0, 1, 0},
+{ 4, s_3_197, 0, 1, 0},
+{ 7, s_3_198, -1, 1, 0},
+{ 7, s_3_199, -2, 1, 0},
+{ 8, s_3_200, -3, 1, 0},
+{ 6, s_3_201, -4, 1, 0},
+{ 8, s_3_202, -1, 1, 0},
+{ 8, s_3_203, -2, 1, 0},
+{ 8, s_3_204, -3, 1, 0},
+{ 6, s_3_205, 0, 1, 0},
+{ 6, s_3_206, 0, 1, 0},
+{ 6, s_3_207, 0, 1, 0},
+{ 7, s_3_208, 0, 1, 0},
+{ 8, s_3_209, 0, 1, 0},
+{ 4, s_3_210, 0, 1, 0},
+{ 5, s_3_211, 0, 1, 0},
+{ 3, s_3_212, 0, 1, 0},
+{ 5, s_3_213, -1, 1, 0},
+{ 3, s_3_214, 0, 1, 0},
+{ 3, s_3_215, 0, 1, 0},
+{ 3, s_3_216, 0, 1, 0},
+{ 4, s_3_217, 0, 1, 0},
+{ 3, s_3_218, 0, 1, 0},
+{ 5, s_3_219, -1, 1, 0},
+{ 5, s_3_220, -2, 1, 0},
+{ 5, s_3_221, 0, 1, 0},
+{ 5, s_3_222, 0, 1, 0},
+{ 5, s_3_223, 0, 1, 0},
+{ 3, s_3_224, 0, 1, 0},
+{ 5, s_3_225, -1, 1, 0},
+{ 3, s_3_226, 0, 1, 0},
+{ 4, s_3_227, 0, 1, 0},
+{ 2, s_3_228, 0, 1, 0},
+{ 2, s_3_229, 0, 1, 0},
+{ 3, s_3_230, 0, 1, 0},
+{ 3, s_3_231, 0, 1, 0},
+{ 3, s_3_232, 0, 1, 0},
+{ 2, s_3_233, 0, 1, 0},
+{ 3, s_3_234, 0, 1, 0},
+{ 2, s_3_235, 0, 1, 0},
+{ 4, s_3_236, -1, 1, 0},
+{ 3, s_3_237, 0, 1, 0},
+{ 4, s_3_238, 0, 1, 0},
+{ 4, s_3_239, 0, 1, 0},
+{ 4, s_3_240, 0, 1, 0},
+{ 5, s_3_241, 0, 1, 0},
+{ 5, s_3_242, 0, 1, 0},
+{ 5, s_3_243, 0, 1, 0},
+{ 5, s_3_244, 0, 1, 0},
+{ 7, s_3_245, -1, 1, 0},
+{ 6, s_3_246, 0, 1, 0},
+{ 6, s_3_247, 0, 1, 0},
+{ 5, s_3_248, 0, 1, 0},
+{ 6, s_3_249, 0, 1, 0},
+{ 5, s_3_250, 0, 1, 0},
+{ 5, s_3_251, 0, 1, 0},
+{ 5, s_3_252, 0, 1, 0},
+{ 4, s_3_253, 0, 1, 0},
+{ 6, s_3_254, -1, 1, 0},
+{ 4, s_3_255, 0, 1, 0},
+{ 6, s_3_256, -1, 1, 0},
+{ 6, s_3_257, -2, 1, 0},
+{ 5, s_3_258, 0, 1, 0},
+{ 5, s_3_259, 0, 1, 0},
+{ 6, s_3_260, 0, 1, 0},
+{ 6, s_3_261, 0, 1, 0},
+{ 6, s_3_262, 0, 1, 0},
+{ 6, s_3_263, 0, 1, 0},
+{ 3, s_3_264, 0, 1, 0},
+{ 2, s_3_265, 0, 1, 0},
+{ 3, s_3_266, -1, 1, 0},
+{ 3, s_3_267, 0, 1, 0},
+{ 3, s_3_268, 0, 1, 0},
+{ 3, s_3_269, 0, 1, 0},
+{ 4, s_3_270, 0, 1, 0},
+{ 4, s_3_271, 0, 1, 0},
+{ 5, s_3_272, 0, 1, 0},
+{ 4, s_3_273, 0, 1, 0},
+{ 4, s_3_274, 0, 1, 0},
+{ 4, s_3_275, 0, 1, 0},
+{ 4, s_3_276, 0, 1, 0},
+{ 4, s_3_277, 0, 1, 0},
+{ 4, s_3_278, 0, 1, 0},
+{ 4, s_3_279, 0, 1, 0},
+{ 2, s_3_280, 0, 1, 0},
+{ 3, s_3_281, 0, 1, 0},
+{ 3, s_3_282, 0, 1, 0}
 };
 
 static const symbol s_4_0[1] = { 'a' };
@@ -1140,123 +1145,114 @@ static const symbol s_4_18[2] = { 0xC3, 0xAC };
 static const symbol s_4_19[2] = { 0xC3, 0xAD };
 static const symbol s_4_20[2] = { 0xC3, 0xAF };
 static const symbol s_4_21[2] = { 0xC3, 0xB3 };
-
-static const struct among a_4[22] =
-{
-{ 1, s_4_0, -1, 1, 0},
-{ 1, s_4_1, -1, 1, 0},
-{ 1, s_4_2, -1, 1, 0},
-{ 3, s_4_3, -1, 1, 0},
-{ 1, s_4_4, -1, 1, 0},
-{ 2, s_4_5, -1, 1, 0},
-{ 1, s_4_6, -1, 1, 0},
-{ 2, s_4_7, 6, 1, 0},
-{ 2, s_4_8, 6, 1, 0},
-{ 3, s_4_9, 6, 1, 0},
-{ 2, s_4_10, -1, 1, 0},
-{ 2, s_4_11, -1, 1, 0},
-{ 2, s_4_12, -1, 1, 0},
-{ 3, s_4_13, -1, 2, 0},
-{ 3, s_4_14, -1, 1, 0},
-{ 2, s_4_15, -1, 1, 0},
-{ 2, s_4_16, -1, 1, 0},
-{ 2, s_4_17, -1, 1, 0},
-{ 2, s_4_18, -1, 1, 0},
-{ 2, s_4_19, -1, 1, 0},
-{ 2, s_4_20, -1, 1, 0},
-{ 2, s_4_21, -1, 1, 0}
+static const struct among a_4[22] = {
+{ 1, s_4_0, 0, 1, 0},
+{ 1, s_4_1, 0, 1, 0},
+{ 1, s_4_2, 0, 1, 0},
+{ 3, s_4_3, 0, 1, 0},
+{ 1, s_4_4, 0, 1, 0},
+{ 2, s_4_5, 0, 1, 0},
+{ 1, s_4_6, 0, 1, 0},
+{ 2, s_4_7, -1, 1, 0},
+{ 2, s_4_8, -2, 1, 0},
+{ 3, s_4_9, -3, 1, 0},
+{ 2, s_4_10, 0, 1, 0},
+{ 2, s_4_11, 0, 1, 0},
+{ 2, s_4_12, 0, 1, 0},
+{ 3, s_4_13, 0, 2, 0},
+{ 3, s_4_14, 0, 1, 0},
+{ 2, s_4_15, 0, 1, 0},
+{ 2, s_4_16, 0, 1, 0},
+{ 2, s_4_17, 0, 1, 0},
+{ 2, s_4_18, 0, 1, 0},
+{ 2, s_4_19, 0, 1, 0},
+{ 2, s_4_20, 0, 1, 0},
+{ 2, s_4_21, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 129, 81, 6, 10 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { '.' };
-static const symbol s_6[] = { 'l', 'o', 'g' };
-static const symbol s_7[] = { 'i', 'c' };
-static const symbol s_8[] = { 'c' };
-static const symbol s_9[] = { 'i', 'c' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 252, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_cleaning(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((344765187 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 7; else
-        among_var = find_among(z, a_0, 13);
+        among_var = find_among(z, a_0, 13, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_0);
+                {
+                    int ret = slice_from_s(z, 1, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_1);
+                {
+                    int ret = slice_from_s(z, 1, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_2);
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 1, s_5);
+                {
+                    int ret = slice_from_s(z, 1, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -1264,29 +1260,31 @@ static int r_cleaning(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1634850 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 39)) return 0;
+    if (!find_among_b(z, a_1, 39, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1295,47 +1293,57 @@ static int r_attached_pronoun(struct SN_env * z) {
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_2, 200);
+    among_var = find_among_b(z, a_2, 200, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_6);
+            {
+                int ret = slice_from_s(z, 3, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_7);
+            {
+                int ret = slice_from_s(z, 2, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
@@ -1346,23 +1354,27 @@ static int r_standard_suffix(struct SN_env * z) {
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_3, 283);
+    among_var = find_among_b(z, a_3, 283, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1373,23 +1385,27 @@ static int r_verb_suffix(struct SN_env * z) {
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 22);
+    among_var = find_among_b(z, a_4, 22, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -1398,53 +1414,70 @@ static int r_residual_suffix(struct SN_env * z) {
 }
 
 extern int catalan_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_attached_pronoun(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_standard_suffix(z);
-                if (ret == 0) goto lab2;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_verb_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_verb_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_residual_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_residual_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    {   int c5 = z->c;
-        {   int ret = r_cleaning(z);
+    {
+        int v_5 = z->c;
+        {
+            int ret = r_cleaning(z);
             if (ret < 0) return ret;
         }
-        z->c = c5;
+        z->c = v_5;
     }
     return 1;
 }
 
-extern struct SN_env * catalan_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * catalan_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void catalan_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void catalan_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index b16c6e67423ea5e93f9260ce9351e2a31b07f681..cc8d8d2aefb1c055f548db09a1cea9569299a318 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from danish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_danish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+    symbol * s_ch;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,23 +21,17 @@ extern int danish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_undouble(struct SN_env * z);
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * danish_UTF_8_create_env(void);
-extern void danish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's', 't' };
+static const symbol s_1[] = { 'i', 'g' };
+static const symbol s_2[] = { 'l', 0xC3, 0xB8, 's' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'h', 'e', 'd' };
 static const symbol s_0_1[5] = { 'e', 't', 'h', 'e', 'd' };
 static const symbol s_0_2[4] = { 'e', 'r', 'e', 'd' };
@@ -58,54 +64,50 @@ static const symbol s_0_28[3] = { 'e', 't', 's' };
 static const symbol s_0_29[5] = { 'e', 'r', 'e', 't', 's' };
 static const symbol s_0_30[2] = { 'e', 't' };
 static const symbol s_0_31[4] = { 'e', 'r', 'e', 't' };
-
-static const struct among a_0[32] =
-{
-{ 3, s_0_0, -1, 1, 0},
-{ 5, s_0_1, 0, 1, 0},
-{ 4, s_0_2, -1, 1, 0},
-{ 1, s_0_3, -1, 1, 0},
-{ 5, s_0_4, 3, 1, 0},
-{ 4, s_0_5, 3, 1, 0},
-{ 6, s_0_6, 5, 1, 0},
-{ 3, s_0_7, 3, 1, 0},
-{ 4, s_0_8, 3, 1, 0},
-{ 3, s_0_9, 3, 1, 0},
-{ 2, s_0_10, -1, 1, 0},
-{ 5, s_0_11, 10, 1, 0},
-{ 4, s_0_12, 10, 1, 0},
-{ 2, s_0_13, -1, 1, 0},
-{ 5, s_0_14, 13, 1, 0},
-{ 4, s_0_15, 13, 1, 0},
-{ 1, s_0_16, -1, 2, 0},
-{ 4, s_0_17, 16, 1, 0},
-{ 2, s_0_18, 16, 1, 0},
-{ 5, s_0_19, 18, 1, 0},
-{ 7, s_0_20, 19, 1, 0},
-{ 4, s_0_21, 18, 1, 0},
-{ 5, s_0_22, 18, 1, 0},
-{ 4, s_0_23, 18, 1, 0},
-{ 3, s_0_24, 16, 1, 0},
-{ 6, s_0_25, 24, 1, 0},
-{ 5, s_0_26, 24, 1, 0},
-{ 3, s_0_27, 16, 1, 0},
-{ 3, s_0_28, 16, 1, 0},
-{ 5, s_0_29, 28, 1, 0},
-{ 2, s_0_30, -1, 1, 0},
-{ 4, s_0_31, 30, 1, 0}
+static const struct among a_0[32] = {
+{ 3, s_0_0, 0, 1, 0},
+{ 5, s_0_1, -1, 1, 0},
+{ 4, s_0_2, 0, 1, 0},
+{ 1, s_0_3, 0, 1, 0},
+{ 5, s_0_4, -1, 1, 0},
+{ 4, s_0_5, -2, 1, 0},
+{ 6, s_0_6, -1, 1, 0},
+{ 3, s_0_7, -4, 1, 0},
+{ 4, s_0_8, -5, 1, 0},
+{ 3, s_0_9, -6, 1, 0},
+{ 2, s_0_10, 0, 1, 0},
+{ 5, s_0_11, -1, 1, 0},
+{ 4, s_0_12, -2, 1, 0},
+{ 2, s_0_13, 0, 1, 0},
+{ 5, s_0_14, -1, 1, 0},
+{ 4, s_0_15, -2, 1, 0},
+{ 1, s_0_16, 0, 2, 0},
+{ 4, s_0_17, -1, 1, 0},
+{ 2, s_0_18, -2, 1, 0},
+{ 5, s_0_19, -1, 1, 0},
+{ 7, s_0_20, -1, 1, 0},
+{ 4, s_0_21, -3, 1, 0},
+{ 5, s_0_22, -4, 1, 0},
+{ 4, s_0_23, -5, 1, 0},
+{ 3, s_0_24, -8, 1, 0},
+{ 6, s_0_25, -1, 1, 0},
+{ 5, s_0_26, -2, 1, 0},
+{ 3, s_0_27, -11, 1, 0},
+{ 3, s_0_28, -12, 1, 0},
+{ 5, s_0_29, -1, 1, 0},
+{ 2, s_0_30, 0, 1, 0},
+{ 4, s_0_31, -1, 1, 0}
 };
 
 static const symbol s_1_0[2] = { 'g', 'd' };
 static const symbol s_1_1[2] = { 'd', 't' };
 static const symbol s_1_2[2] = { 'g', 't' };
 static const symbol s_1_3[2] = { 'k', 't' };
-
-static const struct among a_1[4] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0}
+static const struct among a_1[4] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0}
 };
 
 static const symbol s_2_0[2] = { 'i', 'g' };
@@ -113,14 +115,12 @@ static const symbol s_2_1[3] = { 'l', 'i', 'g' };
 static const symbol s_2_2[4] = { 'e', 'l', 'i', 'g' };
 static const symbol s_2_3[3] = { 'e', 'l', 's' };
 static const symbol s_2_4[5] = { 'l', 0xC3, 0xB8, 's', 't' };
-
-static const struct among a_2[5] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 4, s_2_2, 1, 1, 0},
-{ 3, s_2_3, -1, 1, 0},
-{ 5, s_2_4, -1, 2, 0}
+static const struct among a_2[5] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 3, s_2_1, -1, 1, 0},
+{ 4, s_2_2, -1, 1, 0},
+{ 3, s_2_3, 0, 1, 0},
+{ 5, s_2_4, 0, 2, 0}
 };
 
 static const unsigned char g_c[] = { 119, 223, 119, 1 };
@@ -129,58 +129,60 @@ static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 
 static const unsigned char g_s_ending[] = { 239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 };
 
-static const symbol s_0[] = { 's', 't' };
-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) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->I[0] = z->c;
-        z->c = c_test1;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping_U(z, g_v, 97, 248, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0;
-
     {
         int ret = in_grouping_U(z, g_v, 97, 248, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_0, 32);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851440 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_0, 32, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (in_grouping_b_U(z, g_s_ending, 97, 229, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -189,25 +191,28 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-
-        {   int mlimit2;
-            if (z->c < z->I[1]) return 0;
-            mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) return 0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
             z->ket = z->c;
-            if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = mlimit2; return 0; }
-            if (!find_among_b(z, a_1, 4)) { z->lb = mlimit2; return 0; }
+            if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) { z->lb = v_2; return 0; }
+            if (!find_among_b(z, a_1, 4, 0)) { z->lb = v_2; return 0; }
             z->bra = z->c;
-            z->lb = mlimit2;
+            z->lb = v_2;
         }
-        z->c = z->l - m_test1;
+        z->c = z->l - v_1;
     }
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -215,42 +220,48 @@ static int r_consonant_pair(struct SN_env * z) {
 
 static int r_other_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (!(eq_s_b(z, 2, s_0))) goto lab0;
         z->bra = z->c;
         if (!(eq_s_b(z, 2, s_1))) goto lab0;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-
-    {   int mlimit2;
-        if (z->c < z->I[1]) return 0;
-        mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_2;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_2, 5);
-        if (!among_var) { z->lb = mlimit2; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_2; return 0; }
+        among_var = find_among_b(z, a_2, 5, 0);
+        if (!among_var) { z->lb = v_2; return 0; }
         z->bra = z->c;
-        z->lb = mlimit2;
+        z->lb = v_2;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int ret = r_consonant_pair(z);
+            {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = r_consonant_pair(z);
                     if (ret < 0) return ret;
                 }
-                z->c = z->l - m3;
+                z->c = z->l - v_3;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_2);
+            {
+                int ret = slice_from_s(z, 4, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -259,62 +270,91 @@ static int r_other_suffix(struct SN_env * z) {
 }
 
 static int r_undouble(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (in_grouping_b_U(z, g_c, 98, 122, 0)) { z->lb = mlimit1; return 0; }
+        if (in_grouping_b_U(z, g_c, 98, 122, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->S[0] = slice_to(z, z->S[0]);
-        if (z->S[0] == 0) return -1;
-        z->lb = mlimit1;
+        {
+            int ret = slice_to(z, &((SN_local *)z)->s_ch);
+            if (ret < 0) return ret;
+        }
+        z->lb = v_1;
     }
-    if (!(eq_v_b(z, z->S[0]))) return 0;
-    {   int ret = slice_del(z);
+    if (!(eq_v_b(z, ((SN_local *)z)->s_ch))) return 0;
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int danish_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_undouble(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_undouble(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * danish_UTF_8_create_env(void) { return SN_create_env(1, 2); }
+extern struct SN_env * danish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->s_ch = NULL;
 
-extern void danish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 1); }
+        if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
+            danish_UTF_8_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
+
+extern void danish_UTF_8_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_ch);
+    }
+    SN_delete_env(z);
+}
 
index 8fde5390f4dce59407e1887e48372f2f7c20ba56..bc5e883251200cefe3b3ab2d77ca7ef137559cf2 100644 (file)
@@ -1,6 +1,20 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_dutch.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_GE_removed;
+    symbol * s_ch;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,613 +23,2027 @@ extern int dutch_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_standard_suffix(struct SN_env * z);
-static int r_undouble(struct SN_env * z);
+
+static int r_measure(struct SN_env * z);
+static int r_Lose_infix(struct SN_env * z);
+static int r_Lose_prefix(struct SN_env * z);
+static int r_Step_1c(struct SN_env * z);
+static int r_Step_6(struct SN_env * z);
+static int r_Step_7(struct SN_env * z);
+static int r_Step_4(struct SN_env * z);
+static int r_Step_3(struct SN_env * z);
+static int r_Step_2(struct SN_env * z);
+static int r_Step_1(struct SN_env * z);
+static int r_lengthen_V(struct SN_env * z);
+static int r_VX(struct SN_env * z);
+static int r_V(struct SN_env * z);
+static int r_C(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
-static int r_mark_regions(struct SN_env * z);
-static int r_en_ending(struct SN_env * z);
-static int r_e_ending(struct SN_env * z);
-static int r_postlude(struct SN_env * z);
-static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * dutch_UTF_8_create_env(void);
-extern void dutch_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'i', 'j' };
+static const symbol s_1[] = { 'i', 'j' };
+static const symbol s_2[] = { 'i', 'j' };
+static const symbol s_3[] = { 'e', 0xC3, 0xAB, 'e' };
+static const symbol s_4[] = { 'i', 'e', 'e' };
+static const symbol s_5[] = { 'i', 'e' };
+static const symbol s_6[] = { 'a', 'r' };
+static const symbol s_7[] = { 'e', 'r' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 0xC3, 0xA9 };
+static const symbol s_10[] = { 'a', 'u' };
+static const symbol s_11[] = { 'h', 'e', 'd' };
+static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_13[] = { 'n', 'd' };
+static const symbol s_14[] = { 'n', 'd' };
+static const symbol s_15[] = { '\'', 't' };
+static const symbol s_16[] = { 'e', 't' };
+static const symbol s_17[] = { 'r', 'n', 't' };
+static const symbol s_18[] = { 'r', 'n' };
+static const symbol s_19[] = { 'i', 'n', 'k' };
+static const symbol s_20[] = { 'i', 'n', 'g' };
+static const symbol s_21[] = { 'm', 'p' };
+static const symbol s_22[] = { 'm' };
+static const symbol s_23[] = { 'g' };
+static const symbol s_24[] = { 'l', 'i', 'j', 'k' };
+static const symbol s_25[] = { 'i', 's', 'c', 'h' };
+static const symbol s_26[] = { 't' };
+static const symbol s_27[] = { 's' };
+static const symbol s_28[] = { 'r' };
+static const symbol s_29[] = { 'l' };
+static const symbol s_30[] = { 'e', 'n' };
+static const symbol s_31[] = { 'i', 'e', 'f' };
+static const symbol s_32[] = { 'e', 'e', 'r' };
+static const symbol s_33[] = { 'r' };
+static const symbol s_34[] = { 'i', 'l', 'd' };
+static const symbol s_35[] = { 'e', 'r' };
+static const symbol s_36[] = { 'a', 'a', 'r' };
+static const symbol s_37[] = { 'f' };
+static const symbol s_38[] = { 'g' };
+static const symbol s_39[] = { 't' };
+static const symbol s_40[] = { 'd' };
+static const symbol s_41[] = { 'i', 'e' };
+static const symbol s_42[] = { 'e', 'e', 'r' };
+static const symbol s_43[] = { 'n' };
+static const symbol s_44[] = { 'l' };
+static const symbol s_45[] = { 'r' };
+static const symbol s_46[] = { 't', 'e', 'e', 'r' };
+static const symbol s_47[] = { 'l', 'i', 'j', 'k' };
+static const symbol s_48[] = { 'i', 'n', 'n' };
+static const symbol s_49[] = { 'k' };
+static const symbol s_50[] = { 'f' };
+static const symbol s_51[] = { 'p' };
+static const symbol s_52[] = { 'b' };
+static const symbol s_53[] = { 'c' };
+static const symbol s_54[] = { 'd' };
+static const symbol s_55[] = { 'f' };
+static const symbol s_56[] = { 'g' };
+static const symbol s_57[] = { 'h' };
+static const symbol s_58[] = { 'j' };
+static const symbol s_59[] = { 'k' };
+static const symbol s_60[] = { 'l' };
+static const symbol s_61[] = { 'm' };
+static const symbol s_62[] = { 'n' };
+static const symbol s_63[] = { 'p' };
+static const symbol s_64[] = { 'q' };
+static const symbol s_65[] = { 'r' };
+static const symbol s_66[] = { 's' };
+static const symbol s_67[] = { 't' };
+static const symbol s_68[] = { 'v' };
+static const symbol s_69[] = { 'w' };
+static const symbol s_70[] = { 'x' };
+static const symbol s_71[] = { 'z' };
+static const symbol s_72[] = { 'i', 'n' };
+static const symbol s_73[] = { 'n' };
+static const symbol s_74[] = { 'e', 'n' };
+static const symbol s_75[] = { 'g', 'e' };
+static const symbol s_76[] = { 'i', 'j' };
+static const symbol s_77[] = { 'i', 'j' };
+static const symbol s_78[] = { 'e' };
+static const symbol s_79[] = { 'i' };
+static const symbol s_80[] = { 'g', 'e' };
+static const symbol s_81[] = { 'i', 'j' };
+static const symbol s_82[] = { 'i', 'j' };
+static const symbol s_83[] = { 'e' };
+static const symbol s_84[] = { 'i' };
+static const symbol s_85[] = { 'i', 'j' };
+static const symbol s_86[] = { 'i', 'j' };
 
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_1[2] = { 0xC3, 0xA1 };
-static const symbol s_0_2[2] = { 0xC3, 0xA4 };
-static const symbol s_0_3[2] = { 0xC3, 0xA9 };
-static const symbol s_0_4[2] = { 0xC3, 0xAB };
-static const symbol s_0_5[2] = { 0xC3, 0xAD };
-static const symbol s_0_6[2] = { 0xC3, 0xAF };
-static const symbol s_0_7[2] = { 0xC3, 0xB3 };
-static const symbol s_0_8[2] = { 0xC3, 0xB6 };
-static const symbol s_0_9[2] = { 0xC3, 0xBA };
-static const symbol s_0_10[2] = { 0xC3, 0xBC };
-
-static const struct among a_0[11] =
-{
-{ 0, 0, -1, 6, 0},
-{ 2, s_0_1, 0, 1, 0},
-{ 2, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, 2, 0},
-{ 2, s_0_4, 0, 2, 0},
-{ 2, s_0_5, 0, 3, 0},
-{ 2, s_0_6, 0, 3, 0},
-{ 2, s_0_7, 0, 4, 0},
-{ 2, s_0_8, 0, 4, 0},
-{ 2, s_0_9, 0, 5, 0},
-{ 2, s_0_10, 0, 5, 0}
+static const symbol s_0_0[1] = { 'a' };
+static const symbol s_0_1[1] = { 'e' };
+static const symbol s_0_2[1] = { 'o' };
+static const symbol s_0_3[1] = { 'u' };
+static const symbol s_0_4[2] = { 0xC3, 0xA0 };
+static const symbol s_0_5[2] = { 0xC3, 0xA1 };
+static const symbol s_0_6[2] = { 0xC3, 0xA2 };
+static const symbol s_0_7[2] = { 0xC3, 0xA4 };
+static const symbol s_0_8[2] = { 0xC3, 0xA8 };
+static const symbol s_0_9[2] = { 0xC3, 0xA9 };
+static const symbol s_0_10[2] = { 0xC3, 0xAA };
+static const symbol s_0_11[3] = { 'e', 0xC3, 0xAB };
+static const symbol s_0_12[3] = { 'i', 0xC3, 0xAB };
+static const symbol s_0_13[2] = { 0xC3, 0xB2 };
+static const symbol s_0_14[2] = { 0xC3, 0xB3 };
+static const symbol s_0_15[2] = { 0xC3, 0xB4 };
+static const symbol s_0_16[2] = { 0xC3, 0xB6 };
+static const symbol s_0_17[2] = { 0xC3, 0xB9 };
+static const symbol s_0_18[2] = { 0xC3, 0xBA };
+static const symbol s_0_19[2] = { 0xC3, 0xBB };
+static const symbol s_0_20[2] = { 0xC3, 0xBC };
+static const struct among a_0[21] = {
+{ 1, s_0_0, 0, 1, 0},
+{ 1, s_0_1, 0, 2, 0},
+{ 1, s_0_2, 0, 1, 0},
+{ 1, s_0_3, 0, 1, 0},
+{ 2, s_0_4, 0, 1, 0},
+{ 2, s_0_5, 0, 1, 0},
+{ 2, s_0_6, 0, 1, 0},
+{ 2, s_0_7, 0, 1, 0},
+{ 2, s_0_8, 0, 2, 0},
+{ 2, s_0_9, 0, 2, 0},
+{ 2, s_0_10, 0, 2, 0},
+{ 3, s_0_11, 0, 3, 0},
+{ 3, s_0_12, 0, 4, 0},
+{ 2, s_0_13, 0, 1, 0},
+{ 2, s_0_14, 0, 1, 0},
+{ 2, s_0_15, 0, 1, 0},
+{ 2, s_0_16, 0, 1, 0},
+{ 2, s_0_17, 0, 1, 0},
+{ 2, s_0_18, 0, 1, 0},
+{ 2, s_0_19, 0, 1, 0},
+{ 2, s_0_20, 0, 1, 0}
 };
 
-static const symbol s_1_1[1] = { 'I' };
-static const symbol s_1_2[1] = { 'Y' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_1_1, 0, 2, 0},
-{ 1, s_1_2, 0, 1, 0}
+static const symbol s_1_0[3] = { 'n', 'd', 'e' };
+static const symbol s_1_1[2] = { 'e', 'n' };
+static const symbol s_1_2[1] = { 's' };
+static const symbol s_1_3[2] = { '\'', 's' };
+static const symbol s_1_4[2] = { 'e', 's' };
+static const symbol s_1_5[3] = { 'i', 'e', 's' };
+static const symbol s_1_6[3] = { 'a', 'u', 's' };
+static const symbol s_1_7[3] = { 0xC3, 0xA9, 's' };
+static const struct among a_1[8] = {
+{ 3, s_1_0, 0, 8, 0},
+{ 2, s_1_1, 0, 7, 0},
+{ 1, s_1_2, 0, 2, 0},
+{ 2, s_1_3, -1, 1, 0},
+{ 2, s_1_4, -2, 4, 0},
+{ 3, s_1_5, -1, 3, 0},
+{ 3, s_1_6, -4, 6, 0},
+{ 3, s_1_7, -5, 5, 0}
 };
 
-static const symbol s_2_0[2] = { 'd', 'd' };
-static const symbol s_2_1[2] = { 'k', 'k' };
-static const symbol s_2_2[2] = { 't', 't' };
-
-static const struct among a_2[3] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0}
+static const symbol s_2_0[2] = { 'd', 'e' };
+static const symbol s_2_1[2] = { 'g', 'e' };
+static const symbol s_2_2[5] = { 'i', 's', 'c', 'h', 'e' };
+static const symbol s_2_3[2] = { 'j', 'e' };
+static const symbol s_2_4[5] = { 'l', 'i', 'j', 'k', 'e' };
+static const symbol s_2_5[2] = { 'l', 'e' };
+static const symbol s_2_6[3] = { 'e', 'n', 'e' };
+static const symbol s_2_7[2] = { 'r', 'e' };
+static const symbol s_2_8[2] = { 's', 'e' };
+static const symbol s_2_9[2] = { 't', 'e' };
+static const symbol s_2_10[4] = { 'i', 'e', 'v', 'e' };
+static const struct among a_2[11] = {
+{ 2, s_2_0, 0, 5, 0},
+{ 2, s_2_1, 0, 2, 0},
+{ 5, s_2_2, 0, 4, 0},
+{ 2, s_2_3, 0, 1, 0},
+{ 5, s_2_4, 0, 3, 0},
+{ 2, s_2_5, 0, 9, 0},
+{ 3, s_2_6, 0, 10, 0},
+{ 2, s_2_7, 0, 8, 0},
+{ 2, s_2_8, 0, 7, 0},
+{ 2, s_2_9, 0, 6, 0},
+{ 4, s_2_10, 0, 11, 0}
 };
 
-static const symbol s_3_0[3] = { 'e', 'n', 'e' };
-static const symbol s_3_1[2] = { 's', 'e' };
-static const symbol s_3_2[2] = { 'e', 'n' };
-static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
-static const symbol s_3_4[1] = { 's' };
-
-static const struct among a_3[5] =
-{
-{ 3, s_3_0, -1, 2, 0},
-{ 2, s_3_1, -1, 3, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 5, s_3_3, 2, 1, 0},
-{ 1, s_3_4, -1, 3, 0}
+static const symbol s_3_0[4] = { 'h', 'e', 'i', 'd' };
+static const symbol s_3_1[3] = { 'f', 'i', 'e' };
+static const symbol s_3_2[3] = { 'g', 'i', 'e' };
+static const symbol s_3_3[4] = { 'a', 't', 'i', 'e' };
+static const symbol s_3_4[4] = { 'i', 's', 'm', 'e' };
+static const symbol s_3_5[3] = { 'i', 'n', 'g' };
+static const symbol s_3_6[4] = { 'a', 'r', 'i', 'j' };
+static const symbol s_3_7[4] = { 'e', 'r', 'i', 'j' };
+static const symbol s_3_8[3] = { 's', 'e', 'l' };
+static const symbol s_3_9[4] = { 'r', 'd', 'e', 'r' };
+static const symbol s_3_10[4] = { 's', 't', 'e', 'r' };
+static const symbol s_3_11[5] = { 'i', 't', 'e', 'i', 't' };
+static const symbol s_3_12[3] = { 'd', 's', 't' };
+static const symbol s_3_13[3] = { 't', 's', 't' };
+static const struct among a_3[14] = {
+{ 4, s_3_0, 0, 3, 0},
+{ 3, s_3_1, 0, 7, 0},
+{ 3, s_3_2, 0, 8, 0},
+{ 4, s_3_3, 0, 1, 0},
+{ 4, s_3_4, 0, 5, 0},
+{ 3, s_3_5, 0, 5, 0},
+{ 4, s_3_6, 0, 6, 0},
+{ 4, s_3_7, 0, 5, 0},
+{ 3, s_3_8, 0, 3, 0},
+{ 4, s_3_9, 0, 4, 0},
+{ 4, s_3_10, 0, 3, 0},
+{ 5, s_3_11, 0, 2, 0},
+{ 3, s_3_12, 0, 10, 0},
+{ 3, s_3_13, 0, 9, 0}
 };
 
 static const symbol s_4_0[3] = { 'e', 'n', 'd' };
-static const symbol s_4_1[2] = { 'i', 'g' };
-static const symbol s_4_2[3] = { 'i', 'n', 'g' };
-static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
-static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
-static const symbol s_4_5[3] = { 'b', 'a', 'r' };
-
-static const struct among a_4[6] =
-{
-{ 3, s_4_0, -1, 1, 0},
-{ 2, s_4_1, -1, 2, 0},
-{ 3, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 3, 0},
-{ 4, s_4_4, -1, 4, 0},
-{ 3, s_4_5, -1, 5, 0}
+static const symbol s_4_1[5] = { 'a', 't', 'i', 'e', 'f' };
+static const symbol s_4_2[4] = { 'e', 'r', 'i', 'g' };
+static const symbol s_4_3[6] = { 'a', 'c', 'h', 't', 'i', 'g' };
+static const symbol s_4_4[6] = { 'i', 'o', 'n', 'e', 'e', 'l' };
+static const symbol s_4_5[4] = { 'b', 'a', 'a', 'r' };
+static const symbol s_4_6[4] = { 'l', 'a', 'a', 'r' };
+static const symbol s_4_7[4] = { 'n', 'a', 'a', 'r' };
+static const symbol s_4_8[4] = { 'r', 'a', 'a', 'r' };
+static const symbol s_4_9[6] = { 'e', 'r', 'i', 'g', 'e', 'r' };
+static const symbol s_4_10[8] = { 'a', 'c', 'h', 't', 'i', 'g', 'e', 'r' };
+static const symbol s_4_11[6] = { 'l', 'i', 'j', 'k', 'e', 'r' };
+static const symbol s_4_12[4] = { 't', 'a', 'n', 't' };
+static const symbol s_4_13[6] = { 'e', 'r', 'i', 'g', 's', 't' };
+static const symbol s_4_14[8] = { 'a', 'c', 'h', 't', 'i', 'g', 's', 't' };
+static const symbol s_4_15[6] = { 'l', 'i', 'j', 'k', 's', 't' };
+static const struct among a_4[16] = {
+{ 3, s_4_0, 0, 9, 0},
+{ 5, s_4_1, 0, 2, 0},
+{ 4, s_4_2, 0, 9, 0},
+{ 6, s_4_3, 0, 3, 0},
+{ 6, s_4_4, 0, 1, 0},
+{ 4, s_4_5, 0, 3, 0},
+{ 4, s_4_6, 0, 5, 0},
+{ 4, s_4_7, 0, 4, 0},
+{ 4, s_4_8, 0, 6, 0},
+{ 6, s_4_9, 0, 9, 0},
+{ 8, s_4_10, 0, 3, 0},
+{ 6, s_4_11, 0, 8, 0},
+{ 4, s_4_12, 0, 7, 0},
+{ 6, s_4_13, 0, 9, 0},
+{ 8, s_4_14, 0, 3, 0},
+{ 6, s_4_15, 0, 8, 0}
 };
 
-static const symbol s_5_0[2] = { 'a', 'a' };
-static const symbol s_5_1[2] = { 'e', 'e' };
-static const symbol s_5_2[2] = { 'o', 'o' };
-static const symbol s_5_3[2] = { 'u', 'u' };
-
-static const struct among a_5[4] =
-{
-{ 2, s_5_0, -1, -1, 0},
-{ 2, s_5_1, -1, -1, 0},
-{ 2, s_5_2, -1, -1, 0},
-{ 2, s_5_3, -1, -1, 0}
+static const symbol s_5_0[2] = { 'i', 'g' };
+static const symbol s_5_1[4] = { 'i', 'g', 'e', 'r' };
+static const symbol s_5_2[4] = { 'i', 'g', 's', 't' };
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0}
 };
 
-static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
-
-static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+static const symbol s_6_0[2] = { 'f', 't' };
+static const symbol s_6_1[2] = { 'k', 't' };
+static const symbol s_6_2[2] = { 'p', 't' };
+static const struct among a_6[3] = {
+{ 2, s_6_0, 0, 2, 0},
+{ 2, s_6_1, 0, 1, 0},
+{ 2, s_6_2, 0, 3, 0}
+};
 
-static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+static const symbol s_7_0[2] = { 'b', 'b' };
+static const symbol s_7_1[2] = { 'c', 'c' };
+static const symbol s_7_2[2] = { 'd', 'd' };
+static const symbol s_7_3[2] = { 'f', 'f' };
+static const symbol s_7_4[2] = { 'g', 'g' };
+static const symbol s_7_5[2] = { 'h', 'h' };
+static const symbol s_7_6[2] = { 'j', 'j' };
+static const symbol s_7_7[2] = { 'k', 'k' };
+static const symbol s_7_8[2] = { 'l', 'l' };
+static const symbol s_7_9[2] = { 'm', 'm' };
+static const symbol s_7_10[2] = { 'n', 'n' };
+static const symbol s_7_11[2] = { 'p', 'p' };
+static const symbol s_7_12[2] = { 'q', 'q' };
+static const symbol s_7_13[2] = { 'r', 'r' };
+static const symbol s_7_14[2] = { 's', 's' };
+static const symbol s_7_15[2] = { 't', 't' };
+static const symbol s_7_16[1] = { 'v' };
+static const symbol s_7_17[2] = { 'v', 'v' };
+static const symbol s_7_18[2] = { 'w', 'w' };
+static const symbol s_7_19[2] = { 'x', 'x' };
+static const symbol s_7_20[1] = { 'z' };
+static const symbol s_7_21[2] = { 'z', 'z' };
+static const struct among a_7[22] = {
+{ 2, s_7_0, 0, 1, 0},
+{ 2, s_7_1, 0, 2, 0},
+{ 2, s_7_2, 0, 3, 0},
+{ 2, s_7_3, 0, 4, 0},
+{ 2, s_7_4, 0, 5, 0},
+{ 2, s_7_5, 0, 6, 0},
+{ 2, s_7_6, 0, 7, 0},
+{ 2, s_7_7, 0, 8, 0},
+{ 2, s_7_8, 0, 9, 0},
+{ 2, s_7_9, 0, 10, 0},
+{ 2, s_7_10, 0, 11, 0},
+{ 2, s_7_11, 0, 12, 0},
+{ 2, s_7_12, 0, 13, 0},
+{ 2, s_7_13, 0, 14, 0},
+{ 2, s_7_14, 0, 15, 0},
+{ 2, s_7_15, 0, 16, 0},
+{ 1, s_7_16, 0, 4, 0},
+{ 2, s_7_17, -1, 17, 0},
+{ 2, s_7_18, 0, 18, 0},
+{ 2, s_7_19, 0, 19, 0},
+{ 1, s_7_20, 0, 15, 0},
+{ 2, s_7_21, -1, 20, 0}
+};
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { 'Y' };
-static const symbol s_6[] = { 'I' };
-static const symbol s_7[] = { 'Y' };
-static const symbol s_8[] = { 'y' };
-static const symbol s_9[] = { 'i' };
-static const symbol s_10[] = { 'g', 'e', 'm' };
-static const symbol s_11[] = { 'h', 'e', 'i', 'd' };
-static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
-static const symbol s_13[] = { 'e', 'n' };
-static const symbol s_14[] = { 'i', 'g' };
+static const symbol s_8_0[1] = { 'd' };
+static const symbol s_8_1[1] = { 't' };
+static const struct among a_8[2] = {
+{ 1, s_8_0, 0, 1, 0},
+{ 1, s_8_1, 0, 2, 0}
+};
 
-static int r_prelude(struct SN_env * z) {
-    int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            z->bra = z->c;
-            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((340306450 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
-            among_var = find_among(z, a_0, 11);
-            z->ket = z->c;
-            switch (among_var) {
-                case 1:
-                    {   int ret = slice_from_s(z, 1, s_0);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 2:
-                    {   int ret = slice_from_s(z, 1, s_1);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 3:
-                    {   int ret = slice_from_s(z, 1, s_2);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 4:
-                    {   int ret = slice_from_s(z, 1, s_3);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 5:
-                    {   int ret = slice_from_s(z, 1, s_4);
-                        if (ret < 0) return ret;
-                    }
-                    break;
-                case 6:
-                    {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                        if (ret < 0) goto lab0;
-                        z->c = ret;
-                    }
-                    break;
-            }
-            continue;
-        lab0:
-            z->c = c2;
-            break;
-        }
-        z->c = c_test1;
-    }
-    {   int c3 = z->c;
-        z->bra = z->c;
-        if (z->c == z->l || z->p[z->c] != 'y') { z->c = c3; goto lab1; }
-        z->c++;
-        z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_5);
-            if (ret < 0) return ret;
-        }
-    lab1:
-        ;
-    }
-    while(1) {
-        int c4 = z->c;
-        while(1) {
-            int c5 = z->c;
-            if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab3;
-            z->bra = z->c;
-            {   int c6 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'i') goto lab5;
-                z->c++;
-                z->ket = z->c;
-                if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab5;
-                {   int ret = slice_from_s(z, 1, s_6);
-                    if (ret < 0) return ret;
-                }
-                goto lab4;
-            lab5:
-                z->c = c6;
-                if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
-                z->c++;
-                z->ket = z->c;
-                {   int ret = slice_from_s(z, 1, s_7);
-                    if (ret < 0) return ret;
-                }
-            }
-        lab4:
-            z->c = c5;
-            break;
-        lab3:
-            z->c = c5;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                if (ret < 0) goto lab2;
-                z->c = ret;
-            }
-        }
-        continue;
-    lab2:
-        z->c = c4;
-        break;
-    }
-    return 1;
-}
+static const symbol s_9_1[3] = { 'e', 'f', 't' };
+static const symbol s_9_2[3] = { 'v', 'a', 'a' };
+static const symbol s_9_3[3] = { 'v', 'a', 'l' };
+static const symbol s_9_4[4] = { 'v', 'a', 'l', 'i' };
+static const symbol s_9_5[4] = { 'v', 'a', 'r', 'e' };
+static const struct among a_9[6] = {
+{ 0, 0, 0, -1, 0},
+{ 3, s_9_1, -1, 1, 0},
+{ 3, s_9_2, -2, 1, 0},
+{ 3, s_9_3, -3, 1, 0},
+{ 4, s_9_4, -1, -1, 0},
+{ 4, s_9_5, -5, 1, 0}
+};
 
-static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
-            if (ret < 0) return 0;
-            z->c = ret;
-        }
-        z->I[0] = z->c;
-        z->c = c_test1;
-    }
+static const symbol s_10_0[2] = { 0xC3, 0xAB };
+static const symbol s_10_1[2] = { 0xC3, 0xAF };
+static const struct among a_10[2] = {
+{ 2, s_10_0, 0, 1, 0},
+{ 2, s_10_1, 0, 2, 0}
+};
 
-    {
-        int ret = out_grouping_U(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
+static const symbol s_11_0[2] = { 0xC3, 0xAB };
+static const symbol s_11_1[2] = { 0xC3, 0xAF };
+static const struct among a_11[2] = {
+{ 2, s_11_0, 0, 1, 0},
+{ 2, s_11_1, 0, 2, 0}
+};
 
-    {
-        int ret = in_grouping_U(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
-    z->I[2] = z->c;
+static const unsigned char g_E[] = { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120 };
 
-    if (z->I[2] >= z->I[0]) goto lab0;
-    z->I[2] = z->I[0];
-lab0:
+static const unsigned char g_AIOU[] = { 1, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 11, 120, 46, 15 };
 
-    {
-        int ret = out_grouping_U(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
+static const unsigned char g_AEIOU[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
-    {
-        int ret = in_grouping_U(z, g_v, 97, 232, 1);
-        if (ret < 0) return 0;
-        z->c += ret;
-    }
-    z->I[1] = z->c;
-    return 1;
-}
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
-static int r_postlude(struct SN_env * z) {
-    int among_var;
-    while(1) {
-        int c1 = z->c;
-        z->bra = z->c;
-        if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
-        z->ket = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = slice_from_s(z, 1, s_8);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 2:
-                {   int ret = slice_from_s(z, 1, s_9);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 3:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                    if (ret < 0) goto lab0;
-                    z->c = ret;
-                }
-                break;
-        }
-        continue;
-    lab0:
-        z->c = c1;
-        break;
-    }
-    return 1;
-}
+static const unsigned char g_v_WX[] = { 17, 65, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 139, 127, 46, 15 };
 
 static int r_R1(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
-static int r_undouble(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_2, 3)) return 0;
-        z->c = z->l - m_test1;
-    }
-    z->ket = z->c;
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-        if (ret < 0) return 0;
-        z->c = ret;
-    }
-    z->bra = z->c;
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
+static int r_V(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        do {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_0))) return 0;
+        } while (0);
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_e_ending(struct SN_env * z) {
-    z->I[3] = 0;
-    z->ket = z->c;
-    if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
-    z->c--;
-    z->bra = z->c;
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m_test1 = z->l - z->c;
-        if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
-        z->c = z->l - m_test1;
-    }
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
-    }
-    z->I[3] = 1;
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
+static int r_VX(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+        do {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_v, 97, 252, 0)) goto lab0;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_1))) return 0;
+        } while (0);
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_en_ending(struct SN_env * z) {
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m1 = z->l - z->c; (void)m1;
-        if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
-        z->c = z->l - m1;
-        {   int m2 = z->l - z->c; (void)m2;
-            if (!(eq_s_b(z, 3, s_10))) goto lab0;
+static int r_C(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 2, s_2))) goto lab0;
             return 0;
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-    }
-    {   int ret = slice_del(z);
-        if (ret < 0) return ret;
-    }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
+        if (out_grouping_b_U(z, g_v, 97, 252, 0)) return 0;
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
-static int r_standard_suffix(struct SN_env * z) {
+static int r_lengthen_V(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v_WX, 97, 252, 0)) goto lab0;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
-        among_var = find_among_b(z, a_3, 5);
+        among_var = find_among_b(z, a_0, 21, 0);
         if (!among_var) goto lab0;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int v_2 = z->l - z->c;
+                    do {
+                        int v_3 = z->l - z->c;
+                        if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab1;
+                        break;
+                    lab1:
+                        z->c = z->l - v_3;
+                        if (z->c > z->lb) goto lab0;
+                    } while (0);
+                    z->c = z->l - v_2;
+                }
+                {
+                    int ret = slice_to(z, &((SN_local *)z)->s_ch);
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 4, s_11);
+                {
+                    int saved_c = z->c;
+                    int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
+                    z->c = saved_c;
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = r_en_ending(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int v_4 = z->l - z->c;
+                    do {
+                        int v_5 = z->l - z->c;
+                        if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab2;
+                        break;
+                    lab2:
+                        z->c = z->l - v_5;
+                        if (z->c > z->lb) goto lab0;
+                    } while (0);
+                    {
+                        int v_6 = z->l - z->c;
+                        do {
+                            int v_7 = z->l - z->c;
+                            if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab4;
+                            break;
+                        lab4:
+                            z->c = z->l - v_7;
+                            if (in_grouping_b_U(z, g_E, 101, 235, 0)) goto lab3;
+                            if (z->c > z->lb) goto lab3;
+                        } while (0);
+                        goto lab0;
+                    lab3:
+                        z->c = z->l - v_6;
+                    }
+                    {
+                        int v_8 = z->l - z->c;
+                        {
+                            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                            if (ret < 0) goto lab5;
+                            z->c = ret;
+                        }
+                        if (in_grouping_b_U(z, g_AIOU, 97, 252, 0)) goto lab5;
+                        if (out_grouping_b_U(z, g_AEIOU, 97, 252, 0)) goto lab5;
+                        goto lab0;
+                    lab5:
+                        z->c = z->l - v_8;
+                    }
+                    z->c = z->l - v_4;
+                }
+                {
+                    int ret = slice_to(z, &((SN_local *)z)->s_ch);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int saved_c = z->c;
+                    int ret = insert_v(z, z->c, z->c, ((SN_local *)z)->s_ch);
+                    z->c = saved_c;
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab0;
+                {
+                    int ret = slice_from_s(z, 4, s_3);
                     if (ret < 0) return ret;
                 }
-                if (out_grouping_b_U(z, g_v_j, 97, 232, 0)) goto lab0;
-                {   int ret = slice_del(z);
+                break;
+            case 4:
+                {
+                    int ret = slice_from_s(z, 3, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab0:
-        z->c = z->l - m1;
-    }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_e_ending(z);
-            if (ret < 0) return ret;
-        }
-        z->c = z->l - m2;
-    }
-    {   int m3 = z->l - z->c; (void)m3;
-        z->ket = z->c;
-        if (!(eq_s_b(z, 4, s_12))) goto lab1;
-        z->bra = z->c;
-        {   int ret = r_R2(z);
-            if (ret == 0) goto lab1;
-            if (ret < 0) return ret;
-        }
-        {   int m4 = z->l - z->c; (void)m4;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2;
-            z->c--;
-            goto lab1;
-        lab2:
-            z->c = z->l - m4;
-        }
-        {   int ret = slice_del(z);
-            if (ret < 0) return ret;
-        }
-        z->ket = z->c;
-        if (!(eq_s_b(z, 2, s_13))) goto lab1;
-        z->bra = z->c;
-        {   int ret = r_en_ending(z);
-            if (ret == 0) goto lab1;
-            if (ret < 0) return ret;
-        }
-    lab1:
-        z->c = z->l - m3;
+        z->c = z->l - v_1;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
-        among_var = find_among_b(z, a_4, 6);
-        if (!among_var) goto lab3;
-        z->bra = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
-                    if (ret < 0) return ret;
-                }
-                {   int ret = slice_del(z);
+    return 1;
+}
+
+static int r_Step_1(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_1, 8, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab0;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
-                    z->ket = z->c;
-                    if (!(eq_s_b(z, 2, s_14))) goto lab5;
-                    z->bra = z->c;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab5;
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 2, s_5);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            do {
+                int v_2 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_6))) goto lab1;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                    {   int m7 = z->l - z->c; (void)m7;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
-                        z->c--;
-                        goto lab5;
-                    lab6:
-                        z->c = z->l - m7;
+                    {
+                        int ret = r_C(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    z->c = z->l - v_3;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int v_4 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_7))) goto lab2;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab5:
-                    z->c = z->l - m6;
-                    {   int ret = r_undouble(z);
-                        if (ret == 0) goto lab3;
+                    {
+                        int ret = r_C(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
+                    z->c = z->l - v_4;
                 }
-            lab4:
-                break;
-            case 2:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m8 = z->l - z->c; (void)m8;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
-                    z->c--;
-                    goto lab3;
-                lab7:
-                    z->c = z->l - m8;
+                break;
+            lab2:
+                z->c = z->l - v_2;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_8);
                     if (ret < 0) return ret;
                 }
-                break;
-            case 3:
-                {   int ret = r_R2(z);
+            } while (0);
+            break;
+        case 5:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 2, s_9);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_V(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 2, s_10);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            do {
+                int v_5 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_11))) goto lab3;
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab3;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 4, s_12);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_e_ending(z);
-                    if (ret == 0) goto lab3;
+                break;
+            lab3:
+                z->c = z->l - v_5;
+                if (!(eq_s_b(z, 2, s_13))) goto lab4;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-            case 4:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
+            lab4:
+                z->c = z->l - v_5;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab5;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab5;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab5;
+                    if (ret < 0) return ret;
+                }
+                z->bra = z->c;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-            case 5:
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab3;
+            lab5:
+                z->c = z->l - v_5;
+                do {
+                    int v_6 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab7;
+                    z->c--;
+                    break;
+                lab7:
+                    z->c = z->l - v_6;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab6;
+                    z->c--;
+                } while (0);
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab6;
                     if (ret < 0) return ret;
                 }
-                if (!(z->I[3])) goto lab3;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
-        }
-    lab3:
-        z->c = z->l - m5;
-    }
-    {   int m9 = z->l - z->c; (void)m9;
-        if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab8;
-        {   int m_test10 = z->l - z->c;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab8;
-            if (!find_among_b(z, a_5, 4)) goto lab8;
-            if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab8;
-            z->c = z->l - m_test10;
-        }
-        z->ket = z->c;
-        {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-            if (ret < 0) goto lab8;
-            z->c = ret;
-        }
-        z->bra = z->c;
-        {   int ret = slice_del(z);
-            if (ret < 0) return ret;
-        }
-    lab8:
-        z->c = z->l - m9;
+            lab6:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret <= 0) return ret;
+                }
+            } while (0);
+            break;
+        case 8:
+            {
+                int ret = slice_from_s(z, 2, s_14);
+                if (ret < 0) return ret;
+            }
+            break;
     }
     return 1;
 }
 
-extern int dutch_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
-            if (ret < 0) return ret;
-        }
-        z->c = c1;
-    }
-    {   int c2 = z->c;
-        {   int ret = r_mark_regions(z);
+static int r_Step_2(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 101) return 0;
+    among_var = find_among_b(z, a_2, 11, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_15))) goto lab0;
+                z->bra = z->c;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 2, s_16))) goto lab1;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab1;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab1;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab1:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 3, s_17))) goto lab2;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 2, s_18);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab2:
+                z->c = z->l - v_1;
+                if (z->c <= z->lb || z->p[z->c - 1] != 't') goto lab3;
+                z->c--;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_VX(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab3:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 3, s_19))) goto lab4;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 3, s_20);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab4:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 2, s_21))) goto lab5;
+                z->bra = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_22);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab5:
+                z->c = z->l - v_1;
+                if (z->c <= z->lb || z->p[z->c - 1] != '\'') goto lab6;
+                z->c--;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab6;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab6:
+                z->c = z->l - v_1;
+                z->bra = z->c;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_23);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 4, s_24);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 4, s_25);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_26);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_27);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_28);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_29);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 2, s_30);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 11:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_31);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_3(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1316016 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_3, 14, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_32);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_33);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_34))) goto lab0;
+                {
+                    int ret = slice_from_s(z, 2, s_35);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret <= 0) return ret;
+                }
+            } while (0);
+            break;
+        case 6:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 3, s_36);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_37);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = insert_s(z, z->c, z->c, 1, s_38);
+                if (ret < 0) return ret;
+            }
+            {
+                int ret = r_lengthen_V(z);
+                if (ret <= 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_39);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = r_R1(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = r_C(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_40);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_4(struct SN_env * z) {
+    int among_var;
+    do {
+        int v_1 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1315024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+        among_var = find_among_b(z, a_4, 16, 0);
+        if (!among_var) goto lab0;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 2, s_41);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 3, s_42);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 4:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_43);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 5:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_44);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 6:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_V(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 1, s_45);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 7:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_46);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 8:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_47);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 9:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_C(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_lengthen_V(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        z->ket = z->c;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1310848 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+        if (!find_among_b(z, a_5, 3, 0)) return 0;
+        z->bra = z->c;
+        {
+            int ret = r_R1(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 3, s_48))) goto lab1;
+            if (z->c > z->lb) goto lab1;
+            return 0;
+        lab1:
+            z->c = z->l - v_2;
+        }
+        {
+            int ret = r_C(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        {
+            int ret = r_lengthen_V(z);
+            if (ret <= 0) return ret;
+        }
+    } while (0);
+    return 1;
+}
+
+static int r_Step_7(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) return 0;
+    among_var = find_among_b(z, a_6, 3, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_49);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_50);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_51);
+                if (ret < 0) return ret;
+            }
+            break;
     }
-    z->lb = z->c; z->c = z->l;
+    return 1;
+}
 
+static int r_Step_6(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((98532828 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_7, 22, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_52);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_53);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_54);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_55);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = slice_from_s(z, 1, s_56);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 6:
+            {
+                int ret = slice_from_s(z, 1, s_57);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 7:
+            {
+                int ret = slice_from_s(z, 1, s_58);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 8:
+            {
+                int ret = slice_from_s(z, 1, s_59);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 9:
+            {
+                int ret = slice_from_s(z, 1, s_60);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 10:
+            {
+                int ret = slice_from_s(z, 1, s_61);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 11:
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab0;
+                z->c--;
+                if (z->c > z->lb) goto lab0;
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            {
+                int ret = slice_from_s(z, 1, s_62);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 12:
+            {
+                int ret = slice_from_s(z, 1, s_63);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 13:
+            {
+                int ret = slice_from_s(z, 1, s_64);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 14:
+            {
+                int ret = slice_from_s(z, 1, s_65);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 15:
+            {
+                int ret = slice_from_s(z, 1, s_66);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 16:
+            {
+                int ret = slice_from_s(z, 1, s_67);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 17:
+            {
+                int ret = slice_from_s(z, 1, s_68);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 18:
+            {
+                int ret = slice_from_s(z, 1, s_69);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 19:
+            {
+                int ret = slice_from_s(z, 1, s_70);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 20:
+            {
+                int ret = slice_from_s(z, 1, s_71);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_Step_1c(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 116)) return 0;
+    among_var = find_among_b(z, a_8, 2, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int ret = r_C(z);
+        if (ret <= 0) return ret;
+    }
+    switch (among_var) {
+        case 1:
+            {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                return 0;
+            lab0:
+                z->c = z->l - v_1;
+            }
+            do {
+                int v_2 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_72))) goto lab1;
+                if (z->c > z->lb) goto lab1;
+                {
+                    int ret = slice_from_s(z, 1, s_73);
+                    if (ret < 0) return ret;
+                }
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 2:
+            {
+                int v_3 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'h') goto lab2;
+                z->c--;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab2;
+                    if (ret < 0) return ret;
+                }
+                return 0;
+            lab2:
+                z->c = z->l - v_3;
+            }
+            {
+                int v_4 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_74))) goto lab3;
+                if (z->c > z->lb) goto lab3;
+                return 0;
+            lab3:
+                z->c = z->l - v_4;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
 
-    {   int ret = r_standard_suffix(z);
+static int r_Lose_prefix(struct SN_env * z) {
+    int among_var;
+    z->bra = z->c;
+    if (!(eq_s(z, 2, s_75))) return 0;
+    z->ket = z->c;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            do {
+                int v_4 = z->c;
+                if (!(eq_s(z, 2, s_76))) goto lab1;
+                break;
+            lab1:
+                z->c = v_4;
+                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
+            } while (0);
+            break;
+        lab0:
+            z->c = v_3;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
+                if (ret < 0) return 0;
+                z->c = ret;
+            }
+        }
+        while (1) {
+            int v_5 = z->c;
+            do {
+                int v_6 = z->c;
+                if (!(eq_s(z, 2, s_77))) goto lab3;
+                break;
+            lab3:
+                z->c = v_6;
+                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
+            } while (0);
+            continue;
+        lab2:
+            z->c = v_5;
+            break;
+        }
+        if (z->c < z->l) goto lab4;
+        return 0;
+    lab4:
+        z->c = v_2;
+    }
+    if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((1314818 >> (z->p[z->c + 2] & 0x1f)) & 1)) among_var = -1; else
+    among_var = find_among(z, a_9, 6, 0);
+    switch (among_var) {
+        case 1:
+            return 0;
+            break;
+    }
+    ((SN_local *)z)->b_GE_removed = 1;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    {
+        int v_7 = z->c;
+        z->bra = z->c;
+        if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab5;
+        among_var = find_among(z, a_10, 2, 0);
+        if (!among_var) goto lab5;
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_78);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_79);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab5:
+        z->c = v_7;
+    }
+    return 1;
+}
+
+static int r_Lose_infix(struct SN_env * z) {
+    int among_var;
+    {
+        int ret = skip_utf8(z->p, z->c, z->l, 1);
+        if (ret < 0) return 0;
+        z->c = ret;
+    }
+    while (1) {
+        z->bra = z->c;
+        if (!(eq_s(z, 2, s_80))) goto lab0;
+        z->ket = z->c;
+        break;
+    lab0:
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 1);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+    }
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            do {
+                int v_4 = z->c;
+                if (!(eq_s(z, 2, s_81))) goto lab2;
+                break;
+            lab2:
+                z->c = v_4;
+                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_3;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
+                if (ret < 0) return 0;
+                z->c = ret;
+            }
+        }
+        while (1) {
+            int v_5 = z->c;
+            do {
+                int v_6 = z->c;
+                if (!(eq_s(z, 2, s_82))) goto lab4;
+                break;
+            lab4:
+                z->c = v_6;
+                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
+            } while (0);
+            continue;
+        lab3:
+            z->c = v_5;
+            break;
+        }
+        if (z->c < z->l) goto lab5;
+        return 0;
+    lab5:
+        z->c = v_2;
+    }
+    ((SN_local *)z)->b_GE_removed = 1;
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
+    {
+        int v_7 = z->c;
+        z->bra = z->c;
+        if (z->c + 1 >= z->l || (z->p[z->c + 1] != 171 && z->p[z->c + 1] != 175)) goto lab6;
+        among_var = find_among(z, a_11, 2, 0);
+        if (!among_var) goto lab6;
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_83);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_84);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab6:
+        z->c = v_7;
+    }
+    return 1;
+}
+
+static int r_measure(struct SN_env * z) {
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        while (1) {
+            if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
+            continue;
+        lab1:
+            break;
+        }
+        {
+            int v_2 = 1;
+            while (1) {
+                int v_3 = z->c;
+                do {
+                    int v_4 = z->c;
+                    if (!(eq_s(z, 2, s_85))) goto lab3;
+                    break;
+                lab3:
+                    z->c = v_4;
+                    if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
+                } while (0);
+                v_2--;
+                continue;
+            lab2:
+                z->c = v_3;
+                break;
+            }
+            if (v_2 > 0) goto lab0;
+        }
+        if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
+        ((SN_local *)z)->i_p1 = z->c;
+        while (1) {
+            if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
+            continue;
+        lab4:
+            break;
+        }
+        {
+            int v_5 = 1;
+            while (1) {
+                int v_6 = z->c;
+                do {
+                    int v_7 = z->c;
+                    if (!(eq_s(z, 2, s_86))) goto lab6;
+                    break;
+                lab6:
+                    z->c = v_7;
+                    if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab5;
+                } while (0);
+                v_5--;
+                continue;
+            lab5:
+                z->c = v_6;
+                break;
+            }
+            if (v_5 > 0) goto lab0;
+        }
+        if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab0:
+        z->c = v_1;
+    }
+    return 1;
+}
+
+extern int dutch_UTF_8_stem(struct SN_env * z) {
+    int b_stemmed;
+    b_stemmed = 0;
+    {
+        int ret = r_measure(z);
+        if (ret <= 0) return ret;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_Step_1(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab0:
+        z->c = z->l - v_1;
+    }
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_Step_2(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab1:
+        z->c = z->l - v_2;
+    }
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_Step_3(z);
+            if (ret == 0) goto lab2;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab2:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_Step_4(z);
+            if (ret == 0) goto lab3;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab3:
+        z->c = z->l - v_4;
+    }
     z->c = z->lb;
-    {   int c3 = z->c;
-        {   int ret = r_postlude(z);
+    ((SN_local *)z)->b_GE_removed = 0;
+    {
+        int v_5 = z->c;
+        {
+            int v_6 = z->c;
+            {
+                int ret = r_Lose_prefix(z);
+                if (ret == 0) goto lab4;
+                if (ret < 0) return ret;
+            }
+            z->c = v_6;
+            {
+                int ret = r_measure(z);
+                if (ret < 0) return ret;
+            }
+        }
+    lab4:
+        z->c = v_5;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_7 = z->l - z->c;
+        if (!((SN_local *)z)->b_GE_removed) goto lab5;
+        b_stemmed = 1;
+        {
+            int ret = r_Step_1c(z);
+            if (ret == 0) goto lab5;
+            if (ret < 0) return ret;
+        }
+    lab5:
+        z->c = z->l - v_7;
+    }
+    z->c = z->lb;
+    ((SN_local *)z)->b_GE_removed = 0;
+    {
+        int v_8 = z->c;
+        {
+            int v_9 = z->c;
+            {
+                int ret = r_Lose_infix(z);
+                if (ret == 0) goto lab6;
+                if (ret < 0) return ret;
+            }
+            z->c = v_9;
+            {
+                int ret = r_measure(z);
+                if (ret < 0) return ret;
+            }
+        }
+    lab6:
+        z->c = v_8;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_10 = z->l - z->c;
+        if (!((SN_local *)z)->b_GE_removed) goto lab7;
+        b_stemmed = 1;
+        {
+            int ret = r_Step_1c(z);
+            if (ret == 0) goto lab7;
+            if (ret < 0) return ret;
+        }
+    lab7:
+        z->c = z->l - v_10;
+    }
+    z->c = z->lb;
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_11 = z->l - z->c;
+        {
+            int ret = r_Step_7(z);
+            if (ret == 0) goto lab8;
+            if (ret < 0) return ret;
+        }
+        b_stemmed = 1;
+    lab8:
+        z->c = z->l - v_11;
+    }
+    {
+        int v_12 = z->l - z->c;
+        if (!b_stemmed) goto lab9;
+        {
+            int ret = r_Step_6(z);
+            if (ret == 0) goto lab9;
             if (ret < 0) return ret;
         }
-        z->c = c3;
+    lab9:
+        z->c = z->l - v_12;
     }
+    z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * dutch_UTF_8_create_env(void) { return SN_create_env(0, 4); }
+extern struct SN_env * dutch_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_GE_removed = 0;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->s_ch = NULL;
 
-extern void dutch_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+        if ((((SN_local *)z)->s_ch = create_s()) == NULL) {
+            dutch_UTF_8_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
+
+extern void dutch_UTF_8_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_ch);
+    }
+    SN_delete_env(z);
+}
 
diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_dutch_porter.c b/src/backend/snowball/libstemmer/stem_UTF_8_dutch_porter.c
new file mode 100644 (file)
index 0000000..0726754
--- /dev/null
@@ -0,0 +1,680 @@
+/* Generated from dutch_porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#include "stem_UTF_8_dutch_porter.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_e_found;
+};
+
+typedef struct SN_local SN_local;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int dutch_porter_UTF_8_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
+
+static int r_standard_suffix(struct SN_env * z);
+static int r_undouble(struct SN_env * z);
+static int r_R2(struct SN_env * z);
+static int r_R1(struct SN_env * z);
+static int r_mark_regions(struct SN_env * z);
+static int r_en_ending(struct SN_env * z);
+static int r_e_ending(struct SN_env * z);
+static int r_postlude(struct SN_env * z);
+static int r_prelude(struct SN_env * z);
+
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { 'Y' };
+static const symbol s_6[] = { 'I' };
+static const symbol s_7[] = { 'Y' };
+static const symbol s_8[] = { 'y' };
+static const symbol s_9[] = { 'i' };
+static const symbol s_10[] = { 'g', 'e', 'm' };
+static const symbol s_11[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_12[] = { 'h', 'e', 'i', 'd' };
+static const symbol s_13[] = { 'e', 'n' };
+static const symbol s_14[] = { 'i', 'g' };
+
+static const symbol s_0_1[2] = { 0xC3, 0xA1 };
+static const symbol s_0_2[2] = { 0xC3, 0xA4 };
+static const symbol s_0_3[2] = { 0xC3, 0xA9 };
+static const symbol s_0_4[2] = { 0xC3, 0xAB };
+static const symbol s_0_5[2] = { 0xC3, 0xAD };
+static const symbol s_0_6[2] = { 0xC3, 0xAF };
+static const symbol s_0_7[2] = { 0xC3, 0xB3 };
+static const symbol s_0_8[2] = { 0xC3, 0xB6 };
+static const symbol s_0_9[2] = { 0xC3, 0xBA };
+static const symbol s_0_10[2] = { 0xC3, 0xBC };
+static const struct among a_0[11] = {
+{ 0, 0, 0, 6, 0},
+{ 2, s_0_1, -1, 1, 0},
+{ 2, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, 2, 0},
+{ 2, s_0_4, -4, 2, 0},
+{ 2, s_0_5, -5, 3, 0},
+{ 2, s_0_6, -6, 3, 0},
+{ 2, s_0_7, -7, 4, 0},
+{ 2, s_0_8, -8, 4, 0},
+{ 2, s_0_9, -9, 5, 0},
+{ 2, s_0_10, -10, 5, 0}
+};
+
+static const symbol s_1_1[1] = { 'I' };
+static const symbol s_1_2[1] = { 'Y' };
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_1_1, -1, 2, 0},
+{ 1, s_1_2, -2, 1, 0}
+};
+
+static const symbol s_2_0[2] = { 'd', 'd' };
+static const symbol s_2_1[2] = { 'k', 'k' };
+static const symbol s_2_2[2] = { 't', 't' };
+static const struct among a_2[3] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0}
+};
+
+static const symbol s_3_0[3] = { 'e', 'n', 'e' };
+static const symbol s_3_1[2] = { 's', 'e' };
+static const symbol s_3_2[2] = { 'e', 'n' };
+static const symbol s_3_3[5] = { 'h', 'e', 'd', 'e', 'n' };
+static const symbol s_3_4[1] = { 's' };
+static const struct among a_3[5] = {
+{ 3, s_3_0, 0, 2, 0},
+{ 2, s_3_1, 0, 3, 0},
+{ 2, s_3_2, 0, 2, 0},
+{ 5, s_3_3, -1, 1, 0},
+{ 1, s_3_4, 0, 3, 0}
+};
+
+static const symbol s_4_0[3] = { 'e', 'n', 'd' };
+static const symbol s_4_1[2] = { 'i', 'g' };
+static const symbol s_4_2[3] = { 'i', 'n', 'g' };
+static const symbol s_4_3[4] = { 'l', 'i', 'j', 'k' };
+static const symbol s_4_4[4] = { 'b', 'a', 'a', 'r' };
+static const symbol s_4_5[3] = { 'b', 'a', 'r' };
+static const struct among a_4[6] = {
+{ 3, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 2, 0},
+{ 3, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 3, 0},
+{ 4, s_4_4, 0, 4, 0},
+{ 3, s_4_5, 0, 5, 0}
+};
+
+static const symbol s_5_0[2] = { 'a', 'a' };
+static const symbol s_5_1[2] = { 'e', 'e' };
+static const symbol s_5_2[2] = { 'o', 'o' };
+static const symbol s_5_3[2] = { 'u', 'u' };
+static const struct among a_5[4] = {
+{ 2, s_5_0, 0, -1, 0},
+{ 2, s_5_1, 0, -1, 0},
+{ 2, s_5_2, 0, -1, 0},
+{ 2, s_5_3, 0, -1, 0}
+};
+
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static const unsigned char g_v_I[] = { 1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static const unsigned char g_v_j[] = { 17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
+static int r_prelude(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            z->bra = z->c;
+            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((340306450 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
+            among_var = find_among(z, a_0, 11, 0);
+            z->ket = z->c;
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_from_s(z, 1, s_0);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 2:
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 3:
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 4:
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 5:
+                    {
+                        int ret = slice_from_s(z, 1, s_4);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                case 6:
+                    {
+                        int ret = skip_utf8(z->p, z->c, z->l, 1);
+                        if (ret < 0) goto lab0;
+                        z->c = ret;
+                    }
+                    break;
+            }
+            continue;
+        lab0:
+            z->c = v_2;
+            break;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_3 = z->c;
+        z->bra = z->c;
+        if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_3; goto lab1; }
+        z->c++;
+        z->ket = z->c;
+        {
+            int ret = slice_from_s(z, 1, s_5);
+            if (ret < 0) return ret;
+        }
+    lab1:
+        ;
+    }
+    while (1) {
+        int v_4 = z->c;
+        {
+            int ret = out_grouping_U(z, g_v, 97, 232, 1);
+            if (ret < 0) goto lab2;
+            z->c += ret;
+        }
+        {
+            int v_5 = z->c;
+            z->bra = z->c;
+            do {
+                int v_6 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
+                z->c++;
+                z->ket = z->c;
+                {
+                    int v_7 = z->c;
+                    if (in_grouping_U(z, g_v, 97, 232, 0)) goto lab5;
+                    {
+                        int ret = slice_from_s(z, 1, s_6);
+                        if (ret < 0) return ret;
+                    }
+                lab5:
+                    z->c = v_7;
+                }
+                break;
+            lab4:
+                z->c = v_6;
+                if (z->c == z->l || z->p[z->c] != 'y') { z->c = v_5; goto lab3; }
+                z->c++;
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_7);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+        lab3:
+            ;
+        }
+        continue;
+    lab2:
+        z->c = v_4;
+        break;
+    }
+    return 1;
+}
+
+static int r_mark_regions(struct SN_env * z) {
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping_U(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping_U(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
+lab0:
+    {
+        int ret = out_grouping_U(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping_U(z, g_v, 97, 232, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p2 = z->c;
+    return 1;
+}
+
+static int r_postlude(struct SN_env * z) {
+    int among_var;
+    while (1) {
+        int v_1 = z->c;
+        z->bra = z->c;
+        if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 89)) among_var = 3; else
+        among_var = find_among(z, a_1, 3, 0);
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 1, s_8);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 1, s_9);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
+                    if (ret < 0) goto lab0;
+                    z->c = ret;
+                }
+                break;
+        }
+        continue;
+    lab0:
+        z->c = v_1;
+        break;
+    }
+    return 1;
+}
+
+static int r_R1(struct SN_env * z) {
+    return ((SN_local *)z)->i_p1 <= z->c;
+}
+
+static int r_R2(struct SN_env * z) {
+    return ((SN_local *)z)->i_p2 <= z->c;
+}
+
+static int r_undouble(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1050640 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+        if (!find_among_b(z, a_2, 3, 0)) return 0;
+        z->c = z->l - v_1;
+    }
+    z->ket = z->c;
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+        if (ret < 0) return 0;
+        z->c = ret;
+    }
+    z->bra = z->c;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_e_ending(struct SN_env * z) {
+    ((SN_local *)z)->b_e_found = 0;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
+    z->c--;
+    z->bra = z->c;
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
+        z->c = z->l - v_1;
+    }
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    ((SN_local *)z)->b_e_found = 1;
+    return r_undouble(z);
+}
+
+static int r_en_ending(struct SN_env * z) {
+    {
+        int ret = r_R1(z);
+        if (ret <= 0) return ret;
+    }
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v, 97, 232, 0)) return 0;
+        z->c = z->l - v_1;
+        {
+            int v_2 = z->l - z->c;
+            if (!(eq_s_b(z, 3, s_10))) goto lab0;
+            return 0;
+        lab0:
+            z->c = z->l - v_2;
+        }
+    }
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return r_undouble(z);
+}
+
+static int r_standard_suffix(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540704 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+        among_var = find_among_b(z, a_3, 5, 0);
+        if (!among_var) goto lab0;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_from_s(z, 4, s_11);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = r_en_ending(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                if (out_grouping_b_U(z, g_v_j, 97, 232, 0)) goto lab0;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab0:
+        z->c = z->l - v_1;
+    }
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_e_ending(z);
+            if (ret < 0) return ret;
+        }
+        z->c = z->l - v_2;
+    }
+    {
+        int v_3 = z->l - z->c;
+        z->ket = z->c;
+        if (!(eq_s_b(z, 4, s_12))) goto lab1;
+        z->bra = z->c;
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+        {
+            int v_4 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab2;
+            z->c--;
+            goto lab1;
+        lab2:
+            z->c = z->l - v_4;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+        z->ket = z->c;
+        if (!(eq_s_b(z, 2, s_13))) goto lab1;
+        z->bra = z->c;
+        {
+            int ret = r_en_ending(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+    lab1:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_5 = z->l - z->c;
+        z->ket = z->c;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((264336 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
+        among_var = find_among_b(z, a_4, 6, 0);
+        if (!among_var) goto lab3;
+        z->bra = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                do {
+                    int v_6 = z->l - z->c;
+                    z->ket = z->c;
+                    if (!(eq_s_b(z, 2, s_14))) goto lab4;
+                    z->bra = z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab4;
+                        if (ret < 0) return ret;
+                    }
+                    {
+                        int v_7 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab5;
+                        z->c--;
+                        goto lab4;
+                    lab5:
+                        z->c = z->l - v_7;
+                    }
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+                lab4:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_undouble(z);
+                        if (ret == 0) goto lab3;
+                        if (ret < 0) return ret;
+                    }
+                } while (0);
+                break;
+            case 2:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int v_8 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
+                    z->c--;
+                    goto lab3;
+                lab6:
+                    z->c = z->l - v_8;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = r_e_ending(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 4:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 5:
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab3;
+                    if (ret < 0) return ret;
+                }
+                if (!((SN_local *)z)->b_e_found) goto lab3;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+        }
+    lab3:
+        z->c = z->l - v_5;
+    }
+    {
+        int v_9 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v_I, 73, 232, 0)) goto lab7;
+        {
+            int v_10 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2129954 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab7;
+            if (!find_among_b(z, a_5, 4, 0)) goto lab7;
+            if (out_grouping_b_U(z, g_v, 97, 232, 0)) goto lab7;
+            z->c = z->l - v_10;
+        }
+        z->ket = z->c;
+        {
+            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+            if (ret < 0) goto lab7;
+            z->c = ret;
+        }
+        z->bra = z->c;
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    lab7:
+        z->c = z->l - v_9;
+    }
+    return 1;
+}
+
+extern int dutch_porter_UTF_8_stem(struct SN_env * z) {
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_mark_regions(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_2;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int ret = r_standard_suffix(z);
+        if (ret < 0) return ret;
+    }
+    z->c = z->lb;
+    {
+        int v_3 = z->c;
+        {
+            int ret = r_postlude(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_3;
+    }
+    return 1;
+}
+
+extern struct SN_env * dutch_porter_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->b_e_found = 0;
+    }
+    return z;
+}
+
+extern void dutch_porter_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
+
index 25144ad24afd27b6e174c8e20ba65765e9d26849..b0a20b52818ff22773b7831dcd4102cefbeb1547 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from english.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_english.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_Y_found;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,7 +22,7 @@ extern int english_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_exception2(struct SN_env * z);
+
 static int r_exception1(struct SN_env * z);
 static int r_Step_5(struct SN_env * z);
 static int r_Step_4(struct SN_env * z);
@@ -24,38 +37,75 @@ static int r_shortv(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * english_UTF_8_create_env(void);
-extern void english_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'Y' };
+static const symbol s_1[] = { 'Y' };
+static const symbol s_2[] = { 'p', 'a', 's', 't' };
+static const symbol s_3[] = { 's', 's' };
+static const symbol s_4[] = { 'i' };
+static const symbol s_5[] = { 'i', 'e' };
+static const symbol s_6[] = { 'e', 'e' };
+static const symbol s_7[] = { 'i', 'e' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 'e' };
+static const symbol s_10[] = { 'i' };
+static const symbol s_11[] = { 't', 'i', 'o', 'n' };
+static const symbol s_12[] = { 'e', 'n', 'c', 'e' };
+static const symbol s_13[] = { 'a', 'n', 'c', 'e' };
+static const symbol s_14[] = { 'a', 'b', 'l', 'e' };
+static const symbol s_15[] = { 'e', 'n', 't' };
+static const symbol s_16[] = { 'i', 'z', 'e' };
+static const symbol s_17[] = { 'a', 't', 'e' };
+static const symbol s_18[] = { 'a', 'l' };
+static const symbol s_19[] = { 'f', 'u', 'l' };
+static const symbol s_20[] = { 'o', 'u', 's' };
+static const symbol s_21[] = { 'i', 'v', 'e' };
+static const symbol s_22[] = { 'b', 'l', 'e' };
+static const symbol s_23[] = { 'o', 'g' };
+static const symbol s_24[] = { 'o', 'g' };
+static const symbol s_25[] = { 'l', 'e', 's', 's' };
+static const symbol s_26[] = { 't', 'i', 'o', 'n' };
+static const symbol s_27[] = { 'a', 't', 'e' };
+static const symbol s_28[] = { 'a', 'l' };
+static const symbol s_29[] = { 'i', 'c' };
+static const symbol s_30[] = { 's', 'k', 'i' };
+static const symbol s_31[] = { 's', 'k', 'y' };
+static const symbol s_32[] = { 'i', 'd', 'l' };
+static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
+static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
+static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
+static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
+static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
+static const symbol s_38[] = { 'y' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[5] = { 'a', 'r', 's', 'e', 'n' };
 static const symbol s_0_1[6] = { 'c', 'o', 'm', 'm', 'u', 'n' };
-static const symbol s_0_2[5] = { 'g', 'e', 'n', 'e', 'r' };
-
-static const struct among a_0[3] =
-{
-{ 5, s_0_0, -1, -1, 0},
-{ 6, s_0_1, -1, -1, 0},
-{ 5, s_0_2, -1, -1, 0}
+static const symbol s_0_2[5] = { 'e', 'm', 'e', 'r', 'g' };
+static const symbol s_0_3[5] = { 'g', 'e', 'n', 'e', 'r' };
+static const symbol s_0_4[5] = { 'i', 'n', 't', 'e', 'r' };
+static const symbol s_0_5[5] = { 'l', 'a', 't', 'e', 'r' };
+static const symbol s_0_6[5] = { 'o', 'r', 'g', 'a', 'n' };
+static const symbol s_0_7[4] = { 'p', 'a', 's', 't' };
+static const symbol s_0_8[7] = { 'u', 'n', 'i', 'v', 'e', 'r', 's' };
+static const struct among a_0[9] = {
+{ 5, s_0_0, 0, -1, 0},
+{ 6, s_0_1, 0, -1, 0},
+{ 5, s_0_2, 0, -1, 0},
+{ 5, s_0_3, 0, -1, 0},
+{ 5, s_0_4, 0, -1, 0},
+{ 5, s_0_5, 0, -1, 0},
+{ 5, s_0_6, 0, -1, 0},
+{ 4, s_0_7, 0, -1, 0},
+{ 7, s_0_8, 0, -1, 0}
 };
 
 static const symbol s_1_0[1] = { '\'' };
 static const symbol s_1_1[3] = { '\'', 's', '\'' };
 static const symbol s_1_2[2] = { '\'', 's' };
-
-static const struct among a_1[3] =
-{
-{ 1, s_1_0, -1, 1, 0},
-{ 3, s_1_1, 0, 1, 0},
-{ 2, s_1_2, -1, 1, 0}
+static const struct among a_1[3] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 3, s_1_1, -1, 1, 0},
+{ 2, s_1_2, 0, 1, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'e', 'd' };
@@ -64,250 +114,236 @@ static const symbol s_2_2[3] = { 'i', 'e', 's' };
 static const symbol s_2_3[4] = { 's', 's', 'e', 's' };
 static const symbol s_2_4[2] = { 's', 's' };
 static const symbol s_2_5[2] = { 'u', 's' };
-
-static const struct among a_2[6] =
-{
-{ 3, s_2_0, -1, 2, 0},
-{ 1, s_2_1, -1, 3, 0},
-{ 3, s_2_2, 1, 2, 0},
-{ 4, s_2_3, 1, 1, 0},
-{ 2, s_2_4, 1, -1, 0},
-{ 2, s_2_5, 1, -1, 0}
+static const struct among a_2[6] = {
+{ 3, s_2_0, 0, 2, 0},
+{ 1, s_2_1, 0, 3, 0},
+{ 3, s_2_2, -1, 2, 0},
+{ 4, s_2_3, -2, 1, 0},
+{ 2, s_2_4, -3, -1, 0},
+{ 2, s_2_5, -4, -1, 0}
 };
 
-static const symbol s_3_1[2] = { 'b', 'b' };
-static const symbol s_3_2[2] = { 'd', 'd' };
-static const symbol s_3_3[2] = { 'f', 'f' };
-static const symbol s_3_4[2] = { 'g', 'g' };
-static const symbol s_3_5[2] = { 'b', 'l' };
-static const symbol s_3_6[2] = { 'm', 'm' };
-static const symbol s_3_7[2] = { 'n', 'n' };
-static const symbol s_3_8[2] = { 'p', 'p' };
-static const symbol s_3_9[2] = { 'r', 'r' };
-static const symbol s_3_10[2] = { 'a', 't' };
-static const symbol s_3_11[2] = { 't', 't' };
-static const symbol s_3_12[2] = { 'i', 'z' };
-
-static const struct among a_3[13] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_3_1, 0, 2, 0},
-{ 2, s_3_2, 0, 2, 0},
-{ 2, s_3_3, 0, 2, 0},
-{ 2, s_3_4, 0, 2, 0},
-{ 2, s_3_5, 0, 1, 0},
-{ 2, s_3_6, 0, 2, 0},
-{ 2, s_3_7, 0, 2, 0},
-{ 2, s_3_8, 0, 2, 0},
-{ 2, s_3_9, 0, 2, 0},
-{ 2, s_3_10, 0, 1, 0},
-{ 2, s_3_11, 0, 2, 0},
-{ 2, s_3_12, 0, 1, 0}
+static const symbol s_3_0[4] = { 's', 'u', 'c', 'c' };
+static const symbol s_3_1[4] = { 'p', 'r', 'o', 'c' };
+static const symbol s_3_2[3] = { 'e', 'x', 'c' };
+static const struct among a_3[3] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 3, s_3_2, 0, 1, 0}
 };
 
-static const symbol s_4_0[2] = { 'e', 'd' };
-static const symbol s_4_1[3] = { 'e', 'e', 'd' };
-static const symbol s_4_2[3] = { 'i', 'n', 'g' };
-static const symbol s_4_3[4] = { 'e', 'd', 'l', 'y' };
-static const symbol s_4_4[5] = { 'e', 'e', 'd', 'l', 'y' };
-static const symbol s_4_5[5] = { 'i', 'n', 'g', 'l', 'y' };
-
-static const struct among a_4[6] =
-{
-{ 2, s_4_0, -1, 2, 0},
-{ 3, s_4_1, 0, 1, 0},
-{ 3, s_4_2, -1, 2, 0},
-{ 4, s_4_3, -1, 2, 0},
-{ 5, s_4_4, 3, 1, 0},
-{ 5, s_4_5, -1, 2, 0}
+static const symbol s_4_0[4] = { 'e', 'v', 'e', 'n' };
+static const symbol s_4_1[4] = { 'c', 'a', 'n', 'n' };
+static const symbol s_4_2[3] = { 'i', 'n', 'n' };
+static const symbol s_4_3[4] = { 'e', 'a', 'r', 'r' };
+static const symbol s_4_4[4] = { 'h', 'e', 'r', 'r' };
+static const symbol s_4_5[3] = { 'o', 'u', 't' };
+static const symbol s_4_6[1] = { 'y' };
+static const struct among a_4[7] = {
+{ 4, s_4_0, 0, 2, 0},
+{ 4, s_4_1, 0, 2, 0},
+{ 3, s_4_2, 0, 2, 0},
+{ 4, s_4_3, 0, 2, 0},
+{ 4, s_4_4, 0, 2, 0},
+{ 3, s_4_5, 0, 2, 0},
+{ 1, s_4_6, 0, 1, 0}
 };
 
-static const symbol s_5_0[4] = { 'a', 'n', 'c', 'i' };
-static const symbol s_5_1[4] = { 'e', 'n', 'c', 'i' };
-static const symbol s_5_2[3] = { 'o', 'g', 'i' };
-static const symbol s_5_3[2] = { 'l', 'i' };
-static const symbol s_5_4[3] = { 'b', 'l', 'i' };
-static const symbol s_5_5[4] = { 'a', 'b', 'l', 'i' };
-static const symbol s_5_6[4] = { 'a', 'l', 'l', 'i' };
-static const symbol s_5_7[5] = { 'f', 'u', 'l', 'l', 'i' };
-static const symbol s_5_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
-static const symbol s_5_9[5] = { 'o', 'u', 's', 'l', 'i' };
-static const symbol s_5_10[5] = { 'e', 'n', 't', 'l', 'i' };
-static const symbol s_5_11[5] = { 'a', 'l', 'i', 't', 'i' };
-static const symbol s_5_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
-static const symbol s_5_13[5] = { 'i', 'v', 'i', 't', 'i' };
-static const symbol s_5_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_5_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_5_16[5] = { 'a', 'l', 'i', 's', 'm' };
-static const symbol s_5_17[5] = { 'a', 't', 'i', 'o', 'n' };
-static const symbol s_5_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
-static const symbol s_5_19[4] = { 'i', 'z', 'e', 'r' };
-static const symbol s_5_20[4] = { 'a', 't', 'o', 'r' };
-static const symbol s_5_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
-static const symbol s_5_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
-static const symbol s_5_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
-
-static const struct among a_5[24] =
-{
-{ 4, s_5_0, -1, 3, 0},
-{ 4, s_5_1, -1, 2, 0},
-{ 3, s_5_2, -1, 13, 0},
-{ 2, s_5_3, -1, 15, 0},
-{ 3, s_5_4, 3, 12, 0},
-{ 4, s_5_5, 4, 4, 0},
-{ 4, s_5_6, 3, 8, 0},
-{ 5, s_5_7, 3, 9, 0},
-{ 6, s_5_8, 3, 14, 0},
-{ 5, s_5_9, 3, 10, 0},
-{ 5, s_5_10, 3, 5, 0},
-{ 5, s_5_11, -1, 8, 0},
-{ 6, s_5_12, -1, 12, 0},
-{ 5, s_5_13, -1, 11, 0},
-{ 6, s_5_14, -1, 1, 0},
-{ 7, s_5_15, 14, 7, 0},
-{ 5, s_5_16, -1, 8, 0},
-{ 5, s_5_17, -1, 7, 0},
-{ 7, s_5_18, 17, 6, 0},
-{ 4, s_5_19, -1, 6, 0},
-{ 4, s_5_20, -1, 7, 0},
-{ 7, s_5_21, -1, 11, 0},
-{ 7, s_5_22, -1, 9, 0},
-{ 7, s_5_23, -1, 10, 0}
+static const symbol s_5_1[2] = { 'e', 'd' };
+static const symbol s_5_2[3] = { 'e', 'e', 'd' };
+static const symbol s_5_3[3] = { 'i', 'n', 'g' };
+static const symbol s_5_4[4] = { 'e', 'd', 'l', 'y' };
+static const symbol s_5_5[5] = { 'e', 'e', 'd', 'l', 'y' };
+static const symbol s_5_6[5] = { 'i', 'n', 'g', 'l', 'y' };
+static const struct among a_5[7] = {
+{ 0, 0, 0, -1, 0},
+{ 2, s_5_1, -1, 2, 0},
+{ 3, s_5_2, -1, 1, 0},
+{ 3, s_5_3, -3, 3, 0},
+{ 4, s_5_4, -4, 2, 0},
+{ 5, s_5_5, -1, 1, 0},
+{ 5, s_5_6, -6, 2, 0}
 };
 
-static const symbol s_6_0[5] = { 'i', 'c', 'a', 't', 'e' };
-static const symbol s_6_1[5] = { 'a', 't', 'i', 'v', 'e' };
-static const symbol s_6_2[5] = { 'a', 'l', 'i', 'z', 'e' };
-static const symbol s_6_3[5] = { 'i', 'c', 'i', 't', 'i' };
-static const symbol s_6_4[4] = { 'i', 'c', 'a', 'l' };
-static const symbol s_6_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_6_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
-static const symbol s_6_7[3] = { 'f', 'u', 'l' };
-static const symbol s_6_8[4] = { 'n', 'e', 's', 's' };
-
-static const struct among a_6[9] =
-{
-{ 5, s_6_0, -1, 4, 0},
-{ 5, s_6_1, -1, 6, 0},
-{ 5, s_6_2, -1, 3, 0},
-{ 5, s_6_3, -1, 4, 0},
-{ 4, s_6_4, -1, 4, 0},
-{ 6, s_6_5, -1, 1, 0},
-{ 7, s_6_6, 5, 2, 0},
-{ 3, s_6_7, -1, 5, 0},
-{ 4, s_6_8, -1, 5, 0}
+static const symbol s_6_1[2] = { 'b', 'b' };
+static const symbol s_6_2[2] = { 'd', 'd' };
+static const symbol s_6_3[2] = { 'f', 'f' };
+static const symbol s_6_4[2] = { 'g', 'g' };
+static const symbol s_6_5[2] = { 'b', 'l' };
+static const symbol s_6_6[2] = { 'm', 'm' };
+static const symbol s_6_7[2] = { 'n', 'n' };
+static const symbol s_6_8[2] = { 'p', 'p' };
+static const symbol s_6_9[2] = { 'r', 'r' };
+static const symbol s_6_10[2] = { 'a', 't' };
+static const symbol s_6_11[2] = { 't', 't' };
+static const symbol s_6_12[2] = { 'i', 'z' };
+static const struct among a_6[13] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_6_1, -1, 2, 0},
+{ 2, s_6_2, -2, 2, 0},
+{ 2, s_6_3, -3, 2, 0},
+{ 2, s_6_4, -4, 2, 0},
+{ 2, s_6_5, -5, 1, 0},
+{ 2, s_6_6, -6, 2, 0},
+{ 2, s_6_7, -7, 2, 0},
+{ 2, s_6_8, -8, 2, 0},
+{ 2, s_6_9, -9, 2, 0},
+{ 2, s_6_10, -10, 1, 0},
+{ 2, s_6_11, -11, 2, 0},
+{ 2, s_6_12, -12, 1, 0}
 };
 
-static const symbol s_7_0[2] = { 'i', 'c' };
-static const symbol s_7_1[4] = { 'a', 'n', 'c', 'e' };
-static const symbol s_7_2[4] = { 'e', 'n', 'c', 'e' };
-static const symbol s_7_3[4] = { 'a', 'b', 'l', 'e' };
-static const symbol s_7_4[4] = { 'i', 'b', 'l', 'e' };
-static const symbol s_7_5[3] = { 'a', 't', 'e' };
-static const symbol s_7_6[3] = { 'i', 'v', 'e' };
-static const symbol s_7_7[3] = { 'i', 'z', 'e' };
-static const symbol s_7_8[3] = { 'i', 't', 'i' };
-static const symbol s_7_9[2] = { 'a', 'l' };
-static const symbol s_7_10[3] = { 'i', 's', 'm' };
-static const symbol s_7_11[3] = { 'i', 'o', 'n' };
-static const symbol s_7_12[2] = { 'e', 'r' };
-static const symbol s_7_13[3] = { 'o', 'u', 's' };
-static const symbol s_7_14[3] = { 'a', 'n', 't' };
-static const symbol s_7_15[3] = { 'e', 'n', 't' };
-static const symbol s_7_16[4] = { 'm', 'e', 'n', 't' };
-static const symbol s_7_17[5] = { 'e', 'm', 'e', 'n', 't' };
-
-static const struct among a_7[18] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 4, s_7_1, -1, 1, 0},
-{ 4, s_7_2, -1, 1, 0},
-{ 4, s_7_3, -1, 1, 0},
-{ 4, s_7_4, -1, 1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 3, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 3, s_7_8, -1, 1, 0},
-{ 2, s_7_9, -1, 1, 0},
-{ 3, s_7_10, -1, 1, 0},
-{ 3, s_7_11, -1, 2, 0},
-{ 2, s_7_12, -1, 1, 0},
-{ 3, s_7_13, -1, 1, 0},
-{ 3, s_7_14, -1, 1, 0},
-{ 3, s_7_15, -1, 1, 0},
-{ 4, s_7_16, 15, 1, 0},
-{ 5, s_7_17, 16, 1, 0}
+static const symbol s_7_0[4] = { 'a', 'n', 'c', 'i' };
+static const symbol s_7_1[4] = { 'e', 'n', 'c', 'i' };
+static const symbol s_7_2[3] = { 'o', 'g', 'i' };
+static const symbol s_7_3[2] = { 'l', 'i' };
+static const symbol s_7_4[3] = { 'b', 'l', 'i' };
+static const symbol s_7_5[4] = { 'a', 'b', 'l', 'i' };
+static const symbol s_7_6[4] = { 'a', 'l', 'l', 'i' };
+static const symbol s_7_7[5] = { 'f', 'u', 'l', 'l', 'i' };
+static const symbol s_7_8[6] = { 'l', 'e', 's', 's', 'l', 'i' };
+static const symbol s_7_9[5] = { 'o', 'u', 's', 'l', 'i' };
+static const symbol s_7_10[5] = { 'e', 'n', 't', 'l', 'i' };
+static const symbol s_7_11[5] = { 'a', 'l', 'i', 't', 'i' };
+static const symbol s_7_12[6] = { 'b', 'i', 'l', 'i', 't', 'i' };
+static const symbol s_7_13[5] = { 'i', 'v', 'i', 't', 'i' };
+static const symbol s_7_14[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_7_15[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_7_16[5] = { 'a', 'l', 'i', 's', 'm' };
+static const symbol s_7_17[5] = { 'a', 't', 'i', 'o', 'n' };
+static const symbol s_7_18[7] = { 'i', 'z', 'a', 't', 'i', 'o', 'n' };
+static const symbol s_7_19[4] = { 'i', 'z', 'e', 'r' };
+static const symbol s_7_20[4] = { 'a', 't', 'o', 'r' };
+static const symbol s_7_21[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
+static const symbol s_7_22[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
+static const symbol s_7_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
+static const symbol s_7_24[5] = { 'o', 'g', 'i', 's', 't' };
+static const struct among a_7[25] = {
+{ 4, s_7_0, 0, 3, 0},
+{ 4, s_7_1, 0, 2, 0},
+{ 3, s_7_2, 0, 14, 0},
+{ 2, s_7_3, 0, 16, 0},
+{ 3, s_7_4, -1, 12, 0},
+{ 4, s_7_5, -1, 4, 0},
+{ 4, s_7_6, -3, 8, 0},
+{ 5, s_7_7, -4, 9, 0},
+{ 6, s_7_8, -5, 15, 0},
+{ 5, s_7_9, -6, 10, 0},
+{ 5, s_7_10, -7, 5, 0},
+{ 5, s_7_11, 0, 8, 0},
+{ 6, s_7_12, 0, 12, 0},
+{ 5, s_7_13, 0, 11, 0},
+{ 6, s_7_14, 0, 1, 0},
+{ 7, s_7_15, -1, 7, 0},
+{ 5, s_7_16, 0, 8, 0},
+{ 5, s_7_17, 0, 7, 0},
+{ 7, s_7_18, -1, 6, 0},
+{ 4, s_7_19, 0, 6, 0},
+{ 4, s_7_20, 0, 7, 0},
+{ 7, s_7_21, 0, 11, 0},
+{ 7, s_7_22, 0, 9, 0},
+{ 7, s_7_23, 0, 10, 0},
+{ 5, s_7_24, 0, 13, 0}
 };
 
-static const symbol s_8_0[1] = { 'e' };
-static const symbol s_8_1[1] = { 'l' };
-
-static const struct among a_8[2] =
-{
-{ 1, s_8_0, -1, 1, 0},
-{ 1, s_8_1, -1, 2, 0}
+static const symbol s_8_0[5] = { 'i', 'c', 'a', 't', 'e' };
+static const symbol s_8_1[5] = { 'a', 't', 'i', 'v', 'e' };
+static const symbol s_8_2[5] = { 'a', 'l', 'i', 'z', 'e' };
+static const symbol s_8_3[5] = { 'i', 'c', 'i', 't', 'i' };
+static const symbol s_8_4[4] = { 'i', 'c', 'a', 'l' };
+static const symbol s_8_5[6] = { 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_8_6[7] = { 'a', 't', 'i', 'o', 'n', 'a', 'l' };
+static const symbol s_8_7[3] = { 'f', 'u', 'l' };
+static const symbol s_8_8[4] = { 'n', 'e', 's', 's' };
+static const struct among a_8[9] = {
+{ 5, s_8_0, 0, 4, 0},
+{ 5, s_8_1, 0, 6, 0},
+{ 5, s_8_2, 0, 3, 0},
+{ 5, s_8_3, 0, 4, 0},
+{ 4, s_8_4, 0, 4, 0},
+{ 6, s_8_5, 0, 1, 0},
+{ 7, s_8_6, -1, 2, 0},
+{ 3, s_8_7, 0, 5, 0},
+{ 4, s_8_8, 0, 5, 0}
 };
 
-static const symbol s_9_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
-static const symbol s_9_1[7] = { 'p', 'r', 'o', 'c', 'e', 'e', 'd' };
-static const symbol s_9_2[6] = { 'e', 'x', 'c', 'e', 'e', 'd' };
-static const symbol s_9_3[7] = { 'c', 'a', 'n', 'n', 'i', 'n', 'g' };
-static const symbol s_9_4[6] = { 'i', 'n', 'n', 'i', 'n', 'g' };
-static const symbol s_9_5[7] = { 'e', 'a', 'r', 'r', 'i', 'n', 'g' };
-static const symbol s_9_6[7] = { 'h', 'e', 'r', 'r', 'i', 'n', 'g' };
-static const symbol s_9_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
-
-static const struct among a_9[8] =
-{
-{ 7, s_9_0, -1, -1, 0},
-{ 7, s_9_1, -1, -1, 0},
-{ 6, s_9_2, -1, -1, 0},
-{ 7, s_9_3, -1, -1, 0},
-{ 6, s_9_4, -1, -1, 0},
-{ 7, s_9_5, -1, -1, 0},
-{ 7, s_9_6, -1, -1, 0},
-{ 6, s_9_7, -1, -1, 0}
+static const symbol s_9_0[2] = { 'i', 'c' };
+static const symbol s_9_1[4] = { 'a', 'n', 'c', 'e' };
+static const symbol s_9_2[4] = { 'e', 'n', 'c', 'e' };
+static const symbol s_9_3[4] = { 'a', 'b', 'l', 'e' };
+static const symbol s_9_4[4] = { 'i', 'b', 'l', 'e' };
+static const symbol s_9_5[3] = { 'a', 't', 'e' };
+static const symbol s_9_6[3] = { 'i', 'v', 'e' };
+static const symbol s_9_7[3] = { 'i', 'z', 'e' };
+static const symbol s_9_8[3] = { 'i', 't', 'i' };
+static const symbol s_9_9[2] = { 'a', 'l' };
+static const symbol s_9_10[3] = { 'i', 's', 'm' };
+static const symbol s_9_11[3] = { 'i', 'o', 'n' };
+static const symbol s_9_12[2] = { 'e', 'r' };
+static const symbol s_9_13[3] = { 'o', 'u', 's' };
+static const symbol s_9_14[3] = { 'a', 'n', 't' };
+static const symbol s_9_15[3] = { 'e', 'n', 't' };
+static const symbol s_9_16[4] = { 'm', 'e', 'n', 't' };
+static const symbol s_9_17[5] = { 'e', 'm', 'e', 'n', 't' };
+static const struct among a_9[18] = {
+{ 2, s_9_0, 0, 1, 0},
+{ 4, s_9_1, 0, 1, 0},
+{ 4, s_9_2, 0, 1, 0},
+{ 4, s_9_3, 0, 1, 0},
+{ 4, s_9_4, 0, 1, 0},
+{ 3, s_9_5, 0, 1, 0},
+{ 3, s_9_6, 0, 1, 0},
+{ 3, s_9_7, 0, 1, 0},
+{ 3, s_9_8, 0, 1, 0},
+{ 2, s_9_9, 0, 1, 0},
+{ 3, s_9_10, 0, 1, 0},
+{ 3, s_9_11, 0, 2, 0},
+{ 2, s_9_12, 0, 1, 0},
+{ 3, s_9_13, 0, 1, 0},
+{ 3, s_9_14, 0, 1, 0},
+{ 3, s_9_15, 0, 1, 0},
+{ 4, s_9_16, -1, 1, 0},
+{ 5, s_9_17, -1, 1, 0}
 };
 
-static const symbol s_10_0[5] = { 'a', 'n', 'd', 'e', 's' };
-static const symbol s_10_1[5] = { 'a', 't', 'l', 'a', 's' };
-static const symbol s_10_2[4] = { 'b', 'i', 'a', 's' };
-static const symbol s_10_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
-static const symbol s_10_4[5] = { 'd', 'y', 'i', 'n', 'g' };
-static const symbol s_10_5[5] = { 'e', 'a', 'r', 'l', 'y' };
-static const symbol s_10_6[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
-static const symbol s_10_7[4] = { 'h', 'o', 'w', 'e' };
-static const symbol s_10_8[4] = { 'i', 'd', 'l', 'y' };
-static const symbol s_10_9[5] = { 'l', 'y', 'i', 'n', 'g' };
-static const symbol s_10_10[4] = { 'n', 'e', 'w', 's' };
-static const symbol s_10_11[4] = { 'o', 'n', 'l', 'y' };
-static const symbol s_10_12[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
-static const symbol s_10_13[5] = { 's', 'k', 'i', 'e', 's' };
-static const symbol s_10_14[4] = { 's', 'k', 'i', 's' };
-static const symbol s_10_15[3] = { 's', 'k', 'y' };
-static const symbol s_10_16[5] = { 't', 'y', 'i', 'n', 'g' };
-static const symbol s_10_17[4] = { 'u', 'g', 'l', 'y' };
+static const symbol s_10_0[1] = { 'e' };
+static const symbol s_10_1[1] = { 'l' };
+static const struct among a_10[2] = {
+{ 1, s_10_0, 0, 1, 0},
+{ 1, s_10_1, 0, 2, 0}
+};
 
-static const struct among a_10[18] =
-{
-{ 5, s_10_0, -1, -1, 0},
-{ 5, s_10_1, -1, -1, 0},
-{ 4, s_10_2, -1, -1, 0},
-{ 6, s_10_3, -1, -1, 0},
-{ 5, s_10_4, -1, 3, 0},
-{ 5, s_10_5, -1, 9, 0},
-{ 6, s_10_6, -1, 7, 0},
-{ 4, s_10_7, -1, -1, 0},
-{ 4, s_10_8, -1, 6, 0},
-{ 5, s_10_9, -1, 4, 0},
-{ 4, s_10_10, -1, -1, 0},
-{ 4, s_10_11, -1, 10, 0},
-{ 6, s_10_12, -1, 11, 0},
-{ 5, s_10_13, -1, 2, 0},
-{ 4, s_10_14, -1, 1, 0},
-{ 3, s_10_15, -1, -1, 0},
-{ 5, s_10_16, -1, 5, 0},
-{ 4, s_10_17, -1, 8, 0}
+static const symbol s_11_0[5] = { 'a', 'n', 'd', 'e', 's' };
+static const symbol s_11_1[5] = { 'a', 't', 'l', 'a', 's' };
+static const symbol s_11_2[4] = { 'b', 'i', 'a', 's' };
+static const symbol s_11_3[6] = { 'c', 'o', 's', 'm', 'o', 's' };
+static const symbol s_11_4[5] = { 'e', 'a', 'r', 'l', 'y' };
+static const symbol s_11_5[6] = { 'g', 'e', 'n', 't', 'l', 'y' };
+static const symbol s_11_6[4] = { 'h', 'o', 'w', 'e' };
+static const symbol s_11_7[4] = { 'i', 'd', 'l', 'y' };
+static const symbol s_11_8[4] = { 'n', 'e', 'w', 's' };
+static const symbol s_11_9[4] = { 'o', 'n', 'l', 'y' };
+static const symbol s_11_10[6] = { 's', 'i', 'n', 'g', 'l', 'y' };
+static const symbol s_11_11[5] = { 's', 'k', 'i', 'e', 's' };
+static const symbol s_11_12[4] = { 's', 'k', 'i', 's' };
+static const symbol s_11_13[3] = { 's', 'k', 'y' };
+static const symbol s_11_14[4] = { 'u', 'g', 'l', 'y' };
+static const struct among a_11[15] = {
+{ 5, s_11_0, 0, -1, 0},
+{ 5, s_11_1, 0, -1, 0},
+{ 4, s_11_2, 0, -1, 0},
+{ 6, s_11_3, 0, -1, 0},
+{ 5, s_11_4, 0, 6, 0},
+{ 6, s_11_5, 0, 4, 0},
+{ 4, s_11_6, 0, -1, 0},
+{ 4, s_11_7, 0, 3, 0},
+{ 4, s_11_8, 0, -1, 0},
+{ 4, s_11_9, 0, 7, 0},
+{ 6, s_11_10, 0, 8, 0},
+{ 5, s_11_11, 0, 2, 0},
+{ 4, s_11_12, 0, 1, 0},
+{ 3, s_11_13, 0, -1, 0},
+{ 4, s_11_14, 0, 5, 0}
 };
 
 static const unsigned char g_aeo[] = { 17, 64 };
@@ -318,180 +354,150 @@ static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
 
 static const unsigned char g_valid_LI[] = { 55, 141, 2 };
 
-static const symbol s_0[] = { 'Y' };
-static const symbol s_1[] = { 'Y' };
-static const symbol s_2[] = { 's', 's' };
-static const symbol s_3[] = { 'i' };
-static const symbol s_4[] = { 'i', 'e' };
-static const symbol s_5[] = { 'e', 'e' };
-static const symbol s_6[] = { 'e' };
-static const symbol s_7[] = { 'e' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 't', 'i', 'o', 'n' };
-static const symbol s_10[] = { 'e', 'n', 'c', 'e' };
-static const symbol s_11[] = { 'a', 'n', 'c', 'e' };
-static const symbol s_12[] = { 'a', 'b', 'l', 'e' };
-static const symbol s_13[] = { 'e', 'n', 't' };
-static const symbol s_14[] = { 'i', 'z', 'e' };
-static const symbol s_15[] = { 'a', 't', 'e' };
-static const symbol s_16[] = { 'a', 'l' };
-static const symbol s_17[] = { 'f', 'u', 'l' };
-static const symbol s_18[] = { 'o', 'u', 's' };
-static const symbol s_19[] = { 'i', 'v', 'e' };
-static const symbol s_20[] = { 'b', 'l', 'e' };
-static const symbol s_21[] = { 'o', 'g' };
-static const symbol s_22[] = { 'l', 'e', 's', 's' };
-static const symbol s_23[] = { 't', 'i', 'o', 'n' };
-static const symbol s_24[] = { 'a', 't', 'e' };
-static const symbol s_25[] = { 'a', 'l' };
-static const symbol s_26[] = { 'i', 'c' };
-static const symbol s_27[] = { 's', 'k', 'i' };
-static const symbol s_28[] = { 's', 'k', 'y' };
-static const symbol s_29[] = { 'd', 'i', 'e' };
-static const symbol s_30[] = { 'l', 'i', 'e' };
-static const symbol s_31[] = { 't', 'i', 'e' };
-static const symbol s_32[] = { 'i', 'd', 'l' };
-static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
-static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
-static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
-static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
-static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
-static const symbol s_38[] = { 'y' };
-
 static int r_prelude(struct SN_env * z) {
-    z->I[2] = 0;
-    {   int c1 = z->c;
+    ((SN_local *)z)->b_Y_found = 0;
+    {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != '\'') goto lab0;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
+    {
+        int v_2 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_0);
+        {
+            int ret = slice_from_s(z, 1, s_0);
             if (ret < 0) return ret;
         }
-        z->I[2] = 1;
+        ((SN_local *)z)->b_Y_found = 1;
     lab1:
-        z->c = c2;
+        z->c = v_2;
     }
-    {   int c3 = z->c;
-        while(1) {
-            int c4 = z->c;
-            while(1) {
-                int c5 = z->c;
+    {
+        int v_3 = z->c;
+        while (1) {
+            int v_4 = z->c;
+            while (1) {
+                int v_5 = z->c;
                 if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab4;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'y') goto lab4;
                 z->c++;
                 z->ket = z->c;
-                z->c = c5;
+                z->c = v_5;
                 break;
             lab4:
-                z->c = c5;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_5;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab3;
                     z->c = ret;
                 }
             }
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
-            z->I[2] = 1;
+            ((SN_local *)z)->b_Y_found = 1;
             continue;
         lab3:
-            z->c = c4;
+            z->c = v_4;
             break;
         }
-        z->c = c3;
+        z->c = v_3;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2;
-            if (!find_among(z, a_0, 3)) goto lab2;
-            goto lab1;
-        lab2:
-            z->c = c2;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (z->c + 3 >= z->l || z->p[z->c + 3] >> 5 != 3 || !((5513250 >> (z->p[z->c + 3] & 0x1f)) & 1)) goto lab1;
+            if (!find_among(z, a_0, 9, 0)) goto lab1;
+            break;
+        lab1:
+            z->c = v_2;
             {
                 int ret = out_grouping_U(z, g_v, 97, 121, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-
             {
                 int ret = in_grouping_U(z, g_v, 97, 121, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-        }
-    lab1:
-        z->I[1] = z->c;
-
+        } while (0);
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_shortv(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab1;
-        if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab0;
+        if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
+        if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
-        goto lab0;
+        if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
+        if (z->c > z->lb) goto lab1;
+        break;
     lab1:
-        z->c = z->l - m1;
-        if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
-        if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
-        if (z->c > z->lb) return 0;
-    }
-lab0:
+        z->c = z->l - v_1;
+        if (!(eq_s_b(z, 4, s_2))) return 0;
+    } while (0);
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_Step_1a(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m1; goto lab0; }
-        if (!find_among_b(z, a_1, 3)) { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - v_1; goto lab0; }
+        if (!find_among_b(z, a_1, 3, 0)) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
@@ -499,45 +505,50 @@ static int r_Step_1a(struct SN_env * z) {
     }
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0;
-    among_var = find_among_b(z, a_2, 6);
+    among_var = find_among_b(z, a_2, 6, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_2);
+            {
+                int ret = slice_from_s(z, 2, s_3);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m2 = z->l - z->c; (void)m2;
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 2);
-                    if (ret < 0) goto lab2;
+            do {
+                int v_2 = z->l - z->c;
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 2);
+                    if (ret < 0) goto lab1;
                     z->c = ret;
                 }
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
-                goto lab1;
-            lab2:
-                z->c = z->l - m2;
-                {   int ret = slice_from_s(z, 2, s_4);
+                break;
+            lab1:
+                z->c = z->l - v_2;
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
-            }
-        lab1:
+            } while (0);
             break;
         case 3:
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                 if (ret < 0) return 0;
                 z->c = ret;
             }
-
             {
                 int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
                 if (ret < 0) return 0;
                 z->c -= ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -548,102 +559,157 @@ static int r_Step_1a(struct SN_env * z) {
 static int r_Step_1b(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_4, 6);
-    if (!among_var) return 0;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = -1; else
+    among_var = find_among_b(z, a_5, 7, 0);
     z->bra = z->c;
-    switch (among_var) {
-        case 1:
-            {   int ret = r_R1(z);
-                if (ret <= 0) return ret;
-            }
-            {   int ret = slice_from_s(z, 2, s_5);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 2:
-            {   int m_test1 = z->l - z->c;
-
+    do {
+        int v_1 = z->l - z->c;
+        switch (among_var) {
+            case 1:
                 {
-                    int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
-                    if (ret < 0) return 0;
-                    z->c -= ret;
+                    int v_2 = z->l - z->c;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    do {
+                        int v_3 = z->l - z->c;
+                        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 99) goto lab2;
+                        if (!find_among_b(z, a_3, 3, 0)) goto lab2;
+                        if (z->c > z->lb) goto lab2;
+                        break;
+                    lab2:
+                        z->c = z->l - v_3;
+                        {
+                            int ret = slice_from_s(z, 2, s_6);
+                            if (ret < 0) return ret;
+                        }
+                    } while (0);
+                lab1:
+                    z->c = z->l - v_2;
                 }
-                z->c = z->l - m_test1;
-            }
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->ket = z->c;
-            z->bra = z->c;
-            {   int m_test2 = z->l - z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
-                among_var = find_among_b(z, a_3, 13);
+                break;
+            case 2:
+                goto lab0;
+                break;
+            case 3:
+                if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((34881536 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+                among_var = find_among_b(z, a_4, 7, 0);
+                if (!among_var) goto lab0;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 1, s_6);
-                            if (ret < 0) return ret;
-                        }
-                        return 0;
-                        break;
-                    case 2:
-                        {   int m3 = z->l - z->c; (void)m3;
-                            if (in_grouping_b_U(z, g_aeo, 97, 111, 0)) goto lab0;
+                        {
+                            int v_4 = z->l - z->c;
+                            if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab0;
                             if (z->c > z->lb) goto lab0;
-                            return 0;
-                        lab0:
-                            z->c = z->l - m3;
+                            z->c = z->l - v_4;
                         }
-                        break;
-                    case 3:
-                        if (z->c != z->I[1]) return 0;
-                        {   int m_test4 = z->l - z->c;
-                            {   int ret = r_shortv(z);
-                                if (ret <= 0) return ret;
-                            }
-                            z->c = z->l - m_test4;
-                        }
-                        {   int ret = slice_from_s(z, 1, s_7);
+                        z->bra = z->c;
+                        {
+                            int ret = slice_from_s(z, 2, s_7);
                             if (ret < 0) return ret;
                         }
-                        return 0;
+                        break;
+                    case 2:
+                        if (z->c > z->lb) goto lab0;
                         break;
                 }
-                z->c = z->l - m_test2;
-            }
-            z->ket = z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                break;
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_5 = z->l - z->c;
+            {
+                int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
                 if (ret < 0) return 0;
-                z->c = ret;
-            }
-            z->bra = z->c;
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
+                z->c -= ret;
             }
-            break;
-    }
+            z->c = z->l - v_5;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+        z->ket = z->c;
+        z->bra = z->c;
+        {
+            int v_6 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
+            among_var = find_among_b(z, a_6, 13, 0);
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_from_s(z, 1, s_8);
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                    break;
+                case 2:
+                    {
+                        int v_7 = z->l - z->c;
+                        if (in_grouping_b_U(z, g_aeo, 97, 111, 0)) goto lab3;
+                        if (z->c > z->lb) goto lab3;
+                        return 0;
+                    lab3:
+                        z->c = z->l - v_7;
+                    }
+                    break;
+                case 3:
+                    if (z->c != ((SN_local *)z)->i_p1) return 0;
+                    {
+                        int v_8 = z->l - z->c;
+                        {
+                            int ret = r_shortv(z);
+                            if (ret <= 0) return ret;
+                        }
+                        z->c = z->l - v_8;
+                    }
+                    {
+                        int ret = slice_from_s(z, 1, s_9);
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                    break;
+            }
+            z->c = z->l - v_6;
+        }
+        z->ket = z->c;
+        {
+            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+            if (ret < 0) return 0;
+            z->c = ret;
+        }
+        z->bra = z->c;
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    } while (0);
     return 1;
 }
 
 static int r_Step_1c(struct SN_env * z) {
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
         z->c--;
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
         z->c--;
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
     if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
-
-    if (z->c > z->lb) goto lab2;
+    if (z->c > z->lb) goto lab1;
     return 0;
-lab2:
-    {   int ret = slice_from_s(z, 1, s_8);
+lab1:
+    {
+        int ret = slice_from_s(z, 1, s_10);
         if (ret < 0) return ret;
     }
     return 1;
@@ -652,89 +718,111 @@ lab2:
 static int r_Step_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 24);
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864192 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_7, 25, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_9);
+            {
+                int ret = slice_from_s(z, 4, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_10);
+            {
+                int ret = slice_from_s(z, 4, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_11);
+            {
+                int ret = slice_from_s(z, 4, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_12);
+            {
+                int ret = slice_from_s(z, 4, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_13);
+            {
+                int ret = slice_from_s(z, 3, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 3, s_14);
+            {
+                int ret = slice_from_s(z, 3, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 3, s_15);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 2, s_16);
+            {
+                int ret = slice_from_s(z, 2, s_18);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 3, s_18);
+            {
+                int ret = slice_from_s(z, 3, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 3, s_19);
+            {
+                int ret = slice_from_s(z, 3, s_21);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 3, s_20);
+            {
+                int ret = slice_from_s(z, 3, s_22);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
-            z->c--;
-            {   int ret = slice_from_s(z, 2, s_21);
+            {
+                int ret = slice_from_s(z, 2, s_23);
                 if (ret < 0) return ret;
             }
             break;
         case 14:
-            {   int ret = slice_from_s(z, 4, s_22);
+            if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
+            z->c--;
+            {
+                int ret = slice_from_s(z, 2, s_24);
                 if (ret < 0) return ret;
             }
             break;
         case 15:
+            {
+                int ret = slice_from_s(z, 4, s_25);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 16:
             if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -746,43 +834,51 @@ static int r_Step_3(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_6, 9);
+    among_var = find_among_b(z, a_8, 9, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_23);
+            {
+                int ret = slice_from_s(z, 4, s_26);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_24);
+            {
+                int ret = slice_from_s(z, 3, s_27);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 2, s_25);
+            {
+                int ret = slice_from_s(z, 2, s_28);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 2, s_26);
+            {
+                int ret = slice_from_s(z, 2, s_29);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -794,30 +890,33 @@ static int r_Step_4(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_7, 18);
+    among_var = find_among_b(z, a_9, 18, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -829,42 +928,49 @@ static int r_Step_5(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0;
-    among_var = find_among_b(z, a_8, 2);
+    among_var = find_among_b(z, a_10, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-
-            {   int ret = r_R2(z);
-                if (ret == 0) goto lab1;
-                if (ret < 0) return ret;
-            }
-            goto lab0;
-        lab1:
-            {   int ret = r_R1(z);
-                if (ret <= 0) return ret;
-            }
-            {   int m1 = z->l - z->c; (void)m1;
-                {   int ret = r_shortv(z);
-                    if (ret == 0) goto lab2;
+            do {
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                return 0;
-            lab2:
-                z->c = z->l - m1;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+                break;
+            lab0:
+                {
+                    int ret = r_R1(z);
+                    if (ret <= 0) return ret;
+                }
+                {
+                    int v_1 = z->l - z->c;
+                    {
+                        int ret = r_shortv(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    return 0;
+                lab1:
+                    z->c = z->l - v_1;
+                }
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
             if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -872,76 +978,60 @@ static int r_Step_5(struct SN_env * z) {
     return 1;
 }
 
-static int r_exception2(struct SN_env * z) {
-    z->ket = z->c;
-    if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
-    if (!find_among_b(z, a_9, 8)) return 0;
-    z->bra = z->c;
-    if (z->c > z->lb) return 0;
-    return 1;
-}
-
 static int r_exception1(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
-    among_var = find_among(z, a_10, 18);
+    among_var = find_among(z, a_11, 15, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     if (z->c < z->l) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_27);
+            {
+                int ret = slice_from_s(z, 3, s_30);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_28);
+            {
+                int ret = slice_from_s(z, 3, s_31);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_29);
+            {
+                int ret = slice_from_s(z, 3, s_32);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 3, s_30);
+            {
+                int ret = slice_from_s(z, 5, s_33);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_31);
+            {
+                int ret = slice_from_s(z, 4, s_34);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 3, s_32);
+            {
+                int ret = slice_from_s(z, 5, s_35);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 5, s_33);
+            {
+                int ret = slice_from_s(z, 4, s_36);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 4, s_34);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 9:
-            {   int ret = slice_from_s(z, 5, s_35);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 10:
-            {   int ret = slice_from_s(z, 4, s_36);
-                if (ret < 0) return ret;
-            }
-            break;
-        case 11:
-            {   int ret = slice_from_s(z, 5, s_37);
+            {
+                int ret = slice_from_s(z, 5, s_37);
                 if (ret < 0) return ret;
             }
             break;
@@ -950,131 +1040,151 @@ static int r_exception1(struct SN_env * z) {
 }
 
 static int r_postlude(struct SN_env * z) {
-    if (!(z->I[2])) return 0;
-    while(1) {
-        int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
+    if (!((SN_local *)z)->b_Y_found) return 0;
+    while (1) {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             z->bra = z->c;
             if (z->c == z->l || z->p[z->c] != 'Y') goto lab1;
             z->c++;
             z->ket = z->c;
-            z->c = c2;
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_2;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab0;
                 z->c = ret;
             }
         }
-        {   int ret = slice_from_s(z, 1, s_38);
+        {
+            int ret = slice_from_s(z, 1, s_38);
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 extern int english_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_exception1(z);
-            if (ret == 0) goto lab1;
+    do {
+        int v_1 = z->c;
+        {
+            int ret = r_exception1(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = c1;
-        {   int c2 = z->c;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 3);
-                if (ret < 0) goto lab3;
+        break;
+    lab0:
+        z->c = v_1;
+        {
+            int v_2 = z->c;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 3);
+                if (ret < 0) goto lab2;
                 z->c = ret;
             }
-            goto lab2;
-        lab3:
-            z->c = c2;
+            goto lab1;
+        lab2:
+            z->c = v_2;
         }
-        goto lab0;
-    lab2:
-        z->c = c1;
-
-        {   int ret = r_prelude(z);
+        break;
+    lab1:
+        z->c = v_1;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-
-        {   int ret = r_mark_regions(z);
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
         z->lb = z->c; z->c = z->l;
-
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_Step_1a(z);
+        {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_Step_1a(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m3;
+            z->c = z->l - v_3;
         }
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int ret = r_exception2(z);
-                if (ret == 0) goto lab5;
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = r_Step_1b(z);
                 if (ret < 0) return ret;
             }
-            goto lab4;
-        lab5:
-            z->c = z->l - m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int ret = r_Step_1b(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m5;
-            }
-            {   int m6 = z->l - z->c; (void)m6;
-                {   int ret = r_Step_1c(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m6;
+            z->c = z->l - v_4;
+        }
+        {
+            int v_5 = z->l - z->c;
+            {
+                int ret = r_Step_1c(z);
+                if (ret < 0) return ret;
             }
-            {   int m7 = z->l - z->c; (void)m7;
-                {   int ret = r_Step_2(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m7;
+            z->c = z->l - v_5;
+        }
+        {
+            int v_6 = z->l - z->c;
+            {
+                int ret = r_Step_2(z);
+                if (ret < 0) return ret;
             }
-            {   int m8 = z->l - z->c; (void)m8;
-                {   int ret = r_Step_3(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m8;
+            z->c = z->l - v_6;
+        }
+        {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_Step_3(z);
+                if (ret < 0) return ret;
             }
-            {   int m9 = z->l - z->c; (void)m9;
-                {   int ret = r_Step_4(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m9;
+            z->c = z->l - v_7;
+        }
+        {
+            int v_8 = z->l - z->c;
+            {
+                int ret = r_Step_4(z);
+                if (ret < 0) return ret;
             }
-            {   int m10 = z->l - z->c; (void)m10;
-                {   int ret = r_Step_5(z);
-                    if (ret < 0) return ret;
-                }
-                z->c = z->l - m10;
+            z->c = z->l - v_8;
+        }
+        {
+            int v_9 = z->l - z->c;
+            {
+                int ret = r_Step_5(z);
+                if (ret < 0) return ret;
             }
+            z->c = z->l - v_9;
         }
-    lab4:
         z->c = z->lb;
-        {   int c11 = z->c;
-            {   int ret = r_postlude(z);
+        {
+            int v_10 = z->c;
+            {
+                int ret = r_postlude(z);
                 if (ret < 0) return ret;
             }
-            z->c = c11;
+            z->c = v_10;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
-extern struct SN_env * english_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * english_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_Y_found = 0;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void english_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void english_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_esperanto.c b/src/backend/snowball/libstemmer/stem_UTF_8_esperanto.c
new file mode 100644 (file)
index 0000000..895b2f7
--- /dev/null
@@ -0,0 +1,820 @@
+/* Generated from esperanto.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#include "stem_UTF_8_esperanto.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int esperanto_UTF_8_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
+
+static int r_uninflected(struct SN_env * z);
+static int r_ujn_suffix(struct SN_env * z);
+static int r_standard_suffix(struct SN_env * z);
+static int r_pronoun(struct SN_env * z);
+static int r_merged_numeral(struct SN_env * z);
+static int r_long_word(struct SN_env * z);
+static int r_initial_apostrophe(struct SN_env * z);
+static int r_final_apostrophe(struct SN_env * z);
+static int r_correlative(struct SN_env * z);
+static int r_canonical_form(struct SN_env * z);
+
+static const symbol s_0[] = { 0xC4, 0x89 };
+static const symbol s_1[] = { 0xC4, 0x9D };
+static const symbol s_2[] = { 0xC4, 0xA5 };
+static const symbol s_3[] = { 0xC4, 0xB5 };
+static const symbol s_4[] = { 0xC5, 0x9D };
+static const symbol s_5[] = { 0xC5, 0xAD };
+static const symbol s_6[] = { 'a' };
+static const symbol s_7[] = { 'e' };
+static const symbol s_8[] = { 'i' };
+static const symbol s_9[] = { 'o' };
+static const symbol s_10[] = { 'u' };
+static const symbol s_11[] = { 's', 't' };
+static const symbol s_12[] = { 'e' };
+static const symbol s_13[] = { 'a' };
+static const symbol s_14[] = { 'u', 'n' };
+static const symbol s_15[] = { 'u' };
+static const symbol s_16[] = { 'a', 0xC5, 0xAD };
+static const symbol s_17[] = { 'o' };
+
+static const symbol s_0_1[1] = { '-' };
+static const symbol s_0_2[2] = { 'c', 'x' };
+static const symbol s_0_3[2] = { 'g', 'x' };
+static const symbol s_0_4[2] = { 'h', 'x' };
+static const symbol s_0_5[2] = { 'j', 'x' };
+static const symbol s_0_6[1] = { 'q' };
+static const symbol s_0_7[2] = { 's', 'x' };
+static const symbol s_0_8[2] = { 'u', 'x' };
+static const symbol s_0_9[1] = { 'w' };
+static const symbol s_0_10[1] = { 'x' };
+static const symbol s_0_11[1] = { 'y' };
+static const symbol s_0_12[2] = { 0xC3, 0xA1 };
+static const symbol s_0_13[2] = { 0xC3, 0xA9 };
+static const symbol s_0_14[2] = { 0xC3, 0xAD };
+static const symbol s_0_15[2] = { 0xC3, 0xB3 };
+static const symbol s_0_16[2] = { 0xC3, 0xBA };
+static const struct among a_0[17] = {
+{ 0, 0, 0, 14, 0},
+{ 1, s_0_1, -1, 13, 0},
+{ 2, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, 2, 0},
+{ 2, s_0_4, -4, 3, 0},
+{ 2, s_0_5, -5, 4, 0},
+{ 1, s_0_6, -6, 12, 0},
+{ 2, s_0_7, -7, 5, 0},
+{ 2, s_0_8, -8, 6, 0},
+{ 1, s_0_9, -9, 12, 0},
+{ 1, s_0_10, -10, 12, 0},
+{ 1, s_0_11, -11, 12, 0},
+{ 2, s_0_12, -12, 7, 0},
+{ 2, s_0_13, -13, 8, 0},
+{ 2, s_0_14, -14, 9, 0},
+{ 2, s_0_15, -15, 10, 0},
+{ 2, s_0_16, -16, 11, 0}
+};
+
+static const symbol s_1_0[2] = { 'a', 's' };
+static const symbol s_1_1[1] = { 'i' };
+static const symbol s_1_2[2] = { 'i', 's' };
+static const symbol s_1_3[2] = { 'o', 's' };
+static const symbol s_1_4[1] = { 'u' };
+static const symbol s_1_5[2] = { 'u', 's' };
+static const struct among a_1[6] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 1, s_1_1, 0, -1, 0},
+{ 2, s_1_2, -1, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 1, s_1_4, 0, -1, 0},
+{ 2, s_1_5, -1, -1, 0}
+};
+
+static const symbol s_2_0[2] = { 'c', 'i' };
+static const symbol s_2_1[2] = { 'g', 'i' };
+static const symbol s_2_2[2] = { 'h', 'i' };
+static const symbol s_2_3[2] = { 'l', 'i' };
+static const symbol s_2_4[3] = { 'i', 'l', 'i' };
+static const symbol s_2_5[4] = { 0xC5, 0x9D, 'l', 'i' };
+static const symbol s_2_6[2] = { 'm', 'i' };
+static const symbol s_2_7[2] = { 'n', 'i' };
+static const symbol s_2_8[3] = { 'o', 'n', 'i' };
+static const symbol s_2_9[2] = { 'r', 'i' };
+static const symbol s_2_10[2] = { 's', 'i' };
+static const symbol s_2_11[2] = { 'v', 'i' };
+static const symbol s_2_12[3] = { 'i', 'v', 'i' };
+static const symbol s_2_13[3] = { 0xC4, 0x9D, 'i' };
+static const symbol s_2_14[3] = { 0xC5, 0x9D, 'i' };
+static const symbol s_2_15[4] = { 'i', 0xC5, 0x9D, 'i' };
+static const symbol s_2_16[6] = { 'm', 'a', 'l', 0xC5, 0x9D, 'i' };
+static const struct among a_2[17] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, -1, 0},
+{ 3, s_2_4, -1, -1, 0},
+{ 4, s_2_5, -2, -1, 0},
+{ 2, s_2_6, 0, -1, 0},
+{ 2, s_2_7, 0, -1, 0},
+{ 3, s_2_8, -1, -1, 0},
+{ 2, s_2_9, 0, -1, 0},
+{ 2, s_2_10, 0, -1, 0},
+{ 2, s_2_11, 0, -1, 0},
+{ 3, s_2_12, -1, -1, 0},
+{ 3, s_2_13, 0, -1, 0},
+{ 3, s_2_14, 0, -1, 0},
+{ 4, s_2_15, -1, -1, 0},
+{ 6, s_2_16, -2, -1, 0}
+};
+
+static const symbol s_3_0[3] = { 'a', 'm', 'b' };
+static const symbol s_3_1[4] = { 'b', 'a', 'l', 'd' };
+static const symbol s_3_2[7] = { 'm', 'a', 'l', 'b', 'a', 'l', 'd' };
+static const symbol s_3_3[4] = { 'm', 'o', 'r', 'g' };
+static const symbol s_3_4[8] = { 'p', 'o', 's', 't', 'm', 'o', 'r', 'g' };
+static const symbol s_3_5[3] = { 'a', 'd', 'i' };
+static const symbol s_3_6[4] = { 'h', 'o', 'd', 'i' };
+static const symbol s_3_7[3] = { 'a', 'n', 'k' };
+static const symbol s_3_8[5] = { 0xC4, 0x89, 'i', 'r', 'k' };
+static const symbol s_3_9[8] = { 't', 'u', 't', 0xC4, 0x89, 'i', 'r', 'k' };
+static const symbol s_3_10[5] = { 'p', 'r', 'e', 's', 'k' };
+static const symbol s_3_11[5] = { 'a', 'l', 'm', 'e', 'n' };
+static const symbol s_3_12[4] = { 'a', 'p', 'e', 'n' };
+static const symbol s_3_13[4] = { 'h', 'i', 'e', 'r' };
+static const symbol s_3_14[10] = { 'a', 'n', 't', 'a', 0xC5, 0xAD, 'h', 'i', 'e', 'r' };
+static const symbol s_3_15[5] = { 'm', 'a', 'l', 'g', 'r' };
+static const symbol s_3_16[5] = { 'a', 'n', 'k', 'o', 'r' };
+static const symbol s_3_17[5] = { 'k', 'o', 'n', 't', 'r' };
+static const symbol s_3_18[6] = { 'a', 'n', 's', 't', 'a', 't' };
+static const symbol s_3_19[4] = { 'k', 'v', 'a', 'z' };
+static const struct among a_3[20] = {
+{ 3, s_3_0, 0, -1, 0},
+{ 4, s_3_1, 0, -1, 0},
+{ 7, s_3_2, -1, -1, 0},
+{ 4, s_3_3, 0, -1, 0},
+{ 8, s_3_4, -1, -1, 0},
+{ 3, s_3_5, 0, -1, 0},
+{ 4, s_3_6, 0, -1, 0},
+{ 3, s_3_7, 0, -1, 0},
+{ 5, s_3_8, 0, -1, 0},
+{ 8, s_3_9, -1, -1, 0},
+{ 5, s_3_10, 0, -1, 0},
+{ 5, s_3_11, 0, -1, 0},
+{ 4, s_3_12, 0, -1, 0},
+{ 4, s_3_13, 0, -1, 0},
+{ 10, s_3_14, -1, -1, 0},
+{ 5, s_3_15, 0, -1, 0},
+{ 5, s_3_16, 0, -1, 0},
+{ 5, s_3_17, 0, -1, 0},
+{ 6, s_3_18, 0, -1, 0},
+{ 4, s_3_19, 0, -1, 0}
+};
+
+static const symbol s_4_0[4] = { 'a', 'l', 'i', 'u' };
+static const symbol s_4_1[3] = { 'u', 'n', 'u' };
+static const struct among a_4[2] = {
+{ 4, s_4_0, 0, -1, 0},
+{ 3, s_4_1, 0, -1, 0}
+};
+
+static const symbol s_5_0[3] = { 'a', 'h', 'a' };
+static const symbol s_5_1[4] = { 'h', 'a', 'h', 'a' };
+static const symbol s_5_2[8] = { 'h', 'a', 'l', 'e', 'l', 'u', 'j', 'a' };
+static const symbol s_5_3[4] = { 'h', 'o', 'l', 'a' };
+static const symbol s_5_4[6] = { 'h', 'o', 's', 'a', 'n', 'a' };
+static const symbol s_5_5[6] = { 'm', 'a', 'l', 't', 'r', 'a' };
+static const symbol s_5_6[4] = { 'h', 'u', 'r', 'a' };
+static const symbol s_5_7[6] = { 0xC4, 0xA5, 'a', 0xC4, 0xA5, 'a' };
+static const symbol s_5_8[4] = { 'e', 'k', 'd', 'e' };
+static const symbol s_5_9[4] = { 'e', 'l', 'd', 'e' };
+static const symbol s_5_10[5] = { 'd', 'i', 's', 'd', 'e' };
+static const symbol s_5_11[3] = { 'e', 'h', 'e' };
+static const symbol s_5_12[6] = { 'm', 'a', 'l', 't', 'r', 'e' };
+static const symbol s_5_13[9] = { 'd', 'i', 'r', 'l', 'i', 'd', 'i', 'd', 'i' };
+static const symbol s_5_14[6] = { 'm', 'a', 'l', 'p', 'l', 'i' };
+static const symbol s_5_15[6] = { 'm', 'a', 'l', 0xC4, 0x89, 'i' };
+static const symbol s_5_16[6] = { 'm', 'a', 'l', 'k', 'a', 'j' };
+static const symbol s_5_17[4] = { 'a', 'm', 'e', 'n' };
+static const symbol s_5_18[5] = { 't', 'a', 'm', 'e', 'n' };
+static const symbol s_5_19[3] = { 'o', 'h', 'o' };
+static const symbol s_5_20[6] = { 'm', 'a', 'l', 't', 'r', 'o' };
+static const symbol s_5_21[5] = { 'm', 'i', 'n', 'u', 's' };
+static const symbol s_5_22[3] = { 'u', 'h', 'u' };
+static const symbol s_5_23[3] = { 'm', 'u', 'u' };
+static const struct among a_5[24] = {
+{ 3, s_5_0, 0, -1, 0},
+{ 4, s_5_1, -1, -1, 0},
+{ 8, s_5_2, 0, -1, 0},
+{ 4, s_5_3, 0, -1, 0},
+{ 6, s_5_4, 0, -1, 0},
+{ 6, s_5_5, 0, -1, 0},
+{ 4, s_5_6, 0, -1, 0},
+{ 6, s_5_7, 0, -1, 0},
+{ 4, s_5_8, 0, -1, 0},
+{ 4, s_5_9, 0, -1, 0},
+{ 5, s_5_10, 0, -1, 0},
+{ 3, s_5_11, 0, -1, 0},
+{ 6, s_5_12, 0, -1, 0},
+{ 9, s_5_13, 0, -1, 0},
+{ 6, s_5_14, 0, -1, 0},
+{ 6, s_5_15, 0, -1, 0},
+{ 6, s_5_16, 0, -1, 0},
+{ 4, s_5_17, 0, -1, 0},
+{ 5, s_5_18, -1, -1, 0},
+{ 3, s_5_19, 0, -1, 0},
+{ 6, s_5_20, 0, -1, 0},
+{ 5, s_5_21, 0, -1, 0},
+{ 3, s_5_22, 0, -1, 0},
+{ 3, s_5_23, 0, -1, 0}
+};
+
+static const symbol s_6_0[3] = { 't', 'r', 'i' };
+static const symbol s_6_1[2] = { 'd', 'u' };
+static const symbol s_6_2[3] = { 'u', 'n', 'u' };
+static const struct among a_6[3] = {
+{ 3, s_6_0, 0, -1, 0},
+{ 2, s_6_1, 0, -1, 0},
+{ 3, s_6_2, 0, -1, 0}
+};
+
+static const symbol s_7_0[3] = { 'd', 'e', 'k' };
+static const symbol s_7_1[4] = { 'c', 'e', 'n', 't' };
+static const struct among a_7[2] = {
+{ 3, s_7_0, 0, -1, 0},
+{ 4, s_7_1, 0, -1, 0}
+};
+
+static const symbol s_8_0[1] = { 'k' };
+static const symbol s_8_1[4] = { 'k', 'e', 'l', 'k' };
+static const symbol s_8_2[3] = { 'n', 'e', 'n' };
+static const symbol s_8_3[1] = { 't' };
+static const symbol s_8_4[4] = { 'm', 'u', 'l', 't' };
+static const symbol s_8_5[4] = { 's', 'a', 'm', 't' };
+static const symbol s_8_6[2] = { 0xC4, 0x89 };
+static const struct among a_8[7] = {
+{ 1, s_8_0, 0, -1, 0},
+{ 4, s_8_1, -1, -1, 0},
+{ 3, s_8_2, 0, -1, 0},
+{ 1, s_8_3, 0, -1, 0},
+{ 4, s_8_4, -1, -1, 0},
+{ 4, s_8_5, -2, -1, 0},
+{ 2, s_8_6, 0, -1, 0}
+};
+
+static const symbol s_9_0[1] = { 'a' };
+static const symbol s_9_1[1] = { 'e' };
+static const symbol s_9_2[1] = { 'i' };
+static const symbol s_9_3[1] = { 'j' };
+static const symbol s_9_4[2] = { 'a', 'j' };
+static const symbol s_9_5[2] = { 'o', 'j' };
+static const symbol s_9_6[1] = { 'n' };
+static const symbol s_9_7[2] = { 'a', 'n' };
+static const symbol s_9_8[2] = { 'e', 'n' };
+static const symbol s_9_9[2] = { 'j', 'n' };
+static const symbol s_9_10[3] = { 'a', 'j', 'n' };
+static const symbol s_9_11[3] = { 'o', 'j', 'n' };
+static const symbol s_9_12[2] = { 'o', 'n' };
+static const symbol s_9_13[1] = { 'o' };
+static const symbol s_9_14[2] = { 'a', 's' };
+static const symbol s_9_15[2] = { 'i', 's' };
+static const symbol s_9_16[2] = { 'o', 's' };
+static const symbol s_9_17[2] = { 'u', 's' };
+static const symbol s_9_18[1] = { 'u' };
+static const struct among a_9[19] = {
+{ 1, s_9_0, 0, -1, 0},
+{ 1, s_9_1, 0, -1, 0},
+{ 1, s_9_2, 0, -1, 0},
+{ 1, s_9_3, 0, 1, 0},
+{ 2, s_9_4, -1, -1, 0},
+{ 2, s_9_5, -2, -1, 0},
+{ 1, s_9_6, 0, 1, 0},
+{ 2, s_9_7, -1, -1, 0},
+{ 2, s_9_8, -2, -1, 0},
+{ 2, s_9_9, -3, 1, 0},
+{ 3, s_9_10, -1, -1, 0},
+{ 3, s_9_11, -2, -1, 0},
+{ 2, s_9_12, -6, -1, 0},
+{ 1, s_9_13, 0, -1, 0},
+{ 2, s_9_14, 0, -1, 0},
+{ 2, s_9_15, 0, -1, 0},
+{ 2, s_9_16, 0, -1, 0},
+{ 2, s_9_17, 0, -1, 0},
+{ 1, s_9_18, 0, -1, 0}
+};
+
+static const unsigned char g_vowel[] = { 17, 65, 16 };
+
+static const unsigned char g_aou[] = { 1, 64, 16 };
+
+static const unsigned char g_digit[] = { 255, 3 };
+
+static int r_canonical_form(struct SN_env * z) {
+    int among_var;
+    int b_foreign;
+    b_foreign = 0;
+    while (1) {
+        int v_1 = z->c;
+        z->bra = z->c;
+        among_var = find_among(z, a_0, 17, 0);
+        z->ket = z->c;
+        switch (among_var) {
+            case 1:
+                {
+                    int ret = slice_from_s(z, 2, s_0);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 2:
+                {
+                    int ret = slice_from_s(z, 2, s_1);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int ret = slice_from_s(z, 2, s_2);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 4:
+                {
+                    int ret = slice_from_s(z, 2, s_3);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 5:
+                {
+                    int ret = slice_from_s(z, 2, s_4);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 6:
+                {
+                    int ret = slice_from_s(z, 2, s_5);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 7:
+                {
+                    int ret = slice_from_s(z, 1, s_6);
+                    if (ret < 0) return ret;
+                }
+                b_foreign = 1;
+                break;
+            case 8:
+                {
+                    int ret = slice_from_s(z, 1, s_7);
+                    if (ret < 0) return ret;
+                }
+                b_foreign = 1;
+                break;
+            case 9:
+                {
+                    int ret = slice_from_s(z, 1, s_8);
+                    if (ret < 0) return ret;
+                }
+                b_foreign = 1;
+                break;
+            case 10:
+                {
+                    int ret = slice_from_s(z, 1, s_9);
+                    if (ret < 0) return ret;
+                }
+                b_foreign = 1;
+                break;
+            case 11:
+                {
+                    int ret = slice_from_s(z, 1, s_10);
+                    if (ret < 0) return ret;
+                }
+                b_foreign = 1;
+                break;
+            case 12:
+                b_foreign = 1;
+                break;
+            case 13:
+                b_foreign = 0;
+                break;
+            case 14:
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
+                    if (ret < 0) goto lab0;
+                    z->c = ret;
+                }
+                break;
+        }
+        continue;
+    lab0:
+        z->c = v_1;
+        break;
+    }
+    return !b_foreign;
+}
+
+static int r_initial_apostrophe(struct SN_env * z) {
+    z->bra = z->c;
+    if (z->c == z->l || z->p[z->c] != '\'') return 0;
+    z->c++;
+    z->ket = z->c;
+    if (!(eq_s(z, 2, s_11))) return 0;
+    if (z->c >= z->l || z->p[z->c + 0] >> 5 != 3 || !((2130434 >> (z->p[z->c + 0] & 0x1f)) & 1)) return 0;
+    if (!find_among(z, a_1, 6, 0)) return 0;
+    if (z->c < z->l) return 0;
+    {
+        int ret = slice_from_s(z, 1, s_12);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_pronoun(struct SN_env * z) {
+    z->ket = z->c;
+    {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'n') { z->c = z->l - v_1; goto lab0; }
+        z->c--;
+    lab0:
+        ;
+    }
+    z->bra = z->c;
+    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) return 0;
+    if (!find_among_b(z, a_2, 17, 0)) return 0;
+    do {
+        int v_2 = z->l - z->c;
+        if (z->c > z->lb) goto lab1;
+        break;
+    lab1:
+        z->c = z->l - v_2;
+        if (z->c <= z->lb || z->p[z->c - 1] != '-') return 0;
+        z->c--;
+    } while (0);
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_final_apostrophe(struct SN_env * z) {
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] != '\'') return 0;
+    z->c--;
+    z->bra = z->c;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'l') goto lab0;
+        z->c--;
+        if (z->c > z->lb) goto lab0;
+        {
+            int ret = slice_from_s(z, 1, s_13);
+            if (ret < 0) return ret;
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        if (!(eq_s_b(z, 2, s_14))) goto lab1;
+        if (z->c > z->lb) goto lab1;
+        {
+            int ret = slice_from_s(z, 1, s_15);
+            if (ret < 0) return ret;
+        }
+        break;
+    lab1:
+        z->c = z->l - v_1;
+        if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68438676 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab2;
+        if (!find_among_b(z, a_3, 20, 0)) goto lab2;
+        do {
+            int v_2 = z->l - z->c;
+            if (z->c > z->lb) goto lab3;
+            break;
+        lab3:
+            z->c = z->l - v_2;
+            if (z->c <= z->lb || z->p[z->c - 1] != '-') goto lab2;
+            z->c--;
+        } while (0);
+        {
+            int ret = slice_from_s(z, 3, s_16);
+            if (ret < 0) return ret;
+        }
+        break;
+    lab2:
+        z->c = z->l - v_1;
+        {
+            int ret = slice_from_s(z, 1, s_17);
+            if (ret < 0) return ret;
+        }
+    } while (0);
+    return 1;
+}
+
+static int r_ujn_suffix(struct SN_env * z) {
+    z->ket = z->c;
+    {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'n') { z->c = z->l - v_1; goto lab0; }
+        z->c--;
+    lab0:
+        ;
+    }
+    {
+        int v_2 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'j') { z->c = z->l - v_2; goto lab1; }
+        z->c--;
+    lab1:
+        ;
+    }
+    z->bra = z->c;
+    if (z->c - 2 <= z->lb || z->p[z->c - 1] != 117) return 0;
+    if (!find_among_b(z, a_4, 2, 0)) return 0;
+    do {
+        int v_3 = z->l - z->c;
+        if (z->c > z->lb) goto lab2;
+        break;
+    lab2:
+        z->c = z->l - v_3;
+        if (z->c <= z->lb || z->p[z->c - 1] != '-') return 0;
+        z->c--;
+    } while (0);
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_uninflected(struct SN_env * z) {
+    if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2672162 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    if (!find_among_b(z, a_5, 24, 0)) return 0;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c > z->lb) goto lab0;
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        if (z->c <= z->lb || z->p[z->c - 1] != '-') return 0;
+        z->c--;
+    } while (0);
+    return 1;
+}
+
+static int r_merged_numeral(struct SN_env * z) {
+    if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 117)) return 0;
+    if (!find_among_b(z, a_6, 3, 0)) return 0;
+    if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 107 && z->p[z->c - 1] != 116)) return 0;
+    return find_among_b(z, a_7, 2, 0) != 0;
+}
+
+static int r_correlative(struct SN_env * z) {
+    z->ket = z->c;
+    z->bra = z->c;
+    {
+        int v_1 = z->l - z->c;
+        do {
+            int v_2 = z->l - z->c;
+            {
+                int v_3 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'n') { z->c = z->l - v_3; goto lab1; }
+                z->c--;
+            lab1:
+                ;
+            }
+            z->bra = z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab0;
+            z->c--;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            {
+                int v_4 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'n') { z->c = z->l - v_4; goto lab2; }
+                z->c--;
+            lab2:
+                ;
+            }
+            {
+                int v_5 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'j') { z->c = z->l - v_5; goto lab3; }
+                z->c--;
+            lab3:
+                ;
+            }
+            z->bra = z->c;
+            if (in_grouping_b_U(z, g_aou, 97, 117, 0)) return 0;
+        } while (0);
+        if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
+        z->c--;
+        {
+            int v_6 = z->l - z->c;
+            if (!find_among_b(z, a_8, 7, 0)) { z->c = z->l - v_6; goto lab4; }
+        lab4:
+            ;
+        }
+        do {
+            int v_7 = z->l - z->c;
+            if (z->c > z->lb) goto lab5;
+            break;
+        lab5:
+            z->c = z->l - v_7;
+            if (z->c <= z->lb || z->p[z->c - 1] != '-') return 0;
+            z->c--;
+        } while (0);
+        z->c = z->l - v_1;
+    }
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+static int r_long_word(struct SN_env * z) {
+    do {
+        int v_1 = z->l - z->c;
+        {
+            int i; for (i = 2; i > 0; i--) {
+                {
+                    int ret = out_grouping_b_U(z, g_vowel, 97, 117, 1);
+                    if (ret < 0) goto lab0;
+                    z->c -= ret;
+                }
+            }
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        while (1) {
+            if (z->c <= z->lb || z->p[z->c - 1] != '-') goto lab2;
+            z->c--;
+            break;
+        lab2:
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                if (ret < 0) goto lab1;
+                z->c = ret;
+            }
+        }
+        {
+            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+            if (ret < 0) goto lab1;
+            z->c = ret;
+        }
+        break;
+    lab1:
+        z->c = z->l - v_1;
+        {
+            int ret = out_grouping_b_U(z, g_digit, 48, 57, 1);
+            if (ret < 0) return 0;
+            z->c -= ret;
+        }
+    } while (0);
+    return 1;
+}
+
+static int r_standard_suffix(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2672162 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
+    among_var = find_among_b(z, a_9, 19, 0);
+    if (!among_var) return 0;
+    switch (among_var) {
+        case 1:
+            {
+                int v_1 = z->l - z->c;
+                do {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != '-') goto lab0;
+                    z->c--;
+                    break;
+                lab0:
+                    z->c = z->l - v_2;
+                    if (in_grouping_b_U(z, g_digit, 48, 57, 0)) return 0;
+                } while (0);
+                z->c = z->l - v_1;
+            }
+            break;
+    }
+    {
+        int v_3 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != '-') { z->c = z->l - v_3; goto lab1; }
+        z->c--;
+    lab1:
+        ;
+    }
+    z->bra = z->c;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
+    return 1;
+}
+
+extern int esperanto_UTF_8_stem(struct SN_env * z) {
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_canonical_form(z);
+            if (ret <= 0) return ret;
+        }
+        z->c = v_1;
+    }
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_initial_apostrophe(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_2;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_pronoun(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
+        }
+        return 0;
+    lab0:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_final_apostrophe(z);
+            if (ret < 0) return ret;
+        }
+        z->c = z->l - v_4;
+    }
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_correlative(z);
+            if (ret == 0) goto lab1;
+            if (ret < 0) return ret;
+        }
+        return 0;
+    lab1:
+        z->c = z->l - v_5;
+    }
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_uninflected(z);
+            if (ret == 0) goto lab2;
+            if (ret < 0) return ret;
+        }
+        return 0;
+    lab2:
+        z->c = z->l - v_6;
+    }
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_merged_numeral(z);
+            if (ret == 0) goto lab3;
+            if (ret < 0) return ret;
+        }
+        return 0;
+    lab3:
+        z->c = z->l - v_7;
+    }
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_ujn_suffix(z);
+            if (ret == 0) goto lab4;
+            if (ret < 0) return ret;
+        }
+        return 0;
+    lab4:
+        z->c = z->l - v_8;
+    }
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_long_word(z);
+            if (ret <= 0) return ret;
+        }
+        z->c = z->l - v_9;
+    }
+    {
+        int ret = r_standard_suffix(z);
+        if (ret <= 0) return ret;
+    }
+    z->c = z->lb;
+    return 1;
+}
+
+extern struct SN_env * esperanto_UTF_8_create_env(void) {
+    return SN_new_env(sizeof(struct SN_env));
+}
+
+extern void esperanto_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
+
index 168239919184f8dd073d3fb3072b62bf78723f6b..1f6c18fa8e87e2fc0e1baec38b1aab221628ecaa 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from estonian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_estonian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +20,7 @@ extern int estonian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_nu(struct SN_env * z);
 static int r_verb(struct SN_env * z);
 static int r_verb_exceptions(struct SN_env * z);
@@ -22,25 +34,41 @@ static int r_case_ending(struct SN_env * z);
 static int r_special_noun_endings(struct SN_env * z);
 static int r_LONGV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * estonian_UTF_8_create_env(void);
-extern void estonian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'l', 'a', 's', 'e' };
+static const symbol s_2[] = { 'm', 'i', 's', 'e' };
+static const symbol s_3[] = { 'l', 'i', 's', 'e' };
+static const symbol s_4[] = { 'i', 'k', 'u' };
+static const symbol s_5[] = { 'e' };
+static const symbol s_6[] = { 't' };
+static const symbol s_7[] = { 'k' };
+static const symbol s_8[] = { 'p' };
+static const symbol s_9[] = { 't' };
+static const symbol s_10[] = { 'j', 'o', 'o' };
+static const symbol s_11[] = { 's', 'a', 'a' };
+static const symbol s_12[] = { 'v', 'i', 'i', 'm', 'a' };
+static const symbol s_13[] = { 'k', 'e', 'e', 's', 'i' };
+static const symbol s_14[] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6 };
+static const symbol s_15[] = { 'l', 0xC3, 0xB5, 'i' };
+static const symbol s_16[] = { 'l', 'o', 'o' };
+static const symbol s_17[] = { 'k', 0xC3, 0xA4, 'i', 's', 'i' };
+static const symbol s_18[] = { 's', 0xC3, 0xB6, 0xC3, 0xB6 };
+static const symbol s_19[] = { 't', 'o', 'o' };
+static const symbol s_20[] = { 'v', 0xC3, 0xB5, 'i', 's', 'i' };
+static const symbol s_21[] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
+static const symbol s_22[] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's', 'i' };
+static const symbol s_23[] = { 'l', 'u', 'g', 'e' };
+static const symbol s_24[] = { 'p', 0xC3, 0xB5, 'd', 'e' };
+static const symbol s_25[] = { 'l', 'a', 'd', 'u' };
+static const symbol s_26[] = { 't', 'e', 'g', 'i' };
+static const symbol s_27[] = { 'n', 0xC3, 0xA4, 'g', 'i' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 'g', 'i' };
 static const symbol s_0_1[2] = { 'k', 'i' };
-
-static const struct among a_0[2] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 2, 0}
+static const struct among a_0[2] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 2, 0}
 };
 
 static const symbol s_1_0[2] = { 'd', 'a' };
@@ -64,30 +92,28 @@ static const symbol s_1_17[4] = { 'k', 's', 'i', 'n' };
 static const symbol s_1_18[6] = { 'n', 'u', 'k', 's', 'i', 'n' };
 static const symbol s_1_19[4] = { 'd', 'a', 'k', 's' };
 static const symbol s_1_20[4] = { 't', 'a', 'k', 's' };
-
-static const struct among a_1[21] =
-{
-{ 2, s_1_0, -1, 3, 0},
-{ 4, s_1_1, -1, 1, 0},
-{ 1, s_1_2, -1, 3, 0},
-{ 4, s_1_3, -1, 1, 0},
-{ 6, s_1_4, 3, 1, 0},
-{ 2, s_1_5, -1, 3, 0},
-{ 4, s_1_6, 5, 1, 0},
-{ 5, s_1_7, 6, 1, 0},
-{ 7, s_1_8, 7, 1, 0},
-{ 4, s_1_9, -1, 2, 0},
-{ 5, s_1_10, 9, 1, 0},
-{ 5, s_1_11, 9, 1, 0},
-{ 4, s_1_12, -1, 1, 0},
-{ 5, s_1_13, 12, 1, 0},
-{ 7, s_1_14, 13, 1, 0},
-{ 1, s_1_15, -1, 3, 0},
-{ 3, s_1_16, 15, 1, 0},
-{ 4, s_1_17, 16, 1, 0},
-{ 6, s_1_18, 17, 1, 0},
-{ 4, s_1_19, -1, 1, 0},
-{ 4, s_1_20, -1, 1, 0}
+static const struct among a_1[21] = {
+{ 2, s_1_0, 0, 3, 0},
+{ 4, s_1_1, 0, 1, 0},
+{ 1, s_1_2, 0, 3, 0},
+{ 4, s_1_3, 0, 1, 0},
+{ 6, s_1_4, -1, 1, 0},
+{ 2, s_1_5, 0, 3, 0},
+{ 4, s_1_6, -1, 1, 0},
+{ 5, s_1_7, -1, 1, 0},
+{ 7, s_1_8, -1, 1, 0},
+{ 4, s_1_9, 0, 2, 0},
+{ 5, s_1_10, -1, 1, 0},
+{ 5, s_1_11, -2, 1, 0},
+{ 4, s_1_12, 0, 1, 0},
+{ 5, s_1_13, -1, 1, 0},
+{ 7, s_1_14, -1, 1, 0},
+{ 1, s_1_15, 0, 3, 0},
+{ 3, s_1_16, -1, 1, 0},
+{ 4, s_1_17, -1, 1, 0},
+{ 6, s_1_18, -1, 1, 0},
+{ 4, s_1_19, 0, 1, 0},
+{ 4, s_1_20, 0, 1, 0}
 };
 
 static const symbol s_2_0[2] = { 'a', 'a' };
@@ -99,732 +125,707 @@ static const symbol s_2_5[4] = { 0xC3, 0xA4, 0xC3, 0xA4 };
 static const symbol s_2_6[4] = { 0xC3, 0xB5, 0xC3, 0xB5 };
 static const symbol s_2_7[4] = { 0xC3, 0xB6, 0xC3, 0xB6 };
 static const symbol s_2_8[4] = { 0xC3, 0xBC, 0xC3, 0xBC };
-
-static const struct among a_2[9] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, -1, 0},
-{ 2, s_2_4, -1, -1, 0},
-{ 4, s_2_5, -1, -1, 0},
-{ 4, s_2_6, -1, -1, 0},
-{ 4, s_2_7, -1, -1, 0},
-{ 4, s_2_8, -1, -1, 0}
-};
-
-static const symbol s_3_0[1] = { 'i' };
-
-static const struct among a_3[1] =
-{
-{ 1, s_3_0, -1, 1, 0}
+static const struct among a_2[9] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, -1, 0},
+{ 2, s_2_4, 0, -1, 0},
+{ 4, s_2_5, 0, -1, 0},
+{ 4, s_2_6, 0, -1, 0},
+{ 4, s_2_7, 0, -1, 0},
+{ 4, s_2_8, 0, -1, 0}
 };
 
-static const symbol s_4_0[4] = { 'l', 'a', 'n', 'e' };
-static const symbol s_4_1[4] = { 'l', 'i', 'n', 'e' };
-static const symbol s_4_2[4] = { 'm', 'i', 'n', 'e' };
-static const symbol s_4_3[5] = { 'l', 'a', 's', 's', 'e' };
-static const symbol s_4_4[5] = { 'l', 'i', 's', 's', 'e' };
-static const symbol s_4_5[5] = { 'm', 'i', 's', 's', 'e' };
-static const symbol s_4_6[4] = { 'l', 'a', 's', 'i' };
-static const symbol s_4_7[4] = { 'l', 'i', 's', 'i' };
-static const symbol s_4_8[4] = { 'm', 'i', 's', 'i' };
-static const symbol s_4_9[4] = { 'l', 'a', 's', 't' };
-static const symbol s_4_10[4] = { 'l', 'i', 's', 't' };
-static const symbol s_4_11[4] = { 'm', 'i', 's', 't' };
-
-static const struct among a_4[12] =
-{
-{ 4, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 3, 0},
-{ 4, s_4_2, -1, 2, 0},
-{ 5, s_4_3, -1, 1, 0},
-{ 5, s_4_4, -1, 3, 0},
-{ 5, s_4_5, -1, 2, 0},
-{ 4, s_4_6, -1, 1, 0},
-{ 4, s_4_7, -1, 3, 0},
-{ 4, s_4_8, -1, 2, 0},
-{ 4, s_4_9, -1, 1, 0},
-{ 4, s_4_10, -1, 3, 0},
-{ 4, s_4_11, -1, 2, 0}
+static const symbol s_3_0[4] = { 'l', 'a', 'n', 'e' };
+static const symbol s_3_1[4] = { 'l', 'i', 'n', 'e' };
+static const symbol s_3_2[4] = { 'm', 'i', 'n', 'e' };
+static const symbol s_3_3[5] = { 'l', 'a', 's', 's', 'e' };
+static const symbol s_3_4[5] = { 'l', 'i', 's', 's', 'e' };
+static const symbol s_3_5[5] = { 'm', 'i', 's', 's', 'e' };
+static const symbol s_3_6[4] = { 'l', 'a', 's', 'i' };
+static const symbol s_3_7[4] = { 'l', 'i', 's', 'i' };
+static const symbol s_3_8[4] = { 'm', 'i', 's', 'i' };
+static const symbol s_3_9[4] = { 'l', 'a', 's', 't' };
+static const symbol s_3_10[4] = { 'l', 'i', 's', 't' };
+static const symbol s_3_11[4] = { 'm', 'i', 's', 't' };
+static const struct among a_3[12] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 3, 0},
+{ 4, s_3_2, 0, 2, 0},
+{ 5, s_3_3, 0, 1, 0},
+{ 5, s_3_4, 0, 3, 0},
+{ 5, s_3_5, 0, 2, 0},
+{ 4, s_3_6, 0, 1, 0},
+{ 4, s_3_7, 0, 3, 0},
+{ 4, s_3_8, 0, 2, 0},
+{ 4, s_3_9, 0, 1, 0},
+{ 4, s_3_10, 0, 3, 0},
+{ 4, s_3_11, 0, 2, 0}
 };
 
-static const symbol s_5_0[2] = { 'g', 'a' };
-static const symbol s_5_1[2] = { 't', 'a' };
-static const symbol s_5_2[2] = { 'l', 'e' };
-static const symbol s_5_3[3] = { 's', 's', 'e' };
-static const symbol s_5_4[1] = { 'l' };
-static const symbol s_5_5[1] = { 's' };
-static const symbol s_5_6[2] = { 'k', 's' };
-static const symbol s_5_7[1] = { 't' };
-static const symbol s_5_8[2] = { 'l', 't' };
-static const symbol s_5_9[2] = { 's', 't' };
-
-static const struct among a_5[10] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 1, 0},
-{ 2, s_5_2, -1, 1, 0},
-{ 3, s_5_3, -1, 1, 0},
-{ 1, s_5_4, -1, 1, 0},
-{ 1, s_5_5, -1, 1, 0},
-{ 2, s_5_6, 5, 1, 0},
-{ 1, s_5_7, -1, 2, 0},
-{ 2, s_5_8, 7, 1, 0},
-{ 2, s_5_9, 7, 1, 0}
+static const symbol s_4_0[2] = { 'g', 'a' };
+static const symbol s_4_1[2] = { 't', 'a' };
+static const symbol s_4_2[2] = { 'l', 'e' };
+static const symbol s_4_3[3] = { 's', 's', 'e' };
+static const symbol s_4_4[1] = { 'l' };
+static const symbol s_4_5[1] = { 's' };
+static const symbol s_4_6[2] = { 'k', 's' };
+static const symbol s_4_7[1] = { 't' };
+static const symbol s_4_8[2] = { 'l', 't' };
+static const symbol s_4_9[2] = { 's', 't' };
+static const struct among a_4[10] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 1, 0},
+{ 3, s_4_3, 0, 1, 0},
+{ 1, s_4_4, 0, 1, 0},
+{ 1, s_4_5, 0, 1, 0},
+{ 2, s_4_6, -1, 1, 0},
+{ 1, s_4_7, 0, 2, 0},
+{ 2, s_4_8, -1, 1, 0},
+{ 2, s_4_9, -2, 1, 0}
 };
 
-static const symbol s_6_1[3] = { 'l', 'a', 's' };
-static const symbol s_6_2[3] = { 'l', 'i', 's' };
-static const symbol s_6_3[3] = { 'm', 'i', 's' };
-static const symbol s_6_4[1] = { 't' };
-
-static const struct among a_6[5] =
-{
-{ 0, 0, -1, 2, 0},
-{ 3, s_6_1, 0, 1, 0},
-{ 3, s_6_2, 0, 1, 0},
-{ 3, s_6_3, 0, 1, 0},
-{ 1, s_6_4, 0, -1, 0}
+static const symbol s_5_1[3] = { 'l', 'a', 's' };
+static const symbol s_5_2[3] = { 'l', 'i', 's' };
+static const symbol s_5_3[3] = { 'm', 'i', 's' };
+static const symbol s_5_4[1] = { 't' };
+static const struct among a_5[5] = {
+{ 0, 0, 0, 2, 0},
+{ 3, s_5_1, -1, 1, 0},
+{ 3, s_5_2, -2, 1, 0},
+{ 3, s_5_3, -3, 1, 0},
+{ 1, s_5_4, -4, -1, 0}
 };
 
-static const symbol s_7_0[1] = { 'd' };
-static const symbol s_7_1[3] = { 's', 'i', 'd' };
-static const symbol s_7_2[2] = { 'd', 'e' };
-static const symbol s_7_3[6] = { 'i', 'k', 'k', 'u', 'd', 'e' };
-static const symbol s_7_4[3] = { 'i', 'k', 'e' };
-static const symbol s_7_5[4] = { 'i', 'k', 'k', 'e' };
-static const symbol s_7_6[2] = { 't', 'e' };
-
-static const struct among a_7[7] =
-{
-{ 1, s_7_0, -1, 4, 0},
-{ 3, s_7_1, 0, 2, 0},
-{ 2, s_7_2, -1, 4, 0},
-{ 6, s_7_3, 2, 1, 0},
-{ 3, s_7_4, -1, 1, 0},
-{ 4, s_7_5, -1, 1, 0},
-{ 2, s_7_6, -1, 3, 0}
+static const symbol s_6_0[1] = { 'd' };
+static const symbol s_6_1[3] = { 's', 'i', 'd' };
+static const symbol s_6_2[2] = { 'd', 'e' };
+static const symbol s_6_3[6] = { 'i', 'k', 'k', 'u', 'd', 'e' };
+static const symbol s_6_4[3] = { 'i', 'k', 'e' };
+static const symbol s_6_5[4] = { 'i', 'k', 'k', 'e' };
+static const symbol s_6_6[2] = { 't', 'e' };
+static const struct among a_6[7] = {
+{ 1, s_6_0, 0, 4, 0},
+{ 3, s_6_1, -1, 2, 0},
+{ 2, s_6_2, 0, 4, 0},
+{ 6, s_6_3, -1, 1, 0},
+{ 3, s_6_4, 0, 1, 0},
+{ 4, s_6_5, 0, 1, 0},
+{ 2, s_6_6, 0, 3, 0}
 };
 
-static const symbol s_8_0[2] = { 'v', 'a' };
-static const symbol s_8_1[2] = { 'd', 'u' };
-static const symbol s_8_2[2] = { 'n', 'u' };
-static const symbol s_8_3[2] = { 't', 'u' };
-
-static const struct among a_8[4] =
-{
-{ 2, s_8_0, -1, -1, 0},
-{ 2, s_8_1, -1, -1, 0},
-{ 2, s_8_2, -1, -1, 0},
-{ 2, s_8_3, -1, -1, 0}
+static const symbol s_7_0[2] = { 'v', 'a' };
+static const symbol s_7_1[2] = { 'd', 'u' };
+static const symbol s_7_2[2] = { 'n', 'u' };
+static const symbol s_7_3[2] = { 't', 'u' };
+static const struct among a_7[4] = {
+{ 2, s_7_0, 0, -1, 0},
+{ 2, s_7_1, 0, -1, 0},
+{ 2, s_7_2, 0, -1, 0},
+{ 2, s_7_3, 0, -1, 0}
 };
 
-static const symbol s_9_0[2] = { 'k', 'k' };
-static const symbol s_9_1[2] = { 'p', 'p' };
-static const symbol s_9_2[2] = { 't', 't' };
-
-static const struct among a_9[3] =
-{
-{ 2, s_9_0, -1, 1, 0},
-{ 2, s_9_1, -1, 2, 0},
-{ 2, s_9_2, -1, 3, 0}
+static const symbol s_8_0[2] = { 'k', 'k' };
+static const symbol s_8_1[2] = { 'p', 'p' };
+static const symbol s_8_2[2] = { 't', 't' };
+static const struct among a_8[3] = {
+{ 2, s_8_0, 0, 1, 0},
+{ 2, s_8_1, 0, 2, 0},
+{ 2, s_8_2, 0, 3, 0}
 };
 
-static const symbol s_10_0[2] = { 'm', 'a' };
-static const symbol s_10_1[3] = { 'm', 'a', 'i' };
-static const symbol s_10_2[1] = { 'm' };
-
-static const struct among a_10[3] =
-{
-{ 2, s_10_0, -1, 2, 0},
-{ 3, s_10_1, -1, 1, 0},
-{ 1, s_10_2, -1, 1, 0}
+static const symbol s_9_0[2] = { 'm', 'a' };
+static const symbol s_9_1[3] = { 'm', 'a', 'i' };
+static const symbol s_9_2[1] = { 'm' };
+static const struct among a_9[3] = {
+{ 2, s_9_0, 0, 2, 0},
+{ 3, s_9_1, 0, 1, 0},
+{ 1, s_9_2, 0, 1, 0}
 };
 
-static const symbol s_11_0[4] = { 'j', 'o', 'o', 'b' };
-static const symbol s_11_1[4] = { 'j', 'o', 'o', 'd' };
-static const symbol s_11_2[8] = { 'j', 'o', 'o', 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_3[5] = { 'j', 'o', 'o', 'm', 'a' };
-static const symbol s_11_4[7] = { 'j', 'o', 'o', 'm', 'a', 't', 'a' };
-static const symbol s_11_5[5] = { 'j', 'o', 'o', 'm', 'e' };
-static const symbol s_11_6[4] = { 'j', 'o', 'o', 'n' };
-static const symbol s_11_7[5] = { 'j', 'o', 'o', 't', 'e' };
-static const symbol s_11_8[6] = { 'j', 'o', 'o', 'v', 'a', 'd' };
-static const symbol s_11_9[4] = { 'j', 'u', 'u', 'a' };
-static const symbol s_11_10[7] = { 'j', 'u', 'u', 'a', 'k', 's', 'e' };
-static const symbol s_11_11[4] = { 'j', 0xC3, 0xA4, 'i' };
-static const symbol s_11_12[5] = { 'j', 0xC3, 0xA4, 'i', 'd' };
-static const symbol s_11_13[6] = { 'j', 0xC3, 0xA4, 'i', 'm', 'e' };
-static const symbol s_11_14[5] = { 'j', 0xC3, 0xA4, 'i', 'n' };
-static const symbol s_11_15[6] = { 'j', 0xC3, 0xA4, 'i', 't', 'e' };
-static const symbol s_11_16[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'b' };
-static const symbol s_11_17[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd' };
-static const symbol s_11_18[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a' };
-static const symbol s_11_19[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_20[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'i' };
-static const symbol s_11_21[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's' };
-static const symbol s_11_22[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'd' };
-static const symbol s_11_23[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_24[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'n' };
-static const symbol s_11_25[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_26[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
-static const symbol s_11_27[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a', 't', 'a' };
-static const symbol s_11_28[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'e' };
-static const symbol s_11_29[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
-static const symbol s_11_30[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 't', 'e' };
-static const symbol s_11_31[8] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'v', 'a', 'd' };
-static const symbol s_11_32[4] = { 'j', 0xC3, 0xB5, 'i' };
-static const symbol s_11_33[5] = { 'j', 0xC3, 0xB5, 'i', 'd' };
-static const symbol s_11_34[6] = { 'j', 0xC3, 0xB5, 'i', 'm', 'e' };
-static const symbol s_11_35[5] = { 'j', 0xC3, 0xB5, 'i', 'n' };
-static const symbol s_11_36[6] = { 'j', 0xC3, 0xB5, 'i', 't', 'e' };
-static const symbol s_11_37[4] = { 'k', 'e', 'e', 'b' };
-static const symbol s_11_38[4] = { 'k', 'e', 'e', 'd' };
-static const symbol s_11_39[8] = { 'k', 'e', 'e', 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_40[5] = { 'k', 'e', 'e', 'k', 's' };
-static const symbol s_11_41[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'd' };
-static const symbol s_11_42[8] = { 'k', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_43[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'n' };
-static const symbol s_11_44[8] = { 'k', 'e', 'e', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_45[5] = { 'k', 'e', 'e', 'm', 'a' };
-static const symbol s_11_46[7] = { 'k', 'e', 'e', 'm', 'a', 't', 'a' };
-static const symbol s_11_47[5] = { 'k', 'e', 'e', 'm', 'e' };
-static const symbol s_11_48[4] = { 'k', 'e', 'e', 'n' };
-static const symbol s_11_49[4] = { 'k', 'e', 'e', 's' };
-static const symbol s_11_50[5] = { 'k', 'e', 'e', 't', 'a' };
-static const symbol s_11_51[5] = { 'k', 'e', 'e', 't', 'e' };
-static const symbol s_11_52[6] = { 'k', 'e', 'e', 'v', 'a', 'd' };
-static const symbol s_11_53[5] = { 'k', 0xC3, 0xA4, 'i', 'a' };
-static const symbol s_11_54[8] = { 'k', 0xC3, 0xA4, 'i', 'a', 'k', 's', 'e' };
-static const symbol s_11_55[5] = { 'k', 0xC3, 0xA4, 'i', 'b' };
-static const symbol s_11_56[5] = { 'k', 0xC3, 0xA4, 'i', 'd' };
-static const symbol s_11_57[6] = { 'k', 0xC3, 0xA4, 'i', 'd', 'i' };
-static const symbol s_11_58[6] = { 'k', 0xC3, 0xA4, 'i', 'k', 's' };
-static const symbol s_11_59[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'd' };
-static const symbol s_11_60[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_61[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'n' };
-static const symbol s_11_62[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_63[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a' };
-static const symbol s_11_64[8] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a', 't', 'a' };
-static const symbol s_11_65[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'e' };
-static const symbol s_11_66[5] = { 'k', 0xC3, 0xA4, 'i', 'n' };
-static const symbol s_11_67[5] = { 'k', 0xC3, 0xA4, 'i', 's' };
-static const symbol s_11_68[6] = { 'k', 0xC3, 0xA4, 'i', 't', 'e' };
-static const symbol s_11_69[7] = { 'k', 0xC3, 0xA4, 'i', 'v', 'a', 'd' };
-static const symbol s_11_70[4] = { 'l', 'a', 'o', 'b' };
-static const symbol s_11_71[4] = { 'l', 'a', 'o', 'd' };
-static const symbol s_11_72[5] = { 'l', 'a', 'o', 'k', 's' };
-static const symbol s_11_73[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'd' };
-static const symbol s_11_74[8] = { 'l', 'a', 'o', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_75[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'n' };
-static const symbol s_11_76[8] = { 'l', 'a', 'o', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_77[5] = { 'l', 'a', 'o', 'm', 'e' };
-static const symbol s_11_78[4] = { 'l', 'a', 'o', 'n' };
-static const symbol s_11_79[5] = { 'l', 'a', 'o', 't', 'e' };
-static const symbol s_11_80[6] = { 'l', 'a', 'o', 'v', 'a', 'd' };
-static const symbol s_11_81[4] = { 'l', 'o', 'e', 'b' };
-static const symbol s_11_82[4] = { 'l', 'o', 'e', 'd' };
-static const symbol s_11_83[5] = { 'l', 'o', 'e', 'k', 's' };
-static const symbol s_11_84[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'd' };
-static const symbol s_11_85[8] = { 'l', 'o', 'e', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_86[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'n' };
-static const symbol s_11_87[8] = { 'l', 'o', 'e', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_88[5] = { 'l', 'o', 'e', 'm', 'e' };
-static const symbol s_11_89[4] = { 'l', 'o', 'e', 'n' };
-static const symbol s_11_90[5] = { 'l', 'o', 'e', 't', 'e' };
-static const symbol s_11_91[6] = { 'l', 'o', 'e', 'v', 'a', 'd' };
-static const symbol s_11_92[4] = { 'l', 'o', 'o', 'b' };
-static const symbol s_11_93[4] = { 'l', 'o', 'o', 'd' };
-static const symbol s_11_94[5] = { 'l', 'o', 'o', 'd', 'i' };
-static const symbol s_11_95[5] = { 'l', 'o', 'o', 'k', 's' };
-static const symbol s_11_96[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'd' };
-static const symbol s_11_97[8] = { 'l', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_98[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'n' };
-static const symbol s_11_99[8] = { 'l', 'o', 'o', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_100[5] = { 'l', 'o', 'o', 'm', 'a' };
-static const symbol s_11_101[7] = { 'l', 'o', 'o', 'm', 'a', 't', 'a' };
-static const symbol s_11_102[5] = { 'l', 'o', 'o', 'm', 'e' };
-static const symbol s_11_103[4] = { 'l', 'o', 'o', 'n' };
-static const symbol s_11_104[5] = { 'l', 'o', 'o', 't', 'e' };
-static const symbol s_11_105[6] = { 'l', 'o', 'o', 'v', 'a', 'd' };
-static const symbol s_11_106[4] = { 'l', 'u', 'u', 'a' };
-static const symbol s_11_107[7] = { 'l', 'u', 'u', 'a', 'k', 's', 'e' };
-static const symbol s_11_108[4] = { 'l', 0xC3, 0xB5, 'i' };
-static const symbol s_11_109[5] = { 'l', 0xC3, 0xB5, 'i', 'd' };
-static const symbol s_11_110[6] = { 'l', 0xC3, 0xB5, 'i', 'm', 'e' };
-static const symbol s_11_111[5] = { 'l', 0xC3, 0xB5, 'i', 'n' };
-static const symbol s_11_112[6] = { 'l', 0xC3, 0xB5, 'i', 't', 'e' };
-static const symbol s_11_113[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
-static const symbol s_11_114[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
-static const symbol s_11_115[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_116[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
-static const symbol s_11_117[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
-static const symbol s_11_118[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
-static const symbol s_11_119[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_120[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
-static const symbol s_11_121[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_122[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
-static const symbol s_11_123[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
-static const symbol s_11_124[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
-static const symbol s_11_125[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
-static const symbol s_11_126[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
-static const symbol s_11_127[8] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
-static const symbol s_11_128[6] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
-static const symbol s_11_129[9] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
-static const symbol s_11_130[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
-static const symbol s_11_131[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
-static const symbol s_11_132[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'b' };
-static const symbol s_11_133[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd' };
-static const symbol s_11_134[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd', 'i' };
-static const symbol s_11_135[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's' };
-static const symbol s_11_136[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'd' };
-static const symbol s_11_137[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_138[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'n' };
-static const symbol s_11_139[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_140[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a' };
-static const symbol s_11_141[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a', 't', 'a' };
-static const symbol s_11_142[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'e' };
-static const symbol s_11_143[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'n' };
-static const symbol s_11_144[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's' };
-static const symbol s_11_145[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 't', 'e' };
-static const symbol s_11_146[8] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'v', 'a', 'd' };
-static const symbol s_11_147[5] = { 'n', 0xC3, 0xA4, 'e', 'b' };
-static const symbol s_11_148[5] = { 'n', 0xC3, 0xA4, 'e', 'd' };
-static const symbol s_11_149[6] = { 'n', 0xC3, 0xA4, 'e', 'k', 's' };
-static const symbol s_11_150[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'd' };
-static const symbol s_11_151[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_152[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'n' };
-static const symbol s_11_153[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_154[6] = { 'n', 0xC3, 0xA4, 'e', 'm', 'e' };
-static const symbol s_11_155[5] = { 'n', 0xC3, 0xA4, 'e', 'n' };
-static const symbol s_11_156[6] = { 'n', 0xC3, 0xA4, 'e', 't', 'e' };
-static const symbol s_11_157[7] = { 'n', 0xC3, 0xA4, 'e', 'v', 'a', 'd' };
-static const symbol s_11_158[7] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a' };
-static const symbol s_11_159[9] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a', 't', 'a' };
-static const symbol s_11_160[5] = { 'n', 0xC3, 0xA4, 'h', 'a' };
-static const symbol s_11_161[8] = { 'n', 0xC3, 0xA4, 'h', 'a', 'k', 's', 'e' };
-static const symbol s_11_162[6] = { 'n', 0xC3, 0xA4, 'h', 't', 'i' };
-static const symbol s_11_163[5] = { 'p', 0xC3, 0xB5, 'e', 'b' };
-static const symbol s_11_164[5] = { 'p', 0xC3, 0xB5, 'e', 'd' };
-static const symbol s_11_165[6] = { 'p', 0xC3, 0xB5, 'e', 'k', 's' };
-static const symbol s_11_166[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'd' };
-static const symbol s_11_167[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_168[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'n' };
-static const symbol s_11_169[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_170[6] = { 'p', 0xC3, 0xB5, 'e', 'm', 'e' };
-static const symbol s_11_171[5] = { 'p', 0xC3, 0xB5, 'e', 'n' };
-static const symbol s_11_172[6] = { 'p', 0xC3, 0xB5, 'e', 't', 'e' };
-static const symbol s_11_173[7] = { 'p', 0xC3, 0xB5, 'e', 'v', 'a', 'd' };
-static const symbol s_11_174[4] = { 's', 'a', 'a', 'b' };
-static const symbol s_11_175[4] = { 's', 'a', 'a', 'd' };
-static const symbol s_11_176[5] = { 's', 'a', 'a', 'd', 'a' };
-static const symbol s_11_177[8] = { 's', 'a', 'a', 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_178[5] = { 's', 'a', 'a', 'd', 'i' };
-static const symbol s_11_179[5] = { 's', 'a', 'a', 'k', 's' };
-static const symbol s_11_180[7] = { 's', 'a', 'a', 'k', 's', 'i', 'd' };
-static const symbol s_11_181[8] = { 's', 'a', 'a', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_182[7] = { 's', 'a', 'a', 'k', 's', 'i', 'n' };
-static const symbol s_11_183[8] = { 's', 'a', 'a', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_184[5] = { 's', 'a', 'a', 'm', 'a' };
-static const symbol s_11_185[7] = { 's', 'a', 'a', 'm', 'a', 't', 'a' };
-static const symbol s_11_186[5] = { 's', 'a', 'a', 'm', 'e' };
-static const symbol s_11_187[4] = { 's', 'a', 'a', 'n' };
-static const symbol s_11_188[5] = { 's', 'a', 'a', 't', 'e' };
-static const symbol s_11_189[6] = { 's', 'a', 'a', 'v', 'a', 'd' };
-static const symbol s_11_190[3] = { 's', 'a', 'i' };
-static const symbol s_11_191[4] = { 's', 'a', 'i', 'd' };
-static const symbol s_11_192[5] = { 's', 'a', 'i', 'm', 'e' };
-static const symbol s_11_193[4] = { 's', 'a', 'i', 'n' };
-static const symbol s_11_194[5] = { 's', 'a', 'i', 't', 'e' };
-static const symbol s_11_195[4] = { 's', 0xC3, 0xB5, 'i' };
-static const symbol s_11_196[5] = { 's', 0xC3, 0xB5, 'i', 'd' };
-static const symbol s_11_197[6] = { 's', 0xC3, 0xB5, 'i', 'm', 'e' };
-static const symbol s_11_198[5] = { 's', 0xC3, 0xB5, 'i', 'n' };
-static const symbol s_11_199[6] = { 's', 0xC3, 0xB5, 'i', 't', 'e' };
-static const symbol s_11_200[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
-static const symbol s_11_201[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
-static const symbol s_11_202[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_203[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
-static const symbol s_11_204[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
-static const symbol s_11_205[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
-static const symbol s_11_206[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_207[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
-static const symbol s_11_208[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_209[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
-static const symbol s_11_210[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
-static const symbol s_11_211[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
-static const symbol s_11_212[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
-static const symbol s_11_213[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
-static const symbol s_11_214[8] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
-static const symbol s_11_215[6] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
-static const symbol s_11_216[9] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
-static const symbol s_11_217[4] = { 't', 'e', 'e', 'b' };
-static const symbol s_11_218[4] = { 't', 'e', 'e', 'd' };
-static const symbol s_11_219[5] = { 't', 'e', 'e', 'k', 's' };
-static const symbol s_11_220[7] = { 't', 'e', 'e', 'k', 's', 'i', 'd' };
-static const symbol s_11_221[8] = { 't', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_222[7] = { 't', 'e', 'e', 'k', 's', 'i', 'n' };
-static const symbol s_11_223[8] = { 't', 'e', 'e', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_224[5] = { 't', 'e', 'e', 'm', 'e' };
-static const symbol s_11_225[4] = { 't', 'e', 'e', 'n' };
-static const symbol s_11_226[5] = { 't', 'e', 'e', 't', 'e' };
-static const symbol s_11_227[6] = { 't', 'e', 'e', 'v', 'a', 'd' };
-static const symbol s_11_228[6] = { 't', 'e', 'g', 'e', 'm', 'a' };
-static const symbol s_11_229[8] = { 't', 'e', 'g', 'e', 'm', 'a', 't', 'a' };
-static const symbol s_11_230[4] = { 't', 'e', 'h', 'a' };
-static const symbol s_11_231[7] = { 't', 'e', 'h', 'a', 'k', 's', 'e' };
-static const symbol s_11_232[5] = { 't', 'e', 'h', 't', 'i' };
-static const symbol s_11_233[4] = { 't', 'o', 'o', 'b' };
-static const symbol s_11_234[4] = { 't', 'o', 'o', 'd' };
-static const symbol s_11_235[5] = { 't', 'o', 'o', 'd', 'i' };
-static const symbol s_11_236[5] = { 't', 'o', 'o', 'k', 's' };
-static const symbol s_11_237[7] = { 't', 'o', 'o', 'k', 's', 'i', 'd' };
-static const symbol s_11_238[8] = { 't', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_239[7] = { 't', 'o', 'o', 'k', 's', 'i', 'n' };
-static const symbol s_11_240[8] = { 't', 'o', 'o', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_241[5] = { 't', 'o', 'o', 'm', 'a' };
-static const symbol s_11_242[7] = { 't', 'o', 'o', 'm', 'a', 't', 'a' };
-static const symbol s_11_243[5] = { 't', 'o', 'o', 'm', 'e' };
-static const symbol s_11_244[4] = { 't', 'o', 'o', 'n' };
-static const symbol s_11_245[5] = { 't', 'o', 'o', 't', 'e' };
-static const symbol s_11_246[6] = { 't', 'o', 'o', 'v', 'a', 'd' };
-static const symbol s_11_247[4] = { 't', 'u', 'u', 'a' };
-static const symbol s_11_248[7] = { 't', 'u', 'u', 'a', 'k', 's', 'e' };
-static const symbol s_11_249[4] = { 't', 0xC3, 0xB5, 'i' };
-static const symbol s_11_250[5] = { 't', 0xC3, 0xB5, 'i', 'd' };
-static const symbol s_11_251[6] = { 't', 0xC3, 0xB5, 'i', 'm', 'e' };
-static const symbol s_11_252[5] = { 't', 0xC3, 0xB5, 'i', 'n' };
-static const symbol s_11_253[6] = { 't', 0xC3, 0xB5, 'i', 't', 'e' };
-static const symbol s_11_254[4] = { 'v', 'i', 'i', 'a' };
-static const symbol s_11_255[7] = { 'v', 'i', 'i', 'a', 'k', 's', 'e' };
-static const symbol s_11_256[4] = { 'v', 'i', 'i', 'b' };
-static const symbol s_11_257[4] = { 'v', 'i', 'i', 'd' };
-static const symbol s_11_258[5] = { 'v', 'i', 'i', 'd', 'i' };
-static const symbol s_11_259[5] = { 'v', 'i', 'i', 'k', 's' };
-static const symbol s_11_260[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'd' };
-static const symbol s_11_261[8] = { 'v', 'i', 'i', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_262[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'n' };
-static const symbol s_11_263[8] = { 'v', 'i', 'i', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_264[5] = { 'v', 'i', 'i', 'm', 'a' };
-static const symbol s_11_265[7] = { 'v', 'i', 'i', 'm', 'a', 't', 'a' };
-static const symbol s_11_266[5] = { 'v', 'i', 'i', 'm', 'e' };
-static const symbol s_11_267[4] = { 'v', 'i', 'i', 'n' };
-static const symbol s_11_268[7] = { 'v', 'i', 'i', 's', 'i', 'm', 'e' };
-static const symbol s_11_269[6] = { 'v', 'i', 'i', 's', 'i', 'n' };
-static const symbol s_11_270[7] = { 'v', 'i', 'i', 's', 'i', 't', 'e' };
-static const symbol s_11_271[5] = { 'v', 'i', 'i', 't', 'e' };
-static const symbol s_11_272[6] = { 'v', 'i', 'i', 'v', 'a', 'd' };
-static const symbol s_11_273[5] = { 'v', 0xC3, 0xB5, 'i', 'b' };
-static const symbol s_11_274[5] = { 'v', 0xC3, 0xB5, 'i', 'd' };
-static const symbol s_11_275[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a' };
-static const symbol s_11_276[9] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a', 'k', 's', 'e' };
-static const symbol s_11_277[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'i' };
-static const symbol s_11_278[6] = { 'v', 0xC3, 0xB5, 'i', 'k', 's' };
-static const symbol s_11_279[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'd' };
-static const symbol s_11_280[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'm', 'e' };
-static const symbol s_11_281[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'n' };
-static const symbol s_11_282[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 't', 'e' };
-static const symbol s_11_283[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a' };
-static const symbol s_11_284[8] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a', 't', 'a' };
-static const symbol s_11_285[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'e' };
-static const symbol s_11_286[5] = { 'v', 0xC3, 0xB5, 'i', 'n' };
-static const symbol s_11_287[5] = { 'v', 0xC3, 0xB5, 'i', 's' };
-static const symbol s_11_288[6] = { 'v', 0xC3, 0xB5, 'i', 't', 'e' };
-static const symbol s_11_289[7] = { 'v', 0xC3, 0xB5, 'i', 'v', 'a', 'd' };
-
-static const struct among a_11[290] =
-{
-{ 4, s_11_0, -1, 1, 0},
-{ 4, s_11_1, -1, 1, 0},
-{ 8, s_11_2, 1, 1, 0},
-{ 5, s_11_3, -1, 1, 0},
-{ 7, s_11_4, 3, 1, 0},
-{ 5, s_11_5, -1, 1, 0},
-{ 4, s_11_6, -1, 1, 0},
-{ 5, s_11_7, -1, 1, 0},
-{ 6, s_11_8, -1, 1, 0},
-{ 4, s_11_9, -1, 1, 0},
-{ 7, s_11_10, 9, 1, 0},
-{ 4, s_11_11, -1, 12, 0},
-{ 5, s_11_12, 11, 12, 0},
-{ 6, s_11_13, 11, 12, 0},
-{ 5, s_11_14, 11, 12, 0},
-{ 6, s_11_15, 11, 12, 0},
-{ 6, s_11_16, -1, 12, 0},
-{ 6, s_11_17, -1, 12, 0},
-{ 7, s_11_18, 17, 12, 0},
-{ 10, s_11_19, 18, 12, 0},
-{ 7, s_11_20, 17, 12, 0},
-{ 7, s_11_21, -1, 12, 0},
-{ 9, s_11_22, 21, 12, 0},
-{ 10, s_11_23, 21, 12, 0},
-{ 9, s_11_24, 21, 12, 0},
-{ 10, s_11_25, 21, 12, 0},
-{ 7, s_11_26, -1, 12, 0},
-{ 9, s_11_27, 26, 12, 0},
-{ 7, s_11_28, -1, 12, 0},
-{ 6, s_11_29, -1, 12, 0},
-{ 7, s_11_30, -1, 12, 0},
-{ 8, s_11_31, -1, 12, 0},
-{ 4, s_11_32, -1, 1, 0},
-{ 5, s_11_33, 32, 1, 0},
-{ 6, s_11_34, 32, 1, 0},
-{ 5, s_11_35, 32, 1, 0},
-{ 6, s_11_36, 32, 1, 0},
-{ 4, s_11_37, -1, 4, 0},
-{ 4, s_11_38, -1, 4, 0},
-{ 8, s_11_39, 38, 4, 0},
-{ 5, s_11_40, -1, 4, 0},
-{ 7, s_11_41, 40, 4, 0},
-{ 8, s_11_42, 40, 4, 0},
-{ 7, s_11_43, 40, 4, 0},
-{ 8, s_11_44, 40, 4, 0},
-{ 5, s_11_45, -1, 4, 0},
-{ 7, s_11_46, 45, 4, 0},
-{ 5, s_11_47, -1, 4, 0},
-{ 4, s_11_48, -1, 4, 0},
-{ 4, s_11_49, -1, 4, 0},
-{ 5, s_11_50, -1, 4, 0},
-{ 5, s_11_51, -1, 4, 0},
-{ 6, s_11_52, -1, 4, 0},
-{ 5, s_11_53, -1, 8, 0},
-{ 8, s_11_54, 53, 8, 0},
-{ 5, s_11_55, -1, 8, 0},
-{ 5, s_11_56, -1, 8, 0},
-{ 6, s_11_57, 56, 8, 0},
-{ 6, s_11_58, -1, 8, 0},
-{ 8, s_11_59, 58, 8, 0},
-{ 9, s_11_60, 58, 8, 0},
-{ 8, s_11_61, 58, 8, 0},
-{ 9, s_11_62, 58, 8, 0},
-{ 6, s_11_63, -1, 8, 0},
-{ 8, s_11_64, 63, 8, 0},
-{ 6, s_11_65, -1, 8, 0},
-{ 5, s_11_66, -1, 8, 0},
-{ 5, s_11_67, -1, 8, 0},
-{ 6, s_11_68, -1, 8, 0},
-{ 7, s_11_69, -1, 8, 0},
-{ 4, s_11_70, -1, 16, 0},
-{ 4, s_11_71, -1, 16, 0},
-{ 5, s_11_72, -1, 16, 0},
-{ 7, s_11_73, 72, 16, 0},
-{ 8, s_11_74, 72, 16, 0},
-{ 7, s_11_75, 72, 16, 0},
-{ 8, s_11_76, 72, 16, 0},
-{ 5, s_11_77, -1, 16, 0},
-{ 4, s_11_78, -1, 16, 0},
-{ 5, s_11_79, -1, 16, 0},
-{ 6, s_11_80, -1, 16, 0},
-{ 4, s_11_81, -1, 14, 0},
-{ 4, s_11_82, -1, 14, 0},
-{ 5, s_11_83, -1, 14, 0},
-{ 7, s_11_84, 83, 14, 0},
-{ 8, s_11_85, 83, 14, 0},
-{ 7, s_11_86, 83, 14, 0},
-{ 8, s_11_87, 83, 14, 0},
-{ 5, s_11_88, -1, 14, 0},
-{ 4, s_11_89, -1, 14, 0},
-{ 5, s_11_90, -1, 14, 0},
-{ 6, s_11_91, -1, 14, 0},
-{ 4, s_11_92, -1, 7, 0},
-{ 4, s_11_93, -1, 7, 0},
-{ 5, s_11_94, 93, 7, 0},
-{ 5, s_11_95, -1, 7, 0},
-{ 7, s_11_96, 95, 7, 0},
-{ 8, s_11_97, 95, 7, 0},
-{ 7, s_11_98, 95, 7, 0},
-{ 8, s_11_99, 95, 7, 0},
-{ 5, s_11_100, -1, 7, 0},
-{ 7, s_11_101, 100, 7, 0},
-{ 5, s_11_102, -1, 7, 0},
-{ 4, s_11_103, -1, 7, 0},
-{ 5, s_11_104, -1, 7, 0},
-{ 6, s_11_105, -1, 7, 0},
-{ 4, s_11_106, -1, 7, 0},
-{ 7, s_11_107, 106, 7, 0},
-{ 4, s_11_108, -1, 6, 0},
-{ 5, s_11_109, 108, 6, 0},
-{ 6, s_11_110, 108, 6, 0},
-{ 5, s_11_111, 108, 6, 0},
-{ 6, s_11_112, 108, 6, 0},
-{ 6, s_11_113, -1, 5, 0},
-{ 6, s_11_114, -1, 5, 0},
-{ 10, s_11_115, 114, 5, 0},
-{ 7, s_11_116, 114, 5, 0},
-{ 7, s_11_117, -1, 5, 0},
-{ 9, s_11_118, 117, 5, 0},
-{ 10, s_11_119, 117, 5, 0},
-{ 9, s_11_120, 117, 5, 0},
-{ 10, s_11_121, 117, 5, 0},
-{ 7, s_11_122, -1, 5, 0},
-{ 9, s_11_123, 122, 5, 0},
-{ 7, s_11_124, -1, 5, 0},
-{ 6, s_11_125, -1, 5, 0},
-{ 7, s_11_126, -1, 5, 0},
-{ 8, s_11_127, -1, 5, 0},
-{ 6, s_11_128, -1, 5, 0},
-{ 9, s_11_129, 128, 5, 0},
-{ 6, s_11_130, -1, 13, 0},
-{ 9, s_11_131, 130, 13, 0},
-{ 6, s_11_132, -1, 13, 0},
-{ 6, s_11_133, -1, 13, 0},
-{ 7, s_11_134, 133, 13, 0},
-{ 7, s_11_135, -1, 13, 0},
-{ 9, s_11_136, 135, 13, 0},
-{ 10, s_11_137, 135, 13, 0},
-{ 9, s_11_138, 135, 13, 0},
-{ 10, s_11_139, 135, 13, 0},
-{ 7, s_11_140, -1, 13, 0},
-{ 9, s_11_141, 140, 13, 0},
-{ 7, s_11_142, -1, 13, 0},
-{ 6, s_11_143, -1, 13, 0},
-{ 6, s_11_144, -1, 13, 0},
-{ 7, s_11_145, -1, 13, 0},
-{ 8, s_11_146, -1, 13, 0},
-{ 5, s_11_147, -1, 18, 0},
-{ 5, s_11_148, -1, 18, 0},
-{ 6, s_11_149, -1, 18, 0},
-{ 8, s_11_150, 149, 18, 0},
-{ 9, s_11_151, 149, 18, 0},
-{ 8, s_11_152, 149, 18, 0},
-{ 9, s_11_153, 149, 18, 0},
-{ 6, s_11_154, -1, 18, 0},
-{ 5, s_11_155, -1, 18, 0},
-{ 6, s_11_156, -1, 18, 0},
-{ 7, s_11_157, -1, 18, 0},
-{ 7, s_11_158, -1, 18, 0},
-{ 9, s_11_159, 158, 18, 0},
-{ 5, s_11_160, -1, 18, 0},
-{ 8, s_11_161, 160, 18, 0},
-{ 6, s_11_162, -1, 18, 0},
-{ 5, s_11_163, -1, 15, 0},
-{ 5, s_11_164, -1, 15, 0},
-{ 6, s_11_165, -1, 15, 0},
-{ 8, s_11_166, 165, 15, 0},
-{ 9, s_11_167, 165, 15, 0},
-{ 8, s_11_168, 165, 15, 0},
-{ 9, s_11_169, 165, 15, 0},
-{ 6, s_11_170, -1, 15, 0},
-{ 5, s_11_171, -1, 15, 0},
-{ 6, s_11_172, -1, 15, 0},
-{ 7, s_11_173, -1, 15, 0},
-{ 4, s_11_174, -1, 2, 0},
-{ 4, s_11_175, -1, 2, 0},
-{ 5, s_11_176, 175, 2, 0},
-{ 8, s_11_177, 176, 2, 0},
-{ 5, s_11_178, 175, 2, 0},
-{ 5, s_11_179, -1, 2, 0},
-{ 7, s_11_180, 179, 2, 0},
-{ 8, s_11_181, 179, 2, 0},
-{ 7, s_11_182, 179, 2, 0},
-{ 8, s_11_183, 179, 2, 0},
-{ 5, s_11_184, -1, 2, 0},
-{ 7, s_11_185, 184, 2, 0},
-{ 5, s_11_186, -1, 2, 0},
-{ 4, s_11_187, -1, 2, 0},
-{ 5, s_11_188, -1, 2, 0},
-{ 6, s_11_189, -1, 2, 0},
-{ 3, s_11_190, -1, 2, 0},
-{ 4, s_11_191, 190, 2, 0},
-{ 5, s_11_192, 190, 2, 0},
-{ 4, s_11_193, 190, 2, 0},
-{ 5, s_11_194, 190, 2, 0},
-{ 4, s_11_195, -1, 9, 0},
-{ 5, s_11_196, 195, 9, 0},
-{ 6, s_11_197, 195, 9, 0},
-{ 5, s_11_198, 195, 9, 0},
-{ 6, s_11_199, 195, 9, 0},
-{ 6, s_11_200, -1, 9, 0},
-{ 6, s_11_201, -1, 9, 0},
-{ 10, s_11_202, 201, 9, 0},
-{ 7, s_11_203, 201, 9, 0},
-{ 7, s_11_204, -1, 9, 0},
-{ 9, s_11_205, 204, 9, 0},
-{ 10, s_11_206, 204, 9, 0},
-{ 9, s_11_207, 204, 9, 0},
-{ 10, s_11_208, 204, 9, 0},
-{ 7, s_11_209, -1, 9, 0},
-{ 9, s_11_210, 209, 9, 0},
-{ 7, s_11_211, -1, 9, 0},
-{ 6, s_11_212, -1, 9, 0},
-{ 7, s_11_213, -1, 9, 0},
-{ 8, s_11_214, -1, 9, 0},
-{ 6, s_11_215, -1, 9, 0},
-{ 9, s_11_216, 215, 9, 0},
-{ 4, s_11_217, -1, 17, 0},
-{ 4, s_11_218, -1, 17, 0},
-{ 5, s_11_219, -1, 17, 0},
-{ 7, s_11_220, 219, 17, 0},
-{ 8, s_11_221, 219, 17, 0},
-{ 7, s_11_222, 219, 17, 0},
-{ 8, s_11_223, 219, 17, 0},
-{ 5, s_11_224, -1, 17, 0},
-{ 4, s_11_225, -1, 17, 0},
-{ 5, s_11_226, -1, 17, 0},
-{ 6, s_11_227, -1, 17, 0},
-{ 6, s_11_228, -1, 17, 0},
-{ 8, s_11_229, 228, 17, 0},
-{ 4, s_11_230, -1, 17, 0},
-{ 7, s_11_231, 230, 17, 0},
-{ 5, s_11_232, -1, 17, 0},
-{ 4, s_11_233, -1, 10, 0},
-{ 4, s_11_234, -1, 10, 0},
-{ 5, s_11_235, 234, 10, 0},
-{ 5, s_11_236, -1, 10, 0},
-{ 7, s_11_237, 236, 10, 0},
-{ 8, s_11_238, 236, 10, 0},
-{ 7, s_11_239, 236, 10, 0},
-{ 8, s_11_240, 236, 10, 0},
-{ 5, s_11_241, -1, 10, 0},
-{ 7, s_11_242, 241, 10, 0},
-{ 5, s_11_243, -1, 10, 0},
-{ 4, s_11_244, -1, 10, 0},
-{ 5, s_11_245, -1, 10, 0},
-{ 6, s_11_246, -1, 10, 0},
-{ 4, s_11_247, -1, 10, 0},
-{ 7, s_11_248, 247, 10, 0},
-{ 4, s_11_249, -1, 10, 0},
-{ 5, s_11_250, 249, 10, 0},
-{ 6, s_11_251, 249, 10, 0},
-{ 5, s_11_252, 249, 10, 0},
-{ 6, s_11_253, 249, 10, 0},
-{ 4, s_11_254, -1, 3, 0},
-{ 7, s_11_255, 254, 3, 0},
-{ 4, s_11_256, -1, 3, 0},
-{ 4, s_11_257, -1, 3, 0},
-{ 5, s_11_258, 257, 3, 0},
-{ 5, s_11_259, -1, 3, 0},
-{ 7, s_11_260, 259, 3, 0},
-{ 8, s_11_261, 259, 3, 0},
-{ 7, s_11_262, 259, 3, 0},
-{ 8, s_11_263, 259, 3, 0},
-{ 5, s_11_264, -1, 3, 0},
-{ 7, s_11_265, 264, 3, 0},
-{ 5, s_11_266, -1, 3, 0},
-{ 4, s_11_267, -1, 3, 0},
-{ 7, s_11_268, -1, 3, 0},
-{ 6, s_11_269, -1, 3, 0},
-{ 7, s_11_270, -1, 3, 0},
-{ 5, s_11_271, -1, 3, 0},
-{ 6, s_11_272, -1, 3, 0},
-{ 5, s_11_273, -1, 11, 0},
-{ 5, s_11_274, -1, 11, 0},
-{ 6, s_11_275, 274, 11, 0},
-{ 9, s_11_276, 275, 11, 0},
-{ 6, s_11_277, 274, 11, 0},
-{ 6, s_11_278, -1, 11, 0},
-{ 8, s_11_279, 278, 11, 0},
-{ 9, s_11_280, 278, 11, 0},
-{ 8, s_11_281, 278, 11, 0},
-{ 9, s_11_282, 278, 11, 0},
-{ 6, s_11_283, -1, 11, 0},
-{ 8, s_11_284, 283, 11, 0},
-{ 6, s_11_285, -1, 11, 0},
-{ 5, s_11_286, -1, 11, 0},
-{ 5, s_11_287, -1, 11, 0},
-{ 6, s_11_288, -1, 11, 0},
-{ 7, s_11_289, -1, 11, 0}
+static const symbol s_10_0[4] = { 'j', 'o', 'o', 'b' };
+static const symbol s_10_1[4] = { 'j', 'o', 'o', 'd' };
+static const symbol s_10_2[8] = { 'j', 'o', 'o', 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_3[5] = { 'j', 'o', 'o', 'm', 'a' };
+static const symbol s_10_4[7] = { 'j', 'o', 'o', 'm', 'a', 't', 'a' };
+static const symbol s_10_5[5] = { 'j', 'o', 'o', 'm', 'e' };
+static const symbol s_10_6[4] = { 'j', 'o', 'o', 'n' };
+static const symbol s_10_7[5] = { 'j', 'o', 'o', 't', 'e' };
+static const symbol s_10_8[6] = { 'j', 'o', 'o', 'v', 'a', 'd' };
+static const symbol s_10_9[4] = { 'j', 'u', 'u', 'a' };
+static const symbol s_10_10[7] = { 'j', 'u', 'u', 'a', 'k', 's', 'e' };
+static const symbol s_10_11[4] = { 'j', 0xC3, 0xA4, 'i' };
+static const symbol s_10_12[5] = { 'j', 0xC3, 0xA4, 'i', 'd' };
+static const symbol s_10_13[6] = { 'j', 0xC3, 0xA4, 'i', 'm', 'e' };
+static const symbol s_10_14[5] = { 'j', 0xC3, 0xA4, 'i', 'n' };
+static const symbol s_10_15[6] = { 'j', 0xC3, 0xA4, 'i', 't', 'e' };
+static const symbol s_10_16[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'b' };
+static const symbol s_10_17[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd' };
+static const symbol s_10_18[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a' };
+static const symbol s_10_19[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_20[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'd', 'i' };
+static const symbol s_10_21[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's' };
+static const symbol s_10_22[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'd' };
+static const symbol s_10_23[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_24[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 'n' };
+static const symbol s_10_25[10] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_26[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
+static const symbol s_10_27[9] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a', 't', 'a' };
+static const symbol s_10_28[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'e' };
+static const symbol s_10_29[6] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
+static const symbol s_10_30[7] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 't', 'e' };
+static const symbol s_10_31[8] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'v', 'a', 'd' };
+static const symbol s_10_32[4] = { 'j', 0xC3, 0xB5, 'i' };
+static const symbol s_10_33[5] = { 'j', 0xC3, 0xB5, 'i', 'd' };
+static const symbol s_10_34[6] = { 'j', 0xC3, 0xB5, 'i', 'm', 'e' };
+static const symbol s_10_35[5] = { 'j', 0xC3, 0xB5, 'i', 'n' };
+static const symbol s_10_36[6] = { 'j', 0xC3, 0xB5, 'i', 't', 'e' };
+static const symbol s_10_37[4] = { 'k', 'e', 'e', 'b' };
+static const symbol s_10_38[4] = { 'k', 'e', 'e', 'd' };
+static const symbol s_10_39[8] = { 'k', 'e', 'e', 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_40[5] = { 'k', 'e', 'e', 'k', 's' };
+static const symbol s_10_41[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'd' };
+static const symbol s_10_42[8] = { 'k', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_43[7] = { 'k', 'e', 'e', 'k', 's', 'i', 'n' };
+static const symbol s_10_44[8] = { 'k', 'e', 'e', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_45[5] = { 'k', 'e', 'e', 'm', 'a' };
+static const symbol s_10_46[7] = { 'k', 'e', 'e', 'm', 'a', 't', 'a' };
+static const symbol s_10_47[5] = { 'k', 'e', 'e', 'm', 'e' };
+static const symbol s_10_48[4] = { 'k', 'e', 'e', 'n' };
+static const symbol s_10_49[4] = { 'k', 'e', 'e', 's' };
+static const symbol s_10_50[5] = { 'k', 'e', 'e', 't', 'a' };
+static const symbol s_10_51[5] = { 'k', 'e', 'e', 't', 'e' };
+static const symbol s_10_52[6] = { 'k', 'e', 'e', 'v', 'a', 'd' };
+static const symbol s_10_53[5] = { 'k', 0xC3, 0xA4, 'i', 'a' };
+static const symbol s_10_54[8] = { 'k', 0xC3, 0xA4, 'i', 'a', 'k', 's', 'e' };
+static const symbol s_10_55[5] = { 'k', 0xC3, 0xA4, 'i', 'b' };
+static const symbol s_10_56[5] = { 'k', 0xC3, 0xA4, 'i', 'd' };
+static const symbol s_10_57[6] = { 'k', 0xC3, 0xA4, 'i', 'd', 'i' };
+static const symbol s_10_58[6] = { 'k', 0xC3, 0xA4, 'i', 'k', 's' };
+static const symbol s_10_59[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'd' };
+static const symbol s_10_60[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_61[8] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 'n' };
+static const symbol s_10_62[9] = { 'k', 0xC3, 0xA4, 'i', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_63[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a' };
+static const symbol s_10_64[8] = { 'k', 0xC3, 0xA4, 'i', 'm', 'a', 't', 'a' };
+static const symbol s_10_65[6] = { 'k', 0xC3, 0xA4, 'i', 'm', 'e' };
+static const symbol s_10_66[5] = { 'k', 0xC3, 0xA4, 'i', 'n' };
+static const symbol s_10_67[5] = { 'k', 0xC3, 0xA4, 'i', 's' };
+static const symbol s_10_68[6] = { 'k', 0xC3, 0xA4, 'i', 't', 'e' };
+static const symbol s_10_69[7] = { 'k', 0xC3, 0xA4, 'i', 'v', 'a', 'd' };
+static const symbol s_10_70[4] = { 'l', 'a', 'o', 'b' };
+static const symbol s_10_71[4] = { 'l', 'a', 'o', 'd' };
+static const symbol s_10_72[5] = { 'l', 'a', 'o', 'k', 's' };
+static const symbol s_10_73[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'd' };
+static const symbol s_10_74[8] = { 'l', 'a', 'o', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_75[7] = { 'l', 'a', 'o', 'k', 's', 'i', 'n' };
+static const symbol s_10_76[8] = { 'l', 'a', 'o', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_77[5] = { 'l', 'a', 'o', 'm', 'e' };
+static const symbol s_10_78[4] = { 'l', 'a', 'o', 'n' };
+static const symbol s_10_79[5] = { 'l', 'a', 'o', 't', 'e' };
+static const symbol s_10_80[6] = { 'l', 'a', 'o', 'v', 'a', 'd' };
+static const symbol s_10_81[4] = { 'l', 'o', 'e', 'b' };
+static const symbol s_10_82[4] = { 'l', 'o', 'e', 'd' };
+static const symbol s_10_83[5] = { 'l', 'o', 'e', 'k', 's' };
+static const symbol s_10_84[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'd' };
+static const symbol s_10_85[8] = { 'l', 'o', 'e', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_86[7] = { 'l', 'o', 'e', 'k', 's', 'i', 'n' };
+static const symbol s_10_87[8] = { 'l', 'o', 'e', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_88[5] = { 'l', 'o', 'e', 'm', 'e' };
+static const symbol s_10_89[4] = { 'l', 'o', 'e', 'n' };
+static const symbol s_10_90[5] = { 'l', 'o', 'e', 't', 'e' };
+static const symbol s_10_91[6] = { 'l', 'o', 'e', 'v', 'a', 'd' };
+static const symbol s_10_92[4] = { 'l', 'o', 'o', 'b' };
+static const symbol s_10_93[4] = { 'l', 'o', 'o', 'd' };
+static const symbol s_10_94[5] = { 'l', 'o', 'o', 'd', 'i' };
+static const symbol s_10_95[5] = { 'l', 'o', 'o', 'k', 's' };
+static const symbol s_10_96[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'd' };
+static const symbol s_10_97[8] = { 'l', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_98[7] = { 'l', 'o', 'o', 'k', 's', 'i', 'n' };
+static const symbol s_10_99[8] = { 'l', 'o', 'o', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_100[5] = { 'l', 'o', 'o', 'm', 'a' };
+static const symbol s_10_101[7] = { 'l', 'o', 'o', 'm', 'a', 't', 'a' };
+static const symbol s_10_102[5] = { 'l', 'o', 'o', 'm', 'e' };
+static const symbol s_10_103[4] = { 'l', 'o', 'o', 'n' };
+static const symbol s_10_104[5] = { 'l', 'o', 'o', 't', 'e' };
+static const symbol s_10_105[6] = { 'l', 'o', 'o', 'v', 'a', 'd' };
+static const symbol s_10_106[4] = { 'l', 'u', 'u', 'a' };
+static const symbol s_10_107[7] = { 'l', 'u', 'u', 'a', 'k', 's', 'e' };
+static const symbol s_10_108[4] = { 'l', 0xC3, 0xB5, 'i' };
+static const symbol s_10_109[5] = { 'l', 0xC3, 0xB5, 'i', 'd' };
+static const symbol s_10_110[6] = { 'l', 0xC3, 0xB5, 'i', 'm', 'e' };
+static const symbol s_10_111[5] = { 'l', 0xC3, 0xB5, 'i', 'n' };
+static const symbol s_10_112[6] = { 'l', 0xC3, 0xB5, 'i', 't', 'e' };
+static const symbol s_10_113[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
+static const symbol s_10_114[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
+static const symbol s_10_115[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_116[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
+static const symbol s_10_117[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
+static const symbol s_10_118[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
+static const symbol s_10_119[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_120[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
+static const symbol s_10_121[10] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_122[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
+static const symbol s_10_123[9] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
+static const symbol s_10_124[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
+static const symbol s_10_125[6] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
+static const symbol s_10_126[7] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
+static const symbol s_10_127[8] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
+static const symbol s_10_128[6] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
+static const symbol s_10_129[9] = { 'l', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
+static const symbol s_10_130[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
+static const symbol s_10_131[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
+static const symbol s_10_132[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'b' };
+static const symbol s_10_133[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd' };
+static const symbol s_10_134[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'd', 'i' };
+static const symbol s_10_135[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's' };
+static const symbol s_10_136[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'd' };
+static const symbol s_10_137[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_138[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 'n' };
+static const symbol s_10_139[10] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_140[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a' };
+static const symbol s_10_141[9] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'a', 't', 'a' };
+static const symbol s_10_142[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'm', 'e' };
+static const symbol s_10_143[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'n' };
+static const symbol s_10_144[6] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's' };
+static const symbol s_10_145[7] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 't', 'e' };
+static const symbol s_10_146[8] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 'v', 'a', 'd' };
+static const symbol s_10_147[5] = { 'n', 0xC3, 0xA4, 'e', 'b' };
+static const symbol s_10_148[5] = { 'n', 0xC3, 0xA4, 'e', 'd' };
+static const symbol s_10_149[6] = { 'n', 0xC3, 0xA4, 'e', 'k', 's' };
+static const symbol s_10_150[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'd' };
+static const symbol s_10_151[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_152[8] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 'n' };
+static const symbol s_10_153[9] = { 'n', 0xC3, 0xA4, 'e', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_154[6] = { 'n', 0xC3, 0xA4, 'e', 'm', 'e' };
+static const symbol s_10_155[5] = { 'n', 0xC3, 0xA4, 'e', 'n' };
+static const symbol s_10_156[6] = { 'n', 0xC3, 0xA4, 'e', 't', 'e' };
+static const symbol s_10_157[7] = { 'n', 0xC3, 0xA4, 'e', 'v', 'a', 'd' };
+static const symbol s_10_158[7] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a' };
+static const symbol s_10_159[9] = { 'n', 0xC3, 0xA4, 'g', 'e', 'm', 'a', 't', 'a' };
+static const symbol s_10_160[5] = { 'n', 0xC3, 0xA4, 'h', 'a' };
+static const symbol s_10_161[8] = { 'n', 0xC3, 0xA4, 'h', 'a', 'k', 's', 'e' };
+static const symbol s_10_162[6] = { 'n', 0xC3, 0xA4, 'h', 't', 'i' };
+static const symbol s_10_163[5] = { 'p', 0xC3, 0xB5, 'e', 'b' };
+static const symbol s_10_164[5] = { 'p', 0xC3, 0xB5, 'e', 'd' };
+static const symbol s_10_165[6] = { 'p', 0xC3, 0xB5, 'e', 'k', 's' };
+static const symbol s_10_166[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'd' };
+static const symbol s_10_167[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_168[8] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 'n' };
+static const symbol s_10_169[9] = { 'p', 0xC3, 0xB5, 'e', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_170[6] = { 'p', 0xC3, 0xB5, 'e', 'm', 'e' };
+static const symbol s_10_171[5] = { 'p', 0xC3, 0xB5, 'e', 'n' };
+static const symbol s_10_172[6] = { 'p', 0xC3, 0xB5, 'e', 't', 'e' };
+static const symbol s_10_173[7] = { 'p', 0xC3, 0xB5, 'e', 'v', 'a', 'd' };
+static const symbol s_10_174[4] = { 's', 'a', 'a', 'b' };
+static const symbol s_10_175[4] = { 's', 'a', 'a', 'd' };
+static const symbol s_10_176[5] = { 's', 'a', 'a', 'd', 'a' };
+static const symbol s_10_177[8] = { 's', 'a', 'a', 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_178[5] = { 's', 'a', 'a', 'd', 'i' };
+static const symbol s_10_179[5] = { 's', 'a', 'a', 'k', 's' };
+static const symbol s_10_180[7] = { 's', 'a', 'a', 'k', 's', 'i', 'd' };
+static const symbol s_10_181[8] = { 's', 'a', 'a', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_182[7] = { 's', 'a', 'a', 'k', 's', 'i', 'n' };
+static const symbol s_10_183[8] = { 's', 'a', 'a', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_184[5] = { 's', 'a', 'a', 'm', 'a' };
+static const symbol s_10_185[7] = { 's', 'a', 'a', 'm', 'a', 't', 'a' };
+static const symbol s_10_186[5] = { 's', 'a', 'a', 'm', 'e' };
+static const symbol s_10_187[4] = { 's', 'a', 'a', 'n' };
+static const symbol s_10_188[5] = { 's', 'a', 'a', 't', 'e' };
+static const symbol s_10_189[6] = { 's', 'a', 'a', 'v', 'a', 'd' };
+static const symbol s_10_190[3] = { 's', 'a', 'i' };
+static const symbol s_10_191[4] = { 's', 'a', 'i', 'd' };
+static const symbol s_10_192[5] = { 's', 'a', 'i', 'm', 'e' };
+static const symbol s_10_193[4] = { 's', 'a', 'i', 'n' };
+static const symbol s_10_194[5] = { 's', 'a', 'i', 't', 'e' };
+static const symbol s_10_195[4] = { 's', 0xC3, 0xB5, 'i' };
+static const symbol s_10_196[5] = { 's', 0xC3, 0xB5, 'i', 'd' };
+static const symbol s_10_197[6] = { 's', 0xC3, 0xB5, 'i', 'm', 'e' };
+static const symbol s_10_198[5] = { 's', 0xC3, 0xB5, 'i', 'n' };
+static const symbol s_10_199[6] = { 's', 0xC3, 0xB5, 'i', 't', 'e' };
+static const symbol s_10_200[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'b' };
+static const symbol s_10_201[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd' };
+static const symbol s_10_202[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_203[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'd', 'i' };
+static const symbol s_10_204[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's' };
+static const symbol s_10_205[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'd' };
+static const symbol s_10_206[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_207[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 'n' };
+static const symbol s_10_208[10] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_209[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a' };
+static const symbol s_10_210[9] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'a', 't', 'a' };
+static const symbol s_10_211[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'm', 'e' };
+static const symbol s_10_212[6] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'n' };
+static const symbol s_10_213[7] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 't', 'e' };
+static const symbol s_10_214[8] = { 's', 0xC3, 0xB6, 0xC3, 0xB6, 'v', 'a', 'd' };
+static const symbol s_10_215[6] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a' };
+static const symbol s_10_216[9] = { 's', 0xC3, 0xBC, 0xC3, 0xBC, 'a', 'k', 's', 'e' };
+static const symbol s_10_217[4] = { 't', 'e', 'e', 'b' };
+static const symbol s_10_218[4] = { 't', 'e', 'e', 'd' };
+static const symbol s_10_219[5] = { 't', 'e', 'e', 'k', 's' };
+static const symbol s_10_220[7] = { 't', 'e', 'e', 'k', 's', 'i', 'd' };
+static const symbol s_10_221[8] = { 't', 'e', 'e', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_222[7] = { 't', 'e', 'e', 'k', 's', 'i', 'n' };
+static const symbol s_10_223[8] = { 't', 'e', 'e', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_224[5] = { 't', 'e', 'e', 'm', 'e' };
+static const symbol s_10_225[4] = { 't', 'e', 'e', 'n' };
+static const symbol s_10_226[5] = { 't', 'e', 'e', 't', 'e' };
+static const symbol s_10_227[6] = { 't', 'e', 'e', 'v', 'a', 'd' };
+static const symbol s_10_228[6] = { 't', 'e', 'g', 'e', 'm', 'a' };
+static const symbol s_10_229[8] = { 't', 'e', 'g', 'e', 'm', 'a', 't', 'a' };
+static const symbol s_10_230[4] = { 't', 'e', 'h', 'a' };
+static const symbol s_10_231[7] = { 't', 'e', 'h', 'a', 'k', 's', 'e' };
+static const symbol s_10_232[5] = { 't', 'e', 'h', 't', 'i' };
+static const symbol s_10_233[4] = { 't', 'o', 'o', 'b' };
+static const symbol s_10_234[4] = { 't', 'o', 'o', 'd' };
+static const symbol s_10_235[5] = { 't', 'o', 'o', 'd', 'i' };
+static const symbol s_10_236[5] = { 't', 'o', 'o', 'k', 's' };
+static const symbol s_10_237[7] = { 't', 'o', 'o', 'k', 's', 'i', 'd' };
+static const symbol s_10_238[8] = { 't', 'o', 'o', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_239[7] = { 't', 'o', 'o', 'k', 's', 'i', 'n' };
+static const symbol s_10_240[8] = { 't', 'o', 'o', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_241[5] = { 't', 'o', 'o', 'm', 'a' };
+static const symbol s_10_242[7] = { 't', 'o', 'o', 'm', 'a', 't', 'a' };
+static const symbol s_10_243[5] = { 't', 'o', 'o', 'm', 'e' };
+static const symbol s_10_244[4] = { 't', 'o', 'o', 'n' };
+static const symbol s_10_245[5] = { 't', 'o', 'o', 't', 'e' };
+static const symbol s_10_246[6] = { 't', 'o', 'o', 'v', 'a', 'd' };
+static const symbol s_10_247[4] = { 't', 'u', 'u', 'a' };
+static const symbol s_10_248[7] = { 't', 'u', 'u', 'a', 'k', 's', 'e' };
+static const symbol s_10_249[4] = { 't', 0xC3, 0xB5, 'i' };
+static const symbol s_10_250[5] = { 't', 0xC3, 0xB5, 'i', 'd' };
+static const symbol s_10_251[6] = { 't', 0xC3, 0xB5, 'i', 'm', 'e' };
+static const symbol s_10_252[5] = { 't', 0xC3, 0xB5, 'i', 'n' };
+static const symbol s_10_253[6] = { 't', 0xC3, 0xB5, 'i', 't', 'e' };
+static const symbol s_10_254[4] = { 'v', 'i', 'i', 'a' };
+static const symbol s_10_255[7] = { 'v', 'i', 'i', 'a', 'k', 's', 'e' };
+static const symbol s_10_256[4] = { 'v', 'i', 'i', 'b' };
+static const symbol s_10_257[4] = { 'v', 'i', 'i', 'd' };
+static const symbol s_10_258[5] = { 'v', 'i', 'i', 'd', 'i' };
+static const symbol s_10_259[5] = { 'v', 'i', 'i', 'k', 's' };
+static const symbol s_10_260[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'd' };
+static const symbol s_10_261[8] = { 'v', 'i', 'i', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_262[7] = { 'v', 'i', 'i', 'k', 's', 'i', 'n' };
+static const symbol s_10_263[8] = { 'v', 'i', 'i', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_264[5] = { 'v', 'i', 'i', 'm', 'a' };
+static const symbol s_10_265[7] = { 'v', 'i', 'i', 'm', 'a', 't', 'a' };
+static const symbol s_10_266[5] = { 'v', 'i', 'i', 'm', 'e' };
+static const symbol s_10_267[4] = { 'v', 'i', 'i', 'n' };
+static const symbol s_10_268[7] = { 'v', 'i', 'i', 's', 'i', 'm', 'e' };
+static const symbol s_10_269[6] = { 'v', 'i', 'i', 's', 'i', 'n' };
+static const symbol s_10_270[7] = { 'v', 'i', 'i', 's', 'i', 't', 'e' };
+static const symbol s_10_271[5] = { 'v', 'i', 'i', 't', 'e' };
+static const symbol s_10_272[6] = { 'v', 'i', 'i', 'v', 'a', 'd' };
+static const symbol s_10_273[5] = { 'v', 0xC3, 0xB5, 'i', 'b' };
+static const symbol s_10_274[5] = { 'v', 0xC3, 0xB5, 'i', 'd' };
+static const symbol s_10_275[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a' };
+static const symbol s_10_276[9] = { 'v', 0xC3, 0xB5, 'i', 'd', 'a', 'k', 's', 'e' };
+static const symbol s_10_277[6] = { 'v', 0xC3, 0xB5, 'i', 'd', 'i' };
+static const symbol s_10_278[6] = { 'v', 0xC3, 0xB5, 'i', 'k', 's' };
+static const symbol s_10_279[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'd' };
+static const symbol s_10_280[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'm', 'e' };
+static const symbol s_10_281[8] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 'n' };
+static const symbol s_10_282[9] = { 'v', 0xC3, 0xB5, 'i', 'k', 's', 'i', 't', 'e' };
+static const symbol s_10_283[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a' };
+static const symbol s_10_284[8] = { 'v', 0xC3, 0xB5, 'i', 'm', 'a', 't', 'a' };
+static const symbol s_10_285[6] = { 'v', 0xC3, 0xB5, 'i', 'm', 'e' };
+static const symbol s_10_286[5] = { 'v', 0xC3, 0xB5, 'i', 'n' };
+static const symbol s_10_287[5] = { 'v', 0xC3, 0xB5, 'i', 's' };
+static const symbol s_10_288[6] = { 'v', 0xC3, 0xB5, 'i', 't', 'e' };
+static const symbol s_10_289[7] = { 'v', 0xC3, 0xB5, 'i', 'v', 'a', 'd' };
+static const struct among a_10[290] = {
+{ 4, s_10_0, 0, 1, 0},
+{ 4, s_10_1, 0, 1, 0},
+{ 8, s_10_2, -1, 1, 0},
+{ 5, s_10_3, 0, 1, 0},
+{ 7, s_10_4, -1, 1, 0},
+{ 5, s_10_5, 0, 1, 0},
+{ 4, s_10_6, 0, 1, 0},
+{ 5, s_10_7, 0, 1, 0},
+{ 6, s_10_8, 0, 1, 0},
+{ 4, s_10_9, 0, 1, 0},
+{ 7, s_10_10, -1, 1, 0},
+{ 4, s_10_11, 0, 12, 0},
+{ 5, s_10_12, -1, 12, 0},
+{ 6, s_10_13, -2, 12, 0},
+{ 5, s_10_14, -3, 12, 0},
+{ 6, s_10_15, -4, 12, 0},
+{ 6, s_10_16, 0, 12, 0},
+{ 6, s_10_17, 0, 12, 0},
+{ 7, s_10_18, -1, 12, 0},
+{ 10, s_10_19, -1, 12, 0},
+{ 7, s_10_20, -3, 12, 0},
+{ 7, s_10_21, 0, 12, 0},
+{ 9, s_10_22, -1, 12, 0},
+{ 10, s_10_23, -2, 12, 0},
+{ 9, s_10_24, -3, 12, 0},
+{ 10, s_10_25, -4, 12, 0},
+{ 7, s_10_26, 0, 12, 0},
+{ 9, s_10_27, -1, 12, 0},
+{ 7, s_10_28, 0, 12, 0},
+{ 6, s_10_29, 0, 12, 0},
+{ 7, s_10_30, 0, 12, 0},
+{ 8, s_10_31, 0, 12, 0},
+{ 4, s_10_32, 0, 1, 0},
+{ 5, s_10_33, -1, 1, 0},
+{ 6, s_10_34, -2, 1, 0},
+{ 5, s_10_35, -3, 1, 0},
+{ 6, s_10_36, -4, 1, 0},
+{ 4, s_10_37, 0, 4, 0},
+{ 4, s_10_38, 0, 4, 0},
+{ 8, s_10_39, -1, 4, 0},
+{ 5, s_10_40, 0, 4, 0},
+{ 7, s_10_41, -1, 4, 0},
+{ 8, s_10_42, -2, 4, 0},
+{ 7, s_10_43, -3, 4, 0},
+{ 8, s_10_44, -4, 4, 0},
+{ 5, s_10_45, 0, 4, 0},
+{ 7, s_10_46, -1, 4, 0},
+{ 5, s_10_47, 0, 4, 0},
+{ 4, s_10_48, 0, 4, 0},
+{ 4, s_10_49, 0, 4, 0},
+{ 5, s_10_50, 0, 4, 0},
+{ 5, s_10_51, 0, 4, 0},
+{ 6, s_10_52, 0, 4, 0},
+{ 5, s_10_53, 0, 8, 0},
+{ 8, s_10_54, -1, 8, 0},
+{ 5, s_10_55, 0, 8, 0},
+{ 5, s_10_56, 0, 8, 0},
+{ 6, s_10_57, -1, 8, 0},
+{ 6, s_10_58, 0, 8, 0},
+{ 8, s_10_59, -1, 8, 0},
+{ 9, s_10_60, -2, 8, 0},
+{ 8, s_10_61, -3, 8, 0},
+{ 9, s_10_62, -4, 8, 0},
+{ 6, s_10_63, 0, 8, 0},
+{ 8, s_10_64, -1, 8, 0},
+{ 6, s_10_65, 0, 8, 0},
+{ 5, s_10_66, 0, 8, 0},
+{ 5, s_10_67, 0, 8, 0},
+{ 6, s_10_68, 0, 8, 0},
+{ 7, s_10_69, 0, 8, 0},
+{ 4, s_10_70, 0, 16, 0},
+{ 4, s_10_71, 0, 16, 0},
+{ 5, s_10_72, 0, 16, 0},
+{ 7, s_10_73, -1, 16, 0},
+{ 8, s_10_74, -2, 16, 0},
+{ 7, s_10_75, -3, 16, 0},
+{ 8, s_10_76, -4, 16, 0},
+{ 5, s_10_77, 0, 16, 0},
+{ 4, s_10_78, 0, 16, 0},
+{ 5, s_10_79, 0, 16, 0},
+{ 6, s_10_80, 0, 16, 0},
+{ 4, s_10_81, 0, 14, 0},
+{ 4, s_10_82, 0, 14, 0},
+{ 5, s_10_83, 0, 14, 0},
+{ 7, s_10_84, -1, 14, 0},
+{ 8, s_10_85, -2, 14, 0},
+{ 7, s_10_86, -3, 14, 0},
+{ 8, s_10_87, -4, 14, 0},
+{ 5, s_10_88, 0, 14, 0},
+{ 4, s_10_89, 0, 14, 0},
+{ 5, s_10_90, 0, 14, 0},
+{ 6, s_10_91, 0, 14, 0},
+{ 4, s_10_92, 0, 7, 0},
+{ 4, s_10_93, 0, 7, 0},
+{ 5, s_10_94, -1, 7, 0},
+{ 5, s_10_95, 0, 7, 0},
+{ 7, s_10_96, -1, 7, 0},
+{ 8, s_10_97, -2, 7, 0},
+{ 7, s_10_98, -3, 7, 0},
+{ 8, s_10_99, -4, 7, 0},
+{ 5, s_10_100, 0, 7, 0},
+{ 7, s_10_101, -1, 7, 0},
+{ 5, s_10_102, 0, 7, 0},
+{ 4, s_10_103, 0, 7, 0},
+{ 5, s_10_104, 0, 7, 0},
+{ 6, s_10_105, 0, 7, 0},
+{ 4, s_10_106, 0, 7, 0},
+{ 7, s_10_107, -1, 7, 0},
+{ 4, s_10_108, 0, 6, 0},
+{ 5, s_10_109, -1, 6, 0},
+{ 6, s_10_110, -2, 6, 0},
+{ 5, s_10_111, -3, 6, 0},
+{ 6, s_10_112, -4, 6, 0},
+{ 6, s_10_113, 0, 5, 0},
+{ 6, s_10_114, 0, 5, 0},
+{ 10, s_10_115, -1, 5, 0},
+{ 7, s_10_116, -2, 5, 0},
+{ 7, s_10_117, 0, 5, 0},
+{ 9, s_10_118, -1, 5, 0},
+{ 10, s_10_119, -2, 5, 0},
+{ 9, s_10_120, -3, 5, 0},
+{ 10, s_10_121, -4, 5, 0},
+{ 7, s_10_122, 0, 5, 0},
+{ 9, s_10_123, -1, 5, 0},
+{ 7, s_10_124, 0, 5, 0},
+{ 6, s_10_125, 0, 5, 0},
+{ 7, s_10_126, 0, 5, 0},
+{ 8, s_10_127, 0, 5, 0},
+{ 6, s_10_128, 0, 5, 0},
+{ 9, s_10_129, -1, 5, 0},
+{ 6, s_10_130, 0, 13, 0},
+{ 9, s_10_131, -1, 13, 0},
+{ 6, s_10_132, 0, 13, 0},
+{ 6, s_10_133, 0, 13, 0},
+{ 7, s_10_134, -1, 13, 0},
+{ 7, s_10_135, 0, 13, 0},
+{ 9, s_10_136, -1, 13, 0},
+{ 10, s_10_137, -2, 13, 0},
+{ 9, s_10_138, -3, 13, 0},
+{ 10, s_10_139, -4, 13, 0},
+{ 7, s_10_140, 0, 13, 0},
+{ 9, s_10_141, -1, 13, 0},
+{ 7, s_10_142, 0, 13, 0},
+{ 6, s_10_143, 0, 13, 0},
+{ 6, s_10_144, 0, 13, 0},
+{ 7, s_10_145, 0, 13, 0},
+{ 8, s_10_146, 0, 13, 0},
+{ 5, s_10_147, 0, 18, 0},
+{ 5, s_10_148, 0, 18, 0},
+{ 6, s_10_149, 0, 18, 0},
+{ 8, s_10_150, -1, 18, 0},
+{ 9, s_10_151, -2, 18, 0},
+{ 8, s_10_152, -3, 18, 0},
+{ 9, s_10_153, -4, 18, 0},
+{ 6, s_10_154, 0, 18, 0},
+{ 5, s_10_155, 0, 18, 0},
+{ 6, s_10_156, 0, 18, 0},
+{ 7, s_10_157, 0, 18, 0},
+{ 7, s_10_158, 0, 18, 0},
+{ 9, s_10_159, -1, 18, 0},
+{ 5, s_10_160, 0, 18, 0},
+{ 8, s_10_161, -1, 18, 0},
+{ 6, s_10_162, 0, 18, 0},
+{ 5, s_10_163, 0, 15, 0},
+{ 5, s_10_164, 0, 15, 0},
+{ 6, s_10_165, 0, 15, 0},
+{ 8, s_10_166, -1, 15, 0},
+{ 9, s_10_167, -2, 15, 0},
+{ 8, s_10_168, -3, 15, 0},
+{ 9, s_10_169, -4, 15, 0},
+{ 6, s_10_170, 0, 15, 0},
+{ 5, s_10_171, 0, 15, 0},
+{ 6, s_10_172, 0, 15, 0},
+{ 7, s_10_173, 0, 15, 0},
+{ 4, s_10_174, 0, 2, 0},
+{ 4, s_10_175, 0, 2, 0},
+{ 5, s_10_176, -1, 2, 0},
+{ 8, s_10_177, -1, 2, 0},
+{ 5, s_10_178, -3, 2, 0},
+{ 5, s_10_179, 0, 2, 0},
+{ 7, s_10_180, -1, 2, 0},
+{ 8, s_10_181, -2, 2, 0},
+{ 7, s_10_182, -3, 2, 0},
+{ 8, s_10_183, -4, 2, 0},
+{ 5, s_10_184, 0, 2, 0},
+{ 7, s_10_185, -1, 2, 0},
+{ 5, s_10_186, 0, 2, 0},
+{ 4, s_10_187, 0, 2, 0},
+{ 5, s_10_188, 0, 2, 0},
+{ 6, s_10_189, 0, 2, 0},
+{ 3, s_10_190, 0, 2, 0},
+{ 4, s_10_191, -1, 2, 0},
+{ 5, s_10_192, -2, 2, 0},
+{ 4, s_10_193, -3, 2, 0},
+{ 5, s_10_194, -4, 2, 0},
+{ 4, s_10_195, 0, 9, 0},
+{ 5, s_10_196, -1, 9, 0},
+{ 6, s_10_197, -2, 9, 0},
+{ 5, s_10_198, -3, 9, 0},
+{ 6, s_10_199, -4, 9, 0},
+{ 6, s_10_200, 0, 9, 0},
+{ 6, s_10_201, 0, 9, 0},
+{ 10, s_10_202, -1, 9, 0},
+{ 7, s_10_203, -2, 9, 0},
+{ 7, s_10_204, 0, 9, 0},
+{ 9, s_10_205, -1, 9, 0},
+{ 10, s_10_206, -2, 9, 0},
+{ 9, s_10_207, -3, 9, 0},
+{ 10, s_10_208, -4, 9, 0},
+{ 7, s_10_209, 0, 9, 0},
+{ 9, s_10_210, -1, 9, 0},
+{ 7, s_10_211, 0, 9, 0},
+{ 6, s_10_212, 0, 9, 0},
+{ 7, s_10_213, 0, 9, 0},
+{ 8, s_10_214, 0, 9, 0},
+{ 6, s_10_215, 0, 9, 0},
+{ 9, s_10_216, -1, 9, 0},
+{ 4, s_10_217, 0, 17, 0},
+{ 4, s_10_218, 0, 17, 0},
+{ 5, s_10_219, 0, 17, 0},
+{ 7, s_10_220, -1, 17, 0},
+{ 8, s_10_221, -2, 17, 0},
+{ 7, s_10_222, -3, 17, 0},
+{ 8, s_10_223, -4, 17, 0},
+{ 5, s_10_224, 0, 17, 0},
+{ 4, s_10_225, 0, 17, 0},
+{ 5, s_10_226, 0, 17, 0},
+{ 6, s_10_227, 0, 17, 0},
+{ 6, s_10_228, 0, 17, 0},
+{ 8, s_10_229, -1, 17, 0},
+{ 4, s_10_230, 0, 17, 0},
+{ 7, s_10_231, -1, 17, 0},
+{ 5, s_10_232, 0, 17, 0},
+{ 4, s_10_233, 0, 10, 0},
+{ 4, s_10_234, 0, 10, 0},
+{ 5, s_10_235, -1, 10, 0},
+{ 5, s_10_236, 0, 10, 0},
+{ 7, s_10_237, -1, 10, 0},
+{ 8, s_10_238, -2, 10, 0},
+{ 7, s_10_239, -3, 10, 0},
+{ 8, s_10_240, -4, 10, 0},
+{ 5, s_10_241, 0, 10, 0},
+{ 7, s_10_242, -1, 10, 0},
+{ 5, s_10_243, 0, 10, 0},
+{ 4, s_10_244, 0, 10, 0},
+{ 5, s_10_245, 0, 10, 0},
+{ 6, s_10_246, 0, 10, 0},
+{ 4, s_10_247, 0, 10, 0},
+{ 7, s_10_248, -1, 10, 0},
+{ 4, s_10_249, 0, 10, 0},
+{ 5, s_10_250, -1, 10, 0},
+{ 6, s_10_251, -2, 10, 0},
+{ 5, s_10_252, -3, 10, 0},
+{ 6, s_10_253, -4, 10, 0},
+{ 4, s_10_254, 0, 3, 0},
+{ 7, s_10_255, -1, 3, 0},
+{ 4, s_10_256, 0, 3, 0},
+{ 4, s_10_257, 0, 3, 0},
+{ 5, s_10_258, -1, 3, 0},
+{ 5, s_10_259, 0, 3, 0},
+{ 7, s_10_260, -1, 3, 0},
+{ 8, s_10_261, -2, 3, 0},
+{ 7, s_10_262, -3, 3, 0},
+{ 8, s_10_263, -4, 3, 0},
+{ 5, s_10_264, 0, 3, 0},
+{ 7, s_10_265, -1, 3, 0},
+{ 5, s_10_266, 0, 3, 0},
+{ 4, s_10_267, 0, 3, 0},
+{ 7, s_10_268, 0, 3, 0},
+{ 6, s_10_269, 0, 3, 0},
+{ 7, s_10_270, 0, 3, 0},
+{ 5, s_10_271, 0, 3, 0},
+{ 6, s_10_272, 0, 3, 0},
+{ 5, s_10_273, 0, 11, 0},
+{ 5, s_10_274, 0, 11, 0},
+{ 6, s_10_275, -1, 11, 0},
+{ 9, s_10_276, -1, 11, 0},
+{ 6, s_10_277, -3, 11, 0},
+{ 6, s_10_278, 0, 11, 0},
+{ 8, s_10_279, -1, 11, 0},
+{ 9, s_10_280, -2, 11, 0},
+{ 8, s_10_281, -3, 11, 0},
+{ 9, s_10_282, -4, 11, 0},
+{ 6, s_10_283, 0, 11, 0},
+{ 8, s_10_284, -1, 11, 0},
+{ 6, s_10_285, 0, 11, 0},
+{ 5, s_10_286, 0, 11, 0},
+{ 5, s_10_287, 0, 11, 0},
+{ 6, s_10_288, 0, 11, 0},
+{ 7, s_10_289, 0, 11, 0}
 };
 
 static const unsigned char g_V1[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
@@ -835,91 +836,71 @@ static const unsigned char g_KI[] = { 117, 66, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
 static const unsigned char g_GI[] = { 21, 123, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 48, 8 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'l', 'a', 's', 'e' };
-static const symbol s_2[] = { 'm', 'i', 's', 'e' };
-static const symbol s_3[] = { 'l', 'i', 's', 'e' };
-static const symbol s_4[] = { 'i', 'k', 'u' };
-static const symbol s_5[] = { 'e' };
-static const symbol s_6[] = { 't' };
-static const symbol s_7[] = { 'k' };
-static const symbol s_8[] = { 'p' };
-static const symbol s_9[] = { 't' };
-static const symbol s_10[] = { 'j', 'o', 'o' };
-static const symbol s_11[] = { 's', 'a', 'a' };
-static const symbol s_12[] = { 'v', 'i', 'i', 'm', 'a' };
-static const symbol s_13[] = { 'k', 'e', 'e', 's', 'i' };
-static const symbol s_14[] = { 'l', 0xC3, 0xB6, 0xC3, 0xB6 };
-static const symbol s_15[] = { 'l', 0xC3, 0xB5, 'i' };
-static const symbol s_16[] = { 'l', 'o', 'o' };
-static const symbol s_17[] = { 'k', 0xC3, 0xA4, 'i', 's', 'i' };
-static const symbol s_18[] = { 's', 0xC3, 0xB6, 0xC3, 0xB6 };
-static const symbol s_19[] = { 't', 'o', 'o' };
-static const symbol s_20[] = { 'v', 0xC3, 0xB5, 'i', 's', 'i' };
-static const symbol s_21[] = { 'j', 0xC3, 0xA4, 0xC3, 0xA4, 'm', 'a' };
-static const symbol s_22[] = { 'm', 0xC3, 0xBC, 0xC3, 0xBC, 's', 'i' };
-static const symbol s_23[] = { 'l', 'u', 'g', 'e' };
-static const symbol s_24[] = { 'p', 0xC3, 0xB5, 'd', 'e' };
-static const symbol s_25[] = { 'l', 'a', 'd', 'u' };
-static const symbol s_26[] = { 't', 'e', 'g', 'i' };
-static const symbol s_27[] = { 'n', 0xC3, 0xA4, 'g', 'i' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[0] = z->l;
-
-    if (out_grouping_U(z, g_V1, 97, 252, 1) < 0) return 0;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int ret = out_grouping_U(z, g_V1, 97, 252, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
     {
         int ret = in_grouping_U(z, g_V1, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[0] = z->c;
+    ((SN_local *)z)->i_p1 = z->c;
     return 1;
 }
 
 static int r_emphasis(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_0, 2);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] != 105) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_0, 2, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int m_test2 = z->l - z->c;
-        {   int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->c = z->l - m_test2;
+        z->c = z->l - v_2;
     }
     switch (among_var) {
         case 1:
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 if (in_grouping_b_U(z, g_GI, 97, 252, 0)) return 0;
-                z->c = z->l - m3;
-                {   int m4 = z->l - z->c; (void)m4;
-                    {   int ret = r_LONGV(z);
+                z->c = z->l - v_3;
+                {
+                    int v_4 = z->l - z->c;
+                    {
+                        int ret = r_LONGV(z);
                         if (ret == 0) goto lab0;
                         if (ret < 0) return ret;
                     }
                     return 0;
                 lab0:
-                    z->c = z->l - m4;
+                    z->c = z->l - v_4;
                 }
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (in_grouping_b_U(z, g_KI, 98, 382, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -929,31 +910,34 @@ static int r_emphasis(struct SN_env * z) {
 
 static int r_verb(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540726 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_1, 21);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((540726 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_1, 21, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -962,23 +946,23 @@ static int r_verb(struct SN_env * z) {
 }
 
 static int r_LONGV(struct SN_env * z) {
-    if (!find_among_b(z, a_2, 9)) return 0;
-    return 1;
+    return find_among_b(z, a_2, 9, 0) != 0;
 }
 
 static int r_i_plural(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 105) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_3, 1)) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->lb = v_1; return 0; }
+        z->c--;
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -986,30 +970,33 @@ static int r_i_plural(struct SN_env * z) {
 
 static int r_special_noun_endings(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1049120 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_4, 12);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1049120 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_3, 12, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_1);
+            {
+                int ret = slice_from_s(z, 4, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_2);
+            {
+                int ret = slice_from_s(z, 4, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_3);
+            {
+                int ret = slice_from_s(z, 4, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -1019,41 +1006,45 @@ static int r_special_noun_endings(struct SN_env * z) {
 
 static int r_case_ending(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1576994 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_5, 10);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1576994 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_4, 10, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
-                if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab1;
-                goto lab0;
-            lab1:
-                z->c = z->l - m2;
-                {   int ret = r_LONGV(z);
+            do {
+                int v_2 = z->l - z->c;
+                if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_2;
+                {
+                    int ret = r_LONGV(z);
                     if (ret <= 0) return ret;
                 }
-            }
-        lab0:
+            } while (0);
             break;
         case 2:
-            {   int m_test3 = z->l - z->c;
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
+            {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
                     if (ret < 0) return 0;
                     z->c = ret;
                 }
-                z->c = z->l - m_test3;
+                z->c = z->l - v_3;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1061,81 +1052,92 @@ static int r_case_ending(struct SN_env * z) {
 
 static int r_plural_three_first_cases(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 101)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_7, 7);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 101)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_6, 7, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_4);
+            {
+                int ret = slice_from_s(z, 3, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m2 = z->l - z->c; (void)m2;
-                {   int ret = r_LONGV(z);
+            {
+                int v_2 = z->l - z->c;
+                {
+                    int ret = r_LONGV(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
                 return 0;
             lab0:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int m_test4 = z->l - z->c;
-                    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
-                        if (ret < 0) goto lab2;
+            do {
+                int v_3 = z->l - z->c;
+                {
+                    int v_4 = z->l - z->c;
+                    {
+                        int ret = skip_b_utf8(z->p, z->c, z->lb, 4);
+                        if (ret < 0) goto lab1;
                         z->c = ret;
                     }
-                    z->c = z->l - m_test4;
+                    z->c = z->l - v_4;
                 }
                 if (z->c <= z->lb || (z->p[z->c - 1] != 115 && z->p[z->c - 1] != 116)) among_var = 2; else
-                among_var = find_among_b(z, a_6, 5);
+                among_var = find_among_b(z, a_5, 5, 0);
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 1, s_5);
+                        {
+                            int ret = slice_from_s(z, 1, s_5);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                goto lab1;
-            lab2:
-                z->c = z->l - m3;
-                {   int ret = slice_from_s(z, 1, s_6);
+                break;
+            lab1:
+                z->c = z->l - v_3;
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
-            }
-        lab1:
+            } while (0);
             break;
         case 4:
-            {   int m5 = z->l - z->c; (void)m5;
-                if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab4;
-                goto lab3;
-            lab4:
-                z->c = z->l - m5;
-                {   int ret = r_LONGV(z);
+            do {
+                int v_5 = z->l - z->c;
+                if (in_grouping_b_U(z, g_RV, 97, 117, 0)) goto lab2;
+                break;
+            lab2:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_LONGV(z);
                     if (ret <= 0) return ret;
                 }
-            }
-        lab3:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1144,17 +1146,18 @@ static int r_plural_three_first_cases(struct SN_env * z) {
 }
 
 static int r_nu(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_8, 4)) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) { z->lb = v_1; return 0; }
+        if (!find_among_b(z, a_7, 4, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1163,25 +1166,28 @@ static int r_nu(struct SN_env * z) {
 static int r_undouble_kpt(struct SN_env * z) {
     int among_var;
     if (in_grouping_b_U(z, g_V1, 97, 252, 0)) return 0;
-    if (z->I[0] > z->c) return 0;
+    if (((SN_local *)z)->i_p1 > z->c) return 0;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1116160 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_9, 3);
+    among_var = find_among_b(z, a_8, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_9);
+            {
+                int ret = slice_from_s(z, 1, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -1191,26 +1197,28 @@ static int r_undouble_kpt(struct SN_env * z) {
 
 static int r_degrees(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((8706 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_10, 3);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((8706 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_9, 3, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
             if (in_grouping_b_U(z, g_RV, 97, 117, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1219,41 +1227,53 @@ static int r_degrees(struct SN_env * z) {
 }
 
 static int r_substantive(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_special_noun_endings(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_special_noun_endings(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_case_ending(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_case_ending(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_plural_three_first_cases(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_plural_three_first_cases(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_degrees(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_degrees(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_i_plural(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_i_plural(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_nu(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_nu(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
     return 1;
 }
@@ -1261,98 +1281,116 @@ static int r_substantive(struct SN_env * z) {
 static int r_verb_exceptions(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
-    among_var = find_among(z, a_11, 290);
+    among_var = find_among(z, a_10, 290, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     if (z->c < z->l) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_10);
+            {
+                int ret = slice_from_s(z, 3, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_11);
+            {
+                int ret = slice_from_s(z, 3, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 5, s_12);
+            {
+                int ret = slice_from_s(z, 5, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 5, s_13);
+            {
+                int ret = slice_from_s(z, 5, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 5, s_14);
+            {
+                int ret = slice_from_s(z, 5, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 4, s_15);
+            {
+                int ret = slice_from_s(z, 4, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 3, s_16);
+            {
+                int ret = slice_from_s(z, 3, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 6, s_17);
+            {
+                int ret = slice_from_s(z, 6, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 5, s_18);
+            {
+                int ret = slice_from_s(z, 5, s_18);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 3, s_19);
+            {
+                int ret = slice_from_s(z, 3, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 6, s_20);
+            {
+                int ret = slice_from_s(z, 6, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 7, s_21);
+            {
+                int ret = slice_from_s(z, 7, s_21);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            {   int ret = slice_from_s(z, 7, s_22);
+            {
+                int ret = slice_from_s(z, 7, s_22);
                 if (ret < 0) return ret;
             }
             break;
         case 14:
-            {   int ret = slice_from_s(z, 4, s_23);
+            {
+                int ret = slice_from_s(z, 4, s_23);
                 if (ret < 0) return ret;
             }
             break;
         case 15:
-            {   int ret = slice_from_s(z, 5, s_24);
+            {
+                int ret = slice_from_s(z, 5, s_24);
                 if (ret < 0) return ret;
             }
             break;
         case 16:
-            {   int ret = slice_from_s(z, 4, s_25);
+            {
+                int ret = slice_from_s(z, 4, s_25);
                 if (ret < 0) return ret;
             }
             break;
         case 17:
-            {   int ret = slice_from_s(z, 4, s_26);
+            {
+                int ret = slice_from_s(z, 4, s_26);
                 if (ret < 0) return ret;
             }
             break;
         case 18:
-            {   int ret = slice_from_s(z, 5, s_27);
+            {
+                int ret = slice_from_s(z, 5, s_27);
                 if (ret < 0) return ret;
             }
             break;
@@ -1361,56 +1399,74 @@ static int r_verb_exceptions(struct SN_env * z) {
 }
 
 extern int estonian_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_verb_exceptions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_verb_exceptions(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         return 0;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_emphasis(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_emphasis(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int m5 = z->l - z->c; (void)m5;
-            {   int ret = r_verb(z);
-                if (ret == 0) goto lab3;
+    {
+        int v_4 = z->l - z->c;
+        do {
+            int v_5 = z->l - z->c;
+            {
+                int ret = r_verb(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            goto lab2;
-        lab3:
-            z->c = z->l - m5;
-            {   int ret = r_substantive(z);
+            break;
+        lab2:
+            z->c = z->l - v_5;
+            {
+                int ret = r_substantive(z);
                 if (ret < 0) return ret;
             }
-        }
-    lab2:
-        z->c = z->l - m4;
+        } while (0);
+        z->c = z->l - v_4;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_undouble_kpt(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_undouble_kpt(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * estonian_UTF_8_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * estonian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void estonian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void estonian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index bd8f9520fa8477e5664b3a46ad7bc1ea969d47a5..8590d30f38c4d18098f7a8d843a150e3072b5d00 100644 (file)
@@ -1,6 +1,20 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from finnish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_finnish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    unsigned char b_ending_removed;
+    symbol * s_x;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +23,7 @@ extern int finnish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_tidy(struct SN_env * z);
 static int r_other_endings(struct SN_env * z);
 static int r_t_plural(struct SN_env * z);
@@ -20,18 +35,15 @@ static int r_possessive(struct SN_env * z);
 static int r_particle_etc(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * finnish_UTF_8_create_env(void);
-extern void finnish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'k', 's', 'e' };
+static const symbol s_1[] = { 'k', 's', 'i' };
+static const symbol s_2[] = { 0xC3, 0xA4 };
+static const symbol s_3[] = { 0xC3, 0xB6 };
+static const symbol s_4[] = { 'i', 'e' };
+static const symbol s_5[] = { 'p', 'o' };
+static const symbol s_6[] = { 'p', 'o' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 'p', 'a' };
 static const symbol s_0_1[3] = { 's', 't', 'i' };
 static const symbol s_0_2[4] = { 'k', 'a', 'a', 'n' };
@@ -42,19 +54,17 @@ static const symbol s_0_6[6] = { 'k', 0xC3, 0xA4, 0xC3, 0xA4, 'n' };
 static const symbol s_0_7[2] = { 'k', 'o' };
 static const symbol s_0_8[3] = { 'p', 0xC3, 0xA4 };
 static const symbol s_0_9[3] = { 'k', 0xC3, 0xB6 };
-
-static const struct among a_0[10] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 3, s_0_1, -1, 2, 0},
-{ 4, s_0_2, -1, 1, 0},
-{ 3, s_0_3, -1, 1, 0},
-{ 3, s_0_4, -1, 1, 0},
-{ 4, s_0_5, -1, 1, 0},
-{ 6, s_0_6, -1, 1, 0},
-{ 2, s_0_7, -1, 1, 0},
-{ 3, s_0_8, -1, 1, 0},
-{ 3, s_0_9, -1, 1, 0}
+static const struct among a_0[10] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 2, 0},
+{ 4, s_0_2, 0, 1, 0},
+{ 3, s_0_3, 0, 1, 0},
+{ 3, s_0_4, 0, 1, 0},
+{ 4, s_0_5, 0, 1, 0},
+{ 6, s_0_6, 0, 1, 0},
+{ 2, s_0_7, 0, 1, 0},
+{ 3, s_0_8, 0, 1, 0},
+{ 3, s_0_9, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'l', 'l', 'a' };
@@ -63,15 +73,13 @@ static const symbol s_1_2[3] = { 's', 's', 'a' };
 static const symbol s_1_3[2] = { 't', 'a' };
 static const symbol s_1_4[3] = { 'l', 't', 'a' };
 static const symbol s_1_5[3] = { 's', 't', 'a' };
-
-static const struct among a_1[6] =
-{
-{ 3, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 3, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 3, s_1_4, 3, -1, 0},
-{ 3, s_1_5, 3, -1, 0}
+static const struct among a_1[6] = {
+{ 3, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 3, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 3, s_1_4, -1, -1, 0},
+{ 3, s_1_5, -2, -1, 0}
 };
 
 static const symbol s_2_0[4] = { 'l', 'l', 0xC3, 0xA4 };
@@ -80,24 +88,20 @@ static const symbol s_2_2[4] = { 's', 's', 0xC3, 0xA4 };
 static const symbol s_2_3[3] = { 't', 0xC3, 0xA4 };
 static const symbol s_2_4[4] = { 'l', 't', 0xC3, 0xA4 };
 static const symbol s_2_5[4] = { 's', 't', 0xC3, 0xA4 };
-
-static const struct among a_2[6] =
-{
-{ 4, s_2_0, -1, -1, 0},
-{ 3, s_2_1, -1, -1, 0},
-{ 4, s_2_2, -1, -1, 0},
-{ 3, s_2_3, -1, -1, 0},
-{ 4, s_2_4, 3, -1, 0},
-{ 4, s_2_5, 3, -1, 0}
+static const struct among a_2[6] = {
+{ 4, s_2_0, 0, -1, 0},
+{ 3, s_2_1, 0, -1, 0},
+{ 4, s_2_2, 0, -1, 0},
+{ 3, s_2_3, 0, -1, 0},
+{ 4, s_2_4, -1, -1, 0},
+{ 4, s_2_5, -2, -1, 0}
 };
 
 static const symbol s_3_0[3] = { 'l', 'l', 'e' };
 static const symbol s_3_1[3] = { 'i', 'n', 'e' };
-
-static const struct among a_3[2] =
-{
-{ 3, s_3_0, -1, -1, 0},
-{ 3, s_3_1, -1, -1, 0}
+static const struct among a_3[2] = {
+{ 3, s_3_0, 0, -1, 0},
+{ 3, s_3_1, 0, -1, 0}
 };
 
 static const symbol s_4_0[3] = { 'n', 's', 'a' };
@@ -109,18 +113,16 @@ static const symbol s_4_5[2] = { 'a', 'n' };
 static const symbol s_4_6[2] = { 'e', 'n' };
 static const symbol s_4_7[3] = { 0xC3, 0xA4, 'n' };
 static const symbol s_4_8[4] = { 'n', 's', 0xC3, 0xA4 };
-
-static const struct among a_4[9] =
-{
-{ 3, s_4_0, -1, 3, 0},
-{ 3, s_4_1, -1, 3, 0},
-{ 3, s_4_2, -1, 3, 0},
-{ 2, s_4_3, -1, 2, 0},
-{ 2, s_4_4, -1, 1, 0},
-{ 2, s_4_5, -1, 4, 0},
-{ 2, s_4_6, -1, 6, 0},
-{ 3, s_4_7, -1, 5, 0},
-{ 4, s_4_8, -1, 3, 0}
+static const struct among a_4[9] = {
+{ 3, s_4_0, 0, 3, 0},
+{ 3, s_4_1, 0, 3, 0},
+{ 3, s_4_2, 0, 3, 0},
+{ 2, s_4_3, 0, 2, 0},
+{ 2, s_4_4, 0, 1, 0},
+{ 2, s_4_5, 0, 4, 0},
+{ 2, s_4_6, 0, 6, 0},
+{ 3, s_4_7, 0, 5, 0},
+{ 4, s_4_8, 0, 3, 0}
 };
 
 static const symbol s_5_0[2] = { 'a', 'a' };
@@ -130,16 +132,14 @@ static const symbol s_5_3[2] = { 'o', 'o' };
 static const symbol s_5_4[2] = { 'u', 'u' };
 static const symbol s_5_5[4] = { 0xC3, 0xA4, 0xC3, 0xA4 };
 static const symbol s_5_6[4] = { 0xC3, 0xB6, 0xC3, 0xB6 };
-
-static const struct among a_5[7] =
-{
-{ 2, s_5_0, -1, -1, 0},
-{ 2, s_5_1, -1, -1, 0},
-{ 2, s_5_2, -1, -1, 0},
-{ 2, s_5_3, -1, -1, 0},
-{ 2, s_5_4, -1, -1, 0},
-{ 4, s_5_5, -1, -1, 0},
-{ 4, s_5_6, -1, -1, 0}
+static const struct among a_5[7] = {
+{ 2, s_5_0, 0, -1, 0},
+{ 2, s_5_1, 0, -1, 0},
+{ 2, s_5_2, 0, -1, 0},
+{ 2, s_5_3, 0, -1, 0},
+{ 2, s_5_4, 0, -1, 0},
+{ 4, s_5_5, 0, -1, 0},
+{ 4, s_5_6, 0, -1, 0}
 };
 
 static const symbol s_6_0[1] = { 'a' };
@@ -172,41 +172,47 @@ static const symbol s_6_26[3] = { 't', 0xC3, 0xA4 };
 static const symbol s_6_27[4] = { 'l', 't', 0xC3, 0xA4 };
 static const symbol s_6_28[4] = { 's', 't', 0xC3, 0xA4 };
 static const symbol s_6_29[4] = { 't', 't', 0xC3, 0xA4 };
-
-static const struct among a_6[30] =
-{
-{ 1, s_6_0, -1, 8, 0},
-{ 3, s_6_1, 0, -1, 0},
-{ 2, s_6_2, 0, -1, 0},
-{ 3, s_6_3, 0, -1, 0},
-{ 2, s_6_4, 0, -1, 0},
-{ 3, s_6_5, 4, -1, 0},
-{ 3, s_6_6, 4, -1, 0},
-{ 3, s_6_7, 4, 2, 0},
-{ 3, s_6_8, -1, -1, 0},
-{ 3, s_6_9, -1, -1, 0},
-{ 3, s_6_10, -1, -1, 0},
-{ 1, s_6_11, -1, 7, 0},
-{ 3, s_6_12, 11, 1, 0},
-{ 3, s_6_13, 11, -1, r_VI},
-{ 4, s_6_14, 11, -1, r_LONG},
-{ 3, s_6_15, 11, 2, 0},
-{ 4, s_6_16, 11, -1, r_VI},
-{ 3, s_6_17, 11, 3, 0},
-{ 4, s_6_18, 11, -1, r_VI},
-{ 3, s_6_19, 11, 4, 0},
-{ 4, s_6_20, 11, 5, 0},
-{ 4, s_6_21, 11, 6, 0},
-{ 2, s_6_22, -1, 8, 0},
-{ 4, s_6_23, 22, -1, 0},
-{ 3, s_6_24, 22, -1, 0},
-{ 4, s_6_25, 22, -1, 0},
-{ 3, s_6_26, 22, -1, 0},
-{ 4, s_6_27, 26, -1, 0},
-{ 4, s_6_28, 26, -1, 0},
-{ 4, s_6_29, 26, 2, 0}
+static const struct among a_6[30] = {
+{ 1, s_6_0, 0, 8, 0},
+{ 3, s_6_1, -1, -1, 0},
+{ 2, s_6_2, -2, -1, 0},
+{ 3, s_6_3, -3, -1, 0},
+{ 2, s_6_4, -4, -1, 0},
+{ 3, s_6_5, -1, -1, 0},
+{ 3, s_6_6, -2, -1, 0},
+{ 3, s_6_7, -3, 2, 0},
+{ 3, s_6_8, 0, -1, 0},
+{ 3, s_6_9, 0, -1, 0},
+{ 3, s_6_10, 0, -1, 0},
+{ 1, s_6_11, 0, 7, 0},
+{ 3, s_6_12, -1, 1, 0},
+{ 3, s_6_13, -2, -1, 1},
+{ 4, s_6_14, -3, -1, 2},
+{ 3, s_6_15, -4, 2, 0},
+{ 4, s_6_16, -5, -1, 1},
+{ 3, s_6_17, -6, 3, 0},
+{ 4, s_6_18, -7, -1, 1},
+{ 3, s_6_19, -8, 4, 0},
+{ 4, s_6_20, -9, 5, 0},
+{ 4, s_6_21, -10, 6, 0},
+{ 2, s_6_22, 0, 8, 0},
+{ 4, s_6_23, -1, -1, 0},
+{ 3, s_6_24, -2, -1, 0},
+{ 4, s_6_25, -3, -1, 0},
+{ 3, s_6_26, -4, -1, 0},
+{ 4, s_6_27, -1, -1, 0},
+{ 4, s_6_28, -2, -1, 0},
+{ 4, s_6_29, -3, 2, 0}
 };
 
+static int af_6(struct SN_env * z) {
+    switch (z->af) {
+        case 1: return r_VI(z);
+        case 2: return r_LONG(z);
+    }
+    return -1;
+}
+
 static const symbol s_7_0[3] = { 'e', 'j', 'a' };
 static const symbol s_7_1[3] = { 'm', 'm', 'a' };
 static const symbol s_7_2[4] = { 'i', 'm', 'm', 'a' };
@@ -221,41 +227,28 @@ static const symbol s_7_10[4] = { 'm', 'm', 0xC3, 0xA4 };
 static const symbol s_7_11[5] = { 'i', 'm', 'm', 0xC3, 0xA4 };
 static const symbol s_7_12[4] = { 'm', 'p', 0xC3, 0xA4 };
 static const symbol s_7_13[5] = { 'i', 'm', 'p', 0xC3, 0xA4 };
-
-static const struct among a_7[14] =
-{
-{ 3, s_7_0, -1, -1, 0},
-{ 3, s_7_1, -1, 1, 0},
-{ 4, s_7_2, 1, -1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 4, s_7_4, 3, -1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 4, s_7_6, 5, -1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 4, s_7_8, 7, -1, 0},
-{ 4, s_7_9, -1, -1, 0},
-{ 4, s_7_10, -1, 1, 0},
-{ 5, s_7_11, 10, -1, 0},
-{ 4, s_7_12, -1, 1, 0},
-{ 5, s_7_13, 12, -1, 0}
-};
-
-static const symbol s_8_0[1] = { 'i' };
-static const symbol s_8_1[1] = { 'j' };
-
-static const struct among a_8[2] =
-{
-{ 1, s_8_0, -1, -1, 0},
-{ 1, s_8_1, -1, -1, 0}
+static const struct among a_7[14] = {
+{ 3, s_7_0, 0, -1, 0},
+{ 3, s_7_1, 0, 1, 0},
+{ 4, s_7_2, -1, -1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 4, s_7_4, -1, -1, 0},
+{ 3, s_7_5, 0, 1, 0},
+{ 4, s_7_6, -1, -1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 4, s_7_8, -1, -1, 0},
+{ 4, s_7_9, 0, -1, 0},
+{ 4, s_7_10, 0, 1, 0},
+{ 5, s_7_11, -1, -1, 0},
+{ 4, s_7_12, 0, 1, 0},
+{ 5, s_7_13, -1, -1, 0}
 };
 
 static const symbol s_9_0[3] = { 'm', 'm', 'a' };
 static const symbol s_9_1[4] = { 'i', 'm', 'm', 'a' };
-
-static const struct among a_9[2] =
-{
-{ 3, s_9_0, -1, 1, 0},
-{ 4, s_9_1, 0, -1, 0}
+static const struct among a_9[2] = {
+{ 3, s_9_0, 0, 1, 0},
+{ 4, s_9_1, -1, -1, 0}
 };
 
 static const unsigned char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8 };
@@ -268,65 +261,63 @@ static const unsigned char g_V2[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
 static const unsigned char g_particle_end[] = { 17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
 
-static const symbol s_0[] = { 'k', 's', 'e' };
-static const symbol s_1[] = { 'k', 's', 'i' };
-static const symbol s_2[] = { 0xC3, 0xA4 };
-static const symbol s_3[] = { 0xC3, 0xB6 };
-static const symbol s_4[] = { 'i', 'e' };
-static const symbol s_5[] = { 'p', 'o' };
-static const symbol s_6[] = { 'p', 'o' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-
-    if (out_grouping_U(z, g_V1, 97, 246, 1) < 0) return 0;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int ret = out_grouping_U(z, g_V1, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
     {
         int ret = in_grouping_U(z, g_V1, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (out_grouping_U(z, g_V1, 97, 246, 1) < 0) return 0;
-
+    ((SN_local *)z)->i_p1 = z->c;
+    {
+        int ret = out_grouping_U(z, g_V1, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
     {
         int ret = in_grouping_U(z, g_V1, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[0] = z->c;
+    ((SN_local *)z)->i_p2 = z->c;
     return 1;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_particle_etc(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_0, 10);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_0, 10, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
             if (in_grouping_b_U(z, g_particle_end, 97, 246, 0)) return 0;
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -334,63 +325,71 @@ static int r_particle_etc(struct SN_env * z) {
 
 static int r_possessive(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_4, 9);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_4, 9, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0;
                 z->c--;
                 return 0;
             lab0:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
             if (!(eq_s_b(z, 3, s_0))) return 0;
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 3, s_1);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             if (z->c - 1 <= z->lb || z->p[z->c - 1] != 97) return 0;
-            if (!find_among_b(z, a_1, 6)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_1, 6, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
             if (z->c - 2 <= z->lb || z->p[z->c - 1] != 164) return 0;
-            if (!find_among_b(z, a_2, 6)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_2, 6, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
             if (z->c - 2 <= z->lb || z->p[z->c - 1] != 101) return 0;
-            if (!find_among_b(z, a_3, 2)) return 0;
-            {   int ret = slice_del(z);
+            if (!find_among_b(z, a_3, 2, 0)) return 0;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -399,28 +398,26 @@ static int r_possessive(struct SN_env * z) {
 }
 
 static int r_LONG(struct SN_env * z) {
-    if (!find_among_b(z, a_5, 7)) return 0;
-    return 1;
+    return find_among_b(z, a_5, 7, 0) != 0;
 }
 
 static int r_VI(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
     z->c--;
-    if (in_grouping_b_U(z, g_V2, 97, 246, 0)) return 0;
-    return 1;
+    return !in_grouping_b_U(z, g_V2, 97, 246, 0);
 }
 
 static int r_case_ending(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        among_var = find_among_b(z, a_6, 30);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_6, 30, af_6);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
@@ -446,22 +443,26 @@ static int r_case_ending(struct SN_env * z) {
             if (!(eq_s_b(z, 2, s_3))) return 0;
             break;
         case 7:
-            {   int m2 = z->l - z->c; (void)m2;
-                {   int m3 = z->l - z->c; (void)m3;
-                    {   int m4 = z->l - z->c; (void)m4;
-                        {   int ret = r_LONG(z);
-                            if (ret == 0) goto lab2;
+            {
+                int v_2 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
+                    do {
+                        int v_4 = z->l - z->c;
+                        {
+                            int ret = r_LONG(z);
+                            if (ret == 0) goto lab1;
                             if (ret < 0) return ret;
                         }
-                        goto lab1;
-                    lab2:
-                        z->c = z->l - m4;
-                        if (!(eq_s_b(z, 2, s_4))) { z->c = z->l - m2; goto lab0; }
-                    }
-                lab1:
-                    z->c = z->l - m3;
-                    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-                        if (ret < 0) { z->c = z->l - m2; goto lab0; }
+                        break;
+                    lab1:
+                        z->c = z->l - v_4;
+                        if (!(eq_s_b(z, 2, s_4))) { z->c = z->l - v_2; goto lab0; }
+                    } while (0);
+                    z->c = z->l - v_3;
+                    {
+                        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                        if (ret < 0) { z->c = z->l - v_2; goto lab0; }
                         z->c = ret;
                     }
                 }
@@ -475,53 +476,57 @@ static int r_case_ending(struct SN_env * z) {
             if (in_grouping_b_U(z, g_C, 98, 122, 0)) return 0;
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[2] = 1;
+    ((SN_local *)z)->b_ending_removed = 1;
     return 1;
 }
 
 static int r_other_endings(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p2) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p2;
         z->ket = z->c;
-        among_var = find_among_b(z, a_7, 14);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_7, 14, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 if (!(eq_s_b(z, 2, s_5))) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_i_plural(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_8, 2)) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = v_1; return 0; }
+        z->c--;
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -529,198 +534,249 @@ static int r_i_plural(struct SN_env * z) {
 
 static int r_t_plural(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = v_1; return 0; }
         z->c--;
         z->bra = z->c;
-        {   int m_test2 = z->l - z->c;
-            if (in_grouping_b_U(z, g_V1, 97, 246, 0)) { z->lb = mlimit1; return 0; }
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_V1, 97, 246, 0)) { z->lb = v_1; return 0; }
+            z->c = z->l - v_2;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-
-    {   int mlimit3;
-        if (z->c < z->I[0]) return 0;
-        mlimit3 = z->lb; z->lb = z->I[0];
+    {
+        int v_3;
+        if (z->c < ((SN_local *)z)->i_p2) return 0;
+        v_3 = z->lb; z->lb = ((SN_local *)z)->i_p2;
         z->ket = z->c;
-        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit3; return 0; }
-        among_var = find_among_b(z, a_9, 2);
-        if (!among_var) { z->lb = mlimit3; return 0; }
+        if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = v_3; return 0; }
+        among_var = find_among_b(z, a_9, 2, 0);
+        if (!among_var) { z->lb = v_3; return 0; }
         z->bra = z->c;
-        z->lb = mlimit3;
+        z->lb = v_3;
     }
     switch (among_var) {
         case 1:
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 if (!(eq_s_b(z, 2, s_6))) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m4;
+                z->c = z->l - v_4;
             }
             break;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_tidy(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
-        {   int m2 = z->l - z->c; (void)m2;
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int ret = r_LONG(z);
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+        {
+            int v_2 = z->l - z->c;
+            {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = r_LONG(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                z->c = z->l - m3;
+                z->c = z->l - v_3;
                 z->ket = z->c;
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             }
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-        {   int m4 = z->l - z->c; (void)m4;
+        {
+            int v_4 = z->l - z->c;
             z->ket = z->c;
             if (in_grouping_b_U(z, g_AEI, 97, 228, 0)) goto lab1;
             z->bra = z->c;
             if (in_grouping_b_U(z, g_C, 98, 122, 0)) goto lab1;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         lab1:
-            z->c = z->l - m4;
+            z->c = z->l - v_4;
         }
-        {   int m5 = z->l - z->c; (void)m5;
+        {
+            int v_5 = z->l - z->c;
             z->ket = z->c;
             if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab2;
             z->c--;
             z->bra = z->c;
-            {   int m6 = z->l - z->c; (void)m6;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4;
+            do {
+                int v_6 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab3;
                 z->c--;
-                goto lab3;
-            lab4:
-                z->c = z->l - m6;
+                break;
+            lab3:
+                z->c = z->l - v_6;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab2;
                 z->c--;
-            }
-        lab3:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         lab2:
-            z->c = z->l - m5;
+            z->c = z->l - v_5;
         }
-        {   int m7 = z->l - z->c; (void)m7;
+        {
+            int v_7 = z->l - z->c;
             z->ket = z->c;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4;
             z->c--;
             z->bra = z->c;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab5;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'j') goto lab4;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-        lab5:
-            z->c = z->l - m7;
+        lab4:
+            z->c = z->l - v_7;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-
     if (in_grouping_b_U(z, g_V1, 97, 246, 1) < 0) return 0;
     z->ket = z->c;
     if (in_grouping_b_U(z, g_C, 98, 122, 0)) return 0;
     z->bra = z->c;
-    z->S[0] = slice_to(z, z->S[0]);
-    if (z->S[0] == 0) return -1;
-    if (!(eq_v_b(z, z->S[0]))) return 0;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_to(z, &((SN_local *)z)->s_x);
+        if (ret < 0) return ret;
+    }
+    if (!(eq_v_b(z, ((SN_local *)z)->s_x))) return 0;
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int finnish_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    z->I[2] = 0;
+    ((SN_local *)z)->b_ending_removed = 0;
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_particle_etc(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_particle_etc(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_possessive(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_possessive(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_case_ending(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_case_ending(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_other_endings(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_other_endings(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-
-    if (!(z->I[2])) goto lab1;
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_i_plural(z);
-            if (ret < 0) return ret;
+    do {
+        if (!((SN_local *)z)->b_ending_removed) goto lab0;
+        {
+            int v_6 = z->l - z->c;
+            {
+                int ret = r_i_plural(z);
+                if (ret < 0) return ret;
+            }
+            z->c = z->l - v_6;
         }
-        z->c = z->l - m6;
-    }
-    goto lab0;
-lab1:
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_t_plural(z);
-            if (ret < 0) return ret;
+        break;
+    lab0:
+        {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_t_plural(z);
+                if (ret < 0) return ret;
+            }
+            z->c = z->l - v_7;
         }
-        z->c = z->l - m7;
-    }
-lab0:
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_tidy(z);
+    } while (0);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_tidy(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * finnish_UTF_8_create_env(void) { return SN_create_env(1, 3); }
+extern struct SN_env * finnish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_ending_removed = 0;
+        ((SN_local *)z)->s_x = NULL;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+
+        if ((((SN_local *)z)->s_x = create_s()) == NULL) {
+            finnish_UTF_8_close_env(z);
+            return NULL;
+        }
+    }
+    return z;
+}
 
-extern void finnish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 1); }
+extern void finnish_UTF_8_close_env(struct SN_env * z) {
+    if (z) {
+        lose_s(((SN_local *)z)->s_x);
+    }
+    SN_delete_env(z);
+}
 
index de8685977ad40f73e0c330fc2a11ca60019fa43f..53f9909525fcd3ce6e7f4741fdfb6899e8bc4178 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from french.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_french.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int french_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_un_accent(struct SN_env * z);
 static int r_un_double(struct SN_env * z);
 static int r_residual_suffix(struct SN_env * z);
@@ -22,27 +36,59 @@ static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
 static int r_elisions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * french_UTF_8_create_env(void);
-extern void french_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'q', 'u' };
+static const symbol s_1[] = { 'U' };
+static const symbol s_2[] = { 'I' };
+static const symbol s_3[] = { 'Y' };
+static const symbol s_4[] = { 0xC3, 0xAB };
+static const symbol s_5[] = { 'H', 'e' };
+static const symbol s_6[] = { 0xC3, 0xAF };
+static const symbol s_7[] = { 'H', 'i' };
+static const symbol s_8[] = { 'Y' };
+static const symbol s_9[] = { 'U' };
+static const symbol s_10[] = { 'i' };
+static const symbol s_11[] = { 'u' };
+static const symbol s_12[] = { 'y' };
+static const symbol s_13[] = { 0xC3, 0xAB };
+static const symbol s_14[] = { 0xC3, 0xAF };
+static const symbol s_15[] = { 'i', 'c' };
+static const symbol s_16[] = { 'i', 'q', 'U' };
+static const symbol s_17[] = { 'l', 'o', 'g' };
+static const symbol s_18[] = { 'u' };
+static const symbol s_19[] = { 'e', 'n', 't' };
+static const symbol s_20[] = { 'a', 't' };
+static const symbol s_21[] = { 'e', 'u', 'x' };
+static const symbol s_22[] = { 'i' };
+static const symbol s_23[] = { 'a', 'b', 'l' };
+static const symbol s_24[] = { 'i', 'q', 'U' };
+static const symbol s_25[] = { 'a', 't' };
+static const symbol s_26[] = { 'i', 'c' };
+static const symbol s_27[] = { 'i', 'q', 'U' };
+static const symbol s_28[] = { 'e', 'a', 'u' };
+static const symbol s_29[] = { 'a', 'l' };
+static const symbol s_30[] = { 'o', 'u' };
+static const symbol s_31[] = { 'e', 'u', 'x' };
+static const symbol s_32[] = { 'a', 'n', 't' };
+static const symbol s_33[] = { 'e', 'n', 't' };
+static const symbol s_34[] = { 'H', 'i' };
+static const symbol s_35[] = { 'i' };
+static const symbol s_36[] = { 0xC3, 0xA9 };
+static const symbol s_37[] = { 0xC3, 0xA8 };
+static const symbol s_38[] = { 'e' };
+static const symbol s_39[] = { 'i' };
+static const symbol s_40[] = { 0xC3, 0xA7 };
+static const symbol s_41[] = { 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'c', 'o', 'l' };
-static const symbol s_0_1[3] = { 'p', 'a', 'r' };
-static const symbol s_0_2[3] = { 't', 'a', 'p' };
-
-static const struct among a_0[3] =
-{
-{ 3, s_0_0, -1, -1, 0},
-{ 3, s_0_1, -1, -1, 0},
-{ 3, s_0_2, -1, -1, 0}
+static const symbol s_0_1[2] = { 'n', 'i' };
+static const symbol s_0_2[3] = { 'p', 'a', 'r' };
+static const symbol s_0_3[3] = { 't', 'a', 'p' };
+static const struct among a_0[4] = {
+{ 3, s_0_0, 0, -1, 0},
+{ 2, s_0_1, 0, 1, 0},
+{ 3, s_0_2, 0, -1, 0},
+{ 3, s_0_3, 0, -1, 0}
 };
 
 static const symbol s_1_1[1] = { 'H' };
@@ -51,16 +97,14 @@ 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[7] =
-{
-{ 0, 0, -1, 7, 0},
-{ 1, s_1_1, 0, 6, 0},
-{ 2, s_1_2, 1, 4, 0},
-{ 2, s_1_3, 1, 5, 0},
-{ 1, s_1_4, 0, 1, 0},
-{ 1, s_1_5, 0, 2, 0},
-{ 1, s_1_6, 0, 3, 0}
+static const struct among a_1[7] = {
+{ 0, 0, 0, 7, 0},
+{ 1, s_1_1, -1, 6, 0},
+{ 2, s_1_2, -1, 4, 0},
+{ 2, s_1_3, -2, 5, 0},
+{ 1, s_1_4, -4, 1, 0},
+{ 1, s_1_5, -5, 2, 0},
+{ 1, s_1_6, -6, 3, 0}
 };
 
 static const symbol s_2_0[3] = { 'i', 'q', 'U' };
@@ -69,26 +113,22 @@ static const symbol s_2_2[4] = { 'I', 0xC3, 0xA8, 'r' };
 static const symbol s_2_3[4] = { 'i', 0xC3, 0xA8, 'r' };
 static const symbol s_2_4[3] = { 'e', 'u', 's' };
 static const symbol s_2_5[2] = { 'i', 'v' };
-
-static const struct among a_2[6] =
-{
-{ 3, s_2_0, -1, 3, 0},
-{ 3, s_2_1, -1, 3, 0},
-{ 4, s_2_2, -1, 4, 0},
-{ 4, s_2_3, -1, 4, 0},
-{ 3, s_2_4, -1, 2, 0},
-{ 2, s_2_5, -1, 1, 0}
+static const struct among a_2[6] = {
+{ 3, s_2_0, 0, 3, 0},
+{ 3, s_2_1, 0, 3, 0},
+{ 4, s_2_2, 0, 4, 0},
+{ 4, s_2_3, 0, 4, 0},
+{ 3, s_2_4, 0, 2, 0},
+{ 2, s_2_5, 0, 1, 0}
 };
 
 static const symbol s_3_0[2] = { 'i', 'c' };
 static const symbol s_3_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_3_2[2] = { 'i', 'v' };
-
-static const struct among a_3[3] =
-{
-{ 2, s_3_0, -1, 2, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 3, 0}
+static const struct among a_3[3] = {
+{ 2, s_3_0, 0, 2, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 2, s_3_2, 0, 3, 0}
 };
 
 static const symbol s_4_0[4] = { 'i', 'q', 'U', 'e' };
@@ -133,53 +173,53 @@ static const symbol s_4_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
 static const symbol s_4_39[3] = { 'a', 'u', 'x' };
 static const symbol s_4_40[4] = { 'e', 'a', 'u', 'x' };
 static const symbol s_4_41[3] = { 'e', 'u', 'x' };
-static const symbol s_4_42[4] = { 'i', 't', 0xC3, 0xA9 };
-
-static const struct among a_4[43] =
-{
-{ 4, s_4_0, -1, 1, 0},
-{ 6, s_4_1, -1, 2, 0},
-{ 4, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 5, 0},
-{ 5, s_4_4, -1, 3, 0},
-{ 4, s_4_5, -1, 1, 0},
-{ 4, s_4_6, -1, 1, 0},
-{ 4, s_4_7, -1, 11, 0},
-{ 4, s_4_8, -1, 1, 0},
-{ 3, s_4_9, -1, 8, 0},
-{ 2, s_4_10, -1, 8, 0},
-{ 5, s_4_11, -1, 4, 0},
-{ 5, s_4_12, -1, 2, 0},
-{ 5, s_4_13, -1, 4, 0},
-{ 5, s_4_14, -1, 2, 0},
-{ 5, s_4_15, -1, 1, 0},
-{ 7, s_4_16, -1, 2, 0},
-{ 5, s_4_17, -1, 1, 0},
-{ 5, s_4_18, -1, 5, 0},
-{ 6, s_4_19, -1, 3, 0},
-{ 5, s_4_20, -1, 1, 0},
-{ 5, s_4_21, -1, 1, 0},
-{ 5, s_4_22, -1, 11, 0},
-{ 5, s_4_23, -1, 1, 0},
-{ 4, s_4_24, -1, 8, 0},
-{ 3, s_4_25, -1, 8, 0},
-{ 6, s_4_26, -1, 4, 0},
-{ 6, s_4_27, -1, 2, 0},
-{ 6, s_4_28, -1, 4, 0},
-{ 6, s_4_29, -1, 2, 0},
-{ 5, s_4_30, -1, 15, 0},
-{ 6, s_4_31, 30, 6, 0},
-{ 9, s_4_32, 31, 12, 0},
-{ 5, s_4_33, -1, 7, 0},
-{ 4, s_4_34, -1, 15, 0},
-{ 5, s_4_35, 34, 6, 0},
-{ 8, s_4_36, 35, 12, 0},
-{ 6, s_4_37, 34, 13, 0},
-{ 6, s_4_38, 34, 14, 0},
-{ 3, s_4_39, -1, 10, 0},
-{ 4, s_4_40, 39, 9, 0},
-{ 3, s_4_41, -1, 1, 0},
-{ 4, s_4_42, -1, 7, 0}
+static const symbol s_4_42[3] = { 'o', 'u', 'x' };
+static const symbol s_4_43[4] = { 'i', 't', 0xC3, 0xA9 };
+static const struct among a_4[44] = {
+{ 4, s_4_0, 0, 1, 0},
+{ 6, s_4_1, 0, 2, 0},
+{ 4, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 5, 0},
+{ 5, s_4_4, 0, 3, 0},
+{ 4, s_4_5, 0, 1, 0},
+{ 4, s_4_6, 0, 1, 0},
+{ 4, s_4_7, 0, 12, 0},
+{ 4, s_4_8, 0, 1, 0},
+{ 3, s_4_9, 0, 8, 0},
+{ 2, s_4_10, 0, 8, 0},
+{ 5, s_4_11, 0, 4, 0},
+{ 5, s_4_12, 0, 2, 0},
+{ 5, s_4_13, 0, 4, 0},
+{ 5, s_4_14, 0, 2, 0},
+{ 5, s_4_15, 0, 1, 0},
+{ 7, s_4_16, 0, 2, 0},
+{ 5, s_4_17, 0, 1, 0},
+{ 5, s_4_18, 0, 5, 0},
+{ 6, s_4_19, 0, 3, 0},
+{ 5, s_4_20, 0, 1, 0},
+{ 5, s_4_21, 0, 1, 0},
+{ 5, s_4_22, 0, 12, 0},
+{ 5, s_4_23, 0, 1, 0},
+{ 4, s_4_24, 0, 8, 0},
+{ 3, s_4_25, 0, 8, 0},
+{ 6, s_4_26, 0, 4, 0},
+{ 6, s_4_27, 0, 2, 0},
+{ 6, s_4_28, 0, 4, 0},
+{ 6, s_4_29, 0, 2, 0},
+{ 5, s_4_30, 0, 16, 0},
+{ 6, s_4_31, -1, 6, 0},
+{ 9, s_4_32, -1, 13, 0},
+{ 5, s_4_33, 0, 7, 0},
+{ 4, s_4_34, 0, 16, 0},
+{ 5, s_4_35, -1, 6, 0},
+{ 8, s_4_36, -1, 13, 0},
+{ 6, s_4_37, -3, 14, 0},
+{ 6, s_4_38, -4, 15, 0},
+{ 3, s_4_39, 0, 10, 0},
+{ 4, s_4_40, -1, 9, 0},
+{ 3, s_4_41, 0, 1, 0},
+{ 3, s_4_42, 0, 11, 0},
+{ 4, s_4_43, 0, 7, 0}
 };
 
 static const symbol s_5_0[3] = { 'i', 'r', 'a' };
@@ -217,437 +257,425 @@ static const symbol s_5_31[5] = { 'i', 'r', 'i', 'e', 'z' };
 static const symbol s_5_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
 static const symbol s_5_33[4] = { 'i', 'r', 'e', 'z' };
 static const symbol s_5_34[5] = { 'i', 's', 's', 'e', 'z' };
-
-static const struct among a_5[35] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 1, 0},
-{ 4, s_5_2, -1, 1, 0},
-{ 7, s_5_3, -1, 1, 0},
-{ 1, s_5_4, -1, 1, 0},
-{ 4, s_5_5, 4, 1, 0},
-{ 2, s_5_6, -1, 1, 0},
-{ 4, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 1, 0},
-{ 5, s_5_9, -1, 1, 0},
-{ 5, s_5_10, -1, 1, 0},
-{ 8, s_5_11, -1, 1, 0},
-{ 5, s_5_12, -1, 1, 0},
-{ 2, s_5_13, -1, 1, 0},
-{ 5, s_5_14, 13, 1, 0},
-{ 6, s_5_15, 13, 1, 0},
-{ 6, s_5_16, -1, 1, 0},
-{ 7, s_5_17, -1, 1, 0},
-{ 5, s_5_18, -1, 1, 0},
-{ 6, s_5_19, -1, 1, 0},
-{ 7, s_5_20, -1, 1, 0},
-{ 2, s_5_21, -1, 1, 0},
-{ 5, s_5_22, 21, 1, 0},
-{ 6, s_5_23, 21, 1, 0},
-{ 6, s_5_24, -1, 1, 0},
-{ 7, s_5_25, -1, 1, 0},
-{ 8, s_5_26, -1, 1, 0},
-{ 5, s_5_27, -1, 1, 0},
-{ 6, s_5_28, -1, 1, 0},
-{ 5, s_5_29, -1, 1, 0},
-{ 3, s_5_30, -1, 1, 0},
-{ 5, s_5_31, -1, 1, 0},
-{ 6, s_5_32, -1, 1, 0},
-{ 4, s_5_33, -1, 1, 0},
-{ 5, s_5_34, -1, 1, 0}
+static const struct among a_5[35] = {
+{ 3, s_5_0, 0, 1, 0},
+{ 2, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0},
+{ 7, s_5_3, 0, 1, 0},
+{ 1, s_5_4, 0, 1, 0},
+{ 4, s_5_5, -1, 1, 0},
+{ 2, s_5_6, 0, 1, 0},
+{ 4, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 1, 0},
+{ 5, s_5_9, 0, 1, 0},
+{ 5, s_5_10, 0, 1, 0},
+{ 8, s_5_11, 0, 1, 0},
+{ 5, s_5_12, 0, 1, 0},
+{ 2, s_5_13, 0, 1, 0},
+{ 5, s_5_14, -1, 1, 0},
+{ 6, s_5_15, -2, 1, 0},
+{ 6, s_5_16, 0, 1, 0},
+{ 7, s_5_17, 0, 1, 0},
+{ 5, s_5_18, 0, 1, 0},
+{ 6, s_5_19, 0, 1, 0},
+{ 7, s_5_20, 0, 1, 0},
+{ 2, s_5_21, 0, 1, 0},
+{ 5, s_5_22, -1, 1, 0},
+{ 6, s_5_23, -2, 1, 0},
+{ 6, s_5_24, 0, 1, 0},
+{ 7, s_5_25, 0, 1, 0},
+{ 8, s_5_26, 0, 1, 0},
+{ 5, s_5_27, 0, 1, 0},
+{ 6, s_5_28, 0, 1, 0},
+{ 5, s_5_29, 0, 1, 0},
+{ 3, s_5_30, 0, 1, 0},
+{ 5, s_5_31, 0, 1, 0},
+{ 6, s_5_32, 0, 1, 0},
+{ 4, s_5_33, 0, 1, 0},
+{ 5, s_5_34, 0, 1, 0}
 };
 
-static const symbol s_6_0[1] = { 'a' };
-static const symbol s_6_1[3] = { 'e', 'r', 'a' };
-static const symbol s_6_2[4] = { 'a', 's', 's', 'e' };
-static const symbol s_6_3[4] = { 'a', 'n', 't', 'e' };
-static const symbol s_6_4[3] = { 0xC3, 0xA9, 'e' };
-static const symbol s_6_5[2] = { 'a', 'i' };
-static const symbol s_6_6[4] = { 'e', 'r', 'a', 'i' };
-static const symbol s_6_7[2] = { 'e', 'r' };
-static const symbol s_6_8[2] = { 'a', 's' };
-static const symbol s_6_9[4] = { 'e', 'r', 'a', 's' };
-static const symbol s_6_10[5] = { 0xC3, 0xA2, 'm', 'e', 's' };
-static const symbol s_6_11[5] = { 'a', 's', 's', 'e', 's' };
-static const symbol s_6_12[5] = { 'a', 'n', 't', 'e', 's' };
-static const symbol s_6_13[5] = { 0xC3, 0xA2, 't', 'e', 's' };
-static const symbol s_6_14[4] = { 0xC3, 0xA9, 'e', 's' };
-static const symbol s_6_15[3] = { 'a', 'i', 's' };
-static const symbol s_6_16[5] = { 'e', 'r', 'a', 'i', 's' };
-static const symbol s_6_17[4] = { 'i', 'o', 'n', 's' };
-static const symbol s_6_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
-static const symbol s_6_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
-static const symbol s_6_20[5] = { 'e', 'r', 'o', 'n', 's' };
-static const symbol s_6_21[4] = { 'a', 'n', 't', 's' };
-static const symbol s_6_22[3] = { 0xC3, 0xA9, 's' };
-static const symbol s_6_23[3] = { 'a', 'i', 't' };
-static const symbol s_6_24[5] = { 'e', 'r', 'a', 'i', 't' };
-static const symbol s_6_25[3] = { 'a', 'n', 't' };
-static const symbol s_6_26[5] = { 'a', 'I', 'e', 'n', 't' };
-static const symbol s_6_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
-static const symbol s_6_28[6] = { 0xC3, 0xA8, 'r', 'e', 'n', 't' };
-static const symbol s_6_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
-static const symbol s_6_30[5] = { 'e', 'r', 'o', 'n', 't' };
-static const symbol s_6_31[3] = { 0xC3, 0xA2, 't' };
-static const symbol s_6_32[2] = { 'e', 'z' };
-static const symbol s_6_33[3] = { 'i', 'e', 'z' };
-static const symbol s_6_34[5] = { 'e', 'r', 'i', 'e', 'z' };
-static const symbol s_6_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
-static const symbol s_6_36[4] = { 'e', 'r', 'e', 'z' };
-static const symbol s_6_37[2] = { 0xC3, 0xA9 };
-
-static const struct among a_6[38] =
-{
-{ 1, s_6_0, -1, 3, 0},
-{ 3, s_6_1, 0, 2, 0},
-{ 4, s_6_2, -1, 3, 0},
-{ 4, s_6_3, -1, 3, 0},
-{ 3, s_6_4, -1, 2, 0},
-{ 2, s_6_5, -1, 3, 0},
-{ 4, s_6_6, 5, 2, 0},
-{ 2, s_6_7, -1, 2, 0},
-{ 2, s_6_8, -1, 3, 0},
-{ 4, s_6_9, 8, 2, 0},
-{ 5, s_6_10, -1, 3, 0},
-{ 5, s_6_11, -1, 3, 0},
-{ 5, s_6_12, -1, 3, 0},
-{ 5, s_6_13, -1, 3, 0},
-{ 4, s_6_14, -1, 2, 0},
-{ 3, s_6_15, -1, 3, 0},
-{ 5, s_6_16, 15, 2, 0},
-{ 4, s_6_17, -1, 1, 0},
-{ 6, s_6_18, 17, 2, 0},
-{ 7, s_6_19, 17, 3, 0},
-{ 5, s_6_20, -1, 2, 0},
-{ 4, s_6_21, -1, 3, 0},
-{ 3, s_6_22, -1, 2, 0},
-{ 3, s_6_23, -1, 3, 0},
-{ 5, s_6_24, 23, 2, 0},
-{ 3, s_6_25, -1, 3, 0},
-{ 5, s_6_26, -1, 3, 0},
-{ 7, s_6_27, 26, 2, 0},
-{ 6, s_6_28, -1, 2, 0},
-{ 6, s_6_29, -1, 3, 0},
-{ 5, s_6_30, -1, 2, 0},
-{ 3, s_6_31, -1, 3, 0},
-{ 2, s_6_32, -1, 2, 0},
-{ 3, s_6_33, 32, 2, 0},
-{ 5, s_6_34, 33, 2, 0},
-{ 6, s_6_35, 33, 3, 0},
-{ 4, s_6_36, 32, 2, 0},
-{ 2, s_6_37, -1, 2, 0}
+static const symbol s_6_0[2] = { 'a', 'l' };
+static const symbol s_6_1[4] = { 0xC3, 0xA9, 'p', 'l' };
+static const symbol s_6_2[3] = { 'a', 'u', 'v' };
+static const struct among a_6[3] = {
+{ 2, s_6_0, 0, 1, 0},
+{ 4, s_6_1, 0, -1, 0},
+{ 3, s_6_2, 0, -1, 0}
 };
 
-static const symbol s_7_0[1] = { 'e' };
-static const symbol s_7_1[5] = { 'I', 0xC3, 0xA8, 'r', 'e' };
-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 struct among a_7[6] =
-{
-{ 1, s_7_0, -1, 3, 0},
-{ 5, s_7_1, 0, 2, 0},
-{ 5, s_7_2, 0, 2, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 3, s_7_4, -1, 2, 0},
-{ 3, s_7_5, -1, 2, 0}
+static const symbol s_7_0[1] = { 'a' };
+static const symbol s_7_1[3] = { 'e', 'r', 'a' };
+static const symbol s_7_2[4] = { 'a', 'i', 's', 'e' };
+static const symbol s_7_3[4] = { 'a', 's', 's', 'e' };
+static const symbol s_7_4[4] = { 'a', 'n', 't', 'e' };
+static const symbol s_7_5[3] = { 0xC3, 0xA9, 'e' };
+static const symbol s_7_6[2] = { 'a', 'i' };
+static const symbol s_7_7[4] = { 'e', 'r', 'a', 'i' };
+static const symbol s_7_8[2] = { 'e', 'r' };
+static const symbol s_7_9[2] = { 'a', 's' };
+static const symbol s_7_10[4] = { 'e', 'r', 'a', 's' };
+static const symbol s_7_11[5] = { 0xC3, 0xA2, 'm', 'e', 's' };
+static const symbol s_7_12[5] = { 'a', 'i', 's', 'e', 's' };
+static const symbol s_7_13[5] = { 'a', 's', 's', 'e', 's' };
+static const symbol s_7_14[5] = { 'a', 'n', 't', 'e', 's' };
+static const symbol s_7_15[5] = { 0xC3, 0xA2, 't', 'e', 's' };
+static const symbol s_7_16[4] = { 0xC3, 0xA9, 'e', 's' };
+static const symbol s_7_17[3] = { 'a', 'i', 's' };
+static const symbol s_7_18[4] = { 'e', 'a', 'i', 's' };
+static const symbol s_7_19[5] = { 'e', 'r', 'a', 'i', 's' };
+static const symbol s_7_20[4] = { 'i', 'o', 'n', 's' };
+static const symbol s_7_21[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
+static const symbol s_7_22[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
+static const symbol s_7_23[5] = { 'e', 'r', 'o', 'n', 's' };
+static const symbol s_7_24[4] = { 'a', 'n', 't', 's' };
+static const symbol s_7_25[3] = { 0xC3, 0xA9, 's' };
+static const symbol s_7_26[3] = { 'a', 'i', 't' };
+static const symbol s_7_27[5] = { 'e', 'r', 'a', 'i', 't' };
+static const symbol s_7_28[3] = { 'a', 'n', 't' };
+static const symbol s_7_29[5] = { 'a', 'I', 'e', 'n', 't' };
+static const symbol s_7_30[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
+static const symbol s_7_31[6] = { 0xC3, 0xA8, 'r', 'e', 'n', 't' };
+static const symbol s_7_32[6] = { 'a', 's', 's', 'e', 'n', 't' };
+static const symbol s_7_33[5] = { 'e', 'r', 'o', 'n', 't' };
+static const symbol s_7_34[3] = { 0xC3, 0xA2, 't' };
+static const symbol s_7_35[2] = { 'e', 'z' };
+static const symbol s_7_36[3] = { 'i', 'e', 'z' };
+static const symbol s_7_37[5] = { 'e', 'r', 'i', 'e', 'z' };
+static const symbol s_7_38[6] = { 'a', 's', 's', 'i', 'e', 'z' };
+static const symbol s_7_39[4] = { 'e', 'r', 'e', 'z' };
+static const symbol s_7_40[2] = { 0xC3, 0xA9 };
+static const struct among a_7[41] = {
+{ 1, s_7_0, 0, 3, 0},
+{ 3, s_7_1, -1, 2, 0},
+{ 4, s_7_2, 0, 4, 0},
+{ 4, s_7_3, 0, 3, 0},
+{ 4, s_7_4, 0, 3, 0},
+{ 3, s_7_5, 0, 2, 0},
+{ 2, s_7_6, 0, 3, 0},
+{ 4, s_7_7, -1, 2, 0},
+{ 2, s_7_8, 0, 2, 0},
+{ 2, s_7_9, 0, 3, 0},
+{ 4, s_7_10, -1, 2, 0},
+{ 5, s_7_11, 0, 3, 0},
+{ 5, s_7_12, 0, 4, 0},
+{ 5, s_7_13, 0, 3, 0},
+{ 5, s_7_14, 0, 3, 0},
+{ 5, s_7_15, 0, 3, 0},
+{ 4, s_7_16, 0, 2, 0},
+{ 3, s_7_17, 0, 4, 0},
+{ 4, s_7_18, -1, 2, 0},
+{ 5, s_7_19, -2, 2, 0},
+{ 4, s_7_20, 0, 1, 0},
+{ 6, s_7_21, -1, 2, 0},
+{ 7, s_7_22, -2, 3, 0},
+{ 5, s_7_23, 0, 2, 0},
+{ 4, s_7_24, 0, 3, 0},
+{ 3, s_7_25, 0, 2, 0},
+{ 3, s_7_26, 0, 3, 0},
+{ 5, s_7_27, -1, 2, 0},
+{ 3, s_7_28, 0, 3, 0},
+{ 5, s_7_29, 0, 3, 0},
+{ 7, s_7_30, -1, 2, 0},
+{ 6, s_7_31, 0, 2, 0},
+{ 6, s_7_32, 0, 3, 0},
+{ 5, s_7_33, 0, 2, 0},
+{ 3, s_7_34, 0, 3, 0},
+{ 2, s_7_35, 0, 2, 0},
+{ 3, s_7_36, -1, 2, 0},
+{ 5, s_7_37, -1, 2, 0},
+{ 6, s_7_38, -2, 3, 0},
+{ 4, s_7_39, -4, 2, 0},
+{ 2, s_7_40, 0, 2, 0}
 };
 
-static const symbol s_8_0[3] = { 'e', 'l', 'l' };
-static const symbol s_8_1[4] = { 'e', 'i', 'l', 'l' };
-static const symbol s_8_2[3] = { 'e', 'n', 'n' };
-static const symbol s_8_3[3] = { 'o', 'n', 'n' };
-static const symbol s_8_4[3] = { 'e', 't', 't' };
+static const symbol s_8_0[1] = { 'e' };
+static const symbol s_8_1[5] = { 'I', 0xC3, 0xA8, 'r', 'e' };
+static const symbol s_8_2[5] = { 'i', 0xC3, 0xA8, 'r', 'e' };
+static const symbol s_8_3[3] = { 'i', 'o', 'n' };
+static const symbol s_8_4[3] = { 'I', 'e', 'r' };
+static const symbol s_8_5[3] = { 'i', 'e', 'r' };
+static const struct among a_8[6] = {
+{ 1, s_8_0, 0, 3, 0},
+{ 5, s_8_1, -1, 2, 0},
+{ 5, s_8_2, -2, 2, 0},
+{ 3, s_8_3, 0, 1, 0},
+{ 3, s_8_4, 0, 2, 0},
+{ 3, s_8_5, 0, 2, 0}
+};
 
-static const struct among a_8[5] =
-{
-{ 3, s_8_0, -1, -1, 0},
-{ 4, s_8_1, -1, -1, 0},
-{ 3, s_8_2, -1, -1, 0},
-{ 3, s_8_3, -1, -1, 0},
-{ 3, s_8_4, -1, -1, 0}
+static const symbol s_9_0[3] = { 'e', 'l', 'l' };
+static const symbol s_9_1[4] = { 'e', 'i', 'l', 'l' };
+static const symbol s_9_2[3] = { 'e', 'n', 'n' };
+static const symbol s_9_3[3] = { 'o', 'n', 'n' };
+static const symbol s_9_4[3] = { 'e', 't', 't' };
+static const struct among a_9[5] = {
+{ 3, s_9_0, 0, -1, 0},
+{ 4, s_9_1, 0, -1, 0},
+{ 3, s_9_2, 0, -1, 0},
+{ 3, s_9_3, 0, -1, 0},
+{ 3, s_9_4, 0, -1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
 
+static const unsigned char g_oux_ending[] = { 65, 85 };
+
 static const unsigned char g_elision_char[] = { 131, 14, 3 };
 
 static const unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
 
-static const symbol s_0[] = { 'q', 'u' };
-static const symbol s_1[] = { 'U' };
-static const symbol s_2[] = { 'I' };
-static const symbol s_3[] = { 'Y' };
-static const symbol s_4[] = { 0xC3, 0xAB };
-static const symbol s_5[] = { 'H', 'e' };
-static const symbol s_6[] = { 0xC3, 0xAF };
-static const symbol s_7[] = { 'H', 'i' };
-static const symbol s_8[] = { 'Y' };
-static const symbol s_9[] = { 'U' };
-static const symbol s_10[] = { 'i' };
-static const symbol s_11[] = { 'u' };
-static const symbol s_12[] = { 'y' };
-static const symbol s_13[] = { 0xC3, 0xAB };
-static const symbol s_14[] = { 0xC3, 0xAF };
-static const symbol s_15[] = { 'i', 'c' };
-static const symbol s_16[] = { 'i', 'q', 'U' };
-static const symbol s_17[] = { 'l', 'o', 'g' };
-static const symbol s_18[] = { 'u' };
-static const symbol s_19[] = { 'e', 'n', 't' };
-static const symbol s_20[] = { 'a', 't' };
-static const symbol s_21[] = { 'e', 'u', 'x' };
-static const symbol s_22[] = { 'i' };
-static const symbol s_23[] = { 'a', 'b', 'l' };
-static const symbol s_24[] = { 'i', 'q', 'U' };
-static const symbol s_25[] = { 'a', 't' };
-static const symbol s_26[] = { 'i', 'c' };
-static const symbol s_27[] = { 'i', 'q', 'U' };
-static const symbol s_28[] = { 'e', 'a', 'u' };
-static const symbol s_29[] = { 'a', 'l' };
-static const symbol s_30[] = { 'e', 'u', 'x' };
-static const symbol s_31[] = { 'a', 'n', 't' };
-static const symbol s_32[] = { 'e', 'n', 't' };
-static const symbol s_33[] = { 'H', 'i' };
-static const symbol s_34[] = { 'i' };
-static const symbol s_35[] = { 0xC3, 0xA9 };
-static const symbol s_36[] = { 0xC3, 0xA8 };
-static const symbol s_37[] = { 'e' };
-static const symbol s_38[] = { 'i' };
-static const symbol s_39[] = { 0xC3, 0xA7 };
-static const symbol s_40[] = { 'c' };
-
 static int r_elisions(struct SN_env * z) {
     z->bra = z->c;
-    {   int c1 = z->c;
-        if (in_grouping_U(z, g_elision_char, 99, 116, 0)) goto lab1;
-        goto lab0;
-    lab1:
-        z->c = c1;
+    do {
+        int v_1 = z->c;
+        if (in_grouping_U(z, g_elision_char, 99, 116, 0)) goto lab0;
+        break;
+    lab0:
+        z->c = v_1;
         if (!(eq_s(z, 2, s_0))) return 0;
-    }
-lab0:
+    } while (0);
     if (z->c == z->l || z->p[z->c] != '\'') return 0;
     z->c++;
     z->ket = z->c;
-
-    if (z->c < z->l) goto lab2;
+    if (z->c < z->l) goto lab1;
     return 0;
-lab2:
-    {   int ret = slice_del(z);
+lab1:
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_prelude(struct SN_env * z) {
-    while(1) {
-        int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            {   int c3 = z->c;
-                if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab3;
+    while (1) {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            do {
+                int v_3 = z->c;
+                if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
                 z->bra = z->c;
-                {   int c4 = z->c;
-                    if (z->c == z->l || z->p[z->c] != 'u') goto lab5;
+                do {
+                    int v_4 = z->c;
+                    if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab5;
-                    {   int ret = slice_from_s(z, 1, s_1);
+                    if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab3;
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab5:
-                    z->c = c4;
-                    if (z->c == z->l || z->p[z->c] != 'i') goto lab6;
+                    break;
+                lab3:
+                    z->c = v_4;
+                    if (z->c == z->l || z->p[z->c] != 'i') goto lab4;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab6;
-                    {   int ret = slice_from_s(z, 1, s_2);
+                    if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab4;
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
                         if (ret < 0) return ret;
                     }
-                    goto lab4;
-                lab6:
-                    z->c = c4;
-                    if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
+                    break;
+                lab4:
+                    z->c = v_4;
+                    if (z->c == z->l || z->p[z->c] != 'y') goto lab2;
                     z->c++;
                     z->ket = z->c;
-                    {   int ret = slice_from_s(z, 1, s_3);
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
                         if (ret < 0) return ret;
                     }
-                }
-            lab4:
-                goto lab2;
-            lab3:
-                z->c = c3;
+                } while (0);
+                break;
+            lab2:
+                z->c = v_3;
                 z->bra = z->c;
-                if (!(eq_s(z, 2, s_4))) goto lab7;
+                if (!(eq_s(z, 2, s_4))) goto lab5;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 2, s_5);
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab7:
-                z->c = c3;
+                break;
+            lab5:
+                z->c = v_3;
                 z->bra = z->c;
-                if (!(eq_s(z, 2, s_6))) goto lab8;
+                if (!(eq_s(z, 2, s_6))) goto lab6;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 2, s_7);
+                {
+                    int ret = slice_from_s(z, 2, s_7);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab8:
-                z->c = c3;
+                break;
+            lab6:
+                z->c = v_3;
                 z->bra = z->c;
-                if (z->c == z->l || z->p[z->c] != 'y') goto lab9;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab7;
                 z->c++;
                 z->ket = z->c;
-                if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab9;
-                {   int ret = slice_from_s(z, 1, s_8);
+                if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab7;
+                {
+                    int ret = slice_from_s(z, 1, s_8);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab9:
-                z->c = c3;
+                break;
+            lab7:
+                z->c = v_3;
                 if (z->c == z->l || z->p[z->c] != 'q') goto lab1;
                 z->c++;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'u') goto lab1;
                 z->c++;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
-            }
-        lab2:
-            z->c = c2;
+            } while (0);
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_2;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab0;
                 z->c = ret;
             }
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
-            if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                if (ret < 0) goto lab2;
+    int among_var;
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab1;
+            if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab1;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
+                if (ret < 0) goto lab1;
                 z->c = ret;
             }
-            goto lab1;
+            break;
+        lab1:
+            z->c = v_2;
+            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((33282 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab2;
+            among_var = find_among(z, a_0, 4, 0);
+            if (!among_var) goto lab2;
+            switch (among_var) {
+                case 1:
+                    if (in_grouping_U(z, g_v, 97, 251, 0)) goto lab2;
+                    break;
+            }
+            break;
         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;
-            if (!find_among(z, a_0, 3)) goto lab3;
-            goto lab1;
-        lab3:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_2;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab0;
                 z->c = ret;
             }
-
             {
                 int ret = out_grouping_U(z, g_v, 97, 251, 1);
                 if (ret < 0) goto lab0;
                 z->c += ret;
             }
-        }
-    lab1:
-        z->I[2] = z->c;
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c3 = z->c;
-
+    {
+        int v_3 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 251, 1);
-            if (ret < 0) goto lab4;
+            if (ret < 0) goto lab3;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab4:
-        z->c = c3;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab3:
+        z->c = v_3;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || z->p[z->c + 0] >> 5 != 2 || !((35652352 >> (z->p[z->c + 0] & 0x1f)) & 1)) among_var = 7; else
-        among_var = find_among(z, a_1, 7);
+        among_var = find_among(z, a_1, 7, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_10);
+                {
+                    int ret = slice_from_s(z, 1, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_11);
+                {
+                    int ret = slice_from_s(z, 1, s_11);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_12);
+                {
+                    int ret = slice_from_s(z, 1, s_12);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 2, s_13);
+                {
+                    int ret = slice_from_s(z, 2, s_13);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 2, s_14);
+                {
+                    int ret = slice_from_s(z, 2, s_14);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -655,346 +683,417 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 43);
+    among_var = find_among_b(z, a_4, 44, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int m2 = z->l - z->c; (void)m2;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab2;
+                do {
+                    int v_2 = z->l - z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m2;
-                    {   int ret = slice_from_s(z, 3, s_16);
+                    break;
+                lab1:
+                    z->c = z->l - v_2;
+                    {
+                        int ret = slice_from_s(z, 3, s_16);
                         if (ret < 0) return ret;
                     }
-                }
-            lab1:
+                } while (0);
             lab0:
                 ;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_18);
+            {
+                int ret = slice_from_s(z, 1, s_18);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_19);
+            {
+                int ret = slice_from_s(z, 3, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                among_var = find_among_b(z, a_2, 6);
-                if (!among_var) { z->c = z->l - m3; goto lab3; }
+                among_var = find_among_b(z, a_2, 6, 0);
+                if (!among_var) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_20))) { z->c = z->l - m3; goto lab3; }
+                        if (!(eq_s_b(z, 2, s_20))) { z->c = z->l - v_3; goto lab2; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int m4 = z->l - z->c; (void)m4;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab5;
+                        do {
+                            int v_4 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab3;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab4;
-                        lab5:
-                            z->c = z->l - m4;
-                            {   int ret = r_R1(z);
-                                if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                            break;
+                        lab3:
+                            z->c = z->l - v_4;
+                            {
+                                int ret = r_R1(z);
+                                if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_from_s(z, 3, s_21);
+                            {
+                                int ret = slice_from_s(z, 3, s_21);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab4:
+                        } while (0);
                         break;
                     case 3:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = r_RV(z);
-                            if (ret == 0) { z->c = z->l - m3; goto lab3; }
+                        {
+                            int ret = r_RV(z);
+                            if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_from_s(z, 1, s_22);
+                        {
+                            int ret = slice_from_s(z, 1, s_22);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-            lab3:
+            lab2:
                 ;
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m5 = z->l - z->c; (void)m5;
+            {
+                int v_5 = z->l - z->c;
                 z->ket = z->c;
-                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; }
-                among_var = find_among_b(z, a_3, 3);
-                if (!among_var) { z->c = z->l - m5; goto lab6; }
+                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 - v_5; goto lab4; }
+                among_var = find_among_b(z, a_3, 3, 0);
+                if (!among_var) { z->c = z->l - v_5; goto lab4; }
                 z->bra = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int m6 = z->l - z->c; (void)m6;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab8;
+                        do {
+                            int v_6 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab5;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab7;
-                        lab8:
-                            z->c = z->l - m6;
-                            {   int ret = slice_from_s(z, 3, s_23);
+                            break;
+                        lab5:
+                            z->c = z->l - v_6;
+                            {
+                                int ret = slice_from_s(z, 3, s_23);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab7:
+                        } while (0);
                         break;
                     case 2:
-                        {   int m7 = z->l - z->c; (void)m7;
-                            {   int ret = r_R2(z);
-                                if (ret == 0) goto lab10;
+                        do {
+                            int v_7 = z->l - z->c;
+                            {
+                                int ret = r_R2(z);
+                                if (ret == 0) goto lab6;
                                 if (ret < 0) return ret;
                             }
-                            {   int ret = slice_del(z);
+                            {
+                                int ret = slice_del(z);
                                 if (ret < 0) return ret;
                             }
-                            goto lab9;
-                        lab10:
-                            z->c = z->l - m7;
-                            {   int ret = slice_from_s(z, 3, s_24);
+                            break;
+                        lab6:
+                            z->c = z->l - v_7;
+                            {
+                                int ret = slice_from_s(z, 3, s_24);
                                 if (ret < 0) return ret;
                             }
-                        }
-                    lab9:
+                        } while (0);
                         break;
                     case 3:
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m5; goto lab6; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-            lab6:
+            lab4:
                 ;
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m8 = z->l - z->c; (void)m8;
+            {
+                int v_8 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m8; goto lab11; }
+                if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - v_8; goto lab7; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m8; goto lab11; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_8; goto lab7; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_26))) { z->c = z->l - m8; goto lab11; }
+                if (!(eq_s_b(z, 2, s_26))) { z->c = z->l - v_8; goto lab7; }
                 z->bra = z->c;
-                {   int m9 = z->l - z->c; (void)m9;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) goto lab13;
+                do {
+                    int v_9 = z->l - z->c;
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) goto lab8;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    goto lab12;
-                lab13:
-                    z->c = z->l - m9;
-                    {   int ret = slice_from_s(z, 3, s_27);
+                    break;
+                lab8:
+                    z->c = z->l - v_9;
+                    {
+                        int ret = slice_from_s(z, 3, s_27);
                         if (ret < 0) return ret;
                     }
-                }
-            lab12:
-            lab11:
+                } while (0);
+            lab7:
                 ;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 3, s_28);
+            {
+                int ret = slice_from_s(z, 3, s_28);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_29);
+            {
+                int ret = slice_from_s(z, 2, s_29);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int m10 = z->l - z->c; (void)m10;
-                {   int ret = r_R2(z);
-                    if (ret == 0) goto lab15;
+            if (in_grouping_b_U(z, g_oux_ending, 98, 112, 0)) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_30);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 12:
+            do {
+                int v_10 = z->l - z->c;
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) goto lab9;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                goto lab14;
-            lab15:
-                z->c = z->l - m10;
-                {   int ret = r_R1(z);
+                break;
+            lab9:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_R1(z);
                     if (ret <= 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 3, s_30);
+                {
+                    int ret = slice_from_s(z, 3, s_31);
                     if (ret < 0) return ret;
                 }
-            }
-        lab14:
+            } while (0);
             break;
-        case 12:
-            {   int ret = r_R1(z);
+        case 13:
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
             if (out_grouping_b_U(z, g_v, 97, 251, 0)) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
-        case 13:
-            {   int ret = r_RV(z);
+        case 14:
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_31);
+            {
+                int ret = slice_from_s(z, 3, s_32);
                 if (ret < 0) return ret;
             }
             return 0;
             break;
-        case 14:
-            {   int ret = r_RV(z);
+        case 15:
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_32);
+            {
+                int ret = slice_from_s(z, 3, s_33);
                 if (ret < 0) return ret;
             }
             return 0;
             break;
-        case 15:
-            {   int m_test11 = z->l - z->c;
+        case 16:
+            {
+                int v_11 = z->l - z->c;
                 if (in_grouping_b_U(z, g_v, 97, 251, 0)) return 0;
-                {   int ret = r_RV(z);
+                {
+                    int ret = r_RV(z);
                     if (ret <= 0) return ret;
                 }
-                z->c = z->l - m_test11;
+                z->c = z->l - v_11;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             return 0;
@@ -1004,293 +1103,365 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_i_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        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; }
-        if (!find_among_b(z, a_5, 35)) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68944418 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        if (!find_among_b(z, a_5, 35, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int m2 = z->l - z->c; (void)m2;
+        {
+            int v_2 = z->l - z->c;
             if (z->c <= z->lb || z->p[z->c - 1] != 'H') goto lab0;
             z->c--;
-            { z->lb = mlimit1; return 0; }
+            { z->lb = v_1; return 0; }
         lab0:
-            z->c = z->l - m2;
+            z->c = z->l - v_2;
         }
-        if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = mlimit1; return 0; }
-        {   int ret = slice_del(z);
+        if (out_grouping_b_U(z, g_v, 97, 251, 0)) { z->lb = v_1; return 0; }
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        among_var = find_among_b(z, a_6, 38);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_7, 41, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        switch (among_var) {
-            case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->lb = mlimit1; return 0; }
-                    if (ret < 0) return ret;
-                }
-                {   int ret = slice_del(z);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 2:
-                {   int ret = slice_del(z);
-                    if (ret < 0) return ret;
-                }
-                break;
-            case 3:
-                {   int ret = slice_del(z);
+        z->lb = v_1;
+    }
+    switch (among_var) {
+        case 1:
+            {
+                int ret = r_R2(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - v_2; goto lab0; }
+                z->c--;
+                {
+                    int ret = r_RV(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int m2 = z->l - z->c; (void)m2;
-                    z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') { z->c = z->l - m2; goto lab0; }
-                    z->c--;
-                    z->bra = z->c;
-                    {   int ret = slice_del(z);
-                        if (ret < 0) return ret;
-                    }
-                lab0:
-                    ;
+                z->bra = z->c;
+            lab0:
+                ;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int v_3 = z->l - z->c;
+                if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 108 && z->p[z->c - 1] != 118)) goto lab1;
+                among_var = find_among_b(z, a_6, 3, 0);
+                if (!among_var) goto lab1;
+                switch (among_var) {
+                    case 1:
+                        {
+                            int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                            if (ret < 0) goto lab1;
+                            z->c = ret;
+                        }
+                        if (z->c > z->lb) goto lab1;
+                        break;
                 }
-                break;
-        }
-        z->lb = mlimit1;
+                return 0;
+            lab1:
+                z->c = z->l - v_3;
+            }
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
     }
     return 1;
 }
 
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - v_1; goto lab0; }
         z->c--;
         z->bra = z->c;
-        {   int m_test2 = z->l - z->c;
-            {   int m3 = z->l - z->c; (void)m3;
-                if (!(eq_s_b(z, 2, s_33))) goto lab2;
-                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; }
-            }
-        lab1:
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            do {
+                int v_3 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_34))) goto lab1;
+                break;
+            lab1:
+                z->c = z->l - v_3;
+                if (out_grouping_b_U(z, g_keep_with_s, 97, 232, 0)) { z->c = z->l - v_1; goto lab0; }
+            } while (0);
+            z->c = z->l - v_2;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
         ;
     }
-
-    {   int mlimit4;
-        if (z->c < z->I[2]) return 0;
-        mlimit4 = z->lb; z->lb = z->I[2];
+    {
+        int v_4;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_4 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        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; }
-        among_var = find_among_b(z, a_7, 6);
-        if (!among_var) { z->lb = mlimit4; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((278560 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_4; return 0; }
+        among_var = find_among_b(z, a_8, 6, 0);
+        if (!among_var) { z->lb = v_4; return 0; }
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->lb = mlimit4; return 0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->lb = v_4; return 0; }
                     if (ret < 0) return ret;
                 }
-                {   int m5 = z->l - z->c; (void)m5;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab4;
+                do {
+                    int v_5 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
                     z->c--;
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m5;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit4; return 0; }
+                    break;
+                lab2:
+                    z->c = z->l - v_5;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = v_4; return 0; }
                     z->c--;
-                }
-            lab3:
-                {   int ret = slice_del(z);
+                } while (0);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_34);
+                {
+                    int ret = slice_from_s(z, 1, s_35);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        z->lb = mlimit4;
+        z->lb = v_4;
     }
     return 1;
 }
 
 static int r_un_double(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1069056 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_8, 5)) return 0;
-        z->c = z->l - m_test1;
+        if (!find_among_b(z, a_9, 5, 0)) return 0;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_un_accent(struct SN_env * z) {
-    {   int i = 1;
-        while(1) {
+    {
+        int v_1 = 1;
+        while (1) {
             if (out_grouping_b_U(z, g_v, 97, 251, 0)) goto lab0;
-            i--;
+            v_1--;
             continue;
         lab0:
             break;
         }
-        if (i > 0) return 0;
+        if (v_1 > 0) return 0;
     }
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (!(eq_s_b(z, 2, s_35))) goto lab2;
-        goto lab1;
-    lab2:
-        z->c = z->l - m1;
-        if (!(eq_s_b(z, 2, s_36))) return 0;
-    }
-lab1:
+    do {
+        int v_2 = z->l - z->c;
+        if (!(eq_s_b(z, 2, s_36))) goto lab1;
+        break;
+    lab1:
+        z->c = z->l - v_2;
+        if (!(eq_s_b(z, 2, s_37))) return 0;
+    } while (0);
     z->bra = z->c;
-    {   int ret = slice_from_s(z, 1, s_37);
+    {
+        int ret = slice_from_s(z, 1, s_38);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int french_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_elisions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_elisions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int m6 = z->l - z->c; (void)m6;
-                    {   int ret = r_standard_suffix(z);
-                        if (ret == 0) goto lab4;
+    {
+        int v_3 = z->l - z->c;
+        do {
+            int v_4 = z->l - z->c;
+            {
+                int v_5 = z->l - z->c;
+                do {
+                    int v_6 = z->l - z->c;
+                    {
+                        int ret = r_standard_suffix(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m6;
-                    {   int ret = r_i_verb_suffix(z);
-                        if (ret == 0) goto lab5;
+                    break;
+                lab2:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_i_verb_suffix(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab5:
-                    z->c = z->l - m6;
-                    {   int ret = r_verb_suffix(z);
-                        if (ret == 0) goto lab2;
+                    break;
+                lab3:
+                    z->c = z->l - v_6;
+                    {
+                        int ret = r_verb_suffix(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                }
-            lab3:
-                z->c = z->l - m5;
-                {   int m7 = z->l - z->c; (void)m7;
+                } while (0);
+                z->c = z->l - v_5;
+                {
+                    int v_7 = z->l - z->c;
                     z->ket = z->c;
-                    {   int m8 = z->l - z->c; (void)m8;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab8;
+                    do {
+                        int v_8 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'Y') goto lab5;
                         z->c--;
                         z->bra = z->c;
-                        {   int ret = slice_from_s(z, 1, s_38);
+                        {
+                            int ret = slice_from_s(z, 1, s_39);
                             if (ret < 0) return ret;
                         }
-                        goto lab7;
-                    lab8:
-                        z->c = z->l - m8;
-                        if (!(eq_s_b(z, 2, s_39))) { z->c = z->l - m7; goto lab6; }
+                        break;
+                    lab5:
+                        z->c = z->l - v_8;
+                        if (!(eq_s_b(z, 2, s_40))) { z->c = z->l - v_7; goto lab4; }
                         z->bra = z->c;
-                        {   int ret = slice_from_s(z, 1, s_40);
+                        {
+                            int ret = slice_from_s(z, 1, s_41);
                             if (ret < 0) return ret;
                         }
-                    }
-                lab7:
-                lab6:
+                    } while (0);
+                lab4:
                     ;
                 }
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m4;
-            {   int ret = r_residual_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_4;
+            {
+                int ret = r_residual_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_un_double(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_un_double(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_un_accent(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_un_accent(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
     z->c = z->lb;
-    {   int c11 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_11 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c11;
+        z->c = v_11;
     }
     return 1;
 }
 
-extern struct SN_env * french_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * french_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void french_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void french_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 6bb0ac050b431ede7044cc6e983a3543dc515a73..f47855aba1d3bf5646239c61a5ab4f51c17ad242 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from german.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_german.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,38 +21,43 @@ extern int german_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_standard_suffix(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * german_UTF_8_create_env(void);
-extern void german_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'U' };
+static const symbol s_1[] = { 'Y' };
+static const symbol s_2[] = { 's', 's' };
+static const symbol s_3[] = { 0xC3, 0xA4 };
+static const symbol s_4[] = { 0xC3, 0xB6 };
+static const symbol s_5[] = { 0xC3, 0xBC };
+static const symbol s_6[] = { 'y' };
+static const symbol s_7[] = { 'u' };
+static const symbol s_8[] = { 'a' };
+static const symbol s_9[] = { 'o' };
+static const symbol s_10[] = { 's', 'y', 's', 't' };
+static const symbol s_11[] = { 'n', 'i', 's' };
+static const symbol s_12[] = { 'l' };
+static const symbol s_13[] = { 'i', 'g' };
+static const symbol s_14[] = { 'e', 'r' };
+static const symbol s_15[] = { 'e', 'n' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 'a', 'e' };
 static const symbol s_0_2[2] = { 'o', 'e' };
 static const symbol s_0_3[2] = { 'q', 'u' };
 static const symbol s_0_4[2] = { 'u', 'e' };
 static const symbol s_0_5[2] = { 0xC3, 0x9F };
-
-static const struct among a_0[6] =
-{
-{ 0, 0, -1, 5, 0},
-{ 2, s_0_1, 0, 2, 0},
-{ 2, s_0_2, 0, 3, 0},
-{ 2, s_0_3, 0, -1, 0},
-{ 2, s_0_4, 0, 4, 0},
-{ 2, s_0_5, 0, 1, 0}
+static const struct among a_0[6] = {
+{ 0, 0, 0, 5, 0},
+{ 2, s_0_1, -1, 2, 0},
+{ 2, s_0_2, -2, 3, 0},
+{ 2, s_0_3, -3, -1, 0},
+{ 2, s_0_4, -4, 4, 0},
+{ 2, s_0_5, -5, 1, 0}
 };
 
 static const symbol s_1_1[1] = { 'U' };
@@ -48,15 +65,13 @@ static const symbol s_1_2[1] = { 'Y' };
 static const symbol s_1_3[2] = { 0xC3, 0xA4 };
 static const symbol s_1_4[2] = { 0xC3, 0xB6 };
 static const symbol s_1_5[2] = { 0xC3, 0xBC };
-
-static const struct among a_1[6] =
-{
-{ 0, 0, -1, 5, 0},
-{ 1, s_1_1, 0, 2, 0},
-{ 1, s_1_2, 0, 1, 0},
-{ 2, s_1_3, 0, 3, 0},
-{ 2, s_1_4, 0, 4, 0},
-{ 2, s_1_5, 0, 2, 0}
+static const struct among a_1[6] = {
+{ 0, 0, 0, 5, 0},
+{ 1, s_1_1, -1, 2, 0},
+{ 1, s_1_2, -2, 1, 0},
+{ 2, s_1_3, -3, 3, 0},
+{ 2, s_1_4, -4, 4, 0},
+{ 2, s_1_5, -5, 2, 0}
 };
 
 static const symbol s_2_0[1] = { 'e' };
@@ -70,248 +85,252 @@ static const symbol s_2_7[2] = { 'e', 'r' };
 static const symbol s_2_8[1] = { 's' };
 static const symbol s_2_9[2] = { 'e', 's' };
 static const symbol s_2_10[3] = { 'l', 'n', 's' };
-
-static const struct among a_2[11] =
-{
-{ 1, s_2_0, -1, 3, 0},
-{ 2, s_2_1, -1, 1, 0},
-{ 2, s_2_2, -1, 3, 0},
-{ 7, s_2_3, 2, 2, 0},
-{ 4, s_2_4, -1, 2, 0},
-{ 2, s_2_5, -1, 5, 0},
-{ 3, s_2_6, -1, 2, 0},
-{ 2, s_2_7, -1, 2, 0},
-{ 1, s_2_8, -1, 4, 0},
-{ 2, s_2_9, 8, 3, 0},
-{ 3, s_2_10, 8, 5, 0}
+static const struct among a_2[11] = {
+{ 1, s_2_0, 0, 3, 0},
+{ 2, s_2_1, 0, 1, 0},
+{ 2, s_2_2, 0, 3, 0},
+{ 7, s_2_3, -1, 2, 0},
+{ 4, s_2_4, 0, 2, 0},
+{ 2, s_2_5, 0, 5, 0},
+{ 3, s_2_6, 0, 2, 0},
+{ 2, s_2_7, 0, 2, 0},
+{ 1, s_2_8, 0, 4, 0},
+{ 2, s_2_9, -1, 3, 0},
+{ 3, s_2_10, -2, 5, 0}
 };
 
-static const symbol s_3_0[2] = { 'e', 'n' };
-static const symbol s_3_1[2] = { 'e', 'r' };
-static const symbol s_3_2[2] = { 's', 't' };
-static const symbol s_3_3[3] = { 'e', 's', 't' };
-
-static const struct among a_3[4] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 3, s_3_3, 2, 1, 0}
+static const symbol s_3_0[4] = { 't', 'i', 'c', 'k' };
+static const symbol s_3_1[4] = { 'p', 'l', 'a', 'n' };
+static const symbol s_3_2[6] = { 'g', 'e', 'o', 'r', 'd', 'n' };
+static const symbol s_3_3[6] = { 'i', 'n', 't', 'e', 'r', 'n' };
+static const symbol s_3_4[2] = { 't', 'r' };
+static const struct among a_3[5] = {
+{ 4, s_3_0, 0, -1, 0},
+{ 4, s_3_1, 0, -1, 0},
+{ 6, s_3_2, 0, -1, 0},
+{ 6, s_3_3, 0, -1, 0},
+{ 2, s_3_4, 0, -1, 0}
 };
 
-static const symbol s_4_0[2] = { 'i', 'g' };
-static const symbol s_4_1[4] = { 'l', 'i', 'c', 'h' };
-
-static const struct among a_4[2] =
-{
-{ 2, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0}
+static const symbol s_4_0[2] = { 'e', 'n' };
+static const symbol s_4_1[2] = { 'e', 'r' };
+static const symbol s_4_2[2] = { 'e', 't' };
+static const symbol s_4_3[2] = { 's', 't' };
+static const symbol s_4_4[3] = { 'e', 's', 't' };
+static const struct among a_4[5] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 3, 0},
+{ 2, s_4_3, 0, 2, 0},
+{ 3, s_4_4, -1, 1, 0}
 };
 
-static const symbol s_5_0[3] = { 'e', 'n', 'd' };
-static const symbol s_5_1[2] = { 'i', 'g' };
-static const symbol s_5_2[3] = { 'u', 'n', 'g' };
-static const symbol s_5_3[4] = { 'l', 'i', 'c', 'h' };
-static const symbol s_5_4[4] = { 'i', 's', 'c', 'h' };
-static const symbol s_5_5[2] = { 'i', 'k' };
-static const symbol s_5_6[4] = { 'h', 'e', 'i', 't' };
-static const symbol s_5_7[4] = { 'k', 'e', 'i', 't' };
+static const symbol s_5_0[2] = { 'i', 'g' };
+static const symbol s_5_1[4] = { 'l', 'i', 'c', 'h' };
+static const struct among a_5[2] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0}
+};
 
-static const struct among a_5[8] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 2, 0},
-{ 3, s_5_2, -1, 1, 0},
-{ 4, s_5_3, -1, 3, 0},
-{ 4, s_5_4, -1, 2, 0},
-{ 2, s_5_5, -1, 2, 0},
-{ 4, s_5_6, -1, 3, 0},
-{ 4, s_5_7, -1, 4, 0}
+static const symbol s_6_0[3] = { 'e', 'n', 'd' };
+static const symbol s_6_1[2] = { 'i', 'g' };
+static const symbol s_6_2[3] = { 'u', 'n', 'g' };
+static const symbol s_6_3[4] = { 'l', 'i', 'c', 'h' };
+static const symbol s_6_4[4] = { 'i', 's', 'c', 'h' };
+static const symbol s_6_5[2] = { 'i', 'k' };
+static const symbol s_6_6[4] = { 'h', 'e', 'i', 't' };
+static const symbol s_6_7[4] = { 'k', 'e', 'i', 't' };
+static const struct among a_6[8] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 2, s_6_1, 0, 2, 0},
+{ 3, s_6_2, 0, 1, 0},
+{ 4, s_6_3, 0, 3, 0},
+{ 4, s_6_4, 0, 2, 0},
+{ 2, s_6_5, 0, 2, 0},
+{ 4, s_6_6, 0, 3, 0},
+{ 4, s_6_7, 0, 4, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
 
+static const unsigned char g_et_ending[] = { 1, 128, 198, 227, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
+
 static const unsigned char g_s_ending[] = { 117, 30, 5 };
 
 static const unsigned char g_st_ending[] = { 117, 30, 4 };
 
-static const symbol s_0[] = { 'U' };
-static const symbol s_1[] = { 'Y' };
-static const symbol s_2[] = { 's', 's' };
-static const symbol s_3[] = { 0xC3, 0xA4 };
-static const symbol s_4[] = { 0xC3, 0xB6 };
-static const symbol s_5[] = { 0xC3, 0xBC };
-static const symbol s_6[] = { 'y' };
-static const symbol s_7[] = { 'u' };
-static const symbol s_8[] = { 'a' };
-static const symbol s_9[] = { 'o' };
-static const symbol s_10[] = { 's', 'y', 's', 't' };
-static const symbol s_11[] = { 'n', 'i', 's' };
-static const symbol s_12[] = { 'l' };
-static const symbol s_13[] = { 'i', 'g' };
-static const symbol s_14[] = { 'e', 'r' };
-static const symbol s_15[] = { 'e', 'n' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
                 z->bra = z->c;
-                {   int c4 = z->c;
-                    if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
+                do {
+                    int v_4 = z->c;
+                    if (z->c == z->l || z->p[z->c] != 'u') goto lab2;
                     z->c++;
                     z->ket = z->c;
-                    if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
-                    {   int ret = slice_from_s(z, 1, s_0);
+                    if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
+                    {
+                        int ret = slice_from_s(z, 1, s_0);
                         if (ret < 0) return ret;
                     }
-                    goto lab2;
-                lab3:
-                    z->c = c4;
+                    break;
+                lab2:
+                    z->c = v_4;
                     if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
                     z->c++;
                     z->ket = z->c;
                     if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
-                    {   int ret = slice_from_s(z, 1, s_1);
+                    {
+                        int ret = slice_from_s(z, 1, s_1);
                         if (ret < 0) return ret;
                     }
-                }
-            lab2:
-                z->c = c3;
+                } while (0);
+                z->c = v_3;
                 break;
             lab1:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
             }
             continue;
         lab0:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c_test1;
+        z->c = v_1;
     }
-    while(1) {
-        int c5 = z->c;
+    while (1) {
+        int v_5 = z->c;
         z->bra = z->c;
-        among_var = find_among(z, a_0, 6);
+        among_var = find_among(z, a_0, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_2);
+                {
+                    int ret = slice_from_s(z, 2, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_3);
+                {
+                    int ret = slice_from_s(z, 2, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 2, s_4);
+                {
+                    int ret = slice_from_s(z, 2, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 2, s_5);
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                    if (ret < 0) goto lab4;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
+                    if (ret < 0) goto lab3;
                     z->c = ret;
                 }
                 break;
         }
         continue;
-    lab4:
-        z->c = c5;
+    lab3:
+        z->c = v_5;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->I[0] = z->c;
-        z->c = c_test1;
+        i_x = z->c;
+        z->c = v_1;
     }
-
     {
         int ret = out_grouping_U(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-
     {
         int ret = in_grouping_U(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[2] = z->c;
-
-    if (z->I[2] >= z->I[0]) goto lab0;
-    z->I[2] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
-
     {
         int ret = out_grouping_U(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-
     {
         int ret = in_grouping_U(z, g_v, 97, 252, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
+    ((SN_local *)z)->i_p2 = z->c;
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
-        among_var = find_among(z, a_1, 6);
+        among_var = find_among(z, a_1, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_6);
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_7);
+                {
+                    int ret = slice_from_s(z, 1, s_7);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_8);
+                {
+                    int ret = slice_from_s(z, 1, s_8);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -319,60 +338,68 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((811040 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
-        among_var = find_among_b(z, a_2, 11);
+        among_var = find_among_b(z, a_2, 11, 0);
         if (!among_var) goto lab0;
         z->bra = z->c;
-        {   int ret = r_R1(z);
+        {
+            int ret = r_R1(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int m2 = z->l - z->c; (void)m2;
+                {
+                    int v_2 = z->l - z->c;
                     if (!(eq_s_b(z, 4, s_10))) goto lab1;
                     goto lab0;
                 lab1:
-                    z->c = z->l - m2;
+                    z->c = z->l - v_2;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m3 = z->l - z->c; (void)m3;
+                {
+                    int v_3 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - m3; goto lab2; }
+                    if (z->c <= z->lb || z->p[z->c - 1] != 's') { z->c = z->l - v_3; goto lab2; }
                     z->c--;
                     z->bra = z->c;
-                    if (!(eq_s_b(z, 3, s_11))) { z->c = z->l - m3; goto lab2; }
-                    {   int ret = slice_del(z);
+                    if (!(eq_s_b(z, 3, s_11))) { z->c = z->l - v_3; goto lab2; }
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                 lab2:
@@ -381,138 +408,181 @@ static int r_standard_suffix(struct SN_env * z) {
                 break;
             case 4:
                 if (in_grouping_b_U(z, g_s_ending, 98, 116, 0)) goto lab0;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_12);
+                {
+                    int ret = slice_from_s(z, 1, s_12);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m4 = z->l - z->c; (void)m4;
+    {
+        int v_4 = z->l - z->c;
         z->ket = z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1327104 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab3;
-        among_var = find_among_b(z, a_3, 4);
+        among_var = find_among_b(z, a_4, 5, 0);
         if (!among_var) goto lab3;
         z->bra = z->c;
-        {   int ret = r_R1(z);
+        {
+            int ret = r_R1(z);
             if (ret == 0) goto lab3;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
                 if (in_grouping_b_U(z, g_st_ending, 98, 116, 0)) goto lab3;
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 3);
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 3);
                     if (ret < 0) goto lab3;
                     z->c = ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                break;
+            case 3:
+                {
+                    int v_5 = z->l - z->c;
+                    if (in_grouping_b_U(z, g_et_ending, 85, 228, 0)) goto lab3;
+                    z->c = z->l - v_5;
+                }
+                {
+                    int v_6 = z->l - z->c;
+                    if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((280576 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4;
+                    if (!find_among_b(z, a_3, 5, 0)) goto lab4;
+                    goto lab3;
+                lab4:
+                    z->c = z->l - v_6;
+                }
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
     lab3:
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
+    {
+        int v_7 = z->l - z->c;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab4;
-        among_var = find_among_b(z, a_5, 8);
-        if (!among_var) goto lab4;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1051024 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab5;
+        among_var = find_among_b(z, a_6, 8, 0);
+        if (!among_var) goto lab5;
         z->bra = z->c;
-        {   int ret = r_R2(z);
-            if (ret == 0) goto lab4;
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab5;
             if (ret < 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
+                {
+                    int v_8 = z->l - z->c;
                     z->ket = z->c;
-                    if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m6; goto lab5; }
+                    if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - v_8; goto lab6; }
                     z->bra = z->c;
-                    {   int m7 = z->l - z->c; (void)m7;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab6;
+                    {
+                        int v_9 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
                         z->c--;
-                        { z->c = z->l - m6; goto lab5; }
-                    lab6:
-                        z->c = z->l - m7;
+                        { z->c = z->l - v_8; goto lab6; }
+                    lab7:
+                        z->c = z->l - v_9;
                     }
-                    {   int ret = r_R2(z);
-                        if (ret == 0) { z->c = z->l - m6; goto lab5; }
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) { z->c = z->l - v_8; goto lab6; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab5:
+                lab6:
                     ;
                 }
                 break;
             case 2:
-                {   int m8 = z->l - z->c; (void)m8;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab7;
+                {
+                    int v_10 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
                     z->c--;
-                    goto lab4;
-                lab7:
-                    z->c = z->l - m8;
+                    goto lab5;
+                lab8:
+                    z->c = z->l - v_10;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m9 = z->l - z->c; (void)m9;
+                {
+                    int v_11 = z->l - z->c;
                     z->ket = z->c;
-                    {   int m10 = z->l - z->c; (void)m10;
+                    do {
+                        int v_12 = z->l - z->c;
                         if (!(eq_s_b(z, 2, s_14))) goto lab10;
-                        goto lab9;
+                        break;
                     lab10:
-                        z->c = z->l - m10;
-                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m9; goto lab8; }
-                    }
-                lab9:
+                        z->c = z->l - v_12;
+                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - v_11; goto lab9; }
+                    } while (0);
                     z->bra = z->c;
-                    {   int ret = r_R1(z);
-                        if (ret == 0) { z->c = z->l - m9; goto lab8; }
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) { z->c = z->l - v_11; goto lab9; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab8:
+                lab9:
                     ;
                 }
                 break;
             case 4:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m11 = z->l - z->c; (void)m11;
+                {
+                    int v_13 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - m11; goto lab11; }
-                    if (!find_among_b(z, a_4, 2)) { z->c = z->l - m11; goto lab11; }
+                    if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 103 && z->p[z->c - 1] != 104)) { z->c = z->l - v_13; goto lab11; }
+                    if (!find_among_b(z, a_5, 2, 0)) { z->c = z->l - v_13; goto lab11; }
                     z->bra = z->c;
-                    {   int ret = r_R2(z);
-                        if (ret == 0) { z->c = z->l - m11; goto lab11; }
+                    {
+                        int ret = r_R2(z);
+                        if (ret == 0) { z->c = z->l - v_13; goto lab11; }
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                 lab11:
@@ -520,42 +590,56 @@ static int r_standard_suffix(struct SN_env * z) {
                 }
                 break;
         }
-    lab4:
-        z->c = z->l - m5;
+    lab5:
+        z->c = z->l - v_7;
     }
     return 1;
 }
 
 extern int german_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int ret = r_standard_suffix(z);
+    {
+        int ret = r_standard_suffix(z);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
-    {   int c3 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_3 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c3;
+        z->c = v_3;
     }
     return 1;
 }
 
-extern struct SN_env * german_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * german_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void german_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void german_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 33e5465267ca42c925b613db0bbb0214c16422d1..fe62148a536ee64d34ee06c8c415ff79fa424e1a 100644 (file)
@@ -1,6 +1,25 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from greek.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_greek.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    unsigned char b_test1;
+};
+
+typedef struct SN_local SN_local;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int greek_UTF_8_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
 
 static int r_step_7(struct SN_env * z);
 static int r_step_6(struct SN_env * z);
@@ -36,25 +55,117 @@ static int r_step_s2(struct SN_env * z);
 static int r_step_s1(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);
 
+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, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_81[] = { 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_82[] = { 0xCE, 0xB5, 0xCF, 0x84 };
+static const symbol s_83[] = { 0xCE, 0xB5, 0xCF, 0x84 };
+static const symbol s_84[] = { 0xCE, 0xB5, 0xCF, 0x84 };
+static const symbol s_85[] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x87 };
+static const symbol s_86[] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84 };
+static const symbol s_87[] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB5 };
+static const symbol s_88[] = { 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84 };
+static const symbol s_89[] = { 0xCE, 0xBF, 0xCE, 0xBD };
+static const symbol s_90[] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_91[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_92[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_93[] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_94[] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_95[] = { 0xCE, 0xB7, 0xCE, 0xBA };
+static const symbol s_96[] = { 0xCE, 0xB7, 0xCE, 0xBA };
+static const symbol s_97[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_98[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_99[] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBB };
+static const symbol s_100[] = { 0xCE, 0xB1, 0xCE, 0xB3 };
+static const symbol s_101[] = { 0xCE, 0xB1, 0xCE, 0xB3 };
+static const symbol s_102[] = { 0xCE, 0xB1, 0xCE, 0xB3 };
+static const symbol s_103[] = { 0xCE, 0xB7, 0xCF, 0x83 };
+static const symbol s_104[] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_105[] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_106[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_107[] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC };
+static const symbol s_108[] = { 0xCE, 0xBC, 0xCE, 0xB1 };
 
-#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 };
@@ -100,55 +211,53 @@ 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, -1, 25, 0},
-{ 2, s_0_1, 0, 18, 0},
-{ 2, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, 5, 0},
-{ 2, s_0_4, 0, 7, 0},
-{ 2, s_0_5, 0, 9, 0},
-{ 2, s_0_6, 0, 7, 0},
-{ 2, s_0_7, 0, 20, 0},
-{ 2, s_0_8, 0, 15, 0},
-{ 2, s_0_9, 0, 15, 0},
-{ 2, s_0_10, 0, 20, 0},
-{ 2, s_0_11, 0, 20, 0},
-{ 2, s_0_12, 0, 24, 0},
-{ 2, s_0_13, 0, 24, 0},
-{ 2, s_0_14, 0, 7, 0},
-{ 2, s_0_15, 0, 1, 0},
-{ 2, s_0_16, 0, 2, 0},
-{ 2, s_0_17, 0, 3, 0},
-{ 2, s_0_18, 0, 4, 0},
-{ 2, s_0_19, 0, 5, 0},
-{ 2, s_0_20, 0, 6, 0},
-{ 2, s_0_21, 0, 7, 0},
-{ 2, s_0_22, 0, 8, 0},
-{ 2, s_0_23, 0, 9, 0},
-{ 2, s_0_24, 0, 10, 0},
-{ 2, s_0_25, 0, 11, 0},
-{ 2, s_0_26, 0, 12, 0},
-{ 2, s_0_27, 0, 13, 0},
-{ 2, s_0_28, 0, 14, 0},
-{ 2, s_0_29, 0, 15, 0},
-{ 2, s_0_30, 0, 16, 0},
-{ 2, s_0_31, 0, 17, 0},
-{ 2, s_0_32, 0, 18, 0},
-{ 2, s_0_33, 0, 19, 0},
-{ 2, s_0_34, 0, 20, 0},
-{ 2, s_0_35, 0, 21, 0},
-{ 2, s_0_36, 0, 22, 0},
-{ 2, s_0_37, 0, 23, 0},
-{ 2, s_0_38, 0, 24, 0},
-{ 2, s_0_39, 0, 9, 0},
-{ 2, s_0_40, 0, 20, 0},
-{ 2, s_0_41, 0, 1, 0},
-{ 2, s_0_42, 0, 5, 0},
-{ 2, s_0_43, 0, 7, 0},
-{ 2, s_0_44, 0, 9, 0},
-{ 2, s_0_45, 0, 20, 0}
+static const struct among a_0[46] = {
+{ 0, 0, 0, 25, 0},
+{ 2, s_0_1, -1, 18, 0},
+{ 2, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, 5, 0},
+{ 2, s_0_4, -4, 7, 0},
+{ 2, s_0_5, -5, 9, 0},
+{ 2, s_0_6, -6, 7, 0},
+{ 2, s_0_7, -7, 20, 0},
+{ 2, s_0_8, -8, 15, 0},
+{ 2, s_0_9, -9, 15, 0},
+{ 2, s_0_10, -10, 20, 0},
+{ 2, s_0_11, -11, 20, 0},
+{ 2, s_0_12, -12, 24, 0},
+{ 2, s_0_13, -13, 24, 0},
+{ 2, s_0_14, -14, 7, 0},
+{ 2, s_0_15, -15, 1, 0},
+{ 2, s_0_16, -16, 2, 0},
+{ 2, s_0_17, -17, 3, 0},
+{ 2, s_0_18, -18, 4, 0},
+{ 2, s_0_19, -19, 5, 0},
+{ 2, s_0_20, -20, 6, 0},
+{ 2, s_0_21, -21, 7, 0},
+{ 2, s_0_22, -22, 8, 0},
+{ 2, s_0_23, -23, 9, 0},
+{ 2, s_0_24, -24, 10, 0},
+{ 2, s_0_25, -25, 11, 0},
+{ 2, s_0_26, -26, 12, 0},
+{ 2, s_0_27, -27, 13, 0},
+{ 2, s_0_28, -28, 14, 0},
+{ 2, s_0_29, -29, 15, 0},
+{ 2, s_0_30, -30, 16, 0},
+{ 2, s_0_31, -31, 17, 0},
+{ 2, s_0_32, -32, 18, 0},
+{ 2, s_0_33, -33, 19, 0},
+{ 2, s_0_34, -34, 20, 0},
+{ 2, s_0_35, -35, 21, 0},
+{ 2, s_0_36, -36, 22, 0},
+{ 2, s_0_37, -37, 23, 0},
+{ 2, s_0_38, -38, 24, 0},
+{ 2, s_0_39, -39, 9, 0},
+{ 2, s_0_40, -40, 20, 0},
+{ 2, s_0_41, -41, 1, 0},
+{ 2, s_0_42, -42, 5, 0},
+{ 2, s_0_43, -43, 7, 0},
+{ 2, s_0_44, -44, 9, 0},
+{ 2, s_0_45, -45, 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 };
@@ -191,49 +300,47 @@ static const symbol s_1_36[14] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB
 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] =
-{
-{ 16, s_1_0, -1, 10, 0},
-{ 6, s_1_1, -1, 9, 0},
-{ 10, s_1_2, -1, 7, 0},
-{ 10, s_1_3, -1, 8, 0},
-{ 10, s_1_4, -1, 6, 0},
-{ 20, s_1_5, -1, 10, 0},
-{ 10, s_1_6, -1, 9, 0},
-{ 14, s_1_7, -1, 7, 0},
-{ 14, s_1_8, -1, 8, 0},
-{ 14, s_1_9, -1, 6, 0},
-{ 18, s_1_10, -1, 11, 0},
-{ 14, s_1_11, -1, 11, 0},
-{ 12, s_1_12, -1, 1, 0},
-{ 14, s_1_13, -1, 2, 0},
-{ 12, s_1_14, -1, 4, 0},
-{ 16, s_1_15, -1, 5, 0},
-{ 14, s_1_16, -1, 3, 0},
-{ 18, s_1_17, -1, 10, 0},
-{ 8, s_1_18, -1, 9, 0},
-{ 12, s_1_19, -1, 7, 0},
-{ 12, s_1_20, -1, 8, 0},
-{ 12, s_1_21, -1, 6, 0},
-{ 16, s_1_22, -1, 11, 0},
-{ 10, s_1_23, -1, 1, 0},
-{ 12, s_1_24, -1, 2, 0},
-{ 10, s_1_25, -1, 4, 0},
-{ 14, s_1_26, -1, 5, 0},
-{ 12, s_1_27, -1, 3, 0},
-{ 12, s_1_28, -1, 7, 0},
-{ 20, s_1_29, -1, 10, 0},
-{ 10, s_1_30, -1, 9, 0},
-{ 14, s_1_31, -1, 7, 0},
-{ 14, s_1_32, -1, 8, 0},
-{ 14, s_1_33, -1, 6, 0},
-{ 18, s_1_34, -1, 11, 0},
-{ 12, s_1_35, -1, 1, 0},
-{ 14, s_1_36, -1, 2, 0},
-{ 12, s_1_37, -1, 4, 0},
-{ 16, s_1_38, -1, 5, 0},
-{ 14, s_1_39, -1, 3, 0}
+static const struct among a_1[40] = {
+{ 16, s_1_0, 0, 10, 0},
+{ 6, s_1_1, 0, 9, 0},
+{ 10, s_1_2, 0, 7, 0},
+{ 10, s_1_3, 0, 8, 0},
+{ 10, s_1_4, 0, 6, 0},
+{ 20, s_1_5, 0, 10, 0},
+{ 10, s_1_6, 0, 9, 0},
+{ 14, s_1_7, 0, 7, 0},
+{ 14, s_1_8, 0, 8, 0},
+{ 14, s_1_9, 0, 6, 0},
+{ 18, s_1_10, 0, 11, 0},
+{ 14, s_1_11, 0, 11, 0},
+{ 12, s_1_12, 0, 1, 0},
+{ 14, s_1_13, 0, 2, 0},
+{ 12, s_1_14, 0, 4, 0},
+{ 16, s_1_15, 0, 5, 0},
+{ 14, s_1_16, 0, 3, 0},
+{ 18, s_1_17, 0, 10, 0},
+{ 8, s_1_18, 0, 9, 0},
+{ 12, s_1_19, 0, 7, 0},
+{ 12, s_1_20, 0, 8, 0},
+{ 12, s_1_21, 0, 6, 0},
+{ 16, s_1_22, 0, 11, 0},
+{ 10, s_1_23, 0, 1, 0},
+{ 12, s_1_24, 0, 2, 0},
+{ 10, s_1_25, 0, 4, 0},
+{ 14, s_1_26, 0, 5, 0},
+{ 12, s_1_27, 0, 3, 0},
+{ 12, s_1_28, 0, 7, 0},
+{ 20, s_1_29, 0, 10, 0},
+{ 10, s_1_30, 0, 9, 0},
+{ 14, s_1_31, 0, 7, 0},
+{ 14, s_1_32, 0, 8, 0},
+{ 14, s_1_33, 0, 6, 0},
+{ 18, s_1_34, 0, 11, 0},
+{ 12, s_1_35, 0, 1, 0},
+{ 14, s_1_36, 0, 2, 0},
+{ 12, s_1_37, 0, 4, 0},
+{ 16, s_1_38, 0, 5, 0},
+{ 14, s_1_39, 0, 3, 0}
 };
 
 static const symbol s_2_0[2] = { 0xCF, 0x80 };
@@ -267,40 +374,38 @@ static const symbol s_2_27[2] = { 0xCE, 0xBC };
 static const symbol s_2_28[8] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x81, 0xCE, 0xBD };
 static const symbol s_2_29[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
 static const symbol s_2_30[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
-
-static const struct among a_2[31] =
-{
-{ 2, s_2_0, -1, 2, 0},
-{ 6, s_2_1, 0, 2, 0},
-{ 2, s_2_2, -1, 2, 0},
-{ 4, s_2_3, 2, 2, 0},
-{ 6, s_2_4, 3, 2, 0},
-{ 6, s_2_5, 2, 2, 0},
-{ 12, s_2_6, 2, 2, 0},
-{ 10, s_2_7, 2, 2, 0},
-{ 10, s_2_8, 2, 2, 0},
-{ 6, s_2_9, 2, 2, 0},
-{ 6, s_2_10, 2, 2, 0},
-{ 14, s_2_11, 2, 2, 0},
-{ 12, s_2_12, 2, 2, 0},
-{ 12, s_2_13, 2, 2, 0},
-{ 6, s_2_14, -1, 2, 0},
-{ 4, s_2_15, -1, 1, 0},
-{ 12, s_2_16, 15, 1, 0},
-{ 6, s_2_17, 15, 1, 0},
-{ 12, s_2_18, 15, 1, 0},
-{ 12, s_2_19, 15, 1, 0},
-{ 8, s_2_20, 15, 1, 0},
-{ 2, s_2_21, -1, 2, 0},
-{ 8, s_2_22, -1, 1, 0},
-{ 12, s_2_23, -1, 2, 0},
-{ 8, s_2_24, -1, 2, 0},
-{ 8, s_2_25, -1, 2, 0},
-{ 2, s_2_26, -1, 2, 0},
-{ 2, s_2_27, -1, 2, 0},
-{ 8, s_2_28, -1, 2, 0},
-{ 8, s_2_29, -1, 1, 0},
-{ 14, s_2_30, 29, 1, 0}
+static const struct among a_2[31] = {
+{ 2, s_2_0, 0, 2, 0},
+{ 6, s_2_1, -1, 2, 0},
+{ 2, s_2_2, 0, 2, 0},
+{ 4, s_2_3, -1, 2, 0},
+{ 6, s_2_4, -1, 2, 0},
+{ 6, s_2_5, -3, 2, 0},
+{ 12, s_2_6, -4, 2, 0},
+{ 10, s_2_7, -5, 2, 0},
+{ 10, s_2_8, -6, 2, 0},
+{ 6, s_2_9, -7, 2, 0},
+{ 6, s_2_10, -8, 2, 0},
+{ 14, s_2_11, -9, 2, 0},
+{ 12, s_2_12, -10, 2, 0},
+{ 12, s_2_13, -11, 2, 0},
+{ 6, s_2_14, 0, 2, 0},
+{ 4, s_2_15, 0, 1, 0},
+{ 12, s_2_16, -1, 1, 0},
+{ 6, s_2_17, -2, 1, 0},
+{ 12, s_2_18, -3, 1, 0},
+{ 12, s_2_19, -4, 1, 0},
+{ 8, s_2_20, -5, 1, 0},
+{ 2, s_2_21, 0, 2, 0},
+{ 8, s_2_22, 0, 1, 0},
+{ 12, s_2_23, 0, 2, 0},
+{ 8, s_2_24, 0, 2, 0},
+{ 8, s_2_25, 0, 2, 0},
+{ 2, s_2_26, 0, 2, 0},
+{ 2, s_2_27, 0, 2, 0},
+{ 8, s_2_28, 0, 2, 0},
+{ 8, s_2_29, 0, 1, 0},
+{ 14, s_2_30, -1, 1, 0}
 };
 
 static const symbol s_3_0[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCF, 0x83 };
@@ -317,23 +422,21 @@ static const symbol s_3_10[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xB
 static const symbol s_3_11[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB5, 0xCE, 0xB9 };
 static const symbol s_3_12[10] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
 static const symbol s_3_13[8] = { 0xCE, 0xB9, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD };
-
-static const struct among a_3[14] =
-{
-{ 8, s_3_0, -1, 1, 0},
-{ 10, s_3_1, -1, 1, 0},
-{ 6, s_3_2, -1, 1, 0},
-{ 6, s_3_3, -1, 1, 0},
-{ 10, s_3_4, -1, 1, 0},
-{ 10, s_3_5, -1, 1, 0},
-{ 6, s_3_6, -1, 1, 0},
-{ 12, s_3_7, -1, 1, 0},
-{ 10, s_3_8, -1, 1, 0},
-{ 12, s_3_9, -1, 1, 0},
-{ 10, s_3_10, -1, 1, 0},
-{ 8, s_3_11, -1, 1, 0},
-{ 10, s_3_12, -1, 1, 0},
-{ 8, s_3_13, -1, 1, 0}
+static const struct among a_3[14] = {
+{ 8, s_3_0, 0, 1, 0},
+{ 10, s_3_1, 0, 1, 0},
+{ 6, s_3_2, 0, 1, 0},
+{ 6, s_3_3, 0, 1, 0},
+{ 10, s_3_4, 0, 1, 0},
+{ 10, s_3_5, 0, 1, 0},
+{ 6, s_3_6, 0, 1, 0},
+{ 12, s_3_7, 0, 1, 0},
+{ 10, s_3_8, 0, 1, 0},
+{ 12, s_3_9, 0, 1, 0},
+{ 10, s_3_10, 0, 1, 0},
+{ 8, s_3_11, 0, 1, 0},
+{ 10, s_3_12, 0, 1, 0},
+{ 8, s_3_13, 0, 1, 0}
 };
 
 static const symbol s_4_0[2] = { 0xCF, 0x83 };
@@ -344,17 +447,15 @@ static const symbol s_4_4[4] = { 0xCE, 0xB2, 0xCE, 0xB9 };
 static const symbol s_4_5[4] = { 0xCE, 0xBB, 0xCE, 0xB9 };
 static const symbol s_4_6[4] = { 0xCE, 0xB1, 0xCE, 0xBB };
 static const symbol s_4_7[4] = { 0xCE, 0xB5, 0xCE, 0xBD };
-
-static const struct among a_4[8] =
-{
-{ 2, s_4_0, -1, 1, 0},
-{ 2, s_4_1, -1, 1, 0},
-{ 4, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 1, 0},
-{ 4, s_4_4, -1, 1, 0},
-{ 4, s_4_5, -1, 1, 0},
-{ 4, s_4_6, -1, 1, 0},
-{ 4, s_4_7, -1, 1, 0}
+static const struct among a_4[8] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 2, s_4_1, 0, 1, 0},
+{ 4, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 1, 0},
+{ 4, s_4_4, 0, 1, 0},
+{ 4, s_4_5, 0, 1, 0},
+{ 4, s_4_6, 0, 1, 0},
+{ 4, s_4_7, 0, 1, 0}
 };
 
 static const symbol s_5_0[12] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 };
@@ -364,16 +465,14 @@ static const symbol s_5_3[10] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA
 static const symbol s_5_4[14] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
 static const symbol s_5_5[14] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_5_6[12] = { 0xCF, 0x89, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
-
-static const struct among a_5[7] =
-{
-{ 12, s_5_0, -1, 1, 0},
-{ 10, s_5_1, -1, 1, 0},
-{ 14, s_5_2, -1, 1, 0},
-{ 10, s_5_3, -1, 1, 0},
-{ 14, s_5_4, -1, 1, 0},
-{ 14, s_5_5, -1, 1, 0},
-{ 12, s_5_6, -1, 1, 0}
+static const struct among a_5[7] = {
+{ 12, s_5_0, 0, 1, 0},
+{ 10, s_5_1, 0, 1, 0},
+{ 14, s_5_2, 0, 1, 0},
+{ 10, s_5_3, 0, 1, 0},
+{ 14, s_5_4, 0, 1, 0},
+{ 14, s_5_5, 0, 1, 0},
+{ 12, s_5_6, 0, 1, 0}
 };
 
 static const symbol s_6_0[2] = { 0xCF, 0x80 };
@@ -408,41 +507,39 @@ static const symbol s_6_28[4] = { 0xCE, 0xB1, 0xCE, 0xBD };
 static const symbol s_6_29[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
 static const symbol s_6_30[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
 static const symbol s_6_31[6] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF };
-
-static const struct among a_6[32] =
-{
-{ 2, s_6_0, -1, 2, 0},
-{ 6, s_6_1, -1, 2, 0},
-{ 16, s_6_2, -1, 2, 0},
-{ 4, s_6_3, -1, 2, 0},
-{ 18, s_6_4, 3, 2, 0},
-{ 12, s_6_5, -1, 1, 0},
-{ 6, s_6_6, -1, 1, 0},
-{ 12, s_6_7, -1, 1, 0},
-{ 12, s_6_8, -1, 1, 0},
-{ 8, s_6_9, -1, 1, 0},
-{ 14, s_6_10, -1, 1, 0},
-{ 12, s_6_11, -1, 1, 0},
-{ 4, s_6_12, -1, 1, 0},
-{ 6, s_6_13, 12, 1, 0},
-{ 12, s_6_14, 13, 1, 0},
-{ 6, s_6_15, -1, 1, 0},
-{ 4, s_6_16, -1, 2, 0},
-{ 6, s_6_17, -1, 2, 0},
-{ 6, s_6_18, -1, 1, 0},
-{ 12, s_6_19, 18, 1, 0},
-{ 8, s_6_20, 18, 1, 0},
-{ 12, s_6_21, 20, 1, 0},
-{ 12, s_6_22, 18, 1, 0},
-{ 8, s_6_23, -1, 1, 0},
-{ 4, s_6_24, -1, 2, 0},
-{ 2, s_6_25, -1, 2, 0},
-{ 12, s_6_26, 25, 2, 0},
-{ 6, s_6_27, 25, 2, 0},
-{ 4, s_6_28, -1, 2, 0},
-{ 8, s_6_29, -1, 1, 0},
-{ 14, s_6_30, 29, 1, 0},
-{ 6, s_6_31, -1, 2, 0}
+static const struct among a_6[32] = {
+{ 2, s_6_0, 0, 2, 0},
+{ 6, s_6_1, 0, 2, 0},
+{ 16, s_6_2, 0, 2, 0},
+{ 4, s_6_3, 0, 2, 0},
+{ 18, s_6_4, -1, 2, 0},
+{ 12, s_6_5, 0, 1, 0},
+{ 6, s_6_6, 0, 1, 0},
+{ 12, s_6_7, 0, 1, 0},
+{ 12, s_6_8, 0, 1, 0},
+{ 8, s_6_9, 0, 1, 0},
+{ 14, s_6_10, 0, 1, 0},
+{ 12, s_6_11, 0, 1, 0},
+{ 4, s_6_12, 0, 1, 0},
+{ 6, s_6_13, -1, 1, 0},
+{ 12, s_6_14, -1, 1, 0},
+{ 6, s_6_15, 0, 1, 0},
+{ 4, s_6_16, 0, 2, 0},
+{ 6, s_6_17, 0, 2, 0},
+{ 6, s_6_18, 0, 1, 0},
+{ 12, s_6_19, -1, 1, 0},
+{ 8, s_6_20, -2, 1, 0},
+{ 12, s_6_21, -1, 1, 0},
+{ 12, s_6_22, -4, 1, 0},
+{ 8, s_6_23, 0, 1, 0},
+{ 4, s_6_24, 0, 2, 0},
+{ 2, s_6_25, 0, 2, 0},
+{ 12, s_6_26, -1, 2, 0},
+{ 6, s_6_27, -2, 2, 0},
+{ 4, s_6_28, 0, 2, 0},
+{ 8, s_6_29, 0, 1, 0},
+{ 14, s_6_30, -1, 1, 0},
+{ 6, s_6_31, 0, 2, 0}
 };
 
 static const symbol s_7_0[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 };
@@ -452,16 +549,14 @@ static const symbol s_7_3[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84
 static const symbol s_7_4[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
 static const symbol s_7_5[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_7_6[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
-
-static const struct among a_7[7] =
-{
-{ 8, s_7_0, -1, 1, 0},
-{ 6, s_7_1, -1, 1, 0},
-{ 6, s_7_2, -1, 1, 0},
-{ 10, s_7_3, -1, 1, 0},
-{ 10, s_7_4, -1, 1, 0},
-{ 10, s_7_5, -1, 1, 0},
-{ 8, s_7_6, -1, 1, 0}
+static const struct among a_7[7] = {
+{ 8, s_7_0, 0, 1, 0},
+{ 6, s_7_1, 0, 1, 0},
+{ 6, s_7_2, 0, 1, 0},
+{ 10, s_7_3, 0, 1, 0},
+{ 10, s_7_4, 0, 1, 0},
+{ 10, s_7_5, 0, 1, 0},
+{ 8, s_7_6, 0, 1, 0}
 };
 
 static const symbol s_8_0[12] = { 0xCE, 0xBE, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB1 };
@@ -483,28 +578,26 @@ static const symbol s_8_15[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB
 static const symbol s_8_16[8] = { 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_8_17[8] = { 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
 static const symbol s_8_18[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
-
-static const struct among a_8[19] =
-{
-{ 12, s_8_0, -1, 1, 0},
-{ 6, s_8_1, -1, 1, 0},
-{ 12, s_8_2, -1, 1, 0},
-{ 12, s_8_3, -1, 1, 0},
-{ 8, s_8_4, -1, 1, 0},
-{ 14, s_8_5, -1, 1, 0},
-{ 12, s_8_6, -1, 1, 0},
-{ 4, s_8_7, -1, 1, 0},
-{ 6, s_8_8, 7, 1, 0},
-{ 12, s_8_9, 8, 1, 0},
-{ 6, s_8_10, -1, 1, 0},
-{ 6, s_8_11, -1, 1, 0},
-{ 12, s_8_12, 11, 1, 0},
-{ 8, s_8_13, 11, 1, 0},
-{ 12, s_8_14, 13, 1, 0},
-{ 12, s_8_15, 11, 1, 0},
-{ 8, s_8_16, -1, 1, 0},
-{ 8, s_8_17, -1, 1, 0},
-{ 14, s_8_18, 17, 1, 0}
+static const struct among a_8[19] = {
+{ 12, s_8_0, 0, 1, 0},
+{ 6, s_8_1, 0, 1, 0},
+{ 12, s_8_2, 0, 1, 0},
+{ 12, s_8_3, 0, 1, 0},
+{ 8, s_8_4, 0, 1, 0},
+{ 14, s_8_5, 0, 1, 0},
+{ 12, s_8_6, 0, 1, 0},
+{ 4, s_8_7, 0, 1, 0},
+{ 6, s_8_8, -1, 1, 0},
+{ 12, s_8_9, -1, 1, 0},
+{ 6, s_8_10, 0, 1, 0},
+{ 6, s_8_11, 0, 1, 0},
+{ 12, s_8_12, -1, 1, 0},
+{ 8, s_8_13, -2, 1, 0},
+{ 12, s_8_14, -1, 1, 0},
+{ 12, s_8_15, -4, 1, 0},
+{ 8, s_8_16, 0, 1, 0},
+{ 8, s_8_17, 0, 1, 0},
+{ 14, s_8_18, -1, 1, 0}
 };
 
 static const symbol s_9_0[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 };
@@ -514,16 +607,14 @@ static const symbol s_9_3[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85
 static const symbol s_9_4[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_9_5[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9 };
 static const symbol s_9_6[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-
-static const struct among a_9[7] =
-{
-{ 10, s_9_0, -1, 1, 0},
-{ 6, s_9_1, -1, 1, 0},
-{ 10, s_9_2, -1, 1, 0},
-{ 12, s_9_3, -1, 1, 0},
-{ 12, s_9_4, -1, 1, 0},
-{ 8, s_9_5, -1, 1, 0},
-{ 10, s_9_6, -1, 1, 0}
+static const struct among a_9[7] = {
+{ 10, s_9_0, 0, 1, 0},
+{ 6, s_9_1, 0, 1, 0},
+{ 10, s_9_2, 0, 1, 0},
+{ 12, s_9_3, 0, 1, 0},
+{ 12, s_9_4, 0, 1, 0},
+{ 8, s_9_5, 0, 1, 0},
+{ 10, s_9_6, 0, 1, 0}
 };
 
 static const symbol s_10_0[2] = { 0xCF, 0x80 };
@@ -566,49 +657,47 @@ static const symbol s_10_36[2] = { 0xCE, 0xBC };
 static const symbol s_10_37[6] = { 0xCE, 0xB3, 0xCE, 0xB5, 0xCE, 0xBC };
 static const symbol s_10_38[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xBD };
 static const symbol s_10_39[14] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1, 0xCE, 0xB8, 0xCF, 0x81, 0xCE, 0xBF };
-
-static const struct among a_10[40] =
-{
-{ 2, s_10_0, -1, 2, 0},
-{ 6, s_10_1, 0, 2, 0},
-{ 4, s_10_2, 0, 2, 0},
-{ 6, s_10_3, 0, 2, 0},
-{ 6, s_10_4, -1, 2, 0},
-{ 4, s_10_5, -1, 2, 0},
-{ 6, s_10_6, -1, 2, 0},
-{ 4, s_10_7, -1, 2, 0},
-{ 6, s_10_8, -1, 2, 0},
-{ 4, s_10_9, -1, 2, 0},
-{ 6, s_10_10, 9, 2, 0},
-{ 4, s_10_11, -1, 2, 0},
-{ 6, s_10_12, 11, 2, 0},
-{ 4, s_10_13, -1, 2, 0},
-{ 6, s_10_14, 13, 2, 0},
-{ 6, s_10_15, -1, 2, 0},
-{ 4, s_10_16, -1, 2, 0},
-{ 6, s_10_17, -1, 2, 0},
-{ 4, s_10_18, -1, 2, 0},
-{ 6, s_10_19, 18, 2, 0},
-{ 6, s_10_20, -1, 2, 0},
-{ 6, s_10_21, -1, 2, 0},
-{ 4, s_10_22, -1, 2, 0},
-{ 4, s_10_23, -1, 1, 0},
-{ 6, s_10_24, 23, 1, 0},
-{ 6, s_10_25, -1, 1, 0},
-{ 6, s_10_26, -1, 1, 0},
-{ 12, s_10_27, 26, 1, 0},
-{ 8, s_10_28, -1, 1, 0},
-{ 6, s_10_29, -1, 2, 0},
-{ 6, s_10_30, -1, 2, 0},
-{ 4, s_10_31, -1, 2, 0},
-{ 6, s_10_32, -1, 2, 0},
-{ 6, s_10_33, -1, 2, 0},
-{ 6, s_10_34, -1, 2, 0},
-{ 6, s_10_35, -1, 2, 0},
-{ 2, s_10_36, -1, 2, 0},
-{ 6, s_10_37, 36, 2, 0},
-{ 6, s_10_38, -1, 2, 0},
-{ 14, s_10_39, -1, 1, 0}
+static const struct among a_10[40] = {
+{ 2, s_10_0, 0, 2, 0},
+{ 6, s_10_1, -1, 2, 0},
+{ 4, s_10_2, -2, 2, 0},
+{ 6, s_10_3, -3, 2, 0},
+{ 6, s_10_4, 0, 2, 0},
+{ 4, s_10_5, 0, 2, 0},
+{ 6, s_10_6, 0, 2, 0},
+{ 4, s_10_7, 0, 2, 0},
+{ 6, s_10_8, 0, 2, 0},
+{ 4, s_10_9, 0, 2, 0},
+{ 6, s_10_10, -1, 2, 0},
+{ 4, s_10_11, 0, 2, 0},
+{ 6, s_10_12, -1, 2, 0},
+{ 4, s_10_13, 0, 2, 0},
+{ 6, s_10_14, -1, 2, 0},
+{ 6, s_10_15, 0, 2, 0},
+{ 4, s_10_16, 0, 2, 0},
+{ 6, s_10_17, 0, 2, 0},
+{ 4, s_10_18, 0, 2, 0},
+{ 6, s_10_19, -1, 2, 0},
+{ 6, s_10_20, 0, 2, 0},
+{ 6, s_10_21, 0, 2, 0},
+{ 4, s_10_22, 0, 2, 0},
+{ 4, s_10_23, 0, 1, 0},
+{ 6, s_10_24, -1, 1, 0},
+{ 6, s_10_25, 0, 1, 0},
+{ 6, s_10_26, 0, 1, 0},
+{ 12, s_10_27, -1, 1, 0},
+{ 8, s_10_28, 0, 1, 0},
+{ 6, s_10_29, 0, 2, 0},
+{ 6, s_10_30, 0, 2, 0},
+{ 4, s_10_31, 0, 2, 0},
+{ 6, s_10_32, 0, 2, 0},
+{ 6, s_10_33, 0, 2, 0},
+{ 6, s_10_34, 0, 2, 0},
+{ 6, s_10_35, 0, 2, 0},
+{ 2, s_10_36, 0, 2, 0},
+{ 6, s_10_37, -1, 2, 0},
+{ 6, s_10_38, 0, 2, 0},
+{ 14, s_10_39, 0, 1, 0}
 };
 
 static const symbol s_11_0[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
@@ -622,20 +711,18 @@ static const symbol s_11_7[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB7
 static const symbol s_11_8[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xB9 };
 static const symbol s_11_9[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD };
 static const symbol s_11_10[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xBF };
-
-static const struct among a_11[11] =
-{
-{ 12, s_11_0, -1, 1, 0},
-{ 10, s_11_1, -1, 1, 0},
-{ 10, s_11_2, -1, 1, 0},
-{ 10, s_11_3, -1, 1, 0},
-{ 10, s_11_4, -1, 1, 0},
-{ 8, s_11_5, -1, 1, 0},
-{ 8, s_11_6, -1, 1, 0},
-{ 8, s_11_7, -1, 1, 0},
-{ 10, s_11_8, -1, 1, 0},
-{ 10, s_11_9, -1, 1, 0},
-{ 8, s_11_10, -1, 1, 0}
+static const struct among a_11[11] = {
+{ 12, s_11_0, 0, 1, 0},
+{ 10, s_11_1, 0, 1, 0},
+{ 10, s_11_2, 0, 1, 0},
+{ 10, s_11_3, 0, 1, 0},
+{ 10, s_11_4, 0, 1, 0},
+{ 8, s_11_5, 0, 1, 0},
+{ 8, s_11_6, 0, 1, 0},
+{ 8, s_11_7, 0, 1, 0},
+{ 10, s_11_8, 0, 1, 0},
+{ 10, s_11_9, 0, 1, 0},
+{ 8, s_11_10, 0, 1, 0}
 };
 
 static const symbol s_12_0[4] = { 0xCF, 0x83, 0xCE, 0xB5 };
@@ -645,16 +732,14 @@ static const symbol s_12_3[10] = { 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xBA, 0xCE, 0xB
 static const symbol s_12_4[12] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 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[16] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
-
-static const struct among a_12[7] =
-{
-{ 4, s_12_0, -1, 1, 0},
-{ 12, s_12_1, 0, 1, 0},
-{ 14, s_12_2, 0, 1, 0},
-{ 10, s_12_3, -1, 1, 0},
-{ 12, s_12_4, -1, 1, 0},
-{ 8, s_12_5, -1, 2, 0},
-{ 16, s_12_6, 5, 2, 0}
+static const struct among a_12[7] = {
+{ 4, s_12_0, 0, 1, 0},
+{ 12, s_12_1, -1, 1, 0},
+{ 14, s_12_2, -2, 1, 0},
+{ 10, s_12_3, 0, 1, 0},
+{ 12, s_12_4, 0, 1, 0},
+{ 8, s_12_5, 0, 2, 0},
+{ 16, s_12_6, -1, 2, 0}
 };
 
 static const symbol s_13_0[10] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xBA };
@@ -667,19 +752,17 @@ static const symbol s_13_6[10] = { 0xCE, 0xB5, 0xCE, 0xB8, 0xCE, 0xBD, 0xCE, 0xB
 static const symbol s_13_7[14] = { 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBD };
 static const symbol s_13_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_13_9[16] = { 0xCE, 0xB2, 0xCF, 0x85, 0xCE, 0xB6, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBD };
-
-static const struct among a_13[10] =
-{
-{ 10, s_13_0, -1, 7, 0},
-{ 14, s_13_1, -1, 6, 0},
-{ 14, s_13_2, -1, 3, 0},
-{ 16, s_13_3, 2, 1, 0},
-{ 16, s_13_4, -1, 5, 0},
-{ 12, s_13_5, -1, 2, 0},
-{ 10, s_13_6, -1, 4, 0},
-{ 14, s_13_7, -1, 10, 0},
-{ 20, s_13_8, -1, 8, 0},
-{ 16, s_13_9, -1, 9, 0}
+static const struct among a_13[10] = {
+{ 10, s_13_0, 0, 7, 0},
+{ 14, s_13_1, 0, 6, 0},
+{ 14, s_13_2, 0, 3, 0},
+{ 16, s_13_3, -1, 1, 0},
+{ 16, s_13_4, 0, 5, 0},
+{ 12, s_13_5, 0, 2, 0},
+{ 10, s_13_6, 0, 4, 0},
+{ 14, s_13_7, 0, 10, 0},
+{ 20, s_13_8, 0, 8, 0},
+{ 16, s_13_9, 0, 9, 0}
 };
 
 static const symbol s_14_0[12] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
@@ -688,37 +771,31 @@ static const symbol s_14_2[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xB
 static const symbol s_14_3[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xB9 };
 static const symbol s_14_4[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCF, 0x89, 0xCE, 0xBD };
 static const symbol s_14_5[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xBF };
-
-static const struct among a_14[6] =
-{
-{ 12, s_14_0, -1, 1, 0},
-{ 10, s_14_1, -1, 1, 0},
-{ 10, s_14_2, -1, 1, 0},
-{ 10, s_14_3, -1, 1, 0},
-{ 10, s_14_4, -1, 1, 0},
-{ 8, s_14_5, -1, 1, 0}
+static const struct among a_14[6] = {
+{ 12, s_14_0, 0, 1, 0},
+{ 10, s_14_1, 0, 1, 0},
+{ 10, s_14_2, 0, 1, 0},
+{ 10, s_14_3, 0, 1, 0},
+{ 10, s_14_4, 0, 1, 0},
+{ 8, s_14_5, 0, 1, 0}
 };
 
 static const symbol s_15_0[2] = { 0xCF, 0x83 };
 static const symbol s_15_1[2] = { 0xCF, 0x87 };
-
-static const struct among a_15[2] =
-{
-{ 2, s_15_0, -1, 1, 0},
-{ 2, s_15_1, -1, 1, 0}
+static const struct among a_15[2] = {
+{ 2, s_15_0, 0, 1, 0},
+{ 2, s_15_1, 0, 1, 0}
 };
 
 static const symbol s_16_0[12] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 };
 static const symbol s_16_1[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9, 0xCE, 0xB1 };
 static const symbol s_16_2[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 };
 static const symbol s_16_3[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 };
-
-static const struct among a_16[4] =
-{
-{ 12, s_16_0, -1, 1, 0},
-{ 14, s_16_1, -1, 1, 0},
-{ 10, s_16_2, -1, 1, 0},
-{ 12, s_16_3, -1, 1, 0}
+static const struct among a_16[4] = {
+{ 12, s_16_0, 0, 1, 0},
+{ 14, s_16_1, 0, 1, 0},
+{ 10, s_16_2, 0, 1, 0},
+{ 12, s_16_3, 0, 1, 0}
 };
 
 static const symbol s_17_0[2] = { 0xCF, 0x80 };
@@ -767,55 +844,53 @@ static const symbol s_17_42[8] = { 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB
 static const symbol s_17_43[8] = { 0xCE, 0xB3, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xBD };
 static const symbol s_17_44[14] = { 0xCE, 0xB7, 0xCE, 0xB3, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xBD };
 static const symbol s_17_45[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBD };
-
-static const struct among a_17[46] =
-{
-{ 2, s_17_0, -1, 2, 0},
-{ 12, s_17_1, 0, 1, 0},
-{ 2, s_17_2, -1, 1, 0},
-{ 4, s_17_3, 2, 1, 0},
-{ 8, s_17_4, 3, 1, 0},
-{ 8, s_17_5, 3, 1, 0},
-{ 10, s_17_6, 2, 2, 0},
-{ 6, s_17_7, 2, 1, 0},
-{ 8, s_17_8, 2, 1, 0},
-{ 6, s_17_9, 2, 1, 0},
-{ 2, s_17_10, -1, 1, 0},
-{ 12, s_17_11, 10, 1, 0},
-{ 6, s_17_12, 10, 2, 0},
-{ 10, s_17_13, -1, 1, 0},
-{ 4, s_17_14, -1, 1, 0},
-{ 2, s_17_15, -1, 1, 0},
-{ 4, s_17_16, 15, 1, 0},
-{ 10, s_17_17, 16, 1, 0},
-{ 6, s_17_18, 15, 2, 0},
-{ 2, s_17_19, -1, 1, 0},
-{ 2, s_17_20, -1, 2, 0},
-{ 8, s_17_21, 20, 1, 0},
-{ 8, s_17_22, 20, 1, 0},
-{ 18, s_17_23, 22, 1, 0},
-{ 8, s_17_24, -1, 2, 0},
-{ 2, s_17_25, -1, 2, 0},
-{ 4, s_17_26, 25, 1, 0},
-{ 2, s_17_27, -1, 1, 0},
-{ 4, s_17_28, 27, 1, 0},
-{ 10, s_17_29, 27, 1, 0},
-{ 6, s_17_30, 27, 1, 0},
-{ 4, s_17_31, -1, 1, 0},
-{ 6, s_17_32, -1, 1, 0},
-{ 8, s_17_33, -1, 1, 0},
-{ 6, s_17_34, -1, 2, 0},
-{ 6, s_17_35, -1, 1, 0},
-{ 4, s_17_36, -1, 2, 0},
-{ 12, s_17_37, -1, 2, 0},
-{ 8, s_17_38, -1, 1, 0},
-{ 8, s_17_39, -1, 1, 0},
-{ 8, s_17_40, -1, 1, 0},
-{ 12, s_17_41, -1, 2, 0},
-{ 8, s_17_42, -1, 1, 0},
-{ 8, s_17_43, -1, 2, 0},
-{ 14, s_17_44, -1, 2, 0},
-{ 6, s_17_45, -1, 1, 0}
+static const struct among a_17[46] = {
+{ 2, s_17_0, 0, 2, 0},
+{ 12, s_17_1, -1, 1, 0},
+{ 2, s_17_2, 0, 1, 0},
+{ 4, s_17_3, -1, 1, 0},
+{ 8, s_17_4, -1, 1, 0},
+{ 8, s_17_5, -2, 1, 0},
+{ 10, s_17_6, -4, 2, 0},
+{ 6, s_17_7, -5, 1, 0},
+{ 8, s_17_8, -6, 1, 0},
+{ 6, s_17_9, -7, 1, 0},
+{ 2, s_17_10, 0, 1, 0},
+{ 12, s_17_11, -1, 1, 0},
+{ 6, s_17_12, -2, 2, 0},
+{ 10, s_17_13, 0, 1, 0},
+{ 4, s_17_14, 0, 1, 0},
+{ 2, s_17_15, 0, 1, 0},
+{ 4, s_17_16, -1, 1, 0},
+{ 10, s_17_17, -1, 1, 0},
+{ 6, s_17_18, -3, 2, 0},
+{ 2, s_17_19, 0, 1, 0},
+{ 2, s_17_20, 0, 2, 0},
+{ 8, s_17_21, -1, 1, 0},
+{ 8, s_17_22, -2, 1, 0},
+{ 18, s_17_23, -1, 1, 0},
+{ 8, s_17_24, 0, 2, 0},
+{ 2, s_17_25, 0, 2, 0},
+{ 4, s_17_26, -1, 1, 0},
+{ 2, s_17_27, 0, 1, 0},
+{ 4, s_17_28, -1, 1, 0},
+{ 10, s_17_29, -2, 1, 0},
+{ 6, s_17_30, -3, 1, 0},
+{ 4, s_17_31, 0, 1, 0},
+{ 6, s_17_32, 0, 1, 0},
+{ 8, s_17_33, 0, 1, 0},
+{ 6, s_17_34, 0, 2, 0},
+{ 6, s_17_35, 0, 1, 0},
+{ 4, s_17_36, 0, 2, 0},
+{ 12, s_17_37, 0, 2, 0},
+{ 8, s_17_38, 0, 1, 0},
+{ 8, s_17_39, 0, 1, 0},
+{ 8, s_17_40, 0, 1, 0},
+{ 12, s_17_41, 0, 2, 0},
+{ 8, s_17_42, 0, 1, 0},
+{ 8, s_17_43, 0, 2, 0},
+{ 14, s_17_44, 0, 2, 0},
+{ 6, s_17_45, 0, 1, 0}
 };
 
 static const symbol s_18_0[10] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83 };
@@ -826,50 +901,42 @@ static const symbol s_18_4[12] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB
 static const symbol s_18_5[6] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 };
 static const symbol s_18_6[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB9 };
 static const symbol s_18_7[10] = { 0xCE, 0xB9, 0xCF, 0x84, 0xCF, 0x83, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_18[8] =
-{
-{ 10, s_18_0, -1, 1, 0},
-{ 10, s_18_1, -1, 1, 0},
-{ 8, s_18_2, -1, 1, 0},
-{ 8, s_18_3, -1, 1, 0},
-{ 12, s_18_4, 3, 1, 0},
-{ 6, s_18_5, -1, 1, 0},
-{ 10, s_18_6, 5, 1, 0},
-{ 10, s_18_7, -1, 1, 0}
+static const struct among a_18[8] = {
+{ 10, s_18_0, 0, 1, 0},
+{ 10, s_18_1, 0, 1, 0},
+{ 8, s_18_2, 0, 1, 0},
+{ 8, s_18_3, 0, 1, 0},
+{ 12, s_18_4, -1, 1, 0},
+{ 6, s_18_5, 0, 1, 0},
+{ 10, s_18_6, -1, 1, 0},
+{ 10, s_18_7, 0, 1, 0}
 };
 
 static const symbol s_19_0[4] = { 0xCE, 0xB9, 0xCF, 0x81 };
 static const symbol s_19_1[6] = { 0xCF, 0x88, 0xCE, 0xB1, 0xCE, 0xBB };
 static const symbol s_19_2[8] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x86, 0xCE, 0xBD };
 static const symbol s_19_3[6] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF };
-
-static const struct among a_19[4] =
-{
-{ 4, s_19_0, -1, 1, 0},
-{ 6, s_19_1, -1, 1, 0},
-{ 8, s_19_2, -1, 1, 0},
-{ 6, s_19_3, -1, 1, 0}
+static const struct among a_19[4] = {
+{ 4, s_19_0, 0, 1, 0},
+{ 6, s_19_1, 0, 1, 0},
+{ 8, s_19_2, 0, 1, 0},
+{ 6, s_19_3, 0, 1, 0}
 };
 
 static const symbol s_20_0[2] = { 0xCE, 0xB5 };
 static const symbol s_20_1[10] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x87, 0xCE, 0xBD };
-
-static const struct among a_20[2] =
-{
-{ 2, s_20_0, -1, 1, 0},
-{ 10, s_20_1, -1, 1, 0}
+static const struct among a_20[2] = {
+{ 2, s_20_0, 0, 1, 0},
+{ 10, s_20_1, 0, 1, 0}
 };
 
 static const symbol s_21_0[8] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1 };
 static const symbol s_21_1[10] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD };
 static const symbol s_21_2[8] = { 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xBF };
-
-static const struct among a_21[3] =
-{
-{ 8, s_21_0, -1, 1, 0},
-{ 10, s_21_1, -1, 1, 0},
-{ 8, s_21_2, -1, 1, 0}
+static const struct among a_21[3] = {
+{ 8, s_21_0, 0, 1, 0},
+{ 10, s_21_1, 0, 1, 0},
+{ 8, s_21_2, 0, 1, 0}
 };
 
 static const symbol s_22_0[2] = { 0xCF, 0x81 };
@@ -879,38 +946,32 @@ static const symbol s_22_3[6] = { 0xCE, 0xBB, 0xCF, 0x85, 0xCE, 0xBA };
 static const symbol s_22_4[10] = { 0xCF, 0x86, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA };
 static const symbol s_22_5[8] = { 0xCE, 0xBF, 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBB };
 static const symbol s_22_6[6] = { 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBD };
-
-static const struct among a_22[7] =
-{
-{ 2, s_22_0, -1, 1, 0},
-{ 4, s_22_1, -1, 1, 0},
-{ 2, s_22_2, -1, 1, 0},
-{ 6, s_22_3, -1, 1, 0},
-{ 10, s_22_4, -1, 1, 0},
-{ 8, s_22_5, -1, 1, 0},
-{ 6, s_22_6, -1, 1, 0}
+static const struct among a_22[7] = {
+{ 2, s_22_0, 0, 1, 0},
+{ 4, s_22_1, 0, 1, 0},
+{ 2, s_22_2, 0, 1, 0},
+{ 6, s_22_3, 0, 1, 0},
+{ 10, s_22_4, 0, 1, 0},
+{ 8, s_22_5, 0, 1, 0},
+{ 6, s_22_6, 0, 1, 0}
 };
 
 static const symbol s_23_0[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x83 };
 static const symbol s_23_1[10] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85 };
 static const symbol s_23_2[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5 };
 static const symbol s_23_3[8] = { 0xCE, 0xB9, 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF };
-
-static const struct among a_23[4] =
-{
-{ 10, s_23_0, -1, 1, 0},
-{ 10, s_23_1, -1, 1, 0},
-{ 8, s_23_2, -1, 1, 0},
-{ 8, s_23_3, -1, 1, 0}
+static const struct among a_23[4] = {
+{ 10, s_23_0, 0, 1, 0},
+{ 10, s_23_1, 0, 1, 0},
+{ 8, s_23_2, 0, 1, 0},
+{ 8, s_23_3, 0, 1, 0}
 };
 
 static const symbol s_24_0[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 };
 static const symbol s_24_1[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_24[2] =
-{
-{ 8, s_24_0, -1, 1, 0},
-{ 8, s_24_1, -1, 1, 0}
+static const struct among a_24[2] = {
+{ 8, s_24_0, 0, 1, 0},
+{ 8, s_24_1, 0, 1, 0}
 };
 
 static const symbol s_25_0[10] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80 };
@@ -923,28 +984,24 @@ static const symbol s_25_6[6] = { 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9 };
 static const symbol s_25_7[4] = { 0xCE, 0xBF, 0xCE, 0xBA };
 static const symbol s_25_8[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBC };
 static const symbol s_25_9[6] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD };
-
-static const struct among a_25[10] =
-{
-{ 10, s_25_0, -1, -1, 0},
-{ 6, s_25_1, -1, -1, 0},
-{ 10, s_25_2, -1, -1, 0},
-{ 10, s_25_3, -1, -1, 0},
-{ 10, s_25_4, -1, -1, 0},
-{ 10, s_25_5, -1, -1, 0},
-{ 6, s_25_6, -1, -1, 0},
-{ 4, s_25_7, -1, -1, 0},
-{ 6, s_25_8, -1, -1, 0},
-{ 6, s_25_9, -1, -1, 0}
+static const struct among a_25[10] = {
+{ 10, s_25_0, 0, -1, 0},
+{ 6, s_25_1, 0, -1, 0},
+{ 10, s_25_2, 0, -1, 0},
+{ 10, s_25_3, 0, -1, 0},
+{ 10, s_25_4, 0, -1, 0},
+{ 10, s_25_5, 0, -1, 0},
+{ 6, s_25_6, 0, -1, 0},
+{ 4, s_25_7, 0, -1, 0},
+{ 6, s_25_8, 0, -1, 0},
+{ 6, s_25_9, 0, -1, 0}
 };
 
 static const symbol s_26_0[8] = { 0xCE, 0xB5, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 };
 static const symbol s_26_1[8] = { 0xCE, 0xB5, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_26[2] =
-{
-{ 8, s_26_0, -1, 1, 0},
-{ 8, s_26_1, -1, 1, 0}
+static const struct among a_26[2] = {
+{ 8, s_26_0, 0, 1, 0},
+{ 8, s_26_1, 0, 1, 0}
 };
 
 static const symbol s_27_0[10] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80 };
@@ -955,26 +1012,22 @@ static const symbol s_27_4[4] = { 0xCE, 0xB9, 0xCF, 0x80 };
 static const symbol s_27_5[6] = { 0xCE, 0xB5, 0xCE, 0xBC, 0xCF, 0x80 };
 static const symbol s_27_6[4] = { 0xCE, 0xBF, 0xCF, 0x80 };
 static const symbol s_27_7[6] = { 0xCE, 0xBC, 0xCE, 0xB9, 0xCE, 0xBB };
-
-static const struct among a_27[8] =
-{
-{ 10, s_27_0, -1, 1, 0},
-{ 4, s_27_1, -1, 1, 0},
-{ 6, s_27_2, -1, 1, 0},
-{ 6, s_27_3, -1, 1, 0},
-{ 4, s_27_4, -1, 1, 0},
-{ 6, s_27_5, -1, 1, 0},
-{ 4, s_27_6, -1, 1, 0},
-{ 6, s_27_7, -1, 1, 0}
+static const struct among a_27[8] = {
+{ 10, s_27_0, 0, 1, 0},
+{ 4, s_27_1, 0, 1, 0},
+{ 6, s_27_2, 0, 1, 0},
+{ 6, s_27_3, 0, 1, 0},
+{ 4, s_27_4, 0, 1, 0},
+{ 6, s_27_5, 0, 1, 0},
+{ 4, s_27_6, 0, 1, 0},
+{ 6, s_27_7, 0, 1, 0}
 };
 
 static const symbol s_28_0[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 };
 static const symbol s_28_1[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_28[2] =
-{
-{ 10, s_28_0, -1, 1, 0},
-{ 10, s_28_1, -1, 1, 0}
+static const struct among a_28[2] = {
+{ 10, s_28_0, 0, 1, 0},
+{ 10, s_28_1, 0, 1, 0}
 };
 
 static const symbol s_29_0[4] = { 0xCF, 0x83, 0xCF, 0x80 };
@@ -992,33 +1045,29 @@ static const symbol s_29_11[10] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0x
 static const symbol s_29_12[6] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBB };
 static const symbol s_29_13[4] = { 0xCF, 0x87, 0xCE, 0xBD };
 static const symbol s_29_14[8] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5, 0xCE, 0xBE };
-
-static const struct among a_29[15] =
-{
-{ 4, s_29_0, -1, 1, 0},
-{ 4, s_29_1, -1, 1, 0},
-{ 2, s_29_2, -1, 1, 0},
-{ 6, s_29_3, -1, 1, 0},
-{ 8, s_29_4, -1, 1, 0},
-{ 4, s_29_5, -1, 1, 0},
-{ 6, s_29_6, -1, 1, 0},
-{ 4, s_29_7, -1, 1, 0},
-{ 12, s_29_8, -1, 1, 0},
-{ 8, s_29_9, -1, 1, 0},
-{ 4, s_29_10, -1, 1, 0},
-{ 10, s_29_11, -1, 1, 0},
-{ 6, s_29_12, -1, 1, 0},
-{ 4, s_29_13, -1, 1, 0},
-{ 8, s_29_14, -1, 1, 0}
+static const struct among a_29[15] = {
+{ 4, s_29_0, 0, 1, 0},
+{ 4, s_29_1, 0, 1, 0},
+{ 2, s_29_2, 0, 1, 0},
+{ 6, s_29_3, 0, 1, 0},
+{ 8, s_29_4, 0, 1, 0},
+{ 4, s_29_5, 0, 1, 0},
+{ 6, s_29_6, 0, 1, 0},
+{ 4, s_29_7, 0, 1, 0},
+{ 12, s_29_8, 0, 1, 0},
+{ 8, s_29_9, 0, 1, 0},
+{ 4, s_29_10, 0, 1, 0},
+{ 10, s_29_11, 0, 1, 0},
+{ 6, s_29_12, 0, 1, 0},
+{ 4, s_29_13, 0, 1, 0},
+{ 8, s_29_14, 0, 1, 0}
 };
 
 static const symbol s_30_0[6] = { 0xCE, 0xB5, 0xCF, 0x89, 0xCF, 0x83 };
 static const symbol s_30_1[6] = { 0xCE, 0xB5, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_30[2] =
-{
-{ 6, s_30_0, -1, 1, 0},
-{ 6, s_30_1, -1, 1, 0}
+static const struct among a_30[2] = {
+{ 6, s_30_0, 0, 1, 0},
+{ 6, s_30_1, 0, 1, 0}
 };
 
 static const symbol s_31_0[2] = { 0xCF, 0x80 };
@@ -1029,41 +1078,35 @@ static const symbol s_31_4[2] = { 0xCE, 0xB8 };
 static const symbol s_31_5[6] = { 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB };
 static const symbol s_31_6[4] = { 0xCE, 0xB5, 0xCE, 0xBB };
 static const symbol s_31_7[2] = { 0xCE, 0xBD };
-
-static const struct among a_31[8] =
-{
-{ 2, s_31_0, -1, 1, 0},
-{ 6, s_31_1, -1, 1, 0},
-{ 2, s_31_2, -1, 1, 0},
-{ 4, s_31_3, 2, 1, 0},
-{ 2, s_31_4, -1, 1, 0},
-{ 6, s_31_5, -1, 1, 0},
-{ 4, s_31_6, -1, 1, 0},
-{ 2, s_31_7, -1, 1, 0}
+static const struct among a_31[8] = {
+{ 2, s_31_0, 0, 1, 0},
+{ 6, s_31_1, 0, 1, 0},
+{ 2, s_31_2, 0, 1, 0},
+{ 4, s_31_3, -1, 1, 0},
+{ 2, s_31_4, 0, 1, 0},
+{ 6, s_31_5, 0, 1, 0},
+{ 4, s_31_6, 0, 1, 0},
+{ 2, s_31_7, 0, 1, 0}
 };
 
 static const symbol s_32_0[6] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85 };
 static const symbol s_32_1[4] = { 0xCE, 0xB9, 0xCE, 0xB1 };
 static const symbol s_32_2[6] = { 0xCE, 0xB9, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_32[3] =
-{
-{ 6, s_32_0, -1, 1, 0},
-{ 4, s_32_1, -1, 1, 0},
-{ 6, s_32_2, -1, 1, 0}
+static const struct among a_32[3] = {
+{ 6, s_32_0, 0, 1, 0},
+{ 4, s_32_1, 0, 1, 0},
+{ 6, s_32_2, 0, 1, 0}
 };
 
 static const symbol s_33_0[8] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85 };
 static const symbol s_33_1[6] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xB1 };
 static const symbol s_33_2[8] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCF, 0x89, 0xCE, 0xBD };
 static const symbol s_33_3[6] = { 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xBF };
-
-static const struct among a_33[4] =
-{
-{ 8, s_33_0, -1, 1, 0},
-{ 6, s_33_1, -1, 1, 0},
-{ 8, s_33_2, -1, 1, 0},
-{ 6, s_33_3, -1, 1, 0}
+static const struct among a_33[4] = {
+{ 8, s_33_0, 0, 1, 0},
+{ 6, s_33_1, 0, 1, 0},
+{ 8, s_33_2, 0, 1, 0},
+{ 6, s_33_3, 0, 1, 0}
 };
 
 static const symbol s_34_0[8] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCF, 0x80 };
@@ -1102,45 +1145,43 @@ static const symbol s_34_32[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB
 static const symbol s_34_33[12] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBD };
 static const symbol s_34_34[14] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB, 0xCE, 0xBD };
 static const symbol s_34_35[10] = { 0xCF, 0x86, 0xCE, 0xB9, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xBD };
-
-static const struct among a_34[36] =
-{
-{ 8, s_34_0, -1, 1, 0},
-{ 6, s_34_1, -1, 1, 0},
-{ 12, s_34_2, -1, 1, 0},
-{ 8, s_34_3, -1, 1, 0},
-{ 8, s_34_4, -1, 1, 0},
-{ 6, s_34_5, -1, 1, 0},
-{ 6, s_34_6, -1, 1, 0},
-{ 8, s_34_7, -1, 1, 0},
-{ 8, s_34_8, -1, 1, 0},
-{ 14, s_34_9, -1, 1, 0},
-{ 6, s_34_10, -1, 1, 0},
-{ 12, s_34_11, -1, 1, 0},
-{ 8, s_34_12, -1, 1, 0},
-{ 4, s_34_13, -1, 1, 0},
-{ 10, s_34_14, 13, 1, 0},
-{ 10, s_34_15, 13, 1, 0},
-{ 10, s_34_16, -1, 1, 0},
-{ 6, s_34_17, -1, 1, 0},
-{ 8, s_34_18, -1, 1, 0},
-{ 12, s_34_19, -1, 1, 0},
-{ 10, s_34_20, -1, 1, 0},
-{ 4, s_34_21, -1, 1, 0},
-{ 8, s_34_22, 21, 1, 0},
-{ 6, s_34_23, -1, 1, 0},
-{ 8, s_34_24, -1, 1, 0},
-{ 4, s_34_25, -1, 1, 0},
-{ 14, s_34_26, 25, 1, 0},
-{ 14, s_34_27, -1, 1, 0},
-{ 8, s_34_28, -1, 1, 0},
-{ 8, s_34_29, -1, 1, 0},
-{ 8, s_34_30, -1, 1, 0},
-{ 8, s_34_31, -1, 1, 0},
-{ 8, s_34_32, -1, 1, 0},
-{ 12, s_34_33, -1, 1, 0},
-{ 14, s_34_34, -1, 1, 0},
-{ 10, s_34_35, -1, 1, 0}
+static const struct among a_34[36] = {
+{ 8, s_34_0, 0, 1, 0},
+{ 6, s_34_1, 0, 1, 0},
+{ 12, s_34_2, 0, 1, 0},
+{ 8, s_34_3, 0, 1, 0},
+{ 8, s_34_4, 0, 1, 0},
+{ 6, s_34_5, 0, 1, 0},
+{ 6, s_34_6, 0, 1, 0},
+{ 8, s_34_7, 0, 1, 0},
+{ 8, s_34_8, 0, 1, 0},
+{ 14, s_34_9, 0, 1, 0},
+{ 6, s_34_10, 0, 1, 0},
+{ 12, s_34_11, 0, 1, 0},
+{ 8, s_34_12, 0, 1, 0},
+{ 4, s_34_13, 0, 1, 0},
+{ 10, s_34_14, -1, 1, 0},
+{ 10, s_34_15, -2, 1, 0},
+{ 10, s_34_16, 0, 1, 0},
+{ 6, s_34_17, 0, 1, 0},
+{ 8, s_34_18, 0, 1, 0},
+{ 12, s_34_19, 0, 1, 0},
+{ 10, s_34_20, 0, 1, 0},
+{ 4, s_34_21, 0, 1, 0},
+{ 8, s_34_22, -1, 1, 0},
+{ 6, s_34_23, 0, 1, 0},
+{ 8, s_34_24, 0, 1, 0},
+{ 4, s_34_25, 0, 1, 0},
+{ 14, s_34_26, -1, 1, 0},
+{ 14, s_34_27, 0, 1, 0},
+{ 8, s_34_28, 0, 1, 0},
+{ 8, s_34_29, 0, 1, 0},
+{ 8, s_34_30, 0, 1, 0},
+{ 8, s_34_31, 0, 1, 0},
+{ 8, s_34_32, 0, 1, 0},
+{ 12, s_34_33, 0, 1, 0},
+{ 14, s_34_34, 0, 1, 0},
+{ 10, s_34_35, 0, 1, 0}
 };
 
 static const symbol s_35_0[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
@@ -1148,14 +1189,12 @@ static const symbol s_35_1[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB
 static const symbol s_35_2[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
 static const symbol s_35_3[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
 static const symbol s_35_4[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5 };
-
-static const struct among a_35[5] =
-{
-{ 12, s_35_0, -1, 1, 0},
-{ 10, s_35_1, -1, 1, 0},
-{ 10, s_35_2, -1, 1, 0},
-{ 10, s_35_3, -1, 1, 0},
-{ 14, s_35_4, 3, 1, 0}
+static const struct among a_35[5] = {
+{ 12, s_35_0, 0, 1, 0},
+{ 10, s_35_1, 0, 1, 0},
+{ 10, s_35_2, 0, 1, 0},
+{ 10, s_35_3, 0, 1, 0},
+{ 14, s_35_4, -1, 1, 0}
 };
 
 static const symbol s_36_0[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x80 };
@@ -1170,30 +1209,26 @@ static const symbol s_36_8[6] = { 0xCE, 0xBE, 0xCE, 0xB5, 0xCE, 0xB8 };
 static const symbol s_36_9[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB8 };
 static const symbol s_36_10[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBA };
 static const symbol s_36_11[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB };
-
-static const struct among a_36[12] =
-{
-{ 8, s_36_0, -1, 1, 0},
-{ 8, s_36_1, -1, 1, 0},
-{ 10, s_36_2, -1, 1, 0},
-{ 6, s_36_3, -1, 1, 0},
-{ 2, s_36_4, -1, 1, 0},
-{ 6, s_36_5, 4, 1, 0},
-{ 8, s_36_6, -1, 1, 0},
-{ 6, s_36_7, -1, 1, 0},
-{ 6, s_36_8, -1, 1, 0},
-{ 8, s_36_9, -1, 1, 0},
-{ 8, s_36_10, -1, 1, 0},
-{ 6, s_36_11, -1, 1, 0}
+static const struct among a_36[12] = {
+{ 8, s_36_0, 0, 1, 0},
+{ 8, s_36_1, 0, 1, 0},
+{ 10, s_36_2, 0, 1, 0},
+{ 6, s_36_3, 0, 1, 0},
+{ 2, s_36_4, 0, 1, 0},
+{ 6, s_36_5, -1, 1, 0},
+{ 8, s_36_6, 0, 1, 0},
+{ 6, s_36_7, 0, 1, 0},
+{ 6, s_36_8, 0, 1, 0},
+{ 8, s_36_9, 0, 1, 0},
+{ 8, s_36_10, 0, 1, 0},
+{ 6, s_36_11, 0, 1, 0}
 };
 
 static const symbol s_37_0[4] = { 0xCF, 0x84, 0xCF, 0x81 };
 static const symbol s_37_1[4] = { 0xCF, 0x84, 0xCF, 0x83 };
-
-static const struct among a_37[2] =
-{
-{ 4, s_37_0, -1, 1, 0},
-{ 4, s_37_1, -1, 1, 0}
+static const struct among a_37[2] = {
+{ 4, s_37_0, 0, 1, 0},
+{ 4, s_37_1, 0, 1, 0}
 };
 
 static const symbol s_38_0[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
@@ -1207,20 +1242,18 @@ static const symbol s_38_7[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB
 static const symbol s_38_8[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_38_9[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
 static const symbol s_38_10[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB5 };
-
-static const struct among a_38[11] =
-{
-{ 12, s_38_0, -1, 1, 0},
-{ 10, s_38_1, -1, 1, 0},
-{ 14, s_38_2, -1, 1, 0},
-{ 16, s_38_3, 2, 1, 0},
-{ 12, s_38_4, -1, 1, 0},
-{ 14, s_38_5, 4, 1, 0},
-{ 10, s_38_6, -1, 1, 0},
-{ 12, s_38_7, 6, 1, 0},
-{ 10, s_38_8, -1, 1, 0},
-{ 10, s_38_9, -1, 1, 0},
-{ 14, s_38_10, 9, 1, 0}
+static const struct among a_38[11] = {
+{ 12, s_38_0, 0, 1, 0},
+{ 10, s_38_1, 0, 1, 0},
+{ 14, s_38_2, 0, 1, 0},
+{ 16, s_38_3, -1, 1, 0},
+{ 12, s_38_4, 0, 1, 0},
+{ 14, s_38_5, -1, 1, 0},
+{ 10, s_38_6, 0, 1, 0},
+{ 12, s_38_7, -1, 1, 0},
+{ 10, s_38_8, 0, 1, 0},
+{ 10, s_38_9, 0, 1, 0},
+{ 14, s_38_10, -1, 1, 0}
 };
 
 static const symbol s_39_0[2] = { 0xCF, 0x80 };
@@ -1318,1144 +1351,993 @@ static const symbol s_39_91[16] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0x
 static const symbol s_39_92[16] = { 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBC };
 static const symbol s_39_93[2] = { 0xCE, 0xBD };
 static const symbol s_39_94[16] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
-
-static const struct among a_39[95] =
-{
-{ 2, s_39_0, -1, 1, 0},
-{ 4, s_39_1, 0, 1, 0},
-{ 14, s_39_2, 0, 1, 0},
-{ 8, s_39_3, 0, 1, 0},
-{ 18, s_39_4, 0, 1, 0},
-{ 8, s_39_5, 0, 1, 0},
-{ 6, s_39_6, 0, 1, 0},
-{ 12, s_39_7, 6, 1, 0},
-{ 12, s_39_8, -1, 1, 0},
-{ 6, s_39_9, -1, 1, 0},
-{ 4, s_39_10, -1, 1, 0},
-{ 10, s_39_11, 10, 1, 0},
-{ 6, s_39_12, 10, 1, 0},
-{ 12, s_39_13, -1, 1, 0},
-{ 12, s_39_14, -1, 1, 0},
-{ 2, s_39_15, -1, 1, 0},
-{ 16, s_39_16, 15, 1, 0},
-{ 6, s_39_17, 15, 1, 0},
-{ 6, s_39_18, 15, 1, 0},
-{ 10, s_39_19, 15, 1, 0},
-{ 8, s_39_20, -1, 1, 0},
-{ 8, s_39_21, -1, 1, 0},
-{ 8, s_39_22, -1, 1, 0},
-{ 14, s_39_23, -1, 1, 0},
-{ 6, s_39_24, -1, 1, 0},
-{ 12, s_39_25, -1, 1, 0},
-{ 10, s_39_26, -1, 1, 0},
-{ 8, s_39_27, -1, 1, 0},
-{ 10, s_39_28, -1, 1, 0},
-{ 2, s_39_29, -1, 1, 0},
-{ 14, s_39_30, 29, 1, 0},
-{ 14, s_39_31, 29, 1, 0},
-{ 6, s_39_32, 29, 1, 0},
-{ 8, s_39_33, 29, 1, 0},
-{ 8, s_39_34, 29, 1, 0},
-{ 16, s_39_35, 34, 1, 0},
-{ 10, s_39_36, 29, 1, 0},
-{ 12, s_39_37, 36, 1, 0},
-{ 2, s_39_38, -1, 1, 0},
-{ 14, s_39_39, 38, 1, 0},
-{ 8, s_39_40, 38, 1, 0},
-{ 12, s_39_41, 38, 1, 0},
-{ 22, s_39_42, 41, 1, 0},
-{ 22, s_39_43, 41, 1, 0},
-{ 22, s_39_44, 41, 1, 0},
-{ 6, s_39_45, 38, 1, 0},
-{ 6, s_39_46, -1, 1, 0},
-{ 8, s_39_47, 46, 1, 0},
-{ 14, s_39_48, 46, 1, 0},
-{ 6, s_39_49, -1, 1, 0},
-{ 8, s_39_50, 49, 1, 0},
-{ 16, s_39_51, 50, 1, 0},
-{ 2, s_39_52, -1, 1, 0},
-{ 10, s_39_53, 52, 1, 0},
-{ 10, s_39_54, 52, 1, 0},
-{ 4, s_39_55, 52, 1, 0},
-{ 8, s_39_56, 55, 1, 0},
-{ 8, s_39_57, 55, 1, 0},
-{ 10, s_39_58, 52, 1, 0},
-{ 12, s_39_59, 58, 1, 0},
-{ 10, s_39_60, 52, 1, 0},
-{ 8, s_39_61, 52, 1, 0},
-{ 8, s_39_62, 52, 1, 0},
-{ 6, s_39_63, 52, 1, 0},
-{ 14, s_39_64, -1, 1, 0},
-{ 2, s_39_65, -1, 1, 0},
-{ 12, s_39_66, 65, 1, 0},
-{ 6, s_39_67, 65, 1, 0},
-{ 8, s_39_68, 67, 1, 0},
-{ 8, s_39_69, -1, 1, 0},
-{ 12, s_39_70, -1, 1, 0},
-{ 6, s_39_71, -1, 1, 0},
-{ 10, s_39_72, -1, 1, 0},
-{ 4, s_39_73, -1, 1, 0},
-{ 8, s_39_74, 73, 1, 0},
-{ 10, s_39_75, -1, 1, 0},
-{ 4, s_39_76, -1, 1, 0},
-{ 8, s_39_77, 76, 1, 0},
-{ 12, s_39_78, 76, 1, 0},
-{ 10, s_39_79, 76, 1, 0},
-{ 6, s_39_80, -1, 1, 0},
-{ 6, s_39_81, -1, 1, 0},
-{ 14, s_39_82, 81, 1, 0},
-{ 14, s_39_83, 81, 1, 0},
-{ 12, s_39_84, 81, 1, 0},
-{ 12, s_39_85, -1, 1, 0},
-{ 6, s_39_86, -1, 1, 0},
-{ 12, s_39_87, -1, 1, 0},
-{ 2, s_39_88, -1, 1, 0},
-{ 14, s_39_89, 88, 1, 0},
-{ 10, s_39_90, 88, 1, 0},
-{ 16, s_39_91, 88, 1, 0},
-{ 16, s_39_92, 88, 1, 0},
-{ 2, s_39_93, -1, 1, 0},
-{ 16, s_39_94, 93, 1, 0}
-};
-
-static const symbol s_40_0[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB5 };
-
-static const struct among a_40[1] =
-{
-{ 10, s_40_0, -1, 1, 0}
-};
-
-static const symbol s_41_0[6] = { 0xCF, 0x80, 0xCF, 0x85, 0xCF, 0x81 };
-static const symbol s_41_1[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x81 };
-static const symbol s_41_2[6] = { 0xCF, 0x87, 0xCF, 0x89, 0xCF, 0x81 };
-static const symbol s_41_3[6] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_41_4[4] = { 0xCE, 0xB2, 0xCF, 0x81 };
-static const symbol s_41_5[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x81 };
-static const symbol s_41_6[6] = { 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81 };
-static const symbol s_41_7[6] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCF, 0x84 };
-static const symbol s_41_8[4] = { 0xCF, 0x83, 0xCF, 0x87 };
-static const symbol s_41_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB4 };
-static const symbol s_41_10[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4 };
-static const symbol s_41_11[4] = { 0xCE, 0xBF, 0xCE, 0xB4 };
-static const symbol s_41_12[10] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB8 };
-static const symbol s_41_13[4] = { 0xCF, 0x83, 0xCE, 0xB8 };
-static const symbol s_41_14[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCE, 0xB8 };
-static const symbol s_41_15[6] = { 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_41_16[6] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_41_17[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_41_18[6] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_41_19[6] = { 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB8 };
-static const symbol s_41_20[6] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB8 };
-static const symbol s_41_21[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 };
-static const symbol s_41_22[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB8 };
-static const symbol s_41_23[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xB8 };
-static const symbol s_41_24[6] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA };
-static const symbol s_41_25[8] = { 0xCF, 0x89, 0xCF, 0x86, 0xCE, 0xB5, 0xCE, 0xBB };
-static const symbol s_41_26[6] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCE, 0xBB };
-static const symbol s_41_27[6] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_41_28[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBD };
-static const symbol s_41_29[6] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBD };
-static const symbol s_41_30[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD };
-
-static const struct among a_41[31] =
-{
-{ 6, s_41_0, -1, 1, 0},
-{ 6, s_41_1, -1, 1, 0},
-{ 6, s_41_2, -1, 1, 0},
-{ 6, s_41_3, -1, 1, 0},
-{ 4, s_41_4, -1, 1, 0},
-{ 6, s_41_5, -1, 1, 0},
-{ 6, s_41_6, -1, 1, 0},
-{ 6, s_41_7, -1, 1, 0},
-{ 4, s_41_8, -1, 1, 0},
-{ 8, s_41_9, -1, 1, 0},
-{ 6, s_41_10, -1, 1, 0},
-{ 4, s_41_11, -1, 1, 0},
-{ 10, s_41_12, -1, 1, 0},
+static const struct among a_39[95] = {
+{ 2, s_39_0, 0, 1, 0},
+{ 4, s_39_1, -1, 1, 0},
+{ 14, s_39_2, -2, 1, 0},
+{ 8, s_39_3, -3, 1, 0},
+{ 18, s_39_4, -4, 1, 0},
+{ 8, s_39_5, -5, 1, 0},
+{ 6, s_39_6, -6, 1, 0},
+{ 12, s_39_7, -1, 1, 0},
+{ 12, s_39_8, 0, 1, 0},
+{ 6, s_39_9, 0, 1, 0},
+{ 4, s_39_10, 0, 1, 0},
+{ 10, s_39_11, -1, 1, 0},
+{ 6, s_39_12, -2, 1, 0},
+{ 12, s_39_13, 0, 1, 0},
+{ 12, s_39_14, 0, 1, 0},
+{ 2, s_39_15, 0, 1, 0},
+{ 16, s_39_16, -1, 1, 0},
+{ 6, s_39_17, -2, 1, 0},
+{ 6, s_39_18, -3, 1, 0},
+{ 10, s_39_19, -4, 1, 0},
+{ 8, s_39_20, 0, 1, 0},
+{ 8, s_39_21, 0, 1, 0},
+{ 8, s_39_22, 0, 1, 0},
+{ 14, s_39_23, 0, 1, 0},
+{ 6, s_39_24, 0, 1, 0},
+{ 12, s_39_25, 0, 1, 0},
+{ 10, s_39_26, 0, 1, 0},
+{ 8, s_39_27, 0, 1, 0},
+{ 10, s_39_28, 0, 1, 0},
+{ 2, s_39_29, 0, 1, 0},
+{ 14, s_39_30, -1, 1, 0},
+{ 14, s_39_31, -2, 1, 0},
+{ 6, s_39_32, -3, 1, 0},
+{ 8, s_39_33, -4, 1, 0},
+{ 8, s_39_34, -5, 1, 0},
+{ 16, s_39_35, -1, 1, 0},
+{ 10, s_39_36, -7, 1, 0},
+{ 12, s_39_37, -1, 1, 0},
+{ 2, s_39_38, 0, 1, 0},
+{ 14, s_39_39, -1, 1, 0},
+{ 8, s_39_40, -2, 1, 0},
+{ 12, s_39_41, -3, 1, 0},
+{ 22, s_39_42, -1, 1, 0},
+{ 22, s_39_43, -2, 1, 0},
+{ 22, s_39_44, -3, 1, 0},
+{ 6, s_39_45, -7, 1, 0},
+{ 6, s_39_46, 0, 1, 0},
+{ 8, s_39_47, -1, 1, 0},
+{ 14, s_39_48, -2, 1, 0},
+{ 6, s_39_49, 0, 1, 0},
+{ 8, s_39_50, -1, 1, 0},
+{ 16, s_39_51, -1, 1, 0},
+{ 2, s_39_52, 0, 1, 0},
+{ 10, s_39_53, -1, 1, 0},
+{ 10, s_39_54, -2, 1, 0},
+{ 4, s_39_55, -3, 1, 0},
+{ 8, s_39_56, -1, 1, 0},
+{ 8, s_39_57, -2, 1, 0},
+{ 10, s_39_58, -6, 1, 0},
+{ 12, s_39_59, -1, 1, 0},
+{ 10, s_39_60, -8, 1, 0},
+{ 8, s_39_61, -9, 1, 0},
+{ 8, s_39_62, -10, 1, 0},
+{ 6, s_39_63, -11, 1, 0},
+{ 14, s_39_64, 0, 1, 0},
+{ 2, s_39_65, 0, 1, 0},
+{ 12, s_39_66, -1, 1, 0},
+{ 6, s_39_67, -2, 1, 0},
+{ 8, s_39_68, -1, 1, 0},
+{ 8, s_39_69, 0, 1, 0},
+{ 12, s_39_70, 0, 1, 0},
+{ 6, s_39_71, 0, 1, 0},
+{ 10, s_39_72, 0, 1, 0},
+{ 4, s_39_73, 0, 1, 0},
+{ 8, s_39_74, -1, 1, 0},
+{ 10, s_39_75, 0, 1, 0},
+{ 4, s_39_76, 0, 1, 0},
+{ 8, s_39_77, -1, 1, 0},
+{ 12, s_39_78, -2, 1, 0},
+{ 10, s_39_79, -3, 1, 0},
+{ 6, s_39_80, 0, 1, 0},
+{ 6, s_39_81, 0, 1, 0},
+{ 14, s_39_82, -1, 1, 0},
+{ 14, s_39_83, -2, 1, 0},
+{ 12, s_39_84, -3, 1, 0},
+{ 12, s_39_85, 0, 1, 0},
+{ 6, s_39_86, 0, 1, 0},
+{ 12, s_39_87, 0, 1, 0},
+{ 2, s_39_88, 0, 1, 0},
+{ 14, s_39_89, -1, 1, 0},
+{ 10, s_39_90, -2, 1, 0},
+{ 16, s_39_91, -3, 1, 0},
+{ 16, s_39_92, -4, 1, 0},
+{ 2, s_39_93, 0, 1, 0},
+{ 16, s_39_94, -1, 1, 0}
+};
+
+static const symbol s_40_0[6] = { 0xCF, 0x80, 0xCF, 0x85, 0xCF, 0x81 };
+static const symbol s_40_1[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x81 };
+static const symbol s_40_2[6] = { 0xCF, 0x87, 0xCF, 0x89, 0xCF, 0x81 };
+static const symbol s_40_3[6] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_40_4[4] = { 0xCE, 0xB2, 0xCF, 0x81 };
+static const symbol s_40_5[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCF, 0x81 };
+static const symbol s_40_6[6] = { 0xCF, 0x86, 0xCE, 0xBF, 0xCF, 0x81 };
+static const symbol s_40_7[6] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCF, 0x84 };
+static const symbol s_40_8[4] = { 0xCF, 0x83, 0xCF, 0x87 };
+static const symbol s_40_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB4 };
+static const symbol s_40_10[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4 };
+static const symbol s_40_11[4] = { 0xCE, 0xBF, 0xCE, 0xB4 };
+static const symbol s_40_12[10] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB8 };
+static const symbol s_40_13[4] = { 0xCF, 0x83, 0xCE, 0xB8 };
+static const symbol s_40_14[6] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCE, 0xB8 };
+static const symbol s_40_15[6] = { 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_40_16[6] = { 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_40_17[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_40_18[6] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_40_19[6] = { 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xB8 };
+static const symbol s_40_20[6] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB8 };
+static const symbol s_40_21[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 };
+static const symbol s_40_22[6] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB8 };
+static const symbol s_40_23[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xB8 };
+static const symbol s_40_24[6] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBA };
+static const symbol s_40_25[8] = { 0xCF, 0x89, 0xCF, 0x86, 0xCE, 0xB5, 0xCE, 0xBB };
+static const symbol s_40_26[6] = { 0xCE, 0xB2, 0xCE, 0xBF, 0xCE, 0xBB };
+static const symbol s_40_27[6] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_40_28[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBD };
+static const symbol s_40_29[6] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBD };
+static const symbol s_40_30[6] = { 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD };
+static const struct among a_40[31] = {
+{ 6, s_40_0, 0, 1, 0},
+{ 6, s_40_1, 0, 1, 0},
+{ 6, s_40_2, 0, 1, 0},
+{ 6, s_40_3, 0, 1, 0},
+{ 4, s_40_4, 0, 1, 0},
+{ 6, s_40_5, 0, 1, 0},
+{ 6, s_40_6, 0, 1, 0},
+{ 6, s_40_7, 0, 1, 0},
+{ 4, s_40_8, 0, 1, 0},
+{ 8, s_40_9, 0, 1, 0},
+{ 6, s_40_10, 0, 1, 0},
+{ 4, s_40_11, 0, 1, 0},
+{ 10, s_40_12, 0, 1, 0},
+{ 4, s_40_13, 0, 1, 0},
+{ 6, s_40_14, 0, 1, 0},
+{ 6, s_40_15, 0, 1, 0},
+{ 6, s_40_16, 0, 1, 0},
+{ 8, s_40_17, 0, 1, 0},
+{ 6, s_40_18, 0, 1, 0},
+{ 6, s_40_19, 0, 1, 0},
+{ 6, s_40_20, 0, 1, 0},
+{ 8, s_40_21, 0, 1, 0},
+{ 6, s_40_22, 0, 1, 0},
+{ 6, s_40_23, 0, 1, 0},
+{ 6, s_40_24, 0, 1, 0},
+{ 8, s_40_25, 0, 1, 0},
+{ 6, s_40_26, 0, 1, 0},
+{ 6, s_40_27, 0, 1, 0},
+{ 6, s_40_28, 0, 1, 0},
+{ 6, s_40_29, 0, 1, 0},
+{ 6, s_40_30, 0, 1, 0}
+};
+
+static const symbol s_41_0[8] = { 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x80 };
+static const symbol s_41_1[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_41_2[8] = { 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 };
+static const symbol s_41_3[6] = { 0xCE, 0xBD, 0xCF, 0x84, 0xCF, 0x81 };
+static const symbol s_41_4[8] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_41_5[8] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_41_6[6] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCF, 0x81 };
+static const symbol s_41_7[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x81 };
+static const symbol s_41_8[2] = { 0xCF, 0x85 };
+static const symbol s_41_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCF, 0x81, 0xCF, 0x86 };
+static const symbol s_41_10[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x86 };
+static const symbol s_41_11[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB3 };
+static const symbol s_41_12[2] = { 0xCE, 0xB4 };
+static const symbol s_41_13[4] = { 0xCE, 0xB1, 0xCE, 0xB4 };
+static const symbol s_41_14[2] = { 0xCE, 0xB8 };
+static const symbol s_41_15[4] = { 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_41_16[4] = { 0xCF, 0x83, 0xCE, 0xBA };
+static const symbol s_41_17[6] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBA };
+static const symbol s_41_18[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB };
+static const symbol s_41_19[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB };
+static const symbol s_41_20[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5, 0xCE, 0xBB };
+static const symbol s_41_21[4] = { 0xCE, 0xB5, 0xCE, 0xBC };
+static const symbol s_41_22[4] = { 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_41_23[6] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD };
+static const symbol s_41_24[10] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD };
+static const struct among a_41[25] = {
+{ 8, s_41_0, 0, 1, 0},
+{ 6, s_41_1, 0, 1, 0},
+{ 8, s_41_2, 0, 1, 0},
+{ 6, s_41_3, 0, 1, 0},
+{ 8, s_41_4, 0, 1, 0},
+{ 8, s_41_5, 0, 1, 0},
+{ 6, s_41_6, 0, 1, 0},
+{ 8, s_41_7, 0, 1, 0},
+{ 2, s_41_8, 0, 1, 0},
+{ 8, s_41_9, 0, 1, 0},
+{ 6, s_41_10, 0, 1, 0},
+{ 6, s_41_11, 0, 1, 0},
+{ 2, s_41_12, 0, 1, 0},
 { 4, s_41_13, -1, 1, 0},
-{ 6, s_41_14, -1, 1, 0},
-{ 6, s_41_15, -1, 1, 0},
-{ 6, s_41_16, -1, 1, 0},
-{ 8, s_41_17, -1, 1, 0},
-{ 6, s_41_18, -1, 1, 0},
-{ 6, s_41_19, -1, 1, 0},
-{ 6, s_41_20, -1, 1, 0},
-{ 8, s_41_21, -1, 1, 0},
-{ 6, s_41_22, -1, 1, 0},
-{ 6, s_41_23, -1, 1, 0},
-{ 6, s_41_24, -1, 1, 0},
-{ 8, s_41_25, -1, 1, 0},
-{ 6, s_41_26, -1, 1, 0},
-{ 6, s_41_27, -1, 1, 0},
-{ 6, s_41_28, -1, 1, 0},
-{ 6, s_41_29, -1, 1, 0},
-{ 6, s_41_30, -1, 1, 0}
-};
-
-static const symbol s_42_0[8] = { 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x80 };
-static const symbol s_42_1[6] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_42_2[8] = { 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 };
-static const symbol s_42_3[6] = { 0xCE, 0xBD, 0xCF, 0x84, 0xCF, 0x81 };
-static const symbol s_42_4[8] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_42_5[8] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_42_6[6] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCF, 0x81 };
-static const symbol s_42_7[8] = { 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x81 };
-static const symbol s_42_8[2] = { 0xCF, 0x85 };
-static const symbol s_42_9[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCF, 0x81, 0xCF, 0x86 };
-static const symbol s_42_10[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x86 };
-static const symbol s_42_11[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xB3 };
-static const symbol s_42_12[2] = { 0xCE, 0xB4 };
-static const symbol s_42_13[4] = { 0xCE, 0xB1, 0xCE, 0xB4 };
-static const symbol s_42_14[2] = { 0xCE, 0xB8 };
-static const symbol s_42_15[4] = { 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_42_16[4] = { 0xCF, 0x83, 0xCE, 0xBA };
-static const symbol s_42_17[6] = { 0xCF, 0x84, 0xCE, 0xBF, 0xCE, 0xBA };
-static const symbol s_42_18[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB };
-static const symbol s_42_19[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB };
-static const symbol s_42_20[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xB5, 0xCE, 0xBB };
-static const symbol s_42_21[4] = { 0xCE, 0xB5, 0xCE, 0xBC };
-static const symbol s_42_22[4] = { 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_42_23[6] = { 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD };
-static const symbol s_42_24[10] = { 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBD };
-
-static const struct among a_42[25] =
-{
-{ 8, s_42_0, -1, 1, 0},
-{ 6, s_42_1, -1, 1, 0},
-{ 8, s_42_2, -1, 1, 0},
-{ 6, s_42_3, -1, 1, 0},
-{ 8, s_42_4, -1, 1, 0},
-{ 8, s_42_5, -1, 1, 0},
-{ 6, s_42_6, -1, 1, 0},
-{ 8, s_42_7, -1, 1, 0},
-{ 2, s_42_8, -1, 1, 0},
-{ 8, s_42_9, -1, 1, 0},
-{ 6, s_42_10, -1, 1, 0},
-{ 6, s_42_11, -1, 1, 0},
-{ 2, s_42_12, -1, 1, 0},
-{ 4, s_42_13, 12, 1, 0},
-{ 2, s_42_14, -1, 1, 0},
-{ 4, s_42_15, 14, 1, 0},
-{ 4, s_42_16, -1, 1, 0},
-{ 6, s_42_17, -1, 1, 0},
-{ 6, s_42_18, -1, 1, 0},
-{ 14, s_42_19, -1, 1, 0},
-{ 8, s_42_20, -1, 1, 0},
-{ 4, s_42_21, -1, 1, 0},
-{ 4, s_42_22, -1, 1, 0},
-{ 6, s_42_23, -1, 1, 0},
-{ 10, s_42_24, -1, 1, 0}
-};
-
-static const symbol s_43_0[10] = { 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 };
-static const symbol s_43_1[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 };
-
-static const struct among a_43[2] =
-{
-{ 10, s_43_0, -1, 1, 0},
-{ 10, s_43_1, -1, 1, 0}
-};
-
-static const symbol s_44_0[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_44_1[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-
-static const struct among a_44[2] =
-{
-{ 12, s_44_0, -1, 1, 0},
-{ 14, s_44_1, 0, 1, 0}
-};
-
-static const symbol s_45_0[2] = { 0xCF, 0x80 };
-static const symbol s_45_1[4] = { 0xCE, 0xB1, 0xCF, 0x80 };
-static const symbol s_45_2[12] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x80 };
-static const symbol s_45_3[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
-static const symbol s_45_4[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
-static const symbol s_45_5[14] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 };
-
-static const struct among a_45[6] =
-{
-{ 2, s_45_0, -1, 1, 0},
-{ 4, s_45_1, 0, 1, 0},
-{ 12, s_45_2, 1, 1, 0},
-{ 8, s_45_3, 0, 1, 0},
-{ 10, s_45_4, 3, 1, 0},
-{ 14, s_45_5, -1, 1, 0}
-};
-
-static const symbol s_46_0[4] = { 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_46_1[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x83 };
-static const symbol s_46_2[2] = { 0xCE, 0xB6 };
-static const symbol s_46_3[4] = { 0xCE, 0xB1, 0xCE, 0xBB };
-static const symbol s_46_4[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB };
-static const symbol s_46_5[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB };
-static const symbol s_46_6[2] = { 0xCE, 0xBC };
-static const symbol s_46_7[2] = { 0xCE, 0xBE };
-static const symbol s_46_8[6] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF };
-
-static const struct among a_46[9] =
-{
-{ 4, s_46_0, -1, 1, 0},
-{ 6, s_46_1, -1, 1, 0},
-{ 2, s_46_2, -1, 1, 0},
-{ 4, s_46_3, -1, 1, 0},
-{ 14, s_46_4, 3, 1, 0},
-{ 10, s_46_5, -1, 1, 0},
-{ 2, s_46_6, -1, 1, 0},
-{ 2, s_46_7, -1, 1, 0},
-{ 6, s_46_8, -1, 1, 0}
-};
-
-static const symbol s_47_0[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_47_1[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 };
-static const symbol s_47_2[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 };
-
-static const struct among a_47[3] =
-{
-{ 12, s_47_0, -1, 1, 0},
-{ 10, s_47_1, -1, 1, 0},
-{ 10, s_47_2, -1, 1, 0}
-};
-
-static const symbol s_48_0[4] = { 0xCF, 0x83, 0xCF, 0x86 };
-static const symbol s_48_1[8] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB8 };
-static const symbol s_48_2[6] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB8 };
-static const symbol s_48_3[4] = { 0xCE, 0xBF, 0xCE, 0xB8 };
-static const symbol s_48_4[10] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB };
-static const symbol s_48_5[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCF, 0x89, 0xCE, 0xBB };
-
-static const struct among a_48[6] =
-{
-{ 4, s_48_0, -1, 1, 0},
-{ 8, s_48_1, -1, 1, 0},
-{ 6, s_48_2, -1, 1, 0},
-{ 4, s_48_3, -1, 1, 0},
-{ 10, s_48_4, -1, 1, 0},
-{ 8, s_48_5, -1, 1, 0}
-};
-
-static const symbol s_49_0[2] = { 0xCE, 0xB8 };
-static const symbol s_49_1[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB8 };
-static const symbol s_49_2[18] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_49_3[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 };
-static const symbol s_49_4[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 };
-
-static const struct among a_49[5] =
-{
-{ 2, s_49_0, -1, 1, 0},
-{ 10, s_49_1, 0, 1, 0},
-{ 18, s_49_2, 0, 1, 0},
-{ 8, s_49_3, 0, 1, 0},
-{ 8, s_49_4, 0, 1, 0}
-};
-
-static const symbol s_50_0[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_50_1[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 };
-static const symbol s_50_2[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 };
-
-static const struct among a_50[3] =
-{
-{ 8, s_50_0, -1, 1, 0},
-{ 6, s_50_1, -1, 1, 0},
-{ 6, s_50_2, -1, 1, 0}
-};
-
-static const symbol s_51_0[8] = { 0xCE, 0xB2, 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x80 };
-static const symbol s_51_1[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_51_2[8] = { 0xCF, 0x80, 0xCF, 0x81, 0xCF, 0x89, 0xCF, 0x84 };
-static const symbol s_51_3[10] = { 0xCE, 0xBA, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_51_4[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x87 };
-static const symbol s_51_5[6] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x87 };
-static const symbol s_51_6[6] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3 };
-static const symbol s_51_7[6] = { 0xCE, 0xBB, 0xCE, 0xB7, 0xCE, 0xB3 };
-static const symbol s_51_8[8] = { 0xCF, 0x86, 0xCF, 0x81, 0xCF, 0x85, 0xCE, 0xB4 };
-static const symbol s_51_9[12] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBB };
-static const symbol s_51_10[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB };
-static const symbol s_51_11[4] = { 0xCE, 0xBF, 0xCE, 0xBC };
-
-static const struct among a_51[12] =
-{
-{ 8, s_51_0, -1, 1, 0},
-{ 10, s_51_1, -1, 1, 0},
-{ 8, s_51_2, -1, 1, 0},
-{ 10, s_51_3, -1, 1, 0},
-{ 12, s_51_4, -1, 1, 0},
-{ 6, s_51_5, -1, 1, 0},
-{ 6, s_51_6, -1, 1, 0},
-{ 6, s_51_7, -1, 1, 0},
-{ 8, s_51_8, -1, 1, 0},
-{ 12, s_51_9, -1, 1, 0},
-{ 8, s_51_10, -1, 1, 0},
-{ 4, s_51_11, -1, 1, 0}
-};
-
-static const symbol s_52_0[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x80 };
-static const symbol s_52_1[2] = { 0xCF, 0x81 };
-static const symbol s_52_2[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 };
-static const symbol s_52_3[16] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x86, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_52_4[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_52_5[14] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 };
-static const symbol s_52_6[16] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 };
-static const symbol s_52_7[6] = { 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x87 };
-static const symbol s_52_8[6] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1 };
-static const symbol s_52_9[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCE, 0xB4 };
-static const symbol s_52_10[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB4 };
-static const symbol s_52_11[12] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB4 };
-static const symbol s_52_12[4] = { 0xCE, 0xB4, 0xCE, 0xB5 };
-static const symbol s_52_13[6] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5 };
-static const symbol s_52_14[10] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB6 };
-static const symbol s_52_15[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB6 };
-static const symbol s_52_16[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xB8 };
-static const symbol s_52_17[12] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBA };
-static const symbol s_52_18[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA };
-static const symbol s_52_19[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB7, 0xCE, 0xBA };
-static const symbol s_52_20[2] = { 0xCE, 0xBB };
-static const symbol s_52_21[2] = { 0xCE, 0xBC };
-static const symbol s_52_22[4] = { 0xCE, 0xB1, 0xCE, 0xBC };
-static const symbol s_52_23[8] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBC };
-static const symbol s_52_24[14] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBD };
-
-static const struct among a_52[25] =
-{
-{ 10, s_52_0, -1, 1, 0},
-{ 2, s_52_1, -1, 1, 0},
-{ 10, s_52_2, 1, 1, 0},
-{ 16, s_52_3, 1, 1, 0},
-{ 6, s_52_4, -1, 1, 0},
-{ 14, s_52_5, -1, 1, 0},
-{ 16, s_52_6, -1, 1, 0},
-{ 6, s_52_7, -1, 1, 0},
-{ 6, s_52_8, -1, 1, 0},
-{ 6, s_52_9, -1, 1, 0},
-{ 6, s_52_10, -1, 1, 0},
-{ 12, s_52_11, -1, 1, 0},
-{ 4, s_52_12, -1, 1, 0},
-{ 6, s_52_13, -1, 1, 0},
-{ 10, s_52_14, -1, 1, 0},
-{ 12, s_52_15, -1, 1, 0},
-{ 6, s_52_16, -1, 1, 0},
-{ 12, s_52_17, -1, 1, 0},
-{ 6, s_52_18, -1, 1, 0},
-{ 8, s_52_19, -1, 1, 0},
-{ 2, s_52_20, -1, 1, 0},
-{ 2, s_52_21, -1, 1, 0},
-{ 4, s_52_22, 21, 1, 0},
-{ 8, s_52_23, 21, 1, 0},
-{ 14, s_52_24, -1, 1, 0}
-};
-
-static const symbol s_53_0[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_53_1[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1 };
-static const symbol s_53_2[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5 };
-
-static const struct among a_53[3] =
-{
-{ 10, s_53_0, -1, 1, 0},
-{ 8, s_53_1, -1, 1, 0},
-{ 8, s_53_2, -1, 1, 0}
-};
-
-static const symbol s_54_0[4] = { 0xCF, 0x81, 0xCF, 0x80 };
-static const symbol s_54_1[4] = { 0xCF, 0x80, 0xCF, 0x81 };
-static const symbol s_54_2[4] = { 0xCF, 0x86, 0xCF, 0x81 };
-static const symbol s_54_3[8] = { 0xCF, 0x87, 0xCE, 0xBF, 0xCF, 0x81, 0xCF, 0x84 };
-static const symbol s_54_4[4] = { 0xCF, 0x83, 0xCF, 0x86 };
-static const symbol s_54_5[4] = { 0xCE, 0xBF, 0xCF, 0x86 };
-static const symbol s_54_6[6] = { 0xCF, 0x88, 0xCE, 0xBF, 0xCF, 0x86 };
-static const symbol s_54_7[6] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 };
-static const symbol s_54_8[12] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 };
-static const symbol s_54_9[6] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBB };
-static const symbol s_54_10[4] = { 0xCE, 0xBB, 0xCE, 0xBB };
-static const symbol s_54_11[8] = { 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBD };
-
-static const struct among a_54[12] =
-{
-{ 4, s_54_0, -1, 1, 0},
-{ 4, s_54_1, -1, 1, 0},
-{ 4, s_54_2, -1, 1, 0},
-{ 8, s_54_3, -1, 1, 0},
-{ 4, s_54_4, -1, 1, 0},
-{ 4, s_54_5, -1, 1, 0},
-{ 6, s_54_6, 5, -1, 0},
-{ 6, s_54_7, -1, 1, 0},
-{ 12, s_54_8, 7, -1, 0},
-{ 6, s_54_9, -1, 1, 0},
-{ 4, s_54_10, -1, 1, 0},
-{ 8, s_54_11, -1, 1, 0}
-};
-
-static const symbol s_55_0[2] = { 0xCF, 0x80 };
-static const symbol s_55_1[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80 };
-static const symbol s_55_2[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x80 };
-static const symbol s_55_3[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xB9, 0xCF, 0x80 };
-static const symbol s_55_4[8] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x80 };
-static const symbol s_55_5[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
-static const symbol s_55_6[16] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x89, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_7[14] = { 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_8[12] = { 0xCE, 0xB4, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_9[8] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_10[16] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_11[8] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 };
-static const symbol s_55_12[2] = { 0xCF, 0x81 };
-static const symbol s_55_13[4] = { 0xCF, 0x84, 0xCF, 0x81 };
-static const symbol s_55_14[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x81 };
-static const symbol s_55_15[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_55_16[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_55_17[8] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 };
-static const symbol s_55_18[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_55_19[2] = { 0xCF, 0x84 };
-static const symbol s_55_20[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x84 };
-static const symbol s_55_21[10] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 };
-static const symbol s_55_22[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 };
-static const symbol s_55_23[12] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 };
-static const symbol s_55_24[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_55_25[8] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB9, 0xCF, 0x84 };
-static const symbol s_55_26[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84 };
-static const symbol s_55_27[8] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 };
-static const symbol s_55_28[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 };
-static const symbol s_55_29[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 };
-static const symbol s_55_30[10] = { 0xCE, 0xBD, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 };
-static const symbol s_55_31[6] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85 };
-static const symbol s_55_32[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCF, 0x86 };
-static const symbol s_55_33[4] = { 0xCE, 0xB1, 0xCF, 0x86 };
-static const symbol s_55_34[6] = { 0xCE, 0xBE, 0xCE, 0xB5, 0xCF, 0x86 };
-static const symbol s_55_35[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x86 };
-static const symbol s_55_36[8] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 };
-static const symbol s_55_37[12] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xB9 };
-static const symbol s_55_38[2] = { 0xCE, 0xBB };
-static const symbol s_55_39[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB };
-static const symbol s_55_40[2] = { 0xCE, 0xBC };
-static const symbol s_55_41[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC };
-static const symbol s_55_42[4] = { 0xCE, 0xB5, 0xCE, 0xBD };
-static const symbol s_55_43[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD };
-
-static const struct among a_55[44] =
-{
-{ 2, s_55_0, -1, 1, 0},
+{ 2, s_41_14, 0, 1, 0},
+{ 4, s_41_15, -1, 1, 0},
+{ 4, s_41_16, 0, 1, 0},
+{ 6, s_41_17, 0, 1, 0},
+{ 6, s_41_18, 0, 1, 0},
+{ 14, s_41_19, 0, 1, 0},
+{ 8, s_41_20, 0, 1, 0},
+{ 4, s_41_21, 0, 1, 0},
+{ 4, s_41_22, 0, 1, 0},
+{ 6, s_41_23, 0, 1, 0},
+{ 10, s_41_24, 0, 1, 0}
+};
+
+static const symbol s_42_0[10] = { 0xCF, 0x89, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 };
+static const symbol s_42_1[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x83 };
+static const struct among a_42[2] = {
+{ 10, s_42_0, 0, 1, 0},
+{ 10, s_42_1, 0, 1, 0}
+};
+
+static const symbol s_43_0[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_43_1[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const struct among a_43[2] = {
+{ 12, s_43_0, 0, 1, 0},
+{ 14, s_43_1, -1, 1, 0}
+};
+
+static const symbol s_44_0[2] = { 0xCF, 0x80 };
+static const symbol s_44_1[4] = { 0xCE, 0xB1, 0xCF, 0x80 };
+static const symbol s_44_2[12] = { 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x80 };
+static const symbol s_44_3[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
+static const symbol s_44_4[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
+static const symbol s_44_5[14] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 };
+static const struct among a_44[6] = {
+{ 2, s_44_0, 0, 1, 0},
+{ 4, s_44_1, -1, 1, 0},
+{ 12, s_44_2, -1, 1, 0},
+{ 8, s_44_3, -3, 1, 0},
+{ 10, s_44_4, -1, 1, 0},
+{ 14, s_44_5, 0, 1, 0}
+};
+
+static const symbol s_45_0[4] = { 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_45_1[6] = { 0xCE, 0xBD, 0xCE, 0xB9, 0xCF, 0x83 };
+static const symbol s_45_2[2] = { 0xCE, 0xB6 };
+static const symbol s_45_3[4] = { 0xCE, 0xB1, 0xCE, 0xBB };
+static const symbol s_45_4[14] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB };
+static const symbol s_45_5[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xBB };
+static const symbol s_45_6[2] = { 0xCE, 0xBC };
+static const symbol s_45_7[2] = { 0xCE, 0xBE };
+static const symbol s_45_8[6] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF };
+static const struct among a_45[9] = {
+{ 4, s_45_0, 0, 1, 0},
+{ 6, s_45_1, 0, 1, 0},
+{ 2, s_45_2, 0, 1, 0},
+{ 4, s_45_3, 0, 1, 0},
+{ 14, s_45_4, -1, 1, 0},
+{ 10, s_45_5, 0, 1, 0},
+{ 2, s_45_6, 0, 1, 0},
+{ 2, s_45_7, 0, 1, 0},
+{ 6, s_45_8, 0, 1, 0}
+};
+
+static const symbol s_46_0[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_46_1[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 };
+static const symbol s_46_2[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 };
+static const struct among a_46[3] = {
+{ 12, s_46_0, 0, 1, 0},
+{ 10, s_46_1, 0, 1, 0},
+{ 10, s_46_2, 0, 1, 0}
+};
+
+static const symbol s_47_0[4] = { 0xCF, 0x83, 0xCF, 0x86 };
+static const symbol s_47_1[8] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB8 };
+static const symbol s_47_2[6] = { 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB8 };
+static const symbol s_47_3[4] = { 0xCE, 0xBF, 0xCE, 0xB8 };
+static const symbol s_47_4[10] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB };
+static const symbol s_47_5[8] = { 0xCF, 0x83, 0xCE, 0xBA, 0xCF, 0x89, 0xCE, 0xBB };
+static const struct among a_47[6] = {
+{ 4, s_47_0, 0, 1, 0},
+{ 8, s_47_1, 0, 1, 0},
+{ 6, s_47_2, 0, 1, 0},
+{ 4, s_47_3, 0, 1, 0},
+{ 10, s_47_4, 0, 1, 0},
+{ 8, s_47_5, 0, 1, 0}
+};
+
+static const symbol s_48_0[2] = { 0xCE, 0xB8 };
+static const symbol s_48_1[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB8 };
+static const symbol s_48_2[18] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_48_3[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCE, 0xB8 };
+static const symbol s_48_4[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB8 };
+static const struct among a_48[5] = {
+{ 2, s_48_0, 0, 1, 0},
+{ 10, s_48_1, -1, 1, 0},
+{ 18, s_48_2, -2, 1, 0},
+{ 8, s_48_3, -3, 1, 0},
+{ 8, s_48_4, -4, 1, 0}
+};
+
+static const symbol s_49_0[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_49_1[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1 };
+static const symbol s_49_2[6] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB5 };
+static const struct among a_49[3] = {
+{ 8, s_49_0, 0, 1, 0},
+{ 6, s_49_1, 0, 1, 0},
+{ 6, s_49_2, 0, 1, 0}
+};
+
+static const symbol s_50_0[8] = { 0xCE, 0xB2, 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x80 };
+static const symbol s_50_1[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB4, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_50_2[8] = { 0xCF, 0x80, 0xCF, 0x81, 0xCF, 0x89, 0xCF, 0x84 };
+static const symbol s_50_3[10] = { 0xCE, 0xBA, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_50_4[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x87 };
+static const symbol s_50_5[6] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCF, 0x87 };
+static const symbol s_50_6[6] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCE, 0xB3 };
+static const symbol s_50_7[6] = { 0xCE, 0xBB, 0xCE, 0xB7, 0xCE, 0xB3 };
+static const symbol s_50_8[8] = { 0xCF, 0x86, 0xCF, 0x81, 0xCF, 0x85, 0xCE, 0xB4 };
+static const symbol s_50_9[12] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB9, 0xCE, 0xBB };
+static const symbol s_50_10[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB };
+static const symbol s_50_11[4] = { 0xCE, 0xBF, 0xCE, 0xBC };
+static const struct among a_50[12] = {
+{ 8, s_50_0, 0, 1, 0},
+{ 10, s_50_1, 0, 1, 0},
+{ 8, s_50_2, 0, 1, 0},
+{ 10, s_50_3, 0, 1, 0},
+{ 12, s_50_4, 0, 1, 0},
+{ 6, s_50_5, 0, 1, 0},
+{ 6, s_50_6, 0, 1, 0},
+{ 6, s_50_7, 0, 1, 0},
+{ 8, s_50_8, 0, 1, 0},
+{ 12, s_50_9, 0, 1, 0},
+{ 8, s_50_10, 0, 1, 0},
+{ 4, s_50_11, 0, 1, 0}
+};
+
+static const symbol s_51_0[10] = { 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xBB, 0xCE, 0xB9, 0xCF, 0x80 };
+static const symbol s_51_1[2] = { 0xCF, 0x81 };
+static const symbol s_51_2[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x81 };
+static const symbol s_51_3[16] = { 0xCE, 0xB5, 0xCE, 0xBD, 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x86, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_51_4[6] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_51_5[14] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xB8, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 };
+static const symbol s_51_6[16] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB5, 0xCF, 0x85 };
+static const symbol s_51_7[6] = { 0xCE, 0xBB, 0xCE, 0xB5, 0xCF, 0x87 };
+static const symbol s_51_8[6] = { 0xCF, 0x84, 0xCF, 0x83, 0xCE, 0xB1 };
+static const symbol s_51_9[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCE, 0xB4 };
+static const symbol s_51_10[6] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB4 };
+static const symbol s_51_11[12] = { 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x80, 0xCE, 0xB9, 0xCE, 0xB4 };
+static const symbol s_51_12[4] = { 0xCE, 0xB4, 0xCE, 0xB5 };
+static const symbol s_51_13[6] = { 0xCF, 0x80, 0xCE, 0xBB, 0xCE, 0xB5 };
+static const symbol s_51_14[10] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB6 };
+static const symbol s_51_15[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xB6 };
+static const symbol s_51_16[6] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xB8 };
+static const symbol s_51_17[12] = { 0xCF, 0x86, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBA };
+static const symbol s_51_18[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xBA };
+static const symbol s_51_19[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCE, 0xB7, 0xCE, 0xBA };
+static const symbol s_51_20[2] = { 0xCE, 0xBB };
+static const symbol s_51_21[2] = { 0xCE, 0xBC };
+static const symbol s_51_22[4] = { 0xCE, 0xB1, 0xCE, 0xBC };
+static const symbol s_51_23[8] = { 0xCE, 0xB2, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBC };
+static const symbol s_51_24[14] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBD };
+static const struct among a_51[25] = {
+{ 10, s_51_0, 0, 1, 0},
+{ 2, s_51_1, 0, 1, 0},
+{ 10, s_51_2, -1, 1, 0},
+{ 16, s_51_3, -2, 1, 0},
+{ 6, s_51_4, 0, 1, 0},
+{ 14, s_51_5, 0, 1, 0},
+{ 16, s_51_6, 0, 1, 0},
+{ 6, s_51_7, 0, 1, 0},
+{ 6, s_51_8, 0, 1, 0},
+{ 6, s_51_9, 0, 1, 0},
+{ 6, s_51_10, 0, 1, 0},
+{ 12, s_51_11, 0, 1, 0},
+{ 4, s_51_12, 0, 1, 0},
+{ 6, s_51_13, 0, 1, 0},
+{ 10, s_51_14, 0, 1, 0},
+{ 12, s_51_15, 0, 1, 0},
+{ 6, s_51_16, 0, 1, 0},
+{ 12, s_51_17, 0, 1, 0},
+{ 6, s_51_18, 0, 1, 0},
+{ 8, s_51_19, 0, 1, 0},
+{ 2, s_51_20, 0, 1, 0},
+{ 2, s_51_21, 0, 1, 0},
+{ 4, s_51_22, -1, 1, 0},
+{ 8, s_51_23, -2, 1, 0},
+{ 14, s_51_24, 0, 1, 0}
+};
+
+static const symbol s_52_0[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_52_1[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1 };
+static const symbol s_52_2[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB5 };
+static const struct among a_52[3] = {
+{ 10, s_52_0, 0, 1, 0},
+{ 8, s_52_1, 0, 1, 0},
+{ 8, s_52_2, 0, 1, 0}
+};
+
+static const symbol s_53_0[4] = { 0xCF, 0x81, 0xCF, 0x80 };
+static const symbol s_53_1[4] = { 0xCF, 0x80, 0xCF, 0x81 };
+static const symbol s_53_2[4] = { 0xCF, 0x86, 0xCF, 0x81 };
+static const symbol s_53_3[8] = { 0xCF, 0x87, 0xCE, 0xBF, 0xCF, 0x81, 0xCF, 0x84 };
+static const symbol s_53_4[4] = { 0xCF, 0x83, 0xCF, 0x86 };
+static const symbol s_53_5[4] = { 0xCE, 0xBF, 0xCF, 0x86 };
+static const symbol s_53_6[6] = { 0xCF, 0x88, 0xCE, 0xBF, 0xCF, 0x86 };
+static const symbol s_53_7[6] = { 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 };
+static const symbol s_53_8[12] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x87 };
+static const symbol s_53_9[6] = { 0xCF, 0x80, 0xCE, 0xB5, 0xCE, 0xBB };
+static const symbol s_53_10[4] = { 0xCE, 0xBB, 0xCE, 0xBB };
+static const symbol s_53_11[8] = { 0xCF, 0x83, 0xCE, 0xBC, 0xCE, 0xB7, 0xCE, 0xBD };
+static const struct among a_53[12] = {
+{ 4, s_53_0, 0, 1, 0},
+{ 4, s_53_1, 0, 1, 0},
+{ 4, s_53_2, 0, 1, 0},
+{ 8, s_53_3, 0, 1, 0},
+{ 4, s_53_4, 0, 1, 0},
+{ 4, s_53_5, 0, 1, 0},
+{ 6, s_53_6, -1, -1, 0},
+{ 6, s_53_7, 0, 1, 0},
+{ 12, s_53_8, -1, -1, 0},
+{ 6, s_53_9, 0, 1, 0},
+{ 4, s_53_10, 0, 1, 0},
+{ 8, s_53_11, 0, 1, 0}
+};
+
+static const symbol s_54_0[2] = { 0xCF, 0x80 };
+static const symbol s_54_1[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80 };
+static const symbol s_54_2[8] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x80 };
+static const symbol s_54_3[10] = { 0xCE, 0xB1, 0xCF, 0x81, 0xCF, 0x84, 0xCE, 0xB9, 0xCF, 0x80 };
+static const symbol s_54_4[8] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x80 };
+static const symbol s_54_5[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBC, 0xCF, 0x80 };
+static const symbol s_54_6[16] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x89, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_7[14] = { 0xCF, 0x83, 0xCE, 0xB9, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_8[12] = { 0xCE, 0xB4, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_9[8] = { 0xCE, 0xBD, 0xCE, 0xB5, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_10[16] = { 0xCE, 0xBA, 0xCF, 0x81, 0xCE, 0xBF, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_11[8] = { 0xCE, 0xBF, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x80 };
+static const symbol s_54_12[2] = { 0xCF, 0x81 };
+static const symbol s_54_13[4] = { 0xCF, 0x84, 0xCF, 0x81 };
+static const symbol s_54_14[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x81 };
+static const symbol s_54_15[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_54_16[6] = { 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_54_17[8] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCE, 0xB1, 0xCF, 0x81 };
+static const symbol s_54_18[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_54_19[2] = { 0xCF, 0x84 };
+static const symbol s_54_20[10] = { 0xCE, 0xB1, 0xCE, 0xBD, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_54_21[10] = { 0xCE, 0xB1, 0xCE, 0xB2, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_54_22[10] = { 0xCF, 0x80, 0xCF, 0x81, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_54_23[12] = { 0xCE, 0xB1, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x83, 0xCF, 0x84 };
+static const symbol s_54_24[8] = { 0xCE, 0xB4, 0xCE, 0xB9, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_54_25[8] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCE, 0xB9, 0xCF, 0x84 };
+static const symbol s_54_26[8] = { 0xCF, 0x83, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84 };
+static const symbol s_54_27[8] = { 0xCF, 0x85, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 };
+static const symbol s_54_28[8] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBF, 0xCF, 0x84 };
+static const symbol s_54_29[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 };
+static const symbol s_54_30[10] = { 0xCE, 0xBD, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x84 };
+static const symbol s_54_31[6] = { 0xCE, 0xBD, 0xCE, 0xB1, 0xCF, 0x85 };
+static const symbol s_54_32[10] = { 0xCF, 0x80, 0xCE, 0xBF, 0xCE, 0xBB, 0xCF, 0x85, 0xCF, 0x86 };
+static const symbol s_54_33[4] = { 0xCE, 0xB1, 0xCF, 0x86 };
+static const symbol s_54_34[6] = { 0xCE, 0xBE, 0xCE, 0xB5, 0xCF, 0x86 };
+static const symbol s_54_35[8] = { 0xCE, 0xB1, 0xCE, 0xB4, 0xCE, 0xB7, 0xCF, 0x86 };
+static const symbol s_54_36[8] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBC, 0xCF, 0x86 };
+static const symbol s_54_37[12] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xB9 };
+static const symbol s_54_38[2] = { 0xCE, 0xBB };
+static const symbol s_54_39[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xBB };
+static const symbol s_54_40[2] = { 0xCE, 0xBC };
+static const symbol s_54_41[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBB, 0xCE, 0xB1, 0xCE, 0xBC };
+static const symbol s_54_42[4] = { 0xCE, 0xB5, 0xCE, 0xBD };
+static const symbol s_54_43[12] = { 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB2, 0xCE, 0xB5, 0xCE, 0xBD };
+static const struct among a_54[44] = {
+{ 2, s_54_0, 0, 1, 0},
+{ 6, s_54_1, -1, 1, 0},
+{ 8, s_54_2, -2, 1, 0},
+{ 10, s_54_3, -3, 1, 0},
+{ 8, s_54_4, -4, 1, 0},
+{ 8, s_54_5, -5, 1, 0},
+{ 16, s_54_6, -6, 1, 0},
+{ 14, s_54_7, -7, 1, 0},
+{ 12, s_54_8, -8, 1, 0},
+{ 8, s_54_9, -9, 1, 0},
+{ 16, s_54_10, -10, 1, 0},
+{ 8, s_54_11, -11, 1, 0},
+{ 2, s_54_12, 0, 1, 0},
+{ 4, s_54_13, -1, 1, 0},
+{ 6, s_54_14, -2, 1, 0},
+{ 10, s_54_15, -3, 1, 0},
+{ 6, s_54_16, -4, 1, 0},
+{ 8, s_54_17, -1, 1, 0},
+{ 8, s_54_18, -6, 1, 0},
+{ 2, s_54_19, 0, 1, 0},
+{ 10, s_54_20, -1, 1, 0},
+{ 10, s_54_21, -2, 1, 0},
+{ 10, s_54_22, -3, 1, 0},
+{ 12, s_54_23, -4, 1, 0},
+{ 8, s_54_24, -5, 1, 0},
+{ 8, s_54_25, -6, 1, 0},
+{ 8, s_54_26, -7, 1, 0},
+{ 8, s_54_27, -8, 1, 0},
+{ 8, s_54_28, -9, 1, 0},
+{ 8, s_54_29, -10, 1, 0},
+{ 10, s_54_30, -1, 1, 0},
+{ 6, s_54_31, 0, 1, 0},
+{ 10, s_54_32, 0, 1, 0},
+{ 4, s_54_33, 0, 1, 0},
+{ 6, s_54_34, 0, 1, 0},
+{ 8, s_54_35, 0, 1, 0},
+{ 8, s_54_36, 0, 1, 0},
+{ 12, s_54_37, 0, 1, 0},
+{ 2, s_54_38, 0, 1, 0},
+{ 8, s_54_39, -1, 1, 0},
+{ 2, s_54_40, 0, 1, 0},
+{ 10, s_54_41, -1, 1, 0},
+{ 4, s_54_42, 0, 1, 0},
+{ 12, s_54_43, -1, 1, 0}
+};
+
+static const symbol s_55_0[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_55_1[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1 };
+static const symbol s_55_2[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5 };
+static const struct among a_55[3] = {
+{ 8, s_55_0, 0, 1, 0},
 { 6, s_55_1, 0, 1, 0},
-{ 8, s_55_2, 0, 1, 0},
-{ 10, s_55_3, 0, 1, 0},
-{ 8, s_55_4, 0, 1, 0},
-{ 8, s_55_5, 0, 1, 0},
-{ 16, s_55_6, 0, 1, 0},
-{ 14, s_55_7, 0, 1, 0},
-{ 12, s_55_8, 0, 1, 0},
-{ 8, s_55_9, 0, 1, 0},
-{ 16, s_55_10, 0, 1, 0},
-{ 8, s_55_11, 0, 1, 0},
-{ 2, s_55_12, -1, 1, 0},
-{ 4, s_55_13, 12, 1, 0},
-{ 6, s_55_14, 12, 1, 0},
-{ 10, s_55_15, 12, 1, 0},
-{ 6, s_55_16, 12, 1, 0},
-{ 8, s_55_17, 16, 1, 0},
-{ 8, s_55_18, 12, 1, 0},
-{ 2, s_55_19, -1, 1, 0},
-{ 10, s_55_20, 19, 1, 0},
-{ 10, s_55_21, 19, 1, 0},
-{ 10, s_55_22, 19, 1, 0},
-{ 12, s_55_23, 19, 1, 0},
-{ 8, s_55_24, 19, 1, 0},
-{ 8, s_55_25, 19, 1, 0},
-{ 8, s_55_26, 19, 1, 0},
-{ 8, s_55_27, 19, 1, 0},
-{ 8, s_55_28, 19, 1, 0},
-{ 8, s_55_29, 19, 1, 0},
-{ 10, s_55_30, 29, 1, 0},
-{ 6, s_55_31, -1, 1, 0},
-{ 10, s_55_32, -1, 1, 0},
-{ 4, s_55_33, -1, 1, 0},
-{ 6, s_55_34, -1, 1, 0},
-{ 8, s_55_35, -1, 1, 0},
-{ 8, s_55_36, -1, 1, 0},
-{ 12, s_55_37, -1, 1, 0},
-{ 2, s_55_38, -1, 1, 0},
-{ 8, s_55_39, 38, 1, 0},
-{ 2, s_55_40, -1, 1, 0},
-{ 10, s_55_41, 40, 1, 0},
-{ 4, s_55_42, -1, 1, 0},
-{ 12, s_55_43, 42, 1, 0}
-};
-
-static const symbol s_56_0[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_56_1[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1 };
-static const symbol s_56_2[6] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB5 };
-
-static const struct among a_56[3] =
-{
-{ 8, s_56_0, -1, 1, 0},
-{ 6, s_56_1, -1, 1, 0},
-{ 6, s_56_2, -1, 1, 0}
-};
-
-static const symbol s_57_0[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85 };
-static const symbol s_57_1[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1 };
-static const symbol s_57_2[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5 };
-
-static const struct among a_57[3] =
-{
-{ 8, s_57_0, -1, 1, 0},
-{ 6, s_57_1, -1, 1, 0},
-{ 6, s_57_2, -1, 1, 0}
-};
-
-static const symbol s_58_0[2] = { 0xCE, 0xBD };
-static const symbol s_58_1[10] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_58_2[14] = { 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xB4, 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_58_3[12] = { 0xCF, 0x87, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xBD };
-static const symbol s_58_4[14] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xBD };
-static const symbol s_58_5[12] = { 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB7, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xBD };
-
-static const struct among a_58[6] =
-{
-{ 2, s_58_0, -1, 1, 0},
-{ 10, s_58_1, 0, 1, 0},
-{ 14, s_58_2, 0, 1, 0},
-{ 12, s_58_3, 0, 1, 0},
-{ 14, s_58_4, 0, 1, 0},
-{ 12, s_58_5, 0, 1, 0}
-};
-
-static const symbol s_59_0[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-
-static const struct among a_59[1] =
-{
-{ 8, s_59_0, -1, 1, 0}
-};
-
-static const symbol s_60_0[4] = { 0xCF, 0x87, 0xCF, 0x81 };
-static const symbol s_60_1[10] = { 0xCE, 0xB4, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x87, 0xCF, 0x81 };
-static const symbol s_60_2[8] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x87, 0xCF, 0x81 };
-static const symbol s_60_3[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCF, 0x81 };
-static const symbol s_60_4[14] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xB9, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x87, 0xCF, 0x81 };
-static const symbol s_60_5[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBC, 0xCF, 0x88 };
-static const symbol s_60_6[4] = { 0xCF, 0x83, 0xCE, 0xB2 };
-static const symbol s_60_7[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB2 };
-static const symbol s_60_8[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB };
-static const symbol s_60_9[10] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBD };
-
-static const struct among a_60[10] =
-{
-{ 4, s_60_0, -1, 1, 0},
-{ 10, s_60_1, 0, 1, 0},
-{ 8, s_60_2, 0, 1, 0},
+{ 6, s_55_2, 0, 1, 0}
+};
+
+static const symbol s_56_0[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85 };
+static const symbol s_56_1[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1 };
+static const symbol s_56_2[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5 };
+static const struct among a_56[3] = {
+{ 8, s_56_0, 0, 1, 0},
+{ 6, s_56_1, 0, 1, 0},
+{ 6, s_56_2, 0, 1, 0}
+};
+
+static const symbol s_57_0[2] = { 0xCE, 0xBD };
+static const symbol s_57_1[10] = { 0xCE, 0xB5, 0xCF, 0x80, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_57_2[14] = { 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xB4, 0xCE, 0xB5, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_57_3[12] = { 0xCF, 0x87, 0xCE, 0xB5, 0xCF, 0x81, 0xCF, 0x83, 0xCE, 0xBF, 0xCE, 0xBD };
+static const symbol s_57_4[14] = { 0xCE, 0xBC, 0xCE, 0xB5, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBF, 0xCE, 0xBD };
+static const symbol s_57_5[12] = { 0xCE, 0xB5, 0xCF, 0x81, 0xCE, 0xB7, 0xCE, 0xBC, 0xCE, 0xBF, 0xCE, 0xBD };
+static const struct among a_57[6] = {
+{ 2, s_57_0, 0, 1, 0},
+{ 10, s_57_1, -1, 1, 0},
+{ 14, s_57_2, -2, 1, 0},
+{ 12, s_57_3, -3, 1, 0},
+{ 14, s_57_4, -4, 1, 0},
+{ 12, s_57_5, -5, 1, 0}
+};
+
+static const symbol s_58_0[4] = { 0xCF, 0x87, 0xCF, 0x81 };
+static const symbol s_58_1[10] = { 0xCE, 0xB4, 0xCF, 0x85, 0xCF, 0x83, 0xCF, 0x87, 0xCF, 0x81 };
+static const symbol s_58_2[8] = { 0xCE, 0xB5, 0xCF, 0x85, 0xCF, 0x87, 0xCF, 0x81 };
+static const symbol s_58_3[6] = { 0xCE, 0xB1, 0xCF, 0x87, 0xCF, 0x81 };
+static const symbol s_58_4[14] = { 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xB9, 0xCE, 0xBD, 0xCE, 0xBF, 0xCF, 0x87, 0xCF, 0x81 };
+static const symbol s_58_5[12] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xB9, 0xCE, 0xBC, 0xCF, 0x88 };
+static const symbol s_58_6[4] = { 0xCF, 0x83, 0xCE, 0xB2 };
+static const symbol s_58_7[6] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB2 };
+static const symbol s_58_8[6] = { 0xCE, 0xB1, 0xCF, 0x80, 0xCE, 0xBB };
+static const symbol s_58_9[10] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9, 0xCE, 0xBC, 0xCE, 0xBD };
+static const struct among a_58[10] = {
+{ 4, s_58_0, 0, 1, 0},
+{ 10, s_58_1, -1, 1, 0},
+{ 8, s_58_2, -2, 1, 0},
+{ 6, s_58_3, -3, 1, 0},
+{ 14, s_58_4, -4, 1, 0},
+{ 12, s_58_5, 0, 1, 0},
+{ 4, s_58_6, 0, 1, 0},
+{ 6, s_58_7, -1, 1, 0},
+{ 6, s_58_8, 0, 1, 0},
+{ 10, s_58_9, 0, 1, 0}
+};
+
+static const symbol s_59_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
+static const symbol s_59_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
+static const symbol s_59_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
+static const struct among a_59[3] = {
+{ 8, s_59_0, 0, 1, 0},
+{ 12, s_59_1, -1, 1, 0},
+{ 12, s_59_2, -2, 1, 0}
+};
+
+static const symbol s_60_0[2] = { 0xCF, 0x81 };
+static const symbol s_60_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_60_2[18] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x84, 0xCF, 0x83 };
+static const symbol s_60_3[6] = { 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB9 };
+static const symbol s_60_4[2] = { 0xCE, 0xBD };
+static const symbol s_60_5[8] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCF, 0x89, 0xCE, 0xBD };
+static const struct among a_60[6] = {
+{ 2, s_60_0, 0, 1, 0},
+{ 22, s_60_1, 0, 1, 0},
+{ 18, s_60_2, 0, 1, 0},
 { 6, s_60_3, 0, 1, 0},
-{ 14, s_60_4, 0, 1, 0},
-{ 12, s_60_5, -1, 1, 0},
-{ 4, s_60_6, -1, 1, 0},
-{ 6, s_60_7, 6, 1, 0},
-{ 6, s_60_8, -1, 1, 0},
-{ 10, s_60_9, -1, 1, 0}
-};
-
-static const symbol s_61_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
-static const symbol s_61_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
-static const symbol s_61_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB5 };
-
-static const struct among a_61[3] =
-{
-{ 8, s_61_0, -1, 1, 0},
-{ 12, s_61_1, 0, 1, 0},
-{ 12, s_61_2, 0, 1, 0}
-};
-
-static const symbol s_62_0[2] = { 0xCF, 0x81 };
-static const symbol s_62_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_62_2[18] = { 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBA, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x84, 0xCF, 0x83 };
-static const symbol s_62_3[6] = { 0xCF, 0x83, 0xCF, 0x80, 0xCE, 0xB9 };
-static const symbol s_62_4[2] = { 0xCE, 0xBD };
-static const symbol s_62_5[8] = { 0xCE, 0xB5, 0xCE, 0xBE, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_62[6] =
-{
-{ 2, s_62_0, -1, 1, 0},
-{ 22, s_62_1, -1, 1, 0},
-{ 18, s_62_2, -1, 1, 0},
-{ 6, s_62_3, -1, 1, 0},
-{ 2, s_62_4, -1, 1, 0},
-{ 8, s_62_5, 4, 1, 0}
-};
-
-static const symbol s_63_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
-static const symbol s_63_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
-static const symbol s_63_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
-
-static const struct among a_63[3] =
-{
-{ 8, s_63_0, -1, 1, 0},
-{ 12, s_63_1, 0, 1, 0},
-{ 12, s_63_2, 0, 1, 0}
-};
-
-static const symbol s_64_0[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
-static const symbol s_64_1[16] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
-static const symbol s_64_2[16] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
-static const symbol s_64_3[2] = { 0xCF, 0x86 };
-static const symbol s_64_4[2] = { 0xCF, 0x87 };
-static const symbol s_64_5[4] = { 0xCE, 0xB1, 0xCE, 0xB6 };
-static const symbol s_64_6[12] = { 0xCF, 0x89, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xBB };
-
-static const struct among a_64[7] =
-{
-{ 10, s_64_0, -1, 1, 0},
-{ 16, s_64_1, 0, 1, 0},
-{ 16, s_64_2, -1, 1, 0},
-{ 2, s_64_3, -1, 1, 0},
-{ 2, s_64_4, -1, 1, 0},
-{ 4, s_64_5, -1, 1, 0},
-{ 12, s_64_6, -1, 1, 0}
-};
-
-static const symbol s_65_0[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 };
-static const symbol s_65_1[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 };
-static const symbol s_65_2[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD };
-
-static const struct among a_65[3] =
-{
-{ 10, s_65_0, -1, 1, 0},
-{ 8, s_65_1, -1, 1, 0},
-{ 10, s_65_2, -1, 1, 0}
-};
-
-static const symbol s_66_0[4] = { 0xCF, 0x85, 0xCF, 0x83 };
-static const symbol s_66_1[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
-static const symbol s_66_2[4] = { 0xCE, 0xB1, 0xCF, 0x83 };
-static const symbol s_66_3[4] = { 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_66_4[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_66_5[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 };
-static const symbol s_66_6[4] = { 0xCE, 0xB7, 0xCF, 0x83 };
-static const symbol s_66_7[6] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 };
-static const symbol s_66_8[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 };
-static const symbol s_66_9[4] = { 0xCE, 0xBF, 0xCF, 0x83 };
-static const symbol s_66_10[2] = { 0xCF, 0x85 };
-static const symbol s_66_11[4] = { 0xCE, 0xBF, 0xCF, 0x85 };
-static const symbol s_66_12[2] = { 0xCF, 0x89 };
-static const symbol s_66_13[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x89 };
-static const symbol s_66_14[4] = { 0xCE, 0xB1, 0xCF, 0x89 };
-static const symbol s_66_15[6] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCF, 0x89 };
-static const symbol s_66_16[2] = { 0xCE, 0xB1 };
-static const symbol s_66_17[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1 };
-static const symbol s_66_18[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
-static const symbol s_66_19[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
-static const symbol s_66_20[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
-static const symbol s_66_21[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
-static const symbol s_66_22[2] = { 0xCE, 0xB5 };
-static const symbol s_66_23[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_24[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_25[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_26[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_27[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_28[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_29[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_30[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_31[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_32[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_33[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_34[8] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_35[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 };
-static const symbol s_66_36[2] = { 0xCE, 0xB7 };
-static const symbol s_66_37[2] = { 0xCE, 0xB9 };
-static const symbol s_66_38[8] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_39[8] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_40[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_41[8] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_42[8] = { 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_43[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_44[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_45[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_46[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_47[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_48[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_49[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_50[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
-static const symbol s_66_51[4] = { 0xCE, 0xB5, 0xCE, 0xB9 };
-static const symbol s_66_52[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9 };
-static const symbol s_66_53[6] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9 };
-static const symbol s_66_54[8] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9 };
-static const symbol s_66_55[4] = { 0xCE, 0xBF, 0xCE, 0xB9 };
-static const symbol s_66_56[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_57[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_58[10] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_59[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_60[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_61[10] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_62[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
-static const symbol s_66_63[4] = { 0xCF, 0x89, 0xCE, 0xBD };
-static const symbol s_66_64[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD };
-static const symbol s_66_65[4] = { 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_66[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_67[16] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_68[18] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_69[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_70[14] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_71[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_72[14] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_73[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_74[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_75[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_76[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_77[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_78[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_79[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_80[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_81[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_82[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
-static const symbol s_66_83[2] = { 0xCE, 0xBF };
-
-static const struct among a_66[84] =
-{
-{ 4, s_66_0, -1, 1, 0},
-{ 6, s_66_1, 0, 1, 0},
-{ 4, s_66_2, -1, 1, 0},
-{ 4, s_66_3, -1, 1, 0},
-{ 8, s_66_4, 3, 1, 0},
-{ 8, s_66_5, 3, 1, 0},
-{ 4, s_66_6, -1, 1, 0},
-{ 6, s_66_7, -1, 1, 0},
-{ 10, s_66_8, 7, 1, 0},
-{ 4, s_66_9, -1, 1, 0},
-{ 2, s_66_10, -1, 1, 0},
-{ 4, s_66_11, 10, 1, 0},
-{ 2, s_66_12, -1, 1, 0},
-{ 6, s_66_13, 12, 1, 0},
-{ 4, s_66_14, 12, 1, 0},
-{ 6, s_66_15, 12, 1, 0},
-{ 2, s_66_16, -1, 1, 0},
-{ 10, s_66_17, 16, 1, 0},
-{ 12, s_66_18, 16, 1, 0},
-{ 14, s_66_19, 18, 1, 0},
-{ 12, s_66_20, 16, 1, 0},
-{ 14, s_66_21, 20, 1, 0},
-{ 2, s_66_22, -1, 1, 0},
-{ 14, s_66_23, 22, 1, 0},
-{ 12, s_66_24, 22, 1, 0},
-{ 14, s_66_25, 24, 1, 0},
-{ 14, s_66_26, 22, 1, 0},
-{ 16, s_66_27, 26, 1, 0},
-{ 14, s_66_28, 22, 1, 0},
-{ 12, s_66_29, 22, 1, 0},
-{ 10, s_66_30, 22, 1, 0},
-{ 10, s_66_31, 22, 1, 0},
-{ 10, s_66_32, 22, 1, 0},
-{ 14, s_66_33, 32, 1, 0},
-{ 8, s_66_34, 22, 1, 0},
-{ 12, s_66_35, 34, 1, 0},
-{ 2, s_66_36, -1, 1, 0},
-{ 2, s_66_37, -1, 1, 0},
-{ 8, s_66_38, 37, 1, 0},
-{ 8, s_66_39, 37, 1, 0},
-{ 10, s_66_40, 39, 1, 0},
-{ 8, s_66_41, 37, 1, 0},
-{ 8, s_66_42, 37, 1, 0},
-{ 10, s_66_43, 42, 1, 0},
-{ 12, s_66_44, 37, 1, 0},
-{ 14, s_66_45, 44, 1, 0},
-{ 10, s_66_46, 37, 1, 0},
-{ 10, s_66_47, 37, 1, 0},
-{ 8, s_66_48, 37, 1, 0},
-{ 10, s_66_49, 37, 1, 0},
-{ 8, s_66_50, 37, 1, 0},
-{ 4, s_66_51, 37, 1, 0},
-{ 8, s_66_52, 51, 1, 0},
-{ 6, s_66_53, 51, 1, 0},
-{ 8, s_66_54, 51, 1, 0},
-{ 4, s_66_55, 37, 1, 0},
-{ 6, s_66_56, -1, 1, 0},
-{ 10, s_66_57, 56, 1, 0},
-{ 10, s_66_58, 56, 1, 0},
-{ 12, s_66_59, 58, 1, 0},
-{ 10, s_66_60, 56, 1, 0},
-{ 10, s_66_61, 56, 1, 0},
-{ 12, s_66_62, 61, 1, 0},
-{ 4, s_66_63, -1, 1, 0},
-{ 8, s_66_64, 63, 1, 0},
-{ 4, s_66_65, -1, 1, 0},
-{ 10, s_66_66, 65, 1, 0},
-{ 16, s_66_67, 66, 1, 0},
-{ 18, s_66_68, 67, 1, 0},
-{ 8, s_66_69, 65, 1, 0},
-{ 14, s_66_70, 65, 1, 0},
-{ 16, s_66_71, 70, 1, 0},
-{ 14, s_66_72, 65, 1, 0},
-{ 16, s_66_73, 72, 1, 0},
-{ 12, s_66_74, 65, 1, 0},
-{ 14, s_66_75, 74, 1, 0},
-{ 10, s_66_76, 65, 1, 0},
-{ 12, s_66_77, 76, 1, 0},
-{ 8, s_66_78, 65, 1, 0},
-{ 10, s_66_79, 78, 1, 0},
-{ 8, s_66_80, 65, 1, 0},
-{ 8, s_66_81, 65, 1, 0},
-{ 12, s_66_82, 81, 1, 0},
-{ 2, s_66_83, -1, 1, 0}
-};
-
-static const symbol s_67_0[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_67_1[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_67_2[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_67_3[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
-static const symbol s_67_4[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_67_5[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_67_6[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
-static const symbol s_67_7[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
-
-static const struct among a_67[8] =
-{
-{ 10, s_67_0, -1, 1, 0},
-{ 8, s_67_1, -1, 1, 0},
-{ 8, s_67_2, -1, 1, 0},
-{ 8, s_67_3, -1, 1, 0},
-{ 10, s_67_4, -1, 1, 0},
-{ 8, s_67_5, -1, 1, 0},
-{ 8, s_67_6, -1, 1, 0},
-{ 8, s_67_7, -1, 1, 0}
+{ 2, s_60_4, 0, 1, 0},
+{ 8, s_60_5, -1, 1, 0}
+};
+
+static const symbol s_61_0[8] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
+static const symbol s_61_1[12] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
+static const symbol s_61_2[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB5 };
+static const struct among a_61[3] = {
+{ 8, s_61_0, 0, 1, 0},
+{ 12, s_61_1, -1, 1, 0},
+{ 12, s_61_2, -2, 1, 0}
+};
+
+static const symbol s_62_0[10] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_62_1[16] = { 0xCF, 0x80, 0xCE, 0xB1, 0xCF, 0x81, 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_62_2[16] = { 0xCE, 0xB1, 0xCE, 0xBB, 0xCE, 0xBB, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_62_3[2] = { 0xCF, 0x86 };
+static const symbol s_62_4[2] = { 0xCF, 0x87 };
+static const symbol s_62_5[4] = { 0xCE, 0xB1, 0xCE, 0xB6 };
+static const symbol s_62_6[12] = { 0xCF, 0x89, 0xCF, 0x81, 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x80, 0xCE, 0xBB };
+static const struct among a_62[7] = {
+{ 10, s_62_0, 0, 1, 0},
+{ 16, s_62_1, -1, 1, 0},
+{ 16, s_62_2, 0, 1, 0},
+{ 2, s_62_3, 0, 1, 0},
+{ 2, s_62_4, 0, 1, 0},
+{ 4, s_62_5, 0, 1, 0},
+{ 12, s_62_6, 0, 1, 0}
+};
+
+static const symbol s_63_0[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x83 };
+static const symbol s_63_1[8] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1 };
+static const symbol s_63_2[10] = { 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x84, 0xCF, 0x89, 0xCE, 0xBD };
+static const struct among a_63[3] = {
+{ 10, s_63_0, 0, 1, 0},
+{ 8, s_63_1, 0, 1, 0},
+{ 10, s_63_2, 0, 1, 0}
+};
+
+static const symbol s_64_0[4] = { 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_64_1[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83 };
+static const symbol s_64_2[4] = { 0xCE, 0xB1, 0xCF, 0x83 };
+static const symbol s_64_3[4] = { 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_64_4[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_64_5[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCE, 0xB5, 0xCF, 0x83 };
+static const symbol s_64_6[4] = { 0xCE, 0xB7, 0xCF, 0x83 };
+static const symbol s_64_7[6] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 };
+static const symbol s_64_8[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x83 };
+static const symbol s_64_9[4] = { 0xCE, 0xBF, 0xCF, 0x83 };
+static const symbol s_64_10[2] = { 0xCF, 0x85 };
+static const symbol s_64_11[4] = { 0xCE, 0xBF, 0xCF, 0x85 };
+static const symbol s_64_12[2] = { 0xCF, 0x89 };
+static const symbol s_64_13[6] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCF, 0x89 };
+static const symbol s_64_14[4] = { 0xCE, 0xB1, 0xCF, 0x89 };
+static const symbol s_64_15[6] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCF, 0x89 };
+static const symbol s_64_16[2] = { 0xCE, 0xB1 };
+static const symbol s_64_17[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1 };
+static const symbol s_64_18[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
+static const symbol s_64_19[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
+static const symbol s_64_20[12] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
+static const symbol s_64_21[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCE, 0xB1 };
+static const symbol s_64_22[2] = { 0xCE, 0xB5 };
+static const symbol s_64_23[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_24[12] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_25[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_26[14] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_27[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_28[14] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_29[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_30[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_31[10] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_32[10] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_33[14] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_34[8] = { 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_35[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9, 0xCF, 0x84, 0xCE, 0xB5 };
+static const symbol s_64_36[2] = { 0xCE, 0xB7 };
+static const symbol s_64_37[2] = { 0xCE, 0xB9 };
+static const symbol s_64_38[8] = { 0xCE, 0xB1, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_39[8] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_40[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_41[8] = { 0xCE, 0xB1, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_42[8] = { 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_43[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_44[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_45[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_46[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_47[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_48[8] = { 0xCE, 0xB1, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_49[10] = { 0xCE, 0xB9, 0xCE, 0xB5, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_50[8] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCE, 0xB9 };
+static const symbol s_64_51[4] = { 0xCE, 0xB5, 0xCE, 0xB9 };
+static const symbol s_64_52[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB5, 0xCE, 0xB9 };
+static const symbol s_64_53[6] = { 0xCE, 0xB1, 0xCE, 0xB5, 0xCE, 0xB9 };
+static const symbol s_64_54[8] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB5, 0xCE, 0xB9 };
+static const symbol s_64_55[4] = { 0xCE, 0xBF, 0xCE, 0xB9 };
+static const symbol s_64_56[6] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_57[10] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_58[10] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_59[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_60[10] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_61[10] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_62[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD };
+static const symbol s_64_63[4] = { 0xCF, 0x89, 0xCE, 0xBD };
+static const symbol s_64_64[8] = { 0xCE, 0xB7, 0xCE, 0xB4, 0xCF, 0x89, 0xCE, 0xBD };
+static const symbol s_64_65[4] = { 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_66[10] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_67[16] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_68[18] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xBF, 0xCF, 0x85, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_69[8] = { 0xCE, 0xB7, 0xCF, 0x83, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_70[14] = { 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_71[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x83, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_72[14] = { 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_73[16] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBC, 0xCE, 0xB1, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_74[12] = { 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_75[14] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x85, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_76[10] = { 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_77[12] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCE, 0xBD, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_78[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_79[10] = { 0xCE, 0xB9, 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_80[8] = { 0xCE, 0xB1, 0xCE, 0xB3, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_81[8] = { 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_82[12] = { 0xCE, 0xB7, 0xCE, 0xB8, 0xCE, 0xB7, 0xCE, 0xBA, 0xCE, 0xB1, 0xCE, 0xBD };
+static const symbol s_64_83[2] = { 0xCE, 0xBF };
+static const struct among a_64[84] = {
+{ 4, s_64_0, 0, 1, 0},
+{ 6, s_64_1, -1, 1, 0},
+{ 4, s_64_2, 0, 1, 0},
+{ 4, s_64_3, 0, 1, 0},
+{ 8, s_64_4, -1, 1, 0},
+{ 8, s_64_5, -2, 1, 0},
+{ 4, s_64_6, 0, 1, 0},
+{ 6, s_64_7, 0, 1, 0},
+{ 10, s_64_8, -1, 1, 0},
+{ 4, s_64_9, 0, 1, 0},
+{ 2, s_64_10, 0, 1, 0},
+{ 4, s_64_11, -1, 1, 0},
+{ 2, s_64_12, 0, 1, 0},
+{ 6, s_64_13, -1, 1, 0},
+{ 4, s_64_14, -2, 1, 0},
+{ 6, s_64_15, -3, 1, 0},
+{ 2, s_64_16, 0, 1, 0},
+{ 10, s_64_17, -1, 1, 0},
+{ 12, s_64_18, -2, 1, 0},
+{ 14, s_64_19, -1, 1, 0},
+{ 12, s_64_20, -4, 1, 0},
+{ 14, s_64_21, -1, 1, 0},
+{ 2, s_64_22, 0, 1, 0},
+{ 14, s_64_23, -1, 1, 0},
+{ 12, s_64_24, -2, 1, 0},
+{ 14, s_64_25, -1, 1, 0},
+{ 14, s_64_26, -4, 1, 0},
+{ 16, s_64_27, -1, 1, 0},
+{ 14, s_64_28, -6, 1, 0},
+{ 12, s_64_29, -7, 1, 0},
+{ 10, s_64_30, -8, 1, 0},
+{ 10, s_64_31, -9, 1, 0},
+{ 10, s_64_32, -10, 1, 0},
+{ 14, s_64_33, -1, 1, 0},
+{ 8, s_64_34, -12, 1, 0},
+{ 12, s_64_35, -1, 1, 0},
+{ 2, s_64_36, 0, 1, 0},
+{ 2, s_64_37, 0, 1, 0},
+{ 8, s_64_38, -1, 1, 0},
+{ 8, s_64_39, -2, 1, 0},
+{ 10, s_64_40, -1, 1, 0},
+{ 8, s_64_41, -4, 1, 0},
+{ 8, s_64_42, -5, 1, 0},
+{ 10, s_64_43, -1, 1, 0},
+{ 12, s_64_44, -7, 1, 0},
+{ 14, s_64_45, -1, 1, 0},
+{ 10, s_64_46, -9, 1, 0},
+{ 10, s_64_47, -10, 1, 0},
+{ 8, s_64_48, -11, 1, 0},
+{ 10, s_64_49, -12, 1, 0},
+{ 8, s_64_50, -13, 1, 0},
+{ 4, s_64_51, -14, 1, 0},
+{ 8, s_64_52, -1, 1, 0},
+{ 6, s_64_53, -2, 1, 0},
+{ 8, s_64_54, -3, 1, 0},
+{ 4, s_64_55, -18, 1, 0},
+{ 6, s_64_56, 0, 1, 0},
+{ 10, s_64_57, -1, 1, 0},
+{ 10, s_64_58, -2, 1, 0},
+{ 12, s_64_59, -1, 1, 0},
+{ 10, s_64_60, -4, 1, 0},
+{ 10, s_64_61, -5, 1, 0},
+{ 12, s_64_62, -1, 1, 0},
+{ 4, s_64_63, 0, 1, 0},
+{ 8, s_64_64, -1, 1, 0},
+{ 4, s_64_65, 0, 1, 0},
+{ 10, s_64_66, -1, 1, 0},
+{ 16, s_64_67, -1, 1, 0},
+{ 18, s_64_68, -1, 1, 0},
+{ 8, s_64_69, -4, 1, 0},
+{ 14, s_64_70, -5, 1, 0},
+{ 16, s_64_71, -1, 1, 0},
+{ 14, s_64_72, -7, 1, 0},
+{ 16, s_64_73, -1, 1, 0},
+{ 12, s_64_74, -9, 1, 0},
+{ 14, s_64_75, -1, 1, 0},
+{ 10, s_64_76, -11, 1, 0},
+{ 12, s_64_77, -1, 1, 0},
+{ 8, s_64_78, -13, 1, 0},
+{ 10, s_64_79, -1, 1, 0},
+{ 8, s_64_80, -15, 1, 0},
+{ 8, s_64_81, -16, 1, 0},
+{ 12, s_64_82, -1, 1, 0},
+{ 2, s_64_83, 0, 1, 0}
+};
+
+static const symbol s_65_0[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_65_1[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_65_2[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_65_3[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB5, 0xCF, 0x81 };
+static const symbol s_65_4[10] = { 0xCE, 0xB5, 0xCF, 0x83, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_65_5[8] = { 0xCF, 0x85, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_65_6[8] = { 0xCF, 0x89, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
+static const symbol s_65_7[8] = { 0xCE, 0xBF, 0xCF, 0x84, 0xCE, 0xB1, 0xCF, 0x84 };
+static const struct among a_65[8] = {
+{ 10, s_65_0, 0, 1, 0},
+{ 8, s_65_1, 0, 1, 0},
+{ 8, s_65_2, 0, 1, 0},
+{ 8, s_65_3, 0, 1, 0},
+{ 10, s_65_4, 0, 1, 0},
+{ 8, s_65_5, 0, 1, 0},
+{ 8, s_65_6, 0, 1, 0},
+{ 8, s_65_7, 0, 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) {
     return len_utf8(z->p) >= 3;
 }
 
 static int r_tolower(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int m1 = z->l - z->c; (void)m1;
+    while (1) {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_0, 46);
+        among_var = find_among_b(z, a_0, 46, 0);
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_0);
+                {
+                    int ret = slice_from_s(z, 2, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_1);
+                {
+                    int ret = slice_from_s(z, 2, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 2, s_2);
+                {
+                    int ret = slice_from_s(z, 2, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 2, s_3);
+                {
+                    int ret = slice_from_s(z, 2, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 2, s_4);
+                {
+                    int ret = slice_from_s(z, 2, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 2, s_5);
+                {
+                    int ret = slice_from_s(z, 2, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = slice_from_s(z, 2, s_6);
+                {
+                    int ret = slice_from_s(z, 2, s_6);
                     if (ret < 0) return ret;
                 }
                 break;
             case 8:
-                {   int ret = slice_from_s(z, 2, s_7);
+                {
+                    int ret = slice_from_s(z, 2, s_7);
                     if (ret < 0) return ret;
                 }
                 break;
             case 9:
-                {   int ret = slice_from_s(z, 2, s_8);
+                {
+                    int ret = slice_from_s(z, 2, s_8);
                     if (ret < 0) return ret;
                 }
                 break;
             case 10:
-                {   int ret = slice_from_s(z, 2, s_9);
+                {
+                    int ret = slice_from_s(z, 2, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
             case 11:
-                {   int ret = slice_from_s(z, 2, s_10);
+                {
+                    int ret = slice_from_s(z, 2, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
             case 12:
-                {   int ret = slice_from_s(z, 2, s_11);
+                {
+                    int ret = slice_from_s(z, 2, s_11);
                     if (ret < 0) return ret;
                 }
                 break;
             case 13:
-                {   int ret = slice_from_s(z, 2, s_12);
+                {
+                    int ret = slice_from_s(z, 2, s_12);
                     if (ret < 0) return ret;
                 }
                 break;
             case 14:
-                {   int ret = slice_from_s(z, 2, s_13);
+                {
+                    int ret = slice_from_s(z, 2, s_13);
                     if (ret < 0) return ret;
                 }
                 break;
             case 15:
-                {   int ret = slice_from_s(z, 2, s_14);
+                {
+                    int ret = slice_from_s(z, 2, s_14);
                     if (ret < 0) return ret;
                 }
                 break;
             case 16:
-                {   int ret = slice_from_s(z, 2, s_15);
+                {
+                    int ret = slice_from_s(z, 2, s_15);
                     if (ret < 0) return ret;
                 }
                 break;
             case 17:
-                {   int ret = slice_from_s(z, 2, s_16);
+                {
+                    int ret = slice_from_s(z, 2, s_16);
                     if (ret < 0) return ret;
                 }
                 break;
             case 18:
-                {   int ret = slice_from_s(z, 2, s_17);
+                {
+                    int ret = slice_from_s(z, 2, s_17);
                     if (ret < 0) return ret;
                 }
                 break;
             case 19:
-                {   int ret = slice_from_s(z, 2, s_18);
+                {
+                    int ret = slice_from_s(z, 2, s_18);
                     if (ret < 0) return ret;
                 }
                 break;
             case 20:
-                {   int ret = slice_from_s(z, 2, s_19);
+                {
+                    int ret = slice_from_s(z, 2, s_19);
                     if (ret < 0) return ret;
                 }
                 break;
             case 21:
-                {   int ret = slice_from_s(z, 2, s_20);
+                {
+                    int ret = slice_from_s(z, 2, s_20);
                     if (ret < 0) return ret;
                 }
                 break;
             case 22:
-                {   int ret = slice_from_s(z, 2, s_21);
+                {
+                    int ret = slice_from_s(z, 2, s_21);
                     if (ret < 0) return ret;
                 }
                 break;
             case 23:
-                {   int ret = slice_from_s(z, 2, s_22);
+                {
+                    int ret = slice_from_s(z, 2, s_22);
                     if (ret < 0) return ret;
                 }
                 break;
             case 24:
-                {   int ret = slice_from_s(z, 2, s_23);
+                {
+                    int ret = slice_from_s(z, 2, s_23);
                     if (ret < 0) return ret;
                 }
                 break;
             case 25:
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -2463,7 +2345,7 @@ static int r_tolower(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
         break;
     }
     return 1;
@@ -2472,92 +2354,106 @@ static int r_tolower(struct SN_env * z) {
 static int r_step_1(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_1, 40);
+    among_var = find_among_b(z, a_1, 40, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_24);
+            {
+                int ret = slice_from_s(z, 4, s_24);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 6, s_25);
+            {
+                int ret = slice_from_s(z, 6, s_25);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 6, s_26);
+            {
+                int ret = slice_from_s(z, 6, s_26);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_27);
+            {
+                int ret = slice_from_s(z, 4, s_27);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 8, s_28);
+            {
+                int ret = slice_from_s(z, 8, s_28);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 6, s_29);
+            {
+                int ret = slice_from_s(z, 6, s_29);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 6, s_30);
+            {
+                int ret = slice_from_s(z, 6, s_30);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 6, s_31);
+            {
+                int ret = slice_from_s(z, 6, s_31);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 4, s_32);
+            {
+                int ret = slice_from_s(z, 4, s_32);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 12, s_33);
+            {
+                int ret = slice_from_s(z, 12, s_33);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 10, s_34);
+            {
+                int ret = slice_from_s(z, 10, s_34);
                 if (ret < 0) return ret;
             }
             break;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     return 1;
 }
 
 static int r_step_s1(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (!find_among_b(z, a_3, 14)) return 0;
+    if (!find_among_b(z, a_3, 14, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    among_var = find_among_b(z, a_2, 31);
+    among_var = find_among_b(z, a_2, 31, 0);
     if (!among_var) return 0;
     if (z->c > z->lb) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_35);
+            {
+                int ret = slice_from_s(z, 2, s_35);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_36);
+            {
+                int ret = slice_from_s(z, 4, s_36);
                 if (ret < 0) return ret;
             }
             break;
@@ -2567,17 +2463,19 @@ static int r_step_s1(struct SN_env * z) {
 
 static int r_step_s2(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_5, 7)) return 0;
+    if (!find_among_b(z, a_5, 7, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_4, 8)) return 0;
+    if (!find_among_b(z, a_4, 8, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_37);
+    {
+        int ret = slice_from_s(z, 4, s_37);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2585,39 +2483,43 @@ static int r_step_s2(struct SN_env * z) {
 
 static int r_step_s3(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (!(eq_s_b(z, 6, s_38))) goto lab1;
+        if (!(eq_s_b(z, 6, s_38))) goto lab0;
         z->bra = z->c;
-        if (z->c > z->lb) goto lab1;
-        {   int ret = slice_from_s(z, 4, s_39);
+        if (z->c > z->lb) goto lab0;
+        {
+            int ret = slice_from_s(z, 4, s_39);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
-    }
-lab0:
-    if (!find_among_b(z, a_7, 7)) return 0;
+    } while (0);
+    if (!find_among_b(z, a_7, 7, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    among_var = find_among_b(z, a_6, 32);
+    among_var = find_among_b(z, a_6, 32, 0);
     if (!among_var) return 0;
     if (z->c > z->lb) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_40);
+            {
+                int ret = slice_from_s(z, 2, s_40);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_41);
+            {
+                int ret = slice_from_s(z, 4, s_41);
                 if (ret < 0) return ret;
             }
             break;
@@ -2627,18 +2529,20 @@ lab0:
 
 static int r_step_s4(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_9, 7)) return 0;
+    if (!find_among_b(z, a_9, 7, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
     if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-2145255424 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_8, 19)) return 0;
+    if (!find_among_b(z, a_8, 19, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 2, s_42);
+    {
+        int ret = slice_from_s(z, 2, s_42);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2647,25 +2551,28 @@ static int r_step_s4(struct SN_env * z) {
 static int r_step_s5(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (!find_among_b(z, a_11, 11)) return 0;
+    if (!find_among_b(z, a_11, 11, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    among_var = find_among_b(z, a_10, 40);
+    among_var = find_among_b(z, a_10, 40, 0);
     if (!among_var) return 0;
     if (z->c > z->lb) return 0;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_43);
+            {
+                int ret = slice_from_s(z, 2, s_43);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 6, s_44);
+            {
+                int ret = slice_from_s(z, 6, s_44);
                 if (ret < 0) return ret;
             }
             break;
@@ -2676,111 +2583,126 @@ static int r_step_s5(struct SN_env * z) {
 static int r_step_s6(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (!find_among_b(z, a_14, 6)) return 0;
+    if (!find_among_b(z, a_14, 6, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (z->c - 3 <= z->lb || z->p[z->c - 1] != 181) goto lab1;
-        among_var = find_among_b(z, a_12, 7);
-        if (!among_var) goto lab1;
-        if (z->c > z->lb) goto lab1;
+        if (z->c - 3 <= z->lb || z->p[z->c - 1] != 181) goto lab0;
+        among_var = find_among_b(z, a_12, 7, 0);
+        if (!among_var) goto lab0;
+        if (z->c > z->lb) goto lab0;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 6, s_45);
+                {
+                    int ret = slice_from_s(z, 6, s_45);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_46);
+                {
+                    int ret = slice_from_s(z, 2, s_46);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 186 && z->p[z->c - 1] != 189)) return 0;
-        among_var = find_among_b(z, a_13, 10);
+        among_var = find_among_b(z, a_13, 10, 0);
         if (!among_var) return 0;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 12, s_47);
+                {
+                    int ret = slice_from_s(z, 12, s_47);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 8, s_48);
+                {
+                    int ret = slice_from_s(z, 8, s_48);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 10, s_49);
+                {
+                    int ret = slice_from_s(z, 10, s_49);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 6, s_50);
+                {
+                    int ret = slice_from_s(z, 6, s_50);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 12, s_51);
+                {
+                    int ret = slice_from_s(z, 12, s_51);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 10, s_52);
+                {
+                    int ret = slice_from_s(z, 10, s_52);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = slice_from_s(z, 6, s_53);
+                {
+                    int ret = slice_from_s(z, 6, s_53);
                     if (ret < 0) return ret;
                 }
                 break;
             case 8:
-                {   int ret = slice_from_s(z, 16, s_54);
+                {
+                    int ret = slice_from_s(z, 16, s_54);
                     if (ret < 0) return ret;
                 }
                 break;
             case 9:
-                {   int ret = slice_from_s(z, 12, s_55);
+                {
+                    int ret = slice_from_s(z, 12, s_55);
                     if (ret < 0) return ret;
                 }
                 break;
             case 10:
-                {   int ret = slice_from_s(z, 10, s_56);
+                {
+                    int ret = slice_from_s(z, 10, s_56);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_step_s7(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 177 && z->p[z->c - 1] != 185)) return 0;
-    if (!find_among_b(z, a_16, 4)) return 0;
+    if (!find_among_b(z, a_16, 4, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 135)) return 0;
-    if (!find_among_b(z, a_15, 2)) return 0;
+    if (!find_among_b(z, a_15, 2, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 8, s_57);
+    {
+        int ret = slice_from_s(z, 8, s_57);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2789,89 +2711,98 @@ static int r_step_s7(struct SN_env * z) {
 static int r_step_s8(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (!find_among_b(z, a_18, 8)) return 0;
+    if (!find_among_b(z, a_18, 8, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        among_var = find_among_b(z, a_17, 46);
-        if (!among_var) goto lab1;
-        if (z->c > z->lb) goto lab1;
+        among_var = find_among_b(z, a_17, 46, 0);
+        if (!among_var) goto lab0;
+        if (z->c > z->lb) goto lab0;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 4, s_58);
+                {
+                    int ret = slice_from_s(z, 4, s_58);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 6, s_59);
+                {
+                    int ret = slice_from_s(z, 6, s_59);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         z->bra = z->c;
         if (!(eq_s_b(z, 6, s_60))) return 0;
-        {   int ret = slice_from_s(z, 6, s_61);
+        {
+            int ret = slice_from_s(z, 6, s_61);
             if (ret < 0) return ret;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_step_s9(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || z->p[z->c - 1] >> 5 != 5 || !((-1610481664 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_21, 3)) return 0;
+    if (!find_among_b(z, a_21, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (!find_among_b(z, a_19, 4)) goto lab1;
-        if (z->c > z->lb) goto lab1;
-        {   int ret = slice_from_s(z, 4, s_62);
+        if (!find_among_b(z, a_19, 4, 0)) goto lab0;
+        if (z->c > z->lb) goto lab0;
+        {
+            int ret = slice_from_s(z, 4, s_62);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         z->bra = z->c;
         if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 181 && z->p[z->c - 1] != 189)) return 0;
-        if (!find_among_b(z, a_20, 2)) return 0;
-        {   int ret = slice_from_s(z, 4, s_63);
+        if (!find_among_b(z, a_20, 2, 0)) return 0;
+        {
+            int ret = slice_from_s(z, 4, s_63);
             if (ret < 0) return ret;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_step_s10(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_23, 4)) return 0;
+    if (!find_among_b(z, a_23, 4, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_22, 7)) return 0;
+    if (!find_among_b(z, a_22, 7, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 6, s_64);
+    {
+        int ret = slice_from_s(z, 6, s_64);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2880,22 +2811,23 @@ static int r_step_s10(struct SN_env * z) {
 static int r_step_2a(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0;
-    if (!find_among_b(z, a_24, 2)) return 0;
+    if (!find_among_b(z, a_24, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int m1 = z->l - z->c; (void)m1;
-        if (!find_among_b(z, a_25, 10)) goto lab0;
+    {
+        int v_1 = z->l - z->c;
+        if (!find_among_b(z, a_25, 10, 0)) goto lab0;
         return 0;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int ret;
-        {   int saved_c = z->c;
-            ret = insert_s(z, z->c, z->c, 4, s_65);
-            z->c = saved_c;
-        }
+    {
+        int saved_c = z->c;
+        int ret = insert_s(z, z->c, z->c, 4, s_65);
+        z->c = saved_c;
         if (ret < 0) return ret;
     }
     return 1;
@@ -2904,16 +2836,18 @@ static int r_step_2a(struct SN_env * z) {
 static int r_step_2b(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0;
-    if (!find_among_b(z, a_26, 2)) return 0;
+    if (!find_among_b(z, a_26, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     z->ket = z->c;
     z->bra = z->c;
     if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 128 && z->p[z->c - 1] != 187)) return 0;
-    if (!find_among_b(z, a_27, 8)) return 0;
-    {   int ret = slice_from_s(z, 4, s_66);
+    if (!find_among_b(z, a_27, 8, 0)) return 0;
+    {
+        int ret = slice_from_s(z, 4, s_66);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2922,15 +2856,17 @@ static int r_step_2b(struct SN_env * z) {
 static int r_step_2c(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 9 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0;
-    if (!find_among_b(z, a_28, 2)) return 0;
+    if (!find_among_b(z, a_28, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_29, 15)) return 0;
-    {   int ret = slice_from_s(z, 6, s_67);
+    if (!find_among_b(z, a_29, 15, 0)) return 0;
+    {
+        int ret = slice_from_s(z, 6, s_67);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2939,17 +2875,19 @@ static int r_step_2c(struct SN_env * z) {
 static int r_step_2d(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 131 && z->p[z->c - 1] != 189)) return 0;
-    if (!find_among_b(z, a_30, 2)) return 0;
+    if (!find_among_b(z, a_30, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_31, 8)) return 0;
+    if (!find_among_b(z, a_31, 8, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 2, s_68);
+    {
+        int ret = slice_from_s(z, 2, s_68);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2957,16 +2895,18 @@ static int r_step_2d(struct SN_env * z) {
 
 static int r_step_3(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_32, 3)) return 0;
+    if (!find_among_b(z, a_32, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
     if (in_grouping_b_U(z, g_v, 945, 969, 0)) return 0;
-    {   int ret = slice_from_s(z, 2, s_69);
+    {
+        int ret = slice_from_s(z, 2, s_69);
         if (ret < 0) return ret;
     }
     return 1;
@@ -2974,171 +2914,191 @@ static int r_step_3(struct SN_env * z) {
 
 static int r_step_4(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_33, 4)) return 0;
+    if (!find_among_b(z, a_33, 4, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (in_grouping_b_U(z, g_v, 945, 969, 0)) goto lab1;
-        {   int ret = slice_from_s(z, 4, s_70);
+        if (in_grouping_b_U(z, g_v, 945, 969, 0)) goto lab0;
+        {
+            int ret = slice_from_s(z, 4, s_70);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
-    if (!find_among_b(z, a_34, 36)) return 0;
+    if (!find_among_b(z, a_34, 36, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_71);
+    {
+        int ret = slice_from_s(z, 4, s_71);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_5a(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (!(eq_s_b(z, 10, s_72))) goto lab0;
         z->bra = z->c;
         if (z->c > z->lb) goto lab0;
-        {   int ret = slice_from_s(z, 8, s_73);
+        {
+            int ret = slice_from_s(z, 8, s_73);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
+    {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
         if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab1;
-        if (!find_among_b(z, a_35, 5)) goto lab1;
+        if (!find_among_b(z, a_35, 5, 0)) goto lab1;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[0] = 0;
+        ((SN_local *)z)->b_test1 = 0;
     lab1:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
     z->ket = z->c;
     if (!(eq_s_b(z, 6, s_74))) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_36, 12)) return 0;
+    if (!find_among_b(z, a_36, 12, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_75);
+    {
+        int ret = slice_from_s(z, 4, s_75);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_5b(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab0;
-        if (!find_among_b(z, a_38, 11)) goto lab0;
+        if (!find_among_b(z, a_38, 11, 0)) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[0] = 0;
+        ((SN_local *)z)->b_test1 = 0;
         z->ket = z->c;
         z->bra = z->c;
         if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 131)) goto lab0;
-        if (!find_among_b(z, a_37, 2)) goto lab0;
+        if (!find_among_b(z, a_37, 2, 0)) goto lab0;
         if (z->c > z->lb) goto lab0;
-        {   int ret = slice_from_s(z, 8, s_76);
+        {
+            int ret = slice_from_s(z, 8, s_76);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
     if (!(eq_s_b(z, 6, s_77))) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m2 = z->l - z->c; (void)m2;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab2;
-        {   int ret = slice_from_s(z, 4, s_78);
+        if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab1;
+        {
+            int ret = slice_from_s(z, 4, s_78);
             if (ret < 0) return ret;
         }
-        goto lab1;
-    lab2:
-        z->c = z->l - m2;
+        break;
+    lab1:
+        z->c = z->l - v_2;
         z->ket = z->c;
-    }
-lab1:
+    } while (0);
     z->bra = z->c;
-    if (!find_among_b(z, a_39, 95)) return 0;
+    if (!find_among_b(z, a_39, 95, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_79);
+    {
+        int ret = slice_from_s(z, 4, s_79);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_5c(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (z->c - 9 <= z->lb || z->p[z->c - 1] != 181) goto lab0;
-        if (!find_among_b(z, a_40, 1)) goto lab0;
+        if (!(eq_s_b(z, 10, s_80))) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[0] = 0;
+        ((SN_local *)z)->b_test1 = 0;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
-    if (!(eq_s_b(z, 6, s_80))) return 0;
+    if (!(eq_s_b(z, 6, s_81))) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m2 = z->l - z->c; (void)m2;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab2;
-        {   int ret = slice_from_s(z, 4, s_81);
+        if (in_grouping_b_U(z, g_v2, 945, 969, 0)) goto lab1;
+        {
+            int ret = slice_from_s(z, 4, s_82);
             if (ret < 0) return ret;
         }
-        goto lab1;
-    lab2:
-        z->c = z->l - m2;
+        break;
+    lab1:
+        z->c = z->l - v_2;
         z->ket = z->c;
         z->bra = z->c;
-        if (!find_among_b(z, a_41, 31)) goto lab3;
-        {   int ret = slice_from_s(z, 4, s_82);
+        if (!find_among_b(z, a_40, 31, 0)) goto lab2;
+        {
+            int ret = slice_from_s(z, 4, s_83);
             if (ret < 0) return ret;
         }
-        goto lab1;
-    lab3:
-        z->c = z->l - m2;
+        break;
+    lab2:
+        z->c = z->l - v_2;
         z->ket = z->c;
-    }
-lab1:
+    } while (0);
     z->bra = z->c;
-    if (!find_among_b(z, a_42, 25)) return 0;
+    if (!find_among_b(z, a_41, 25, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_83);
+    {
+        int ret = slice_from_s(z, 4, s_84);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3147,225 +3107,248 @@ lab1:
 static int r_step_5d(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 9 <= z->lb || z->p[z->c - 1] != 131) return 0;
-    if (!find_among_b(z, a_43, 2)) return 0;
+    if (!find_among_b(z, a_42, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (!(eq_s_b(z, 6, s_84))) goto lab1;
-        if (z->c > z->lb) goto lab1;
-        {   int ret = slice_from_s(z, 6, s_85);
+        if (!(eq_s_b(z, 6, s_85))) goto lab0;
+        if (z->c > z->lb) goto lab0;
+        {
+            int ret = slice_from_s(z, 6, s_86);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         z->bra = z->c;
-        if (!(eq_s_b(z, 6, s_86))) return 0;
-        {   int ret = slice_from_s(z, 6, s_87);
+        if (!(eq_s_b(z, 6, s_87))) return 0;
+        {
+            int ret = slice_from_s(z, 6, s_88);
             if (ret < 0) return ret;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_step_5e(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 11 <= z->lb || z->p[z->c - 1] != 181) return 0;
-    if (!find_among_b(z, a_44, 2)) return 0;
+    if (!find_among_b(z, a_43, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!(eq_s_b(z, 4, s_88))) return 0;
+    if (!(eq_s_b(z, 4, s_89))) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 10, s_89);
+    {
+        int ret = slice_from_s(z, 10, s_90);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_5f(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (!(eq_s_b(z, 10, s_90))) goto lab0;
+        if (!(eq_s_b(z, 10, s_91))) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[0] = 0;
+        ((SN_local *)z)->b_test1 = 0;
         z->ket = z->c;
         z->bra = z->c;
         if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 128 && z->p[z->c - 1] != 134)) goto lab0;
-        if (!find_among_b(z, a_45, 6)) goto lab0;
+        if (!find_among_b(z, a_44, 6, 0)) goto lab0;
         if (z->c > z->lb) goto lab0;
-        {   int ret = slice_from_s(z, 8, s_91);
+        {
+            int ret = slice_from_s(z, 8, s_92);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
-    if (!(eq_s_b(z, 8, s_92))) return 0;
+    if (!(eq_s_b(z, 8, s_93))) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_46, 9)) return 0;
+    if (!find_among_b(z, a_45, 9, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 8, s_93);
+    {
+        int ret = slice_from_s(z, 8, s_94);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_5g(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (!find_among_b(z, a_47, 3)) goto lab0;
+        if (!find_among_b(z, a_46, 3, 0)) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[0] = 0;
+        ((SN_local *)z)->b_test1 = 0;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
     z->ket = z->c;
-    if (!find_among_b(z, a_50, 3)) return 0;
+    if (!find_among_b(z, a_49, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m2 = z->l - z->c; (void)m2;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (!find_among_b(z, a_48, 6)) goto lab2;
-        {   int ret = slice_from_s(z, 4, s_94);
+        if (!find_among_b(z, a_47, 6, 0)) goto lab1;
+        {
+            int ret = slice_from_s(z, 4, s_95);
             if (ret < 0) return ret;
         }
-        goto lab1;
-    lab2:
-        z->c = z->l - m2;
+        break;
+    lab1:
+        z->c = z->l - v_2;
         z->ket = z->c;
         z->bra = z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] != 184) return 0;
-        if (!find_among_b(z, a_49, 5)) return 0;
+        if (!find_among_b(z, a_48, 5, 0)) return 0;
         if (z->c > z->lb) return 0;
-        {   int ret = slice_from_s(z, 4, s_95);
+        {
+            int ret = slice_from_s(z, 4, s_96);
             if (ret < 0) return ret;
         }
-    }
-lab1:
+    } while (0);
     return 1;
 }
 
 static int r_step_5h(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_53, 3)) return 0;
+    if (!find_among_b(z, a_52, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (!find_among_b(z, a_51, 12)) goto lab1;
-        {   int ret = slice_from_s(z, 6, s_96);
+        if (!find_among_b(z, a_50, 12, 0)) goto lab0;
+        {
+            int ret = slice_from_s(z, 6, s_97);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         z->bra = z->c;
-        if (!find_among_b(z, a_52, 25)) return 0;
+        if (!find_among_b(z, a_51, 25, 0)) return 0;
         if (z->c > z->lb) return 0;
-        {   int ret = slice_from_s(z, 6, s_97);
+        {
+            int ret = slice_from_s(z, 6, s_98);
             if (ret < 0) return ret;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_step_5i(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    if (!find_among_b(z, a_56, 3)) return 0;
+    if (!find_among_b(z, a_55, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
-    {   int m1 = z->l - z->c; (void)m1;
+    ((SN_local *)z)->b_test1 = 0;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
         z->bra = z->c;
-        if (!(eq_s_b(z, 8, s_98))) goto lab1;
-        {   int ret = slice_from_s(z, 4, s_99);
+        if (!(eq_s_b(z, 8, s_99))) goto lab0;
+        {
+            int ret = slice_from_s(z, 4, s_100);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m2 = z->l - z->c; (void)m2;
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        do {
+            int v_2 = z->l - z->c;
             z->ket = z->c;
             z->bra = z->c;
-            among_var = find_among_b(z, a_54, 12);
-            if (!among_var) goto lab3;
+            among_var = find_among_b(z, a_53, 12, 0);
+            if (!among_var) goto lab1;
             switch (among_var) {
                 case 1:
-                    {   int ret = slice_from_s(z, 4, s_100);
+                    {
+                        int ret = slice_from_s(z, 4, s_101);
                         if (ret < 0) return ret;
                     }
                     break;
             }
-            goto lab2;
-        lab3:
-            z->c = z->l - m2;
+            break;
+        lab1:
+            z->c = z->l - v_2;
             z->ket = z->c;
             z->bra = z->c;
-            if (!find_among_b(z, a_55, 44)) return 0;
+            if (!find_among_b(z, a_54, 44, 0)) return 0;
             if (z->c > z->lb) return 0;
-            {   int ret = slice_from_s(z, 4, s_101);
+            {
+                int ret = slice_from_s(z, 4, s_102);
                 if (ret < 0) return ret;
             }
-        }
-    lab2:
-        ;
-    }
-lab0:
+        } while (0);
+    } while (0);
     return 1;
 }
 
 static int r_step_5j(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_57, 3)) return 0;
+    if (!find_among_b(z, a_56, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 189) return 0;
-    if (!find_among_b(z, a_58, 6)) return 0;
+    if (!find_among_b(z, a_57, 6, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 4, s_102);
+    {
+        int ret = slice_from_s(z, 4, s_103);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3373,18 +3356,19 @@ static int r_step_5j(struct SN_env * z) {
 
 static int r_step_5k(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0;
-    if (!find_among_b(z, a_59, 1)) return 0;
+    if (!(eq_s_b(z, 8, s_104))) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_60, 10)) return 0;
+    if (!find_among_b(z, a_58, 10, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 6, s_103);
+    {
+        int ret = slice_from_s(z, 6, s_105);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3393,17 +3377,19 @@ static int r_step_5k(struct SN_env * z) {
 static int r_step_5l(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0;
-    if (!find_among_b(z, a_61, 3)) return 0;
+    if (!find_among_b(z, a_59, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_62, 6)) return 0;
+    if (!find_among_b(z, a_60, 6, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 6, s_104);
+    {
+        int ret = slice_from_s(z, 6, s_106);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3412,38 +3398,43 @@ static int r_step_5l(struct SN_env * z) {
 static int r_step_5m(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || z->p[z->c - 1] != 181) return 0;
-    if (!find_among_b(z, a_63, 3)) return 0;
+    if (!find_among_b(z, a_61, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[0] = 0;
+    ((SN_local *)z)->b_test1 = 0;
     z->ket = z->c;
     z->bra = z->c;
-    if (!find_among_b(z, a_64, 7)) return 0;
+    if (!find_among_b(z, a_62, 7, 0)) return 0;
     if (z->c > z->lb) return 0;
-    {   int ret = slice_from_s(z, 6, s_105);
+    {
+        int ret = slice_from_s(z, 6, s_107);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step_6(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (!find_among_b(z, a_65, 3)) goto lab0;
+        if (!find_among_b(z, a_63, 3, 0)) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_from_s(z, 4, s_106);
+        {
+            int ret = slice_from_s(z, 4, s_108);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    if (!(z->I[0])) return 0;
+    if (!((SN_local *)z)->b_test1) return 0;
     z->ket = z->c;
-    if (!find_among_b(z, a_66, 84)) return 0;
+    if (!find_among_b(z, a_64, 84, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3452,9 +3443,10 @@ static int r_step_6(struct SN_env * z) {
 static int r_step_7(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 7 <= z->lb || (z->p[z->c - 1] != 129 && z->p[z->c - 1] != 132)) return 0;
-    if (!find_among_b(z, a_67, 8)) return 0;
+    if (!find_among_b(z, a_65, 8, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -3462,214 +3454,288 @@ static int r_step_7(struct SN_env * z) {
 
 extern int greek_UTF_8_stem(struct SN_env * z) {
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_tolower(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_tolower(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
-    z->I[0] = 1;
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_step_1(z);
+    ((SN_local *)z)->b_test1 = 1;
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_step_1(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_step_s1(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_step_s1(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_step_s2(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_step_s2(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_step_s3(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_step_s3(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_step_s4(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_step_s4(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_step_s5(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_step_s5(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_step_s6(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_step_s6(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_step_s7(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_step_s7(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_step_s8(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_step_s8(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
-    {   int m11 = z->l - z->c; (void)m11;
-        {   int ret = r_step_s9(z);
+    {
+        int v_11 = z->l - z->c;
+        {
+            int ret = r_step_s9(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m11;
+        z->c = z->l - v_11;
     }
-    {   int m12 = z->l - z->c; (void)m12;
-        {   int ret = r_step_s10(z);
+    {
+        int v_12 = z->l - z->c;
+        {
+            int ret = r_step_s10(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m12;
+        z->c = z->l - v_12;
     }
-    {   int m13 = z->l - z->c; (void)m13;
-        {   int ret = r_step_2a(z);
+    {
+        int v_13 = z->l - z->c;
+        {
+            int ret = r_step_2a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m13;
+        z->c = z->l - v_13;
     }
-    {   int m14 = z->l - z->c; (void)m14;
-        {   int ret = r_step_2b(z);
+    {
+        int v_14 = z->l - z->c;
+        {
+            int ret = r_step_2b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m14;
+        z->c = z->l - v_14;
     }
-    {   int m15 = z->l - z->c; (void)m15;
-        {   int ret = r_step_2c(z);
+    {
+        int v_15 = z->l - z->c;
+        {
+            int ret = r_step_2c(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m15;
+        z->c = z->l - v_15;
     }
-    {   int m16 = z->l - z->c; (void)m16;
-        {   int ret = r_step_2d(z);
+    {
+        int v_16 = z->l - z->c;
+        {
+            int ret = r_step_2d(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m16;
+        z->c = z->l - v_16;
     }
-    {   int m17 = z->l - z->c; (void)m17;
-        {   int ret = r_step_3(z);
+    {
+        int v_17 = z->l - z->c;
+        {
+            int ret = r_step_3(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m17;
+        z->c = z->l - v_17;
     }
-    {   int m18 = z->l - z->c; (void)m18;
-        {   int ret = r_step_4(z);
+    {
+        int v_18 = z->l - z->c;
+        {
+            int ret = r_step_4(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m18;
+        z->c = z->l - v_18;
     }
-    {   int m19 = z->l - z->c; (void)m19;
-        {   int ret = r_step_5a(z);
+    {
+        int v_19 = z->l - z->c;
+        {
+            int ret = r_step_5a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m19;
+        z->c = z->l - v_19;
     }
-    {   int m20 = z->l - z->c; (void)m20;
-        {   int ret = r_step_5b(z);
+    {
+        int v_20 = z->l - z->c;
+        {
+            int ret = r_step_5b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m20;
+        z->c = z->l - v_20;
     }
-    {   int m21 = z->l - z->c; (void)m21;
-        {   int ret = r_step_5c(z);
+    {
+        int v_21 = z->l - z->c;
+        {
+            int ret = r_step_5c(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m21;
+        z->c = z->l - v_21;
     }
-    {   int m22 = z->l - z->c; (void)m22;
-        {   int ret = r_step_5d(z);
+    {
+        int v_22 = z->l - z->c;
+        {
+            int ret = r_step_5d(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m22;
+        z->c = z->l - v_22;
     }
-    {   int m23 = z->l - z->c; (void)m23;
-        {   int ret = r_step_5e(z);
+    {
+        int v_23 = z->l - z->c;
+        {
+            int ret = r_step_5e(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m23;
+        z->c = z->l - v_23;
     }
-    {   int m24 = z->l - z->c; (void)m24;
-        {   int ret = r_step_5f(z);
+    {
+        int v_24 = z->l - z->c;
+        {
+            int ret = r_step_5f(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m24;
+        z->c = z->l - v_24;
     }
-    {   int m25 = z->l - z->c; (void)m25;
-        {   int ret = r_step_5g(z);
+    {
+        int v_25 = z->l - z->c;
+        {
+            int ret = r_step_5g(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m25;
+        z->c = z->l - v_25;
     }
-    {   int m26 = z->l - z->c; (void)m26;
-        {   int ret = r_step_5h(z);
+    {
+        int v_26 = z->l - z->c;
+        {
+            int ret = r_step_5h(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m26;
+        z->c = z->l - v_26;
     }
-    {   int m27 = z->l - z->c; (void)m27;
-        {   int ret = r_step_5j(z);
+    {
+        int v_27 = z->l - z->c;
+        {
+            int ret = r_step_5j(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m27;
+        z->c = z->l - v_27;
     }
-    {   int m28 = z->l - z->c; (void)m28;
-        {   int ret = r_step_5i(z);
+    {
+        int v_28 = z->l - z->c;
+        {
+            int ret = r_step_5i(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m28;
+        z->c = z->l - v_28;
     }
-    {   int m29 = z->l - z->c; (void)m29;
-        {   int ret = r_step_5k(z);
+    {
+        int v_29 = z->l - z->c;
+        {
+            int ret = r_step_5k(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m29;
+        z->c = z->l - v_29;
     }
-    {   int m30 = z->l - z->c; (void)m30;
-        {   int ret = r_step_5l(z);
+    {
+        int v_30 = z->l - z->c;
+        {
+            int ret = r_step_5l(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m30;
+        z->c = z->l - v_30;
     }
-    {   int m31 = z->l - z->c; (void)m31;
-        {   int ret = r_step_5m(z);
+    {
+        int v_31 = z->l - z->c;
+        {
+            int ret = r_step_5m(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m31;
+        z->c = z->l - v_31;
     }
-    {   int m32 = z->l - z->c; (void)m32;
-        {   int ret = r_step_6(z);
+    {
+        int v_32 = z->l - z->c;
+        {
+            int ret = r_step_6(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m32;
+        z->c = z->l - v_32;
     }
-    {   int m33 = z->l - z->c; (void)m33;
-        {   int ret = r_step_7(z);
+    {
+        int v_33 = z->l - z->c;
+        {
+            int ret = r_step_7(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m33;
+        z->c = z->l - v_33;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * greek_UTF_8_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * greek_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_test1 = 0;
+    }
+    return z;
+}
 
-extern void greek_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void greek_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index a2f2ec7f20fee6611761c00ae550dcc44da14993..ef7feb5736991873fe22e87b51d62bf73d3ec4c4 100644 (file)
@@ -1,8 +1,11 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hindi.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_hindi.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
 
-static int r_CONSONANT(struct SN_env * z);
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -10,18 +13,10 @@ extern int hindi_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 
-extern struct SN_env * hindi_UTF_8_create_env(void);
-extern void hindi_UTF_8_close_env(struct SN_env * z);
+static int r_CONSONANT(struct SN_env * z);
 
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 0xE0, 0xA5, 0x80 };
 static const symbol s_0_1[12] = { 0xE0, 0xA5, 0x82, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
 static const symbol s_0_2[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x82, 0xE0, 0xA4, 0x97, 0xE0, 0xA5, 0x80 };
@@ -154,169 +149,170 @@ static const symbol s_0_128[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA
 static const symbol s_0_129[9] = { 0xE0, 0xA4, 0x86, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
 static const symbol s_0_130[9] = { 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBE };
 static const symbol s_0_131[3] = { 0xE0, 0xA4, 0xBF };
-
-static const struct among a_0[132] =
-{
-{ 3, s_0_0, -1, -1, 0},
-{ 12, s_0_1, 0, -1, 0},
-{ 12, s_0_2, 0, -1, 0},
-{ 12, s_0_3, 0, -1, 0},
-{ 15, s_0_4, 3, -1, 0},
-{ 15, s_0_5, 3, -1, 0},
-{ 12, s_0_6, 0, -1, 0},
-{ 15, s_0_7, 6, -1, 0},
-{ 15, s_0_8, 6, -1, 0},
-{ 9, s_0_9, 0, -1, 0},
-{ 9, s_0_10, 0, -1, 0},
-{ 9, s_0_11, 0, -1, 0},
-{ 12, s_0_12, 11, -1, 0},
-{ 12, s_0_13, 11, -1, 0},
-{ 9, s_0_14, 0, -1, 0},
-{ 12, s_0_15, 14, -1, 0},
-{ 12, s_0_16, 14, -1, 0},
-{ 6, s_0_17, 0, -1, r_CONSONANT},
-{ 9, s_0_18, 17, -1, 0},
-{ 9, s_0_19, 17, -1, 0},
-{ 9, s_0_20, 17, -1, 0},
-{ 6, s_0_21, 0, -1, r_CONSONANT},
-{ 9, s_0_22, 21, -1, 0},
-{ 6, s_0_23, -1, -1, 0},
-{ 6, s_0_24, -1, -1, 0},
-{ 12, s_0_25, 24, -1, 0},
-{ 15, s_0_26, 25, -1, 0},
-{ 15, s_0_27, 25, -1, 0},
-{ 12, s_0_28, 24, -1, 0},
-{ 3, s_0_29, -1, -1, 0},
-{ 6, s_0_30, -1, -1, 0},
-{ 9, s_0_31, 30, -1, r_CONSONANT},
-{ 12, s_0_32, 31, -1, 0},
-{ 12, s_0_33, 31, -1, 0},
-{ 12, s_0_34, 31, -1, 0},
-{ 6, s_0_35, -1, -1, 0},
-{ 9, s_0_36, 35, -1, 0},
-{ 9, s_0_37, 35, -1, 0},
-{ 6, s_0_38, -1, -1, 0},
-{ 6, s_0_39, -1, -1, 0},
-{ 9, s_0_40, 39, -1, 0},
-{ 9, s_0_41, 39, -1, 0},
-{ 6, s_0_42, -1, -1, 0},
-{ 12, s_0_43, 42, -1, 0},
-{ 15, s_0_44, 43, -1, 0},
-{ 15, s_0_45, 43, -1, 0},
-{ 12, s_0_46, 42, -1, 0},
-{ 6, s_0_47, -1, -1, 0},
-{ 9, s_0_48, 47, -1, 0},
-{ 9, s_0_49, 47, -1, 0},
-{ 9, s_0_50, 47, -1, 0},
-{ 9, s_0_51, 47, -1, 0},
-{ 12, s_0_52, 51, -1, r_CONSONANT},
-{ 15, s_0_53, 52, -1, 0},
-{ 12, s_0_54, 51, -1, r_CONSONANT},
-{ 15, s_0_55, 54, -1, 0},
-{ 6, s_0_56, -1, -1, 0},
-{ 9, s_0_57, 56, -1, 0},
-{ 9, s_0_58, 56, -1, 0},
-{ 9, s_0_59, 56, -1, 0},
-{ 9, s_0_60, 56, -1, 0},
-{ 12, s_0_61, 60, -1, r_CONSONANT},
-{ 15, s_0_62, 61, -1, 0},
-{ 12, s_0_63, 60, -1, r_CONSONANT},
-{ 15, s_0_64, 63, -1, 0},
-{ 6, s_0_65, -1, -1, 0},
-{ 12, s_0_66, 65, -1, 0},
-{ 15, s_0_67, 66, -1, 0},
-{ 15, s_0_68, 66, -1, 0},
-{ 12, s_0_69, 65, -1, 0},
-{ 3, s_0_70, -1, -1, 0},
-{ 3, s_0_71, -1, -1, 0},
-{ 3, s_0_72, -1, -1, 0},
-{ 3, s_0_73, -1, -1, 0},
-{ 3, s_0_74, -1, -1, 0},
-{ 12, s_0_75, 74, -1, 0},
-{ 12, s_0_76, 74, -1, 0},
-{ 15, s_0_77, 76, -1, 0},
-{ 15, s_0_78, 76, -1, 0},
-{ 9, s_0_79, 74, -1, 0},
-{ 9, s_0_80, 74, -1, 0},
-{ 12, s_0_81, 80, -1, 0},
-{ 12, s_0_82, 80, -1, 0},
-{ 6, s_0_83, 74, -1, r_CONSONANT},
-{ 9, s_0_84, 83, -1, 0},
-{ 9, s_0_85, 83, -1, 0},
-{ 9, s_0_86, 83, -1, 0},
-{ 6, s_0_87, 74, -1, r_CONSONANT},
-{ 9, s_0_88, 87, -1, 0},
-{ 9, s_0_89, 87, -1, 0},
-{ 9, s_0_90, 87, -1, 0},
-{ 3, s_0_91, -1, -1, 0},
-{ 6, s_0_92, 91, -1, 0},
-{ 6, s_0_93, 91, -1, 0},
-{ 3, s_0_94, -1, -1, 0},
-{ 3, s_0_95, -1, -1, 0},
-{ 3, s_0_96, -1, -1, 0},
-{ 3, s_0_97, -1, -1, 0},
-{ 3, s_0_98, -1, -1, 0},
-{ 6, s_0_99, 98, -1, 0},
-{ 6, s_0_100, 98, -1, 0},
-{ 9, s_0_101, 100, -1, 0},
-{ 9, s_0_102, 100, -1, 0},
-{ 6, s_0_103, 98, -1, 0},
-{ 6, s_0_104, 98, -1, 0},
-{ 3, s_0_105, -1, -1, 0},
-{ 6, s_0_106, 105, -1, 0},
-{ 6, s_0_107, 105, -1, 0},
-{ 6, s_0_108, -1, -1, r_CONSONANT},
-{ 9, s_0_109, 108, -1, 0},
-{ 9, s_0_110, 108, -1, 0},
-{ 9, s_0_111, 108, -1, 0},
-{ 3, s_0_112, -1, -1, 0},
-{ 12, s_0_113, 112, -1, 0},
-{ 12, s_0_114, 112, -1, 0},
-{ 15, s_0_115, 114, -1, 0},
-{ 15, s_0_116, 114, -1, 0},
-{ 9, s_0_117, 112, -1, 0},
-{ 9, s_0_118, 112, -1, 0},
-{ 12, s_0_119, 118, -1, 0},
-{ 12, s_0_120, 118, -1, 0},
-{ 6, s_0_121, 112, -1, r_CONSONANT},
-{ 9, s_0_122, 121, -1, 0},
-{ 9, s_0_123, 121, -1, 0},
-{ 9, s_0_124, 121, -1, 0},
-{ 6, s_0_125, 112, -1, r_CONSONANT},
-{ 9, s_0_126, 125, -1, 0},
-{ 9, s_0_127, 125, -1, 0},
-{ 9, s_0_128, 125, -1, 0},
-{ 9, s_0_129, 112, -1, 0},
-{ 9, s_0_130, 112, -1, 0},
-{ 3, s_0_131, -1, -1, 0}
+static const struct among a_0[132] = {
+{ 3, s_0_0, 0, -1, 0},
+{ 12, s_0_1, -1, -1, 0},
+{ 12, s_0_2, -2, -1, 0},
+{ 12, s_0_3, -3, -1, 0},
+{ 15, s_0_4, -1, -1, 0},
+{ 15, s_0_5, -2, -1, 0},
+{ 12, s_0_6, -6, -1, 0},
+{ 15, s_0_7, -1, -1, 0},
+{ 15, s_0_8, -2, -1, 0},
+{ 9, s_0_9, -9, -1, 0},
+{ 9, s_0_10, -10, -1, 0},
+{ 9, s_0_11, -11, -1, 0},
+{ 12, s_0_12, -1, -1, 0},
+{ 12, s_0_13, -2, -1, 0},
+{ 9, s_0_14, -14, -1, 0},
+{ 12, s_0_15, -1, -1, 0},
+{ 12, s_0_16, -2, -1, 0},
+{ 6, s_0_17, -17, -1, 1},
+{ 9, s_0_18, -1, -1, 0},
+{ 9, s_0_19, -2, -1, 0},
+{ 9, s_0_20, -3, -1, 0},
+{ 6, s_0_21, -21, -1, 1},
+{ 9, s_0_22, -1, -1, 0},
+{ 6, s_0_23, 0, -1, 0},
+{ 6, s_0_24, 0, -1, 0},
+{ 12, s_0_25, -1, -1, 0},
+{ 15, s_0_26, -1, -1, 0},
+{ 15, s_0_27, -2, -1, 0},
+{ 12, s_0_28, -4, -1, 0},
+{ 3, s_0_29, 0, -1, 0},
+{ 6, s_0_30, 0, -1, 0},
+{ 9, s_0_31, -1, -1, 1},
+{ 12, s_0_32, -1, -1, 0},
+{ 12, s_0_33, -2, -1, 0},
+{ 12, s_0_34, -3, -1, 0},
+{ 6, s_0_35, 0, -1, 0},
+{ 9, s_0_36, -1, -1, 0},
+{ 9, s_0_37, -2, -1, 0},
+{ 6, s_0_38, 0, -1, 0},
+{ 6, s_0_39, 0, -1, 0},
+{ 9, s_0_40, -1, -1, 0},
+{ 9, s_0_41, -2, -1, 0},
+{ 6, s_0_42, 0, -1, 0},
+{ 12, s_0_43, -1, -1, 0},
+{ 15, s_0_44, -1, -1, 0},
+{ 15, s_0_45, -2, -1, 0},
+{ 12, s_0_46, -4, -1, 0},
+{ 6, s_0_47, 0, -1, 0},
+{ 9, s_0_48, -1, -1, 0},
+{ 9, s_0_49, -2, -1, 0},
+{ 9, s_0_50, -3, -1, 0},
+{ 9, s_0_51, -4, -1, 0},
+{ 12, s_0_52, -1, -1, 1},
+{ 15, s_0_53, -1, -1, 0},
+{ 12, s_0_54, -3, -1, 1},
+{ 15, s_0_55, -1, -1, 0},
+{ 6, s_0_56, 0, -1, 0},
+{ 9, s_0_57, -1, -1, 0},
+{ 9, s_0_58, -2, -1, 0},
+{ 9, s_0_59, -3, -1, 0},
+{ 9, s_0_60, -4, -1, 0},
+{ 12, s_0_61, -1, -1, 1},
+{ 15, s_0_62, -1, -1, 0},
+{ 12, s_0_63, -3, -1, 1},
+{ 15, s_0_64, -1, -1, 0},
+{ 6, s_0_65, 0, -1, 0},
+{ 12, s_0_66, -1, -1, 0},
+{ 15, s_0_67, -1, -1, 0},
+{ 15, s_0_68, -2, -1, 0},
+{ 12, s_0_69, -4, -1, 0},
+{ 3, s_0_70, 0, -1, 0},
+{ 3, s_0_71, 0, -1, 0},
+{ 3, s_0_72, 0, -1, 0},
+{ 3, s_0_73, 0, -1, 0},
+{ 3, s_0_74, 0, -1, 0},
+{ 12, s_0_75, -1, -1, 0},
+{ 12, s_0_76, -2, -1, 0},
+{ 15, s_0_77, -1, -1, 0},
+{ 15, s_0_78, -2, -1, 0},
+{ 9, s_0_79, -5, -1, 0},
+{ 9, s_0_80, -6, -1, 0},
+{ 12, s_0_81, -1, -1, 0},
+{ 12, s_0_82, -2, -1, 0},
+{ 6, s_0_83, -9, -1, 1},
+{ 9, s_0_84, -1, -1, 0},
+{ 9, s_0_85, -2, -1, 0},
+{ 9, s_0_86, -3, -1, 0},
+{ 6, s_0_87, -13, -1, 1},
+{ 9, s_0_88, -1, -1, 0},
+{ 9, s_0_89, -2, -1, 0},
+{ 9, s_0_90, -3, -1, 0},
+{ 3, s_0_91, 0, -1, 0},
+{ 6, s_0_92, -1, -1, 0},
+{ 6, s_0_93, -2, -1, 0},
+{ 3, s_0_94, 0, -1, 0},
+{ 3, s_0_95, 0, -1, 0},
+{ 3, s_0_96, 0, -1, 0},
+{ 3, s_0_97, 0, -1, 0},
+{ 3, s_0_98, 0, -1, 0},
+{ 6, s_0_99, -1, -1, 0},
+{ 6, s_0_100, -2, -1, 0},
+{ 9, s_0_101, -1, -1, 0},
+{ 9, s_0_102, -2, -1, 0},
+{ 6, s_0_103, -5, -1, 0},
+{ 6, s_0_104, -6, -1, 0},
+{ 3, s_0_105, 0, -1, 0},
+{ 6, s_0_106, -1, -1, 0},
+{ 6, s_0_107, -2, -1, 0},
+{ 6, s_0_108, 0, -1, 1},
+{ 9, s_0_109, -1, -1, 0},
+{ 9, s_0_110, -2, -1, 0},
+{ 9, s_0_111, -3, -1, 0},
+{ 3, s_0_112, 0, -1, 0},
+{ 12, s_0_113, -1, -1, 0},
+{ 12, s_0_114, -2, -1, 0},
+{ 15, s_0_115, -1, -1, 0},
+{ 15, s_0_116, -2, -1, 0},
+{ 9, s_0_117, -5, -1, 0},
+{ 9, s_0_118, -6, -1, 0},
+{ 12, s_0_119, -1, -1, 0},
+{ 12, s_0_120, -2, -1, 0},
+{ 6, s_0_121, -9, -1, 1},
+{ 9, s_0_122, -1, -1, 0},
+{ 9, s_0_123, -2, -1, 0},
+{ 9, s_0_124, -3, -1, 0},
+{ 6, s_0_125, -13, -1, 1},
+{ 9, s_0_126, -1, -1, 0},
+{ 9, s_0_127, -2, -1, 0},
+{ 9, s_0_128, -3, -1, 0},
+{ 9, s_0_129, -17, -1, 0},
+{ 9, s_0_130, -18, -1, 0},
+{ 3, s_0_131, 0, -1, 0}
 };
 
 static const unsigned char g_consonant[] = { 255, 255, 255, 255, 159, 0, 0, 0, 248, 7 };
 
-
 static int r_CONSONANT(struct SN_env * z) {
-    if (in_grouping_b_U(z, g_consonant, 2325, 2399, 0)) return 0;
-    return 1;
+    return !in_grouping_b_U(z, g_consonant, 2325, 2399, 0);
 }
 
 extern int hindi_UTF_8_stem(struct SN_env * z) {
-    {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+    {
+        int ret = skip_utf8(z->p, z->c, z->l, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->lb = z->c; z->c = z->l;
-
     z->ket = z->c;
-    if (!find_among_b(z, a_0, 132)) return 0;
+    if (!find_among_b(z, a_0, 132, r_CONSONANT)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * hindi_UTF_8_create_env(void) { return SN_create_env(0, 0); }
+extern struct SN_env * hindi_UTF_8_create_env(void) {
+    return SN_new_env(sizeof(struct SN_env));
+}
 
-extern void hindi_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void hindi_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index ff193a4d336d65cbdb248d728520b3c3d82e3fe3..6a6b3542b712acf90b8364fc9af0c5322da475bf 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hungarian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_hungarian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +20,7 @@ extern int hungarian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_double(struct SN_env * z);
 static int r_undouble(struct SN_env * z);
 static int r_factive(struct SN_env * z);
@@ -23,516 +35,459 @@ static int r_case(struct SN_env * z);
 static int r_v_ending(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * hungarian_UTF_8_create_env(void);
-extern void hungarian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'e' };
+static const symbol s_3[] = { 'a' };
+static const symbol s_4[] = { 'a' };
+static const symbol s_5[] = { 'e' };
+static const symbol s_6[] = { 'a' };
+static const symbol s_7[] = { 'e' };
+static const symbol s_8[] = { 'e' };
+static const symbol s_9[] = { 'a' };
+static const symbol s_10[] = { 'a' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'a' };
+static const symbol s_13[] = { 'e' };
 
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[2] = { 'c', 's' };
-static const symbol s_0_1[3] = { 'd', 'z', 's' };
-static const symbol s_0_2[2] = { 'g', 'y' };
-static const symbol s_0_3[2] = { 'l', 'y' };
-static const symbol s_0_4[2] = { 'n', 'y' };
-static const symbol s_0_5[2] = { 's', 'z' };
-static const symbol s_0_6[2] = { 't', 'y' };
-static const symbol s_0_7[2] = { 'z', 's' };
-
-static const struct among a_0[8] =
-{
-{ 2, s_0_0, -1, -1, 0},
-{ 3, s_0_1, -1, -1, 0},
-{ 2, s_0_2, -1, -1, 0},
-{ 2, s_0_3, -1, -1, 0},
-{ 2, s_0_4, -1, -1, 0},
-{ 2, s_0_5, -1, -1, 0},
-{ 2, s_0_6, -1, -1, 0},
-{ 2, s_0_7, -1, -1, 0}
+static const symbol s_0_0[2] = { 0xC3, 0xA1 };
+static const symbol s_0_1[2] = { 0xC3, 0xA9 };
+static const struct among a_0[2] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 2, 0}
 };
 
-static const symbol s_1_0[2] = { 0xC3, 0xA1 };
-static const symbol s_1_1[2] = { 0xC3, 0xA9 };
-
-static const struct among a_1[2] =
-{
-{ 2, s_1_0, -1, 1, 0},
-{ 2, s_1_1, -1, 2, 0}
+static const symbol s_1_0[2] = { 'b', 'b' };
+static const symbol s_1_1[2] = { 'c', 'c' };
+static const symbol s_1_2[2] = { 'd', 'd' };
+static const symbol s_1_3[2] = { 'f', 'f' };
+static const symbol s_1_4[2] = { 'g', 'g' };
+static const symbol s_1_5[2] = { 'j', 'j' };
+static const symbol s_1_6[2] = { 'k', 'k' };
+static const symbol s_1_7[2] = { 'l', 'l' };
+static const symbol s_1_8[2] = { 'm', 'm' };
+static const symbol s_1_9[2] = { 'n', 'n' };
+static const symbol s_1_10[2] = { 'p', 'p' };
+static const symbol s_1_11[2] = { 'r', 'r' };
+static const symbol s_1_12[3] = { 'c', 'c', 's' };
+static const symbol s_1_13[2] = { 's', 's' };
+static const symbol s_1_14[3] = { 'z', 'z', 's' };
+static const symbol s_1_15[2] = { 't', 't' };
+static const symbol s_1_16[2] = { 'v', 'v' };
+static const symbol s_1_17[3] = { 'g', 'g', 'y' };
+static const symbol s_1_18[3] = { 'l', 'l', 'y' };
+static const symbol s_1_19[3] = { 'n', 'n', 'y' };
+static const symbol s_1_20[3] = { 't', 't', 'y' };
+static const symbol s_1_21[3] = { 's', 's', 'z' };
+static const symbol s_1_22[2] = { 'z', 'z' };
+static const struct among a_1[23] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 2, s_1_4, 0, -1, 0},
+{ 2, s_1_5, 0, -1, 0},
+{ 2, s_1_6, 0, -1, 0},
+{ 2, s_1_7, 0, -1, 0},
+{ 2, s_1_8, 0, -1, 0},
+{ 2, s_1_9, 0, -1, 0},
+{ 2, s_1_10, 0, -1, 0},
+{ 2, s_1_11, 0, -1, 0},
+{ 3, s_1_12, 0, -1, 0},
+{ 2, s_1_13, 0, -1, 0},
+{ 3, s_1_14, 0, -1, 0},
+{ 2, s_1_15, 0, -1, 0},
+{ 2, s_1_16, 0, -1, 0},
+{ 3, s_1_17, 0, -1, 0},
+{ 3, s_1_18, 0, -1, 0},
+{ 3, s_1_19, 0, -1, 0},
+{ 3, s_1_20, 0, -1, 0},
+{ 3, s_1_21, 0, -1, 0},
+{ 2, s_1_22, 0, -1, 0}
 };
 
-static const symbol s_2_0[2] = { 'b', 'b' };
-static const symbol s_2_1[2] = { 'c', 'c' };
-static const symbol s_2_2[2] = { 'd', 'd' };
-static const symbol s_2_3[2] = { 'f', 'f' };
-static const symbol s_2_4[2] = { 'g', 'g' };
-static const symbol s_2_5[2] = { 'j', 'j' };
-static const symbol s_2_6[2] = { 'k', 'k' };
-static const symbol s_2_7[2] = { 'l', 'l' };
-static const symbol s_2_8[2] = { 'm', 'm' };
-static const symbol s_2_9[2] = { 'n', 'n' };
-static const symbol s_2_10[2] = { 'p', 'p' };
-static const symbol s_2_11[2] = { 'r', 'r' };
-static const symbol s_2_12[3] = { 'c', 'c', 's' };
-static const symbol s_2_13[2] = { 's', 's' };
-static const symbol s_2_14[3] = { 'z', 'z', 's' };
-static const symbol s_2_15[2] = { 't', 't' };
-static const symbol s_2_16[2] = { 'v', 'v' };
-static const symbol s_2_17[3] = { 'g', 'g', 'y' };
-static const symbol s_2_18[3] = { 'l', 'l', 'y' };
-static const symbol s_2_19[3] = { 'n', 'n', 'y' };
-static const symbol s_2_20[3] = { 't', 't', 'y' };
-static const symbol s_2_21[3] = { 's', 's', 'z' };
-static const symbol s_2_22[2] = { 'z', 'z' };
-
-static const struct among a_2[23] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, -1, 0},
-{ 2, s_2_4, -1, -1, 0},
-{ 2, s_2_5, -1, -1, 0},
-{ 2, s_2_6, -1, -1, 0},
-{ 2, s_2_7, -1, -1, 0},
-{ 2, s_2_8, -1, -1, 0},
-{ 2, s_2_9, -1, -1, 0},
-{ 2, s_2_10, -1, -1, 0},
-{ 2, s_2_11, -1, -1, 0},
-{ 3, s_2_12, -1, -1, 0},
-{ 2, s_2_13, -1, -1, 0},
-{ 3, s_2_14, -1, -1, 0},
-{ 2, s_2_15, -1, -1, 0},
-{ 2, s_2_16, -1, -1, 0},
-{ 3, s_2_17, -1, -1, 0},
-{ 3, s_2_18, -1, -1, 0},
-{ 3, s_2_19, -1, -1, 0},
-{ 3, s_2_20, -1, -1, 0},
-{ 3, s_2_21, -1, -1, 0},
-{ 2, s_2_22, -1, -1, 0}
+static const symbol s_2_0[2] = { 'a', 'l' };
+static const symbol s_2_1[2] = { 'e', 'l' };
+static const struct among a_2[2] = {
+{ 2, s_2_0, 0, 1, 0},
+{ 2, s_2_1, 0, 1, 0}
 };
 
-static const symbol s_3_0[2] = { 'a', 'l' };
-static const symbol s_3_1[2] = { 'e', 'l' };
-
-static const struct among a_3[2] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 1, 0}
+static const symbol s_3_0[2] = { 'b', 'a' };
+static const symbol s_3_1[2] = { 'r', 'a' };
+static const symbol s_3_2[2] = { 'b', 'e' };
+static const symbol s_3_3[2] = { 'r', 'e' };
+static const symbol s_3_4[2] = { 'i', 'g' };
+static const symbol s_3_5[3] = { 'n', 'a', 'k' };
+static const symbol s_3_6[3] = { 'n', 'e', 'k' };
+static const symbol s_3_7[3] = { 'v', 'a', 'l' };
+static const symbol s_3_8[3] = { 'v', 'e', 'l' };
+static const symbol s_3_9[2] = { 'u', 'l' };
+static const symbol s_3_10[4] = { 'b', 0xC5, 0x91, 'l' };
+static const symbol s_3_11[4] = { 'r', 0xC5, 0x91, 'l' };
+static const symbol s_3_12[4] = { 't', 0xC5, 0x91, 'l' };
+static const symbol s_3_13[4] = { 'n', 0xC3, 0xA1, 'l' };
+static const symbol s_3_14[4] = { 'n', 0xC3, 0xA9, 'l' };
+static const symbol s_3_15[4] = { 'b', 0xC3, 0xB3, 'l' };
+static const symbol s_3_16[4] = { 'r', 0xC3, 0xB3, 'l' };
+static const symbol s_3_17[4] = { 't', 0xC3, 0xB3, 'l' };
+static const symbol s_3_18[3] = { 0xC3, 0xBC, 'l' };
+static const symbol s_3_19[1] = { 'n' };
+static const symbol s_3_20[2] = { 'a', 'n' };
+static const symbol s_3_21[3] = { 'b', 'a', 'n' };
+static const symbol s_3_22[2] = { 'e', 'n' };
+static const symbol s_3_23[3] = { 'b', 'e', 'n' };
+static const symbol s_3_24[7] = { 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n' };
+static const symbol s_3_25[2] = { 'o', 'n' };
+static const symbol s_3_26[3] = { 0xC3, 0xB6, 'n' };
+static const symbol s_3_27[5] = { 'k', 0xC3, 0xA9, 'p', 'p' };
+static const symbol s_3_28[3] = { 'k', 'o', 'r' };
+static const symbol s_3_29[1] = { 't' };
+static const symbol s_3_30[2] = { 'a', 't' };
+static const symbol s_3_31[2] = { 'e', 't' };
+static const symbol s_3_32[5] = { 'k', 0xC3, 0xA9, 'n', 't' };
+static const symbol s_3_33[7] = { 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
+static const symbol s_3_34[7] = { 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
+static const symbol s_3_35[7] = { 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
+static const symbol s_3_36[2] = { 'o', 't' };
+static const symbol s_3_37[4] = { 0xC3, 0xA9, 'r', 't' };
+static const symbol s_3_38[3] = { 0xC3, 0xB6, 't' };
+static const symbol s_3_39[3] = { 'h', 'e', 'z' };
+static const symbol s_3_40[3] = { 'h', 'o', 'z' };
+static const symbol s_3_41[4] = { 'h', 0xC3, 0xB6, 'z' };
+static const symbol s_3_42[3] = { 'v', 0xC3, 0xA1 };
+static const symbol s_3_43[3] = { 'v', 0xC3, 0xA9 };
+static const struct among a_3[44] = {
+{ 2, s_3_0, 0, -1, 0},
+{ 2, s_3_1, 0, -1, 0},
+{ 2, s_3_2, 0, -1, 0},
+{ 2, s_3_3, 0, -1, 0},
+{ 2, s_3_4, 0, -1, 0},
+{ 3, s_3_5, 0, -1, 0},
+{ 3, s_3_6, 0, -1, 0},
+{ 3, s_3_7, 0, -1, 0},
+{ 3, s_3_8, 0, -1, 0},
+{ 2, s_3_9, 0, -1, 0},
+{ 4, s_3_10, 0, -1, 0},
+{ 4, s_3_11, 0, -1, 0},
+{ 4, s_3_12, 0, -1, 0},
+{ 4, s_3_13, 0, -1, 0},
+{ 4, s_3_14, 0, -1, 0},
+{ 4, s_3_15, 0, -1, 0},
+{ 4, s_3_16, 0, -1, 0},
+{ 4, s_3_17, 0, -1, 0},
+{ 3, s_3_18, 0, -1, 0},
+{ 1, s_3_19, 0, -1, 0},
+{ 2, s_3_20, -1, -1, 0},
+{ 3, s_3_21, -1, -1, 0},
+{ 2, s_3_22, -3, -1, 0},
+{ 3, s_3_23, -1, -1, 0},
+{ 7, s_3_24, -2, -1, 0},
+{ 2, s_3_25, -6, -1, 0},
+{ 3, s_3_26, -7, -1, 0},
+{ 5, s_3_27, 0, -1, 0},
+{ 3, s_3_28, 0, -1, 0},
+{ 1, s_3_29, 0, -1, 0},
+{ 2, s_3_30, -1, -1, 0},
+{ 2, s_3_31, -2, -1, 0},
+{ 5, s_3_32, -3, -1, 0},
+{ 7, s_3_33, -1, -1, 0},
+{ 7, s_3_34, -2, -1, 0},
+{ 7, s_3_35, -3, -1, 0},
+{ 2, s_3_36, -7, -1, 0},
+{ 4, s_3_37, -8, -1, 0},
+{ 3, s_3_38, -9, -1, 0},
+{ 3, s_3_39, 0, -1, 0},
+{ 3, s_3_40, 0, -1, 0},
+{ 4, s_3_41, 0, -1, 0},
+{ 3, s_3_42, 0, -1, 0},
+{ 3, s_3_43, 0, -1, 0}
 };
 
-static const symbol s_4_0[2] = { 'b', 'a' };
-static const symbol s_4_1[2] = { 'r', 'a' };
-static const symbol s_4_2[2] = { 'b', 'e' };
-static const symbol s_4_3[2] = { 'r', 'e' };
-static const symbol s_4_4[2] = { 'i', 'g' };
-static const symbol s_4_5[3] = { 'n', 'a', 'k' };
-static const symbol s_4_6[3] = { 'n', 'e', 'k' };
-static const symbol s_4_7[3] = { 'v', 'a', 'l' };
-static const symbol s_4_8[3] = { 'v', 'e', 'l' };
-static const symbol s_4_9[2] = { 'u', 'l' };
-static const symbol s_4_10[4] = { 'b', 0xC5, 0x91, 'l' };
-static const symbol s_4_11[4] = { 'r', 0xC5, 0x91, 'l' };
-static const symbol s_4_12[4] = { 't', 0xC5, 0x91, 'l' };
-static const symbol s_4_13[4] = { 'n', 0xC3, 0xA1, 'l' };
-static const symbol s_4_14[4] = { 'n', 0xC3, 0xA9, 'l' };
-static const symbol s_4_15[4] = { 'b', 0xC3, 0xB3, 'l' };
-static const symbol s_4_16[4] = { 'r', 0xC3, 0xB3, 'l' };
-static const symbol s_4_17[4] = { 't', 0xC3, 0xB3, 'l' };
-static const symbol s_4_18[3] = { 0xC3, 0xBC, 'l' };
-static const symbol s_4_19[1] = { 'n' };
-static const symbol s_4_20[2] = { 'a', 'n' };
-static const symbol s_4_21[3] = { 'b', 'a', 'n' };
-static const symbol s_4_22[2] = { 'e', 'n' };
-static const symbol s_4_23[3] = { 'b', 'e', 'n' };
-static const symbol s_4_24[7] = { 'k', 0xC3, 0xA9, 'p', 'p', 'e', 'n' };
-static const symbol s_4_25[2] = { 'o', 'n' };
-static const symbol s_4_26[3] = { 0xC3, 0xB6, 'n' };
-static const symbol s_4_27[5] = { 'k', 0xC3, 0xA9, 'p', 'p' };
-static const symbol s_4_28[3] = { 'k', 'o', 'r' };
-static const symbol s_4_29[1] = { 't' };
-static const symbol s_4_30[2] = { 'a', 't' };
-static const symbol s_4_31[2] = { 'e', 't' };
-static const symbol s_4_32[5] = { 'k', 0xC3, 0xA9, 'n', 't' };
-static const symbol s_4_33[7] = { 'a', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
-static const symbol s_4_34[7] = { 'e', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
-static const symbol s_4_35[7] = { 'o', 'n', 'k', 0xC3, 0xA9, 'n', 't' };
-static const symbol s_4_36[2] = { 'o', 't' };
-static const symbol s_4_37[4] = { 0xC3, 0xA9, 'r', 't' };
-static const symbol s_4_38[3] = { 0xC3, 0xB6, 't' };
-static const symbol s_4_39[3] = { 'h', 'e', 'z' };
-static const symbol s_4_40[3] = { 'h', 'o', 'z' };
-static const symbol s_4_41[4] = { 'h', 0xC3, 0xB6, 'z' };
-static const symbol s_4_42[3] = { 'v', 0xC3, 0xA1 };
-static const symbol s_4_43[3] = { 'v', 0xC3, 0xA9 };
-
-static const struct among a_4[44] =
-{
-{ 2, s_4_0, -1, -1, 0},
-{ 2, s_4_1, -1, -1, 0},
-{ 2, s_4_2, -1, -1, 0},
-{ 2, s_4_3, -1, -1, 0},
-{ 2, s_4_4, -1, -1, 0},
-{ 3, s_4_5, -1, -1, 0},
-{ 3, s_4_6, -1, -1, 0},
-{ 3, s_4_7, -1, -1, 0},
-{ 3, s_4_8, -1, -1, 0},
-{ 2, s_4_9, -1, -1, 0},
-{ 4, s_4_10, -1, -1, 0},
-{ 4, s_4_11, -1, -1, 0},
-{ 4, s_4_12, -1, -1, 0},
-{ 4, s_4_13, -1, -1, 0},
-{ 4, s_4_14, -1, -1, 0},
-{ 4, s_4_15, -1, -1, 0},
-{ 4, s_4_16, -1, -1, 0},
-{ 4, s_4_17, -1, -1, 0},
-{ 3, s_4_18, -1, -1, 0},
-{ 1, s_4_19, -1, -1, 0},
-{ 2, s_4_20, 19, -1, 0},
-{ 3, s_4_21, 20, -1, 0},
-{ 2, s_4_22, 19, -1, 0},
-{ 3, s_4_23, 22, -1, 0},
-{ 7, s_4_24, 22, -1, 0},
-{ 2, s_4_25, 19, -1, 0},
-{ 3, s_4_26, 19, -1, 0},
-{ 5, s_4_27, -1, -1, 0},
-{ 3, s_4_28, -1, -1, 0},
-{ 1, s_4_29, -1, -1, 0},
-{ 2, s_4_30, 29, -1, 0},
-{ 2, s_4_31, 29, -1, 0},
-{ 5, s_4_32, 29, -1, 0},
-{ 7, s_4_33, 32, -1, 0},
-{ 7, s_4_34, 32, -1, 0},
-{ 7, s_4_35, 32, -1, 0},
-{ 2, s_4_36, 29, -1, 0},
-{ 4, s_4_37, 29, -1, 0},
-{ 3, s_4_38, 29, -1, 0},
-{ 3, s_4_39, -1, -1, 0},
-{ 3, s_4_40, -1, -1, 0},
-{ 4, s_4_41, -1, -1, 0},
-{ 3, s_4_42, -1, -1, 0},
-{ 3, s_4_43, -1, -1, 0}
+static const symbol s_4_0[3] = { 0xC3, 0xA1, 'n' };
+static const symbol s_4_1[3] = { 0xC3, 0xA9, 'n' };
+static const symbol s_4_2[8] = { 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't' };
+static const struct among a_4[3] = {
+{ 3, s_4_0, 0, 2, 0},
+{ 3, s_4_1, 0, 1, 0},
+{ 8, s_4_2, 0, 2, 0}
 };
 
-static const symbol s_5_0[3] = { 0xC3, 0xA1, 'n' };
-static const symbol s_5_1[3] = { 0xC3, 0xA9, 'n' };
-static const symbol s_5_2[8] = { 0xC3, 0xA1, 'n', 'k', 0xC3, 0xA9, 'n', 't' };
-
-static const struct among a_5[3] =
-{
-{ 3, s_5_0, -1, 2, 0},
-{ 3, s_5_1, -1, 1, 0},
-{ 8, s_5_2, -1, 2, 0}
+static const symbol s_5_0[4] = { 's', 't', 'u', 'l' };
+static const symbol s_5_1[5] = { 'a', 's', 't', 'u', 'l' };
+static const symbol s_5_2[6] = { 0xC3, 0xA1, 's', 't', 'u', 'l' };
+static const symbol s_5_3[5] = { 's', 't', 0xC3, 0xBC, 'l' };
+static const symbol s_5_4[6] = { 'e', 's', 't', 0xC3, 0xBC, 'l' };
+static const symbol s_5_5[7] = { 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l' };
+static const struct among a_5[6] = {
+{ 4, s_5_0, 0, 1, 0},
+{ 5, s_5_1, -1, 1, 0},
+{ 6, s_5_2, -2, 2, 0},
+{ 5, s_5_3, 0, 1, 0},
+{ 6, s_5_4, -1, 1, 0},
+{ 7, s_5_5, -2, 3, 0}
 };
 
-static const symbol s_6_0[4] = { 's', 't', 'u', 'l' };
-static const symbol s_6_1[5] = { 'a', 's', 't', 'u', 'l' };
-static const symbol s_6_2[6] = { 0xC3, 0xA1, 's', 't', 'u', 'l' };
-static const symbol s_6_3[5] = { 's', 't', 0xC3, 0xBC, 'l' };
-static const symbol s_6_4[6] = { 'e', 's', 't', 0xC3, 0xBC, 'l' };
-static const symbol s_6_5[7] = { 0xC3, 0xA9, 's', 't', 0xC3, 0xBC, 'l' };
-
-static const struct among a_6[6] =
-{
-{ 4, s_6_0, -1, 1, 0},
-{ 5, s_6_1, 0, 1, 0},
-{ 6, s_6_2, 0, 2, 0},
-{ 5, s_6_3, -1, 1, 0},
-{ 6, s_6_4, 3, 1, 0},
-{ 7, s_6_5, 3, 3, 0}
+static const symbol s_6_0[2] = { 0xC3, 0xA1 };
+static const symbol s_6_1[2] = { 0xC3, 0xA9 };
+static const struct among a_6[2] = {
+{ 2, s_6_0, 0, 1, 0},
+{ 2, s_6_1, 0, 1, 0}
 };
 
-static const symbol s_7_0[2] = { 0xC3, 0xA1 };
-static const symbol s_7_1[2] = { 0xC3, 0xA9 };
-
-static const struct among a_7[2] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 2, s_7_1, -1, 1, 0}
+static const symbol s_7_0[1] = { 'k' };
+static const symbol s_7_1[2] = { 'a', 'k' };
+static const symbol s_7_2[2] = { 'e', 'k' };
+static const symbol s_7_3[2] = { 'o', 'k' };
+static const symbol s_7_4[3] = { 0xC3, 0xA1, 'k' };
+static const symbol s_7_5[3] = { 0xC3, 0xA9, 'k' };
+static const symbol s_7_6[3] = { 0xC3, 0xB6, 'k' };
+static const struct among a_7[7] = {
+{ 1, s_7_0, 0, 3, 0},
+{ 2, s_7_1, -1, 3, 0},
+{ 2, s_7_2, -2, 3, 0},
+{ 2, s_7_3, -3, 3, 0},
+{ 3, s_7_4, -4, 1, 0},
+{ 3, s_7_5, -5, 2, 0},
+{ 3, s_7_6, -6, 3, 0}
 };
 
-static const symbol s_8_0[1] = { 'k' };
-static const symbol s_8_1[2] = { 'a', 'k' };
-static const symbol s_8_2[2] = { 'e', 'k' };
-static const symbol s_8_3[2] = { 'o', 'k' };
-static const symbol s_8_4[3] = { 0xC3, 0xA1, 'k' };
-static const symbol s_8_5[3] = { 0xC3, 0xA9, 'k' };
-static const symbol s_8_6[3] = { 0xC3, 0xB6, 'k' };
-
-static const struct among a_8[7] =
-{
-{ 1, s_8_0, -1, 3, 0},
-{ 2, s_8_1, 0, 3, 0},
-{ 2, s_8_2, 0, 3, 0},
-{ 2, s_8_3, 0, 3, 0},
-{ 3, s_8_4, 0, 1, 0},
-{ 3, s_8_5, 0, 2, 0},
-{ 3, s_8_6, 0, 3, 0}
+static const symbol s_8_0[3] = { 0xC3, 0xA9, 'i' };
+static const symbol s_8_1[5] = { 0xC3, 0xA1, 0xC3, 0xA9, 'i' };
+static const symbol s_8_2[5] = { 0xC3, 0xA9, 0xC3, 0xA9, 'i' };
+static const symbol s_8_3[2] = { 0xC3, 0xA9 };
+static const symbol s_8_4[3] = { 'k', 0xC3, 0xA9 };
+static const symbol s_8_5[4] = { 'a', 'k', 0xC3, 0xA9 };
+static const symbol s_8_6[4] = { 'e', 'k', 0xC3, 0xA9 };
+static const symbol s_8_7[4] = { 'o', 'k', 0xC3, 0xA9 };
+static const symbol s_8_8[5] = { 0xC3, 0xA1, 'k', 0xC3, 0xA9 };
+static const symbol s_8_9[5] = { 0xC3, 0xA9, 'k', 0xC3, 0xA9 };
+static const symbol s_8_10[5] = { 0xC3, 0xB6, 'k', 0xC3, 0xA9 };
+static const symbol s_8_11[4] = { 0xC3, 0xA9, 0xC3, 0xA9 };
+static const struct among a_8[12] = {
+{ 3, s_8_0, 0, 1, 0},
+{ 5, s_8_1, -1, 3, 0},
+{ 5, s_8_2, -2, 2, 0},
+{ 2, s_8_3, 0, 1, 0},
+{ 3, s_8_4, -1, 1, 0},
+{ 4, s_8_5, -1, 1, 0},
+{ 4, s_8_6, -2, 1, 0},
+{ 4, s_8_7, -3, 1, 0},
+{ 5, s_8_8, -4, 3, 0},
+{ 5, s_8_9, -5, 2, 0},
+{ 5, s_8_10, -6, 1, 0},
+{ 4, s_8_11, -8, 2, 0}
 };
 
-static const symbol s_9_0[3] = { 0xC3, 0xA9, 'i' };
-static const symbol s_9_1[5] = { 0xC3, 0xA1, 0xC3, 0xA9, 'i' };
-static const symbol s_9_2[5] = { 0xC3, 0xA9, 0xC3, 0xA9, 'i' };
-static const symbol s_9_3[2] = { 0xC3, 0xA9 };
-static const symbol s_9_4[3] = { 'k', 0xC3, 0xA9 };
-static const symbol s_9_5[4] = { 'a', 'k', 0xC3, 0xA9 };
-static const symbol s_9_6[4] = { 'e', 'k', 0xC3, 0xA9 };
-static const symbol s_9_7[4] = { 'o', 'k', 0xC3, 0xA9 };
-static const symbol s_9_8[5] = { 0xC3, 0xA1, 'k', 0xC3, 0xA9 };
-static const symbol s_9_9[5] = { 0xC3, 0xA9, 'k', 0xC3, 0xA9 };
-static const symbol s_9_10[5] = { 0xC3, 0xB6, 'k', 0xC3, 0xA9 };
-static const symbol s_9_11[4] = { 0xC3, 0xA9, 0xC3, 0xA9 };
-
-static const struct among a_9[12] =
-{
-{ 3, s_9_0, -1, 1, 0},
-{ 5, s_9_1, 0, 3, 0},
-{ 5, s_9_2, 0, 2, 0},
+static const symbol s_9_0[1] = { 'a' };
+static const symbol s_9_1[2] = { 'j', 'a' };
+static const symbol s_9_2[1] = { 'd' };
+static const symbol s_9_3[2] = { 'a', 'd' };
+static const symbol s_9_4[2] = { 'e', 'd' };
+static const symbol s_9_5[2] = { 'o', 'd' };
+static const symbol s_9_6[3] = { 0xC3, 0xA1, 'd' };
+static const symbol s_9_7[3] = { 0xC3, 0xA9, 'd' };
+static const symbol s_9_8[3] = { 0xC3, 0xB6, 'd' };
+static const symbol s_9_9[1] = { 'e' };
+static const symbol s_9_10[2] = { 'j', 'e' };
+static const symbol s_9_11[2] = { 'n', 'k' };
+static const symbol s_9_12[3] = { 'u', 'n', 'k' };
+static const symbol s_9_13[4] = { 0xC3, 0xA1, 'n', 'k' };
+static const symbol s_9_14[4] = { 0xC3, 0xA9, 'n', 'k' };
+static const symbol s_9_15[4] = { 0xC3, 0xBC, 'n', 'k' };
+static const symbol s_9_16[2] = { 'u', 'k' };
+static const symbol s_9_17[3] = { 'j', 'u', 'k' };
+static const symbol s_9_18[5] = { 0xC3, 0xA1, 'j', 'u', 'k' };
+static const symbol s_9_19[3] = { 0xC3, 0xBC, 'k' };
+static const symbol s_9_20[4] = { 'j', 0xC3, 0xBC, 'k' };
+static const symbol s_9_21[6] = { 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k' };
+static const symbol s_9_22[1] = { 'm' };
+static const symbol s_9_23[2] = { 'a', 'm' };
+static const symbol s_9_24[2] = { 'e', 'm' };
+static const symbol s_9_25[2] = { 'o', 'm' };
+static const symbol s_9_26[3] = { 0xC3, 0xA1, 'm' };
+static const symbol s_9_27[3] = { 0xC3, 0xA9, 'm' };
+static const symbol s_9_28[1] = { 'o' };
+static const symbol s_9_29[2] = { 0xC3, 0xA1 };
+static const symbol s_9_30[2] = { 0xC3, 0xA9 };
+static const struct among a_9[31] = {
+{ 1, s_9_0, 0, 1, 0},
+{ 2, s_9_1, -1, 1, 0},
+{ 1, s_9_2, 0, 1, 0},
 { 2, s_9_3, -1, 1, 0},
-{ 3, s_9_4, 3, 1, 0},
-{ 4, s_9_5, 4, 1, 0},
-{ 4, s_9_6, 4, 1, 0},
-{ 4, s_9_7, 4, 1, 0},
-{ 5, s_9_8, 4, 3, 0},
-{ 5, s_9_9, 4, 2, 0},
-{ 5, s_9_10, 4, 1, 0},
-{ 4, s_9_11, 3, 2, 0}
+{ 2, s_9_4, -2, 1, 0},
+{ 2, s_9_5, -3, 1, 0},
+{ 3, s_9_6, -4, 2, 0},
+{ 3, s_9_7, -5, 3, 0},
+{ 3, s_9_8, -6, 1, 0},
+{ 1, s_9_9, 0, 1, 0},
+{ 2, s_9_10, -1, 1, 0},
+{ 2, s_9_11, 0, 1, 0},
+{ 3, s_9_12, -1, 1, 0},
+{ 4, s_9_13, -2, 2, 0},
+{ 4, s_9_14, -3, 3, 0},
+{ 4, s_9_15, -4, 1, 0},
+{ 2, s_9_16, 0, 1, 0},
+{ 3, s_9_17, -1, 1, 0},
+{ 5, s_9_18, -1, 2, 0},
+{ 3, s_9_19, 0, 1, 0},
+{ 4, s_9_20, -1, 1, 0},
+{ 6, s_9_21, -1, 3, 0},
+{ 1, s_9_22, 0, 1, 0},
+{ 2, s_9_23, -1, 1, 0},
+{ 2, s_9_24, -2, 1, 0},
+{ 2, s_9_25, -3, 1, 0},
+{ 3, s_9_26, -4, 2, 0},
+{ 3, s_9_27, -5, 3, 0},
+{ 1, s_9_28, 0, 1, 0},
+{ 2, s_9_29, 0, 2, 0},
+{ 2, s_9_30, 0, 3, 0}
 };
 
-static const symbol s_10_0[1] = { 'a' };
-static const symbol s_10_1[2] = { 'j', 'a' };
-static const symbol s_10_2[1] = { 'd' };
-static const symbol s_10_3[2] = { 'a', 'd' };
-static const symbol s_10_4[2] = { 'e', 'd' };
-static const symbol s_10_5[2] = { 'o', 'd' };
-static const symbol s_10_6[3] = { 0xC3, 0xA1, 'd' };
-static const symbol s_10_7[3] = { 0xC3, 0xA9, 'd' };
-static const symbol s_10_8[3] = { 0xC3, 0xB6, 'd' };
-static const symbol s_10_9[1] = { 'e' };
-static const symbol s_10_10[2] = { 'j', 'e' };
-static const symbol s_10_11[2] = { 'n', 'k' };
-static const symbol s_10_12[3] = { 'u', 'n', 'k' };
-static const symbol s_10_13[4] = { 0xC3, 0xA1, 'n', 'k' };
-static const symbol s_10_14[4] = { 0xC3, 0xA9, 'n', 'k' };
-static const symbol s_10_15[4] = { 0xC3, 0xBC, 'n', 'k' };
-static const symbol s_10_16[2] = { 'u', 'k' };
-static const symbol s_10_17[3] = { 'j', 'u', 'k' };
-static const symbol s_10_18[5] = { 0xC3, 0xA1, 'j', 'u', 'k' };
-static const symbol s_10_19[3] = { 0xC3, 0xBC, 'k' };
-static const symbol s_10_20[4] = { 'j', 0xC3, 0xBC, 'k' };
-static const symbol s_10_21[6] = { 0xC3, 0xA9, 'j', 0xC3, 0xBC, 'k' };
-static const symbol s_10_22[1] = { 'm' };
-static const symbol s_10_23[2] = { 'a', 'm' };
-static const symbol s_10_24[2] = { 'e', 'm' };
-static const symbol s_10_25[2] = { 'o', 'm' };
-static const symbol s_10_26[3] = { 0xC3, 0xA1, 'm' };
-static const symbol s_10_27[3] = { 0xC3, 0xA9, 'm' };
-static const symbol s_10_28[1] = { 'o' };
-static const symbol s_10_29[2] = { 0xC3, 0xA1 };
-static const symbol s_10_30[2] = { 0xC3, 0xA9 };
-
-static const struct among a_10[31] =
-{
-{ 1, s_10_0, -1, 1, 0},
-{ 2, s_10_1, 0, 1, 0},
-{ 1, s_10_2, -1, 1, 0},
-{ 2, s_10_3, 2, 1, 0},
-{ 2, s_10_4, 2, 1, 0},
-{ 2, s_10_5, 2, 1, 0},
-{ 3, s_10_6, 2, 2, 0},
-{ 3, s_10_7, 2, 3, 0},
-{ 3, s_10_8, 2, 1, 0},
-{ 1, s_10_9, -1, 1, 0},
-{ 2, s_10_10, 9, 1, 0},
-{ 2, s_10_11, -1, 1, 0},
-{ 3, s_10_12, 11, 1, 0},
-{ 4, s_10_13, 11, 2, 0},
-{ 4, s_10_14, 11, 3, 0},
-{ 4, s_10_15, 11, 1, 0},
-{ 2, s_10_16, -1, 1, 0},
-{ 3, s_10_17, 16, 1, 0},
-{ 5, s_10_18, 17, 2, 0},
+static const symbol s_10_0[2] = { 'i', 'd' };
+static const symbol s_10_1[3] = { 'a', 'i', 'd' };
+static const symbol s_10_2[4] = { 'j', 'a', 'i', 'd' };
+static const symbol s_10_3[3] = { 'e', 'i', 'd' };
+static const symbol s_10_4[4] = { 'j', 'e', 'i', 'd' };
+static const symbol s_10_5[4] = { 0xC3, 0xA1, 'i', 'd' };
+static const symbol s_10_6[4] = { 0xC3, 0xA9, 'i', 'd' };
+static const symbol s_10_7[1] = { 'i' };
+static const symbol s_10_8[2] = { 'a', 'i' };
+static const symbol s_10_9[3] = { 'j', 'a', 'i' };
+static const symbol s_10_10[2] = { 'e', 'i' };
+static const symbol s_10_11[3] = { 'j', 'e', 'i' };
+static const symbol s_10_12[3] = { 0xC3, 0xA1, 'i' };
+static const symbol s_10_13[3] = { 0xC3, 0xA9, 'i' };
+static const symbol s_10_14[4] = { 'i', 't', 'e', 'k' };
+static const symbol s_10_15[5] = { 'e', 'i', 't', 'e', 'k' };
+static const symbol s_10_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
+static const symbol s_10_17[6] = { 0xC3, 0xA9, 'i', 't', 'e', 'k' };
+static const symbol s_10_18[2] = { 'i', 'k' };
+static const symbol s_10_19[3] = { 'a', 'i', 'k' };
+static const symbol s_10_20[4] = { 'j', 'a', 'i', 'k' };
+static const symbol s_10_21[3] = { 'e', 'i', 'k' };
+static const symbol s_10_22[4] = { 'j', 'e', 'i', 'k' };
+static const symbol s_10_23[4] = { 0xC3, 0xA1, 'i', 'k' };
+static const symbol s_10_24[4] = { 0xC3, 0xA9, 'i', 'k' };
+static const symbol s_10_25[3] = { 'i', 'n', 'k' };
+static const symbol s_10_26[4] = { 'a', 'i', 'n', 'k' };
+static const symbol s_10_27[5] = { 'j', 'a', 'i', 'n', 'k' };
+static const symbol s_10_28[4] = { 'e', 'i', 'n', 'k' };
+static const symbol s_10_29[5] = { 'j', 'e', 'i', 'n', 'k' };
+static const symbol s_10_30[5] = { 0xC3, 0xA1, 'i', 'n', 'k' };
+static const symbol s_10_31[5] = { 0xC3, 0xA9, 'i', 'n', 'k' };
+static const symbol s_10_32[5] = { 'a', 'i', 't', 'o', 'k' };
+static const symbol s_10_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
+static const symbol s_10_34[6] = { 0xC3, 0xA1, 'i', 't', 'o', 'k' };
+static const symbol s_10_35[2] = { 'i', 'm' };
+static const symbol s_10_36[3] = { 'a', 'i', 'm' };
+static const symbol s_10_37[4] = { 'j', 'a', 'i', 'm' };
+static const symbol s_10_38[3] = { 'e', 'i', 'm' };
+static const symbol s_10_39[4] = { 'j', 'e', 'i', 'm' };
+static const symbol s_10_40[4] = { 0xC3, 0xA1, 'i', 'm' };
+static const symbol s_10_41[4] = { 0xC3, 0xA9, 'i', 'm' };
+static const struct among a_10[42] = {
+{ 2, s_10_0, 0, 1, 0},
+{ 3, s_10_1, -1, 1, 0},
+{ 4, s_10_2, -1, 1, 0},
+{ 3, s_10_3, -3, 1, 0},
+{ 4, s_10_4, -1, 1, 0},
+{ 4, s_10_5, -5, 2, 0},
+{ 4, s_10_6, -6, 3, 0},
+{ 1, s_10_7, 0, 1, 0},
+{ 2, s_10_8, -1, 1, 0},
+{ 3, s_10_9, -1, 1, 0},
+{ 2, s_10_10, -3, 1, 0},
+{ 3, s_10_11, -1, 1, 0},
+{ 3, s_10_12, -5, 2, 0},
+{ 3, s_10_13, -6, 3, 0},
+{ 4, s_10_14, 0, 1, 0},
+{ 5, s_10_15, -1, 1, 0},
+{ 6, s_10_16, -1, 1, 0},
+{ 6, s_10_17, -3, 3, 0},
+{ 2, s_10_18, 0, 1, 0},
 { 3, s_10_19, -1, 1, 0},
-{ 4, s_10_20, 19, 1, 0},
-{ 6, s_10_21, 20, 3, 0},
-{ 1, s_10_22, -1, 1, 0},
-{ 2, s_10_23, 22, 1, 0},
-{ 2, s_10_24, 22, 1, 0},
-{ 2, s_10_25, 22, 1, 0},
-{ 3, s_10_26, 22, 2, 0},
-{ 3, s_10_27, 22, 3, 0},
-{ 1, s_10_28, -1, 1, 0},
-{ 2, s_10_29, -1, 2, 0},
-{ 2, s_10_30, -1, 3, 0}
-};
-
-static const symbol s_11_0[2] = { 'i', 'd' };
-static const symbol s_11_1[3] = { 'a', 'i', 'd' };
-static const symbol s_11_2[4] = { 'j', 'a', 'i', 'd' };
-static const symbol s_11_3[3] = { 'e', 'i', 'd' };
-static const symbol s_11_4[4] = { 'j', 'e', 'i', 'd' };
-static const symbol s_11_5[4] = { 0xC3, 0xA1, 'i', 'd' };
-static const symbol s_11_6[4] = { 0xC3, 0xA9, 'i', 'd' };
-static const symbol s_11_7[1] = { 'i' };
-static const symbol s_11_8[2] = { 'a', 'i' };
-static const symbol s_11_9[3] = { 'j', 'a', 'i' };
-static const symbol s_11_10[2] = { 'e', 'i' };
-static const symbol s_11_11[3] = { 'j', 'e', 'i' };
-static const symbol s_11_12[3] = { 0xC3, 0xA1, 'i' };
-static const symbol s_11_13[3] = { 0xC3, 0xA9, 'i' };
-static const symbol s_11_14[4] = { 'i', 't', 'e', 'k' };
-static const symbol s_11_15[5] = { 'e', 'i', 't', 'e', 'k' };
-static const symbol s_11_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
-static const symbol s_11_17[6] = { 0xC3, 0xA9, 'i', 't', 'e', 'k' };
-static const symbol s_11_18[2] = { 'i', 'k' };
-static const symbol s_11_19[3] = { 'a', 'i', 'k' };
-static const symbol s_11_20[4] = { 'j', 'a', 'i', 'k' };
-static const symbol s_11_21[3] = { 'e', 'i', 'k' };
-static const symbol s_11_22[4] = { 'j', 'e', 'i', 'k' };
-static const symbol s_11_23[4] = { 0xC3, 0xA1, 'i', 'k' };
-static const symbol s_11_24[4] = { 0xC3, 0xA9, 'i', 'k' };
-static const symbol s_11_25[3] = { 'i', 'n', 'k' };
-static const symbol s_11_26[4] = { 'a', 'i', 'n', 'k' };
-static const symbol s_11_27[5] = { 'j', 'a', 'i', 'n', 'k' };
-static const symbol s_11_28[4] = { 'e', 'i', 'n', 'k' };
-static const symbol s_11_29[5] = { 'j', 'e', 'i', 'n', 'k' };
-static const symbol s_11_30[5] = { 0xC3, 0xA1, 'i', 'n', 'k' };
-static const symbol s_11_31[5] = { 0xC3, 0xA9, 'i', 'n', 'k' };
-static const symbol s_11_32[5] = { 'a', 'i', 't', 'o', 'k' };
-static const symbol s_11_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
-static const symbol s_11_34[6] = { 0xC3, 0xA1, 'i', 't', 'o', 'k' };
-static const symbol s_11_35[2] = { 'i', 'm' };
-static const symbol s_11_36[3] = { 'a', 'i', 'm' };
-static const symbol s_11_37[4] = { 'j', 'a', 'i', 'm' };
-static const symbol s_11_38[3] = { 'e', 'i', 'm' };
-static const symbol s_11_39[4] = { 'j', 'e', 'i', 'm' };
-static const symbol s_11_40[4] = { 0xC3, 0xA1, 'i', 'm' };
-static const symbol s_11_41[4] = { 0xC3, 0xA9, 'i', 'm' };
-
-static const struct among a_11[42] =
-{
-{ 2, s_11_0, -1, 1, 0},
-{ 3, s_11_1, 0, 1, 0},
-{ 4, s_11_2, 1, 1, 0},
-{ 3, s_11_3, 0, 1, 0},
-{ 4, s_11_4, 3, 1, 0},
-{ 4, s_11_5, 0, 2, 0},
-{ 4, s_11_6, 0, 3, 0},
-{ 1, s_11_7, -1, 1, 0},
-{ 2, s_11_8, 7, 1, 0},
-{ 3, s_11_9, 8, 1, 0},
-{ 2, s_11_10, 7, 1, 0},
-{ 3, s_11_11, 10, 1, 0},
-{ 3, s_11_12, 7, 2, 0},
-{ 3, s_11_13, 7, 3, 0},
-{ 4, s_11_14, -1, 1, 0},
-{ 5, s_11_15, 14, 1, 0},
-{ 6, s_11_16, 15, 1, 0},
-{ 6, s_11_17, 14, 3, 0},
-{ 2, s_11_18, -1, 1, 0},
-{ 3, s_11_19, 18, 1, 0},
-{ 4, s_11_20, 19, 1, 0},
-{ 3, s_11_21, 18, 1, 0},
-{ 4, s_11_22, 21, 1, 0},
-{ 4, s_11_23, 18, 2, 0},
-{ 4, s_11_24, 18, 3, 0},
-{ 3, s_11_25, -1, 1, 0},
-{ 4, s_11_26, 25, 1, 0},
-{ 5, s_11_27, 26, 1, 0},
-{ 4, s_11_28, 25, 1, 0},
-{ 5, s_11_29, 28, 1, 0},
-{ 5, s_11_30, 25, 2, 0},
-{ 5, s_11_31, 25, 3, 0},
-{ 5, s_11_32, -1, 1, 0},
-{ 6, s_11_33, 32, 1, 0},
-{ 6, s_11_34, -1, 2, 0},
-{ 2, s_11_35, -1, 1, 0},
-{ 3, s_11_36, 35, 1, 0},
-{ 4, s_11_37, 36, 1, 0},
-{ 3, s_11_38, 35, 1, 0},
-{ 4, s_11_39, 38, 1, 0},
-{ 4, s_11_40, 35, 2, 0},
-{ 4, s_11_41, 35, 3, 0}
+{ 4, s_10_20, -1, 1, 0},
+{ 3, s_10_21, -3, 1, 0},
+{ 4, s_10_22, -1, 1, 0},
+{ 4, s_10_23, -5, 2, 0},
+{ 4, s_10_24, -6, 3, 0},
+{ 3, s_10_25, 0, 1, 0},
+{ 4, s_10_26, -1, 1, 0},
+{ 5, s_10_27, -1, 1, 0},
+{ 4, s_10_28, -3, 1, 0},
+{ 5, s_10_29, -1, 1, 0},
+{ 5, s_10_30, -5, 2, 0},
+{ 5, s_10_31, -6, 3, 0},
+{ 5, s_10_32, 0, 1, 0},
+{ 6, s_10_33, -1, 1, 0},
+{ 6, s_10_34, 0, 2, 0},
+{ 2, s_10_35, 0, 1, 0},
+{ 3, s_10_36, -1, 1, 0},
+{ 4, s_10_37, -1, 1, 0},
+{ 3, s_10_38, -3, 1, 0},
+{ 4, s_10_39, -1, 1, 0},
+{ 4, s_10_40, -5, 2, 0},
+{ 4, s_10_41, -6, 3, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'e' };
-static const symbol s_3[] = { 'a' };
-static const symbol s_4[] = { 'a' };
-static const symbol s_5[] = { 'e' };
-static const symbol s_6[] = { 'a' };
-static const symbol s_7[] = { 'e' };
-static const symbol s_8[] = { 'e' };
-static const symbol s_9[] = { 'a' };
-static const symbol s_10[] = { 'a' };
-static const symbol s_11[] = { 'e' };
-static const symbol s_12[] = { 'a' };
-static const symbol s_13[] = { 'e' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        if (in_grouping_U(z, g_v, 97, 369, 0)) goto lab1;
-
-        if (in_grouping_U(z, g_v, 97, 369, 1) < 0) goto lab1;
-        {   int c2 = z->c;
-            if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3;
-            if (!find_among(z, a_0, 8)) goto lab3;
-            goto lab2;
-        lab3:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+    ((SN_local *)z)->i_p1 = z->l;
+    do {
+        int v_1 = z->c;
+        if (in_grouping_U(z, g_v, 97, 369, 0)) goto lab0;
+        {
+            int v_2 = z->c;
+            {
+                int ret = in_grouping_U(z, g_v, 97, 369, 1);
                 if (ret < 0) goto lab1;
-                z->c = ret;
+                z->c += ret;
             }
+            ((SN_local *)z)->i_p1 = z->c;
+        lab1:
+            z->c = v_2;
         }
-    lab2:
-        z->I[0] = z->c;
-        goto lab0;
-    lab1:
-        z->c = c1;
-        if (out_grouping_U(z, g_v, 97, 369, 0)) return 0;
-
+        break;
+    lab0:
+        z->c = v_1;
         {
             int ret = out_grouping_U(z, g_v, 97, 369, 1);
             if (ret < 0) return 0;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    }
-lab0:
+        ((SN_local *)z)->i_p1 = z->c;
+    } while (0);
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_v_ending(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
-    among_var = find_among_b(z, a_1, 2);
+    among_var = find_among_b(z, a_0, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
@@ -541,26 +496,30 @@ static int r_v_ending(struct SN_env * z) {
 }
 
 static int r_double(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
         if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-        if (!find_among_b(z, a_2, 23)) return 0;
-        z->c = z->l - m_test1;
+        if (!find_among_b(z, a_1, 23, 0)) return 0;
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
 static int r_undouble(struct SN_env * z) {
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->ket = z->c;
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -569,57 +528,59 @@ static int r_undouble(struct SN_env * z) {
 static int r_instrum(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0;
-    if (!find_among_b(z, a_3, 2)) return 0;
+    if (!find_among_b(z, a_2, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = r_double(z);
+    {
+        int ret = r_double(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_undouble(z);
 }
 
 static int r_case(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_4, 44)) return 0;
+    if (!find_among_b(z, a_3, 44, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_v_ending(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_v_ending(z);
 }
 
 static int r_case_special(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;
-    among_var = find_among_b(z, a_5, 3);
+    among_var = find_among_b(z, a_4, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_2);
+            {
+                int ret = slice_from_s(z, 1, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_3);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -631,25 +592,29 @@ static int r_case_other(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0;
-    among_var = find_among_b(z, a_6, 6);
+    among_var = find_among_b(z, a_5, 6, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_4);
+            {
+                int ret = slice_from_s(z, 1, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
@@ -660,46 +625,50 @@ static int r_case_other(struct SN_env * z) {
 static int r_factive(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 161 && z->p[z->c - 1] != 169)) return 0;
-    if (!find_among_b(z, a_7, 2)) return 0;
+    if (!find_among_b(z, a_6, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = r_double(z);
+    {
+        int ret = r_double(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_undouble(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_undouble(z);
 }
 
 static int r_plural(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
-    among_var = find_among_b(z, a_8, 7);
+    among_var = find_among_b(z, a_7, 7, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_6);
+            {
+                int ret = slice_from_s(z, 1, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -711,25 +680,29 @@ static int r_owned(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 169)) return 0;
-    among_var = find_among_b(z, a_9, 12);
+    among_var = find_among_b(z, a_8, 12, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_9);
+            {
+                int ret = slice_from_s(z, 1, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -740,25 +713,29 @@ static int r_owned(struct SN_env * z) {
 static int r_sing_owner(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_10, 31);
+    among_var = find_among_b(z, a_9, 31, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_11);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
@@ -770,25 +747,29 @@ static int r_plur_owner(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_11, 42);
+    among_var = find_among_b(z, a_10, 42, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_12);
+            {
+                int ret = slice_from_s(z, 1, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_13);
+            {
+                int ret = slice_from_s(z, 1, s_13);
                 if (ret < 0) return ret;
             }
             break;
@@ -797,73 +778,100 @@ static int r_plur_owner(struct SN_env * z) {
 }
 
 extern int hungarian_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_instrum(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_instrum(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_case(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_case(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_case_special(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_case_special(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_case_other(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_case_other(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_5;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_factive(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_factive(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_owned(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_owned(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_sing_owner(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_sing_owner(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_plur_owner(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_plur_owner(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_plural(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_plural(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * hungarian_UTF_8_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * hungarian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void hungarian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void hungarian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 2c0e5904951c69193ee374c9444cc505fb10a438..0c679bfb1ab5a978c5634b354c573c232751140c 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from indonesian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_indonesian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_prefix;
+    int i_measure;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,59 +21,44 @@ extern int indonesian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-static int r_VOWEL(struct SN_env * z);
-static int r_SUFFIX_I_OK(struct SN_env * z);
-static int r_SUFFIX_AN_OK(struct SN_env * z);
-static int r_SUFFIX_KAN_OK(struct SN_env * z);
-static int r_KER(struct SN_env * z);
+
 static int r_remove_suffix(struct SN_env * z);
 static int r_remove_second_order_prefix(struct SN_env * z);
 static int r_remove_first_order_prefix(struct SN_env * z);
 static int r_remove_possessive_pronoun(struct SN_env * z);
 static int r_remove_particle(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * indonesian_UTF_8_create_env(void);
-extern void indonesian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 'p' };
+static const symbol s_3[] = { 'p' };
+static const symbol s_4[] = { 'a', 'j', 'a', 'r' };
+static const symbol s_5[] = { 'a', 'j', 'a', 'r' };
+static const symbol s_6[] = { 'e', 'r' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[3] = { 'k', 'a', 'h' };
 static const symbol s_0_1[3] = { 'l', 'a', 'h' };
 static const symbol s_0_2[3] = { 'p', 'u', 'n' };
-
-static const struct among a_0[3] =
-{
-{ 3, s_0_0, -1, 1, 0},
-{ 3, s_0_1, -1, 1, 0},
-{ 3, s_0_2, -1, 1, 0}
+static const struct among a_0[3] = {
+{ 3, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 1, 0},
+{ 3, s_0_2, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 'n', 'y', 'a' };
 static const symbol s_1_1[2] = { 'k', 'u' };
 static const symbol s_1_2[2] = { 'm', 'u' };
-
-static const struct among a_1[3] =
-{
-{ 3, s_1_0, -1, 1, 0},
-{ 2, s_1_1, -1, 1, 0},
-{ 2, s_1_2, -1, 1, 0}
+static const struct among a_1[3] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 2, s_1_1, 0, 1, 0},
+{ 2, s_1_2, 0, 1, 0}
 };
 
 static const symbol s_2_0[1] = { 'i' };
 static const symbol s_2_1[2] = { 'a', 'n' };
-static const symbol s_2_2[3] = { 'k', 'a', 'n' };
-
-static const struct among a_2[3] =
-{
-{ 1, s_2_0, -1, 1, r_SUFFIX_I_OK},
-{ 2, s_2_1, -1, 1, r_SUFFIX_AN_OK},
-{ 3, s_2_2, 1, 1, r_SUFFIX_KAN_OK}
+static const struct among a_2[2] = {
+{ 1, s_2_0, 0, 2, 0},
+{ 2, s_2_1, 0, 1, 0}
 };
 
 static const symbol s_3_0[2] = { 'd', 'i' };
@@ -70,123 +67,97 @@ static const symbol s_3_2[2] = { 'm', 'e' };
 static const symbol s_3_3[3] = { 'm', 'e', 'm' };
 static const symbol s_3_4[3] = { 'm', 'e', 'n' };
 static const symbol s_3_5[4] = { 'm', 'e', 'n', 'g' };
-static const symbol s_3_6[4] = { 'm', 'e', 'n', 'y' };
-static const symbol s_3_7[3] = { 'p', 'e', 'm' };
-static const symbol s_3_8[3] = { 'p', 'e', 'n' };
-static const symbol s_3_9[4] = { 'p', 'e', 'n', 'g' };
-static const symbol s_3_10[4] = { 'p', 'e', 'n', 'y' };
-static const symbol s_3_11[3] = { 't', 'e', 'r' };
-
-static const struct among a_3[12] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 2, s_3_1, -1, 2, 0},
-{ 2, s_3_2, -1, 1, 0},
-{ 3, s_3_3, 2, 5, 0},
-{ 3, s_3_4, 2, 1, 0},
-{ 4, s_3_5, 4, 1, 0},
-{ 4, s_3_6, 4, 3, r_VOWEL},
-{ 3, s_3_7, -1, 6, 0},
-{ 3, s_3_8, -1, 2, 0},
-{ 4, s_3_9, 8, 2, 0},
-{ 4, s_3_10, 8, 4, r_VOWEL},
-{ 3, s_3_11, -1, 1, 0}
+static const symbol s_3_6[3] = { 'p', 'e', 'm' };
+static const symbol s_3_7[3] = { 'p', 'e', 'n' };
+static const symbol s_3_8[4] = { 'p', 'e', 'n', 'g' };
+static const symbol s_3_9[3] = { 't', 'e', 'r' };
+static const struct among a_3[10] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 2, s_3_1, 0, 3, 0},
+{ 2, s_3_2, 0, 1, 0},
+{ 3, s_3_3, -1, 5, 0},
+{ 3, s_3_4, -2, 2, 0},
+{ 4, s_3_5, -1, 1, 0},
+{ 3, s_3_6, 0, 6, 0},
+{ 3, s_3_7, 0, 4, 0},
+{ 4, s_3_8, -1, 3, 0},
+{ 3, s_3_9, 0, 1, 0}
 };
 
 static const symbol s_4_0[2] = { 'b', 'e' };
-static const symbol s_4_1[7] = { 'b', 'e', 'l', 'a', 'j', 'a', 'r' };
-static const symbol s_4_2[3] = { 'b', 'e', 'r' };
-static const symbol s_4_3[2] = { 'p', 'e' };
-static const symbol s_4_4[7] = { 'p', 'e', 'l', 'a', 'j', 'a', 'r' };
-static const symbol s_4_5[3] = { 'p', 'e', 'r' };
-
-static const struct among a_4[6] =
-{
-{ 2, s_4_0, -1, 3, r_KER},
-{ 7, s_4_1, 0, 4, 0},
-{ 3, s_4_2, 0, 3, 0},
-{ 2, s_4_3, -1, 1, 0},
-{ 7, s_4_4, 3, 2, 0},
-{ 3, s_4_5, 3, 1, 0}
+static const symbol s_4_1[2] = { 'p', 'e' };
+static const struct among a_4[2] = {
+{ 2, s_4_0, 0, 2, 0},
+{ 2, s_4_1, 0, 1, 0}
 };
 
 static const unsigned char g_vowel[] = { 17, 65, 16 };
 
-static const symbol s_0[] = { 'e', 'r' };
-static const symbol s_1[] = { 's' };
-static const symbol s_2[] = { 's' };
-static const symbol s_3[] = { 'p' };
-static const symbol s_4[] = { 'p' };
-static const symbol s_5[] = { 'a', 'j', 'a', 'r' };
-static const symbol s_6[] = { 'a', 'j', 'a', 'r' };
-
 static int r_remove_particle(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 104 && z->p[z->c - 1] != 110)) return 0;
-    if (!find_among_b(z, a_0, 3)) return 0;
+    if (!find_among_b(z, a_0, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
 static int r_remove_possessive_pronoun(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) return 0;
-    if (!find_among_b(z, a_1, 3)) return 0;
+    if (!find_among_b(z, a_1, 3, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
-    return 1;
-}
-
-static int r_SUFFIX_KAN_OK(struct SN_env * z) {
-
-    if (z->I[0] == 3) return 0;
-    if (z->I[0] == 2) return 0;
-    return 1;
-}
-
-static int r_SUFFIX_AN_OK(struct SN_env * z) {
-    return z->I[0] != 1;
-}
-
-static int r_SUFFIX_I_OK(struct SN_env * z) {
-    if (z->I[0] > 2) return 0;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
-        z->c--;
-        return 0;
-    lab0:
-        z->c = z->l - m1;
-    }
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
 static int r_remove_suffix(struct SN_env * z) {
+    int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 110)) return 0;
-    if (!find_among_b(z, a_2, 3)) return 0;
+    among_var = find_among_b(z, a_2, 2, 0);
+    if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    switch (among_var) {
+        case 1:
+            do {
+                int v_1 = z->l - z->c;
+                if (((SN_local *)z)->i_prefix == 3) goto lab0;
+                if (((SN_local *)z)->i_prefix == 2) goto lab0;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'k') goto lab0;
+                z->c--;
+                z->bra = z->c;
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (((SN_local *)z)->i_prefix == 1) return 0;
+            } while (0);
+            break;
+        case 2:
+            if (((SN_local *)z)->i_prefix > 2) return 0;
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+                z->c--;
+                return 0;
+            lab1:
+                z->c = z->l - v_2;
+            }
+            break;
+    }
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    z->I[1] -= 1;
-    return 1;
-}
-
-static int r_VOWEL(struct SN_env * z) {
-    if (in_grouping_U(z, g_vowel, 97, 117, 0)) return 0;
-    return 1;
-}
-
-static int r_KER(struct SN_env * z) {
-    if (out_grouping_U(z, g_vowel, 97, 117, 0)) return 0;
-    if (!(eq_s(z, 2, s_0))) return 0;
+    ((SN_local *)z)->i_measure -= 1;
     return 1;
 }
 
@@ -194,77 +165,127 @@ static int r_remove_first_order_prefix(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 1 >= z->l || (z->p[z->c + 1] != 105 && z->p[z->c + 1] != 101)) return 0;
-    among_var = find_among(z, a_3, 12);
+    among_var = find_among(z, a_3, 10, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            z->I[0] = 1;
-            z->I[1] -= 1;
+            ((SN_local *)z)->i_prefix = 1;
+            ((SN_local *)z)->i_measure -= 1;
             break;
         case 2:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 3;
-            z->I[1] -= 1;
+            do {
+                int v_1 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
+                z->c++;
+                {
+                    int v_2 = z->c;
+                    if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab0;
+                    z->c = v_2;
+                }
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_0);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 1;
+                ((SN_local *)z)->i_measure -= 1;
+                break;
+            lab0:
+                z->c = v_1;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 1;
+                ((SN_local *)z)->i_measure -= 1;
+            } while (0);
             break;
         case 3:
-            z->I[0] = 1;
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            z->I[1] -= 1;
+            ((SN_local *)z)->i_prefix = 3;
+            ((SN_local *)z)->i_measure -= 1;
             break;
         case 4:
-            z->I[0] = 3;
-            {   int ret = slice_from_s(z, 1, s_2);
-                if (ret < 0) return ret;
-            }
-            z->I[1] -= 1;
+            do {
+                int v_3 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
+                z->c++;
+                {
+                    int v_4 = z->c;
+                    if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab1;
+                    z->c = v_4;
+                }
+                z->ket = z->c;
+                {
+                    int ret = slice_from_s(z, 1, s_1);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 3;
+                ((SN_local *)z)->i_measure -= 1;
+                break;
+            lab1:
+                z->c = v_3;
+                {
+                    int ret = slice_del(z);
+                    if (ret < 0) return ret;
+                }
+                ((SN_local *)z)->i_prefix = 3;
+                ((SN_local *)z)->i_measure -= 1;
+            } while (0);
             break;
         case 5:
-            z->I[0] = 1;
-            z->I[1] -= 1;
-            {   int c1 = z->c;
-                {   int c2 = z->c;
-                    if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab1;
-                    z->c = c2;
-                    {   int ret = slice_from_s(z, 1, s_3);
+            ((SN_local *)z)->i_prefix = 1;
+            ((SN_local *)z)->i_measure -= 1;
+            do {
+                int v_5 = z->c;
+                {
+                    int v_6 = z->c;
+                    if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab2;
+                    z->c = v_6;
+                    {
+                        int ret = slice_from_s(z, 1, s_2);
                         if (ret < 0) return ret;
                     }
                 }
-                goto lab0;
-            lab1:
-                z->c = c1;
-                {   int ret = slice_del(z);
+                break;
+            lab2:
+                z->c = v_5;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-            }
-        lab0:
+            } while (0);
             break;
         case 6:
-            z->I[0] = 3;
-            z->I[1] -= 1;
-            {   int c3 = z->c;
-                {   int c4 = z->c;
+            ((SN_local *)z)->i_prefix = 3;
+            ((SN_local *)z)->i_measure -= 1;
+            do {
+                int v_7 = z->c;
+                {
+                    int v_8 = z->c;
                     if (in_grouping_U(z, g_vowel, 97, 117, 0)) goto lab3;
-                    z->c = c4;
-                    {   int ret = slice_from_s(z, 1, s_4);
+                    z->c = v_8;
+                    {
+                        int ret = slice_from_s(z, 1, s_3);
                         if (ret < 0) return ret;
                     }
                 }
-                goto lab2;
+                break;
             lab3:
-                z->c = c3;
-                {   int ret = slice_del(z);
+                z->c = v_7;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-            }
-        lab2:
+            } while (0);
             break;
     }
     return 1;
@@ -274,134 +295,174 @@ static int r_remove_second_order_prefix(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 1 >= z->l || z->p[z->c + 1] != 101) return 0;
-    among_var = find_among(z, a_4, 6);
+    among_var = find_among(z, a_4, 2, 0);
     if (!among_var) return 0;
-    z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 2;
-            z->I[1] -= 1;
+            do {
+                int v_1 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'r') goto lab0;
+                z->c++;
+                z->ket = z->c;
+                ((SN_local *)z)->i_prefix = 2;
+                break;
+            lab0:
+                z->c = v_1;
+                if (z->c == z->l || z->p[z->c] != 'l') goto lab1;
+                z->c++;
+                z->ket = z->c;
+                if (!(eq_s(z, 4, s_4))) goto lab1;
+                break;
+            lab1:
+                z->c = v_1;
+                z->ket = z->c;
+                ((SN_local *)z)->i_prefix = 2;
+            } while (0);
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_5);
-                if (ret < 0) return ret;
-            }
-            z->I[1] -= 1;
-            break;
-        case 3:
-            {   int ret = slice_del(z);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 4;
-            z->I[1] -= 1;
-            break;
-        case 4:
-            {   int ret = slice_from_s(z, 4, s_6);
-                if (ret < 0) return ret;
-            }
-            z->I[0] = 4;
-            z->I[1] -= 1;
+            do {
+                int v_2 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'r') goto lab2;
+                z->c++;
+                z->ket = z->c;
+                break;
+            lab2:
+                z->c = v_2;
+                if (z->c == z->l || z->p[z->c] != 'l') goto lab3;
+                z->c++;
+                z->ket = z->c;
+                if (!(eq_s(z, 4, s_5))) goto lab3;
+                break;
+            lab3:
+                z->c = v_2;
+                z->ket = z->c;
+                if (out_grouping_U(z, g_vowel, 97, 117, 0)) return 0;
+                if (!(eq_s(z, 2, s_6))) return 0;
+            } while (0);
+            ((SN_local *)z)->i_prefix = 4;
             break;
     }
+    ((SN_local *)z)->i_measure -= 1;
+    {
+        int ret = slice_del(z);
+        if (ret < 0) return ret;
+    }
     return 1;
 }
 
 extern int indonesian_UTF_8_stem(struct SN_env * z) {
-    z->I[1] = 0;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-
+    ((SN_local *)z)->i_measure = 0;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             {
                 int ret = out_grouping_U(z, g_vowel, 97, 117, 1);
                 if (ret < 0) goto lab1;
                 z->c += ret;
             }
-            z->I[1] += 1;
+            ((SN_local *)z)->i_measure += 1;
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    if (z->I[1] <= 2) return 0;
-    z->I[0] = 0;
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    ((SN_local *)z)->i_prefix = 0;
     z->lb = z->c; z->c = z->l;
-
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_remove_particle(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_remove_particle(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    if (z->I[1] <= 2) return 0;
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_remove_possessive_pronoun(z);
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_remove_possessive_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    if (z->I[1] <= 2) return 0;
-    {   int c5 = z->c;
-        {   int c_test6 = z->c;
-            {   int ret = r_remove_first_order_prefix(z);
-                if (ret == 0) goto lab3;
+    if (((SN_local *)z)->i_measure <= 2) return 0;
+    do {
+        int v_5 = z->c;
+        {
+            int v_6 = z->c;
+            {
+                int ret = r_remove_first_order_prefix(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            {   int c7 = z->c;
-                {   int c_test8 = z->c;
-                    if (z->I[1] <= 2) goto lab4;
+            {
+                int v_7 = z->c;
+                {
+                    int v_8 = z->c;
+                    if (((SN_local *)z)->i_measure <= 2) goto lab3;
                     z->lb = z->c; z->c = z->l;
-
-                    {   int ret = r_remove_suffix(z);
-                        if (ret == 0) goto lab4;
+                    {
+                        int ret = r_remove_suffix(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
                     z->c = z->lb;
-                    z->c = c_test8;
+                    z->c = v_8;
                 }
-                if (z->I[1] <= 2) goto lab4;
-                {   int ret = r_remove_second_order_prefix(z);
-                    if (ret == 0) goto lab4;
+                if (((SN_local *)z)->i_measure <= 2) goto lab3;
+                {
+                    int ret = r_remove_second_order_prefix(z);
+                    if (ret == 0) goto lab3;
                     if (ret < 0) return ret;
                 }
-            lab4:
-                z->c = c7;
+            lab3:
+                z->c = v_7;
             }
-            z->c = c_test6;
+            z->c = v_6;
         }
-        goto lab2;
-    lab3:
-        z->c = c5;
-        {   int c9 = z->c;
-            {   int ret = r_remove_second_order_prefix(z);
+        break;
+    lab2:
+        z->c = v_5;
+        {
+            int v_9 = z->c;
+            {
+                int ret = r_remove_second_order_prefix(z);
                 if (ret < 0) return ret;
             }
-            z->c = c9;
+            z->c = v_9;
         }
-        {   int c10 = z->c;
-            if (z->I[1] <= 2) goto lab5;
+        {
+            int v_10 = z->c;
+            if (((SN_local *)z)->i_measure <= 2) goto lab4;
             z->lb = z->c; z->c = z->l;
-
-            {   int ret = r_remove_suffix(z);
-                if (ret == 0) goto lab5;
+            {
+                int ret = r_remove_suffix(z);
+                if (ret == 0) goto lab4;
                 if (ret < 0) return ret;
             }
             z->c = z->lb;
-        lab5:
-            z->c = c10;
+        lab4:
+            z->c = v_10;
         }
-    }
-lab2:
+    } while (0);
     return 1;
 }
 
-extern struct SN_env * indonesian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * indonesian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_prefix = 0;
+        ((SN_local *)z)->i_measure = 0;
+    }
+    return z;
+}
 
-extern void indonesian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void indonesian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index c79b9ee57e64aacb185663cec2428a7bd0aebed3..f7f8e6ceade457c1c2131d9a25ae6973a4146409 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from irish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_irish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int irish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_verb_sfx(struct SN_env * z);
 static int r_deriv(struct SN_env * z);
 static int r_noun_sfx(struct SN_env * z);
@@ -17,18 +31,22 @@ static int r_initial_morph(struct SN_env * z);
 static int r_RV(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * irish_UTF_8_create_env(void);
-extern void irish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'f' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 'b' };
+static const symbol s_3[] = { 'c' };
+static const symbol s_4[] = { 'd' };
+static const symbol s_5[] = { 'g' };
+static const symbol s_6[] = { 'p' };
+static const symbol s_7[] = { 't' };
+static const symbol s_8[] = { 'm' };
+static const symbol s_9[] = { 'a', 'r', 'c' };
+static const symbol s_10[] = { 'g', 'i', 'n' };
+static const symbol s_11[] = { 'g', 'r', 'a', 'f' };
+static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' };
+static const symbol s_13[] = { 0xC3, 0xB3, 'i', 'd' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 'b', '\'' };
 static const symbol s_0_1[2] = { 'b', 'h' };
 static const symbol s_0_2[3] = { 'b', 'h', 'f' };
@@ -53,33 +71,31 @@ static const symbol s_0_20[2] = { 's', 'h' };
 static const symbol s_0_21[2] = { 't', '-' };
 static const symbol s_0_22[2] = { 't', 'h' };
 static const symbol s_0_23[2] = { 't', 's' };
-
-static const struct among a_0[24] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 4, 0},
-{ 3, s_0_2, 1, 2, 0},
-{ 2, s_0_3, -1, 8, 0},
-{ 2, s_0_4, -1, 5, 0},
-{ 2, s_0_5, -1, 1, 0},
-{ 4, s_0_6, 5, 2, 0},
-{ 2, s_0_7, -1, 6, 0},
-{ 2, s_0_8, -1, 9, 0},
-{ 2, s_0_9, -1, 2, 0},
-{ 2, s_0_10, -1, 5, 0},
-{ 2, s_0_11, -1, 7, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 2, s_0_13, -1, 1, 0},
-{ 2, s_0_14, -1, 4, 0},
-{ 2, s_0_15, -1, 10, 0},
-{ 2, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 6, 0},
-{ 2, s_0_18, -1, 7, 0},
-{ 2, s_0_19, -1, 8, 0},
-{ 2, s_0_20, -1, 3, 0},
-{ 2, s_0_21, -1, 1, 0},
-{ 2, s_0_22, -1, 9, 0},
-{ 2, s_0_23, -1, 3, 0}
+static const struct among a_0[24] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 4, 0},
+{ 3, s_0_2, -1, 2, 0},
+{ 2, s_0_3, 0, 8, 0},
+{ 2, s_0_4, 0, 5, 0},
+{ 2, s_0_5, 0, 1, 0},
+{ 4, s_0_6, -1, 2, 0},
+{ 2, s_0_7, 0, 6, 0},
+{ 2, s_0_8, 0, 9, 0},
+{ 2, s_0_9, 0, 2, 0},
+{ 2, s_0_10, 0, 5, 0},
+{ 2, s_0_11, 0, 7, 0},
+{ 2, s_0_12, 0, 1, 0},
+{ 2, s_0_13, 0, 1, 0},
+{ 2, s_0_14, 0, 4, 0},
+{ 2, s_0_15, 0, 10, 0},
+{ 2, s_0_16, 0, 1, 0},
+{ 2, s_0_17, 0, 6, 0},
+{ 2, s_0_18, 0, 7, 0},
+{ 2, s_0_19, 0, 8, 0},
+{ 2, s_0_20, 0, 3, 0},
+{ 2, s_0_21, 0, 1, 0},
+{ 2, s_0_22, 0, 9, 0},
+{ 2, s_0_23, 0, 3, 0}
 };
 
 static const symbol s_1_0[7] = { 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a' };
@@ -98,25 +114,23 @@ static const symbol s_1_12[6] = { 0xC3, 0xAD, 'o', 'c', 'h', 't' };
 static const symbol s_1_13[7] = { 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't' };
 static const symbol s_1_14[4] = { 'i', 'r', 0xC3, 0xAD };
 static const symbol s_1_15[5] = { 'a', 'i', 'r', 0xC3, 0xAD };
-
-static const struct among a_1[16] =
-{
-{ 7, s_1_0, -1, 1, 0},
-{ 8, s_1_1, 0, 1, 0},
-{ 3, s_1_2, -1, 2, 0},
-{ 4, s_1_3, 2, 2, 0},
-{ 3, s_1_4, -1, 1, 0},
-{ 4, s_1_5, 4, 1, 0},
-{ 3, s_1_6, -1, 1, 0},
-{ 4, s_1_7, 6, 1, 0},
-{ 3, s_1_8, -1, 1, 0},
-{ 4, s_1_9, 8, 1, 0},
-{ 3, s_1_10, -1, 1, 0},
-{ 4, s_1_11, 10, 1, 0},
-{ 6, s_1_12, -1, 1, 0},
-{ 7, s_1_13, 12, 1, 0},
-{ 4, s_1_14, -1, 2, 0},
-{ 5, s_1_15, 14, 2, 0}
+static const struct among a_1[16] = {
+{ 7, s_1_0, 0, 1, 0},
+{ 8, s_1_1, -1, 1, 0},
+{ 3, s_1_2, 0, 2, 0},
+{ 4, s_1_3, -1, 2, 0},
+{ 3, s_1_4, 0, 1, 0},
+{ 4, s_1_5, -1, 1, 0},
+{ 3, s_1_6, 0, 1, 0},
+{ 4, s_1_7, -1, 1, 0},
+{ 3, s_1_8, 0, 1, 0},
+{ 4, s_1_9, -1, 1, 0},
+{ 3, s_1_10, 0, 1, 0},
+{ 4, s_1_11, -1, 1, 0},
+{ 6, s_1_12, 0, 1, 0},
+{ 7, s_1_13, -1, 1, 0},
+{ 4, s_1_14, 0, 2, 0},
+{ 5, s_1_15, -1, 2, 0}
 };
 
 static const symbol s_2_0[9] = { 0xC3, 0xB3, 'i', 'd', 'e', 'a', 'c', 'h', 'a' };
@@ -144,34 +158,32 @@ static const symbol s_2_21[5] = { 'e', 'a', 'c', 'h', 't' };
 static const symbol s_2_22[11] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't' };
 static const symbol s_2_23[10] = { 'a', 'r', 'c', 'a', 'c', 'h', 't', 'a', 0xC3, 0xAD };
 static const symbol s_2_24[14] = { 'g', 'r', 'a', 'f', 'a', 0xC3, 0xAD, 'o', 'c', 'h', 't', 'a', 0xC3, 0xAD };
-
-static const struct among a_2[25] =
-{
-{ 9, s_2_0, -1, 6, 0},
-{ 7, s_2_1, -1, 5, 0},
-{ 5, s_2_2, -1, 1, 0},
-{ 8, s_2_3, 2, 2, 0},
-{ 6, s_2_4, 2, 1, 0},
-{ 12, s_2_5, -1, 4, 0},
-{ 5, s_2_6, -1, 5, 0},
-{ 3, s_2_7, -1, 1, 0},
-{ 4, s_2_8, 7, 1, 0},
-{ 8, s_2_9, 8, 6, 0},
-{ 7, s_2_10, 8, 3, 0},
-{ 6, s_2_11, 7, 5, 0},
-{ 10, s_2_12, -1, 4, 0},
-{ 7, s_2_13, -1, 5, 0},
-{ 7, s_2_14, -1, 6, 0},
-{ 8, s_2_15, -1, 1, 0},
-{ 9, s_2_16, 15, 1, 0},
-{ 6, s_2_17, -1, 3, 0},
-{ 5, s_2_18, -1, 3, 0},
-{ 4, s_2_19, -1, 1, 0},
-{ 7, s_2_20, 19, 2, 0},
-{ 5, s_2_21, 19, 1, 0},
-{ 11, s_2_22, -1, 4, 0},
-{ 10, s_2_23, -1, 2, 0},
-{ 14, s_2_24, -1, 4, 0}
+static const struct among a_2[25] = {
+{ 9, s_2_0, 0, 6, 0},
+{ 7, s_2_1, 0, 5, 0},
+{ 5, s_2_2, 0, 1, 0},
+{ 8, s_2_3, -1, 2, 0},
+{ 6, s_2_4, -2, 1, 0},
+{ 12, s_2_5, 0, 4, 0},
+{ 5, s_2_6, 0, 5, 0},
+{ 3, s_2_7, 0, 1, 0},
+{ 4, s_2_8, -1, 1, 0},
+{ 8, s_2_9, -1, 6, 0},
+{ 7, s_2_10, -2, 3, 0},
+{ 6, s_2_11, -4, 5, 0},
+{ 10, s_2_12, 0, 4, 0},
+{ 7, s_2_13, 0, 5, 0},
+{ 7, s_2_14, 0, 6, 0},
+{ 8, s_2_15, 0, 1, 0},
+{ 9, s_2_16, -1, 1, 0},
+{ 6, s_2_17, 0, 3, 0},
+{ 5, s_2_18, 0, 3, 0},
+{ 4, s_2_19, 0, 1, 0},
+{ 7, s_2_20, -1, 2, 0},
+{ 5, s_2_21, -2, 1, 0},
+{ 11, s_2_22, 0, 4, 0},
+{ 10, s_2_23, 0, 2, 0},
+{ 14, s_2_24, 0, 4, 0}
 };
 
 static const symbol s_3_0[4] = { 'i', 'm', 'i', 'd' };
@@ -186,74 +198,54 @@ static const symbol s_3_8[4] = { 0xC3, 0xA1, 'i', 'l' };
 static const symbol s_3_9[3] = { 'a', 'i', 'n' };
 static const symbol s_3_10[4] = { 't', 'e', 'a', 'r' };
 static const symbol s_3_11[3] = { 't', 'a', 'r' };
-
-static const struct among a_3[12] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 5, s_3_1, 0, 1, 0},
-{ 5, s_3_2, -1, 1, 0},
-{ 6, s_3_3, 2, 1, 0},
-{ 3, s_3_4, -1, 2, 0},
-{ 4, s_3_5, 4, 2, 0},
-{ 5, s_3_6, -1, 1, 0},
-{ 4, s_3_7, -1, 1, 0},
-{ 4, s_3_8, -1, 2, 0},
-{ 3, s_3_9, -1, 2, 0},
-{ 4, s_3_10, -1, 2, 0},
-{ 3, s_3_11, -1, 2, 0}
+static const struct among a_3[12] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 5, s_3_1, -1, 1, 0},
+{ 5, s_3_2, 0, 1, 0},
+{ 6, s_3_3, -1, 1, 0},
+{ 3, s_3_4, 0, 2, 0},
+{ 4, s_3_5, -1, 2, 0},
+{ 5, s_3_6, 0, 1, 0},
+{ 4, s_3_7, 0, 1, 0},
+{ 4, s_3_8, 0, 2, 0},
+{ 3, s_3_9, 0, 2, 0},
+{ 4, s_3_10, 0, 2, 0},
+{ 3, s_3_11, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 2 };
 
-static const symbol s_0[] = { 'f' };
-static const symbol s_1[] = { 's' };
-static const symbol s_2[] = { 'b' };
-static const symbol s_3[] = { 'c' };
-static const symbol s_4[] = { 'd' };
-static const symbol s_5[] = { 'g' };
-static const symbol s_6[] = { 'p' };
-static const symbol s_7[] = { 't' };
-static const symbol s_8[] = { 'm' };
-static const symbol s_9[] = { 'a', 'r', 'c' };
-static const symbol s_10[] = { 'g', 'i', 'n' };
-static const symbol s_11[] = { 'g', 'r', 'a', 'f' };
-static const symbol s_12[] = { 'p', 'a', 'i', 't', 'e' };
-static const symbol s_13[] = { 0xC3, 0xB3, 'i', 'd' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[2] = z->c;
-
+        ((SN_local *)z)->i_pV = z->c;
         {
             int ret = in_grouping_U(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 250, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
@@ -261,57 +253,67 @@ static int r_mark_regions(struct SN_env * z) {
 static int r_initial_morph(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
-    among_var = find_among(z, a_0, 24);
+    among_var = find_among(z, a_0, 24, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_0);
+            {
+                int ret = slice_from_s(z, 1, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 1, s_2);
+            {
+                int ret = slice_from_s(z, 1, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 1, s_3);
+            {
+                int ret = slice_from_s(z, 1, s_3);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 1, s_4);
+            {
+                int ret = slice_from_s(z, 1, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 1, s_6);
+            {
+                int ret = slice_from_s(z, 1, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
@@ -320,37 +322,41 @@ static int r_initial_morph(struct SN_env * z) {
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_noun_sfx(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_1, 16);
+    among_var = find_among_b(z, a_1, 16, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -361,40 +367,47 @@ static int r_noun_sfx(struct SN_env * z) {
 static int r_deriv(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_2, 25);
+    among_var = find_among_b(z, a_2, 25, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_9);
+            {
+                int ret = slice_from_s(z, 3, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_10);
+            {
+                int ret = slice_from_s(z, 3, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_11);
+            {
+                int ret = slice_from_s(z, 4, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 5, s_12);
+            {
+                int ret = slice_from_s(z, 5, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 4, s_13);
+            {
+                int ret = slice_from_s(z, 4, s_13);
                 if (ret < 0) return ret;
             }
             break;
@@ -406,23 +419,27 @@ static int r_verb_sfx(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((282896 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_3, 12);
+    among_var = find_among_b(z, a_3, 12, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -431,41 +448,58 @@ static int r_verb_sfx(struct SN_env * z) {
 }
 
 extern int irish_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_initial_morph(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_initial_morph(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_noun_sfx(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_noun_sfx(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_deriv(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_deriv(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_verb_sfx(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_verb_sfx(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * irish_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * irish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void irish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void irish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index cd4db27c84d3c0d573a84a291195d1f3866b3810..7d0312b45896d119f6b8cac536e78ce0e450295e 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from italian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_italian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int italian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_vowel_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_standard_suffix(struct SN_env * z);
@@ -19,45 +33,49 @@ static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-static int r_exceptions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * italian_UTF_8_create_env(void);
-extern void italian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xC3, 0xA0 };
+static const symbol s_1[] = { 0xC3, 0xA8 };
+static const symbol s_2[] = { 0xC3, 0xAC };
+static const symbol s_3[] = { 0xC3, 0xB2 };
+static const symbol s_4[] = { 0xC3, 0xB9 };
+static const symbol s_5[] = { 'q', 'U' };
+static const symbol s_6[] = { 'U' };
+static const symbol s_7[] = { 'I' };
+static const symbol s_8[] = { 'd', 'i', 'v', 'a', 'n' };
+static const symbol s_9[] = { 'i' };
+static const symbol s_10[] = { 'u' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'i', 'c' };
+static const symbol s_13[] = { 'l', 'o', 'g' };
+static const symbol s_14[] = { 'u' };
+static const symbol s_15[] = { 'e', 'n', 't', 'e' };
+static const symbol s_16[] = { 'a', 't' };
+static const symbol s_17[] = { 'a', 't' };
+static const symbol s_18[] = { 'i', 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 'q', 'u' };
 static const symbol s_0_2[2] = { 0xC3, 0xA1 };
 static const symbol s_0_3[2] = { 0xC3, 0xA9 };
 static const symbol s_0_4[2] = { 0xC3, 0xAD };
 static const symbol s_0_5[2] = { 0xC3, 0xB3 };
 static const symbol s_0_6[2] = { 0xC3, 0xBA };
-
-static const struct among a_0[7] =
-{
-{ 0, 0, -1, 7, 0},
-{ 2, s_0_1, 0, 6, 0},
-{ 2, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, 2, 0},
-{ 2, s_0_4, 0, 3, 0},
-{ 2, s_0_5, 0, 4, 0},
-{ 2, s_0_6, 0, 5, 0}
+static const struct among a_0[7] = {
+{ 0, 0, 0, 7, 0},
+{ 2, s_0_1, -1, 6, 0},
+{ 2, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, 2, 0},
+{ 2, s_0_4, -4, 3, 0},
+{ 2, s_0_5, -5, 4, 0},
+{ 2, s_0_6, -6, 5, 0}
 };
 
 static const symbol s_1_1[1] = { 'I' };
 static const symbol s_1_2[1] = { 'U' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_1_1, 0, 1, 0},
-{ 1, s_1_2, 0, 2, 0}
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_1_1, -1, 1, 0},
+{ 1, s_1_2, -2, 2, 0}
 };
 
 static const symbol s_2_0[2] = { 'l', 'a' };
@@ -97,46 +115,44 @@ static const symbol s_2_33[6] = { 'g', 'l', 'i', 'e', 'l', 'o' };
 static const symbol s_2_34[4] = { 'm', 'e', 'l', 'o' };
 static const symbol s_2_35[4] = { 't', 'e', 'l', 'o' };
 static const symbol s_2_36[4] = { 'v', 'e', 'l', 'o' };
-
-static const struct among a_2[37] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 4, s_2_1, 0, -1, 0},
-{ 6, s_2_2, 0, -1, 0},
-{ 4, s_2_3, 0, -1, 0},
-{ 4, s_2_4, 0, -1, 0},
-{ 4, s_2_5, 0, -1, 0},
-{ 2, s_2_6, -1, -1, 0},
-{ 4, s_2_7, 6, -1, 0},
-{ 6, s_2_8, 6, -1, 0},
-{ 4, s_2_9, 6, -1, 0},
-{ 4, s_2_10, 6, -1, 0},
-{ 4, s_2_11, 6, -1, 0},
-{ 2, s_2_12, -1, -1, 0},
-{ 4, s_2_13, 12, -1, 0},
-{ 6, s_2_14, 12, -1, 0},
-{ 4, s_2_15, 12, -1, 0},
-{ 4, s_2_16, 12, -1, 0},
-{ 4, s_2_17, 12, -1, 0},
-{ 4, s_2_18, 12, -1, 0},
-{ 2, s_2_19, -1, -1, 0},
-{ 2, s_2_20, -1, -1, 0},
-{ 4, s_2_21, 20, -1, 0},
-{ 6, s_2_22, 20, -1, 0},
-{ 4, s_2_23, 20, -1, 0},
-{ 4, s_2_24, 20, -1, 0},
-{ 4, s_2_25, 20, -1, 0},
-{ 3, s_2_26, 20, -1, 0},
-{ 2, s_2_27, -1, -1, 0},
-{ 2, s_2_28, -1, -1, 0},
-{ 2, s_2_29, -1, -1, 0},
-{ 2, s_2_30, -1, -1, 0},
-{ 2, s_2_31, -1, -1, 0},
-{ 4, s_2_32, 31, -1, 0},
-{ 6, s_2_33, 31, -1, 0},
-{ 4, s_2_34, 31, -1, 0},
-{ 4, s_2_35, 31, -1, 0},
-{ 4, s_2_36, 31, -1, 0}
+static const struct among a_2[37] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 4, s_2_1, -1, -1, 0},
+{ 6, s_2_2, -2, -1, 0},
+{ 4, s_2_3, -3, -1, 0},
+{ 4, s_2_4, -4, -1, 0},
+{ 4, s_2_5, -5, -1, 0},
+{ 2, s_2_6, 0, -1, 0},
+{ 4, s_2_7, -1, -1, 0},
+{ 6, s_2_8, -2, -1, 0},
+{ 4, s_2_9, -3, -1, 0},
+{ 4, s_2_10, -4, -1, 0},
+{ 4, s_2_11, -5, -1, 0},
+{ 2, s_2_12, 0, -1, 0},
+{ 4, s_2_13, -1, -1, 0},
+{ 6, s_2_14, -2, -1, 0},
+{ 4, s_2_15, -3, -1, 0},
+{ 4, s_2_16, -4, -1, 0},
+{ 4, s_2_17, -5, -1, 0},
+{ 4, s_2_18, -6, -1, 0},
+{ 2, s_2_19, 0, -1, 0},
+{ 2, s_2_20, 0, -1, 0},
+{ 4, s_2_21, -1, -1, 0},
+{ 6, s_2_22, -2, -1, 0},
+{ 4, s_2_23, -3, -1, 0},
+{ 4, s_2_24, -4, -1, 0},
+{ 4, s_2_25, -5, -1, 0},
+{ 3, s_2_26, -6, -1, 0},
+{ 2, s_2_27, 0, -1, 0},
+{ 2, s_2_28, 0, -1, 0},
+{ 2, s_2_29, 0, -1, 0},
+{ 2, s_2_30, 0, -1, 0},
+{ 2, s_2_31, 0, -1, 0},
+{ 4, s_2_32, -1, -1, 0},
+{ 6, s_2_33, -2, -1, 0},
+{ 4, s_2_34, -3, -1, 0},
+{ 4, s_2_35, -4, -1, 0},
+{ 4, s_2_36, -5, -1, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 'd', 'o' };
@@ -144,38 +160,32 @@ static const symbol s_3_1[4] = { 'e', 'n', 'd', 'o' };
 static const symbol s_3_2[2] = { 'a', 'r' };
 static const symbol s_3_3[2] = { 'e', 'r' };
 static const symbol s_3_4[2] = { 'i', 'r' };
-
-static const struct among a_3[5] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 2, s_3_2, -1, 2, 0},
-{ 2, s_3_3, -1, 2, 0},
-{ 2, s_3_4, -1, 2, 0}
+static const struct among a_3[5] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 2, s_3_2, 0, 2, 0},
+{ 2, s_3_3, 0, 2, 0},
+{ 2, s_3_4, 0, 2, 0}
 };
 
 static const symbol s_4_0[2] = { 'i', 'c' };
 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_4_2[2] = { 'o', 's' };
 static const symbol s_4_3[2] = { 'i', 'v' };
-
-static const struct among a_4[4] =
-{
-{ 2, s_4_0, -1, -1, 0},
-{ 4, s_4_1, -1, -1, 0},
-{ 2, s_4_2, -1, -1, 0},
-{ 2, s_4_3, -1, 1, 0}
+static const struct among a_4[4] = {
+{ 2, s_4_0, 0, -1, 0},
+{ 4, s_4_1, 0, -1, 0},
+{ 2, s_4_2, 0, -1, 0},
+{ 2, s_4_3, 0, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_5_2[2] = { 'i', 'v' };
-
-static const struct among a_5[3] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 2, s_5_2, -1, 1, 0}
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 2, s_5_2, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
@@ -229,60 +239,58 @@ static const symbol s_6_47[4] = { 'i', 't', 0xC3, 0xA0 };
 static const symbol s_6_48[5] = { 'i', 's', 't', 0xC3, 0xA0 };
 static const symbol s_6_49[5] = { 'i', 's', 't', 0xC3, 0xA8 };
 static const symbol s_6_50[5] = { 'i', 's', 't', 0xC3, 0xAC };
-
-static const struct among a_6[51] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 5, s_6_1, -1, 3, 0},
-{ 3, s_6_2, -1, 1, 0},
-{ 4, s_6_3, -1, 1, 0},
-{ 3, s_6_4, -1, 9, 0},
-{ 4, s_6_5, -1, 1, 0},
-{ 4, s_6_6, -1, 5, 0},
-{ 3, s_6_7, -1, 1, 0},
-{ 6, s_6_8, 7, 1, 0},
-{ 4, s_6_9, -1, 1, 0},
-{ 5, s_6_10, -1, 3, 0},
-{ 5, s_6_11, -1, 1, 0},
-{ 5, s_6_12, -1, 1, 0},
-{ 6, s_6_13, -1, 4, 0},
-{ 6, s_6_14, -1, 2, 0},
-{ 6, s_6_15, -1, 4, 0},
-{ 5, s_6_16, -1, 2, 0},
-{ 3, s_6_17, -1, 1, 0},
-{ 4, s_6_18, -1, 1, 0},
-{ 5, s_6_19, -1, 1, 0},
-{ 6, s_6_20, 19, 7, 0},
-{ 4, s_6_21, -1, 1, 0},
-{ 3, s_6_22, -1, 9, 0},
-{ 4, s_6_23, -1, 1, 0},
-{ 4, s_6_24, -1, 5, 0},
-{ 3, s_6_25, -1, 1, 0},
-{ 6, s_6_26, 25, 1, 0},
-{ 4, s_6_27, -1, 1, 0},
-{ 5, s_6_28, -1, 1, 0},
-{ 5, s_6_29, -1, 1, 0},
-{ 4, s_6_30, -1, 1, 0},
-{ 6, s_6_31, -1, 4, 0},
-{ 6, s_6_32, -1, 2, 0},
-{ 6, s_6_33, -1, 4, 0},
-{ 5, s_6_34, -1, 2, 0},
-{ 3, s_6_35, -1, 1, 0},
-{ 4, s_6_36, -1, 1, 0},
-{ 6, s_6_37, -1, 6, 0},
-{ 6, s_6_38, -1, 6, 0},
-{ 4, s_6_39, -1, 1, 0},
-{ 3, s_6_40, -1, 9, 0},
-{ 3, s_6_41, -1, 1, 0},
-{ 4, s_6_42, -1, 1, 0},
-{ 3, s_6_43, -1, 1, 0},
-{ 6, s_6_44, -1, 6, 0},
-{ 6, s_6_45, -1, 6, 0},
-{ 3, s_6_46, -1, 9, 0},
-{ 4, s_6_47, -1, 8, 0},
-{ 5, s_6_48, -1, 1, 0},
-{ 5, s_6_49, -1, 1, 0},
-{ 5, s_6_50, -1, 1, 0}
+static const struct among a_6[51] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 5, s_6_1, 0, 3, 0},
+{ 3, s_6_2, 0, 1, 0},
+{ 4, s_6_3, 0, 1, 0},
+{ 3, s_6_4, 0, 9, 0},
+{ 4, s_6_5, 0, 1, 0},
+{ 4, s_6_6, 0, 5, 0},
+{ 3, s_6_7, 0, 1, 0},
+{ 6, s_6_8, -1, 1, 0},
+{ 4, s_6_9, 0, 1, 0},
+{ 5, s_6_10, 0, 3, 0},
+{ 5, s_6_11, 0, 1, 0},
+{ 5, s_6_12, 0, 1, 0},
+{ 6, s_6_13, 0, 4, 0},
+{ 6, s_6_14, 0, 2, 0},
+{ 6, s_6_15, 0, 4, 0},
+{ 5, s_6_16, 0, 2, 0},
+{ 3, s_6_17, 0, 1, 0},
+{ 4, s_6_18, 0, 1, 0},
+{ 5, s_6_19, 0, 1, 0},
+{ 6, s_6_20, -1, 7, 0},
+{ 4, s_6_21, 0, 1, 0},
+{ 3, s_6_22, 0, 9, 0},
+{ 4, s_6_23, 0, 1, 0},
+{ 4, s_6_24, 0, 5, 0},
+{ 3, s_6_25, 0, 1, 0},
+{ 6, s_6_26, -1, 1, 0},
+{ 4, s_6_27, 0, 1, 0},
+{ 5, s_6_28, 0, 1, 0},
+{ 5, s_6_29, 0, 1, 0},
+{ 4, s_6_30, 0, 1, 0},
+{ 6, s_6_31, 0, 4, 0},
+{ 6, s_6_32, 0, 2, 0},
+{ 6, s_6_33, 0, 4, 0},
+{ 5, s_6_34, 0, 2, 0},
+{ 3, s_6_35, 0, 1, 0},
+{ 4, s_6_36, 0, 1, 0},
+{ 6, s_6_37, 0, 6, 0},
+{ 6, s_6_38, 0, 6, 0},
+{ 4, s_6_39, 0, 1, 0},
+{ 3, s_6_40, 0, 9, 0},
+{ 3, s_6_41, 0, 1, 0},
+{ 4, s_6_42, 0, 1, 0},
+{ 3, s_6_43, 0, 1, 0},
+{ 6, s_6_44, 0, 6, 0},
+{ 6, s_6_45, 0, 6, 0},
+{ 3, s_6_46, 0, 9, 0},
+{ 4, s_6_47, 0, 8, 0},
+{ 5, s_6_48, 0, 1, 0},
+{ 5, s_6_49, 0, 1, 0},
+{ 5, s_6_50, 0, 1, 0}
 };
 
 static const symbol s_7_0[4] = { 'i', 's', 'c', 'a' };
@@ -372,96 +380,94 @@ static const symbol s_7_83[4] = { 'e', 'r', 0xC3, 0xA0 };
 static const symbol s_7_84[4] = { 'i', 'r', 0xC3, 0xA0 };
 static const symbol s_7_85[4] = { 'e', 'r', 0xC3, 0xB2 };
 static const symbol s_7_86[4] = { 'i', 'r', 0xC3, 0xB2 };
-
-static const struct among a_7[87] =
-{
-{ 4, s_7_0, -1, 1, 0},
-{ 4, s_7_1, -1, 1, 0},
-{ 3, s_7_2, -1, 1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 3, s_7_4, -1, 1, 0},
-{ 3, s_7_5, -1, 1, 0},
-{ 3, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 6, s_7_8, -1, 1, 0},
-{ 6, s_7_9, -1, 1, 0},
-{ 4, s_7_10, -1, 1, 0},
-{ 4, s_7_11, -1, 1, 0},
-{ 3, s_7_12, -1, 1, 0},
-{ 3, s_7_13, -1, 1, 0},
-{ 3, s_7_14, -1, 1, 0},
-{ 4, s_7_15, -1, 1, 0},
-{ 3, s_7_16, -1, 1, 0},
-{ 5, s_7_17, 16, 1, 0},
-{ 5, s_7_18, 16, 1, 0},
-{ 5, s_7_19, 16, 1, 0},
-{ 3, s_7_20, -1, 1, 0},
-{ 5, s_7_21, 20, 1, 0},
-{ 5, s_7_22, 20, 1, 0},
-{ 3, s_7_23, -1, 1, 0},
-{ 6, s_7_24, -1, 1, 0},
-{ 6, s_7_25, -1, 1, 0},
-{ 3, s_7_26, -1, 1, 0},
-{ 4, s_7_27, -1, 1, 0},
-{ 4, s_7_28, -1, 1, 0},
-{ 4, s_7_29, -1, 1, 0},
-{ 4, s_7_30, -1, 1, 0},
-{ 4, s_7_31, -1, 1, 0},
-{ 4, s_7_32, -1, 1, 0},
-{ 4, s_7_33, -1, 1, 0},
-{ 3, s_7_34, -1, 1, 0},
-{ 3, s_7_35, -1, 1, 0},
-{ 6, s_7_36, -1, 1, 0},
-{ 6, s_7_37, -1, 1, 0},
-{ 3, s_7_38, -1, 1, 0},
-{ 3, s_7_39, -1, 1, 0},
-{ 3, s_7_40, -1, 1, 0},
-{ 3, s_7_41, -1, 1, 0},
-{ 4, s_7_42, -1, 1, 0},
-{ 4, s_7_43, -1, 1, 0},
-{ 4, s_7_44, -1, 1, 0},
-{ 4, s_7_45, -1, 1, 0},
-{ 4, s_7_46, -1, 1, 0},
-{ 5, s_7_47, -1, 1, 0},
-{ 5, s_7_48, -1, 1, 0},
-{ 5, s_7_49, -1, 1, 0},
-{ 5, s_7_50, -1, 1, 0},
-{ 5, s_7_51, -1, 1, 0},
-{ 6, s_7_52, -1, 1, 0},
-{ 4, s_7_53, -1, 1, 0},
-{ 4, s_7_54, -1, 1, 0},
-{ 6, s_7_55, 54, 1, 0},
-{ 6, s_7_56, 54, 1, 0},
-{ 4, s_7_57, -1, 1, 0},
-{ 3, s_7_58, -1, 1, 0},
-{ 6, s_7_59, 58, 1, 0},
-{ 5, s_7_60, 58, 1, 0},
-{ 5, s_7_61, 58, 1, 0},
-{ 5, s_7_62, 58, 1, 0},
-{ 6, s_7_63, -1, 1, 0},
-{ 6, s_7_64, -1, 1, 0},
-{ 3, s_7_65, -1, 1, 0},
-{ 6, s_7_66, 65, 1, 0},
-{ 5, s_7_67, 65, 1, 0},
-{ 5, s_7_68, 65, 1, 0},
-{ 5, s_7_69, 65, 1, 0},
-{ 8, s_7_70, -1, 1, 0},
-{ 8, s_7_71, -1, 1, 0},
-{ 6, s_7_72, -1, 1, 0},
-{ 6, s_7_73, -1, 1, 0},
-{ 6, s_7_74, -1, 1, 0},
-{ 3, s_7_75, -1, 1, 0},
-{ 3, s_7_76, -1, 1, 0},
-{ 3, s_7_77, -1, 1, 0},
-{ 3, s_7_78, -1, 1, 0},
-{ 3, s_7_79, -1, 1, 0},
-{ 3, s_7_80, -1, 1, 0},
-{ 2, s_7_81, -1, 1, 0},
-{ 2, s_7_82, -1, 1, 0},
-{ 4, s_7_83, -1, 1, 0},
-{ 4, s_7_84, -1, 1, 0},
-{ 4, s_7_85, -1, 1, 0},
-{ 4, s_7_86, -1, 1, 0}
+static const struct among a_7[87] = {
+{ 4, s_7_0, 0, 1, 0},
+{ 4, s_7_1, 0, 1, 0},
+{ 3, s_7_2, 0, 1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 3, s_7_4, 0, 1, 0},
+{ 3, s_7_5, 0, 1, 0},
+{ 3, s_7_6, 0, 1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 6, s_7_8, 0, 1, 0},
+{ 6, s_7_9, 0, 1, 0},
+{ 4, s_7_10, 0, 1, 0},
+{ 4, s_7_11, 0, 1, 0},
+{ 3, s_7_12, 0, 1, 0},
+{ 3, s_7_13, 0, 1, 0},
+{ 3, s_7_14, 0, 1, 0},
+{ 4, s_7_15, 0, 1, 0},
+{ 3, s_7_16, 0, 1, 0},
+{ 5, s_7_17, -1, 1, 0},
+{ 5, s_7_18, -2, 1, 0},
+{ 5, s_7_19, -3, 1, 0},
+{ 3, s_7_20, 0, 1, 0},
+{ 5, s_7_21, -1, 1, 0},
+{ 5, s_7_22, -2, 1, 0},
+{ 3, s_7_23, 0, 1, 0},
+{ 6, s_7_24, 0, 1, 0},
+{ 6, s_7_25, 0, 1, 0},
+{ 3, s_7_26, 0, 1, 0},
+{ 4, s_7_27, 0, 1, 0},
+{ 4, s_7_28, 0, 1, 0},
+{ 4, s_7_29, 0, 1, 0},
+{ 4, s_7_30, 0, 1, 0},
+{ 4, s_7_31, 0, 1, 0},
+{ 4, s_7_32, 0, 1, 0},
+{ 4, s_7_33, 0, 1, 0},
+{ 3, s_7_34, 0, 1, 0},
+{ 3, s_7_35, 0, 1, 0},
+{ 6, s_7_36, 0, 1, 0},
+{ 6, s_7_37, 0, 1, 0},
+{ 3, s_7_38, 0, 1, 0},
+{ 3, s_7_39, 0, 1, 0},
+{ 3, s_7_40, 0, 1, 0},
+{ 3, s_7_41, 0, 1, 0},
+{ 4, s_7_42, 0, 1, 0},
+{ 4, s_7_43, 0, 1, 0},
+{ 4, s_7_44, 0, 1, 0},
+{ 4, s_7_45, 0, 1, 0},
+{ 4, s_7_46, 0, 1, 0},
+{ 5, s_7_47, 0, 1, 0},
+{ 5, s_7_48, 0, 1, 0},
+{ 5, s_7_49, 0, 1, 0},
+{ 5, s_7_50, 0, 1, 0},
+{ 5, s_7_51, 0, 1, 0},
+{ 6, s_7_52, 0, 1, 0},
+{ 4, s_7_53, 0, 1, 0},
+{ 4, s_7_54, 0, 1, 0},
+{ 6, s_7_55, -1, 1, 0},
+{ 6, s_7_56, -2, 1, 0},
+{ 4, s_7_57, 0, 1, 0},
+{ 3, s_7_58, 0, 1, 0},
+{ 6, s_7_59, -1, 1, 0},
+{ 5, s_7_60, -2, 1, 0},
+{ 5, s_7_61, -3, 1, 0},
+{ 5, s_7_62, -4, 1, 0},
+{ 6, s_7_63, 0, 1, 0},
+{ 6, s_7_64, 0, 1, 0},
+{ 3, s_7_65, 0, 1, 0},
+{ 6, s_7_66, -1, 1, 0},
+{ 5, s_7_67, -2, 1, 0},
+{ 5, s_7_68, -3, 1, 0},
+{ 5, s_7_69, -4, 1, 0},
+{ 8, s_7_70, 0, 1, 0},
+{ 8, s_7_71, 0, 1, 0},
+{ 6, s_7_72, 0, 1, 0},
+{ 6, s_7_73, 0, 1, 0},
+{ 6, s_7_74, 0, 1, 0},
+{ 3, s_7_75, 0, 1, 0},
+{ 3, s_7_76, 0, 1, 0},
+{ 3, s_7_77, 0, 1, 0},
+{ 3, s_7_78, 0, 1, 0},
+{ 3, s_7_79, 0, 1, 0},
+{ 3, s_7_80, 0, 1, 0},
+{ 2, s_7_81, 0, 1, 0},
+{ 2, s_7_82, 0, 1, 0},
+{ 4, s_7_83, 0, 1, 0},
+{ 4, s_7_84, 0, 1, 0},
+{ 4, s_7_85, 0, 1, 0},
+{ 4, s_7_86, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
@@ -470,68 +476,55 @@ static const unsigned char g_AEIO[] = { 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 
 static const unsigned char g_CG[] = { 17 };
 
-static const symbol s_0[] = { 0xC3, 0xA0 };
-static const symbol s_1[] = { 0xC3, 0xA8 };
-static const symbol s_2[] = { 0xC3, 0xAC };
-static const symbol s_3[] = { 0xC3, 0xB2 };
-static const symbol s_4[] = { 0xC3, 0xB9 };
-static const symbol s_5[] = { 'q', 'U' };
-static const symbol s_6[] = { 'U' };
-static const symbol s_7[] = { 'I' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 'u' };
-static const symbol s_10[] = { 'e' };
-static const symbol s_11[] = { 'i', 'c' };
-static const symbol s_12[] = { 'l', 'o', 'g' };
-static const symbol s_13[] = { 'u' };
-static const symbol s_14[] = { 'e', 'n', 't', 'e' };
-static const symbol s_15[] = { 'a', 't' };
-static const symbol s_16[] = { 'a', 't' };
-static const symbol s_17[] = { 'i', 'c' };
-static const symbol s_18[] = { 'd', 'i', 'v', 'a', 'n', 'o' };
-static const symbol s_19[] = { 'd', 'i', 'v', 'a', 'n' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    {   int c_test1 = z->c;
-        while(1) {
-            int c2 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             z->bra = z->c;
-            among_var = find_among(z, a_0, 7);
+            among_var = find_among(z, a_0, 7, 0);
             z->ket = z->c;
             switch (among_var) {
                 case 1:
-                    {   int ret = slice_from_s(z, 2, s_0);
+                    {
+                        int ret = slice_from_s(z, 2, s_0);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 2:
-                    {   int ret = slice_from_s(z, 2, s_1);
+                    {
+                        int ret = slice_from_s(z, 2, s_1);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    {   int ret = slice_from_s(z, 2, s_2);
+                    {
+                        int ret = slice_from_s(z, 2, s_2);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 4:
-                    {   int ret = slice_from_s(z, 2, s_3);
+                    {
+                        int ret = slice_from_s(z, 2, s_3);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 5:
-                    {   int ret = slice_from_s(z, 2, s_4);
+                    {
+                        int ret = slice_from_s(z, 2, s_4);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 6:
-                    {   int ret = slice_from_s(z, 2, s_5);
+                    {
+                        int ret = slice_from_s(z, 2, s_5);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 7:
-                    {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                    {
+                        int ret = skip_utf8(z->p, z->c, z->l, 1);
                         if (ret < 0) goto lab0;
                         z->c = ret;
                     }
@@ -539,164 +532,169 @@ static int r_prelude(struct SN_env * z) {
             }
             continue;
         lab0:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c_test1;
+        z->c = v_1;
     }
-    while(1) {
-        int c3 = z->c;
-        while(1) {
-            int c4 = z->c;
+    while (1) {
+        int v_3 = z->c;
+        while (1) {
+            int v_4 = z->c;
             if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
             z->bra = z->c;
-            {   int c5 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'u') goto lab4;
+            do {
+                int v_5 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
                 z->c++;
                 z->ket = z->c;
-                if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
-                {   int ret = slice_from_s(z, 1, s_6);
+                if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab3;
+                {
+                    int ret = slice_from_s(z, 1, s_6);
                     if (ret < 0) return ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c5;
+                break;
+            lab3:
+                z->c = v_5;
                 if (z->c == z->l || z->p[z->c] != 'i') goto lab2;
                 z->c++;
                 z->ket = z->c;
                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
-                {   int ret = slice_from_s(z, 1, s_7);
+                {
+                    int ret = slice_from_s(z, 1, s_7);
                     if (ret < 0) return ret;
                 }
-            }
-        lab3:
-            z->c = c4;
+            } while (0);
+            z->c = v_4;
             break;
         lab2:
-            z->c = c4;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_4;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab1;
                 z->c = ret;
             }
         }
         continue;
     lab1:
-        z->c = c3;
+        z->c = v_3;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab1;
                 {
                     int ret = in_grouping_U(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
+            if (!(eq_s(z, 5, s_8))) goto lab3;
+            break;
         lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            z->c = v_2;
             if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping_U(z, g_v, 97, 249, 0)) goto lab4;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 249, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab4;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab4:
+                z->c = v_4;
                 if (in_grouping_U(z, g_v, 97, 249, 0)) goto lab0;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 249, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab5;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab5:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
+        among_var = find_among(z, a_1, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_8);
+                {
+                    int ret = slice_from_s(z, 1, s_9);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_9);
+                {
+                    int ret = slice_from_s(z, 1, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -704,44 +702,47 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33314 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_2, 37)) return 0;
+    if (!find_among_b(z, a_2, 37, 0)) return 0;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
-    among_var = find_among_b(z, a_3, 5);
+    among_var = find_among_b(z, a_3, 5, 0);
     if (!among_var) return 0;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
@@ -752,34 +753,41 @@ static int r_attached_pronoun(struct SN_env * z) {
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_6, 51);
+    among_var = find_among_b(z, a_6, 51, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_12))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -787,67 +795,82 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_12);
+            {
+                int ret = slice_from_s(z, 3, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_13);
+            {
+                int ret = slice_from_s(z, 1, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_14);
+            {
+                int ret = slice_from_s(z, 4, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
-                among_var = find_among_b(z, a_4, 4);
-                if (!among_var) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4722696 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_2; goto lab1; }
+                among_var = find_among_b(z, a_4, 4, 0);
+                if (!among_var) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m2; goto lab1; }
+                        if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - v_2; goto lab1; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -857,22 +880,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                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 - m3; goto lab2; }
-                if (!find_among_b(z, a_5, 3)) { z->c = z->l - m3; goto lab2; }
+                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 - v_3; goto lab2; }
+                if (!find_among_b(z, a_5, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -880,31 +908,38 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_18))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -916,58 +951,67 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_7, 87)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_7, 87, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_vowel_suffix(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - m1; goto lab0; }
+        if (in_grouping_b_U(z, g_AEIO, 97, 242, 0)) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - m1; goto lab0; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 'i') { z->c = z->l - v_1; goto lab0; }
         z->c--;
         z->bra = z->c;
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab0:
         ;
     }
-    {   int m2 = z->l - z->c; (void)m2;
+    {
+        int v_2 = z->l - z->c;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - m2; goto lab1; }
+        if (z->c <= z->lb || z->p[z->c - 1] != 'h') { z->c = z->l - v_2; goto lab1; }
         z->c--;
         z->bra = z->c;
-        if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - m2; goto lab1; }
-        {   int ret = r_RV(z);
-            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+        if (in_grouping_b_U(z, g_CG, 99, 103, 0)) { z->c = z->l - v_2; goto lab1; }
+        {
+            int ret = r_RV(z);
+            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
             if (ret < 0) return ret;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
     lab1:
@@ -976,81 +1020,80 @@ static int r_vowel_suffix(struct SN_env * z) {
     return 1;
 }
 
-static int r_exceptions(struct SN_env * z) {
-    z->bra = z->c;
-    if (!(eq_s(z, 6, s_18))) return 0;
-    if (z->c < z->l) return 0;
-    z->ket = z->c;
-    {   int ret = slice_from_s(z, 5, s_19);
-        if (ret < 0) return ret;
-    }
-    return 1;
-}
-
 extern int italian_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_exceptions(z);
-            if (ret == 0) goto lab1;
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab1:
-        z->c = c1;
-        {   int c2 = z->c;
-            {   int ret = r_prelude(z);
-                if (ret < 0) return ret;
-            }
-            z->c = c2;
-        }
-
-        {   int ret = r_mark_regions(z);
+        z->c = v_1;
+    }
+    {
+        int ret = r_mark_regions(z);
+        if (ret < 0) return ret;
+    }
+    z->lb = z->c; z->c = z->l;
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->lb = z->c; z->c = z->l;
-
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_attached_pronoun(z);
+        z->c = z->l - v_2;
+    }
+    {
+        int v_3 = z->l - z->c;
+        do {
+            int v_4 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m3;
-        }
-        {   int m4 = z->l - z->c; (void)m4;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int ret = r_standard_suffix(z);
-                    if (ret == 0) goto lab4;
-                    if (ret < 0) return ret;
-                }
-                goto lab3;
-            lab4:
-                z->c = z->l - m5;
-                {   int ret = r_verb_suffix(z);
-                    if (ret == 0) goto lab2;
-                    if (ret < 0) return ret;
-                }
-            }
-        lab3:
-        lab2:
-            z->c = z->l - m4;
-        }
-        {   int m6 = z->l - z->c; (void)m6;
-            {   int ret = r_vowel_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_4;
+            {
+                int ret = r_verb_suffix(z);
+                if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m6;
+        } while (0);
+    lab0:
+        z->c = z->l - v_3;
+    }
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_vowel_suffix(z);
+            if (ret < 0) return ret;
         }
-        z->c = z->lb;
-        {   int c7 = z->c;
-            {   int ret = r_postlude(z);
-                if (ret < 0) return ret;
-            }
-            z->c = c7;
+        z->c = z->l - v_5;
+    }
+    z->c = z->lb;
+    {
+        int v_6 = z->c;
+        {
+            int ret = r_postlude(z);
+            if (ret < 0) return ret;
         }
+        z->c = v_6;
     }
-lab0:
     return 1;
 }
 
-extern struct SN_env * italian_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * italian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void italian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void italian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 5dd8b038fd48d5ad5fdaba7f37021c964f315bcf..a129c26c0514c2373097f85cf5133e84489530ad 100644 (file)
@@ -1,12 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from lithuanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_lithuanian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
-static int r_fix_conflicts(struct SN_env * z);
-static int r_fix_gd(struct SN_env * z);
-static int r_fix_chdz(struct SN_env * z);
-static int r_step1(struct SN_env * z);
-static int r_step2(struct SN_env * z);
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -14,429 +20,413 @@ extern int lithuanian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 
-extern struct SN_env * lithuanian_UTF_8_create_env(void);
-extern void lithuanian_UTF_8_close_env(struct SN_env * z);
+static int r_fix_conflicts(struct SN_env * z);
+static int r_fix_gd(struct SN_env * z);
+static int r_fix_chdz(struct SN_env * z);
+static int r_step1(struct SN_env * z);
+static int r_step2(struct SN_env * z);
 
+static const symbol s_0[] = { 'a', 'i', 't', 0xC4, 0x97 };
+static const symbol s_1[] = { 'u', 'o', 't', 0xC4, 0x97 };
+static const symbol s_2[] = { 0xC4, 0x97, 'j', 'i', 'm', 'a', 's' };
+static const symbol s_3[] = { 'e', 's', 'y', 's' };
+static const symbol s_4[] = { 'a', 's', 'y', 's' };
+static const symbol s_5[] = { 'a', 'v', 'i', 'm', 'a', 's' };
+static const symbol s_6[] = { 'o', 'j', 'i', 'm', 'a', 's' };
+static const symbol s_7[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 };
+static const symbol s_8[] = { 't' };
+static const symbol s_9[] = { 'd' };
+static const symbol s_10[] = { 'g', 'd' };
+static const symbol s_11[] = { 'g' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[1] = { 'a' };
 static const symbol s_0_1[2] = { 'i', 'a' };
-static const symbol s_0_2[4] = { 'e', 'r', 'i', 'a' };
-static const symbol s_0_3[4] = { 'o', 's', 'n', 'a' };
-static const symbol s_0_4[5] = { 'i', 'o', 's', 'n', 'a' };
-static const symbol s_0_5[5] = { 'u', 'o', 's', 'n', 'a' };
-static const symbol s_0_6[6] = { 'i', 'u', 'o', 's', 'n', 'a' };
-static const symbol s_0_7[4] = { 'y', 's', 'n', 'a' };
-static const symbol s_0_8[5] = { 0xC4, 0x97, 's', 'n', 'a' };
-static const symbol s_0_9[1] = { 'e' };
-static const symbol s_0_10[2] = { 'i', 'e' };
-static const symbol s_0_11[4] = { 'e', 'n', 'i', 'e' };
-static const symbol s_0_12[4] = { 'e', 'r', 'i', 'e' };
-static const symbol s_0_13[3] = { 'o', 'j', 'e' };
-static const symbol s_0_14[4] = { 'i', 'o', 'j', 'e' };
-static const symbol s_0_15[3] = { 'u', 'j', 'e' };
-static const symbol s_0_16[4] = { 'i', 'u', 'j', 'e' };
-static const symbol s_0_17[3] = { 'y', 'j', 'e' };
-static const symbol s_0_18[5] = { 'e', 'n', 'y', 'j', 'e' };
-static const symbol s_0_19[5] = { 'e', 'r', 'y', 'j', 'e' };
-static const symbol s_0_20[4] = { 0xC4, 0x97, 'j', 'e' };
-static const symbol s_0_21[3] = { 'a', 'm', 'e' };
-static const symbol s_0_22[4] = { 'i', 'a', 'm', 'e' };
-static const symbol s_0_23[4] = { 's', 'i', 'm', 'e' };
-static const symbol s_0_24[3] = { 'o', 'm', 'e' };
-static const symbol s_0_25[4] = { 0xC4, 0x97, 'm', 'e' };
-static const symbol s_0_26[7] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 'e' };
-static const symbol s_0_27[3] = { 'o', 's', 'e' };
-static const symbol s_0_28[4] = { 'i', 'o', 's', 'e' };
-static const symbol s_0_29[4] = { 'u', 'o', 's', 'e' };
-static const symbol s_0_30[5] = { 'i', 'u', 'o', 's', 'e' };
-static const symbol s_0_31[3] = { 'y', 's', 'e' };
-static const symbol s_0_32[5] = { 'e', 'n', 'y', 's', 'e' };
-static const symbol s_0_33[5] = { 'e', 'r', 'y', 's', 'e' };
-static const symbol s_0_34[4] = { 0xC4, 0x97, 's', 'e' };
-static const symbol s_0_35[3] = { 'a', 't', 'e' };
-static const symbol s_0_36[4] = { 'i', 'a', 't', 'e' };
-static const symbol s_0_37[3] = { 'i', 't', 'e' };
-static const symbol s_0_38[4] = { 'k', 'i', 't', 'e' };
-static const symbol s_0_39[4] = { 's', 'i', 't', 'e' };
-static const symbol s_0_40[3] = { 'o', 't', 'e' };
-static const symbol s_0_41[4] = { 't', 'u', 't', 'e' };
-static const symbol s_0_42[4] = { 0xC4, 0x97, 't', 'e' };
-static const symbol s_0_43[7] = { 't', 'u', 'm', 0xC4, 0x97, 't', 'e' };
-static const symbol s_0_44[1] = { 'i' };
-static const symbol s_0_45[2] = { 'a', 'i' };
-static const symbol s_0_46[3] = { 'i', 'a', 'i' };
-static const symbol s_0_47[5] = { 'e', 'r', 'i', 'a', 'i' };
-static const symbol s_0_48[2] = { 'e', 'i' };
-static const symbol s_0_49[5] = { 't', 'u', 'm', 'e', 'i' };
-static const symbol s_0_50[2] = { 'k', 'i' };
-static const symbol s_0_51[3] = { 'i', 'm', 'i' };
-static const symbol s_0_52[5] = { 'e', 'r', 'i', 'm', 'i' };
-static const symbol s_0_53[3] = { 'u', 'm', 'i' };
-static const symbol s_0_54[4] = { 'i', 'u', 'm', 'i' };
-static const symbol s_0_55[2] = { 's', 'i' };
-static const symbol s_0_56[3] = { 'a', 's', 'i' };
-static const symbol s_0_57[4] = { 'i', 'a', 's', 'i' };
-static const symbol s_0_58[3] = { 'e', 's', 'i' };
-static const symbol s_0_59[4] = { 'i', 'e', 's', 'i' };
-static const symbol s_0_60[5] = { 's', 'i', 'e', 's', 'i' };
-static const symbol s_0_61[3] = { 'i', 's', 'i' };
-static const symbol s_0_62[4] = { 'a', 'i', 's', 'i' };
-static const symbol s_0_63[4] = { 'e', 'i', 's', 'i' };
-static const symbol s_0_64[7] = { 't', 'u', 'm', 'e', 'i', 's', 'i' };
-static const symbol s_0_65[4] = { 'u', 'i', 's', 'i' };
-static const symbol s_0_66[3] = { 'o', 's', 'i' };
-static const symbol s_0_67[6] = { 0xC4, 0x97, 'j', 'o', 's', 'i' };
-static const symbol s_0_68[4] = { 'u', 'o', 's', 'i' };
-static const symbol s_0_69[5] = { 'i', 'u', 'o', 's', 'i' };
-static const symbol s_0_70[6] = { 's', 'i', 'u', 'o', 's', 'i' };
-static const symbol s_0_71[3] = { 'u', 's', 'i' };
-static const symbol s_0_72[4] = { 'a', 'u', 's', 'i' };
-static const symbol s_0_73[7] = { 0xC4, 0x8D, 'i', 'a', 'u', 's', 'i' };
-static const symbol s_0_74[4] = { 0xC4, 0x85, 's', 'i' };
-static const symbol s_0_75[4] = { 0xC4, 0x97, 's', 'i' };
-static const symbol s_0_76[4] = { 0xC5, 0xB3, 's', 'i' };
-static const symbol s_0_77[5] = { 't', 0xC5, 0xB3, 's', 'i' };
-static const symbol s_0_78[2] = { 't', 'i' };
-static const symbol s_0_79[4] = { 'e', 'n', 't', 'i' };
-static const symbol s_0_80[4] = { 'i', 'n', 't', 'i' };
-static const symbol s_0_81[3] = { 'o', 't', 'i' };
-static const symbol s_0_82[4] = { 'i', 'o', 't', 'i' };
-static const symbol s_0_83[4] = { 'u', 'o', 't', 'i' };
-static const symbol s_0_84[5] = { 'i', 'u', 'o', 't', 'i' };
-static const symbol s_0_85[4] = { 'a', 'u', 't', 'i' };
-static const symbol s_0_86[5] = { 'i', 'a', 'u', 't', 'i' };
-static const symbol s_0_87[3] = { 'y', 't', 'i' };
-static const symbol s_0_88[4] = { 0xC4, 0x97, 't', 'i' };
-static const symbol s_0_89[7] = { 't', 'e', 'l', 0xC4, 0x97, 't', 'i' };
-static const symbol s_0_90[6] = { 'i', 'n', 0xC4, 0x97, 't', 'i' };
-static const symbol s_0_91[7] = { 't', 'e', 'r', 0xC4, 0x97, 't', 'i' };
-static const symbol s_0_92[2] = { 'u', 'i' };
-static const symbol s_0_93[3] = { 'i', 'u', 'i' };
-static const symbol s_0_94[5] = { 'e', 'n', 'i', 'u', 'i' };
-static const symbol s_0_95[2] = { 'o', 'j' };
-static const symbol s_0_96[3] = { 0xC4, 0x97, 'j' };
-static const symbol s_0_97[1] = { 'k' };
-static const symbol s_0_98[2] = { 'a', 'm' };
-static const symbol s_0_99[3] = { 'i', 'a', 'm' };
-static const symbol s_0_100[3] = { 'i', 'e', 'm' };
-static const symbol s_0_101[2] = { 'i', 'm' };
-static const symbol s_0_102[3] = { 's', 'i', 'm' };
-static const symbol s_0_103[2] = { 'o', 'm' };
-static const symbol s_0_104[3] = { 't', 'u', 'm' };
-static const symbol s_0_105[3] = { 0xC4, 0x97, 'm' };
-static const symbol s_0_106[6] = { 't', 'u', 'm', 0xC4, 0x97, 'm' };
-static const symbol s_0_107[2] = { 'a', 'n' };
-static const symbol s_0_108[2] = { 'o', 'n' };
-static const symbol s_0_109[3] = { 'i', 'o', 'n' };
-static const symbol s_0_110[2] = { 'u', 'n' };
-static const symbol s_0_111[3] = { 'i', 'u', 'n' };
-static const symbol s_0_112[3] = { 0xC4, 0x97, 'n' };
-static const symbol s_0_113[1] = { 'o' };
-static const symbol s_0_114[2] = { 'i', 'o' };
-static const symbol s_0_115[4] = { 'e', 'n', 'i', 'o' };
-static const symbol s_0_116[4] = { 0xC4, 0x97, 'j', 'o' };
-static const symbol s_0_117[2] = { 'u', 'o' };
-static const symbol s_0_118[1] = { 's' };
-static const symbol s_0_119[2] = { 'a', 's' };
-static const symbol s_0_120[3] = { 'i', 'a', 's' };
-static const symbol s_0_121[2] = { 'e', 's' };
-static const symbol s_0_122[3] = { 'i', 'e', 's' };
-static const symbol s_0_123[2] = { 'i', 's' };
-static const symbol s_0_124[3] = { 'a', 'i', 's' };
-static const symbol s_0_125[4] = { 'i', 'a', 'i', 's' };
-static const symbol s_0_126[6] = { 't', 'u', 'm', 'e', 'i', 's' };
-static const symbol s_0_127[4] = { 'i', 'm', 'i', 's' };
-static const symbol s_0_128[6] = { 'e', 'n', 'i', 'm', 'i', 's' };
-static const symbol s_0_129[4] = { 'o', 'm', 'i', 's' };
-static const symbol s_0_130[5] = { 'i', 'o', 'm', 'i', 's' };
-static const symbol s_0_131[4] = { 'u', 'm', 'i', 's' };
-static const symbol s_0_132[5] = { 0xC4, 0x97, 'm', 'i', 's' };
-static const symbol s_0_133[4] = { 'e', 'n', 'i', 's' };
-static const symbol s_0_134[4] = { 'a', 's', 'i', 's' };
-static const symbol s_0_135[4] = { 'y', 's', 'i', 's' };
-static const symbol s_0_136[3] = { 'a', 'm', 's' };
-static const symbol s_0_137[4] = { 'i', 'a', 'm', 's' };
-static const symbol s_0_138[4] = { 'i', 'e', 'm', 's' };
-static const symbol s_0_139[3] = { 'i', 'm', 's' };
-static const symbol s_0_140[5] = { 'e', 'n', 'i', 'm', 's' };
-static const symbol s_0_141[5] = { 'e', 'r', 'i', 'm', 's' };
-static const symbol s_0_142[3] = { 'o', 'm', 's' };
-static const symbol s_0_143[4] = { 'i', 'o', 'm', 's' };
-static const symbol s_0_144[3] = { 'u', 'm', 's' };
-static const symbol s_0_145[4] = { 0xC4, 0x97, 'm', 's' };
-static const symbol s_0_146[3] = { 'e', 'n', 's' };
-static const symbol s_0_147[2] = { 'o', 's' };
-static const symbol s_0_148[3] = { 'i', 'o', 's' };
-static const symbol s_0_149[3] = { 'u', 'o', 's' };
-static const symbol s_0_150[4] = { 'i', 'u', 'o', 's' };
-static const symbol s_0_151[3] = { 'e', 'r', 's' };
-static const symbol s_0_152[2] = { 'u', 's' };
-static const symbol s_0_153[3] = { 'a', 'u', 's' };
-static const symbol s_0_154[4] = { 'i', 'a', 'u', 's' };
-static const symbol s_0_155[3] = { 'i', 'u', 's' };
-static const symbol s_0_156[2] = { 'y', 's' };
-static const symbol s_0_157[4] = { 'e', 'n', 'y', 's' };
-static const symbol s_0_158[4] = { 'e', 'r', 'y', 's' };
-static const symbol s_0_159[3] = { 0xC4, 0x85, 's' };
-static const symbol s_0_160[4] = { 'i', 0xC4, 0x85, 's' };
-static const symbol s_0_161[3] = { 0xC4, 0x97, 's' };
-static const symbol s_0_162[5] = { 'a', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_163[6] = { 'i', 'a', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_164[5] = { 'i', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_165[6] = { 'k', 'i', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_166[6] = { 's', 'i', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_167[5] = { 'o', 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_168[6] = { 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_169[9] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
-static const symbol s_0_170[5] = { 'a', 't', 0xC4, 0x97, 's' };
-static const symbol s_0_171[6] = { 'i', 'a', 't', 0xC4, 0x97, 's' };
-static const symbol s_0_172[6] = { 's', 'i', 't', 0xC4, 0x97, 's' };
-static const symbol s_0_173[5] = { 'o', 't', 0xC4, 0x97, 's' };
-static const symbol s_0_174[6] = { 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
-static const symbol s_0_175[9] = { 't', 'u', 'm', 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
-static const symbol s_0_176[3] = { 0xC5, 0xAB, 's' };
-static const symbol s_0_177[3] = { 0xC4, 0xAF, 's' };
-static const symbol s_0_178[4] = { 't', 0xC5, 0xB3, 's' };
-static const symbol s_0_179[2] = { 'a', 't' };
-static const symbol s_0_180[3] = { 'i', 'a', 't' };
-static const symbol s_0_181[2] = { 'i', 't' };
-static const symbol s_0_182[3] = { 's', 'i', 't' };
-static const symbol s_0_183[2] = { 'o', 't' };
-static const symbol s_0_184[3] = { 0xC4, 0x97, 't' };
-static const symbol s_0_185[6] = { 't', 'u', 'm', 0xC4, 0x97, 't' };
-static const symbol s_0_186[1] = { 'u' };
-static const symbol s_0_187[2] = { 'a', 'u' };
-static const symbol s_0_188[3] = { 'i', 'a', 'u' };
-static const symbol s_0_189[5] = { 0xC4, 0x8D, 'i', 'a', 'u' };
-static const symbol s_0_190[2] = { 'i', 'u' };
-static const symbol s_0_191[4] = { 'e', 'n', 'i', 'u' };
-static const symbol s_0_192[3] = { 's', 'i', 'u' };
-static const symbol s_0_193[1] = { 'y' };
-static const symbol s_0_194[2] = { 0xC4, 0x85 };
-static const symbol s_0_195[3] = { 'i', 0xC4, 0x85 };
-static const symbol s_0_196[2] = { 0xC4, 0x97 };
-static const symbol s_0_197[2] = { 0xC4, 0x99 };
-static const symbol s_0_198[2] = { 0xC4, 0xAF };
-static const symbol s_0_199[4] = { 'e', 'n', 0xC4, 0xAF };
-static const symbol s_0_200[4] = { 'e', 'r', 0xC4, 0xAF };
-static const symbol s_0_201[2] = { 0xC5, 0xB3 };
-static const symbol s_0_202[3] = { 'i', 0xC5, 0xB3 };
-static const symbol s_0_203[4] = { 'e', 'r', 0xC5, 0xB3 };
-
-static const struct among a_0[204] =
-{
-{ 1, s_0_0, -1, -1, 0},
-{ 2, s_0_1, 0, -1, 0},
-{ 4, s_0_2, 1, -1, 0},
-{ 4, s_0_3, 0, -1, 0},
-{ 5, s_0_4, 3, -1, 0},
-{ 5, s_0_5, 3, -1, 0},
-{ 6, s_0_6, 5, -1, 0},
-{ 4, s_0_7, 0, -1, 0},
-{ 5, s_0_8, 0, -1, 0},
-{ 1, s_0_9, -1, -1, 0},
-{ 2, s_0_10, 9, -1, 0},
-{ 4, s_0_11, 10, -1, 0},
-{ 4, s_0_12, 10, -1, 0},
-{ 3, s_0_13, 9, -1, 0},
-{ 4, s_0_14, 13, -1, 0},
-{ 3, s_0_15, 9, -1, 0},
-{ 4, s_0_16, 15, -1, 0},
-{ 3, s_0_17, 9, -1, 0},
-{ 5, s_0_18, 17, -1, 0},
-{ 5, s_0_19, 17, -1, 0},
-{ 4, s_0_20, 9, -1, 0},
-{ 3, s_0_21, 9, -1, 0},
-{ 4, s_0_22, 21, -1, 0},
-{ 4, s_0_23, 9, -1, 0},
-{ 3, s_0_24, 9, -1, 0},
-{ 4, s_0_25, 9, -1, 0},
-{ 7, s_0_26, 25, -1, 0},
-{ 3, s_0_27, 9, -1, 0},
-{ 4, s_0_28, 27, -1, 0},
-{ 4, s_0_29, 27, -1, 0},
-{ 5, s_0_30, 29, -1, 0},
-{ 3, s_0_31, 9, -1, 0},
-{ 5, s_0_32, 31, -1, 0},
-{ 5, s_0_33, 31, -1, 0},
-{ 4, s_0_34, 9, -1, 0},
-{ 3, s_0_35, 9, -1, 0},
-{ 4, s_0_36, 35, -1, 0},
-{ 3, s_0_37, 9, -1, 0},
-{ 4, s_0_38, 37, -1, 0},
-{ 4, s_0_39, 37, -1, 0},
-{ 3, s_0_40, 9, -1, 0},
-{ 4, s_0_41, 9, -1, 0},
-{ 4, s_0_42, 9, -1, 0},
-{ 7, s_0_43, 42, -1, 0},
-{ 1, s_0_44, -1, -1, 0},
-{ 2, s_0_45, 44, -1, 0},
-{ 3, s_0_46, 45, -1, 0},
-{ 5, s_0_47, 46, -1, 0},
-{ 2, s_0_48, 44, -1, 0},
-{ 5, s_0_49, 48, -1, 0},
-{ 2, s_0_50, 44, -1, 0},
-{ 3, s_0_51, 44, -1, 0},
-{ 5, s_0_52, 51, -1, 0},
-{ 3, s_0_53, 44, -1, 0},
-{ 4, s_0_54, 53, -1, 0},
-{ 2, s_0_55, 44, -1, 0},
-{ 3, s_0_56, 55, -1, 0},
-{ 4, s_0_57, 56, -1, 0},
-{ 3, s_0_58, 55, -1, 0},
-{ 4, s_0_59, 58, -1, 0},
-{ 5, s_0_60, 59, -1, 0},
-{ 3, s_0_61, 55, -1, 0},
-{ 4, s_0_62, 61, -1, 0},
-{ 4, s_0_63, 61, -1, 0},
-{ 7, s_0_64, 63, -1, 0},
-{ 4, s_0_65, 61, -1, 0},
-{ 3, s_0_66, 55, -1, 0},
-{ 6, s_0_67, 66, -1, 0},
-{ 4, s_0_68, 66, -1, 0},
-{ 5, s_0_69, 68, -1, 0},
-{ 6, s_0_70, 69, -1, 0},
-{ 3, s_0_71, 55, -1, 0},
-{ 4, s_0_72, 71, -1, 0},
-{ 7, s_0_73, 72, -1, 0},
-{ 4, s_0_74, 55, -1, 0},
-{ 4, s_0_75, 55, -1, 0},
-{ 4, s_0_76, 55, -1, 0},
-{ 5, s_0_77, 76, -1, 0},
-{ 2, s_0_78, 44, -1, 0},
-{ 4, s_0_79, 78, -1, 0},
-{ 4, s_0_80, 78, -1, 0},
-{ 3, s_0_81, 78, -1, 0},
-{ 4, s_0_82, 81, -1, 0},
-{ 4, s_0_83, 81, -1, 0},
-{ 5, s_0_84, 83, -1, 0},
-{ 4, s_0_85, 78, -1, 0},
-{ 5, s_0_86, 85, -1, 0},
-{ 3, s_0_87, 78, -1, 0},
-{ 4, s_0_88, 78, -1, 0},
-{ 7, s_0_89, 88, -1, 0},
-{ 6, s_0_90, 88, -1, 0},
-{ 7, s_0_91, 88, -1, 0},
-{ 2, s_0_92, 44, -1, 0},
-{ 3, s_0_93, 92, -1, 0},
-{ 5, s_0_94, 93, -1, 0},
-{ 2, s_0_95, -1, -1, 0},
+static const symbol s_0_2[4] = { 'o', 's', 'n', 'a' };
+static const symbol s_0_3[5] = { 'i', 'o', 's', 'n', 'a' };
+static const symbol s_0_4[5] = { 'u', 'o', 's', 'n', 'a' };
+static const symbol s_0_5[6] = { 'i', 'u', 'o', 's', 'n', 'a' };
+static const symbol s_0_6[4] = { 'y', 's', 'n', 'a' };
+static const symbol s_0_7[5] = { 0xC4, 0x97, 's', 'n', 'a' };
+static const symbol s_0_8[1] = { 'e' };
+static const symbol s_0_9[2] = { 'i', 'e' };
+static const symbol s_0_10[4] = { 'e', 'n', 'i', 'e' };
+static const symbol s_0_11[3] = { 'o', 'j', 'e' };
+static const symbol s_0_12[4] = { 'i', 'o', 'j', 'e' };
+static const symbol s_0_13[3] = { 'u', 'j', 'e' };
+static const symbol s_0_14[4] = { 'i', 'u', 'j', 'e' };
+static const symbol s_0_15[3] = { 'y', 'j', 'e' };
+static const symbol s_0_16[5] = { 'e', 'n', 'y', 'j', 'e' };
+static const symbol s_0_17[4] = { 0xC4, 0x97, 'j', 'e' };
+static const symbol s_0_18[3] = { 'a', 'm', 'e' };
+static const symbol s_0_19[4] = { 'i', 'a', 'm', 'e' };
+static const symbol s_0_20[4] = { 's', 'i', 'm', 'e' };
+static const symbol s_0_21[3] = { 'o', 'm', 'e' };
+static const symbol s_0_22[4] = { 0xC4, 0x97, 'm', 'e' };
+static const symbol s_0_23[7] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 'e' };
+static const symbol s_0_24[3] = { 'o', 's', 'e' };
+static const symbol s_0_25[4] = { 'i', 'o', 's', 'e' };
+static const symbol s_0_26[4] = { 'u', 'o', 's', 'e' };
+static const symbol s_0_27[5] = { 'i', 'u', 'o', 's', 'e' };
+static const symbol s_0_28[3] = { 'y', 's', 'e' };
+static const symbol s_0_29[5] = { 'e', 'n', 'y', 's', 'e' };
+static const symbol s_0_30[4] = { 0xC4, 0x97, 's', 'e' };
+static const symbol s_0_31[3] = { 'a', 't', 'e' };
+static const symbol s_0_32[4] = { 'i', 'a', 't', 'e' };
+static const symbol s_0_33[3] = { 'i', 't', 'e' };
+static const symbol s_0_34[4] = { 'k', 'i', 't', 'e' };
+static const symbol s_0_35[4] = { 's', 'i', 't', 'e' };
+static const symbol s_0_36[3] = { 'o', 't', 'e' };
+static const symbol s_0_37[4] = { 't', 'u', 't', 'e' };
+static const symbol s_0_38[4] = { 0xC4, 0x97, 't', 'e' };
+static const symbol s_0_39[7] = { 't', 'u', 'm', 0xC4, 0x97, 't', 'e' };
+static const symbol s_0_40[1] = { 'i' };
+static const symbol s_0_41[2] = { 'a', 'i' };
+static const symbol s_0_42[3] = { 'i', 'a', 'i' };
+static const symbol s_0_43[2] = { 'e', 'i' };
+static const symbol s_0_44[5] = { 't', 'u', 'm', 'e', 'i' };
+static const symbol s_0_45[2] = { 'k', 'i' };
+static const symbol s_0_46[3] = { 'i', 'm', 'i' };
+static const symbol s_0_47[3] = { 'u', 'm', 'i' };
+static const symbol s_0_48[4] = { 'i', 'u', 'm', 'i' };
+static const symbol s_0_49[2] = { 's', 'i' };
+static const symbol s_0_50[3] = { 'a', 's', 'i' };
+static const symbol s_0_51[4] = { 'i', 'a', 's', 'i' };
+static const symbol s_0_52[3] = { 'e', 's', 'i' };
+static const symbol s_0_53[4] = { 'i', 'e', 's', 'i' };
+static const symbol s_0_54[5] = { 's', 'i', 'e', 's', 'i' };
+static const symbol s_0_55[3] = { 'i', 's', 'i' };
+static const symbol s_0_56[4] = { 'a', 'i', 's', 'i' };
+static const symbol s_0_57[4] = { 'e', 'i', 's', 'i' };
+static const symbol s_0_58[7] = { 't', 'u', 'm', 'e', 'i', 's', 'i' };
+static const symbol s_0_59[4] = { 'u', 'i', 's', 'i' };
+static const symbol s_0_60[3] = { 'o', 's', 'i' };
+static const symbol s_0_61[6] = { 0xC4, 0x97, 'j', 'o', 's', 'i' };
+static const symbol s_0_62[4] = { 'u', 'o', 's', 'i' };
+static const symbol s_0_63[5] = { 'i', 'u', 'o', 's', 'i' };
+static const symbol s_0_64[6] = { 's', 'i', 'u', 'o', 's', 'i' };
+static const symbol s_0_65[3] = { 'u', 's', 'i' };
+static const symbol s_0_66[4] = { 'a', 'u', 's', 'i' };
+static const symbol s_0_67[7] = { 0xC4, 0x8D, 'i', 'a', 'u', 's', 'i' };
+static const symbol s_0_68[4] = { 0xC4, 0x85, 's', 'i' };
+static const symbol s_0_69[4] = { 0xC4, 0x97, 's', 'i' };
+static const symbol s_0_70[4] = { 0xC5, 0xB3, 's', 'i' };
+static const symbol s_0_71[5] = { 't', 0xC5, 0xB3, 's', 'i' };
+static const symbol s_0_72[2] = { 't', 'i' };
+static const symbol s_0_73[4] = { 'e', 'n', 't', 'i' };
+static const symbol s_0_74[4] = { 'i', 'n', 't', 'i' };
+static const symbol s_0_75[3] = { 'o', 't', 'i' };
+static const symbol s_0_76[4] = { 'i', 'o', 't', 'i' };
+static const symbol s_0_77[4] = { 'u', 'o', 't', 'i' };
+static const symbol s_0_78[5] = { 'i', 'u', 'o', 't', 'i' };
+static const symbol s_0_79[4] = { 'a', 'u', 't', 'i' };
+static const symbol s_0_80[5] = { 'i', 'a', 'u', 't', 'i' };
+static const symbol s_0_81[3] = { 'y', 't', 'i' };
+static const symbol s_0_82[4] = { 0xC4, 0x97, 't', 'i' };
+static const symbol s_0_83[7] = { 't', 'e', 'l', 0xC4, 0x97, 't', 'i' };
+static const symbol s_0_84[6] = { 'i', 'n', 0xC4, 0x97, 't', 'i' };
+static const symbol s_0_85[7] = { 't', 'e', 'r', 0xC4, 0x97, 't', 'i' };
+static const symbol s_0_86[2] = { 'u', 'i' };
+static const symbol s_0_87[3] = { 'i', 'u', 'i' };
+static const symbol s_0_88[5] = { 'e', 'n', 'i', 'u', 'i' };
+static const symbol s_0_89[2] = { 'o', 'j' };
+static const symbol s_0_90[3] = { 0xC4, 0x97, 'j' };
+static const symbol s_0_91[1] = { 'k' };
+static const symbol s_0_92[2] = { 'a', 'm' };
+static const symbol s_0_93[3] = { 'i', 'a', 'm' };
+static const symbol s_0_94[3] = { 'i', 'e', 'm' };
+static const symbol s_0_95[2] = { 'i', 'm' };
+static const symbol s_0_96[3] = { 's', 'i', 'm' };
+static const symbol s_0_97[2] = { 'o', 'm' };
+static const symbol s_0_98[3] = { 't', 'u', 'm' };
+static const symbol s_0_99[3] = { 0xC4, 0x97, 'm' };
+static const symbol s_0_100[6] = { 't', 'u', 'm', 0xC4, 0x97, 'm' };
+static const symbol s_0_101[2] = { 'a', 'n' };
+static const symbol s_0_102[2] = { 'o', 'n' };
+static const symbol s_0_103[3] = { 'i', 'o', 'n' };
+static const symbol s_0_104[2] = { 'u', 'n' };
+static const symbol s_0_105[3] = { 'i', 'u', 'n' };
+static const symbol s_0_106[3] = { 0xC4, 0x97, 'n' };
+static const symbol s_0_107[1] = { 'o' };
+static const symbol s_0_108[2] = { 'i', 'o' };
+static const symbol s_0_109[4] = { 'e', 'n', 'i', 'o' };
+static const symbol s_0_110[4] = { 0xC4, 0x97, 'j', 'o' };
+static const symbol s_0_111[2] = { 'u', 'o' };
+static const symbol s_0_112[1] = { 's' };
+static const symbol s_0_113[2] = { 'a', 's' };
+static const symbol s_0_114[3] = { 'i', 'a', 's' };
+static const symbol s_0_115[2] = { 'e', 's' };
+static const symbol s_0_116[3] = { 'i', 'e', 's' };
+static const symbol s_0_117[2] = { 'i', 's' };
+static const symbol s_0_118[3] = { 'a', 'i', 's' };
+static const symbol s_0_119[4] = { 'i', 'a', 'i', 's' };
+static const symbol s_0_120[6] = { 't', 'u', 'm', 'e', 'i', 's' };
+static const symbol s_0_121[4] = { 'i', 'm', 'i', 's' };
+static const symbol s_0_122[6] = { 'e', 'n', 'i', 'm', 'i', 's' };
+static const symbol s_0_123[4] = { 'o', 'm', 'i', 's' };
+static const symbol s_0_124[5] = { 'i', 'o', 'm', 'i', 's' };
+static const symbol s_0_125[4] = { 'u', 'm', 'i', 's' };
+static const symbol s_0_126[5] = { 0xC4, 0x97, 'm', 'i', 's' };
+static const symbol s_0_127[4] = { 'e', 'n', 'i', 's' };
+static const symbol s_0_128[4] = { 'a', 's', 'i', 's' };
+static const symbol s_0_129[4] = { 'y', 's', 'i', 's' };
+static const symbol s_0_130[3] = { 'a', 'm', 's' };
+static const symbol s_0_131[4] = { 'i', 'a', 'm', 's' };
+static const symbol s_0_132[4] = { 'i', 'e', 'm', 's' };
+static const symbol s_0_133[3] = { 'i', 'm', 's' };
+static const symbol s_0_134[5] = { 'e', 'n', 'i', 'm', 's' };
+static const symbol s_0_135[3] = { 'o', 'm', 's' };
+static const symbol s_0_136[4] = { 'i', 'o', 'm', 's' };
+static const symbol s_0_137[3] = { 'u', 'm', 's' };
+static const symbol s_0_138[4] = { 0xC4, 0x97, 'm', 's' };
+static const symbol s_0_139[3] = { 'e', 'n', 's' };
+static const symbol s_0_140[2] = { 'o', 's' };
+static const symbol s_0_141[3] = { 'i', 'o', 's' };
+static const symbol s_0_142[3] = { 'u', 'o', 's' };
+static const symbol s_0_143[4] = { 'i', 'u', 'o', 's' };
+static const symbol s_0_144[2] = { 'u', 's' };
+static const symbol s_0_145[3] = { 'a', 'u', 's' };
+static const symbol s_0_146[4] = { 'i', 'a', 'u', 's' };
+static const symbol s_0_147[3] = { 'i', 'u', 's' };
+static const symbol s_0_148[2] = { 'y', 's' };
+static const symbol s_0_149[4] = { 'e', 'n', 'y', 's' };
+static const symbol s_0_150[3] = { 0xC4, 0x85, 's' };
+static const symbol s_0_151[4] = { 'i', 0xC4, 0x85, 's' };
+static const symbol s_0_152[3] = { 0xC4, 0x97, 's' };
+static const symbol s_0_153[5] = { 'a', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_154[6] = { 'i', 'a', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_155[5] = { 'i', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_156[6] = { 'k', 'i', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_157[6] = { 's', 'i', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_158[5] = { 'o', 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_159[6] = { 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_160[9] = { 't', 'u', 'm', 0xC4, 0x97, 'm', 0xC4, 0x97, 's' };
+static const symbol s_0_161[5] = { 'a', 't', 0xC4, 0x97, 's' };
+static const symbol s_0_162[6] = { 'i', 'a', 't', 0xC4, 0x97, 's' };
+static const symbol s_0_163[6] = { 's', 'i', 't', 0xC4, 0x97, 's' };
+static const symbol s_0_164[5] = { 'o', 't', 0xC4, 0x97, 's' };
+static const symbol s_0_165[6] = { 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
+static const symbol s_0_166[9] = { 't', 'u', 'm', 0xC4, 0x97, 't', 0xC4, 0x97, 's' };
+static const symbol s_0_167[3] = { 0xC5, 0xAB, 's' };
+static const symbol s_0_168[3] = { 0xC4, 0xAF, 's' };
+static const symbol s_0_169[4] = { 't', 0xC5, 0xB3, 's' };
+static const symbol s_0_170[2] = { 'a', 't' };
+static const symbol s_0_171[3] = { 'i', 'a', 't' };
+static const symbol s_0_172[2] = { 'i', 't' };
+static const symbol s_0_173[3] = { 's', 'i', 't' };
+static const symbol s_0_174[2] = { 'o', 't' };
+static const symbol s_0_175[3] = { 0xC4, 0x97, 't' };
+static const symbol s_0_176[6] = { 't', 'u', 'm', 0xC4, 0x97, 't' };
+static const symbol s_0_177[1] = { 'u' };
+static const symbol s_0_178[2] = { 'a', 'u' };
+static const symbol s_0_179[3] = { 'i', 'a', 'u' };
+static const symbol s_0_180[5] = { 0xC4, 0x8D, 'i', 'a', 'u' };
+static const symbol s_0_181[2] = { 'i', 'u' };
+static const symbol s_0_182[4] = { 'e', 'n', 'i', 'u' };
+static const symbol s_0_183[3] = { 's', 'i', 'u' };
+static const symbol s_0_184[1] = { 'y' };
+static const symbol s_0_185[2] = { 0xC4, 0x85 };
+static const symbol s_0_186[3] = { 'i', 0xC4, 0x85 };
+static const symbol s_0_187[2] = { 0xC4, 0x97 };
+static const symbol s_0_188[2] = { 0xC4, 0x99 };
+static const symbol s_0_189[2] = { 0xC4, 0xAF };
+static const symbol s_0_190[4] = { 'e', 'n', 0xC4, 0xAF };
+static const symbol s_0_191[2] = { 0xC5, 0xB3 };
+static const symbol s_0_192[3] = { 'i', 0xC5, 0xB3 };
+static const struct among a_0[193] = {
+{ 1, s_0_0, 0, -1, 0},
+{ 2, s_0_1, -1, -1, 0},
+{ 4, s_0_2, -2, -1, 0},
+{ 5, s_0_3, -1, -1, 0},
+{ 5, s_0_4, -2, -1, 0},
+{ 6, s_0_5, -1, -1, 0},
+{ 4, s_0_6, -6, -1, 0},
+{ 5, s_0_7, -7, -1, 0},
+{ 1, s_0_8, 0, -1, 0},
+{ 2, s_0_9, -1, -1, 0},
+{ 4, s_0_10, -1, -1, 0},
+{ 3, s_0_11, -3, -1, 0},
+{ 4, s_0_12, -1, -1, 0},
+{ 3, s_0_13, -5, -1, 0},
+{ 4, s_0_14, -1, -1, 0},
+{ 3, s_0_15, -7, -1, 0},
+{ 5, s_0_16, -1, -1, 0},
+{ 4, s_0_17, -9, -1, 0},
+{ 3, s_0_18, -10, -1, 0},
+{ 4, s_0_19, -1, -1, 0},
+{ 4, s_0_20, -12, -1, 0},
+{ 3, s_0_21, -13, -1, 0},
+{ 4, s_0_22, -14, -1, 0},
+{ 7, s_0_23, -1, -1, 0},
+{ 3, s_0_24, -16, -1, 0},
+{ 4, s_0_25, -1, -1, 0},
+{ 4, s_0_26, -2, -1, 0},
+{ 5, s_0_27, -1, -1, 0},
+{ 3, s_0_28, -20, -1, 0},
+{ 5, s_0_29, -1, -1, 0},
+{ 4, s_0_30, -22, -1, 0},
+{ 3, s_0_31, -23, -1, 0},
+{ 4, s_0_32, -1, -1, 0},
+{ 3, s_0_33, -25, -1, 0},
+{ 4, s_0_34, -1, -1, 0},
+{ 4, s_0_35, -2, -1, 0},
+{ 3, s_0_36, -28, -1, 0},
+{ 4, s_0_37, -29, -1, 0},
+{ 4, s_0_38, -30, -1, 0},
+{ 7, s_0_39, -1, -1, 0},
+{ 1, s_0_40, 0, -1, 0},
+{ 2, s_0_41, -1, -1, 0},
+{ 3, s_0_42, -1, -1, 0},
+{ 2, s_0_43, -3, -1, 0},
+{ 5, s_0_44, -1, -1, 0},
+{ 2, s_0_45, -5, -1, 0},
+{ 3, s_0_46, -6, -1, 0},
+{ 3, s_0_47, -7, -1, 0},
+{ 4, s_0_48, -1, -1, 0},
+{ 2, s_0_49, -9, -1, 0},
+{ 3, s_0_50, -1, -1, 0},
+{ 4, s_0_51, -1, -1, 0},
+{ 3, s_0_52, -3, -1, 0},
+{ 4, s_0_53, -1, -1, 0},
+{ 5, s_0_54, -1, -1, 0},
+{ 3, s_0_55, -6, -1, 0},
+{ 4, s_0_56, -1, -1, 0},
+{ 4, s_0_57, -2, -1, 0},
+{ 7, s_0_58, -1, -1, 0},
+{ 4, s_0_59, -4, -1, 0},
+{ 3, s_0_60, -11, -1, 0},
+{ 6, s_0_61, -1, -1, 0},
+{ 4, s_0_62, -2, -1, 0},
+{ 5, s_0_63, -1, -1, 0},
+{ 6, s_0_64, -1, -1, 0},
+{ 3, s_0_65, -16, -1, 0},
+{ 4, s_0_66, -1, -1, 0},
+{ 7, s_0_67, -1, -1, 0},
+{ 4, s_0_68, -19, -1, 0},
+{ 4, s_0_69, -20, -1, 0},
+{ 4, s_0_70, -21, -1, 0},
+{ 5, s_0_71, -1, -1, 0},
+{ 2, s_0_72, -32, -1, 0},
+{ 4, s_0_73, -1, -1, 0},
+{ 4, s_0_74, -2, -1, 0},
+{ 3, s_0_75, -3, -1, 0},
+{ 4, s_0_76, -1, -1, 0},
+{ 4, s_0_77, -2, -1, 0},
+{ 5, s_0_78, -1, -1, 0},
+{ 4, s_0_79, -7, -1, 0},
+{ 5, s_0_80, -1, -1, 0},
+{ 3, s_0_81, -9, -1, 0},
+{ 4, s_0_82, -10, -1, 0},
+{ 7, s_0_83, -1, -1, 0},
+{ 6, s_0_84, -2, -1, 0},
+{ 7, s_0_85, -3, -1, 0},
+{ 2, s_0_86, -46, -1, 0},
+{ 3, s_0_87, -1, -1, 0},
+{ 5, s_0_88, -1, -1, 0},
+{ 2, s_0_89, 0, -1, 0},
+{ 3, s_0_90, 0, -1, 0},
+{ 1, s_0_91, 0, -1, 0},
+{ 2, s_0_92, 0, -1, 0},
+{ 3, s_0_93, -1, -1, 0},
+{ 3, s_0_94, 0, -1, 0},
+{ 2, s_0_95, 0, -1, 0},
 { 3, s_0_96, -1, -1, 0},
-{ 1, s_0_97, -1, -1, 0},
-{ 2, s_0_98, -1, -1, 0},
-{ 3, s_0_99, 98, -1, 0},
-{ 3, s_0_100, -1, -1, 0},
-{ 2, s_0_101, -1, -1, 0},
-{ 3, s_0_102, 101, -1, 0},
-{ 2, s_0_103, -1, -1, 0},
-{ 3, s_0_104, -1, -1, 0},
+{ 2, s_0_97, 0, -1, 0},
+{ 3, s_0_98, 0, -1, 0},
+{ 3, s_0_99, 0, -1, 0},
+{ 6, s_0_100, -1, -1, 0},
+{ 2, s_0_101, 0, -1, 0},
+{ 2, s_0_102, 0, -1, 0},
+{ 3, s_0_103, -1, -1, 0},
+{ 2, s_0_104, 0, -1, 0},
 { 3, s_0_105, -1, -1, 0},
-{ 6, s_0_106, 105, -1, 0},
-{ 2, s_0_107, -1, -1, 0},
+{ 3, s_0_106, 0, -1, 0},
+{ 1, s_0_107, 0, -1, 0},
 { 2, s_0_108, -1, -1, 0},
-{ 3, s_0_109, 108, -1, 0},
-{ 2, s_0_110, -1, -1, 0},
-{ 3, s_0_111, 110, -1, 0},
-{ 3, s_0_112, -1, -1, 0},
-{ 1, s_0_113, -1, -1, 0},
-{ 2, s_0_114, 113, -1, 0},
-{ 4, s_0_115, 114, -1, 0},
-{ 4, s_0_116, 113, -1, 0},
-{ 2, s_0_117, 113, -1, 0},
-{ 1, s_0_118, -1, -1, 0},
-{ 2, s_0_119, 118, -1, 0},
-{ 3, s_0_120, 119, -1, 0},
-{ 2, s_0_121, 118, -1, 0},
-{ 3, s_0_122, 121, -1, 0},
-{ 2, s_0_123, 118, -1, 0},
-{ 3, s_0_124, 123, -1, 0},
-{ 4, s_0_125, 124, -1, 0},
-{ 6, s_0_126, 123, -1, 0},
-{ 4, s_0_127, 123, -1, 0},
-{ 6, s_0_128, 127, -1, 0},
-{ 4, s_0_129, 123, -1, 0},
-{ 5, s_0_130, 129, -1, 0},
-{ 4, s_0_131, 123, -1, 0},
-{ 5, s_0_132, 123, -1, 0},
-{ 4, s_0_133, 123, -1, 0},
-{ 4, s_0_134, 123, -1, 0},
-{ 4, s_0_135, 123, -1, 0},
-{ 3, s_0_136, 118, -1, 0},
-{ 4, s_0_137, 136, -1, 0},
-{ 4, s_0_138, 118, -1, 0},
-{ 3, s_0_139, 118, -1, 0},
-{ 5, s_0_140, 139, -1, 0},
-{ 5, s_0_141, 139, -1, 0},
-{ 3, s_0_142, 118, -1, 0},
-{ 4, s_0_143, 142, -1, 0},
-{ 3, s_0_144, 118, -1, 0},
-{ 4, s_0_145, 118, -1, 0},
-{ 3, s_0_146, 118, -1, 0},
-{ 2, s_0_147, 118, -1, 0},
-{ 3, s_0_148, 147, -1, 0},
-{ 3, s_0_149, 147, -1, 0},
-{ 4, s_0_150, 149, -1, 0},
-{ 3, s_0_151, 118, -1, 0},
-{ 2, s_0_152, 118, -1, 0},
-{ 3, s_0_153, 152, -1, 0},
-{ 4, s_0_154, 153, -1, 0},
-{ 3, s_0_155, 152, -1, 0},
-{ 2, s_0_156, 118, -1, 0},
-{ 4, s_0_157, 156, -1, 0},
-{ 4, s_0_158, 156, -1, 0},
-{ 3, s_0_159, 118, -1, 0},
-{ 4, s_0_160, 159, -1, 0},
-{ 3, s_0_161, 118, -1, 0},
-{ 5, s_0_162, 161, -1, 0},
-{ 6, s_0_163, 162, -1, 0},
-{ 5, s_0_164, 161, -1, 0},
-{ 6, s_0_165, 164, -1, 0},
-{ 6, s_0_166, 164, -1, 0},
-{ 5, s_0_167, 161, -1, 0},
-{ 6, s_0_168, 161, -1, 0},
-{ 9, s_0_169, 168, -1, 0},
-{ 5, s_0_170, 161, -1, 0},
-{ 6, s_0_171, 170, -1, 0},
-{ 6, s_0_172, 161, -1, 0},
-{ 5, s_0_173, 161, -1, 0},
-{ 6, s_0_174, 161, -1, 0},
-{ 9, s_0_175, 174, -1, 0},
-{ 3, s_0_176, 118, -1, 0},
-{ 3, s_0_177, 118, -1, 0},
-{ 4, s_0_178, 118, -1, 0},
-{ 2, s_0_179, -1, -1, 0},
-{ 3, s_0_180, 179, -1, 0},
-{ 2, s_0_181, -1, -1, 0},
-{ 3, s_0_182, 181, -1, 0},
-{ 2, s_0_183, -1, -1, 0},
-{ 3, s_0_184, -1, -1, 0},
-{ 6, s_0_185, 184, -1, 0},
-{ 1, s_0_186, -1, -1, 0},
-{ 2, s_0_187, 186, -1, 0},
-{ 3, s_0_188, 187, -1, 0},
-{ 5, s_0_189, 188, -1, 0},
-{ 2, s_0_190, 186, -1, 0},
-{ 4, s_0_191, 190, -1, 0},
-{ 3, s_0_192, 190, -1, 0},
-{ 1, s_0_193, -1, -1, 0},
-{ 2, s_0_194, -1, -1, 0},
-{ 3, s_0_195, 194, -1, 0},
-{ 2, s_0_196, -1, -1, 0},
-{ 2, s_0_197, -1, -1, 0},
-{ 2, s_0_198, -1, -1, 0},
-{ 4, s_0_199, 198, -1, 0},
-{ 4, s_0_200, 198, -1, 0},
-{ 2, s_0_201, -1, -1, 0},
-{ 3, s_0_202, 201, -1, 0},
-{ 4, s_0_203, 201, -1, 0}
+{ 4, s_0_109, -1, -1, 0},
+{ 4, s_0_110, -3, -1, 0},
+{ 2, s_0_111, -4, -1, 0},
+{ 1, s_0_112, 0, -1, 0},
+{ 2, s_0_113, -1, -1, 0},
+{ 3, s_0_114, -1, -1, 0},
+{ 2, s_0_115, -3, -1, 0},
+{ 3, s_0_116, -1, -1, 0},
+{ 2, s_0_117, -5, -1, 0},
+{ 3, s_0_118, -1, -1, 0},
+{ 4, s_0_119, -1, -1, 0},
+{ 6, s_0_120, -3, -1, 0},
+{ 4, s_0_121, -4, -1, 0},
+{ 6, s_0_122, -1, -1, 0},
+{ 4, s_0_123, -6, -1, 0},
+{ 5, s_0_124, -1, -1, 0},
+{ 4, s_0_125, -8, -1, 0},
+{ 5, s_0_126, -9, -1, 0},
+{ 4, s_0_127, -10, -1, 0},
+{ 4, s_0_128, -11, -1, 0},
+{ 4, s_0_129, -12, -1, 0},
+{ 3, s_0_130, -18, -1, 0},
+{ 4, s_0_131, -1, -1, 0},
+{ 4, s_0_132, -20, -1, 0},
+{ 3, s_0_133, -21, -1, 0},
+{ 5, s_0_134, -1, -1, 0},
+{ 3, s_0_135, -23, -1, 0},
+{ 4, s_0_136, -1, -1, 0},
+{ 3, s_0_137, -25, -1, 0},
+{ 4, s_0_138, -26, -1, 0},
+{ 3, s_0_139, -27, -1, 0},
+{ 2, s_0_140, -28, -1, 0},
+{ 3, s_0_141, -1, -1, 0},
+{ 3, s_0_142, -2, -1, 0},
+{ 4, s_0_143, -1, -1, 0},
+{ 2, s_0_144, -32, -1, 0},
+{ 3, s_0_145, -1, -1, 0},
+{ 4, s_0_146, -1, -1, 0},
+{ 3, s_0_147, -3, -1, 0},
+{ 2, s_0_148, -36, -1, 0},
+{ 4, s_0_149, -1, -1, 0},
+{ 3, s_0_150, -38, -1, 0},
+{ 4, s_0_151, -1, -1, 0},
+{ 3, s_0_152, -40, -1, 0},
+{ 5, s_0_153, -1, -1, 0},
+{ 6, s_0_154, -1, -1, 0},
+{ 5, s_0_155, -3, -1, 0},
+{ 6, s_0_156, -1, -1, 0},
+{ 6, s_0_157, -2, -1, 0},
+{ 5, s_0_158, -6, -1, 0},
+{ 6, s_0_159, -7, -1, 0},
+{ 9, s_0_160, -1, -1, 0},
+{ 5, s_0_161, -9, -1, 0},
+{ 6, s_0_162, -1, -1, 0},
+{ 6, s_0_163, -11, -1, 0},
+{ 5, s_0_164, -12, -1, 0},
+{ 6, s_0_165, -13, -1, 0},
+{ 9, s_0_166, -1, -1, 0},
+{ 3, s_0_167, -55, -1, 0},
+{ 3, s_0_168, -56, -1, 0},
+{ 4, s_0_169, -57, -1, 0},
+{ 2, s_0_170, 0, -1, 0},
+{ 3, s_0_171, -1, -1, 0},
+{ 2, s_0_172, 0, -1, 0},
+{ 3, s_0_173, -1, -1, 0},
+{ 2, s_0_174, 0, -1, 0},
+{ 3, s_0_175, 0, -1, 0},
+{ 6, s_0_176, -1, -1, 0},
+{ 1, s_0_177, 0, -1, 0},
+{ 2, s_0_178, -1, -1, 0},
+{ 3, s_0_179, -1, -1, 0},
+{ 5, s_0_180, -1, -1, 0},
+{ 2, s_0_181, -4, -1, 0},
+{ 4, s_0_182, -1, -1, 0},
+{ 3, s_0_183, -2, -1, 0},
+{ 1, s_0_184, 0, -1, 0},
+{ 2, s_0_185, 0, -1, 0},
+{ 3, s_0_186, -1, -1, 0},
+{ 2, s_0_187, 0, -1, 0},
+{ 2, s_0_188, 0, -1, 0},
+{ 2, s_0_189, 0, -1, 0},
+{ 4, s_0_190, -1, -1, 0},
+{ 2, s_0_191, 0, -1, 0},
+{ 3, s_0_192, -1, -1, 0}
 };
 
 static const symbol s_1_0[3] = { 'i', 'n', 'g' };
@@ -501,71 +491,69 @@ static const symbol s_1_58[3] = { 0xC5, 0xA1, 'v' };
 static const symbol s_1_59[6] = { 'y', 'k', 0xC5, 0xA1, 0xC4, 0x8D };
 static const symbol s_1_60[2] = { 0xC4, 0x99 };
 static const symbol s_1_61[5] = { 0xC4, 0x97, 'j', 0xC4, 0x99 };
-
-static const struct among a_1[62] =
-{
-{ 3, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 3, s_1_2, 1, -1, 0},
-{ 3, s_1_3, -1, -1, 0},
-{ 2, s_1_4, -1, -1, 0},
-{ 3, s_1_5, 4, -1, 0},
-{ 3, s_1_6, 4, -1, 0},
-{ 4, s_1_7, 6, -1, 0},
-{ 3, s_1_8, -1, -1, 0},
-{ 3, s_1_9, -1, -1, 0},
-{ 4, s_1_10, 9, -1, 0},
-{ 3, s_1_11, -1, -1, 0},
-{ 3, s_1_12, -1, -1, 0},
-{ 4, s_1_13, 12, -1, 0},
-{ 2, s_1_14, -1, -1, 0},
-{ 3, s_1_15, 14, -1, 0},
-{ 3, s_1_16, -1, -1, 0},
-{ 5, s_1_17, 16, -1, 0},
-{ 6, s_1_18, 16, -1, 0},
-{ 4, s_1_19, -1, -1, 0},
-{ 3, s_1_20, -1, -1, 0},
-{ 2, s_1_21, -1, -1, 0},
-{ 3, s_1_22, -1, -1, 0},
-{ 2, s_1_23, -1, -1, 0},
-{ 3, s_1_24, 23, -1, 0},
-{ 3, s_1_25, 23, -1, 0},
-{ 4, s_1_26, -1, -1, 0},
-{ 3, s_1_27, -1, -1, 0},
-{ 3, s_1_28, -1, -1, 0},
-{ 2, s_1_29, -1, -1, 0},
-{ 3, s_1_30, 29, -1, 0},
-{ 3, s_1_31, -1, -1, 0},
-{ 3, s_1_32, -1, -1, 0},
-{ 3, s_1_33, -1, -1, 0},
-{ 4, s_1_34, 33, -1, 0},
-{ 2, s_1_35, -1, -1, 0},
-{ 3, s_1_36, 35, -1, 0},
-{ 3, s_1_37, 35, -1, 0},
-{ 4, s_1_38, 37, -1, 0},
-{ 3, s_1_39, -1, -1, 0},
-{ 4, s_1_40, 39, -1, 0},
-{ 3, s_1_41, -1, -1, 0},
-{ 4, s_1_42, 41, -1, 0},
-{ 3, s_1_43, -1, -1, 0},
-{ 7, s_1_44, -1, -1, 0},
-{ 3, s_1_45, -1, -1, 0},
-{ 4, s_1_46, 45, -1, 0},
-{ 5, s_1_47, 46, -1, 0},
-{ 3, s_1_48, -1, -1, 0},
-{ 2, s_1_49, -1, -1, 0},
-{ 3, s_1_50, 49, -1, 0},
-{ 4, s_1_51, 50, -1, 0},
-{ 2, s_1_52, -1, -1, 0},
-{ 3, s_1_53, -1, -1, 0},
-{ 5, s_1_54, -1, -1, 0},
-{ 3, s_1_55, -1, -1, 0},
-{ 3, s_1_56, -1, -1, 0},
-{ 2, s_1_57, -1, -1, 0},
-{ 3, s_1_58, -1, -1, 0},
-{ 6, s_1_59, -1, -1, 0},
-{ 2, s_1_60, -1, -1, 0},
-{ 5, s_1_61, 60, -1, 0}
+static const struct among a_1[62] = {
+{ 3, s_1_0, 0, -1, 0},
+{ 2, s_1_1, 0, -1, 0},
+{ 3, s_1_2, -1, -1, 0},
+{ 3, s_1_3, 0, -1, 0},
+{ 2, s_1_4, 0, -1, 0},
+{ 3, s_1_5, -1, -1, 0},
+{ 3, s_1_6, -2, -1, 0},
+{ 4, s_1_7, -1, -1, 0},
+{ 3, s_1_8, 0, -1, 0},
+{ 3, s_1_9, 0, -1, 0},
+{ 4, s_1_10, -1, -1, 0},
+{ 3, s_1_11, 0, -1, 0},
+{ 3, s_1_12, 0, -1, 0},
+{ 4, s_1_13, -1, -1, 0},
+{ 2, s_1_14, 0, -1, 0},
+{ 3, s_1_15, -1, -1, 0},
+{ 3, s_1_16, 0, -1, 0},
+{ 5, s_1_17, -1, -1, 0},
+{ 6, s_1_18, -2, -1, 0},
+{ 4, s_1_19, 0, -1, 0},
+{ 3, s_1_20, 0, -1, 0},
+{ 2, s_1_21, 0, -1, 0},
+{ 3, s_1_22, 0, -1, 0},
+{ 2, s_1_23, 0, -1, 0},
+{ 3, s_1_24, -1, -1, 0},
+{ 3, s_1_25, -2, -1, 0},
+{ 4, s_1_26, 0, -1, 0},
+{ 3, s_1_27, 0, -1, 0},
+{ 3, s_1_28, 0, -1, 0},
+{ 2, s_1_29, 0, -1, 0},
+{ 3, s_1_30, -1, -1, 0},
+{ 3, s_1_31, 0, -1, 0},
+{ 3, s_1_32, 0, -1, 0},
+{ 3, s_1_33, 0, -1, 0},
+{ 4, s_1_34, -1, -1, 0},
+{ 2, s_1_35, 0, -1, 0},
+{ 3, s_1_36, -1, -1, 0},
+{ 3, s_1_37, -2, -1, 0},
+{ 4, s_1_38, -1, -1, 0},
+{ 3, s_1_39, 0, -1, 0},
+{ 4, s_1_40, -1, -1, 0},
+{ 3, s_1_41, 0, -1, 0},
+{ 4, s_1_42, -1, -1, 0},
+{ 3, s_1_43, 0, -1, 0},
+{ 7, s_1_44, 0, -1, 0},
+{ 3, s_1_45, 0, -1, 0},
+{ 4, s_1_46, -1, -1, 0},
+{ 5, s_1_47, -1, -1, 0},
+{ 3, s_1_48, 0, -1, 0},
+{ 2, s_1_49, 0, -1, 0},
+{ 3, s_1_50, -1, -1, 0},
+{ 4, s_1_51, -1, -1, 0},
+{ 2, s_1_52, 0, -1, 0},
+{ 3, s_1_53, 0, -1, 0},
+{ 5, s_1_54, 0, -1, 0},
+{ 3, s_1_55, 0, -1, 0},
+{ 3, s_1_56, 0, -1, 0},
+{ 2, s_1_57, 0, -1, 0},
+{ 3, s_1_58, 0, -1, 0},
+{ 6, s_1_59, 0, -1, 0},
+{ 2, s_1_60, 0, -1, 0},
+{ 5, s_1_61, -1, -1, 0}
 };
 
 static const symbol s_2_0[5] = { 'o', 'j', 'i', 'm', 'e' };
@@ -579,86 +567,65 @@ static const symbol s_2_7[7] = { 'o', 'k', 'a', 't', 0xC4, 0x97, 's' };
 static const symbol s_2_8[6] = { 'a', 'i', 't', 0xC4, 0x97, 's' };
 static const symbol s_2_9[6] = { 'u', 'o', 't', 0xC4, 0x97, 's' };
 static const symbol s_2_10[4] = { 'e', 's', 'i', 'u' };
-
-static const struct among a_2[11] =
-{
-{ 5, s_2_0, -1, 7, 0},
-{ 6, s_2_1, -1, 3, 0},
-{ 5, s_2_2, -1, 6, 0},
-{ 5, s_2_3, -1, 8, 0},
-{ 4, s_2_4, -1, 1, 0},
-{ 4, s_2_5, -1, 2, 0},
-{ 5, s_2_6, -1, 5, 0},
-{ 7, s_2_7, -1, 8, 0},
-{ 6, s_2_8, -1, 1, 0},
-{ 6, s_2_9, -1, 2, 0},
-{ 4, s_2_10, -1, 4, 0}
+static const struct among a_2[11] = {
+{ 5, s_2_0, 0, 7, 0},
+{ 6, s_2_1, 0, 3, 0},
+{ 5, s_2_2, 0, 6, 0},
+{ 5, s_2_3, 0, 8, 0},
+{ 4, s_2_4, 0, 1, 0},
+{ 4, s_2_5, 0, 2, 0},
+{ 5, s_2_6, 0, 5, 0},
+{ 7, s_2_7, 0, 8, 0},
+{ 6, s_2_8, 0, 1, 0},
+{ 6, s_2_9, 0, 2, 0},
+{ 4, s_2_10, 0, 4, 0}
 };
 
 static const symbol s_3_0[2] = { 0xC4, 0x8D };
 static const symbol s_3_1[3] = { 'd', 0xC5, 0xBE };
-
-static const struct among a_3[2] =
-{
-{ 2, s_3_0, -1, 1, 0},
-{ 3, s_3_1, -1, 2, 0}
-};
-
-static const symbol s_4_0[2] = { 'g', 'd' };
-
-static const struct among a_4[1] =
-{
-{ 2, s_4_0, -1, 1, 0}
+static const struct among a_3[2] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 3, s_3_1, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 64, 1, 0, 64, 0, 0, 0, 0, 0, 0, 0, 4, 4 };
 
-static const symbol s_0[] = { 'a', 'i', 't', 0xC4, 0x97 };
-static const symbol s_1[] = { 'u', 'o', 't', 0xC4, 0x97 };
-static const symbol s_2[] = { 0xC4, 0x97, 'j', 'i', 'm', 'a', 's' };
-static const symbol s_3[] = { 'e', 's', 'y', 's' };
-static const symbol s_4[] = { 'a', 's', 'y', 's' };
-static const symbol s_5[] = { 'a', 'v', 'i', 'm', 'a', 's' };
-static const symbol s_6[] = { 'o', 'j', 'i', 'm', 'a', 's' };
-static const symbol s_7[] = { 'o', 'k', 'a', 't', 0xC4, 0x97 };
-static const symbol s_8[] = { 't' };
-static const symbol s_9[] = { 'd' };
-static const symbol s_10[] = { 'g' };
-
 static int r_step1(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[0]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[0];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (!find_among_b(z, a_0, 204)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_0, 193, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_step2(struct SN_env * z) {
-    while(1) {
-        int m1 = z->l - z->c; (void)m1;
-
-        {   int mlimit2;
-            if (z->c < z->I[0]) goto lab0;
-            mlimit2 = z->lb; z->lb = z->I[0];
+    while (1) {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) goto lab0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
             z->ket = z->c;
-            if (!find_among_b(z, a_1, 62)) { z->lb = mlimit2; goto lab0; }
+            if (!find_among_b(z, a_1, 62, 0)) { z->lb = v_2; goto lab0; }
             z->bra = z->c;
-            z->lb = mlimit2;
+            z->lb = v_2;
         }
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
         break;
     }
     return 1;
@@ -668,47 +635,55 @@ static int r_fix_conflicts(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 3 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((2621472 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_2, 11);
+    among_var = find_among_b(z, a_2, 11, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 5, s_0);
+            {
+                int ret = slice_from_s(z, 5, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 5, s_1);
+            {
+                int ret = slice_from_s(z, 5, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 7, s_2);
+            {
+                int ret = slice_from_s(z, 7, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_3);
+            {
+                int ret = slice_from_s(z, 4, s_3);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 4, s_4);
+            {
+                int ret = slice_from_s(z, 4, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 6, s_5);
+            {
+                int ret = slice_from_s(z, 6, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 6, s_6);
+            {
+                int ret = slice_from_s(z, 6, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 6, s_7);
+            {
+                int ret = slice_from_s(z, 6, s_7);
                 if (ret < 0) return ret;
             }
             break;
@@ -720,17 +695,19 @@ static int r_fix_chdz(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 190)) return 0;
-    among_var = find_among_b(z, a_3, 2);
+    among_var = find_among_b(z, a_3, 2, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_9);
+            {
+                int ret = slice_from_s(z, 1, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -740,91 +717,103 @@ static int r_fix_chdz(struct SN_env * z) {
 
 static int r_fix_gd(struct SN_env * z) {
     z->ket = z->c;
-    if (z->c - 1 <= z->lb || z->p[z->c - 1] != 100) return 0;
-    if (!find_among_b(z, a_4, 1)) return 0;
+    if (!(eq_s_b(z, 2, s_10))) return 0;
     z->bra = z->c;
-    {   int ret = slice_from_s(z, 1, s_10);
+    {
+        int ret = slice_from_s(z, 1, s_11);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int lithuanian_UTF_8_stem(struct SN_env * z) {
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            {   int c_test3 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'a') { z->c = c2; goto lab1; }
-                z->c++;
-                z->c = c_test3;
-            }
-            if (len_utf8(z->p) <= 6) { z->c = c2; goto lab1; }
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
-                if (ret < 0) { z->c = c2; goto lab1; }
-                z->c = ret;
-            }
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int v_2 = z->c;
+            if (z->c == z->l || z->p[z->c] != 'a') { z->c = v_2; goto lab1; }
+            z->c++;
+            if (len_utf8(z->p) <= 6) { z->c = v_2; goto lab1; }
         lab1:
             ;
         }
-
         {
             int ret = out_grouping_U(z, g_v, 97, 371, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 371, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p1 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_fix_conflicts(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_fix_conflicts(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_3;
     }
-    {   int m5 = z->l - z->c; (void)m5;
-        {   int ret = r_step1(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_step1(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m5;
+        z->c = z->l - v_4;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_fix_chdz(z);
+    {
+        int v_5 = z->l - z->c;
+        {
+            int ret = r_fix_chdz(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_5;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_step2(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_step2(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_6;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_fix_chdz(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_fix_chdz(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_7;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_fix_gd(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_fix_gd(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_8;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * lithuanian_UTF_8_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * lithuanian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void lithuanian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void lithuanian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 7cec8523cfa1f2c3b3e9b6d3ef9f4d7534e98be1..8d148e7d85db1a2d3c791eda44948e596d61b06b 100644 (file)
@@ -1,6 +1,10 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from nepali.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_nepali.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,22 +13,19 @@ extern int nepali_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_remove_category_3(struct SN_env * z);
 static int r_remove_category_2(struct SN_env * z);
-static int r_check_category_2(struct SN_env * z);
 static int r_remove_category_1(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * nepali_UTF_8_create_env(void);
-extern void nepali_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xE0, 0xA4, 0x8F };
+static const symbol s_1[] = { 0xE0, 0xA5, 0x87 };
+static const symbol s_2[] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
+static const symbol s_3[] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_4[] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8C };
+static const symbol s_5[] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
+static const symbol s_6[] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB0 };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
 static const symbol s_0_1[9] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0x87 };
 static const symbol s_0_2[6] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA5, 0x87 };
@@ -42,320 +43,288 @@ static const symbol s_0_13[6] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE };
 static const symbol s_0_14[18] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB5, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBE };
 static const symbol s_0_15[6] = { 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBF };
 static const symbol s_0_16[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF };
-
-static const struct among a_0[17] =
-{
-{ 6, s_0_0, -1, 2, 0},
-{ 9, s_0_1, -1, 1, 0},
-{ 6, s_0_2, -1, 1, 0},
-{ 9, s_0_3, -1, 1, 0},
-{ 6, s_0_4, -1, 2, 0},
-{ 12, s_0_5, -1, 1, 0},
-{ 6, s_0_6, -1, 1, 0},
-{ 6, s_0_7, -1, 2, 0},
-{ 9, s_0_8, -1, 1, 0},
-{ 9, s_0_9, -1, 1, 0},
-{ 18, s_0_10, -1, 1, 0},
-{ 6, s_0_11, -1, 1, 0},
-{ 6, s_0_12, -1, 2, 0},
-{ 6, s_0_13, -1, 1, 0},
-{ 18, s_0_14, -1, 1, 0},
-{ 6, s_0_15, -1, 2, 0},
-{ 9, s_0_16, -1, 1, 0}
+static const struct among a_0[17] = {
+{ 6, s_0_0, 0, 2, 0},
+{ 9, s_0_1, 0, 1, 0},
+{ 6, s_0_2, 0, 1, 0},
+{ 9, s_0_3, 0, 1, 0},
+{ 6, s_0_4, 0, 2, 0},
+{ 12, s_0_5, 0, 1, 0},
+{ 6, s_0_6, 0, 1, 0},
+{ 6, s_0_7, 0, 2, 0},
+{ 9, s_0_8, 0, 1, 0},
+{ 9, s_0_9, 0, 1, 0},
+{ 18, s_0_10, 0, 1, 0},
+{ 6, s_0_11, 0, 1, 0},
+{ 6, s_0_12, 0, 2, 0},
+{ 6, s_0_13, 0, 1, 0},
+{ 18, s_0_14, 0, 1, 0},
+{ 6, s_0_15, 0, 2, 0},
+{ 9, s_0_16, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 0xE0, 0xA4, 0x81 };
 static const symbol s_1_1[3] = { 0xE0, 0xA4, 0x82 };
 static const symbol s_1_2[3] = { 0xE0, 0xA5, 0x88 };
-
-static const struct among a_1[3] =
-{
-{ 3, s_1_0, -1, -1, 0},
-{ 3, s_1_1, -1, -1, 0},
-{ 3, s_1_2, -1, -1, 0}
+static const struct among a_1[3] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 3, s_1_1, 0, 1, 0},
+{ 3, s_1_2, 0, 2, 0}
 };
 
-static const symbol s_2_0[3] = { 0xE0, 0xA4, 0x81 };
-static const symbol s_2_1[3] = { 0xE0, 0xA4, 0x82 };
-static const symbol s_2_2[3] = { 0xE0, 0xA5, 0x88 };
-
-static const struct among a_2[3] =
-{
-{ 3, s_2_0, -1, 1, 0},
-{ 3, s_2_1, -1, 1, 0},
-{ 3, s_2_2, -1, 2, 0}
-};
-
-static const symbol s_3_0[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_1[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_2[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_3[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_4[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_5[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_6[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x80 };
-static const symbol s_3_7[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_8[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_9[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_10[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_11[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_12[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x81 };
-static const symbol s_3_13[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x82 };
-static const symbol s_3_14[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87 };
-static const symbol s_3_15[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
-static const symbol s_3_16[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
-static const symbol s_3_17[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_18[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_19[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_20[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_21[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_22[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
-static const symbol s_3_23[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_24[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_25[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_26[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_27[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_28[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_29[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_30[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_31[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_32[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_33[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_34[9] = { 0xE0, 0xA4, 0xAD, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_35[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_36[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_37[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
-static const symbol s_3_38[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_39[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_40[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_41[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_42[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_43[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_44[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_45[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_46[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_47[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
-static const symbol s_3_48[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_49[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_50[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_51[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_52[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_53[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_54[12] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_55[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_56[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_57[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_58[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_59[15] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_60[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_61[12] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_62[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_63[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_64[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_65[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_66[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_67[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_68[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_69[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
-static const symbol s_3_70[9] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F };
-static const symbol s_3_71[3] = { 0xE0, 0xA4, 0x9B };
-static const symbol s_3_72[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_73[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_74[9] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_75[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_76[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_77[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_78[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_79[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_80[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B };
-static const symbol s_3_81[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_82[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_83[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_84[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_85[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_86[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_87[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_88[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
-static const symbol s_3_89[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBF };
-static const symbol s_3_90[12] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF };
-
-static const struct among a_3[91] =
-{
-{ 9, s_3_0, -1, 1, 0},
-{ 9, s_3_1, -1, 1, 0},
-{ 12, s_3_2, 1, 1, 0},
-{ 12, s_3_3, 1, 1, 0},
-{ 12, s_3_4, -1, 1, 0},
-{ 6, s_3_5, -1, 1, 0},
-{ 6, s_3_6, -1, 1, 0},
-{ 6, s_3_7, -1, 1, 0},
-{ 9, s_3_8, 7, 1, 0},
-{ 12, s_3_9, 8, 1, 0},
-{ 9, s_3_10, 7, 1, 0},
-{ 6, s_3_11, -1, 1, 0},
-{ 9, s_3_12, -1, 1, 0},
-{ 9, s_3_13, -1, 1, 0},
-{ 6, s_3_14, -1, 1, 0},
-{ 6, s_3_15, -1, 1, 0},
-{ 6, s_3_16, -1, 1, 0},
-{ 9, s_3_17, -1, 1, 0},
-{ 12, s_3_18, 17, 1, 0},
-{ 9, s_3_19, -1, 1, 0},
-{ 6, s_3_20, -1, 1, 0},
-{ 9, s_3_21, 20, 1, 0},
-{ 9, s_3_22, 20, 1, 0},
-{ 9, s_3_23, -1, 1, 0},
-{ 12, s_3_24, 23, 1, 0},
-{ 9, s_3_25, -1, 1, 0},
-{ 12, s_3_26, 25, 1, 0},
-{ 12, s_3_27, 25, 1, 0},
-{ 6, s_3_28, -1, 1, 0},
-{ 9, s_3_29, 28, 1, 0},
-{ 9, s_3_30, 28, 1, 0},
-{ 6, s_3_31, -1, 1, 0},
-{ 9, s_3_32, 31, 1, 0},
-{ 12, s_3_33, 31, 1, 0},
-{ 9, s_3_34, 31, 1, 0},
-{ 9, s_3_35, 31, 1, 0},
-{ 12, s_3_36, 35, 1, 0},
-{ 12, s_3_37, 35, 1, 0},
-{ 6, s_3_38, -1, 1, 0},
-{ 9, s_3_39, 38, 1, 0},
-{ 9, s_3_40, 38, 1, 0},
-{ 12, s_3_41, 40, 1, 0},
-{ 9, s_3_42, 38, 1, 0},
-{ 9, s_3_43, 38, 1, 0},
-{ 6, s_3_44, -1, 1, 0},
-{ 12, s_3_45, 44, 1, 0},
-{ 12, s_3_46, 44, 1, 0},
-{ 12, s_3_47, 44, 1, 0},
-{ 9, s_3_48, -1, 1, 0},
-{ 12, s_3_49, 48, 1, 0},
-{ 12, s_3_50, 48, 1, 0},
-{ 15, s_3_51, 50, 1, 0},
-{ 12, s_3_52, 48, 1, 0},
-{ 12, s_3_53, 48, 1, 0},
-{ 12, s_3_54, -1, 1, 0},
-{ 12, s_3_55, -1, 1, 0},
-{ 12, s_3_56, -1, 1, 0},
-{ 9, s_3_57, -1, 1, 0},
-{ 9, s_3_58, -1, 1, 0},
-{ 15, s_3_59, 58, 1, 0},
-{ 12, s_3_60, -1, 1, 0},
-{ 12, s_3_61, -1, 1, 0},
-{ 9, s_3_62, -1, 1, 0},
-{ 12, s_3_63, 62, 1, 0},
-{ 12, s_3_64, 62, 1, 0},
-{ 15, s_3_65, 64, 1, 0},
-{ 12, s_3_66, 62, 1, 0},
-{ 12, s_3_67, 62, 1, 0},
-{ 9, s_3_68, -1, 1, 0},
-{ 12, s_3_69, 68, 1, 0},
-{ 9, s_3_70, -1, 1, 0},
-{ 3, s_3_71, -1, 1, 0},
-{ 6, s_3_72, 71, 1, 0},
-{ 6, s_3_73, 71, 1, 0},
-{ 9, s_3_74, 73, 1, 0},
-{ 15, s_3_75, 74, 1, 0},
-{ 15, s_3_76, 71, 1, 0},
-{ 12, s_3_77, 71, 1, 0},
-{ 12, s_3_78, 71, 1, 0},
-{ 6, s_3_79, 71, 1, 0},
-{ 6, s_3_80, 71, 1, 0},
-{ 9, s_3_81, -1, 1, 0},
-{ 12, s_3_82, 81, 1, 0},
-{ 9, s_3_83, -1, 1, 0},
-{ 12, s_3_84, 83, 1, 0},
-{ 12, s_3_85, 83, 1, 0},
-{ 6, s_3_86, -1, 1, 0},
-{ 9, s_3_87, 86, 1, 0},
-{ 9, s_3_88, 86, 1, 0},
-{ 12, s_3_89, -1, 1, 0},
-{ 12, s_3_90, -1, 1, 0}
+static const symbol s_2_0[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_1[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_2[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_3[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_4[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_5[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_6[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x80 };
+static const symbol s_2_7[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_8[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_9[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_10[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_11[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_12[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x81 };
+static const symbol s_2_13[9] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x82 };
+static const symbol s_2_14[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87 };
+static const symbol s_2_15[6] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
+static const symbol s_2_16[6] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87 };
+static const symbol s_2_17[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_18[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_19[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_20[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_21[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_22[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x88 };
+static const symbol s_2_23[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_24[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_25[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_26[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_27[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_28[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_29[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_30[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_31[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_32[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_33[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_34[9] = { 0xE0, 0xA4, 0xAD, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_35[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_36[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_37[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8B };
+static const symbol s_2_38[6] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_39[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_40[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_41[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_42[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_43[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_44[6] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_45[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_46[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_47[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
+static const symbol s_2_48[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_49[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_50[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_51[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_52[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_53[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_54[12] = { 0xE0, 0xA4, 0xB2, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_55[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_56[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_57[9] = { 0xE0, 0xA4, 0xAA, 0xE0, 0xA4, 0xB0, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_58[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_59[15] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_60[12] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_61[12] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x8B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_62[9] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_63[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_64[12] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_65[15] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_66[12] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_67[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_68[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_69[12] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xB8, 0xE0, 0xA5, 0x8D };
+static const symbol s_2_70[9] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F };
+static const symbol s_2_71[3] = { 0xE0, 0xA4, 0x9B };
+static const symbol s_2_72[6] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_73[6] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_74[9] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_75[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_76[15] = { 0xE0, 0xA4, 0xB9, 0xE0, 0xA5, 0x81, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_77[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_78[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_79[6] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_80[6] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x9B };
+static const symbol s_2_81[9] = { 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_82[12] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_83[9] = { 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_84[12] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_85[12] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0x8F, 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_86[6] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_87[9] = { 0xE0, 0xA4, 0x87, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_88[9] = { 0xE0, 0xA4, 0xBF, 0xE0, 0xA4, 0xA6, 0xE0, 0xA4, 0xBE };
+static const symbol s_2_89[12] = { 0xE0, 0xA4, 0xA6, 0xE0, 0xA5, 0x87, 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBF };
+static const symbol s_2_90[12] = { 0xE0, 0xA4, 0xAE, 0xE0, 0xA4, 0xBE, 0xE0, 0xA4, 0xA5, 0xE0, 0xA4, 0xBF };
+static const struct among a_2[91] = {
+{ 9, s_2_0, 0, 1, 0},
+{ 9, s_2_1, 0, 1, 0},
+{ 12, s_2_2, -1, 1, 0},
+{ 12, s_2_3, -2, 1, 0},
+{ 12, s_2_4, 0, 1, 0},
+{ 6, s_2_5, 0, 1, 0},
+{ 6, s_2_6, 0, 1, 0},
+{ 6, s_2_7, 0, 1, 0},
+{ 9, s_2_8, -1, 1, 0},
+{ 12, s_2_9, -1, 1, 0},
+{ 9, s_2_10, -3, 1, 0},
+{ 6, s_2_11, 0, 1, 0},
+{ 9, s_2_12, 0, 1, 0},
+{ 9, s_2_13, 0, 1, 0},
+{ 6, s_2_14, 0, 1, 0},
+{ 6, s_2_15, 0, 1, 0},
+{ 6, s_2_16, 0, 1, 0},
+{ 9, s_2_17, 0, 1, 0},
+{ 12, s_2_18, -1, 1, 0},
+{ 9, s_2_19, 0, 1, 0},
+{ 6, s_2_20, 0, 1, 0},
+{ 9, s_2_21, -1, 1, 0},
+{ 9, s_2_22, -2, 1, 0},
+{ 9, s_2_23, 0, 1, 0},
+{ 12, s_2_24, -1, 1, 0},
+{ 9, s_2_25, 0, 1, 0},
+{ 12, s_2_26, -1, 1, 0},
+{ 12, s_2_27, -2, 1, 0},
+{ 6, s_2_28, 0, 1, 0},
+{ 9, s_2_29, -1, 1, 0},
+{ 9, s_2_30, -2, 1, 0},
+{ 6, s_2_31, 0, 1, 0},
+{ 9, s_2_32, -1, 1, 0},
+{ 12, s_2_33, -2, 1, 0},
+{ 9, s_2_34, -3, 1, 0},
+{ 9, s_2_35, -4, 1, 0},
+{ 12, s_2_36, -1, 1, 0},
+{ 12, s_2_37, -2, 1, 0},
+{ 6, s_2_38, 0, 1, 0},
+{ 9, s_2_39, -1, 1, 0},
+{ 9, s_2_40, -2, 1, 0},
+{ 12, s_2_41, -1, 1, 0},
+{ 9, s_2_42, -4, 1, 0},
+{ 9, s_2_43, -5, 1, 0},
+{ 6, s_2_44, 0, 1, 0},
+{ 12, s_2_45, -1, 1, 0},
+{ 12, s_2_46, -2, 1, 0},
+{ 12, s_2_47, -3, 1, 0},
+{ 9, s_2_48, 0, 1, 0},
+{ 12, s_2_49, -1, 1, 0},
+{ 12, s_2_50, -2, 1, 0},
+{ 15, s_2_51, -1, 1, 0},
+{ 12, s_2_52, -4, 1, 0},
+{ 12, s_2_53, -5, 1, 0},
+{ 12, s_2_54, 0, 1, 0},
+{ 12, s_2_55, 0, 1, 0},
+{ 12, s_2_56, 0, 1, 0},
+{ 9, s_2_57, 0, 1, 0},
+{ 9, s_2_58, 0, 1, 0},
+{ 15, s_2_59, -1, 1, 0},
+{ 12, s_2_60, 0, 1, 0},
+{ 12, s_2_61, 0, 1, 0},
+{ 9, s_2_62, 0, 1, 0},
+{ 12, s_2_63, -1, 1, 0},
+{ 12, s_2_64, -2, 1, 0},
+{ 15, s_2_65, -1, 1, 0},
+{ 12, s_2_66, -4, 1, 0},
+{ 12, s_2_67, -5, 1, 0},
+{ 9, s_2_68, 0, 1, 0},
+{ 12, s_2_69, -1, 1, 0},
+{ 9, s_2_70, 0, 1, 0},
+{ 3, s_2_71, 0, 1, 0},
+{ 6, s_2_72, -1, 1, 0},
+{ 6, s_2_73, -2, 1, 0},
+{ 9, s_2_74, -1, 1, 0},
+{ 15, s_2_75, -1, 1, 0},
+{ 15, s_2_76, -5, 1, 0},
+{ 12, s_2_77, -6, 1, 0},
+{ 12, s_2_78, -7, 1, 0},
+{ 6, s_2_79, -8, 1, 0},
+{ 6, s_2_80, -9, 1, 0},
+{ 9, s_2_81, 0, 1, 0},
+{ 12, s_2_82, -1, 1, 0},
+{ 9, s_2_83, 0, 1, 0},
+{ 12, s_2_84, -1, 1, 0},
+{ 12, s_2_85, -2, 1, 0},
+{ 6, s_2_86, 0, 1, 0},
+{ 9, s_2_87, -1, 1, 0},
+{ 9, s_2_88, -2, 1, 0},
+{ 12, s_2_89, 0, 1, 0},
+{ 12, s_2_90, 0, 1, 0}
 };
 
-static const symbol s_0[] = { 0xE0, 0xA4, 0x8F };
-static const symbol s_1[] = { 0xE0, 0xA5, 0x87 };
-static const symbol s_2[] = { 0xE0, 0xA4, 0xAF, 0xE0, 0xA5, 0x8C };
-static const symbol s_3[] = { 0xE0, 0xA4, 0x9B, 0xE0, 0xA5, 0x8C };
-static const symbol s_4[] = { 0xE0, 0xA4, 0xA8, 0xE0, 0xA5, 0x8C };
-static const symbol s_5[] = { 0xE0, 0xA4, 0xA5, 0xE0, 0xA5, 0x87 };
-static const symbol s_6[] = { 0xE0, 0xA4, 0xA4, 0xE0, 0xA5, 0x8D, 0xE0, 0xA4, 0xB0 };
-
 static int r_remove_category_1(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_0, 17);
+    among_var = find_among_b(z, a_0, 17, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                {   int m2 = z->l - z->c; (void)m2;
-                    if (!(eq_s_b(z, 3, s_0))) goto lab3;
-                    goto lab2;
-                lab3:
-                    z->c = z->l - m2;
-                    if (!(eq_s_b(z, 3, s_1))) goto lab1;
-                }
-            lab2:
-                goto lab0;
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_0))) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 3, s_1))) goto lab1;
+                break;
             lab1:
-                z->c = z->l - m1;
-                {   int ret = slice_del(z);
+                z->c = z->l - v_1;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-            }
-        lab0:
+            } while (0);
             break;
     }
     return 1;
 }
 
-static int r_check_category_2(struct SN_env * z) {
-    z->ket = z->c;
-    if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 3)) return 0;
-    z->bra = z->c;
-    return 1;
-}
-
 static int r_remove_category_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((262 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_2, 3);
+    among_var = find_among_b(z, a_1, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (!(eq_s_b(z, 6, s_2))) goto lab1;
-                goto lab0;
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 6, s_2))) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 6, s_3))) goto lab1;
+                break;
             lab1:
-                z->c = z->l - m1;
-                if (!(eq_s_b(z, 6, s_3))) goto lab2;
-                goto lab0;
+                z->c = z->l - v_1;
+                if (!(eq_s_b(z, 6, s_4))) goto lab2;
+                break;
             lab2:
-                z->c = z->l - m1;
-                if (!(eq_s_b(z, 6, s_4))) goto lab3;
-                goto lab0;
-            lab3:
-                z->c = z->l - m1;
+                z->c = z->l - v_1;
                 if (!(eq_s_b(z, 6, s_5))) return 0;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (!(eq_s_b(z, 9, s_6))) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -365,9 +334,10 @@ static int r_remove_category_2(struct SN_env * z) {
 
 static int r_remove_category_3(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_3, 91)) return 0;
+    if (!find_among_b(z, a_2, 91, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -375,47 +345,43 @@ static int r_remove_category_3(struct SN_env * z) {
 
 extern int nepali_UTF_8_stem(struct SN_env * z) {
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_remove_category_1(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_remove_category_1(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        while(1) {
-            int m3 = z->l - z->c; (void)m3;
-            {   int m4 = z->l - z->c; (void)m4;
-                {   int m5 = z->l - z->c; (void)m5;
-                    {   int ret = r_check_category_2(z);
-                        if (ret == 0) goto lab2;
-                        if (ret < 0) return ret;
-                    }
-                    z->c = z->l - m5;
-                    {   int ret = r_remove_category_2(z);
-                        if (ret == 0) goto lab2;
-                        if (ret < 0) return ret;
-                    }
-                }
-            lab2:
-                z->c = z->l - m4;
-            }
-            {   int ret = r_remove_category_3(z);
-                if (ret == 0) goto lab1;
+    while (1) {
+        int v_2 = z->l - z->c;
+        {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_remove_category_2(z);
                 if (ret < 0) return ret;
             }
-            continue;
-        lab1:
-            z->c = z->l - m3;
-            break;
+            z->c = z->l - v_3;
+        }
+        {
+            int ret = r_remove_category_3(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        continue;
+    lab0:
+        z->c = z->l - v_2;
+        break;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * nepali_UTF_8_create_env(void) { return SN_create_env(0, 0); }
+extern struct SN_env * nepali_UTF_8_create_env(void) {
+    return SN_new_env(sizeof(struct SN_env));
+}
 
-extern void nepali_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void nepali_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 8d50961d50bf1a2febb941f6539aa1e021d410d1..a85c76132605a605ecda280bf4323632043cfbca 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from norwegian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_norwegian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,189 +20,237 @@ extern int norwegian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 
-extern struct SN_env * norwegian_UTF_8_create_env(void);
-extern void norwegian_UTF_8_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[1] = { 'a' };
-static const symbol s_0_1[1] = { 'e' };
-static const symbol s_0_2[3] = { 'e', 'd', 'e' };
-static const symbol s_0_3[4] = { 'a', 'n', 'd', 'e' };
-static const symbol s_0_4[4] = { 'e', 'n', 'd', 'e' };
-static const symbol s_0_5[3] = { 'a', 'n', 'e' };
-static const symbol s_0_6[3] = { 'e', 'n', 'e' };
-static const symbol s_0_7[6] = { 'h', 'e', 't', 'e', 'n', 'e' };
-static const symbol s_0_8[4] = { 'e', 'r', 't', 'e' };
-static const symbol s_0_9[2] = { 'e', 'n' };
-static const symbol s_0_10[5] = { 'h', 'e', 't', 'e', 'n' };
-static const symbol s_0_11[2] = { 'a', 'r' };
-static const symbol s_0_12[2] = { 'e', 'r' };
-static const symbol s_0_13[5] = { 'h', 'e', 't', 'e', 'r' };
-static const symbol s_0_14[1] = { 's' };
-static const symbol s_0_15[2] = { 'a', 's' };
-static const symbol s_0_16[2] = { 'e', 's' };
-static const symbol s_0_17[4] = { 'e', 'd', 'e', 's' };
-static const symbol s_0_18[5] = { 'e', 'n', 'd', 'e', 's' };
-static const symbol s_0_19[4] = { 'e', 'n', 'e', 's' };
-static const symbol s_0_20[7] = { 'h', 'e', 't', 'e', 'n', 'e', 's' };
-static const symbol s_0_21[3] = { 'e', 'n', 's' };
-static const symbol s_0_22[6] = { 'h', 'e', 't', 'e', 'n', 's' };
-static const symbol s_0_23[3] = { 'e', 'r', 's' };
-static const symbol s_0_24[3] = { 'e', 't', 's' };
-static const symbol s_0_25[2] = { 'e', 't' };
-static const symbol s_0_26[3] = { 'h', 'e', 't' };
-static const symbol s_0_27[3] = { 'e', 'r', 't' };
-static const symbol s_0_28[3] = { 'a', 's', 't' };
+static const symbol s_0[] = { 'e', 'r' };
 
-static const struct among a_0[29] =
-{
-{ 1, s_0_0, -1, 1, 0},
-{ 1, s_0_1, -1, 1, 0},
-{ 3, s_0_2, 1, 1, 0},
-{ 4, s_0_3, 1, 1, 0},
-{ 4, s_0_4, 1, 1, 0},
-{ 3, s_0_5, 1, 1, 0},
-{ 3, s_0_6, 1, 1, 0},
-{ 6, s_0_7, 6, 1, 0},
-{ 4, s_0_8, 1, 3, 0},
-{ 2, s_0_9, -1, 1, 0},
-{ 5, s_0_10, 9, 1, 0},
-{ 2, s_0_11, -1, 1, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 5, s_0_13, 12, 1, 0},
-{ 1, s_0_14, -1, 2, 0},
-{ 2, s_0_15, 14, 1, 0},
-{ 2, s_0_16, 14, 1, 0},
-{ 4, s_0_17, 16, 1, 0},
-{ 5, s_0_18, 16, 1, 0},
-{ 4, s_0_19, 16, 1, 0},
-{ 7, s_0_20, 19, 1, 0},
-{ 3, s_0_21, 14, 1, 0},
-{ 6, s_0_22, 21, 1, 0},
-{ 3, s_0_23, 14, 1, 0},
-{ 3, s_0_24, 14, 1, 0},
-{ 2, s_0_25, -1, 1, 0},
-{ 3, s_0_26, 25, 1, 0},
-{ 3, s_0_27, -1, 3, 0},
-{ 3, s_0_28, -1, 1, 0}
+static const symbol s_0_1[3] = { 'i', 'n', 'd' };
+static const symbol s_0_2[2] = { 'k', 'k' };
+static const symbol s_0_3[2] = { 'n', 'k' };
+static const symbol s_0_4[3] = { 'a', 'm', 'm' };
+static const symbol s_0_5[3] = { 'o', 'm', 'm' };
+static const symbol s_0_6[3] = { 'k', 'a', 'p' };
+static const symbol s_0_7[4] = { 's', 'k', 'a', 'p' };
+static const symbol s_0_8[2] = { 'p', 'p' };
+static const symbol s_0_9[2] = { 'l', 't' };
+static const symbol s_0_10[3] = { 'a', 's', 't' };
+static const symbol s_0_11[4] = { 0xC3, 0xB8, 's', 't' };
+static const symbol s_0_12[1] = { 'v' };
+static const symbol s_0_13[3] = { 'h', 'a', 'v' };
+static const symbol s_0_14[3] = { 'g', 'i', 'v' };
+static const struct among a_0[15] = {
+{ 0, 0, 0, 1, 0},
+{ 3, s_0_1, -1, -1, 0},
+{ 2, s_0_2, -2, -1, 0},
+{ 2, s_0_3, -3, -1, 0},
+{ 3, s_0_4, -4, -1, 0},
+{ 3, s_0_5, -5, -1, 0},
+{ 3, s_0_6, -6, -1, 0},
+{ 4, s_0_7, -1, 1, 0},
+{ 2, s_0_8, -8, -1, 0},
+{ 2, s_0_9, -9, -1, 0},
+{ 3, s_0_10, -10, -1, 0},
+{ 4, s_0_11, -11, -1, 0},
+{ 1, s_0_12, -12, -1, 0},
+{ 3, s_0_13, -1, 1, 0},
+{ 3, s_0_14, -2, 1, 0}
 };
 
-static const symbol s_1_0[2] = { 'd', 't' };
-static const symbol s_1_1[2] = { 'v', 't' };
-
-static const struct among a_1[2] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0}
+static const symbol s_1_0[1] = { 'a' };
+static const symbol s_1_1[1] = { 'e' };
+static const symbol s_1_2[3] = { 'e', 'd', 'e' };
+static const symbol s_1_3[4] = { 'a', 'n', 'd', 'e' };
+static const symbol s_1_4[4] = { 'e', 'n', 'd', 'e' };
+static const symbol s_1_5[3] = { 'a', 'n', 'e' };
+static const symbol s_1_6[3] = { 'e', 'n', 'e' };
+static const symbol s_1_7[6] = { 'h', 'e', 't', 'e', 'n', 'e' };
+static const symbol s_1_8[4] = { 'e', 'r', 't', 'e' };
+static const symbol s_1_9[2] = { 'e', 'n' };
+static const symbol s_1_10[5] = { 'h', 'e', 't', 'e', 'n' };
+static const symbol s_1_11[2] = { 'a', 'r' };
+static const symbol s_1_12[2] = { 'e', 'r' };
+static const symbol s_1_13[5] = { 'h', 'e', 't', 'e', 'r' };
+static const symbol s_1_14[1] = { 's' };
+static const symbol s_1_15[2] = { 'a', 's' };
+static const symbol s_1_16[2] = { 'e', 's' };
+static const symbol s_1_17[4] = { 'e', 'd', 'e', 's' };
+static const symbol s_1_18[5] = { 'e', 'n', 'd', 'e', 's' };
+static const symbol s_1_19[4] = { 'e', 'n', 'e', 's' };
+static const symbol s_1_20[7] = { 'h', 'e', 't', 'e', 'n', 'e', 's' };
+static const symbol s_1_21[3] = { 'e', 'n', 's' };
+static const symbol s_1_22[6] = { 'h', 'e', 't', 'e', 'n', 's' };
+static const symbol s_1_23[3] = { 'e', 'r', 's' };
+static const symbol s_1_24[3] = { 'e', 't', 's' };
+static const symbol s_1_25[2] = { 'e', 't' };
+static const symbol s_1_26[3] = { 'h', 'e', 't' };
+static const symbol s_1_27[3] = { 'e', 'r', 't' };
+static const symbol s_1_28[3] = { 'a', 's', 't' };
+static const struct among a_1[29] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 1, s_1_1, 0, 1, 0},
+{ 3, s_1_2, -1, 1, 0},
+{ 4, s_1_3, -2, 1, 0},
+{ 4, s_1_4, -3, 1, 0},
+{ 3, s_1_5, -4, 1, 0},
+{ 3, s_1_6, -5, 1, 0},
+{ 6, s_1_7, -1, 1, 0},
+{ 4, s_1_8, -7, 4, 0},
+{ 2, s_1_9, 0, 1, 0},
+{ 5, s_1_10, -1, 1, 0},
+{ 2, s_1_11, 0, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 5, s_1_13, -1, 1, 0},
+{ 1, s_1_14, 0, 3, 0},
+{ 2, s_1_15, -1, 1, 0},
+{ 2, s_1_16, -2, 1, 0},
+{ 4, s_1_17, -1, 1, 0},
+{ 5, s_1_18, -2, 1, 0},
+{ 4, s_1_19, -3, 1, 0},
+{ 7, s_1_20, -1, 1, 0},
+{ 3, s_1_21, -7, 1, 0},
+{ 6, s_1_22, -1, 1, 0},
+{ 3, s_1_23, -9, 2, 0},
+{ 3, s_1_24, -10, 1, 0},
+{ 2, s_1_25, 0, 1, 0},
+{ 3, s_1_26, -1, 1, 0},
+{ 3, s_1_27, 0, 4, 0},
+{ 3, s_1_28, 0, 1, 0}
 };
 
-static const symbol s_2_0[3] = { 'l', 'e', 'g' };
-static const symbol s_2_1[4] = { 'e', 'l', 'e', 'g' };
-static const symbol s_2_2[2] = { 'i', 'g' };
-static const symbol s_2_3[3] = { 'e', 'i', 'g' };
-static const symbol s_2_4[3] = { 'l', 'i', 'g' };
-static const symbol s_2_5[4] = { 'e', 'l', 'i', 'g' };
-static const symbol s_2_6[3] = { 'e', 'l', 's' };
-static const symbol s_2_7[3] = { 'l', 'o', 'v' };
-static const symbol s_2_8[4] = { 'e', 'l', 'o', 'v' };
-static const symbol s_2_9[4] = { 's', 'l', 'o', 'v' };
-static const symbol s_2_10[7] = { 'h', 'e', 't', 's', 'l', 'o', 'v' };
-
-static const struct among a_2[11] =
-{
-{ 3, s_2_0, -1, 1, 0},
-{ 4, s_2_1, 0, 1, 0},
-{ 2, s_2_2, -1, 1, 0},
-{ 3, s_2_3, 2, 1, 0},
-{ 3, s_2_4, 2, 1, 0},
-{ 4, s_2_5, 4, 1, 0},
-{ 3, s_2_6, -1, 1, 0},
-{ 3, s_2_7, -1, 1, 0},
-{ 4, s_2_8, 7, 1, 0},
-{ 4, s_2_9, 7, 1, 0},
-{ 7, s_2_10, 9, 1, 0}
+static const symbol s_2_0[2] = { 'd', 't' };
+static const symbol s_2_1[2] = { 'v', 't' };
+static const struct among a_2[2] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0}
 };
 
-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 symbol s_3_0[3] = { 'l', 'e', 'g' };
+static const symbol s_3_1[4] = { 'e', 'l', 'e', 'g' };
+static const symbol s_3_2[2] = { 'i', 'g' };
+static const symbol s_3_3[3] = { 'e', 'i', 'g' };
+static const symbol s_3_4[3] = { 'l', 'i', 'g' };
+static const symbol s_3_5[4] = { 'e', 'l', 'i', 'g' };
+static const symbol s_3_6[3] = { 'e', 'l', 's' };
+static const symbol s_3_7[3] = { 'l', 'o', 'v' };
+static const symbol s_3_8[4] = { 'e', 'l', 'o', 'v' };
+static const symbol s_3_9[4] = { 's', 'l', 'o', 'v' };
+static const symbol s_3_10[7] = { 'h', 'e', 't', 's', 'l', 'o', 'v' };
+static const struct among a_3[11] = {
+{ 3, s_3_0, 0, 1, 0},
+{ 4, s_3_1, -1, 1, 0},
+{ 2, s_3_2, 0, 1, 0},
+{ 3, s_3_3, -1, 1, 0},
+{ 3, s_3_4, -2, 1, 0},
+{ 4, s_3_5, -1, 1, 0},
+{ 3, s_3_6, 0, 1, 0},
+{ 3, s_3_7, 0, 1, 0},
+{ 4, s_3_8, -1, 1, 0},
+{ 4, s_3_9, -2, 1, 0},
+{ 7, s_3_10, -1, 1, 0}
+};
 
-static const unsigned char g_s_ending[] = { 119, 125, 149, 1 };
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 142 };
 
-static const symbol s_0[] = { 'e', 'r' };
+static const unsigned char g_s_ending[] = { 119, 125, 148, 1 };
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->I[0] = z->c;
-        z->c = c_test1;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping_U(z, g_v, 97, 248, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping_U(z, g_v, 97, 248, 1) < 0) return 0;
-
     {
         int ret = in_grouping_U(z, g_v, 97, 248, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_0, 29);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851426 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_1, 29, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m2 = z->l - z->c; (void)m2;
-                if (in_grouping_b_U(z, g_s_ending, 98, 122, 0)) goto lab1;
-                goto lab0;
+            if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((5318672 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 1; else
+            among_var = find_among_b(z, a_0, 15, 0);
+            switch (among_var) {
+                case 1:
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                    break;
+            }
+            break;
+        case 3:
+            do {
+                int v_2 = z->l - z->c;
+                if (in_grouping_b_U(z, g_s_ending, 98, 122, 0)) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_2;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'r') goto lab1;
+                z->c--;
+                {
+                    int v_3 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
+                    z->c--;
+                    goto lab1;
+                lab2:
+                    z->c = z->l - v_3;
+                }
+                break;
             lab1:
-                z->c = z->l - m2;
+                z->c = z->l - v_2;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'k') return 0;
                 z->c--;
                 if (out_grouping_b_U(z, g_v, 97, 248, 0)) return 0;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
-        case 3:
-            {   int ret = slice_from_s(z, 2, s_0);
+        case 4:
+            {
+                int ret = slice_from_s(z, 2, s_0);
                 if (ret < 0) return ret;
             }
             break;
@@ -200,79 +259,98 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-
-        {   int mlimit2;
-            if (z->c < z->I[1]) return 0;
-            mlimit2 = z->lb; z->lb = z->I[1];
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) return 0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
             z->ket = z->c;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = mlimit2; return 0; }
-            if (!find_among_b(z, a_1, 2)) { z->lb = mlimit2; return 0; }
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] != 116) { z->lb = v_2; return 0; }
+            if (!find_among_b(z, a_2, 2, 0)) { z->lb = v_2; return 0; }
             z->bra = z->c;
-            z->lb = mlimit2;
+            z->lb = v_2;
         }
-        z->c = z->l - m_test1;
+        z->c = z->l - v_1;
     }
-    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+    {
+        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
         if (ret < 0) return 0;
         z->c = ret;
     }
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_other_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        if (!find_among_b(z, a_2, 11)) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718720 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        if (!find_among_b(z, a_3, 11, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int norwegian_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * norwegian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * norwegian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void norwegian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void norwegian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
diff --git a/src/backend/snowball/libstemmer/stem_UTF_8_polish.c b/src/backend/snowball/libstemmer/stem_UTF_8_polish.c
new file mode 100644 (file)
index 0000000..a774331
--- /dev/null
@@ -0,0 +1,523 @@
+/* Generated from polish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#include "stem_UTF_8_polish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern int polish_UTF_8_stem(struct SN_env * z);
+#ifdef __cplusplus
+}
+#endif
+
+static int r_R1(struct SN_env * z);
+static int r_normalize_consonant(struct SN_env * z);
+static int r_remove_endings(struct SN_env * z);
+static int r_mark_regions(struct SN_env * z);
+
+static const symbol s_0[] = { 's' };
+static const symbol s_1[] = { 's' };
+static const symbol s_2[] = { 0xC5, 0x82 };
+static const symbol s_3[] = { 's' };
+static const symbol s_4[] = { 'c' };
+static const symbol s_5[] = { 'n' };
+static const symbol s_6[] = { 's' };
+static const symbol s_7[] = { 'z' };
+
+static const symbol s_0_0[7] = { 'b', 'y', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_0_1[3] = { 'b', 'y', 'm' };
+static const symbol s_0_2[2] = { 'b', 'y' };
+static const symbol s_0_3[6] = { 'b', 'y', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_0_4[4] = { 'b', 'y', 0xC5, 0x9B };
+static const struct among a_0[5] = {
+{ 7, s_0_0, 0, 1, 0},
+{ 3, s_0_1, 0, 1, 0},
+{ 2, s_0_2, 0, 1, 0},
+{ 6, s_0_3, 0, 1, 0},
+{ 4, s_0_4, 0, 1, 0}
+};
+
+static const symbol s_1_0[3] = { 0xC4, 0x85, 'c' };
+static const symbol s_1_1[5] = { 'a', 'j', 0xC4, 0x85, 'c' };
+static const symbol s_1_2[5] = { 's', 'z', 0xC4, 0x85, 'c' };
+static const symbol s_1_3[2] = { 's', 'z' };
+static const symbol s_1_4[5] = { 'i', 'e', 'j', 's', 'z' };
+static const struct among a_1[5] = {
+{ 3, s_1_0, 0, 1, 0},
+{ 5, s_1_1, -1, 1, 0},
+{ 5, s_1_2, -2, 2, 0},
+{ 2, s_1_3, 0, 1, 0},
+{ 5, s_1_4, -1, 1, 0}
+};
+
+static const symbol s_2_0[1] = { 'a' };
+static const symbol s_2_1[4] = { 0xC4, 0x85, 'c', 'a' };
+static const symbol s_2_2[6] = { 'a', 'j', 0xC4, 0x85, 'c', 'a' };
+static const symbol s_2_3[6] = { 's', 'z', 0xC4, 0x85, 'c', 'a' };
+static const symbol s_2_4[2] = { 'i', 'a' };
+static const symbol s_2_5[3] = { 's', 'z', 'a' };
+static const symbol s_2_6[6] = { 'i', 'e', 'j', 's', 'z', 'a' };
+static const symbol s_2_7[4] = { 'a', 0xC5, 0x82, 'a' };
+static const symbol s_2_8[5] = { 'i', 'a', 0xC5, 0x82, 'a' };
+static const symbol s_2_9[4] = { 'i', 0xC5, 0x82, 'a' };
+static const symbol s_2_10[3] = { 0xC4, 0x85, 'c' };
+static const symbol s_2_11[5] = { 'a', 'j', 0xC4, 0x85, 'c' };
+static const symbol s_2_12[1] = { 'e' };
+static const symbol s_2_13[4] = { 0xC4, 0x85, 'c', 'e' };
+static const symbol s_2_14[6] = { 'a', 'j', 0xC4, 0x85, 'c', 'e' };
+static const symbol s_2_15[6] = { 's', 'z', 0xC4, 0x85, 'c', 'e' };
+static const symbol s_2_16[2] = { 'i', 'e' };
+static const symbol s_2_17[3] = { 'c', 'i', 'e' };
+static const symbol s_2_18[4] = { 'a', 'c', 'i', 'e' };
+static const symbol s_2_19[4] = { 'e', 'c', 'i', 'e' };
+static const symbol s_2_20[4] = { 'i', 'c', 'i', 'e' };
+static const symbol s_2_21[5] = { 'a', 'j', 'c', 'i', 'e' };
+static const symbol s_2_22[7] = { 'l', 'i', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_23[8] = { 'a', 'l', 'i', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_24[9] = { 'i', 'e', 'l', 'i', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_25[8] = { 'i', 'l', 'i', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_26[8] = { 0xC5, 0x82, 'y', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_27[9] = { 'a', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_28[10] = { 'i', 'a', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_29[9] = { 'i', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'c', 'i', 'e' };
+static const symbol s_2_30[3] = { 's', 'z', 'e' };
+static const symbol s_2_31[6] = { 'i', 'e', 'j', 's', 'z', 'e' };
+static const symbol s_2_32[3] = { 'a', 'c', 'h' };
+static const symbol s_2_33[4] = { 'i', 'a', 'c', 'h' };
+static const symbol s_2_34[3] = { 'i', 'c', 'h' };
+static const symbol s_2_35[3] = { 'y', 'c', 'h' };
+static const symbol s_2_36[1] = { 'i' };
+static const symbol s_2_37[3] = { 'a', 'l', 'i' };
+static const symbol s_2_38[4] = { 'i', 'e', 'l', 'i' };
+static const symbol s_2_39[3] = { 'i', 'l', 'i' };
+static const symbol s_2_40[3] = { 'a', 'm', 'i' };
+static const symbol s_2_41[4] = { 'i', 'a', 'm', 'i' };
+static const symbol s_2_42[3] = { 'i', 'm', 'i' };
+static const symbol s_2_43[3] = { 'y', 'm', 'i' };
+static const symbol s_2_44[3] = { 'o', 'w', 'i' };
+static const symbol s_2_45[4] = { 'i', 'o', 'w', 'i' };
+static const symbol s_2_46[2] = { 'a', 'j' };
+static const symbol s_2_47[2] = { 'e', 'j' };
+static const symbol s_2_48[3] = { 'i', 'e', 'j' };
+static const symbol s_2_49[2] = { 'a', 'm' };
+static const symbol s_2_50[5] = { 'a', 0xC5, 0x82, 'a', 'm' };
+static const symbol s_2_51[6] = { 'i', 'a', 0xC5, 0x82, 'a', 'm' };
+static const symbol s_2_52[5] = { 'i', 0xC5, 0x82, 'a', 'm' };
+static const symbol s_2_53[2] = { 'e', 'm' };
+static const symbol s_2_54[3] = { 'i', 'e', 'm' };
+static const symbol s_2_55[5] = { 'a', 0xC5, 0x82, 'e', 'm' };
+static const symbol s_2_56[6] = { 'i', 'a', 0xC5, 0x82, 'e', 'm' };
+static const symbol s_2_57[5] = { 'i', 0xC5, 0x82, 'e', 'm' };
+static const symbol s_2_58[2] = { 'i', 'm' };
+static const symbol s_2_59[2] = { 'o', 'm' };
+static const symbol s_2_60[3] = { 'i', 'o', 'm' };
+static const symbol s_2_61[2] = { 'y', 'm' };
+static const symbol s_2_62[1] = { 'o' };
+static const symbol s_2_63[3] = { 'e', 'g', 'o' };
+static const symbol s_2_64[4] = { 'i', 'e', 'g', 'o' };
+static const symbol s_2_65[4] = { 'a', 0xC5, 0x82, 'o' };
+static const symbol s_2_66[5] = { 'i', 'a', 0xC5, 0x82, 'o' };
+static const symbol s_2_67[4] = { 'i', 0xC5, 0x82, 'o' };
+static const symbol s_2_68[1] = { 'u' };
+static const symbol s_2_69[2] = { 'i', 'u' };
+static const symbol s_2_70[3] = { 'e', 'm', 'u' };
+static const symbol s_2_71[4] = { 'i', 'e', 'm', 'u' };
+static const symbol s_2_72[3] = { 0xC3, 0xB3, 'w' };
+static const symbol s_2_73[1] = { 'y' };
+static const symbol s_2_74[3] = { 'a', 'm', 'y' };
+static const symbol s_2_75[3] = { 'e', 'm', 'y' };
+static const symbol s_2_76[3] = { 'i', 'm', 'y' };
+static const symbol s_2_77[6] = { 'l', 'i', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_78[7] = { 'a', 'l', 'i', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_79[8] = { 'i', 'e', 'l', 'i', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_80[7] = { 'i', 'l', 'i', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_81[7] = { 0xC5, 0x82, 'y', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_82[8] = { 'a', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_83[9] = { 'i', 'a', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_84[8] = { 'i', 0xC5, 0x82, 'y', 0xC5, 0x9B, 'm', 'y' };
+static const symbol s_2_85[4] = { 'a', 0xC5, 0x82, 'y' };
+static const symbol s_2_86[5] = { 'i', 'a', 0xC5, 0x82, 'y' };
+static const symbol s_2_87[4] = { 'i', 0xC5, 0x82, 'y' };
+static const symbol s_2_88[3] = { 'a', 's', 'z' };
+static const symbol s_2_89[3] = { 'e', 's', 'z' };
+static const symbol s_2_90[3] = { 'i', 's', 'z' };
+static const symbol s_2_91[3] = { 'a', 0xC5, 0x82 };
+static const symbol s_2_92[4] = { 'i', 'a', 0xC5, 0x82 };
+static const symbol s_2_93[3] = { 'i', 0xC5, 0x82 };
+static const symbol s_2_94[2] = { 0xC4, 0x85 };
+static const symbol s_2_95[5] = { 0xC4, 0x85, 'c', 0xC4, 0x85 };
+static const symbol s_2_96[7] = { 'a', 'j', 0xC4, 0x85, 'c', 0xC4, 0x85 };
+static const symbol s_2_97[7] = { 's', 'z', 0xC4, 0x85, 'c', 0xC4, 0x85 };
+static const symbol s_2_98[3] = { 'i', 0xC4, 0x85 };
+static const symbol s_2_99[4] = { 'a', 'j', 0xC4, 0x85 };
+static const symbol s_2_100[4] = { 's', 'z', 0xC4, 0x85 };
+static const symbol s_2_101[7] = { 'i', 'e', 'j', 's', 'z', 0xC4, 0x85 };
+static const symbol s_2_102[3] = { 'a', 0xC4, 0x87 };
+static const symbol s_2_103[4] = { 'i', 'e', 0xC4, 0x87 };
+static const symbol s_2_104[3] = { 'i', 0xC4, 0x87 };
+static const symbol s_2_105[4] = { 0xC4, 0x85, 0xC4, 0x87 };
+static const symbol s_2_106[5] = { 'a', 0xC5, 0x9B, 0xC4, 0x87 };
+static const symbol s_2_107[5] = { 'e', 0xC5, 0x9B, 0xC4, 0x87 };
+static const symbol s_2_108[2] = { 0xC4, 0x99 };
+static const symbol s_2_109[4] = { 's', 'z', 0xC4, 0x99 };
+static const symbol s_2_110[5] = { 0xC5, 0x82, 'a', 0xC5, 0x9B };
+static const symbol s_2_111[6] = { 'a', 0xC5, 0x82, 'a', 0xC5, 0x9B };
+static const symbol s_2_112[7] = { 'i', 'a', 0xC5, 0x82, 'a', 0xC5, 0x9B };
+static const symbol s_2_113[6] = { 'i', 0xC5, 0x82, 'a', 0xC5, 0x9B };
+static const symbol s_2_114[5] = { 0xC5, 0x82, 'e', 0xC5, 0x9B };
+static const symbol s_2_115[6] = { 'a', 0xC5, 0x82, 'e', 0xC5, 0x9B };
+static const symbol s_2_116[7] = { 'i', 'a', 0xC5, 0x82, 'e', 0xC5, 0x9B };
+static const symbol s_2_117[6] = { 'i', 0xC5, 0x82, 'e', 0xC5, 0x9B };
+static const struct among a_2[118] = {
+{ 1, s_2_0, 0, 1, 1},
+{ 4, s_2_1, -1, 1, 0},
+{ 6, s_2_2, -1, 1, 0},
+{ 6, s_2_3, -2, 2, 0},
+{ 2, s_2_4, -4, 1, 1},
+{ 3, s_2_5, -5, 1, 0},
+{ 6, s_2_6, -1, 1, 0},
+{ 4, s_2_7, -7, 1, 0},
+{ 5, s_2_8, -1, 1, 0},
+{ 4, s_2_9, -9, 1, 0},
+{ 3, s_2_10, 0, 1, 0},
+{ 5, s_2_11, -1, 1, 0},
+{ 1, s_2_12, 0, 1, 1},
+{ 4, s_2_13, -1, 1, 0},
+{ 6, s_2_14, -1, 1, 0},
+{ 6, s_2_15, -2, 2, 0},
+{ 2, s_2_16, -4, 1, 1},
+{ 3, s_2_17, -1, 1, 0},
+{ 4, s_2_18, -1, 1, 0},
+{ 4, s_2_19, -2, 1, 0},
+{ 4, s_2_20, -3, 1, 0},
+{ 5, s_2_21, -4, 1, 0},
+{ 7, s_2_22, -5, 4, 0},
+{ 8, s_2_23, -1, 1, 0},
+{ 9, s_2_24, -2, 1, 0},
+{ 8, s_2_25, -3, 1, 0},
+{ 8, s_2_26, -9, 4, 0},
+{ 9, s_2_27, -1, 1, 0},
+{ 10, s_2_28, -1, 1, 0},
+{ 9, s_2_29, -3, 1, 0},
+{ 3, s_2_30, -18, 1, 0},
+{ 6, s_2_31, -1, 1, 0},
+{ 3, s_2_32, 0, 1, 1},
+{ 4, s_2_33, -1, 1, 1},
+{ 3, s_2_34, 0, 5, 0},
+{ 3, s_2_35, 0, 5, 0},
+{ 1, s_2_36, 0, 1, 1},
+{ 3, s_2_37, -1, 1, 0},
+{ 4, s_2_38, -2, 1, 0},
+{ 3, s_2_39, -3, 1, 0},
+{ 3, s_2_40, -4, 1, 1},
+{ 4, s_2_41, -1, 1, 1},
+{ 3, s_2_42, -6, 5, 0},
+{ 3, s_2_43, -7, 5, 0},
+{ 3, s_2_44, -8, 1, 1},
+{ 4, s_2_45, -1, 1, 1},
+{ 2, s_2_46, 0, 1, 0},
+{ 2, s_2_47, 0, 5, 0},
+{ 3, s_2_48, -1, 5, 0},
+{ 2, s_2_49, 0, 1, 0},
+{ 5, s_2_50, -1, 1, 0},
+{ 6, s_2_51, -1, 1, 0},
+{ 5, s_2_52, -3, 1, 0},
+{ 2, s_2_53, 0, 1, 1},
+{ 3, s_2_54, -1, 1, 1},
+{ 5, s_2_55, -2, 1, 0},
+{ 6, s_2_56, -1, 1, 0},
+{ 5, s_2_57, -4, 1, 0},
+{ 2, s_2_58, 0, 5, 0},
+{ 2, s_2_59, 0, 1, 1},
+{ 3, s_2_60, -1, 1, 1},
+{ 2, s_2_61, 0, 5, 0},
+{ 1, s_2_62, 0, 1, 1},
+{ 3, s_2_63, -1, 5, 0},
+{ 4, s_2_64, -1, 5, 0},
+{ 4, s_2_65, -3, 1, 0},
+{ 5, s_2_66, -1, 1, 0},
+{ 4, s_2_67, -5, 1, 0},
+{ 1, s_2_68, 0, 1, 1},
+{ 2, s_2_69, -1, 1, 1},
+{ 3, s_2_70, -2, 5, 0},
+{ 4, s_2_71, -1, 5, 0},
+{ 3, s_2_72, 0, 1, 1},
+{ 1, s_2_73, 0, 5, 0},
+{ 3, s_2_74, -1, 1, 0},
+{ 3, s_2_75, -2, 1, 0},
+{ 3, s_2_76, -3, 1, 0},
+{ 6, s_2_77, -4, 4, 0},
+{ 7, s_2_78, -1, 1, 0},
+{ 8, s_2_79, -2, 1, 0},
+{ 7, s_2_80, -3, 1, 0},
+{ 7, s_2_81, -8, 4, 0},
+{ 8, s_2_82, -1, 1, 0},
+{ 9, s_2_83, -1, 1, 0},
+{ 8, s_2_84, -3, 1, 0},
+{ 4, s_2_85, -12, 1, 0},
+{ 5, s_2_86, -1, 1, 0},
+{ 4, s_2_87, -14, 1, 0},
+{ 3, s_2_88, 0, 1, 0},
+{ 3, s_2_89, 0, 1, 0},
+{ 3, s_2_90, 0, 1, 0},
+{ 3, s_2_91, 0, 1, 0},
+{ 4, s_2_92, -1, 1, 0},
+{ 3, s_2_93, 0, 1, 0},
+{ 2, s_2_94, 0, 1, 1},
+{ 5, s_2_95, -1, 1, 0},
+{ 7, s_2_96, -1, 1, 0},
+{ 7, s_2_97, -2, 2, 0},
+{ 3, s_2_98, -4, 1, 1},
+{ 4, s_2_99, -5, 1, 0},
+{ 4, s_2_100, -6, 3, 0},
+{ 7, s_2_101, -1, 1, 0},
+{ 3, s_2_102, 0, 1, 0},
+{ 4, s_2_103, 0, 1, 0},
+{ 3, s_2_104, 0, 1, 0},
+{ 4, s_2_105, 0, 1, 0},
+{ 5, s_2_106, 0, 1, 0},
+{ 5, s_2_107, 0, 1, 0},
+{ 2, s_2_108, 0, 1, 0},
+{ 4, s_2_109, -1, 2, 0},
+{ 5, s_2_110, 0, 4, 0},
+{ 6, s_2_111, -1, 1, 0},
+{ 7, s_2_112, -1, 1, 0},
+{ 6, s_2_113, -3, 1, 0},
+{ 5, s_2_114, 0, 4, 0},
+{ 6, s_2_115, -1, 1, 0},
+{ 7, s_2_116, -1, 1, 0},
+{ 6, s_2_117, -3, 1, 0}
+};
+
+static const symbol s_3_0[2] = { 0xC5, 0x84 };
+static const symbol s_3_1[2] = { 0xC4, 0x87 };
+static const symbol s_3_2[2] = { 0xC5, 0x9B };
+static const symbol s_3_3[2] = { 0xC5, 0xBA };
+static const struct among a_3[4] = {
+{ 2, s_3_0, 0, 2, 0},
+{ 2, s_3_1, 0, 1, 0},
+{ 2, s_3_2, 0, 3, 0},
+{ 2, s_3_3, 0, 4, 0}
+};
+
+static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 16, 0, 0, 1 };
+
+static int r_mark_regions(struct SN_env * z) {
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int ret = out_grouping_U(z, g_v, 97, 281, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    {
+        int ret = in_grouping_U(z, g_v, 97, 281, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
+    }
+    ((SN_local *)z)->i_p1 = z->c;
+    return 1;
+}
+
+static int r_R1(struct SN_env * z) {
+    return ((SN_local *)z)->i_p1 <= z->c;
+}
+
+static int r_remove_endings(struct SN_env * z) {
+    int among_var;
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2;
+            if (z->c < ((SN_local *)z)->i_p1) goto lab0;
+            v_2 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+            z->ket = z->c;
+            if (!find_among_b(z, a_0, 5, 0)) { z->lb = v_2; goto lab0; }
+            z->bra = z->c;
+            z->lb = v_2;
+        }
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    lab0:
+        z->c = z->l - v_1;
+    }
+    z->ket = z->c;
+    among_var = find_among_b(z, a_2, 118, r_R1);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_0);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            do {
+                int v_3 = z->l - z->c;
+                {
+                    int v_4 = z->l - z->c;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
+                        if (ret < 0) return ret;
+                    }
+                    z->c = z->l - v_4;
+                    {
+                        int ret = slice_del(z);
+                        if (ret < 0) return ret;
+                    }
+                }
+                break;
+            lab1:
+                z->c = z->l - v_3;
+                {
+                    int ret = slice_from_s(z, 1, s_1);
+                    if (ret < 0) return ret;
+                }
+            } while (0);
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 2, s_2);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 5:
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            {
+                int v_5 = z->l - z->c;
+                z->ket = z->c;
+                if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 99 && z->p[z->c - 1] != 122)) { z->c = z->l - v_5; goto lab2; }
+                among_var = find_among_b(z, a_1, 5, 0);
+                if (!among_var) { z->c = z->l - v_5; goto lab2; }
+                z->bra = z->c;
+                switch (among_var) {
+                    case 1:
+                        {
+                            int ret = slice_del(z);
+                            if (ret < 0) return ret;
+                        }
+                        break;
+                    case 2:
+                        {
+                            int ret = slice_from_s(z, 1, s_3);
+                            if (ret < 0) return ret;
+                        }
+                        break;
+                }
+            lab2:
+                ;
+            }
+            break;
+    }
+    return 1;
+}
+
+static int r_normalize_consonant(struct SN_env * z) {
+    int among_var;
+    z->ket = z->c;
+    among_var = find_among_b(z, a_3, 4, 0);
+    if (!among_var) return 0;
+    z->bra = z->c;
+    if (z->c > z->lb) goto lab0;
+    return 0;
+lab0:
+    switch (among_var) {
+        case 1:
+            {
+                int ret = slice_from_s(z, 1, s_4);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 2:
+            {
+                int ret = slice_from_s(z, 1, s_5);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = slice_from_s(z, 1, s_6);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 4:
+            {
+                int ret = slice_from_s(z, 1, s_7);
+                if (ret < 0) return ret;
+            }
+            break;
+    }
+    return 1;
+}
+
+extern int polish_UTF_8_stem(struct SN_env * z) {
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
+            if (ret < 0) return ret;
+        }
+        z->c = v_1;
+    }
+    do {
+        int v_2 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 2);
+            if (ret < 0) goto lab0;
+            z->c = ret;
+        }
+        z->lb = z->c; z->c = z->l;
+        {
+            int ret = r_remove_endings(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
+        }
+        z->c = z->lb;
+        break;
+    lab0:
+        z->c = v_2;
+        z->lb = z->c; z->c = z->l;
+        {
+            int ret = r_normalize_consonant(z);
+            if (ret <= 0) return ret;
+        }
+        z->c = z->lb;
+    } while (0);
+    return 1;
+}
+
+extern struct SN_env * polish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
+
+extern void polish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
+
index 297ce1405009c7890d7b4df04509e3b11a8979cf..6d6ebf2f004ee4b32c6a4b229c8d993c18f4b122 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_porter.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int porter_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_Step_5b(struct SN_env * z);
 static int r_Step_5a(struct SN_env * z);
 static int r_Step_4(struct SN_env * z);
@@ -20,29 +33,41 @@ static int r_Step_1a(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_shortv(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * porter_UTF_8_create_env(void);
-extern void porter_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 's', 's' };
+static const symbol s_1[] = { 'i' };
+static const symbol s_2[] = { 'e', 'e' };
+static const symbol s_3[] = { 'e' };
+static const symbol s_4[] = { 'e' };
+static const symbol s_5[] = { 'i' };
+static const symbol s_6[] = { 't', 'i', 'o', 'n' };
+static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
+static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
+static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
+static const symbol s_10[] = { 'e', 'n', 't' };
+static const symbol s_11[] = { 'e' };
+static const symbol s_12[] = { 'i', 'z', 'e' };
+static const symbol s_13[] = { 'a', 't', 'e' };
+static const symbol s_14[] = { 'a', 'l' };
+static const symbol s_15[] = { 'f', 'u', 'l' };
+static const symbol s_16[] = { 'o', 'u', 's' };
+static const symbol s_17[] = { 'i', 'v', 'e' };
+static const symbol s_18[] = { 'b', 'l', 'e' };
+static const symbol s_19[] = { 'a', 'l' };
+static const symbol s_20[] = { 'i', 'c' };
+static const symbol s_21[] = { 'Y' };
+static const symbol s_22[] = { 'Y' };
+static const symbol s_23[] = { 'y' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[1] = { 's' };
 static const symbol s_0_1[3] = { 'i', 'e', 's' };
 static const symbol s_0_2[4] = { 's', 's', 'e', 's' };
 static const symbol s_0_3[2] = { 's', 's' };
-
-static const struct among a_0[4] =
-{
-{ 1, s_0_0, -1, 3, 0},
-{ 3, s_0_1, 0, 2, 0},
-{ 4, s_0_2, 0, 1, 0},
-{ 2, s_0_3, 0, -1, 0}
+static const struct among a_0[4] = {
+{ 1, s_0_0, 0, 3, 0},
+{ 3, s_0_1, -1, 2, 0},
+{ 4, s_0_2, -2, 1, 0},
+{ 2, s_0_3, -3, -1, 0}
 };
 
 static const symbol s_1_1[2] = { 'b', 'b' };
@@ -57,33 +82,29 @@ static const symbol s_1_9[2] = { 'r', 'r' };
 static const symbol s_1_10[2] = { 'a', 't' };
 static const symbol s_1_11[2] = { 't', 't' };
 static const symbol s_1_12[2] = { 'i', 'z' };
-
-static const struct among a_1[13] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_1_1, 0, 2, 0},
-{ 2, s_1_2, 0, 2, 0},
-{ 2, s_1_3, 0, 2, 0},
-{ 2, s_1_4, 0, 2, 0},
-{ 2, s_1_5, 0, 1, 0},
-{ 2, s_1_6, 0, 2, 0},
-{ 2, s_1_7, 0, 2, 0},
-{ 2, s_1_8, 0, 2, 0},
-{ 2, s_1_9, 0, 2, 0},
-{ 2, s_1_10, 0, 1, 0},
-{ 2, s_1_11, 0, 2, 0},
-{ 2, s_1_12, 0, 1, 0}
+static const struct among a_1[13] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_1_1, -1, 2, 0},
+{ 2, s_1_2, -2, 2, 0},
+{ 2, s_1_3, -3, 2, 0},
+{ 2, s_1_4, -4, 2, 0},
+{ 2, s_1_5, -5, 1, 0},
+{ 2, s_1_6, -6, 2, 0},
+{ 2, s_1_7, -7, 2, 0},
+{ 2, s_1_8, -8, 2, 0},
+{ 2, s_1_9, -9, 2, 0},
+{ 2, s_1_10, -10, 1, 0},
+{ 2, s_1_11, -11, 2, 0},
+{ 2, s_1_12, -12, 1, 0}
 };
 
 static const symbol s_2_0[2] = { 'e', 'd' };
 static const symbol s_2_1[3] = { 'e', 'e', 'd' };
 static const symbol s_2_2[3] = { 'i', 'n', 'g' };
-
-static const struct among a_2[3] =
-{
-{ 2, s_2_0, -1, 2, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 3, s_2_2, -1, 2, 0}
+static const struct among a_2[3] = {
+{ 2, s_2_0, 0, 2, 0},
+{ 3, s_2_1, -1, 1, 0},
+{ 3, s_2_2, 0, 2, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 'c', 'i' };
@@ -106,29 +127,27 @@ static const symbol s_3_16[4] = { 'a', 't', 'o', 'r' };
 static const symbol s_3_17[7] = { 'i', 'v', 'e', 'n', 'e', 's', 's' };
 static const symbol s_3_18[7] = { 'f', 'u', 'l', 'n', 'e', 's', 's' };
 static const symbol s_3_19[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
-
-static const struct among a_3[20] =
-{
-{ 4, s_3_0, -1, 3, 0},
-{ 4, s_3_1, -1, 2, 0},
-{ 4, s_3_2, -1, 4, 0},
-{ 3, s_3_3, -1, 6, 0},
-{ 4, s_3_4, -1, 9, 0},
-{ 5, s_3_5, -1, 11, 0},
-{ 5, s_3_6, -1, 5, 0},
-{ 5, s_3_7, -1, 9, 0},
-{ 6, s_3_8, -1, 13, 0},
-{ 5, s_3_9, -1, 12, 0},
-{ 6, s_3_10, -1, 1, 0},
-{ 7, s_3_11, 10, 8, 0},
-{ 5, s_3_12, -1, 9, 0},
-{ 5, s_3_13, -1, 8, 0},
-{ 7, s_3_14, 13, 7, 0},
-{ 4, s_3_15, -1, 7, 0},
-{ 4, s_3_16, -1, 8, 0},
-{ 7, s_3_17, -1, 12, 0},
-{ 7, s_3_18, -1, 10, 0},
-{ 7, s_3_19, -1, 11, 0}
+static const struct among a_3[20] = {
+{ 4, s_3_0, 0, 3, 0},
+{ 4, s_3_1, 0, 2, 0},
+{ 4, s_3_2, 0, 4, 0},
+{ 3, s_3_3, 0, 6, 0},
+{ 4, s_3_4, 0, 9, 0},
+{ 5, s_3_5, 0, 11, 0},
+{ 5, s_3_6, 0, 5, 0},
+{ 5, s_3_7, 0, 9, 0},
+{ 6, s_3_8, 0, 13, 0},
+{ 5, s_3_9, 0, 12, 0},
+{ 6, s_3_10, 0, 1, 0},
+{ 7, s_3_11, -1, 8, 0},
+{ 5, s_3_12, 0, 9, 0},
+{ 5, s_3_13, 0, 8, 0},
+{ 7, s_3_14, -1, 7, 0},
+{ 4, s_3_15, 0, 7, 0},
+{ 4, s_3_16, 0, 8, 0},
+{ 7, s_3_17, 0, 12, 0},
+{ 7, s_3_18, 0, 10, 0},
+{ 7, s_3_19, 0, 11, 0}
 };
 
 static const symbol s_4_0[5] = { 'i', 'c', 'a', 't', 'e' };
@@ -138,16 +157,14 @@ static const symbol s_4_3[5] = { 'i', 'c', 'i', 't', 'i' };
 static const symbol s_4_4[4] = { 'i', 'c', 'a', 'l' };
 static const symbol s_4_5[3] = { 'f', 'u', 'l' };
 static const symbol s_4_6[4] = { 'n', 'e', 's', 's' };
-
-static const struct among a_4[7] =
-{
-{ 5, s_4_0, -1, 2, 0},
-{ 5, s_4_1, -1, 3, 0},
-{ 5, s_4_2, -1, 1, 0},
-{ 5, s_4_3, -1, 2, 0},
-{ 4, s_4_4, -1, 2, 0},
-{ 3, s_4_5, -1, 3, 0},
-{ 4, s_4_6, -1, 3, 0}
+static const struct among a_4[7] = {
+{ 5, s_4_0, 0, 2, 0},
+{ 5, s_4_1, 0, 3, 0},
+{ 5, s_4_2, 0, 1, 0},
+{ 5, s_4_3, 0, 2, 0},
+{ 4, s_4_4, 0, 2, 0},
+{ 3, s_4_5, 0, 3, 0},
+{ 4, s_4_6, 0, 3, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
@@ -169,94 +186,69 @@ static const symbol s_5_15[3] = { 'e', 'n', 't' };
 static const symbol s_5_16[4] = { 'm', 'e', 'n', 't' };
 static const symbol s_5_17[5] = { 'e', 'm', 'e', 'n', 't' };
 static const symbol s_5_18[2] = { 'o', 'u' };
-
-static const struct among a_5[19] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 4, s_5_2, -1, 1, 0},
-{ 4, s_5_3, -1, 1, 0},
-{ 4, s_5_4, -1, 1, 0},
-{ 3, s_5_5, -1, 1, 0},
-{ 3, s_5_6, -1, 1, 0},
-{ 3, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 1, 0},
-{ 2, s_5_9, -1, 1, 0},
-{ 3, s_5_10, -1, 1, 0},
-{ 3, s_5_11, -1, 2, 0},
-{ 2, s_5_12, -1, 1, 0},
-{ 3, s_5_13, -1, 1, 0},
-{ 3, s_5_14, -1, 1, 0},
-{ 3, s_5_15, -1, 1, 0},
-{ 4, s_5_16, 15, 1, 0},
-{ 5, s_5_17, 16, 1, 0},
-{ 2, s_5_18, -1, 1, 0}
+static const struct among a_5[19] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 4, s_5_2, 0, 1, 0},
+{ 4, s_5_3, 0, 1, 0},
+{ 4, s_5_4, 0, 1, 0},
+{ 3, s_5_5, 0, 1, 0},
+{ 3, s_5_6, 0, 1, 0},
+{ 3, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 1, 0},
+{ 2, s_5_9, 0, 1, 0},
+{ 3, s_5_10, 0, 1, 0},
+{ 3, s_5_11, 0, 2, 0},
+{ 2, s_5_12, 0, 1, 0},
+{ 3, s_5_13, 0, 1, 0},
+{ 3, s_5_14, 0, 1, 0},
+{ 3, s_5_15, 0, 1, 0},
+{ 4, s_5_16, -1, 1, 0},
+{ 5, s_5_17, -1, 1, 0},
+{ 2, s_5_18, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1 };
 
 static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
 
-static const symbol s_0[] = { 's', 's' };
-static const symbol s_1[] = { 'i' };
-static const symbol s_2[] = { 'e', 'e' };
-static const symbol s_3[] = { 'e' };
-static const symbol s_4[] = { 'e' };
-static const symbol s_5[] = { 'i' };
-static const symbol s_6[] = { 't', 'i', 'o', 'n' };
-static const symbol s_7[] = { 'e', 'n', 'c', 'e' };
-static const symbol s_8[] = { 'a', 'n', 'c', 'e' };
-static const symbol s_9[] = { 'a', 'b', 'l', 'e' };
-static const symbol s_10[] = { 'e', 'n', 't' };
-static const symbol s_11[] = { 'e' };
-static const symbol s_12[] = { 'i', 'z', 'e' };
-static const symbol s_13[] = { 'a', 't', 'e' };
-static const symbol s_14[] = { 'a', 'l' };
-static const symbol s_15[] = { 'f', 'u', 'l' };
-static const symbol s_16[] = { 'o', 'u', 's' };
-static const symbol s_17[] = { 'i', 'v', 'e' };
-static const symbol s_18[] = { 'b', 'l', 'e' };
-static const symbol s_19[] = { 'a', 'l' };
-static const symbol s_20[] = { 'i', 'c' };
-static const symbol s_21[] = { 'Y' };
-static const symbol s_22[] = { 'Y' };
-static const symbol s_23[] = { 'y' };
-
 static int r_shortv(struct SN_env * z) {
     if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) return 0;
     if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
-    if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
-    return 1;
+    return !out_grouping_b_U(z, g_v, 97, 121, 0);
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_Step_1a(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] != 115) return 0;
-    among_var = find_among_b(z, a_0, 4);
+    among_var = find_among_b(z, a_0, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_0);
+            {
+                int ret = slice_from_s(z, 2, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_1);
+            {
+                int ret = slice_from_s(z, 1, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -268,70 +260,76 @@ static int r_Step_1b(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
-    among_var = find_among_b(z, a_2, 3);
+    among_var = find_among_b(z, a_2, 3, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 2, s_2);
+            {
+                int ret = slice_from_s(z, 2, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m_test1 = z->l - z->c;
-
+            {
+                int v_1 = z->l - z->c;
                 {
                     int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
                     if (ret < 0) return 0;
                     z->c -= ret;
                 }
-                z->c = z->l - m_test1;
+                z->c = z->l - v_1;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m_test2 = z->l - z->c;
+            {
+                int v_2 = z->l - z->c;
                 if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
-                among_var = find_among_b(z, a_1, 13);
-                z->c = z->l - m_test2;
+                among_var = find_among_b(z, a_1, 13, 0);
+                z->c = z->l - v_2;
             }
             switch (among_var) {
                 case 1:
-                    {   int ret;
-                        {   int saved_c = z->c;
-                            ret = insert_s(z, z->c, z->c, 1, s_3);
-                            z->c = saved_c;
-                        }
+                    {
+                        int saved_c = z->c;
+                        int ret = insert_s(z, z->c, z->c, 1, s_3);
+                        z->c = saved_c;
                         if (ret < 0) return ret;
                     }
                     break;
                 case 2:
                     z->ket = z->c;
-                    {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                    {
+                        int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                         if (ret < 0) return 0;
                         z->c = ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    if (z->c != z->I[1]) return 0;
-                    {   int m_test3 = z->l - z->c;
-                        {   int ret = r_shortv(z);
+                    if (z->c != ((SN_local *)z)->i_p1) return 0;
+                    {
+                        int v_3 = z->l - z->c;
+                        {
+                            int ret = r_shortv(z);
                             if (ret <= 0) return ret;
                         }
-                        z->c = z->l - m_test3;
+                        z->c = z->l - v_3;
                     }
-                    {   int ret;
-                        {   int saved_c = z->c;
-                            ret = insert_s(z, z->c, z->c, 1, s_4);
-                            z->c = saved_c;
-                        }
+                    {
+                        int saved_c = z->c;
+                        int ret = insert_s(z, z->c, z->c, 1, s_4);
+                        z->c = saved_c;
                         if (ret < 0) return ret;
                     }
                     break;
@@ -343,24 +341,24 @@ static int r_Step_1b(struct SN_env * z) {
 
 static int r_Step_1c(struct SN_env * z) {
     z->ket = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
         z->c--;
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
         z->c--;
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
-
     {
         int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
         if (ret < 0) return 0;
         z->c -= ret;
     }
-    {   int ret = slice_from_s(z, 1, s_5);
+    {
+        int ret = slice_from_s(z, 1, s_5);
         if (ret < 0) return ret;
     }
     return 1;
@@ -370,75 +368,89 @@ static int r_Step_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_3, 20);
+    among_var = find_among_b(z, a_3, 20, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 4, s_7);
+            {
+                int ret = slice_from_s(z, 4, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_8);
+            {
+                int ret = slice_from_s(z, 4, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_9);
+            {
+                int ret = slice_from_s(z, 4, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_10);
+            {
+                int ret = slice_from_s(z, 3, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 1, s_11);
+            {
+                int ret = slice_from_s(z, 1, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 3, s_12);
+            {
+                int ret = slice_from_s(z, 3, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 3, s_13);
+            {
+                int ret = slice_from_s(z, 3, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 2, s_14);
+            {
+                int ret = slice_from_s(z, 2, s_14);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 3, s_15);
+            {
+                int ret = slice_from_s(z, 3, s_15);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 3, s_16);
+            {
+                int ret = slice_from_s(z, 3, s_16);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 3, s_17);
+            {
+                int ret = slice_from_s(z, 3, s_17);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            {   int ret = slice_from_s(z, 3, s_18);
+            {
+                int ret = slice_from_s(z, 3, s_18);
                 if (ret < 0) return ret;
             }
             break;
@@ -450,25 +462,29 @@ static int r_Step_3(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_4, 7);
+    among_var = find_among_b(z, a_4, 7, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_19);
+            {
+                int ret = slice_from_s(z, 2, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 2, s_20);
+            {
+                int ret = slice_from_s(z, 2, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -480,30 +496,33 @@ static int r_Step_4(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3961384 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 19);
+    among_var = find_among_b(z, a_5, 19, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
                 z->c--;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
                 z->c--;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -516,27 +535,32 @@ static int r_Step_5a(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
     z->c--;
     z->bra = z->c;
-
-    {   int ret = r_R2(z);
-        if (ret == 0) goto lab1;
-        if (ret < 0) return ret;
-    }
-    goto lab0;
-lab1:
-    {   int ret = r_R1(z);
-        if (ret <= 0) return ret;
-    }
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_shortv(z);
-            if (ret == 0) goto lab2;
+    do {
+        {
+            int ret = r_R2(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
-        return 0;
-    lab2:
-        z->c = z->l - m1;
-    }
-lab0:
-    {   int ret = slice_del(z);
+        break;
+    lab0:
+        {
+            int ret = r_R1(z);
+            if (ret <= 0) return ret;
+        }
+        {
+            int v_1 = z->l - z->c;
+            {
+                int ret = r_shortv(z);
+                if (ret == 0) goto lab1;
+                if (ret < 0) return ret;
+            }
+            return 0;
+        lab1:
+            z->c = z->l - v_1;
+        }
+    } while (0);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -547,178 +571,210 @@ static int r_Step_5b(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     z->c--;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
     z->c--;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int porter_UTF_8_stem(struct SN_env * z) {
-    z->I[2] = 0;
-    {   int c1 = z->c;
+    int b_Y_found;
+    b_Y_found = 0;
+    {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c == z->l || z->p[z->c] != 'y') goto lab0;
         z->c++;
         z->ket = z->c;
-        {   int ret = slice_from_s(z, 1, s_21);
+        {
+            int ret = slice_from_s(z, 1, s_21);
             if (ret < 0) return ret;
         }
-        z->I[2] = 1;
+        b_Y_found = 1;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c2 = z->c;
-        while(1) {
-            int c3 = z->c;
-            while(1) {
-                int c4 = z->c;
+    {
+        int v_2 = z->c;
+        while (1) {
+            int v_3 = z->c;
+            while (1) {
+                int v_4 = z->c;
                 if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab3;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'y') goto lab3;
                 z->c++;
                 z->ket = z->c;
-                z->c = c4;
+                z->c = v_4;
                 break;
             lab3:
-                z->c = c4;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_4;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab2;
                     z->c = ret;
                 }
             }
-            {   int ret = slice_from_s(z, 1, s_22);
+            {
+                int ret = slice_from_s(z, 1, s_22);
                 if (ret < 0) return ret;
             }
-            z->I[2] = 1;
+            b_Y_found = 1;
             continue;
         lab2:
-            z->c = c3;
+            z->c = v_3;
             break;
         }
-        z->c = c2;
+        z->c = v_2;
     }
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c5 = z->c;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 121, 1);
             if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab4:
-        z->c = c5;
+        z->c = v_5;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_Step_1a(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_Step_1a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
-    {   int m7 = z->l - z->c; (void)m7;
-        {   int ret = r_Step_1b(z);
+    {
+        int v_7 = z->l - z->c;
+        {
+            int ret = r_Step_1b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_Step_1c(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_Step_1c(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        {   int ret = r_Step_2(z);
+    {
+        int v_9 = z->l - z->c;
+        {
+            int ret = r_Step_2(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
-    {   int m10 = z->l - z->c; (void)m10;
-        {   int ret = r_Step_3(z);
+    {
+        int v_10 = z->l - z->c;
+        {
+            int ret = r_Step_3(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m10;
+        z->c = z->l - v_10;
     }
-    {   int m11 = z->l - z->c; (void)m11;
-        {   int ret = r_Step_4(z);
+    {
+        int v_11 = z->l - z->c;
+        {
+            int ret = r_Step_4(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m11;
+        z->c = z->l - v_11;
     }
-    {   int m12 = z->l - z->c; (void)m12;
-        {   int ret = r_Step_5a(z);
+    {
+        int v_12 = z->l - z->c;
+        {
+            int ret = r_Step_5a(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m12;
+        z->c = z->l - v_12;
     }
-    {   int m13 = z->l - z->c; (void)m13;
-        {   int ret = r_Step_5b(z);
+    {
+        int v_13 = z->l - z->c;
+        {
+            int ret = r_Step_5b(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m13;
+        z->c = z->l - v_13;
     }
     z->c = z->lb;
-    {   int c14 = z->c;
-        if (!(z->I[2])) goto lab5;
-        while(1) {
-            int c15 = z->c;
-            while(1) {
-                int c16 = z->c;
+    {
+        int v_14 = z->c;
+        if (!b_Y_found) goto lab5;
+        while (1) {
+            int v_15 = z->c;
+            while (1) {
+                int v_16 = z->c;
                 z->bra = z->c;
                 if (z->c == z->l || z->p[z->c] != 'Y') goto lab7;
                 z->c++;
                 z->ket = z->c;
-                z->c = c16;
+                z->c = v_16;
                 break;
             lab7:
-                z->c = c16;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_16;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab6;
                     z->c = ret;
                 }
             }
-            {   int ret = slice_from_s(z, 1, s_23);
+            {
+                int ret = slice_from_s(z, 1, s_23);
                 if (ret < 0) return ret;
             }
             continue;
         lab6:
-            z->c = c15;
+            z->c = v_15;
             break;
         }
     lab5:
-        z->c = c14;
+        z->c = v_14;
     }
     return 1;
 }
 
-extern struct SN_env * porter_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * porter_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void porter_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void porter_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 3ccf24cd735e955215ff297516940c2e224ad61e..b8074566212af03eece398608ed808a85875f70d 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from portuguese.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_portuguese.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int portuguese_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_form(struct SN_env * z);
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
@@ -19,71 +33,62 @@ static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * portuguese_UTF_8_create_env(void);
-extern void portuguese_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a', '~' };
+static const symbol s_1[] = { 'o', '~' };
+static const symbol s_2[] = { 0xC3, 0xA3 };
+static const symbol s_3[] = { 0xC3, 0xB5 };
+static const symbol s_4[] = { 'l', 'o', 'g' };
+static const symbol s_5[] = { 'u' };
+static const symbol s_6[] = { 'e', 'n', 't', 'e' };
+static const symbol s_7[] = { 'a', 't' };
+static const symbol s_8[] = { 'a', 't' };
+static const symbol s_9[] = { 'i', 'r' };
+static const symbol s_10[] = { 'c' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 0xC3, 0xA3 };
 static const symbol s_0_2[2] = { 0xC3, 0xB5 };
-
-static const struct among a_0[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_0_1, 0, 1, 0},
-{ 2, s_0_2, 0, 2, 0}
+static const struct among a_0[3] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_0_1, -1, 1, 0},
+{ 2, s_0_2, -2, 2, 0}
 };
 
 static const symbol s_1_1[2] = { 'a', '~' };
 static const symbol s_1_2[2] = { 'o', '~' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 2, s_1_1, 0, 1, 0},
-{ 2, s_1_2, 0, 2, 0}
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 2, s_1_1, -1, 1, 0},
+{ 2, s_1_2, -2, 2, 0}
 };
 
 static const symbol s_2_0[2] = { 'i', 'c' };
 static const symbol s_2_1[2] = { 'a', 'd' };
 static const symbol s_2_2[2] = { 'o', 's' };
 static const symbol s_2_3[2] = { 'i', 'v' };
-
-static const struct among a_2[4] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 2, s_2_2, -1, -1, 0},
-{ 2, s_2_3, -1, 1, 0}
+static const struct among a_2[4] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, 1, 0}
 };
 
 static const symbol s_3_0[4] = { 'a', 'n', 't', 'e' };
 static const symbol s_3_1[4] = { 'a', 'v', 'e', 'l' };
 static const symbol s_3_2[5] = { 0xC3, 0xAD, 'v', 'e', 'l' };
-
-static const struct among a_3[3] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0},
-{ 5, s_3_2, -1, 1, 0}
+static const struct among a_3[3] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0},
+{ 5, s_3_2, 0, 1, 0}
 };
 
 static const symbol s_4_0[2] = { 'i', 'c' };
 static const symbol s_4_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_4_2[2] = { 'i', 'v' };
-
-static const struct among a_4[3] =
-{
-{ 2, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 2, s_4_2, -1, 1, 0}
+static const struct among a_4[3] = {
+{ 2, s_4_0, 0, 1, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 1, 0}
 };
 
 static const symbol s_5_0[3] = { 'i', 'c', 'a' };
@@ -131,54 +136,52 @@ static const symbol s_5_41[4] = { 'o', 's', 'o', 's' };
 static const symbol s_5_42[7] = { 'a', 'm', 'e', 'n', 't', 'o', 's' };
 static const symbol s_5_43[7] = { 'i', 'm', 'e', 'n', 't', 'o', 's' };
 static const symbol s_5_44[4] = { 'i', 'v', 'o', 's' };
-
-static const struct among a_5[45] =
-{
-{ 3, s_5_0, -1, 1, 0},
-{ 6, s_5_1, -1, 1, 0},
-{ 6, s_5_2, -1, 4, 0},
-{ 5, s_5_3, -1, 2, 0},
-{ 3, s_5_4, -1, 9, 0},
-{ 5, s_5_5, -1, 1, 0},
-{ 3, s_5_6, -1, 1, 0},
-{ 4, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 8, 0},
-{ 3, s_5_9, -1, 1, 0},
-{ 5, s_5_10, -1, 7, 0},
-{ 4, s_5_11, -1, 1, 0},
-{ 5, s_5_12, -1, 6, 0},
-{ 6, s_5_13, 12, 5, 0},
-{ 5, s_5_14, -1, 1, 0},
-{ 5, s_5_15, -1, 1, 0},
-{ 3, s_5_16, -1, 1, 0},
-{ 4, s_5_17, -1, 1, 0},
-{ 3, s_5_18, -1, 1, 0},
-{ 6, s_5_19, -1, 1, 0},
-{ 6, s_5_20, -1, 1, 0},
-{ 3, s_5_21, -1, 8, 0},
-{ 6, s_5_22, -1, 1, 0},
-{ 6, s_5_23, -1, 3, 0},
-{ 4, s_5_24, -1, 1, 0},
-{ 4, s_5_25, -1, 1, 0},
-{ 7, s_5_26, -1, 4, 0},
-{ 6, s_5_27, -1, 2, 0},
-{ 4, s_5_28, -1, 9, 0},
-{ 6, s_5_29, -1, 1, 0},
-{ 4, s_5_30, -1, 1, 0},
-{ 5, s_5_31, -1, 1, 0},
-{ 4, s_5_32, -1, 8, 0},
-{ 4, s_5_33, -1, 1, 0},
-{ 6, s_5_34, -1, 7, 0},
-{ 6, s_5_35, -1, 1, 0},
-{ 5, s_5_36, -1, 1, 0},
-{ 7, s_5_37, -1, 1, 0},
-{ 7, s_5_38, -1, 3, 0},
-{ 4, s_5_39, -1, 1, 0},
-{ 5, s_5_40, -1, 1, 0},
-{ 4, s_5_41, -1, 1, 0},
-{ 7, s_5_42, -1, 1, 0},
-{ 7, s_5_43, -1, 1, 0},
-{ 4, s_5_44, -1, 8, 0}
+static const struct among a_5[45] = {
+{ 3, s_5_0, 0, 1, 0},
+{ 6, s_5_1, 0, 1, 0},
+{ 6, s_5_2, 0, 4, 0},
+{ 5, s_5_3, 0, 2, 0},
+{ 3, s_5_4, 0, 9, 0},
+{ 5, s_5_5, 0, 1, 0},
+{ 3, s_5_6, 0, 1, 0},
+{ 4, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 8, 0},
+{ 3, s_5_9, 0, 1, 0},
+{ 5, s_5_10, 0, 7, 0},
+{ 4, s_5_11, 0, 1, 0},
+{ 5, s_5_12, 0, 6, 0},
+{ 6, s_5_13, -1, 5, 0},
+{ 5, s_5_14, 0, 1, 0},
+{ 5, s_5_15, 0, 1, 0},
+{ 3, s_5_16, 0, 1, 0},
+{ 4, s_5_17, 0, 1, 0},
+{ 3, s_5_18, 0, 1, 0},
+{ 6, s_5_19, 0, 1, 0},
+{ 6, s_5_20, 0, 1, 0},
+{ 3, s_5_21, 0, 8, 0},
+{ 6, s_5_22, 0, 1, 0},
+{ 6, s_5_23, 0, 3, 0},
+{ 4, s_5_24, 0, 1, 0},
+{ 4, s_5_25, 0, 1, 0},
+{ 7, s_5_26, 0, 4, 0},
+{ 6, s_5_27, 0, 2, 0},
+{ 4, s_5_28, 0, 9, 0},
+{ 6, s_5_29, 0, 1, 0},
+{ 4, s_5_30, 0, 1, 0},
+{ 5, s_5_31, 0, 1, 0},
+{ 4, s_5_32, 0, 8, 0},
+{ 4, s_5_33, 0, 1, 0},
+{ 6, s_5_34, 0, 7, 0},
+{ 6, s_5_35, 0, 1, 0},
+{ 5, s_5_36, 0, 1, 0},
+{ 7, s_5_37, 0, 1, 0},
+{ 7, s_5_38, 0, 3, 0},
+{ 4, s_5_39, 0, 1, 0},
+{ 5, s_5_40, 0, 1, 0},
+{ 4, s_5_41, 0, 1, 0},
+{ 7, s_5_42, 0, 1, 0},
+{ 7, s_5_43, 0, 1, 0},
+{ 4, s_5_44, 0, 8, 0}
 };
 
 static const symbol s_6_0[3] = { 'a', 'd', 'a' };
@@ -301,129 +304,127 @@ static const symbol s_6_116[2] = { 'o', 'u' };
 static const symbol s_6_117[4] = { 'a', 'r', 0xC3, 0xA1 };
 static const symbol s_6_118[4] = { 'e', 'r', 0xC3, 0xA1 };
 static const symbol s_6_119[4] = { 'i', 'r', 0xC3, 0xA1 };
-
-static const struct among a_6[120] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 3, s_6_1, -1, 1, 0},
-{ 2, s_6_2, -1, 1, 0},
-{ 4, s_6_3, 2, 1, 0},
-{ 4, s_6_4, 2, 1, 0},
-{ 4, s_6_5, 2, 1, 0},
-{ 3, s_6_6, -1, 1, 0},
-{ 3, s_6_7, -1, 1, 0},
-{ 3, s_6_8, -1, 1, 0},
-{ 3, s_6_9, -1, 1, 0},
-{ 4, s_6_10, -1, 1, 0},
-{ 4, s_6_11, -1, 1, 0},
-{ 4, s_6_12, -1, 1, 0},
-{ 4, s_6_13, -1, 1, 0},
-{ 4, s_6_14, -1, 1, 0},
-{ 4, s_6_15, -1, 1, 0},
-{ 2, s_6_16, -1, 1, 0},
-{ 4, s_6_17, 16, 1, 0},
-{ 4, s_6_18, 16, 1, 0},
-{ 4, s_6_19, 16, 1, 0},
-{ 2, s_6_20, -1, 1, 0},
-{ 3, s_6_21, 20, 1, 0},
-{ 5, s_6_22, 21, 1, 0},
-{ 5, s_6_23, 21, 1, 0},
-{ 5, s_6_24, 21, 1, 0},
-{ 4, s_6_25, 20, 1, 0},
-{ 4, s_6_26, 20, 1, 0},
-{ 4, s_6_27, 20, 1, 0},
-{ 4, s_6_28, 20, 1, 0},
-{ 2, s_6_29, -1, 1, 0},
-{ 4, s_6_30, 29, 1, 0},
-{ 4, s_6_31, 29, 1, 0},
-{ 4, s_6_32, 29, 1, 0},
-{ 5, s_6_33, 29, 1, 0},
-{ 5, s_6_34, 29, 1, 0},
-{ 5, s_6_35, 29, 1, 0},
-{ 3, s_6_36, -1, 1, 0},
-{ 3, s_6_37, -1, 1, 0},
-{ 4, s_6_38, -1, 1, 0},
-{ 4, s_6_39, -1, 1, 0},
-{ 4, s_6_40, -1, 1, 0},
-{ 5, s_6_41, -1, 1, 0},
-{ 5, s_6_42, -1, 1, 0},
-{ 5, s_6_43, -1, 1, 0},
-{ 2, s_6_44, -1, 1, 0},
-{ 2, s_6_45, -1, 1, 0},
-{ 2, s_6_46, -1, 1, 0},
-{ 2, s_6_47, -1, 1, 0},
-{ 4, s_6_48, 47, 1, 0},
-{ 4, s_6_49, 47, 1, 0},
-{ 3, s_6_50, 47, 1, 0},
-{ 5, s_6_51, 50, 1, 0},
-{ 5, s_6_52, 50, 1, 0},
-{ 5, s_6_53, 50, 1, 0},
-{ 4, s_6_54, 47, 1, 0},
-{ 4, s_6_55, 47, 1, 0},
-{ 4, s_6_56, 47, 1, 0},
-{ 4, s_6_57, 47, 1, 0},
-{ 2, s_6_58, -1, 1, 0},
-{ 5, s_6_59, 58, 1, 0},
-{ 5, s_6_60, 58, 1, 0},
-{ 5, s_6_61, 58, 1, 0},
-{ 4, s_6_62, 58, 1, 0},
-{ 4, s_6_63, 58, 1, 0},
-{ 4, s_6_64, 58, 1, 0},
-{ 5, s_6_65, 58, 1, 0},
-{ 5, s_6_66, 58, 1, 0},
-{ 5, s_6_67, 58, 1, 0},
-{ 5, s_6_68, 58, 1, 0},
-{ 5, s_6_69, 58, 1, 0},
-{ 5, s_6_70, 58, 1, 0},
-{ 2, s_6_71, -1, 1, 0},
-{ 3, s_6_72, 71, 1, 0},
-{ 3, s_6_73, 71, 1, 0},
-{ 5, s_6_74, 73, 1, 0},
-{ 5, s_6_75, 73, 1, 0},
-{ 5, s_6_76, 73, 1, 0},
-{ 6, s_6_77, 73, 1, 0},
-{ 6, s_6_78, 73, 1, 0},
-{ 6, s_6_79, 73, 1, 0},
-{ 7, s_6_80, 73, 1, 0},
-{ 7, s_6_81, 73, 1, 0},
-{ 7, s_6_82, 73, 1, 0},
-{ 6, s_6_83, 73, 1, 0},
-{ 5, s_6_84, 73, 1, 0},
-{ 7, s_6_85, 84, 1, 0},
-{ 7, s_6_86, 84, 1, 0},
-{ 7, s_6_87, 84, 1, 0},
-{ 4, s_6_88, -1, 1, 0},
-{ 4, s_6_89, -1, 1, 0},
-{ 4, s_6_90, -1, 1, 0},
-{ 7, s_6_91, 90, 1, 0},
-{ 7, s_6_92, 90, 1, 0},
-{ 7, s_6_93, 90, 1, 0},
-{ 7, s_6_94, 90, 1, 0},
-{ 6, s_6_95, 90, 1, 0},
-{ 8, s_6_96, 95, 1, 0},
-{ 8, s_6_97, 95, 1, 0},
-{ 8, s_6_98, 95, 1, 0},
-{ 4, s_6_99, -1, 1, 0},
-{ 6, s_6_100, 99, 1, 0},
-{ 6, s_6_101, 99, 1, 0},
-{ 6, s_6_102, 99, 1, 0},
-{ 8, s_6_103, 99, 1, 0},
-{ 8, s_6_104, 99, 1, 0},
-{ 8, s_6_105, 99, 1, 0},
-{ 4, s_6_106, -1, 1, 0},
-{ 5, s_6_107, -1, 1, 0},
-{ 5, s_6_108, -1, 1, 0},
-{ 5, s_6_109, -1, 1, 0},
-{ 5, s_6_110, -1, 1, 0},
-{ 5, s_6_111, -1, 1, 0},
-{ 5, s_6_112, -1, 1, 0},
-{ 5, s_6_113, -1, 1, 0},
-{ 2, s_6_114, -1, 1, 0},
-{ 2, s_6_115, -1, 1, 0},
-{ 2, s_6_116, -1, 1, 0},
-{ 4, s_6_117, -1, 1, 0},
-{ 4, s_6_118, -1, 1, 0},
-{ 4, s_6_119, -1, 1, 0}
+static const struct among a_6[120] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 3, s_6_1, 0, 1, 0},
+{ 2, s_6_2, 0, 1, 0},
+{ 4, s_6_3, -1, 1, 0},
+{ 4, s_6_4, -2, 1, 0},
+{ 4, s_6_5, -3, 1, 0},
+{ 3, s_6_6, 0, 1, 0},
+{ 3, s_6_7, 0, 1, 0},
+{ 3, s_6_8, 0, 1, 0},
+{ 3, s_6_9, 0, 1, 0},
+{ 4, s_6_10, 0, 1, 0},
+{ 4, s_6_11, 0, 1, 0},
+{ 4, s_6_12, 0, 1, 0},
+{ 4, s_6_13, 0, 1, 0},
+{ 4, s_6_14, 0, 1, 0},
+{ 4, s_6_15, 0, 1, 0},
+{ 2, s_6_16, 0, 1, 0},
+{ 4, s_6_17, -1, 1, 0},
+{ 4, s_6_18, -2, 1, 0},
+{ 4, s_6_19, -3, 1, 0},
+{ 2, s_6_20, 0, 1, 0},
+{ 3, s_6_21, -1, 1, 0},
+{ 5, s_6_22, -1, 1, 0},
+{ 5, s_6_23, -2, 1, 0},
+{ 5, s_6_24, -3, 1, 0},
+{ 4, s_6_25, -5, 1, 0},
+{ 4, s_6_26, -6, 1, 0},
+{ 4, s_6_27, -7, 1, 0},
+{ 4, s_6_28, -8, 1, 0},
+{ 2, s_6_29, 0, 1, 0},
+{ 4, s_6_30, -1, 1, 0},
+{ 4, s_6_31, -2, 1, 0},
+{ 4, s_6_32, -3, 1, 0},
+{ 5, s_6_33, -4, 1, 0},
+{ 5, s_6_34, -5, 1, 0},
+{ 5, s_6_35, -6, 1, 0},
+{ 3, s_6_36, 0, 1, 0},
+{ 3, s_6_37, 0, 1, 0},
+{ 4, s_6_38, 0, 1, 0},
+{ 4, s_6_39, 0, 1, 0},
+{ 4, s_6_40, 0, 1, 0},
+{ 5, s_6_41, 0, 1, 0},
+{ 5, s_6_42, 0, 1, 0},
+{ 5, s_6_43, 0, 1, 0},
+{ 2, s_6_44, 0, 1, 0},
+{ 2, s_6_45, 0, 1, 0},
+{ 2, s_6_46, 0, 1, 0},
+{ 2, s_6_47, 0, 1, 0},
+{ 4, s_6_48, -1, 1, 0},
+{ 4, s_6_49, -2, 1, 0},
+{ 3, s_6_50, -3, 1, 0},
+{ 5, s_6_51, -1, 1, 0},
+{ 5, s_6_52, -2, 1, 0},
+{ 5, s_6_53, -3, 1, 0},
+{ 4, s_6_54, -7, 1, 0},
+{ 4, s_6_55, -8, 1, 0},
+{ 4, s_6_56, -9, 1, 0},
+{ 4, s_6_57, -10, 1, 0},
+{ 2, s_6_58, 0, 1, 0},
+{ 5, s_6_59, -1, 1, 0},
+{ 5, s_6_60, -2, 1, 0},
+{ 5, s_6_61, -3, 1, 0},
+{ 4, s_6_62, -4, 1, 0},
+{ 4, s_6_63, -5, 1, 0},
+{ 4, s_6_64, -6, 1, 0},
+{ 5, s_6_65, -7, 1, 0},
+{ 5, s_6_66, -8, 1, 0},
+{ 5, s_6_67, -9, 1, 0},
+{ 5, s_6_68, -10, 1, 0},
+{ 5, s_6_69, -11, 1, 0},
+{ 5, s_6_70, -12, 1, 0},
+{ 2, s_6_71, 0, 1, 0},
+{ 3, s_6_72, -1, 1, 0},
+{ 3, s_6_73, -2, 1, 0},
+{ 5, s_6_74, -1, 1, 0},
+{ 5, s_6_75, -2, 1, 0},
+{ 5, s_6_76, -3, 1, 0},
+{ 6, s_6_77, -4, 1, 0},
+{ 6, s_6_78, -5, 1, 0},
+{ 6, s_6_79, -6, 1, 0},
+{ 7, s_6_80, -7, 1, 0},
+{ 7, s_6_81, -8, 1, 0},
+{ 7, s_6_82, -9, 1, 0},
+{ 6, s_6_83, -10, 1, 0},
+{ 5, s_6_84, -11, 1, 0},
+{ 7, s_6_85, -1, 1, 0},
+{ 7, s_6_86, -2, 1, 0},
+{ 7, s_6_87, -3, 1, 0},
+{ 4, s_6_88, 0, 1, 0},
+{ 4, s_6_89, 0, 1, 0},
+{ 4, s_6_90, 0, 1, 0},
+{ 7, s_6_91, -1, 1, 0},
+{ 7, s_6_92, -2, 1, 0},
+{ 7, s_6_93, -3, 1, 0},
+{ 7, s_6_94, -4, 1, 0},
+{ 6, s_6_95, -5, 1, 0},
+{ 8, s_6_96, -1, 1, 0},
+{ 8, s_6_97, -2, 1, 0},
+{ 8, s_6_98, -3, 1, 0},
+{ 4, s_6_99, 0, 1, 0},
+{ 6, s_6_100, -1, 1, 0},
+{ 6, s_6_101, -2, 1, 0},
+{ 6, s_6_102, -3, 1, 0},
+{ 8, s_6_103, -4, 1, 0},
+{ 8, s_6_104, -5, 1, 0},
+{ 8, s_6_105, -6, 1, 0},
+{ 4, s_6_106, 0, 1, 0},
+{ 5, s_6_107, 0, 1, 0},
+{ 5, s_6_108, 0, 1, 0},
+{ 5, s_6_109, 0, 1, 0},
+{ 5, s_6_110, 0, 1, 0},
+{ 5, s_6_111, 0, 1, 0},
+{ 5, s_6_112, 0, 1, 0},
+{ 5, s_6_113, 0, 1, 0},
+{ 2, s_6_114, 0, 1, 0},
+{ 2, s_6_115, 0, 1, 0},
+{ 2, s_6_116, 0, 1, 0},
+{ 4, s_6_117, 0, 1, 0},
+{ 4, s_6_118, 0, 1, 0},
+{ 4, s_6_119, 0, 1, 0}
 };
 
 static const symbol s_7_0[1] = { 'a' };
@@ -433,66 +434,53 @@ static const symbol s_7_3[2] = { 'o', 's' };
 static const symbol s_7_4[2] = { 0xC3, 0xA1 };
 static const symbol s_7_5[2] = { 0xC3, 0xAD };
 static const symbol s_7_6[2] = { 0xC3, 0xB3 };
-
-static const struct among a_7[7] =
-{
-{ 1, s_7_0, -1, 1, 0},
-{ 1, s_7_1, -1, 1, 0},
-{ 1, s_7_2, -1, 1, 0},
-{ 2, s_7_3, -1, 1, 0},
-{ 2, s_7_4, -1, 1, 0},
-{ 2, s_7_5, -1, 1, 0},
-{ 2, s_7_6, -1, 1, 0}
+static const struct among a_7[7] = {
+{ 1, s_7_0, 0, 1, 0},
+{ 1, s_7_1, 0, 1, 0},
+{ 1, s_7_2, 0, 1, 0},
+{ 2, s_7_3, 0, 1, 0},
+{ 2, s_7_4, 0, 1, 0},
+{ 2, s_7_5, 0, 1, 0},
+{ 2, s_7_6, 0, 1, 0}
 };
 
 static const symbol s_8_0[1] = { 'e' };
 static const symbol s_8_1[2] = { 0xC3, 0xA7 };
 static const symbol s_8_2[2] = { 0xC3, 0xA9 };
 static const symbol s_8_3[2] = { 0xC3, 0xAA };
-
-static const struct among a_8[4] =
-{
-{ 1, s_8_0, -1, 1, 0},
-{ 2, s_8_1, -1, 2, 0},
-{ 2, s_8_2, -1, 1, 0},
-{ 2, s_8_3, -1, 1, 0}
+static const struct among a_8[4] = {
+{ 1, s_8_0, 0, 1, 0},
+{ 2, s_8_1, 0, 2, 0},
+{ 2, s_8_2, 0, 1, 0},
+{ 2, s_8_3, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
 
-static const symbol s_0[] = { 'a', '~' };
-static const symbol s_1[] = { 'o', '~' };
-static const symbol s_2[] = { 0xC3, 0xA3 };
-static const symbol s_3[] = { 0xC3, 0xB5 };
-static const symbol s_4[] = { 'l', 'o', 'g' };
-static const symbol s_5[] = { 'u' };
-static const symbol s_6[] = { 'e', 'n', 't', 'e' };
-static const symbol s_7[] = { 'a', 't' };
-static const symbol s_8[] = { 'a', 't' };
-static const symbol s_9[] = { 'i', 'r' };
-static const symbol s_10[] = { 'c' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c + 1 >= z->l || (z->p[z->c + 1] != 163 && z->p[z->c + 1] != 181)) among_var = 3; else
-        among_var = find_among(z, a_0, 3);
+        among_var = find_among(z, a_0, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_0);
+                {
+                    int ret = slice_from_s(z, 2, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_1);
+                {
+                    int ret = slice_from_s(z, 2, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -500,122 +488,120 @@ static int r_prelude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab1;
                 {
                     int ret = in_grouping_U(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping_U(z, g_v, 97, 250, 0)) goto lab3;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 250, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping_U(z, g_v, 97, 250, 0)) goto lab0;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 250, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c + 1 >= z->l || z->p[z->c + 1] != 126) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
+        among_var = find_among(z, a_1, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 2, s_2);
+                {
+                    int ret = slice_from_s(z, 2, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 2, s_3);
+                {
+                    int ret = slice_from_s(z, 2, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -623,94 +609,109 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((823330 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_5, 45);
+    among_var = find_among_b(z, a_5, 45, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_4);
+            {
+                int ret = slice_from_s(z, 3, s_4);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m1; goto lab0; }
-                among_var = find_among_b(z, a_2, 4);
-                if (!among_var) { z->c = z->l - m1; goto lab0; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_1; goto lab0; }
+                among_var = find_among_b(z, a_2, 4, 0);
+                if (!among_var) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - m1; goto lab0; }
+                        if (!(eq_s_b(z, 2, s_7))) { z->c = z->l - v_1; goto lab0; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -720,22 +721,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 6:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - m2; goto lab1; }
-                if (!find_among_b(z, a_3, 3)) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) { z->c = z->l - v_2; goto lab1; }
+                if (!find_among_b(z, a_3, 3, 0)) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab1:
@@ -743,22 +749,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                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 - m3; goto lab2; }
-                if (!find_among_b(z, a_4, 3)) { z->c = z->l - m3; goto lab2; }
+                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 - v_3; goto lab2; }
+                if (!find_among_b(z, a_4, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -766,21 +777,26 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - m4; goto lab3; }
+                if (!(eq_s_b(z, 2, s_8))) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -788,12 +804,14 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
             if (z->c <= z->lb || z->p[z->c - 1] != 'e') return 0;
             z->c--;
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
@@ -802,29 +820,32 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_6, 120)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_6, 120, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_residual_suffix(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_7, 7)) return 0;
+    if (!find_among_b(z, a_7, 7, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -833,49 +854,56 @@ static int r_residual_suffix(struct SN_env * z) {
 static int r_residual_form(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_8, 4);
+    among_var = find_among_b(z, a_8, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
-            {   int m1 = z->l - z->c; (void)m1;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab1;
+            do {
+                int v_1 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab0;
                 z->c--;
                 z->bra = z->c;
-                {   int m_test2 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab1;
+                {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') goto lab0;
                     z->c--;
-                    z->c = z->l - m_test2;
+                    z->c = z->l - v_2;
                 }
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (z->c <= z->lb || z->p[z->c - 1] != 'i') return 0;
                 z->c--;
                 z->bra = z->c;
-                {   int m_test3 = z->l - z->c;
+                {
+                    int v_3 = z->l - z->c;
                     if (z->c <= z->lb || z->p[z->c - 1] != 'c') return 0;
                     z->c--;
-                    z->c = z->l - m_test3;
+                    z->c = z->l - v_3;
                 }
-            }
-        lab0:
-            {   int ret = r_RV(z);
+            } while (0);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_10);
                 if (ret < 0) return ret;
             }
             break;
@@ -884,86 +912,110 @@ static int r_residual_form(struct SN_env * z) {
 }
 
 extern int portuguese_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m4 = z->l - z->c; (void)m4;
-                {   int m5 = z->l - z->c; (void)m5;
-                    {   int ret = r_standard_suffix(z);
-                        if (ret == 0) goto lab4;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int v_4 = z->l - z->c;
+                do {
+                    int v_5 = z->l - z->c;
+                    {
+                        int ret = r_standard_suffix(z);
+                        if (ret == 0) goto lab2;
                         if (ret < 0) return ret;
                     }
-                    goto lab3;
-                lab4:
-                    z->c = z->l - m5;
-                    {   int ret = r_verb_suffix(z);
-                        if (ret == 0) goto lab2;
+                    break;
+                lab2:
+                    z->c = z->l - v_5;
+                    {
+                        int ret = r_verb_suffix(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                }
-            lab3:
-                z->c = z->l - m4;
-                {   int m6 = z->l - z->c; (void)m6;
+                } while (0);
+                z->c = z->l - v_4;
+                {
+                    int v_6 = z->l - z->c;
                     z->ket = z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab5;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab3;
                     z->c--;
                     z->bra = z->c;
-                    {   int m_test7 = z->l - z->c;
-                        if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab5;
+                    {
+                        int v_7 = z->l - z->c;
+                        if (z->c <= z->lb || z->p[z->c - 1] != 'c') goto lab3;
                         z->c--;
-                        z->c = z->l - m_test7;
+                        z->c = z->l - v_7;
                     }
-                    {   int ret = r_RV(z);
-                        if (ret == 0) goto lab5;
+                    {
+                        int ret = r_RV(z);
+                        if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                lab5:
-                    z->c = z->l - m6;
+                lab3:
+                    z->c = z->l - v_6;
                 }
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_residual_suffix(z);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_residual_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m8 = z->l - z->c; (void)m8;
-        {   int ret = r_residual_form(z);
+    {
+        int v_8 = z->l - z->c;
+        {
+            int ret = r_residual_form(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m8;
+        z->c = z->l - v_8;
     }
     z->c = z->lb;
-    {   int c9 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_9 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c9;
+        z->c = v_9;
     }
     return 1;
 }
 
-extern struct SN_env * portuguese_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * portuguese_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void portuguese_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void portuguese_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index f0d688a9413f5b892b039180ece7fd605fcce361..d938980f4f6ea32a9aa345619592a6171d658434 100644 (file)
@@ -1,6 +1,20 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from romanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_romanian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+    unsigned char b_standard_suffix_removed;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +23,7 @@ extern int romanian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_vowel_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_combo_suffix(struct SN_env * z);
@@ -21,35 +36,43 @@ static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
 static int r_norm(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * romanian_UTF_8_create_env(void);
-extern void romanian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xC8, 0x99 };
+static const symbol s_1[] = { 0xC8, 0x9B };
+static const symbol s_2[] = { 'U' };
+static const symbol s_3[] = { 'I' };
+static const symbol s_4[] = { 'i' };
+static const symbol s_5[] = { 'u' };
+static const symbol s_6[] = { 'a' };
+static const symbol s_7[] = { 'e' };
+static const symbol s_8[] = { 'i' };
+static const symbol s_9[] = { 'a', 'b' };
+static const symbol s_10[] = { 'i' };
+static const symbol s_11[] = { 'a', 't' };
+static const symbol s_12[] = { 'a', 0xC8, 0x9B, 'i' };
+static const symbol s_13[] = { 'a', 'b', 'i', 'l' };
+static const symbol s_14[] = { 'i', 'b', 'i', 'l' };
+static const symbol s_15[] = { 'i', 'v' };
+static const symbol s_16[] = { 'i', 'c' };
+static const symbol s_17[] = { 'a', 't' };
+static const symbol s_18[] = { 'i', 't' };
+static const symbol s_19[] = { 0xC8, 0x9B };
+static const symbol s_20[] = { 't' };
+static const symbol s_21[] = { 'i', 's', 't' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[2] = { 0xC5, 0x9F };
 static const symbol s_0_1[2] = { 0xC5, 0xA3 };
-
-static const struct among a_0[2] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 2, 0}
+static const struct among a_0[2] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 2, 0}
 };
 
 static const symbol s_1_1[1] = { 'I' };
 static const symbol s_1_2[1] = { 'U' };
-
-static const struct among a_1[3] =
-{
-{ 0, 0, -1, 3, 0},
-{ 1, s_1_1, 0, 1, 0},
-{ 1, s_1_2, 0, 2, 0}
+static const struct among a_1[3] = {
+{ 0, 0, 0, 3, 0},
+{ 1, s_1_1, -1, 1, 0},
+{ 1, s_1_2, -2, 2, 0}
 };
 
 static const symbol s_2_0[2] = { 'e', 'a' };
@@ -68,25 +91,23 @@ static const symbol s_2_12[2] = { 'u', 'l' };
 static const symbol s_2_13[4] = { 'e', 'l', 'o', 'r' };
 static const symbol s_2_14[4] = { 'i', 'l', 'o', 'r' };
 static const symbol s_2_15[5] = { 'i', 'i', 'l', 'o', 'r' };
-
-static const struct among a_2[16] =
-{
-{ 2, s_2_0, -1, 3, 0},
-{ 5, s_2_1, -1, 7, 0},
-{ 3, s_2_2, -1, 2, 0},
-{ 3, s_2_3, -1, 4, 0},
-{ 5, s_2_4, -1, 7, 0},
-{ 3, s_2_5, -1, 3, 0},
-{ 3, s_2_6, -1, 5, 0},
-{ 4, s_2_7, 6, 4, 0},
-{ 3, s_2_8, -1, 4, 0},
-{ 4, s_2_9, -1, 6, 0},
-{ 2, s_2_10, -1, 4, 0},
-{ 4, s_2_11, -1, 1, 0},
-{ 2, s_2_12, -1, 1, 0},
-{ 4, s_2_13, -1, 3, 0},
-{ 4, s_2_14, -1, 4, 0},
-{ 5, s_2_15, 14, 4, 0}
+static const struct among a_2[16] = {
+{ 2, s_2_0, 0, 3, 0},
+{ 5, s_2_1, 0, 7, 0},
+{ 3, s_2_2, 0, 2, 0},
+{ 3, s_2_3, 0, 4, 0},
+{ 5, s_2_4, 0, 7, 0},
+{ 3, s_2_5, 0, 3, 0},
+{ 3, s_2_6, 0, 5, 0},
+{ 4, s_2_7, -1, 4, 0},
+{ 3, s_2_8, 0, 4, 0},
+{ 4, s_2_9, 0, 6, 0},
+{ 2, s_2_10, 0, 4, 0},
+{ 4, s_2_11, 0, 1, 0},
+{ 2, s_2_12, 0, 1, 0},
+{ 4, s_2_13, 0, 3, 0},
+{ 4, s_2_14, 0, 4, 0},
+{ 5, s_2_15, -1, 4, 0}
 };
 
 static const symbol s_3_0[5] = { 'i', 'c', 'a', 'l', 'a' };
@@ -135,55 +156,53 @@ static const symbol s_3_42[6] = { 'i', 'c', 'a', 'l', 0xC4, 0x83 };
 static const symbol s_3_43[6] = { 'i', 'c', 'i', 'v', 0xC4, 0x83 };
 static const symbol s_3_44[6] = { 'a', 't', 'i', 'v', 0xC4, 0x83 };
 static const symbol s_3_45[6] = { 'i', 't', 'i', 'v', 0xC4, 0x83 };
-
-static const struct among a_3[46] =
-{
-{ 5, s_3_0, -1, 4, 0},
-{ 5, s_3_1, -1, 4, 0},
-{ 5, s_3_2, -1, 5, 0},
-{ 5, s_3_3, -1, 6, 0},
-{ 5, s_3_4, -1, 4, 0},
-{ 7, s_3_5, -1, 5, 0},
-{ 7, s_3_6, -1, 6, 0},
-{ 6, s_3_7, -1, 5, 0},
-{ 6, s_3_8, -1, 6, 0},
-{ 7, s_3_9, -1, 5, 0},
-{ 7, s_3_10, -1, 4, 0},
-{ 9, s_3_11, -1, 1, 0},
-{ 9, s_3_12, -1, 2, 0},
-{ 7, s_3_13, -1, 3, 0},
-{ 5, s_3_14, -1, 4, 0},
-{ 5, s_3_15, -1, 5, 0},
-{ 5, s_3_16, -1, 6, 0},
-{ 5, s_3_17, -1, 4, 0},
-{ 5, s_3_18, -1, 5, 0},
-{ 7, s_3_19, 18, 4, 0},
-{ 5, s_3_20, -1, 6, 0},
-{ 6, s_3_21, -1, 5, 0},
-{ 7, s_3_22, -1, 4, 0},
-{ 9, s_3_23, -1, 1, 0},
-{ 7, s_3_24, -1, 3, 0},
-{ 5, s_3_25, -1, 4, 0},
-{ 5, s_3_26, -1, 5, 0},
-{ 5, s_3_27, -1, 6, 0},
-{ 7, s_3_28, -1, 4, 0},
-{ 9, s_3_29, -1, 1, 0},
-{ 7, s_3_30, -1, 3, 0},
-{ 9, s_3_31, -1, 4, 0},
-{ 11, s_3_32, -1, 1, 0},
-{ 9, s_3_33, -1, 3, 0},
-{ 4, s_3_34, -1, 4, 0},
-{ 4, s_3_35, -1, 5, 0},
-{ 6, s_3_36, 35, 4, 0},
-{ 4, s_3_37, -1, 6, 0},
-{ 5, s_3_38, -1, 5, 0},
-{ 4, s_3_39, -1, 4, 0},
-{ 4, s_3_40, -1, 5, 0},
-{ 4, s_3_41, -1, 6, 0},
-{ 6, s_3_42, -1, 4, 0},
-{ 6, s_3_43, -1, 4, 0},
-{ 6, s_3_44, -1, 5, 0},
-{ 6, s_3_45, -1, 6, 0}
+static const struct among a_3[46] = {
+{ 5, s_3_0, 0, 4, 0},
+{ 5, s_3_1, 0, 4, 0},
+{ 5, s_3_2, 0, 5, 0},
+{ 5, s_3_3, 0, 6, 0},
+{ 5, s_3_4, 0, 4, 0},
+{ 7, s_3_5, 0, 5, 0},
+{ 7, s_3_6, 0, 6, 0},
+{ 6, s_3_7, 0, 5, 0},
+{ 6, s_3_8, 0, 6, 0},
+{ 7, s_3_9, 0, 5, 0},
+{ 7, s_3_10, 0, 4, 0},
+{ 9, s_3_11, 0, 1, 0},
+{ 9, s_3_12, 0, 2, 0},
+{ 7, s_3_13, 0, 3, 0},
+{ 5, s_3_14, 0, 4, 0},
+{ 5, s_3_15, 0, 5, 0},
+{ 5, s_3_16, 0, 6, 0},
+{ 5, s_3_17, 0, 4, 0},
+{ 5, s_3_18, 0, 5, 0},
+{ 7, s_3_19, -1, 4, 0},
+{ 5, s_3_20, 0, 6, 0},
+{ 6, s_3_21, 0, 5, 0},
+{ 7, s_3_22, 0, 4, 0},
+{ 9, s_3_23, 0, 1, 0},
+{ 7, s_3_24, 0, 3, 0},
+{ 5, s_3_25, 0, 4, 0},
+{ 5, s_3_26, 0, 5, 0},
+{ 5, s_3_27, 0, 6, 0},
+{ 7, s_3_28, 0, 4, 0},
+{ 9, s_3_29, 0, 1, 0},
+{ 7, s_3_30, 0, 3, 0},
+{ 9, s_3_31, 0, 4, 0},
+{ 11, s_3_32, 0, 1, 0},
+{ 9, s_3_33, 0, 3, 0},
+{ 4, s_3_34, 0, 4, 0},
+{ 4, s_3_35, 0, 5, 0},
+{ 6, s_3_36, -1, 4, 0},
+{ 4, s_3_37, 0, 6, 0},
+{ 5, s_3_38, 0, 5, 0},
+{ 4, s_3_39, 0, 4, 0},
+{ 4, s_3_40, 0, 5, 0},
+{ 4, s_3_41, 0, 6, 0},
+{ 6, s_3_42, 0, 4, 0},
+{ 6, s_3_43, 0, 4, 0},
+{ 6, s_3_44, 0, 5, 0},
+{ 6, s_3_45, 0, 6, 0}
 };
 
 static const symbol s_4_0[3] = { 'i', 'c', 'a' };
@@ -248,71 +267,69 @@ static const symbol s_4_58[5] = { 'a', 'n', 't', 0xC4, 0x83 };
 static const symbol s_4_59[5] = { 'i', 's', 't', 0xC4, 0x83 };
 static const symbol s_4_60[4] = { 'u', 't', 0xC4, 0x83 };
 static const symbol s_4_61[4] = { 'i', 'v', 0xC4, 0x83 };
-
-static const struct among a_4[62] =
-{
-{ 3, s_4_0, -1, 1, 0},
-{ 5, s_4_1, -1, 1, 0},
-{ 5, s_4_2, -1, 1, 0},
-{ 4, s_4_3, -1, 1, 0},
-{ 3, s_4_4, -1, 1, 0},
-{ 3, s_4_5, -1, 1, 0},
-{ 4, s_4_6, -1, 1, 0},
-{ 4, s_4_7, -1, 3, 0},
-{ 3, s_4_8, -1, 1, 0},
-{ 3, s_4_9, -1, 1, 0},
-{ 2, s_4_10, -1, 1, 0},
-{ 3, s_4_11, -1, 1, 0},
-{ 5, s_4_12, -1, 1, 0},
-{ 5, s_4_13, -1, 1, 0},
-{ 4, s_4_14, -1, 3, 0},
-{ 4, s_4_15, -1, 2, 0},
-{ 4, s_4_16, -1, 1, 0},
-{ 3, s_4_17, -1, 1, 0},
-{ 5, s_4_18, 17, 1, 0},
-{ 3, s_4_19, -1, 1, 0},
-{ 4, s_4_20, -1, 1, 0},
-{ 4, s_4_21, -1, 3, 0},
-{ 3, s_4_22, -1, 1, 0},
-{ 3, s_4_23, -1, 1, 0},
-{ 3, s_4_24, -1, 1, 0},
-{ 5, s_4_25, -1, 1, 0},
-{ 5, s_4_26, -1, 1, 0},
-{ 4, s_4_27, -1, 2, 0},
-{ 5, s_4_28, -1, 1, 0},
-{ 3, s_4_29, -1, 1, 0},
-{ 3, s_4_30, -1, 1, 0},
-{ 5, s_4_31, 30, 1, 0},
-{ 3, s_4_32, -1, 1, 0},
-{ 4, s_4_33, -1, 1, 0},
-{ 4, s_4_34, -1, 3, 0},
-{ 3, s_4_35, -1, 1, 0},
-{ 5, s_4_36, -1, 3, 0},
-{ 3, s_4_37, -1, 1, 0},
-{ 5, s_4_38, -1, 1, 0},
-{ 4, s_4_39, -1, 1, 0},
-{ 7, s_4_40, -1, 1, 0},
-{ 4, s_4_41, -1, 1, 0},
-{ 4, s_4_42, -1, 1, 0},
-{ 3, s_4_43, -1, 3, 0},
-{ 4, s_4_44, -1, 1, 0},
-{ 2, s_4_45, -1, 1, 0},
-{ 2, s_4_46, -1, 1, 0},
-{ 2, s_4_47, -1, 1, 0},
-{ 3, s_4_48, -1, 1, 0},
-{ 3, s_4_49, -1, 3, 0},
-{ 2, s_4_50, -1, 1, 0},
-{ 2, s_4_51, -1, 1, 0},
-{ 4, s_4_52, -1, 1, 0},
-{ 6, s_4_53, -1, 1, 0},
-{ 6, s_4_54, -1, 1, 0},
-{ 5, s_4_55, -1, 1, 0},
-{ 4, s_4_56, -1, 1, 0},
-{ 4, s_4_57, -1, 1, 0},
-{ 5, s_4_58, -1, 1, 0},
-{ 5, s_4_59, -1, 3, 0},
-{ 4, s_4_60, -1, 1, 0},
-{ 4, s_4_61, -1, 1, 0}
+static const struct among a_4[62] = {
+{ 3, s_4_0, 0, 1, 0},
+{ 5, s_4_1, 0, 1, 0},
+{ 5, s_4_2, 0, 1, 0},
+{ 4, s_4_3, 0, 1, 0},
+{ 3, s_4_4, 0, 1, 0},
+{ 3, s_4_5, 0, 1, 0},
+{ 4, s_4_6, 0, 1, 0},
+{ 4, s_4_7, 0, 3, 0},
+{ 3, s_4_8, 0, 1, 0},
+{ 3, s_4_9, 0, 1, 0},
+{ 2, s_4_10, 0, 1, 0},
+{ 3, s_4_11, 0, 1, 0},
+{ 5, s_4_12, 0, 1, 0},
+{ 5, s_4_13, 0, 1, 0},
+{ 4, s_4_14, 0, 3, 0},
+{ 4, s_4_15, 0, 2, 0},
+{ 4, s_4_16, 0, 1, 0},
+{ 3, s_4_17, 0, 1, 0},
+{ 5, s_4_18, -1, 1, 0},
+{ 3, s_4_19, 0, 1, 0},
+{ 4, s_4_20, 0, 1, 0},
+{ 4, s_4_21, 0, 3, 0},
+{ 3, s_4_22, 0, 1, 0},
+{ 3, s_4_23, 0, 1, 0},
+{ 3, s_4_24, 0, 1, 0},
+{ 5, s_4_25, 0, 1, 0},
+{ 5, s_4_26, 0, 1, 0},
+{ 4, s_4_27, 0, 2, 0},
+{ 5, s_4_28, 0, 1, 0},
+{ 3, s_4_29, 0, 1, 0},
+{ 3, s_4_30, 0, 1, 0},
+{ 5, s_4_31, -1, 1, 0},
+{ 3, s_4_32, 0, 1, 0},
+{ 4, s_4_33, 0, 1, 0},
+{ 4, s_4_34, 0, 3, 0},
+{ 3, s_4_35, 0, 1, 0},
+{ 5, s_4_36, 0, 3, 0},
+{ 3, s_4_37, 0, 1, 0},
+{ 5, s_4_38, 0, 1, 0},
+{ 4, s_4_39, 0, 1, 0},
+{ 7, s_4_40, 0, 1, 0},
+{ 4, s_4_41, 0, 1, 0},
+{ 4, s_4_42, 0, 1, 0},
+{ 3, s_4_43, 0, 3, 0},
+{ 4, s_4_44, 0, 1, 0},
+{ 2, s_4_45, 0, 1, 0},
+{ 2, s_4_46, 0, 1, 0},
+{ 2, s_4_47, 0, 1, 0},
+{ 3, s_4_48, 0, 1, 0},
+{ 3, s_4_49, 0, 3, 0},
+{ 2, s_4_50, 0, 1, 0},
+{ 2, s_4_51, 0, 1, 0},
+{ 4, s_4_52, 0, 1, 0},
+{ 6, s_4_53, 0, 1, 0},
+{ 6, s_4_54, 0, 1, 0},
+{ 5, s_4_55, 0, 1, 0},
+{ 4, s_4_56, 0, 1, 0},
+{ 4, s_4_57, 0, 1, 0},
+{ 5, s_4_58, 0, 1, 0},
+{ 5, s_4_59, 0, 3, 0},
+{ 4, s_4_60, 0, 1, 0},
+{ 4, s_4_61, 0, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 'e', 'a' };
@@ -409,103 +426,101 @@ static const symbol s_5_90[4] = { 'i', 'r', 0xC4, 0x83 };
 static const symbol s_5_91[4] = { 'u', 'r', 0xC4, 0x83 };
 static const symbol s_5_92[5] = { 0xC3, 0xA2, 'r', 0xC4, 0x83 };
 static const symbol s_5_93[5] = { 'e', 'a', 'z', 0xC4, 0x83 };
-
-static const struct among a_5[94] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 2, s_5_1, -1, 1, 0},
-{ 3, s_5_2, -1, 1, 0},
-{ 4, s_5_3, -1, 1, 0},
-{ 3, s_5_4, -1, 1, 0},
-{ 4, s_5_5, -1, 1, 0},
-{ 3, s_5_6, -1, 1, 0},
-{ 3, s_5_7, -1, 1, 0},
-{ 3, s_5_8, -1, 1, 0},
-{ 4, s_5_9, -1, 1, 0},
-{ 2, s_5_10, -1, 2, 0},
-{ 3, s_5_11, 10, 1, 0},
-{ 4, s_5_12, 10, 2, 0},
-{ 3, s_5_13, 10, 1, 0},
-{ 3, s_5_14, 10, 1, 0},
-{ 4, s_5_15, 10, 1, 0},
-{ 5, s_5_16, -1, 1, 0},
-{ 6, s_5_17, -1, 1, 0},
-{ 3, s_5_18, -1, 1, 0},
-{ 2, s_5_19, -1, 1, 0},
-{ 3, s_5_20, 19, 1, 0},
-{ 3, s_5_21, 19, 1, 0},
-{ 3, s_5_22, -1, 2, 0},
-{ 5, s_5_23, -1, 1, 0},
-{ 6, s_5_24, -1, 1, 0},
-{ 2, s_5_25, -1, 1, 0},
-{ 3, s_5_26, -1, 1, 0},
-{ 4, s_5_27, -1, 1, 0},
-{ 5, s_5_28, -1, 2, 0},
-{ 6, s_5_29, 28, 1, 0},
-{ 7, s_5_30, 28, 2, 0},
-{ 6, s_5_31, 28, 1, 0},
-{ 6, s_5_32, 28, 1, 0},
-{ 7, s_5_33, 28, 1, 0},
-{ 4, s_5_34, -1, 1, 0},
-{ 4, s_5_35, -1, 1, 0},
-{ 5, s_5_36, -1, 1, 0},
-{ 4, s_5_37, -1, 2, 0},
-{ 5, s_5_38, 37, 1, 0},
-{ 5, s_5_39, 37, 1, 0},
-{ 4, s_5_40, -1, 2, 0},
-{ 4, s_5_41, -1, 2, 0},
-{ 7, s_5_42, -1, 1, 0},
-{ 8, s_5_43, -1, 2, 0},
-{ 9, s_5_44, 43, 1, 0},
-{ 10, s_5_45, 43, 2, 0},
-{ 9, s_5_46, 43, 1, 0},
-{ 9, s_5_47, 43, 1, 0},
-{ 10, s_5_48, 43, 1, 0},
-{ 7, s_5_49, -1, 1, 0},
-{ 7, s_5_50, -1, 1, 0},
-{ 8, s_5_51, -1, 1, 0},
-{ 5, s_5_52, -1, 2, 0},
-{ 3, s_5_53, -1, 1, 0},
-{ 2, s_5_54, -1, 1, 0},
-{ 3, s_5_55, 54, 1, 0},
-{ 3, s_5_56, 54, 1, 0},
-{ 2, s_5_57, -1, 2, 0},
-{ 4, s_5_58, 57, 1, 0},
-{ 5, s_5_59, 57, 2, 0},
-{ 4, s_5_60, 57, 1, 0},
-{ 4, s_5_61, 57, 1, 0},
-{ 5, s_5_62, 57, 1, 0},
-{ 2, s_5_63, -1, 2, 0},
-{ 3, s_5_64, -1, 2, 0},
-{ 5, s_5_65, 64, 1, 0},
-{ 6, s_5_66, 64, 2, 0},
-{ 7, s_5_67, 66, 1, 0},
-{ 8, s_5_68, 66, 2, 0},
-{ 7, s_5_69, 66, 1, 0},
-{ 7, s_5_70, 66, 1, 0},
-{ 8, s_5_71, 66, 1, 0},
-{ 5, s_5_72, 64, 1, 0},
-{ 5, s_5_73, 64, 1, 0},
-{ 6, s_5_74, 64, 1, 0},
-{ 3, s_5_75, -1, 2, 0},
-{ 2, s_5_76, -1, 1, 0},
-{ 3, s_5_77, 76, 1, 0},
-{ 3, s_5_78, 76, 1, 0},
-{ 4, s_5_79, -1, 1, 0},
-{ 5, s_5_80, -1, 1, 0},
-{ 2, s_5_81, -1, 1, 0},
-{ 6, s_5_82, -1, 1, 0},
-{ 4, s_5_83, -1, 1, 0},
-{ 5, s_5_84, -1, 2, 0},
-{ 6, s_5_85, 84, 1, 0},
-{ 7, s_5_86, 84, 2, 0},
-{ 6, s_5_87, 84, 1, 0},
-{ 6, s_5_88, 84, 1, 0},
-{ 7, s_5_89, 84, 1, 0},
-{ 4, s_5_90, -1, 1, 0},
-{ 4, s_5_91, -1, 1, 0},
-{ 5, s_5_92, -1, 1, 0},
-{ 5, s_5_93, -1, 1, 0}
+static const struct among a_5[94] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 2, s_5_1, 0, 1, 0},
+{ 3, s_5_2, 0, 1, 0},
+{ 4, s_5_3, 0, 1, 0},
+{ 3, s_5_4, 0, 1, 0},
+{ 4, s_5_5, 0, 1, 0},
+{ 3, s_5_6, 0, 1, 0},
+{ 3, s_5_7, 0, 1, 0},
+{ 3, s_5_8, 0, 1, 0},
+{ 4, s_5_9, 0, 1, 0},
+{ 2, s_5_10, 0, 2, 0},
+{ 3, s_5_11, -1, 1, 0},
+{ 4, s_5_12, -2, 2, 0},
+{ 3, s_5_13, -3, 1, 0},
+{ 3, s_5_14, -4, 1, 0},
+{ 4, s_5_15, -5, 1, 0},
+{ 5, s_5_16, 0, 1, 0},
+{ 6, s_5_17, 0, 1, 0},
+{ 3, s_5_18, 0, 1, 0},
+{ 2, s_5_19, 0, 1, 0},
+{ 3, s_5_20, -1, 1, 0},
+{ 3, s_5_21, -2, 1, 0},
+{ 3, s_5_22, 0, 2, 0},
+{ 5, s_5_23, 0, 1, 0},
+{ 6, s_5_24, 0, 1, 0},
+{ 2, s_5_25, 0, 1, 0},
+{ 3, s_5_26, 0, 1, 0},
+{ 4, s_5_27, 0, 1, 0},
+{ 5, s_5_28, 0, 2, 0},
+{ 6, s_5_29, -1, 1, 0},
+{ 7, s_5_30, -2, 2, 0},
+{ 6, s_5_31, -3, 1, 0},
+{ 6, s_5_32, -4, 1, 0},
+{ 7, s_5_33, -5, 1, 0},
+{ 4, s_5_34, 0, 1, 0},
+{ 4, s_5_35, 0, 1, 0},
+{ 5, s_5_36, 0, 1, 0},
+{ 4, s_5_37, 0, 2, 0},
+{ 5, s_5_38, -1, 1, 0},
+{ 5, s_5_39, -2, 1, 0},
+{ 4, s_5_40, 0, 2, 0},
+{ 4, s_5_41, 0, 2, 0},
+{ 7, s_5_42, 0, 1, 0},
+{ 8, s_5_43, 0, 2, 0},
+{ 9, s_5_44, -1, 1, 0},
+{ 10, s_5_45, -2, 2, 0},
+{ 9, s_5_46, -3, 1, 0},
+{ 9, s_5_47, -4, 1, 0},
+{ 10, s_5_48, -5, 1, 0},
+{ 7, s_5_49, 0, 1, 0},
+{ 7, s_5_50, 0, 1, 0},
+{ 8, s_5_51, 0, 1, 0},
+{ 5, s_5_52, 0, 2, 0},
+{ 3, s_5_53, 0, 1, 0},
+{ 2, s_5_54, 0, 1, 0},
+{ 3, s_5_55, -1, 1, 0},
+{ 3, s_5_56, -2, 1, 0},
+{ 2, s_5_57, 0, 2, 0},
+{ 4, s_5_58, -1, 1, 0},
+{ 5, s_5_59, -2, 2, 0},
+{ 4, s_5_60, -3, 1, 0},
+{ 4, s_5_61, -4, 1, 0},
+{ 5, s_5_62, -5, 1, 0},
+{ 2, s_5_63, 0, 2, 0},
+{ 3, s_5_64, 0, 2, 0},
+{ 5, s_5_65, -1, 1, 0},
+{ 6, s_5_66, -2, 2, 0},
+{ 7, s_5_67, -1, 1, 0},
+{ 8, s_5_68, -2, 2, 0},
+{ 7, s_5_69, -3, 1, 0},
+{ 7, s_5_70, -4, 1, 0},
+{ 8, s_5_71, -5, 1, 0},
+{ 5, s_5_72, -8, 1, 0},
+{ 5, s_5_73, -9, 1, 0},
+{ 6, s_5_74, -10, 1, 0},
+{ 3, s_5_75, 0, 2, 0},
+{ 2, s_5_76, 0, 1, 0},
+{ 3, s_5_77, -1, 1, 0},
+{ 3, s_5_78, -2, 1, 0},
+{ 4, s_5_79, 0, 1, 0},
+{ 5, s_5_80, 0, 1, 0},
+{ 2, s_5_81, 0, 1, 0},
+{ 6, s_5_82, 0, 1, 0},
+{ 4, s_5_83, 0, 1, 0},
+{ 5, s_5_84, 0, 2, 0},
+{ 6, s_5_85, -1, 1, 0},
+{ 7, s_5_86, -2, 2, 0},
+{ 6, s_5_87, -3, 1, 0},
+{ 6, s_5_88, -4, 1, 0},
+{ 7, s_5_89, -5, 1, 0},
+{ 4, s_5_90, 0, 1, 0},
+{ 4, s_5_91, 0, 1, 0},
+{ 5, s_5_92, 0, 1, 0},
+{ 5, s_5_93, 0, 1, 0}
 };
 
 static const symbol s_6_0[1] = { 'a' };
@@ -513,238 +528,218 @@ static const symbol s_6_1[1] = { 'e' };
 static const symbol s_6_2[2] = { 'i', 'e' };
 static const symbol s_6_3[1] = { 'i' };
 static const symbol s_6_4[2] = { 0xC4, 0x83 };
-
-static const struct among a_6[5] =
-{
-{ 1, s_6_0, -1, 1, 0},
-{ 1, s_6_1, -1, 1, 0},
-{ 2, s_6_2, 1, 1, 0},
-{ 1, s_6_3, -1, 1, 0},
-{ 2, s_6_4, -1, 1, 0}
+static const struct among a_6[5] = {
+{ 1, s_6_0, 0, 1, 0},
+{ 1, s_6_1, 0, 1, 0},
+{ 2, s_6_2, -1, 1, 0},
+{ 1, s_6_3, 0, 1, 0},
+{ 2, s_6_4, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4 };
 
-static const symbol s_0[] = { 0xC8, 0x99 };
-static const symbol s_1[] = { 0xC8, 0x9B };
-static const symbol s_2[] = { 'U' };
-static const symbol s_3[] = { 'I' };
-static const symbol s_4[] = { 'i' };
-static const symbol s_5[] = { 'u' };
-static const symbol s_6[] = { 'a' };
-static const symbol s_7[] = { 'e' };
-static const symbol s_8[] = { 'i' };
-static const symbol s_9[] = { 'a', 'b' };
-static const symbol s_10[] = { 'i' };
-static const symbol s_11[] = { 'a', 't' };
-static const symbol s_12[] = { 'a', 0xC8, 0x9B, 'i' };
-static const symbol s_13[] = { 'a', 'b', 'i', 'l' };
-static const symbol s_14[] = { 'i', 'b', 'i', 'l' };
-static const symbol s_15[] = { 'i', 'v' };
-static const symbol s_16[] = { 'i', 'c' };
-static const symbol s_17[] = { 'a', 't' };
-static const symbol s_18[] = { 'i', 't' };
-static const symbol s_19[] = { 0xC8, 0x9B };
-static const symbol s_20[] = { 't' };
-static const symbol s_21[] = { 'i', 's', 't' };
-
 static int r_norm(struct SN_env * z) {
     int among_var;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 z->bra = z->c;
                 if (z->c + 1 >= z->l || (z->p[z->c + 1] != 159 && z->p[z->c + 1] != 163)) goto lab2;
-                among_var = find_among(z, a_0, 2);
+                among_var = find_among(z, a_0, 2, 0);
                 if (!among_var) goto lab2;
                 z->ket = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 2, s_0);
+                        {
+                            int ret = slice_from_s(z, 2, s_0);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 2, s_1);
+                        {
+                            int ret = slice_from_s(z, 2, s_1);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_prelude(struct SN_env * z) {
-    while(1) {
-        int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
+    while (1) {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
             if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
             z->bra = z->c;
-            {   int c3 = z->c;
-                if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
+            do {
+                int v_3 = z->c;
+                if (z->c == z->l || z->p[z->c] != 'u') goto lab2;
                 z->c++;
                 z->ket = z->c;
-                if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab3;
-                {   int ret = slice_from_s(z, 1, s_2);
+                if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
-                goto lab2;
-            lab3:
-                z->c = c3;
+                break;
+            lab2:
+                z->c = v_3;
                 if (z->c == z->l || z->p[z->c] != 'i') goto lab1;
                 z->c++;
                 z->ket = z->c;
                 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
-            }
-        lab2:
-            z->c = c2;
+            } while (0);
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_2;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab0;
                 z->c = ret;
             }
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 259, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
                 {
                     int ret = in_grouping_U(z, g_v, 97, 259, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab3;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 259, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 259, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 259, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 259, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 259, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
-        among_var = find_among(z, a_1, 3);
+        among_var = find_among(z, a_1, 3, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_5);
+                {
+                    int ret = slice_from_s(z, 1, s_5);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -752,73 +747,82 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_step_0(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_2, 16);
+    among_var = find_among_b(z, a_2, 16, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 1, s_6);
+            {
+                int ret = slice_from_s(z, 1, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 if (!(eq_s_b(z, 2, s_9))) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m1;
+                z->c = z->l - v_1;
             }
-            {   int ret = slice_from_s(z, 1, s_10);
+            {
+                int ret = slice_from_s(z, 1, s_10);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 2, s_11);
+            {
+                int ret = slice_from_s(z, 2, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 4, s_12);
+            {
+                int ret = slice_from_s(z, 4, s_12);
                 if (ret < 0) return ret;
             }
             break;
@@ -828,206 +832,245 @@ static int r_step_0(struct SN_env * z) {
 
 static int r_combo_suffix(struct SN_env * z) {
     int among_var;
-    {   int m_test1 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_3, 46);
+        among_var = find_among_b(z, a_3, 46, 0);
         if (!among_var) return 0;
         z->bra = z->c;
-        {   int ret = r_R1(z);
+        {
+            int ret = r_R1(z);
             if (ret <= 0) return ret;
         }
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 4, s_13);
+                {
+                    int ret = slice_from_s(z, 4, s_13);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 4, s_14);
+                {
+                    int ret = slice_from_s(z, 4, s_14);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 2, s_15);
+                {
+                    int ret = slice_from_s(z, 2, s_15);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 2, s_16);
+                {
+                    int ret = slice_from_s(z, 2, s_16);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 2, s_17);
+                {
+                    int ret = slice_from_s(z, 2, s_17);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 2, s_18);
+                {
+                    int ret = slice_from_s(z, 2, s_18);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        z->I[3] = 1;
-        z->c = z->l - m_test1;
+        ((SN_local *)z)->b_standard_suffix_removed = 1;
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
-    z->I[3] = 0;
-    while(1) {
-        int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_combo_suffix(z);
+    ((SN_local *)z)->b_standard_suffix_removed = 0;
+    while (1) {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_combo_suffix(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
         break;
     }
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 62);
+    among_var = find_among_b(z, a_4, 62, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (!(eq_s_b(z, 2, s_19))) return 0;
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 1, s_20);
+            {
+                int ret = slice_from_s(z, 1, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_21);
+            {
+                int ret = slice_from_s(z, 3, s_21);
                 if (ret < 0) return ret;
             }
             break;
     }
-    z->I[3] = 1;
+    ((SN_local *)z)->b_standard_suffix_removed = 1;
     return 1;
 }
 
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        among_var = find_among_b(z, a_5, 94);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_5, 94, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int m2 = z->l - z->c; (void)m2;
-                    if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab1;
-                    goto lab0;
-                lab1:
-                    z->c = z->l - m2;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; }
+                do {
+                    int v_2 = z->l - z->c;
+                    if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab0;
+                    break;
+                lab0:
+                    z->c = z->l - v_2;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = v_1; return 0; }
                     z->c--;
-                }
-            lab0:
-                {   int ret = slice_del(z);
+                } while (0);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_vowel_suffix(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_6, 5)) return 0;
+    if (!find_among_b(z, a_6, 5, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int romanian_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_norm(z);
+    {
+        int ret = r_norm(z);
         if (ret < 0) return ret;
     }
-    {   int c1 = z->c;
-        {   int ret = r_prelude(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_prelude(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_step_0(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_step_0(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_standard_suffix(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_standard_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int m5 = z->l - z->c; (void)m5;
-            if (!(z->I[3])) goto lab2;
-            goto lab1;
-        lab2:
-            z->c = z->l - m5;
-            {   int ret = r_verb_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        do {
+            int v_5 = z->l - z->c;
+            if (!((SN_local *)z)->b_standard_suffix_removed) goto lab1;
+            break;
+        lab1:
+            z->c = z->l - v_5;
+            {
+                int ret = r_verb_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
-    {   int m6 = z->l - z->c; (void)m6;
-        {   int ret = r_vowel_suffix(z);
+    {
+        int v_6 = z->l - z->c;
+        {
+            int ret = r_vowel_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m6;
+        z->c = z->l - v_6;
     }
     z->c = z->lb;
-    {   int c7 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_7 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c7;
+        z->c = v_7;
     }
     return 1;
 }
 
-extern struct SN_env * romanian_UTF_8_create_env(void) { return SN_create_env(0, 4); }
+extern struct SN_env * romanian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_standard_suffix_removed = 0;
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void romanian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void romanian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 815af215e87a56d5de38d400a305f56df39348bb..3133eb30c60d326cb0c92f7e888218e111a8f651 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from russian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_russian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int russian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_tidy_up(struct SN_env * z);
 static int r_derivational(struct SN_env * z);
 static int r_noun(struct SN_env * z);
@@ -19,18 +32,20 @@ static int r_adjective(struct SN_env * z);
 static int r_perfective_gerund(struct SN_env * z);
 static int r_R2(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * russian_UTF_8_create_env(void);
-extern void russian_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xD0, 0xB0 };
+static const symbol s_1[] = { 0xD1, 0x8F };
+static const symbol s_2[] = { 0xD0, 0xB0 };
+static const symbol s_3[] = { 0xD1, 0x8F };
+static const symbol s_4[] = { 0xD0, 0xB0 };
+static const symbol s_5[] = { 0xD1, 0x8F };
+static const symbol s_6[] = { 0xD0, 0xBD };
+static const symbol s_7[] = { 0xD0, 0xBD };
+static const symbol s_8[] = { 0xD0, 0xBD };
+static const symbol s_9[] = { 0xD1, 0x91 };
+static const symbol s_10[] = { 0xD0, 0xB5 };
+static const symbol s_11[] = { 0xD0, 0xB8 };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[10] = { 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C };
 static const symbol s_0_1[12] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C };
 static const symbol s_0_2[12] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8, 0xD1, 0x81, 0xD1, 0x8C };
@@ -40,18 +55,16 @@ static const symbol s_0_5[4] = { 0xD0, 0xB8, 0xD0, 0xB2 };
 static const symbol s_0_6[6] = { 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 };
 static const symbol s_0_7[8] = { 0xD1, 0x8B, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 };
 static const symbol s_0_8[8] = { 0xD0, 0xB8, 0xD0, 0xB2, 0xD1, 0x88, 0xD0, 0xB8 };
-
-static const struct among a_0[9] =
-{
-{ 10, s_0_0, -1, 1, 0},
-{ 12, s_0_1, 0, 2, 0},
-{ 12, s_0_2, 0, 2, 0},
-{ 2, s_0_3, -1, 1, 0},
-{ 4, s_0_4, 3, 2, 0},
-{ 4, s_0_5, 3, 2, 0},
-{ 6, s_0_6, -1, 1, 0},
-{ 8, s_0_7, 6, 2, 0},
-{ 8, s_0_8, 6, 2, 0}
+static const struct among a_0[9] = {
+{ 10, s_0_0, 0, 1, 0},
+{ 12, s_0_1, -1, 2, 0},
+{ 12, s_0_2, -2, 2, 0},
+{ 2, s_0_3, 0, 1, 0},
+{ 4, s_0_4, -1, 2, 0},
+{ 4, s_0_5, -2, 2, 0},
+{ 6, s_0_6, 0, 1, 0},
+{ 8, s_0_7, -1, 2, 0},
+{ 8, s_0_8, -2, 2, 0}
 };
 
 static const symbol s_1_0[6] = { 0xD0, 0xB5, 0xD0, 0xBC, 0xD1, 0x83 };
@@ -80,35 +93,33 @@ static const symbol s_1_22[4] = { 0xD0, 0xB8, 0xD0, 0xBC };
 static const symbol s_1_23[4] = { 0xD0, 0xBE, 0xD0, 0xBC };
 static const symbol s_1_24[6] = { 0xD0, 0xB5, 0xD0, 0xB3, 0xD0, 0xBE };
 static const symbol s_1_25[6] = { 0xD0, 0xBE, 0xD0, 0xB3, 0xD0, 0xBE };
-
-static const struct among a_1[26] =
-{
-{ 6, s_1_0, -1, 1, 0},
-{ 6, s_1_1, -1, 1, 0},
-{ 4, s_1_2, -1, 1, 0},
-{ 4, s_1_3, -1, 1, 0},
-{ 4, s_1_4, -1, 1, 0},
-{ 4, s_1_5, -1, 1, 0},
-{ 4, s_1_6, -1, 1, 0},
-{ 4, s_1_7, -1, 1, 0},
-{ 4, s_1_8, -1, 1, 0},
-{ 4, s_1_9, -1, 1, 0},
-{ 4, s_1_10, -1, 1, 0},
-{ 4, s_1_11, -1, 1, 0},
-{ 4, s_1_12, -1, 1, 0},
-{ 4, s_1_13, -1, 1, 0},
-{ 6, s_1_14, -1, 1, 0},
-{ 6, s_1_15, -1, 1, 0},
-{ 4, s_1_16, -1, 1, 0},
-{ 4, s_1_17, -1, 1, 0},
-{ 4, s_1_18, -1, 1, 0},
-{ 4, s_1_19, -1, 1, 0},
-{ 4, s_1_20, -1, 1, 0},
-{ 4, s_1_21, -1, 1, 0},
-{ 4, s_1_22, -1, 1, 0},
-{ 4, s_1_23, -1, 1, 0},
-{ 6, s_1_24, -1, 1, 0},
-{ 6, s_1_25, -1, 1, 0}
+static const struct among a_1[26] = {
+{ 6, s_1_0, 0, 1, 0},
+{ 6, s_1_1, 0, 1, 0},
+{ 4, s_1_2, 0, 1, 0},
+{ 4, s_1_3, 0, 1, 0},
+{ 4, s_1_4, 0, 1, 0},
+{ 4, s_1_5, 0, 1, 0},
+{ 4, s_1_6, 0, 1, 0},
+{ 4, s_1_7, 0, 1, 0},
+{ 4, s_1_8, 0, 1, 0},
+{ 4, s_1_9, 0, 1, 0},
+{ 4, s_1_10, 0, 1, 0},
+{ 4, s_1_11, 0, 1, 0},
+{ 4, s_1_12, 0, 1, 0},
+{ 4, s_1_13, 0, 1, 0},
+{ 6, s_1_14, 0, 1, 0},
+{ 6, s_1_15, 0, 1, 0},
+{ 4, s_1_16, 0, 1, 0},
+{ 4, s_1_17, 0, 1, 0},
+{ 4, s_1_18, 0, 1, 0},
+{ 4, s_1_19, 0, 1, 0},
+{ 4, s_1_20, 0, 1, 0},
+{ 4, s_1_21, 0, 1, 0},
+{ 4, s_1_22, 0, 1, 0},
+{ 4, s_1_23, 0, 1, 0},
+{ 6, s_1_24, 0, 1, 0},
+{ 6, s_1_25, 0, 1, 0}
 };
 
 static const symbol s_2_0[4] = { 0xD0, 0xB2, 0xD1, 0x88 };
@@ -119,26 +130,22 @@ static const symbol s_2_4[4] = { 0xD1, 0x8E, 0xD1, 0x89 };
 static const symbol s_2_5[6] = { 0xD1, 0x83, 0xD1, 0x8E, 0xD1, 0x89 };
 static const symbol s_2_6[4] = { 0xD0, 0xB5, 0xD0, 0xBC };
 static const symbol s_2_7[4] = { 0xD0, 0xBD, 0xD0, 0xBD };
-
-static const struct among a_2[8] =
-{
-{ 4, s_2_0, -1, 1, 0},
-{ 6, s_2_1, 0, 2, 0},
-{ 6, s_2_2, 0, 2, 0},
-{ 2, s_2_3, -1, 1, 0},
-{ 4, s_2_4, 3, 1, 0},
-{ 6, s_2_5, 4, 2, 0},
-{ 4, s_2_6, -1, 1, 0},
-{ 4, s_2_7, -1, 1, 0}
+static const struct among a_2[8] = {
+{ 4, s_2_0, 0, 1, 0},
+{ 6, s_2_1, -1, 2, 0},
+{ 6, s_2_2, -2, 2, 0},
+{ 2, s_2_3, 0, 1, 0},
+{ 4, s_2_4, -1, 1, 0},
+{ 6, s_2_5, -1, 2, 0},
+{ 4, s_2_6, 0, 1, 0},
+{ 4, s_2_7, 0, 1, 0}
 };
 
 static const symbol s_3_0[4] = { 0xD1, 0x81, 0xD1, 0x8C };
 static const symbol s_3_1[4] = { 0xD1, 0x81, 0xD1, 0x8F };
-
-static const struct among a_3[2] =
-{
-{ 4, s_3_0, -1, 1, 0},
-{ 4, s_3_1, -1, 1, 0}
+static const struct among a_3[2] = {
+{ 4, s_3_0, 0, 1, 0},
+{ 4, s_3_1, 0, 1, 0}
 };
 
 static const symbol s_4_0[4] = { 0xD1, 0x8B, 0xD1, 0x82 };
@@ -187,55 +194,53 @@ static const symbol s_4_42[6] = { 0xD0, 0xB8, 0xD0, 0xBB, 0xD0, 0xBE };
 static const symbol s_4_43[4] = { 0xD0, 0xBD, 0xD0, 0xBE };
 static const symbol s_4_44[6] = { 0xD0, 0xB5, 0xD0, 0xBD, 0xD0, 0xBE };
 static const symbol s_4_45[6] = { 0xD0, 0xBD, 0xD0, 0xBD, 0xD0, 0xBE };
-
-static const struct among a_4[46] =
-{
-{ 4, s_4_0, -1, 2, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 6, s_4_2, 1, 2, 0},
-{ 4, s_4_3, -1, 2, 0},
-{ 4, s_4_4, -1, 1, 0},
-{ 6, s_4_5, 4, 2, 0},
-{ 4, s_4_6, -1, 2, 0},
-{ 4, s_4_7, -1, 1, 0},
-{ 6, s_4_8, 7, 2, 0},
-{ 4, s_4_9, -1, 1, 0},
-{ 6, s_4_10, 9, 2, 0},
-{ 6, s_4_11, 9, 2, 0},
-{ 6, s_4_12, -1, 1, 0},
-{ 6, s_4_13, -1, 2, 0},
-{ 2, s_4_14, -1, 2, 0},
-{ 4, s_4_15, 14, 2, 0},
-{ 4, s_4_16, -1, 1, 0},
-{ 6, s_4_17, 16, 2, 0},
-{ 6, s_4_18, 16, 2, 0},
-{ 4, s_4_19, -1, 1, 0},
-{ 6, s_4_20, 19, 2, 0},
-{ 6, s_4_21, -1, 1, 0},
-{ 6, s_4_22, -1, 2, 0},
-{ 6, s_4_23, -1, 1, 0},
-{ 8, s_4_24, 23, 2, 0},
-{ 8, s_4_25, 23, 2, 0},
-{ 4, s_4_26, -1, 1, 0},
-{ 6, s_4_27, 26, 2, 0},
-{ 6, s_4_28, 26, 2, 0},
-{ 2, s_4_29, -1, 1, 0},
-{ 4, s_4_30, 29, 2, 0},
-{ 4, s_4_31, 29, 2, 0},
-{ 2, s_4_32, -1, 1, 0},
-{ 4, s_4_33, 32, 2, 0},
-{ 4, s_4_34, 32, 2, 0},
-{ 4, s_4_35, -1, 2, 0},
-{ 4, s_4_36, -1, 1, 0},
-{ 4, s_4_37, -1, 2, 0},
-{ 2, s_4_38, -1, 1, 0},
-{ 4, s_4_39, 38, 2, 0},
-{ 4, s_4_40, -1, 1, 0},
-{ 6, s_4_41, 40, 2, 0},
-{ 6, s_4_42, 40, 2, 0},
-{ 4, s_4_43, -1, 1, 0},
-{ 6, s_4_44, 43, 2, 0},
-{ 6, s_4_45, 43, 1, 0}
+static const struct among a_4[46] = {
+{ 4, s_4_0, 0, 2, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 6, s_4_2, -1, 2, 0},
+{ 4, s_4_3, 0, 2, 0},
+{ 4, s_4_4, 0, 1, 0},
+{ 6, s_4_5, -1, 2, 0},
+{ 4, s_4_6, 0, 2, 0},
+{ 4, s_4_7, 0, 1, 0},
+{ 6, s_4_8, -1, 2, 0},
+{ 4, s_4_9, 0, 1, 0},
+{ 6, s_4_10, -1, 2, 0},
+{ 6, s_4_11, -2, 2, 0},
+{ 6, s_4_12, 0, 1, 0},
+{ 6, s_4_13, 0, 2, 0},
+{ 2, s_4_14, 0, 2, 0},
+{ 4, s_4_15, -1, 2, 0},
+{ 4, s_4_16, 0, 1, 0},
+{ 6, s_4_17, -1, 2, 0},
+{ 6, s_4_18, -2, 2, 0},
+{ 4, s_4_19, 0, 1, 0},
+{ 6, s_4_20, -1, 2, 0},
+{ 6, s_4_21, 0, 1, 0},
+{ 6, s_4_22, 0, 2, 0},
+{ 6, s_4_23, 0, 1, 0},
+{ 8, s_4_24, -1, 2, 0},
+{ 8, s_4_25, -2, 2, 0},
+{ 4, s_4_26, 0, 1, 0},
+{ 6, s_4_27, -1, 2, 0},
+{ 6, s_4_28, -2, 2, 0},
+{ 2, s_4_29, 0, 1, 0},
+{ 4, s_4_30, -1, 2, 0},
+{ 4, s_4_31, -2, 2, 0},
+{ 2, s_4_32, 0, 1, 0},
+{ 4, s_4_33, -1, 2, 0},
+{ 4, s_4_34, -2, 2, 0},
+{ 4, s_4_35, 0, 2, 0},
+{ 4, s_4_36, 0, 1, 0},
+{ 4, s_4_37, 0, 2, 0},
+{ 2, s_4_38, 0, 1, 0},
+{ 4, s_4_39, -1, 2, 0},
+{ 4, s_4_40, 0, 1, 0},
+{ 6, s_4_41, -1, 2, 0},
+{ 6, s_4_42, -2, 2, 0},
+{ 4, s_4_43, 0, 1, 0},
+{ 6, s_4_44, -1, 2, 0},
+{ 6, s_4_45, -2, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 0xD1, 0x83 };
@@ -274,146 +279,126 @@ static const symbol s_5_32[4] = { 0xD0, 0xB5, 0xD0, 0xBC };
 static const symbol s_5_33[6] = { 0xD0, 0xB8, 0xD0, 0xB5, 0xD0, 0xBC };
 static const symbol s_5_34[4] = { 0xD0, 0xBE, 0xD0, 0xBC };
 static const symbol s_5_35[2] = { 0xD0, 0xBE };
-
-static const struct among a_5[36] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 6, s_5_2, 1, 1, 0},
-{ 4, s_5_3, -1, 1, 0},
-{ 2, s_5_4, -1, 1, 0},
-{ 2, s_5_5, -1, 1, 0},
-{ 2, s_5_6, -1, 1, 0},
-{ 4, s_5_7, 6, 1, 0},
-{ 4, s_5_8, 6, 1, 0},
-{ 2, s_5_9, -1, 1, 0},
-{ 4, s_5_10, 9, 1, 0},
-{ 4, s_5_11, 9, 1, 0},
-{ 2, s_5_12, -1, 1, 0},
-{ 4, s_5_13, -1, 1, 0},
-{ 4, s_5_14, -1, 1, 0},
-{ 2, s_5_15, -1, 1, 0},
-{ 4, s_5_16, 15, 1, 0},
-{ 4, s_5_17, 15, 1, 0},
-{ 2, s_5_18, -1, 1, 0},
-{ 4, s_5_19, 18, 1, 0},
-{ 4, s_5_20, 18, 1, 0},
-{ 6, s_5_21, 18, 1, 0},
-{ 8, s_5_22, 21, 1, 0},
-{ 6, s_5_23, 18, 1, 0},
-{ 2, s_5_24, -1, 1, 0},
-{ 4, s_5_25, 24, 1, 0},
-{ 6, s_5_26, 25, 1, 0},
-{ 4, s_5_27, 24, 1, 0},
-{ 4, s_5_28, 24, 1, 0},
-{ 4, s_5_29, -1, 1, 0},
-{ 6, s_5_30, 29, 1, 0},
-{ 4, s_5_31, -1, 1, 0},
-{ 4, s_5_32, -1, 1, 0},
-{ 6, s_5_33, 32, 1, 0},
-{ 4, s_5_34, -1, 1, 0},
-{ 2, s_5_35, -1, 1, 0}
+static const struct among a_5[36] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 6, s_5_2, -1, 1, 0},
+{ 4, s_5_3, 0, 1, 0},
+{ 2, s_5_4, 0, 1, 0},
+{ 2, s_5_5, 0, 1, 0},
+{ 2, s_5_6, 0, 1, 0},
+{ 4, s_5_7, -1, 1, 0},
+{ 4, s_5_8, -2, 1, 0},
+{ 2, s_5_9, 0, 1, 0},
+{ 4, s_5_10, -1, 1, 0},
+{ 4, s_5_11, -2, 1, 0},
+{ 2, s_5_12, 0, 1, 0},
+{ 4, s_5_13, 0, 1, 0},
+{ 4, s_5_14, 0, 1, 0},
+{ 2, s_5_15, 0, 1, 0},
+{ 4, s_5_16, -1, 1, 0},
+{ 4, s_5_17, -2, 1, 0},
+{ 2, s_5_18, 0, 1, 0},
+{ 4, s_5_19, -1, 1, 0},
+{ 4, s_5_20, -2, 1, 0},
+{ 6, s_5_21, -3, 1, 0},
+{ 8, s_5_22, -1, 1, 0},
+{ 6, s_5_23, -5, 1, 0},
+{ 2, s_5_24, 0, 1, 0},
+{ 4, s_5_25, -1, 1, 0},
+{ 6, s_5_26, -1, 1, 0},
+{ 4, s_5_27, -3, 1, 0},
+{ 4, s_5_28, -4, 1, 0},
+{ 4, s_5_29, 0, 1, 0},
+{ 6, s_5_30, -1, 1, 0},
+{ 4, s_5_31, 0, 1, 0},
+{ 4, s_5_32, 0, 1, 0},
+{ 6, s_5_33, -1, 1, 0},
+{ 4, s_5_34, 0, 1, 0},
+{ 2, s_5_35, 0, 1, 0}
 };
 
 static const symbol s_6_0[6] = { 0xD0, 0xBE, 0xD1, 0x81, 0xD1, 0x82 };
 static const symbol s_6_1[8] = { 0xD0, 0xBE, 0xD1, 0x81, 0xD1, 0x82, 0xD1, 0x8C };
-
-static const struct among a_6[2] =
-{
-{ 6, s_6_0, -1, 1, 0},
-{ 8, s_6_1, -1, 1, 0}
+static const struct among a_6[2] = {
+{ 6, s_6_0, 0, 1, 0},
+{ 8, s_6_1, 0, 1, 0}
 };
 
 static const symbol s_7_0[6] = { 0xD0, 0xB5, 0xD0, 0xB9, 0xD1, 0x88 };
 static const symbol s_7_1[2] = { 0xD1, 0x8C };
 static const symbol s_7_2[8] = { 0xD0, 0xB5, 0xD0, 0xB9, 0xD1, 0x88, 0xD0, 0xB5 };
 static const symbol s_7_3[2] = { 0xD0, 0xBD };
-
-static const struct among a_7[4] =
-{
-{ 6, s_7_0, -1, 1, 0},
-{ 2, s_7_1, -1, 3, 0},
-{ 8, s_7_2, -1, 1, 0},
-{ 2, s_7_3, -1, 2, 0}
+static const struct among a_7[4] = {
+{ 6, s_7_0, 0, 1, 0},
+{ 2, s_7_1, 0, 3, 0},
+{ 8, s_7_2, 0, 1, 0},
+{ 2, s_7_3, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 33, 65, 8, 232 };
 
-static const symbol s_0[] = { 0xD0, 0xB0 };
-static const symbol s_1[] = { 0xD1, 0x8F };
-static const symbol s_2[] = { 0xD0, 0xB0 };
-static const symbol s_3[] = { 0xD1, 0x8F };
-static const symbol s_4[] = { 0xD0, 0xB0 };
-static const symbol s_5[] = { 0xD1, 0x8F };
-static const symbol s_6[] = { 0xD0, 0xBD };
-static const symbol s_7[] = { 0xD0, 0xBD };
-static const symbol s_8[] = { 0xD0, 0xBD };
-static const symbol s_9[] = { 0xD1, 0x91 };
-static const symbol s_10[] = { 0xD0, 0xB5 };
-static const symbol s_11[] = { 0xD0, 0xB8 };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 1072, 1103, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_pV = z->c;
         {
             int ret = in_grouping_U(z, g_v, 1072, 1103, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = out_grouping_U(z, g_v, 1072, 1103, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 1072, 1103, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p2 = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_perfective_gerund(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_0, 9);
+    among_var = find_among_b(z, a_0, 9, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (!(eq_s_b(z, 2, s_0))) goto lab1;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_0))) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (!(eq_s_b(z, 2, s_1))) return 0;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -423,9 +408,10 @@ static int r_perfective_gerund(struct SN_env * z) {
 
 static int r_adjective(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_1, 26)) return 0;
+    if (!find_among_b(z, a_1, 26, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -433,30 +419,34 @@ static int r_adjective(struct SN_env * z) {
 
 static int r_adjectival(struct SN_env * z) {
     int among_var;
-    {   int ret = r_adjective(z);
+    {
+        int ret = r_adjective(z);
         if (ret <= 0) return ret;
     }
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_2, 8);
-        if (!among_var) { z->c = z->l - m1; goto lab0; }
+        among_var = find_among_b(z, a_2, 8, 0);
+        if (!among_var) { z->c = z->l - v_1; goto lab0; }
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int m2 = z->l - z->c; (void)m2;
-                    if (!(eq_s_b(z, 2, s_2))) goto lab2;
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m2;
-                    if (!(eq_s_b(z, 2, s_3))) { z->c = z->l - m1; goto lab0; }
-                }
-            lab1:
-                {   int ret = slice_del(z);
+                do {
+                    int v_2 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_2))) goto lab1;
+                    break;
+                lab1:
+                    z->c = z->l - v_2;
+                    if (!(eq_s_b(z, 2, s_3))) { z->c = z->l - v_1; goto lab0; }
+                } while (0);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
@@ -470,9 +460,10 @@ static int r_adjectival(struct SN_env * z) {
 static int r_reflexive(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 140 && z->p[z->c - 1] != 143)) return 0;
-    if (!find_among_b(z, a_3, 2)) return 0;
+    if (!find_among_b(z, a_3, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -481,25 +472,27 @@ static int r_reflexive(struct SN_env * z) {
 static int r_verb(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_4, 46);
+    among_var = find_among_b(z, a_4, 46, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (!(eq_s_b(z, 2, s_4))) goto lab1;
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
+            do {
+                int v_1 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_4))) goto lab0;
+                break;
+            lab0:
+                z->c = z->l - v_1;
                 if (!(eq_s_b(z, 2, s_5))) return 0;
-            }
-        lab0:
-            {   int ret = slice_del(z);
+            } while (0);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -509,9 +502,10 @@ static int r_verb(struct SN_env * z) {
 
 static int r_noun(struct SN_env * z) {
     z->ket = z->c;
-    if (!find_among_b(z, a_5, 36)) return 0;
+    if (!find_among_b(z, a_5, 36, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -520,12 +514,14 @@ static int r_noun(struct SN_env * z) {
 static int r_derivational(struct SN_env * z) {
     z->ket = z->c;
     if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 130 && z->p[z->c - 1] != 140)) return 0;
-    if (!find_among_b(z, a_6, 2)) return 0;
+    if (!find_among_b(z, a_6, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R2(z);
+    {
+        int ret = r_R2(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -534,30 +530,34 @@ static int r_derivational(struct SN_env * z) {
 static int r_tidy_up(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_7, 4);
+    among_var = find_among_b(z, a_7, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
             if (!(eq_s_b(z, 2, s_6))) return 0;
             z->bra = z->c;
             if (!(eq_s_b(z, 2, s_7))) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (!(eq_s_b(z, 2, s_8))) return 0;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -566,116 +566,139 @@ static int r_tidy_up(struct SN_env * z) {
 }
 
 extern int russian_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 z->bra = z->c;
                 if (!(eq_s(z, 2, s_9))) goto lab2;
                 z->ket = z->c;
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
             }
-            {   int ret = slice_from_s(z, 2, s_10);
+            {
+                int ret = slice_from_s(z, 2, s_10);
                 if (ret < 0) return ret;
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int mlimit4;
-        if (z->c < z->I[1]) return 0;
-        mlimit4 = z->lb; z->lb = z->I[1];
-        {   int m5 = z->l - z->c; (void)m5;
-            {   int m6 = z->l - z->c; (void)m6;
-                {   int ret = r_perfective_gerund(z);
-                    if (ret == 0) goto lab5;
+    {
+        int v_4;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_4 = z->lb; z->lb = ((SN_local *)z)->i_pV;
+        {
+            int v_5 = z->l - z->c;
+            do {
+                int v_6 = z->l - z->c;
+                {
+                    int ret = r_perfective_gerund(z);
+                    if (ret == 0) goto lab4;
                     if (ret < 0) return ret;
                 }
-                goto lab4;
-            lab5:
-                z->c = z->l - m6;
-                {   int m7 = z->l - z->c; (void)m7;
-                    {   int ret = r_reflexive(z);
-                        if (ret == 0) { z->c = z->l - m7; goto lab6; }
+                break;
+            lab4:
+                z->c = z->l - v_6;
+                {
+                    int v_7 = z->l - z->c;
+                    {
+                        int ret = r_reflexive(z);
+                        if (ret == 0) { z->c = z->l - v_7; goto lab5; }
                         if (ret < 0) return ret;
                     }
-                lab6:
+                lab5:
                     ;
                 }
-                {   int m8 = z->l - z->c; (void)m8;
-                    {   int ret = r_adjectival(z);
-                        if (ret == 0) goto lab8;
+                do {
+                    int v_8 = z->l - z->c;
+                    {
+                        int ret = r_adjectival(z);
+                        if (ret == 0) goto lab6;
                         if (ret < 0) return ret;
                     }
-                    goto lab7;
-                lab8:
-                    z->c = z->l - m8;
-                    {   int ret = r_verb(z);
-                        if (ret == 0) goto lab9;
+                    break;
+                lab6:
+                    z->c = z->l - v_8;
+                    {
+                        int ret = r_verb(z);
+                        if (ret == 0) goto lab7;
                         if (ret < 0) return ret;
                     }
-                    goto lab7;
-                lab9:
-                    z->c = z->l - m8;
-                    {   int ret = r_noun(z);
+                    break;
+                lab7:
+                    z->c = z->l - v_8;
+                    {
+                        int ret = r_noun(z);
                         if (ret == 0) goto lab3;
                         if (ret < 0) return ret;
                     }
-                }
-            lab7:
-                ;
-            }
-        lab4:
+                } while (0);
+            } while (0);
         lab3:
-            z->c = z->l - m5;
+            z->c = z->l - v_5;
         }
-        {   int m9 = z->l - z->c; (void)m9;
+        {
+            int v_9 = z->l - z->c;
             z->ket = z->c;
-            if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m9; goto lab10; }
+            if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - v_9; goto lab8; }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-        lab10:
+        lab8:
             ;
         }
-        {   int m10 = z->l - z->c; (void)m10;
-            {   int ret = r_derivational(z);
+        {
+            int v_10 = z->l - z->c;
+            {
+                int ret = r_derivational(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m10;
+            z->c = z->l - v_10;
         }
-        {   int m11 = z->l - z->c; (void)m11;
-            {   int ret = r_tidy_up(z);
+        {
+            int v_11 = z->l - z->c;
+            {
+                int ret = r_tidy_up(z);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m11;
+            z->c = z->l - v_11;
         }
-        z->lb = mlimit4;
+        z->lb = v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * russian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * russian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void russian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void russian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index e20301b72ffb61321bed275bf0c6768da84e715a..974f52a24885aa76973468666ccf8acf165bd379 100644 (file)
@@ -1,6 +1,18 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from serbian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_serbian.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+    unsigned char b_no_diacritics;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +21,7 @@ extern int serbian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_Step_3(struct SN_env * z);
 static int r_Step_2(struct SN_env * z);
 static int r_Step_1(struct SN_env * z);
@@ -16,4487 +29,6 @@ static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
 static int r_cyr_to_lat(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * serbian_UTF_8_create_env(void);
-extern void serbian_UTF_8_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[2] = { 0xD0, 0xB0 };
-static const symbol s_0_1[2] = { 0xD0, 0xB1 };
-static const symbol s_0_2[2] = { 0xD0, 0xB2 };
-static const symbol s_0_3[2] = { 0xD0, 0xB3 };
-static const symbol s_0_4[2] = { 0xD0, 0xB4 };
-static const symbol s_0_5[2] = { 0xD0, 0xB5 };
-static const symbol s_0_6[2] = { 0xD0, 0xB6 };
-static const symbol s_0_7[2] = { 0xD0, 0xB7 };
-static const symbol s_0_8[2] = { 0xD0, 0xB8 };
-static const symbol s_0_9[2] = { 0xD0, 0xBA };
-static const symbol s_0_10[2] = { 0xD0, 0xBB };
-static const symbol s_0_11[2] = { 0xD0, 0xBC };
-static const symbol s_0_12[2] = { 0xD0, 0xBD };
-static const symbol s_0_13[2] = { 0xD0, 0xBE };
-static const symbol s_0_14[2] = { 0xD0, 0xBF };
-static const symbol s_0_15[2] = { 0xD1, 0x80 };
-static const symbol s_0_16[2] = { 0xD1, 0x81 };
-static const symbol s_0_17[2] = { 0xD1, 0x82 };
-static const symbol s_0_18[2] = { 0xD1, 0x83 };
-static const symbol s_0_19[2] = { 0xD1, 0x84 };
-static const symbol s_0_20[2] = { 0xD1, 0x85 };
-static const symbol s_0_21[2] = { 0xD1, 0x86 };
-static const symbol s_0_22[2] = { 0xD1, 0x87 };
-static const symbol s_0_23[2] = { 0xD1, 0x88 };
-static const symbol s_0_24[2] = { 0xD1, 0x92 };
-static const symbol s_0_25[2] = { 0xD1, 0x98 };
-static const symbol s_0_26[2] = { 0xD1, 0x99 };
-static const symbol s_0_27[2] = { 0xD1, 0x9A };
-static const symbol s_0_28[2] = { 0xD1, 0x9B };
-static const symbol s_0_29[2] = { 0xD1, 0x9F };
-
-static const struct among a_0[30] =
-{
-{ 2, s_0_0, -1, 1, 0},
-{ 2, s_0_1, -1, 2, 0},
-{ 2, s_0_2, -1, 3, 0},
-{ 2, s_0_3, -1, 4, 0},
-{ 2, s_0_4, -1, 5, 0},
-{ 2, s_0_5, -1, 7, 0},
-{ 2, s_0_6, -1, 8, 0},
-{ 2, s_0_7, -1, 9, 0},
-{ 2, s_0_8, -1, 10, 0},
-{ 2, s_0_9, -1, 12, 0},
-{ 2, s_0_10, -1, 13, 0},
-{ 2, s_0_11, -1, 15, 0},
-{ 2, s_0_12, -1, 16, 0},
-{ 2, s_0_13, -1, 18, 0},
-{ 2, s_0_14, -1, 19, 0},
-{ 2, s_0_15, -1, 20, 0},
-{ 2, s_0_16, -1, 21, 0},
-{ 2, s_0_17, -1, 22, 0},
-{ 2, s_0_18, -1, 24, 0},
-{ 2, s_0_19, -1, 25, 0},
-{ 2, s_0_20, -1, 26, 0},
-{ 2, s_0_21, -1, 27, 0},
-{ 2, s_0_22, -1, 28, 0},
-{ 2, s_0_23, -1, 30, 0},
-{ 2, s_0_24, -1, 6, 0},
-{ 2, s_0_25, -1, 11, 0},
-{ 2, s_0_26, -1, 14, 0},
-{ 2, s_0_27, -1, 17, 0},
-{ 2, s_0_28, -1, 23, 0},
-{ 2, s_0_29, -1, 29, 0}
-};
-
-static const symbol s_1_0[4] = { 'd', 'a', 'b', 'a' };
-static const symbol s_1_1[5] = { 'a', 'j', 'a', 'c', 'a' };
-static const symbol s_1_2[5] = { 'e', 'j', 'a', 'c', 'a' };
-static const symbol s_1_3[5] = { 'l', 'j', 'a', 'c', 'a' };
-static const symbol s_1_4[5] = { 'n', 'j', 'a', 'c', 'a' };
-static const symbol s_1_5[5] = { 'o', 'j', 'a', 'c', 'a' };
-static const symbol s_1_6[5] = { 'a', 'l', 'a', 'c', 'a' };
-static const symbol s_1_7[5] = { 'e', 'l', 'a', 'c', 'a' };
-static const symbol s_1_8[5] = { 'o', 'l', 'a', 'c', 'a' };
-static const symbol s_1_9[4] = { 'm', 'a', 'c', 'a' };
-static const symbol s_1_10[4] = { 'n', 'a', 'c', 'a' };
-static const symbol s_1_11[4] = { 'r', 'a', 'c', 'a' };
-static const symbol s_1_12[4] = { 's', 'a', 'c', 'a' };
-static const symbol s_1_13[4] = { 'v', 'a', 'c', 'a' };
-static const symbol s_1_14[5] = { 0xC5, 0xA1, 'a', 'c', 'a' };
-static const symbol s_1_15[4] = { 'a', 'o', 'c', 'a' };
-static const symbol s_1_16[5] = { 'a', 'c', 'a', 'k', 'a' };
-static const symbol s_1_17[5] = { 'a', 'j', 'a', 'k', 'a' };
-static const symbol s_1_18[5] = { 'o', 'j', 'a', 'k', 'a' };
-static const symbol s_1_19[5] = { 'a', 'n', 'a', 'k', 'a' };
-static const symbol s_1_20[5] = { 'a', 't', 'a', 'k', 'a' };
-static const symbol s_1_21[5] = { 'e', 't', 'a', 'k', 'a' };
-static const symbol s_1_22[5] = { 'i', 't', 'a', 'k', 'a' };
-static const symbol s_1_23[5] = { 'o', 't', 'a', 'k', 'a' };
-static const symbol s_1_24[5] = { 'u', 't', 'a', 'k', 'a' };
-static const symbol s_1_25[6] = { 'a', 0xC4, 0x8D, 'a', 'k', 'a' };
-static const symbol s_1_26[5] = { 'e', 's', 'a', 'm', 'a' };
-static const symbol s_1_27[5] = { 'i', 'z', 'a', 'm', 'a' };
-static const symbol s_1_28[6] = { 'j', 'a', 'c', 'i', 'm', 'a' };
-static const symbol s_1_29[6] = { 'n', 'i', 'c', 'i', 'm', 'a' };
-static const symbol s_1_30[6] = { 't', 'i', 'c', 'i', 'm', 'a' };
-static const symbol s_1_31[8] = { 't', 'e', 't', 'i', 'c', 'i', 'm', 'a' };
-static const symbol s_1_32[6] = { 'z', 'i', 'c', 'i', 'm', 'a' };
-static const symbol s_1_33[6] = { 'a', 't', 'c', 'i', 'm', 'a' };
-static const symbol s_1_34[6] = { 'u', 't', 'c', 'i', 'm', 'a' };
-static const symbol s_1_35[6] = { 0xC4, 0x8D, 'c', 'i', 'm', 'a' };
-static const symbol s_1_36[6] = { 'p', 'e', 's', 'i', 'm', 'a' };
-static const symbol s_1_37[6] = { 'i', 'n', 'z', 'i', 'm', 'a' };
-static const symbol s_1_38[6] = { 'l', 'o', 'z', 'i', 'm', 'a' };
-static const symbol s_1_39[6] = { 'm', 'e', 't', 'a', 'r', 'a' };
-static const symbol s_1_40[7] = { 'c', 'e', 'n', 't', 'a', 'r', 'a' };
-static const symbol s_1_41[6] = { 'i', 's', 't', 'a', 'r', 'a' };
-static const symbol s_1_42[5] = { 'e', 'k', 'a', 't', 'a' };
-static const symbol s_1_43[5] = { 'a', 'n', 'a', 't', 'a' };
-static const symbol s_1_44[6] = { 'n', 's', 't', 'a', 'v', 'a' };
-static const symbol s_1_45[7] = { 'k', 'u', 's', 't', 'a', 'v', 'a' };
-static const symbol s_1_46[4] = { 'a', 'j', 'a', 'c' };
-static const symbol s_1_47[4] = { 'e', 'j', 'a', 'c' };
-static const symbol s_1_48[4] = { 'l', 'j', 'a', 'c' };
-static const symbol s_1_49[4] = { 'n', 'j', 'a', 'c' };
-static const symbol s_1_50[5] = { 'a', 'n', 'j', 'a', 'c' };
-static const symbol s_1_51[4] = { 'o', 'j', 'a', 'c' };
-static const symbol s_1_52[4] = { 'a', 'l', 'a', 'c' };
-static const symbol s_1_53[4] = { 'e', 'l', 'a', 'c' };
-static const symbol s_1_54[4] = { 'o', 'l', 'a', 'c' };
-static const symbol s_1_55[3] = { 'm', 'a', 'c' };
-static const symbol s_1_56[3] = { 'n', 'a', 'c' };
-static const symbol s_1_57[3] = { 'r', 'a', 'c' };
-static const symbol s_1_58[3] = { 's', 'a', 'c' };
-static const symbol s_1_59[3] = { 'v', 'a', 'c' };
-static const symbol s_1_60[4] = { 0xC5, 0xA1, 'a', 'c' };
-static const symbol s_1_61[4] = { 'j', 'e', 'b', 'e' };
-static const symbol s_1_62[4] = { 'o', 'l', 'c', 'e' };
-static const symbol s_1_63[4] = { 'k', 'u', 's', 'e' };
-static const symbol s_1_64[4] = { 'r', 'a', 'v', 'e' };
-static const symbol s_1_65[4] = { 's', 'a', 'v', 'e' };
-static const symbol s_1_66[5] = { 0xC5, 0xA1, 'a', 'v', 'e' };
-static const symbol s_1_67[4] = { 'b', 'a', 'c', 'i' };
-static const symbol s_1_68[4] = { 'j', 'a', 'c', 'i' };
-static const symbol s_1_69[7] = { 't', 'v', 'e', 'n', 'i', 'c', 'i' };
-static const symbol s_1_70[5] = { 's', 'n', 'i', 'c', 'i' };
-static const symbol s_1_71[6] = { 't', 'e', 't', 'i', 'c', 'i' };
-static const symbol s_1_72[5] = { 'b', 'o', 'j', 'c', 'i' };
-static const symbol s_1_73[5] = { 'v', 'o', 'j', 'c', 'i' };
-static const symbol s_1_74[5] = { 'o', 'j', 's', 'c', 'i' };
-static const symbol s_1_75[4] = { 'a', 't', 'c', 'i' };
-static const symbol s_1_76[4] = { 'i', 't', 'c', 'i' };
-static const symbol s_1_77[4] = { 'u', 't', 'c', 'i' };
-static const symbol s_1_78[4] = { 0xC4, 0x8D, 'c', 'i' };
-static const symbol s_1_79[4] = { 'p', 'e', 's', 'i' };
-static const symbol s_1_80[4] = { 'i', 'n', 'z', 'i' };
-static const symbol s_1_81[4] = { 'l', 'o', 'z', 'i' };
-static const symbol s_1_82[4] = { 'a', 'c', 'a', 'k' };
-static const symbol s_1_83[4] = { 'u', 's', 'a', 'k' };
-static const symbol s_1_84[4] = { 'a', 't', 'a', 'k' };
-static const symbol s_1_85[4] = { 'e', 't', 'a', 'k' };
-static const symbol s_1_86[4] = { 'i', 't', 'a', 'k' };
-static const symbol s_1_87[4] = { 'o', 't', 'a', 'k' };
-static const symbol s_1_88[4] = { 'u', 't', 'a', 'k' };
-static const symbol s_1_89[5] = { 'a', 0xC4, 0x8D, 'a', 'k' };
-static const symbol s_1_90[5] = { 'u', 0xC5, 0xA1, 'a', 'k' };
-static const symbol s_1_91[4] = { 'i', 'z', 'a', 'm' };
-static const symbol s_1_92[5] = { 't', 'i', 'c', 'a', 'n' };
-static const symbol s_1_93[5] = { 'c', 'a', 'j', 'a', 'n' };
-static const symbol s_1_94[6] = { 0xC4, 0x8D, 'a', 'j', 'a', 'n' };
-static const symbol s_1_95[6] = { 'v', 'o', 'l', 'j', 'a', 'n' };
-static const symbol s_1_96[5] = { 'e', 's', 'k', 'a', 'n' };
-static const symbol s_1_97[4] = { 'a', 'l', 'a', 'n' };
-static const symbol s_1_98[5] = { 'b', 'i', 'l', 'a', 'n' };
-static const symbol s_1_99[5] = { 'g', 'i', 'l', 'a', 'n' };
-static const symbol s_1_100[5] = { 'n', 'i', 'l', 'a', 'n' };
-static const symbol s_1_101[5] = { 'r', 'i', 'l', 'a', 'n' };
-static const symbol s_1_102[5] = { 's', 'i', 'l', 'a', 'n' };
-static const symbol s_1_103[5] = { 't', 'i', 'l', 'a', 'n' };
-static const symbol s_1_104[6] = { 'a', 'v', 'i', 'l', 'a', 'n' };
-static const symbol s_1_105[5] = { 'l', 'a', 'r', 'a', 'n' };
-static const symbol s_1_106[4] = { 'e', 'r', 'a', 'n' };
-static const symbol s_1_107[4] = { 'a', 's', 'a', 'n' };
-static const symbol s_1_108[4] = { 'e', 's', 'a', 'n' };
-static const symbol s_1_109[5] = { 'd', 'u', 's', 'a', 'n' };
-static const symbol s_1_110[5] = { 'k', 'u', 's', 'a', 'n' };
-static const symbol s_1_111[4] = { 'a', 't', 'a', 'n' };
-static const symbol s_1_112[6] = { 'p', 'l', 'e', 't', 'a', 'n' };
-static const symbol s_1_113[5] = { 't', 'e', 't', 'a', 'n' };
-static const symbol s_1_114[5] = { 'a', 'n', 't', 'a', 'n' };
-static const symbol s_1_115[6] = { 'p', 'r', 'a', 'v', 'a', 'n' };
-static const symbol s_1_116[6] = { 's', 't', 'a', 'v', 'a', 'n' };
-static const symbol s_1_117[5] = { 's', 'i', 'v', 'a', 'n' };
-static const symbol s_1_118[5] = { 't', 'i', 'v', 'a', 'n' };
-static const symbol s_1_119[4] = { 'o', 'z', 'a', 'n' };
-static const symbol s_1_120[6] = { 't', 'i', 0xC4, 0x8D, 'a', 'n' };
-static const symbol s_1_121[5] = { 'a', 0xC5, 0xA1, 'a', 'n' };
-static const symbol s_1_122[6] = { 'd', 'u', 0xC5, 0xA1, 'a', 'n' };
-static const symbol s_1_123[5] = { 'm', 'e', 't', 'a', 'r' };
-static const symbol s_1_124[6] = { 'c', 'e', 'n', 't', 'a', 'r' };
-static const symbol s_1_125[5] = { 'i', 's', 't', 'a', 'r' };
-static const symbol s_1_126[4] = { 'e', 'k', 'a', 't' };
-static const symbol s_1_127[4] = { 'e', 'n', 'a', 't' };
-static const symbol s_1_128[4] = { 'o', 's', 'c', 'u' };
-static const symbol s_1_129[6] = { 'o', 0xC5, 0xA1, 0xC4, 0x87, 'u' };
-
-static const struct among a_1[130] =
-{
-{ 4, s_1_0, -1, 73, 0},
-{ 5, s_1_1, -1, 12, 0},
-{ 5, s_1_2, -1, 14, 0},
-{ 5, s_1_3, -1, 13, 0},
-{ 5, s_1_4, -1, 85, 0},
-{ 5, s_1_5, -1, 15, 0},
-{ 5, s_1_6, -1, 82, 0},
-{ 5, s_1_7, -1, 83, 0},
-{ 5, s_1_8, -1, 84, 0},
-{ 4, s_1_9, -1, 75, 0},
-{ 4, s_1_10, -1, 76, 0},
-{ 4, s_1_11, -1, 81, 0},
-{ 4, s_1_12, -1, 80, 0},
-{ 4, s_1_13, -1, 79, 0},
-{ 5, s_1_14, -1, 18, 0},
-{ 4, s_1_15, -1, 82, 0},
-{ 5, s_1_16, -1, 55, 0},
-{ 5, s_1_17, -1, 16, 0},
-{ 5, s_1_18, -1, 17, 0},
-{ 5, s_1_19, -1, 78, 0},
-{ 5, s_1_20, -1, 58, 0},
-{ 5, s_1_21, -1, 59, 0},
-{ 5, s_1_22, -1, 60, 0},
-{ 5, s_1_23, -1, 61, 0},
-{ 5, s_1_24, -1, 62, 0},
-{ 6, s_1_25, -1, 54, 0},
-{ 5, s_1_26, -1, 67, 0},
-{ 5, s_1_27, -1, 87, 0},
-{ 6, s_1_28, -1, 5, 0},
-{ 6, s_1_29, -1, 23, 0},
-{ 6, s_1_30, -1, 24, 0},
-{ 8, s_1_31, 30, 21, 0},
-{ 6, s_1_32, -1, 25, 0},
-{ 6, s_1_33, -1, 58, 0},
-{ 6, s_1_34, -1, 62, 0},
-{ 6, s_1_35, -1, 74, 0},
-{ 6, s_1_36, -1, 2, 0},
-{ 6, s_1_37, -1, 19, 0},
-{ 6, s_1_38, -1, 1, 0},
-{ 6, s_1_39, -1, 68, 0},
-{ 7, s_1_40, -1, 69, 0},
-{ 6, s_1_41, -1, 70, 0},
-{ 5, s_1_42, -1, 86, 0},
-{ 5, s_1_43, -1, 53, 0},
-{ 6, s_1_44, -1, 22, 0},
-{ 7, s_1_45, -1, 29, 0},
-{ 4, s_1_46, -1, 12, 0},
-{ 4, s_1_47, -1, 14, 0},
-{ 4, s_1_48, -1, 13, 0},
-{ 4, s_1_49, -1, 85, 0},
-{ 5, s_1_50, 49, 11, 0},
-{ 4, s_1_51, -1, 15, 0},
-{ 4, s_1_52, -1, 82, 0},
-{ 4, s_1_53, -1, 83, 0},
-{ 4, s_1_54, -1, 84, 0},
-{ 3, s_1_55, -1, 75, 0},
-{ 3, s_1_56, -1, 76, 0},
-{ 3, s_1_57, -1, 81, 0},
-{ 3, s_1_58, -1, 80, 0},
-{ 3, s_1_59, -1, 79, 0},
-{ 4, s_1_60, -1, 18, 0},
-{ 4, s_1_61, -1, 88, 0},
-{ 4, s_1_62, -1, 84, 0},
-{ 4, s_1_63, -1, 27, 0},
-{ 4, s_1_64, -1, 42, 0},
-{ 4, s_1_65, -1, 52, 0},
-{ 5, s_1_66, -1, 51, 0},
-{ 4, s_1_67, -1, 89, 0},
-{ 4, s_1_68, -1, 5, 0},
-{ 7, s_1_69, -1, 20, 0},
-{ 5, s_1_70, -1, 26, 0},
-{ 6, s_1_71, -1, 21, 0},
-{ 5, s_1_72, -1, 4, 0},
-{ 5, s_1_73, -1, 3, 0},
-{ 5, s_1_74, -1, 66, 0},
-{ 4, s_1_75, -1, 58, 0},
-{ 4, s_1_76, -1, 60, 0},
-{ 4, s_1_77, -1, 62, 0},
-{ 4, s_1_78, -1, 74, 0},
-{ 4, s_1_79, -1, 2, 0},
-{ 4, s_1_80, -1, 19, 0},
-{ 4, s_1_81, -1, 1, 0},
-{ 4, s_1_82, -1, 55, 0},
-{ 4, s_1_83, -1, 57, 0},
-{ 4, s_1_84, -1, 58, 0},
-{ 4, s_1_85, -1, 59, 0},
-{ 4, s_1_86, -1, 60, 0},
-{ 4, s_1_87, -1, 61, 0},
-{ 4, s_1_88, -1, 62, 0},
-{ 5, s_1_89, -1, 54, 0},
-{ 5, s_1_90, -1, 56, 0},
-{ 4, s_1_91, -1, 87, 0},
-{ 5, s_1_92, -1, 65, 0},
-{ 5, s_1_93, -1, 7, 0},
-{ 6, s_1_94, -1, 6, 0},
-{ 6, s_1_95, -1, 77, 0},
-{ 5, s_1_96, -1, 63, 0},
-{ 4, s_1_97, -1, 40, 0},
-{ 5, s_1_98, -1, 33, 0},
-{ 5, s_1_99, -1, 37, 0},
-{ 5, s_1_100, -1, 39, 0},
-{ 5, s_1_101, -1, 38, 0},
-{ 5, s_1_102, -1, 36, 0},
-{ 5, s_1_103, -1, 34, 0},
-{ 6, s_1_104, -1, 35, 0},
-{ 5, s_1_105, -1, 9, 0},
-{ 4, s_1_106, -1, 8, 0},
-{ 4, s_1_107, -1, 91, 0},
-{ 4, s_1_108, -1, 10, 0},
-{ 5, s_1_109, -1, 31, 0},
-{ 5, s_1_110, -1, 28, 0},
-{ 4, s_1_111, -1, 47, 0},
-{ 6, s_1_112, -1, 50, 0},
-{ 5, s_1_113, -1, 49, 0},
-{ 5, s_1_114, -1, 32, 0},
-{ 6, s_1_115, -1, 44, 0},
-{ 6, s_1_116, -1, 43, 0},
-{ 5, s_1_117, -1, 46, 0},
-{ 5, s_1_118, -1, 45, 0},
-{ 4, s_1_119, -1, 41, 0},
-{ 6, s_1_120, -1, 64, 0},
-{ 5, s_1_121, -1, 90, 0},
-{ 6, s_1_122, -1, 30, 0},
-{ 5, s_1_123, -1, 68, 0},
-{ 6, s_1_124, -1, 69, 0},
-{ 5, s_1_125, -1, 70, 0},
-{ 4, s_1_126, -1, 86, 0},
-{ 4, s_1_127, -1, 48, 0},
-{ 4, s_1_128, -1, 72, 0},
-{ 6, s_1_129, -1, 71, 0}
-};
-
-static const symbol s_2_0[3] = { 'a', 'c', 'a' };
-static const symbol s_2_1[3] = { 'e', 'c', 'a' };
-static const symbol s_2_2[3] = { 'u', 'c', 'a' };
-static const symbol s_2_3[2] = { 'g', 'a' };
-static const symbol s_2_4[5] = { 'a', 'c', 'e', 'g', 'a' };
-static const symbol s_2_5[5] = { 'e', 'c', 'e', 'g', 'a' };
-static const symbol s_2_6[5] = { 'u', 'c', 'e', 'g', 'a' };
-static const symbol s_2_7[8] = { 'a', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_8[8] = { 'e', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_9[8] = { 's', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_10[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_11[6] = { 'k', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_12[7] = { 's', 'k', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_13[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_14[7] = { 'e', 'l', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_15[6] = { 'n', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_16[7] = { 'o', 's', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_17[7] = { 'a', 't', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_18[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_19[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_20[8] = { 'a', 's', 't', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_21[7] = { 'a', 'v', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_22[7] = { 'e', 'v', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_23[7] = { 'i', 'v', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_24[7] = { 'o', 'v', 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_25[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'g', 'a' };
-static const symbol s_2_26[6] = { 'a', 'n', 'j', 'e', 'g', 'a' };
-static const symbol s_2_27[6] = { 'e', 'n', 'j', 'e', 'g', 'a' };
-static const symbol s_2_28[6] = { 's', 'n', 'j', 'e', 'g', 'a' };
-static const symbol s_2_29[7] = { 0xC5, 0xA1, 'n', 'j', 'e', 'g', 'a' };
-static const symbol s_2_30[4] = { 'k', 'e', 'g', 'a' };
-static const symbol s_2_31[5] = { 's', 'k', 'e', 'g', 'a' };
-static const symbol s_2_32[6] = { 0xC5, 0xA1, 'k', 'e', 'g', 'a' };
-static const symbol s_2_33[5] = { 'e', 'l', 'e', 'g', 'a' };
-static const symbol s_2_34[4] = { 'n', 'e', 'g', 'a' };
-static const symbol s_2_35[5] = { 'a', 'n', 'e', 'g', 'a' };
-static const symbol s_2_36[5] = { 'e', 'n', 'e', 'g', 'a' };
-static const symbol s_2_37[5] = { 's', 'n', 'e', 'g', 'a' };
-static const symbol s_2_38[6] = { 0xC5, 0xA1, 'n', 'e', 'g', 'a' };
-static const symbol s_2_39[5] = { 'o', 's', 'e', 'g', 'a' };
-static const symbol s_2_40[5] = { 'a', 't', 'e', 'g', 'a' };
-static const symbol s_2_41[7] = { 'e', 'v', 'i', 't', 'e', 'g', 'a' };
-static const symbol s_2_42[7] = { 'o', 'v', 'i', 't', 'e', 'g', 'a' };
-static const symbol s_2_43[6] = { 'a', 's', 't', 'e', 'g', 'a' };
-static const symbol s_2_44[5] = { 'a', 'v', 'e', 'g', 'a' };
-static const symbol s_2_45[5] = { 'e', 'v', 'e', 'g', 'a' };
-static const symbol s_2_46[5] = { 'i', 'v', 'e', 'g', 'a' };
-static const symbol s_2_47[5] = { 'o', 'v', 'e', 'g', 'a' };
-static const symbol s_2_48[6] = { 'a', 0xC4, 0x87, 'e', 'g', 'a' };
-static const symbol s_2_49[6] = { 'e', 0xC4, 0x87, 'e', 'g', 'a' };
-static const symbol s_2_50[6] = { 'u', 0xC4, 0x87, 'e', 'g', 'a' };
-static const symbol s_2_51[6] = { 'o', 0xC5, 0xA1, 'e', 'g', 'a' };
-static const symbol s_2_52[5] = { 'a', 'c', 'o', 'g', 'a' };
-static const symbol s_2_53[5] = { 'e', 'c', 'o', 'g', 'a' };
-static const symbol s_2_54[5] = { 'u', 'c', 'o', 'g', 'a' };
-static const symbol s_2_55[6] = { 'a', 'n', 'j', 'o', 'g', 'a' };
-static const symbol s_2_56[6] = { 'e', 'n', 'j', 'o', 'g', 'a' };
-static const symbol s_2_57[6] = { 's', 'n', 'j', 'o', 'g', 'a' };
-static const symbol s_2_58[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'g', 'a' };
-static const symbol s_2_59[4] = { 'k', 'o', 'g', 'a' };
-static const symbol s_2_60[5] = { 's', 'k', 'o', 'g', 'a' };
-static const symbol s_2_61[6] = { 0xC5, 0xA1, 'k', 'o', 'g', 'a' };
-static const symbol s_2_62[4] = { 'l', 'o', 'g', 'a' };
-static const symbol s_2_63[5] = { 'e', 'l', 'o', 'g', 'a' };
-static const symbol s_2_64[4] = { 'n', 'o', 'g', 'a' };
-static const symbol s_2_65[6] = { 'c', 'i', 'n', 'o', 'g', 'a' };
-static const symbol s_2_66[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'g', 'a' };
-static const symbol s_2_67[5] = { 'o', 's', 'o', 'g', 'a' };
-static const symbol s_2_68[5] = { 'a', 't', 'o', 'g', 'a' };
-static const symbol s_2_69[7] = { 'e', 'v', 'i', 't', 'o', 'g', 'a' };
-static const symbol s_2_70[7] = { 'o', 'v', 'i', 't', 'o', 'g', 'a' };
-static const symbol s_2_71[6] = { 'a', 's', 't', 'o', 'g', 'a' };
-static const symbol s_2_72[5] = { 'a', 'v', 'o', 'g', 'a' };
-static const symbol s_2_73[5] = { 'e', 'v', 'o', 'g', 'a' };
-static const symbol s_2_74[5] = { 'i', 'v', 'o', 'g', 'a' };
-static const symbol s_2_75[5] = { 'o', 'v', 'o', 'g', 'a' };
-static const symbol s_2_76[6] = { 'a', 0xC4, 0x87, 'o', 'g', 'a' };
-static const symbol s_2_77[6] = { 'e', 0xC4, 0x87, 'o', 'g', 'a' };
-static const symbol s_2_78[6] = { 'u', 0xC4, 0x87, 'o', 'g', 'a' };
-static const symbol s_2_79[6] = { 'o', 0xC5, 0xA1, 'o', 'g', 'a' };
-static const symbol s_2_80[3] = { 'u', 'g', 'a' };
-static const symbol s_2_81[3] = { 'a', 'j', 'a' };
-static const symbol s_2_82[4] = { 'c', 'a', 'j', 'a' };
-static const symbol s_2_83[4] = { 'l', 'a', 'j', 'a' };
-static const symbol s_2_84[4] = { 'r', 'a', 'j', 'a' };
-static const symbol s_2_85[5] = { 0xC4, 0x87, 'a', 'j', 'a' };
-static const symbol s_2_86[5] = { 0xC4, 0x8D, 'a', 'j', 'a' };
-static const symbol s_2_87[5] = { 0xC4, 0x91, 'a', 'j', 'a' };
-static const symbol s_2_88[4] = { 'b', 'i', 'j', 'a' };
-static const symbol s_2_89[4] = { 'c', 'i', 'j', 'a' };
-static const symbol s_2_90[4] = { 'd', 'i', 'j', 'a' };
-static const symbol s_2_91[4] = { 'f', 'i', 'j', 'a' };
-static const symbol s_2_92[4] = { 'g', 'i', 'j', 'a' };
-static const symbol s_2_93[6] = { 'a', 'n', 'j', 'i', 'j', 'a' };
-static const symbol s_2_94[6] = { 'e', 'n', 'j', 'i', 'j', 'a' };
-static const symbol s_2_95[6] = { 's', 'n', 'j', 'i', 'j', 'a' };
-static const symbol s_2_96[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'a' };
-static const symbol s_2_97[4] = { 'k', 'i', 'j', 'a' };
-static const symbol s_2_98[5] = { 's', 'k', 'i', 'j', 'a' };
-static const symbol s_2_99[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'a' };
-static const symbol s_2_100[4] = { 'l', 'i', 'j', 'a' };
-static const symbol s_2_101[5] = { 'e', 'l', 'i', 'j', 'a' };
-static const symbol s_2_102[4] = { 'm', 'i', 'j', 'a' };
-static const symbol s_2_103[4] = { 'n', 'i', 'j', 'a' };
-static const symbol s_2_104[6] = { 'g', 'a', 'n', 'i', 'j', 'a' };
-static const symbol s_2_105[6] = { 'm', 'a', 'n', 'i', 'j', 'a' };
-static const symbol s_2_106[6] = { 'p', 'a', 'n', 'i', 'j', 'a' };
-static const symbol s_2_107[6] = { 'r', 'a', 'n', 'i', 'j', 'a' };
-static const symbol s_2_108[6] = { 't', 'a', 'n', 'i', 'j', 'a' };
-static const symbol s_2_109[4] = { 'p', 'i', 'j', 'a' };
-static const symbol s_2_110[4] = { 'r', 'i', 'j', 'a' };
-static const symbol s_2_111[6] = { 'r', 'a', 'r', 'i', 'j', 'a' };
-static const symbol s_2_112[4] = { 's', 'i', 'j', 'a' };
-static const symbol s_2_113[5] = { 'o', 's', 'i', 'j', 'a' };
-static const symbol s_2_114[4] = { 't', 'i', 'j', 'a' };
-static const symbol s_2_115[5] = { 'a', 't', 'i', 'j', 'a' };
-static const symbol s_2_116[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'a' };
-static const symbol s_2_117[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'a' };
-static const symbol s_2_118[5] = { 'o', 't', 'i', 'j', 'a' };
-static const symbol s_2_119[6] = { 'a', 's', 't', 'i', 'j', 'a' };
-static const symbol s_2_120[5] = { 'a', 'v', 'i', 'j', 'a' };
-static const symbol s_2_121[5] = { 'e', 'v', 'i', 'j', 'a' };
-static const symbol s_2_122[5] = { 'i', 'v', 'i', 'j', 'a' };
-static const symbol s_2_123[5] = { 'o', 'v', 'i', 'j', 'a' };
-static const symbol s_2_124[4] = { 'z', 'i', 'j', 'a' };
-static const symbol s_2_125[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'a' };
-static const symbol s_2_126[5] = { 0xC5, 0xBE, 'i', 'j', 'a' };
-static const symbol s_2_127[4] = { 'a', 'n', 'j', 'a' };
-static const symbol s_2_128[4] = { 'e', 'n', 'j', 'a' };
-static const symbol s_2_129[4] = { 's', 'n', 'j', 'a' };
-static const symbol s_2_130[5] = { 0xC5, 0xA1, 'n', 'j', 'a' };
-static const symbol s_2_131[2] = { 'k', 'a' };
-static const symbol s_2_132[3] = { 's', 'k', 'a' };
-static const symbol s_2_133[4] = { 0xC5, 0xA1, 'k', 'a' };
-static const symbol s_2_134[3] = { 'a', 'l', 'a' };
-static const symbol s_2_135[5] = { 'a', 'c', 'a', 'l', 'a' };
-static const symbol s_2_136[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'a' };
-static const symbol s_2_137[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'a' };
-static const symbol s_2_138[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'a' };
-static const symbol s_2_139[5] = { 'i', 'j', 'a', 'l', 'a' };
-static const symbol s_2_140[6] = { 'i', 'n', 'j', 'a', 'l', 'a' };
-static const symbol s_2_141[4] = { 'n', 'a', 'l', 'a' };
-static const symbol s_2_142[5] = { 'i', 'r', 'a', 'l', 'a' };
-static const symbol s_2_143[5] = { 'u', 'r', 'a', 'l', 'a' };
-static const symbol s_2_144[4] = { 't', 'a', 'l', 'a' };
-static const symbol s_2_145[6] = { 'a', 's', 't', 'a', 'l', 'a' };
-static const symbol s_2_146[6] = { 'i', 's', 't', 'a', 'l', 'a' };
-static const symbol s_2_147[6] = { 'o', 's', 't', 'a', 'l', 'a' };
-static const symbol s_2_148[5] = { 'a', 'v', 'a', 'l', 'a' };
-static const symbol s_2_149[5] = { 'e', 'v', 'a', 'l', 'a' };
-static const symbol s_2_150[5] = { 'i', 'v', 'a', 'l', 'a' };
-static const symbol s_2_151[5] = { 'o', 'v', 'a', 'l', 'a' };
-static const symbol s_2_152[5] = { 'u', 'v', 'a', 'l', 'a' };
-static const symbol s_2_153[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'a' };
-static const symbol s_2_154[3] = { 'e', 'l', 'a' };
-static const symbol s_2_155[3] = { 'i', 'l', 'a' };
-static const symbol s_2_156[5] = { 'a', 'c', 'i', 'l', 'a' };
-static const symbol s_2_157[6] = { 'l', 'u', 'c', 'i', 'l', 'a' };
-static const symbol s_2_158[4] = { 'n', 'i', 'l', 'a' };
-static const symbol s_2_159[8] = { 'a', 's', 't', 'a', 'n', 'i', 'l', 'a' };
-static const symbol s_2_160[8] = { 'i', 's', 't', 'a', 'n', 'i', 'l', 'a' };
-static const symbol s_2_161[8] = { 'o', 's', 't', 'a', 'n', 'i', 'l', 'a' };
-static const symbol s_2_162[6] = { 'r', 'o', 's', 'i', 'l', 'a' };
-static const symbol s_2_163[6] = { 'j', 'e', 't', 'i', 'l', 'a' };
-static const symbol s_2_164[5] = { 'o', 'z', 'i', 'l', 'a' };
-static const symbol s_2_165[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'a' };
-static const symbol s_2_166[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'a' };
-static const symbol s_2_167[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'a' };
-static const symbol s_2_168[3] = { 'o', 'l', 'a' };
-static const symbol s_2_169[4] = { 'a', 's', 'l', 'a' };
-static const symbol s_2_170[4] = { 'n', 'u', 'l', 'a' };
-static const symbol s_2_171[4] = { 'g', 'a', 'm', 'a' };
-static const symbol s_2_172[6] = { 'l', 'o', 'g', 'a', 'm', 'a' };
-static const symbol s_2_173[5] = { 'u', 'g', 'a', 'm', 'a' };
-static const symbol s_2_174[5] = { 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_175[6] = { 'c', 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_176[6] = { 'l', 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_177[6] = { 'r', 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_178[7] = { 0xC4, 0x87, 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_179[7] = { 0xC4, 0x8D, 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_180[7] = { 0xC4, 0x91, 'a', 'j', 'a', 'm', 'a' };
-static const symbol s_2_181[6] = { 'b', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_182[6] = { 'c', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_183[6] = { 'd', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_184[6] = { 'f', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_185[6] = { 'g', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_186[6] = { 'l', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_187[6] = { 'm', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_188[6] = { 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_189[8] = { 'g', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_190[8] = { 'm', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_191[8] = { 'p', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_192[8] = { 'r', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_193[8] = { 't', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_194[6] = { 'p', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_195[6] = { 'r', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_196[6] = { 's', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_197[6] = { 't', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_198[6] = { 'z', 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_199[7] = { 0xC5, 0xBE, 'i', 'j', 'a', 'm', 'a' };
-static const symbol s_2_200[5] = { 'a', 'l', 'a', 'm', 'a' };
-static const symbol s_2_201[7] = { 'i', 'j', 'a', 'l', 'a', 'm', 'a' };
-static const symbol s_2_202[6] = { 'n', 'a', 'l', 'a', 'm', 'a' };
-static const symbol s_2_203[5] = { 'e', 'l', 'a', 'm', 'a' };
-static const symbol s_2_204[5] = { 'i', 'l', 'a', 'm', 'a' };
-static const symbol s_2_205[6] = { 'r', 'a', 'm', 'a', 'm', 'a' };
-static const symbol s_2_206[6] = { 'l', 'e', 'm', 'a', 'm', 'a' };
-static const symbol s_2_207[5] = { 'i', 'n', 'a', 'm', 'a' };
-static const symbol s_2_208[6] = { 'c', 'i', 'n', 'a', 'm', 'a' };
-static const symbol s_2_209[7] = { 0xC4, 0x8D, 'i', 'n', 'a', 'm', 'a' };
-static const symbol s_2_210[4] = { 'r', 'a', 'm', 'a' };
-static const symbol s_2_211[5] = { 'a', 'r', 'a', 'm', 'a' };
-static const symbol s_2_212[5] = { 'd', 'r', 'a', 'm', 'a' };
-static const symbol s_2_213[5] = { 'e', 'r', 'a', 'm', 'a' };
-static const symbol s_2_214[5] = { 'o', 'r', 'a', 'm', 'a' };
-static const symbol s_2_215[6] = { 'b', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_216[6] = { 'g', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_217[6] = { 'j', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_218[6] = { 'k', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_219[6] = { 'n', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_220[6] = { 't', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_221[6] = { 'v', 'a', 's', 'a', 'm', 'a' };
-static const symbol s_2_222[5] = { 'e', 's', 'a', 'm', 'a' };
-static const symbol s_2_223[5] = { 'i', 's', 'a', 'm', 'a' };
-static const symbol s_2_224[5] = { 'e', 't', 'a', 'm', 'a' };
-static const symbol s_2_225[6] = { 'e', 's', 't', 'a', 'm', 'a' };
-static const symbol s_2_226[6] = { 'i', 's', 't', 'a', 'm', 'a' };
-static const symbol s_2_227[6] = { 'k', 's', 't', 'a', 'm', 'a' };
-static const symbol s_2_228[6] = { 'o', 's', 't', 'a', 'm', 'a' };
-static const symbol s_2_229[5] = { 'a', 'v', 'a', 'm', 'a' };
-static const symbol s_2_230[5] = { 'e', 'v', 'a', 'm', 'a' };
-static const symbol s_2_231[5] = { 'i', 'v', 'a', 'm', 'a' };
-static const symbol s_2_232[7] = { 'b', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_233[7] = { 'g', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_234[7] = { 'j', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_235[7] = { 'k', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_236[7] = { 'n', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_237[7] = { 't', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_238[7] = { 'v', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_239[6] = { 'e', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_240[6] = { 'i', 0xC5, 0xA1, 'a', 'm', 'a' };
-static const symbol s_2_241[4] = { 'l', 'e', 'm', 'a' };
-static const symbol s_2_242[5] = { 'a', 'c', 'i', 'm', 'a' };
-static const symbol s_2_243[5] = { 'e', 'c', 'i', 'm', 'a' };
-static const symbol s_2_244[5] = { 'u', 'c', 'i', 'm', 'a' };
-static const symbol s_2_245[5] = { 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_246[6] = { 'c', 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_247[6] = { 'l', 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_248[6] = { 'r', 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_249[7] = { 0xC4, 0x87, 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_250[7] = { 0xC4, 0x8D, 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_251[7] = { 0xC4, 0x91, 'a', 'j', 'i', 'm', 'a' };
-static const symbol s_2_252[6] = { 'b', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_253[6] = { 'c', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_254[6] = { 'd', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_255[6] = { 'f', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_256[6] = { 'g', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_257[8] = { 'a', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_258[8] = { 'e', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_259[8] = { 's', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_260[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_261[6] = { 'k', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_262[7] = { 's', 'k', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_263[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_264[6] = { 'l', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_265[7] = { 'e', 'l', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_266[6] = { 'm', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_267[6] = { 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_268[8] = { 'g', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_269[8] = { 'm', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_270[8] = { 'p', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_271[8] = { 'r', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_272[8] = { 't', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_273[6] = { 'p', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_274[6] = { 'r', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_275[6] = { 's', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_276[7] = { 'o', 's', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_277[6] = { 't', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_278[7] = { 'a', 't', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_279[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_280[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_281[8] = { 'a', 's', 't', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_282[7] = { 'a', 'v', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_283[7] = { 'e', 'v', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_284[7] = { 'i', 'v', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_285[7] = { 'o', 'v', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_286[6] = { 'z', 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_287[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_288[7] = { 0xC5, 0xBE, 'i', 'j', 'i', 'm', 'a' };
-static const symbol s_2_289[6] = { 'a', 'n', 'j', 'i', 'm', 'a' };
-static const symbol s_2_290[6] = { 'e', 'n', 'j', 'i', 'm', 'a' };
-static const symbol s_2_291[6] = { 's', 'n', 'j', 'i', 'm', 'a' };
-static const symbol s_2_292[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'm', 'a' };
-static const symbol s_2_293[4] = { 'k', 'i', 'm', 'a' };
-static const symbol s_2_294[5] = { 's', 'k', 'i', 'm', 'a' };
-static const symbol s_2_295[6] = { 0xC5, 0xA1, 'k', 'i', 'm', 'a' };
-static const symbol s_2_296[5] = { 'a', 'l', 'i', 'm', 'a' };
-static const symbol s_2_297[7] = { 'i', 'j', 'a', 'l', 'i', 'm', 'a' };
-static const symbol s_2_298[6] = { 'n', 'a', 'l', 'i', 'm', 'a' };
-static const symbol s_2_299[5] = { 'e', 'l', 'i', 'm', 'a' };
-static const symbol s_2_300[5] = { 'i', 'l', 'i', 'm', 'a' };
-static const symbol s_2_301[7] = { 'o', 'z', 'i', 'l', 'i', 'm', 'a' };
-static const symbol s_2_302[5] = { 'o', 'l', 'i', 'm', 'a' };
-static const symbol s_2_303[6] = { 'l', 'e', 'm', 'i', 'm', 'a' };
-static const symbol s_2_304[4] = { 'n', 'i', 'm', 'a' };
-static const symbol s_2_305[5] = { 'a', 'n', 'i', 'm', 'a' };
-static const symbol s_2_306[5] = { 'i', 'n', 'i', 'm', 'a' };
-static const symbol s_2_307[6] = { 'c', 'i', 'n', 'i', 'm', 'a' };
-static const symbol s_2_308[7] = { 0xC4, 0x8D, 'i', 'n', 'i', 'm', 'a' };
-static const symbol s_2_309[5] = { 'o', 'n', 'i', 'm', 'a' };
-static const symbol s_2_310[5] = { 'a', 'r', 'i', 'm', 'a' };
-static const symbol s_2_311[5] = { 'd', 'r', 'i', 'm', 'a' };
-static const symbol s_2_312[5] = { 'e', 'r', 'i', 'm', 'a' };
-static const symbol s_2_313[5] = { 'o', 'r', 'i', 'm', 'a' };
-static const symbol s_2_314[6] = { 'b', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_315[6] = { 'g', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_316[6] = { 'j', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_317[6] = { 'k', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_318[6] = { 'n', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_319[6] = { 't', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_320[6] = { 'v', 'a', 's', 'i', 'm', 'a' };
-static const symbol s_2_321[5] = { 'e', 's', 'i', 'm', 'a' };
-static const symbol s_2_322[5] = { 'i', 's', 'i', 'm', 'a' };
-static const symbol s_2_323[5] = { 'o', 's', 'i', 'm', 'a' };
-static const symbol s_2_324[5] = { 'a', 't', 'i', 'm', 'a' };
-static const symbol s_2_325[7] = { 'i', 'k', 'a', 't', 'i', 'm', 'a' };
-static const symbol s_2_326[6] = { 'l', 'a', 't', 'i', 'm', 'a' };
-static const symbol s_2_327[5] = { 'e', 't', 'i', 'm', 'a' };
-static const symbol s_2_328[7] = { 'e', 'v', 'i', 't', 'i', 'm', 'a' };
-static const symbol s_2_329[7] = { 'o', 'v', 'i', 't', 'i', 'm', 'a' };
-static const symbol s_2_330[6] = { 'a', 's', 't', 'i', 'm', 'a' };
-static const symbol s_2_331[6] = { 'e', 's', 't', 'i', 'm', 'a' };
-static const symbol s_2_332[6] = { 'i', 's', 't', 'i', 'm', 'a' };
-static const symbol s_2_333[6] = { 'k', 's', 't', 'i', 'm', 'a' };
-static const symbol s_2_334[6] = { 'o', 's', 't', 'i', 'm', 'a' };
-static const symbol s_2_335[7] = { 'i', 0xC5, 0xA1, 't', 'i', 'm', 'a' };
-static const symbol s_2_336[5] = { 'a', 'v', 'i', 'm', 'a' };
-static const symbol s_2_337[5] = { 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_338[7] = { 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_339[8] = { 'c', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_340[8] = { 'l', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_341[8] = { 'r', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_342[9] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_343[9] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_344[9] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
-static const symbol s_2_345[5] = { 'i', 'v', 'i', 'm', 'a' };
-static const symbol s_2_346[5] = { 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_347[6] = { 'g', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_348[7] = { 'u', 'g', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_349[6] = { 'l', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_350[7] = { 'o', 'l', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_351[6] = { 'm', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_352[7] = { 'o', 'n', 'o', 'v', 'i', 'm', 'a' };
-static const symbol s_2_353[6] = { 's', 't', 'v', 'i', 'm', 'a' };
-static const symbol s_2_354[7] = { 0xC5, 0xA1, 't', 'v', 'i', 'm', 'a' };
-static const symbol s_2_355[6] = { 'a', 0xC4, 0x87, 'i', 'm', 'a' };
-static const symbol s_2_356[6] = { 'e', 0xC4, 0x87, 'i', 'm', 'a' };
-static const symbol s_2_357[6] = { 'u', 0xC4, 0x87, 'i', 'm', 'a' };
-static const symbol s_2_358[7] = { 'b', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_359[7] = { 'g', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_360[7] = { 'j', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_361[7] = { 'k', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_362[7] = { 'n', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_363[7] = { 't', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_364[7] = { 'v', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_365[6] = { 'e', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_366[6] = { 'i', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_367[6] = { 'o', 0xC5, 0xA1, 'i', 'm', 'a' };
-static const symbol s_2_368[2] = { 'n', 'a' };
-static const symbol s_2_369[3] = { 'a', 'n', 'a' };
-static const symbol s_2_370[5] = { 'a', 'c', 'a', 'n', 'a' };
-static const symbol s_2_371[5] = { 'u', 'r', 'a', 'n', 'a' };
-static const symbol s_2_372[4] = { 't', 'a', 'n', 'a' };
-static const symbol s_2_373[5] = { 'a', 'v', 'a', 'n', 'a' };
-static const symbol s_2_374[5] = { 'e', 'v', 'a', 'n', 'a' };
-static const symbol s_2_375[5] = { 'i', 'v', 'a', 'n', 'a' };
-static const symbol s_2_376[5] = { 'u', 'v', 'a', 'n', 'a' };
-static const symbol s_2_377[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'a' };
-static const symbol s_2_378[5] = { 'a', 'c', 'e', 'n', 'a' };
-static const symbol s_2_379[6] = { 'l', 'u', 'c', 'e', 'n', 'a' };
-static const symbol s_2_380[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'a' };
-static const symbol s_2_381[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'a' };
-static const symbol s_2_382[3] = { 'i', 'n', 'a' };
-static const symbol s_2_383[4] = { 'c', 'i', 'n', 'a' };
-static const symbol s_2_384[5] = { 'a', 'n', 'i', 'n', 'a' };
-static const symbol s_2_385[5] = { 0xC4, 0x8D, 'i', 'n', 'a' };
-static const symbol s_2_386[3] = { 'o', 'n', 'a' };
-static const symbol s_2_387[3] = { 'a', 'r', 'a' };
-static const symbol s_2_388[3] = { 'd', 'r', 'a' };
-static const symbol s_2_389[3] = { 'e', 'r', 'a' };
-static const symbol s_2_390[3] = { 'o', 'r', 'a' };
-static const symbol s_2_391[4] = { 'b', 'a', 's', 'a' };
-static const symbol s_2_392[4] = { 'g', 'a', 's', 'a' };
-static const symbol s_2_393[4] = { 'j', 'a', 's', 'a' };
-static const symbol s_2_394[4] = { 'k', 'a', 's', 'a' };
-static const symbol s_2_395[4] = { 'n', 'a', 's', 'a' };
-static const symbol s_2_396[4] = { 't', 'a', 's', 'a' };
-static const symbol s_2_397[4] = { 'v', 'a', 's', 'a' };
-static const symbol s_2_398[3] = { 'e', 's', 'a' };
-static const symbol s_2_399[3] = { 'i', 's', 'a' };
-static const symbol s_2_400[3] = { 'o', 's', 'a' };
-static const symbol s_2_401[3] = { 'a', 't', 'a' };
-static const symbol s_2_402[5] = { 'i', 'k', 'a', 't', 'a' };
-static const symbol s_2_403[4] = { 'l', 'a', 't', 'a' };
-static const symbol s_2_404[3] = { 'e', 't', 'a' };
-static const symbol s_2_405[5] = { 'e', 'v', 'i', 't', 'a' };
-static const symbol s_2_406[5] = { 'o', 'v', 'i', 't', 'a' };
-static const symbol s_2_407[4] = { 'a', 's', 't', 'a' };
-static const symbol s_2_408[4] = { 'e', 's', 't', 'a' };
-static const symbol s_2_409[4] = { 'i', 's', 't', 'a' };
-static const symbol s_2_410[4] = { 'k', 's', 't', 'a' };
-static const symbol s_2_411[4] = { 'o', 's', 't', 'a' };
-static const symbol s_2_412[4] = { 'n', 'u', 't', 'a' };
-static const symbol s_2_413[5] = { 'i', 0xC5, 0xA1, 't', 'a' };
-static const symbol s_2_414[3] = { 'a', 'v', 'a' };
-static const symbol s_2_415[3] = { 'e', 'v', 'a' };
-static const symbol s_2_416[5] = { 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_417[6] = { 'c', 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_418[6] = { 'l', 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_419[6] = { 'r', 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_420[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_421[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_422[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'a' };
-static const symbol s_2_423[3] = { 'i', 'v', 'a' };
-static const symbol s_2_424[3] = { 'o', 'v', 'a' };
-static const symbol s_2_425[4] = { 'g', 'o', 'v', 'a' };
-static const symbol s_2_426[5] = { 'u', 'g', 'o', 'v', 'a' };
-static const symbol s_2_427[4] = { 'l', 'o', 'v', 'a' };
-static const symbol s_2_428[5] = { 'o', 'l', 'o', 'v', 'a' };
-static const symbol s_2_429[4] = { 'm', 'o', 'v', 'a' };
-static const symbol s_2_430[5] = { 'o', 'n', 'o', 'v', 'a' };
-static const symbol s_2_431[4] = { 's', 't', 'v', 'a' };
-static const symbol s_2_432[5] = { 0xC5, 0xA1, 't', 'v', 'a' };
-static const symbol s_2_433[4] = { 'a', 0xC4, 0x87, 'a' };
-static const symbol s_2_434[4] = { 'e', 0xC4, 0x87, 'a' };
-static const symbol s_2_435[4] = { 'u', 0xC4, 0x87, 'a' };
-static const symbol s_2_436[5] = { 'b', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_437[5] = { 'g', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_438[5] = { 'j', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_439[5] = { 'k', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_440[5] = { 'n', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_441[5] = { 't', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_442[5] = { 'v', 'a', 0xC5, 0xA1, 'a' };
-static const symbol s_2_443[4] = { 'e', 0xC5, 0xA1, 'a' };
-static const symbol s_2_444[4] = { 'i', 0xC5, 0xA1, 'a' };
-static const symbol s_2_445[4] = { 'o', 0xC5, 0xA1, 'a' };
-static const symbol s_2_446[3] = { 'a', 'c', 'e' };
-static const symbol s_2_447[3] = { 'e', 'c', 'e' };
-static const symbol s_2_448[3] = { 'u', 'c', 'e' };
-static const symbol s_2_449[4] = { 'l', 'u', 'c', 'e' };
-static const symbol s_2_450[6] = { 'a', 's', 't', 'a', 'd', 'e' };
-static const symbol s_2_451[6] = { 'i', 's', 't', 'a', 'd', 'e' };
-static const symbol s_2_452[6] = { 'o', 's', 't', 'a', 'd', 'e' };
-static const symbol s_2_453[2] = { 'g', 'e' };
-static const symbol s_2_454[4] = { 'l', 'o', 'g', 'e' };
-static const symbol s_2_455[3] = { 'u', 'g', 'e' };
-static const symbol s_2_456[3] = { 'a', 'j', 'e' };
-static const symbol s_2_457[4] = { 'c', 'a', 'j', 'e' };
-static const symbol s_2_458[4] = { 'l', 'a', 'j', 'e' };
-static const symbol s_2_459[4] = { 'r', 'a', 'j', 'e' };
-static const symbol s_2_460[6] = { 'a', 's', 't', 'a', 'j', 'e' };
-static const symbol s_2_461[6] = { 'i', 's', 't', 'a', 'j', 'e' };
-static const symbol s_2_462[6] = { 'o', 's', 't', 'a', 'j', 'e' };
-static const symbol s_2_463[5] = { 0xC4, 0x87, 'a', 'j', 'e' };
-static const symbol s_2_464[5] = { 0xC4, 0x8D, 'a', 'j', 'e' };
-static const symbol s_2_465[5] = { 0xC4, 0x91, 'a', 'j', 'e' };
-static const symbol s_2_466[3] = { 'i', 'j', 'e' };
-static const symbol s_2_467[4] = { 'b', 'i', 'j', 'e' };
-static const symbol s_2_468[4] = { 'c', 'i', 'j', 'e' };
-static const symbol s_2_469[4] = { 'd', 'i', 'j', 'e' };
-static const symbol s_2_470[4] = { 'f', 'i', 'j', 'e' };
-static const symbol s_2_471[4] = { 'g', 'i', 'j', 'e' };
-static const symbol s_2_472[6] = { 'a', 'n', 'j', 'i', 'j', 'e' };
-static const symbol s_2_473[6] = { 'e', 'n', 'j', 'i', 'j', 'e' };
-static const symbol s_2_474[6] = { 's', 'n', 'j', 'i', 'j', 'e' };
-static const symbol s_2_475[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e' };
-static const symbol s_2_476[4] = { 'k', 'i', 'j', 'e' };
-static const symbol s_2_477[5] = { 's', 'k', 'i', 'j', 'e' };
-static const symbol s_2_478[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e' };
-static const symbol s_2_479[4] = { 'l', 'i', 'j', 'e' };
-static const symbol s_2_480[5] = { 'e', 'l', 'i', 'j', 'e' };
-static const symbol s_2_481[4] = { 'm', 'i', 'j', 'e' };
-static const symbol s_2_482[4] = { 'n', 'i', 'j', 'e' };
-static const symbol s_2_483[6] = { 'g', 'a', 'n', 'i', 'j', 'e' };
-static const symbol s_2_484[6] = { 'm', 'a', 'n', 'i', 'j', 'e' };
-static const symbol s_2_485[6] = { 'p', 'a', 'n', 'i', 'j', 'e' };
-static const symbol s_2_486[6] = { 'r', 'a', 'n', 'i', 'j', 'e' };
-static const symbol s_2_487[6] = { 't', 'a', 'n', 'i', 'j', 'e' };
-static const symbol s_2_488[4] = { 'p', 'i', 'j', 'e' };
-static const symbol s_2_489[4] = { 'r', 'i', 'j', 'e' };
-static const symbol s_2_490[4] = { 's', 'i', 'j', 'e' };
-static const symbol s_2_491[5] = { 'o', 's', 'i', 'j', 'e' };
-static const symbol s_2_492[4] = { 't', 'i', 'j', 'e' };
-static const symbol s_2_493[5] = { 'a', 't', 'i', 'j', 'e' };
-static const symbol s_2_494[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'e' };
-static const symbol s_2_495[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'e' };
-static const symbol s_2_496[6] = { 'a', 's', 't', 'i', 'j', 'e' };
-static const symbol s_2_497[5] = { 'a', 'v', 'i', 'j', 'e' };
-static const symbol s_2_498[5] = { 'e', 'v', 'i', 'j', 'e' };
-static const symbol s_2_499[5] = { 'i', 'v', 'i', 'j', 'e' };
-static const symbol s_2_500[5] = { 'o', 'v', 'i', 'j', 'e' };
-static const symbol s_2_501[4] = { 'z', 'i', 'j', 'e' };
-static const symbol s_2_502[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e' };
-static const symbol s_2_503[5] = { 0xC5, 0xBE, 'i', 'j', 'e' };
-static const symbol s_2_504[4] = { 'a', 'n', 'j', 'e' };
-static const symbol s_2_505[4] = { 'e', 'n', 'j', 'e' };
-static const symbol s_2_506[4] = { 's', 'n', 'j', 'e' };
-static const symbol s_2_507[5] = { 0xC5, 0xA1, 'n', 'j', 'e' };
-static const symbol s_2_508[3] = { 'u', 'j', 'e' };
-static const symbol s_2_509[6] = { 'l', 'u', 'c', 'u', 'j', 'e' };
-static const symbol s_2_510[5] = { 'i', 'r', 'u', 'j', 'e' };
-static const symbol s_2_511[7] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e' };
-static const symbol s_2_512[2] = { 'k', 'e' };
-static const symbol s_2_513[3] = { 's', 'k', 'e' };
-static const symbol s_2_514[4] = { 0xC5, 0xA1, 'k', 'e' };
-static const symbol s_2_515[3] = { 'a', 'l', 'e' };
-static const symbol s_2_516[5] = { 'a', 'c', 'a', 'l', 'e' };
-static const symbol s_2_517[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'e' };
-static const symbol s_2_518[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'e' };
-static const symbol s_2_519[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'e' };
-static const symbol s_2_520[5] = { 'i', 'j', 'a', 'l', 'e' };
-static const symbol s_2_521[6] = { 'i', 'n', 'j', 'a', 'l', 'e' };
-static const symbol s_2_522[4] = { 'n', 'a', 'l', 'e' };
-static const symbol s_2_523[5] = { 'i', 'r', 'a', 'l', 'e' };
-static const symbol s_2_524[5] = { 'u', 'r', 'a', 'l', 'e' };
-static const symbol s_2_525[4] = { 't', 'a', 'l', 'e' };
-static const symbol s_2_526[6] = { 'a', 's', 't', 'a', 'l', 'e' };
-static const symbol s_2_527[6] = { 'i', 's', 't', 'a', 'l', 'e' };
-static const symbol s_2_528[6] = { 'o', 's', 't', 'a', 'l', 'e' };
-static const symbol s_2_529[5] = { 'a', 'v', 'a', 'l', 'e' };
-static const symbol s_2_530[5] = { 'e', 'v', 'a', 'l', 'e' };
-static const symbol s_2_531[5] = { 'i', 'v', 'a', 'l', 'e' };
-static const symbol s_2_532[5] = { 'o', 'v', 'a', 'l', 'e' };
-static const symbol s_2_533[5] = { 'u', 'v', 'a', 'l', 'e' };
-static const symbol s_2_534[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'e' };
-static const symbol s_2_535[3] = { 'e', 'l', 'e' };
-static const symbol s_2_536[3] = { 'i', 'l', 'e' };
-static const symbol s_2_537[5] = { 'a', 'c', 'i', 'l', 'e' };
-static const symbol s_2_538[6] = { 'l', 'u', 'c', 'i', 'l', 'e' };
-static const symbol s_2_539[4] = { 'n', 'i', 'l', 'e' };
-static const symbol s_2_540[6] = { 'r', 'o', 's', 'i', 'l', 'e' };
-static const symbol s_2_541[6] = { 'j', 'e', 't', 'i', 'l', 'e' };
-static const symbol s_2_542[5] = { 'o', 'z', 'i', 'l', 'e' };
-static const symbol s_2_543[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'e' };
-static const symbol s_2_544[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'e' };
-static const symbol s_2_545[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'e' };
-static const symbol s_2_546[3] = { 'o', 'l', 'e' };
-static const symbol s_2_547[4] = { 'a', 's', 'l', 'e' };
-static const symbol s_2_548[4] = { 'n', 'u', 'l', 'e' };
-static const symbol s_2_549[4] = { 'r', 'a', 'm', 'e' };
-static const symbol s_2_550[4] = { 'l', 'e', 'm', 'e' };
-static const symbol s_2_551[5] = { 'a', 'c', 'o', 'm', 'e' };
-static const symbol s_2_552[5] = { 'e', 'c', 'o', 'm', 'e' };
-static const symbol s_2_553[5] = { 'u', 'c', 'o', 'm', 'e' };
-static const symbol s_2_554[6] = { 'a', 'n', 'j', 'o', 'm', 'e' };
-static const symbol s_2_555[6] = { 'e', 'n', 'j', 'o', 'm', 'e' };
-static const symbol s_2_556[6] = { 's', 'n', 'j', 'o', 'm', 'e' };
-static const symbol s_2_557[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm', 'e' };
-static const symbol s_2_558[4] = { 'k', 'o', 'm', 'e' };
-static const symbol s_2_559[5] = { 's', 'k', 'o', 'm', 'e' };
-static const symbol s_2_560[6] = { 0xC5, 0xA1, 'k', 'o', 'm', 'e' };
-static const symbol s_2_561[5] = { 'e', 'l', 'o', 'm', 'e' };
-static const symbol s_2_562[4] = { 'n', 'o', 'm', 'e' };
-static const symbol s_2_563[6] = { 'c', 'i', 'n', 'o', 'm', 'e' };
-static const symbol s_2_564[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm', 'e' };
-static const symbol s_2_565[5] = { 'o', 's', 'o', 'm', 'e' };
-static const symbol s_2_566[5] = { 'a', 't', 'o', 'm', 'e' };
-static const symbol s_2_567[7] = { 'e', 'v', 'i', 't', 'o', 'm', 'e' };
-static const symbol s_2_568[7] = { 'o', 'v', 'i', 't', 'o', 'm', 'e' };
-static const symbol s_2_569[6] = { 'a', 's', 't', 'o', 'm', 'e' };
-static const symbol s_2_570[5] = { 'a', 'v', 'o', 'm', 'e' };
-static const symbol s_2_571[5] = { 'e', 'v', 'o', 'm', 'e' };
-static const symbol s_2_572[5] = { 'i', 'v', 'o', 'm', 'e' };
-static const symbol s_2_573[5] = { 'o', 'v', 'o', 'm', 'e' };
-static const symbol s_2_574[6] = { 'a', 0xC4, 0x87, 'o', 'm', 'e' };
-static const symbol s_2_575[6] = { 'e', 0xC4, 0x87, 'o', 'm', 'e' };
-static const symbol s_2_576[6] = { 'u', 0xC4, 0x87, 'o', 'm', 'e' };
-static const symbol s_2_577[6] = { 'o', 0xC5, 0xA1, 'o', 'm', 'e' };
-static const symbol s_2_578[2] = { 'n', 'e' };
-static const symbol s_2_579[3] = { 'a', 'n', 'e' };
-static const symbol s_2_580[5] = { 'a', 'c', 'a', 'n', 'e' };
-static const symbol s_2_581[5] = { 'u', 'r', 'a', 'n', 'e' };
-static const symbol s_2_582[4] = { 't', 'a', 'n', 'e' };
-static const symbol s_2_583[6] = { 'a', 's', 't', 'a', 'n', 'e' };
-static const symbol s_2_584[6] = { 'i', 's', 't', 'a', 'n', 'e' };
-static const symbol s_2_585[6] = { 'o', 's', 't', 'a', 'n', 'e' };
-static const symbol s_2_586[5] = { 'a', 'v', 'a', 'n', 'e' };
-static const symbol s_2_587[5] = { 'e', 'v', 'a', 'n', 'e' };
-static const symbol s_2_588[5] = { 'i', 'v', 'a', 'n', 'e' };
-static const symbol s_2_589[5] = { 'u', 'v', 'a', 'n', 'e' };
-static const symbol s_2_590[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'e' };
-static const symbol s_2_591[5] = { 'a', 'c', 'e', 'n', 'e' };
-static const symbol s_2_592[6] = { 'l', 'u', 'c', 'e', 'n', 'e' };
-static const symbol s_2_593[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'e' };
-static const symbol s_2_594[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'e' };
-static const symbol s_2_595[3] = { 'i', 'n', 'e' };
-static const symbol s_2_596[4] = { 'c', 'i', 'n', 'e' };
-static const symbol s_2_597[5] = { 'a', 'n', 'i', 'n', 'e' };
-static const symbol s_2_598[5] = { 0xC4, 0x8D, 'i', 'n', 'e' };
-static const symbol s_2_599[3] = { 'o', 'n', 'e' };
-static const symbol s_2_600[3] = { 'a', 'r', 'e' };
-static const symbol s_2_601[3] = { 'd', 'r', 'e' };
-static const symbol s_2_602[3] = { 'e', 'r', 'e' };
-static const symbol s_2_603[3] = { 'o', 'r', 'e' };
-static const symbol s_2_604[3] = { 'a', 's', 'e' };
-static const symbol s_2_605[4] = { 'b', 'a', 's', 'e' };
-static const symbol s_2_606[5] = { 'a', 'c', 'a', 's', 'e' };
-static const symbol s_2_607[4] = { 'g', 'a', 's', 'e' };
-static const symbol s_2_608[4] = { 'j', 'a', 's', 'e' };
-static const symbol s_2_609[8] = { 'a', 's', 't', 'a', 'j', 'a', 's', 'e' };
-static const symbol s_2_610[8] = { 'i', 's', 't', 'a', 'j', 'a', 's', 'e' };
-static const symbol s_2_611[8] = { 'o', 's', 't', 'a', 'j', 'a', 's', 'e' };
-static const symbol s_2_612[6] = { 'i', 'n', 'j', 'a', 's', 'e' };
-static const symbol s_2_613[4] = { 'k', 'a', 's', 'e' };
-static const symbol s_2_614[4] = { 'n', 'a', 's', 'e' };
-static const symbol s_2_615[5] = { 'i', 'r', 'a', 's', 'e' };
-static const symbol s_2_616[5] = { 'u', 'r', 'a', 's', 'e' };
-static const symbol s_2_617[4] = { 't', 'a', 's', 'e' };
-static const symbol s_2_618[4] = { 'v', 'a', 's', 'e' };
-static const symbol s_2_619[5] = { 'a', 'v', 'a', 's', 'e' };
-static const symbol s_2_620[5] = { 'e', 'v', 'a', 's', 'e' };
-static const symbol s_2_621[5] = { 'i', 'v', 'a', 's', 'e' };
-static const symbol s_2_622[5] = { 'o', 'v', 'a', 's', 'e' };
-static const symbol s_2_623[5] = { 'u', 'v', 'a', 's', 'e' };
-static const symbol s_2_624[3] = { 'e', 's', 'e' };
-static const symbol s_2_625[3] = { 'i', 's', 'e' };
-static const symbol s_2_626[5] = { 'a', 'c', 'i', 's', 'e' };
-static const symbol s_2_627[6] = { 'l', 'u', 'c', 'i', 's', 'e' };
-static const symbol s_2_628[6] = { 'r', 'o', 's', 'i', 's', 'e' };
-static const symbol s_2_629[6] = { 'j', 'e', 't', 'i', 's', 'e' };
-static const symbol s_2_630[3] = { 'o', 's', 'e' };
-static const symbol s_2_631[8] = { 'a', 's', 't', 'a', 'd', 'o', 's', 'e' };
-static const symbol s_2_632[8] = { 'i', 's', 't', 'a', 'd', 'o', 's', 'e' };
-static const symbol s_2_633[8] = { 'o', 's', 't', 'a', 'd', 'o', 's', 'e' };
-static const symbol s_2_634[3] = { 'a', 't', 'e' };
-static const symbol s_2_635[5] = { 'a', 'c', 'a', 't', 'e' };
-static const symbol s_2_636[5] = { 'i', 'k', 'a', 't', 'e' };
-static const symbol s_2_637[4] = { 'l', 'a', 't', 'e' };
-static const symbol s_2_638[5] = { 'i', 'r', 'a', 't', 'e' };
-static const symbol s_2_639[5] = { 'u', 'r', 'a', 't', 'e' };
-static const symbol s_2_640[4] = { 't', 'a', 't', 'e' };
-static const symbol s_2_641[5] = { 'a', 'v', 'a', 't', 'e' };
-static const symbol s_2_642[5] = { 'e', 'v', 'a', 't', 'e' };
-static const symbol s_2_643[5] = { 'i', 'v', 'a', 't', 'e' };
-static const symbol s_2_644[5] = { 'u', 'v', 'a', 't', 'e' };
-static const symbol s_2_645[6] = { 'a', 0xC4, 0x8D, 'a', 't', 'e' };
-static const symbol s_2_646[3] = { 'e', 't', 'e' };
-static const symbol s_2_647[8] = { 'a', 's', 't', 'a', 'd', 'e', 't', 'e' };
-static const symbol s_2_648[8] = { 'i', 's', 't', 'a', 'd', 'e', 't', 'e' };
-static const symbol s_2_649[8] = { 'o', 's', 't', 'a', 'd', 'e', 't', 'e' };
-static const symbol s_2_650[8] = { 'a', 's', 't', 'a', 'j', 'e', 't', 'e' };
-static const symbol s_2_651[8] = { 'i', 's', 't', 'a', 'j', 'e', 't', 'e' };
-static const symbol s_2_652[8] = { 'o', 's', 't', 'a', 'j', 'e', 't', 'e' };
-static const symbol s_2_653[5] = { 'i', 'j', 'e', 't', 'e' };
-static const symbol s_2_654[6] = { 'i', 'n', 'j', 'e', 't', 'e' };
-static const symbol s_2_655[5] = { 'u', 'j', 'e', 't', 'e' };
-static const symbol s_2_656[8] = { 'l', 'u', 'c', 'u', 'j', 'e', 't', 'e' };
-static const symbol s_2_657[7] = { 'i', 'r', 'u', 'j', 'e', 't', 'e' };
-static const symbol s_2_658[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 't', 'e' };
-static const symbol s_2_659[4] = { 'n', 'e', 't', 'e' };
-static const symbol s_2_660[8] = { 'a', 's', 't', 'a', 'n', 'e', 't', 'e' };
-static const symbol s_2_661[8] = { 'i', 's', 't', 'a', 'n', 'e', 't', 'e' };
-static const symbol s_2_662[8] = { 'o', 's', 't', 'a', 'n', 'e', 't', 'e' };
-static const symbol s_2_663[6] = { 'a', 's', 't', 'e', 't', 'e' };
-static const symbol s_2_664[3] = { 'i', 't', 'e' };
-static const symbol s_2_665[5] = { 'a', 'c', 'i', 't', 'e' };
-static const symbol s_2_666[6] = { 'l', 'u', 'c', 'i', 't', 'e' };
-static const symbol s_2_667[4] = { 'n', 'i', 't', 'e' };
-static const symbol s_2_668[8] = { 'a', 's', 't', 'a', 'n', 'i', 't', 'e' };
-static const symbol s_2_669[8] = { 'i', 's', 't', 'a', 'n', 'i', 't', 'e' };
-static const symbol s_2_670[8] = { 'o', 's', 't', 'a', 'n', 'i', 't', 'e' };
-static const symbol s_2_671[6] = { 'r', 'o', 's', 'i', 't', 'e' };
-static const symbol s_2_672[6] = { 'j', 'e', 't', 'i', 't', 'e' };
-static const symbol s_2_673[6] = { 'a', 's', 't', 'i', 't', 'e' };
-static const symbol s_2_674[5] = { 'e', 'v', 'i', 't', 'e' };
-static const symbol s_2_675[5] = { 'o', 'v', 'i', 't', 'e' };
-static const symbol s_2_676[6] = { 'a', 0xC4, 0x8D, 'i', 't', 'e' };
-static const symbol s_2_677[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 't', 'e' };
-static const symbol s_2_678[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 't', 'e' };
-static const symbol s_2_679[4] = { 'a', 'j', 't', 'e' };
-static const symbol s_2_680[6] = { 'u', 'r', 'a', 'j', 't', 'e' };
-static const symbol s_2_681[5] = { 't', 'a', 'j', 't', 'e' };
-static const symbol s_2_682[7] = { 'a', 's', 't', 'a', 'j', 't', 'e' };
-static const symbol s_2_683[7] = { 'i', 's', 't', 'a', 'j', 't', 'e' };
-static const symbol s_2_684[7] = { 'o', 's', 't', 'a', 'j', 't', 'e' };
-static const symbol s_2_685[6] = { 'a', 'v', 'a', 'j', 't', 'e' };
-static const symbol s_2_686[6] = { 'e', 'v', 'a', 'j', 't', 'e' };
-static const symbol s_2_687[6] = { 'i', 'v', 'a', 'j', 't', 'e' };
-static const symbol s_2_688[6] = { 'u', 'v', 'a', 'j', 't', 'e' };
-static const symbol s_2_689[4] = { 'i', 'j', 't', 'e' };
-static const symbol s_2_690[7] = { 'l', 'u', 'c', 'u', 'j', 't', 'e' };
-static const symbol s_2_691[6] = { 'i', 'r', 'u', 'j', 't', 'e' };
-static const symbol s_2_692[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 't', 'e' };
-static const symbol s_2_693[4] = { 'a', 's', 't', 'e' };
-static const symbol s_2_694[6] = { 'a', 'c', 'a', 's', 't', 'e' };
-static const symbol s_2_695[9] = { 'a', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
-static const symbol s_2_696[9] = { 'i', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
-static const symbol s_2_697[9] = { 'o', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
-static const symbol s_2_698[7] = { 'i', 'n', 'j', 'a', 's', 't', 'e' };
-static const symbol s_2_699[6] = { 'i', 'r', 'a', 's', 't', 'e' };
-static const symbol s_2_700[6] = { 'u', 'r', 'a', 's', 't', 'e' };
-static const symbol s_2_701[5] = { 't', 'a', 's', 't', 'e' };
-static const symbol s_2_702[6] = { 'a', 'v', 'a', 's', 't', 'e' };
-static const symbol s_2_703[6] = { 'e', 'v', 'a', 's', 't', 'e' };
-static const symbol s_2_704[6] = { 'i', 'v', 'a', 's', 't', 'e' };
-static const symbol s_2_705[6] = { 'o', 'v', 'a', 's', 't', 'e' };
-static const symbol s_2_706[6] = { 'u', 'v', 'a', 's', 't', 'e' };
-static const symbol s_2_707[7] = { 'a', 0xC4, 0x8D, 'a', 's', 't', 'e' };
-static const symbol s_2_708[4] = { 'e', 's', 't', 'e' };
-static const symbol s_2_709[4] = { 'i', 's', 't', 'e' };
-static const symbol s_2_710[6] = { 'a', 'c', 'i', 's', 't', 'e' };
-static const symbol s_2_711[7] = { 'l', 'u', 'c', 'i', 's', 't', 'e' };
-static const symbol s_2_712[5] = { 'n', 'i', 's', 't', 'e' };
-static const symbol s_2_713[7] = { 'r', 'o', 's', 'i', 's', 't', 'e' };
-static const symbol s_2_714[7] = { 'j', 'e', 't', 'i', 's', 't', 'e' };
-static const symbol s_2_715[7] = { 'a', 0xC4, 0x8D, 'i', 's', 't', 'e' };
-static const symbol s_2_716[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 's', 't', 'e' };
-static const symbol s_2_717[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 's', 't', 'e' };
-static const symbol s_2_718[4] = { 'k', 's', 't', 'e' };
-static const symbol s_2_719[4] = { 'o', 's', 't', 'e' };
-static const symbol s_2_720[9] = { 'a', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
-static const symbol s_2_721[9] = { 'i', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
-static const symbol s_2_722[9] = { 'o', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
-static const symbol s_2_723[5] = { 'n', 'u', 's', 't', 'e' };
-static const symbol s_2_724[5] = { 'i', 0xC5, 0xA1, 't', 'e' };
-static const symbol s_2_725[3] = { 'a', 'v', 'e' };
-static const symbol s_2_726[3] = { 'e', 'v', 'e' };
-static const symbol s_2_727[5] = { 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_728[6] = { 'c', 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_729[6] = { 'l', 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_730[6] = { 'r', 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_731[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_732[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_733[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'e' };
-static const symbol s_2_734[3] = { 'i', 'v', 'e' };
-static const symbol s_2_735[3] = { 'o', 'v', 'e' };
-static const symbol s_2_736[4] = { 'g', 'o', 'v', 'e' };
-static const symbol s_2_737[5] = { 'u', 'g', 'o', 'v', 'e' };
-static const symbol s_2_738[4] = { 'l', 'o', 'v', 'e' };
-static const symbol s_2_739[5] = { 'o', 'l', 'o', 'v', 'e' };
-static const symbol s_2_740[4] = { 'm', 'o', 'v', 'e' };
-static const symbol s_2_741[5] = { 'o', 'n', 'o', 'v', 'e' };
-static const symbol s_2_742[4] = { 'a', 0xC4, 0x87, 'e' };
-static const symbol s_2_743[4] = { 'e', 0xC4, 0x87, 'e' };
-static const symbol s_2_744[4] = { 'u', 0xC4, 0x87, 'e' };
-static const symbol s_2_745[4] = { 'a', 0xC4, 0x8D, 'e' };
-static const symbol s_2_746[5] = { 'l', 'u', 0xC4, 0x8D, 'e' };
-static const symbol s_2_747[4] = { 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_748[5] = { 'b', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_749[5] = { 'g', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_750[5] = { 'j', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_751[9] = { 'a', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_752[9] = { 'i', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_753[9] = { 'o', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_754[7] = { 'i', 'n', 'j', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_755[5] = { 'k', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_756[5] = { 'n', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_757[6] = { 'i', 'r', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_758[6] = { 'u', 'r', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_759[5] = { 't', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_760[5] = { 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_761[6] = { 'a', 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_762[6] = { 'e', 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_763[6] = { 'i', 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_764[6] = { 'o', 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_765[6] = { 'u', 'v', 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_766[7] = { 'a', 0xC4, 0x8D, 'a', 0xC5, 0xA1, 'e' };
-static const symbol s_2_767[4] = { 'e', 0xC5, 0xA1, 'e' };
-static const symbol s_2_768[4] = { 'i', 0xC5, 0xA1, 'e' };
-static const symbol s_2_769[7] = { 'j', 'e', 't', 'i', 0xC5, 0xA1, 'e' };
-static const symbol s_2_770[7] = { 'a', 0xC4, 0x8D, 'i', 0xC5, 0xA1, 'e' };
-static const symbol s_2_771[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 0xC5, 0xA1, 'e' };
-static const symbol s_2_772[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 0xC5, 0xA1, 'e' };
-static const symbol s_2_773[4] = { 'o', 0xC5, 0xA1, 'e' };
-static const symbol s_2_774[9] = { 'a', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
-static const symbol s_2_775[9] = { 'i', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
-static const symbol s_2_776[9] = { 'o', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
-static const symbol s_2_777[4] = { 'a', 'c', 'e', 'g' };
-static const symbol s_2_778[4] = { 'e', 'c', 'e', 'g' };
-static const symbol s_2_779[4] = { 'u', 'c', 'e', 'g' };
-static const symbol s_2_780[7] = { 'a', 'n', 'j', 'i', 'j', 'e', 'g' };
-static const symbol s_2_781[7] = { 'e', 'n', 'j', 'i', 'j', 'e', 'g' };
-static const symbol s_2_782[7] = { 's', 'n', 'j', 'i', 'j', 'e', 'g' };
-static const symbol s_2_783[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'g' };
-static const symbol s_2_784[5] = { 'k', 'i', 'j', 'e', 'g' };
-static const symbol s_2_785[6] = { 's', 'k', 'i', 'j', 'e', 'g' };
-static const symbol s_2_786[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'g' };
-static const symbol s_2_787[6] = { 'e', 'l', 'i', 'j', 'e', 'g' };
-static const symbol s_2_788[5] = { 'n', 'i', 'j', 'e', 'g' };
-static const symbol s_2_789[6] = { 'o', 's', 'i', 'j', 'e', 'g' };
-static const symbol s_2_790[6] = { 'a', 't', 'i', 'j', 'e', 'g' };
-static const symbol s_2_791[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'g' };
-static const symbol s_2_792[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'g' };
-static const symbol s_2_793[7] = { 'a', 's', 't', 'i', 'j', 'e', 'g' };
-static const symbol s_2_794[6] = { 'a', 'v', 'i', 'j', 'e', 'g' };
-static const symbol s_2_795[6] = { 'e', 'v', 'i', 'j', 'e', 'g' };
-static const symbol s_2_796[6] = { 'i', 'v', 'i', 'j', 'e', 'g' };
-static const symbol s_2_797[6] = { 'o', 'v', 'i', 'j', 'e', 'g' };
-static const symbol s_2_798[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'g' };
-static const symbol s_2_799[5] = { 'a', 'n', 'j', 'e', 'g' };
-static const symbol s_2_800[5] = { 'e', 'n', 'j', 'e', 'g' };
-static const symbol s_2_801[5] = { 's', 'n', 'j', 'e', 'g' };
-static const symbol s_2_802[6] = { 0xC5, 0xA1, 'n', 'j', 'e', 'g' };
-static const symbol s_2_803[3] = { 'k', 'e', 'g' };
-static const symbol s_2_804[4] = { 'e', 'l', 'e', 'g' };
-static const symbol s_2_805[3] = { 'n', 'e', 'g' };
-static const symbol s_2_806[4] = { 'a', 'n', 'e', 'g' };
-static const symbol s_2_807[4] = { 'e', 'n', 'e', 'g' };
-static const symbol s_2_808[4] = { 's', 'n', 'e', 'g' };
-static const symbol s_2_809[5] = { 0xC5, 0xA1, 'n', 'e', 'g' };
-static const symbol s_2_810[4] = { 'o', 's', 'e', 'g' };
-static const symbol s_2_811[4] = { 'a', 't', 'e', 'g' };
-static const symbol s_2_812[4] = { 'a', 'v', 'e', 'g' };
-static const symbol s_2_813[4] = { 'e', 'v', 'e', 'g' };
-static const symbol s_2_814[4] = { 'i', 'v', 'e', 'g' };
-static const symbol s_2_815[4] = { 'o', 'v', 'e', 'g' };
-static const symbol s_2_816[5] = { 'a', 0xC4, 0x87, 'e', 'g' };
-static const symbol s_2_817[5] = { 'e', 0xC4, 0x87, 'e', 'g' };
-static const symbol s_2_818[5] = { 'u', 0xC4, 0x87, 'e', 'g' };
-static const symbol s_2_819[5] = { 'o', 0xC5, 0xA1, 'e', 'g' };
-static const symbol s_2_820[4] = { 'a', 'c', 'o', 'g' };
-static const symbol s_2_821[4] = { 'e', 'c', 'o', 'g' };
-static const symbol s_2_822[4] = { 'u', 'c', 'o', 'g' };
-static const symbol s_2_823[5] = { 'a', 'n', 'j', 'o', 'g' };
-static const symbol s_2_824[5] = { 'e', 'n', 'j', 'o', 'g' };
-static const symbol s_2_825[5] = { 's', 'n', 'j', 'o', 'g' };
-static const symbol s_2_826[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'g' };
-static const symbol s_2_827[3] = { 'k', 'o', 'g' };
-static const symbol s_2_828[4] = { 's', 'k', 'o', 'g' };
-static const symbol s_2_829[5] = { 0xC5, 0xA1, 'k', 'o', 'g' };
-static const symbol s_2_830[4] = { 'e', 'l', 'o', 'g' };
-static const symbol s_2_831[3] = { 'n', 'o', 'g' };
-static const symbol s_2_832[5] = { 'c', 'i', 'n', 'o', 'g' };
-static const symbol s_2_833[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'g' };
-static const symbol s_2_834[4] = { 'o', 's', 'o', 'g' };
-static const symbol s_2_835[4] = { 'a', 't', 'o', 'g' };
-static const symbol s_2_836[6] = { 'e', 'v', 'i', 't', 'o', 'g' };
-static const symbol s_2_837[6] = { 'o', 'v', 'i', 't', 'o', 'g' };
-static const symbol s_2_838[5] = { 'a', 's', 't', 'o', 'g' };
-static const symbol s_2_839[4] = { 'a', 'v', 'o', 'g' };
-static const symbol s_2_840[4] = { 'e', 'v', 'o', 'g' };
-static const symbol s_2_841[4] = { 'i', 'v', 'o', 'g' };
-static const symbol s_2_842[4] = { 'o', 'v', 'o', 'g' };
-static const symbol s_2_843[5] = { 'a', 0xC4, 0x87, 'o', 'g' };
-static const symbol s_2_844[5] = { 'e', 0xC4, 0x87, 'o', 'g' };
-static const symbol s_2_845[5] = { 'u', 0xC4, 0x87, 'o', 'g' };
-static const symbol s_2_846[5] = { 'o', 0xC5, 0xA1, 'o', 'g' };
-static const symbol s_2_847[2] = { 'a', 'h' };
-static const symbol s_2_848[4] = { 'a', 'c', 'a', 'h' };
-static const symbol s_2_849[7] = { 'a', 's', 't', 'a', 'j', 'a', 'h' };
-static const symbol s_2_850[7] = { 'i', 's', 't', 'a', 'j', 'a', 'h' };
-static const symbol s_2_851[7] = { 'o', 's', 't', 'a', 'j', 'a', 'h' };
-static const symbol s_2_852[5] = { 'i', 'n', 'j', 'a', 'h' };
-static const symbol s_2_853[4] = { 'i', 'r', 'a', 'h' };
-static const symbol s_2_854[4] = { 'u', 'r', 'a', 'h' };
-static const symbol s_2_855[3] = { 't', 'a', 'h' };
-static const symbol s_2_856[4] = { 'a', 'v', 'a', 'h' };
-static const symbol s_2_857[4] = { 'e', 'v', 'a', 'h' };
-static const symbol s_2_858[4] = { 'i', 'v', 'a', 'h' };
-static const symbol s_2_859[4] = { 'o', 'v', 'a', 'h' };
-static const symbol s_2_860[4] = { 'u', 'v', 'a', 'h' };
-static const symbol s_2_861[5] = { 'a', 0xC4, 0x8D, 'a', 'h' };
-static const symbol s_2_862[2] = { 'i', 'h' };
-static const symbol s_2_863[4] = { 'a', 'c', 'i', 'h' };
-static const symbol s_2_864[4] = { 'e', 'c', 'i', 'h' };
-static const symbol s_2_865[4] = { 'u', 'c', 'i', 'h' };
-static const symbol s_2_866[5] = { 'l', 'u', 'c', 'i', 'h' };
-static const symbol s_2_867[7] = { 'a', 'n', 'j', 'i', 'j', 'i', 'h' };
-static const symbol s_2_868[7] = { 'e', 'n', 'j', 'i', 'j', 'i', 'h' };
-static const symbol s_2_869[7] = { 's', 'n', 'j', 'i', 'j', 'i', 'h' };
-static const symbol s_2_870[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'h' };
-static const symbol s_2_871[5] = { 'k', 'i', 'j', 'i', 'h' };
-static const symbol s_2_872[6] = { 's', 'k', 'i', 'j', 'i', 'h' };
-static const symbol s_2_873[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'h' };
-static const symbol s_2_874[6] = { 'e', 'l', 'i', 'j', 'i', 'h' };
-static const symbol s_2_875[5] = { 'n', 'i', 'j', 'i', 'h' };
-static const symbol s_2_876[6] = { 'o', 's', 'i', 'j', 'i', 'h' };
-static const symbol s_2_877[6] = { 'a', 't', 'i', 'j', 'i', 'h' };
-static const symbol s_2_878[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'h' };
-static const symbol s_2_879[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'h' };
-static const symbol s_2_880[7] = { 'a', 's', 't', 'i', 'j', 'i', 'h' };
-static const symbol s_2_881[6] = { 'a', 'v', 'i', 'j', 'i', 'h' };
-static const symbol s_2_882[6] = { 'e', 'v', 'i', 'j', 'i', 'h' };
-static const symbol s_2_883[6] = { 'i', 'v', 'i', 'j', 'i', 'h' };
-static const symbol s_2_884[6] = { 'o', 'v', 'i', 'j', 'i', 'h' };
-static const symbol s_2_885[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'h' };
-static const symbol s_2_886[5] = { 'a', 'n', 'j', 'i', 'h' };
-static const symbol s_2_887[5] = { 'e', 'n', 'j', 'i', 'h' };
-static const symbol s_2_888[5] = { 's', 'n', 'j', 'i', 'h' };
-static const symbol s_2_889[6] = { 0xC5, 0xA1, 'n', 'j', 'i', 'h' };
-static const symbol s_2_890[3] = { 'k', 'i', 'h' };
-static const symbol s_2_891[4] = { 's', 'k', 'i', 'h' };
-static const symbol s_2_892[5] = { 0xC5, 0xA1, 'k', 'i', 'h' };
-static const symbol s_2_893[4] = { 'e', 'l', 'i', 'h' };
-static const symbol s_2_894[3] = { 'n', 'i', 'h' };
-static const symbol s_2_895[5] = { 'c', 'i', 'n', 'i', 'h' };
-static const symbol s_2_896[6] = { 0xC4, 0x8D, 'i', 'n', 'i', 'h' };
-static const symbol s_2_897[4] = { 'o', 's', 'i', 'h' };
-static const symbol s_2_898[5] = { 'r', 'o', 's', 'i', 'h' };
-static const symbol s_2_899[4] = { 'a', 't', 'i', 'h' };
-static const symbol s_2_900[5] = { 'j', 'e', 't', 'i', 'h' };
-static const symbol s_2_901[6] = { 'e', 'v', 'i', 't', 'i', 'h' };
-static const symbol s_2_902[6] = { 'o', 'v', 'i', 't', 'i', 'h' };
-static const symbol s_2_903[5] = { 'a', 's', 't', 'i', 'h' };
-static const symbol s_2_904[4] = { 'a', 'v', 'i', 'h' };
-static const symbol s_2_905[4] = { 'e', 'v', 'i', 'h' };
-static const symbol s_2_906[4] = { 'i', 'v', 'i', 'h' };
-static const symbol s_2_907[4] = { 'o', 'v', 'i', 'h' };
-static const symbol s_2_908[5] = { 'a', 0xC4, 0x87, 'i', 'h' };
-static const symbol s_2_909[5] = { 'e', 0xC4, 0x87, 'i', 'h' };
-static const symbol s_2_910[5] = { 'u', 0xC4, 0x87, 'i', 'h' };
-static const symbol s_2_911[5] = { 'a', 0xC4, 0x8D, 'i', 'h' };
-static const symbol s_2_912[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'h' };
-static const symbol s_2_913[5] = { 'o', 0xC5, 0xA1, 'i', 'h' };
-static const symbol s_2_914[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'h' };
-static const symbol s_2_915[7] = { 'a', 's', 't', 'a', 'd', 'o', 'h' };
-static const symbol s_2_916[7] = { 'i', 's', 't', 'a', 'd', 'o', 'h' };
-static const symbol s_2_917[7] = { 'o', 's', 't', 'a', 'd', 'o', 'h' };
-static const symbol s_2_918[4] = { 'a', 'c', 'u', 'h' };
-static const symbol s_2_919[4] = { 'e', 'c', 'u', 'h' };
-static const symbol s_2_920[4] = { 'u', 'c', 'u', 'h' };
-static const symbol s_2_921[5] = { 'a', 0xC4, 0x87, 'u', 'h' };
-static const symbol s_2_922[5] = { 'e', 0xC4, 0x87, 'u', 'h' };
-static const symbol s_2_923[5] = { 'u', 0xC4, 0x87, 'u', 'h' };
-static const symbol s_2_924[3] = { 'a', 'c', 'i' };
-static const symbol s_2_925[5] = { 'a', 'c', 'e', 'c', 'i' };
-static const symbol s_2_926[4] = { 'i', 'e', 'c', 'i' };
-static const symbol s_2_927[5] = { 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_928[7] = { 'i', 'r', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_929[7] = { 'u', 'r', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_930[8] = { 'a', 's', 't', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_931[8] = { 'i', 's', 't', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_932[8] = { 'o', 's', 't', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_933[7] = { 'a', 'v', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_934[7] = { 'e', 'v', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_935[7] = { 'i', 'v', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_936[7] = { 'u', 'v', 'a', 'j', 'u', 'c', 'i' };
-static const symbol s_2_937[5] = { 'u', 'j', 'u', 'c', 'i' };
-static const symbol s_2_938[8] = { 'l', 'u', 'c', 'u', 'j', 'u', 'c', 'i' };
-static const symbol s_2_939[7] = { 'i', 'r', 'u', 'j', 'u', 'c', 'i' };
-static const symbol s_2_940[4] = { 'l', 'u', 'c', 'i' };
-static const symbol s_2_941[4] = { 'n', 'u', 'c', 'i' };
-static const symbol s_2_942[5] = { 'e', 't', 'u', 'c', 'i' };
-static const symbol s_2_943[6] = { 'a', 's', 't', 'u', 'c', 'i' };
-static const symbol s_2_944[2] = { 'g', 'i' };
-static const symbol s_2_945[3] = { 'u', 'g', 'i' };
-static const symbol s_2_946[3] = { 'a', 'j', 'i' };
-static const symbol s_2_947[4] = { 'c', 'a', 'j', 'i' };
-static const symbol s_2_948[4] = { 'l', 'a', 'j', 'i' };
-static const symbol s_2_949[4] = { 'r', 'a', 'j', 'i' };
-static const symbol s_2_950[5] = { 0xC4, 0x87, 'a', 'j', 'i' };
-static const symbol s_2_951[5] = { 0xC4, 0x8D, 'a', 'j', 'i' };
-static const symbol s_2_952[5] = { 0xC4, 0x91, 'a', 'j', 'i' };
-static const symbol s_2_953[4] = { 'b', 'i', 'j', 'i' };
-static const symbol s_2_954[4] = { 'c', 'i', 'j', 'i' };
-static const symbol s_2_955[4] = { 'd', 'i', 'j', 'i' };
-static const symbol s_2_956[4] = { 'f', 'i', 'j', 'i' };
-static const symbol s_2_957[4] = { 'g', 'i', 'j', 'i' };
-static const symbol s_2_958[6] = { 'a', 'n', 'j', 'i', 'j', 'i' };
-static const symbol s_2_959[6] = { 'e', 'n', 'j', 'i', 'j', 'i' };
-static const symbol s_2_960[6] = { 's', 'n', 'j', 'i', 'j', 'i' };
-static const symbol s_2_961[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i' };
-static const symbol s_2_962[4] = { 'k', 'i', 'j', 'i' };
-static const symbol s_2_963[5] = { 's', 'k', 'i', 'j', 'i' };
-static const symbol s_2_964[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i' };
-static const symbol s_2_965[4] = { 'l', 'i', 'j', 'i' };
-static const symbol s_2_966[5] = { 'e', 'l', 'i', 'j', 'i' };
-static const symbol s_2_967[4] = { 'm', 'i', 'j', 'i' };
-static const symbol s_2_968[4] = { 'n', 'i', 'j', 'i' };
-static const symbol s_2_969[6] = { 'g', 'a', 'n', 'i', 'j', 'i' };
-static const symbol s_2_970[6] = { 'm', 'a', 'n', 'i', 'j', 'i' };
-static const symbol s_2_971[6] = { 'p', 'a', 'n', 'i', 'j', 'i' };
-static const symbol s_2_972[6] = { 'r', 'a', 'n', 'i', 'j', 'i' };
-static const symbol s_2_973[6] = { 't', 'a', 'n', 'i', 'j', 'i' };
-static const symbol s_2_974[4] = { 'p', 'i', 'j', 'i' };
-static const symbol s_2_975[4] = { 'r', 'i', 'j', 'i' };
-static const symbol s_2_976[4] = { 's', 'i', 'j', 'i' };
-static const symbol s_2_977[5] = { 'o', 's', 'i', 'j', 'i' };
-static const symbol s_2_978[4] = { 't', 'i', 'j', 'i' };
-static const symbol s_2_979[5] = { 'a', 't', 'i', 'j', 'i' };
-static const symbol s_2_980[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'i' };
-static const symbol s_2_981[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'i' };
-static const symbol s_2_982[6] = { 'a', 's', 't', 'i', 'j', 'i' };
-static const symbol s_2_983[5] = { 'a', 'v', 'i', 'j', 'i' };
-static const symbol s_2_984[5] = { 'e', 'v', 'i', 'j', 'i' };
-static const symbol s_2_985[5] = { 'i', 'v', 'i', 'j', 'i' };
-static const symbol s_2_986[5] = { 'o', 'v', 'i', 'j', 'i' };
-static const symbol s_2_987[4] = { 'z', 'i', 'j', 'i' };
-static const symbol s_2_988[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i' };
-static const symbol s_2_989[5] = { 0xC5, 0xBE, 'i', 'j', 'i' };
-static const symbol s_2_990[4] = { 'a', 'n', 'j', 'i' };
-static const symbol s_2_991[4] = { 'e', 'n', 'j', 'i' };
-static const symbol s_2_992[4] = { 's', 'n', 'j', 'i' };
-static const symbol s_2_993[5] = { 0xC5, 0xA1, 'n', 'j', 'i' };
-static const symbol s_2_994[2] = { 'k', 'i' };
-static const symbol s_2_995[3] = { 's', 'k', 'i' };
-static const symbol s_2_996[4] = { 0xC5, 0xA1, 'k', 'i' };
-static const symbol s_2_997[3] = { 'a', 'l', 'i' };
-static const symbol s_2_998[5] = { 'a', 'c', 'a', 'l', 'i' };
-static const symbol s_2_999[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'i' };
-static const symbol s_2_1000[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'i' };
-static const symbol s_2_1001[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'i' };
-static const symbol s_2_1002[5] = { 'i', 'j', 'a', 'l', 'i' };
-static const symbol s_2_1003[6] = { 'i', 'n', 'j', 'a', 'l', 'i' };
-static const symbol s_2_1004[4] = { 'n', 'a', 'l', 'i' };
-static const symbol s_2_1005[5] = { 'i', 'r', 'a', 'l', 'i' };
-static const symbol s_2_1006[5] = { 'u', 'r', 'a', 'l', 'i' };
-static const symbol s_2_1007[4] = { 't', 'a', 'l', 'i' };
-static const symbol s_2_1008[6] = { 'a', 's', 't', 'a', 'l', 'i' };
-static const symbol s_2_1009[6] = { 'i', 's', 't', 'a', 'l', 'i' };
-static const symbol s_2_1010[6] = { 'o', 's', 't', 'a', 'l', 'i' };
-static const symbol s_2_1011[5] = { 'a', 'v', 'a', 'l', 'i' };
-static const symbol s_2_1012[5] = { 'e', 'v', 'a', 'l', 'i' };
-static const symbol s_2_1013[5] = { 'i', 'v', 'a', 'l', 'i' };
-static const symbol s_2_1014[5] = { 'o', 'v', 'a', 'l', 'i' };
-static const symbol s_2_1015[5] = { 'u', 'v', 'a', 'l', 'i' };
-static const symbol s_2_1016[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'i' };
-static const symbol s_2_1017[3] = { 'e', 'l', 'i' };
-static const symbol s_2_1018[3] = { 'i', 'l', 'i' };
-static const symbol s_2_1019[5] = { 'a', 'c', 'i', 'l', 'i' };
-static const symbol s_2_1020[6] = { 'l', 'u', 'c', 'i', 'l', 'i' };
-static const symbol s_2_1021[4] = { 'n', 'i', 'l', 'i' };
-static const symbol s_2_1022[6] = { 'r', 'o', 's', 'i', 'l', 'i' };
-static const symbol s_2_1023[6] = { 'j', 'e', 't', 'i', 'l', 'i' };
-static const symbol s_2_1024[5] = { 'o', 'z', 'i', 'l', 'i' };
-static const symbol s_2_1025[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'i' };
-static const symbol s_2_1026[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'i' };
-static const symbol s_2_1027[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'i' };
-static const symbol s_2_1028[3] = { 'o', 'l', 'i' };
-static const symbol s_2_1029[4] = { 'a', 's', 'l', 'i' };
-static const symbol s_2_1030[4] = { 'n', 'u', 'l', 'i' };
-static const symbol s_2_1031[4] = { 'r', 'a', 'm', 'i' };
-static const symbol s_2_1032[4] = { 'l', 'e', 'm', 'i' };
-static const symbol s_2_1033[2] = { 'n', 'i' };
-static const symbol s_2_1034[3] = { 'a', 'n', 'i' };
-static const symbol s_2_1035[5] = { 'a', 'c', 'a', 'n', 'i' };
-static const symbol s_2_1036[5] = { 'u', 'r', 'a', 'n', 'i' };
-static const symbol s_2_1037[4] = { 't', 'a', 'n', 'i' };
-static const symbol s_2_1038[5] = { 'a', 'v', 'a', 'n', 'i' };
-static const symbol s_2_1039[5] = { 'e', 'v', 'a', 'n', 'i' };
-static const symbol s_2_1040[5] = { 'i', 'v', 'a', 'n', 'i' };
-static const symbol s_2_1041[5] = { 'u', 'v', 'a', 'n', 'i' };
-static const symbol s_2_1042[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'i' };
-static const symbol s_2_1043[5] = { 'a', 'c', 'e', 'n', 'i' };
-static const symbol s_2_1044[6] = { 'l', 'u', 'c', 'e', 'n', 'i' };
-static const symbol s_2_1045[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'i' };
-static const symbol s_2_1046[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'i' };
-static const symbol s_2_1047[3] = { 'i', 'n', 'i' };
-static const symbol s_2_1048[4] = { 'c', 'i', 'n', 'i' };
-static const symbol s_2_1049[5] = { 0xC4, 0x8D, 'i', 'n', 'i' };
-static const symbol s_2_1050[3] = { 'o', 'n', 'i' };
-static const symbol s_2_1051[3] = { 'a', 'r', 'i' };
-static const symbol s_2_1052[3] = { 'd', 'r', 'i' };
-static const symbol s_2_1053[3] = { 'e', 'r', 'i' };
-static const symbol s_2_1054[3] = { 'o', 'r', 'i' };
-static const symbol s_2_1055[4] = { 'b', 'a', 's', 'i' };
-static const symbol s_2_1056[4] = { 'g', 'a', 's', 'i' };
-static const symbol s_2_1057[4] = { 'j', 'a', 's', 'i' };
-static const symbol s_2_1058[4] = { 'k', 'a', 's', 'i' };
-static const symbol s_2_1059[4] = { 'n', 'a', 's', 'i' };
-static const symbol s_2_1060[4] = { 't', 'a', 's', 'i' };
-static const symbol s_2_1061[4] = { 'v', 'a', 's', 'i' };
-static const symbol s_2_1062[3] = { 'e', 's', 'i' };
-static const symbol s_2_1063[3] = { 'i', 's', 'i' };
-static const symbol s_2_1064[3] = { 'o', 's', 'i' };
-static const symbol s_2_1065[4] = { 'a', 'v', 's', 'i' };
-static const symbol s_2_1066[6] = { 'a', 'c', 'a', 'v', 's', 'i' };
-static const symbol s_2_1067[6] = { 'i', 'r', 'a', 'v', 's', 'i' };
-static const symbol s_2_1068[5] = { 't', 'a', 'v', 's', 'i' };
-static const symbol s_2_1069[6] = { 'e', 't', 'a', 'v', 's', 'i' };
-static const symbol s_2_1070[7] = { 'a', 's', 't', 'a', 'v', 's', 'i' };
-static const symbol s_2_1071[7] = { 'i', 's', 't', 'a', 'v', 's', 'i' };
-static const symbol s_2_1072[7] = { 'o', 's', 't', 'a', 'v', 's', 'i' };
-static const symbol s_2_1073[4] = { 'i', 'v', 's', 'i' };
-static const symbol s_2_1074[5] = { 'n', 'i', 'v', 's', 'i' };
-static const symbol s_2_1075[7] = { 'r', 'o', 's', 'i', 'v', 's', 'i' };
-static const symbol s_2_1076[5] = { 'n', 'u', 'v', 's', 'i' };
-static const symbol s_2_1077[3] = { 'a', 't', 'i' };
-static const symbol s_2_1078[5] = { 'a', 'c', 'a', 't', 'i' };
-static const symbol s_2_1079[8] = { 'a', 's', 't', 'a', 'j', 'a', 't', 'i' };
-static const symbol s_2_1080[8] = { 'i', 's', 't', 'a', 'j', 'a', 't', 'i' };
-static const symbol s_2_1081[8] = { 'o', 's', 't', 'a', 'j', 'a', 't', 'i' };
-static const symbol s_2_1082[6] = { 'i', 'n', 'j', 'a', 't', 'i' };
-static const symbol s_2_1083[5] = { 'i', 'k', 'a', 't', 'i' };
-static const symbol s_2_1084[4] = { 'l', 'a', 't', 'i' };
-static const symbol s_2_1085[5] = { 'i', 'r', 'a', 't', 'i' };
-static const symbol s_2_1086[5] = { 'u', 'r', 'a', 't', 'i' };
-static const symbol s_2_1087[4] = { 't', 'a', 't', 'i' };
-static const symbol s_2_1088[6] = { 'a', 's', 't', 'a', 't', 'i' };
-static const symbol s_2_1089[6] = { 'i', 's', 't', 'a', 't', 'i' };
-static const symbol s_2_1090[6] = { 'o', 's', 't', 'a', 't', 'i' };
-static const symbol s_2_1091[5] = { 'a', 'v', 'a', 't', 'i' };
-static const symbol s_2_1092[5] = { 'e', 'v', 'a', 't', 'i' };
-static const symbol s_2_1093[5] = { 'i', 'v', 'a', 't', 'i' };
-static const symbol s_2_1094[5] = { 'o', 'v', 'a', 't', 'i' };
-static const symbol s_2_1095[5] = { 'u', 'v', 'a', 't', 'i' };
-static const symbol s_2_1096[6] = { 'a', 0xC4, 0x8D, 'a', 't', 'i' };
-static const symbol s_2_1097[3] = { 'e', 't', 'i' };
-static const symbol s_2_1098[3] = { 'i', 't', 'i' };
-static const symbol s_2_1099[5] = { 'a', 'c', 'i', 't', 'i' };
-static const symbol s_2_1100[6] = { 'l', 'u', 'c', 'i', 't', 'i' };
-static const symbol s_2_1101[4] = { 'n', 'i', 't', 'i' };
-static const symbol s_2_1102[6] = { 'r', 'o', 's', 'i', 't', 'i' };
-static const symbol s_2_1103[6] = { 'j', 'e', 't', 'i', 't', 'i' };
-static const symbol s_2_1104[5] = { 'e', 'v', 'i', 't', 'i' };
-static const symbol s_2_1105[5] = { 'o', 'v', 'i', 't', 'i' };
-static const symbol s_2_1106[6] = { 'a', 0xC4, 0x8D, 'i', 't', 'i' };
-static const symbol s_2_1107[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 't', 'i' };
-static const symbol s_2_1108[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 't', 'i' };
-static const symbol s_2_1109[4] = { 'a', 's', 't', 'i' };
-static const symbol s_2_1110[4] = { 'e', 's', 't', 'i' };
-static const symbol s_2_1111[4] = { 'i', 's', 't', 'i' };
-static const symbol s_2_1112[4] = { 'k', 's', 't', 'i' };
-static const symbol s_2_1113[4] = { 'o', 's', 't', 'i' };
-static const symbol s_2_1114[4] = { 'n', 'u', 't', 'i' };
-static const symbol s_2_1115[3] = { 'a', 'v', 'i' };
-static const symbol s_2_1116[3] = { 'e', 'v', 'i' };
-static const symbol s_2_1117[5] = { 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1118[6] = { 'c', 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1119[6] = { 'l', 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1120[6] = { 'r', 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1121[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1122[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1123[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'i' };
-static const symbol s_2_1124[3] = { 'i', 'v', 'i' };
-static const symbol s_2_1125[3] = { 'o', 'v', 'i' };
-static const symbol s_2_1126[4] = { 'g', 'o', 'v', 'i' };
-static const symbol s_2_1127[5] = { 'u', 'g', 'o', 'v', 'i' };
-static const symbol s_2_1128[4] = { 'l', 'o', 'v', 'i' };
-static const symbol s_2_1129[5] = { 'o', 'l', 'o', 'v', 'i' };
-static const symbol s_2_1130[4] = { 'm', 'o', 'v', 'i' };
-static const symbol s_2_1131[5] = { 'o', 'n', 'o', 'v', 'i' };
-static const symbol s_2_1132[5] = { 'i', 'e', 0xC4, 0x87, 'i' };
-static const symbol s_2_1133[7] = { 'a', 0xC4, 0x8D, 'e', 0xC4, 0x87, 'i' };
-static const symbol s_2_1134[6] = { 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1135[8] = { 'i', 'r', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1136[8] = { 'u', 'r', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1137[9] = { 'a', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1138[9] = { 'i', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1139[9] = { 'o', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1140[8] = { 'a', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1141[8] = { 'e', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1142[8] = { 'i', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1143[8] = { 'u', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1144[6] = { 'u', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1145[8] = { 'i', 'r', 'u', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1146[10] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1147[5] = { 'n', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1148[6] = { 'e', 't', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1149[7] = { 'a', 's', 't', 'u', 0xC4, 0x87, 'i' };
-static const symbol s_2_1150[4] = { 'a', 0xC4, 0x8D, 'i' };
-static const symbol s_2_1151[5] = { 'l', 'u', 0xC4, 0x8D, 'i' };
-static const symbol s_2_1152[5] = { 'b', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1153[5] = { 'g', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1154[5] = { 'j', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1155[5] = { 'k', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1156[5] = { 'n', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1157[5] = { 't', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1158[5] = { 'v', 'a', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1159[4] = { 'e', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1160[4] = { 'i', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1161[4] = { 'o', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1162[5] = { 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1163[7] = { 'i', 'r', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1164[6] = { 't', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1165[7] = { 'e', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1166[8] = { 'a', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1167[8] = { 'i', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1168[8] = { 'o', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1169[8] = { 'a', 0xC4, 0x8D, 'a', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1170[5] = { 'i', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1171[6] = { 'n', 'i', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1172[9] = { 'r', 'o', 0xC5, 0xA1, 'i', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1173[6] = { 'n', 'u', 'v', 0xC5, 0xA1, 'i' };
-static const symbol s_2_1174[2] = { 'a', 'j' };
-static const symbol s_2_1175[4] = { 'u', 'r', 'a', 'j' };
-static const symbol s_2_1176[3] = { 't', 'a', 'j' };
-static const symbol s_2_1177[4] = { 'a', 'v', 'a', 'j' };
-static const symbol s_2_1178[4] = { 'e', 'v', 'a', 'j' };
-static const symbol s_2_1179[4] = { 'i', 'v', 'a', 'j' };
-static const symbol s_2_1180[4] = { 'u', 'v', 'a', 'j' };
-static const symbol s_2_1181[2] = { 'i', 'j' };
-static const symbol s_2_1182[4] = { 'a', 'c', 'o', 'j' };
-static const symbol s_2_1183[4] = { 'e', 'c', 'o', 'j' };
-static const symbol s_2_1184[4] = { 'u', 'c', 'o', 'j' };
-static const symbol s_2_1185[7] = { 'a', 'n', 'j', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1186[7] = { 'e', 'n', 'j', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1187[7] = { 's', 'n', 'j', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1188[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1189[5] = { 'k', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1190[6] = { 's', 'k', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1191[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1192[6] = { 'e', 'l', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1193[5] = { 'n', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1194[6] = { 'o', 's', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1195[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1196[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1197[7] = { 'a', 's', 't', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1198[6] = { 'a', 'v', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1199[6] = { 'e', 'v', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1200[6] = { 'i', 'v', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1201[6] = { 'o', 'v', 'i', 'j', 'o', 'j' };
-static const symbol s_2_1202[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'o', 'j' };
-static const symbol s_2_1203[5] = { 'a', 'n', 'j', 'o', 'j' };
-static const symbol s_2_1204[5] = { 'e', 'n', 'j', 'o', 'j' };
-static const symbol s_2_1205[5] = { 's', 'n', 'j', 'o', 'j' };
-static const symbol s_2_1206[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'j' };
-static const symbol s_2_1207[3] = { 'k', 'o', 'j' };
-static const symbol s_2_1208[4] = { 's', 'k', 'o', 'j' };
-static const symbol s_2_1209[5] = { 0xC5, 0xA1, 'k', 'o', 'j' };
-static const symbol s_2_1210[4] = { 'a', 'l', 'o', 'j' };
-static const symbol s_2_1211[4] = { 'e', 'l', 'o', 'j' };
-static const symbol s_2_1212[3] = { 'n', 'o', 'j' };
-static const symbol s_2_1213[5] = { 'c', 'i', 'n', 'o', 'j' };
-static const symbol s_2_1214[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'j' };
-static const symbol s_2_1215[4] = { 'o', 's', 'o', 'j' };
-static const symbol s_2_1216[4] = { 'a', 't', 'o', 'j' };
-static const symbol s_2_1217[6] = { 'e', 'v', 'i', 't', 'o', 'j' };
-static const symbol s_2_1218[6] = { 'o', 'v', 'i', 't', 'o', 'j' };
-static const symbol s_2_1219[5] = { 'a', 's', 't', 'o', 'j' };
-static const symbol s_2_1220[4] = { 'a', 'v', 'o', 'j' };
-static const symbol s_2_1221[4] = { 'e', 'v', 'o', 'j' };
-static const symbol s_2_1222[4] = { 'i', 'v', 'o', 'j' };
-static const symbol s_2_1223[4] = { 'o', 'v', 'o', 'j' };
-static const symbol s_2_1224[5] = { 'a', 0xC4, 0x87, 'o', 'j' };
-static const symbol s_2_1225[5] = { 'e', 0xC4, 0x87, 'o', 'j' };
-static const symbol s_2_1226[5] = { 'u', 0xC4, 0x87, 'o', 'j' };
-static const symbol s_2_1227[5] = { 'o', 0xC5, 0xA1, 'o', 'j' };
-static const symbol s_2_1228[5] = { 'l', 'u', 'c', 'u', 'j' };
-static const symbol s_2_1229[4] = { 'i', 'r', 'u', 'j' };
-static const symbol s_2_1230[6] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j' };
-static const symbol s_2_1231[2] = { 'a', 'l' };
-static const symbol s_2_1232[4] = { 'i', 'r', 'a', 'l' };
-static const symbol s_2_1233[4] = { 'u', 'r', 'a', 'l' };
-static const symbol s_2_1234[2] = { 'e', 'l' };
-static const symbol s_2_1235[2] = { 'i', 'l' };
-static const symbol s_2_1236[2] = { 'a', 'm' };
-static const symbol s_2_1237[4] = { 'a', 'c', 'a', 'm' };
-static const symbol s_2_1238[4] = { 'i', 'r', 'a', 'm' };
-static const symbol s_2_1239[4] = { 'u', 'r', 'a', 'm' };
-static const symbol s_2_1240[3] = { 't', 'a', 'm' };
-static const symbol s_2_1241[4] = { 'a', 'v', 'a', 'm' };
-static const symbol s_2_1242[4] = { 'e', 'v', 'a', 'm' };
-static const symbol s_2_1243[4] = { 'i', 'v', 'a', 'm' };
-static const symbol s_2_1244[4] = { 'u', 'v', 'a', 'm' };
-static const symbol s_2_1245[5] = { 'a', 0xC4, 0x8D, 'a', 'm' };
-static const symbol s_2_1246[2] = { 'e', 'm' };
-static const symbol s_2_1247[4] = { 'a', 'c', 'e', 'm' };
-static const symbol s_2_1248[4] = { 'e', 'c', 'e', 'm' };
-static const symbol s_2_1249[4] = { 'u', 'c', 'e', 'm' };
-static const symbol s_2_1250[7] = { 'a', 's', 't', 'a', 'd', 'e', 'm' };
-static const symbol s_2_1251[7] = { 'i', 's', 't', 'a', 'd', 'e', 'm' };
-static const symbol s_2_1252[7] = { 'o', 's', 't', 'a', 'd', 'e', 'm' };
-static const symbol s_2_1253[4] = { 'a', 'j', 'e', 'm' };
-static const symbol s_2_1254[5] = { 'c', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1255[5] = { 'l', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1256[5] = { 'r', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1257[7] = { 'a', 's', 't', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1258[7] = { 'i', 's', 't', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1259[7] = { 'o', 's', 't', 'a', 'j', 'e', 'm' };
-static const symbol s_2_1260[6] = { 0xC4, 0x87, 'a', 'j', 'e', 'm' };
-static const symbol s_2_1261[6] = { 0xC4, 0x8D, 'a', 'j', 'e', 'm' };
-static const symbol s_2_1262[6] = { 0xC4, 0x91, 'a', 'j', 'e', 'm' };
-static const symbol s_2_1263[4] = { 'i', 'j', 'e', 'm' };
-static const symbol s_2_1264[7] = { 'a', 'n', 'j', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1265[7] = { 'e', 'n', 'j', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1266[7] = { 's', 'n', 'j', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1267[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1268[5] = { 'k', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1269[6] = { 's', 'k', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1270[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1271[5] = { 'l', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1272[6] = { 'e', 'l', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1273[5] = { 'n', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1274[7] = { 'r', 'a', 'r', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1275[5] = { 's', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1276[6] = { 'o', 's', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1277[6] = { 'a', 't', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1278[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1279[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1280[6] = { 'o', 't', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1281[7] = { 'a', 's', 't', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1282[6] = { 'a', 'v', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1283[6] = { 'e', 'v', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1284[6] = { 'i', 'v', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1285[6] = { 'o', 'v', 'i', 'j', 'e', 'm' };
-static const symbol s_2_1286[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'm' };
-static const symbol s_2_1287[5] = { 'a', 'n', 'j', 'e', 'm' };
-static const symbol s_2_1288[5] = { 'e', 'n', 'j', 'e', 'm' };
-static const symbol s_2_1289[5] = { 'i', 'n', 'j', 'e', 'm' };
-static const symbol s_2_1290[5] = { 's', 'n', 'j', 'e', 'm' };
-static const symbol s_2_1291[6] = { 0xC5, 0xA1, 'n', 'j', 'e', 'm' };
-static const symbol s_2_1292[4] = { 'u', 'j', 'e', 'm' };
-static const symbol s_2_1293[7] = { 'l', 'u', 'c', 'u', 'j', 'e', 'm' };
-static const symbol s_2_1294[6] = { 'i', 'r', 'u', 'j', 'e', 'm' };
-static const symbol s_2_1295[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 'm' };
-static const symbol s_2_1296[3] = { 'k', 'e', 'm' };
-static const symbol s_2_1297[4] = { 's', 'k', 'e', 'm' };
-static const symbol s_2_1298[5] = { 0xC5, 0xA1, 'k', 'e', 'm' };
-static const symbol s_2_1299[4] = { 'e', 'l', 'e', 'm' };
-static const symbol s_2_1300[3] = { 'n', 'e', 'm' };
-static const symbol s_2_1301[4] = { 'a', 'n', 'e', 'm' };
-static const symbol s_2_1302[7] = { 'a', 's', 't', 'a', 'n', 'e', 'm' };
-static const symbol s_2_1303[7] = { 'i', 's', 't', 'a', 'n', 'e', 'm' };
-static const symbol s_2_1304[7] = { 'o', 's', 't', 'a', 'n', 'e', 'm' };
-static const symbol s_2_1305[4] = { 'e', 'n', 'e', 'm' };
-static const symbol s_2_1306[4] = { 's', 'n', 'e', 'm' };
-static const symbol s_2_1307[5] = { 0xC5, 0xA1, 'n', 'e', 'm' };
-static const symbol s_2_1308[5] = { 'b', 'a', 's', 'e', 'm' };
-static const symbol s_2_1309[5] = { 'g', 'a', 's', 'e', 'm' };
-static const symbol s_2_1310[5] = { 'j', 'a', 's', 'e', 'm' };
-static const symbol s_2_1311[5] = { 'k', 'a', 's', 'e', 'm' };
-static const symbol s_2_1312[5] = { 'n', 'a', 's', 'e', 'm' };
-static const symbol s_2_1313[5] = { 't', 'a', 's', 'e', 'm' };
-static const symbol s_2_1314[5] = { 'v', 'a', 's', 'e', 'm' };
-static const symbol s_2_1315[4] = { 'e', 's', 'e', 'm' };
-static const symbol s_2_1316[4] = { 'i', 's', 'e', 'm' };
-static const symbol s_2_1317[4] = { 'o', 's', 'e', 'm' };
-static const symbol s_2_1318[4] = { 'a', 't', 'e', 'm' };
-static const symbol s_2_1319[4] = { 'e', 't', 'e', 'm' };
-static const symbol s_2_1320[6] = { 'e', 'v', 'i', 't', 'e', 'm' };
-static const symbol s_2_1321[6] = { 'o', 'v', 'i', 't', 'e', 'm' };
-static const symbol s_2_1322[5] = { 'a', 's', 't', 'e', 'm' };
-static const symbol s_2_1323[5] = { 'i', 's', 't', 'e', 'm' };
-static const symbol s_2_1324[6] = { 'i', 0xC5, 0xA1, 't', 'e', 'm' };
-static const symbol s_2_1325[4] = { 'a', 'v', 'e', 'm' };
-static const symbol s_2_1326[4] = { 'e', 'v', 'e', 'm' };
-static const symbol s_2_1327[4] = { 'i', 'v', 'e', 'm' };
-static const symbol s_2_1328[5] = { 'a', 0xC4, 0x87, 'e', 'm' };
-static const symbol s_2_1329[5] = { 'e', 0xC4, 0x87, 'e', 'm' };
-static const symbol s_2_1330[5] = { 'u', 0xC4, 0x87, 'e', 'm' };
-static const symbol s_2_1331[6] = { 'b', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1332[6] = { 'g', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1333[6] = { 'j', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1334[6] = { 'k', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1335[6] = { 'n', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1336[6] = { 't', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1337[6] = { 'v', 'a', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1338[5] = { 'e', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1339[5] = { 'i', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1340[5] = { 'o', 0xC5, 0xA1, 'e', 'm' };
-static const symbol s_2_1341[2] = { 'i', 'm' };
-static const symbol s_2_1342[4] = { 'a', 'c', 'i', 'm' };
-static const symbol s_2_1343[4] = { 'e', 'c', 'i', 'm' };
-static const symbol s_2_1344[4] = { 'u', 'c', 'i', 'm' };
-static const symbol s_2_1345[5] = { 'l', 'u', 'c', 'i', 'm' };
-static const symbol s_2_1346[7] = { 'a', 'n', 'j', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1347[7] = { 'e', 'n', 'j', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1348[7] = { 's', 'n', 'j', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1349[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1350[5] = { 'k', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1351[6] = { 's', 'k', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1352[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1353[6] = { 'e', 'l', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1354[5] = { 'n', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1355[6] = { 'o', 's', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1356[6] = { 'a', 't', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1357[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1358[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1359[7] = { 'a', 's', 't', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1360[6] = { 'a', 'v', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1361[6] = { 'e', 'v', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1362[6] = { 'i', 'v', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1363[6] = { 'o', 'v', 'i', 'j', 'i', 'm' };
-static const symbol s_2_1364[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'm' };
-static const symbol s_2_1365[5] = { 'a', 'n', 'j', 'i', 'm' };
-static const symbol s_2_1366[5] = { 'e', 'n', 'j', 'i', 'm' };
-static const symbol s_2_1367[5] = { 's', 'n', 'j', 'i', 'm' };
-static const symbol s_2_1368[6] = { 0xC5, 0xA1, 'n', 'j', 'i', 'm' };
-static const symbol s_2_1369[3] = { 'k', 'i', 'm' };
-static const symbol s_2_1370[4] = { 's', 'k', 'i', 'm' };
-static const symbol s_2_1371[5] = { 0xC5, 0xA1, 'k', 'i', 'm' };
-static const symbol s_2_1372[4] = { 'e', 'l', 'i', 'm' };
-static const symbol s_2_1373[3] = { 'n', 'i', 'm' };
-static const symbol s_2_1374[5] = { 'c', 'i', 'n', 'i', 'm' };
-static const symbol s_2_1375[6] = { 0xC4, 0x8D, 'i', 'n', 'i', 'm' };
-static const symbol s_2_1376[4] = { 'o', 's', 'i', 'm' };
-static const symbol s_2_1377[5] = { 'r', 'o', 's', 'i', 'm' };
-static const symbol s_2_1378[4] = { 'a', 't', 'i', 'm' };
-static const symbol s_2_1379[5] = { 'j', 'e', 't', 'i', 'm' };
-static const symbol s_2_1380[6] = { 'e', 'v', 'i', 't', 'i', 'm' };
-static const symbol s_2_1381[6] = { 'o', 'v', 'i', 't', 'i', 'm' };
-static const symbol s_2_1382[5] = { 'a', 's', 't', 'i', 'm' };
-static const symbol s_2_1383[4] = { 'a', 'v', 'i', 'm' };
-static const symbol s_2_1384[4] = { 'e', 'v', 'i', 'm' };
-static const symbol s_2_1385[4] = { 'i', 'v', 'i', 'm' };
-static const symbol s_2_1386[4] = { 'o', 'v', 'i', 'm' };
-static const symbol s_2_1387[5] = { 'a', 0xC4, 0x87, 'i', 'm' };
-static const symbol s_2_1388[5] = { 'e', 0xC4, 0x87, 'i', 'm' };
-static const symbol s_2_1389[5] = { 'u', 0xC4, 0x87, 'i', 'm' };
-static const symbol s_2_1390[5] = { 'a', 0xC4, 0x8D, 'i', 'm' };
-static const symbol s_2_1391[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'm' };
-static const symbol s_2_1392[5] = { 'o', 0xC5, 0xA1, 'i', 'm' };
-static const symbol s_2_1393[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'm' };
-static const symbol s_2_1394[4] = { 'a', 'c', 'o', 'm' };
-static const symbol s_2_1395[4] = { 'e', 'c', 'o', 'm' };
-static const symbol s_2_1396[4] = { 'u', 'c', 'o', 'm' };
-static const symbol s_2_1397[3] = { 'g', 'o', 'm' };
-static const symbol s_2_1398[5] = { 'l', 'o', 'g', 'o', 'm' };
-static const symbol s_2_1399[4] = { 'u', 'g', 'o', 'm' };
-static const symbol s_2_1400[5] = { 'b', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1401[5] = { 'c', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1402[5] = { 'd', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1403[5] = { 'f', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1404[5] = { 'g', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1405[5] = { 'l', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1406[5] = { 'm', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1407[5] = { 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1408[7] = { 'g', 'a', 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1409[7] = { 'm', 'a', 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1410[7] = { 'p', 'a', 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1411[7] = { 'r', 'a', 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1412[7] = { 't', 'a', 'n', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1413[5] = { 'p', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1414[5] = { 'r', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1415[5] = { 's', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1416[5] = { 't', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1417[5] = { 'z', 'i', 'j', 'o', 'm' };
-static const symbol s_2_1418[6] = { 0xC5, 0xBE, 'i', 'j', 'o', 'm' };
-static const symbol s_2_1419[5] = { 'a', 'n', 'j', 'o', 'm' };
-static const symbol s_2_1420[5] = { 'e', 'n', 'j', 'o', 'm' };
-static const symbol s_2_1421[5] = { 's', 'n', 'j', 'o', 'm' };
-static const symbol s_2_1422[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm' };
-static const symbol s_2_1423[3] = { 'k', 'o', 'm' };
-static const symbol s_2_1424[4] = { 's', 'k', 'o', 'm' };
-static const symbol s_2_1425[5] = { 0xC5, 0xA1, 'k', 'o', 'm' };
-static const symbol s_2_1426[4] = { 'a', 'l', 'o', 'm' };
-static const symbol s_2_1427[6] = { 'i', 'j', 'a', 'l', 'o', 'm' };
-static const symbol s_2_1428[5] = { 'n', 'a', 'l', 'o', 'm' };
-static const symbol s_2_1429[4] = { 'e', 'l', 'o', 'm' };
-static const symbol s_2_1430[4] = { 'i', 'l', 'o', 'm' };
-static const symbol s_2_1431[6] = { 'o', 'z', 'i', 'l', 'o', 'm' };
-static const symbol s_2_1432[4] = { 'o', 'l', 'o', 'm' };
-static const symbol s_2_1433[5] = { 'r', 'a', 'm', 'o', 'm' };
-static const symbol s_2_1434[5] = { 'l', 'e', 'm', 'o', 'm' };
-static const symbol s_2_1435[3] = { 'n', 'o', 'm' };
-static const symbol s_2_1436[4] = { 'a', 'n', 'o', 'm' };
-static const symbol s_2_1437[4] = { 'i', 'n', 'o', 'm' };
-static const symbol s_2_1438[5] = { 'c', 'i', 'n', 'o', 'm' };
-static const symbol s_2_1439[6] = { 'a', 'n', 'i', 'n', 'o', 'm' };
-static const symbol s_2_1440[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm' };
-static const symbol s_2_1441[4] = { 'o', 'n', 'o', 'm' };
-static const symbol s_2_1442[4] = { 'a', 'r', 'o', 'm' };
-static const symbol s_2_1443[4] = { 'd', 'r', 'o', 'm' };
-static const symbol s_2_1444[4] = { 'e', 'r', 'o', 'm' };
-static const symbol s_2_1445[4] = { 'o', 'r', 'o', 'm' };
-static const symbol s_2_1446[5] = { 'b', 'a', 's', 'o', 'm' };
-static const symbol s_2_1447[5] = { 'g', 'a', 's', 'o', 'm' };
-static const symbol s_2_1448[5] = { 'j', 'a', 's', 'o', 'm' };
-static const symbol s_2_1449[5] = { 'k', 'a', 's', 'o', 'm' };
-static const symbol s_2_1450[5] = { 'n', 'a', 's', 'o', 'm' };
-static const symbol s_2_1451[5] = { 't', 'a', 's', 'o', 'm' };
-static const symbol s_2_1452[5] = { 'v', 'a', 's', 'o', 'm' };
-static const symbol s_2_1453[4] = { 'e', 's', 'o', 'm' };
-static const symbol s_2_1454[4] = { 'i', 's', 'o', 'm' };
-static const symbol s_2_1455[4] = { 'o', 's', 'o', 'm' };
-static const symbol s_2_1456[4] = { 'a', 't', 'o', 'm' };
-static const symbol s_2_1457[6] = { 'i', 'k', 'a', 't', 'o', 'm' };
-static const symbol s_2_1458[5] = { 'l', 'a', 't', 'o', 'm' };
-static const symbol s_2_1459[4] = { 'e', 't', 'o', 'm' };
-static const symbol s_2_1460[6] = { 'e', 'v', 'i', 't', 'o', 'm' };
-static const symbol s_2_1461[6] = { 'o', 'v', 'i', 't', 'o', 'm' };
-static const symbol s_2_1462[5] = { 'a', 's', 't', 'o', 'm' };
-static const symbol s_2_1463[5] = { 'e', 's', 't', 'o', 'm' };
-static const symbol s_2_1464[5] = { 'i', 's', 't', 'o', 'm' };
-static const symbol s_2_1465[5] = { 'k', 's', 't', 'o', 'm' };
-static const symbol s_2_1466[5] = { 'o', 's', 't', 'o', 'm' };
-static const symbol s_2_1467[4] = { 'a', 'v', 'o', 'm' };
-static const symbol s_2_1468[4] = { 'e', 'v', 'o', 'm' };
-static const symbol s_2_1469[4] = { 'i', 'v', 'o', 'm' };
-static const symbol s_2_1470[4] = { 'o', 'v', 'o', 'm' };
-static const symbol s_2_1471[5] = { 'l', 'o', 'v', 'o', 'm' };
-static const symbol s_2_1472[5] = { 'm', 'o', 'v', 'o', 'm' };
-static const symbol s_2_1473[5] = { 's', 't', 'v', 'o', 'm' };
-static const symbol s_2_1474[6] = { 0xC5, 0xA1, 't', 'v', 'o', 'm' };
-static const symbol s_2_1475[5] = { 'a', 0xC4, 0x87, 'o', 'm' };
-static const symbol s_2_1476[5] = { 'e', 0xC4, 0x87, 'o', 'm' };
-static const symbol s_2_1477[5] = { 'u', 0xC4, 0x87, 'o', 'm' };
-static const symbol s_2_1478[6] = { 'b', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1479[6] = { 'g', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1480[6] = { 'j', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1481[6] = { 'k', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1482[6] = { 'n', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1483[6] = { 't', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1484[6] = { 'v', 'a', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1485[5] = { 'e', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1486[5] = { 'i', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1487[5] = { 'o', 0xC5, 0xA1, 'o', 'm' };
-static const symbol s_2_1488[2] = { 'a', 'n' };
-static const symbol s_2_1489[4] = { 'a', 'c', 'a', 'n' };
-static const symbol s_2_1490[4] = { 'i', 'r', 'a', 'n' };
-static const symbol s_2_1491[4] = { 'u', 'r', 'a', 'n' };
-static const symbol s_2_1492[3] = { 't', 'a', 'n' };
-static const symbol s_2_1493[4] = { 'a', 'v', 'a', 'n' };
-static const symbol s_2_1494[4] = { 'e', 'v', 'a', 'n' };
-static const symbol s_2_1495[4] = { 'i', 'v', 'a', 'n' };
-static const symbol s_2_1496[4] = { 'u', 'v', 'a', 'n' };
-static const symbol s_2_1497[5] = { 'a', 0xC4, 0x8D, 'a', 'n' };
-static const symbol s_2_1498[4] = { 'a', 'c', 'e', 'n' };
-static const symbol s_2_1499[5] = { 'l', 'u', 'c', 'e', 'n' };
-static const symbol s_2_1500[5] = { 'a', 0xC4, 0x8D, 'e', 'n' };
-static const symbol s_2_1501[6] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n' };
-static const symbol s_2_1502[4] = { 'a', 'n', 'i', 'n' };
-static const symbol s_2_1503[2] = { 'a', 'o' };
-static const symbol s_2_1504[4] = { 'a', 'c', 'a', 'o' };
-static const symbol s_2_1505[7] = { 'a', 's', 't', 'a', 'j', 'a', 'o' };
-static const symbol s_2_1506[7] = { 'i', 's', 't', 'a', 'j', 'a', 'o' };
-static const symbol s_2_1507[7] = { 'o', 's', 't', 'a', 'j', 'a', 'o' };
-static const symbol s_2_1508[5] = { 'i', 'n', 'j', 'a', 'o' };
-static const symbol s_2_1509[4] = { 'i', 'r', 'a', 'o' };
-static const symbol s_2_1510[4] = { 'u', 'r', 'a', 'o' };
-static const symbol s_2_1511[3] = { 't', 'a', 'o' };
-static const symbol s_2_1512[5] = { 'a', 's', 't', 'a', 'o' };
-static const symbol s_2_1513[5] = { 'i', 's', 't', 'a', 'o' };
-static const symbol s_2_1514[5] = { 'o', 's', 't', 'a', 'o' };
-static const symbol s_2_1515[4] = { 'a', 'v', 'a', 'o' };
-static const symbol s_2_1516[4] = { 'e', 'v', 'a', 'o' };
-static const symbol s_2_1517[4] = { 'i', 'v', 'a', 'o' };
-static const symbol s_2_1518[4] = { 'o', 'v', 'a', 'o' };
-static const symbol s_2_1519[4] = { 'u', 'v', 'a', 'o' };
-static const symbol s_2_1520[5] = { 'a', 0xC4, 0x8D, 'a', 'o' };
-static const symbol s_2_1521[2] = { 'g', 'o' };
-static const symbol s_2_1522[3] = { 'u', 'g', 'o' };
-static const symbol s_2_1523[2] = { 'i', 'o' };
-static const symbol s_2_1524[4] = { 'a', 'c', 'i', 'o' };
-static const symbol s_2_1525[5] = { 'l', 'u', 'c', 'i', 'o' };
-static const symbol s_2_1526[3] = { 'l', 'i', 'o' };
-static const symbol s_2_1527[3] = { 'n', 'i', 'o' };
-static const symbol s_2_1528[5] = { 'r', 'a', 'r', 'i', 'o' };
-static const symbol s_2_1529[3] = { 's', 'i', 'o' };
-static const symbol s_2_1530[5] = { 'r', 'o', 's', 'i', 'o' };
-static const symbol s_2_1531[5] = { 'j', 'e', 't', 'i', 'o' };
-static const symbol s_2_1532[4] = { 'o', 't', 'i', 'o' };
-static const symbol s_2_1533[5] = { 'a', 0xC4, 0x8D, 'i', 'o' };
-static const symbol s_2_1534[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'o' };
-static const symbol s_2_1535[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'o' };
-static const symbol s_2_1536[4] = { 'b', 'i', 'j', 'o' };
-static const symbol s_2_1537[4] = { 'c', 'i', 'j', 'o' };
-static const symbol s_2_1538[4] = { 'd', 'i', 'j', 'o' };
-static const symbol s_2_1539[4] = { 'f', 'i', 'j', 'o' };
-static const symbol s_2_1540[4] = { 'g', 'i', 'j', 'o' };
-static const symbol s_2_1541[4] = { 'l', 'i', 'j', 'o' };
-static const symbol s_2_1542[4] = { 'm', 'i', 'j', 'o' };
-static const symbol s_2_1543[4] = { 'n', 'i', 'j', 'o' };
-static const symbol s_2_1544[4] = { 'p', 'i', 'j', 'o' };
-static const symbol s_2_1545[4] = { 'r', 'i', 'j', 'o' };
-static const symbol s_2_1546[4] = { 's', 'i', 'j', 'o' };
-static const symbol s_2_1547[4] = { 't', 'i', 'j', 'o' };
-static const symbol s_2_1548[4] = { 'z', 'i', 'j', 'o' };
-static const symbol s_2_1549[5] = { 0xC5, 0xBE, 'i', 'j', 'o' };
-static const symbol s_2_1550[4] = { 'a', 'n', 'j', 'o' };
-static const symbol s_2_1551[4] = { 'e', 'n', 'j', 'o' };
-static const symbol s_2_1552[4] = { 's', 'n', 'j', 'o' };
-static const symbol s_2_1553[5] = { 0xC5, 0xA1, 'n', 'j', 'o' };
-static const symbol s_2_1554[2] = { 'k', 'o' };
-static const symbol s_2_1555[3] = { 's', 'k', 'o' };
-static const symbol s_2_1556[4] = { 0xC5, 0xA1, 'k', 'o' };
-static const symbol s_2_1557[3] = { 'a', 'l', 'o' };
-static const symbol s_2_1558[5] = { 'a', 'c', 'a', 'l', 'o' };
-static const symbol s_2_1559[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'o' };
-static const symbol s_2_1560[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'o' };
-static const symbol s_2_1561[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'o' };
-static const symbol s_2_1562[5] = { 'i', 'j', 'a', 'l', 'o' };
-static const symbol s_2_1563[6] = { 'i', 'n', 'j', 'a', 'l', 'o' };
-static const symbol s_2_1564[4] = { 'n', 'a', 'l', 'o' };
-static const symbol s_2_1565[5] = { 'i', 'r', 'a', 'l', 'o' };
-static const symbol s_2_1566[5] = { 'u', 'r', 'a', 'l', 'o' };
-static const symbol s_2_1567[4] = { 't', 'a', 'l', 'o' };
-static const symbol s_2_1568[6] = { 'a', 's', 't', 'a', 'l', 'o' };
-static const symbol s_2_1569[6] = { 'i', 's', 't', 'a', 'l', 'o' };
-static const symbol s_2_1570[6] = { 'o', 's', 't', 'a', 'l', 'o' };
-static const symbol s_2_1571[5] = { 'a', 'v', 'a', 'l', 'o' };
-static const symbol s_2_1572[5] = { 'e', 'v', 'a', 'l', 'o' };
-static const symbol s_2_1573[5] = { 'i', 'v', 'a', 'l', 'o' };
-static const symbol s_2_1574[5] = { 'o', 'v', 'a', 'l', 'o' };
-static const symbol s_2_1575[5] = { 'u', 'v', 'a', 'l', 'o' };
-static const symbol s_2_1576[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'o' };
-static const symbol s_2_1577[3] = { 'e', 'l', 'o' };
-static const symbol s_2_1578[3] = { 'i', 'l', 'o' };
-static const symbol s_2_1579[5] = { 'a', 'c', 'i', 'l', 'o' };
-static const symbol s_2_1580[6] = { 'l', 'u', 'c', 'i', 'l', 'o' };
-static const symbol s_2_1581[4] = { 'n', 'i', 'l', 'o' };
-static const symbol s_2_1582[6] = { 'r', 'o', 's', 'i', 'l', 'o' };
-static const symbol s_2_1583[6] = { 'j', 'e', 't', 'i', 'l', 'o' };
-static const symbol s_2_1584[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'o' };
-static const symbol s_2_1585[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'o' };
-static const symbol s_2_1586[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'o' };
-static const symbol s_2_1587[4] = { 'a', 's', 'l', 'o' };
-static const symbol s_2_1588[4] = { 'n', 'u', 'l', 'o' };
-static const symbol s_2_1589[3] = { 'a', 'm', 'o' };
-static const symbol s_2_1590[5] = { 'a', 'c', 'a', 'm', 'o' };
-static const symbol s_2_1591[4] = { 'r', 'a', 'm', 'o' };
-static const symbol s_2_1592[5] = { 'i', 'r', 'a', 'm', 'o' };
-static const symbol s_2_1593[5] = { 'u', 'r', 'a', 'm', 'o' };
-static const symbol s_2_1594[4] = { 't', 'a', 'm', 'o' };
-static const symbol s_2_1595[5] = { 'a', 'v', 'a', 'm', 'o' };
-static const symbol s_2_1596[5] = { 'e', 'v', 'a', 'm', 'o' };
-static const symbol s_2_1597[5] = { 'i', 'v', 'a', 'm', 'o' };
-static const symbol s_2_1598[5] = { 'u', 'v', 'a', 'm', 'o' };
-static const symbol s_2_1599[6] = { 'a', 0xC4, 0x8D, 'a', 'm', 'o' };
-static const symbol s_2_1600[3] = { 'e', 'm', 'o' };
-static const symbol s_2_1601[8] = { 'a', 's', 't', 'a', 'd', 'e', 'm', 'o' };
-static const symbol s_2_1602[8] = { 'i', 's', 't', 'a', 'd', 'e', 'm', 'o' };
-static const symbol s_2_1603[8] = { 'o', 's', 't', 'a', 'd', 'e', 'm', 'o' };
-static const symbol s_2_1604[8] = { 'a', 's', 't', 'a', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1605[8] = { 'i', 's', 't', 'a', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1606[8] = { 'o', 's', 't', 'a', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1607[5] = { 'i', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1608[6] = { 'i', 'n', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1609[5] = { 'u', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1610[8] = { 'l', 'u', 'c', 'u', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1611[7] = { 'i', 'r', 'u', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1612[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 'm', 'o' };
-static const symbol s_2_1613[4] = { 'l', 'e', 'm', 'o' };
-static const symbol s_2_1614[4] = { 'n', 'e', 'm', 'o' };
-static const symbol s_2_1615[8] = { 'a', 's', 't', 'a', 'n', 'e', 'm', 'o' };
-static const symbol s_2_1616[8] = { 'i', 's', 't', 'a', 'n', 'e', 'm', 'o' };
-static const symbol s_2_1617[8] = { 'o', 's', 't', 'a', 'n', 'e', 'm', 'o' };
-static const symbol s_2_1618[5] = { 'e', 't', 'e', 'm', 'o' };
-static const symbol s_2_1619[6] = { 'a', 's', 't', 'e', 'm', 'o' };
-static const symbol s_2_1620[3] = { 'i', 'm', 'o' };
-static const symbol s_2_1621[5] = { 'a', 'c', 'i', 'm', 'o' };
-static const symbol s_2_1622[6] = { 'l', 'u', 'c', 'i', 'm', 'o' };
-static const symbol s_2_1623[4] = { 'n', 'i', 'm', 'o' };
-static const symbol s_2_1624[8] = { 'a', 's', 't', 'a', 'n', 'i', 'm', 'o' };
-static const symbol s_2_1625[8] = { 'i', 's', 't', 'a', 'n', 'i', 'm', 'o' };
-static const symbol s_2_1626[8] = { 'o', 's', 't', 'a', 'n', 'i', 'm', 'o' };
-static const symbol s_2_1627[6] = { 'r', 'o', 's', 'i', 'm', 'o' };
-static const symbol s_2_1628[5] = { 'e', 't', 'i', 'm', 'o' };
-static const symbol s_2_1629[6] = { 'j', 'e', 't', 'i', 'm', 'o' };
-static const symbol s_2_1630[6] = { 'a', 's', 't', 'i', 'm', 'o' };
-static const symbol s_2_1631[6] = { 'a', 0xC4, 0x8D, 'i', 'm', 'o' };
-static const symbol s_2_1632[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'm', 'o' };
-static const symbol s_2_1633[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'm', 'o' };
-static const symbol s_2_1634[4] = { 'a', 'j', 'm', 'o' };
-static const symbol s_2_1635[6] = { 'u', 'r', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1636[5] = { 't', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1637[7] = { 'a', 's', 't', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1638[7] = { 'i', 's', 't', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1639[7] = { 'o', 's', 't', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1640[6] = { 'a', 'v', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1641[6] = { 'e', 'v', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1642[6] = { 'i', 'v', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1643[6] = { 'u', 'v', 'a', 'j', 'm', 'o' };
-static const symbol s_2_1644[4] = { 'i', 'j', 'm', 'o' };
-static const symbol s_2_1645[4] = { 'u', 'j', 'm', 'o' };
-static const symbol s_2_1646[7] = { 'l', 'u', 'c', 'u', 'j', 'm', 'o' };
-static const symbol s_2_1647[6] = { 'i', 'r', 'u', 'j', 'm', 'o' };
-static const symbol s_2_1648[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'm', 'o' };
-static const symbol s_2_1649[4] = { 'a', 's', 'm', 'o' };
-static const symbol s_2_1650[6] = { 'a', 'c', 'a', 's', 'm', 'o' };
-static const symbol s_2_1651[9] = { 'a', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
-static const symbol s_2_1652[9] = { 'i', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
-static const symbol s_2_1653[9] = { 'o', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
-static const symbol s_2_1654[7] = { 'i', 'n', 'j', 'a', 's', 'm', 'o' };
-static const symbol s_2_1655[6] = { 'i', 'r', 'a', 's', 'm', 'o' };
-static const symbol s_2_1656[6] = { 'u', 'r', 'a', 's', 'm', 'o' };
-static const symbol s_2_1657[5] = { 't', 'a', 's', 'm', 'o' };
-static const symbol s_2_1658[6] = { 'a', 'v', 'a', 's', 'm', 'o' };
-static const symbol s_2_1659[6] = { 'e', 'v', 'a', 's', 'm', 'o' };
-static const symbol s_2_1660[6] = { 'i', 'v', 'a', 's', 'm', 'o' };
-static const symbol s_2_1661[6] = { 'o', 'v', 'a', 's', 'm', 'o' };
-static const symbol s_2_1662[6] = { 'u', 'v', 'a', 's', 'm', 'o' };
-static const symbol s_2_1663[7] = { 'a', 0xC4, 0x8D, 'a', 's', 'm', 'o' };
-static const symbol s_2_1664[4] = { 'i', 's', 'm', 'o' };
-static const symbol s_2_1665[6] = { 'a', 'c', 'i', 's', 'm', 'o' };
-static const symbol s_2_1666[7] = { 'l', 'u', 'c', 'i', 's', 'm', 'o' };
-static const symbol s_2_1667[5] = { 'n', 'i', 's', 'm', 'o' };
-static const symbol s_2_1668[7] = { 'r', 'o', 's', 'i', 's', 'm', 'o' };
-static const symbol s_2_1669[7] = { 'j', 'e', 't', 'i', 's', 'm', 'o' };
-static const symbol s_2_1670[7] = { 'a', 0xC4, 0x8D, 'i', 's', 'm', 'o' };
-static const symbol s_2_1671[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 's', 'm', 'o' };
-static const symbol s_2_1672[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 's', 'm', 'o' };
-static const symbol s_2_1673[9] = { 'a', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
-static const symbol s_2_1674[9] = { 'i', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
-static const symbol s_2_1675[9] = { 'o', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
-static const symbol s_2_1676[5] = { 'n', 'u', 's', 'm', 'o' };
-static const symbol s_2_1677[2] = { 'n', 'o' };
-static const symbol s_2_1678[3] = { 'a', 'n', 'o' };
-static const symbol s_2_1679[5] = { 'a', 'c', 'a', 'n', 'o' };
-static const symbol s_2_1680[5] = { 'u', 'r', 'a', 'n', 'o' };
-static const symbol s_2_1681[4] = { 't', 'a', 'n', 'o' };
-static const symbol s_2_1682[5] = { 'a', 'v', 'a', 'n', 'o' };
-static const symbol s_2_1683[5] = { 'e', 'v', 'a', 'n', 'o' };
-static const symbol s_2_1684[5] = { 'i', 'v', 'a', 'n', 'o' };
-static const symbol s_2_1685[5] = { 'u', 'v', 'a', 'n', 'o' };
-static const symbol s_2_1686[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'o' };
-static const symbol s_2_1687[5] = { 'a', 'c', 'e', 'n', 'o' };
-static const symbol s_2_1688[6] = { 'l', 'u', 'c', 'e', 'n', 'o' };
-static const symbol s_2_1689[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'o' };
-static const symbol s_2_1690[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'o' };
-static const symbol s_2_1691[3] = { 'i', 'n', 'o' };
-static const symbol s_2_1692[4] = { 'c', 'i', 'n', 'o' };
-static const symbol s_2_1693[5] = { 0xC4, 0x8D, 'i', 'n', 'o' };
-static const symbol s_2_1694[3] = { 'a', 't', 'o' };
-static const symbol s_2_1695[5] = { 'i', 'k', 'a', 't', 'o' };
-static const symbol s_2_1696[4] = { 'l', 'a', 't', 'o' };
-static const symbol s_2_1697[3] = { 'e', 't', 'o' };
-static const symbol s_2_1698[5] = { 'e', 'v', 'i', 't', 'o' };
-static const symbol s_2_1699[5] = { 'o', 'v', 'i', 't', 'o' };
-static const symbol s_2_1700[4] = { 'a', 's', 't', 'o' };
-static const symbol s_2_1701[4] = { 'e', 's', 't', 'o' };
-static const symbol s_2_1702[4] = { 'i', 's', 't', 'o' };
-static const symbol s_2_1703[4] = { 'k', 's', 't', 'o' };
-static const symbol s_2_1704[4] = { 'o', 's', 't', 'o' };
-static const symbol s_2_1705[4] = { 'n', 'u', 't', 'o' };
-static const symbol s_2_1706[3] = { 'n', 'u', 'o' };
-static const symbol s_2_1707[3] = { 'a', 'v', 'o' };
-static const symbol s_2_1708[3] = { 'e', 'v', 'o' };
-static const symbol s_2_1709[3] = { 'i', 'v', 'o' };
-static const symbol s_2_1710[3] = { 'o', 'v', 'o' };
-static const symbol s_2_1711[4] = { 's', 't', 'v', 'o' };
-static const symbol s_2_1712[5] = { 0xC5, 0xA1, 't', 'v', 'o' };
-static const symbol s_2_1713[2] = { 'a', 's' };
-static const symbol s_2_1714[4] = { 'a', 'c', 'a', 's' };
-static const symbol s_2_1715[4] = { 'i', 'r', 'a', 's' };
-static const symbol s_2_1716[4] = { 'u', 'r', 'a', 's' };
-static const symbol s_2_1717[3] = { 't', 'a', 's' };
-static const symbol s_2_1718[4] = { 'a', 'v', 'a', 's' };
-static const symbol s_2_1719[4] = { 'e', 'v', 'a', 's' };
-static const symbol s_2_1720[4] = { 'i', 'v', 'a', 's' };
-static const symbol s_2_1721[4] = { 'u', 'v', 'a', 's' };
-static const symbol s_2_1722[2] = { 'e', 's' };
-static const symbol s_2_1723[7] = { 'a', 's', 't', 'a', 'd', 'e', 's' };
-static const symbol s_2_1724[7] = { 'i', 's', 't', 'a', 'd', 'e', 's' };
-static const symbol s_2_1725[7] = { 'o', 's', 't', 'a', 'd', 'e', 's' };
-static const symbol s_2_1726[7] = { 'a', 's', 't', 'a', 'j', 'e', 's' };
-static const symbol s_2_1727[7] = { 'i', 's', 't', 'a', 'j', 'e', 's' };
-static const symbol s_2_1728[7] = { 'o', 's', 't', 'a', 'j', 'e', 's' };
-static const symbol s_2_1729[4] = { 'i', 'j', 'e', 's' };
-static const symbol s_2_1730[5] = { 'i', 'n', 'j', 'e', 's' };
-static const symbol s_2_1731[4] = { 'u', 'j', 'e', 's' };
-static const symbol s_2_1732[7] = { 'l', 'u', 'c', 'u', 'j', 'e', 's' };
-static const symbol s_2_1733[6] = { 'i', 'r', 'u', 'j', 'e', 's' };
-static const symbol s_2_1734[3] = { 'n', 'e', 's' };
-static const symbol s_2_1735[7] = { 'a', 's', 't', 'a', 'n', 'e', 's' };
-static const symbol s_2_1736[7] = { 'i', 's', 't', 'a', 'n', 'e', 's' };
-static const symbol s_2_1737[7] = { 'o', 's', 't', 'a', 'n', 'e', 's' };
-static const symbol s_2_1738[4] = { 'e', 't', 'e', 's' };
-static const symbol s_2_1739[5] = { 'a', 's', 't', 'e', 's' };
-static const symbol s_2_1740[2] = { 'i', 's' };
-static const symbol s_2_1741[4] = { 'a', 'c', 'i', 's' };
-static const symbol s_2_1742[5] = { 'l', 'u', 'c', 'i', 's' };
-static const symbol s_2_1743[3] = { 'n', 'i', 's' };
-static const symbol s_2_1744[5] = { 'r', 'o', 's', 'i', 's' };
-static const symbol s_2_1745[5] = { 'j', 'e', 't', 'i', 's' };
-static const symbol s_2_1746[2] = { 'a', 't' };
-static const symbol s_2_1747[4] = { 'a', 'c', 'a', 't' };
-static const symbol s_2_1748[7] = { 'a', 's', 't', 'a', 'j', 'a', 't' };
-static const symbol s_2_1749[7] = { 'i', 's', 't', 'a', 'j', 'a', 't' };
-static const symbol s_2_1750[7] = { 'o', 's', 't', 'a', 'j', 'a', 't' };
-static const symbol s_2_1751[5] = { 'i', 'n', 'j', 'a', 't' };
-static const symbol s_2_1752[4] = { 'i', 'r', 'a', 't' };
-static const symbol s_2_1753[4] = { 'u', 'r', 'a', 't' };
-static const symbol s_2_1754[3] = { 't', 'a', 't' };
-static const symbol s_2_1755[5] = { 'a', 's', 't', 'a', 't' };
-static const symbol s_2_1756[5] = { 'i', 's', 't', 'a', 't' };
-static const symbol s_2_1757[5] = { 'o', 's', 't', 'a', 't' };
-static const symbol s_2_1758[4] = { 'a', 'v', 'a', 't' };
-static const symbol s_2_1759[4] = { 'e', 'v', 'a', 't' };
-static const symbol s_2_1760[4] = { 'i', 'v', 'a', 't' };
-static const symbol s_2_1761[6] = { 'i', 'r', 'i', 'v', 'a', 't' };
-static const symbol s_2_1762[4] = { 'o', 'v', 'a', 't' };
-static const symbol s_2_1763[4] = { 'u', 'v', 'a', 't' };
-static const symbol s_2_1764[5] = { 'a', 0xC4, 0x8D, 'a', 't' };
-static const symbol s_2_1765[2] = { 'i', 't' };
-static const symbol s_2_1766[4] = { 'a', 'c', 'i', 't' };
-static const symbol s_2_1767[5] = { 'l', 'u', 'c', 'i', 't' };
-static const symbol s_2_1768[5] = { 'r', 'o', 's', 'i', 't' };
-static const symbol s_2_1769[5] = { 'j', 'e', 't', 'i', 't' };
-static const symbol s_2_1770[5] = { 'a', 0xC4, 0x8D, 'i', 't' };
-static const symbol s_2_1771[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 't' };
-static const symbol s_2_1772[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 't' };
-static const symbol s_2_1773[3] = { 'n', 'u', 't' };
-static const symbol s_2_1774[6] = { 'a', 's', 't', 'a', 'd', 'u' };
-static const symbol s_2_1775[6] = { 'i', 's', 't', 'a', 'd', 'u' };
-static const symbol s_2_1776[6] = { 'o', 's', 't', 'a', 'd', 'u' };
-static const symbol s_2_1777[2] = { 'g', 'u' };
-static const symbol s_2_1778[4] = { 'l', 'o', 'g', 'u' };
-static const symbol s_2_1779[3] = { 'u', 'g', 'u' };
-static const symbol s_2_1780[3] = { 'a', 'h', 'u' };
-static const symbol s_2_1781[5] = { 'a', 'c', 'a', 'h', 'u' };
-static const symbol s_2_1782[8] = { 'a', 's', 't', 'a', 'j', 'a', 'h', 'u' };
-static const symbol s_2_1783[8] = { 'i', 's', 't', 'a', 'j', 'a', 'h', 'u' };
-static const symbol s_2_1784[8] = { 'o', 's', 't', 'a', 'j', 'a', 'h', 'u' };
-static const symbol s_2_1785[6] = { 'i', 'n', 'j', 'a', 'h', 'u' };
-static const symbol s_2_1786[5] = { 'i', 'r', 'a', 'h', 'u' };
-static const symbol s_2_1787[5] = { 'u', 'r', 'a', 'h', 'u' };
-static const symbol s_2_1788[5] = { 'a', 'v', 'a', 'h', 'u' };
-static const symbol s_2_1789[5] = { 'e', 'v', 'a', 'h', 'u' };
-static const symbol s_2_1790[5] = { 'i', 'v', 'a', 'h', 'u' };
-static const symbol s_2_1791[5] = { 'o', 'v', 'a', 'h', 'u' };
-static const symbol s_2_1792[5] = { 'u', 'v', 'a', 'h', 'u' };
-static const symbol s_2_1793[6] = { 'a', 0xC4, 0x8D, 'a', 'h', 'u' };
-static const symbol s_2_1794[3] = { 'a', 'j', 'u' };
-static const symbol s_2_1795[4] = { 'c', 'a', 'j', 'u' };
-static const symbol s_2_1796[5] = { 'a', 'c', 'a', 'j', 'u' };
-static const symbol s_2_1797[4] = { 'l', 'a', 'j', 'u' };
-static const symbol s_2_1798[4] = { 'r', 'a', 'j', 'u' };
-static const symbol s_2_1799[5] = { 'i', 'r', 'a', 'j', 'u' };
-static const symbol s_2_1800[5] = { 'u', 'r', 'a', 'j', 'u' };
-static const symbol s_2_1801[4] = { 't', 'a', 'j', 'u' };
-static const symbol s_2_1802[6] = { 'a', 's', 't', 'a', 'j', 'u' };
-static const symbol s_2_1803[6] = { 'i', 's', 't', 'a', 'j', 'u' };
-static const symbol s_2_1804[6] = { 'o', 's', 't', 'a', 'j', 'u' };
-static const symbol s_2_1805[5] = { 'a', 'v', 'a', 'j', 'u' };
-static const symbol s_2_1806[5] = { 'e', 'v', 'a', 'j', 'u' };
-static const symbol s_2_1807[5] = { 'i', 'v', 'a', 'j', 'u' };
-static const symbol s_2_1808[5] = { 'u', 'v', 'a', 'j', 'u' };
-static const symbol s_2_1809[5] = { 0xC4, 0x87, 'a', 'j', 'u' };
-static const symbol s_2_1810[5] = { 0xC4, 0x8D, 'a', 'j', 'u' };
-static const symbol s_2_1811[6] = { 'a', 0xC4, 0x8D, 'a', 'j', 'u' };
-static const symbol s_2_1812[5] = { 0xC4, 0x91, 'a', 'j', 'u' };
-static const symbol s_2_1813[3] = { 'i', 'j', 'u' };
-static const symbol s_2_1814[4] = { 'b', 'i', 'j', 'u' };
-static const symbol s_2_1815[4] = { 'c', 'i', 'j', 'u' };
-static const symbol s_2_1816[4] = { 'd', 'i', 'j', 'u' };
-static const symbol s_2_1817[4] = { 'f', 'i', 'j', 'u' };
-static const symbol s_2_1818[4] = { 'g', 'i', 'j', 'u' };
-static const symbol s_2_1819[6] = { 'a', 'n', 'j', 'i', 'j', 'u' };
-static const symbol s_2_1820[6] = { 'e', 'n', 'j', 'i', 'j', 'u' };
-static const symbol s_2_1821[6] = { 's', 'n', 'j', 'i', 'j', 'u' };
-static const symbol s_2_1822[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'u' };
-static const symbol s_2_1823[4] = { 'k', 'i', 'j', 'u' };
-static const symbol s_2_1824[4] = { 'l', 'i', 'j', 'u' };
-static const symbol s_2_1825[5] = { 'e', 'l', 'i', 'j', 'u' };
-static const symbol s_2_1826[4] = { 'm', 'i', 'j', 'u' };
-static const symbol s_2_1827[4] = { 'n', 'i', 'j', 'u' };
-static const symbol s_2_1828[6] = { 'g', 'a', 'n', 'i', 'j', 'u' };
-static const symbol s_2_1829[6] = { 'm', 'a', 'n', 'i', 'j', 'u' };
-static const symbol s_2_1830[6] = { 'p', 'a', 'n', 'i', 'j', 'u' };
-static const symbol s_2_1831[6] = { 'r', 'a', 'n', 'i', 'j', 'u' };
-static const symbol s_2_1832[6] = { 't', 'a', 'n', 'i', 'j', 'u' };
-static const symbol s_2_1833[4] = { 'p', 'i', 'j', 'u' };
-static const symbol s_2_1834[4] = { 'r', 'i', 'j', 'u' };
-static const symbol s_2_1835[6] = { 'r', 'a', 'r', 'i', 'j', 'u' };
-static const symbol s_2_1836[4] = { 's', 'i', 'j', 'u' };
-static const symbol s_2_1837[5] = { 'o', 's', 'i', 'j', 'u' };
-static const symbol s_2_1838[4] = { 't', 'i', 'j', 'u' };
-static const symbol s_2_1839[5] = { 'a', 't', 'i', 'j', 'u' };
-static const symbol s_2_1840[5] = { 'o', 't', 'i', 'j', 'u' };
-static const symbol s_2_1841[5] = { 'a', 'v', 'i', 'j', 'u' };
-static const symbol s_2_1842[5] = { 'e', 'v', 'i', 'j', 'u' };
-static const symbol s_2_1843[5] = { 'i', 'v', 'i', 'j', 'u' };
-static const symbol s_2_1844[5] = { 'o', 'v', 'i', 'j', 'u' };
-static const symbol s_2_1845[4] = { 'z', 'i', 'j', 'u' };
-static const symbol s_2_1846[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'u' };
-static const symbol s_2_1847[5] = { 0xC5, 0xBE, 'i', 'j', 'u' };
-static const symbol s_2_1848[4] = { 'a', 'n', 'j', 'u' };
-static const symbol s_2_1849[4] = { 'e', 'n', 'j', 'u' };
-static const symbol s_2_1850[4] = { 's', 'n', 'j', 'u' };
-static const symbol s_2_1851[5] = { 0xC5, 0xA1, 'n', 'j', 'u' };
-static const symbol s_2_1852[3] = { 'u', 'j', 'u' };
-static const symbol s_2_1853[6] = { 'l', 'u', 'c', 'u', 'j', 'u' };
-static const symbol s_2_1854[5] = { 'i', 'r', 'u', 'j', 'u' };
-static const symbol s_2_1855[7] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'u' };
-static const symbol s_2_1856[2] = { 'k', 'u' };
-static const symbol s_2_1857[3] = { 's', 'k', 'u' };
-static const symbol s_2_1858[4] = { 0xC5, 0xA1, 'k', 'u' };
-static const symbol s_2_1859[3] = { 'a', 'l', 'u' };
-static const symbol s_2_1860[5] = { 'i', 'j', 'a', 'l', 'u' };
-static const symbol s_2_1861[4] = { 'n', 'a', 'l', 'u' };
-static const symbol s_2_1862[3] = { 'e', 'l', 'u' };
-static const symbol s_2_1863[3] = { 'i', 'l', 'u' };
-static const symbol s_2_1864[5] = { 'o', 'z', 'i', 'l', 'u' };
-static const symbol s_2_1865[3] = { 'o', 'l', 'u' };
-static const symbol s_2_1866[4] = { 'r', 'a', 'm', 'u' };
-static const symbol s_2_1867[5] = { 'a', 'c', 'e', 'm', 'u' };
-static const symbol s_2_1868[5] = { 'e', 'c', 'e', 'm', 'u' };
-static const symbol s_2_1869[5] = { 'u', 'c', 'e', 'm', 'u' };
-static const symbol s_2_1870[8] = { 'a', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1871[8] = { 'e', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1872[8] = { 's', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1873[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1874[6] = { 'k', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1875[7] = { 's', 'k', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1876[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1877[7] = { 'e', 'l', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1878[6] = { 'n', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1879[7] = { 'o', 's', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1880[7] = { 'a', 't', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1881[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1882[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1883[8] = { 'a', 's', 't', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1884[7] = { 'a', 'v', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1885[7] = { 'e', 'v', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1886[7] = { 'i', 'v', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1887[7] = { 'o', 'v', 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1888[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1889[6] = { 'a', 'n', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1890[6] = { 'e', 'n', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1891[6] = { 's', 'n', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1892[7] = { 0xC5, 0xA1, 'n', 'j', 'e', 'm', 'u' };
-static const symbol s_2_1893[4] = { 'k', 'e', 'm', 'u' };
-static const symbol s_2_1894[5] = { 's', 'k', 'e', 'm', 'u' };
-static const symbol s_2_1895[6] = { 0xC5, 0xA1, 'k', 'e', 'm', 'u' };
-static const symbol s_2_1896[4] = { 'l', 'e', 'm', 'u' };
-static const symbol s_2_1897[5] = { 'e', 'l', 'e', 'm', 'u' };
-static const symbol s_2_1898[4] = { 'n', 'e', 'm', 'u' };
-static const symbol s_2_1899[5] = { 'a', 'n', 'e', 'm', 'u' };
-static const symbol s_2_1900[5] = { 'e', 'n', 'e', 'm', 'u' };
-static const symbol s_2_1901[5] = { 's', 'n', 'e', 'm', 'u' };
-static const symbol s_2_1902[6] = { 0xC5, 0xA1, 'n', 'e', 'm', 'u' };
-static const symbol s_2_1903[5] = { 'o', 's', 'e', 'm', 'u' };
-static const symbol s_2_1904[5] = { 'a', 't', 'e', 'm', 'u' };
-static const symbol s_2_1905[7] = { 'e', 'v', 'i', 't', 'e', 'm', 'u' };
-static const symbol s_2_1906[7] = { 'o', 'v', 'i', 't', 'e', 'm', 'u' };
-static const symbol s_2_1907[6] = { 'a', 's', 't', 'e', 'm', 'u' };
-static const symbol s_2_1908[5] = { 'a', 'v', 'e', 'm', 'u' };
-static const symbol s_2_1909[5] = { 'e', 'v', 'e', 'm', 'u' };
-static const symbol s_2_1910[5] = { 'i', 'v', 'e', 'm', 'u' };
-static const symbol s_2_1911[5] = { 'o', 'v', 'e', 'm', 'u' };
-static const symbol s_2_1912[6] = { 'a', 0xC4, 0x87, 'e', 'm', 'u' };
-static const symbol s_2_1913[6] = { 'e', 0xC4, 0x87, 'e', 'm', 'u' };
-static const symbol s_2_1914[6] = { 'u', 0xC4, 0x87, 'e', 'm', 'u' };
-static const symbol s_2_1915[6] = { 'o', 0xC5, 0xA1, 'e', 'm', 'u' };
-static const symbol s_2_1916[5] = { 'a', 'c', 'o', 'm', 'u' };
-static const symbol s_2_1917[5] = { 'e', 'c', 'o', 'm', 'u' };
-static const symbol s_2_1918[5] = { 'u', 'c', 'o', 'm', 'u' };
-static const symbol s_2_1919[6] = { 'a', 'n', 'j', 'o', 'm', 'u' };
-static const symbol s_2_1920[6] = { 'e', 'n', 'j', 'o', 'm', 'u' };
-static const symbol s_2_1921[6] = { 's', 'n', 'j', 'o', 'm', 'u' };
-static const symbol s_2_1922[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm', 'u' };
-static const symbol s_2_1923[4] = { 'k', 'o', 'm', 'u' };
-static const symbol s_2_1924[5] = { 's', 'k', 'o', 'm', 'u' };
-static const symbol s_2_1925[6] = { 0xC5, 0xA1, 'k', 'o', 'm', 'u' };
-static const symbol s_2_1926[5] = { 'e', 'l', 'o', 'm', 'u' };
-static const symbol s_2_1927[4] = { 'n', 'o', 'm', 'u' };
-static const symbol s_2_1928[6] = { 'c', 'i', 'n', 'o', 'm', 'u' };
-static const symbol s_2_1929[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm', 'u' };
-static const symbol s_2_1930[5] = { 'o', 's', 'o', 'm', 'u' };
-static const symbol s_2_1931[5] = { 'a', 't', 'o', 'm', 'u' };
-static const symbol s_2_1932[7] = { 'e', 'v', 'i', 't', 'o', 'm', 'u' };
-static const symbol s_2_1933[7] = { 'o', 'v', 'i', 't', 'o', 'm', 'u' };
-static const symbol s_2_1934[6] = { 'a', 's', 't', 'o', 'm', 'u' };
-static const symbol s_2_1935[5] = { 'a', 'v', 'o', 'm', 'u' };
-static const symbol s_2_1936[5] = { 'e', 'v', 'o', 'm', 'u' };
-static const symbol s_2_1937[5] = { 'i', 'v', 'o', 'm', 'u' };
-static const symbol s_2_1938[5] = { 'o', 'v', 'o', 'm', 'u' };
-static const symbol s_2_1939[6] = { 'a', 0xC4, 0x87, 'o', 'm', 'u' };
-static const symbol s_2_1940[6] = { 'e', 0xC4, 0x87, 'o', 'm', 'u' };
-static const symbol s_2_1941[6] = { 'u', 0xC4, 0x87, 'o', 'm', 'u' };
-static const symbol s_2_1942[6] = { 'o', 0xC5, 0xA1, 'o', 'm', 'u' };
-static const symbol s_2_1943[2] = { 'n', 'u' };
-static const symbol s_2_1944[3] = { 'a', 'n', 'u' };
-static const symbol s_2_1945[6] = { 'a', 's', 't', 'a', 'n', 'u' };
-static const symbol s_2_1946[6] = { 'i', 's', 't', 'a', 'n', 'u' };
-static const symbol s_2_1947[6] = { 'o', 's', 't', 'a', 'n', 'u' };
-static const symbol s_2_1948[3] = { 'i', 'n', 'u' };
-static const symbol s_2_1949[4] = { 'c', 'i', 'n', 'u' };
-static const symbol s_2_1950[5] = { 'a', 'n', 'i', 'n', 'u' };
-static const symbol s_2_1951[5] = { 0xC4, 0x8D, 'i', 'n', 'u' };
-static const symbol s_2_1952[3] = { 'o', 'n', 'u' };
-static const symbol s_2_1953[3] = { 'a', 'r', 'u' };
-static const symbol s_2_1954[3] = { 'd', 'r', 'u' };
-static const symbol s_2_1955[3] = { 'e', 'r', 'u' };
-static const symbol s_2_1956[3] = { 'o', 'r', 'u' };
-static const symbol s_2_1957[4] = { 'b', 'a', 's', 'u' };
-static const symbol s_2_1958[4] = { 'g', 'a', 's', 'u' };
-static const symbol s_2_1959[4] = { 'j', 'a', 's', 'u' };
-static const symbol s_2_1960[4] = { 'k', 'a', 's', 'u' };
-static const symbol s_2_1961[4] = { 'n', 'a', 's', 'u' };
-static const symbol s_2_1962[4] = { 't', 'a', 's', 'u' };
-static const symbol s_2_1963[4] = { 'v', 'a', 's', 'u' };
-static const symbol s_2_1964[3] = { 'e', 's', 'u' };
-static const symbol s_2_1965[3] = { 'i', 's', 'u' };
-static const symbol s_2_1966[3] = { 'o', 's', 'u' };
-static const symbol s_2_1967[3] = { 'a', 't', 'u' };
-static const symbol s_2_1968[5] = { 'i', 'k', 'a', 't', 'u' };
-static const symbol s_2_1969[4] = { 'l', 'a', 't', 'u' };
-static const symbol s_2_1970[3] = { 'e', 't', 'u' };
-static const symbol s_2_1971[5] = { 'e', 'v', 'i', 't', 'u' };
-static const symbol s_2_1972[5] = { 'o', 'v', 'i', 't', 'u' };
-static const symbol s_2_1973[4] = { 'a', 's', 't', 'u' };
-static const symbol s_2_1974[4] = { 'e', 's', 't', 'u' };
-static const symbol s_2_1975[4] = { 'i', 's', 't', 'u' };
-static const symbol s_2_1976[4] = { 'k', 's', 't', 'u' };
-static const symbol s_2_1977[4] = { 'o', 's', 't', 'u' };
-static const symbol s_2_1978[5] = { 'i', 0xC5, 0xA1, 't', 'u' };
-static const symbol s_2_1979[3] = { 'a', 'v', 'u' };
-static const symbol s_2_1980[3] = { 'e', 'v', 'u' };
-static const symbol s_2_1981[3] = { 'i', 'v', 'u' };
-static const symbol s_2_1982[3] = { 'o', 'v', 'u' };
-static const symbol s_2_1983[4] = { 'l', 'o', 'v', 'u' };
-static const symbol s_2_1984[4] = { 'm', 'o', 'v', 'u' };
-static const symbol s_2_1985[4] = { 's', 't', 'v', 'u' };
-static const symbol s_2_1986[5] = { 0xC5, 0xA1, 't', 'v', 'u' };
-static const symbol s_2_1987[5] = { 'b', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1988[5] = { 'g', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1989[5] = { 'j', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1990[5] = { 'k', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1991[5] = { 'n', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1992[5] = { 't', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1993[5] = { 'v', 'a', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1994[4] = { 'e', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1995[4] = { 'i', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1996[4] = { 'o', 0xC5, 0xA1, 'u' };
-static const symbol s_2_1997[4] = { 'a', 'v', 'a', 'v' };
-static const symbol s_2_1998[4] = { 'e', 'v', 'a', 'v' };
-static const symbol s_2_1999[4] = { 'i', 'v', 'a', 'v' };
-static const symbol s_2_2000[4] = { 'u', 'v', 'a', 'v' };
-static const symbol s_2_2001[3] = { 'k', 'o', 'v' };
-static const symbol s_2_2002[3] = { 'a', 0xC5, 0xA1 };
-static const symbol s_2_2003[5] = { 'i', 'r', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2004[5] = { 'u', 'r', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2005[4] = { 't', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2006[5] = { 'a', 'v', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2007[5] = { 'e', 'v', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2008[5] = { 'i', 'v', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2009[5] = { 'u', 'v', 'a', 0xC5, 0xA1 };
-static const symbol s_2_2010[6] = { 'a', 0xC4, 0x8D, 'a', 0xC5, 0xA1 };
-static const symbol s_2_2011[3] = { 'e', 0xC5, 0xA1 };
-static const symbol s_2_2012[8] = { 'a', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2013[8] = { 'i', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2014[8] = { 'o', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2015[8] = { 'a', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2016[8] = { 'i', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2017[8] = { 'o', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2018[5] = { 'i', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2019[6] = { 'i', 'n', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2020[5] = { 'u', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2021[7] = { 'i', 'r', 'u', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2022[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2023[4] = { 'n', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2024[8] = { 'a', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2025[8] = { 'i', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2026[8] = { 'o', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2027[5] = { 'e', 't', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2028[6] = { 'a', 's', 't', 'e', 0xC5, 0xA1 };
-static const symbol s_2_2029[3] = { 'i', 0xC5, 0xA1 };
-static const symbol s_2_2030[4] = { 'n', 'i', 0xC5, 0xA1 };
-static const symbol s_2_2031[6] = { 'j', 'e', 't', 'i', 0xC5, 0xA1 };
-static const symbol s_2_2032[6] = { 'a', 0xC4, 0x8D, 'i', 0xC5, 0xA1 };
-static const symbol s_2_2033[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 0xC5, 0xA1 };
-static const symbol s_2_2034[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 0xC5, 0xA1 };
-
-static const struct among a_2[2035] =
-{
-{ 3, s_2_0, -1, 124, 0},
-{ 3, s_2_1, -1, 125, 0},
-{ 3, s_2_2, -1, 126, 0},
-{ 2, s_2_3, -1, 20, 0},
-{ 5, s_2_4, 3, 124, 0},
-{ 5, s_2_5, 3, 125, 0},
-{ 5, s_2_6, 3, 126, 0},
-{ 8, s_2_7, 3, 84, 0},
-{ 8, s_2_8, 3, 85, 0},
-{ 8, s_2_9, 3, 122, 0},
-{ 9, s_2_10, 3, 86, 0},
-{ 6, s_2_11, 3, 95, 0},
-{ 7, s_2_12, 11, 1, 0},
-{ 8, s_2_13, 11, 2, 0},
-{ 7, s_2_14, 3, 83, 0},
-{ 6, s_2_15, 3, 13, 0},
-{ 7, s_2_16, 3, 123, 0},
-{ 7, s_2_17, 3, 120, 0},
-{ 9, s_2_18, 3, 92, 0},
-{ 9, s_2_19, 3, 93, 0},
-{ 8, s_2_20, 3, 94, 0},
-{ 7, s_2_21, 3, 77, 0},
-{ 7, s_2_22, 3, 78, 0},
-{ 7, s_2_23, 3, 79, 0},
-{ 7, s_2_24, 3, 80, 0},
-{ 8, s_2_25, 3, 91, 0},
-{ 6, s_2_26, 3, 84, 0},
-{ 6, s_2_27, 3, 85, 0},
-{ 6, s_2_28, 3, 122, 0},
-{ 7, s_2_29, 3, 86, 0},
-{ 4, s_2_30, 3, 95, 0},
-{ 5, s_2_31, 30, 1, 0},
-{ 6, s_2_32, 30, 2, 0},
-{ 5, s_2_33, 3, 83, 0},
-{ 4, s_2_34, 3, 13, 0},
-{ 5, s_2_35, 34, 10, 0},
-{ 5, s_2_36, 34, 87, 0},
-{ 5, s_2_37, 34, 159, 0},
-{ 6, s_2_38, 34, 88, 0},
-{ 5, s_2_39, 3, 123, 0},
-{ 5, s_2_40, 3, 120, 0},
-{ 7, s_2_41, 3, 92, 0},
-{ 7, s_2_42, 3, 93, 0},
-{ 6, s_2_43, 3, 94, 0},
-{ 5, s_2_44, 3, 77, 0},
-{ 5, s_2_45, 3, 78, 0},
-{ 5, s_2_46, 3, 79, 0},
-{ 5, s_2_47, 3, 80, 0},
-{ 6, s_2_48, 3, 14, 0},
-{ 6, s_2_49, 3, 15, 0},
-{ 6, s_2_50, 3, 16, 0},
-{ 6, s_2_51, 3, 91, 0},
-{ 5, s_2_52, 3, 124, 0},
-{ 5, s_2_53, 3, 125, 0},
-{ 5, s_2_54, 3, 126, 0},
-{ 6, s_2_55, 3, 84, 0},
-{ 6, s_2_56, 3, 85, 0},
-{ 6, s_2_57, 3, 122, 0},
-{ 7, s_2_58, 3, 86, 0},
-{ 4, s_2_59, 3, 95, 0},
-{ 5, s_2_60, 59, 1, 0},
-{ 6, s_2_61, 59, 2, 0},
-{ 4, s_2_62, 3, 19, 0},
-{ 5, s_2_63, 62, 83, 0},
-{ 4, s_2_64, 3, 13, 0},
-{ 6, s_2_65, 64, 137, 0},
-{ 7, s_2_66, 64, 89, 0},
-{ 5, s_2_67, 3, 123, 0},
-{ 5, s_2_68, 3, 120, 0},
-{ 7, s_2_69, 3, 92, 0},
-{ 7, s_2_70, 3, 93, 0},
-{ 6, s_2_71, 3, 94, 0},
-{ 5, s_2_72, 3, 77, 0},
-{ 5, s_2_73, 3, 78, 0},
-{ 5, s_2_74, 3, 79, 0},
-{ 5, s_2_75, 3, 80, 0},
-{ 6, s_2_76, 3, 14, 0},
-{ 6, s_2_77, 3, 15, 0},
-{ 6, s_2_78, 3, 16, 0},
-{ 6, s_2_79, 3, 91, 0},
-{ 3, s_2_80, 3, 18, 0},
-{ 3, s_2_81, -1, 109, 0},
-{ 4, s_2_82, 81, 26, 0},
-{ 4, s_2_83, 81, 30, 0},
-{ 4, s_2_84, 81, 31, 0},
-{ 5, s_2_85, 81, 28, 0},
-{ 5, s_2_86, 81, 27, 0},
-{ 5, s_2_87, 81, 29, 0},
-{ 4, s_2_88, -1, 32, 0},
-{ 4, s_2_89, -1, 33, 0},
-{ 4, s_2_90, -1, 34, 0},
-{ 4, s_2_91, -1, 40, 0},
-{ 4, s_2_92, -1, 39, 0},
-{ 6, s_2_93, -1, 84, 0},
-{ 6, s_2_94, -1, 85, 0},
-{ 6, s_2_95, -1, 122, 0},
-{ 7, s_2_96, -1, 86, 0},
-{ 4, s_2_97, -1, 95, 0},
-{ 5, s_2_98, 97, 1, 0},
-{ 6, s_2_99, 97, 2, 0},
-{ 4, s_2_100, -1, 24, 0},
-{ 5, s_2_101, 100, 83, 0},
-{ 4, s_2_102, -1, 37, 0},
-{ 4, s_2_103, -1, 13, 0},
-{ 6, s_2_104, 103, 9, 0},
-{ 6, s_2_105, 103, 6, 0},
-{ 6, s_2_106, 103, 7, 0},
-{ 6, s_2_107, 103, 8, 0},
-{ 6, s_2_108, 103, 5, 0},
-{ 4, s_2_109, -1, 41, 0},
-{ 4, s_2_110, -1, 42, 0},
-{ 6, s_2_111, 110, 21, 0},
-{ 4, s_2_112, -1, 23, 0},
-{ 5, s_2_113, 112, 123, 0},
-{ 4, s_2_114, -1, 44, 0},
-{ 5, s_2_115, 114, 120, 0},
-{ 7, s_2_116, 114, 92, 0},
-{ 7, s_2_117, 114, 93, 0},
-{ 5, s_2_118, 114, 22, 0},
-{ 6, s_2_119, 114, 94, 0},
-{ 5, s_2_120, -1, 77, 0},
-{ 5, s_2_121, -1, 78, 0},
-{ 5, s_2_122, -1, 79, 0},
-{ 5, s_2_123, -1, 80, 0},
-{ 4, s_2_124, -1, 45, 0},
-{ 6, s_2_125, -1, 91, 0},
-{ 5, s_2_126, -1, 38, 0},
-{ 4, s_2_127, -1, 84, 0},
-{ 4, s_2_128, -1, 85, 0},
-{ 4, s_2_129, -1, 122, 0},
-{ 5, s_2_130, -1, 86, 0},
-{ 2, s_2_131, -1, 95, 0},
-{ 3, s_2_132, 131, 1, 0},
-{ 4, s_2_133, 131, 2, 0},
-{ 3, s_2_134, -1, 104, 0},
-{ 5, s_2_135, 134, 128, 0},
-{ 8, s_2_136, 134, 106, 0},
-{ 8, s_2_137, 134, 107, 0},
-{ 8, s_2_138, 134, 108, 0},
-{ 5, s_2_139, 134, 47, 0},
-{ 6, s_2_140, 134, 114, 0},
-{ 4, s_2_141, 134, 46, 0},
-{ 5, s_2_142, 134, 100, 0},
-{ 5, s_2_143, 134, 105, 0},
-{ 4, s_2_144, 134, 113, 0},
-{ 6, s_2_145, 144, 110, 0},
-{ 6, s_2_146, 144, 111, 0},
-{ 6, s_2_147, 144, 112, 0},
-{ 5, s_2_148, 134, 97, 0},
-{ 5, s_2_149, 134, 96, 0},
-{ 5, s_2_150, 134, 98, 0},
-{ 5, s_2_151, 134, 76, 0},
-{ 5, s_2_152, 134, 99, 0},
-{ 6, s_2_153, 134, 102, 0},
-{ 3, s_2_154, -1, 83, 0},
-{ 3, s_2_155, -1, 116, 0},
-{ 5, s_2_156, 155, 124, 0},
-{ 6, s_2_157, 155, 121, 0},
-{ 4, s_2_158, 155, 103, 0},
-{ 8, s_2_159, 158, 110, 0},
-{ 8, s_2_160, 158, 111, 0},
-{ 8, s_2_161, 158, 112, 0},
-{ 6, s_2_162, 155, 127, 0},
-{ 6, s_2_163, 155, 118, 0},
-{ 5, s_2_164, 155, 48, 0},
-{ 6, s_2_165, 155, 101, 0},
-{ 7, s_2_166, 155, 117, 0},
-{ 7, s_2_167, 155, 90, 0},
-{ 3, s_2_168, -1, 50, 0},
-{ 4, s_2_169, -1, 115, 0},
-{ 4, s_2_170, -1, 13, 0},
-{ 4, s_2_171, -1, 20, 0},
-{ 6, s_2_172, 171, 19, 0},
-{ 5, s_2_173, 171, 18, 0},
-{ 5, s_2_174, -1, 109, 0},
-{ 6, s_2_175, 174, 26, 0},
-{ 6, s_2_176, 174, 30, 0},
-{ 6, s_2_177, 174, 31, 0},
-{ 7, s_2_178, 174, 28, 0},
-{ 7, s_2_179, 174, 27, 0},
-{ 7, s_2_180, 174, 29, 0},
-{ 6, s_2_181, -1, 32, 0},
-{ 6, s_2_182, -1, 33, 0},
-{ 6, s_2_183, -1, 34, 0},
-{ 6, s_2_184, -1, 40, 0},
-{ 6, s_2_185, -1, 39, 0},
-{ 6, s_2_186, -1, 35, 0},
-{ 6, s_2_187, -1, 37, 0},
-{ 6, s_2_188, -1, 36, 0},
-{ 8, s_2_189, 188, 9, 0},
-{ 8, s_2_190, 188, 6, 0},
-{ 8, s_2_191, 188, 7, 0},
-{ 8, s_2_192, 188, 8, 0},
-{ 8, s_2_193, 188, 5, 0},
-{ 6, s_2_194, -1, 41, 0},
-{ 6, s_2_195, -1, 42, 0},
-{ 6, s_2_196, -1, 43, 0},
-{ 6, s_2_197, -1, 44, 0},
-{ 6, s_2_198, -1, 45, 0},
-{ 7, s_2_199, -1, 38, 0},
-{ 5, s_2_200, -1, 104, 0},
-{ 7, s_2_201, 200, 47, 0},
-{ 6, s_2_202, 200, 46, 0},
-{ 5, s_2_203, -1, 119, 0},
-{ 5, s_2_204, -1, 116, 0},
-{ 6, s_2_205, -1, 52, 0},
-{ 6, s_2_206, -1, 51, 0},
-{ 5, s_2_207, -1, 11, 0},
-{ 6, s_2_208, 207, 137, 0},
-{ 7, s_2_209, 207, 89, 0},
-{ 4, s_2_210, -1, 52, 0},
-{ 5, s_2_211, 210, 53, 0},
-{ 5, s_2_212, 210, 54, 0},
-{ 5, s_2_213, 210, 55, 0},
-{ 5, s_2_214, 210, 56, 0},
-{ 6, s_2_215, -1, 135, 0},
-{ 6, s_2_216, -1, 131, 0},
-{ 6, s_2_217, -1, 129, 0},
-{ 6, s_2_218, -1, 133, 0},
-{ 6, s_2_219, -1, 132, 0},
-{ 6, s_2_220, -1, 130, 0},
-{ 6, s_2_221, -1, 134, 0},
-{ 5, s_2_222, -1, 152, 0},
-{ 5, s_2_223, -1, 154, 0},
-{ 5, s_2_224, -1, 70, 0},
-{ 6, s_2_225, -1, 71, 0},
-{ 6, s_2_226, -1, 72, 0},
-{ 6, s_2_227, -1, 73, 0},
-{ 6, s_2_228, -1, 74, 0},
-{ 5, s_2_229, -1, 77, 0},
-{ 5, s_2_230, -1, 78, 0},
-{ 5, s_2_231, -1, 79, 0},
-{ 7, s_2_232, -1, 63, 0},
-{ 7, s_2_233, -1, 64, 0},
-{ 7, s_2_234, -1, 61, 0},
-{ 7, s_2_235, -1, 62, 0},
-{ 7, s_2_236, -1, 60, 0},
-{ 7, s_2_237, -1, 59, 0},
-{ 7, s_2_238, -1, 65, 0},
-{ 6, s_2_239, -1, 66, 0},
-{ 6, s_2_240, -1, 67, 0},
-{ 4, s_2_241, -1, 51, 0},
-{ 5, s_2_242, -1, 124, 0},
-{ 5, s_2_243, -1, 125, 0},
-{ 5, s_2_244, -1, 126, 0},
-{ 5, s_2_245, -1, 109, 0},
-{ 6, s_2_246, 245, 26, 0},
-{ 6, s_2_247, 245, 30, 0},
-{ 6, s_2_248, 245, 31, 0},
-{ 7, s_2_249, 245, 28, 0},
-{ 7, s_2_250, 245, 27, 0},
-{ 7, s_2_251, 245, 29, 0},
-{ 6, s_2_252, -1, 32, 0},
-{ 6, s_2_253, -1, 33, 0},
-{ 6, s_2_254, -1, 34, 0},
-{ 6, s_2_255, -1, 40, 0},
-{ 6, s_2_256, -1, 39, 0},
-{ 8, s_2_257, -1, 84, 0},
-{ 8, s_2_258, -1, 85, 0},
-{ 8, s_2_259, -1, 122, 0},
-{ 9, s_2_260, -1, 86, 0},
-{ 6, s_2_261, -1, 95, 0},
-{ 7, s_2_262, 261, 1, 0},
-{ 8, s_2_263, 261, 2, 0},
-{ 6, s_2_264, -1, 35, 0},
-{ 7, s_2_265, 264, 83, 0},
-{ 6, s_2_266, -1, 37, 0},
-{ 6, s_2_267, -1, 13, 0},
-{ 8, s_2_268, 267, 9, 0},
-{ 8, s_2_269, 267, 6, 0},
-{ 8, s_2_270, 267, 7, 0},
-{ 8, s_2_271, 267, 8, 0},
-{ 8, s_2_272, 267, 5, 0},
-{ 6, s_2_273, -1, 41, 0},
-{ 6, s_2_274, -1, 42, 0},
-{ 6, s_2_275, -1, 43, 0},
-{ 7, s_2_276, 275, 123, 0},
-{ 6, s_2_277, -1, 44, 0},
-{ 7, s_2_278, 277, 120, 0},
-{ 9, s_2_279, 277, 92, 0},
-{ 9, s_2_280, 277, 93, 0},
-{ 8, s_2_281, 277, 94, 0},
-{ 7, s_2_282, -1, 77, 0},
-{ 7, s_2_283, -1, 78, 0},
-{ 7, s_2_284, -1, 79, 0},
-{ 7, s_2_285, -1, 80, 0},
-{ 6, s_2_286, -1, 45, 0},
-{ 8, s_2_287, -1, 91, 0},
-{ 7, s_2_288, -1, 38, 0},
-{ 6, s_2_289, -1, 84, 0},
-{ 6, s_2_290, -1, 85, 0},
-{ 6, s_2_291, -1, 122, 0},
-{ 7, s_2_292, -1, 86, 0},
-{ 4, s_2_293, -1, 95, 0},
-{ 5, s_2_294, 293, 1, 0},
-{ 6, s_2_295, 293, 2, 0},
-{ 5, s_2_296, -1, 104, 0},
-{ 7, s_2_297, 296, 47, 0},
-{ 6, s_2_298, 296, 46, 0},
-{ 5, s_2_299, -1, 83, 0},
-{ 5, s_2_300, -1, 116, 0},
-{ 7, s_2_301, 300, 48, 0},
-{ 5, s_2_302, -1, 50, 0},
-{ 6, s_2_303, -1, 51, 0},
-{ 4, s_2_304, -1, 13, 0},
-{ 5, s_2_305, 304, 10, 0},
-{ 5, s_2_306, 304, 11, 0},
-{ 6, s_2_307, 306, 137, 0},
-{ 7, s_2_308, 306, 89, 0},
-{ 5, s_2_309, 304, 12, 0},
-{ 5, s_2_310, -1, 53, 0},
-{ 5, s_2_311, -1, 54, 0},
-{ 5, s_2_312, -1, 55, 0},
-{ 5, s_2_313, -1, 56, 0},
-{ 6, s_2_314, -1, 135, 0},
-{ 6, s_2_315, -1, 131, 0},
-{ 6, s_2_316, -1, 129, 0},
-{ 6, s_2_317, -1, 133, 0},
-{ 6, s_2_318, -1, 132, 0},
-{ 6, s_2_319, -1, 130, 0},
-{ 6, s_2_320, -1, 134, 0},
-{ 5, s_2_321, -1, 57, 0},
-{ 5, s_2_322, -1, 58, 0},
-{ 5, s_2_323, -1, 123, 0},
-{ 5, s_2_324, -1, 120, 0},
-{ 7, s_2_325, 324, 68, 0},
-{ 6, s_2_326, 324, 69, 0},
-{ 5, s_2_327, -1, 70, 0},
-{ 7, s_2_328, -1, 92, 0},
-{ 7, s_2_329, -1, 93, 0},
-{ 6, s_2_330, -1, 94, 0},
-{ 6, s_2_331, -1, 71, 0},
-{ 6, s_2_332, -1, 72, 0},
-{ 6, s_2_333, -1, 73, 0},
-{ 6, s_2_334, -1, 74, 0},
-{ 7, s_2_335, -1, 75, 0},
-{ 5, s_2_336, -1, 77, 0},
-{ 5, s_2_337, -1, 78, 0},
-{ 7, s_2_338, 337, 109, 0},
-{ 8, s_2_339, 338, 26, 0},
-{ 8, s_2_340, 338, 30, 0},
-{ 8, s_2_341, 338, 31, 0},
-{ 9, s_2_342, 338, 28, 0},
-{ 9, s_2_343, 338, 27, 0},
-{ 9, s_2_344, 338, 29, 0},
-{ 5, s_2_345, -1, 79, 0},
-{ 5, s_2_346, -1, 80, 0},
-{ 6, s_2_347, 346, 20, 0},
-{ 7, s_2_348, 347, 17, 0},
-{ 6, s_2_349, 346, 82, 0},
-{ 7, s_2_350, 349, 49, 0},
-{ 6, s_2_351, 346, 81, 0},
-{ 7, s_2_352, 346, 12, 0},
-{ 6, s_2_353, -1, 3, 0},
-{ 7, s_2_354, -1, 4, 0},
-{ 6, s_2_355, -1, 14, 0},
-{ 6, s_2_356, -1, 15, 0},
-{ 6, s_2_357, -1, 16, 0},
-{ 7, s_2_358, -1, 63, 0},
-{ 7, s_2_359, -1, 64, 0},
-{ 7, s_2_360, -1, 61, 0},
-{ 7, s_2_361, -1, 62, 0},
-{ 7, s_2_362, -1, 60, 0},
-{ 7, s_2_363, -1, 59, 0},
-{ 7, s_2_364, -1, 65, 0},
-{ 6, s_2_365, -1, 66, 0},
-{ 6, s_2_366, -1, 67, 0},
-{ 6, s_2_367, -1, 91, 0},
-{ 2, s_2_368, -1, 13, 0},
-{ 3, s_2_369, 368, 10, 0},
-{ 5, s_2_370, 369, 128, 0},
-{ 5, s_2_371, 369, 105, 0},
-{ 4, s_2_372, 369, 113, 0},
-{ 5, s_2_373, 369, 97, 0},
-{ 5, s_2_374, 369, 96, 0},
-{ 5, s_2_375, 369, 98, 0},
-{ 5, s_2_376, 369, 99, 0},
-{ 6, s_2_377, 369, 102, 0},
-{ 5, s_2_378, 368, 124, 0},
-{ 6, s_2_379, 368, 121, 0},
-{ 6, s_2_380, 368, 101, 0},
-{ 7, s_2_381, 368, 117, 0},
-{ 3, s_2_382, 368, 11, 0},
-{ 4, s_2_383, 382, 137, 0},
-{ 5, s_2_384, 382, 10, 0},
-{ 5, s_2_385, 382, 89, 0},
-{ 3, s_2_386, 368, 12, 0},
-{ 3, s_2_387, -1, 53, 0},
-{ 3, s_2_388, -1, 54, 0},
-{ 3, s_2_389, -1, 55, 0},
-{ 3, s_2_390, -1, 56, 0},
-{ 4, s_2_391, -1, 135, 0},
-{ 4, s_2_392, -1, 131, 0},
-{ 4, s_2_393, -1, 129, 0},
-{ 4, s_2_394, -1, 133, 0},
-{ 4, s_2_395, -1, 132, 0},
-{ 4, s_2_396, -1, 130, 0},
-{ 4, s_2_397, -1, 134, 0},
-{ 3, s_2_398, -1, 57, 0},
-{ 3, s_2_399, -1, 58, 0},
-{ 3, s_2_400, -1, 123, 0},
-{ 3, s_2_401, -1, 120, 0},
-{ 5, s_2_402, 401, 68, 0},
-{ 4, s_2_403, 401, 69, 0},
-{ 3, s_2_404, -1, 70, 0},
-{ 5, s_2_405, -1, 92, 0},
-{ 5, s_2_406, -1, 93, 0},
-{ 4, s_2_407, -1, 94, 0},
-{ 4, s_2_408, -1, 71, 0},
-{ 4, s_2_409, -1, 72, 0},
-{ 4, s_2_410, -1, 73, 0},
-{ 4, s_2_411, -1, 74, 0},
-{ 4, s_2_412, -1, 13, 0},
-{ 5, s_2_413, -1, 75, 0},
-{ 3, s_2_414, -1, 77, 0},
-{ 3, s_2_415, -1, 78, 0},
-{ 5, s_2_416, 415, 109, 0},
-{ 6, s_2_417, 416, 26, 0},
-{ 6, s_2_418, 416, 30, 0},
-{ 6, s_2_419, 416, 31, 0},
-{ 7, s_2_420, 416, 28, 0},
-{ 7, s_2_421, 416, 27, 0},
-{ 7, s_2_422, 416, 29, 0},
-{ 3, s_2_423, -1, 79, 0},
-{ 3, s_2_424, -1, 80, 0},
-{ 4, s_2_425, 424, 20, 0},
-{ 5, s_2_426, 425, 17, 0},
-{ 4, s_2_427, 424, 82, 0},
-{ 5, s_2_428, 427, 49, 0},
-{ 4, s_2_429, 424, 81, 0},
-{ 5, s_2_430, 424, 12, 0},
-{ 4, s_2_431, -1, 3, 0},
-{ 5, s_2_432, -1, 4, 0},
-{ 4, s_2_433, -1, 14, 0},
-{ 4, s_2_434, -1, 15, 0},
-{ 4, s_2_435, -1, 16, 0},
-{ 5, s_2_436, -1, 63, 0},
-{ 5, s_2_437, -1, 64, 0},
-{ 5, s_2_438, -1, 61, 0},
-{ 5, s_2_439, -1, 62, 0},
-{ 5, s_2_440, -1, 60, 0},
-{ 5, s_2_441, -1, 59, 0},
-{ 5, s_2_442, -1, 65, 0},
-{ 4, s_2_443, -1, 66, 0},
-{ 4, s_2_444, -1, 67, 0},
-{ 4, s_2_445, -1, 91, 0},
-{ 3, s_2_446, -1, 124, 0},
-{ 3, s_2_447, -1, 125, 0},
-{ 3, s_2_448, -1, 126, 0},
-{ 4, s_2_449, 448, 121, 0},
-{ 6, s_2_450, -1, 110, 0},
-{ 6, s_2_451, -1, 111, 0},
-{ 6, s_2_452, -1, 112, 0},
-{ 2, s_2_453, -1, 20, 0},
-{ 4, s_2_454, 453, 19, 0},
-{ 3, s_2_455, 453, 18, 0},
-{ 3, s_2_456, -1, 104, 0},
-{ 4, s_2_457, 456, 26, 0},
-{ 4, s_2_458, 456, 30, 0},
-{ 4, s_2_459, 456, 31, 0},
-{ 6, s_2_460, 456, 106, 0},
-{ 6, s_2_461, 456, 107, 0},
-{ 6, s_2_462, 456, 108, 0},
-{ 5, s_2_463, 456, 28, 0},
-{ 5, s_2_464, 456, 27, 0},
-{ 5, s_2_465, 456, 29, 0},
-{ 3, s_2_466, -1, 116, 0},
-{ 4, s_2_467, 466, 32, 0},
-{ 4, s_2_468, 466, 33, 0},
-{ 4, s_2_469, 466, 34, 0},
-{ 4, s_2_470, 466, 40, 0},
-{ 4, s_2_471, 466, 39, 0},
-{ 6, s_2_472, 466, 84, 0},
-{ 6, s_2_473, 466, 85, 0},
-{ 6, s_2_474, 466, 122, 0},
-{ 7, s_2_475, 466, 86, 0},
-{ 4, s_2_476, 466, 95, 0},
-{ 5, s_2_477, 476, 1, 0},
-{ 6, s_2_478, 476, 2, 0},
-{ 4, s_2_479, 466, 35, 0},
-{ 5, s_2_480, 479, 83, 0},
-{ 4, s_2_481, 466, 37, 0},
-{ 4, s_2_482, 466, 13, 0},
-{ 6, s_2_483, 482, 9, 0},
-{ 6, s_2_484, 482, 6, 0},
-{ 6, s_2_485, 482, 7, 0},
-{ 6, s_2_486, 482, 8, 0},
-{ 6, s_2_487, 482, 5, 0},
-{ 4, s_2_488, 466, 41, 0},
-{ 4, s_2_489, 466, 42, 0},
-{ 4, s_2_490, 466, 43, 0},
-{ 5, s_2_491, 490, 123, 0},
-{ 4, s_2_492, 466, 44, 0},
-{ 5, s_2_493, 492, 120, 0},
-{ 7, s_2_494, 492, 92, 0},
-{ 7, s_2_495, 492, 93, 0},
-{ 6, s_2_496, 492, 94, 0},
-{ 5, s_2_497, 466, 77, 0},
-{ 5, s_2_498, 466, 78, 0},
-{ 5, s_2_499, 466, 79, 0},
-{ 5, s_2_500, 466, 80, 0},
-{ 4, s_2_501, 466, 45, 0},
-{ 6, s_2_502, 466, 91, 0},
-{ 5, s_2_503, 466, 38, 0},
-{ 4, s_2_504, -1, 84, 0},
-{ 4, s_2_505, -1, 85, 0},
-{ 4, s_2_506, -1, 122, 0},
-{ 5, s_2_507, -1, 86, 0},
-{ 3, s_2_508, -1, 25, 0},
-{ 6, s_2_509, 508, 121, 0},
-{ 5, s_2_510, 508, 100, 0},
-{ 7, s_2_511, 508, 117, 0},
-{ 2, s_2_512, -1, 95, 0},
-{ 3, s_2_513, 512, 1, 0},
-{ 4, s_2_514, 512, 2, 0},
-{ 3, s_2_515, -1, 104, 0},
-{ 5, s_2_516, 515, 128, 0},
-{ 8, s_2_517, 515, 106, 0},
-{ 8, s_2_518, 515, 107, 0},
-{ 8, s_2_519, 515, 108, 0},
-{ 5, s_2_520, 515, 47, 0},
-{ 6, s_2_521, 515, 114, 0},
-{ 4, s_2_522, 515, 46, 0},
-{ 5, s_2_523, 515, 100, 0},
-{ 5, s_2_524, 515, 105, 0},
-{ 4, s_2_525, 515, 113, 0},
-{ 6, s_2_526, 525, 110, 0},
-{ 6, s_2_527, 525, 111, 0},
-{ 6, s_2_528, 525, 112, 0},
-{ 5, s_2_529, 515, 97, 0},
-{ 5, s_2_530, 515, 96, 0},
-{ 5, s_2_531, 515, 98, 0},
-{ 5, s_2_532, 515, 76, 0},
-{ 5, s_2_533, 515, 99, 0},
-{ 6, s_2_534, 515, 102, 0},
-{ 3, s_2_535, -1, 83, 0},
-{ 3, s_2_536, -1, 116, 0},
-{ 5, s_2_537, 536, 124, 0},
-{ 6, s_2_538, 536, 121, 0},
-{ 4, s_2_539, 536, 103, 0},
-{ 6, s_2_540, 536, 127, 0},
-{ 6, s_2_541, 536, 118, 0},
-{ 5, s_2_542, 536, 48, 0},
-{ 6, s_2_543, 536, 101, 0},
-{ 7, s_2_544, 536, 117, 0},
-{ 7, s_2_545, 536, 90, 0},
-{ 3, s_2_546, -1, 50, 0},
-{ 4, s_2_547, -1, 115, 0},
-{ 4, s_2_548, -1, 13, 0},
-{ 4, s_2_549, -1, 52, 0},
-{ 4, s_2_550, -1, 51, 0},
-{ 5, s_2_551, -1, 124, 0},
-{ 5, s_2_552, -1, 125, 0},
-{ 5, s_2_553, -1, 126, 0},
-{ 6, s_2_554, -1, 84, 0},
-{ 6, s_2_555, -1, 85, 0},
-{ 6, s_2_556, -1, 122, 0},
-{ 7, s_2_557, -1, 86, 0},
-{ 4, s_2_558, -1, 95, 0},
-{ 5, s_2_559, 558, 1, 0},
-{ 6, s_2_560, 558, 2, 0},
-{ 5, s_2_561, -1, 83, 0},
-{ 4, s_2_562, -1, 13, 0},
-{ 6, s_2_563, 562, 137, 0},
-{ 7, s_2_564, 562, 89, 0},
-{ 5, s_2_565, -1, 123, 0},
-{ 5, s_2_566, -1, 120, 0},
-{ 7, s_2_567, -1, 92, 0},
-{ 7, s_2_568, -1, 93, 0},
-{ 6, s_2_569, -1, 94, 0},
-{ 5, s_2_570, -1, 77, 0},
-{ 5, s_2_571, -1, 78, 0},
-{ 5, s_2_572, -1, 79, 0},
-{ 5, s_2_573, -1, 80, 0},
-{ 6, s_2_574, -1, 14, 0},
-{ 6, s_2_575, -1, 15, 0},
-{ 6, s_2_576, -1, 16, 0},
-{ 6, s_2_577, -1, 91, 0},
-{ 2, s_2_578, -1, 13, 0},
-{ 3, s_2_579, 578, 10, 0},
-{ 5, s_2_580, 579, 128, 0},
-{ 5, s_2_581, 579, 105, 0},
-{ 4, s_2_582, 579, 113, 0},
-{ 6, s_2_583, 582, 110, 0},
-{ 6, s_2_584, 582, 111, 0},
-{ 6, s_2_585, 582, 112, 0},
-{ 5, s_2_586, 579, 97, 0},
-{ 5, s_2_587, 579, 96, 0},
-{ 5, s_2_588, 579, 98, 0},
-{ 5, s_2_589, 579, 99, 0},
-{ 6, s_2_590, 579, 102, 0},
-{ 5, s_2_591, 578, 124, 0},
-{ 6, s_2_592, 578, 121, 0},
-{ 6, s_2_593, 578, 101, 0},
-{ 7, s_2_594, 578, 117, 0},
-{ 3, s_2_595, 578, 11, 0},
-{ 4, s_2_596, 595, 137, 0},
-{ 5, s_2_597, 595, 10, 0},
-{ 5, s_2_598, 595, 89, 0},
-{ 3, s_2_599, 578, 12, 0},
-{ 3, s_2_600, -1, 53, 0},
-{ 3, s_2_601, -1, 54, 0},
-{ 3, s_2_602, -1, 55, 0},
-{ 3, s_2_603, -1, 56, 0},
-{ 3, s_2_604, -1, 161, 0},
-{ 4, s_2_605, 604, 135, 0},
-{ 5, s_2_606, 604, 128, 0},
-{ 4, s_2_607, 604, 131, 0},
-{ 4, s_2_608, 604, 129, 0},
-{ 8, s_2_609, 608, 138, 0},
-{ 8, s_2_610, 608, 139, 0},
-{ 8, s_2_611, 608, 140, 0},
-{ 6, s_2_612, 608, 150, 0},
-{ 4, s_2_613, 604, 133, 0},
-{ 4, s_2_614, 604, 132, 0},
-{ 5, s_2_615, 604, 155, 0},
-{ 5, s_2_616, 604, 156, 0},
-{ 4, s_2_617, 604, 130, 0},
-{ 4, s_2_618, 604, 134, 0},
-{ 5, s_2_619, 618, 144, 0},
-{ 5, s_2_620, 618, 145, 0},
-{ 5, s_2_621, 618, 146, 0},
-{ 5, s_2_622, 618, 148, 0},
-{ 5, s_2_623, 618, 147, 0},
-{ 3, s_2_624, -1, 57, 0},
-{ 3, s_2_625, -1, 58, 0},
-{ 5, s_2_626, 625, 124, 0},
-{ 6, s_2_627, 625, 121, 0},
-{ 6, s_2_628, 625, 127, 0},
-{ 6, s_2_629, 625, 149, 0},
-{ 3, s_2_630, -1, 123, 0},
-{ 8, s_2_631, 630, 141, 0},
-{ 8, s_2_632, 630, 142, 0},
-{ 8, s_2_633, 630, 143, 0},
-{ 3, s_2_634, -1, 104, 0},
-{ 5, s_2_635, 634, 128, 0},
-{ 5, s_2_636, 634, 68, 0},
-{ 4, s_2_637, 634, 69, 0},
-{ 5, s_2_638, 634, 100, 0},
-{ 5, s_2_639, 634, 105, 0},
-{ 4, s_2_640, 634, 113, 0},
-{ 5, s_2_641, 634, 97, 0},
-{ 5, s_2_642, 634, 96, 0},
-{ 5, s_2_643, 634, 98, 0},
-{ 5, s_2_644, 634, 99, 0},
-{ 6, s_2_645, 634, 102, 0},
-{ 3, s_2_646, -1, 70, 0},
-{ 8, s_2_647, 646, 110, 0},
-{ 8, s_2_648, 646, 111, 0},
-{ 8, s_2_649, 646, 112, 0},
-{ 8, s_2_650, 646, 106, 0},
-{ 8, s_2_651, 646, 107, 0},
-{ 8, s_2_652, 646, 108, 0},
-{ 5, s_2_653, 646, 116, 0},
-{ 6, s_2_654, 646, 114, 0},
-{ 5, s_2_655, 646, 25, 0},
-{ 8, s_2_656, 655, 121, 0},
-{ 7, s_2_657, 655, 100, 0},
-{ 9, s_2_658, 655, 117, 0},
-{ 4, s_2_659, 646, 13, 0},
-{ 8, s_2_660, 659, 110, 0},
-{ 8, s_2_661, 659, 111, 0},
-{ 8, s_2_662, 659, 112, 0},
-{ 6, s_2_663, 646, 115, 0},
-{ 3, s_2_664, -1, 116, 0},
-{ 5, s_2_665, 664, 124, 0},
-{ 6, s_2_666, 664, 121, 0},
-{ 4, s_2_667, 664, 13, 0},
-{ 8, s_2_668, 667, 110, 0},
-{ 8, s_2_669, 667, 111, 0},
-{ 8, s_2_670, 667, 112, 0},
-{ 6, s_2_671, 664, 127, 0},
-{ 6, s_2_672, 664, 118, 0},
-{ 6, s_2_673, 664, 115, 0},
-{ 5, s_2_674, 664, 92, 0},
-{ 5, s_2_675, 664, 93, 0},
-{ 6, s_2_676, 664, 101, 0},
-{ 7, s_2_677, 664, 117, 0},
-{ 7, s_2_678, 664, 90, 0},
-{ 4, s_2_679, -1, 104, 0},
-{ 6, s_2_680, 679, 105, 0},
-{ 5, s_2_681, 679, 113, 0},
-{ 7, s_2_682, 681, 106, 0},
-{ 7, s_2_683, 681, 107, 0},
-{ 7, s_2_684, 681, 108, 0},
-{ 6, s_2_685, 679, 97, 0},
-{ 6, s_2_686, 679, 96, 0},
-{ 6, s_2_687, 679, 98, 0},
-{ 6, s_2_688, 679, 99, 0},
-{ 4, s_2_689, -1, 116, 0},
-{ 7, s_2_690, -1, 121, 0},
-{ 6, s_2_691, -1, 100, 0},
-{ 8, s_2_692, -1, 117, 0},
-{ 4, s_2_693, -1, 94, 0},
-{ 6, s_2_694, 693, 128, 0},
-{ 9, s_2_695, 693, 106, 0},
-{ 9, s_2_696, 693, 107, 0},
-{ 9, s_2_697, 693, 108, 0},
-{ 7, s_2_698, 693, 114, 0},
-{ 6, s_2_699, 693, 100, 0},
-{ 6, s_2_700, 693, 105, 0},
-{ 5, s_2_701, 693, 113, 0},
-{ 6, s_2_702, 693, 97, 0},
-{ 6, s_2_703, 693, 96, 0},
-{ 6, s_2_704, 693, 98, 0},
-{ 6, s_2_705, 693, 76, 0},
-{ 6, s_2_706, 693, 99, 0},
-{ 7, s_2_707, 693, 102, 0},
-{ 4, s_2_708, -1, 71, 0},
-{ 4, s_2_709, -1, 72, 0},
-{ 6, s_2_710, 709, 124, 0},
-{ 7, s_2_711, 709, 121, 0},
-{ 5, s_2_712, 709, 103, 0},
-{ 7, s_2_713, 709, 127, 0},
-{ 7, s_2_714, 709, 118, 0},
-{ 7, s_2_715, 709, 101, 0},
-{ 8, s_2_716, 709, 117, 0},
-{ 8, s_2_717, 709, 90, 0},
-{ 4, s_2_718, -1, 73, 0},
-{ 4, s_2_719, -1, 74, 0},
-{ 9, s_2_720, 719, 110, 0},
-{ 9, s_2_721, 719, 111, 0},
-{ 9, s_2_722, 719, 112, 0},
-{ 5, s_2_723, -1, 13, 0},
-{ 5, s_2_724, -1, 75, 0},
-{ 3, s_2_725, -1, 77, 0},
-{ 3, s_2_726, -1, 78, 0},
-{ 5, s_2_727, 726, 109, 0},
-{ 6, s_2_728, 727, 26, 0},
-{ 6, s_2_729, 727, 30, 0},
-{ 6, s_2_730, 727, 31, 0},
-{ 7, s_2_731, 727, 28, 0},
-{ 7, s_2_732, 727, 27, 0},
-{ 7, s_2_733, 727, 29, 0},
-{ 3, s_2_734, -1, 79, 0},
-{ 3, s_2_735, -1, 80, 0},
-{ 4, s_2_736, 735, 20, 0},
-{ 5, s_2_737, 736, 17, 0},
-{ 4, s_2_738, 735, 82, 0},
-{ 5, s_2_739, 738, 49, 0},
-{ 4, s_2_740, 735, 81, 0},
-{ 5, s_2_741, 735, 12, 0},
-{ 4, s_2_742, -1, 14, 0},
-{ 4, s_2_743, -1, 15, 0},
-{ 4, s_2_744, -1, 16, 0},
-{ 4, s_2_745, -1, 101, 0},
-{ 5, s_2_746, -1, 117, 0},
-{ 4, s_2_747, -1, 104, 0},
-{ 5, s_2_748, 747, 63, 0},
-{ 5, s_2_749, 747, 64, 0},
-{ 5, s_2_750, 747, 61, 0},
-{ 9, s_2_751, 750, 106, 0},
-{ 9, s_2_752, 750, 107, 0},
-{ 9, s_2_753, 750, 108, 0},
-{ 7, s_2_754, 750, 114, 0},
-{ 5, s_2_755, 747, 62, 0},
-{ 5, s_2_756, 747, 60, 0},
-{ 6, s_2_757, 747, 100, 0},
-{ 6, s_2_758, 747, 105, 0},
-{ 5, s_2_759, 747, 59, 0},
-{ 5, s_2_760, 747, 65, 0},
-{ 6, s_2_761, 760, 97, 0},
-{ 6, s_2_762, 760, 96, 0},
-{ 6, s_2_763, 760, 98, 0},
-{ 6, s_2_764, 760, 76, 0},
-{ 6, s_2_765, 760, 99, 0},
-{ 7, s_2_766, 747, 102, 0},
-{ 4, s_2_767, -1, 66, 0},
-{ 4, s_2_768, -1, 67, 0},
-{ 7, s_2_769, 768, 118, 0},
-{ 7, s_2_770, 768, 101, 0},
-{ 8, s_2_771, 768, 117, 0},
-{ 8, s_2_772, 768, 90, 0},
-{ 4, s_2_773, -1, 91, 0},
-{ 9, s_2_774, 773, 110, 0},
-{ 9, s_2_775, 773, 111, 0},
-{ 9, s_2_776, 773, 112, 0},
-{ 4, s_2_777, -1, 124, 0},
-{ 4, s_2_778, -1, 125, 0},
-{ 4, s_2_779, -1, 126, 0},
-{ 7, s_2_780, -1, 84, 0},
-{ 7, s_2_781, -1, 85, 0},
-{ 7, s_2_782, -1, 122, 0},
-{ 8, s_2_783, -1, 86, 0},
-{ 5, s_2_784, -1, 95, 0},
-{ 6, s_2_785, 784, 1, 0},
-{ 7, s_2_786, 784, 2, 0},
-{ 6, s_2_787, -1, 83, 0},
-{ 5, s_2_788, -1, 13, 0},
-{ 6, s_2_789, -1, 123, 0},
-{ 6, s_2_790, -1, 120, 0},
-{ 8, s_2_791, -1, 92, 0},
-{ 8, s_2_792, -1, 93, 0},
-{ 7, s_2_793, -1, 94, 0},
-{ 6, s_2_794, -1, 77, 0},
-{ 6, s_2_795, -1, 78, 0},
-{ 6, s_2_796, -1, 79, 0},
-{ 6, s_2_797, -1, 80, 0},
-{ 7, s_2_798, -1, 91, 0},
-{ 5, s_2_799, -1, 84, 0},
-{ 5, s_2_800, -1, 85, 0},
-{ 5, s_2_801, -1, 122, 0},
-{ 6, s_2_802, -1, 86, 0},
-{ 3, s_2_803, -1, 95, 0},
-{ 4, s_2_804, -1, 83, 0},
-{ 3, s_2_805, -1, 13, 0},
-{ 4, s_2_806, 805, 10, 0},
-{ 4, s_2_807, 805, 87, 0},
-{ 4, s_2_808, 805, 159, 0},
-{ 5, s_2_809, 805, 88, 0},
-{ 4, s_2_810, -1, 123, 0},
-{ 4, s_2_811, -1, 120, 0},
-{ 4, s_2_812, -1, 77, 0},
-{ 4, s_2_813, -1, 78, 0},
-{ 4, s_2_814, -1, 79, 0},
-{ 4, s_2_815, -1, 80, 0},
-{ 5, s_2_816, -1, 14, 0},
-{ 5, s_2_817, -1, 15, 0},
-{ 5, s_2_818, -1, 16, 0},
-{ 5, s_2_819, -1, 91, 0},
-{ 4, s_2_820, -1, 124, 0},
-{ 4, s_2_821, -1, 125, 0},
-{ 4, s_2_822, -1, 126, 0},
-{ 5, s_2_823, -1, 84, 0},
-{ 5, s_2_824, -1, 85, 0},
-{ 5, s_2_825, -1, 122, 0},
-{ 6, s_2_826, -1, 86, 0},
-{ 3, s_2_827, -1, 95, 0},
-{ 4, s_2_828, 827, 1, 0},
-{ 5, s_2_829, 827, 2, 0},
-{ 4, s_2_830, -1, 83, 0},
-{ 3, s_2_831, -1, 13, 0},
-{ 5, s_2_832, 831, 137, 0},
-{ 6, s_2_833, 831, 89, 0},
-{ 4, s_2_834, -1, 123, 0},
-{ 4, s_2_835, -1, 120, 0},
-{ 6, s_2_836, -1, 92, 0},
-{ 6, s_2_837, -1, 93, 0},
-{ 5, s_2_838, -1, 94, 0},
-{ 4, s_2_839, -1, 77, 0},
-{ 4, s_2_840, -1, 78, 0},
-{ 4, s_2_841, -1, 79, 0},
-{ 4, s_2_842, -1, 80, 0},
-{ 5, s_2_843, -1, 14, 0},
-{ 5, s_2_844, -1, 15, 0},
-{ 5, s_2_845, -1, 16, 0},
-{ 5, s_2_846, -1, 91, 0},
-{ 2, s_2_847, -1, 104, 0},
-{ 4, s_2_848, 847, 128, 0},
-{ 7, s_2_849, 847, 106, 0},
-{ 7, s_2_850, 847, 107, 0},
-{ 7, s_2_851, 847, 108, 0},
-{ 5, s_2_852, 847, 114, 0},
-{ 4, s_2_853, 847, 100, 0},
-{ 4, s_2_854, 847, 105, 0},
-{ 3, s_2_855, 847, 113, 0},
-{ 4, s_2_856, 847, 97, 0},
-{ 4, s_2_857, 847, 96, 0},
-{ 4, s_2_858, 847, 98, 0},
-{ 4, s_2_859, 847, 76, 0},
-{ 4, s_2_860, 847, 99, 0},
-{ 5, s_2_861, 847, 102, 0},
-{ 2, s_2_862, -1, 116, 0},
-{ 4, s_2_863, 862, 124, 0},
-{ 4, s_2_864, 862, 125, 0},
-{ 4, s_2_865, 862, 126, 0},
-{ 5, s_2_866, 865, 121, 0},
-{ 7, s_2_867, 862, 84, 0},
-{ 7, s_2_868, 862, 85, 0},
-{ 7, s_2_869, 862, 122, 0},
-{ 8, s_2_870, 862, 86, 0},
-{ 5, s_2_871, 862, 95, 0},
-{ 6, s_2_872, 871, 1, 0},
-{ 7, s_2_873, 871, 2, 0},
-{ 6, s_2_874, 862, 83, 0},
-{ 5, s_2_875, 862, 13, 0},
-{ 6, s_2_876, 862, 123, 0},
-{ 6, s_2_877, 862, 120, 0},
-{ 8, s_2_878, 862, 92, 0},
-{ 8, s_2_879, 862, 93, 0},
-{ 7, s_2_880, 862, 94, 0},
-{ 6, s_2_881, 862, 77, 0},
-{ 6, s_2_882, 862, 78, 0},
-{ 6, s_2_883, 862, 79, 0},
-{ 6, s_2_884, 862, 80, 0},
-{ 7, s_2_885, 862, 91, 0},
-{ 5, s_2_886, 862, 84, 0},
-{ 5, s_2_887, 862, 85, 0},
-{ 5, s_2_888, 862, 122, 0},
-{ 6, s_2_889, 862, 86, 0},
-{ 3, s_2_890, 862, 95, 0},
-{ 4, s_2_891, 890, 1, 0},
-{ 5, s_2_892, 890, 2, 0},
-{ 4, s_2_893, 862, 83, 0},
-{ 3, s_2_894, 862, 13, 0},
-{ 5, s_2_895, 894, 137, 0},
-{ 6, s_2_896, 894, 89, 0},
-{ 4, s_2_897, 862, 123, 0},
-{ 5, s_2_898, 897, 127, 0},
-{ 4, s_2_899, 862, 120, 0},
-{ 5, s_2_900, 862, 118, 0},
-{ 6, s_2_901, 862, 92, 0},
-{ 6, s_2_902, 862, 93, 0},
-{ 5, s_2_903, 862, 94, 0},
-{ 4, s_2_904, 862, 77, 0},
-{ 4, s_2_905, 862, 78, 0},
-{ 4, s_2_906, 862, 79, 0},
-{ 4, s_2_907, 862, 80, 0},
-{ 5, s_2_908, 862, 14, 0},
-{ 5, s_2_909, 862, 15, 0},
-{ 5, s_2_910, 862, 16, 0},
-{ 5, s_2_911, 862, 101, 0},
-{ 6, s_2_912, 862, 117, 0},
-{ 5, s_2_913, 862, 91, 0},
-{ 6, s_2_914, 913, 90, 0},
-{ 7, s_2_915, -1, 110, 0},
-{ 7, s_2_916, -1, 111, 0},
-{ 7, s_2_917, -1, 112, 0},
-{ 4, s_2_918, -1, 124, 0},
-{ 4, s_2_919, -1, 125, 0},
-{ 4, s_2_920, -1, 126, 0},
-{ 5, s_2_921, -1, 14, 0},
-{ 5, s_2_922, -1, 15, 0},
-{ 5, s_2_923, -1, 16, 0},
-{ 3, s_2_924, -1, 124, 0},
-{ 5, s_2_925, -1, 124, 0},
-{ 4, s_2_926, -1, 162, 0},
-{ 5, s_2_927, -1, 161, 0},
-{ 7, s_2_928, 927, 155, 0},
-{ 7, s_2_929, 927, 156, 0},
-{ 8, s_2_930, 927, 138, 0},
-{ 8, s_2_931, 927, 139, 0},
-{ 8, s_2_932, 927, 140, 0},
-{ 7, s_2_933, 927, 144, 0},
-{ 7, s_2_934, 927, 145, 0},
-{ 7, s_2_935, 927, 146, 0},
-{ 7, s_2_936, 927, 147, 0},
-{ 5, s_2_937, -1, 157, 0},
-{ 8, s_2_938, 937, 121, 0},
-{ 7, s_2_939, 937, 155, 0},
-{ 4, s_2_940, -1, 121, 0},
-{ 4, s_2_941, -1, 164, 0},
-{ 5, s_2_942, -1, 153, 0},
-{ 6, s_2_943, -1, 136, 0},
-{ 2, s_2_944, -1, 20, 0},
-{ 3, s_2_945, 944, 18, 0},
-{ 3, s_2_946, -1, 109, 0},
-{ 4, s_2_947, 946, 26, 0},
-{ 4, s_2_948, 946, 30, 0},
-{ 4, s_2_949, 946, 31, 0},
-{ 5, s_2_950, 946, 28, 0},
-{ 5, s_2_951, 946, 27, 0},
-{ 5, s_2_952, 946, 29, 0},
-{ 4, s_2_953, -1, 32, 0},
-{ 4, s_2_954, -1, 33, 0},
-{ 4, s_2_955, -1, 34, 0},
-{ 4, s_2_956, -1, 40, 0},
-{ 4, s_2_957, -1, 39, 0},
-{ 6, s_2_958, -1, 84, 0},
-{ 6, s_2_959, -1, 85, 0},
-{ 6, s_2_960, -1, 122, 0},
-{ 7, s_2_961, -1, 86, 0},
-{ 4, s_2_962, -1, 95, 0},
-{ 5, s_2_963, 962, 1, 0},
-{ 6, s_2_964, 962, 2, 0},
-{ 4, s_2_965, -1, 35, 0},
-{ 5, s_2_966, 965, 83, 0},
-{ 4, s_2_967, -1, 37, 0},
-{ 4, s_2_968, -1, 13, 0},
-{ 6, s_2_969, 968, 9, 0},
-{ 6, s_2_970, 968, 6, 0},
-{ 6, s_2_971, 968, 7, 0},
-{ 6, s_2_972, 968, 8, 0},
-{ 6, s_2_973, 968, 5, 0},
-{ 4, s_2_974, -1, 41, 0},
-{ 4, s_2_975, -1, 42, 0},
-{ 4, s_2_976, -1, 43, 0},
-{ 5, s_2_977, 976, 123, 0},
-{ 4, s_2_978, -1, 44, 0},
-{ 5, s_2_979, 978, 120, 0},
-{ 7, s_2_980, 978, 92, 0},
-{ 7, s_2_981, 978, 93, 0},
-{ 6, s_2_982, 978, 94, 0},
-{ 5, s_2_983, -1, 77, 0},
-{ 5, s_2_984, -1, 78, 0},
-{ 5, s_2_985, -1, 79, 0},
-{ 5, s_2_986, -1, 80, 0},
-{ 4, s_2_987, -1, 45, 0},
-{ 6, s_2_988, -1, 91, 0},
-{ 5, s_2_989, -1, 38, 0},
-{ 4, s_2_990, -1, 84, 0},
-{ 4, s_2_991, -1, 85, 0},
-{ 4, s_2_992, -1, 122, 0},
-{ 5, s_2_993, -1, 86, 0},
-{ 2, s_2_994, -1, 95, 0},
-{ 3, s_2_995, 994, 1, 0},
-{ 4, s_2_996, 994, 2, 0},
-{ 3, s_2_997, -1, 104, 0},
-{ 5, s_2_998, 997, 128, 0},
-{ 8, s_2_999, 997, 106, 0},
-{ 8, s_2_1000, 997, 107, 0},
-{ 8, s_2_1001, 997, 108, 0},
-{ 5, s_2_1002, 997, 47, 0},
-{ 6, s_2_1003, 997, 114, 0},
-{ 4, s_2_1004, 997, 46, 0},
-{ 5, s_2_1005, 997, 100, 0},
-{ 5, s_2_1006, 997, 105, 0},
-{ 4, s_2_1007, 997, 113, 0},
-{ 6, s_2_1008, 1007, 110, 0},
-{ 6, s_2_1009, 1007, 111, 0},
-{ 6, s_2_1010, 1007, 112, 0},
-{ 5, s_2_1011, 997, 97, 0},
-{ 5, s_2_1012, 997, 96, 0},
-{ 5, s_2_1013, 997, 98, 0},
-{ 5, s_2_1014, 997, 76, 0},
-{ 5, s_2_1015, 997, 99, 0},
-{ 6, s_2_1016, 997, 102, 0},
-{ 3, s_2_1017, -1, 83, 0},
-{ 3, s_2_1018, -1, 116, 0},
-{ 5, s_2_1019, 1018, 124, 0},
-{ 6, s_2_1020, 1018, 121, 0},
-{ 4, s_2_1021, 1018, 103, 0},
-{ 6, s_2_1022, 1018, 127, 0},
-{ 6, s_2_1023, 1018, 118, 0},
-{ 5, s_2_1024, 1018, 48, 0},
-{ 6, s_2_1025, 1018, 101, 0},
-{ 7, s_2_1026, 1018, 117, 0},
-{ 7, s_2_1027, 1018, 90, 0},
-{ 3, s_2_1028, -1, 50, 0},
-{ 4, s_2_1029, -1, 115, 0},
-{ 4, s_2_1030, -1, 13, 0},
-{ 4, s_2_1031, -1, 52, 0},
-{ 4, s_2_1032, -1, 51, 0},
-{ 2, s_2_1033, -1, 13, 0},
-{ 3, s_2_1034, 1033, 10, 0},
-{ 5, s_2_1035, 1034, 128, 0},
-{ 5, s_2_1036, 1034, 105, 0},
-{ 4, s_2_1037, 1034, 113, 0},
-{ 5, s_2_1038, 1034, 97, 0},
-{ 5, s_2_1039, 1034, 96, 0},
-{ 5, s_2_1040, 1034, 98, 0},
-{ 5, s_2_1041, 1034, 99, 0},
-{ 6, s_2_1042, 1034, 102, 0},
-{ 5, s_2_1043, 1033, 124, 0},
-{ 6, s_2_1044, 1033, 121, 0},
-{ 6, s_2_1045, 1033, 101, 0},
-{ 7, s_2_1046, 1033, 117, 0},
-{ 3, s_2_1047, 1033, 11, 0},
-{ 4, s_2_1048, 1047, 137, 0},
-{ 5, s_2_1049, 1047, 89, 0},
-{ 3, s_2_1050, 1033, 12, 0},
-{ 3, s_2_1051, -1, 53, 0},
-{ 3, s_2_1052, -1, 54, 0},
-{ 3, s_2_1053, -1, 55, 0},
-{ 3, s_2_1054, -1, 56, 0},
-{ 4, s_2_1055, -1, 135, 0},
-{ 4, s_2_1056, -1, 131, 0},
-{ 4, s_2_1057, -1, 129, 0},
-{ 4, s_2_1058, -1, 133, 0},
-{ 4, s_2_1059, -1, 132, 0},
-{ 4, s_2_1060, -1, 130, 0},
-{ 4, s_2_1061, -1, 134, 0},
-{ 3, s_2_1062, -1, 152, 0},
-{ 3, s_2_1063, -1, 154, 0},
-{ 3, s_2_1064, -1, 123, 0},
-{ 4, s_2_1065, -1, 161, 0},
-{ 6, s_2_1066, 1065, 128, 0},
-{ 6, s_2_1067, 1065, 155, 0},
-{ 5, s_2_1068, 1065, 160, 0},
-{ 6, s_2_1069, 1068, 153, 0},
-{ 7, s_2_1070, 1068, 141, 0},
-{ 7, s_2_1071, 1068, 142, 0},
-{ 7, s_2_1072, 1068, 143, 0},
-{ 4, s_2_1073, -1, 162, 0},
-{ 5, s_2_1074, 1073, 158, 0},
-{ 7, s_2_1075, 1073, 127, 0},
-{ 5, s_2_1076, -1, 164, 0},
-{ 3, s_2_1077, -1, 104, 0},
-{ 5, s_2_1078, 1077, 128, 0},
-{ 8, s_2_1079, 1077, 106, 0},
-{ 8, s_2_1080, 1077, 107, 0},
-{ 8, s_2_1081, 1077, 108, 0},
-{ 6, s_2_1082, 1077, 114, 0},
-{ 5, s_2_1083, 1077, 68, 0},
-{ 4, s_2_1084, 1077, 69, 0},
-{ 5, s_2_1085, 1077, 100, 0},
-{ 5, s_2_1086, 1077, 105, 0},
-{ 4, s_2_1087, 1077, 113, 0},
-{ 6, s_2_1088, 1087, 110, 0},
-{ 6, s_2_1089, 1087, 111, 0},
-{ 6, s_2_1090, 1087, 112, 0},
-{ 5, s_2_1091, 1077, 97, 0},
-{ 5, s_2_1092, 1077, 96, 0},
-{ 5, s_2_1093, 1077, 98, 0},
-{ 5, s_2_1094, 1077, 76, 0},
-{ 5, s_2_1095, 1077, 99, 0},
-{ 6, s_2_1096, 1077, 102, 0},
-{ 3, s_2_1097, -1, 70, 0},
-{ 3, s_2_1098, -1, 116, 0},
-{ 5, s_2_1099, 1098, 124, 0},
-{ 6, s_2_1100, 1098, 121, 0},
-{ 4, s_2_1101, 1098, 103, 0},
-{ 6, s_2_1102, 1098, 127, 0},
-{ 6, s_2_1103, 1098, 118, 0},
-{ 5, s_2_1104, 1098, 92, 0},
-{ 5, s_2_1105, 1098, 93, 0},
-{ 6, s_2_1106, 1098, 101, 0},
-{ 7, s_2_1107, 1098, 117, 0},
-{ 7, s_2_1108, 1098, 90, 0},
-{ 4, s_2_1109, -1, 94, 0},
-{ 4, s_2_1110, -1, 71, 0},
-{ 4, s_2_1111, -1, 72, 0},
-{ 4, s_2_1112, -1, 73, 0},
-{ 4, s_2_1113, -1, 74, 0},
-{ 4, s_2_1114, -1, 13, 0},
-{ 3, s_2_1115, -1, 77, 0},
-{ 3, s_2_1116, -1, 78, 0},
-{ 5, s_2_1117, 1116, 109, 0},
-{ 6, s_2_1118, 1117, 26, 0},
-{ 6, s_2_1119, 1117, 30, 0},
-{ 6, s_2_1120, 1117, 31, 0},
-{ 7, s_2_1121, 1117, 28, 0},
-{ 7, s_2_1122, 1117, 27, 0},
-{ 7, s_2_1123, 1117, 29, 0},
-{ 3, s_2_1124, -1, 79, 0},
-{ 3, s_2_1125, -1, 80, 0},
-{ 4, s_2_1126, 1125, 20, 0},
-{ 5, s_2_1127, 1126, 17, 0},
-{ 4, s_2_1128, 1125, 82, 0},
-{ 5, s_2_1129, 1128, 49, 0},
-{ 4, s_2_1130, 1125, 81, 0},
-{ 5, s_2_1131, 1125, 12, 0},
-{ 5, s_2_1132, -1, 116, 0},
-{ 7, s_2_1133, -1, 101, 0},
-{ 6, s_2_1134, -1, 104, 0},
-{ 8, s_2_1135, 1134, 100, 0},
-{ 8, s_2_1136, 1134, 105, 0},
-{ 9, s_2_1137, 1134, 106, 0},
-{ 9, s_2_1138, 1134, 107, 0},
-{ 9, s_2_1139, 1134, 108, 0},
-{ 8, s_2_1140, 1134, 97, 0},
-{ 8, s_2_1141, 1134, 96, 0},
-{ 8, s_2_1142, 1134, 98, 0},
-{ 8, s_2_1143, 1134, 99, 0},
-{ 6, s_2_1144, -1, 25, 0},
-{ 8, s_2_1145, 1144, 100, 0},
-{ 10, s_2_1146, 1144, 117, 0},
-{ 5, s_2_1147, -1, 13, 0},
-{ 6, s_2_1148, -1, 70, 0},
-{ 7, s_2_1149, -1, 115, 0},
-{ 4, s_2_1150, -1, 101, 0},
-{ 5, s_2_1151, -1, 117, 0},
-{ 5, s_2_1152, -1, 63, 0},
-{ 5, s_2_1153, -1, 64, 0},
-{ 5, s_2_1154, -1, 61, 0},
-{ 5, s_2_1155, -1, 62, 0},
-{ 5, s_2_1156, -1, 60, 0},
-{ 5, s_2_1157, -1, 59, 0},
-{ 5, s_2_1158, -1, 65, 0},
-{ 4, s_2_1159, -1, 66, 0},
-{ 4, s_2_1160, -1, 67, 0},
-{ 4, s_2_1161, -1, 91, 0},
-{ 5, s_2_1162, -1, 104, 0},
-{ 7, s_2_1163, 1162, 100, 0},
-{ 6, s_2_1164, 1162, 113, 0},
-{ 7, s_2_1165, 1164, 70, 0},
-{ 8, s_2_1166, 1164, 110, 0},
-{ 8, s_2_1167, 1164, 111, 0},
-{ 8, s_2_1168, 1164, 112, 0},
-{ 8, s_2_1169, 1162, 102, 0},
-{ 5, s_2_1170, -1, 116, 0},
-{ 6, s_2_1171, 1170, 103, 0},
-{ 9, s_2_1172, 1170, 90, 0},
-{ 6, s_2_1173, -1, 13, 0},
-{ 2, s_2_1174, -1, 104, 0},
-{ 4, s_2_1175, 1174, 105, 0},
-{ 3, s_2_1176, 1174, 113, 0},
-{ 4, s_2_1177, 1174, 97, 0},
-{ 4, s_2_1178, 1174, 96, 0},
-{ 4, s_2_1179, 1174, 98, 0},
-{ 4, s_2_1180, 1174, 99, 0},
-{ 2, s_2_1181, -1, 116, 0},
-{ 4, s_2_1182, -1, 124, 0},
-{ 4, s_2_1183, -1, 125, 0},
-{ 4, s_2_1184, -1, 126, 0},
-{ 7, s_2_1185, -1, 84, 0},
-{ 7, s_2_1186, -1, 85, 0},
-{ 7, s_2_1187, -1, 122, 0},
-{ 8, s_2_1188, -1, 86, 0},
-{ 5, s_2_1189, -1, 95, 0},
-{ 6, s_2_1190, 1189, 1, 0},
-{ 7, s_2_1191, 1189, 2, 0},
-{ 6, s_2_1192, -1, 83, 0},
-{ 5, s_2_1193, -1, 13, 0},
-{ 6, s_2_1194, -1, 123, 0},
-{ 8, s_2_1195, -1, 92, 0},
-{ 8, s_2_1196, -1, 93, 0},
-{ 7, s_2_1197, -1, 94, 0},
-{ 6, s_2_1198, -1, 77, 0},
-{ 6, s_2_1199, -1, 78, 0},
-{ 6, s_2_1200, -1, 79, 0},
-{ 6, s_2_1201, -1, 80, 0},
-{ 7, s_2_1202, -1, 91, 0},
-{ 5, s_2_1203, -1, 84, 0},
-{ 5, s_2_1204, -1, 85, 0},
-{ 5, s_2_1205, -1, 122, 0},
-{ 6, s_2_1206, -1, 86, 0},
-{ 3, s_2_1207, -1, 95, 0},
-{ 4, s_2_1208, 1207, 1, 0},
-{ 5, s_2_1209, 1207, 2, 0},
-{ 4, s_2_1210, -1, 104, 0},
-{ 4, s_2_1211, -1, 83, 0},
-{ 3, s_2_1212, -1, 13, 0},
-{ 5, s_2_1213, 1212, 137, 0},
-{ 6, s_2_1214, 1212, 89, 0},
-{ 4, s_2_1215, -1, 123, 0},
-{ 4, s_2_1216, -1, 120, 0},
-{ 6, s_2_1217, -1, 92, 0},
-{ 6, s_2_1218, -1, 93, 0},
-{ 5, s_2_1219, -1, 94, 0},
-{ 4, s_2_1220, -1, 77, 0},
-{ 4, s_2_1221, -1, 78, 0},
-{ 4, s_2_1222, -1, 79, 0},
-{ 4, s_2_1223, -1, 80, 0},
-{ 5, s_2_1224, -1, 14, 0},
-{ 5, s_2_1225, -1, 15, 0},
-{ 5, s_2_1226, -1, 16, 0},
-{ 5, s_2_1227, -1, 91, 0},
-{ 5, s_2_1228, -1, 121, 0},
-{ 4, s_2_1229, -1, 100, 0},
-{ 6, s_2_1230, -1, 117, 0},
-{ 2, s_2_1231, -1, 104, 0},
-{ 4, s_2_1232, 1231, 100, 0},
-{ 4, s_2_1233, 1231, 105, 0},
-{ 2, s_2_1234, -1, 119, 0},
-{ 2, s_2_1235, -1, 116, 0},
-{ 2, s_2_1236, -1, 104, 0},
-{ 4, s_2_1237, 1236, 128, 0},
-{ 4, s_2_1238, 1236, 100, 0},
-{ 4, s_2_1239, 1236, 105, 0},
-{ 3, s_2_1240, 1236, 113, 0},
-{ 4, s_2_1241, 1236, 97, 0},
-{ 4, s_2_1242, 1236, 96, 0},
-{ 4, s_2_1243, 1236, 98, 0},
-{ 4, s_2_1244, 1236, 99, 0},
-{ 5, s_2_1245, 1236, 102, 0},
-{ 2, s_2_1246, -1, 119, 0},
-{ 4, s_2_1247, 1246, 124, 0},
-{ 4, s_2_1248, 1246, 125, 0},
-{ 4, s_2_1249, 1246, 126, 0},
-{ 7, s_2_1250, 1246, 110, 0},
-{ 7, s_2_1251, 1246, 111, 0},
-{ 7, s_2_1252, 1246, 112, 0},
-{ 4, s_2_1253, 1246, 104, 0},
-{ 5, s_2_1254, 1253, 26, 0},
-{ 5, s_2_1255, 1253, 30, 0},
-{ 5, s_2_1256, 1253, 31, 0},
-{ 7, s_2_1257, 1253, 106, 0},
-{ 7, s_2_1258, 1253, 107, 0},
-{ 7, s_2_1259, 1253, 108, 0},
-{ 6, s_2_1260, 1253, 28, 0},
-{ 6, s_2_1261, 1253, 27, 0},
-{ 6, s_2_1262, 1253, 29, 0},
-{ 4, s_2_1263, 1246, 116, 0},
-{ 7, s_2_1264, 1263, 84, 0},
-{ 7, s_2_1265, 1263, 85, 0},
-{ 7, s_2_1266, 1263, 123, 0},
-{ 8, s_2_1267, 1263, 86, 0},
-{ 5, s_2_1268, 1263, 95, 0},
-{ 6, s_2_1269, 1268, 1, 0},
-{ 7, s_2_1270, 1268, 2, 0},
-{ 5, s_2_1271, 1263, 24, 0},
-{ 6, s_2_1272, 1271, 83, 0},
-{ 5, s_2_1273, 1263, 13, 0},
-{ 7, s_2_1274, 1263, 21, 0},
-{ 5, s_2_1275, 1263, 23, 0},
-{ 6, s_2_1276, 1275, 123, 0},
-{ 6, s_2_1277, 1263, 120, 0},
-{ 8, s_2_1278, 1263, 92, 0},
-{ 8, s_2_1279, 1263, 93, 0},
-{ 6, s_2_1280, 1263, 22, 0},
-{ 7, s_2_1281, 1263, 94, 0},
-{ 6, s_2_1282, 1263, 77, 0},
-{ 6, s_2_1283, 1263, 78, 0},
-{ 6, s_2_1284, 1263, 79, 0},
-{ 6, s_2_1285, 1263, 80, 0},
-{ 7, s_2_1286, 1263, 91, 0},
-{ 5, s_2_1287, 1246, 84, 0},
-{ 5, s_2_1288, 1246, 85, 0},
-{ 5, s_2_1289, 1246, 114, 0},
-{ 5, s_2_1290, 1246, 122, 0},
-{ 6, s_2_1291, 1246, 86, 0},
-{ 4, s_2_1292, 1246, 25, 0},
-{ 7, s_2_1293, 1292, 121, 0},
-{ 6, s_2_1294, 1292, 100, 0},
-{ 8, s_2_1295, 1292, 117, 0},
-{ 3, s_2_1296, 1246, 95, 0},
-{ 4, s_2_1297, 1296, 1, 0},
-{ 5, s_2_1298, 1296, 2, 0},
-{ 4, s_2_1299, 1246, 83, 0},
-{ 3, s_2_1300, 1246, 13, 0},
-{ 4, s_2_1301, 1300, 10, 0},
-{ 7, s_2_1302, 1301, 110, 0},
-{ 7, s_2_1303, 1301, 111, 0},
-{ 7, s_2_1304, 1301, 112, 0},
-{ 4, s_2_1305, 1300, 87, 0},
-{ 4, s_2_1306, 1300, 159, 0},
-{ 5, s_2_1307, 1300, 88, 0},
-{ 5, s_2_1308, 1246, 135, 0},
-{ 5, s_2_1309, 1246, 131, 0},
-{ 5, s_2_1310, 1246, 129, 0},
-{ 5, s_2_1311, 1246, 133, 0},
-{ 5, s_2_1312, 1246, 132, 0},
-{ 5, s_2_1313, 1246, 130, 0},
-{ 5, s_2_1314, 1246, 134, 0},
-{ 4, s_2_1315, 1246, 152, 0},
-{ 4, s_2_1316, 1246, 154, 0},
-{ 4, s_2_1317, 1246, 123, 0},
-{ 4, s_2_1318, 1246, 120, 0},
-{ 4, s_2_1319, 1246, 70, 0},
-{ 6, s_2_1320, 1246, 92, 0},
-{ 6, s_2_1321, 1246, 93, 0},
-{ 5, s_2_1322, 1246, 94, 0},
-{ 5, s_2_1323, 1246, 151, 0},
-{ 6, s_2_1324, 1246, 75, 0},
-{ 4, s_2_1325, 1246, 77, 0},
-{ 4, s_2_1326, 1246, 78, 0},
-{ 4, s_2_1327, 1246, 79, 0},
-{ 5, s_2_1328, 1246, 14, 0},
-{ 5, s_2_1329, 1246, 15, 0},
-{ 5, s_2_1330, 1246, 16, 0},
-{ 6, s_2_1331, 1246, 63, 0},
-{ 6, s_2_1332, 1246, 64, 0},
-{ 6, s_2_1333, 1246, 61, 0},
-{ 6, s_2_1334, 1246, 62, 0},
-{ 6, s_2_1335, 1246, 60, 0},
-{ 6, s_2_1336, 1246, 59, 0},
-{ 6, s_2_1337, 1246, 65, 0},
-{ 5, s_2_1338, 1246, 66, 0},
-{ 5, s_2_1339, 1246, 67, 0},
-{ 5, s_2_1340, 1246, 91, 0},
-{ 2, s_2_1341, -1, 116, 0},
-{ 4, s_2_1342, 1341, 124, 0},
-{ 4, s_2_1343, 1341, 125, 0},
-{ 4, s_2_1344, 1341, 126, 0},
-{ 5, s_2_1345, 1344, 121, 0},
-{ 7, s_2_1346, 1341, 84, 0},
-{ 7, s_2_1347, 1341, 85, 0},
-{ 7, s_2_1348, 1341, 122, 0},
-{ 8, s_2_1349, 1341, 86, 0},
-{ 5, s_2_1350, 1341, 95, 0},
-{ 6, s_2_1351, 1350, 1, 0},
-{ 7, s_2_1352, 1350, 2, 0},
-{ 6, s_2_1353, 1341, 83, 0},
-{ 5, s_2_1354, 1341, 13, 0},
-{ 6, s_2_1355, 1341, 123, 0},
-{ 6, s_2_1356, 1341, 120, 0},
-{ 8, s_2_1357, 1341, 92, 0},
-{ 8, s_2_1358, 1341, 93, 0},
-{ 7, s_2_1359, 1341, 94, 0},
-{ 6, s_2_1360, 1341, 77, 0},
-{ 6, s_2_1361, 1341, 78, 0},
-{ 6, s_2_1362, 1341, 79, 0},
-{ 6, s_2_1363, 1341, 80, 0},
-{ 7, s_2_1364, 1341, 91, 0},
-{ 5, s_2_1365, 1341, 84, 0},
-{ 5, s_2_1366, 1341, 85, 0},
-{ 5, s_2_1367, 1341, 122, 0},
-{ 6, s_2_1368, 1341, 86, 0},
-{ 3, s_2_1369, 1341, 95, 0},
-{ 4, s_2_1370, 1369, 1, 0},
-{ 5, s_2_1371, 1369, 2, 0},
-{ 4, s_2_1372, 1341, 83, 0},
-{ 3, s_2_1373, 1341, 13, 0},
-{ 5, s_2_1374, 1373, 137, 0},
-{ 6, s_2_1375, 1373, 89, 0},
-{ 4, s_2_1376, 1341, 123, 0},
-{ 5, s_2_1377, 1376, 127, 0},
-{ 4, s_2_1378, 1341, 120, 0},
-{ 5, s_2_1379, 1341, 118, 0},
-{ 6, s_2_1380, 1341, 92, 0},
-{ 6, s_2_1381, 1341, 93, 0},
-{ 5, s_2_1382, 1341, 94, 0},
-{ 4, s_2_1383, 1341, 77, 0},
-{ 4, s_2_1384, 1341, 78, 0},
-{ 4, s_2_1385, 1341, 79, 0},
-{ 4, s_2_1386, 1341, 80, 0},
-{ 5, s_2_1387, 1341, 14, 0},
-{ 5, s_2_1388, 1341, 15, 0},
-{ 5, s_2_1389, 1341, 16, 0},
-{ 5, s_2_1390, 1341, 101, 0},
-{ 6, s_2_1391, 1341, 117, 0},
-{ 5, s_2_1392, 1341, 91, 0},
-{ 6, s_2_1393, 1392, 90, 0},
-{ 4, s_2_1394, -1, 124, 0},
-{ 4, s_2_1395, -1, 125, 0},
-{ 4, s_2_1396, -1, 126, 0},
-{ 3, s_2_1397, -1, 20, 0},
-{ 5, s_2_1398, 1397, 19, 0},
-{ 4, s_2_1399, 1397, 18, 0},
-{ 5, s_2_1400, -1, 32, 0},
-{ 5, s_2_1401, -1, 33, 0},
-{ 5, s_2_1402, -1, 34, 0},
-{ 5, s_2_1403, -1, 40, 0},
-{ 5, s_2_1404, -1, 39, 0},
-{ 5, s_2_1405, -1, 35, 0},
-{ 5, s_2_1406, -1, 37, 0},
-{ 5, s_2_1407, -1, 36, 0},
-{ 7, s_2_1408, 1407, 9, 0},
-{ 7, s_2_1409, 1407, 6, 0},
-{ 7, s_2_1410, 1407, 7, 0},
-{ 7, s_2_1411, 1407, 8, 0},
-{ 7, s_2_1412, 1407, 5, 0},
-{ 5, s_2_1413, -1, 41, 0},
-{ 5, s_2_1414, -1, 42, 0},
-{ 5, s_2_1415, -1, 43, 0},
-{ 5, s_2_1416, -1, 44, 0},
-{ 5, s_2_1417, -1, 45, 0},
-{ 6, s_2_1418, -1, 38, 0},
-{ 5, s_2_1419, -1, 84, 0},
-{ 5, s_2_1420, -1, 85, 0},
-{ 5, s_2_1421, -1, 122, 0},
-{ 6, s_2_1422, -1, 86, 0},
-{ 3, s_2_1423, -1, 95, 0},
-{ 4, s_2_1424, 1423, 1, 0},
-{ 5, s_2_1425, 1423, 2, 0},
-{ 4, s_2_1426, -1, 104, 0},
-{ 6, s_2_1427, 1426, 47, 0},
-{ 5, s_2_1428, 1426, 46, 0},
-{ 4, s_2_1429, -1, 83, 0},
-{ 4, s_2_1430, -1, 116, 0},
-{ 6, s_2_1431, 1430, 48, 0},
-{ 4, s_2_1432, -1, 50, 0},
-{ 5, s_2_1433, -1, 52, 0},
-{ 5, s_2_1434, -1, 51, 0},
-{ 3, s_2_1435, -1, 13, 0},
-{ 4, s_2_1436, 1435, 10, 0},
-{ 4, s_2_1437, 1435, 11, 0},
-{ 5, s_2_1438, 1437, 137, 0},
-{ 6, s_2_1439, 1437, 10, 0},
-{ 6, s_2_1440, 1437, 89, 0},
-{ 4, s_2_1441, 1435, 12, 0},
-{ 4, s_2_1442, -1, 53, 0},
-{ 4, s_2_1443, -1, 54, 0},
-{ 4, s_2_1444, -1, 55, 0},
-{ 4, s_2_1445, -1, 56, 0},
-{ 5, s_2_1446, -1, 135, 0},
-{ 5, s_2_1447, -1, 131, 0},
-{ 5, s_2_1448, -1, 129, 0},
-{ 5, s_2_1449, -1, 133, 0},
-{ 5, s_2_1450, -1, 132, 0},
-{ 5, s_2_1451, -1, 130, 0},
-{ 5, s_2_1452, -1, 134, 0},
-{ 4, s_2_1453, -1, 57, 0},
-{ 4, s_2_1454, -1, 58, 0},
-{ 4, s_2_1455, -1, 123, 0},
-{ 4, s_2_1456, -1, 120, 0},
-{ 6, s_2_1457, 1456, 68, 0},
-{ 5, s_2_1458, 1456, 69, 0},
-{ 4, s_2_1459, -1, 70, 0},
-{ 6, s_2_1460, -1, 92, 0},
-{ 6, s_2_1461, -1, 93, 0},
-{ 5, s_2_1462, -1, 94, 0},
-{ 5, s_2_1463, -1, 71, 0},
-{ 5, s_2_1464, -1, 72, 0},
-{ 5, s_2_1465, -1, 73, 0},
-{ 5, s_2_1466, -1, 74, 0},
-{ 4, s_2_1467, -1, 77, 0},
-{ 4, s_2_1468, -1, 78, 0},
-{ 4, s_2_1469, -1, 79, 0},
-{ 4, s_2_1470, -1, 80, 0},
-{ 5, s_2_1471, 1470, 82, 0},
-{ 5, s_2_1472, 1470, 81, 0},
-{ 5, s_2_1473, -1, 3, 0},
-{ 6, s_2_1474, -1, 4, 0},
-{ 5, s_2_1475, -1, 14, 0},
-{ 5, s_2_1476, -1, 15, 0},
-{ 5, s_2_1477, -1, 16, 0},
-{ 6, s_2_1478, -1, 63, 0},
-{ 6, s_2_1479, -1, 64, 0},
-{ 6, s_2_1480, -1, 61, 0},
-{ 6, s_2_1481, -1, 62, 0},
-{ 6, s_2_1482, -1, 60, 0},
-{ 6, s_2_1483, -1, 59, 0},
-{ 6, s_2_1484, -1, 65, 0},
-{ 5, s_2_1485, -1, 66, 0},
-{ 5, s_2_1486, -1, 67, 0},
-{ 5, s_2_1487, -1, 91, 0},
-{ 2, s_2_1488, -1, 104, 0},
-{ 4, s_2_1489, 1488, 128, 0},
-{ 4, s_2_1490, 1488, 100, 0},
-{ 4, s_2_1491, 1488, 105, 0},
-{ 3, s_2_1492, 1488, 113, 0},
-{ 4, s_2_1493, 1488, 97, 0},
-{ 4, s_2_1494, 1488, 96, 0},
-{ 4, s_2_1495, 1488, 98, 0},
-{ 4, s_2_1496, 1488, 99, 0},
-{ 5, s_2_1497, 1488, 102, 0},
-{ 4, s_2_1498, -1, 124, 0},
-{ 5, s_2_1499, -1, 121, 0},
-{ 5, s_2_1500, -1, 101, 0},
-{ 6, s_2_1501, -1, 117, 0},
-{ 4, s_2_1502, -1, 10, 0},
-{ 2, s_2_1503, -1, 104, 0},
-{ 4, s_2_1504, 1503, 128, 0},
-{ 7, s_2_1505, 1503, 106, 0},
-{ 7, s_2_1506, 1503, 107, 0},
-{ 7, s_2_1507, 1503, 108, 0},
-{ 5, s_2_1508, 1503, 114, 0},
-{ 4, s_2_1509, 1503, 100, 0},
-{ 4, s_2_1510, 1503, 105, 0},
-{ 3, s_2_1511, 1503, 113, 0},
-{ 5, s_2_1512, 1511, 110, 0},
-{ 5, s_2_1513, 1511, 111, 0},
-{ 5, s_2_1514, 1511, 112, 0},
-{ 4, s_2_1515, 1503, 97, 0},
-{ 4, s_2_1516, 1503, 96, 0},
-{ 4, s_2_1517, 1503, 98, 0},
-{ 4, s_2_1518, 1503, 76, 0},
-{ 4, s_2_1519, 1503, 99, 0},
-{ 5, s_2_1520, 1503, 102, 0},
-{ 2, s_2_1521, -1, 20, 0},
-{ 3, s_2_1522, 1521, 18, 0},
-{ 2, s_2_1523, -1, 116, 0},
-{ 4, s_2_1524, 1523, 124, 0},
-{ 5, s_2_1525, 1523, 121, 0},
-{ 3, s_2_1526, 1523, 24, 0},
-{ 3, s_2_1527, 1523, 103, 0},
-{ 5, s_2_1528, 1523, 21, 0},
-{ 3, s_2_1529, 1523, 23, 0},
-{ 5, s_2_1530, 1529, 127, 0},
-{ 5, s_2_1531, 1523, 118, 0},
-{ 4, s_2_1532, 1523, 22, 0},
-{ 5, s_2_1533, 1523, 101, 0},
-{ 6, s_2_1534, 1523, 117, 0},
-{ 6, s_2_1535, 1523, 90, 0},
-{ 4, s_2_1536, -1, 32, 0},
-{ 4, s_2_1537, -1, 33, 0},
-{ 4, s_2_1538, -1, 34, 0},
-{ 4, s_2_1539, -1, 40, 0},
-{ 4, s_2_1540, -1, 39, 0},
-{ 4, s_2_1541, -1, 35, 0},
-{ 4, s_2_1542, -1, 37, 0},
-{ 4, s_2_1543, -1, 36, 0},
-{ 4, s_2_1544, -1, 41, 0},
-{ 4, s_2_1545, -1, 42, 0},
-{ 4, s_2_1546, -1, 43, 0},
-{ 4, s_2_1547, -1, 44, 0},
-{ 4, s_2_1548, -1, 45, 0},
-{ 5, s_2_1549, -1, 38, 0},
-{ 4, s_2_1550, -1, 84, 0},
-{ 4, s_2_1551, -1, 85, 0},
-{ 4, s_2_1552, -1, 122, 0},
-{ 5, s_2_1553, -1, 86, 0},
-{ 2, s_2_1554, -1, 95, 0},
-{ 3, s_2_1555, 1554, 1, 0},
-{ 4, s_2_1556, 1554, 2, 0},
-{ 3, s_2_1557, -1, 104, 0},
-{ 5, s_2_1558, 1557, 128, 0},
-{ 8, s_2_1559, 1557, 106, 0},
-{ 8, s_2_1560, 1557, 107, 0},
-{ 8, s_2_1561, 1557, 108, 0},
-{ 5, s_2_1562, 1557, 47, 0},
-{ 6, s_2_1563, 1557, 114, 0},
-{ 4, s_2_1564, 1557, 46, 0},
-{ 5, s_2_1565, 1557, 100, 0},
-{ 5, s_2_1566, 1557, 105, 0},
-{ 4, s_2_1567, 1557, 113, 0},
-{ 6, s_2_1568, 1567, 110, 0},
-{ 6, s_2_1569, 1567, 111, 0},
-{ 6, s_2_1570, 1567, 112, 0},
-{ 5, s_2_1571, 1557, 97, 0},
-{ 5, s_2_1572, 1557, 96, 0},
-{ 5, s_2_1573, 1557, 98, 0},
-{ 5, s_2_1574, 1557, 76, 0},
-{ 5, s_2_1575, 1557, 99, 0},
-{ 6, s_2_1576, 1557, 102, 0},
-{ 3, s_2_1577, -1, 83, 0},
-{ 3, s_2_1578, -1, 116, 0},
-{ 5, s_2_1579, 1578, 124, 0},
-{ 6, s_2_1580, 1578, 121, 0},
-{ 4, s_2_1581, 1578, 103, 0},
-{ 6, s_2_1582, 1578, 127, 0},
-{ 6, s_2_1583, 1578, 118, 0},
-{ 6, s_2_1584, 1578, 101, 0},
-{ 7, s_2_1585, 1578, 117, 0},
-{ 7, s_2_1586, 1578, 90, 0},
-{ 4, s_2_1587, -1, 115, 0},
-{ 4, s_2_1588, -1, 13, 0},
-{ 3, s_2_1589, -1, 104, 0},
-{ 5, s_2_1590, 1589, 128, 0},
-{ 4, s_2_1591, 1589, 52, 0},
-{ 5, s_2_1592, 1591, 100, 0},
-{ 5, s_2_1593, 1591, 105, 0},
-{ 4, s_2_1594, 1589, 113, 0},
-{ 5, s_2_1595, 1589, 97, 0},
-{ 5, s_2_1596, 1589, 96, 0},
-{ 5, s_2_1597, 1589, 98, 0},
-{ 5, s_2_1598, 1589, 99, 0},
-{ 6, s_2_1599, 1589, 102, 0},
-{ 3, s_2_1600, -1, 119, 0},
-{ 8, s_2_1601, 1600, 110, 0},
-{ 8, s_2_1602, 1600, 111, 0},
-{ 8, s_2_1603, 1600, 112, 0},
-{ 8, s_2_1604, 1600, 106, 0},
-{ 8, s_2_1605, 1600, 107, 0},
-{ 8, s_2_1606, 1600, 108, 0},
-{ 5, s_2_1607, 1600, 116, 0},
-{ 6, s_2_1608, 1600, 114, 0},
-{ 5, s_2_1609, 1600, 25, 0},
-{ 8, s_2_1610, 1609, 121, 0},
-{ 7, s_2_1611, 1609, 100, 0},
-{ 9, s_2_1612, 1609, 117, 0},
-{ 4, s_2_1613, 1600, 51, 0},
-{ 4, s_2_1614, 1600, 13, 0},
-{ 8, s_2_1615, 1614, 110, 0},
-{ 8, s_2_1616, 1614, 111, 0},
-{ 8, s_2_1617, 1614, 112, 0},
-{ 5, s_2_1618, 1600, 70, 0},
-{ 6, s_2_1619, 1600, 115, 0},
-{ 3, s_2_1620, -1, 116, 0},
-{ 5, s_2_1621, 1620, 124, 0},
-{ 6, s_2_1622, 1620, 121, 0},
-{ 4, s_2_1623, 1620, 13, 0},
-{ 8, s_2_1624, 1623, 110, 0},
-{ 8, s_2_1625, 1623, 111, 0},
-{ 8, s_2_1626, 1623, 112, 0},
-{ 6, s_2_1627, 1620, 127, 0},
-{ 5, s_2_1628, 1620, 70, 0},
-{ 6, s_2_1629, 1628, 118, 0},
-{ 6, s_2_1630, 1620, 115, 0},
-{ 6, s_2_1631, 1620, 101, 0},
-{ 7, s_2_1632, 1620, 117, 0},
-{ 7, s_2_1633, 1620, 90, 0},
-{ 4, s_2_1634, -1, 104, 0},
-{ 6, s_2_1635, 1634, 105, 0},
-{ 5, s_2_1636, 1634, 113, 0},
-{ 7, s_2_1637, 1636, 106, 0},
-{ 7, s_2_1638, 1636, 107, 0},
-{ 7, s_2_1639, 1636, 108, 0},
-{ 6, s_2_1640, 1634, 97, 0},
-{ 6, s_2_1641, 1634, 96, 0},
-{ 6, s_2_1642, 1634, 98, 0},
-{ 6, s_2_1643, 1634, 99, 0},
-{ 4, s_2_1644, -1, 116, 0},
-{ 4, s_2_1645, -1, 25, 0},
-{ 7, s_2_1646, 1645, 121, 0},
-{ 6, s_2_1647, 1645, 100, 0},
-{ 8, s_2_1648, 1645, 117, 0},
-{ 4, s_2_1649, -1, 104, 0},
-{ 6, s_2_1650, 1649, 128, 0},
-{ 9, s_2_1651, 1649, 106, 0},
-{ 9, s_2_1652, 1649, 107, 0},
-{ 9, s_2_1653, 1649, 108, 0},
-{ 7, s_2_1654, 1649, 114, 0},
-{ 6, s_2_1655, 1649, 100, 0},
-{ 6, s_2_1656, 1649, 105, 0},
-{ 5, s_2_1657, 1649, 113, 0},
-{ 6, s_2_1658, 1649, 97, 0},
-{ 6, s_2_1659, 1649, 96, 0},
-{ 6, s_2_1660, 1649, 98, 0},
-{ 6, s_2_1661, 1649, 76, 0},
-{ 6, s_2_1662, 1649, 99, 0},
-{ 7, s_2_1663, 1649, 102, 0},
-{ 4, s_2_1664, -1, 116, 0},
-{ 6, s_2_1665, 1664, 124, 0},
-{ 7, s_2_1666, 1664, 121, 0},
-{ 5, s_2_1667, 1664, 103, 0},
-{ 7, s_2_1668, 1664, 127, 0},
-{ 7, s_2_1669, 1664, 118, 0},
-{ 7, s_2_1670, 1664, 101, 0},
-{ 8, s_2_1671, 1664, 117, 0},
-{ 8, s_2_1672, 1664, 90, 0},
-{ 9, s_2_1673, -1, 110, 0},
-{ 9, s_2_1674, -1, 111, 0},
-{ 9, s_2_1675, -1, 112, 0},
-{ 5, s_2_1676, -1, 13, 0},
-{ 2, s_2_1677, -1, 13, 0},
-{ 3, s_2_1678, 1677, 104, 0},
-{ 5, s_2_1679, 1678, 128, 0},
-{ 5, s_2_1680, 1678, 105, 0},
-{ 4, s_2_1681, 1678, 113, 0},
-{ 5, s_2_1682, 1678, 97, 0},
-{ 5, s_2_1683, 1678, 96, 0},
-{ 5, s_2_1684, 1678, 98, 0},
-{ 5, s_2_1685, 1678, 99, 0},
-{ 6, s_2_1686, 1678, 102, 0},
-{ 5, s_2_1687, 1677, 124, 0},
-{ 6, s_2_1688, 1677, 121, 0},
-{ 6, s_2_1689, 1677, 101, 0},
-{ 7, s_2_1690, 1677, 117, 0},
-{ 3, s_2_1691, 1677, 11, 0},
-{ 4, s_2_1692, 1691, 137, 0},
-{ 5, s_2_1693, 1691, 89, 0},
-{ 3, s_2_1694, -1, 120, 0},
-{ 5, s_2_1695, 1694, 68, 0},
-{ 4, s_2_1696, 1694, 69, 0},
-{ 3, s_2_1697, -1, 70, 0},
-{ 5, s_2_1698, -1, 92, 0},
-{ 5, s_2_1699, -1, 93, 0},
-{ 4, s_2_1700, -1, 94, 0},
-{ 4, s_2_1701, -1, 71, 0},
-{ 4, s_2_1702, -1, 72, 0},
-{ 4, s_2_1703, -1, 73, 0},
-{ 4, s_2_1704, -1, 74, 0},
-{ 4, s_2_1705, -1, 13, 0},
-{ 3, s_2_1706, -1, 13, 0},
-{ 3, s_2_1707, -1, 77, 0},
-{ 3, s_2_1708, -1, 78, 0},
-{ 3, s_2_1709, -1, 79, 0},
-{ 3, s_2_1710, -1, 80, 0},
-{ 4, s_2_1711, -1, 3, 0},
-{ 5, s_2_1712, -1, 4, 0},
-{ 2, s_2_1713, -1, 161, 0},
-{ 4, s_2_1714, 1713, 128, 0},
-{ 4, s_2_1715, 1713, 155, 0},
-{ 4, s_2_1716, 1713, 156, 0},
-{ 3, s_2_1717, 1713, 160, 0},
-{ 4, s_2_1718, 1713, 144, 0},
-{ 4, s_2_1719, 1713, 145, 0},
-{ 4, s_2_1720, 1713, 146, 0},
-{ 4, s_2_1721, 1713, 147, 0},
-{ 2, s_2_1722, -1, 163, 0},
-{ 7, s_2_1723, 1722, 141, 0},
-{ 7, s_2_1724, 1722, 142, 0},
-{ 7, s_2_1725, 1722, 143, 0},
-{ 7, s_2_1726, 1722, 138, 0},
-{ 7, s_2_1727, 1722, 139, 0},
-{ 7, s_2_1728, 1722, 140, 0},
-{ 4, s_2_1729, 1722, 162, 0},
-{ 5, s_2_1730, 1722, 150, 0},
-{ 4, s_2_1731, 1722, 157, 0},
-{ 7, s_2_1732, 1731, 121, 0},
-{ 6, s_2_1733, 1731, 155, 0},
-{ 3, s_2_1734, 1722, 164, 0},
-{ 7, s_2_1735, 1734, 141, 0},
-{ 7, s_2_1736, 1734, 142, 0},
-{ 7, s_2_1737, 1734, 143, 0},
-{ 4, s_2_1738, 1722, 153, 0},
-{ 5, s_2_1739, 1722, 136, 0},
-{ 2, s_2_1740, -1, 162, 0},
-{ 4, s_2_1741, 1740, 124, 0},
-{ 5, s_2_1742, 1740, 121, 0},
-{ 3, s_2_1743, 1740, 158, 0},
-{ 5, s_2_1744, 1740, 127, 0},
-{ 5, s_2_1745, 1740, 149, 0},
-{ 2, s_2_1746, -1, 104, 0},
-{ 4, s_2_1747, 1746, 128, 0},
-{ 7, s_2_1748, 1746, 106, 0},
-{ 7, s_2_1749, 1746, 107, 0},
-{ 7, s_2_1750, 1746, 108, 0},
-{ 5, s_2_1751, 1746, 114, 0},
-{ 4, s_2_1752, 1746, 100, 0},
-{ 4, s_2_1753, 1746, 105, 0},
-{ 3, s_2_1754, 1746, 113, 0},
-{ 5, s_2_1755, 1754, 110, 0},
-{ 5, s_2_1756, 1754, 111, 0},
-{ 5, s_2_1757, 1754, 112, 0},
-{ 4, s_2_1758, 1746, 97, 0},
-{ 4, s_2_1759, 1746, 96, 0},
-{ 4, s_2_1760, 1746, 98, 0},
-{ 6, s_2_1761, 1760, 100, 0},
-{ 4, s_2_1762, 1746, 76, 0},
-{ 4, s_2_1763, 1746, 99, 0},
-{ 5, s_2_1764, 1746, 102, 0},
-{ 2, s_2_1765, -1, 116, 0},
-{ 4, s_2_1766, 1765, 124, 0},
-{ 5, s_2_1767, 1765, 121, 0},
-{ 5, s_2_1768, 1765, 127, 0},
-{ 5, s_2_1769, 1765, 118, 0},
-{ 5, s_2_1770, 1765, 101, 0},
-{ 6, s_2_1771, 1765, 117, 0},
-{ 6, s_2_1772, 1765, 90, 0},
-{ 3, s_2_1773, -1, 13, 0},
-{ 6, s_2_1774, -1, 110, 0},
-{ 6, s_2_1775, -1, 111, 0},
-{ 6, s_2_1776, -1, 112, 0},
-{ 2, s_2_1777, -1, 20, 0},
-{ 4, s_2_1778, 1777, 19, 0},
-{ 3, s_2_1779, 1777, 18, 0},
-{ 3, s_2_1780, -1, 104, 0},
-{ 5, s_2_1781, 1780, 128, 0},
-{ 8, s_2_1782, 1780, 106, 0},
-{ 8, s_2_1783, 1780, 107, 0},
-{ 8, s_2_1784, 1780, 108, 0},
-{ 6, s_2_1785, 1780, 114, 0},
-{ 5, s_2_1786, 1780, 100, 0},
-{ 5, s_2_1787, 1780, 105, 0},
-{ 5, s_2_1788, 1780, 97, 0},
-{ 5, s_2_1789, 1780, 96, 0},
-{ 5, s_2_1790, 1780, 98, 0},
-{ 5, s_2_1791, 1780, 76, 0},
-{ 5, s_2_1792, 1780, 99, 0},
-{ 6, s_2_1793, 1780, 102, 0},
-{ 3, s_2_1794, -1, 104, 0},
-{ 4, s_2_1795, 1794, 26, 0},
-{ 5, s_2_1796, 1795, 128, 0},
-{ 4, s_2_1797, 1794, 30, 0},
-{ 4, s_2_1798, 1794, 31, 0},
-{ 5, s_2_1799, 1798, 100, 0},
-{ 5, s_2_1800, 1798, 105, 0},
-{ 4, s_2_1801, 1794, 113, 0},
-{ 6, s_2_1802, 1801, 106, 0},
-{ 6, s_2_1803, 1801, 107, 0},
-{ 6, s_2_1804, 1801, 108, 0},
-{ 5, s_2_1805, 1794, 97, 0},
-{ 5, s_2_1806, 1794, 96, 0},
-{ 5, s_2_1807, 1794, 98, 0},
-{ 5, s_2_1808, 1794, 99, 0},
-{ 5, s_2_1809, 1794, 28, 0},
-{ 5, s_2_1810, 1794, 27, 0},
-{ 6, s_2_1811, 1810, 102, 0},
-{ 5, s_2_1812, 1794, 29, 0},
-{ 3, s_2_1813, -1, 116, 0},
-{ 4, s_2_1814, 1813, 32, 0},
-{ 4, s_2_1815, 1813, 33, 0},
-{ 4, s_2_1816, 1813, 34, 0},
-{ 4, s_2_1817, 1813, 40, 0},
-{ 4, s_2_1818, 1813, 39, 0},
-{ 6, s_2_1819, 1813, 84, 0},
-{ 6, s_2_1820, 1813, 85, 0},
-{ 6, s_2_1821, 1813, 122, 0},
-{ 7, s_2_1822, 1813, 86, 0},
-{ 4, s_2_1823, 1813, 95, 0},
-{ 4, s_2_1824, 1813, 24, 0},
-{ 5, s_2_1825, 1824, 83, 0},
-{ 4, s_2_1826, 1813, 37, 0},
-{ 4, s_2_1827, 1813, 13, 0},
-{ 6, s_2_1828, 1827, 9, 0},
-{ 6, s_2_1829, 1827, 6, 0},
-{ 6, s_2_1830, 1827, 7, 0},
-{ 6, s_2_1831, 1827, 8, 0},
-{ 6, s_2_1832, 1827, 5, 0},
-{ 4, s_2_1833, 1813, 41, 0},
-{ 4, s_2_1834, 1813, 42, 0},
-{ 6, s_2_1835, 1834, 21, 0},
-{ 4, s_2_1836, 1813, 23, 0},
-{ 5, s_2_1837, 1836, 123, 0},
-{ 4, s_2_1838, 1813, 44, 0},
-{ 5, s_2_1839, 1838, 120, 0},
-{ 5, s_2_1840, 1838, 22, 0},
-{ 5, s_2_1841, 1813, 77, 0},
-{ 5, s_2_1842, 1813, 78, 0},
-{ 5, s_2_1843, 1813, 79, 0},
-{ 5, s_2_1844, 1813, 80, 0},
-{ 4, s_2_1845, 1813, 45, 0},
-{ 6, s_2_1846, 1813, 91, 0},
-{ 5, s_2_1847, 1813, 38, 0},
-{ 4, s_2_1848, -1, 84, 0},
-{ 4, s_2_1849, -1, 85, 0},
-{ 4, s_2_1850, -1, 122, 0},
-{ 5, s_2_1851, -1, 86, 0},
-{ 3, s_2_1852, -1, 25, 0},
-{ 6, s_2_1853, 1852, 121, 0},
-{ 5, s_2_1854, 1852, 100, 0},
-{ 7, s_2_1855, 1852, 117, 0},
-{ 2, s_2_1856, -1, 95, 0},
-{ 3, s_2_1857, 1856, 1, 0},
-{ 4, s_2_1858, 1856, 2, 0},
-{ 3, s_2_1859, -1, 104, 0},
-{ 5, s_2_1860, 1859, 47, 0},
-{ 4, s_2_1861, 1859, 46, 0},
-{ 3, s_2_1862, -1, 83, 0},
-{ 3, s_2_1863, -1, 116, 0},
-{ 5, s_2_1864, 1863, 48, 0},
-{ 3, s_2_1865, -1, 50, 0},
-{ 4, s_2_1866, -1, 52, 0},
-{ 5, s_2_1867, -1, 124, 0},
-{ 5, s_2_1868, -1, 125, 0},
-{ 5, s_2_1869, -1, 126, 0},
-{ 8, s_2_1870, -1, 84, 0},
-{ 8, s_2_1871, -1, 85, 0},
-{ 8, s_2_1872, -1, 122, 0},
-{ 9, s_2_1873, -1, 86, 0},
-{ 6, s_2_1874, -1, 95, 0},
-{ 7, s_2_1875, 1874, 1, 0},
-{ 8, s_2_1876, 1874, 2, 0},
-{ 7, s_2_1877, -1, 83, 0},
-{ 6, s_2_1878, -1, 13, 0},
-{ 7, s_2_1879, -1, 123, 0},
-{ 7, s_2_1880, -1, 120, 0},
-{ 9, s_2_1881, -1, 92, 0},
-{ 9, s_2_1882, -1, 93, 0},
-{ 8, s_2_1883, -1, 94, 0},
-{ 7, s_2_1884, -1, 77, 0},
-{ 7, s_2_1885, -1, 78, 0},
-{ 7, s_2_1886, -1, 79, 0},
-{ 7, s_2_1887, -1, 80, 0},
-{ 8, s_2_1888, -1, 91, 0},
-{ 6, s_2_1889, -1, 84, 0},
-{ 6, s_2_1890, -1, 85, 0},
-{ 6, s_2_1891, -1, 122, 0},
-{ 7, s_2_1892, -1, 86, 0},
-{ 4, s_2_1893, -1, 95, 0},
-{ 5, s_2_1894, 1893, 1, 0},
-{ 6, s_2_1895, 1893, 2, 0},
-{ 4, s_2_1896, -1, 51, 0},
-{ 5, s_2_1897, 1896, 83, 0},
-{ 4, s_2_1898, -1, 13, 0},
-{ 5, s_2_1899, 1898, 10, 0},
-{ 5, s_2_1900, 1898, 87, 0},
-{ 5, s_2_1901, 1898, 159, 0},
-{ 6, s_2_1902, 1898, 88, 0},
-{ 5, s_2_1903, -1, 123, 0},
-{ 5, s_2_1904, -1, 120, 0},
-{ 7, s_2_1905, -1, 92, 0},
-{ 7, s_2_1906, -1, 93, 0},
-{ 6, s_2_1907, -1, 94, 0},
-{ 5, s_2_1908, -1, 77, 0},
-{ 5, s_2_1909, -1, 78, 0},
-{ 5, s_2_1910, -1, 79, 0},
-{ 5, s_2_1911, -1, 80, 0},
-{ 6, s_2_1912, -1, 14, 0},
-{ 6, s_2_1913, -1, 15, 0},
-{ 6, s_2_1914, -1, 16, 0},
-{ 6, s_2_1915, -1, 91, 0},
-{ 5, s_2_1916, -1, 124, 0},
-{ 5, s_2_1917, -1, 125, 0},
-{ 5, s_2_1918, -1, 126, 0},
-{ 6, s_2_1919, -1, 84, 0},
-{ 6, s_2_1920, -1, 85, 0},
-{ 6, s_2_1921, -1, 122, 0},
-{ 7, s_2_1922, -1, 86, 0},
-{ 4, s_2_1923, -1, 95, 0},
-{ 5, s_2_1924, 1923, 1, 0},
-{ 6, s_2_1925, 1923, 2, 0},
-{ 5, s_2_1926, -1, 83, 0},
-{ 4, s_2_1927, -1, 13, 0},
-{ 6, s_2_1928, 1927, 137, 0},
-{ 7, s_2_1929, 1927, 89, 0},
-{ 5, s_2_1930, -1, 123, 0},
-{ 5, s_2_1931, -1, 120, 0},
-{ 7, s_2_1932, -1, 92, 0},
-{ 7, s_2_1933, -1, 93, 0},
-{ 6, s_2_1934, -1, 94, 0},
-{ 5, s_2_1935, -1, 77, 0},
-{ 5, s_2_1936, -1, 78, 0},
-{ 5, s_2_1937, -1, 79, 0},
-{ 5, s_2_1938, -1, 80, 0},
-{ 6, s_2_1939, -1, 14, 0},
-{ 6, s_2_1940, -1, 15, 0},
-{ 6, s_2_1941, -1, 16, 0},
-{ 6, s_2_1942, -1, 91, 0},
-{ 2, s_2_1943, -1, 13, 0},
-{ 3, s_2_1944, 1943, 10, 0},
-{ 6, s_2_1945, 1944, 110, 0},
-{ 6, s_2_1946, 1944, 111, 0},
-{ 6, s_2_1947, 1944, 112, 0},
-{ 3, s_2_1948, 1943, 11, 0},
-{ 4, s_2_1949, 1948, 137, 0},
-{ 5, s_2_1950, 1948, 10, 0},
-{ 5, s_2_1951, 1948, 89, 0},
-{ 3, s_2_1952, 1943, 12, 0},
-{ 3, s_2_1953, -1, 53, 0},
-{ 3, s_2_1954, -1, 54, 0},
-{ 3, s_2_1955, -1, 55, 0},
-{ 3, s_2_1956, -1, 56, 0},
-{ 4, s_2_1957, -1, 135, 0},
-{ 4, s_2_1958, -1, 131, 0},
-{ 4, s_2_1959, -1, 129, 0},
-{ 4, s_2_1960, -1, 133, 0},
-{ 4, s_2_1961, -1, 132, 0},
-{ 4, s_2_1962, -1, 130, 0},
-{ 4, s_2_1963, -1, 134, 0},
-{ 3, s_2_1964, -1, 57, 0},
-{ 3, s_2_1965, -1, 58, 0},
-{ 3, s_2_1966, -1, 123, 0},
-{ 3, s_2_1967, -1, 120, 0},
-{ 5, s_2_1968, 1967, 68, 0},
-{ 4, s_2_1969, 1967, 69, 0},
-{ 3, s_2_1970, -1, 70, 0},
-{ 5, s_2_1971, -1, 92, 0},
-{ 5, s_2_1972, -1, 93, 0},
-{ 4, s_2_1973, -1, 94, 0},
-{ 4, s_2_1974, -1, 71, 0},
-{ 4, s_2_1975, -1, 72, 0},
-{ 4, s_2_1976, -1, 73, 0},
-{ 4, s_2_1977, -1, 74, 0},
-{ 5, s_2_1978, -1, 75, 0},
-{ 3, s_2_1979, -1, 77, 0},
-{ 3, s_2_1980, -1, 78, 0},
-{ 3, s_2_1981, -1, 79, 0},
-{ 3, s_2_1982, -1, 80, 0},
-{ 4, s_2_1983, 1982, 82, 0},
-{ 4, s_2_1984, 1982, 81, 0},
-{ 4, s_2_1985, -1, 3, 0},
-{ 5, s_2_1986, -1, 4, 0},
-{ 5, s_2_1987, -1, 63, 0},
-{ 5, s_2_1988, -1, 64, 0},
-{ 5, s_2_1989, -1, 61, 0},
-{ 5, s_2_1990, -1, 62, 0},
-{ 5, s_2_1991, -1, 60, 0},
-{ 5, s_2_1992, -1, 59, 0},
-{ 5, s_2_1993, -1, 65, 0},
-{ 4, s_2_1994, -1, 66, 0},
-{ 4, s_2_1995, -1, 67, 0},
-{ 4, s_2_1996, -1, 91, 0},
-{ 4, s_2_1997, -1, 97, 0},
-{ 4, s_2_1998, -1, 96, 0},
-{ 4, s_2_1999, -1, 98, 0},
-{ 4, s_2_2000, -1, 99, 0},
-{ 3, s_2_2001, -1, 95, 0},
-{ 3, s_2_2002, -1, 104, 0},
-{ 5, s_2_2003, 2002, 100, 0},
-{ 5, s_2_2004, 2002, 105, 0},
-{ 4, s_2_2005, 2002, 113, 0},
-{ 5, s_2_2006, 2002, 97, 0},
-{ 5, s_2_2007, 2002, 96, 0},
-{ 5, s_2_2008, 2002, 98, 0},
-{ 5, s_2_2009, 2002, 99, 0},
-{ 6, s_2_2010, 2002, 102, 0},
-{ 3, s_2_2011, -1, 119, 0},
-{ 8, s_2_2012, 2011, 110, 0},
-{ 8, s_2_2013, 2011, 111, 0},
-{ 8, s_2_2014, 2011, 112, 0},
-{ 8, s_2_2015, 2011, 106, 0},
-{ 8, s_2_2016, 2011, 107, 0},
-{ 8, s_2_2017, 2011, 108, 0},
-{ 5, s_2_2018, 2011, 116, 0},
-{ 6, s_2_2019, 2011, 114, 0},
-{ 5, s_2_2020, 2011, 25, 0},
-{ 7, s_2_2021, 2020, 100, 0},
-{ 9, s_2_2022, 2020, 117, 0},
-{ 4, s_2_2023, 2011, 13, 0},
-{ 8, s_2_2024, 2023, 110, 0},
-{ 8, s_2_2025, 2023, 111, 0},
-{ 8, s_2_2026, 2023, 112, 0},
-{ 5, s_2_2027, 2011, 70, 0},
-{ 6, s_2_2028, 2011, 115, 0},
-{ 3, s_2_2029, -1, 116, 0},
-{ 4, s_2_2030, 2029, 103, 0},
-{ 6, s_2_2031, 2029, 118, 0},
-{ 6, s_2_2032, 2029, 101, 0},
-{ 7, s_2_2033, 2029, 117, 0},
-{ 7, s_2_2034, 2029, 90, 0}
-};
-
-static const symbol s_3_0[1] = { 'a' };
-static const symbol s_3_1[3] = { 'o', 'g', 'a' };
-static const symbol s_3_2[3] = { 'a', 'm', 'a' };
-static const symbol s_3_3[3] = { 'i', 'm', 'a' };
-static const symbol s_3_4[3] = { 'e', 'n', 'a' };
-static const symbol s_3_5[1] = { 'e' };
-static const symbol s_3_6[2] = { 'o', 'g' };
-static const symbol s_3_7[4] = { 'a', 'n', 'o', 'g' };
-static const symbol s_3_8[4] = { 'e', 'n', 'o', 'g' };
-static const symbol s_3_9[4] = { 'a', 'n', 'i', 'h' };
-static const symbol s_3_10[4] = { 'e', 'n', 'i', 'h' };
-static const symbol s_3_11[1] = { 'i' };
-static const symbol s_3_12[3] = { 'a', 'n', 'i' };
-static const symbol s_3_13[3] = { 'e', 'n', 'i' };
-static const symbol s_3_14[4] = { 'a', 'n', 'o', 'j' };
-static const symbol s_3_15[4] = { 'e', 'n', 'o', 'j' };
-static const symbol s_3_16[4] = { 'a', 'n', 'i', 'm' };
-static const symbol s_3_17[4] = { 'e', 'n', 'i', 'm' };
-static const symbol s_3_18[2] = { 'o', 'm' };
-static const symbol s_3_19[4] = { 'e', 'n', 'o', 'm' };
-static const symbol s_3_20[1] = { 'o' };
-static const symbol s_3_21[3] = { 'a', 'n', 'o' };
-static const symbol s_3_22[3] = { 'e', 'n', 'o' };
-static const symbol s_3_23[3] = { 'o', 's', 't' };
-static const symbol s_3_24[1] = { 'u' };
-static const symbol s_3_25[3] = { 'e', 'n', 'u' };
-
-static const struct among a_3[26] =
-{
-{ 1, s_3_0, -1, 1, 0},
-{ 3, s_3_1, 0, 1, 0},
-{ 3, s_3_2, 0, 1, 0},
-{ 3, s_3_3, 0, 1, 0},
-{ 3, s_3_4, 0, 1, 0},
-{ 1, s_3_5, -1, 1, 0},
-{ 2, s_3_6, -1, 1, 0},
-{ 4, s_3_7, 6, 1, 0},
-{ 4, s_3_8, 6, 1, 0},
-{ 4, s_3_9, -1, 1, 0},
-{ 4, s_3_10, -1, 1, 0},
-{ 1, s_3_11, -1, 1, 0},
-{ 3, s_3_12, 11, 1, 0},
-{ 3, s_3_13, 11, 1, 0},
-{ 4, s_3_14, -1, 1, 0},
-{ 4, s_3_15, -1, 1, 0},
-{ 4, s_3_16, -1, 1, 0},
-{ 4, s_3_17, -1, 1, 0},
-{ 2, s_3_18, -1, 1, 0},
-{ 4, s_3_19, 18, 1, 0},
-{ 1, s_3_20, -1, 1, 0},
-{ 3, s_3_21, 20, 1, 0},
-{ 3, s_3_22, 20, 1, 0},
-{ 3, s_3_23, -1, 1, 0},
-{ 1, s_3_24, -1, 1, 0},
-{ 3, s_3_25, 24, 1, 0}
-};
-
-static const unsigned char g_v[] = { 17, 65, 16 };
-
-static const unsigned char g_sa[] = { 65, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 128 };
-
-static const unsigned char g_ca[] = { 119, 95, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 };
-
-static const unsigned char g_rg[] = { 1 };
 
 static const symbol s_0[] = { 'a' };
 static const symbol s_1[] = { 'b' };
@@ -4790,814 +322,5408 @@ static const symbol s_288[] = { 'i' };
 static const symbol s_289[] = { 'e' };
 static const symbol s_290[] = { 'n' };
 
+static const symbol s_0_0[2] = { 0xD0, 0xB0 };
+static const symbol s_0_1[2] = { 0xD0, 0xB1 };
+static const symbol s_0_2[2] = { 0xD0, 0xB2 };
+static const symbol s_0_3[2] = { 0xD0, 0xB3 };
+static const symbol s_0_4[2] = { 0xD0, 0xB4 };
+static const symbol s_0_5[2] = { 0xD0, 0xB5 };
+static const symbol s_0_6[2] = { 0xD0, 0xB6 };
+static const symbol s_0_7[2] = { 0xD0, 0xB7 };
+static const symbol s_0_8[2] = { 0xD0, 0xB8 };
+static const symbol s_0_9[2] = { 0xD0, 0xBA };
+static const symbol s_0_10[2] = { 0xD0, 0xBB };
+static const symbol s_0_11[2] = { 0xD0, 0xBC };
+static const symbol s_0_12[2] = { 0xD0, 0xBD };
+static const symbol s_0_13[2] = { 0xD0, 0xBE };
+static const symbol s_0_14[2] = { 0xD0, 0xBF };
+static const symbol s_0_15[2] = { 0xD1, 0x80 };
+static const symbol s_0_16[2] = { 0xD1, 0x81 };
+static const symbol s_0_17[2] = { 0xD1, 0x82 };
+static const symbol s_0_18[2] = { 0xD1, 0x83 };
+static const symbol s_0_19[2] = { 0xD1, 0x84 };
+static const symbol s_0_20[2] = { 0xD1, 0x85 };
+static const symbol s_0_21[2] = { 0xD1, 0x86 };
+static const symbol s_0_22[2] = { 0xD1, 0x87 };
+static const symbol s_0_23[2] = { 0xD1, 0x88 };
+static const symbol s_0_24[2] = { 0xD1, 0x92 };
+static const symbol s_0_25[2] = { 0xD1, 0x98 };
+static const symbol s_0_26[2] = { 0xD1, 0x99 };
+static const symbol s_0_27[2] = { 0xD1, 0x9A };
+static const symbol s_0_28[2] = { 0xD1, 0x9B };
+static const symbol s_0_29[2] = { 0xD1, 0x9F };
+static const struct among a_0[30] = {
+{ 2, s_0_0, 0, 1, 0},
+{ 2, s_0_1, 0, 2, 0},
+{ 2, s_0_2, 0, 3, 0},
+{ 2, s_0_3, 0, 4, 0},
+{ 2, s_0_4, 0, 5, 0},
+{ 2, s_0_5, 0, 7, 0},
+{ 2, s_0_6, 0, 8, 0},
+{ 2, s_0_7, 0, 9, 0},
+{ 2, s_0_8, 0, 10, 0},
+{ 2, s_0_9, 0, 12, 0},
+{ 2, s_0_10, 0, 13, 0},
+{ 2, s_0_11, 0, 15, 0},
+{ 2, s_0_12, 0, 16, 0},
+{ 2, s_0_13, 0, 18, 0},
+{ 2, s_0_14, 0, 19, 0},
+{ 2, s_0_15, 0, 20, 0},
+{ 2, s_0_16, 0, 21, 0},
+{ 2, s_0_17, 0, 22, 0},
+{ 2, s_0_18, 0, 24, 0},
+{ 2, s_0_19, 0, 25, 0},
+{ 2, s_0_20, 0, 26, 0},
+{ 2, s_0_21, 0, 27, 0},
+{ 2, s_0_22, 0, 28, 0},
+{ 2, s_0_23, 0, 30, 0},
+{ 2, s_0_24, 0, 6, 0},
+{ 2, s_0_25, 0, 11, 0},
+{ 2, s_0_26, 0, 14, 0},
+{ 2, s_0_27, 0, 17, 0},
+{ 2, s_0_28, 0, 23, 0},
+{ 2, s_0_29, 0, 29, 0}
+};
+
+static const symbol s_1_0[4] = { 'd', 'a', 'b', 'a' };
+static const symbol s_1_1[5] = { 'a', 'j', 'a', 'c', 'a' };
+static const symbol s_1_2[5] = { 'e', 'j', 'a', 'c', 'a' };
+static const symbol s_1_3[5] = { 'l', 'j', 'a', 'c', 'a' };
+static const symbol s_1_4[5] = { 'n', 'j', 'a', 'c', 'a' };
+static const symbol s_1_5[5] = { 'o', 'j', 'a', 'c', 'a' };
+static const symbol s_1_6[5] = { 'a', 'l', 'a', 'c', 'a' };
+static const symbol s_1_7[5] = { 'e', 'l', 'a', 'c', 'a' };
+static const symbol s_1_8[5] = { 'o', 'l', 'a', 'c', 'a' };
+static const symbol s_1_9[4] = { 'm', 'a', 'c', 'a' };
+static const symbol s_1_10[4] = { 'n', 'a', 'c', 'a' };
+static const symbol s_1_11[4] = { 'r', 'a', 'c', 'a' };
+static const symbol s_1_12[4] = { 's', 'a', 'c', 'a' };
+static const symbol s_1_13[4] = { 'v', 'a', 'c', 'a' };
+static const symbol s_1_14[5] = { 0xC5, 0xA1, 'a', 'c', 'a' };
+static const symbol s_1_15[4] = { 'a', 'o', 'c', 'a' };
+static const symbol s_1_16[5] = { 'a', 'c', 'a', 'k', 'a' };
+static const symbol s_1_17[5] = { 'a', 'j', 'a', 'k', 'a' };
+static const symbol s_1_18[5] = { 'o', 'j', 'a', 'k', 'a' };
+static const symbol s_1_19[5] = { 'a', 'n', 'a', 'k', 'a' };
+static const symbol s_1_20[5] = { 'a', 't', 'a', 'k', 'a' };
+static const symbol s_1_21[5] = { 'e', 't', 'a', 'k', 'a' };
+static const symbol s_1_22[5] = { 'i', 't', 'a', 'k', 'a' };
+static const symbol s_1_23[5] = { 'o', 't', 'a', 'k', 'a' };
+static const symbol s_1_24[5] = { 'u', 't', 'a', 'k', 'a' };
+static const symbol s_1_25[6] = { 'a', 0xC4, 0x8D, 'a', 'k', 'a' };
+static const symbol s_1_26[5] = { 'e', 's', 'a', 'm', 'a' };
+static const symbol s_1_27[5] = { 'i', 'z', 'a', 'm', 'a' };
+static const symbol s_1_28[6] = { 'j', 'a', 'c', 'i', 'm', 'a' };
+static const symbol s_1_29[6] = { 'n', 'i', 'c', 'i', 'm', 'a' };
+static const symbol s_1_30[6] = { 't', 'i', 'c', 'i', 'm', 'a' };
+static const symbol s_1_31[8] = { 't', 'e', 't', 'i', 'c', 'i', 'm', 'a' };
+static const symbol s_1_32[6] = { 'z', 'i', 'c', 'i', 'm', 'a' };
+static const symbol s_1_33[6] = { 'a', 't', 'c', 'i', 'm', 'a' };
+static const symbol s_1_34[6] = { 'u', 't', 'c', 'i', 'm', 'a' };
+static const symbol s_1_35[6] = { 0xC4, 0x8D, 'c', 'i', 'm', 'a' };
+static const symbol s_1_36[6] = { 'p', 'e', 's', 'i', 'm', 'a' };
+static const symbol s_1_37[6] = { 'i', 'n', 'z', 'i', 'm', 'a' };
+static const symbol s_1_38[6] = { 'l', 'o', 'z', 'i', 'm', 'a' };
+static const symbol s_1_39[6] = { 'm', 'e', 't', 'a', 'r', 'a' };
+static const symbol s_1_40[7] = { 'c', 'e', 'n', 't', 'a', 'r', 'a' };
+static const symbol s_1_41[6] = { 'i', 's', 't', 'a', 'r', 'a' };
+static const symbol s_1_42[5] = { 'e', 'k', 'a', 't', 'a' };
+static const symbol s_1_43[5] = { 'a', 'n', 'a', 't', 'a' };
+static const symbol s_1_44[6] = { 'n', 's', 't', 'a', 'v', 'a' };
+static const symbol s_1_45[7] = { 'k', 'u', 's', 't', 'a', 'v', 'a' };
+static const symbol s_1_46[4] = { 'a', 'j', 'a', 'c' };
+static const symbol s_1_47[4] = { 'e', 'j', 'a', 'c' };
+static const symbol s_1_48[4] = { 'l', 'j', 'a', 'c' };
+static const symbol s_1_49[4] = { 'n', 'j', 'a', 'c' };
+static const symbol s_1_50[5] = { 'a', 'n', 'j', 'a', 'c' };
+static const symbol s_1_51[4] = { 'o', 'j', 'a', 'c' };
+static const symbol s_1_52[4] = { 'a', 'l', 'a', 'c' };
+static const symbol s_1_53[4] = { 'e', 'l', 'a', 'c' };
+static const symbol s_1_54[4] = { 'o', 'l', 'a', 'c' };
+static const symbol s_1_55[3] = { 'm', 'a', 'c' };
+static const symbol s_1_56[3] = { 'n', 'a', 'c' };
+static const symbol s_1_57[3] = { 'r', 'a', 'c' };
+static const symbol s_1_58[3] = { 's', 'a', 'c' };
+static const symbol s_1_59[3] = { 'v', 'a', 'c' };
+static const symbol s_1_60[4] = { 0xC5, 0xA1, 'a', 'c' };
+static const symbol s_1_61[4] = { 'j', 'e', 'b', 'e' };
+static const symbol s_1_62[4] = { 'o', 'l', 'c', 'e' };
+static const symbol s_1_63[4] = { 'k', 'u', 's', 'e' };
+static const symbol s_1_64[4] = { 'r', 'a', 'v', 'e' };
+static const symbol s_1_65[4] = { 's', 'a', 'v', 'e' };
+static const symbol s_1_66[5] = { 0xC5, 0xA1, 'a', 'v', 'e' };
+static const symbol s_1_67[4] = { 'b', 'a', 'c', 'i' };
+static const symbol s_1_68[4] = { 'j', 'a', 'c', 'i' };
+static const symbol s_1_69[7] = { 't', 'v', 'e', 'n', 'i', 'c', 'i' };
+static const symbol s_1_70[5] = { 's', 'n', 'i', 'c', 'i' };
+static const symbol s_1_71[6] = { 't', 'e', 't', 'i', 'c', 'i' };
+static const symbol s_1_72[5] = { 'b', 'o', 'j', 'c', 'i' };
+static const symbol s_1_73[5] = { 'v', 'o', 'j', 'c', 'i' };
+static const symbol s_1_74[5] = { 'o', 'j', 's', 'c', 'i' };
+static const symbol s_1_75[4] = { 'a', 't', 'c', 'i' };
+static const symbol s_1_76[4] = { 'i', 't', 'c', 'i' };
+static const symbol s_1_77[4] = { 'u', 't', 'c', 'i' };
+static const symbol s_1_78[4] = { 0xC4, 0x8D, 'c', 'i' };
+static const symbol s_1_79[4] = { 'p', 'e', 's', 'i' };
+static const symbol s_1_80[4] = { 'i', 'n', 'z', 'i' };
+static const symbol s_1_81[4] = { 'l', 'o', 'z', 'i' };
+static const symbol s_1_82[4] = { 'a', 'c', 'a', 'k' };
+static const symbol s_1_83[4] = { 'u', 's', 'a', 'k' };
+static const symbol s_1_84[4] = { 'a', 't', 'a', 'k' };
+static const symbol s_1_85[4] = { 'e', 't', 'a', 'k' };
+static const symbol s_1_86[4] = { 'i', 't', 'a', 'k' };
+static const symbol s_1_87[4] = { 'o', 't', 'a', 'k' };
+static const symbol s_1_88[4] = { 'u', 't', 'a', 'k' };
+static const symbol s_1_89[5] = { 'a', 0xC4, 0x8D, 'a', 'k' };
+static const symbol s_1_90[5] = { 'u', 0xC5, 0xA1, 'a', 'k' };
+static const symbol s_1_91[4] = { 'i', 'z', 'a', 'm' };
+static const symbol s_1_92[5] = { 't', 'i', 'c', 'a', 'n' };
+static const symbol s_1_93[5] = { 'c', 'a', 'j', 'a', 'n' };
+static const symbol s_1_94[6] = { 0xC4, 0x8D, 'a', 'j', 'a', 'n' };
+static const symbol s_1_95[6] = { 'v', 'o', 'l', 'j', 'a', 'n' };
+static const symbol s_1_96[5] = { 'e', 's', 'k', 'a', 'n' };
+static const symbol s_1_97[4] = { 'a', 'l', 'a', 'n' };
+static const symbol s_1_98[5] = { 'b', 'i', 'l', 'a', 'n' };
+static const symbol s_1_99[5] = { 'g', 'i', 'l', 'a', 'n' };
+static const symbol s_1_100[5] = { 'n', 'i', 'l', 'a', 'n' };
+static const symbol s_1_101[5] = { 'r', 'i', 'l', 'a', 'n' };
+static const symbol s_1_102[5] = { 's', 'i', 'l', 'a', 'n' };
+static const symbol s_1_103[5] = { 't', 'i', 'l', 'a', 'n' };
+static const symbol s_1_104[6] = { 'a', 'v', 'i', 'l', 'a', 'n' };
+static const symbol s_1_105[5] = { 'l', 'a', 'r', 'a', 'n' };
+static const symbol s_1_106[4] = { 'e', 'r', 'a', 'n' };
+static const symbol s_1_107[4] = { 'a', 's', 'a', 'n' };
+static const symbol s_1_108[4] = { 'e', 's', 'a', 'n' };
+static const symbol s_1_109[5] = { 'd', 'u', 's', 'a', 'n' };
+static const symbol s_1_110[5] = { 'k', 'u', 's', 'a', 'n' };
+static const symbol s_1_111[4] = { 'a', 't', 'a', 'n' };
+static const symbol s_1_112[6] = { 'p', 'l', 'e', 't', 'a', 'n' };
+static const symbol s_1_113[5] = { 't', 'e', 't', 'a', 'n' };
+static const symbol s_1_114[5] = { 'a', 'n', 't', 'a', 'n' };
+static const symbol s_1_115[6] = { 'p', 'r', 'a', 'v', 'a', 'n' };
+static const symbol s_1_116[6] = { 's', 't', 'a', 'v', 'a', 'n' };
+static const symbol s_1_117[5] = { 's', 'i', 'v', 'a', 'n' };
+static const symbol s_1_118[5] = { 't', 'i', 'v', 'a', 'n' };
+static const symbol s_1_119[4] = { 'o', 'z', 'a', 'n' };
+static const symbol s_1_120[6] = { 't', 'i', 0xC4, 0x8D, 'a', 'n' };
+static const symbol s_1_121[5] = { 'a', 0xC5, 0xA1, 'a', 'n' };
+static const symbol s_1_122[6] = { 'd', 'u', 0xC5, 0xA1, 'a', 'n' };
+static const symbol s_1_123[5] = { 'm', 'e', 't', 'a', 'r' };
+static const symbol s_1_124[6] = { 'c', 'e', 'n', 't', 'a', 'r' };
+static const symbol s_1_125[5] = { 'i', 's', 't', 'a', 'r' };
+static const symbol s_1_126[4] = { 'e', 'k', 'a', 't' };
+static const symbol s_1_127[4] = { 'e', 'n', 'a', 't' };
+static const symbol s_1_128[4] = { 'o', 's', 'c', 'u' };
+static const symbol s_1_129[6] = { 'o', 0xC5, 0xA1, 0xC4, 0x87, 'u' };
+static const struct among a_1[130] = {
+{ 4, s_1_0, 0, 73, 0},
+{ 5, s_1_1, 0, 12, 0},
+{ 5, s_1_2, 0, 14, 0},
+{ 5, s_1_3, 0, 13, 0},
+{ 5, s_1_4, 0, 85, 0},
+{ 5, s_1_5, 0, 15, 0},
+{ 5, s_1_6, 0, 82, 0},
+{ 5, s_1_7, 0, 83, 0},
+{ 5, s_1_8, 0, 84, 0},
+{ 4, s_1_9, 0, 75, 0},
+{ 4, s_1_10, 0, 76, 0},
+{ 4, s_1_11, 0, 81, 0},
+{ 4, s_1_12, 0, 80, 0},
+{ 4, s_1_13, 0, 79, 0},
+{ 5, s_1_14, 0, 18, 0},
+{ 4, s_1_15, 0, 82, 0},
+{ 5, s_1_16, 0, 55, 0},
+{ 5, s_1_17, 0, 16, 0},
+{ 5, s_1_18, 0, 17, 0},
+{ 5, s_1_19, 0, 78, 0},
+{ 5, s_1_20, 0, 58, 0},
+{ 5, s_1_21, 0, 59, 0},
+{ 5, s_1_22, 0, 60, 0},
+{ 5, s_1_23, 0, 61, 0},
+{ 5, s_1_24, 0, 62, 0},
+{ 6, s_1_25, 0, 54, 0},
+{ 5, s_1_26, 0, 67, 0},
+{ 5, s_1_27, 0, 87, 0},
+{ 6, s_1_28, 0, 5, 0},
+{ 6, s_1_29, 0, 23, 0},
+{ 6, s_1_30, 0, 24, 0},
+{ 8, s_1_31, -1, 21, 0},
+{ 6, s_1_32, 0, 25, 0},
+{ 6, s_1_33, 0, 58, 0},
+{ 6, s_1_34, 0, 62, 0},
+{ 6, s_1_35, 0, 74, 0},
+{ 6, s_1_36, 0, 2, 0},
+{ 6, s_1_37, 0, 19, 0},
+{ 6, s_1_38, 0, 1, 0},
+{ 6, s_1_39, 0, 68, 0},
+{ 7, s_1_40, 0, 69, 0},
+{ 6, s_1_41, 0, 70, 0},
+{ 5, s_1_42, 0, 86, 0},
+{ 5, s_1_43, 0, 53, 0},
+{ 6, s_1_44, 0, 22, 0},
+{ 7, s_1_45, 0, 29, 0},
+{ 4, s_1_46, 0, 12, 0},
+{ 4, s_1_47, 0, 14, 0},
+{ 4, s_1_48, 0, 13, 0},
+{ 4, s_1_49, 0, 85, 0},
+{ 5, s_1_50, -1, 11, 0},
+{ 4, s_1_51, 0, 15, 0},
+{ 4, s_1_52, 0, 82, 0},
+{ 4, s_1_53, 0, 83, 0},
+{ 4, s_1_54, 0, 84, 0},
+{ 3, s_1_55, 0, 75, 0},
+{ 3, s_1_56, 0, 76, 0},
+{ 3, s_1_57, 0, 81, 0},
+{ 3, s_1_58, 0, 80, 0},
+{ 3, s_1_59, 0, 79, 0},
+{ 4, s_1_60, 0, 18, 0},
+{ 4, s_1_61, 0, 88, 0},
+{ 4, s_1_62, 0, 84, 0},
+{ 4, s_1_63, 0, 27, 0},
+{ 4, s_1_64, 0, 42, 0},
+{ 4, s_1_65, 0, 52, 0},
+{ 5, s_1_66, 0, 51, 0},
+{ 4, s_1_67, 0, 89, 0},
+{ 4, s_1_68, 0, 5, 0},
+{ 7, s_1_69, 0, 20, 0},
+{ 5, s_1_70, 0, 26, 0},
+{ 6, s_1_71, 0, 21, 0},
+{ 5, s_1_72, 0, 4, 0},
+{ 5, s_1_73, 0, 3, 0},
+{ 5, s_1_74, 0, 66, 0},
+{ 4, s_1_75, 0, 58, 0},
+{ 4, s_1_76, 0, 60, 0},
+{ 4, s_1_77, 0, 62, 0},
+{ 4, s_1_78, 0, 74, 0},
+{ 4, s_1_79, 0, 2, 0},
+{ 4, s_1_80, 0, 19, 0},
+{ 4, s_1_81, 0, 1, 0},
+{ 4, s_1_82, 0, 55, 0},
+{ 4, s_1_83, 0, 57, 0},
+{ 4, s_1_84, 0, 58, 0},
+{ 4, s_1_85, 0, 59, 0},
+{ 4, s_1_86, 0, 60, 0},
+{ 4, s_1_87, 0, 61, 0},
+{ 4, s_1_88, 0, 62, 0},
+{ 5, s_1_89, 0, 54, 0},
+{ 5, s_1_90, 0, 56, 0},
+{ 4, s_1_91, 0, 87, 0},
+{ 5, s_1_92, 0, 65, 0},
+{ 5, s_1_93, 0, 7, 0},
+{ 6, s_1_94, 0, 6, 0},
+{ 6, s_1_95, 0, 77, 0},
+{ 5, s_1_96, 0, 63, 0},
+{ 4, s_1_97, 0, 40, 0},
+{ 5, s_1_98, 0, 33, 0},
+{ 5, s_1_99, 0, 37, 0},
+{ 5, s_1_100, 0, 39, 0},
+{ 5, s_1_101, 0, 38, 0},
+{ 5, s_1_102, 0, 36, 0},
+{ 5, s_1_103, 0, 34, 0},
+{ 6, s_1_104, 0, 35, 0},
+{ 5, s_1_105, 0, 9, 0},
+{ 4, s_1_106, 0, 8, 0},
+{ 4, s_1_107, 0, 91, 0},
+{ 4, s_1_108, 0, 10, 0},
+{ 5, s_1_109, 0, 31, 0},
+{ 5, s_1_110, 0, 28, 0},
+{ 4, s_1_111, 0, 47, 0},
+{ 6, s_1_112, 0, 50, 0},
+{ 5, s_1_113, 0, 49, 0},
+{ 5, s_1_114, 0, 32, 0},
+{ 6, s_1_115, 0, 44, 0},
+{ 6, s_1_116, 0, 43, 0},
+{ 5, s_1_117, 0, 46, 0},
+{ 5, s_1_118, 0, 45, 0},
+{ 4, s_1_119, 0, 41, 0},
+{ 6, s_1_120, 0, 64, 0},
+{ 5, s_1_121, 0, 90, 0},
+{ 6, s_1_122, 0, 30, 0},
+{ 5, s_1_123, 0, 68, 0},
+{ 6, s_1_124, 0, 69, 0},
+{ 5, s_1_125, 0, 70, 0},
+{ 4, s_1_126, 0, 86, 0},
+{ 4, s_1_127, 0, 48, 0},
+{ 4, s_1_128, 0, 72, 0},
+{ 6, s_1_129, 0, 71, 0}
+};
+
+static const symbol s_2_0[3] = { 'a', 'c', 'a' };
+static const symbol s_2_1[3] = { 'e', 'c', 'a' };
+static const symbol s_2_2[3] = { 'u', 'c', 'a' };
+static const symbol s_2_3[2] = { 'g', 'a' };
+static const symbol s_2_4[5] = { 'a', 'c', 'e', 'g', 'a' };
+static const symbol s_2_5[5] = { 'e', 'c', 'e', 'g', 'a' };
+static const symbol s_2_6[5] = { 'u', 'c', 'e', 'g', 'a' };
+static const symbol s_2_7[8] = { 'a', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_8[8] = { 'e', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_9[8] = { 's', 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_10[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_11[6] = { 'k', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_12[7] = { 's', 'k', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_13[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_14[7] = { 'e', 'l', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_15[6] = { 'n', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_16[7] = { 'o', 's', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_17[7] = { 'a', 't', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_18[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_19[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_20[8] = { 'a', 's', 't', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_21[7] = { 'a', 'v', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_22[7] = { 'e', 'v', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_23[7] = { 'i', 'v', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_24[7] = { 'o', 'v', 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_25[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'g', 'a' };
+static const symbol s_2_26[6] = { 'a', 'n', 'j', 'e', 'g', 'a' };
+static const symbol s_2_27[6] = { 'e', 'n', 'j', 'e', 'g', 'a' };
+static const symbol s_2_28[6] = { 's', 'n', 'j', 'e', 'g', 'a' };
+static const symbol s_2_29[7] = { 0xC5, 0xA1, 'n', 'j', 'e', 'g', 'a' };
+static const symbol s_2_30[4] = { 'k', 'e', 'g', 'a' };
+static const symbol s_2_31[5] = { 's', 'k', 'e', 'g', 'a' };
+static const symbol s_2_32[6] = { 0xC5, 0xA1, 'k', 'e', 'g', 'a' };
+static const symbol s_2_33[5] = { 'e', 'l', 'e', 'g', 'a' };
+static const symbol s_2_34[4] = { 'n', 'e', 'g', 'a' };
+static const symbol s_2_35[5] = { 'a', 'n', 'e', 'g', 'a' };
+static const symbol s_2_36[5] = { 'e', 'n', 'e', 'g', 'a' };
+static const symbol s_2_37[5] = { 's', 'n', 'e', 'g', 'a' };
+static const symbol s_2_38[6] = { 0xC5, 0xA1, 'n', 'e', 'g', 'a' };
+static const symbol s_2_39[5] = { 'o', 's', 'e', 'g', 'a' };
+static const symbol s_2_40[5] = { 'a', 't', 'e', 'g', 'a' };
+static const symbol s_2_41[7] = { 'e', 'v', 'i', 't', 'e', 'g', 'a' };
+static const symbol s_2_42[7] = { 'o', 'v', 'i', 't', 'e', 'g', 'a' };
+static const symbol s_2_43[6] = { 'a', 's', 't', 'e', 'g', 'a' };
+static const symbol s_2_44[5] = { 'a', 'v', 'e', 'g', 'a' };
+static const symbol s_2_45[5] = { 'e', 'v', 'e', 'g', 'a' };
+static const symbol s_2_46[5] = { 'i', 'v', 'e', 'g', 'a' };
+static const symbol s_2_47[5] = { 'o', 'v', 'e', 'g', 'a' };
+static const symbol s_2_48[6] = { 'a', 0xC4, 0x87, 'e', 'g', 'a' };
+static const symbol s_2_49[6] = { 'e', 0xC4, 0x87, 'e', 'g', 'a' };
+static const symbol s_2_50[6] = { 'u', 0xC4, 0x87, 'e', 'g', 'a' };
+static const symbol s_2_51[6] = { 'o', 0xC5, 0xA1, 'e', 'g', 'a' };
+static const symbol s_2_52[5] = { 'a', 'c', 'o', 'g', 'a' };
+static const symbol s_2_53[5] = { 'e', 'c', 'o', 'g', 'a' };
+static const symbol s_2_54[5] = { 'u', 'c', 'o', 'g', 'a' };
+static const symbol s_2_55[6] = { 'a', 'n', 'j', 'o', 'g', 'a' };
+static const symbol s_2_56[6] = { 'e', 'n', 'j', 'o', 'g', 'a' };
+static const symbol s_2_57[6] = { 's', 'n', 'j', 'o', 'g', 'a' };
+static const symbol s_2_58[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'g', 'a' };
+static const symbol s_2_59[4] = { 'k', 'o', 'g', 'a' };
+static const symbol s_2_60[5] = { 's', 'k', 'o', 'g', 'a' };
+static const symbol s_2_61[6] = { 0xC5, 0xA1, 'k', 'o', 'g', 'a' };
+static const symbol s_2_62[4] = { 'l', 'o', 'g', 'a' };
+static const symbol s_2_63[5] = { 'e', 'l', 'o', 'g', 'a' };
+static const symbol s_2_64[4] = { 'n', 'o', 'g', 'a' };
+static const symbol s_2_65[6] = { 'c', 'i', 'n', 'o', 'g', 'a' };
+static const symbol s_2_66[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'g', 'a' };
+static const symbol s_2_67[5] = { 'o', 's', 'o', 'g', 'a' };
+static const symbol s_2_68[5] = { 'a', 't', 'o', 'g', 'a' };
+static const symbol s_2_69[7] = { 'e', 'v', 'i', 't', 'o', 'g', 'a' };
+static const symbol s_2_70[7] = { 'o', 'v', 'i', 't', 'o', 'g', 'a' };
+static const symbol s_2_71[6] = { 'a', 's', 't', 'o', 'g', 'a' };
+static const symbol s_2_72[5] = { 'a', 'v', 'o', 'g', 'a' };
+static const symbol s_2_73[5] = { 'e', 'v', 'o', 'g', 'a' };
+static const symbol s_2_74[5] = { 'i', 'v', 'o', 'g', 'a' };
+static const symbol s_2_75[5] = { 'o', 'v', 'o', 'g', 'a' };
+static const symbol s_2_76[6] = { 'a', 0xC4, 0x87, 'o', 'g', 'a' };
+static const symbol s_2_77[6] = { 'e', 0xC4, 0x87, 'o', 'g', 'a' };
+static const symbol s_2_78[6] = { 'u', 0xC4, 0x87, 'o', 'g', 'a' };
+static const symbol s_2_79[6] = { 'o', 0xC5, 0xA1, 'o', 'g', 'a' };
+static const symbol s_2_80[3] = { 'u', 'g', 'a' };
+static const symbol s_2_81[3] = { 'a', 'j', 'a' };
+static const symbol s_2_82[4] = { 'c', 'a', 'j', 'a' };
+static const symbol s_2_83[4] = { 'l', 'a', 'j', 'a' };
+static const symbol s_2_84[4] = { 'r', 'a', 'j', 'a' };
+static const symbol s_2_85[5] = { 0xC4, 0x87, 'a', 'j', 'a' };
+static const symbol s_2_86[5] = { 0xC4, 0x8D, 'a', 'j', 'a' };
+static const symbol s_2_87[5] = { 0xC4, 0x91, 'a', 'j', 'a' };
+static const symbol s_2_88[4] = { 'b', 'i', 'j', 'a' };
+static const symbol s_2_89[4] = { 'c', 'i', 'j', 'a' };
+static const symbol s_2_90[4] = { 'd', 'i', 'j', 'a' };
+static const symbol s_2_91[4] = { 'f', 'i', 'j', 'a' };
+static const symbol s_2_92[4] = { 'g', 'i', 'j', 'a' };
+static const symbol s_2_93[6] = { 'a', 'n', 'j', 'i', 'j', 'a' };
+static const symbol s_2_94[6] = { 'e', 'n', 'j', 'i', 'j', 'a' };
+static const symbol s_2_95[6] = { 's', 'n', 'j', 'i', 'j', 'a' };
+static const symbol s_2_96[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'a' };
+static const symbol s_2_97[4] = { 'k', 'i', 'j', 'a' };
+static const symbol s_2_98[5] = { 's', 'k', 'i', 'j', 'a' };
+static const symbol s_2_99[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'a' };
+static const symbol s_2_100[4] = { 'l', 'i', 'j', 'a' };
+static const symbol s_2_101[5] = { 'e', 'l', 'i', 'j', 'a' };
+static const symbol s_2_102[4] = { 'm', 'i', 'j', 'a' };
+static const symbol s_2_103[4] = { 'n', 'i', 'j', 'a' };
+static const symbol s_2_104[6] = { 'g', 'a', 'n', 'i', 'j', 'a' };
+static const symbol s_2_105[6] = { 'm', 'a', 'n', 'i', 'j', 'a' };
+static const symbol s_2_106[6] = { 'p', 'a', 'n', 'i', 'j', 'a' };
+static const symbol s_2_107[6] = { 'r', 'a', 'n', 'i', 'j', 'a' };
+static const symbol s_2_108[6] = { 't', 'a', 'n', 'i', 'j', 'a' };
+static const symbol s_2_109[4] = { 'p', 'i', 'j', 'a' };
+static const symbol s_2_110[4] = { 'r', 'i', 'j', 'a' };
+static const symbol s_2_111[6] = { 'r', 'a', 'r', 'i', 'j', 'a' };
+static const symbol s_2_112[4] = { 's', 'i', 'j', 'a' };
+static const symbol s_2_113[5] = { 'o', 's', 'i', 'j', 'a' };
+static const symbol s_2_114[4] = { 't', 'i', 'j', 'a' };
+static const symbol s_2_115[5] = { 'a', 't', 'i', 'j', 'a' };
+static const symbol s_2_116[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'a' };
+static const symbol s_2_117[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'a' };
+static const symbol s_2_118[5] = { 'o', 't', 'i', 'j', 'a' };
+static const symbol s_2_119[6] = { 'a', 's', 't', 'i', 'j', 'a' };
+static const symbol s_2_120[5] = { 'a', 'v', 'i', 'j', 'a' };
+static const symbol s_2_121[5] = { 'e', 'v', 'i', 'j', 'a' };
+static const symbol s_2_122[5] = { 'i', 'v', 'i', 'j', 'a' };
+static const symbol s_2_123[5] = { 'o', 'v', 'i', 'j', 'a' };
+static const symbol s_2_124[4] = { 'z', 'i', 'j', 'a' };
+static const symbol s_2_125[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'a' };
+static const symbol s_2_126[5] = { 0xC5, 0xBE, 'i', 'j', 'a' };
+static const symbol s_2_127[4] = { 'a', 'n', 'j', 'a' };
+static const symbol s_2_128[4] = { 'e', 'n', 'j', 'a' };
+static const symbol s_2_129[4] = { 's', 'n', 'j', 'a' };
+static const symbol s_2_130[5] = { 0xC5, 0xA1, 'n', 'j', 'a' };
+static const symbol s_2_131[2] = { 'k', 'a' };
+static const symbol s_2_132[3] = { 's', 'k', 'a' };
+static const symbol s_2_133[4] = { 0xC5, 0xA1, 'k', 'a' };
+static const symbol s_2_134[3] = { 'a', 'l', 'a' };
+static const symbol s_2_135[5] = { 'a', 'c', 'a', 'l', 'a' };
+static const symbol s_2_136[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'a' };
+static const symbol s_2_137[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'a' };
+static const symbol s_2_138[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'a' };
+static const symbol s_2_139[5] = { 'i', 'j', 'a', 'l', 'a' };
+static const symbol s_2_140[6] = { 'i', 'n', 'j', 'a', 'l', 'a' };
+static const symbol s_2_141[4] = { 'n', 'a', 'l', 'a' };
+static const symbol s_2_142[5] = { 'i', 'r', 'a', 'l', 'a' };
+static const symbol s_2_143[5] = { 'u', 'r', 'a', 'l', 'a' };
+static const symbol s_2_144[4] = { 't', 'a', 'l', 'a' };
+static const symbol s_2_145[6] = { 'a', 's', 't', 'a', 'l', 'a' };
+static const symbol s_2_146[6] = { 'i', 's', 't', 'a', 'l', 'a' };
+static const symbol s_2_147[6] = { 'o', 's', 't', 'a', 'l', 'a' };
+static const symbol s_2_148[5] = { 'a', 'v', 'a', 'l', 'a' };
+static const symbol s_2_149[5] = { 'e', 'v', 'a', 'l', 'a' };
+static const symbol s_2_150[5] = { 'i', 'v', 'a', 'l', 'a' };
+static const symbol s_2_151[5] = { 'o', 'v', 'a', 'l', 'a' };
+static const symbol s_2_152[5] = { 'u', 'v', 'a', 'l', 'a' };
+static const symbol s_2_153[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'a' };
+static const symbol s_2_154[3] = { 'e', 'l', 'a' };
+static const symbol s_2_155[3] = { 'i', 'l', 'a' };
+static const symbol s_2_156[5] = { 'a', 'c', 'i', 'l', 'a' };
+static const symbol s_2_157[6] = { 'l', 'u', 'c', 'i', 'l', 'a' };
+static const symbol s_2_158[4] = { 'n', 'i', 'l', 'a' };
+static const symbol s_2_159[8] = { 'a', 's', 't', 'a', 'n', 'i', 'l', 'a' };
+static const symbol s_2_160[8] = { 'i', 's', 't', 'a', 'n', 'i', 'l', 'a' };
+static const symbol s_2_161[8] = { 'o', 's', 't', 'a', 'n', 'i', 'l', 'a' };
+static const symbol s_2_162[6] = { 'r', 'o', 's', 'i', 'l', 'a' };
+static const symbol s_2_163[6] = { 'j', 'e', 't', 'i', 'l', 'a' };
+static const symbol s_2_164[5] = { 'o', 'z', 'i', 'l', 'a' };
+static const symbol s_2_165[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'a' };
+static const symbol s_2_166[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'a' };
+static const symbol s_2_167[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'a' };
+static const symbol s_2_168[3] = { 'o', 'l', 'a' };
+static const symbol s_2_169[4] = { 'a', 's', 'l', 'a' };
+static const symbol s_2_170[4] = { 'n', 'u', 'l', 'a' };
+static const symbol s_2_171[4] = { 'g', 'a', 'm', 'a' };
+static const symbol s_2_172[6] = { 'l', 'o', 'g', 'a', 'm', 'a' };
+static const symbol s_2_173[5] = { 'u', 'g', 'a', 'm', 'a' };
+static const symbol s_2_174[5] = { 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_175[6] = { 'c', 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_176[6] = { 'l', 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_177[6] = { 'r', 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_178[7] = { 0xC4, 0x87, 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_179[7] = { 0xC4, 0x8D, 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_180[7] = { 0xC4, 0x91, 'a', 'j', 'a', 'm', 'a' };
+static const symbol s_2_181[6] = { 'b', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_182[6] = { 'c', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_183[6] = { 'd', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_184[6] = { 'f', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_185[6] = { 'g', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_186[6] = { 'l', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_187[6] = { 'm', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_188[6] = { 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_189[8] = { 'g', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_190[8] = { 'm', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_191[8] = { 'p', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_192[8] = { 'r', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_193[8] = { 't', 'a', 'n', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_194[6] = { 'p', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_195[6] = { 'r', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_196[6] = { 's', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_197[6] = { 't', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_198[6] = { 'z', 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_199[7] = { 0xC5, 0xBE, 'i', 'j', 'a', 'm', 'a' };
+static const symbol s_2_200[5] = { 'a', 'l', 'a', 'm', 'a' };
+static const symbol s_2_201[7] = { 'i', 'j', 'a', 'l', 'a', 'm', 'a' };
+static const symbol s_2_202[6] = { 'n', 'a', 'l', 'a', 'm', 'a' };
+static const symbol s_2_203[5] = { 'e', 'l', 'a', 'm', 'a' };
+static const symbol s_2_204[5] = { 'i', 'l', 'a', 'm', 'a' };
+static const symbol s_2_205[6] = { 'r', 'a', 'm', 'a', 'm', 'a' };
+static const symbol s_2_206[6] = { 'l', 'e', 'm', 'a', 'm', 'a' };
+static const symbol s_2_207[5] = { 'i', 'n', 'a', 'm', 'a' };
+static const symbol s_2_208[6] = { 'c', 'i', 'n', 'a', 'm', 'a' };
+static const symbol s_2_209[7] = { 0xC4, 0x8D, 'i', 'n', 'a', 'm', 'a' };
+static const symbol s_2_210[4] = { 'r', 'a', 'm', 'a' };
+static const symbol s_2_211[5] = { 'a', 'r', 'a', 'm', 'a' };
+static const symbol s_2_212[5] = { 'd', 'r', 'a', 'm', 'a' };
+static const symbol s_2_213[5] = { 'e', 'r', 'a', 'm', 'a' };
+static const symbol s_2_214[5] = { 'o', 'r', 'a', 'm', 'a' };
+static const symbol s_2_215[6] = { 'b', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_216[6] = { 'g', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_217[6] = { 'j', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_218[6] = { 'k', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_219[6] = { 'n', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_220[6] = { 't', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_221[6] = { 'v', 'a', 's', 'a', 'm', 'a' };
+static const symbol s_2_222[5] = { 'e', 's', 'a', 'm', 'a' };
+static const symbol s_2_223[5] = { 'i', 's', 'a', 'm', 'a' };
+static const symbol s_2_224[5] = { 'e', 't', 'a', 'm', 'a' };
+static const symbol s_2_225[6] = { 'e', 's', 't', 'a', 'm', 'a' };
+static const symbol s_2_226[6] = { 'i', 's', 't', 'a', 'm', 'a' };
+static const symbol s_2_227[6] = { 'k', 's', 't', 'a', 'm', 'a' };
+static const symbol s_2_228[6] = { 'o', 's', 't', 'a', 'm', 'a' };
+static const symbol s_2_229[5] = { 'a', 'v', 'a', 'm', 'a' };
+static const symbol s_2_230[5] = { 'e', 'v', 'a', 'm', 'a' };
+static const symbol s_2_231[5] = { 'i', 'v', 'a', 'm', 'a' };
+static const symbol s_2_232[7] = { 'b', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_233[7] = { 'g', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_234[7] = { 'j', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_235[7] = { 'k', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_236[7] = { 'n', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_237[7] = { 't', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_238[7] = { 'v', 'a', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_239[6] = { 'e', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_240[6] = { 'i', 0xC5, 0xA1, 'a', 'm', 'a' };
+static const symbol s_2_241[4] = { 'l', 'e', 'm', 'a' };
+static const symbol s_2_242[5] = { 'a', 'c', 'i', 'm', 'a' };
+static const symbol s_2_243[5] = { 'e', 'c', 'i', 'm', 'a' };
+static const symbol s_2_244[5] = { 'u', 'c', 'i', 'm', 'a' };
+static const symbol s_2_245[5] = { 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_246[6] = { 'c', 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_247[6] = { 'l', 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_248[6] = { 'r', 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_249[7] = { 0xC4, 0x87, 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_250[7] = { 0xC4, 0x8D, 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_251[7] = { 0xC4, 0x91, 'a', 'j', 'i', 'm', 'a' };
+static const symbol s_2_252[6] = { 'b', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_253[6] = { 'c', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_254[6] = { 'd', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_255[6] = { 'f', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_256[6] = { 'g', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_257[8] = { 'a', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_258[8] = { 'e', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_259[8] = { 's', 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_260[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_261[6] = { 'k', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_262[7] = { 's', 'k', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_263[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_264[6] = { 'l', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_265[7] = { 'e', 'l', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_266[6] = { 'm', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_267[6] = { 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_268[8] = { 'g', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_269[8] = { 'm', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_270[8] = { 'p', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_271[8] = { 'r', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_272[8] = { 't', 'a', 'n', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_273[6] = { 'p', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_274[6] = { 'r', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_275[6] = { 's', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_276[7] = { 'o', 's', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_277[6] = { 't', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_278[7] = { 'a', 't', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_279[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_280[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_281[8] = { 'a', 's', 't', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_282[7] = { 'a', 'v', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_283[7] = { 'e', 'v', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_284[7] = { 'i', 'v', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_285[7] = { 'o', 'v', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_286[6] = { 'z', 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_287[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_288[7] = { 0xC5, 0xBE, 'i', 'j', 'i', 'm', 'a' };
+static const symbol s_2_289[6] = { 'a', 'n', 'j', 'i', 'm', 'a' };
+static const symbol s_2_290[6] = { 'e', 'n', 'j', 'i', 'm', 'a' };
+static const symbol s_2_291[6] = { 's', 'n', 'j', 'i', 'm', 'a' };
+static const symbol s_2_292[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'm', 'a' };
+static const symbol s_2_293[4] = { 'k', 'i', 'm', 'a' };
+static const symbol s_2_294[5] = { 's', 'k', 'i', 'm', 'a' };
+static const symbol s_2_295[6] = { 0xC5, 0xA1, 'k', 'i', 'm', 'a' };
+static const symbol s_2_296[5] = { 'a', 'l', 'i', 'm', 'a' };
+static const symbol s_2_297[7] = { 'i', 'j', 'a', 'l', 'i', 'm', 'a' };
+static const symbol s_2_298[6] = { 'n', 'a', 'l', 'i', 'm', 'a' };
+static const symbol s_2_299[5] = { 'e', 'l', 'i', 'm', 'a' };
+static const symbol s_2_300[5] = { 'i', 'l', 'i', 'm', 'a' };
+static const symbol s_2_301[7] = { 'o', 'z', 'i', 'l', 'i', 'm', 'a' };
+static const symbol s_2_302[5] = { 'o', 'l', 'i', 'm', 'a' };
+static const symbol s_2_303[6] = { 'l', 'e', 'm', 'i', 'm', 'a' };
+static const symbol s_2_304[4] = { 'n', 'i', 'm', 'a' };
+static const symbol s_2_305[5] = { 'a', 'n', 'i', 'm', 'a' };
+static const symbol s_2_306[5] = { 'i', 'n', 'i', 'm', 'a' };
+static const symbol s_2_307[6] = { 'c', 'i', 'n', 'i', 'm', 'a' };
+static const symbol s_2_308[7] = { 0xC4, 0x8D, 'i', 'n', 'i', 'm', 'a' };
+static const symbol s_2_309[5] = { 'o', 'n', 'i', 'm', 'a' };
+static const symbol s_2_310[5] = { 'a', 'r', 'i', 'm', 'a' };
+static const symbol s_2_311[5] = { 'd', 'r', 'i', 'm', 'a' };
+static const symbol s_2_312[5] = { 'e', 'r', 'i', 'm', 'a' };
+static const symbol s_2_313[5] = { 'o', 'r', 'i', 'm', 'a' };
+static const symbol s_2_314[6] = { 'b', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_315[6] = { 'g', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_316[6] = { 'j', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_317[6] = { 'k', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_318[6] = { 'n', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_319[6] = { 't', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_320[6] = { 'v', 'a', 's', 'i', 'm', 'a' };
+static const symbol s_2_321[5] = { 'e', 's', 'i', 'm', 'a' };
+static const symbol s_2_322[5] = { 'i', 's', 'i', 'm', 'a' };
+static const symbol s_2_323[5] = { 'o', 's', 'i', 'm', 'a' };
+static const symbol s_2_324[5] = { 'a', 't', 'i', 'm', 'a' };
+static const symbol s_2_325[7] = { 'i', 'k', 'a', 't', 'i', 'm', 'a' };
+static const symbol s_2_326[6] = { 'l', 'a', 't', 'i', 'm', 'a' };
+static const symbol s_2_327[5] = { 'e', 't', 'i', 'm', 'a' };
+static const symbol s_2_328[7] = { 'e', 'v', 'i', 't', 'i', 'm', 'a' };
+static const symbol s_2_329[7] = { 'o', 'v', 'i', 't', 'i', 'm', 'a' };
+static const symbol s_2_330[6] = { 'a', 's', 't', 'i', 'm', 'a' };
+static const symbol s_2_331[6] = { 'e', 's', 't', 'i', 'm', 'a' };
+static const symbol s_2_332[6] = { 'i', 's', 't', 'i', 'm', 'a' };
+static const symbol s_2_333[6] = { 'k', 's', 't', 'i', 'm', 'a' };
+static const symbol s_2_334[6] = { 'o', 's', 't', 'i', 'm', 'a' };
+static const symbol s_2_335[7] = { 'i', 0xC5, 0xA1, 't', 'i', 'm', 'a' };
+static const symbol s_2_336[5] = { 'a', 'v', 'i', 'm', 'a' };
+static const symbol s_2_337[5] = { 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_338[7] = { 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_339[8] = { 'c', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_340[8] = { 'l', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_341[8] = { 'r', 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_342[9] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_343[9] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_344[9] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'i', 'm', 'a' };
+static const symbol s_2_345[5] = { 'i', 'v', 'i', 'm', 'a' };
+static const symbol s_2_346[5] = { 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_347[6] = { 'g', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_348[7] = { 'u', 'g', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_349[6] = { 'l', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_350[7] = { 'o', 'l', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_351[6] = { 'm', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_352[7] = { 'o', 'n', 'o', 'v', 'i', 'm', 'a' };
+static const symbol s_2_353[6] = { 's', 't', 'v', 'i', 'm', 'a' };
+static const symbol s_2_354[7] = { 0xC5, 0xA1, 't', 'v', 'i', 'm', 'a' };
+static const symbol s_2_355[6] = { 'a', 0xC4, 0x87, 'i', 'm', 'a' };
+static const symbol s_2_356[6] = { 'e', 0xC4, 0x87, 'i', 'm', 'a' };
+static const symbol s_2_357[6] = { 'u', 0xC4, 0x87, 'i', 'm', 'a' };
+static const symbol s_2_358[7] = { 'b', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_359[7] = { 'g', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_360[7] = { 'j', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_361[7] = { 'k', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_362[7] = { 'n', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_363[7] = { 't', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_364[7] = { 'v', 'a', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_365[6] = { 'e', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_366[6] = { 'i', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_367[6] = { 'o', 0xC5, 0xA1, 'i', 'm', 'a' };
+static const symbol s_2_368[2] = { 'n', 'a' };
+static const symbol s_2_369[3] = { 'a', 'n', 'a' };
+static const symbol s_2_370[5] = { 'a', 'c', 'a', 'n', 'a' };
+static const symbol s_2_371[5] = { 'u', 'r', 'a', 'n', 'a' };
+static const symbol s_2_372[4] = { 't', 'a', 'n', 'a' };
+static const symbol s_2_373[5] = { 'a', 'v', 'a', 'n', 'a' };
+static const symbol s_2_374[5] = { 'e', 'v', 'a', 'n', 'a' };
+static const symbol s_2_375[5] = { 'i', 'v', 'a', 'n', 'a' };
+static const symbol s_2_376[5] = { 'u', 'v', 'a', 'n', 'a' };
+static const symbol s_2_377[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'a' };
+static const symbol s_2_378[5] = { 'a', 'c', 'e', 'n', 'a' };
+static const symbol s_2_379[6] = { 'l', 'u', 'c', 'e', 'n', 'a' };
+static const symbol s_2_380[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'a' };
+static const symbol s_2_381[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'a' };
+static const symbol s_2_382[3] = { 'i', 'n', 'a' };
+static const symbol s_2_383[4] = { 'c', 'i', 'n', 'a' };
+static const symbol s_2_384[5] = { 'a', 'n', 'i', 'n', 'a' };
+static const symbol s_2_385[5] = { 0xC4, 0x8D, 'i', 'n', 'a' };
+static const symbol s_2_386[3] = { 'o', 'n', 'a' };
+static const symbol s_2_387[3] = { 'a', 'r', 'a' };
+static const symbol s_2_388[3] = { 'd', 'r', 'a' };
+static const symbol s_2_389[3] = { 'e', 'r', 'a' };
+static const symbol s_2_390[3] = { 'o', 'r', 'a' };
+static const symbol s_2_391[4] = { 'b', 'a', 's', 'a' };
+static const symbol s_2_392[4] = { 'g', 'a', 's', 'a' };
+static const symbol s_2_393[4] = { 'j', 'a', 's', 'a' };
+static const symbol s_2_394[4] = { 'k', 'a', 's', 'a' };
+static const symbol s_2_395[4] = { 'n', 'a', 's', 'a' };
+static const symbol s_2_396[4] = { 't', 'a', 's', 'a' };
+static const symbol s_2_397[4] = { 'v', 'a', 's', 'a' };
+static const symbol s_2_398[3] = { 'e', 's', 'a' };
+static const symbol s_2_399[3] = { 'i', 's', 'a' };
+static const symbol s_2_400[3] = { 'o', 's', 'a' };
+static const symbol s_2_401[3] = { 'a', 't', 'a' };
+static const symbol s_2_402[5] = { 'i', 'k', 'a', 't', 'a' };
+static const symbol s_2_403[4] = { 'l', 'a', 't', 'a' };
+static const symbol s_2_404[3] = { 'e', 't', 'a' };
+static const symbol s_2_405[5] = { 'e', 'v', 'i', 't', 'a' };
+static const symbol s_2_406[5] = { 'o', 'v', 'i', 't', 'a' };
+static const symbol s_2_407[4] = { 'a', 's', 't', 'a' };
+static const symbol s_2_408[4] = { 'e', 's', 't', 'a' };
+static const symbol s_2_409[4] = { 'i', 's', 't', 'a' };
+static const symbol s_2_410[4] = { 'k', 's', 't', 'a' };
+static const symbol s_2_411[4] = { 'o', 's', 't', 'a' };
+static const symbol s_2_412[4] = { 'n', 'u', 't', 'a' };
+static const symbol s_2_413[5] = { 'i', 0xC5, 0xA1, 't', 'a' };
+static const symbol s_2_414[3] = { 'a', 'v', 'a' };
+static const symbol s_2_415[3] = { 'e', 'v', 'a' };
+static const symbol s_2_416[5] = { 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_417[6] = { 'c', 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_418[6] = { 'l', 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_419[6] = { 'r', 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_420[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_421[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_422[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'a' };
+static const symbol s_2_423[3] = { 'i', 'v', 'a' };
+static const symbol s_2_424[3] = { 'o', 'v', 'a' };
+static const symbol s_2_425[4] = { 'g', 'o', 'v', 'a' };
+static const symbol s_2_426[5] = { 'u', 'g', 'o', 'v', 'a' };
+static const symbol s_2_427[4] = { 'l', 'o', 'v', 'a' };
+static const symbol s_2_428[5] = { 'o', 'l', 'o', 'v', 'a' };
+static const symbol s_2_429[4] = { 'm', 'o', 'v', 'a' };
+static const symbol s_2_430[5] = { 'o', 'n', 'o', 'v', 'a' };
+static const symbol s_2_431[4] = { 's', 't', 'v', 'a' };
+static const symbol s_2_432[5] = { 0xC5, 0xA1, 't', 'v', 'a' };
+static const symbol s_2_433[4] = { 'a', 0xC4, 0x87, 'a' };
+static const symbol s_2_434[4] = { 'e', 0xC4, 0x87, 'a' };
+static const symbol s_2_435[4] = { 'u', 0xC4, 0x87, 'a' };
+static const symbol s_2_436[5] = { 'b', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_437[5] = { 'g', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_438[5] = { 'j', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_439[5] = { 'k', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_440[5] = { 'n', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_441[5] = { 't', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_442[5] = { 'v', 'a', 0xC5, 0xA1, 'a' };
+static const symbol s_2_443[4] = { 'e', 0xC5, 0xA1, 'a' };
+static const symbol s_2_444[4] = { 'i', 0xC5, 0xA1, 'a' };
+static const symbol s_2_445[4] = { 'o', 0xC5, 0xA1, 'a' };
+static const symbol s_2_446[3] = { 'a', 'c', 'e' };
+static const symbol s_2_447[3] = { 'e', 'c', 'e' };
+static const symbol s_2_448[3] = { 'u', 'c', 'e' };
+static const symbol s_2_449[4] = { 'l', 'u', 'c', 'e' };
+static const symbol s_2_450[6] = { 'a', 's', 't', 'a', 'd', 'e' };
+static const symbol s_2_451[6] = { 'i', 's', 't', 'a', 'd', 'e' };
+static const symbol s_2_452[6] = { 'o', 's', 't', 'a', 'd', 'e' };
+static const symbol s_2_453[2] = { 'g', 'e' };
+static const symbol s_2_454[4] = { 'l', 'o', 'g', 'e' };
+static const symbol s_2_455[3] = { 'u', 'g', 'e' };
+static const symbol s_2_456[3] = { 'a', 'j', 'e' };
+static const symbol s_2_457[4] = { 'c', 'a', 'j', 'e' };
+static const symbol s_2_458[4] = { 'l', 'a', 'j', 'e' };
+static const symbol s_2_459[4] = { 'r', 'a', 'j', 'e' };
+static const symbol s_2_460[6] = { 'a', 's', 't', 'a', 'j', 'e' };
+static const symbol s_2_461[6] = { 'i', 's', 't', 'a', 'j', 'e' };
+static const symbol s_2_462[6] = { 'o', 's', 't', 'a', 'j', 'e' };
+static const symbol s_2_463[5] = { 0xC4, 0x87, 'a', 'j', 'e' };
+static const symbol s_2_464[5] = { 0xC4, 0x8D, 'a', 'j', 'e' };
+static const symbol s_2_465[5] = { 0xC4, 0x91, 'a', 'j', 'e' };
+static const symbol s_2_466[3] = { 'i', 'j', 'e' };
+static const symbol s_2_467[4] = { 'b', 'i', 'j', 'e' };
+static const symbol s_2_468[4] = { 'c', 'i', 'j', 'e' };
+static const symbol s_2_469[4] = { 'd', 'i', 'j', 'e' };
+static const symbol s_2_470[4] = { 'f', 'i', 'j', 'e' };
+static const symbol s_2_471[4] = { 'g', 'i', 'j', 'e' };
+static const symbol s_2_472[6] = { 'a', 'n', 'j', 'i', 'j', 'e' };
+static const symbol s_2_473[6] = { 'e', 'n', 'j', 'i', 'j', 'e' };
+static const symbol s_2_474[6] = { 's', 'n', 'j', 'i', 'j', 'e' };
+static const symbol s_2_475[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e' };
+static const symbol s_2_476[4] = { 'k', 'i', 'j', 'e' };
+static const symbol s_2_477[5] = { 's', 'k', 'i', 'j', 'e' };
+static const symbol s_2_478[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e' };
+static const symbol s_2_479[4] = { 'l', 'i', 'j', 'e' };
+static const symbol s_2_480[5] = { 'e', 'l', 'i', 'j', 'e' };
+static const symbol s_2_481[4] = { 'm', 'i', 'j', 'e' };
+static const symbol s_2_482[4] = { 'n', 'i', 'j', 'e' };
+static const symbol s_2_483[6] = { 'g', 'a', 'n', 'i', 'j', 'e' };
+static const symbol s_2_484[6] = { 'm', 'a', 'n', 'i', 'j', 'e' };
+static const symbol s_2_485[6] = { 'p', 'a', 'n', 'i', 'j', 'e' };
+static const symbol s_2_486[6] = { 'r', 'a', 'n', 'i', 'j', 'e' };
+static const symbol s_2_487[6] = { 't', 'a', 'n', 'i', 'j', 'e' };
+static const symbol s_2_488[4] = { 'p', 'i', 'j', 'e' };
+static const symbol s_2_489[4] = { 'r', 'i', 'j', 'e' };
+static const symbol s_2_490[4] = { 's', 'i', 'j', 'e' };
+static const symbol s_2_491[5] = { 'o', 's', 'i', 'j', 'e' };
+static const symbol s_2_492[4] = { 't', 'i', 'j', 'e' };
+static const symbol s_2_493[5] = { 'a', 't', 'i', 'j', 'e' };
+static const symbol s_2_494[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'e' };
+static const symbol s_2_495[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'e' };
+static const symbol s_2_496[6] = { 'a', 's', 't', 'i', 'j', 'e' };
+static const symbol s_2_497[5] = { 'a', 'v', 'i', 'j', 'e' };
+static const symbol s_2_498[5] = { 'e', 'v', 'i', 'j', 'e' };
+static const symbol s_2_499[5] = { 'i', 'v', 'i', 'j', 'e' };
+static const symbol s_2_500[5] = { 'o', 'v', 'i', 'j', 'e' };
+static const symbol s_2_501[4] = { 'z', 'i', 'j', 'e' };
+static const symbol s_2_502[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e' };
+static const symbol s_2_503[5] = { 0xC5, 0xBE, 'i', 'j', 'e' };
+static const symbol s_2_504[4] = { 'a', 'n', 'j', 'e' };
+static const symbol s_2_505[4] = { 'e', 'n', 'j', 'e' };
+static const symbol s_2_506[4] = { 's', 'n', 'j', 'e' };
+static const symbol s_2_507[5] = { 0xC5, 0xA1, 'n', 'j', 'e' };
+static const symbol s_2_508[3] = { 'u', 'j', 'e' };
+static const symbol s_2_509[6] = { 'l', 'u', 'c', 'u', 'j', 'e' };
+static const symbol s_2_510[5] = { 'i', 'r', 'u', 'j', 'e' };
+static const symbol s_2_511[7] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e' };
+static const symbol s_2_512[2] = { 'k', 'e' };
+static const symbol s_2_513[3] = { 's', 'k', 'e' };
+static const symbol s_2_514[4] = { 0xC5, 0xA1, 'k', 'e' };
+static const symbol s_2_515[3] = { 'a', 'l', 'e' };
+static const symbol s_2_516[5] = { 'a', 'c', 'a', 'l', 'e' };
+static const symbol s_2_517[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'e' };
+static const symbol s_2_518[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'e' };
+static const symbol s_2_519[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'e' };
+static const symbol s_2_520[5] = { 'i', 'j', 'a', 'l', 'e' };
+static const symbol s_2_521[6] = { 'i', 'n', 'j', 'a', 'l', 'e' };
+static const symbol s_2_522[4] = { 'n', 'a', 'l', 'e' };
+static const symbol s_2_523[5] = { 'i', 'r', 'a', 'l', 'e' };
+static const symbol s_2_524[5] = { 'u', 'r', 'a', 'l', 'e' };
+static const symbol s_2_525[4] = { 't', 'a', 'l', 'e' };
+static const symbol s_2_526[6] = { 'a', 's', 't', 'a', 'l', 'e' };
+static const symbol s_2_527[6] = { 'i', 's', 't', 'a', 'l', 'e' };
+static const symbol s_2_528[6] = { 'o', 's', 't', 'a', 'l', 'e' };
+static const symbol s_2_529[5] = { 'a', 'v', 'a', 'l', 'e' };
+static const symbol s_2_530[5] = { 'e', 'v', 'a', 'l', 'e' };
+static const symbol s_2_531[5] = { 'i', 'v', 'a', 'l', 'e' };
+static const symbol s_2_532[5] = { 'o', 'v', 'a', 'l', 'e' };
+static const symbol s_2_533[5] = { 'u', 'v', 'a', 'l', 'e' };
+static const symbol s_2_534[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'e' };
+static const symbol s_2_535[3] = { 'e', 'l', 'e' };
+static const symbol s_2_536[3] = { 'i', 'l', 'e' };
+static const symbol s_2_537[5] = { 'a', 'c', 'i', 'l', 'e' };
+static const symbol s_2_538[6] = { 'l', 'u', 'c', 'i', 'l', 'e' };
+static const symbol s_2_539[4] = { 'n', 'i', 'l', 'e' };
+static const symbol s_2_540[6] = { 'r', 'o', 's', 'i', 'l', 'e' };
+static const symbol s_2_541[6] = { 'j', 'e', 't', 'i', 'l', 'e' };
+static const symbol s_2_542[5] = { 'o', 'z', 'i', 'l', 'e' };
+static const symbol s_2_543[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'e' };
+static const symbol s_2_544[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'e' };
+static const symbol s_2_545[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'e' };
+static const symbol s_2_546[3] = { 'o', 'l', 'e' };
+static const symbol s_2_547[4] = { 'a', 's', 'l', 'e' };
+static const symbol s_2_548[4] = { 'n', 'u', 'l', 'e' };
+static const symbol s_2_549[4] = { 'r', 'a', 'm', 'e' };
+static const symbol s_2_550[4] = { 'l', 'e', 'm', 'e' };
+static const symbol s_2_551[5] = { 'a', 'c', 'o', 'm', 'e' };
+static const symbol s_2_552[5] = { 'e', 'c', 'o', 'm', 'e' };
+static const symbol s_2_553[5] = { 'u', 'c', 'o', 'm', 'e' };
+static const symbol s_2_554[6] = { 'a', 'n', 'j', 'o', 'm', 'e' };
+static const symbol s_2_555[6] = { 'e', 'n', 'j', 'o', 'm', 'e' };
+static const symbol s_2_556[6] = { 's', 'n', 'j', 'o', 'm', 'e' };
+static const symbol s_2_557[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm', 'e' };
+static const symbol s_2_558[4] = { 'k', 'o', 'm', 'e' };
+static const symbol s_2_559[5] = { 's', 'k', 'o', 'm', 'e' };
+static const symbol s_2_560[6] = { 0xC5, 0xA1, 'k', 'o', 'm', 'e' };
+static const symbol s_2_561[5] = { 'e', 'l', 'o', 'm', 'e' };
+static const symbol s_2_562[4] = { 'n', 'o', 'm', 'e' };
+static const symbol s_2_563[6] = { 'c', 'i', 'n', 'o', 'm', 'e' };
+static const symbol s_2_564[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm', 'e' };
+static const symbol s_2_565[5] = { 'o', 's', 'o', 'm', 'e' };
+static const symbol s_2_566[5] = { 'a', 't', 'o', 'm', 'e' };
+static const symbol s_2_567[7] = { 'e', 'v', 'i', 't', 'o', 'm', 'e' };
+static const symbol s_2_568[7] = { 'o', 'v', 'i', 't', 'o', 'm', 'e' };
+static const symbol s_2_569[6] = { 'a', 's', 't', 'o', 'm', 'e' };
+static const symbol s_2_570[5] = { 'a', 'v', 'o', 'm', 'e' };
+static const symbol s_2_571[5] = { 'e', 'v', 'o', 'm', 'e' };
+static const symbol s_2_572[5] = { 'i', 'v', 'o', 'm', 'e' };
+static const symbol s_2_573[5] = { 'o', 'v', 'o', 'm', 'e' };
+static const symbol s_2_574[6] = { 'a', 0xC4, 0x87, 'o', 'm', 'e' };
+static const symbol s_2_575[6] = { 'e', 0xC4, 0x87, 'o', 'm', 'e' };
+static const symbol s_2_576[6] = { 'u', 0xC4, 0x87, 'o', 'm', 'e' };
+static const symbol s_2_577[6] = { 'o', 0xC5, 0xA1, 'o', 'm', 'e' };
+static const symbol s_2_578[2] = { 'n', 'e' };
+static const symbol s_2_579[3] = { 'a', 'n', 'e' };
+static const symbol s_2_580[5] = { 'a', 'c', 'a', 'n', 'e' };
+static const symbol s_2_581[5] = { 'u', 'r', 'a', 'n', 'e' };
+static const symbol s_2_582[4] = { 't', 'a', 'n', 'e' };
+static const symbol s_2_583[6] = { 'a', 's', 't', 'a', 'n', 'e' };
+static const symbol s_2_584[6] = { 'i', 's', 't', 'a', 'n', 'e' };
+static const symbol s_2_585[6] = { 'o', 's', 't', 'a', 'n', 'e' };
+static const symbol s_2_586[5] = { 'a', 'v', 'a', 'n', 'e' };
+static const symbol s_2_587[5] = { 'e', 'v', 'a', 'n', 'e' };
+static const symbol s_2_588[5] = { 'i', 'v', 'a', 'n', 'e' };
+static const symbol s_2_589[5] = { 'u', 'v', 'a', 'n', 'e' };
+static const symbol s_2_590[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'e' };
+static const symbol s_2_591[5] = { 'a', 'c', 'e', 'n', 'e' };
+static const symbol s_2_592[6] = { 'l', 'u', 'c', 'e', 'n', 'e' };
+static const symbol s_2_593[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'e' };
+static const symbol s_2_594[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'e' };
+static const symbol s_2_595[3] = { 'i', 'n', 'e' };
+static const symbol s_2_596[4] = { 'c', 'i', 'n', 'e' };
+static const symbol s_2_597[5] = { 'a', 'n', 'i', 'n', 'e' };
+static const symbol s_2_598[5] = { 0xC4, 0x8D, 'i', 'n', 'e' };
+static const symbol s_2_599[3] = { 'o', 'n', 'e' };
+static const symbol s_2_600[3] = { 'a', 'r', 'e' };
+static const symbol s_2_601[3] = { 'd', 'r', 'e' };
+static const symbol s_2_602[3] = { 'e', 'r', 'e' };
+static const symbol s_2_603[3] = { 'o', 'r', 'e' };
+static const symbol s_2_604[3] = { 'a', 's', 'e' };
+static const symbol s_2_605[4] = { 'b', 'a', 's', 'e' };
+static const symbol s_2_606[5] = { 'a', 'c', 'a', 's', 'e' };
+static const symbol s_2_607[4] = { 'g', 'a', 's', 'e' };
+static const symbol s_2_608[4] = { 'j', 'a', 's', 'e' };
+static const symbol s_2_609[8] = { 'a', 's', 't', 'a', 'j', 'a', 's', 'e' };
+static const symbol s_2_610[8] = { 'i', 's', 't', 'a', 'j', 'a', 's', 'e' };
+static const symbol s_2_611[8] = { 'o', 's', 't', 'a', 'j', 'a', 's', 'e' };
+static const symbol s_2_612[6] = { 'i', 'n', 'j', 'a', 's', 'e' };
+static const symbol s_2_613[4] = { 'k', 'a', 's', 'e' };
+static const symbol s_2_614[4] = { 'n', 'a', 's', 'e' };
+static const symbol s_2_615[5] = { 'i', 'r', 'a', 's', 'e' };
+static const symbol s_2_616[5] = { 'u', 'r', 'a', 's', 'e' };
+static const symbol s_2_617[4] = { 't', 'a', 's', 'e' };
+static const symbol s_2_618[4] = { 'v', 'a', 's', 'e' };
+static const symbol s_2_619[5] = { 'a', 'v', 'a', 's', 'e' };
+static const symbol s_2_620[5] = { 'e', 'v', 'a', 's', 'e' };
+static const symbol s_2_621[5] = { 'i', 'v', 'a', 's', 'e' };
+static const symbol s_2_622[5] = { 'o', 'v', 'a', 's', 'e' };
+static const symbol s_2_623[5] = { 'u', 'v', 'a', 's', 'e' };
+static const symbol s_2_624[3] = { 'e', 's', 'e' };
+static const symbol s_2_625[3] = { 'i', 's', 'e' };
+static const symbol s_2_626[5] = { 'a', 'c', 'i', 's', 'e' };
+static const symbol s_2_627[6] = { 'l', 'u', 'c', 'i', 's', 'e' };
+static const symbol s_2_628[6] = { 'r', 'o', 's', 'i', 's', 'e' };
+static const symbol s_2_629[6] = { 'j', 'e', 't', 'i', 's', 'e' };
+static const symbol s_2_630[3] = { 'o', 's', 'e' };
+static const symbol s_2_631[8] = { 'a', 's', 't', 'a', 'd', 'o', 's', 'e' };
+static const symbol s_2_632[8] = { 'i', 's', 't', 'a', 'd', 'o', 's', 'e' };
+static const symbol s_2_633[8] = { 'o', 's', 't', 'a', 'd', 'o', 's', 'e' };
+static const symbol s_2_634[3] = { 'a', 't', 'e' };
+static const symbol s_2_635[5] = { 'a', 'c', 'a', 't', 'e' };
+static const symbol s_2_636[5] = { 'i', 'k', 'a', 't', 'e' };
+static const symbol s_2_637[4] = { 'l', 'a', 't', 'e' };
+static const symbol s_2_638[5] = { 'i', 'r', 'a', 't', 'e' };
+static const symbol s_2_639[5] = { 'u', 'r', 'a', 't', 'e' };
+static const symbol s_2_640[4] = { 't', 'a', 't', 'e' };
+static const symbol s_2_641[5] = { 'a', 'v', 'a', 't', 'e' };
+static const symbol s_2_642[5] = { 'e', 'v', 'a', 't', 'e' };
+static const symbol s_2_643[5] = { 'i', 'v', 'a', 't', 'e' };
+static const symbol s_2_644[5] = { 'u', 'v', 'a', 't', 'e' };
+static const symbol s_2_645[6] = { 'a', 0xC4, 0x8D, 'a', 't', 'e' };
+static const symbol s_2_646[3] = { 'e', 't', 'e' };
+static const symbol s_2_647[8] = { 'a', 's', 't', 'a', 'd', 'e', 't', 'e' };
+static const symbol s_2_648[8] = { 'i', 's', 't', 'a', 'd', 'e', 't', 'e' };
+static const symbol s_2_649[8] = { 'o', 's', 't', 'a', 'd', 'e', 't', 'e' };
+static const symbol s_2_650[8] = { 'a', 's', 't', 'a', 'j', 'e', 't', 'e' };
+static const symbol s_2_651[8] = { 'i', 's', 't', 'a', 'j', 'e', 't', 'e' };
+static const symbol s_2_652[8] = { 'o', 's', 't', 'a', 'j', 'e', 't', 'e' };
+static const symbol s_2_653[5] = { 'i', 'j', 'e', 't', 'e' };
+static const symbol s_2_654[6] = { 'i', 'n', 'j', 'e', 't', 'e' };
+static const symbol s_2_655[5] = { 'u', 'j', 'e', 't', 'e' };
+static const symbol s_2_656[8] = { 'l', 'u', 'c', 'u', 'j', 'e', 't', 'e' };
+static const symbol s_2_657[7] = { 'i', 'r', 'u', 'j', 'e', 't', 'e' };
+static const symbol s_2_658[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 't', 'e' };
+static const symbol s_2_659[4] = { 'n', 'e', 't', 'e' };
+static const symbol s_2_660[8] = { 'a', 's', 't', 'a', 'n', 'e', 't', 'e' };
+static const symbol s_2_661[8] = { 'i', 's', 't', 'a', 'n', 'e', 't', 'e' };
+static const symbol s_2_662[8] = { 'o', 's', 't', 'a', 'n', 'e', 't', 'e' };
+static const symbol s_2_663[6] = { 'a', 's', 't', 'e', 't', 'e' };
+static const symbol s_2_664[3] = { 'i', 't', 'e' };
+static const symbol s_2_665[5] = { 'a', 'c', 'i', 't', 'e' };
+static const symbol s_2_666[6] = { 'l', 'u', 'c', 'i', 't', 'e' };
+static const symbol s_2_667[4] = { 'n', 'i', 't', 'e' };
+static const symbol s_2_668[8] = { 'a', 's', 't', 'a', 'n', 'i', 't', 'e' };
+static const symbol s_2_669[8] = { 'i', 's', 't', 'a', 'n', 'i', 't', 'e' };
+static const symbol s_2_670[8] = { 'o', 's', 't', 'a', 'n', 'i', 't', 'e' };
+static const symbol s_2_671[6] = { 'r', 'o', 's', 'i', 't', 'e' };
+static const symbol s_2_672[6] = { 'j', 'e', 't', 'i', 't', 'e' };
+static const symbol s_2_673[6] = { 'a', 's', 't', 'i', 't', 'e' };
+static const symbol s_2_674[5] = { 'e', 'v', 'i', 't', 'e' };
+static const symbol s_2_675[5] = { 'o', 'v', 'i', 't', 'e' };
+static const symbol s_2_676[6] = { 'a', 0xC4, 0x8D, 'i', 't', 'e' };
+static const symbol s_2_677[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 't', 'e' };
+static const symbol s_2_678[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 't', 'e' };
+static const symbol s_2_679[4] = { 'a', 'j', 't', 'e' };
+static const symbol s_2_680[6] = { 'u', 'r', 'a', 'j', 't', 'e' };
+static const symbol s_2_681[5] = { 't', 'a', 'j', 't', 'e' };
+static const symbol s_2_682[7] = { 'a', 's', 't', 'a', 'j', 't', 'e' };
+static const symbol s_2_683[7] = { 'i', 's', 't', 'a', 'j', 't', 'e' };
+static const symbol s_2_684[7] = { 'o', 's', 't', 'a', 'j', 't', 'e' };
+static const symbol s_2_685[6] = { 'a', 'v', 'a', 'j', 't', 'e' };
+static const symbol s_2_686[6] = { 'e', 'v', 'a', 'j', 't', 'e' };
+static const symbol s_2_687[6] = { 'i', 'v', 'a', 'j', 't', 'e' };
+static const symbol s_2_688[6] = { 'u', 'v', 'a', 'j', 't', 'e' };
+static const symbol s_2_689[4] = { 'i', 'j', 't', 'e' };
+static const symbol s_2_690[7] = { 'l', 'u', 'c', 'u', 'j', 't', 'e' };
+static const symbol s_2_691[6] = { 'i', 'r', 'u', 'j', 't', 'e' };
+static const symbol s_2_692[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 't', 'e' };
+static const symbol s_2_693[4] = { 'a', 's', 't', 'e' };
+static const symbol s_2_694[6] = { 'a', 'c', 'a', 's', 't', 'e' };
+static const symbol s_2_695[9] = { 'a', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
+static const symbol s_2_696[9] = { 'i', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
+static const symbol s_2_697[9] = { 'o', 's', 't', 'a', 'j', 'a', 's', 't', 'e' };
+static const symbol s_2_698[7] = { 'i', 'n', 'j', 'a', 's', 't', 'e' };
+static const symbol s_2_699[6] = { 'i', 'r', 'a', 's', 't', 'e' };
+static const symbol s_2_700[6] = { 'u', 'r', 'a', 's', 't', 'e' };
+static const symbol s_2_701[5] = { 't', 'a', 's', 't', 'e' };
+static const symbol s_2_702[6] = { 'a', 'v', 'a', 's', 't', 'e' };
+static const symbol s_2_703[6] = { 'e', 'v', 'a', 's', 't', 'e' };
+static const symbol s_2_704[6] = { 'i', 'v', 'a', 's', 't', 'e' };
+static const symbol s_2_705[6] = { 'o', 'v', 'a', 's', 't', 'e' };
+static const symbol s_2_706[6] = { 'u', 'v', 'a', 's', 't', 'e' };
+static const symbol s_2_707[7] = { 'a', 0xC4, 0x8D, 'a', 's', 't', 'e' };
+static const symbol s_2_708[4] = { 'e', 's', 't', 'e' };
+static const symbol s_2_709[4] = { 'i', 's', 't', 'e' };
+static const symbol s_2_710[6] = { 'a', 'c', 'i', 's', 't', 'e' };
+static const symbol s_2_711[7] = { 'l', 'u', 'c', 'i', 's', 't', 'e' };
+static const symbol s_2_712[5] = { 'n', 'i', 's', 't', 'e' };
+static const symbol s_2_713[7] = { 'r', 'o', 's', 'i', 's', 't', 'e' };
+static const symbol s_2_714[7] = { 'j', 'e', 't', 'i', 's', 't', 'e' };
+static const symbol s_2_715[7] = { 'a', 0xC4, 0x8D, 'i', 's', 't', 'e' };
+static const symbol s_2_716[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 's', 't', 'e' };
+static const symbol s_2_717[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 's', 't', 'e' };
+static const symbol s_2_718[4] = { 'k', 's', 't', 'e' };
+static const symbol s_2_719[4] = { 'o', 's', 't', 'e' };
+static const symbol s_2_720[9] = { 'a', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
+static const symbol s_2_721[9] = { 'i', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
+static const symbol s_2_722[9] = { 'o', 's', 't', 'a', 'd', 'o', 's', 't', 'e' };
+static const symbol s_2_723[5] = { 'n', 'u', 's', 't', 'e' };
+static const symbol s_2_724[5] = { 'i', 0xC5, 0xA1, 't', 'e' };
+static const symbol s_2_725[3] = { 'a', 'v', 'e' };
+static const symbol s_2_726[3] = { 'e', 'v', 'e' };
+static const symbol s_2_727[5] = { 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_728[6] = { 'c', 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_729[6] = { 'l', 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_730[6] = { 'r', 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_731[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_732[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_733[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'e' };
+static const symbol s_2_734[3] = { 'i', 'v', 'e' };
+static const symbol s_2_735[3] = { 'o', 'v', 'e' };
+static const symbol s_2_736[4] = { 'g', 'o', 'v', 'e' };
+static const symbol s_2_737[5] = { 'u', 'g', 'o', 'v', 'e' };
+static const symbol s_2_738[4] = { 'l', 'o', 'v', 'e' };
+static const symbol s_2_739[5] = { 'o', 'l', 'o', 'v', 'e' };
+static const symbol s_2_740[4] = { 'm', 'o', 'v', 'e' };
+static const symbol s_2_741[5] = { 'o', 'n', 'o', 'v', 'e' };
+static const symbol s_2_742[4] = { 'a', 0xC4, 0x87, 'e' };
+static const symbol s_2_743[4] = { 'e', 0xC4, 0x87, 'e' };
+static const symbol s_2_744[4] = { 'u', 0xC4, 0x87, 'e' };
+static const symbol s_2_745[4] = { 'a', 0xC4, 0x8D, 'e' };
+static const symbol s_2_746[5] = { 'l', 'u', 0xC4, 0x8D, 'e' };
+static const symbol s_2_747[4] = { 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_748[5] = { 'b', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_749[5] = { 'g', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_750[5] = { 'j', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_751[9] = { 'a', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_752[9] = { 'i', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_753[9] = { 'o', 's', 't', 'a', 'j', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_754[7] = { 'i', 'n', 'j', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_755[5] = { 'k', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_756[5] = { 'n', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_757[6] = { 'i', 'r', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_758[6] = { 'u', 'r', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_759[5] = { 't', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_760[5] = { 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_761[6] = { 'a', 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_762[6] = { 'e', 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_763[6] = { 'i', 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_764[6] = { 'o', 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_765[6] = { 'u', 'v', 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_766[7] = { 'a', 0xC4, 0x8D, 'a', 0xC5, 0xA1, 'e' };
+static const symbol s_2_767[4] = { 'e', 0xC5, 0xA1, 'e' };
+static const symbol s_2_768[4] = { 'i', 0xC5, 0xA1, 'e' };
+static const symbol s_2_769[7] = { 'j', 'e', 't', 'i', 0xC5, 0xA1, 'e' };
+static const symbol s_2_770[7] = { 'a', 0xC4, 0x8D, 'i', 0xC5, 0xA1, 'e' };
+static const symbol s_2_771[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 0xC5, 0xA1, 'e' };
+static const symbol s_2_772[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 0xC5, 0xA1, 'e' };
+static const symbol s_2_773[4] = { 'o', 0xC5, 0xA1, 'e' };
+static const symbol s_2_774[9] = { 'a', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
+static const symbol s_2_775[9] = { 'i', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
+static const symbol s_2_776[9] = { 'o', 's', 't', 'a', 'd', 'o', 0xC5, 0xA1, 'e' };
+static const symbol s_2_777[4] = { 'a', 'c', 'e', 'g' };
+static const symbol s_2_778[4] = { 'e', 'c', 'e', 'g' };
+static const symbol s_2_779[4] = { 'u', 'c', 'e', 'g' };
+static const symbol s_2_780[7] = { 'a', 'n', 'j', 'i', 'j', 'e', 'g' };
+static const symbol s_2_781[7] = { 'e', 'n', 'j', 'i', 'j', 'e', 'g' };
+static const symbol s_2_782[7] = { 's', 'n', 'j', 'i', 'j', 'e', 'g' };
+static const symbol s_2_783[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'g' };
+static const symbol s_2_784[5] = { 'k', 'i', 'j', 'e', 'g' };
+static const symbol s_2_785[6] = { 's', 'k', 'i', 'j', 'e', 'g' };
+static const symbol s_2_786[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'g' };
+static const symbol s_2_787[6] = { 'e', 'l', 'i', 'j', 'e', 'g' };
+static const symbol s_2_788[5] = { 'n', 'i', 'j', 'e', 'g' };
+static const symbol s_2_789[6] = { 'o', 's', 'i', 'j', 'e', 'g' };
+static const symbol s_2_790[6] = { 'a', 't', 'i', 'j', 'e', 'g' };
+static const symbol s_2_791[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'g' };
+static const symbol s_2_792[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'g' };
+static const symbol s_2_793[7] = { 'a', 's', 't', 'i', 'j', 'e', 'g' };
+static const symbol s_2_794[6] = { 'a', 'v', 'i', 'j', 'e', 'g' };
+static const symbol s_2_795[6] = { 'e', 'v', 'i', 'j', 'e', 'g' };
+static const symbol s_2_796[6] = { 'i', 'v', 'i', 'j', 'e', 'g' };
+static const symbol s_2_797[6] = { 'o', 'v', 'i', 'j', 'e', 'g' };
+static const symbol s_2_798[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'g' };
+static const symbol s_2_799[5] = { 'a', 'n', 'j', 'e', 'g' };
+static const symbol s_2_800[5] = { 'e', 'n', 'j', 'e', 'g' };
+static const symbol s_2_801[5] = { 's', 'n', 'j', 'e', 'g' };
+static const symbol s_2_802[6] = { 0xC5, 0xA1, 'n', 'j', 'e', 'g' };
+static const symbol s_2_803[3] = { 'k', 'e', 'g' };
+static const symbol s_2_804[4] = { 'e', 'l', 'e', 'g' };
+static const symbol s_2_805[3] = { 'n', 'e', 'g' };
+static const symbol s_2_806[4] = { 'a', 'n', 'e', 'g' };
+static const symbol s_2_807[4] = { 'e', 'n', 'e', 'g' };
+static const symbol s_2_808[4] = { 's', 'n', 'e', 'g' };
+static const symbol s_2_809[5] = { 0xC5, 0xA1, 'n', 'e', 'g' };
+static const symbol s_2_810[4] = { 'o', 's', 'e', 'g' };
+static const symbol s_2_811[4] = { 'a', 't', 'e', 'g' };
+static const symbol s_2_812[4] = { 'a', 'v', 'e', 'g' };
+static const symbol s_2_813[4] = { 'e', 'v', 'e', 'g' };
+static const symbol s_2_814[4] = { 'i', 'v', 'e', 'g' };
+static const symbol s_2_815[4] = { 'o', 'v', 'e', 'g' };
+static const symbol s_2_816[5] = { 'a', 0xC4, 0x87, 'e', 'g' };
+static const symbol s_2_817[5] = { 'e', 0xC4, 0x87, 'e', 'g' };
+static const symbol s_2_818[5] = { 'u', 0xC4, 0x87, 'e', 'g' };
+static const symbol s_2_819[5] = { 'o', 0xC5, 0xA1, 'e', 'g' };
+static const symbol s_2_820[4] = { 'a', 'c', 'o', 'g' };
+static const symbol s_2_821[4] = { 'e', 'c', 'o', 'g' };
+static const symbol s_2_822[4] = { 'u', 'c', 'o', 'g' };
+static const symbol s_2_823[5] = { 'a', 'n', 'j', 'o', 'g' };
+static const symbol s_2_824[5] = { 'e', 'n', 'j', 'o', 'g' };
+static const symbol s_2_825[5] = { 's', 'n', 'j', 'o', 'g' };
+static const symbol s_2_826[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'g' };
+static const symbol s_2_827[3] = { 'k', 'o', 'g' };
+static const symbol s_2_828[4] = { 's', 'k', 'o', 'g' };
+static const symbol s_2_829[5] = { 0xC5, 0xA1, 'k', 'o', 'g' };
+static const symbol s_2_830[4] = { 'e', 'l', 'o', 'g' };
+static const symbol s_2_831[3] = { 'n', 'o', 'g' };
+static const symbol s_2_832[5] = { 'c', 'i', 'n', 'o', 'g' };
+static const symbol s_2_833[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'g' };
+static const symbol s_2_834[4] = { 'o', 's', 'o', 'g' };
+static const symbol s_2_835[4] = { 'a', 't', 'o', 'g' };
+static const symbol s_2_836[6] = { 'e', 'v', 'i', 't', 'o', 'g' };
+static const symbol s_2_837[6] = { 'o', 'v', 'i', 't', 'o', 'g' };
+static const symbol s_2_838[5] = { 'a', 's', 't', 'o', 'g' };
+static const symbol s_2_839[4] = { 'a', 'v', 'o', 'g' };
+static const symbol s_2_840[4] = { 'e', 'v', 'o', 'g' };
+static const symbol s_2_841[4] = { 'i', 'v', 'o', 'g' };
+static const symbol s_2_842[4] = { 'o', 'v', 'o', 'g' };
+static const symbol s_2_843[5] = { 'a', 0xC4, 0x87, 'o', 'g' };
+static const symbol s_2_844[5] = { 'e', 0xC4, 0x87, 'o', 'g' };
+static const symbol s_2_845[5] = { 'u', 0xC4, 0x87, 'o', 'g' };
+static const symbol s_2_846[5] = { 'o', 0xC5, 0xA1, 'o', 'g' };
+static const symbol s_2_847[2] = { 'a', 'h' };
+static const symbol s_2_848[4] = { 'a', 'c', 'a', 'h' };
+static const symbol s_2_849[7] = { 'a', 's', 't', 'a', 'j', 'a', 'h' };
+static const symbol s_2_850[7] = { 'i', 's', 't', 'a', 'j', 'a', 'h' };
+static const symbol s_2_851[7] = { 'o', 's', 't', 'a', 'j', 'a', 'h' };
+static const symbol s_2_852[5] = { 'i', 'n', 'j', 'a', 'h' };
+static const symbol s_2_853[4] = { 'i', 'r', 'a', 'h' };
+static const symbol s_2_854[4] = { 'u', 'r', 'a', 'h' };
+static const symbol s_2_855[3] = { 't', 'a', 'h' };
+static const symbol s_2_856[4] = { 'a', 'v', 'a', 'h' };
+static const symbol s_2_857[4] = { 'e', 'v', 'a', 'h' };
+static const symbol s_2_858[4] = { 'i', 'v', 'a', 'h' };
+static const symbol s_2_859[4] = { 'o', 'v', 'a', 'h' };
+static const symbol s_2_860[4] = { 'u', 'v', 'a', 'h' };
+static const symbol s_2_861[5] = { 'a', 0xC4, 0x8D, 'a', 'h' };
+static const symbol s_2_862[2] = { 'i', 'h' };
+static const symbol s_2_863[4] = { 'a', 'c', 'i', 'h' };
+static const symbol s_2_864[4] = { 'e', 'c', 'i', 'h' };
+static const symbol s_2_865[4] = { 'u', 'c', 'i', 'h' };
+static const symbol s_2_866[5] = { 'l', 'u', 'c', 'i', 'h' };
+static const symbol s_2_867[7] = { 'a', 'n', 'j', 'i', 'j', 'i', 'h' };
+static const symbol s_2_868[7] = { 'e', 'n', 'j', 'i', 'j', 'i', 'h' };
+static const symbol s_2_869[7] = { 's', 'n', 'j', 'i', 'j', 'i', 'h' };
+static const symbol s_2_870[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'h' };
+static const symbol s_2_871[5] = { 'k', 'i', 'j', 'i', 'h' };
+static const symbol s_2_872[6] = { 's', 'k', 'i', 'j', 'i', 'h' };
+static const symbol s_2_873[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'h' };
+static const symbol s_2_874[6] = { 'e', 'l', 'i', 'j', 'i', 'h' };
+static const symbol s_2_875[5] = { 'n', 'i', 'j', 'i', 'h' };
+static const symbol s_2_876[6] = { 'o', 's', 'i', 'j', 'i', 'h' };
+static const symbol s_2_877[6] = { 'a', 't', 'i', 'j', 'i', 'h' };
+static const symbol s_2_878[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'h' };
+static const symbol s_2_879[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'h' };
+static const symbol s_2_880[7] = { 'a', 's', 't', 'i', 'j', 'i', 'h' };
+static const symbol s_2_881[6] = { 'a', 'v', 'i', 'j', 'i', 'h' };
+static const symbol s_2_882[6] = { 'e', 'v', 'i', 'j', 'i', 'h' };
+static const symbol s_2_883[6] = { 'i', 'v', 'i', 'j', 'i', 'h' };
+static const symbol s_2_884[6] = { 'o', 'v', 'i', 'j', 'i', 'h' };
+static const symbol s_2_885[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'h' };
+static const symbol s_2_886[5] = { 'a', 'n', 'j', 'i', 'h' };
+static const symbol s_2_887[5] = { 'e', 'n', 'j', 'i', 'h' };
+static const symbol s_2_888[5] = { 's', 'n', 'j', 'i', 'h' };
+static const symbol s_2_889[6] = { 0xC5, 0xA1, 'n', 'j', 'i', 'h' };
+static const symbol s_2_890[3] = { 'k', 'i', 'h' };
+static const symbol s_2_891[4] = { 's', 'k', 'i', 'h' };
+static const symbol s_2_892[5] = { 0xC5, 0xA1, 'k', 'i', 'h' };
+static const symbol s_2_893[4] = { 'e', 'l', 'i', 'h' };
+static const symbol s_2_894[3] = { 'n', 'i', 'h' };
+static const symbol s_2_895[5] = { 'c', 'i', 'n', 'i', 'h' };
+static const symbol s_2_896[6] = { 0xC4, 0x8D, 'i', 'n', 'i', 'h' };
+static const symbol s_2_897[4] = { 'o', 's', 'i', 'h' };
+static const symbol s_2_898[5] = { 'r', 'o', 's', 'i', 'h' };
+static const symbol s_2_899[4] = { 'a', 't', 'i', 'h' };
+static const symbol s_2_900[5] = { 'j', 'e', 't', 'i', 'h' };
+static const symbol s_2_901[6] = { 'e', 'v', 'i', 't', 'i', 'h' };
+static const symbol s_2_902[6] = { 'o', 'v', 'i', 't', 'i', 'h' };
+static const symbol s_2_903[5] = { 'a', 's', 't', 'i', 'h' };
+static const symbol s_2_904[4] = { 'a', 'v', 'i', 'h' };
+static const symbol s_2_905[4] = { 'e', 'v', 'i', 'h' };
+static const symbol s_2_906[4] = { 'i', 'v', 'i', 'h' };
+static const symbol s_2_907[4] = { 'o', 'v', 'i', 'h' };
+static const symbol s_2_908[5] = { 'a', 0xC4, 0x87, 'i', 'h' };
+static const symbol s_2_909[5] = { 'e', 0xC4, 0x87, 'i', 'h' };
+static const symbol s_2_910[5] = { 'u', 0xC4, 0x87, 'i', 'h' };
+static const symbol s_2_911[5] = { 'a', 0xC4, 0x8D, 'i', 'h' };
+static const symbol s_2_912[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'h' };
+static const symbol s_2_913[5] = { 'o', 0xC5, 0xA1, 'i', 'h' };
+static const symbol s_2_914[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'h' };
+static const symbol s_2_915[7] = { 'a', 's', 't', 'a', 'd', 'o', 'h' };
+static const symbol s_2_916[7] = { 'i', 's', 't', 'a', 'd', 'o', 'h' };
+static const symbol s_2_917[7] = { 'o', 's', 't', 'a', 'd', 'o', 'h' };
+static const symbol s_2_918[4] = { 'a', 'c', 'u', 'h' };
+static const symbol s_2_919[4] = { 'e', 'c', 'u', 'h' };
+static const symbol s_2_920[4] = { 'u', 'c', 'u', 'h' };
+static const symbol s_2_921[5] = { 'a', 0xC4, 0x87, 'u', 'h' };
+static const symbol s_2_922[5] = { 'e', 0xC4, 0x87, 'u', 'h' };
+static const symbol s_2_923[5] = { 'u', 0xC4, 0x87, 'u', 'h' };
+static const symbol s_2_924[3] = { 'a', 'c', 'i' };
+static const symbol s_2_925[5] = { 'a', 'c', 'e', 'c', 'i' };
+static const symbol s_2_926[4] = { 'i', 'e', 'c', 'i' };
+static const symbol s_2_927[5] = { 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_928[7] = { 'i', 'r', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_929[7] = { 'u', 'r', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_930[8] = { 'a', 's', 't', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_931[8] = { 'i', 's', 't', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_932[8] = { 'o', 's', 't', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_933[7] = { 'a', 'v', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_934[7] = { 'e', 'v', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_935[7] = { 'i', 'v', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_936[7] = { 'u', 'v', 'a', 'j', 'u', 'c', 'i' };
+static const symbol s_2_937[5] = { 'u', 'j', 'u', 'c', 'i' };
+static const symbol s_2_938[8] = { 'l', 'u', 'c', 'u', 'j', 'u', 'c', 'i' };
+static const symbol s_2_939[7] = { 'i', 'r', 'u', 'j', 'u', 'c', 'i' };
+static const symbol s_2_940[4] = { 'l', 'u', 'c', 'i' };
+static const symbol s_2_941[4] = { 'n', 'u', 'c', 'i' };
+static const symbol s_2_942[5] = { 'e', 't', 'u', 'c', 'i' };
+static const symbol s_2_943[6] = { 'a', 's', 't', 'u', 'c', 'i' };
+static const symbol s_2_944[2] = { 'g', 'i' };
+static const symbol s_2_945[3] = { 'u', 'g', 'i' };
+static const symbol s_2_946[3] = { 'a', 'j', 'i' };
+static const symbol s_2_947[4] = { 'c', 'a', 'j', 'i' };
+static const symbol s_2_948[4] = { 'l', 'a', 'j', 'i' };
+static const symbol s_2_949[4] = { 'r', 'a', 'j', 'i' };
+static const symbol s_2_950[5] = { 0xC4, 0x87, 'a', 'j', 'i' };
+static const symbol s_2_951[5] = { 0xC4, 0x8D, 'a', 'j', 'i' };
+static const symbol s_2_952[5] = { 0xC4, 0x91, 'a', 'j', 'i' };
+static const symbol s_2_953[4] = { 'b', 'i', 'j', 'i' };
+static const symbol s_2_954[4] = { 'c', 'i', 'j', 'i' };
+static const symbol s_2_955[4] = { 'd', 'i', 'j', 'i' };
+static const symbol s_2_956[4] = { 'f', 'i', 'j', 'i' };
+static const symbol s_2_957[4] = { 'g', 'i', 'j', 'i' };
+static const symbol s_2_958[6] = { 'a', 'n', 'j', 'i', 'j', 'i' };
+static const symbol s_2_959[6] = { 'e', 'n', 'j', 'i', 'j', 'i' };
+static const symbol s_2_960[6] = { 's', 'n', 'j', 'i', 'j', 'i' };
+static const symbol s_2_961[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i' };
+static const symbol s_2_962[4] = { 'k', 'i', 'j', 'i' };
+static const symbol s_2_963[5] = { 's', 'k', 'i', 'j', 'i' };
+static const symbol s_2_964[6] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i' };
+static const symbol s_2_965[4] = { 'l', 'i', 'j', 'i' };
+static const symbol s_2_966[5] = { 'e', 'l', 'i', 'j', 'i' };
+static const symbol s_2_967[4] = { 'm', 'i', 'j', 'i' };
+static const symbol s_2_968[4] = { 'n', 'i', 'j', 'i' };
+static const symbol s_2_969[6] = { 'g', 'a', 'n', 'i', 'j', 'i' };
+static const symbol s_2_970[6] = { 'm', 'a', 'n', 'i', 'j', 'i' };
+static const symbol s_2_971[6] = { 'p', 'a', 'n', 'i', 'j', 'i' };
+static const symbol s_2_972[6] = { 'r', 'a', 'n', 'i', 'j', 'i' };
+static const symbol s_2_973[6] = { 't', 'a', 'n', 'i', 'j', 'i' };
+static const symbol s_2_974[4] = { 'p', 'i', 'j', 'i' };
+static const symbol s_2_975[4] = { 'r', 'i', 'j', 'i' };
+static const symbol s_2_976[4] = { 's', 'i', 'j', 'i' };
+static const symbol s_2_977[5] = { 'o', 's', 'i', 'j', 'i' };
+static const symbol s_2_978[4] = { 't', 'i', 'j', 'i' };
+static const symbol s_2_979[5] = { 'a', 't', 'i', 'j', 'i' };
+static const symbol s_2_980[7] = { 'e', 'v', 'i', 't', 'i', 'j', 'i' };
+static const symbol s_2_981[7] = { 'o', 'v', 'i', 't', 'i', 'j', 'i' };
+static const symbol s_2_982[6] = { 'a', 's', 't', 'i', 'j', 'i' };
+static const symbol s_2_983[5] = { 'a', 'v', 'i', 'j', 'i' };
+static const symbol s_2_984[5] = { 'e', 'v', 'i', 'j', 'i' };
+static const symbol s_2_985[5] = { 'i', 'v', 'i', 'j', 'i' };
+static const symbol s_2_986[5] = { 'o', 'v', 'i', 'j', 'i' };
+static const symbol s_2_987[4] = { 'z', 'i', 'j', 'i' };
+static const symbol s_2_988[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i' };
+static const symbol s_2_989[5] = { 0xC5, 0xBE, 'i', 'j', 'i' };
+static const symbol s_2_990[4] = { 'a', 'n', 'j', 'i' };
+static const symbol s_2_991[4] = { 'e', 'n', 'j', 'i' };
+static const symbol s_2_992[4] = { 's', 'n', 'j', 'i' };
+static const symbol s_2_993[5] = { 0xC5, 0xA1, 'n', 'j', 'i' };
+static const symbol s_2_994[2] = { 'k', 'i' };
+static const symbol s_2_995[3] = { 's', 'k', 'i' };
+static const symbol s_2_996[4] = { 0xC5, 0xA1, 'k', 'i' };
+static const symbol s_2_997[3] = { 'a', 'l', 'i' };
+static const symbol s_2_998[5] = { 'a', 'c', 'a', 'l', 'i' };
+static const symbol s_2_999[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'i' };
+static const symbol s_2_1000[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'i' };
+static const symbol s_2_1001[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'i' };
+static const symbol s_2_1002[5] = { 'i', 'j', 'a', 'l', 'i' };
+static const symbol s_2_1003[6] = { 'i', 'n', 'j', 'a', 'l', 'i' };
+static const symbol s_2_1004[4] = { 'n', 'a', 'l', 'i' };
+static const symbol s_2_1005[5] = { 'i', 'r', 'a', 'l', 'i' };
+static const symbol s_2_1006[5] = { 'u', 'r', 'a', 'l', 'i' };
+static const symbol s_2_1007[4] = { 't', 'a', 'l', 'i' };
+static const symbol s_2_1008[6] = { 'a', 's', 't', 'a', 'l', 'i' };
+static const symbol s_2_1009[6] = { 'i', 's', 't', 'a', 'l', 'i' };
+static const symbol s_2_1010[6] = { 'o', 's', 't', 'a', 'l', 'i' };
+static const symbol s_2_1011[5] = { 'a', 'v', 'a', 'l', 'i' };
+static const symbol s_2_1012[5] = { 'e', 'v', 'a', 'l', 'i' };
+static const symbol s_2_1013[5] = { 'i', 'v', 'a', 'l', 'i' };
+static const symbol s_2_1014[5] = { 'o', 'v', 'a', 'l', 'i' };
+static const symbol s_2_1015[5] = { 'u', 'v', 'a', 'l', 'i' };
+static const symbol s_2_1016[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'i' };
+static const symbol s_2_1017[3] = { 'e', 'l', 'i' };
+static const symbol s_2_1018[3] = { 'i', 'l', 'i' };
+static const symbol s_2_1019[5] = { 'a', 'c', 'i', 'l', 'i' };
+static const symbol s_2_1020[6] = { 'l', 'u', 'c', 'i', 'l', 'i' };
+static const symbol s_2_1021[4] = { 'n', 'i', 'l', 'i' };
+static const symbol s_2_1022[6] = { 'r', 'o', 's', 'i', 'l', 'i' };
+static const symbol s_2_1023[6] = { 'j', 'e', 't', 'i', 'l', 'i' };
+static const symbol s_2_1024[5] = { 'o', 'z', 'i', 'l', 'i' };
+static const symbol s_2_1025[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'i' };
+static const symbol s_2_1026[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'i' };
+static const symbol s_2_1027[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'i' };
+static const symbol s_2_1028[3] = { 'o', 'l', 'i' };
+static const symbol s_2_1029[4] = { 'a', 's', 'l', 'i' };
+static const symbol s_2_1030[4] = { 'n', 'u', 'l', 'i' };
+static const symbol s_2_1031[4] = { 'r', 'a', 'm', 'i' };
+static const symbol s_2_1032[4] = { 'l', 'e', 'm', 'i' };
+static const symbol s_2_1033[2] = { 'n', 'i' };
+static const symbol s_2_1034[3] = { 'a', 'n', 'i' };
+static const symbol s_2_1035[5] = { 'a', 'c', 'a', 'n', 'i' };
+static const symbol s_2_1036[5] = { 'u', 'r', 'a', 'n', 'i' };
+static const symbol s_2_1037[4] = { 't', 'a', 'n', 'i' };
+static const symbol s_2_1038[5] = { 'a', 'v', 'a', 'n', 'i' };
+static const symbol s_2_1039[5] = { 'e', 'v', 'a', 'n', 'i' };
+static const symbol s_2_1040[5] = { 'i', 'v', 'a', 'n', 'i' };
+static const symbol s_2_1041[5] = { 'u', 'v', 'a', 'n', 'i' };
+static const symbol s_2_1042[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'i' };
+static const symbol s_2_1043[5] = { 'a', 'c', 'e', 'n', 'i' };
+static const symbol s_2_1044[6] = { 'l', 'u', 'c', 'e', 'n', 'i' };
+static const symbol s_2_1045[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'i' };
+static const symbol s_2_1046[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'i' };
+static const symbol s_2_1047[3] = { 'i', 'n', 'i' };
+static const symbol s_2_1048[4] = { 'c', 'i', 'n', 'i' };
+static const symbol s_2_1049[5] = { 0xC4, 0x8D, 'i', 'n', 'i' };
+static const symbol s_2_1050[3] = { 'o', 'n', 'i' };
+static const symbol s_2_1051[3] = { 'a', 'r', 'i' };
+static const symbol s_2_1052[3] = { 'd', 'r', 'i' };
+static const symbol s_2_1053[3] = { 'e', 'r', 'i' };
+static const symbol s_2_1054[3] = { 'o', 'r', 'i' };
+static const symbol s_2_1055[4] = { 'b', 'a', 's', 'i' };
+static const symbol s_2_1056[4] = { 'g', 'a', 's', 'i' };
+static const symbol s_2_1057[4] = { 'j', 'a', 's', 'i' };
+static const symbol s_2_1058[4] = { 'k', 'a', 's', 'i' };
+static const symbol s_2_1059[4] = { 'n', 'a', 's', 'i' };
+static const symbol s_2_1060[4] = { 't', 'a', 's', 'i' };
+static const symbol s_2_1061[4] = { 'v', 'a', 's', 'i' };
+static const symbol s_2_1062[3] = { 'e', 's', 'i' };
+static const symbol s_2_1063[3] = { 'i', 's', 'i' };
+static const symbol s_2_1064[3] = { 'o', 's', 'i' };
+static const symbol s_2_1065[4] = { 'a', 'v', 's', 'i' };
+static const symbol s_2_1066[6] = { 'a', 'c', 'a', 'v', 's', 'i' };
+static const symbol s_2_1067[6] = { 'i', 'r', 'a', 'v', 's', 'i' };
+static const symbol s_2_1068[5] = { 't', 'a', 'v', 's', 'i' };
+static const symbol s_2_1069[6] = { 'e', 't', 'a', 'v', 's', 'i' };
+static const symbol s_2_1070[7] = { 'a', 's', 't', 'a', 'v', 's', 'i' };
+static const symbol s_2_1071[7] = { 'i', 's', 't', 'a', 'v', 's', 'i' };
+static const symbol s_2_1072[7] = { 'o', 's', 't', 'a', 'v', 's', 'i' };
+static const symbol s_2_1073[4] = { 'i', 'v', 's', 'i' };
+static const symbol s_2_1074[5] = { 'n', 'i', 'v', 's', 'i' };
+static const symbol s_2_1075[7] = { 'r', 'o', 's', 'i', 'v', 's', 'i' };
+static const symbol s_2_1076[5] = { 'n', 'u', 'v', 's', 'i' };
+static const symbol s_2_1077[3] = { 'a', 't', 'i' };
+static const symbol s_2_1078[5] = { 'a', 'c', 'a', 't', 'i' };
+static const symbol s_2_1079[8] = { 'a', 's', 't', 'a', 'j', 'a', 't', 'i' };
+static const symbol s_2_1080[8] = { 'i', 's', 't', 'a', 'j', 'a', 't', 'i' };
+static const symbol s_2_1081[8] = { 'o', 's', 't', 'a', 'j', 'a', 't', 'i' };
+static const symbol s_2_1082[6] = { 'i', 'n', 'j', 'a', 't', 'i' };
+static const symbol s_2_1083[5] = { 'i', 'k', 'a', 't', 'i' };
+static const symbol s_2_1084[4] = { 'l', 'a', 't', 'i' };
+static const symbol s_2_1085[5] = { 'i', 'r', 'a', 't', 'i' };
+static const symbol s_2_1086[5] = { 'u', 'r', 'a', 't', 'i' };
+static const symbol s_2_1087[4] = { 't', 'a', 't', 'i' };
+static const symbol s_2_1088[6] = { 'a', 's', 't', 'a', 't', 'i' };
+static const symbol s_2_1089[6] = { 'i', 's', 't', 'a', 't', 'i' };
+static const symbol s_2_1090[6] = { 'o', 's', 't', 'a', 't', 'i' };
+static const symbol s_2_1091[5] = { 'a', 'v', 'a', 't', 'i' };
+static const symbol s_2_1092[5] = { 'e', 'v', 'a', 't', 'i' };
+static const symbol s_2_1093[5] = { 'i', 'v', 'a', 't', 'i' };
+static const symbol s_2_1094[5] = { 'o', 'v', 'a', 't', 'i' };
+static const symbol s_2_1095[5] = { 'u', 'v', 'a', 't', 'i' };
+static const symbol s_2_1096[6] = { 'a', 0xC4, 0x8D, 'a', 't', 'i' };
+static const symbol s_2_1097[3] = { 'e', 't', 'i' };
+static const symbol s_2_1098[3] = { 'i', 't', 'i' };
+static const symbol s_2_1099[5] = { 'a', 'c', 'i', 't', 'i' };
+static const symbol s_2_1100[6] = { 'l', 'u', 'c', 'i', 't', 'i' };
+static const symbol s_2_1101[4] = { 'n', 'i', 't', 'i' };
+static const symbol s_2_1102[6] = { 'r', 'o', 's', 'i', 't', 'i' };
+static const symbol s_2_1103[6] = { 'j', 'e', 't', 'i', 't', 'i' };
+static const symbol s_2_1104[5] = { 'e', 'v', 'i', 't', 'i' };
+static const symbol s_2_1105[5] = { 'o', 'v', 'i', 't', 'i' };
+static const symbol s_2_1106[6] = { 'a', 0xC4, 0x8D, 'i', 't', 'i' };
+static const symbol s_2_1107[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 't', 'i' };
+static const symbol s_2_1108[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 't', 'i' };
+static const symbol s_2_1109[4] = { 'a', 's', 't', 'i' };
+static const symbol s_2_1110[4] = { 'e', 's', 't', 'i' };
+static const symbol s_2_1111[4] = { 'i', 's', 't', 'i' };
+static const symbol s_2_1112[4] = { 'k', 's', 't', 'i' };
+static const symbol s_2_1113[4] = { 'o', 's', 't', 'i' };
+static const symbol s_2_1114[4] = { 'n', 'u', 't', 'i' };
+static const symbol s_2_1115[3] = { 'a', 'v', 'i' };
+static const symbol s_2_1116[3] = { 'e', 'v', 'i' };
+static const symbol s_2_1117[5] = { 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1118[6] = { 'c', 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1119[6] = { 'l', 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1120[6] = { 'r', 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1121[7] = { 0xC4, 0x87, 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1122[7] = { 0xC4, 0x8D, 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1123[7] = { 0xC4, 0x91, 'a', 'j', 'e', 'v', 'i' };
+static const symbol s_2_1124[3] = { 'i', 'v', 'i' };
+static const symbol s_2_1125[3] = { 'o', 'v', 'i' };
+static const symbol s_2_1126[4] = { 'g', 'o', 'v', 'i' };
+static const symbol s_2_1127[5] = { 'u', 'g', 'o', 'v', 'i' };
+static const symbol s_2_1128[4] = { 'l', 'o', 'v', 'i' };
+static const symbol s_2_1129[5] = { 'o', 'l', 'o', 'v', 'i' };
+static const symbol s_2_1130[4] = { 'm', 'o', 'v', 'i' };
+static const symbol s_2_1131[5] = { 'o', 'n', 'o', 'v', 'i' };
+static const symbol s_2_1132[5] = { 'i', 'e', 0xC4, 0x87, 'i' };
+static const symbol s_2_1133[7] = { 'a', 0xC4, 0x8D, 'e', 0xC4, 0x87, 'i' };
+static const symbol s_2_1134[6] = { 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1135[8] = { 'i', 'r', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1136[8] = { 'u', 'r', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1137[9] = { 'a', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1138[9] = { 'i', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1139[9] = { 'o', 's', 't', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1140[8] = { 'a', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1141[8] = { 'e', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1142[8] = { 'i', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1143[8] = { 'u', 'v', 'a', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1144[6] = { 'u', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1145[8] = { 'i', 'r', 'u', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1146[10] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1147[5] = { 'n', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1148[6] = { 'e', 't', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1149[7] = { 'a', 's', 't', 'u', 0xC4, 0x87, 'i' };
+static const symbol s_2_1150[4] = { 'a', 0xC4, 0x8D, 'i' };
+static const symbol s_2_1151[5] = { 'l', 'u', 0xC4, 0x8D, 'i' };
+static const symbol s_2_1152[5] = { 'b', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1153[5] = { 'g', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1154[5] = { 'j', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1155[5] = { 'k', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1156[5] = { 'n', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1157[5] = { 't', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1158[5] = { 'v', 'a', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1159[4] = { 'e', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1160[4] = { 'i', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1161[4] = { 'o', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1162[5] = { 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1163[7] = { 'i', 'r', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1164[6] = { 't', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1165[7] = { 'e', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1166[8] = { 'a', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1167[8] = { 'i', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1168[8] = { 'o', 's', 't', 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1169[8] = { 'a', 0xC4, 0x8D, 'a', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1170[5] = { 'i', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1171[6] = { 'n', 'i', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1172[9] = { 'r', 'o', 0xC5, 0xA1, 'i', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1173[6] = { 'n', 'u', 'v', 0xC5, 0xA1, 'i' };
+static const symbol s_2_1174[2] = { 'a', 'j' };
+static const symbol s_2_1175[4] = { 'u', 'r', 'a', 'j' };
+static const symbol s_2_1176[3] = { 't', 'a', 'j' };
+static const symbol s_2_1177[4] = { 'a', 'v', 'a', 'j' };
+static const symbol s_2_1178[4] = { 'e', 'v', 'a', 'j' };
+static const symbol s_2_1179[4] = { 'i', 'v', 'a', 'j' };
+static const symbol s_2_1180[4] = { 'u', 'v', 'a', 'j' };
+static const symbol s_2_1181[2] = { 'i', 'j' };
+static const symbol s_2_1182[4] = { 'a', 'c', 'o', 'j' };
+static const symbol s_2_1183[4] = { 'e', 'c', 'o', 'j' };
+static const symbol s_2_1184[4] = { 'u', 'c', 'o', 'j' };
+static const symbol s_2_1185[7] = { 'a', 'n', 'j', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1186[7] = { 'e', 'n', 'j', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1187[7] = { 's', 'n', 'j', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1188[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1189[5] = { 'k', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1190[6] = { 's', 'k', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1191[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1192[6] = { 'e', 'l', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1193[5] = { 'n', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1194[6] = { 'o', 's', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1195[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1196[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1197[7] = { 'a', 's', 't', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1198[6] = { 'a', 'v', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1199[6] = { 'e', 'v', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1200[6] = { 'i', 'v', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1201[6] = { 'o', 'v', 'i', 'j', 'o', 'j' };
+static const symbol s_2_1202[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'o', 'j' };
+static const symbol s_2_1203[5] = { 'a', 'n', 'j', 'o', 'j' };
+static const symbol s_2_1204[5] = { 'e', 'n', 'j', 'o', 'j' };
+static const symbol s_2_1205[5] = { 's', 'n', 'j', 'o', 'j' };
+static const symbol s_2_1206[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'j' };
+static const symbol s_2_1207[3] = { 'k', 'o', 'j' };
+static const symbol s_2_1208[4] = { 's', 'k', 'o', 'j' };
+static const symbol s_2_1209[5] = { 0xC5, 0xA1, 'k', 'o', 'j' };
+static const symbol s_2_1210[4] = { 'a', 'l', 'o', 'j' };
+static const symbol s_2_1211[4] = { 'e', 'l', 'o', 'j' };
+static const symbol s_2_1212[3] = { 'n', 'o', 'j' };
+static const symbol s_2_1213[5] = { 'c', 'i', 'n', 'o', 'j' };
+static const symbol s_2_1214[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'j' };
+static const symbol s_2_1215[4] = { 'o', 's', 'o', 'j' };
+static const symbol s_2_1216[4] = { 'a', 't', 'o', 'j' };
+static const symbol s_2_1217[6] = { 'e', 'v', 'i', 't', 'o', 'j' };
+static const symbol s_2_1218[6] = { 'o', 'v', 'i', 't', 'o', 'j' };
+static const symbol s_2_1219[5] = { 'a', 's', 't', 'o', 'j' };
+static const symbol s_2_1220[4] = { 'a', 'v', 'o', 'j' };
+static const symbol s_2_1221[4] = { 'e', 'v', 'o', 'j' };
+static const symbol s_2_1222[4] = { 'i', 'v', 'o', 'j' };
+static const symbol s_2_1223[4] = { 'o', 'v', 'o', 'j' };
+static const symbol s_2_1224[5] = { 'a', 0xC4, 0x87, 'o', 'j' };
+static const symbol s_2_1225[5] = { 'e', 0xC4, 0x87, 'o', 'j' };
+static const symbol s_2_1226[5] = { 'u', 0xC4, 0x87, 'o', 'j' };
+static const symbol s_2_1227[5] = { 'o', 0xC5, 0xA1, 'o', 'j' };
+static const symbol s_2_1228[5] = { 'l', 'u', 'c', 'u', 'j' };
+static const symbol s_2_1229[4] = { 'i', 'r', 'u', 'j' };
+static const symbol s_2_1230[6] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j' };
+static const symbol s_2_1231[2] = { 'a', 'l' };
+static const symbol s_2_1232[4] = { 'i', 'r', 'a', 'l' };
+static const symbol s_2_1233[4] = { 'u', 'r', 'a', 'l' };
+static const symbol s_2_1234[2] = { 'e', 'l' };
+static const symbol s_2_1235[2] = { 'i', 'l' };
+static const symbol s_2_1236[2] = { 'a', 'm' };
+static const symbol s_2_1237[4] = { 'a', 'c', 'a', 'm' };
+static const symbol s_2_1238[4] = { 'i', 'r', 'a', 'm' };
+static const symbol s_2_1239[4] = { 'u', 'r', 'a', 'm' };
+static const symbol s_2_1240[3] = { 't', 'a', 'm' };
+static const symbol s_2_1241[4] = { 'a', 'v', 'a', 'm' };
+static const symbol s_2_1242[4] = { 'e', 'v', 'a', 'm' };
+static const symbol s_2_1243[4] = { 'i', 'v', 'a', 'm' };
+static const symbol s_2_1244[4] = { 'u', 'v', 'a', 'm' };
+static const symbol s_2_1245[5] = { 'a', 0xC4, 0x8D, 'a', 'm' };
+static const symbol s_2_1246[2] = { 'e', 'm' };
+static const symbol s_2_1247[4] = { 'a', 'c', 'e', 'm' };
+static const symbol s_2_1248[4] = { 'e', 'c', 'e', 'm' };
+static const symbol s_2_1249[4] = { 'u', 'c', 'e', 'm' };
+static const symbol s_2_1250[7] = { 'a', 's', 't', 'a', 'd', 'e', 'm' };
+static const symbol s_2_1251[7] = { 'i', 's', 't', 'a', 'd', 'e', 'm' };
+static const symbol s_2_1252[7] = { 'o', 's', 't', 'a', 'd', 'e', 'm' };
+static const symbol s_2_1253[4] = { 'a', 'j', 'e', 'm' };
+static const symbol s_2_1254[5] = { 'c', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1255[5] = { 'l', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1256[5] = { 'r', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1257[7] = { 'a', 's', 't', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1258[7] = { 'i', 's', 't', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1259[7] = { 'o', 's', 't', 'a', 'j', 'e', 'm' };
+static const symbol s_2_1260[6] = { 0xC4, 0x87, 'a', 'j', 'e', 'm' };
+static const symbol s_2_1261[6] = { 0xC4, 0x8D, 'a', 'j', 'e', 'm' };
+static const symbol s_2_1262[6] = { 0xC4, 0x91, 'a', 'j', 'e', 'm' };
+static const symbol s_2_1263[4] = { 'i', 'j', 'e', 'm' };
+static const symbol s_2_1264[7] = { 'a', 'n', 'j', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1265[7] = { 'e', 'n', 'j', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1266[7] = { 's', 'n', 'j', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1267[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1268[5] = { 'k', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1269[6] = { 's', 'k', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1270[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1271[5] = { 'l', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1272[6] = { 'e', 'l', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1273[5] = { 'n', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1274[7] = { 'r', 'a', 'r', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1275[5] = { 's', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1276[6] = { 'o', 's', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1277[6] = { 'a', 't', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1278[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1279[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1280[6] = { 'o', 't', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1281[7] = { 'a', 's', 't', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1282[6] = { 'a', 'v', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1283[6] = { 'e', 'v', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1284[6] = { 'i', 'v', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1285[6] = { 'o', 'v', 'i', 'j', 'e', 'm' };
+static const symbol s_2_1286[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'm' };
+static const symbol s_2_1287[5] = { 'a', 'n', 'j', 'e', 'm' };
+static const symbol s_2_1288[5] = { 'e', 'n', 'j', 'e', 'm' };
+static const symbol s_2_1289[5] = { 'i', 'n', 'j', 'e', 'm' };
+static const symbol s_2_1290[5] = { 's', 'n', 'j', 'e', 'm' };
+static const symbol s_2_1291[6] = { 0xC5, 0xA1, 'n', 'j', 'e', 'm' };
+static const symbol s_2_1292[4] = { 'u', 'j', 'e', 'm' };
+static const symbol s_2_1293[7] = { 'l', 'u', 'c', 'u', 'j', 'e', 'm' };
+static const symbol s_2_1294[6] = { 'i', 'r', 'u', 'j', 'e', 'm' };
+static const symbol s_2_1295[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 'm' };
+static const symbol s_2_1296[3] = { 'k', 'e', 'm' };
+static const symbol s_2_1297[4] = { 's', 'k', 'e', 'm' };
+static const symbol s_2_1298[5] = { 0xC5, 0xA1, 'k', 'e', 'm' };
+static const symbol s_2_1299[4] = { 'e', 'l', 'e', 'm' };
+static const symbol s_2_1300[3] = { 'n', 'e', 'm' };
+static const symbol s_2_1301[4] = { 'a', 'n', 'e', 'm' };
+static const symbol s_2_1302[7] = { 'a', 's', 't', 'a', 'n', 'e', 'm' };
+static const symbol s_2_1303[7] = { 'i', 's', 't', 'a', 'n', 'e', 'm' };
+static const symbol s_2_1304[7] = { 'o', 's', 't', 'a', 'n', 'e', 'm' };
+static const symbol s_2_1305[4] = { 'e', 'n', 'e', 'm' };
+static const symbol s_2_1306[4] = { 's', 'n', 'e', 'm' };
+static const symbol s_2_1307[5] = { 0xC5, 0xA1, 'n', 'e', 'm' };
+static const symbol s_2_1308[5] = { 'b', 'a', 's', 'e', 'm' };
+static const symbol s_2_1309[5] = { 'g', 'a', 's', 'e', 'm' };
+static const symbol s_2_1310[5] = { 'j', 'a', 's', 'e', 'm' };
+static const symbol s_2_1311[5] = { 'k', 'a', 's', 'e', 'm' };
+static const symbol s_2_1312[5] = { 'n', 'a', 's', 'e', 'm' };
+static const symbol s_2_1313[5] = { 't', 'a', 's', 'e', 'm' };
+static const symbol s_2_1314[5] = { 'v', 'a', 's', 'e', 'm' };
+static const symbol s_2_1315[4] = { 'e', 's', 'e', 'm' };
+static const symbol s_2_1316[4] = { 'i', 's', 'e', 'm' };
+static const symbol s_2_1317[4] = { 'o', 's', 'e', 'm' };
+static const symbol s_2_1318[4] = { 'a', 't', 'e', 'm' };
+static const symbol s_2_1319[4] = { 'e', 't', 'e', 'm' };
+static const symbol s_2_1320[6] = { 'e', 'v', 'i', 't', 'e', 'm' };
+static const symbol s_2_1321[6] = { 'o', 'v', 'i', 't', 'e', 'm' };
+static const symbol s_2_1322[5] = { 'a', 's', 't', 'e', 'm' };
+static const symbol s_2_1323[5] = { 'i', 's', 't', 'e', 'm' };
+static const symbol s_2_1324[6] = { 'i', 0xC5, 0xA1, 't', 'e', 'm' };
+static const symbol s_2_1325[4] = { 'a', 'v', 'e', 'm' };
+static const symbol s_2_1326[4] = { 'e', 'v', 'e', 'm' };
+static const symbol s_2_1327[4] = { 'i', 'v', 'e', 'm' };
+static const symbol s_2_1328[5] = { 'a', 0xC4, 0x87, 'e', 'm' };
+static const symbol s_2_1329[5] = { 'e', 0xC4, 0x87, 'e', 'm' };
+static const symbol s_2_1330[5] = { 'u', 0xC4, 0x87, 'e', 'm' };
+static const symbol s_2_1331[6] = { 'b', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1332[6] = { 'g', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1333[6] = { 'j', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1334[6] = { 'k', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1335[6] = { 'n', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1336[6] = { 't', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1337[6] = { 'v', 'a', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1338[5] = { 'e', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1339[5] = { 'i', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1340[5] = { 'o', 0xC5, 0xA1, 'e', 'm' };
+static const symbol s_2_1341[2] = { 'i', 'm' };
+static const symbol s_2_1342[4] = { 'a', 'c', 'i', 'm' };
+static const symbol s_2_1343[4] = { 'e', 'c', 'i', 'm' };
+static const symbol s_2_1344[4] = { 'u', 'c', 'i', 'm' };
+static const symbol s_2_1345[5] = { 'l', 'u', 'c', 'i', 'm' };
+static const symbol s_2_1346[7] = { 'a', 'n', 'j', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1347[7] = { 'e', 'n', 'j', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1348[7] = { 's', 'n', 'j', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1349[8] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1350[5] = { 'k', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1351[6] = { 's', 'k', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1352[7] = { 0xC5, 0xA1, 'k', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1353[6] = { 'e', 'l', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1354[5] = { 'n', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1355[6] = { 'o', 's', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1356[6] = { 'a', 't', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1357[8] = { 'e', 'v', 'i', 't', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1358[8] = { 'o', 'v', 'i', 't', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1359[7] = { 'a', 's', 't', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1360[6] = { 'a', 'v', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1361[6] = { 'e', 'v', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1362[6] = { 'i', 'v', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1363[6] = { 'o', 'v', 'i', 'j', 'i', 'm' };
+static const symbol s_2_1364[7] = { 'o', 0xC5, 0xA1, 'i', 'j', 'i', 'm' };
+static const symbol s_2_1365[5] = { 'a', 'n', 'j', 'i', 'm' };
+static const symbol s_2_1366[5] = { 'e', 'n', 'j', 'i', 'm' };
+static const symbol s_2_1367[5] = { 's', 'n', 'j', 'i', 'm' };
+static const symbol s_2_1368[6] = { 0xC5, 0xA1, 'n', 'j', 'i', 'm' };
+static const symbol s_2_1369[3] = { 'k', 'i', 'm' };
+static const symbol s_2_1370[4] = { 's', 'k', 'i', 'm' };
+static const symbol s_2_1371[5] = { 0xC5, 0xA1, 'k', 'i', 'm' };
+static const symbol s_2_1372[4] = { 'e', 'l', 'i', 'm' };
+static const symbol s_2_1373[3] = { 'n', 'i', 'm' };
+static const symbol s_2_1374[5] = { 'c', 'i', 'n', 'i', 'm' };
+static const symbol s_2_1375[6] = { 0xC4, 0x8D, 'i', 'n', 'i', 'm' };
+static const symbol s_2_1376[4] = { 'o', 's', 'i', 'm' };
+static const symbol s_2_1377[5] = { 'r', 'o', 's', 'i', 'm' };
+static const symbol s_2_1378[4] = { 'a', 't', 'i', 'm' };
+static const symbol s_2_1379[5] = { 'j', 'e', 't', 'i', 'm' };
+static const symbol s_2_1380[6] = { 'e', 'v', 'i', 't', 'i', 'm' };
+static const symbol s_2_1381[6] = { 'o', 'v', 'i', 't', 'i', 'm' };
+static const symbol s_2_1382[5] = { 'a', 's', 't', 'i', 'm' };
+static const symbol s_2_1383[4] = { 'a', 'v', 'i', 'm' };
+static const symbol s_2_1384[4] = { 'e', 'v', 'i', 'm' };
+static const symbol s_2_1385[4] = { 'i', 'v', 'i', 'm' };
+static const symbol s_2_1386[4] = { 'o', 'v', 'i', 'm' };
+static const symbol s_2_1387[5] = { 'a', 0xC4, 0x87, 'i', 'm' };
+static const symbol s_2_1388[5] = { 'e', 0xC4, 0x87, 'i', 'm' };
+static const symbol s_2_1389[5] = { 'u', 0xC4, 0x87, 'i', 'm' };
+static const symbol s_2_1390[5] = { 'a', 0xC4, 0x8D, 'i', 'm' };
+static const symbol s_2_1391[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'm' };
+static const symbol s_2_1392[5] = { 'o', 0xC5, 0xA1, 'i', 'm' };
+static const symbol s_2_1393[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'm' };
+static const symbol s_2_1394[4] = { 'a', 'c', 'o', 'm' };
+static const symbol s_2_1395[4] = { 'e', 'c', 'o', 'm' };
+static const symbol s_2_1396[4] = { 'u', 'c', 'o', 'm' };
+static const symbol s_2_1397[3] = { 'g', 'o', 'm' };
+static const symbol s_2_1398[5] = { 'l', 'o', 'g', 'o', 'm' };
+static const symbol s_2_1399[4] = { 'u', 'g', 'o', 'm' };
+static const symbol s_2_1400[5] = { 'b', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1401[5] = { 'c', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1402[5] = { 'd', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1403[5] = { 'f', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1404[5] = { 'g', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1405[5] = { 'l', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1406[5] = { 'm', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1407[5] = { 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1408[7] = { 'g', 'a', 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1409[7] = { 'm', 'a', 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1410[7] = { 'p', 'a', 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1411[7] = { 'r', 'a', 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1412[7] = { 't', 'a', 'n', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1413[5] = { 'p', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1414[5] = { 'r', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1415[5] = { 's', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1416[5] = { 't', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1417[5] = { 'z', 'i', 'j', 'o', 'm' };
+static const symbol s_2_1418[6] = { 0xC5, 0xBE, 'i', 'j', 'o', 'm' };
+static const symbol s_2_1419[5] = { 'a', 'n', 'j', 'o', 'm' };
+static const symbol s_2_1420[5] = { 'e', 'n', 'j', 'o', 'm' };
+static const symbol s_2_1421[5] = { 's', 'n', 'j', 'o', 'm' };
+static const symbol s_2_1422[6] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm' };
+static const symbol s_2_1423[3] = { 'k', 'o', 'm' };
+static const symbol s_2_1424[4] = { 's', 'k', 'o', 'm' };
+static const symbol s_2_1425[5] = { 0xC5, 0xA1, 'k', 'o', 'm' };
+static const symbol s_2_1426[4] = { 'a', 'l', 'o', 'm' };
+static const symbol s_2_1427[6] = { 'i', 'j', 'a', 'l', 'o', 'm' };
+static const symbol s_2_1428[5] = { 'n', 'a', 'l', 'o', 'm' };
+static const symbol s_2_1429[4] = { 'e', 'l', 'o', 'm' };
+static const symbol s_2_1430[4] = { 'i', 'l', 'o', 'm' };
+static const symbol s_2_1431[6] = { 'o', 'z', 'i', 'l', 'o', 'm' };
+static const symbol s_2_1432[4] = { 'o', 'l', 'o', 'm' };
+static const symbol s_2_1433[5] = { 'r', 'a', 'm', 'o', 'm' };
+static const symbol s_2_1434[5] = { 'l', 'e', 'm', 'o', 'm' };
+static const symbol s_2_1435[3] = { 'n', 'o', 'm' };
+static const symbol s_2_1436[4] = { 'a', 'n', 'o', 'm' };
+static const symbol s_2_1437[4] = { 'i', 'n', 'o', 'm' };
+static const symbol s_2_1438[5] = { 'c', 'i', 'n', 'o', 'm' };
+static const symbol s_2_1439[6] = { 'a', 'n', 'i', 'n', 'o', 'm' };
+static const symbol s_2_1440[6] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm' };
+static const symbol s_2_1441[4] = { 'o', 'n', 'o', 'm' };
+static const symbol s_2_1442[4] = { 'a', 'r', 'o', 'm' };
+static const symbol s_2_1443[4] = { 'd', 'r', 'o', 'm' };
+static const symbol s_2_1444[4] = { 'e', 'r', 'o', 'm' };
+static const symbol s_2_1445[4] = { 'o', 'r', 'o', 'm' };
+static const symbol s_2_1446[5] = { 'b', 'a', 's', 'o', 'm' };
+static const symbol s_2_1447[5] = { 'g', 'a', 's', 'o', 'm' };
+static const symbol s_2_1448[5] = { 'j', 'a', 's', 'o', 'm' };
+static const symbol s_2_1449[5] = { 'k', 'a', 's', 'o', 'm' };
+static const symbol s_2_1450[5] = { 'n', 'a', 's', 'o', 'm' };
+static const symbol s_2_1451[5] = { 't', 'a', 's', 'o', 'm' };
+static const symbol s_2_1452[5] = { 'v', 'a', 's', 'o', 'm' };
+static const symbol s_2_1453[4] = { 'e', 's', 'o', 'm' };
+static const symbol s_2_1454[4] = { 'i', 's', 'o', 'm' };
+static const symbol s_2_1455[4] = { 'o', 's', 'o', 'm' };
+static const symbol s_2_1456[4] = { 'a', 't', 'o', 'm' };
+static const symbol s_2_1457[6] = { 'i', 'k', 'a', 't', 'o', 'm' };
+static const symbol s_2_1458[5] = { 'l', 'a', 't', 'o', 'm' };
+static const symbol s_2_1459[4] = { 'e', 't', 'o', 'm' };
+static const symbol s_2_1460[6] = { 'e', 'v', 'i', 't', 'o', 'm' };
+static const symbol s_2_1461[6] = { 'o', 'v', 'i', 't', 'o', 'm' };
+static const symbol s_2_1462[5] = { 'a', 's', 't', 'o', 'm' };
+static const symbol s_2_1463[5] = { 'e', 's', 't', 'o', 'm' };
+static const symbol s_2_1464[5] = { 'i', 's', 't', 'o', 'm' };
+static const symbol s_2_1465[5] = { 'k', 's', 't', 'o', 'm' };
+static const symbol s_2_1466[5] = { 'o', 's', 't', 'o', 'm' };
+static const symbol s_2_1467[4] = { 'a', 'v', 'o', 'm' };
+static const symbol s_2_1468[4] = { 'e', 'v', 'o', 'm' };
+static const symbol s_2_1469[4] = { 'i', 'v', 'o', 'm' };
+static const symbol s_2_1470[4] = { 'o', 'v', 'o', 'm' };
+static const symbol s_2_1471[5] = { 'l', 'o', 'v', 'o', 'm' };
+static const symbol s_2_1472[5] = { 'm', 'o', 'v', 'o', 'm' };
+static const symbol s_2_1473[5] = { 's', 't', 'v', 'o', 'm' };
+static const symbol s_2_1474[6] = { 0xC5, 0xA1, 't', 'v', 'o', 'm' };
+static const symbol s_2_1475[5] = { 'a', 0xC4, 0x87, 'o', 'm' };
+static const symbol s_2_1476[5] = { 'e', 0xC4, 0x87, 'o', 'm' };
+static const symbol s_2_1477[5] = { 'u', 0xC4, 0x87, 'o', 'm' };
+static const symbol s_2_1478[6] = { 'b', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1479[6] = { 'g', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1480[6] = { 'j', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1481[6] = { 'k', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1482[6] = { 'n', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1483[6] = { 't', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1484[6] = { 'v', 'a', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1485[5] = { 'e', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1486[5] = { 'i', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1487[5] = { 'o', 0xC5, 0xA1, 'o', 'm' };
+static const symbol s_2_1488[2] = { 'a', 'n' };
+static const symbol s_2_1489[4] = { 'a', 'c', 'a', 'n' };
+static const symbol s_2_1490[4] = { 'i', 'r', 'a', 'n' };
+static const symbol s_2_1491[4] = { 'u', 'r', 'a', 'n' };
+static const symbol s_2_1492[3] = { 't', 'a', 'n' };
+static const symbol s_2_1493[4] = { 'a', 'v', 'a', 'n' };
+static const symbol s_2_1494[4] = { 'e', 'v', 'a', 'n' };
+static const symbol s_2_1495[4] = { 'i', 'v', 'a', 'n' };
+static const symbol s_2_1496[4] = { 'u', 'v', 'a', 'n' };
+static const symbol s_2_1497[5] = { 'a', 0xC4, 0x8D, 'a', 'n' };
+static const symbol s_2_1498[4] = { 'a', 'c', 'e', 'n' };
+static const symbol s_2_1499[5] = { 'l', 'u', 'c', 'e', 'n' };
+static const symbol s_2_1500[5] = { 'a', 0xC4, 0x8D, 'e', 'n' };
+static const symbol s_2_1501[6] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n' };
+static const symbol s_2_1502[4] = { 'a', 'n', 'i', 'n' };
+static const symbol s_2_1503[2] = { 'a', 'o' };
+static const symbol s_2_1504[4] = { 'a', 'c', 'a', 'o' };
+static const symbol s_2_1505[7] = { 'a', 's', 't', 'a', 'j', 'a', 'o' };
+static const symbol s_2_1506[7] = { 'i', 's', 't', 'a', 'j', 'a', 'o' };
+static const symbol s_2_1507[7] = { 'o', 's', 't', 'a', 'j', 'a', 'o' };
+static const symbol s_2_1508[5] = { 'i', 'n', 'j', 'a', 'o' };
+static const symbol s_2_1509[4] = { 'i', 'r', 'a', 'o' };
+static const symbol s_2_1510[4] = { 'u', 'r', 'a', 'o' };
+static const symbol s_2_1511[3] = { 't', 'a', 'o' };
+static const symbol s_2_1512[5] = { 'a', 's', 't', 'a', 'o' };
+static const symbol s_2_1513[5] = { 'i', 's', 't', 'a', 'o' };
+static const symbol s_2_1514[5] = { 'o', 's', 't', 'a', 'o' };
+static const symbol s_2_1515[4] = { 'a', 'v', 'a', 'o' };
+static const symbol s_2_1516[4] = { 'e', 'v', 'a', 'o' };
+static const symbol s_2_1517[4] = { 'i', 'v', 'a', 'o' };
+static const symbol s_2_1518[4] = { 'o', 'v', 'a', 'o' };
+static const symbol s_2_1519[4] = { 'u', 'v', 'a', 'o' };
+static const symbol s_2_1520[5] = { 'a', 0xC4, 0x8D, 'a', 'o' };
+static const symbol s_2_1521[2] = { 'g', 'o' };
+static const symbol s_2_1522[3] = { 'u', 'g', 'o' };
+static const symbol s_2_1523[2] = { 'i', 'o' };
+static const symbol s_2_1524[4] = { 'a', 'c', 'i', 'o' };
+static const symbol s_2_1525[5] = { 'l', 'u', 'c', 'i', 'o' };
+static const symbol s_2_1526[3] = { 'l', 'i', 'o' };
+static const symbol s_2_1527[3] = { 'n', 'i', 'o' };
+static const symbol s_2_1528[5] = { 'r', 'a', 'r', 'i', 'o' };
+static const symbol s_2_1529[3] = { 's', 'i', 'o' };
+static const symbol s_2_1530[5] = { 'r', 'o', 's', 'i', 'o' };
+static const symbol s_2_1531[5] = { 'j', 'e', 't', 'i', 'o' };
+static const symbol s_2_1532[4] = { 'o', 't', 'i', 'o' };
+static const symbol s_2_1533[5] = { 'a', 0xC4, 0x8D, 'i', 'o' };
+static const symbol s_2_1534[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 'o' };
+static const symbol s_2_1535[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 'o' };
+static const symbol s_2_1536[4] = { 'b', 'i', 'j', 'o' };
+static const symbol s_2_1537[4] = { 'c', 'i', 'j', 'o' };
+static const symbol s_2_1538[4] = { 'd', 'i', 'j', 'o' };
+static const symbol s_2_1539[4] = { 'f', 'i', 'j', 'o' };
+static const symbol s_2_1540[4] = { 'g', 'i', 'j', 'o' };
+static const symbol s_2_1541[4] = { 'l', 'i', 'j', 'o' };
+static const symbol s_2_1542[4] = { 'm', 'i', 'j', 'o' };
+static const symbol s_2_1543[4] = { 'n', 'i', 'j', 'o' };
+static const symbol s_2_1544[4] = { 'p', 'i', 'j', 'o' };
+static const symbol s_2_1545[4] = { 'r', 'i', 'j', 'o' };
+static const symbol s_2_1546[4] = { 's', 'i', 'j', 'o' };
+static const symbol s_2_1547[4] = { 't', 'i', 'j', 'o' };
+static const symbol s_2_1548[4] = { 'z', 'i', 'j', 'o' };
+static const symbol s_2_1549[5] = { 0xC5, 0xBE, 'i', 'j', 'o' };
+static const symbol s_2_1550[4] = { 'a', 'n', 'j', 'o' };
+static const symbol s_2_1551[4] = { 'e', 'n', 'j', 'o' };
+static const symbol s_2_1552[4] = { 's', 'n', 'j', 'o' };
+static const symbol s_2_1553[5] = { 0xC5, 0xA1, 'n', 'j', 'o' };
+static const symbol s_2_1554[2] = { 'k', 'o' };
+static const symbol s_2_1555[3] = { 's', 'k', 'o' };
+static const symbol s_2_1556[4] = { 0xC5, 0xA1, 'k', 'o' };
+static const symbol s_2_1557[3] = { 'a', 'l', 'o' };
+static const symbol s_2_1558[5] = { 'a', 'c', 'a', 'l', 'o' };
+static const symbol s_2_1559[8] = { 'a', 's', 't', 'a', 'j', 'a', 'l', 'o' };
+static const symbol s_2_1560[8] = { 'i', 's', 't', 'a', 'j', 'a', 'l', 'o' };
+static const symbol s_2_1561[8] = { 'o', 's', 't', 'a', 'j', 'a', 'l', 'o' };
+static const symbol s_2_1562[5] = { 'i', 'j', 'a', 'l', 'o' };
+static const symbol s_2_1563[6] = { 'i', 'n', 'j', 'a', 'l', 'o' };
+static const symbol s_2_1564[4] = { 'n', 'a', 'l', 'o' };
+static const symbol s_2_1565[5] = { 'i', 'r', 'a', 'l', 'o' };
+static const symbol s_2_1566[5] = { 'u', 'r', 'a', 'l', 'o' };
+static const symbol s_2_1567[4] = { 't', 'a', 'l', 'o' };
+static const symbol s_2_1568[6] = { 'a', 's', 't', 'a', 'l', 'o' };
+static const symbol s_2_1569[6] = { 'i', 's', 't', 'a', 'l', 'o' };
+static const symbol s_2_1570[6] = { 'o', 's', 't', 'a', 'l', 'o' };
+static const symbol s_2_1571[5] = { 'a', 'v', 'a', 'l', 'o' };
+static const symbol s_2_1572[5] = { 'e', 'v', 'a', 'l', 'o' };
+static const symbol s_2_1573[5] = { 'i', 'v', 'a', 'l', 'o' };
+static const symbol s_2_1574[5] = { 'o', 'v', 'a', 'l', 'o' };
+static const symbol s_2_1575[5] = { 'u', 'v', 'a', 'l', 'o' };
+static const symbol s_2_1576[6] = { 'a', 0xC4, 0x8D, 'a', 'l', 'o' };
+static const symbol s_2_1577[3] = { 'e', 'l', 'o' };
+static const symbol s_2_1578[3] = { 'i', 'l', 'o' };
+static const symbol s_2_1579[5] = { 'a', 'c', 'i', 'l', 'o' };
+static const symbol s_2_1580[6] = { 'l', 'u', 'c', 'i', 'l', 'o' };
+static const symbol s_2_1581[4] = { 'n', 'i', 'l', 'o' };
+static const symbol s_2_1582[6] = { 'r', 'o', 's', 'i', 'l', 'o' };
+static const symbol s_2_1583[6] = { 'j', 'e', 't', 'i', 'l', 'o' };
+static const symbol s_2_1584[6] = { 'a', 0xC4, 0x8D, 'i', 'l', 'o' };
+static const symbol s_2_1585[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'l', 'o' };
+static const symbol s_2_1586[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'l', 'o' };
+static const symbol s_2_1587[4] = { 'a', 's', 'l', 'o' };
+static const symbol s_2_1588[4] = { 'n', 'u', 'l', 'o' };
+static const symbol s_2_1589[3] = { 'a', 'm', 'o' };
+static const symbol s_2_1590[5] = { 'a', 'c', 'a', 'm', 'o' };
+static const symbol s_2_1591[4] = { 'r', 'a', 'm', 'o' };
+static const symbol s_2_1592[5] = { 'i', 'r', 'a', 'm', 'o' };
+static const symbol s_2_1593[5] = { 'u', 'r', 'a', 'm', 'o' };
+static const symbol s_2_1594[4] = { 't', 'a', 'm', 'o' };
+static const symbol s_2_1595[5] = { 'a', 'v', 'a', 'm', 'o' };
+static const symbol s_2_1596[5] = { 'e', 'v', 'a', 'm', 'o' };
+static const symbol s_2_1597[5] = { 'i', 'v', 'a', 'm', 'o' };
+static const symbol s_2_1598[5] = { 'u', 'v', 'a', 'm', 'o' };
+static const symbol s_2_1599[6] = { 'a', 0xC4, 0x8D, 'a', 'm', 'o' };
+static const symbol s_2_1600[3] = { 'e', 'm', 'o' };
+static const symbol s_2_1601[8] = { 'a', 's', 't', 'a', 'd', 'e', 'm', 'o' };
+static const symbol s_2_1602[8] = { 'i', 's', 't', 'a', 'd', 'e', 'm', 'o' };
+static const symbol s_2_1603[8] = { 'o', 's', 't', 'a', 'd', 'e', 'm', 'o' };
+static const symbol s_2_1604[8] = { 'a', 's', 't', 'a', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1605[8] = { 'i', 's', 't', 'a', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1606[8] = { 'o', 's', 't', 'a', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1607[5] = { 'i', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1608[6] = { 'i', 'n', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1609[5] = { 'u', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1610[8] = { 'l', 'u', 'c', 'u', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1611[7] = { 'i', 'r', 'u', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1612[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 'm', 'o' };
+static const symbol s_2_1613[4] = { 'l', 'e', 'm', 'o' };
+static const symbol s_2_1614[4] = { 'n', 'e', 'm', 'o' };
+static const symbol s_2_1615[8] = { 'a', 's', 't', 'a', 'n', 'e', 'm', 'o' };
+static const symbol s_2_1616[8] = { 'i', 's', 't', 'a', 'n', 'e', 'm', 'o' };
+static const symbol s_2_1617[8] = { 'o', 's', 't', 'a', 'n', 'e', 'm', 'o' };
+static const symbol s_2_1618[5] = { 'e', 't', 'e', 'm', 'o' };
+static const symbol s_2_1619[6] = { 'a', 's', 't', 'e', 'm', 'o' };
+static const symbol s_2_1620[3] = { 'i', 'm', 'o' };
+static const symbol s_2_1621[5] = { 'a', 'c', 'i', 'm', 'o' };
+static const symbol s_2_1622[6] = { 'l', 'u', 'c', 'i', 'm', 'o' };
+static const symbol s_2_1623[4] = { 'n', 'i', 'm', 'o' };
+static const symbol s_2_1624[8] = { 'a', 's', 't', 'a', 'n', 'i', 'm', 'o' };
+static const symbol s_2_1625[8] = { 'i', 's', 't', 'a', 'n', 'i', 'm', 'o' };
+static const symbol s_2_1626[8] = { 'o', 's', 't', 'a', 'n', 'i', 'm', 'o' };
+static const symbol s_2_1627[6] = { 'r', 'o', 's', 'i', 'm', 'o' };
+static const symbol s_2_1628[5] = { 'e', 't', 'i', 'm', 'o' };
+static const symbol s_2_1629[6] = { 'j', 'e', 't', 'i', 'm', 'o' };
+static const symbol s_2_1630[6] = { 'a', 's', 't', 'i', 'm', 'o' };
+static const symbol s_2_1631[6] = { 'a', 0xC4, 0x8D, 'i', 'm', 'o' };
+static const symbol s_2_1632[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 'm', 'o' };
+static const symbol s_2_1633[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 'm', 'o' };
+static const symbol s_2_1634[4] = { 'a', 'j', 'm', 'o' };
+static const symbol s_2_1635[6] = { 'u', 'r', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1636[5] = { 't', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1637[7] = { 'a', 's', 't', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1638[7] = { 'i', 's', 't', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1639[7] = { 'o', 's', 't', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1640[6] = { 'a', 'v', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1641[6] = { 'e', 'v', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1642[6] = { 'i', 'v', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1643[6] = { 'u', 'v', 'a', 'j', 'm', 'o' };
+static const symbol s_2_1644[4] = { 'i', 'j', 'm', 'o' };
+static const symbol s_2_1645[4] = { 'u', 'j', 'm', 'o' };
+static const symbol s_2_1646[7] = { 'l', 'u', 'c', 'u', 'j', 'm', 'o' };
+static const symbol s_2_1647[6] = { 'i', 'r', 'u', 'j', 'm', 'o' };
+static const symbol s_2_1648[8] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'm', 'o' };
+static const symbol s_2_1649[4] = { 'a', 's', 'm', 'o' };
+static const symbol s_2_1650[6] = { 'a', 'c', 'a', 's', 'm', 'o' };
+static const symbol s_2_1651[9] = { 'a', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
+static const symbol s_2_1652[9] = { 'i', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
+static const symbol s_2_1653[9] = { 'o', 's', 't', 'a', 'j', 'a', 's', 'm', 'o' };
+static const symbol s_2_1654[7] = { 'i', 'n', 'j', 'a', 's', 'm', 'o' };
+static const symbol s_2_1655[6] = { 'i', 'r', 'a', 's', 'm', 'o' };
+static const symbol s_2_1656[6] = { 'u', 'r', 'a', 's', 'm', 'o' };
+static const symbol s_2_1657[5] = { 't', 'a', 's', 'm', 'o' };
+static const symbol s_2_1658[6] = { 'a', 'v', 'a', 's', 'm', 'o' };
+static const symbol s_2_1659[6] = { 'e', 'v', 'a', 's', 'm', 'o' };
+static const symbol s_2_1660[6] = { 'i', 'v', 'a', 's', 'm', 'o' };
+static const symbol s_2_1661[6] = { 'o', 'v', 'a', 's', 'm', 'o' };
+static const symbol s_2_1662[6] = { 'u', 'v', 'a', 's', 'm', 'o' };
+static const symbol s_2_1663[7] = { 'a', 0xC4, 0x8D, 'a', 's', 'm', 'o' };
+static const symbol s_2_1664[4] = { 'i', 's', 'm', 'o' };
+static const symbol s_2_1665[6] = { 'a', 'c', 'i', 's', 'm', 'o' };
+static const symbol s_2_1666[7] = { 'l', 'u', 'c', 'i', 's', 'm', 'o' };
+static const symbol s_2_1667[5] = { 'n', 'i', 's', 'm', 'o' };
+static const symbol s_2_1668[7] = { 'r', 'o', 's', 'i', 's', 'm', 'o' };
+static const symbol s_2_1669[7] = { 'j', 'e', 't', 'i', 's', 'm', 'o' };
+static const symbol s_2_1670[7] = { 'a', 0xC4, 0x8D, 'i', 's', 'm', 'o' };
+static const symbol s_2_1671[8] = { 'l', 'u', 0xC4, 0x8D, 'i', 's', 'm', 'o' };
+static const symbol s_2_1672[8] = { 'r', 'o', 0xC5, 0xA1, 'i', 's', 'm', 'o' };
+static const symbol s_2_1673[9] = { 'a', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
+static const symbol s_2_1674[9] = { 'i', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
+static const symbol s_2_1675[9] = { 'o', 's', 't', 'a', 'd', 'o', 's', 'm', 'o' };
+static const symbol s_2_1676[5] = { 'n', 'u', 's', 'm', 'o' };
+static const symbol s_2_1677[2] = { 'n', 'o' };
+static const symbol s_2_1678[3] = { 'a', 'n', 'o' };
+static const symbol s_2_1679[5] = { 'a', 'c', 'a', 'n', 'o' };
+static const symbol s_2_1680[5] = { 'u', 'r', 'a', 'n', 'o' };
+static const symbol s_2_1681[4] = { 't', 'a', 'n', 'o' };
+static const symbol s_2_1682[5] = { 'a', 'v', 'a', 'n', 'o' };
+static const symbol s_2_1683[5] = { 'e', 'v', 'a', 'n', 'o' };
+static const symbol s_2_1684[5] = { 'i', 'v', 'a', 'n', 'o' };
+static const symbol s_2_1685[5] = { 'u', 'v', 'a', 'n', 'o' };
+static const symbol s_2_1686[6] = { 'a', 0xC4, 0x8D, 'a', 'n', 'o' };
+static const symbol s_2_1687[5] = { 'a', 'c', 'e', 'n', 'o' };
+static const symbol s_2_1688[6] = { 'l', 'u', 'c', 'e', 'n', 'o' };
+static const symbol s_2_1689[6] = { 'a', 0xC4, 0x8D, 'e', 'n', 'o' };
+static const symbol s_2_1690[7] = { 'l', 'u', 0xC4, 0x8D, 'e', 'n', 'o' };
+static const symbol s_2_1691[3] = { 'i', 'n', 'o' };
+static const symbol s_2_1692[4] = { 'c', 'i', 'n', 'o' };
+static const symbol s_2_1693[5] = { 0xC4, 0x8D, 'i', 'n', 'o' };
+static const symbol s_2_1694[3] = { 'a', 't', 'o' };
+static const symbol s_2_1695[5] = { 'i', 'k', 'a', 't', 'o' };
+static const symbol s_2_1696[4] = { 'l', 'a', 't', 'o' };
+static const symbol s_2_1697[3] = { 'e', 't', 'o' };
+static const symbol s_2_1698[5] = { 'e', 'v', 'i', 't', 'o' };
+static const symbol s_2_1699[5] = { 'o', 'v', 'i', 't', 'o' };
+static const symbol s_2_1700[4] = { 'a', 's', 't', 'o' };
+static const symbol s_2_1701[4] = { 'e', 's', 't', 'o' };
+static const symbol s_2_1702[4] = { 'i', 's', 't', 'o' };
+static const symbol s_2_1703[4] = { 'k', 's', 't', 'o' };
+static const symbol s_2_1704[4] = { 'o', 's', 't', 'o' };
+static const symbol s_2_1705[4] = { 'n', 'u', 't', 'o' };
+static const symbol s_2_1706[3] = { 'n', 'u', 'o' };
+static const symbol s_2_1707[3] = { 'a', 'v', 'o' };
+static const symbol s_2_1708[3] = { 'e', 'v', 'o' };
+static const symbol s_2_1709[3] = { 'i', 'v', 'o' };
+static const symbol s_2_1710[3] = { 'o', 'v', 'o' };
+static const symbol s_2_1711[4] = { 's', 't', 'v', 'o' };
+static const symbol s_2_1712[5] = { 0xC5, 0xA1, 't', 'v', 'o' };
+static const symbol s_2_1713[2] = { 'a', 's' };
+static const symbol s_2_1714[4] = { 'a', 'c', 'a', 's' };
+static const symbol s_2_1715[4] = { 'i', 'r', 'a', 's' };
+static const symbol s_2_1716[4] = { 'u', 'r', 'a', 's' };
+static const symbol s_2_1717[3] = { 't', 'a', 's' };
+static const symbol s_2_1718[4] = { 'a', 'v', 'a', 's' };
+static const symbol s_2_1719[4] = { 'e', 'v', 'a', 's' };
+static const symbol s_2_1720[4] = { 'i', 'v', 'a', 's' };
+static const symbol s_2_1721[4] = { 'u', 'v', 'a', 's' };
+static const symbol s_2_1722[2] = { 'e', 's' };
+static const symbol s_2_1723[7] = { 'a', 's', 't', 'a', 'd', 'e', 's' };
+static const symbol s_2_1724[7] = { 'i', 's', 't', 'a', 'd', 'e', 's' };
+static const symbol s_2_1725[7] = { 'o', 's', 't', 'a', 'd', 'e', 's' };
+static const symbol s_2_1726[7] = { 'a', 's', 't', 'a', 'j', 'e', 's' };
+static const symbol s_2_1727[7] = { 'i', 's', 't', 'a', 'j', 'e', 's' };
+static const symbol s_2_1728[7] = { 'o', 's', 't', 'a', 'j', 'e', 's' };
+static const symbol s_2_1729[4] = { 'i', 'j', 'e', 's' };
+static const symbol s_2_1730[5] = { 'i', 'n', 'j', 'e', 's' };
+static const symbol s_2_1731[4] = { 'u', 'j', 'e', 's' };
+static const symbol s_2_1732[7] = { 'l', 'u', 'c', 'u', 'j', 'e', 's' };
+static const symbol s_2_1733[6] = { 'i', 'r', 'u', 'j', 'e', 's' };
+static const symbol s_2_1734[3] = { 'n', 'e', 's' };
+static const symbol s_2_1735[7] = { 'a', 's', 't', 'a', 'n', 'e', 's' };
+static const symbol s_2_1736[7] = { 'i', 's', 't', 'a', 'n', 'e', 's' };
+static const symbol s_2_1737[7] = { 'o', 's', 't', 'a', 'n', 'e', 's' };
+static const symbol s_2_1738[4] = { 'e', 't', 'e', 's' };
+static const symbol s_2_1739[5] = { 'a', 's', 't', 'e', 's' };
+static const symbol s_2_1740[2] = { 'i', 's' };
+static const symbol s_2_1741[4] = { 'a', 'c', 'i', 's' };
+static const symbol s_2_1742[5] = { 'l', 'u', 'c', 'i', 's' };
+static const symbol s_2_1743[3] = { 'n', 'i', 's' };
+static const symbol s_2_1744[5] = { 'r', 'o', 's', 'i', 's' };
+static const symbol s_2_1745[5] = { 'j', 'e', 't', 'i', 's' };
+static const symbol s_2_1746[2] = { 'a', 't' };
+static const symbol s_2_1747[4] = { 'a', 'c', 'a', 't' };
+static const symbol s_2_1748[7] = { 'a', 's', 't', 'a', 'j', 'a', 't' };
+static const symbol s_2_1749[7] = { 'i', 's', 't', 'a', 'j', 'a', 't' };
+static const symbol s_2_1750[7] = { 'o', 's', 't', 'a', 'j', 'a', 't' };
+static const symbol s_2_1751[5] = { 'i', 'n', 'j', 'a', 't' };
+static const symbol s_2_1752[4] = { 'i', 'r', 'a', 't' };
+static const symbol s_2_1753[4] = { 'u', 'r', 'a', 't' };
+static const symbol s_2_1754[3] = { 't', 'a', 't' };
+static const symbol s_2_1755[5] = { 'a', 's', 't', 'a', 't' };
+static const symbol s_2_1756[5] = { 'i', 's', 't', 'a', 't' };
+static const symbol s_2_1757[5] = { 'o', 's', 't', 'a', 't' };
+static const symbol s_2_1758[4] = { 'a', 'v', 'a', 't' };
+static const symbol s_2_1759[4] = { 'e', 'v', 'a', 't' };
+static const symbol s_2_1760[4] = { 'i', 'v', 'a', 't' };
+static const symbol s_2_1761[6] = { 'i', 'r', 'i', 'v', 'a', 't' };
+static const symbol s_2_1762[4] = { 'o', 'v', 'a', 't' };
+static const symbol s_2_1763[4] = { 'u', 'v', 'a', 't' };
+static const symbol s_2_1764[5] = { 'a', 0xC4, 0x8D, 'a', 't' };
+static const symbol s_2_1765[2] = { 'i', 't' };
+static const symbol s_2_1766[4] = { 'a', 'c', 'i', 't' };
+static const symbol s_2_1767[5] = { 'l', 'u', 'c', 'i', 't' };
+static const symbol s_2_1768[5] = { 'r', 'o', 's', 'i', 't' };
+static const symbol s_2_1769[5] = { 'j', 'e', 't', 'i', 't' };
+static const symbol s_2_1770[5] = { 'a', 0xC4, 0x8D, 'i', 't' };
+static const symbol s_2_1771[6] = { 'l', 'u', 0xC4, 0x8D, 'i', 't' };
+static const symbol s_2_1772[6] = { 'r', 'o', 0xC5, 0xA1, 'i', 't' };
+static const symbol s_2_1773[3] = { 'n', 'u', 't' };
+static const symbol s_2_1774[6] = { 'a', 's', 't', 'a', 'd', 'u' };
+static const symbol s_2_1775[6] = { 'i', 's', 't', 'a', 'd', 'u' };
+static const symbol s_2_1776[6] = { 'o', 's', 't', 'a', 'd', 'u' };
+static const symbol s_2_1777[2] = { 'g', 'u' };
+static const symbol s_2_1778[4] = { 'l', 'o', 'g', 'u' };
+static const symbol s_2_1779[3] = { 'u', 'g', 'u' };
+static const symbol s_2_1780[3] = { 'a', 'h', 'u' };
+static const symbol s_2_1781[5] = { 'a', 'c', 'a', 'h', 'u' };
+static const symbol s_2_1782[8] = { 'a', 's', 't', 'a', 'j', 'a', 'h', 'u' };
+static const symbol s_2_1783[8] = { 'i', 's', 't', 'a', 'j', 'a', 'h', 'u' };
+static const symbol s_2_1784[8] = { 'o', 's', 't', 'a', 'j', 'a', 'h', 'u' };
+static const symbol s_2_1785[6] = { 'i', 'n', 'j', 'a', 'h', 'u' };
+static const symbol s_2_1786[5] = { 'i', 'r', 'a', 'h', 'u' };
+static const symbol s_2_1787[5] = { 'u', 'r', 'a', 'h', 'u' };
+static const symbol s_2_1788[5] = { 'a', 'v', 'a', 'h', 'u' };
+static const symbol s_2_1789[5] = { 'e', 'v', 'a', 'h', 'u' };
+static const symbol s_2_1790[5] = { 'i', 'v', 'a', 'h', 'u' };
+static const symbol s_2_1791[5] = { 'o', 'v', 'a', 'h', 'u' };
+static const symbol s_2_1792[5] = { 'u', 'v', 'a', 'h', 'u' };
+static const symbol s_2_1793[6] = { 'a', 0xC4, 0x8D, 'a', 'h', 'u' };
+static const symbol s_2_1794[3] = { 'a', 'j', 'u' };
+static const symbol s_2_1795[4] = { 'c', 'a', 'j', 'u' };
+static const symbol s_2_1796[5] = { 'a', 'c', 'a', 'j', 'u' };
+static const symbol s_2_1797[4] = { 'l', 'a', 'j', 'u' };
+static const symbol s_2_1798[4] = { 'r', 'a', 'j', 'u' };
+static const symbol s_2_1799[5] = { 'i', 'r', 'a', 'j', 'u' };
+static const symbol s_2_1800[5] = { 'u', 'r', 'a', 'j', 'u' };
+static const symbol s_2_1801[4] = { 't', 'a', 'j', 'u' };
+static const symbol s_2_1802[6] = { 'a', 's', 't', 'a', 'j', 'u' };
+static const symbol s_2_1803[6] = { 'i', 's', 't', 'a', 'j', 'u' };
+static const symbol s_2_1804[6] = { 'o', 's', 't', 'a', 'j', 'u' };
+static const symbol s_2_1805[5] = { 'a', 'v', 'a', 'j', 'u' };
+static const symbol s_2_1806[5] = { 'e', 'v', 'a', 'j', 'u' };
+static const symbol s_2_1807[5] = { 'i', 'v', 'a', 'j', 'u' };
+static const symbol s_2_1808[5] = { 'u', 'v', 'a', 'j', 'u' };
+static const symbol s_2_1809[5] = { 0xC4, 0x87, 'a', 'j', 'u' };
+static const symbol s_2_1810[5] = { 0xC4, 0x8D, 'a', 'j', 'u' };
+static const symbol s_2_1811[6] = { 'a', 0xC4, 0x8D, 'a', 'j', 'u' };
+static const symbol s_2_1812[5] = { 0xC4, 0x91, 'a', 'j', 'u' };
+static const symbol s_2_1813[3] = { 'i', 'j', 'u' };
+static const symbol s_2_1814[4] = { 'b', 'i', 'j', 'u' };
+static const symbol s_2_1815[4] = { 'c', 'i', 'j', 'u' };
+static const symbol s_2_1816[4] = { 'd', 'i', 'j', 'u' };
+static const symbol s_2_1817[4] = { 'f', 'i', 'j', 'u' };
+static const symbol s_2_1818[4] = { 'g', 'i', 'j', 'u' };
+static const symbol s_2_1819[6] = { 'a', 'n', 'j', 'i', 'j', 'u' };
+static const symbol s_2_1820[6] = { 'e', 'n', 'j', 'i', 'j', 'u' };
+static const symbol s_2_1821[6] = { 's', 'n', 'j', 'i', 'j', 'u' };
+static const symbol s_2_1822[7] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'u' };
+static const symbol s_2_1823[4] = { 'k', 'i', 'j', 'u' };
+static const symbol s_2_1824[4] = { 'l', 'i', 'j', 'u' };
+static const symbol s_2_1825[5] = { 'e', 'l', 'i', 'j', 'u' };
+static const symbol s_2_1826[4] = { 'm', 'i', 'j', 'u' };
+static const symbol s_2_1827[4] = { 'n', 'i', 'j', 'u' };
+static const symbol s_2_1828[6] = { 'g', 'a', 'n', 'i', 'j', 'u' };
+static const symbol s_2_1829[6] = { 'm', 'a', 'n', 'i', 'j', 'u' };
+static const symbol s_2_1830[6] = { 'p', 'a', 'n', 'i', 'j', 'u' };
+static const symbol s_2_1831[6] = { 'r', 'a', 'n', 'i', 'j', 'u' };
+static const symbol s_2_1832[6] = { 't', 'a', 'n', 'i', 'j', 'u' };
+static const symbol s_2_1833[4] = { 'p', 'i', 'j', 'u' };
+static const symbol s_2_1834[4] = { 'r', 'i', 'j', 'u' };
+static const symbol s_2_1835[6] = { 'r', 'a', 'r', 'i', 'j', 'u' };
+static const symbol s_2_1836[4] = { 's', 'i', 'j', 'u' };
+static const symbol s_2_1837[5] = { 'o', 's', 'i', 'j', 'u' };
+static const symbol s_2_1838[4] = { 't', 'i', 'j', 'u' };
+static const symbol s_2_1839[5] = { 'a', 't', 'i', 'j', 'u' };
+static const symbol s_2_1840[5] = { 'o', 't', 'i', 'j', 'u' };
+static const symbol s_2_1841[5] = { 'a', 'v', 'i', 'j', 'u' };
+static const symbol s_2_1842[5] = { 'e', 'v', 'i', 'j', 'u' };
+static const symbol s_2_1843[5] = { 'i', 'v', 'i', 'j', 'u' };
+static const symbol s_2_1844[5] = { 'o', 'v', 'i', 'j', 'u' };
+static const symbol s_2_1845[4] = { 'z', 'i', 'j', 'u' };
+static const symbol s_2_1846[6] = { 'o', 0xC5, 0xA1, 'i', 'j', 'u' };
+static const symbol s_2_1847[5] = { 0xC5, 0xBE, 'i', 'j', 'u' };
+static const symbol s_2_1848[4] = { 'a', 'n', 'j', 'u' };
+static const symbol s_2_1849[4] = { 'e', 'n', 'j', 'u' };
+static const symbol s_2_1850[4] = { 's', 'n', 'j', 'u' };
+static const symbol s_2_1851[5] = { 0xC5, 0xA1, 'n', 'j', 'u' };
+static const symbol s_2_1852[3] = { 'u', 'j', 'u' };
+static const symbol s_2_1853[6] = { 'l', 'u', 'c', 'u', 'j', 'u' };
+static const symbol s_2_1854[5] = { 'i', 'r', 'u', 'j', 'u' };
+static const symbol s_2_1855[7] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'u' };
+static const symbol s_2_1856[2] = { 'k', 'u' };
+static const symbol s_2_1857[3] = { 's', 'k', 'u' };
+static const symbol s_2_1858[4] = { 0xC5, 0xA1, 'k', 'u' };
+static const symbol s_2_1859[3] = { 'a', 'l', 'u' };
+static const symbol s_2_1860[5] = { 'i', 'j', 'a', 'l', 'u' };
+static const symbol s_2_1861[4] = { 'n', 'a', 'l', 'u' };
+static const symbol s_2_1862[3] = { 'e', 'l', 'u' };
+static const symbol s_2_1863[3] = { 'i', 'l', 'u' };
+static const symbol s_2_1864[5] = { 'o', 'z', 'i', 'l', 'u' };
+static const symbol s_2_1865[3] = { 'o', 'l', 'u' };
+static const symbol s_2_1866[4] = { 'r', 'a', 'm', 'u' };
+static const symbol s_2_1867[5] = { 'a', 'c', 'e', 'm', 'u' };
+static const symbol s_2_1868[5] = { 'e', 'c', 'e', 'm', 'u' };
+static const symbol s_2_1869[5] = { 'u', 'c', 'e', 'm', 'u' };
+static const symbol s_2_1870[8] = { 'a', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1871[8] = { 'e', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1872[8] = { 's', 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1873[9] = { 0xC5, 0xA1, 'n', 'j', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1874[6] = { 'k', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1875[7] = { 's', 'k', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1876[8] = { 0xC5, 0xA1, 'k', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1877[7] = { 'e', 'l', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1878[6] = { 'n', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1879[7] = { 'o', 's', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1880[7] = { 'a', 't', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1881[9] = { 'e', 'v', 'i', 't', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1882[9] = { 'o', 'v', 'i', 't', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1883[8] = { 'a', 's', 't', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1884[7] = { 'a', 'v', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1885[7] = { 'e', 'v', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1886[7] = { 'i', 'v', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1887[7] = { 'o', 'v', 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1888[8] = { 'o', 0xC5, 0xA1, 'i', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1889[6] = { 'a', 'n', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1890[6] = { 'e', 'n', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1891[6] = { 's', 'n', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1892[7] = { 0xC5, 0xA1, 'n', 'j', 'e', 'm', 'u' };
+static const symbol s_2_1893[4] = { 'k', 'e', 'm', 'u' };
+static const symbol s_2_1894[5] = { 's', 'k', 'e', 'm', 'u' };
+static const symbol s_2_1895[6] = { 0xC5, 0xA1, 'k', 'e', 'm', 'u' };
+static const symbol s_2_1896[4] = { 'l', 'e', 'm', 'u' };
+static const symbol s_2_1897[5] = { 'e', 'l', 'e', 'm', 'u' };
+static const symbol s_2_1898[4] = { 'n', 'e', 'm', 'u' };
+static const symbol s_2_1899[5] = { 'a', 'n', 'e', 'm', 'u' };
+static const symbol s_2_1900[5] = { 'e', 'n', 'e', 'm', 'u' };
+static const symbol s_2_1901[5] = { 's', 'n', 'e', 'm', 'u' };
+static const symbol s_2_1902[6] = { 0xC5, 0xA1, 'n', 'e', 'm', 'u' };
+static const symbol s_2_1903[5] = { 'o', 's', 'e', 'm', 'u' };
+static const symbol s_2_1904[5] = { 'a', 't', 'e', 'm', 'u' };
+static const symbol s_2_1905[7] = { 'e', 'v', 'i', 't', 'e', 'm', 'u' };
+static const symbol s_2_1906[7] = { 'o', 'v', 'i', 't', 'e', 'm', 'u' };
+static const symbol s_2_1907[6] = { 'a', 's', 't', 'e', 'm', 'u' };
+static const symbol s_2_1908[5] = { 'a', 'v', 'e', 'm', 'u' };
+static const symbol s_2_1909[5] = { 'e', 'v', 'e', 'm', 'u' };
+static const symbol s_2_1910[5] = { 'i', 'v', 'e', 'm', 'u' };
+static const symbol s_2_1911[5] = { 'o', 'v', 'e', 'm', 'u' };
+static const symbol s_2_1912[6] = { 'a', 0xC4, 0x87, 'e', 'm', 'u' };
+static const symbol s_2_1913[6] = { 'e', 0xC4, 0x87, 'e', 'm', 'u' };
+static const symbol s_2_1914[6] = { 'u', 0xC4, 0x87, 'e', 'm', 'u' };
+static const symbol s_2_1915[6] = { 'o', 0xC5, 0xA1, 'e', 'm', 'u' };
+static const symbol s_2_1916[5] = { 'a', 'c', 'o', 'm', 'u' };
+static const symbol s_2_1917[5] = { 'e', 'c', 'o', 'm', 'u' };
+static const symbol s_2_1918[5] = { 'u', 'c', 'o', 'm', 'u' };
+static const symbol s_2_1919[6] = { 'a', 'n', 'j', 'o', 'm', 'u' };
+static const symbol s_2_1920[6] = { 'e', 'n', 'j', 'o', 'm', 'u' };
+static const symbol s_2_1921[6] = { 's', 'n', 'j', 'o', 'm', 'u' };
+static const symbol s_2_1922[7] = { 0xC5, 0xA1, 'n', 'j', 'o', 'm', 'u' };
+static const symbol s_2_1923[4] = { 'k', 'o', 'm', 'u' };
+static const symbol s_2_1924[5] = { 's', 'k', 'o', 'm', 'u' };
+static const symbol s_2_1925[6] = { 0xC5, 0xA1, 'k', 'o', 'm', 'u' };
+static const symbol s_2_1926[5] = { 'e', 'l', 'o', 'm', 'u' };
+static const symbol s_2_1927[4] = { 'n', 'o', 'm', 'u' };
+static const symbol s_2_1928[6] = { 'c', 'i', 'n', 'o', 'm', 'u' };
+static const symbol s_2_1929[7] = { 0xC4, 0x8D, 'i', 'n', 'o', 'm', 'u' };
+static const symbol s_2_1930[5] = { 'o', 's', 'o', 'm', 'u' };
+static const symbol s_2_1931[5] = { 'a', 't', 'o', 'm', 'u' };
+static const symbol s_2_1932[7] = { 'e', 'v', 'i', 't', 'o', 'm', 'u' };
+static const symbol s_2_1933[7] = { 'o', 'v', 'i', 't', 'o', 'm', 'u' };
+static const symbol s_2_1934[6] = { 'a', 's', 't', 'o', 'm', 'u' };
+static const symbol s_2_1935[5] = { 'a', 'v', 'o', 'm', 'u' };
+static const symbol s_2_1936[5] = { 'e', 'v', 'o', 'm', 'u' };
+static const symbol s_2_1937[5] = { 'i', 'v', 'o', 'm', 'u' };
+static const symbol s_2_1938[5] = { 'o', 'v', 'o', 'm', 'u' };
+static const symbol s_2_1939[6] = { 'a', 0xC4, 0x87, 'o', 'm', 'u' };
+static const symbol s_2_1940[6] = { 'e', 0xC4, 0x87, 'o', 'm', 'u' };
+static const symbol s_2_1941[6] = { 'u', 0xC4, 0x87, 'o', 'm', 'u' };
+static const symbol s_2_1942[6] = { 'o', 0xC5, 0xA1, 'o', 'm', 'u' };
+static const symbol s_2_1943[2] = { 'n', 'u' };
+static const symbol s_2_1944[3] = { 'a', 'n', 'u' };
+static const symbol s_2_1945[6] = { 'a', 's', 't', 'a', 'n', 'u' };
+static const symbol s_2_1946[6] = { 'i', 's', 't', 'a', 'n', 'u' };
+static const symbol s_2_1947[6] = { 'o', 's', 't', 'a', 'n', 'u' };
+static const symbol s_2_1948[3] = { 'i', 'n', 'u' };
+static const symbol s_2_1949[4] = { 'c', 'i', 'n', 'u' };
+static const symbol s_2_1950[5] = { 'a', 'n', 'i', 'n', 'u' };
+static const symbol s_2_1951[5] = { 0xC4, 0x8D, 'i', 'n', 'u' };
+static const symbol s_2_1952[3] = { 'o', 'n', 'u' };
+static const symbol s_2_1953[3] = { 'a', 'r', 'u' };
+static const symbol s_2_1954[3] = { 'd', 'r', 'u' };
+static const symbol s_2_1955[3] = { 'e', 'r', 'u' };
+static const symbol s_2_1956[3] = { 'o', 'r', 'u' };
+static const symbol s_2_1957[4] = { 'b', 'a', 's', 'u' };
+static const symbol s_2_1958[4] = { 'g', 'a', 's', 'u' };
+static const symbol s_2_1959[4] = { 'j', 'a', 's', 'u' };
+static const symbol s_2_1960[4] = { 'k', 'a', 's', 'u' };
+static const symbol s_2_1961[4] = { 'n', 'a', 's', 'u' };
+static const symbol s_2_1962[4] = { 't', 'a', 's', 'u' };
+static const symbol s_2_1963[4] = { 'v', 'a', 's', 'u' };
+static const symbol s_2_1964[3] = { 'e', 's', 'u' };
+static const symbol s_2_1965[3] = { 'i', 's', 'u' };
+static const symbol s_2_1966[3] = { 'o', 's', 'u' };
+static const symbol s_2_1967[3] = { 'a', 't', 'u' };
+static const symbol s_2_1968[5] = { 'i', 'k', 'a', 't', 'u' };
+static const symbol s_2_1969[4] = { 'l', 'a', 't', 'u' };
+static const symbol s_2_1970[3] = { 'e', 't', 'u' };
+static const symbol s_2_1971[5] = { 'e', 'v', 'i', 't', 'u' };
+static const symbol s_2_1972[5] = { 'o', 'v', 'i', 't', 'u' };
+static const symbol s_2_1973[4] = { 'a', 's', 't', 'u' };
+static const symbol s_2_1974[4] = { 'e', 's', 't', 'u' };
+static const symbol s_2_1975[4] = { 'i', 's', 't', 'u' };
+static const symbol s_2_1976[4] = { 'k', 's', 't', 'u' };
+static const symbol s_2_1977[4] = { 'o', 's', 't', 'u' };
+static const symbol s_2_1978[5] = { 'i', 0xC5, 0xA1, 't', 'u' };
+static const symbol s_2_1979[3] = { 'a', 'v', 'u' };
+static const symbol s_2_1980[3] = { 'e', 'v', 'u' };
+static const symbol s_2_1981[3] = { 'i', 'v', 'u' };
+static const symbol s_2_1982[3] = { 'o', 'v', 'u' };
+static const symbol s_2_1983[4] = { 'l', 'o', 'v', 'u' };
+static const symbol s_2_1984[4] = { 'm', 'o', 'v', 'u' };
+static const symbol s_2_1985[4] = { 's', 't', 'v', 'u' };
+static const symbol s_2_1986[5] = { 0xC5, 0xA1, 't', 'v', 'u' };
+static const symbol s_2_1987[5] = { 'b', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1988[5] = { 'g', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1989[5] = { 'j', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1990[5] = { 'k', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1991[5] = { 'n', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1992[5] = { 't', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1993[5] = { 'v', 'a', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1994[4] = { 'e', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1995[4] = { 'i', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1996[4] = { 'o', 0xC5, 0xA1, 'u' };
+static const symbol s_2_1997[4] = { 'a', 'v', 'a', 'v' };
+static const symbol s_2_1998[4] = { 'e', 'v', 'a', 'v' };
+static const symbol s_2_1999[4] = { 'i', 'v', 'a', 'v' };
+static const symbol s_2_2000[4] = { 'u', 'v', 'a', 'v' };
+static const symbol s_2_2001[3] = { 'k', 'o', 'v' };
+static const symbol s_2_2002[3] = { 'a', 0xC5, 0xA1 };
+static const symbol s_2_2003[5] = { 'i', 'r', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2004[5] = { 'u', 'r', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2005[4] = { 't', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2006[5] = { 'a', 'v', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2007[5] = { 'e', 'v', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2008[5] = { 'i', 'v', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2009[5] = { 'u', 'v', 'a', 0xC5, 0xA1 };
+static const symbol s_2_2010[6] = { 'a', 0xC4, 0x8D, 'a', 0xC5, 0xA1 };
+static const symbol s_2_2011[3] = { 'e', 0xC5, 0xA1 };
+static const symbol s_2_2012[8] = { 'a', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2013[8] = { 'i', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2014[8] = { 'o', 's', 't', 'a', 'd', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2015[8] = { 'a', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2016[8] = { 'i', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2017[8] = { 'o', 's', 't', 'a', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2018[5] = { 'i', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2019[6] = { 'i', 'n', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2020[5] = { 'u', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2021[7] = { 'i', 'r', 'u', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2022[9] = { 'l', 'u', 0xC4, 0x8D, 'u', 'j', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2023[4] = { 'n', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2024[8] = { 'a', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2025[8] = { 'i', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2026[8] = { 'o', 's', 't', 'a', 'n', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2027[5] = { 'e', 't', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2028[6] = { 'a', 's', 't', 'e', 0xC5, 0xA1 };
+static const symbol s_2_2029[3] = { 'i', 0xC5, 0xA1 };
+static const symbol s_2_2030[4] = { 'n', 'i', 0xC5, 0xA1 };
+static const symbol s_2_2031[6] = { 'j', 'e', 't', 'i', 0xC5, 0xA1 };
+static const symbol s_2_2032[6] = { 'a', 0xC4, 0x8D, 'i', 0xC5, 0xA1 };
+static const symbol s_2_2033[7] = { 'l', 'u', 0xC4, 0x8D, 'i', 0xC5, 0xA1 };
+static const symbol s_2_2034[7] = { 'r', 'o', 0xC5, 0xA1, 'i', 0xC5, 0xA1 };
+static const struct among a_2[2035] = {
+{ 3, s_2_0, 0, 124, 0},
+{ 3, s_2_1, 0, 125, 0},
+{ 3, s_2_2, 0, 126, 0},
+{ 2, s_2_3, 0, 20, 0},
+{ 5, s_2_4, -1, 124, 0},
+{ 5, s_2_5, -2, 125, 0},
+{ 5, s_2_6, -3, 126, 0},
+{ 8, s_2_7, -4, 84, 0},
+{ 8, s_2_8, -5, 85, 0},
+{ 8, s_2_9, -6, 122, 0},
+{ 9, s_2_10, -7, 86, 0},
+{ 6, s_2_11, -8, 95, 0},
+{ 7, s_2_12, -1, 1, 0},
+{ 8, s_2_13, -2, 2, 0},
+{ 7, s_2_14, -11, 83, 0},
+{ 6, s_2_15, -12, 13, 0},
+{ 7, s_2_16, -13, 123, 0},
+{ 7, s_2_17, -14, 120, 0},
+{ 9, s_2_18, -15, 92, 0},
+{ 9, s_2_19, -16, 93, 0},
+{ 8, s_2_20, -17, 94, 0},
+{ 7, s_2_21, -18, 77, 0},
+{ 7, s_2_22, -19, 78, 0},
+{ 7, s_2_23, -20, 79, 0},
+{ 7, s_2_24, -21, 80, 0},
+{ 8, s_2_25, -22, 91, 0},
+{ 6, s_2_26, -23, 84, 0},
+{ 6, s_2_27, -24, 85, 0},
+{ 6, s_2_28, -25, 122, 0},
+{ 7, s_2_29, -26, 86, 0},
+{ 4, s_2_30, -27, 95, 0},
+{ 5, s_2_31, -1, 1, 0},
+{ 6, s_2_32, -2, 2, 0},
+{ 5, s_2_33, -30, 83, 0},
+{ 4, s_2_34, -31, 13, 0},
+{ 5, s_2_35, -1, 10, 0},
+{ 5, s_2_36, -2, 87, 0},
+{ 5, s_2_37, -3, 159, 0},
+{ 6, s_2_38, -4, 88, 0},
+{ 5, s_2_39, -36, 123, 0},
+{ 5, s_2_40, -37, 120, 0},
+{ 7, s_2_41, -38, 92, 0},
+{ 7, s_2_42, -39, 93, 0},
+{ 6, s_2_43, -40, 94, 0},
+{ 5, s_2_44, -41, 77, 0},
+{ 5, s_2_45, -42, 78, 0},
+{ 5, s_2_46, -43, 79, 0},
+{ 5, s_2_47, -44, 80, 0},
+{ 6, s_2_48, -45, 14, 0},
+{ 6, s_2_49, -46, 15, 0},
+{ 6, s_2_50, -47, 16, 0},
+{ 6, s_2_51, -48, 91, 0},
+{ 5, s_2_52, -49, 124, 0},
+{ 5, s_2_53, -50, 125, 0},
+{ 5, s_2_54, -51, 126, 0},
+{ 6, s_2_55, -52, 84, 0},
+{ 6, s_2_56, -53, 85, 0},
+{ 6, s_2_57, -54, 122, 0},
+{ 7, s_2_58, -55, 86, 0},
+{ 4, s_2_59, -56, 95, 0},
+{ 5, s_2_60, -1, 1, 0},
+{ 6, s_2_61, -2, 2, 0},
+{ 4, s_2_62, -59, 19, 0},
+{ 5, s_2_63, -1, 83, 0},
+{ 4, s_2_64, -61, 13, 0},
+{ 6, s_2_65, -1, 137, 0},
+{ 7, s_2_66, -2, 89, 0},
+{ 5, s_2_67, -64, 123, 0},
+{ 5, s_2_68, -65, 120, 0},
+{ 7, s_2_69, -66, 92, 0},
+{ 7, s_2_70, -67, 93, 0},
+{ 6, s_2_71, -68, 94, 0},
+{ 5, s_2_72, -69, 77, 0},
+{ 5, s_2_73, -70, 78, 0},
+{ 5, s_2_74, -71, 79, 0},
+{ 5, s_2_75, -72, 80, 0},
+{ 6, s_2_76, -73, 14, 0},
+{ 6, s_2_77, -74, 15, 0},
+{ 6, s_2_78, -75, 16, 0},
+{ 6, s_2_79, -76, 91, 0},
+{ 3, s_2_80, -77, 18, 0},
+{ 3, s_2_81, 0, 109, 0},
+{ 4, s_2_82, -1, 26, 0},
+{ 4, s_2_83, -2, 30, 0},
+{ 4, s_2_84, -3, 31, 0},
+{ 5, s_2_85, -4, 28, 0},
+{ 5, s_2_86, -5, 27, 0},
+{ 5, s_2_87, -6, 29, 0},
+{ 4, s_2_88, 0, 32, 0},
+{ 4, s_2_89, 0, 33, 0},
+{ 4, s_2_90, 0, 34, 0},
+{ 4, s_2_91, 0, 40, 0},
+{ 4, s_2_92, 0, 39, 0},
+{ 6, s_2_93, 0, 84, 0},
+{ 6, s_2_94, 0, 85, 0},
+{ 6, s_2_95, 0, 122, 0},
+{ 7, s_2_96, 0, 86, 0},
+{ 4, s_2_97, 0, 95, 0},
+{ 5, s_2_98, -1, 1, 0},
+{ 6, s_2_99, -2, 2, 0},
+{ 4, s_2_100, 0, 24, 0},
+{ 5, s_2_101, -1, 83, 0},
+{ 4, s_2_102, 0, 37, 0},
+{ 4, s_2_103, 0, 13, 0},
+{ 6, s_2_104, -1, 9, 0},
+{ 6, s_2_105, -2, 6, 0},
+{ 6, s_2_106, -3, 7, 0},
+{ 6, s_2_107, -4, 8, 0},
+{ 6, s_2_108, -5, 5, 0},
+{ 4, s_2_109, 0, 41, 0},
+{ 4, s_2_110, 0, 42, 0},
+{ 6, s_2_111, -1, 21, 0},
+{ 4, s_2_112, 0, 23, 0},
+{ 5, s_2_113, -1, 123, 0},
+{ 4, s_2_114, 0, 44, 0},
+{ 5, s_2_115, -1, 120, 0},
+{ 7, s_2_116, -2, 92, 0},
+{ 7, s_2_117, -3, 93, 0},
+{ 5, s_2_118, -4, 22, 0},
+{ 6, s_2_119, -5, 94, 0},
+{ 5, s_2_120, 0, 77, 0},
+{ 5, s_2_121, 0, 78, 0},
+{ 5, s_2_122, 0, 79, 0},
+{ 5, s_2_123, 0, 80, 0},
+{ 4, s_2_124, 0, 45, 0},
+{ 6, s_2_125, 0, 91, 0},
+{ 5, s_2_126, 0, 38, 0},
+{ 4, s_2_127, 0, 84, 0},
+{ 4, s_2_128, 0, 85, 0},
+{ 4, s_2_129, 0, 122, 0},
+{ 5, s_2_130, 0, 86, 0},
+{ 2, s_2_131, 0, 95, 0},
+{ 3, s_2_132, -1, 1, 0},
+{ 4, s_2_133, -2, 2, 0},
+{ 3, s_2_134, 0, 104, 0},
+{ 5, s_2_135, -1, 128, 0},
+{ 8, s_2_136, -2, 106, 0},
+{ 8, s_2_137, -3, 107, 0},
+{ 8, s_2_138, -4, 108, 0},
+{ 5, s_2_139, -5, 47, 0},
+{ 6, s_2_140, -6, 114, 0},
+{ 4, s_2_141, -7, 46, 0},
+{ 5, s_2_142, -8, 100, 0},
+{ 5, s_2_143, -9, 105, 0},
+{ 4, s_2_144, -10, 113, 0},
+{ 6, s_2_145, -1, 110, 0},
+{ 6, s_2_146, -2, 111, 0},
+{ 6, s_2_147, -3, 112, 0},
+{ 5, s_2_148, -14, 97, 0},
+{ 5, s_2_149, -15, 96, 0},
+{ 5, s_2_150, -16, 98, 0},
+{ 5, s_2_151, -17, 76, 0},
+{ 5, s_2_152, -18, 99, 0},
+{ 6, s_2_153, -19, 102, 0},
+{ 3, s_2_154, 0, 83, 0},
+{ 3, s_2_155, 0, 116, 0},
+{ 5, s_2_156, -1, 124, 0},
+{ 6, s_2_157, -2, 121, 0},
+{ 4, s_2_158, -3, 103, 0},
+{ 8, s_2_159, -1, 110, 0},
+{ 8, s_2_160, -2, 111, 0},
+{ 8, s_2_161, -3, 112, 0},
+{ 6, s_2_162, -7, 127, 0},
+{ 6, s_2_163, -8, 118, 0},
+{ 5, s_2_164, -9, 48, 0},
+{ 6, s_2_165, -10, 101, 0},
+{ 7, s_2_166, -11, 117, 0},
+{ 7, s_2_167, -12, 90, 0},
+{ 3, s_2_168, 0, 50, 0},
+{ 4, s_2_169, 0, 115, 0},
+{ 4, s_2_170, 0, 13, 0},
+{ 4, s_2_171, 0, 20, 0},
+{ 6, s_2_172, -1, 19, 0},
+{ 5, s_2_173, -2, 18, 0},
+{ 5, s_2_174, 0, 109, 0},
+{ 6, s_2_175, -1, 26, 0},
+{ 6, s_2_176, -2, 30, 0},
+{ 6, s_2_177, -3, 31, 0},
+{ 7, s_2_178, -4, 28, 0},
+{ 7, s_2_179, -5, 27, 0},
+{ 7, s_2_180, -6, 29, 0},
+{ 6, s_2_181, 0, 32, 0},
+{ 6, s_2_182, 0, 33, 0},
+{ 6, s_2_183, 0, 34, 0},
+{ 6, s_2_184, 0, 40, 0},
+{ 6, s_2_185, 0, 39, 0},
+{ 6, s_2_186, 0, 35, 0},
+{ 6, s_2_187, 0, 37, 0},
+{ 6, s_2_188, 0, 36, 0},
+{ 8, s_2_189, -1, 9, 0},
+{ 8, s_2_190, -2, 6, 0},
+{ 8, s_2_191, -3, 7, 0},
+{ 8, s_2_192, -4, 8, 0},
+{ 8, s_2_193, -5, 5, 0},
+{ 6, s_2_194, 0, 41, 0},
+{ 6, s_2_195, 0, 42, 0},
+{ 6, s_2_196, 0, 43, 0},
+{ 6, s_2_197, 0, 44, 0},
+{ 6, s_2_198, 0, 45, 0},
+{ 7, s_2_199, 0, 38, 0},
+{ 5, s_2_200, 0, 104, 0},
+{ 7, s_2_201, -1, 47, 0},
+{ 6, s_2_202, -2, 46, 0},
+{ 5, s_2_203, 0, 119, 0},
+{ 5, s_2_204, 0, 116, 0},
+{ 6, s_2_205, 0, 52, 0},
+{ 6, s_2_206, 0, 51, 0},
+{ 5, s_2_207, 0, 11, 0},
+{ 6, s_2_208, -1, 137, 0},
+{ 7, s_2_209, -2, 89, 0},
+{ 4, s_2_210, 0, 52, 0},
+{ 5, s_2_211, -1, 53, 0},
+{ 5, s_2_212, -2, 54, 0},
+{ 5, s_2_213, -3, 55, 0},
+{ 5, s_2_214, -4, 56, 0},
+{ 6, s_2_215, 0, 135, 0},
+{ 6, s_2_216, 0, 131, 0},
+{ 6, s_2_217, 0, 129, 0},
+{ 6, s_2_218, 0, 133, 0},
+{ 6, s_2_219, 0, 132, 0},
+{ 6, s_2_220, 0, 130, 0},
+{ 6, s_2_221, 0, 134, 0},
+{ 5, s_2_222, 0, 152, 0},
+{ 5, s_2_223, 0, 154, 0},
+{ 5, s_2_224, 0, 70, 0},
+{ 6, s_2_225, 0, 71, 0},
+{ 6, s_2_226, 0, 72, 0},
+{ 6, s_2_227, 0, 73, 0},
+{ 6, s_2_228, 0, 74, 0},
+{ 5, s_2_229, 0, 77, 0},
+{ 5, s_2_230, 0, 78, 0},
+{ 5, s_2_231, 0, 79, 0},
+{ 7, s_2_232, 0, 63, 0},
+{ 7, s_2_233, 0, 64, 0},
+{ 7, s_2_234, 0, 61, 0},
+{ 7, s_2_235, 0, 62, 0},
+{ 7, s_2_236, 0, 60, 0},
+{ 7, s_2_237, 0, 59, 0},
+{ 7, s_2_238, 0, 65, 0},
+{ 6, s_2_239, 0, 66, 0},
+{ 6, s_2_240, 0, 67, 0},
+{ 4, s_2_241, 0, 51, 0},
+{ 5, s_2_242, 0, 124, 0},
+{ 5, s_2_243, 0, 125, 0},
+{ 5, s_2_244, 0, 126, 0},
+{ 5, s_2_245, 0, 109, 0},
+{ 6, s_2_246, -1, 26, 0},
+{ 6, s_2_247, -2, 30, 0},
+{ 6, s_2_248, -3, 31, 0},
+{ 7, s_2_249, -4, 28, 0},
+{ 7, s_2_250, -5, 27, 0},
+{ 7, s_2_251, -6, 29, 0},
+{ 6, s_2_252, 0, 32, 0},
+{ 6, s_2_253, 0, 33, 0},
+{ 6, s_2_254, 0, 34, 0},
+{ 6, s_2_255, 0, 40, 0},
+{ 6, s_2_256, 0, 39, 0},
+{ 8, s_2_257, 0, 84, 0},
+{ 8, s_2_258, 0, 85, 0},
+{ 8, s_2_259, 0, 122, 0},
+{ 9, s_2_260, 0, 86, 0},
+{ 6, s_2_261, 0, 95, 0},
+{ 7, s_2_262, -1, 1, 0},
+{ 8, s_2_263, -2, 2, 0},
+{ 6, s_2_264, 0, 35, 0},
+{ 7, s_2_265, -1, 83, 0},
+{ 6, s_2_266, 0, 37, 0},
+{ 6, s_2_267, 0, 13, 0},
+{ 8, s_2_268, -1, 9, 0},
+{ 8, s_2_269, -2, 6, 0},
+{ 8, s_2_270, -3, 7, 0},
+{ 8, s_2_271, -4, 8, 0},
+{ 8, s_2_272, -5, 5, 0},
+{ 6, s_2_273, 0, 41, 0},
+{ 6, s_2_274, 0, 42, 0},
+{ 6, s_2_275, 0, 43, 0},
+{ 7, s_2_276, -1, 123, 0},
+{ 6, s_2_277, 0, 44, 0},
+{ 7, s_2_278, -1, 120, 0},
+{ 9, s_2_279, -2, 92, 0},
+{ 9, s_2_280, -3, 93, 0},
+{ 8, s_2_281, -4, 94, 0},
+{ 7, s_2_282, 0, 77, 0},
+{ 7, s_2_283, 0, 78, 0},
+{ 7, s_2_284, 0, 79, 0},
+{ 7, s_2_285, 0, 80, 0},
+{ 6, s_2_286, 0, 45, 0},
+{ 8, s_2_287, 0, 91, 0},
+{ 7, s_2_288, 0, 38, 0},
+{ 6, s_2_289, 0, 84, 0},
+{ 6, s_2_290, 0, 85, 0},
+{ 6, s_2_291, 0, 122, 0},
+{ 7, s_2_292, 0, 86, 0},
+{ 4, s_2_293, 0, 95, 0},
+{ 5, s_2_294, -1, 1, 0},
+{ 6, s_2_295, -2, 2, 0},
+{ 5, s_2_296, 0, 104, 0},
+{ 7, s_2_297, -1, 47, 0},
+{ 6, s_2_298, -2, 46, 0},
+{ 5, s_2_299, 0, 83, 0},
+{ 5, s_2_300, 0, 116, 0},
+{ 7, s_2_301, -1, 48, 0},
+{ 5, s_2_302, 0, 50, 0},
+{ 6, s_2_303, 0, 51, 0},
+{ 4, s_2_304, 0, 13, 0},
+{ 5, s_2_305, -1, 10, 0},
+{ 5, s_2_306, -2, 11, 0},
+{ 6, s_2_307, -1, 137, 0},
+{ 7, s_2_308, -2, 89, 0},
+{ 5, s_2_309, -5, 12, 0},
+{ 5, s_2_310, 0, 53, 0},
+{ 5, s_2_311, 0, 54, 0},
+{ 5, s_2_312, 0, 55, 0},
+{ 5, s_2_313, 0, 56, 0},
+{ 6, s_2_314, 0, 135, 0},
+{ 6, s_2_315, 0, 131, 0},
+{ 6, s_2_316, 0, 129, 0},
+{ 6, s_2_317, 0, 133, 0},
+{ 6, s_2_318, 0, 132, 0},
+{ 6, s_2_319, 0, 130, 0},
+{ 6, s_2_320, 0, 134, 0},
+{ 5, s_2_321, 0, 57, 0},
+{ 5, s_2_322, 0, 58, 0},
+{ 5, s_2_323, 0, 123, 0},
+{ 5, s_2_324, 0, 120, 0},
+{ 7, s_2_325, -1, 68, 0},
+{ 6, s_2_326, -2, 69, 0},
+{ 5, s_2_327, 0, 70, 0},
+{ 7, s_2_328, 0, 92, 0},
+{ 7, s_2_329, 0, 93, 0},
+{ 6, s_2_330, 0, 94, 0},
+{ 6, s_2_331, 0, 71, 0},
+{ 6, s_2_332, 0, 72, 0},
+{ 6, s_2_333, 0, 73, 0},
+{ 6, s_2_334, 0, 74, 0},
+{ 7, s_2_335, 0, 75, 0},
+{ 5, s_2_336, 0, 77, 0},
+{ 5, s_2_337, 0, 78, 0},
+{ 7, s_2_338, -1, 109, 0},
+{ 8, s_2_339, -1, 26, 0},
+{ 8, s_2_340, -2, 30, 0},
+{ 8, s_2_341, -3, 31, 0},
+{ 9, s_2_342, -4, 28, 0},
+{ 9, s_2_343, -5, 27, 0},
+{ 9, s_2_344, -6, 29, 0},
+{ 5, s_2_345, 0, 79, 0},
+{ 5, s_2_346, 0, 80, 0},
+{ 6, s_2_347, -1, 20, 0},
+{ 7, s_2_348, -1, 17, 0},
+{ 6, s_2_349, -3, 82, 0},
+{ 7, s_2_350, -1, 49, 0},
+{ 6, s_2_351, -5, 81, 0},
+{ 7, s_2_352, -6, 12, 0},
+{ 6, s_2_353, 0, 3, 0},
+{ 7, s_2_354, 0, 4, 0},
+{ 6, s_2_355, 0, 14, 0},
+{ 6, s_2_356, 0, 15, 0},
+{ 6, s_2_357, 0, 16, 0},
+{ 7, s_2_358, 0, 63, 0},
+{ 7, s_2_359, 0, 64, 0},
+{ 7, s_2_360, 0, 61, 0},
+{ 7, s_2_361, 0, 62, 0},
+{ 7, s_2_362, 0, 60, 0},
+{ 7, s_2_363, 0, 59, 0},
+{ 7, s_2_364, 0, 65, 0},
+{ 6, s_2_365, 0, 66, 0},
+{ 6, s_2_366, 0, 67, 0},
+{ 6, s_2_367, 0, 91, 0},
+{ 2, s_2_368, 0, 13, 0},
+{ 3, s_2_369, -1, 10, 0},
+{ 5, s_2_370, -1, 128, 0},
+{ 5, s_2_371, -2, 105, 0},
+{ 4, s_2_372, -3, 113, 0},
+{ 5, s_2_373, -4, 97, 0},
+{ 5, s_2_374, -5, 96, 0},
+{ 5, s_2_375, -6, 98, 0},
+{ 5, s_2_376, -7, 99, 0},
+{ 6, s_2_377, -8, 102, 0},
+{ 5, s_2_378, -10, 124, 0},
+{ 6, s_2_379, -11, 121, 0},
+{ 6, s_2_380, -12, 101, 0},
+{ 7, s_2_381, -13, 117, 0},
+{ 3, s_2_382, -14, 11, 0},
+{ 4, s_2_383, -1, 137, 0},
+{ 5, s_2_384, -2, 10, 0},
+{ 5, s_2_385, -3, 89, 0},
+{ 3, s_2_386, -18, 12, 0},
+{ 3, s_2_387, 0, 53, 0},
+{ 3, s_2_388, 0, 54, 0},
+{ 3, s_2_389, 0, 55, 0},
+{ 3, s_2_390, 0, 56, 0},
+{ 4, s_2_391, 0, 135, 0},
+{ 4, s_2_392, 0, 131, 0},
+{ 4, s_2_393, 0, 129, 0},
+{ 4, s_2_394, 0, 133, 0},
+{ 4, s_2_395, 0, 132, 0},
+{ 4, s_2_396, 0, 130, 0},
+{ 4, s_2_397, 0, 134, 0},
+{ 3, s_2_398, 0, 57, 0},
+{ 3, s_2_399, 0, 58, 0},
+{ 3, s_2_400, 0, 123, 0},
+{ 3, s_2_401, 0, 120, 0},
+{ 5, s_2_402, -1, 68, 0},
+{ 4, s_2_403, -2, 69, 0},
+{ 3, s_2_404, 0, 70, 0},
+{ 5, s_2_405, 0, 92, 0},
+{ 5, s_2_406, 0, 93, 0},
+{ 4, s_2_407, 0, 94, 0},
+{ 4, s_2_408, 0, 71, 0},
+{ 4, s_2_409, 0, 72, 0},
+{ 4, s_2_410, 0, 73, 0},
+{ 4, s_2_411, 0, 74, 0},
+{ 4, s_2_412, 0, 13, 0},
+{ 5, s_2_413, 0, 75, 0},
+{ 3, s_2_414, 0, 77, 0},
+{ 3, s_2_415, 0, 78, 0},
+{ 5, s_2_416, -1, 109, 0},
+{ 6, s_2_417, -1, 26, 0},
+{ 6, s_2_418, -2, 30, 0},
+{ 6, s_2_419, -3, 31, 0},
+{ 7, s_2_420, -4, 28, 0},
+{ 7, s_2_421, -5, 27, 0},
+{ 7, s_2_422, -6, 29, 0},
+{ 3, s_2_423, 0, 79, 0},
+{ 3, s_2_424, 0, 80, 0},
+{ 4, s_2_425, -1, 20, 0},
+{ 5, s_2_426, -1, 17, 0},
+{ 4, s_2_427, -3, 82, 0},
+{ 5, s_2_428, -1, 49, 0},
+{ 4, s_2_429, -5, 81, 0},
+{ 5, s_2_430, -6, 12, 0},
+{ 4, s_2_431, 0, 3, 0},
+{ 5, s_2_432, 0, 4, 0},
+{ 4, s_2_433, 0, 14, 0},
+{ 4, s_2_434, 0, 15, 0},
+{ 4, s_2_435, 0, 16, 0},
+{ 5, s_2_436, 0, 63, 0},
+{ 5, s_2_437, 0, 64, 0},
+{ 5, s_2_438, 0, 61, 0},
+{ 5, s_2_439, 0, 62, 0},
+{ 5, s_2_440, 0, 60, 0},
+{ 5, s_2_441, 0, 59, 0},
+{ 5, s_2_442, 0, 65, 0},
+{ 4, s_2_443, 0, 66, 0},
+{ 4, s_2_444, 0, 67, 0},
+{ 4, s_2_445, 0, 91, 0},
+{ 3, s_2_446, 0, 124, 0},
+{ 3, s_2_447, 0, 125, 0},
+{ 3, s_2_448, 0, 126, 0},
+{ 4, s_2_449, -1, 121, 0},
+{ 6, s_2_450, 0, 110, 0},
+{ 6, s_2_451, 0, 111, 0},
+{ 6, s_2_452, 0, 112, 0},
+{ 2, s_2_453, 0, 20, 0},
+{ 4, s_2_454, -1, 19, 0},
+{ 3, s_2_455, -2, 18, 0},
+{ 3, s_2_456, 0, 104, 0},
+{ 4, s_2_457, -1, 26, 0},
+{ 4, s_2_458, -2, 30, 0},
+{ 4, s_2_459, -3, 31, 0},
+{ 6, s_2_460, -4, 106, 0},
+{ 6, s_2_461, -5, 107, 0},
+{ 6, s_2_462, -6, 108, 0},
+{ 5, s_2_463, -7, 28, 0},
+{ 5, s_2_464, -8, 27, 0},
+{ 5, s_2_465, -9, 29, 0},
+{ 3, s_2_466, 0, 116, 0},
+{ 4, s_2_467, -1, 32, 0},
+{ 4, s_2_468, -2, 33, 0},
+{ 4, s_2_469, -3, 34, 0},
+{ 4, s_2_470, -4, 40, 0},
+{ 4, s_2_471, -5, 39, 0},
+{ 6, s_2_472, -6, 84, 0},
+{ 6, s_2_473, -7, 85, 0},
+{ 6, s_2_474, -8, 122, 0},
+{ 7, s_2_475, -9, 86, 0},
+{ 4, s_2_476, -10, 95, 0},
+{ 5, s_2_477, -1, 1, 0},
+{ 6, s_2_478, -2, 2, 0},
+{ 4, s_2_479, -13, 35, 0},
+{ 5, s_2_480, -1, 83, 0},
+{ 4, s_2_481, -15, 37, 0},
+{ 4, s_2_482, -16, 13, 0},
+{ 6, s_2_483, -1, 9, 0},
+{ 6, s_2_484, -2, 6, 0},
+{ 6, s_2_485, -3, 7, 0},
+{ 6, s_2_486, -4, 8, 0},
+{ 6, s_2_487, -5, 5, 0},
+{ 4, s_2_488, -22, 41, 0},
+{ 4, s_2_489, -23, 42, 0},
+{ 4, s_2_490, -24, 43, 0},
+{ 5, s_2_491, -1, 123, 0},
+{ 4, s_2_492, -26, 44, 0},
+{ 5, s_2_493, -1, 120, 0},
+{ 7, s_2_494, -2, 92, 0},
+{ 7, s_2_495, -3, 93, 0},
+{ 6, s_2_496, -4, 94, 0},
+{ 5, s_2_497, -31, 77, 0},
+{ 5, s_2_498, -32, 78, 0},
+{ 5, s_2_499, -33, 79, 0},
+{ 5, s_2_500, -34, 80, 0},
+{ 4, s_2_501, -35, 45, 0},
+{ 6, s_2_502, -36, 91, 0},
+{ 5, s_2_503, -37, 38, 0},
+{ 4, s_2_504, 0, 84, 0},
+{ 4, s_2_505, 0, 85, 0},
+{ 4, s_2_506, 0, 122, 0},
+{ 5, s_2_507, 0, 86, 0},
+{ 3, s_2_508, 0, 25, 0},
+{ 6, s_2_509, -1, 121, 0},
+{ 5, s_2_510, -2, 100, 0},
+{ 7, s_2_511, -3, 117, 0},
+{ 2, s_2_512, 0, 95, 0},
+{ 3, s_2_513, -1, 1, 0},
+{ 4, s_2_514, -2, 2, 0},
+{ 3, s_2_515, 0, 104, 0},
+{ 5, s_2_516, -1, 128, 0},
+{ 8, s_2_517, -2, 106, 0},
+{ 8, s_2_518, -3, 107, 0},
+{ 8, s_2_519, -4, 108, 0},
+{ 5, s_2_520, -5, 47, 0},
+{ 6, s_2_521, -6, 114, 0},
+{ 4, s_2_522, -7, 46, 0},
+{ 5, s_2_523, -8, 100, 0},
+{ 5, s_2_524, -9, 105, 0},
+{ 4, s_2_525, -10, 113, 0},
+{ 6, s_2_526, -1, 110, 0},
+{ 6, s_2_527, -2, 111, 0},
+{ 6, s_2_528, -3, 112, 0},
+{ 5, s_2_529, -14, 97, 0},
+{ 5, s_2_530, -15, 96, 0},
+{ 5, s_2_531, -16, 98, 0},
+{ 5, s_2_532, -17, 76, 0},
+{ 5, s_2_533, -18, 99, 0},
+{ 6, s_2_534, -19, 102, 0},
+{ 3, s_2_535, 0, 83, 0},
+{ 3, s_2_536, 0, 116, 0},
+{ 5, s_2_537, -1, 124, 0},
+{ 6, s_2_538, -2, 121, 0},
+{ 4, s_2_539, -3, 103, 0},
+{ 6, s_2_540, -4, 127, 0},
+{ 6, s_2_541, -5, 118, 0},
+{ 5, s_2_542, -6, 48, 0},
+{ 6, s_2_543, -7, 101, 0},
+{ 7, s_2_544, -8, 117, 0},
+{ 7, s_2_545, -9, 90, 0},
+{ 3, s_2_546, 0, 50, 0},
+{ 4, s_2_547, 0, 115, 0},
+{ 4, s_2_548, 0, 13, 0},
+{ 4, s_2_549, 0, 52, 0},
+{ 4, s_2_550, 0, 51, 0},
+{ 5, s_2_551, 0, 124, 0},
+{ 5, s_2_552, 0, 125, 0},
+{ 5, s_2_553, 0, 126, 0},
+{ 6, s_2_554, 0, 84, 0},
+{ 6, s_2_555, 0, 85, 0},
+{ 6, s_2_556, 0, 122, 0},
+{ 7, s_2_557, 0, 86, 0},
+{ 4, s_2_558, 0, 95, 0},
+{ 5, s_2_559, -1, 1, 0},
+{ 6, s_2_560, -2, 2, 0},
+{ 5, s_2_561, 0, 83, 0},
+{ 4, s_2_562, 0, 13, 0},
+{ 6, s_2_563, -1, 137, 0},
+{ 7, s_2_564, -2, 89, 0},
+{ 5, s_2_565, 0, 123, 0},
+{ 5, s_2_566, 0, 120, 0},
+{ 7, s_2_567, 0, 92, 0},
+{ 7, s_2_568, 0, 93, 0},
+{ 6, s_2_569, 0, 94, 0},
+{ 5, s_2_570, 0, 77, 0},
+{ 5, s_2_571, 0, 78, 0},
+{ 5, s_2_572, 0, 79, 0},
+{ 5, s_2_573, 0, 80, 0},
+{ 6, s_2_574, 0, 14, 0},
+{ 6, s_2_575, 0, 15, 0},
+{ 6, s_2_576, 0, 16, 0},
+{ 6, s_2_577, 0, 91, 0},
+{ 2, s_2_578, 0, 13, 0},
+{ 3, s_2_579, -1, 10, 0},
+{ 5, s_2_580, -1, 128, 0},
+{ 5, s_2_581, -2, 105, 0},
+{ 4, s_2_582, -3, 113, 0},
+{ 6, s_2_583, -1, 110, 0},
+{ 6, s_2_584, -2, 111, 0},
+{ 6, s_2_585, -3, 112, 0},
+{ 5, s_2_586, -7, 97, 0},
+{ 5, s_2_587, -8, 96, 0},
+{ 5, s_2_588, -9, 98, 0},
+{ 5, s_2_589, -10, 99, 0},
+{ 6, s_2_590, -11, 102, 0},
+{ 5, s_2_591, -13, 124, 0},
+{ 6, s_2_592, -14, 121, 0},
+{ 6, s_2_593, -15, 101, 0},
+{ 7, s_2_594, -16, 117, 0},
+{ 3, s_2_595, -17, 11, 0},
+{ 4, s_2_596, -1, 137, 0},
+{ 5, s_2_597, -2, 10, 0},
+{ 5, s_2_598, -3, 89, 0},
+{ 3, s_2_599, -21, 12, 0},
+{ 3, s_2_600, 0, 53, 0},
+{ 3, s_2_601, 0, 54, 0},
+{ 3, s_2_602, 0, 55, 0},
+{ 3, s_2_603, 0, 56, 0},
+{ 3, s_2_604, 0, 161, 0},
+{ 4, s_2_605, -1, 135, 0},
+{ 5, s_2_606, -2, 128, 0},
+{ 4, s_2_607, -3, 131, 0},
+{ 4, s_2_608, -4, 129, 0},
+{ 8, s_2_609, -1, 138, 0},
+{ 8, s_2_610, -2, 139, 0},
+{ 8, s_2_611, -3, 140, 0},
+{ 6, s_2_612, -4, 150, 0},
+{ 4, s_2_613, -9, 133, 0},
+{ 4, s_2_614, -10, 132, 0},
+{ 5, s_2_615, -11, 155, 0},
+{ 5, s_2_616, -12, 156, 0},
+{ 4, s_2_617, -13, 130, 0},
+{ 4, s_2_618, -14, 134, 0},
+{ 5, s_2_619, -1, 144, 0},
+{ 5, s_2_620, -2, 145, 0},
+{ 5, s_2_621, -3, 146, 0},
+{ 5, s_2_622, -4, 148, 0},
+{ 5, s_2_623, -5, 147, 0},
+{ 3, s_2_624, 0, 57, 0},
+{ 3, s_2_625, 0, 58, 0},
+{ 5, s_2_626, -1, 124, 0},
+{ 6, s_2_627, -2, 121, 0},
+{ 6, s_2_628, -3, 127, 0},
+{ 6, s_2_629, -4, 149, 0},
+{ 3, s_2_630, 0, 123, 0},
+{ 8, s_2_631, -1, 141, 0},
+{ 8, s_2_632, -2, 142, 0},
+{ 8, s_2_633, -3, 143, 0},
+{ 3, s_2_634, 0, 104, 0},
+{ 5, s_2_635, -1, 128, 0},
+{ 5, s_2_636, -2, 68, 0},
+{ 4, s_2_637, -3, 69, 0},
+{ 5, s_2_638, -4, 100, 0},
+{ 5, s_2_639, -5, 105, 0},
+{ 4, s_2_640, -6, 113, 0},
+{ 5, s_2_641, -7, 97, 0},
+{ 5, s_2_642, -8, 96, 0},
+{ 5, s_2_643, -9, 98, 0},
+{ 5, s_2_644, -10, 99, 0},
+{ 6, s_2_645, -11, 102, 0},
+{ 3, s_2_646, 0, 70, 0},
+{ 8, s_2_647, -1, 110, 0},
+{ 8, s_2_648, -2, 111, 0},
+{ 8, s_2_649, -3, 112, 0},
+{ 8, s_2_650, -4, 106, 0},
+{ 8, s_2_651, -5, 107, 0},
+{ 8, s_2_652, -6, 108, 0},
+{ 5, s_2_653, -7, 116, 0},
+{ 6, s_2_654, -8, 114, 0},
+{ 5, s_2_655, -9, 25, 0},
+{ 8, s_2_656, -1, 121, 0},
+{ 7, s_2_657, -2, 100, 0},
+{ 9, s_2_658, -3, 117, 0},
+{ 4, s_2_659, -13, 13, 0},
+{ 8, s_2_660, -1, 110, 0},
+{ 8, s_2_661, -2, 111, 0},
+{ 8, s_2_662, -3, 112, 0},
+{ 6, s_2_663, -17, 115, 0},
+{ 3, s_2_664, 0, 116, 0},
+{ 5, s_2_665, -1, 124, 0},
+{ 6, s_2_666, -2, 121, 0},
+{ 4, s_2_667, -3, 13, 0},
+{ 8, s_2_668, -1, 110, 0},
+{ 8, s_2_669, -2, 111, 0},
+{ 8, s_2_670, -3, 112, 0},
+{ 6, s_2_671, -7, 127, 0},
+{ 6, s_2_672, -8, 118, 0},
+{ 6, s_2_673, -9, 115, 0},
+{ 5, s_2_674, -10, 92, 0},
+{ 5, s_2_675, -11, 93, 0},
+{ 6, s_2_676, -12, 101, 0},
+{ 7, s_2_677, -13, 117, 0},
+{ 7, s_2_678, -14, 90, 0},
+{ 4, s_2_679, 0, 104, 0},
+{ 6, s_2_680, -1, 105, 0},
+{ 5, s_2_681, -2, 113, 0},
+{ 7, s_2_682, -1, 106, 0},
+{ 7, s_2_683, -2, 107, 0},
+{ 7, s_2_684, -3, 108, 0},
+{ 6, s_2_685, -6, 97, 0},
+{ 6, s_2_686, -7, 96, 0},
+{ 6, s_2_687, -8, 98, 0},
+{ 6, s_2_688, -9, 99, 0},
+{ 4, s_2_689, 0, 116, 0},
+{ 7, s_2_690, 0, 121, 0},
+{ 6, s_2_691, 0, 100, 0},
+{ 8, s_2_692, 0, 117, 0},
+{ 4, s_2_693, 0, 94, 0},
+{ 6, s_2_694, -1, 128, 0},
+{ 9, s_2_695, -2, 106, 0},
+{ 9, s_2_696, -3, 107, 0},
+{ 9, s_2_697, -4, 108, 0},
+{ 7, s_2_698, -5, 114, 0},
+{ 6, s_2_699, -6, 100, 0},
+{ 6, s_2_700, -7, 105, 0},
+{ 5, s_2_701, -8, 113, 0},
+{ 6, s_2_702, -9, 97, 0},
+{ 6, s_2_703, -10, 96, 0},
+{ 6, s_2_704, -11, 98, 0},
+{ 6, s_2_705, -12, 76, 0},
+{ 6, s_2_706, -13, 99, 0},
+{ 7, s_2_707, -14, 102, 0},
+{ 4, s_2_708, 0, 71, 0},
+{ 4, s_2_709, 0, 72, 0},
+{ 6, s_2_710, -1, 124, 0},
+{ 7, s_2_711, -2, 121, 0},
+{ 5, s_2_712, -3, 103, 0},
+{ 7, s_2_713, -4, 127, 0},
+{ 7, s_2_714, -5, 118, 0},
+{ 7, s_2_715, -6, 101, 0},
+{ 8, s_2_716, -7, 117, 0},
+{ 8, s_2_717, -8, 90, 0},
+{ 4, s_2_718, 0, 73, 0},
+{ 4, s_2_719, 0, 74, 0},
+{ 9, s_2_720, -1, 110, 0},
+{ 9, s_2_721, -2, 111, 0},
+{ 9, s_2_722, -3, 112, 0},
+{ 5, s_2_723, 0, 13, 0},
+{ 5, s_2_724, 0, 75, 0},
+{ 3, s_2_725, 0, 77, 0},
+{ 3, s_2_726, 0, 78, 0},
+{ 5, s_2_727, -1, 109, 0},
+{ 6, s_2_728, -1, 26, 0},
+{ 6, s_2_729, -2, 30, 0},
+{ 6, s_2_730, -3, 31, 0},
+{ 7, s_2_731, -4, 28, 0},
+{ 7, s_2_732, -5, 27, 0},
+{ 7, s_2_733, -6, 29, 0},
+{ 3, s_2_734, 0, 79, 0},
+{ 3, s_2_735, 0, 80, 0},
+{ 4, s_2_736, -1, 20, 0},
+{ 5, s_2_737, -1, 17, 0},
+{ 4, s_2_738, -3, 82, 0},
+{ 5, s_2_739, -1, 49, 0},
+{ 4, s_2_740, -5, 81, 0},
+{ 5, s_2_741, -6, 12, 0},
+{ 4, s_2_742, 0, 14, 0},
+{ 4, s_2_743, 0, 15, 0},
+{ 4, s_2_744, 0, 16, 0},
+{ 4, s_2_745, 0, 101, 0},
+{ 5, s_2_746, 0, 117, 0},
+{ 4, s_2_747, 0, 104, 0},
+{ 5, s_2_748, -1, 63, 0},
+{ 5, s_2_749, -2, 64, 0},
+{ 5, s_2_750, -3, 61, 0},
+{ 9, s_2_751, -1, 106, 0},
+{ 9, s_2_752, -2, 107, 0},
+{ 9, s_2_753, -3, 108, 0},
+{ 7, s_2_754, -4, 114, 0},
+{ 5, s_2_755, -8, 62, 0},
+{ 5, s_2_756, -9, 60, 0},
+{ 6, s_2_757, -10, 100, 0},
+{ 6, s_2_758, -11, 105, 0},
+{ 5, s_2_759, -12, 59, 0},
+{ 5, s_2_760, -13, 65, 0},
+{ 6, s_2_761, -1, 97, 0},
+{ 6, s_2_762, -2, 96, 0},
+{ 6, s_2_763, -3, 98, 0},
+{ 6, s_2_764, -4, 76, 0},
+{ 6, s_2_765, -5, 99, 0},
+{ 7, s_2_766, -19, 102, 0},
+{ 4, s_2_767, 0, 66, 0},
+{ 4, s_2_768, 0, 67, 0},
+{ 7, s_2_769, -1, 118, 0},
+{ 7, s_2_770, -2, 101, 0},
+{ 8, s_2_771, -3, 117, 0},
+{ 8, s_2_772, -4, 90, 0},
+{ 4, s_2_773, 0, 91, 0},
+{ 9, s_2_774, -1, 110, 0},
+{ 9, s_2_775, -2, 111, 0},
+{ 9, s_2_776, -3, 112, 0},
+{ 4, s_2_777, 0, 124, 0},
+{ 4, s_2_778, 0, 125, 0},
+{ 4, s_2_779, 0, 126, 0},
+{ 7, s_2_780, 0, 84, 0},
+{ 7, s_2_781, 0, 85, 0},
+{ 7, s_2_782, 0, 122, 0},
+{ 8, s_2_783, 0, 86, 0},
+{ 5, s_2_784, 0, 95, 0},
+{ 6, s_2_785, -1, 1, 0},
+{ 7, s_2_786, -2, 2, 0},
+{ 6, s_2_787, 0, 83, 0},
+{ 5, s_2_788, 0, 13, 0},
+{ 6, s_2_789, 0, 123, 0},
+{ 6, s_2_790, 0, 120, 0},
+{ 8, s_2_791, 0, 92, 0},
+{ 8, s_2_792, 0, 93, 0},
+{ 7, s_2_793, 0, 94, 0},
+{ 6, s_2_794, 0, 77, 0},
+{ 6, s_2_795, 0, 78, 0},
+{ 6, s_2_796, 0, 79, 0},
+{ 6, s_2_797, 0, 80, 0},
+{ 7, s_2_798, 0, 91, 0},
+{ 5, s_2_799, 0, 84, 0},
+{ 5, s_2_800, 0, 85, 0},
+{ 5, s_2_801, 0, 122, 0},
+{ 6, s_2_802, 0, 86, 0},
+{ 3, s_2_803, 0, 95, 0},
+{ 4, s_2_804, 0, 83, 0},
+{ 3, s_2_805, 0, 13, 0},
+{ 4, s_2_806, -1, 10, 0},
+{ 4, s_2_807, -2, 87, 0},
+{ 4, s_2_808, -3, 159, 0},
+{ 5, s_2_809, -4, 88, 0},
+{ 4, s_2_810, 0, 123, 0},
+{ 4, s_2_811, 0, 120, 0},
+{ 4, s_2_812, 0, 77, 0},
+{ 4, s_2_813, 0, 78, 0},
+{ 4, s_2_814, 0, 79, 0},
+{ 4, s_2_815, 0, 80, 0},
+{ 5, s_2_816, 0, 14, 0},
+{ 5, s_2_817, 0, 15, 0},
+{ 5, s_2_818, 0, 16, 0},
+{ 5, s_2_819, 0, 91, 0},
+{ 4, s_2_820, 0, 124, 0},
+{ 4, s_2_821, 0, 125, 0},
+{ 4, s_2_822, 0, 126, 0},
+{ 5, s_2_823, 0, 84, 0},
+{ 5, s_2_824, 0, 85, 0},
+{ 5, s_2_825, 0, 122, 0},
+{ 6, s_2_826, 0, 86, 0},
+{ 3, s_2_827, 0, 95, 0},
+{ 4, s_2_828, -1, 1, 0},
+{ 5, s_2_829, -2, 2, 0},
+{ 4, s_2_830, 0, 83, 0},
+{ 3, s_2_831, 0, 13, 0},
+{ 5, s_2_832, -1, 137, 0},
+{ 6, s_2_833, -2, 89, 0},
+{ 4, s_2_834, 0, 123, 0},
+{ 4, s_2_835, 0, 120, 0},
+{ 6, s_2_836, 0, 92, 0},
+{ 6, s_2_837, 0, 93, 0},
+{ 5, s_2_838, 0, 94, 0},
+{ 4, s_2_839, 0, 77, 0},
+{ 4, s_2_840, 0, 78, 0},
+{ 4, s_2_841, 0, 79, 0},
+{ 4, s_2_842, 0, 80, 0},
+{ 5, s_2_843, 0, 14, 0},
+{ 5, s_2_844, 0, 15, 0},
+{ 5, s_2_845, 0, 16, 0},
+{ 5, s_2_846, 0, 91, 0},
+{ 2, s_2_847, 0, 104, 0},
+{ 4, s_2_848, -1, 128, 0},
+{ 7, s_2_849, -2, 106, 0},
+{ 7, s_2_850, -3, 107, 0},
+{ 7, s_2_851, -4, 108, 0},
+{ 5, s_2_852, -5, 114, 0},
+{ 4, s_2_853, -6, 100, 0},
+{ 4, s_2_854, -7, 105, 0},
+{ 3, s_2_855, -8, 113, 0},
+{ 4, s_2_856, -9, 97, 0},
+{ 4, s_2_857, -10, 96, 0},
+{ 4, s_2_858, -11, 98, 0},
+{ 4, s_2_859, -12, 76, 0},
+{ 4, s_2_860, -13, 99, 0},
+{ 5, s_2_861, -14, 102, 0},
+{ 2, s_2_862, 0, 116, 0},
+{ 4, s_2_863, -1, 124, 0},
+{ 4, s_2_864, -2, 125, 0},
+{ 4, s_2_865, -3, 126, 0},
+{ 5, s_2_866, -1, 121, 0},
+{ 7, s_2_867, -5, 84, 0},
+{ 7, s_2_868, -6, 85, 0},
+{ 7, s_2_869, -7, 122, 0},
+{ 8, s_2_870, -8, 86, 0},
+{ 5, s_2_871, -9, 95, 0},
+{ 6, s_2_872, -1, 1, 0},
+{ 7, s_2_873, -2, 2, 0},
+{ 6, s_2_874, -12, 83, 0},
+{ 5, s_2_875, -13, 13, 0},
+{ 6, s_2_876, -14, 123, 0},
+{ 6, s_2_877, -15, 120, 0},
+{ 8, s_2_878, -16, 92, 0},
+{ 8, s_2_879, -17, 93, 0},
+{ 7, s_2_880, -18, 94, 0},
+{ 6, s_2_881, -19, 77, 0},
+{ 6, s_2_882, -20, 78, 0},
+{ 6, s_2_883, -21, 79, 0},
+{ 6, s_2_884, -22, 80, 0},
+{ 7, s_2_885, -23, 91, 0},
+{ 5, s_2_886, -24, 84, 0},
+{ 5, s_2_887, -25, 85, 0},
+{ 5, s_2_888, -26, 122, 0},
+{ 6, s_2_889, -27, 86, 0},
+{ 3, s_2_890, -28, 95, 0},
+{ 4, s_2_891, -1, 1, 0},
+{ 5, s_2_892, -2, 2, 0},
+{ 4, s_2_893, -31, 83, 0},
+{ 3, s_2_894, -32, 13, 0},
+{ 5, s_2_895, -1, 137, 0},
+{ 6, s_2_896, -2, 89, 0},
+{ 4, s_2_897, -35, 123, 0},
+{ 5, s_2_898, -1, 127, 0},
+{ 4, s_2_899, -37, 120, 0},
+{ 5, s_2_900, -38, 118, 0},
+{ 6, s_2_901, -39, 92, 0},
+{ 6, s_2_902, -40, 93, 0},
+{ 5, s_2_903, -41, 94, 0},
+{ 4, s_2_904, -42, 77, 0},
+{ 4, s_2_905, -43, 78, 0},
+{ 4, s_2_906, -44, 79, 0},
+{ 4, s_2_907, -45, 80, 0},
+{ 5, s_2_908, -46, 14, 0},
+{ 5, s_2_909, -47, 15, 0},
+{ 5, s_2_910, -48, 16, 0},
+{ 5, s_2_911, -49, 101, 0},
+{ 6, s_2_912, -50, 117, 0},
+{ 5, s_2_913, -51, 91, 0},
+{ 6, s_2_914, -1, 90, 0},
+{ 7, s_2_915, 0, 110, 0},
+{ 7, s_2_916, 0, 111, 0},
+{ 7, s_2_917, 0, 112, 0},
+{ 4, s_2_918, 0, 124, 0},
+{ 4, s_2_919, 0, 125, 0},
+{ 4, s_2_920, 0, 126, 0},
+{ 5, s_2_921, 0, 14, 0},
+{ 5, s_2_922, 0, 15, 0},
+{ 5, s_2_923, 0, 16, 0},
+{ 3, s_2_924, 0, 124, 0},
+{ 5, s_2_925, 0, 124, 0},
+{ 4, s_2_926, 0, 162, 0},
+{ 5, s_2_927, 0, 161, 0},
+{ 7, s_2_928, -1, 155, 0},
+{ 7, s_2_929, -2, 156, 0},
+{ 8, s_2_930, -3, 138, 0},
+{ 8, s_2_931, -4, 139, 0},
+{ 8, s_2_932, -5, 140, 0},
+{ 7, s_2_933, -6, 144, 0},
+{ 7, s_2_934, -7, 145, 0},
+{ 7, s_2_935, -8, 146, 0},
+{ 7, s_2_936, -9, 147, 0},
+{ 5, s_2_937, 0, 157, 0},
+{ 8, s_2_938, -1, 121, 0},
+{ 7, s_2_939, -2, 155, 0},
+{ 4, s_2_940, 0, 121, 0},
+{ 4, s_2_941, 0, 164, 0},
+{ 5, s_2_942, 0, 153, 0},
+{ 6, s_2_943, 0, 136, 0},
+{ 2, s_2_944, 0, 20, 0},
+{ 3, s_2_945, -1, 18, 0},
+{ 3, s_2_946, 0, 109, 0},
+{ 4, s_2_947, -1, 26, 0},
+{ 4, s_2_948, -2, 30, 0},
+{ 4, s_2_949, -3, 31, 0},
+{ 5, s_2_950, -4, 28, 0},
+{ 5, s_2_951, -5, 27, 0},
+{ 5, s_2_952, -6, 29, 0},
+{ 4, s_2_953, 0, 32, 0},
+{ 4, s_2_954, 0, 33, 0},
+{ 4, s_2_955, 0, 34, 0},
+{ 4, s_2_956, 0, 40, 0},
+{ 4, s_2_957, 0, 39, 0},
+{ 6, s_2_958, 0, 84, 0},
+{ 6, s_2_959, 0, 85, 0},
+{ 6, s_2_960, 0, 122, 0},
+{ 7, s_2_961, 0, 86, 0},
+{ 4, s_2_962, 0, 95, 0},
+{ 5, s_2_963, -1, 1, 0},
+{ 6, s_2_964, -2, 2, 0},
+{ 4, s_2_965, 0, 35, 0},
+{ 5, s_2_966, -1, 83, 0},
+{ 4, s_2_967, 0, 37, 0},
+{ 4, s_2_968, 0, 13, 0},
+{ 6, s_2_969, -1, 9, 0},
+{ 6, s_2_970, -2, 6, 0},
+{ 6, s_2_971, -3, 7, 0},
+{ 6, s_2_972, -4, 8, 0},
+{ 6, s_2_973, -5, 5, 0},
+{ 4, s_2_974, 0, 41, 0},
+{ 4, s_2_975, 0, 42, 0},
+{ 4, s_2_976, 0, 43, 0},
+{ 5, s_2_977, -1, 123, 0},
+{ 4, s_2_978, 0, 44, 0},
+{ 5, s_2_979, -1, 120, 0},
+{ 7, s_2_980, -2, 92, 0},
+{ 7, s_2_981, -3, 93, 0},
+{ 6, s_2_982, -4, 94, 0},
+{ 5, s_2_983, 0, 77, 0},
+{ 5, s_2_984, 0, 78, 0},
+{ 5, s_2_985, 0, 79, 0},
+{ 5, s_2_986, 0, 80, 0},
+{ 4, s_2_987, 0, 45, 0},
+{ 6, s_2_988, 0, 91, 0},
+{ 5, s_2_989, 0, 38, 0},
+{ 4, s_2_990, 0, 84, 0},
+{ 4, s_2_991, 0, 85, 0},
+{ 4, s_2_992, 0, 122, 0},
+{ 5, s_2_993, 0, 86, 0},
+{ 2, s_2_994, 0, 95, 0},
+{ 3, s_2_995, -1, 1, 0},
+{ 4, s_2_996, -2, 2, 0},
+{ 3, s_2_997, 0, 104, 0},
+{ 5, s_2_998, -1, 128, 0},
+{ 8, s_2_999, -2, 106, 0},
+{ 8, s_2_1000, -3, 107, 0},
+{ 8, s_2_1001, -4, 108, 0},
+{ 5, s_2_1002, -5, 47, 0},
+{ 6, s_2_1003, -6, 114, 0},
+{ 4, s_2_1004, -7, 46, 0},
+{ 5, s_2_1005, -8, 100, 0},
+{ 5, s_2_1006, -9, 105, 0},
+{ 4, s_2_1007, -10, 113, 0},
+{ 6, s_2_1008, -1, 110, 0},
+{ 6, s_2_1009, -2, 111, 0},
+{ 6, s_2_1010, -3, 112, 0},
+{ 5, s_2_1011, -14, 97, 0},
+{ 5, s_2_1012, -15, 96, 0},
+{ 5, s_2_1013, -16, 98, 0},
+{ 5, s_2_1014, -17, 76, 0},
+{ 5, s_2_1015, -18, 99, 0},
+{ 6, s_2_1016, -19, 102, 0},
+{ 3, s_2_1017, 0, 83, 0},
+{ 3, s_2_1018, 0, 116, 0},
+{ 5, s_2_1019, -1, 124, 0},
+{ 6, s_2_1020, -2, 121, 0},
+{ 4, s_2_1021, -3, 103, 0},
+{ 6, s_2_1022, -4, 127, 0},
+{ 6, s_2_1023, -5, 118, 0},
+{ 5, s_2_1024, -6, 48, 0},
+{ 6, s_2_1025, -7, 101, 0},
+{ 7, s_2_1026, -8, 117, 0},
+{ 7, s_2_1027, -9, 90, 0},
+{ 3, s_2_1028, 0, 50, 0},
+{ 4, s_2_1029, 0, 115, 0},
+{ 4, s_2_1030, 0, 13, 0},
+{ 4, s_2_1031, 0, 52, 0},
+{ 4, s_2_1032, 0, 51, 0},
+{ 2, s_2_1033, 0, 13, 0},
+{ 3, s_2_1034, -1, 10, 0},
+{ 5, s_2_1035, -1, 128, 0},
+{ 5, s_2_1036, -2, 105, 0},
+{ 4, s_2_1037, -3, 113, 0},
+{ 5, s_2_1038, -4, 97, 0},
+{ 5, s_2_1039, -5, 96, 0},
+{ 5, s_2_1040, -6, 98, 0},
+{ 5, s_2_1041, -7, 99, 0},
+{ 6, s_2_1042, -8, 102, 0},
+{ 5, s_2_1043, -10, 124, 0},
+{ 6, s_2_1044, -11, 121, 0},
+{ 6, s_2_1045, -12, 101, 0},
+{ 7, s_2_1046, -13, 117, 0},
+{ 3, s_2_1047, -14, 11, 0},
+{ 4, s_2_1048, -1, 137, 0},
+{ 5, s_2_1049, -2, 89, 0},
+{ 3, s_2_1050, -17, 12, 0},
+{ 3, s_2_1051, 0, 53, 0},
+{ 3, s_2_1052, 0, 54, 0},
+{ 3, s_2_1053, 0, 55, 0},
+{ 3, s_2_1054, 0, 56, 0},
+{ 4, s_2_1055, 0, 135, 0},
+{ 4, s_2_1056, 0, 131, 0},
+{ 4, s_2_1057, 0, 129, 0},
+{ 4, s_2_1058, 0, 133, 0},
+{ 4, s_2_1059, 0, 132, 0},
+{ 4, s_2_1060, 0, 130, 0},
+{ 4, s_2_1061, 0, 134, 0},
+{ 3, s_2_1062, 0, 152, 0},
+{ 3, s_2_1063, 0, 154, 0},
+{ 3, s_2_1064, 0, 123, 0},
+{ 4, s_2_1065, 0, 161, 0},
+{ 6, s_2_1066, -1, 128, 0},
+{ 6, s_2_1067, -2, 155, 0},
+{ 5, s_2_1068, -3, 160, 0},
+{ 6, s_2_1069, -1, 153, 0},
+{ 7, s_2_1070, -2, 141, 0},
+{ 7, s_2_1071, -3, 142, 0},
+{ 7, s_2_1072, -4, 143, 0},
+{ 4, s_2_1073, 0, 162, 0},
+{ 5, s_2_1074, -1, 158, 0},
+{ 7, s_2_1075, -2, 127, 0},
+{ 5, s_2_1076, 0, 164, 0},
+{ 3, s_2_1077, 0, 104, 0},
+{ 5, s_2_1078, -1, 128, 0},
+{ 8, s_2_1079, -2, 106, 0},
+{ 8, s_2_1080, -3, 107, 0},
+{ 8, s_2_1081, -4, 108, 0},
+{ 6, s_2_1082, -5, 114, 0},
+{ 5, s_2_1083, -6, 68, 0},
+{ 4, s_2_1084, -7, 69, 0},
+{ 5, s_2_1085, -8, 100, 0},
+{ 5, s_2_1086, -9, 105, 0},
+{ 4, s_2_1087, -10, 113, 0},
+{ 6, s_2_1088, -1, 110, 0},
+{ 6, s_2_1089, -2, 111, 0},
+{ 6, s_2_1090, -3, 112, 0},
+{ 5, s_2_1091, -14, 97, 0},
+{ 5, s_2_1092, -15, 96, 0},
+{ 5, s_2_1093, -16, 98, 0},
+{ 5, s_2_1094, -17, 76, 0},
+{ 5, s_2_1095, -18, 99, 0},
+{ 6, s_2_1096, -19, 102, 0},
+{ 3, s_2_1097, 0, 70, 0},
+{ 3, s_2_1098, 0, 116, 0},
+{ 5, s_2_1099, -1, 124, 0},
+{ 6, s_2_1100, -2, 121, 0},
+{ 4, s_2_1101, -3, 103, 0},
+{ 6, s_2_1102, -4, 127, 0},
+{ 6, s_2_1103, -5, 118, 0},
+{ 5, s_2_1104, -6, 92, 0},
+{ 5, s_2_1105, -7, 93, 0},
+{ 6, s_2_1106, -8, 101, 0},
+{ 7, s_2_1107, -9, 117, 0},
+{ 7, s_2_1108, -10, 90, 0},
+{ 4, s_2_1109, 0, 94, 0},
+{ 4, s_2_1110, 0, 71, 0},
+{ 4, s_2_1111, 0, 72, 0},
+{ 4, s_2_1112, 0, 73, 0},
+{ 4, s_2_1113, 0, 74, 0},
+{ 4, s_2_1114, 0, 13, 0},
+{ 3, s_2_1115, 0, 77, 0},
+{ 3, s_2_1116, 0, 78, 0},
+{ 5, s_2_1117, -1, 109, 0},
+{ 6, s_2_1118, -1, 26, 0},
+{ 6, s_2_1119, -2, 30, 0},
+{ 6, s_2_1120, -3, 31, 0},
+{ 7, s_2_1121, -4, 28, 0},
+{ 7, s_2_1122, -5, 27, 0},
+{ 7, s_2_1123, -6, 29, 0},
+{ 3, s_2_1124, 0, 79, 0},
+{ 3, s_2_1125, 0, 80, 0},
+{ 4, s_2_1126, -1, 20, 0},
+{ 5, s_2_1127, -1, 17, 0},
+{ 4, s_2_1128, -3, 82, 0},
+{ 5, s_2_1129, -1, 49, 0},
+{ 4, s_2_1130, -5, 81, 0},
+{ 5, s_2_1131, -6, 12, 0},
+{ 5, s_2_1132, 0, 116, 0},
+{ 7, s_2_1133, 0, 101, 0},
+{ 6, s_2_1134, 0, 104, 0},
+{ 8, s_2_1135, -1, 100, 0},
+{ 8, s_2_1136, -2, 105, 0},
+{ 9, s_2_1137, -3, 106, 0},
+{ 9, s_2_1138, -4, 107, 0},
+{ 9, s_2_1139, -5, 108, 0},
+{ 8, s_2_1140, -6, 97, 0},
+{ 8, s_2_1141, -7, 96, 0},
+{ 8, s_2_1142, -8, 98, 0},
+{ 8, s_2_1143, -9, 99, 0},
+{ 6, s_2_1144, 0, 25, 0},
+{ 8, s_2_1145, -1, 100, 0},
+{ 10, s_2_1146, -2, 117, 0},
+{ 5, s_2_1147, 0, 13, 0},
+{ 6, s_2_1148, 0, 70, 0},
+{ 7, s_2_1149, 0, 115, 0},
+{ 4, s_2_1150, 0, 101, 0},
+{ 5, s_2_1151, 0, 117, 0},
+{ 5, s_2_1152, 0, 63, 0},
+{ 5, s_2_1153, 0, 64, 0},
+{ 5, s_2_1154, 0, 61, 0},
+{ 5, s_2_1155, 0, 62, 0},
+{ 5, s_2_1156, 0, 60, 0},
+{ 5, s_2_1157, 0, 59, 0},
+{ 5, s_2_1158, 0, 65, 0},
+{ 4, s_2_1159, 0, 66, 0},
+{ 4, s_2_1160, 0, 67, 0},
+{ 4, s_2_1161, 0, 91, 0},
+{ 5, s_2_1162, 0, 104, 0},
+{ 7, s_2_1163, -1, 100, 0},
+{ 6, s_2_1164, -2, 113, 0},
+{ 7, s_2_1165, -1, 70, 0},
+{ 8, s_2_1166, -2, 110, 0},
+{ 8, s_2_1167, -3, 111, 0},
+{ 8, s_2_1168, -4, 112, 0},
+{ 8, s_2_1169, -7, 102, 0},
+{ 5, s_2_1170, 0, 116, 0},
+{ 6, s_2_1171, -1, 103, 0},
+{ 9, s_2_1172, -2, 90, 0},
+{ 6, s_2_1173, 0, 13, 0},
+{ 2, s_2_1174, 0, 104, 0},
+{ 4, s_2_1175, -1, 105, 0},
+{ 3, s_2_1176, -2, 113, 0},
+{ 4, s_2_1177, -3, 97, 0},
+{ 4, s_2_1178, -4, 96, 0},
+{ 4, s_2_1179, -5, 98, 0},
+{ 4, s_2_1180, -6, 99, 0},
+{ 2, s_2_1181, 0, 116, 0},
+{ 4, s_2_1182, 0, 124, 0},
+{ 4, s_2_1183, 0, 125, 0},
+{ 4, s_2_1184, 0, 126, 0},
+{ 7, s_2_1185, 0, 84, 0},
+{ 7, s_2_1186, 0, 85, 0},
+{ 7, s_2_1187, 0, 122, 0},
+{ 8, s_2_1188, 0, 86, 0},
+{ 5, s_2_1189, 0, 95, 0},
+{ 6, s_2_1190, -1, 1, 0},
+{ 7, s_2_1191, -2, 2, 0},
+{ 6, s_2_1192, 0, 83, 0},
+{ 5, s_2_1193, 0, 13, 0},
+{ 6, s_2_1194, 0, 123, 0},
+{ 8, s_2_1195, 0, 92, 0},
+{ 8, s_2_1196, 0, 93, 0},
+{ 7, s_2_1197, 0, 94, 0},
+{ 6, s_2_1198, 0, 77, 0},
+{ 6, s_2_1199, 0, 78, 0},
+{ 6, s_2_1200, 0, 79, 0},
+{ 6, s_2_1201, 0, 80, 0},
+{ 7, s_2_1202, 0, 91, 0},
+{ 5, s_2_1203, 0, 84, 0},
+{ 5, s_2_1204, 0, 85, 0},
+{ 5, s_2_1205, 0, 122, 0},
+{ 6, s_2_1206, 0, 86, 0},
+{ 3, s_2_1207, 0, 95, 0},
+{ 4, s_2_1208, -1, 1, 0},
+{ 5, s_2_1209, -2, 2, 0},
+{ 4, s_2_1210, 0, 104, 0},
+{ 4, s_2_1211, 0, 83, 0},
+{ 3, s_2_1212, 0, 13, 0},
+{ 5, s_2_1213, -1, 137, 0},
+{ 6, s_2_1214, -2, 89, 0},
+{ 4, s_2_1215, 0, 123, 0},
+{ 4, s_2_1216, 0, 120, 0},
+{ 6, s_2_1217, 0, 92, 0},
+{ 6, s_2_1218, 0, 93, 0},
+{ 5, s_2_1219, 0, 94, 0},
+{ 4, s_2_1220, 0, 77, 0},
+{ 4, s_2_1221, 0, 78, 0},
+{ 4, s_2_1222, 0, 79, 0},
+{ 4, s_2_1223, 0, 80, 0},
+{ 5, s_2_1224, 0, 14, 0},
+{ 5, s_2_1225, 0, 15, 0},
+{ 5, s_2_1226, 0, 16, 0},
+{ 5, s_2_1227, 0, 91, 0},
+{ 5, s_2_1228, 0, 121, 0},
+{ 4, s_2_1229, 0, 100, 0},
+{ 6, s_2_1230, 0, 117, 0},
+{ 2, s_2_1231, 0, 104, 0},
+{ 4, s_2_1232, -1, 100, 0},
+{ 4, s_2_1233, -2, 105, 0},
+{ 2, s_2_1234, 0, 119, 0},
+{ 2, s_2_1235, 0, 116, 0},
+{ 2, s_2_1236, 0, 104, 0},
+{ 4, s_2_1237, -1, 128, 0},
+{ 4, s_2_1238, -2, 100, 0},
+{ 4, s_2_1239, -3, 105, 0},
+{ 3, s_2_1240, -4, 113, 0},
+{ 4, s_2_1241, -5, 97, 0},
+{ 4, s_2_1242, -6, 96, 0},
+{ 4, s_2_1243, -7, 98, 0},
+{ 4, s_2_1244, -8, 99, 0},
+{ 5, s_2_1245, -9, 102, 0},
+{ 2, s_2_1246, 0, 119, 0},
+{ 4, s_2_1247, -1, 124, 0},
+{ 4, s_2_1248, -2, 125, 0},
+{ 4, s_2_1249, -3, 126, 0},
+{ 7, s_2_1250, -4, 110, 0},
+{ 7, s_2_1251, -5, 111, 0},
+{ 7, s_2_1252, -6, 112, 0},
+{ 4, s_2_1253, -7, 104, 0},
+{ 5, s_2_1254, -1, 26, 0},
+{ 5, s_2_1255, -2, 30, 0},
+{ 5, s_2_1256, -3, 31, 0},
+{ 7, s_2_1257, -4, 106, 0},
+{ 7, s_2_1258, -5, 107, 0},
+{ 7, s_2_1259, -6, 108, 0},
+{ 6, s_2_1260, -7, 28, 0},
+{ 6, s_2_1261, -8, 27, 0},
+{ 6, s_2_1262, -9, 29, 0},
+{ 4, s_2_1263, -17, 116, 0},
+{ 7, s_2_1264, -1, 84, 0},
+{ 7, s_2_1265, -2, 85, 0},
+{ 7, s_2_1266, -3, 123, 0},
+{ 8, s_2_1267, -4, 86, 0},
+{ 5, s_2_1268, -5, 95, 0},
+{ 6, s_2_1269, -1, 1, 0},
+{ 7, s_2_1270, -2, 2, 0},
+{ 5, s_2_1271, -8, 24, 0},
+{ 6, s_2_1272, -1, 83, 0},
+{ 5, s_2_1273, -10, 13, 0},
+{ 7, s_2_1274, -11, 21, 0},
+{ 5, s_2_1275, -12, 23, 0},
+{ 6, s_2_1276, -1, 123, 0},
+{ 6, s_2_1277, -14, 120, 0},
+{ 8, s_2_1278, -15, 92, 0},
+{ 8, s_2_1279, -16, 93, 0},
+{ 6, s_2_1280, -17, 22, 0},
+{ 7, s_2_1281, -18, 94, 0},
+{ 6, s_2_1282, -19, 77, 0},
+{ 6, s_2_1283, -20, 78, 0},
+{ 6, s_2_1284, -21, 79, 0},
+{ 6, s_2_1285, -22, 80, 0},
+{ 7, s_2_1286, -23, 91, 0},
+{ 5, s_2_1287, -41, 84, 0},
+{ 5, s_2_1288, -42, 85, 0},
+{ 5, s_2_1289, -43, 114, 0},
+{ 5, s_2_1290, -44, 122, 0},
+{ 6, s_2_1291, -45, 86, 0},
+{ 4, s_2_1292, -46, 25, 0},
+{ 7, s_2_1293, -1, 121, 0},
+{ 6, s_2_1294, -2, 100, 0},
+{ 8, s_2_1295, -3, 117, 0},
+{ 3, s_2_1296, -50, 95, 0},
+{ 4, s_2_1297, -1, 1, 0},
+{ 5, s_2_1298, -2, 2, 0},
+{ 4, s_2_1299, -53, 83, 0},
+{ 3, s_2_1300, -54, 13, 0},
+{ 4, s_2_1301, -1, 10, 0},
+{ 7, s_2_1302, -1, 110, 0},
+{ 7, s_2_1303, -2, 111, 0},
+{ 7, s_2_1304, -3, 112, 0},
+{ 4, s_2_1305, -5, 87, 0},
+{ 4, s_2_1306, -6, 159, 0},
+{ 5, s_2_1307, -7, 88, 0},
+{ 5, s_2_1308, -62, 135, 0},
+{ 5, s_2_1309, -63, 131, 0},
+{ 5, s_2_1310, -64, 129, 0},
+{ 5, s_2_1311, -65, 133, 0},
+{ 5, s_2_1312, -66, 132, 0},
+{ 5, s_2_1313, -67, 130, 0},
+{ 5, s_2_1314, -68, 134, 0},
+{ 4, s_2_1315, -69, 152, 0},
+{ 4, s_2_1316, -70, 154, 0},
+{ 4, s_2_1317, -71, 123, 0},
+{ 4, s_2_1318, -72, 120, 0},
+{ 4, s_2_1319, -73, 70, 0},
+{ 6, s_2_1320, -74, 92, 0},
+{ 6, s_2_1321, -75, 93, 0},
+{ 5, s_2_1322, -76, 94, 0},
+{ 5, s_2_1323, -77, 151, 0},
+{ 6, s_2_1324, -78, 75, 0},
+{ 4, s_2_1325, -79, 77, 0},
+{ 4, s_2_1326, -80, 78, 0},
+{ 4, s_2_1327, -81, 79, 0},
+{ 5, s_2_1328, -82, 14, 0},
+{ 5, s_2_1329, -83, 15, 0},
+{ 5, s_2_1330, -84, 16, 0},
+{ 6, s_2_1331, -85, 63, 0},
+{ 6, s_2_1332, -86, 64, 0},
+{ 6, s_2_1333, -87, 61, 0},
+{ 6, s_2_1334, -88, 62, 0},
+{ 6, s_2_1335, -89, 60, 0},
+{ 6, s_2_1336, -90, 59, 0},
+{ 6, s_2_1337, -91, 65, 0},
+{ 5, s_2_1338, -92, 66, 0},
+{ 5, s_2_1339, -93, 67, 0},
+{ 5, s_2_1340, -94, 91, 0},
+{ 2, s_2_1341, 0, 116, 0},
+{ 4, s_2_1342, -1, 124, 0},
+{ 4, s_2_1343, -2, 125, 0},
+{ 4, s_2_1344, -3, 126, 0},
+{ 5, s_2_1345, -1, 121, 0},
+{ 7, s_2_1346, -5, 84, 0},
+{ 7, s_2_1347, -6, 85, 0},
+{ 7, s_2_1348, -7, 122, 0},
+{ 8, s_2_1349, -8, 86, 0},
+{ 5, s_2_1350, -9, 95, 0},
+{ 6, s_2_1351, -1, 1, 0},
+{ 7, s_2_1352, -2, 2, 0},
+{ 6, s_2_1353, -12, 83, 0},
+{ 5, s_2_1354, -13, 13, 0},
+{ 6, s_2_1355, -14, 123, 0},
+{ 6, s_2_1356, -15, 120, 0},
+{ 8, s_2_1357, -16, 92, 0},
+{ 8, s_2_1358, -17, 93, 0},
+{ 7, s_2_1359, -18, 94, 0},
+{ 6, s_2_1360, -19, 77, 0},
+{ 6, s_2_1361, -20, 78, 0},
+{ 6, s_2_1362, -21, 79, 0},
+{ 6, s_2_1363, -22, 80, 0},
+{ 7, s_2_1364, -23, 91, 0},
+{ 5, s_2_1365, -24, 84, 0},
+{ 5, s_2_1366, -25, 85, 0},
+{ 5, s_2_1367, -26, 122, 0},
+{ 6, s_2_1368, -27, 86, 0},
+{ 3, s_2_1369, -28, 95, 0},
+{ 4, s_2_1370, -1, 1, 0},
+{ 5, s_2_1371, -2, 2, 0},
+{ 4, s_2_1372, -31, 83, 0},
+{ 3, s_2_1373, -32, 13, 0},
+{ 5, s_2_1374, -1, 137, 0},
+{ 6, s_2_1375, -2, 89, 0},
+{ 4, s_2_1376, -35, 123, 0},
+{ 5, s_2_1377, -1, 127, 0},
+{ 4, s_2_1378, -37, 120, 0},
+{ 5, s_2_1379, -38, 118, 0},
+{ 6, s_2_1380, -39, 92, 0},
+{ 6, s_2_1381, -40, 93, 0},
+{ 5, s_2_1382, -41, 94, 0},
+{ 4, s_2_1383, -42, 77, 0},
+{ 4, s_2_1384, -43, 78, 0},
+{ 4, s_2_1385, -44, 79, 0},
+{ 4, s_2_1386, -45, 80, 0},
+{ 5, s_2_1387, -46, 14, 0},
+{ 5, s_2_1388, -47, 15, 0},
+{ 5, s_2_1389, -48, 16, 0},
+{ 5, s_2_1390, -49, 101, 0},
+{ 6, s_2_1391, -50, 117, 0},
+{ 5, s_2_1392, -51, 91, 0},
+{ 6, s_2_1393, -1, 90, 0},
+{ 4, s_2_1394, 0, 124, 0},
+{ 4, s_2_1395, 0, 125, 0},
+{ 4, s_2_1396, 0, 126, 0},
+{ 3, s_2_1397, 0, 20, 0},
+{ 5, s_2_1398, -1, 19, 0},
+{ 4, s_2_1399, -2, 18, 0},
+{ 5, s_2_1400, 0, 32, 0},
+{ 5, s_2_1401, 0, 33, 0},
+{ 5, s_2_1402, 0, 34, 0},
+{ 5, s_2_1403, 0, 40, 0},
+{ 5, s_2_1404, 0, 39, 0},
+{ 5, s_2_1405, 0, 35, 0},
+{ 5, s_2_1406, 0, 37, 0},
+{ 5, s_2_1407, 0, 36, 0},
+{ 7, s_2_1408, -1, 9, 0},
+{ 7, s_2_1409, -2, 6, 0},
+{ 7, s_2_1410, -3, 7, 0},
+{ 7, s_2_1411, -4, 8, 0},
+{ 7, s_2_1412, -5, 5, 0},
+{ 5, s_2_1413, 0, 41, 0},
+{ 5, s_2_1414, 0, 42, 0},
+{ 5, s_2_1415, 0, 43, 0},
+{ 5, s_2_1416, 0, 44, 0},
+{ 5, s_2_1417, 0, 45, 0},
+{ 6, s_2_1418, 0, 38, 0},
+{ 5, s_2_1419, 0, 84, 0},
+{ 5, s_2_1420, 0, 85, 0},
+{ 5, s_2_1421, 0, 122, 0},
+{ 6, s_2_1422, 0, 86, 0},
+{ 3, s_2_1423, 0, 95, 0},
+{ 4, s_2_1424, -1, 1, 0},
+{ 5, s_2_1425, -2, 2, 0},
+{ 4, s_2_1426, 0, 104, 0},
+{ 6, s_2_1427, -1, 47, 0},
+{ 5, s_2_1428, -2, 46, 0},
+{ 4, s_2_1429, 0, 83, 0},
+{ 4, s_2_1430, 0, 116, 0},
+{ 6, s_2_1431, -1, 48, 0},
+{ 4, s_2_1432, 0, 50, 0},
+{ 5, s_2_1433, 0, 52, 0},
+{ 5, s_2_1434, 0, 51, 0},
+{ 3, s_2_1435, 0, 13, 0},
+{ 4, s_2_1436, -1, 10, 0},
+{ 4, s_2_1437, -2, 11, 0},
+{ 5, s_2_1438, -1, 137, 0},
+{ 6, s_2_1439, -2, 10, 0},
+{ 6, s_2_1440, -3, 89, 0},
+{ 4, s_2_1441, -6, 12, 0},
+{ 4, s_2_1442, 0, 53, 0},
+{ 4, s_2_1443, 0, 54, 0},
+{ 4, s_2_1444, 0, 55, 0},
+{ 4, s_2_1445, 0, 56, 0},
+{ 5, s_2_1446, 0, 135, 0},
+{ 5, s_2_1447, 0, 131, 0},
+{ 5, s_2_1448, 0, 129, 0},
+{ 5, s_2_1449, 0, 133, 0},
+{ 5, s_2_1450, 0, 132, 0},
+{ 5, s_2_1451, 0, 130, 0},
+{ 5, s_2_1452, 0, 134, 0},
+{ 4, s_2_1453, 0, 57, 0},
+{ 4, s_2_1454, 0, 58, 0},
+{ 4, s_2_1455, 0, 123, 0},
+{ 4, s_2_1456, 0, 120, 0},
+{ 6, s_2_1457, -1, 68, 0},
+{ 5, s_2_1458, -2, 69, 0},
+{ 4, s_2_1459, 0, 70, 0},
+{ 6, s_2_1460, 0, 92, 0},
+{ 6, s_2_1461, 0, 93, 0},
+{ 5, s_2_1462, 0, 94, 0},
+{ 5, s_2_1463, 0, 71, 0},
+{ 5, s_2_1464, 0, 72, 0},
+{ 5, s_2_1465, 0, 73, 0},
+{ 5, s_2_1466, 0, 74, 0},
+{ 4, s_2_1467, 0, 77, 0},
+{ 4, s_2_1468, 0, 78, 0},
+{ 4, s_2_1469, 0, 79, 0},
+{ 4, s_2_1470, 0, 80, 0},
+{ 5, s_2_1471, -1, 82, 0},
+{ 5, s_2_1472, -2, 81, 0},
+{ 5, s_2_1473, 0, 3, 0},
+{ 6, s_2_1474, 0, 4, 0},
+{ 5, s_2_1475, 0, 14, 0},
+{ 5, s_2_1476, 0, 15, 0},
+{ 5, s_2_1477, 0, 16, 0},
+{ 6, s_2_1478, 0, 63, 0},
+{ 6, s_2_1479, 0, 64, 0},
+{ 6, s_2_1480, 0, 61, 0},
+{ 6, s_2_1481, 0, 62, 0},
+{ 6, s_2_1482, 0, 60, 0},
+{ 6, s_2_1483, 0, 59, 0},
+{ 6, s_2_1484, 0, 65, 0},
+{ 5, s_2_1485, 0, 66, 0},
+{ 5, s_2_1486, 0, 67, 0},
+{ 5, s_2_1487, 0, 91, 0},
+{ 2, s_2_1488, 0, 104, 0},
+{ 4, s_2_1489, -1, 128, 0},
+{ 4, s_2_1490, -2, 100, 0},
+{ 4, s_2_1491, -3, 105, 0},
+{ 3, s_2_1492, -4, 113, 0},
+{ 4, s_2_1493, -5, 97, 0},
+{ 4, s_2_1494, -6, 96, 0},
+{ 4, s_2_1495, -7, 98, 0},
+{ 4, s_2_1496, -8, 99, 0},
+{ 5, s_2_1497, -9, 102, 0},
+{ 4, s_2_1498, 0, 124, 0},
+{ 5, s_2_1499, 0, 121, 0},
+{ 5, s_2_1500, 0, 101, 0},
+{ 6, s_2_1501, 0, 117, 0},
+{ 4, s_2_1502, 0, 10, 0},
+{ 2, s_2_1503, 0, 104, 0},
+{ 4, s_2_1504, -1, 128, 0},
+{ 7, s_2_1505, -2, 106, 0},
+{ 7, s_2_1506, -3, 107, 0},
+{ 7, s_2_1507, -4, 108, 0},
+{ 5, s_2_1508, -5, 114, 0},
+{ 4, s_2_1509, -6, 100, 0},
+{ 4, s_2_1510, -7, 105, 0},
+{ 3, s_2_1511, -8, 113, 0},
+{ 5, s_2_1512, -1, 110, 0},
+{ 5, s_2_1513, -2, 111, 0},
+{ 5, s_2_1514, -3, 112, 0},
+{ 4, s_2_1515, -12, 97, 0},
+{ 4, s_2_1516, -13, 96, 0},
+{ 4, s_2_1517, -14, 98, 0},
+{ 4, s_2_1518, -15, 76, 0},
+{ 4, s_2_1519, -16, 99, 0},
+{ 5, s_2_1520, -17, 102, 0},
+{ 2, s_2_1521, 0, 20, 0},
+{ 3, s_2_1522, -1, 18, 0},
+{ 2, s_2_1523, 0, 116, 0},
+{ 4, s_2_1524, -1, 124, 0},
+{ 5, s_2_1525, -2, 121, 0},
+{ 3, s_2_1526, -3, 24, 0},
+{ 3, s_2_1527, -4, 103, 0},
+{ 5, s_2_1528, -5, 21, 0},
+{ 3, s_2_1529, -6, 23, 0},
+{ 5, s_2_1530, -1, 127, 0},
+{ 5, s_2_1531, -8, 118, 0},
+{ 4, s_2_1532, -9, 22, 0},
+{ 5, s_2_1533, -10, 101, 0},
+{ 6, s_2_1534, -11, 117, 0},
+{ 6, s_2_1535, -12, 90, 0},
+{ 4, s_2_1536, 0, 32, 0},
+{ 4, s_2_1537, 0, 33, 0},
+{ 4, s_2_1538, 0, 34, 0},
+{ 4, s_2_1539, 0, 40, 0},
+{ 4, s_2_1540, 0, 39, 0},
+{ 4, s_2_1541, 0, 35, 0},
+{ 4, s_2_1542, 0, 37, 0},
+{ 4, s_2_1543, 0, 36, 0},
+{ 4, s_2_1544, 0, 41, 0},
+{ 4, s_2_1545, 0, 42, 0},
+{ 4, s_2_1546, 0, 43, 0},
+{ 4, s_2_1547, 0, 44, 0},
+{ 4, s_2_1548, 0, 45, 0},
+{ 5, s_2_1549, 0, 38, 0},
+{ 4, s_2_1550, 0, 84, 0},
+{ 4, s_2_1551, 0, 85, 0},
+{ 4, s_2_1552, 0, 122, 0},
+{ 5, s_2_1553, 0, 86, 0},
+{ 2, s_2_1554, 0, 95, 0},
+{ 3, s_2_1555, -1, 1, 0},
+{ 4, s_2_1556, -2, 2, 0},
+{ 3, s_2_1557, 0, 104, 0},
+{ 5, s_2_1558, -1, 128, 0},
+{ 8, s_2_1559, -2, 106, 0},
+{ 8, s_2_1560, -3, 107, 0},
+{ 8, s_2_1561, -4, 108, 0},
+{ 5, s_2_1562, -5, 47, 0},
+{ 6, s_2_1563, -6, 114, 0},
+{ 4, s_2_1564, -7, 46, 0},
+{ 5, s_2_1565, -8, 100, 0},
+{ 5, s_2_1566, -9, 105, 0},
+{ 4, s_2_1567, -10, 113, 0},
+{ 6, s_2_1568, -1, 110, 0},
+{ 6, s_2_1569, -2, 111, 0},
+{ 6, s_2_1570, -3, 112, 0},
+{ 5, s_2_1571, -14, 97, 0},
+{ 5, s_2_1572, -15, 96, 0},
+{ 5, s_2_1573, -16, 98, 0},
+{ 5, s_2_1574, -17, 76, 0},
+{ 5, s_2_1575, -18, 99, 0},
+{ 6, s_2_1576, -19, 102, 0},
+{ 3, s_2_1577, 0, 83, 0},
+{ 3, s_2_1578, 0, 116, 0},
+{ 5, s_2_1579, -1, 124, 0},
+{ 6, s_2_1580, -2, 121, 0},
+{ 4, s_2_1581, -3, 103, 0},
+{ 6, s_2_1582, -4, 127, 0},
+{ 6, s_2_1583, -5, 118, 0},
+{ 6, s_2_1584, -6, 101, 0},
+{ 7, s_2_1585, -7, 117, 0},
+{ 7, s_2_1586, -8, 90, 0},
+{ 4, s_2_1587, 0, 115, 0},
+{ 4, s_2_1588, 0, 13, 0},
+{ 3, s_2_1589, 0, 104, 0},
+{ 5, s_2_1590, -1, 128, 0},
+{ 4, s_2_1591, -2, 52, 0},
+{ 5, s_2_1592, -1, 100, 0},
+{ 5, s_2_1593, -2, 105, 0},
+{ 4, s_2_1594, -5, 113, 0},
+{ 5, s_2_1595, -6, 97, 0},
+{ 5, s_2_1596, -7, 96, 0},
+{ 5, s_2_1597, -8, 98, 0},
+{ 5, s_2_1598, -9, 99, 0},
+{ 6, s_2_1599, -10, 102, 0},
+{ 3, s_2_1600, 0, 119, 0},
+{ 8, s_2_1601, -1, 110, 0},
+{ 8, s_2_1602, -2, 111, 0},
+{ 8, s_2_1603, -3, 112, 0},
+{ 8, s_2_1604, -4, 106, 0},
+{ 8, s_2_1605, -5, 107, 0},
+{ 8, s_2_1606, -6, 108, 0},
+{ 5, s_2_1607, -7, 116, 0},
+{ 6, s_2_1608, -8, 114, 0},
+{ 5, s_2_1609, -9, 25, 0},
+{ 8, s_2_1610, -1, 121, 0},
+{ 7, s_2_1611, -2, 100, 0},
+{ 9, s_2_1612, -3, 117, 0},
+{ 4, s_2_1613, -13, 51, 0},
+{ 4, s_2_1614, -14, 13, 0},
+{ 8, s_2_1615, -1, 110, 0},
+{ 8, s_2_1616, -2, 111, 0},
+{ 8, s_2_1617, -3, 112, 0},
+{ 5, s_2_1618, -18, 70, 0},
+{ 6, s_2_1619, -19, 115, 0},
+{ 3, s_2_1620, 0, 116, 0},
+{ 5, s_2_1621, -1, 124, 0},
+{ 6, s_2_1622, -2, 121, 0},
+{ 4, s_2_1623, -3, 13, 0},
+{ 8, s_2_1624, -1, 110, 0},
+{ 8, s_2_1625, -2, 111, 0},
+{ 8, s_2_1626, -3, 112, 0},
+{ 6, s_2_1627, -7, 127, 0},
+{ 5, s_2_1628, -8, 70, 0},
+{ 6, s_2_1629, -1, 118, 0},
+{ 6, s_2_1630, -10, 115, 0},
+{ 6, s_2_1631, -11, 101, 0},
+{ 7, s_2_1632, -12, 117, 0},
+{ 7, s_2_1633, -13, 90, 0},
+{ 4, s_2_1634, 0, 104, 0},
+{ 6, s_2_1635, -1, 105, 0},
+{ 5, s_2_1636, -2, 113, 0},
+{ 7, s_2_1637, -1, 106, 0},
+{ 7, s_2_1638, -2, 107, 0},
+{ 7, s_2_1639, -3, 108, 0},
+{ 6, s_2_1640, -6, 97, 0},
+{ 6, s_2_1641, -7, 96, 0},
+{ 6, s_2_1642, -8, 98, 0},
+{ 6, s_2_1643, -9, 99, 0},
+{ 4, s_2_1644, 0, 116, 0},
+{ 4, s_2_1645, 0, 25, 0},
+{ 7, s_2_1646, -1, 121, 0},
+{ 6, s_2_1647, -2, 100, 0},
+{ 8, s_2_1648, -3, 117, 0},
+{ 4, s_2_1649, 0, 104, 0},
+{ 6, s_2_1650, -1, 128, 0},
+{ 9, s_2_1651, -2, 106, 0},
+{ 9, s_2_1652, -3, 107, 0},
+{ 9, s_2_1653, -4, 108, 0},
+{ 7, s_2_1654, -5, 114, 0},
+{ 6, s_2_1655, -6, 100, 0},
+{ 6, s_2_1656, -7, 105, 0},
+{ 5, s_2_1657, -8, 113, 0},
+{ 6, s_2_1658, -9, 97, 0},
+{ 6, s_2_1659, -10, 96, 0},
+{ 6, s_2_1660, -11, 98, 0},
+{ 6, s_2_1661, -12, 76, 0},
+{ 6, s_2_1662, -13, 99, 0},
+{ 7, s_2_1663, -14, 102, 0},
+{ 4, s_2_1664, 0, 116, 0},
+{ 6, s_2_1665, -1, 124, 0},
+{ 7, s_2_1666, -2, 121, 0},
+{ 5, s_2_1667, -3, 103, 0},
+{ 7, s_2_1668, -4, 127, 0},
+{ 7, s_2_1669, -5, 118, 0},
+{ 7, s_2_1670, -6, 101, 0},
+{ 8, s_2_1671, -7, 117, 0},
+{ 8, s_2_1672, -8, 90, 0},
+{ 9, s_2_1673, 0, 110, 0},
+{ 9, s_2_1674, 0, 111, 0},
+{ 9, s_2_1675, 0, 112, 0},
+{ 5, s_2_1676, 0, 13, 0},
+{ 2, s_2_1677, 0, 13, 0},
+{ 3, s_2_1678, -1, 104, 0},
+{ 5, s_2_1679, -1, 128, 0},
+{ 5, s_2_1680, -2, 105, 0},
+{ 4, s_2_1681, -3, 113, 0},
+{ 5, s_2_1682, -4, 97, 0},
+{ 5, s_2_1683, -5, 96, 0},
+{ 5, s_2_1684, -6, 98, 0},
+{ 5, s_2_1685, -7, 99, 0},
+{ 6, s_2_1686, -8, 102, 0},
+{ 5, s_2_1687, -10, 124, 0},
+{ 6, s_2_1688, -11, 121, 0},
+{ 6, s_2_1689, -12, 101, 0},
+{ 7, s_2_1690, -13, 117, 0},
+{ 3, s_2_1691, -14, 11, 0},
+{ 4, s_2_1692, -1, 137, 0},
+{ 5, s_2_1693, -2, 89, 0},
+{ 3, s_2_1694, 0, 120, 0},
+{ 5, s_2_1695, -1, 68, 0},
+{ 4, s_2_1696, -2, 69, 0},
+{ 3, s_2_1697, 0, 70, 0},
+{ 5, s_2_1698, 0, 92, 0},
+{ 5, s_2_1699, 0, 93, 0},
+{ 4, s_2_1700, 0, 94, 0},
+{ 4, s_2_1701, 0, 71, 0},
+{ 4, s_2_1702, 0, 72, 0},
+{ 4, s_2_1703, 0, 73, 0},
+{ 4, s_2_1704, 0, 74, 0},
+{ 4, s_2_1705, 0, 13, 0},
+{ 3, s_2_1706, 0, 13, 0},
+{ 3, s_2_1707, 0, 77, 0},
+{ 3, s_2_1708, 0, 78, 0},
+{ 3, s_2_1709, 0, 79, 0},
+{ 3, s_2_1710, 0, 80, 0},
+{ 4, s_2_1711, 0, 3, 0},
+{ 5, s_2_1712, 0, 4, 0},
+{ 2, s_2_1713, 0, 161, 0},
+{ 4, s_2_1714, -1, 128, 0},
+{ 4, s_2_1715, -2, 155, 0},
+{ 4, s_2_1716, -3, 156, 0},
+{ 3, s_2_1717, -4, 160, 0},
+{ 4, s_2_1718, -5, 144, 0},
+{ 4, s_2_1719, -6, 145, 0},
+{ 4, s_2_1720, -7, 146, 0},
+{ 4, s_2_1721, -8, 147, 0},
+{ 2, s_2_1722, 0, 163, 0},
+{ 7, s_2_1723, -1, 141, 0},
+{ 7, s_2_1724, -2, 142, 0},
+{ 7, s_2_1725, -3, 143, 0},
+{ 7, s_2_1726, -4, 138, 0},
+{ 7, s_2_1727, -5, 139, 0},
+{ 7, s_2_1728, -6, 140, 0},
+{ 4, s_2_1729, -7, 162, 0},
+{ 5, s_2_1730, -8, 150, 0},
+{ 4, s_2_1731, -9, 157, 0},
+{ 7, s_2_1732, -1, 121, 0},
+{ 6, s_2_1733, -2, 155, 0},
+{ 3, s_2_1734, -12, 164, 0},
+{ 7, s_2_1735, -1, 141, 0},
+{ 7, s_2_1736, -2, 142, 0},
+{ 7, s_2_1737, -3, 143, 0},
+{ 4, s_2_1738, -16, 153, 0},
+{ 5, s_2_1739, -17, 136, 0},
+{ 2, s_2_1740, 0, 162, 0},
+{ 4, s_2_1741, -1, 124, 0},
+{ 5, s_2_1742, -2, 121, 0},
+{ 3, s_2_1743, -3, 158, 0},
+{ 5, s_2_1744, -4, 127, 0},
+{ 5, s_2_1745, -5, 149, 0},
+{ 2, s_2_1746, 0, 104, 0},
+{ 4, s_2_1747, -1, 128, 0},
+{ 7, s_2_1748, -2, 106, 0},
+{ 7, s_2_1749, -3, 107, 0},
+{ 7, s_2_1750, -4, 108, 0},
+{ 5, s_2_1751, -5, 114, 0},
+{ 4, s_2_1752, -6, 100, 0},
+{ 4, s_2_1753, -7, 105, 0},
+{ 3, s_2_1754, -8, 113, 0},
+{ 5, s_2_1755, -1, 110, 0},
+{ 5, s_2_1756, -2, 111, 0},
+{ 5, s_2_1757, -3, 112, 0},
+{ 4, s_2_1758, -12, 97, 0},
+{ 4, s_2_1759, -13, 96, 0},
+{ 4, s_2_1760, -14, 98, 0},
+{ 6, s_2_1761, -1, 100, 0},
+{ 4, s_2_1762, -16, 76, 0},
+{ 4, s_2_1763, -17, 99, 0},
+{ 5, s_2_1764, -18, 102, 0},
+{ 2, s_2_1765, 0, 116, 0},
+{ 4, s_2_1766, -1, 124, 0},
+{ 5, s_2_1767, -2, 121, 0},
+{ 5, s_2_1768, -3, 127, 0},
+{ 5, s_2_1769, -4, 118, 0},
+{ 5, s_2_1770, -5, 101, 0},
+{ 6, s_2_1771, -6, 117, 0},
+{ 6, s_2_1772, -7, 90, 0},
+{ 3, s_2_1773, 0, 13, 0},
+{ 6, s_2_1774, 0, 110, 0},
+{ 6, s_2_1775, 0, 111, 0},
+{ 6, s_2_1776, 0, 112, 0},
+{ 2, s_2_1777, 0, 20, 0},
+{ 4, s_2_1778, -1, 19, 0},
+{ 3, s_2_1779, -2, 18, 0},
+{ 3, s_2_1780, 0, 104, 0},
+{ 5, s_2_1781, -1, 128, 0},
+{ 8, s_2_1782, -2, 106, 0},
+{ 8, s_2_1783, -3, 107, 0},
+{ 8, s_2_1784, -4, 108, 0},
+{ 6, s_2_1785, -5, 114, 0},
+{ 5, s_2_1786, -6, 100, 0},
+{ 5, s_2_1787, -7, 105, 0},
+{ 5, s_2_1788, -8, 97, 0},
+{ 5, s_2_1789, -9, 96, 0},
+{ 5, s_2_1790, -10, 98, 0},
+{ 5, s_2_1791, -11, 76, 0},
+{ 5, s_2_1792, -12, 99, 0},
+{ 6, s_2_1793, -13, 102, 0},
+{ 3, s_2_1794, 0, 104, 0},
+{ 4, s_2_1795, -1, 26, 0},
+{ 5, s_2_1796, -1, 128, 0},
+{ 4, s_2_1797, -3, 30, 0},
+{ 4, s_2_1798, -4, 31, 0},
+{ 5, s_2_1799, -1, 100, 0},
+{ 5, s_2_1800, -2, 105, 0},
+{ 4, s_2_1801, -7, 113, 0},
+{ 6, s_2_1802, -1, 106, 0},
+{ 6, s_2_1803, -2, 107, 0},
+{ 6, s_2_1804, -3, 108, 0},
+{ 5, s_2_1805, -11, 97, 0},
+{ 5, s_2_1806, -12, 96, 0},
+{ 5, s_2_1807, -13, 98, 0},
+{ 5, s_2_1808, -14, 99, 0},
+{ 5, s_2_1809, -15, 28, 0},
+{ 5, s_2_1810, -16, 27, 0},
+{ 6, s_2_1811, -1, 102, 0},
+{ 5, s_2_1812, -18, 29, 0},
+{ 3, s_2_1813, 0, 116, 0},
+{ 4, s_2_1814, -1, 32, 0},
+{ 4, s_2_1815, -2, 33, 0},
+{ 4, s_2_1816, -3, 34, 0},
+{ 4, s_2_1817, -4, 40, 0},
+{ 4, s_2_1818, -5, 39, 0},
+{ 6, s_2_1819, -6, 84, 0},
+{ 6, s_2_1820, -7, 85, 0},
+{ 6, s_2_1821, -8, 122, 0},
+{ 7, s_2_1822, -9, 86, 0},
+{ 4, s_2_1823, -10, 95, 0},
+{ 4, s_2_1824, -11, 24, 0},
+{ 5, s_2_1825, -1, 83, 0},
+{ 4, s_2_1826, -13, 37, 0},
+{ 4, s_2_1827, -14, 13, 0},
+{ 6, s_2_1828, -1, 9, 0},
+{ 6, s_2_1829, -2, 6, 0},
+{ 6, s_2_1830, -3, 7, 0},
+{ 6, s_2_1831, -4, 8, 0},
+{ 6, s_2_1832, -5, 5, 0},
+{ 4, s_2_1833, -20, 41, 0},
+{ 4, s_2_1834, -21, 42, 0},
+{ 6, s_2_1835, -1, 21, 0},
+{ 4, s_2_1836, -23, 23, 0},
+{ 5, s_2_1837, -1, 123, 0},
+{ 4, s_2_1838, -25, 44, 0},
+{ 5, s_2_1839, -1, 120, 0},
+{ 5, s_2_1840, -2, 22, 0},
+{ 5, s_2_1841, -28, 77, 0},
+{ 5, s_2_1842, -29, 78, 0},
+{ 5, s_2_1843, -30, 79, 0},
+{ 5, s_2_1844, -31, 80, 0},
+{ 4, s_2_1845, -32, 45, 0},
+{ 6, s_2_1846, -33, 91, 0},
+{ 5, s_2_1847, -34, 38, 0},
+{ 4, s_2_1848, 0, 84, 0},
+{ 4, s_2_1849, 0, 85, 0},
+{ 4, s_2_1850, 0, 122, 0},
+{ 5, s_2_1851, 0, 86, 0},
+{ 3, s_2_1852, 0, 25, 0},
+{ 6, s_2_1853, -1, 121, 0},
+{ 5, s_2_1854, -2, 100, 0},
+{ 7, s_2_1855, -3, 117, 0},
+{ 2, s_2_1856, 0, 95, 0},
+{ 3, s_2_1857, -1, 1, 0},
+{ 4, s_2_1858, -2, 2, 0},
+{ 3, s_2_1859, 0, 104, 0},
+{ 5, s_2_1860, -1, 47, 0},
+{ 4, s_2_1861, -2, 46, 0},
+{ 3, s_2_1862, 0, 83, 0},
+{ 3, s_2_1863, 0, 116, 0},
+{ 5, s_2_1864, -1, 48, 0},
+{ 3, s_2_1865, 0, 50, 0},
+{ 4, s_2_1866, 0, 52, 0},
+{ 5, s_2_1867, 0, 124, 0},
+{ 5, s_2_1868, 0, 125, 0},
+{ 5, s_2_1869, 0, 126, 0},
+{ 8, s_2_1870, 0, 84, 0},
+{ 8, s_2_1871, 0, 85, 0},
+{ 8, s_2_1872, 0, 122, 0},
+{ 9, s_2_1873, 0, 86, 0},
+{ 6, s_2_1874, 0, 95, 0},
+{ 7, s_2_1875, -1, 1, 0},
+{ 8, s_2_1876, -2, 2, 0},
+{ 7, s_2_1877, 0, 83, 0},
+{ 6, s_2_1878, 0, 13, 0},
+{ 7, s_2_1879, 0, 123, 0},
+{ 7, s_2_1880, 0, 120, 0},
+{ 9, s_2_1881, 0, 92, 0},
+{ 9, s_2_1882, 0, 93, 0},
+{ 8, s_2_1883, 0, 94, 0},
+{ 7, s_2_1884, 0, 77, 0},
+{ 7, s_2_1885, 0, 78, 0},
+{ 7, s_2_1886, 0, 79, 0},
+{ 7, s_2_1887, 0, 80, 0},
+{ 8, s_2_1888, 0, 91, 0},
+{ 6, s_2_1889, 0, 84, 0},
+{ 6, s_2_1890, 0, 85, 0},
+{ 6, s_2_1891, 0, 122, 0},
+{ 7, s_2_1892, 0, 86, 0},
+{ 4, s_2_1893, 0, 95, 0},
+{ 5, s_2_1894, -1, 1, 0},
+{ 6, s_2_1895, -2, 2, 0},
+{ 4, s_2_1896, 0, 51, 0},
+{ 5, s_2_1897, -1, 83, 0},
+{ 4, s_2_1898, 0, 13, 0},
+{ 5, s_2_1899, -1, 10, 0},
+{ 5, s_2_1900, -2, 87, 0},
+{ 5, s_2_1901, -3, 159, 0},
+{ 6, s_2_1902, -4, 88, 0},
+{ 5, s_2_1903, 0, 123, 0},
+{ 5, s_2_1904, 0, 120, 0},
+{ 7, s_2_1905, 0, 92, 0},
+{ 7, s_2_1906, 0, 93, 0},
+{ 6, s_2_1907, 0, 94, 0},
+{ 5, s_2_1908, 0, 77, 0},
+{ 5, s_2_1909, 0, 78, 0},
+{ 5, s_2_1910, 0, 79, 0},
+{ 5, s_2_1911, 0, 80, 0},
+{ 6, s_2_1912, 0, 14, 0},
+{ 6, s_2_1913, 0, 15, 0},
+{ 6, s_2_1914, 0, 16, 0},
+{ 6, s_2_1915, 0, 91, 0},
+{ 5, s_2_1916, 0, 124, 0},
+{ 5, s_2_1917, 0, 125, 0},
+{ 5, s_2_1918, 0, 126, 0},
+{ 6, s_2_1919, 0, 84, 0},
+{ 6, s_2_1920, 0, 85, 0},
+{ 6, s_2_1921, 0, 122, 0},
+{ 7, s_2_1922, 0, 86, 0},
+{ 4, s_2_1923, 0, 95, 0},
+{ 5, s_2_1924, -1, 1, 0},
+{ 6, s_2_1925, -2, 2, 0},
+{ 5, s_2_1926, 0, 83, 0},
+{ 4, s_2_1927, 0, 13, 0},
+{ 6, s_2_1928, -1, 137, 0},
+{ 7, s_2_1929, -2, 89, 0},
+{ 5, s_2_1930, 0, 123, 0},
+{ 5, s_2_1931, 0, 120, 0},
+{ 7, s_2_1932, 0, 92, 0},
+{ 7, s_2_1933, 0, 93, 0},
+{ 6, s_2_1934, 0, 94, 0},
+{ 5, s_2_1935, 0, 77, 0},
+{ 5, s_2_1936, 0, 78, 0},
+{ 5, s_2_1937, 0, 79, 0},
+{ 5, s_2_1938, 0, 80, 0},
+{ 6, s_2_1939, 0, 14, 0},
+{ 6, s_2_1940, 0, 15, 0},
+{ 6, s_2_1941, 0, 16, 0},
+{ 6, s_2_1942, 0, 91, 0},
+{ 2, s_2_1943, 0, 13, 0},
+{ 3, s_2_1944, -1, 10, 0},
+{ 6, s_2_1945, -1, 110, 0},
+{ 6, s_2_1946, -2, 111, 0},
+{ 6, s_2_1947, -3, 112, 0},
+{ 3, s_2_1948, -5, 11, 0},
+{ 4, s_2_1949, -1, 137, 0},
+{ 5, s_2_1950, -2, 10, 0},
+{ 5, s_2_1951, -3, 89, 0},
+{ 3, s_2_1952, -9, 12, 0},
+{ 3, s_2_1953, 0, 53, 0},
+{ 3, s_2_1954, 0, 54, 0},
+{ 3, s_2_1955, 0, 55, 0},
+{ 3, s_2_1956, 0, 56, 0},
+{ 4, s_2_1957, 0, 135, 0},
+{ 4, s_2_1958, 0, 131, 0},
+{ 4, s_2_1959, 0, 129, 0},
+{ 4, s_2_1960, 0, 133, 0},
+{ 4, s_2_1961, 0, 132, 0},
+{ 4, s_2_1962, 0, 130, 0},
+{ 4, s_2_1963, 0, 134, 0},
+{ 3, s_2_1964, 0, 57, 0},
+{ 3, s_2_1965, 0, 58, 0},
+{ 3, s_2_1966, 0, 123, 0},
+{ 3, s_2_1967, 0, 120, 0},
+{ 5, s_2_1968, -1, 68, 0},
+{ 4, s_2_1969, -2, 69, 0},
+{ 3, s_2_1970, 0, 70, 0},
+{ 5, s_2_1971, 0, 92, 0},
+{ 5, s_2_1972, 0, 93, 0},
+{ 4, s_2_1973, 0, 94, 0},
+{ 4, s_2_1974, 0, 71, 0},
+{ 4, s_2_1975, 0, 72, 0},
+{ 4, s_2_1976, 0, 73, 0},
+{ 4, s_2_1977, 0, 74, 0},
+{ 5, s_2_1978, 0, 75, 0},
+{ 3, s_2_1979, 0, 77, 0},
+{ 3, s_2_1980, 0, 78, 0},
+{ 3, s_2_1981, 0, 79, 0},
+{ 3, s_2_1982, 0, 80, 0},
+{ 4, s_2_1983, -1, 82, 0},
+{ 4, s_2_1984, -2, 81, 0},
+{ 4, s_2_1985, 0, 3, 0},
+{ 5, s_2_1986, 0, 4, 0},
+{ 5, s_2_1987, 0, 63, 0},
+{ 5, s_2_1988, 0, 64, 0},
+{ 5, s_2_1989, 0, 61, 0},
+{ 5, s_2_1990, 0, 62, 0},
+{ 5, s_2_1991, 0, 60, 0},
+{ 5, s_2_1992, 0, 59, 0},
+{ 5, s_2_1993, 0, 65, 0},
+{ 4, s_2_1994, 0, 66, 0},
+{ 4, s_2_1995, 0, 67, 0},
+{ 4, s_2_1996, 0, 91, 0},
+{ 4, s_2_1997, 0, 97, 0},
+{ 4, s_2_1998, 0, 96, 0},
+{ 4, s_2_1999, 0, 98, 0},
+{ 4, s_2_2000, 0, 99, 0},
+{ 3, s_2_2001, 0, 95, 0},
+{ 3, s_2_2002, 0, 104, 0},
+{ 5, s_2_2003, -1, 100, 0},
+{ 5, s_2_2004, -2, 105, 0},
+{ 4, s_2_2005, -3, 113, 0},
+{ 5, s_2_2006, -4, 97, 0},
+{ 5, s_2_2007, -5, 96, 0},
+{ 5, s_2_2008, -6, 98, 0},
+{ 5, s_2_2009, -7, 99, 0},
+{ 6, s_2_2010, -8, 102, 0},
+{ 3, s_2_2011, 0, 119, 0},
+{ 8, s_2_2012, -1, 110, 0},
+{ 8, s_2_2013, -2, 111, 0},
+{ 8, s_2_2014, -3, 112, 0},
+{ 8, s_2_2015, -4, 106, 0},
+{ 8, s_2_2016, -5, 107, 0},
+{ 8, s_2_2017, -6, 108, 0},
+{ 5, s_2_2018, -7, 116, 0},
+{ 6, s_2_2019, -8, 114, 0},
+{ 5, s_2_2020, -9, 25, 0},
+{ 7, s_2_2021, -1, 100, 0},
+{ 9, s_2_2022, -2, 117, 0},
+{ 4, s_2_2023, -12, 13, 0},
+{ 8, s_2_2024, -1, 110, 0},
+{ 8, s_2_2025, -2, 111, 0},
+{ 8, s_2_2026, -3, 112, 0},
+{ 5, s_2_2027, -16, 70, 0},
+{ 6, s_2_2028, -17, 115, 0},
+{ 3, s_2_2029, 0, 116, 0},
+{ 4, s_2_2030, -1, 103, 0},
+{ 6, s_2_2031, -2, 118, 0},
+{ 6, s_2_2032, -3, 101, 0},
+{ 7, s_2_2033, -4, 117, 0},
+{ 7, s_2_2034, -5, 90, 0}
+};
+
+static const symbol s_3_0[1] = { 'a' };
+static const symbol s_3_1[3] = { 'o', 'g', 'a' };
+static const symbol s_3_2[3] = { 'a', 'm', 'a' };
+static const symbol s_3_3[3] = { 'i', 'm', 'a' };
+static const symbol s_3_4[3] = { 'e', 'n', 'a' };
+static const symbol s_3_5[1] = { 'e' };
+static const symbol s_3_6[2] = { 'o', 'g' };
+static const symbol s_3_7[4] = { 'a', 'n', 'o', 'g' };
+static const symbol s_3_8[4] = { 'e', 'n', 'o', 'g' };
+static const symbol s_3_9[4] = { 'a', 'n', 'i', 'h' };
+static const symbol s_3_10[4] = { 'e', 'n', 'i', 'h' };
+static const symbol s_3_11[1] = { 'i' };
+static const symbol s_3_12[3] = { 'a', 'n', 'i' };
+static const symbol s_3_13[3] = { 'e', 'n', 'i' };
+static const symbol s_3_14[4] = { 'a', 'n', 'o', 'j' };
+static const symbol s_3_15[4] = { 'e', 'n', 'o', 'j' };
+static const symbol s_3_16[4] = { 'a', 'n', 'i', 'm' };
+static const symbol s_3_17[4] = { 'e', 'n', 'i', 'm' };
+static const symbol s_3_18[2] = { 'o', 'm' };
+static const symbol s_3_19[4] = { 'e', 'n', 'o', 'm' };
+static const symbol s_3_20[1] = { 'o' };
+static const symbol s_3_21[3] = { 'a', 'n', 'o' };
+static const symbol s_3_22[3] = { 'e', 'n', 'o' };
+static const symbol s_3_23[3] = { 'o', 's', 't' };
+static const symbol s_3_24[1] = { 'u' };
+static const symbol s_3_25[3] = { 'e', 'n', 'u' };
+static const struct among a_3[26] = {
+{ 1, s_3_0, 0, 1, 0},
+{ 3, s_3_1, -1, 1, 0},
+{ 3, s_3_2, -2, 1, 0},
+{ 3, s_3_3, -3, 1, 0},
+{ 3, s_3_4, -4, 1, 0},
+{ 1, s_3_5, 0, 1, 0},
+{ 2, s_3_6, 0, 1, 0},
+{ 4, s_3_7, -1, 1, 0},
+{ 4, s_3_8, -2, 1, 0},
+{ 4, s_3_9, 0, 1, 0},
+{ 4, s_3_10, 0, 1, 0},
+{ 1, s_3_11, 0, 1, 0},
+{ 3, s_3_12, -1, 1, 0},
+{ 3, s_3_13, -2, 1, 0},
+{ 4, s_3_14, 0, 1, 0},
+{ 4, s_3_15, 0, 1, 0},
+{ 4, s_3_16, 0, 1, 0},
+{ 4, s_3_17, 0, 1, 0},
+{ 2, s_3_18, 0, 1, 0},
+{ 4, s_3_19, -1, 1, 0},
+{ 1, s_3_20, 0, 1, 0},
+{ 3, s_3_21, -1, 1, 0},
+{ 3, s_3_22, -2, 1, 0},
+{ 3, s_3_23, 0, 1, 0},
+{ 1, s_3_24, 0, 1, 0},
+{ 3, s_3_25, -1, 1, 0}
+};
+
+static const unsigned char g_v[] = { 17, 65, 16 };
+
+static const unsigned char g_sa[] = { 65, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 128 };
+
+static const unsigned char g_ca[] = { 119, 95, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 16 };
+
+static const unsigned char g_rg[] = { 1 };
+
 static int r_cyr_to_lat(struct SN_env * z) {
     int among_var;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 z->bra = z->c;
-                among_var = find_among(z, a_0, 30);
+                among_var = find_among(z, a_0, 30, 0);
                 if (!among_var) goto lab2;
                 z->ket = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 1, s_0);
+                        {
+                            int ret = slice_from_s(z, 1, s_0);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 1, s_1);
+                        {
+                            int ret = slice_from_s(z, 1, s_1);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 3:
-                        {   int ret = slice_from_s(z, 1, s_2);
+                        {
+                            int ret = slice_from_s(z, 1, s_2);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = slice_from_s(z, 1, s_3);
+                        {
+                            int ret = slice_from_s(z, 1, s_3);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 5:
-                        {   int ret = slice_from_s(z, 1, s_4);
+                        {
+                            int ret = slice_from_s(z, 1, s_4);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 6:
-                        {   int ret = slice_from_s(z, 2, s_5);
+                        {
+                            int ret = slice_from_s(z, 2, s_5);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 7:
-                        {   int ret = slice_from_s(z, 1, s_6);
+                        {
+                            int ret = slice_from_s(z, 1, s_6);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 8:
-                        {   int ret = slice_from_s(z, 2, s_7);
+                        {
+                            int ret = slice_from_s(z, 2, s_7);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 9:
-                        {   int ret = slice_from_s(z, 1, s_8);
+                        {
+                            int ret = slice_from_s(z, 1, s_8);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 10:
-                        {   int ret = slice_from_s(z, 1, s_9);
+                        {
+                            int ret = slice_from_s(z, 1, s_9);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 11:
-                        {   int ret = slice_from_s(z, 1, s_10);
+                        {
+                            int ret = slice_from_s(z, 1, s_10);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 12:
-                        {   int ret = slice_from_s(z, 1, s_11);
+                        {
+                            int ret = slice_from_s(z, 1, s_11);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 13:
-                        {   int ret = slice_from_s(z, 1, s_12);
+                        {
+                            int ret = slice_from_s(z, 1, s_12);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 14:
-                        {   int ret = slice_from_s(z, 2, s_13);
+                        {
+                            int ret = slice_from_s(z, 2, s_13);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 15:
-                        {   int ret = slice_from_s(z, 1, s_14);
+                        {
+                            int ret = slice_from_s(z, 1, s_14);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 16:
-                        {   int ret = slice_from_s(z, 1, s_15);
+                        {
+                            int ret = slice_from_s(z, 1, s_15);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 17:
-                        {   int ret = slice_from_s(z, 2, s_16);
+                        {
+                            int ret = slice_from_s(z, 2, s_16);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 18:
-                        {   int ret = slice_from_s(z, 1, s_17);
+                        {
+                            int ret = slice_from_s(z, 1, s_17);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 19:
-                        {   int ret = slice_from_s(z, 1, s_18);
+                        {
+                            int ret = slice_from_s(z, 1, s_18);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 20:
-                        {   int ret = slice_from_s(z, 1, s_19);
+                        {
+                            int ret = slice_from_s(z, 1, s_19);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 21:
-                        {   int ret = slice_from_s(z, 1, s_20);
+                        {
+                            int ret = slice_from_s(z, 1, s_20);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 22:
-                        {   int ret = slice_from_s(z, 1, s_21);
+                        {
+                            int ret = slice_from_s(z, 1, s_21);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 23:
-                        {   int ret = slice_from_s(z, 2, s_22);
+                        {
+                            int ret = slice_from_s(z, 2, s_22);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 24:
-                        {   int ret = slice_from_s(z, 1, s_23);
+                        {
+                            int ret = slice_from_s(z, 1, s_23);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 25:
-                        {   int ret = slice_from_s(z, 1, s_24);
+                        {
+                            int ret = slice_from_s(z, 1, s_24);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 26:
-                        {   int ret = slice_from_s(z, 1, s_25);
+                        {
+                            int ret = slice_from_s(z, 1, s_25);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 27:
-                        {   int ret = slice_from_s(z, 1, s_26);
+                        {
+                            int ret = slice_from_s(z, 1, s_26);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 28:
-                        {   int ret = slice_from_s(z, 2, s_27);
+                        {
+                            int ret = slice_from_s(z, 2, s_27);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 29:
-                        {   int ret = slice_from_s(z, 3, s_28);
+                        {
+                            int ret = slice_from_s(z, 3, s_28);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 30:
-                        {   int ret = slice_from_s(z, 2, s_29);
+                        {
+                            int ret = slice_from_s(z, 2, s_29);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_prelude(struct SN_env * z) {
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 if (in_grouping_U(z, g_ca, 98, 382, 0)) goto lab2;
                 z->bra = z->c;
                 if (!(eq_s(z, 3, s_30))) goto lab2;
                 z->ket = z->c;
                 if (in_grouping_U(z, g_ca, 98, 382, 0)) goto lab2;
-                {   int ret = slice_from_s(z, 1, s_31);
+                {
+                    int ret = slice_from_s(z, 1, s_31);
                     if (ret < 0) return ret;
                 }
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c4 = z->c;
-        while(1) {
-            int c5 = z->c;
-            while(1) {
-                int c6 = z->c;
+    {
+        int v_4 = z->c;
+        while (1) {
+            int v_5 = z->c;
+            while (1) {
+                int v_6 = z->c;
                 if (in_grouping_U(z, g_ca, 98, 382, 0)) goto lab5;
                 z->bra = z->c;
                 if (!(eq_s(z, 2, s_32))) goto lab5;
                 z->ket = z->c;
                 if (in_grouping_U(z, g_ca, 98, 382, 0)) goto lab5;
-                {   int ret = slice_from_s(z, 1, s_33);
+                {
+                    int ret = slice_from_s(z, 1, s_33);
                     if (ret < 0) return ret;
                 }
-                z->c = c6;
+                z->c = v_6;
                 break;
             lab5:
-                z->c = c6;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_6;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab4;
                     z->c = ret;
                 }
             }
             continue;
         lab4:
-            z->c = c5;
+            z->c = v_5;
             break;
         }
-        z->c = c4;
+        z->c = v_4;
     }
-    {   int c7 = z->c;
-        while(1) {
-            int c8 = z->c;
-            while(1) {
-                int c9 = z->c;
+    {
+        int v_7 = z->c;
+        while (1) {
+            int v_8 = z->c;
+            while (1) {
+                int v_9 = z->c;
                 z->bra = z->c;
                 if (!(eq_s(z, 2, s_34))) goto lab8;
                 z->ket = z->c;
-                {   int ret = slice_from_s(z, 2, s_35);
+                {
+                    int ret = slice_from_s(z, 2, s_35);
                     if (ret < 0) return ret;
                 }
-                z->c = c9;
+                z->c = v_9;
                 break;
             lab8:
-                z->c = c9;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_9;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab7;
                     z->c = ret;
                 }
             }
             continue;
         lab7:
-            z->c = c8;
+            z->c = v_8;
             break;
         }
-        z->c = c7;
+        z->c = v_7;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = 1;
-    {   int c1 = z->c;
-
+    ((SN_local *)z)->b_no_diacritics = 1;
+    {
+        int v_1 = z->c;
         {
             int ret = out_grouping_U(z, g_sa, 263, 382, 1);
             if (ret < 0) goto lab0;
             z->c += ret;
         }
-        z->I[1] = 0;
+        ((SN_local *)z)->b_no_diacritics = 0;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    z->I[0] = z->l;
-    {   int c2 = z->c;
-
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_2 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 117, 1);
             if (ret < 0) goto lab1;
             z->c += ret;
         }
-        z->I[0] = z->c;
-        if (z->I[0] >= 2) goto lab1;
-
+        ((SN_local *)z)->i_p1 = z->c;
+        if (((SN_local *)z)->i_p1 >= 2) goto lab1;
         {
             int ret = in_grouping_U(z, g_v, 97, 117, 1);
             if (ret < 0) goto lab1;
             z->c += ret;
         }
-        z->I[0] = z->c;
+        ((SN_local *)z)->i_p1 = z->c;
     lab1:
-        z->c = c2;
+        z->c = v_2;
     }
-    {   int c3 = z->c;
-        while(1) {
+    {
+        int v_3 = z->c;
+        while (1) {
             if (z->c == z->l || z->p[z->c] != 'r') goto lab3;
             z->c++;
             break;
         lab3:
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab2;
                 z->c = ret;
             }
         }
-        {   int c4 = z->c;
-            if (z->c < 2) goto lab5;
-            goto lab4;
-        lab5:
-            z->c = c4;
-
+        do {
+            int v_4 = z->c;
+            if (z->c < 2) goto lab4;
+            break;
+        lab4:
+            z->c = v_4;
             {
                 int ret = in_grouping_U(z, g_rg, 114, 114, 1);
                 if (ret < 0) goto lab2;
                 z->c += ret;
             }
-        }
-    lab4:
-        if ((z->I[0] - z->c) <= 1) goto lab2;
-        z->I[0] = z->c;
+        } while (0);
+        if ((((SN_local *)z)->i_p1 - z->c) <= 1) goto lab2;
+        ((SN_local *)z)->i_p1 = z->c;
     lab2:
-        z->c = c3;
+        z->c = v_3;
     }
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_Step_1(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3435050 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_1, 130);
+    among_var = find_among_b(z, a_1, 130, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 4, s_36);
+            {
+                int ret = slice_from_s(z, 4, s_36);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_37);
+            {
+                int ret = slice_from_s(z, 3, s_37);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 5, s_38);
+            {
+                int ret = slice_from_s(z, 5, s_38);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 5, s_39);
+            {
+                int ret = slice_from_s(z, 5, s_39);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 3, s_40);
+            {
+                int ret = slice_from_s(z, 3, s_40);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 6, s_41);
+            {
+                int ret = slice_from_s(z, 6, s_41);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_42);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_42);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 4, s_43);
+            {
+                int ret = slice_from_s(z, 4, s_43);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 5, s_44);
+            {
+                int ret = slice_from_s(z, 5, s_44);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 4, s_45);
+            {
+                int ret = slice_from_s(z, 4, s_45);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 5, s_46);
+            {
+                int ret = slice_from_s(z, 5, s_46);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 4, s_47);
+            {
+                int ret = slice_from_s(z, 4, s_47);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            {   int ret = slice_from_s(z, 4, s_48);
+            {
+                int ret = slice_from_s(z, 4, s_48);
                 if (ret < 0) return ret;
             }
             break;
         case 14:
-            {   int ret = slice_from_s(z, 4, s_49);
+            {
+                int ret = slice_from_s(z, 4, s_49);
                 if (ret < 0) return ret;
             }
             break;
         case 15:
-            {   int ret = slice_from_s(z, 4, s_50);
+            {
+                int ret = slice_from_s(z, 4, s_50);
                 if (ret < 0) return ret;
             }
             break;
         case 16:
-            {   int ret = slice_from_s(z, 4, s_51);
+            {
+                int ret = slice_from_s(z, 4, s_51);
                 if (ret < 0) return ret;
             }
             break;
         case 17:
-            {   int ret = slice_from_s(z, 4, s_52);
+            {
+                int ret = slice_from_s(z, 4, s_52);
                 if (ret < 0) return ret;
             }
             break;
         case 18:
-            {   int ret = slice_from_s(z, 4, s_53);
+            {
+                int ret = slice_from_s(z, 4, s_53);
                 if (ret < 0) return ret;
             }
             break;
         case 19:
-            {   int ret = slice_from_s(z, 3, s_54);
+            {
+                int ret = slice_from_s(z, 3, s_54);
                 if (ret < 0) return ret;
             }
             break;
         case 20:
-            {   int ret = slice_from_s(z, 6, s_55);
+            {
+                int ret = slice_from_s(z, 6, s_55);
                 if (ret < 0) return ret;
             }
             break;
         case 21:
-            {   int ret = slice_from_s(z, 6, s_56);
+            {
+                int ret = slice_from_s(z, 6, s_56);
                 if (ret < 0) return ret;
             }
             break;
         case 22:
-            {   int ret = slice_from_s(z, 5, s_57);
+            {
+                int ret = slice_from_s(z, 5, s_57);
                 if (ret < 0) return ret;
             }
             break;
         case 23:
-            {   int ret = slice_from_s(z, 3, s_58);
+            {
+                int ret = slice_from_s(z, 3, s_58);
                 if (ret < 0) return ret;
             }
             break;
         case 24:
-            {   int ret = slice_from_s(z, 3, s_59);
+            {
+                int ret = slice_from_s(z, 3, s_59);
                 if (ret < 0) return ret;
             }
             break;
         case 25:
-            {   int ret = slice_from_s(z, 3, s_60);
+            {
+                int ret = slice_from_s(z, 3, s_60);
                 if (ret < 0) return ret;
             }
             break;
         case 26:
-            {   int ret = slice_from_s(z, 4, s_61);
+            {
+                int ret = slice_from_s(z, 4, s_61);
                 if (ret < 0) return ret;
             }
             break;
         case 27:
-            {   int ret = slice_from_s(z, 4, s_62);
+            {
+                int ret = slice_from_s(z, 4, s_62);
                 if (ret < 0) return ret;
             }
             break;
         case 28:
-            {   int ret = slice_from_s(z, 5, s_63);
+            {
+                int ret = slice_from_s(z, 5, s_63);
                 if (ret < 0) return ret;
             }
             break;
         case 29:
-            {   int ret = slice_from_s(z, 6, s_64);
+            {
+                int ret = slice_from_s(z, 6, s_64);
                 if (ret < 0) return ret;
             }
             break;
         case 30:
-            {   int ret = slice_from_s(z, 6, s_65);
+            {
+                int ret = slice_from_s(z, 6, s_65);
                 if (ret < 0) return ret;
             }
             break;
         case 31:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_66);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_66);
                 if (ret < 0) return ret;
             }
             break;
         case 32:
-            {   int ret = slice_from_s(z, 5, s_67);
+            {
+                int ret = slice_from_s(z, 5, s_67);
                 if (ret < 0) return ret;
             }
             break;
         case 33:
-            {   int ret = slice_from_s(z, 5, s_68);
+            {
+                int ret = slice_from_s(z, 5, s_68);
                 if (ret < 0) return ret;
             }
             break;
         case 34:
-            {   int ret = slice_from_s(z, 5, s_69);
+            {
+                int ret = slice_from_s(z, 5, s_69);
                 if (ret < 0) return ret;
             }
             break;
         case 35:
-            {   int ret = slice_from_s(z, 6, s_70);
+            {
+                int ret = slice_from_s(z, 6, s_70);
                 if (ret < 0) return ret;
             }
             break;
         case 36:
-            {   int ret = slice_from_s(z, 5, s_71);
+            {
+                int ret = slice_from_s(z, 5, s_71);
                 if (ret < 0) return ret;
             }
             break;
         case 37:
-            {   int ret = slice_from_s(z, 5, s_72);
+            {
+                int ret = slice_from_s(z, 5, s_72);
                 if (ret < 0) return ret;
             }
             break;
         case 38:
-            {   int ret = slice_from_s(z, 5, s_73);
+            {
+                int ret = slice_from_s(z, 5, s_73);
                 if (ret < 0) return ret;
             }
             break;
         case 39:
-            {   int ret = slice_from_s(z, 5, s_74);
+            {
+                int ret = slice_from_s(z, 5, s_74);
                 if (ret < 0) return ret;
             }
             break;
         case 40:
-            {   int ret = slice_from_s(z, 4, s_75);
+            {
+                int ret = slice_from_s(z, 4, s_75);
                 if (ret < 0) return ret;
             }
             break;
         case 41:
-            {   int ret = slice_from_s(z, 4, s_76);
+            {
+                int ret = slice_from_s(z, 4, s_76);
                 if (ret < 0) return ret;
             }
             break;
         case 42:
-            {   int ret = slice_from_s(z, 4, s_77);
+            {
+                int ret = slice_from_s(z, 4, s_77);
                 if (ret < 0) return ret;
             }
             break;
         case 43:
-            {   int ret = slice_from_s(z, 6, s_78);
+            {
+                int ret = slice_from_s(z, 6, s_78);
                 if (ret < 0) return ret;
             }
             break;
         case 44:
-            {   int ret = slice_from_s(z, 6, s_79);
+            {
+                int ret = slice_from_s(z, 6, s_79);
                 if (ret < 0) return ret;
             }
             break;
         case 45:
-            {   int ret = slice_from_s(z, 5, s_80);
+            {
+                int ret = slice_from_s(z, 5, s_80);
                 if (ret < 0) return ret;
             }
             break;
         case 46:
-            {   int ret = slice_from_s(z, 5, s_81);
+            {
+                int ret = slice_from_s(z, 5, s_81);
                 if (ret < 0) return ret;
             }
             break;
         case 47:
-            {   int ret = slice_from_s(z, 4, s_82);
+            {
+                int ret = slice_from_s(z, 4, s_82);
                 if (ret < 0) return ret;
             }
             break;
         case 48:
-            {   int ret = slice_from_s(z, 4, s_83);
+            {
+                int ret = slice_from_s(z, 4, s_83);
                 if (ret < 0) return ret;
             }
             break;
         case 49:
-            {   int ret = slice_from_s(z, 5, s_84);
+            {
+                int ret = slice_from_s(z, 5, s_84);
                 if (ret < 0) return ret;
             }
             break;
         case 50:
-            {   int ret = slice_from_s(z, 6, s_85);
+            {
+                int ret = slice_from_s(z, 6, s_85);
                 if (ret < 0) return ret;
             }
             break;
         case 51:
-            {   int ret = slice_from_s(z, 5, s_86);
+            {
+                int ret = slice_from_s(z, 5, s_86);
                 if (ret < 0) return ret;
             }
             break;
         case 52:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_87);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_87);
                 if (ret < 0) return ret;
             }
             break;
         case 53:
-            {   int ret = slice_from_s(z, 4, s_88);
+            {
+                int ret = slice_from_s(z, 4, s_88);
                 if (ret < 0) return ret;
             }
             break;
         case 54:
-            {   int ret = slice_from_s(z, 5, s_89);
+            {
+                int ret = slice_from_s(z, 5, s_89);
                 if (ret < 0) return ret;
             }
             break;
         case 55:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_90);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_90);
                 if (ret < 0) return ret;
             }
             break;
         case 56:
-            {   int ret = slice_from_s(z, 5, s_91);
+            {
+                int ret = slice_from_s(z, 5, s_91);
                 if (ret < 0) return ret;
             }
             break;
         case 57:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_92);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_92);
                 if (ret < 0) return ret;
             }
             break;
         case 58:
-            {   int ret = slice_from_s(z, 4, s_93);
+            {
+                int ret = slice_from_s(z, 4, s_93);
                 if (ret < 0) return ret;
             }
             break;
         case 59:
-            {   int ret = slice_from_s(z, 4, s_94);
+            {
+                int ret = slice_from_s(z, 4, s_94);
                 if (ret < 0) return ret;
             }
             break;
         case 60:
-            {   int ret = slice_from_s(z, 4, s_95);
+            {
+                int ret = slice_from_s(z, 4, s_95);
                 if (ret < 0) return ret;
             }
             break;
         case 61:
-            {   int ret = slice_from_s(z, 4, s_96);
+            {
+                int ret = slice_from_s(z, 4, s_96);
                 if (ret < 0) return ret;
             }
             break;
         case 62:
-            {   int ret = slice_from_s(z, 4, s_97);
+            {
+                int ret = slice_from_s(z, 4, s_97);
                 if (ret < 0) return ret;
             }
             break;
         case 63:
-            {   int ret = slice_from_s(z, 5, s_98);
+            {
+                int ret = slice_from_s(z, 5, s_98);
                 if (ret < 0) return ret;
             }
             break;
         case 64:
-            {   int ret = slice_from_s(z, 6, s_99);
+            {
+                int ret = slice_from_s(z, 6, s_99);
                 if (ret < 0) return ret;
             }
             break;
         case 65:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_100);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_100);
                 if (ret < 0) return ret;
             }
             break;
         case 66:
-            {   int ret = slice_from_s(z, 5, s_101);
+            {
+                int ret = slice_from_s(z, 5, s_101);
                 if (ret < 0) return ret;
             }
             break;
         case 67:
-            {   int ret = slice_from_s(z, 4, s_102);
+            {
+                int ret = slice_from_s(z, 4, s_102);
                 if (ret < 0) return ret;
             }
             break;
         case 68:
-            {   int ret = slice_from_s(z, 5, s_103);
+            {
+                int ret = slice_from_s(z, 5, s_103);
                 if (ret < 0) return ret;
             }
             break;
         case 69:
-            {   int ret = slice_from_s(z, 6, s_104);
+            {
+                int ret = slice_from_s(z, 6, s_104);
                 if (ret < 0) return ret;
             }
             break;
         case 70:
-            {   int ret = slice_from_s(z, 5, s_105);
+            {
+                int ret = slice_from_s(z, 5, s_105);
                 if (ret < 0) return ret;
             }
             break;
         case 71:
-            {   int ret = slice_from_s(z, 4, s_106);
+            {
+                int ret = slice_from_s(z, 4, s_106);
                 if (ret < 0) return ret;
             }
             break;
         case 72:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_107);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_107);
                 if (ret < 0) return ret;
             }
             break;
         case 73:
-            {   int ret = slice_from_s(z, 3, s_108);
+            {
+                int ret = slice_from_s(z, 3, s_108);
                 if (ret < 0) return ret;
             }
             break;
         case 74:
-            {   int ret = slice_from_s(z, 4, s_109);
+            {
+                int ret = slice_from_s(z, 4, s_109);
                 if (ret < 0) return ret;
             }
             break;
         case 75:
-            {   int ret = slice_from_s(z, 3, s_110);
+            {
+                int ret = slice_from_s(z, 3, s_110);
                 if (ret < 0) return ret;
             }
             break;
         case 76:
-            {   int ret = slice_from_s(z, 3, s_111);
+            {
+                int ret = slice_from_s(z, 3, s_111);
                 if (ret < 0) return ret;
             }
             break;
         case 77:
-            {   int ret = slice_from_s(z, 6, s_112);
+            {
+                int ret = slice_from_s(z, 6, s_112);
                 if (ret < 0) return ret;
             }
             break;
         case 78:
-            {   int ret = slice_from_s(z, 4, s_113);
+            {
+                int ret = slice_from_s(z, 4, s_113);
                 if (ret < 0) return ret;
             }
             break;
         case 79:
-            {   int ret = slice_from_s(z, 3, s_114);
+            {
+                int ret = slice_from_s(z, 3, s_114);
                 if (ret < 0) return ret;
             }
             break;
         case 80:
-            {   int ret = slice_from_s(z, 3, s_115);
+            {
+                int ret = slice_from_s(z, 3, s_115);
                 if (ret < 0) return ret;
             }
             break;
         case 81:
-            {   int ret = slice_from_s(z, 3, s_116);
+            {
+                int ret = slice_from_s(z, 3, s_116);
                 if (ret < 0) return ret;
             }
             break;
         case 82:
-            {   int ret = slice_from_s(z, 4, s_117);
+            {
+                int ret = slice_from_s(z, 4, s_117);
                 if (ret < 0) return ret;
             }
             break;
         case 83:
-            {   int ret = slice_from_s(z, 4, s_118);
+            {
+                int ret = slice_from_s(z, 4, s_118);
                 if (ret < 0) return ret;
             }
             break;
         case 84:
-            {   int ret = slice_from_s(z, 4, s_119);
+            {
+                int ret = slice_from_s(z, 4, s_119);
                 if (ret < 0) return ret;
             }
             break;
         case 85:
-            {   int ret = slice_from_s(z, 4, s_120);
+            {
+                int ret = slice_from_s(z, 4, s_120);
                 if (ret < 0) return ret;
             }
             break;
         case 86:
-            {   int ret = slice_from_s(z, 4, s_121);
+            {
+                int ret = slice_from_s(z, 4, s_121);
                 if (ret < 0) return ret;
             }
             break;
         case 87:
-            {   int ret = slice_from_s(z, 4, s_122);
+            {
+                int ret = slice_from_s(z, 4, s_122);
                 if (ret < 0) return ret;
             }
             break;
         case 88:
-            {   int ret = slice_from_s(z, 4, s_123);
+            {
+                int ret = slice_from_s(z, 4, s_123);
                 if (ret < 0) return ret;
             }
             break;
         case 89:
-            {   int ret = slice_from_s(z, 4, s_124);
+            {
+                int ret = slice_from_s(z, 4, s_124);
                 if (ret < 0) return ret;
             }
             break;
         case 90:
-            {   int ret = slice_from_s(z, 5, s_125);
+            {
+                int ret = slice_from_s(z, 5, s_125);
                 if (ret < 0) return ret;
             }
             break;
         case 91:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_126);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_126);
                 if (ret < 0) return ret;
             }
             break;
@@ -5608,874 +5734,1039 @@ static int r_Step_1(struct SN_env * z) {
 static int r_Step_2(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_2, 2035);
+    among_var = find_among_b(z, a_2, 2035, 0);
     if (!among_var) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 2, s_127);
+            {
+                int ret = slice_from_s(z, 2, s_127);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_128);
+            {
+                int ret = slice_from_s(z, 3, s_128);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_129);
+            {
+                int ret = slice_from_s(z, 3, s_129);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 4, s_130);
+            {
+                int ret = slice_from_s(z, 4, s_130);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = slice_from_s(z, 5, s_131);
+            {
+                int ret = slice_from_s(z, 5, s_131);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_from_s(z, 5, s_132);
+            {
+                int ret = slice_from_s(z, 5, s_132);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
-            {   int ret = slice_from_s(z, 5, s_133);
+            {
+                int ret = slice_from_s(z, 5, s_133);
                 if (ret < 0) return ret;
             }
             break;
         case 8:
-            {   int ret = slice_from_s(z, 5, s_134);
+            {
+                int ret = slice_from_s(z, 5, s_134);
                 if (ret < 0) return ret;
             }
             break;
         case 9:
-            {   int ret = slice_from_s(z, 5, s_135);
+            {
+                int ret = slice_from_s(z, 5, s_135);
                 if (ret < 0) return ret;
             }
             break;
         case 10:
-            {   int ret = slice_from_s(z, 2, s_136);
+            {
+                int ret = slice_from_s(z, 2, s_136);
                 if (ret < 0) return ret;
             }
             break;
         case 11:
-            {   int ret = slice_from_s(z, 2, s_137);
+            {
+                int ret = slice_from_s(z, 2, s_137);
                 if (ret < 0) return ret;
             }
             break;
         case 12:
-            {   int ret = slice_from_s(z, 2, s_138);
+            {
+                int ret = slice_from_s(z, 2, s_138);
                 if (ret < 0) return ret;
             }
             break;
         case 13:
-            {   int ret = slice_from_s(z, 1, s_139);
+            {
+                int ret = slice_from_s(z, 1, s_139);
                 if (ret < 0) return ret;
             }
             break;
         case 14:
-            {   int ret = slice_from_s(z, 3, s_140);
+            {
+                int ret = slice_from_s(z, 3, s_140);
                 if (ret < 0) return ret;
             }
             break;
         case 15:
-            {   int ret = slice_from_s(z, 3, s_141);
+            {
+                int ret = slice_from_s(z, 3, s_141);
                 if (ret < 0) return ret;
             }
             break;
         case 16:
-            {   int ret = slice_from_s(z, 3, s_142);
+            {
+                int ret = slice_from_s(z, 3, s_142);
                 if (ret < 0) return ret;
             }
             break;
         case 17:
-            {   int ret = slice_from_s(z, 4, s_143);
+            {
+                int ret = slice_from_s(z, 4, s_143);
                 if (ret < 0) return ret;
             }
             break;
         case 18:
-            {   int ret = slice_from_s(z, 2, s_144);
+            {
+                int ret = slice_from_s(z, 2, s_144);
                 if (ret < 0) return ret;
             }
             break;
         case 19:
-            {   int ret = slice_from_s(z, 3, s_145);
+            {
+                int ret = slice_from_s(z, 3, s_145);
                 if (ret < 0) return ret;
             }
             break;
         case 20:
-            {   int ret = slice_from_s(z, 1, s_146);
+            {
+                int ret = slice_from_s(z, 1, s_146);
                 if (ret < 0) return ret;
             }
             break;
         case 21:
-            {   int ret = slice_from_s(z, 4, s_147);
+            {
+                int ret = slice_from_s(z, 4, s_147);
                 if (ret < 0) return ret;
             }
             break;
         case 22:
-            {   int ret = slice_from_s(z, 3, s_148);
+            {
+                int ret = slice_from_s(z, 3, s_148);
                 if (ret < 0) return ret;
             }
             break;
         case 23:
-            {   int ret = slice_from_s(z, 2, s_149);
+            {
+                int ret = slice_from_s(z, 2, s_149);
                 if (ret < 0) return ret;
             }
             break;
         case 24:
-            {   int ret = slice_from_s(z, 2, s_150);
+            {
+                int ret = slice_from_s(z, 2, s_150);
                 if (ret < 0) return ret;
             }
             break;
         case 25:
-            {   int ret = slice_from_s(z, 2, s_151);
+            {
+                int ret = slice_from_s(z, 2, s_151);
                 if (ret < 0) return ret;
             }
             break;
         case 26:
-            {   int ret = slice_from_s(z, 3, s_152);
+            {
+                int ret = slice_from_s(z, 3, s_152);
                 if (ret < 0) return ret;
             }
             break;
         case 27:
-            {   int ret = slice_from_s(z, 4, s_153);
+            {
+                int ret = slice_from_s(z, 4, s_153);
                 if (ret < 0) return ret;
             }
             break;
         case 28:
-            {   int ret = slice_from_s(z, 4, s_154);
+            {
+                int ret = slice_from_s(z, 4, s_154);
                 if (ret < 0) return ret;
             }
             break;
         case 29:
-            {   int ret = slice_from_s(z, 4, s_155);
+            {
+                int ret = slice_from_s(z, 4, s_155);
                 if (ret < 0) return ret;
             }
             break;
         case 30:
-            {   int ret = slice_from_s(z, 3, s_156);
+            {
+                int ret = slice_from_s(z, 3, s_156);
                 if (ret < 0) return ret;
             }
             break;
         case 31:
-            {   int ret = slice_from_s(z, 3, s_157);
+            {
+                int ret = slice_from_s(z, 3, s_157);
                 if (ret < 0) return ret;
             }
             break;
         case 32:
-            {   int ret = slice_from_s(z, 3, s_158);
+            {
+                int ret = slice_from_s(z, 3, s_158);
                 if (ret < 0) return ret;
             }
             break;
         case 33:
-            {   int ret = slice_from_s(z, 3, s_159);
+            {
+                int ret = slice_from_s(z, 3, s_159);
                 if (ret < 0) return ret;
             }
             break;
         case 34:
-            {   int ret = slice_from_s(z, 3, s_160);
+            {
+                int ret = slice_from_s(z, 3, s_160);
                 if (ret < 0) return ret;
             }
             break;
         case 35:
-            {   int ret = slice_from_s(z, 3, s_161);
+            {
+                int ret = slice_from_s(z, 3, s_161);
                 if (ret < 0) return ret;
             }
             break;
         case 36:
-            {   int ret = slice_from_s(z, 3, s_162);
+            {
+                int ret = slice_from_s(z, 3, s_162);
                 if (ret < 0) return ret;
             }
             break;
         case 37:
-            {   int ret = slice_from_s(z, 3, s_163);
+            {
+                int ret = slice_from_s(z, 3, s_163);
                 if (ret < 0) return ret;
             }
             break;
         case 38:
-            {   int ret = slice_from_s(z, 4, s_164);
+            {
+                int ret = slice_from_s(z, 4, s_164);
                 if (ret < 0) return ret;
             }
             break;
         case 39:
-            {   int ret = slice_from_s(z, 3, s_165);
+            {
+                int ret = slice_from_s(z, 3, s_165);
                 if (ret < 0) return ret;
             }
             break;
         case 40:
-            {   int ret = slice_from_s(z, 3, s_166);
+            {
+                int ret = slice_from_s(z, 3, s_166);
                 if (ret < 0) return ret;
             }
             break;
         case 41:
-            {   int ret = slice_from_s(z, 3, s_167);
+            {
+                int ret = slice_from_s(z, 3, s_167);
                 if (ret < 0) return ret;
             }
             break;
         case 42:
-            {   int ret = slice_from_s(z, 3, s_168);
+            {
+                int ret = slice_from_s(z, 3, s_168);
                 if (ret < 0) return ret;
             }
             break;
         case 43:
-            {   int ret = slice_from_s(z, 3, s_169);
+            {
+                int ret = slice_from_s(z, 3, s_169);
                 if (ret < 0) return ret;
             }
             break;
         case 44:
-            {   int ret = slice_from_s(z, 3, s_170);
+            {
+                int ret = slice_from_s(z, 3, s_170);
                 if (ret < 0) return ret;
             }
             break;
         case 45:
-            {   int ret = slice_from_s(z, 3, s_171);
+            {
+                int ret = slice_from_s(z, 3, s_171);
                 if (ret < 0) return ret;
             }
             break;
         case 46:
-            {   int ret = slice_from_s(z, 3, s_172);
+            {
+                int ret = slice_from_s(z, 3, s_172);
                 if (ret < 0) return ret;
             }
             break;
         case 47:
-            {   int ret = slice_from_s(z, 4, s_173);
+            {
+                int ret = slice_from_s(z, 4, s_173);
                 if (ret < 0) return ret;
             }
             break;
         case 48:
-            {   int ret = slice_from_s(z, 4, s_174);
+            {
+                int ret = slice_from_s(z, 4, s_174);
                 if (ret < 0) return ret;
             }
             break;
         case 49:
-            {   int ret = slice_from_s(z, 4, s_175);
+            {
+                int ret = slice_from_s(z, 4, s_175);
                 if (ret < 0) return ret;
             }
             break;
         case 50:
-            {   int ret = slice_from_s(z, 2, s_176);
+            {
+                int ret = slice_from_s(z, 2, s_176);
                 if (ret < 0) return ret;
             }
             break;
         case 51:
-            {   int ret = slice_from_s(z, 3, s_177);
+            {
+                int ret = slice_from_s(z, 3, s_177);
                 if (ret < 0) return ret;
             }
             break;
         case 52:
-            {   int ret = slice_from_s(z, 3, s_178);
+            {
+                int ret = slice_from_s(z, 3, s_178);
                 if (ret < 0) return ret;
             }
             break;
         case 53:
-            {   int ret = slice_from_s(z, 2, s_179);
+            {
+                int ret = slice_from_s(z, 2, s_179);
                 if (ret < 0) return ret;
             }
             break;
         case 54:
-            {   int ret = slice_from_s(z, 2, s_180);
+            {
+                int ret = slice_from_s(z, 2, s_180);
                 if (ret < 0) return ret;
             }
             break;
         case 55:
-            {   int ret = slice_from_s(z, 2, s_181);
+            {
+                int ret = slice_from_s(z, 2, s_181);
                 if (ret < 0) return ret;
             }
             break;
         case 56:
-            {   int ret = slice_from_s(z, 2, s_182);
+            {
+                int ret = slice_from_s(z, 2, s_182);
                 if (ret < 0) return ret;
             }
             break;
         case 57:
-            {   int ret = slice_from_s(z, 2, s_183);
+            {
+                int ret = slice_from_s(z, 2, s_183);
                 if (ret < 0) return ret;
             }
             break;
         case 58:
-            {   int ret = slice_from_s(z, 2, s_184);
+            {
+                int ret = slice_from_s(z, 2, s_184);
                 if (ret < 0) return ret;
             }
             break;
         case 59:
-            {   int ret = slice_from_s(z, 4, s_185);
+            {
+                int ret = slice_from_s(z, 4, s_185);
                 if (ret < 0) return ret;
             }
             break;
         case 60:
-            {   int ret = slice_from_s(z, 4, s_186);
+            {
+                int ret = slice_from_s(z, 4, s_186);
                 if (ret < 0) return ret;
             }
             break;
         case 61:
-            {   int ret = slice_from_s(z, 4, s_187);
+            {
+                int ret = slice_from_s(z, 4, s_187);
                 if (ret < 0) return ret;
             }
             break;
         case 62:
-            {   int ret = slice_from_s(z, 4, s_188);
+            {
+                int ret = slice_from_s(z, 4, s_188);
                 if (ret < 0) return ret;
             }
             break;
         case 63:
-            {   int ret = slice_from_s(z, 4, s_189);
+            {
+                int ret = slice_from_s(z, 4, s_189);
                 if (ret < 0) return ret;
             }
             break;
         case 64:
-            {   int ret = slice_from_s(z, 4, s_190);
+            {
+                int ret = slice_from_s(z, 4, s_190);
                 if (ret < 0) return ret;
             }
             break;
         case 65:
-            {   int ret = slice_from_s(z, 4, s_191);
+            {
+                int ret = slice_from_s(z, 4, s_191);
                 if (ret < 0) return ret;
             }
             break;
         case 66:
-            {   int ret = slice_from_s(z, 3, s_192);
+            {
+                int ret = slice_from_s(z, 3, s_192);
                 if (ret < 0) return ret;
             }
             break;
         case 67:
-            {   int ret = slice_from_s(z, 3, s_193);
+            {
+                int ret = slice_from_s(z, 3, s_193);
                 if (ret < 0) return ret;
             }
             break;
         case 68:
-            {   int ret = slice_from_s(z, 4, s_194);
+            {
+                int ret = slice_from_s(z, 4, s_194);
                 if (ret < 0) return ret;
             }
             break;
         case 69:
-            {   int ret = slice_from_s(z, 3, s_195);
+            {
+                int ret = slice_from_s(z, 3, s_195);
                 if (ret < 0) return ret;
             }
             break;
         case 70:
-            {   int ret = slice_from_s(z, 2, s_196);
+            {
+                int ret = slice_from_s(z, 2, s_196);
                 if (ret < 0) return ret;
             }
             break;
         case 71:
-            {   int ret = slice_from_s(z, 3, s_197);
+            {
+                int ret = slice_from_s(z, 3, s_197);
                 if (ret < 0) return ret;
             }
             break;
         case 72:
-            {   int ret = slice_from_s(z, 3, s_198);
+            {
+                int ret = slice_from_s(z, 3, s_198);
                 if (ret < 0) return ret;
             }
             break;
         case 73:
-            {   int ret = slice_from_s(z, 3, s_199);
+            {
+                int ret = slice_from_s(z, 3, s_199);
                 if (ret < 0) return ret;
             }
             break;
         case 74:
-            {   int ret = slice_from_s(z, 3, s_200);
+            {
+                int ret = slice_from_s(z, 3, s_200);
                 if (ret < 0) return ret;
             }
             break;
         case 75:
-            {   int ret = slice_from_s(z, 4, s_201);
+            {
+                int ret = slice_from_s(z, 4, s_201);
                 if (ret < 0) return ret;
             }
             break;
         case 76:
-            {   int ret = slice_from_s(z, 3, s_202);
+            {
+                int ret = slice_from_s(z, 3, s_202);
                 if (ret < 0) return ret;
             }
             break;
         case 77:
-            {   int ret = slice_from_s(z, 2, s_203);
+            {
+                int ret = slice_from_s(z, 2, s_203);
                 if (ret < 0) return ret;
             }
             break;
         case 78:
-            {   int ret = slice_from_s(z, 2, s_204);
+            {
+                int ret = slice_from_s(z, 2, s_204);
                 if (ret < 0) return ret;
             }
             break;
         case 79:
-            {   int ret = slice_from_s(z, 2, s_205);
+            {
+                int ret = slice_from_s(z, 2, s_205);
                 if (ret < 0) return ret;
             }
             break;
         case 80:
-            {   int ret = slice_from_s(z, 2, s_206);
+            {
+                int ret = slice_from_s(z, 2, s_206);
                 if (ret < 0) return ret;
             }
             break;
         case 81:
-            {   int ret = slice_from_s(z, 3, s_207);
+            {
+                int ret = slice_from_s(z, 3, s_207);
                 if (ret < 0) return ret;
             }
             break;
         case 82:
-            {   int ret = slice_from_s(z, 3, s_208);
+            {
+                int ret = slice_from_s(z, 3, s_208);
                 if (ret < 0) return ret;
             }
             break;
         case 83:
-            {   int ret = slice_from_s(z, 2, s_209);
+            {
+                int ret = slice_from_s(z, 2, s_209);
                 if (ret < 0) return ret;
             }
             break;
         case 84:
-            {   int ret = slice_from_s(z, 3, s_210);
+            {
+                int ret = slice_from_s(z, 3, s_210);
                 if (ret < 0) return ret;
             }
             break;
         case 85:
-            {   int ret = slice_from_s(z, 3, s_211);
+            {
+                int ret = slice_from_s(z, 3, s_211);
                 if (ret < 0) return ret;
             }
             break;
         case 86:
-            {   int ret = slice_from_s(z, 4, s_212);
+            {
+                int ret = slice_from_s(z, 4, s_212);
                 if (ret < 0) return ret;
             }
             break;
         case 87:
-            {   int ret = slice_from_s(z, 2, s_213);
+            {
+                int ret = slice_from_s(z, 2, s_213);
                 if (ret < 0) return ret;
             }
             break;
         case 88:
-            {   int ret = slice_from_s(z, 3, s_214);
+            {
+                int ret = slice_from_s(z, 3, s_214);
                 if (ret < 0) return ret;
             }
             break;
         case 89:
-            {   int ret = slice_from_s(z, 4, s_215);
+            {
+                int ret = slice_from_s(z, 4, s_215);
                 if (ret < 0) return ret;
             }
             break;
         case 90:
-            {   int ret = slice_from_s(z, 5, s_216);
+            {
+                int ret = slice_from_s(z, 5, s_216);
                 if (ret < 0) return ret;
             }
             break;
         case 91:
-            {   int ret = slice_from_s(z, 3, s_217);
+            {
+                int ret = slice_from_s(z, 3, s_217);
                 if (ret < 0) return ret;
             }
             break;
         case 92:
-            {   int ret = slice_from_s(z, 4, s_218);
+            {
+                int ret = slice_from_s(z, 4, s_218);
                 if (ret < 0) return ret;
             }
             break;
         case 93:
-            {   int ret = slice_from_s(z, 4, s_219);
+            {
+                int ret = slice_from_s(z, 4, s_219);
                 if (ret < 0) return ret;
             }
             break;
         case 94:
-            {   int ret = slice_from_s(z, 3, s_220);
+            {
+                int ret = slice_from_s(z, 3, s_220);
                 if (ret < 0) return ret;
             }
             break;
         case 95:
-            {   int ret = slice_from_s(z, 1, s_221);
+            {
+                int ret = slice_from_s(z, 1, s_221);
                 if (ret < 0) return ret;
             }
             break;
         case 96:
-            {   int ret = slice_from_s(z, 3, s_222);
+            {
+                int ret = slice_from_s(z, 3, s_222);
                 if (ret < 0) return ret;
             }
             break;
         case 97:
-            {   int ret = slice_from_s(z, 3, s_223);
+            {
+                int ret = slice_from_s(z, 3, s_223);
                 if (ret < 0) return ret;
             }
             break;
         case 98:
-            {   int ret = slice_from_s(z, 3, s_224);
+            {
+                int ret = slice_from_s(z, 3, s_224);
                 if (ret < 0) return ret;
             }
             break;
         case 99:
-            {   int ret = slice_from_s(z, 3, s_225);
+            {
+                int ret = slice_from_s(z, 3, s_225);
                 if (ret < 0) return ret;
             }
             break;
         case 100:
-            {   int ret = slice_from_s(z, 2, s_226);
+            {
+                int ret = slice_from_s(z, 2, s_226);
                 if (ret < 0) return ret;
             }
             break;
         case 101:
-            {   int ret = slice_from_s(z, 3, s_227);
+            {
+                int ret = slice_from_s(z, 3, s_227);
                 if (ret < 0) return ret;
             }
             break;
         case 102:
-            {   int ret = slice_from_s(z, 4, s_228);
+            {
+                int ret = slice_from_s(z, 4, s_228);
                 if (ret < 0) return ret;
             }
             break;
         case 103:
-            {   int ret = slice_from_s(z, 2, s_229);
+            {
+                int ret = slice_from_s(z, 2, s_229);
                 if (ret < 0) return ret;
             }
             break;
         case 104:
-            {   int ret = slice_from_s(z, 1, s_230);
+            {
+                int ret = slice_from_s(z, 1, s_230);
                 if (ret < 0) return ret;
             }
             break;
         case 105:
-            {   int ret = slice_from_s(z, 2, s_231);
+            {
+                int ret = slice_from_s(z, 2, s_231);
                 if (ret < 0) return ret;
             }
             break;
         case 106:
-            {   int ret = slice_from_s(z, 5, s_232);
+            {
+                int ret = slice_from_s(z, 5, s_232);
                 if (ret < 0) return ret;
             }
             break;
         case 107:
-            {   int ret = slice_from_s(z, 5, s_233);
+            {
+                int ret = slice_from_s(z, 5, s_233);
                 if (ret < 0) return ret;
             }
             break;
         case 108:
-            {   int ret = slice_from_s(z, 5, s_234);
+            {
+                int ret = slice_from_s(z, 5, s_234);
                 if (ret < 0) return ret;
             }
             break;
         case 109:
-            {   int ret = slice_from_s(z, 2, s_235);
+            {
+                int ret = slice_from_s(z, 2, s_235);
                 if (ret < 0) return ret;
             }
             break;
         case 110:
-            {   int ret = slice_from_s(z, 4, s_236);
+            {
+                int ret = slice_from_s(z, 4, s_236);
                 if (ret < 0) return ret;
             }
             break;
         case 111:
-            {   int ret = slice_from_s(z, 4, s_237);
+            {
+                int ret = slice_from_s(z, 4, s_237);
                 if (ret < 0) return ret;
             }
             break;
         case 112:
-            {   int ret = slice_from_s(z, 4, s_238);
+            {
+                int ret = slice_from_s(z, 4, s_238);
                 if (ret < 0) return ret;
             }
             break;
         case 113:
-            {   int ret = slice_from_s(z, 2, s_239);
+            {
+                int ret = slice_from_s(z, 2, s_239);
                 if (ret < 0) return ret;
             }
             break;
         case 114:
-            {   int ret = slice_from_s(z, 3, s_240);
+            {
+                int ret = slice_from_s(z, 3, s_240);
                 if (ret < 0) return ret;
             }
             break;
         case 115:
-            {   int ret = slice_from_s(z, 2, s_241);
+            {
+                int ret = slice_from_s(z, 2, s_241);
                 if (ret < 0) return ret;
             }
             break;
         case 116:
-            {   int ret = slice_from_s(z, 1, s_242);
+            {
+                int ret = slice_from_s(z, 1, s_242);
                 if (ret < 0) return ret;
             }
             break;
         case 117:
-            {   int ret = slice_from_s(z, 4, s_243);
+            {
+                int ret = slice_from_s(z, 4, s_243);
                 if (ret < 0) return ret;
             }
             break;
         case 118:
-            {   int ret = slice_from_s(z, 4, s_244);
+            {
+                int ret = slice_from_s(z, 4, s_244);
                 if (ret < 0) return ret;
             }
             break;
         case 119:
-            {   int ret = slice_from_s(z, 1, s_245);
+            {
+                int ret = slice_from_s(z, 1, s_245);
                 if (ret < 0) return ret;
             }
             break;
         case 120:
-            {   int ret = slice_from_s(z, 2, s_246);
+            {
+                int ret = slice_from_s(z, 2, s_246);
                 if (ret < 0) return ret;
             }
             break;
         case 121:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_247);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_247);
                 if (ret < 0) return ret;
             }
             break;
         case 122:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_248);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_248);
                 if (ret < 0) return ret;
             }
             break;
         case 123:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_249);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_249);
                 if (ret < 0) return ret;
             }
             break;
         case 124:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_250);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_250);
                 if (ret < 0) return ret;
             }
             break;
         case 125:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_251);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_251);
                 if (ret < 0) return ret;
             }
             break;
         case 126:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_252);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_252);
                 if (ret < 0) return ret;
             }
             break;
         case 127:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_253);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_253);
                 if (ret < 0) return ret;
             }
             break;
         case 128:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_254);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_254);
                 if (ret < 0) return ret;
             }
             break;
         case 129:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_255);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_255);
                 if (ret < 0) return ret;
             }
             break;
         case 130:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_256);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_256);
                 if (ret < 0) return ret;
             }
             break;
         case 131:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_257);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_257);
                 if (ret < 0) return ret;
             }
             break;
         case 132:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_258);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_258);
                 if (ret < 0) return ret;
             }
             break;
         case 133:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_259);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_259);
                 if (ret < 0) return ret;
             }
             break;
         case 134:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_260);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_260);
                 if (ret < 0) return ret;
             }
             break;
         case 135:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_261);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_261);
                 if (ret < 0) return ret;
             }
             break;
         case 136:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_262);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_262);
                 if (ret < 0) return ret;
             }
             break;
         case 137:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_263);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_263);
                 if (ret < 0) return ret;
             }
             break;
         case 138:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_264);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_264);
                 if (ret < 0) return ret;
             }
             break;
         case 139:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_265);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_265);
                 if (ret < 0) return ret;
             }
             break;
         case 140:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 5, s_266);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 5, s_266);
                 if (ret < 0) return ret;
             }
             break;
         case 141:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_267);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_267);
                 if (ret < 0) return ret;
             }
             break;
         case 142:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_268);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_268);
                 if (ret < 0) return ret;
             }
             break;
         case 143:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_269);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_269);
                 if (ret < 0) return ret;
             }
             break;
         case 144:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_270);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_270);
                 if (ret < 0) return ret;
             }
             break;
         case 145:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_271);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_271);
                 if (ret < 0) return ret;
             }
             break;
         case 146:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_272);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_272);
                 if (ret < 0) return ret;
             }
             break;
         case 147:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_273);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_273);
                 if (ret < 0) return ret;
             }
             break;
         case 148:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_274);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_274);
                 if (ret < 0) return ret;
             }
             break;
         case 149:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 4, s_275);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 4, s_275);
                 if (ret < 0) return ret;
             }
             break;
         case 150:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_276);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_276);
                 if (ret < 0) return ret;
             }
             break;
         case 151:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 3, s_277);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 3, s_277);
                 if (ret < 0) return ret;
             }
             break;
         case 152:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_278);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_278);
                 if (ret < 0) return ret;
             }
             break;
         case 153:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_279);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_279);
                 if (ret < 0) return ret;
             }
             break;
         case 154:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_280);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_280);
                 if (ret < 0) return ret;
             }
             break;
         case 155:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_281);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_281);
                 if (ret < 0) return ret;
             }
             break;
         case 156:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_282);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_282);
                 if (ret < 0) return ret;
             }
             break;
         case 157:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_283);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_283);
                 if (ret < 0) return ret;
             }
             break;
         case 158:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_284);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_284);
                 if (ret < 0) return ret;
             }
             break;
         case 159:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_285);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_285);
                 if (ret < 0) return ret;
             }
             break;
         case 160:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 2, s_286);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 2, s_286);
                 if (ret < 0) return ret;
             }
             break;
         case 161:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 1, s_287);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 1, s_287);
                 if (ret < 0) return ret;
             }
             break;
         case 162:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 1, s_288);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 1, s_288);
                 if (ret < 0) return ret;
             }
             break;
         case 163:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 1, s_289);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 1, s_289);
                 if (ret < 0) return ret;
             }
             break;
         case 164:
-            if (!(z->I[1])) return 0;
-            {   int ret = slice_from_s(z, 1, s_290);
+            if (!((SN_local *)z)->b_no_diacritics) return 0;
+            {
+                int ret = slice_from_s(z, 1, s_290);
                 if (ret < 0) return ret;
             }
             break;
@@ -6486,61 +6777,76 @@ static int r_Step_2(struct SN_env * z) {
 static int r_Step_3(struct SN_env * z) {
     z->ket = z->c;
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((3188642 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_3, 26)) return 0;
+    if (!find_among_b(z, a_3, 26, 0)) return 0;
     z->bra = z->c;
-    {   int ret = r_R1(z);
+    {
+        int ret = r_R1(z);
         if (ret <= 0) return ret;
     }
-    {   int ret = slice_from_s(z, 0, 0);
+    {
+        int ret = slice_from_s(z, 0, 0);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 extern int serbian_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_cyr_to_lat(z);
+    {
+        int ret = r_cyr_to_lat(z);
         if (ret < 0) return ret;
     }
-
-    {   int ret = r_prelude(z);
+    {
+        int ret = r_prelude(z);
         if (ret < 0) return ret;
     }
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_Step_1(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_Step_1(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_Step_2(z);
-                if (ret == 0) goto lab2;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_Step_2(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_Step_3(z);
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_Step_3(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * serbian_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * serbian_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->b_no_diacritics = 0;
+    }
+    return z;
+}
 
-extern void serbian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void serbian_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 1b2e27bcc72414e36f8732c1a2301a77260a66a8..8fa718540271822d0f070d12dc99885055769f68 100644 (file)
@@ -1,6 +1,19 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from spanish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_spanish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p2;
+    int i_p1;
+    int i_pV;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +22,7 @@ extern int spanish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_residual_suffix(struct SN_env * z);
 static int r_verb_suffix(struct SN_env * z);
 static int r_y_verb_suffix(struct SN_env * z);
@@ -19,32 +33,36 @@ static int r_R1(struct SN_env * z);
 static int r_RV(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_postlude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * spanish_UTF_8_create_env(void);
-extern void spanish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 'a' };
+static const symbol s_1[] = { 'e' };
+static const symbol s_2[] = { 'i' };
+static const symbol s_3[] = { 'o' };
+static const symbol s_4[] = { 'u' };
+static const symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
+static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
+static const symbol s_7[] = { 'a', 'r' };
+static const symbol s_8[] = { 'e', 'r' };
+static const symbol s_9[] = { 'i', 'r' };
+static const symbol s_10[] = { 'i', 'c' };
+static const symbol s_11[] = { 'l', 'o', 'g' };
+static const symbol s_12[] = { 'u' };
+static const symbol s_13[] = { 'e', 'n', 't', 'e' };
+static const symbol s_14[] = { 'a', 't' };
+static const symbol s_15[] = { 'a', 't' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_1[2] = { 0xC3, 0xA1 };
 static const symbol s_0_2[2] = { 0xC3, 0xA9 };
 static const symbol s_0_3[2] = { 0xC3, 0xAD };
 static const symbol s_0_4[2] = { 0xC3, 0xB3 };
 static const symbol s_0_5[2] = { 0xC3, 0xBA };
-
-static const struct among a_0[6] =
-{
-{ 0, 0, -1, 6, 0},
-{ 2, s_0_1, 0, 1, 0},
-{ 2, s_0_2, 0, 2, 0},
-{ 2, s_0_3, 0, 3, 0},
-{ 2, s_0_4, 0, 4, 0},
-{ 2, s_0_5, 0, 5, 0}
+static const struct among a_0[6] = {
+{ 0, 0, 0, 6, 0},
+{ 2, s_0_1, -1, 1, 0},
+{ 2, s_0_2, -2, 2, 0},
+{ 2, s_0_3, -3, 3, 0},
+{ 2, s_0_4, -4, 4, 0},
+{ 2, s_0_5, -5, 5, 0}
 };
 
 static const symbol s_1_0[2] = { 'l', 'a' };
@@ -60,22 +78,20 @@ static const symbol s_1_9[3] = { 'l', 'e', 's' };
 static const symbol s_1_10[3] = { 'l', 'o', 's' };
 static const symbol s_1_11[5] = { 's', 'e', 'l', 'o', 's' };
 static const symbol s_1_12[3] = { 'n', 'o', 's' };
-
-static const struct among a_1[13] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 4, s_1_1, 0, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 2, s_1_4, -1, -1, 0},
-{ 2, s_1_5, -1, -1, 0},
-{ 4, s_1_6, 5, -1, 0},
-{ 3, s_1_7, -1, -1, 0},
-{ 5, s_1_8, 7, -1, 0},
-{ 3, s_1_9, -1, -1, 0},
-{ 3, s_1_10, -1, -1, 0},
-{ 5, s_1_11, 10, -1, 0},
-{ 3, s_1_12, -1, -1, 0}
+static const struct among a_1[13] = {
+{ 2, s_1_0, 0, -1, 0},
+{ 4, s_1_1, -1, -1, 0},
+{ 2, s_1_2, 0, -1, 0},
+{ 2, s_1_3, 0, -1, 0},
+{ 2, s_1_4, 0, -1, 0},
+{ 2, s_1_5, 0, -1, 0},
+{ 4, s_1_6, -1, -1, 0},
+{ 3, s_1_7, 0, -1, 0},
+{ 5, s_1_8, -1, -1, 0},
+{ 3, s_1_9, 0, -1, 0},
+{ 3, s_1_10, 0, -1, 0},
+{ 5, s_1_11, -1, -1, 0},
+{ 3, s_1_12, 0, -1, 0}
 };
 
 static const symbol s_2_0[4] = { 'a', 'n', 'd', 'o' };
@@ -89,55 +105,47 @@ static const symbol s_2_7[2] = { 'i', 'r' };
 static const symbol s_2_8[3] = { 0xC3, 0xA1, 'r' };
 static const symbol s_2_9[3] = { 0xC3, 0xA9, 'r' };
 static const symbol s_2_10[3] = { 0xC3, 0xAD, 'r' };
-
-static const struct among a_2[11] =
-{
-{ 4, s_2_0, -1, 6, 0},
-{ 5, s_2_1, -1, 6, 0},
-{ 5, s_2_2, -1, 7, 0},
-{ 5, s_2_3, -1, 2, 0},
-{ 6, s_2_4, -1, 1, 0},
-{ 2, s_2_5, -1, 6, 0},
-{ 2, s_2_6, -1, 6, 0},
-{ 2, s_2_7, -1, 6, 0},
-{ 3, s_2_8, -1, 3, 0},
-{ 3, s_2_9, -1, 4, 0},
-{ 3, s_2_10, -1, 5, 0}
+static const struct among a_2[11] = {
+{ 4, s_2_0, 0, 6, 0},
+{ 5, s_2_1, 0, 6, 0},
+{ 5, s_2_2, 0, 7, 0},
+{ 5, s_2_3, 0, 2, 0},
+{ 6, s_2_4, 0, 1, 0},
+{ 2, s_2_5, 0, 6, 0},
+{ 2, s_2_6, 0, 6, 0},
+{ 2, s_2_7, 0, 6, 0},
+{ 3, s_2_8, 0, 3, 0},
+{ 3, s_2_9, 0, 4, 0},
+{ 3, s_2_10, 0, 5, 0}
 };
 
 static const symbol s_3_0[2] = { 'i', 'c' };
 static const symbol s_3_1[2] = { 'a', 'd' };
 static const symbol s_3_2[2] = { 'o', 's' };
 static const symbol s_3_3[2] = { 'i', 'v' };
-
-static const struct among a_3[4] =
-{
-{ 2, s_3_0, -1, -1, 0},
-{ 2, s_3_1, -1, -1, 0},
-{ 2, s_3_2, -1, -1, 0},
-{ 2, s_3_3, -1, 1, 0}
+static const struct among a_3[4] = {
+{ 2, s_3_0, 0, -1, 0},
+{ 2, s_3_1, 0, -1, 0},
+{ 2, s_3_2, 0, -1, 0},
+{ 2, s_3_3, 0, 1, 0}
 };
 
 static const symbol s_4_0[4] = { 'a', 'b', 'l', 'e' };
 static const symbol s_4_1[4] = { 'i', 'b', 'l', 'e' };
 static const symbol s_4_2[4] = { 'a', 'n', 't', 'e' };
-
-static const struct among a_4[3] =
-{
-{ 4, s_4_0, -1, 1, 0},
-{ 4, s_4_1, -1, 1, 0},
-{ 4, s_4_2, -1, 1, 0}
+static const struct among a_4[3] = {
+{ 4, s_4_0, 0, 1, 0},
+{ 4, s_4_1, 0, 1, 0},
+{ 4, s_4_2, 0, 1, 0}
 };
 
 static const symbol s_5_0[2] = { 'i', 'c' };
 static const symbol s_5_1[4] = { 'a', 'b', 'i', 'l' };
 static const symbol s_5_2[2] = { 'i', 'v' };
-
-static const struct among a_5[3] =
-{
-{ 2, s_5_0, -1, 1, 0},
-{ 4, s_5_1, -1, 1, 0},
-{ 2, s_5_2, -1, 1, 0}
+static const struct among a_5[3] = {
+{ 2, s_5_0, 0, 1, 0},
+{ 4, s_5_1, 0, 1, 0},
+{ 2, s_5_2, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 'i', 'c', 'a' };
@@ -155,86 +163,88 @@ static const symbol s_6_11[4] = { 'i', 'b', 'l', 'e' };
 static const symbol s_6_12[4] = { 'a', 'n', 't', 'e' };
 static const symbol s_6_13[5] = { 'm', 'e', 'n', 't', 'e' };
 static const symbol s_6_14[6] = { 'a', 'm', 'e', 'n', 't', 'e' };
-static const symbol s_6_15[6] = { 'a', 'c', 'i', 0xC3, 0xB3, 'n' };
-static const symbol s_6_16[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
-static const symbol s_6_17[3] = { 'i', 'c', 'o' };
-static const symbol s_6_18[4] = { 'i', 's', 'm', 'o' };
-static const symbol s_6_19[3] = { 'o', 's', 'o' };
-static const symbol s_6_20[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
-static const symbol s_6_21[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
-static const symbol s_6_22[3] = { 'i', 'v', 'o' };
-static const symbol s_6_23[4] = { 'a', 'd', 'o', 'r' };
-static const symbol s_6_24[4] = { 'i', 'c', 'a', 's' };
-static const symbol s_6_25[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
-static const symbol s_6_26[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
-static const symbol s_6_27[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
-static const symbol s_6_28[4] = { 'o', 's', 'a', 's' };
-static const symbol s_6_29[5] = { 'i', 's', 't', 'a', 's' };
-static const symbol s_6_30[4] = { 'i', 'v', 'a', 's' };
-static const symbol s_6_31[5] = { 'a', 'n', 'z', 'a', 's' };
-static const symbol s_6_32[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
-static const symbol s_6_33[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
-static const symbol s_6_34[5] = { 'a', 'b', 'l', 'e', 's' };
-static const symbol s_6_35[5] = { 'i', 'b', 'l', 'e', 's' };
-static const symbol s_6_36[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
-static const symbol s_6_37[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
-static const symbol s_6_38[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
-static const symbol s_6_39[5] = { 'a', 'n', 't', 'e', 's' };
-static const symbol s_6_40[4] = { 'i', 'c', 'o', 's' };
-static const symbol s_6_41[5] = { 'i', 's', 'm', 'o', 's' };
-static const symbol s_6_42[4] = { 'o', 's', 'o', 's' };
-static const symbol s_6_43[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
-static const symbol s_6_44[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
-static const symbol s_6_45[4] = { 'i', 'v', 'o', 's' };
-
-static const struct among a_6[46] =
-{
-{ 3, s_6_0, -1, 1, 0},
-{ 5, s_6_1, -1, 2, 0},
-{ 5, s_6_2, -1, 5, 0},
-{ 5, s_6_3, -1, 2, 0},
-{ 3, s_6_4, -1, 1, 0},
-{ 4, s_6_5, -1, 1, 0},
-{ 3, s_6_6, -1, 9, 0},
-{ 4, s_6_7, -1, 1, 0},
-{ 6, s_6_8, -1, 3, 0},
-{ 4, s_6_9, -1, 8, 0},
-{ 4, s_6_10, -1, 1, 0},
-{ 4, s_6_11, -1, 1, 0},
-{ 4, s_6_12, -1, 2, 0},
-{ 5, s_6_13, -1, 7, 0},
-{ 6, s_6_14, 13, 6, 0},
-{ 6, s_6_15, -1, 2, 0},
-{ 6, s_6_16, -1, 4, 0},
-{ 3, s_6_17, -1, 1, 0},
-{ 4, s_6_18, -1, 1, 0},
-{ 3, s_6_19, -1, 1, 0},
-{ 7, s_6_20, -1, 1, 0},
-{ 7, s_6_21, -1, 1, 0},
-{ 3, s_6_22, -1, 9, 0},
-{ 4, s_6_23, -1, 2, 0},
-{ 4, s_6_24, -1, 1, 0},
-{ 6, s_6_25, -1, 2, 0},
-{ 6, s_6_26, -1, 5, 0},
-{ 6, s_6_27, -1, 2, 0},
-{ 4, s_6_28, -1, 1, 0},
-{ 5, s_6_29, -1, 1, 0},
-{ 4, s_6_30, -1, 9, 0},
-{ 5, s_6_31, -1, 1, 0},
-{ 7, s_6_32, -1, 3, 0},
-{ 6, s_6_33, -1, 8, 0},
-{ 5, s_6_34, -1, 1, 0},
-{ 5, s_6_35, -1, 1, 0},
-{ 7, s_6_36, -1, 2, 0},
-{ 7, s_6_37, -1, 4, 0},
-{ 6, s_6_38, -1, 2, 0},
-{ 5, s_6_39, -1, 2, 0},
-{ 4, s_6_40, -1, 1, 0},
-{ 5, s_6_41, -1, 1, 0},
-{ 4, s_6_42, -1, 1, 0},
-{ 8, s_6_43, -1, 1, 0},
-{ 8, s_6_44, -1, 1, 0},
-{ 4, s_6_45, -1, 9, 0}
+static const symbol s_6_15[5] = { 'a', 'c', 'i', 'o', 'n' };
+static const symbol s_6_16[5] = { 'u', 'c', 'i', 'o', 'n' };
+static const symbol s_6_17[6] = { 'a', 'c', 'i', 0xC3, 0xB3, 'n' };
+static const symbol s_6_18[6] = { 'u', 'c', 'i', 0xC3, 0xB3, 'n' };
+static const symbol s_6_19[3] = { 'i', 'c', 'o' };
+static const symbol s_6_20[4] = { 'i', 's', 'm', 'o' };
+static const symbol s_6_21[3] = { 'o', 's', 'o' };
+static const symbol s_6_22[7] = { 'a', 'm', 'i', 'e', 'n', 't', 'o' };
+static const symbol s_6_23[7] = { 'i', 'm', 'i', 'e', 'n', 't', 'o' };
+static const symbol s_6_24[3] = { 'i', 'v', 'o' };
+static const symbol s_6_25[4] = { 'a', 'd', 'o', 'r' };
+static const symbol s_6_26[4] = { 'i', 'c', 'a', 's' };
+static const symbol s_6_27[6] = { 'a', 'n', 'c', 'i', 'a', 's' };
+static const symbol s_6_28[6] = { 'e', 'n', 'c', 'i', 'a', 's' };
+static const symbol s_6_29[6] = { 'a', 'd', 'o', 'r', 'a', 's' };
+static const symbol s_6_30[4] = { 'o', 's', 'a', 's' };
+static const symbol s_6_31[5] = { 'i', 's', 't', 'a', 's' };
+static const symbol s_6_32[4] = { 'i', 'v', 'a', 's' };
+static const symbol s_6_33[5] = { 'a', 'n', 'z', 'a', 's' };
+static const symbol s_6_34[7] = { 'l', 'o', 'g', 0xC3, 0xAD, 'a', 's' };
+static const symbol s_6_35[6] = { 'i', 'd', 'a', 'd', 'e', 's' };
+static const symbol s_6_36[5] = { 'a', 'b', 'l', 'e', 's' };
+static const symbol s_6_37[5] = { 'i', 'b', 'l', 'e', 's' };
+static const symbol s_6_38[7] = { 'a', 'c', 'i', 'o', 'n', 'e', 's' };
+static const symbol s_6_39[7] = { 'u', 'c', 'i', 'o', 'n', 'e', 's' };
+static const symbol s_6_40[6] = { 'a', 'd', 'o', 'r', 'e', 's' };
+static const symbol s_6_41[5] = { 'a', 'n', 't', 'e', 's' };
+static const symbol s_6_42[4] = { 'i', 'c', 'o', 's' };
+static const symbol s_6_43[5] = { 'i', 's', 'm', 'o', 's' };
+static const symbol s_6_44[4] = { 'o', 's', 'o', 's' };
+static const symbol s_6_45[8] = { 'a', 'm', 'i', 'e', 'n', 't', 'o', 's' };
+static const symbol s_6_46[8] = { 'i', 'm', 'i', 'e', 'n', 't', 'o', 's' };
+static const symbol s_6_47[4] = { 'i', 'v', 'o', 's' };
+static const struct among a_6[48] = {
+{ 3, s_6_0, 0, 1, 0},
+{ 5, s_6_1, 0, 2, 0},
+{ 5, s_6_2, 0, 5, 0},
+{ 5, s_6_3, 0, 2, 0},
+{ 3, s_6_4, 0, 1, 0},
+{ 4, s_6_5, 0, 1, 0},
+{ 3, s_6_6, 0, 9, 0},
+{ 4, s_6_7, 0, 1, 0},
+{ 6, s_6_8, 0, 3, 0},
+{ 4, s_6_9, 0, 8, 0},
+{ 4, s_6_10, 0, 1, 0},
+{ 4, s_6_11, 0, 1, 0},
+{ 4, s_6_12, 0, 2, 0},
+{ 5, s_6_13, 0, 7, 0},
+{ 6, s_6_14, -1, 6, 0},
+{ 5, s_6_15, 0, 2, 0},
+{ 5, s_6_16, 0, 4, 0},
+{ 6, s_6_17, 0, 2, 0},
+{ 6, s_6_18, 0, 4, 0},
+{ 3, s_6_19, 0, 1, 0},
+{ 4, s_6_20, 0, 1, 0},
+{ 3, s_6_21, 0, 1, 0},
+{ 7, s_6_22, 0, 1, 0},
+{ 7, s_6_23, 0, 1, 0},
+{ 3, s_6_24, 0, 9, 0},
+{ 4, s_6_25, 0, 2, 0},
+{ 4, s_6_26, 0, 1, 0},
+{ 6, s_6_27, 0, 2, 0},
+{ 6, s_6_28, 0, 5, 0},
+{ 6, s_6_29, 0, 2, 0},
+{ 4, s_6_30, 0, 1, 0},
+{ 5, s_6_31, 0, 1, 0},
+{ 4, s_6_32, 0, 9, 0},
+{ 5, s_6_33, 0, 1, 0},
+{ 7, s_6_34, 0, 3, 0},
+{ 6, s_6_35, 0, 8, 0},
+{ 5, s_6_36, 0, 1, 0},
+{ 5, s_6_37, 0, 1, 0},
+{ 7, s_6_38, 0, 2, 0},
+{ 7, s_6_39, 0, 4, 0},
+{ 6, s_6_40, 0, 2, 0},
+{ 5, s_6_41, 0, 2, 0},
+{ 4, s_6_42, 0, 1, 0},
+{ 5, s_6_43, 0, 1, 0},
+{ 4, s_6_44, 0, 1, 0},
+{ 8, s_6_45, 0, 1, 0},
+{ 8, s_6_46, 0, 1, 0},
+{ 4, s_6_47, 0, 9, 0}
 };
 
 static const symbol s_7_0[2] = { 'y', 'a' };
@@ -249,21 +259,19 @@ static const symbol s_7_8[3] = { 'y', 'e', 's' };
 static const symbol s_7_9[4] = { 'y', 'a', 'i', 's' };
 static const symbol s_7_10[5] = { 'y', 'a', 'm', 'o', 's' };
 static const symbol s_7_11[3] = { 'y', 0xC3, 0xB3 };
-
-static const struct among a_7[12] =
-{
-{ 2, s_7_0, -1, 1, 0},
-{ 2, s_7_1, -1, 1, 0},
-{ 3, s_7_2, -1, 1, 0},
-{ 3, s_7_3, -1, 1, 0},
-{ 5, s_7_4, -1, 1, 0},
-{ 5, s_7_5, -1, 1, 0},
-{ 2, s_7_6, -1, 1, 0},
-{ 3, s_7_7, -1, 1, 0},
-{ 3, s_7_8, -1, 1, 0},
-{ 4, s_7_9, -1, 1, 0},
-{ 5, s_7_10, -1, 1, 0},
-{ 3, s_7_11, -1, 1, 0}
+static const struct among a_7[12] = {
+{ 2, s_7_0, 0, 1, 0},
+{ 2, s_7_1, 0, 1, 0},
+{ 3, s_7_2, 0, 1, 0},
+{ 3, s_7_3, 0, 1, 0},
+{ 5, s_7_4, 0, 1, 0},
+{ 5, s_7_5, 0, 1, 0},
+{ 2, s_7_6, 0, 1, 0},
+{ 3, s_7_7, 0, 1, 0},
+{ 3, s_7_8, 0, 1, 0},
+{ 4, s_7_9, 0, 1, 0},
+{ 5, s_7_10, 0, 1, 0},
+{ 3, s_7_11, 0, 1, 0}
 };
 
 static const symbol s_8_0[3] = { 'a', 'b', 'a' };
@@ -362,105 +370,103 @@ static const symbol s_8_92[4] = { 'a', 'r', 0xC3, 0xA9 };
 static const symbol s_8_93[4] = { 'e', 'r', 0xC3, 0xA9 };
 static const symbol s_8_94[4] = { 'i', 'r', 0xC3, 0xA9 };
 static const symbol s_8_95[3] = { 'i', 0xC3, 0xB3 };
-
-static const struct among a_8[96] =
-{
-{ 3, s_8_0, -1, 2, 0},
-{ 3, s_8_1, -1, 2, 0},
-{ 3, s_8_2, -1, 2, 0},
-{ 3, s_8_3, -1, 2, 0},
-{ 4, s_8_4, -1, 2, 0},
-{ 3, s_8_5, -1, 2, 0},
-{ 5, s_8_6, 5, 2, 0},
-{ 5, s_8_7, 5, 2, 0},
-{ 5, s_8_8, 5, 2, 0},
-{ 2, s_8_9, -1, 2, 0},
-{ 2, s_8_10, -1, 2, 0},
-{ 2, s_8_11, -1, 2, 0},
-{ 3, s_8_12, -1, 2, 0},
-{ 4, s_8_13, -1, 2, 0},
-{ 4, s_8_14, -1, 2, 0},
-{ 4, s_8_15, -1, 2, 0},
-{ 2, s_8_16, -1, 2, 0},
-{ 4, s_8_17, 16, 2, 0},
-{ 4, s_8_18, 16, 2, 0},
-{ 5, s_8_19, 16, 2, 0},
-{ 4, s_8_20, 16, 2, 0},
-{ 6, s_8_21, 20, 2, 0},
-{ 6, s_8_22, 20, 2, 0},
-{ 6, s_8_23, 20, 2, 0},
-{ 2, s_8_24, -1, 1, 0},
-{ 4, s_8_25, 24, 2, 0},
-{ 5, s_8_26, 24, 2, 0},
-{ 4, s_8_27, -1, 2, 0},
-{ 5, s_8_28, -1, 2, 0},
-{ 5, s_8_29, -1, 2, 0},
-{ 5, s_8_30, -1, 2, 0},
-{ 5, s_8_31, -1, 2, 0},
-{ 3, s_8_32, -1, 2, 0},
-{ 3, s_8_33, -1, 2, 0},
-{ 4, s_8_34, -1, 2, 0},
-{ 5, s_8_35, -1, 2, 0},
-{ 2, s_8_36, -1, 2, 0},
-{ 2, s_8_37, -1, 2, 0},
-{ 2, s_8_38, -1, 2, 0},
-{ 2, s_8_39, -1, 2, 0},
-{ 4, s_8_40, 39, 2, 0},
-{ 4, s_8_41, 39, 2, 0},
-{ 4, s_8_42, 39, 2, 0},
-{ 4, s_8_43, 39, 2, 0},
-{ 5, s_8_44, 39, 2, 0},
-{ 4, s_8_45, 39, 2, 0},
-{ 6, s_8_46, 45, 2, 0},
-{ 6, s_8_47, 45, 2, 0},
-{ 6, s_8_48, 45, 2, 0},
-{ 2, s_8_49, -1, 1, 0},
-{ 4, s_8_50, 49, 2, 0},
-{ 5, s_8_51, 49, 2, 0},
-{ 5, s_8_52, -1, 2, 0},
-{ 5, s_8_53, -1, 2, 0},
-{ 6, s_8_54, -1, 2, 0},
-{ 5, s_8_55, -1, 2, 0},
-{ 7, s_8_56, 55, 2, 0},
-{ 7, s_8_57, 55, 2, 0},
-{ 7, s_8_58, 55, 2, 0},
-{ 5, s_8_59, -1, 2, 0},
-{ 6, s_8_60, -1, 2, 0},
-{ 6, s_8_61, -1, 2, 0},
-{ 6, s_8_62, -1, 2, 0},
-{ 4, s_8_63, -1, 2, 0},
-{ 4, s_8_64, -1, 1, 0},
-{ 6, s_8_65, 64, 2, 0},
-{ 6, s_8_66, 64, 2, 0},
-{ 6, s_8_67, 64, 2, 0},
-{ 4, s_8_68, -1, 2, 0},
-{ 4, s_8_69, -1, 2, 0},
-{ 4, s_8_70, -1, 2, 0},
-{ 7, s_8_71, 70, 2, 0},
-{ 7, s_8_72, 70, 2, 0},
-{ 8, s_8_73, 70, 2, 0},
-{ 6, s_8_74, 70, 2, 0},
-{ 8, s_8_75, 74, 2, 0},
-{ 8, s_8_76, 74, 2, 0},
-{ 8, s_8_77, 74, 2, 0},
-{ 4, s_8_78, -1, 1, 0},
-{ 6, s_8_79, 78, 2, 0},
-{ 6, s_8_80, 78, 2, 0},
-{ 6, s_8_81, 78, 2, 0},
-{ 7, s_8_82, 78, 2, 0},
-{ 8, s_8_83, 78, 2, 0},
-{ 4, s_8_84, -1, 2, 0},
-{ 5, s_8_85, -1, 2, 0},
-{ 5, s_8_86, -1, 2, 0},
-{ 5, s_8_87, -1, 2, 0},
-{ 3, s_8_88, -1, 2, 0},
-{ 4, s_8_89, -1, 2, 0},
-{ 4, s_8_90, -1, 2, 0},
-{ 4, s_8_91, -1, 2, 0},
-{ 4, s_8_92, -1, 2, 0},
-{ 4, s_8_93, -1, 2, 0},
-{ 4, s_8_94, -1, 2, 0},
-{ 3, s_8_95, -1, 2, 0}
+static const struct among a_8[96] = {
+{ 3, s_8_0, 0, 2, 0},
+{ 3, s_8_1, 0, 2, 0},
+{ 3, s_8_2, 0, 2, 0},
+{ 3, s_8_3, 0, 2, 0},
+{ 4, s_8_4, 0, 2, 0},
+{ 3, s_8_5, 0, 2, 0},
+{ 5, s_8_6, -1, 2, 0},
+{ 5, s_8_7, -2, 2, 0},
+{ 5, s_8_8, -3, 2, 0},
+{ 2, s_8_9, 0, 2, 0},
+{ 2, s_8_10, 0, 2, 0},
+{ 2, s_8_11, 0, 2, 0},
+{ 3, s_8_12, 0, 2, 0},
+{ 4, s_8_13, 0, 2, 0},
+{ 4, s_8_14, 0, 2, 0},
+{ 4, s_8_15, 0, 2, 0},
+{ 2, s_8_16, 0, 2, 0},
+{ 4, s_8_17, -1, 2, 0},
+{ 4, s_8_18, -2, 2, 0},
+{ 5, s_8_19, -3, 2, 0},
+{ 4, s_8_20, -4, 2, 0},
+{ 6, s_8_21, -1, 2, 0},
+{ 6, s_8_22, -2, 2, 0},
+{ 6, s_8_23, -3, 2, 0},
+{ 2, s_8_24, 0, 1, 0},
+{ 4, s_8_25, -1, 2, 0},
+{ 5, s_8_26, -2, 2, 0},
+{ 4, s_8_27, 0, 2, 0},
+{ 5, s_8_28, 0, 2, 0},
+{ 5, s_8_29, 0, 2, 0},
+{ 5, s_8_30, 0, 2, 0},
+{ 5, s_8_31, 0, 2, 0},
+{ 3, s_8_32, 0, 2, 0},
+{ 3, s_8_33, 0, 2, 0},
+{ 4, s_8_34, 0, 2, 0},
+{ 5, s_8_35, 0, 2, 0},
+{ 2, s_8_36, 0, 2, 0},
+{ 2, s_8_37, 0, 2, 0},
+{ 2, s_8_38, 0, 2, 0},
+{ 2, s_8_39, 0, 2, 0},
+{ 4, s_8_40, -1, 2, 0},
+{ 4, s_8_41, -2, 2, 0},
+{ 4, s_8_42, -3, 2, 0},
+{ 4, s_8_43, -4, 2, 0},
+{ 5, s_8_44, -5, 2, 0},
+{ 4, s_8_45, -6, 2, 0},
+{ 6, s_8_46, -1, 2, 0},
+{ 6, s_8_47, -2, 2, 0},
+{ 6, s_8_48, -3, 2, 0},
+{ 2, s_8_49, 0, 1, 0},
+{ 4, s_8_50, -1, 2, 0},
+{ 5, s_8_51, -2, 2, 0},
+{ 5, s_8_52, 0, 2, 0},
+{ 5, s_8_53, 0, 2, 0},
+{ 6, s_8_54, 0, 2, 0},
+{ 5, s_8_55, 0, 2, 0},
+{ 7, s_8_56, -1, 2, 0},
+{ 7, s_8_57, -2, 2, 0},
+{ 7, s_8_58, -3, 2, 0},
+{ 5, s_8_59, 0, 2, 0},
+{ 6, s_8_60, 0, 2, 0},
+{ 6, s_8_61, 0, 2, 0},
+{ 6, s_8_62, 0, 2, 0},
+{ 4, s_8_63, 0, 2, 0},
+{ 4, s_8_64, 0, 1, 0},
+{ 6, s_8_65, -1, 2, 0},
+{ 6, s_8_66, -2, 2, 0},
+{ 6, s_8_67, -3, 2, 0},
+{ 4, s_8_68, 0, 2, 0},
+{ 4, s_8_69, 0, 2, 0},
+{ 4, s_8_70, 0, 2, 0},
+{ 7, s_8_71, -1, 2, 0},
+{ 7, s_8_72, -2, 2, 0},
+{ 8, s_8_73, -3, 2, 0},
+{ 6, s_8_74, -4, 2, 0},
+{ 8, s_8_75, -1, 2, 0},
+{ 8, s_8_76, -2, 2, 0},
+{ 8, s_8_77, -3, 2, 0},
+{ 4, s_8_78, 0, 1, 0},
+{ 6, s_8_79, -1, 2, 0},
+{ 6, s_8_80, -2, 2, 0},
+{ 6, s_8_81, -3, 2, 0},
+{ 7, s_8_82, -4, 2, 0},
+{ 8, s_8_83, -5, 2, 0},
+{ 4, s_8_84, 0, 2, 0},
+{ 5, s_8_85, 0, 2, 0},
+{ 5, s_8_86, 0, 2, 0},
+{ 5, s_8_87, 0, 2, 0},
+{ 3, s_8_88, 0, 2, 0},
+{ 4, s_8_89, 0, 2, 0},
+{ 4, s_8_90, 0, 2, 0},
+{ 4, s_8_91, 0, 2, 0},
+{ 4, s_8_92, 0, 2, 0},
+{ 4, s_8_93, 0, 2, 0},
+{ 4, s_8_94, 0, 2, 0},
+{ 3, s_8_95, 0, 2, 0}
 };
 
 static const symbol s_9_0[1] = { 'a' };
@@ -471,163 +477,145 @@ static const symbol s_9_4[2] = { 0xC3, 0xA1 };
 static const symbol s_9_5[2] = { 0xC3, 0xA9 };
 static const symbol s_9_6[2] = { 0xC3, 0xAD };
 static const symbol s_9_7[2] = { 0xC3, 0xB3 };
-
-static const struct among a_9[8] =
-{
-{ 1, s_9_0, -1, 1, 0},
-{ 1, s_9_1, -1, 2, 0},
-{ 1, s_9_2, -1, 1, 0},
-{ 2, s_9_3, -1, 1, 0},
-{ 2, s_9_4, -1, 1, 0},
-{ 2, s_9_5, -1, 2, 0},
-{ 2, s_9_6, -1, 1, 0},
-{ 2, s_9_7, -1, 1, 0}
+static const struct among a_9[8] = {
+{ 1, s_9_0, 0, 1, 0},
+{ 1, s_9_1, 0, 2, 0},
+{ 1, s_9_2, 0, 1, 0},
+{ 2, s_9_3, 0, 1, 0},
+{ 2, s_9_4, 0, 1, 0},
+{ 2, s_9_5, 0, 2, 0},
+{ 2, s_9_6, 0, 1, 0},
+{ 2, s_9_7, 0, 1, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
 
-static const symbol s_0[] = { 'a' };
-static const symbol s_1[] = { 'e' };
-static const symbol s_2[] = { 'i' };
-static const symbol s_3[] = { 'o' };
-static const symbol s_4[] = { 'u' };
-static const symbol s_5[] = { 'i', 'e', 'n', 'd', 'o' };
-static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
-static const symbol s_7[] = { 'a', 'r' };
-static const symbol s_8[] = { 'e', 'r' };
-static const symbol s_9[] = { 'i', 'r' };
-static const symbol s_10[] = { 'i', 'c' };
-static const symbol s_11[] = { 'l', 'o', 'g' };
-static const symbol s_12[] = { 'u' };
-static const symbol s_13[] = { 'e', 'n', 't', 'e' };
-static const symbol s_14[] = { 'a', 't' };
-static const symbol s_15[] = { 'a', 't' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[2] = z->l;
-    z->I[1] = z->l;
-    z->I[0] = z->l;
-    {   int c1 = z->c;
-        {   int c2 = z->c;
-            if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
-            {   int c3 = z->c;
-                if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
-
+    ((SN_local *)z)->i_pV = z->l;
+    ((SN_local *)z)->i_p1 = z->l;
+    ((SN_local *)z)->i_p2 = z->l;
+    {
+        int v_1 = z->c;
+        do {
+            int v_2 = z->c;
+            if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
+            do {
+                int v_3 = z->c;
+                if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab4;
+                    if (ret < 0) goto lab2;
                     z->c += ret;
                 }
-                goto lab3;
-            lab4:
-                z->c = c3;
-                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
-
+                break;
+            lab2:
+                z->c = v_3;
+                if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab1;
                 {
                     int ret = in_grouping_U(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab2;
+                    if (ret < 0) goto lab1;
                     z->c += ret;
                 }
-            }
-        lab3:
-            goto lab1;
-        lab2:
-            z->c = c2;
+            } while (0);
+            break;
+        lab1:
+            z->c = v_2;
             if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
-            {   int c4 = z->c;
-                if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6;
-
+            do {
+                int v_4 = z->c;
+                if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab3;
                 {
                     int ret = out_grouping_U(z, g_v, 97, 252, 1);
-                    if (ret < 0) goto lab6;
+                    if (ret < 0) goto lab3;
                     z->c += ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = c4;
+                break;
+            lab3:
+                z->c = v_4;
                 if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
-            }
-        lab5:
-            ;
-        }
-    lab1:
-        z->I[2] = z->c;
+            } while (0);
+        } while (0);
+        ((SN_local *)z)->i_pV = z->c;
     lab0:
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c5 = z->c;
-
+    {
+        int v_5 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[1] = z->c;
-
+        ((SN_local *)z)->i_p1 = z->c;
         {
             int ret = out_grouping_U(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-
         {
             int ret = in_grouping_U(z, g_v, 97, 252, 1);
-            if (ret < 0) goto lab7;
+            if (ret < 0) goto lab4;
             z->c += ret;
         }
-        z->I[0] = z->c;
-    lab7:
-        z->c = c5;
+        ((SN_local *)z)->i_p2 = z->c;
+    lab4:
+        z->c = v_5;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     int among_var;
-    while(1) {
-        int c1 = z->c;
+    while (1) {
+        int v_1 = z->c;
         z->bra = z->c;
         if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((67641858 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
-        among_var = find_among(z, a_0, 6);
+        among_var = find_among(z, a_0, 6, 0);
         z->ket = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_from_s(z, 1, s_0);
+                {
+                    int ret = slice_from_s(z, 1, s_0);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = slice_from_s(z, 1, s_1);
+                {
+                    int ret = slice_from_s(z, 1, s_1);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 1, s_2);
+                {
+                    int ret = slice_from_s(z, 1, s_2);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 1, s_3);
+                {
+                    int ret = slice_from_s(z, 1, s_3);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 1, s_4);
+                {
+                    int ret = slice_from_s(z, 1, s_4);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab0;
                     z->c = ret;
                 }
@@ -635,76 +623,84 @@ static int r_postlude(struct SN_env * z) {
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
 }
 
 static int r_RV(struct SN_env * z) {
-    return z->I[2] <= z->c;
+    return ((SN_local *)z)->i_pV <= z->c;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R2(struct SN_env * z) {
-    return z->I[0] <= z->c;
+    return ((SN_local *)z)->i_p2 <= z->c;
 }
 
 static int r_attached_pronoun(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_1, 13)) return 0;
+    if (!find_among_b(z, a_1, 13, 0)) return 0;
     z->bra = z->c;
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
-    among_var = find_among_b(z, a_2, 11);
+    among_var = find_among_b(z, a_2, 11, 0);
     if (!among_var) return 0;
-    {   int ret = r_RV(z);
+    {
+        int ret = r_RV(z);
         if (ret <= 0) return ret;
     }
     switch (among_var) {
         case 1:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 5, s_5);
+            {
+                int ret = slice_from_s(z, 5, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 4, s_6);
+            {
+                int ret = slice_from_s(z, 4, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_7);
+            {
+                int ret = slice_from_s(z, 2, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_8);
+            {
+                int ret = slice_from_s(z, 2, s_8);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 2, s_9);
+            {
+                int ret = slice_from_s(z, 2, s_9);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 7:
             if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
             z->c--;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -716,34 +712,41 @@ static int r_standard_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
     if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    among_var = find_among_b(z, a_6, 46);
+    among_var = find_among_b(z, a_6, 48, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m1; goto lab0; }
+                if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - v_1; goto lab0; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -751,59 +754,72 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 3:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 3, s_11);
+            {
+                int ret = slice_from_s(z, 3, s_11);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 1, s_12);
+            {
+                int ret = slice_from_s(z, 1, s_12);
                 if (ret < 0) return ret;
             }
             break;
         case 5:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_from_s(z, 4, s_13);
+            {
+                int ret = slice_from_s(z, 4, s_13);
                 if (ret < 0) return ret;
             }
             break;
         case 6:
-            {   int ret = r_R1(z);
+            {
+                int ret = r_R1(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m2 = z->l - z->c; (void)m2;
+            {
+                int v_2 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
-                among_var = find_among_b(z, a_3, 4);
-                if (!among_var) { z->c = z->l - m2; goto lab1; }
+                if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - v_2; goto lab1; }
+                among_var = find_among_b(z, a_3, 4, 0);
+                if (!among_var) { z->c = z->l - v_2; goto lab1; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 switch (among_var) {
                     case 1:
                         z->ket = z->c;
-                        if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m2; goto lab1; }
+                        if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - v_2; goto lab1; }
                         z->bra = z->c;
-                        {   int ret = r_R2(z);
-                            if (ret == 0) { z->c = z->l - m2; goto lab1; }
+                        {
+                            int ret = r_R2(z);
+                            if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
@@ -813,22 +829,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 7:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m3 = z->l - z->c; (void)m3;
+            {
+                int v_3 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m3; goto lab2; }
-                if (!find_among_b(z, a_4, 3)) { z->c = z->l - m3; goto lab2; }
+                if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - v_3; goto lab2; }
+                if (!find_among_b(z, a_4, 3, 0)) { z->c = z->l - v_3; goto lab2; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab2; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab2; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab2:
@@ -836,22 +857,27 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 8:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m4 = z->l - z->c; (void)m4;
+            {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                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 - m4; goto lab3; }
-                if (!find_among_b(z, a_5, 3)) { z->c = z->l - m4; goto lab3; }
+                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 - v_4; goto lab3; }
+                if (!find_among_b(z, a_5, 3, 0)) { z->c = z->l - v_4; goto lab3; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab3; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab3:
@@ -859,21 +885,26 @@ static int r_standard_suffix(struct SN_env * z) {
             }
             break;
         case 9:
-            {   int ret = r_R2(z);
+            {
+                int ret = r_R2(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m5 = z->l - z->c; (void)m5;
+            {
+                int v_5 = z->l - z->c;
                 z->ket = z->c;
-                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m5; goto lab4; }
+                if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - v_5; goto lab4; }
                 z->bra = z->c;
-                {   int ret = r_R2(z);
-                    if (ret == 0) { z->c = z->l - m5; goto lab4; }
+                {
+                    int ret = r_R2(z);
+                    if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab4:
@@ -885,18 +916,19 @@ static int r_standard_suffix(struct SN_env * z) {
 }
 
 static int r_y_verb_suffix(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        if (!find_among_b(z, a_7, 12)) { z->lb = mlimit1; return 0; }
+        if (!find_among_b(z, a_7, 12, 0)) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
     z->c--;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -904,36 +936,40 @@ static int r_y_verb_suffix(struct SN_env * z) {
 
 static int r_verb_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[2]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[2];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_pV) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_pV;
         z->ket = z->c;
-        among_var = find_among_b(z, a_8, 96);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        among_var = find_among_b(z, a_8, 96, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int m2 = z->l - z->c; (void)m2;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m2; goto lab0; }
+            {
+                int v_2 = z->l - z->c;
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - v_2; goto lab0; }
                 z->c--;
-                {   int m_test3 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m2; goto lab0; }
+                {
+                    int v_3 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - v_2; goto lab0; }
                     z->c--;
-                    z->c = z->l - m_test3;
+                    z->c = z->l - v_3;
                 }
             lab0:
                 ;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -944,40 +980,48 @@ static int r_verb_suffix(struct SN_env * z) {
 static int r_residual_suffix(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_9, 8);
+    among_var = find_among_b(z, a_9, 8, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = r_RV(z);
+            {
+                int ret = r_RV(z);
                 if (ret <= 0) return ret;
             }
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m1 = z->l - z->c; (void)m1;
+            {
+                int v_1 = z->l - z->c;
                 z->ket = z->c;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m1; goto lab0; }
+                if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - v_1; goto lab0; }
                 z->c--;
                 z->bra = z->c;
-                {   int m_test2 = z->l - z->c;
-                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m1; goto lab0; }
+                {
+                    int v_2 = z->l - z->c;
+                    if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - v_1; goto lab0; }
                     z->c--;
-                    z->c = z->l - m_test2;
+                    z->c = z->l - v_2;
                 }
-                {   int ret = r_RV(z);
-                    if (ret == 0) { z->c = z->l - m1; goto lab0; }
+                {
+                    int ret = r_RV(z);
+                    if (ret == 0) { z->c = z->l - v_1; goto lab0; }
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
             lab0:
@@ -989,60 +1033,79 @@ static int r_residual_suffix(struct SN_env * z) {
 }
 
 extern int spanish_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_mark_regions(z);
+    {
+        int ret = r_mark_regions(z);
         if (ret < 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_attached_pronoun(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_attached_pronoun(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_standard_suffix(z);
-                if (ret == 0) goto lab2;
+    {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_standard_suffix(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab2:
-            z->c = z->l - m3;
-            {   int ret = r_y_verb_suffix(z);
-                if (ret == 0) goto lab3;
+            break;
+        lab1:
+            z->c = z->l - v_3;
+            {
+                int ret = r_y_verb_suffix(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            goto lab1;
-        lab3:
-            z->c = z->l - m3;
-            {   int ret = r_verb_suffix(z);
+            break;
+        lab2:
+            z->c = z->l - v_3;
+            {
+                int ret = r_verb_suffix(z);
                 if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab1:
+        } while (0);
     lab0:
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_residual_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_residual_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
-    {   int c5 = z->c;
-        {   int ret = r_postlude(z);
+    {
+        int v_5 = z->c;
+        {
+            int ret = r_postlude(z);
             if (ret < 0) return ret;
         }
-        z->c = c5;
+        z->c = v_5;
     }
     return 1;
 }
 
-extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3); }
+extern struct SN_env * spanish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p2 = 0;
+        ((SN_local *)z)->i_p1 = 0;
+        ((SN_local *)z)->i_pV = 0;
+    }
+    return z;
+}
 
-extern void spanish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void spanish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index c082cb0778dc0b978c9721e7ee4f7ac1f046a2c2..c64b2d84d9211589fc245910ff4755e68cc5ce39 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from swedish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_swedish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,133 +20,169 @@ extern int swedish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_other_suffix(struct SN_env * z);
 static int r_consonant_pair(struct SN_env * z);
 static int r_main_suffix(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+static int r_et_condition(struct SN_env * z);
 
-extern struct SN_env * swedish_UTF_8_create_env(void);
-extern void swedish_UTF_8_close_env(struct SN_env * z);
-
-
-#ifdef __cplusplus
-}
-#endif
-static const symbol s_0_0[1] = { 'a' };
-static const symbol s_0_1[4] = { 'a', 'r', 'n', 'a' };
-static const symbol s_0_2[4] = { 'e', 'r', 'n', 'a' };
-static const symbol s_0_3[7] = { 'h', 'e', 't', 'e', 'r', 'n', 'a' };
-static const symbol s_0_4[4] = { 'o', 'r', 'n', 'a' };
-static const symbol s_0_5[2] = { 'a', 'd' };
-static const symbol s_0_6[1] = { 'e' };
-static const symbol s_0_7[3] = { 'a', 'd', 'e' };
-static const symbol s_0_8[4] = { 'a', 'n', 'd', 'e' };
-static const symbol s_0_9[4] = { 'a', 'r', 'n', 'e' };
-static const symbol s_0_10[3] = { 'a', 'r', 'e' };
-static const symbol s_0_11[4] = { 'a', 's', 't', 'e' };
-static const symbol s_0_12[2] = { 'e', 'n' };
-static const symbol s_0_13[5] = { 'a', 'n', 'd', 'e', 'n' };
-static const symbol s_0_14[4] = { 'a', 'r', 'e', 'n' };
-static const symbol s_0_15[5] = { 'h', 'e', 't', 'e', 'n' };
-static const symbol s_0_16[3] = { 'e', 'r', 'n' };
-static const symbol s_0_17[2] = { 'a', 'r' };
-static const symbol s_0_18[2] = { 'e', 'r' };
-static const symbol s_0_19[5] = { 'h', 'e', 't', 'e', 'r' };
-static const symbol s_0_20[2] = { 'o', 'r' };
-static const symbol s_0_21[1] = { 's' };
-static const symbol s_0_22[2] = { 'a', 's' };
-static const symbol s_0_23[5] = { 'a', 'r', 'n', 'a', 's' };
-static const symbol s_0_24[5] = { 'e', 'r', 'n', 'a', 's' };
-static const symbol s_0_25[5] = { 'o', 'r', 'n', 'a', 's' };
-static const symbol s_0_26[2] = { 'e', 's' };
-static const symbol s_0_27[4] = { 'a', 'd', 'e', 's' };
-static const symbol s_0_28[5] = { 'a', 'n', 'd', 'e', 's' };
-static const symbol s_0_29[3] = { 'e', 'n', 's' };
-static const symbol s_0_30[5] = { 'a', 'r', 'e', 'n', 's' };
-static const symbol s_0_31[6] = { 'h', 'e', 't', 'e', 'n', 's' };
-static const symbol s_0_32[4] = { 'e', 'r', 'n', 's' };
-static const symbol s_0_33[2] = { 'a', 't' };
-static const symbol s_0_34[5] = { 'a', 'n', 'd', 'e', 't' };
-static const symbol s_0_35[3] = { 'h', 'e', 't' };
-static const symbol s_0_36[3] = { 'a', 's', 't' };
+static const symbol s_0[] = { 'e', 't' };
+static const symbol s_1[] = { 0xC3, 0xB6, 's' };
+static const symbol s_2[] = { 'f', 'u', 'l', 'l' };
 
-static const struct among a_0[37] =
-{
-{ 1, s_0_0, -1, 1, 0},
-{ 4, s_0_1, 0, 1, 0},
-{ 4, s_0_2, 0, 1, 0},
-{ 7, s_0_3, 2, 1, 0},
-{ 4, s_0_4, 0, 1, 0},
-{ 2, s_0_5, -1, 1, 0},
-{ 1, s_0_6, -1, 1, 0},
-{ 3, s_0_7, 6, 1, 0},
-{ 4, s_0_8, 6, 1, 0},
-{ 4, s_0_9, 6, 1, 0},
-{ 3, s_0_10, 6, 1, 0},
-{ 4, s_0_11, 6, 1, 0},
-{ 2, s_0_12, -1, 1, 0},
-{ 5, s_0_13, 12, 1, 0},
-{ 4, s_0_14, 12, 1, 0},
-{ 5, s_0_15, 12, 1, 0},
-{ 3, s_0_16, -1, 1, 0},
-{ 2, s_0_17, -1, 1, 0},
-{ 2, s_0_18, -1, 1, 0},
-{ 5, s_0_19, 18, 1, 0},
-{ 2, s_0_20, -1, 1, 0},
-{ 1, s_0_21, -1, 2, 0},
-{ 2, s_0_22, 21, 1, 0},
-{ 5, s_0_23, 22, 1, 0},
-{ 5, s_0_24, 22, 1, 0},
-{ 5, s_0_25, 22, 1, 0},
-{ 2, s_0_26, 21, 1, 0},
-{ 4, s_0_27, 26, 1, 0},
-{ 5, s_0_28, 26, 1, 0},
-{ 3, s_0_29, 21, 1, 0},
-{ 5, s_0_30, 29, 1, 0},
-{ 6, s_0_31, 29, 1, 0},
-{ 4, s_0_32, 21, 1, 0},
-{ 2, s_0_33, -1, 1, 0},
-{ 5, s_0_34, -1, 1, 0},
-{ 3, s_0_35, -1, 1, 0},
-{ 3, s_0_36, -1, 1, 0}
+static const symbol s_0_0[3] = { 'f', 'a', 'b' };
+static const symbol s_0_1[1] = { 'h' };
+static const symbol s_0_2[3] = { 'p', 'a', 'k' };
+static const symbol s_0_3[3] = { 'r', 'a', 'k' };
+static const symbol s_0_4[4] = { 's', 't', 'a', 'k' };
+static const symbol s_0_5[3] = { 'k', 'o', 'm' };
+static const symbol s_0_6[3] = { 'i', 'e', 't' };
+static const symbol s_0_7[3] = { 'c', 'i', 't' };
+static const symbol s_0_8[3] = { 'd', 'i', 't' };
+static const symbol s_0_9[4] = { 'a', 'l', 'i', 't' };
+static const symbol s_0_10[4] = { 'i', 'l', 'i', 't' };
+static const symbol s_0_11[3] = { 'm', 'i', 't' };
+static const symbol s_0_12[3] = { 'n', 'i', 't' };
+static const symbol s_0_13[3] = { 'p', 'i', 't' };
+static const symbol s_0_14[3] = { 'r', 'i', 't' };
+static const symbol s_0_15[3] = { 's', 'i', 't' };
+static const symbol s_0_16[3] = { 't', 'i', 't' };
+static const symbol s_0_17[3] = { 'u', 'i', 't' };
+static const symbol s_0_18[4] = { 'i', 'v', 'i', 't' };
+static const symbol s_0_19[4] = { 'k', 'v', 'i', 't' };
+static const symbol s_0_20[3] = { 'x', 'i', 't' };
+static const struct among a_0[21] = {
+{ 3, s_0_0, 0, -1, 0},
+{ 1, s_0_1, 0, -1, 0},
+{ 3, s_0_2, 0, -1, 0},
+{ 3, s_0_3, 0, -1, 0},
+{ 4, s_0_4, 0, -1, 0},
+{ 3, s_0_5, 0, -1, 0},
+{ 3, s_0_6, 0, -1, 0},
+{ 3, s_0_7, 0, -1, 0},
+{ 3, s_0_8, 0, -1, 0},
+{ 4, s_0_9, 0, -1, 0},
+{ 4, s_0_10, 0, -1, 0},
+{ 3, s_0_11, 0, -1, 0},
+{ 3, s_0_12, 0, -1, 0},
+{ 3, s_0_13, 0, -1, 0},
+{ 3, s_0_14, 0, -1, 0},
+{ 3, s_0_15, 0, -1, 0},
+{ 3, s_0_16, 0, -1, 0},
+{ 3, s_0_17, 0, -1, 0},
+{ 4, s_0_18, 0, -1, 0},
+{ 4, s_0_19, 0, -1, 0},
+{ 3, s_0_20, 0, -1, 0}
 };
 
-static const symbol s_1_0[2] = { 'd', 'd' };
-static const symbol s_1_1[2] = { 'g', 'd' };
-static const symbol s_1_2[2] = { 'n', 'n' };
-static const symbol s_1_3[2] = { 'd', 't' };
-static const symbol s_1_4[2] = { 'g', 't' };
-static const symbol s_1_5[2] = { 'k', 't' };
-static const symbol s_1_6[2] = { 't', 't' };
-
-static const struct among a_1[7] =
-{
-{ 2, s_1_0, -1, -1, 0},
-{ 2, s_1_1, -1, -1, 0},
-{ 2, s_1_2, -1, -1, 0},
-{ 2, s_1_3, -1, -1, 0},
-{ 2, s_1_4, -1, -1, 0},
-{ 2, s_1_5, -1, -1, 0},
-{ 2, s_1_6, -1, -1, 0}
+static const symbol s_1_0[1] = { 'a' };
+static const symbol s_1_1[4] = { 'a', 'r', 'n', 'a' };
+static const symbol s_1_2[4] = { 'e', 'r', 'n', 'a' };
+static const symbol s_1_3[7] = { 'h', 'e', 't', 'e', 'r', 'n', 'a' };
+static const symbol s_1_4[4] = { 'o', 'r', 'n', 'a' };
+static const symbol s_1_5[2] = { 'a', 'd' };
+static const symbol s_1_6[1] = { 'e' };
+static const symbol s_1_7[3] = { 'a', 'd', 'e' };
+static const symbol s_1_8[4] = { 'a', 'n', 'd', 'e' };
+static const symbol s_1_9[4] = { 'a', 'r', 'n', 'e' };
+static const symbol s_1_10[3] = { 'a', 'r', 'e' };
+static const symbol s_1_11[4] = { 'a', 's', 't', 'e' };
+static const symbol s_1_12[2] = { 'e', 'n' };
+static const symbol s_1_13[5] = { 'a', 'n', 'd', 'e', 'n' };
+static const symbol s_1_14[4] = { 'a', 'r', 'e', 'n' };
+static const symbol s_1_15[5] = { 'h', 'e', 't', 'e', 'n' };
+static const symbol s_1_16[3] = { 'e', 'r', 'n' };
+static const symbol s_1_17[2] = { 'a', 'r' };
+static const symbol s_1_18[2] = { 'e', 'r' };
+static const symbol s_1_19[5] = { 'h', 'e', 't', 'e', 'r' };
+static const symbol s_1_20[2] = { 'o', 'r' };
+static const symbol s_1_21[1] = { 's' };
+static const symbol s_1_22[2] = { 'a', 's' };
+static const symbol s_1_23[5] = { 'a', 'r', 'n', 'a', 's' };
+static const symbol s_1_24[5] = { 'e', 'r', 'n', 'a', 's' };
+static const symbol s_1_25[5] = { 'o', 'r', 'n', 'a', 's' };
+static const symbol s_1_26[2] = { 'e', 's' };
+static const symbol s_1_27[4] = { 'a', 'd', 'e', 's' };
+static const symbol s_1_28[5] = { 'a', 'n', 'd', 'e', 's' };
+static const symbol s_1_29[3] = { 'e', 'n', 's' };
+static const symbol s_1_30[5] = { 'a', 'r', 'e', 'n', 's' };
+static const symbol s_1_31[6] = { 'h', 'e', 't', 'e', 'n', 's' };
+static const symbol s_1_32[4] = { 'e', 'r', 'n', 's' };
+static const symbol s_1_33[2] = { 'a', 't' };
+static const symbol s_1_34[2] = { 'e', 't' };
+static const symbol s_1_35[5] = { 'a', 'n', 'd', 'e', 't' };
+static const symbol s_1_36[3] = { 'h', 'e', 't' };
+static const symbol s_1_37[3] = { 'a', 's', 't' };
+static const struct among a_1[38] = {
+{ 1, s_1_0, 0, 1, 0},
+{ 4, s_1_1, -1, 1, 0},
+{ 4, s_1_2, -2, 1, 0},
+{ 7, s_1_3, -1, 1, 0},
+{ 4, s_1_4, -4, 1, 0},
+{ 2, s_1_5, 0, 1, 0},
+{ 1, s_1_6, 0, 1, 0},
+{ 3, s_1_7, -1, 1, 0},
+{ 4, s_1_8, -2, 1, 0},
+{ 4, s_1_9, -3, 1, 0},
+{ 3, s_1_10, -4, 1, 0},
+{ 4, s_1_11, -5, 1, 0},
+{ 2, s_1_12, 0, 1, 0},
+{ 5, s_1_13, -1, 1, 0},
+{ 4, s_1_14, -2, 1, 0},
+{ 5, s_1_15, -3, 1, 0},
+{ 3, s_1_16, 0, 1, 0},
+{ 2, s_1_17, 0, 1, 0},
+{ 2, s_1_18, 0, 1, 0},
+{ 5, s_1_19, -1, 1, 0},
+{ 2, s_1_20, 0, 1, 0},
+{ 1, s_1_21, 0, 2, 0},
+{ 2, s_1_22, -1, 1, 0},
+{ 5, s_1_23, -1, 1, 0},
+{ 5, s_1_24, -2, 1, 0},
+{ 5, s_1_25, -3, 1, 0},
+{ 2, s_1_26, -5, 1, 0},
+{ 4, s_1_27, -1, 1, 0},
+{ 5, s_1_28, -2, 1, 0},
+{ 3, s_1_29, -8, 1, 0},
+{ 5, s_1_30, -1, 1, 0},
+{ 6, s_1_31, -2, 1, 0},
+{ 4, s_1_32, -11, 1, 0},
+{ 2, s_1_33, 0, 1, 0},
+{ 2, s_1_34, 0, 3, 0},
+{ 5, s_1_35, -1, 1, 0},
+{ 3, s_1_36, -2, 1, 0},
+{ 3, s_1_37, 0, 1, 0}
 };
 
-static const symbol s_2_0[2] = { 'i', 'g' };
-static const symbol s_2_1[3] = { 'l', 'i', 'g' };
-static const symbol s_2_2[3] = { 'e', 'l', 's' };
-static const symbol s_2_3[5] = { 'f', 'u', 'l', 'l', 't' };
-static const symbol s_2_4[4] = { 0xC3, 0xB6, 's', 't' };
+static const symbol s_2_0[2] = { 'd', 'd' };
+static const symbol s_2_1[2] = { 'g', 'd' };
+static const symbol s_2_2[2] = { 'n', 'n' };
+static const symbol s_2_3[2] = { 'd', 't' };
+static const symbol s_2_4[2] = { 'g', 't' };
+static const symbol s_2_5[2] = { 'k', 't' };
+static const symbol s_2_6[2] = { 't', 't' };
+static const struct among a_2[7] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 2, s_2_2, 0, -1, 0},
+{ 2, s_2_3, 0, -1, 0},
+{ 2, s_2_4, 0, -1, 0},
+{ 2, s_2_5, 0, -1, 0},
+{ 2, s_2_6, 0, -1, 0}
+};
 
-static const struct among a_2[5] =
-{
-{ 2, s_2_0, -1, 1, 0},
-{ 3, s_2_1, 0, 1, 0},
-{ 3, s_2_2, -1, 1, 0},
-{ 5, s_2_3, -1, 3, 0},
-{ 4, s_2_4, -1, 2, 0}
+static const symbol s_3_0[2] = { 'i', 'g' };
+static const symbol s_3_1[3] = { 'l', 'i', 'g' };
+static const symbol s_3_2[3] = { 'e', 'l', 's' };
+static const symbol s_3_3[5] = { 'f', 'u', 'l', 'l', 't' };
+static const symbol s_3_4[4] = { 0xC3, 0xB6, 's', 't' };
+static const struct among a_3[5] = {
+{ 2, s_3_0, 0, 1, 0},
+{ 3, s_3_1, -1, 1, 0},
+{ 3, s_3_2, 0, 1, 0},
+{ 5, s_3_3, 0, 3, 0},
+{ 4, s_3_4, 0, 2, 0}
 };
 
 static const unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32 };
@@ -144,57 +191,104 @@ static const unsigned char g_s_ending[] = { 119, 127, 149 };
 
 static const unsigned char g_ost_ending[] = { 173, 58 };
 
-static const symbol s_0[] = { 0xC3, 0xB6, 's' };
-static const symbol s_1[] = { 'f', 'u', 'l', 'l' };
-
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c_test1 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->I[0] = z->c;
-        z->c = c_test1;
+        i_x = z->c;
+        z->c = v_1;
+    }
+    {
+        int ret = out_grouping_U(z, g_v, 97, 246, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-
-    if (out_grouping_U(z, g_v, 97, 246, 1) < 0) return 0;
-
     {
         int ret = in_grouping_U(z, g_v, 97, 246, 1);
         if (ret < 0) return 0;
         z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab0;
-    z->I[1] = z->I[0];
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab0;
+    ((SN_local *)z)->i_p1 = i_x;
 lab0:
     return 1;
 }
 
+static int r_et_condition(struct SN_env * z) {
+    {
+        int v_1 = z->l - z->c;
+        if (out_grouping_b_U(z, g_v, 97, 246, 0)) return 0;
+        if (in_grouping_b_U(z, g_v, 97, 246, 0)) return 0;
+        if (z->c > z->lb) goto lab0;
+        return 0;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_2 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1059076 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
+            if (!find_among_b(z, a_0, 21, 0)) goto lab1;
+            return 0;
+        lab1:
+            z->c = z->l - v_2;
+        }
+    }
+    return 1;
+}
+
 static int r_main_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_0, 37);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1851442 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_1, 38, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            if (in_grouping_b_U(z, g_s_ending, 98, 121, 0)) return 0;
-            {   int ret = slice_del(z);
+            do {
+                int v_2 = z->l - z->c;
+                if (!(eq_s_b(z, 2, s_0))) goto lab0;
+                {
+                    int ret = r_et_condition(z);
+                    if (ret == 0) goto lab0;
+                    if (ret < 0) return ret;
+                }
+                z->bra = z->c;
+                break;
+            lab0:
+                z->c = z->l - v_2;
+                if (in_grouping_b_U(z, g_s_ending, 98, 121, 0)) return 0;
+            } while (0);
+            {
+                int ret = slice_del(z);
+                if (ret < 0) return ret;
+            }
+            break;
+        case 3:
+            {
+                int ret = r_et_condition(z);
+                if (ret <= 0) return ret;
+            }
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -203,56 +297,62 @@ static int r_main_suffix(struct SN_env * z) {
 }
 
 static int r_consonant_pair(struct SN_env * z) {
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
-        {   int m2 = z->l - z->c; (void)m2;
-            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-            if (!find_among_b(z, a_1, 7)) { z->lb = mlimit1; return 0; }
-            z->c = z->l - m2;
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
+        {
+            int v_2 = z->l - z->c;
+            if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1064976 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+            if (!find_among_b(z, a_2, 7, 0)) { z->lb = v_1; return 0; }
+            z->c = z->l - v_2;
             z->ket = z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-                if (ret < 0) { z->lb = mlimit1; return 0; }
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                if (ret < 0) { z->lb = v_1; return 0; }
                 z->c = ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
         }
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     return 1;
 }
 
 static int r_other_suffix(struct SN_env * z) {
     int among_var;
-
-    {   int mlimit1;
-        if (z->c < z->I[1]) return 0;
-        mlimit1 = z->lb; z->lb = z->I[1];
+    {
+        int v_1;
+        if (z->c < ((SN_local *)z)->i_p1) return 0;
+        v_1 = z->lb; z->lb = ((SN_local *)z)->i_p1;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = mlimit1; return 0; }
-        among_var = find_among_b(z, a_2, 5);
-        if (!among_var) { z->lb = mlimit1; return 0; }
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1572992 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->lb = v_1; return 0; }
+        among_var = find_among_b(z, a_3, 5, 0);
+        if (!among_var) { z->lb = v_1; return 0; }
         z->bra = z->c;
-        z->lb = mlimit1;
+        z->lb = v_1;
     }
     switch (among_var) {
         case 1:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
             if (in_grouping_b_U(z, g_ost_ending, 105, 118, 0)) return 0;
-            {   int ret = slice_from_s(z, 3, s_0);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 4, s_1);
+            {
+                int ret = slice_from_s(z, 4, s_2);
                 if (ret < 0) return ret;
             }
             break;
@@ -261,37 +361,52 @@ static int r_other_suffix(struct SN_env * z) {
 }
 
 extern int swedish_UTF_8_stem(struct SN_env * z) {
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_main_suffix(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_main_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_consonant_pair(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_consonant_pair(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
-    {   int m4 = z->l - z->c; (void)m4;
-        {   int ret = r_other_suffix(z);
+    {
+        int v_4 = z->l - z->c;
+        {
+            int ret = r_other_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m4;
+        z->c = z->l - v_4;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * swedish_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * swedish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void swedish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void swedish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 72e610fdb1ea86fe13c6ddfd841d1cdb299dc59a..0ce62ffee1ba7fe68a5ea696a61e2a7f827bae75 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from tamil.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_tamil.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    unsigned char b_found_vetrumai_urupu;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +20,7 @@ extern int tamil_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_has_min_length(struct SN_env * z);
 static int r_remove_common_word_endings(struct SN_env * z);
 static int r_remove_tense_suffixes(struct SN_env * z);
@@ -23,29 +35,58 @@ static int r_remove_pronoun_prefixes(struct SN_env * z);
 static int r_remove_question_prefixes(struct SN_env * z);
 static int r_remove_question_suffixes(struct SN_env * z);
 static int r_remove_plural_suffix(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * tamil_UTF_8_create_env(void);
-extern void tamil_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xE0, 0xAE, 0x93 };
+static const symbol s_1[] = { 0xE0, 0xAE, 0x92 };
+static const symbol s_2[] = { 0xE0, 0xAE, 0x89 };
+static const symbol s_3[] = { 0xE0, 0xAE, 0x8A };
+static const symbol s_4[] = { 0xE0, 0xAE, 0x8E };
+static const symbol s_5[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_6[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
+static const symbol s_7[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
+static const symbol s_8[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
+static const symbol s_9[] = { 0xE0, 0xAF, 0x88 };
+static const symbol s_10[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
+static const symbol s_11[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_12[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
+static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_14[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_15[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_16[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_17[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
+static const symbol s_18[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
+static const symbol s_20[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
+static const symbol s_21[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_22[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
+static const symbol s_23[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_24[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_25[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_26[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_27[] = { 0xE0, 0xAE, 0xAE };
+static const symbol s_28[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_31[] = { 0xE0, 0xAE, 0xBF };
+static const symbol s_32[] = { 0xE0, 0xAF, 0x88 };
+static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_35[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
+static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_37[] = { 0xE0, 0xAE, 0x9A };
+static const symbol s_38[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_39[] = { 0xE0, 0xAF, 0x8D };
+static const symbol s_40[] = { 0xE0, 0xAF, 0x8D };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x81 };
 static const symbol s_0_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x82 };
 static const symbol s_0_2[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8A };
 static const symbol s_0_3[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8B };
-
-static const struct among a_0[4] =
-{
-{ 6, s_0_0, -1, 3, 0},
-{ 6, s_0_1, -1, 4, 0},
-{ 6, s_0_2, -1, 2, 0},
-{ 6, s_0_3, -1, 1, 0}
+static const struct among a_0[4] = {
+{ 6, s_0_0, 0, 3, 0},
+{ 6, s_0_1, 0, 4, 0},
+{ 6, s_0_2, 0, 2, 0},
+{ 6, s_0_3, 0, 1, 0}
 };
 
 static const symbol s_1_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -58,30 +99,26 @@ static const symbol s_1_6[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_1_7[3] = { 0xE0, 0xAE, 0xAE };
 static const symbol s_1_8[3] = { 0xE0, 0xAE, 0xAF };
 static const symbol s_1_9[3] = { 0xE0, 0xAE, 0xB5 };
-
-static const struct among a_1[10] =
-{
-{ 3, s_1_0, -1, -1, 0},
-{ 3, s_1_1, -1, -1, 0},
-{ 3, s_1_2, -1, -1, 0},
-{ 3, s_1_3, -1, -1, 0},
-{ 3, s_1_4, -1, -1, 0},
-{ 3, s_1_5, -1, -1, 0},
-{ 3, s_1_6, -1, -1, 0},
-{ 3, s_1_7, -1, -1, 0},
-{ 3, s_1_8, -1, -1, 0},
-{ 3, s_1_9, -1, -1, 0}
+static const struct among a_1[10] = {
+{ 3, s_1_0, 0, -1, 0},
+{ 3, s_1_1, 0, -1, 0},
+{ 3, s_1_2, 0, -1, 0},
+{ 3, s_1_3, 0, -1, 0},
+{ 3, s_1_4, 0, -1, 0},
+{ 3, s_1_5, 0, -1, 0},
+{ 3, s_1_6, 0, -1, 0},
+{ 3, s_1_7, 0, -1, 0},
+{ 3, s_1_8, 0, -1, 0},
+{ 3, s_1_9, 0, -1, 0}
 };
 
 static const symbol s_2_0[3] = { 0xE0, 0xAF, 0x80 };
 static const symbol s_2_1[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_2_2[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_2[3] =
-{
-{ 3, s_2_0, -1, -1, 0},
-{ 3, s_2_1, -1, -1, 0},
-{ 3, s_2_2, -1, -1, 0}
+static const struct among a_2[3] = {
+{ 3, s_2_0, 0, -1, 0},
+{ 3, s_2_1, 0, -1, 0},
+{ 3, s_2_2, 0, -1, 0}
 };
 
 static const symbol s_3_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -92,27 +129,23 @@ static const symbol s_3_4[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_3_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_3_6[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_3_7[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_3[8] =
-{
-{ 3, s_3_0, -1, -1, 0},
-{ 3, s_3_1, -1, -1, 0},
-{ 3, s_3_2, -1, -1, 0},
-{ 3, s_3_3, -1, -1, 0},
-{ 3, s_3_4, -1, -1, 0},
-{ 3, s_3_5, -1, -1, 0},
-{ 3, s_3_6, -1, -1, 0},
-{ 3, s_3_7, -1, -1, 0}
+static const struct among a_3[8] = {
+{ 3, s_3_0, 0, -1, 0},
+{ 3, s_3_1, 0, -1, 0},
+{ 3, s_3_2, 0, -1, 0},
+{ 3, s_3_3, 0, -1, 0},
+{ 3, s_3_4, 0, -1, 0},
+{ 3, s_3_5, 0, -1, 0},
+{ 3, s_3_6, 0, -1, 0},
+{ 3, s_3_7, 0, -1, 0}
 };
 
 static const symbol s_4_1[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_4_2[3] = { 0xE0, 0xAF, 0x8D };
-
-static const struct among a_4[3] =
-{
-{ 0, 0, -1, 2, 0},
-{ 3, s_4_1, 0, 1, 0},
-{ 3, s_4_2, 0, 1, 0}
+static const struct among a_4[3] = {
+{ 0, 0, 0, 2, 0},
+{ 3, s_4_1, -1, 1, 0},
+{ 3, s_4_2, -2, 1, 0}
 };
 
 static const symbol s_5_0[6] = { 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x81 };
@@ -132,26 +165,24 @@ static const symbol s_5_13[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAF, 0x8D };
 static const symbol s_5_14[9] = { 0xE0, 0xAE, 0xA8, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xA4 };
 static const symbol s_5_15[3] = { 0xE0, 0xAE, 0xAF };
 static const symbol s_5_16[3] = { 0xE0, 0xAE, 0xB5 };
-
-static const struct among a_5[17] =
-{
-{ 6, s_5_0, -1, 8, 0},
-{ 9, s_5_1, -1, 7, 0},
-{ 15, s_5_2, -1, 7, 0},
-{ 12, s_5_3, -1, 3, 0},
-{ 12, s_5_4, -1, 4, 0},
-{ 6, s_5_5, -1, 9, 0},
-{ 12, s_5_6, -1, 5, 0},
-{ 12, s_5_7, -1, 6, 0},
-{ 12, s_5_8, -1, 1, 0},
-{ 6, s_5_9, -1, 1, 0},
-{ 12, s_5_10, -1, 3, 0},
-{ 6, s_5_11, -1, 2, 0},
-{ 12, s_5_12, -1, 4, 0},
-{ 6, s_5_13, -1, 1, 0},
-{ 9, s_5_14, -1, 1, 0},
-{ 3, s_5_15, -1, 1, 0},
-{ 3, s_5_16, -1, 1, 0}
+static const struct among a_5[17] = {
+{ 6, s_5_0, 0, 8, 0},
+{ 9, s_5_1, 0, 7, 0},
+{ 15, s_5_2, 0, 7, 0},
+{ 12, s_5_3, 0, 3, 0},
+{ 12, s_5_4, 0, 4, 0},
+{ 6, s_5_5, 0, 9, 0},
+{ 12, s_5_6, 0, 5, 0},
+{ 12, s_5_7, 0, 6, 0},
+{ 12, s_5_8, 0, 1, 0},
+{ 6, s_5_9, 0, 1, 0},
+{ 12, s_5_10, 0, 3, 0},
+{ 6, s_5_11, 0, 2, 0},
+{ 12, s_5_12, 0, 4, 0},
+{ 6, s_5_13, 0, 1, 0},
+{ 9, s_5_14, 0, 1, 0},
+{ 3, s_5_15, 0, 1, 0},
+{ 3, s_5_16, 0, 1, 0}
 };
 
 static const symbol s_6_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -160,15 +191,13 @@ static const symbol s_6_2[3] = { 0xE0, 0xAE, 0x9F };
 static const symbol s_6_3[3] = { 0xE0, 0xAE, 0xA4 };
 static const symbol s_6_4[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_6_5[3] = { 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_6[6] =
-{
-{ 3, s_6_0, -1, -1, 0},
-{ 3, s_6_1, -1, -1, 0},
-{ 3, s_6_2, -1, -1, 0},
-{ 3, s_6_3, -1, -1, 0},
-{ 3, s_6_4, -1, -1, 0},
-{ 3, s_6_5, -1, -1, 0}
+static const struct among a_6[6] = {
+{ 3, s_6_0, 0, -1, 0},
+{ 3, s_6_1, 0, -1, 0},
+{ 3, s_6_2, 0, -1, 0},
+{ 3, s_6_3, 0, -1, 0},
+{ 3, s_6_4, 0, -1, 0},
+{ 3, s_6_5, 0, -1, 0}
 };
 
 static const symbol s_7_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -177,15 +206,13 @@ static const symbol s_7_2[3] = { 0xE0, 0xAE, 0x9F };
 static const symbol s_7_3[3] = { 0xE0, 0xAE, 0xA4 };
 static const symbol s_7_4[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_7_5[3] = { 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_7[6] =
-{
-{ 3, s_7_0, -1, -1, 0},
-{ 3, s_7_1, -1, -1, 0},
-{ 3, s_7_2, -1, -1, 0},
-{ 3, s_7_3, -1, -1, 0},
-{ 3, s_7_4, -1, -1, 0},
-{ 3, s_7_5, -1, -1, 0}
+static const struct among a_7[6] = {
+{ 3, s_7_0, 0, -1, 0},
+{ 3, s_7_1, 0, -1, 0},
+{ 3, s_7_2, 0, -1, 0},
+{ 3, s_7_3, 0, -1, 0},
+{ 3, s_7_4, 0, -1, 0},
+{ 3, s_7_5, 0, -1, 0}
 };
 
 static const symbol s_8_0[3] = { 0xE0, 0xAE, 0x9E };
@@ -199,20 +226,18 @@ static const symbol s_8_7[3] = { 0xE0, 0xAE, 0xB2 };
 static const symbol s_8_8[3] = { 0xE0, 0xAE, 0xB3 };
 static const symbol s_8_9[3] = { 0xE0, 0xAE, 0xB4 };
 static const symbol s_8_10[3] = { 0xE0, 0xAE, 0xB5 };
-
-static const struct among a_8[11] =
-{
-{ 3, s_8_0, -1, -1, 0},
-{ 3, s_8_1, -1, -1, 0},
-{ 3, s_8_2, -1, -1, 0},
-{ 3, s_8_3, -1, -1, 0},
-{ 3, s_8_4, -1, -1, 0},
-{ 3, s_8_5, -1, -1, 0},
-{ 3, s_8_6, -1, -1, 0},
-{ 3, s_8_7, -1, -1, 0},
-{ 3, s_8_8, -1, -1, 0},
-{ 3, s_8_9, -1, -1, 0},
-{ 3, s_8_10, -1, -1, 0}
+static const struct among a_8[11] = {
+{ 3, s_8_0, 0, -1, 0},
+{ 3, s_8_1, 0, -1, 0},
+{ 3, s_8_2, 0, -1, 0},
+{ 3, s_8_3, 0, -1, 0},
+{ 3, s_8_4, 0, -1, 0},
+{ 3, s_8_5, 0, -1, 0},
+{ 3, s_8_6, 0, -1, 0},
+{ 3, s_8_7, 0, -1, 0},
+{ 3, s_8_8, 0, -1, 0},
+{ 3, s_8_9, 0, -1, 0},
+{ 3, s_8_10, 0, -1, 0}
 };
 
 static const symbol s_9_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -224,29 +249,25 @@ static const symbol s_9_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_9_6[3] = { 0xE0, 0xAF, 0x8D };
 static const symbol s_9_7[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_9_8[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_9[9] =
-{
-{ 3, s_9_0, -1, -1, 0},
-{ 3, s_9_1, -1, -1, 0},
-{ 3, s_9_2, -1, -1, 0},
-{ 3, s_9_3, -1, -1, 0},
-{ 3, s_9_4, -1, -1, 0},
-{ 3, s_9_5, -1, -1, 0},
-{ 3, s_9_6, -1, -1, 0},
-{ 3, s_9_7, -1, -1, 0},
-{ 3, s_9_8, -1, -1, 0}
+static const struct among a_9[9] = {
+{ 3, s_9_0, 0, -1, 0},
+{ 3, s_9_1, 0, -1, 0},
+{ 3, s_9_2, 0, -1, 0},
+{ 3, s_9_3, 0, -1, 0},
+{ 3, s_9_4, 0, -1, 0},
+{ 3, s_9_5, 0, -1, 0},
+{ 3, s_9_6, 0, -1, 0},
+{ 3, s_9_7, 0, -1, 0},
+{ 3, s_9_8, 0, -1, 0}
 };
 
 static const symbol s_10_0[3] = { 0xE0, 0xAE, 0x85 };
 static const symbol s_10_1[3] = { 0xE0, 0xAE, 0x87 };
 static const symbol s_10_2[3] = { 0xE0, 0xAE, 0x89 };
-
-static const struct among a_10[3] =
-{
-{ 3, s_10_0, -1, -1, 0},
-{ 3, s_10_1, -1, -1, 0},
-{ 3, s_10_2, -1, -1, 0}
+static const struct among a_10[3] = {
+{ 3, s_10_0, 0, -1, 0},
+{ 3, s_10_1, 0, -1, 0},
+{ 3, s_10_2, 0, -1, 0}
 };
 
 static const symbol s_11_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -259,19 +280,17 @@ static const symbol s_11_6[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_11_7[3] = { 0xE0, 0xAE, 0xAE };
 static const symbol s_11_8[3] = { 0xE0, 0xAE, 0xAF };
 static const symbol s_11_9[3] = { 0xE0, 0xAE, 0xB5 };
-
-static const struct among a_11[10] =
-{
-{ 3, s_11_0, -1, -1, 0},
-{ 3, s_11_1, -1, -1, 0},
-{ 3, s_11_2, -1, -1, 0},
-{ 3, s_11_3, -1, -1, 0},
-{ 3, s_11_4, -1, -1, 0},
-{ 3, s_11_5, -1, -1, 0},
-{ 3, s_11_6, -1, -1, 0},
-{ 3, s_11_7, -1, -1, 0},
-{ 3, s_11_8, -1, -1, 0},
-{ 3, s_11_9, -1, -1, 0}
+static const struct among a_11[10] = {
+{ 3, s_11_0, 0, -1, 0},
+{ 3, s_11_1, 0, -1, 0},
+{ 3, s_11_2, 0, -1, 0},
+{ 3, s_11_3, 0, -1, 0},
+{ 3, s_11_4, 0, -1, 0},
+{ 3, s_11_5, 0, -1, 0},
+{ 3, s_11_6, 0, -1, 0},
+{ 3, s_11_7, 0, -1, 0},
+{ 3, s_11_8, 0, -1, 0},
+{ 3, s_11_9, 0, -1, 0}
 };
 
 static const symbol s_12_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -280,48 +299,40 @@ static const symbol s_12_2[3] = { 0xE0, 0xAE, 0x9F };
 static const symbol s_12_3[3] = { 0xE0, 0xAE, 0xA4 };
 static const symbol s_12_4[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_12_5[3] = { 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_12[6] =
-{
-{ 3, s_12_0, -1, -1, 0},
-{ 3, s_12_1, -1, -1, 0},
-{ 3, s_12_2, -1, -1, 0},
-{ 3, s_12_3, -1, -1, 0},
-{ 3, s_12_4, -1, -1, 0},
-{ 3, s_12_5, -1, -1, 0}
+static const struct among a_12[6] = {
+{ 3, s_12_0, 0, -1, 0},
+{ 3, s_12_1, 0, -1, 0},
+{ 3, s_12_2, 0, -1, 0},
+{ 3, s_12_3, 0, -1, 0},
+{ 3, s_12_4, 0, -1, 0},
+{ 3, s_12_5, 0, -1, 0}
 };
 
 static const symbol s_13_0[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
 static const symbol s_13_1[18] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
 static const symbol s_13_2[15] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
 static const symbol s_13_3[15] = { 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
-
-static const struct among a_13[4] =
-{
-{ 9, s_13_0, -1, 4, 0},
-{ 18, s_13_1, 0, 1, 0},
-{ 15, s_13_2, 0, 3, 0},
-{ 15, s_13_3, 0, 2, 0}
+static const struct among a_13[4] = {
+{ 9, s_13_0, 0, 4, 0},
+{ 18, s_13_1, -1, 1, 0},
+{ 15, s_13_2, -2, 3, 0},
+{ 15, s_13_3, -3, 2, 0}
 };
 
 static const symbol s_14_0[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_14_1[3] = { 0xE0, 0xAF, 0x8B };
 static const symbol s_14_2[3] = { 0xE0, 0xAE, 0xBE };
-
-static const struct among a_14[3] =
-{
-{ 3, s_14_0, -1, -1, 0},
-{ 3, s_14_1, -1, -1, 0},
-{ 3, s_14_2, -1, -1, 0}
+static const struct among a_14[3] = {
+{ 3, s_14_0, 0, -1, 0},
+{ 3, s_14_1, 0, -1, 0},
+{ 3, s_14_2, 0, -1, 0}
 };
 
 static const symbol s_15_0[6] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xBF };
 static const symbol s_15_1[6] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF };
-
-static const struct among a_15[2] =
-{
-{ 6, s_15_0, -1, -1, 0},
-{ 6, s_15_1, -1, -1, 0}
+static const struct among a_15[2] = {
+{ 6, s_15_0, 0, -1, 0},
+{ 6, s_15_1, 0, -1, 0}
 };
 
 static const symbol s_16_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -332,17 +343,15 @@ static const symbol s_16_4[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_16_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_16_6[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_16_7[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_16[8] =
-{
-{ 3, s_16_0, -1, -1, 0},
-{ 3, s_16_1, -1, -1, 0},
-{ 3, s_16_2, -1, -1, 0},
-{ 3, s_16_3, -1, -1, 0},
-{ 3, s_16_4, -1, -1, 0},
-{ 3, s_16_5, -1, -1, 0},
-{ 3, s_16_6, -1, -1, 0},
-{ 3, s_16_7, -1, -1, 0}
+static const struct among a_16[8] = {
+{ 3, s_16_0, 0, -1, 0},
+{ 3, s_16_1, 0, -1, 0},
+{ 3, s_16_2, 0, -1, 0},
+{ 3, s_16_3, 0, -1, 0},
+{ 3, s_16_4, 0, -1, 0},
+{ 3, s_16_5, 0, -1, 0},
+{ 3, s_16_6, 0, -1, 0},
+{ 3, s_16_7, 0, -1, 0}
 };
 
 static const symbol s_17_0[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
@@ -371,35 +380,33 @@ static const symbol s_17_22[9] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0x95, 0xE0, 0xA
 static const symbol s_17_23[9] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0x9F, 0xE0, 0xAE, 0xBF };
 static const symbol s_17_24[15] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
 static const symbol s_17_25[15] = { 0xE0, 0xAE, 0xAA, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAE, 0xBF };
-
-static const struct among a_17[26] =
-{
-{ 15, s_17_0, -1, 3, 0},
-{ 18, s_17_1, -1, 3, 0},
-{ 9, s_17_2, -1, 3, 0},
-{ 12, s_17_3, -1, 3, 0},
-{ 18, s_17_4, -1, 3, 0},
-{ 15, s_17_5, -1, 1, 0},
-{ 9, s_17_6, -1, 1, 0},
-{ 15, s_17_7, -1, 1, 0},
-{ 12, s_17_8, -1, 1, 0},
-{ 15, s_17_9, -1, 1, 0},
-{ 12, s_17_10, -1, 1, 0},
-{ 21, s_17_11, -1, 3, 0},
-{ 12, s_17_12, -1, 3, 0},
-{ 15, s_17_13, -1, 3, 0},
-{ 6, s_17_14, -1, 1, 0},
-{ 9, s_17_15, -1, 3, 0},
-{ 18, s_17_16, 15, 3, 0},
-{ 12, s_17_17, -1, 1, 0},
-{ 12, s_17_18, -1, 1, 0},
-{ 15, s_17_19, -1, 3, 0},
-{ 9, s_17_20, -1, 2, 0},
-{ 12, s_17_21, -1, 1, 0},
-{ 9, s_17_22, -1, 1, 0},
-{ 9, s_17_23, -1, 3, 0},
-{ 15, s_17_24, -1, 1, 0},
-{ 15, s_17_25, -1, 3, 0}
+static const struct among a_17[26] = {
+{ 15, s_17_0, 0, 3, 0},
+{ 18, s_17_1, 0, 3, 0},
+{ 9, s_17_2, 0, 3, 0},
+{ 12, s_17_3, 0, 3, 0},
+{ 18, s_17_4, 0, 3, 0},
+{ 15, s_17_5, 0, 1, 0},
+{ 9, s_17_6, 0, 1, 0},
+{ 15, s_17_7, 0, 1, 0},
+{ 12, s_17_8, 0, 1, 0},
+{ 15, s_17_9, 0, 1, 0},
+{ 12, s_17_10, 0, 1, 0},
+{ 21, s_17_11, 0, 3, 0},
+{ 12, s_17_12, 0, 3, 0},
+{ 15, s_17_13, 0, 3, 0},
+{ 6, s_17_14, 0, 1, 0},
+{ 9, s_17_15, 0, 3, 0},
+{ 18, s_17_16, -1, 3, 0},
+{ 12, s_17_17, 0, 1, 0},
+{ 12, s_17_18, 0, 1, 0},
+{ 15, s_17_19, 0, 3, 0},
+{ 9, s_17_20, 0, 2, 0},
+{ 12, s_17_21, 0, 1, 0},
+{ 9, s_17_22, 0, 1, 0},
+{ 9, s_17_23, 0, 3, 0},
+{ 15, s_17_24, 0, 1, 0},
+{ 15, s_17_25, 0, 3, 0}
 };
 
 static const symbol s_18_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -410,17 +417,15 @@ static const symbol s_18_4[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_18_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_18_6[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_18_7[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_18[8] =
-{
-{ 3, s_18_0, -1, -1, 0},
-{ 3, s_18_1, -1, -1, 0},
-{ 3, s_18_2, -1, -1, 0},
-{ 3, s_18_3, -1, -1, 0},
-{ 3, s_18_4, -1, -1, 0},
-{ 3, s_18_5, -1, -1, 0},
-{ 3, s_18_6, -1, -1, 0},
-{ 3, s_18_7, -1, -1, 0}
+static const struct among a_18[8] = {
+{ 3, s_18_0, 0, -1, 0},
+{ 3, s_18_1, 0, -1, 0},
+{ 3, s_18_2, 0, -1, 0},
+{ 3, s_18_3, 0, -1, 0},
+{ 3, s_18_4, 0, -1, 0},
+{ 3, s_18_5, 0, -1, 0},
+{ 3, s_18_6, 0, -1, 0},
+{ 3, s_18_7, 0, -1, 0}
 };
 
 static const symbol s_19_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -431,17 +436,15 @@ static const symbol s_19_4[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_19_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_19_6[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_19_7[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_19[8] =
-{
-{ 3, s_19_0, -1, -1, 0},
-{ 3, s_19_1, -1, -1, 0},
-{ 3, s_19_2, -1, -1, 0},
-{ 3, s_19_3, -1, -1, 0},
-{ 3, s_19_4, -1, -1, 0},
-{ 3, s_19_5, -1, -1, 0},
-{ 3, s_19_6, -1, -1, 0},
-{ 3, s_19_7, -1, -1, 0}
+static const struct among a_19[8] = {
+{ 3, s_19_0, 0, -1, 0},
+{ 3, s_19_1, 0, -1, 0},
+{ 3, s_19_2, 0, -1, 0},
+{ 3, s_19_3, 0, -1, 0},
+{ 3, s_19_4, 0, -1, 0},
+{ 3, s_19_5, 0, -1, 0},
+{ 3, s_19_6, 0, -1, 0},
+{ 3, s_19_7, 0, -1, 0}
 };
 
 static const symbol s_20_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -466,31 +469,29 @@ static const symbol s_20_18[9] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB2, 0xE0, 0xA
 static const symbol s_20_19[9] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
 static const symbol s_20_20[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x80, 0xE0, 0xAE, 0xB4, 0xE0, 0xAF, 0x8D };
 static const symbol s_20_21[9] = { 0xE0, 0xAE, 0xB5, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0x9F };
-
-static const struct among a_20[22] =
-{
-{ 3, s_20_0, -1, 7, 0},
-{ 9, s_20_1, -1, 2, 0},
-{ 9, s_20_2, -1, 2, 0},
-{ 6, s_20_3, -1, 6, 0},
-{ 21, s_20_4, 3, 2, 0},
-{ 15, s_20_5, -1, 2, 0},
-{ 9, s_20_6, -1, 2, 0},
-{ 6, s_20_7, -1, 1, 0},
-{ 9, s_20_8, -1, 1, 0},
-{ 12, s_20_9, -1, 1, 0},
-{ 9, s_20_10, -1, 3, 0},
-{ 12, s_20_11, -1, 4, 0},
-{ 12, s_20_12, -1, 1, 0},
-{ 9, s_20_13, -1, 2, 0},
-{ 6, s_20_14, -1, 5, 0},
-{ 12, s_20_15, 14, 1, 0},
-{ 12, s_20_16, 14, 2, 0},
-{ 9, s_20_17, 14, 2, 0},
-{ 9, s_20_18, 14, 2, 0},
-{ 9, s_20_19, -1, 2, 0},
-{ 12, s_20_20, -1, 1, 0},
-{ 9, s_20_21, -1, 2, 0}
+static const struct among a_20[22] = {
+{ 3, s_20_0, 0, 7, 0},
+{ 9, s_20_1, 0, 2, 0},
+{ 9, s_20_2, 0, 2, 0},
+{ 6, s_20_3, 0, 6, 0},
+{ 21, s_20_4, -1, 2, 0},
+{ 15, s_20_5, 0, 2, 0},
+{ 9, s_20_6, 0, 2, 0},
+{ 6, s_20_7, 0, 1, 0},
+{ 9, s_20_8, 0, 1, 0},
+{ 12, s_20_9, 0, 1, 0},
+{ 9, s_20_10, 0, 3, 0},
+{ 12, s_20_11, 0, 4, 0},
+{ 12, s_20_12, 0, 1, 0},
+{ 9, s_20_13, 0, 2, 0},
+{ 6, s_20_14, 0, 5, 0},
+{ 12, s_20_15, -1, 1, 0},
+{ 12, s_20_16, -2, 2, 0},
+{ 9, s_20_17, -3, 2, 0},
+{ 9, s_20_18, -4, 2, 0},
+{ 9, s_20_19, 0, 2, 0},
+{ 12, s_20_20, 0, 1, 0},
+{ 9, s_20_21, 0, 2, 0}
 };
 
 static const symbol s_21_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -499,15 +500,13 @@ static const symbol s_21_2[3] = { 0xE0, 0xAE, 0x9F };
 static const symbol s_21_3[3] = { 0xE0, 0xAE, 0xA4 };
 static const symbol s_21_4[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_21_5[3] = { 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_21[6] =
-{
-{ 3, s_21_0, -1, -1, 0},
-{ 3, s_21_1, -1, -1, 0},
-{ 3, s_21_2, -1, -1, 0},
-{ 3, s_21_3, -1, -1, 0},
-{ 3, s_21_4, -1, -1, 0},
-{ 3, s_21_5, -1, -1, 0}
+static const struct among a_21[6] = {
+{ 3, s_21_0, 0, -1, 0},
+{ 3, s_21_1, 0, -1, 0},
+{ 3, s_21_2, 0, -1, 0},
+{ 3, s_21_3, 0, -1, 0},
+{ 3, s_21_4, 0, -1, 0},
+{ 3, s_21_5, 0, -1, 0}
 };
 
 static const symbol s_22_0[3] = { 0xE0, 0xAE, 0x95 };
@@ -516,15 +515,13 @@ static const symbol s_22_2[3] = { 0xE0, 0xAE, 0x9F };
 static const symbol s_22_3[3] = { 0xE0, 0xAE, 0xA4 };
 static const symbol s_22_4[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_22_5[3] = { 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_22[6] =
-{
-{ 3, s_22_0, -1, -1, 0},
-{ 3, s_22_1, -1, -1, 0},
-{ 3, s_22_2, -1, -1, 0},
-{ 3, s_22_3, -1, -1, 0},
-{ 3, s_22_4, -1, -1, 0},
-{ 3, s_22_5, -1, -1, 0}
+static const struct among a_22[6] = {
+{ 3, s_22_0, 0, -1, 0},
+{ 3, s_22_1, 0, -1, 0},
+{ 3, s_22_2, 0, -1, 0},
+{ 3, s_22_3, 0, -1, 0},
+{ 3, s_22_4, 0, -1, 0},
+{ 3, s_22_5, 0, -1, 0}
 };
 
 static const symbol s_23_0[3] = { 0xE0, 0xAE, 0x85 };
@@ -539,21 +536,19 @@ static const symbol s_23_8[3] = { 0xE0, 0xAE, 0x90 };
 static const symbol s_23_9[3] = { 0xE0, 0xAE, 0x92 };
 static const symbol s_23_10[3] = { 0xE0, 0xAE, 0x93 };
 static const symbol s_23_11[3] = { 0xE0, 0xAE, 0x94 };
-
-static const struct among a_23[12] =
-{
-{ 3, s_23_0, -1, -1, 0},
-{ 3, s_23_1, -1, -1, 0},
-{ 3, s_23_2, -1, -1, 0},
-{ 3, s_23_3, -1, -1, 0},
-{ 3, s_23_4, -1, -1, 0},
-{ 3, s_23_5, -1, -1, 0},
-{ 3, s_23_6, -1, -1, 0},
-{ 3, s_23_7, -1, -1, 0},
-{ 3, s_23_8, -1, -1, 0},
-{ 3, s_23_9, -1, -1, 0},
-{ 3, s_23_10, -1, -1, 0},
-{ 3, s_23_11, -1, -1, 0}
+static const struct among a_23[12] = {
+{ 3, s_23_0, 0, -1, 0},
+{ 3, s_23_1, 0, -1, 0},
+{ 3, s_23_2, 0, -1, 0},
+{ 3, s_23_3, 0, -1, 0},
+{ 3, s_23_4, 0, -1, 0},
+{ 3, s_23_5, 0, -1, 0},
+{ 3, s_23_6, 0, -1, 0},
+{ 3, s_23_7, 0, -1, 0},
+{ 3, s_23_8, 0, -1, 0},
+{ 3, s_23_9, 0, -1, 0},
+{ 3, s_23_10, 0, -1, 0},
+{ 3, s_23_11, 0, -1, 0}
 };
 
 static const symbol s_24_0[3] = { 0xE0, 0xAF, 0x80 };
@@ -564,17 +559,15 @@ static const symbol s_24_4[3] = { 0xE0, 0xAF, 0x87 };
 static const symbol s_24_5[3] = { 0xE0, 0xAF, 0x88 };
 static const symbol s_24_6[3] = { 0xE0, 0xAE, 0xBE };
 static const symbol s_24_7[3] = { 0xE0, 0xAE, 0xBF };
-
-static const struct among a_24[8] =
-{
-{ 3, s_24_0, -1, -1, 0},
-{ 3, s_24_1, -1, -1, 0},
-{ 3, s_24_2, -1, -1, 0},
-{ 3, s_24_3, -1, -1, 0},
-{ 3, s_24_4, -1, -1, 0},
-{ 3, s_24_5, -1, -1, 0},
-{ 3, s_24_6, -1, -1, 0},
-{ 3, s_24_7, -1, -1, 0}
+static const struct among a_24[8] = {
+{ 3, s_24_0, 0, -1, 0},
+{ 3, s_24_1, 0, -1, 0},
+{ 3, s_24_2, 0, -1, 0},
+{ 3, s_24_3, 0, -1, 0},
+{ 3, s_24_4, 0, -1, 0},
+{ 3, s_24_5, 0, -1, 0},
+{ 3, s_24_6, 0, -1, 0},
+{ 3, s_24_7, 0, -1, 0}
 };
 
 static const symbol s_25_0[6] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAF, 0x81 };
@@ -623,55 +616,53 @@ static const symbol s_25_42[3] = { 0xE0, 0xAE, 0xA9 };
 static const symbol s_25_43[3] = { 0xE0, 0xAE, 0xAA };
 static const symbol s_25_44[3] = { 0xE0, 0xAE, 0xAF };
 static const symbol s_25_45[3] = { 0xE0, 0xAE, 0xBE };
-
-static const struct among a_25[46] =
-{
-{ 6, s_25_0, -1, 6, 0},
-{ 9, s_25_1, -1, 1, 0},
-{ 6, s_25_2, -1, 3, 0},
-{ 15, s_25_3, -1, 1, 0},
-{ 6, s_25_4, -1, 1, 0},
-{ 6, s_25_5, -1, 1, 0},
-{ 12, s_25_6, -1, 1, 0},
-{ 9, s_25_7, -1, 5, 0},
-{ 9, s_25_8, -1, 1, 0},
-{ 9, s_25_9, -1, 1, 0},
-{ 9, s_25_10, -1, 2, 0},
-{ 9, s_25_11, -1, 4, 0},
-{ 12, s_25_12, 11, 1, 0},
-{ 12, s_25_13, -1, 1, 0},
-{ 12, s_25_14, -1, 1, 0},
-{ 12, s_25_15, -1, 5, 0},
-{ 12, s_25_16, -1, 1, 0},
-{ 12, s_25_17, -1, 1, 0},
-{ 9, s_25_18, -1, 5, 0},
-{ 9, s_25_19, -1, 5, 0},
-{ 9, s_25_20, -1, 5, 0},
-{ 9, s_25_21, -1, 1, 0},
-{ 9, s_25_22, -1, 1, 0},
-{ 9, s_25_23, -1, 5, 0},
-{ 9, s_25_24, -1, 5, 0},
-{ 9, s_25_25, -1, 5, 0},
-{ 9, s_25_26, -1, 1, 0},
-{ 9, s_25_27, -1, 1, 0},
-{ 12, s_25_28, -1, 5, 0},
-{ 9, s_25_29, -1, 1, 0},
-{ 9, s_25_30, -1, 5, 0},
-{ 12, s_25_31, 30, 1, 0},
-{ 12, s_25_32, 30, 1, 0},
-{ 24, s_25_33, -1, 1, 0},
-{ 12, s_25_34, -1, 5, 0},
-{ 9, s_25_35, -1, 1, 0},
-{ 9, s_25_36, -1, 1, 0},
-{ 9, s_25_37, -1, 1, 0},
-{ 9, s_25_38, -1, 5, 0},
-{ 12, s_25_39, 38, 1, 0},
-{ 3, s_25_40, -1, 1, 0},
-{ 3, s_25_41, -1, 1, 0},
-{ 3, s_25_42, -1, 1, 0},
-{ 3, s_25_43, -1, 1, 0},
-{ 3, s_25_44, -1, 1, 0},
-{ 3, s_25_45, -1, 5, 0}
+static const struct among a_25[46] = {
+{ 6, s_25_0, 0, 6, 0},
+{ 9, s_25_1, 0, 1, 0},
+{ 6, s_25_2, 0, 3, 0},
+{ 15, s_25_3, 0, 1, 0},
+{ 6, s_25_4, 0, 1, 0},
+{ 6, s_25_5, 0, 1, 0},
+{ 12, s_25_6, 0, 1, 0},
+{ 9, s_25_7, 0, 5, 0},
+{ 9, s_25_8, 0, 1, 0},
+{ 9, s_25_9, 0, 1, 0},
+{ 9, s_25_10, 0, 2, 0},
+{ 9, s_25_11, 0, 4, 0},
+{ 12, s_25_12, -1, 1, 0},
+{ 12, s_25_13, 0, 1, 0},
+{ 12, s_25_14, 0, 1, 0},
+{ 12, s_25_15, 0, 5, 0},
+{ 12, s_25_16, 0, 1, 0},
+{ 12, s_25_17, 0, 1, 0},
+{ 9, s_25_18, 0, 5, 0},
+{ 9, s_25_19, 0, 5, 0},
+{ 9, s_25_20, 0, 5, 0},
+{ 9, s_25_21, 0, 1, 0},
+{ 9, s_25_22, 0, 1, 0},
+{ 9, s_25_23, 0, 5, 0},
+{ 9, s_25_24, 0, 5, 0},
+{ 9, s_25_25, 0, 5, 0},
+{ 9, s_25_26, 0, 1, 0},
+{ 9, s_25_27, 0, 1, 0},
+{ 12, s_25_28, 0, 5, 0},
+{ 9, s_25_29, 0, 1, 0},
+{ 9, s_25_30, 0, 5, 0},
+{ 12, s_25_31, -1, 1, 0},
+{ 12, s_25_32, -2, 1, 0},
+{ 24, s_25_33, 0, 1, 0},
+{ 12, s_25_34, 0, 5, 0},
+{ 9, s_25_35, 0, 1, 0},
+{ 9, s_25_36, 0, 1, 0},
+{ 9, s_25_37, 0, 1, 0},
+{ 9, s_25_38, 0, 5, 0},
+{ 12, s_25_39, -1, 1, 0},
+{ 3, s_25_40, 0, 1, 0},
+{ 3, s_25_41, 0, 1, 0},
+{ 3, s_25_42, 0, 1, 0},
+{ 3, s_25_43, 0, 1, 0},
+{ 3, s_25_44, 0, 1, 0},
+{ 3, s_25_45, 0, 5, 0}
 };
 
 static const symbol s_26_0[18] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1, 0xE0, 0xAF, 0x8D };
@@ -680,59 +671,15 @@ static const symbol s_26_2[12] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xA
 static const symbol s_26_3[15] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
 static const symbol s_26_4[18] = { 0xE0, 0xAE, 0xBE, 0xE0, 0xAE, 0xA8, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D, 0xE0, 0xAE, 0xB1 };
 static const symbol s_26_5[9] = { 0xE0, 0xAE, 0x95, 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xB1 };
-
-static const struct among a_26[6] =
-{
-{ 18, s_26_0, -1, -1, 0},
-{ 21, s_26_1, -1, -1, 0},
-{ 12, s_26_2, -1, -1, 0},
-{ 15, s_26_3, -1, -1, 0},
-{ 18, s_26_4, -1, -1, 0},
-{ 9, s_26_5, -1, -1, 0}
+static const struct among a_26[6] = {
+{ 18, s_26_0, 0, -1, 0},
+{ 21, s_26_1, 0, -1, 0},
+{ 12, s_26_2, 0, -1, 0},
+{ 15, s_26_3, 0, -1, 0},
+{ 18, s_26_4, 0, -1, 0},
+{ 9, s_26_5, 0, -1, 0}
 };
 
-static const symbol s_0[] = { 0xE0, 0xAE, 0x93 };
-static const symbol s_1[] = { 0xE0, 0xAE, 0x92 };
-static const symbol s_2[] = { 0xE0, 0xAE, 0x89 };
-static const symbol s_3[] = { 0xE0, 0xAE, 0x8A };
-static const symbol s_4[] = { 0xE0, 0xAE, 0x8E };
-static const symbol s_5[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_6[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
-static const symbol s_7[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
-static const symbol s_8[] = { 0xE0, 0xAE, 0x9F, 0xE0, 0xAF, 0x81 };
-static const symbol s_9[] = { 0xE0, 0xAF, 0x88 };
-static const symbol s_10[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
-static const symbol s_11[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_12[] = { 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
-static const symbol s_13[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_14[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_15[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_16[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_17[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0x99, 0xE0, 0xAF, 0x8D };
-static const symbol s_18[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_19[] = { 0xE0, 0xAE, 0xB2, 0xE0, 0xAF, 0x8D };
-static const symbol s_20[] = { 0xE0, 0xAE, 0xB3, 0xE0, 0xAF, 0x8D };
-static const symbol s_21[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_22[] = { 0xE0, 0xAF, 0x81, 0xE0, 0xAE, 0xAE, 0xE0, 0xAF, 0x8D };
-static const symbol s_23[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_24[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_25[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_26[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_27[] = { 0xE0, 0xAE, 0xAE };
-static const symbol s_28[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_29[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_30[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_31[] = { 0xE0, 0xAE, 0xBF };
-static const symbol s_32[] = { 0xE0, 0xAF, 0x88 };
-static const symbol s_33[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_34[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_35[] = { 0xE0, 0xAE, 0xBF, 0xE0, 0xAE, 0xA9, 0xE0, 0xAF, 0x8D };
-static const symbol s_36[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_37[] = { 0xE0, 0xAE, 0x9A };
-static const symbol s_38[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_39[] = { 0xE0, 0xAF, 0x8D };
-static const symbol s_40[] = { 0xE0, 0xAF, 0x8D };
-
 static int r_has_min_length(struct SN_env * z) {
     return len_utf8(z->p) > 4;
 }
@@ -741,27 +688,31 @@ static int r_fix_va_start(struct SN_env * z) {
     int among_var;
     z->bra = z->c;
     if (z->c + 5 >= z->l || z->p[z->c + 5] >> 5 != 4 || !((3078 >> (z->p[z->c + 5] & 0x1f)) & 1)) return 0;
-    among_var = find_among(z, a_0, 4);
+    among_var = find_among(z, a_0, 4, 0);
     if (!among_var) return 0;
     z->ket = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_0);
+            {
+                int ret = slice_from_s(z, 3, s_0);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 3, s_1);
+            {
+                int ret = slice_from_s(z, 3, s_1);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 3, s_2);
+            {
+                int ret = slice_from_s(z, 3, s_2);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 3, s_3);
+            {
+                int ret = slice_from_s(z, 3, s_3);
                 if (ret < 0) return ret;
             }
             break;
@@ -770,19 +721,21 @@ static int r_fix_va_start(struct SN_env * z) {
 }
 
 static int r_fix_endings(struct SN_env * z) {
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            {   int ret = r_fix_ending(z);
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            {
+                int ret = r_fix_ending(z);
                 if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
@@ -790,17 +743,20 @@ static int r_fix_endings(struct SN_env * z) {
 static int r_remove_question_prefixes(struct SN_env * z) {
     z->bra = z->c;
     if (!(eq_s(z, 3, s_4))) return 0;
-    if (!find_among(z, a_1, 10)) return 0;
+    if (!find_among(z, a_1, 10, 0)) return 0;
     if (!(eq_s(z, 3, s_5))) return 0;
     z->ket = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int c1 = z->c;
-        {   int ret = r_fix_va_start(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_fix_va_start(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
@@ -809,129 +765,145 @@ static int r_fix_ending(struct SN_env * z) {
     int among_var;
     if (len_utf8(z->p) <= 3) return 0;
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_5, 17);
-        if (!among_var) goto lab1;
+        among_var = find_among_b(z, a_5, 17, 0);
+        if (!among_var) goto lab0;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int m_test2 = z->l - z->c;
-                    if (!find_among_b(z, a_2, 3)) goto lab1;
-                    z->c = z->l - m_test2;
+                {
+                    int v_2 = z->l - z->c;
+                    if (!find_among_b(z, a_2, 3, 0)) goto lab0;
+                    z->c = z->l - v_2;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = slice_from_s(z, 6, s_6);
+                {
+                    int ret = slice_from_s(z, 6, s_6);
                     if (ret < 0) return ret;
                 }
                 break;
             case 4:
-                {   int ret = slice_from_s(z, 6, s_7);
+                {
+                    int ret = slice_from_s(z, 6, s_7);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 6, s_8);
+                {
+                    int ret = slice_from_s(z, 6, s_8);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                if (!(z->I[0])) goto lab1;
-                {   int m3 = z->l - z->c; (void)m3;
-                    if (!(eq_s_b(z, 3, s_9))) goto lab2;
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m3;
+                if (!((SN_local *)z)->b_found_vetrumai_urupu) goto lab0;
+                {
+                    int v_3 = z->l - z->c;
+                    if (!(eq_s_b(z, 3, s_9))) goto lab1;
+                    goto lab0;
+                lab1:
+                    z->c = z->l - v_3;
                 }
-                {   int ret = slice_from_s(z, 6, s_10);
+                {
+                    int ret = slice_from_s(z, 6, s_10);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = slice_from_s(z, 3, s_11);
+                {
+                    int ret = slice_from_s(z, 3, s_11);
                     if (ret < 0) return ret;
                 }
                 break;
             case 8:
-                {   int m4 = z->l - z->c; (void)m4;
-                    if (!find_among_b(z, a_3, 8)) goto lab3;
-                    goto lab1;
-                lab3:
-                    z->c = z->l - m4;
+                {
+                    int v_4 = z->l - z->c;
+                    if (!find_among_b(z, a_3, 8, 0)) goto lab2;
+                    goto lab0;
+                lab2:
+                    z->c = z->l - v_4;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 9:
                 if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 136 && z->p[z->c - 1] != 141)) among_var = 2; else
-                among_var = find_among_b(z, a_4, 3);
+                among_var = find_among_b(z, a_4, 3, 0);
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_del(z);
+                        {
+                            int ret = slice_del(z);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 6, s_12);
+                        {
+                            int ret = slice_from_s(z, 6, s_12);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
                 break;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
         if (!(eq_s_b(z, 3, s_13))) return 0;
-        {   int m5 = z->l - z->c; (void)m5;
-            if (!find_among_b(z, a_6, 6)) goto lab5;
-            {   int m6 = z->l - z->c; (void)m6;
-                if (!(eq_s_b(z, 3, s_14))) { z->c = z->l - m6; goto lab6; }
-                if (!find_among_b(z, a_7, 6)) { z->c = z->l - m6; goto lab6; }
-            lab6:
+        do {
+            int v_5 = z->l - z->c;
+            if (!find_among_b(z, a_6, 6, 0)) goto lab3;
+            {
+                int v_6 = z->l - z->c;
+                if (!(eq_s_b(z, 3, s_14))) { z->c = z->l - v_6; goto lab4; }
+                if (!find_among_b(z, a_7, 6, 0)) { z->c = z->l - v_6; goto lab4; }
+            lab4:
                 ;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            goto lab4;
-        lab5:
-            z->c = z->l - m5;
-            if (!find_among_b(z, a_8, 11)) goto lab7;
+            break;
+        lab3:
+            z->c = z->l - v_5;
+            if (!find_among_b(z, a_8, 11, 0)) goto lab5;
             z->bra = z->c;
-            if (!(eq_s_b(z, 3, s_15))) goto lab7;
-            {   int ret = slice_del(z);
+            if (!(eq_s_b(z, 3, s_15))) goto lab5;
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            goto lab4;
-        lab7:
-            z->c = z->l - m5;
-            {   int m_test7 = z->l - z->c;
-                if (!find_among_b(z, a_9, 9)) return 0;
-                z->c = z->l - m_test7;
+            break;
+        lab5:
+            z->c = z->l - v_5;
+            {
+                int v_7 = z->l - z->c;
+                if (!find_among_b(z, a_9, 9, 0)) return 0;
+                z->c = z->l - v_7;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-        }
-    lab4:
-        ;
-    }
-lab0:
+        } while (0);
+    } while (0);
     z->c = z->lb;
     return 1;
 }
@@ -939,18 +911,21 @@ lab0:
 static int r_remove_pronoun_prefixes(struct SN_env * z) {
     z->bra = z->c;
     if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 4 || !((672 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
-    if (!find_among(z, a_10, 3)) return 0;
-    if (!find_among(z, a_11, 10)) return 0;
+    if (!find_among(z, a_10, 3, 0)) return 0;
+    if (!find_among(z, a_11, 10, 0)) return 0;
     if (!(eq_s(z, 3, s_16))) return 0;
     z->ket = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
-    {   int c1 = z->c;
-        {   int ret = r_fix_va_start(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_fix_va_start(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
@@ -958,40 +933,44 @@ static int r_remove_pronoun_prefixes(struct SN_env * z) {
 static int r_remove_plural_suffix(struct SN_env * z) {
     int among_var;
     z->lb = z->c; z->c = z->l;
-
     z->ket = z->c;
     if (z->c - 8 <= z->lb || z->p[z->c - 1] != 141) return 0;
-    among_var = find_among_b(z, a_13, 4);
+    among_var = find_among_b(z, a_13, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (!find_among_b(z, a_12, 6)) goto lab1;
-                {   int ret = slice_from_s(z, 9, s_17);
+            do {
+                int v_1 = z->l - z->c;
+                if (!find_among_b(z, a_12, 6, 0)) goto lab0;
+                {
+                    int ret = slice_from_s(z, 9, s_17);
                     if (ret < 0) return ret;
                 }
-                goto lab0;
-            lab1:
-                z->c = z->l - m1;
-                {   int ret = slice_from_s(z, 3, s_18);
+                break;
+            lab0:
+                z->c = z->l - v_1;
+                {
+                    int ret = slice_from_s(z, 3, s_18);
                     if (ret < 0) return ret;
                 }
-            }
-        lab0:
+            } while (0);
             break;
         case 2:
-            {   int ret = slice_from_s(z, 6, s_19);
+            {
+                int ret = slice_from_s(z, 6, s_19);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 6, s_20);
+            {
+                int ret = slice_from_s(z, 6, s_20);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
@@ -1001,40 +980,43 @@ static int r_remove_plural_suffix(struct SN_env * z) {
 }
 
 static int r_remove_question_suffixes(struct SN_env * z) {
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        if (!find_among_b(z, a_14, 3)) goto lab0;
+        if (!find_among_b(z, a_14, 3, 0)) goto lab0;
         z->bra = z->c;
-        {   int ret = slice_from_s(z, 3, s_21);
+        {
+            int ret = slice_from_s(z, 3, s_21);
             if (ret < 0) return ret;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
     z->c = z->lb;
-
-    {   int ret = r_fix_endings(z);
+    {
+        int ret = r_fix_endings(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_remove_command_suffixes(struct SN_env * z) {
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
     z->ket = z->c;
     if (z->c - 5 <= z->lb || z->p[z->c - 1] != 191) return 0;
-    if (!find_among_b(z, a_15, 2)) return 0;
+    if (!find_among_b(z, a_15, 2, 0)) return 0;
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
@@ -1042,64 +1024,71 @@ static int r_remove_command_suffixes(struct SN_env * z) {
 }
 
 static int r_remove_um(struct SN_env * z) {
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
     z->ket = z->c;
     if (!(eq_s_b(z, 9, s_22))) return 0;
     z->bra = z->c;
-    {   int ret = slice_from_s(z, 3, s_23);
+    {
+        int ret = slice_from_s(z, 3, s_23);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
-    {   int c1 = z->c;
-        {   int ret = r_fix_ending(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_fix_ending(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_remove_common_word_endings(struct SN_env * z) {
     int among_var;
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
     z->ket = z->c;
-    among_var = find_among_b(z, a_17, 26);
+    among_var = find_among_b(z, a_17, 26, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 3, s_24);
+            {
+                int ret = slice_from_s(z, 3, s_24);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int m1 = z->l - z->c; (void)m1;
-                if (!find_among_b(z, a_16, 8)) goto lab0;
+            {
+                int v_1 = z->l - z->c;
+                if (!find_among_b(z, a_16, 8, 0)) goto lab0;
                 return 0;
             lab0:
-                z->c = z->l - m1;
+                z->c = z->l - v_1;
             }
-            {   int ret = slice_from_s(z, 3, s_25);
+            {
+                int ret = slice_from_s(z, 3, s_25);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             break;
     }
     z->c = z->lb;
-
-    {   int ret = r_fix_endings(z);
+    {
+        int ret = r_fix_endings(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1107,141 +1096,155 @@ static int r_remove_common_word_endings(struct SN_env * z) {
 
 static int r_remove_vetrumai_urupukal(struct SN_env * z) {
     int among_var;
-    z->I[0] = 0;
-    {   int ret = r_has_min_length(z);
+    ((SN_local *)z)->b_found_vetrumai_urupu = 0;
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int m_test2 = z->l - z->c;
+    do {
+        int v_1 = z->l - z->c;
+        {
+            int v_2 = z->l - z->c;
             z->ket = z->c;
-            if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((-2147475197 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
-            among_var = find_among_b(z, a_20, 22);
-            if (!among_var) goto lab1;
+            if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((-2147475197 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab0;
+            among_var = find_among_b(z, a_20, 22, 0);
+            if (!among_var) goto lab0;
             z->bra = z->c;
             switch (among_var) {
                 case 1:
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 2:
-                    {   int ret = slice_from_s(z, 3, s_26);
+                    {
+                        int ret = slice_from_s(z, 3, s_26);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    {   int m3 = z->l - z->c; (void)m3;
-                        if (!(eq_s_b(z, 3, s_27))) goto lab2;
-                        goto lab1;
-                    lab2:
-                        z->c = z->l - m3;
+                    {
+                        int v_3 = z->l - z->c;
+                        if (!(eq_s_b(z, 3, s_27))) goto lab1;
+                        goto lab0;
+                    lab1:
+                        z->c = z->l - v_3;
                     }
-                    {   int ret = slice_from_s(z, 3, s_28);
+                    {
+                        int ret = slice_from_s(z, 3, s_28);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 4:
-                    if (len_utf8(z->p) < 7) goto lab1;
-                    {   int ret = slice_from_s(z, 3, s_29);
+                    if (len_utf8(z->p) < 7) goto lab0;
+                    {
+                        int ret = slice_from_s(z, 3, s_29);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 5:
-                    {   int m4 = z->l - z->c; (void)m4;
-                        if (!find_among_b(z, a_18, 8)) goto lab3;
-                        goto lab1;
-                    lab3:
-                        z->c = z->l - m4;
+                    {
+                        int v_4 = z->l - z->c;
+                        if (!find_among_b(z, a_18, 8, 0)) goto lab2;
+                        goto lab0;
+                    lab2:
+                        z->c = z->l - v_4;
                     }
-                    {   int ret = slice_from_s(z, 3, s_30);
+                    {
+                        int ret = slice_from_s(z, 3, s_30);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 6:
-                    {   int m5 = z->l - z->c; (void)m5;
-                        if (!find_among_b(z, a_19, 8)) goto lab4;
-                        goto lab1;
-                    lab4:
-                        z->c = z->l - m5;
+                    {
+                        int v_5 = z->l - z->c;
+                        if (!find_among_b(z, a_19, 8, 0)) goto lab3;
+                        goto lab0;
+                    lab3:
+                        z->c = z->l - v_5;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 7:
-                    {   int ret = slice_from_s(z, 3, s_31);
+                    {
+                        int ret = slice_from_s(z, 3, s_31);
                         if (ret < 0) return ret;
                     }
                     break;
             }
-            z->c = z->l - m_test2;
+            z->c = z->l - v_2;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m_test6 = z->l - z->c;
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_6 = z->l - z->c;
             z->ket = z->c;
             if (!(eq_s_b(z, 3, s_32))) return 0;
-            {   int m7 = z->l - z->c; (void)m7;
-                {   int m8 = z->l - z->c; (void)m8;
-                    if (!find_among_b(z, a_21, 6)) goto lab7;
-                    goto lab6;
-                lab7:
-                    z->c = z->l - m8;
+            do {
+                int v_7 = z->l - z->c;
+                {
+                    int v_8 = z->l - z->c;
+                    if (!find_among_b(z, a_21, 6, 0)) goto lab5;
+                    goto lab4;
+                lab5:
+                    z->c = z->l - v_8;
                 }
-                goto lab5;
-            lab6:
-                z->c = z->l - m7;
-                {   int m_test9 = z->l - z->c;
-                    if (!find_among_b(z, a_22, 6)) return 0;
+                break;
+            lab4:
+                z->c = z->l - v_7;
+                {
+                    int v_9 = z->l - z->c;
+                    if (!find_among_b(z, a_22, 6, 0)) return 0;
                     if (!(eq_s_b(z, 3, s_33))) return 0;
-                    z->c = z->l - m_test9;
+                    z->c = z->l - v_9;
                 }
-            }
-        lab5:
+            } while (0);
             z->bra = z->c;
-            {   int ret = slice_from_s(z, 3, s_34);
+            {
+                int ret = slice_from_s(z, 3, s_34);
                 if (ret < 0) return ret;
             }
-            z->c = z->l - m_test6;
+            z->c = z->l - v_6;
         }
-    }
-lab0:
-    z->I[0] = 1;
-    {   int m10 = z->l - z->c; (void)m10;
+    } while (0);
+    ((SN_local *)z)->b_found_vetrumai_urupu = 1;
+    {
+        int v_10 = z->l - z->c;
         z->ket = z->c;
-        if (!(eq_s_b(z, 9, s_35))) goto lab8;
+        if (!(eq_s_b(z, 9, s_35))) goto lab6;
         z->bra = z->c;
-        {   int ret = slice_from_s(z, 3, s_36);
+        {
+            int ret = slice_from_s(z, 3, s_36);
             if (ret < 0) return ret;
         }
-    lab8:
-        z->c = z->l - m10;
+    lab6:
+        z->c = z->l - v_10;
     }
     z->c = z->lb;
-
-    {   int ret = r_fix_endings(z);
+    {
+        int ret = r_fix_endings(z);
         if (ret < 0) return ret;
     }
     return 1;
 }
 
 static int r_remove_tense_suffixes(struct SN_env * z) {
-    z->I[1] = 1;
-    while(1) {
-        int c1 = z->c;
-        if (!(z->I[1])) goto lab0;
-        {   int c2 = z->c;
-            {   int ret = r_remove_tense_suffix(z);
-                if (ret < 0) return ret;
-            }
-            z->c = c2;
+    while (1) {
+        int v_1 = z->c;
+        {
+            int ret = r_remove_tense_suffix(z);
+            if (ret == 0) goto lab0;
+            if (ret < 0) return ret;
         }
         continue;
     lab0:
-        z->c = c1;
+        z->c = v_1;
         break;
     }
     return 1;
@@ -1249,168 +1252,212 @@ static int r_remove_tense_suffixes(struct SN_env * z) {
 
 static int r_remove_tense_suffix(struct SN_env * z) {
     int among_var;
-    z->I[1] = 0;
-    {   int ret = r_has_min_length(z);
+    int b_found_a_match;
+    b_found_a_match = 0;
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int m_test2 = z->l - z->c;
+    {
+        int v_1 = z->l - z->c;
+        {
+            int v_2 = z->l - z->c;
             z->ket = z->c;
-            among_var = find_among_b(z, a_25, 46);
+            among_var = find_among_b(z, a_25, 46, 0);
             if (!among_var) goto lab0;
             z->bra = z->c;
             switch (among_var) {
                 case 1:
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 2:
-                    {   int m3 = z->l - z->c; (void)m3;
+                    {
+                        int v_3 = z->l - z->c;
                         if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((1951712 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab1;
-                        if (!find_among_b(z, a_23, 12)) goto lab1;
+                        if (!find_among_b(z, a_23, 12, 0)) goto lab1;
                         goto lab0;
                     lab1:
-                        z->c = z->l - m3;
+                        z->c = z->l - v_3;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 3:
-                    {   int m4 = z->l - z->c; (void)m4;
-                        if (!find_among_b(z, a_24, 8)) goto lab2;
+                    {
+                        int v_4 = z->l - z->c;
+                        if (!find_among_b(z, a_24, 8, 0)) goto lab2;
                         goto lab0;
                     lab2:
-                        z->c = z->l - m4;
+                        z->c = z->l - v_4;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 4:
-                    {   int m5 = z->l - z->c; (void)m5;
+                    {
+                        int v_5 = z->l - z->c;
                         if (!(eq_s_b(z, 3, s_37))) goto lab3;
                         goto lab0;
                     lab3:
-                        z->c = z->l - m5;
+                        z->c = z->l - v_5;
                     }
-                    {   int ret = slice_from_s(z, 3, s_38);
+                    {
+                        int ret = slice_from_s(z, 3, s_38);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 5:
-                    {   int ret = slice_from_s(z, 3, s_39);
+                    {
+                        int ret = slice_from_s(z, 3, s_39);
                         if (ret < 0) return ret;
                     }
                     break;
                 case 6:
-                    {   int m_test6 = z->l - z->c;
+                    {
+                        int v_6 = z->l - z->c;
                         if (!(eq_s_b(z, 3, s_40))) goto lab0;
-                        z->c = z->l - m_test6;
+                        z->c = z->l - v_6;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
                     break;
             }
-            z->I[1] = 1;
-            z->c = z->l - m_test2;
+            b_found_a_match = 1;
+            z->c = z->l - v_2;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m7 = z->l - z->c; (void)m7;
+    {
+        int v_7 = z->l - z->c;
         z->ket = z->c;
         if (z->c - 8 <= z->lb || (z->p[z->c - 1] != 141 && z->p[z->c - 1] != 177)) goto lab4;
-        if (!find_among_b(z, a_26, 6)) goto lab4;
+        if (!find_among_b(z, a_26, 6, 0)) goto lab4;
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        z->I[1] = 1;
+        b_found_a_match = 1;
     lab4:
-        z->c = z->l - m7;
+        z->c = z->l - v_7;
     }
     z->c = z->lb;
-
-    {   int ret = r_fix_endings(z);
+    {
+        int ret = r_fix_endings(z);
         if (ret < 0) return ret;
     }
-    return 1;
+    return b_found_a_match;
 }
 
 extern int tamil_UTF_8_stem(struct SN_env * z) {
-    z->I[0] = 0;
-    {   int c1 = z->c;
-        {   int ret = r_fix_ending(z);
+    ((SN_local *)z)->b_found_vetrumai_urupu = 0;
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_fix_ending(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int ret = r_has_min_length(z);
+    {
+        int ret = r_has_min_length(z);
         if (ret <= 0) return ret;
     }
-    {   int c2 = z->c;
-        {   int ret = r_remove_question_prefixes(z);
+    {
+        int v_2 = z->c;
+        {
+            int ret = r_remove_question_prefixes(z);
             if (ret < 0) return ret;
         }
-        z->c = c2;
+        z->c = v_2;
     }
-    {   int c3 = z->c;
-        {   int ret = r_remove_pronoun_prefixes(z);
+    {
+        int v_3 = z->c;
+        {
+            int ret = r_remove_pronoun_prefixes(z);
             if (ret < 0) return ret;
         }
-        z->c = c3;
+        z->c = v_3;
     }
-    {   int c4 = z->c;
-        {   int ret = r_remove_question_suffixes(z);
+    {
+        int v_4 = z->c;
+        {
+            int ret = r_remove_question_suffixes(z);
             if (ret < 0) return ret;
         }
-        z->c = c4;
+        z->c = v_4;
     }
-    {   int c5 = z->c;
-        {   int ret = r_remove_um(z);
+    {
+        int v_5 = z->c;
+        {
+            int ret = r_remove_um(z);
             if (ret < 0) return ret;
         }
-        z->c = c5;
+        z->c = v_5;
     }
-    {   int c6 = z->c;
-        {   int ret = r_remove_common_word_endings(z);
+    {
+        int v_6 = z->c;
+        {
+            int ret = r_remove_common_word_endings(z);
             if (ret < 0) return ret;
         }
-        z->c = c6;
+        z->c = v_6;
     }
-    {   int c7 = z->c;
-        {   int ret = r_remove_vetrumai_urupukal(z);
+    {
+        int v_7 = z->c;
+        {
+            int ret = r_remove_vetrumai_urupukal(z);
             if (ret < 0) return ret;
         }
-        z->c = c7;
+        z->c = v_7;
     }
-    {   int c8 = z->c;
-        {   int ret = r_remove_plural_suffix(z);
+    {
+        int v_8 = z->c;
+        {
+            int ret = r_remove_plural_suffix(z);
             if (ret < 0) return ret;
         }
-        z->c = c8;
+        z->c = v_8;
     }
-    {   int c9 = z->c;
-        {   int ret = r_remove_command_suffixes(z);
+    {
+        int v_9 = z->c;
+        {
+            int ret = r_remove_command_suffixes(z);
             if (ret < 0) return ret;
         }
-        z->c = c9;
+        z->c = v_9;
     }
-    {   int c10 = z->c;
-        {   int ret = r_remove_tense_suffixes(z);
+    {
+        int v_10 = z->c;
+        {
+            int ret = r_remove_tense_suffixes(z);
             if (ret < 0) return ret;
         }
-        z->c = c10;
+        z->c = v_10;
     }
     return 1;
 }
 
-extern struct SN_env * tamil_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * tamil_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_found_vetrumai_urupu = 0;
+    }
+    return z;
+}
 
-extern void tamil_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void tamil_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index efb1b30604b17427fb588b876378bee9d20695d1..dde3a52dbf89bf7acf0fe7f154c57f971f798a8d 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from turkish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_turkish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    unsigned char b_continue_stemming_noun_suffixes;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,6 +20,7 @@ extern int turkish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_stem_suffix_chain_before_ki(struct SN_env * z);
 static int r_stem_noun_suffixes(struct SN_env * z);
 static int r_stem_nominal_verb_suffixes(struct SN_env * z);
@@ -50,18 +62,26 @@ static int r_mark_cAsInA(struct SN_env * z);
 static int r_is_reserved_word(struct SN_env * z);
 static int r_check_vowel_harmony(struct SN_env * z);
 static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * turkish_UTF_8_create_env(void);
-extern void turkish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xC4, 0xB1 };
+static const symbol s_1[] = { 0xC3, 0xB6 };
+static const symbol s_2[] = { 0xC3, 0xBC };
+static const symbol s_3[] = { 'k', 'i' };
+static const symbol s_4[] = { 'k', 'e', 'n' };
+static const symbol s_5[] = { 'p' };
+static const symbol s_6[] = { 0xC3, 0xA7 };
+static const symbol s_7[] = { 't' };
+static const symbol s_8[] = { 'k' };
+static const symbol s_9[] = { 0xC4, 0xB1 };
+static const symbol s_10[] = { 0xC4, 0xB1 };
+static const symbol s_11[] = { 'i' };
+static const symbol s_12[] = { 'u' };
+static const symbol s_13[] = { 0xC3, 0xB6 };
+static const symbol s_14[] = { 0xC3, 0xBC };
+static const symbol s_15[] = { 0xC3, 0xBC };
+static const symbol s_16[] = { 'a', 'd' };
+static const symbol s_17[] = { 's', 'o', 'y' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[1] = { 'm' };
 static const symbol s_0_1[1] = { 'n' };
 static const symbol s_0_2[3] = { 'm', 'i', 'z' };
@@ -72,208 +92,165 @@ static const symbol s_0_6[4] = { 'm', 0xC4, 0xB1, 'z' };
 static const symbol s_0_7[4] = { 'n', 0xC4, 0xB1, 'z' };
 static const symbol s_0_8[4] = { 'm', 0xC3, 0xBC, 'z' };
 static const symbol s_0_9[4] = { 'n', 0xC3, 0xBC, 'z' };
-
-static const struct among a_0[10] =
-{
-{ 1, s_0_0, -1, -1, 0},
-{ 1, s_0_1, -1, -1, 0},
-{ 3, s_0_2, -1, -1, 0},
-{ 3, s_0_3, -1, -1, 0},
-{ 3, s_0_4, -1, -1, 0},
-{ 3, s_0_5, -1, -1, 0},
-{ 4, s_0_6, -1, -1, 0},
-{ 4, s_0_7, -1, -1, 0},
-{ 4, s_0_8, -1, -1, 0},
-{ 4, s_0_9, -1, -1, 0}
+static const struct among a_0[10] = {
+{ 1, s_0_0, 0, -1, 0},
+{ 1, s_0_1, 0, -1, 0},
+{ 3, s_0_2, 0, -1, 0},
+{ 3, s_0_3, 0, -1, 0},
+{ 3, s_0_4, 0, -1, 0},
+{ 3, s_0_5, 0, -1, 0},
+{ 4, s_0_6, 0, -1, 0},
+{ 4, s_0_7, 0, -1, 0},
+{ 4, s_0_8, 0, -1, 0},
+{ 4, s_0_9, 0, -1, 0}
 };
 
 static const symbol s_1_0[4] = { 'l', 'e', 'r', 'i' };
 static const symbol s_1_1[5] = { 'l', 'a', 'r', 0xC4, 0xB1 };
-
-static const struct among a_1[2] =
-{
-{ 4, s_1_0, -1, -1, 0},
-{ 5, s_1_1, -1, -1, 0}
+static const struct among a_1[2] = {
+{ 4, s_1_0, 0, -1, 0},
+{ 5, s_1_1, 0, -1, 0}
 };
 
 static const symbol s_2_0[2] = { 'n', 'i' };
 static const symbol s_2_1[2] = { 'n', 'u' };
 static const symbol s_2_2[3] = { 'n', 0xC4, 0xB1 };
 static const symbol s_2_3[3] = { 'n', 0xC3, 0xBC };
-
-static const struct among a_2[4] =
-{
-{ 2, s_2_0, -1, -1, 0},
-{ 2, s_2_1, -1, -1, 0},
-{ 3, s_2_2, -1, -1, 0},
-{ 3, s_2_3, -1, -1, 0}
+static const struct among a_2[4] = {
+{ 2, s_2_0, 0, -1, 0},
+{ 2, s_2_1, 0, -1, 0},
+{ 3, s_2_2, 0, -1, 0},
+{ 3, s_2_3, 0, -1, 0}
 };
 
 static const symbol s_3_0[2] = { 'i', 'n' };
 static const symbol s_3_1[2] = { 'u', 'n' };
 static const symbol s_3_2[3] = { 0xC4, 0xB1, 'n' };
 static const symbol s_3_3[3] = { 0xC3, 0xBC, 'n' };
-
-static const struct among a_3[4] =
-{
-{ 2, s_3_0, -1, -1, 0},
-{ 2, s_3_1, -1, -1, 0},
-{ 3, s_3_2, -1, -1, 0},
-{ 3, s_3_3, -1, -1, 0}
-};
-
-static const symbol s_4_0[1] = { 'a' };
-static const symbol s_4_1[1] = { 'e' };
-
-static const struct among a_4[2] =
-{
-{ 1, s_4_0, -1, -1, 0},
-{ 1, s_4_1, -1, -1, 0}
+static const struct among a_3[4] = {
+{ 2, s_3_0, 0, -1, 0},
+{ 2, s_3_1, 0, -1, 0},
+{ 3, s_3_2, 0, -1, 0},
+{ 3, s_3_3, 0, -1, 0}
 };
 
 static const symbol s_5_0[2] = { 'n', 'a' };
 static const symbol s_5_1[2] = { 'n', 'e' };
-
-static const struct among a_5[2] =
-{
-{ 2, s_5_0, -1, -1, 0},
-{ 2, s_5_1, -1, -1, 0}
+static const struct among a_5[2] = {
+{ 2, s_5_0, 0, -1, 0},
+{ 2, s_5_1, 0, -1, 0}
 };
 
 static const symbol s_6_0[2] = { 'd', 'a' };
 static const symbol s_6_1[2] = { 't', 'a' };
 static const symbol s_6_2[2] = { 'd', 'e' };
 static const symbol s_6_3[2] = { 't', 'e' };
-
-static const struct among a_6[4] =
-{
-{ 2, s_6_0, -1, -1, 0},
-{ 2, s_6_1, -1, -1, 0},
-{ 2, s_6_2, -1, -1, 0},
-{ 2, s_6_3, -1, -1, 0}
+static const struct among a_6[4] = {
+{ 2, s_6_0, 0, -1, 0},
+{ 2, s_6_1, 0, -1, 0},
+{ 2, s_6_2, 0, -1, 0},
+{ 2, s_6_3, 0, -1, 0}
 };
 
 static const symbol s_7_0[3] = { 'n', 'd', 'a' };
 static const symbol s_7_1[3] = { 'n', 'd', 'e' };
-
-static const struct among a_7[2] =
-{
-{ 3, s_7_0, -1, -1, 0},
-{ 3, s_7_1, -1, -1, 0}
+static const struct among a_7[2] = {
+{ 3, s_7_0, 0, -1, 0},
+{ 3, s_7_1, 0, -1, 0}
 };
 
 static const symbol s_8_0[3] = { 'd', 'a', 'n' };
 static const symbol s_8_1[3] = { 't', 'a', 'n' };
 static const symbol s_8_2[3] = { 'd', 'e', 'n' };
 static const symbol s_8_3[3] = { 't', 'e', 'n' };
-
-static const struct among a_8[4] =
-{
-{ 3, s_8_0, -1, -1, 0},
-{ 3, s_8_1, -1, -1, 0},
-{ 3, s_8_2, -1, -1, 0},
-{ 3, s_8_3, -1, -1, 0}
+static const struct among a_8[4] = {
+{ 3, s_8_0, 0, -1, 0},
+{ 3, s_8_1, 0, -1, 0},
+{ 3, s_8_2, 0, -1, 0},
+{ 3, s_8_3, 0, -1, 0}
 };
 
 static const symbol s_9_0[4] = { 'n', 'd', 'a', 'n' };
 static const symbol s_9_1[4] = { 'n', 'd', 'e', 'n' };
-
-static const struct among a_9[2] =
-{
-{ 4, s_9_0, -1, -1, 0},
-{ 4, s_9_1, -1, -1, 0}
+static const struct among a_9[2] = {
+{ 4, s_9_0, 0, -1, 0},
+{ 4, s_9_1, 0, -1, 0}
 };
 
 static const symbol s_10_0[2] = { 'l', 'a' };
 static const symbol s_10_1[2] = { 'l', 'e' };
-
-static const struct among a_10[2] =
-{
-{ 2, s_10_0, -1, -1, 0},
-{ 2, s_10_1, -1, -1, 0}
+static const struct among a_10[2] = {
+{ 2, s_10_0, 0, -1, 0},
+{ 2, s_10_1, 0, -1, 0}
 };
 
 static const symbol s_11_0[2] = { 'c', 'a' };
 static const symbol s_11_1[2] = { 'c', 'e' };
-
-static const struct among a_11[2] =
-{
-{ 2, s_11_0, -1, -1, 0},
-{ 2, s_11_1, -1, -1, 0}
+static const struct among a_11[2] = {
+{ 2, s_11_0, 0, -1, 0},
+{ 2, s_11_1, 0, -1, 0}
 };
 
 static const symbol s_12_0[2] = { 'i', 'm' };
 static const symbol s_12_1[2] = { 'u', 'm' };
 static const symbol s_12_2[3] = { 0xC4, 0xB1, 'm' };
 static const symbol s_12_3[3] = { 0xC3, 0xBC, 'm' };
-
-static const struct among a_12[4] =
-{
-{ 2, s_12_0, -1, -1, 0},
-{ 2, s_12_1, -1, -1, 0},
-{ 3, s_12_2, -1, -1, 0},
-{ 3, s_12_3, -1, -1, 0}
+static const struct among a_12[4] = {
+{ 2, s_12_0, 0, -1, 0},
+{ 2, s_12_1, 0, -1, 0},
+{ 3, s_12_2, 0, -1, 0},
+{ 3, s_12_3, 0, -1, 0}
 };
 
 static const symbol s_13_0[3] = { 's', 'i', 'n' };
 static const symbol s_13_1[3] = { 's', 'u', 'n' };
 static const symbol s_13_2[4] = { 's', 0xC4, 0xB1, 'n' };
 static const symbol s_13_3[4] = { 's', 0xC3, 0xBC, 'n' };
-
-static const struct among a_13[4] =
-{
-{ 3, s_13_0, -1, -1, 0},
-{ 3, s_13_1, -1, -1, 0},
-{ 4, s_13_2, -1, -1, 0},
-{ 4, s_13_3, -1, -1, 0}
+static const struct among a_13[4] = {
+{ 3, s_13_0, 0, -1, 0},
+{ 3, s_13_1, 0, -1, 0},
+{ 4, s_13_2, 0, -1, 0},
+{ 4, s_13_3, 0, -1, 0}
 };
 
 static const symbol s_14_0[2] = { 'i', 'z' };
 static const symbol s_14_1[2] = { 'u', 'z' };
 static const symbol s_14_2[3] = { 0xC4, 0xB1, 'z' };
 static const symbol s_14_3[3] = { 0xC3, 0xBC, 'z' };
-
-static const struct among a_14[4] =
-{
-{ 2, s_14_0, -1, -1, 0},
-{ 2, s_14_1, -1, -1, 0},
-{ 3, s_14_2, -1, -1, 0},
-{ 3, s_14_3, -1, -1, 0}
+static const struct among a_14[4] = {
+{ 2, s_14_0, 0, -1, 0},
+{ 2, s_14_1, 0, -1, 0},
+{ 3, s_14_2, 0, -1, 0},
+{ 3, s_14_3, 0, -1, 0}
 };
 
 static const symbol s_15_0[5] = { 's', 'i', 'n', 'i', 'z' };
 static const symbol s_15_1[5] = { 's', 'u', 'n', 'u', 'z' };
 static const symbol s_15_2[7] = { 's', 0xC4, 0xB1, 'n', 0xC4, 0xB1, 'z' };
 static const symbol s_15_3[7] = { 's', 0xC3, 0xBC, 'n', 0xC3, 0xBC, 'z' };
-
-static const struct among a_15[4] =
-{
-{ 5, s_15_0, -1, -1, 0},
-{ 5, s_15_1, -1, -1, 0},
-{ 7, s_15_2, -1, -1, 0},
-{ 7, s_15_3, -1, -1, 0}
+static const struct among a_15[4] = {
+{ 5, s_15_0, 0, -1, 0},
+{ 5, s_15_1, 0, -1, 0},
+{ 7, s_15_2, 0, -1, 0},
+{ 7, s_15_3, 0, -1, 0}
 };
 
 static const symbol s_16_0[3] = { 'l', 'a', 'r' };
 static const symbol s_16_1[3] = { 'l', 'e', 'r' };
-
-static const struct among a_16[2] =
-{
-{ 3, s_16_0, -1, -1, 0},
-{ 3, s_16_1, -1, -1, 0}
+static const struct among a_16[2] = {
+{ 3, s_16_0, 0, -1, 0},
+{ 3, s_16_1, 0, -1, 0}
 };
 
 static const symbol s_17_0[3] = { 'n', 'i', 'z' };
 static const symbol s_17_1[3] = { 'n', 'u', 'z' };
 static const symbol s_17_2[4] = { 'n', 0xC4, 0xB1, 'z' };
 static const symbol s_17_3[4] = { 'n', 0xC3, 0xBC, 'z' };
-
-static const struct among a_17[4] =
-{
-{ 3, s_17_0, -1, -1, 0},
-{ 3, s_17_1, -1, -1, 0},
-{ 4, s_17_2, -1, -1, 0},
-{ 4, s_17_3, -1, -1, 0}
+static const struct among a_17[4] = {
+{ 3, s_17_0, 0, -1, 0},
+{ 3, s_17_1, 0, -1, 0},
+{ 4, s_17_2, 0, -1, 0},
+{ 4, s_17_3, 0, -1, 0}
 };
 
 static const symbol s_18_0[3] = { 'd', 'i', 'r' };
@@ -284,26 +261,22 @@ static const symbol s_18_4[4] = { 'd', 0xC4, 0xB1, 'r' };
 static const symbol s_18_5[4] = { 't', 0xC4, 0xB1, 'r' };
 static const symbol s_18_6[4] = { 'd', 0xC3, 0xBC, 'r' };
 static const symbol s_18_7[4] = { 't', 0xC3, 0xBC, 'r' };
-
-static const struct among a_18[8] =
-{
-{ 3, s_18_0, -1, -1, 0},
-{ 3, s_18_1, -1, -1, 0},
-{ 3, s_18_2, -1, -1, 0},
-{ 3, s_18_3, -1, -1, 0},
-{ 4, s_18_4, -1, -1, 0},
-{ 4, s_18_5, -1, -1, 0},
-{ 4, s_18_6, -1, -1, 0},
-{ 4, s_18_7, -1, -1, 0}
+static const struct among a_18[8] = {
+{ 3, s_18_0, 0, -1, 0},
+{ 3, s_18_1, 0, -1, 0},
+{ 3, s_18_2, 0, -1, 0},
+{ 3, s_18_3, 0, -1, 0},
+{ 4, s_18_4, 0, -1, 0},
+{ 4, s_18_5, 0, -1, 0},
+{ 4, s_18_6, 0, -1, 0},
+{ 4, s_18_7, 0, -1, 0}
 };
 
 static const symbol s_19_0[7] = { 'c', 'a', 's', 0xC4, 0xB1, 'n', 'a' };
 static const symbol s_19_1[6] = { 'c', 'e', 's', 'i', 'n', 'e' };
-
-static const struct among a_19[2] =
-{
-{ 7, s_19_0, -1, -1, 0},
-{ 6, s_19_1, -1, -1, 0}
+static const struct among a_19[2] = {
+{ 7, s_19_0, 0, -1, 0},
+{ 6, s_19_1, 0, -1, 0}
 };
 
 static const symbol s_20_0[2] = { 'd', 'i' };
@@ -338,41 +311,39 @@ static const symbol s_20_28[3] = { 'd', 0xC4, 0xB1 };
 static const symbol s_20_29[3] = { 't', 0xC4, 0xB1 };
 static const symbol s_20_30[3] = { 'd', 0xC3, 0xBC };
 static const symbol s_20_31[3] = { 't', 0xC3, 0xBC };
-
-static const struct among a_20[32] =
-{
-{ 2, s_20_0, -1, -1, 0},
-{ 2, s_20_1, -1, -1, 0},
-{ 3, s_20_2, -1, -1, 0},
-{ 3, s_20_3, -1, -1, 0},
-{ 3, s_20_4, -1, -1, 0},
-{ 3, s_20_5, -1, -1, 0},
-{ 4, s_20_6, -1, -1, 0},
-{ 4, s_20_7, -1, -1, 0},
-{ 4, s_20_8, -1, -1, 0},
-{ 4, s_20_9, -1, -1, 0},
-{ 3, s_20_10, -1, -1, 0},
-{ 3, s_20_11, -1, -1, 0},
-{ 3, s_20_12, -1, -1, 0},
-{ 3, s_20_13, -1, -1, 0},
-{ 4, s_20_14, -1, -1, 0},
-{ 4, s_20_15, -1, -1, 0},
-{ 4, s_20_16, -1, -1, 0},
-{ 4, s_20_17, -1, -1, 0},
-{ 3, s_20_18, -1, -1, 0},
-{ 3, s_20_19, -1, -1, 0},
-{ 3, s_20_20, -1, -1, 0},
-{ 3, s_20_21, -1, -1, 0},
-{ 4, s_20_22, -1, -1, 0},
-{ 4, s_20_23, -1, -1, 0},
-{ 4, s_20_24, -1, -1, 0},
-{ 4, s_20_25, -1, -1, 0},
-{ 2, s_20_26, -1, -1, 0},
-{ 2, s_20_27, -1, -1, 0},
-{ 3, s_20_28, -1, -1, 0},
-{ 3, s_20_29, -1, -1, 0},
-{ 3, s_20_30, -1, -1, 0},
-{ 3, s_20_31, -1, -1, 0}
+static const struct among a_20[32] = {
+{ 2, s_20_0, 0, -1, 0},
+{ 2, s_20_1, 0, -1, 0},
+{ 3, s_20_2, 0, -1, 0},
+{ 3, s_20_3, 0, -1, 0},
+{ 3, s_20_4, 0, -1, 0},
+{ 3, s_20_5, 0, -1, 0},
+{ 4, s_20_6, 0, -1, 0},
+{ 4, s_20_7, 0, -1, 0},
+{ 4, s_20_8, 0, -1, 0},
+{ 4, s_20_9, 0, -1, 0},
+{ 3, s_20_10, 0, -1, 0},
+{ 3, s_20_11, 0, -1, 0},
+{ 3, s_20_12, 0, -1, 0},
+{ 3, s_20_13, 0, -1, 0},
+{ 4, s_20_14, 0, -1, 0},
+{ 4, s_20_15, 0, -1, 0},
+{ 4, s_20_16, 0, -1, 0},
+{ 4, s_20_17, 0, -1, 0},
+{ 3, s_20_18, 0, -1, 0},
+{ 3, s_20_19, 0, -1, 0},
+{ 3, s_20_20, 0, -1, 0},
+{ 3, s_20_21, 0, -1, 0},
+{ 4, s_20_22, 0, -1, 0},
+{ 4, s_20_23, 0, -1, 0},
+{ 4, s_20_24, 0, -1, 0},
+{ 4, s_20_25, 0, -1, 0},
+{ 2, s_20_26, 0, -1, 0},
+{ 2, s_20_27, 0, -1, 0},
+{ 3, s_20_28, 0, -1, 0},
+{ 3, s_20_29, 0, -1, 0},
+{ 3, s_20_30, 0, -1, 0},
+{ 3, s_20_31, 0, -1, 0}
 };
 
 static const symbol s_21_0[2] = { 's', 'a' };
@@ -383,43 +354,37 @@ static const symbol s_21_4[3] = { 's', 'a', 'm' };
 static const symbol s_21_5[3] = { 's', 'e', 'm' };
 static const symbol s_21_6[3] = { 's', 'a', 'n' };
 static const symbol s_21_7[3] = { 's', 'e', 'n' };
-
-static const struct among a_21[8] =
-{
-{ 2, s_21_0, -1, -1, 0},
-{ 2, s_21_1, -1, -1, 0},
-{ 3, s_21_2, -1, -1, 0},
-{ 3, s_21_3, -1, -1, 0},
-{ 3, s_21_4, -1, -1, 0},
-{ 3, s_21_5, -1, -1, 0},
-{ 3, s_21_6, -1, -1, 0},
-{ 3, s_21_7, -1, -1, 0}
+static const struct among a_21[8] = {
+{ 2, s_21_0, 0, -1, 0},
+{ 2, s_21_1, 0, -1, 0},
+{ 3, s_21_2, 0, -1, 0},
+{ 3, s_21_3, 0, -1, 0},
+{ 3, s_21_4, 0, -1, 0},
+{ 3, s_21_5, 0, -1, 0},
+{ 3, s_21_6, 0, -1, 0},
+{ 3, s_21_7, 0, -1, 0}
 };
 
 static const symbol s_22_0[4] = { 'm', 'i', 0xC5, 0x9F };
 static const symbol s_22_1[4] = { 'm', 'u', 0xC5, 0x9F };
 static const symbol s_22_2[5] = { 'm', 0xC4, 0xB1, 0xC5, 0x9F };
 static const symbol s_22_3[5] = { 'm', 0xC3, 0xBC, 0xC5, 0x9F };
-
-static const struct among a_22[4] =
-{
-{ 4, s_22_0, -1, -1, 0},
-{ 4, s_22_1, -1, -1, 0},
-{ 5, s_22_2, -1, -1, 0},
-{ 5, s_22_3, -1, -1, 0}
+static const struct among a_22[4] = {
+{ 4, s_22_0, 0, -1, 0},
+{ 4, s_22_1, 0, -1, 0},
+{ 5, s_22_2, 0, -1, 0},
+{ 5, s_22_3, 0, -1, 0}
 };
 
 static const symbol s_23_0[1] = { 'b' };
 static const symbol s_23_1[1] = { 'c' };
 static const symbol s_23_2[1] = { 'd' };
 static const symbol s_23_3[2] = { 0xC4, 0x9F };
-
-static const struct among a_23[4] =
-{
-{ 1, s_23_0, -1, 1, 0},
-{ 1, s_23_1, -1, 2, 0},
-{ 1, s_23_2, -1, 3, 0},
-{ 2, s_23_3, -1, 4, 0}
+static const struct among a_23[4] = {
+{ 1, s_23_0, 0, 1, 0},
+{ 1, s_23_1, 0, 2, 0},
+{ 1, s_23_2, 0, 3, 0},
+{ 2, s_23_3, 0, 4, 0}
 };
 
 static const unsigned char g_vowel[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
@@ -438,728 +403,710 @@ static const unsigned char g_vowel5[] = { 65 };
 
 static const unsigned char g_vowel6[] = { 65 };
 
-static const symbol s_0[] = { 0xC4, 0xB1 };
-static const symbol s_1[] = { 0xC3, 0xB6 };
-static const symbol s_2[] = { 0xC3, 0xBC };
-static const symbol s_3[] = { 'k', 'i' };
-static const symbol s_4[] = { 'k', 'e', 'n' };
-static const symbol s_5[] = { 'p' };
-static const symbol s_6[] = { 0xC3, 0xA7 };
-static const symbol s_7[] = { 't' };
-static const symbol s_8[] = { 'k' };
-static const symbol s_9[] = { 0xC4, 0xB1 };
-static const symbol s_10[] = { 0xC4, 0xB1 };
-static const symbol s_11[] = { 'i' };
-static const symbol s_12[] = { 'u' };
-static const symbol s_13[] = { 0xC3, 0xB6 };
-static const symbol s_14[] = { 0xC3, 0xBC };
-static const symbol s_15[] = { 0xC3, 0xBC };
-static const symbol s_16[] = { 'a', 'd' };
-static const symbol s_17[] = { 's', 'o', 'y' };
-
 static int r_check_vowel_harmony(struct SN_env * z) {
-    {   int m_test1 = z->l - z->c;
-
+    {
+        int v_1 = z->l - z->c;
         if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
-        {   int m2 = z->l - z->c; (void)m2;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab1;
+        do {
+            int v_2 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab0;
             z->c--;
-
-            if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab1;
-            goto lab0;
-        lab1:
-            z->c = z->l - m2;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab2;
+            if (out_grouping_b_U(z, g_vowel1, 97, 305, 1) < 0) goto lab0;
+            break;
+        lab0:
+            z->c = z->l - v_2;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab1;
             z->c--;
-
-            if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab2;
-            goto lab0;
+            if (out_grouping_b_U(z, g_vowel2, 101, 252, 1) < 0) goto lab1;
+            break;
+        lab1:
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_0))) goto lab2;
+            if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab2;
+            break;
         lab2:
-            z->c = z->l - m2;
-            if (!(eq_s_b(z, 2, s_0))) goto lab3;
-
-            if (out_grouping_b_U(z, g_vowel3, 97, 305, 1) < 0) goto lab3;
-            goto lab0;
+            z->c = z->l - v_2;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab3;
+            z->c--;
+            if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab3;
+            break;
         lab3:
-            z->c = z->l - m2;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab4;
+            z->c = z->l - v_2;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab4;
             z->c--;
-
-            if (out_grouping_b_U(z, g_vowel4, 101, 105, 1) < 0) goto lab4;
-            goto lab0;
+            if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab4;
+            break;
         lab4:
-            z->c = z->l - m2;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab5;
-            z->c--;
-
-            if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab5;
-            goto lab0;
+            z->c = z->l - v_2;
+            if (!(eq_s_b(z, 2, s_1))) goto lab5;
+            if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab5;
+            break;
         lab5:
-            z->c = z->l - m2;
-            if (!(eq_s_b(z, 2, s_1))) goto lab6;
-
-            if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) goto lab6;
-            goto lab0;
-        lab6:
-            z->c = z->l - m2;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab7;
+            z->c = z->l - v_2;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab6;
             z->c--;
-
-            if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab7;
-            goto lab0;
-        lab7:
-            z->c = z->l - m2;
+            if (out_grouping_b_U(z, g_vowel5, 111, 117, 1) < 0) goto lab6;
+            break;
+        lab6:
+            z->c = z->l - v_2;
             if (!(eq_s_b(z, 2, s_2))) return 0;
-
             if (out_grouping_b_U(z, g_vowel6, 246, 252, 1) < 0) return 0;
-        }
-    lab0:
-        z->c = z->l - m_test1;
+        } while (0);
+        z->c = z->l - v_1;
     }
     return 1;
 }
 
 static int r_mark_suffix_with_optional_n_consonant(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab0;
         z->c--;
-        {   int m_test2 = z->l - z->c;
-            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab0;
+            z->c = z->l - v_2;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m_test4 = z->l - z->c;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab2;
-                z->c--;
-                z->c = z->l - m_test4;
-            }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_3 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'n') goto lab1;
+            z->c--;
             return 0;
-        lab2:
-            z->c = z->l - m3;
+        lab1:
+            z->c = z->l - v_3;
         }
-        {   int m_test5 = z->l - z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                 if (ret < 0) return 0;
                 z->c = ret;
             }
             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
-            z->c = z->l - m_test5;
+            z->c = z->l - v_4;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_mark_suffix_with_optional_s_consonant(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab0;
         z->c--;
-        {   int m_test2 = z->l - z->c;
-            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab0;
+            z->c = z->l - v_2;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m_test4 = z->l - z->c;
-                if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab2;
-                z->c--;
-                z->c = z->l - m_test4;
-            }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_3 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
+            z->c--;
             return 0;
-        lab2:
-            z->c = z->l - m3;
+        lab1:
+            z->c = z->l - v_3;
         }
-        {   int m_test5 = z->l - z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                 if (ret < 0) return 0;
                 z->c = ret;
             }
             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
-            z->c = z->l - m_test5;
+            z->c = z->l - v_4;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_mark_suffix_with_optional_y_consonant(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab0;
         z->c--;
-        {   int m_test2 = z->l - z->c;
-            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
-            z->c = z->l - m_test2;
+        {
+            int v_2 = z->l - z->c;
+            if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab0;
+            z->c = z->l - v_2;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m_test4 = z->l - z->c;
-                if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab2;
-                z->c--;
-                z->c = z->l - m_test4;
-            }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_3 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
+            z->c--;
             return 0;
-        lab2:
-            z->c = z->l - m3;
+        lab1:
+            z->c = z->l - v_3;
         }
-        {   int m_test5 = z->l - z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                 if (ret < 0) return 0;
                 z->c = ret;
             }
             if (in_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
-            z->c = z->l - m_test5;
+            z->c = z->l - v_4;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_mark_suffix_with_optional_U_vowel(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
-        if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
-        {   int m_test2 = z->l - z->c;
-            if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab1;
-            z->c = z->l - m_test2;
-        }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m_test4 = z->l - z->c;
-                if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab2;
-                z->c = z->l - m_test4;
-            }
+    do {
+        int v_1 = z->l - z->c;
+        if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab0;
+        {
+            int v_2 = z->l - z->c;
+            if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) goto lab0;
+            z->c = z->l - v_2;
+        }
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int v_3 = z->l - z->c;
+            if (in_grouping_b_U(z, g_U, 105, 305, 0)) goto lab1;
             return 0;
-        lab2:
-            z->c = z->l - m3;
+        lab1:
+            z->c = z->l - v_3;
         }
-        {   int m_test5 = z->l - z->c;
-            {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+        {
+            int v_4 = z->l - z->c;
+            {
+                int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
                 if (ret < 0) return 0;
                 z->c = ret;
             }
             if (out_grouping_b_U(z, g_vowel, 97, 305, 0)) return 0;
-            z->c = z->l - m_test5;
+            z->c = z->l - v_4;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_mark_possessives(struct SN_env * z) {
     if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((67133440 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_0, 10)) return 0;
-    {   int ret = r_mark_suffix_with_optional_U_vowel(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_0, 10, 0)) return 0;
+    return r_mark_suffix_with_optional_U_vowel(z);
 }
 
 static int r_mark_sU(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
-    {   int ret = r_mark_suffix_with_optional_s_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_mark_suffix_with_optional_s_consonant(z);
 }
 
 static int r_mark_lArI(struct SN_env * z) {
     if (z->c - 3 <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 177)) return 0;
-    if (!find_among_b(z, a_1, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_1, 2, 0) != 0;
 }
 
 static int r_mark_yU(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (in_grouping_b_U(z, g_U, 105, 305, 0)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_nU(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
-    if (!find_among_b(z, a_2, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_2, 4, 0) != 0;
 }
 
 static int r_mark_nUn(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 110) return 0;
-    if (!find_among_b(z, a_3, 4)) return 0;
-    {   int ret = r_mark_suffix_with_optional_n_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_3, 4, 0)) return 0;
+    return r_mark_suffix_with_optional_n_consonant(z);
 }
 
 static int r_mark_yA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_4, 2)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    z->c--;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_nA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_5, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_5, 2, 0) != 0;
 }
 
 static int r_mark_DA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_6, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_6, 4, 0) != 0;
 }
 
 static int r_mark_ndA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_7, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_7, 2, 0) != 0;
 }
 
 static int r_mark_DAn(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
-    if (!find_among_b(z, a_8, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_8, 4, 0) != 0;
 }
 
 static int r_mark_ndAn(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 110) return 0;
-    if (!find_among_b(z, a_9, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_9, 2, 0) != 0;
 }
 
 static int r_mark_ylA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_10, 2)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_10, 2, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_ki(struct SN_env * z) {
-    if (!(eq_s_b(z, 2, s_3))) return 0;
-    return 1;
+    return eq_s_b(z, 2, s_3);
 }
 
 static int r_mark_ncA(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_11, 2)) return 0;
-    {   int ret = r_mark_suffix_with_optional_n_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_11, 2, 0)) return 0;
+    return r_mark_suffix_with_optional_n_consonant(z);
 }
 
 static int r_mark_yUm(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 109) return 0;
-    if (!find_among_b(z, a_12, 4)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_12, 4, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_sUn(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 110) return 0;
-    if (!find_among_b(z, a_13, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_13, 4, 0) != 0;
 }
 
 static int r_mark_yUz(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 1 <= z->lb || z->p[z->c - 1] != 122) return 0;
-    if (!find_among_b(z, a_14, 4)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_14, 4, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_sUnUz(struct SN_env * z) {
     if (z->c - 4 <= z->lb || z->p[z->c - 1] != 122) return 0;
-    if (!find_among_b(z, a_15, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_15, 4, 0) != 0;
 }
 
 static int r_mark_lAr(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
-    if (!find_among_b(z, a_16, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_16, 2, 0) != 0;
 }
 
 static int r_mark_nUz(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 122) return 0;
-    if (!find_among_b(z, a_17, 4)) return 0;
-    return 1;
+    return find_among_b(z, a_17, 4, 0) != 0;
 }
 
 static int r_mark_DUr(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 2 <= z->lb || z->p[z->c - 1] != 114) return 0;
-    if (!find_among_b(z, a_18, 8)) return 0;
-    return 1;
+    return find_among_b(z, a_18, 8, 0) != 0;
 }
 
 static int r_mark_cAsInA(struct SN_env * z) {
     if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 101)) return 0;
-    if (!find_among_b(z, a_19, 2)) return 0;
-    return 1;
+    return find_among_b(z, a_19, 2, 0) != 0;
 }
 
 static int r_mark_yDU(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
-        if (ret <= 0) return ret;
-    }
-    if (!find_among_b(z, a_20, 32)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
-    return 1;
+    if (!find_among_b(z, a_20, 32, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_ysA(struct SN_env * z) {
     if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((26658 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
-    if (!find_among_b(z, a_21, 8)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_21, 8, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_ymUs_(struct SN_env * z) {
-    {   int ret = r_check_vowel_harmony(z);
+    {
+        int ret = r_check_vowel_harmony(z);
         if (ret <= 0) return ret;
     }
     if (z->c - 3 <= z->lb || z->p[z->c - 1] != 159) return 0;
-    if (!find_among_b(z, a_22, 4)) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    if (!find_among_b(z, a_22, 4, 0)) return 0;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_mark_yken(struct SN_env * z) {
     if (!(eq_s_b(z, 3, s_4))) return 0;
-    {   int ret = r_mark_suffix_with_optional_y_consonant(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_mark_suffix_with_optional_y_consonant(z);
 }
 
 static int r_stem_nominal_verb_suffixes(struct SN_env * z) {
     z->ket = z->c;
-    z->I[0] = 1;
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int m2 = z->l - z->c; (void)m2;
-            {   int ret = r_mark_ymUs_(z);
-                if (ret == 0) goto lab3;
+    ((SN_local *)z)->b_continue_stemming_noun_suffixes = 1;
+    do {
+        int v_1 = z->l - z->c;
+        do {
+            int v_2 = z->l - z->c;
+            {
+                int ret = r_mark_ymUs_(z);
+                if (ret == 0) goto lab1;
                 if (ret < 0) return ret;
             }
-            goto lab2;
-        lab3:
-            z->c = z->l - m2;
-            {   int ret = r_mark_yDU(z);
-                if (ret == 0) goto lab4;
+            break;
+        lab1:
+            z->c = z->l - v_2;
+            {
+                int ret = r_mark_yDU(z);
+                if (ret == 0) goto lab2;
                 if (ret < 0) return ret;
             }
-            goto lab2;
-        lab4:
-            z->c = z->l - m2;
-            {   int ret = r_mark_ysA(z);
-                if (ret == 0) goto lab5;
+            break;
+        lab2:
+            z->c = z->l - v_2;
+            {
+                int ret = r_mark_ysA(z);
+                if (ret == 0) goto lab3;
                 if (ret < 0) return ret;
             }
-            goto lab2;
-        lab5:
-            z->c = z->l - m2;
-            {   int ret = r_mark_yken(z);
-                if (ret == 0) goto lab1;
+            break;
+        lab3:
+            z->c = z->l - v_2;
+            {
+                int ret = r_mark_yken(z);
+                if (ret == 0) goto lab0;
                 if (ret < 0) return ret;
             }
-        }
-    lab2:
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int ret = r_mark_cAsInA(z);
-            if (ret == 0) goto lab6;
+        } while (0);
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_cAsInA(z);
+            if (ret == 0) goto lab4;
             if (ret < 0) return ret;
         }
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int ret = r_mark_sUnUz(z);
-                if (ret == 0) goto lab8;
+        do {
+            int v_3 = z->l - z->c;
+            {
+                int ret = r_mark_sUnUz(z);
+                if (ret == 0) goto lab5;
                 if (ret < 0) return ret;
             }
-            goto lab7;
-        lab8:
-            z->c = z->l - m3;
-            {   int ret = r_mark_lAr(z);
-                if (ret == 0) goto lab9;
+            break;
+        lab5:
+            z->c = z->l - v_3;
+            {
+                int ret = r_mark_lAr(z);
+                if (ret == 0) goto lab6;
                 if (ret < 0) return ret;
             }
-            goto lab7;
-        lab9:
-            z->c = z->l - m3;
-            {   int ret = r_mark_yUm(z);
-                if (ret == 0) goto lab10;
+            break;
+        lab6:
+            z->c = z->l - v_3;
+            {
+                int ret = r_mark_yUm(z);
+                if (ret == 0) goto lab7;
                 if (ret < 0) return ret;
             }
-            goto lab7;
-        lab10:
-            z->c = z->l - m3;
-            {   int ret = r_mark_sUn(z);
-                if (ret == 0) goto lab11;
+            break;
+        lab7:
+            z->c = z->l - v_3;
+            {
+                int ret = r_mark_sUn(z);
+                if (ret == 0) goto lab8;
                 if (ret < 0) return ret;
             }
-            goto lab7;
-        lab11:
-            z->c = z->l - m3;
-            {   int ret = r_mark_yUz(z);
-                if (ret == 0) goto lab12;
+            break;
+        lab8:
+            z->c = z->l - v_3;
+            {
+                int ret = r_mark_yUz(z);
+                if (ret == 0) goto lab9;
                 if (ret < 0) return ret;
             }
-            goto lab7;
-        lab12:
-            z->c = z->l - m3;
-        }
-    lab7:
-        {   int ret = r_mark_ymUs_(z);
-            if (ret == 0) goto lab6;
+            break;
+        lab9:
+            z->c = z->l - v_3;
+        } while (0);
+        {
+            int ret = r_mark_ymUs_(z);
+            if (ret == 0) goto lab4;
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab6:
-        z->c = z->l - m1;
-        {   int ret = r_mark_lAr(z);
-            if (ret == 0) goto lab13;
+        break;
+    lab4:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_lAr(z);
+            if (ret == 0) goto lab10;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m4 = z->l - z->c; (void)m4;
+        {
+            int v_4 = z->l - z->c;
             z->ket = z->c;
-            {   int m5 = z->l - z->c; (void)m5;
-                {   int ret = r_mark_DUr(z);
-                    if (ret == 0) goto lab16;
+            do {
+                int v_5 = z->l - z->c;
+                {
+                    int ret = r_mark_DUr(z);
+                    if (ret == 0) goto lab12;
                     if (ret < 0) return ret;
                 }
-                goto lab15;
-            lab16:
-                z->c = z->l - m5;
-                {   int ret = r_mark_yDU(z);
-                    if (ret == 0) goto lab17;
+                break;
+            lab12:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_mark_yDU(z);
+                    if (ret == 0) goto lab13;
                     if (ret < 0) return ret;
                 }
-                goto lab15;
-            lab17:
-                z->c = z->l - m5;
-                {   int ret = r_mark_ysA(z);
-                    if (ret == 0) goto lab18;
+                break;
+            lab13:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_mark_ysA(z);
+                    if (ret == 0) goto lab14;
                     if (ret < 0) return ret;
                 }
-                goto lab15;
-            lab18:
-                z->c = z->l - m5;
-                {   int ret = r_mark_ymUs_(z);
-                    if (ret == 0) { z->c = z->l - m4; goto lab14; }
+                break;
+            lab14:
+                z->c = z->l - v_5;
+                {
+                    int ret = r_mark_ymUs_(z);
+                    if (ret == 0) { z->c = z->l - v_4; goto lab11; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab15:
-        lab14:
+            } while (0);
+        lab11:
             ;
         }
-        z->I[0] = 0;
-        goto lab0;
-    lab13:
-        z->c = z->l - m1;
-        {   int ret = r_mark_nUz(z);
-            if (ret == 0) goto lab19;
+        ((SN_local *)z)->b_continue_stemming_noun_suffixes = 0;
+        break;
+    lab10:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_nUz(z);
+            if (ret == 0) goto lab15;
             if (ret < 0) return ret;
         }
-        {   int m6 = z->l - z->c; (void)m6;
-            {   int ret = r_mark_yDU(z);
-                if (ret == 0) goto lab21;
+        do {
+            int v_6 = z->l - z->c;
+            {
+                int ret = r_mark_yDU(z);
+                if (ret == 0) goto lab16;
                 if (ret < 0) return ret;
             }
-            goto lab20;
-        lab21:
-            z->c = z->l - m6;
-            {   int ret = r_mark_ysA(z);
-                if (ret == 0) goto lab19;
-                if (ret < 0) return ret;
+            break;
+        lab16:
+            z->c = z->l - v_6;
+            {
+                int ret = r_mark_ysA(z);
+                if (ret == 0) goto lab15;
+                if (ret < 0) return ret;
             }
-        }
-    lab20:
-        goto lab0;
-    lab19:
-        z->c = z->l - m1;
-        {   int m7 = z->l - z->c; (void)m7;
-            {   int ret = r_mark_sUnUz(z);
-                if (ret == 0) goto lab24;
+        } while (0);
+        break;
+    lab15:
+        z->c = z->l - v_1;
+        do {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_mark_sUnUz(z);
+                if (ret == 0) goto lab18;
                 if (ret < 0) return ret;
             }
-            goto lab23;
-        lab24:
-            z->c = z->l - m7;
-            {   int ret = r_mark_yUz(z);
-                if (ret == 0) goto lab25;
+            break;
+        lab18:
+            z->c = z->l - v_7;
+            {
+                int ret = r_mark_yUz(z);
+                if (ret == 0) goto lab19;
                 if (ret < 0) return ret;
             }
-            goto lab23;
-        lab25:
-            z->c = z->l - m7;
-            {   int ret = r_mark_sUn(z);
-                if (ret == 0) goto lab26;
+            break;
+        lab19:
+            z->c = z->l - v_7;
+            {
+                int ret = r_mark_sUn(z);
+                if (ret == 0) goto lab20;
                 if (ret < 0) return ret;
             }
-            goto lab23;
-        lab26:
-            z->c = z->l - m7;
-            {   int ret = r_mark_yUm(z);
-                if (ret == 0) goto lab22;
+            break;
+        lab20:
+            z->c = z->l - v_7;
+            {
+                int ret = r_mark_yUm(z);
+                if (ret == 0) goto lab17;
                 if (ret < 0) return ret;
             }
-        }
-    lab23:
+        } while (0);
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m8 = z->l - z->c; (void)m8;
+        {
+            int v_8 = z->l - z->c;
             z->ket = z->c;
-            {   int ret = r_mark_ymUs_(z);
-                if (ret == 0) { z->c = z->l - m8; goto lab27; }
+            {
+                int ret = r_mark_ymUs_(z);
+                if (ret == 0) { z->c = z->l - v_8; goto lab21; }
                 if (ret < 0) return ret;
             }
-        lab27:
+        lab21:
             ;
         }
-        goto lab0;
-    lab22:
-        z->c = z->l - m1;
-        {   int ret = r_mark_DUr(z);
+        break;
+    lab17:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_DUr(z);
             if (ret <= 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m9 = z->l - z->c; (void)m9;
+        {
+            int v_9 = z->l - z->c;
             z->ket = z->c;
-            {   int m10 = z->l - z->c; (void)m10;
-                {   int ret = r_mark_sUnUz(z);
-                    if (ret == 0) goto lab30;
+            do {
+                int v_10 = z->l - z->c;
+                {
+                    int ret = r_mark_sUnUz(z);
+                    if (ret == 0) goto lab23;
                     if (ret < 0) return ret;
                 }
-                goto lab29;
-            lab30:
-                z->c = z->l - m10;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) goto lab31;
+                break;
+            lab23:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) goto lab24;
                     if (ret < 0) return ret;
                 }
-                goto lab29;
-            lab31:
-                z->c = z->l - m10;
-                {   int ret = r_mark_yUm(z);
-                    if (ret == 0) goto lab32;
+                break;
+            lab24:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_mark_yUm(z);
+                    if (ret == 0) goto lab25;
                     if (ret < 0) return ret;
                 }
-                goto lab29;
-            lab32:
-                z->c = z->l - m10;
-                {   int ret = r_mark_sUn(z);
-                    if (ret == 0) goto lab33;
+                break;
+            lab25:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_mark_sUn(z);
+                    if (ret == 0) goto lab26;
                     if (ret < 0) return ret;
                 }
-                goto lab29;
-            lab33:
-                z->c = z->l - m10;
-                {   int ret = r_mark_yUz(z);
-                    if (ret == 0) goto lab34;
+                break;
+            lab26:
+                z->c = z->l - v_10;
+                {
+                    int ret = r_mark_yUz(z);
+                    if (ret == 0) goto lab27;
                     if (ret < 0) return ret;
                 }
-                goto lab29;
-            lab34:
-                z->c = z->l - m10;
-            }
-        lab29:
-            {   int ret = r_mark_ymUs_(z);
-                if (ret == 0) { z->c = z->l - m9; goto lab28; }
+                break;
+            lab27:
+                z->c = z->l - v_10;
+            } while (0);
+            {
+                int ret = r_mark_ymUs_(z);
+                if (ret == 0) { z->c = z->l - v_9; goto lab22; }
                 if (ret < 0) return ret;
             }
-        lab28:
+        lab22:
             ;
         }
-    }
-lab0:
+    } while (0);
     z->bra = z->c;
-    {   int ret = slice_del(z);
+    {
+        int ret = slice_del(z);
         if (ret < 0) return ret;
     }
     return 1;
@@ -1167,734 +1114,864 @@ lab0:
 
 static int r_stem_suffix_chain_before_ki(struct SN_env * z) {
     z->ket = z->c;
-    {   int ret = r_mark_ki(z);
+    {
+        int ret = r_mark_ki(z);
         if (ret <= 0) return ret;
     }
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_mark_DA(z);
-            if (ret == 0) goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_mark_DA(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m2 = z->l - z->c; (void)m2;
+        {
+            int v_2 = z->l - z->c;
             z->ket = z->c;
-            {   int m3 = z->l - z->c; (void)m3;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) goto lab4;
+            do {
+                int v_3 = z->l - z->c;
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) goto lab2;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m4 = z->l - z->c; (void)m4;
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m4; goto lab5; }
+                {
+                    int v_4 = z->l - z->c;
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_4; goto lab3; }
                         if (ret < 0) return ret;
                     }
-                lab5:
+                lab3:
                     ;
                 }
-                goto lab3;
-            lab4:
-                z->c = z->l - m3;
-                {   int ret = r_mark_possessives(z);
-                    if (ret == 0) { z->c = z->l - m2; goto lab2; }
+                break;
+            lab2:
+                z->c = z->l - v_3;
+                {
+                    int ret = r_mark_possessives(z);
+                    if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m5 = z->l - z->c; (void)m5;
+                {
+                    int v_5 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m5; goto lab6; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                         if (ret < 0) return ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m5; goto lab6; }
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_5; goto lab4; }
                         if (ret < 0) return ret;
                     }
-                lab6:
+                lab4:
                     ;
                 }
-            }
-        lab3:
-        lab2:
+            } while (0);
+        lab1:
             ;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
-        {   int ret = r_mark_nUn(z);
-            if (ret == 0) goto lab7;
+        break;
+    lab0:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_nUn(z);
+            if (ret == 0) goto lab5;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m6 = z->l - z->c; (void)m6;
+        {
+            int v_6 = z->l - z->c;
             z->ket = z->c;
-            {   int m7 = z->l - z->c; (void)m7;
-                {   int ret = r_mark_lArI(z);
-                    if (ret == 0) goto lab10;
+            do {
+                int v_7 = z->l - z->c;
+                {
+                    int ret = r_mark_lArI(z);
+                    if (ret == 0) goto lab7;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                goto lab9;
-            lab10:
-                z->c = z->l - m7;
+                break;
+            lab7:
+                z->c = z->l - v_7;
                 z->ket = z->c;
-                {   int m8 = z->l - z->c; (void)m8;
-                    {   int ret = r_mark_possessives(z);
-                        if (ret == 0) goto lab13;
+                do {
+                    int v_8 = z->l - z->c;
+                    {
+                        int ret = r_mark_possessives(z);
+                        if (ret == 0) goto lab9;
                         if (ret < 0) return ret;
                     }
-                    goto lab12;
-                lab13:
-                    z->c = z->l - m8;
-                    {   int ret = r_mark_sU(z);
-                        if (ret == 0) goto lab11;
+                    break;
+                lab9:
+                    z->c = z->l - v_8;
+                    {
+                        int ret = r_mark_sU(z);
+                        if (ret == 0) goto lab8;
                         if (ret < 0) return ret;
                     }
-                }
-            lab12:
+                } while (0);
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m9 = z->l - z->c; (void)m9;
+                {
+                    int v_9 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m9; goto lab14; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_9; goto lab10; }
                         if (ret < 0) return ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m9; goto lab14; }
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_9; goto lab10; }
                         if (ret < 0) return ret;
                     }
-                lab14:
+                lab10:
                     ;
                 }
-                goto lab9;
-            lab11:
-                z->c = z->l - m7;
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m6; goto lab8; }
+                break;
+            lab8:
+                z->c = z->l - v_7;
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_6; goto lab6; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab9:
-        lab8:
+            } while (0);
+        lab6:
             ;
         }
-        goto lab0;
-    lab7:
-        z->c = z->l - m1;
-        {   int ret = r_mark_ndA(z);
+        break;
+    lab5:
+        z->c = z->l - v_1;
+        {
+            int ret = r_mark_ndA(z);
             if (ret <= 0) return ret;
         }
-        {   int m10 = z->l - z->c; (void)m10;
-            {   int ret = r_mark_lArI(z);
-                if (ret == 0) goto lab16;
+        do {
+            int v_10 = z->l - z->c;
+            {
+                int ret = r_mark_lArI(z);
+                if (ret == 0) goto lab11;
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            goto lab15;
-        lab16:
-            z->c = z->l - m10;
-            {   int ret = r_mark_sU(z);
-                if (ret == 0) goto lab17;
+            break;
+        lab11:
+            z->c = z->l - v_10;
+            {
+                int ret = r_mark_sU(z);
+                if (ret == 0) goto lab12;
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m11 = z->l - z->c; (void)m11;
+            {
+                int v_11 = z->l - z->c;
                 z->ket = z->c;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) { z->c = z->l - m11; goto lab18; }
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) { z->c = z->l - v_11; goto lab13; }
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m11; goto lab18; }
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_11; goto lab13; }
                     if (ret < 0) return ret;
                 }
-            lab18:
+            lab13:
                 ;
             }
-            goto lab15;
-        lab17:
-            z->c = z->l - m10;
-            {   int ret = r_stem_suffix_chain_before_ki(z);
+            break;
+        lab12:
+            z->c = z->l - v_10;
+            {
+                int ret = r_stem_suffix_chain_before_ki(z);
                 if (ret <= 0) return ret;
             }
-        }
-    lab15:
-        ;
-    }
-lab0:
+        } while (0);
+    } while (0);
     return 1;
 }
 
 static int r_stem_noun_suffixes(struct SN_env * z) {
-    {   int m1 = z->l - z->c; (void)m1;
+    do {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        {   int ret = r_mark_lAr(z);
-            if (ret == 0) goto lab1;
+        {
+            int ret = r_mark_lAr(z);
+            if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m2 = z->l - z->c; (void)m2;
-            {   int ret = r_stem_suffix_chain_before_ki(z);
-                if (ret == 0) { z->c = z->l - m2; goto lab2; }
+        {
+            int v_2 = z->l - z->c;
+            {
+                int ret = r_stem_suffix_chain_before_ki(z);
+                if (ret == 0) { z->c = z->l - v_2; goto lab1; }
                 if (ret < 0) return ret;
             }
-        lab2:
+        lab1:
             ;
         }
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int ret = r_mark_ncA(z);
-            if (ret == 0) goto lab3;
+        {
+            int ret = r_mark_ncA(z);
+            if (ret == 0) goto lab2;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m3 = z->l - z->c; (void)m3;
-            {   int m4 = z->l - z->c; (void)m4;
+        {
+            int v_3 = z->l - z->c;
+            do {
+                int v_4 = z->l - z->c;
                 z->ket = z->c;
-                {   int ret = r_mark_lArI(z);
-                    if (ret == 0) goto lab6;
+                {
+                    int ret = r_mark_lArI(z);
+                    if (ret == 0) goto lab4;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                goto lab5;
-            lab6:
-                z->c = z->l - m4;
+                break;
+            lab4:
+                z->c = z->l - v_4;
                 z->ket = z->c;
-                {   int m5 = z->l - z->c; (void)m5;
-                    {   int ret = r_mark_possessives(z);
-                        if (ret == 0) goto lab9;
+                do {
+                    int v_5 = z->l - z->c;
+                    {
+                        int ret = r_mark_possessives(z);
+                        if (ret == 0) goto lab6;
                         if (ret < 0) return ret;
                     }
-                    goto lab8;
-                lab9:
-                    z->c = z->l - m5;
-                    {   int ret = r_mark_sU(z);
-                        if (ret == 0) goto lab7;
+                    break;
+                lab6:
+                    z->c = z->l - v_5;
+                    {
+                        int ret = r_mark_sU(z);
+                        if (ret == 0) goto lab5;
                         if (ret < 0) return ret;
                     }
-                }
-            lab8:
+                } while (0);
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m6 = z->l - z->c; (void)m6;
+                {
+                    int v_6 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m6; goto lab10; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_6; goto lab7; }
                         if (ret < 0) return ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m6; goto lab10; }
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_6; goto lab7; }
                         if (ret < 0) return ret;
                     }
-                lab10:
+                lab7:
                     ;
                 }
-                goto lab5;
-            lab7:
-                z->c = z->l - m4;
+                break;
+            lab5:
+                z->c = z->l - v_4;
                 z->ket = z->c;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab4; }
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab3; }
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m3; goto lab4; }
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_3; goto lab3; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab5:
-        lab4:
+            } while (0);
+        lab3:
             ;
         }
-        goto lab0;
-    lab3:
-        z->c = z->l - m1;
+        break;
+    lab2:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int m7 = z->l - z->c; (void)m7;
-            {   int ret = r_mark_ndA(z);
-                if (ret == 0) goto lab13;
+        do {
+            int v_7 = z->l - z->c;
+            {
+                int ret = r_mark_ndA(z);
+                if (ret == 0) goto lab9;
                 if (ret < 0) return ret;
             }
-            goto lab12;
-        lab13:
-            z->c = z->l - m7;
-            {   int ret = r_mark_nA(z);
-                if (ret == 0) goto lab11;
+            break;
+        lab9:
+            z->c = z->l - v_7;
+            {
+                int ret = r_mark_nA(z);
+                if (ret == 0) goto lab8;
                 if (ret < 0) return ret;
             }
-        }
-    lab12:
-        {   int m8 = z->l - z->c; (void)m8;
-            {   int ret = r_mark_lArI(z);
-                if (ret == 0) goto lab15;
+        } while (0);
+        do {
+            int v_8 = z->l - z->c;
+            {
+                int ret = r_mark_lArI(z);
+                if (ret == 0) goto lab10;
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            goto lab14;
-        lab15:
-            z->c = z->l - m8;
-            {   int ret = r_mark_sU(z);
-                if (ret == 0) goto lab16;
+            break;
+        lab10:
+            z->c = z->l - v_8;
+            {
+                int ret = r_mark_sU(z);
+                if (ret == 0) goto lab11;
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m9 = z->l - z->c; (void)m9;
+            {
+                int v_9 = z->l - z->c;
                 z->ket = z->c;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) { z->c = z->l - m9; goto lab17; }
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) { z->c = z->l - v_9; goto lab12; }
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m9; goto lab17; }
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_9; goto lab12; }
                     if (ret < 0) return ret;
                 }
-            lab17:
+            lab12:
                 ;
             }
-            goto lab14;
-        lab16:
-            z->c = z->l - m8;
-            {   int ret = r_stem_suffix_chain_before_ki(z);
-                if (ret == 0) goto lab11;
+            break;
+        lab11:
+            z->c = z->l - v_8;
+            {
+                int ret = r_stem_suffix_chain_before_ki(z);
+                if (ret == 0) goto lab8;
                 if (ret < 0) return ret;
             }
-        }
-    lab14:
-        goto lab0;
-    lab11:
-        z->c = z->l - m1;
+        } while (0);
+        break;
+    lab8:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int m10 = z->l - z->c; (void)m10;
-            {   int ret = r_mark_ndAn(z);
-                if (ret == 0) goto lab20;
+        do {
+            int v_10 = z->l - z->c;
+            {
+                int ret = r_mark_ndAn(z);
+                if (ret == 0) goto lab14;
                 if (ret < 0) return ret;
             }
-            goto lab19;
-        lab20:
-            z->c = z->l - m10;
-            {   int ret = r_mark_nU(z);
-                if (ret == 0) goto lab18;
+            break;
+        lab14:
+            z->c = z->l - v_10;
+            {
+                int ret = r_mark_nU(z);
+                if (ret == 0) goto lab13;
                 if (ret < 0) return ret;
             }
-        }
-    lab19:
-        {   int m11 = z->l - z->c; (void)m11;
-            {   int ret = r_mark_sU(z);
-                if (ret == 0) goto lab22;
+        } while (0);
+        do {
+            int v_11 = z->l - z->c;
+            {
+                int ret = r_mark_sU(z);
+                if (ret == 0) goto lab15;
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int m12 = z->l - z->c; (void)m12;
+            {
+                int v_12 = z->l - z->c;
                 z->ket = z->c;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) { z->c = z->l - m12; goto lab23; }
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) { z->c = z->l - v_12; goto lab16; }
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m12; goto lab23; }
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_12; goto lab16; }
                     if (ret < 0) return ret;
                 }
-            lab23:
+            lab16:
                 ;
             }
-            goto lab21;
-        lab22:
-            z->c = z->l - m11;
-            {   int ret = r_mark_lArI(z);
-                if (ret == 0) goto lab18;
+            break;
+        lab15:
+            z->c = z->l - v_11;
+            {
+                int ret = r_mark_lArI(z);
+                if (ret == 0) goto lab13;
                 if (ret < 0) return ret;
             }
-        }
-    lab21:
-        goto lab0;
-    lab18:
-        z->c = z->l - m1;
+        } while (0);
+        break;
+    lab13:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int ret = r_mark_DAn(z);
-            if (ret == 0) goto lab24;
+        {
+            int ret = r_mark_DAn(z);
+            if (ret == 0) goto lab17;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m13 = z->l - z->c; (void)m13;
+        {
+            int v_13 = z->l - z->c;
             z->ket = z->c;
-            {   int m14 = z->l - z->c; (void)m14;
-                {   int ret = r_mark_possessives(z);
-                    if (ret == 0) goto lab27;
+            do {
+                int v_14 = z->l - z->c;
+                {
+                    int ret = r_mark_possessives(z);
+                    if (ret == 0) goto lab19;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m15 = z->l - z->c; (void)m15;
+                {
+                    int v_15 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m15; goto lab28; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_15; goto lab20; }
                         if (ret < 0) return ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m15; goto lab28; }
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_15; goto lab20; }
                         if (ret < 0) return ret;
                     }
-                lab28:
+                lab20:
                     ;
                 }
-                goto lab26;
-            lab27:
-                z->c = z->l - m14;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) goto lab29;
+                break;
+            lab19:
+                z->c = z->l - v_14;
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) goto lab21;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m16 = z->l - z->c; (void)m16;
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m16; goto lab30; }
+                {
+                    int v_16 = z->l - z->c;
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_16; goto lab22; }
                         if (ret < 0) return ret;
                     }
-                lab30:
+                lab22:
                     ;
                 }
-                goto lab26;
-            lab29:
-                z->c = z->l - m14;
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m13; goto lab25; }
+                break;
+            lab21:
+                z->c = z->l - v_14;
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_13; goto lab18; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab26:
-        lab25:
+            } while (0);
+        lab18:
             ;
         }
-        goto lab0;
-    lab24:
-        z->c = z->l - m1;
+        break;
+    lab17:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int m17 = z->l - z->c; (void)m17;
-            {   int ret = r_mark_nUn(z);
-                if (ret == 0) goto lab33;
+        do {
+            int v_17 = z->l - z->c;
+            {
+                int ret = r_mark_nUn(z);
+                if (ret == 0) goto lab24;
                 if (ret < 0) return ret;
             }
-            goto lab32;
-        lab33:
-            z->c = z->l - m17;
-            {   int ret = r_mark_ylA(z);
-                if (ret == 0) goto lab31;
+            break;
+        lab24:
+            z->c = z->l - v_17;
+            {
+                int ret = r_mark_ylA(z);
+                if (ret == 0) goto lab23;
                 if (ret < 0) return ret;
             }
-        }
-    lab32:
+        } while (0);
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m18 = z->l - z->c; (void)m18;
-            {   int m19 = z->l - z->c; (void)m19;
+        {
+            int v_18 = z->l - z->c;
+            do {
+                int v_19 = z->l - z->c;
                 z->ket = z->c;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) goto lab36;
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) goto lab26;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) goto lab36;
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) goto lab26;
                     if (ret < 0) return ret;
                 }
-                goto lab35;
-            lab36:
-                z->c = z->l - m19;
+                break;
+            lab26:
+                z->c = z->l - v_19;
                 z->ket = z->c;
-                {   int m20 = z->l - z->c; (void)m20;
-                    {   int ret = r_mark_possessives(z);
-                        if (ret == 0) goto lab39;
+                do {
+                    int v_20 = z->l - z->c;
+                    {
+                        int ret = r_mark_possessives(z);
+                        if (ret == 0) goto lab28;
                         if (ret < 0) return ret;
                     }
-                    goto lab38;
-                lab39:
-                    z->c = z->l - m20;
-                    {   int ret = r_mark_sU(z);
-                        if (ret == 0) goto lab37;
+                    break;
+                lab28:
+                    z->c = z->l - v_20;
+                    {
+                        int ret = r_mark_sU(z);
+                        if (ret == 0) goto lab27;
                         if (ret < 0) return ret;
                     }
-                }
-            lab38:
+                } while (0);
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m21 = z->l - z->c; (void)m21;
+                {
+                    int v_21 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m21; goto lab40; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_21; goto lab29; }
                         if (ret < 0) return ret;
                     }
                     z->bra = z->c;
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    {   int ret = r_stem_suffix_chain_before_ki(z);
-                        if (ret == 0) { z->c = z->l - m21; goto lab40; }
+                    {
+                        int ret = r_stem_suffix_chain_before_ki(z);
+                        if (ret == 0) { z->c = z->l - v_21; goto lab29; }
                         if (ret < 0) return ret;
                     }
-                lab40:
+                lab29:
                     ;
                 }
-                goto lab35;
-            lab37:
-                z->c = z->l - m19;
-                {   int ret = r_stem_suffix_chain_before_ki(z);
-                    if (ret == 0) { z->c = z->l - m18; goto lab34; }
+                break;
+            lab27:
+                z->c = z->l - v_19;
+                {
+                    int ret = r_stem_suffix_chain_before_ki(z);
+                    if (ret == 0) { z->c = z->l - v_18; goto lab25; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab35:
-        lab34:
+            } while (0);
+        lab25:
             ;
         }
-        goto lab0;
-    lab31:
-        z->c = z->l - m1;
+        break;
+    lab23:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int ret = r_mark_lArI(z);
-            if (ret == 0) goto lab41;
+        {
+            int ret = r_mark_lArI(z);
+            if (ret == 0) goto lab30;
             if (ret < 0) return ret;
         }
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab41:
-        z->c = z->l - m1;
-        {   int ret = r_stem_suffix_chain_before_ki(z);
-            if (ret == 0) goto lab42;
+        break;
+    lab30:
+        z->c = z->l - v_1;
+        {
+            int ret = r_stem_suffix_chain_before_ki(z);
+            if (ret == 0) goto lab31;
             if (ret < 0) return ret;
         }
-        goto lab0;
-    lab42:
-        z->c = z->l - m1;
+        break;
+    lab31:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int m22 = z->l - z->c; (void)m22;
-            {   int ret = r_mark_DA(z);
-                if (ret == 0) goto lab45;
+        do {
+            int v_22 = z->l - z->c;
+            {
+                int ret = r_mark_DA(z);
+                if (ret == 0) goto lab33;
                 if (ret < 0) return ret;
             }
-            goto lab44;
-        lab45:
-            z->c = z->l - m22;
-            {   int ret = r_mark_yU(z);
-                if (ret == 0) goto lab46;
+            break;
+        lab33:
+            z->c = z->l - v_22;
+            {
+                int ret = r_mark_yU(z);
+                if (ret == 0) goto lab34;
                 if (ret < 0) return ret;
             }
-            goto lab44;
-        lab46:
-            z->c = z->l - m22;
-            {   int ret = r_mark_yA(z);
-                if (ret == 0) goto lab43;
+            break;
+        lab34:
+            z->c = z->l - v_22;
+            {
+                int ret = r_mark_yA(z);
+                if (ret == 0) goto lab32;
                 if (ret < 0) return ret;
             }
-        }
-    lab44:
+        } while (0);
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m23 = z->l - z->c; (void)m23;
+        {
+            int v_23 = z->l - z->c;
             z->ket = z->c;
-            {   int m24 = z->l - z->c; (void)m24;
-                {   int ret = r_mark_possessives(z);
-                    if (ret == 0) goto lab49;
+            do {
+                int v_24 = z->l - z->c;
+                {
+                    int ret = r_mark_possessives(z);
+                    if (ret == 0) goto lab36;
                     if (ret < 0) return ret;
                 }
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                {   int m25 = z->l - z->c; (void)m25;
+                {
+                    int v_25 = z->l - z->c;
                     z->ket = z->c;
-                    {   int ret = r_mark_lAr(z);
-                        if (ret == 0) { z->c = z->l - m25; goto lab50; }
+                    {
+                        int ret = r_mark_lAr(z);
+                        if (ret == 0) { z->c = z->l - v_25; goto lab37; }
                         if (ret < 0) return ret;
                     }
-                lab50:
+                lab37:
                     ;
                 }
-                goto lab48;
-            lab49:
-                z->c = z->l - m24;
-                {   int ret = r_mark_lAr(z);
-                    if (ret == 0) { z->c = z->l - m23; goto lab47; }
+                break;
+            lab36:
+                z->c = z->l - v_24;
+                {
+                    int ret = r_mark_lAr(z);
+                    if (ret == 0) { z->c = z->l - v_23; goto lab35; }
                     if (ret < 0) return ret;
                 }
-            }
-        lab48:
+            } while (0);
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
             z->ket = z->c;
-            {   int ret = r_stem_suffix_chain_before_ki(z);
-                if (ret == 0) { z->c = z->l - m23; goto lab47; }
+            {
+                int ret = r_stem_suffix_chain_before_ki(z);
+                if (ret == 0) { z->c = z->l - v_23; goto lab35; }
                 if (ret < 0) return ret;
             }
-        lab47:
+        lab35:
             ;
         }
-        goto lab0;
-    lab43:
-        z->c = z->l - m1;
+        break;
+    lab32:
+        z->c = z->l - v_1;
         z->ket = z->c;
-        {   int m26 = z->l - z->c; (void)m26;
-            {   int ret = r_mark_possessives(z);
-                if (ret == 0) goto lab52;
+        do {
+            int v_26 = z->l - z->c;
+            {
+                int ret = r_mark_possessives(z);
+                if (ret == 0) goto lab38;
                 if (ret < 0) return ret;
             }
-            goto lab51;
-        lab52:
-            z->c = z->l - m26;
-            {   int ret = r_mark_sU(z);
+            break;
+        lab38:
+            z->c = z->l - v_26;
+            {
+                int ret = r_mark_sU(z);
                 if (ret <= 0) return ret;
             }
-        }
-    lab51:
+        } while (0);
         z->bra = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-        {   int m27 = z->l - z->c; (void)m27;
+        {
+            int v_27 = z->l - z->c;
             z->ket = z->c;
-            {   int ret = r_mark_lAr(z);
-                if (ret == 0) { z->c = z->l - m27; goto lab53; }
+            {
+                int ret = r_mark_lAr(z);
+                if (ret == 0) { z->c = z->l - v_27; goto lab39; }
                 if (ret < 0) return ret;
             }
             z->bra = z->c;
-            {   int ret = slice_del(z);
+            {
+                int ret = slice_del(z);
                 if (ret < 0) return ret;
             }
-            {   int ret = r_stem_suffix_chain_before_ki(z);
-                if (ret == 0) { z->c = z->l - m27; goto lab53; }
+            {
+                int ret = r_stem_suffix_chain_before_ki(z);
+                if (ret == 0) { z->c = z->l - v_27; goto lab39; }
                 if (ret < 0) return ret;
             }
-        lab53:
+        lab39:
             ;
         }
-    }
-lab0:
+    } while (0);
     return 1;
 }
 
 static int r_post_process_last_consonants(struct SN_env * z) {
     int among_var;
     z->ket = z->c;
-    among_var = find_among_b(z, a_23, 4);
+    among_var = find_among_b(z, a_23, 4, 0);
     if (!among_var) return 0;
     z->bra = z->c;
     switch (among_var) {
         case 1:
-            {   int ret = slice_from_s(z, 1, s_5);
+            {
+                int ret = slice_from_s(z, 1, s_5);
                 if (ret < 0) return ret;
             }
             break;
         case 2:
-            {   int ret = slice_from_s(z, 2, s_6);
+            {
+                int ret = slice_from_s(z, 2, s_6);
                 if (ret < 0) return ret;
             }
             break;
         case 3:
-            {   int ret = slice_from_s(z, 1, s_7);
+            {
+                int ret = slice_from_s(z, 1, s_7);
                 if (ret < 0) return ret;
             }
             break;
         case 4:
-            {   int ret = slice_from_s(z, 1, s_8);
+            {
+                int ret = slice_from_s(z, 1, s_8);
                 if (ret < 0) return ret;
             }
             break;
@@ -1905,86 +1982,90 @@ static int r_post_process_last_consonants(struct SN_env * z) {
 static int r_append_U_to_stems_ending_with_d_or_g(struct SN_env * z) {
     z->ket = z->c;
     z->bra = z->c;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab1;
+    do {
+        int v_1 = z->l - z->c;
+        if (z->c <= z->lb || z->p[z->c - 1] != 'd') goto lab0;
         z->c--;
-        goto lab0;
-    lab1:
-        z->c = z->l - m1;
+        break;
+    lab0:
+        z->c = z->l - v_1;
         if (z->c <= z->lb || z->p[z->c - 1] != 'g') return 0;
         z->c--;
-    }
-lab0:
-
+    } while (0);
     if (out_grouping_b_U(z, g_vowel, 97, 305, 1) < 0) return 0;
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int m3 = z->l - z->c; (void)m3;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab5;
+    do {
+        int v_2 = z->l - z->c;
+        do {
+            int v_3 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'a') goto lab2;
             z->c--;
-            goto lab4;
-        lab5:
-            z->c = z->l - m3;
-            if (!(eq_s_b(z, 2, s_9))) goto lab3;
-        }
-    lab4:
-        {   int ret = slice_from_s(z, 2, s_10);
+            break;
+        lab2:
+            z->c = z->l - v_3;
+            if (!(eq_s_b(z, 2, s_9))) goto lab1;
+        } while (0);
+        {
+            int ret = slice_from_s(z, 2, s_10);
             if (ret < 0) return ret;
         }
-        goto lab2;
-    lab3:
-        z->c = z->l - m2;
-        {   int m4 = z->l - z->c; (void)m4;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab8;
+        break;
+    lab1:
+        z->c = z->l - v_2;
+        do {
+            int v_4 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'e') goto lab4;
             z->c--;
-            goto lab7;
-        lab8:
-            z->c = z->l - m4;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab6;
+            break;
+        lab4:
+            z->c = z->l - v_4;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'i') goto lab3;
             z->c--;
-        }
-    lab7:
-        {   int ret = slice_from_s(z, 1, s_11);
+        } while (0);
+        {
+            int ret = slice_from_s(z, 1, s_11);
             if (ret < 0) return ret;
         }
-        goto lab2;
-    lab6:
-        z->c = z->l - m2;
-        {   int m5 = z->l - z->c; (void)m5;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab11;
+        break;
+    lab3:
+        z->c = z->l - v_2;
+        do {
+            int v_5 = z->l - z->c;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'o') goto lab6;
             z->c--;
-            goto lab10;
-        lab11:
-            z->c = z->l - m5;
-            if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab9;
+            break;
+        lab6:
+            z->c = z->l - v_5;
+            if (z->c <= z->lb || z->p[z->c - 1] != 'u') goto lab5;
             z->c--;
-        }
-    lab10:
-        {   int ret = slice_from_s(z, 1, s_12);
+        } while (0);
+        {
+            int ret = slice_from_s(z, 1, s_12);
             if (ret < 0) return ret;
         }
-        goto lab2;
-    lab9:
-        z->c = z->l - m2;
-        {   int m6 = z->l - z->c; (void)m6;
-            if (!(eq_s_b(z, 2, s_13))) goto lab13;
-            goto lab12;
-        lab13:
-            z->c = z->l - m6;
+        break;
+    lab5:
+        z->c = z->l - v_2;
+        do {
+            int v_6 = z->l - z->c;
+            if (!(eq_s_b(z, 2, s_13))) goto lab7;
+            break;
+        lab7:
+            z->c = z->l - v_6;
             if (!(eq_s_b(z, 2, s_14))) return 0;
-        }
-    lab12:
-        {   int ret = slice_from_s(z, 2, s_15);
+        } while (0);
+        {
+            int ret = slice_from_s(z, 2, s_15);
             if (ret < 0) return ret;
         }
-    }
-lab2:
+    } while (0);
     return 1;
 }
 
 static int r_is_reserved_word(struct SN_env * z) {
     if (!(eq_s_b(z, 2, s_16))) return 0;
-    {   int m1 = z->l - z->c; (void)m1;
-        if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - m1; goto lab0; }
+    {
+        int v_1 = z->l - z->c;
+        if (!(eq_s_b(z, 3, s_17))) { z->c = z->l - v_1; goto lab0; }
     lab0:
         ;
     }
@@ -1993,36 +2074,76 @@ static int r_is_reserved_word(struct SN_env * z) {
 }
 
 static int r_remove_proper_noun_suffix(struct SN_env * z) {
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            if (z->c == z->l || z->p[z->c] != '\'') goto lab1;
-            z->c++;
-            z->c = c2;
+    {
+        int v_1 = z->c;
+        z->bra = z->c;
+        while (1) {
+            int v_2 = z->c;
+            {
+                int v_3 = z->c;
+                if (z->c == z->l || z->p[z->c] != '\'') goto lab2;
+                z->c++;
+                goto lab1;
+            lab2:
+                z->c = v_3;
+            }
+            z->c = v_2;
             break;
         lab1:
-            z->c = c2;
-            {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+            z->c = v_2;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
                 if (ret < 0) goto lab0;
                 z->c = ret;
             }
         }
+        z->ket = z->c;
+        {
+            int ret = slice_del(z);
+            if (ret < 0) return ret;
+        }
+    lab0:
+        z->c = v_1;
+    }
+    {
+        int v_4 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 2);
+            if (ret < 0) goto lab3;
+            z->c = ret;
+        }
+        while (1) {
+            int v_5 = z->c;
+            if (z->c == z->l || z->p[z->c] != '\'') goto lab4;
+            z->c++;
+            z->c = v_5;
+            break;
+        lab4:
+            z->c = v_5;
+            {
+                int ret = skip_utf8(z->p, z->c, z->l, 1);
+                if (ret < 0) goto lab3;
+                z->c = ret;
+            }
+        }
         z->bra = z->c;
         z->c = z->l;
         z->ket = z->c;
-        {   int ret = slice_del(z);
+        {
+            int ret = slice_del(z);
             if (ret < 0) return ret;
         }
-    lab0:
-        z->c = c1;
+    lab3:
+        z->c = v_4;
     }
     return 1;
 }
 
 static int r_more_than_one_syllable_word(struct SN_env * z) {
-    {   int c_test1 = z->c;
-        {   int i; for (i = 2; i > 0; i--)
-            {
+    {
+        int v_1 = z->c;
+        {
+            int i; for (i = 2; i > 0; i--) {
                 {
                     int ret = out_grouping_U(z, g_vowel, 97, 305, 1);
                     if (ret < 0) return 0;
@@ -2030,70 +2151,84 @@ static int r_more_than_one_syllable_word(struct SN_env * z) {
                 }
             }
         }
-        z->c = c_test1;
+        z->c = v_1;
     }
     return 1;
 }
 
 static int r_postlude(struct SN_env * z) {
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_is_reserved_word(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_is_reserved_word(z);
             if (ret == 0) goto lab0;
             if (ret < 0) return ret;
         }
         return 0;
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_append_U_to_stems_ending_with_d_or_g(z);
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_append_U_to_stems_ending_with_d_or_g(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
-    {   int m3 = z->l - z->c; (void)m3;
-        {   int ret = r_post_process_last_consonants(z);
+    {
+        int v_3 = z->l - z->c;
+        {
+            int ret = r_post_process_last_consonants(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m3;
+        z->c = z->l - v_3;
     }
     z->c = z->lb;
     return 1;
 }
 
 extern int turkish_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_remove_proper_noun_suffix(z);
+    {
+        int ret = r_remove_proper_noun_suffix(z);
         if (ret < 0) return ret;
     }
-    {   int ret = r_more_than_one_syllable_word(z);
+    {
+        int ret = r_more_than_one_syllable_word(z);
         if (ret <= 0) return ret;
     }
     z->lb = z->c; z->c = z->l;
-
-    {   int m1 = z->l - z->c; (void)m1;
-        {   int ret = r_stem_nominal_verb_suffixes(z);
+    {
+        int v_1 = z->l - z->c;
+        {
+            int ret = r_stem_nominal_verb_suffixes(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    if (!(z->I[0])) return 0;
-    {   int m2 = z->l - z->c; (void)m2;
-        {   int ret = r_stem_noun_suffixes(z);
+    if (!((SN_local *)z)->b_continue_stemming_noun_suffixes) return 0;
+    {
+        int v_2 = z->l - z->c;
+        {
+            int ret = r_stem_noun_suffixes(z);
             if (ret < 0) return ret;
         }
-        z->c = z->l - m2;
+        z->c = z->l - v_2;
     }
     z->c = z->lb;
-    {   int ret = r_postlude(z);
-        if (ret <= 0) return ret;
-    }
-    return 1;
+    return r_postlude(z);
 }
 
-extern struct SN_env * turkish_UTF_8_create_env(void) { return SN_create_env(0, 1); }
+extern struct SN_env * turkish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->b_continue_stemming_noun_suffixes = 0;
+    }
+    return z;
+}
 
-extern void turkish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void turkish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index d98347407d60610841fbffa62eecc0dc27cbf80f..e2415abae9f50a7e38e50dbc6c45353ab6f62c96 100644 (file)
@@ -1,6 +1,17 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from yiddish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
-#include "header.h"
+#include "stem_UTF_8_yiddish.h"
+
+#include <stddef.h>
+
+#include "snowball_runtime.h"
+
+struct SN_local {
+    struct SN_env z;
+    int i_p1;
+};
+
+typedef struct SN_local SN_local;
 
 #ifdef __cplusplus
 extern "C" {
@@ -9,23 +20,101 @@ extern int yiddish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
+
 static int r_standard_suffix(struct SN_env * z);
 static int r_R1plus3(struct SN_env * z);
 static int r_R1(struct SN_env * z);
 static int r_mark_regions(struct SN_env * z);
 static int r_prelude(struct SN_env * z);
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern struct SN_env * yiddish_UTF_8_create_env(void);
-extern void yiddish_UTF_8_close_env(struct SN_env * z);
 
+static const symbol s_0[] = { 0xD6, 0xBC };
+static const symbol s_1[] = { 0xD7, 0xB0 };
+static const symbol s_2[] = { 0xD6, 0xB4 };
+static const symbol s_3[] = { 0xD7, 0xB1 };
+static const symbol s_4[] = { 0xD6, 0xB4 };
+static const symbol s_5[] = { 0xD7, 0xB2 };
+static const symbol s_6[] = { 0xD7, 0x9B };
+static const symbol s_7[] = { 0xD7, 0x9E };
+static const symbol s_8[] = { 0xD7, 0xA0 };
+static const symbol s_9[] = { 0xD7, 0xA4 };
+static const symbol s_10[] = { 0xD7, 0xA6 };
+static const symbol s_11[] = { 0xD7, 0x92, 0xD7, 0xA2 };
+static const symbol s_12[] = { 0xD7, 0x9C, 0xD7, 0x98 };
+static const symbol s_13[] = { 0xD7, 0x91, 0xD7, 0xA0 };
+static const symbol s_14[] = { 'G', 'E' };
+static const symbol s_15[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x92, 0xD7, 0xA0 };
+static const symbol s_16[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0x98 };
+static const symbol s_17[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0xA0 };
+static const symbol s_18[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x91, 0xD7, 0xA0 };
+static const symbol s_19[] = { 0xD7, 0x92, 0xD7, 0xA2 };
+static const symbol s_20[] = { 'G', 'E' };
+static const symbol s_21[] = { 0xD7, 0xA6, 0xD7, 0x95 };
+static const symbol s_22[] = { 'T', 'S', 'U' };
+static const symbol s_23[] = { 0xD7, 0x99, 0xD7, 0xA2 };
+static const symbol s_24[] = { 0xD7, 0x92, 0xD7, 0xB2 };
+static const symbol s_25[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
+static const symbol s_26[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
+static const symbol s_27[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
+static const symbol s_28[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_29[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
+static const symbol s_30[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_31[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
+static const symbol s_32[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_33[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_34[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_35[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
+static const symbol s_36[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_37[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
+static const symbol s_38[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_39[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
+static const symbol s_40[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
+static const symbol s_41[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_42[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
+static const symbol s_43[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_44[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_45[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
+static const symbol s_46[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_47[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
+static const symbol s_48[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
+static const symbol s_49[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
+static const symbol s_50[] = { 0xD7, 0x98 };
+static const symbol s_51[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B };
+static const symbol s_52[] = { 0xD7, 0x92, 0xD7, 0xA2 };
+static const symbol s_53[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_54[] = { 0xD7, 0x92, 0xD7, 0xB2 };
+static const symbol s_55[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
+static const symbol s_56[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_57[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
+static const symbol s_58[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
+static const symbol s_59[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_60[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
+static const symbol s_61[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_62[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
+static const symbol s_63[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_64[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_65[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_66[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
+static const symbol s_67[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
+static const symbol s_68[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
+static const symbol s_69[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
+static const symbol s_70[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
+static const symbol s_71[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_72[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
+static const symbol s_73[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_74[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_75[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
+static const symbol s_76[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
+static const symbol s_77[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
+static const symbol s_78[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
+static const symbol s_79[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
+static const symbol s_80[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
+static const symbol s_81[] = { 0xD7, 0x94 };
+static const symbol s_82[] = { 0xD7, 0x92 };
+static const symbol s_83[] = { 0xD7, 0xA9 };
+static const symbol s_84[] = { 0xD7, 0x99, 0xD7, 0xA1 };
+static const symbol s_85[] = { 'G', 'E' };
+static const symbol s_86[] = { 'T', 'S', 'U' };
 
-#ifdef __cplusplus
-}
-#endif
 static const symbol s_0_0[4] = { 0xD7, 0x95, 0xD7, 0x95 };
 static const symbol s_0_1[4] = { 0xD7, 0x95, 0xD7, 0x99 };
 static const symbol s_0_2[4] = { 0xD7, 0x99, 0xD7, 0x99 };
@@ -34,17 +123,15 @@ static const symbol s_0_4[2] = { 0xD7, 0x9D };
 static const symbol s_0_5[2] = { 0xD7, 0x9F };
 static const symbol s_0_6[2] = { 0xD7, 0xA3 };
 static const symbol s_0_7[2] = { 0xD7, 0xA5 };
-
-static const struct among a_0[8] =
-{
-{ 4, s_0_0, -1, 1, 0},
-{ 4, s_0_1, -1, 2, 0},
-{ 4, s_0_2, -1, 3, 0},
-{ 2, s_0_3, -1, 4, 0},
-{ 2, s_0_4, -1, 5, 0},
-{ 2, s_0_5, -1, 6, 0},
-{ 2, s_0_6, -1, 7, 0},
-{ 2, s_0_7, -1, 8, 0}
+static const struct among a_0[8] = {
+{ 4, s_0_0, 0, 1, 0},
+{ 4, s_0_1, 0, 2, 0},
+{ 4, s_0_2, 0, 3, 0},
+{ 2, s_0_3, 0, 4, 0},
+{ 2, s_0_4, 0, 5, 0},
+{ 2, s_0_5, 0, 6, 0},
+{ 2, s_0_6, 0, 7, 0},
+{ 2, s_0_7, 0, 8, 0}
 };
 
 static const symbol s_1_0[10] = { 0xD7, 0x90, 0xD7, 0x93, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x9B };
@@ -87,62 +174,58 @@ static const symbol s_1_36[14] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x96, 0xD7, 0x9
 static const symbol s_1_37[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0xB1, 0xD7, 0xA4 };
 static const symbol s_1_38[10] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA7 };
 static const symbol s_1_39[4] = { 0xD7, 0xA6, 0xD7, 0xA2 };
-
-static const struct among a_1[40] =
-{
-{ 10, s_1_0, -1, 1, 0},
-{ 8, s_1_1, -1, 1, 0},
-{ 8, s_1_2, -1, 1, 0},
-{ 8, s_1_3, -1, 1, 0},
-{ 6, s_1_4, -1, 1, 0},
-{ 12, s_1_5, -1, 1, 0},
-{ 10, s_1_6, -1, 1, 0},
-{ 4, s_1_7, -1, 1, 0},
-{ 6, s_1_8, 7, 1, 0},
-{ 14, s_1_9, 8, 1, 0},
-{ 12, s_1_10, 7, 1, 0},
-{ 4, s_1_11, -1, 1, 0},
-{ 8, s_1_12, 11, 1, 0},
-{ 10, s_1_13, -1, 1, 0},
-{ 8, s_1_14, -1, 1, 0},
-{ 8, s_1_15, -1, 1, 0},
-{ 14, s_1_16, -1, 1, 0},
-{ 12, s_1_17, -1, 1, 0},
-{ 8, s_1_18, -1, 1, 0},
-{ 8, s_1_19, -1, 1, 0},
-{ 8, s_1_20, -1, 1, 0},
-{ 8, s_1_21, -1, 1, 0},
-{ 6, s_1_22, -1, 1, 0},
-{ 6, s_1_23, -1, 1, 0},
-{ 6, s_1_24, -1, 1, 0},
-{ 4, s_1_25, -1, 1, 0},
-{ 4, s_1_26, -1, 1, 0},
-{ 8, s_1_27, -1, 1, 0},
-{ 6, s_1_28, -1, 1, 0},
-{ 6, s_1_29, -1, 1, 0},
-{ 6, s_1_30, -1, 1, 0},
-{ 6, s_1_31, -1, 1, 0},
-{ 10, s_1_32, 31, 1, 0},
-{ 10, s_1_33, 31, 1, 0},
-{ 16, s_1_34, -1, 1, 0},
-{ 4, s_1_35, -1, 1, 0},
-{ 14, s_1_36, 35, 1, 0},
-{ 10, s_1_37, 35, 1, 0},
-{ 10, s_1_38, 35, 1, 0},
-{ 4, s_1_39, -1, 1, 0}
+static const struct among a_1[40] = {
+{ 10, s_1_0, 0, 1, 0},
+{ 8, s_1_1, 0, 1, 0},
+{ 8, s_1_2, 0, 1, 0},
+{ 8, s_1_3, 0, 1, 0},
+{ 6, s_1_4, 0, 1, 0},
+{ 12, s_1_5, 0, 1, 0},
+{ 10, s_1_6, 0, 1, 0},
+{ 4, s_1_7, 0, 1, 0},
+{ 6, s_1_8, -1, 1, 0},
+{ 14, s_1_9, -1, 1, 0},
+{ 12, s_1_10, -3, 1, 0},
+{ 4, s_1_11, 0, 1, 0},
+{ 8, s_1_12, -1, 1, 0},
+{ 10, s_1_13, 0, 1, 0},
+{ 8, s_1_14, 0, 1, 0},
+{ 8, s_1_15, 0, 1, 0},
+{ 14, s_1_16, 0, 1, 0},
+{ 12, s_1_17, 0, 1, 0},
+{ 8, s_1_18, 0, 1, 0},
+{ 8, s_1_19, 0, 1, 0},
+{ 8, s_1_20, 0, 1, 0},
+{ 8, s_1_21, 0, 1, 0},
+{ 6, s_1_22, 0, 1, 0},
+{ 6, s_1_23, 0, 1, 0},
+{ 6, s_1_24, 0, 1, 0},
+{ 4, s_1_25, 0, 1, 0},
+{ 4, s_1_26, 0, 1, 0},
+{ 8, s_1_27, 0, 1, 0},
+{ 6, s_1_28, 0, 1, 0},
+{ 6, s_1_29, 0, 1, 0},
+{ 6, s_1_30, 0, 1, 0},
+{ 6, s_1_31, 0, 1, 0},
+{ 10, s_1_32, -1, 1, 0},
+{ 10, s_1_33, -2, 1, 0},
+{ 16, s_1_34, 0, 1, 0},
+{ 4, s_1_35, 0, 1, 0},
+{ 14, s_1_36, -1, 1, 0},
+{ 10, s_1_37, -2, 1, 0},
+{ 10, s_1_38, -3, 1, 0},
+{ 4, s_1_39, 0, 1, 0}
 };
 
 static const symbol s_2_0[6] = { 0xD7, 0x93, 0xD7, 0x96, 0xD7, 0xA9 };
 static const symbol s_2_1[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA8 };
 static const symbol s_2_2[6] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xA9 };
 static const symbol s_2_3[6] = { 0xD7, 0xA9, 0xD7, 0xA4, 0xD7, 0xA8 };
-
-static const struct among a_2[4] =
-{
-{ 6, s_2_0, -1, -1, 0},
-{ 6, s_2_1, -1, -1, 0},
-{ 6, s_2_2, -1, -1, 0},
-{ 6, s_2_3, -1, -1, 0}
+static const struct among a_2[4] = {
+{ 6, s_2_0, 0, -1, 0},
+{ 6, s_2_1, 0, -1, 0},
+{ 6, s_2_2, 0, -1, 0},
+{ 6, s_2_3, 0, -1, 0}
 };
 
 static const symbol s_3_0[8] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0x91 };
@@ -171,35 +254,33 @@ static const symbol s_3_22[10] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x95, 0xD7, 0xA
 static const symbol s_3_23[12] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0xB1, 0xD7, 0xA8 };
 static const symbol s_3_24[8] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB1, 0xD7, 0xA8 };
 static const symbol s_3_25[8] = { 0xD7, 0xB0, 0xD7, 0x95, 0xD7, 0x98, 0xD7, 0xA9 };
-
-static const struct among a_3[26] =
-{
-{ 8, s_3_0, -1, 9, 0},
-{ 6, s_3_1, -1, 10, 0},
-{ 8, s_3_2, 1, 7, 0},
-{ 8, s_3_3, 1, 15, 0},
-{ 6, s_3_4, -1, 23, 0},
-{ 8, s_3_5, -1, 12, 0},
-{ 8, s_3_6, -1, 1, 0},
-{ 8, s_3_7, -1, 18, 0},
-{ 10, s_3_8, -1, 21, 0},
-{ 10, s_3_9, -1, 20, 0},
-{ 6, s_3_10, -1, 22, 0},
-{ 8, s_3_11, -1, 16, 0},
-{ 6, s_3_12, -1, 6, 0},
-{ 6, s_3_13, -1, 4, 0},
-{ 6, s_3_14, -1, 8, 0},
-{ 6, s_3_15, -1, 3, 0},
-{ 8, s_3_16, -1, 14, 0},
-{ 6, s_3_17, -1, 2, 0},
-{ 8, s_3_18, -1, 25, 0},
-{ 6, s_3_19, -1, 5, 0},
-{ 8, s_3_20, -1, 13, 0},
-{ 6, s_3_21, -1, 11, 0},
-{ 10, s_3_22, -1, 19, 0},
-{ 12, s_3_23, -1, 24, 0},
-{ 8, s_3_24, -1, 26, 0},
-{ 8, s_3_25, -1, 17, 0}
+static const struct among a_3[26] = {
+{ 8, s_3_0, 0, 9, 0},
+{ 6, s_3_1, 0, 10, 0},
+{ 8, s_3_2, -1, 7, 0},
+{ 8, s_3_3, -2, 15, 0},
+{ 6, s_3_4, 0, 23, 0},
+{ 8, s_3_5, 0, 12, 0},
+{ 8, s_3_6, 0, 1, 0},
+{ 8, s_3_7, 0, 18, 0},
+{ 10, s_3_8, 0, 21, 0},
+{ 10, s_3_9, 0, 20, 0},
+{ 6, s_3_10, 0, 22, 0},
+{ 8, s_3_11, 0, 16, 0},
+{ 6, s_3_12, 0, 6, 0},
+{ 6, s_3_13, 0, 4, 0},
+{ 6, s_3_14, 0, 8, 0},
+{ 6, s_3_15, 0, 3, 0},
+{ 8, s_3_16, 0, 14, 0},
+{ 6, s_3_17, 0, 2, 0},
+{ 8, s_3_18, 0, 25, 0},
+{ 6, s_3_19, 0, 5, 0},
+{ 8, s_3_20, 0, 13, 0},
+{ 6, s_3_21, 0, 11, 0},
+{ 10, s_3_22, 0, 19, 0},
+{ 12, s_3_23, 0, 24, 0},
+{ 8, s_3_24, 0, 26, 0},
+{ 8, s_3_25, 0, 17, 0}
 };
 
 static const symbol s_4_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
@@ -281,88 +362,86 @@ static const symbol s_4_75[8] = { 0xD7, 0xA2, 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA8
 static const symbol s_4_76[8] = { 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
 static const symbol s_4_77[10] = { 0xD7, 0x98, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0xA8 };
 static const symbol s_4_78[4] = { 0xD7, 0x95, 0xD7, 0xAA };
-
-static const struct among a_4[79] =
-{
-{ 6, s_4_0, -1, 1, 0},
-{ 6, s_4_1, -1, 1, 0},
-{ 2, s_4_2, -1, 1, 0},
-{ 10, s_4_3, 2, 31, 0},
-{ 4, s_4_4, 2, 1, 0},
-{ 6, s_4_5, 4, 33, 0},
-{ 4, s_4_6, 2, 1, 0},
-{ 8, s_4_7, 2, 1, 0},
-{ 6, s_4_8, 2, 1, 0},
-{ 6, s_4_9, 2, 1, 0},
-{ 8, s_4_10, 9, 1, 0},
-{ 6, s_4_11, -1, 1, 0},
-{ 8, s_4_12, 11, 1, 0},
-{ 6, s_4_13, -1, 1, 0},
-{ 4, s_4_14, -1, 1, 0},
-{ 4, s_4_15, -1, 1, 0},
-{ 8, s_4_16, 15, 3, 0},
-{ 10, s_4_17, 16, 4, 0},
-{ 2, s_4_18, -1, 1, 0},
-{ 10, s_4_19, 18, 14, 0},
-{ 8, s_4_20, 18, 15, 0},
-{ 10, s_4_21, 20, 12, 0},
-{ 10, s_4_22, 20, 7, 0},
-{ 8, s_4_23, 18, 27, 0},
-{ 10, s_4_24, 18, 17, 0},
-{ 10, s_4_25, 18, 22, 0},
-{ 12, s_4_26, 18, 25, 0},
-{ 12, s_4_27, 18, 24, 0},
-{ 8, s_4_28, 18, 26, 0},
-{ 10, s_4_29, 18, 20, 0},
-{ 8, s_4_30, 18, 11, 0},
-{ 4, s_4_31, 18, 4, 0},
-{ 10, s_4_32, 31, 9, 0},
-{ 10, s_4_33, 31, 13, 0},
-{ 10, s_4_34, 31, 8, 0},
-{ 10, s_4_35, 31, 19, 0},
-{ 6, s_4_36, 31, 1, 0},
-{ 8, s_4_37, 36, 1, 0},
-{ 6, s_4_38, 31, 1, 0},
-{ 10, s_4_39, 18, 10, 0},
-{ 10, s_4_40, 18, 18, 0},
-{ 10, s_4_41, 18, 16, 0},
-{ 4, s_4_42, 18, 1, 0},
-{ 12, s_4_43, 42, 5, 0},
-{ 8, s_4_44, 42, 1, 0},
-{ 10, s_4_45, 42, 6, 0},
-{ 10, s_4_46, 42, 1, 0},
-{ 12, s_4_47, 42, 29, 0},
-{ 12, s_4_48, 18, 23, 0},
-{ 14, s_4_49, 18, 28, 0},
-{ 10, s_4_50, 18, 30, 0},
-{ 10, s_4_51, 18, 21, 0},
-{ 6, s_4_52, 18, 5, 0},
-{ 2, s_4_53, -1, 1, 0},
-{ 4, s_4_54, 53, 4, 0},
-{ 6, s_4_55, 54, 1, 0},
-{ 4, s_4_56, 53, 1, 0},
-{ 6, s_4_57, 56, 4, 0},
-{ 6, s_4_58, 56, 3, 0},
-{ 4, s_4_59, 53, 1, 0},
-{ 6, s_4_60, 59, 2, 0},
-{ 8, s_4_61, 59, 1, 0},
-{ 6, s_4_62, 53, 1, 0},
-{ 10, s_4_63, 62, 1, 0},
-{ 2, s_4_64, -1, 1, 0},
-{ 4, s_4_65, 64, 4, 0},
-{ 6, s_4_66, 65, 1, 0},
-{ 6, s_4_67, 65, 1, 0},
-{ 4, s_4_68, 64, -1, 0},
-{ 6, s_4_69, 64, 1, 0},
-{ 6, s_4_70, 64, 3, 0},
-{ 8, s_4_71, 70, 4, 0},
-{ 4, s_4_72, -1, 1, 0},
-{ 6, s_4_73, 72, 4, 0},
-{ 8, s_4_74, 73, 1, 0},
-{ 8, s_4_75, 73, 1, 0},
-{ 8, s_4_76, 72, 3, 0},
-{ 10, s_4_77, 76, 4, 0},
-{ 4, s_4_78, -1, 32, 0}
+static const struct among a_4[79] = {
+{ 6, s_4_0, 0, 1, 0},
+{ 6, s_4_1, 0, 1, 0},
+{ 2, s_4_2, 0, 1, 0},
+{ 10, s_4_3, -1, 31, 0},
+{ 4, s_4_4, -2, 1, 0},
+{ 6, s_4_5, -1, 33, 0},
+{ 4, s_4_6, -4, 1, 0},
+{ 8, s_4_7, -5, 1, 0},
+{ 6, s_4_8, -6, 1, 0},
+{ 6, s_4_9, -7, 1, 0},
+{ 8, s_4_10, -1, 1, 0},
+{ 6, s_4_11, 0, 1, 0},
+{ 8, s_4_12, -1, 1, 0},
+{ 6, s_4_13, 0, 1, 0},
+{ 4, s_4_14, 0, 1, 0},
+{ 4, s_4_15, 0, 1, 0},
+{ 8, s_4_16, -1, 3, 0},
+{ 10, s_4_17, -1, 4, 0},
+{ 2, s_4_18, 0, 1, 0},
+{ 10, s_4_19, -1, 14, 0},
+{ 8, s_4_20, -2, 15, 0},
+{ 10, s_4_21, -1, 12, 0},
+{ 10, s_4_22, -2, 7, 0},
+{ 8, s_4_23, -5, 27, 0},
+{ 10, s_4_24, -6, 17, 0},
+{ 10, s_4_25, -7, 22, 0},
+{ 12, s_4_26, -8, 25, 0},
+{ 12, s_4_27, -9, 24, 0},
+{ 8, s_4_28, -10, 26, 0},
+{ 10, s_4_29, -11, 20, 0},
+{ 8, s_4_30, -12, 11, 0},
+{ 4, s_4_31, -13, 4, 0},
+{ 10, s_4_32, -1, 9, 0},
+{ 10, s_4_33, -2, 13, 0},
+{ 10, s_4_34, -3, 8, 0},
+{ 10, s_4_35, -4, 19, 0},
+{ 6, s_4_36, -5, 1, 0},
+{ 8, s_4_37, -1, 1, 0},
+{ 6, s_4_38, -7, 1, 0},
+{ 10, s_4_39, -21, 10, 0},
+{ 10, s_4_40, -22, 18, 0},
+{ 10, s_4_41, -23, 16, 0},
+{ 4, s_4_42, -24, 1, 0},
+{ 12, s_4_43, -1, 5, 0},
+{ 8, s_4_44, -2, 1, 0},
+{ 10, s_4_45, -3, 6, 0},
+{ 10, s_4_46, -4, 1, 0},
+{ 12, s_4_47, -5, 29, 0},
+{ 12, s_4_48, -30, 23, 0},
+{ 14, s_4_49, -31, 28, 0},
+{ 10, s_4_50, -32, 30, 0},
+{ 10, s_4_51, -33, 21, 0},
+{ 6, s_4_52, -34, 5, 0},
+{ 2, s_4_53, 0, 1, 0},
+{ 4, s_4_54, -1, 4, 0},
+{ 6, s_4_55, -1, 1, 0},
+{ 4, s_4_56, -3, 1, 0},
+{ 6, s_4_57, -1, 4, 0},
+{ 6, s_4_58, -2, 3, 0},
+{ 4, s_4_59, -6, 1, 0},
+{ 6, s_4_60, -1, 2, 0},
+{ 8, s_4_61, -2, 1, 0},
+{ 6, s_4_62, -9, 1, 0},
+{ 10, s_4_63, -1, 1, 0},
+{ 2, s_4_64, 0, 1, 0},
+{ 4, s_4_65, -1, 4, 0},
+{ 6, s_4_66, -1, 1, 0},
+{ 6, s_4_67, -2, 1, 0},
+{ 4, s_4_68, -4, -1, 0},
+{ 6, s_4_69, -5, 1, 0},
+{ 6, s_4_70, -6, 3, 0},
+{ 8, s_4_71, -1, 4, 0},
+{ 4, s_4_72, 0, 1, 0},
+{ 6, s_4_73, -1, 4, 0},
+{ 8, s_4_74, -1, 1, 0},
+{ 8, s_4_75, -2, 1, 0},
+{ 8, s_4_76, -4, 3, 0},
+{ 10, s_4_77, -1, 4, 0},
+{ 4, s_4_78, 0, 32, 0}
 };
 
 static const symbol s_5_0[6] = { 0xD7, 0x95, 0xD7, 0xA0, 0xD7, 0x92 };
@@ -371,15 +450,13 @@ static const symbol s_5_2[6] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x98 };
 static const symbol s_5_3[6] = { 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
 static const symbol s_5_4[8] = { 0xD7, 0x99, 0xD7, 0xA7, 0xD7, 0xB2, 0xD7, 0x98 };
 static const symbol s_5_5[2] = { 0xD7, 0x9C };
-
-static const struct among a_5[6] =
-{
-{ 6, s_5_0, -1, 1, 0},
-{ 8, s_5_1, -1, 1, 0},
-{ 6, s_5_2, -1, 1, 0},
-{ 6, s_5_3, -1, 1, 0},
-{ 8, s_5_4, 3, 1, 0},
-{ 2, s_5_5, -1, 2, 0}
+static const struct among a_5[6] = {
+{ 6, s_5_0, 0, 1, 0},
+{ 8, s_5_1, 0, 1, 0},
+{ 6, s_5_2, 0, 1, 0},
+{ 6, s_5_3, 0, 1, 0},
+{ 8, s_5_4, -1, 1, 0},
+{ 2, s_5_5, 0, 2, 0}
 };
 
 static const symbol s_6_0[4] = { 0xD7, 0x99, 0xD7, 0x92 };
@@ -391,18 +468,16 @@ static const symbol s_6_5[8] = { 0xD7, 0x91, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7
 static const symbol s_6_6[8] = { 0xD7, 0x92, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA7 };
 static const symbol s_6_7[6] = { 0xD7, 0xA0, 0xD7, 0x99, 0xD7, 0xA7 };
 static const symbol s_6_8[4] = { 0xD7, 0x99, 0xD7, 0xA9 };
-
-static const struct among a_6[9] =
-{
-{ 4, s_6_0, -1, 1, 0},
-{ 4, s_6_1, -1, 1, 0},
-{ 6, s_6_2, 1, 1, 0},
-{ 8, s_6_3, 2, 1, 0},
-{ 10, s_6_4, 3, 1, 0},
-{ 8, s_6_5, 1, -1, 0},
-{ 8, s_6_6, 1, -1, 0},
-{ 6, s_6_7, 1, 1, 0},
-{ 4, s_6_8, -1, 1, 0}
+static const struct among a_6[9] = {
+{ 4, s_6_0, 0, 1, 0},
+{ 4, s_6_1, 0, 1, 0},
+{ 6, s_6_2, -1, 1, 0},
+{ 8, s_6_3, -1, 1, 0},
+{ 10, s_6_4, -1, 1, 0},
+{ 8, s_6_5, -4, -1, 0},
+{ 8, s_6_6, -5, -1, 0},
+{ 6, s_6_7, -6, 1, 0},
+{ 4, s_6_8, 0, 1, 0}
 };
 
 static const unsigned char g_niked[] = { 255, 155, 6 };
@@ -411,826 +486,856 @@ static const unsigned char g_vowel[] = { 33, 2, 4, 0, 6 };
 
 static const unsigned char g_consonant[] = { 239, 254, 253, 131 };
 
-static const symbol s_0[] = { 0xD6, 0xBC };
-static const symbol s_1[] = { 0xD7, 0xB0 };
-static const symbol s_2[] = { 0xD6, 0xB4 };
-static const symbol s_3[] = { 0xD7, 0xB1 };
-static const symbol s_4[] = { 0xD6, 0xB4 };
-static const symbol s_5[] = { 0xD7, 0xB2 };
-static const symbol s_6[] = { 0xD7, 0x9B };
-static const symbol s_7[] = { 0xD7, 0x9E };
-static const symbol s_8[] = { 0xD7, 0xA0 };
-static const symbol s_9[] = { 0xD7, 0xA4 };
-static const symbol s_10[] = { 0xD7, 0xA6 };
-static const symbol s_11[] = { 0xD7, 0x92, 0xD7, 0xA2 };
-static const symbol s_12[] = { 0xD7, 0x9C, 0xD7, 0x98 };
-static const symbol s_13[] = { 0xD7, 0x91, 0xD7, 0xA0 };
-static const symbol s_14[] = { 'G', 'E' };
-static const symbol s_15[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0x92, 0xD7, 0xA0 };
-static const symbol s_16[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0x98 };
-static const symbol s_17[] = { 0xD7, 0xA6, 0xD7, 0x95, 0xD7, 0xA7, 0xD7, 0xA0 };
-static const symbol s_18[] = { 0xD7, 0x92, 0xD7, 0xA2, 0xD7, 0x91, 0xD7, 0xA0 };
-static const symbol s_19[] = { 0xD7, 0x92, 0xD7, 0xA2 };
-static const symbol s_20[] = { 'G', 'E' };
-static const symbol s_21[] = { 0xD7, 0xA6, 0xD7, 0x95 };
-static const symbol s_22[] = { 'T', 'S', 'U' };
-static const symbol s_23[] = { 0xD7, 0x99, 0xD7, 0xA2 };
-static const symbol s_24[] = { 0xD7, 0x92, 0xD7, 0xB2 };
-static const symbol s_25[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
-static const symbol s_26[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
-static const symbol s_27[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
-static const symbol s_28[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_29[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
-static const symbol s_30[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_31[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
-static const symbol s_32[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_33[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_34[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_35[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
-static const symbol s_36[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_37[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
-static const symbol s_38[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_39[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
-static const symbol s_40[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
-static const symbol s_41[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_42[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
-static const symbol s_43[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_44[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_45[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
-static const symbol s_46[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_47[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
-static const symbol s_48[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
-static const symbol s_49[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
-static const symbol s_50[] = { 0xD7, 0x98 };
-static const symbol s_51[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0x90, 0xD7, 0x9B };
-static const symbol s_52[] = { 0xD7, 0x92, 0xD7, 0xA2 };
-static const symbol s_53[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_54[] = { 0xD7, 0x92, 0xD7, 0xB2 };
-static const symbol s_55[] = { 0xD7, 0xA0, 0xD7, 0xA2, 0xD7, 0x9E };
-static const symbol s_56[] = { 0xD7, 0xA9, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_57[] = { 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0x93 };
-static const symbol s_58[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x98 };
-static const symbol s_59[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_60[] = { 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x96 };
-static const symbol s_61[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_62[] = { 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x98 };
-static const symbol s_63[] = { 0xD7, 0xA7, 0xD7, 0x9C, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_64[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_65[] = { 0xD7, 0xA8, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_66[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xB2, 0xD7, 0x92 };
-static const symbol s_67[] = { 0xD7, 0xA9, 0xD7, 0x9E, 0xD7, 0xB2, 0xD7, 0xA1 };
-static const symbol s_68[] = { 0xD7, 0xA9, 0xD7, 0xA0, 0xD7, 0xB2, 0xD7, 0x93 };
-static const symbol s_69[] = { 0xD7, 0x91, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x93 };
-static const symbol s_70[] = { 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0x98, 0xD7, 0xA9 };
-static const symbol s_71[] = { 0xD7, 0x96, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_72[] = { 0xD7, 0x98, 0xD7, 0xA8, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0xA7 };
-static const symbol s_73[] = { 0xD7, 0xA6, 0xD7, 0xB0, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_74[] = { 0xD7, 0xA9, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_75[] = { 0xD7, 0x91, 0xD7, 0xB2, 0xD7, 0x92 };
-static const symbol s_76[] = { 0xD7, 0x94, 0xD7, 0xB2, 0xD7, 0x91 };
-static const symbol s_77[] = { 0xD7, 0xA4, 0xD7, 0x90, 0xD7, 0xA8, 0xD7, 0x9C, 0xD7, 0x99, 0xD7, 0xA8 };
-static const symbol s_78[] = { 0xD7, 0xA9, 0xD7, 0x98, 0xD7, 0xB2 };
-static const symbol s_79[] = { 0xD7, 0xA9, 0xD7, 0xB0, 0xD7, 0xA2, 0xD7, 0xA8 };
-static const symbol s_80[] = { 0xD7, 0x91, 0xD7, 0xA8, 0xD7, 0xA2, 0xD7, 0xA0, 0xD7, 0x92 };
-static const symbol s_81[] = { 0xD7, 0x94 };
-static const symbol s_82[] = { 0xD7, 0x92 };
-static const symbol s_83[] = { 0xD7, 0xA9 };
-static const symbol s_84[] = { 0xD7, 0x99, 0xD7, 0xA1 };
-static const symbol s_85[] = { 'G', 'E' };
-static const symbol s_86[] = { 'T', 'S', 'U' };
-
 static int r_prelude(struct SN_env * z) {
     int among_var;
-    {   int c1 = z->c;
-        while(1) {
-            int c2 = z->c;
-            while(1) {
-                int c3 = z->c;
+    {
+        int v_1 = z->c;
+        while (1) {
+            int v_2 = z->c;
+            while (1) {
+                int v_3 = z->c;
                 z->bra = z->c;
-                among_var = find_among(z, a_0, 8);
+                among_var = find_among(z, a_0, 8, 0);
                 if (!among_var) goto lab2;
                 z->ket = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int c4 = z->c;
+                        {
+                            int v_4 = z->c;
                             if (!(eq_s(z, 2, s_0))) goto lab3;
                             goto lab2;
                         lab3:
-                            z->c = c4;
+                            z->c = v_4;
                         }
-                        {   int ret = slice_from_s(z, 2, s_1);
+                        {
+                            int ret = slice_from_s(z, 2, s_1);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int c5 = z->c;
+                        {
+                            int v_5 = z->c;
                             if (!(eq_s(z, 2, s_2))) goto lab4;
                             goto lab2;
                         lab4:
-                            z->c = c5;
+                            z->c = v_5;
                         }
-                        {   int ret = slice_from_s(z, 2, s_3);
+                        {
+                            int ret = slice_from_s(z, 2, s_3);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 3:
-                        {   int c6 = z->c;
+                        {
+                            int v_6 = z->c;
                             if (!(eq_s(z, 2, s_4))) goto lab5;
                             goto lab2;
                         lab5:
-                            z->c = c6;
+                            z->c = v_6;
                         }
-                        {   int ret = slice_from_s(z, 2, s_5);
+                        {
+                            int ret = slice_from_s(z, 2, s_5);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = slice_from_s(z, 2, s_6);
+                        {
+                            int ret = slice_from_s(z, 2, s_6);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 5:
-                        {   int ret = slice_from_s(z, 2, s_7);
+                        {
+                            int ret = slice_from_s(z, 2, s_7);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 6:
-                        {   int ret = slice_from_s(z, 2, s_8);
+                        {
+                            int ret = slice_from_s(z, 2, s_8);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 7:
-                        {   int ret = slice_from_s(z, 2, s_9);
+                        {
+                            int ret = slice_from_s(z, 2, s_9);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 8:
-                        {   int ret = slice_from_s(z, 2, s_10);
+                        {
+                            int ret = slice_from_s(z, 2, s_10);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
-                z->c = c3;
+                z->c = v_3;
                 break;
             lab2:
-                z->c = c3;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_3;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab1;
                     z->c = ret;
                 }
             }
             continue;
         lab1:
-            z->c = c2;
+            z->c = v_2;
             break;
         }
-        z->c = c1;
+        z->c = v_1;
     }
-    {   int c7 = z->c;
-        while(1) {
-            int c8 = z->c;
-            while(1) {
-                int c9 = z->c;
+    {
+        int v_7 = z->c;
+        while (1) {
+            int v_8 = z->c;
+            while (1) {
+                int v_9 = z->c;
                 z->bra = z->c;
                 if (in_grouping_U(z, g_niked, 1456, 1474, 0)) goto lab8;
                 z->ket = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                z->c = c9;
+                z->c = v_9;
                 break;
             lab8:
-                z->c = c9;
-                {   int ret = skip_utf8(z->p, z->c, z->l, 1);
+                z->c = v_9;
+                {
+                    int ret = skip_utf8(z->p, z->c, z->l, 1);
                     if (ret < 0) goto lab7;
                     z->c = ret;
                 }
             }
             continue;
         lab7:
-            z->c = c8;
+            z->c = v_8;
             break;
         }
-        z->c = c7;
+        z->c = v_7;
     }
     return 1;
 }
 
 static int r_mark_regions(struct SN_env * z) {
-    z->I[1] = z->l;
-    {   int c1 = z->c;
+    int i_x;
+    ((SN_local *)z)->i_p1 = z->l;
+    {
+        int v_1 = z->c;
         z->bra = z->c;
-        if (!(eq_s(z, 4, s_11))) { z->c = c1; goto lab0; }
+        if (!(eq_s(z, 4, s_11))) { z->c = v_1; goto lab0; }
         z->ket = z->c;
-        {   int c2 = z->c;
-            {   int c3 = z->c;
-                if (!(eq_s(z, 4, s_12))) goto lab3;
-                goto lab2;
+        {
+            int v_2 = z->c;
+            do {
+                int v_3 = z->c;
+                if (!(eq_s(z, 4, s_12))) goto lab2;
+                break;
+            lab2:
+                z->c = v_3;
+                if (!(eq_s(z, 4, s_13))) goto lab3;
+                break;
             lab3:
-                z->c = c3;
-                if (!(eq_s(z, 4, s_13))) goto lab4;
-                goto lab2;
-            lab4:
-                z->c = c3;
+                z->c = v_3;
                 if (z->c < z->l) goto lab1;
-            }
-        lab2:
-            { z->c = c1; goto lab0; }
+            } while (0);
+            { z->c = v_1; goto lab0; }
         lab1:
-            z->c = c2;
+            z->c = v_2;
         }
-        {   int ret = slice_from_s(z, 2, s_14);
+        {
+            int ret = slice_from_s(z, 2, s_14);
             if (ret < 0) return ret;
         }
     lab0:
         ;
     }
-    {   int c4 = z->c;
-        if (!find_among(z, a_1, 40)) { z->c = c4; goto lab5; }
-        {   int c5 = z->c;
-            {   int c_test6 = z->c;
-                {   int c7 = z->c;
-                    if (!(eq_s(z, 8, s_15))) goto lab9;
-                    goto lab8;
-                lab9:
-                    z->c = c7;
-                    if (!(eq_s(z, 8, s_16))) goto lab10;
-                    goto lab8;
-                lab10:
-                    z->c = c7;
-                    if (!(eq_s(z, 8, s_17))) goto lab7;
-                }
-            lab8:
-                if (z->c < z->l) goto lab7;
-                z->c = c_test6;
+    {
+        int v_4 = z->c;
+        if (!find_among(z, a_1, 40, 0)) { z->c = v_4; goto lab4; }
+        do {
+            int v_5 = z->c;
+            {
+                int v_6 = z->c;
+                do {
+                    int v_7 = z->c;
+                    if (!(eq_s(z, 8, s_15))) goto lab6;
+                    break;
+                lab6:
+                    z->c = v_7;
+                    if (!(eq_s(z, 8, s_16))) goto lab7;
+                    break;
+                lab7:
+                    z->c = v_7;
+                    if (!(eq_s(z, 8, s_17))) goto lab5;
+                } while (0);
+                if (z->c < z->l) goto lab5;
+                z->c = v_6;
             }
-            goto lab6;
-        lab7:
-            z->c = c5;
-            {   int c_test8 = z->c;
-                if (!(eq_s(z, 8, s_18))) goto lab11;
-                z->c = c_test8;
+            break;
+        lab5:
+            z->c = v_5;
+            {
+                int v_8 = z->c;
+                if (!(eq_s(z, 8, s_18))) goto lab8;
+                z->c = v_8;
             }
-            goto lab6;
-        lab11:
-            z->c = c5;
+            break;
+        lab8:
+            z->c = v_5;
             z->bra = z->c;
-            if (!(eq_s(z, 4, s_19))) goto lab12;
+            if (!(eq_s(z, 4, s_19))) goto lab9;
             z->ket = z->c;
-            {   int ret = slice_from_s(z, 2, s_20);
+            {
+                int ret = slice_from_s(z, 2, s_20);
                 if (ret < 0) return ret;
             }
-            goto lab6;
-        lab12:
-            z->c = c5;
+            break;
+        lab9:
+            z->c = v_5;
             z->bra = z->c;
-            if (!(eq_s(z, 4, s_21))) { z->c = c4; goto lab5; }
+            if (!(eq_s(z, 4, s_21))) { z->c = v_4; goto lab4; }
             z->ket = z->c;
-            {   int ret = slice_from_s(z, 3, s_22);
+            {
+                int ret = slice_from_s(z, 3, s_22);
                 if (ret < 0) return ret;
             }
-        }
-    lab6:
-    lab5:
+        } while (0);
+    lab4:
         ;
     }
-    {   int c_test9 = z->c;
-        {   int ret = skip_utf8(z->p, z->c, z->l, 3);
+    {
+        int v_9 = z->c;
+        {
+            int ret = skip_utf8(z->p, z->c, z->l, 3);
             if (ret < 0) return 0;
             z->c = ret;
         }
-        z->I[0] = z->c;
-        z->c = c_test9;
+        i_x = z->c;
+        z->c = v_9;
     }
-    {   int c10 = z->c;
-        if (z->c + 5 >= z->l || (z->p[z->c + 5] != 169 && z->p[z->c + 5] != 168)) { z->c = c10; goto lab13; }
-        if (!find_among(z, a_2, 4)) { z->c = c10; goto lab13; }
-    lab13:
+    {
+        int v_10 = z->c;
+        if (z->c + 5 >= z->l || (z->p[z->c + 5] != 169 && z->p[z->c + 5] != 168)) { z->c = v_10; goto lab10; }
+        if (!find_among(z, a_2, 4, 0)) { z->c = v_10; goto lab10; }
+    lab10:
         ;
     }
-    {   int c11 = z->c;
-        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
-        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
-        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab14;
-        z->I[1] = z->c;
+    {
+        int v_11 = z->c;
+        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab11;
+        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab11;
+        if (in_grouping_U(z, g_consonant, 1489, 1520, 0)) goto lab11;
+        ((SN_local *)z)->i_p1 = z->c;
         return 0;
-    lab14:
-        z->c = c11;
+    lab11:
+        z->c = v_11;
     }
-
-    if (out_grouping_U(z, g_vowel, 1488, 1522, 1) < 0) return 0;
-    while(1) {
-        if (in_grouping_U(z, g_vowel, 1488, 1522, 0)) goto lab15;
-        continue;
-    lab15:
-        break;
+    {
+        int ret = out_grouping_U(z, g_vowel, 1488, 1522, 1);
+        if (ret < 0) return 0;
+        z->c += ret;
     }
-    z->I[1] = z->c;
-
-    if (z->I[1] >= z->I[0]) goto lab16;
-    z->I[1] = z->I[0];
-lab16:
+    if (in_grouping_U(z, g_vowel, 1488, 1522, 1) < 0) return 0;
+    ((SN_local *)z)->i_p1 = z->c;
+    if (((SN_local *)z)->i_p1 >= i_x) goto lab12;
+    ((SN_local *)z)->i_p1 = i_x;
+lab12:
     return 1;
 }
 
 static int r_R1(struct SN_env * z) {
-    return z->I[1] <= z->c;
+    return ((SN_local *)z)->i_p1 <= z->c;
 }
 
 static int r_R1plus3(struct SN_env * z) {
-    return z->I[1] <= (z->c + 6);
+    return ((SN_local *)z)->i_p1 <= (z->c + 6);
 }
 
 static int r_standard_suffix(struct SN_env * z) {
     int among_var;
-    {   int m1 = z->l - z->c; (void)m1;
+    {
+        int v_1 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_4, 79);
+        among_var = find_among_b(z, a_4, 79, 0);
         if (!among_var) goto lab0;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R1(z);
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = r_R1(z);
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 4, s_23);
+                {
+                    int ret = slice_from_s(z, 4, s_23);
                     if (ret < 0) return ret;
                 }
                 break;
             case 3:
-                {   int ret = r_R1(z);
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 z->ket = z->c;
-                among_var = find_among_b(z, a_3, 26);
+                among_var = find_among_b(z, a_3, 26, 0);
                 if (!among_var) goto lab0;
                 z->bra = z->c;
                 switch (among_var) {
                     case 1:
-                        {   int ret = slice_from_s(z, 4, s_24);
+                        {
+                            int ret = slice_from_s(z, 4, s_24);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 2:
-                        {   int ret = slice_from_s(z, 6, s_25);
+                        {
+                            int ret = slice_from_s(z, 6, s_25);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 3:
-                        {   int ret = slice_from_s(z, 6, s_26);
+                        {
+                            int ret = slice_from_s(z, 6, s_26);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 4:
-                        {   int ret = slice_from_s(z, 6, s_27);
+                        {
+                            int ret = slice_from_s(z, 6, s_27);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 5:
-                        {   int ret = slice_from_s(z, 6, s_28);
+                        {
+                            int ret = slice_from_s(z, 6, s_28);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 6:
-                        {   int ret = slice_from_s(z, 6, s_29);
+                        {
+                            int ret = slice_from_s(z, 6, s_29);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 7:
-                        {   int ret = slice_from_s(z, 8, s_30);
+                        {
+                            int ret = slice_from_s(z, 8, s_30);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 8:
-                        {   int ret = slice_from_s(z, 6, s_31);
+                        {
+                            int ret = slice_from_s(z, 6, s_31);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 9:
-                        {   int ret = slice_from_s(z, 8, s_32);
+                        {
+                            int ret = slice_from_s(z, 8, s_32);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 10:
-                        {   int ret = slice_from_s(z, 6, s_33);
+                        {
+                            int ret = slice_from_s(z, 6, s_33);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 11:
-                        {   int ret = slice_from_s(z, 6, s_34);
+                        {
+                            int ret = slice_from_s(z, 6, s_34);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 12:
-                        {   int ret = slice_from_s(z, 8, s_35);
+                        {
+                            int ret = slice_from_s(z, 8, s_35);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 13:
-                        {   int ret = slice_from_s(z, 8, s_36);
+                        {
+                            int ret = slice_from_s(z, 8, s_36);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 14:
-                        {   int ret = slice_from_s(z, 8, s_37);
+                        {
+                            int ret = slice_from_s(z, 8, s_37);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 15:
-                        {   int ret = slice_from_s(z, 8, s_38);
+                        {
+                            int ret = slice_from_s(z, 8, s_38);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 16:
-                        {   int ret = slice_from_s(z, 8, s_39);
+                        {
+                            int ret = slice_from_s(z, 8, s_39);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 17:
-                        {   int ret = slice_from_s(z, 8, s_40);
+                        {
+                            int ret = slice_from_s(z, 8, s_40);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 18:
-                        {   int ret = slice_from_s(z, 8, s_41);
+                        {
+                            int ret = slice_from_s(z, 8, s_41);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 19:
-                        {   int ret = slice_from_s(z, 10, s_42);
+                        {
+                            int ret = slice_from_s(z, 10, s_42);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 20:
-                        {   int ret = slice_from_s(z, 10, s_43);
+                        {
+                            int ret = slice_from_s(z, 10, s_43);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 21:
-                        {   int ret = slice_from_s(z, 10, s_44);
+                        {
+                            int ret = slice_from_s(z, 10, s_44);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 22:
-                        {   int ret = slice_from_s(z, 6, s_45);
+                        {
+                            int ret = slice_from_s(z, 6, s_45);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 23:
-                        {   int ret = slice_from_s(z, 6, s_46);
+                        {
+                            int ret = slice_from_s(z, 6, s_46);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 24:
-                        {   int ret = slice_from_s(z, 12, s_47);
+                        {
+                            int ret = slice_from_s(z, 12, s_47);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 25:
-                        {   int ret = slice_from_s(z, 6, s_48);
+                        {
+                            int ret = slice_from_s(z, 6, s_48);
                             if (ret < 0) return ret;
                         }
                         break;
                     case 26:
-                        {   int ret = slice_from_s(z, 8, s_49);
+                        {
+                            int ret = slice_from_s(z, 8, s_49);
                             if (ret < 0) return ret;
                         }
                         break;
                 }
                 break;
             case 4:
-                {   int m2 = z->l - z->c; (void)m2;
-                    {   int ret = r_R1(z);
-                        if (ret == 0) goto lab2;
+                do {
+                    int v_2 = z->l - z->c;
+                    {
+                        int ret = r_R1(z);
+                        if (ret == 0) goto lab1;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                    goto lab1;
-                lab2:
-                    z->c = z->l - m2;
-                    {   int ret = slice_from_s(z, 2, s_50);
+                    break;
+                lab1:
+                    z->c = z->l - v_2;
+                    {
+                        int ret = slice_from_s(z, 2, s_50);
                         if (ret < 0) return ret;
                     }
-                }
-            lab1:
+                } while (0);
                 z->ket = z->c;
                 if (!(eq_s_b(z, 8, s_51))) goto lab0;
-                {   int m3 = z->l - z->c; (void)m3;
-                    if (!(eq_s_b(z, 4, s_52))) { z->c = z->l - m3; goto lab3; }
-                lab3:
+                {
+                    int v_3 = z->l - z->c;
+                    if (!(eq_s_b(z, 4, s_52))) { z->c = z->l - v_3; goto lab2; }
+                lab2:
                     ;
                 }
                 z->bra = z->c;
-                {   int ret = slice_from_s(z, 10, s_53);
+                {
+                    int ret = slice_from_s(z, 10, s_53);
                     if (ret < 0) return ret;
                 }
                 break;
             case 5:
-                {   int ret = slice_from_s(z, 4, s_54);
+                {
+                    int ret = slice_from_s(z, 4, s_54);
                     if (ret < 0) return ret;
                 }
                 break;
             case 6:
-                {   int ret = slice_from_s(z, 6, s_55);
+                {
+                    int ret = slice_from_s(z, 6, s_55);
                     if (ret < 0) return ret;
                 }
                 break;
             case 7:
-                {   int ret = slice_from_s(z, 8, s_56);
+                {
+                    int ret = slice_from_s(z, 8, s_56);
                     if (ret < 0) return ret;
                 }
                 break;
             case 8:
-                {   int ret = slice_from_s(z, 6, s_57);
+                {
+                    int ret = slice_from_s(z, 6, s_57);
                     if (ret < 0) return ret;
                 }
                 break;
             case 9:
-                {   int ret = slice_from_s(z, 6, s_58);
+                {
+                    int ret = slice_from_s(z, 6, s_58);
                     if (ret < 0) return ret;
                 }
                 break;
             case 10:
-                {   int ret = slice_from_s(z, 6, s_59);
+                {
+                    int ret = slice_from_s(z, 6, s_59);
                     if (ret < 0) return ret;
                 }
                 break;
             case 11:
-                {   int ret = slice_from_s(z, 6, s_60);
+                {
+                    int ret = slice_from_s(z, 6, s_60);
                     if (ret < 0) return ret;
                 }
                 break;
             case 12:
-                {   int ret = slice_from_s(z, 8, s_61);
+                {
+                    int ret = slice_from_s(z, 8, s_61);
                     if (ret < 0) return ret;
                 }
                 break;
             case 13:
-                {   int ret = slice_from_s(z, 6, s_62);
+                {
+                    int ret = slice_from_s(z, 6, s_62);
                     if (ret < 0) return ret;
                 }
                 break;
             case 14:
-                {   int ret = slice_from_s(z, 8, s_63);
+                {
+                    int ret = slice_from_s(z, 8, s_63);
                     if (ret < 0) return ret;
                 }
                 break;
             case 15:
-                {   int ret = slice_from_s(z, 6, s_64);
+                {
+                    int ret = slice_from_s(z, 6, s_64);
                     if (ret < 0) return ret;
                 }
                 break;
             case 16:
-                {   int ret = slice_from_s(z, 6, s_65);
+                {
+                    int ret = slice_from_s(z, 6, s_65);
                     if (ret < 0) return ret;
                 }
                 break;
             case 17:
-                {   int ret = slice_from_s(z, 8, s_66);
+                {
+                    int ret = slice_from_s(z, 8, s_66);
                     if (ret < 0) return ret;
                 }
                 break;
             case 18:
-                {   int ret = slice_from_s(z, 8, s_67);
+                {
+                    int ret = slice_from_s(z, 8, s_67);
                     if (ret < 0) return ret;
                 }
                 break;
             case 19:
-                {   int ret = slice_from_s(z, 8, s_68);
+                {
+                    int ret = slice_from_s(z, 8, s_68);
                     if (ret < 0) return ret;
                 }
                 break;
             case 20:
-                {   int ret = slice_from_s(z, 8, s_69);
+                {
+                    int ret = slice_from_s(z, 8, s_69);
                     if (ret < 0) return ret;
                 }
                 break;
             case 21:
-                {   int ret = slice_from_s(z, 8, s_70);
+                {
+                    int ret = slice_from_s(z, 8, s_70);
                     if (ret < 0) return ret;
                 }
                 break;
             case 22:
-                {   int ret = slice_from_s(z, 8, s_71);
+                {
+                    int ret = slice_from_s(z, 8, s_71);
                     if (ret < 0) return ret;
                 }
                 break;
             case 23:
-                {   int ret = slice_from_s(z, 10, s_72);
+                {
+                    int ret = slice_from_s(z, 10, s_72);
                     if (ret < 0) return ret;
                 }
                 break;
             case 24:
-                {   int ret = slice_from_s(z, 10, s_73);
+                {
+                    int ret = slice_from_s(z, 10, s_73);
                     if (ret < 0) return ret;
                 }
                 break;
             case 25:
-                {   int ret = slice_from_s(z, 10, s_74);
+                {
+                    int ret = slice_from_s(z, 10, s_74);
                     if (ret < 0) return ret;
                 }
                 break;
             case 26:
-                {   int ret = slice_from_s(z, 6, s_75);
+                {
+                    int ret = slice_from_s(z, 6, s_75);
                     if (ret < 0) return ret;
                 }
                 break;
             case 27:
-                {   int ret = slice_from_s(z, 6, s_76);
+                {
+                    int ret = slice_from_s(z, 6, s_76);
                     if (ret < 0) return ret;
                 }
                 break;
             case 28:
-                {   int ret = slice_from_s(z, 12, s_77);
+                {
+                    int ret = slice_from_s(z, 12, s_77);
                     if (ret < 0) return ret;
                 }
                 break;
             case 29:
-                {   int ret = slice_from_s(z, 6, s_78);
+                {
+                    int ret = slice_from_s(z, 6, s_78);
                     if (ret < 0) return ret;
                 }
                 break;
             case 30:
-                {   int ret = slice_from_s(z, 8, s_79);
+                {
+                    int ret = slice_from_s(z, 8, s_79);
                     if (ret < 0) return ret;
                 }
                 break;
             case 31:
-                {   int ret = slice_from_s(z, 10, s_80);
+                {
+                    int ret = slice_from_s(z, 10, s_80);
                     if (ret < 0) return ret;
                 }
                 break;
             case 32:
-                {   int ret = r_R1(z);
+                {
+                    int ret = r_R1(z);
                     if (ret == 0) goto lab0;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_from_s(z, 2, s_81);
+                {
+                    int ret = slice_from_s(z, 2, s_81);
                     if (ret < 0) return ret;
                 }
                 break;
             case 33:
-                {   int m4 = z->l - z->c; (void)m4;
-                    {   int m5 = z->l - z->c; (void)m5;
-                        if (!(eq_s_b(z, 2, s_82))) goto lab7;
-                        goto lab6;
-                    lab7:
-                        z->c = z->l - m5;
-                        if (!(eq_s_b(z, 2, s_83))) goto lab5;
-                    }
-                lab6:
-                    {   int m6 = z->l - z->c; (void)m6;
-                        {   int ret = r_R1plus3(z);
-                            if (ret == 0) { z->c = z->l - m6; goto lab8; }
+                do {
+                    int v_4 = z->l - z->c;
+                    do {
+                        int v_5 = z->l - z->c;
+                        if (!(eq_s_b(z, 2, s_82))) goto lab4;
+                        break;
+                    lab4:
+                        z->c = z->l - v_5;
+                        if (!(eq_s_b(z, 2, s_83))) goto lab3;
+                    } while (0);
+                    {
+                        int v_6 = z->l - z->c;
+                        {
+                            int ret = r_R1plus3(z);
+                            if (ret == 0) { z->c = z->l - v_6; goto lab5; }
                             if (ret < 0) return ret;
                         }
-                        {   int ret = slice_from_s(z, 4, s_84);
+                        {
+                            int ret = slice_from_s(z, 4, s_84);
                             if (ret < 0) return ret;
                         }
-                    lab8:
+                    lab5:
                         ;
                     }
-                    goto lab4;
-                lab5:
-                    z->c = z->l - m4;
-                    {   int ret = r_R1(z);
+                    break;
+                lab3:
+                    z->c = z->l - v_4;
+                    {
+                        int ret = r_R1(z);
                         if (ret == 0) goto lab0;
                         if (ret < 0) return ret;
                     }
-                    {   int ret = slice_del(z);
+                    {
+                        int ret = slice_del(z);
                         if (ret < 0) return ret;
                     }
-                }
-            lab4:
+                } while (0);
                 break;
         }
     lab0:
-        z->c = z->l - m1;
+        z->c = z->l - v_1;
     }
-    {   int m7 = z->l - z->c; (void)m7;
+    {
+        int v_7 = z->l - z->c;
         z->ket = z->c;
-        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((285474816 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab9;
-        among_var = find_among_b(z, a_5, 6);
-        if (!among_var) goto lab9;
+        if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 4 || !((285474816 >> (z->p[z->c - 1] & 0x1f)) & 1)) goto lab6;
+        among_var = find_among_b(z, a_5, 6, 0);
+        if (!among_var) goto lab6;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab9;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab6;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
             case 2:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab9;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab6;
                     if (ret < 0) return ret;
                 }
-                if (in_grouping_b_U(z, g_consonant, 1489, 1520, 0)) goto lab9;
-                {   int ret = slice_del(z);
+                if (in_grouping_b_U(z, g_consonant, 1489, 1520, 0)) goto lab6;
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-    lab9:
-        z->c = z->l - m7;
+    lab6:
+        z->c = z->l - v_7;
     }
-    {   int m8 = z->l - z->c; (void)m8;
+    {
+        int v_8 = z->l - z->c;
         z->ket = z->c;
-        among_var = find_among_b(z, a_6, 9);
-        if (!among_var) goto lab10;
+        among_var = find_among_b(z, a_6, 9, 0);
+        if (!among_var) goto lab7;
         z->bra = z->c;
         switch (among_var) {
             case 1:
-                {   int ret = r_R1(z);
-                    if (ret == 0) goto lab10;
+                {
+                    int ret = r_R1(z);
+                    if (ret == 0) goto lab7;
                     if (ret < 0) return ret;
                 }
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
                 break;
         }
-    lab10:
-        z->c = z->l - m8;
+    lab7:
+        z->c = z->l - v_8;
     }
-    {   int m9 = z->l - z->c; (void)m9;
-        while(1) {
-            int m10 = z->l - z->c; (void)m10;
-            while(1) {
-                int m11 = z->l - z->c; (void)m11;
+    {
+        int v_9 = z->l - z->c;
+        while (1) {
+            int v_10 = z->l - z->c;
+            while (1) {
+                int v_11 = z->l - z->c;
                 z->ket = z->c;
-                {   int m12 = z->l - z->c; (void)m12;
-                    if (!(eq_s_b(z, 2, s_85))) goto lab15;
-                    goto lab14;
-                lab15:
-                    z->c = z->l - m12;
-                    if (!(eq_s_b(z, 3, s_86))) goto lab13;
-                }
-            lab14:
+                do {
+                    int v_12 = z->l - z->c;
+                    if (!(eq_s_b(z, 2, s_85))) goto lab11;
+                    break;
+                lab11:
+                    z->c = z->l - v_12;
+                    if (!(eq_s_b(z, 3, s_86))) goto lab10;
+                } while (0);
                 z->bra = z->c;
-                {   int ret = slice_del(z);
+                {
+                    int ret = slice_del(z);
                     if (ret < 0) return ret;
                 }
-                z->c = z->l - m11;
+                z->c = z->l - v_11;
                 break;
-            lab13:
-                z->c = z->l - m11;
-                {   int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
-                    if (ret < 0) goto lab12;
+            lab10:
+                z->c = z->l - v_11;
+                {
+                    int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
+                    if (ret < 0) goto lab9;
                     z->c = ret;
                 }
             }
             continue;
-        lab12:
-            z->c = z->l - m10;
+        lab9:
+            z->c = z->l - v_10;
             break;
         }
-        z->c = z->l - m9;
+        z->c = z->l - v_9;
     }
     return 1;
 }
 
 extern int yiddish_UTF_8_stem(struct SN_env * z) {
-
-    {   int ret = r_prelude(z);
+    {
+        int ret = r_prelude(z);
         if (ret < 0) return ret;
     }
-    {   int c1 = z->c;
-        {   int ret = r_mark_regions(z);
+    {
+        int v_1 = z->c;
+        {
+            int ret = r_mark_regions(z);
             if (ret < 0) return ret;
         }
-        z->c = c1;
+        z->c = v_1;
     }
     z->lb = z->c; z->c = z->l;
-
-
-    {   int ret = r_standard_suffix(z);
+    {
+        int ret = r_standard_suffix(z);
         if (ret < 0) return ret;
     }
     z->c = z->lb;
     return 1;
 }
 
-extern struct SN_env * yiddish_UTF_8_create_env(void) { return SN_create_env(0, 2); }
+extern struct SN_env * yiddish_UTF_8_create_env(void) {
+    struct SN_env * z = SN_new_env(sizeof(SN_local));
+    if (z) {
+        ((SN_local *)z)->i_p1 = 0;
+    }
+    return z;
+}
 
-extern void yiddish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
+extern void yiddish_UTF_8_close_env(struct SN_env * z) {
+    SN_delete_env(z);
+}
 
index 8acc18541d5a8588367514789139e853d0ae2160..f441ce81dc8a025bb32ebe4ae3e3676793664850 100644 (file)
@@ -1,11 +1,27 @@
-#include "header.h"
+#include "snowball_runtime.h"
+
+#ifdef SNOWBALL_RUNTIME_THROW_EXCEPTIONS
+# include <new>
+# include <stdexcept>
+# define SNOWBALL_RETURN_OK return
+# define SNOWBALL_RETURN_OR_THROW(R, E) throw E
+# define SNOWBALL_PROPAGATE_ERR(F) F
+#else
+# define SNOWBALL_RETURN_OK return 0
+# define SNOWBALL_RETURN_OR_THROW(R, E) return R
+# define SNOWBALL_PROPAGATE_ERR(F) do { \
+        int snowball_err = F; \
+        if (snowball_err < 0) return snowball_err; \
+    } while (0)
+#endif
 
 #define CREATE_SIZE 1
 
 extern symbol * create_s(void) {
     symbol * p;
     void * mem = malloc(HEAD + (CREATE_SIZE + 1) * sizeof(symbol));
-    if (mem == NULL) return NULL;
+    if (mem == NULL)
+        SNOWBALL_RETURN_OR_THROW(NULL, std::bad_alloc());
     p = (symbol *) (HEAD + (char *) mem);
     CAPACITY(p) = CREATE_SIZE;
     SET_SIZE(p, 0);
@@ -230,7 +246,8 @@ extern int eq_v_b(struct SN_env * z, const symbol * p) {
     return eq_s_b(z, SIZE(p), p);
 }
 
-extern int find_among(struct SN_env * z, const struct among * v, int v_size) {
+extern int find_among(struct SN_env * z, const struct among * v, int v_size,
+                      int (*call_among_func)(struct SN_env*)) {
 
     int i = 0;
     int j = v_size;
@@ -277,25 +294,26 @@ extern int find_among(struct SN_env * z, const struct among * v, int v_size) {
             first_key_inspected = 1;
         }
     }
+    w = v + i;
     while (1) {
-        w = v + i;
         if (common_i >= w->s_size) {
             z->c = c + w->s_size;
-            if (w->function == NULL) return w->result;
-            {
-                int res = w->function(z);
+            if (!w->function) return w->result;
+            z->af = w->function;
+            if (call_among_func(z)) {
                 z->c = c + w->s_size;
-                if (res) return w->result;
+                return w->result;
             }
         }
-        i = w->substring_i;
-        if (i < 0) return 0;
+        if (!w->substring_i) return 0;
+        w += w->substring_i;
     }
 }
 
 /* find_among_b is for backwards processing. Same comments apply */
 
-extern int find_among_b(struct SN_env * z, const struct among * v, int v_size) {
+extern int find_among_b(struct SN_env * z, const struct among * v, int v_size,
+                        int (*call_among_func)(struct SN_env*)) {
 
     int i = 0;
     int j = v_size;
@@ -332,59 +350,49 @@ extern int find_among_b(struct SN_env * z, const struct among * v, int v_size) {
             first_key_inspected = 1;
         }
     }
+    w = v + i;
     while (1) {
-        w = v + i;
         if (common_i >= w->s_size) {
             z->c = c - w->s_size;
-            if (w->function == NULL) return w->result;
-            {
-                int res = w->function(z);
+            if (!w->function) return w->result;
+            z->af = w->function;
+            if (call_among_func(z)) {
                 z->c = c - w->s_size;
-                if (res) return w->result;
+                return w->result;
             }
         }
-        i = w->substring_i;
-        if (i < 0) return 0;
+        if (!w->substring_i) return 0;
+        w += w->substring_i;
     }
 }
 
 
 /* Increase the size of the buffer pointed to by p to at least n symbols.
- * If insufficient memory, returns NULL and frees the old buffer.
+ * On success, returns 0.  If insufficient memory, returns -1.
  */
-static symbol * increase_size(symbol * p, int n) {
-    symbol * q;
+static int increase_size(symbol ** p, int n) {
     int new_size = n + 20;
-    void * mem = realloc((char *) p - HEAD,
+    void * mem = realloc((char *) *p - HEAD,
                          HEAD + (new_size + 1) * sizeof(symbol));
-    if (mem == NULL) {
-        lose_s(p);
-        return NULL;
-    }
+    symbol * q;
+    if (mem == NULL) return -1;
     q = (symbol *) (HEAD + (char *)mem);
     CAPACITY(q) = new_size;
-    return q;
+    *p = q;
+    return 0;
 }
 
 /* to replace symbols between c_bra and c_ket in z->p by the
    s_size symbols at s.
    Returns 0 on success, -1 on error.
-   Also, frees z->p (and sets it to NULL) on error.
 */
-extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s, int * adjptr)
+extern SNOWBALL_ERR replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s)
 {
-    int adjustment;
-    int len;
-    if (z->p == NULL) {
-        z->p = create_s();
-        if (z->p == NULL) return -1;
-    }
-    adjustment = s_size - (c_ket - c_bra);
-    len = SIZE(z->p);
+    int adjustment = s_size - (c_ket - c_bra);
     if (adjustment != 0) {
+        int len = SIZE(z->p);
         if (adjustment + len > CAPACITY(z->p)) {
-            z->p = increase_size(z->p, adjustment + len);
-            if (z->p == NULL) return -1;
+            SNOWBALL_PROPAGATE_ERR(increase_size(&z->p, adjustment + len));
         }
         memmove(z->p + c_ket + adjustment,
                 z->p + c_ket,
@@ -397,82 +405,97 @@ extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const
             z->c = c_bra;
     }
     if (s_size) memmove(z->p + c_bra, s, s_size * sizeof(symbol));
-    if (adjptr != NULL)
-        *adjptr = adjustment;
-    return 0;
+    SNOWBALL_RETURN_OK;
 }
 
-static int slice_check(struct SN_env * z) {
+# define REPLACE_S(Z, B, K, SIZE, S) \
+    SNOWBALL_PROPAGATE_ERR(replace_s(Z, B, K, SIZE, S))
+
+static SNOWBALL_ERR slice_check(struct SN_env * z) {
 
     if (z->bra < 0 ||
         z->bra > z->ket ||
         z->ket > z->l ||
-        z->p == NULL ||
         z->l > SIZE(z->p)) /* this line could be removed */
     {
 #if 0
         fprintf(stderr, "faulty slice operation:\n");
         debug(z, -1, 0);
 #endif
-        return -1;
+        SNOWBALL_RETURN_OR_THROW(-1, std::logic_error("Snowball slice invalid"));
     }
-    return 0;
+    SNOWBALL_RETURN_OK;
 }
 
-extern int slice_from_s(struct SN_env * z, int s_size, const symbol * s) {
-    if (slice_check(z)) return -1;
-    return replace_s(z, z->bra, z->ket, s_size, s, NULL);
+# define SLICE_CHECK(Z) SNOWBALL_PROPAGATE_ERR(slice_check(Z))
+
+extern SNOWBALL_ERR slice_from_s(struct SN_env * z, int s_size, const symbol * s) {
+    SLICE_CHECK(z);
+    REPLACE_S(z, z->bra, z->ket, s_size, s);
+    z->ket = z->bra + s_size;
+    SNOWBALL_RETURN_OK;
 }
 
-extern int slice_from_v(struct SN_env * z, const symbol * p) {
+extern SNOWBALL_ERR slice_from_v(struct SN_env * z, const symbol * p) {
     return slice_from_s(z, SIZE(p), p);
 }
 
-extern int slice_del(struct SN_env * z) {
-    return slice_from_s(z, 0, NULL);
+extern SNOWBALL_ERR slice_del(struct SN_env * z) {
+    SLICE_CHECK(z);
+    {
+        int slice_size = z->ket - z->bra;
+        if (slice_size != 0) {
+            int len = SIZE(z->p);
+            memmove(z->p + z->bra,
+                    z->p + z->ket,
+                    (len - z->ket) * sizeof(symbol));
+            SET_SIZE(z->p, len - slice_size);
+            z->l -= slice_size;
+            if (z->c >= z->ket)
+                z->c -= slice_size;
+            else if (z->c > z->bra)
+                z->c = z->bra;
+        }
+    }
+    z->ket = z->bra;
+    SNOWBALL_RETURN_OK;
 }
 
-extern int insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbol * s) {
-    int adjustment;
-    if (replace_s(z, bra, ket, s_size, s, &adjustment))
-        return -1;
-    if (bra <= z->bra) z->bra += adjustment;
-    if (bra <= z->ket) z->ket += adjustment;
-    return 0;
+extern SNOWBALL_ERR insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbol * s) {
+    REPLACE_S(z, bra, ket, s_size, s);
+    if (bra <= z->ket) {
+        int adjustment = s_size - (ket - bra);
+        z->ket += adjustment;
+        if (bra <= z->bra) z->bra += adjustment;
+    }
+    SNOWBALL_RETURN_OK;
 }
 
-extern int insert_v(struct SN_env * z, int bra, int ket, const symbol * p) {
+extern SNOWBALL_ERR insert_v(struct SN_env * z, int bra, int ket, const symbol * p) {
     return insert_s(z, bra, ket, SIZE(p), p);
 }
 
-extern symbol * slice_to(struct SN_env * z, symbol * p) {
-    if (slice_check(z)) {
-        lose_s(p);
-        return NULL;
-    }
+extern SNOWBALL_ERR slice_to(struct SN_env * z, symbol ** p) {
+    SLICE_CHECK(z);
     {
         int len = z->ket - z->bra;
-        if (CAPACITY(p) < len) {
-            p = increase_size(p, len);
-            if (p == NULL)
-                return NULL;
+        if (CAPACITY(*p) < len) {
+            SNOWBALL_PROPAGATE_ERR(increase_size(p, len));
         }
-        memmove(p, z->p + z->bra, len * sizeof(symbol));
-        SET_SIZE(p, len);
+        memmove(*p, z->p + z->bra, len * sizeof(symbol));
+        SET_SIZE(*p, len);
     }
-    return p;
+    SNOWBALL_RETURN_OK;
 }
 
-extern symbol * assign_to(struct SN_env * z, symbol * p) {
+extern SNOWBALL_ERR assign_to(struct SN_env * z, symbol ** p) {
     int len = z->l;
-    if (CAPACITY(p) < len) {
-        p = increase_size(p, len);
-        if (p == NULL)
-            return NULL;
+    if (CAPACITY(*p) < len) {
+        SNOWBALL_PROPAGATE_ERR(increase_size(p, len));
     }
-    memmove(p, z->p, len * sizeof(symbol));
-    SET_SIZE(p, len);
-    return p;
+    memmove(*p, z->p, len * sizeof(symbol));
+    SET_SIZE(*p, len);
+    SNOWBALL_RETURN_OK;
 }
 
 extern int len_utf8(const symbol * p) {
@@ -484,25 +507,3 @@ extern int len_utf8(const symbol * p) {
     }
     return len;
 }
-
-#if 0
-extern void debug(struct SN_env * z, int number, int line_count) {
-    int i;
-    int limit = SIZE(z->p);
-    /*if (number >= 0) printf("%3d (line %4d): '", number, line_count);*/
-    if (number >= 0) printf("%3d (line %4d): [%d]'", number, line_count,limit);
-    for (i = 0; i <= limit; i++) {
-        if (z->lb == i) printf("{");
-        if (z->bra == i) printf("[");
-        if (z->c == i) printf("|");
-        if (z->ket == i) printf("]");
-        if (z->l == i) printf("}");
-        if (i < limit)
-        {   int ch = z->p[i];
-            if (ch == 0) ch = '#';
-            printf("%c", ch);
-        }
-    }
-    printf("'\n");
-}
-#endif
index d8aa766208c48363dee1f83e7d7b3127d0bfccf9..265206052c74075740c159aeccfb4d2cd8e1efc7 100644 (file)
@@ -11,6 +11,7 @@ dict_snowball_sources += files(
   'libstemmer/stem_ISO_8859_1_catalan.c',
   'libstemmer/stem_ISO_8859_1_danish.c',
   'libstemmer/stem_ISO_8859_1_dutch.c',
+  'libstemmer/stem_ISO_8859_1_dutch_porter.c',
   'libstemmer/stem_ISO_8859_1_english.c',
   'libstemmer/stem_ISO_8859_1_finnish.c',
   'libstemmer/stem_ISO_8859_1_french.c',
@@ -24,6 +25,7 @@ dict_snowball_sources += files(
   'libstemmer/stem_ISO_8859_1_spanish.c',
   'libstemmer/stem_ISO_8859_1_swedish.c',
   'libstemmer/stem_ISO_8859_2_hungarian.c',
+  'libstemmer/stem_ISO_8859_2_polish.c',
   'libstemmer/stem_KOI8_R_russian.c',
   'libstemmer/stem_UTF_8_arabic.c',
   'libstemmer/stem_UTF_8_armenian.c',
@@ -31,7 +33,9 @@ dict_snowball_sources += files(
   'libstemmer/stem_UTF_8_catalan.c',
   'libstemmer/stem_UTF_8_danish.c',
   'libstemmer/stem_UTF_8_dutch.c',
+  'libstemmer/stem_UTF_8_dutch_porter.c',
   'libstemmer/stem_UTF_8_english.c',
+  'libstemmer/stem_UTF_8_esperanto.c',
   'libstemmer/stem_UTF_8_estonian.c',
   'libstemmer/stem_UTF_8_finnish.c',
   'libstemmer/stem_UTF_8_french.c',
@@ -45,6 +49,7 @@ dict_snowball_sources += files(
   'libstemmer/stem_UTF_8_lithuanian.c',
   'libstemmer/stem_UTF_8_nepali.c',
   'libstemmer/stem_UTF_8_norwegian.c',
+  'libstemmer/stem_UTF_8_polish.c',
   'libstemmer/stem_UTF_8_porter.c',
   'libstemmer/stem_UTF_8_portuguese.c',
   'libstemmer/stem_UTF_8_romanian.c',
@@ -57,7 +62,7 @@ dict_snowball_sources += files(
   'libstemmer/stem_UTF_8_yiddish.c',
 )
 
-# see comment in src/include/snowball/header.h
+# see comment in src/include/snowball/snowball_runtime.h
 stemmer_inc = include_directories('../../include/snowball')
 
 if host_system == 'windows'
index 7b92e68e4fd2dfeec4ea6fdf652435640e9357c9..3043f1117e57ab13adef0d3f7f00593bb6d66b75 100644 (file)
@@ -19,6 +19,7 @@ our @languages = qw(
   danish
   dutch
   english
+  esperanto
   estonian
   finnish
   french
@@ -32,6 +33,7 @@ our @languages = qw(
   lithuanian
   nepali
   norwegian
+  polish
   portuguese
   romanian
   russian
index 51b725e709cb060c22766c7fbdcf990f2bd22ab3..a3980e5535f05137a96382fe27d5693a3c280a33 100644 (file)
@@ -910,6 +910,8 @@ static const struct tsearch_config_match tsearch_config_languages[] =
        {"nepali", "Nepali"},
        {"norwegian", "no"},
        {"norwegian", "Norwegian"},
+       {"polish", "pl"},
+       {"polish", "Polish"},
        {"portuguese", "pt"},
        {"portuguese", "Portuguese"},
        {"romanian", "ro"},
index ba9d1c14bcae1f6e14a6d1154199099858e8a551..83e29142ffc05e9030c95fbfc80245741946a278 100644 (file)
@@ -1,3 +1,5 @@
+#ifndef SNOWBALL_API_H_INCLUDED
+#define SNOWBALL_API_H_INCLUDED
 
 typedef unsigned char symbol;
 
@@ -5,28 +7,28 @@ typedef unsigned char symbol;
 
    More precisely, replace 'char' with whatever type guarantees the
    character width you need. Note however that sizeof(symbol) should divide
-   HEAD, defined in header.h as 2*sizeof(int), without remainder, otherwise
-   there is an alignment problem. In the unlikely event of a problem here,
-   consult Martin Porter.
-
+   HEAD, defined in snowball_runtime.h as 2*sizeof(int), without remainder,
+   otherwise there is an alignment problem. In the unlikely event of a problem
+   here, consult Martin Porter.
 */
 
 struct SN_env {
     symbol * p;
     int c; int l; int lb; int bra; int ket;
-    symbol * * S;
-    int * I;
+    int af;
 };
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-extern struct SN_env * SN_create_env(int S_size, int I_size);
-extern void SN_close_env(struct SN_env * z, int S_size);
+extern struct SN_env * SN_new_env(int alloc_size);
+extern void SN_delete_env(struct SN_env * z);
 
 extern int SN_set_current(struct SN_env * z, int size, const symbol * s);
 
 #ifdef __cplusplus
 }
 #endif
+
+#endif
diff --git a/src/include/snowball/libstemmer/header.h b/src/include/snowball/libstemmer/header.h
deleted file mode 100644 (file)
index bf172d5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#include <limits.h>
-
-#include "api.h"
-
-#define MAXINT INT_MAX
-#define MININT INT_MIN
-
-#define HEAD 2*sizeof(int)
-
-#define SIZE(p)        ((int *)(p))[-1]
-#define SET_SIZE(p, n) ((int *)(p))[-1] = n
-#define CAPACITY(p)    ((int *)(p))[-2]
-
-struct among
-{   int s_size;     /* number of chars in string */
-    const symbol * s;       /* search string */
-    int substring_i;/* index to longest matching substring */
-    int result;     /* result of the lookup */
-    int (* function)(struct SN_env *);
-};
-
-extern symbol * create_s(void);
-extern void lose_s(symbol * p);
-
-extern int skip_utf8(const symbol * p, int c, int limit, int n);
-
-extern int skip_b_utf8(const symbol * p, int c, int limit, int n);
-
-extern int in_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int in_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int out_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-
-extern int in_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int in_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int out_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-extern int out_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
-
-extern int eq_s(struct SN_env * z, int s_size, const symbol * s);
-extern int eq_s_b(struct SN_env * z, int s_size, const symbol * s);
-extern int eq_v(struct SN_env * z, const symbol * p);
-extern int eq_v_b(struct SN_env * z, const symbol * p);
-
-extern int find_among(struct SN_env * z, const struct among * v, int v_size);
-extern int find_among_b(struct SN_env * z, const struct among * v, int v_size);
-
-extern int replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s, int * adjustment);
-extern int slice_from_s(struct SN_env * z, int s_size, const symbol * s);
-extern int slice_from_v(struct SN_env * z, const symbol * p);
-extern int slice_del(struct SN_env * z);
-
-extern int insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbol * s);
-extern int insert_v(struct SN_env * z, int bra, int ket, const symbol * p);
-
-extern symbol * slice_to(struct SN_env * z, symbol * p);
-extern symbol * assign_to(struct SN_env * z, symbol * p);
-
-extern int len_utf8(const symbol * p);
-
-extern void debug(struct SN_env * z, int number, int line_count);
diff --git a/src/include/snowball/libstemmer/snowball_runtime.h b/src/include/snowball/libstemmer/snowball_runtime.h
new file mode 100644 (file)
index 0000000..cc135da
--- /dev/null
@@ -0,0 +1,109 @@
+#ifndef SNOWBALL_INCLUDED_SNOWBALL_RUNTIME_H
+#define SNOWBALL_INCLUDED_SNOWBALL_RUNTIME_H
+
+#include "api.h"
+
+#define HEAD 2*sizeof(int)
+
+#ifdef __cplusplus
+/* Use reinterpret_cast<> to avoid -Wcast-align warnings from clang++. */
+# define SIZE(p)        (reinterpret_cast<const int *>(p))[-1]
+# define SET_SIZE(p, n) (reinterpret_cast<int *>(p))[-1] = n
+# define CAPACITY(p)    (reinterpret_cast<int *>(p))[-2]
+#else
+# define SIZE(p)        ((const int *)(p))[-1]
+# define SET_SIZE(p, n) ((int *)(p))[-1] = n
+# define CAPACITY(p)    ((int *)(p))[-2]
+#endif
+
+#ifdef SNOWBALL_RUNTIME_THROW_EXCEPTIONS
+# define SNOWBALL_ERR void
+#else
+# define SNOWBALL_ERR int
+#endif
+
+#ifdef SNOWBALL_DEBUG_COMMAND_USED
+# include <stdio.h>
+static void debug(struct SN_env * z, int number, int line_count) {
+    int i;
+    int limit = SIZE(z->p);
+    if (number >= 0) printf("%3d (line %4d): [%d]'", number, line_count, limit);
+    for (i = 0; i <= limit; i++) {
+        if (z->lb == i) printf("{");
+        if (z->bra == i) printf("[");
+        if (z->c == i) printf("|");
+        if (z->ket == i) printf("]");
+        if (z->l == i) printf("}");
+        if (i < limit) {
+            int ch = z->p[i];
+            if (ch == 0) ch = '#';
+            printf("%c", ch);
+        }
+    }
+    printf("'\n");
+}
+#endif
+
+struct among
+{
+    /* Number of symbols in s. */
+    int s_size;
+    /* Search string. */
+    const symbol * s;
+    /* Delta of index to longest matching substring, or 0 if none. */
+    int substring_i;
+    /* Result of the lookup. */
+    int result;
+    /* Optional condition routine index, or 0 if none. */
+    int function;
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern symbol * create_s(void);
+extern void lose_s(symbol * p);
+
+extern int skip_utf8(const symbol * p, int c, int limit, int n);
+
+extern int skip_b_utf8(const symbol * p, int c, int limit, int n);
+
+extern int in_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int in_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_b_U(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+
+extern int in_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int in_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+extern int out_grouping_b(struct SN_env * z, const unsigned char * s, int min, int max, int repeat);
+
+extern int eq_s(struct SN_env * z, int s_size, const symbol * s);
+extern int eq_s_b(struct SN_env * z, int s_size, const symbol * s);
+extern int eq_v(struct SN_env * z, const symbol * p);
+extern int eq_v_b(struct SN_env * z, const symbol * p);
+
+extern int find_among(struct SN_env * z, const struct among * v, int v_size,
+                      int (*)(struct SN_env *));
+extern int find_among_b(struct SN_env * z, const struct among * v, int v_size,
+                        int (*)(struct SN_env *));
+
+extern SNOWBALL_ERR replace_s(struct SN_env * z, int c_bra, int c_ket, int s_size, const symbol * s);
+extern SNOWBALL_ERR slice_from_s(struct SN_env * z, int s_size, const symbol * s);
+extern SNOWBALL_ERR slice_from_v(struct SN_env * z, const symbol * p);
+extern SNOWBALL_ERR slice_del(struct SN_env * z);
+
+extern SNOWBALL_ERR insert_s(struct SN_env * z, int bra, int ket, int s_size, const symbol * s);
+extern SNOWBALL_ERR insert_v(struct SN_env * z, int bra, int ket, const symbol * p);
+
+extern SNOWBALL_ERR slice_to(struct SN_env * z, symbol ** p);
+extern SNOWBALL_ERR assign_to(struct SN_env * z, symbol ** p);
+
+extern int len_utf8(const symbol * p);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
index bffb6e9043e1920695b59ef1c2c0ab1f47fae923..69f56be5e453c637e07ef2de03979e88289c932b 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from basque.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int basque_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 96e97ddfa2a7b4585852802701930d6823622e52..814d4688121645f46b95c6d24312b7516f1ecf4b 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from catalan.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int catalan_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 965436d9a1e259220113a117c63fd31740ae4bbc..e6cc56d8a6c02a17fcd81513ed767c8483b01edd 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from danish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int danish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 64f1c6d916329e3a8b0198a13be95a72f001a1bb..68fec2aae675a4ebfc97f1052bd92315f3edcbb8 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int dutch_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.h b/src/include/snowball/libstemmer/stem_ISO_8859_1_dutch_porter.h
new file mode 100644 (file)
index 0000000..77b1374
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from dutch_porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * dutch_porter_ISO_8859_1_create_env(void);
+extern void dutch_porter_ISO_8859_1_close_env(struct SN_env * z);
+
+extern int dutch_porter_ISO_8859_1_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
index ea90984b0024643d4f5536f9073e90313ea318e3..b941db11c73b37c717b3a42b5d809dc51dc144b4 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from english.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int english_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 2c80e4cdead31e67e2687f2af1e7dda905b5b0b1..4149cc2883d94fd4a7ae2738eb071e08423ddf9e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from finnish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int finnish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 1febb49d20448fb08834e4576ec9ce72f1e1b0a3..512a38e29e92440d4fa674e5f64fb6aa99b8795d 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from french.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int french_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 98696bb336dc9ab86f24381c57c957f8da49b96a..6918eb3bf6d263d162a8a865dd37183297740a63 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from german.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int german_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index d998b41b2cfb82ccedff20e786527f45e8bbd2e1..2992337eb29674814c7289a099c7a065f8921c67 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from indonesian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int indonesian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index d91d231790614d89b38d843c45b2c260af7e7622..510b789a158479f440f31e9c26e71a4d582487a0 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from irish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int irish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 22950bd2347ebe6636196869d2e2178c99b6d734..a9ca0fe03d17dfcd1921c17e395f797306b4b748 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from italian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int italian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 53930960569253f0f823fc72cf1f0cd2295621cd..b0d18c120e42b9299171b77a52da1088a5e6a343 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from norwegian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int norwegian_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index f504be101a60f77408f17273e1dc88cc9c9fd6e6..b13b72bbb7b608a7fd017f68441e24e01b6b2be3 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int porter_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index c7b517c0912749233c52fa362f5ac604cdc063a9..f52c3fe84cc535d6c3a1f183c72e1a499429acf3 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from portuguese.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int portuguese_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index b066b4fc26fa2ba0cba5f8ba2f88bba4b5e1d46b..a922ab69091f5ac1ed7e1ae4236844910142f8d5 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from spanish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int spanish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 7b5ec75523c744831732aa43a104f75dc7a0f158..f99edb42def530ae9c798e210f471707d44621c8 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from swedish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int swedish_ISO_8859_1_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index be6ebf685ab2ba3a1838b8ad89ece116ecabeac7..3415405822eff3983bcf1c22d9c65c6bc94057cb 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hungarian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int hungarian_ISO_8859_2_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
diff --git a/src/include/snowball/libstemmer/stem_ISO_8859_2_polish.h b/src/include/snowball/libstemmer/stem_ISO_8859_2_polish.h
new file mode 100644 (file)
index 0000000..9386248
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from polish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * polish_ISO_8859_2_create_env(void);
+extern void polish_ISO_8859_2_close_env(struct SN_env * z);
+
+extern int polish_ISO_8859_2_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
index 42a8518b953fb8ab87d3697d7bf66bdae6f74cf1..3ddc608b0cab3bd131aec60430c68f0330c0506d 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from russian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int russian_KOI8_R_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index cad02f3453a920a3d9226b3aa7abbce88ba88af0..ad239f8fb035d411f276e251afcb48e07178588e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from arabic.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int arabic_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 793fd09e6c07abe1c3c4890be99584dc6ca75636..c49bc6878062a4fec1374505a25edfa8779fb333 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from armenian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int armenian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 79ddc983af478d420bee2685c77e74428f09f748..f7d8afceac9ffd9e055ec4defe8bf5dbdeb05f68 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from basque.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int basque_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 58c9995d71c61bd7e6ee43c12dc2e634daa28ebe..b1475478fb6a025d76e4ab761a2d227b594f2d73 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from catalan.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int catalan_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index a5084dc60f228b1fd35771bde415175178291ca7..12bc0b9b5fd5558b2c554bc2f46ed1f1fe00bdc8 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from danish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int danish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 16cb995413f1fab6e47bbce909c2ece22b04ff35..d1d1b490cbd8ad1ed35bf4d5db95732e88a67e75 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from dutch.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int dutch_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_dutch_porter.h b/src/include/snowball/libstemmer/stem_UTF_8_dutch_porter.h
new file mode 100644 (file)
index 0000000..274efcf
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from dutch_porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * dutch_porter_UTF_8_create_env(void);
+extern void dutch_porter_UTF_8_close_env(struct SN_env * z);
+
+extern int dutch_porter_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
index 11fa090e7dbe4936d588bd523f5053dc196ba872..00370d6534e040be72411b5711045bc86339551e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from english.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int english_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_esperanto.h b/src/include/snowball/libstemmer/stem_UTF_8_esperanto.h
new file mode 100644 (file)
index 0000000..55b89f9
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from esperanto.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * esperanto_UTF_8_create_env(void);
+extern void esperanto_UTF_8_close_env(struct SN_env * z);
+
+extern int esperanto_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
index 9b9deb18a0ebe04b8ac43e0ec657f81c7bda2d0b..2b332b4abfa5eae7e43def6b7849e4eec4aefaac 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from estonian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int estonian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index eebaa2de9e939e3c45fbf607bf5b87a5f2b125ea..0085a0486fd8cdb0a69341dc1333704652fba57b 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from finnish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int finnish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 22158b07c78d395dc2ac28e9787d19bf35ad8208..a0d3e720aa271e8bbf7716ffc197064075298bcb 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from french.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int french_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index f276c53b265c64cf1a903d4925af4eb65fdd0c68..91973781f9fc59e132ca6ef68fe9804b61e93709 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from german.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int german_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 77667a31f009a42eec095ed268b5a906f2edccbb..4ef70ded0587559d90efc3366b0c8032b6ca2bac 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from greek.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int greek_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index bbc2e9b72313a45eacbef2ab42d8e5011372c349..b782f01fbbb7178cec4847173c3227dbd394b228 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hindi.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int hindi_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index cc29d77b9975f08fc0d14ea6ae635eacdde193eb..e78b827ebdc6c7e7ae0f2a76d3cf0dd2ca5d5bf3 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from hungarian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int hungarian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 9f51324ca92708a22d141d561fb2a30734d95dce..aefdbc879c416dc89f7413f1acdb9f40163fda82 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from indonesian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int indonesian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index f06da96d4c7a01d80e2511f91cc855f3c8ae7fd4..75977919cae10b517c5618544c8568bda85c5169 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from irish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int irish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index f00dcaa5dc107ff988e65977bb3ef6be78f20254..4e1b4d2722e53555e075cf60c597717dbeb11626 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from italian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int italian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index e62ff1c9d581552bcd13e0dddcb09a91599ecd06..1212880569fe1a4b35adad825f1ba957ee2234ed 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from lithuanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int lithuanian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index f8f50af8a0c2167e1c83e7b2149ce5d71b0f64f8..9fe033a56eac95a51e12c4eb326eb2c8ddd7393d 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from nepali.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int nepali_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 72aab40230d07330668635700833e89ee8d8acfa..38079671067bb066deeebcd1e6c6dc8bc07d6038 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from norwegian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int norwegian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
diff --git a/src/include/snowball/libstemmer/stem_UTF_8_polish.h b/src/include/snowball/libstemmer/stem_UTF_8_polish.h
new file mode 100644 (file)
index 0000000..4e27da4
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from polish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern struct SN_env * polish_UTF_8_create_env(void);
+extern void polish_UTF_8_close_env(struct SN_env * z);
+
+extern int polish_UTF_8_stem(struct SN_env * z);
+
+#ifdef __cplusplus
+}
+#endif
index 00685b2c96ad1608ed03fc47e7ad9b24facab3f2..feaf9ef32d457cb1bf0eee6246d9679c2537e8bd 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from porter.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int porter_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 7be43352c14e3044ec0200b4998cbb0e2c8a17a4..d717ad7565fcb3da7f136992cad8ecf4f996b308 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from portuguese.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int portuguese_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index c93cd335b90bc31e259a82a2ec6a7d2c90a83c8d..4e765d931465bcc1ccb94964597b75ccff12757e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from romanian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int romanian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index ca1d88216ca4286997484c04e344054b3fb63114..64815b733674dbb8d8837260a3f55fc93d539f00 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from russian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int russian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 1df04f64674e3432f9a79f2eab207d66bcea2189..941b87cf625c3311b711a85e88db175df296059f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from serbian.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int serbian_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index dfd8dc3649d7fa005673ff7c2e52483d551b321d..8b7b65f18ac371769523d76e8cb353c1e8cb0a1a 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from spanish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int spanish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index ca08a64750ecff98c38925f781892d8c39ec7ea6..c89bae80c3a376b814446819fc1d90031274a0a8 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from swedish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int swedish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 5f5ae352baa1c23203579c226ac63d1124b4180b..08d2958a4424f1b507752ee5ef961acf3fbd53e1 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from tamil.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int tamil_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 68405929c3bae7abb9ecf85287d32fff87649992..7b3f0defb4cf6ba94aa8fa3090b676275c7fc51a 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from turkish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int turkish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
index 55b66256a27aca8a544a20e617b019404c36ddb4..863338592280083c840b697b7d05231d6d0f7300 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
+/* Generated from yiddish.sbl by Snowball 3.0.0 - https://snowballstem.org/ */
 
 #ifdef __cplusplus
 extern "C" {
@@ -12,4 +12,3 @@ extern int yiddish_UTF_8_stem(struct SN_env * z);
 #ifdef __cplusplus
 }
 #endif
-
similarity index 70%
rename from src/include/snowball/header.h
rename to src/include/snowball/snowball_runtime.h
index 240295485f8fff5c88719edbb6231fd66af73ec8..a8f8947c356773579a03e18142cbf760b526a2c0 100644 (file)
@@ -1,12 +1,12 @@
 /*-------------------------------------------------------------------------
  *
- * header.h
+ * snowball_runtime.h
  *             Replacement header file for Snowball stemmer modules
  *
- * The Snowball stemmer modules do #include "header.h", and think they
- * are including snowball/libstemmer/header.h.  We adjust the CPPFLAGS
- * so that this file is found instead, and thereby we can modify the
- * headers they see.  The main point here is to ensure that pg_config.h
+ * The Snowball stemmer modules do #include "snowball_runtime.h", and think
+ * they are including snowball/libstemmer/snowball_runtime.h.  We adjust
+ * the CPPFLAGS so that this file is found instead, and thereby we can modify
+ * the headers they see.  The main point here is to ensure that pg_config.h
  * is included before any system headers such as <stdio.h>; without that,
  * we have portability issues on some platforms due to variation in
  * largefile options across different modules in the backend.
  *
  * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
  *
- * src/include/snowball/header.h
+ * src/include/snowball/snowball_runtime.h
  *
  *-------------------------------------------------------------------------
  */
-#ifndef SNOWBALL_HEADR_H
-#define SNOWBALL_HEADR_H
+#ifndef PG_SNOWBALL_RUNTIME_H
+#define PG_SNOWBALL_RUNTIME_H
 
 /*
  * It's against Postgres coding conventions to include postgres.h in a
@@ -37,8 +37,8 @@
 #undef MININT
 #endif
 
-/* Now we can include the original Snowball header.h */
-#include "snowball/libstemmer/header.h"
+/* Now we can include the original Snowball snowball_runtime.h */
+#include "snowball/libstemmer/snowball_runtime.h"
 
 /*
  * Redefine standard memory allocation interface to pgsql's one.
@@ -64,4 +64,4 @@
 #endif
 #define free(a)                        pfree(a)
 
-#endif                                                 /* SNOWBALL_HEADR_H */
+#endif                                                 /* PG_SNOWBALL_RUNTIME_H */