diff mbox series

[meta-oe,kirkstone] sip3: Fix segmentation fault

Message ID 20240603192334.3006781-1-rob.woolley@windriver.com
State New
Headers show
Series [meta-oe,kirkstone] sip3: Fix segmentation fault | expand

Commit Message

Rob Woolley June 3, 2024, 7:23 p.m. UTC
The first version of this patch introduced a problem with python3-pyqt5.
Python emitted the following error message when one attempted to import
PyQt5.Qt:

  ImportError: dynamic module does not define module export function (PyInit_Qt)

This came about due to segfault in sip when executed in do_configure of
python3-pyqt5.  This resulted in a zero-length sipQtcmodule.c file being
produced.  This compiled successfully which meant no build failure was
observed.

The segfault was caused by a mistake in backporting the patch from SIP 6.
The generateCompositeCpp() function uses the generate_include_sip_h()
helper function in later versions which doesn't exist in SIP 4.

We must replace the first parameter passed to isPY_SSIZE_T_CLEAN() from
mod to pt->module to account for this. The change is not necessary for
generateInternalAPIHeader()

To simplify the patch we can remove the generated lexer and parser files
and run flex and bison in do_configure instead.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Tested-by: Toby Flynn <campingandskiing@gmail.com>
---
 ...ean-argument-to-the-module-directive.patch | 17433 +---------------
 meta-oe/recipes-devtools/sip/sip3_4.19.23.bb  |     7 +-
 2 files changed, 28 insertions(+), 17412 deletions(-)

Comments

Rob Woolley June 24, 2024, 7:17 p.m. UTC | #1
Hi,

Are there any questions about this patch?

Regards,
Rob

On Mon, Jun 3, 2024 at 3:23 PM Rob Woolley via lists.openembedded.org
<rob.woolley=windriver.com@lists.openembedded.org> wrote:

> The first version of this patch introduced a problem with python3-pyqt5.
> Python emitted the following error message when one attempted to import
> PyQt5.Qt:
>
>   ImportError: dynamic module does not define module export function
> (PyInit_Qt)
>
> This came about due to segfault in sip when executed in do_configure of
> python3-pyqt5.  This resulted in a zero-length sipQtcmodule.c file being
> produced.  This compiled successfully which meant no build failure was
> observed.
>
> The segfault was caused by a mistake in backporting the patch from SIP 6.
> The generateCompositeCpp() function uses the generate_include_sip_h()
> helper function in later versions which doesn't exist in SIP 4.
>
> We must replace the first parameter passed to isPY_SSIZE_T_CLEAN() from
> mod to pt->module to account for this. The change is not necessary for
> generateInternalAPIHeader()
>
> To simplify the patch we can remove the generated lexer and parser files
> and run flex and bison in do_configure instead.
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> Tested-by: Toby Flynn <campingandskiing@gmail.com>
> ---
>  ...ean-argument-to-the-module-directive.patch | 17433 +---------------
>  meta-oe/recipes-devtools/sip/sip3_4.19.23.bb  |     7 +-
>  2 files changed, 28 insertions(+), 17412 deletions(-)
>
> diff --git
> a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> index d7ed0770b..53c3ed016 100644
> ---
> a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> +++
> b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> @@ -1,35 +1,46 @@
>  Added the 'py_ssize_t_clean' argument to '%Module' directive
>
>  This is based on an upstream changeset to SIP.  It was backported to
> -sip-4.19.23 and the parser was regenerated with the following
> +sip-4.19.23 and the parser must be regenerated with the following
>  commands:
>
> -  cd sipgen/metasrc
> -  flex -o../lexer.c lexer.l
> -  bison -y -d -o ../parser.c parser.y
> +  flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l
> +  bison --yacc -Wcounterexamples --defines=sipgen/parser.h \
> +        --output=sipgen/parser.c sipgen/metasrc/parser.y
>
>  Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
>
> -# HG changeset patch
> -# User Phil Thompson <phil@riverbankcomputing.com>
> -# Date 1635086052 -3600
> -# Node ID 5d67349bb5a9954590a896ab35da93b2237b99c2
> -# Parent  d837f2a3147fc5eb364f1c54798b668da1a83333
> +# GitHub Repository: https://github.com/Python-SIP/
> +# Commit ID 18e9e9c5a1fb7e19f7ea4d476eb3a99685fce629
> +
>  Added the 'py_ssize_t_clean' argument to the '%Module' directive.
>
>  Index: sip-4.19.23/sipgen/gencode.c
>  ===================================================================
>  --- sip-4.19.23.orig/sipgen/gencode.c
>  +++ sip-4.19.23/sipgen/gencode.c
> -@@ -1138,6 +1138,12 @@ static void generateCompositeCpp(sipSpec
> +@@ -593,6 +593,12 @@ static void generateInternalAPIHeader(si
>
> -     declareLimitedAPI(py_debug, NULL, fp);
> +     declareLimitedAPI(py_debug, mod, fp);
>
>  +    if (isPY_SSIZE_T_CLEAN(mod))
>  +        prcode(fp,
>  +"\n"
>  +"#define PY_SSIZE_T_CLEAN\n"
>  +            );
> ++
> +     prcode(fp,
> + "\n"
> + "#include <sip.h>\n"
> +@@ -1138,6 +1144,12 @@ static void generateCompositeCpp(sipSpec
> +
> +     declareLimitedAPI(py_debug, NULL, fp);
> +
> ++    if (isPY_SSIZE_T_CLEAN(pt->module))
> ++        prcode(fp,
> ++"\n"
> ++"#define PY_SSIZE_T_CLEAN\n"
> ++            );
>  +
>       prcode(fp,
>   "\n"
> @@ -277,17403 +288,3 @@ Index: sip-4.19.23/sphinx/directives.rst
>   When providing handwritten code as part of either the
> :directive:`%MethodCode`
>   or :directive:`%VirtualCatcherCode` directives the names of the
> arguments of
>   the function or method are based on the number of the argument, i.e. the
> first
> -Index: sip-4.19.23/sipgen/lexer.c
> -===================================================================
> ---- sip-4.19.23.orig/sipgen/lexer.c
> -+++ sip-4.19.23/sipgen/lexer.c
> -@@ -1,6 +1,6 @@
> --#line 2 "sip-4.19.23/sipgen/lexer.c"
> -+#line 2 "../lexer.c"
> -
> --#line 4 "sip-4.19.23/sipgen/lexer.c"
> -+#line 4 "../lexer.c"
> -
> - #define  YY_INT_ALIGNED short int
> -
> -@@ -8,8 +8,8 @@
> -
> - #define FLEX_SCANNER
> - #define YY_FLEX_MAJOR_VERSION 2
> --#define YY_FLEX_MINOR_VERSION 5
> --#define YY_FLEX_SUBMINOR_VERSION 35
> -+#define YY_FLEX_MINOR_VERSION 6
> -+#define YY_FLEX_SUBMINOR_VERSION 4
> - #if YY_FLEX_SUBMINOR_VERSION > 0
> - #define FLEX_BETA
> - #endif
> -@@ -47,7 +47,6 @@ typedef int16_t flex_int16_t;
> - typedef uint16_t flex_uint16_t;
> - typedef int32_t flex_int32_t;
> - typedef uint32_t flex_uint32_t;
> --typedef uint64_t flex_uint64_t;
> - #else
> - typedef signed char flex_int8_t;
> - typedef short int flex_int16_t;
> -@@ -55,7 +54,6 @@ typedef int flex_int32_t;
> - typedef unsigned char flex_uint8_t;
> - typedef unsigned short int flex_uint16_t;
> - typedef unsigned int flex_uint32_t;
> --#endif /* ! C99 */
> -
> - /* Limits of integral types. */
> - #ifndef INT8_MIN
> -@@ -86,63 +84,61 @@ typedef unsigned int flex_uint32_t;
> - #define UINT32_MAX             (4294967295U)
> - #endif
> -
> --#endif /* ! FLEXINT_H */
> --
> --#ifdef __cplusplus
> --
> --/* The "const" storage-class-modifier is valid. */
> --#define YY_USE_CONST
> --
> --#else /* ! __cplusplus */
> -+#ifndef SIZE_MAX
> -+#define SIZE_MAX               (~(size_t)0)
> -+#endif
> -
> --/* C99 requires __STDC__ to be defined as 1. */
> --#if defined (__STDC__)
> -+#endif /* ! C99 */
> -
> --#define YY_USE_CONST
> -+#endif /* ! FLEXINT_H */
> -
> --#endif        /* defined (__STDC__) */
> --#endif        /* ! __cplusplus */
> -+/* begin standard C++ headers. */
> -
> --#ifdef YY_USE_CONST
> -+/* TODO: this is always defined, so inline it */
> - #define yyconst const
> -+
> -+#if defined(__GNUC__) && __GNUC__ >= 3
> -+#define yynoreturn __attribute__((__noreturn__))
> - #else
> --#define yyconst
> -+#define yynoreturn
> - #endif
> -
> - /* Returned upon end-of-file. */
> - #define YY_NULL 0
> -
> --/* Promotes a possibly negative, possibly signed char to an unsigned
> -- * integer for use as an array index.  If the signed char is negative,
> -- * we want to instead treat it as an 8-bit unsigned char, hence the
> -- * double cast.
> -+/* Promotes a possibly negative, possibly signed char to an
> -+ *   integer in range [0..255] for use as an array index.
> -  */
> --#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
> -+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
> -
> - /* Enter a start condition.  This macro really ought to take a parameter,
> -  * but we do it the disgusting crufty way forced on us by the ()-less
> -  * definition of BEGIN.
> -  */
> - #define BEGIN (yy_start) = 1 + 2 *
> --
> - /* Translate the current start state into a value that can be later
> handed
> -  * to BEGIN to return to the state.  The YYSTATE alias is for lex
> -  * compatibility.
> -  */
> - #define YY_START (((yy_start) - 1) / 2)
> - #define YYSTATE YY_START
> --
> - /* Action number for EOF rule of a given start state. */
> - #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
> --
> - /* Special action meaning "start processing a new file". */
> --#define YY_NEW_FILE yyrestart(yyin  )
> --
> -+#define YY_NEW_FILE yyrestart( yyin  )
> - #define YY_END_OF_BUFFER_CHAR 0
> -
> - /* Size of default input buffer. */
> - #ifndef YY_BUF_SIZE
> -+#ifdef __ia64__
> -+/* On IA-64, the buffer size is 16k, not 8k.
> -+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
> -+ * Ditto for the __ia64__ case accordingly.
> -+ */
> -+#define YY_BUF_SIZE 32768
> -+#else
> - #define YY_BUF_SIZE 16384
> -+#endif /* __ia64__ */
> - #endif
> -
> - /* The state buf must be large enough to hold one state per character in
> the main buffer.
> -@@ -159,15 +155,16 @@ typedef struct yy_buffer_state *YY_BUFFE
> - typedef size_t yy_size_t;
> - #endif
> -
> --extern yy_size_t yyleng;
> -+extern int yyleng;
> -
> - extern FILE *yyin, *yyout;
> -
> - #define EOB_ACT_CONTINUE_SCAN 0
> - #define EOB_ACT_END_OF_FILE 1
> - #define EOB_ACT_LAST_MATCH 2
> --
> -+
> -     #define YY_LESS_LINENO(n)
> -+    #define YY_LINENO_REWIND_TO(ptr)
> -
> - /* Return all but the first "n" matched characters back to the input
> stream. */
> - #define yyless(n) \
> -@@ -182,7 +179,6 @@ extern FILE *yyin, *yyout;
> -               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
> -               } \
> -       while ( 0 )
> --
> - #define unput(c) yyunput( c, (yytext_ptr)  )
> -
> - #ifndef YY_STRUCT_YY_BUFFER_STATE
> -@@ -197,12 +193,12 @@ struct yy_buffer_state
> -       /* Size of input buffer in bytes, not including room for EOB
> -        * characters.
> -        */
> --      yy_size_t yy_buf_size;
> -+      int yy_buf_size;
> -
> -       /* Number of characters read into yy_ch_buf, not including EOB
> -        * characters.
> -        */
> --      yy_size_t yy_n_chars;
> -+      int yy_n_chars;
> -
> -       /* Whether we "own" the buffer - i.e., we know we created it,
> -        * and can realloc() it to grow it, and should free() it to
> -@@ -225,7 +221,7 @@ struct yy_buffer_state
> -
> -     int yy_bs_lineno; /**< The line count. */
> -     int yy_bs_column; /**< The column count. */
> --
> -+
> -       /* Whether to try to fill the input buffer when we reach the
> -        * end of it.
> -        */
> -@@ -253,7 +249,7 @@ struct yy_buffer_state
> - /* Stack of input buffers. */
> - static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
> - static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
> --static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
> -+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array.
> */
> -
> - /* We provide macros for accessing buffer states in case in the
> -  * future we want to put the buffer states in a more general
> -@@ -264,7 +260,6 @@ static YY_BUFFER_STATE * yy_buffer_stack
> - #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
> -                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
> -                           : NULL)
> --
> - /* Same as previous macro, but useful when we know that the buffer stack
> is not
> -  * NULL or when we need an lvalue. For internal use only.
> -  */
> -@@ -272,11 +267,11 @@ static YY_BUFFER_STATE * yy_buffer_stack
> -
> - /* yy_hold_char holds the character lost when yytext is formed. */
> - static char yy_hold_char;
> --static yy_size_t yy_n_chars;          /* number of characters read into
> yy_ch_buf */
> --yy_size_t yyleng;
> -+static int yy_n_chars;                /* number of characters read into
> yy_ch_buf */
> -+int yyleng;
> -
> - /* Points to current character in buffer. */
> --static char *yy_c_buf_p = (char *) 0;
> -+static char *yy_c_buf_p = NULL;
> - static int yy_init = 0;               /* whether we need to initialize */
> - static int yy_start = 0;      /* start state number */
> -
> -@@ -285,84 +280,80 @@ static int yy_start = 0; /* start state
> -  */
> - static int yy_did_buffer_switch_on_eof;
> -
> --void yyrestart (FILE *input_file  );
> --void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
> --YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
> --void yy_delete_buffer (YY_BUFFER_STATE b  );
> --void yy_flush_buffer (YY_BUFFER_STATE b  );
> --void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
> --void yypop_buffer_state (void );
> --
> --static void yyensure_buffer_stack (void );
> --static void yy_load_buffer_state (void );
> --static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
> --
> --#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
> --
> --YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
> --YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
> --YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
> --
> --void *yyalloc (yy_size_t  );
> --void *yyrealloc (void *,yy_size_t  );
> --void yyfree (void *  );
> -+void yyrestart ( FILE *input_file  );
> -+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
> -+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
> -+void yy_delete_buffer ( YY_BUFFER_STATE b  );
> -+void yy_flush_buffer ( YY_BUFFER_STATE b  );
> -+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
> -+void yypop_buffer_state ( void );
> -+
> -+static void yyensure_buffer_stack ( void );
> -+static void yy_load_buffer_state ( void );
> -+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
> -+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
> -+
> -+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
> -+YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
> -+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
> -+
> -+void *yyalloc ( yy_size_t  );
> -+void *yyrealloc ( void *, yy_size_t  );
> -+void yyfree ( void *  );
> -
> - #define yy_new_buffer yy_create_buffer
> --
> - #define yy_set_interactive(is_interactive) \
> -       { \
> -       if ( ! YY_CURRENT_BUFFER ){ \
> -         yyensure_buffer_stack (); \
> -               YY_CURRENT_BUFFER_LVALUE =    \
> --            yy_create_buffer(yyin,YY_BUF_SIZE ); \
> -+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
> -       } \
> -       YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
> -       }
> --
> - #define yy_set_bol(at_bol) \
> -       { \
> -       if ( ! YY_CURRENT_BUFFER ){\
> -         yyensure_buffer_stack (); \
> -               YY_CURRENT_BUFFER_LVALUE =    \
> --            yy_create_buffer(yyin,YY_BUF_SIZE ); \
> -+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
> -       } \
> -       YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
> -       }
> --
> - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
> -
> - /* Begin user sect3 */
> -+typedef flex_uint8_t YY_CHAR;
> -
> --typedef unsigned char YY_CHAR;
> --
> --FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
> -+FILE *yyin = NULL, *yyout = NULL;
> -
> - typedef int yy_state_type;
> -
> - extern int yylineno;
> --
> - int yylineno = 1;
> -
> - extern char *yytext;
> -+#ifdef yytext_ptr
> -+#undef yytext_ptr
> -+#endif
> - #define yytext_ptr yytext
> -
> --static yy_state_type yy_get_previous_state (void );
> --static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
> --static int yy_get_next_buffer (void );
> --static void yy_fatal_error (yyconst char msg[]  );
> -+static yy_state_type yy_get_previous_state ( void );
> -+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
> -+static int yy_get_next_buffer ( void );
> -+static void yynoreturn yy_fatal_error ( const char* msg  );
> -
> - /* Done after the current pattern has been matched and before the
> -  * corresponding action - sets up yytext.
> -  */
> - #define YY_DO_BEFORE_ACTION \
> -       (yytext_ptr) = yy_bp; \
> --      yyleng = (yy_size_t) (yy_cp - yy_bp); \
> -+      yyleng = (int) (yy_cp - yy_bp); \
> -       (yy_hold_char) = *yy_cp; \
> -       *yy_cp = '\0'; \
> -       (yy_c_buf_p) = yy_cp;
> --
> --#define YY_NUM_RULES 168
> --#define YY_END_OF_BUFFER 169
> -+#define YY_NUM_RULES 170
> -+#define YY_END_OF_BUFFER 171
> - /* This struct is not used in this scanner,
> -    but its presence is necessary. */
> - struct yy_trans_info
> -@@ -370,147 +361,149 @@ struct yy_trans_info
> -       flex_int32_t yy_verify;
> -       flex_int32_t yy_nxt;
> -       };
> --static yyconst flex_int16_t yy_accept[1235] =
> -+static const flex_int16_t yy_accept[1261] =
> -     {   0,
> -         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --      169,  167,  106,  109,  167,  167,  167,  167,  167,  111,
> --      111,  167,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  167,  106,  167,  166,  165,  166,  166,  121,  119,
> --      121,  108,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  106,
> --      167,  107,  106,  167,    0,  116,    0,    0,  117,    0,
> --      111,    0,  115,  112,  115,  118,  110,  112,    0,  112,
> --      111,    0,   64,  114,  114,  114,  114,  114,  114,  114,
> --
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,   65,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,  120,
> --      114,  114,  114,  114,  114,  114,  114,   86,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,    0,    0,    0,    0,    0,    0,  112,   83,  115,
> --      112,  110,  112,    0,  112,  113,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,   42,
> --
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,  114,  114,  114,  114,  114,  114,
> --       85,  114,  114,  114,  114,  114,  114,  114,   94,  114,
> --      114,  114,  114,  114,    0,    0,  112,   55,  114,  114,
> --      114,   40,   38,  114,  114,  114,   48,  114,  114,  114,
> --      114,   43,  114,  114,  114,  114,  114,  114,  114,  114,
> --
> --      114,  114,  114,  114,  114,   53,  114,  114,  114,   46,
> --      114,    1,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,  157,   11,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,  164,  114,  104,  114,  114,  114,
> --      114,  114,  114,  114,   90,  114,  114,  114,  114,  114,
> --       97,  114,  114,   12,  114,  114,  114,  114,  114,  114,
> --      114,   27,   51,  114,  114,   54,   62,   44,  114,  114,
> --      114,  114,  114,   41,  114,  114,  114,   35,  114,  114,
> --
> --      114,   59,  114,  114,  114,  114,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --      105,  114,  114,  114,  114,  114,  114,  114,  114,   92,
> --      114,  114,  114,  114,  114,  114,  114,   37,  114,  114,
> --      114,  114,  114,  114,  114,   45,  114,  114,  114,  114,
> --      114,   29,  114,   49,   63,   52,   28,  114,  114,  114,
> --      114,  114,    0,    0,    0,    0,    0,    0,    0,    0,
> --
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
> --      114,   84,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,   36,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --       31,  114,   32,  114,   56,  114,   47,   39,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --
> --        0,    0,   17,    0,    0,    0,    0,    0,    0,    0,
> --       21,    0,    0,    0,   24,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --      114,  103,   34,  114,  114,  114,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,   75,  114,   60,  114,   58,
> --      114,   61,   50,    0,    0,    0,    0,    0,    0,    0,
> --        0,    3,    0,    0,    0,  122,    0,    0,    0,    0,
> --      127,   14,    0,    0,    0,  161,    0,   18,    0,    0,
> --       19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --
> --        0,    0,    0,    0,    0,  162,    0,    0,    0,    0,
> --        0,    0,    0,  114,  114,  114,  114,   88,   89,   91,
> --      114,  114,  114,  114,  114,   33,  114,  114,  114,  114,
> --      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> --       57,   30,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,  159,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,   25,
> --        0,   26,  137,    0,    0,  134,    0,    0,    0,  114,
> --      114,  114,  114,  114,   95,   96,  114,  114,  114,  114,
> --
> --      114,   69,   68,  114,  114,  114,   72,  114,  114,   74,
> --      114,  114,  114,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,  156,
> --       13,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,   23,    0,    0,    0,
> --        0,  153,    0,    0,    0,    0,    0,  114,  114,  114,
> --      114,  114,  114,  114,   76,  114,  114,  114,   71,   67,
> --       82,  114,  114,  114,  114,   81,  160,    2,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --
> --        0,    0,   20,  138,  136,    0,    0,  151,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
> --      114,  114,  114,  114,  114,   73,  114,   66,  114,  114,
> --       79,   80,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,  158,    0,    0,
> --        0,  143,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
> --      114,  114,  114,  114,  114,  114,   77,   78,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,  150,
> --
> --        0,    0,    0,    0,    0,    0,    0,  155,    0,    0,
> --        0,    0,  114,  114,  114,  114,  114,  114,  114,   70,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,   15,
> --        0,    0,    0,    0,    0,  139,  152,    0,    0,    0,
> --        0,    0,  114,  114,  114,  114,   93,  114,  114,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,    0,    0,  142,    0,    0,
> --        0,    0,    0,  129,    0,    0,    0,    0,  114,  101,
> --      114,  114,  114,   99,  144,    0,    0,    0,    0,    0,
> --
> --        4,    0,    0,    0,    0,    0,    8,    9,    0,    0,
> --        0,    0,    0,    0,   22,    0,    0,    0,  140,    0,
> --        0,  114,  114,  114,  114,    0,    0,    0,    0,    0,
> --        0,    0,    0,    0,    0,   10,    0,    0,  133,    0,
> --      128,    0,    0,    0,    0,    0,  114,  114,   87,  114,
> --        0,    0,  148,    0,    0,    0,    0,    0,  124,    0,
> --        0,    0,    0,    0,    0,    0,    0,    0,    0,  114,
> --      114,   98,    0,    0,    0,    0,    5,    0,    0,    0,
> --        0,  126,    0,  131,    0,    0,    0,  141,    0,  114,
> --      114,  149,  146,    0,  145,  123,    0,    0,    0,    0,
> --
> --        0,    0,  135,  163,  114,  114,  147,    0,    0,    0,
> --      154,    0,    0,  114,  114,  125,    0,    0,    0,  130,
> --      100,  114,    6,    0,  132,  114,    0,  114,    0,  114,
> --        7,  114,  102,    0
> -+      171,  169,  108,  111,  169,  169,  169,  169,  169,  113,
> -+      113,  169,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  169,  108,  169,  168,  167,  168,  168,  123,
> -+      121,  123,  110,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  108,  169,  109,  108,  169,    0,  118,    0,    0,
> -+      119,    0,  113,    0,  117,  114,  117,  120,  112,  114,
> -+        0,  114,  113,    0,   64,  116,  116,  116,  116,  116,
> -+
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,   65,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,  122,  116,  116,  116,  116,  116,  116,  116,
> -+       87,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,    0,    0,    0,    0,    0,
> -+        0,  114,   84,  117,  114,  112,  114,    0,  114,  115,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+
> -+      116,  116,  116,  116,   42,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+       16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
> -+      116,  116,  116,  116,  116,   86,  116,  116,  116,  116,
> -+      116,  116,  116,  116,   95,  116,  116,  116,  116,  116,
> -+        0,    0,  114,   55,  116,  116,  116,  116,   40,   38,
> -+      116,  116,  116,   48,  116,  116,  116,  116,   43,  116,
> -+
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,   53,  116,  116,  116,   46,  116,    1,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,  159,   11,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,  166,  116,  106,  116,  116,  116,  116,  116,  116,
> -+      116,   91,  116,  116,  116,  116,  116,  116,   98,  116,
> -+      116,   12,  116,  116,  116,  116,  116,  116,  116,  116,
> -+       27,   51,  116,  116,   54,   62,   44,  116,  116,  116,
> -+
> -+      116,  116,   41,  116,  116,  116,   35,  116,  116,  116,
> -+       59,  116,  116,  116,  116,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,  107,
> -+      116,  116,  116,  116,  116,  116,  116,  116,   93,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,   37,  116,
> -+      116,  116,  116,  116,  116,  116,   45,  116,  116,  116,
> -+      116,  116,   29,  116,   49,   63,   52,   28,  116,  116,
> -+
> -+      116,  116,  116,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
> -+      116,  116,   85,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,   36,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,   31,  116,   32,  116,   56,  116,   47,
> -+       39,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,   17,    0,    0,    0,    0,
> -+        0,    0,    0,   21,    0,    0,    0,   24,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,  116,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  105,  116,   34,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
> -+       75,  116,   60,  116,   58,  116,   61,   50,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    3,    0,    0,    0,
> -+      124,    0,    0,    0,    0,  129,   14,    0,    0,    0,
> -+
> -+      163,    0,   18,    0,    0,   19,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+      164,    0,    0,    0,    0,    0,    0,    0,  116,  116,
> -+      116,  116,   89,   90,   92,  116,  116,  116,  116,  116,
> -+      116,  116,   33,  116,  116,  116,  116,  116,  116,  116,
> -+      116,  116,  116,  116,  116,  116,  116,   57,   30,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,  161,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,   25,    0,   26,  139,
> -+
> -+        0,    0,  136,    0,    0,    0,  116,  116,  116,  116,
> -+      116,  116,   96,   97,  116,  116,   82,  116,  116,  116,
> -+       69,   68,  116,  116,  116,   72,  116,  116,   74,  116,
> -+      116,  116,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,  158,   13,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,   23,    0,    0,    0,    0,
> -+      155,    0,    0,    0,    0,    0,  116,  116,  116,  116,
> -+      116,  116,  116,  116,   76,  116,  116,  116,   71,   67,
> -+       83,  116,  116,  116,  116,   81,  162,    2,    0,    0,
> -+
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,   20,  140,  138,    0,    0,  153,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,  116,  116,
> -+      116,  116,  116,  116,  116,  116,   73,  116,   66,  116,
> -+      116,   79,   80,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,  160,    0,
> -+        0,    0,  145,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
> -+      116,  116,  116,  116,  116,  116,  116,  116,   77,   78,
> -+
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,  152,    0,    0,    0,    0,    0,    0,    0,  157,
> -+        0,    0,    0,    0,  116,  116,  116,  116,  116,  116,
> -+      116,  116,   70,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,   15,    0,    0,    0,    0,    0,  141,  154,
> -+        0,    0,    0,    0,    0,  116,  116,  116,  116,  116,
> -+       94,  116,  116,    0,    0,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+
> -+        0,  144,    0,    0,    0,    0,    0,  131,    0,    0,
> -+        0,    0,  116,  103,  116,  116,  116,  116,  101,  146,
> -+        0,    0,    0,    0,    0,    4,    0,    0,    0,    0,
> -+        0,    8,    9,    0,    0,    0,    0,    0,    0,   22,
> -+        0,    0,    0,  142,    0,    0,  116,  116,  116,  100,
> -+      116,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -+        0,   10,    0,    0,  135,    0,  130,    0,    0,    0,
> -+        0,    0,  116,  116,   88,  116,    0,    0,  150,    0,
> -+        0,    0,    0,    0,  126,    0,    0,    0,    0,    0,
> -+        0,    0,    0,    0,    0,  116,  116,   99,    0,    0,
> -+
> -+        0,    0,    5,    0,    0,    0,    0,  128,    0,  133,
> -+        0,    0,    0,  143,    0,  116,  116,  151,  148,    0,
> -+      147,  125,    0,    0,    0,    0,    0,    0,  137,  165,
> -+      116,  116,  149,    0,    0,    0,  156,    0,    0,  116,
> -+      116,  127,    0,    0,    0,  132,  102,  116,    6,    0,
> -+      134,  116,    0,  116,    0,  116,    7,  116,  104,    0
> -     } ;
> -
> --static yyconst flex_int32_t yy_ec[256] =
> -+static const YY_CHAR yy_ec[256] =
> -     {   0,
> -         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
> -         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
> -@@ -542,7 +535,7 @@ static yyconst flex_int32_t yy_ec[256] =
> -         1,    1,    1,    1,    1
> -     } ;
> -
> --static yyconst flex_int32_t yy_meta[71] =
> -+static const YY_CHAR yy_meta[71] =
> -     {   0,
> -         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
> -         1,    3,    3,    3,    4,    4,    1,    4,    4,    4,
> -@@ -553,614 +546,629 @@ static yyconst flex_int32_t yy_meta[71]
> -         3,    3,    3,    3,    3,    3,    3,    3,    3,    1
> -     } ;
> -
> --static yyconst flex_int16_t yy_base[1243] =
> -+static const flex_int16_t yy_base[1269] =
> -     {   0,
> --        0,   69, 2841,   70,   71,   74,   76,   76, 2835,   81,
> --     2842, 2845, 2845, 2845,   74,   83,   78,   88,   78,  129,
> --     2774, 2823,   83,   95,   98,  103,  107,  135,  141,  147,
> --      156,  150,  159,  163,  169,  185,  203,  208,  212,  218,
> --      223, 2769,  144,  260, 2845, 2845,  172, 2816, 2845, 2845,
> --     2823, 2845,  227,  230,  238,  288,  292,  299,  296,  303,
> --      306,  311,  241,  314,  317,  323,  350,  326,  369,  184,
> --     2814, 2845,  201, 2813,  121, 2845, 2831,  216, 2845,   90,
> --     2766,  175,  250,  375,  192, 2845,    0,  379,  394, 2845,
> --     2845,    0, 2845,  336,  402,  408,  420,  423,  426,  429,
> --
> --      433,  436,  442,  445,  448,  451,  454,  457,  464,  467,
> --      471,  474,  480,  483,  489,  498,  502,  505,  517,  522,
> --      525,  531,  537,  540,  547, 2845,  232,    0,  321, 2806,
> --      154,   64,  134,  253,  225, 2777,  489, 2776,  518, 2769,
> --      511, 2782, 2777,  179, 2768, 2771,  366, 2802, 2765, 2845,
> --      561,  567,  570,  576,  583,  589,  592,  595,  598,  601,
> --      606,  610,  615,  623,  626,  629,  632,  639,  635,  644,
> --      648,  390, 2800, 2754,  406, 2798,  207,  648,  366,  665,
> --      511,    0,  688,  141,  670,    0,  661,  693,  675,  700,
> --      703,  711,  714,  718,  721,  728,  731,  734,  737,  740,
> --
> --      745,  748,  754,  757,  773,  776,  782,  787,  790,  793,
> --      796,  799,  804,  807,  811,  815,  821,  825,  834,  838,
> --     2793, 2770, 2754,  297, 2757,  717, 2764, 2766, 2764,  794,
> --     2766, 2753,  191, 2747, 2760, 2845, 2748,  345, 2759,  311,
> --     2743, 2756, 2741, 2755,   34, 2740,  439, 2747, 2737, 2742,
> --     2738, 2743, 2735, 2746,  855,  858,  864,  867,  873,  877,
> --      880,  883,  886,  889,  892,  898,  901,  908,  912,  915,
> --      918,  931,  934,  923, 2745,  941,  946,  951,  958,  962,
> --      974,  977,  986,  989,  992, 1000, 1003, 1006, 1009, 1012,
> --     1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036, 1040, 1049,
> --
> --     1052, 1062, 1079, 1083, 1088, 1091, 1094, 1097, 1105, 1108,
> --     1111, 2845, 2743, 2733, 2741, 2740, 2740, 2728,  362, 2719,
> --     2740, 2723, 2845, 2734, 2724, 2721, 2718, 2734, 2723, 2717,
> --     2757, 2726, 2716, 2718, 2710, 2709, 2721, 2720, 2709, 2715,
> --     2703, 2712, 2710, 2701, 2711, 2699, 1051, 2701, 2698, 2739,
> --     2708, 2707, 2693, 2692, 2845, 1116, 1119, 1122, 1128, 1132,
> --     1138, 1143, 1146, 1149, 1162, 1166, 1173, 1176, 1180, 1185,
> --     1191, 1199, 1202, 2845, 1205, 1209, 1219, 1215, 1230, 1225,
> --     1239, 1246, 1257, 1260, 1264, 1267, 1270, 1273, 1276, 1279,
> --     1282, 1285, 1289, 1292, 1295, 1301, 1304, 1307, 1310, 1313,
> --
> --     1316, 1326, 1334, 1340, 1343, 1347, 2692, 2720, 2689, 2695,
> --     2686, 2690, 2689, 2697, 2692, 2681, 2681, 2683, 2681, 2695,
> --     2676, 2683, 2688, 2691, 2677, 2704, 2673, 2669, 2678, 2685,
> --     2672, 2678, 2678, 2668, 2670, 2666, 2668, 2672, 2668, 2695,
> --     2662, 2669, 2650, 2667, 2666, 2656, 2658,  546,  536, 2649,
> --     1351, 1356, 1359, 1366, 1369, 1373, 1381, 1387, 1392, 1395,
> --     1398, 1401, 1404, 1411, 1416, 1423, 1426, 1429, 1433, 1442,
> --     1439, 1471, 1474, 1477, 1480, 1483, 1487, 1498, 1501, 1504,
> --     1507, 1510, 1513, 1516, 1519, 1522, 1525, 1533, 1536, 1539,
> --     1543, 1549, 2650, 2643, 1545, 2660, 2653, 2646, 2651, 2645,
> --
> --     2647, 2648, 2642, 2639, 2638, 2652, 2638, 2644, 2651, 2631,
> --     2646, 2648, 2630, 2643, 2645, 2632, 2627, 2634, 2638, 2637,
> --     2635, 2626, 2633, 2623, 2623, 2622, 2625, 2615, 2614, 2615,
> --     2655, 2625, 2619, 2613,  363, 2612, 2611, 2623, 1554, 1559,
> --     1564, 1570, 1579, 1588, 1591, 1597, 1601, 1604, 1607, 1612,
> --     1617, 1620, 1623, 1635, 1643, 1646, 1649, 1657, 1663, 1668,
> --     1678, 1681, 1684, 1687, 1690, 1696, 1700, 1703, 1712, 1715,
> --     1718, 1722, 1725, 1728, 1732, 1735, 1738, 1741, 2648, 2636,
> --     2602, 2612, 2614, 2613, 2601, 2615, 2610, 2605, 2604, 2594,
> --     2604, 2592, 2600, 2599, 2602, 2588, 2600, 2587, 2587, 2597,
> --
> --     2596, 2588, 2845, 2594, 2587, 2594, 2591, 2584, 2602, 2618,
> --      567, 2591, 2616, 2574, 2845, 2580, 2570, 2579, 2578, 2567,
> --     2570, 2578, 2569, 2577, 2579, 2566, 2574, 2560, 2565, 1744,
> --     1749, 1755, 1767, 1761, 1773, 1776, 1779, 1782, 1785, 1789,
> --     1801, 1804, 1808, 1812, 1815, 1833, 1836, 1845, 1851, 1854,
> --     1857, 1860, 1863, 1870, 1874, 1882, 1886, 1889, 1892, 1897,
> --     1900, 1903, 1906, 2561, 2573, 2565, 2547, 2546, 2539, 2536,
> --     2527, 2845, 2525, 2538,  593, 2845, 1313, 2528, 2526, 2535,
> --     2845, 2845, 2537, 2562, 2520, 2845, 2530, 2845, 2525, 2528,
> --     2845, 2527, 2506, 2514, 2513, 2521, 2514, 2510, 2511, 2503,
> --
> --     2511, 2505, 2504, 2493, 2511, 2845, 2509, 2508, 2508, 2493,
> --     2505, 2491,  680, 1909, 1912, 1916, 1919, 1922, 1925, 1931,
> --     1934, 1938, 1944, 1954, 1957, 1960, 1963, 1966, 1969, 1973,
> --     1978, 1987, 1993, 2004, 2009, 2012, 2015, 2022, 2025, 2028,
> --     2035, 2040, 2504, 2494, 2492, 2480, 2487, 2515, 2465, 2466,
> --     2465, 2458, 2438, 2439, 2388, 2388, 2393, 2377, 2387, 2379,
> --      837, 2373, 2373, 2368, 2367, 2362, 2399, 2845, 2334, 2340,
> --     2338, 2340, 2336, 2311, 2297, 2291, 2297, 2293, 2268, 2845,
> --     2268, 2845, 2845, 2259, 2286, 2845, 2277, 2255, 2239, 2043,
> --     2049, 2052, 2055, 2058, 2062, 2065, 2068, 2071, 2077, 2080,
> --
> --     2083, 2086, 2095, 2099, 2110, 2113, 2116, 2124, 2127, 2130,
> --     2137, 2140, 2143, 2245, 2243, 2242, 2241, 2233, 2188, 2196,
> --     2225, 2213, 2163, 2166,  231, 2175, 2174, 2157, 2145, 2845,
> --     2845, 2145, 2152, 2123, 2136, 2127, 2118, 2107, 2119, 2087,
> --     2095, 2084, 2083, 2082, 2062, 2067, 2845, 2069, 2049, 2083,
> --     2067, 2845, 2025, 2000, 2000,  673, 1989, 2146, 2150, 2158,
> --     2161, 2165, 2169, 2172, 2175, 2180, 2184, 2187, 2195, 2198,
> --     2204, 2216, 2219, 2222, 2225, 2228, 2845, 2845, 1983, 1979,
> --     1966, 1955, 1995, 1948, 1949, 1953, 1945, 1933, 1928, 1932,
> --     1934, 1918, 1913, 1913, 1914, 1894, 1894, 1891, 1920, 1861,
> --
> --     1828, 1840, 2845, 2845, 2845, 1829, 1813, 2845, 1804, 1800,
> --     1793, 1792, 1820, 1790, 1789, 1780, 1786, 1774, 2237, 2242,
> --     2245, 2250, 2253, 2256, 2259, 2262, 2265, 2268, 2271, 2274,
> --     2277, 2285, 1811, 1779, 1768, 1752, 1744, 1756, 1756, 1755,
> --     1746, 1735, 1717, 1708, 1721, 1702, 1703, 2845, 1710, 1672,
> --     1662, 2845, 1659, 1657, 1634, 1636, 1624, 1617, 1618, 1604,
> --     1616, 1605, 1592, 1600, 1589, 1624, 1589, 1578, 2299, 2303,
> --     2308, 2311, 2315, 2318, 2321, 2324, 2327, 2335, 1579, 1571,
> --     1556, 1543, 1547, 1546, 1531, 1564, 1522, 1568, 1536, 1518,
> --     1520, 1501, 1496, 1508, 1518, 1522, 1491, 1458, 1448, 2845,
> --
> --     1485, 1440, 1440, 1435, 1430, 1427, 1427, 2845, 1409, 1410,
> --     1418, 1441, 2338, 2341, 2344, 2352, 2357, 2362, 2365, 2368,
> --     1411, 1409, 1383, 1411, 1375, 1370, 1363, 1344, 1337, 1340,
> --     1371, 1336, 1330, 1317, 1307, 1313, 1312, 1285, 1291, 2845,
> --     1274, 1272, 1262, 1254, 1204, 2845, 2845, 1214, 1214, 1212,
> --     1193, 1203, 2371, 2379, 2384, 2387, 2391, 2398, 2394, 1198,
> --     1174, 1159, 1150, 1158, 1145, 1151, 1151, 1145, 1145, 1123,
> --     1123, 1125, 1121, 1110, 1148, 1109, 1116, 2845, 1144, 1104,
> --     1098, 1084, 1084, 2845, 1087, 1076, 1095,   78, 2401, 2404,
> --     2409, 2414, 2421, 2438, 2845,  175,  207,  199,  199,  268,
> --
> --     2845,  250,  302,  271,  294,  307, 2845, 2845,  310,  392,
> --      389,  423,  415,  440, 2845,  445,  448,  488, 2845,  467,
> --      483, 2441, 2444, 2447, 2450,  496,  517,  541,  579,  562,
> --      569,  574,  606,  619,  756, 2845,  633,  671, 2845,  648,
> --     2845,  649,  660,  678,  706,  707, 2453, 2456, 2459, 2462,
> --      723,  732, 2845,  723,  742,  764,  777,  810, 2845,  772,
> --      787,  794,  790,  803,  797,  840,  824,  832,  857, 2467,
> --     2470, 2473,  866,  868,  884,  890, 2845,  891,  891,  893,
> --      907, 2845,  917, 2845,  957,  919,  930, 2845,  922, 2480,
> --     2476, 2845, 2845,  934, 2845, 2845,  944,  938,  938,  961,
> --
> --      998, 1009, 2845, 2845, 2483, 2489, 2845, 1017, 1023, 1025,
> --     2845, 1023, 1029, 2494, 2498, 2845, 1019, 1022, 1038, 2845,
> --     2506, 2509, 2845, 1025, 2845, 2513, 1037, 2519, 1062, 2526,
> --     2845, 2533, 2536, 2845, 2594, 2598, 2602, 2606, 2608, 2610,
> --     2614, 1109
> -+        0,   69, 2946,   70,   71,   74,   76,   76, 2940,   81,
> -+     2947, 2950, 2950, 2950,   74,   83,   78,   88,   78,  129,
> -+     2879, 2928,   83,   95,   98,  102,  136,  141,  151,  147,
> -+      156,  159,  162,  169,  175,  178,  185,  189,  204,  212,
> -+      217,  220, 2874,  115,  259, 2950, 2950,  117, 2921, 2950,
> -+     2950, 2928, 2950,  223,  246,  249,  287,  261,  296,  301,
> -+      290,  304,  310,  313,  316,  322,  348,  353,  358,  366,
> -+      375,  206, 2919, 2950,  238, 2918,  151, 2950, 2936,  244,
> -+     2950,   90, 2871,  172,  361,  421,  197, 2950,    0,  398,
> -+      380, 2950, 2950,    0, 2950,  387,  418,  428,  438,  442,
> -+
> -+      445,  448,  451,  454,  464,  467,  470,  473,  476,  479,
> -+      486,  489,  493,  496,  501,  504,  507,  510,  513,  523,
> -+      528,  531,  540,  545,  551,  561,  564,  568, 2950,  284,
> -+        0,  273, 2911,  189,   70,  183,  291,  299, 2882,  388,
> -+     2881,  335, 2874,  532, 2887, 2882,   89, 2873, 2876,  351,
> -+     2907, 2870, 2950,  582,  585,  588,  594,  597,  602,  611,
> -+      614,  617,  620,  623,  627,  633,  639,  642,  645,  648,
> -+      652,  655,  663,  667,  677,  391, 2905, 2859,  416, 2903,
> -+      197,  677,  370,  694,  390,    0,  703,  162,  699,    0,
> -+      717,  720,  723,  727,  730,  743,  746,  749,  752,  755,
> -+
> -+      761,  764,  767,  775,  771,  778,  781,  784,  788,  793,
> -+      802,  806,  810,  815,  820,  823,  826,  829,  834,  837,
> -+      847,  850,  857,  860,  864, 2898, 2875, 2859,  232, 2862,
> -+      510, 2869, 2871, 2869,  284, 2871, 2858,  202, 2852, 2865,
> -+     2950, 2853,  834, 2864,  303, 2848, 2861, 2846, 2860,   34,
> -+     2845,  489, 2852, 2842, 2847, 2843, 2848, 2840, 2851,  867,
> -+      886,  889,  893,  899,  902,  905,  909,  912,  918,  926,
> -+      929,  934,  938,  942,  948,  953,  957,  960,  967,  973,
> -+     2850,  976,  981, 1001, 1004, 1007, 1010, 1015, 1024, 1027,
> -+     1031, 1040, 1043, 1046, 1050, 1055, 1058, 1061, 1064, 1067,
> -+
> -+     1070, 1073, 1076, 1082, 1088, 1094, 1097, 1108, 1118, 1121,
> -+     1125, 1133, 1136, 1140, 1143, 1146, 1149, 1152, 2950, 2848,
> -+     2838, 2846, 2845, 2845, 2833,  525, 2824, 2845, 2828, 2950,
> -+     2839, 2829, 2826, 2823, 2839, 2828, 2822, 2862, 2831, 2821,
> -+     2823, 2815, 2814, 2826, 2825, 2814, 2820, 2808, 2817, 2815,
> -+     2806, 2816, 2804,  668, 2806, 2803, 2844, 2813, 2812, 2798,
> -+     2797, 2950, 1161, 1164, 1170, 1173, 1178, 1184, 1188, 1191,
> -+     1194, 1202, 1207, 1210, 1213, 1220, 1223, 1226, 1231, 1236,
> -+     1244, 2950, 1247, 1264, 1277, 1290, 1293, 1296, 1299, 1303,
> -+     1306, 1310, 1313, 1324, 1329, 1332, 1335, 1338, 1341, 1344,
> -+
> -+     1347, 1352, 1355, 1361, 1364, 1367, 1370, 1373, 1376, 1379,
> -+     1389, 1396, 1402, 1406, 1410, 2797, 2825, 2794, 2800, 2791,
> -+     2795, 2794, 2802, 2797, 2786, 2786, 2788, 2786, 2800, 2781,
> -+     2788, 2793, 2796, 2782, 2809, 2778, 2774, 2783, 2790, 2777,
> -+     2783, 2783, 2773, 2775, 2771, 2773, 2777, 2773, 2800, 2767,
> -+     2774, 2755, 2772, 2771, 2761, 2763,  385,  233, 2754, 1414,
> -+     1419, 1422, 1429, 1435, 1444, 1449, 1454, 1457, 1460, 1463,
> -+     1468, 1474, 1477, 1480, 1488, 1494, 1497, 1507, 1500, 1510,
> -+     1514, 1535, 1543, 1546, 1549, 1559, 1555, 1564, 1570, 1574,
> -+     1577, 1580, 1583, 1586, 1589, 1592, 1595, 1598, 1601, 1607,
> -+
> -+     1610, 1616, 1622, 2755, 2748, 1606, 2765, 2758, 2751, 2756,
> -+     2750, 2752, 2753, 2747, 2744, 2743, 2757, 2743, 2749, 2756,
> -+     2736, 2751, 2753, 2735, 2748, 2750, 2737, 2732, 2739, 2743,
> -+     2742, 2740, 2731, 2738, 2728, 2728, 2727, 2730, 2720, 2719,
> -+     2720, 2760, 2730, 2724, 2718,  373, 2717, 2716, 2728, 1625,
> -+     1637, 1640, 1643, 1649, 1653, 1656, 1661, 1664, 1668, 1674,
> -+     1677, 1680, 1683, 1696, 1702, 1705, 1708, 1712, 1715, 1723,
> -+     1730, 1733, 1748, 1737, 1751, 1756, 1759, 1763, 1767, 1772,
> -+     1778, 1783, 1786, 1789, 1793, 1796, 1799, 1804, 1807, 1810,
> -+     1813, 2753, 2741, 2707, 2717, 2719, 2718, 2706, 2720, 2715,
> -+
> -+     2710, 2709, 2699, 2709, 2697, 2705, 2704, 2707, 2693, 2705,
> -+     2692, 2692, 2702, 2701, 2693, 2950, 2699, 2692, 2699, 2696,
> -+     2689, 2707, 2723,  536, 2696, 2721, 2679, 2950, 2685, 2675,
> -+     2682, 2659, 2648, 2651, 2659, 2650, 2658, 2660, 2647, 2655,
> -+     2641, 2646, 1816, 1820, 1823, 1826, 1832, 1838, 1841, 1845,
> -+     1848, 1851, 1860, 1863, 1871, 1877, 1886, 1880, 1889, 1896,
> -+     1893, 1901, 1916, 1920, 1923, 1926, 1929, 1932, 1943, 1951,
> -+     1954, 1959, 1962, 1965, 1970, 1973, 1976, 1979, 2641, 2652,
> -+     2646, 2650, 2649, 2642, 2639, 2630, 2950, 2627, 2640,  566,
> -+     2950, 1158, 2630, 2628, 2637, 2950, 2950, 2638, 2663, 2621,
> -+
> -+     2950, 2630, 2950, 2625, 2628, 2950, 2627, 2608, 2616, 2612,
> -+     2620, 2598, 2594, 2594, 2559, 2567, 2557, 2555, 2532, 2550,
> -+     2950, 2547, 2546, 2545, 2529, 2541, 2507,  395, 1982, 1988,
> -+     1991, 1994, 1997, 2000, 2004, 2007, 2011, 2014, 2021, 2029,
> -+     2032, 2035, 2041, 2044, 2054, 2058, 2066, 2070, 2077, 2080,
> -+     2092, 2096, 2099, 2102, 2110, 2113, 2116, 2061, 2123, 2520,
> -+     2476, 2477, 2463, 2470, 2491, 2437, 2449, 2447, 2446, 2429,
> -+     2430, 2416, 2416, 2422, 2404, 2415, 2390,  957, 2384, 2386,
> -+     2357, 2349, 2347, 2387, 2950, 2334, 2344, 2342, 2338, 2335,
> -+     2304, 2282, 2277, 2283, 2268, 2250, 2950, 2246, 2950, 2950,
> -+
> -+     2244, 2273, 2950, 2253, 2222, 2206, 2128, 2131, 2136, 2139,
> -+     2142, 2145, 2150, 2153, 2156, 2162, 2165, 2170, 2173, 2184,
> -+     2196, 2201, 2204, 2207, 2213, 2218, 2224, 2227, 2230, 2237,
> -+     2240, 2243, 2215, 2196, 2195, 2215, 2214, 2169, 2173, 2203,
> -+     2181, 2141, 2144,  433, 2153, 2151, 2131, 2133, 2950, 2950,
> -+     2130, 2138, 2113, 2126, 2123, 2121, 2100, 2100, 2079, 2082,
> -+     2081, 2070, 2068, 2044, 2051, 2950, 2051, 2040, 2068, 2065,
> -+     2950, 2008, 2006, 2005,  275, 2001, 2246, 2250, 2258, 2261,
> -+     2264, 2269, 2272, 2275, 2278, 2285, 2288, 2291, 2298, 2302,
> -+     2309, 2313, 2320, 2323, 2326, 2329, 2950, 2950, 1999, 1995,
> -+
> -+     1987, 1986, 2020, 1973, 1977, 1981, 1972, 1934, 1929, 1918,
> -+     1902, 1914, 1908, 1905, 1905, 1890, 1889, 1876, 1904, 1877,
> -+     1857, 1862, 2950, 2950, 2950, 1846, 1839, 2950, 1830, 1827,
> -+     1820, 1811, 1849, 1818, 1818, 1792, 1794, 1755, 2335, 2338,
> -+     2343, 2346, 2351, 2354, 2357, 2360, 2363, 2366, 2369, 2373,
> -+     2376, 2384, 2388, 1768, 1736, 1731, 1716, 1694, 1706, 1706,
> -+     1690, 1694, 1683, 1652, 1648, 1655, 1639, 1639, 2950, 1650,
> -+     1634, 1625, 2950, 1612, 1611, 1593, 1595, 1583, 1584, 1578,
> -+     1569, 1568, 1531, 1520, 1524, 1509, 1544, 1492, 1483, 2401,
> -+     2404, 2409, 2412, 2415, 2418, 2421, 2424, 2427, 2430, 2438,
> -+
> -+     1480, 1487, 1481, 1468, 1478, 1453, 1439, 1469, 1429, 1476,
> -+     1433, 1418, 1424, 1396, 1396, 1404, 1428, 1431, 1401, 1395,
> -+     1385, 2950, 1420, 1374, 1375, 1383, 1362, 1361, 1357, 2950,
> -+     1341, 1340, 1347, 1371, 2441, 2444, 2447, 2451, 2465, 2468,
> -+     2471, 2474, 2482, 1345, 1321, 1320, 1342, 1283, 1283, 1275,
> -+     1271, 1240, 1243, 1277, 1242, 1236, 1233, 1219, 1225, 1230,
> -+     1224, 1231, 2950, 1221, 1215, 1223, 1224, 1205, 2950, 2950,
> -+     1217, 1216, 1214, 1201, 1208, 2490, 2493, 2496, 2500, 2504,
> -+     2509, 2513, 2518, 1203, 1190, 1185, 1182, 1179, 1167, 1167,
> -+     1163, 1159, 1147, 1112, 1110, 1115, 1093, 1081, 1108, 1069,
> -+
> -+     1076, 2950, 1103, 1069, 1067, 1052, 1059, 2950, 1062, 1048,
> -+     1077,   68, 2523, 2526, 2529, 2532, 2535, 2541, 2548, 2950,
> -+      126,  174,  178,  226,  273, 2950,  248,  348,  376,  404,
> -+      443, 2950, 2950,  446,  452,  469,  483,  512,  533, 2950,
> -+      558,  558,  599, 2950,  561,  593, 2551, 2554, 2561, 2564,
> -+     2567,  584,  611,  622,  653,  623,  630,  636,  635,  653,
> -+      684, 2950,  664,  696, 2950,  675, 2950,  686,  689,  689,
> -+      702,  714, 2570, 2573, 2576, 2590,  722,  754, 2950,  750,
> -+      761,  775,  795,  832, 2950,  795,  801,  807,  807,  825,
> -+      826,  865,  842,  842,  844, 2593, 2596, 2599,  845,  858,
> -+
> -+      878,  878, 2950,  883,  876,  876,  892, 2950,  904, 2950,
> -+      937,  899,  913, 2950,  916, 2606, 2612, 2950, 2950,  939,
> -+     2950, 2950,  949,  942,  944,  953,  946,  957, 2950, 2950,
> -+     2615, 2619, 2950,  958,  963,  979, 2950,  977,  980, 2623,
> -+     2626, 2950,  971,  983,  997, 2950, 2629, 2633, 2950,  997,
> -+     2950, 2636, 1004, 2645, 1041, 2649, 2950, 2652, 2655, 2950,
> -+     2713, 2717, 2721, 2725, 2727, 2729, 2733, 1088
> -     } ;
> -
> --static yyconst flex_int16_t yy_def[1243] =
> -+static const flex_int16_t yy_def[1269] =
> -     {   0,
> --     1234,    1, 1235, 1235, 1236, 1236,    1,    7,    1,    1,
> --     1234, 1234, 1234, 1234, 1237, 1238, 1234, 1239, 1234, 1234,
> --       20, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
> --       44, 1234, 1234,   44, 1237, 1234, 1237, 1238, 1234, 1234,
> --       20, 1239, 1239, 1239, 1239, 1234, 1241, 1234, 1234, 1234,
> --     1234, 1242, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1234, 1234,   44, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1234,   44, 1234, 1234,   44, 1234, 1234, 1239, 1239,
> --     1239, 1241, 1234, 1234, 1234, 1242, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1234, 1239, 1239, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --
> --     1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> --     1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> --     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> --     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --
> --     1234, 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
> --     1240, 1240, 1234, 1234, 1234, 1240, 1234, 1240, 1234, 1240,
> --     1234, 1240, 1240,    0, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234
> -+     1260,    1, 1261, 1261, 1262, 1262,    1,    7,    1,    1,
> -+     1260, 1260, 1260, 1260, 1263, 1264, 1260, 1265, 1260, 1260,
> -+       20, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1260,   45, 1260, 1260,   45, 1263, 1260, 1263, 1264,
> -+     1260, 1260,   20, 1265, 1265, 1265, 1265, 1260, 1267, 1260,
> -+     1260, 1260, 1260, 1268, 1260, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> -+       45, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1260,   45, 1260, 1260,   45,
> -+     1260, 1260, 1265, 1265, 1265, 1267, 1260, 1260, 1260, 1268,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1260, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> -+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266,
> -+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> -+     1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1260, 1260,
> -+
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> -+     1266, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260,
> -+     1260, 1266, 1260, 1266, 1260, 1266, 1260, 1266, 1266,    0,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> -     } ;
> -
> --static yyconst flex_int16_t yy_nxt[2916] =
> -+static const flex_int16_t yy_nxt[3021] =
> -     {   0,
> -        12,   13,   14,   13,   15,   12,   16,   12,   12,   12,
> -        12,   17,   18,   19,   20,   21,   22,   23,   23,   23,
> -        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
> --       24,   23,   23,   25,   23,   26,   23,   23,   23,   23,
> --       23,   23,   23,   12,   23,   23,   27,   28,   29,   30,
> --       31,   23,   23,   32,   23,   33,   23,   34,   35,   36,
> --       23,   37,   38,   39,   40,   41,   23,   23,   23,   42,
> --       43,   47,   46,   50,   44,   48,   50,   70,   76,  344,
> --       51,   71,   73,   51,   52,   79,   74,   86,   72,   79,
> --       80,   87,   81,   81,   82,   85,   82,  345,   53,   82,
> --
> --       83,   82,   84,   84,  178,  178,   82,   85,   82,   82,
> --       85,   82,   54,  227,   82,   85,   82,   77,   82,   85,
> --       82,   55,  228,   56,   57,   76,   58,   59,   97,   60,
> --       61,   62,   95,   63,   64, 1121,   65,   66,   67,   68,
> --       69,   88,   96,   81,   81,  127,   82,   85,   82,  128,
> --       89,   90,   82,   85,   82,  185,  185,   91,   82,   85,
> --       82,   82,   85,   82,   77,   98,   91,   82,   85,   82,
> --       82,   85,   82,  147,   82,   85,   82,  148,   89,   90,
> --       82,   85,   82,  225,   91,  172,   82,   99,   82,  173,
> --      100,  229,   91,  101, 1126,   92,   82,   85,   82,  102,
> --
> --      230,  105,  175,   82,  103,   82,  176,  108,  110,  106,
> --      329,  107,  226,  104,   82,   85,   82,  109,   79,   82,
> --       85,   82,   79,   82,   85,   82, 1127,  330,  111,   82,
> --       85,   82,  250,  127,   82,   85,   82,  128,   82,   85,
> --       82,   82,   85,   82,  233,  112,  251, 1128,  113,   82,
> --       85,   82,   82,   85,   82,  114,  115,  118,  116, 1129,
> --      119,   82,  179,   82,  275,  117,  888,  889,  120,  122,
> --      125,  123,  151,  230,  234,  121,  124,  129,  130,  131,
> --      132,  133,  134,  135,  136,  137,  162, 1130,  138,  139,
> --      152,  140,  141,  153,  142,  143,  144,  145,  146,   82,
> --
> --       85,   82,  231,   82,   85,   82,  232,   82,   85,   82,
> --       82,   85,   82, 1131,   82,   85,   82,   82,   85,   82,
> --      315, 1132,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,  316, 1133,  154,   82,   85,   82,   82,   85,   82,
> --       99,  155, 1134,  100,  105,  157,  101,   82,   85,   82,
> --      102,  158,  106,  221,  107,  159,  160,  156, 1135, 1136,
> --      108,   82,   85,   82,  161,  338,  165,  147,  222,  109,
> --      339,  148,  166,  163,  164,  114,  167,   82,  116,   82,
> --       82,   85,   82,  122,  223,  117,   82,  170,   82,   84,
> --       84,  172,  334,  183,  183,  173,  180,  181,  335,  118,
> --
> --       89,   90,  119,  168,  184,  184,  336,  175,  185,  185,
> --      120,  176,  625,   82,   85,   82,  626,  169,  171,   82,
> --       85,   82,  123,  413,  180,  181,  414,  124,   89,   90,
> --      187,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,  188,   82,   85,   82,   82,   85,   82,
> --     1137, 1138,  189,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,  191, 1139, 1140,  192,   82,   85,   82,   82,   85,
> --       82,  190,   82,   85,   82,   82,   85,   82,  347, 1141,
> --      193,   82,   85,   82,   82,   85,   82,  348, 1142,  194,
> --
> --       82,   85,   82,  197,  196,  195, 1143, 1144,  198,   82,
> --       85,   82,  199,   82,   85,   82,   82,   85,   82,  200,
> --      203,  201,   82,  202,   82, 1145,  206,  204,   82,   85,
> --       82, 1146,  205,   82,   85,   82,   82,   85,   82,  236,
> --      208,  207,   82,   85,   82,  237,  238,  211,   82,   85,
> --       82,   82,   85,   82, 1151,  536,  210,  209,   82,   85,
> --       82,  213,  212,  240,  244,  534,  245,  241,  537,  246,
> --      535,  247,   82,   85,   82, 1152,  242,  214,   82,   85,
> --       82,   82,   85,   82,  216,  215,  695,   82,   85,   82,
> --     1153,  696,  217,  219,   82,   85,   82,  218, 1154,  220,
> --
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,  753,  255,   82,   85,   82,
> --     1155,   82,   85,   82, 1156,  257,   82,   85,   82,  754,
> --      256,  258, 1157,  259,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  260,
> --       82,   85,   82,  264,  261,   82,   85,   82,  263,   82,
> --       85,   82,  178,  178,  203,  262,  265, 1158, 1159,   89,
> --       90,  267,   82,   85,   82,  184,  276,  266,   82,  277,
> --      277, 1162,  268,  270,  185,  185,   82,   85,   82,  278,
> --     1163,  269,   90,  273,  272,  271, 1164,   89,   90,  788,
> --
> --      209,  789,  183,  183,   82,   85,   82, 1165,  274,   89,
> --       90,   82,   85,   82,   82,   85,   82, 1166,  279,  281,
> --       90,  280,   82,   85,   82,   82,   85,   82,  916,   82,
> --       85,   82,   82,   85,   82,  917, 1167,   89,   90,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82, 1168,  282,   82,   85,   82,   82,
> --       85,   82, 1169,  283,  286,   82,   85,   82,   82,   85,
> --       82, 1173,  284,  318,  319,  285,  320,  287, 1160,  290,
> --     1174, 1175,  291,  288,   82,   85,   82,   82,   85,   82,
> --     1176, 1161,  289,   82,   85,   82,  292,  293,   82,   85,
> --
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82, 1177,  294,   82,   85,   82,   82,   85,
> --       82,  295,   82,   85,   82, 1178,   82,   85,   82, 1179,
> --     1180,  297,   82,   85,   82,  296,   82,   85,   82,  300,
> --     1181,  324,  298, 1182,  299,   82,   85,   82, 1183,   82,
> --       85,   82, 1184,  325, 1185,  301,  326,  832,  302, 1186,
> --      306,  833,  303,  304,  307,  305,   82,   85,   82,   82,
> --       85,   82, 1187,  834,  308,   82,   85,   82,   82,   85,
> --       82, 1188,  310,  311,   82,   85,   82,  309,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --
> --       82,   85,   82,   82,   85,   82, 1189,  357,  358,   82,
> --       85,   82,   82,   85,   82, 1192,  356, 1193,  360,   82,
> --       85,   82,  359,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82, 1194,  361,   82,   85,   82,  363,  364, 1195,
> --     1196,  365,   82,   85,   82,   82,   85,   82,  362, 1197,
> --      367,  366,   82, 1198,   82,  277,  277,   82, 1199,   82,
> --      277,  277,   82,   85,   82, 1200,  368,  370,  181,   82,
> --       85,   82,  369,   82,   85,   82, 1201, 1202,  372, 1203,
> --      371,  375, 1204, 1207,  373,   82,   85,   82,   82,   85,
> --       82,  377, 1208,  376, 1209, 1210,  181,   82,   85,   82,
> --
> --       82,   85,   82,   82,   85,   82,  378,  379,  380,  381,
> --     1211,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --      382,   82,   85,   82,  383,  384, 1212, 1213,  386,  385,
> --       82,   85,   82,   82,   85,   82, 1216,  387, 1217,  390,
> --     1218, 1219,  391,   82,   85,   82,  441,  388, 1220,  392,
> --      442, 1223,  389,  443, 1224,  395,  393, 1225, 1227,  396,
> --       82,   85,   82,  397,   82,   85,   82, 1229,  394,   82,
> --
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82, 1231,  186,  398, 1120,  399,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82, 1119,  400,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82, 1118, 1117,  401,   82,
> --       85,   82,  403,   82,   85,   82, 1116, 1115,  404,   82,
> --       85,   82, 1114,  402,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82, 1113, 1112,  451, 1111, 1110,  405, 1109,
> --     1108,  406,  453,   82,   85,   82, 1107,   82,   85,   82,
> --     1106, 1105,  452,  455,   82,   85,   82,   82,   85,   82,
> --     1104,   82,   85,   82, 1103,  454,   82,   85,   82, 1102,
> --
> --     1101,  456,   82,   85,   82, 1100,  458, 1099, 1098,  457,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82, 1097,
> --       82,   85,   82,  389,  459,  462,   82,   85,   82,  396,
> --       82,   85,   82,  460, 1096,  467,   82,   85,   82,  403,
> --      461,   82,   85,   82,  464,  468,  463, 1095, 1088,  469,
> --       82,   85,   82, 1087,  465,  466,  470,   82,   85,   82,
> --     1086,  471, 1085, 1084,  473,  472, 1083,  474,   82,   85,
> --       82,   82,   85,   82,  475,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82, 1082,
> --
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  476,
> --     1081,  477,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --     1080, 1079,  481,  755,  756,  478,  482,   82,   85,   82,
> --     1078,  479,  757, 1077,  480,   82,   85,   82,  758,  484,
> --      483,   82,   85,   82,   82,   85,   82,  486,   82,   85,
> --       82,  488,   82,   85,   82, 1076,  485,   82,   85,   82,
> --       82,   85,   82, 1075, 1074,  487, 1073,   82,   85,   82,
> --       82,   85,   82,  489,   82,   85,   82, 1072,  491, 1071,
> --     1070,  492,   82,   85,   82, 1069, 1068,  490,   82,   85,
> --
> --       82,  539, 1067,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82, 1066, 1065,
> --      540,  541,   82,   85,   82, 1064,  544,   82,   85,   82,
> --     1063,  542, 1062,  543,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,  553,   82,   85,   82,  547,  545,  546,
> --       82,   85,   82,   82,   85,   82,  483,  563, 1061, 1060,
> --      556,  557,  558,  548,  554, 1052,  549, 1051, 1050,  551,
> --      559,  550, 1049,  560,  555, 1048, 1047,  561,  562, 1046,
> --     1045,  552,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,  565,   82,   85,
> --
> --       82, 1044,  564, 1043, 1042,  567, 1041, 1040,  566,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82, 1039,
> --      568, 1038, 1037,  569,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,  571,   82,   85,   82, 1036, 1035,  570,
> --       82,   85,   82,  581,  582,   82,   85,   82, 1034,  572,
> --       82,   85,   82, 1033,  573,   82,   85,   82, 1032,  583,
> --      584,   82,   85,   82,  585, 1031,  575, 1030,  576, 1029,
> --       82,   85,   82, 1028, 1027,  574, 1026, 1025,  577,   82,
> --
> --       85,   82,   82,   85,   82, 1024, 1023,  630,   82,   85,
> --       82,  578,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82, 1022,  631,   82,   85,   82,  632,  633,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82, 1021, 1012,  634,
> --      635, 1011,  636, 1010, 1009,  637,   82,   85,   82, 1008,
> --     1007,  643,  639, 1006,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,  640, 1005, 1004,  646,  638,   82,   85,
> --       82, 1003, 1002,  641,   82,   85,   82,  642,  644,   82,
> --       85,   82,  647,  645, 1001, 1000,  649,  999,  648,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --
> --       82,   82,   85,   82,  998,  654,  650,   82,   85,   82,
> --      653,   82,   85,   82,   82,   85,   82,  997,  651,  996,
> --      655,  995,  652,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,  656,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,  657,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,  994,  659,
> --       82,   85,   82,  993,  992,  658,   82,   85,   82,  991,
> --      990,  661,   82,   85,   82,  660,  989,  662,   82,   85,
> --       82,  988,  987,  663,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  716,
> --
> --       82,   85,   82,  986,  985,  714,  984,  983,  715,  982,
> --      718,  717,   82,   85,   82,   82,   85,   82,  981,   82,
> --       85,   82,  719,   82,   85,   82,   82,   85,   82,  980,
> --      979,  720,  968,  967,  721,  966,  965,  728,  964,  963,
> --      727,  723,  722,  726,   82,   85,   82,   82,   85,   82,
> --      962,  961,  724,  960,  725,  730,   82,   85,   82,  959,
> --      958,  729,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,  732,  957,  733,
> --      731,   82,   85,   82,  736,   82,   85,   82,  956,  734,
> --      955,  738,  735,   82,   85,   82,  737,   82,   85,   82,
> --
> --       82,   85,   82,   82,   85,   82,  954,  740,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,  739,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  953,
> --      952,  741,   82,   85,   82,   82,   85,   82,  742,   82,
> --       85,   82,  951,  950,  792,   82,   85,   82,  790,  949,
> --      948,  791,  947,  946,  793,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,  794,   82,   85,   82,  795,  800,   82,
> --       85,   82,  945,  944,  799,  943,  942,  801,   82,   85,
> --
> --       82,  941,  940,  796,   82,   85,   82,  939,  804,  802,
> --      797,  938,  805,  937,  803,   82,   85,   82,  936,  798,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  935,
> --      807,  808,  806,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,  934,  933,  811,  812,   82,   85,   82,  918,
> --      810,   82,   85,   82,   82,   85,   82,  915,  914,  809,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,  813,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,  913,  912,  858,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --
> --      867,  866,  911,  862,  910,  860,   82,   85,   82,  859,
> --       82,   85,   82,  865,  909,  861,  908,  863,  868,  907,
> --      864,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --      906,  869,  905,  904,  870,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,  903,  902,  872,  873,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --      871,   82,   85,   82,  901,  875,  900,  899,  874,   82,
> --       85,   82,   82,   85,   82,  898,   82,   85,   82,  876,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,  897,
> --      896,   82,   85,   82,  920,   82,   85,   82,   82,   85,
> --
> --       82,  895,  927,  894,  893,  919,   82,   85,   82,   82,
> --       85,   82,  922,  923,  926,   82,   85,   82,  921,  892,
> --      925,  891,  890,  928,  887,  886,  924,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,  885,  884,  930,  883,  882,  929,   82,   85,
> --       82,  881,  931,   82,   85,   82,   82,   85,   82,  880,
> --      932,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,  879,  878,  976,  877,  970,   82,   85,   82,  857,
> --
> --      856,  977,  855,  975,  969,  854,  973,  971,  853,  978,
> --       82,   85,   82,  972,   82,   85,   82,  852,  974,   82,
> --       85,   82,   82,   85,   82,  851,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,  850,  849, 1013,  848, 1020,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,  847,  846,
> --     1014,  845, 1018,   82,   85,   82, 1019, 1016,   82,   85,
> --       82, 1015, 1017,   82,   85,   82,   82,   85,   82,   82,
> --       85,   82,   82,   85,   82,  844,  843, 1053,  842, 1055,
> --       82,   85,   82,  841, 1054,   82,   85,   82,   82,   85,
> --
> --       82, 1056,   82,   85,   82,   82,   85,   82, 1057,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,  840, 1058,
> --       82,   85,   82,  839, 1059,   82,   85,   82,  838,  837,
> --     1123,  836,   82,   85,   82,  835,  831, 1089,  830, 1091,
> --      829, 1090,  828, 1093, 1092,  827,  826, 1094, 1122,   82,
> --       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --       82,   85,   82,   82,   85,   82, 1124, 1125,   82,   85,
> --       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
> --     1147,   82,   85,   82,   82,   85,   82,  825,  824, 1150,
> --
> --       82,   85,   82,  823, 1148,   82,   85,   82, 1149,   82,
> --       85,   82, 1170, 1215,  822,  821, 1171,   82,   85,   82,
> --       82,   85,   82, 1172,   82,   85,   82,  820, 1191, 1190,
> --       82,   85,   82, 1205,  819,  818, 1206,   82,   85,   82,
> --      817, 1214,  816, 1222,   82,   85,   82,   82,   85,   82,
> --      815, 1221,  814,  787,  786,  785,  784,  783,  782,  781,
> --      780, 1228,  779,  778,  777,  776, 1226,  775,  774,  773,
> --      772,  771,  770,  769, 1230, 1232,  768,  767,  766,  765,
> --      764,  763,  762,  761,  760,  759,  752,  751,  750,  749,
> --      748,  747,  746, 1233,   45,   45,   45,   45,   49,   49,
> --
> --       49,   49,   75,   75,   75,   75,   78,   78,   78,   78,
> --       85,   85,   94,   94,  182,  745,  182,  182,  744,  743,
> --      713,  712,  711,  710,  709,  708,  707,  706,  705,  704,
> --      703,  702,  701,  700,  699,  698,  697,  694,  693,  692,
> -+       24,   23,   25,   26,   23,   27,   23,   23,   23,   23,
> -+       23,   23,   23,   12,   23,   23,   28,   29,   30,   31,
> -+       32,   23,   23,   33,   23,   34,   23,   35,   36,   37,
> -+       23,   38,   39,   40,   41,   42,   23,   23,   23,   43,
> -+       44,   48,   47,   51,   45,   49,   51,   72,   78,  351,
> -+       52,   73,   75,   52,   53,   81,   76,   88,   74,   81,
> -+       82,   89,   83,   83,   84,   87,   84,  352,   54,   84,
> -+
> -+       85,   84,   86,   86,  182,  182,   84,   87,   84,   84,
> -+       87,   84,   55,   84,   87,   84,  130,   79,  150,  232,
> -+      131,   56,  151,   57,   58, 1146,   59,   60,  233,   61,
> -+       62,   63,   97,   64,   65,   66,   67,   68,   69,   70,
> -+       71,   90,  255,   83,   83, 1152,   99,   84,   87,   84,
> -+       91,   92,   84,   87,   84,   78,  256,   93,   84,   87,
> -+       84,  100,   84,   87,   84,   98,   93,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,  189,  189,   91,   92,
> -+       84,   87,   84,   84,   93,   84,   84,   87,   84,   84,
> -+       87,   84,   93, 1153,   79,   94,   84,   87,   84,  101,
> -+
> -+       84,   87,   84,  102,  108,  105,  103,  176,   84,  104,
> -+       84,  177,  109,  106,  110,   84,   87,   84,  230,  111,
> -+      113,  336,  107,   84,   87,   84, 1154,  112,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  114,  337,  179,
> -+      234,  117,  118,  180,  119,  115,   81,  231,  116,  235,
> -+       81,  120,  547,  121,  281,  322,  122,   84,   87,   84,
> -+       84,   87,   84,  235,  123,  548,  323,  128,  154,  125,
> -+      126,  124,   84,   87,   84,  127,  132,  133,  134,  135,
> -+      136,  137,  138,  139,  140,  130, 1155,  141,  142,  131,
> -+      143,  144, 1156,  145,  146,  147,  148,  149,   84,   87,
> -+
> -+       84,   84,   87,   84,  156,  226,  155,   84,   87,   84,
> -+      158, 1157,   84,   87,   84,   84,   87,   84,  238,  105,
> -+      227,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      936,  331,  157,   84,   87,   84,  228,  937,  161,  102,
> -+      236,  108,  103,  332,  237,  104,  333,  111,  239,  109,
> -+      160,  110,  150,  162,  159,  163,  151,  345,  165,   84,
> -+       87,   84,  346,  164,   84,   87,   84, 1158,  112,   84,
> -+       87,   84,   84,  183,   84,  166,  167,   84,   87,   84,
> -+      245,   84,  115,   84,  246,  116,   84,   87,   84,  168,
> -+      188,  188,  176,  247,  189,  189,  177,  169,   84,   87,
> -+
> -+       84,   84,  170,   84,  545,  117,  171,  121,  119,  546,
> -+      122,  172,  187,  187,  805,  120,  806,  179,  123,   91,
> -+       92,  180,  638,  125,  175,  173,  639,  174,  126,   84,
> -+       87,   84,   84,  127,   84,   86,   86, 1159,  241,   84,
> -+       87,   84,  184,  185,  242,  243,  191,   91,   92,   84,
> -+       87,   84, 1160,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,  908,  909,
> -+      184,  185,  192,  193,  194,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  196, 1161, 1162,  197,   84,   87,   84,
> -+
> -+       84,   87,   84,  195,   84,   87,   84,   84,   87,   84,
> -+     1163,  198,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  199,  202,  201,
> -+      200, 1164, 1165,  203,   84,   87,   84,  204,  354,   84,
> -+       87,   84,   84,   87,   84,  208,  206,  355,  205,  207,
> -+      211,   84,   87,   84,  209,  710,   84,   87,   84,  210,
> -+      711,  213,   84,   87,   84,  212,  325,  326,  216,  327,
> -+     1166,  215,   84,   87,   84,   84,   87,   84,  214,   84,
> -+       87,   84, 1167,  217,  218,  249,  422,  250,  770,  423,
> -+      251,  219,  252,   84,   87,   84,   84,   87,   84,   84,
> -+
> -+       87,   84,  771,  220,  221,   84,   87,   84,   84,   87,
> -+       84, 1168,  222,   84,   87,   84, 1169,  224, 1170, 1171,
> -+      225,  223,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  260,   84,   87,
> -+       84, 1172, 1177,  262,   84,   87,   84,  264,  261,  263,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,  265,   84,   87,   84,   84,   87,   84, 1178,
> -+      269, 1179, 1180,  266,   84,   87,   84,  268,   84,   87,
> -+       84, 1181,  208,  270,  267, 1182,  273,  272,   84,   87,
> -+       84,  182,  182,  450, 1183,  271, 1184,  451,   91,   92,
> -+
> -+      452,  274, 1185,  276,  188,  282, 1186,   84,  283,  283,
> -+      275,  277, 1188,  189,  189, 1189,  279,  187,  187, 1187,
> -+      214,   92,  278, 1190,   91,   92,   91,   92,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  280,   84,   87,
> -+       84,   84,   87,   84, 1191,  284, 1192, 1193,  286,   92,
> -+     1194,  287,   91,   92,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84, 1195,
> -+     1199,  288,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,  285,   84,   87,   84,  289,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,  293,   84,
> -+
> -+       87,   84, 1200,  290,   84,   87,   84,  291, 1201, 1202,
> -+      292,  294,  297,   84,   87,   84,  295,   84,   87,   84,
> -+      298,   84,   87,   84, 1203,  296,   84,   87,   84,  299,
> -+      300,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84, 1204,  301,   84,   87,   84,   84,   87,
> -+       84, 1205,  302, 1206, 1207,  303, 1208,  304,   84,   87,
> -+       84,   84,   87,   84,  307, 1209,  305,  306,   84,   87,
> -+       84,   84,   87,   84, 1210,   84,   87,   84,   84,   87,
> -+       84,  341,  308, 1211, 1212,  309,  313,  342,  311,  310,
> -+     1213, 1214,  312, 1215, 1218,  343,  314,   84,   87,   84,
> -+
> -+       84,   87,   84,  315,   84,   87,   84, 1219,  317,  318,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,  316,
> -+       84,   87,   84,   84,   87,   84, 1220, 1221,  363,   84,
> -+       87,   84, 1222,  365, 1223,  364, 1224,   84,   87,   84,
> -+       84,   87,   84, 1225,  367,   84,   87,   84,  366,   84,
> -+       87,   84, 1226,   84,   87,   84, 1227, 1228,  368,   84,
> -+       87,   84, 1229,  370,   84,   87,   84,  371,   84,   87,
> -+       84,   84,   87,   84,  369,  372, 1230,  851,   84,   87,
> -+       84,  852,  373,  374,   84,   87,   84,   84, 1233,   84,
> -+      283,  283,   84,  853,   84,  283,  283, 1234, 1235,  375,
> -+
> -+      376, 1236, 1237,  185, 1238, 1239,  378, 1242, 1243,  379,
> -+      377,  380,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84, 1244, 1245,   84,   87,   84, 1246,
> -+      384,  185,  386, 1249,  381,   84,   87,   84,   84,   87,
> -+       84,  385,   84,   87,   84, 1250, 1251,  387,  388,  389,
> -+      390,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+     1253,   84,   87,   84, 1255,  383,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+     1257,  190,  391,   84,   87,   84, 1145, 1144,  393,   84,
> -+
> -+       87,   84,  392,  394,  395,   84,   87,   84,   84,   87,
> -+       84, 1143, 1142,  396, 1141,  399, 1140, 1139,  400,   84,
> -+       87,   84, 1138,  397, 1137,  401, 1136, 1135,  398,   84,
> -+       87,   84,   84,   87,   84,  402,   84,   87,   84,  404,
> -+     1134,  406, 1133,  405,   84,   87,   84,   84,   87,   84,
> -+      403,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84, 1132, 1131,  409,  407,
> -+     1130,  408,   84,   87,   84,   84,   87,   84,  772,  773,
> -+      410,   84,   87,   84,   84,   87,   84,  774,  412,   84,
> -+       87,   84, 1129,  775,  413,   84,   87,   84,  411,   84,
> -+
> -+       87,   84,   84,   87,   84,   84,   87,   84, 1128,  414,
> -+      460, 1127,  415,   84,   87,   84, 1126,  462,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84, 1125, 1124,  464,
> -+      461,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+     1123,  463,   84,   87,   84, 1122,  465,   84,   87,   84,
> -+     1121,  467, 1120, 1112,  466,   84,   87,   84,   84,   87,
> -+       84, 1111, 1110,  398, 1109,  468, 1108, 1107,  472, 1106,
> -+      469, 1105,  405, 1104,  470,   84,   87,   84, 1103,  412,
> -+     1102,  474, 1101, 1100,  471, 1099, 1098,  473,   84,   87,
> -+       84,  475, 1097, 1096,  478, 1095, 1094,  476, 1093, 1092,
> -+
> -+      477,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  479,   84,   87,   84,   84,   87,   84,
> -+      480,   84,   87,   84,   84,   87,   84,  482,  484, 1091,
> -+     1090,  485, 1089, 1088,  481,   84,   87,   84,  486,  483,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84, 1087,  487,   84,   87,   84,   84,   87,   84, 1086,
> -+     1085,  488,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84, 1084,  492, 1075, 1074,  489, 1073,  493,
> -+
> -+       84,   87,   84,  490, 1072, 1071,  491,   84,   87,   84,
> -+     1070, 1069,  495,   84,   87,   84,  494,   84,   87,   84,
> -+      497,   84,   87,   84,  499,   84,   87,   84, 1068,  496,
> -+       84,   87,   84,   84,   87,   84, 1067, 1066,  498, 1065,
> -+       84,   87,   84, 1064, 1063,  500,   84,   87,   84, 1062,
> -+     1061,  502, 1060, 1059,  503,   84,   87,   84, 1058,  501,
> -+       84,   87,   84, 1057,  550,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84, 1056, 1055,   84,
> -+       87,   84, 1054,  551,  552,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,  555, 1053, 1052,  553, 1051,   84,
> -+
> -+       87,   84, 1050, 1049,  554,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,  557,  556,  558,  559,   84,   87,
> -+       84,   84,   87,   84,  566,   84,   87,   84, 1048,  494,
> -+     1047, 1046,  569,  570,  571,  567,  560, 1045, 1044,  561,
> -+      562,  563,  572, 1034, 1033,  573,   84,   87,   84,  574,
> -+      575,  568,  564,  576,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84, 1032, 1031,  565,   84,   87,   84,  578,
> -+       84,   87,   84, 1030,  577,   84,   87,   84, 1029, 1028,
> -+      579,   84,   87,   84,  580,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,  582, 1027,  581,   84,   87,
> -+       84,   84,   87,   84,  594,  595,  584,   84,   87,   84,
> -+     1026, 1025,  583,   84,   87,   84,   84,   87,   84, 1024,
> -+      596,  597,  585, 1023, 1022,  598, 1021,  586,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  588, 1020,  589,
> -+       84,   87,   84,  587,   84,   87,   84,   84,   87,   84,
> -+     1019,  590,   84,   87,   84,   84,   87,   84,  643,   84,
> -+       87,   84, 1018, 1017,  591,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,  646, 1016, 1015,
> -+
> -+      644, 1014,  645, 1013,  647,  648,  649,   84,   87,   84,
> -+     1012, 1011,  651,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,  653,   84,   87,   84,   84,   87,   84, 1010,
> -+     1009,  654,  650,  658,   84,   87,   84,  652, 1008,  655,
> -+      661,   84,   87,   84,   84,   87,   84,  659,   84,   87,
> -+       84,  657,  660,  656, 1007,  662, 1006, 1005,  663,   84,
> -+       87,   84,   84,   87,   84,  665,  664,   84,   87,   84,
> -+       84,   87,   84, 1004,   84,   87,   84,  669,   84,   87,
> -+       84, 1003,  668,   84,   87,   84, 1002, 1001,  666,   84,
> -+       87,   84,  667,  670,   84,   87,   84,   84,   87,   84,
> -+
> -+       84,   87,   84,  671,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  989,  672,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      674,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      673,  988,  676,   84,   87,   84,  675,  987,  677,   84,
> -+       87,   84,   84,   87,   84,  678,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,  986,  985,  731,  984,  983,
> -+      732,   84,   87,   84,   84,   87,   84,  729,  982,  730,
> -+      981,  733,   84,   87,   84,  980,  979,  734,   84,   87,
> -+       84,   84,   87,   84,  736,  978,  735,   84,   87,   84,
> -+
> -+       84,   87,   84,  737,   84,   87,   84,   84,   87,   84,
> -+      977,  738,   84,   87,   84,  743,  739,  744,  745,  976,
> -+      747,  746,  975,  974,  741,  973,  740,   84,   87,   84,
> -+      742,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,  749,  972,  750,  971,
> -+      970,  748,  969,  753,   84,   87,   84,  968,  751,  967,
> -+      966,  752,   84,   87,   84,   84,   87,   84,  755,  754,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,  965,
> -+      757,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,  964,  963,  756,   84,
> -+
> -+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,  758,   84,   87,   84,   84,   87,
> -+       84,  759,   84,   87,   84,   84,   87,   84,  962,  809,
> -+      961,  807,   84,   87,   84,  960,  959,  808,  958,  810,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,  957,
> -+      956,  811,   84,   87,   84,   84,   87,   84,  955,  954,
> -+      812,  938,  935,  813,  934,   84,   87,   84,  933,   84,
> -+       87,   84,   84,   87,   84,  818,  819,   84,   87,   84,
> -+      814,   84,   87,   84,  932,  815,  820,  931,   84,   87,
> -+       84,   84,   87,   84,  816,  930,  929,  817,  823,  824,
> -+
> -+      928,  927,  821,   84,   87,   84,  822,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,  926,  826,  827,  925,
> -+      825,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      924,  923,  830,  831,   84,   87,   84,  922,  829,   84,
> -+       87,   84,   84,   87,   84,  921,  828,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,  920,
> -+      832,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      919,  918,  877,   84,   87,   84,   84,   87,   84,  917,
> -+      916,   84,   87,   84,   84,   87,   84,  915,  914,  879,
> -+      882,  878,  913,  912,  886,   84,   87,   84,  911,  880,
> -+
> -+      910,  887,  907,  906,  881,  883,  885,   84,   87,   84,
> -+      905,  884,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,  904,  903,  888,   84,   87,   84,  902,  889,   84,
> -+       87,   84,  901,  900,  890,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,  899,  898,  892,  893,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      891,   84,   87,   84,  897,  895,  876,  875,  894,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,  874,  896,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,  873,  872,  940,  871,   84,   87,   84,   84,
> -+
> -+       87,   84,   84,   87,   84,  939,  948,  870,  943,   84,
> -+       87,   84,  942,   84,   87,   84,  869,  944,  941,  947,
> -+       84,   87,   84,  946,   84,   87,   84,  949,  868,  945,
> -+      867,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  866,  950,  951,   84,   87,   84,   84,
> -+       87,   84,  865,  952,   84,   87,   84,   84,   87,   84,
> -+      864,  953,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  863,   84,   87,   84,   84,   87,   84,
> -+      862,  991,  861,  860,  998,   84,   87,   84,  994,   84,
> -+
> -+       87,   84,  990,  999,  997,  992,  859,  995,  858,  993,
> -+      857, 1000,   84,   87,   84,   84,   87,   84,  856,  996,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,  855, 1035,  854,  850, 1043,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84, 1036,   84,   87,   84, 1041,  849,  848, 1038, 1042,
> -+     1039,  847, 1037,  846,  845, 1040,   84,   87,   84,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,  844,  843,
> -+     1076,  842, 1078,   84,   87,   84,  841, 1077,  840,  839,
> -+
> -+     1079,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      838,   84,   87,   84, 1080,   84,   87,   84,  837, 1081,
> -+       84,   87,   84,  836,   84,   87,   84,  835, 1082,   84,
> -+       87,   84,  834, 1083,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84, 1117,
> -+     1148, 1115,   84,   87,   84, 1114, 1113, 1116, 1118,   84,
> -+       87,   84,   84,   87,   84,   84,   87,   84,  833,  804,
> -+     1147, 1119,   84,   87,   84,   84,   87,   84,   84,   87,
> -+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+      803,  802, 1150,  801, 1149,  800,  799, 1151,  798,  797,
> -+
> -+     1173,   84,   87,   84,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84,  796, 1174,  795, 1176,   84,   87,   84,
> -+      794,  793, 1175,   84,   87,   84,   84,   87,   84, 1196,
> -+       84,   87,   84, 1197,   84,   87,   84,   84,   87,   84,
> -+       84,   87,   84, 1241,   84,   87,   84,   84,   87,   84,
> -+      792, 1198,  791,  790, 1217, 1216,   84,   87,   84, 1231,
> -+       84,   87,   84,   84,   87,   84,   84,   87,   84,  789,
> -+      788, 1248, 1232, 1240,  787,  786,  785,  784,  783,  782,
> -+     1247,  781,  780,  779, 1254,  778,  777,  776,  769,  768,
> -+     1252,  767,  766,  765,  764,  763,  762,  761, 1258,  760,
> -+
> -+     1256,  728,  727,  726,  725,  724,  723,  722,  721,  720,
> -+      719,  718, 1259,   46,   46,   46,   46,   50,   50,   50,
> -+       50,   77,   77,   77,   77,   80,   80,   80,   80,   87,
> -+       87,   96,   96,  186,  717,  186,  186,  716,  715,  714,
> -+      713,  712,  709,  708,  707,  706,  705,  704,  703,  702,
> -+      701,  700,  699,  698,  697,  696,  695,  694,  693,  692,
> -       691,  690,  689,  688,  687,  686,  685,  684,  683,  682,
> --      681,  680,  679,  678,  677,  676,  675,  674,  673,  672,
> --      671,  670,  669,  668,  667,  666,  665,  664,  629,  628,
> --      627,  624,  623,  622,  621,  620,  619,  618,  617,  616,
> --      615,  614,  613,  612,  611,  610,  609,  608,  607,  606,
> --      605,  604,  603,  602,  601,  600,  599,  598,  597,  596,
> --
> --      595,  594,  593,  592,  591,  590,  589,  588,  587,  586,
> --      580,  579,  538,  533,  532,  531,  530,  529,  528,  527,
> --      526,  525,  524,  523,  522,  521,  520,  519,  518,  517,
> --      516,  515,  514,  513,  512,  511,  510,  509,  508,  507,
> --      506,  505,  504,  503,  502,  501,  500,  499,  498,  497,
> --      496,  495,  494,  493,  450,  449,  448,  447,  446,  445,
> --      444,  440,  439,  438,  437,  436,  435,  434,  433,  432,
> --      431,  430,  429,  428,  427,  426,  425,  424,  423,  422,
> --      421,  420,  419,  418,  417,  416,  415,  412,  411,  410,
> --      409,  408,  407,  374,  355,  354,  353,  352,  351,  350,
> --
> --      349,  346,  343,  342,  341,  340,  337,  333,  332,  331,
> --      328,  327,  323,  322,  321,  317,  314,  313,  312,  177,
> --      230,  174,  254,  149,  253,  252,  249,  248,  243,  239,
> --      235,  224, 1234, 1234,  177,  174,  150,  149,  126,   93,
> --     1234, 1234,   72,   46,   11, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> -+      681,  680,  679,  642,  641,  640,  637,  636,  635,  634,
> -+      633,  632,  631,  630,  629,  628,  627,  626,  625,  624,
> -+      623,  622,  621,  620,  619,  618,  617,  616,  615,  614,
> -+
> -+      613,  612,  611,  610,  609,  608,  607,  606,  605,  604,
> -+      603,  602,  601,  600,  599,  593,  592,  549,  544,  543,
> -+      542,  541,  540,  539,  538,  537,  536,  535,  534,  533,
> -+      532,  531,  530,  529,  528,  527,  526,  525,  524,  523,
> -+      522,  521,  520,  519,  518,  517,  516,  515,  514,  513,
> -+      512,  511,  510,  509,  508,  507,  506,  505,  504,  459,
> -+      458,  457,  456,  455,  454,  453,  449,  448,  447,  446,
> -+      445,  444,  443,  442,  441,  440,  439,  438,  437,  436,
> -+      435,  434,  433,  432,  431,  430,  429,  428,  427,  426,
> -+      425,  424,  421,  420,  419,  418,  417,  416,  382,  362,
> -+
> -+      361,  360,  359,  358,  357,  356,  353,  350,  349,  348,
> -+      347,  344,  340,  339,  338,  335,  334,  330,  329,  328,
> -+      324,  321,  320,  319,  181,  235,  178,  259,  152,  258,
> -+      257,  254,  253,  248,  244,  240,  229, 1260, 1260,  181,
> -+      178,  153,  152,  129,   95, 1260, 1260,   74,   47,   11,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> -     } ;
> -
> --static yyconst flex_int16_t yy_chk[2916] =
> -+static const flex_int16_t yy_chk[3021] =
> -     {   0,
> -         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> -         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> -@@ -1169,320 +1177,331 @@ static yyconst flex_int16_t yy_chk[2916]
> -         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> -         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> -         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
> --        2,    4,    4,    5,    2,    4,    6,    8,   15,  245,
> -+        2,    4,    4,    5,    2,    4,    6,    8,   15,  250,
> -         5,    8,   10,    6,    7,   16,   10,   19,   10,   16,
> --       17,   19,   17,   17,   23,   23,   23,  245,    7,   18,
> -+       17,   19,   17,   17,   23,   23,   23,  250,    7,   18,
> -
> --       18,   18,   18,   18,   80,   80,   24,   24,   24,   25,
> --       25,   25,    7,  132,   26,   26,   26,   15,   27,   27,
> --       27,    7,  132,    7,    7,   75,    7,    7,   26,    7,
> --        7,    7,   24,    7,    7, 1088,    7,    7,    7,    7,
> --        7,   20,   25,   20,   20,   43,   28,   28,   28,   43,
> --       20,   20,   29,   29,   29,  184,  184,   20,   30,   30,
> --       30,   32,   32,   32,   75,   27,   20,   31,   31,   31,
> --       33,   33,   33,   47,   34,   34,   34,   47,   20,   20,
> --       35,   35,   35,  131,   20,   70,   82,   28,   82,   70,
> --       28,  133,   20,   28, 1096,   20,   36,   36,   36,   29,
> --
> --      133,   31,   73,   85,   30,   85,   73,   32,   34,   31,
> --      233,   31,  131,   30,   37,   37,   37,   33,   78,   38,
> --       38,   38,   78,   39,   39,   39, 1097,  233,   35,   40,
> --       40,   40,  144,  127,   41,   41,   41,  127,   53,   53,
> --       53,   54,   54,   54,  135,   36,  144, 1098,   36,   55,
> --       55,   55,   63,   63,   63,   37,   37,   38,   37, 1099,
> --       38,   83,   83,   83,  177,   37,  825,  825,   38,   39,
> --       41,   40,   53,  177,  135,   38,   40,   44,   44,   44,
> --       44,   44,   44,   44,   44,   44,   63, 1100,   44,   44,
> --       54,   44,   44,   55,   44,   44,   44,   44,   44,   56,
> --
> --       56,   56,  134,   57,   57,   57,  134,   59,   59,   59,
> --       58,   58,   58, 1102,   60,   60,   60,   61,   61,   61,
> --      224, 1103,   62,   62,   62,   64,   64,   64,   65,   65,
> --       65,  224, 1104,   56,   66,   66,   66,   68,   68,   68,
> --       56,   57, 1105,   56,   58,   59,   56,   94,   94,   94,
> --       57,   60,   58,  129,   58,   61,   62,   58, 1106, 1109,
> --       60,   67,   67,   67,   62,  240,   65,  147,  129,   62,
> --      240,  147,   66,   64,   64,   66,   66,  179,   66,  179,
> --       69,   69,   69,   68,  129,   66,   84,   68,   84,   84,
> --       84,  172,  238,   88,   88,  172,   84,   84,  238,   67,
> --
> --       88,   88,   67,   67,   89,   89,  238,  175,   89,   89,
> --       67,  175,  535,   95,   95,   95,  535,   67,   69,   96,
> --       96,   96,   69,  319,   84,   84,  319,   69,   88,   88,
> --       95,   97,   97,   97,   98,   98,   98,   99,   99,   99,
> --      100,  100,  100,   96,  101,  101,  101,  102,  102,  102,
> --     1110, 1111,   97,  103,  103,  103,  104,  104,  104,  105,
> --      105,  105,  106,  106,  106,  107,  107,  107,  108,  108,
> --      108,   99, 1112, 1113,  100,  109,  109,  109,  110,  110,
> --      110,   98,  111,  111,  111,  112,  112,  112,  247, 1114,
> --      101,  113,  113,  113,  114,  114,  114,  247, 1116,  102,
> --
> --      115,  115,  115,  105,  104,  103, 1117, 1118,  106,  116,
> --      116,  116,  107,  117,  117,  117,  118,  118,  118,  108,
> --      111,  109,  181,  110,  181, 1120,  113,  112,  119,  119,
> --      119, 1121,  112,  120,  120,  120,  121,  121,  121,  137,
> --      115,  114,  122,  122,  122,  137,  137,  117,  123,  123,
> --      123,  124,  124,  124, 1126,  449,  116,  115,  125,  125,
> --      125,  118,  117,  139,  141,  448,  141,  139,  449,  141,
> --      448,  141,  151,  151,  151, 1127,  139,  119,  152,  152,
> --      152,  153,  153,  153,  121,  120,  611,  154,  154,  154,
> --     1128,  611,  122,  124,  155,  155,  155,  123, 1129,  125,
> --
> --      156,  156,  156,  157,  157,  157,  158,  158,  158,  159,
> --      159,  159,  160,  160,  160,  675,  151,  161,  161,  161,
> --     1130,  162,  162,  162, 1131,  153,  163,  163,  163,  675,
> --      152,  154, 1132,  155,  164,  164,  164,  165,  165,  165,
> --      166,  166,  166,  167,  167,  167,  169,  169,  169,  156,
> --      168,  168,  168,  161,  157,  170,  170,  170,  160,  171,
> --      171,  171,  178,  178,  163,  159,  162, 1133, 1134,  178,
> --      178,  164,  187,  187,  187,  180,  180,  163,  180,  180,
> --      180, 1137,  165,  167,  185,  185,  189,  189,  189,  187,
> --     1138,  166,  185,  170,  169,  168, 1140,  178,  178,  713,
> --
> --      167,  713,  183,  183,  188,  188,  188, 1142,  171,  183,
> --      183,  190,  190,  190,  191,  191,  191, 1143,  188,  189,
> --      185,  188,  192,  192,  192,  193,  193,  193,  856,  194,
> --      194,  194,  195,  195,  195,  856, 1144,  183,  183,  196,
> --      196,  196,  197,  197,  197,  198,  198,  198,  199,  199,
> --      199,  200,  200,  200, 1145,  190,  201,  201,  201,  202,
> --      202,  202, 1146,  191,  194,  203,  203,  203,  204,  204,
> --      204, 1151,  192,  226,  226,  193,  226,  195, 1135,  198,
> --     1152, 1154,  199,  196,  205,  205,  205,  206,  206,  206,
> --     1155, 1135,  197,  207,  207,  207,  201,  202,  208,  208,
> --
> --      208,  209,  209,  209,  210,  210,  210,  211,  211,  211,
> --      212,  212,  212, 1156,  203,  213,  213,  213,  214,  214,
> --      214,  204,  215,  215,  215, 1157,  216,  216,  216, 1158,
> --     1160,  206,  217,  217,  217,  205,  218,  218,  218,  209,
> --     1161,  230,  207, 1162,  208,  219,  219,  219, 1163,  220,
> --      220,  220, 1164,  230, 1165,  210,  230,  761,  211, 1166,
> --      215,  761,  212,  213,  216,  214,  255,  255,  255,  256,
> --      256,  256, 1167,  761,  217,  257,  257,  257,  258,  258,
> --      258, 1168,  219,  220,  259,  259,  259,  218,  260,  260,
> --      260,  261,  261,  261,  262,  262,  262,  263,  263,  263,
> --
> --      264,  264,  264,  265,  265,  265, 1169,  256,  257,  266,
> --      266,  266,  267,  267,  267, 1173,  255, 1174,  259,  268,
> --      268,  268,  258,  269,  269,  269,  270,  270,  270,  271,
> --      271,  271, 1175,  260,  274,  274,  274,  263,  264, 1176,
> --     1178,  265,  272,  272,  272,  273,  273,  273,  262, 1179,
> --      267,  266,  276, 1180,  276,  276,  276,  277, 1181,  277,
> --      277,  277,  278,  278,  278, 1183,  268,  271,  277,  279,
> --      279,  279,  270,  280,  280,  280, 1185, 1186,  273, 1187,
> --      272,  279, 1189, 1194,  274,  281,  281,  281,  282,  282,
> --      282,  281, 1197,  280, 1198, 1199,  277,  283,  283,  283,
> --
> --      284,  284,  284,  285,  285,  285,  281,  281,  281,  281,
> --     1200,  286,  286,  286,  287,  287,  287,  288,  288,  288,
> --      289,  289,  289,  290,  290,  290,  291,  291,  291,  292,
> --      292,  292,  293,  293,  293,  294,  294,  294,  295,  295,
> --      295,  296,  296,  296,  297,  297,  297,  298,  298,  298,
> --      284,  299,  299,  299,  285,  286, 1201, 1202,  289,  288,
> --      300,  300,  300,  301,  301,  301, 1208,  290, 1209,  294,
> --     1210, 1212,  295,  302,  302,  302,  347,  291, 1213,  296,
> --      347, 1217,  293,  347, 1218,  299,  297, 1219, 1224,  299,
> --      303,  303,  303,  300,  304,  304,  304, 1227,  298,  305,
> --
> --      305,  305,  306,  306,  306,  307,  307,  307,  308,  308,
> --      308, 1229, 1242,  301, 1087,  302,  309,  309,  309,  310,
> --      310,  310,  311,  311,  311, 1086,  303,  356,  356,  356,
> --      357,  357,  357,  358,  358,  358, 1085, 1083,  304,  359,
> --      359,  359,  307,  360,  360,  360, 1082, 1081,  308,  361,
> --      361,  361, 1080,  305,  362,  362,  362,  363,  363,  363,
> --      364,  364,  364, 1079, 1077,  356, 1076, 1075,  309, 1074,
> --     1073,  311,  359,  365,  365,  365, 1072,  366,  366,  366,
> --     1071, 1070,  358,  361,  367,  367,  367,  368,  368,  368,
> --     1069,  369,  369,  369, 1068,  360,  370,  370,  370, 1067,
> --
> --     1066,  362,  371,  371,  371, 1065,  364, 1064, 1063,  363,
> --      372,  372,  372,  373,  373,  373,  375,  375,  375, 1062,
> --      376,  376,  376,  365,  366,  369,  378,  378,  378,  369,
> --      377,  377,  377,  367, 1061,  375,  380,  380,  380,  371,
> --      368,  379,  379,  379,  372,  376,  370, 1060, 1052,  377,
> --      381,  381,  381, 1051,  372,  373,  378,  382,  382,  382,
> --     1050,  379, 1049, 1048,  381,  380, 1045,  381,  383,  383,
> --      383,  384,  384,  384,  381,  385,  385,  385,  386,  386,
> --      386,  387,  387,  387,  388,  388,  388,  389,  389,  389,
> --      390,  390,  390,  391,  391,  391,  392,  392,  392, 1044,
> --
> --      393,  393,  393,  394,  394,  394,  395,  395,  395,  384,
> --     1043,  385,  396,  396,  396,  397,  397,  397,  398,  398,
> --      398,  399,  399,  399,  400,  400,  400,  401,  401,  401,
> --     1042, 1041,  392,  677,  677,  389,  393,  402,  402,  402,
> --     1039,  390,  677, 1038,  391,  403,  403,  403,  677,  396,
> --      395,  404,  404,  404,  405,  405,  405,  399,  406,  406,
> --      406,  401,  451,  451,  451, 1037,  397,  452,  452,  452,
> --      453,  453,  453, 1036, 1035,  400, 1034,  454,  454,  454,
> --      455,  455,  455,  403,  456,  456,  456, 1033,  405, 1032,
> --     1031,  406,  457,  457,  457, 1030, 1029,  404,  458,  458,
> --
> --      458,  452, 1028,  459,  459,  459,  460,  460,  460,  461,
> --      461,  461,  462,  462,  462,  463,  463,  463, 1027, 1026,
> --      453,  454,  464,  464,  464, 1025,  457,  465,  465,  465,
> --     1024,  455, 1023,  456,  466,  466,  466,  467,  467,  467,
> --      468,  468,  468,  467,  469,  469,  469,  461,  458,  459,
> --      471,  471,  471,  470,  470,  470,  462,  471, 1022, 1021,
> --      470,  470,  470,  462,  468, 1012,  463, 1011, 1010,  465,
> --      470,  464, 1009,  470,  469, 1007, 1006,  470,  470, 1005,
> --     1004,  466,  472,  472,  472,  473,  473,  473,  474,  474,
> --      474,  475,  475,  475,  476,  476,  476,  473,  477,  477,
> --
> --      477, 1003,  472, 1002, 1001,  475,  999,  998,  474,  478,
> --      478,  478,  479,  479,  479,  480,  480,  480,  481,  481,
> --      481,  482,  482,  482,  483,  483,  483,  484,  484,  484,
> --      485,  485,  485,  486,  486,  486,  487,  487,  487,  997,
> --      477,  996,  995,  478,  488,  488,  488,  489,  489,  489,
> --      490,  490,  490,  480,  491,  491,  491,  994,  993,  479,
> --      492,  492,  492,  495,  495,  539,  539,  539,  992,  481,
> --      540,  540,  540,  991,  483,  541,  541,  541,  990,  495,
> --      495,  542,  542,  542,  495,  989,  489,  988,  490,  987,
> --      543,  543,  543,  986,  985,  488,  984,  983,  491,  544,
> --
> --      544,  544,  545,  545,  545,  982,  981,  539,  546,  546,
> --      546,  492,  547,  547,  547,  548,  548,  548,  549,  549,
> --      549,  980,  540,  550,  550,  550,  541,  543,  551,  551,
> --      551,  552,  552,  552,  553,  553,  553,  979,  968,  544,
> --      545,  967,  546,  966,  965,  547,  554,  554,  554,  964,
> --      963,  553,  549,  962,  555,  555,  555,  556,  556,  556,
> --      557,  557,  557,  550,  961,  960,  557,  548,  558,  558,
> --      558,  959,  958,  551,  559,  559,  559,  552,  555,  560,
> --      560,  560,  558,  556,  957,  956,  560,  955,  559,  561,
> --      561,  561,  562,  562,  562,  563,  563,  563,  564,  564,
> --
> --      564,  565,  565,  565,  954,  564,  561,  566,  566,  566,
> --      563,  567,  567,  567,  568,  568,  568,  953,  562,  951,
> --      565,  950,  562,  569,  569,  569,  570,  570,  570,  571,
> --      571,  571,  566,  572,  572,  572,  573,  573,  573,  574,
> --      574,  574,  567,  575,  575,  575,  576,  576,  576,  577,
> --      577,  577,  578,  578,  578,  630,  630,  630,  949,  569,
> --      631,  631,  631,  947,  946,  568,  632,  632,  632,  945,
> --      944,  572,  634,  634,  634,  570,  943,  574,  633,  633,
> --      633,  942,  941,  576,  635,  635,  635,  636,  636,  636,
> --      637,  637,  637,  638,  638,  638,  639,  639,  639,  632,
> --
> --      640,  640,  640,  940,  939,  630,  938,  937,  631,  936,
> --      634,  633,  641,  641,  641,  642,  642,  642,  935,  643,
> --      643,  643,  635,  644,  644,  644,  645,  645,  645,  934,
> --      933,  636,  918,  917,  637,  916,  915,  645,  914,  913,
> --      644,  639,  638,  643,  646,  646,  646,  647,  647,  647,
> --      912,  911,  640,  910,  641,  647,  648,  648,  648,  909,
> --      907,  646,  649,  649,  649,  650,  650,  650,  651,  651,
> --      651,  652,  652,  652,  653,  653,  653,  649,  906,  650,
> --      648,  654,  654,  654,  653,  655,  655,  655,  902,  651,
> --      901,  655,  652,  656,  656,  656,  654,  657,  657,  657,
> --
> --      658,  658,  658,  659,  659,  659,  900,  657,  660,  660,
> --      660,  661,  661,  661,  662,  662,  662,  663,  663,  663,
> --      714,  714,  714,  715,  715,  715,  656,  716,  716,  716,
> --      717,  717,  717,  718,  718,  718,  719,  719,  719,  899,
> --      898,  659,  720,  720,  720,  721,  721,  721,  661,  722,
> --      722,  722,  897,  896,  716,  723,  723,  723,  714,  895,
> --      894,  715,  893,  892,  717,  724,  724,  724,  725,  725,
> --      725,  726,  726,  726,  727,  727,  727,  728,  728,  728,
> --      729,  729,  729,  721,  730,  730,  730,  722,  728,  731,
> --      731,  731,  891,  890,  727,  889,  888,  729,  732,  732,
> --
> --      732,  887,  886,  723,  733,  733,  733,  885,  732,  730,
> --      724,  884,  733,  883,  731,  734,  734,  734,  882,  725,
> --      735,  735,  735,  736,  736,  736,  737,  737,  737,  881,
> --      735,  736,  734,  738,  738,  738,  739,  739,  739,  740,
> --      740,  740,  880,  879,  739,  739,  741,  741,  741,  857,
> --      738,  742,  742,  742,  790,  790,  790,  855,  854,  737,
> --      791,  791,  791,  792,  792,  792,  793,  793,  793,  794,
> --      794,  794,  740,  795,  795,  795,  796,  796,  796,  797,
> --      797,  797,  798,  798,  798,  853,  851,  790,  799,  799,
> --      799,  800,  800,  800,  801,  801,  801,  802,  802,  802,
> --
> --      801,  800,  850,  794,  849,  792,  803,  803,  803,  791,
> --      804,  804,  804,  799,  848,  793,  846,  797,  804,  845,
> --      798,  805,  805,  805,  806,  806,  806,  807,  807,  807,
> --      844,  805,  843,  842,  806,  808,  808,  808,  809,  809,
> --      809,  810,  810,  810,  841,  840,  809,  809,  811,  811,
> --      811,  812,  812,  812,  813,  813,  813,  858,  858,  858,
> --      808,  859,  859,  859,  839,  812,  838,  837,  811,  860,
> --      860,  860,  861,  861,  861,  836,  862,  862,  862,  813,
> --      863,  863,  863,  864,  864,  864,  865,  865,  865,  835,
> --      834,  866,  866,  866,  859,  867,  867,  867,  868,  868,
> --
> --      868,  833,  867,  832,  829,  858,  869,  869,  869,  870,
> --      870,  870,  861,  862,  866,  871,  871,  871,  860,  828,
> --      864,  827,  826,  868,  824,  823,  863,  872,  872,  872,
> --      873,  873,  873,  874,  874,  874,  875,  875,  875,  876,
> --      876,  876,  822,  821,  873,  820,  819,  872,  919,  919,
> --      919,  818,  874,  920,  920,  920,  921,  921,  921,  817,
> --      875,  922,  922,  922,  923,  923,  923,  924,  924,  924,
> --      925,  925,  925,  926,  926,  926,  927,  927,  927,  928,
> --      928,  928,  929,  929,  929,  930,  930,  930,  931,  931,
> --      931,  816,  815,  927,  814,  920,  932,  932,  932,  789,
> --
> --      788,  929,  787,  925,  919,  785,  923,  921,  784,  930,
> --      969,  969,  969,  922,  970,  970,  970,  781,  924,  971,
> --      971,  971,  972,  972,  972,  779,  973,  973,  973,  974,
> --      974,  974,  975,  975,  975,  976,  976,  976,  977,  977,
> --      977,  778,  777,  969,  776,  976,  978,  978,  978, 1013,
> --     1013, 1013, 1014, 1014, 1014, 1015, 1015, 1015,  775,  774,
> --      970,  773,  974, 1016, 1016, 1016,  975,  972, 1017, 1017,
> --     1017,  971,  973, 1018, 1018, 1018, 1019, 1019, 1019, 1020,
> --     1020, 1020, 1053, 1053, 1053,  772,  771, 1013,  770, 1015,
> --     1054, 1054, 1054,  769, 1014, 1055, 1055, 1055, 1056, 1056,
> --
> --     1056, 1016, 1057, 1057, 1057, 1059, 1059, 1059, 1017, 1058,
> --     1058, 1058, 1089, 1089, 1089, 1090, 1090, 1090,  767, 1018,
> --     1091, 1091, 1091,  766, 1019, 1092, 1092, 1092,  765,  764,
> --     1091,  763, 1093, 1093, 1093,  762,  760, 1053,  759, 1055,
> --      758, 1054,  757, 1058, 1056,  756,  755, 1059, 1089, 1094,
> --     1094, 1094, 1122, 1122, 1122, 1123, 1123, 1123, 1124, 1124,
> --     1124, 1125, 1125, 1125, 1147, 1147, 1147, 1148, 1148, 1148,
> --     1149, 1149, 1149, 1150, 1150, 1150, 1092, 1093, 1170, 1170,
> --     1170, 1171, 1171, 1171, 1172, 1172, 1172, 1191, 1191, 1191,
> --     1122, 1190, 1190, 1190, 1205, 1205, 1205,  754,  753, 1125,
> --
> --     1206, 1206, 1206,  752, 1123, 1214, 1214, 1214, 1124, 1215,
> --     1215, 1215, 1147, 1206,  751,  750, 1148, 1221, 1221, 1221,
> --     1222, 1222, 1222, 1150, 1226, 1226, 1226,  749, 1171, 1170,
> --     1228, 1228, 1228, 1190,  748,  747, 1191, 1230, 1230, 1230,
> --      746, 1205,  745, 1215, 1232, 1232, 1232, 1233, 1233, 1233,
> --      744, 1214,  743,  712,  711,  710,  709,  708,  707,  705,
> --      704, 1226,  703,  702,  701,  700, 1222,  699,  698,  697,
> --      696,  695,  694,  693, 1228, 1230,  692,  690,  689,  687,
> --      685,  684,  683,  680,  679,  678,  674,  673,  671,  670,
> --      669,  668,  667, 1232, 1235, 1235, 1235, 1235, 1236, 1236,
> --
> --     1236, 1236, 1237, 1237, 1237, 1237, 1238, 1238, 1238, 1238,
> --     1239, 1239, 1240, 1240, 1241,  666, 1241, 1241,  665,  664,
> --      629,  628,  627,  626,  625,  624,  623,  622,  621,  620,
> --      619,  618,  617,  616,  614,  613,  612,  610,  609,  608,
> --      607,  606,  605,  604,  602,  601,  600,  599,  598,  597,
> --      596,  595,  594,  593,  592,  591,  590,  589,  588,  587,
> --      586,  585,  584,  583,  582,  581,  580,  579,  538,  537,
> --      536,  534,  533,  532,  531,  530,  529,  528,  527,  526,
> --      525,  524,  523,  522,  521,  520,  519,  518,  517,  516,
> --      515,  514,  513,  512,  511,  510,  509,  508,  507,  506,
> --
> --      505,  504,  503,  502,  501,  500,  499,  498,  497,  496,
> --      494,  493,  450,  447,  446,  445,  444,  443,  442,  441,
> --      440,  439,  438,  437,  436,  435,  434,  433,  432,  431,
> --      430,  429,  428,  427,  426,  425,  424,  423,  422,  421,
> --      420,  419,  418,  417,  416,  415,  414,  413,  412,  411,
> --      410,  409,  408,  407,  354,  353,  352,  351,  350,  349,
> --      348,  346,  345,  344,  343,  342,  341,  340,  339,  338,
> --      337,  336,  335,  334,  333,  332,  331,  330,  329,  328,
> --      327,  326,  325,  324,  322,  321,  320,  318,  317,  316,
> --      315,  314,  313,  275,  254,  253,  252,  251,  250,  249,
> --
> --      248,  246,  244,  243,  242,  241,  239,  237,  235,  234,
> --      232,  231,  229,  228,  227,  225,  223,  222,  221,  176,
> --      174,  173,  149,  148,  146,  145,  143,  142,  140,  138,
> --      136,  130,   81,   77,   74,   71,   51,   48,   42,   22,
> --       21,   11,    9,    3, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> -+       18,   18,   18,   18,   82,   82,   24,   24,   24,   25,
> -+       25,   25,    7,   26,   26,   26,   44,   15,   48,  135,
> -+       44,    7,   48,    7,    7, 1112,    7,    7,  135,    7,
> -+        7,    7,   24,    7,    7,    7,    7,    7,    7,    7,
> -+        7,   20,  147,   20,   20, 1121,   26,   27,   27,   27,
> -+       20,   20,   28,   28,   28,   77,  147,   20,   30,   30,
> -+       30,   27,   29,   29,   29,   25,   20,   31,   31,   31,
> -+       32,   32,   32,   33,   33,   33,  188,  188,   20,   20,
> -+       34,   34,   34,   84,   20,   84,   35,   35,   35,   36,
> -+       36,   36,   20, 1122,   77,   20,   37,   37,   37,   28,
> -+
> -+       38,   38,   38,   29,   32,   30,   29,   72,   87,   29,
> -+       87,   72,   32,   31,   32,   39,   39,   39,  134,   33,
> -+       35,  238,   31,   40,   40,   40, 1123,   34,   41,   41,
> -+       41,   42,   42,   42,   54,   54,   54,   36,  238,   75,
> -+      136,   38,   38,   75,   38,   37,   80,  134,   37,  136,
> -+       80,   38,  458,   39,  181,  229,   39,   55,   55,   55,
> -+       56,   56,   56,  181,   39,  458,  229,   42,   54,   40,
> -+       41,   39,   58,   58,   58,   41,   45,   45,   45,   45,
> -+       45,   45,   45,   45,   45,  130, 1124,   45,   45,  130,
> -+       45,   45, 1125,   45,   45,   45,   45,   45,   57,   57,
> -+
> -+       57,   61,   61,   61,   56,  132,   55,   59,   59,   59,
> -+       58, 1127,   60,   60,   60,   62,   62,   62,  138,   58,
> -+      132,   63,   63,   63,   64,   64,   64,   65,   65,   65,
> -+      875,  235,   57,   66,   66,   66,  132,  875,   61,   57,
> -+      137,   59,   57,  235,  137,   57,  235,   61,  138,   59,
> -+       60,   59,  150,   62,   59,   63,  150,  245,   64,   67,
> -+       67,   67,  245,   63,   68,   68,   68, 1128,   63,   69,
> -+       69,   69,   85,   85,   85,   65,   65,   70,   70,   70,
> -+      142,  183,   66,  183,  142,   66,   71,   71,   71,   66,
> -+       91,   91,  176,  142,   91,   91,  176,   67,   96,   96,
> -+
> -+       96,  185,   68,  185,  457,   68,   68,   69,   68,  457,
> -+       69,   69,   90,   90,  728,   68,  728,  179,   69,   90,
> -+       90,  179,  546,   70,   71,   69,  546,   70,   71,   97,
> -+       97,   97,   86,   71,   86,   86,   86, 1129,  140,   98,
> -+       98,   98,   86,   86,  140,  140,   97,   90,   90,   99,
> -+       99,   99, 1130,  100,  100,  100,  101,  101,  101,  102,
> -+      102,  102,  103,  103,  103,  104,  104,  104,  844,  844,
> -+       86,   86,   98,   99,  100,  105,  105,  105,  106,  106,
> -+      106,  107,  107,  107,  108,  108,  108,  109,  109,  109,
> -+      110,  110,  110,  102, 1131, 1134,  103,  111,  111,  111,
> -+
> -+      112,  112,  112,  101,  113,  113,  113,  114,  114,  114,
> -+     1135,  104,  115,  115,  115,  116,  116,  116,  117,  117,
> -+      117,  118,  118,  118,  119,  119,  119,  105,  108,  107,
> -+      106, 1136, 1137,  109,  120,  120,  120,  110,  252,  121,
> -+      121,  121,  122,  122,  122,  114,  112,  252,  111,  113,
> -+      116,  123,  123,  123,  115,  624,  124,  124,  124,  115,
> -+      624,  118,  125,  125,  125,  117,  231,  231,  120,  231,
> -+     1138,  119,  126,  126,  126,  127,  127,  127,  118,  128,
> -+      128,  128, 1139,  120,  121,  144,  326,  144,  690,  326,
> -+      144,  122,  144,  154,  154,  154,  155,  155,  155,  156,
> -+
> -+      156,  156,  690,  123,  124,  157,  157,  157,  158,  158,
> -+      158, 1141,  125,  159,  159,  159, 1142,  127, 1143, 1145,
> -+      128,  126,  160,  160,  160,  161,  161,  161,  162,  162,
> -+      162,  163,  163,  163,  164,  164,  164,  154,  165,  165,
> -+      165, 1146, 1152,  156,  166,  166,  166,  158,  155,  157,
> -+      167,  167,  167,  168,  168,  168,  169,  169,  169,  170,
> -+      170,  170,  159,  171,  171,  171,  172,  172,  172, 1153,
> -+      164, 1154, 1155,  160,  173,  173,  173,  163,  174,  174,
> -+      174, 1156,  166,  165,  162, 1157,  168,  167,  175,  175,
> -+      175,  182,  182,  354, 1158,  166, 1159,  354,  182,  182,
> -+
> -+      354,  169, 1160,  171,  184,  184, 1161,  184,  184,  184,
> -+      170,  172, 1163,  189,  189, 1164,  174,  187,  187, 1161,
> -+      171,  189,  173, 1166,  187,  187,  182,  182,  191,  191,
> -+      191,  192,  192,  192,  193,  193,  193,  175,  194,  194,
> -+      194,  195,  195,  195, 1168,  191, 1169, 1170,  193,  189,
> -+     1171,  193,  187,  187,  196,  196,  196,  197,  197,  197,
> -+      198,  198,  198,  199,  199,  199,  200,  200,  200, 1172,
> -+     1177,  194,  201,  201,  201,  202,  202,  202,  203,  203,
> -+      203,  192,  205,  205,  205,  195,  204,  204,  204,  206,
> -+      206,  206,  207,  207,  207,  208,  208,  208,  199,  209,
> -+
> -+      209,  209, 1178,  196,  210,  210,  210,  197, 1180, 1181,
> -+      198,  200,  203,  211,  211,  211,  201,  212,  212,  212,
> -+      204,  213,  213,  213, 1182,  202,  214,  214,  214,  206,
> -+      207,  215,  215,  215,  216,  216,  216,  217,  217,  217,
> -+      218,  218,  218, 1183,  208,  219,  219,  219,  220,  220,
> -+      220, 1184,  209, 1186, 1187,  210, 1188,  211,  221,  221,
> -+      221,  222,  222,  222,  214, 1189,  212,  213,  223,  223,
> -+      223,  224,  224,  224, 1190,  225,  225,  225,  260,  260,
> -+      260,  243,  215, 1191, 1192,  216,  220,  243,  218,  217,
> -+     1193, 1194,  219, 1195, 1199,  243,  221,  261,  261,  261,
> -+
> -+      262,  262,  262,  222,  263,  263,  263, 1200,  224,  225,
> -+      264,  264,  264,  265,  265,  265,  266,  266,  266,  223,
> -+      267,  267,  267,  268,  268,  268, 1201, 1202,  260,  269,
> -+      269,  269, 1204,  262, 1205,  261, 1206,  270,  270,  270,
> -+      271,  271,  271, 1207,  264,  272,  272,  272,  263,  273,
> -+      273,  273, 1209,  274,  274,  274, 1211, 1212,  265,  275,
> -+      275,  275, 1213,  268,  276,  276,  276,  269,  277,  277,
> -+      277,  278,  278,  278,  267,  270, 1215,  778,  279,  279,
> -+      279,  778,  271,  272,  280,  280,  280,  282, 1220,  282,
> -+      282,  282,  283,  778,  283,  283,  283, 1223, 1224,  273,
> -+
> -+      274, 1225, 1226,  283, 1227, 1228,  277, 1234, 1235,  278,
> -+      276,  279,  284,  284,  284,  285,  285,  285,  286,  286,
> -+      286,  287,  287,  287, 1236, 1238,  288,  288,  288, 1239,
> -+      286,  283,  288, 1243,  280,  289,  289,  289,  290,  290,
> -+      290,  287,  291,  291,  291, 1244, 1245,  288,  288,  288,
> -+      288,  292,  292,  292,  293,  293,  293,  294,  294,  294,
> -+     1250,  295,  295,  295, 1253,  285,  296,  296,  296,  297,
> -+      297,  297,  298,  298,  298,  299,  299,  299,  300,  300,
> -+      300,  301,  301,  301,  302,  302,  302,  303,  303,  303,
> -+     1255, 1268,  291,  304,  304,  304, 1111, 1110,  293,  305,
> -+
> -+      305,  305,  292,  295,  296,  306,  306,  306,  307,  307,
> -+      307, 1109, 1107,  297, 1106,  301, 1105, 1104,  302,  308,
> -+      308,  308, 1103,  298, 1101,  303, 1100, 1099,  300,  309,
> -+      309,  309,  310,  310,  310,  304,  311,  311,  311,  306,
> -+     1098,  307, 1097,  306,  312,  312,  312,  313,  313,  313,
> -+      305,  314,  314,  314,  315,  315,  315,  316,  316,  316,
> -+      317,  317,  317,  318,  318,  318, 1096, 1095,  310,  308,
> -+     1094,  309,  363,  363,  363,  364,  364,  364,  692,  692,
> -+      311,  365,  365,  365,  366,  366,  366,  692,  314,  367,
> -+      367,  367, 1093,  692,  315,  368,  368,  368,  312,  369,
> -+
> -+      369,  369,  370,  370,  370,  371,  371,  371, 1092,  316,
> -+      363, 1091,  318,  372,  372,  372, 1090,  366,  373,  373,
> -+      373,  374,  374,  374,  375,  375,  375, 1089, 1088,  368,
> -+      365,  376,  376,  376,  377,  377,  377,  378,  378,  378,
> -+     1087,  367,  379,  379,  379, 1086,  369,  380,  380,  380,
> -+     1085,  371, 1084, 1075,  370,  381,  381,  381,  383,  383,
> -+      383, 1074, 1073,  372, 1072,  373, 1071, 1068,  377, 1067,
> -+      374, 1066,  377, 1065,  375,  384,  384,  384, 1064,  379,
> -+     1062,  380, 1061, 1060,  376, 1059, 1058,  378,  385,  385,
> -+      385,  380, 1057, 1056,  384, 1055, 1054,  381, 1053, 1052,
> -+
> -+      383,  386,  386,  386,  387,  387,  387,  388,  388,  388,
> -+      389,  389,  389,  385,  390,  390,  390,  391,  391,  391,
> -+      386,  392,  392,  392,  393,  393,  393,  388,  390, 1051,
> -+     1050,  390, 1049, 1048,  387,  394,  394,  394,  390,  389,
> -+      395,  395,  395,  396,  396,  396,  397,  397,  397,  398,
> -+      398,  398,  399,  399,  399,  400,  400,  400,  401,  401,
> -+      401, 1047,  393,  402,  402,  402,  403,  403,  403, 1046,
> -+     1045,  394,  404,  404,  404,  405,  405,  405,  406,  406,
> -+      406,  407,  407,  407,  408,  408,  408,  409,  409,  409,
> -+      410,  410,  410, 1044,  401, 1034, 1033,  398, 1032,  402,
> -+
> -+      411,  411,  411,  399, 1031, 1029,  400,  412,  412,  412,
> -+     1028, 1027,  405,  413,  413,  413,  404,  414,  414,  414,
> -+      408,  415,  415,  415,  410,  460,  460,  460, 1026,  406,
> -+      461,  461,  461,  462,  462,  462, 1025, 1024,  409, 1023,
> -+      463,  463,  463, 1021, 1020,  412,  464,  464,  464, 1019,
> -+     1018,  414, 1017, 1016,  415,  465,  465,  465, 1015,  413,
> -+      466,  466,  466, 1014,  461,  467,  467,  467,  468,  468,
> -+      468,  469,  469,  469,  470,  470,  470, 1013, 1012,  471,
> -+      471,  471, 1011,  462,  463,  472,  472,  472,  473,  473,
> -+      473,  474,  474,  474,  466, 1010, 1009,  464, 1008,  475,
> -+
> -+      475,  475, 1007, 1006,  465,  476,  476,  476,  477,  477,
> -+      477,  479,  479,  479,  468,  467,  470,  471,  478,  478,
> -+      478,  480,  480,  480,  478,  481,  481,  481, 1005,  472,
> -+     1004, 1003,  481,  481,  481,  479,  472, 1002, 1001,  473,
> -+      474,  475,  481,  989,  988,  481,  482,  482,  482,  481,
> -+      481,  480,  476,  482,  483,  483,  483,  484,  484,  484,
> -+      485,  485,  485,  987,  986,  477,  487,  487,  487,  484,
> -+      486,  486,  486,  985,  483,  488,  488,  488,  984,  983,
> -+      485,  489,  489,  489,  486,  490,  490,  490,  491,  491,
> -+      491,  492,  492,  492,  493,  493,  493,  494,  494,  494,
> -+
> -+      495,  495,  495,  496,  496,  496,  497,  497,  497,  498,
> -+      498,  498,  499,  499,  499,  489,  982,  488,  500,  500,
> -+      500,  501,  501,  501,  506,  506,  491,  502,  502,  502,
> -+      981,  980,  490,  503,  503,  503,  550,  550,  550,  979,
> -+      506,  506,  492,  978,  977,  506,  976,  494,  551,  551,
> -+      551,  552,  552,  552,  553,  553,  553,  500,  975,  501,
> -+      554,  554,  554,  499,  555,  555,  555,  556,  556,  556,
> -+      974,  502,  557,  557,  557,  558,  558,  558,  550,  559,
> -+      559,  559,  972,  971,  503,  560,  560,  560,  561,  561,
> -+      561,  562,  562,  562,  563,  563,  563,  554,  970,  968,
> -+
> -+      551,  967,  552,  966,  555,  556,  557,  564,  564,  564,
> -+      965,  964,  559,  565,  565,  565,  566,  566,  566,  567,
> -+      567,  567,  561,  568,  568,  568,  569,  569,  569,  963,
> -+      962,  562,  558,  566,  570,  570,  570,  560,  961,  563,
> -+      570,  571,  571,  571,  572,  572,  572,  568,  574,  574,
> -+      574,  565,  569,  564,  960,  571,  959,  958,  572,  573,
> -+      573,  573,  575,  575,  575,  574,  573,  576,  576,  576,
> -+      577,  577,  577,  957,  578,  578,  578,  577,  579,  579,
> -+      579,  956,  576,  580,  580,  580,  955,  954,  575,  581,
> -+      581,  581,  575,  578,  582,  582,  582,  583,  583,  583,
> -+
> -+      584,  584,  584,  579,  585,  585,  585,  586,  586,  586,
> -+      587,  587,  587,  938,  580,  588,  588,  588,  589,  589,
> -+      589,  590,  590,  590,  591,  591,  591,  643,  643,  643,
> -+      582,  644,  644,  644,  645,  645,  645,  646,  646,  646,
> -+      581,  937,  585,  647,  647,  647,  583,  936,  587,  648,
> -+      648,  648,  649,  649,  649,  589,  650,  650,  650,  651,
> -+      651,  651,  652,  652,  652,  935,  934,  645,  933,  932,
> -+      646,  653,  653,  653,  654,  654,  654,  643,  931,  644,
> -+      930,  647,  655,  655,  655,  929,  927,  648,  656,  656,
> -+      656,  658,  658,  658,  650,  926,  649,  657,  657,  657,
> -+
> -+      659,  659,  659,  651,  661,  661,  661,  660,  660,  660,
> -+      922,  652,  662,  662,  662,  658,  653,  659,  660,  921,
> -+      662,  661,  920,  919,  655,  918,  654,  663,  663,  663,
> -+      657,  664,  664,  664,  665,  665,  665,  666,  666,  666,
> -+      667,  667,  667,  668,  668,  668,  664,  917,  665,  916,
> -+      915,  663,  914,  668,  669,  669,  669,  913,  666,  912,
> -+      911,  667,  670,  670,  670,  671,  671,  671,  670,  669,
> -+      672,  672,  672,  673,  673,  673,  674,  674,  674,  910,
> -+      672,  675,  675,  675,  676,  676,  676,  677,  677,  677,
> -+      678,  678,  678,  729,  729,  729,  909,  908,  671,  730,
> -+
> -+      730,  730,  731,  731,  731,  732,  732,  732,  733,  733,
> -+      733,  734,  734,  734,  674,  735,  735,  735,  736,  736,
> -+      736,  676,  737,  737,  737,  738,  738,  738,  907,  731,
> -+      906,  729,  739,  739,  739,  905,  904,  730,  903,  732,
> -+      740,  740,  740,  741,  741,  741,  742,  742,  742,  902,
> -+      901,  736,  743,  743,  743,  744,  744,  744,  900,  899,
> -+      737,  876,  874,  738,  873,  745,  745,  745,  872,  746,
> -+      746,  746,  758,  758,  758,  744,  745,  747,  747,  747,
> -+      739,  748,  748,  748,  870,  740,  746,  869,  749,  749,
> -+      749,  750,  750,  750,  741,  868,  867,  742,  749,  750,
> -+
> -+      865,  864,  747,  751,  751,  751,  748,  752,  752,  752,
> -+      753,  753,  753,  754,  754,  754,  863,  752,  753,  862,
> -+      751,  755,  755,  755,  756,  756,  756,  757,  757,  757,
> -+      861,  860,  756,  756,  759,  759,  759,  859,  755,  807,
> -+      807,  807,  808,  808,  808,  858,  754,  809,  809,  809,
> -+      810,  810,  810,  811,  811,  811,  812,  812,  812,  857,
> -+      757,  813,  813,  813,  814,  814,  814,  815,  815,  815,
> -+      856,  855,  807,  816,  816,  816,  817,  817,  817,  854,
> -+      853,  818,  818,  818,  819,  819,  819,  852,  851,  809,
> -+      812,  808,  848,  847,  819,  820,  820,  820,  846,  810,
> -+
> -+      845,  820,  843,  842,  811,  815,  818,  821,  821,  821,
> -+      841,  816,  822,  822,  822,  823,  823,  823,  824,  824,
> -+      824,  840,  839,  823,  825,  825,  825,  838,  824,  826,
> -+      826,  826,  837,  836,  825,  827,  827,  827,  828,  828,
> -+      828,  829,  829,  829,  835,  834,  828,  828,  830,  830,
> -+      830,  831,  831,  831,  832,  832,  832,  877,  877,  877,
> -+      827,  878,  878,  878,  833,  831,  806,  805,  830,  879,
> -+      879,  879,  880,  880,  880,  881,  881,  881,  804,  832,
> -+      882,  882,  882,  883,  883,  883,  884,  884,  884,  885,
> -+      885,  885,  802,  801,  878,  798,  886,  886,  886,  887,
> -+
> -+      887,  887,  888,  888,  888,  877,  887,  796,  881,  889,
> -+      889,  889,  880,  890,  890,  890,  795,  882,  879,  886,
> -+      891,  891,  891,  884,  892,  892,  892,  888,  794,  883,
> -+      793,  893,  893,  893,  894,  894,  894,  895,  895,  895,
> -+      896,  896,  896,  792,  892,  893,  939,  939,  939,  940,
> -+      940,  940,  791,  894,  941,  941,  941,  942,  942,  942,
> -+      790,  895,  943,  943,  943,  944,  944,  944,  945,  945,
> -+      945,  946,  946,  946,  947,  947,  947,  948,  948,  948,
> -+      949,  949,  949,  789,  950,  950,  950,  951,  951,  951,
> -+      788,  940,  787,  786,  948,  952,  952,  952,  943,  953,
> -+
> -+      953,  953,  939,  950,  946,  941,  784,  944,  783,  942,
> -+      782,  951,  990,  990,  990,  991,  991,  991,  781,  945,
> -+      992,  992,  992,  993,  993,  993,  994,  994,  994,  995,
> -+      995,  995,  996,  996,  996,  997,  997,  997,  998,  998,
> -+      998,  999,  999,  999,  780,  990,  779,  777,  998, 1000,
> -+     1000, 1000, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037,
> -+     1037,  991, 1038, 1038, 1038,  996,  776,  775,  993,  997,
> -+      994,  774,  992,  773,  772,  995, 1039, 1039, 1039, 1040,
> -+     1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042,  771,  770,
> -+     1035,  769, 1037, 1043, 1043, 1043,  768, 1036,  767,  766,
> -+
> -+     1038, 1076, 1076, 1076, 1077, 1077, 1077, 1078, 1078, 1078,
> -+      765, 1079, 1079, 1079, 1039, 1080, 1080, 1080,  764, 1040,
> -+     1081, 1081, 1081,  763, 1082, 1082, 1082,  762, 1041, 1083,
> -+     1083, 1083,  761, 1042, 1113, 1113, 1113, 1114, 1114, 1114,
> -+     1115, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1080,
> -+     1115, 1078, 1118, 1118, 1118, 1077, 1076, 1079, 1082, 1119,
> -+     1119, 1119, 1147, 1147, 1147, 1148, 1148, 1148,  760,  727,
> -+     1113, 1083, 1149, 1149, 1149, 1150, 1150, 1150, 1151, 1151,
> -+     1151, 1173, 1173, 1173, 1174, 1174, 1174, 1175, 1175, 1175,
> -+      726,  725, 1117,  724, 1116,  723,  722, 1118,  720,  719,
> -+
> -+     1147, 1176, 1176, 1176, 1196, 1196, 1196, 1197, 1197, 1197,
> -+     1198, 1198, 1198,  718, 1148,  717, 1151, 1216, 1216, 1216,
> -+      716,  715, 1149, 1217, 1217, 1217, 1231, 1231, 1231, 1173,
> -+     1232, 1232, 1232, 1174, 1240, 1240, 1240, 1241, 1241, 1241,
> -+     1247, 1247, 1247, 1232, 1248, 1248, 1248, 1252, 1252, 1252,
> -+      714, 1176,  713,  712, 1197, 1196, 1254, 1254, 1254, 1216,
> -+     1256, 1256, 1256, 1258, 1258, 1258, 1259, 1259, 1259,  711,
> -+      710, 1241, 1217, 1231,  709,  708,  707,  705,  704,  702,
> -+     1240,  700,  699,  698, 1252,  695,  694,  693,  689,  688,
> -+     1248,  686,  685,  684,  683,  682,  681,  680, 1256,  679,
> -+
> -+     1254,  642,  641,  640,  639,  638,  637,  636,  635,  634,
> -+      633,  632, 1258, 1261, 1261, 1261, 1261, 1262, 1262, 1262,
> -+     1262, 1263, 1263, 1263, 1263, 1264, 1264, 1264, 1264, 1265,
> -+     1265, 1266, 1266, 1267,  631, 1267, 1267,  630,  629,  627,
> -+      626,  625,  623,  622,  621,  620,  619,  618,  617,  615,
> -+      614,  613,  612,  611,  610,  609,  608,  607,  606,  605,
> -+      604,  603,  602,  601,  600,  599,  598,  597,  596,  595,
> -+      594,  593,  592,  549,  548,  547,  545,  544,  543,  542,
> -+      541,  540,  539,  538,  537,  536,  535,  534,  533,  532,
> -+      531,  530,  529,  528,  527,  526,  525,  524,  523,  522,
> -+
> -+      521,  520,  519,  518,  517,  516,  515,  514,  513,  512,
> -+      511,  510,  509,  508,  507,  505,  504,  459,  456,  455,
> -+      454,  453,  452,  451,  450,  449,  448,  447,  446,  445,
> -+      444,  443,  442,  441,  440,  439,  438,  437,  436,  435,
> -+      434,  433,  432,  431,  430,  429,  428,  427,  426,  425,
> -+      424,  423,  422,  421,  420,  419,  418,  417,  416,  361,
> -+      360,  359,  358,  357,  356,  355,  353,  352,  351,  350,
> -+      349,  348,  347,  346,  345,  344,  343,  342,  341,  340,
> -+      339,  338,  337,  336,  335,  334,  333,  332,  331,  329,
> -+      328,  327,  325,  324,  323,  322,  321,  320,  281,  259,
> -+
> -+      258,  257,  256,  255,  254,  253,  251,  249,  248,  247,
> -+      246,  244,  242,  240,  239,  237,  236,  234,  233,  232,
> -+      230,  228,  227,  226,  180,  178,  177,  152,  151,  149,
> -+      148,  146,  145,  143,  141,  139,  133,   83,   79,   76,
> -+       73,   52,   49,   43,   22,   21,   11,    9,    3, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -
> --     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> --     1234, 1234, 1234, 1234, 1234
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> -+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> -     } ;
> -
> - static yy_state_type yy_last_accepting_state;
> -@@ -1499,7 +1518,7 @@ int yy_flex_debug = 0;
> - #define YY_MORE_ADJ 0
> - #define YY_RESTORE_YY_MORE_OFFSET
> - char *yytext;
> --#line 1 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 1 "lexer.l"
> - /*
> -  * The SIP lexer.
> -  *
> -@@ -1517,7 +1536,7 @@ char *yytext;
> -  * SIP is supplied WITHOUT ANY WARRANTY; without even the implied
> warranty of
> -  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> -  */
> --#line 20 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 20 "lexer.l"
> - #include <stdio.h>
> - #include <stdlib.h>
> - #include <string.h>
> -@@ -1563,11 +1582,9 @@ static int parenDepth = 0;
> -
> - static FILE *openFile(const char *);
> - static void fatallex(char *);
> -+#line 1586 "../lexer.c"
> -
> --
> --
> --
> --#line 1571 "sip-4.19.23/sipgen/lexer.c"
> -+#line 1588 "../lexer.c"
> -
> - #define INITIAL 0
> - #define code 1
> -@@ -1587,36 +1604,36 @@ static void fatallex(char *);
> - #define YY_EXTRA_TYPE void *
> - #endif
> -
> --static int yy_init_globals (void );
> -+static int yy_init_globals ( void );
> -
> - /* Accessor methods to globals.
> -    These are made visible to non-reentrant scanners for convenience. */
> -
> --int yylex_destroy (void );
> -+int yylex_destroy ( void );
> -
> --int yyget_debug (void );
> -+int yyget_debug ( void );
> -
> --void yyset_debug (int debug_flag  );
> -+void yyset_debug ( int debug_flag  );
> -
> --YY_EXTRA_TYPE yyget_extra (void );
> -+YY_EXTRA_TYPE yyget_extra ( void );
> -
> --void yyset_extra (YY_EXTRA_TYPE user_defined  );
> -+void yyset_extra ( YY_EXTRA_TYPE user_defined  );
> -
> --FILE *yyget_in (void );
> -+FILE *yyget_in ( void );
> -
> --void yyset_in  (FILE * in_str  );
> -+void yyset_in  ( FILE * _in_str  );
> -
> --FILE *yyget_out (void );
> -+FILE *yyget_out ( void );
> -
> --void yyset_out  (FILE * out_str  );
> -+void yyset_out  ( FILE * _out_str  );
> -
> --yy_size_t yyget_leng (void );
> -+                      int yyget_leng ( void );
> -
> --char *yyget_text (void );
> -+char *yyget_text ( void );
> -
> --int yyget_lineno (void );
> -+int yyget_lineno ( void );
> -
> --void yyset_lineno (int line_number  );
> -+void yyset_lineno ( int _line_number  );
> -
> - /* Macros after this point can all be overridden by user definitions in
> -  * section 1.
> -@@ -1624,28 +1641,31 @@ void yyset_lineno (int line_number  );
> -
> - #ifndef YY_SKIP_YYWRAP
> - #ifdef __cplusplus
> --extern "C" int yywrap (void );
> -+extern "C" int yywrap ( void );
> - #else
> --extern int yywrap (void );
> -+extern int yywrap ( void );
> - #endif
> - #endif
> -
> --    static void yyunput (int c,char *buf_ptr  );
> -+#ifndef YY_NO_UNPUT
> -
> -+    static void yyunput ( int c, char *buf_ptr  );
> -+
> -+#endif
> -+
> - #ifndef yytext_ptr
> --static void yy_flex_strncpy (char *,yyconst char *,int );
> -+static void yy_flex_strncpy ( char *, const char *, int );
> - #endif
> -
> - #ifdef YY_NEED_STRLEN
> --static int yy_flex_strlen (yyconst char * );
> -+static int yy_flex_strlen ( const char * );
> - #endif
> -
> - #ifndef YY_NO_INPUT
> --
> - #ifdef __cplusplus
> --static int yyinput (void );
> -+static int yyinput ( void );
> - #else
> --static int input (void );
> -+static int input ( void );
> - #endif
> -
> - #endif
> -@@ -1654,15 +1674,20 @@ static int input (void );
> -         static int yy_start_stack_depth = 0;
> -         static int *yy_start_stack = NULL;
> -
> --    static void yy_push_state (int new_state );
> -+    static void yy_push_state ( int _new_state );
> -
> --    static void yy_pop_state (void );
> -+    static void yy_pop_state ( void );
> -
> --    static int yy_top_state (void );
> -+    static int yy_top_state ( void );
> -
> - /* Amount of stuff to slurp up with each read. */
> - #ifndef YY_READ_BUF_SIZE
> -+#ifdef __ia64__
> -+/* On IA-64, the buffer size is 16k, not 8k */
> -+#define YY_READ_BUF_SIZE 16384
> -+#else
> - #define YY_READ_BUF_SIZE 8192
> -+#endif /* __ia64__ */
> - #endif
> -
> - /* Copy whatever the last rule matched to the standard output. */
> -@@ -1670,7 +1695,7 @@ static int input (void );
> - /* This used to be an fputs(), but since the string might contain NUL's,
> -  * we now use fwrite().
> -  */
> --#define ECHO fwrite( yytext, yyleng, 1, yyout )
> -+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} }
> while (0)
> - #endif
> -
> - /* Gets input and stuffs it into "buf".  number of characters read, or
> YY_NULL,
> -@@ -1681,7 +1706,7 @@ static int input (void );
> -       if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
> -               { \
> -               int c = '*'; \
> --              yy_size_t n; \
> -+              int n; \
> -               for ( n = 0; n < max_size && \
> -                            (c = getc( yyin )) != EOF && c != '\n'; ++n )
> \
> -                       buf[n] = (char) c; \
> -@@ -1694,7 +1719,7 @@ static int input (void );
> -       else \
> -               { \
> -               errno=0; \
> --              while ( (result = fread(buf, 1, max_size, yyin))==0 &&
> ferror(yyin)) \
> -+              while ( (result = (int) fread(buf, 1, (yy_size_t)
> max_size, yyin)) == 0 && ferror(yyin)) \
> -                       { \
> -                       if( errno != EINTR) \
> -                               { \
> -@@ -1749,7 +1774,7 @@ extern int yylex (void);
> -
> - /* Code executed at the end of each rule. */
> - #ifndef YY_BREAK
> --#define YY_BREAK break;
> -+#define YY_BREAK /*LINTED*/break;
> - #endif
> -
> - #define YY_RULE_SETUP \
> -@@ -1762,15 +1787,10 @@ extern int yylex (void);
> -  */
> - YY_DECL
> - {
> --      register yy_state_type yy_current_state;
> --      register char *yy_cp, *yy_bp;
> --      register int yy_act;
> -+      yy_state_type yy_current_state;
> -+      char *yy_cp, *yy_bp;
> -+      int yy_act;
> -
> --#line 74 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --
> --
> --#line 1773 "sip-4.19.23/sipgen/lexer.c"
> --
> -       if ( !(yy_init) )
> -               {
> -               (yy_init) = 1;
> -@@ -1791,13 +1811,19 @@ YY_DECL
> -               if ( ! YY_CURRENT_BUFFER ) {
> -                       yyensure_buffer_stack ();
> -                       YY_CURRENT_BUFFER_LVALUE =
> --                              yy_create_buffer(yyin,YY_BUF_SIZE );
> -+                              yy_create_buffer( yyin, YY_BUF_SIZE );
> -               }
> -
> --              yy_load_buffer_state( );
> -+              yy_load_buffer_state(  );
> -               }
> -
> --      while ( 1 )             /* loops until end-of-file is reached */
> -+      {
> -+#line 74 "lexer.l"
> -+
> -+
> -+#line 1825 "../lexer.c"
> -+
> -+      while ( /*CONSTCOND*/1 )                /* loops until end-of-file
> is reached */
> -               {
> -               yy_cp = (yy_c_buf_p);
> -
> -@@ -1814,7 +1840,7 @@ YY_DECL
> - yy_match:
> -               do
> -                       {
> --                      register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
> -+                      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
> -                       if ( yy_accept[yy_current_state] )
> -                               {
> -                               (yy_last_accepting_state) =
> yy_current_state;
> -@@ -1823,13 +1849,13 @@ yy_match:
> -                       while ( yy_chk[yy_base[yy_current_state] + yy_c]
> != yy_current_state )
> -                               {
> -                               yy_current_state = (int)
> yy_def[yy_current_state];
> --                              if ( yy_current_state >= 1235 )
> --                                      yy_c = yy_meta[(unsigned int)
> yy_c];
> -+                              if ( yy_current_state >= 1261 )
> -+                                      yy_c = yy_meta[yy_c];
> -                               }
> --                      yy_current_state =
> yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> -+                      yy_current_state =
> yy_nxt[yy_base[yy_current_state] + yy_c];
> -                       ++yy_cp;
> -                       }
> --              while ( yy_base[yy_current_state] != 2845 );
> -+              while ( yy_base[yy_current_state] != 2950 );
> -
> - yy_find_action:
> -               yy_act = yy_accept[yy_current_state];
> -@@ -1855,540 +1881,550 @@ do_action:   /* This label is used only to
> -
> - case 1:
> - YY_RULE_SETUP
> --#line 76 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 76 "lexer.l"
> - {BEGIN directive_start; return TK_API;}
> -       YY_BREAK
> - case 2:
> - YY_RULE_SETUP
> --#line 77 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 77 "lexer.l"
> - {BEGIN directive_start; return TK_AUTOPYNAME;}
> -       YY_BREAK
> - case 3:
> - YY_RULE_SETUP
> --#line 78 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 78 "lexer.l"
> - {return TK_CMODULE;}
> -       YY_BREAK
> - case 4:
> - YY_RULE_SETUP
> --#line 79 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 79 "lexer.l"
> - {BEGIN directive_start; return TK_COMPOMODULE;}
> -       YY_BREAK
> - case 5:
> - YY_RULE_SETUP
> --#line 80 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 80 "lexer.l"
> - {BEGIN directive_start; return TK_CONSMODULE;}
> -       YY_BREAK
> - case 6:
> - YY_RULE_SETUP
> --#line 81 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 81 "lexer.l"
> - {BEGIN directive_start; return TK_DEFDOCSTRFMT;}
> -       YY_BREAK
> - case 7:
> - YY_RULE_SETUP
> --#line 82 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 82 "lexer.l"
> - {BEGIN directive_start; return TK_DEFDOCSTRSIG;}
> -       YY_BREAK
> - case 8:
> - YY_RULE_SETUP
> --#line 83 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 83 "lexer.l"
> - {BEGIN directive_start; return TK_DEFENCODING;}
> -       YY_BREAK
> - case 9:
> - YY_RULE_SETUP
> --#line 84 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 84 "lexer.l"
> - {BEGIN directive_start; return TK_DEFMETATYPE;}
> -       YY_BREAK
> - case 10:
> - YY_RULE_SETUP
> --#line 85 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 85 "lexer.l"
> - {BEGIN directive_start; return TK_DEFSUPERTYPE;}
> -       YY_BREAK
> - case 11:
> - YY_RULE_SETUP
> --#line 86 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 86 "lexer.l"
> - {return TK_END;}
> -       YY_BREAK
> - case 12:
> - YY_RULE_SETUP
> --#line 87 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 87 "lexer.l"
> - {BEGIN INITIAL; return TK_END;}
> -       YY_BREAK
> - case 13:
> - YY_RULE_SETUP
> --#line 88 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 88 "lexer.l"
> - {return TK_EXCEPTION;}
> -       YY_BREAK
> - case 14:
> - YY_RULE_SETUP
> --#line 89 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 89 "lexer.l"
> - {BEGIN directive_start; return TK_FEATURE;}
> -       YY_BREAK
> - case 15:
> - YY_RULE_SETUP
> --#line 90 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 90 "lexer.l"
> - {BEGIN directive_start; return TK_HIDE_NS;}
> -       YY_BREAK
> - case 16:
> - YY_RULE_SETUP
> --#line 91 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 91 "lexer.l"
> - {return TK_IF;}
> -       YY_BREAK
> - case 17:
> - YY_RULE_SETUP
> --#line 92 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 92 "lexer.l"
> - {BEGIN directive_start; return TK_IMPORT;}
> -       YY_BREAK
> - case 18:
> - YY_RULE_SETUP
> --#line 93 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 93 "lexer.l"
> - {BEGIN directive_start; return TK_INCLUDE;}
> -       YY_BREAK
> - case 19:
> - YY_RULE_SETUP
> --#line 94 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 94 "lexer.l"
> - {BEGIN directive_start; return TK_LICENSE;}
> -       YY_BREAK
> - case 20:
> - YY_RULE_SETUP
> --#line 95 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 95 "lexer.l"
> - {return TK_MAPPEDTYPE;}
> -       YY_BREAK
> - case 21:
> - YY_RULE_SETUP
> --#line 96 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 96 "lexer.l"
> - {BEGIN directive_start; return TK_MODULE;}
> -       YY_BREAK
> - case 22:
> - YY_RULE_SETUP
> --#line 97 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 97 "lexer.l"
> - {return TK_OPTINCLUDE;}
> -       YY_BREAK
> - case 23:
> - YY_RULE_SETUP
> --#line 98 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 98 "lexer.l"
> - {return TK_PLATFORMS;}
> -       YY_BREAK
> - case 24:
> - YY_RULE_SETUP
> --#line 99 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 99 "lexer.l"
> - {BEGIN directive_start; return TK_PLUGIN;}
> -       YY_BREAK
> - case 25:
> - YY_RULE_SETUP
> --#line 100 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 100 "lexer.l"
> - {BEGIN directive_start; return TK_PROPERTY;}
> -       YY_BREAK
> - case 26:
> - YY_RULE_SETUP
> --#line 101 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 101 "lexer.l"
> - {return TK_TIMELINE;}
> -       YY_BREAK
> - case 27:
> - YY_RULE_SETUP
> --#line 103 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 103 "lexer.l"
> - {return TK_CLASS;}
> -       YY_BREAK
> - case 28:
> - YY_RULE_SETUP
> --#line 104 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 104 "lexer.l"
> - {return TK_STRUCT;}
> -       YY_BREAK
> - case 29:
> - YY_RULE_SETUP
> --#line 105 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 105 "lexer.l"
> - {return TK_PUBLIC;}
> -       YY_BREAK
> - case 30:
> - YY_RULE_SETUP
> --#line 106 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 106 "lexer.l"
> - {return TK_PROTECTED;}
> -       YY_BREAK
> - case 31:
> - YY_RULE_SETUP
> --#line 107 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 107 "lexer.l"
> - {return TK_PRIVATE;}
> -       YY_BREAK
> - case 32:
> - YY_RULE_SETUP
> --#line 108 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 108 "lexer.l"
> - {return TK_SIGNALS;}
> -       YY_BREAK
> - case 33:
> - YY_RULE_SETUP
> --#line 109 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 109 "lexer.l"
> - {return TK_SIGNALS;}
> -       YY_BREAK
> - case 34:
> - YY_RULE_SETUP
> --#line 110 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 110 "lexer.l"
> - {return TK_SIGNAL_METHOD;}
> -       YY_BREAK
> - case 35:
> - YY_RULE_SETUP
> --#line 111 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 111 "lexer.l"
> - {return TK_SLOTS;}
> -       YY_BREAK
> - case 36:
> - YY_RULE_SETUP
> --#line 112 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 112 "lexer.l"
> - {return TK_SLOTS;}
> -       YY_BREAK
> - case 37:
> - YY_RULE_SETUP
> --#line 113 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 113 "lexer.l"
> - {return TK_SLOT_METHOD;}
> -       YY_BREAK
> - case 38:
> - YY_RULE_SETUP
> --#line 114 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 114 "lexer.l"
> - {return TK_CHAR;}
> -       YY_BREAK
> - case 39:
> - YY_RULE_SETUP
> --#line 115 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 115 "lexer.l"
> - {return TK_WCHAR_T;}
> -       YY_BREAK
> - case 40:
> - YY_RULE_SETUP
> --#line 116 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 116 "lexer.l"
> - {return TK_BOOL;}
> -       YY_BREAK
> - case 41:
> - YY_RULE_SETUP
> --#line 117 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 117 "lexer.l"
> - {return TK_SHORT;}
> -       YY_BREAK
> - case 42:
> - YY_RULE_SETUP
> --#line 118 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 118 "lexer.l"
> - {return TK_INT;}
> -       YY_BREAK
> - case 43:
> - YY_RULE_SETUP
> --#line 119 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 119 "lexer.l"
> - {return TK_LONG;}
> -       YY_BREAK
> - case 44:
> - YY_RULE_SETUP
> --#line 120 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 120 "lexer.l"
> - {return TK_FLOAT;}
> -       YY_BREAK
> - case 45:
> - YY_RULE_SETUP
> --#line 121 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 121 "lexer.l"
> - {return TK_DOUBLE;}
> -       YY_BREAK
> - case 46:
> - YY_RULE_SETUP
> --#line 122 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 122 "lexer.l"
> - {return TK_VOID;}
> -       YY_BREAK
> - case 47:
> - YY_RULE_SETUP
> --#line 123 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 123 "lexer.l"
> - {return TK_VIRTUAL;}
> -       YY_BREAK
> - case 48:
> - YY_RULE_SETUP
> --#line 124 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 124 "lexer.l"
> - {return TK_ENUM;}
> -       YY_BREAK
> - case 49:
> - YY_RULE_SETUP
> --#line 125 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 125 "lexer.l"
> - {return TK_SIGNED;}
> -       YY_BREAK
> - case 50:
> - YY_RULE_SETUP
> --#line 126 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 126 "lexer.l"
> - {return TK_UNSIGNED;}
> -       YY_BREAK
> - case 51:
> - YY_RULE_SETUP
> --#line 127 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 127 "lexer.l"
> - {return TK_CONST;}
> -       YY_BREAK
> - case 52:
> - YY_RULE_SETUP
> --#line 128 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 128 "lexer.l"
> - {return TK_STATIC;}
> -       YY_BREAK
> - case 53:
> - YY_RULE_SETUP
> --#line 129 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 129 "lexer.l"
> - {return TK_TRUE_VALUE;}
> -       YY_BREAK
> - case 54:
> - YY_RULE_SETUP
> --#line 130 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 130 "lexer.l"
> - {return TK_FALSE_VALUE;}
> -       YY_BREAK
> - case 55:
> - YY_RULE_SETUP
> --#line 131 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 131 "lexer.l"
> - {return TK_NULL_VALUE;}
> -       YY_BREAK
> - case 56:
> - YY_RULE_SETUP
> --#line 132 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 132 "lexer.l"
> - {return TK_TYPEDEF;}
> -       YY_BREAK
> - case 57:
> - YY_RULE_SETUP
> --#line 133 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 133 "lexer.l"
> - {return TK_NAMESPACE;}
> -       YY_BREAK
> - case 58:
> - YY_RULE_SETUP
> --#line 134 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 134 "lexer.l"
> - {return TK_OPERATOR;}
> -       YY_BREAK
> - case 59:
> - YY_RULE_SETUP
> --#line 135 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 135 "lexer.l"
> - {return TK_THROW;}
> -       YY_BREAK
> - case 60:
> - YY_RULE_SETUP
> --#line 136 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 136 "lexer.l"
> - {return TK_EXPLICIT;}
> -       YY_BREAK
> - case 61:
> - YY_RULE_SETUP
> --#line 137 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 137 "lexer.l"
> - {return TK_TEMPLATE;}
> -       YY_BREAK
> - case 62:
> - YY_RULE_SETUP
> --#line 138 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 138 "lexer.l"
> - {return TK_FINAL;}
> -       YY_BREAK
> - case 63:
> - YY_RULE_SETUP
> --#line 139 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 139 "lexer.l"
> - {return TK_SIZET;}
> -       YY_BREAK
> - case 64:
> - YY_RULE_SETUP
> --#line 140 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 140 "lexer.l"
> - {return TK_SCOPE;}
> -       YY_BREAK
> - case 65:
> - YY_RULE_SETUP
> --#line 141 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 141 "lexer.l"
> - {return TK_LOGICAL_OR;}
> -       YY_BREAK
> - case 66:
> - YY_RULE_SETUP
> --#line 142 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 142 "lexer.l"
> - {return TK_PYOBJECT;}
> -       YY_BREAK
> - case 67:
> - YY_RULE_SETUP
> --#line 143 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 143 "lexer.l"
> - {return TK_PYTUPLE;}
> -       YY_BREAK
> - case 68:
> - YY_RULE_SETUP
> --#line 144 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 144 "lexer.l"
> - {return TK_PYLIST;}
> -       YY_BREAK
> - case 69:
> - YY_RULE_SETUP
> --#line 145 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 145 "lexer.l"
> - {return TK_PYDICT;}
> -       YY_BREAK
> - case 70:
> - YY_RULE_SETUP
> --#line 146 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 146 "lexer.l"
> - {return TK_PYCALLABLE;}
> -       YY_BREAK
> - case 71:
> - YY_RULE_SETUP
> --#line 147 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 147 "lexer.l"
> - {return TK_PYSLICE;}
> -       YY_BREAK
> - case 72:
> - YY_RULE_SETUP
> --#line 148 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 148 "lexer.l"
> - {return TK_PYTYPE;}
> -       YY_BREAK
> - case 73:
> - YY_RULE_SETUP
> --#line 149 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 149 "lexer.l"
> - {return TK_PYBUFFER;}
> -       YY_BREAK
> - case 74:
> - YY_RULE_SETUP
> --#line 150 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 150 "lexer.l"
> - {return TK_SIPSIGNAL;}
> -       YY_BREAK
> - case 75:
> - YY_RULE_SETUP
> --#line 151 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 151 "lexer.l"
> - {return TK_SIPSLOT;}
> -       YY_BREAK
> - case 76:
> - YY_RULE_SETUP
> --#line 152 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 152 "lexer.l"
> - {return TK_SIPANYSLOT;}
> -       YY_BREAK
> - case 77:
> - YY_RULE_SETUP
> --#line 153 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 153 "lexer.l"
> - {return TK_SIPRXCON;}
> -       YY_BREAK
> - case 78:
> - YY_RULE_SETUP
> --#line 154 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 154 "lexer.l"
> - {return TK_SIPRXDIS;}
> -       YY_BREAK
> - case 79:
> - YY_RULE_SETUP
> --#line 155 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 155 "lexer.l"
> - {return TK_SIPSLOTCON;}
> -       YY_BREAK
> - case 80:
> - YY_RULE_SETUP
> --#line 156 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 156 "lexer.l"
> - {return TK_SIPSLOTDIS;}
> -       YY_BREAK
> - case 81:
> - YY_RULE_SETUP
> --#line 157 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 157 "lexer.l"
> - {return TK_SIPSSIZET;}
> -       YY_BREAK
> - case 82:
> - YY_RULE_SETUP
> --#line 158 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_QOBJECT;}
> -+#line 158 "lexer.l"
> -+{return TK_SIPSSIZET;}
> -       YY_BREAK
> - case 83:
> - YY_RULE_SETUP
> --#line 159 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_ELLIPSIS;}
> -+#line 159 "lexer.l"
> -+{return TK_QOBJECT;}
> -       YY_BREAK
> - case 84:
> - YY_RULE_SETUP
> --#line 161 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_FORMAT;}
> -+#line 160 "lexer.l"
> -+{return TK_ELLIPSIS;}
> -       YY_BREAK
> - case 85:
> - YY_RULE_SETUP
> --#line 162 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_GET;}
> -+#line 162 "lexer.l"
> -+{return TK_FORMAT;}
> -       YY_BREAK
> - case 86:
> - YY_RULE_SETUP
> --#line 163 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_ID;}
> -+#line 163 "lexer.l"
> -+{return TK_GET;}
> -       YY_BREAK
> - case 87:
> - YY_RULE_SETUP
> --#line 164 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_KWARGS;}
> -+#line 164 "lexer.l"
> -+{return TK_ID;}
> -       YY_BREAK
> - case 88:
> - YY_RULE_SETUP
> --#line 165 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_LANGUAGE;}
> -+#line 165 "lexer.l"
> -+{return TK_KWARGS;}
> -       YY_BREAK
> - case 89:
> - YY_RULE_SETUP
> --#line 166 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_LICENSEE;}
> -+#line 166 "lexer.l"
> -+{return TK_LANGUAGE;}
> -       YY_BREAK
> - case 90:
> - YY_RULE_SETUP
> --#line 167 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_NAME;}
> -+#line 167 "lexer.l"
> -+{return TK_LICENSEE;}
> -       YY_BREAK
> - case 91:
> - YY_RULE_SETUP
> --#line 168 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_OPTIONAL;}
> -+#line 168 "lexer.l"
> -+{return TK_NAME;}
> -       YY_BREAK
> - case 92:
> - YY_RULE_SETUP
> --#line 169 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_ORDER;}
> -+#line 169 "lexer.l"
> -+{return TK_OPTIONAL;}
> -       YY_BREAK
> - case 93:
> - YY_RULE_SETUP
> --#line 170 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_REMOVELEADING;}
> -+#line 170 "lexer.l"
> -+{return TK_ORDER;}
> -       YY_BREAK
> - case 94:
> - YY_RULE_SETUP
> --#line 171 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_SET;}
> -+#line 171 "lexer.l"
> -+{return TK_REMOVELEADING;}
> -       YY_BREAK
> - case 95:
> - YY_RULE_SETUP
> --#line 172 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_SIGNATURE;}
> -+#line 172 "lexer.l"
> -+{return TK_SET;}
> -       YY_BREAK
> - case 96:
> - YY_RULE_SETUP
> --#line 173 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_TIMESTAMP;}
> -+#line 173 "lexer.l"
> -+{return TK_SIGNATURE;}
> -       YY_BREAK
> - case 97:
> - YY_RULE_SETUP
> --#line 174 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_TYPE;}
> -+#line 174 "lexer.l"
> -+{return TK_TIMESTAMP;}
> -       YY_BREAK
> - case 98:
> - YY_RULE_SETUP
> --#line 175 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_USEARGNAMES;}
> -+#line 175 "lexer.l"
> -+{return TK_TYPE;}
> -       YY_BREAK
> - case 99:
> - YY_RULE_SETUP
> --#line 176 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_USELIMITEDAPI;}
> -+#line 176 "lexer.l"
> -+{return TK_USEARGNAMES;}
> -       YY_BREAK
> - case 100:
> - YY_RULE_SETUP
> --#line 177 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_ALLRAISEPYEXC;}
> -+#line 177 "lexer.l"
> -+{return TK_PYSSIZETCLEAN;}
> -       YY_BREAK
> - case 101:
> - YY_RULE_SETUP
> --#line 178 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_CALLSUPERINIT;}
> -+#line 178 "lexer.l"
> -+{return TK_USELIMITEDAPI;}
> -       YY_BREAK
> - case 102:
> - YY_RULE_SETUP
> --#line 179 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_DEFERRORHANDLER;}
> -+#line 179 "lexer.l"
> -+{return TK_ALLRAISEPYEXC;}
> -       YY_BREAK
> - case 103:
> - YY_RULE_SETUP
> --#line 180 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_VERSION;}
> -+#line 180 "lexer.l"
> -+{return TK_CALLSUPERINIT;}
> -       YY_BREAK
> - case 104:
> - YY_RULE_SETUP
> --#line 182 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_TRUE_VALUE;}
> -+#line 181 "lexer.l"
> -+{return TK_DEFERRORHANDLER;}
> -       YY_BREAK
> - case 105:
> - YY_RULE_SETUP
> --#line 183 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --{return TK_FALSE_VALUE;}
> -+#line 182 "lexer.l"
> -+{return TK_VERSION;}
> -       YY_BREAK
> - case 106:
> - YY_RULE_SETUP
> --#line 186 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 184 "lexer.l"
> -+{return TK_TRUE_VALUE;}
> -+      YY_BREAK
> -+case 107:
> -+YY_RULE_SETUP
> -+#line 185 "lexer.l"
> -+{return TK_FALSE_VALUE;}
> -+      YY_BREAK
> -+case 108:
> -+YY_RULE_SETUP
> -+#line 188 "lexer.l"
> - {
> -     /* Ignore whitespace. */
> -     ;
> - }
> -       YY_BREAK
> --case 107:
> -+case 109:
> - YY_RULE_SETUP
> --#line 191 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 193 "lexer.l"
> - {
> -     /*
> -      * Maintain the parenthesis depth so that we don't enter the 'code'
> state
> -@@ -2401,9 +2437,9 @@ YY_RULE_SETUP
> -     return '(';
> - }
> -       YY_BREAK
> --case 108:
> -+case 110:
> - YY_RULE_SETUP
> --#line 203 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 205 "lexer.l"
> - {
> -     /* Maintain the parenthesis depth. */
> -     --parenDepth;
> -@@ -2413,10 +2449,10 @@ YY_RULE_SETUP
> -     return ')';
> - }
> -       YY_BREAK
> --case 109:
> --/* rule 109 can match eol */
> -+case 111:
> -+/* rule 111 can match eol */
> - YY_RULE_SETUP
> --#line 212 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 214 "lexer.l"
> - {
> -     /* Maintain the line number. */
> -     ++inputFileStack[currentFile].sloc.linenr;
> -@@ -2427,63 +2463,63 @@ YY_RULE_SETUP
> -     }
> - }
> -       YY_BREAK
> --case 110:
> -+case 112:
> - YY_RULE_SETUP
> --#line 222 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 224 "lexer.l"
> - {
> -     /* Ignore C++ style comments. */
> -     ;
> - }
> -       YY_BREAK
> --case 111:
> -+case 113:
> - YY_RULE_SETUP
> --#line 228 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 230 "lexer.l"
> - {
> -     /* A signed decimal number. */
> -     yylval.number = strtol(yytext,NULL,0);
> -     return TK_NUMBER_VALUE;
> - }
> -       YY_BREAK
> --case 112:
> -+case 114:
> - YY_RULE_SETUP
> --#line 235 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 237 "lexer.l"
> - {
> -     /* A floating point number. */
> -     yylval.real = strtod(yytext,NULL);
> -     return TK_REAL_VALUE;
> - }
> -       YY_BREAK
> --case 113:
> -+case 115:
> - YY_RULE_SETUP
> --#line 242 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 244 "lexer.l"
> - {
> -     /* An unsigned hexadecimal number. */
> -     yylval.number = strtol(yytext,NULL,16);
> -     return TK_NUMBER_VALUE;
> - }
> -       YY_BREAK
> --case 114:
> -+case 116:
> - YY_RULE_SETUP
> --#line 249 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 251 "lexer.l"
> - {
> -     /* An identifier name. */
> -     yylval.text = sipStrdup(yytext);
> -     return TK_NAME_VALUE;
> - }
> -       YY_BREAK
> --case 115:
> -+case 117:
> - YY_RULE_SETUP
> --#line 256 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 258 "lexer.l"
> - {
> -     /* A relative pathname. */
> -     yylval.text = sipStrdup(yytext);
> -     return TK_PATH_VALUE;
> - }
> -       YY_BREAK
> --case 116:
> --/* rule 116 can match eol */
> -+case 118:
> -+/* rule 118 can match eol */
> - YY_RULE_SETUP
> --#line 263 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 265 "lexer.l"
> - {
> -     /* A double-quoted string. */
> -     char ch, *dp, *sp;
> -@@ -2519,10 +2555,10 @@ YY_RULE_SETUP
> -     return TK_STRING_VALUE;
> - }
> -       YY_BREAK
> --case 117:
> --/* rule 117 can match eol */
> -+case 119:
> -+/* rule 119 can match eol */
> - YY_RULE_SETUP
> --#line 299 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 301 "lexer.l"
> - {
> -     /* A single-quoted character. */
> -     if (strlen(yytext) != 3)
> -@@ -2533,84 +2569,84 @@ YY_RULE_SETUP
> -     return TK_QCHAR_VALUE;
> - }
> -       YY_BREAK
> --case 118:
> -+case 120:
> - YY_RULE_SETUP
> --#line 310 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 312 "lexer.l"
> - {
> -     /* Ignore C-style comments. */
> -     yy_push_state(ccomment);
> - }
> -       YY_BREAK
> --case 119:
> --/* rule 119 can match eol */
> -+case 121:
> -+/* rule 121 can match eol */
> - YY_RULE_SETUP
> --#line 314 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 316 "lexer.l"
> - {
> -     ++inputFileStack[currentFile].sloc.linenr;
> - }
> -       YY_BREAK
> --case 120:
> -+case 122:
> - YY_RULE_SETUP
> --#line 317 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 319 "lexer.l"
> - {
> -     yy_pop_state();
> - }
> -       YY_BREAK
> --case 121:
> -+case 123:
> - YY_RULE_SETUP
> --#line 320 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 322 "lexer.l"
> - {
> -     ;
> - }
> -       YY_BREAK
> --case 122:
> -+case 124:
> - YY_RULE_SETUP
> --#line 325 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 327 "lexer.l"
> - {
> -     /* The software license. */
> -     codeIdx = 0;
> -     return TK_COPYING;
> - }
> -       YY_BREAK
> --case 123:
> -+case 125:
> - YY_RULE_SETUP
> --#line 331 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 333 "lexer.l"
> - {
> -     /* The start of a from-type code block. */
> -     codeIdx = 0;
> -     return TK_FROMTYPE;
> - }
> -       YY_BREAK
> --case 124:
> -+case 126:
> - YY_RULE_SETUP
> --#line 337 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 339 "lexer.l"
> - {
> -     /* The start of a to-type code block. */
> -     codeIdx = 0;
> -     return TK_TOTYPE;
> - }
> -       YY_BREAK
> --case 125:
> -+case 127:
> - YY_RULE_SETUP
> --#line 343 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 345 "lexer.l"
> - {
> -     /* The start of a to-sub-class code block. */
> -     codeIdx = 0;
> -     return TK_TOSUBCLASS;
> - }
> -       YY_BREAK
> --case 126:
> -+case 128:
> - YY_RULE_SETUP
> --#line 349 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 351 "lexer.l"
> - {
> -     /* The start of an exported header code block. */
> -     codeIdx = 0;
> -     return TK_EXPHEADERCODE;
> - }
> -       YY_BREAK
> --case 127:
> -+case 129:
> - YY_RULE_SETUP
> --#line 355 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 357 "lexer.l"
> - {
> -     /* The start of part of an extract. */
> -     codeIdx = 0;
> -@@ -2620,225 +2656,225 @@ YY_RULE_SETUP
> -     return TK_EXTRACT;
> - }
> -       YY_BREAK
> --case 128:
> -+case 130:
> - YY_RULE_SETUP
> --#line 364 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 366 "lexer.l"
> - {
> -     /* The start of a module header code block. */
> -     codeIdx = 0;
> -     return TK_MODHEADERCODE;
> - }
> -       YY_BREAK
> --case 129:
> -+case 131:
> - YY_RULE_SETUP
> --#line 370 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 372 "lexer.l"
> - {
> -     /* The start of a type header code block. */
> -     codeIdx = 0;
> -     return TK_TYPEHEADERCODE;
> - }
> -       YY_BREAK
> --case 130:
> -+case 132:
> - YY_RULE_SETUP
> --#line 376 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 378 "lexer.l"
> - {
> -     /* The start of a pre-initialisation code block. */
> -     codeIdx = 0;
> -     return TK_PREINITCODE;
> - }
> -       YY_BREAK
> --case 131:
> -+case 133:
> - YY_RULE_SETUP
> --#line 382 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 384 "lexer.l"
> - {
> -     /* The start of an initialisation code block. */
> -     codeIdx = 0;
> -     return TK_INITCODE;
> - }
> -       YY_BREAK
> --case 132:
> -+case 134:
> - YY_RULE_SETUP
> --#line 388 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 390 "lexer.l"
> - {
> -     /* The start of a post-initialisation code block. */
> -     codeIdx = 0;
> -     return TK_POSTINITCODE;
> - }
> -       YY_BREAK
> --case 133:
> -+case 135:
> - YY_RULE_SETUP
> --#line 394 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 396 "lexer.l"
> - {
> -     /* The start of a class finalisation code block. */
> -     codeIdx = 0;
> -     return TK_FINALCODE;
> - }
> -       YY_BREAK
> --case 134:
> -+case 136:
> - YY_RULE_SETUP
> --#line 400 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 402 "lexer.l"
> - {
> -     /* The start of a unit code block. */
> -     codeIdx = 0;
> -     return TK_UNITCODE;
> - }
> -       YY_BREAK
> --case 135:
> -+case 137:
> - YY_RULE_SETUP
> --#line 406 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 408 "lexer.l"
> - {
> -     /* The start of a unit post-include code block. */
> -     codeIdx = 0;
> -     return TK_UNITPOSTINCLUDECODE;
> - }
> -       YY_BREAK
> --case 136:
> -+case 138:
> - YY_RULE_SETUP
> --#line 412 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 414 "lexer.l"
> - {
> -     /* The start of a module code block. */
> -     codeIdx = 0;
> -     return TK_MODCODE;
> - }
> -       YY_BREAK
> --case 137:
> -+case 139:
> - YY_RULE_SETUP
> --#line 418 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 420 "lexer.l"
> - {
> -     /* The start of a type code block. */
> -     codeIdx = 0;
> -     return TK_TYPECODE;
> - }
> -       YY_BREAK
> --case 138:
> -+case 140:
> - YY_RULE_SETUP
> --#line 424 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 426 "lexer.l"
> - {
> -     /* The start of a C++ method code block. */
> -     codeIdx = 0;
> -     return TK_METHODCODE;
> - }
> -       YY_BREAK
> --case 139:
> -+case 141:
> - YY_RULE_SETUP
> --#line 430 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 432 "lexer.l"
> - {
> -     /* The start of a C++ code block to insert before the MethodCode. */
> -     codeIdx = 0;
> -     return TK_PREMETHODCODE;
> - }
> -       YY_BREAK
> --case 140:
> -+case 142:
> - YY_RULE_SETUP
> --#line 436 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 438 "lexer.l"
> - {
> -     /* The start of a C++ virtual call code block. */
> -     codeIdx = 0;
> -     return TK_VIRTUALCALLCODE;
> - }
> -       YY_BREAK
> --case 141:
> -+case 143:
> - YY_RULE_SETUP
> --#line 442 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 444 "lexer.l"
> - {
> -     /* The start of a C++ virtual code block. */
> -     codeIdx = 0;
> -     return TK_VIRTUALCATCHERCODE;
> - }
> -       YY_BREAK
> --case 142:
> -+case 144:
> - YY_RULE_SETUP
> --#line 448 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 450 "lexer.l"
> - {
> -     /* The start of a traverse code block. */
> -     codeIdx = 0;
> -     return TK_TRAVERSECODE;
> - }
> -       YY_BREAK
> --case 143:
> -+case 145:
> - YY_RULE_SETUP
> --#line 454 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 456 "lexer.l"
> - {
> -     /* The start of a clear code block. */
> -     codeIdx = 0;
> -     return TK_CLEARCODE;
> - }
> -       YY_BREAK
> --case 144:
> -+case 146:
> - YY_RULE_SETUP
> --#line 460 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 462 "lexer.l"
> - {
> -     /* The start of a get buffer code block. */
> -     codeIdx = 0;
> -     return TK_GETBUFFERCODE;
> - }
> -       YY_BREAK
> --case 145:
> -+case 147:
> - YY_RULE_SETUP
> --#line 466 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 468 "lexer.l"
> - {
> -     /* The start of a release buffer code block. */
> -     codeIdx = 0;
> -     return TK_RELEASEBUFFERCODE;
> - }
> -       YY_BREAK
> --case 146:
> -+case 148:
> - YY_RULE_SETUP
> --#line 472 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 474 "lexer.l"
> - {
> -     /* The start of a read buffer code block. */
> -     codeIdx = 0;
> -     return TK_READBUFFERCODE;
> - }
> -       YY_BREAK
> --case 147:
> -+case 149:
> - YY_RULE_SETUP
> --#line 478 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 480 "lexer.l"
> - {
> -     /* The start of a write buffer code block. */
> -     codeIdx = 0;
> -     return TK_WRITEBUFFERCODE;
> - }
> -       YY_BREAK
> --case 148:
> -+case 150:
> - YY_RULE_SETUP
> --#line 484 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 486 "lexer.l"
> - {
> -     /* The start of a segment count code block. */
> -     codeIdx = 0;
> -     return TK_SEGCOUNTCODE;
> - }
> -       YY_BREAK
> --case 149:
> -+case 151:
> - YY_RULE_SETUP
> --#line 490 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 492 "lexer.l"
> - {
> -     /* The start of a char buffer code block. */
> -     codeIdx = 0;
> -     return TK_CHARBUFFERCODE;
> - }
> -       YY_BREAK
> --case 150:
> -+case 152:
> - YY_RULE_SETUP
> --#line 496 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 498 "lexer.l"
> - {
> -     /* The start of a create instance code block. */
> -     codeIdx = 0;
> -     return TK_INSTANCECODE;
> - }
> -       YY_BREAK
> --case 151:
> -+case 153:
> - YY_RULE_SETUP
> --#line 502 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 504 "lexer.l"
> - {
> -     /* The start of a pickle code block. */
> -     codeIdx = 0;
> -     return TK_PICKLECODE;
> - }
> -       YY_BREAK
> --case 152:
> -+case 154:
> - YY_RULE_SETUP
> --#line 508 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 510 "lexer.l"
> - {
> -     /* The start of a pre-Python code block. */
> -     deprecated("%PrePythonCode is deprecated");
> -@@ -2847,36 +2883,36 @@ YY_RULE_SETUP
> -     return TK_PREPYCODE;
> - }
> -       YY_BREAK
> --case 153:
> -+case 155:
> - YY_RULE_SETUP
> --#line 516 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 518 "lexer.l"
> - {
> -     /* The start of a raise Python exception code block. */
> -     codeIdx = 0;
> -     return TK_RAISECODE;
> - }
> -       YY_BREAK
> --case 154:
> -+case 156:
> - YY_RULE_SETUP
> --#line 522 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 524 "lexer.l"
> - {
> -     /* The start of an exported type hint code block. */
> -     codeIdx = 0;
> -     return TK_EXPTYPEHINTCODE;
> - }
> -       YY_BREAK
> --case 155:
> -+case 157:
> - YY_RULE_SETUP
> --#line 528 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 530 "lexer.l"
> - {
> -     /* The start of a type hint code block. */
> -     codeIdx = 0;
> -     return TK_TYPEHINTCODE;
> - }
> -       YY_BREAK
> --case 156:
> -+case 158:
> - YY_RULE_SETUP
> --#line 534 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 536 "lexer.l"
> - {
> -     /* The start of a docstring block. */
> -     codeIdx = 0;
> -@@ -2886,9 +2922,9 @@ YY_RULE_SETUP
> -     return TK_DOCSTRING;
> - }
> -       YY_BREAK
> --case 157:
> -+case 159:
> - YY_RULE_SETUP
> --#line 543 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 545 "lexer.l"
> - {
> -     /* The start of a documentation block. */
> -     deprecated("%Doc is deprecated, use %Extract instead");
> -@@ -2897,9 +2933,9 @@ YY_RULE_SETUP
> -     return TK_DOC;
> - }
> -       YY_BREAK
> --case 158:
> -+case 160:
> - YY_RULE_SETUP
> --#line 551 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 553 "lexer.l"
> - {
> -     /* The start of an exported documentation block. */
> -     deprecated("%ExportedDoc is deprecated, use %Extract instead");
> -@@ -2908,9 +2944,9 @@ YY_RULE_SETUP
> -     return TK_EXPORTEDDOC;
> - }
> -       YY_BREAK
> --case 159:
> -+case 161:
> - YY_RULE_SETUP
> --#line 559 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 561 "lexer.l"
> - {
> -     /* The start of a Makefile code block. */
> -     deprecated("%Makefile is deprecated");
> -@@ -2919,36 +2955,36 @@ YY_RULE_SETUP
> -     return TK_MAKEFILE;
> - }
> -       YY_BREAK
> --case 160:
> -+case 162:
> - YY_RULE_SETUP
> --#line 567 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 569 "lexer.l"
> - {
> -     /* The start of an access code block. */
> -     codeIdx = 0;
> -     return TK_ACCESSCODE;
> - }
> -       YY_BREAK
> --case 161:
> -+case 163:
> - YY_RULE_SETUP
> --#line 573 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 575 "lexer.l"
> - {
> -     /* The start of a get code block. */
> -     codeIdx = 0;
> -     return TK_GETCODE;
> - }
> -       YY_BREAK
> --case 162:
> -+case 164:
> - YY_RULE_SETUP
> --#line 579 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 581 "lexer.l"
> - {
> -     /* The start of a set code block. */
> -     codeIdx = 0;
> -     return TK_SETCODE;
> - }
> -       YY_BREAK
> --case 163:
> -+case 165:
> - YY_RULE_SETUP
> --#line 585 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 587 "lexer.l"
> - {
> -     /* The start of part of a virtual error handler. */
> -     codeIdx = 0;
> -@@ -2958,9 +2994,9 @@ YY_RULE_SETUP
> -     return TK_VIRTERRORHANDLER;
> - }
> -       YY_BREAK
> --case 164:
> -+case 166:
> - YY_RULE_SETUP
> --#line 594 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 596 "lexer.l"
> - {
> -     /* The end of a code block. */
> -     BEGIN INITIAL;
> -@@ -2968,10 +3004,10 @@ YY_RULE_SETUP
> -     return TK_END;
> - }
> -       YY_BREAK
> --case 165:
> --/* rule 165 can match eol */
> -+case 167:
> -+/* rule 167 can match eol */
> - YY_RULE_SETUP
> --#line 601 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 603 "lexer.l"
> - {
> -     /* The end of a code line . */
> -     struct inputFile *ifp;
> -@@ -2991,9 +3027,9 @@ YY_RULE_SETUP
> -     return TK_CODELINE;
> - }
> -       YY_BREAK
> --case 166:
> -+case 168:
> - YY_RULE_SETUP
> --#line 620 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 622 "lexer.l"
> - {
> -     /* The contents of a code line. */
> -     if (codeIdx == MAX_CODE_LINE_LENGTH)
> -@@ -3002,20 +3038,20 @@ YY_RULE_SETUP
> -     codeLine[codeIdx++] = yytext[0];
> - }
> -       YY_BREAK
> --case 167:
> -+case 169:
> - YY_RULE_SETUP
> --#line 628 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 630 "lexer.l"
> - {
> -     /* Anything else is returned as is. */
> -     return yytext[0];
> - }
> -       YY_BREAK
> --case 168:
> -+case 170:
> - YY_RULE_SETUP
> --#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
> -+#line 635 "lexer.l"
> - ECHO;
> -       YY_BREAK
> --#line 3019 "sip-4.19.23/sipgen/lexer.c"
> -+#line 3055 "../lexer.c"
> - case YY_STATE_EOF(INITIAL):
> - case YY_STATE_EOF(code):
> - case YY_STATE_EOF(ccomment):
> -@@ -3097,7 +3133,7 @@ case YY_STATE_EOF(directive_start):
> -                               {
> -                               (yy_did_buffer_switch_on_eof) = 0;
> -
> --                              if ( yywrap( ) )
> -+                              if ( yywrap(  ) )
> -                                       {
> -                                       /* Note: because we've taken care
> in
> -                                        * yy_get_next_buffer() to have
> set up
> -@@ -3150,6 +3186,7 @@ case YY_STATE_EOF(directive_start):
> -                       "fatal flex scanner internal error--no action
> found" );
> -       } /* end of action switch */
> -               } /* end of scanning one token */
> -+      } /* end of user's declarations */
> - } /* end of yylex */
> -
> - /* yy_get_next_buffer - try to read in a new buffer
> -@@ -3161,9 +3198,9 @@ case YY_STATE_EOF(directive_start):
> -  */
> - static int yy_get_next_buffer (void)
> - {
> --      register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
> --      register char *source = (yytext_ptr);
> --      register int number_to_move, i;
> -+      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
> -+      char *source = (yytext_ptr);
> -+      int number_to_move, i;
> -       int ret_val;
> -
> -       if ( (yy_c_buf_p) >
> &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
> -@@ -3192,7 +3229,7 @@ static int yy_get_next_buffer (void)
> -       /* Try to read more data. */
> -
> -       /* First move last chars to start of buffer. */
> --      number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
> -+      number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
> -
> -       for ( i = 0; i < number_to_move; ++i )
> -               *(dest++) = *(source++);
> -@@ -3205,21 +3242,21 @@ static int yy_get_next_buffer (void)
> -
> -       else
> -               {
> --                      yy_size_t num_to_read =
> -+                      int num_to_read =
> -                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
> number_to_move - 1;
> -
> -               while ( num_to_read <= 0 )
> -                       { /* Not enough room in the buffer - grow it. */
> -
> -                       /* just a shorter name for the current buffer */
> --                      YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
> -+                      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
> -
> -                       int yy_c_buf_p_offset =
> -                               (int) ((yy_c_buf_p) - b->yy_ch_buf);
> -
> -                       if ( b->yy_is_our_buffer )
> -                               {
> --                              yy_size_t new_size = b->yy_buf_size * 2;
> -+                              int new_size = b->yy_buf_size * 2;
> -
> -                               if ( new_size <= 0 )
> -                                       b->yy_buf_size += b->yy_buf_size /
> 8;
> -@@ -3228,11 +3265,12 @@ static int yy_get_next_buffer (void)
> -
> -                               b->yy_ch_buf = (char *)
> -                                       /* Include room in for 2 EOB
> chars. */
> --                                      yyrealloc((void *)
> b->yy_ch_buf,b->yy_buf_size + 2  );
> -+                                      yyrealloc( (void *) b->yy_ch_buf,
> -+                                                       (yy_size_t)
> (b->yy_buf_size + 2)  );
> -                               }
> -                       else
> -                               /* Can't grow it, we don't own it. */
> --                              b->yy_ch_buf = 0;
> -+                              b->yy_ch_buf = NULL;
> -
> -                       if ( ! b->yy_ch_buf )
> -                               YY_FATAL_ERROR(
> -@@ -3260,7 +3298,7 @@ static int yy_get_next_buffer (void)
> -               if ( number_to_move == YY_MORE_ADJ )
> -                       {
> -                       ret_val = EOB_ACT_END_OF_FILE;
> --                      yyrestart(yyin  );
> -+                      yyrestart( yyin  );
> -                       }
> -
> -               else
> -@@ -3274,12 +3312,15 @@ static int yy_get_next_buffer (void)
> -       else
> -               ret_val = EOB_ACT_CONTINUE_SCAN;
> -
> --      if ((yy_size_t) ((yy_n_chars) + number_to_move) >
> YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
> -+      if (((yy_n_chars) + number_to_move) >
> YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
> -               /* Extend the array by 50%, plus the number we really
> need. */
> --              yy_size_t new_size = (yy_n_chars) + number_to_move +
> ((yy_n_chars) >> 1);
> --              YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
> yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
> -+              int new_size = (yy_n_chars) + number_to_move +
> ((yy_n_chars) >> 1);
> -+              YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
> -+                      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,
> (yy_size_t) new_size  );
> -               if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
> -                       YY_FATAL_ERROR( "out of dynamic memory in
> yy_get_next_buffer()" );
> -+              /* "- 2" to take care of EOB's */
> -+              YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size -
> 2);
> -       }
> -
> -       (yy_n_chars) += number_to_move;
> -@@ -3295,15 +3336,15 @@ static int yy_get_next_buffer (void)
> -
> -     static yy_state_type yy_get_previous_state (void)
> - {
> --      register yy_state_type yy_current_state;
> --      register char *yy_cp;
> -+      yy_state_type yy_current_state;
> -+      char *yy_cp;
> -
> -       yy_current_state = (yy_start);
> -       yy_current_state += YY_AT_BOL();
> -
> -       for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p);
> ++yy_cp )
> -               {
> --              register YY_CHAR yy_c = (*yy_cp ?
> yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
> -+              YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
> -               if ( yy_accept[yy_current_state] )
> -                       {
> -                       (yy_last_accepting_state) = yy_current_state;
> -@@ -3312,10 +3353,10 @@ static int yy_get_next_buffer (void)
> -               while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
> yy_current_state )
> -                       {
> -                       yy_current_state = (int) yy_def[yy_current_state];
> --                      if ( yy_current_state >= 1235 )
> --                              yy_c = yy_meta[(unsigned int) yy_c];
> -+                      if ( yy_current_state >= 1261 )
> -+                              yy_c = yy_meta[yy_c];
> -                       }
> --              yy_current_state = yy_nxt[yy_base[yy_current_state] +
> (unsigned int) yy_c];
> -+              yy_current_state = yy_nxt[yy_base[yy_current_state] +
> yy_c];
> -               }
> -
> -       return yy_current_state;
> -@@ -3328,10 +3369,10 @@ static int yy_get_next_buffer (void)
> -  */
> -     static yy_state_type yy_try_NUL_trans  (yy_state_type
> yy_current_state )
> - {
> --      register int yy_is_jam;
> --      register char *yy_cp = (yy_c_buf_p);
> -+      int yy_is_jam;
> -+      char *yy_cp = (yy_c_buf_p);
> -
> --      register YY_CHAR yy_c = 1;
> -+      YY_CHAR yy_c = 1;
> -       if ( yy_accept[yy_current_state] )
> -               {
> -               (yy_last_accepting_state) = yy_current_state;
> -@@ -3340,18 +3381,20 @@ static int yy_get_next_buffer (void)
> -       while ( yy_chk[yy_base[yy_current_state] + yy_c] !=
> yy_current_state )
> -               {
> -               yy_current_state = (int) yy_def[yy_current_state];
> --              if ( yy_current_state >= 1235 )
> --                      yy_c = yy_meta[(unsigned int) yy_c];
> -+              if ( yy_current_state >= 1261 )
> -+                      yy_c = yy_meta[yy_c];
> -               }
> --      yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned
> int) yy_c];
> --      yy_is_jam = (yy_current_state == 1234);
> -+      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
> -+      yy_is_jam = (yy_current_state == 1260);
> -
> --      return yy_is_jam ? 0 : yy_current_state;
> -+              return yy_is_jam ? 0 : yy_current_state;
> - }
> -
> --    static void yyunput (int c, register char * yy_bp )
> -+#ifndef YY_NO_UNPUT
> -+
> -+    static void yyunput (int c, char * yy_bp )
> - {
> --      register char *yy_cp;
> -+      char *yy_cp;
> -
> -     yy_cp = (yy_c_buf_p);
> -
> -@@ -3361,10 +3404,10 @@ static int yy_get_next_buffer (void)
> -       if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
> -               { /* need to shift things up to make room */
> -               /* +2 for EOB chars. */
> --              register yy_size_t number_to_move = (yy_n_chars) + 2;
> --              register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
> -+              int number_to_move = (yy_n_chars) + 2;
> -+              char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
> -
>  YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
> --              register char *source =
> -+              char *source =
> -
>  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
> -
> -               while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
> -@@ -3373,7 +3416,7 @@ static int yy_get_next_buffer (void)
> -               yy_cp += (int) (dest - source);
> -               yy_bp += (int) (dest - source);
> -               YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
> --                      (yy_n_chars) =
> YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
> -+                      (yy_n_chars) = (int)
> YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
> -
> -               if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
> -                       YY_FATAL_ERROR( "flex scanner push-back overflow"
> );
> -@@ -3386,6 +3429,8 @@ static int yy_get_next_buffer (void)
> -       (yy_c_buf_p) = yy_cp;
> - }
> -
> -+#endif
> -+
> - #ifndef YY_NO_INPUT
> - #ifdef __cplusplus
> -     static int yyinput (void)
> -@@ -3410,7 +3455,7 @@ static int yy_get_next_buffer (void)
> -
> -               else
> -                       { /* need more input */
> --                      yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
> -+                      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
> -                       ++(yy_c_buf_p);
> -
> -                       switch ( yy_get_next_buffer(  ) )
> -@@ -3427,13 +3472,13 @@ static int yy_get_next_buffer (void)
> -                                        */
> -
> -                                       /* Reset buffer status. */
> --                                      yyrestart(yyin );
> -+                                      yyrestart( yyin );
> -
> -                                       /*FALLTHROUGH*/
> -
> -                               case EOB_ACT_END_OF_FILE:
> -                                       {
> --                                      if ( yywrap( ) )
> -+                                      if ( yywrap(  ) )
> -                                               return 0;
> -
> -                                       if ( !
> (yy_did_buffer_switch_on_eof) )
> -@@ -3473,11 +3518,11 @@ static int yy_get_next_buffer (void)
> -       if ( ! YY_CURRENT_BUFFER ){
> -         yyensure_buffer_stack ();
> -               YY_CURRENT_BUFFER_LVALUE =
> --            yy_create_buffer(yyin,YY_BUF_SIZE );
> -+            yy_create_buffer( yyin, YY_BUF_SIZE );
> -       }
> -
> --      yy_init_buffer(YY_CURRENT_BUFFER,input_file );
> --      yy_load_buffer_state( );
> -+      yy_init_buffer( YY_CURRENT_BUFFER, input_file );
> -+      yy_load_buffer_state(  );
> - }
> -
> - /** Switch to a different input buffer.
> -@@ -3505,7 +3550,7 @@ static int yy_get_next_buffer (void)
> -               }
> -
> -       YY_CURRENT_BUFFER_LVALUE = new_buffer;
> --      yy_load_buffer_state( );
> -+      yy_load_buffer_state(  );
> -
> -       /* We don't actually know whether we did this switch during
> -        * EOF (yywrap()) processing, but the only time this flag
> -@@ -3533,7 +3578,7 @@ static void yy_load_buffer_state  (void)
> - {
> -       YY_BUFFER_STATE b;
> -
> --      b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
> -+      b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
> -       if ( ! b )
> -               YY_FATAL_ERROR( "out of dynamic memory in
> yy_create_buffer()" );
> -
> -@@ -3542,13 +3587,13 @@ static void yy_load_buffer_state  (void)
> -       /* yy_ch_buf has to be 2 characters longer than the size given
> because
> -        * we need to put in 2 end-of-buffer characters.
> -        */
> --      b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
> -+      b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)
> );
> -       if ( ! b->yy_ch_buf )
> -               YY_FATAL_ERROR( "out of dynamic memory in
> yy_create_buffer()" );
> -
> -       b->yy_is_our_buffer = 1;
> -
> --      yy_init_buffer(b,file );
> -+      yy_init_buffer( b, file );
> -
> -       return b;
> - }
> -@@ -3567,15 +3612,11 @@ static void yy_load_buffer_state  (void)
> -               YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
> -
> -       if ( b->yy_is_our_buffer )
> --              yyfree((void *) b->yy_ch_buf  );
> -+              yyfree( (void *) b->yy_ch_buf  );
> -
> --      yyfree((void *) b  );
> -+      yyfree( (void *) b  );
> - }
> -
> --#ifndef __cplusplus
> --extern int isatty (int );
> --#endif /* __cplusplus */
> --
> - /* Initializes or reinitializes a buffer.
> -  * This function is sometimes called more than once on the same buffer,
> -  * such as during a yyrestart() or at EOF.
> -@@ -3585,7 +3626,7 @@ extern int isatty (int );
> - {
> -       int oerrno = errno;
> -
> --      yy_flush_buffer(b );
> -+      yy_flush_buffer( b );
> -
> -       b->yy_input_file = file;
> -       b->yy_fill_buffer = 1;
> -@@ -3628,7 +3669,7 @@ extern int isatty (int );
> -       b->yy_buffer_status = YY_BUFFER_NEW;
> -
> -       if ( b == YY_CURRENT_BUFFER )
> --              yy_load_buffer_state( );
> -+              yy_load_buffer_state(  );
> - }
> -
> - /** Pushes the new state onto the stack. The new state becomes
> -@@ -3659,7 +3700,7 @@ void yypush_buffer_state (YY_BUFFER_STAT
> -       YY_CURRENT_BUFFER_LVALUE = new_buffer;
> -
> -       /* copied from yy_switch_to_buffer. */
> --      yy_load_buffer_state( );
> -+      yy_load_buffer_state(  );
> -       (yy_did_buffer_switch_on_eof) = 1;
> - }
> -
> -@@ -3678,7 +3719,7 @@ void yypop_buffer_state (void)
> -               --(yy_buffer_stack_top);
> -
> -       if (YY_CURRENT_BUFFER) {
> --              yy_load_buffer_state( );
> -+              yy_load_buffer_state(  );
> -               (yy_did_buffer_switch_on_eof) = 1;
> -       }
> - }
> -@@ -3696,15 +3737,15 @@ static void yyensure_buffer_stack (void)
> -                * scanner will even need a stack. We use 2 instead of 1
> to avoid an
> -                * immediate realloc on the next call.
> -          */
> --              num_to_alloc = 1;
> -+      num_to_alloc = 1; /* After all that talk, this was set to 1
> anyways... */
> -               (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
> -
>  (num_to_alloc * sizeof(struct yy_buffer_state*)
> -                                                               );
> -               if ( ! (yy_buffer_stack) )
> -                       YY_FATAL_ERROR( "out of dynamic memory in
> yyensure_buffer_stack()" );
> --
> -+
> -               memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct
> yy_buffer_state*));
> --
> -+
> -               (yy_buffer_stack_max) = num_to_alloc;
> -               (yy_buffer_stack_top) = 0;
> -               return;
> -@@ -3713,7 +3754,7 @@ static void yyensure_buffer_stack (void)
> -       if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
> -
> -               /* Increase the buffer to prepare for a possible push. */
> --              int grow_size = 8 /* arbitrary grow size */;
> -+              yy_size_t grow_size = 8 /* arbitrary grow size */;
> -
> -               num_to_alloc = (yy_buffer_stack_max) + grow_size;
> -               (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
> -@@ -3733,7 +3774,7 @@ static void yyensure_buffer_stack (void)
> -  * @param base the character buffer
> -  * @param size the size in bytes of the character buffer
> -  *
> -- * @return the newly allocated buffer state object.
> -+ * @return the newly allocated buffer state object.
> -  */
> - YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
> - {
> -@@ -3743,23 +3784,23 @@ YY_BUFFER_STATE yy_scan_buffer  (char *
> -            base[size-2] != YY_END_OF_BUFFER_CHAR ||
> -            base[size-1] != YY_END_OF_BUFFER_CHAR )
> -               /* They forgot to leave room for the EOB's. */
> --              return 0;
> -+              return NULL;
> -
> --      b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
> -+      b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
> -       if ( ! b )
> -               YY_FATAL_ERROR( "out of dynamic memory in
> yy_scan_buffer()" );
> -
> --      b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
> -+      b->yy_buf_size = (int) (size - 2);      /* "- 2" to take care of
> EOB's */
> -       b->yy_buf_pos = b->yy_ch_buf = base;
> -       b->yy_is_our_buffer = 0;
> --      b->yy_input_file = 0;
> -+      b->yy_input_file = NULL;
> -       b->yy_n_chars = b->yy_buf_size;
> -       b->yy_is_interactive = 0;
> -       b->yy_at_bol = 1;
> -       b->yy_fill_buffer = 0;
> -       b->yy_buffer_status = YY_BUFFER_NEW;
> -
> --      yy_switch_to_buffer(b  );
> -+      yy_switch_to_buffer( b  );
> -
> -       return b;
> - }
> -@@ -3772,28 +3813,29 @@ YY_BUFFER_STATE yy_scan_buffer  (char *
> -  * @note If you want to scan bytes that may contain NUL values, then use
> -  *       yy_scan_bytes() instead.
> -  */
> --YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
> -+YY_BUFFER_STATE yy_scan_string (const char * yystr )
> - {
> -
> --      return yy_scan_bytes(yystr,strlen(yystr) );
> -+      return yy_scan_bytes( yystr, (int) strlen(yystr) );
> - }
> -
> - /** Setup the input buffer state to scan the given bytes. The next call
> to yylex() will
> -  * scan from a @e copy of @a bytes.
> -- * @param bytes the byte buffer to scan
> -- * @param len the number of bytes in the buffer pointed to by @a bytes.
> -+ * @param yybytes the byte buffer to scan
> -+ * @param _yybytes_len the number of bytes in the buffer pointed to by
> @a bytes.
> -  *
> -  * @return the newly allocated buffer state object.
> -  */
> --YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t
> _yybytes_len )
> -+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
> - {
> -       YY_BUFFER_STATE b;
> -       char *buf;
> --      yy_size_t n, i;
> -+      yy_size_t n;
> -+      int i;
> -
> -       /* Get memory for full buffer, including space for trailing EOB's.
> */
> --      n = _yybytes_len + 2;
> --      buf = (char *) yyalloc(n  );
> -+      n = (yy_size_t) (_yybytes_len + 2);
> -+      buf = (char *) yyalloc( n  );
> -       if ( ! buf )
> -               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()"
> );
> -
> -@@ -3802,7 +3844,7 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
> -
> -       buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
> -
> --      b = yy_scan_buffer(buf,n );
> -+      b = yy_scan_buffer( buf, n );
> -       if ( ! b )
> -               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
> -
> -@@ -3814,20 +3856,21 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
> -       return b;
> - }
> -
> --    static void yy_push_state (int  new_state )
> -+    static void yy_push_state (int  _new_state )
> - {
> -       if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
> -               {
> -               yy_size_t new_size;
> -
> -               (yy_start_stack_depth) += YY_START_STACK_INCR;
> --              new_size = (yy_start_stack_depth) * sizeof( int );
> -+              new_size = (yy_size_t) (yy_start_stack_depth) * sizeof(
> int );
> -
> -               if ( ! (yy_start_stack) )
> --                      (yy_start_stack) = (int *) yyalloc(new_size  );
> -+                      (yy_start_stack) = (int *) yyalloc( new_size  );
> -
> -               else
> --                      (yy_start_stack) = (int *) yyrealloc((void *)
> (yy_start_stack),new_size  );
> -+                      (yy_start_stack) = (int *) yyrealloc(
> -+                                      (void *) (yy_start_stack),
> new_size  );
> -
> -               if ( ! (yy_start_stack) )
> -                       YY_FATAL_ERROR( "out of memory expanding
> start-condition stack" );
> -@@ -3835,7 +3878,7 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
> -
> -       (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
> -
> --      BEGIN(new_state);
> -+      BEGIN(_new_state);
> - }
> -
> -     static void yy_pop_state  (void)
> -@@ -3855,9 +3898,9 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
> - #define YY_EXIT_FAILURE 2
> - #endif
> -
> --static void yy_fatal_error (yyconst char* msg )
> -+static void yynoreturn yy_fatal_error (const char* msg )
> - {
> --      (void) fprintf( stderr, "%s\n", msg );
> -+                      fprintf( stderr, "%s\n", msg );
> -       exit( YY_EXIT_FAILURE );
> - }
> -
> -@@ -3885,7 +3928,7 @@ static void yy_fatal_error (yyconst char
> -  */
> - int yyget_lineno  (void)
> - {
> --
> -+
> -     return yylineno;
> - }
> -
> -@@ -3908,7 +3951,7 @@ FILE *yyget_out  (void)
> - /** Get the length of the current token.
> -  *
> -  */
> --yy_size_t yyget_leng  (void)
> -+int yyget_leng  (void)
> - {
> -         return yyleng;
> - }
> -@@ -3923,29 +3966,29 @@ char *yyget_text  (void)
> - }
> -
> - /** Set the current line number.
> -- * @param line_number
> -+ * @param _line_number line number
> -  *
> -  */
> --void yyset_lineno (int  line_number )
> -+void yyset_lineno (int  _line_number )
> - {
> -
> --    yylineno = line_number;
> -+    yylineno = _line_number;
> - }
> -
> - /** Set the input stream. This does not discard the current
> -  * input buffer.
> -- * @param in_str A readable stream.
> -+ * @param _in_str A readable stream.
> -  *
> -  * @see yy_switch_to_buffer
> -  */
> --void yyset_in (FILE *  in_str )
> -+void yyset_in (FILE *  _in_str )
> - {
> --        yyin = in_str ;
> -+        yyin = _in_str ;
> - }
> -
> --void yyset_out (FILE *  out_str )
> -+void yyset_out (FILE *  _out_str )
> - {
> --        yyout = out_str ;
> -+        yyout = _out_str ;
> - }
> -
> - int yyget_debug  (void)
> -@@ -3953,9 +3996,9 @@ int yyget_debug  (void)
> -         return yy_flex_debug;
> - }
> -
> --void yyset_debug (int  bdebug )
> -+void yyset_debug (int  _bdebug )
> - {
> --        yy_flex_debug = bdebug ;
> -+        yy_flex_debug = _bdebug ;
> - }
> -
> - static int yy_init_globals (void)
> -@@ -3964,10 +4007,10 @@ static int yy_init_globals (void)
> -      * This function is called from yylex_destroy(), so don't allocate
> here.
> -      */
> -
> --    (yy_buffer_stack) = 0;
> -+    (yy_buffer_stack) = NULL;
> -     (yy_buffer_stack_top) = 0;
> -     (yy_buffer_stack_max) = 0;
> --    (yy_c_buf_p) = (char *) 0;
> -+    (yy_c_buf_p) = NULL;
> -     (yy_init) = 0;
> -     (yy_start) = 0;
> -
> -@@ -3980,8 +4023,8 @@ static int yy_init_globals (void)
> -     yyin = stdin;
> -     yyout = stdout;
> - #else
> --    yyin = (FILE *) 0;
> --    yyout = (FILE *) 0;
> -+    yyin = NULL;
> -+    yyout = NULL;
> - #endif
> -
> -     /* For future reference: Set errno on error, since we are called by
> -@@ -3996,7 +4039,7 @@ int yylex_destroy  (void)
> -
> -     /* Pop the buffer stack, destroying each element. */
> -       while(YY_CURRENT_BUFFER){
> --              yy_delete_buffer(YY_CURRENT_BUFFER  );
> -+              yy_delete_buffer( YY_CURRENT_BUFFER  );
> -               YY_CURRENT_BUFFER_LVALUE = NULL;
> -               yypop_buffer_state();
> -       }
> -@@ -4006,7 +4049,7 @@ int yylex_destroy  (void)
> -       (yy_buffer_stack) = NULL;
> -
> -     /* Destroy the start condition stack. */
> --        yyfree((yy_start_stack)  );
> -+        yyfree( (yy_start_stack)  );
> -         (yy_start_stack) = NULL;
> -
> -     /* Reset the globals. This is important in a non-reentrant scanner
> so the next time
> -@@ -4021,18 +4064,19 @@ int yylex_destroy  (void)
> -  */
> -
> - #ifndef yytext_ptr
> --static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
> -+static void yy_flex_strncpy (char* s1, const char * s2, int n )
> - {
> --      register int i;
> -+
> -+      int i;
> -       for ( i = 0; i < n; ++i )
> -               s1[i] = s2[i];
> - }
> - #endif
> -
> - #ifdef YY_NEED_STRLEN
> --static int yy_flex_strlen (yyconst char * s )
> -+static int yy_flex_strlen (const char * s )
> - {
> --      register int n;
> -+      int n;
> -       for ( n = 0; s[n]; ++n )
> -               ;
> -
> -@@ -4042,11 +4086,12 @@ static int yy_flex_strlen (yyconst char
> -
> - void *yyalloc (yy_size_t  size )
> - {
> --      return (void *) malloc( size );
> -+                      return malloc(size);
> - }
> -
> - void *yyrealloc  (void * ptr, yy_size_t  size )
> - {
> -+
> -       /* The cast to (char *) in the following accommodates both
> -        * implementations that use char* generic pointers, and those
> -        * that use void* generic pointers.  It works with the latter
> -@@ -4054,18 +4099,17 @@ void *yyrealloc  (void * ptr, yy_size_t
> -        * any pointer type to void*, and deal with argument conversions
> -        * as though doing an assignment.
> -        */
> --      return (void *) realloc( (char *) ptr, size );
> -+      return realloc(ptr, size);
> - }
> -
> - void yyfree (void * ptr )
> - {
> --      free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
> -+                      free( (char *) ptr );   /* see yyrealloc() for
> (char *) cast */
> - }
> -
> - #define YYTABLES_NAME "yytables"
> -
> --#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
> --
> -+#line 635 "lexer.l"
> -
> -
> - /*
> -Index: sip-4.19.23/sipgen/parser.c
> -===================================================================
> ---- sip-4.19.23.orig/sipgen/parser.c
> -+++ sip-4.19.23/sipgen/parser.c
> -@@ -1,14 +1,14 @@
> --/* A Bison parser, made by GNU Bison 2.3.  */
> -+/* A Bison parser, made by GNU Bison 3.8.2.  */
> -
> --/* Skeleton implementation for Bison's Yacc-like parsers in C
> -+/* Bison implementation for Yacc-like parsers in C
> -
> --   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005,
> 2006
> --   Free Software Foundation, Inc.
> -+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software
> Foundation,
> -+   Inc.
> -
> --   This program is free software; you can redistribute it and/or modify
> -+   This program is free software: you can redistribute it and/or modify
> -    it under the terms of the GNU General Public License as published by
> --   the Free Software Foundation; either version 2, or (at your option)
> --   any later version.
> -+   the Free Software Foundation, either version 3 of the License, or
> -+   (at your option) any later version.
> -
> -    This program is distributed in the hope that it will be useful,
> -    but WITHOUT ANY WARRANTY; without even the implied warranty of
> -@@ -16,9 +16,7 @@
> -    GNU General Public License for more details.
> -
> -    You should have received a copy of the GNU General Public License
> --   along with this program; if not, write to the Free Software
> --   Foundation, Inc., 51 Franklin Street, Fifth Floor,
> --   Boston, MA 02110-1301, USA.  */
> -+   along with this program.  If not, see <https://www.gnu.org/licenses/>.
> */
> -
> - /* As a special exception, you may create a larger work that contains
> -    part or all of the Bison parser skeleton and distribute that work
> -@@ -36,6 +34,10 @@
> - /* C LALR(1) parser skeleton written by Richard Stallman, by
> -    simplifying the original so-called "semantic" parser.  */
> -
> -+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
> -+   especially those whose name start with YY_ or yy_.  They are
> -+   private implementation details that can be changed or removed.  */
> -+
> - /* All symbols defined below should begin with yy or YY, to avoid
> -    infringing on user name space.  This should be done even for local
> -    variables, as they might otherwise be expanded by user macros.
> -@@ -43,11 +45,11 @@
> -    define necessary library symbols; they are noted "INFRINGES ON
> -    USER NAME SPACE" below.  */
> -
> --/* Identify Bison output.  */
> --#define YYBISON 1
> -+/* Identify Bison output, and Bison version.  */
> -+#define YYBISON 30802
> -
> --/* Bison version.  */
> --#define YYBISON_VERSION "2.3"
> -+/* Bison version string.  */
> -+#define YYBISON_VERSION "3.8.2"
> -
> - /* Skeleton name.  */
> - #define YYSKELETON_NAME "yacc.c"
> -@@ -55,324 +57,17 @@
> - /* Pure parsers.  */
> - #define YYPURE 0
> -
> --/* Using locations.  */
> --#define YYLSP_NEEDED 0
> --
> -+/* Push parsers.  */
> -+#define YYPUSH 0
> -
> --
> --/* Tokens.  */
> --#ifndef YYTOKENTYPE
> --# define YYTOKENTYPE
> --   /* Put the tokens into the symbol table, so that GDB and other
> debuggers
> --      know about them.  */
> --   enum yytokentype {
> --     TK_API = 258,
> --     TK_AUTOPYNAME = 259,
> --     TK_DEFDOCSTRFMT = 260,
> --     TK_DEFDOCSTRSIG = 261,
> --     TK_DEFENCODING = 262,
> --     TK_PLUGIN = 263,
> --     TK_VIRTERRORHANDLER = 264,
> --     TK_EXPTYPEHINTCODE = 265,
> --     TK_TYPEHINTCODE = 266,
> --     TK_DOCSTRING = 267,
> --     TK_DOC = 268,
> --     TK_EXPORTEDDOC = 269,
> --     TK_EXTRACT = 270,
> --     TK_MAKEFILE = 271,
> --     TK_ACCESSCODE = 272,
> --     TK_GETCODE = 273,
> --     TK_SETCODE = 274,
> --     TK_PREINITCODE = 275,
> --     TK_INITCODE = 276,
> --     TK_POSTINITCODE = 277,
> --     TK_FINALCODE = 278,
> --     TK_UNITCODE = 279,
> --     TK_UNITPOSTINCLUDECODE = 280,
> --     TK_MODCODE = 281,
> --     TK_TYPECODE = 282,
> --     TK_PREPYCODE = 283,
> --     TK_COPYING = 284,
> --     TK_MAPPEDTYPE = 285,
> --     TK_CODELINE = 286,
> --     TK_IF = 287,
> --     TK_END = 288,
> --     TK_NAME_VALUE = 289,
> --     TK_PATH_VALUE = 290,
> --     TK_STRING_VALUE = 291,
> --     TK_VIRTUALCATCHERCODE = 292,
> --     TK_TRAVERSECODE = 293,
> --     TK_CLEARCODE = 294,
> --     TK_GETBUFFERCODE = 295,
> --     TK_RELEASEBUFFERCODE = 296,
> --     TK_READBUFFERCODE = 297,
> --     TK_WRITEBUFFERCODE = 298,
> --     TK_SEGCOUNTCODE = 299,
> --     TK_CHARBUFFERCODE = 300,
> --     TK_PICKLECODE = 301,
> --     TK_VIRTUALCALLCODE = 302,
> --     TK_METHODCODE = 303,
> --     TK_PREMETHODCODE = 304,
> --     TK_INSTANCECODE = 305,
> --     TK_FROMTYPE = 306,
> --     TK_TOTYPE = 307,
> --     TK_TOSUBCLASS = 308,
> --     TK_INCLUDE = 309,
> --     TK_OPTINCLUDE = 310,
> --     TK_IMPORT = 311,
> --     TK_EXPHEADERCODE = 312,
> --     TK_MODHEADERCODE = 313,
> --     TK_TYPEHEADERCODE = 314,
> --     TK_MODULE = 315,
> --     TK_CMODULE = 316,
> --     TK_CONSMODULE = 317,
> --     TK_COMPOMODULE = 318,
> --     TK_CLASS = 319,
> --     TK_STRUCT = 320,
> --     TK_PUBLIC = 321,
> --     TK_PROTECTED = 322,
> --     TK_PRIVATE = 323,
> --     TK_SIGNALS = 324,
> --     TK_SIGNAL_METHOD = 325,
> --     TK_SLOTS = 326,
> --     TK_SLOT_METHOD = 327,
> --     TK_BOOL = 328,
> --     TK_SHORT = 329,
> --     TK_INT = 330,
> --     TK_LONG = 331,
> --     TK_FLOAT = 332,
> --     TK_DOUBLE = 333,
> --     TK_CHAR = 334,
> --     TK_WCHAR_T = 335,
> --     TK_VOID = 336,
> --     TK_PYOBJECT = 337,
> --     TK_PYTUPLE = 338,
> --     TK_PYLIST = 339,
> --     TK_PYDICT = 340,
> --     TK_PYCALLABLE = 341,
> --     TK_PYSLICE = 342,
> --     TK_PYTYPE = 343,
> --     TK_PYBUFFER = 344,
> --     TK_VIRTUAL = 345,
> --     TK_ENUM = 346,
> --     TK_SIGNED = 347,
> --     TK_UNSIGNED = 348,
> --     TK_SCOPE = 349,
> --     TK_LOGICAL_OR = 350,
> --     TK_CONST = 351,
> --     TK_STATIC = 352,
> --     TK_SIPSIGNAL = 353,
> --     TK_SIPSLOT = 354,
> --     TK_SIPANYSLOT = 355,
> --     TK_SIPRXCON = 356,
> --     TK_SIPRXDIS = 357,
> --     TK_SIPSLOTCON = 358,
> --     TK_SIPSLOTDIS = 359,
> --     TK_SIPSSIZET = 360,
> --     TK_SIZET = 361,
> --     TK_NUMBER_VALUE = 362,
> --     TK_REAL_VALUE = 363,
> --     TK_TYPEDEF = 364,
> --     TK_NAMESPACE = 365,
> --     TK_TIMELINE = 366,
> --     TK_PLATFORMS = 367,
> --     TK_FEATURE = 368,
> --     TK_LICENSE = 369,
> --     TK_QCHAR_VALUE = 370,
> --     TK_TRUE_VALUE = 371,
> --     TK_FALSE_VALUE = 372,
> --     TK_NULL_VALUE = 373,
> --     TK_OPERATOR = 374,
> --     TK_THROW = 375,
> --     TK_QOBJECT = 376,
> --     TK_EXCEPTION = 377,
> --     TK_RAISECODE = 378,
> --     TK_EXPLICIT = 379,
> --     TK_TEMPLATE = 380,
> --     TK_FINAL = 381,
> --     TK_ELLIPSIS = 382,
> --     TK_DEFMETATYPE = 383,
> --     TK_DEFSUPERTYPE = 384,
> --     TK_PROPERTY = 385,
> --     TK_HIDE_NS = 386,
> --     TK_FORMAT = 387,
> --     TK_GET = 388,
> --     TK_ID = 389,
> --     TK_KWARGS = 390,
> --     TK_LANGUAGE = 391,
> --     TK_LICENSEE = 392,
> --     TK_NAME = 393,
> --     TK_OPTIONAL = 394,
> --     TK_ORDER = 395,
> --     TK_REMOVELEADING = 396,
> --     TK_SET = 397,
> --     TK_SIGNATURE = 398,
> --     TK_TIMESTAMP = 399,
> --     TK_TYPE = 400,
> --     TK_USEARGNAMES = 401,
> --     TK_USELIMITEDAPI = 402,
> --     TK_ALLRAISEPYEXC = 403,
> --     TK_CALLSUPERINIT = 404,
> --     TK_DEFERRORHANDLER = 405,
> --     TK_VERSION = 406
> --   };
> --#endif
> --/* Tokens.  */
> --#define TK_API 258
> --#define TK_AUTOPYNAME 259
> --#define TK_DEFDOCSTRFMT 260
> --#define TK_DEFDOCSTRSIG 261
> --#define TK_DEFENCODING 262
> --#define TK_PLUGIN 263
> --#define TK_VIRTERRORHANDLER 264
> --#define TK_EXPTYPEHINTCODE 265
> --#define TK_TYPEHINTCODE 266
> --#define TK_DOCSTRING 267
> --#define TK_DOC 268
> --#define TK_EXPORTEDDOC 269
> --#define TK_EXTRACT 270
> --#define TK_MAKEFILE 271
> --#define TK_ACCESSCODE 272
> --#define TK_GETCODE 273
> --#define TK_SETCODE 274
> --#define TK_PREINITCODE 275
> --#define TK_INITCODE 276
> --#define TK_POSTINITCODE 277
> --#define TK_FINALCODE 278
> --#define TK_UNITCODE 279
> --#define TK_UNITPOSTINCLUDECODE 280
> --#define TK_MODCODE 281
> --#define TK_TYPECODE 282
> --#define TK_PREPYCODE 283
> --#define TK_COPYING 284
> --#define TK_MAPPEDTYPE 285
> --#define TK_CODELINE 286
> --#define TK_IF 287
> --#define TK_END 288
> --#define TK_NAME_VALUE 289
> --#define TK_PATH_VALUE 290
> --#define TK_STRING_VALUE 291
> --#define TK_VIRTUALCATCHERCODE 292
> --#define TK_TRAVERSECODE 293
> --#define TK_CLEARCODE 294
> --#define TK_GETBUFFERCODE 295
> --#define TK_RELEASEBUFFERCODE 296
> --#define TK_READBUFFERCODE 297
> --#define TK_WRITEBUFFERCODE 298
> --#define TK_SEGCOUNTCODE 299
> --#define TK_CHARBUFFERCODE 300
> --#define TK_PICKLECODE 301
> --#define TK_VIRTUALCALLCODE 302
> --#define TK_METHODCODE 303
> --#define TK_PREMETHODCODE 304
> --#define TK_INSTANCECODE 305
> --#define TK_FROMTYPE 306
> --#define TK_TOTYPE 307
> --#define TK_TOSUBCLASS 308
> --#define TK_INCLUDE 309
> --#define TK_OPTINCLUDE 310
> --#define TK_IMPORT 311
> --#define TK_EXPHEADERCODE 312
> --#define TK_MODHEADERCODE 313
> --#define TK_TYPEHEADERCODE 314
> --#define TK_MODULE 315
> --#define TK_CMODULE 316
> --#define TK_CONSMODULE 317
> --#define TK_COMPOMODULE 318
> --#define TK_CLASS 319
> --#define TK_STRUCT 320
> --#define TK_PUBLIC 321
> --#define TK_PROTECTED 322
> --#define TK_PRIVATE 323
> --#define TK_SIGNALS 324
> --#define TK_SIGNAL_METHOD 325
> --#define TK_SLOTS 326
> --#define TK_SLOT_METHOD 327
> --#define TK_BOOL 328
> --#define TK_SHORT 329
> --#define TK_INT 330
> --#define TK_LONG 331
> --#define TK_FLOAT 332
> --#define TK_DOUBLE 333
> --#define TK_CHAR 334
> --#define TK_WCHAR_T 335
> --#define TK_VOID 336
> --#define TK_PYOBJECT 337
> --#define TK_PYTUPLE 338
> --#define TK_PYLIST 339
> --#define TK_PYDICT 340
> --#define TK_PYCALLABLE 341
> --#define TK_PYSLICE 342
> --#define TK_PYTYPE 343
> --#define TK_PYBUFFER 344
> --#define TK_VIRTUAL 345
> --#define TK_ENUM 346
> --#define TK_SIGNED 347
> --#define TK_UNSIGNED 348
> --#define TK_SCOPE 349
> --#define TK_LOGICAL_OR 350
> --#define TK_CONST 351
> --#define TK_STATIC 352
> --#define TK_SIPSIGNAL 353
> --#define TK_SIPSLOT 354
> --#define TK_SIPANYSLOT 355
> --#define TK_SIPRXCON 356
> --#define TK_SIPRXDIS 357
> --#define TK_SIPSLOTCON 358
> --#define TK_SIPSLOTDIS 359
> --#define TK_SIPSSIZET 360
> --#define TK_SIZET 361
> --#define TK_NUMBER_VALUE 362
> --#define TK_REAL_VALUE 363
> --#define TK_TYPEDEF 364
> --#define TK_NAMESPACE 365
> --#define TK_TIMELINE 366
> --#define TK_PLATFORMS 367
> --#define TK_FEATURE 368
> --#define TK_LICENSE 369
> --#define TK_QCHAR_VALUE 370
> --#define TK_TRUE_VALUE 371
> --#define TK_FALSE_VALUE 372
> --#define TK_NULL_VALUE 373
> --#define TK_OPERATOR 374
> --#define TK_THROW 375
> --#define TK_QOBJECT 376
> --#define TK_EXCEPTION 377
> --#define TK_RAISECODE 378
> --#define TK_EXPLICIT 379
> --#define TK_TEMPLATE 380
> --#define TK_FINAL 381
> --#define TK_ELLIPSIS 382
> --#define TK_DEFMETATYPE 383
> --#define TK_DEFSUPERTYPE 384
> --#define TK_PROPERTY 385
> --#define TK_HIDE_NS 386
> --#define TK_FORMAT 387
> --#define TK_GET 388
> --#define TK_ID 389
> --#define TK_KWARGS 390
> --#define TK_LANGUAGE 391
> --#define TK_LICENSEE 392
> --#define TK_NAME 393
> --#define TK_OPTIONAL 394
> --#define TK_ORDER 395
> --#define TK_REMOVELEADING 396
> --#define TK_SET 397
> --#define TK_SIGNATURE 398
> --#define TK_TIMESTAMP 399
> --#define TK_TYPE 400
> --#define TK_USEARGNAMES 401
> --#define TK_USELIMITEDAPI 402
> --#define TK_ALLRAISEPYEXC 403
> --#define TK_CALLSUPERINIT 404
> --#define TK_DEFERRORHANDLER 405
> --#define TK_VERSION 406
> -+/* Pull parsers.  */
> -+#define YYPULL 1
> -
> -
> -
> -
> --/* Copy the first part of user declarations.  */
> --#line 19 "sip-4.19.23/sipgen/metasrc/parser.y"
> -+/* First part of user prologue.  */
> -+#line 19 "parser.y"
> -
> - #include <stdlib.h>
> - #include <string.h>
> -@@ -539,9 +234,9 @@ static void addProperty(sipSpec *pt, mod
> -         docstringDef *docstring);
> - static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> -         const char *filename, const char *name, int c_module, KwArgs
> kwargs,
> --        int use_arg_names, int use_limited_api, int call_super_init,
> --        int all_raise_py_exc, const char *def_error_handler,
> --        docstringDef *docstring);
> -+        int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> -+        int call_super_init, int all_raise_py_exc,
> -+        const char *def_error_handler, docstringDef *docstring);
> - static void addAutoPyName(moduleDef *mod, const char *remove_leading);
> - static KwArgs convertKwArgs(const char *kwargs);
> - static void checkAnnos(optFlags *annos, const char *valid[]);
> -@@ -555,117 +250,555 @@ static int isBackstop(qualDef *qd);
> - static void checkEllipsis(signatureDef *sd);
> - static scopedNameDef *fullyQualifiedName(scopedNameDef *snd);
> -
> -+#line 254 "../parser.c"
> -
> --/* Enabling traces.  */
> --#ifndef YYDEBUG
> --# define YYDEBUG 0
> --#endif
> --
> --/* Enabling verbose error messages.  */
> --#ifdef YYERROR_VERBOSE
> --# undef YYERROR_VERBOSE
> --# define YYERROR_VERBOSE 1
> --#else
> --# define YYERROR_VERBOSE 0
> --#endif
> --
> --/* Enabling the token table.  */
> --#ifndef YYTOKEN_TABLE
> --# define YYTOKEN_TABLE 0
> --#endif
> --
> --#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
> --typedef union YYSTYPE
> --#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
> --{
> --    char            qchar;
> --    char            *text;
> --    long            number;
> --    double          real;
> --    argDef          memArg;
> --    signatureDef    signature;
> --    signatureDef    *optsignature;
> --    throwArgs       *throwlist;
> --    codeBlock       *codeb;
> --    docstringDef    *docstr;
> --    valueDef        value;
> --    valueDef        *valp;
> --    optFlags        optflags;
> --    optFlag         flag;
> --    scopedNameDef   *scpvalp;
> --    fcallDef        fcall;
> --    int             boolean;
> --    exceptionDef    exceptionbase;
> --    classDef        *klass;
> --    apiCfg          api;
> --    autoPyNameCfg   autopyname;
> --    compModuleCfg   compmodule;
> --    consModuleCfg   consmodule;
> --    defDocstringFmtCfg  defdocstringfmt;
> --    defDocstringSigCfg  defdocstringsig;
> --    defEncodingCfg  defencoding;
> --    defMetatypeCfg  defmetatype;
> --    defSupertypeCfg defsupertype;
> --    hiddenNsCfg     hiddenns;
> --    exceptionCfg    exception;
> --    docstringCfg    docstring;
> --    extractCfg      extract;
> --    featureCfg      feature;
> --    licenseCfg      license;
> --    importCfg       import;
> --    includeCfg      include;
> --    moduleCfg       module;
> --    pluginCfg       plugin;
> --    propertyCfg     property;
> --    variableCfg     variable;
> --    vehCfg          veh;
> --    int             token;
> --}
> --/* Line 193 of yacc.c.  */
> --#line 626 "sip-4.19.23/sipgen/parser.c"
> --      YYSTYPE;
> --# define yystype YYSTYPE /* obsolescent; will be withdrawn */
> --# define YYSTYPE_IS_DECLARED 1
> --# define YYSTYPE_IS_TRIVIAL 1
> --#endif
> --
> -+# ifndef YY_CAST
> -+#  ifdef __cplusplus
> -+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
> -+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
> -+#  else
> -+#   define YY_CAST(Type, Val) ((Type) (Val))
> -+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
> -+#  endif
> -+# endif
> -+# ifndef YY_NULLPTR
> -+#  if defined __cplusplus
> -+#   if 201103L <= __cplusplus
> -+#    define YY_NULLPTR nullptr
> -+#   else
> -+#    define YY_NULLPTR 0
> -+#   endif
> -+#  else
> -+#   define YY_NULLPTR ((void*)0)
> -+#  endif
> -+# endif
> -
> -+#include "parser.h"
> -+/* Symbol kind.  */
> -+enum yysymbol_kind_t
> -+{
> -+  YYSYMBOL_YYEMPTY = -2,
> -+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
> -+  YYSYMBOL_YYerror = 1,                    /* error  */
> -+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
> -+  YYSYMBOL_TK_API = 3,                     /* TK_API  */
> -+  YYSYMBOL_TK_AUTOPYNAME = 4,              /* TK_AUTOPYNAME  */
> -+  YYSYMBOL_TK_DEFDOCSTRFMT = 5,            /* TK_DEFDOCSTRFMT  */
> -+  YYSYMBOL_TK_DEFDOCSTRSIG = 6,            /* TK_DEFDOCSTRSIG  */
> -+  YYSYMBOL_TK_DEFENCODING = 7,             /* TK_DEFENCODING  */
> -+  YYSYMBOL_TK_PLUGIN = 8,                  /* TK_PLUGIN  */
> -+  YYSYMBOL_TK_VIRTERRORHANDLER = 9,        /* TK_VIRTERRORHANDLER  */
> -+  YYSYMBOL_TK_EXPTYPEHINTCODE = 10,        /* TK_EXPTYPEHINTCODE  */
> -+  YYSYMBOL_TK_TYPEHINTCODE = 11,           /* TK_TYPEHINTCODE  */
> -+  YYSYMBOL_TK_DOCSTRING = 12,              /* TK_DOCSTRING  */
> -+  YYSYMBOL_TK_DOC = 13,                    /* TK_DOC  */
> -+  YYSYMBOL_TK_EXPORTEDDOC = 14,            /* TK_EXPORTEDDOC  */
> -+  YYSYMBOL_TK_EXTRACT = 15,                /* TK_EXTRACT  */
> -+  YYSYMBOL_TK_MAKEFILE = 16,               /* TK_MAKEFILE  */
> -+  YYSYMBOL_TK_ACCESSCODE = 17,             /* TK_ACCESSCODE  */
> -+  YYSYMBOL_TK_GETCODE = 18,                /* TK_GETCODE  */
> -+  YYSYMBOL_TK_SETCODE = 19,                /* TK_SETCODE  */
> -+  YYSYMBOL_TK_PREINITCODE = 20,            /* TK_PREINITCODE  */
> -+  YYSYMBOL_TK_INITCODE = 21,               /* TK_INITCODE  */
> -+  YYSYMBOL_TK_POSTINITCODE = 22,           /* TK_POSTINITCODE  */
> -+  YYSYMBOL_TK_FINALCODE = 23,              /* TK_FINALCODE  */
> -+  YYSYMBOL_TK_UNITCODE = 24,               /* TK_UNITCODE  */
> -+  YYSYMBOL_TK_UNITPOSTINCLUDECODE = 25,    /* TK_UNITPOSTINCLUDECODE  */
> -+  YYSYMBOL_TK_MODCODE = 26,                /* TK_MODCODE  */
> -+  YYSYMBOL_TK_TYPECODE = 27,               /* TK_TYPECODE  */
> -+  YYSYMBOL_TK_PREPYCODE = 28,              /* TK_PREPYCODE  */
> -+  YYSYMBOL_TK_COPYING = 29,                /* TK_COPYING  */
> -+  YYSYMBOL_TK_MAPPEDTYPE = 30,             /* TK_MAPPEDTYPE  */
> -+  YYSYMBOL_TK_CODELINE = 31,               /* TK_CODELINE  */
> -+  YYSYMBOL_TK_IF = 32,                     /* TK_IF  */
> -+  YYSYMBOL_TK_END = 33,                    /* TK_END  */
> -+  YYSYMBOL_TK_NAME_VALUE = 34,             /* TK_NAME_VALUE  */
> -+  YYSYMBOL_TK_PATH_VALUE = 35,             /* TK_PATH_VALUE  */
> -+  YYSYMBOL_TK_STRING_VALUE = 36,           /* TK_STRING_VALUE  */
> -+  YYSYMBOL_TK_VIRTUALCATCHERCODE = 37,     /* TK_VIRTUALCATCHERCODE  */
> -+  YYSYMBOL_TK_TRAVERSECODE = 38,           /* TK_TRAVERSECODE  */
> -+  YYSYMBOL_TK_CLEARCODE = 39,              /* TK_CLEARCODE  */
> -+  YYSYMBOL_TK_GETBUFFERCODE = 40,          /* TK_GETBUFFERCODE  */
> -+  YYSYMBOL_TK_RELEASEBUFFERCODE = 41,      /* TK_RELEASEBUFFERCODE  */
> -+  YYSYMBOL_TK_READBUFFERCODE = 42,         /* TK_READBUFFERCODE  */
> -+  YYSYMBOL_TK_WRITEBUFFERCODE = 43,        /* TK_WRITEBUFFERCODE  */
> -+  YYSYMBOL_TK_SEGCOUNTCODE = 44,           /* TK_SEGCOUNTCODE  */
> -+  YYSYMBOL_TK_CHARBUFFERCODE = 45,         /* TK_CHARBUFFERCODE  */
> -+  YYSYMBOL_TK_PICKLECODE = 46,             /* TK_PICKLECODE  */
> -+  YYSYMBOL_TK_VIRTUALCALLCODE = 47,        /* TK_VIRTUALCALLCODE  */
> -+  YYSYMBOL_TK_METHODCODE = 48,             /* TK_METHODCODE  */
> -+  YYSYMBOL_TK_PREMETHODCODE = 49,          /* TK_PREMETHODCODE  */
> -+  YYSYMBOL_TK_INSTANCECODE = 50,           /* TK_INSTANCECODE  */
> -+  YYSYMBOL_TK_FROMTYPE = 51,               /* TK_FROMTYPE  */
> -+  YYSYMBOL_TK_TOTYPE = 52,                 /* TK_TOTYPE  */
> -+  YYSYMBOL_TK_TOSUBCLASS = 53,             /* TK_TOSUBCLASS  */
> -+  YYSYMBOL_TK_INCLUDE = 54,                /* TK_INCLUDE  */
> -+  YYSYMBOL_TK_OPTINCLUDE = 55,             /* TK_OPTINCLUDE  */
> -+  YYSYMBOL_TK_IMPORT = 56,                 /* TK_IMPORT  */
> -+  YYSYMBOL_TK_EXPHEADERCODE = 57,          /* TK_EXPHEADERCODE  */
> -+  YYSYMBOL_TK_MODHEADERCODE = 58,          /* TK_MODHEADERCODE  */
> -+  YYSYMBOL_TK_TYPEHEADERCODE = 59,         /* TK_TYPEHEADERCODE  */
> -+  YYSYMBOL_TK_MODULE = 60,                 /* TK_MODULE  */
> -+  YYSYMBOL_TK_CMODULE = 61,                /* TK_CMODULE  */
> -+  YYSYMBOL_TK_CONSMODULE = 62,             /* TK_CONSMODULE  */
> -+  YYSYMBOL_TK_COMPOMODULE = 63,            /* TK_COMPOMODULE  */
> -+  YYSYMBOL_TK_CLASS = 64,                  /* TK_CLASS  */
> -+  YYSYMBOL_TK_STRUCT = 65,                 /* TK_STRUCT  */
> -+  YYSYMBOL_TK_PUBLIC = 66,                 /* TK_PUBLIC  */
> -+  YYSYMBOL_TK_PROTECTED = 67,              /* TK_PROTECTED  */
> -+  YYSYMBOL_TK_PRIVATE = 68,                /* TK_PRIVATE  */
> -+  YYSYMBOL_TK_SIGNALS = 69,                /* TK_SIGNALS  */
> -+  YYSYMBOL_TK_SIGNAL_METHOD = 70,          /* TK_SIGNAL_METHOD  */
> -+  YYSYMBOL_TK_SLOTS = 71,                  /* TK_SLOTS  */
> -+  YYSYMBOL_TK_SLOT_METHOD = 72,            /* TK_SLOT_METHOD  */
> -+  YYSYMBOL_TK_BOOL = 73,                   /* TK_BOOL  */
> -+  YYSYMBOL_TK_SHORT = 74,                  /* TK_SHORT  */
> -+  YYSYMBOL_TK_INT = 75,                    /* TK_INT  */
> -+  YYSYMBOL_TK_LONG = 76,                   /* TK_LONG  */
> -+  YYSYMBOL_TK_FLOAT = 77,                  /* TK_FLOAT  */
> -+  YYSYMBOL_TK_DOUBLE = 78,                 /* TK_DOUBLE  */
> -+  YYSYMBOL_TK_CHAR = 79,                   /* TK_CHAR  */
> -+  YYSYMBOL_TK_WCHAR_T = 80,                /* TK_WCHAR_T  */
> -+  YYSYMBOL_TK_VOID = 81,                   /* TK_VOID  */
> -+  YYSYMBOL_TK_PYOBJECT = 82,               /* TK_PYOBJECT  */
> -+  YYSYMBOL_TK_PYTUPLE = 83,                /* TK_PYTUPLE  */
> -+  YYSYMBOL_TK_PYLIST = 84,                 /* TK_PYLIST  */
> -+  YYSYMBOL_TK_PYDICT = 85,                 /* TK_PYDICT  */
> -+  YYSYMBOL_TK_PYCALLABLE = 86,             /* TK_PYCALLABLE  */
> -+  YYSYMBOL_TK_PYSLICE = 87,                /* TK_PYSLICE  */
> -+  YYSYMBOL_TK_PYTYPE = 88,                 /* TK_PYTYPE  */
> -+  YYSYMBOL_TK_PYBUFFER = 89,               /* TK_PYBUFFER  */
> -+  YYSYMBOL_TK_VIRTUAL = 90,                /* TK_VIRTUAL  */
> -+  YYSYMBOL_TK_ENUM = 91,                   /* TK_ENUM  */
> -+  YYSYMBOL_TK_SIGNED = 92,                 /* TK_SIGNED  */
> -+  YYSYMBOL_TK_UNSIGNED = 93,               /* TK_UNSIGNED  */
> -+  YYSYMBOL_TK_SCOPE = 94,                  /* TK_SCOPE  */
> -+  YYSYMBOL_TK_LOGICAL_OR = 95,             /* TK_LOGICAL_OR  */
> -+  YYSYMBOL_TK_CONST = 96,                  /* TK_CONST  */
> -+  YYSYMBOL_TK_STATIC = 97,                 /* TK_STATIC  */
> -+  YYSYMBOL_TK_SIPSIGNAL = 98,              /* TK_SIPSIGNAL  */
> -+  YYSYMBOL_TK_SIPSLOT = 99,                /* TK_SIPSLOT  */
> -+  YYSYMBOL_TK_SIPANYSLOT = 100,            /* TK_SIPANYSLOT  */
> -+  YYSYMBOL_TK_SIPRXCON = 101,              /* TK_SIPRXCON  */
> -+  YYSYMBOL_TK_SIPRXDIS = 102,              /* TK_SIPRXDIS  */
> -+  YYSYMBOL_TK_SIPSLOTCON = 103,            /* TK_SIPSLOTCON  */
> -+  YYSYMBOL_TK_SIPSLOTDIS = 104,            /* TK_SIPSLOTDIS  */
> -+  YYSYMBOL_TK_SIPSSIZET = 105,             /* TK_SIPSSIZET  */
> -+  YYSYMBOL_TK_SIZET = 106,                 /* TK_SIZET  */
> -+  YYSYMBOL_TK_NUMBER_VALUE = 107,          /* TK_NUMBER_VALUE  */
> -+  YYSYMBOL_TK_REAL_VALUE = 108,            /* TK_REAL_VALUE  */
> -+  YYSYMBOL_TK_TYPEDEF = 109,               /* TK_TYPEDEF  */
> -+  YYSYMBOL_TK_NAMESPACE = 110,             /* TK_NAMESPACE  */
> -+  YYSYMBOL_TK_TIMELINE = 111,              /* TK_TIMELINE  */
> -+  YYSYMBOL_TK_PLATFORMS = 112,             /* TK_PLATFORMS  */
> -+  YYSYMBOL_TK_FEATURE = 113,               /* TK_FEATURE  */
> -+  YYSYMBOL_TK_LICENSE = 114,               /* TK_LICENSE  */
> -+  YYSYMBOL_TK_QCHAR_VALUE = 115,           /* TK_QCHAR_VALUE  */
> -+  YYSYMBOL_TK_TRUE_VALUE = 116,            /* TK_TRUE_VALUE  */
> -+  YYSYMBOL_TK_FALSE_VALUE = 117,           /* TK_FALSE_VALUE  */
> -+  YYSYMBOL_TK_NULL_VALUE = 118,            /* TK_NULL_VALUE  */
> -+  YYSYMBOL_TK_OPERATOR = 119,              /* TK_OPERATOR  */
> -+  YYSYMBOL_TK_THROW = 120,                 /* TK_THROW  */
> -+  YYSYMBOL_TK_QOBJECT = 121,               /* TK_QOBJECT  */
> -+  YYSYMBOL_TK_EXCEPTION = 122,             /* TK_EXCEPTION  */
> -+  YYSYMBOL_TK_RAISECODE = 123,             /* TK_RAISECODE  */
> -+  YYSYMBOL_TK_EXPLICIT = 124,              /* TK_EXPLICIT  */
> -+  YYSYMBOL_TK_TEMPLATE = 125,              /* TK_TEMPLATE  */
> -+  YYSYMBOL_TK_FINAL = 126,                 /* TK_FINAL  */
> -+  YYSYMBOL_TK_ELLIPSIS = 127,              /* TK_ELLIPSIS  */
> -+  YYSYMBOL_TK_DEFMETATYPE = 128,           /* TK_DEFMETATYPE  */
> -+  YYSYMBOL_TK_DEFSUPERTYPE = 129,          /* TK_DEFSUPERTYPE  */
> -+  YYSYMBOL_TK_PROPERTY = 130,              /* TK_PROPERTY  */
> -+  YYSYMBOL_TK_HIDE_NS = 131,               /* TK_HIDE_NS  */
> -+  YYSYMBOL_TK_FORMAT = 132,                /* TK_FORMAT  */
> -+  YYSYMBOL_TK_GET = 133,                   /* TK_GET  */
> -+  YYSYMBOL_TK_ID = 134,                    /* TK_ID  */
> -+  YYSYMBOL_TK_KWARGS = 135,                /* TK_KWARGS  */
> -+  YYSYMBOL_TK_LANGUAGE = 136,              /* TK_LANGUAGE  */
> -+  YYSYMBOL_TK_LICENSEE = 137,              /* TK_LICENSEE  */
> -+  YYSYMBOL_TK_NAME = 138,                  /* TK_NAME  */
> -+  YYSYMBOL_TK_OPTIONAL = 139,              /* TK_OPTIONAL  */
> -+  YYSYMBOL_TK_ORDER = 140,                 /* TK_ORDER  */
> -+  YYSYMBOL_TK_REMOVELEADING = 141,         /* TK_REMOVELEADING  */
> -+  YYSYMBOL_TK_SET = 142,                   /* TK_SET  */
> -+  YYSYMBOL_TK_SIGNATURE = 143,             /* TK_SIGNATURE  */
> -+  YYSYMBOL_TK_TIMESTAMP = 144,             /* TK_TIMESTAMP  */
> -+  YYSYMBOL_TK_TYPE = 145,                  /* TK_TYPE  */
> -+  YYSYMBOL_TK_USEARGNAMES = 146,           /* TK_USEARGNAMES  */
> -+  YYSYMBOL_TK_PYSSIZETCLEAN = 147,         /* TK_PYSSIZETCLEAN  */
> -+  YYSYMBOL_TK_USELIMITEDAPI = 148,         /* TK_USELIMITEDAPI  */
> -+  YYSYMBOL_TK_ALLRAISEPYEXC = 149,         /* TK_ALLRAISEPYEXC  */
> -+  YYSYMBOL_TK_CALLSUPERINIT = 150,         /* TK_CALLSUPERINIT  */
> -+  YYSYMBOL_TK_DEFERRORHANDLER = 151,       /* TK_DEFERRORHANDLER  */
> -+  YYSYMBOL_TK_VERSION = 152,               /* TK_VERSION  */
> -+  YYSYMBOL_153_ = 153,                     /* '('  */
> -+  YYSYMBOL_154_ = 154,                     /* ')'  */
> -+  YYSYMBOL_155_ = 155,                     /* ','  */
> -+  YYSYMBOL_156_ = 156,                     /* '='  */
> -+  YYSYMBOL_157_ = 157,                     /* '{'  */
> -+  YYSYMBOL_158_ = 158,                     /* '}'  */
> -+  YYSYMBOL_159_ = 159,                     /* ';'  */
> -+  YYSYMBOL_160_ = 160,                     /* '!'  */
> -+  YYSYMBOL_161_ = 161,                     /* '-'  */
> -+  YYSYMBOL_162_ = 162,                     /* '+'  */
> -+  YYSYMBOL_163_ = 163,                     /* '*'  */
> -+  YYSYMBOL_164_ = 164,                     /* '/'  */
> -+  YYSYMBOL_165_ = 165,                     /* '&'  */
> -+  YYSYMBOL_166_ = 166,                     /* '|'  */
> -+  YYSYMBOL_167_ = 167,                     /* '~'  */
> -+  YYSYMBOL_168_ = 168,                     /* '<'  */
> -+  YYSYMBOL_169_ = 169,                     /* '>'  */
> -+  YYSYMBOL_170_ = 170,                     /* ':'  */
> -+  YYSYMBOL_171_ = 171,                     /* '['  */
> -+  YYSYMBOL_172_ = 172,                     /* ']'  */
> -+  YYSYMBOL_173_ = 173,                     /* '%'  */
> -+  YYSYMBOL_174_ = 174,                     /* '^'  */
> -+  YYSYMBOL_YYACCEPT = 175,                 /* $accept  */
> -+  YYSYMBOL_specification = 176,            /* specification  */
> -+  YYSYMBOL_statement = 177,                /* statement  */
> -+  YYSYMBOL_178_1 = 178,                    /* $@1  */
> -+  YYSYMBOL_modstatement = 179,             /* modstatement  */
> -+  YYSYMBOL_nsstatement = 180,              /* nsstatement  */
> -+  YYSYMBOL_defdocstringfmt = 181,          /* defdocstringfmt  */
> -+  YYSYMBOL_defdocstringfmt_args = 182,     /* defdocstringfmt_args  */
> -+  YYSYMBOL_defdocstringfmt_arg_list = 183, /* defdocstringfmt_arg_list
> */
> -+  YYSYMBOL_defdocstringfmt_arg = 184,      /* defdocstringfmt_arg  */
> -+  YYSYMBOL_defdocstringsig = 185,          /* defdocstringsig  */
> -+  YYSYMBOL_defdocstringsig_args = 186,     /* defdocstringsig_args  */
> -+  YYSYMBOL_defdocstringsig_arg_list = 187, /* defdocstringsig_arg_list
> */
> -+  YYSYMBOL_defdocstringsig_arg = 188,      /* defdocstringsig_arg  */
> -+  YYSYMBOL_defencoding = 189,              /* defencoding  */
> -+  YYSYMBOL_defencoding_args = 190,         /* defencoding_args  */
> -+  YYSYMBOL_defencoding_arg_list = 191,     /* defencoding_arg_list  */
> -+  YYSYMBOL_defencoding_arg = 192,          /* defencoding_arg  */
> -+  YYSYMBOL_plugin = 193,                   /* plugin  */
> -+  YYSYMBOL_plugin_args = 194,              /* plugin_args  */
> -+  YYSYMBOL_plugin_arg_list = 195,          /* plugin_arg_list  */
> -+  YYSYMBOL_plugin_arg = 196,               /* plugin_arg  */
> -+  YYSYMBOL_virterrorhandler = 197,         /* virterrorhandler  */
> -+  YYSYMBOL_veh_args = 198,                 /* veh_args  */
> -+  YYSYMBOL_veh_arg_list = 199,             /* veh_arg_list  */
> -+  YYSYMBOL_veh_arg = 200,                  /* veh_arg  */
> -+  YYSYMBOL_api = 201,                      /* api  */
> -+  YYSYMBOL_api_args = 202,                 /* api_args  */
> -+  YYSYMBOL_api_arg_list = 203,             /* api_arg_list  */
> -+  YYSYMBOL_api_arg = 204,                  /* api_arg  */
> -+  YYSYMBOL_exception = 205,                /* exception  */
> -+  YYSYMBOL_baseexception = 206,            /* baseexception  */
> -+  YYSYMBOL_exception_body = 207,           /* exception_body  */
> -+  YYSYMBOL_exception_body_directives = 208, /*
> exception_body_directives  */
> -+  YYSYMBOL_exception_body_directive = 209, /* exception_body_directive
> */
> -+  YYSYMBOL_raisecode = 210,                /* raisecode  */
> -+  YYSYMBOL_mappedtype = 211,               /* mappedtype  */
> -+  YYSYMBOL_212_2 = 212,                    /* $@2  */
> -+  YYSYMBOL_mappedtypetmpl = 213,           /* mappedtypetmpl  */
> -+  YYSYMBOL_214_3 = 214,                    /* $@3  */
> -+  YYSYMBOL_mtdefinition = 215,             /* mtdefinition  */
> -+  YYSYMBOL_mtbody = 216,                   /* mtbody  */
> -+  YYSYMBOL_mtline = 217,                   /* mtline  */
> -+  YYSYMBOL_mtfunction = 218,               /* mtfunction  */
> -+  YYSYMBOL_namespace = 219,                /* namespace  */
> -+  YYSYMBOL_220_4 = 220,                    /* $@4  */
> -+  YYSYMBOL_optnsbody = 221,                /* optnsbody  */
> -+  YYSYMBOL_nsbody = 222,                   /* nsbody  */
> -+  YYSYMBOL_platforms = 223,                /* platforms  */
> -+  YYSYMBOL_224_5 = 224,                    /* $@5  */
> -+  YYSYMBOL_platformlist = 225,             /* platformlist  */
> -+  YYSYMBOL_platform = 226,                 /* platform  */
> -+  YYSYMBOL_feature = 227,                  /* feature  */
> -+  YYSYMBOL_feature_args = 228,             /* feature_args  */
> -+  YYSYMBOL_feature_arg_list = 229,         /* feature_arg_list  */
> -+  YYSYMBOL_feature_arg = 230,              /* feature_arg  */
> -+  YYSYMBOL_timeline = 231,                 /* timeline  */
> -+  YYSYMBOL_232_6 = 232,                    /* $@6  */
> -+  YYSYMBOL_qualifierlist = 233,            /* qualifierlist  */
> -+  YYSYMBOL_qualifiername = 234,            /* qualifiername  */
> -+  YYSYMBOL_ifstart = 235,                  /* ifstart  */
> -+  YYSYMBOL_236_7 = 236,                    /* $@7  */
> -+  YYSYMBOL_oredqualifiers = 237,           /* oredqualifiers  */
> -+  YYSYMBOL_qualifiers = 238,               /* qualifiers  */
> -+  YYSYMBOL_ifend = 239,                    /* ifend  */
> -+  YYSYMBOL_license = 240,                  /* license  */
> -+  YYSYMBOL_license_args = 241,             /* license_args  */
> -+  YYSYMBOL_license_arg_list = 242,         /* license_arg_list  */
> -+  YYSYMBOL_license_arg = 243,              /* license_arg  */
> -+  YYSYMBOL_defmetatype = 244,              /* defmetatype  */
> -+  YYSYMBOL_defmetatype_args = 245,         /* defmetatype_args  */
> -+  YYSYMBOL_defmetatype_arg_list = 246,     /* defmetatype_arg_list  */
> -+  YYSYMBOL_defmetatype_arg = 247,          /* defmetatype_arg  */
> -+  YYSYMBOL_defsupertype = 248,             /* defsupertype  */
> -+  YYSYMBOL_defsupertype_args = 249,        /* defsupertype_args  */
> -+  YYSYMBOL_defsupertype_arg_list = 250,    /* defsupertype_arg_list  */
> -+  YYSYMBOL_defsupertype_arg = 251,         /* defsupertype_arg  */
> -+  YYSYMBOL_hiddenns = 252,                 /* hiddenns  */
> -+  YYSYMBOL_hiddenns_args = 253,            /* hiddenns_args  */
> -+  YYSYMBOL_hiddenns_arg_list = 254,        /* hiddenns_arg_list  */
> -+  YYSYMBOL_hiddenns_arg = 255,             /* hiddenns_arg  */
> -+  YYSYMBOL_consmodule = 256,               /* consmodule  */
> -+  YYSYMBOL_consmodule_args = 257,          /* consmodule_args  */
> -+  YYSYMBOL_consmodule_arg_list = 258,      /* consmodule_arg_list  */
> -+  YYSYMBOL_consmodule_arg = 259,           /* consmodule_arg  */
> -+  YYSYMBOL_consmodule_body = 260,          /* consmodule_body  */
> -+  YYSYMBOL_consmodule_body_directives = 261, /*
> consmodule_body_directives  */
> -+  YYSYMBOL_consmodule_body_directive = 262, /*
> consmodule_body_directive  */
> -+  YYSYMBOL_compmodule = 263,               /* compmodule  */
> -+  YYSYMBOL_compmodule_args = 264,          /* compmodule_args  */
> -+  YYSYMBOL_compmodule_arg_list = 265,      /* compmodule_arg_list  */
> -+  YYSYMBOL_compmodule_arg = 266,           /* compmodule_arg  */
> -+  YYSYMBOL_compmodule_body = 267,          /* compmodule_body  */
> -+  YYSYMBOL_compmodule_body_directives = 268, /*
> compmodule_body_directives  */
> -+  YYSYMBOL_compmodule_body_directive = 269, /*
> compmodule_body_directive  */
> -+  YYSYMBOL_module = 270,                   /* module  */
> -+  YYSYMBOL_module_args = 271,              /* module_args  */
> -+  YYSYMBOL_272_8 = 272,                    /* $@8  */
> -+  YYSYMBOL_module_arg_list = 273,          /* module_arg_list  */
> -+  YYSYMBOL_module_arg = 274,               /* module_arg  */
> -+  YYSYMBOL_module_body = 275,              /* module_body  */
> -+  YYSYMBOL_module_body_directives = 276,   /* module_body_directives  */
> -+  YYSYMBOL_module_body_directive = 277,    /* module_body_directive  */
> -+  YYSYMBOL_dottedname = 278,               /* dottedname  */
> -+  YYSYMBOL_optnumber = 279,                /* optnumber  */
> -+  YYSYMBOL_include = 280,                  /* include  */
> -+  YYSYMBOL_include_args = 281,             /* include_args  */
> -+  YYSYMBOL_include_arg_list = 282,         /* include_arg_list  */
> -+  YYSYMBOL_include_arg = 283,              /* include_arg  */
> -+  YYSYMBOL_optinclude = 284,               /* optinclude  */
> -+  YYSYMBOL_import = 285,                   /* import  */
> -+  YYSYMBOL_import_args = 286,              /* import_args  */
> -+  YYSYMBOL_import_arg_list = 287,          /* import_arg_list  */
> -+  YYSYMBOL_import_arg = 288,               /* import_arg  */
> -+  YYSYMBOL_optaccesscode = 289,            /* optaccesscode  */
> -+  YYSYMBOL_optgetcode = 290,               /* optgetcode  */
> -+  YYSYMBOL_optsetcode = 291,               /* optsetcode  */
> -+  YYSYMBOL_copying = 292,                  /* copying  */
> -+  YYSYMBOL_exphdrcode = 293,               /* exphdrcode  */
> -+  YYSYMBOL_modhdrcode = 294,               /* modhdrcode  */
> -+  YYSYMBOL_typehdrcode = 295,              /* typehdrcode  */
> -+  YYSYMBOL_travcode = 296,                 /* travcode  */
> -+  YYSYMBOL_clearcode = 297,                /* clearcode  */
> -+  YYSYMBOL_getbufcode = 298,               /* getbufcode  */
> -+  YYSYMBOL_releasebufcode = 299,           /* releasebufcode  */
> -+  YYSYMBOL_readbufcode = 300,              /* readbufcode  */
> -+  YYSYMBOL_writebufcode = 301,             /* writebufcode  */
> -+  YYSYMBOL_segcountcode = 302,             /* segcountcode  */
> -+  YYSYMBOL_charbufcode = 303,              /* charbufcode  */
> -+  YYSYMBOL_instancecode = 304,             /* instancecode  */
> -+  YYSYMBOL_picklecode = 305,               /* picklecode  */
> -+  YYSYMBOL_finalcode = 306,                /* finalcode  */
> -+  YYSYMBOL_modcode = 307,                  /* modcode  */
> -+  YYSYMBOL_typecode = 308,                 /* typecode  */
> -+  YYSYMBOL_preinitcode = 309,              /* preinitcode  */
> -+  YYSYMBOL_initcode = 310,                 /* initcode  */
> -+  YYSYMBOL_postinitcode = 311,             /* postinitcode  */
> -+  YYSYMBOL_unitcode = 312,                 /* unitcode  */
> -+  YYSYMBOL_unitpostinccode = 313,          /* unitpostinccode  */
> -+  YYSYMBOL_prepycode = 314,                /* prepycode  */
> -+  YYSYMBOL_exptypehintcode = 315,          /* exptypehintcode  */
> -+  YYSYMBOL_modtypehintcode = 316,          /* modtypehintcode  */
> -+  YYSYMBOL_classtypehintcode = 317,        /* classtypehintcode  */
> -+  YYSYMBOL_doc = 318,                      /* doc  */
> -+  YYSYMBOL_exporteddoc = 319,              /* exporteddoc  */
> -+  YYSYMBOL_autopyname = 320,               /* autopyname  */
> -+  YYSYMBOL_autopyname_args = 321,          /* autopyname_args  */
> -+  YYSYMBOL_autopyname_arg_list = 322,      /* autopyname_arg_list  */
> -+  YYSYMBOL_autopyname_arg = 323,           /* autopyname_arg  */
> -+  YYSYMBOL_docstring = 324,                /* docstring  */
> -+  YYSYMBOL_docstring_args = 325,           /* docstring_args  */
> -+  YYSYMBOL_docstring_arg_list = 326,       /* docstring_arg_list  */
> -+  YYSYMBOL_docstring_arg = 327,            /* docstring_arg  */
> -+  YYSYMBOL_optdocstring = 328,             /* optdocstring  */
> -+  YYSYMBOL_extract = 329,                  /* extract  */
> -+  YYSYMBOL_extract_args = 330,             /* extract_args  */
> -+  YYSYMBOL_extract_arg_list = 331,         /* extract_arg_list  */
> -+  YYSYMBOL_extract_arg = 332,              /* extract_arg  */
> -+  YYSYMBOL_makefile = 333,                 /* makefile  */
> -+  YYSYMBOL_codeblock = 334,                /* codeblock  */
> -+  YYSYMBOL_codelines = 335,                /* codelines  */
> -+  YYSYMBOL_enum = 336,                     /* enum  */
> -+  YYSYMBOL_337_9 = 337,                    /* $@9  */
> -+  YYSYMBOL_optenumkey = 338,               /* optenumkey  */
> -+  YYSYMBOL_optfilename = 339,              /* optfilename  */
> -+  YYSYMBOL_optname = 340,                  /* optname  */
> -+  YYSYMBOL_optenumbody = 341,              /* optenumbody  */
> -+  YYSYMBOL_enumbody = 342,                 /* enumbody  */
> -+  YYSYMBOL_enumline = 343,                 /* enumline  */
> -+  YYSYMBOL_optcomma = 344,                 /* optcomma  */
> -+  YYSYMBOL_optenumassign = 345,            /* optenumassign  */
> -+  YYSYMBOL_optassign = 346,                /* optassign  */
> -+  YYSYMBOL_expr = 347,                     /* expr  */
> -+  YYSYMBOL_binop = 348,                    /* binop  */
> -+  YYSYMBOL_optunop = 349,                  /* optunop  */
> -+  YYSYMBOL_value = 350,                    /* value  */
> -+  YYSYMBOL_optcast = 351,                  /* optcast  */
> -+  YYSYMBOL_scopedname = 352,               /* scopedname  */
> -+  YYSYMBOL_scopednamehead = 353,           /* scopednamehead  */
> -+  YYSYMBOL_scopepart = 354,                /* scopepart  */
> -+  YYSYMBOL_bool_value = 355,               /* bool_value  */
> -+  YYSYMBOL_simplevalue = 356,              /* simplevalue  */
> -+  YYSYMBOL_exprlist = 357,                 /* exprlist  */
> -+  YYSYMBOL_typedef = 358,                  /* typedef  */
> -+  YYSYMBOL_struct = 359,                   /* struct  */
> -+  YYSYMBOL_360_10 = 360,                   /* $@10  */
> -+  YYSYMBOL_361_11 = 361,                   /* $@11  */
> -+  YYSYMBOL_classtmpl = 362,                /* classtmpl  */
> -+  YYSYMBOL_363_12 = 363,                   /* $@12  */
> -+  YYSYMBOL_template = 364,                 /* template  */
> -+  YYSYMBOL_class = 365,                    /* class  */
> -+  YYSYMBOL_366_13 = 366,                   /* $@13  */
> -+  YYSYMBOL_367_14 = 367,                   /* $@14  */
> -+  YYSYMBOL_superclasses = 368,             /* superclasses  */
> -+  YYSYMBOL_superlist = 369,                /* superlist  */
> -+  YYSYMBOL_superclass = 370,               /* superclass  */
> -+  YYSYMBOL_class_access = 371,             /* class_access  */
> -+  YYSYMBOL_optclassbody = 372,             /* optclassbody  */
> -+  YYSYMBOL_classbody = 373,                /* classbody  */
> -+  YYSYMBOL_classline = 374,                /* classline  */
> -+  YYSYMBOL_property = 375,                 /* property  */
> -+  YYSYMBOL_property_args = 376,            /* property_args  */
> -+  YYSYMBOL_property_arg_list = 377,        /* property_arg_list  */
> -+  YYSYMBOL_property_arg = 378,             /* property_arg  */
> -+  YYSYMBOL_property_body = 379,            /* property_body  */
> -+  YYSYMBOL_property_body_directives = 380, /* property_body_directives
> */
> -+  YYSYMBOL_property_body_directive = 381,  /* property_body_directive  */
> -+  YYSYMBOL_name_or_string = 382,           /* name_or_string  */
> -+  YYSYMBOL_optslot = 383,                  /* optslot  */
> -+  YYSYMBOL_dtor = 384,                     /* dtor  */
> -+  YYSYMBOL_385_15 = 385,                   /* $@15  */
> -+  YYSYMBOL_dtor_decl = 386,                /* dtor_decl  */
> -+  YYSYMBOL_ctor = 387,                     /* ctor  */
> -+  YYSYMBOL_388_16 = 388,                   /* $@16  */
> -+  YYSYMBOL_simplector = 389,               /* simplector  */
> -+  YYSYMBOL_optctorsig = 390,               /* optctorsig  */
> -+  YYSYMBOL_391_17 = 391,                   /* $@17  */
> -+  YYSYMBOL_optsig = 392,                   /* optsig  */
> -+  YYSYMBOL_393_18 = 393,                   /* $@18  */
> -+  YYSYMBOL_function = 394,                 /* function  */
> -+  YYSYMBOL_operatorname = 395,             /* operatorname  */
> -+  YYSYMBOL_optconst = 396,                 /* optconst  */
> -+  YYSYMBOL_optfinal = 397,                 /* optfinal  */
> -+  YYSYMBOL_optabstract = 398,              /* optabstract  */
> -+  YYSYMBOL_optflags = 399,                 /* optflags  */
> -+  YYSYMBOL_flaglist = 400,                 /* flaglist  */
> -+  YYSYMBOL_flag = 401,                     /* flag  */
> -+  YYSYMBOL_flagvalue = 402,                /* flagvalue  */
> -+  YYSYMBOL_virtualcallcode = 403,          /* virtualcallcode  */
> -+  YYSYMBOL_methodcode = 404,               /* methodcode  */
> -+  YYSYMBOL_premethodcode = 405,            /* premethodcode  */
> -+  YYSYMBOL_virtualcatchercode = 406,       /* virtualcatchercode  */
> -+  YYSYMBOL_arglist = 407,                  /* arglist  */
> -+  YYSYMBOL_rawarglist = 408,               /* rawarglist  */
> -+  YYSYMBOL_argvalue = 409,                 /* argvalue  */
> -+  YYSYMBOL_varmember = 410,                /* varmember  */
> -+  YYSYMBOL_411_19 = 411,                   /* $@19  */
> -+  YYSYMBOL_412_20 = 412,                   /* $@20  */
> -+  YYSYMBOL_simple_varmem = 413,            /* simple_varmem  */
> -+  YYSYMBOL_414_21 = 414,                   /* $@21  */
> -+  YYSYMBOL_varmem = 415,                   /* varmem  */
> -+  YYSYMBOL_member = 416,                   /* member  */
> -+  YYSYMBOL_417_22 = 417,                   /* $@22  */
> -+  YYSYMBOL_variable = 418,                 /* variable  */
> -+  YYSYMBOL_variable_body = 419,            /* variable_body  */
> -+  YYSYMBOL_variable_body_directives = 420, /* variable_body_directives
> */
> -+  YYSYMBOL_variable_body_directive = 421,  /* variable_body_directive  */
> -+  YYSYMBOL_cpptype = 422,                  /* cpptype  */
> -+  YYSYMBOL_argtype = 423,                  /* argtype  */
> -+  YYSYMBOL_optref = 424,                   /* optref  */
> -+  YYSYMBOL_deref = 425,                    /* deref  */
> -+  YYSYMBOL_basetype = 426,                 /* basetype  */
> -+  YYSYMBOL_cpptypelist = 427,              /* cpptypelist  */
> -+  YYSYMBOL_optexceptions = 428,            /* optexceptions  */
> -+  YYSYMBOL_exceptionlist = 429             /* exceptionlist  */
> -+};
> -+typedef enum yysymbol_kind_t yysymbol_kind_t;
> -
> --/* Copy the second part of user declarations.  */
> -
> -
> --/* Line 216 of yacc.c.  */
> --#line 639 "sip-4.19.23/sipgen/parser.c"
> -
> - #ifdef short
> - # undef short
> - #endif
> -
> --#ifdef YYTYPE_UINT8
> --typedef YYTYPE_UINT8 yytype_uint8;
> --#else
> --typedef unsigned char yytype_uint8;
> -+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
> -+   <limits.h> and (if available) <stdint.h> are included
> -+   so that the code can choose integer types of a good width.  */
> -+
> -+#ifndef __PTRDIFF_MAX__
> -+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
> -+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
> -+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
> -+#  define YY_STDINT_H
> -+# endif
> - #endif
> -
> --#ifdef YYTYPE_INT8
> --typedef YYTYPE_INT8 yytype_int8;
> --#elif (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> -+/* Narrow types that promote to a signed type and that can represent a
> -+   signed or unsigned integer of at least N bits.  In tables they can
> -+   save space and decrease cache pressure.  Promoting to a signed type
> -+   helps avoid bugs in integer arithmetic.  */
> -+
> -+#ifdef __INT_LEAST8_MAX__
> -+typedef __INT_LEAST8_TYPE__ yytype_int8;
> -+#elif defined YY_STDINT_H
> -+typedef int_least8_t yytype_int8;
> -+#else
> - typedef signed char yytype_int8;
> -+#endif
> -+
> -+#ifdef __INT_LEAST16_MAX__
> -+typedef __INT_LEAST16_TYPE__ yytype_int16;
> -+#elif defined YY_STDINT_H
> -+typedef int_least16_t yytype_int16;
> - #else
> --typedef short int yytype_int8;
> -+typedef short yytype_int16;
> -+#endif
> -+
> -+/* Work around bug in HP-UX 11.23, which defines these macros
> -+   incorrectly for preprocessor constants.  This workaround can likely
> -+   be removed in 2023, as HPE has promised support for HP-UX 11.23
> -+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
> -+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
> -+#ifdef __hpux
> -+# undef UINT_LEAST8_MAX
> -+# undef UINT_LEAST16_MAX
> -+# define UINT_LEAST8_MAX 255
> -+# define UINT_LEAST16_MAX 65535
> - #endif
> -
> --#ifdef YYTYPE_UINT16
> --typedef YYTYPE_UINT16 yytype_uint16;
> -+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
> -+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
> -+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
> -+       && UINT_LEAST8_MAX <= INT_MAX)
> -+typedef uint_least8_t yytype_uint8;
> -+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
> -+typedef unsigned char yytype_uint8;
> - #else
> --typedef unsigned short int yytype_uint16;
> -+typedef short yytype_uint8;
> - #endif
> -
> --#ifdef YYTYPE_INT16
> --typedef YYTYPE_INT16 yytype_int16;
> -+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
> -+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
> -+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
> -+       && UINT_LEAST16_MAX <= INT_MAX)
> -+typedef uint_least16_t yytype_uint16;
> -+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
> -+typedef unsigned short yytype_uint16;
> - #else
> --typedef short int yytype_int16;
> -+typedef int yytype_uint16;
> -+#endif
> -+
> -+#ifndef YYPTRDIFF_T
> -+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
> -+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
> -+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
> -+# elif defined PTRDIFF_MAX
> -+#  ifndef ptrdiff_t
> -+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
> -+#  endif
> -+#  define YYPTRDIFF_T ptrdiff_t
> -+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
> -+# else
> -+#  define YYPTRDIFF_T long
> -+#  define YYPTRDIFF_MAXIMUM LONG_MAX
> -+# endif
> - #endif
> -
> - #ifndef YYSIZE_T
> -@@ -673,55 +806,106 @@ typedef short int yytype_int16;
> - #  define YYSIZE_T __SIZE_TYPE__
> - # elif defined size_t
> - #  define YYSIZE_T size_t
> --# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> -+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
> - #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
> - #  define YYSIZE_T size_t
> - # else
> --#  define YYSIZE_T unsigned int
> -+#  define YYSIZE_T unsigned
> - # endif
> - #endif
> -
> --#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
> -+#define YYSIZE_MAXIMUM                                  \
> -+  YY_CAST (YYPTRDIFF_T,                                 \
> -+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
> -+            ? YYPTRDIFF_MAXIMUM                         \
> -+            : YY_CAST (YYSIZE_T, -1)))
> -+
> -+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
> -+
> -+
> -+/* Stored state numbers (used for stacks). */
> -+typedef yytype_int16 yy_state_t;
> -+
> -+/* State numbers in computations.  */
> -+typedef int yy_state_fast_t;
> -
> - #ifndef YY_
> - # if defined YYENABLE_NLS && YYENABLE_NLS
> - #  if ENABLE_NLS
> - #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
> --#   define YY_(msgid) dgettext ("bison-runtime", msgid)
> -+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
> - #  endif
> - # endif
> - # ifndef YY_
> --#  define YY_(msgid) msgid
> -+#  define YY_(Msgid) Msgid
> -+# endif
> -+#endif
> -+
> -+
> -+#ifndef YY_ATTRIBUTE_PURE
> -+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
> -+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
> -+# else
> -+#  define YY_ATTRIBUTE_PURE
> -+# endif
> -+#endif
> -+
> -+#ifndef YY_ATTRIBUTE_UNUSED
> -+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
> -+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
> -+# else
> -+#  define YY_ATTRIBUTE_UNUSED
> - # endif
> - #endif
> -
> - /* Suppress unused-variable warnings by "using" E.  */
> - #if ! defined lint || defined __GNUC__
> --# define YYUSE(e) ((void) (e))
> -+# define YY_USE(E) ((void) (E))
> - #else
> --# define YYUSE(e) /* empty */
> -+# define YY_USE(E) /* empty */
> - #endif
> -
> --/* Identity function, used to suppress warnings about constant
> conditions.  */
> --#ifndef lint
> --# define YYID(n) (n)
> --#else
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static int
> --YYID (int i)
> -+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
> -+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 +
> __GNUC_MINOR__
> -+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
> -+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
> -+    _Pragma ("GCC diagnostic push")                                     \
> -+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
> -+# else
> -+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
> -+    _Pragma ("GCC diagnostic push")                                     \
> -+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
> -+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
> -+# endif
> -+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
> -+    _Pragma ("GCC diagnostic pop")
> - #else
> --static int
> --YYID (i)
> --    int i;
> -+# define YY_INITIAL_VALUE(Value) Value
> - #endif
> --{
> --  return i;
> --}
> -+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
> -+#endif
> -+#ifndef YY_INITIAL_VALUE
> -+# define YY_INITIAL_VALUE(Value) /* Nothing. */
> -+#endif
> -+
> -+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <=
> __GNUC__
> -+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
> -+    _Pragma ("GCC diagnostic push")                            \
> -+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
> -+# define YY_IGNORE_USELESS_CAST_END            \
> -+    _Pragma ("GCC diagnostic pop")
> - #endif
> -+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
> -+# define YY_IGNORE_USELESS_CAST_BEGIN
> -+# define YY_IGNORE_USELESS_CAST_END
> -+#endif
> -+
> -+
> -+#define YY_ASSERT(E) ((void) (0 && (E)))
> -
> --#if ! defined yyoverflow || YYERROR_VERBOSE
> -+#if !defined yyoverflow
> -
> - /* The parser invokes alloca or malloc; define the necessary symbols.  */
> -
> -@@ -738,11 +922,11 @@ YYID (i)
> - #    define alloca _alloca
> - #   else
> - #    define YYSTACK_ALLOC alloca
> --#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__
> || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> -+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
> - #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> --#     ifndef _STDLIB_H
> --#      define _STDLIB_H 1
> -+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
> -+#     ifndef EXIT_SUCCESS
> -+#      define EXIT_SUCCESS 0
> - #     endif
> - #    endif
> - #   endif
> -@@ -750,8 +934,8 @@ YYID (i)
> - # endif
> -
> - # ifdef YYSTACK_ALLOC
> --   /* Pacify GCC's `empty if-body' warning.  */
> --#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
> -+   /* Pacify GCC's 'empty if-body' warning.  */
> -+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
> - #  ifndef YYSTACK_ALLOC_MAXIMUM
> -     /* The OS might guarantee only one guard page at the bottom of the
> stack,
> -        and a page size can be as small as 4096 bytes.  So we cannot
> safely
> -@@ -765,125 +949,131 @@ YYID (i)
> - #  ifndef YYSTACK_ALLOC_MAXIMUM
> - #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
> - #  endif
> --#  if (defined __cplusplus && ! defined _STDLIB_H \
> -+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
> -        && ! ((defined YYMALLOC || defined malloc) \
> --           && (defined YYFREE || defined free)))
> -+             && (defined YYFREE || defined free)))
> - #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> --#   ifndef _STDLIB_H
> --#    define _STDLIB_H 1
> -+#   ifndef EXIT_SUCCESS
> -+#    define EXIT_SUCCESS 0
> - #   endif
> - #  endif
> - #  ifndef YYMALLOC
> - #   define YYMALLOC malloc
> --#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ ||
> defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> -+#   if ! defined malloc && ! defined EXIT_SUCCESS
> - void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
> - #   endif
> - #  endif
> - #  ifndef YYFREE
> - #   define YYFREE free
> --#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ ||
> defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> -+#   if ! defined free && ! defined EXIT_SUCCESS
> - void free (void *); /* INFRINGES ON USER NAME SPACE */
> - #   endif
> - #  endif
> - # endif
> --#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
> --
> -+#endif /* !defined yyoverflow */
> -
> - #if (! defined yyoverflow \
> -      && (! defined __cplusplus \
> --       || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
> -+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
> -
> - /* A type that is properly aligned for any stack member.  */
> - union yyalloc
> - {
> --  yytype_int16 yyss;
> --  YYSTYPE yyvs;
> --  };
> -+  yy_state_t yyss_alloc;
> -+  YYSTYPE yyvs_alloc;
> -+};
> -
> - /* The size of the maximum gap between one aligned stack and the next.
> */
> --# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
> -+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
> -
> - /* The size of an array large to enough to hold all stacks, each with
> -    N elements.  */
> - # define YYSTACK_BYTES(N) \
> --     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
> -+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
> -       + YYSTACK_GAP_MAXIMUM)
> -
> --/* Copy COUNT objects from FROM to TO.  The source and destination do
> --   not overlap.  */
> --# ifndef YYCOPY
> --#  if defined __GNUC__ && 1 < __GNUC__
> --#   define YYCOPY(To, From, Count) \
> --      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
> --#  else
> --#   define YYCOPY(To, From, Count)            \
> --      do                                      \
> --      {                                       \
> --        YYSIZE_T yyi;                         \
> --        for (yyi = 0; yyi < (Count); yyi++)   \
> --          (To)[yyi] = (From)[yyi];            \
> --      }                                       \
> --      while (YYID (0))
> --#  endif
> --# endif
> -+# define YYCOPY_NEEDED 1
> -
> - /* Relocate STACK from its old location to the new one.  The
> -    local variables YYSIZE and YYSTACKSIZE give the old and new number of
> -    elements in the stack, and YYPTR gives the new location of the
> -    stack.  Advance YYPTR to a properly aligned location for the next
> -    stack.  */
> --# define YYSTACK_RELOCATE(Stack)                                      \
> --    do
>       \
> --      {
>      \
> --      YYSIZE_T yynewbytes;                                            \
> --      YYCOPY (&yyptr->Stack, Stack, yysize);                          \
> --      Stack = &yyptr->Stack;                                          \
> --      yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
> --      yyptr += yynewbytes / sizeof (*yyptr);                          \
> --      }
>      \
> --    while (YYID (0))
> -+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
> -+    do                                                                  \
> -+      {                                                                 \
> -+        YYPTRDIFF_T yynewbytes;                                         \
> -+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
> -+        Stack = &yyptr->Stack_alloc;                                    \
> -+        yynewbytes = yystacksize * YYSIZEOF (*Stack) +
> YYSTACK_GAP_MAXIMUM; \
> -+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
> -+      }                                                                 \
> -+    while (0)
> -
> - #endif
> -
> -+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
> -+/* Copy COUNT objects from SRC to DST.  The source and destination do
> -+   not overlap.  */
> -+# ifndef YYCOPY
> -+#  if defined __GNUC__ && 1 < __GNUC__
> -+#   define YYCOPY(Dst, Src, Count) \
> -+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof
> (*(Src)))
> -+#  else
> -+#   define YYCOPY(Dst, Src, Count)              \
> -+      do                                        \
> -+        {                                       \
> -+          YYPTRDIFF_T yyi;                      \
> -+          for (yyi = 0; yyi < (Count); yyi++)   \
> -+            (Dst)[yyi] = (Src)[yyi];            \
> -+        }                                       \
> -+      while (0)
> -+#  endif
> -+# endif
> -+#endif /* !YYCOPY_NEEDED */
> -+
> - /* YYFINAL -- State number of the termination state.  */
> - #define YYFINAL  4
> - /* YYLAST -- Last index in YYTABLE.  */
> --#define YYLAST   1630
> -+#define YYLAST   1669
> -
> - /* YYNTOKENS -- Number of terminals.  */
> --#define YYNTOKENS  174
> -+#define YYNTOKENS  175
> - /* YYNNTS -- Number of nonterminals.  */
> - #define YYNNTS  255
> - /* YYNRULES -- Number of rules.  */
> --#define YYNRULES  597
> --/* YYNRULES -- Number of states.  */
> --#define YYNSTATES  1047
> --
> --/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
> --#define YYUNDEFTOK  2
> --#define YYMAXUTOK   406
> --
> --#define YYTRANSLATE(YYX)                                              \
> --  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
> -+#define YYNRULES  598
> -+/* YYNSTATES -- Number of states.  */
> -+#define YYNSTATES  1050
> -+
> -+/* YYMAXUTOK -- Last valid token kind.  */
> -+#define YYMAXUTOK   407
> -+
> -+
> -+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
> -+   as returned by yylex, with out-of-bounds checking.  */
> -+#define YYTRANSLATE(YYX)                                \
> -+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
> -+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
> -+   : YYSYMBOL_YYUNDEF)
> -
> --/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
> -+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
> -+   as returned by yylex.  */
> - static const yytype_uint8 yytranslate[] =
> - {
> -        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,     2,     2,   159,     2,     2,     2,   172,   164,     2,
> --     152,   153,   162,   161,   154,   160,     2,   163,     2,     2,
> --       2,     2,     2,     2,     2,     2,     2,     2,   169,   158,
> --     167,   155,   168,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,   160,     2,     2,     2,   173,   165,     2,
> -+     153,   154,   163,   162,   155,   161,     2,   164,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,   170,   159,
> -+     168,   156,   169,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,   170,     2,   171,   173,     2,     2,     2,     2,     2,
> -+       2,   171,     2,   172,   174,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,     2,     2,   156,   165,   157,   166,     2,     2,     2,
> -+       2,     2,     2,   157,   166,   158,   167,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -@@ -911,334 +1101,97 @@ static const yytype_uint8 yytranslate[]
> -      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
> -      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
> -      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
> --     145,   146,   147,   148,   149,   150,   151
> -+     145,   146,   147,   148,   149,   150,   151,   152
> - };
> -
> - #if YYDEBUG
> --/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
> --   YYRHS.  */
> --static const yytype_uint16 yyprhs[] =
> --{
> --       0,     0,     3,     5,     8,     9,    12,    14,    16,    18,
> --      20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
> --      40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
> --      60,    62,    64,    66,    68,    70,    72,    74,    76,    78,
> --      80,    82,    84,    86,    88,    90,    92,    94,    96,    98,
> --     100,   102,   104,   106,   108,   110,   112,   115,   117,   121,
> --     123,   127,   131,   134,   136,   140,   142,   146,   150,   153,
> --     155,   159,   161,   165,   169,   172,   174,   178,   180,   184,
> --     188,   192,   194,   198,   200,   204,   208,   211,   214,   218,
> --     220,   224,   228,   232,   238,   239,   243,   248,   250,   253,
> --     255,   257,   259,   261,   264,   265,   271,   272,   279,   284,
> --     286,   289,   291,   293,   295,   297,   300,   303,   305,   307,
> --     309,   324,   325,   331,   332,   336,   338,   341,   342,   348,
> --     350,   353,   355,   358,   360,   364,   366,   370,   374,   375,
> --     381,   383,   386,   388,   389,   395,   397,   400,   404,   409,
> --     411,   415,   417,   421,   422,   424,   428,   430,   434,   438,
> --     442,   446,   450,   453,   455,   459,   461,   465,   469,   472,
> --     474,   478,   480,   484,   488,   491,   493,   497,   499,   503,
> --     507,   511,   513,   517,   519,   523,   527,   528,   533,   535,
> --     538,   540,   542,   544,   548,   550,   554,   556,   560,   564,
> --     565,   570,   572,   575,   577,   579,   581,   585,   589,   590,
> --     594,   598,   600,   604,   608,   612,   616,   620,   624,   628,
> --     632,   636,   640,   641,   646,   648,   651,   653,   655,   657,
> --     659,   661,   663,   664,   666,   669,   671,   675,   677,   681,
> --     685,   689,   692,   695,   697,   701,   703,   707,   711,   712,
> --     715,   716,   719,   720,   723,   726,   729,   732,   735,   738,
> --     741,   744,   747,   750,   753,   756,   759,   762,   765,   768,
> --     771,   774,   777,   780,   783,   786,   789,   792,   795,   798,
> --     801,   804,   807,   810,   814,   816,   820,   824,   828,   829,
> --     831,   835,   837,   841,   845,   849,   850,   852,   856,   858,
> --     862,   864,   868,   872,   876,   881,   884,   886,   889,   890,
> --     900,   901,   903,   905,   906,   908,   909,   911,   912,   914,
> --     916,   919,   921,   923,   928,   929,   931,   932,   935,   936,
> --     939,   941,   945,   947,   949,   951,   953,   955,   957,   958,
> --     960,   962,   964,   966,   968,   970,   974,   975,   979,   982,
> --     984,   986,   990,   992,   994,   996,   998,  1003,  1006,  1008,
> --    1010,  1012,  1014,  1016,  1018,  1019,  1021,  1025,  1032,  1045,
> --    1046,  1047,  1056,  1057,  1061,  1066,  1067,  1068,  1077,  1078,
> --    1081,  1083,  1087,  1090,  1091,  1093,  1095,  1097,  1098,  1102,
> --    1103,  1105,  1108,  1110,  1112,  1114,  1116,  1118,  1120,  1122,
> --    1124,  1126,  1128,  1130,  1132,  1134,  1136,  1138,  1140,  1142,
> --    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,
> --    1164,  1167,  1170,  1173,  1177,  1181,  1185,  1188,  1192,  1196,
> --    1198,  1202,  1206,  1210,  1214,  1215,  1220,  1222,  1225,  1227,
> --    1229,  1231,  1233,  1235,  1236,  1238,  1239,  1243,  1245,  1257,
> --    1258,  1262,  1264,  1276,  1277,  1278,  1285,  1286,  1287,  1295,
> --    1313,  1321,  1339,  1356,  1358,  1360,  1362,  1364,  1366,  1368,
> --    1370,  1372,  1375,  1378,  1381,  1384,  1387,  1390,  1393,  1396,
> --    1399,  1402,  1406,  1410,  1412,  1415,  1418,  1420,  1423,  1426,
> --    1429,  1431,  1434,  1435,  1437,  1438,  1440,  1441,  1444,  1445,
> --    1449,  1451,  1455,  1457,  1461,  1463,  1469,  1471,  1473,  1474,
> --    1477,  1478,  1481,  1482,  1485,  1486,  1489,  1491,  1492,  1494,
> --    1498,  1503,  1508,  1513,  1517,  1521,  1528,  1535,  1539,  1542,
> --    1543,  1547,  1548,  1552,  1554,  1555,  1559,  1561,  1563,  1565,
> --    1566,  1570,  1572,  1581,  1582,  1586,  1588,  1591,  1593,  1595,
> --    1598,  1601,  1604,  1609,  1613,  1617,  1618,  1620,  1621,  1625,
> --    1628,  1630,  1635,  1638,  1641,  1643,  1645,  1648,  1650,  1652,
> --    1655,  1658,  1662,  1664,  1666,  1668,  1671,  1674,  1676,  1678,
> --    1680,  1682,  1684,  1686,  1688,  1690,  1692,  1694,  1696,  1698,
> --    1700,  1702,  1704,  1708,  1709,  1714,  1715,  1717
> --};
> --
> --/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
> --static const yytype_int16 yyrhs[] =
> --{
> --     175,     0,    -1,   176,    -1,   175,   176,    -1,    -1,   177,
> --     178,    -1,   269,    -1,   255,    -1,   262,    -1,   192,    -1,
> --     291,    -1,   279,    -1,   283,    -1,   284,    -1,   200,    -1,
> --     230,    -1,   222,    -1,   226,    -1,   239,    -1,   180,    -1,
> --     184,    -1,   188,    -1,   243,    -1,   247,    -1,   251,    -1,
> --     292,    -1,   293,    -1,   306,    -1,   308,    -1,   309,    -1,
> --     310,    -1,   311,    -1,   312,    -1,   313,    -1,   314,    -1,
> --     315,    -1,   317,    -1,   318,    -1,   328,    -1,   332,    -1,
> --     210,    -1,   212,    -1,   196,    -1,   179,    -1,   234,    -1,
> --     238,    -1,   218,    -1,   358,    -1,   364,    -1,   361,    -1,
> --     204,    -1,   357,    -1,   335,    -1,   393,    -1,   417,    -1,
> --     294,    -1,     5,   181,    -1,    36,    -1,   152,   182,   153,
> --      -1,   183,    -1,   182,   154,   183,    -1,   138,   155,    36,
> --      -1,     6,   185,    -1,    36,    -1,   152,   186,   153,    -1,
> --     187,    -1,   186,   154,   187,    -1,   138,   155,    36,    -1,
> --       7,   189,    -1,    36,    -1,   152,   190,   153,    -1,   191,
> --      -1,   190,   154,   191,    -1,   138,   155,    36,    -1,     8,
> --     193,    -1,    34,    -1,   152,   194,   153,    -1,   195,    -1,
> --     194,   154,   195,    -1,   138,   155,    34,    -1,     9,   197,
> --     333,    -1,    34,    -1,   152,   198,   153,    -1,   199,    -1,
> --     198,   154,   199,    -1,   138,   155,    34,    -1,     3,   201,
> --      -1,    34,   107,    -1,   152,   202,   153,    -1,   203,    -1,
> --     202,   154,   203,    -1,   138,   155,   381,    -1,   151,   155,
> --     107,    -1,   122,   351,   205,   398,   206,    -1,    -1,   152,
> --     351,   153,    -1,   156,   207,   157,   158,    -1,   208,    -1,
> --     207,   208,    -1,   234,    -1,   238,    -1,   209,    -1,   294,
> --      -1,   123,   333,    -1,    -1,    30,   425,   398,   211,   214,
> --      -1,    -1,   363,    30,   425,   398,   213,   214,    -1,   156,
> --     215,   157,   158,    -1,   216,    -1,   215,   216,    -1,   234,
> --      -1,   238,    -1,   294,    -1,   307,    -1,    51,   333,    -1,
> --      52,   333,    -1,   303,    -1,   335,    -1,   217,    -1,    97,
> --     421,    34,   152,   406,   153,   395,   427,   398,   391,   158,
> --     327,   404,   403,    -1,    -1,   110,    34,   219,   220,   158,
> --      -1,    -1,   156,   221,   157,    -1,   179,    -1,   221,   179,
> --      -1,    -1,   112,   223,   156,   224,   157,    -1,   225,    -1,
> --     224,   225,    -1,    34,    -1,   113,   227,    -1,    34,    -1,
> --     152,   228,   153,    -1,   229,    -1,   228,   154,   229,    -1,
> --     138,   155,   381,    -1,    -1,   111,   231,   156,   232,   157,
> --      -1,   233,    -1,   232,   233,    -1,    34,    -1,    -1,    32,
> --     152,   235,   237,   153,    -1,    34,    -1,   159,    34,    -1,
> --     236,    95,    34,    -1,   236,    95,   159,    34,    -1,   236,
> --      -1,   339,   160,   339,    -1,    33,    -1,   114,   240,   398,
> --      -1,    -1,    36,    -1,   152,   241,   153,    -1,   242,    -1,
> --     241,   154,   242,    -1,   145,   155,    36,    -1,   137,   155,
> --      36,    -1,   143,   155,    36,    -1,   144,   155,    36,    -1,
> --     128,   244,    -1,   277,    -1,   152,   245,   153,    -1,   246,
> --      -1,   245,   154,   246,    -1,   138,   155,   277,    -1,   129,
> --     248,    -1,   277,    -1,   152,   249,   153,    -1,   250,    -1,
> --     249,   154,   250,    -1,   138,   155,   277,    -1,   131,   252,
> --      -1,   351,    -1,   152,   253,   153,    -1,   254,    -1,   253,
> --     154,   254,    -1,   138,   155,   351,    -1,    62,   256,   259,
> --      -1,   277,    -1,   152,   257,   153,    -1,   258,    -1,   257,
> --     154,   258,    -1,   138,   155,   277,    -1,    -1,   156,   260,
> --     157,   158,    -1,   261,    -1,   260,   261,    -1,   234,    -1,
> --     238,    -1,   323,    -1,    63,   263,   266,    -1,   277,    -1,
> --     152,   264,   153,    -1,   265,    -1,   264,   154,   265,    -1,
> --     138,   155,   277,    -1,    -1,   156,   267,   157,   158,    -1,
> --     268,    -1,   267,   268,    -1,   234,    -1,   238,    -1,   323,
> --      -1,    60,   270,   274,    -1,    61,   277,   278,    -1,    -1,
> --     277,   271,   278,    -1,   152,   272,   153,    -1,   273,    -1,
> --     272,   154,   273,    -1,   135,   155,    36,    -1,   136,   155,
> --      36,    -1,   138,   155,   277,    -1,   146,   155,   354,    -1,
> --     147,   155,   354,    -1,   148,   155,   354,    -1,   149,   155,
> --     354,    -1,   150,   155,    34,    -1,   151,   155,   107,    -1,
> --      -1,   156,   275,   157,   158,    -1,   276,    -1,   275,   276,
> --      -1,   234,    -1,   238,    -1,   319,    -1,   323,    -1,    34,
> --      -1,    35,    -1,    -1,   107,    -1,    54,   280,    -1,    35,
> --      -1,   152,   281,   153,    -1,   282,    -1,   281,   154,   282,
> --      -1,   138,   155,    35,    -1,   139,   155,   354,    -1,    55,
> --      35,    -1,    56,   285,    -1,    35,    -1,   152,   286,   153,
> --      -1,   287,    -1,   286,   154,   287,    -1,   138,   155,    35,
> --      -1,    -1,    17,   333,    -1,    -1,    18,   333,    -1,    -1,
> --      19,   333,    -1,    29,   333,    -1,    57,   333,    -1,    58,
> --     333,    -1,    59,   333,    -1,    38,   333,    -1,    39,   333,
> --      -1,    40,   333,    -1,    41,   333,    -1,    42,   333,    -1,
> --      43,   333,    -1,    44,   333,    -1,    45,   333,    -1,    50,
> --     333,    -1,    46,   333,    -1,    23,   333,    -1,    26,   333,
> --      -1,    27,   333,    -1,    20,   333,    -1,    21,   333,    -1,
> --      22,   333,    -1,    24,   333,    -1,    25,   333,    -1,    28,
> --     333,    -1,    10,   333,    -1,    11,   333,    -1,    11,   333,
> --      -1,    13,   333,    -1,    14,   333,    -1,     4,   320,    -1,
> --     152,   321,   153,    -1,   322,    -1,   321,   154,   322,    -1,
> --     141,   155,    36,    -1,    12,   324,   333,    -1,    -1,    36,
> --      -1,   152,   325,   153,    -1,   326,    -1,   325,   154,   326,
> --      -1,   132,   155,    36,    -1,   143,   155,    36,    -1,    -1,
> --     323,    -1,    15,   329,   333,    -1,    34,    -1,   152,   330,
> --     153,    -1,   331,    -1,   330,   154,   331,    -1,   134,   155,
> --      34,    -1,   140,   155,   107,    -1,    16,    35,   338,   333,
> --      -1,   334,    33,    -1,    31,    -1,   334,    31,    -1,    -1,
> --      91,   337,   339,   398,   336,   156,   340,   157,   158,    -1,
> --      -1,    64,    -1,    65,    -1,    -1,    35,    -1,    -1,    34,
> --      -1,    -1,   341,    -1,   342,    -1,   341,   342,    -1,   234,
> --      -1,   238,    -1,    34,   344,   398,   343,    -1,    -1,   154,
> --      -1,    -1,   155,   349,    -1,    -1,   155,   346,    -1,   349,
> --      -1,   346,   347,   349,    -1,   160,    -1,   161,    -1,   162,
> --      -1,   163,    -1,   164,    -1,   165,    -1,    -1,   159,    -1,
> --     166,    -1,   160,    -1,   161,    -1,   162,    -1,   164,    -1,
> --     350,   348,   355,    -1,    -1,   152,   351,   153,    -1,    94,
> --     352,    -1,   352,    -1,   353,    -1,   352,    94,   353,    -1,
> --      34,    -1,   116,    -1,   117,    -1,   351,    -1,   425,   152,
> --     356,   153,    -1,   156,   157,    -1,   108,    -1,   107,    -1,
> --     354,    -1,   118,    -1,    36,    -1,   115,    -1,    -1,   346,
> --      -1,   356,   154,   346,    -1,   109,   421,    34,   398,   158,
> --     327,    -1,   109,   421,   152,   162,    34,   153,   152,   426,
> --     153,   398,   158,   327,    -1,    -1,    -1,    65,   351,   359,
> --     367,   398,   360,   371,   158,    -1,    -1,   363,   362,   364,
> --      -1,   125,   167,   426,   168,    -1,    -1,    -1,    64,   351,
> --     365,   367,   398,   366,   371,   158,    -1,    -1,   169,   368,
> --      -1,   369,    -1,   368,   154,   369,    -1,   370,   351,    -1,
> --      -1,    66,    -1,    67,    -1,    68,    -1,    -1,   156,   372,
> --     157,    -1,    -1,   373,    -1,   372,   373,    -1,   234,    -1,
> --     238,    -1,   218,    -1,   358,    -1,   364,    -1,   361,    -1,
> --     204,    -1,   357,    -1,   335,    -1,   374,    -1,   323,    -1,
> --     307,    -1,   294,    -1,   295,    -1,   296,    -1,   297,    -1,
> --     298,    -1,   299,    -1,   300,    -1,   301,    -1,   302,    -1,
> --     303,    -1,   304,    -1,   305,    -1,   316,    -1,   386,    -1,
> --     383,    -1,   409,    -1,    53,   333,    -1,    52,   333,    -1,
> --      51,   333,    -1,    66,   382,   169,    -1,    67,   382,   169,
> --      -1,    68,   382,   169,    -1,    69,   169,    -1,   130,   375,
> --     378,    -1,   152,   376,   153,    -1,   377,    -1,   376,   154,
> --     377,    -1,   133,   155,    34,    -1,   138,   155,   381,    -1,
> --     142,   155,    34,    -1,    -1,   156,   379,   157,   158,    -1,
> --     380,    -1,   379,   380,    -1,   234,    -1,   238,    -1,   323,
> --      -1,    34,    -1,    36,    -1,    -1,    71,    -1,    -1,    90,
> --     384,   385,    -1,   385,    -1,   166,    34,   152,   153,   427,
> --     397,   398,   158,   404,   403,   405,    -1,    -1,   124,   387,
> --     388,    -1,   388,    -1,    34,   152,   406,   153,   427,   398,
> --     389,   158,   327,   404,   403,    -1,    -1,    -1,   170,   390,
> --     152,   406,   153,   171,    -1,    -1,    -1,   170,   392,   421,
> --     152,   406,   153,   171,    -1,   421,    34,   152,   406,   153,
> --     395,   396,   427,   397,   398,   391,   158,   327,   404,   403,
> --     405,   402,    -1,   421,   119,   155,   152,   421,   153,   158,
> --      -1,   421,   119,   394,   152,   406,   153,   395,   396,   427,
> --     397,   398,   391,   158,   404,   403,   405,   402,    -1,   119,
> --     421,   152,   406,   153,   395,   396,   427,   397,   398,   391,
> --     158,   404,   403,   405,   402,    -1,   161,    -1,   160,    -1,
> --     162,    -1,   163,    -1,   172,    -1,   164,    -1,   165,    -1,
> --     173,    -1,   167,   167,    -1,   168,   168,    -1,   161,   155,
> --      -1,   160,   155,    -1,   162,   155,    -1,   163,   155,    -1,
> --     172,   155,    -1,   164,   155,    -1,   165,   155,    -1,   173,
> --     155,    -1,   167,   167,   155,    -1,   168,   168,   155,    -1,
> --     166,    -1,   152,   153,    -1,   170,   171,    -1,   167,    -1,
> --     167,   155,    -1,   155,   155,    -1,   159,   155,    -1,   168,
> --      -1,   168,   155,    -1,    -1,    96,    -1,    -1,   126,    -1,
> --      -1,   155,   107,    -1,    -1,   163,   399,   163,    -1,   400,
> --      -1,   399,   154,   400,    -1,    34,    -1,    34,   155,   401,
> --      -1,   277,    -1,    34,   169,   278,   160,   278,    -1,    36,
> --      -1,   107,    -1,    -1,    47,   333,    -1,    -1,    48,   333,
> --      -1,    -1,    49,   333,    -1,    -1,    37,   333,    -1,   407,
> --      -1,    -1,   408,    -1,   407,   154,   408,    -1,    98,   339,
> --     398,   345,    -1,    99,   339,   398,   345,    -1,   100,   339,
> --     398,   345,    -1,   101,   339,   398,    -1,   102,   339,   398,
> --      -1,   103,   152,   406,   153,   339,   398,    -1,   104,   152,
> --     406,   153,   339,   398,    -1,   121,   339,   398,    -1,   422,
> --     345,    -1,    -1,    70,   410,   412,    -1,    -1,    72,   411,
> --     412,    -1,   412,    -1,    -1,    97,   413,   414,    -1,   414,
> --      -1,   415,    -1,   417,    -1,    -1,    90,   416,   393,    -1,
> --     393,    -1,   421,    34,   398,   418,   158,   288,   289,   290,
> --      -1,    -1,   156,   419,   157,    -1,   420,    -1,   419,   420,
> --      -1,   234,    -1,   238,    -1,    17,   333,    -1,    18,   333,
> --      -1,    19,   333,    -1,    96,   425,   424,   423,    -1,   425,
> --     424,   423,    -1,   421,   339,   398,    -1,    -1,   164,    -1,
> --      -1,   424,   162,    96,    -1,   424,   162,    -1,   351,    -1,
> --     351,   167,   426,   168,    -1,    65,   351,    -1,    93,    74,
> --      -1,    74,    -1,    93,    -1,    93,    75,    -1,    75,    -1,
> --      76,    -1,    93,    76,    -1,    76,    76,    -1,    93,    76,
> --      76,    -1,    77,    -1,    78,    -1,    73,    -1,    92,    79,
> --      -1,    93,    79,    -1,    79,    -1,    80,    -1,    81,    -1,
> --      82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,
> --      87,    -1,    88,    -1,    89,    -1,   105,    -1,   106,    -1,
> --     127,    -1,   421,    -1,   426,   154,   421,    -1,    -1,   120,
> --     152,   428,   153,    -1,    -1,   351,    -1,   428,   154,   351,
> --      -1
> --};
> --
> --/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
> --static const yytype_uint16 yyrline[] =
> -+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
> -+static const yytype_int16 yyrline[] =
> - {
> --       0,   574,   574,   575,   578,   578,   597,   598,   599,   600,
> --     601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
> --     611,   612,   613,   614,   615,   616,   617,   618,   619,   620,
> --     621,   622,   623,   624,   625,   626,   627,   628,   629,   630,
> --     631,   632,   633,   634,   637,   638,   639,   640,   641,   642,
> --     643,   644,   645,   646,   647,   648,   661,   667,   672,   677,
> --     678,   688,   695,   701,   706,   711,   712,   722,   729,   738,
> --     743,   748,   749,   759,   766,   777,   782,   787,   788,   798,
> --     805,   834,   839,   844,   845,   855,   862,   888,   896,   901,
> --     902,   913,   919,   927,   974,   978,  1085,  1090,  1091,  1102,
> --    1105,  1108,  1122,  1138,  1143,  1143,  1166,  1166,  1233,  1247,
> --    1248,  1251,  1252,  1253,  1257,  1261,  1270,  1279,  1288,  1289,
> --    1292,  1307,  1307,  1344,  1345,  1348,  1349,  1352,  1352,  1381,
> --    1382,  1385,  1391,  1397,  1402,  1407,  1408,  1418,  1425,  1425,
> --    1451,  1452,  1455,  1461,  1461,  1480,  1483,  1486,  1489,  1494,
> --    1495,  1500,  1508,  1545,  1553,  1559,  1564,  1565,  1578,  1586,
> --    1594,  1602,  1612,  1623,  1628,  1633,  1634,  1644,  1651,  1662,
> --    1667,  1672,  1673,  1683,  1690,  1702,  1707,  1712,  1713,  1723,
> --    1730,  1750,  1755,  1760,  1761,  1771,  1778,  1782,  1787,  1788,
> --    1798,  1801,  1804,  1818,  1836,  1841,  1846,  1847,  1857,  1864,
> --    1868,  1873,  1874,  1884,  1887,  1890,  1904,  1915,  1925,  1925,
> --    1938,  1943,  1944,  1961,  1973,  1991,  2003,  2015,  2027,  2039,
> --    2051,  2063,  2082,  2086,  2091,  2092,  2102,  2105,  2108,  2111,
> --    2125,  2126,  2142,  2145,  2148,  2157,  2163,  2168,  2169,  2180,
> --    2186,  2194,  2202,  2208,  2213,  2218,  2219,  2229,  2236,  2239,
> --    2244,  2247,  2252,  2255,  2260,  2266,  2272,  2278,  2283,  2288,
> --    2293,  2298,  2303,  2308,  2313,  2318,  2323,  2328,  2333,  2338,
> --    2344,  2349,  2355,  2361,  2367,  2373,  2379,  2384,  2390,  2396,
> --    2401,  2407,  2413,  2419,  2424,  2425,  2435,  2442,  2526,  2530,
> --    2536,  2541,  2542,  2553,  2559,  2567,  2570,  2573,  2582,  2588,
> --    2593,  2594,  2605,  2611,  2622,  2627,  2630,  2631,  2641,  2641,
> --    2665,  2668,  2671,  2676,  2679,  2684,  2687,  2692,  2693,  2696,
> --    2697,  2700,  2701,  2702,  2746,  2747,  2750,  2751,  2754,  2757,
> --    2762,  2763,  2781,  2784,  2787,  2790,  2793,  2796,  2801,  2804,
> --    2807,  2810,  2813,  2816,  2819,  2824,  2839,  2842,  2847,  2853,
> --    2856,  2857,  2865,  2870,  2873,  2878,  2887,  2897,  2900,  2904,
> --    2908,  2912,  2916,  2920,  2926,  2931,  2937,  2955,  2977,  3016,
> --    3022,  3016,  3066,  3066,  3092,  3097,  3103,  3097,  3143,  3144,
> --    3147,  3148,  3151,  3203,  3206,  3209,  3212,  3217,  3220,  3225,
> --    3226,  3227,  3230,  3231,  3232,  3233,  3234,  3235,  3236,  3237,
> --    3238,  3239,  3240,  3251,  3255,  3259,  3270,  3281,  3292,  3303,
> --    3314,  3325,  3336,  3347,  3358,  3369,  3380,  3391,  3392,  3393,
> --    3394,  3405,  3416,  3427,  3434,  3441,  3448,  3457,  3470,  3475,
> --    3476,  3488,  3495,  3502,  3511,  3515,  3520,  3521,  3531,  3534,
> --    3537,  3551,  3552,  3555,  3558,  3564,  3564,  3565,  3568,  3634,
> --    3634,  3635,  3638,  3684,  3687,  3687,  3698,  3701,  3701,  3713,
> --    3731,  3751,  3795,  3876,  3877,  3878,  3879,  3880,  3881,  3882,
> --    3883,  3884,  3885,  3886,  3887,  3888,  3889,  3890,  3891,  3892,
> --    3893,  3894,  3895,  3896,  3897,  3898,  3899,  3900,  3901,  3902,
> --    3903,  3904,  3907,  3910,  3915,  3918,  3923,  3926,  3934,  3937,
> --    3943,  3947,  3959,  3963,  3969,  3973,  3996,  4000,  4006,  4009,
> --    4014,  4017,  4022,  4025,  4030,  4033,  4038,  4090,  4095,  4101,
> --    4124,  4136,  4148,  4160,  4179,  4190,  4207,  4224,  4233,  4240,
> --    4240,  4241,  4241,  4242,  4246,  4246,  4247,  4251,  4252,  4256,
> --    4256,  4257,  4260,  4315,  4321,  4326,  4327,  4339,  4342,  4345,
> --    4360,  4375,  4392,  4397,  4411,  4521,  4524,  4532,  4535,  4538,
> --    4543,  4551,  4562,  4577,  4581,  4585,  4589,  4593,  4597,  4601,
> --    4605,  4609,  4613,  4617,  4621,  4625,  4629,  4633,  4637,  4641,
> --    4645,  4649,  4653,  4657,  4661,  4665,  4669,  4673,  4677,  4681,
> --    4685,  4691,  4697,  4713,  4716,  4724,  4730,  4737
> -+       0,   575,   575,   576,   579,   579,   598,   599,   600,   601,
> -+     602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
> -+     612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
> -+     622,   623,   624,   625,   626,   627,   628,   629,   630,   631,
> -+     632,   633,   634,   635,   638,   639,   640,   641,   642,   643,
> -+     644,   645,   646,   647,   648,   649,   662,   668,   673,   678,
> -+     679,   689,   696,   702,   707,   712,   713,   723,   730,   739,
> -+     744,   749,   750,   760,   767,   778,   783,   788,   789,   799,
> -+     806,   835,   840,   845,   846,   856,   863,   889,   897,   902,
> -+     903,   914,   920,   928,   975,   979,  1086,  1091,  1092,  1103,
> -+    1106,  1109,  1123,  1139,  1144,  1144,  1167,  1167,  1234,  1248,
> -+    1249,  1252,  1253,  1254,  1258,  1262,  1271,  1280,  1289,  1290,
> -+    1293,  1308,  1308,  1345,  1346,  1349,  1350,  1353,  1353,  1382,
> -+    1383,  1386,  1392,  1398,  1403,  1408,  1409,  1419,  1426,  1426,
> -+    1452,  1453,  1456,  1462,  1462,  1481,  1484,  1487,  1490,  1495,
> -+    1496,  1501,  1509,  1546,  1554,  1560,  1565,  1566,  1579,  1587,
> -+    1595,  1603,  1613,  1624,  1629,  1634,  1635,  1645,  1652,  1663,
> -+    1668,  1673,  1674,  1684,  1691,  1703,  1708,  1713,  1714,  1724,
> -+    1731,  1751,  1756,  1761,  1762,  1772,  1779,  1783,  1788,  1789,
> -+    1799,  1802,  1805,  1819,  1837,  1842,  1847,  1848,  1858,  1865,
> -+    1869,  1874,  1875,  1885,  1888,  1891,  1905,  1917,  1927,  1927,
> -+    1941,  1946,  1947,  1965,  1978,  1997,  2010,  2023,  2036,  2049,
> -+    2062,  2075,  2088,  2108,  2112,  2117,  2118,  2128,  2131,  2134,
> -+    2137,  2151,  2152,  2168,  2171,  2174,  2183,  2189,  2194,  2195,
> -+    2206,  2212,  2220,  2228,  2234,  2239,  2244,  2245,  2255,  2262,
> -+    2265,  2270,  2273,  2278,  2281,  2286,  2292,  2298,  2304,  2309,
> -+    2314,  2319,  2324,  2329,  2334,  2339,  2344,  2349,  2354,  2359,
> -+    2364,  2370,  2375,  2381,  2387,  2393,  2399,  2405,  2410,  2416,
> -+    2422,  2427,  2433,  2439,  2445,  2450,  2451,  2461,  2468,  2552,
> -+    2556,  2562,  2567,  2568,  2579,  2585,  2593,  2596,  2599,  2608,
> -+    2614,  2619,  2620,  2631,  2637,  2648,  2653,  2656,  2657,  2667,
> -+    2667,  2691,  2694,  2697,  2702,  2705,  2710,  2713,  2718,  2719,
> -+    2722,  2723,  2726,  2727,  2728,  2772,  2773,  2776,  2777,  2780,
> -+    2783,  2788,  2789,  2807,  2810,  2813,  2816,  2819,  2822,  2827,
> -+    2830,  2833,  2836,  2839,  2842,  2845,  2850,  2865,  2868,  2873,
> -+    2879,  2882,  2883,  2891,  2896,  2899,  2904,  2913,  2923,  2926,
> -+    2930,  2934,  2938,  2942,  2946,  2952,  2957,  2963,  2981,  3003,
> -+    3042,  3048,  3042,  3092,  3092,  3118,  3123,  3129,  3123,  3169,
> -+    3170,  3173,  3174,  3177,  3229,  3232,  3235,  3238,  3243,  3246,
> -+    3251,  3252,  3253,  3256,  3257,  3258,  3259,  3260,  3261,  3262,
> -+    3263,  3264,  3265,  3266,  3277,  3281,  3285,  3296,  3307,  3318,
> -+    3329,  3340,  3351,  3362,  3373,  3384,  3395,  3406,  3417,  3418,
> -+    3419,  3420,  3431,  3442,  3453,  3460,  3467,  3474,  3483,  3496,
> -+    3501,  3502,  3514,  3521,  3528,  3537,  3541,  3546,  3547,  3557,
> -+    3560,  3563,  3577,  3578,  3581,  3584,  3590,  3590,  3591,  3594,
> -+    3660,  3660,  3661,  3664,  3710,  3713,  3713,  3724,  3727,  3727,
> -+    3739,  3757,  3777,  3821,  3902,  3903,  3904,  3905,  3906,  3907,
> -+    3908,  3909,  3910,  3911,  3912,  3913,  3914,  3915,  3916,  3917,
> -+    3918,  3919,  3920,  3921,  3922,  3923,  3924,  3925,  3926,  3927,
> -+    3928,  3929,  3930,  3933,  3936,  3941,  3944,  3949,  3952,  3960,
> -+    3963,  3969,  3973,  3985,  3989,  3995,  3999,  4022,  4026,  4032,
> -+    4035,  4040,  4043,  4048,  4051,  4056,  4059,  4064,  4116,  4121,
> -+    4127,  4150,  4162,  4174,  4186,  4205,  4216,  4233,  4250,  4259,
> -+    4266,  4266,  4267,  4267,  4268,  4272,  4272,  4273,  4277,  4278,
> -+    4282,  4282,  4283,  4286,  4341,  4347,  4352,  4353,  4365,  4368,
> -+    4371,  4386,  4401,  4418,  4423,  4437,  4547,  4550,  4558,  4561,
> -+    4564,  4569,  4577,  4588,  4603,  4607,  4611,  4615,  4619,  4623,
> -+    4627,  4631,  4635,  4639,  4643,  4647,  4651,  4655,  4659,  4663,
> -+    4667,  4671,  4675,  4679,  4683,  4687,  4691,  4695,  4699,  4703,
> -+    4707,  4711,  4717,  4723,  4739,  4742,  4750,  4756,  4763
> - };
> - #endif
> -
> --#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
> -+/** Accessing symbol of state STATE.  */
> -+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t,
> yystos[State])
> -+
> -+#if YYDEBUG || 0
> -+/* The user-facing name of the symbol whose (internal) number is
> -+   YYSYMBOL.  No bounds checking.  */
> -+static const char *yysymbol_name (yysymbol_kind_t yysymbol)
> YY_ATTRIBUTE_UNUSED;
> -+
> - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
> -    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
> - static const char *const yytname[] =
> - {
> --  "$end", "error", "$undefined", "TK_API", "TK_AUTOPYNAME",
> --  "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING", "TK_PLUGIN",
> --  "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE", "TK_TYPEHINTCODE",
> --  "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC", "TK_EXTRACT",
> "TK_MAKEFILE",
> --  "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE", "TK_PREINITCODE",
> --  "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE", "TK_UNITCODE",
> --  "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE", "TK_PREPYCODE",
> --  "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF", "TK_END",
> --  "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
> -+  "\"end of file\"", "error", "\"invalid token\"", "TK_API",
> -+  "TK_AUTOPYNAME", "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG",
> "TK_DEFENCODING",
> -+  "TK_PLUGIN", "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE",
> -+  "TK_TYPEHINTCODE", "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC",
> -+  "TK_EXTRACT", "TK_MAKEFILE", "TK_ACCESSCODE", "TK_GETCODE",
> "TK_SETCODE",
> -+  "TK_PREINITCODE", "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE",
> -+  "TK_UNITCODE", "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE",
> -+  "TK_PREPYCODE", "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF",
> -+  "TK_END", "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
> -   "TK_VIRTUALCATCHERCODE", "TK_TRAVERSECODE", "TK_CLEARCODE",
> -   "TK_GETBUFFERCODE", "TK_RELEASEBUFFERCODE", "TK_READBUFFERCODE",
> -   "TK_WRITEBUFFERCODE", "TK_SEGCOUNTCODE", "TK_CHARBUFFERCODE",
> -@@ -1264,13 +1217,13 @@ static const char *const yytname[] =
> -   "TK_DEFSUPERTYPE", "TK_PROPERTY", "TK_HIDE_NS", "TK_FORMAT", "TK_GET",
> -   "TK_ID", "TK_KWARGS", "TK_LANGUAGE", "TK_LICENSEE", "TK_NAME",
> -   "TK_OPTIONAL", "TK_ORDER", "TK_REMOVELEADING", "TK_SET",
> "TK_SIGNATURE",
> --  "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_USELIMITEDAPI",
> --  "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT", "TK_DEFERRORHANDLER",
> --  "TK_VERSION", "'('", "')'", "','", "'='", "'{'", "'}'", "';'", "'!'",
> --  "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'", "'<'", "'>'", "':'",
> --  "'['", "']'", "'%'", "'^'", "$accept", "specification", "statement",
> --  "@1", "modstatement", "nsstatement", "defdocstringfmt",
> --  "defdocstringfmt_args", "defdocstringfmt_arg_list",
> -+  "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_PYSSIZETCLEAN",
> -+  "TK_USELIMITEDAPI", "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT",
> -+  "TK_DEFERRORHANDLER", "TK_VERSION", "'('", "')'", "','", "'='", "'{'",
> -+  "'}'", "';'", "'!'", "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'",
> -+  "'<'", "'>'", "':'", "'['", "']'", "'%'", "'^'", "$accept",
> -+  "specification", "statement", "$@1", "modstatement", "nsstatement",
> -+  "defdocstringfmt", "defdocstringfmt_args", "defdocstringfmt_arg_list",
> -   "defdocstringfmt_arg", "defdocstringsig", "defdocstringsig_args",
> -   "defdocstringsig_arg_list", "defdocstringsig_arg", "defencoding",
> -   "defencoding_args", "defencoding_arg_list", "defencoding_arg",
> "plugin",
> -@@ -1278,13 +1231,13 @@ static const char *const yytname[] =
> -   "veh_args", "veh_arg_list", "veh_arg", "api", "api_args",
> "api_arg_list",
> -   "api_arg", "exception", "baseexception", "exception_body",
> -   "exception_body_directives", "exception_body_directive", "raisecode",
> --  "mappedtype", "@2", "mappedtypetmpl", "@3", "mtdefinition", "mtbody",
> --  "mtline", "mtfunction", "namespace", "@4", "optnsbody", "nsbody",
> --  "platforms", "@5", "platformlist", "platform", "feature",
> "feature_args",
> --  "feature_arg_list", "feature_arg", "timeline", "@6", "qualifierlist",
> --  "qualifiername", "ifstart", "@7", "oredqualifiers", "qualifiers",
> --  "ifend", "license", "license_args", "license_arg_list", "license_arg",
> --  "defmetatype", "defmetatype_args", "defmetatype_arg_list",
> -+  "mappedtype", "$@2", "mappedtypetmpl", "$@3", "mtdefinition", "mtbody",
> -+  "mtline", "mtfunction", "namespace", "$@4", "optnsbody", "nsbody",
> -+  "platforms", "$@5", "platformlist", "platform", "feature",
> -+  "feature_args", "feature_arg_list", "feature_arg", "timeline", "$@6",
> -+  "qualifierlist", "qualifiername", "ifstart", "$@7", "oredqualifiers",
> -+  "qualifiers", "ifend", "license", "license_args", "license_arg_list",
> -+  "license_arg", "defmetatype", "defmetatype_args",
> "defmetatype_arg_list",
> -   "defmetatype_arg", "defsupertype", "defsupertype_args",
> -   "defsupertype_arg_list", "defsupertype_arg", "hiddenns",
> "hiddenns_args",
> -   "hiddenns_arg_list", "hiddenns_arg", "consmodule", "consmodule_args",
> -@@ -1292,7 +1245,7 @@ static const char *const yytname[] =
> -   "consmodule_body_directives", "consmodule_body_directive",
> "compmodule",
> -   "compmodule_args", "compmodule_arg_list", "compmodule_arg",
> -   "compmodule_body", "compmodule_body_directives",
> --  "compmodule_body_directive", "module", "module_args", "@8",
> -+  "compmodule_body_directive", "module", "module_args", "$@8",
> -   "module_arg_list", "module_arg", "module_body",
> "module_body_directives",
> -   "module_body_directive", "dottedname", "optnumber", "include",
> -   "include_args", "include_arg_list", "include_arg", "optinclude",
> -@@ -1307,1011 +1260,950 @@ static const char *const yytname[] =
> -   "autopyname_args", "autopyname_arg_list", "autopyname_arg",
> "docstring",
> -   "docstring_args", "docstring_arg_list", "docstring_arg",
> "optdocstring",
> -   "extract", "extract_args", "extract_arg_list", "extract_arg",
> "makefile",
> --  "codeblock", "codelines", "enum", "@9", "optenumkey", "optfilename",
> -+  "codeblock", "codelines", "enum", "$@9", "optenumkey", "optfilename",
> -   "optname", "optenumbody", "enumbody", "enumline", "optcomma",
> -   "optenumassign", "optassign", "expr", "binop", "optunop", "value",
> -   "optcast", "scopedname", "scopednamehead", "scopepart", "bool_value",
> --  "simplevalue", "exprlist", "typedef", "struct", "@10", "@11",
> --  "classtmpl", "@12", "template", "class", "@13", "@14", "superclasses",
> -+  "simplevalue", "exprlist", "typedef", "struct", "$@10", "$@11",
> -+  "classtmpl", "$@12", "template", "class", "$@13", "$@14",
> "superclasses",
> -   "superlist", "superclass", "class_access", "optclassbody", "classbody",
> -   "classline", "property", "property_args", "property_arg_list",
> -   "property_arg", "property_body", "property_body_directives",
> --  "property_body_directive", "name_or_string", "optslot", "dtor", "@15",
> --  "dtor_decl", "ctor", "@16", "simplector", "optctorsig", "@17",
> "optsig",
> --  "@18", "function", "operatorname", "optconst", "optfinal",
> "optabstract",
> --  "optflags", "flaglist", "flag", "flagvalue", "virtualcallcode",
> --  "methodcode", "premethodcode", "virtualcatchercode", "arglist",
> --  "rawarglist", "argvalue", "varmember", "@19", "@20", "simple_varmem",
> --  "@21", "varmem", "member", "@22", "variable", "variable_body",
> --  "variable_body_directives", "variable_body_directive", "cpptype",
> --  "argtype", "optref", "deref", "basetype", "cpptypelist",
> "optexceptions",
> --  "exceptionlist", 0
> -+  "property_body_directive", "name_or_string", "optslot", "dtor", "$@15",
> -+  "dtor_decl", "ctor", "$@16", "simplector", "optctorsig", "$@17",
> -+  "optsig", "$@18", "function", "operatorname", "optconst", "optfinal",
> -+  "optabstract", "optflags", "flaglist", "flag", "flagvalue",
> -+  "virtualcallcode", "methodcode", "premethodcode", "virtualcatchercode",
> -+  "arglist", "rawarglist", "argvalue", "varmember", "$@19", "$@20",
> -+  "simple_varmem", "$@21", "varmem", "member", "$@22", "variable",
> -+  "variable_body", "variable_body_directives", "variable_body_directive",
> -+  "cpptype", "argtype", "optref", "deref", "basetype", "cpptypelist",
> -+  "optexceptions", "exceptionlist", YY_NULLPTR
> - };
> -+
> -+static const char *
> -+yysymbol_name (yysymbol_kind_t yysymbol)
> -+{
> -+  return yytname[yysymbol];
> -+}
> - #endif
> -
> --# ifdef YYPRINT
> --/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
> --   token YYLEX-NUM.  */
> --static const yytype_uint16 yytoknum[] =
> --{
> --       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
> --     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
> --     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
> --     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
> --     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
> --     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
> --     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
> --     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
> --     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
> --     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
> --     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
> --     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
> --     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
> --     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
> --     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
> --     405,   406,    40,    41,    44,    61,   123,   125,    59,    33,
> --      45,    43,    42,    47,    38,   124,   126,    60,    62,    58,
> --      91,    93,    37,    94
> --};
> --# endif
> -+#define YYPACT_NINF (-840)
> -
> --/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
> --static const yytype_uint16 yyr1[] =
> --{
> --       0,   174,   175,   175,   177,   176,   178,   178,   178,   178,
> --     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
> --     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
> --     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
> --     178,   178,   178,   178,   179,   179,   179,   179,   179,   179,
> --     179,   179,   179,   179,   179,   179,   180,   181,   181,   182,
> --     182,   183,   184,   185,   185,   186,   186,   187,   188,   189,
> --     189,   190,   190,   191,   192,   193,   193,   194,   194,   195,
> --     196,   197,   197,   198,   198,   199,   200,   201,   201,   202,
> --     202,   203,   203,   204,   205,   205,   206,   207,   207,   208,
> --     208,   208,   208,   209,   211,   210,   213,   212,   214,   215,
> --     215,   216,   216,   216,   216,   216,   216,   216,   216,   216,
> --     217,   219,   218,   220,   220,   221,   221,   223,   222,   224,
> --     224,   225,   226,   227,   227,   228,   228,   229,   231,   230,
> --     232,   232,   233,   235,   234,   236,   236,   236,   236,   237,
> --     237,   238,   239,   240,   240,   240,   241,   241,   242,   242,
> --     242,   242,   243,   244,   244,   245,   245,   246,   247,   248,
> --     248,   249,   249,   250,   251,   252,   252,   253,   253,   254,
> --     255,   256,   256,   257,   257,   258,   259,   259,   260,   260,
> --     261,   261,   261,   262,   263,   263,   264,   264,   265,   266,
> --     266,   267,   267,   268,   268,   268,   269,   269,   271,   270,
> --     270,   272,   272,   273,   273,   273,   273,   273,   273,   273,
> --     273,   273,   274,   274,   275,   275,   276,   276,   276,   276,
> --     277,   277,   278,   278,   279,   280,   280,   281,   281,   282,
> --     282,   283,   284,   285,   285,   286,   286,   287,   288,   288,
> --     289,   289,   290,   290,   291,   292,   293,   294,   295,   296,
> --     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
> --     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
> --     317,   318,   319,   320,   321,   321,   322,   323,   324,   324,
> --     324,   325,   325,   326,   326,   327,   327,   328,   329,   329,
> --     330,   330,   331,   331,   332,   333,   334,   334,   336,   335,
> --     337,   337,   337,   338,   338,   339,   339,   340,   340,   341,
> --     341,   342,   342,   342,   343,   343,   344,   344,   345,   345,
> --     346,   346,   347,   347,   347,   347,   347,   347,   348,   348,
> --     348,   348,   348,   348,   348,   349,   350,   350,   351,   351,
> --     352,   352,   353,   354,   354,   355,   355,   355,   355,   355,
> --     355,   355,   355,   355,   356,   356,   356,   357,   357,   359,
> --     360,   358,   362,   361,   363,   365,   366,   364,   367,   367,
> --     368,   368,   369,   370,   370,   370,   370,   371,   371,   372,
> --     372,   372,   373,   373,   373,   373,   373,   373,   373,   373,
> --     373,   373,   373,   373,   373,   373,   373,   373,   373,   373,
> --     373,   373,   373,   373,   373,   373,   373,   373,   373,   373,
> --     373,   373,   373,   373,   373,   373,   373,   374,   375,   376,
> --     376,   377,   377,   377,   378,   378,   379,   379,   380,   380,
> --     380,   381,   381,   382,   382,   384,   383,   383,   385,   387,
> --     386,   386,   388,   389,   390,   389,   391,   392,   391,   393,
> --     393,   393,   393,   394,   394,   394,   394,   394,   394,   394,
> --     394,   394,   394,   394,   394,   394,   394,   394,   394,   394,
> --     394,   394,   394,   394,   394,   394,   394,   394,   394,   394,
> --     394,   394,   395,   395,   396,   396,   397,   397,   398,   398,
> --     399,   399,   400,   400,   401,   401,   401,   401,   402,   402,
> --     403,   403,   404,   404,   405,   405,   406,   407,   407,   407,
> --     408,   408,   408,   408,   408,   408,   408,   408,   408,   410,
> --     409,   411,   409,   409,   413,   412,   412,   414,   414,   416,
> --     415,   415,   417,   418,   418,   419,   419,   420,   420,   420,
> --     420,   420,   421,   421,   422,   423,   423,   424,   424,   424,
> --     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
> --     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
> --     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
> --     425,   426,   426,   427,   427,   428,   428,   428
> --};
> -+#define yypact_value_is_default(Yyn) \
> -+  ((Yyn) == YYPACT_NINF)
> -
> --/* YYR2[YYN] -- Number of symbols composing right hand side of rule
> YYN.  */
> --static const yytype_uint8 yyr2[] =
> -+#define YYTABLE_NINF (-564)
> -+
> -+#define yytable_value_is_error(Yyn) \
> -+  0
> -+
> -+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
> -+   STATE-NUM.  */
> -+static const yytype_int16 yypact[] =
> - {
> --       0,     2,     1,     2,     0,     2,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     2,     1,     3,     1,
> --       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
> --       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
> --       3,     1,     3,     1,     3,     3,     2,     2,     3,     1,
> --       3,     3,     3,     5,     0,     3,     4,     1,     2,     1,
> --       1,     1,     1,     2,     0,     5,     0,     6,     4,     1,
> --       2,     1,     1,     1,     1,     2,     2,     1,     1,     1,
> --      14,     0,     5,     0,     3,     1,     2,     0,     5,     1,
> --       2,     1,     2,     1,     3,     1,     3,     3,     0,     5,
> --       1,     2,     1,     0,     5,     1,     2,     3,     4,     1,
> --       3,     1,     3,     0,     1,     3,     1,     3,     3,     3,
> --       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
> --       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
> --       3,     1,     3,     1,     3,     3,     0,     4,     1,     2,
> --       1,     1,     1,     3,     1,     3,     1,     3,     3,     0,
> --       4,     1,     2,     1,     1,     1,     3,     3,     0,     3,
> --       3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
> --       3,     3,     0,     4,     1,     2,     1,     1,     1,     1,
> --       1,     1,     0,     1,     2,     1,     3,     1,     3,     3,
> --       3,     2,     2,     1,     3,     1,     3,     3,     0,     2,
> --       0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
> --       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,     2,     2,     3,     1,     3,     3,     3,     0,     1,
> --       3,     1,     3,     3,     3,     0,     1,     3,     1,     3,
> --       1,     3,     3,     3,     4,     2,     1,     2,     0,     9,
> --       0,     1,     1,     0,     1,     0,     1,     0,     1,     1,
> --       2,     1,     1,     4,     0,     1,     0,     2,     0,     2,
> --       1,     3,     1,     1,     1,     1,     1,     1,     0,     1,
> --       1,     1,     1,     1,     1,     3,     0,     3,     2,     1,
> --       1,     3,     1,     1,     1,     1,     4,     2,     1,     1,
> --       1,     1,     1,     1,     0,     1,     3,     6,    12,     0,
> --       0,     8,     0,     3,     4,     0,     0,     8,     0,     2,
> --       1,     3,     2,     0,     1,     1,     1,     0,     3,     0,
> --       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       2,     2,     2,     3,     3,     3,     2,     3,     3,     1,
> --       3,     3,     3,     3,     0,     4,     1,     2,     1,     1,
> --       1,     1,     1,     0,     1,     0,     3,     1,    11,     0,
> --       3,     1,    11,     0,     0,     6,     0,     0,     7,    17,
> --       7,    17,    16,     1,     1,     1,     1,     1,     1,     1,
> --       1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> --       2,     3,     3,     1,     2,     2,     1,     2,     2,     2,
> --       1,     2,     0,     1,     0,     1,     0,     2,     0,     3,
> --       1,     3,     1,     3,     1,     5,     1,     1,     0,     2,
> --       0,     2,     0,     2,     0,     2,     1,     0,     1,     3,
> --       4,     4,     4,     3,     3,     6,     6,     3,     2,     0,
> --       3,     0,     3,     1,     0,     3,     1,     1,     1,     0,
> --       3,     1,     8,     0,     3,     1,     2,     1,     1,     2,
> --       2,     2,     4,     3,     3,     0,     1,     0,     3,     2,
> --       1,     4,     2,     2,     1,     1,     2,     1,     1,     2,
> --       2,     3,     1,     1,     1,     2,     2,     1,     1,     1,
> --       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> --       1,     1,     3,     0,     4,     0,     1,     3
> -+    -840,   125,  -840,  1218,  -840,  -840,    42,    -2,    54,    55,
> -+      58,    74,   100,   100,   100,   100,    75,   181,   100,   100,
> -+     100,   100,   100,   100,   100,   100,  1542,    51,  -840,  -840,
> -+      23,   228,    46,   100,   100,   100,    48,   238,    62,    64,
> -+      84,    84,  -840,  -840,  -840,   190,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,   218,
> -+     224,   277,   279,  1542,  -840,  -840,  1506,   309,  -840,  -840,
> -+      76,    59,  1506,    84,   203,  -840,    66,    68,    53,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,   206,   285,  -840,  -840,  -840,  -840,
> -+     359,  -840,  -840,  -840,    79,  -840,   297,   -26,  -840,  -840,
> -+     254,  -840,  -840,   268,  -840,  -840,   271,  -840,  -840,   281,
> -+    -840,  -840,   286,   100,  -840,  -840,   257,  -840,  -840,  -840,
> -+    -840,   101,   100,   395,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,    84,   276,  -840,  -840,   158,  -840,  -840,  -840,
> -+     298,  -840,  -840,  -840,  -840,  -840,  -840,   338,   287,  -840,
> -+     335,   324,   342,  -840,   331,   344,  -840,  -840,    18,  -840,
> -+    -840,  -840,   418,  -840,  -840,  -840,   447,  -840,   285,  -840,
> -+      77,  -840,   378,   380,  -840,   400,  -840,  -840,   171,   276,
> -+     388,   390,  1506,   404,  -840,  -840,   406,  -840,  -840,   407,
> -+    -840,  -840,  1506,   279,  1542,   482,   -49,   234,   146,  -840,
> -+     391,   392,   169,  -840,   393,   210,  -840,   396,   214,  -840,
> -+     399,   222,  -840,   401,   295,  -840,   402,   306,  -840,  -840,
> -+    -840,  -840,   403,   405,   312,  -840,  -840,  -840,   100,  -840,
> -+     516,  -840,     4,   408,   409,   316,  -840,   410,   323,  -840,
> -+     412,   413,   414,   416,   417,   419,   420,   421,   422,   423,
> -+     326,  -840,   244,  -840,   335,  -840,  -840,   424,   337,  -840,
> -+     267,  -840,   425,   339,  -840,   267,  -840,   381,   381,  -840,
> -+     276,  -840,   146,   276,   397,   426,   528,   529,   428,   341,
> -+    -840,   429,   430,   431,   432,   343,  -840,  -840,  1279,    84,
> -+     276,  -840,   -21,   433,   349,  -840,   435,   352,  -840,   436,
> -+     354,  -840,    -9,  -840,   276,  -840,  1279,   437,   439,   105,
> -+     440,   441,   442,   443,   444,   449,   450,  -840,    34,   -34,
> -+     438,   451,   452,   456,   486,  -840,  -840,   314,   488,  -840,
> -+     -26,   567,  -840,   254,   575,  -840,   268,   576,  -840,   271,
> -+     579,  -840,   281,   580,  -840,   286,   581,   513,  -840,   101,
> -+    -840,   465,   -11,  -840,   466,   461,   590,   530,   472,   467,
> -+     592,   394,  -840,   158,   594,  -840,   298,   595,   596,   238,
> -+     394,   394,   394,   394,   394,   599,   523,  -840,   338,   485,
> -+      81,  -840,  -840,    36,  -840,  -840,  -840,  -840,   238,  -840,
> -+     324,  -840,  -840,    38,  -840,  -840,   238,  -840,   331,  -840,
> -+    -840,    45,  -840,  -840,   315,   276,   276,  -840,  -840,   480,
> -+     606,   253,   483,  -840,    -1,  -840,  -840,    33,  -840,   314,
> -+    -840,   400,   605,   607,   608,   609,  -840,   171,   418,   418,
> -+     418,   418,   418,   493,   494,   418,   495,   497,  -840,   418,
> -+     492,   496,   498,  1506,  -840,   238,  -840,   404,   238,  -840,
> -+     406,    84,  -840,   407,  -840,  -840,   499,   288,   500,  -840,
> -+    1506,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+     502,  -840,   504,  -840,  -840,  -840,  1279,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,    93,   516,  -840,   334,
> -+    -840,  -840,    11,  -840,   418,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,   515,  -840,  -840,   128,   100,   505,  -840,
> -+    -840,  -840,   506,  -840,  -840,  -840,   507,  -840,  -840,  -840,
> -+    -840,   508,  -840,    84,  -840,  -840,   510,   642,   517,  -840,
> -+     735,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,   276,   276,   276,   276,   276,  1279,
> -+    1279,   276,   573,  1279,   276,   519,  -840,  -840,   232,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,   466,   573,   100,
> -+     100,   100,  -840,  -840,    56,  -840,   656,   520,  -840,  -840,
> -+     521,   509,  -840,  -840,  -840,  -840,  -840,   100,   100,   100,
> -+     100,  1506,   134,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,   643,  -840,   522,   358,  -840,   525,   526,   360,
> -+    -840,  -840,  -840,  -840,  -840,   315,  -840,   527,   527,   389,
> -+    -840,  -840,   533,  -840,  -840,   492,   492,   492,  -840,  -840,
> -+     535,   536,  -840,  -840,   561,  -840,  -840,    84,   293,  -840,
> -+     272,   100,    47,  -840,  -840,  -840,  -840,  -840,  -840,   561,
> -+    -840,  -840,  -840,  -840,  -840,   100,   673,   534,   573,   335,
> -+    -840,  -840,  -840,  -840,   658,   537,  -840,  -840,   659,  -840,
> -+     515,   661,   662,  -840,   128,  -840,  1092,   540,   541,   538,
> -+    -840,  -840,   545,   389,  -840,  1506,  -840,  -840,  -840,   418,
> -+     418,  -840,   584,   552,  -840,  -840,  -840,  -840,  -840,  -840,
> -+     519,  -840,  -840,  -840,  -840,  -840,  -840,   843,  -840,   548,
> -+    -840,   584,  -840,   100,   690,  -840,   561,   549,   558,  -840,
> -+    -840,  -840,  -840,  -840,  -840,   100,   100,   559,   100,   100,
> -+     100,   100,   100,   100,   100,   100,   100,   100,   100,   100,
> -+     644,   644,   644,   543,  -840,  -840,   547,  -840,  -840,   563,
> -+     683,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,   983,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+     519,   276,   562,  -840,   362,   276,   276,   565,   564,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,   568,   -30,  -840,  -840,
> -+     569,  -840,   564,  -840,   100,  -840,   584,   335,  1279,  -840,
> -+    -840,  1279,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,   553,   555,   560,  -840,  1336,
> -+    1336,   566,  1450,  1393,   694,   156,   572,   578,  -840,  -840,
> -+    -840,   577,  -840,   276,  -840,  -840,    84,   627,   276,  -840,
> -+     274,   276,  -840,   564,  -840,   583,   585,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,    90,  -840,   559,  -840,   582,
> -+     586,   587,   364,  -840,   267,  -840,   593,  -840,  -840,   589,
> -+    -840,   367,  -840,   570,   293,   373,   570,   276,   573,   584,
> -+     591,   701,   314,   712,  -840,   156,  -840,  -840,  -840,    52,
> -+    -840,   584,   642,  -840,    84,  -840,   597,  -840,   519,   600,
> -+     570,   584,   276,  -840,  -840,  -840,  -840,   602,  -840,   564,
> -+    -840,  -840,  1506,   700,   293,   642,   603,   276,   616,  -840,
> -+     276,   598,   100,   702,   700,   700,   570,  -840,   611,   612,
> -+    1279,  -840,   100,   715,   702,   702,   615,   601,   642,   700,
> -+     604,  -840,   100,   706,   715,   715,   642,  1279,   700,   702,
> -+     617,  -840,   100,  -840,   706,   706,   700,   610,   702,   715,
> -+    -840,  -840,  -840,  -840,   702,   618,  -840,  -840,  -840,  -840
> - };
> -
> --/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
> --   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
> -+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
> -+   Performed when YYTABLE does not specify something else to do.  Zero
> -    means the default is an error.  */
> --static const yytype_uint16 yydefact[] =
> -+static const yytype_int16 yydefact[] =
> - {
> -        4,     4,     2,     0,     1,     3,     0,     0,     0,     0,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,     0,     0,   151,   352,
> -+       0,     0,     0,     0,     0,     0,     0,     0,   151,   353,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> --       0,     0,   574,   564,   567,   568,   572,   573,   577,   578,
> --     579,   580,   581,   582,   583,   584,   585,   586,   587,   310,
> --       0,   565,     0,     0,   588,   589,     0,     0,   138,   127,
> --       0,   153,     0,     0,     0,   590,     0,     0,     0,     5,
> -+       0,     0,   575,   565,   568,   569,   573,   574,   578,   579,
> -+     580,   581,   582,   583,   584,   585,   586,   587,   588,   311,
> -+       0,   566,     0,     0,   589,   590,     0,     0,   138,   127,
> -+       0,   153,     0,     0,     0,   591,     0,     0,     0,     5,
> -       43,    19,    20,    21,     9,    42,    14,    50,    40,    41,
> -       46,    16,    17,    15,    44,    45,    18,    22,    23,    24,
> -        7,     8,     6,    11,    12,    13,    10,    25,    26,    55,
> -       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
> --      37,    38,    39,    52,   560,   349,   350,    51,    47,    49,
> --     372,    48,    53,    54,     0,   557,     0,     0,    86,    57,
> -+      37,    38,    39,    52,   561,   350,   351,    51,    47,    49,
> -+     373,    48,    53,    54,     0,   558,     0,     0,    86,    57,
> -        0,    56,    63,     0,    62,    69,     0,    68,    75,     0,
> --      74,    81,     0,     0,   306,   277,     0,   278,   280,   281,
> --     298,     0,     0,   313,   271,   272,   273,   274,   275,   269,
> --     276,   254,     0,   498,   143,   235,     0,   234,   241,   243,
> --       0,   242,   255,   256,   257,   230,   231,     0,   222,   208,
> --     232,     0,   186,   181,     0,   199,   194,   375,   369,   570,
> --     311,   312,   315,   575,   563,   566,   569,   576,   348,   557,
> --       0,   121,     0,     0,   133,     0,   132,   154,     0,   498,
> -+      74,    81,     0,     0,   307,   278,     0,   279,   281,   282,
> -+     299,     0,     0,   314,   272,   273,   274,   275,   276,   270,
> -+     277,   255,     0,   499,   143,   236,     0,   235,   242,   244,
> -+       0,   243,   256,   257,   258,   231,   232,     0,   223,   208,
> -+     233,     0,   186,   181,     0,   199,   194,   376,   370,   571,
> -+     312,   313,   316,   576,   564,   567,   570,   577,   349,   558,
> -+       0,   121,     0,     0,   133,     0,   132,   154,     0,   499,
> -        0,    94,     0,     0,   162,   163,     0,   168,   169,     0,
> --     174,   175,     0,     0,     0,     0,   498,     0,   555,    87,
> -+     174,   175,     0,     0,     0,     0,   499,     0,   556,    87,
> -        0,     0,     0,    89,     0,     0,    59,     0,     0,    65,
> -        0,     0,    71,     0,     0,    77,     0,     0,    83,    80,
> --     307,   305,     0,     0,     0,   300,   297,   314,     0,   562,
> --       0,   104,   315,     0,     0,     0,   237,     0,     0,   245,
> -+     308,   306,     0,     0,     0,   301,   298,   315,     0,   563,
> -+       0,   104,   316,     0,     0,     0,   238,     0,     0,   246,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> --     211,     0,   206,   232,   233,   207,     0,     0,   183,     0,
> --     180,     0,     0,   196,     0,   193,   378,   378,   316,   498,
> --     571,   555,   498,     0,   123,     0,     0,     0,     0,   135,
> --       0,     0,     0,     0,     0,   156,   152,   517,     0,   498,
> --     591,     0,     0,     0,   165,     0,     0,   171,     0,     0,
> --     177,     0,   351,   498,   373,   517,   543,     0,     0,     0,
> --     464,   463,   465,   466,   468,   469,   483,   486,   490,     0,
> --     467,   470,     0,   559,   556,   553,     0,     0,    88,     0,
> --       0,    58,     0,     0,    64,     0,     0,    70,     0,     0,
> --      76,     0,     0,    82,     0,     0,     0,   299,     0,   304,
> --     502,     0,   500,     0,   145,     0,   149,     0,     0,     0,
> --       0,   236,     0,     0,   244,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,   210,     0,     0,   288,   226,
> --     227,     0,   224,   228,   229,   209,     0,   182,     0,   190,
> --     191,     0,   188,   192,     0,   195,     0,   203,   204,     0,
> --     201,   205,   383,   498,   498,   308,   552,     0,     0,     0,
> --       0,   142,     0,   140,   131,     0,   129,     0,   134,     0,
> --       0,     0,     0,     0,   155,     0,   315,   315,   315,   315,
> --     315,     0,     0,   315,     0,   516,   518,   315,   328,     0,
> --       0,     0,   374,     0,   164,     0,     0,   170,     0,     0,
> --     176,     0,   561,   106,     0,     0,     0,   484,     0,   488,
> --     489,   474,   473,   475,   476,   478,   479,   487,   471,   491,
> --     472,   485,   477,   480,   517,   558,   441,   442,    91,    92,
> --      90,    61,    60,    67,    66,    73,    72,    79,    78,    85,
> --      84,   302,   303,   301,     0,     0,   499,     0,   105,   146,
> --       0,   144,   315,   239,   353,   354,   240,   238,   247,   246,
> --     213,   214,   215,   216,   217,   218,   219,   220,   221,   212,
> --       0,   282,   289,     0,     0,     0,   225,   185,   184,     0,
> --     189,   198,   197,     0,   202,   384,   385,   386,   379,   380,
> --       0,   376,   370,     0,   295,     0,   125,     0,   372,   122,
> --     139,   141,   128,   130,   137,   136,   159,   160,   161,   158,
> --     157,   498,   498,   498,   498,   498,   517,   517,   498,   492,
> --       0,   498,   346,   528,    95,     0,    93,   592,   167,   166,
> --     173,   172,   179,   178,     0,   492,     0,     0,     0,   547,
> --     548,     0,   545,   248,     0,   481,   482,     0,   230,   506,
> --     507,   504,   503,   501,     0,     0,     0,     0,     0,     0,
> --     109,   119,   111,   112,   113,   117,   114,   118,   147,     0,
> --     150,     0,     0,   284,     0,     0,     0,   291,   287,   223,
> --     187,   200,   383,   382,   387,   387,   317,   296,   367,     0,
> --     124,   126,   328,   328,   328,   523,   524,     0,     0,   527,
> --     493,   494,   519,   554,     0,   329,   330,   338,     0,     0,
> --      97,   101,    99,   100,   102,   107,   494,   549,   550,   551,
> --     544,   546,     0,   250,     0,   492,   232,   270,   266,   115,
> --     116,     0,     0,   110,   148,     0,   283,     0,     0,     0,
> --     290,     0,   381,   389,     0,     0,   326,   321,   322,     0,
> --     318,   319,     0,   520,   521,   522,   315,   315,   495,   593,
> --       0,   332,   333,   334,   335,   336,   337,   346,   339,   341,
> --     342,   343,   344,   340,     0,   103,     0,    98,   593,   249,
> --       0,   252,   460,   494,     0,     0,   108,   286,   285,   293,
> --     294,   292,     0,     0,   352,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,     0,   443,   443,   443,
> --       0,   529,   531,   539,   534,   449,     0,     0,   398,   394,
> --     392,   393,   404,   405,   406,   407,   408,   409,   410,   411,
> --     412,   413,   414,   415,   403,   416,   402,   400,   399,   395,
> --     397,   396,     0,   390,   401,   418,   447,   417,   451,   541,
> --     419,   533,   536,   537,   538,   377,   371,   346,   498,     0,
> --     320,     0,   498,   498,     0,   496,   347,   331,   362,   359,
> --     358,   363,   361,     0,   355,   360,   345,     0,    96,   496,
> --     251,     0,   542,   593,   232,   517,   279,   268,   517,   258,
> --     259,   260,   261,   262,   263,   264,   265,   267,   422,   421,
> --     420,   444,     0,     0,     0,   426,     0,     0,     0,     0,
> --       0,     0,     0,   434,     0,   388,   391,   327,   324,   309,
> --     498,   525,   526,   595,     0,   498,   357,   346,   498,   253,
> --     496,   505,     0,     0,   423,   424,   425,   539,   530,   532,
> --     446,   540,     0,   535,     0,   450,     0,     0,     0,     0,
> --     429,     0,   427,     0,   325,   323,     0,   596,     0,   497,
> --     456,   365,     0,   456,   498,   492,   593,     0,     0,     0,
> --       0,   428,     0,   438,   439,   440,     0,   436,   593,   295,
> --     594,     0,   457,     0,   356,   346,     0,   456,   593,   498,
> --     431,   432,   433,   430,     0,   437,   496,   368,   597,     0,
> --     512,   366,   295,     0,   498,   453,   435,   498,     0,     0,
> --     510,   512,   512,   456,   454,     0,     0,   517,   513,     0,
> --     514,   510,   510,     0,     0,   295,   512,     0,   511,     0,
> --     508,   514,   514,   295,   517,   512,   510,     0,   515,     0,
> --     462,   508,   508,   512,     0,   510,   514,   458,   509,   459,
> --     461,   510,     0,   452,   448,   120,   455
> -+       0,   211,     0,   206,   233,   234,   207,     0,     0,   183,
> -+       0,   180,     0,     0,   196,     0,   193,   379,   379,   317,
> -+     499,   572,   556,   499,     0,   123,     0,     0,     0,     0,
> -+     135,     0,     0,     0,     0,     0,   156,   152,   518,     0,
> -+     499,   592,     0,     0,     0,   165,     0,     0,   171,     0,
> -+       0,   177,     0,   352,   499,   374,   518,   544,     0,     0,
> -+       0,   465,   464,   466,   467,   469,   470,   484,   487,   491,
> -+       0,   468,   471,     0,   560,   557,   554,     0,     0,    88,
> -+       0,     0,    58,     0,     0,    64,     0,     0,    70,     0,
> -+       0,    76,     0,     0,    82,     0,     0,     0,   300,     0,
> -+     305,   503,     0,   501,     0,   145,     0,   149,     0,     0,
> -+       0,     0,   237,     0,     0,   245,     0,     0,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,   210,     0,     0,
> -+     289,   227,   228,     0,   225,   229,   230,   209,     0,   182,
> -+       0,   190,   191,     0,   188,   192,     0,   195,     0,   203,
> -+     204,     0,   201,   205,   384,   499,   499,   309,   553,     0,
> -+       0,     0,     0,   142,     0,   140,   131,     0,   129,     0,
> -+     134,     0,     0,     0,     0,     0,   155,     0,   316,   316,
> -+     316,   316,   316,     0,     0,   316,     0,   517,   519,   316,
> -+     329,     0,     0,     0,   375,     0,   164,     0,     0,   170,
> -+       0,     0,   176,     0,   562,   106,     0,     0,     0,   485,
> -+       0,   489,   490,   475,   474,   476,   477,   479,   480,   488,
> -+     472,   492,   473,   486,   478,   481,   518,   559,   442,   443,
> -+      91,    92,    90,    61,    60,    67,    66,    73,    72,    79,
> -+      78,    85,    84,   303,   304,   302,     0,     0,   500,     0,
> -+     105,   146,     0,   144,   316,   240,   354,   355,   241,   239,
> -+     248,   247,   213,   214,   215,   216,   217,   218,   219,   220,
> -+     221,   222,   212,     0,   283,   290,     0,     0,     0,   226,
> -+     185,   184,     0,   189,   198,   197,     0,   202,   385,   386,
> -+     387,   380,   381,     0,   377,   371,     0,   296,     0,   125,
> -+       0,   373,   122,   139,   141,   128,   130,   137,   136,   159,
> -+     160,   161,   158,   157,   499,   499,   499,   499,   499,   518,
> -+     518,   499,   493,     0,   499,   347,   529,    95,     0,    93,
> -+     593,   167,   166,   173,   172,   179,   178,     0,   493,     0,
> -+       0,     0,   548,   549,     0,   546,   249,     0,   482,   483,
> -+       0,   231,   507,   508,   505,   504,   502,     0,     0,     0,
> -+       0,     0,     0,   109,   119,   111,   112,   113,   117,   114,
> -+     118,   147,     0,   150,     0,     0,   285,     0,     0,     0,
> -+     292,   288,   224,   187,   200,   384,   383,   388,   388,   318,
> -+     297,   368,     0,   124,   126,   329,   329,   329,   524,   525,
> -+       0,     0,   528,   494,   495,   520,   555,     0,   330,   331,
> -+     339,     0,     0,    97,   101,    99,   100,   102,   107,   495,
> -+     550,   551,   552,   545,   547,     0,   251,     0,   493,   233,
> -+     271,   267,   115,   116,     0,     0,   110,   148,     0,   284,
> -+       0,     0,     0,   291,     0,   382,   390,     0,     0,   327,
> -+     322,   323,     0,   319,   320,     0,   521,   522,   523,   316,
> -+     316,   496,   594,     0,   333,   334,   335,   336,   337,   338,
> -+     347,   340,   342,   343,   344,   345,   341,     0,   103,     0,
> -+      98,   594,   250,     0,   253,   461,   495,     0,     0,   108,
> -+     287,   286,   294,   295,   293,     0,     0,   353,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> -+     444,   444,   444,     0,   530,   532,   540,   535,   450,     0,
> -+       0,   399,   395,   393,   394,   405,   406,   407,   408,   409,
> -+     410,   411,   412,   413,   414,   415,   416,   404,   417,   403,
> -+     401,   400,   396,   398,   397,     0,   391,   402,   419,   448,
> -+     418,   452,   542,   420,   534,   537,   538,   539,   378,   372,
> -+     347,   499,     0,   321,     0,   499,   499,     0,   497,   348,
> -+     332,   363,   360,   359,   364,   362,     0,   356,   361,   346,
> -+       0,    96,   497,   252,     0,   543,   594,   233,   518,   280,
> -+     269,   518,   259,   260,   261,   262,   263,   264,   265,   266,
> -+     268,   423,   422,   421,   445,     0,     0,     0,   427,     0,
> -+       0,     0,     0,     0,     0,     0,   435,     0,   389,   392,
> -+     328,   325,   310,   499,   526,   527,   596,     0,   499,   358,
> -+     347,   499,   254,   497,   506,     0,     0,   424,   425,   426,
> -+     540,   531,   533,   447,   541,     0,   536,     0,   451,     0,
> -+       0,     0,     0,   430,     0,   428,     0,   326,   324,     0,
> -+     597,     0,   498,   457,   366,     0,   457,   499,   493,   594,
> -+       0,     0,     0,     0,   429,     0,   439,   440,   441,     0,
> -+     437,   594,   296,   595,     0,   458,     0,   357,   347,     0,
> -+     457,   594,   499,   432,   433,   434,   431,     0,   438,   497,
> -+     369,   598,     0,   513,   367,   296,     0,   499,   454,   436,
> -+     499,     0,     0,   511,   513,   513,   457,   455,     0,     0,
> -+     518,   514,     0,   515,   511,   511,     0,     0,   296,   513,
> -+       0,   512,     0,   509,   515,   515,   296,   518,   513,   511,
> -+       0,   516,     0,   463,   509,   509,   513,     0,   511,   515,
> -+     459,   510,   460,   462,   511,     0,   453,   449,   120,   456
> -+};
> -+
> -+/* YYPGOTO[NTERM-NUM].  */
> -+static const yytype_int16 yypgoto[] =
> -+{
> -+    -840,  -840,   754,  -840,  -840,  -408,  -840,  -840,  -840,   434,
> -+    -840,  -840,  -840,   415,  -840,  -840,  -840,   386,  -840,  -840,
> -+    -840,   384,  -840,  -840,  -840,   411,  -840,  -840,  -840,   427,
> -+    -622,  -840,  -840,  -840,    91,  -840,  -840,  -840,  -840,  -840,
> -+     165,  -840,   143,  -840,  -615,  -840,  -840,  -840,  -840,  -840,
> -+    -840,   345,  -840,  -840,  -840,   340,  -840,  -840,  -840,   350,
> -+    -264,  -840,  -840,  -840,  -261,  -840,  -840,  -840,   363,  -840,
> -+    -840,  -840,   311,  -840,  -840,  -840,   346,  -840,  -840,  -840,
> -+     332,  -840,  -840,  -840,   375,  -840,  -840,   445,  -840,  -840,
> -+    -840,   446,  -840,  -840,   398,  -840,  -840,  -840,  -840,   448,
> -+    -840,  -840,   453,    17,  -276,  -840,  -840,  -840,   455,  -840,
> -+    -840,  -840,  -840,   457,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -513,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -595,
> -+    -840,  -840,  -840,  -593,  -840,  -840,  -840,  -840,  -840,  -840,
> -+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,   102,  -268,
> -+    -840,  -840,    99,  -839,  -840,  -840,  -840,   454,  -840,   -13,
> -+    -840,  -510,  -840,  -840,  -840,  -225,  -840,  -840,    94,  -840,
> -+    -840,  -239,  -790,  -840,  -840,  -653,  -840,   -27,   772,   613,
> -+    -351,  -840,  -840,  -578,  -573,  -840,  -840,  -561,  -840,   835,
> -+    -216,  -840,  -840,   539,  -840,   167,  -840,   170,  -840,    15,
> -+    -840,  -840,  -840,  -116,  -840,  -840,  -118,  -436,  -272,  -840,
> -+    -840,   -48,  -840,  -840,   -52,  -840,  -840,  -788,  -840,    12,
> -+    -840,  -598,  -644,  -837,  -194,  -840,   318,  -840,  -503,  -734,
> -+    -735,  -786,  -342,  -840,   243,  -840,  -840,  -840,  -366,  -840,
> -+     -44,  -840,  -840,    14,  -840,  -840,   230,     0,  -840,   556,
> -+     660,   -10,  -205,  -722,  -840
> - };
> -
> - /* YYDEFGOTO[NTERM-NUM].  */
> - static const yytype_int16 yydefgoto[] =
> - {
> --      -1,     1,     2,     3,    79,    80,    81,   141,   245,   246,
> -+       0,     1,     2,     3,    79,    80,    81,   141,   245,   246,
> -       82,   144,   248,   249,    83,   147,   251,   252,    84,   150,
> -      254,   255,    85,   153,   257,   258,    86,   138,   242,   243,
> --      87,   329,   616,   699,   700,   701,    88,   393,    89,   624,
> --     538,   649,   650,   651,    90,   314,   450,   587,    91,   213,
> --     455,   456,    92,   216,   318,   319,    93,   212,   452,   453,
> --      94,   272,   396,   397,    95,    96,   219,   324,   325,    97,
> --     224,   333,   334,    98,   227,   336,   337,    99,   230,   339,
> --     340,   100,   192,   297,   298,   300,   431,   432,   101,   195,
> --     302,   303,   305,   439,   440,   102,   188,   293,   289,   290,
> --     292,   421,   422,   189,   295,   103,   177,   275,   276,   104,
> --     105,   181,   278,   279,   713,   771,   872,   106,   107,   108,
> --     109,   813,   814,   815,   816,   817,   818,   819,   820,   655,
> --     822,   823,   110,   656,   111,   112,   113,   114,   115,   116,
> --     117,   118,   825,   119,   120,   423,   561,   662,   663,   677,
> --     564,   666,   667,   678,   121,   162,   264,   265,   122,   155,
> --     156,   123,   583,   202,   268,   309,   739,   740,   741,   945,
> --     848,   613,   695,   757,   764,   696,   697,   124,   125,   126,
> --     546,   866,   952,   127,   128,   307,   675,   129,   235,   588,
> --     131,   306,   674,   443,   578,   579,   580,   734,   832,   833,
> --     834,   903,   939,   940,   942,   966,   967,   518,   892,   835,
> --     898,   836,   837,   901,   838,  1005,  1014,   973,   989,   839,
> --     362,   691,   749,   915,   271,   391,   392,   642,  1030,  1010,
> --    1000,  1020,   474,   475,   476,   840,   896,   897,   841,   900,
> --     842,   843,   899,   844,   496,   631,   632,   477,   478,   365,
> --     238,   135,   331,   855,   948
> --};
> --
> --/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
> --   STATE-NUM.  */
> --#define YYPACT_NINF -823
> --static const yytype_int16 yypact[] =
> --{
> --    -823,   143,  -823,  1215,  -823,  -823,    -1,    60,    86,    87,
> --      68,    69,   119,   119,   119,   119,    71,    24,   119,   119,
> --     119,   119,   119,   119,   119,   119,  1503,     8,  -823,  -823,
> --      13,   137,    34,   119,   119,   119,    46,   322,    50,    52,
> --      85,    85,  -823,  -823,  -823,   111,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   364,
> --     154,   296,   217,  1503,  -823,  -823,   497,   270,  -823,  -823,
> --      74,    89,   497,    85,   102,  -823,    63,    65,    67,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,   140,   167,  -823,  -823,  -823,  -823,
> --     311,  -823,  -823,  -823,    94,  -823,   219,   160,  -823,  -823,
> --     207,  -823,  -823,   214,  -823,  -823,   216,  -823,  -823,   221,
> --    -823,  -823,   231,   119,  -823,  -823,   175,  -823,  -823,  -823,
> --    -823,    28,   119,   341,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,    85,   215,  -823,  -823,   309,  -823,  -823,  -823,
> --     243,  -823,  -823,  -823,  -823,  -823,  -823,   295,   242,  -823,
> --     276,   263,   249,  -823,   285,   265,  -823,  -823,    45,  -823,
> --    -823,  -823,   405,  -823,  -823,  -823,   384,  -823,   167,  -823,
> --      75,  -823,   308,   366,  -823,   406,  -823,  -823,   259,   215,
> --     336,   345,   497,   407,  -823,  -823,   408,  -823,  -823,   409,
> --    -823,  -823,   497,   217,  1503,   479,   107,   227,   138,  -823,
> --     393,   394,   313,  -823,   395,   320,  -823,   399,   324,  -823,
> --     400,   326,  -823,   401,   329,  -823,   402,   331,  -823,  -823,
> --    -823,  -823,   403,   410,   333,  -823,  -823,  -823,   119,  -823,
> --     518,  -823,    18,   411,   414,   337,  -823,   433,   340,  -823,
> --     437,   439,   440,   441,   442,   443,   445,   449,   450,   342,
> --    -823,   332,  -823,   276,  -823,  -823,   451,   346,  -823,   306,
> --    -823,   452,   348,  -823,   306,  -823,   390,   390,  -823,   215,
> --    -823,   138,   215,   398,   453,   527,   529,   455,   350,  -823,
> --     457,   462,   463,   464,   352,  -823,  -823,  1276,    85,   215,
> --    -823,   -22,   465,   354,  -823,   466,   356,  -823,   467,   358,
> --    -823,    29,  -823,   215,  -823,  1276,   469,   470,   108,   471,
> --     472,   473,   474,   475,   480,   481,  -823,   -40,   185,   468,
> --     482,   483,   456,   544,  -823,  -823,   287,   534,  -823,   160,
> --     606,  -823,   207,   607,  -823,   214,   608,  -823,   216,   611,
> --    -823,   221,   612,  -823,   231,   613,   542,  -823,    28,  -823,
> --     495,   -21,  -823,   496,   491,   620,   560,   503,   499,   625,
> --     397,  -823,   309,   626,  -823,   243,   627,   628,   322,   397,
> --     397,   397,   397,   631,   555,  -823,   295,   516,    90,  -823,
> --    -823,    38,  -823,  -823,  -823,  -823,   322,  -823,   263,  -823,
> --    -823,    25,  -823,  -823,   322,  -823,   285,  -823,  -823,    35,
> --    -823,  -823,   359,   215,   215,  -823,  -823,   511,   636,   842,
> --     513,  -823,    21,  -823,  -823,    31,  -823,   287,  -823,   406,
> --     638,   639,   642,   643,  -823,   259,   405,   405,   405,   405,
> --     405,   520,   528,   405,   531,   532,  -823,   405,   526,   535,
> --     533,   497,  -823,   322,  -823,   407,   322,  -823,   408,    85,
> --    -823,   409,  -823,  -823,   537,   330,   524,  -823,   497,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   536,  -823,
> --     538,  -823,  -823,  -823,  1276,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,   103,   518,  -823,   283,  -823,  -823,
> --      22,  -823,   405,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --     546,  -823,  -823,   171,   119,   539,  -823,  -823,  -823,   545,
> --    -823,  -823,  -823,   547,  -823,  -823,  -823,  -823,   540,  -823,
> --      85,  -823,  -823,   548,   680,   543,  -823,   203,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,   215,   215,   215,   215,   215,  1276,  1276,   215,   599,
> --    1276,   215,   554,  -823,  -823,   152,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,   496,   599,   119,   119,   119,  -823,
> --    -823,    59,  -823,   683,   556,  -823,  -823,   557,   549,  -823,
> --    -823,  -823,  -823,  -823,   119,   119,   119,   119,   497,    61,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   673,
> --    -823,   553,   362,  -823,   558,   559,   365,  -823,  -823,  -823,
> --    -823,  -823,   359,  -823,   561,   561,   404,  -823,  -823,   564,
> --    -823,  -823,   526,   526,   526,  -823,  -823,   566,   568,  -823,
> --    -823,   585,  -823,  -823,    85,   294,  -823,   258,   119,    57,
> --    -823,  -823,  -823,  -823,  -823,  -823,   585,  -823,  -823,  -823,
> --    -823,  -823,   119,   694,   567,   599,   276,  -823,  -823,  -823,
> --    -823,   688,   569,  -823,  -823,   690,  -823,   546,   692,   693,
> --    -823,   171,  -823,  1089,   572,   573,   577,  -823,  -823,   578,
> --     404,  -823,   497,  -823,  -823,  -823,   405,   405,  -823,   604,
> --     581,  -823,  -823,  -823,  -823,  -823,  -823,   554,  -823,  -823,
> --    -823,  -823,  -823,  -823,   732,  -823,   580,  -823,   604,  -823,
> --     119,   717,  -823,   585,   579,   588,  -823,  -823,  -823,  -823,
> --    -823,  -823,   119,   119,   589,   119,   119,   119,   119,   119,
> --     119,   119,   119,   119,   119,   119,   119,   672,   672,   672,
> --     575,  -823,  -823,   582,  -823,  -823,   593,   712,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,   980,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,   554,   215,   591,
> --    -823,   367,   215,   215,   595,   596,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,   598,   -31,  -823,  -823,   600,  -823,   596,
> --    -823,   119,  -823,   604,   276,  1276,  -823,  -823,  1276,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,   584,   587,   592,  -823,  1333,  1333,   594,  1447,
> --    1390,   716,   235,   602,   610,  -823,  -823,  -823,   609,  -823,
> --     215,  -823,  -823,    85,   657,   215,  -823,   298,   215,  -823,
> --     596,  -823,   614,   618,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,   121,  -823,   589,  -823,   630,   632,   633,   372,
> --    -823,   306,  -823,   637,  -823,  -823,   634,  -823,   376,  -823,
> --     616,   294,   379,   616,   215,   599,   604,   641,   731,   287,
> --     755,  -823,   235,  -823,  -823,  -823,    42,  -823,   604,   680,
> --    -823,    85,  -823,   640,  -823,   554,   645,   616,   604,   215,
> --    -823,  -823,  -823,  -823,   646,  -823,   596,  -823,  -823,   497,
> --     742,   294,   680,   664,   215,   624,  -823,   215,   644,   119,
> --     747,   742,   742,   616,  -823,   665,   669,  1276,  -823,   119,
> --     763,   747,   747,   670,   649,   680,   742,   676,  -823,   119,
> --     783,   763,   763,   680,  1276,   742,   747,   660,  -823,   119,
> --    -823,   783,   783,   742,   681,   747,   763,  -823,  -823,  -823,
> --    -823,   747,   662,  -823,  -823,  -823,  -823
> -+      87,   330,   619,   702,   703,   704,    88,   394,    89,   627,
> -+     540,   652,   653,   654,    90,   315,   452,   590,    91,   213,
> -+     457,   458,    92,   216,   319,   320,    93,   212,   454,   455,
> -+      94,   272,   397,   398,    95,    96,   219,   325,   326,    97,
> -+     224,   334,   335,    98,   227,   337,   338,    99,   230,   340,
> -+     341,   100,   192,   298,   299,   301,   433,   434,   101,   195,
> -+     303,   304,   306,   441,   442,   102,   188,   294,   290,   291,
> -+     293,   423,   424,   189,   296,   103,   177,   275,   276,   104,
> -+     105,   181,   278,   279,   716,   774,   875,   106,   107,   108,
> -+     109,   816,   817,   818,   819,   820,   821,   822,   823,   658,
> -+     825,   826,   110,   659,   111,   112,   113,   114,   115,   116,
> -+     117,   118,   828,   119,   120,   425,   564,   665,   666,   680,
> -+     567,   669,   670,   681,   121,   162,   264,   265,   122,   155,
> -+     156,   123,   586,   202,   268,   310,   742,   743,   744,   948,
> -+     851,   616,   698,   760,   767,   699,   700,   124,   125,   126,
> -+     548,   869,   955,   127,   128,   308,   678,   129,   235,   591,
> -+     131,   307,   677,   445,   581,   582,   583,   737,   835,   836,
> -+     837,   906,   942,   943,   945,   969,   970,   520,   895,   838,
> -+     901,   839,   840,   904,   841,  1008,  1017,   976,   992,   842,
> -+     363,   694,   752,   918,   271,   392,   393,   645,  1033,  1013,
> -+    1003,  1023,   476,   477,   478,   843,   899,   900,   844,   903,
> -+     845,   846,   902,   847,   498,   634,   635,   479,   480,   366,
> -+     238,   135,   332,   858,   951
> - };
> -
> --/* YYPGOTO[NTERM-NUM].  */
> --static const yytype_int16 yypgoto[] =
> --{
> --    -823,  -823,   834,  -823,  -823,  -411,  -823,  -823,  -823,   484,
> --    -823,  -823,  -823,   461,  -823,  -823,  -823,   476,  -823,  -823,
> --    -823,   460,  -823,  -823,  -823,   458,  -823,  -823,  -823,   477,
> --    -638,  -823,  -823,  -823,   144,  -823,  -823,  -823,  -823,  -823,
> --     220,  -823,   196,  -823,  -629,  -823,  -823,  -823,  -823,  -823,
> --    -823,   396,  -823,  -823,  -823,   412,  -823,  -823,  -823,   413,
> --    -265,  -823,  -823,  -823,  -264,  -823,  -823,  -823,   387,  -823,
> --    -823,  -823,   368,  -823,  -823,  -823,   369,  -823,  -823,  -823,
> --     370,  -823,  -823,  -823,   427,  -823,  -823,   429,  -823,  -823,
> --    -823,   426,  -823,  -823,   424,  -823,  -823,  -823,  -823,   448,
> --    -823,  -823,   446,     6,  -263,  -823,  -823,  -823,   478,  -823,
> --    -823,  -823,  -823,   485,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -508,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -627,
> --    -823,  -823,  -823,  -603,  -823,  -823,  -823,  -823,  -823,  -823,
> --    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   139,  -268,
> --    -823,  -823,   141,  -822,  -823,  -823,  -823,   489,  -823,   -13,
> --    -823,  -505,  -823,  -823,  -823,  -223,  -823,  -823,   128,  -823,
> --    -823,  -212,  -786,  -823,  -823,  -647,  -823,   -27,   807,   648,
> --    -349,  -823,  -823,  -598,  -579,  -823,  -823,  -574,  -823,   867,
> --    -216,  -823,  -823,   571,  -823,   201,  -823,   204,  -823,    51,
> --    -823,  -823,  -823,   -80,  -823,  -823,   -82,  -432,  -260,  -823,
> --    -823,   -11,  -823,  -823,   -16,  -823,  -823,  -660,  -823,    12,
> --    -823,  -597,  -577,  -796,  -195,  -823,   357,  -823,  -496,  -680,
> --    -696,  -765,  -341,  -823,   279,  -823,  -823,  -823,  -355,  -823,
> --      -9,  -823,  -823,    14,  -823,  -823,   262,     0,  -823,   583,
> --     686,   -10,  -214,  -704,  -823
> --};
> --
> --/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
> --   positive, shift that token.  If negative, reduce the rule which
> --   number is the opposite.  If zero, do what YYDEFACT says.
> --   If YYTABLE_NINF, syntax error.  */
> --#define YYTABLE_NINF -563
> -+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
> -+   positive, shift that token.  If negative, reduce the rule whose
> -+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
> - static const yytype_int16 yytable[] =
> - {
> --     157,   158,   159,   134,   494,   164,   165,   166,   167,   168,
> --     169,   170,   171,   197,   198,   132,   173,   133,   341,   344,
> --     182,   183,   184,   424,   326,   594,   419,   420,   706,   654,
> --     425,   433,   657,   136,   429,   430,   441,   418,   586,   437,
> --     438,   346,   417,   190,   193,   196,   221,   418,   175,   398,
> --     418,   231,   394,   209,   418,   451,   658,    27,    28,   163,
> --     553,   554,   555,   556,   869,   454,   210,    27,    28,   179,
> --      27,    28,   220,   918,    27,    28,   626,   627,   628,  -562,
> --     185,   186,   225,   228,   185,   186,   185,   186,   644,    27,
> --      28,    27,    28,    27,    28,   808,   139,   185,   186,   185,
> --     186,    29,   148,   151,   809,   160,   821,   704,   214,   312,
> --     857,   645,   646,   647,   445,   507,    35,   447,   773,    29,
> --      35,  -560,   142,   145,   954,   217,   562,   508,   236,   768,
> --     824,   951,   481,   535,   480,   828,   232,   638,   186,   639,
> --     259,   654,   536,     4,   657,   269,   482,   987,   493,   266,
> --     154,   137,    59,   424,   829,   957,   419,   420,   648,   830,
> --     174,    62,   262,   433,  -562,   176,   429,   430,   263,   920,
> --    1001,   441,   178,   637,   437,   438,   681,   395,   590,    62,
> --     698,   659,   569,   481,    27,    28,   180,   199,   592,   991,
> --     997,   704,   573,  1025,   808,   565,   873,   492,   187,   984,
> --     907,  1033,   191,   809,   194,   821,   260,  -562,   261,  -562,
> --     640,    35,   140,   237,   766,   223,   710,   226,   722,   229,
> --     149,   152,   330,   161,   343,   812,   215,   313,   827,   824,
> --     629,   630,   330,   203,   828,    27,    28,    29,   143,   146,
> --     237,   218,   563,   601,   602,   603,   604,   605,   581,   582,
> --     608,    29,   979,   829,   611,   389,  1031,  1032,   830,   345,
> --     498,   233,    35,   499,   986,   687,   688,    40,    41,   222,
> --     270,  1044,   652,   653,   994,   698,    42,    43,    44,    45,
> -+     157,   158,   159,   134,   496,   164,   165,   166,   167,   168,
> -+     169,   170,   171,   197,   198,   132,   173,   133,   427,   345,
> -+     182,   183,   184,   597,   426,   327,   657,   342,   421,   660,
> -+     709,   422,   435,   453,   139,   921,   431,   443,   395,   432,
> -+     419,   439,   347,   589,   440,   661,   221,   399,   420,   872,
> -+     420,   231,  -563,   209,   190,   193,   196,   420,   175,   555,
> -+     556,   557,   558,   559,   420,   771,   210,   456,    27,    28,
> -+      27,    28,   220,   629,   630,   631,   136,    27,    28,    27,
> -+      28,   179,   185,   186,    27,    28,   957,    29,    27,    28,
> -+     142,   145,   148,   225,   228,   217,   185,   186,   185,   186,
> -+     185,   186,   185,   186,   346,   707,    35,   860,   151,   160,
> -+     214,   313,   240,   236,   811,   270,   447,   565,    29,   449,
> -+     776,   812,   511,  -561,   960,     4,   241,   641,   186,   642,
> -+     954,   154,   876,   990,   483,   512,   482,  -563,   232,   657,
> -+     259,   824,   660,   827,   537,   269,   483,    62,   484,   266,
> -+     495,   140,  1000,   538,   923,   426,  1004,   593,   831,   421,
> -+     494,   647,   422,   832,   396,   435,    27,    28,   979,   431,
> -+     701,   662,   432,   443,   640,   833,   176,   439,    62,  1028,
> -+     440,  -563,   684,  -563,   648,   649,   650,  1036,   994,   707,
> -+     509,   595,   996,    35,   568,   137,   572,   910,   237,   180,
> -+     643,   187,   510,   576,   174,   769,   229,   143,   146,   237,
> -+     987,   149,   218,   811,   713,   191,   163,   194,  1016,   223,
> -+     812,   226,   331,   815,   344,    59,   830,   152,   161,   215,
> -+     314,   651,   331,   632,   566,   262,   633,   982,  1034,  1035,
> -+     824,   263,   827,   604,   605,   606,   607,   608,   419,   989,
> -+     611,   584,   585,  1047,   614,   390,   420,   831,   500,   997,
> -+     667,   501,   832,   178,    27,    28,   199,   690,   691,  1014,
> -+    1015,   668,   185,   186,   833,   655,    27,    28,   656,   420,
> -+    1024,  1025,   200,   201,  1029,    27,    28,    29,   260,   939,
> -+     261,    35,   725,  1038,   940,  1039,   273,   274,   941,    27,
> -+      28,  1044,   481,   203,  1046,   629,   630,   631,   321,   364,
> -+    1048,   365,    35,    29,   322,   323,   324,    40,    41,   663,
> -+      27,    28,   815,   369,   370,   830,    42,    43,    44,    45,
> -       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
> --      56,    57,    58,   976,    59,    60,    61,    62,   240,    63,
> --     363,   479,   364,   664,   211,  1011,  1012,   232,    64,    65,
> --     644,   241,    66,    67,   665,    27,    28,   993,   418,   660,
> --    1026,   516,    72,   517,   812,    73,   239,   827,    74,  1035,
> --      75,  1021,  1022,   645,   646,   647,   417,  1041,    27,    28,
> --     509,   234,    35,  1013,   418,   244,  1036,   626,   627,   628,
> --     702,   703,   247,   510,   250,  1043,   185,   186,   978,   253,
> --     680,  1045,    27,    28,    27,    28,   629,   630,   936,   256,
> --     204,   205,   206,   937,    59,   207,   267,   938,   270,   347,
> --     648,   277,   348,   294,   652,   653,   349,   350,   351,   352,
> --     353,   354,   355,   356,   357,   358,   320,   359,   291,   360,
> --     361,   296,   321,   322,   323,   299,   682,   683,   684,   685,
> --     686,   737,   738,   689,   552,   865,   693,   758,   759,   760,
> --     761,   304,   762,   301,   763,   575,   576,   577,   200,   201,
> --     280,   281,   567,   282,   702,   703,    27,    28,   736,   308,
> --     571,   283,   284,   285,   286,   287,   288,   273,   274,   134,
> --     694,  -364,  -364,   774,   751,   752,   753,   754,   755,   756,
> --     310,   132,   622,   133,   315,   826,   368,   369,   810,   811,
> --     743,   744,   745,   371,   372,   737,   738,   374,   375,   377,
> --     378,   617,   380,   381,   383,   384,   387,   388,   327,   618,
> --     401,   402,   620,   404,   405,   415,   416,   328,   634,   427,
> --     428,   435,   436,   458,   459,   464,   465,   484,   485,   487,
> --     488,   490,   491,   544,   545,   726,   727,   831,   730,   731,
> --     910,   481,   316,   852,   853,   961,   962,   981,   851,   970,
> --     971,    29,   974,   975,   922,  1039,  1040,   923,   893,   894,
> --     641,   928,   929,    40,   317,   332,   335,   338,   366,   367,
> --     370,   668,   390,   673,   373,   376,   379,   382,   385,   442,
> --     448,   451,   172,   454,   826,   386,   399,   810,   811,   400,
> --      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
> --      52,    53,    54,    55,    56,    57,    58,   134,   403,    60,
> --      61,    62,   406,    63,   407,   408,   409,   410,   411,   132,
> --     412,   133,    64,    65,   413,   414,   426,   434,   514,   449,
> --     457,   921,   460,   707,   708,   709,   831,   461,   462,   463,
> --     483,   486,   489,   497,    75,   495,   500,   501,   502,   503,
> --     504,   717,   718,   719,   720,   505,   506,   512,   513,   511,
> --     515,   519,   521,   523,   525,   527,   529,   531,   721,   532,
> --     534,  -316,   537,   908,   539,   540,   541,   911,   912,   542,
> --     543,   548,   558,   550,   551,   557,  1017,   750,   560,   584,
> --     585,   589,   606,   965,   596,   597,   963,   964,   598,   599,
> --     607,   612,   633,  1034,   609,   765,   610,   661,   614,   615,
> --     625,   635,   418,   636,   672,   690,   679,   669,   965,   769,
> --     712,   963,   964,   670,   676,   671,   694,   724,   725,   714,
> --     715,   748,   770,   728,   729,   946,   742,   733,   716,   746,
> --     950,   747,   775,   953,   854,   772,   777,   776,   779,   780,
> --     845,   846,   847,   134,   856,   849,   871,   864,   868,   874,
> --     875,   878,   330,   891,   895,   902,   904,   913,  -445,   909,
> --     934,   914,   917,   924,   867,   916,   925,   870,   941,   977,
> --     807,   926,   943,   944,   949,   980,    29,   955,   858,   876,
> --     877,   956,   879,   880,   881,   882,   883,   884,   885,   886,
> --     887,   888,   889,   890,   995,   958,   972,   959,   960,   982,
> --     968,   999,   969,   345,  1004,  1009,  1007,   172,   990,  1003,
> --    1019,  1024,  1006,   992,   996,    42,    43,    44,    45,    46,
> --      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
> --      57,    58,  1002,  1015,    60,    61,    62,  1016,  1023,  1027,
> --    1029,  1037,   134,  1046,  1042,     5,   524,    64,    65,   859,
> --     860,   528,   530,   767,   705,   723,   520,   861,   544,   545,
> --     862,   593,   600,   619,   526,   568,   522,   621,   919,    75,
> --     570,   623,   572,   574,   559,   591,   778,   566,   850,   208,
> --     130,   595,   781,   732,    27,    28,    29,   533,   444,   735,
> --     547,   342,   983,   906,   985,   935,   947,   930,   863,   692,
> --     549,   933,   643,   711,   446,   311,   134,   134,     0,   932,
> --     134,    35,     0,     0,     0,     0,    40,    41,     0,     0,
> --       0,   931,     0,     0,     0,    42,    43,    44,    45,    46,
> -+      56,    57,    58,   211,    59,    60,    61,    62,   518,    63,
> -+     519,   204,   205,   206,   705,   701,   207,   706,    64,    65,
> -+     981,   647,    66,    67,   372,   373,    27,    28,   375,   376,
> -+     632,   222,    72,   633,   232,    73,   378,   379,    74,   233,
> -+      75,   578,   579,   580,   648,   649,   650,   348,   655,   234,
> -+     349,   656,   244,    35,   350,   351,   352,   353,   354,   355,
> -+     356,   357,   358,   359,   239,   360,   247,   361,   362,   250,
> -+     685,   686,   687,   688,   689,   740,   868,   692,   741,   253,
> -+     696,    27,    28,   739,   256,    59,   554,   697,  -365,  -365,
> -+     267,   651,   761,   762,   763,   764,   277,   765,   705,   766,
> -+     270,   706,   295,   777,   292,   570,   746,   747,   748,   381,
> -+     382,   134,   309,   574,   754,   755,   756,   757,   758,   759,
> -+     384,   385,   297,   132,   625,   133,   388,   389,   829,   302,
> -+     402,   403,   813,   280,   281,   814,   282,   405,   406,   740,
> -+     417,   418,   741,   620,   283,   284,   285,   286,   287,   288,
> -+     289,   429,   430,   437,   438,   460,   461,   466,   467,   300,
> -+     637,   305,   621,   486,   487,   623,   489,   490,   492,   493,
> -+     546,   547,   729,   730,   733,   734,   913,   483,   964,   965,
> -+     834,   973,   974,   311,   855,   856,   984,   977,   978,   896,
> -+     897,  1042,  1043,   931,   932,   316,   925,   317,   318,   926,
> -+     854,   328,   333,   329,   336,   339,    40,   367,   368,   371,
> -+     391,   444,   374,   644,   671,   377,   676,   380,   383,   386,
> -+     450,   387,   453,   456,   400,   401,   404,   829,   407,   408,
> -+     409,   813,   410,   411,   814,   412,   413,   414,   415,   416,
> -+     428,   436,   517,   451,   459,   462,   463,   464,   465,   485,
> -+     134,   488,   491,   499,   497,   521,   502,   503,   504,   505,
> -+     506,   924,   132,   523,   133,   507,   508,   514,   515,   516,
> -+     513,   525,   527,   529,   531,   533,   710,   711,   712,   834,
> -+     534,   536,  -317,   539,   541,   542,   543,   545,   544,   550,
> -+     561,   552,   553,   560,   720,   721,   722,   723,   563,   587,
> -+     588,   599,   592,   600,   601,   602,   609,   610,   615,   612,
> -+     617,   724,   613,   628,   420,   618,   664,   911,   638,   636,
> -+     639,   914,   915,   675,   672,   673,   674,   679,  1020,   693,
> -+     753,   682,   697,   715,   717,   718,   968,   727,   728,   719,
> -+     966,   731,   732,   967,   736,  1037,   745,   751,   768,   749,
> -+     750,   773,   778,   775,   850,   780,   779,   782,   783,   848,
> -+     849,   968,   772,   852,   857,   966,   859,   871,   967,   874,
> -+     877,   878,   881,   898,  -446,   894,   905,   907,   916,   949,
> -+     917,   912,   920,   927,   953,   928,   919,   956,   937,   944,
> -+     929,   946,   947,   810,   952,   983,   134,   958,   961,   959,
> -+     867,   975,   962,   963,   346,   331,   985,   971,   972,  1002,
> -+    1012,  1010,  1022,  1032,  1027,     5,   993,   870,  1030,   995,
> -+     873,   999,  1005,   980,  1045,   528,   530,    27,    28,    29,
> -+    1018,  1019,   879,   880,  1026,   882,   883,   884,   885,   886,
> -+     887,   888,   889,   890,   891,   892,   893,  1007,   998,  1040,
> -+    1049,   526,   708,   770,    35,   726,   532,   522,   622,    40,
> -+      41,   598,   596,  1006,   594,   571,  1009,   524,    42,    43,
> -+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
> -+      54,    55,    56,    57,    58,   626,    59,    60,    61,    62,
> -+     603,    63,   781,   784,   208,   134,   624,   853,   130,   577,
> -+      64,    65,   735,   535,    66,    67,   343,   446,   738,   986,
> -+     909,   988,   938,   933,    72,   646,   695,    73,   549,   936,
> -+      74,   922,    75,   551,   714,     0,   562,     0,   448,   312,
> -+       0,     0,     0,     0,     0,     0,   569,    29,   573,   861,
> -+       0,     0,     0,     0,   575,     0,     0,     0,     0,   950,
> -+       0,     0,     0,   683,     0,     0,     0,     0,     0,   134,
> -+     134,     0,   935,   134,     0,     0,     0,     0,   172,     0,
> -+       0,     0,     0,     0,   934,     0,    42,    43,    44,    45,
> -+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
> -+      56,    57,    58,     0,     0,    60,    61,    62,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,   991,    64,    65,
> -+     862,   863,     0,     0,     0,     0,     0,     0,   864,   546,
> -+     547,   865,     0,     0,     0,     0,     0,     0,     0,     0,
> -+      75,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1011,
> -+       0,     0,  1001,     0,   785,   420,     0,     0,     0,  1021,
> -+     866,     0,     0,     0,     0,     0,   786,     0,     0,  1031,
> -+     647,     0,     0,     0,     0,    27,    28,   787,     0,  1041,
> -+       0,   788,   789,   790,   791,   792,   793,   794,   795,   796,
> -+       0,     0,     0,   648,   797,   798,   799,     0,     0,     0,
> -+       0,     0,    35,     0,     0,     0,     0,    40,    41,   800,
> -+     801,   802,   803,   804,     0,   805,    42,    43,    44,    45,
> -+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
> -+      56,    57,    58,   806,    59,    60,    61,    62,     0,    63,
> -+     807,     0,     0,     0,     0,     0,     0,     0,    64,    65,
> -+       0,     0,    66,    67,     0,     0,     0,     0,     0,     0,
> -+       0,     0,    72,   785,   420,    73,     0,   808,    74,     0,
> -+      75,     0,     0,   809,     0,   786,     0,     0,     0,   647,
> -+       0,     0,     0,     0,    27,    28,   787,     0,     0,     0,
> -+     788,   789,   790,   791,   792,   793,   794,   795,   796,     0,
> -+       0,   908,   648,   797,   798,   799,     0,     0,     0,     0,
> -+     810,    35,     0,     0,     0,     0,    40,    41,   800,   801,
> -+     802,   803,   804,     0,   805,    42,    43,    44,    45,    46,
> -       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
> --      57,    58,     0,    59,    60,    61,    62,     0,    63,     0,
> --       0,     0,     0,     0,   988,     0,     0,    64,    65,     0,
> -+      57,    58,   806,    59,    60,    61,    62,     0,    63,   807,
> -+       0,     0,     0,     0,     0,     0,     0,    64,    65,     0,
> -        0,    66,    67,     0,     0,     0,     0,     0,     0,     0,
> --       0,    72,     0,     0,    73,     0,     0,    74,     0,    75,
> -+       0,    72,     0,     0,    73,     0,   808,    74,     0,    75,
> -+       0,     6,   809,     7,     8,     9,    10,    11,    12,    13,
> -+       0,    14,    15,    16,    17,     0,     0,     0,    18,    19,
> -+      20,     0,    21,    22,    23,     0,    24,    25,    26,     0,
> -+      27,    28,    29,     0,     0,     0,     0,     0,     0,   810,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,  1008,     0,     0,   998,
> --       0,   782,   418,     0,     0,     0,  1018,     0,     0,     0,
> --       0,     0,     0,   783,     0,     0,  1028,   644,     0,     0,
> --       0,     0,    27,    28,   784,     0,  1038,     0,   785,   786,
> --     787,   788,   789,   790,   791,   792,   793,     0,     0,     0,
> --     645,   794,   795,   796,     0,     0,     0,     0,     0,    35,
> --       0,     0,     0,     0,    40,    41,   797,   798,   799,   800,
> --     801,     0,   802,    42,    43,    44,    45,    46,    47,    48,
> --      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
> --     803,    59,    60,    61,    62,     0,    63,   804,     0,     0,
> --       0,     0,     0,     0,     0,    64,    65,     0,     0,    66,
> --      67,     0,     0,     0,     0,     0,     0,     0,     0,    72,
> --     782,   418,    73,     0,   805,    74,     0,    75,     0,     0,
> --     806,     0,   783,     0,     0,     0,   644,     0,     0,     0,
> --       0,    27,    28,   784,     0,     0,     0,   785,   786,   787,
> --     788,   789,   790,   791,   792,   793,     0,   905,     0,   645,
> --     794,   795,   796,     0,     0,     0,   807,     0,    35,     0,
> --       0,     0,     0,    40,    41,   797,   798,   799,   800,   801,
> --       0,   802,    42,    43,    44,    45,    46,    47,    48,    49,
> --      50,    51,    52,    53,    54,    55,    56,    57,    58,   803,
> --      59,    60,    61,    62,     0,    63,   804,     0,     0,     0,
> --       0,     0,     0,     0,    64,    65,     0,     0,    66,    67,
> --       0,     0,     0,     0,     0,     0,     0,     0,    72,     0,
> --       0,    73,     0,   805,    74,     0,    75,     0,     6,   806,
> --       7,     8,     9,    10,    11,    12,    13,     0,    14,    15,
> --      16,    17,     0,     0,     0,    18,    19,    20,     0,    21,
> --      22,    23,     0,    24,    25,    26,     0,    27,    28,    29,
> --       0,     0,     0,     0,     0,   807,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
> --      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
> --      41,     0,     0,     0,     0,     0,     0,     0,    42,    43,
> --      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
> --      54,    55,    56,    57,    58,     0,    59,    60,    61,    62,
> --      29,    63,     0,     0,     0,     0,     0,     0,     0,     0,
> --      64,    65,     0,     0,    66,    67,    68,    69,    70,    71,
> --       0,     0,     0,     0,    72,     0,     0,    73,     0,     0,
> --      74,   172,    75,    76,    77,     0,    78,     0,     0,    42,
> -+       0,     0,    30,    31,    32,    33,    34,    35,    36,    37,
> -+      38,    39,    40,    41,     0,     0,     0,     0,     0,     0,
> -+       0,    42,    43,    44,    45,    46,    47,    48,    49,    50,
> -+      51,    52,    53,    54,    55,    56,    57,    58,     0,    59,
> -+      60,    61,    62,    29,    63,     0,     0,     0,     0,     0,
> -+       0,     0,     0,    64,    65,     0,     0,    66,    67,    68,
> -+      69,    70,    71,     0,     0,     0,     0,    72,     0,     0,
> -+      73,     0,     0,    74,   172,    75,    76,    77,     0,    78,
> -+       0,     0,    42,    43,    44,    45,    46,    47,    48,    49,
> -+      50,    51,    52,    53,    54,    55,    56,    57,    58,     0,
> -+      29,    60,    61,    62,     0,    63,     0,   468,   469,   470,
> -+     471,   472,   473,   474,    64,    65,     0,     0,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> -+     475,   172,     0,     0,     0,     0,    75,     0,     0,    42,
> -       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
> --      53,    54,    55,    56,    57,    58,     0,    29,    60,    61,
> --      62,     0,    63,     0,   466,   467,   468,   469,   470,   471,
> --     472,    64,    65,     0,     0,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,     0,   473,   172,     0,
> -+      53,    54,    55,    56,    57,    58,   930,    29,    60,    61,
> -+      62,     0,    63,   807,     0,     0,     0,     0,     0,     0,
> -+       0,    64,    65,     0,     0,     0,     0,     0,     0,     0,
> -+       0,     0,     0,     0,     0,    72,     0,     0,   172,     0,
> -        0,     0,     0,    75,     0,     0,    42,    43,    44,    45,
> -       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
> --      56,    57,    58,   927,    29,    60,    61,    62,     0,    63,
> --     804,     0,     0,     0,     0,     0,     0,     0,    64,    65,
> -+      56,    57,    58,   930,    29,    60,    61,    62,     0,    63,
> -+       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> -        0,     0,    72,     0,     0,   172,     0,     0,     0,     0,
> -       75,     0,     0,    42,    43,    44,    45,    46,    47,    48,
> -       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
> --     927,    29,    60,    61,    62,     0,    63,     0,     0,     0,
> -+      29,     0,    60,    61,    62,     0,    63,     0,     0,     0,
> -        0,     0,     0,     0,     0,    64,    65,     0,     0,     0,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
> --       0,     0,   172,     0,     0,     0,     0,    75,     0,     0,
> --      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
> --      52,    53,    54,    55,    56,    57,    58,    29,     0,    60,
> --      61,    62,     0,    63,     0,     0,     0,     0,     0,     0,
> --       0,     0,    64,    65,     0,     0,     0,     0,     0,     0,
> --       0,     0,     0,     0,     0,     0,    72,     0,   172,     0,
> --       0,     0,     0,     0,    75,     0,    42,    43,    44,    45,
> --      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
> --      56,    57,    58,     0,     0,    60,    61,    62,     0,     0,
> --       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
> --       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> -+       0,   172,     0,     0,     0,     0,    29,    75,     0,    42,
> -+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
> -+      53,    54,    55,    56,    57,    58,     0,     0,    60,    61,
> -+      62,     0,    63,     0,     0,     0,     0,   172,     0,     0,
> -+       0,    64,    65,     0,     0,    42,    43,    44,    45,    46,
> -+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
> -+      57,    58,     0,    75,    60,    61,    62,     0,     0,     0,
> -+       0,     0,     0,     0,     0,     0,     0,    64,    65,     0,
> -        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
> --      75
> -+       0,     0,     0,     0,     0,     0,     0,     0,     0,    75
> - };
> -
> - static const yytype_int16 yycheck[] =
> - {
> --      13,    14,    15,     3,   345,    18,    19,    20,    21,    22,
> --      23,    24,    25,    40,    41,     3,    26,     3,   232,   235,
> --      33,    34,    35,   291,   219,   457,   291,   291,   625,   537,
> --     293,   299,   537,    34,   299,   299,   304,    12,   449,   304,
> --     304,   236,     4,    37,    38,    39,    73,    12,    35,   272,
> --      12,    78,    34,    63,    12,    34,    34,    32,    33,    35,
> --     409,   410,   411,   412,   768,    34,    66,    32,    33,    35,
> --      32,    33,    72,   869,    32,    33,    17,    18,    19,    34,
> --      34,    35,    76,    77,    34,    35,    34,    35,    27,    32,
> --      33,    32,    33,    32,    33,   733,    36,    34,    35,    34,
> --      35,    34,    34,    34,   733,    34,   733,   615,    34,    34,
> --     757,    50,    51,    52,   309,   155,    59,   312,   715,    34,
> --      59,   152,    36,    36,   920,    36,    36,   167,    34,   706,
> --     733,   917,   154,   154,   329,   733,   167,    34,    35,    36,
> --     153,   649,   163,     0,   649,   172,   168,   969,   343,   162,
> --      31,   152,    91,   421,   733,    34,   421,   421,    97,   733,
> --     152,    94,   134,   431,   119,   152,   431,   431,   140,   873,
> --     992,   439,    35,   514,   439,   439,   587,   159,   157,    94,
> --     123,   159,   157,   154,    32,    33,   152,    76,   157,   975,
> --     986,   699,   157,  1015,   832,   157,   773,   168,   152,   157,
> --     847,  1023,   152,   832,   152,   832,    31,   162,    33,   164,
> --     107,    59,   152,   119,   157,   152,   157,   152,   157,   152,
> --     152,   152,   222,   152,   234,   733,   152,   152,   733,   832,
> --     495,   495,   232,    79,   832,    32,    33,    34,   152,   152,
> --     119,   152,   152,   466,   467,   468,   469,   470,   443,   444,
> --     473,    34,   956,   832,   477,   268,  1021,  1022,   832,   152,
> --     152,    94,    59,   155,   968,   606,   607,    64,    65,   167,
> --     163,  1036,   537,   537,   978,   123,    73,    74,    75,    76,
> -+      13,    14,    15,     3,   346,    18,    19,    20,    21,    22,
> -+      23,    24,    25,    40,    41,     3,    26,     3,   294,   235,
> -+      33,    34,    35,   459,   292,   219,   539,   232,   292,   539,
> -+     628,   292,   300,    34,    36,   872,   300,   305,    34,   300,
> -+       4,   305,   236,   451,   305,    34,    73,   272,    12,   771,
> -+      12,    78,    34,    63,    37,    38,    39,    12,    35,   410,
> -+     411,   412,   413,   414,    12,   709,    66,    34,    32,    33,
> -+      32,    33,    72,    17,    18,    19,    34,    32,    33,    32,
> -+      33,    35,    34,    35,    32,    33,   923,    34,    32,    33,
> -+      36,    36,    34,    76,    77,    36,    34,    35,    34,    35,
> -+      34,    35,    34,    35,   153,   618,    59,   760,    34,    34,
> -+      34,    34,   138,    34,   736,   164,   310,    36,    34,   313,
> -+     718,   736,   156,   153,    34,     0,   152,    34,    35,    36,
> -+     920,    31,   776,   972,   155,   169,   330,   119,   168,   652,
> -+     153,   736,   652,   736,   155,   172,   155,    94,   169,   162,
> -+     344,   153,   989,   164,   876,   423,   995,   158,   736,   423,
> -+     169,    27,   423,   736,   160,   433,    32,    33,   956,   433,
> -+     123,   160,   433,   441,   516,   736,   153,   441,    94,  1018,
> -+     441,   163,   590,   165,    50,    51,    52,  1026,   978,   702,
> -+     156,   158,   980,    59,   158,   153,   158,   850,   119,   153,
> -+     107,   153,   168,   158,   153,   158,   153,   153,   153,   119,
> -+     158,   153,   153,   835,   158,   153,    35,   153,  1006,   153,
> -+     835,   153,   222,   736,   234,    91,   736,   153,   153,   153,
> -+     153,    97,   232,   497,   153,   134,   497,   959,  1024,  1025,
> -+     835,   140,   835,   468,   469,   470,   471,   472,     4,   971,
> -+     475,   445,   446,  1039,   479,   268,    12,   835,   153,   981,
> -+     132,   156,   835,    35,    32,    33,    76,   609,   610,  1004,
> -+    1005,   143,    34,    35,   835,   539,    32,    33,   539,    12,
> -+    1014,  1015,    64,    65,  1019,    32,    33,    34,    31,   133,
> -+      33,    59,   158,  1028,   138,  1029,   138,   139,   142,    32,
> -+      33,  1036,   329,    79,  1038,    17,    18,    19,   137,   163,
> -+    1044,   165,    59,    34,   143,   144,   145,    64,    65,   544,
> -+      32,    33,   835,   154,   155,   835,    73,    74,    75,    76,
> -       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
> --      87,    88,    89,   953,    91,    92,    93,    94,   138,    96,
> --     162,   328,   164,   132,    34,  1001,  1002,   167,   105,   106,
> --      27,   151,   109,   110,   143,    32,    33,   977,    12,   542,
> --    1016,    34,   119,    36,   832,   122,   107,   832,   125,  1025,
> --     127,  1011,  1012,    50,    51,    52,     4,  1033,    32,    33,
> --     155,    30,    59,  1003,    12,   138,  1026,    17,    18,    19,
> --     615,   615,   138,   168,   138,  1035,    34,    35,   955,   138,
> --     157,  1041,    32,    33,    32,    33,   631,   631,   133,   138,
> --      74,    75,    76,   138,    91,    79,    35,   142,   163,   152,
> --      97,   138,   155,   107,   649,   649,   159,   160,   161,   162,
> --     163,   164,   165,   166,   167,   168,   137,   170,   156,   172,
> --     173,   138,   143,   144,   145,   156,   601,   602,   603,   604,
> --     605,   676,   676,   608,   408,   764,   611,   159,   160,   161,
> --     162,   156,   164,   138,   166,    66,    67,    68,    64,    65,
> --     135,   136,   426,   138,   699,   699,    32,    33,    34,    34,
> --     434,   146,   147,   148,   149,   150,   151,   138,   139,   449,
> --     152,   153,   154,   716,   160,   161,   162,   163,   164,   165,
> --      76,   449,   489,   449,   156,   733,   153,   154,   733,   733,
> --     682,   683,   684,   153,   154,   740,   740,   153,   154,   153,
> --     154,   481,   153,   154,   153,   154,   153,   154,   152,   483,
> --     153,   154,   486,   153,   154,   153,   154,   152,   498,   153,
> --     154,   153,   154,   153,   154,   153,   154,   153,   154,   153,
> --     154,   153,   154,   116,   117,   153,   154,   733,   153,   154,
> --     153,   154,   156,   746,   747,   153,   154,   959,   742,   153,
> --     154,    34,   153,   154,   875,  1031,  1032,   878,   798,   799,
> --     534,   896,   897,    64,   138,   138,   138,   138,   155,   155,
> --     155,   564,    34,   580,   155,   155,   155,   155,   155,   169,
> --     162,    34,    65,    34,   832,   155,   155,   832,   832,   155,
> --      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
> --      83,    84,    85,    86,    87,    88,    89,   587,   155,    92,
> --      93,    94,   155,    96,   155,   155,   155,   155,   155,   587,
> --     155,   587,   105,   106,   155,   155,   155,   155,   152,   156,
> --     155,   874,   155,   626,   627,   628,   832,   155,   155,   155,
> --     155,   155,   155,   153,   127,   156,   155,   155,   155,   155,
> --     155,   644,   645,   646,   647,   155,   155,   155,   155,   171,
> --      96,   107,    36,    36,    36,    34,    34,    34,   648,   107,
> --     155,   160,   156,   848,    34,    95,   153,   852,   853,   160,
> --      35,    35,   107,    36,    36,    34,  1007,   694,   152,   158,
> --      34,   158,   152,   941,    36,    36,   941,   941,    36,    36,
> --     152,   155,   158,  1024,   153,   698,   154,   141,   153,   156,
> --     153,   155,    12,   155,   154,    96,   153,   158,   966,   712,
> --      17,   966,   966,   158,   156,   158,   152,    34,   155,   153,
> --     153,   126,    18,   155,   155,   910,   152,   156,   169,   153,
> --     915,   153,    34,   918,   120,   158,    36,   158,    36,    36,
> --     158,   158,   155,   733,   153,   157,    19,   764,   158,   160,
> --     152,   152,   742,    71,   169,   152,    34,   152,   166,   158,
> --      34,   155,   152,   169,   764,   157,   169,   770,   156,   954,
> --     166,   169,   152,   154,   107,    34,    34,   153,    36,   782,
> --     783,   153,   785,   786,   787,   788,   789,   790,   791,   792,
> --     793,   794,   795,   796,   979,   155,   170,   155,   155,    34,
> --     153,    49,   158,   152,   170,    48,   152,    65,   158,   994,
> --      37,   152,   997,   158,   158,    73,    74,    75,    76,    77,
> --      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
> --      88,    89,   158,   158,    92,    93,    94,   158,   158,   153,
> --      47,   171,   832,   171,   153,     1,   375,   105,   106,   107,
> --     108,   381,   384,   699,   624,   649,   369,   115,   116,   117,
> --     118,   455,   465,   485,   378,   428,   372,   488,   871,   127,
> --     431,   491,   436,   439,   416,   452,   727,   421,   740,    62,
> --       3,   459,   731,   672,    32,    33,    34,   388,   307,   675,
> --     402,   233,   962,   832,   966,   901,   913,   898,   156,   610,
> --     405,   900,   535,   631,   311,   209,   896,   897,    -1,   899,
> --     900,    59,    -1,    -1,    -1,    -1,    64,    65,    -1,    -1,
> --      -1,   899,    -1,    -1,    -1,    73,    74,    75,    76,    77,
> -+      87,    88,    89,    34,    91,    92,    93,    94,    34,    96,
> -+      36,    74,    75,    76,   618,   123,    79,   618,   105,   106,
> -+     958,    27,   109,   110,   154,   155,    32,    33,   154,   155,
> -+     634,   168,   119,   634,   168,   122,   154,   155,   125,    94,
> -+     127,    66,    67,    68,    50,    51,    52,   153,   652,    30,
> -+     156,   652,   138,    59,   160,   161,   162,   163,   164,   165,
> -+     166,   167,   168,   169,   107,   171,   138,   173,   174,   138,
> -+     604,   605,   606,   607,   608,   679,   767,   611,   679,   138,
> -+     614,    32,    33,    34,   138,    91,   409,   153,   154,   155,
> -+      35,    97,   160,   161,   162,   163,   138,   165,   702,   167,
> -+     164,   702,   107,   719,   157,   428,   685,   686,   687,   154,
> -+     155,   451,    34,   436,   161,   162,   163,   164,   165,   166,
> -+     154,   155,   138,   451,   491,   451,   154,   155,   736,   138,
> -+     154,   155,   736,   135,   136,   736,   138,   154,   155,   743,
> -+     154,   155,   743,   483,   146,   147,   148,   149,   150,   151,
> -+     152,   154,   155,   154,   155,   154,   155,   154,   155,   157,
> -+     500,   157,   485,   154,   155,   488,   154,   155,   154,   155,
> -+     116,   117,   154,   155,   154,   155,   154,   155,   154,   155,
> -+     736,   154,   155,    76,   749,   750,   962,   154,   155,   801,
> -+     802,  1034,  1035,   899,   900,   157,   878,   157,   138,   881,
> -+     745,   153,   138,   153,   138,   138,    64,   156,   156,   156,
> -+      34,   170,   156,   536,   567,   156,   583,   156,   156,   156,
> -+     163,   156,    34,    34,   156,   156,   156,   835,   156,   156,
> -+     156,   835,   156,   156,   835,   156,   156,   156,   156,   156,
> -+     156,   156,    96,   157,   156,   156,   156,   156,   156,   156,
> -+     590,   156,   156,   154,   157,   107,   156,   156,   156,   156,
> -+     156,   877,   590,    36,   590,   156,   156,   156,   156,   153,
> -+     172,    36,    36,    34,    34,    34,   629,   630,   631,   835,
> -+     107,   156,   161,   157,    34,    95,   154,    35,   161,    35,
> -+     107,    36,    36,    34,   647,   648,   649,   650,   153,   159,
> -+      34,    36,   159,    36,    36,    36,   153,   153,   156,   154,
> -+     154,   651,   155,   154,    12,   157,   141,   851,   156,   159,
> -+     156,   855,   856,   155,   159,   159,   159,   157,  1010,    96,
> -+     697,   154,   153,    17,   154,   154,   944,    34,   156,   170,
> -+     944,   156,   156,   944,   157,  1027,   153,   126,   701,   154,
> -+     154,    18,    34,   159,   156,    36,   159,    36,    36,   159,
> -+     159,   969,   715,   158,   120,   969,   154,   159,   969,    19,
> -+     161,   153,   153,   170,   167,    71,   153,    34,   153,   913,
> -+     156,   159,   153,   170,   918,   170,   158,   921,    34,   157,
> -+     170,   153,   155,   167,   107,    34,   736,   154,   156,   154,
> -+     767,   171,   156,   156,   153,   745,    34,   154,   159,    49,
> -+      48,   153,    37,    47,   153,     1,   159,   767,   154,   159,
> -+     773,   159,   159,   957,   154,   379,   382,    32,    33,    34,
> -+     159,   159,   785,   786,   159,   788,   789,   790,   791,   792,
> -+     793,   794,   795,   796,   797,   798,   799,   171,   982,   172,
> -+     172,   376,   627,   702,    59,   652,   385,   370,   487,    64,
> -+      65,   461,   457,   997,   454,   430,  1000,   373,    73,    74,
> -+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
> -+      85,    86,    87,    88,    89,   493,    91,    92,    93,    94,
> -+     467,    96,   730,   734,    62,   835,   490,   743,     3,   441,
> -+     105,   106,   675,   389,   109,   110,   233,   308,   678,   965,
> -+     835,   969,   904,   901,   119,   537,   613,   122,   403,   903,
> -+     125,   874,   127,   406,   634,    -1,   418,    -1,   312,   209,
> -+      -1,    -1,    -1,    -1,    -1,    -1,   423,    34,   433,    36,
> -+      -1,    -1,    -1,    -1,   438,    -1,    -1,    -1,    -1,   916,
> -+      -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,   899,
> -+     900,    -1,   902,   903,    -1,    -1,    -1,    -1,    65,    -1,
> -+      -1,    -1,    -1,    -1,   902,    -1,    73,    74,    75,    76,
> -+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
> -+      87,    88,    89,    -1,    -1,    92,    93,    94,    -1,    -1,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   974,   105,   106,
> -+     107,   108,    -1,    -1,    -1,    -1,    -1,    -1,   115,   116,
> -+     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -+     127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1002,
> -+      -1,    -1,   992,    -1,    11,    12,    -1,    -1,    -1,  1012,
> -+     157,    -1,    -1,    -1,    -1,    -1,    23,    -1,    -1,  1022,
> -+      27,    -1,    -1,    -1,    -1,    32,    33,    34,    -1,  1032,
> -+      -1,    38,    39,    40,    41,    42,    43,    44,    45,    46,
> -+      -1,    -1,    -1,    50,    51,    52,    53,    -1,    -1,    -1,
> -+      -1,    -1,    59,    -1,    -1,    -1,    -1,    64,    65,    66,
> -+      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
> -+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
> -+      87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
> -+      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
> -+      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    -1,   119,    11,    12,   122,    -1,   124,   125,    -1,
> -+     127,    -1,    -1,   130,    -1,    23,    -1,    -1,    -1,    27,
> -+      -1,    -1,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
> -+      38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
> -+      -1,   158,    50,    51,    52,    53,    -1,    -1,    -1,    -1,
> -+     167,    59,    -1,    -1,    -1,    -1,    64,    65,    66,    67,
> -+      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
> -       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
> --      88,    89,    -1,    91,    92,    93,    94,    -1,    96,    -1,
> --      -1,    -1,    -1,    -1,   971,    -1,    -1,   105,   106,    -1,
> -+      88,    89,    90,    91,    92,    93,    94,    -1,    96,    97,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,    -1,
> -       -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> --      -1,   119,    -1,    -1,   122,    -1,    -1,   125,    -1,   127,
> -+      -1,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
> -+      -1,     3,   130,     5,     6,     7,     8,     9,    10,    11,
> -+      -1,    13,    14,    15,    16,    -1,    -1,    -1,    20,    21,
> -+      22,    -1,    24,    25,    26,    -1,    28,    29,    30,    -1,
> -+      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   167,
> -       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,    -1,   999,    -1,    -1,   989,
> --      -1,    11,    12,    -1,    -1,    -1,  1009,    -1,    -1,    -1,
> --      -1,    -1,    -1,    23,    -1,    -1,  1019,    27,    -1,    -1,
> --      -1,    -1,    32,    33,    34,    -1,  1029,    -1,    38,    39,
> --      40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
> --      50,    51,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,
> --      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
> --      70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
> --      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
> --      90,    91,    92,    93,    94,    -1,    96,    97,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,   105,   106,    -1,    -1,   109,
> --     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
> --      11,    12,   122,    -1,   124,   125,    -1,   127,    -1,    -1,
> --     130,    -1,    23,    -1,    -1,    -1,    27,    -1,    -1,    -1,
> --      -1,    32,    33,    34,    -1,    -1,    -1,    38,    39,    40,
> --      41,    42,    43,    44,    45,    46,    -1,   157,    -1,    50,
> --      51,    52,    53,    -1,    -1,    -1,   166,    -1,    59,    -1,
> --      -1,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
> --      -1,    72,    73,    74,    75,    76,    77,    78,    79,    80,
> --      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
> --      91,    92,    93,    94,    -1,    96,    97,    -1,    -1,    -1,
> --      -1,    -1,    -1,    -1,   105,   106,    -1,    -1,   109,   110,
> --      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
> --      -1,   122,    -1,   124,   125,    -1,   127,    -1,     3,   130,
> --       5,     6,     7,     8,     9,    10,    11,    -1,    13,    14,
> --      15,    16,    -1,    -1,    -1,    20,    21,    22,    -1,    24,
> --      25,    26,    -1,    28,    29,    30,    -1,    32,    33,    34,
> --      -1,    -1,    -1,    -1,    -1,   166,    -1,    -1,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
> --      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
> --      65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
> --      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
> --      85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
> --      34,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> --     105,   106,    -1,    -1,   109,   110,   111,   112,   113,   114,
> --      -1,    -1,    -1,    -1,   119,    -1,    -1,   122,    -1,    -1,
> --     125,    65,   127,   128,   129,    -1,   131,    -1,    -1,    73,
> -+      -1,    -1,    54,    55,    56,    57,    58,    59,    60,    61,
> -+      62,    63,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    73,    74,    75,    76,    77,    78,    79,    80,    81,
> -+      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
> -+      92,    93,    94,    34,    96,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    -1,    -1,   105,   106,    -1,    -1,   109,   110,   111,
> -+     112,   113,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,
> -+     122,    -1,    -1,   125,    65,   127,   128,   129,    -1,   131,
> -+      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
> -+      81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
> -+      34,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
> -+     101,   102,   103,   104,   105,   106,    -1,    -1,    -1,    -1,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -+     121,    65,    -1,    -1,    -1,    -1,   127,    -1,    -1,    73,
> -       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
> --      84,    85,    86,    87,    88,    89,    -1,    34,    92,    93,
> --      94,    -1,    96,    -1,    98,    99,   100,   101,   102,   103,
> --     104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    65,    -1,
> -+      84,    85,    86,    87,    88,    89,    90,    34,    92,    93,
> -+      94,    -1,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    65,    -1,
> -       -1,    -1,    -1,   127,    -1,    -1,    73,    74,    75,    76,
> -       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
> -       87,    88,    89,    90,    34,    92,    93,    94,    -1,    96,
> --      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
> -       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -       -1,    -1,   119,    -1,    -1,    65,    -1,    -1,    -1,    -1,
> -      127,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
> -       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
> --      90,    34,    92,    93,    94,    -1,    96,    -1,    -1,    -1,
> -+      34,    -1,    92,    93,    94,    -1,    96,    -1,    -1,    -1,
> -       -1,    -1,    -1,    -1,    -1,   105,   106,    -1,    -1,    -1,
> -       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
> --      -1,    -1,    65,    -1,    -1,    -1,    -1,   127,    -1,    -1,
> --      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
> --      83,    84,    85,    86,    87,    88,    89,    34,    -1,    92,
> --      93,    94,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
> --      -1,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    65,    -1,
> --      -1,    -1,    -1,    -1,   127,    -1,    73,    74,    75,    76,
> --      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
> --      87,    88,    89,    -1,    -1,    92,    93,    94,    -1,    -1,
> --      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
> --      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> -+      -1,    65,    -1,    -1,    -1,    -1,    34,   127,    -1,    73,
> -+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
> -+      84,    85,    86,    87,    88,    89,    -1,    -1,    92,    93,
> -+      94,    -1,    96,    -1,    -1,    -1,    -1,    65,    -1,    -1,
> -+      -1,   105,   106,    -1,    -1,    73,    74,    75,    76,    77,
> -+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
> -+      88,    89,    -1,   127,    92,    93,    94,    -1,    -1,    -1,
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,    -1,
> -       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
> --     127
> -+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   127
> - };
> -
> --/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
> --   symbol of state STATE-NUM.  */
> --static const yytype_uint16 yystos[] =
> -+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
> -+   state STATE-NUM.  */
> -+static const yytype_int16 yystos[] =
> - {
> --       0,   175,   176,   177,     0,   176,     3,     5,     6,     7,
> -+       0,   176,   177,   178,     0,   177,     3,     5,     6,     7,
> -        8,     9,    10,    11,    13,    14,    15,    16,    20,    21,
> -       22,    24,    25,    26,    28,    29,    30,    32,    33,    34,
> -       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
> -       64,    65,    73,    74,    75,    76,    77,    78,    79,    80,
> -       81,    82,    83,    84,    85,    86,    87,    88,    89,    91,
> -       92,    93,    94,    96,   105,   106,   109,   110,   111,   112,
> --     113,   114,   119,   122,   125,   127,   128,   129,   131,   178,
> --     179,   180,   184,   188,   192,   196,   200,   204,   210,   212,
> --     218,   222,   226,   230,   234,   238,   239,   243,   247,   251,
> --     255,   262,   269,   279,   283,   284,   291,   292,   293,   294,
> --     306,   308,   309,   310,   311,   312,   313,   314,   315,   317,
> --     318,   328,   332,   335,   351,   352,   353,   357,   358,   361,
> --     363,   364,   393,   417,   421,   425,    34,   152,   201,    36,
> --     152,   181,    36,   152,   185,    36,   152,   189,    34,   152,
> --     193,    34,   152,   197,    31,   333,   334,   333,   333,   333,
> --      34,   152,   329,    35,   333,   333,   333,   333,   333,   333,
> --     333,   333,    65,   425,   152,    35,   152,   280,    35,    35,
> --     152,   285,   333,   333,   333,    34,    35,   152,   270,   277,
> --     277,   152,   256,   277,   152,   263,   277,   351,   351,    76,
> --      64,    65,   337,    79,    74,    75,    76,    79,   352,   425,
> --     421,    34,   231,   223,    34,   152,   227,    36,   152,   240,
> --     421,   351,   167,   152,   244,   277,   152,   248,   277,   152,
> --     252,   351,   167,    94,    30,   362,    34,   119,   424,   107,
> --     138,   151,   202,   203,   138,   182,   183,   138,   186,   187,
> --     138,   190,   191,   138,   194,   195,   138,   198,   199,   333,
> --      31,    33,   134,   140,   330,   331,   333,    35,   338,   351,
> --     163,   398,   235,   138,   139,   281,   282,   138,   286,   287,
> --     135,   136,   138,   146,   147,   148,   149,   150,   151,   272,
> --     273,   156,   274,   271,   107,   278,   138,   257,   258,   156,
> --     259,   138,   264,   265,   156,   266,   365,   359,    34,   339,
> --      76,   424,    34,   152,   219,   156,   156,   138,   228,   229,
> --     137,   143,   144,   145,   241,   242,   398,   152,   152,   205,
> --     421,   426,   138,   245,   246,   138,   249,   250,   138,   253,
> --     254,   426,   353,   425,   364,   152,   398,   152,   155,   159,
> --     160,   161,   162,   163,   164,   165,   166,   167,   168,   170,
> --     172,   173,   394,   162,   164,   423,   155,   155,   153,   154,
> --     155,   153,   154,   155,   153,   154,   155,   153,   154,   155,
> --     153,   154,   155,   153,   154,   155,   155,   153,   154,   333,
> --      34,   399,   400,   211,    34,   159,   236,   237,   339,   155,
> --     155,   153,   154,   155,   153,   154,   155,   155,   155,   155,
> --     155,   155,   155,   155,   155,   153,   154,     4,    12,   234,
> --     238,   275,   276,   319,   323,   278,   155,   153,   154,   234,
> --     238,   260,   261,   323,   155,   153,   154,   234,   238,   267,
> --     268,   323,   169,   367,   367,   398,   423,   398,   162,   156,
> --     220,    34,   232,   233,    34,   224,   225,   155,   153,   154,
> --     155,   155,   155,   155,   153,   154,    98,    99,   100,   101,
> --     102,   103,   104,   121,   406,   407,   408,   421,   422,   351,
> --     398,   154,   168,   155,   153,   154,   155,   153,   154,   155,
> --     153,   154,   168,   398,   406,   156,   418,   153,   152,   155,
> --     155,   155,   155,   155,   155,   155,   155,   155,   167,   155,
> --     168,   171,   155,   155,   152,    96,    34,    36,   381,   107,
> --     203,    36,   183,    36,   187,    36,   191,    34,   195,    34,
> --     199,    34,   107,   331,   155,   154,   163,   156,   214,    34,
> --      95,   153,   160,    35,   116,   117,   354,   282,    35,   287,
> --      36,    36,   277,   354,   354,   354,   354,    34,   107,   273,
> --     152,   320,    36,   152,   324,   157,   276,   277,   258,   157,
> --     261,   277,   265,   157,   268,    66,    67,    68,   368,   369,
> --     370,   398,   398,   336,   158,    34,   179,   221,   363,   158,
> --     157,   233,   157,   225,   381,   229,    36,    36,    36,    36,
> --     242,   339,   339,   339,   339,   339,   152,   152,   339,   153,
> --     154,   339,   155,   345,   153,   156,   206,   421,   277,   246,
> --     277,   250,   351,   254,   213,   153,    17,    18,    19,   234,
> --     238,   419,   420,   158,   421,   155,   155,   406,    34,    36,
> --     107,   277,   401,   400,    27,    50,    51,    52,    97,   215,
> --     216,   217,   234,   238,   294,   303,   307,   335,    34,   159,
> --     339,   141,   321,   322,   132,   143,   325,   326,   333,   158,
> --     158,   158,   154,   351,   366,   360,   156,   323,   327,   153,
> --     157,   179,   398,   398,   398,   398,   398,   406,   406,   398,
> --      96,   395,   408,   398,   152,   346,   349,   350,   123,   207,
> --     208,   209,   234,   238,   294,   214,   395,   333,   333,   333,
> --     157,   420,    17,   288,   153,   153,   169,   333,   333,   333,
> --     333,   421,   157,   216,    34,   155,   153,   154,   155,   155,
> --     153,   154,   369,   156,   371,   371,    34,   234,   238,   340,
> --     341,   342,   152,   345,   345,   345,   153,   153,   126,   396,
> --     351,   160,   161,   162,   163,   164,   165,   347,   159,   160,
> --     161,   162,   164,   166,   348,   333,   157,   208,   396,   333,
> --      18,   289,   158,   395,   278,    34,   158,    36,   322,    36,
> --      36,   326,    11,    23,    34,    38,    39,    40,    41,    42,
> --      43,    44,    45,    46,    51,    52,    53,    66,    67,    68,
> --      69,    70,    72,    90,    97,   124,   130,   166,   204,   218,
> --     234,   238,   294,   295,   296,   297,   298,   299,   300,   301,
> --     302,   303,   304,   305,   307,   316,   323,   335,   357,   358,
> --     361,   364,   372,   373,   374,   383,   385,   386,   388,   393,
> --     409,   412,   414,   415,   417,   158,   158,   155,   344,   157,
> --     342,   426,   339,   339,   120,   427,   153,   349,    36,   107,
> --     108,   115,   118,   156,   351,   354,   355,   425,   158,   427,
> --     333,    19,   290,   396,   160,   152,   333,   333,   152,   333,
> --     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
> --     333,    71,   382,   382,   382,   169,   410,   411,   384,   416,
> --     413,   387,   152,   375,    34,   157,   373,   349,   398,   158,
> --     153,   398,   398,   152,   155,   397,   157,   152,   397,   333,
> --     427,   278,   406,   406,   169,   169,   169,    90,   412,   412,
> --     385,   393,   421,   414,    34,   388,   133,   138,   142,   376,
> --     377,   156,   378,   152,   154,   343,   398,   351,   428,   107,
> --     398,   346,   356,   398,   397,   153,   153,    34,   155,   155,
> --     155,   153,   154,   234,   238,   323,   379,   380,   153,   158,
> --     153,   154,   170,   391,   153,   154,   391,   398,   395,   427,
> --      34,   381,    34,   377,   157,   380,   427,   327,   351,   392,
> --     158,   346,   158,   391,   427,   398,   158,   397,   421,    49,
> --     404,   327,   158,   398,   170,   389,   398,   152,   333,    48,
> --     403,   404,   404,   391,   390,   158,   158,   406,   333,    37,
> --     405,   403,   403,   158,   152,   327,   404,   153,   333,    47,
> --     402,   405,   405,   327,   406,   404,   403,   171,   333,   402,
> --     402,   404,   153,   403,   405,   403,   171
> -+     113,   114,   119,   122,   125,   127,   128,   129,   131,   179,
> -+     180,   181,   185,   189,   193,   197,   201,   205,   211,   213,
> -+     219,   223,   227,   231,   235,   239,   240,   244,   248,   252,
> -+     256,   263,   270,   280,   284,   285,   292,   293,   294,   295,
> -+     307,   309,   310,   311,   312,   313,   314,   315,   316,   318,
> -+     319,   329,   333,   336,   352,   353,   354,   358,   359,   362,
> -+     364,   365,   394,   418,   422,   426,    34,   153,   202,    36,
> -+     153,   182,    36,   153,   186,    36,   153,   190,    34,   153,
> -+     194,    34,   153,   198,    31,   334,   335,   334,   334,   334,
> -+      34,   153,   330,    35,   334,   334,   334,   334,   334,   334,
> -+     334,   334,    65,   426,   153,    35,   153,   281,    35,    35,
> -+     153,   286,   334,   334,   334,    34,    35,   153,   271,   278,
> -+     278,   153,   257,   278,   153,   264,   278,   352,   352,    76,
> -+      64,    65,   338,    79,    74,    75,    76,    79,   353,   426,
> -+     422,    34,   232,   224,    34,   153,   228,    36,   153,   241,
> -+     422,   352,   168,   153,   245,   278,   153,   249,   278,   153,
> -+     253,   352,   168,    94,    30,   363,    34,   119,   425,   107,
> -+     138,   152,   203,   204,   138,   183,   184,   138,   187,   188,
> -+     138,   191,   192,   138,   195,   196,   138,   199,   200,   334,
> -+      31,    33,   134,   140,   331,   332,   334,    35,   339,   352,
> -+     164,   399,   236,   138,   139,   282,   283,   138,   287,   288,
> -+     135,   136,   138,   146,   147,   148,   149,   150,   151,   152,
> -+     273,   274,   157,   275,   272,   107,   279,   138,   258,   259,
> -+     157,   260,   138,   265,   266,   157,   267,   366,   360,    34,
> -+     340,    76,   425,    34,   153,   220,   157,   157,   138,   229,
> -+     230,   137,   143,   144,   145,   242,   243,   399,   153,   153,
> -+     206,   422,   427,   138,   246,   247,   138,   250,   251,   138,
> -+     254,   255,   427,   354,   426,   365,   153,   399,   153,   156,
> -+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
> -+     171,   173,   174,   395,   163,   165,   424,   156,   156,   154,
> -+     155,   156,   154,   155,   156,   154,   155,   156,   154,   155,
> -+     156,   154,   155,   156,   154,   155,   156,   156,   154,   155,
> -+     334,    34,   400,   401,   212,    34,   160,   237,   238,   340,
> -+     156,   156,   154,   155,   156,   154,   155,   156,   156,   156,
> -+     156,   156,   156,   156,   156,   156,   156,   154,   155,     4,
> -+      12,   235,   239,   276,   277,   320,   324,   279,   156,   154,
> -+     155,   235,   239,   261,   262,   324,   156,   154,   155,   235,
> -+     239,   268,   269,   324,   170,   368,   368,   399,   424,   399,
> -+     163,   157,   221,    34,   233,   234,    34,   225,   226,   156,
> -+     154,   155,   156,   156,   156,   156,   154,   155,    98,    99,
> -+     100,   101,   102,   103,   104,   121,   407,   408,   409,   422,
> -+     423,   352,   399,   155,   169,   156,   154,   155,   156,   154,
> -+     155,   156,   154,   155,   169,   399,   407,   157,   419,   154,
> -+     153,   156,   156,   156,   156,   156,   156,   156,   156,   156,
> -+     168,   156,   169,   172,   156,   156,   153,    96,    34,    36,
> -+     382,   107,   204,    36,   184,    36,   188,    36,   192,    34,
> -+     196,    34,   200,    34,   107,   332,   156,   155,   164,   157,
> -+     215,    34,    95,   154,   161,    35,   116,   117,   355,   283,
> -+      35,   288,    36,    36,   278,   355,   355,   355,   355,   355,
> -+      34,   107,   274,   153,   321,    36,   153,   325,   158,   277,
> -+     278,   259,   158,   262,   278,   266,   158,   269,    66,    67,
> -+      68,   369,   370,   371,   399,   399,   337,   159,    34,   180,
> -+     222,   364,   159,   158,   234,   158,   226,   382,   230,    36,
> -+      36,    36,    36,   243,   340,   340,   340,   340,   340,   153,
> -+     153,   340,   154,   155,   340,   156,   346,   154,   157,   207,
> -+     422,   278,   247,   278,   251,   352,   255,   214,   154,    17,
> -+      18,    19,   235,   239,   420,   421,   159,   422,   156,   156,
> -+     407,    34,    36,   107,   278,   402,   401,    27,    50,    51,
> -+      52,    97,   216,   217,   218,   235,   239,   295,   304,   308,
> -+     336,    34,   160,   340,   141,   322,   323,   132,   143,   326,
> -+     327,   334,   159,   159,   159,   155,   352,   367,   361,   157,
> -+     324,   328,   154,   158,   180,   399,   399,   399,   399,   399,
> -+     407,   407,   399,    96,   396,   409,   399,   153,   347,   350,
> -+     351,   123,   208,   209,   210,   235,   239,   295,   215,   396,
> -+     334,   334,   334,   158,   421,    17,   289,   154,   154,   170,
> -+     334,   334,   334,   334,   422,   158,   217,    34,   156,   154,
> -+     155,   156,   156,   154,   155,   370,   157,   372,   372,    34,
> -+     235,   239,   341,   342,   343,   153,   346,   346,   346,   154,
> -+     154,   126,   397,   352,   161,   162,   163,   164,   165,   166,
> -+     348,   160,   161,   162,   163,   165,   167,   349,   334,   158,
> -+     209,   397,   334,    18,   290,   159,   396,   279,    34,   159,
> -+      36,   323,    36,    36,   327,    11,    23,    34,    38,    39,
> -+      40,    41,    42,    43,    44,    45,    46,    51,    52,    53,
> -+      66,    67,    68,    69,    70,    72,    90,    97,   124,   130,
> -+     167,   205,   219,   235,   239,   295,   296,   297,   298,   299,
> -+     300,   301,   302,   303,   304,   305,   306,   308,   317,   324,
> -+     336,   358,   359,   362,   365,   373,   374,   375,   384,   386,
> -+     387,   389,   394,   410,   413,   415,   416,   418,   159,   159,
> -+     156,   345,   158,   343,   427,   340,   340,   120,   428,   154,
> -+     350,    36,   107,   108,   115,   118,   157,   352,   355,   356,
> -+     426,   159,   428,   334,    19,   291,   397,   161,   153,   334,
> -+     334,   153,   334,   334,   334,   334,   334,   334,   334,   334,
> -+     334,   334,   334,   334,    71,   383,   383,   383,   170,   411,
> -+     412,   385,   417,   414,   388,   153,   376,    34,   158,   374,
> -+     350,   399,   159,   154,   399,   399,   153,   156,   398,   158,
> -+     153,   398,   334,   428,   279,   407,   407,   170,   170,   170,
> -+      90,   413,   413,   386,   394,   422,   415,    34,   389,   133,
> -+     138,   142,   377,   378,   157,   379,   153,   155,   344,   399,
> -+     352,   429,   107,   399,   347,   357,   399,   398,   154,   154,
> -+      34,   156,   156,   156,   154,   155,   235,   239,   324,   380,
> -+     381,   154,   159,   154,   155,   171,   392,   154,   155,   392,
> -+     399,   396,   428,    34,   382,    34,   378,   158,   381,   428,
> -+     328,   352,   393,   159,   347,   159,   392,   428,   399,   159,
> -+     398,   422,    49,   405,   328,   159,   399,   171,   390,   399,
> -+     153,   334,    48,   404,   405,   405,   392,   391,   159,   159,
> -+     407,   334,    37,   406,   404,   404,   159,   153,   328,   405,
> -+     154,   334,    47,   403,   406,   406,   328,   407,   405,   404,
> -+     172,   334,   403,   403,   405,   154,   404,   406,   404,   172
> - };
> -
> --#define yyerrok               (yyerrstatus = 0)
> --#define yyclearin     (yychar = YYEMPTY)
> --#define YYEMPTY               (-2)
> --#define YYEOF         0
> --
> --#define YYACCEPT      goto yyacceptlab
> --#define YYABORT               goto yyabortlab
> --#define YYERROR               goto yyerrorlab
> --
> -+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule
> RULE-NUM.  */
> -+static const yytype_int16 yyr1[] =
> -+{
> -+       0,   175,   176,   176,   178,   177,   179,   179,   179,   179,
> -+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
> -+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
> -+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
> -+     179,   179,   179,   179,   180,   180,   180,   180,   180,   180,
> -+     180,   180,   180,   180,   180,   180,   181,   182,   182,   183,
> -+     183,   184,   185,   186,   186,   187,   187,   188,   189,   190,
> -+     190,   191,   191,   192,   193,   194,   194,   195,   195,   196,
> -+     197,   198,   198,   199,   199,   200,   201,   202,   202,   203,
> -+     203,   204,   204,   205,   206,   206,   207,   208,   208,   209,
> -+     209,   209,   209,   210,   212,   211,   214,   213,   215,   216,
> -+     216,   217,   217,   217,   217,   217,   217,   217,   217,   217,
> -+     218,   220,   219,   221,   221,   222,   222,   224,   223,   225,
> -+     225,   226,   227,   228,   228,   229,   229,   230,   232,   231,
> -+     233,   233,   234,   236,   235,   237,   237,   237,   237,   238,
> -+     238,   239,   240,   241,   241,   241,   242,   242,   243,   243,
> -+     243,   243,   244,   245,   245,   246,   246,   247,   248,   249,
> -+     249,   250,   250,   251,   252,   253,   253,   254,   254,   255,
> -+     256,   257,   257,   258,   258,   259,   260,   260,   261,   261,
> -+     262,   262,   262,   263,   264,   264,   265,   265,   266,   267,
> -+     267,   268,   268,   269,   269,   269,   270,   270,   272,   271,
> -+     271,   273,   273,   274,   274,   274,   274,   274,   274,   274,
> -+     274,   274,   274,   275,   275,   276,   276,   277,   277,   277,
> -+     277,   278,   278,   279,   279,   280,   281,   281,   282,   282,
> -+     283,   283,   284,   285,   286,   286,   287,   287,   288,   289,
> -+     289,   290,   290,   291,   291,   292,   293,   294,   295,   296,
> -+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
> -+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
> -+     317,   318,   319,   320,   321,   322,   322,   323,   324,   325,
> -+     325,   325,   326,   326,   327,   327,   328,   328,   329,   330,
> -+     330,   331,   331,   332,   332,   333,   334,   335,   335,   337,
> -+     336,   338,   338,   338,   339,   339,   340,   340,   341,   341,
> -+     342,   342,   343,   343,   343,   344,   344,   345,   345,   346,
> -+     346,   347,   347,   348,   348,   348,   348,   348,   348,   349,
> -+     349,   349,   349,   349,   349,   349,   350,   351,   351,   352,
> -+     352,   353,   353,   354,   355,   355,   356,   356,   356,   356,
> -+     356,   356,   356,   356,   356,   357,   357,   357,   358,   358,
> -+     360,   361,   359,   363,   362,   364,   366,   367,   365,   368,
> -+     368,   369,   369,   370,   371,   371,   371,   371,   372,   372,
> -+     373,   373,   373,   374,   374,   374,   374,   374,   374,   374,
> -+     374,   374,   374,   374,   374,   374,   374,   374,   374,   374,
> -+     374,   374,   374,   374,   374,   374,   374,   374,   374,   374,
> -+     374,   374,   374,   374,   374,   374,   374,   374,   375,   376,
> -+     377,   377,   378,   378,   378,   379,   379,   380,   380,   381,
> -+     381,   381,   382,   382,   383,   383,   385,   384,   384,   386,
> -+     388,   387,   387,   389,   390,   391,   390,   392,   393,   392,
> -+     394,   394,   394,   394,   395,   395,   395,   395,   395,   395,
> -+     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
> -+     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
> -+     395,   395,   395,   396,   396,   397,   397,   398,   398,   399,
> -+     399,   400,   400,   401,   401,   402,   402,   402,   402,   403,
> -+     403,   404,   404,   405,   405,   406,   406,   407,   408,   408,
> -+     408,   409,   409,   409,   409,   409,   409,   409,   409,   409,
> -+     411,   410,   412,   410,   410,   414,   413,   413,   415,   415,
> -+     417,   416,   416,   418,   419,   419,   420,   420,   421,   421,
> -+     421,   421,   421,   422,   422,   423,   424,   424,   425,   425,
> -+     425,   426,   426,   426,   426,   426,   426,   426,   426,   426,
> -+     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
> -+     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
> -+     426,   426,   427,   427,   428,   428,   429,   429,   429
> -+};
> -
> --/* Like YYERROR except do call yyerror.  This remains here temporarily
> --   to ease the transition to the new meaning of YYERROR, for GCC.
> --   Once GCC version 2 has supplanted version 1, this can go.  */
> -+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule
> RULE-NUM.  */
> -+static const yytype_int8 yyr2[] =
> -+{
> -+       0,     2,     1,     2,     0,     2,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     2,     1,     3,     1,
> -+       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
> -+       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
> -+       3,     1,     3,     1,     3,     3,     2,     2,     3,     1,
> -+       3,     3,     3,     5,     0,     3,     4,     1,     2,     1,
> -+       1,     1,     1,     2,     0,     5,     0,     6,     4,     1,
> -+       2,     1,     1,     1,     1,     2,     2,     1,     1,     1,
> -+      14,     0,     5,     0,     3,     1,     2,     0,     5,     1,
> -+       2,     1,     2,     1,     3,     1,     3,     3,     0,     5,
> -+       1,     2,     1,     0,     5,     1,     2,     3,     4,     1,
> -+       3,     1,     3,     0,     1,     3,     1,     3,     3,     3,
> -+       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
> -+       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
> -+       3,     1,     3,     1,     3,     3,     0,     4,     1,     2,
> -+       1,     1,     1,     3,     1,     3,     1,     3,     3,     0,
> -+       4,     1,     2,     1,     1,     1,     3,     3,     0,     3,
> -+       3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
> -+       3,     3,     3,     0,     4,     1,     2,     1,     1,     1,
> -+       1,     1,     1,     0,     1,     2,     1,     3,     1,     3,
> -+       3,     3,     2,     2,     1,     3,     1,     3,     3,     0,
> -+       2,     0,     2,     0,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     3,     1,     3,     3,     3,     0,
> -+       1,     3,     1,     3,     3,     3,     0,     1,     3,     1,
> -+       3,     1,     3,     3,     3,     4,     2,     1,     2,     0,
> -+       9,     0,     1,     1,     0,     1,     0,     1,     0,     1,
> -+       1,     2,     1,     1,     4,     0,     1,     0,     2,     0,
> -+       2,     1,     3,     1,     1,     1,     1,     1,     1,     0,
> -+       1,     1,     1,     1,     1,     1,     3,     0,     3,     2,
> -+       1,     1,     3,     1,     1,     1,     1,     4,     2,     1,
> -+       1,     1,     1,     1,     1,     0,     1,     3,     6,    12,
> -+       0,     0,     8,     0,     3,     4,     0,     0,     8,     0,
> -+       2,     1,     3,     2,     0,     1,     1,     1,     0,     3,
> -+       0,     1,     2,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     2,     2,     2,     3,     3,     3,     2,     3,     3,
> -+       1,     3,     3,     3,     3,     0,     4,     1,     2,     1,
> -+       1,     1,     1,     1,     0,     1,     0,     3,     1,    11,
> -+       0,     3,     1,    11,     0,     0,     6,     0,     0,     7,
> -+      17,     7,    17,    16,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     3,     3,     1,     2,     2,     1,     2,     2,
> -+       2,     1,     2,     0,     1,     0,     1,     0,     2,     0,
> -+       3,     1,     3,     1,     3,     1,     5,     1,     1,     0,
> -+       2,     0,     2,     0,     2,     0,     2,     1,     0,     1,
> -+       3,     4,     4,     4,     3,     3,     6,     6,     3,     2,
> -+       0,     3,     0,     3,     1,     0,     3,     1,     1,     1,
> -+       0,     3,     1,     8,     0,     3,     1,     2,     1,     1,
> -+       2,     2,     2,     4,     3,     3,     0,     1,     0,     3,
> -+       2,     1,     4,     2,     2,     1,     1,     2,     1,     1,
> -+       2,     2,     3,     1,     1,     1,     2,     2,     1,     1,
> -+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
> -+       1,     1,     1,     3,     0,     4,     0,     1,     3
> -+};
> -
> --#define YYFAIL                goto yyerrlab
> -
> --#define YYRECOVERING()  (!!yyerrstatus)
> -+enum { YYENOMEM = -2 };
> -
> --#define YYBACKUP(Token, Value)                                        \
> --do                                                            \
> --  if (yychar == YYEMPTY && yylen == 1)                                \
> --    {                                                         \
> --      yychar = (Token);                                               \
> --      yylval = (Value);                                               \
> --      yytoken = YYTRANSLATE (yychar);                         \
> --      YYPOPSTACK (1);                                         \
> --      goto yybackup;                                          \
> --    }                                                         \
> --  else                                                                \
> --    {                                                         \
> --      yyerror (YY_("syntax error: cannot back up")); \
> --      YYERROR;                                                        \
> --    }                                                         \
> --while (YYID (0))
> --
> --
> --#define YYTERROR      1
> --#define YYERRCODE     256
> --
> --
> --/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
> --   If N is 0, then set CURRENT to the empty location which ends
> --   the previous symbol: RHS[0] (always defined).  */
> --
> --#define YYRHSLOC(Rhs, K) ((Rhs)[K])
> --#ifndef YYLLOC_DEFAULT
> --# define YYLLOC_DEFAULT(Current, Rhs, N)                              \
> --    do
>       \
> --      if (YYID (N))                                                    \
> --      {                                                               \
> --        (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
> --        (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
> --        (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
> --        (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
> --      }                                                               \
> --      else                                                            \
> --      {                                                               \
> --        (Current).first_line   = (Current).last_line   =              \
> --          YYRHSLOC (Rhs, 0).last_line;                                \
> --        (Current).first_column = (Current).last_column =              \
> --          YYRHSLOC (Rhs, 0).last_column;                              \
> --      }                                                               \
> --    while (YYID (0))
> --#endif
> -+#define yyerrok         (yyerrstatus = 0)
> -+#define yyclearin       (yychar = YYEMPTY)
> -
> -+#define YYACCEPT        goto yyacceptlab
> -+#define YYABORT         goto yyabortlab
> -+#define YYERROR         goto yyerrorlab
> -+#define YYNOMEM         goto yyexhaustedlab
> -
> --/* YY_LOCATION_PRINT -- Print the location on the stream.
> --   This macro was not mandated originally: define only if we know
> --   we won't break user code: when these are the locations we know.  */
> --
> --#ifndef YY_LOCATION_PRINT
> --# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
> --#  define YY_LOCATION_PRINT(File, Loc)                        \
> --     fprintf (File, "%d.%d-%d.%d",                    \
> --            (Loc).first_line, (Loc).first_column,     \
> --            (Loc).last_line,  (Loc).last_column)
> --# else
> --#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
> --# endif
> --#endif
> -
> -+#define YYRECOVERING()  (!!yyerrstatus)
> -
> --/* YYLEX -- calling `yylex' with the right arguments.  */
> -+#define YYBACKUP(Token, Value)                                    \
> -+  do                                                              \
> -+    if (yychar == YYEMPTY)                                        \
> -+      {                                                           \
> -+        yychar = (Token);                                         \
> -+        yylval = (Value);                                         \
> -+        YYPOPSTACK (yylen);                                       \
> -+        yystate = *yyssp;                                         \
> -+        goto yybackup;                                            \
> -+      }                                                           \
> -+    else                                                          \
> -+      {                                                           \
> -+        yyerror (YY_("syntax error: cannot back up")); \
> -+        YYERROR;                                                  \
> -+      }                                                           \
> -+  while (0)
> -+
> -+/* Backward compatibility with an undocumented macro.
> -+   Use YYerror or YYUNDEF. */
> -+#define YYERRCODE YYUNDEF
> -
> --#ifdef YYLEX_PARAM
> --# define YYLEX yylex (YYLEX_PARAM)
> --#else
> --# define YYLEX yylex ()
> --#endif
> -
> - /* Enable debugging if requested.  */
> - #if YYDEBUG
> -@@ -2321,80 +2213,58 @@ while (YYID (0))
> - #  define YYFPRINTF fprintf
> - # endif
> -
> --# define YYDPRINTF(Args)                      \
> --do {                                          \
> --  if (yydebug)                                        \
> --    YYFPRINTF Args;                           \
> --} while (YYID (0))
> --
> --# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
>         \
> --do {                                                                    \
> --  if (yydebug)
>         \
> --    {                                                                   \
> --      YYFPRINTF (stderr, "%s ", Title);
>        \
> --      yy_symbol_print (stderr,
>         \
> --                Type, Value); \
> --      YYFPRINTF (stderr, "\n");
>        \
> --    }                                                                   \
> --} while (YYID (0))
> --
> --
> --/*--------------------------------.
> --| Print this symbol on YYOUTPUT.  |
> --`--------------------------------*/
> --
> --/*ARGSUSED*/
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static void
> --yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const
> yyvaluep)
> --#else
> -+# define YYDPRINTF(Args)                        \
> -+do {                                            \
> -+  if (yydebug)                                  \
> -+    YYFPRINTF Args;                             \
> -+} while (0)
> -+
> -+
> -+
> -+
> -+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
>   \
> -+do {
>   \
> -+  if (yydebug)
>   \
> -+    {
>  \
> -+      YYFPRINTF (stderr, "%s ", Title);
>  \
> -+      yy_symbol_print (stderr,
>   \
> -+                  Kind, Value); \
> -+      YYFPRINTF (stderr, "\n");
>  \
> -+    }
>  \
> -+} while (0)
> -+
> -+
> -+/*-----------------------------------.
> -+| Print this symbol's value on YYO.  |
> -+`-----------------------------------*/
> -+
> - static void
> --yy_symbol_value_print (yyoutput, yytype, yyvaluep)
> --    FILE *yyoutput;
> --    int yytype;
> --    YYSTYPE const * const yyvaluep;
> --#endif
> -+yy_symbol_value_print (FILE *yyo,
> -+                       yysymbol_kind_t yykind, YYSTYPE const * const
> yyvaluep)
> - {
> -+  FILE *yyoutput = yyo;
> -+  YY_USE (yyoutput);
> -   if (!yyvaluep)
> -     return;
> --# ifdef YYPRINT
> --  if (yytype < YYNTOKENS)
> --    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
> --# else
> --  YYUSE (yyoutput);
> --# endif
> --  switch (yytype)
> --    {
> --      default:
> --      break;
> --    }
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -+  YY_USE (yykind);
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_END
> - }
> -
> -
> --/*--------------------------------.
> --| Print this symbol on YYOUTPUT.  |
> --`--------------------------------*/
> -+/*---------------------------.
> -+| Print this symbol on YYO.  |
> -+`---------------------------*/
> -
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static void
> --yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const
> yyvaluep)
> --#else
> - static void
> --yy_symbol_print (yyoutput, yytype, yyvaluep)
> --    FILE *yyoutput;
> --    int yytype;
> --    YYSTYPE const * const yyvaluep;
> --#endif
> -+yy_symbol_print (FILE *yyo,
> -+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
> - {
> --  if (yytype < YYNTOKENS)
> --    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
> --  else
> --    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
> -+  YYFPRINTF (yyo, "%s %s (",
> -+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name
> (yykind));
> -
> --  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
> --  YYFPRINTF (yyoutput, ")");
> -+  yy_symbol_value_print (yyo, yykind, yyvaluep);
> -+  YYFPRINTF (yyo, ")");
> - }
> -
> - /*------------------------------------------------------------------.
> -@@ -2402,80 +2272,68 @@ yy_symbol_print (yyoutput, yytype, yyval
> - | TOP (included).                                                   |
> - `------------------------------------------------------------------*/
> -
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static void
> --yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
> --#else
> - static void
> --yy_stack_print (bottom, top)
> --    yytype_int16 *bottom;
> --    yytype_int16 *top;
> --#endif
> -+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
> - {
> -   YYFPRINTF (stderr, "Stack now");
> --  for (; bottom <= top; ++bottom)
> --    YYFPRINTF (stderr, " %d", *bottom);
> -+  for (; yybottom <= yytop; yybottom++)
> -+    {
> -+      int yybot = *yybottom;
> -+      YYFPRINTF (stderr, " %d", yybot);
> -+    }
> -   YYFPRINTF (stderr, "\n");
> - }
> -
> --# define YY_STACK_PRINT(Bottom, Top)                          \
> --do {                                                          \
> --  if (yydebug)                                                        \
> --    yy_stack_print ((Bottom), (Top));                         \
> --} while (YYID (0))
> -+# define YY_STACK_PRINT(Bottom, Top)                            \
> -+do {                                                            \
> -+  if (yydebug)                                                  \
> -+    yy_stack_print ((Bottom), (Top));                           \
> -+} while (0)
> -
> -
> - /*------------------------------------------------.
> - | Report that the YYRULE is going to be reduced.  |
> - `------------------------------------------------*/
> -
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> - static void
> --yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
> --#else
> --static void
> --yy_reduce_print (yyvsp, yyrule)
> --    YYSTYPE *yyvsp;
> --    int yyrule;
> --#endif
> -+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
> -+                 int yyrule)
> - {
> -+  int yylno = yyrline[yyrule];
> -   int yynrhs = yyr2[yyrule];
> -   int yyi;
> --  unsigned long int yylno = yyrline[yyrule];
> --  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
> --           yyrule - 1, yylno);
> -+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
> -+             yyrule - 1, yylno);
> -   /* The symbols being reduced.  */
> -   for (yyi = 0; yyi < yynrhs; yyi++)
> -     {
> --      fprintf (stderr, "   $%d = ", yyi + 1);
> --      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
> --                     &(yyvsp[(yyi + 1) - (yynrhs)])
> --                                     );
> --      fprintf (stderr, "\n");
> -+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
> -+      yy_symbol_print (stderr,
> -+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
> -+                       &yyvsp[(yyi + 1) - (yynrhs)]);
> -+      YYFPRINTF (stderr, "\n");
> -     }
> - }
> -
> --# define YY_REDUCE_PRINT(Rule)                \
> --do {                                  \
> --  if (yydebug)                                \
> --    yy_reduce_print (yyvsp, Rule); \
> --} while (YYID (0))
> -+# define YY_REDUCE_PRINT(Rule)          \
> -+do {                                    \
> -+  if (yydebug)                          \
> -+    yy_reduce_print (yyssp, yyvsp, Rule); \
> -+} while (0)
> -
> - /* Nonzero means print parse trace.  It is left uninitialized so that
> -    multiple parsers can coexist.  */
> - int yydebug;
> - #else /* !YYDEBUG */
> --# define YYDPRINTF(Args)
> --# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
> -+# define YYDPRINTF(Args) ((void) 0)
> -+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
> - # define YY_STACK_PRINT(Bottom, Top)
> - # define YY_REDUCE_PRINT(Rule)
> - #endif /* !YYDEBUG */
> -
> -
> - /* YYINITDEPTH -- initial size of the parser's stacks.  */
> --#ifndef       YYINITDEPTH
> -+#ifndef YYINITDEPTH
> - # define YYINITDEPTH 200
> - #endif
> -
> -@@ -2490,478 +2348,219 @@ int yydebug;
> - # define YYMAXDEPTH 10000
> - #endif
> -
> --
> -
> --#if YYERROR_VERBOSE
> -
> --# ifndef yystrlen
> --#  if defined __GLIBC__ && defined _STRING_H
> --#   define yystrlen strlen
> --#  else
> --/* Return the length of YYSTR.  */
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static YYSIZE_T
> --yystrlen (const char *yystr)
> --#else
> --static YYSIZE_T
> --yystrlen (yystr)
> --    const char *yystr;
> --#endif
> --{
> --  YYSIZE_T yylen;
> --  for (yylen = 0; yystr[yylen]; yylen++)
> --    continue;
> --  return yylen;
> --}
> --#  endif
> --# endif
> -
> --# ifndef yystpcpy
> --#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
> --#   define yystpcpy stpcpy
> --#  else
> --/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
> --   YYDEST.  */
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static char *
> --yystpcpy (char *yydest, const char *yysrc)
> --#else
> --static char *
> --yystpcpy (yydest, yysrc)
> --    char *yydest;
> --    const char *yysrc;
> --#endif
> --{
> --  char *yyd = yydest;
> --  const char *yys = yysrc;
> -
> --  while ((*yyd++ = *yys++) != '\0')
> --    continue;
> --
> --  return yyd - 1;
> --}
> --#  endif
> --# endif
> --
> --# ifndef yytnamerr
> --/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
> --   quotes and backslashes, so that it's suitable for yyerror.  The
> --   heuristic is that double-quoting is unnecessary unless the string
> --   contains an apostrophe, a comma, or backslash (other than
> --   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
> --   null, do not copy; instead, return the length of what the result
> --   would have been.  */
> --static YYSIZE_T
> --yytnamerr (char *yyres, const char *yystr)
> --{
> --  if (*yystr == '"')
> --    {
> --      YYSIZE_T yyn = 0;
> --      char const *yyp = yystr;
> --
> --      for (;;)
> --      switch (*++yyp)
> --        {
> --        case '\'':
> --        case ',':
> --          goto do_not_strip_quotes;
> --
> --        case '\\':
> --          if (*++yyp != '\\')
> --            goto do_not_strip_quotes;
> --          /* Fall through.  */
> --        default:
> --          if (yyres)
> --            yyres[yyn] = *yyp;
> --          yyn++;
> --          break;
> --
> --        case '"':
> --          if (yyres)
> --            yyres[yyn] = '\0';
> --          return yyn;
> --        }
> --    do_not_strip_quotes: ;
> --    }
> --
> --  if (! yyres)
> --    return yystrlen (yystr);
> --
> --  return yystpcpy (yyres, yystr) - yyres;
> --}
> --# endif
> --
> --/* Copy into YYRESULT an error message about the unexpected token
> --   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
> --   including the terminating null byte.  If YYRESULT is null, do not
> --   copy anything; just return the number of bytes that would be
> --   copied.  As a special case, return 0 if an ordinary "syntax error"
> --   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
> --   size calculation.  */
> --static YYSIZE_T
> --yysyntax_error (char *yyresult, int yystate, int yychar)
> --{
> --  int yyn = yypact[yystate];
> --
> --  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
> --    return 0;
> --  else
> --    {
> --      int yytype = YYTRANSLATE (yychar);
> --      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
> --      YYSIZE_T yysize = yysize0;
> --      YYSIZE_T yysize1;
> --      int yysize_overflow = 0;
> --      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
> --      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
> --      int yyx;
> --
> --# if 0
> --      /* This is so xgettext sees the translatable formats that are
> --       constructed on the fly.  */
> --      YY_("syntax error, unexpected %s");
> --      YY_("syntax error, unexpected %s, expecting %s");
> --      YY_("syntax error, unexpected %s, expecting %s or %s");
> --      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
> --      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
> --# endif
> --      char *yyfmt;
> --      char const *yyf;
> --      static char const yyunexpected[] = "syntax error, unexpected %s";
> --      static char const yyexpecting[] = ", expecting %s";
> --      static char const yyor[] = " or %s";
> --      char yyformat[sizeof yyunexpected
> --                  + sizeof yyexpecting - 1
> --                  + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
> --                     * (sizeof yyor - 1))];
> --      char const *yyprefix = yyexpecting;
> --
> --      /* Start YYX at -YYN if negative to avoid negative indexes in
> --       YYCHECK.  */
> --      int yyxbegin = yyn < 0 ? -yyn : 0;
> --
> --      /* Stay within bounds of both yycheck and yytname.  */
> --      int yychecklim = YYLAST - yyn + 1;
> --      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
> --      int yycount = 1;
> --
> --      yyarg[0] = yytname[yytype];
> --      yyfmt = yystpcpy (yyformat, yyunexpected);
> --
> --      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
> --      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
> --        {
> --          if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
> --            {
> --              yycount = 1;
> --              yysize = yysize0;
> --              yyformat[sizeof yyunexpected - 1] = '\0';
> --              break;
> --            }
> --          yyarg[yycount++] = yytname[yyx];
> --          yysize1 = yysize + yytnamerr (0, yytname[yyx]);
> --          yysize_overflow |= (yysize1 < yysize);
> --          yysize = yysize1;
> --          yyfmt = yystpcpy (yyfmt, yyprefix);
> --          yyprefix = yyor;
> --        }
> --
> --      yyf = YY_(yyformat);
> --      yysize1 = yysize + yystrlen (yyf);
> --      yysize_overflow |= (yysize1 < yysize);
> --      yysize = yysize1;
> --
> --      if (yysize_overflow)
> --      return YYSIZE_MAXIMUM;
> --
> --      if (yyresult)
> --      {
> --        /* Avoid sprintf, as that infringes on the user's name space.
> --           Don't have undefined behavior even if the translation
> --           produced a string with the wrong number of "%s"s.  */
> --        char *yyp = yyresult;
> --        int yyi = 0;
> --        while ((*yyp = *yyf) != '\0')
> --          {
> --            if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
> --              {
> --                yyp += yytnamerr (yyp, yyarg[yyi++]);
> --                yyf += 2;
> --              }
> --            else
> --              {
> --                yyp++;
> --                yyf++;
> --              }
> --          }
> --      }
> --      return yysize;
> --    }
> --}
> --#endif /* YYERROR_VERBOSE */
> --
> -
> - /*-----------------------------------------------.
> - | Release the memory associated to this symbol.  |
> - `-----------------------------------------------*/
> -
> --/*ARGSUSED*/
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --static void
> --yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
> --#else
> - static void
> --yydestruct (yymsg, yytype, yyvaluep)
> --    const char *yymsg;
> --    int yytype;
> --    YYSTYPE *yyvaluep;
> --#endif
> -+yydestruct (const char *yymsg,
> -+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
> - {
> --  YYUSE (yyvaluep);
> --
> -+  YY_USE (yyvaluep);
> -   if (!yymsg)
> -     yymsg = "Deleting";
> --  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
> --
> --  switch (yytype)
> --    {
> -+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
> -
> --      default:
> --      break;
> --    }
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -+  YY_USE (yykind);
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_END
> - }
> --
> --
> --/* Prevent warnings from -Wmissing-prototypes.  */
> --
> --#ifdef YYPARSE_PARAM
> --#if defined __STDC__ || defined __cplusplus
> --int yyparse (void *YYPARSE_PARAM);
> --#else
> --int yyparse ();
> --#endif
> --#else /* ! YYPARSE_PARAM */
> --#if defined __STDC__ || defined __cplusplus
> --int yyparse (void);
> --#else
> --int yyparse ();
> --#endif
> --#endif /* ! YYPARSE_PARAM */
> --
> -
> -
> --/* The look-ahead symbol.  */
> -+/* Lookahead token kind.  */
> - int yychar;
> -
> --/* The semantic value of the look-ahead symbol.  */
> -+/* The semantic value of the lookahead symbol.  */
> - YYSTYPE yylval;
> --
> - /* Number of syntax errors so far.  */
> - int yynerrs;
> -
> -
> -
> -+
> - /*----------.
> - | yyparse.  |
> - `----------*/
> -
> --#ifdef YYPARSE_PARAM
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> --int
> --yyparse (void *YYPARSE_PARAM)
> --#else
> --int
> --yyparse (YYPARSE_PARAM)
> --    void *YYPARSE_PARAM;
> --#endif
> --#else /* ! YYPARSE_PARAM */
> --#if (defined __STDC__ || defined __C99__FUNC__ \
> --     || defined __cplusplus || defined _MSC_VER)
> - int
> - yyparse (void)
> --#else
> --int
> --yyparse ()
> --
> --#endif
> --#endif
> - {
> --
> --  int yystate;
> -+    yy_state_fast_t yystate = 0;
> -+    /* Number of tokens to shift before error messages enabled.  */
> -+    int yyerrstatus = 0;
> -+
> -+    /* Refer to the stacks through separate pointers, to allow yyoverflow
> -+       to reallocate them elsewhere.  */
> -+
> -+    /* Their size.  */
> -+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
> -+
> -+    /* The state stack: array, bottom, top.  */
> -+    yy_state_t yyssa[YYINITDEPTH];
> -+    yy_state_t *yyss = yyssa;
> -+    yy_state_t *yyssp = yyss;
> -+
> -+    /* The semantic value stack: array, bottom, top.  */
> -+    YYSTYPE yyvsa[YYINITDEPTH];
> -+    YYSTYPE *yyvs = yyvsa;
> -+    YYSTYPE *yyvsp = yyvs;
> -+
> -   int yyn;
> -+  /* The return value of yyparse.  */
> -   int yyresult;
> --  /* Number of tokens to shift before error messages enabled.  */
> --  int yyerrstatus;
> --  /* Look-ahead token as an internal (translated) token number.  */
> --  int yytoken = 0;
> --#if YYERROR_VERBOSE
> --  /* Buffer for error messages, and its allocated size.  */
> --  char yymsgbuf[128];
> --  char *yymsg = yymsgbuf;
> --  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
> --#endif
> --
> --  /* Three stacks and their tools:
> --     `yyss': related to states,
> --     `yyvs': related to semantic values,
> --     `yyls': related to locations.
> --
> --     Refer to the stacks thru separate pointers, to allow yyoverflow
> --     to reallocate them elsewhere.  */
> --
> --  /* The state stack.  */
> --  yytype_int16 yyssa[YYINITDEPTH];
> --  yytype_int16 *yyss = yyssa;
> --  yytype_int16 *yyssp;
> --
> --  /* The semantic value stack.  */
> --  YYSTYPE yyvsa[YYINITDEPTH];
> --  YYSTYPE *yyvs = yyvsa;
> --  YYSTYPE *yyvsp;
> --
> --
> --
> --#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
> --
> --  YYSIZE_T yystacksize = YYINITDEPTH;
> --
> -+  /* Lookahead symbol kind.  */
> -+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
> -   /* The variables used to return semantic value and location from the
> -      action routines.  */
> -   YYSTYPE yyval;
> -
> -
> -+
> -+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
> -+
> -   /* The number of symbols on the RHS of the reduced rule.
> -      Keep to zero when no symbol should be popped.  */
> -   int yylen = 0;
> -
> -   YYDPRINTF ((stderr, "Starting parse\n"));
> -
> --  yystate = 0;
> --  yyerrstatus = 0;
> --  yynerrs = 0;
> --  yychar = YYEMPTY;           /* Cause a token to be read.  */
> --
> --  /* Initialize stack pointers.
> --     Waste one element of value and location stack
> --     so that they stay on the same level as the state stack.
> --     The wasted elements are never initialized.  */
> --
> --  yyssp = yyss;
> --  yyvsp = yyvs;
> -+  yychar = YYEMPTY; /* Cause a token to be read.  */
> -
> -   goto yysetstate;
> -
> -+
> - /*------------------------------------------------------------.
> --| yynewstate -- Push a new state, which is found in yystate.  |
> -+| yynewstate -- push a new state, which is found in yystate.  |
> - `------------------------------------------------------------*/
> -- yynewstate:
> -+yynewstate:
> -   /* In all cases, when you get here, the value and location stacks
> -      have just been pushed.  So pushing a state here evens the stacks.
> */
> -   yyssp++;
> -
> -- yysetstate:
> --  *yyssp = yystate;
> -+
> -+/*--------------------------------------------------------------------.
> -+| yysetstate -- set current state (the top of the stack) to yystate.  |
> -+`--------------------------------------------------------------------*/
> -+yysetstate:
> -+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
> -+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
> -+  YY_IGNORE_USELESS_CAST_BEGIN
> -+  *yyssp = YY_CAST (yy_state_t, yystate);
> -+  YY_IGNORE_USELESS_CAST_END
> -+  YY_STACK_PRINT (yyss, yyssp);
> -
> -   if (yyss + yystacksize - 1 <= yyssp)
> -+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
> -+    YYNOMEM;
> -+#else
> -     {
> -       /* Get the current used size of the three stacks, in elements.  */
> --      YYSIZE_T yysize = yyssp - yyss + 1;
> -+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
> -
> --#ifdef yyoverflow
> -+# if defined yyoverflow
> -       {
> --      /* Give user a chance to reallocate the stack.  Use copies of
> --         these so that the &'s don't force the real ones into
> --         memory.  */
> --      YYSTYPE *yyvs1 = yyvs;
> --      yytype_int16 *yyss1 = yyss;
> --
> --
> --      /* Each stack pointer address is followed by the size of the
> --         data in use in that stack, in bytes.  This used to be a
> --         conditional around just the two extra args, but that might
> --         be undefined if yyoverflow is a macro.  */
> --      yyoverflow (YY_("memory exhausted"),
> --                  &yyss1, yysize * sizeof (*yyssp),
> --                  &yyvs1, yysize * sizeof (*yyvsp),
> --
> --                  &yystacksize);
> --
> --      yyss = yyss1;
> --      yyvs = yyvs1;
> -+        /* Give user a chance to reallocate the stack.  Use copies of
> -+           these so that the &'s don't force the real ones into
> -+           memory.  */
> -+        yy_state_t *yyss1 = yyss;
> -+        YYSTYPE *yyvs1 = yyvs;
> -+
> -+        /* Each stack pointer address is followed by the size of the
> -+           data in use in that stack, in bytes.  This used to be a
> -+           conditional around just the two extra args, but that might
> -+           be undefined if yyoverflow is a macro.  */
> -+        yyoverflow (YY_("memory exhausted"),
> -+                    &yyss1, yysize * YYSIZEOF (*yyssp),
> -+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
> -+                    &yystacksize);
> -+        yyss = yyss1;
> -+        yyvs = yyvs1;
> -       }
> --#else /* no yyoverflow */
> --# ifndef YYSTACK_RELOCATE
> --      goto yyexhaustedlab;
> --# else
> -+# else /* defined YYSTACK_RELOCATE */
> -       /* Extend the stack our own way.  */
> -       if (YYMAXDEPTH <= yystacksize)
> --      goto yyexhaustedlab;
> -+        YYNOMEM;
> -       yystacksize *= 2;
> -       if (YYMAXDEPTH < yystacksize)
> --      yystacksize = YYMAXDEPTH;
> -+        yystacksize = YYMAXDEPTH;
> -
> -       {
> --      yytype_int16 *yyss1 = yyss;
> --      union yyalloc *yyptr =
> --        (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
> --      if (! yyptr)
> --        goto yyexhaustedlab;
> --      YYSTACK_RELOCATE (yyss);
> --      YYSTACK_RELOCATE (yyvs);
> --
> -+        yy_state_t *yyss1 = yyss;
> -+        union yyalloc *yyptr =
> -+          YY_CAST (union yyalloc *,
> -+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES
> (yystacksize))));
> -+        if (! yyptr)
> -+          YYNOMEM;
> -+        YYSTACK_RELOCATE (yyss_alloc, yyss);
> -+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
> - #  undef YYSTACK_RELOCATE
> --      if (yyss1 != yyssa)
> --        YYSTACK_FREE (yyss1);
> -+        if (yyss1 != yyssa)
> -+          YYSTACK_FREE (yyss1);
> -       }
> - # endif
> --#endif /* no yyoverflow */
> -
> -       yyssp = yyss + yysize - 1;
> -       yyvsp = yyvs + yysize - 1;
> -
> --
> --      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
> --                (unsigned long int) yystacksize));
> -+      YY_IGNORE_USELESS_CAST_BEGIN
> -+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
> -+                  YY_CAST (long, yystacksize)));
> -+      YY_IGNORE_USELESS_CAST_END
> -
> -       if (yyss + yystacksize - 1 <= yyssp)
> --      YYABORT;
> -+        YYABORT;
> -     }
> -+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
> -
> --  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
> -+
> -+  if (yystate == YYFINAL)
> -+    YYACCEPT;
> -
> -   goto yybackup;
> -
> -+
> - /*-----------.
> - | yybackup.  |
> - `-----------*/
> - yybackup:
> --
> -   /* Do appropriate processing given the current state.  Read a
> --     look-ahead token if we need one and don't already have one.  */
> -+     lookahead token if we need one and don't already have one.  */
> -
> --  /* First try to decide what to do without reference to look-ahead
> token.  */
> -+  /* First try to decide what to do without reference to lookahead
> token.  */
> -   yyn = yypact[yystate];
> --  if (yyn == YYPACT_NINF)
> -+  if (yypact_value_is_default (yyn))
> -     goto yydefault;
> -
> --  /* Not known => get a look-ahead token if don't already have one.  */
> -+  /* Not known => get a lookahead token if don't already have one.  */
> -
> --  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
> -+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
> -   if (yychar == YYEMPTY)
> -     {
> --      YYDPRINTF ((stderr, "Reading a token: "));
> --      yychar = YYLEX;
> -+      YYDPRINTF ((stderr, "Reading a token\n"));
> -+      yychar = yylex ();
> -     }
> -
> -   if (yychar <= YYEOF)
> -     {
> --      yychar = yytoken = YYEOF;
> -+      yychar = YYEOF;
> -+      yytoken = YYSYMBOL_YYEOF;
> -       YYDPRINTF ((stderr, "Now at end of input.\n"));
> -     }
> -+  else if (yychar == YYerror)
> -+    {
> -+      /* The scanner already issued an error message, process directly
> -+         to error recovery.  But do not keep the error token as
> -+         lookahead, it is too special and may lead us to an endless
> -+         loop in error recovery. */
> -+      yychar = YYUNDEF;
> -+      yytoken = YYSYMBOL_YYerror;
> -+      goto yyerrlab1;
> -+    }
> -   else
> -     {
> -       yytoken = YYTRANSLATE (yychar);
> -@@ -2976,30 +2575,26 @@ yybackup:
> -   yyn = yytable[yyn];
> -   if (yyn <= 0)
> -     {
> --      if (yyn == 0 || yyn == YYTABLE_NINF)
> --      goto yyerrlab;
> -+      if (yytable_value_is_error (yyn))
> -+        goto yyerrlab;
> -       yyn = -yyn;
> -       goto yyreduce;
> -     }
> -
> --  if (yyn == YYFINAL)
> --    YYACCEPT;
> --
> -   /* Count tokens shifted since error; after three, turn off error
> -      status.  */
> -   if (yyerrstatus)
> -     yyerrstatus--;
> -
> --  /* Shift the look-ahead token.  */
> -+  /* Shift the lookahead token.  */
> -   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
> --
> --  /* Discard the shifted token unless it is eof.  */
> --  if (yychar != YYEOF)
> --    yychar = YYEMPTY;
> --
> -   yystate = yyn;
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -   *++yyvsp = yylval;
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_END
> -
> -+  /* Discard the shifted token.  */
> -+  yychar = YYEMPTY;
> -   goto yynewstate;
> -
> -
> -@@ -3014,14 +2609,14 @@ yydefault:
> -
> -
> - /*-----------------------------.
> --| yyreduce -- Do a reduction.  |
> -+| yyreduce -- do a reduction.  |
> - `-----------------------------*/
> - yyreduce:
> -   /* yyn is the number of a rule to reduce with.  */
> -   yylen = yyr2[yyn];
> -
> -   /* If YYLEN is nonzero, implement the default value of the action:
> --     `$$ = $1'.
> -+     '$$ = $1'.
> -
> -      Otherwise, the following line sets YYVAL to garbage.
> -      This behavior is undocumented and Bison
> -@@ -3034,9 +2629,9 @@ yyreduce:
> -   YY_REDUCE_PRINT (yyn);
> -   switch (yyn)
> -     {
> --        case 4:
> --#line 578 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 4: /* $@1: %empty  */
> -+#line 579 "parser.y"
> -+            {
> -             /*
> -              * We don't do these in parserEOF() because the parser is
> reading
> -              * ahead and that would be too early.
> -@@ -3053,11 +2648,12 @@ yyreduce:
> -                 previousFile = NULL;
> -             }
> -     }
> -+#line 2652 "../parser.c"
> -     break;
> -
> --  case 55:
> --#line 648 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 55: /* nsstatement: typehdrcode  */
> -+#line 649 "parser.y"
> -+                    {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -3065,203 +2661,224 @@ yyreduce:
> -                 if (scope == NULL)
> -                     yyerror("%TypeHeaderCode can only be used in a
> namespace, class or mapped type");
> -
> --                appendCodeBlock(&scope->iff->hdrcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->iff->hdrcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 2668 "../parser.c"
> -     break;
> -
> --  case 56:
> --#line 661 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 56: /* defdocstringfmt: TK_DEFDOCSTRFMT defdocstringfmt_args  */
> -+#line 662 "parser.y"
> -+                                                      {
> -             if (notSkipping())
> --                currentModule->defdocstringfmt =
> convertFormat((yyvsp[(2) - (2)].defdocstringfmt).name);
> -+                currentModule->defdocstringfmt =
> convertFormat((yyvsp[0].defdocstringfmt).name);
> -         }
> -+#line 2677 "../parser.c"
> -     break;
> -
> --  case 57:
> --#line 667 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 57: /* defdocstringfmt_args: TK_STRING_VALUE  */
> -+#line 668 "parser.y"
> -+                                        {
> -             resetLexerState();
> -
> --            (yyval.defdocstringfmt).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.defdocstringfmt).name = (yyvsp[0].text);
> -         }
> -+#line 2687 "../parser.c"
> -     break;
> -
> --  case 58:
> --#line 672 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defdocstringfmt) = (yyvsp[(2) - (3)].defdocstringfmt);
> -+  case 58: /* defdocstringfmt_args: '(' defdocstringfmt_arg_list ')'  */
> -+#line 673 "parser.y"
> -+                                         {
> -+            (yyval.defdocstringfmt) = (yyvsp[-1].defdocstringfmt);
> -         }
> -+#line 2695 "../parser.c"
> -     break;
> -
> --  case 60:
> --#line 678 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defdocstringfmt) = (yyvsp[(1) - (3)].defdocstringfmt);
> -+  case 60: /* defdocstringfmt_arg_list: defdocstringfmt_arg_list ','
> defdocstringfmt_arg  */
> -+#line 679 "parser.y"
> -+                                                         {
> -+            (yyval.defdocstringfmt) = (yyvsp[-2].defdocstringfmt);
> -
> --            switch ((yyvsp[(3) - (3)].defdocstringfmt).token)
> -+            switch ((yyvsp[0].defdocstringfmt).token)
> -             {
> --            case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[(3) -
> (3)].defdocstringfmt).name; break;
> -+            case TK_NAME: (yyval.defdocstringfmt).name =
> (yyvsp[0].defdocstringfmt).name; break;
> -             }
> -         }
> -+#line 2708 "../parser.c"
> -     break;
> -
> --  case 61:
> --#line 688 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 61: /* defdocstringfmt_arg: TK_NAME '=' TK_STRING_VALUE  */
> -+#line 689 "parser.y"
> -+                                                    {
> -             (yyval.defdocstringfmt).token = TK_NAME;
> -
> --            (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.defdocstringfmt).name = (yyvsp[0].text);
> -         }
> -+#line 2718 "../parser.c"
> -     break;
> -
> --  case 62:
> --#line 695 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 62: /* defdocstringsig: TK_DEFDOCSTRSIG defdocstringsig_args  */
> -+#line 696 "parser.y"
> -+                                                      {
> -             if (notSkipping())
> --                currentModule->defdocstringsig =
> convertSignature((yyvsp[(2) - (2)].defdocstringsig).name);
> -+                currentModule->defdocstringsig =
> convertSignature((yyvsp[0].defdocstringsig).name);
> -         }
> -+#line 2727 "../parser.c"
> -     break;
> -
> --  case 63:
> --#line 701 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 63: /* defdocstringsig_args: TK_STRING_VALUE  */
> -+#line 702 "parser.y"
> -+                                        {
> -             resetLexerState();
> -
> --            (yyval.defdocstringsig).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.defdocstringsig).name = (yyvsp[0].text);
> -         }
> -+#line 2737 "../parser.c"
> -     break;
> -
> --  case 64:
> --#line 706 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defdocstringsig) = (yyvsp[(2) - (3)].defdocstringsig);
> -+  case 64: /* defdocstringsig_args: '(' defdocstringsig_arg_list ')'  */
> -+#line 707 "parser.y"
> -+                                         {
> -+            (yyval.defdocstringsig) = (yyvsp[-1].defdocstringsig);
> -         }
> -+#line 2745 "../parser.c"
> -     break;
> -
> --  case 66:
> --#line 712 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defdocstringsig) = (yyvsp[(1) - (3)].defdocstringsig);
> -+  case 66: /* defdocstringsig_arg_list: defdocstringsig_arg_list ','
> defdocstringsig_arg  */
> -+#line 713 "parser.y"
> -+                                                         {
> -+            (yyval.defdocstringsig) = (yyvsp[-2].defdocstringsig);
> -
> --            switch ((yyvsp[(3) - (3)].defdocstringsig).token)
> -+            switch ((yyvsp[0].defdocstringsig).token)
> -             {
> --            case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[(3) -
> (3)].defdocstringsig).name; break;
> -+            case TK_NAME: (yyval.defdocstringsig).name =
> (yyvsp[0].defdocstringsig).name; break;
> -             }
> -         }
> -+#line 2758 "../parser.c"
> -     break;
> -
> --  case 67:
> --#line 722 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 67: /* defdocstringsig_arg: TK_NAME '=' TK_STRING_VALUE  */
> -+#line 723 "parser.y"
> -+                                                    {
> -             (yyval.defdocstringsig).token = TK_NAME;
> -
> --            (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.defdocstringsig).name = (yyvsp[0].text);
> -         }
> -+#line 2768 "../parser.c"
> -     break;
> -
> --  case 68:
> --#line 729 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 68: /* defencoding: TK_DEFENCODING defencoding_args  */
> -+#line 730 "parser.y"
> -+                                                {
> -             if (notSkipping())
> -             {
> --                if ((currentModule->encoding =
> convertEncoding((yyvsp[(2) - (2)].defencoding).name)) == no_type)
> -+                if ((currentModule->encoding =
> convertEncoding((yyvsp[0].defencoding).name)) == no_type)
> -                     yyerror("The %DefaultEncoding name must be one of
> \"ASCII\", \"Latin-1\", \"UTF-8\" or \"None\"");
> -             }
> -         }
> -+#line 2780 "../parser.c"
> -     break;
> -
> --  case 69:
> --#line 738 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 69: /* defencoding_args: TK_STRING_VALUE  */
> -+#line 739 "parser.y"
> -+                                    {
> -             resetLexerState();
> -
> --            (yyval.defencoding).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.defencoding).name = (yyvsp[0].text);
> -         }
> -+#line 2790 "../parser.c"
> -     break;
> -
> --  case 70:
> --#line 743 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defencoding) = (yyvsp[(2) - (3)].defencoding);
> -+  case 70: /* defencoding_args: '(' defencoding_arg_list ')'  */
> -+#line 744 "parser.y"
> -+                                     {
> -+            (yyval.defencoding) = (yyvsp[-1].defencoding);
> -         }
> -+#line 2798 "../parser.c"
> -     break;
> -
> --  case 72:
> --#line 749 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defencoding) = (yyvsp[(1) - (3)].defencoding);
> -+  case 72: /* defencoding_arg_list: defencoding_arg_list ','
> defencoding_arg  */
> -+#line 750 "parser.y"
> -+                                                 {
> -+            (yyval.defencoding) = (yyvsp[-2].defencoding);
> -
> --            switch ((yyvsp[(3) - (3)].defencoding).token)
> -+            switch ((yyvsp[0].defencoding).token)
> -             {
> --            case TK_NAME: (yyval.defencoding).name = (yyvsp[(3) -
> (3)].defencoding).name; break;
> -+            case TK_NAME: (yyval.defencoding).name =
> (yyvsp[0].defencoding).name; break;
> -             }
> -         }
> -+#line 2811 "../parser.c"
> -     break;
> -
> --  case 73:
> --#line 759 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 73: /* defencoding_arg: TK_NAME '=' TK_STRING_VALUE  */
> -+#line 760 "parser.y"
> -+                                                {
> -             (yyval.defencoding).token = TK_NAME;
> -
> --            (yyval.defencoding).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.defencoding).name = (yyvsp[0].text);
> -         }
> -+#line 2821 "../parser.c"
> -     break;
> -
> --  case 74:
> --#line 766 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 74: /* plugin: TK_PLUGIN plugin_args  */
> -+#line 767 "parser.y"
> -+                                  {
> -             /*
> -              * Note that %Plugin is internal in SIP v4.  The current
> thinking
> -              * is that it won't be needed for SIP v5.
> -              */
> -
> -             if (notSkipping())
> --                appendString(&currentSpec->plugins, (yyvsp[(2) -
> (2)].plugin).name);
> -+                appendString(&currentSpec->plugins,
> (yyvsp[0].plugin).name);
> -         }
> -+#line 2835 "../parser.c"
> -     break;
> -
> --  case 75:
> --#line 777 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 75: /* plugin_args: TK_NAME_VALUE  */
> -+#line 778 "parser.y"
> -+                              {
> -             resetLexerState();
> -
> --            (yyval.plugin).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.plugin).name = (yyvsp[0].text);
> -         }
> -+#line 2845 "../parser.c"
> -     break;
> -
> --  case 76:
> --#line 782 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.plugin) = (yyvsp[(2) - (3)].plugin);
> -+  case 76: /* plugin_args: '(' plugin_arg_list ')'  */
> -+#line 783 "parser.y"
> -+                                {
> -+            (yyval.plugin) = (yyvsp[-1].plugin);
> -         }
> -+#line 2853 "../parser.c"
> -     break;
> -
> --  case 78:
> --#line 788 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.plugin) = (yyvsp[(1) - (3)].plugin);
> -+  case 78: /* plugin_arg_list: plugin_arg_list ',' plugin_arg  */
> -+#line 789 "parser.y"
> -+                                       {
> -+            (yyval.plugin) = (yyvsp[-2].plugin);
> -
> --            switch ((yyvsp[(3) - (3)].plugin).token)
> -+            switch ((yyvsp[0].plugin).token)
> -             {
> --            case TK_NAME: (yyval.plugin).name = (yyvsp[(3) -
> (3)].plugin).name; break;
> -+            case TK_NAME: (yyval.plugin).name = (yyvsp[0].plugin).name;
> break;
> -             }
> -         }
> -+#line 2866 "../parser.c"
> -     break;
> -
> --  case 79:
> --#line 798 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 79: /* plugin_arg: TK_NAME '=' TK_NAME_VALUE  */
> -+#line 799 "parser.y"
> -+                                      {
> -             (yyval.plugin).token = TK_NAME;
> -
> --            (yyval.plugin).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.plugin).name = (yyvsp[0].text);
> -         }
> -+#line 2876 "../parser.c"
> -     break;
> -
> --  case 80:
> --#line 805 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (3)].veh).name == NULL)
> -+  case 80: /* virterrorhandler: TK_VIRTERRORHANDLER veh_args codeblock
> */
> -+#line 806 "parser.y"
> -+                                                           {
> -+            if ((yyvsp[-1].veh).name == NULL)
> -                 yyerror("%VirtualErrorHandler must have a 'name'
> argument");
> -
> -             if (notSkipping())
> -@@ -3270,7 +2887,7 @@ yyreduce:
> -
> -                 /* Check there isn't already a handler with the same
> name. */
> -                 for (tailp = &currentSpec->errorhandlers; (veh = *tailp)
> != NULL; tailp = &veh->next)
> --                    if (strcmp(veh->name, (yyvsp[(2) - (3)].veh).name)
> == 0)
> -+                    if (strcmp(veh->name, (yyvsp[-1].veh).name) == 0)
> -                         break;
> -
> -                 if (veh != NULL)
> -@@ -3278,8 +2895,8 @@ yyreduce:
> -
> -                 veh = sipMalloc(sizeof (virtErrorHandler));
> -
> --                veh->name = (yyvsp[(2) - (3)].veh).name;
> --                appendCodeBlock(&veh->code, (yyvsp[(3) - (3)].codeb));
> -+                veh->name = (yyvsp[-1].veh).name;
> -+                appendCodeBlock(&veh->code, (yyvsp[0].codeb));
> -                 veh->mod = currentModule;
> -                 veh->index = -1;
> -                 veh->next = NULL;
> -@@ -3287,62 +2904,67 @@ yyreduce:
> -                 *tailp = veh;
> -             }
> -         }
> -+#line 2908 "../parser.c"
> -     break;
> -
> --  case 81:
> --#line 834 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 81: /* veh_args: TK_NAME_VALUE  */
> -+#line 835 "parser.y"
> -+                           {
> -             resetLexerState();
> -
> --            (yyval.veh).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.veh).name = (yyvsp[0].text);
> -         }
> -+#line 2918 "../parser.c"
> -     break;
> -
> --  case 82:
> --#line 839 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.veh) = (yyvsp[(2) - (3)].veh);
> -+  case 82: /* veh_args: '(' veh_arg_list ')'  */
> -+#line 840 "parser.y"
> -+                             {
> -+            (yyval.veh) = (yyvsp[-1].veh);
> -         }
> -+#line 2926 "../parser.c"
> -     break;
> -
> --  case 84:
> --#line 845 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.veh) = (yyvsp[(1) - (3)].veh);
> -+  case 84: /* veh_arg_list: veh_arg_list ',' veh_arg  */
> -+#line 846 "parser.y"
> -+                                 {
> -+            (yyval.veh) = (yyvsp[-2].veh);
> -
> --            switch ((yyvsp[(3) - (3)].veh).token)
> -+            switch ((yyvsp[0].veh).token)
> -             {
> --            case TK_NAME: (yyval.veh).name = (yyvsp[(3) -
> (3)].veh).name; break;
> -+            case TK_NAME: (yyval.veh).name = (yyvsp[0].veh).name; break;
> -             }
> -         }
> -+#line 2939 "../parser.c"
> -     break;
> -
> --  case 85:
> --#line 855 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 85: /* veh_arg: TK_NAME '=' TK_NAME_VALUE  */
> -+#line 856 "parser.y"
> -+                                   {
> -             (yyval.veh).token = TK_NAME;
> -
> --            (yyval.veh).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.veh).name = (yyvsp[0].text);
> -         }
> -+#line 2949 "../parser.c"
> -     break;
> -
> --  case 86:
> --#line 862 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 86: /* api: TK_API api_args  */
> -+#line 863 "parser.y"
> -+                        {
> -             if (notSkipping())
> -             {
> -                 apiVersionRangeDef *avd;
> -
> --                if (findAPI(currentSpec, (yyvsp[(2) - (2)].api).name) !=
> NULL)
> -+                if (findAPI(currentSpec, (yyvsp[0].api).name) != NULL)
> -                     yyerror("The API name in the %API directive has
> already been defined");
> -
> --                if ((yyvsp[(2) - (2)].api).version < 1)
> -+                if ((yyvsp[0].api).version < 1)
> -                     yyerror("The version number in the %API directive
> must be greater than or equal to 1");
> -
> -                 avd = sipMalloc(sizeof (apiVersionRangeDef));
> -
> --                avd->api_name = cacheName(currentSpec, (yyvsp[(2) -
> (2)].api).name);
> --                avd->from = (yyvsp[(2) - (2)].api).version;
> -+                avd->api_name = cacheName(currentSpec,
> (yyvsp[0].api).name);
> -+                avd->from = (yyvsp[0].api).version;
> -                 avd->to = -1;
> -
> -                 avd->next = currentModule->api_versions;
> -@@ -3352,63 +2974,69 @@ yyreduce:
> -                     setIsUsedName(avd->api_name);
> -             }
> -         }
> -+#line 2978 "../parser.c"
> -     break;
> -
> --  case 87:
> --#line 888 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 87: /* api_args: TK_NAME_VALUE TK_NUMBER_VALUE  */
> -+#line 889 "parser.y"
> -+                                          {
> -             resetLexerState();
> -
> -             deprecated("%API name and version number should be specified
> using the 'name' and 'version' arguments");
> -
> --            (yyval.api).name = (yyvsp[(1) - (2)].text);
> --            (yyval.api).version = (yyvsp[(2) - (2)].number);
> -+            (yyval.api).name = (yyvsp[-1].text);
> -+            (yyval.api).version = (yyvsp[0].number);
> -         }
> -+#line 2991 "../parser.c"
> -     break;
> -
> --  case 88:
> --#line 896 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.api) = (yyvsp[(2) - (3)].api);
> -+  case 88: /* api_args: '(' api_arg_list ')'  */
> -+#line 897 "parser.y"
> -+                             {
> -+            (yyval.api) = (yyvsp[-1].api);
> -         }
> -+#line 2999 "../parser.c"
> -     break;
> -
> --  case 90:
> --#line 902 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.api) = (yyvsp[(1) - (3)].api);
> -+  case 90: /* api_arg_list: api_arg_list ',' api_arg  */
> -+#line 903 "parser.y"
> -+                                 {
> -+            (yyval.api) = (yyvsp[-2].api);
> -
> --            switch ((yyvsp[(3) - (3)].api).token)
> -+            switch ((yyvsp[0].api).token)
> -             {
> --            case TK_NAME: (yyval.api).name = (yyvsp[(3) -
> (3)].api).name; break;
> --            case TK_VERSION: (yyval.api).version = (yyvsp[(3) -
> (3)].api).version; break;
> -+            case TK_NAME: (yyval.api).name = (yyvsp[0].api).name; break;
> -+            case TK_VERSION: (yyval.api).version =
> (yyvsp[0].api).version; break;
> -             }
> -         }
> -+#line 3013 "../parser.c"
> -     break;
> -
> --  case 91:
> --#line 913 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 91: /* api_arg: TK_NAME '=' name_or_string  */
> -+#line 914 "parser.y"
> -+                                       {
> -             (yyval.api).token = TK_NAME;
> -
> --            (yyval.api).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.api).name = (yyvsp[0].text);
> -             (yyval.api).version = 0;
> -         }
> -+#line 3024 "../parser.c"
> -     break;
> -
> --  case 92:
> --#line 919 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 92: /* api_arg: TK_VERSION '=' TK_NUMBER_VALUE  */
> -+#line 920 "parser.y"
> -+                                       {
> -             (yyval.api).token = TK_VERSION;
> -
> -             (yyval.api).name = NULL;
> --            (yyval.api).version = (yyvsp[(3) - (3)].number);
> -+            (yyval.api).version = (yyvsp[0].number);
> -         }
> -+#line 3035 "../parser.c"
> -     break;
> -
> --  case 93:
> --#line 927 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 93: /* exception: TK_EXCEPTION scopedname baseexception optflags
> exception_body  */
> -+#line 928 "parser.y"
> -+
>   {
> -             if (notSkipping())
> -             {
> -                 static const char *annos[] = {
> -@@ -3420,20 +3048,20 @@ yyreduce:
> -                 exceptionDef *xd;
> -                 const char *pyname;
> -
> --                checkAnnos(&(yyvsp[(4) - (5)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-1].optflags), annos);
> -
> -                 if (currentSpec->genc)
> -                     yyerror("%Exception not allowed in a C module");
> -
> --                if ((yyvsp[(5) - (5)].exception).raise_code == NULL)
> -+                if ((yyvsp[0].exception).raise_code == NULL)
> -                     yyerror("%Exception must have a %RaiseCode
> sub-directive");
> -
> --                pyname = getPythonName(currentModule, &(yyvsp[(4) -
> (5)].optflags), scopedNameTail((yyvsp[(2) - (5)].scpvalp)));
> -+                pyname = getPythonName(currentModule,
> &(yyvsp[-1].optflags), scopedNameTail((yyvsp[-3].scpvalp)));
> -
> -                 checkAttributes(currentSpec, currentModule, NULL, NULL,
> -                         pyname, FALSE);
> -
> --                xd = findException(currentSpec, (yyvsp[(2) -
> (5)].scpvalp), TRUE);
> -+                xd = findException(currentSpec, (yyvsp[-3].scpvalp),
> TRUE);
> -
> -                 if (xd->cd != NULL)
> -                     yyerror("%Exception name has already been seen as a
> class name - it must be defined before being used");
> -@@ -3443,29 +3071,31 @@ yyreduce:
> -
> -                 /* Complete the definition. */
> -                 xd->iff->module = currentModule;
> --                appendCodeBlock(&xd->iff->hdrcode, (yyvsp[(5) -
> (5)].exception).type_header_code);
> -+                appendCodeBlock(&xd->iff->hdrcode,
> (yyvsp[0].exception).type_header_code);
> -                 xd->pyname = pyname;
> --                xd->bibase = (yyvsp[(3) - (5)].exceptionbase).bibase;
> --                xd->base = (yyvsp[(3) - (5)].exceptionbase).base;
> --                appendCodeBlock(&xd->raisecode, (yyvsp[(5) -
> (5)].exception).raise_code);
> -+                xd->bibase = (yyvsp[-2].exceptionbase).bibase;
> -+                xd->base = (yyvsp[-2].exceptionbase).base;
> -+                appendCodeBlock(&xd->raisecode,
> (yyvsp[0].exception).raise_code);
> -
> --                if (getOptFlag(&(yyvsp[(4) - (5)].optflags), "Default",
> bool_flag) != NULL)
> -+                if (getOptFlag(&(yyvsp[-1].optflags), "Default",
> bool_flag) != NULL)
> -                     currentModule->defexception = xd;
> -             }
> -         }
> -+#line 3085 "../parser.c"
> -     break;
> -
> --  case 94:
> --#line 974 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 94: /* baseexception: %empty  */
> -+#line 975 "parser.y"
> -+                {
> -             (yyval.exceptionbase).bibase = NULL;
> -             (yyval.exceptionbase).base = NULL;
> -         }
> -+#line 3094 "../parser.c"
> -     break;
> -
> --  case 95:
> --#line 978 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 95: /* baseexception: '(' scopedname ')'  */
> -+#line 979 "parser.y"
> -+                           {
> -             exceptionDef *xd;
> -
> -             (yyval.exceptionbase).bibase = NULL;
> -@@ -3473,13 +3103,13 @@ yyreduce:
> -
> -             /* See if it is a defined exception. */
> -             for (xd = currentSpec->exceptions; xd != NULL; xd = xd->next)
> --                if (compareScopedNames(xd->iff->fqcname, (yyvsp[(2) -
> (3)].scpvalp)) == 0)
> -+                if (compareScopedNames(xd->iff->fqcname,
> (yyvsp[-1].scpvalp)) == 0)
> -                 {
> -                     (yyval.exceptionbase).base = xd;
> -                     break;
> -                 }
> -
> --            if (xd == NULL && (yyvsp[(2) - (3)].scpvalp)->next == NULL
> && strncmp((yyvsp[(2) - (3)].scpvalp)->name, "SIP_", 4) == 0)
> -+            if (xd == NULL && (yyvsp[-1].scpvalp)->next == NULL &&
> strncmp((yyvsp[-1].scpvalp)->name, "SIP_", 4) == 0)
> -             {
> -                 /* See if it is a builtin exception. */
> -
> -@@ -3560,7 +3190,7 @@ yyreduce:
> -                 char **cp;
> -
> -                 for (cp = builtins; *cp != NULL; ++cp)
> --                    if (strcmp((yyvsp[(2) - (3)].scpvalp)->name + 4,
> *cp) == 0)
> -+                    if (strcmp((yyvsp[-1].scpvalp)->name + 4, *cp) == 0)
> -                     {
> -                         (yyval.exceptionbase).bibase = *cp;
> -                         break;
> -@@ -3570,49 +3200,54 @@ yyreduce:
> -             if ((yyval.exceptionbase).bibase == NULL &&
> (yyval.exceptionbase).base == NULL)
> -                 yyerror("Unknown exception base type");
> -         }
> -+#line 3204 "../parser.c"
> -     break;
> -
> --  case 96:
> --#line 1085 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.exception) = (yyvsp[(2) - (4)].exception);
> -+  case 96: /* exception_body: '{' exception_body_directives '}' ';'  */
> -+#line 1086 "parser.y"
> -+                                                      {
> -+            (yyval.exception) = (yyvsp[-2].exception);
> -         }
> -+#line 3212 "../parser.c"
> -     break;
> -
> --  case 98:
> --#line 1091 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.exception) = (yyvsp[(1) - (2)].exception);
> -+  case 98: /* exception_body_directives: exception_body_directives
> exception_body_directive  */
> -+#line 1092 "parser.y"
> -+                                                           {
> -+            (yyval.exception) = (yyvsp[-1].exception);
> -
> --            switch ((yyvsp[(2) - (2)].exception).token)
> -+            switch ((yyvsp[0].exception).token)
> -             {
> --            case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[(2)
> - (2)].exception).raise_code; break;
> --            case TK_TYPEHEADERCODE: (yyval.exception).type_header_code =
> (yyvsp[(2) - (2)].exception).type_header_code; break;
> -+            case TK_RAISECODE: (yyval.exception).raise_code =
> (yyvsp[0].exception).raise_code; break;
> -+            case TK_TYPEHEADERCODE: (yyval.exception).type_header_code =
> (yyvsp[0].exception).type_header_code; break;
> -             }
> -         }
> -+#line 3226 "../parser.c"
> -     break;
> -
> --  case 99:
> --#line 1102 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 99: /* exception_body_directive: ifstart  */
> -+#line 1103 "parser.y"
> -+                                   {
> -             (yyval.exception).token = TK_IF;
> -         }
> -+#line 3234 "../parser.c"
> -     break;
> -
> --  case 100:
> --#line 1105 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 100: /* exception_body_directive: ifend  */
> -+#line 1106 "parser.y"
> -+              {
> -             (yyval.exception).token = TK_END;
> -         }
> -+#line 3242 "../parser.c"
> -     break;
> -
> --  case 101:
> --#line 1108 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 101: /* exception_body_directive: raisecode  */
> -+#line 1109 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 (yyval.exception).token = TK_RAISECODE;
> --                (yyval.exception).raise_code = (yyvsp[(1) - (1)].codeb);
> -+                (yyval.exception).raise_code = (yyvsp[0].codeb);
> -             }
> -             else
> -             {
> -@@ -3622,15 +3257,16 @@ yyreduce:
> -
> -             (yyval.exception).type_header_code = NULL;
> -         }
> -+#line 3261 "../parser.c"
> -     break;
> -
> --  case 102:
> --#line 1122 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 102: /* exception_body_directive: typehdrcode  */
> -+#line 1123 "parser.y"
> -+                    {
> -             if (notSkipping())
> -             {
> -                 (yyval.exception).token = TK_TYPEHEADERCODE;
> --                (yyval.exception).type_header_code = (yyvsp[(1) -
> (1)].codeb);
> -+                (yyval.exception).type_header_code = (yyvsp[0].codeb);
> -             }
> -             else
> -             {
> -@@ -3640,18 +3276,20 @@ yyreduce:
> -
> -             (yyval.exception).raise_code = NULL;
> -         }
> -+#line 3280 "../parser.c"
> -     break;
> -
> --  case 103:
> --#line 1138 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 103: /* raisecode: TK_RAISECODE codeblock  */
> -+#line 1139 "parser.y"
> -+                                   {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 3288 "../parser.c"
> -     break;
> -
> --  case 104:
> --#line 1143 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 104: /* $@2: %empty  */
> -+#line 1144 "parser.y"
> -+                                            {
> -             if (notSkipping())
> -             {
> -                 static const char *annos[] = {
> -@@ -3667,16 +3305,17 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> -+                checkAnnos(&(yyvsp[0].optflags), annos);
> -
> --                currentMappedType = newMappedType(currentSpec,
> &(yyvsp[(2) - (3)].memArg), &(yyvsp[(3) - (3)].optflags));
> -+                currentMappedType = newMappedType(currentSpec,
> &(yyvsp[-1].memArg), &(yyvsp[0].optflags));
> -             }
> -         }
> -+#line 3314 "../parser.c"
> -     break;
> -
> --  case 106:
> --#line 1166 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 106: /* $@3: %empty  */
> -+#line 1167 "parser.y"
> -+                                                         {
> -             if (notSkipping())
> -             {
> -                 static const char *annos[] = {
> -@@ -3694,7 +3333,7 @@ yyreduce:
> -                 mappedTypeTmplDef *mtt;
> -                 ifaceFileDef *iff;
> -
> --                checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
> -+                checkAnnos(&(yyvsp[0].optflags), annos);
> -
> -                 if (currentSpec->genc)
> -                     yyerror("%MappedType templates not allowed in a C
> module");
> -@@ -3703,32 +3342,32 @@ yyreduce:
> -                  * Check the template arguments are basic types or simple
> -                  * names.
> -                  */
> --                for (a = 0; a < (yyvsp[(1) - (4)].signature).nrArgs; ++a)
> -+                for (a = 0; a < (yyvsp[-3].signature).nrArgs; ++a)
> -                 {
> --                    argDef *ad = &(yyvsp[(1) - (4)].signature).args[a];
> -+                    argDef *ad = &(yyvsp[-3].signature).args[a];
> -
> -                     if (ad->atype == defined_type && ad->u.snd->next !=
> NULL)
> -                         yyerror("%MappedType template arguments must be
> simple names");
> -                 }
> -
> --                if ((yyvsp[(3) - (4)].memArg).atype != template_type)
> -+                if ((yyvsp[-1].memArg).atype != template_type)
> -                     yyerror("%MappedType template must map a template
> type");
> -
> --                (yyvsp[(3) - (4)].memArg).u.td->fqname  =
> fullyQualifiedName((yyvsp[(3) - (4)].memArg).u.td->fqname);
> -+                (yyvsp[-1].memArg).u.td->fqname  =
> fullyQualifiedName((yyvsp[-1].memArg).u.td->fqname);
> -
> -                 /* Check a template hasn't already been provided. */
> -                 for (mtt = currentSpec->mappedtypetemplates; mtt !=
> NULL; mtt = mtt->next)
> --                    if (compareScopedNames(mtt->mt->type.u.td->fqname,
> (yyvsp[(3) - (4)].memArg).u.td->fqname ) == 0 &&
> sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[(3) -
> (4)].memArg).u.td->types, TRUE))
> -+                    if (compareScopedNames(mtt->mt->type.u.td->fqname,
> (yyvsp[-1].memArg).u.td->fqname ) == 0 &&
> sameTemplateSignature(&mtt->mt->type.u.td->types,
> &(yyvsp[-1].memArg).u.td->types, TRUE))
> -                         yyerror("%MappedType template for this type has
> already been defined");
> -
> --                (yyvsp[(3) - (4)].memArg).nrderefs = 0;
> --                (yyvsp[(3) - (4)].memArg).argflags = 0;
> -+                (yyvsp[-1].memArg).nrderefs = 0;
> -+                (yyvsp[-1].memArg).argflags = 0;
> -
> -                 mtt = sipMalloc(sizeof (mappedTypeTmplDef));
> -
> --                mtt->sig = (yyvsp[(1) - (4)].signature);
> --                mtt->mt = allocMappedType(currentSpec, &(yyvsp[(3) -
> (4)].memArg));
> --                mappedTypeAnnos(mtt->mt, &(yyvsp[(4) - (4)].optflags));
> -+                mtt->sig = (yyvsp[-3].signature);
> -+                mtt->mt = allocMappedType(currentSpec,
> &(yyvsp[-1].memArg));
> -+                mappedTypeAnnos(mtt->mt, &(yyvsp[0].optflags));
> -                 mtt->next = currentSpec->mappedtypetemplates;
> -
> -                 currentSpec->mappedtypetemplates = mtt;
> -@@ -3741,11 +3380,12 @@ yyreduce:
> -                 mtt->mt->iff = iff;
> -             }
> -         }
> -+#line 3384 "../parser.c"
> -     break;
> -
> --  case 108:
> --#line 1233 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 108: /* mtdefinition: '{' mtbody '}' ';'  */
> -+#line 1234 "parser.y"
> -+                                   {
> -             if (notSkipping())
> -             {
> -                 if (currentMappedType->convfromcode == NULL)
> -@@ -3757,83 +3397,90 @@ yyreduce:
> -                 currentMappedType = NULL;
> -             }
> -         }
> -+#line 3401 "../parser.c"
> -     break;
> -
> --  case 113:
> --#line 1253 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 113: /* mtline: typehdrcode  */
> -+#line 1254 "parser.y"
> -+                    {
> -             if (notSkipping())
> --                appendCodeBlock(&currentMappedType->iff->hdrcode,
> (yyvsp[(1) - (1)].codeb));
> -+                appendCodeBlock(&currentMappedType->iff->hdrcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 3410 "../parser.c"
> -     break;
> -
> --  case 114:
> --#line 1257 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 114: /* mtline: typecode  */
> -+#line 1258 "parser.y"
> -+                 {
> -             if (notSkipping())
> --                appendCodeBlock(&currentMappedType->typecode, (yyvsp[(1)
> - (1)].codeb));
> -+                appendCodeBlock(&currentMappedType->typecode,
> (yyvsp[0].codeb));
> -         }
> -+#line 3419 "../parser.c"
> -     break;
> -
> --  case 115:
> --#line 1261 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 115: /* mtline: TK_FROMTYPE codeblock  */
> -+#line 1262 "parser.y"
> -+                              {
> -             if (notSkipping())
> -             {
> -                 if (currentMappedType->convfromcode != NULL)
> -                     yyerror("%MappedType has more than one
> %ConvertFromTypeCode directive");
> -
> --                appendCodeBlock(&currentMappedType->convfromcode,
> (yyvsp[(2) - (2)].codeb));
> -+                appendCodeBlock(&currentMappedType->convfromcode,
> (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 3433 "../parser.c"
> -     break;
> -
> --  case 116:
> --#line 1270 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 116: /* mtline: TK_TOTYPE codeblock  */
> -+#line 1271 "parser.y"
> -+                            {
> -             if (notSkipping())
> -             {
> -                 if (currentMappedType->convtocode != NULL)
> -                     yyerror("%MappedType has more than one
> %ConvertToTypeCode directive");
> -
> --                appendCodeBlock(&currentMappedType->convtocode,
> (yyvsp[(2) - (2)].codeb));
> -+                appendCodeBlock(&currentMappedType->convtocode,
> (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 3447 "../parser.c"
> -     break;
> -
> --  case 117:
> --#line 1279 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 117: /* mtline: instancecode  */
> -+#line 1280 "parser.y"
> -+                     {
> -             if (notSkipping())
> -             {
> -                 if (currentMappedType->instancecode != NULL)
> -                     yyerror("%MappedType has more than one %InstanceCode
> directive");
> -
> --                appendCodeBlock(&currentMappedType->instancecode,
> (yyvsp[(1) - (1)].codeb));
> -+                appendCodeBlock(&currentMappedType->instancecode,
> (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 3461 "../parser.c"
> -     break;
> -
> --  case 120:
> --#line 1292 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 120: /* mtfunction: TK_STATIC cpptype TK_NAME_VALUE '(' arglist
> ')' optconst optexceptions optflags optsig ';' optdocstring premethodcode
> methodcode  */
> -+#line 1293 "parser.y"
> -+
>                                                                      {
> -             if (notSkipping())
> -             {
> --                applyTypeFlags(currentModule, &(yyvsp[(2) -
> (14)].memArg), &(yyvsp[(9) - (14)].optflags));
> -+                applyTypeFlags(currentModule, &(yyvsp[-12].memArg),
> &(yyvsp[-5].optflags));
> -
> --                (yyvsp[(5) - (14)].signature).result = (yyvsp[(2) -
> (14)].memArg);
> -+                (yyvsp[-9].signature).result = (yyvsp[-12].memArg);
> -
> -                 newFunction(currentSpec, currentModule, NULL, NULL,
> --                        currentMappedType, 0, TRUE, FALSE, FALSE, FALSE,
> (yyvsp[(3) - (14)].text),
> --                        &(yyvsp[(5) - (14)].signature), (yyvsp[(7) -
> (14)].number), FALSE, &(yyvsp[(9) - (14)].optflags), (yyvsp[(14) -
> (14)].codeb), NULL, NULL, (yyvsp[(8) - (14)].throwlist), (yyvsp[(10) -
> (14)].optsignature), (yyvsp[(12) - (14)].docstr),
> --                        FALSE, (yyvsp[(13) - (14)].codeb));
> -+                        currentMappedType, 0, TRUE, FALSE, FALSE, FALSE,
> (yyvsp[-11].text),
> -+                        &(yyvsp[-9].signature), (yyvsp[-7].number),
> FALSE, &(yyvsp[-5].optflags), (yyvsp[0].codeb), NULL, NULL,
> (yyvsp[-6].throwlist), (yyvsp[-4].optsignature), (yyvsp[-2].docstr),
> -+                        FALSE, (yyvsp[-1].codeb));
> -             }
> -         }
> -+#line 3479 "../parser.c"
> -     break;
> -
> --  case 121:
> --#line 1307 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 121: /* $@4: %empty  */
> -+#line 1308 "parser.y"
> -+                                       {
> -             if (currentSpec -> genc)
> -                 yyerror("namespace definition not allowed in a C
> module");
> -
> -@@ -3848,18 +3495,19 @@ yyreduce:
> -                     scope = NULL;
> -
> -                 ns = newClass(currentSpec, namespace_iface, NULL,
> --                        text2scopedName(scope, (yyvsp[(2) - (2)].text)),
> NULL, NULL, NULL, NULL);
> -+                        text2scopedName(scope, (yyvsp[0].text)), NULL,
> NULL, NULL, NULL);
> -
> -                 pushScope(ns);
> -
> -                 sectionFlags = 0;
> -             }
> -         }
> -+#line 3506 "../parser.c"
> -     break;
> -
> --  case 122:
> --#line 1328 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 122: /* namespace: TK_NAMESPACE TK_NAME_VALUE $@4 optnsbody ';'
> */
> -+#line 1329 "parser.y"
> -+                        {
> -             if (notSkipping())
> -             {
> -                 if (inMainModule())
> -@@ -3873,11 +3521,12 @@ yyreduce:
> -                 popScope();
> -             }
> -         }
> -+#line 3525 "../parser.c"
> -     break;
> -
> --  case 127:
> --#line 1352 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 127: /* $@5: %empty  */
> -+#line 1353 "parser.y"
> -+                         {
> -             if (notSkipping())
> -             {
> -                 qualDef *qd;
> -@@ -3887,11 +3536,12 @@ yyreduce:
> -                         yyerror("%Platforms has already been defined for
> this module");
> -             }
> -         }
> -+#line 3540 "../parser.c"
> -     break;
> -
> --  case 128:
> --#line 1362 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 128: /* platforms: TK_PLATFORMS $@5 '{' platformlist '}'  */
> -+#line 1363 "parser.y"
> -+                             {
> -             if (notSkipping())
> -             {
> -                 qualDef *qd;
> -@@ -3908,71 +3558,79 @@ yyreduce:
> -                     yyerror("No more than one of these %Platforms must
> be specified with the -t flag");
> -             }
> -         }
> -+#line 3562 "../parser.c"
> -     break;
> -
> --  case 131:
> --#line 1385 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            newQualifier(currentModule, -1, -1, notSkipping(),
> (yyvsp[(1) - (1)].text),
> -+  case 131: /* platform: TK_NAME_VALUE  */
> -+#line 1386 "parser.y"
> -+                          {
> -+            newQualifier(currentModule, -1, -1, notSkipping(),
> (yyvsp[0].text),
> -                     platform_qualifier);
> -         }
> -+#line 3571 "../parser.c"
> -     break;
> -
> --  case 132:
> --#line 1391 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            newQualifier(currentModule, -1, -1, notSkipping(),
> (yyvsp[(2) - (2)].feature).name,
> -+  case 132: /* feature: TK_FEATURE feature_args  */
> -+#line 1392 "parser.y"
> -+                                    {
> -+            newQualifier(currentModule, -1, -1, notSkipping(),
> (yyvsp[0].feature).name,
> -                     feature_qualifier);
> -         }
> -+#line 3580 "../parser.c"
> -     break;
> -
> --  case 133:
> --#line 1397 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 133: /* feature_args: TK_NAME_VALUE  */
> -+#line 1398 "parser.y"
> -+                              {
> -             resetLexerState();
> -
> --            (yyval.feature).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.feature).name = (yyvsp[0].text);
> -         }
> -+#line 3590 "../parser.c"
> -     break;
> -
> --  case 134:
> --#line 1402 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.feature) = (yyvsp[(2) - (3)].feature);
> -+  case 134: /* feature_args: '(' feature_arg_list ')'  */
> -+#line 1403 "parser.y"
> -+                                 {
> -+            (yyval.feature) = (yyvsp[-1].feature);
> -         }
> -+#line 3598 "../parser.c"
> -     break;
> -
> --  case 136:
> --#line 1408 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.feature) = (yyvsp[(1) - (3)].feature);
> -+  case 136: /* feature_arg_list: feature_arg_list ',' feature_arg  */
> -+#line 1409 "parser.y"
> -+                                         {
> -+            (yyval.feature) = (yyvsp[-2].feature);
> -
> --            switch ((yyvsp[(3) - (3)].feature).token)
> -+            switch ((yyvsp[0].feature).token)
> -             {
> --            case TK_NAME: (yyval.feature).name = (yyvsp[(3) -
> (3)].feature).name; break;
> -+            case TK_NAME: (yyval.feature).name =
> (yyvsp[0].feature).name; break;
> -             }
> -         }
> -+#line 3611 "../parser.c"
> -     break;
> -
> --  case 137:
> --#line 1418 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 137: /* feature_arg: TK_NAME '=' name_or_string  */
> -+#line 1419 "parser.y"
> -+                                           {
> -             (yyval.feature).token = TK_NAME;
> -
> --            (yyval.feature).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.feature).name = (yyvsp[0].text);
> -         }
> -+#line 3621 "../parser.c"
> -     break;
> -
> --  case 138:
> --#line 1425 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 138: /* $@6: %empty  */
> -+#line 1426 "parser.y"
> -+                        {
> -             currentTimelineOrder = 0;
> -         }
> -+#line 3629 "../parser.c"
> -     break;
> -
> --  case 139:
> --#line 1428 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 139: /* timeline: TK_TIMELINE $@6 '{' qualifierlist '}'  */
> -+#line 1429 "parser.y"
> -+                              {
> -             if (notSkipping())
> -             {
> -                 qualDef *qd;
> -@@ -3993,129 +3651,140 @@ yyreduce:
> -                 currentModule->nrtimelines++;
> -             }
> -         }
> -+#line 3655 "../parser.c"
> -     break;
> -
> --  case 142:
> --#line 1455 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 142: /* qualifiername: TK_NAME_VALUE  */
> -+#line 1456 "parser.y"
> -+                              {
> -             newQualifier(currentModule, currentModule->nrtimelines,
> --                    currentTimelineOrder++, TRUE, (yyvsp[(1) -
> (1)].text), time_qualifier);
> -+                    currentTimelineOrder++, TRUE, (yyvsp[0].text),
> time_qualifier);
> -         }
> -+#line 3664 "../parser.c"
> -     break;
> -
> --  case 143:
> --#line 1461 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 143: /* $@7: %empty  */
> -+#line 1462 "parser.y"
> -+                      {
> -             currentPlatforms = NULL;
> -         }
> -+#line 3672 "../parser.c"
> -     break;
> -
> --  case 144:
> --#line 1463 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 144: /* ifstart: TK_IF '(' $@7 qualifiers ')'  */
> -+#line 1464 "parser.y"
> -+                         {
> -             if (stackPtr >= MAX_NESTED_IF)
> -                 yyerror("Internal error: increase the value of
> MAX_NESTED_IF");
> -
> -             /* Nested %Ifs are implicit logical ands. */
> -
> -             if (stackPtr > 0)
> --                (yyvsp[(4) - (5)].boolean) = ((yyvsp[(4) - (5)].boolean)
> && skipStack[stackPtr - 1]);
> -+                (yyvsp[-1].boolean) = ((yyvsp[-1].boolean) &&
> skipStack[stackPtr - 1]);
> -
> --            skipStack[stackPtr] = (yyvsp[(4) - (5)].boolean);
> -+            skipStack[stackPtr] = (yyvsp[-1].boolean);
> -
> -             platformStack[stackPtr] = currentPlatforms;
> -
> -             ++stackPtr;
> -         }
> -+#line 3692 "../parser.c"
> -     break;
> -
> --  case 145:
> --#line 1480 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.boolean) = platOrFeature((yyvsp[(1) - (1)].text),
> FALSE);
> -+  case 145: /* oredqualifiers: TK_NAME_VALUE  */
> -+#line 1481 "parser.y"
> -+                              {
> -+            (yyval.boolean) = platOrFeature((yyvsp[0].text), FALSE);
> -         }
> -+#line 3700 "../parser.c"
> -     break;
> -
> --  case 146:
> --#line 1483 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.boolean) = platOrFeature((yyvsp[(2) - (2)].text),
> TRUE);
> -+  case 146: /* oredqualifiers: '!' TK_NAME_VALUE  */
> -+#line 1484 "parser.y"
> -+                          {
> -+            (yyval.boolean) = platOrFeature((yyvsp[0].text), TRUE);
> -         }
> -+#line 3708 "../parser.c"
> -     break;
> -
> --  case 147:
> --#line 1486 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.boolean) = (platOrFeature((yyvsp[(3) - (3)].text),
> FALSE) || (yyvsp[(1) - (3)].boolean));
> -+  case 147: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR
> TK_NAME_VALUE  */
> -+#line 1487 "parser.y"
> -+                                                   {
> -+            (yyval.boolean) = (platOrFeature((yyvsp[0].text), FALSE) ||
> (yyvsp[-2].boolean));
> -         }
> -+#line 3716 "../parser.c"
> -     break;
> -
> --  case 148:
> --#line 1489 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.boolean) = (platOrFeature((yyvsp[(4) - (4)].text),
> TRUE) || (yyvsp[(1) - (4)].boolean));
> -+  case 148: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR '!'
> TK_NAME_VALUE  */
> -+#line 1490 "parser.y"
> -+                                                       {
> -+            (yyval.boolean) = (platOrFeature((yyvsp[0].text), TRUE) ||
> (yyvsp[-3].boolean));
> -         }
> -+#line 3724 "../parser.c"
> -     break;
> -
> --  case 150:
> --#line 1495 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.boolean) = timePeriod((yyvsp[(1) - (3)].text),
> (yyvsp[(3) - (3)].text));
> -+  case 150: /* qualifiers: optname '-' optname  */
> -+#line 1496 "parser.y"
> -+                            {
> -+            (yyval.boolean) = timePeriod((yyvsp[-2].text),
> (yyvsp[0].text));
> -         }
> -+#line 3732 "../parser.c"
> -     break;
> -
> --  case 151:
> --#line 1500 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 151: /* ifend: TK_END  */
> -+#line 1501 "parser.y"
> -+                   {
> -             if (stackPtr-- <= 0)
> -                 yyerror("Too many %End directives");
> -
> -             currentPlatforms = (stackPtr == 0 ? NULL :
> platformStack[stackPtr - 1]);
> -         }
> -+#line 3743 "../parser.c"
> -     break;
> -
> --  case 152:
> --#line 1508 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 152: /* license: TK_LICENSE license_args optflags  */
> -+#line 1509 "parser.y"
> -+                                             {
> -             optFlag *of;
> -
> --            if ((yyvsp[(3) - (3)].optflags).nrFlags != 0)
> -+            if ((yyvsp[0].optflags).nrFlags != 0)
> -                 deprecated("%License annotations are deprecated, use
> arguments instead");
> -
> --            if ((yyvsp[(2) - (3)].license).type == NULL)
> --                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags),
> "Type", string_flag)) != NULL)
> --                    (yyvsp[(2) - (3)].license).type = of->fvalue.sval;
> --
> --            if ((yyvsp[(2) - (3)].license).licensee == NULL)
> --                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags),
> "Licensee", string_flag)) != NULL)
> --                    (yyvsp[(2) - (3)].license).licensee =
> of->fvalue.sval;
> --
> --            if ((yyvsp[(2) - (3)].license).signature == NULL)
> --                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags),
> "Signature", string_flag)) != NULL)
> --                    (yyvsp[(2) - (3)].license).signature =
> of->fvalue.sval;
> --
> --            if ((yyvsp[(2) - (3)].license).timestamp == NULL)
> --                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags),
> "Timestamp", string_flag)) != NULL)
> --                    (yyvsp[(2) - (3)].license).timestamp =
> of->fvalue.sval;
> -+            if ((yyvsp[-1].license).type == NULL)
> -+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Type",
> string_flag)) != NULL)
> -+                    (yyvsp[-1].license).type = of->fvalue.sval;
> -+
> -+            if ((yyvsp[-1].license).licensee == NULL)
> -+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Licensee",
> string_flag)) != NULL)
> -+                    (yyvsp[-1].license).licensee = of->fvalue.sval;
> -+
> -+            if ((yyvsp[-1].license).signature == NULL)
> -+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Signature",
> string_flag)) != NULL)
> -+                    (yyvsp[-1].license).signature = of->fvalue.sval;
> -+
> -+            if ((yyvsp[-1].license).timestamp == NULL)
> -+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Timestamp",
> string_flag)) != NULL)
> -+                    (yyvsp[-1].license).timestamp = of->fvalue.sval;
> -
> --            if ((yyvsp[(2) - (3)].license).type == NULL)
> -+            if ((yyvsp[-1].license).type == NULL)
> -                 yyerror("%License must have a 'type' argument");
> -
> -             if (notSkipping())
> -             {
> -                 currentModule->license = sipMalloc(sizeof (licenseDef));
> -
> --                currentModule->license->type = (yyvsp[(2) -
> (3)].license).type;
> --                currentModule->license->licensee = (yyvsp[(2) -
> (3)].license).licensee;
> --                currentModule->license->sig = (yyvsp[(2) -
> (3)].license).signature;
> --                currentModule->license->timestamp = (yyvsp[(2) -
> (3)].license).timestamp;
> -+                currentModule->license->type = (yyvsp[-1].license).type;
> -+                currentModule->license->licensee =
> (yyvsp[-1].license).licensee;
> -+                currentModule->license->sig =
> (yyvsp[-1].license).signature;
> -+                currentModule->license->timestamp =
> (yyvsp[-1].license).timestamp;
> -             }
> -         }
> -+#line 3783 "../parser.c"
> -     break;
> -
> --  case 153:
> --#line 1545 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 153: /* license_args: %empty  */
> -+#line 1546 "parser.y"
> -+                {
> -             resetLexerState();
> -
> -             (yyval.license).type = NULL;
> -@@ -4123,242 +3792,265 @@ yyreduce:
> -             (yyval.license).signature = NULL;
> -             (yyval.license).timestamp = NULL;
> -         }
> -+#line 3796 "../parser.c"
> -     break;
> -
> --  case 154:
> --#line 1553 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.license).type = (yyvsp[(1) - (1)].text);
> -+  case 154: /* license_args: TK_STRING_VALUE  */
> -+#line 1554 "parser.y"
> -+                        {
> -+            (yyval.license).type = (yyvsp[0].text);
> -             (yyval.license).licensee = NULL;
> -             (yyval.license).signature = NULL;
> -             (yyval.license).timestamp = NULL;
> -         }
> -+#line 3807 "../parser.c"
> -     break;
> -
> --  case 155:
> --#line 1559 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.license) = (yyvsp[(2) - (3)].license);
> -+  case 155: /* license_args: '(' license_arg_list ')'  */
> -+#line 1560 "parser.y"
> -+                                 {
> -+            (yyval.license) = (yyvsp[-1].license);
> -         }
> -+#line 3815 "../parser.c"
> -     break;
> -
> --  case 157:
> --#line 1565 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.license) = (yyvsp[(1) - (3)].license);
> -+  case 157: /* license_arg_list: license_arg_list ',' license_arg  */
> -+#line 1566 "parser.y"
> -+                                         {
> -+            (yyval.license) = (yyvsp[-2].license);
> -
> --            switch ((yyvsp[(3) - (3)].license).token)
> -+            switch ((yyvsp[0].license).token)
> -             {
> --            case TK_TYPE: (yyval.license).type = (yyvsp[(3) -
> (3)].license).type; break;
> --            case TK_LICENSEE: (yyval.license).licensee = (yyvsp[(3) -
> (3)].license).licensee; break;
> --            case TK_SIGNATURE: (yyval.license).signature = (yyvsp[(3) -
> (3)].license).signature; break;
> --            case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[(3) -
> (3)].license).timestamp; break;
> -+            case TK_TYPE: (yyval.license).type =
> (yyvsp[0].license).type; break;
> -+            case TK_LICENSEE: (yyval.license).licensee =
> (yyvsp[0].license).licensee; break;
> -+            case TK_SIGNATURE: (yyval.license).signature =
> (yyvsp[0].license).signature; break;
> -+            case TK_TIMESTAMP: (yyval.license).timestamp =
> (yyvsp[0].license).timestamp; break;
> -             }
> -         }
> -+#line 3831 "../parser.c"
> -     break;
> -
> --  case 158:
> --#line 1578 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 158: /* license_arg: TK_TYPE '=' TK_STRING_VALUE  */
> -+#line 1579 "parser.y"
> -+                                            {
> -             (yyval.license).token = TK_NAME;
> -
> --            (yyval.license).type = (yyvsp[(3) - (3)].text);
> -+            (yyval.license).type = (yyvsp[0].text);
> -             (yyval.license).licensee = NULL;
> -             (yyval.license).signature = NULL;
> -             (yyval.license).timestamp = NULL;
> -         }
> -+#line 3844 "../parser.c"
> -     break;
> -
> --  case 159:
> --#line 1586 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 159: /* license_arg: TK_LICENSEE '=' TK_STRING_VALUE  */
> -+#line 1587 "parser.y"
> -+                                        {
> -             (yyval.license).token = TK_LICENSEE;
> -
> -             (yyval.license).type = NULL;
> --            (yyval.license).licensee = (yyvsp[(3) - (3)].text);
> -+            (yyval.license).licensee = (yyvsp[0].text);
> -             (yyval.license).signature = NULL;
> -             (yyval.license).timestamp = NULL;
> -         }
> -+#line 3857 "../parser.c"
> -     break;
> -
> --  case 160:
> --#line 1594 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 160: /* license_arg: TK_SIGNATURE '=' TK_STRING_VALUE  */
> -+#line 1595 "parser.y"
> -+                                         {
> -             (yyval.license).token = TK_SIGNATURE;
> -
> -             (yyval.license).type = NULL;
> -             (yyval.license).licensee = NULL;
> --            (yyval.license).signature = (yyvsp[(3) - (3)].text);
> -+            (yyval.license).signature = (yyvsp[0].text);
> -             (yyval.license).timestamp = NULL;
> -         }
> -+#line 3870 "../parser.c"
> -     break;
> -
> --  case 161:
> --#line 1602 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 161: /* license_arg: TK_TIMESTAMP '=' TK_STRING_VALUE  */
> -+#line 1603 "parser.y"
> -+                                         {
> -             (yyval.license).token = TK_TIMESTAMP;
> -
> -             (yyval.license).type = NULL;
> -             (yyval.license).licensee = NULL;
> -             (yyval.license).signature = NULL;
> --            (yyval.license).timestamp = (yyvsp[(3) - (3)].text);
> -+            (yyval.license).timestamp = (yyvsp[0].text);
> -         }
> -+#line 3883 "../parser.c"
> -     break;
> -
> --  case 162:
> --#line 1612 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 162: /* defmetatype: TK_DEFMETATYPE defmetatype_args  */
> -+#line 1613 "parser.y"
> -+                                                {
> -             if (notSkipping())
> -             {
> -                 if (currentModule->defmetatype != NULL)
> -                     yyerror("%DefaultMetatype has already been defined
> for this module");
> -
> --                currentModule->defmetatype = cacheName(currentSpec,
> (yyvsp[(2) - (2)].defmetatype).name);
> -+                currentModule->defmetatype = cacheName(currentSpec,
> (yyvsp[0].defmetatype).name);
> -             }
> -         }
> -+#line 3897 "../parser.c"
> -     break;
> -
> --  case 163:
> --#line 1623 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 163: /* defmetatype_args: dottedname  */
> -+#line 1624 "parser.y"
> -+                               {
> -             resetLexerState();
> -
> --            (yyval.defmetatype).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.defmetatype).name = (yyvsp[0].text);
> -         }
> -+#line 3907 "../parser.c"
> -     break;
> -
> --  case 164:
> --#line 1628 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defmetatype) = (yyvsp[(2) - (3)].defmetatype);
> -+  case 164: /* defmetatype_args: '(' defmetatype_arg_list ')'  */
> -+#line 1629 "parser.y"
> -+                                     {
> -+            (yyval.defmetatype) = (yyvsp[-1].defmetatype);
> -         }
> -+#line 3915 "../parser.c"
> -     break;
> -
> --  case 166:
> --#line 1634 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defmetatype) = (yyvsp[(1) - (3)].defmetatype);
> -+  case 166: /* defmetatype_arg_list: defmetatype_arg_list ','
> defmetatype_arg  */
> -+#line 1635 "parser.y"
> -+                                                 {
> -+            (yyval.defmetatype) = (yyvsp[-2].defmetatype);
> -
> --            switch ((yyvsp[(3) - (3)].defmetatype).token)
> -+            switch ((yyvsp[0].defmetatype).token)
> -             {
> --            case TK_NAME: (yyval.defmetatype).name = (yyvsp[(3) -
> (3)].defmetatype).name; break;
> -+            case TK_NAME: (yyval.defmetatype).name =
> (yyvsp[0].defmetatype).name; break;
> -             }
> -         }
> -+#line 3928 "../parser.c"
> -     break;
> -
> --  case 167:
> --#line 1644 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 167: /* defmetatype_arg: TK_NAME '=' dottedname  */
> -+#line 1645 "parser.y"
> -+                                           {
> -             (yyval.defmetatype).token = TK_NAME;
> -
> --            (yyval.defmetatype).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.defmetatype).name = (yyvsp[0].text);
> -         }
> -+#line 3938 "../parser.c"
> -     break;
> -
> --  case 168:
> --#line 1651 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 168: /* defsupertype: TK_DEFSUPERTYPE defsupertype_args  */
> -+#line 1652 "parser.y"
> -+                                                  {
> -             if (notSkipping())
> -             {
> -                 if (currentModule->defsupertype != NULL)
> -                     yyerror("%DefaultSupertype has already been defined
> for this module");
> -
> --                currentModule->defsupertype = cacheName(currentSpec,
> (yyvsp[(2) - (2)].defsupertype).name);
> -+                currentModule->defsupertype = cacheName(currentSpec,
> (yyvsp[0].defsupertype).name);
> -             }
> -         }
> -+#line 3952 "../parser.c"
> -     break;
> -
> --  case 169:
> --#line 1662 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 169: /* defsupertype_args: dottedname  */
> -+#line 1663 "parser.y"
> -+                               {
> -             resetLexerState();
> -
> --            (yyval.defsupertype).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.defsupertype).name = (yyvsp[0].text);
> -         }
> -+#line 3962 "../parser.c"
> -     break;
> -
> --  case 170:
> --#line 1667 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defsupertype) = (yyvsp[(2) - (3)].defsupertype);
> -+  case 170: /* defsupertype_args: '(' defsupertype_arg_list ')'  */
> -+#line 1668 "parser.y"
> -+                                      {
> -+            (yyval.defsupertype) = (yyvsp[-1].defsupertype);
> -         }
> -+#line 3970 "../parser.c"
> -     break;
> -
> --  case 172:
> --#line 1673 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.defsupertype) = (yyvsp[(1) - (3)].defsupertype);
> -+  case 172: /* defsupertype_arg_list: defsupertype_arg_list ','
> defsupertype_arg  */
> -+#line 1674 "parser.y"
> -+                                                   {
> -+            (yyval.defsupertype) = (yyvsp[-2].defsupertype);
> -
> --            switch ((yyvsp[(3) - (3)].defsupertype).token)
> -+            switch ((yyvsp[0].defsupertype).token)
> -             {
> --            case TK_NAME: (yyval.defsupertype).name = (yyvsp[(3) -
> (3)].defsupertype).name; break;
> -+            case TK_NAME: (yyval.defsupertype).name =
> (yyvsp[0].defsupertype).name; break;
> -             }
> -         }
> -+#line 3983 "../parser.c"
> -     break;
> -
> --  case 173:
> --#line 1683 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 173: /* defsupertype_arg: TK_NAME '=' dottedname  */
> -+#line 1684 "parser.y"
> -+                                           {
> -             (yyval.defsupertype).token = TK_NAME;
> -
> --            (yyval.defsupertype).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.defsupertype).name = (yyvsp[0].text);
> -         }
> -+#line 3993 "../parser.c"
> -     break;
> -
> --  case 174:
> --#line 1690 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 174: /* hiddenns: TK_HIDE_NS hiddenns_args  */
> -+#line 1691 "parser.y"
> -+                                     {
> -             if (notSkipping())
> -             {
> -                 classDef *ns;
> -
> -                 ns = newClass(currentSpec, namespace_iface, NULL,
> --                        fullyQualifiedName((yyvsp[(2) -
> (2)].hiddenns).name), NULL, NULL, NULL, NULL);
> -+                        fullyQualifiedName((yyvsp[0].hiddenns).name),
> NULL, NULL, NULL, NULL);
> -                 setHiddenNamespace(ns);
> -             }
> -         }
> -+#line 4008 "../parser.c"
> -     break;
> -
> --  case 175:
> --#line 1702 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 175: /* hiddenns_args: scopedname  */
> -+#line 1703 "parser.y"
> -+                           {
> -             resetLexerState();
> -
> --            (yyval.hiddenns).name = (yyvsp[(1) - (1)].scpvalp);
> -+            (yyval.hiddenns).name = (yyvsp[0].scpvalp);
> -         }
> -+#line 4018 "../parser.c"
> -     break;
> -
> --  case 176:
> --#line 1707 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.hiddenns) = (yyvsp[(2) - (3)].hiddenns);
> -+  case 176: /* hiddenns_args: '(' hiddenns_arg_list ')'  */
> -+#line 1708 "parser.y"
> -+                                  {
> -+            (yyval.hiddenns) = (yyvsp[-1].hiddenns);
> -         }
> -+#line 4026 "../parser.c"
> -     break;
> -
> --  case 178:
> --#line 1713 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.hiddenns) = (yyvsp[(1) - (3)].hiddenns);
> -+  case 178: /* hiddenns_arg_list: hiddenns_arg_list ',' hiddenns_arg  */
> -+#line 1714 "parser.y"
> -+                                           {
> -+            (yyval.hiddenns) = (yyvsp[-2].hiddenns);
> -
> --            switch ((yyvsp[(3) - (3)].hiddenns).token)
> -+            switch ((yyvsp[0].hiddenns).token)
> -             {
> --            case TK_NAME: (yyval.hiddenns).name = (yyvsp[(3) -
> (3)].hiddenns).name; break;
> -+            case TK_NAME: (yyval.hiddenns).name =
> (yyvsp[0].hiddenns).name; break;
> -             }
> -         }
> -+#line 4039 "../parser.c"
> -     break;
> -
> --  case 179:
> --#line 1723 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 179: /* hiddenns_arg: TK_NAME '=' scopedname  */
> -+#line 1724 "parser.y"
> -+                                       {
> -             (yyval.hiddenns).token = TK_NAME;
> -
> --            (yyval.hiddenns).name = (yyvsp[(3) - (3)].scpvalp);
> -+            (yyval.hiddenns).name = (yyvsp[0].scpvalp);
> -         }
> -+#line 4049 "../parser.c"
> -     break;
> -
> --  case 180:
> --#line 1730 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 180: /* consmodule: TK_CONSMODULE consmodule_args
> consmodule_body  */
> -+#line 1731 "parser.y"
> -+                                                          {
> -             deprecated("%ConsolidatedModule is deprecated and will not
> be supported by SIP v5");
> -
> -             if (notSkipping())
> -@@ -4370,99 +4062,109 @@ yyreduce:
> -                 if (currentModule->fullname != NULL)
> -                     yyerror("%ConsolidatedModule must appear before any
> %Module or %CModule directive");
> -
> --                setModuleName(currentSpec, currentModule, (yyvsp[(2) -
> (3)].consmodule).name);
> --                currentModule->docstring = (yyvsp[(3) -
> (3)].consmodule).docstring;
> -+                setModuleName(currentSpec, currentModule,
> (yyvsp[-1].consmodule).name);
> -+                currentModule->docstring =
> (yyvsp[0].consmodule).docstring;
> -
> -                 setIsConsolidated(currentModule);
> -             }
> -         }
> -+#line 4072 "../parser.c"
> -     break;
> -
> --  case 181:
> --#line 1750 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 181: /* consmodule_args: dottedname  */
> -+#line 1751 "parser.y"
> -+                               {
> -             resetLexerState();
> -
> --            (yyval.consmodule).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.consmodule).name = (yyvsp[0].text);
> -         }
> -+#line 4082 "../parser.c"
> -     break;
> -
> --  case 182:
> --#line 1755 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.consmodule) = (yyvsp[(2) - (3)].consmodule);
> -+  case 182: /* consmodule_args: '(' consmodule_arg_list ')'  */
> -+#line 1756 "parser.y"
> -+                                    {
> -+            (yyval.consmodule) = (yyvsp[-1].consmodule);
> -         }
> -+#line 4090 "../parser.c"
> -     break;
> -
> --  case 184:
> --#line 1761 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.consmodule) = (yyvsp[(1) - (3)].consmodule);
> -+  case 184: /* consmodule_arg_list: consmodule_arg_list ','
> consmodule_arg  */
> -+#line 1762 "parser.y"
> -+                                               {
> -+            (yyval.consmodule) = (yyvsp[-2].consmodule);
> -
> --            switch ((yyvsp[(3) - (3)].consmodule).token)
> -+            switch ((yyvsp[0].consmodule).token)
> -             {
> --            case TK_NAME: (yyval.consmodule).name = (yyvsp[(3) -
> (3)].consmodule).name; break;
> -+            case TK_NAME: (yyval.consmodule).name =
> (yyvsp[0].consmodule).name; break;
> -             }
> -         }
> -+#line 4103 "../parser.c"
> -     break;
> -
> --  case 185:
> --#line 1771 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 185: /* consmodule_arg: TK_NAME '=' dottedname  */
> -+#line 1772 "parser.y"
> -+                                       {
> -             (yyval.consmodule).token = TK_NAME;
> -
> --            (yyval.consmodule).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.consmodule).name = (yyvsp[0].text);
> -         }
> -+#line 4113 "../parser.c"
> -     break;
> -
> --  case 186:
> --#line 1778 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 186: /* consmodule_body: %empty  */
> -+#line 1779 "parser.y"
> -+                    {
> -             (yyval.consmodule).token = 0;
> -             (yyval.consmodule).docstring = NULL;
> -         }
> -+#line 4122 "../parser.c"
> -     break;
> -
> --  case 187:
> --#line 1782 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.consmodule) = (yyvsp[(2) - (4)].consmodule);
> -+  case 187: /* consmodule_body: '{' consmodule_body_directives '}' ';'
> */
> -+#line 1783 "parser.y"
> -+                                               {
> -+            (yyval.consmodule) = (yyvsp[-2].consmodule);
> -         }
> -+#line 4130 "../parser.c"
> -     break;
> -
> --  case 189:
> --#line 1788 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.consmodule) = (yyvsp[(1) - (2)].consmodule);
> -+  case 189: /* consmodule_body_directives: consmodule_body_directives
> consmodule_body_directive  */
> -+#line 1789 "parser.y"
> -+                                                             {
> -+            (yyval.consmodule) = (yyvsp[-1].consmodule);
> -
> --            switch ((yyvsp[(2) - (2)].consmodule).token)
> -+            switch ((yyvsp[0].consmodule).token)
> -             {
> --            case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[(2)
> - (2)].consmodule).docstring; break;
> -+            case TK_DOCSTRING: (yyval.consmodule).docstring =
> (yyvsp[0].consmodule).docstring; break;
> -             }
> -         }
> -+#line 4143 "../parser.c"
> -     break;
> -
> --  case 190:
> --#line 1798 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 190: /* consmodule_body_directive: ifstart  */
> -+#line 1799 "parser.y"
> -+                                    {
> -             (yyval.consmodule).token = TK_IF;
> -         }
> -+#line 4151 "../parser.c"
> -     break;
> -
> --  case 191:
> --#line 1801 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 191: /* consmodule_body_directive: ifend  */
> -+#line 1802 "parser.y"
> -+              {
> -             (yyval.consmodule).token = TK_END;
> -         }
> -+#line 4159 "../parser.c"
> -     break;
> -
> --  case 192:
> --#line 1804 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 192: /* consmodule_body_directive: docstring  */
> -+#line 1805 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 (yyval.consmodule).token = TK_DOCSTRING;
> --                (yyval.consmodule).docstring = (yyvsp[(1) - (1)].docstr);
> -+                (yyval.consmodule).docstring = (yyvsp[0].docstr);
> -             }
> -             else
> -             {
> -@@ -4470,11 +4172,12 @@ yyreduce:
> -                 (yyval.consmodule).docstring = NULL;
> -             }
> -         }
> -+#line 4176 "../parser.c"
> -     break;
> -
> --  case 193:
> --#line 1818 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 193: /* compmodule: TK_COMPOMODULE compmodule_args
> compmodule_body  */
> -+#line 1819 "parser.y"
> -+                                                           {
> -             if (notSkipping())
> -             {
> -                 /* Make sure this is the first mention of a module. */
> -@@ -4484,99 +4187,109 @@ yyreduce:
> -                 if (currentModule->fullname != NULL)
> -                     yyerror("%CompositeModule must appear before any
> %Module directive");
> -
> --                setModuleName(currentSpec, currentModule, (yyvsp[(2) -
> (3)].compmodule).name);
> --                currentModule->docstring = (yyvsp[(3) -
> (3)].compmodule).docstring;
> -+                setModuleName(currentSpec, currentModule,
> (yyvsp[-1].compmodule).name);
> -+                currentModule->docstring =
> (yyvsp[0].compmodule).docstring;
> -
> -                 setIsComposite(currentModule);
> -             }
> -         }
> -+#line 4197 "../parser.c"
> -     break;
> -
> --  case 194:
> --#line 1836 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 194: /* compmodule_args: dottedname  */
> -+#line 1837 "parser.y"
> -+                               {
> -             resetLexerState();
> -
> --            (yyval.compmodule).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.compmodule).name = (yyvsp[0].text);
> -         }
> -+#line 4207 "../parser.c"
> -     break;
> -
> --  case 195:
> --#line 1841 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.compmodule) = (yyvsp[(2) - (3)].compmodule);
> -+  case 195: /* compmodule_args: '(' compmodule_arg_list ')'  */
> -+#line 1842 "parser.y"
> -+                                    {
> -+            (yyval.compmodule) = (yyvsp[-1].compmodule);
> -         }
> -+#line 4215 "../parser.c"
> -     break;
> -
> --  case 197:
> --#line 1847 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.compmodule) = (yyvsp[(1) - (3)].compmodule);
> -+  case 197: /* compmodule_arg_list: compmodule_arg_list ','
> compmodule_arg  */
> -+#line 1848 "parser.y"
> -+                                               {
> -+            (yyval.compmodule) = (yyvsp[-2].compmodule);
> -
> --            switch ((yyvsp[(3) - (3)].compmodule).token)
> -+            switch ((yyvsp[0].compmodule).token)
> -             {
> --            case TK_NAME: (yyval.compmodule).name = (yyvsp[(3) -
> (3)].compmodule).name; break;
> -+            case TK_NAME: (yyval.compmodule).name =
> (yyvsp[0].compmodule).name; break;
> -             }
> -         }
> -+#line 4228 "../parser.c"
> -     break;
> -
> --  case 198:
> --#line 1857 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 198: /* compmodule_arg: TK_NAME '=' dottedname  */
> -+#line 1858 "parser.y"
> -+                                       {
> -             (yyval.compmodule).token = TK_NAME;
> -
> --            (yyval.compmodule).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.compmodule).name = (yyvsp[0].text);
> -         }
> -+#line 4238 "../parser.c"
> -     break;
> -
> --  case 199:
> --#line 1864 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 199: /* compmodule_body: %empty  */
> -+#line 1865 "parser.y"
> -+                    {
> -             (yyval.compmodule).token = 0;
> -             (yyval.compmodule).docstring = NULL;
> -         }
> -+#line 4247 "../parser.c"
> -     break;
> -
> --  case 200:
> --#line 1868 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.compmodule) = (yyvsp[(2) - (4)].compmodule);
> -+  case 200: /* compmodule_body: '{' compmodule_body_directives '}' ';'
> */
> -+#line 1869 "parser.y"
> -+                                               {
> -+            (yyval.compmodule) = (yyvsp[-2].compmodule);
> -         }
> -+#line 4255 "../parser.c"
> -     break;
> -
> --  case 202:
> --#line 1874 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.compmodule) = (yyvsp[(1) - (2)].compmodule);
> -+  case 202: /* compmodule_body_directives: compmodule_body_directives
> compmodule_body_directive  */
> -+#line 1875 "parser.y"
> -+                                                             {
> -+            (yyval.compmodule) = (yyvsp[-1].compmodule);
> -
> --            switch ((yyvsp[(2) - (2)].compmodule).token)
> -+            switch ((yyvsp[0].compmodule).token)
> -             {
> --            case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[(2)
> - (2)].compmodule).docstring; break;
> -+            case TK_DOCSTRING: (yyval.compmodule).docstring =
> (yyvsp[0].compmodule).docstring; break;
> -             }
> -         }
> -+#line 4268 "../parser.c"
> -     break;
> -
> --  case 203:
> --#line 1884 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 203: /* compmodule_body_directive: ifstart  */
> -+#line 1885 "parser.y"
> -+                                    {
> -             (yyval.compmodule).token = TK_IF;
> -         }
> -+#line 4276 "../parser.c"
> -     break;
> -
> --  case 204:
> --#line 1887 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 204: /* compmodule_body_directive: ifend  */
> -+#line 1888 "parser.y"
> -+              {
> -             (yyval.compmodule).token = TK_END;
> -         }
> -+#line 4284 "../parser.c"
> -     break;
> -
> --  case 205:
> --#line 1890 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 205: /* compmodule_body_directive: docstring  */
> -+#line 1891 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 (yyval.compmodule).token = TK_DOCSTRING;
> --                (yyval.compmodule).docstring = (yyvsp[(1) - (1)].docstr);
> -+                (yyval.compmodule).docstring = (yyvsp[0].docstr);
> -             }
> -             else
> -             {
> -@@ -4584,107 +4297,119 @@ yyreduce:
> -                 (yyval.compmodule).docstring = NULL;
> -             }
> -         }
> -+#line 4301 "../parser.c"
> -     break;
> -
> --  case 206:
> --#line 1904 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (3)].module).name == NULL)
> -+  case 206: /* module: TK_MODULE module_args module_body  */
> -+#line 1905 "parser.y"
> -+                                          {
> -+            if ((yyvsp[-1].module).name == NULL)
> -                 yyerror("%Module must have a 'name' argument");
> -
> -             if (notSkipping())
> -                 currentModule = configureModule(currentSpec,
> currentModule,
> --                        currentContext.filename, (yyvsp[(2) -
> (3)].module).name, (yyvsp[(2) - (3)].module).c_module,
> --                        (yyvsp[(2) - (3)].module).kwargs, (yyvsp[(2) -
> (3)].module).use_arg_names, (yyvsp[(2) - (3)].module).use_limited_api,
> --                        (yyvsp[(2) - (3)].module).call_super_init,
> (yyvsp[(2) - (3)].module).all_raise_py_exc,
> --                        (yyvsp[(2) - (3)].module).def_error_handler,
> (yyvsp[(3) - (3)].module).docstring);
> --        }
> -+                        currentContext.filename,
> (yyvsp[-1].module).name, (yyvsp[-1].module).c_module,
> -+                        (yyvsp[-1].module).kwargs,
> (yyvsp[-1].module).use_arg_names, (yyvsp[-1].module).py_ssize_t_clean,
> -+                        (yyvsp[-1].module).use_limited_api,
> (yyvsp[-1].module).call_super_init,
> -+                        (yyvsp[-1].module).all_raise_py_exc,
> (yyvsp[-1].module).def_error_handler,
> -+                        (yyvsp[0].module).docstring);
> -+        }
> -+#line 4318 "../parser.c"
> -     break;
> -
> --  case 207:
> --#line 1915 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 207: /* module: TK_CMODULE dottedname optnumber  */
> -+#line 1917 "parser.y"
> -+                                        {
> -             deprecated("%CModule is deprecated, use %Module and the
> 'language' argument instead");
> -
> -             if (notSkipping())
> -                 currentModule = configureModule(currentSpec,
> currentModule,
> --                        currentContext.filename, (yyvsp[(2) -
> (3)].text), TRUE, defaultKwArgs,
> --                        FALSE, FALSE, -1, FALSE, NULL, NULL);
> -+                        currentContext.filename, (yyvsp[-1].text), TRUE,
> defaultKwArgs,
> -+                        FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
> -         }
> -+#line 4331 "../parser.c"
> -     break;
> -
> --  case 208:
> --#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {resetLexerState();}
> -+  case 208: /* $@8: %empty  */
> -+#line 1927 "parser.y"
> -+                           {resetLexerState();}
> -+#line 4337 "../parser.c"
> -     break;
> -
> --  case 209:
> --#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(3) - (3)].number) >= 0)
> -+  case 209: /* module_args: dottedname $@8 optnumber  */
> -+#line 1927 "parser.y"
> -+                                                          {
> -+            if ((yyvsp[0].number) >= 0)
> -                 deprecated("%Module version number should be specified
> using the 'version' argument");
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> --            (yyval.module).name = (yyvsp[(1) - (3)].text);
> -+            (yyval.module).name = (yyvsp[-2].text);
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4356 "../parser.c"
> -     break;
> -
> --  case 210:
> --#line 1938 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.module) = (yyvsp[(2) - (3)].module);
> -+  case 210: /* module_args: '(' module_arg_list ')'  */
> -+#line 1941 "parser.y"
> -+                                {
> -+            (yyval.module) = (yyvsp[-1].module);
> -         }
> -+#line 4364 "../parser.c"
> -     break;
> -
> --  case 212:
> --#line 1944 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.module) = (yyvsp[(1) - (3)].module);
> -+  case 212: /* module_arg_list: module_arg_list ',' module_arg  */
> -+#line 1947 "parser.y"
> -+                                       {
> -+            (yyval.module) = (yyvsp[-2].module);
> -
> --            switch ((yyvsp[(3) - (3)].module).token)
> -+            switch ((yyvsp[0].module).token)
> -             {
> --            case TK_KWARGS: (yyval.module).kwargs = (yyvsp[(3) -
> (3)].module).kwargs; break;
> --            case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[(3) -
> (3)].module).c_module; break;
> --            case TK_NAME: (yyval.module).name = (yyvsp[(3) -
> (3)].module).name; break;
> --            case TK_USEARGNAMES: (yyval.module).use_arg_names =
> (yyvsp[(3) - (3)].module).use_arg_names; break;
> --            case TK_USELIMITEDAPI: (yyval.module).use_limited_api =
> (yyvsp[(3) - (3)].module).use_limited_api; break;
> --            case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc =
> (yyvsp[(3) - (3)].module).all_raise_py_exc; break;
> --            case TK_CALLSUPERINIT: (yyval.module).call_super_init =
> (yyvsp[(3) - (3)].module).call_super_init; break;
> --            case TK_DEFERRORHANDLER: (yyval.module).def_error_handler =
> (yyvsp[(3) - (3)].module).def_error_handler; break;
> -+            case TK_KWARGS: (yyval.module).kwargs =
> (yyvsp[0].module).kwargs; break;
> -+            case TK_LANGUAGE: (yyval.module).c_module =
> (yyvsp[0].module).c_module; break;
> -+            case TK_NAME: (yyval.module).name = (yyvsp[0].module).name;
> break;
> -+            case TK_USEARGNAMES: (yyval.module).use_arg_names =
> (yyvsp[0].module).use_arg_names; break;
> -+            case TK_PYSSIZETCLEAN: (yyval.module).py_ssize_t_clean =
> (yyvsp[0].module).py_ssize_t_clean; break;
> -+            case TK_USELIMITEDAPI: (yyval.module).use_limited_api =
> (yyvsp[0].module).use_limited_api; break;
> -+            case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc =
> (yyvsp[0].module).all_raise_py_exc; break;
> -+            case TK_CALLSUPERINIT: (yyval.module).call_super_init =
> (yyvsp[0].module).call_super_init; break;
> -+            case TK_DEFERRORHANDLER: (yyval.module).def_error_handler =
> (yyvsp[0].module).def_error_handler; break;
> -             }
> -         }
> -+#line 4385 "../parser.c"
> -     break;
> -
> --  case 213:
> --#line 1961 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 213: /* module_arg: TK_KWARGS '=' TK_STRING_VALUE  */
> -+#line 1965 "parser.y"
> -+                                          {
> -             (yyval.module).token = TK_KWARGS;
> -
> -             (yyval.module).c_module = FALSE;
> --            (yyval.module).kwargs = convertKwArgs((yyvsp[(3) -
> (3)].text));
> -+            (yyval.module).kwargs = convertKwArgs((yyvsp[0].text));
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4403 "../parser.c"
> -     break;
> -
> --  case 214:
> --#line 1973 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 214: /* module_arg: TK_LANGUAGE '=' TK_STRING_VALUE  */
> -+#line 1978 "parser.y"
> -+                                        {
> -             (yyval.module).token = TK_LANGUAGE;
> -
> --            if (strcmp((yyvsp[(3) - (3)].text), "C++") == 0)
> -+            if (strcmp((yyvsp[0].text), "C++") == 0)
> -                 (yyval.module).c_module = FALSE;
> --            else if (strcmp((yyvsp[(3) - (3)].text), "C") == 0)
> -+            else if (strcmp((yyvsp[0].text), "C") == 0)
> -                 (yyval.module).c_module = TRUE;
> -             else
> -                 yyerror("%Module 'language' argument must be either
> \"C++\" or \"C\"");
> -@@ -4692,115 +4417,147 @@ yyreduce:
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4427 "../parser.c"
> -     break;
> -
> --  case 215:
> --#line 1991 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 215: /* module_arg: TK_NAME '=' dottedname  */
> -+#line 1997 "parser.y"
> -+                               {
> -             (yyval.module).token = TK_NAME;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> --            (yyval.module).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.module).name = (yyvsp[0].text);
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4445 "../parser.c"
> -     break;
> -
> --  case 216:
> --#line 2003 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 216: /* module_arg: TK_USEARGNAMES '=' bool_value  */
> -+#line 2010 "parser.y"
> -+                                      {
> -             (yyval.module).token = TK_USEARGNAMES;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> --            (yyval.module).use_arg_names = (yyvsp[(3) - (3)].boolean);
> -+            (yyval.module).use_arg_names = (yyvsp[0].boolean);
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4463 "../parser.c"
> -     break;
> -
> --  case 217:
> --#line 2015 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 217: /* module_arg: TK_PYSSIZETCLEAN '=' bool_value  */
> -+#line 2023 "parser.y"
> -+                                        {
> -+            (yyval.module).token = TK_PYSSIZETCLEAN;
> -+
> -+            (yyval.module).c_module = FALSE;
> -+            (yyval.module).kwargs = defaultKwArgs;
> -+            (yyval.module).name = NULL;
> -+            (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = (yyvsp[0].boolean);
> -+            (yyval.module).use_limited_api = FALSE;
> -+            (yyval.module).all_raise_py_exc = FALSE;
> -+            (yyval.module).call_super_init = -1;
> -+            (yyval.module).def_error_handler = NULL;
> -+        }
> -+#line 4481 "../parser.c"
> -+    break;
> -+
> -+  case 218: /* module_arg: TK_USELIMITEDAPI '=' bool_value  */
> -+#line 2036 "parser.y"
> -+                                        {
> -             (yyval.module).token = TK_USELIMITEDAPI;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> --            (yyval.module).use_limited_api = (yyvsp[(3) - (3)].boolean);
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -+            (yyval.module).use_limited_api = (yyvsp[0].boolean);
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4499 "../parser.c"
> -     break;
> -
> --  case 218:
> --#line 2027 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 219: /* module_arg: TK_ALLRAISEPYEXC '=' bool_value  */
> -+#line 2049 "parser.y"
> -+                                        {
> -             (yyval.module).token = TK_ALLRAISEPYEXC;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> --            (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].boolean);
> -+            (yyval.module).all_raise_py_exc = (yyvsp[0].boolean);
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4517 "../parser.c"
> -     break;
> -
> --  case 219:
> --#line 2039 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 220: /* module_arg: TK_CALLSUPERINIT '=' bool_value  */
> -+#line 2062 "parser.y"
> -+                                        {
> -             (yyval.module).token = TK_CALLSUPERINIT;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> --            (yyval.module).call_super_init = (yyvsp[(3) - (3)].boolean);
> -+            (yyval.module).call_super_init = (yyvsp[0].boolean);
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4535 "../parser.c"
> -     break;
> -
> --  case 220:
> --#line 2051 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 221: /* module_arg: TK_DEFERRORHANDLER '=' TK_NAME_VALUE  */
> -+#line 2075 "parser.y"
> -+                                             {
> -             (yyval.module).token = TK_DEFERRORHANDLER;
> -
> -             (yyval.module).c_module = FALSE;
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> --            (yyval.module).def_error_handler = (yyvsp[(3) - (3)].text);
> -+            (yyval.module).def_error_handler = (yyvsp[0].text);
> -         }
> -+#line 4553 "../parser.c"
> -     break;
> -
> --  case 221:
> --#line 2063 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 222: /* module_arg: TK_VERSION '=' TK_NUMBER_VALUE  */
> -+#line 2088 "parser.y"
> -+                                       {
> -             deprecated("%Module version numbers are deprecated and
> ignored");
> -
> --            if ((yyvsp[(3) - (3)].number) < 0)
> -+            if ((yyvsp[0].number) < 0)
> -                 yyerror("%Module 'version' argument cannot be negative");
> -
> -             (yyval.module).token = TK_VERSION;
> -@@ -4809,68 +4566,76 @@ yyreduce:
> -             (yyval.module).kwargs = defaultKwArgs;
> -             (yyval.module).name = NULL;
> -             (yyval.module).use_arg_names = FALSE;
> -+            (yyval.module).py_ssize_t_clean = FALSE;
> -             (yyval.module).use_limited_api = FALSE;
> -             (yyval.module).all_raise_py_exc = FALSE;
> -             (yyval.module).call_super_init = -1;
> -             (yyval.module).def_error_handler = NULL;
> -         }
> -+#line 4576 "../parser.c"
> -     break;
> -
> --  case 222:
> --#line 2082 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 223: /* module_body: %empty  */
> -+#line 2108 "parser.y"
> -+                {
> -             (yyval.module).token = 0;
> -             (yyval.module).docstring = NULL;
> -         }
> -+#line 4585 "../parser.c"
> -     break;
> -
> --  case 223:
> --#line 2086 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.module) = (yyvsp[(2) - (4)].module);
> -+  case 224: /* module_body: '{' module_body_directives '}' ';'  */
> -+#line 2112 "parser.y"
> -+                                           {
> -+            (yyval.module) = (yyvsp[-2].module);
> -         }
> -+#line 4593 "../parser.c"
> -     break;
> -
> --  case 225:
> --#line 2092 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.module) = (yyvsp[(1) - (2)].module);
> -+  case 226: /* module_body_directives: module_body_directives
> module_body_directive  */
> -+#line 2118 "parser.y"
> -+                                                     {
> -+            (yyval.module) = (yyvsp[-1].module);
> -
> --            switch ((yyvsp[(2) - (2)].module).token)
> -+            switch ((yyvsp[0].module).token)
> -             {
> --            case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[(2) -
> (2)].module).docstring; break;
> -+            case TK_DOCSTRING: (yyval.module).docstring =
> (yyvsp[0].module).docstring; break;
> -             }
> -         }
> -+#line 4606 "../parser.c"
> -     break;
> -
> --  case 226:
> --#line 2102 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 227: /* module_body_directive: ifstart  */
> -+#line 2128 "parser.y"
> -+                                {
> -             (yyval.module).token = TK_IF;
> -         }
> -+#line 4614 "../parser.c"
> -     break;
> -
> --  case 227:
> --#line 2105 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 228: /* module_body_directive: ifend  */
> -+#line 2131 "parser.y"
> -+              {
> -             (yyval.module).token = TK_END;
> -         }
> -+#line 4622 "../parser.c"
> -     break;
> -
> --  case 228:
> --#line 2108 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 229: /* module_body_directive: autopyname  */
> -+#line 2134 "parser.y"
> -+                   {
> -             (yyval.module).token = TK_AUTOPYNAME;
> -         }
> -+#line 4630 "../parser.c"
> -     break;
> -
> --  case 229:
> --#line 2111 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 230: /* module_body_directive: docstring  */
> -+#line 2137 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 (yyval.module).token = TK_DOCSTRING;
> --                (yyval.module).docstring = (yyvsp[(1) - (1)].docstr);
> -+                (yyval.module).docstring = (yyvsp[0].docstr);
> -             }
> -             else
> -             {
> -@@ -4878,11 +4643,12 @@ yyreduce:
> -                 (yyval.module).docstring = NULL;
> -             }
> -         }
> -+#line 4647 "../parser.c"
> -     break;
> -
> --  case 231:
> --#line 2126 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 232: /* dottedname: TK_PATH_VALUE  */
> -+#line 2152 "parser.y"
> -+                      {
> -             /*
> -              * The grammar design is a bit broken and this is the
> easiest way
> -              * to allow periods in names.
> -@@ -4890,435 +4656,487 @@ yyreduce:
> -
> -             char *cp;
> -
> --            for (cp = (yyvsp[(1) - (1)].text); *cp != '\0'; ++cp)
> -+            for (cp = (yyvsp[0].text); *cp != '\0'; ++cp)
> -                 if (*cp != '.' && *cp != '_' && !isalnum(*cp))
> -                     yyerror("Invalid character in name");
> -
> --            (yyval.text) = (yyvsp[(1) - (1)].text);
> -+            (yyval.text) = (yyvsp[0].text);
> -         }
> -+#line 4666 "../parser.c"
> -     break;
> -
> --  case 232:
> --#line 2142 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 233: /* optnumber: %empty  */
> -+#line 2168 "parser.y"
> -+            {
> -             (yyval.number) = -1;
> -         }
> -+#line 4674 "../parser.c"
> -     break;
> -
> --  case 234:
> --#line 2148 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (2)].include).name == NULL)
> -+  case 235: /* include: TK_INCLUDE include_args  */
> -+#line 2174 "parser.y"
> -+                                    {
> -+            if ((yyvsp[0].include).name == NULL)
> -                 yyerror("%Include must have a 'name' argument");
> -
> -             if (notSkipping())
> --                parseFile(NULL, (yyvsp[(2) - (2)].include).name, NULL,
> (yyvsp[(2) - (2)].include).optional);
> -+                parseFile(NULL, (yyvsp[0].include).name, NULL,
> (yyvsp[0].include).optional);
> -         }
> -+#line 4686 "../parser.c"
> -     break;
> -
> --  case 235:
> --#line 2157 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 236: /* include_args: TK_PATH_VALUE  */
> -+#line 2183 "parser.y"
> -+                              {
> -             resetLexerState();
> -
> --            (yyval.include).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.include).name = (yyvsp[0].text);
> -             (yyval.include).optional = FALSE;
> -         }
> -+#line 4697 "../parser.c"
> -     break;
> -
> --  case 236:
> --#line 2163 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.include) = (yyvsp[(2) - (3)].include);
> -+  case 237: /* include_args: '(' include_arg_list ')'  */
> -+#line 2189 "parser.y"
> -+                                 {
> -+            (yyval.include) = (yyvsp[-1].include);
> -         }
> -+#line 4705 "../parser.c"
> -     break;
> -
> --  case 238:
> --#line 2169 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.include) = (yyvsp[(1) - (3)].include);
> -+  case 239: /* include_arg_list: include_arg_list ',' include_arg  */
> -+#line 2195 "parser.y"
> -+                                         {
> -+            (yyval.include) = (yyvsp[-2].include);
> -
> --            switch ((yyvsp[(3) - (3)].include).token)
> -+            switch ((yyvsp[0].include).token)
> -             {
> --            case TK_NAME: (yyval.include).name = (yyvsp[(3) -
> (3)].include).name; break;
> --            case TK_OPTIONAL: (yyval.include).optional = (yyvsp[(3) -
> (3)].include).optional; break;
> -+            case TK_NAME: (yyval.include).name =
> (yyvsp[0].include).name; break;
> -+            case TK_OPTIONAL: (yyval.include).optional =
> (yyvsp[0].include).optional; break;
> -             }
> -         }
> -+#line 4719 "../parser.c"
> -     break;
> -
> --  case 239:
> --#line 2180 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 240: /* include_arg: TK_NAME '=' TK_PATH_VALUE  */
> -+#line 2206 "parser.y"
> -+                                          {
> -             (yyval.include).token = TK_NAME;
> -
> --            (yyval.include).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.include).name = (yyvsp[0].text);
> -             (yyval.include).optional = FALSE;
> -         }
> -+#line 4730 "../parser.c"
> -     break;
> -
> --  case 240:
> --#line 2186 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 241: /* include_arg: TK_OPTIONAL '=' bool_value  */
> -+#line 2212 "parser.y"
> -+                                   {
> -             (yyval.include).token = TK_OPTIONAL;
> -
> -             (yyval.include).name = NULL;
> --            (yyval.include).optional = (yyvsp[(3) - (3)].boolean);
> -+            (yyval.include).optional = (yyvsp[0].boolean);
> -         }
> -+#line 4741 "../parser.c"
> -     break;
> -
> --  case 241:
> --#line 2194 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 242: /* optinclude: TK_OPTINCLUDE TK_PATH_VALUE  */
> -+#line 2220 "parser.y"
> -+                                        {
> -             deprecated("%OptionalInclude is deprecated, use %Include and
> the 'optional' argument instead");
> -
> -             if (notSkipping())
> --                parseFile(NULL, (yyvsp[(2) - (2)].text), NULL, TRUE);
> -+                parseFile(NULL, (yyvsp[0].text), NULL, TRUE);
> -         }
> -+#line 4752 "../parser.c"
> -     break;
> -
> --  case 242:
> --#line 2202 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 243: /* import: TK_IMPORT import_args  */
> -+#line 2228 "parser.y"
> -+                                  {
> -             if (notSkipping())
> --                newImport((yyvsp[(2) - (2)].import).name);
> -+                newImport((yyvsp[0].import).name);
> -         }
> -+#line 4761 "../parser.c"
> -     break;
> -
> --  case 243:
> --#line 2208 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 244: /* import_args: TK_PATH_VALUE  */
> -+#line 2234 "parser.y"
> -+                              {
> -             resetLexerState();
> -
> --            (yyval.import).name = (yyvsp[(1) - (1)].text);
> -+            (yyval.import).name = (yyvsp[0].text);
> -         }
> -+#line 4771 "../parser.c"
> -     break;
> -
> --  case 244:
> --#line 2213 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.import) = (yyvsp[(2) - (3)].import);
> -+  case 245: /* import_args: '(' import_arg_list ')'  */
> -+#line 2239 "parser.y"
> -+                                {
> -+            (yyval.import) = (yyvsp[-1].import);
> -         }
> -+#line 4779 "../parser.c"
> -     break;
> -
> --  case 246:
> --#line 2219 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.import) = (yyvsp[(1) - (3)].import);
> -+  case 247: /* import_arg_list: import_arg_list ',' import_arg  */
> -+#line 2245 "parser.y"
> -+                                       {
> -+            (yyval.import) = (yyvsp[-2].import);
> -
> --            switch ((yyvsp[(3) - (3)].import).token)
> -+            switch ((yyvsp[0].import).token)
> -             {
> --            case TK_NAME: (yyval.import).name = (yyvsp[(3) -
> (3)].import).name; break;
> -+            case TK_NAME: (yyval.import).name = (yyvsp[0].import).name;
> break;
> -             }
> -         }
> -+#line 4792 "../parser.c"
> -     break;
> -
> --  case 247:
> --#line 2229 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 248: /* import_arg: TK_NAME '=' TK_PATH_VALUE  */
> -+#line 2255 "parser.y"
> -+                                      {
> -             (yyval.import).token = TK_NAME;
> -
> --            (yyval.import).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.import).name = (yyvsp[0].text);
> -         }
> -+#line 4802 "../parser.c"
> -     break;
> -
> --  case 248:
> --#line 2236 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 249: /* optaccesscode: %empty  */
> -+#line 2262 "parser.y"
> -+                {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 4810 "../parser.c"
> -     break;
> -
> --  case 249:
> --#line 2239 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 250: /* optaccesscode: TK_ACCESSCODE codeblock  */
> -+#line 2265 "parser.y"
> -+                                {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4818 "../parser.c"
> -     break;
> -
> --  case 250:
> --#line 2244 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 251: /* optgetcode: %empty  */
> -+#line 2270 "parser.y"
> -+            {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 4826 "../parser.c"
> -     break;
> -
> --  case 251:
> --#line 2247 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 252: /* optgetcode: TK_GETCODE codeblock  */
> -+#line 2273 "parser.y"
> -+                             {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4834 "../parser.c"
> -     break;
> -
> --  case 252:
> --#line 2252 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 253: /* optsetcode: %empty  */
> -+#line 2278 "parser.y"
> -+            {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 4842 "../parser.c"
> -     break;
> -
> --  case 253:
> --#line 2255 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 254: /* optsetcode: TK_SETCODE codeblock  */
> -+#line 2281 "parser.y"
> -+                             {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4850 "../parser.c"
> -     break;
> -
> --  case 254:
> --#line 2260 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 255: /* copying: TK_COPYING codeblock  */
> -+#line 2286 "parser.y"
> -+                                 {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->copying, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentModule->copying,
> (yyvsp[0].codeb));
> -         }
> -+#line 4859 "../parser.c"
> -     break;
> -
> --  case 255:
> --#line 2266 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 256: /* exphdrcode: TK_EXPHEADERCODE codeblock  */
> -+#line 2292 "parser.y"
> -+                                       {
> -             if (notSkipping())
> --                appendCodeBlock(&currentSpec->exphdrcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentSpec->exphdrcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 4868 "../parser.c"
> -     break;
> -
> --  case 256:
> --#line 2272 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 257: /* modhdrcode: TK_MODHEADERCODE codeblock  */
> -+#line 2298 "parser.y"
> -+                                       {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->hdrcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentModule->hdrcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 4877 "../parser.c"
> -     break;
> -
> --  case 257:
> --#line 2278 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 258: /* typehdrcode: TK_TYPEHEADERCODE codeblock  */
> -+#line 2304 "parser.y"
> -+                                            {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4885 "../parser.c"
> -     break;
> -
> --  case 258:
> --#line 2283 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 259: /* travcode: TK_TRAVERSECODE codeblock  */
> -+#line 2309 "parser.y"
> -+                                      {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4893 "../parser.c"
> -     break;
> -
> --  case 259:
> --#line 2288 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 260: /* clearcode: TK_CLEARCODE codeblock  */
> -+#line 2314 "parser.y"
> -+                                   {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4901 "../parser.c"
> -     break;
> -
> --  case 260:
> --#line 2293 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 261: /* getbufcode: TK_GETBUFFERCODE codeblock  */
> -+#line 2319 "parser.y"
> -+                                       {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4909 "../parser.c"
> -     break;
> -
> --  case 261:
> --#line 2298 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 262: /* releasebufcode: TK_RELEASEBUFFERCODE codeblock  */
> -+#line 2324 "parser.y"
> -+                                               {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4917 "../parser.c"
> -     break;
> -
> --  case 262:
> --#line 2303 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 263: /* readbufcode: TK_READBUFFERCODE codeblock  */
> -+#line 2329 "parser.y"
> -+                                            {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4925 "../parser.c"
> -     break;
> -
> --  case 263:
> --#line 2308 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 264: /* writebufcode: TK_WRITEBUFFERCODE codeblock  */
> -+#line 2334 "parser.y"
> -+                                             {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4933 "../parser.c"
> -     break;
> -
> --  case 264:
> --#line 2313 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 265: /* segcountcode: TK_SEGCOUNTCODE codeblock  */
> -+#line 2339 "parser.y"
> -+                                          {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4941 "../parser.c"
> -     break;
> -
> --  case 265:
> --#line 2318 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 266: /* charbufcode: TK_CHARBUFFERCODE codeblock  */
> -+#line 2344 "parser.y"
> -+                                            {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4949 "../parser.c"
> -     break;
> -
> --  case 266:
> --#line 2323 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 267: /* instancecode: TK_INSTANCECODE codeblock  */
> -+#line 2349 "parser.y"
> -+                                          {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4957 "../parser.c"
> -     break;
> -
> --  case 267:
> --#line 2328 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 268: /* picklecode: TK_PICKLECODE codeblock  */
> -+#line 2354 "parser.y"
> -+                                    {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4965 "../parser.c"
> -     break;
> -
> --  case 268:
> --#line 2333 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 269: /* finalcode: TK_FINALCODE codeblock  */
> -+#line 2359 "parser.y"
> -+                                   {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4973 "../parser.c"
> -     break;
> -
> --  case 269:
> --#line 2338 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 270: /* modcode: TK_MODCODE codeblock  */
> -+#line 2364 "parser.y"
> -+                                 {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->cppcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentModule->cppcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 4982 "../parser.c"
> -     break;
> -
> --  case 270:
> --#line 2344 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 271: /* typecode: TK_TYPECODE codeblock  */
> -+#line 2370 "parser.y"
> -+                                  {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 4990 "../parser.c"
> -     break;
> -
> --  case 271:
> --#line 2349 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 272: /* preinitcode: TK_PREINITCODE codeblock  */
> -+#line 2375 "parser.y"
> -+                                         {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->preinitcode, (yyvsp[(2)
> - (2)].codeb));
> -+                appendCodeBlock(&currentModule->preinitcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 4999 "../parser.c"
> -     break;
> -
> --  case 272:
> --#line 2355 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 273: /* initcode: TK_INITCODE codeblock  */
> -+#line 2381 "parser.y"
> -+                                  {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->initcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentModule->initcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5008 "../parser.c"
> -     break;
> -
> --  case 273:
> --#line 2361 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 274: /* postinitcode: TK_POSTINITCODE codeblock  */
> -+#line 2387 "parser.y"
> -+                                          {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->postinitcode, (yyvsp[(2)
> - (2)].codeb));
> -+                appendCodeBlock(&currentModule->postinitcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5017 "../parser.c"
> -     break;
> -
> --  case 274:
> --#line 2367 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 275: /* unitcode: TK_UNITCODE codeblock  */
> -+#line 2393 "parser.y"
> -+                                  {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->unitcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentModule->unitcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5026 "../parser.c"
> -     break;
> -
> --  case 275:
> --#line 2373 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 276: /* unitpostinccode: TK_UNITPOSTINCLUDECODE codeblock  */
> -+#line 2399 "parser.y"
> -+                                                     {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->unitpostinccode,
> (yyvsp[(2) - (2)].codeb));
> -+                appendCodeBlock(&currentModule->unitpostinccode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5035 "../parser.c"
> -     break;
> -
> --  case 276:
> --#line 2379 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 277: /* prepycode: TK_PREPYCODE codeblock  */
> -+#line 2405 "parser.y"
> -+                                   {
> -             /* Deprecated. */
> -         }
> -+#line 5043 "../parser.c"
> -     break;
> -
> --  case 277:
> --#line 2384 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 278: /* exptypehintcode: TK_EXPTYPEHINTCODE codeblock  */
> -+#line 2410 "parser.y"
> -+                                              {
> -             if (notSkipping() && !inMainModule())
> --                appendCodeBlock(&currentSpec->exptypehintcode,
> (yyvsp[(2) - (2)].codeb));
> -+                appendCodeBlock(&currentSpec->exptypehintcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5052 "../parser.c"
> -     break;
> -
> --  case 278:
> --#line 2390 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 279: /* modtypehintcode: TK_TYPEHINTCODE codeblock  */
> -+#line 2416 "parser.y"
> -+                                           {
> -             if (notSkipping())
> --                appendCodeBlock(&currentModule->typehintcode, (yyvsp[(2)
> - (2)].codeb));
> -+                appendCodeBlock(&currentModule->typehintcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 5061 "../parser.c"
> -     break;
> -
> --  case 279:
> --#line 2396 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 280: /* classtypehintcode: TK_TYPEHINTCODE codeblock  */
> -+#line 2422 "parser.y"
> -+                                             {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 5069 "../parser.c"
> -     break;
> -
> --  case 280:
> --#line 2401 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 281: /* doc: TK_DOC codeblock  */
> -+#line 2427 "parser.y"
> -+                             {
> -             if (notSkipping() && inMainModule())
> --                appendCodeBlock(&currentSpec->docs, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentSpec->docs, (yyvsp[0].codeb));
> -         }
> -+#line 5078 "../parser.c"
> -     break;
> -
> --  case 281:
> --#line 2407 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 282: /* exporteddoc: TK_EXPORTEDDOC codeblock  */
> -+#line 2433 "parser.y"
> -+                                         {
> -             if (notSkipping())
> --                appendCodeBlock(&currentSpec->docs, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&currentSpec->docs, (yyvsp[0].codeb));
> -         }
> -+#line 5087 "../parser.c"
> -     break;
> -
> --  case 282:
> --#line 2413 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 283: /* autopyname: TK_AUTOPYNAME autopyname_args  */
> -+#line 2439 "parser.y"
> -+                                          {
> -             if (notSkipping())
> --                addAutoPyName(currentModule, (yyvsp[(2) -
> (2)].autopyname).remove_leading);
> -+                addAutoPyName(currentModule,
> (yyvsp[0].autopyname).remove_leading);
> -         }
> -+#line 5096 "../parser.c"
> -     break;
> -
> --  case 283:
> --#line 2419 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.autopyname) = (yyvsp[(2) - (3)].autopyname);
> -+  case 284: /* autopyname_args: '(' autopyname_arg_list ')'  */
> -+#line 2445 "parser.y"
> -+                                                {
> -+            (yyval.autopyname) = (yyvsp[-1].autopyname);
> -         }
> -+#line 5104 "../parser.c"
> -     break;
> -
> --  case 285:
> --#line 2425 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.autopyname) = (yyvsp[(1) - (3)].autopyname);
> -+  case 286: /* autopyname_arg_list: autopyname_arg_list ','
> autopyname_arg  */
> -+#line 2451 "parser.y"
> -+                                               {
> -+            (yyval.autopyname) = (yyvsp[-2].autopyname);
> -
> --            switch ((yyvsp[(3) - (3)].autopyname).token)
> -+            switch ((yyvsp[0].autopyname).token)
> -             {
> --            case TK_REMOVELEADING: (yyval.autopyname).remove_leading =
> (yyvsp[(3) - (3)].autopyname).remove_leading; break;
> -+            case TK_REMOVELEADING: (yyval.autopyname).remove_leading =
> (yyvsp[0].autopyname).remove_leading; break;
> -             }
> -         }
> -+#line 5117 "../parser.c"
> -     break;
> -
> --  case 286:
> --#line 2435 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 287: /* autopyname_arg: TK_REMOVELEADING '=' TK_STRING_VALUE  */
> -+#line 2461 "parser.y"
> -+                                                     {
> -             (yyval.autopyname).token = TK_REMOVELEADING;
> -
> --            (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].text);
> -+            (yyval.autopyname).remove_leading = (yyvsp[0].text);
> -         }
> -+#line 5127 "../parser.c"
> -     break;
> -
> --  case 287:
> --#line 2442 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 288: /* docstring: TK_DOCSTRING docstring_args codeblock  */
> -+#line 2468 "parser.y"
> -+                                                  {
> -             (yyval.docstr) = sipMalloc(sizeof(docstringDef));
> -
> --            (yyval.docstr)->signature = (yyvsp[(2) -
> (3)].docstring).signature;
> --            (yyval.docstr)->text = (yyvsp[(3) - (3)].codeb)->frag;
> --            free((yyvsp[(3) - (3)].codeb));
> -+            (yyval.docstr)->signature = (yyvsp[-1].docstring).signature;
> -+            (yyval.docstr)->text = (yyvsp[0].codeb)->frag;
> -+            free((yyvsp[0].codeb));
> -
> -             /* Format the docstring. */
> --            if ((yyvsp[(2) - (3)].docstring).format == deindented)
> -+            if ((yyvsp[-1].docstring).format == deindented)
> -             {
> -                 const char *cp;
> -                 char *dp;
> -@@ -5392,159 +5210,175 @@ yyreduce:
> -                 *dp = '\0';
> -             }
> -         }
> -+#line 5214 "../parser.c"
> -     break;
> -
> --  case 288:
> --#line 2526 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 289: /* docstring_args: %empty  */
> -+#line 2552 "parser.y"
> -+                {
> -             (yyval.docstring).format = currentModule->defdocstringfmt;
> -             (yyval.docstring).signature = currentModule->defdocstringsig;
> -         }
> -+#line 5223 "../parser.c"
> -     break;
> -
> --  case 289:
> --#line 2530 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 290: /* docstring_args: TK_STRING_VALUE  */
> -+#line 2556 "parser.y"
> -+                        {
> -             resetLexerState();
> -
> --            (yyval.docstring).format = convertFormat((yyvsp[(1) -
> (1)].text));
> -+            (yyval.docstring).format = convertFormat((yyvsp[0].text));
> -             (yyval.docstring).signature = currentModule->defdocstringsig;
> -         }
> -+#line 5234 "../parser.c"
> -     break;
> -
> --  case 290:
> --#line 2536 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.docstring) = (yyvsp[(2) - (3)].docstring);
> -+  case 291: /* docstring_args: '(' docstring_arg_list ')'  */
> -+#line 2562 "parser.y"
> -+                                   {
> -+            (yyval.docstring) = (yyvsp[-1].docstring);
> -         }
> -+#line 5242 "../parser.c"
> -     break;
> -
> --  case 292:
> --#line 2542 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.docstring) = (yyvsp[(1) - (3)].docstring);
> -+  case 293: /* docstring_arg_list: docstring_arg_list ',' docstring_arg
> */
> -+#line 2568 "parser.y"
> -+                                             {
> -+            (yyval.docstring) = (yyvsp[-2].docstring);
> -
> --            switch ((yyvsp[(3) - (3)].docstring).token)
> -+            switch ((yyvsp[0].docstring).token)
> -             {
> --            case TK_FORMAT: (yyval.docstring).format = (yyvsp[(3) -
> (3)].docstring).format; break;
> --            case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[(3)
> - (3)].docstring).signature; break;
> -+            case TK_FORMAT: (yyval.docstring).format =
> (yyvsp[0].docstring).format; break;
> -+            case TK_SIGNATURE: (yyval.docstring).signature =
> (yyvsp[0].docstring).signature; break;
> -             }
> -         }
> -+#line 5256 "../parser.c"
> -     break;
> -
> --  case 293:
> --#line 2553 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 294: /* docstring_arg: TK_FORMAT '=' TK_STRING_VALUE  */
> -+#line 2579 "parser.y"
> -+                                              {
> -             (yyval.docstring).token = TK_FORMAT;
> -
> --            (yyval.docstring).format = convertFormat((yyvsp[(3) -
> (3)].text));
> -+            (yyval.docstring).format = convertFormat((yyvsp[0].text));
> -             (yyval.docstring).signature = currentModule->defdocstringsig;
> -         }
> -+#line 5267 "../parser.c"
> -     break;
> -
> --  case 294:
> --#line 2559 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 295: /* docstring_arg: TK_SIGNATURE '=' TK_STRING_VALUE  */
> -+#line 2585 "parser.y"
> -+                                         {
> -             (yyval.docstring).token = TK_SIGNATURE;
> -
> -             (yyval.docstring).format = currentModule->defdocstringfmt;
> --            (yyval.docstring).signature = convertSignature((yyvsp[(3) -
> (3)].text));
> -+            (yyval.docstring).signature =
> convertSignature((yyvsp[0].text));
> -         }
> -+#line 5278 "../parser.c"
> -     break;
> -
> --  case 295:
> --#line 2567 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 296: /* optdocstring: %empty  */
> -+#line 2593 "parser.y"
> -+              {
> -             (yyval.docstr) = NULL;
> -         }
> -+#line 5286 "../parser.c"
> -     break;
> -
> --  case 297:
> --#line 2573 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (3)].extract).id == NULL)
> -+  case 298: /* extract: TK_EXTRACT extract_args codeblock  */
> -+#line 2599 "parser.y"
> -+                                              {
> -+            if ((yyvsp[-1].extract).id == NULL)
> -                 yyerror("%Extract must have an 'id' argument");
> -
> -             if (notSkipping())
> --                addExtractPart(currentSpec, (yyvsp[(2) -
> (3)].extract).id, (yyvsp[(2) - (3)].extract).order, (yyvsp[(3) -
> (3)].codeb));
> -+                addExtractPart(currentSpec, (yyvsp[-1].extract).id,
> (yyvsp[-1].extract).order, (yyvsp[0].codeb));
> -         }
> -+#line 5298 "../parser.c"
> -     break;
> -
> --  case 298:
> --#line 2582 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 299: /* extract_args: TK_NAME_VALUE  */
> -+#line 2608 "parser.y"
> -+                              {
> -             resetLexerState();
> -
> --            (yyval.extract).id = (yyvsp[(1) - (1)].text);
> -+            (yyval.extract).id = (yyvsp[0].text);
> -             (yyval.extract).order = -1;
> -         }
> -+#line 5309 "../parser.c"
> -     break;
> -
> --  case 299:
> --#line 2588 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.extract) = (yyvsp[(2) - (3)].extract);
> -+  case 300: /* extract_args: '(' extract_arg_list ')'  */
> -+#line 2614 "parser.y"
> -+                                 {
> -+            (yyval.extract) = (yyvsp[-1].extract);
> -         }
> -+#line 5317 "../parser.c"
> -     break;
> -
> --  case 301:
> --#line 2594 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.extract) = (yyvsp[(1) - (3)].extract);
> -+  case 302: /* extract_arg_list: extract_arg_list ',' extract_arg  */
> -+#line 2620 "parser.y"
> -+                                         {
> -+            (yyval.extract) = (yyvsp[-2].extract);
> -
> --            switch ((yyvsp[(3) - (3)].extract).token)
> -+            switch ((yyvsp[0].extract).token)
> -             {
> --            case TK_ID: (yyval.extract).id = (yyvsp[(3) -
> (3)].extract).id; break;
> --            case TK_ORDER: (yyval.extract).order = (yyvsp[(3) -
> (3)].extract).order; break;
> -+            case TK_ID: (yyval.extract).id = (yyvsp[0].extract).id;
> break;
> -+            case TK_ORDER: (yyval.extract).order =
> (yyvsp[0].extract).order; break;
> -             }
> -         }
> -+#line 5331 "../parser.c"
> -     break;
> -
> --  case 302:
> --#line 2605 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 303: /* extract_arg: TK_ID '=' TK_NAME_VALUE  */
> -+#line 2631 "parser.y"
> -+                                        {
> -             (yyval.extract).token = TK_ID;
> -
> --            (yyval.extract).id = (yyvsp[(3) - (3)].text);
> -+            (yyval.extract).id = (yyvsp[0].text);
> -             (yyval.extract).order = -1;
> -         }
> -+#line 5342 "../parser.c"
> -     break;
> -
> --  case 303:
> --#line 2611 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 304: /* extract_arg: TK_ORDER '=' TK_NUMBER_VALUE  */
> -+#line 2637 "parser.y"
> -+                                     {
> -             (yyval.extract).token = TK_ORDER;
> -
> --            if ((yyvsp[(3) - (3)].number) < 0)
> -+            if ((yyvsp[0].number) < 0)
> -                 yyerror("The 'order' of an %Extract directive must not
> be negative");
> -
> -             (yyval.extract).id = NULL;
> --            (yyval.extract).order = (yyvsp[(3) - (3)].number);
> -+            (yyval.extract).order = (yyvsp[0].number);
> -         }
> -+#line 5356 "../parser.c"
> -     break;
> -
> --  case 304:
> --#line 2622 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 305: /* makefile: TK_MAKEFILE TK_PATH_VALUE optfilename
> codeblock  */
> -+#line 2648 "parser.y"
> -+                                                            {
> -             /* Deprecated. */
> -         }
> -+#line 5364 "../parser.c"
> -     break;
> -
> --  case 307:
> --#line 2631 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(1) - (2)].codeb);
> -+  case 308: /* codelines: codelines TK_CODELINE  */
> -+#line 2657 "parser.y"
> -+                              {
> -+            (yyval.codeb) = (yyvsp[-1].codeb);
> -
> --            append(&(yyval.codeb)->frag, (yyvsp[(2) - (2)].codeb)->frag);
> -+            append(&(yyval.codeb)->frag, (yyvsp[0].codeb)->frag);
> -
> --            free((yyvsp[(2) - (2)].codeb)->frag);
> --            free((yyvsp[(2) - (2)].codeb));
> -+            free((yyvsp[0].codeb)->frag);
> -+            free((yyvsp[0].codeb));
> -         }
> -+#line 5377 "../parser.c"
> -     break;
> -
> --  case 308:
> --#line 2641 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 309: /* $@9: %empty  */
> -+#line 2667 "parser.y"
> -+                                                {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -5554,72 +5388,80 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
> -+                checkAnnos(&(yyvsp[0].optflags), annos);
> -
> -                 if (sectionFlags != 0 && (sectionFlags &
> ~(SECT_IS_PUBLIC | SECT_IS_PROT)) != 0)
> -                     yyerror("Class enums must be in the public or
> protected sections");
> -
> --                if (currentSpec->genc && (yyvsp[(2) - (4)].boolean))
> -+                if (currentSpec->genc && (yyvsp[-2].boolean))
> -                     yyerror("Scoped enums not allowed in a C module");
> -
> -                 currentEnum = newEnum(currentSpec, currentModule,
> --                        currentMappedType, (yyvsp[(3) - (4)].text),
> &(yyvsp[(4) - (4)].optflags), sectionFlags, (yyvsp[(2) - (4)].boolean));
> -+                        currentMappedType, (yyvsp[-1].text),
> &(yyvsp[0].optflags), sectionFlags, (yyvsp[-2].boolean));
> -             }
> -         }
> -+#line 5404 "../parser.c"
> -     break;
> -
> --  case 310:
> --#line 2665 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 311: /* optenumkey: %empty  */
> -+#line 2691 "parser.y"
> -+            {
> -             (yyval.boolean) = FALSE;
> -         }
> -+#line 5412 "../parser.c"
> -     break;
> -
> --  case 311:
> --#line 2668 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 312: /* optenumkey: TK_CLASS  */
> -+#line 2694 "parser.y"
> -+                 {
> -             (yyval.boolean) = TRUE;
> -         }
> -+#line 5420 "../parser.c"
> -     break;
> -
> --  case 312:
> --#line 2671 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 313: /* optenumkey: TK_STRUCT  */
> -+#line 2697 "parser.y"
> -+                  {
> -             (yyval.boolean) = TRUE;
> -         }
> -+#line 5428 "../parser.c"
> -     break;
> -
> --  case 313:
> --#line 2676 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 314: /* optfilename: %empty  */
> -+#line 2702 "parser.y"
> -+                {
> -             (yyval.text) = NULL;
> -         }
> -+#line 5436 "../parser.c"
> -     break;
> -
> --  case 314:
> --#line 2679 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.text) = (yyvsp[(1) - (1)].text);
> -+  case 315: /* optfilename: TK_PATH_VALUE  */
> -+#line 2705 "parser.y"
> -+                      {
> -+            (yyval.text) = (yyvsp[0].text);
> -         }
> -+#line 5444 "../parser.c"
> -     break;
> -
> --  case 315:
> --#line 2684 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 316: /* optname: %empty  */
> -+#line 2710 "parser.y"
> -+            {
> -             (yyval.text) = NULL;
> -         }
> -+#line 5452 "../parser.c"
> -     break;
> -
> --  case 316:
> --#line 2687 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.text) = (yyvsp[(1) - (1)].text);
> -+  case 317: /* optname: TK_NAME_VALUE  */
> -+#line 2713 "parser.y"
> -+                      {
> -+            (yyval.text) = (yyvsp[0].text);
> -         }
> -+#line 5460 "../parser.c"
> -     break;
> -
> --  case 323:
> --#line 2702 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 324: /* enumline: TK_NAME_VALUE optenumassign optflags optcomma
> */
> -+#line 2728 "parser.y"
> -+                                                      {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -5630,15 +5472,15 @@ yyreduce:
> -
> -                 enumMemberDef *emd, **tail;
> -
> --                checkAnnos(&(yyvsp[(3) - (4)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-1].optflags), annos);
> -
> -                 /* Note that we don't use the assigned value. */
> -                 emd = sipMalloc(sizeof (enumMemberDef));
> -
> -                 emd->pyname = cacheName(currentSpec,
> --                        getPythonName(currentModule, &(yyvsp[(3) -
> (4)].optflags), (yyvsp[(1) - (4)].text)));
> --                emd->cname = (yyvsp[(1) - (4)].text);
> --                emd->no_typehint = getNoTypeHint(&(yyvsp[(3) -
> (4)].optflags));
> -+                        getPythonName(currentModule,
> &(yyvsp[-1].optflags), (yyvsp[-3].text)));
> -+                emd->cname = (yyvsp[-3].text);
> -+                emd->no_typehint = getNoTypeHint(&(yyvsp[-1].optflags));
> -                 emd->ed = currentEnum;
> -                 emd->platforms = currentPlatforms;
> -                 emd->next = NULL;
> -@@ -5661,309 +5503,345 @@ yyreduce:
> -                     setIsUsedName(emd->pyname);
> -             }
> -         }
> -+#line 5507 "../parser.c"
> -     break;
> -
> --  case 328:
> --#line 2754 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 329: /* optassign: %empty  */
> -+#line 2780 "parser.y"
> -+            {
> -             (yyval.valp) = NULL;
> -         }
> -+#line 5515 "../parser.c"
> -     break;
> -
> --  case 329:
> --#line 2757 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.valp) = (yyvsp[(2) - (2)].valp);
> -+  case 330: /* optassign: '=' expr  */
> -+#line 2783 "parser.y"
> -+                 {
> -+            (yyval.valp) = (yyvsp[0].valp);
> -         }
> -+#line 5523 "../parser.c"
> -     break;
> -
> --  case 331:
> --#line 2763 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 332: /* expr: expr binop value  */
> -+#line 2789 "parser.y"
> -+                         {
> -             valueDef *vd;
> -
> --            if ((yyvsp[(1) - (3)].valp) -> vtype == string_value ||
> (yyvsp[(3) - (3)].valp) -> vtype == string_value)
> -+            if ((yyvsp[-2].valp) -> vtype == string_value ||
> (yyvsp[0].valp) -> vtype == string_value)
> -                 yyerror("Invalid binary operator for string");
> -
> -             /* Find the last value in the existing expression. */
> -
> --            for (vd = (yyvsp[(1) - (3)].valp); vd -> next != NULL; vd =
> vd -> next)
> -+            for (vd = (yyvsp[-2].valp); vd -> next != NULL; vd = vd ->
> next)
> -                 ;
> -
> --            vd -> vbinop = (yyvsp[(2) - (3)].qchar);
> --            vd -> next = (yyvsp[(3) - (3)].valp);
> -+            vd -> vbinop = (yyvsp[-1].qchar);
> -+            vd -> next = (yyvsp[0].valp);
> -
> --            (yyval.valp) = (yyvsp[(1) - (3)].valp);
> -+            (yyval.valp) = (yyvsp[-2].valp);
> -         }
> -+#line 5544 "../parser.c"
> -     break;
> -
> --  case 332:
> --#line 2781 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 333: /* binop: '-'  */
> -+#line 2807 "parser.y"
> -+            {
> -             (yyval.qchar) = '-';
> -         }
> -+#line 5552 "../parser.c"
> -     break;
> -
> --  case 333:
> --#line 2784 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 334: /* binop: '+'  */
> -+#line 2810 "parser.y"
> -+            {
> -             (yyval.qchar) = '+';
> -         }
> -+#line 5560 "../parser.c"
> -     break;
> -
> --  case 334:
> --#line 2787 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 335: /* binop: '*'  */
> -+#line 2813 "parser.y"
> -+            {
> -             (yyval.qchar) = '*';
> -         }
> -+#line 5568 "../parser.c"
> -     break;
> -
> --  case 335:
> --#line 2790 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 336: /* binop: '/'  */
> -+#line 2816 "parser.y"
> -+            {
> -             (yyval.qchar) = '/';
> -         }
> -+#line 5576 "../parser.c"
> -     break;
> -
> --  case 336:
> --#line 2793 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 337: /* binop: '&'  */
> -+#line 2819 "parser.y"
> -+            {
> -             (yyval.qchar) = '&';
> -         }
> -+#line 5584 "../parser.c"
> -     break;
> -
> --  case 337:
> --#line 2796 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 338: /* binop: '|'  */
> -+#line 2822 "parser.y"
> -+            {
> -             (yyval.qchar) = '|';
> -         }
> -+#line 5592 "../parser.c"
> -     break;
> -
> --  case 338:
> --#line 2801 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 339: /* optunop: %empty  */
> -+#line 2827 "parser.y"
> -+            {
> -             (yyval.qchar) = '\0';
> -         }
> -+#line 5600 "../parser.c"
> -     break;
> -
> --  case 339:
> --#line 2804 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 340: /* optunop: '!'  */
> -+#line 2830 "parser.y"
> -+            {
> -             (yyval.qchar) = '!';
> -         }
> -+#line 5608 "../parser.c"
> -     break;
> -
> --  case 340:
> --#line 2807 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 341: /* optunop: '~'  */
> -+#line 2833 "parser.y"
> -+            {
> -             (yyval.qchar) = '~';
> -         }
> -+#line 5616 "../parser.c"
> -     break;
> -
> --  case 341:
> --#line 2810 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 342: /* optunop: '-'  */
> -+#line 2836 "parser.y"
> -+            {
> -             (yyval.qchar) = '-';
> -         }
> -+#line 5624 "../parser.c"
> -     break;
> -
> --  case 342:
> --#line 2813 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 343: /* optunop: '+'  */
> -+#line 2839 "parser.y"
> -+            {
> -             (yyval.qchar) = '+';
> -         }
> -+#line 5632 "../parser.c"
> -     break;
> -
> --  case 343:
> --#line 2816 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 344: /* optunop: '*'  */
> -+#line 2842 "parser.y"
> -+            {
> -             (yyval.qchar) = '*';
> -         }
> -+#line 5640 "../parser.c"
> -     break;
> -
> --  case 344:
> --#line 2819 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 345: /* optunop: '&'  */
> -+#line 2845 "parser.y"
> -+            {
> -             (yyval.qchar) = '&';
> -         }
> -+#line 5648 "../parser.c"
> -     break;
> -
> --  case 345:
> --#line 2824 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (3)].qchar) != '\0' && (yyvsp[(3) -
> (3)].value).vtype == string_value)
> -+  case 346: /* value: optcast optunop simplevalue  */
> -+#line 2850 "parser.y"
> -+                                        {
> -+            if ((yyvsp[-1].qchar) != '\0' && (yyvsp[0].value).vtype ==
> string_value)
> -                 yyerror("Invalid unary operator for string");
> -
> -             /* Convert the value to a simple expression on the heap. */
> -             (yyval.valp) = sipMalloc(sizeof (valueDef));
> -
> --            *(yyval.valp) = (yyvsp[(3) - (3)].value);
> --            (yyval.valp)->vunop = (yyvsp[(2) - (3)].qchar);
> -+            *(yyval.valp) = (yyvsp[0].value);
> -+            (yyval.valp)->vunop = (yyvsp[-1].qchar);
> -             (yyval.valp)->vbinop = '\0';
> --            (yyval.valp)->cast = (yyvsp[(1) - (3)].scpvalp);
> -+            (yyval.valp)->cast = (yyvsp[-2].scpvalp);
> -             (yyval.valp)->next = NULL;
> -         }
> -+#line 5666 "../parser.c"
> -     break;
> -
> --  case 346:
> --#line 2839 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 347: /* optcast: %empty  */
> -+#line 2865 "parser.y"
> -+            {
> -             (yyval.scpvalp) = NULL;
> -         }
> -+#line 5674 "../parser.c"
> -     break;
> -
> --  case 347:
> --#line 2842 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.scpvalp) = (yyvsp[(2) - (3)].scpvalp);
> -+  case 348: /* optcast: '(' scopedname ')'  */
> -+#line 2868 "parser.y"
> -+                               {
> -+            (yyval.scpvalp) = (yyvsp[-1].scpvalp);
> -         }
> -+#line 5682 "../parser.c"
> -     break;
> -
> --  case 348:
> --#line 2847 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 349: /* scopedname: TK_SCOPE scopednamehead  */
> -+#line 2873 "parser.y"
> -+                                    {
> -             if (currentSpec->genc)
> -                 yyerror("Scoped names are not allowed in a C module");
> -
> --            (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[(2) -
> (2)].scpvalp));
> -+            (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[0].scpvalp));
> -         }
> -+#line 5693 "../parser.c"
> -     break;
> -
> --  case 351:
> --#line 2857 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 352: /* scopednamehead: scopednamehead TK_SCOPE scopepart  */
> -+#line 2883 "parser.y"
> -+                                          {
> -             if (currentSpec->genc)
> -                 yyerror("Scoped names are not allowed in a C module");
> -
> --            appendScopedName(&(yyvsp[(1) - (3)].scpvalp), (yyvsp[(3) -
> (3)].scpvalp));
> -+            appendScopedName(&(yyvsp[-2].scpvalp), (yyvsp[0].scpvalp));
> -         }
> -+#line 5704 "../parser.c"
> -     break;
> -
> --  case 352:
> --#line 2865 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.scpvalp) = text2scopePart((yyvsp[(1) - (1)].text));
> -+  case 353: /* scopepart: TK_NAME_VALUE  */
> -+#line 2891 "parser.y"
> -+                          {
> -+            (yyval.scpvalp) = text2scopePart((yyvsp[0].text));
> -         }
> -+#line 5712 "../parser.c"
> -     break;
> -
> --  case 353:
> --#line 2870 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 354: /* bool_value: TK_TRUE_VALUE  */
> -+#line 2896 "parser.y"
> -+                          {
> -             (yyval.boolean) = TRUE;
> -         }
> -+#line 5720 "../parser.c"
> -     break;
> -
> --  case 354:
> --#line 2873 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 355: /* bool_value: TK_FALSE_VALUE  */
> -+#line 2899 "parser.y"
> -+                       {
> -             (yyval.boolean) = FALSE;
> -         }
> -+#line 5728 "../parser.c"
> -     break;
> -
> --  case 355:
> --#line 2878 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 356: /* simplevalue: scopedname  */
> -+#line 2904 "parser.y"
> -+                           {
> -             /*
> -              * We let the C++ compiler decide if the value is a valid
> one - no
> -              * point in building a full C++ parser here.
> -              */
> -
> -             (yyval.value).vtype = scoped_value;
> --            (yyval.value).u.vscp = (yyvsp[(1) - (1)].scpvalp);
> -+            (yyval.value).u.vscp = (yyvsp[0].scpvalp);
> -         }
> -+#line 5742 "../parser.c"
> -     break;
> -
> --  case 356:
> --#line 2887 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 357: /* simplevalue: basetype '(' exprlist ')'  */
> -+#line 2913 "parser.y"
> -+                                  {
> -             fcallDef *fcd;
> -
> -             fcd = sipMalloc(sizeof (fcallDef));
> --            *fcd = (yyvsp[(3) - (4)].fcall);
> --            fcd -> type = (yyvsp[(1) - (4)].memArg);
> -+            *fcd = (yyvsp[-1].fcall);
> -+            fcd -> type = (yyvsp[-3].memArg);
> -
> -             (yyval.value).vtype = fcall_value;
> -             (yyval.value).u.fcd = fcd;
> -         }
> -+#line 5757 "../parser.c"
> -     break;
> -
> --  case 357:
> --#line 2897 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 358: /* simplevalue: '{' '}'  */
> -+#line 2923 "parser.y"
> -+                {
> -             (yyval.value).vtype = empty_value;
> -         }
> -+#line 5765 "../parser.c"
> -     break;
> -
> --  case 358:
> --#line 2900 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 359: /* simplevalue: TK_REAL_VALUE  */
> -+#line 2926 "parser.y"
> -+                      {
> -             (yyval.value).vtype = real_value;
> --            (yyval.value).u.vreal = (yyvsp[(1) - (1)].real);
> -+            (yyval.value).u.vreal = (yyvsp[0].real);
> -         }
> -+#line 5774 "../parser.c"
> -     break;
> -
> --  case 359:
> --#line 2904 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 360: /* simplevalue: TK_NUMBER_VALUE  */
> -+#line 2930 "parser.y"
> -+                        {
> -             (yyval.value).vtype = numeric_value;
> --            (yyval.value).u.vnum = (yyvsp[(1) - (1)].number);
> -+            (yyval.value).u.vnum = (yyvsp[0].number);
> -         }
> -+#line 5783 "../parser.c"
> -     break;
> -
> --  case 360:
> --#line 2908 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 361: /* simplevalue: bool_value  */
> -+#line 2934 "parser.y"
> -+                   {
> -             (yyval.value).vtype = numeric_value;
> --            (yyval.value).u.vnum = (yyvsp[(1) - (1)].boolean);
> -+            (yyval.value).u.vnum = (yyvsp[0].boolean);
> -         }
> -+#line 5792 "../parser.c"
> -     break;
> -
> --  case 361:
> --#line 2912 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 362: /* simplevalue: TK_NULL_VALUE  */
> -+#line 2938 "parser.y"
> -+                      {
> -             (yyval.value).vtype = numeric_value;
> -             (yyval.value).u.vnum = 0;
> -         }
> -+#line 5801 "../parser.c"
> -     break;
> -
> --  case 362:
> --#line 2916 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 363: /* simplevalue: TK_STRING_VALUE  */
> -+#line 2942 "parser.y"
> -+                        {
> -             (yyval.value).vtype = string_value;
> --            (yyval.value).u.vstr = (yyvsp[(1) - (1)].text);
> -+            (yyval.value).u.vstr = (yyvsp[0].text);
> -         }
> -+#line 5810 "../parser.c"
> -     break;
> -
> --  case 363:
> --#line 2920 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 364: /* simplevalue: TK_QCHAR_VALUE  */
> -+#line 2946 "parser.y"
> -+                       {
> -             (yyval.value).vtype = qchar_value;
> --            (yyval.value).u.vqchar = (yyvsp[(1) - (1)].qchar);
> -+            (yyval.value).u.vqchar = (yyvsp[0].qchar);
> -         }
> -+#line 5819 "../parser.c"
> -     break;
> -
> --  case 364:
> --#line 2926 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 365: /* exprlist: %empty  */
> -+#line 2952 "parser.y"
> -+            {
> -             /* No values. */
> -
> -             (yyval.fcall).nrArgs = 0;
> -         }
> -+#line 5829 "../parser.c"
> -     break;
> -
> --  case 365:
> --#line 2931 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 366: /* exprlist: expr  */
> -+#line 2957 "parser.y"
> -+             {
> -             /* The single or first expression. */
> -
> --            (yyval.fcall).args[0] = (yyvsp[(1) - (1)].valp);
> -+            (yyval.fcall).args[0] = (yyvsp[0].valp);
> -             (yyval.fcall).nrArgs = 1;
> -         }
> -+#line 5840 "../parser.c"
> -     break;
> -
> --  case 366:
> --#line 2937 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 367: /* exprlist: exprlist ',' expr  */
> -+#line 2963 "parser.y"
> -+                          {
> -             /* Check that it wasn't ...(,expression...). */
> -
> -             if ((yyval.fcall).nrArgs == 0)
> -@@ -5971,19 +5849,20 @@ yyreduce:
> -
> -             /* Check there is room. */
> -
> --            if ((yyvsp[(1) - (3)].fcall).nrArgs == MAX_NR_ARGS)
> -+            if ((yyvsp[-2].fcall).nrArgs == MAX_NR_ARGS)
> -                 yyerror("Internal error - increase the value of
> MAX_NR_ARGS");
> -
> --            (yyval.fcall) = (yyvsp[(1) - (3)].fcall);
> -+            (yyval.fcall) = (yyvsp[-2].fcall);
> -
> --            (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[(3) -
> (3)].valp);
> -+            (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[0].valp);
> -             (yyval.fcall).nrArgs++;
> -         }
> -+#line 5861 "../parser.c"
> -     break;
> -
> --  case 367:
> --#line 2955 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 368: /* typedef: TK_TYPEDEF cpptype TK_NAME_VALUE optflags ';'
> optdocstring  */
> -+#line 2981 "parser.y"
> -+                                                                       {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -5999,17 +5878,18 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(4) - (6)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-2].optflags), annos);
> -
> --                applyTypeFlags(currentModule, &(yyvsp[(2) -
> (6)].memArg), &(yyvsp[(4) - (6)].optflags));
> --                newTypedef(currentSpec, currentModule, (yyvsp[(3) -
> (6)].text), &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags),
> (yyvsp[(6) - (6)].docstr));
> -+                applyTypeFlags(currentModule, &(yyvsp[-4].memArg),
> &(yyvsp[-2].optflags));
> -+                newTypedef(currentSpec, currentModule, (yyvsp[-3].text),
> &(yyvsp[-4].memArg), &(yyvsp[-2].optflags), (yyvsp[0].docstr));
> -             }
> -         }
> -+#line 5888 "../parser.c"
> -     break;
> -
> --  case 368:
> --#line 2977 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 369: /* typedef: TK_TYPEDEF cpptype '(' '*' TK_NAME_VALUE ')' '('
> cpptypelist ')' optflags ';' optdocstring  */
> -+#line 3003 "parser.y"
> -+
>                            {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -6027,41 +5907,43 @@ yyreduce:
> -                 signatureDef *sig;
> -                 argDef ftype;
> -
> --                checkAnnos(&(yyvsp[(10) - (12)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-2].optflags), annos);
> -
> --                applyTypeFlags(currentModule, &(yyvsp[(2) -
> (12)].memArg), &(yyvsp[(10) - (12)].optflags));
> -+                applyTypeFlags(currentModule, &(yyvsp[-10].memArg),
> &(yyvsp[-2].optflags));
> -
> -                 memset(&ftype, 0, sizeof (argDef));
> -
> -                 /* Create the full signature on the heap. */
> -                 sig = sipMalloc(sizeof (signatureDef));
> --                *sig = (yyvsp[(8) - (12)].signature);
> --                sig->result = (yyvsp[(2) - (12)].memArg);
> -+                *sig = (yyvsp[-4].signature);
> -+                sig->result = (yyvsp[-10].memArg);
> -
> -                 /* Create the full type. */
> -                 ftype.atype = function_type;
> -                 ftype.nrderefs = 1;
> -                 ftype.u.sa = sig;
> -
> --                newTypedef(currentSpec, currentModule, (yyvsp[(5) -
> (12)].text), &ftype, &(yyvsp[(10) - (12)].optflags), (yyvsp[(12) -
> (12)].docstr));
> -+                newTypedef(currentSpec, currentModule, (yyvsp[-7].text),
> &ftype, &(yyvsp[-2].optflags), (yyvsp[0].docstr));
> -             }
> -         }
> -+#line 5930 "../parser.c"
> -     break;
> -
> --  case 369:
> --#line 3016 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if (currentSpec -> genc && (yyvsp[(2) - (2)].scpvalp)->next
> != NULL)
> -+  case 370: /* $@10: %empty  */
> -+#line 3042 "parser.y"
> -+                                 {
> -+            if (currentSpec -> genc && (yyvsp[0].scpvalp)->next != NULL)
> -                 yyerror("Namespaces not allowed in a C module");
> -
> -             if (notSkipping())
> -                 currentSupers = NULL;
> -         }
> -+#line 5942 "../parser.c"
> -     break;
> -
> --  case 370:
> --#line 3022 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 371: /* $@11: %empty  */
> -+#line 3048 "parser.y"
> -+                                {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -6091,33 +5973,36 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
> -+                checkAnnos(&(yyvsp[0].optflags), annos);
> -
> -                 if (currentSpec->genc && currentSupers != NULL)
> -                     yyerror("Super-classes not allowed in a C module
> struct");
> -
> --                defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers,
> &(yyvsp[(5) - (5)].optflags));
> -+                defineClass((yyvsp[-3].scpvalp), currentSupers,
> &(yyvsp[0].optflags));
> -                 sectionFlags = SECT_IS_PUBLIC;
> -             }
> -         }
> -+#line 5986 "../parser.c"
> -     break;
> -
> --  case 371:
> --#line 3060 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 372: /* struct: TK_STRUCT scopedname $@10 superclasses optflags
> $@11 optclassbody ';'  */
> -+#line 3086 "parser.y"
> -+                           {
> -             if (notSkipping())
> --                completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) -
> (8)].optflags), (yyvsp[(7) - (8)].boolean));
> -+                completeClass((yyvsp[-6].scpvalp),
> &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
> -         }
> -+#line 5995 "../parser.c"
> -     break;
> -
> --  case 372:
> --#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsTemplate = TRUE;}
> -+  case 373: /* $@12: %empty  */
> -+#line 3092 "parser.y"
> -+                     {currentIsTemplate = TRUE;}
> -+#line 6001 "../parser.c"
> -     break;
> -
> --  case 373:
> --#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 374: /* classtmpl: template $@12 class  */
> -+#line 3092 "parser.y"
> -+                                                       {
> -             if (currentSpec->genc)
> -                 yyerror("Class templates not allowed in a C module");
> -
> -@@ -6128,12 +6013,12 @@ yyreduce:
> -                 /*
> -                  * Make sure there is room for the extra class name
> argument.
> -                  */
> --                if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> -+                if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> -                     yyerror("Internal error - increase the value of
> MAX_NR_ARGS");
> -
> -                 tcd = sipMalloc(sizeof (classTmplDef));
> --                tcd->sig = (yyvsp[(1) - (3)].signature);
> --                tcd->cd = (yyvsp[(3) - (3)].klass);
> -+                tcd->sig = (yyvsp[-2].signature);
> -+                tcd->cd = (yyvsp[0].klass);
> -                 tcd->next = currentSpec->classtemplates;
> -
> -                 currentSpec->classtemplates = tcd;
> -@@ -6141,29 +6026,32 @@ yyreduce:
> -
> -             currentIsTemplate = FALSE;
> -         }
> -+#line 6030 "../parser.c"
> -     break;
> -
> --  case 374:
> --#line 3092 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.signature) = (yyvsp[(3) - (4)].signature);
> -+  case 375: /* template: TK_TEMPLATE '<' cpptypelist '>'  */
> -+#line 3118 "parser.y"
> -+                                            {
> -+            (yyval.signature) = (yyvsp[-1].signature);
> -         }
> -+#line 6038 "../parser.c"
> -     break;
> -
> --  case 375:
> --#line 3097 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 376: /* $@13: %empty  */
> -+#line 3123 "parser.y"
> -+                            {
> -             if (currentSpec->genc)
> -                 yyerror("Class definition not allowed in a C module");
> -
> -             if (notSkipping())
> -                 currentSupers = NULL;
> -         }
> -+#line 6050 "../parser.c"
> -     break;
> -
> --  case 376:
> --#line 3103 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 377: /* $@14: %empty  */
> -+#line 3129 "parser.y"
> -+                                {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -6192,30 +6080,32 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
> -+                checkAnnos(&(yyvsp[0].optflags), annos);
> -
> --                defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers,
> &(yyvsp[(5) - (5)].optflags));
> -+                defineClass((yyvsp[-3].scpvalp), currentSupers,
> &(yyvsp[0].optflags));
> -                 sectionFlags = SECT_IS_PRIVATE;
> -             }
> -         }
> -+#line 6090 "../parser.c"
> -     break;
> -
> --  case 377:
> --#line 3137 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 378: /* class: TK_CLASS scopedname $@13 superclasses optflags
> $@14 optclassbody ';'  */
> -+#line 3163 "parser.y"
> -+                           {
> -             if (notSkipping())
> --                (yyval.klass) = completeClass((yyvsp[(2) -
> (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
> -+                (yyval.klass) = completeClass((yyvsp[-6].scpvalp),
> &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
> -         }
> -+#line 6099 "../parser.c"
> -     break;
> -
> --  case 382:
> --#line 3151 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if (notSkipping() && (yyvsp[(1) - (2)].token) == TK_PUBLIC)
> -+  case 383: /* superclass: class_access scopedname  */
> -+#line 3177 "parser.y"
> -+                                    {
> -+            if (notSkipping() && (yyvsp[-1].token) == TK_PUBLIC)
> -             {
> -                 argDef ad;
> -                 classDef *super;
> --                scopedNameDef *snd = (yyvsp[(2) - (2)].scpvalp);
> -+                scopedNameDef *snd = (yyvsp[0].scpvalp);
> -
> -                 /*
> -                  * This is a hack to allow typedef'ed classes to be used
> before
> -@@ -6260,53 +6150,60 @@ yyreduce:
> -                 appendToClassList(&currentSupers, super);
> -             }
> -         }
> -+#line 6154 "../parser.c"
> -     break;
> -
> --  case 383:
> --#line 3203 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 384: /* class_access: %empty  */
> -+#line 3229 "parser.y"
> -+                {
> -         (yyval.token) = TK_PUBLIC;
> -         }
> -+#line 6162 "../parser.c"
> -     break;
> -
> --  case 384:
> --#line 3206 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 385: /* class_access: TK_PUBLIC  */
> -+#line 3232 "parser.y"
> -+                  {
> -         (yyval.token) = TK_PUBLIC;
> -         }
> -+#line 6170 "../parser.c"
> -     break;
> -
> --  case 385:
> --#line 3209 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 386: /* class_access: TK_PROTECTED  */
> -+#line 3235 "parser.y"
> -+                     {
> -         (yyval.token) = TK_PROTECTED;
> -         }
> -+#line 6178 "../parser.c"
> -     break;
> -
> --  case 386:
> --#line 3212 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 387: /* class_access: TK_PRIVATE  */
> -+#line 3238 "parser.y"
> -+                   {
> -         (yyval.token) = TK_PRIVATE;
> -         }
> -+#line 6186 "../parser.c"
> -     break;
> -
> --  case 387:
> --#line 3217 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 388: /* optclassbody: %empty  */
> -+#line 3243 "parser.y"
> -+                {
> -             (yyval.boolean) = FALSE;
> -         }
> -+#line 6194 "../parser.c"
> -     break;
> -
> --  case 388:
> --#line 3220 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 389: /* optclassbody: '{' classbody '}'  */
> -+#line 3246 "parser.y"
> -+                          {
> -             (yyval.boolean) = TRUE;
> -         }
> -+#line 6202 "../parser.c"
> -     break;
> -
> --  case 402:
> --#line 3240 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 403: /* classline: docstring  */
> -+#line 3266 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6314,30 +6211,33 @@ yyreduce:
> -                 if (scope->docstring != NULL)
> -                     yyerror("%Docstring already given for class");
> -
> --                scope->docstring = (yyvsp[(1) - (1)].docstr);
> -+                scope->docstring = (yyvsp[0].docstr);
> -             }
> -         }
> -+#line 6218 "../parser.c"
> -     break;
> -
> --  case 403:
> --#line 3251 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 404: /* classline: typecode  */
> -+#line 3277 "parser.y"
> -+                 {
> -             if (notSkipping())
> --                appendCodeBlock(&currentScope()->cppcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&currentScope()->cppcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 6227 "../parser.c"
> -     break;
> -
> --  case 404:
> --#line 3255 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 405: /* classline: typehdrcode  */
> -+#line 3281 "parser.y"
> -+                    {
> -             if (notSkipping())
> --                appendCodeBlock(&currentScope()->iff->hdrcode,
> (yyvsp[(1) - (1)].codeb));
> -+                appendCodeBlock(&currentScope()->iff->hdrcode,
> (yyvsp[0].codeb));
> -         }
> -+#line 6236 "../parser.c"
> -     break;
> -
> --  case 405:
> --#line 3259 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 406: /* classline: travcode  */
> -+#line 3285 "parser.y"
> -+                 {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6345,14 +6245,15 @@ yyreduce:
> -                 if (scope->travcode != NULL)
> -                     yyerror("%GCTraverseCode already given for class");
> -
> --                appendCodeBlock(&scope->travcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->travcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6252 "../parser.c"
> -     break;
> -
> --  case 406:
> --#line 3270 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 407: /* classline: clearcode  */
> -+#line 3296 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6360,14 +6261,15 @@ yyreduce:
> -                 if (scope->clearcode != NULL)
> -                     yyerror("%GCClearCode already given for class");
> -
> --                appendCodeBlock(&scope->clearcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->clearcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6268 "../parser.c"
> -     break;
> -
> --  case 407:
> --#line 3281 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 408: /* classline: getbufcode  */
> -+#line 3307 "parser.y"
> -+                   {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6375,14 +6277,15 @@ yyreduce:
> -                 if (scope->getbufcode != NULL)
> -                     yyerror("%BIGetBufferCode already given for class");
> -
> --                appendCodeBlock(&scope->getbufcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->getbufcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6284 "../parser.c"
> -     break;
> -
> --  case 408:
> --#line 3292 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 409: /* classline: releasebufcode  */
> -+#line 3318 "parser.y"
> -+                       {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6390,14 +6293,15 @@ yyreduce:
> -                 if (scope->releasebufcode != NULL)
> -                     yyerror("%BIReleaseBufferCode already given for
> class");
> -
> --                appendCodeBlock(&scope->releasebufcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->releasebufcode,
> (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6300 "../parser.c"
> -     break;
> -
> --  case 409:
> --#line 3303 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 410: /* classline: readbufcode  */
> -+#line 3329 "parser.y"
> -+                    {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6405,14 +6309,15 @@ yyreduce:
> -                 if (scope->readbufcode != NULL)
> -                     yyerror("%BIGetReadBufferCode already given for
> class");
> -
> --                appendCodeBlock(&scope->readbufcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->readbufcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6316 "../parser.c"
> -     break;
> -
> --  case 410:
> --#line 3314 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 411: /* classline: writebufcode  */
> -+#line 3340 "parser.y"
> -+                     {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6420,14 +6325,15 @@ yyreduce:
> -                 if (scope->writebufcode != NULL)
> -                     yyerror("%BIGetWriteBufferCode already given for
> class");
> -
> --                appendCodeBlock(&scope->writebufcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->writebufcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6332 "../parser.c"
> -     break;
> -
> --  case 411:
> --#line 3325 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 412: /* classline: segcountcode  */
> -+#line 3351 "parser.y"
> -+                     {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6435,14 +6341,15 @@ yyreduce:
> -                 if (scope->segcountcode != NULL)
> -                     yyerror("%BIGetSegCountCode already given for
> class");
> -
> --                appendCodeBlock(&scope->segcountcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->segcountcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6348 "../parser.c"
> -     break;
> -
> --  case 412:
> --#line 3336 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 413: /* classline: charbufcode  */
> -+#line 3362 "parser.y"
> -+                    {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6450,14 +6357,15 @@ yyreduce:
> -                 if (scope->charbufcode != NULL)
> -                     yyerror("%BIGetCharBufferCode already given for
> class");
> -
> --                appendCodeBlock(&scope->charbufcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->charbufcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6364 "../parser.c"
> -     break;
> -
> --  case 413:
> --#line 3347 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 414: /* classline: instancecode  */
> -+#line 3373 "parser.y"
> -+                     {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6465,14 +6373,15 @@ yyreduce:
> -                 if (scope->instancecode != NULL)
> -                     yyerror("%InstanceCode already given for class");
> -
> --                appendCodeBlock(&scope->instancecode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->instancecode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6380 "../parser.c"
> -     break;
> -
> --  case 414:
> --#line 3358 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 415: /* classline: picklecode  */
> -+#line 3384 "parser.y"
> -+                   {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6480,14 +6389,15 @@ yyreduce:
> -                 if (scope->picklecode != NULL)
> -                     yyerror("%PickleCode already given for class");
> -
> --                appendCodeBlock(&scope->picklecode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->picklecode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6396 "../parser.c"
> -     break;
> -
> --  case 415:
> --#line 3369 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 416: /* classline: finalcode  */
> -+#line 3395 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6495,14 +6405,15 @@ yyreduce:
> -                 if (scope->finalcode != NULL)
> -                     yyerror("%FinalisationCode already given for class");
> -
> --                appendCodeBlock(&scope->finalcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->finalcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6412 "../parser.c"
> -     break;
> -
> --  case 416:
> --#line 3380 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 417: /* classline: classtypehintcode  */
> -+#line 3406 "parser.y"
> -+                          {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6510,14 +6421,15 @@ yyreduce:
> -                 if (scope->typehintcode != NULL)
> -                     yyerror("%TypeHintCode already given for class");
> -
> --                appendCodeBlock(&scope->typehintcode, (yyvsp[(1) -
> (1)].codeb));
> -+                appendCodeBlock(&scope->typehintcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6428 "../parser.c"
> -     break;
> -
> --  case 420:
> --#line 3394 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 421: /* classline: TK_TOSUBCLASS codeblock  */
> -+#line 3420 "parser.y"
> -+                                {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6525,14 +6437,15 @@ yyreduce:
> -                 if (scope->convtosubcode != NULL)
> -                     yyerror("Class has more than one
> %ConvertToSubClassCode directive");
> -
> --                appendCodeBlock(&scope->convtosubcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&scope->convtosubcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6444 "../parser.c"
> -     break;
> -
> --  case 421:
> --#line 3405 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 422: /* classline: TK_TOTYPE codeblock  */
> -+#line 3431 "parser.y"
> -+                            {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6540,14 +6453,15 @@ yyreduce:
> -                 if (scope->convtocode != NULL)
> -                     yyerror("Class has more than one %ConvertToTypeCode
> directive");
> -
> --                appendCodeBlock(&scope->convtocode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&scope->convtocode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6460 "../parser.c"
> -     break;
> -
> --  case 422:
> --#line 3416 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 423: /* classline: TK_FROMTYPE codeblock  */
> -+#line 3442 "parser.y"
> -+                              {
> -             if (notSkipping())
> -             {
> -                 classDef *scope = currentScope();
> -@@ -6555,172 +6469,188 @@ yyreduce:
> -                 if (scope->convfromcode != NULL)
> -                     yyerror("Class has more than one
> %ConvertFromTypeCode directive");
> -
> --                appendCodeBlock(&scope->convfromcode, (yyvsp[(2) -
> (2)].codeb));
> -+                appendCodeBlock(&scope->convfromcode, (yyvsp[0].codeb));
> -             }
> -         }
> -+#line 6476 "../parser.c"
> -     break;
> -
> --  case 423:
> --#line 3427 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 424: /* classline: TK_PUBLIC optslot ':'  */
> -+#line 3453 "parser.y"
> -+                              {
> -             if (currentSpec -> genc)
> -                 yyerror("public section not allowed in a C module");
> -
> -             if (notSkipping())
> --                sectionFlags = SECT_IS_PUBLIC | (yyvsp[(2) -
> (3)].number);
> -+                sectionFlags = SECT_IS_PUBLIC | (yyvsp[-1].number);
> -         }
> -+#line 6488 "../parser.c"
> -     break;
> -
> --  case 424:
> --#line 3434 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 425: /* classline: TK_PROTECTED optslot ':'  */
> -+#line 3460 "parser.y"
> -+                                 {
> -             if (currentSpec -> genc)
> -                 yyerror("protected section not allowed in a C module");
> -
> -             if (notSkipping())
> --                sectionFlags = SECT_IS_PROT | (yyvsp[(2) - (3)].number);
> -+                sectionFlags = SECT_IS_PROT | (yyvsp[-1].number);
> -         }
> -+#line 6500 "../parser.c"
> -     break;
> -
> --  case 425:
> --#line 3441 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 426: /* classline: TK_PRIVATE optslot ':'  */
> -+#line 3467 "parser.y"
> -+                               {
> -             if (currentSpec -> genc)
> -                 yyerror("private section not allowed in a C module");
> -
> -             if (notSkipping())
> --                sectionFlags = SECT_IS_PRIVATE | (yyvsp[(2) -
> (3)].number);
> -+                sectionFlags = SECT_IS_PRIVATE | (yyvsp[-1].number);
> -         }
> -+#line 6512 "../parser.c"
> -     break;
> -
> --  case 426:
> --#line 3448 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 427: /* classline: TK_SIGNALS ':'  */
> -+#line 3474 "parser.y"
> -+                       {
> -             if (currentSpec -> genc)
> -                 yyerror("signals section not allowed in a C module");
> -
> -             if (notSkipping())
> -                 sectionFlags = SECT_IS_SIGNAL;
> -         }
> -+#line 6524 "../parser.c"
> -     break;
> -
> --  case 427:
> --#line 3457 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (3)].property).name == NULL)
> -+  case 428: /* property: TK_PROPERTY property_args property_body  */
> -+#line 3483 "parser.y"
> -+                                                    {
> -+            if ((yyvsp[-1].property).name == NULL)
> -                 yyerror("A %Property directive must have a 'name'
> argument");
> -
> --            if ((yyvsp[(2) - (3)].property).get == NULL)
> -+            if ((yyvsp[-1].property).get == NULL)
> -                 yyerror("A %Property directive must have a 'get'
> argument");
> -
> -             if (notSkipping())
> -                 addProperty(currentSpec, currentModule, currentScope(),
> --                        (yyvsp[(2) - (3)].property).name, (yyvsp[(2) -
> (3)].property).get, (yyvsp[(2) - (3)].property).set, (yyvsp[(3) -
> (3)].property).docstring);
> -+                        (yyvsp[-1].property).name,
> (yyvsp[-1].property).get, (yyvsp[-1].property).set,
> (yyvsp[0].property).docstring);
> -         }
> -+#line 6540 "../parser.c"
> -     break;
> -
> --  case 428:
> --#line 3470 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.property) = (yyvsp[(2) - (3)].property);
> -+  case 429: /* property_args: '(' property_arg_list ')'  */
> -+#line 3496 "parser.y"
> -+                                          {
> -+            (yyval.property) = (yyvsp[-1].property);
> -         }
> -+#line 6548 "../parser.c"
> -     break;
> -
> --  case 430:
> --#line 3476 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.property) = (yyvsp[(1) - (3)].property);
> -+  case 431: /* property_arg_list: property_arg_list ',' property_arg  */
> -+#line 3502 "parser.y"
> -+                                           {
> -+            (yyval.property) = (yyvsp[-2].property);
> -
> --            switch ((yyvsp[(3) - (3)].property).token)
> -+            switch ((yyvsp[0].property).token)
> -             {
> --            case TK_GET: (yyval.property).get = (yyvsp[(3) -
> (3)].property).get; break;
> --            case TK_NAME: (yyval.property).name = (yyvsp[(3) -
> (3)].property).name; break;
> --            case TK_SET: (yyval.property).set = (yyvsp[(3) -
> (3)].property).set; break;
> -+            case TK_GET: (yyval.property).get = (yyvsp[0].property).get;
> break;
> -+            case TK_NAME: (yyval.property).name =
> (yyvsp[0].property).name; break;
> -+            case TK_SET: (yyval.property).set = (yyvsp[0].property).set;
> break;
> -             }
> -         }
> -+#line 6563 "../parser.c"
> -     break;
> -
> --  case 431:
> --#line 3488 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 432: /* property_arg: TK_GET '=' TK_NAME_VALUE  */
> -+#line 3514 "parser.y"
> -+                                         {
> -             (yyval.property).token = TK_GET;
> -
> --            (yyval.property).get = (yyvsp[(3) - (3)].text);
> -+            (yyval.property).get = (yyvsp[0].text);
> -             (yyval.property).name = NULL;
> -             (yyval.property).set = NULL;
> -         }
> -+#line 6575 "../parser.c"
> -     break;
> -
> --  case 432:
> --#line 3495 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 433: /* property_arg: TK_NAME '=' name_or_string  */
> -+#line 3521 "parser.y"
> -+                                   {
> -             (yyval.property).token = TK_NAME;
> -
> -             (yyval.property).get = NULL;
> --            (yyval.property).name = (yyvsp[(3) - (3)].text);
> -+            (yyval.property).name = (yyvsp[0].text);
> -             (yyval.property).set = NULL;
> -         }
> -+#line 6587 "../parser.c"
> -     break;
> -
> --  case 433:
> --#line 3502 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 434: /* property_arg: TK_SET '=' TK_NAME_VALUE  */
> -+#line 3528 "parser.y"
> -+                                 {
> -             (yyval.property).token = TK_SET;
> -
> -             (yyval.property).get = NULL;
> -             (yyval.property).name = NULL;
> --            (yyval.property).set = (yyvsp[(3) - (3)].text);
> -+            (yyval.property).set = (yyvsp[0].text);
> -         }
> -+#line 6599 "../parser.c"
> -     break;
> -
> --  case 434:
> --#line 3511 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 435: /* property_body: %empty  */
> -+#line 3537 "parser.y"
> -+                {
> -             (yyval.property).token = 0;
> -             (yyval.property).docstring = NULL;
> -         }
> -+#line 6608 "../parser.c"
> -     break;
> -
> --  case 435:
> --#line 3515 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.property) = (yyvsp[(2) - (4)].property);
> -+  case 436: /* property_body: '{' property_body_directives '}' ';'  */
> -+#line 3541 "parser.y"
> -+                                             {
> -+            (yyval.property) = (yyvsp[-2].property);
> -         }
> -+#line 6616 "../parser.c"
> -     break;
> -
> --  case 437:
> --#line 3521 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.property) = (yyvsp[(1) - (2)].property);
> -+  case 438: /* property_body_directives: property_body_directives
> property_body_directive  */
> -+#line 3547 "parser.y"
> -+                                                         {
> -+            (yyval.property) = (yyvsp[-1].property);
> -
> --            switch ((yyvsp[(2) - (2)].property).token)
> -+            switch ((yyvsp[0].property).token)
> -             {
> --            case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[(2) -
> (2)].property).docstring; break;
> -+            case TK_DOCSTRING: (yyval.property).docstring =
> (yyvsp[0].property).docstring; break;
> -             }
> -         }
> -+#line 6629 "../parser.c"
> -     break;
> -
> --  case 438:
> --#line 3531 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 439: /* property_body_directive: ifstart  */
> -+#line 3557 "parser.y"
> -+                                    {
> -             (yyval.property).token = TK_IF;
> -         }
> -+#line 6637 "../parser.c"
> -     break;
> -
> --  case 439:
> --#line 3534 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 440: /* property_body_directive: ifend  */
> -+#line 3560 "parser.y"
> -+              {
> -             (yyval.property).token = TK_END;
> -         }
> -+#line 6645 "../parser.c"
> -     break;
> -
> --  case 440:
> --#line 3537 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 441: /* property_body_directive: docstring  */
> -+#line 3563 "parser.y"
> -+                  {
> -             if (notSkipping())
> -             {
> -                 (yyval.property).token = TK_DOCSTRING;
> --                (yyval.property).docstring = (yyvsp[(1) - (1)].docstr);
> -+                (yyval.property).docstring = (yyvsp[0].docstr);
> -             }
> -             else
> -             {
> -@@ -6728,30 +6658,34 @@ yyreduce:
> -                 (yyval.property).docstring = NULL;
> -             }
> -         }
> -+#line 6662 "../parser.c"
> -     break;
> -
> --  case 443:
> --#line 3555 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 444: /* optslot: %empty  */
> -+#line 3581 "parser.y"
> -+            {
> -             (yyval.number) = 0;
> -         }
> -+#line 6670 "../parser.c"
> -     break;
> -
> --  case 444:
> --#line 3558 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 445: /* optslot: TK_SLOTS  */
> -+#line 3584 "parser.y"
> -+                 {
> -             (yyval.number) = SECT_IS_SLOT;
> -         }
> -+#line 6678 "../parser.c"
> -     break;
> -
> --  case 445:
> --#line 3564 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsVirt = TRUE;}
> -+  case 446: /* $@15: %empty  */
> -+#line 3590 "parser.y"
> -+                   {currentIsVirt = TRUE;}
> -+#line 6684 "../parser.c"
> -     break;
> -
> --  case 448:
> --#line 3568 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 449: /* dtor_decl: '~' TK_NAME_VALUE '(' ')' optexceptions
> optabstract optflags ';' premethodcode methodcode virtualcatchercode  */
> -+#line 3594 "parser.y"
> -+
>                                                  {
> -             /* Note that we allow non-virtual dtors in C modules. */
> -
> -             if (notSkipping())
> -@@ -6764,22 +6698,22 @@ yyreduce:
> -
> -                 classDef *cd = currentScope();
> -
> --                checkAnnos(&(yyvsp[(7) - (11)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-4].optflags), annos);
> -
> --                if (strcmp(classBaseName(cd),(yyvsp[(2) - (11)].text))
> != 0)
> -+                if (strcmp(classBaseName(cd),(yyvsp[-9].text)) != 0)
> -                     yyerror("Destructor doesn't have the same name as
> its class");
> -
> -                 if (isDtor(cd))
> -                     yyerror("Destructor has already been defined");
> -
> --                if (currentSpec -> genc && (yyvsp[(9) - (11)].codeb) ==
> NULL)
> -+                if (currentSpec -> genc && (yyvsp[-2].codeb) == NULL)
> -                     yyerror("Destructor in C modules must include
> %MethodCode");
> -
> -
> --                appendCodeBlock(&cd->dealloccode, (yyvsp[(9) -
> (11)].codeb));  /* premethodcode */
> --                appendCodeBlock(&cd->dealloccode, (yyvsp[(10) -
> (11)].codeb)); /* methodcode */
> --                appendCodeBlock(&cd->dtorcode, (yyvsp[(11) -
> (11)].codeb));
> --                cd -> dtorexceptions = (yyvsp[(5) - (11)].throwlist);
> -+                appendCodeBlock(&cd->dealloccode, (yyvsp[-2].codeb));
> /* premethodcode */
> -+                appendCodeBlock(&cd->dealloccode, (yyvsp[-1].codeb)); /*
> methodcode */
> -+                appendCodeBlock(&cd->dtorcode, (yyvsp[0].codeb));
> -+                cd -> dtorexceptions = (yyvsp[-6].throwlist);
> -
> -                 /*
> -                  * Note that we don't apply the protected/public hack to
> dtors
> -@@ -6787,7 +6721,7 @@ yyreduce:
> -                  */
> -                 cd->classflags |= sectionFlags;
> -
> --                if ((yyvsp[(6) - (11)].number))
> -+                if ((yyvsp[-5].number))
> -                 {
> -                     if (!currentIsVirt)
> -                         yyerror("Abstract destructor must be virtual");
> -@@ -6799,7 +6733,7 @@ yyreduce:
> -                  * The class has a shadow if we have a virtual dtor or
> some
> -                  * dtor code.
> -                  */
> --                if (currentIsVirt || (yyvsp[(10) - (11)].codeb) != NULL)
> -+                if (currentIsVirt || (yyvsp[-1].codeb) != NULL)
> -                 {
> -                     if (currentSpec -> genc)
> -                         yyerror("Virtual destructor or
> %VirtualCatcherCode not allowed in a C module");
> -@@ -6807,24 +6741,26 @@ yyreduce:
> -                     setNeedsShadow(cd);
> -                 }
> -
> --                if (getReleaseGIL(&(yyvsp[(7) - (11)].optflags)))
> -+                if (getReleaseGIL(&(yyvsp[-4].optflags)))
> -                     setIsReleaseGILDtor(cd);
> --                else if (getHoldGIL(&(yyvsp[(7) - (11)].optflags)))
> -+                else if (getHoldGIL(&(yyvsp[-4].optflags)))
> -                     setIsHoldGILDtor(cd);
> -             }
> -
> -             currentIsVirt = FALSE;
> -         }
> -+#line 6753 "../parser.c"
> -     break;
> -
> --  case 449:
> --#line 3634 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentCtorIsExplicit = TRUE;}
> -+  case 450: /* $@16: %empty  */
> -+#line 3660 "parser.y"
> -+                        {currentCtorIsExplicit = TRUE;}
> -+#line 6759 "../parser.c"
> -     break;
> -
> --  case 452:
> --#line 3638 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 453: /* simplector: TK_NAME_VALUE '(' arglist ')' optexceptions
> optflags optctorsig ';' optdocstring premethodcode methodcode  */
> -+#line 3664 "parser.y"
> -+
>                                               {
> -             /* Note that we allow ctors in C modules. */
> -
> -             if (notSkipping())
> -@@ -6846,11 +6782,11 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(6) - (11)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-5].optflags), annos);
> -
> -                 if (currentSpec -> genc)
> -                 {
> --                    if ((yyvsp[(10) - (11)].codeb) == NULL && (yyvsp[(3)
> - (11)].signature).nrArgs != 0)
> -+                    if ((yyvsp[-1].codeb) == NULL &&
> (yyvsp[-8].signature).nrArgs != 0)
> -                         yyerror("Constructors with arguments in C
> modules must include %MethodCode");
> -
> -                     if (currentCtorIsExplicit)
> -@@ -6860,80 +6796,87 @@ yyreduce:
> -                 if ((sectionFlags & (SECT_IS_PUBLIC | SECT_IS_PROT |
> SECT_IS_PRIVATE)) == 0)
> -                     yyerror("Constructor must be in the public, private
> or protected sections");
> -
> --                newCtor(currentModule, (yyvsp[(1) - (11)].text),
> sectionFlags, &(yyvsp[(3) - (11)].signature), &(yyvsp[(6) -
> (11)].optflags), (yyvsp[(11) - (11)].codeb), (yyvsp[(5) - (11)].throwlist),
> (yyvsp[(7) - (11)].optsignature),
> --                        currentCtorIsExplicit, (yyvsp[(9) -
> (11)].docstr), (yyvsp[(10) - (11)].codeb));
> -+                newCtor(currentModule, (yyvsp[-10].text), sectionFlags,
> &(yyvsp[-8].signature), &(yyvsp[-5].optflags), (yyvsp[0].codeb),
> (yyvsp[-6].throwlist), (yyvsp[-4].optsignature),
> -+                        currentCtorIsExplicit, (yyvsp[-2].docstr),
> (yyvsp[-1].codeb));
> -             }
> -
> --            free((yyvsp[(1) - (11)].text));
> -+            free((yyvsp[-10].text));
> -
> -             currentCtorIsExplicit = FALSE;
> -         }
> -+#line 6808 "../parser.c"
> -     break;
> -
> --  case 453:
> --#line 3684 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 454: /* optctorsig: %empty  */
> -+#line 3710 "parser.y"
> -+            {
> -             (yyval.optsignature) = NULL;
> -         }
> -+#line 6816 "../parser.c"
> -     break;
> -
> --  case 454:
> --#line 3687 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 455: /* $@17: %empty  */
> -+#line 3713 "parser.y"
> -+            {
> -             parsingCSignature = TRUE;
> -         }
> -+#line 6824 "../parser.c"
> -     break;
> -
> --  case 455:
> --#line 3689 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 456: /* optctorsig: '[' $@17 '(' arglist ')' ']'  */
> -+#line 3715 "parser.y"
> -+                              {
> -             (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
> -
> --            *(yyval.optsignature) = (yyvsp[(4) - (6)].signature);
> -+            *(yyval.optsignature) = (yyvsp[-2].signature);
> -
> -             parsingCSignature = FALSE;
> -         }
> -+#line 6836 "../parser.c"
> -     break;
> -
> --  case 456:
> --#line 3698 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 457: /* optsig: %empty  */
> -+#line 3724 "parser.y"
> -+        {
> -             (yyval.optsignature) = NULL;
> -         }
> -+#line 6844 "../parser.c"
> -     break;
> -
> --  case 457:
> --#line 3701 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 458: /* $@18: %empty  */
> -+#line 3727 "parser.y"
> -+            {
> -             parsingCSignature = TRUE;
> -         }
> -+#line 6852 "../parser.c"
> -     break;
> -
> --  case 458:
> --#line 3703 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 459: /* optsig: '[' $@18 cpptype '(' arglist ')' ']'  */
> -+#line 3729 "parser.y"
> -+                                      {
> -             (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
> -
> --            *(yyval.optsignature) = (yyvsp[(5) - (7)].signature);
> --            (yyval.optsignature)->result = (yyvsp[(3) - (7)].memArg);
> -+            *(yyval.optsignature) = (yyvsp[-2].signature);
> -+            (yyval.optsignature)->result = (yyvsp[-4].memArg);
> -
> -             parsingCSignature = FALSE;
> -         }
> -+#line 6865 "../parser.c"
> -     break;
> -
> --  case 459:
> --#line 3713 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 460: /* function: cpptype TK_NAME_VALUE '(' arglist ')' optconst
> optfinal optexceptions optabstract optflags optsig ';' optdocstring
> premethodcode methodcode virtualcatchercode virtualcallcode  */
> -+#line 3739 "parser.y"
> -+
>
>                                        {
> -             if (notSkipping())
> -             {
> --                applyTypeFlags(currentModule, &(yyvsp[(1) -
> (17)].memArg), &(yyvsp[(10) - (17)].optflags));
> -+                applyTypeFlags(currentModule, &(yyvsp[-16].memArg),
> &(yyvsp[-7].optflags));
> -
> --                (yyvsp[(4) - (17)].signature).result = (yyvsp[(1) -
> (17)].memArg);
> -+                (yyvsp[-13].signature).result = (yyvsp[-16].memArg);
> -
> -                 newFunction(currentSpec, currentModule, currentScope(),
> NULL,
> -                         NULL, sectionFlags, currentIsStatic,
> currentIsSignal,
> --                        currentIsSlot, currentIsVirt, (yyvsp[(2) -
> (17)].text), &(yyvsp[(4) - (17)].signature), (yyvsp[(6) - (17)].number),
> (yyvsp[(9) - (17)].number), &(yyvsp[(10) - (17)].optflags),
> --                        (yyvsp[(15) - (17)].codeb), (yyvsp[(16) -
> (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(8) - (17)].throwlist),
> (yyvsp[(11) - (17)].optsignature), (yyvsp[(13) - (17)].docstr), (yyvsp[(7)
> - (17)].number), (yyvsp[(14) - (17)].codeb));
> -+                        currentIsSlot, currentIsVirt, (yyvsp[-15].text),
> &(yyvsp[-13].signature), (yyvsp[-11].number), (yyvsp[-8].number),
> &(yyvsp[-7].optflags),
> -+                        (yyvsp[-2].codeb), (yyvsp[-1].codeb),
> (yyvsp[0].codeb), (yyvsp[-9].throwlist), (yyvsp[-6].optsignature),
> (yyvsp[-4].docstr), (yyvsp[-10].number), (yyvsp[-3].codeb));
> -             }
> -
> -             currentIsStatic = FALSE;
> -@@ -6941,11 +6884,12 @@ yyreduce:
> -             currentIsSlot = FALSE;
> -             currentIsVirt = FALSE;
> -         }
> -+#line 6888 "../parser.c"
> -     break;
> -
> --  case 460:
> --#line 3731 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 461: /* function: cpptype TK_OPERATOR '=' '(' cpptype ')' ';'  */
> -+#line 3757 "parser.y"
> -+                                                    {
> -             /*
> -              * It looks like an assignment operator (though we don't
> bother to
> -              * check the types) so make sure it is private.
> -@@ -6965,11 +6909,12 @@ yyreduce:
> -             currentIsSlot = FALSE;
> -             currentIsVirt = FALSE;
> -         }
> -+#line 6913 "../parser.c"
> -     break;
> -
> --  case 461:
> --#line 3751 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 462: /* function: cpptype TK_OPERATOR operatorname '(' arglist
> ')' optconst optfinal optexceptions optabstract optflags optsig ';'
> premethodcode methodcode virtualcatchercode virtualcallcode  */
> -+#line 3777 "parser.y"
> -+
>
>                                  {
> -             if (notSkipping())
> -             {
> -                 classDef *cd = currentScope();
> -@@ -6989,23 +6934,23 @@ yyreduce:
> -                     ns_scope = NULL;
> -                 }
> -
> --                applyTypeFlags(currentModule, &(yyvsp[(1) -
> (17)].memArg), &(yyvsp[(11) - (17)].optflags));
> -+                applyTypeFlags(currentModule, &(yyvsp[-16].memArg),
> &(yyvsp[-6].optflags));
> -
> -                 /* Handle the unary '+' and '-' operators. */
> --                if ((cd != NULL && (yyvsp[(5) - (17)].signature).nrArgs
> == 0) || (cd == NULL && (yyvsp[(5) - (17)].signature).nrArgs == 1))
> -+                if ((cd != NULL && (yyvsp[-12].signature).nrArgs == 0)
> || (cd == NULL && (yyvsp[-12].signature).nrArgs == 1))
> -                 {
> --                    if (strcmp((yyvsp[(3) - (17)].text), "__add__") == 0)
> --                        (yyvsp[(3) - (17)].text) = "__pos__";
> --                    else if (strcmp((yyvsp[(3) - (17)].text), "__sub__")
> == 0)
> --                        (yyvsp[(3) - (17)].text) = "__neg__";
> -+                    if (strcmp((yyvsp[-14].text), "__add__") == 0)
> -+                        (yyvsp[-14].text) = "__pos__";
> -+                    else if (strcmp((yyvsp[-14].text), "__sub__") == 0)
> -+                        (yyvsp[-14].text) = "__neg__";
> -                 }
> -
> --                (yyvsp[(5) - (17)].signature).result = (yyvsp[(1) -
> (17)].memArg);
> -+                (yyvsp[-12].signature).result = (yyvsp[-16].memArg);
> -
> -                 newFunction(currentSpec, currentModule, cd, ns_scope,
> NULL,
> -                         sectionFlags, currentIsStatic, currentIsSignal,
> --                        currentIsSlot, currentIsVirt, (yyvsp[(3) -
> (17)].text), &(yyvsp[(5) - (17)].signature), (yyvsp[(7) - (17)].number),
> (yyvsp[(10) - (17)].number), &(yyvsp[(11) - (17)].optflags),
> --                        (yyvsp[(15) - (17)].codeb), (yyvsp[(16) -
> (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(9) - (17)].throwlist),
> (yyvsp[(12) - (17)].optsignature), NULL, (yyvsp[(8) - (17)].number),
> (yyvsp[(14) - (17)].codeb));
> -+                        currentIsSlot, currentIsVirt, (yyvsp[-14].text),
> &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number),
> &(yyvsp[-6].optflags),
> -+                        (yyvsp[-2].codeb), (yyvsp[-1].codeb),
> (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL,
> (yyvsp[-9].number), (yyvsp[-3].codeb));
> -             }
> -
> -             currentIsStatic = FALSE;
> -@@ -7013,22 +6958,23 @@ yyreduce:
> -             currentIsSlot = FALSE;
> -             currentIsVirt = FALSE;
> -         }
> -+#line 6962 "../parser.c"
> -     break;
> -
> --  case 462:
> --#line 3795 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 463: /* function: TK_OPERATOR cpptype '(' arglist ')' optconst
> optfinal optexceptions optabstract optflags optsig ';' premethodcode
> methodcode virtualcatchercode virtualcallcode  */
> -+#line 3821 "parser.y"
> -+
>
>                     {
> -             if (notSkipping())
> -             {
> -                 char *sname;
> -                 classDef *scope = currentScope();
> -
> --                if (scope == NULL || (yyvsp[(4) -
> (16)].signature).nrArgs != 0)
> -+                if (scope == NULL || (yyvsp[-12].signature).nrArgs != 0)
> -                     yyerror("Operator casts must be specified in a class
> and have no arguments");
> -
> --                applyTypeFlags(currentModule, &(yyvsp[(2) -
> (16)].memArg), &(yyvsp[(10) - (16)].optflags));
> -+                applyTypeFlags(currentModule, &(yyvsp[-14].memArg),
> &(yyvsp[-6].optflags));
> -
> --                switch ((yyvsp[(2) - (16)].memArg).atype)
> -+                switch ((yyvsp[-14].memArg).atype)
> -                 {
> -                 case defined_type:
> -                     sname = NULL;
> -@@ -7067,12 +7013,12 @@ yyreduce:
> -
> -                 if (sname != NULL)
> -                 {
> --                    (yyvsp[(4) - (16)].signature).result = (yyvsp[(2) -
> (16)].memArg);
> -+                    (yyvsp[-12].signature).result = (yyvsp[-14].memArg);
> -
> -                     newFunction(currentSpec, currentModule, scope, NULL,
> NULL,
> -                             sectionFlags, currentIsStatic,
> currentIsSignal,
> --                            currentIsSlot, currentIsVirt, sname,
> &(yyvsp[(4) - (16)].signature), (yyvsp[(6) - (16)].number), (yyvsp[(9) -
> (16)].number),
> --                            &(yyvsp[(10) - (16)].optflags), (yyvsp[(14)
> - (16)].codeb), (yyvsp[(15) - (16)].codeb), (yyvsp[(16) - (16)].codeb),
> (yyvsp[(8) - (16)].throwlist), (yyvsp[(11) - (16)].optsignature), NULL,
> (yyvsp[(7) - (16)].number), (yyvsp[(13) - (16)].codeb));
> -+                            currentIsSlot, currentIsVirt, sname,
> &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number),
> -+                            &(yyvsp[-6].optflags), (yyvsp[-2].codeb),
> (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist),
> (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
> -                 }
> -                 else
> -                 {
> -@@ -7080,11 +7026,11 @@ yyreduce:
> -
> -                     /* Check it doesn't already exist. */
> -                     for (al = scope->casts; al != NULL; al = al->next)
> --                        if (compareScopedNames((yyvsp[(2) -
> (16)].memArg).u.snd, al->arg.u.snd) == 0)
> -+                        if
> (compareScopedNames((yyvsp[-14].memArg).u.snd, al->arg.u.snd) == 0)
> -                             yyerror("This operator cast has already been
> specified in this class");
> -
> -                     al = sipMalloc(sizeof (argList));
> --                    al->arg = (yyvsp[(2) - (16)].memArg);
> -+                    al->arg = (yyvsp[-14].memArg);
> -                     al->next = scope->casts;
> -
> -                     scope->casts = al;
> -@@ -7096,367 +7042,421 @@ yyreduce:
> -             currentIsSlot = FALSE;
> -             currentIsVirt = FALSE;
> -         }
> -+#line 7046 "../parser.c"
> -     break;
> -
> --  case 463:
> --#line 3876 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__add__";}
> -+  case 464: /* operatorname: '+'  */
> -+#line 3902 "parser.y"
> -+                        {(yyval.text) = "__add__";}
> -+#line 7052 "../parser.c"
> -     break;
> -
> --  case 464:
> --#line 3877 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__sub__";}
> -+  case 465: /* operatorname: '-'  */
> -+#line 3903 "parser.y"
> -+                {(yyval.text) = "__sub__";}
> -+#line 7058 "../parser.c"
> -     break;
> -
> --  case 465:
> --#line 3878 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__mul__";}
> -+  case 466: /* operatorname: '*'  */
> -+#line 3904 "parser.y"
> -+                {(yyval.text) = "__mul__";}
> -+#line 7064 "../parser.c"
> -     break;
> -
> --  case 466:
> --#line 3879 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__div__";}
> -+  case 467: /* operatorname: '/'  */
> -+#line 3905 "parser.y"
> -+                {(yyval.text) = "__div__";}
> -+#line 7070 "../parser.c"
> -     break;
> -
> --  case 467:
> --#line 3880 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__mod__";}
> -+  case 468: /* operatorname: '%'  */
> -+#line 3906 "parser.y"
> -+                {(yyval.text) = "__mod__";}
> -+#line 7076 "../parser.c"
> -     break;
> -
> --  case 468:
> --#line 3881 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__and__";}
> -+  case 469: /* operatorname: '&'  */
> -+#line 3907 "parser.y"
> -+                {(yyval.text) = "__and__";}
> -+#line 7082 "../parser.c"
> -     break;
> -
> --  case 469:
> --#line 3882 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__or__";}
> -+  case 470: /* operatorname: '|'  */
> -+#line 3908 "parser.y"
> -+                {(yyval.text) = "__or__";}
> -+#line 7088 "../parser.c"
> -     break;
> -
> --  case 470:
> --#line 3883 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__xor__";}
> -+  case 471: /* operatorname: '^'  */
> -+#line 3909 "parser.y"
> -+                {(yyval.text) = "__xor__";}
> -+#line 7094 "../parser.c"
> -     break;
> -
> --  case 471:
> --#line 3884 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__lshift__";}
> -+  case 472: /* operatorname: '<' '<'  */
> -+#line 3910 "parser.y"
> -+                    {(yyval.text) = "__lshift__";}
> -+#line 7100 "../parser.c"
> -     break;
> -
> --  case 472:
> --#line 3885 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__rshift__";}
> -+  case 473: /* operatorname: '>' '>'  */
> -+#line 3911 "parser.y"
> -+                    {(yyval.text) = "__rshift__";}
> -+#line 7106 "../parser.c"
> -     break;
> -
> --  case 473:
> --#line 3886 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__iadd__";}
> -+  case 474: /* operatorname: '+' '='  */
> -+#line 3912 "parser.y"
> -+                    {(yyval.text) = "__iadd__";}
> -+#line 7112 "../parser.c"
> -     break;
> -
> --  case 474:
> --#line 3887 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__isub__";}
> -+  case 475: /* operatorname: '-' '='  */
> -+#line 3913 "parser.y"
> -+                    {(yyval.text) = "__isub__";}
> -+#line 7118 "../parser.c"
> -     break;
> -
> --  case 475:
> --#line 3888 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__imul__";}
> -+  case 476: /* operatorname: '*' '='  */
> -+#line 3914 "parser.y"
> -+                    {(yyval.text) = "__imul__";}
> -+#line 7124 "../parser.c"
> -     break;
> -
> --  case 476:
> --#line 3889 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__idiv__";}
> -+  case 477: /* operatorname: '/' '='  */
> -+#line 3915 "parser.y"
> -+                    {(yyval.text) = "__idiv__";}
> -+#line 7130 "../parser.c"
> -     break;
> -
> --  case 477:
> --#line 3890 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__imod__";}
> -+  case 478: /* operatorname: '%' '='  */
> -+#line 3916 "parser.y"
> -+                    {(yyval.text) = "__imod__";}
> -+#line 7136 "../parser.c"
> -     break;
> -
> --  case 478:
> --#line 3891 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__iand__";}
> -+  case 479: /* operatorname: '&' '='  */
> -+#line 3917 "parser.y"
> -+                    {(yyval.text) = "__iand__";}
> -+#line 7142 "../parser.c"
> -     break;
> -
> --  case 479:
> --#line 3892 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__ior__";}
> -+  case 480: /* operatorname: '|' '='  */
> -+#line 3918 "parser.y"
> -+                    {(yyval.text) = "__ior__";}
> -+#line 7148 "../parser.c"
> -     break;
> -
> --  case 480:
> --#line 3893 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__ixor__";}
> -+  case 481: /* operatorname: '^' '='  */
> -+#line 3919 "parser.y"
> -+                    {(yyval.text) = "__ixor__";}
> -+#line 7154 "../parser.c"
> -     break;
> -
> --  case 481:
> --#line 3894 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__ilshift__";}
> -+  case 482: /* operatorname: '<' '<' '='  */
> -+#line 3920 "parser.y"
> -+                    {(yyval.text) = "__ilshift__";}
> -+#line 7160 "../parser.c"
> -     break;
> -
> --  case 482:
> --#line 3895 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__irshift__";}
> -+  case 483: /* operatorname: '>' '>' '='  */
> -+#line 3921 "parser.y"
> -+                    {(yyval.text) = "__irshift__";}
> -+#line 7166 "../parser.c"
> -     break;
> -
> --  case 483:
> --#line 3896 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__invert__";}
> -+  case 484: /* operatorname: '~'  */
> -+#line 3922 "parser.y"
> -+                {(yyval.text) = "__invert__";}
> -+#line 7172 "../parser.c"
> -     break;
> -
> --  case 484:
> --#line 3897 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__call__";}
> -+  case 485: /* operatorname: '(' ')'  */
> -+#line 3923 "parser.y"
> -+                    {(yyval.text) = "__call__";}
> -+#line 7178 "../parser.c"
> -     break;
> -
> --  case 485:
> --#line 3898 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__getitem__";}
> -+  case 486: /* operatorname: '[' ']'  */
> -+#line 3924 "parser.y"
> -+                    {(yyval.text) = "__getitem__";}
> -+#line 7184 "../parser.c"
> -     break;
> -
> --  case 486:
> --#line 3899 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__lt__";}
> -+  case 487: /* operatorname: '<'  */
> -+#line 3925 "parser.y"
> -+                {(yyval.text) = "__lt__";}
> -+#line 7190 "../parser.c"
> -     break;
> -
> --  case 487:
> --#line 3900 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__le__";}
> -+  case 488: /* operatorname: '<' '='  */
> -+#line 3926 "parser.y"
> -+                    {(yyval.text) = "__le__";}
> -+#line 7196 "../parser.c"
> -     break;
> -
> --  case 488:
> --#line 3901 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__eq__";}
> -+  case 489: /* operatorname: '=' '='  */
> -+#line 3927 "parser.y"
> -+                    {(yyval.text) = "__eq__";}
> -+#line 7202 "../parser.c"
> -     break;
> -
> --  case 489:
> --#line 3902 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__ne__";}
> -+  case 490: /* operatorname: '!' '='  */
> -+#line 3928 "parser.y"
> -+                    {(yyval.text) = "__ne__";}
> -+#line 7208 "../parser.c"
> -     break;
> -
> --  case 490:
> --#line 3903 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__gt__";}
> -+  case 491: /* operatorname: '>'  */
> -+#line 3929 "parser.y"
> -+                {(yyval.text) = "__gt__";}
> -+#line 7214 "../parser.c"
> -     break;
> -
> --  case 491:
> --#line 3904 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {(yyval.text) = "__ge__";}
> -+  case 492: /* operatorname: '>' '='  */
> -+#line 3930 "parser.y"
> -+                    {(yyval.text) = "__ge__";}
> -+#line 7220 "../parser.c"
> -     break;
> -
> --  case 492:
> --#line 3907 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 493: /* optconst: %empty  */
> -+#line 3933 "parser.y"
> -+            {
> -             (yyval.number) = FALSE;
> -         }
> -+#line 7228 "../parser.c"
> -     break;
> -
> --  case 493:
> --#line 3910 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 494: /* optconst: TK_CONST  */
> -+#line 3936 "parser.y"
> -+                 {
> -             (yyval.number) = TRUE;
> -         }
> -+#line 7236 "../parser.c"
> -     break;
> -
> --  case 494:
> --#line 3915 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 495: /* optfinal: %empty  */
> -+#line 3941 "parser.y"
> -+            {
> -             (yyval.number) = FALSE;
> -         }
> -+#line 7244 "../parser.c"
> -     break;
> -
> --  case 495:
> --#line 3918 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 496: /* optfinal: TK_FINAL  */
> -+#line 3944 "parser.y"
> -+                 {
> -             (yyval.number) = TRUE;
> -         }
> -+#line 7252 "../parser.c"
> -     break;
> -
> --  case 496:
> --#line 3923 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 497: /* optabstract: %empty  */
> -+#line 3949 "parser.y"
> -+                {
> -             (yyval.number) = 0;
> -         }
> -+#line 7260 "../parser.c"
> -     break;
> -
> --  case 497:
> --#line 3926 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            if ((yyvsp[(2) - (2)].number) != 0)
> -+  case 498: /* optabstract: '=' TK_NUMBER_VALUE  */
> -+#line 3952 "parser.y"
> -+                            {
> -+            if ((yyvsp[0].number) != 0)
> -                 yyerror("Abstract virtual function '= 0' expected");
> -
> -             (yyval.number) = TRUE;
> -         }
> -+#line 7271 "../parser.c"
> -     break;
> -
> --  case 498:
> --#line 3934 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 499: /* optflags: %empty  */
> -+#line 3960 "parser.y"
> -+            {
> -             (yyval.optflags).nrFlags = 0;
> -         }
> -+#line 7279 "../parser.c"
> -     break;
> -
> --  case 499:
> --#line 3937 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.optflags) = (yyvsp[(2) - (3)].optflags);
> -+  case 500: /* optflags: '/' flaglist '/'  */
> -+#line 3963 "parser.y"
> -+                         {
> -+            (yyval.optflags) = (yyvsp[-1].optflags);
> -         }
> -+#line 7287 "../parser.c"
> -     break;
> -
> --  case 500:
> --#line 3943 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.optflags).flags[0] = (yyvsp[(1) - (1)].flag);
> -+  case 501: /* flaglist: flag  */
> -+#line 3969 "parser.y"
> -+                 {
> -+            (yyval.optflags).flags[0] = (yyvsp[0].flag);
> -             (yyval.optflags).nrFlags = 1;
> -         }
> -+#line 7296 "../parser.c"
> -     break;
> -
> --  case 501:
> --#line 3947 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 502: /* flaglist: flaglist ',' flag  */
> -+#line 3973 "parser.y"
> -+                          {
> -             /* Check there is room. */
> -
> --            if ((yyvsp[(1) - (3)].optflags).nrFlags == MAX_NR_FLAGS)
> -+            if ((yyvsp[-2].optflags).nrFlags == MAX_NR_FLAGS)
> -                 yyerror("Too many optional flags");
> -
> --            (yyval.optflags) = (yyvsp[(1) - (3)].optflags);
> -+            (yyval.optflags) = (yyvsp[-2].optflags);
> -
> --            (yyval.optflags).flags[(yyval.optflags).nrFlags++] =
> (yyvsp[(3) - (3)].flag);
> -+            (yyval.optflags).flags[(yyval.optflags).nrFlags++] =
> (yyvsp[0].flag);
> -         }
> -+#line 7311 "../parser.c"
> -     break;
> -
> --  case 502:
> --#line 3959 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 503: /* flag: TK_NAME_VALUE  */
> -+#line 3985 "parser.y"
> -+                      {
> -             (yyval.flag).ftype = bool_flag;
> --            (yyval.flag).fname = (yyvsp[(1) - (1)].text);
> -+            (yyval.flag).fname = (yyvsp[0].text);
> -         }
> -+#line 7320 "../parser.c"
> -     break;
> -
> --  case 503:
> --#line 3963 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.flag) = (yyvsp[(3) - (3)].flag);
> --            (yyval.flag).fname = (yyvsp[(1) - (3)].text);
> -+  case 504: /* flag: TK_NAME_VALUE '=' flagvalue  */
> -+#line 3989 "parser.y"
> -+                                    {
> -+            (yyval.flag) = (yyvsp[0].flag);
> -+            (yyval.flag).fname = (yyvsp[-2].text);
> -         }
> -+#line 7329 "../parser.c"
> -     break;
> -
> --  case 504:
> --#line 3969 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.flag).ftype = (strchr((yyvsp[(1) - (1)].text), '.')
> != NULL) ? dotted_name_flag : name_flag;
> --            (yyval.flag).fvalue.sval = (yyvsp[(1) - (1)].text);
> -+  case 505: /* flagvalue: dottedname  */
> -+#line 3995 "parser.y"
> -+                       {
> -+            (yyval.flag).ftype = (strchr((yyvsp[0].text), '.') != NULL)
> ? dotted_name_flag : name_flag;
> -+            (yyval.flag).fvalue.sval = (yyvsp[0].text);
> -         }
> -+#line 7338 "../parser.c"
> -     break;
> -
> --  case 505:
> --#line 3973 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 506: /* flagvalue: TK_NAME_VALUE ':' optnumber '-' optnumber  */
> -+#line 3999 "parser.y"
> -+                                                  {
> -             apiVersionRangeDef *avd;
> -             int from, to;
> -
> -             (yyval.flag).ftype = api_range_flag;
> -
> -             /* Check that the API is known. */
> --            if ((avd = findAPI(currentSpec, (yyvsp[(1) - (5)].text))) ==
> NULL)
> -+            if ((avd = findAPI(currentSpec, (yyvsp[-4].text))) == NULL)
> -                 yyerror("unknown API name in API annotation");
> -
> -             if (inMainModule())
> -                 setIsUsedName(avd->api_name);
> -
> -             /* Unbounded values are represented by 0. */
> --            if ((from = (yyvsp[(3) - (5)].number)) < 0)
> -+            if ((from = (yyvsp[-2].number)) < 0)
> -                 from = 0;
> -
> --            if ((to = (yyvsp[(5) - (5)].number)) < 0)
> -+            if ((to = (yyvsp[0].number)) < 0)
> -                 to = 0;
> -
> -             (yyval.flag).fvalue.aval = convertAPIRange(currentModule,
> avd->api_name,
> -                     from, to);
> -         }
> -+#line 7366 "../parser.c"
> -     break;
> -
> --  case 506:
> --#line 3996 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 507: /* flagvalue: TK_STRING_VALUE  */
> -+#line 4022 "parser.y"
> -+                        {
> -             (yyval.flag).ftype = string_flag;
> --            (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[(1)
> - (1)].text));
> -+            (yyval.flag).fvalue.sval =
> convertFeaturedString((yyvsp[0].text));
> -         }
> -+#line 7375 "../parser.c"
> -     break;
> -
> --  case 507:
> --#line 4000 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 508: /* flagvalue: TK_NUMBER_VALUE  */
> -+#line 4026 "parser.y"
> -+                        {
> -             (yyval.flag).ftype = integer_flag;
> --            (yyval.flag).fvalue.ival = (yyvsp[(1) - (1)].number);
> -+            (yyval.flag).fvalue.ival = (yyvsp[0].number);
> -         }
> -+#line 7384 "../parser.c"
> -     break;
> -
> --  case 508:
> --#line 4006 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 509: /* virtualcallcode: %empty  */
> -+#line 4032 "parser.y"
> -+                 {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 7392 "../parser.c"
> -     break;
> -
> --  case 509:
> --#line 4009 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 510: /* virtualcallcode: TK_VIRTUALCALLCODE codeblock  */
> -+#line 4035 "parser.y"
> -+                                     {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 7400 "../parser.c"
> -     break;
> -
> --  case 510:
> --#line 4014 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 511: /* methodcode: %empty  */
> -+#line 4040 "parser.y"
> -+            {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 7408 "../parser.c"
> -     break;
> -
> --  case 511:
> --#line 4017 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 512: /* methodcode: TK_METHODCODE codeblock  */
> -+#line 4043 "parser.y"
> -+                                {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 7416 "../parser.c"
> -     break;
> -
> --  case 512:
> --#line 4022 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 513: /* premethodcode: %empty  */
> -+#line 4048 "parser.y"
> -+               {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 7424 "../parser.c"
> -     break;
> -
> --  case 513:
> --#line 4025 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 514: /* premethodcode: TK_PREMETHODCODE codeblock  */
> -+#line 4051 "parser.y"
> -+                                   {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 7432 "../parser.c"
> -     break;
> -
> --  case 514:
> --#line 4030 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 515: /* virtualcatchercode: %empty  */
> -+#line 4056 "parser.y"
> -+                    {
> -             (yyval.codeb) = NULL;
> -         }
> -+#line 7440 "../parser.c"
> -     break;
> -
> --  case 515:
> --#line 4033 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> -+  case 516: /* virtualcatchercode: TK_VIRTUALCATCHERCODE codeblock  */
> -+#line 4059 "parser.y"
> -+                                        {
> -+            (yyval.codeb) = (yyvsp[0].codeb);
> -         }
> -+#line 7448 "../parser.c"
> -     break;
> -
> --  case 516:
> --#line 4038 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 517: /* arglist: rawarglist  */
> -+#line 4064 "parser.y"
> -+                       {
> -             int a, nrrxcon, nrrxdis, nrslotcon, nrslotdis, nrarray,
> nrarraysize;
> -
> -             nrrxcon = nrrxdis = nrslotcon = nrslotdis = nrarray =
> nrarraysize = 0;
> -
> --            for (a = 0; a < (yyvsp[(1) - (1)].signature).nrArgs; ++a)
> -+            for (a = 0; a < (yyvsp[0].signature).nrArgs; ++a)
> -             {
> --                argDef *ad = &(yyvsp[(1) - (1)].signature).args[a];
> -+                argDef *ad = &(yyvsp[0].signature).args[a];
> -
> -                 switch (ad -> atype)
> -                 {
> -@@ -7497,226 +7497,243 @@ yyreduce:
> -             if (nrarray != nrarraysize || nrarray > 1)
> -                 yyerror("/Array/ and /ArraySize/ must both be given and
> at most once");
> -
> --            (yyval.signature) = (yyvsp[(1) - (1)].signature);
> -+            (yyval.signature) = (yyvsp[0].signature);
> -         }
> -+#line 7503 "../parser.c"
> -     break;
> -
> --  case 517:
> --#line 4090 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 518: /* rawarglist: %empty  */
> -+#line 4116 "parser.y"
> -+            {
> -             /* No arguments. */
> -
> -             (yyval.signature).nrArgs = 0;
> -         }
> -+#line 7513 "../parser.c"
> -     break;
> -
> --  case 518:
> --#line 4095 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 519: /* rawarglist: argvalue  */
> -+#line 4121 "parser.y"
> -+                 {
> -             /* The single or first argument. */
> -
> --            (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
> -+            (yyval.signature).args[0] = (yyvsp[0].memArg);
> -             (yyval.signature).nrArgs = 1;
> -         }
> -+#line 7524 "../parser.c"
> -     break;
> -
> --  case 519:
> --#line 4101 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 520: /* rawarglist: rawarglist ',' argvalue  */
> -+#line 4127 "parser.y"
> -+                                {
> -             /* Check that it wasn't ...(,arg...). */
> --            if ((yyvsp[(1) - (3)].signature).nrArgs == 0)
> -+            if ((yyvsp[-2].signature).nrArgs == 0)
> -                 yyerror("First argument of the list is missing");
> -
> -             /*
> -              * If this argument has no default value, then the
> -              * previous one mustn't either.
> -              */
> --            if ((yyvsp[(3) - (3)].memArg).defval == NULL && (yyvsp[(1) -
> (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].defval !=
> NULL)
> -+            if ((yyvsp[0].memArg).defval == NULL &&
> (yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].defval != NULL)
> -                 yyerror("Compulsory argument given after optional
> argument");
> -
> -             /* Check there is room. */
> --            if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> -+            if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> -                 yyerror("Internal error - increase the value of
> MAX_NR_ARGS");
> -
> --            (yyval.signature) = (yyvsp[(1) - (3)].signature);
> -+            (yyval.signature) = (yyvsp[-2].signature);
> -
> --            (yyval.signature).args[(yyval.signature).nrArgs] =
> (yyvsp[(3) - (3)].memArg);
> -+            (yyval.signature).args[(yyval.signature).nrArgs] =
> (yyvsp[0].memArg);
> -             (yyval.signature).nrArgs++;
> -         }
> -+#line 7550 "../parser.c"
> -     break;
> -
> --  case 520:
> --#line 4124 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 521: /* argvalue: TK_SIPSIGNAL optname optflags optassign  */
> -+#line 4150 "parser.y"
> -+                                                    {
> -             deprecated("SIP_SIGNAL is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SIGNAL has
> no annotations");
> -+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SIGNAL has no
> annotations");
> -
> -             (yyval.memArg).atype = signal_type;
> -             (yyval.memArg).argflags = ARG_IS_CONST;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (4)].text));
> --            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-2].text));
> -+            (yyval.memArg).defval = (yyvsp[0].valp);
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7567 "../parser.c"
> -     break;
> -
> --  case 521:
> --#line 4136 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 522: /* argvalue: TK_SIPSLOT optname optflags optassign  */
> -+#line 4162 "parser.y"
> -+                                              {
> -             deprecated("SIP_SLOT is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SLOT has no
> annotations");
> -+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SLOT has no
> annotations");
> -
> -             (yyval.memArg).atype = slot_type;
> -             (yyval.memArg).argflags = ARG_IS_CONST;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (4)].text));
> --            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-2].text));
> -+            (yyval.memArg).defval = (yyvsp[0].valp);
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7584 "../parser.c"
> -     break;
> -
> --  case 522:
> --#line 4148 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 523: /* argvalue: TK_SIPANYSLOT optname optflags optassign  */
> -+#line 4174 "parser.y"
> -+                                                 {
> -             deprecated("SIP_ANYSLOT is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_ANYSLOT has
> no annotations");
> -+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_ANYSLOT has no
> annotations");
> -
> -             (yyval.memArg).atype = anyslot_type;
> -             (yyval.memArg).argflags = ARG_IS_CONST;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (4)].text));
> --            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-2].text));
> -+            (yyval.memArg).defval = (yyvsp[0].valp);
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7601 "../parser.c"
> -     break;
> -
> --  case 523:
> --#line 4160 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 524: /* argvalue: TK_SIPRXCON optname optflags  */
> -+#line 4186 "parser.y"
> -+                                     {
> -             const char *annos[] = {
> -                 "SingleShot",
> -                 NULL
> -             };
> -
> -             deprecated("SIP_RXOBJ_CON is deprecated\n");
> --            checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> -+            checkAnnos(&(yyvsp[0].optflags), annos);
> -
> -             (yyval.memArg).atype = rxcon_type;
> -             (yyval.memArg).argflags = 0;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (3)].text));
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -
> --            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "SingleShot",
> bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags), "SingleShot",
> bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_SINGLE_SHOT;
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7625 "../parser.c"
> -     break;
> -
> --  case 524:
> --#line 4179 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 525: /* argvalue: TK_SIPRXDIS optname optflags  */
> -+#line 4205 "parser.y"
> -+                                     {
> -             deprecated("SIP_RXOBJ_DIS is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_RXOBJ_DIS
> has no annotations");
> -+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_RXOBJ_DIS has no
> annotations");
> -
> -             (yyval.memArg).atype = rxdis_type;
> -             (yyval.memArg).argflags = 0;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (3)].text));
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7641 "../parser.c"
> -     break;
> -
> --  case 525:
> --#line 4190 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 526: /* argvalue: TK_SIPSLOTCON '(' arglist ')' optname optflags
> */
> -+#line 4216 "parser.y"
> -+                                                       {
> -             deprecated("SIP_SLOT_CON is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_CON has
> no annotations");
> -+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_CON has no
> annotations");
> -
> -             (yyval.memArg).atype = slotcon_type;
> -             (yyval.memArg).argflags = ARG_IS_CONST;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) -
> (6)].text));
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -
> --            memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof
> (argDef));
> --            (yyvsp[(3) - (6)].signature).result.atype = void_type;
> -+            memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
> -+            (yyvsp[-3].signature).result.atype = void_type;
> -
> -             (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
> --            *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
> -+            *(yyval.memArg).u.sa = (yyvsp[-3].signature);
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7663 "../parser.c"
> -     break;
> -
> --  case 526:
> --#line 4207 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 527: /* argvalue: TK_SIPSLOTDIS '(' arglist ')' optname optflags
> */
> -+#line 4233 "parser.y"
> -+                                                       {
> -             deprecated("SIP_SLOT_DIS is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_DIS has
> no annotations");
> -+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_DIS has no
> annotations");
> -
> -             (yyval.memArg).atype = slotdis_type;
> -             (yyval.memArg).argflags = ARG_IS_CONST;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) -
> (6)].text));
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -
> --            memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof
> (argDef));
> --            (yyvsp[(3) - (6)].signature).result.atype = void_type;
> -+            memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
> -+            (yyvsp[-3].signature).result.atype = void_type;
> -
> -             (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
> --            *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
> -+            *(yyval.memArg).u.sa = (yyvsp[-3].signature);
> -
> -             currentSpec -> sigslots = TRUE;
> -         }
> -+#line 7685 "../parser.c"
> -     break;
> -
> --  case 527:
> --#line 4224 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 528: /* argvalue: TK_QOBJECT optname optflags  */
> -+#line 4250 "parser.y"
> -+                                    {
> -             deprecated("SIP_QOBJECT is deprecated\n");
> --            checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_QOBJECT has
> no annotations");
> -+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_QOBJECT has no
> annotations");
> -
> -             (yyval.memArg).atype = qobject_type;
> -             (yyval.memArg).argflags = 0;
> -             (yyval.memArg).nrderefs = 0;
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (3)].text));
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -         }
> -+#line 7699 "../parser.c"
> -     break;
> -
> --  case 528:
> --#line 4233 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.memArg) = (yyvsp[(1) - (2)].memArg);
> --            (yyval.memArg).defval = (yyvsp[(2) - (2)].valp);
> -+  case 529: /* argvalue: argtype optassign  */
> -+#line 4259 "parser.y"
> -+                          {
> -+            (yyval.memArg) = (yyvsp[-1].memArg);
> -+            (yyval.memArg).defval = (yyvsp[0].valp);
> -         }
> -+#line 7708 "../parser.c"
> -     break;
> -
> --  case 529:
> --#line 4240 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsSignal = TRUE;}
> -+  case 530: /* $@19: %empty  */
> -+#line 4266 "parser.y"
> -+                         {currentIsSignal = TRUE;}
> -+#line 7714 "../parser.c"
> -     break;
> -
> --  case 531:
> --#line 4241 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsSlot = TRUE;}
> -+  case 532: /* $@20: %empty  */
> -+#line 4267 "parser.y"
> -+                       {currentIsSlot = TRUE;}
> -+#line 7720 "../parser.c"
> -     break;
> -
> --  case 534:
> --#line 4246 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsStatic = TRUE;}
> -+  case 535: /* $@21: %empty  */
> -+#line 4272 "parser.y"
> -+                  {currentIsStatic = TRUE;}
> -+#line 7726 "../parser.c"
> -     break;
> -
> --  case 539:
> --#line 4256 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {currentIsVirt = TRUE;}
> -+  case 540: /* $@22: %empty  */
> -+#line 4282 "parser.y"
> -+                   {currentIsVirt = TRUE;}
> -+#line 7732 "../parser.c"
> -     break;
> -
> --  case 542:
> --#line 4260 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 543: /* variable: cpptype TK_NAME_VALUE optflags variable_body
> ';' optaccesscode optgetcode optsetcode  */
> -+#line 4286 "parser.y"
> -+
>                          {
> -             if (notSkipping())
> -             {
> -                 const char *annos[] = {
> -@@ -7730,99 +7747,105 @@ yyreduce:
> -                     NULL
> -                 };
> -
> --                checkAnnos(&(yyvsp[(3) - (8)].optflags), annos);
> -+                checkAnnos(&(yyvsp[-5].optflags), annos);
> -
> --                if ((yyvsp[(6) - (8)].codeb) != NULL)
> -+                if ((yyvsp[-2].codeb) != NULL)
> -                 {
> --                    if ((yyvsp[(4) - (8)].variable).access_code != NULL)
> -+                    if ((yyvsp[-4].variable).access_code != NULL)
> -                         yyerror("%AccessCode already defined");
> -
> --                    (yyvsp[(4) - (8)].variable).access_code = (yyvsp[(6)
> - (8)].codeb);
> -+                    (yyvsp[-4].variable).access_code = (yyvsp[-2].codeb);
> -
> -                     deprecated("%AccessCode should be used as a
> sub-directive");
> -                 }
> -
> --                if ((yyvsp[(7) - (8)].codeb) != NULL)
> -+                if ((yyvsp[-1].codeb) != NULL)
> -                 {
> --                    if ((yyvsp[(4) - (8)].variable).get_code != NULL)
> -+                    if ((yyvsp[-4].variable).get_code != NULL)
> -                         yyerror("%GetCode already defined");
> -
> --                    (yyvsp[(4) - (8)].variable).get_code = (yyvsp[(7) -
> (8)].codeb);
> -+                    (yyvsp[-4].variable).get_code = (yyvsp[-1].codeb);
> -
> -                     deprecated("%GetCode should be used as a
> sub-directive");
> -                 }
> -
> --                if ((yyvsp[(8) - (8)].codeb) != NULL)
> -+                if ((yyvsp[0].codeb) != NULL)
> -                 {
> --                    if ((yyvsp[(4) - (8)].variable).set_code != NULL)
> -+                    if ((yyvsp[-4].variable).set_code != NULL)
> -                         yyerror("%SetCode already defined");
> -
> --                    (yyvsp[(4) - (8)].variable).set_code = (yyvsp[(8) -
> (8)].codeb);
> -+                    (yyvsp[-4].variable).set_code = (yyvsp[0].codeb);
> -
> -                     deprecated("%SetCode should be used as a
> sub-directive");
> -                 }
> -
> --                newVar(currentSpec, currentModule, (yyvsp[(2) -
> (8)].text), currentIsStatic, &(yyvsp[(1) - (8)].memArg),
> --                        &(yyvsp[(3) - (8)].optflags), (yyvsp[(4) -
> (8)].variable).access_code, (yyvsp[(4) - (8)].variable).get_code,
> (yyvsp[(4) - (8)].variable).set_code,
> -+                newVar(currentSpec, currentModule, (yyvsp[-6].text),
> currentIsStatic, &(yyvsp[-7].memArg),
> -+                        &(yyvsp[-5].optflags),
> (yyvsp[-4].variable).access_code, (yyvsp[-4].variable).get_code,
> (yyvsp[-4].variable).set_code,
> -                         sectionFlags);
> -             }
> -
> -             currentIsStatic = FALSE;
> -         }
> -+#line 7790 "../parser.c"
> -     break;
> -
> --  case 543:
> --#line 4315 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 544: /* variable_body: %empty  */
> -+#line 4341 "parser.y"
> -+                {
> -             (yyval.variable).token = 0;
> -             (yyval.variable).access_code = NULL;
> -             (yyval.variable).get_code = NULL;
> -             (yyval.variable).set_code = NULL;
> -         }
> -+#line 7801 "../parser.c"
> -     break;
> -
> --  case 544:
> --#line 4321 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.variable) = (yyvsp[(2) - (3)].variable);
> -+  case 545: /* variable_body: '{' variable_body_directives '}'  */
> -+#line 4347 "parser.y"
> -+                                         {
> -+            (yyval.variable) = (yyvsp[-1].variable);
> -         }
> -+#line 7809 "../parser.c"
> -     break;
> -
> --  case 546:
> --#line 4327 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.variable) = (yyvsp[(1) - (2)].variable);
> -+  case 547: /* variable_body_directives: variable_body_directives
> variable_body_directive  */
> -+#line 4353 "parser.y"
> -+                                                         {
> -+            (yyval.variable) = (yyvsp[-1].variable);
> -
> --            switch ((yyvsp[(2) - (2)].variable).token)
> -+            switch ((yyvsp[0].variable).token)
> -             {
> --            case TK_ACCESSCODE: (yyval.variable).access_code =
> (yyvsp[(2) - (2)].variable).access_code; break;
> --            case TK_GETCODE: (yyval.variable).get_code = (yyvsp[(2) -
> (2)].variable).get_code; break;
> --            case TK_SETCODE: (yyval.variable).set_code = (yyvsp[(2) -
> (2)].variable).set_code; break;
> -+            case TK_ACCESSCODE: (yyval.variable).access_code =
> (yyvsp[0].variable).access_code; break;
> -+            case TK_GETCODE: (yyval.variable).get_code =
> (yyvsp[0].variable).get_code; break;
> -+            case TK_SETCODE: (yyval.variable).set_code =
> (yyvsp[0].variable).set_code; break;
> -             }
> -         }
> -+#line 7824 "../parser.c"
> -     break;
> -
> --  case 547:
> --#line 4339 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 548: /* variable_body_directive: ifstart  */
> -+#line 4365 "parser.y"
> -+                                    {
> -             (yyval.variable).token = TK_IF;
> -         }
> -+#line 7832 "../parser.c"
> -     break;
> -
> --  case 548:
> --#line 4342 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 549: /* variable_body_directive: ifend  */
> -+#line 4368 "parser.y"
> -+              {
> -             (yyval.variable).token = TK_END;
> -         }
> -+#line 7840 "../parser.c"
> -     break;
> -
> --  case 549:
> --#line 4345 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 550: /* variable_body_directive: TK_ACCESSCODE codeblock  */
> -+#line 4371 "parser.y"
> -+                                {
> -             if (notSkipping())
> -             {
> -                 (yyval.variable).token = TK_ACCESSCODE;
> --                (yyval.variable).access_code = (yyvsp[(2) - (2)].codeb);
> -+                (yyval.variable).access_code = (yyvsp[0].codeb);
> -             }
> -             else
> -             {
> -@@ -7833,15 +7856,16 @@ yyreduce:
> -             (yyval.variable).get_code = NULL;
> -             (yyval.variable).set_code = NULL;
> -         }
> -+#line 7860 "../parser.c"
> -     break;
> -
> --  case 550:
> --#line 4360 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 551: /* variable_body_directive: TK_GETCODE codeblock  */
> -+#line 4386 "parser.y"
> -+                             {
> -             if (notSkipping())
> -             {
> -                 (yyval.variable).token = TK_GETCODE;
> --                (yyval.variable).get_code = (yyvsp[(2) - (2)].codeb);
> -+                (yyval.variable).get_code = (yyvsp[0].codeb);
> -             }
> -             else
> -             {
> -@@ -7852,15 +7876,16 @@ yyreduce:
> -             (yyval.variable).access_code = NULL;
> -             (yyval.variable).set_code = NULL;
> -         }
> -+#line 7880 "../parser.c"
> -     break;
> -
> --  case 551:
> --#line 4375 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 552: /* variable_body_directive: TK_SETCODE codeblock  */
> -+#line 4401 "parser.y"
> -+                             {
> -             if (notSkipping())
> -             {
> -                 (yyval.variable).token = TK_SETCODE;
> --                (yyval.variable).set_code = (yyvsp[(2) - (2)].codeb);
> -+                (yyval.variable).set_code = (yyvsp[0].codeb);
> -             }
> -             else
> -             {
> -@@ -7871,36 +7896,39 @@ yyreduce:
> -             (yyval.variable).access_code = NULL;
> -             (yyval.variable).get_code = NULL;
> -         }
> -+#line 7900 "../parser.c"
> -     break;
> -
> --  case 552:
> --#line 4392 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.memArg) = (yyvsp[(2) - (4)].memArg);
> --            add_derefs(&(yyval.memArg), &(yyvsp[(3) - (4)].memArg));
> --            (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[(4) -
> (4)].number);
> -+  case 553: /* cpptype: TK_CONST basetype deref optref  */
> -+#line 4418 "parser.y"
> -+                                           {
> -+            (yyval.memArg) = (yyvsp[-2].memArg);
> -+            add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
> -+            (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[0].number);
> -         }
> -+#line 7910 "../parser.c"
> -     break;
> -
> --  case 553:
> --#line 4397 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
> --            add_derefs(&(yyval.memArg), &(yyvsp[(2) - (3)].memArg));
> --            (yyval.memArg).argflags |= (yyvsp[(3) - (3)].number);
> -+  case 554: /* cpptype: basetype deref optref  */
> -+#line 4423 "parser.y"
> -+                              {
> -+            (yyval.memArg) = (yyvsp[-2].memArg);
> -+            add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
> -+            (yyval.memArg).argflags |= (yyvsp[0].number);
> -
> -             /* PyObject * is a synonym for SIP_PYOBJECT. */
> --            if ((yyvsp[(1) - (3)].memArg).atype == defined_type &&
> strcmp((yyvsp[(1) - (3)].memArg).u.snd->name, "PyObject") == 0 &&
> (yyvsp[(1) - (3)].memArg).u.snd->next == NULL && (yyvsp[(2) -
> (3)].memArg).nrderefs == 1 && (yyvsp[(3) - (3)].number) == 0)
> -+            if ((yyvsp[-2].memArg).atype == defined_type &&
> strcmp((yyvsp[-2].memArg).u.snd->name, "PyObject") == 0 &&
> (yyvsp[-2].memArg).u.snd->next == NULL && (yyvsp[-1].memArg).nrderefs == 1
> && (yyvsp[0].number) == 0)
> -             {
> -                 (yyval.memArg).atype = pyobject_type;
> -                 (yyval.memArg).nrderefs = 0;
> -             }
> -         }
> -+#line 7927 "../parser.c"
> -     break;
> -
> --  case 554:
> --#line 4411 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 555: /* argtype: cpptype optname optflags  */
> -+#line 4437 "parser.y"
> -+                                     {
> -             const char *annos[] = {
> -                 "AllowNone",
> -                 "Array",
> -@@ -7930,54 +7958,54 @@ yyreduce:
> -
> -             optFlag *of;
> -
> --            checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> -+            checkAnnos(&(yyvsp[0].optflags), annos);
> -
> --            (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
> --            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) -
> (3)].text));
> -+            (yyval.memArg) = (yyvsp[-2].memArg);
> -+            (yyval.memArg).name = cacheName(currentSpec,
> (yyvsp[-1].text));
> -
> --            handleKeepReference(&(yyvsp[(3) - (3)].optflags),
> &(yyval.memArg), currentModule);
> -+            handleKeepReference(&(yyvsp[0].optflags), &(yyval.memArg),
> currentModule);
> -
> --            if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags),
> "ScopesStripped", opt_integer_flag)) != NULL)
> -+            if ((of = getOptFlag(&(yyvsp[0].optflags), "ScopesStripped",
> opt_integer_flag)) != NULL)
> -                 if (((yyval.memArg).scopes_stripped = of->fvalue.ival)
> <= 0)
> -                     yyerror("/ScopesStripped/ must be greater than 0");
> -
> --            if (getAllowNone(&(yyvsp[(3) - (3)].optflags)))
> -+            if (getAllowNone(&(yyvsp[0].optflags)))
> -                 (yyval.memArg).argflags |= ARG_ALLOW_NONE;
> -
> --            if (getDisallowNone(&(yyvsp[(3) - (3)].optflags)))
> -+            if (getDisallowNone(&(yyvsp[0].optflags)))
> -                 (yyval.memArg).argflags |= ARG_DISALLOW_NONE;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"GetWrapper",bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"GetWrapper",bool_flag)
> != NULL)
> -                 (yyval.memArg).argflags |= ARG_GET_WRAPPER;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"Array",bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"Array",bool_flag) !=
> NULL)
> -                 (yyval.memArg).argflags |= ARG_ARRAY;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"ArraySize",bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"ArraySize",bool_flag)
> != NULL)
> -                 (yyval.memArg).argflags |= ARG_ARRAY_SIZE;
> -
> --            if (getTransfer(&(yyvsp[(3) - (3)].optflags)))
> -+            if (getTransfer(&(yyvsp[0].optflags)))
> -                 (yyval.memArg).argflags |= ARG_XFERRED;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"TransferThis",bool_flag) != NULL)
> -+            if
> (getOptFlag(&(yyvsp[0].optflags),"TransferThis",bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_THIS_XFERRED;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"TransferBack",bool_flag) != NULL)
> -+            if
> (getOptFlag(&(yyvsp[0].optflags),"TransferBack",bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_XFERRED_BACK;
> -
> --            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"In",bool_flag)
> != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"In",bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_IN;
> -
> --            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Out",bool_flag)
> != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"Out",bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_OUT;
> -
> --            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "ResultSize",
> bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags), "ResultSize",
> bool_flag) != NULL)
> -                 (yyval.memArg).argflags |= ARG_RESULT_SIZE;
> -
> --            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "NoCopy",
> bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags), "NoCopy", bool_flag) !=
> NULL)
> -                 (yyval.memArg).argflags |= ARG_NO_COPY;
> -
> --            if (getOptFlag(&(yyvsp[(3) -
> (3)].optflags),"Constrained",bool_flag) != NULL)
> -+            if (getOptFlag(&(yyvsp[0].optflags),"Constrained",bool_flag)
> != NULL)
> -             {
> -                 (yyval.memArg).argflags |= ARG_CONSTRAINED;
> -
> -@@ -8005,499 +8033,518 @@ yyreduce:
> -                 }
> -             }
> -
> --            applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[(3) -
> (3)].optflags));
> --            (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[(3)
> - (3)].optflags));
> -+            applyTypeFlags(currentModule, &(yyval.memArg),
> &(yyvsp[0].optflags));
> -+            (yyval.memArg).typehint_value =
> getTypeHintValue(&(yyvsp[0].optflags));
> -         }
> -+#line 8040 "../parser.c"
> -     break;
> -
> --  case 555:
> --#line 4521 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 556: /* optref: %empty  */
> -+#line 4547 "parser.y"
> -+        {
> -             (yyval.number) = 0;
> -         }
> -+#line 8048 "../parser.c"
> -     break;
> -
> --  case 556:
> --#line 4524 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 557: /* optref: '&'  */
> -+#line 4550 "parser.y"
> -+            {
> -             if (currentSpec -> genc)
> -                 yyerror("References not allowed in a C module");
> -
> -             (yyval.number) = ARG_IS_REF;
> -         }
> -+#line 8059 "../parser.c"
> -     break;
> -
> --  case 557:
> --#line 4532 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 558: /* deref: %empty  */
> -+#line 4558 "parser.y"
> -+        {
> -             (yyval.memArg).nrderefs = 0;
> -         }
> -+#line 8067 "../parser.c"
> -     break;
> -
> --  case 558:
> --#line 4535 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (3)].memArg),
> TRUE);
> -+  case 559: /* deref: deref '*' TK_CONST  */
> -+#line 4561 "parser.y"
> -+                           {
> -+            add_new_deref(&(yyval.memArg), &(yyvsp[-2].memArg), TRUE);
> -         }
> -+#line 8075 "../parser.c"
> -     break;
> -
> --  case 559:
> --#line 4538 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> --            add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (2)].memArg),
> FALSE);
> -+  case 560: /* deref: deref '*'  */
> -+#line 4564 "parser.y"
> -+                  {
> -+            add_new_deref(&(yyval.memArg), &(yyvsp[-1].memArg), FALSE);
> -         }
> -+#line 8083 "../parser.c"
> -     break;
> -
> --  case 560:
> --#line 4543 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 561: /* basetype: scopedname  */
> -+#line 4569 "parser.y"
> -+                       {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = defined_type;
> --            (yyval.memArg).u.snd = (yyvsp[(1) - (1)].scpvalp);
> -+            (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
> -
> -             /* Try and resolve typedefs as early as possible. */
> -             resolveAnyTypedef(currentSpec, &(yyval.memArg));
> -         }
> -+#line 8096 "../parser.c"
> -     break;
> -
> --  case 561:
> --#line 4551 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 562: /* basetype: scopedname '<' cpptypelist '>'  */
> -+#line 4577 "parser.y"
> -+                                       {
> -             templateDef *td;
> -
> -             td = sipMalloc(sizeof(templateDef));
> --            td->fqname = (yyvsp[(1) - (4)].scpvalp);
> --            td->types = (yyvsp[(3) - (4)].signature);
> -+            td->fqname = (yyvsp[-3].scpvalp);
> -+            td->types = (yyvsp[-1].signature);
> -
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = template_type;
> -             (yyval.memArg).u.td = td;
> -         }
> -+#line 8112 "../parser.c"
> -     break;
> -
> --  case 562:
> --#line 4562 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 563: /* basetype: TK_STRUCT scopedname  */
> -+#line 4588 "parser.y"
> -+                             {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -
> -             /* In a C module all structures must be defined. */
> -             if (currentSpec -> genc)
> -             {
> -                 (yyval.memArg).atype = defined_type;
> --                (yyval.memArg).u.snd = (yyvsp[(2) - (2)].scpvalp);
> -+                (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
> -             }
> -             else
> -             {
> -                 (yyval.memArg).atype = struct_type;
> --                (yyval.memArg).u.sname = (yyvsp[(2) - (2)].scpvalp);
> -+                (yyval.memArg).u.sname = (yyvsp[0].scpvalp);
> -             }
> -         }
> -+#line 8132 "../parser.c"
> -     break;
> -
> --  case 563:
> --#line 4577 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 564: /* basetype: TK_UNSIGNED TK_SHORT  */
> -+#line 4603 "parser.y"
> -+                             {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ushort_type;
> -         }
> -+#line 8141 "../parser.c"
> -     break;
> -
> --  case 564:
> --#line 4581 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 565: /* basetype: TK_SHORT  */
> -+#line 4607 "parser.y"
> -+                 {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = short_type;
> -         }
> -+#line 8150 "../parser.c"
> -     break;
> -
> --  case 565:
> --#line 4585 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 566: /* basetype: TK_UNSIGNED  */
> -+#line 4611 "parser.y"
> -+                    {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = uint_type;
> -         }
> -+#line 8159 "../parser.c"
> -     break;
> -
> --  case 566:
> --#line 4589 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 567: /* basetype: TK_UNSIGNED TK_INT  */
> -+#line 4615 "parser.y"
> -+                           {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = uint_type;
> -         }
> -+#line 8168 "../parser.c"
> -     break;
> -
> --  case 567:
> --#line 4593 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 568: /* basetype: TK_INT  */
> -+#line 4619 "parser.y"
> -+               {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = int_type;
> -         }
> -+#line 8177 "../parser.c"
> -     break;
> -
> --  case 568:
> --#line 4597 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 569: /* basetype: TK_LONG  */
> -+#line 4623 "parser.y"
> -+                {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = long_type;
> -         }
> -+#line 8186 "../parser.c"
> -     break;
> -
> --  case 569:
> --#line 4601 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 570: /* basetype: TK_UNSIGNED TK_LONG  */
> -+#line 4627 "parser.y"
> -+                            {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ulong_type;
> -         }
> -+#line 8195 "../parser.c"
> -     break;
> -
> --  case 570:
> --#line 4605 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 571: /* basetype: TK_LONG TK_LONG  */
> -+#line 4631 "parser.y"
> -+                        {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = longlong_type;
> -         }
> -+#line 8204 "../parser.c"
> -     break;
> -
> --  case 571:
> --#line 4609 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 572: /* basetype: TK_UNSIGNED TK_LONG TK_LONG  */
> -+#line 4635 "parser.y"
> -+                                    {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ulonglong_type;
> -         }
> -+#line 8213 "../parser.c"
> -     break;
> -
> --  case 572:
> --#line 4613 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 573: /* basetype: TK_FLOAT  */
> -+#line 4639 "parser.y"
> -+                 {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = float_type;
> -         }
> -+#line 8222 "../parser.c"
> -     break;
> -
> --  case 573:
> --#line 4617 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 574: /* basetype: TK_DOUBLE  */
> -+#line 4643 "parser.y"
> -+                  {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = double_type;
> -         }
> -+#line 8231 "../parser.c"
> -     break;
> -
> --  case 574:
> --#line 4621 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 575: /* basetype: TK_BOOL  */
> -+#line 4647 "parser.y"
> -+                {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = bool_type;
> -         }
> -+#line 8240 "../parser.c"
> -     break;
> -
> --  case 575:
> --#line 4625 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 576: /* basetype: TK_SIGNED TK_CHAR  */
> -+#line 4651 "parser.y"
> -+                          {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = sstring_type;
> -         }
> -+#line 8249 "../parser.c"
> -     break;
> -
> --  case 576:
> --#line 4629 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 577: /* basetype: TK_UNSIGNED TK_CHAR  */
> -+#line 4655 "parser.y"
> -+                            {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ustring_type;
> -         }
> -+#line 8258 "../parser.c"
> -     break;
> -
> --  case 577:
> --#line 4633 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 578: /* basetype: TK_CHAR  */
> -+#line 4659 "parser.y"
> -+                {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = string_type;
> -         }
> -+#line 8267 "../parser.c"
> -     break;
> -
> --  case 578:
> --#line 4637 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 579: /* basetype: TK_WCHAR_T  */
> -+#line 4663 "parser.y"
> -+                   {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = wstring_type;
> -         }
> -+#line 8276 "../parser.c"
> -     break;
> -
> --  case 579:
> --#line 4641 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 580: /* basetype: TK_VOID  */
> -+#line 4667 "parser.y"
> -+                {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = void_type;
> -         }
> -+#line 8285 "../parser.c"
> -     break;
> -
> --  case 580:
> --#line 4645 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 581: /* basetype: TK_PYOBJECT  */
> -+#line 4671 "parser.y"
> -+                    {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pyobject_type;
> -         }
> -+#line 8294 "../parser.c"
> -     break;
> -
> --  case 581:
> --#line 4649 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 582: /* basetype: TK_PYTUPLE  */
> -+#line 4675 "parser.y"
> -+                   {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pytuple_type;
> -         }
> -+#line 8303 "../parser.c"
> -     break;
> -
> --  case 582:
> --#line 4653 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 583: /* basetype: TK_PYLIST  */
> -+#line 4679 "parser.y"
> -+                  {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pylist_type;
> -         }
> -+#line 8312 "../parser.c"
> -     break;
> -
> --  case 583:
> --#line 4657 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 584: /* basetype: TK_PYDICT  */
> -+#line 4683 "parser.y"
> -+                  {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pydict_type;
> -         }
> -+#line 8321 "../parser.c"
> -     break;
> -
> --  case 584:
> --#line 4661 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 585: /* basetype: TK_PYCALLABLE  */
> -+#line 4687 "parser.y"
> -+                      {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pycallable_type;
> -         }
> -+#line 8330 "../parser.c"
> -     break;
> -
> --  case 585:
> --#line 4665 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 586: /* basetype: TK_PYSLICE  */
> -+#line 4691 "parser.y"
> -+                   {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pyslice_type;
> -         }
> -+#line 8339 "../parser.c"
> -     break;
> -
> --  case 586:
> --#line 4669 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 587: /* basetype: TK_PYTYPE  */
> -+#line 4695 "parser.y"
> -+                  {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pytype_type;
> -         }
> -+#line 8348 "../parser.c"
> -     break;
> -
> --  case 587:
> --#line 4673 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 588: /* basetype: TK_PYBUFFER  */
> -+#line 4699 "parser.y"
> -+                    {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = pybuffer_type;
> -         }
> -+#line 8357 "../parser.c"
> -     break;
> -
> --  case 588:
> --#line 4677 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 589: /* basetype: TK_SIPSSIZET  */
> -+#line 4703 "parser.y"
> -+                     {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ssize_type;
> -         }
> -+#line 8366 "../parser.c"
> -     break;
> -
> --  case 589:
> --#line 4681 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 590: /* basetype: TK_SIZET  */
> -+#line 4707 "parser.y"
> -+                 {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = size_type;
> -         }
> -+#line 8375 "../parser.c"
> -     break;
> -
> --  case 590:
> --#line 4685 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 591: /* basetype: TK_ELLIPSIS  */
> -+#line 4711 "parser.y"
> -+                    {
> -             memset(&(yyval.memArg), 0, sizeof (argDef));
> -             (yyval.memArg).atype = ellipsis_type;
> -         }
> -+#line 8384 "../parser.c"
> -     break;
> -
> --  case 591:
> --#line 4691 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 592: /* cpptypelist: cpptype  */
> -+#line 4717 "parser.y"
> -+                        {
> -             /* The single or first type. */
> -
> --            (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
> -+            (yyval.signature).args[0] = (yyvsp[0].memArg);
> -             (yyval.signature).nrArgs = 1;
> -         }
> -+#line 8395 "../parser.c"
> -     break;
> -
> --  case 592:
> --#line 4697 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 593: /* cpptypelist: cpptypelist ',' cpptype  */
> -+#line 4723 "parser.y"
> -+                                {
> -             /* Check there is nothing after an ellipsis. */
> --            if ((yyvsp[(1) - (3)].signature).args[(yyvsp[(1) -
> (3)].signature).nrArgs - 1].atype == ellipsis_type)
> -+            if ((yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs
> - 1].atype == ellipsis_type)
> -                 yyerror("An ellipsis must be at the end of the argument
> list");
> -
> -             /* Check there is room. */
> --            if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> -+            if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> -                 yyerror("Internal error - increase the value of
> MAX_NR_ARGS");
> -
> --            (yyval.signature) = (yyvsp[(1) - (3)].signature);
> -+            (yyval.signature) = (yyvsp[-2].signature);
> -
> --            (yyval.signature).args[(yyval.signature).nrArgs] =
> (yyvsp[(3) - (3)].memArg);
> -+            (yyval.signature).args[(yyval.signature).nrArgs] =
> (yyvsp[0].memArg);
> -             (yyval.signature).nrArgs++;
> -         }
> -+#line 8414 "../parser.c"
> -     break;
> -
> --  case 593:
> --#line 4713 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 594: /* optexceptions: %empty  */
> -+#line 4739 "parser.y"
> -+                {
> -             (yyval.throwlist) = NULL;
> -         }
> -+#line 8422 "../parser.c"
> -     break;
> -
> --  case 594:
> --#line 4716 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 595: /* optexceptions: TK_THROW '(' exceptionlist ')'  */
> -+#line 4742 "parser.y"
> -+                                       {
> -             if (currentSpec->genc)
> -                 yyerror("Exceptions not allowed in a C module");
> -
> --            (yyval.throwlist) = (yyvsp[(3) - (4)].throwlist);
> -+            (yyval.throwlist) = (yyvsp[-1].throwlist);
> -         }
> -+#line 8433 "../parser.c"
> -     break;
> -
> --  case 595:
> --#line 4724 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 596: /* exceptionlist: %empty  */
> -+#line 4750 "parser.y"
> -+                {
> -             /* Empty list so use a blank. */
> -
> -             (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
> -             (yyval.throwlist) -> nrArgs = 0;
> -         }
> -+#line 8444 "../parser.c"
> -     break;
> -
> --  case 596:
> --#line 4730 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 597: /* exceptionlist: scopedname  */
> -+#line 4756 "parser.y"
> -+                   {
> -             /* The only or first exception. */
> -
> -             (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
> -             (yyval.throwlist) -> nrArgs = 1;
> --            (yyval.throwlist) -> args[0] = findException(currentSpec,
> (yyvsp[(1) - (1)].scpvalp), FALSE);
> -+            (yyval.throwlist) -> args[0] = findException(currentSpec,
> (yyvsp[0].scpvalp), FALSE);
> -         }
> -+#line 8456 "../parser.c"
> -     break;
> -
> --  case 597:
> --#line 4737 "sip-4.19.23/sipgen/metasrc/parser.y"
> --    {
> -+  case 598: /* exceptionlist: exceptionlist ',' scopedname  */
> -+#line 4763 "parser.y"
> -+                                     {
> -             /* Check that it wasn't ...(,arg...). */
> -
> --            if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == 0)
> -+            if ((yyvsp[-2].throwlist) -> nrArgs == 0)
> -                 yyerror("First exception of throw specifier is missing");
> -
> -             /* Check there is room. */
> -
> --            if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == MAX_NR_ARGS)
> -+            if ((yyvsp[-2].throwlist) -> nrArgs == MAX_NR_ARGS)
> -                 yyerror("Internal error - increase the value of
> MAX_NR_ARGS");
> -
> --            (yyval.throwlist) = (yyvsp[(1) - (3)].throwlist);
> --            (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] =
> findException(currentSpec, (yyvsp[(3) - (3)].scpvalp), FALSE);
> -+            (yyval.throwlist) = (yyvsp[-2].throwlist);
> -+            (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] =
> findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
> -         }
> -+#line 8475 "../parser.c"
> -     break;
> -
> -
> --/* Line 1267 of yacc.c.  */
> --#line 8408 "sip-4.19.23/sipgen/parser.c"
> -+#line 8479 "../parser.c"
> -+
> -       default: break;
> -     }
> --  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
> -+  /* User semantic actions sometimes alter yychar, and that requires
> -+     that yytoken be updated with the new translation.  We take the
> -+     approach of translating immediately before every use of yytoken.
> -+     One alternative is translating here after every semantic action,
> -+     but that translation would be missed if the semantic action invokes
> -+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
> -+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
> -+     incorrect destructor might then be invoked immediately.  In the
> -+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
> -+     to an incorrect destructor call or verbose syntax error message
> -+     before the lookahead is translated.  */
> -+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]),
> &yyval, &yyloc);
> -
> -   YYPOPSTACK (yylen);
> -   yylen = 0;
> --  YY_STACK_PRINT (yyss, yyssp);
> -
> -   *++yyvsp = yyval;
> -
> --
> --  /* Now `shift' the result of the reduction.  Determine what state
> -+  /* Now 'shift' the result of the reduction.  Determine what state
> -      that goes to, based on the state we popped back to and the rule
> -      number reduced by.  */
> --
> --  yyn = yyr1[yyn];
> --
> --  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
> --  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
> --    yystate = yytable[yystate];
> --  else
> --    yystate = yydefgoto[yyn - YYNTOKENS];
> -+  {
> -+    const int yylhs = yyr1[yyn] - YYNTOKENS;
> -+    const int yyi = yypgoto[yylhs] + *yyssp;
> -+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
> -+               ? yytable[yyi]
> -+               : yydefgoto[yylhs]);
> -+  }
> -
> -   goto yynewstate;
> -
> -
> --/*------------------------------------.
> --| yyerrlab -- here on detecting error |
> --`------------------------------------*/
> -+/*--------------------------------------.
> -+| yyerrlab -- here on detecting error.  |
> -+`--------------------------------------*/
> - yyerrlab:
> -+  /* Make sure we have latest lookahead translation.  See comments at
> -+     user semantic actions for why this is necessary.  */
> -+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
> -   /* If not already recovering from an error, report this error.  */
> -   if (!yyerrstatus)
> -     {
> -       ++yynerrs;
> --#if ! YYERROR_VERBOSE
> -       yyerror (YY_("syntax error"));
> --#else
> --      {
> --      YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
> --      if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
> --        {
> --          YYSIZE_T yyalloc = 2 * yysize;
> --          if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
> --            yyalloc = YYSTACK_ALLOC_MAXIMUM;
> --          if (yymsg != yymsgbuf)
> --            YYSTACK_FREE (yymsg);
> --          yymsg = (char *) YYSTACK_ALLOC (yyalloc);
> --          if (yymsg)
> --            yymsg_alloc = yyalloc;
> --          else
> --            {
> --              yymsg = yymsgbuf;
> --              yymsg_alloc = sizeof yymsgbuf;
> --            }
> --        }
> --
> --      if (0 < yysize && yysize <= yymsg_alloc)
> --        {
> --          (void) yysyntax_error (yymsg, yystate, yychar);
> --          yyerror (yymsg);
> --        }
> --      else
> --        {
> --          yyerror (YY_("syntax error"));
> --          if (yysize != 0)
> --            goto yyexhaustedlab;
> --        }
> --      }
> --#endif
> -     }
> -
> --
> --
> -   if (yyerrstatus == 3)
> -     {
> --      /* If just tried and failed to reuse look-ahead token after an
> --       error, discard it.  */
> -+      /* If just tried and failed to reuse lookahead token after an
> -+         error, discard it.  */
> -
> -       if (yychar <= YYEOF)
> --      {
> --        /* Return failure if at end of input.  */
> --        if (yychar == YYEOF)
> --          YYABORT;
> --      }
> -+        {
> -+          /* Return failure if at end of input.  */
> -+          if (yychar == YYEOF)
> -+            YYABORT;
> -+        }
> -       else
> --      {
> --        yydestruct ("Error: discarding",
> --                    yytoken, &yylval);
> --        yychar = YYEMPTY;
> --      }
> -+        {
> -+          yydestruct ("Error: discarding",
> -+                      yytoken, &yylval);
> -+          yychar = YYEMPTY;
> -+        }
> -     }
> -
> --  /* Else will try to reuse look-ahead token after shifting the error
> -+  /* Else will try to reuse lookahead token after shifting the error
> -      token.  */
> -   goto yyerrlab1;
> -
> -@@ -8506,14 +8553,13 @@ yyerrlab:
> - | yyerrorlab -- error raised explicitly by YYERROR.  |
> - `---------------------------------------------------*/
> - yyerrorlab:
> -+  /* Pacify compilers when the user code never invokes YYERROR and the
> -+     label yyerrorlab therefore never appears in user code.  */
> -+  if (0)
> -+    YYERROR;
> -+  ++yynerrs;
> -
> --  /* Pacify compilers like GCC when the user code never invokes
> --     YYERROR and the label yyerrorlab therefore never appears in user
> --     code.  */
> --  if (/*CONSTCOND*/ 0)
> --     goto yyerrorlab;
> --
> --  /* Do not reclaim the symbols of the rule which action triggered
> -+  /* Do not reclaim the symbols of the rule whose action triggered
> -      this YYERROR.  */
> -   YYPOPSTACK (yylen);
> -   yylen = 0;
> -@@ -8526,42 +8572,42 @@ yyerrorlab:
> - | yyerrlab1 -- common code for both syntax error and YYERROR.  |
> - `-------------------------------------------------------------*/
> - yyerrlab1:
> --  yyerrstatus = 3;    /* Each real token shifted decrements this.  */
> -+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
> -
> -+  /* Pop stack until we find a state that shifts the error token.  */
> -   for (;;)
> -     {
> -       yyn = yypact[yystate];
> --      if (yyn != YYPACT_NINF)
> --      {
> --        yyn += YYTERROR;
> --        if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
> --          {
> --            yyn = yytable[yyn];
> --            if (0 < yyn)
> --              break;
> --          }
> --      }
> -+      if (!yypact_value_is_default (yyn))
> -+        {
> -+          yyn += YYSYMBOL_YYerror;
> -+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] ==
> YYSYMBOL_YYerror)
> -+            {
> -+              yyn = yytable[yyn];
> -+              if (0 < yyn)
> -+                break;
> -+            }
> -+        }
> -
> -       /* Pop the current state because it cannot handle the error
> token.  */
> -       if (yyssp == yyss)
> --      YYABORT;
> -+        YYABORT;
> -
> -
> -       yydestruct ("Error: popping",
> --                yystos[yystate], yyvsp);
> -+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
> -       YYPOPSTACK (1);
> -       yystate = *yyssp;
> -       YY_STACK_PRINT (yyss, yyssp);
> -     }
> -
> --  if (yyn == YYFINAL)
> --    YYACCEPT;
> --
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> -   *++yyvsp = yylval;
> -+  YY_IGNORE_MAYBE_UNINITIALIZED_END
> -
> -
> -   /* Shift the error token.  */
> --  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
> -+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
> -
> -   yystate = yyn;
> -   goto yynewstate;
> -@@ -8572,53 +8618,57 @@ yyerrlab1:
> - `-------------------------------------*/
> - yyacceptlab:
> -   yyresult = 0;
> --  goto yyreturn;
> -+  goto yyreturnlab;
> -+
> -
> - /*-----------------------------------.
> - | yyabortlab -- YYABORT comes here.  |
> - `-----------------------------------*/
> - yyabortlab:
> -   yyresult = 1;
> --  goto yyreturn;
> -+  goto yyreturnlab;
> -
> --#ifndef yyoverflow
> --/*-------------------------------------------------.
> --| yyexhaustedlab -- memory exhaustion comes here.  |
> --`-------------------------------------------------*/
> -+
> -+/*-----------------------------------------------------------.
> -+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
> -+`-----------------------------------------------------------*/
> - yyexhaustedlab:
> -   yyerror (YY_("memory exhausted"));
> -   yyresult = 2;
> --  /* Fall through.  */
> --#endif
> -+  goto yyreturnlab;
> -+
> -
> --yyreturn:
> --  if (yychar != YYEOF && yychar != YYEMPTY)
> --     yydestruct ("Cleanup: discarding lookahead",
> --               yytoken, &yylval);
> --  /* Do not reclaim the symbols of the rule which action triggered
> -+/*----------------------------------------------------------.
> -+| yyreturnlab -- parsing is finished, clean up and return.  |
> -+`----------------------------------------------------------*/
> -+yyreturnlab:
> -+  if (yychar != YYEMPTY)
> -+    {
> -+      /* Make sure we have latest lookahead translation.  See comments at
> -+         user semantic actions for why this is necessary.  */
> -+      yytoken = YYTRANSLATE (yychar);
> -+      yydestruct ("Cleanup: discarding lookahead",
> -+                  yytoken, &yylval);
> -+    }
> -+  /* Do not reclaim the symbols of the rule whose action triggered
> -      this YYABORT or YYACCEPT.  */
> -   YYPOPSTACK (yylen);
> -   YY_STACK_PRINT (yyss, yyssp);
> -   while (yyssp != yyss)
> -     {
> -       yydestruct ("Cleanup: popping",
> --                yystos[*yyssp], yyvsp);
> -+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
> -       YYPOPSTACK (1);
> -     }
> - #ifndef yyoverflow
> -   if (yyss != yyssa)
> -     YYSTACK_FREE (yyss);
> - #endif
> --#if YYERROR_VERBOSE
> --  if (yymsg != yymsgbuf)
> --    YYSTACK_FREE (yymsg);
> --#endif
> --  /* Make sure YYID is used.  */
> --  return YYID (yyresult);
> --}
> -
> -+  return yyresult;
> -+}
> -
> --#line 4753 "sip-4.19.23/sipgen/metasrc/parser.y"
> -+#line 4779 "parser.y"
> -
> -
> -
> -@@ -13382,9 +13432,9 @@ static void addProperty(sipSpec *pt, mod
> -  */
> - static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> -         const char *filename, const char *name, int c_module, KwArgs
> kwargs,
> --        int use_arg_names, int use_limited_api, int call_super_init,
> --        int all_raise_py_exc, const char *def_error_handler,
> --        docstringDef *docstring)
> -+        int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> -+        int call_super_init, int all_raise_py_exc,
> -+        const char *def_error_handler, docstringDef *docstring)
> - {
> -     moduleDef *mod;
> -
> -@@ -13418,6 +13468,9 @@ static moduleDef *configureModule(sipSpe
> -     if (use_arg_names)
> -         setUseArgNames(module);
> -
> -+    if (py_ssize_t_clean)
> -+        setPY_SSIZE_T_CLEAN(module);
> -+
> -     if (use_limited_api)
> -         setUseLimitedAPI(module);
> -
> -@@ -13597,4 +13650,3 @@ static void checkEllipsis(signatureDef *
> -         if (sd->args[a].atype == ellipsis_type && a < sd->nrArgs - 1)
> -             yyerror("An ellipsis must be at the end of the argument list
> if /NoArgParser/ is not specified");
> - }
> --
> -Index: sip-4.19.23/sipgen/parser.h
> -===================================================================
> ---- sip-4.19.23.orig/sipgen/parser.h
> -+++ sip-4.19.23/sipgen/parser.h
> -@@ -1,14 +1,14 @@
> --/* A Bison parser, made by GNU Bison 2.3.  */
> -+/* A Bison parser, made by GNU Bison 3.8.2.  */
> -
> --/* Skeleton interface for Bison's Yacc-like parsers in C
> -+/* Bison interface for Yacc-like parsers in C
> -
> --   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005,
> 2006
> --   Free Software Foundation, Inc.
> -+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software
> Foundation,
> -+   Inc.
> -
> --   This program is free software; you can redistribute it and/or modify
> -+   This program is free software: you can redistribute it and/or modify
> -    it under the terms of the GNU General Public License as published by
> --   the Free Software Foundation; either version 2, or (at your option)
> --   any later version.
> -+   the Free Software Foundation, either version 3 of the License, or
> -+   (at your option) any later version.
> -
> -    This program is distributed in the hope that it will be useful,
> -    but WITHOUT ANY WARRANTY; without even the implied warranty of
> -@@ -16,9 +16,7 @@
> -    GNU General Public License for more details.
> -
> -    You should have received a copy of the GNU General Public License
> --   along with this program; if not, write to the Free Software
> --   Foundation, Inc., 51 Franklin Street, Fifth Floor,
> --   Boston, MA 02110-1301, USA.  */
> -+   along with this program.  If not, see <https://www.gnu.org/licenses/>.
> */
> -
> - /* As a special exception, you may create a larger work that contains
> -    part or all of the Bison parser skeleton and distribute that work
> -@@ -33,164 +31,187 @@
> -    This special exception was added by the Free Software Foundation in
> -    version 2.2 of Bison.  */
> -
> --/* Tokens.  */
> -+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
> -+   especially those whose name start with YY_ or yy_.  They are
> -+   private implementation details that can be changed or removed.  */
> -+
> -+#ifndef YY_YY_PARSER_H_INCLUDED
> -+# define YY_YY_PARSER_H_INCLUDED
> -+/* Debug traces.  */
> -+#ifndef YYDEBUG
> -+# define YYDEBUG 0
> -+#endif
> -+#if YYDEBUG
> -+extern int yydebug;
> -+#endif
> -+
> -+/* Token kinds.  */
> - #ifndef YYTOKENTYPE
> - # define YYTOKENTYPE
> --   /* Put the tokens into the symbol table, so that GDB and other
> debuggers
> --      know about them.  */
> --   enum yytokentype {
> --     TK_API = 258,
> --     TK_AUTOPYNAME = 259,
> --     TK_DEFDOCSTRFMT = 260,
> --     TK_DEFDOCSTRSIG = 261,
> --     TK_DEFENCODING = 262,
> --     TK_PLUGIN = 263,
> --     TK_VIRTERRORHANDLER = 264,
> --     TK_EXPTYPEHINTCODE = 265,
> --     TK_TYPEHINTCODE = 266,
> --     TK_DOCSTRING = 267,
> --     TK_DOC = 268,
> --     TK_EXPORTEDDOC = 269,
> --     TK_EXTRACT = 270,
> --     TK_MAKEFILE = 271,
> --     TK_ACCESSCODE = 272,
> --     TK_GETCODE = 273,
> --     TK_SETCODE = 274,
> --     TK_PREINITCODE = 275,
> --     TK_INITCODE = 276,
> --     TK_POSTINITCODE = 277,
> --     TK_FINALCODE = 278,
> --     TK_UNITCODE = 279,
> --     TK_UNITPOSTINCLUDECODE = 280,
> --     TK_MODCODE = 281,
> --     TK_TYPECODE = 282,
> --     TK_PREPYCODE = 283,
> --     TK_COPYING = 284,
> --     TK_MAPPEDTYPE = 285,
> --     TK_CODELINE = 286,
> --     TK_IF = 287,
> --     TK_END = 288,
> --     TK_NAME_VALUE = 289,
> --     TK_PATH_VALUE = 290,
> --     TK_STRING_VALUE = 291,
> --     TK_VIRTUALCATCHERCODE = 292,
> --     TK_TRAVERSECODE = 293,
> --     TK_CLEARCODE = 294,
> --     TK_GETBUFFERCODE = 295,
> --     TK_RELEASEBUFFERCODE = 296,
> --     TK_READBUFFERCODE = 297,
> --     TK_WRITEBUFFERCODE = 298,
> --     TK_SEGCOUNTCODE = 299,
> --     TK_CHARBUFFERCODE = 300,
> --     TK_PICKLECODE = 301,
> --     TK_VIRTUALCALLCODE = 302,
> --     TK_METHODCODE = 303,
> --     TK_PREMETHODCODE = 304,
> --     TK_INSTANCECODE = 305,
> --     TK_FROMTYPE = 306,
> --     TK_TOTYPE = 307,
> --     TK_TOSUBCLASS = 308,
> --     TK_INCLUDE = 309,
> --     TK_OPTINCLUDE = 310,
> --     TK_IMPORT = 311,
> --     TK_EXPHEADERCODE = 312,
> --     TK_MODHEADERCODE = 313,
> --     TK_TYPEHEADERCODE = 314,
> --     TK_MODULE = 315,
> --     TK_CMODULE = 316,
> --     TK_CONSMODULE = 317,
> --     TK_COMPOMODULE = 318,
> --     TK_CLASS = 319,
> --     TK_STRUCT = 320,
> --     TK_PUBLIC = 321,
> --     TK_PROTECTED = 322,
> --     TK_PRIVATE = 323,
> --     TK_SIGNALS = 324,
> --     TK_SIGNAL_METHOD = 325,
> --     TK_SLOTS = 326,
> --     TK_SLOT_METHOD = 327,
> --     TK_BOOL = 328,
> --     TK_SHORT = 329,
> --     TK_INT = 330,
> --     TK_LONG = 331,
> --     TK_FLOAT = 332,
> --     TK_DOUBLE = 333,
> --     TK_CHAR = 334,
> --     TK_WCHAR_T = 335,
> --     TK_VOID = 336,
> --     TK_PYOBJECT = 337,
> --     TK_PYTUPLE = 338,
> --     TK_PYLIST = 339,
> --     TK_PYDICT = 340,
> --     TK_PYCALLABLE = 341,
> --     TK_PYSLICE = 342,
> --     TK_PYTYPE = 343,
> --     TK_PYBUFFER = 344,
> --     TK_VIRTUAL = 345,
> --     TK_ENUM = 346,
> --     TK_SIGNED = 347,
> --     TK_UNSIGNED = 348,
> --     TK_SCOPE = 349,
> --     TK_LOGICAL_OR = 350,
> --     TK_CONST = 351,
> --     TK_STATIC = 352,
> --     TK_SIPSIGNAL = 353,
> --     TK_SIPSLOT = 354,
> --     TK_SIPANYSLOT = 355,
> --     TK_SIPRXCON = 356,
> --     TK_SIPRXDIS = 357,
> --     TK_SIPSLOTCON = 358,
> --     TK_SIPSLOTDIS = 359,
> --     TK_SIPSSIZET = 360,
> --     TK_SIZET = 361,
> --     TK_NUMBER_VALUE = 362,
> --     TK_REAL_VALUE = 363,
> --     TK_TYPEDEF = 364,
> --     TK_NAMESPACE = 365,
> --     TK_TIMELINE = 366,
> --     TK_PLATFORMS = 367,
> --     TK_FEATURE = 368,
> --     TK_LICENSE = 369,
> --     TK_QCHAR_VALUE = 370,
> --     TK_TRUE_VALUE = 371,
> --     TK_FALSE_VALUE = 372,
> --     TK_NULL_VALUE = 373,
> --     TK_OPERATOR = 374,
> --     TK_THROW = 375,
> --     TK_QOBJECT = 376,
> --     TK_EXCEPTION = 377,
> --     TK_RAISECODE = 378,
> --     TK_EXPLICIT = 379,
> --     TK_TEMPLATE = 380,
> --     TK_FINAL = 381,
> --     TK_ELLIPSIS = 382,
> --     TK_DEFMETATYPE = 383,
> --     TK_DEFSUPERTYPE = 384,
> --     TK_PROPERTY = 385,
> --     TK_HIDE_NS = 386,
> --     TK_FORMAT = 387,
> --     TK_GET = 388,
> --     TK_ID = 389,
> --     TK_KWARGS = 390,
> --     TK_LANGUAGE = 391,
> --     TK_LICENSEE = 392,
> --     TK_NAME = 393,
> --     TK_OPTIONAL = 394,
> --     TK_ORDER = 395,
> --     TK_REMOVELEADING = 396,
> --     TK_SET = 397,
> --     TK_SIGNATURE = 398,
> --     TK_TIMESTAMP = 399,
> --     TK_TYPE = 400,
> --     TK_USEARGNAMES = 401,
> --     TK_USELIMITEDAPI = 402,
> --     TK_ALLRAISEPYEXC = 403,
> --     TK_CALLSUPERINIT = 404,
> --     TK_DEFERRORHANDLER = 405,
> --     TK_VERSION = 406
> --   };
> -+  enum yytokentype
> -+  {
> -+    YYEMPTY = -2,
> -+    YYEOF = 0,                     /* "end of file"  */
> -+    YYerror = 256,                 /* error  */
> -+    YYUNDEF = 257,                 /* "invalid token"  */
> -+    TK_API = 258,                  /* TK_API  */
> -+    TK_AUTOPYNAME = 259,           /* TK_AUTOPYNAME  */
> -+    TK_DEFDOCSTRFMT = 260,         /* TK_DEFDOCSTRFMT  */
> -+    TK_DEFDOCSTRSIG = 261,         /* TK_DEFDOCSTRSIG  */
> -+    TK_DEFENCODING = 262,          /* TK_DEFENCODING  */
> -+    TK_PLUGIN = 263,               /* TK_PLUGIN  */
> -+    TK_VIRTERRORHANDLER = 264,     /* TK_VIRTERRORHANDLER  */
> -+    TK_EXPTYPEHINTCODE = 265,      /* TK_EXPTYPEHINTCODE  */
> -+    TK_TYPEHINTCODE = 266,         /* TK_TYPEHINTCODE  */
> -+    TK_DOCSTRING = 267,            /* TK_DOCSTRING  */
> -+    TK_DOC = 268,                  /* TK_DOC  */
> -+    TK_EXPORTEDDOC = 269,          /* TK_EXPORTEDDOC  */
> -+    TK_EXTRACT = 270,              /* TK_EXTRACT  */
> -+    TK_MAKEFILE = 271,             /* TK_MAKEFILE  */
> -+    TK_ACCESSCODE = 272,           /* TK_ACCESSCODE  */
> -+    TK_GETCODE = 273,              /* TK_GETCODE  */
> -+    TK_SETCODE = 274,              /* TK_SETCODE  */
> -+    TK_PREINITCODE = 275,          /* TK_PREINITCODE  */
> -+    TK_INITCODE = 276,             /* TK_INITCODE  */
> -+    TK_POSTINITCODE = 277,         /* TK_POSTINITCODE  */
> -+    TK_FINALCODE = 278,            /* TK_FINALCODE  */
> -+    TK_UNITCODE = 279,             /* TK_UNITCODE  */
> -+    TK_UNITPOSTINCLUDECODE = 280,  /* TK_UNITPOSTINCLUDECODE  */
> -+    TK_MODCODE = 281,              /* TK_MODCODE  */
> -+    TK_TYPECODE = 282,             /* TK_TYPECODE  */
> -+    TK_PREPYCODE = 283,            /* TK_PREPYCODE  */
> -+    TK_COPYING = 284,              /* TK_COPYING  */
> -+    TK_MAPPEDTYPE = 285,           /* TK_MAPPEDTYPE  */
> -+    TK_CODELINE = 286,             /* TK_CODELINE  */
> -+    TK_IF = 287,                   /* TK_IF  */
> -+    TK_END = 288,                  /* TK_END  */
> -+    TK_NAME_VALUE = 289,           /* TK_NAME_VALUE  */
> -+    TK_PATH_VALUE = 290,           /* TK_PATH_VALUE  */
> -+    TK_STRING_VALUE = 291,         /* TK_STRING_VALUE  */
> -+    TK_VIRTUALCATCHERCODE = 292,   /* TK_VIRTUALCATCHERCODE  */
> -+    TK_TRAVERSECODE = 293,         /* TK_TRAVERSECODE  */
> -+    TK_CLEARCODE = 294,            /* TK_CLEARCODE  */
> -+    TK_GETBUFFERCODE = 295,        /* TK_GETBUFFERCODE  */
> -+    TK_RELEASEBUFFERCODE = 296,    /* TK_RELEASEBUFFERCODE  */
> -+    TK_READBUFFERCODE = 297,       /* TK_READBUFFERCODE  */
> -+    TK_WRITEBUFFERCODE = 298,      /* TK_WRITEBUFFERCODE  */
> -+    TK_SEGCOUNTCODE = 299,         /* TK_SEGCOUNTCODE  */
> -+    TK_CHARBUFFERCODE = 300,       /* TK_CHARBUFFERCODE  */
> -+    TK_PICKLECODE = 301,           /* TK_PICKLECODE  */
> -+    TK_VIRTUALCALLCODE = 302,      /* TK_VIRTUALCALLCODE  */
> -+    TK_METHODCODE = 303,           /* TK_METHODCODE  */
> -+    TK_PREMETHODCODE = 304,        /* TK_PREMETHODCODE  */
> -+    TK_INSTANCECODE = 305,         /* TK_INSTANCECODE  */
> -+    TK_FROMTYPE = 306,             /* TK_FROMTYPE  */
> -+    TK_TOTYPE = 307,               /* TK_TOTYPE  */
> -+    TK_TOSUBCLASS = 308,           /* TK_TOSUBCLASS  */
> -+    TK_INCLUDE = 309,              /* TK_INCLUDE  */
> -+    TK_OPTINCLUDE = 310,           /* TK_OPTINCLUDE  */
> -+    TK_IMPORT = 311,               /* TK_IMPORT  */
> -+    TK_EXPHEADERCODE = 312,        /* TK_EXPHEADERCODE  */
> -+    TK_MODHEADERCODE = 313,        /* TK_MODHEADERCODE  */
> -+    TK_TYPEHEADERCODE = 314,       /* TK_TYPEHEADERCODE  */
> -+    TK_MODULE = 315,               /* TK_MODULE  */
> -+    TK_CMODULE = 316,              /* TK_CMODULE  */
> -+    TK_CONSMODULE = 317,           /* TK_CONSMODULE  */
> -+    TK_COMPOMODULE = 318,          /* TK_COMPOMODULE  */
> -+    TK_CLASS = 319,                /* TK_CLASS  */
> -+    TK_STRUCT = 320,               /* TK_STRUCT  */
> -+    TK_PUBLIC = 321,               /* TK_PUBLIC  */
> -+    TK_PROTECTED = 322,            /* TK_PROTECTED  */
> -+    TK_PRIVATE = 323,              /* TK_PRIVATE  */
> -+    TK_SIGNALS = 324,              /* TK_SIGNALS  */
> -+    TK_SIGNAL_METHOD = 325,        /* TK_SIGNAL_METHOD  */
> -+    TK_SLOTS = 326,                /* TK_SLOTS  */
> -+    TK_SLOT_METHOD = 327,          /* TK_SLOT_METHOD  */
> -+    TK_BOOL = 328,                 /* TK_BOOL  */
> -+    TK_SHORT = 329,                /* TK_SHORT  */
> -+    TK_INT = 330,                  /* TK_INT  */
> -+    TK_LONG = 331,                 /* TK_LONG  */
> -+    TK_FLOAT = 332,                /* TK_FLOAT  */
> -+    TK_DOUBLE = 333,               /* TK_DOUBLE  */
> -+    TK_CHAR = 334,                 /* TK_CHAR  */
> -+    TK_WCHAR_T = 335,              /* TK_WCHAR_T  */
> -+    TK_VOID = 336,                 /* TK_VOID  */
> -+    TK_PYOBJECT = 337,             /* TK_PYOBJECT  */
> -+    TK_PYTUPLE = 338,              /* TK_PYTUPLE  */
> -+    TK_PYLIST = 339,               /* TK_PYLIST  */
> -+    TK_PYDICT = 340,               /* TK_PYDICT  */
> -+    TK_PYCALLABLE = 341,           /* TK_PYCALLABLE  */
> -+    TK_PYSLICE = 342,              /* TK_PYSLICE  */
> -+    TK_PYTYPE = 343,               /* TK_PYTYPE  */
> -+    TK_PYBUFFER = 344,             /* TK_PYBUFFER  */
> -+    TK_VIRTUAL = 345,              /* TK_VIRTUAL  */
> -+    TK_ENUM = 346,                 /* TK_ENUM  */
> -+    TK_SIGNED = 347,               /* TK_SIGNED  */
> -+    TK_UNSIGNED = 348,             /* TK_UNSIGNED  */
> -+    TK_SCOPE = 349,                /* TK_SCOPE  */
> -+    TK_LOGICAL_OR = 350,           /* TK_LOGICAL_OR  */
> -+    TK_CONST = 351,                /* TK_CONST  */
> -+    TK_STATIC = 352,               /* TK_STATIC  */
> -+    TK_SIPSIGNAL = 353,            /* TK_SIPSIGNAL  */
> -+    TK_SIPSLOT = 354,              /* TK_SIPSLOT  */
> -+    TK_SIPANYSLOT = 355,           /* TK_SIPANYSLOT  */
> -+    TK_SIPRXCON = 356,             /* TK_SIPRXCON  */
> -+    TK_SIPRXDIS = 357,             /* TK_SIPRXDIS  */
> -+    TK_SIPSLOTCON = 358,           /* TK_SIPSLOTCON  */
> -+    TK_SIPSLOTDIS = 359,           /* TK_SIPSLOTDIS  */
> -+    TK_SIPSSIZET = 360,            /* TK_SIPSSIZET  */
> -+    TK_SIZET = 361,                /* TK_SIZET  */
> -+    TK_NUMBER_VALUE = 362,         /* TK_NUMBER_VALUE  */
> -+    TK_REAL_VALUE = 363,           /* TK_REAL_VALUE  */
> -+    TK_TYPEDEF = 364,              /* TK_TYPEDEF  */
> -+    TK_NAMESPACE = 365,            /* TK_NAMESPACE  */
> -+    TK_TIMELINE = 366,             /* TK_TIMELINE  */
> -+    TK_PLATFORMS = 367,            /* TK_PLATFORMS  */
> -+    TK_FEATURE = 368,              /* TK_FEATURE  */
> -+    TK_LICENSE = 369,              /* TK_LICENSE  */
> -+    TK_QCHAR_VALUE = 370,          /* TK_QCHAR_VALUE  */
> -+    TK_TRUE_VALUE = 371,           /* TK_TRUE_VALUE  */
> -+    TK_FALSE_VALUE = 372,          /* TK_FALSE_VALUE  */
> -+    TK_NULL_VALUE = 373,           /* TK_NULL_VALUE  */
> -+    TK_OPERATOR = 374,             /* TK_OPERATOR  */
> -+    TK_THROW = 375,                /* TK_THROW  */
> -+    TK_QOBJECT = 376,              /* TK_QOBJECT  */
> -+    TK_EXCEPTION = 377,            /* TK_EXCEPTION  */
> -+    TK_RAISECODE = 378,            /* TK_RAISECODE  */
> -+    TK_EXPLICIT = 379,             /* TK_EXPLICIT  */
> -+    TK_TEMPLATE = 380,             /* TK_TEMPLATE  */
> -+    TK_FINAL = 381,                /* TK_FINAL  */
> -+    TK_ELLIPSIS = 382,             /* TK_ELLIPSIS  */
> -+    TK_DEFMETATYPE = 383,          /* TK_DEFMETATYPE  */
> -+    TK_DEFSUPERTYPE = 384,         /* TK_DEFSUPERTYPE  */
> -+    TK_PROPERTY = 385,             /* TK_PROPERTY  */
> -+    TK_HIDE_NS = 386,              /* TK_HIDE_NS  */
> -+    TK_FORMAT = 387,               /* TK_FORMAT  */
> -+    TK_GET = 388,                  /* TK_GET  */
> -+    TK_ID = 389,                   /* TK_ID  */
> -+    TK_KWARGS = 390,               /* TK_KWARGS  */
> -+    TK_LANGUAGE = 391,             /* TK_LANGUAGE  */
> -+    TK_LICENSEE = 392,             /* TK_LICENSEE  */
> -+    TK_NAME = 393,                 /* TK_NAME  */
> -+    TK_OPTIONAL = 394,             /* TK_OPTIONAL  */
> -+    TK_ORDER = 395,                /* TK_ORDER  */
> -+    TK_REMOVELEADING = 396,        /* TK_REMOVELEADING  */
> -+    TK_SET = 397,                  /* TK_SET  */
> -+    TK_SIGNATURE = 398,            /* TK_SIGNATURE  */
> -+    TK_TIMESTAMP = 399,            /* TK_TIMESTAMP  */
> -+    TK_TYPE = 400,                 /* TK_TYPE  */
> -+    TK_USEARGNAMES = 401,          /* TK_USEARGNAMES  */
> -+    TK_PYSSIZETCLEAN = 402,        /* TK_PYSSIZETCLEAN  */
> -+    TK_USELIMITEDAPI = 403,        /* TK_USELIMITEDAPI  */
> -+    TK_ALLRAISEPYEXC = 404,        /* TK_ALLRAISEPYEXC  */
> -+    TK_CALLSUPERINIT = 405,        /* TK_CALLSUPERINIT  */
> -+    TK_DEFERRORHANDLER = 406,      /* TK_DEFERRORHANDLER  */
> -+    TK_VERSION = 407               /* TK_VERSION  */
> -+  };
> -+  typedef enum yytokentype yytoken_kind_t;
> - #endif
> --/* Tokens.  */
> -+/* Token kinds.  */
> -+#define YYEMPTY -2
> -+#define YYEOF 0
> -+#define YYerror 256
> -+#define YYUNDEF 257
> - #define TK_API 258
> - #define TK_AUTOPYNAME 259
> - #define TK_DEFDOCSTRFMT 260
> -@@ -335,19 +356,19 @@
> - #define TK_TIMESTAMP 399
> - #define TK_TYPE 400
> - #define TK_USEARGNAMES 401
> --#define TK_USELIMITEDAPI 402
> --#define TK_ALLRAISEPYEXC 403
> --#define TK_CALLSUPERINIT 404
> --#define TK_DEFERRORHANDLER 405
> --#define TK_VERSION 406
> --
> --
> --
> -+#define TK_PYSSIZETCLEAN 402
> -+#define TK_USELIMITEDAPI 403
> -+#define TK_ALLRAISEPYEXC 404
> -+#define TK_CALLSUPERINIT 405
> -+#define TK_DEFERRORHANDLER 406
> -+#define TK_VERSION 407
> -
> -+/* Value type.  */
> - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
> --typedef union YYSTYPE
> --#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
> -+union YYSTYPE
> - {
> -+#line 202 "parser.y"
> -+
> -     char            qchar;
> -     char            *text;
> -     long            number;
> -@@ -390,14 +411,20 @@ typedef union YYSTYPE
> -     variableCfg     variable;
> -     vehCfg          veh;
> -     int             token;
> --}
> --/* Line 1529 of yacc.c.  */
> --#line 396 "sip-4.19.23/sipgen/parser.h"
> --      YYSTYPE;
> --# define yystype YYSTYPE /* obsolescent; will be withdrawn */
> --# define YYSTYPE_IS_DECLARED 1
> -+
> -+#line 416 "../parser.h"
> -+
> -+};
> -+typedef union YYSTYPE YYSTYPE;
> - # define YYSTYPE_IS_TRIVIAL 1
> -+# define YYSTYPE_IS_DECLARED 1
> - #endif
> -
> -+
> - extern YYSTYPE yylval;
> -
> -+
> -+int yyparse (void);
> -+
> -+
> -+#endif /* !YY_YY_PARSER_H_INCLUDED  */
> diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> index dc3db1fcd..43c044071 100644
> --- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> +++ b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> @@ -15,7 +15,7 @@ inherit python3-dir python3native
>
>  S = "${WORKDIR}/sip-${PV}"
>
> -DEPENDS = "python3"
> +DEPENDS = "python3 flex-native bison-native"
>
>  PACKAGES += "python3-sip3"
>
> @@ -25,6 +25,11 @@ CONFIGURE_SYSROOT = "${STAGING_DIR_HOST}"
>  CONFIGURE_SYSROOT:class-native = "${STAGING_DIR_NATIVE}"
>
>  do_configure:prepend() {
> +    # Re-generate the lexical analyzer and parser
> +    # Required for the py_ssize_t_clean patch
> +    flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l
> +    bison --yacc -Wcounterexamples --defines=sipgen/parser.h
> --output=sipgen/parser.c sipgen/metasrc/parser.y
> +
>      echo "py_platform = linux" > sip.cfg
>      echo "py_inc_dir =
> ${STAGING_INCDIR}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg
>      echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#110676):
> https://lists.openembedded.org/g/openembedded-devel/message/110676
> Mute This Topic: https://lists.openembedded.org/mt/106469040/556952
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> rob.woolleywr@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
index d7ed0770b..53c3ed016 100644
--- a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
+++ b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
@@ -1,35 +1,46 @@ 
 Added the 'py_ssize_t_clean' argument to '%Module' directive
 
 This is based on an upstream changeset to SIP.  It was backported to
-sip-4.19.23 and the parser was regenerated with the following
+sip-4.19.23 and the parser must be regenerated with the following
 commands:
 
-  cd sipgen/metasrc
-  flex -o../lexer.c lexer.l
-  bison -y -d -o ../parser.c parser.y
+  flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l
+  bison --yacc -Wcounterexamples --defines=sipgen/parser.h \
+        --output=sipgen/parser.c sipgen/metasrc/parser.y
 
 Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
 
-# HG changeset patch
-# User Phil Thompson <phil@riverbankcomputing.com>
-# Date 1635086052 -3600
-# Node ID 5d67349bb5a9954590a896ab35da93b2237b99c2
-# Parent  d837f2a3147fc5eb364f1c54798b668da1a83333
+# GitHub Repository: https://github.com/Python-SIP/
+# Commit ID 18e9e9c5a1fb7e19f7ea4d476eb3a99685fce629
+
 Added the 'py_ssize_t_clean' argument to the '%Module' directive.
 
 Index: sip-4.19.23/sipgen/gencode.c
 ===================================================================
 --- sip-4.19.23.orig/sipgen/gencode.c
 +++ sip-4.19.23/sipgen/gencode.c
-@@ -1138,6 +1138,12 @@ static void generateCompositeCpp(sipSpec
+@@ -593,6 +593,12 @@ static void generateInternalAPIHeader(si
  
-     declareLimitedAPI(py_debug, NULL, fp);
+     declareLimitedAPI(py_debug, mod, fp);
  
 +    if (isPY_SSIZE_T_CLEAN(mod))
 +        prcode(fp,
 +"\n"
 +"#define PY_SSIZE_T_CLEAN\n"
 +            );
++
+     prcode(fp,
+ "\n"
+ "#include <sip.h>\n"
+@@ -1138,6 +1144,12 @@ static void generateCompositeCpp(sipSpec
+ 
+     declareLimitedAPI(py_debug, NULL, fp);
+ 
++    if (isPY_SSIZE_T_CLEAN(pt->module))
++        prcode(fp,
++"\n"
++"#define PY_SSIZE_T_CLEAN\n"
++            );
 +
      prcode(fp,
  "\n"
@@ -277,17403 +288,3 @@  Index: sip-4.19.23/sphinx/directives.rst
  When providing handwritten code as part of either the :directive:`%MethodCode`
  or :directive:`%VirtualCatcherCode` directives the names of the arguments of
  the function or method are based on the number of the argument, i.e. the first
-Index: sip-4.19.23/sipgen/lexer.c
-===================================================================
---- sip-4.19.23.orig/sipgen/lexer.c
-+++ sip-4.19.23/sipgen/lexer.c
-@@ -1,6 +1,6 @@
--#line 2 "sip-4.19.23/sipgen/lexer.c"
-+#line 2 "../lexer.c"
- 
--#line 4 "sip-4.19.23/sipgen/lexer.c"
-+#line 4 "../lexer.c"
- 
- #define  YY_INT_ALIGNED short int
- 
-@@ -8,8 +8,8 @@
- 
- #define FLEX_SCANNER
- #define YY_FLEX_MAJOR_VERSION 2
--#define YY_FLEX_MINOR_VERSION 5
--#define YY_FLEX_SUBMINOR_VERSION 35
-+#define YY_FLEX_MINOR_VERSION 6
-+#define YY_FLEX_SUBMINOR_VERSION 4
- #if YY_FLEX_SUBMINOR_VERSION > 0
- #define FLEX_BETA
- #endif
-@@ -47,7 +47,6 @@ typedef int16_t flex_int16_t;
- typedef uint16_t flex_uint16_t;
- typedef int32_t flex_int32_t;
- typedef uint32_t flex_uint32_t;
--typedef uint64_t flex_uint64_t;
- #else
- typedef signed char flex_int8_t;
- typedef short int flex_int16_t;
-@@ -55,7 +54,6 @@ typedef int flex_int32_t;
- typedef unsigned char flex_uint8_t; 
- typedef unsigned short int flex_uint16_t;
- typedef unsigned int flex_uint32_t;
--#endif /* ! C99 */
- 
- /* Limits of integral types. */
- #ifndef INT8_MIN
-@@ -86,63 +84,61 @@ typedef unsigned int flex_uint32_t;
- #define UINT32_MAX             (4294967295U)
- #endif
- 
--#endif /* ! FLEXINT_H */
--
--#ifdef __cplusplus
--
--/* The "const" storage-class-modifier is valid. */
--#define YY_USE_CONST
--
--#else	/* ! __cplusplus */
-+#ifndef SIZE_MAX
-+#define SIZE_MAX               (~(size_t)0)
-+#endif
- 
--/* C99 requires __STDC__ to be defined as 1. */
--#if defined (__STDC__)
-+#endif /* ! C99 */
- 
--#define YY_USE_CONST
-+#endif /* ! FLEXINT_H */
- 
--#endif	/* defined (__STDC__) */
--#endif	/* ! __cplusplus */
-+/* begin standard C++ headers. */
- 
--#ifdef YY_USE_CONST
-+/* TODO: this is always defined, so inline it */
- #define yyconst const
-+
-+#if defined(__GNUC__) && __GNUC__ >= 3
-+#define yynoreturn __attribute__((__noreturn__))
- #else
--#define yyconst
-+#define yynoreturn
- #endif
- 
- /* Returned upon end-of-file. */
- #define YY_NULL 0
- 
--/* Promotes a possibly negative, possibly signed char to an unsigned
-- * integer for use as an array index.  If the signed char is negative,
-- * we want to instead treat it as an 8-bit unsigned char, hence the
-- * double cast.
-+/* Promotes a possibly negative, possibly signed char to an
-+ *   integer in range [0..255] for use as an array index.
-  */
--#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
- 
- /* Enter a start condition.  This macro really ought to take a parameter,
-  * but we do it the disgusting crufty way forced on us by the ()-less
-  * definition of BEGIN.
-  */
- #define BEGIN (yy_start) = 1 + 2 *
--
- /* Translate the current start state into a value that can be later handed
-  * to BEGIN to return to the state.  The YYSTATE alias is for lex
-  * compatibility.
-  */
- #define YY_START (((yy_start) - 1) / 2)
- #define YYSTATE YY_START
--
- /* Action number for EOF rule of a given start state. */
- #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
--
- /* Special action meaning "start processing a new file". */
--#define YY_NEW_FILE yyrestart(yyin  )
--
-+#define YY_NEW_FILE yyrestart( yyin  )
- #define YY_END_OF_BUFFER_CHAR 0
- 
- /* Size of default input buffer. */
- #ifndef YY_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k.
-+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
-+ * Ditto for the __ia64__ case accordingly.
-+ */
-+#define YY_BUF_SIZE 32768
-+#else
- #define YY_BUF_SIZE 16384
-+#endif /* __ia64__ */
- #endif
- 
- /* The state buf must be large enough to hold one state per character in the main buffer.
-@@ -159,15 +155,16 @@ typedef struct yy_buffer_state *YY_BUFFE
- typedef size_t yy_size_t;
- #endif
- 
--extern yy_size_t yyleng;
-+extern int yyleng;
- 
- extern FILE *yyin, *yyout;
- 
- #define EOB_ACT_CONTINUE_SCAN 0
- #define EOB_ACT_END_OF_FILE 1
- #define EOB_ACT_LAST_MATCH 2
--
-+    
-     #define YY_LESS_LINENO(n)
-+    #define YY_LINENO_REWIND_TO(ptr)
-     
- /* Return all but the first "n" matched characters back to the input stream. */
- #define yyless(n) \
-@@ -182,7 +179,6 @@ extern FILE *yyin, *yyout;
- 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
- 		} \
- 	while ( 0 )
--
- #define unput(c) yyunput( c, (yytext_ptr)  )
- 
- #ifndef YY_STRUCT_YY_BUFFER_STATE
-@@ -197,12 +193,12 @@ struct yy_buffer_state
- 	/* Size of input buffer in bytes, not including room for EOB
- 	 * characters.
- 	 */
--	yy_size_t yy_buf_size;
-+	int yy_buf_size;
- 
- 	/* Number of characters read into yy_ch_buf, not including EOB
- 	 * characters.
- 	 */
--	yy_size_t yy_n_chars;
-+	int yy_n_chars;
- 
- 	/* Whether we "own" the buffer - i.e., we know we created it,
- 	 * and can realloc() it to grow it, and should free() it to
-@@ -225,7 +221,7 @@ struct yy_buffer_state
- 
-     int yy_bs_lineno; /**< The line count. */
-     int yy_bs_column; /**< The column count. */
--    
-+
- 	/* Whether to try to fill the input buffer when we reach the
- 	 * end of it.
- 	 */
-@@ -253,7 +249,7 @@ struct yy_buffer_state
- /* Stack of input buffers. */
- static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
- static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
--static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
- 
- /* We provide macros for accessing buffer states in case in the
-  * future we want to put the buffer states in a more general
-@@ -264,7 +260,6 @@ static YY_BUFFER_STATE * yy_buffer_stack
- #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                           : NULL)
--
- /* Same as previous macro, but useful when we know that the buffer stack is not
-  * NULL or when we need an lvalue. For internal use only.
-  */
-@@ -272,11 +267,11 @@ static YY_BUFFER_STATE * yy_buffer_stack
- 
- /* yy_hold_char holds the character lost when yytext is formed. */
- static char yy_hold_char;
--static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
--yy_size_t yyleng;
-+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
-+int yyleng;
- 
- /* Points to current character in buffer. */
--static char *yy_c_buf_p = (char *) 0;
-+static char *yy_c_buf_p = NULL;
- static int yy_init = 0;		/* whether we need to initialize */
- static int yy_start = 0;	/* start state number */
- 
-@@ -285,84 +280,80 @@ static int yy_start = 0;	/* start state
-  */
- static int yy_did_buffer_switch_on_eof;
- 
--void yyrestart (FILE *input_file  );
--void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
--YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
--void yy_delete_buffer (YY_BUFFER_STATE b  );
--void yy_flush_buffer (YY_BUFFER_STATE b  );
--void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
--void yypop_buffer_state (void );
--
--static void yyensure_buffer_stack (void );
--static void yy_load_buffer_state (void );
--static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
--
--#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
--
--YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
--YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
--YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
--
--void *yyalloc (yy_size_t  );
--void *yyrealloc (void *,yy_size_t  );
--void yyfree (void *  );
-+void yyrestart ( FILE *input_file  );
-+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
-+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
-+void yy_delete_buffer ( YY_BUFFER_STATE b  );
-+void yy_flush_buffer ( YY_BUFFER_STATE b  );
-+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
-+void yypop_buffer_state ( void );
-+
-+static void yyensure_buffer_stack ( void );
-+static void yy_load_buffer_state ( void );
-+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
-+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-+
-+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
-+YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
-+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
-+
-+void *yyalloc ( yy_size_t  );
-+void *yyrealloc ( void *, yy_size_t  );
-+void yyfree ( void *  );
- 
- #define yy_new_buffer yy_create_buffer
--
- #define yy_set_interactive(is_interactive) \
- 	{ \
- 	if ( ! YY_CURRENT_BUFFER ){ \
-         yyensure_buffer_stack (); \
- 		YY_CURRENT_BUFFER_LVALUE =    \
--            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
- 	} \
- 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
- 	}
--
- #define yy_set_bol(at_bol) \
- 	{ \
- 	if ( ! YY_CURRENT_BUFFER ){\
-         yyensure_buffer_stack (); \
- 		YY_CURRENT_BUFFER_LVALUE =    \
--            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-+            yy_create_buffer( yyin, YY_BUF_SIZE ); \
- 	} \
- 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
- 	}
--
- #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
- 
- /* Begin user sect3 */
-+typedef flex_uint8_t YY_CHAR;
- 
--typedef unsigned char YY_CHAR;
--
--FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-+FILE *yyin = NULL, *yyout = NULL;
- 
- typedef int yy_state_type;
- 
- extern int yylineno;
--
- int yylineno = 1;
- 
- extern char *yytext;
-+#ifdef yytext_ptr
-+#undef yytext_ptr
-+#endif
- #define yytext_ptr yytext
- 
--static yy_state_type yy_get_previous_state (void );
--static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
--static int yy_get_next_buffer (void );
--static void yy_fatal_error (yyconst char msg[]  );
-+static yy_state_type yy_get_previous_state ( void );
-+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
-+static int yy_get_next_buffer ( void );
-+static void yynoreturn yy_fatal_error ( const char* msg  );
- 
- /* Done after the current pattern has been matched and before the
-  * corresponding action - sets up yytext.
-  */
- #define YY_DO_BEFORE_ACTION \
- 	(yytext_ptr) = yy_bp; \
--	yyleng = (yy_size_t) (yy_cp - yy_bp); \
-+	yyleng = (int) (yy_cp - yy_bp); \
- 	(yy_hold_char) = *yy_cp; \
- 	*yy_cp = '\0'; \
- 	(yy_c_buf_p) = yy_cp;
--
--#define YY_NUM_RULES 168
--#define YY_END_OF_BUFFER 169
-+#define YY_NUM_RULES 170
-+#define YY_END_OF_BUFFER 171
- /* This struct is not used in this scanner,
-    but its presence is necessary. */
- struct yy_trans_info
-@@ -370,147 +361,149 @@ struct yy_trans_info
- 	flex_int32_t yy_verify;
- 	flex_int32_t yy_nxt;
- 	};
--static yyconst flex_int16_t yy_accept[1235] =
-+static const flex_int16_t yy_accept[1261] =
-     {   0,
-         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--      169,  167,  106,  109,  167,  167,  167,  167,  167,  111,
--      111,  167,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  167,  106,  167,  166,  165,  166,  166,  121,  119,
--      121,  108,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  106,
--      167,  107,  106,  167,    0,  116,    0,    0,  117,    0,
--      111,    0,  115,  112,  115,  118,  110,  112,    0,  112,
--      111,    0,   64,  114,  114,  114,  114,  114,  114,  114,
--
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,   65,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,  120,
--      114,  114,  114,  114,  114,  114,  114,   86,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,    0,    0,    0,    0,    0,    0,  112,   83,  115,
--      112,  110,  112,    0,  112,  113,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,   42,
--
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,  114,  114,  114,  114,  114,  114,
--       85,  114,  114,  114,  114,  114,  114,  114,   94,  114,
--      114,  114,  114,  114,    0,    0,  112,   55,  114,  114,
--      114,   40,   38,  114,  114,  114,   48,  114,  114,  114,
--      114,   43,  114,  114,  114,  114,  114,  114,  114,  114,
--
--      114,  114,  114,  114,  114,   53,  114,  114,  114,   46,
--      114,    1,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,  157,   11,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,  164,  114,  104,  114,  114,  114,
--      114,  114,  114,  114,   90,  114,  114,  114,  114,  114,
--       97,  114,  114,   12,  114,  114,  114,  114,  114,  114,
--      114,   27,   51,  114,  114,   54,   62,   44,  114,  114,
--      114,  114,  114,   41,  114,  114,  114,   35,  114,  114,
--
--      114,   59,  114,  114,  114,  114,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--      105,  114,  114,  114,  114,  114,  114,  114,  114,   92,
--      114,  114,  114,  114,  114,  114,  114,   37,  114,  114,
--      114,  114,  114,  114,  114,   45,  114,  114,  114,  114,
--      114,   29,  114,   49,   63,   52,   28,  114,  114,  114,
--      114,  114,    0,    0,    0,    0,    0,    0,    0,    0,
--
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
--      114,   84,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,   36,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--       31,  114,   32,  114,   56,  114,   47,   39,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--
--        0,    0,   17,    0,    0,    0,    0,    0,    0,    0,
--       21,    0,    0,    0,   24,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--      114,  103,   34,  114,  114,  114,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,   75,  114,   60,  114,   58,
--      114,   61,   50,    0,    0,    0,    0,    0,    0,    0,
--        0,    3,    0,    0,    0,  122,    0,    0,    0,    0,
--      127,   14,    0,    0,    0,  161,    0,   18,    0,    0,
--       19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--
--        0,    0,    0,    0,    0,  162,    0,    0,    0,    0,
--        0,    0,    0,  114,  114,  114,  114,   88,   89,   91,
--      114,  114,  114,  114,  114,   33,  114,  114,  114,  114,
--      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
--       57,   30,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,  159,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,   25,
--        0,   26,  137,    0,    0,  134,    0,    0,    0,  114,
--      114,  114,  114,  114,   95,   96,  114,  114,  114,  114,
--
--      114,   69,   68,  114,  114,  114,   72,  114,  114,   74,
--      114,  114,  114,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,  156,
--       13,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,   23,    0,    0,    0,
--        0,  153,    0,    0,    0,    0,    0,  114,  114,  114,
--      114,  114,  114,  114,   76,  114,  114,  114,   71,   67,
--       82,  114,  114,  114,  114,   81,  160,    2,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--
--        0,    0,   20,  138,  136,    0,    0,  151,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
--      114,  114,  114,  114,  114,   73,  114,   66,  114,  114,
--       79,   80,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,  158,    0,    0,
--        0,  143,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,  114,  114,
--      114,  114,  114,  114,  114,  114,   77,   78,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,  150,
--
--        0,    0,    0,    0,    0,    0,    0,  155,    0,    0,
--        0,    0,  114,  114,  114,  114,  114,  114,  114,   70,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,   15,
--        0,    0,    0,    0,    0,  139,  152,    0,    0,    0,
--        0,    0,  114,  114,  114,  114,   93,  114,  114,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,    0,    0,  142,    0,    0,
--        0,    0,    0,  129,    0,    0,    0,    0,  114,  101,
--      114,  114,  114,   99,  144,    0,    0,    0,    0,    0,
--
--        4,    0,    0,    0,    0,    0,    8,    9,    0,    0,
--        0,    0,    0,    0,   22,    0,    0,    0,  140,    0,
--        0,  114,  114,  114,  114,    0,    0,    0,    0,    0,
--        0,    0,    0,    0,    0,   10,    0,    0,  133,    0,
--      128,    0,    0,    0,    0,    0,  114,  114,   87,  114,
--        0,    0,  148,    0,    0,    0,    0,    0,  124,    0,
--        0,    0,    0,    0,    0,    0,    0,    0,    0,  114,
--      114,   98,    0,    0,    0,    0,    5,    0,    0,    0,
--        0,  126,    0,  131,    0,    0,    0,  141,    0,  114,
--      114,  149,  146,    0,  145,  123,    0,    0,    0,    0,
--
--        0,    0,  135,  163,  114,  114,  147,    0,    0,    0,
--      154,    0,    0,  114,  114,  125,    0,    0,    0,  130,
--      100,  114,    6,    0,  132,  114,    0,  114,    0,  114,
--        7,  114,  102,    0
-+      171,  169,  108,  111,  169,  169,  169,  169,  169,  113,
-+      113,  169,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  169,  108,  169,  168,  167,  168,  168,  123,
-+      121,  123,  110,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  108,  169,  109,  108,  169,    0,  118,    0,    0,
-+      119,    0,  113,    0,  117,  114,  117,  120,  112,  114,
-+        0,  114,  113,    0,   64,  116,  116,  116,  116,  116,
-+
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,   65,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,  122,  116,  116,  116,  116,  116,  116,  116,
-+       87,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,    0,    0,    0,    0,    0,
-+        0,  114,   84,  117,  114,  112,  114,    0,  114,  115,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+
-+      116,  116,  116,  116,   42,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+       16,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
-+      116,  116,  116,  116,  116,   86,  116,  116,  116,  116,
-+      116,  116,  116,  116,   95,  116,  116,  116,  116,  116,
-+        0,    0,  114,   55,  116,  116,  116,  116,   40,   38,
-+      116,  116,  116,   48,  116,  116,  116,  116,   43,  116,
-+
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,   53,  116,  116,  116,   46,  116,    1,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,  159,   11,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,  166,  116,  106,  116,  116,  116,  116,  116,  116,
-+      116,   91,  116,  116,  116,  116,  116,  116,   98,  116,
-+      116,   12,  116,  116,  116,  116,  116,  116,  116,  116,
-+       27,   51,  116,  116,   54,   62,   44,  116,  116,  116,
-+
-+      116,  116,   41,  116,  116,  116,   35,  116,  116,  116,
-+       59,  116,  116,  116,  116,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,  107,
-+      116,  116,  116,  116,  116,  116,  116,  116,   93,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,   37,  116,
-+      116,  116,  116,  116,  116,  116,   45,  116,  116,  116,
-+      116,  116,   29,  116,   49,   63,   52,   28,  116,  116,
-+
-+      116,  116,  116,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
-+      116,  116,   85,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,   36,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,   31,  116,   32,  116,   56,  116,   47,
-+       39,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,   17,    0,    0,    0,    0,
-+        0,    0,    0,   21,    0,    0,    0,   24,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,  116,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  105,  116,   34,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
-+       75,  116,   60,  116,   58,  116,   61,   50,    0,    0,
-+        0,    0,    0,    0,    0,    0,    3,    0,    0,    0,
-+      124,    0,    0,    0,    0,  129,   14,    0,    0,    0,
-+
-+      163,    0,   18,    0,    0,   19,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+      164,    0,    0,    0,    0,    0,    0,    0,  116,  116,
-+      116,  116,   89,   90,   92,  116,  116,  116,  116,  116,
-+      116,  116,   33,  116,  116,  116,  116,  116,  116,  116,
-+      116,  116,  116,  116,  116,  116,  116,   57,   30,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,  161,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,   25,    0,   26,  139,
-+
-+        0,    0,  136,    0,    0,    0,  116,  116,  116,  116,
-+      116,  116,   96,   97,  116,  116,   82,  116,  116,  116,
-+       69,   68,  116,  116,  116,   72,  116,  116,   74,  116,
-+      116,  116,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,  158,   13,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,   23,    0,    0,    0,    0,
-+      155,    0,    0,    0,    0,    0,  116,  116,  116,  116,
-+      116,  116,  116,  116,   76,  116,  116,  116,   71,   67,
-+       83,  116,  116,  116,  116,   81,  162,    2,    0,    0,
-+
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,   20,  140,  138,    0,    0,  153,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,  116,  116,
-+      116,  116,  116,  116,  116,  116,   73,  116,   66,  116,
-+      116,   79,   80,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,  160,    0,
-+        0,    0,  145,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,  116,
-+      116,  116,  116,  116,  116,  116,  116,  116,   77,   78,
-+
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,  152,    0,    0,    0,    0,    0,    0,    0,  157,
-+        0,    0,    0,    0,  116,  116,  116,  116,  116,  116,
-+      116,  116,   70,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,   15,    0,    0,    0,    0,    0,  141,  154,
-+        0,    0,    0,    0,    0,  116,  116,  116,  116,  116,
-+       94,  116,  116,    0,    0,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+
-+        0,  144,    0,    0,    0,    0,    0,  131,    0,    0,
-+        0,    0,  116,  103,  116,  116,  116,  116,  101,  146,
-+        0,    0,    0,    0,    0,    4,    0,    0,    0,    0,
-+        0,    8,    9,    0,    0,    0,    0,    0,    0,   22,
-+        0,    0,    0,  142,    0,    0,  116,  116,  116,  100,
-+      116,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-+        0,   10,    0,    0,  135,    0,  130,    0,    0,    0,
-+        0,    0,  116,  116,   88,  116,    0,    0,  150,    0,
-+        0,    0,    0,    0,  126,    0,    0,    0,    0,    0,
-+        0,    0,    0,    0,    0,  116,  116,   99,    0,    0,
-+
-+        0,    0,    5,    0,    0,    0,    0,  128,    0,  133,
-+        0,    0,    0,  143,    0,  116,  116,  151,  148,    0,
-+      147,  125,    0,    0,    0,    0,    0,    0,  137,  165,
-+      116,  116,  149,    0,    0,    0,  156,    0,    0,  116,
-+      116,  127,    0,    0,    0,  132,  102,  116,    6,    0,
-+      134,  116,    0,  116,    0,  116,    7,  116,  104,    0
-     } ;
- 
--static yyconst flex_int32_t yy_ec[256] =
-+static const YY_CHAR yy_ec[256] =
-     {   0,
-         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
-@@ -542,7 +535,7 @@ static yyconst flex_int32_t yy_ec[256] =
-         1,    1,    1,    1,    1
-     } ;
- 
--static yyconst flex_int32_t yy_meta[71] =
-+static const YY_CHAR yy_meta[71] =
-     {   0,
-         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-         1,    3,    3,    3,    4,    4,    1,    4,    4,    4,
-@@ -553,614 +546,629 @@ static yyconst flex_int32_t yy_meta[71]
-         3,    3,    3,    3,    3,    3,    3,    3,    3,    1
-     } ;
- 
--static yyconst flex_int16_t yy_base[1243] =
-+static const flex_int16_t yy_base[1269] =
-     {   0,
--        0,   69, 2841,   70,   71,   74,   76,   76, 2835,   81,
--     2842, 2845, 2845, 2845,   74,   83,   78,   88,   78,  129,
--     2774, 2823,   83,   95,   98,  103,  107,  135,  141,  147,
--      156,  150,  159,  163,  169,  185,  203,  208,  212,  218,
--      223, 2769,  144,  260, 2845, 2845,  172, 2816, 2845, 2845,
--     2823, 2845,  227,  230,  238,  288,  292,  299,  296,  303,
--      306,  311,  241,  314,  317,  323,  350,  326,  369,  184,
--     2814, 2845,  201, 2813,  121, 2845, 2831,  216, 2845,   90,
--     2766,  175,  250,  375,  192, 2845,    0,  379,  394, 2845,
--     2845,    0, 2845,  336,  402,  408,  420,  423,  426,  429,
--
--      433,  436,  442,  445,  448,  451,  454,  457,  464,  467,
--      471,  474,  480,  483,  489,  498,  502,  505,  517,  522,
--      525,  531,  537,  540,  547, 2845,  232,    0,  321, 2806,
--      154,   64,  134,  253,  225, 2777,  489, 2776,  518, 2769,
--      511, 2782, 2777,  179, 2768, 2771,  366, 2802, 2765, 2845,
--      561,  567,  570,  576,  583,  589,  592,  595,  598,  601,
--      606,  610,  615,  623,  626,  629,  632,  639,  635,  644,
--      648,  390, 2800, 2754,  406, 2798,  207,  648,  366,  665,
--      511,    0,  688,  141,  670,    0,  661,  693,  675,  700,
--      703,  711,  714,  718,  721,  728,  731,  734,  737,  740,
--
--      745,  748,  754,  757,  773,  776,  782,  787,  790,  793,
--      796,  799,  804,  807,  811,  815,  821,  825,  834,  838,
--     2793, 2770, 2754,  297, 2757,  717, 2764, 2766, 2764,  794,
--     2766, 2753,  191, 2747, 2760, 2845, 2748,  345, 2759,  311,
--     2743, 2756, 2741, 2755,   34, 2740,  439, 2747, 2737, 2742,
--     2738, 2743, 2735, 2746,  855,  858,  864,  867,  873,  877,
--      880,  883,  886,  889,  892,  898,  901,  908,  912,  915,
--      918,  931,  934,  923, 2745,  941,  946,  951,  958,  962,
--      974,  977,  986,  989,  992, 1000, 1003, 1006, 1009, 1012,
--     1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036, 1040, 1049,
--
--     1052, 1062, 1079, 1083, 1088, 1091, 1094, 1097, 1105, 1108,
--     1111, 2845, 2743, 2733, 2741, 2740, 2740, 2728,  362, 2719,
--     2740, 2723, 2845, 2734, 2724, 2721, 2718, 2734, 2723, 2717,
--     2757, 2726, 2716, 2718, 2710, 2709, 2721, 2720, 2709, 2715,
--     2703, 2712, 2710, 2701, 2711, 2699, 1051, 2701, 2698, 2739,
--     2708, 2707, 2693, 2692, 2845, 1116, 1119, 1122, 1128, 1132,
--     1138, 1143, 1146, 1149, 1162, 1166, 1173, 1176, 1180, 1185,
--     1191, 1199, 1202, 2845, 1205, 1209, 1219, 1215, 1230, 1225,
--     1239, 1246, 1257, 1260, 1264, 1267, 1270, 1273, 1276, 1279,
--     1282, 1285, 1289, 1292, 1295, 1301, 1304, 1307, 1310, 1313,
--
--     1316, 1326, 1334, 1340, 1343, 1347, 2692, 2720, 2689, 2695,
--     2686, 2690, 2689, 2697, 2692, 2681, 2681, 2683, 2681, 2695,
--     2676, 2683, 2688, 2691, 2677, 2704, 2673, 2669, 2678, 2685,
--     2672, 2678, 2678, 2668, 2670, 2666, 2668, 2672, 2668, 2695,
--     2662, 2669, 2650, 2667, 2666, 2656, 2658,  546,  536, 2649,
--     1351, 1356, 1359, 1366, 1369, 1373, 1381, 1387, 1392, 1395,
--     1398, 1401, 1404, 1411, 1416, 1423, 1426, 1429, 1433, 1442,
--     1439, 1471, 1474, 1477, 1480, 1483, 1487, 1498, 1501, 1504,
--     1507, 1510, 1513, 1516, 1519, 1522, 1525, 1533, 1536, 1539,
--     1543, 1549, 2650, 2643, 1545, 2660, 2653, 2646, 2651, 2645,
--
--     2647, 2648, 2642, 2639, 2638, 2652, 2638, 2644, 2651, 2631,
--     2646, 2648, 2630, 2643, 2645, 2632, 2627, 2634, 2638, 2637,
--     2635, 2626, 2633, 2623, 2623, 2622, 2625, 2615, 2614, 2615,
--     2655, 2625, 2619, 2613,  363, 2612, 2611, 2623, 1554, 1559,
--     1564, 1570, 1579, 1588, 1591, 1597, 1601, 1604, 1607, 1612,
--     1617, 1620, 1623, 1635, 1643, 1646, 1649, 1657, 1663, 1668,
--     1678, 1681, 1684, 1687, 1690, 1696, 1700, 1703, 1712, 1715,
--     1718, 1722, 1725, 1728, 1732, 1735, 1738, 1741, 2648, 2636,
--     2602, 2612, 2614, 2613, 2601, 2615, 2610, 2605, 2604, 2594,
--     2604, 2592, 2600, 2599, 2602, 2588, 2600, 2587, 2587, 2597,
--
--     2596, 2588, 2845, 2594, 2587, 2594, 2591, 2584, 2602, 2618,
--      567, 2591, 2616, 2574, 2845, 2580, 2570, 2579, 2578, 2567,
--     2570, 2578, 2569, 2577, 2579, 2566, 2574, 2560, 2565, 1744,
--     1749, 1755, 1767, 1761, 1773, 1776, 1779, 1782, 1785, 1789,
--     1801, 1804, 1808, 1812, 1815, 1833, 1836, 1845, 1851, 1854,
--     1857, 1860, 1863, 1870, 1874, 1882, 1886, 1889, 1892, 1897,
--     1900, 1903, 1906, 2561, 2573, 2565, 2547, 2546, 2539, 2536,
--     2527, 2845, 2525, 2538,  593, 2845, 1313, 2528, 2526, 2535,
--     2845, 2845, 2537, 2562, 2520, 2845, 2530, 2845, 2525, 2528,
--     2845, 2527, 2506, 2514, 2513, 2521, 2514, 2510, 2511, 2503,
--
--     2511, 2505, 2504, 2493, 2511, 2845, 2509, 2508, 2508, 2493,
--     2505, 2491,  680, 1909, 1912, 1916, 1919, 1922, 1925, 1931,
--     1934, 1938, 1944, 1954, 1957, 1960, 1963, 1966, 1969, 1973,
--     1978, 1987, 1993, 2004, 2009, 2012, 2015, 2022, 2025, 2028,
--     2035, 2040, 2504, 2494, 2492, 2480, 2487, 2515, 2465, 2466,
--     2465, 2458, 2438, 2439, 2388, 2388, 2393, 2377, 2387, 2379,
--      837, 2373, 2373, 2368, 2367, 2362, 2399, 2845, 2334, 2340,
--     2338, 2340, 2336, 2311, 2297, 2291, 2297, 2293, 2268, 2845,
--     2268, 2845, 2845, 2259, 2286, 2845, 2277, 2255, 2239, 2043,
--     2049, 2052, 2055, 2058, 2062, 2065, 2068, 2071, 2077, 2080,
--
--     2083, 2086, 2095, 2099, 2110, 2113, 2116, 2124, 2127, 2130,
--     2137, 2140, 2143, 2245, 2243, 2242, 2241, 2233, 2188, 2196,
--     2225, 2213, 2163, 2166,  231, 2175, 2174, 2157, 2145, 2845,
--     2845, 2145, 2152, 2123, 2136, 2127, 2118, 2107, 2119, 2087,
--     2095, 2084, 2083, 2082, 2062, 2067, 2845, 2069, 2049, 2083,
--     2067, 2845, 2025, 2000, 2000,  673, 1989, 2146, 2150, 2158,
--     2161, 2165, 2169, 2172, 2175, 2180, 2184, 2187, 2195, 2198,
--     2204, 2216, 2219, 2222, 2225, 2228, 2845, 2845, 1983, 1979,
--     1966, 1955, 1995, 1948, 1949, 1953, 1945, 1933, 1928, 1932,
--     1934, 1918, 1913, 1913, 1914, 1894, 1894, 1891, 1920, 1861,
--
--     1828, 1840, 2845, 2845, 2845, 1829, 1813, 2845, 1804, 1800,
--     1793, 1792, 1820, 1790, 1789, 1780, 1786, 1774, 2237, 2242,
--     2245, 2250, 2253, 2256, 2259, 2262, 2265, 2268, 2271, 2274,
--     2277, 2285, 1811, 1779, 1768, 1752, 1744, 1756, 1756, 1755,
--     1746, 1735, 1717, 1708, 1721, 1702, 1703, 2845, 1710, 1672,
--     1662, 2845, 1659, 1657, 1634, 1636, 1624, 1617, 1618, 1604,
--     1616, 1605, 1592, 1600, 1589, 1624, 1589, 1578, 2299, 2303,
--     2308, 2311, 2315, 2318, 2321, 2324, 2327, 2335, 1579, 1571,
--     1556, 1543, 1547, 1546, 1531, 1564, 1522, 1568, 1536, 1518,
--     1520, 1501, 1496, 1508, 1518, 1522, 1491, 1458, 1448, 2845,
--
--     1485, 1440, 1440, 1435, 1430, 1427, 1427, 2845, 1409, 1410,
--     1418, 1441, 2338, 2341, 2344, 2352, 2357, 2362, 2365, 2368,
--     1411, 1409, 1383, 1411, 1375, 1370, 1363, 1344, 1337, 1340,
--     1371, 1336, 1330, 1317, 1307, 1313, 1312, 1285, 1291, 2845,
--     1274, 1272, 1262, 1254, 1204, 2845, 2845, 1214, 1214, 1212,
--     1193, 1203, 2371, 2379, 2384, 2387, 2391, 2398, 2394, 1198,
--     1174, 1159, 1150, 1158, 1145, 1151, 1151, 1145, 1145, 1123,
--     1123, 1125, 1121, 1110, 1148, 1109, 1116, 2845, 1144, 1104,
--     1098, 1084, 1084, 2845, 1087, 1076, 1095,   78, 2401, 2404,
--     2409, 2414, 2421, 2438, 2845,  175,  207,  199,  199,  268,
--
--     2845,  250,  302,  271,  294,  307, 2845, 2845,  310,  392,
--      389,  423,  415,  440, 2845,  445,  448,  488, 2845,  467,
--      483, 2441, 2444, 2447, 2450,  496,  517,  541,  579,  562,
--      569,  574,  606,  619,  756, 2845,  633,  671, 2845,  648,
--     2845,  649,  660,  678,  706,  707, 2453, 2456, 2459, 2462,
--      723,  732, 2845,  723,  742,  764,  777,  810, 2845,  772,
--      787,  794,  790,  803,  797,  840,  824,  832,  857, 2467,
--     2470, 2473,  866,  868,  884,  890, 2845,  891,  891,  893,
--      907, 2845,  917, 2845,  957,  919,  930, 2845,  922, 2480,
--     2476, 2845, 2845,  934, 2845, 2845,  944,  938,  938,  961,
--
--      998, 1009, 2845, 2845, 2483, 2489, 2845, 1017, 1023, 1025,
--     2845, 1023, 1029, 2494, 2498, 2845, 1019, 1022, 1038, 2845,
--     2506, 2509, 2845, 1025, 2845, 2513, 1037, 2519, 1062, 2526,
--     2845, 2533, 2536, 2845, 2594, 2598, 2602, 2606, 2608, 2610,
--     2614, 1109
-+        0,   69, 2946,   70,   71,   74,   76,   76, 2940,   81,
-+     2947, 2950, 2950, 2950,   74,   83,   78,   88,   78,  129,
-+     2879, 2928,   83,   95,   98,  102,  136,  141,  151,  147,
-+      156,  159,  162,  169,  175,  178,  185,  189,  204,  212,
-+      217,  220, 2874,  115,  259, 2950, 2950,  117, 2921, 2950,
-+     2950, 2928, 2950,  223,  246,  249,  287,  261,  296,  301,
-+      290,  304,  310,  313,  316,  322,  348,  353,  358,  366,
-+      375,  206, 2919, 2950,  238, 2918,  151, 2950, 2936,  244,
-+     2950,   90, 2871,  172,  361,  421,  197, 2950,    0,  398,
-+      380, 2950, 2950,    0, 2950,  387,  418,  428,  438,  442,
-+
-+      445,  448,  451,  454,  464,  467,  470,  473,  476,  479,
-+      486,  489,  493,  496,  501,  504,  507,  510,  513,  523,
-+      528,  531,  540,  545,  551,  561,  564,  568, 2950,  284,
-+        0,  273, 2911,  189,   70,  183,  291,  299, 2882,  388,
-+     2881,  335, 2874,  532, 2887, 2882,   89, 2873, 2876,  351,
-+     2907, 2870, 2950,  582,  585,  588,  594,  597,  602,  611,
-+      614,  617,  620,  623,  627,  633,  639,  642,  645,  648,
-+      652,  655,  663,  667,  677,  391, 2905, 2859,  416, 2903,
-+      197,  677,  370,  694,  390,    0,  703,  162,  699,    0,
-+      717,  720,  723,  727,  730,  743,  746,  749,  752,  755,
-+
-+      761,  764,  767,  775,  771,  778,  781,  784,  788,  793,
-+      802,  806,  810,  815,  820,  823,  826,  829,  834,  837,
-+      847,  850,  857,  860,  864, 2898, 2875, 2859,  232, 2862,
-+      510, 2869, 2871, 2869,  284, 2871, 2858,  202, 2852, 2865,
-+     2950, 2853,  834, 2864,  303, 2848, 2861, 2846, 2860,   34,
-+     2845,  489, 2852, 2842, 2847, 2843, 2848, 2840, 2851,  867,
-+      886,  889,  893,  899,  902,  905,  909,  912,  918,  926,
-+      929,  934,  938,  942,  948,  953,  957,  960,  967,  973,
-+     2850,  976,  981, 1001, 1004, 1007, 1010, 1015, 1024, 1027,
-+     1031, 1040, 1043, 1046, 1050, 1055, 1058, 1061, 1064, 1067,
-+
-+     1070, 1073, 1076, 1082, 1088, 1094, 1097, 1108, 1118, 1121,
-+     1125, 1133, 1136, 1140, 1143, 1146, 1149, 1152, 2950, 2848,
-+     2838, 2846, 2845, 2845, 2833,  525, 2824, 2845, 2828, 2950,
-+     2839, 2829, 2826, 2823, 2839, 2828, 2822, 2862, 2831, 2821,
-+     2823, 2815, 2814, 2826, 2825, 2814, 2820, 2808, 2817, 2815,
-+     2806, 2816, 2804,  668, 2806, 2803, 2844, 2813, 2812, 2798,
-+     2797, 2950, 1161, 1164, 1170, 1173, 1178, 1184, 1188, 1191,
-+     1194, 1202, 1207, 1210, 1213, 1220, 1223, 1226, 1231, 1236,
-+     1244, 2950, 1247, 1264, 1277, 1290, 1293, 1296, 1299, 1303,
-+     1306, 1310, 1313, 1324, 1329, 1332, 1335, 1338, 1341, 1344,
-+
-+     1347, 1352, 1355, 1361, 1364, 1367, 1370, 1373, 1376, 1379,
-+     1389, 1396, 1402, 1406, 1410, 2797, 2825, 2794, 2800, 2791,
-+     2795, 2794, 2802, 2797, 2786, 2786, 2788, 2786, 2800, 2781,
-+     2788, 2793, 2796, 2782, 2809, 2778, 2774, 2783, 2790, 2777,
-+     2783, 2783, 2773, 2775, 2771, 2773, 2777, 2773, 2800, 2767,
-+     2774, 2755, 2772, 2771, 2761, 2763,  385,  233, 2754, 1414,
-+     1419, 1422, 1429, 1435, 1444, 1449, 1454, 1457, 1460, 1463,
-+     1468, 1474, 1477, 1480, 1488, 1494, 1497, 1507, 1500, 1510,
-+     1514, 1535, 1543, 1546, 1549, 1559, 1555, 1564, 1570, 1574,
-+     1577, 1580, 1583, 1586, 1589, 1592, 1595, 1598, 1601, 1607,
-+
-+     1610, 1616, 1622, 2755, 2748, 1606, 2765, 2758, 2751, 2756,
-+     2750, 2752, 2753, 2747, 2744, 2743, 2757, 2743, 2749, 2756,
-+     2736, 2751, 2753, 2735, 2748, 2750, 2737, 2732, 2739, 2743,
-+     2742, 2740, 2731, 2738, 2728, 2728, 2727, 2730, 2720, 2719,
-+     2720, 2760, 2730, 2724, 2718,  373, 2717, 2716, 2728, 1625,
-+     1637, 1640, 1643, 1649, 1653, 1656, 1661, 1664, 1668, 1674,
-+     1677, 1680, 1683, 1696, 1702, 1705, 1708, 1712, 1715, 1723,
-+     1730, 1733, 1748, 1737, 1751, 1756, 1759, 1763, 1767, 1772,
-+     1778, 1783, 1786, 1789, 1793, 1796, 1799, 1804, 1807, 1810,
-+     1813, 2753, 2741, 2707, 2717, 2719, 2718, 2706, 2720, 2715,
-+
-+     2710, 2709, 2699, 2709, 2697, 2705, 2704, 2707, 2693, 2705,
-+     2692, 2692, 2702, 2701, 2693, 2950, 2699, 2692, 2699, 2696,
-+     2689, 2707, 2723,  536, 2696, 2721, 2679, 2950, 2685, 2675,
-+     2682, 2659, 2648, 2651, 2659, 2650, 2658, 2660, 2647, 2655,
-+     2641, 2646, 1816, 1820, 1823, 1826, 1832, 1838, 1841, 1845,
-+     1848, 1851, 1860, 1863, 1871, 1877, 1886, 1880, 1889, 1896,
-+     1893, 1901, 1916, 1920, 1923, 1926, 1929, 1932, 1943, 1951,
-+     1954, 1959, 1962, 1965, 1970, 1973, 1976, 1979, 2641, 2652,
-+     2646, 2650, 2649, 2642, 2639, 2630, 2950, 2627, 2640,  566,
-+     2950, 1158, 2630, 2628, 2637, 2950, 2950, 2638, 2663, 2621,
-+
-+     2950, 2630, 2950, 2625, 2628, 2950, 2627, 2608, 2616, 2612,
-+     2620, 2598, 2594, 2594, 2559, 2567, 2557, 2555, 2532, 2550,
-+     2950, 2547, 2546, 2545, 2529, 2541, 2507,  395, 1982, 1988,
-+     1991, 1994, 1997, 2000, 2004, 2007, 2011, 2014, 2021, 2029,
-+     2032, 2035, 2041, 2044, 2054, 2058, 2066, 2070, 2077, 2080,
-+     2092, 2096, 2099, 2102, 2110, 2113, 2116, 2061, 2123, 2520,
-+     2476, 2477, 2463, 2470, 2491, 2437, 2449, 2447, 2446, 2429,
-+     2430, 2416, 2416, 2422, 2404, 2415, 2390,  957, 2384, 2386,
-+     2357, 2349, 2347, 2387, 2950, 2334, 2344, 2342, 2338, 2335,
-+     2304, 2282, 2277, 2283, 2268, 2250, 2950, 2246, 2950, 2950,
-+
-+     2244, 2273, 2950, 2253, 2222, 2206, 2128, 2131, 2136, 2139,
-+     2142, 2145, 2150, 2153, 2156, 2162, 2165, 2170, 2173, 2184,
-+     2196, 2201, 2204, 2207, 2213, 2218, 2224, 2227, 2230, 2237,
-+     2240, 2243, 2215, 2196, 2195, 2215, 2214, 2169, 2173, 2203,
-+     2181, 2141, 2144,  433, 2153, 2151, 2131, 2133, 2950, 2950,
-+     2130, 2138, 2113, 2126, 2123, 2121, 2100, 2100, 2079, 2082,
-+     2081, 2070, 2068, 2044, 2051, 2950, 2051, 2040, 2068, 2065,
-+     2950, 2008, 2006, 2005,  275, 2001, 2246, 2250, 2258, 2261,
-+     2264, 2269, 2272, 2275, 2278, 2285, 2288, 2291, 2298, 2302,
-+     2309, 2313, 2320, 2323, 2326, 2329, 2950, 2950, 1999, 1995,
-+
-+     1987, 1986, 2020, 1973, 1977, 1981, 1972, 1934, 1929, 1918,
-+     1902, 1914, 1908, 1905, 1905, 1890, 1889, 1876, 1904, 1877,
-+     1857, 1862, 2950, 2950, 2950, 1846, 1839, 2950, 1830, 1827,
-+     1820, 1811, 1849, 1818, 1818, 1792, 1794, 1755, 2335, 2338,
-+     2343, 2346, 2351, 2354, 2357, 2360, 2363, 2366, 2369, 2373,
-+     2376, 2384, 2388, 1768, 1736, 1731, 1716, 1694, 1706, 1706,
-+     1690, 1694, 1683, 1652, 1648, 1655, 1639, 1639, 2950, 1650,
-+     1634, 1625, 2950, 1612, 1611, 1593, 1595, 1583, 1584, 1578,
-+     1569, 1568, 1531, 1520, 1524, 1509, 1544, 1492, 1483, 2401,
-+     2404, 2409, 2412, 2415, 2418, 2421, 2424, 2427, 2430, 2438,
-+
-+     1480, 1487, 1481, 1468, 1478, 1453, 1439, 1469, 1429, 1476,
-+     1433, 1418, 1424, 1396, 1396, 1404, 1428, 1431, 1401, 1395,
-+     1385, 2950, 1420, 1374, 1375, 1383, 1362, 1361, 1357, 2950,
-+     1341, 1340, 1347, 1371, 2441, 2444, 2447, 2451, 2465, 2468,
-+     2471, 2474, 2482, 1345, 1321, 1320, 1342, 1283, 1283, 1275,
-+     1271, 1240, 1243, 1277, 1242, 1236, 1233, 1219, 1225, 1230,
-+     1224, 1231, 2950, 1221, 1215, 1223, 1224, 1205, 2950, 2950,
-+     1217, 1216, 1214, 1201, 1208, 2490, 2493, 2496, 2500, 2504,
-+     2509, 2513, 2518, 1203, 1190, 1185, 1182, 1179, 1167, 1167,
-+     1163, 1159, 1147, 1112, 1110, 1115, 1093, 1081, 1108, 1069,
-+
-+     1076, 2950, 1103, 1069, 1067, 1052, 1059, 2950, 1062, 1048,
-+     1077,   68, 2523, 2526, 2529, 2532, 2535, 2541, 2548, 2950,
-+      126,  174,  178,  226,  273, 2950,  248,  348,  376,  404,
-+      443, 2950, 2950,  446,  452,  469,  483,  512,  533, 2950,
-+      558,  558,  599, 2950,  561,  593, 2551, 2554, 2561, 2564,
-+     2567,  584,  611,  622,  653,  623,  630,  636,  635,  653,
-+      684, 2950,  664,  696, 2950,  675, 2950,  686,  689,  689,
-+      702,  714, 2570, 2573, 2576, 2590,  722,  754, 2950,  750,
-+      761,  775,  795,  832, 2950,  795,  801,  807,  807,  825,
-+      826,  865,  842,  842,  844, 2593, 2596, 2599,  845,  858,
-+
-+      878,  878, 2950,  883,  876,  876,  892, 2950,  904, 2950,
-+      937,  899,  913, 2950,  916, 2606, 2612, 2950, 2950,  939,
-+     2950, 2950,  949,  942,  944,  953,  946,  957, 2950, 2950,
-+     2615, 2619, 2950,  958,  963,  979, 2950,  977,  980, 2623,
-+     2626, 2950,  971,  983,  997, 2950, 2629, 2633, 2950,  997,
-+     2950, 2636, 1004, 2645, 1041, 2649, 2950, 2652, 2655, 2950,
-+     2713, 2717, 2721, 2725, 2727, 2729, 2733, 1088
-     } ;
- 
--static yyconst flex_int16_t yy_def[1243] =
-+static const flex_int16_t yy_def[1269] =
-     {   0,
--     1234,    1, 1235, 1235, 1236, 1236,    1,    7,    1,    1,
--     1234, 1234, 1234, 1234, 1237, 1238, 1234, 1239, 1234, 1234,
--       20, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
--       44, 1234, 1234,   44, 1237, 1234, 1237, 1238, 1234, 1234,
--       20, 1239, 1239, 1239, 1239, 1234, 1241, 1234, 1234, 1234,
--     1234, 1242, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1234, 1234,   44, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1234,   44, 1234, 1234,   44, 1234, 1234, 1239, 1239,
--     1239, 1241, 1234, 1234, 1234, 1242, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1234, 1239, 1239, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--
--     1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
--     1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
--     1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
--     1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
--     1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--
--     1234, 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
--     1240, 1240, 1234, 1234, 1234, 1240, 1234, 1240, 1234, 1240,
--     1234, 1240, 1240,    0, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234
-+     1260,    1, 1261, 1261, 1262, 1262,    1,    7,    1,    1,
-+     1260, 1260, 1260, 1260, 1263, 1264, 1260, 1265, 1260, 1260,
-+       20, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1260,   45, 1260, 1260,   45, 1263, 1260, 1263, 1264,
-+     1260, 1260,   20, 1265, 1265, 1265, 1265, 1260, 1267, 1260,
-+     1260, 1260, 1260, 1268, 1260, 1266, 1266, 1266, 1266, 1266,
-+
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
-+       45, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1260,   45, 1260, 1260,   45,
-+     1260, 1260, 1265, 1265, 1265, 1267, 1260, 1260, 1260, 1268,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1260, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+
-+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
-+     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266,
-+     1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
-+     1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1260, 1260,
-+
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
-+     1266, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260,
-+     1260, 1266, 1260, 1266, 1260, 1266, 1260, 1266, 1266,    0,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
-     } ;
- 
--static yyconst flex_int16_t yy_nxt[2916] =
-+static const flex_int16_t yy_nxt[3021] =
-     {   0,
-        12,   13,   14,   13,   15,   12,   16,   12,   12,   12,
-        12,   17,   18,   19,   20,   21,   22,   23,   23,   23,
-        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
--       24,   23,   23,   25,   23,   26,   23,   23,   23,   23,
--       23,   23,   23,   12,   23,   23,   27,   28,   29,   30,
--       31,   23,   23,   32,   23,   33,   23,   34,   35,   36,
--       23,   37,   38,   39,   40,   41,   23,   23,   23,   42,
--       43,   47,   46,   50,   44,   48,   50,   70,   76,  344,
--       51,   71,   73,   51,   52,   79,   74,   86,   72,   79,
--       80,   87,   81,   81,   82,   85,   82,  345,   53,   82,
--
--       83,   82,   84,   84,  178,  178,   82,   85,   82,   82,
--       85,   82,   54,  227,   82,   85,   82,   77,   82,   85,
--       82,   55,  228,   56,   57,   76,   58,   59,   97,   60,
--       61,   62,   95,   63,   64, 1121,   65,   66,   67,   68,
--       69,   88,   96,   81,   81,  127,   82,   85,   82,  128,
--       89,   90,   82,   85,   82,  185,  185,   91,   82,   85,
--       82,   82,   85,   82,   77,   98,   91,   82,   85,   82,
--       82,   85,   82,  147,   82,   85,   82,  148,   89,   90,
--       82,   85,   82,  225,   91,  172,   82,   99,   82,  173,
--      100,  229,   91,  101, 1126,   92,   82,   85,   82,  102,
--
--      230,  105,  175,   82,  103,   82,  176,  108,  110,  106,
--      329,  107,  226,  104,   82,   85,   82,  109,   79,   82,
--       85,   82,   79,   82,   85,   82, 1127,  330,  111,   82,
--       85,   82,  250,  127,   82,   85,   82,  128,   82,   85,
--       82,   82,   85,   82,  233,  112,  251, 1128,  113,   82,
--       85,   82,   82,   85,   82,  114,  115,  118,  116, 1129,
--      119,   82,  179,   82,  275,  117,  888,  889,  120,  122,
--      125,  123,  151,  230,  234,  121,  124,  129,  130,  131,
--      132,  133,  134,  135,  136,  137,  162, 1130,  138,  139,
--      152,  140,  141,  153,  142,  143,  144,  145,  146,   82,
--
--       85,   82,  231,   82,   85,   82,  232,   82,   85,   82,
--       82,   85,   82, 1131,   82,   85,   82,   82,   85,   82,
--      315, 1132,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,  316, 1133,  154,   82,   85,   82,   82,   85,   82,
--       99,  155, 1134,  100,  105,  157,  101,   82,   85,   82,
--      102,  158,  106,  221,  107,  159,  160,  156, 1135, 1136,
--      108,   82,   85,   82,  161,  338,  165,  147,  222,  109,
--      339,  148,  166,  163,  164,  114,  167,   82,  116,   82,
--       82,   85,   82,  122,  223,  117,   82,  170,   82,   84,
--       84,  172,  334,  183,  183,  173,  180,  181,  335,  118,
--
--       89,   90,  119,  168,  184,  184,  336,  175,  185,  185,
--      120,  176,  625,   82,   85,   82,  626,  169,  171,   82,
--       85,   82,  123,  413,  180,  181,  414,  124,   89,   90,
--      187,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,  188,   82,   85,   82,   82,   85,   82,
--     1137, 1138,  189,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,  191, 1139, 1140,  192,   82,   85,   82,   82,   85,
--       82,  190,   82,   85,   82,   82,   85,   82,  347, 1141,
--      193,   82,   85,   82,   82,   85,   82,  348, 1142,  194,
--
--       82,   85,   82,  197,  196,  195, 1143, 1144,  198,   82,
--       85,   82,  199,   82,   85,   82,   82,   85,   82,  200,
--      203,  201,   82,  202,   82, 1145,  206,  204,   82,   85,
--       82, 1146,  205,   82,   85,   82,   82,   85,   82,  236,
--      208,  207,   82,   85,   82,  237,  238,  211,   82,   85,
--       82,   82,   85,   82, 1151,  536,  210,  209,   82,   85,
--       82,  213,  212,  240,  244,  534,  245,  241,  537,  246,
--      535,  247,   82,   85,   82, 1152,  242,  214,   82,   85,
--       82,   82,   85,   82,  216,  215,  695,   82,   85,   82,
--     1153,  696,  217,  219,   82,   85,   82,  218, 1154,  220,
--
--       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,  753,  255,   82,   85,   82,
--     1155,   82,   85,   82, 1156,  257,   82,   85,   82,  754,
--      256,  258, 1157,  259,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  260,
--       82,   85,   82,  264,  261,   82,   85,   82,  263,   82,
--       85,   82,  178,  178,  203,  262,  265, 1158, 1159,   89,
--       90,  267,   82,   85,   82,  184,  276,  266,   82,  277,
--      277, 1162,  268,  270,  185,  185,   82,   85,   82,  278,
--     1163,  269,   90,  273,  272,  271, 1164,   89,   90,  788,
--
--      209,  789,  183,  183,   82,   85,   82, 1165,  274,   89,
--       90,   82,   85,   82,   82,   85,   82, 1166,  279,  281,
--       90,  280,   82,   85,   82,   82,   85,   82,  916,   82,
--       85,   82,   82,   85,   82,  917, 1167,   89,   90,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82, 1168,  282,   82,   85,   82,   82,
--       85,   82, 1169,  283,  286,   82,   85,   82,   82,   85,
--       82, 1173,  284,  318,  319,  285,  320,  287, 1160,  290,
--     1174, 1175,  291,  288,   82,   85,   82,   82,   85,   82,
--     1176, 1161,  289,   82,   85,   82,  292,  293,   82,   85,
--
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82, 1177,  294,   82,   85,   82,   82,   85,
--       82,  295,   82,   85,   82, 1178,   82,   85,   82, 1179,
--     1180,  297,   82,   85,   82,  296,   82,   85,   82,  300,
--     1181,  324,  298, 1182,  299,   82,   85,   82, 1183,   82,
--       85,   82, 1184,  325, 1185,  301,  326,  832,  302, 1186,
--      306,  833,  303,  304,  307,  305,   82,   85,   82,   82,
--       85,   82, 1187,  834,  308,   82,   85,   82,   82,   85,
--       82, 1188,  310,  311,   82,   85,   82,  309,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--
--       82,   85,   82,   82,   85,   82, 1189,  357,  358,   82,
--       85,   82,   82,   85,   82, 1192,  356, 1193,  360,   82,
--       85,   82,  359,   82,   85,   82,   82,   85,   82,   82,
--       85,   82, 1194,  361,   82,   85,   82,  363,  364, 1195,
--     1196,  365,   82,   85,   82,   82,   85,   82,  362, 1197,
--      367,  366,   82, 1198,   82,  277,  277,   82, 1199,   82,
--      277,  277,   82,   85,   82, 1200,  368,  370,  181,   82,
--       85,   82,  369,   82,   85,   82, 1201, 1202,  372, 1203,
--      371,  375, 1204, 1207,  373,   82,   85,   82,   82,   85,
--       82,  377, 1208,  376, 1209, 1210,  181,   82,   85,   82,
--
--       82,   85,   82,   82,   85,   82,  378,  379,  380,  381,
--     1211,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--      382,   82,   85,   82,  383,  384, 1212, 1213,  386,  385,
--       82,   85,   82,   82,   85,   82, 1216,  387, 1217,  390,
--     1218, 1219,  391,   82,   85,   82,  441,  388, 1220,  392,
--      442, 1223,  389,  443, 1224,  395,  393, 1225, 1227,  396,
--       82,   85,   82,  397,   82,   85,   82, 1229,  394,   82,
--
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82, 1231,  186,  398, 1120,  399,   82,   85,   82,   82,
--       85,   82,   82,   85,   82, 1119,  400,   82,   85,   82,
--       82,   85,   82,   82,   85,   82, 1118, 1117,  401,   82,
--       85,   82,  403,   82,   85,   82, 1116, 1115,  404,   82,
--       85,   82, 1114,  402,   82,   85,   82,   82,   85,   82,
--       82,   85,   82, 1113, 1112,  451, 1111, 1110,  405, 1109,
--     1108,  406,  453,   82,   85,   82, 1107,   82,   85,   82,
--     1106, 1105,  452,  455,   82,   85,   82,   82,   85,   82,
--     1104,   82,   85,   82, 1103,  454,   82,   85,   82, 1102,
--
--     1101,  456,   82,   85,   82, 1100,  458, 1099, 1098,  457,
--       82,   85,   82,   82,   85,   82,   82,   85,   82, 1097,
--       82,   85,   82,  389,  459,  462,   82,   85,   82,  396,
--       82,   85,   82,  460, 1096,  467,   82,   85,   82,  403,
--      461,   82,   85,   82,  464,  468,  463, 1095, 1088,  469,
--       82,   85,   82, 1087,  465,  466,  470,   82,   85,   82,
--     1086,  471, 1085, 1084,  473,  472, 1083,  474,   82,   85,
--       82,   82,   85,   82,  475,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82, 1082,
--
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  476,
--     1081,  477,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--     1080, 1079,  481,  755,  756,  478,  482,   82,   85,   82,
--     1078,  479,  757, 1077,  480,   82,   85,   82,  758,  484,
--      483,   82,   85,   82,   82,   85,   82,  486,   82,   85,
--       82,  488,   82,   85,   82, 1076,  485,   82,   85,   82,
--       82,   85,   82, 1075, 1074,  487, 1073,   82,   85,   82,
--       82,   85,   82,  489,   82,   85,   82, 1072,  491, 1071,
--     1070,  492,   82,   85,   82, 1069, 1068,  490,   82,   85,
--
--       82,  539, 1067,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82, 1066, 1065,
--      540,  541,   82,   85,   82, 1064,  544,   82,   85,   82,
--     1063,  542, 1062,  543,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,  553,   82,   85,   82,  547,  545,  546,
--       82,   85,   82,   82,   85,   82,  483,  563, 1061, 1060,
--      556,  557,  558,  548,  554, 1052,  549, 1051, 1050,  551,
--      559,  550, 1049,  560,  555, 1048, 1047,  561,  562, 1046,
--     1045,  552,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,  565,   82,   85,
--
--       82, 1044,  564, 1043, 1042,  567, 1041, 1040,  566,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82, 1039,
--      568, 1038, 1037,  569,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,  571,   82,   85,   82, 1036, 1035,  570,
--       82,   85,   82,  581,  582,   82,   85,   82, 1034,  572,
--       82,   85,   82, 1033,  573,   82,   85,   82, 1032,  583,
--      584,   82,   85,   82,  585, 1031,  575, 1030,  576, 1029,
--       82,   85,   82, 1028, 1027,  574, 1026, 1025,  577,   82,
--
--       85,   82,   82,   85,   82, 1024, 1023,  630,   82,   85,
--       82,  578,   82,   85,   82,   82,   85,   82,   82,   85,
--       82, 1022,  631,   82,   85,   82,  632,  633,   82,   85,
--       82,   82,   85,   82,   82,   85,   82, 1021, 1012,  634,
--      635, 1011,  636, 1010, 1009,  637,   82,   85,   82, 1008,
--     1007,  643,  639, 1006,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,  640, 1005, 1004,  646,  638,   82,   85,
--       82, 1003, 1002,  641,   82,   85,   82,  642,  644,   82,
--       85,   82,  647,  645, 1001, 1000,  649,  999,  648,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--
--       82,   82,   85,   82,  998,  654,  650,   82,   85,   82,
--      653,   82,   85,   82,   82,   85,   82,  997,  651,  996,
--      655,  995,  652,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,  656,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,  657,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,  994,  659,
--       82,   85,   82,  993,  992,  658,   82,   85,   82,  991,
--      990,  661,   82,   85,   82,  660,  989,  662,   82,   85,
--       82,  988,  987,  663,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  716,
--
--       82,   85,   82,  986,  985,  714,  984,  983,  715,  982,
--      718,  717,   82,   85,   82,   82,   85,   82,  981,   82,
--       85,   82,  719,   82,   85,   82,   82,   85,   82,  980,
--      979,  720,  968,  967,  721,  966,  965,  728,  964,  963,
--      727,  723,  722,  726,   82,   85,   82,   82,   85,   82,
--      962,  961,  724,  960,  725,  730,   82,   85,   82,  959,
--      958,  729,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,  732,  957,  733,
--      731,   82,   85,   82,  736,   82,   85,   82,  956,  734,
--      955,  738,  735,   82,   85,   82,  737,   82,   85,   82,
--
--       82,   85,   82,   82,   85,   82,  954,  740,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,  739,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  953,
--      952,  741,   82,   85,   82,   82,   85,   82,  742,   82,
--       85,   82,  951,  950,  792,   82,   85,   82,  790,  949,
--      948,  791,  947,  946,  793,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,  794,   82,   85,   82,  795,  800,   82,
--       85,   82,  945,  944,  799,  943,  942,  801,   82,   85,
--
--       82,  941,  940,  796,   82,   85,   82,  939,  804,  802,
--      797,  938,  805,  937,  803,   82,   85,   82,  936,  798,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  935,
--      807,  808,  806,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,  934,  933,  811,  812,   82,   85,   82,  918,
--      810,   82,   85,   82,   82,   85,   82,  915,  914,  809,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,  813,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,  913,  912,  858,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--
--      867,  866,  911,  862,  910,  860,   82,   85,   82,  859,
--       82,   85,   82,  865,  909,  861,  908,  863,  868,  907,
--      864,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--      906,  869,  905,  904,  870,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,  903,  902,  872,  873,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--      871,   82,   85,   82,  901,  875,  900,  899,  874,   82,
--       85,   82,   82,   85,   82,  898,   82,   85,   82,  876,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,  897,
--      896,   82,   85,   82,  920,   82,   85,   82,   82,   85,
--
--       82,  895,  927,  894,  893,  919,   82,   85,   82,   82,
--       85,   82,  922,  923,  926,   82,   85,   82,  921,  892,
--      925,  891,  890,  928,  887,  886,  924,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,  885,  884,  930,  883,  882,  929,   82,   85,
--       82,  881,  931,   82,   85,   82,   82,   85,   82,  880,
--      932,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,  879,  878,  976,  877,  970,   82,   85,   82,  857,
--
--      856,  977,  855,  975,  969,  854,  973,  971,  853,  978,
--       82,   85,   82,  972,   82,   85,   82,  852,  974,   82,
--       85,   82,   82,   85,   82,  851,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,  850,  849, 1013,  848, 1020,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,  847,  846,
--     1014,  845, 1018,   82,   85,   82, 1019, 1016,   82,   85,
--       82, 1015, 1017,   82,   85,   82,   82,   85,   82,   82,
--       85,   82,   82,   85,   82,  844,  843, 1053,  842, 1055,
--       82,   85,   82,  841, 1054,   82,   85,   82,   82,   85,
--
--       82, 1056,   82,   85,   82,   82,   85,   82, 1057,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,  840, 1058,
--       82,   85,   82,  839, 1059,   82,   85,   82,  838,  837,
--     1123,  836,   82,   85,   82,  835,  831, 1089,  830, 1091,
--      829, 1090,  828, 1093, 1092,  827,  826, 1094, 1122,   82,
--       85,   82,   82,   85,   82,   82,   85,   82,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--       82,   85,   82,   82,   85,   82, 1124, 1125,   82,   85,
--       82,   82,   85,   82,   82,   85,   82,   82,   85,   82,
--     1147,   82,   85,   82,   82,   85,   82,  825,  824, 1150,
--
--       82,   85,   82,  823, 1148,   82,   85,   82, 1149,   82,
--       85,   82, 1170, 1215,  822,  821, 1171,   82,   85,   82,
--       82,   85,   82, 1172,   82,   85,   82,  820, 1191, 1190,
--       82,   85,   82, 1205,  819,  818, 1206,   82,   85,   82,
--      817, 1214,  816, 1222,   82,   85,   82,   82,   85,   82,
--      815, 1221,  814,  787,  786,  785,  784,  783,  782,  781,
--      780, 1228,  779,  778,  777,  776, 1226,  775,  774,  773,
--      772,  771,  770,  769, 1230, 1232,  768,  767,  766,  765,
--      764,  763,  762,  761,  760,  759,  752,  751,  750,  749,
--      748,  747,  746, 1233,   45,   45,   45,   45,   49,   49,
--
--       49,   49,   75,   75,   75,   75,   78,   78,   78,   78,
--       85,   85,   94,   94,  182,  745,  182,  182,  744,  743,
--      713,  712,  711,  710,  709,  708,  707,  706,  705,  704,
--      703,  702,  701,  700,  699,  698,  697,  694,  693,  692,
-+       24,   23,   25,   26,   23,   27,   23,   23,   23,   23,
-+       23,   23,   23,   12,   23,   23,   28,   29,   30,   31,
-+       32,   23,   23,   33,   23,   34,   23,   35,   36,   37,
-+       23,   38,   39,   40,   41,   42,   23,   23,   23,   43,
-+       44,   48,   47,   51,   45,   49,   51,   72,   78,  351,
-+       52,   73,   75,   52,   53,   81,   76,   88,   74,   81,
-+       82,   89,   83,   83,   84,   87,   84,  352,   54,   84,
-+
-+       85,   84,   86,   86,  182,  182,   84,   87,   84,   84,
-+       87,   84,   55,   84,   87,   84,  130,   79,  150,  232,
-+      131,   56,  151,   57,   58, 1146,   59,   60,  233,   61,
-+       62,   63,   97,   64,   65,   66,   67,   68,   69,   70,
-+       71,   90,  255,   83,   83, 1152,   99,   84,   87,   84,
-+       91,   92,   84,   87,   84,   78,  256,   93,   84,   87,
-+       84,  100,   84,   87,   84,   98,   93,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,  189,  189,   91,   92,
-+       84,   87,   84,   84,   93,   84,   84,   87,   84,   84,
-+       87,   84,   93, 1153,   79,   94,   84,   87,   84,  101,
-+
-+       84,   87,   84,  102,  108,  105,  103,  176,   84,  104,
-+       84,  177,  109,  106,  110,   84,   87,   84,  230,  111,
-+      113,  336,  107,   84,   87,   84, 1154,  112,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  114,  337,  179,
-+      234,  117,  118,  180,  119,  115,   81,  231,  116,  235,
-+       81,  120,  547,  121,  281,  322,  122,   84,   87,   84,
-+       84,   87,   84,  235,  123,  548,  323,  128,  154,  125,
-+      126,  124,   84,   87,   84,  127,  132,  133,  134,  135,
-+      136,  137,  138,  139,  140,  130, 1155,  141,  142,  131,
-+      143,  144, 1156,  145,  146,  147,  148,  149,   84,   87,
-+
-+       84,   84,   87,   84,  156,  226,  155,   84,   87,   84,
-+      158, 1157,   84,   87,   84,   84,   87,   84,  238,  105,
-+      227,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      936,  331,  157,   84,   87,   84,  228,  937,  161,  102,
-+      236,  108,  103,  332,  237,  104,  333,  111,  239,  109,
-+      160,  110,  150,  162,  159,  163,  151,  345,  165,   84,
-+       87,   84,  346,  164,   84,   87,   84, 1158,  112,   84,
-+       87,   84,   84,  183,   84,  166,  167,   84,   87,   84,
-+      245,   84,  115,   84,  246,  116,   84,   87,   84,  168,
-+      188,  188,  176,  247,  189,  189,  177,  169,   84,   87,
-+
-+       84,   84,  170,   84,  545,  117,  171,  121,  119,  546,
-+      122,  172,  187,  187,  805,  120,  806,  179,  123,   91,
-+       92,  180,  638,  125,  175,  173,  639,  174,  126,   84,
-+       87,   84,   84,  127,   84,   86,   86, 1159,  241,   84,
-+       87,   84,  184,  185,  242,  243,  191,   91,   92,   84,
-+       87,   84, 1160,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,  908,  909,
-+      184,  185,  192,  193,  194,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  196, 1161, 1162,  197,   84,   87,   84,
-+
-+       84,   87,   84,  195,   84,   87,   84,   84,   87,   84,
-+     1163,  198,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  199,  202,  201,
-+      200, 1164, 1165,  203,   84,   87,   84,  204,  354,   84,
-+       87,   84,   84,   87,   84,  208,  206,  355,  205,  207,
-+      211,   84,   87,   84,  209,  710,   84,   87,   84,  210,
-+      711,  213,   84,   87,   84,  212,  325,  326,  216,  327,
-+     1166,  215,   84,   87,   84,   84,   87,   84,  214,   84,
-+       87,   84, 1167,  217,  218,  249,  422,  250,  770,  423,
-+      251,  219,  252,   84,   87,   84,   84,   87,   84,   84,
-+
-+       87,   84,  771,  220,  221,   84,   87,   84,   84,   87,
-+       84, 1168,  222,   84,   87,   84, 1169,  224, 1170, 1171,
-+      225,  223,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  260,   84,   87,
-+       84, 1172, 1177,  262,   84,   87,   84,  264,  261,  263,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,  265,   84,   87,   84,   84,   87,   84, 1178,
-+      269, 1179, 1180,  266,   84,   87,   84,  268,   84,   87,
-+       84, 1181,  208,  270,  267, 1182,  273,  272,   84,   87,
-+       84,  182,  182,  450, 1183,  271, 1184,  451,   91,   92,
-+
-+      452,  274, 1185,  276,  188,  282, 1186,   84,  283,  283,
-+      275,  277, 1188,  189,  189, 1189,  279,  187,  187, 1187,
-+      214,   92,  278, 1190,   91,   92,   91,   92,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  280,   84,   87,
-+       84,   84,   87,   84, 1191,  284, 1192, 1193,  286,   92,
-+     1194,  287,   91,   92,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84, 1195,
-+     1199,  288,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,  285,   84,   87,   84,  289,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,  293,   84,
-+
-+       87,   84, 1200,  290,   84,   87,   84,  291, 1201, 1202,
-+      292,  294,  297,   84,   87,   84,  295,   84,   87,   84,
-+      298,   84,   87,   84, 1203,  296,   84,   87,   84,  299,
-+      300,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84, 1204,  301,   84,   87,   84,   84,   87,
-+       84, 1205,  302, 1206, 1207,  303, 1208,  304,   84,   87,
-+       84,   84,   87,   84,  307, 1209,  305,  306,   84,   87,
-+       84,   84,   87,   84, 1210,   84,   87,   84,   84,   87,
-+       84,  341,  308, 1211, 1212,  309,  313,  342,  311,  310,
-+     1213, 1214,  312, 1215, 1218,  343,  314,   84,   87,   84,
-+
-+       84,   87,   84,  315,   84,   87,   84, 1219,  317,  318,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,  316,
-+       84,   87,   84,   84,   87,   84, 1220, 1221,  363,   84,
-+       87,   84, 1222,  365, 1223,  364, 1224,   84,   87,   84,
-+       84,   87,   84, 1225,  367,   84,   87,   84,  366,   84,
-+       87,   84, 1226,   84,   87,   84, 1227, 1228,  368,   84,
-+       87,   84, 1229,  370,   84,   87,   84,  371,   84,   87,
-+       84,   84,   87,   84,  369,  372, 1230,  851,   84,   87,
-+       84,  852,  373,  374,   84,   87,   84,   84, 1233,   84,
-+      283,  283,   84,  853,   84,  283,  283, 1234, 1235,  375,
-+
-+      376, 1236, 1237,  185, 1238, 1239,  378, 1242, 1243,  379,
-+      377,  380,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84, 1244, 1245,   84,   87,   84, 1246,
-+      384,  185,  386, 1249,  381,   84,   87,   84,   84,   87,
-+       84,  385,   84,   87,   84, 1250, 1251,  387,  388,  389,
-+      390,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+     1253,   84,   87,   84, 1255,  383,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+     1257,  190,  391,   84,   87,   84, 1145, 1144,  393,   84,
-+
-+       87,   84,  392,  394,  395,   84,   87,   84,   84,   87,
-+       84, 1143, 1142,  396, 1141,  399, 1140, 1139,  400,   84,
-+       87,   84, 1138,  397, 1137,  401, 1136, 1135,  398,   84,
-+       87,   84,   84,   87,   84,  402,   84,   87,   84,  404,
-+     1134,  406, 1133,  405,   84,   87,   84,   84,   87,   84,
-+      403,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84, 1132, 1131,  409,  407,
-+     1130,  408,   84,   87,   84,   84,   87,   84,  772,  773,
-+      410,   84,   87,   84,   84,   87,   84,  774,  412,   84,
-+       87,   84, 1129,  775,  413,   84,   87,   84,  411,   84,
-+
-+       87,   84,   84,   87,   84,   84,   87,   84, 1128,  414,
-+      460, 1127,  415,   84,   87,   84, 1126,  462,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84, 1125, 1124,  464,
-+      461,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+     1123,  463,   84,   87,   84, 1122,  465,   84,   87,   84,
-+     1121,  467, 1120, 1112,  466,   84,   87,   84,   84,   87,
-+       84, 1111, 1110,  398, 1109,  468, 1108, 1107,  472, 1106,
-+      469, 1105,  405, 1104,  470,   84,   87,   84, 1103,  412,
-+     1102,  474, 1101, 1100,  471, 1099, 1098,  473,   84,   87,
-+       84,  475, 1097, 1096,  478, 1095, 1094,  476, 1093, 1092,
-+
-+      477,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  479,   84,   87,   84,   84,   87,   84,
-+      480,   84,   87,   84,   84,   87,   84,  482,  484, 1091,
-+     1090,  485, 1089, 1088,  481,   84,   87,   84,  486,  483,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84, 1087,  487,   84,   87,   84,   84,   87,   84, 1086,
-+     1085,  488,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84, 1084,  492, 1075, 1074,  489, 1073,  493,
-+
-+       84,   87,   84,  490, 1072, 1071,  491,   84,   87,   84,
-+     1070, 1069,  495,   84,   87,   84,  494,   84,   87,   84,
-+      497,   84,   87,   84,  499,   84,   87,   84, 1068,  496,
-+       84,   87,   84,   84,   87,   84, 1067, 1066,  498, 1065,
-+       84,   87,   84, 1064, 1063,  500,   84,   87,   84, 1062,
-+     1061,  502, 1060, 1059,  503,   84,   87,   84, 1058,  501,
-+       84,   87,   84, 1057,  550,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84, 1056, 1055,   84,
-+       87,   84, 1054,  551,  552,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,  555, 1053, 1052,  553, 1051,   84,
-+
-+       87,   84, 1050, 1049,  554,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,  557,  556,  558,  559,   84,   87,
-+       84,   84,   87,   84,  566,   84,   87,   84, 1048,  494,
-+     1047, 1046,  569,  570,  571,  567,  560, 1045, 1044,  561,
-+      562,  563,  572, 1034, 1033,  573,   84,   87,   84,  574,
-+      575,  568,  564,  576,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84, 1032, 1031,  565,   84,   87,   84,  578,
-+       84,   87,   84, 1030,  577,   84,   87,   84, 1029, 1028,
-+      579,   84,   87,   84,  580,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,  582, 1027,  581,   84,   87,
-+       84,   84,   87,   84,  594,  595,  584,   84,   87,   84,
-+     1026, 1025,  583,   84,   87,   84,   84,   87,   84, 1024,
-+      596,  597,  585, 1023, 1022,  598, 1021,  586,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  588, 1020,  589,
-+       84,   87,   84,  587,   84,   87,   84,   84,   87,   84,
-+     1019,  590,   84,   87,   84,   84,   87,   84,  643,   84,
-+       87,   84, 1018, 1017,  591,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,  646, 1016, 1015,
-+
-+      644, 1014,  645, 1013,  647,  648,  649,   84,   87,   84,
-+     1012, 1011,  651,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,  653,   84,   87,   84,   84,   87,   84, 1010,
-+     1009,  654,  650,  658,   84,   87,   84,  652, 1008,  655,
-+      661,   84,   87,   84,   84,   87,   84,  659,   84,   87,
-+       84,  657,  660,  656, 1007,  662, 1006, 1005,  663,   84,
-+       87,   84,   84,   87,   84,  665,  664,   84,   87,   84,
-+       84,   87,   84, 1004,   84,   87,   84,  669,   84,   87,
-+       84, 1003,  668,   84,   87,   84, 1002, 1001,  666,   84,
-+       87,   84,  667,  670,   84,   87,   84,   84,   87,   84,
-+
-+       84,   87,   84,  671,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  989,  672,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      674,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      673,  988,  676,   84,   87,   84,  675,  987,  677,   84,
-+       87,   84,   84,   87,   84,  678,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,  986,  985,  731,  984,  983,
-+      732,   84,   87,   84,   84,   87,   84,  729,  982,  730,
-+      981,  733,   84,   87,   84,  980,  979,  734,   84,   87,
-+       84,   84,   87,   84,  736,  978,  735,   84,   87,   84,
-+
-+       84,   87,   84,  737,   84,   87,   84,   84,   87,   84,
-+      977,  738,   84,   87,   84,  743,  739,  744,  745,  976,
-+      747,  746,  975,  974,  741,  973,  740,   84,   87,   84,
-+      742,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,  749,  972,  750,  971,
-+      970,  748,  969,  753,   84,   87,   84,  968,  751,  967,
-+      966,  752,   84,   87,   84,   84,   87,   84,  755,  754,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,  965,
-+      757,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,  964,  963,  756,   84,
-+
-+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,  758,   84,   87,   84,   84,   87,
-+       84,  759,   84,   87,   84,   84,   87,   84,  962,  809,
-+      961,  807,   84,   87,   84,  960,  959,  808,  958,  810,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,  957,
-+      956,  811,   84,   87,   84,   84,   87,   84,  955,  954,
-+      812,  938,  935,  813,  934,   84,   87,   84,  933,   84,
-+       87,   84,   84,   87,   84,  818,  819,   84,   87,   84,
-+      814,   84,   87,   84,  932,  815,  820,  931,   84,   87,
-+       84,   84,   87,   84,  816,  930,  929,  817,  823,  824,
-+
-+      928,  927,  821,   84,   87,   84,  822,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,  926,  826,  827,  925,
-+      825,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      924,  923,  830,  831,   84,   87,   84,  922,  829,   84,
-+       87,   84,   84,   87,   84,  921,  828,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,  920,
-+      832,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      919,  918,  877,   84,   87,   84,   84,   87,   84,  917,
-+      916,   84,   87,   84,   84,   87,   84,  915,  914,  879,
-+      882,  878,  913,  912,  886,   84,   87,   84,  911,  880,
-+
-+      910,  887,  907,  906,  881,  883,  885,   84,   87,   84,
-+      905,  884,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,  904,  903,  888,   84,   87,   84,  902,  889,   84,
-+       87,   84,  901,  900,  890,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,  899,  898,  892,  893,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      891,   84,   87,   84,  897,  895,  876,  875,  894,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,  874,  896,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,  873,  872,  940,  871,   84,   87,   84,   84,
-+
-+       87,   84,   84,   87,   84,  939,  948,  870,  943,   84,
-+       87,   84,  942,   84,   87,   84,  869,  944,  941,  947,
-+       84,   87,   84,  946,   84,   87,   84,  949,  868,  945,
-+      867,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  866,  950,  951,   84,   87,   84,   84,
-+       87,   84,  865,  952,   84,   87,   84,   84,   87,   84,
-+      864,  953,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  863,   84,   87,   84,   84,   87,   84,
-+      862,  991,  861,  860,  998,   84,   87,   84,  994,   84,
-+
-+       87,   84,  990,  999,  997,  992,  859,  995,  858,  993,
-+      857, 1000,   84,   87,   84,   84,   87,   84,  856,  996,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,  855, 1035,  854,  850, 1043,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84, 1036,   84,   87,   84, 1041,  849,  848, 1038, 1042,
-+     1039,  847, 1037,  846,  845, 1040,   84,   87,   84,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,  844,  843,
-+     1076,  842, 1078,   84,   87,   84,  841, 1077,  840,  839,
-+
-+     1079,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      838,   84,   87,   84, 1080,   84,   87,   84,  837, 1081,
-+       84,   87,   84,  836,   84,   87,   84,  835, 1082,   84,
-+       87,   84,  834, 1083,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84, 1117,
-+     1148, 1115,   84,   87,   84, 1114, 1113, 1116, 1118,   84,
-+       87,   84,   84,   87,   84,   84,   87,   84,  833,  804,
-+     1147, 1119,   84,   87,   84,   84,   87,   84,   84,   87,
-+       84,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+      803,  802, 1150,  801, 1149,  800,  799, 1151,  798,  797,
-+
-+     1173,   84,   87,   84,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84,  796, 1174,  795, 1176,   84,   87,   84,
-+      794,  793, 1175,   84,   87,   84,   84,   87,   84, 1196,
-+       84,   87,   84, 1197,   84,   87,   84,   84,   87,   84,
-+       84,   87,   84, 1241,   84,   87,   84,   84,   87,   84,
-+      792, 1198,  791,  790, 1217, 1216,   84,   87,   84, 1231,
-+       84,   87,   84,   84,   87,   84,   84,   87,   84,  789,
-+      788, 1248, 1232, 1240,  787,  786,  785,  784,  783,  782,
-+     1247,  781,  780,  779, 1254,  778,  777,  776,  769,  768,
-+     1252,  767,  766,  765,  764,  763,  762,  761, 1258,  760,
-+
-+     1256,  728,  727,  726,  725,  724,  723,  722,  721,  720,
-+      719,  718, 1259,   46,   46,   46,   46,   50,   50,   50,
-+       50,   77,   77,   77,   77,   80,   80,   80,   80,   87,
-+       87,   96,   96,  186,  717,  186,  186,  716,  715,  714,
-+      713,  712,  709,  708,  707,  706,  705,  704,  703,  702,
-+      701,  700,  699,  698,  697,  696,  695,  694,  693,  692,
-       691,  690,  689,  688,  687,  686,  685,  684,  683,  682,
--      681,  680,  679,  678,  677,  676,  675,  674,  673,  672,
--      671,  670,  669,  668,  667,  666,  665,  664,  629,  628,
--      627,  624,  623,  622,  621,  620,  619,  618,  617,  616,
--      615,  614,  613,  612,  611,  610,  609,  608,  607,  606,
--      605,  604,  603,  602,  601,  600,  599,  598,  597,  596,
--
--      595,  594,  593,  592,  591,  590,  589,  588,  587,  586,
--      580,  579,  538,  533,  532,  531,  530,  529,  528,  527,
--      526,  525,  524,  523,  522,  521,  520,  519,  518,  517,
--      516,  515,  514,  513,  512,  511,  510,  509,  508,  507,
--      506,  505,  504,  503,  502,  501,  500,  499,  498,  497,
--      496,  495,  494,  493,  450,  449,  448,  447,  446,  445,
--      444,  440,  439,  438,  437,  436,  435,  434,  433,  432,
--      431,  430,  429,  428,  427,  426,  425,  424,  423,  422,
--      421,  420,  419,  418,  417,  416,  415,  412,  411,  410,
--      409,  408,  407,  374,  355,  354,  353,  352,  351,  350,
--
--      349,  346,  343,  342,  341,  340,  337,  333,  332,  331,
--      328,  327,  323,  322,  321,  317,  314,  313,  312,  177,
--      230,  174,  254,  149,  253,  252,  249,  248,  243,  239,
--      235,  224, 1234, 1234,  177,  174,  150,  149,  126,   93,
--     1234, 1234,   72,   46,   11, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
-+      681,  680,  679,  642,  641,  640,  637,  636,  635,  634,
-+      633,  632,  631,  630,  629,  628,  627,  626,  625,  624,
-+      623,  622,  621,  620,  619,  618,  617,  616,  615,  614,
-+
-+      613,  612,  611,  610,  609,  608,  607,  606,  605,  604,
-+      603,  602,  601,  600,  599,  593,  592,  549,  544,  543,
-+      542,  541,  540,  539,  538,  537,  536,  535,  534,  533,
-+      532,  531,  530,  529,  528,  527,  526,  525,  524,  523,
-+      522,  521,  520,  519,  518,  517,  516,  515,  514,  513,
-+      512,  511,  510,  509,  508,  507,  506,  505,  504,  459,
-+      458,  457,  456,  455,  454,  453,  449,  448,  447,  446,
-+      445,  444,  443,  442,  441,  440,  439,  438,  437,  436,
-+      435,  434,  433,  432,  431,  430,  429,  428,  427,  426,
-+      425,  424,  421,  420,  419,  418,  417,  416,  382,  362,
-+
-+      361,  360,  359,  358,  357,  356,  353,  350,  349,  348,
-+      347,  344,  340,  339,  338,  335,  334,  330,  329,  328,
-+      324,  321,  320,  319,  181,  235,  178,  259,  152,  258,
-+      257,  254,  253,  248,  244,  240,  229, 1260, 1260,  181,
-+      178,  153,  152,  129,   95, 1260, 1260,   74,   47,   11,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
- 
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
-     } ;
- 
--static yyconst flex_int16_t yy_chk[2916] =
-+static const flex_int16_t yy_chk[3021] =
-     {   0,
-         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-@@ -1169,320 +1177,331 @@ static yyconst flex_int16_t yy_chk[2916]
-         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
--        2,    4,    4,    5,    2,    4,    6,    8,   15,  245,
-+        2,    4,    4,    5,    2,    4,    6,    8,   15,  250,
-         5,    8,   10,    6,    7,   16,   10,   19,   10,   16,
--       17,   19,   17,   17,   23,   23,   23,  245,    7,   18,
-+       17,   19,   17,   17,   23,   23,   23,  250,    7,   18,
- 
--       18,   18,   18,   18,   80,   80,   24,   24,   24,   25,
--       25,   25,    7,  132,   26,   26,   26,   15,   27,   27,
--       27,    7,  132,    7,    7,   75,    7,    7,   26,    7,
--        7,    7,   24,    7,    7, 1088,    7,    7,    7,    7,
--        7,   20,   25,   20,   20,   43,   28,   28,   28,   43,
--       20,   20,   29,   29,   29,  184,  184,   20,   30,   30,
--       30,   32,   32,   32,   75,   27,   20,   31,   31,   31,
--       33,   33,   33,   47,   34,   34,   34,   47,   20,   20,
--       35,   35,   35,  131,   20,   70,   82,   28,   82,   70,
--       28,  133,   20,   28, 1096,   20,   36,   36,   36,   29,
--
--      133,   31,   73,   85,   30,   85,   73,   32,   34,   31,
--      233,   31,  131,   30,   37,   37,   37,   33,   78,   38,
--       38,   38,   78,   39,   39,   39, 1097,  233,   35,   40,
--       40,   40,  144,  127,   41,   41,   41,  127,   53,   53,
--       53,   54,   54,   54,  135,   36,  144, 1098,   36,   55,
--       55,   55,   63,   63,   63,   37,   37,   38,   37, 1099,
--       38,   83,   83,   83,  177,   37,  825,  825,   38,   39,
--       41,   40,   53,  177,  135,   38,   40,   44,   44,   44,
--       44,   44,   44,   44,   44,   44,   63, 1100,   44,   44,
--       54,   44,   44,   55,   44,   44,   44,   44,   44,   56,
--
--       56,   56,  134,   57,   57,   57,  134,   59,   59,   59,
--       58,   58,   58, 1102,   60,   60,   60,   61,   61,   61,
--      224, 1103,   62,   62,   62,   64,   64,   64,   65,   65,
--       65,  224, 1104,   56,   66,   66,   66,   68,   68,   68,
--       56,   57, 1105,   56,   58,   59,   56,   94,   94,   94,
--       57,   60,   58,  129,   58,   61,   62,   58, 1106, 1109,
--       60,   67,   67,   67,   62,  240,   65,  147,  129,   62,
--      240,  147,   66,   64,   64,   66,   66,  179,   66,  179,
--       69,   69,   69,   68,  129,   66,   84,   68,   84,   84,
--       84,  172,  238,   88,   88,  172,   84,   84,  238,   67,
--
--       88,   88,   67,   67,   89,   89,  238,  175,   89,   89,
--       67,  175,  535,   95,   95,   95,  535,   67,   69,   96,
--       96,   96,   69,  319,   84,   84,  319,   69,   88,   88,
--       95,   97,   97,   97,   98,   98,   98,   99,   99,   99,
--      100,  100,  100,   96,  101,  101,  101,  102,  102,  102,
--     1110, 1111,   97,  103,  103,  103,  104,  104,  104,  105,
--      105,  105,  106,  106,  106,  107,  107,  107,  108,  108,
--      108,   99, 1112, 1113,  100,  109,  109,  109,  110,  110,
--      110,   98,  111,  111,  111,  112,  112,  112,  247, 1114,
--      101,  113,  113,  113,  114,  114,  114,  247, 1116,  102,
--
--      115,  115,  115,  105,  104,  103, 1117, 1118,  106,  116,
--      116,  116,  107,  117,  117,  117,  118,  118,  118,  108,
--      111,  109,  181,  110,  181, 1120,  113,  112,  119,  119,
--      119, 1121,  112,  120,  120,  120,  121,  121,  121,  137,
--      115,  114,  122,  122,  122,  137,  137,  117,  123,  123,
--      123,  124,  124,  124, 1126,  449,  116,  115,  125,  125,
--      125,  118,  117,  139,  141,  448,  141,  139,  449,  141,
--      448,  141,  151,  151,  151, 1127,  139,  119,  152,  152,
--      152,  153,  153,  153,  121,  120,  611,  154,  154,  154,
--     1128,  611,  122,  124,  155,  155,  155,  123, 1129,  125,
--
--      156,  156,  156,  157,  157,  157,  158,  158,  158,  159,
--      159,  159,  160,  160,  160,  675,  151,  161,  161,  161,
--     1130,  162,  162,  162, 1131,  153,  163,  163,  163,  675,
--      152,  154, 1132,  155,  164,  164,  164,  165,  165,  165,
--      166,  166,  166,  167,  167,  167,  169,  169,  169,  156,
--      168,  168,  168,  161,  157,  170,  170,  170,  160,  171,
--      171,  171,  178,  178,  163,  159,  162, 1133, 1134,  178,
--      178,  164,  187,  187,  187,  180,  180,  163,  180,  180,
--      180, 1137,  165,  167,  185,  185,  189,  189,  189,  187,
--     1138,  166,  185,  170,  169,  168, 1140,  178,  178,  713,
--
--      167,  713,  183,  183,  188,  188,  188, 1142,  171,  183,
--      183,  190,  190,  190,  191,  191,  191, 1143,  188,  189,
--      185,  188,  192,  192,  192,  193,  193,  193,  856,  194,
--      194,  194,  195,  195,  195,  856, 1144,  183,  183,  196,
--      196,  196,  197,  197,  197,  198,  198,  198,  199,  199,
--      199,  200,  200,  200, 1145,  190,  201,  201,  201,  202,
--      202,  202, 1146,  191,  194,  203,  203,  203,  204,  204,
--      204, 1151,  192,  226,  226,  193,  226,  195, 1135,  198,
--     1152, 1154,  199,  196,  205,  205,  205,  206,  206,  206,
--     1155, 1135,  197,  207,  207,  207,  201,  202,  208,  208,
--
--      208,  209,  209,  209,  210,  210,  210,  211,  211,  211,
--      212,  212,  212, 1156,  203,  213,  213,  213,  214,  214,
--      214,  204,  215,  215,  215, 1157,  216,  216,  216, 1158,
--     1160,  206,  217,  217,  217,  205,  218,  218,  218,  209,
--     1161,  230,  207, 1162,  208,  219,  219,  219, 1163,  220,
--      220,  220, 1164,  230, 1165,  210,  230,  761,  211, 1166,
--      215,  761,  212,  213,  216,  214,  255,  255,  255,  256,
--      256,  256, 1167,  761,  217,  257,  257,  257,  258,  258,
--      258, 1168,  219,  220,  259,  259,  259,  218,  260,  260,
--      260,  261,  261,  261,  262,  262,  262,  263,  263,  263,
--
--      264,  264,  264,  265,  265,  265, 1169,  256,  257,  266,
--      266,  266,  267,  267,  267, 1173,  255, 1174,  259,  268,
--      268,  268,  258,  269,  269,  269,  270,  270,  270,  271,
--      271,  271, 1175,  260,  274,  274,  274,  263,  264, 1176,
--     1178,  265,  272,  272,  272,  273,  273,  273,  262, 1179,
--      267,  266,  276, 1180,  276,  276,  276,  277, 1181,  277,
--      277,  277,  278,  278,  278, 1183,  268,  271,  277,  279,
--      279,  279,  270,  280,  280,  280, 1185, 1186,  273, 1187,
--      272,  279, 1189, 1194,  274,  281,  281,  281,  282,  282,
--      282,  281, 1197,  280, 1198, 1199,  277,  283,  283,  283,
--
--      284,  284,  284,  285,  285,  285,  281,  281,  281,  281,
--     1200,  286,  286,  286,  287,  287,  287,  288,  288,  288,
--      289,  289,  289,  290,  290,  290,  291,  291,  291,  292,
--      292,  292,  293,  293,  293,  294,  294,  294,  295,  295,
--      295,  296,  296,  296,  297,  297,  297,  298,  298,  298,
--      284,  299,  299,  299,  285,  286, 1201, 1202,  289,  288,
--      300,  300,  300,  301,  301,  301, 1208,  290, 1209,  294,
--     1210, 1212,  295,  302,  302,  302,  347,  291, 1213,  296,
--      347, 1217,  293,  347, 1218,  299,  297, 1219, 1224,  299,
--      303,  303,  303,  300,  304,  304,  304, 1227,  298,  305,
--
--      305,  305,  306,  306,  306,  307,  307,  307,  308,  308,
--      308, 1229, 1242,  301, 1087,  302,  309,  309,  309,  310,
--      310,  310,  311,  311,  311, 1086,  303,  356,  356,  356,
--      357,  357,  357,  358,  358,  358, 1085, 1083,  304,  359,
--      359,  359,  307,  360,  360,  360, 1082, 1081,  308,  361,
--      361,  361, 1080,  305,  362,  362,  362,  363,  363,  363,
--      364,  364,  364, 1079, 1077,  356, 1076, 1075,  309, 1074,
--     1073,  311,  359,  365,  365,  365, 1072,  366,  366,  366,
--     1071, 1070,  358,  361,  367,  367,  367,  368,  368,  368,
--     1069,  369,  369,  369, 1068,  360,  370,  370,  370, 1067,
--
--     1066,  362,  371,  371,  371, 1065,  364, 1064, 1063,  363,
--      372,  372,  372,  373,  373,  373,  375,  375,  375, 1062,
--      376,  376,  376,  365,  366,  369,  378,  378,  378,  369,
--      377,  377,  377,  367, 1061,  375,  380,  380,  380,  371,
--      368,  379,  379,  379,  372,  376,  370, 1060, 1052,  377,
--      381,  381,  381, 1051,  372,  373,  378,  382,  382,  382,
--     1050,  379, 1049, 1048,  381,  380, 1045,  381,  383,  383,
--      383,  384,  384,  384,  381,  385,  385,  385,  386,  386,
--      386,  387,  387,  387,  388,  388,  388,  389,  389,  389,
--      390,  390,  390,  391,  391,  391,  392,  392,  392, 1044,
--
--      393,  393,  393,  394,  394,  394,  395,  395,  395,  384,
--     1043,  385,  396,  396,  396,  397,  397,  397,  398,  398,
--      398,  399,  399,  399,  400,  400,  400,  401,  401,  401,
--     1042, 1041,  392,  677,  677,  389,  393,  402,  402,  402,
--     1039,  390,  677, 1038,  391,  403,  403,  403,  677,  396,
--      395,  404,  404,  404,  405,  405,  405,  399,  406,  406,
--      406,  401,  451,  451,  451, 1037,  397,  452,  452,  452,
--      453,  453,  453, 1036, 1035,  400, 1034,  454,  454,  454,
--      455,  455,  455,  403,  456,  456,  456, 1033,  405, 1032,
--     1031,  406,  457,  457,  457, 1030, 1029,  404,  458,  458,
--
--      458,  452, 1028,  459,  459,  459,  460,  460,  460,  461,
--      461,  461,  462,  462,  462,  463,  463,  463, 1027, 1026,
--      453,  454,  464,  464,  464, 1025,  457,  465,  465,  465,
--     1024,  455, 1023,  456,  466,  466,  466,  467,  467,  467,
--      468,  468,  468,  467,  469,  469,  469,  461,  458,  459,
--      471,  471,  471,  470,  470,  470,  462,  471, 1022, 1021,
--      470,  470,  470,  462,  468, 1012,  463, 1011, 1010,  465,
--      470,  464, 1009,  470,  469, 1007, 1006,  470,  470, 1005,
--     1004,  466,  472,  472,  472,  473,  473,  473,  474,  474,
--      474,  475,  475,  475,  476,  476,  476,  473,  477,  477,
--
--      477, 1003,  472, 1002, 1001,  475,  999,  998,  474,  478,
--      478,  478,  479,  479,  479,  480,  480,  480,  481,  481,
--      481,  482,  482,  482,  483,  483,  483,  484,  484,  484,
--      485,  485,  485,  486,  486,  486,  487,  487,  487,  997,
--      477,  996,  995,  478,  488,  488,  488,  489,  489,  489,
--      490,  490,  490,  480,  491,  491,  491,  994,  993,  479,
--      492,  492,  492,  495,  495,  539,  539,  539,  992,  481,
--      540,  540,  540,  991,  483,  541,  541,  541,  990,  495,
--      495,  542,  542,  542,  495,  989,  489,  988,  490,  987,
--      543,  543,  543,  986,  985,  488,  984,  983,  491,  544,
--
--      544,  544,  545,  545,  545,  982,  981,  539,  546,  546,
--      546,  492,  547,  547,  547,  548,  548,  548,  549,  549,
--      549,  980,  540,  550,  550,  550,  541,  543,  551,  551,
--      551,  552,  552,  552,  553,  553,  553,  979,  968,  544,
--      545,  967,  546,  966,  965,  547,  554,  554,  554,  964,
--      963,  553,  549,  962,  555,  555,  555,  556,  556,  556,
--      557,  557,  557,  550,  961,  960,  557,  548,  558,  558,
--      558,  959,  958,  551,  559,  559,  559,  552,  555,  560,
--      560,  560,  558,  556,  957,  956,  560,  955,  559,  561,
--      561,  561,  562,  562,  562,  563,  563,  563,  564,  564,
--
--      564,  565,  565,  565,  954,  564,  561,  566,  566,  566,
--      563,  567,  567,  567,  568,  568,  568,  953,  562,  951,
--      565,  950,  562,  569,  569,  569,  570,  570,  570,  571,
--      571,  571,  566,  572,  572,  572,  573,  573,  573,  574,
--      574,  574,  567,  575,  575,  575,  576,  576,  576,  577,
--      577,  577,  578,  578,  578,  630,  630,  630,  949,  569,
--      631,  631,  631,  947,  946,  568,  632,  632,  632,  945,
--      944,  572,  634,  634,  634,  570,  943,  574,  633,  633,
--      633,  942,  941,  576,  635,  635,  635,  636,  636,  636,
--      637,  637,  637,  638,  638,  638,  639,  639,  639,  632,
--
--      640,  640,  640,  940,  939,  630,  938,  937,  631,  936,
--      634,  633,  641,  641,  641,  642,  642,  642,  935,  643,
--      643,  643,  635,  644,  644,  644,  645,  645,  645,  934,
--      933,  636,  918,  917,  637,  916,  915,  645,  914,  913,
--      644,  639,  638,  643,  646,  646,  646,  647,  647,  647,
--      912,  911,  640,  910,  641,  647,  648,  648,  648,  909,
--      907,  646,  649,  649,  649,  650,  650,  650,  651,  651,
--      651,  652,  652,  652,  653,  653,  653,  649,  906,  650,
--      648,  654,  654,  654,  653,  655,  655,  655,  902,  651,
--      901,  655,  652,  656,  656,  656,  654,  657,  657,  657,
--
--      658,  658,  658,  659,  659,  659,  900,  657,  660,  660,
--      660,  661,  661,  661,  662,  662,  662,  663,  663,  663,
--      714,  714,  714,  715,  715,  715,  656,  716,  716,  716,
--      717,  717,  717,  718,  718,  718,  719,  719,  719,  899,
--      898,  659,  720,  720,  720,  721,  721,  721,  661,  722,
--      722,  722,  897,  896,  716,  723,  723,  723,  714,  895,
--      894,  715,  893,  892,  717,  724,  724,  724,  725,  725,
--      725,  726,  726,  726,  727,  727,  727,  728,  728,  728,
--      729,  729,  729,  721,  730,  730,  730,  722,  728,  731,
--      731,  731,  891,  890,  727,  889,  888,  729,  732,  732,
--
--      732,  887,  886,  723,  733,  733,  733,  885,  732,  730,
--      724,  884,  733,  883,  731,  734,  734,  734,  882,  725,
--      735,  735,  735,  736,  736,  736,  737,  737,  737,  881,
--      735,  736,  734,  738,  738,  738,  739,  739,  739,  740,
--      740,  740,  880,  879,  739,  739,  741,  741,  741,  857,
--      738,  742,  742,  742,  790,  790,  790,  855,  854,  737,
--      791,  791,  791,  792,  792,  792,  793,  793,  793,  794,
--      794,  794,  740,  795,  795,  795,  796,  796,  796,  797,
--      797,  797,  798,  798,  798,  853,  851,  790,  799,  799,
--      799,  800,  800,  800,  801,  801,  801,  802,  802,  802,
--
--      801,  800,  850,  794,  849,  792,  803,  803,  803,  791,
--      804,  804,  804,  799,  848,  793,  846,  797,  804,  845,
--      798,  805,  805,  805,  806,  806,  806,  807,  807,  807,
--      844,  805,  843,  842,  806,  808,  808,  808,  809,  809,
--      809,  810,  810,  810,  841,  840,  809,  809,  811,  811,
--      811,  812,  812,  812,  813,  813,  813,  858,  858,  858,
--      808,  859,  859,  859,  839,  812,  838,  837,  811,  860,
--      860,  860,  861,  861,  861,  836,  862,  862,  862,  813,
--      863,  863,  863,  864,  864,  864,  865,  865,  865,  835,
--      834,  866,  866,  866,  859,  867,  867,  867,  868,  868,
--
--      868,  833,  867,  832,  829,  858,  869,  869,  869,  870,
--      870,  870,  861,  862,  866,  871,  871,  871,  860,  828,
--      864,  827,  826,  868,  824,  823,  863,  872,  872,  872,
--      873,  873,  873,  874,  874,  874,  875,  875,  875,  876,
--      876,  876,  822,  821,  873,  820,  819,  872,  919,  919,
--      919,  818,  874,  920,  920,  920,  921,  921,  921,  817,
--      875,  922,  922,  922,  923,  923,  923,  924,  924,  924,
--      925,  925,  925,  926,  926,  926,  927,  927,  927,  928,
--      928,  928,  929,  929,  929,  930,  930,  930,  931,  931,
--      931,  816,  815,  927,  814,  920,  932,  932,  932,  789,
--
--      788,  929,  787,  925,  919,  785,  923,  921,  784,  930,
--      969,  969,  969,  922,  970,  970,  970,  781,  924,  971,
--      971,  971,  972,  972,  972,  779,  973,  973,  973,  974,
--      974,  974,  975,  975,  975,  976,  976,  976,  977,  977,
--      977,  778,  777,  969,  776,  976,  978,  978,  978, 1013,
--     1013, 1013, 1014, 1014, 1014, 1015, 1015, 1015,  775,  774,
--      970,  773,  974, 1016, 1016, 1016,  975,  972, 1017, 1017,
--     1017,  971,  973, 1018, 1018, 1018, 1019, 1019, 1019, 1020,
--     1020, 1020, 1053, 1053, 1053,  772,  771, 1013,  770, 1015,
--     1054, 1054, 1054,  769, 1014, 1055, 1055, 1055, 1056, 1056,
--
--     1056, 1016, 1057, 1057, 1057, 1059, 1059, 1059, 1017, 1058,
--     1058, 1058, 1089, 1089, 1089, 1090, 1090, 1090,  767, 1018,
--     1091, 1091, 1091,  766, 1019, 1092, 1092, 1092,  765,  764,
--     1091,  763, 1093, 1093, 1093,  762,  760, 1053,  759, 1055,
--      758, 1054,  757, 1058, 1056,  756,  755, 1059, 1089, 1094,
--     1094, 1094, 1122, 1122, 1122, 1123, 1123, 1123, 1124, 1124,
--     1124, 1125, 1125, 1125, 1147, 1147, 1147, 1148, 1148, 1148,
--     1149, 1149, 1149, 1150, 1150, 1150, 1092, 1093, 1170, 1170,
--     1170, 1171, 1171, 1171, 1172, 1172, 1172, 1191, 1191, 1191,
--     1122, 1190, 1190, 1190, 1205, 1205, 1205,  754,  753, 1125,
--
--     1206, 1206, 1206,  752, 1123, 1214, 1214, 1214, 1124, 1215,
--     1215, 1215, 1147, 1206,  751,  750, 1148, 1221, 1221, 1221,
--     1222, 1222, 1222, 1150, 1226, 1226, 1226,  749, 1171, 1170,
--     1228, 1228, 1228, 1190,  748,  747, 1191, 1230, 1230, 1230,
--      746, 1205,  745, 1215, 1232, 1232, 1232, 1233, 1233, 1233,
--      744, 1214,  743,  712,  711,  710,  709,  708,  707,  705,
--      704, 1226,  703,  702,  701,  700, 1222,  699,  698,  697,
--      696,  695,  694,  693, 1228, 1230,  692,  690,  689,  687,
--      685,  684,  683,  680,  679,  678,  674,  673,  671,  670,
--      669,  668,  667, 1232, 1235, 1235, 1235, 1235, 1236, 1236,
--
--     1236, 1236, 1237, 1237, 1237, 1237, 1238, 1238, 1238, 1238,
--     1239, 1239, 1240, 1240, 1241,  666, 1241, 1241,  665,  664,
--      629,  628,  627,  626,  625,  624,  623,  622,  621,  620,
--      619,  618,  617,  616,  614,  613,  612,  610,  609,  608,
--      607,  606,  605,  604,  602,  601,  600,  599,  598,  597,
--      596,  595,  594,  593,  592,  591,  590,  589,  588,  587,
--      586,  585,  584,  583,  582,  581,  580,  579,  538,  537,
--      536,  534,  533,  532,  531,  530,  529,  528,  527,  526,
--      525,  524,  523,  522,  521,  520,  519,  518,  517,  516,
--      515,  514,  513,  512,  511,  510,  509,  508,  507,  506,
--
--      505,  504,  503,  502,  501,  500,  499,  498,  497,  496,
--      494,  493,  450,  447,  446,  445,  444,  443,  442,  441,
--      440,  439,  438,  437,  436,  435,  434,  433,  432,  431,
--      430,  429,  428,  427,  426,  425,  424,  423,  422,  421,
--      420,  419,  418,  417,  416,  415,  414,  413,  412,  411,
--      410,  409,  408,  407,  354,  353,  352,  351,  350,  349,
--      348,  346,  345,  344,  343,  342,  341,  340,  339,  338,
--      337,  336,  335,  334,  333,  332,  331,  330,  329,  328,
--      327,  326,  325,  324,  322,  321,  320,  318,  317,  316,
--      315,  314,  313,  275,  254,  253,  252,  251,  250,  249,
--
--      248,  246,  244,  243,  242,  241,  239,  237,  235,  234,
--      232,  231,  229,  228,  227,  225,  223,  222,  221,  176,
--      174,  173,  149,  148,  146,  145,  143,  142,  140,  138,
--      136,  130,   81,   77,   74,   71,   51,   48,   42,   22,
--       21,   11,    9,    3, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
-+       18,   18,   18,   18,   82,   82,   24,   24,   24,   25,
-+       25,   25,    7,   26,   26,   26,   44,   15,   48,  135,
-+       44,    7,   48,    7,    7, 1112,    7,    7,  135,    7,
-+        7,    7,   24,    7,    7,    7,    7,    7,    7,    7,
-+        7,   20,  147,   20,   20, 1121,   26,   27,   27,   27,
-+       20,   20,   28,   28,   28,   77,  147,   20,   30,   30,
-+       30,   27,   29,   29,   29,   25,   20,   31,   31,   31,
-+       32,   32,   32,   33,   33,   33,  188,  188,   20,   20,
-+       34,   34,   34,   84,   20,   84,   35,   35,   35,   36,
-+       36,   36,   20, 1122,   77,   20,   37,   37,   37,   28,
-+
-+       38,   38,   38,   29,   32,   30,   29,   72,   87,   29,
-+       87,   72,   32,   31,   32,   39,   39,   39,  134,   33,
-+       35,  238,   31,   40,   40,   40, 1123,   34,   41,   41,
-+       41,   42,   42,   42,   54,   54,   54,   36,  238,   75,
-+      136,   38,   38,   75,   38,   37,   80,  134,   37,  136,
-+       80,   38,  458,   39,  181,  229,   39,   55,   55,   55,
-+       56,   56,   56,  181,   39,  458,  229,   42,   54,   40,
-+       41,   39,   58,   58,   58,   41,   45,   45,   45,   45,
-+       45,   45,   45,   45,   45,  130, 1124,   45,   45,  130,
-+       45,   45, 1125,   45,   45,   45,   45,   45,   57,   57,
-+
-+       57,   61,   61,   61,   56,  132,   55,   59,   59,   59,
-+       58, 1127,   60,   60,   60,   62,   62,   62,  138,   58,
-+      132,   63,   63,   63,   64,   64,   64,   65,   65,   65,
-+      875,  235,   57,   66,   66,   66,  132,  875,   61,   57,
-+      137,   59,   57,  235,  137,   57,  235,   61,  138,   59,
-+       60,   59,  150,   62,   59,   63,  150,  245,   64,   67,
-+       67,   67,  245,   63,   68,   68,   68, 1128,   63,   69,
-+       69,   69,   85,   85,   85,   65,   65,   70,   70,   70,
-+      142,  183,   66,  183,  142,   66,   71,   71,   71,   66,
-+       91,   91,  176,  142,   91,   91,  176,   67,   96,   96,
-+
-+       96,  185,   68,  185,  457,   68,   68,   69,   68,  457,
-+       69,   69,   90,   90,  728,   68,  728,  179,   69,   90,
-+       90,  179,  546,   70,   71,   69,  546,   70,   71,   97,
-+       97,   97,   86,   71,   86,   86,   86, 1129,  140,   98,
-+       98,   98,   86,   86,  140,  140,   97,   90,   90,   99,
-+       99,   99, 1130,  100,  100,  100,  101,  101,  101,  102,
-+      102,  102,  103,  103,  103,  104,  104,  104,  844,  844,
-+       86,   86,   98,   99,  100,  105,  105,  105,  106,  106,
-+      106,  107,  107,  107,  108,  108,  108,  109,  109,  109,
-+      110,  110,  110,  102, 1131, 1134,  103,  111,  111,  111,
-+
-+      112,  112,  112,  101,  113,  113,  113,  114,  114,  114,
-+     1135,  104,  115,  115,  115,  116,  116,  116,  117,  117,
-+      117,  118,  118,  118,  119,  119,  119,  105,  108,  107,
-+      106, 1136, 1137,  109,  120,  120,  120,  110,  252,  121,
-+      121,  121,  122,  122,  122,  114,  112,  252,  111,  113,
-+      116,  123,  123,  123,  115,  624,  124,  124,  124,  115,
-+      624,  118,  125,  125,  125,  117,  231,  231,  120,  231,
-+     1138,  119,  126,  126,  126,  127,  127,  127,  118,  128,
-+      128,  128, 1139,  120,  121,  144,  326,  144,  690,  326,
-+      144,  122,  144,  154,  154,  154,  155,  155,  155,  156,
-+
-+      156,  156,  690,  123,  124,  157,  157,  157,  158,  158,
-+      158, 1141,  125,  159,  159,  159, 1142,  127, 1143, 1145,
-+      128,  126,  160,  160,  160,  161,  161,  161,  162,  162,
-+      162,  163,  163,  163,  164,  164,  164,  154,  165,  165,
-+      165, 1146, 1152,  156,  166,  166,  166,  158,  155,  157,
-+      167,  167,  167,  168,  168,  168,  169,  169,  169,  170,
-+      170,  170,  159,  171,  171,  171,  172,  172,  172, 1153,
-+      164, 1154, 1155,  160,  173,  173,  173,  163,  174,  174,
-+      174, 1156,  166,  165,  162, 1157,  168,  167,  175,  175,
-+      175,  182,  182,  354, 1158,  166, 1159,  354,  182,  182,
-+
-+      354,  169, 1160,  171,  184,  184, 1161,  184,  184,  184,
-+      170,  172, 1163,  189,  189, 1164,  174,  187,  187, 1161,
-+      171,  189,  173, 1166,  187,  187,  182,  182,  191,  191,
-+      191,  192,  192,  192,  193,  193,  193,  175,  194,  194,
-+      194,  195,  195,  195, 1168,  191, 1169, 1170,  193,  189,
-+     1171,  193,  187,  187,  196,  196,  196,  197,  197,  197,
-+      198,  198,  198,  199,  199,  199,  200,  200,  200, 1172,
-+     1177,  194,  201,  201,  201,  202,  202,  202,  203,  203,
-+      203,  192,  205,  205,  205,  195,  204,  204,  204,  206,
-+      206,  206,  207,  207,  207,  208,  208,  208,  199,  209,
-+
-+      209,  209, 1178,  196,  210,  210,  210,  197, 1180, 1181,
-+      198,  200,  203,  211,  211,  211,  201,  212,  212,  212,
-+      204,  213,  213,  213, 1182,  202,  214,  214,  214,  206,
-+      207,  215,  215,  215,  216,  216,  216,  217,  217,  217,
-+      218,  218,  218, 1183,  208,  219,  219,  219,  220,  220,
-+      220, 1184,  209, 1186, 1187,  210, 1188,  211,  221,  221,
-+      221,  222,  222,  222,  214, 1189,  212,  213,  223,  223,
-+      223,  224,  224,  224, 1190,  225,  225,  225,  260,  260,
-+      260,  243,  215, 1191, 1192,  216,  220,  243,  218,  217,
-+     1193, 1194,  219, 1195, 1199,  243,  221,  261,  261,  261,
-+
-+      262,  262,  262,  222,  263,  263,  263, 1200,  224,  225,
-+      264,  264,  264,  265,  265,  265,  266,  266,  266,  223,
-+      267,  267,  267,  268,  268,  268, 1201, 1202,  260,  269,
-+      269,  269, 1204,  262, 1205,  261, 1206,  270,  270,  270,
-+      271,  271,  271, 1207,  264,  272,  272,  272,  263,  273,
-+      273,  273, 1209,  274,  274,  274, 1211, 1212,  265,  275,
-+      275,  275, 1213,  268,  276,  276,  276,  269,  277,  277,
-+      277,  278,  278,  278,  267,  270, 1215,  778,  279,  279,
-+      279,  778,  271,  272,  280,  280,  280,  282, 1220,  282,
-+      282,  282,  283,  778,  283,  283,  283, 1223, 1224,  273,
-+
-+      274, 1225, 1226,  283, 1227, 1228,  277, 1234, 1235,  278,
-+      276,  279,  284,  284,  284,  285,  285,  285,  286,  286,
-+      286,  287,  287,  287, 1236, 1238,  288,  288,  288, 1239,
-+      286,  283,  288, 1243,  280,  289,  289,  289,  290,  290,
-+      290,  287,  291,  291,  291, 1244, 1245,  288,  288,  288,
-+      288,  292,  292,  292,  293,  293,  293,  294,  294,  294,
-+     1250,  295,  295,  295, 1253,  285,  296,  296,  296,  297,
-+      297,  297,  298,  298,  298,  299,  299,  299,  300,  300,
-+      300,  301,  301,  301,  302,  302,  302,  303,  303,  303,
-+     1255, 1268,  291,  304,  304,  304, 1111, 1110,  293,  305,
-+
-+      305,  305,  292,  295,  296,  306,  306,  306,  307,  307,
-+      307, 1109, 1107,  297, 1106,  301, 1105, 1104,  302,  308,
-+      308,  308, 1103,  298, 1101,  303, 1100, 1099,  300,  309,
-+      309,  309,  310,  310,  310,  304,  311,  311,  311,  306,
-+     1098,  307, 1097,  306,  312,  312,  312,  313,  313,  313,
-+      305,  314,  314,  314,  315,  315,  315,  316,  316,  316,
-+      317,  317,  317,  318,  318,  318, 1096, 1095,  310,  308,
-+     1094,  309,  363,  363,  363,  364,  364,  364,  692,  692,
-+      311,  365,  365,  365,  366,  366,  366,  692,  314,  367,
-+      367,  367, 1093,  692,  315,  368,  368,  368,  312,  369,
-+
-+      369,  369,  370,  370,  370,  371,  371,  371, 1092,  316,
-+      363, 1091,  318,  372,  372,  372, 1090,  366,  373,  373,
-+      373,  374,  374,  374,  375,  375,  375, 1089, 1088,  368,
-+      365,  376,  376,  376,  377,  377,  377,  378,  378,  378,
-+     1087,  367,  379,  379,  379, 1086,  369,  380,  380,  380,
-+     1085,  371, 1084, 1075,  370,  381,  381,  381,  383,  383,
-+      383, 1074, 1073,  372, 1072,  373, 1071, 1068,  377, 1067,
-+      374, 1066,  377, 1065,  375,  384,  384,  384, 1064,  379,
-+     1062,  380, 1061, 1060,  376, 1059, 1058,  378,  385,  385,
-+      385,  380, 1057, 1056,  384, 1055, 1054,  381, 1053, 1052,
-+
-+      383,  386,  386,  386,  387,  387,  387,  388,  388,  388,
-+      389,  389,  389,  385,  390,  390,  390,  391,  391,  391,
-+      386,  392,  392,  392,  393,  393,  393,  388,  390, 1051,
-+     1050,  390, 1049, 1048,  387,  394,  394,  394,  390,  389,
-+      395,  395,  395,  396,  396,  396,  397,  397,  397,  398,
-+      398,  398,  399,  399,  399,  400,  400,  400,  401,  401,
-+      401, 1047,  393,  402,  402,  402,  403,  403,  403, 1046,
-+     1045,  394,  404,  404,  404,  405,  405,  405,  406,  406,
-+      406,  407,  407,  407,  408,  408,  408,  409,  409,  409,
-+      410,  410,  410, 1044,  401, 1034, 1033,  398, 1032,  402,
-+
-+      411,  411,  411,  399, 1031, 1029,  400,  412,  412,  412,
-+     1028, 1027,  405,  413,  413,  413,  404,  414,  414,  414,
-+      408,  415,  415,  415,  410,  460,  460,  460, 1026,  406,
-+      461,  461,  461,  462,  462,  462, 1025, 1024,  409, 1023,
-+      463,  463,  463, 1021, 1020,  412,  464,  464,  464, 1019,
-+     1018,  414, 1017, 1016,  415,  465,  465,  465, 1015,  413,
-+      466,  466,  466, 1014,  461,  467,  467,  467,  468,  468,
-+      468,  469,  469,  469,  470,  470,  470, 1013, 1012,  471,
-+      471,  471, 1011,  462,  463,  472,  472,  472,  473,  473,
-+      473,  474,  474,  474,  466, 1010, 1009,  464, 1008,  475,
-+
-+      475,  475, 1007, 1006,  465,  476,  476,  476,  477,  477,
-+      477,  479,  479,  479,  468,  467,  470,  471,  478,  478,
-+      478,  480,  480,  480,  478,  481,  481,  481, 1005,  472,
-+     1004, 1003,  481,  481,  481,  479,  472, 1002, 1001,  473,
-+      474,  475,  481,  989,  988,  481,  482,  482,  482,  481,
-+      481,  480,  476,  482,  483,  483,  483,  484,  484,  484,
-+      485,  485,  485,  987,  986,  477,  487,  487,  487,  484,
-+      486,  486,  486,  985,  483,  488,  488,  488,  984,  983,
-+      485,  489,  489,  489,  486,  490,  490,  490,  491,  491,
-+      491,  492,  492,  492,  493,  493,  493,  494,  494,  494,
-+
-+      495,  495,  495,  496,  496,  496,  497,  497,  497,  498,
-+      498,  498,  499,  499,  499,  489,  982,  488,  500,  500,
-+      500,  501,  501,  501,  506,  506,  491,  502,  502,  502,
-+      981,  980,  490,  503,  503,  503,  550,  550,  550,  979,
-+      506,  506,  492,  978,  977,  506,  976,  494,  551,  551,
-+      551,  552,  552,  552,  553,  553,  553,  500,  975,  501,
-+      554,  554,  554,  499,  555,  555,  555,  556,  556,  556,
-+      974,  502,  557,  557,  557,  558,  558,  558,  550,  559,
-+      559,  559,  972,  971,  503,  560,  560,  560,  561,  561,
-+      561,  562,  562,  562,  563,  563,  563,  554,  970,  968,
-+
-+      551,  967,  552,  966,  555,  556,  557,  564,  564,  564,
-+      965,  964,  559,  565,  565,  565,  566,  566,  566,  567,
-+      567,  567,  561,  568,  568,  568,  569,  569,  569,  963,
-+      962,  562,  558,  566,  570,  570,  570,  560,  961,  563,
-+      570,  571,  571,  571,  572,  572,  572,  568,  574,  574,
-+      574,  565,  569,  564,  960,  571,  959,  958,  572,  573,
-+      573,  573,  575,  575,  575,  574,  573,  576,  576,  576,
-+      577,  577,  577,  957,  578,  578,  578,  577,  579,  579,
-+      579,  956,  576,  580,  580,  580,  955,  954,  575,  581,
-+      581,  581,  575,  578,  582,  582,  582,  583,  583,  583,
-+
-+      584,  584,  584,  579,  585,  585,  585,  586,  586,  586,
-+      587,  587,  587,  938,  580,  588,  588,  588,  589,  589,
-+      589,  590,  590,  590,  591,  591,  591,  643,  643,  643,
-+      582,  644,  644,  644,  645,  645,  645,  646,  646,  646,
-+      581,  937,  585,  647,  647,  647,  583,  936,  587,  648,
-+      648,  648,  649,  649,  649,  589,  650,  650,  650,  651,
-+      651,  651,  652,  652,  652,  935,  934,  645,  933,  932,
-+      646,  653,  653,  653,  654,  654,  654,  643,  931,  644,
-+      930,  647,  655,  655,  655,  929,  927,  648,  656,  656,
-+      656,  658,  658,  658,  650,  926,  649,  657,  657,  657,
-+
-+      659,  659,  659,  651,  661,  661,  661,  660,  660,  660,
-+      922,  652,  662,  662,  662,  658,  653,  659,  660,  921,
-+      662,  661,  920,  919,  655,  918,  654,  663,  663,  663,
-+      657,  664,  664,  664,  665,  665,  665,  666,  666,  666,
-+      667,  667,  667,  668,  668,  668,  664,  917,  665,  916,
-+      915,  663,  914,  668,  669,  669,  669,  913,  666,  912,
-+      911,  667,  670,  670,  670,  671,  671,  671,  670,  669,
-+      672,  672,  672,  673,  673,  673,  674,  674,  674,  910,
-+      672,  675,  675,  675,  676,  676,  676,  677,  677,  677,
-+      678,  678,  678,  729,  729,  729,  909,  908,  671,  730,
-+
-+      730,  730,  731,  731,  731,  732,  732,  732,  733,  733,
-+      733,  734,  734,  734,  674,  735,  735,  735,  736,  736,
-+      736,  676,  737,  737,  737,  738,  738,  738,  907,  731,
-+      906,  729,  739,  739,  739,  905,  904,  730,  903,  732,
-+      740,  740,  740,  741,  741,  741,  742,  742,  742,  902,
-+      901,  736,  743,  743,  743,  744,  744,  744,  900,  899,
-+      737,  876,  874,  738,  873,  745,  745,  745,  872,  746,
-+      746,  746,  758,  758,  758,  744,  745,  747,  747,  747,
-+      739,  748,  748,  748,  870,  740,  746,  869,  749,  749,
-+      749,  750,  750,  750,  741,  868,  867,  742,  749,  750,
-+
-+      865,  864,  747,  751,  751,  751,  748,  752,  752,  752,
-+      753,  753,  753,  754,  754,  754,  863,  752,  753,  862,
-+      751,  755,  755,  755,  756,  756,  756,  757,  757,  757,
-+      861,  860,  756,  756,  759,  759,  759,  859,  755,  807,
-+      807,  807,  808,  808,  808,  858,  754,  809,  809,  809,
-+      810,  810,  810,  811,  811,  811,  812,  812,  812,  857,
-+      757,  813,  813,  813,  814,  814,  814,  815,  815,  815,
-+      856,  855,  807,  816,  816,  816,  817,  817,  817,  854,
-+      853,  818,  818,  818,  819,  819,  819,  852,  851,  809,
-+      812,  808,  848,  847,  819,  820,  820,  820,  846,  810,
-+
-+      845,  820,  843,  842,  811,  815,  818,  821,  821,  821,
-+      841,  816,  822,  822,  822,  823,  823,  823,  824,  824,
-+      824,  840,  839,  823,  825,  825,  825,  838,  824,  826,
-+      826,  826,  837,  836,  825,  827,  827,  827,  828,  828,
-+      828,  829,  829,  829,  835,  834,  828,  828,  830,  830,
-+      830,  831,  831,  831,  832,  832,  832,  877,  877,  877,
-+      827,  878,  878,  878,  833,  831,  806,  805,  830,  879,
-+      879,  879,  880,  880,  880,  881,  881,  881,  804,  832,
-+      882,  882,  882,  883,  883,  883,  884,  884,  884,  885,
-+      885,  885,  802,  801,  878,  798,  886,  886,  886,  887,
-+
-+      887,  887,  888,  888,  888,  877,  887,  796,  881,  889,
-+      889,  889,  880,  890,  890,  890,  795,  882,  879,  886,
-+      891,  891,  891,  884,  892,  892,  892,  888,  794,  883,
-+      793,  893,  893,  893,  894,  894,  894,  895,  895,  895,
-+      896,  896,  896,  792,  892,  893,  939,  939,  939,  940,
-+      940,  940,  791,  894,  941,  941,  941,  942,  942,  942,
-+      790,  895,  943,  943,  943,  944,  944,  944,  945,  945,
-+      945,  946,  946,  946,  947,  947,  947,  948,  948,  948,
-+      949,  949,  949,  789,  950,  950,  950,  951,  951,  951,
-+      788,  940,  787,  786,  948,  952,  952,  952,  943,  953,
-+
-+      953,  953,  939,  950,  946,  941,  784,  944,  783,  942,
-+      782,  951,  990,  990,  990,  991,  991,  991,  781,  945,
-+      992,  992,  992,  993,  993,  993,  994,  994,  994,  995,
-+      995,  995,  996,  996,  996,  997,  997,  997,  998,  998,
-+      998,  999,  999,  999,  780,  990,  779,  777,  998, 1000,
-+     1000, 1000, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037,
-+     1037,  991, 1038, 1038, 1038,  996,  776,  775,  993,  997,
-+      994,  774,  992,  773,  772,  995, 1039, 1039, 1039, 1040,
-+     1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042,  771,  770,
-+     1035,  769, 1037, 1043, 1043, 1043,  768, 1036,  767,  766,
-+
-+     1038, 1076, 1076, 1076, 1077, 1077, 1077, 1078, 1078, 1078,
-+      765, 1079, 1079, 1079, 1039, 1080, 1080, 1080,  764, 1040,
-+     1081, 1081, 1081,  763, 1082, 1082, 1082,  762, 1041, 1083,
-+     1083, 1083,  761, 1042, 1113, 1113, 1113, 1114, 1114, 1114,
-+     1115, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1080,
-+     1115, 1078, 1118, 1118, 1118, 1077, 1076, 1079, 1082, 1119,
-+     1119, 1119, 1147, 1147, 1147, 1148, 1148, 1148,  760,  727,
-+     1113, 1083, 1149, 1149, 1149, 1150, 1150, 1150, 1151, 1151,
-+     1151, 1173, 1173, 1173, 1174, 1174, 1174, 1175, 1175, 1175,
-+      726,  725, 1117,  724, 1116,  723,  722, 1118,  720,  719,
-+
-+     1147, 1176, 1176, 1176, 1196, 1196, 1196, 1197, 1197, 1197,
-+     1198, 1198, 1198,  718, 1148,  717, 1151, 1216, 1216, 1216,
-+      716,  715, 1149, 1217, 1217, 1217, 1231, 1231, 1231, 1173,
-+     1232, 1232, 1232, 1174, 1240, 1240, 1240, 1241, 1241, 1241,
-+     1247, 1247, 1247, 1232, 1248, 1248, 1248, 1252, 1252, 1252,
-+      714, 1176,  713,  712, 1197, 1196, 1254, 1254, 1254, 1216,
-+     1256, 1256, 1256, 1258, 1258, 1258, 1259, 1259, 1259,  711,
-+      710, 1241, 1217, 1231,  709,  708,  707,  705,  704,  702,
-+     1240,  700,  699,  698, 1252,  695,  694,  693,  689,  688,
-+     1248,  686,  685,  684,  683,  682,  681,  680, 1256,  679,
-+
-+     1254,  642,  641,  640,  639,  638,  637,  636,  635,  634,
-+      633,  632, 1258, 1261, 1261, 1261, 1261, 1262, 1262, 1262,
-+     1262, 1263, 1263, 1263, 1263, 1264, 1264, 1264, 1264, 1265,
-+     1265, 1266, 1266, 1267,  631, 1267, 1267,  630,  629,  627,
-+      626,  625,  623,  622,  621,  620,  619,  618,  617,  615,
-+      614,  613,  612,  611,  610,  609,  608,  607,  606,  605,
-+      604,  603,  602,  601,  600,  599,  598,  597,  596,  595,
-+      594,  593,  592,  549,  548,  547,  545,  544,  543,  542,
-+      541,  540,  539,  538,  537,  536,  535,  534,  533,  532,
-+      531,  530,  529,  528,  527,  526,  525,  524,  523,  522,
-+
-+      521,  520,  519,  518,  517,  516,  515,  514,  513,  512,
-+      511,  510,  509,  508,  507,  505,  504,  459,  456,  455,
-+      454,  453,  452,  451,  450,  449,  448,  447,  446,  445,
-+      444,  443,  442,  441,  440,  439,  438,  437,  436,  435,
-+      434,  433,  432,  431,  430,  429,  428,  427,  426,  425,
-+      424,  423,  422,  421,  420,  419,  418,  417,  416,  361,
-+      360,  359,  358,  357,  356,  355,  353,  352,  351,  350,
-+      349,  348,  347,  346,  345,  344,  343,  342,  341,  340,
-+      339,  338,  337,  336,  335,  334,  333,  332,  331,  329,
-+      328,  327,  325,  324,  323,  322,  321,  320,  281,  259,
-+
-+      258,  257,  256,  255,  254,  253,  251,  249,  248,  247,
-+      246,  244,  242,  240,  239,  237,  236,  234,  233,  232,
-+      230,  228,  227,  226,  180,  178,  177,  152,  151,  149,
-+      148,  146,  145,  143,  141,  139,  133,   83,   79,   76,
-+       73,   52,   49,   43,   22,   21,   11,    9,    3, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
- 
--     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
--     1234, 1234, 1234, 1234, 1234
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
-+     1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
-     } ;
- 
- static yy_state_type yy_last_accepting_state;
-@@ -1499,7 +1518,7 @@ int yy_flex_debug = 0;
- #define YY_MORE_ADJ 0
- #define YY_RESTORE_YY_MORE_OFFSET
- char *yytext;
--#line 1 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 1 "lexer.l"
- /*
-  * The SIP lexer.
-  *
-@@ -1517,7 +1536,7 @@ char *yytext;
-  * SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-  */
--#line 20 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 20 "lexer.l"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -1563,11 +1582,9 @@ static int parenDepth = 0;
- 
- static FILE *openFile(const char *);
- static void fatallex(char *);
-+#line 1586 "../lexer.c"
- 
--
--
--
--#line 1571 "sip-4.19.23/sipgen/lexer.c"
-+#line 1588 "../lexer.c"
- 
- #define INITIAL 0
- #define code 1
-@@ -1587,36 +1604,36 @@ static void fatallex(char *);
- #define YY_EXTRA_TYPE void *
- #endif
- 
--static int yy_init_globals (void );
-+static int yy_init_globals ( void );
- 
- /* Accessor methods to globals.
-    These are made visible to non-reentrant scanners for convenience. */
- 
--int yylex_destroy (void );
-+int yylex_destroy ( void );
- 
--int yyget_debug (void );
-+int yyget_debug ( void );
- 
--void yyset_debug (int debug_flag  );
-+void yyset_debug ( int debug_flag  );
- 
--YY_EXTRA_TYPE yyget_extra (void );
-+YY_EXTRA_TYPE yyget_extra ( void );
- 
--void yyset_extra (YY_EXTRA_TYPE user_defined  );
-+void yyset_extra ( YY_EXTRA_TYPE user_defined  );
- 
--FILE *yyget_in (void );
-+FILE *yyget_in ( void );
- 
--void yyset_in  (FILE * in_str  );
-+void yyset_in  ( FILE * _in_str  );
- 
--FILE *yyget_out (void );
-+FILE *yyget_out ( void );
- 
--void yyset_out  (FILE * out_str  );
-+void yyset_out  ( FILE * _out_str  );
- 
--yy_size_t yyget_leng (void );
-+			int yyget_leng ( void );
- 
--char *yyget_text (void );
-+char *yyget_text ( void );
- 
--int yyget_lineno (void );
-+int yyget_lineno ( void );
- 
--void yyset_lineno (int line_number  );
-+void yyset_lineno ( int _line_number  );
- 
- /* Macros after this point can all be overridden by user definitions in
-  * section 1.
-@@ -1624,28 +1641,31 @@ void yyset_lineno (int line_number  );
- 
- #ifndef YY_SKIP_YYWRAP
- #ifdef __cplusplus
--extern "C" int yywrap (void );
-+extern "C" int yywrap ( void );
- #else
--extern int yywrap (void );
-+extern int yywrap ( void );
- #endif
- #endif
- 
--    static void yyunput (int c,char *buf_ptr  );
-+#ifndef YY_NO_UNPUT
-     
-+    static void yyunput ( int c, char *buf_ptr  );
-+    
-+#endif
-+
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char *,yyconst char *,int );
-+static void yy_flex_strncpy ( char *, const char *, int );
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * );
-+static int yy_flex_strlen ( const char * );
- #endif
- 
- #ifndef YY_NO_INPUT
--
- #ifdef __cplusplus
--static int yyinput (void );
-+static int yyinput ( void );
- #else
--static int input (void );
-+static int input ( void );
- #endif
- 
- #endif
-@@ -1654,15 +1674,20 @@ static int input (void );
-         static int yy_start_stack_depth = 0;
-         static int *yy_start_stack = NULL;
-     
--    static void yy_push_state (int new_state );
-+    static void yy_push_state ( int _new_state );
-     
--    static void yy_pop_state (void );
-+    static void yy_pop_state ( void );
-     
--    static int yy_top_state (void );
-+    static int yy_top_state ( void );
-     
- /* Amount of stuff to slurp up with each read. */
- #ifndef YY_READ_BUF_SIZE
-+#ifdef __ia64__
-+/* On IA-64, the buffer size is 16k, not 8k */
-+#define YY_READ_BUF_SIZE 16384
-+#else
- #define YY_READ_BUF_SIZE 8192
-+#endif /* __ia64__ */
- #endif
- 
- /* Copy whatever the last rule matched to the standard output. */
-@@ -1670,7 +1695,7 @@ static int input (void );
- /* This used to be an fputs(), but since the string might contain NUL's,
-  * we now use fwrite().
-  */
--#define ECHO fwrite( yytext, yyleng, 1, yyout )
-+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
- #endif
- 
- /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
-@@ -1681,7 +1706,7 @@ static int input (void );
- 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
- 		{ \
- 		int c = '*'; \
--		yy_size_t n; \
-+		int n; \
- 		for ( n = 0; n < max_size && \
- 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
- 			buf[n] = (char) c; \
-@@ -1694,7 +1719,7 @@ static int input (void );
- 	else \
- 		{ \
- 		errno=0; \
--		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-+		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
- 			{ \
- 			if( errno != EINTR) \
- 				{ \
-@@ -1749,7 +1774,7 @@ extern int yylex (void);
- 
- /* Code executed at the end of each rule. */
- #ifndef YY_BREAK
--#define YY_BREAK break;
-+#define YY_BREAK /*LINTED*/break;
- #endif
- 
- #define YY_RULE_SETUP \
-@@ -1762,15 +1787,10 @@ extern int yylex (void);
-  */
- YY_DECL
- {
--	register yy_state_type yy_current_state;
--	register char *yy_cp, *yy_bp;
--	register int yy_act;
-+	yy_state_type yy_current_state;
-+	char *yy_cp, *yy_bp;
-+	int yy_act;
-     
--#line 74 "sip-4.19.23/sipgen/metasrc/lexer.l"
--
--
--#line 1773 "sip-4.19.23/sipgen/lexer.c"
--
- 	if ( !(yy_init) )
- 		{
- 		(yy_init) = 1;
-@@ -1791,13 +1811,19 @@ YY_DECL
- 		if ( ! YY_CURRENT_BUFFER ) {
- 			yyensure_buffer_stack ();
- 			YY_CURRENT_BUFFER_LVALUE =
--				yy_create_buffer(yyin,YY_BUF_SIZE );
-+				yy_create_buffer( yyin, YY_BUF_SIZE );
- 		}
- 
--		yy_load_buffer_state( );
-+		yy_load_buffer_state(  );
- 		}
- 
--	while ( 1 )		/* loops until end-of-file is reached */
-+	{
-+#line 74 "lexer.l"
-+
-+
-+#line 1825 "../lexer.c"
-+
-+	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
- 		{
- 		yy_cp = (yy_c_buf_p);
- 
-@@ -1814,7 +1840,7 @@ YY_DECL
- yy_match:
- 		do
- 			{
--			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-+			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
- 			if ( yy_accept[yy_current_state] )
- 				{
- 				(yy_last_accepting_state) = yy_current_state;
-@@ -1823,13 +1849,13 @@ yy_match:
- 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- 				{
- 				yy_current_state = (int) yy_def[yy_current_state];
--				if ( yy_current_state >= 1235 )
--					yy_c = yy_meta[(unsigned int) yy_c];
-+				if ( yy_current_state >= 1261 )
-+					yy_c = yy_meta[yy_c];
- 				}
--			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-+			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- 			++yy_cp;
- 			}
--		while ( yy_base[yy_current_state] != 2845 );
-+		while ( yy_base[yy_current_state] != 2950 );
- 
- yy_find_action:
- 		yy_act = yy_accept[yy_current_state];
-@@ -1855,540 +1881,550 @@ do_action:	/* This label is used only to
- 
- case 1:
- YY_RULE_SETUP
--#line 76 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 76 "lexer.l"
- {BEGIN directive_start; return TK_API;}
- 	YY_BREAK
- case 2:
- YY_RULE_SETUP
--#line 77 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 77 "lexer.l"
- {BEGIN directive_start; return TK_AUTOPYNAME;}
- 	YY_BREAK
- case 3:
- YY_RULE_SETUP
--#line 78 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 78 "lexer.l"
- {return TK_CMODULE;}
- 	YY_BREAK
- case 4:
- YY_RULE_SETUP
--#line 79 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 79 "lexer.l"
- {BEGIN directive_start; return TK_COMPOMODULE;}
- 	YY_BREAK
- case 5:
- YY_RULE_SETUP
--#line 80 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 80 "lexer.l"
- {BEGIN directive_start; return TK_CONSMODULE;}
- 	YY_BREAK
- case 6:
- YY_RULE_SETUP
--#line 81 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 81 "lexer.l"
- {BEGIN directive_start; return TK_DEFDOCSTRFMT;}
- 	YY_BREAK
- case 7:
- YY_RULE_SETUP
--#line 82 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 82 "lexer.l"
- {BEGIN directive_start; return TK_DEFDOCSTRSIG;}
- 	YY_BREAK
- case 8:
- YY_RULE_SETUP
--#line 83 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 83 "lexer.l"
- {BEGIN directive_start; return TK_DEFENCODING;}
- 	YY_BREAK
- case 9:
- YY_RULE_SETUP
--#line 84 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 84 "lexer.l"
- {BEGIN directive_start; return TK_DEFMETATYPE;}
- 	YY_BREAK
- case 10:
- YY_RULE_SETUP
--#line 85 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 85 "lexer.l"
- {BEGIN directive_start; return TK_DEFSUPERTYPE;}
- 	YY_BREAK
- case 11:
- YY_RULE_SETUP
--#line 86 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 86 "lexer.l"
- {return TK_END;}
- 	YY_BREAK
- case 12:
- YY_RULE_SETUP
--#line 87 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 87 "lexer.l"
- {BEGIN INITIAL; return TK_END;}
- 	YY_BREAK
- case 13:
- YY_RULE_SETUP
--#line 88 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 88 "lexer.l"
- {return TK_EXCEPTION;}
- 	YY_BREAK
- case 14:
- YY_RULE_SETUP
--#line 89 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 89 "lexer.l"
- {BEGIN directive_start; return TK_FEATURE;}
- 	YY_BREAK
- case 15:
- YY_RULE_SETUP
--#line 90 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 90 "lexer.l"
- {BEGIN directive_start; return TK_HIDE_NS;}
- 	YY_BREAK
- case 16:
- YY_RULE_SETUP
--#line 91 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 91 "lexer.l"
- {return TK_IF;}
- 	YY_BREAK
- case 17:
- YY_RULE_SETUP
--#line 92 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 92 "lexer.l"
- {BEGIN directive_start; return TK_IMPORT;}
- 	YY_BREAK
- case 18:
- YY_RULE_SETUP
--#line 93 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 93 "lexer.l"
- {BEGIN directive_start; return TK_INCLUDE;}
- 	YY_BREAK
- case 19:
- YY_RULE_SETUP
--#line 94 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 94 "lexer.l"
- {BEGIN directive_start; return TK_LICENSE;}
- 	YY_BREAK
- case 20:
- YY_RULE_SETUP
--#line 95 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 95 "lexer.l"
- {return TK_MAPPEDTYPE;}
- 	YY_BREAK
- case 21:
- YY_RULE_SETUP
--#line 96 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 96 "lexer.l"
- {BEGIN directive_start; return TK_MODULE;}
- 	YY_BREAK
- case 22:
- YY_RULE_SETUP
--#line 97 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 97 "lexer.l"
- {return TK_OPTINCLUDE;}
- 	YY_BREAK
- case 23:
- YY_RULE_SETUP
--#line 98 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 98 "lexer.l"
- {return TK_PLATFORMS;}
- 	YY_BREAK
- case 24:
- YY_RULE_SETUP
--#line 99 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 99 "lexer.l"
- {BEGIN directive_start; return TK_PLUGIN;}
- 	YY_BREAK
- case 25:
- YY_RULE_SETUP
--#line 100 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 100 "lexer.l"
- {BEGIN directive_start; return TK_PROPERTY;}
- 	YY_BREAK
- case 26:
- YY_RULE_SETUP
--#line 101 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 101 "lexer.l"
- {return TK_TIMELINE;}
- 	YY_BREAK
- case 27:
- YY_RULE_SETUP
--#line 103 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 103 "lexer.l"
- {return TK_CLASS;}
- 	YY_BREAK
- case 28:
- YY_RULE_SETUP
--#line 104 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 104 "lexer.l"
- {return TK_STRUCT;}
- 	YY_BREAK
- case 29:
- YY_RULE_SETUP
--#line 105 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 105 "lexer.l"
- {return TK_PUBLIC;}
- 	YY_BREAK
- case 30:
- YY_RULE_SETUP
--#line 106 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 106 "lexer.l"
- {return TK_PROTECTED;}
- 	YY_BREAK
- case 31:
- YY_RULE_SETUP
--#line 107 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 107 "lexer.l"
- {return TK_PRIVATE;}
- 	YY_BREAK
- case 32:
- YY_RULE_SETUP
--#line 108 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 108 "lexer.l"
- {return TK_SIGNALS;}
- 	YY_BREAK
- case 33:
- YY_RULE_SETUP
--#line 109 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 109 "lexer.l"
- {return TK_SIGNALS;}
- 	YY_BREAK
- case 34:
- YY_RULE_SETUP
--#line 110 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 110 "lexer.l"
- {return TK_SIGNAL_METHOD;}
- 	YY_BREAK
- case 35:
- YY_RULE_SETUP
--#line 111 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 111 "lexer.l"
- {return TK_SLOTS;}
- 	YY_BREAK
- case 36:
- YY_RULE_SETUP
--#line 112 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 112 "lexer.l"
- {return TK_SLOTS;}
- 	YY_BREAK
- case 37:
- YY_RULE_SETUP
--#line 113 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 113 "lexer.l"
- {return TK_SLOT_METHOD;}
- 	YY_BREAK
- case 38:
- YY_RULE_SETUP
--#line 114 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 114 "lexer.l"
- {return TK_CHAR;}
- 	YY_BREAK
- case 39:
- YY_RULE_SETUP
--#line 115 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 115 "lexer.l"
- {return TK_WCHAR_T;}
- 	YY_BREAK
- case 40:
- YY_RULE_SETUP
--#line 116 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 116 "lexer.l"
- {return TK_BOOL;}
- 	YY_BREAK
- case 41:
- YY_RULE_SETUP
--#line 117 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 117 "lexer.l"
- {return TK_SHORT;}
- 	YY_BREAK
- case 42:
- YY_RULE_SETUP
--#line 118 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 118 "lexer.l"
- {return TK_INT;}
- 	YY_BREAK
- case 43:
- YY_RULE_SETUP
--#line 119 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 119 "lexer.l"
- {return TK_LONG;}
- 	YY_BREAK
- case 44:
- YY_RULE_SETUP
--#line 120 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 120 "lexer.l"
- {return TK_FLOAT;}
- 	YY_BREAK
- case 45:
- YY_RULE_SETUP
--#line 121 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 121 "lexer.l"
- {return TK_DOUBLE;}
- 	YY_BREAK
- case 46:
- YY_RULE_SETUP
--#line 122 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 122 "lexer.l"
- {return TK_VOID;}
- 	YY_BREAK
- case 47:
- YY_RULE_SETUP
--#line 123 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 123 "lexer.l"
- {return TK_VIRTUAL;}
- 	YY_BREAK
- case 48:
- YY_RULE_SETUP
--#line 124 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 124 "lexer.l"
- {return TK_ENUM;}
- 	YY_BREAK
- case 49:
- YY_RULE_SETUP
--#line 125 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 125 "lexer.l"
- {return TK_SIGNED;}
- 	YY_BREAK
- case 50:
- YY_RULE_SETUP
--#line 126 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 126 "lexer.l"
- {return TK_UNSIGNED;}
- 	YY_BREAK
- case 51:
- YY_RULE_SETUP
--#line 127 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 127 "lexer.l"
- {return TK_CONST;}
- 	YY_BREAK
- case 52:
- YY_RULE_SETUP
--#line 128 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 128 "lexer.l"
- {return TK_STATIC;}
- 	YY_BREAK
- case 53:
- YY_RULE_SETUP
--#line 129 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 129 "lexer.l"
- {return TK_TRUE_VALUE;}
- 	YY_BREAK
- case 54:
- YY_RULE_SETUP
--#line 130 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 130 "lexer.l"
- {return TK_FALSE_VALUE;}
- 	YY_BREAK
- case 55:
- YY_RULE_SETUP
--#line 131 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 131 "lexer.l"
- {return TK_NULL_VALUE;}
- 	YY_BREAK
- case 56:
- YY_RULE_SETUP
--#line 132 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 132 "lexer.l"
- {return TK_TYPEDEF;}
- 	YY_BREAK
- case 57:
- YY_RULE_SETUP
--#line 133 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 133 "lexer.l"
- {return TK_NAMESPACE;}
- 	YY_BREAK
- case 58:
- YY_RULE_SETUP
--#line 134 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 134 "lexer.l"
- {return TK_OPERATOR;}
- 	YY_BREAK
- case 59:
- YY_RULE_SETUP
--#line 135 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 135 "lexer.l"
- {return TK_THROW;}
- 	YY_BREAK
- case 60:
- YY_RULE_SETUP
--#line 136 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 136 "lexer.l"
- {return TK_EXPLICIT;}
- 	YY_BREAK
- case 61:
- YY_RULE_SETUP
--#line 137 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 137 "lexer.l"
- {return TK_TEMPLATE;}
- 	YY_BREAK
- case 62:
- YY_RULE_SETUP
--#line 138 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 138 "lexer.l"
- {return TK_FINAL;}
- 	YY_BREAK
- case 63:
- YY_RULE_SETUP
--#line 139 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 139 "lexer.l"
- {return TK_SIZET;}
- 	YY_BREAK
- case 64:
- YY_RULE_SETUP
--#line 140 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 140 "lexer.l"
- {return TK_SCOPE;}
- 	YY_BREAK
- case 65:
- YY_RULE_SETUP
--#line 141 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 141 "lexer.l"
- {return TK_LOGICAL_OR;}
- 	YY_BREAK
- case 66:
- YY_RULE_SETUP
--#line 142 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 142 "lexer.l"
- {return TK_PYOBJECT;}
- 	YY_BREAK
- case 67:
- YY_RULE_SETUP
--#line 143 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 143 "lexer.l"
- {return TK_PYTUPLE;}
- 	YY_BREAK
- case 68:
- YY_RULE_SETUP
--#line 144 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 144 "lexer.l"
- {return TK_PYLIST;}
- 	YY_BREAK
- case 69:
- YY_RULE_SETUP
--#line 145 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 145 "lexer.l"
- {return TK_PYDICT;}
- 	YY_BREAK
- case 70:
- YY_RULE_SETUP
--#line 146 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 146 "lexer.l"
- {return TK_PYCALLABLE;}
- 	YY_BREAK
- case 71:
- YY_RULE_SETUP
--#line 147 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 147 "lexer.l"
- {return TK_PYSLICE;}
- 	YY_BREAK
- case 72:
- YY_RULE_SETUP
--#line 148 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 148 "lexer.l"
- {return TK_PYTYPE;}
- 	YY_BREAK
- case 73:
- YY_RULE_SETUP
--#line 149 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 149 "lexer.l"
- {return TK_PYBUFFER;}
- 	YY_BREAK
- case 74:
- YY_RULE_SETUP
--#line 150 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 150 "lexer.l"
- {return TK_SIPSIGNAL;}
- 	YY_BREAK
- case 75:
- YY_RULE_SETUP
--#line 151 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 151 "lexer.l"
- {return TK_SIPSLOT;}
- 	YY_BREAK
- case 76:
- YY_RULE_SETUP
--#line 152 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 152 "lexer.l"
- {return TK_SIPANYSLOT;}
- 	YY_BREAK
- case 77:
- YY_RULE_SETUP
--#line 153 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 153 "lexer.l"
- {return TK_SIPRXCON;}
- 	YY_BREAK
- case 78:
- YY_RULE_SETUP
--#line 154 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 154 "lexer.l"
- {return TK_SIPRXDIS;}
- 	YY_BREAK
- case 79:
- YY_RULE_SETUP
--#line 155 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 155 "lexer.l"
- {return TK_SIPSLOTCON;}
- 	YY_BREAK
- case 80:
- YY_RULE_SETUP
--#line 156 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 156 "lexer.l"
- {return TK_SIPSLOTDIS;}
- 	YY_BREAK
- case 81:
- YY_RULE_SETUP
--#line 157 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 157 "lexer.l"
- {return TK_SIPSSIZET;}
- 	YY_BREAK
- case 82:
- YY_RULE_SETUP
--#line 158 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_QOBJECT;}
-+#line 158 "lexer.l"
-+{return TK_SIPSSIZET;}
- 	YY_BREAK
- case 83:
- YY_RULE_SETUP
--#line 159 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_ELLIPSIS;}
-+#line 159 "lexer.l"
-+{return TK_QOBJECT;}
- 	YY_BREAK
- case 84:
- YY_RULE_SETUP
--#line 161 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_FORMAT;}
-+#line 160 "lexer.l"
-+{return TK_ELLIPSIS;}
- 	YY_BREAK
- case 85:
- YY_RULE_SETUP
--#line 162 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_GET;}
-+#line 162 "lexer.l"
-+{return TK_FORMAT;}
- 	YY_BREAK
- case 86:
- YY_RULE_SETUP
--#line 163 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_ID;}
-+#line 163 "lexer.l"
-+{return TK_GET;}
- 	YY_BREAK
- case 87:
- YY_RULE_SETUP
--#line 164 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_KWARGS;}
-+#line 164 "lexer.l"
-+{return TK_ID;}
- 	YY_BREAK
- case 88:
- YY_RULE_SETUP
--#line 165 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_LANGUAGE;}
-+#line 165 "lexer.l"
-+{return TK_KWARGS;}
- 	YY_BREAK
- case 89:
- YY_RULE_SETUP
--#line 166 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_LICENSEE;}
-+#line 166 "lexer.l"
-+{return TK_LANGUAGE;}
- 	YY_BREAK
- case 90:
- YY_RULE_SETUP
--#line 167 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_NAME;}
-+#line 167 "lexer.l"
-+{return TK_LICENSEE;}
- 	YY_BREAK
- case 91:
- YY_RULE_SETUP
--#line 168 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_OPTIONAL;}
-+#line 168 "lexer.l"
-+{return TK_NAME;}
- 	YY_BREAK
- case 92:
- YY_RULE_SETUP
--#line 169 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_ORDER;}
-+#line 169 "lexer.l"
-+{return TK_OPTIONAL;}
- 	YY_BREAK
- case 93:
- YY_RULE_SETUP
--#line 170 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_REMOVELEADING;}
-+#line 170 "lexer.l"
-+{return TK_ORDER;}
- 	YY_BREAK
- case 94:
- YY_RULE_SETUP
--#line 171 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_SET;}
-+#line 171 "lexer.l"
-+{return TK_REMOVELEADING;}
- 	YY_BREAK
- case 95:
- YY_RULE_SETUP
--#line 172 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_SIGNATURE;}
-+#line 172 "lexer.l"
-+{return TK_SET;}
- 	YY_BREAK
- case 96:
- YY_RULE_SETUP
--#line 173 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_TIMESTAMP;}
-+#line 173 "lexer.l"
-+{return TK_SIGNATURE;}
- 	YY_BREAK
- case 97:
- YY_RULE_SETUP
--#line 174 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_TYPE;}
-+#line 174 "lexer.l"
-+{return TK_TIMESTAMP;}
- 	YY_BREAK
- case 98:
- YY_RULE_SETUP
--#line 175 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_USEARGNAMES;}
-+#line 175 "lexer.l"
-+{return TK_TYPE;}
- 	YY_BREAK
- case 99:
- YY_RULE_SETUP
--#line 176 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_USELIMITEDAPI;}
-+#line 176 "lexer.l"
-+{return TK_USEARGNAMES;}
- 	YY_BREAK
- case 100:
- YY_RULE_SETUP
--#line 177 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_ALLRAISEPYEXC;}
-+#line 177 "lexer.l"
-+{return TK_PYSSIZETCLEAN;}
- 	YY_BREAK
- case 101:
- YY_RULE_SETUP
--#line 178 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_CALLSUPERINIT;}
-+#line 178 "lexer.l"
-+{return TK_USELIMITEDAPI;}
- 	YY_BREAK
- case 102:
- YY_RULE_SETUP
--#line 179 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_DEFERRORHANDLER;}
-+#line 179 "lexer.l"
-+{return TK_ALLRAISEPYEXC;}
- 	YY_BREAK
- case 103:
- YY_RULE_SETUP
--#line 180 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_VERSION;}
-+#line 180 "lexer.l"
-+{return TK_CALLSUPERINIT;}
- 	YY_BREAK
- case 104:
- YY_RULE_SETUP
--#line 182 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_TRUE_VALUE;}
-+#line 181 "lexer.l"
-+{return TK_DEFERRORHANDLER;}
- 	YY_BREAK
- case 105:
- YY_RULE_SETUP
--#line 183 "sip-4.19.23/sipgen/metasrc/lexer.l"
--{return TK_FALSE_VALUE;}
-+#line 182 "lexer.l"
-+{return TK_VERSION;}
- 	YY_BREAK
- case 106:
- YY_RULE_SETUP
--#line 186 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 184 "lexer.l"
-+{return TK_TRUE_VALUE;}
-+	YY_BREAK
-+case 107:
-+YY_RULE_SETUP
-+#line 185 "lexer.l"
-+{return TK_FALSE_VALUE;}
-+	YY_BREAK
-+case 108:
-+YY_RULE_SETUP
-+#line 188 "lexer.l"
- {
-     /* Ignore whitespace. */
-     ;
- }
- 	YY_BREAK
--case 107:
-+case 109:
- YY_RULE_SETUP
--#line 191 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 193 "lexer.l"
- {
-     /*
-      * Maintain the parenthesis depth so that we don't enter the 'code' state
-@@ -2401,9 +2437,9 @@ YY_RULE_SETUP
-     return '(';
- }
- 	YY_BREAK
--case 108:
-+case 110:
- YY_RULE_SETUP
--#line 203 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 205 "lexer.l"
- {
-     /* Maintain the parenthesis depth. */
-     --parenDepth;
-@@ -2413,10 +2449,10 @@ YY_RULE_SETUP
-     return ')';
- }
- 	YY_BREAK
--case 109:
--/* rule 109 can match eol */
-+case 111:
-+/* rule 111 can match eol */
- YY_RULE_SETUP
--#line 212 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 214 "lexer.l"
- {
-     /* Maintain the line number. */
-     ++inputFileStack[currentFile].sloc.linenr;
-@@ -2427,63 +2463,63 @@ YY_RULE_SETUP
-     }
- }
- 	YY_BREAK
--case 110:
-+case 112:
- YY_RULE_SETUP
--#line 222 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 224 "lexer.l"
- {
-     /* Ignore C++ style comments. */
-     ;
- }
- 	YY_BREAK
--case 111:
-+case 113:
- YY_RULE_SETUP
--#line 228 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 230 "lexer.l"
- {
-     /* A signed decimal number. */
-     yylval.number = strtol(yytext,NULL,0);
-     return TK_NUMBER_VALUE;
- }
- 	YY_BREAK
--case 112:
-+case 114:
- YY_RULE_SETUP
--#line 235 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 237 "lexer.l"
- {
-     /* A floating point number. */
-     yylval.real = strtod(yytext,NULL);
-     return TK_REAL_VALUE;
- }
- 	YY_BREAK
--case 113:
-+case 115:
- YY_RULE_SETUP
--#line 242 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 244 "lexer.l"
- {
-     /* An unsigned hexadecimal number. */
-     yylval.number = strtol(yytext,NULL,16);
-     return TK_NUMBER_VALUE;
- }
- 	YY_BREAK
--case 114:
-+case 116:
- YY_RULE_SETUP
--#line 249 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 251 "lexer.l"
- {
-     /* An identifier name. */
-     yylval.text = sipStrdup(yytext);
-     return TK_NAME_VALUE;
- }
- 	YY_BREAK
--case 115:
-+case 117:
- YY_RULE_SETUP
--#line 256 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 258 "lexer.l"
- {
-     /* A relative pathname. */
-     yylval.text = sipStrdup(yytext);
-     return TK_PATH_VALUE;
- }
- 	YY_BREAK
--case 116:
--/* rule 116 can match eol */
-+case 118:
-+/* rule 118 can match eol */
- YY_RULE_SETUP
--#line 263 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 265 "lexer.l"
- {
-     /* A double-quoted string. */
-     char ch, *dp, *sp;
-@@ -2519,10 +2555,10 @@ YY_RULE_SETUP
-     return TK_STRING_VALUE;
- }
- 	YY_BREAK
--case 117:
--/* rule 117 can match eol */
-+case 119:
-+/* rule 119 can match eol */
- YY_RULE_SETUP
--#line 299 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 301 "lexer.l"
- {
-     /* A single-quoted character. */
-     if (strlen(yytext) != 3)
-@@ -2533,84 +2569,84 @@ YY_RULE_SETUP
-     return TK_QCHAR_VALUE;
- }
- 	YY_BREAK
--case 118:
-+case 120:
- YY_RULE_SETUP
--#line 310 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 312 "lexer.l"
- {
-     /* Ignore C-style comments. */
-     yy_push_state(ccomment);
- }
- 	YY_BREAK
--case 119:
--/* rule 119 can match eol */
-+case 121:
-+/* rule 121 can match eol */
- YY_RULE_SETUP
--#line 314 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 316 "lexer.l"
- {
-     ++inputFileStack[currentFile].sloc.linenr;
- }
- 	YY_BREAK
--case 120:
-+case 122:
- YY_RULE_SETUP
--#line 317 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 319 "lexer.l"
- {
-     yy_pop_state();
- }
- 	YY_BREAK
--case 121:
-+case 123:
- YY_RULE_SETUP
--#line 320 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 322 "lexer.l"
- {
-     ;
- }
- 	YY_BREAK
--case 122:
-+case 124:
- YY_RULE_SETUP
--#line 325 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 327 "lexer.l"
- {
-     /* The software license. */
-     codeIdx = 0;
-     return TK_COPYING;
- }
- 	YY_BREAK
--case 123:
-+case 125:
- YY_RULE_SETUP
--#line 331 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 333 "lexer.l"
- {
-     /* The start of a from-type code block. */
-     codeIdx = 0;
-     return TK_FROMTYPE;
- }
- 	YY_BREAK
--case 124:
-+case 126:
- YY_RULE_SETUP
--#line 337 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 339 "lexer.l"
- {
-     /* The start of a to-type code block. */
-     codeIdx = 0;
-     return TK_TOTYPE;
- }
- 	YY_BREAK
--case 125:
-+case 127:
- YY_RULE_SETUP
--#line 343 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 345 "lexer.l"
- {
-     /* The start of a to-sub-class code block. */
-     codeIdx = 0;
-     return TK_TOSUBCLASS;
- }
- 	YY_BREAK
--case 126:
-+case 128:
- YY_RULE_SETUP
--#line 349 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 351 "lexer.l"
- {
-     /* The start of an exported header code block. */
-     codeIdx = 0;
-     return TK_EXPHEADERCODE;
- }
- 	YY_BREAK
--case 127:
-+case 129:
- YY_RULE_SETUP
--#line 355 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 357 "lexer.l"
- {
-     /* The start of part of an extract. */
-     codeIdx = 0;
-@@ -2620,225 +2656,225 @@ YY_RULE_SETUP
-     return TK_EXTRACT;
- }
- 	YY_BREAK
--case 128:
-+case 130:
- YY_RULE_SETUP
--#line 364 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 366 "lexer.l"
- {
-     /* The start of a module header code block. */
-     codeIdx = 0;
-     return TK_MODHEADERCODE;
- }
- 	YY_BREAK
--case 129:
-+case 131:
- YY_RULE_SETUP
--#line 370 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 372 "lexer.l"
- {
-     /* The start of a type header code block. */
-     codeIdx = 0;
-     return TK_TYPEHEADERCODE;
- }
- 	YY_BREAK
--case 130:
-+case 132:
- YY_RULE_SETUP
--#line 376 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 378 "lexer.l"
- {
-     /* The start of a pre-initialisation code block. */
-     codeIdx = 0;
-     return TK_PREINITCODE;
- }
- 	YY_BREAK
--case 131:
-+case 133:
- YY_RULE_SETUP
--#line 382 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 384 "lexer.l"
- {
-     /* The start of an initialisation code block. */
-     codeIdx = 0;
-     return TK_INITCODE;
- }
- 	YY_BREAK
--case 132:
-+case 134:
- YY_RULE_SETUP
--#line 388 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 390 "lexer.l"
- {
-     /* The start of a post-initialisation code block. */
-     codeIdx = 0;
-     return TK_POSTINITCODE;
- }
- 	YY_BREAK
--case 133:
-+case 135:
- YY_RULE_SETUP
--#line 394 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 396 "lexer.l"
- {
-     /* The start of a class finalisation code block. */
-     codeIdx = 0;
-     return TK_FINALCODE;
- }
- 	YY_BREAK
--case 134:
-+case 136:
- YY_RULE_SETUP
--#line 400 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 402 "lexer.l"
- {
-     /* The start of a unit code block. */
-     codeIdx = 0;
-     return TK_UNITCODE;
- }
- 	YY_BREAK
--case 135:
-+case 137:
- YY_RULE_SETUP
--#line 406 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 408 "lexer.l"
- {
-     /* The start of a unit post-include code block. */
-     codeIdx = 0;
-     return TK_UNITPOSTINCLUDECODE;
- }
- 	YY_BREAK
--case 136:
-+case 138:
- YY_RULE_SETUP
--#line 412 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 414 "lexer.l"
- {
-     /* The start of a module code block. */
-     codeIdx = 0;
-     return TK_MODCODE;
- }
- 	YY_BREAK
--case 137:
-+case 139:
- YY_RULE_SETUP
--#line 418 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 420 "lexer.l"
- {
-     /* The start of a type code block. */
-     codeIdx = 0;
-     return TK_TYPECODE;
- }
- 	YY_BREAK
--case 138:
-+case 140:
- YY_RULE_SETUP
--#line 424 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 426 "lexer.l"
- {
-     /* The start of a C++ method code block. */
-     codeIdx = 0;
-     return TK_METHODCODE;
- }
- 	YY_BREAK
--case 139:
-+case 141:
- YY_RULE_SETUP
--#line 430 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 432 "lexer.l"
- {
-     /* The start of a C++ code block to insert before the MethodCode. */
-     codeIdx = 0;
-     return TK_PREMETHODCODE;
- }
- 	YY_BREAK
--case 140:
-+case 142:
- YY_RULE_SETUP
--#line 436 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 438 "lexer.l"
- {
-     /* The start of a C++ virtual call code block. */
-     codeIdx = 0;
-     return TK_VIRTUALCALLCODE;
- }
- 	YY_BREAK
--case 141:
-+case 143:
- YY_RULE_SETUP
--#line 442 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 444 "lexer.l"
- {
-     /* The start of a C++ virtual code block. */
-     codeIdx = 0;
-     return TK_VIRTUALCATCHERCODE;
- }
- 	YY_BREAK
--case 142:
-+case 144:
- YY_RULE_SETUP
--#line 448 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 450 "lexer.l"
- {
-     /* The start of a traverse code block. */
-     codeIdx = 0;
-     return TK_TRAVERSECODE;
- }
- 	YY_BREAK
--case 143:
-+case 145:
- YY_RULE_SETUP
--#line 454 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 456 "lexer.l"
- {
-     /* The start of a clear code block. */
-     codeIdx = 0;
-     return TK_CLEARCODE;
- }
- 	YY_BREAK
--case 144:
-+case 146:
- YY_RULE_SETUP
--#line 460 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 462 "lexer.l"
- {
-     /* The start of a get buffer code block. */
-     codeIdx = 0;
-     return TK_GETBUFFERCODE;
- }
- 	YY_BREAK
--case 145:
-+case 147:
- YY_RULE_SETUP
--#line 466 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 468 "lexer.l"
- {
-     /* The start of a release buffer code block. */
-     codeIdx = 0;
-     return TK_RELEASEBUFFERCODE;
- }
- 	YY_BREAK
--case 146:
-+case 148:
- YY_RULE_SETUP
--#line 472 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 474 "lexer.l"
- {
-     /* The start of a read buffer code block. */
-     codeIdx = 0;
-     return TK_READBUFFERCODE;
- }
- 	YY_BREAK
--case 147:
-+case 149:
- YY_RULE_SETUP
--#line 478 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 480 "lexer.l"
- {
-     /* The start of a write buffer code block. */
-     codeIdx = 0;
-     return TK_WRITEBUFFERCODE;
- }
- 	YY_BREAK
--case 148:
-+case 150:
- YY_RULE_SETUP
--#line 484 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 486 "lexer.l"
- {
-     /* The start of a segment count code block. */
-     codeIdx = 0;
-     return TK_SEGCOUNTCODE;
- }
- 	YY_BREAK
--case 149:
-+case 151:
- YY_RULE_SETUP
--#line 490 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 492 "lexer.l"
- {
-     /* The start of a char buffer code block. */
-     codeIdx = 0;
-     return TK_CHARBUFFERCODE;
- }
- 	YY_BREAK
--case 150:
-+case 152:
- YY_RULE_SETUP
--#line 496 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 498 "lexer.l"
- {
-     /* The start of a create instance code block. */
-     codeIdx = 0;
-     return TK_INSTANCECODE;
- }
- 	YY_BREAK
--case 151:
-+case 153:
- YY_RULE_SETUP
--#line 502 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 504 "lexer.l"
- {
-     /* The start of a pickle code block. */
-     codeIdx = 0;
-     return TK_PICKLECODE;
- }
- 	YY_BREAK
--case 152:
-+case 154:
- YY_RULE_SETUP
--#line 508 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 510 "lexer.l"
- {
-     /* The start of a pre-Python code block. */
-     deprecated("%PrePythonCode is deprecated");
-@@ -2847,36 +2883,36 @@ YY_RULE_SETUP
-     return TK_PREPYCODE;
- }
- 	YY_BREAK
--case 153:
-+case 155:
- YY_RULE_SETUP
--#line 516 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 518 "lexer.l"
- {
-     /* The start of a raise Python exception code block. */
-     codeIdx = 0;
-     return TK_RAISECODE;
- }
- 	YY_BREAK
--case 154:
-+case 156:
- YY_RULE_SETUP
--#line 522 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 524 "lexer.l"
- {
-     /* The start of an exported type hint code block. */
-     codeIdx = 0;
-     return TK_EXPTYPEHINTCODE;
- }
- 	YY_BREAK
--case 155:
-+case 157:
- YY_RULE_SETUP
--#line 528 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 530 "lexer.l"
- {
-     /* The start of a type hint code block. */
-     codeIdx = 0;
-     return TK_TYPEHINTCODE;
- }
- 	YY_BREAK
--case 156:
-+case 158:
- YY_RULE_SETUP
--#line 534 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 536 "lexer.l"
- {
-     /* The start of a docstring block. */
-     codeIdx = 0;
-@@ -2886,9 +2922,9 @@ YY_RULE_SETUP
-     return TK_DOCSTRING;
- }
- 	YY_BREAK
--case 157:
-+case 159:
- YY_RULE_SETUP
--#line 543 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 545 "lexer.l"
- {
-     /* The start of a documentation block. */
-     deprecated("%Doc is deprecated, use %Extract instead");
-@@ -2897,9 +2933,9 @@ YY_RULE_SETUP
-     return TK_DOC;
- }
- 	YY_BREAK
--case 158:
-+case 160:
- YY_RULE_SETUP
--#line 551 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 553 "lexer.l"
- {
-     /* The start of an exported documentation block. */
-     deprecated("%ExportedDoc is deprecated, use %Extract instead");
-@@ -2908,9 +2944,9 @@ YY_RULE_SETUP
-     return TK_EXPORTEDDOC;
- }
- 	YY_BREAK
--case 159:
-+case 161:
- YY_RULE_SETUP
--#line 559 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 561 "lexer.l"
- {
-     /* The start of a Makefile code block. */
-     deprecated("%Makefile is deprecated");
-@@ -2919,36 +2955,36 @@ YY_RULE_SETUP
-     return TK_MAKEFILE;
- }
- 	YY_BREAK
--case 160:
-+case 162:
- YY_RULE_SETUP
--#line 567 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 569 "lexer.l"
- {
-     /* The start of an access code block. */
-     codeIdx = 0;
-     return TK_ACCESSCODE;
- }
- 	YY_BREAK
--case 161:
-+case 163:
- YY_RULE_SETUP
--#line 573 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 575 "lexer.l"
- {
-     /* The start of a get code block. */
-     codeIdx = 0;
-     return TK_GETCODE;
- }
- 	YY_BREAK
--case 162:
-+case 164:
- YY_RULE_SETUP
--#line 579 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 581 "lexer.l"
- {
-     /* The start of a set code block. */
-     codeIdx = 0;
-     return TK_SETCODE;
- }
- 	YY_BREAK
--case 163:
-+case 165:
- YY_RULE_SETUP
--#line 585 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 587 "lexer.l"
- {
-     /* The start of part of a virtual error handler. */
-     codeIdx = 0;
-@@ -2958,9 +2994,9 @@ YY_RULE_SETUP
-     return TK_VIRTERRORHANDLER;
- }
- 	YY_BREAK
--case 164:
-+case 166:
- YY_RULE_SETUP
--#line 594 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 596 "lexer.l"
- {
-     /* The end of a code block. */
-     BEGIN INITIAL;
-@@ -2968,10 +3004,10 @@ YY_RULE_SETUP
-     return TK_END;
- }
- 	YY_BREAK
--case 165:
--/* rule 165 can match eol */
-+case 167:
-+/* rule 167 can match eol */
- YY_RULE_SETUP
--#line 601 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 603 "lexer.l"
- {
-     /* The end of a code line . */
-     struct inputFile *ifp;
-@@ -2991,9 +3027,9 @@ YY_RULE_SETUP
-     return TK_CODELINE;
- }
- 	YY_BREAK
--case 166:
-+case 168:
- YY_RULE_SETUP
--#line 620 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 622 "lexer.l"
- {
-     /* The contents of a code line. */
-     if (codeIdx == MAX_CODE_LINE_LENGTH)
-@@ -3002,20 +3038,20 @@ YY_RULE_SETUP
-     codeLine[codeIdx++] = yytext[0];
- }
- 	YY_BREAK
--case 167:
-+case 169:
- YY_RULE_SETUP
--#line 628 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 630 "lexer.l"
- {
-     /* Anything else is returned as is. */
-     return yytext[0];
- }
- 	YY_BREAK
--case 168:
-+case 170:
- YY_RULE_SETUP
--#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
-+#line 635 "lexer.l"
- ECHO;
- 	YY_BREAK
--#line 3019 "sip-4.19.23/sipgen/lexer.c"
-+#line 3055 "../lexer.c"
- case YY_STATE_EOF(INITIAL):
- case YY_STATE_EOF(code):
- case YY_STATE_EOF(ccomment):
-@@ -3097,7 +3133,7 @@ case YY_STATE_EOF(directive_start):
- 				{
- 				(yy_did_buffer_switch_on_eof) = 0;
- 
--				if ( yywrap( ) )
-+				if ( yywrap(  ) )
- 					{
- 					/* Note: because we've taken care in
- 					 * yy_get_next_buffer() to have set up
-@@ -3150,6 +3186,7 @@ case YY_STATE_EOF(directive_start):
- 			"fatal flex scanner internal error--no action found" );
- 	} /* end of action switch */
- 		} /* end of scanning one token */
-+	} /* end of user's declarations */
- } /* end of yylex */
- 
- /* yy_get_next_buffer - try to read in a new buffer
-@@ -3161,9 +3198,9 @@ case YY_STATE_EOF(directive_start):
-  */
- static int yy_get_next_buffer (void)
- {
--    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
--	register char *source = (yytext_ptr);
--	register int number_to_move, i;
-+    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-+	char *source = (yytext_ptr);
-+	int number_to_move, i;
- 	int ret_val;
- 
- 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-@@ -3192,7 +3229,7 @@ static int yy_get_next_buffer (void)
- 	/* Try to read more data. */
- 
- 	/* First move last chars to start of buffer. */
--	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
- 
- 	for ( i = 0; i < number_to_move; ++i )
- 		*(dest++) = *(source++);
-@@ -3205,21 +3242,21 @@ static int yy_get_next_buffer (void)
- 
- 	else
- 		{
--			yy_size_t num_to_read =
-+			int num_to_read =
- 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
- 
- 		while ( num_to_read <= 0 )
- 			{ /* Not enough room in the buffer - grow it. */
- 
- 			/* just a shorter name for the current buffer */
--			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
-+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
- 
- 			int yy_c_buf_p_offset =
- 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
- 
- 			if ( b->yy_is_our_buffer )
- 				{
--				yy_size_t new_size = b->yy_buf_size * 2;
-+				int new_size = b->yy_buf_size * 2;
- 
- 				if ( new_size <= 0 )
- 					b->yy_buf_size += b->yy_buf_size / 8;
-@@ -3228,11 +3265,12 @@ static int yy_get_next_buffer (void)
- 
- 				b->yy_ch_buf = (char *)
- 					/* Include room in for 2 EOB chars. */
--					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-+					yyrealloc( (void *) b->yy_ch_buf,
-+							 (yy_size_t) (b->yy_buf_size + 2)  );
- 				}
- 			else
- 				/* Can't grow it, we don't own it. */
--				b->yy_ch_buf = 0;
-+				b->yy_ch_buf = NULL;
- 
- 			if ( ! b->yy_ch_buf )
- 				YY_FATAL_ERROR(
-@@ -3260,7 +3298,7 @@ static int yy_get_next_buffer (void)
- 		if ( number_to_move == YY_MORE_ADJ )
- 			{
- 			ret_val = EOB_ACT_END_OF_FILE;
--			yyrestart(yyin  );
-+			yyrestart( yyin  );
- 			}
- 
- 		else
-@@ -3274,12 +3312,15 @@ static int yy_get_next_buffer (void)
- 	else
- 		ret_val = EOB_ACT_CONTINUE_SCAN;
- 
--	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-+	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
- 		/* Extend the array by 50%, plus the number we really need. */
--		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
--		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-+		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
-+			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
- 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
- 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-+		/* "- 2" to take care of EOB's */
-+		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
- 	}
- 
- 	(yy_n_chars) += number_to_move;
-@@ -3295,15 +3336,15 @@ static int yy_get_next_buffer (void)
- 
-     static yy_state_type yy_get_previous_state (void)
- {
--	register yy_state_type yy_current_state;
--	register char *yy_cp;
-+	yy_state_type yy_current_state;
-+	char *yy_cp;
-     
- 	yy_current_state = (yy_start);
- 	yy_current_state += YY_AT_BOL();
- 
- 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
- 		{
--		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-+		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
- 		if ( yy_accept[yy_current_state] )
- 			{
- 			(yy_last_accepting_state) = yy_current_state;
-@@ -3312,10 +3353,10 @@ static int yy_get_next_buffer (void)
- 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- 			{
- 			yy_current_state = (int) yy_def[yy_current_state];
--			if ( yy_current_state >= 1235 )
--				yy_c = yy_meta[(unsigned int) yy_c];
-+			if ( yy_current_state >= 1261 )
-+				yy_c = yy_meta[yy_c];
- 			}
--		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-+		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- 		}
- 
- 	return yy_current_state;
-@@ -3328,10 +3369,10 @@ static int yy_get_next_buffer (void)
-  */
-     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
- {
--	register int yy_is_jam;
--    	register char *yy_cp = (yy_c_buf_p);
-+	int yy_is_jam;
-+    	char *yy_cp = (yy_c_buf_p);
- 
--	register YY_CHAR yy_c = 1;
-+	YY_CHAR yy_c = 1;
- 	if ( yy_accept[yy_current_state] )
- 		{
- 		(yy_last_accepting_state) = yy_current_state;
-@@ -3340,18 +3381,20 @@ static int yy_get_next_buffer (void)
- 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
- 		{
- 		yy_current_state = (int) yy_def[yy_current_state];
--		if ( yy_current_state >= 1235 )
--			yy_c = yy_meta[(unsigned int) yy_c];
-+		if ( yy_current_state >= 1261 )
-+			yy_c = yy_meta[yy_c];
- 		}
--	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
--	yy_is_jam = (yy_current_state == 1234);
-+	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-+	yy_is_jam = (yy_current_state == 1260);
- 
--	return yy_is_jam ? 0 : yy_current_state;
-+		return yy_is_jam ? 0 : yy_current_state;
- }
- 
--    static void yyunput (int c, register char * yy_bp )
-+#ifndef YY_NO_UNPUT
-+
-+    static void yyunput (int c, char * yy_bp )
- {
--	register char *yy_cp;
-+	char *yy_cp;
-     
-     yy_cp = (yy_c_buf_p);
- 
-@@ -3361,10 +3404,10 @@ static int yy_get_next_buffer (void)
- 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
- 		{ /* need to shift things up to make room */
- 		/* +2 for EOB chars. */
--		register yy_size_t number_to_move = (yy_n_chars) + 2;
--		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
-+		int number_to_move = (yy_n_chars) + 2;
-+		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
- 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
--		register char *source =
-+		char *source =
- 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
- 
- 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-@@ -3373,7 +3416,7 @@ static int yy_get_next_buffer (void)
- 		yy_cp += (int) (dest - source);
- 		yy_bp += (int) (dest - source);
- 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
--			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
-+			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
- 
- 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
- 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
-@@ -3386,6 +3429,8 @@ static int yy_get_next_buffer (void)
- 	(yy_c_buf_p) = yy_cp;
- }
- 
-+#endif
-+
- #ifndef YY_NO_INPUT
- #ifdef __cplusplus
-     static int yyinput (void)
-@@ -3410,7 +3455,7 @@ static int yy_get_next_buffer (void)
- 
- 		else
- 			{ /* need more input */
--			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-+			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
- 			++(yy_c_buf_p);
- 
- 			switch ( yy_get_next_buffer(  ) )
-@@ -3427,13 +3472,13 @@ static int yy_get_next_buffer (void)
- 					 */
- 
- 					/* Reset buffer status. */
--					yyrestart(yyin );
-+					yyrestart( yyin );
- 
- 					/*FALLTHROUGH*/
- 
- 				case EOB_ACT_END_OF_FILE:
- 					{
--					if ( yywrap( ) )
-+					if ( yywrap(  ) )
- 						return 0;
- 
- 					if ( ! (yy_did_buffer_switch_on_eof) )
-@@ -3473,11 +3518,11 @@ static int yy_get_next_buffer (void)
- 	if ( ! YY_CURRENT_BUFFER ){
-         yyensure_buffer_stack ();
- 		YY_CURRENT_BUFFER_LVALUE =
--            yy_create_buffer(yyin,YY_BUF_SIZE );
-+            yy_create_buffer( yyin, YY_BUF_SIZE );
- 	}
- 
--	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
--	yy_load_buffer_state( );
-+	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
-+	yy_load_buffer_state(  );
- }
- 
- /** Switch to a different input buffer.
-@@ -3505,7 +3550,7 @@ static int yy_get_next_buffer (void)
- 		}
- 
- 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
--	yy_load_buffer_state( );
-+	yy_load_buffer_state(  );
- 
- 	/* We don't actually know whether we did this switch during
- 	 * EOF (yywrap()) processing, but the only time this flag
-@@ -3533,7 +3578,7 @@ static void yy_load_buffer_state  (void)
- {
- 	YY_BUFFER_STATE b;
-     
--	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
- 	if ( ! b )
- 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
- 
-@@ -3542,13 +3587,13 @@ static void yy_load_buffer_state  (void)
- 	/* yy_ch_buf has to be 2 characters longer than the size given because
- 	 * we need to put in 2 end-of-buffer characters.
- 	 */
--	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-+	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
- 	if ( ! b->yy_ch_buf )
- 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
- 
- 	b->yy_is_our_buffer = 1;
- 
--	yy_init_buffer(b,file );
-+	yy_init_buffer( b, file );
- 
- 	return b;
- }
-@@ -3567,15 +3612,11 @@ static void yy_load_buffer_state  (void)
- 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
- 
- 	if ( b->yy_is_our_buffer )
--		yyfree((void *) b->yy_ch_buf  );
-+		yyfree( (void *) b->yy_ch_buf  );
- 
--	yyfree((void *) b  );
-+	yyfree( (void *) b  );
- }
- 
--#ifndef __cplusplus
--extern int isatty (int );
--#endif /* __cplusplus */
--    
- /* Initializes or reinitializes a buffer.
-  * This function is sometimes called more than once on the same buffer,
-  * such as during a yyrestart() or at EOF.
-@@ -3585,7 +3626,7 @@ extern int isatty (int );
- {
- 	int oerrno = errno;
-     
--	yy_flush_buffer(b );
-+	yy_flush_buffer( b );
- 
- 	b->yy_input_file = file;
- 	b->yy_fill_buffer = 1;
-@@ -3628,7 +3669,7 @@ extern int isatty (int );
- 	b->yy_buffer_status = YY_BUFFER_NEW;
- 
- 	if ( b == YY_CURRENT_BUFFER )
--		yy_load_buffer_state( );
-+		yy_load_buffer_state(  );
- }
- 
- /** Pushes the new state onto the stack. The new state becomes
-@@ -3659,7 +3700,7 @@ void yypush_buffer_state (YY_BUFFER_STAT
- 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
- 
- 	/* copied from yy_switch_to_buffer. */
--	yy_load_buffer_state( );
-+	yy_load_buffer_state(  );
- 	(yy_did_buffer_switch_on_eof) = 1;
- }
- 
-@@ -3678,7 +3719,7 @@ void yypop_buffer_state (void)
- 		--(yy_buffer_stack_top);
- 
- 	if (YY_CURRENT_BUFFER) {
--		yy_load_buffer_state( );
-+		yy_load_buffer_state(  );
- 		(yy_did_buffer_switch_on_eof) = 1;
- 	}
- }
-@@ -3696,15 +3737,15 @@ static void yyensure_buffer_stack (void)
- 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
- 		 * immediate realloc on the next call.
-          */
--		num_to_alloc = 1;
-+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
- 								(num_to_alloc * sizeof(struct yy_buffer_state*)
- 								);
- 		if ( ! (yy_buffer_stack) )
- 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
--								  
-+
- 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
--				
-+
- 		(yy_buffer_stack_max) = num_to_alloc;
- 		(yy_buffer_stack_top) = 0;
- 		return;
-@@ -3713,7 +3754,7 @@ static void yyensure_buffer_stack (void)
- 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
- 
- 		/* Increase the buffer to prepare for a possible push. */
--		int grow_size = 8 /* arbitrary grow size */;
-+		yy_size_t grow_size = 8 /* arbitrary grow size */;
- 
- 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
- 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-@@ -3733,7 +3774,7 @@ static void yyensure_buffer_stack (void)
-  * @param base the character buffer
-  * @param size the size in bytes of the character buffer
-  * 
-- * @return the newly allocated buffer state object. 
-+ * @return the newly allocated buffer state object.
-  */
- YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
- {
-@@ -3743,23 +3784,23 @@ YY_BUFFER_STATE yy_scan_buffer  (char *
- 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
- 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
- 		/* They forgot to leave room for the EOB's. */
--		return 0;
-+		return NULL;
- 
--	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-+	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
- 	if ( ! b )
- 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- 
--	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-+	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
- 	b->yy_buf_pos = b->yy_ch_buf = base;
- 	b->yy_is_our_buffer = 0;
--	b->yy_input_file = 0;
-+	b->yy_input_file = NULL;
- 	b->yy_n_chars = b->yy_buf_size;
- 	b->yy_is_interactive = 0;
- 	b->yy_at_bol = 1;
- 	b->yy_fill_buffer = 0;
- 	b->yy_buffer_status = YY_BUFFER_NEW;
- 
--	yy_switch_to_buffer(b  );
-+	yy_switch_to_buffer( b  );
- 
- 	return b;
- }
-@@ -3772,28 +3813,29 @@ YY_BUFFER_STATE yy_scan_buffer  (char *
-  * @note If you want to scan bytes that may contain NUL values, then use
-  *       yy_scan_bytes() instead.
-  */
--YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-+YY_BUFFER_STATE yy_scan_string (const char * yystr )
- {
-     
--	return yy_scan_bytes(yystr,strlen(yystr) );
-+	return yy_scan_bytes( yystr, (int) strlen(yystr) );
- }
- 
- /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
-  * scan from a @e copy of @a bytes.
-- * @param bytes the byte buffer to scan
-- * @param len the number of bytes in the buffer pointed to by @a bytes.
-+ * @param yybytes the byte buffer to scan
-+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
-  * 
-  * @return the newly allocated buffer state object.
-  */
--YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-+YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
- {
- 	YY_BUFFER_STATE b;
- 	char *buf;
--	yy_size_t n, i;
-+	yy_size_t n;
-+	int i;
-     
- 	/* Get memory for full buffer, including space for trailing EOB's. */
--	n = _yybytes_len + 2;
--	buf = (char *) yyalloc(n  );
-+	n = (yy_size_t) (_yybytes_len + 2);
-+	buf = (char *) yyalloc( n  );
- 	if ( ! buf )
- 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
- 
-@@ -3802,7 +3844,7 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
- 
- 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- 
--	b = yy_scan_buffer(buf,n );
-+	b = yy_scan_buffer( buf, n );
- 	if ( ! b )
- 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
- 
-@@ -3814,20 +3856,21 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
- 	return b;
- }
- 
--    static void yy_push_state (int  new_state )
-+    static void yy_push_state (int  _new_state )
- {
-     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
- 		{
- 		yy_size_t new_size;
- 
- 		(yy_start_stack_depth) += YY_START_STACK_INCR;
--		new_size = (yy_start_stack_depth) * sizeof( int );
-+		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
- 
- 		if ( ! (yy_start_stack) )
--			(yy_start_stack) = (int *) yyalloc(new_size  );
-+			(yy_start_stack) = (int *) yyalloc( new_size  );
- 
- 		else
--			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-+			(yy_start_stack) = (int *) yyrealloc(
-+					(void *) (yy_start_stack), new_size  );
- 
- 		if ( ! (yy_start_stack) )
- 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-@@ -3835,7 +3878,7 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
- 
- 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
- 
--	BEGIN(new_state);
-+	BEGIN(_new_state);
- }
- 
-     static void yy_pop_state  (void)
-@@ -3855,9 +3898,9 @@ YY_BUFFER_STATE yy_scan_bytes  (yyconst
- #define YY_EXIT_FAILURE 2
- #endif
- 
--static void yy_fatal_error (yyconst char* msg )
-+static void yynoreturn yy_fatal_error (const char* msg )
- {
--    	(void) fprintf( stderr, "%s\n", msg );
-+			fprintf( stderr, "%s\n", msg );
- 	exit( YY_EXIT_FAILURE );
- }
- 
-@@ -3885,7 +3928,7 @@ static void yy_fatal_error (yyconst char
-  */
- int yyget_lineno  (void)
- {
--        
-+    
-     return yylineno;
- }
- 
-@@ -3908,7 +3951,7 @@ FILE *yyget_out  (void)
- /** Get the length of the current token.
-  * 
-  */
--yy_size_t yyget_leng  (void)
-+int yyget_leng  (void)
- {
-         return yyleng;
- }
-@@ -3923,29 +3966,29 @@ char *yyget_text  (void)
- }
- 
- /** Set the current line number.
-- * @param line_number
-+ * @param _line_number line number
-  * 
-  */
--void yyset_lineno (int  line_number )
-+void yyset_lineno (int  _line_number )
- {
-     
--    yylineno = line_number;
-+    yylineno = _line_number;
- }
- 
- /** Set the input stream. This does not discard the current
-  * input buffer.
-- * @param in_str A readable stream.
-+ * @param _in_str A readable stream.
-  * 
-  * @see yy_switch_to_buffer
-  */
--void yyset_in (FILE *  in_str )
-+void yyset_in (FILE *  _in_str )
- {
--        yyin = in_str ;
-+        yyin = _in_str ;
- }
- 
--void yyset_out (FILE *  out_str )
-+void yyset_out (FILE *  _out_str )
- {
--        yyout = out_str ;
-+        yyout = _out_str ;
- }
- 
- int yyget_debug  (void)
-@@ -3953,9 +3996,9 @@ int yyget_debug  (void)
-         return yy_flex_debug;
- }
- 
--void yyset_debug (int  bdebug )
-+void yyset_debug (int  _bdebug )
- {
--        yy_flex_debug = bdebug ;
-+        yy_flex_debug = _bdebug ;
- }
- 
- static int yy_init_globals (void)
-@@ -3964,10 +4007,10 @@ static int yy_init_globals (void)
-      * This function is called from yylex_destroy(), so don't allocate here.
-      */
- 
--    (yy_buffer_stack) = 0;
-+    (yy_buffer_stack) = NULL;
-     (yy_buffer_stack_top) = 0;
-     (yy_buffer_stack_max) = 0;
--    (yy_c_buf_p) = (char *) 0;
-+    (yy_c_buf_p) = NULL;
-     (yy_init) = 0;
-     (yy_start) = 0;
- 
-@@ -3980,8 +4023,8 @@ static int yy_init_globals (void)
-     yyin = stdin;
-     yyout = stdout;
- #else
--    yyin = (FILE *) 0;
--    yyout = (FILE *) 0;
-+    yyin = NULL;
-+    yyout = NULL;
- #endif
- 
-     /* For future reference: Set errno on error, since we are called by
-@@ -3996,7 +4039,7 @@ int yylex_destroy  (void)
-     
-     /* Pop the buffer stack, destroying each element. */
- 	while(YY_CURRENT_BUFFER){
--		yy_delete_buffer(YY_CURRENT_BUFFER  );
-+		yy_delete_buffer( YY_CURRENT_BUFFER  );
- 		YY_CURRENT_BUFFER_LVALUE = NULL;
- 		yypop_buffer_state();
- 	}
-@@ -4006,7 +4049,7 @@ int yylex_destroy  (void)
- 	(yy_buffer_stack) = NULL;
- 
-     /* Destroy the start condition stack. */
--        yyfree((yy_start_stack)  );
-+        yyfree( (yy_start_stack)  );
-         (yy_start_stack) = NULL;
- 
-     /* Reset the globals. This is important in a non-reentrant scanner so the next time
-@@ -4021,18 +4064,19 @@ int yylex_destroy  (void)
-  */
- 
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-+static void yy_flex_strncpy (char* s1, const char * s2, int n )
- {
--	register int i;
-+		
-+	int i;
- 	for ( i = 0; i < n; ++i )
- 		s1[i] = s2[i];
- }
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * s )
-+static int yy_flex_strlen (const char * s )
- {
--	register int n;
-+	int n;
- 	for ( n = 0; s[n]; ++n )
- 		;
- 
-@@ -4042,11 +4086,12 @@ static int yy_flex_strlen (yyconst char
- 
- void *yyalloc (yy_size_t  size )
- {
--	return (void *) malloc( size );
-+			return malloc(size);
- }
- 
- void *yyrealloc  (void * ptr, yy_size_t  size )
- {
-+		
- 	/* The cast to (char *) in the following accommodates both
- 	 * implementations that use char* generic pointers, and those
- 	 * that use void* generic pointers.  It works with the latter
-@@ -4054,18 +4099,17 @@ void *yyrealloc  (void * ptr, yy_size_t
- 	 * any pointer type to void*, and deal with argument conversions
- 	 * as though doing an assignment.
- 	 */
--	return (void *) realloc( (char *) ptr, size );
-+	return realloc(ptr, size);
- }
- 
- void yyfree (void * ptr )
- {
--	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-+			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
- }
- 
- #define YYTABLES_NAME "yytables"
- 
--#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
--
-+#line 635 "lexer.l"
- 
- 
- /*
-Index: sip-4.19.23/sipgen/parser.c
-===================================================================
---- sip-4.19.23.orig/sipgen/parser.c
-+++ sip-4.19.23/sipgen/parser.c
-@@ -1,14 +1,14 @@
--/* A Bison parser, made by GNU Bison 2.3.  */
-+/* A Bison parser, made by GNU Bison 3.8.2.  */
- 
--/* Skeleton implementation for Bison's Yacc-like parsers in C
-+/* Bison implementation for Yacc-like parsers in C
- 
--   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
--   Free Software Foundation, Inc.
-+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
-+   Inc.
- 
--   This program is free software; you can redistribute it and/or modify
-+   This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
--   the Free Software Foundation; either version 2, or (at your option)
--   any later version.
-+   the Free Software Foundation, either version 3 of the License, or
-+   (at your option) any later version.
- 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-@@ -16,9 +16,7 @@
-    GNU General Public License for more details.
- 
-    You should have received a copy of the GNU General Public License
--   along with this program; if not, write to the Free Software
--   Foundation, Inc., 51 Franklin Street, Fifth Floor,
--   Boston, MA 02110-1301, USA.  */
-+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
- 
- /* As a special exception, you may create a larger work that contains
-    part or all of the Bison parser skeleton and distribute that work
-@@ -36,6 +34,10 @@
- /* C LALR(1) parser skeleton written by Richard Stallman, by
-    simplifying the original so-called "semantic" parser.  */
- 
-+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-+   especially those whose name start with YY_ or yy_.  They are
-+   private implementation details that can be changed or removed.  */
-+
- /* All symbols defined below should begin with yy or YY, to avoid
-    infringing on user name space.  This should be done even for local
-    variables, as they might otherwise be expanded by user macros.
-@@ -43,11 +45,11 @@
-    define necessary library symbols; they are noted "INFRINGES ON
-    USER NAME SPACE" below.  */
- 
--/* Identify Bison output.  */
--#define YYBISON 1
-+/* Identify Bison output, and Bison version.  */
-+#define YYBISON 30802
- 
--/* Bison version.  */
--#define YYBISON_VERSION "2.3"
-+/* Bison version string.  */
-+#define YYBISON_VERSION "3.8.2"
- 
- /* Skeleton name.  */
- #define YYSKELETON_NAME "yacc.c"
-@@ -55,324 +57,17 @@
- /* Pure parsers.  */
- #define YYPURE 0
- 
--/* Using locations.  */
--#define YYLSP_NEEDED 0
--
-+/* Push parsers.  */
-+#define YYPUSH 0
- 
--
--/* Tokens.  */
--#ifndef YYTOKENTYPE
--# define YYTOKENTYPE
--   /* Put the tokens into the symbol table, so that GDB and other debuggers
--      know about them.  */
--   enum yytokentype {
--     TK_API = 258,
--     TK_AUTOPYNAME = 259,
--     TK_DEFDOCSTRFMT = 260,
--     TK_DEFDOCSTRSIG = 261,
--     TK_DEFENCODING = 262,
--     TK_PLUGIN = 263,
--     TK_VIRTERRORHANDLER = 264,
--     TK_EXPTYPEHINTCODE = 265,
--     TK_TYPEHINTCODE = 266,
--     TK_DOCSTRING = 267,
--     TK_DOC = 268,
--     TK_EXPORTEDDOC = 269,
--     TK_EXTRACT = 270,
--     TK_MAKEFILE = 271,
--     TK_ACCESSCODE = 272,
--     TK_GETCODE = 273,
--     TK_SETCODE = 274,
--     TK_PREINITCODE = 275,
--     TK_INITCODE = 276,
--     TK_POSTINITCODE = 277,
--     TK_FINALCODE = 278,
--     TK_UNITCODE = 279,
--     TK_UNITPOSTINCLUDECODE = 280,
--     TK_MODCODE = 281,
--     TK_TYPECODE = 282,
--     TK_PREPYCODE = 283,
--     TK_COPYING = 284,
--     TK_MAPPEDTYPE = 285,
--     TK_CODELINE = 286,
--     TK_IF = 287,
--     TK_END = 288,
--     TK_NAME_VALUE = 289,
--     TK_PATH_VALUE = 290,
--     TK_STRING_VALUE = 291,
--     TK_VIRTUALCATCHERCODE = 292,
--     TK_TRAVERSECODE = 293,
--     TK_CLEARCODE = 294,
--     TK_GETBUFFERCODE = 295,
--     TK_RELEASEBUFFERCODE = 296,
--     TK_READBUFFERCODE = 297,
--     TK_WRITEBUFFERCODE = 298,
--     TK_SEGCOUNTCODE = 299,
--     TK_CHARBUFFERCODE = 300,
--     TK_PICKLECODE = 301,
--     TK_VIRTUALCALLCODE = 302,
--     TK_METHODCODE = 303,
--     TK_PREMETHODCODE = 304,
--     TK_INSTANCECODE = 305,
--     TK_FROMTYPE = 306,
--     TK_TOTYPE = 307,
--     TK_TOSUBCLASS = 308,
--     TK_INCLUDE = 309,
--     TK_OPTINCLUDE = 310,
--     TK_IMPORT = 311,
--     TK_EXPHEADERCODE = 312,
--     TK_MODHEADERCODE = 313,
--     TK_TYPEHEADERCODE = 314,
--     TK_MODULE = 315,
--     TK_CMODULE = 316,
--     TK_CONSMODULE = 317,
--     TK_COMPOMODULE = 318,
--     TK_CLASS = 319,
--     TK_STRUCT = 320,
--     TK_PUBLIC = 321,
--     TK_PROTECTED = 322,
--     TK_PRIVATE = 323,
--     TK_SIGNALS = 324,
--     TK_SIGNAL_METHOD = 325,
--     TK_SLOTS = 326,
--     TK_SLOT_METHOD = 327,
--     TK_BOOL = 328,
--     TK_SHORT = 329,
--     TK_INT = 330,
--     TK_LONG = 331,
--     TK_FLOAT = 332,
--     TK_DOUBLE = 333,
--     TK_CHAR = 334,
--     TK_WCHAR_T = 335,
--     TK_VOID = 336,
--     TK_PYOBJECT = 337,
--     TK_PYTUPLE = 338,
--     TK_PYLIST = 339,
--     TK_PYDICT = 340,
--     TK_PYCALLABLE = 341,
--     TK_PYSLICE = 342,
--     TK_PYTYPE = 343,
--     TK_PYBUFFER = 344,
--     TK_VIRTUAL = 345,
--     TK_ENUM = 346,
--     TK_SIGNED = 347,
--     TK_UNSIGNED = 348,
--     TK_SCOPE = 349,
--     TK_LOGICAL_OR = 350,
--     TK_CONST = 351,
--     TK_STATIC = 352,
--     TK_SIPSIGNAL = 353,
--     TK_SIPSLOT = 354,
--     TK_SIPANYSLOT = 355,
--     TK_SIPRXCON = 356,
--     TK_SIPRXDIS = 357,
--     TK_SIPSLOTCON = 358,
--     TK_SIPSLOTDIS = 359,
--     TK_SIPSSIZET = 360,
--     TK_SIZET = 361,
--     TK_NUMBER_VALUE = 362,
--     TK_REAL_VALUE = 363,
--     TK_TYPEDEF = 364,
--     TK_NAMESPACE = 365,
--     TK_TIMELINE = 366,
--     TK_PLATFORMS = 367,
--     TK_FEATURE = 368,
--     TK_LICENSE = 369,
--     TK_QCHAR_VALUE = 370,
--     TK_TRUE_VALUE = 371,
--     TK_FALSE_VALUE = 372,
--     TK_NULL_VALUE = 373,
--     TK_OPERATOR = 374,
--     TK_THROW = 375,
--     TK_QOBJECT = 376,
--     TK_EXCEPTION = 377,
--     TK_RAISECODE = 378,
--     TK_EXPLICIT = 379,
--     TK_TEMPLATE = 380,
--     TK_FINAL = 381,
--     TK_ELLIPSIS = 382,
--     TK_DEFMETATYPE = 383,
--     TK_DEFSUPERTYPE = 384,
--     TK_PROPERTY = 385,
--     TK_HIDE_NS = 386,
--     TK_FORMAT = 387,
--     TK_GET = 388,
--     TK_ID = 389,
--     TK_KWARGS = 390,
--     TK_LANGUAGE = 391,
--     TK_LICENSEE = 392,
--     TK_NAME = 393,
--     TK_OPTIONAL = 394,
--     TK_ORDER = 395,
--     TK_REMOVELEADING = 396,
--     TK_SET = 397,
--     TK_SIGNATURE = 398,
--     TK_TIMESTAMP = 399,
--     TK_TYPE = 400,
--     TK_USEARGNAMES = 401,
--     TK_USELIMITEDAPI = 402,
--     TK_ALLRAISEPYEXC = 403,
--     TK_CALLSUPERINIT = 404,
--     TK_DEFERRORHANDLER = 405,
--     TK_VERSION = 406
--   };
--#endif
--/* Tokens.  */
--#define TK_API 258
--#define TK_AUTOPYNAME 259
--#define TK_DEFDOCSTRFMT 260
--#define TK_DEFDOCSTRSIG 261
--#define TK_DEFENCODING 262
--#define TK_PLUGIN 263
--#define TK_VIRTERRORHANDLER 264
--#define TK_EXPTYPEHINTCODE 265
--#define TK_TYPEHINTCODE 266
--#define TK_DOCSTRING 267
--#define TK_DOC 268
--#define TK_EXPORTEDDOC 269
--#define TK_EXTRACT 270
--#define TK_MAKEFILE 271
--#define TK_ACCESSCODE 272
--#define TK_GETCODE 273
--#define TK_SETCODE 274
--#define TK_PREINITCODE 275
--#define TK_INITCODE 276
--#define TK_POSTINITCODE 277
--#define TK_FINALCODE 278
--#define TK_UNITCODE 279
--#define TK_UNITPOSTINCLUDECODE 280
--#define TK_MODCODE 281
--#define TK_TYPECODE 282
--#define TK_PREPYCODE 283
--#define TK_COPYING 284
--#define TK_MAPPEDTYPE 285
--#define TK_CODELINE 286
--#define TK_IF 287
--#define TK_END 288
--#define TK_NAME_VALUE 289
--#define TK_PATH_VALUE 290
--#define TK_STRING_VALUE 291
--#define TK_VIRTUALCATCHERCODE 292
--#define TK_TRAVERSECODE 293
--#define TK_CLEARCODE 294
--#define TK_GETBUFFERCODE 295
--#define TK_RELEASEBUFFERCODE 296
--#define TK_READBUFFERCODE 297
--#define TK_WRITEBUFFERCODE 298
--#define TK_SEGCOUNTCODE 299
--#define TK_CHARBUFFERCODE 300
--#define TK_PICKLECODE 301
--#define TK_VIRTUALCALLCODE 302
--#define TK_METHODCODE 303
--#define TK_PREMETHODCODE 304
--#define TK_INSTANCECODE 305
--#define TK_FROMTYPE 306
--#define TK_TOTYPE 307
--#define TK_TOSUBCLASS 308
--#define TK_INCLUDE 309
--#define TK_OPTINCLUDE 310
--#define TK_IMPORT 311
--#define TK_EXPHEADERCODE 312
--#define TK_MODHEADERCODE 313
--#define TK_TYPEHEADERCODE 314
--#define TK_MODULE 315
--#define TK_CMODULE 316
--#define TK_CONSMODULE 317
--#define TK_COMPOMODULE 318
--#define TK_CLASS 319
--#define TK_STRUCT 320
--#define TK_PUBLIC 321
--#define TK_PROTECTED 322
--#define TK_PRIVATE 323
--#define TK_SIGNALS 324
--#define TK_SIGNAL_METHOD 325
--#define TK_SLOTS 326
--#define TK_SLOT_METHOD 327
--#define TK_BOOL 328
--#define TK_SHORT 329
--#define TK_INT 330
--#define TK_LONG 331
--#define TK_FLOAT 332
--#define TK_DOUBLE 333
--#define TK_CHAR 334
--#define TK_WCHAR_T 335
--#define TK_VOID 336
--#define TK_PYOBJECT 337
--#define TK_PYTUPLE 338
--#define TK_PYLIST 339
--#define TK_PYDICT 340
--#define TK_PYCALLABLE 341
--#define TK_PYSLICE 342
--#define TK_PYTYPE 343
--#define TK_PYBUFFER 344
--#define TK_VIRTUAL 345
--#define TK_ENUM 346
--#define TK_SIGNED 347
--#define TK_UNSIGNED 348
--#define TK_SCOPE 349
--#define TK_LOGICAL_OR 350
--#define TK_CONST 351
--#define TK_STATIC 352
--#define TK_SIPSIGNAL 353
--#define TK_SIPSLOT 354
--#define TK_SIPANYSLOT 355
--#define TK_SIPRXCON 356
--#define TK_SIPRXDIS 357
--#define TK_SIPSLOTCON 358
--#define TK_SIPSLOTDIS 359
--#define TK_SIPSSIZET 360
--#define TK_SIZET 361
--#define TK_NUMBER_VALUE 362
--#define TK_REAL_VALUE 363
--#define TK_TYPEDEF 364
--#define TK_NAMESPACE 365
--#define TK_TIMELINE 366
--#define TK_PLATFORMS 367
--#define TK_FEATURE 368
--#define TK_LICENSE 369
--#define TK_QCHAR_VALUE 370
--#define TK_TRUE_VALUE 371
--#define TK_FALSE_VALUE 372
--#define TK_NULL_VALUE 373
--#define TK_OPERATOR 374
--#define TK_THROW 375
--#define TK_QOBJECT 376
--#define TK_EXCEPTION 377
--#define TK_RAISECODE 378
--#define TK_EXPLICIT 379
--#define TK_TEMPLATE 380
--#define TK_FINAL 381
--#define TK_ELLIPSIS 382
--#define TK_DEFMETATYPE 383
--#define TK_DEFSUPERTYPE 384
--#define TK_PROPERTY 385
--#define TK_HIDE_NS 386
--#define TK_FORMAT 387
--#define TK_GET 388
--#define TK_ID 389
--#define TK_KWARGS 390
--#define TK_LANGUAGE 391
--#define TK_LICENSEE 392
--#define TK_NAME 393
--#define TK_OPTIONAL 394
--#define TK_ORDER 395
--#define TK_REMOVELEADING 396
--#define TK_SET 397
--#define TK_SIGNATURE 398
--#define TK_TIMESTAMP 399
--#define TK_TYPE 400
--#define TK_USEARGNAMES 401
--#define TK_USELIMITEDAPI 402
--#define TK_ALLRAISEPYEXC 403
--#define TK_CALLSUPERINIT 404
--#define TK_DEFERRORHANDLER 405
--#define TK_VERSION 406
-+/* Pull parsers.  */
-+#define YYPULL 1
- 
- 
- 
- 
--/* Copy the first part of user declarations.  */
--#line 19 "sip-4.19.23/sipgen/metasrc/parser.y"
-+/* First part of user prologue.  */
-+#line 19 "parser.y"
- 
- #include <stdlib.h>
- #include <string.h>
-@@ -539,9 +234,9 @@ static void addProperty(sipSpec *pt, mod
-         docstringDef *docstring);
- static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
-         const char *filename, const char *name, int c_module, KwArgs kwargs,
--        int use_arg_names, int use_limited_api, int call_super_init,
--        int all_raise_py_exc, const char *def_error_handler,
--        docstringDef *docstring);
-+        int use_arg_names, int py_ssize_t_clean, int use_limited_api,
-+        int call_super_init, int all_raise_py_exc,
-+        const char *def_error_handler, docstringDef *docstring);
- static void addAutoPyName(moduleDef *mod, const char *remove_leading);
- static KwArgs convertKwArgs(const char *kwargs);
- static void checkAnnos(optFlags *annos, const char *valid[]);
-@@ -555,117 +250,555 @@ static int isBackstop(qualDef *qd);
- static void checkEllipsis(signatureDef *sd);
- static scopedNameDef *fullyQualifiedName(scopedNameDef *snd);
- 
-+#line 254 "../parser.c"
- 
--/* Enabling traces.  */
--#ifndef YYDEBUG
--# define YYDEBUG 0
--#endif
--
--/* Enabling verbose error messages.  */
--#ifdef YYERROR_VERBOSE
--# undef YYERROR_VERBOSE
--# define YYERROR_VERBOSE 1
--#else
--# define YYERROR_VERBOSE 0
--#endif
--
--/* Enabling the token table.  */
--#ifndef YYTOKEN_TABLE
--# define YYTOKEN_TABLE 0
--#endif
--
--#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
--typedef union YYSTYPE
--#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
--{
--    char            qchar;
--    char            *text;
--    long            number;
--    double          real;
--    argDef          memArg;
--    signatureDef    signature;
--    signatureDef    *optsignature;
--    throwArgs       *throwlist;
--    codeBlock       *codeb;
--    docstringDef    *docstr;
--    valueDef        value;
--    valueDef        *valp;
--    optFlags        optflags;
--    optFlag         flag;
--    scopedNameDef   *scpvalp;
--    fcallDef        fcall;
--    int             boolean;
--    exceptionDef    exceptionbase;
--    classDef        *klass;
--    apiCfg          api;
--    autoPyNameCfg   autopyname;
--    compModuleCfg   compmodule;
--    consModuleCfg   consmodule;
--    defDocstringFmtCfg  defdocstringfmt;
--    defDocstringSigCfg  defdocstringsig;
--    defEncodingCfg  defencoding;
--    defMetatypeCfg  defmetatype;
--    defSupertypeCfg defsupertype;
--    hiddenNsCfg     hiddenns;
--    exceptionCfg    exception;
--    docstringCfg    docstring;
--    extractCfg      extract;
--    featureCfg      feature;
--    licenseCfg      license;
--    importCfg       import;
--    includeCfg      include;
--    moduleCfg       module;
--    pluginCfg       plugin;
--    propertyCfg     property;
--    variableCfg     variable;
--    vehCfg          veh;
--    int             token;
--}
--/* Line 193 of yacc.c.  */
--#line 626 "sip-4.19.23/sipgen/parser.c"
--	YYSTYPE;
--# define yystype YYSTYPE /* obsolescent; will be withdrawn */
--# define YYSTYPE_IS_DECLARED 1
--# define YYSTYPE_IS_TRIVIAL 1
--#endif
--
-+# ifndef YY_CAST
-+#  ifdef __cplusplus
-+#   define YY_CAST(Type, Val) static_cast<Type> (Val)
-+#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
-+#  else
-+#   define YY_CAST(Type, Val) ((Type) (Val))
-+#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
-+#  endif
-+# endif
-+# ifndef YY_NULLPTR
-+#  if defined __cplusplus
-+#   if 201103L <= __cplusplus
-+#    define YY_NULLPTR nullptr
-+#   else
-+#    define YY_NULLPTR 0
-+#   endif
-+#  else
-+#   define YY_NULLPTR ((void*)0)
-+#  endif
-+# endif
- 
-+#include "parser.h"
-+/* Symbol kind.  */
-+enum yysymbol_kind_t
-+{
-+  YYSYMBOL_YYEMPTY = -2,
-+  YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
-+  YYSYMBOL_YYerror = 1,                    /* error  */
-+  YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
-+  YYSYMBOL_TK_API = 3,                     /* TK_API  */
-+  YYSYMBOL_TK_AUTOPYNAME = 4,              /* TK_AUTOPYNAME  */
-+  YYSYMBOL_TK_DEFDOCSTRFMT = 5,            /* TK_DEFDOCSTRFMT  */
-+  YYSYMBOL_TK_DEFDOCSTRSIG = 6,            /* TK_DEFDOCSTRSIG  */
-+  YYSYMBOL_TK_DEFENCODING = 7,             /* TK_DEFENCODING  */
-+  YYSYMBOL_TK_PLUGIN = 8,                  /* TK_PLUGIN  */
-+  YYSYMBOL_TK_VIRTERRORHANDLER = 9,        /* TK_VIRTERRORHANDLER  */
-+  YYSYMBOL_TK_EXPTYPEHINTCODE = 10,        /* TK_EXPTYPEHINTCODE  */
-+  YYSYMBOL_TK_TYPEHINTCODE = 11,           /* TK_TYPEHINTCODE  */
-+  YYSYMBOL_TK_DOCSTRING = 12,              /* TK_DOCSTRING  */
-+  YYSYMBOL_TK_DOC = 13,                    /* TK_DOC  */
-+  YYSYMBOL_TK_EXPORTEDDOC = 14,            /* TK_EXPORTEDDOC  */
-+  YYSYMBOL_TK_EXTRACT = 15,                /* TK_EXTRACT  */
-+  YYSYMBOL_TK_MAKEFILE = 16,               /* TK_MAKEFILE  */
-+  YYSYMBOL_TK_ACCESSCODE = 17,             /* TK_ACCESSCODE  */
-+  YYSYMBOL_TK_GETCODE = 18,                /* TK_GETCODE  */
-+  YYSYMBOL_TK_SETCODE = 19,                /* TK_SETCODE  */
-+  YYSYMBOL_TK_PREINITCODE = 20,            /* TK_PREINITCODE  */
-+  YYSYMBOL_TK_INITCODE = 21,               /* TK_INITCODE  */
-+  YYSYMBOL_TK_POSTINITCODE = 22,           /* TK_POSTINITCODE  */
-+  YYSYMBOL_TK_FINALCODE = 23,              /* TK_FINALCODE  */
-+  YYSYMBOL_TK_UNITCODE = 24,               /* TK_UNITCODE  */
-+  YYSYMBOL_TK_UNITPOSTINCLUDECODE = 25,    /* TK_UNITPOSTINCLUDECODE  */
-+  YYSYMBOL_TK_MODCODE = 26,                /* TK_MODCODE  */
-+  YYSYMBOL_TK_TYPECODE = 27,               /* TK_TYPECODE  */
-+  YYSYMBOL_TK_PREPYCODE = 28,              /* TK_PREPYCODE  */
-+  YYSYMBOL_TK_COPYING = 29,                /* TK_COPYING  */
-+  YYSYMBOL_TK_MAPPEDTYPE = 30,             /* TK_MAPPEDTYPE  */
-+  YYSYMBOL_TK_CODELINE = 31,               /* TK_CODELINE  */
-+  YYSYMBOL_TK_IF = 32,                     /* TK_IF  */
-+  YYSYMBOL_TK_END = 33,                    /* TK_END  */
-+  YYSYMBOL_TK_NAME_VALUE = 34,             /* TK_NAME_VALUE  */
-+  YYSYMBOL_TK_PATH_VALUE = 35,             /* TK_PATH_VALUE  */
-+  YYSYMBOL_TK_STRING_VALUE = 36,           /* TK_STRING_VALUE  */
-+  YYSYMBOL_TK_VIRTUALCATCHERCODE = 37,     /* TK_VIRTUALCATCHERCODE  */
-+  YYSYMBOL_TK_TRAVERSECODE = 38,           /* TK_TRAVERSECODE  */
-+  YYSYMBOL_TK_CLEARCODE = 39,              /* TK_CLEARCODE  */
-+  YYSYMBOL_TK_GETBUFFERCODE = 40,          /* TK_GETBUFFERCODE  */
-+  YYSYMBOL_TK_RELEASEBUFFERCODE = 41,      /* TK_RELEASEBUFFERCODE  */
-+  YYSYMBOL_TK_READBUFFERCODE = 42,         /* TK_READBUFFERCODE  */
-+  YYSYMBOL_TK_WRITEBUFFERCODE = 43,        /* TK_WRITEBUFFERCODE  */
-+  YYSYMBOL_TK_SEGCOUNTCODE = 44,           /* TK_SEGCOUNTCODE  */
-+  YYSYMBOL_TK_CHARBUFFERCODE = 45,         /* TK_CHARBUFFERCODE  */
-+  YYSYMBOL_TK_PICKLECODE = 46,             /* TK_PICKLECODE  */
-+  YYSYMBOL_TK_VIRTUALCALLCODE = 47,        /* TK_VIRTUALCALLCODE  */
-+  YYSYMBOL_TK_METHODCODE = 48,             /* TK_METHODCODE  */
-+  YYSYMBOL_TK_PREMETHODCODE = 49,          /* TK_PREMETHODCODE  */
-+  YYSYMBOL_TK_INSTANCECODE = 50,           /* TK_INSTANCECODE  */
-+  YYSYMBOL_TK_FROMTYPE = 51,               /* TK_FROMTYPE  */
-+  YYSYMBOL_TK_TOTYPE = 52,                 /* TK_TOTYPE  */
-+  YYSYMBOL_TK_TOSUBCLASS = 53,             /* TK_TOSUBCLASS  */
-+  YYSYMBOL_TK_INCLUDE = 54,                /* TK_INCLUDE  */
-+  YYSYMBOL_TK_OPTINCLUDE = 55,             /* TK_OPTINCLUDE  */
-+  YYSYMBOL_TK_IMPORT = 56,                 /* TK_IMPORT  */
-+  YYSYMBOL_TK_EXPHEADERCODE = 57,          /* TK_EXPHEADERCODE  */
-+  YYSYMBOL_TK_MODHEADERCODE = 58,          /* TK_MODHEADERCODE  */
-+  YYSYMBOL_TK_TYPEHEADERCODE = 59,         /* TK_TYPEHEADERCODE  */
-+  YYSYMBOL_TK_MODULE = 60,                 /* TK_MODULE  */
-+  YYSYMBOL_TK_CMODULE = 61,                /* TK_CMODULE  */
-+  YYSYMBOL_TK_CONSMODULE = 62,             /* TK_CONSMODULE  */
-+  YYSYMBOL_TK_COMPOMODULE = 63,            /* TK_COMPOMODULE  */
-+  YYSYMBOL_TK_CLASS = 64,                  /* TK_CLASS  */
-+  YYSYMBOL_TK_STRUCT = 65,                 /* TK_STRUCT  */
-+  YYSYMBOL_TK_PUBLIC = 66,                 /* TK_PUBLIC  */
-+  YYSYMBOL_TK_PROTECTED = 67,              /* TK_PROTECTED  */
-+  YYSYMBOL_TK_PRIVATE = 68,                /* TK_PRIVATE  */
-+  YYSYMBOL_TK_SIGNALS = 69,                /* TK_SIGNALS  */
-+  YYSYMBOL_TK_SIGNAL_METHOD = 70,          /* TK_SIGNAL_METHOD  */
-+  YYSYMBOL_TK_SLOTS = 71,                  /* TK_SLOTS  */
-+  YYSYMBOL_TK_SLOT_METHOD = 72,            /* TK_SLOT_METHOD  */
-+  YYSYMBOL_TK_BOOL = 73,                   /* TK_BOOL  */
-+  YYSYMBOL_TK_SHORT = 74,                  /* TK_SHORT  */
-+  YYSYMBOL_TK_INT = 75,                    /* TK_INT  */
-+  YYSYMBOL_TK_LONG = 76,                   /* TK_LONG  */
-+  YYSYMBOL_TK_FLOAT = 77,                  /* TK_FLOAT  */
-+  YYSYMBOL_TK_DOUBLE = 78,                 /* TK_DOUBLE  */
-+  YYSYMBOL_TK_CHAR = 79,                   /* TK_CHAR  */
-+  YYSYMBOL_TK_WCHAR_T = 80,                /* TK_WCHAR_T  */
-+  YYSYMBOL_TK_VOID = 81,                   /* TK_VOID  */
-+  YYSYMBOL_TK_PYOBJECT = 82,               /* TK_PYOBJECT  */
-+  YYSYMBOL_TK_PYTUPLE = 83,                /* TK_PYTUPLE  */
-+  YYSYMBOL_TK_PYLIST = 84,                 /* TK_PYLIST  */
-+  YYSYMBOL_TK_PYDICT = 85,                 /* TK_PYDICT  */
-+  YYSYMBOL_TK_PYCALLABLE = 86,             /* TK_PYCALLABLE  */
-+  YYSYMBOL_TK_PYSLICE = 87,                /* TK_PYSLICE  */
-+  YYSYMBOL_TK_PYTYPE = 88,                 /* TK_PYTYPE  */
-+  YYSYMBOL_TK_PYBUFFER = 89,               /* TK_PYBUFFER  */
-+  YYSYMBOL_TK_VIRTUAL = 90,                /* TK_VIRTUAL  */
-+  YYSYMBOL_TK_ENUM = 91,                   /* TK_ENUM  */
-+  YYSYMBOL_TK_SIGNED = 92,                 /* TK_SIGNED  */
-+  YYSYMBOL_TK_UNSIGNED = 93,               /* TK_UNSIGNED  */
-+  YYSYMBOL_TK_SCOPE = 94,                  /* TK_SCOPE  */
-+  YYSYMBOL_TK_LOGICAL_OR = 95,             /* TK_LOGICAL_OR  */
-+  YYSYMBOL_TK_CONST = 96,                  /* TK_CONST  */
-+  YYSYMBOL_TK_STATIC = 97,                 /* TK_STATIC  */
-+  YYSYMBOL_TK_SIPSIGNAL = 98,              /* TK_SIPSIGNAL  */
-+  YYSYMBOL_TK_SIPSLOT = 99,                /* TK_SIPSLOT  */
-+  YYSYMBOL_TK_SIPANYSLOT = 100,            /* TK_SIPANYSLOT  */
-+  YYSYMBOL_TK_SIPRXCON = 101,              /* TK_SIPRXCON  */
-+  YYSYMBOL_TK_SIPRXDIS = 102,              /* TK_SIPRXDIS  */
-+  YYSYMBOL_TK_SIPSLOTCON = 103,            /* TK_SIPSLOTCON  */
-+  YYSYMBOL_TK_SIPSLOTDIS = 104,            /* TK_SIPSLOTDIS  */
-+  YYSYMBOL_TK_SIPSSIZET = 105,             /* TK_SIPSSIZET  */
-+  YYSYMBOL_TK_SIZET = 106,                 /* TK_SIZET  */
-+  YYSYMBOL_TK_NUMBER_VALUE = 107,          /* TK_NUMBER_VALUE  */
-+  YYSYMBOL_TK_REAL_VALUE = 108,            /* TK_REAL_VALUE  */
-+  YYSYMBOL_TK_TYPEDEF = 109,               /* TK_TYPEDEF  */
-+  YYSYMBOL_TK_NAMESPACE = 110,             /* TK_NAMESPACE  */
-+  YYSYMBOL_TK_TIMELINE = 111,              /* TK_TIMELINE  */
-+  YYSYMBOL_TK_PLATFORMS = 112,             /* TK_PLATFORMS  */
-+  YYSYMBOL_TK_FEATURE = 113,               /* TK_FEATURE  */
-+  YYSYMBOL_TK_LICENSE = 114,               /* TK_LICENSE  */
-+  YYSYMBOL_TK_QCHAR_VALUE = 115,           /* TK_QCHAR_VALUE  */
-+  YYSYMBOL_TK_TRUE_VALUE = 116,            /* TK_TRUE_VALUE  */
-+  YYSYMBOL_TK_FALSE_VALUE = 117,           /* TK_FALSE_VALUE  */
-+  YYSYMBOL_TK_NULL_VALUE = 118,            /* TK_NULL_VALUE  */
-+  YYSYMBOL_TK_OPERATOR = 119,              /* TK_OPERATOR  */
-+  YYSYMBOL_TK_THROW = 120,                 /* TK_THROW  */
-+  YYSYMBOL_TK_QOBJECT = 121,               /* TK_QOBJECT  */
-+  YYSYMBOL_TK_EXCEPTION = 122,             /* TK_EXCEPTION  */
-+  YYSYMBOL_TK_RAISECODE = 123,             /* TK_RAISECODE  */
-+  YYSYMBOL_TK_EXPLICIT = 124,              /* TK_EXPLICIT  */
-+  YYSYMBOL_TK_TEMPLATE = 125,              /* TK_TEMPLATE  */
-+  YYSYMBOL_TK_FINAL = 126,                 /* TK_FINAL  */
-+  YYSYMBOL_TK_ELLIPSIS = 127,              /* TK_ELLIPSIS  */
-+  YYSYMBOL_TK_DEFMETATYPE = 128,           /* TK_DEFMETATYPE  */
-+  YYSYMBOL_TK_DEFSUPERTYPE = 129,          /* TK_DEFSUPERTYPE  */
-+  YYSYMBOL_TK_PROPERTY = 130,              /* TK_PROPERTY  */
-+  YYSYMBOL_TK_HIDE_NS = 131,               /* TK_HIDE_NS  */
-+  YYSYMBOL_TK_FORMAT = 132,                /* TK_FORMAT  */
-+  YYSYMBOL_TK_GET = 133,                   /* TK_GET  */
-+  YYSYMBOL_TK_ID = 134,                    /* TK_ID  */
-+  YYSYMBOL_TK_KWARGS = 135,                /* TK_KWARGS  */
-+  YYSYMBOL_TK_LANGUAGE = 136,              /* TK_LANGUAGE  */
-+  YYSYMBOL_TK_LICENSEE = 137,              /* TK_LICENSEE  */
-+  YYSYMBOL_TK_NAME = 138,                  /* TK_NAME  */
-+  YYSYMBOL_TK_OPTIONAL = 139,              /* TK_OPTIONAL  */
-+  YYSYMBOL_TK_ORDER = 140,                 /* TK_ORDER  */
-+  YYSYMBOL_TK_REMOVELEADING = 141,         /* TK_REMOVELEADING  */
-+  YYSYMBOL_TK_SET = 142,                   /* TK_SET  */
-+  YYSYMBOL_TK_SIGNATURE = 143,             /* TK_SIGNATURE  */
-+  YYSYMBOL_TK_TIMESTAMP = 144,             /* TK_TIMESTAMP  */
-+  YYSYMBOL_TK_TYPE = 145,                  /* TK_TYPE  */
-+  YYSYMBOL_TK_USEARGNAMES = 146,           /* TK_USEARGNAMES  */
-+  YYSYMBOL_TK_PYSSIZETCLEAN = 147,         /* TK_PYSSIZETCLEAN  */
-+  YYSYMBOL_TK_USELIMITEDAPI = 148,         /* TK_USELIMITEDAPI  */
-+  YYSYMBOL_TK_ALLRAISEPYEXC = 149,         /* TK_ALLRAISEPYEXC  */
-+  YYSYMBOL_TK_CALLSUPERINIT = 150,         /* TK_CALLSUPERINIT  */
-+  YYSYMBOL_TK_DEFERRORHANDLER = 151,       /* TK_DEFERRORHANDLER  */
-+  YYSYMBOL_TK_VERSION = 152,               /* TK_VERSION  */
-+  YYSYMBOL_153_ = 153,                     /* '('  */
-+  YYSYMBOL_154_ = 154,                     /* ')'  */
-+  YYSYMBOL_155_ = 155,                     /* ','  */
-+  YYSYMBOL_156_ = 156,                     /* '='  */
-+  YYSYMBOL_157_ = 157,                     /* '{'  */
-+  YYSYMBOL_158_ = 158,                     /* '}'  */
-+  YYSYMBOL_159_ = 159,                     /* ';'  */
-+  YYSYMBOL_160_ = 160,                     /* '!'  */
-+  YYSYMBOL_161_ = 161,                     /* '-'  */
-+  YYSYMBOL_162_ = 162,                     /* '+'  */
-+  YYSYMBOL_163_ = 163,                     /* '*'  */
-+  YYSYMBOL_164_ = 164,                     /* '/'  */
-+  YYSYMBOL_165_ = 165,                     /* '&'  */
-+  YYSYMBOL_166_ = 166,                     /* '|'  */
-+  YYSYMBOL_167_ = 167,                     /* '~'  */
-+  YYSYMBOL_168_ = 168,                     /* '<'  */
-+  YYSYMBOL_169_ = 169,                     /* '>'  */
-+  YYSYMBOL_170_ = 170,                     /* ':'  */
-+  YYSYMBOL_171_ = 171,                     /* '['  */
-+  YYSYMBOL_172_ = 172,                     /* ']'  */
-+  YYSYMBOL_173_ = 173,                     /* '%'  */
-+  YYSYMBOL_174_ = 174,                     /* '^'  */
-+  YYSYMBOL_YYACCEPT = 175,                 /* $accept  */
-+  YYSYMBOL_specification = 176,            /* specification  */
-+  YYSYMBOL_statement = 177,                /* statement  */
-+  YYSYMBOL_178_1 = 178,                    /* $@1  */
-+  YYSYMBOL_modstatement = 179,             /* modstatement  */
-+  YYSYMBOL_nsstatement = 180,              /* nsstatement  */
-+  YYSYMBOL_defdocstringfmt = 181,          /* defdocstringfmt  */
-+  YYSYMBOL_defdocstringfmt_args = 182,     /* defdocstringfmt_args  */
-+  YYSYMBOL_defdocstringfmt_arg_list = 183, /* defdocstringfmt_arg_list  */
-+  YYSYMBOL_defdocstringfmt_arg = 184,      /* defdocstringfmt_arg  */
-+  YYSYMBOL_defdocstringsig = 185,          /* defdocstringsig  */
-+  YYSYMBOL_defdocstringsig_args = 186,     /* defdocstringsig_args  */
-+  YYSYMBOL_defdocstringsig_arg_list = 187, /* defdocstringsig_arg_list  */
-+  YYSYMBOL_defdocstringsig_arg = 188,      /* defdocstringsig_arg  */
-+  YYSYMBOL_defencoding = 189,              /* defencoding  */
-+  YYSYMBOL_defencoding_args = 190,         /* defencoding_args  */
-+  YYSYMBOL_defencoding_arg_list = 191,     /* defencoding_arg_list  */
-+  YYSYMBOL_defencoding_arg = 192,          /* defencoding_arg  */
-+  YYSYMBOL_plugin = 193,                   /* plugin  */
-+  YYSYMBOL_plugin_args = 194,              /* plugin_args  */
-+  YYSYMBOL_plugin_arg_list = 195,          /* plugin_arg_list  */
-+  YYSYMBOL_plugin_arg = 196,               /* plugin_arg  */
-+  YYSYMBOL_virterrorhandler = 197,         /* virterrorhandler  */
-+  YYSYMBOL_veh_args = 198,                 /* veh_args  */
-+  YYSYMBOL_veh_arg_list = 199,             /* veh_arg_list  */
-+  YYSYMBOL_veh_arg = 200,                  /* veh_arg  */
-+  YYSYMBOL_api = 201,                      /* api  */
-+  YYSYMBOL_api_args = 202,                 /* api_args  */
-+  YYSYMBOL_api_arg_list = 203,             /* api_arg_list  */
-+  YYSYMBOL_api_arg = 204,                  /* api_arg  */
-+  YYSYMBOL_exception = 205,                /* exception  */
-+  YYSYMBOL_baseexception = 206,            /* baseexception  */
-+  YYSYMBOL_exception_body = 207,           /* exception_body  */
-+  YYSYMBOL_exception_body_directives = 208, /* exception_body_directives  */
-+  YYSYMBOL_exception_body_directive = 209, /* exception_body_directive  */
-+  YYSYMBOL_raisecode = 210,                /* raisecode  */
-+  YYSYMBOL_mappedtype = 211,               /* mappedtype  */
-+  YYSYMBOL_212_2 = 212,                    /* $@2  */
-+  YYSYMBOL_mappedtypetmpl = 213,           /* mappedtypetmpl  */
-+  YYSYMBOL_214_3 = 214,                    /* $@3  */
-+  YYSYMBOL_mtdefinition = 215,             /* mtdefinition  */
-+  YYSYMBOL_mtbody = 216,                   /* mtbody  */
-+  YYSYMBOL_mtline = 217,                   /* mtline  */
-+  YYSYMBOL_mtfunction = 218,               /* mtfunction  */
-+  YYSYMBOL_namespace = 219,                /* namespace  */
-+  YYSYMBOL_220_4 = 220,                    /* $@4  */
-+  YYSYMBOL_optnsbody = 221,                /* optnsbody  */
-+  YYSYMBOL_nsbody = 222,                   /* nsbody  */
-+  YYSYMBOL_platforms = 223,                /* platforms  */
-+  YYSYMBOL_224_5 = 224,                    /* $@5  */
-+  YYSYMBOL_platformlist = 225,             /* platformlist  */
-+  YYSYMBOL_platform = 226,                 /* platform  */
-+  YYSYMBOL_feature = 227,                  /* feature  */
-+  YYSYMBOL_feature_args = 228,             /* feature_args  */
-+  YYSYMBOL_feature_arg_list = 229,         /* feature_arg_list  */
-+  YYSYMBOL_feature_arg = 230,              /* feature_arg  */
-+  YYSYMBOL_timeline = 231,                 /* timeline  */
-+  YYSYMBOL_232_6 = 232,                    /* $@6  */
-+  YYSYMBOL_qualifierlist = 233,            /* qualifierlist  */
-+  YYSYMBOL_qualifiername = 234,            /* qualifiername  */
-+  YYSYMBOL_ifstart = 235,                  /* ifstart  */
-+  YYSYMBOL_236_7 = 236,                    /* $@7  */
-+  YYSYMBOL_oredqualifiers = 237,           /* oredqualifiers  */
-+  YYSYMBOL_qualifiers = 238,               /* qualifiers  */
-+  YYSYMBOL_ifend = 239,                    /* ifend  */
-+  YYSYMBOL_license = 240,                  /* license  */
-+  YYSYMBOL_license_args = 241,             /* license_args  */
-+  YYSYMBOL_license_arg_list = 242,         /* license_arg_list  */
-+  YYSYMBOL_license_arg = 243,              /* license_arg  */
-+  YYSYMBOL_defmetatype = 244,              /* defmetatype  */
-+  YYSYMBOL_defmetatype_args = 245,         /* defmetatype_args  */
-+  YYSYMBOL_defmetatype_arg_list = 246,     /* defmetatype_arg_list  */
-+  YYSYMBOL_defmetatype_arg = 247,          /* defmetatype_arg  */
-+  YYSYMBOL_defsupertype = 248,             /* defsupertype  */
-+  YYSYMBOL_defsupertype_args = 249,        /* defsupertype_args  */
-+  YYSYMBOL_defsupertype_arg_list = 250,    /* defsupertype_arg_list  */
-+  YYSYMBOL_defsupertype_arg = 251,         /* defsupertype_arg  */
-+  YYSYMBOL_hiddenns = 252,                 /* hiddenns  */
-+  YYSYMBOL_hiddenns_args = 253,            /* hiddenns_args  */
-+  YYSYMBOL_hiddenns_arg_list = 254,        /* hiddenns_arg_list  */
-+  YYSYMBOL_hiddenns_arg = 255,             /* hiddenns_arg  */
-+  YYSYMBOL_consmodule = 256,               /* consmodule  */
-+  YYSYMBOL_consmodule_args = 257,          /* consmodule_args  */
-+  YYSYMBOL_consmodule_arg_list = 258,      /* consmodule_arg_list  */
-+  YYSYMBOL_consmodule_arg = 259,           /* consmodule_arg  */
-+  YYSYMBOL_consmodule_body = 260,          /* consmodule_body  */
-+  YYSYMBOL_consmodule_body_directives = 261, /* consmodule_body_directives  */
-+  YYSYMBOL_consmodule_body_directive = 262, /* consmodule_body_directive  */
-+  YYSYMBOL_compmodule = 263,               /* compmodule  */
-+  YYSYMBOL_compmodule_args = 264,          /* compmodule_args  */
-+  YYSYMBOL_compmodule_arg_list = 265,      /* compmodule_arg_list  */
-+  YYSYMBOL_compmodule_arg = 266,           /* compmodule_arg  */
-+  YYSYMBOL_compmodule_body = 267,          /* compmodule_body  */
-+  YYSYMBOL_compmodule_body_directives = 268, /* compmodule_body_directives  */
-+  YYSYMBOL_compmodule_body_directive = 269, /* compmodule_body_directive  */
-+  YYSYMBOL_module = 270,                   /* module  */
-+  YYSYMBOL_module_args = 271,              /* module_args  */
-+  YYSYMBOL_272_8 = 272,                    /* $@8  */
-+  YYSYMBOL_module_arg_list = 273,          /* module_arg_list  */
-+  YYSYMBOL_module_arg = 274,               /* module_arg  */
-+  YYSYMBOL_module_body = 275,              /* module_body  */
-+  YYSYMBOL_module_body_directives = 276,   /* module_body_directives  */
-+  YYSYMBOL_module_body_directive = 277,    /* module_body_directive  */
-+  YYSYMBOL_dottedname = 278,               /* dottedname  */
-+  YYSYMBOL_optnumber = 279,                /* optnumber  */
-+  YYSYMBOL_include = 280,                  /* include  */
-+  YYSYMBOL_include_args = 281,             /* include_args  */
-+  YYSYMBOL_include_arg_list = 282,         /* include_arg_list  */
-+  YYSYMBOL_include_arg = 283,              /* include_arg  */
-+  YYSYMBOL_optinclude = 284,               /* optinclude  */
-+  YYSYMBOL_import = 285,                   /* import  */
-+  YYSYMBOL_import_args = 286,              /* import_args  */
-+  YYSYMBOL_import_arg_list = 287,          /* import_arg_list  */
-+  YYSYMBOL_import_arg = 288,               /* import_arg  */
-+  YYSYMBOL_optaccesscode = 289,            /* optaccesscode  */
-+  YYSYMBOL_optgetcode = 290,               /* optgetcode  */
-+  YYSYMBOL_optsetcode = 291,               /* optsetcode  */
-+  YYSYMBOL_copying = 292,                  /* copying  */
-+  YYSYMBOL_exphdrcode = 293,               /* exphdrcode  */
-+  YYSYMBOL_modhdrcode = 294,               /* modhdrcode  */
-+  YYSYMBOL_typehdrcode = 295,              /* typehdrcode  */
-+  YYSYMBOL_travcode = 296,                 /* travcode  */
-+  YYSYMBOL_clearcode = 297,                /* clearcode  */
-+  YYSYMBOL_getbufcode = 298,               /* getbufcode  */
-+  YYSYMBOL_releasebufcode = 299,           /* releasebufcode  */
-+  YYSYMBOL_readbufcode = 300,              /* readbufcode  */
-+  YYSYMBOL_writebufcode = 301,             /* writebufcode  */
-+  YYSYMBOL_segcountcode = 302,             /* segcountcode  */
-+  YYSYMBOL_charbufcode = 303,              /* charbufcode  */
-+  YYSYMBOL_instancecode = 304,             /* instancecode  */
-+  YYSYMBOL_picklecode = 305,               /* picklecode  */
-+  YYSYMBOL_finalcode = 306,                /* finalcode  */
-+  YYSYMBOL_modcode = 307,                  /* modcode  */
-+  YYSYMBOL_typecode = 308,                 /* typecode  */
-+  YYSYMBOL_preinitcode = 309,              /* preinitcode  */
-+  YYSYMBOL_initcode = 310,                 /* initcode  */
-+  YYSYMBOL_postinitcode = 311,             /* postinitcode  */
-+  YYSYMBOL_unitcode = 312,                 /* unitcode  */
-+  YYSYMBOL_unitpostinccode = 313,          /* unitpostinccode  */
-+  YYSYMBOL_prepycode = 314,                /* prepycode  */
-+  YYSYMBOL_exptypehintcode = 315,          /* exptypehintcode  */
-+  YYSYMBOL_modtypehintcode = 316,          /* modtypehintcode  */
-+  YYSYMBOL_classtypehintcode = 317,        /* classtypehintcode  */
-+  YYSYMBOL_doc = 318,                      /* doc  */
-+  YYSYMBOL_exporteddoc = 319,              /* exporteddoc  */
-+  YYSYMBOL_autopyname = 320,               /* autopyname  */
-+  YYSYMBOL_autopyname_args = 321,          /* autopyname_args  */
-+  YYSYMBOL_autopyname_arg_list = 322,      /* autopyname_arg_list  */
-+  YYSYMBOL_autopyname_arg = 323,           /* autopyname_arg  */
-+  YYSYMBOL_docstring = 324,                /* docstring  */
-+  YYSYMBOL_docstring_args = 325,           /* docstring_args  */
-+  YYSYMBOL_docstring_arg_list = 326,       /* docstring_arg_list  */
-+  YYSYMBOL_docstring_arg = 327,            /* docstring_arg  */
-+  YYSYMBOL_optdocstring = 328,             /* optdocstring  */
-+  YYSYMBOL_extract = 329,                  /* extract  */
-+  YYSYMBOL_extract_args = 330,             /* extract_args  */
-+  YYSYMBOL_extract_arg_list = 331,         /* extract_arg_list  */
-+  YYSYMBOL_extract_arg = 332,              /* extract_arg  */
-+  YYSYMBOL_makefile = 333,                 /* makefile  */
-+  YYSYMBOL_codeblock = 334,                /* codeblock  */
-+  YYSYMBOL_codelines = 335,                /* codelines  */
-+  YYSYMBOL_enum = 336,                     /* enum  */
-+  YYSYMBOL_337_9 = 337,                    /* $@9  */
-+  YYSYMBOL_optenumkey = 338,               /* optenumkey  */
-+  YYSYMBOL_optfilename = 339,              /* optfilename  */
-+  YYSYMBOL_optname = 340,                  /* optname  */
-+  YYSYMBOL_optenumbody = 341,              /* optenumbody  */
-+  YYSYMBOL_enumbody = 342,                 /* enumbody  */
-+  YYSYMBOL_enumline = 343,                 /* enumline  */
-+  YYSYMBOL_optcomma = 344,                 /* optcomma  */
-+  YYSYMBOL_optenumassign = 345,            /* optenumassign  */
-+  YYSYMBOL_optassign = 346,                /* optassign  */
-+  YYSYMBOL_expr = 347,                     /* expr  */
-+  YYSYMBOL_binop = 348,                    /* binop  */
-+  YYSYMBOL_optunop = 349,                  /* optunop  */
-+  YYSYMBOL_value = 350,                    /* value  */
-+  YYSYMBOL_optcast = 351,                  /* optcast  */
-+  YYSYMBOL_scopedname = 352,               /* scopedname  */
-+  YYSYMBOL_scopednamehead = 353,           /* scopednamehead  */
-+  YYSYMBOL_scopepart = 354,                /* scopepart  */
-+  YYSYMBOL_bool_value = 355,               /* bool_value  */
-+  YYSYMBOL_simplevalue = 356,              /* simplevalue  */
-+  YYSYMBOL_exprlist = 357,                 /* exprlist  */
-+  YYSYMBOL_typedef = 358,                  /* typedef  */
-+  YYSYMBOL_struct = 359,                   /* struct  */
-+  YYSYMBOL_360_10 = 360,                   /* $@10  */
-+  YYSYMBOL_361_11 = 361,                   /* $@11  */
-+  YYSYMBOL_classtmpl = 362,                /* classtmpl  */
-+  YYSYMBOL_363_12 = 363,                   /* $@12  */
-+  YYSYMBOL_template = 364,                 /* template  */
-+  YYSYMBOL_class = 365,                    /* class  */
-+  YYSYMBOL_366_13 = 366,                   /* $@13  */
-+  YYSYMBOL_367_14 = 367,                   /* $@14  */
-+  YYSYMBOL_superclasses = 368,             /* superclasses  */
-+  YYSYMBOL_superlist = 369,                /* superlist  */
-+  YYSYMBOL_superclass = 370,               /* superclass  */
-+  YYSYMBOL_class_access = 371,             /* class_access  */
-+  YYSYMBOL_optclassbody = 372,             /* optclassbody  */
-+  YYSYMBOL_classbody = 373,                /* classbody  */
-+  YYSYMBOL_classline = 374,                /* classline  */
-+  YYSYMBOL_property = 375,                 /* property  */
-+  YYSYMBOL_property_args = 376,            /* property_args  */
-+  YYSYMBOL_property_arg_list = 377,        /* property_arg_list  */
-+  YYSYMBOL_property_arg = 378,             /* property_arg  */
-+  YYSYMBOL_property_body = 379,            /* property_body  */
-+  YYSYMBOL_property_body_directives = 380, /* property_body_directives  */
-+  YYSYMBOL_property_body_directive = 381,  /* property_body_directive  */
-+  YYSYMBOL_name_or_string = 382,           /* name_or_string  */
-+  YYSYMBOL_optslot = 383,                  /* optslot  */
-+  YYSYMBOL_dtor = 384,                     /* dtor  */
-+  YYSYMBOL_385_15 = 385,                   /* $@15  */
-+  YYSYMBOL_dtor_decl = 386,                /* dtor_decl  */
-+  YYSYMBOL_ctor = 387,                     /* ctor  */
-+  YYSYMBOL_388_16 = 388,                   /* $@16  */
-+  YYSYMBOL_simplector = 389,               /* simplector  */
-+  YYSYMBOL_optctorsig = 390,               /* optctorsig  */
-+  YYSYMBOL_391_17 = 391,                   /* $@17  */
-+  YYSYMBOL_optsig = 392,                   /* optsig  */
-+  YYSYMBOL_393_18 = 393,                   /* $@18  */
-+  YYSYMBOL_function = 394,                 /* function  */
-+  YYSYMBOL_operatorname = 395,             /* operatorname  */
-+  YYSYMBOL_optconst = 396,                 /* optconst  */
-+  YYSYMBOL_optfinal = 397,                 /* optfinal  */
-+  YYSYMBOL_optabstract = 398,              /* optabstract  */
-+  YYSYMBOL_optflags = 399,                 /* optflags  */
-+  YYSYMBOL_flaglist = 400,                 /* flaglist  */
-+  YYSYMBOL_flag = 401,                     /* flag  */
-+  YYSYMBOL_flagvalue = 402,                /* flagvalue  */
-+  YYSYMBOL_virtualcallcode = 403,          /* virtualcallcode  */
-+  YYSYMBOL_methodcode = 404,               /* methodcode  */
-+  YYSYMBOL_premethodcode = 405,            /* premethodcode  */
-+  YYSYMBOL_virtualcatchercode = 406,       /* virtualcatchercode  */
-+  YYSYMBOL_arglist = 407,                  /* arglist  */
-+  YYSYMBOL_rawarglist = 408,               /* rawarglist  */
-+  YYSYMBOL_argvalue = 409,                 /* argvalue  */
-+  YYSYMBOL_varmember = 410,                /* varmember  */
-+  YYSYMBOL_411_19 = 411,                   /* $@19  */
-+  YYSYMBOL_412_20 = 412,                   /* $@20  */
-+  YYSYMBOL_simple_varmem = 413,            /* simple_varmem  */
-+  YYSYMBOL_414_21 = 414,                   /* $@21  */
-+  YYSYMBOL_varmem = 415,                   /* varmem  */
-+  YYSYMBOL_member = 416,                   /* member  */
-+  YYSYMBOL_417_22 = 417,                   /* $@22  */
-+  YYSYMBOL_variable = 418,                 /* variable  */
-+  YYSYMBOL_variable_body = 419,            /* variable_body  */
-+  YYSYMBOL_variable_body_directives = 420, /* variable_body_directives  */
-+  YYSYMBOL_variable_body_directive = 421,  /* variable_body_directive  */
-+  YYSYMBOL_cpptype = 422,                  /* cpptype  */
-+  YYSYMBOL_argtype = 423,                  /* argtype  */
-+  YYSYMBOL_optref = 424,                   /* optref  */
-+  YYSYMBOL_deref = 425,                    /* deref  */
-+  YYSYMBOL_basetype = 426,                 /* basetype  */
-+  YYSYMBOL_cpptypelist = 427,              /* cpptypelist  */
-+  YYSYMBOL_optexceptions = 428,            /* optexceptions  */
-+  YYSYMBOL_exceptionlist = 429             /* exceptionlist  */
-+};
-+typedef enum yysymbol_kind_t yysymbol_kind_t;
- 
--/* Copy the second part of user declarations.  */
- 
- 
--/* Line 216 of yacc.c.  */
--#line 639 "sip-4.19.23/sipgen/parser.c"
- 
- #ifdef short
- # undef short
- #endif
- 
--#ifdef YYTYPE_UINT8
--typedef YYTYPE_UINT8 yytype_uint8;
--#else
--typedef unsigned char yytype_uint8;
-+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
-+   <limits.h> and (if available) <stdint.h> are included
-+   so that the code can choose integer types of a good width.  */
-+
-+#ifndef __PTRDIFF_MAX__
-+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
-+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
-+#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
-+#  define YY_STDINT_H
-+# endif
- #endif
- 
--#ifdef YYTYPE_INT8
--typedef YYTYPE_INT8 yytype_int8;
--#elif (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
-+/* Narrow types that promote to a signed type and that can represent a
-+   signed or unsigned integer of at least N bits.  In tables they can
-+   save space and decrease cache pressure.  Promoting to a signed type
-+   helps avoid bugs in integer arithmetic.  */
-+
-+#ifdef __INT_LEAST8_MAX__
-+typedef __INT_LEAST8_TYPE__ yytype_int8;
-+#elif defined YY_STDINT_H
-+typedef int_least8_t yytype_int8;
-+#else
- typedef signed char yytype_int8;
-+#endif
-+
-+#ifdef __INT_LEAST16_MAX__
-+typedef __INT_LEAST16_TYPE__ yytype_int16;
-+#elif defined YY_STDINT_H
-+typedef int_least16_t yytype_int16;
- #else
--typedef short int yytype_int8;
-+typedef short yytype_int16;
-+#endif
-+
-+/* Work around bug in HP-UX 11.23, which defines these macros
-+   incorrectly for preprocessor constants.  This workaround can likely
-+   be removed in 2023, as HPE has promised support for HP-UX 11.23
-+   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
-+   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
-+#ifdef __hpux
-+# undef UINT_LEAST8_MAX
-+# undef UINT_LEAST16_MAX
-+# define UINT_LEAST8_MAX 255
-+# define UINT_LEAST16_MAX 65535
- #endif
- 
--#ifdef YYTYPE_UINT16
--typedef YYTYPE_UINT16 yytype_uint16;
-+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
-+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
-+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
-+       && UINT_LEAST8_MAX <= INT_MAX)
-+typedef uint_least8_t yytype_uint8;
-+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
-+typedef unsigned char yytype_uint8;
- #else
--typedef unsigned short int yytype_uint16;
-+typedef short yytype_uint8;
- #endif
- 
--#ifdef YYTYPE_INT16
--typedef YYTYPE_INT16 yytype_int16;
-+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
-+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
-+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
-+       && UINT_LEAST16_MAX <= INT_MAX)
-+typedef uint_least16_t yytype_uint16;
-+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
-+typedef unsigned short yytype_uint16;
- #else
--typedef short int yytype_int16;
-+typedef int yytype_uint16;
-+#endif
-+
-+#ifndef YYPTRDIFF_T
-+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
-+#  define YYPTRDIFF_T __PTRDIFF_TYPE__
-+#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
-+# elif defined PTRDIFF_MAX
-+#  ifndef ptrdiff_t
-+#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-+#  endif
-+#  define YYPTRDIFF_T ptrdiff_t
-+#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
-+# else
-+#  define YYPTRDIFF_T long
-+#  define YYPTRDIFF_MAXIMUM LONG_MAX
-+# endif
- #endif
- 
- #ifndef YYSIZE_T
-@@ -673,55 +806,106 @@ typedef short int yytype_int16;
- #  define YYSIZE_T __SIZE_TYPE__
- # elif defined size_t
- #  define YYSIZE_T size_t
--# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
-+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
- #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
- #  define YYSIZE_T size_t
- # else
--#  define YYSIZE_T unsigned int
-+#  define YYSIZE_T unsigned
- # endif
- #endif
- 
--#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-+#define YYSIZE_MAXIMUM                                  \
-+  YY_CAST (YYPTRDIFF_T,                                 \
-+           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
-+            ? YYPTRDIFF_MAXIMUM                         \
-+            : YY_CAST (YYSIZE_T, -1)))
-+
-+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
-+
-+
-+/* Stored state numbers (used for stacks). */
-+typedef yytype_int16 yy_state_t;
-+
-+/* State numbers in computations.  */
-+typedef int yy_state_fast_t;
- 
- #ifndef YY_
- # if defined YYENABLE_NLS && YYENABLE_NLS
- #  if ENABLE_NLS
- #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
--#   define YY_(msgid) dgettext ("bison-runtime", msgid)
-+#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
- #  endif
- # endif
- # ifndef YY_
--#  define YY_(msgid) msgid
-+#  define YY_(Msgid) Msgid
-+# endif
-+#endif
-+
-+
-+#ifndef YY_ATTRIBUTE_PURE
-+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
-+#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
-+# else
-+#  define YY_ATTRIBUTE_PURE
-+# endif
-+#endif
-+
-+#ifndef YY_ATTRIBUTE_UNUSED
-+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
-+#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-+# else
-+#  define YY_ATTRIBUTE_UNUSED
- # endif
- #endif
- 
- /* Suppress unused-variable warnings by "using" E.  */
- #if ! defined lint || defined __GNUC__
--# define YYUSE(e) ((void) (e))
-+# define YY_USE(E) ((void) (E))
- #else
--# define YYUSE(e) /* empty */
-+# define YY_USE(E) /* empty */
- #endif
- 
--/* Identity function, used to suppress warnings about constant conditions.  */
--#ifndef lint
--# define YYID(n) (n)
--#else
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static int
--YYID (int i)
-+/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
-+#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
-+# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
-+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
-+    _Pragma ("GCC diagnostic push")                                     \
-+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
-+# else
-+#  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
-+    _Pragma ("GCC diagnostic push")                                     \
-+    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
-+    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-+# endif
-+# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
-+    _Pragma ("GCC diagnostic pop")
- #else
--static int
--YYID (i)
--    int i;
-+# define YY_INITIAL_VALUE(Value) Value
- #endif
--{
--  return i;
--}
-+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-+#endif
-+#ifndef YY_INITIAL_VALUE
-+# define YY_INITIAL_VALUE(Value) /* Nothing. */
-+#endif
-+
-+#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
-+# define YY_IGNORE_USELESS_CAST_BEGIN                          \
-+    _Pragma ("GCC diagnostic push")                            \
-+    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
-+# define YY_IGNORE_USELESS_CAST_END            \
-+    _Pragma ("GCC diagnostic pop")
- #endif
-+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
-+# define YY_IGNORE_USELESS_CAST_BEGIN
-+# define YY_IGNORE_USELESS_CAST_END
-+#endif
-+
-+
-+#define YY_ASSERT(E) ((void) (0 && (E)))
- 
--#if ! defined yyoverflow || YYERROR_VERBOSE
-+#if !defined yyoverflow
- 
- /* The parser invokes alloca or malloc; define the necessary symbols.  */
- 
-@@ -738,11 +922,11 @@ YYID (i)
- #    define alloca _alloca
- #   else
- #    define YYSTACK_ALLOC alloca
--#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
-+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
- #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
--#     ifndef _STDLIB_H
--#      define _STDLIB_H 1
-+      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
-+#     ifndef EXIT_SUCCESS
-+#      define EXIT_SUCCESS 0
- #     endif
- #    endif
- #   endif
-@@ -750,8 +934,8 @@ YYID (i)
- # endif
- 
- # ifdef YYSTACK_ALLOC
--   /* Pacify GCC's `empty if-body' warning.  */
--#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-+   /* Pacify GCC's 'empty if-body' warning.  */
-+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
- #  ifndef YYSTACK_ALLOC_MAXIMUM
-     /* The OS might guarantee only one guard page at the bottom of the stack,
-        and a page size can be as small as 4096 bytes.  So we cannot safely
-@@ -765,125 +949,131 @@ YYID (i)
- #  ifndef YYSTACK_ALLOC_MAXIMUM
- #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
- #  endif
--#  if (defined __cplusplus && ! defined _STDLIB_H \
-+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
-        && ! ((defined YYMALLOC || defined malloc) \
--	     && (defined YYFREE || defined free)))
-+             && (defined YYFREE || defined free)))
- #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
--#   ifndef _STDLIB_H
--#    define _STDLIB_H 1
-+#   ifndef EXIT_SUCCESS
-+#    define EXIT_SUCCESS 0
- #   endif
- #  endif
- #  ifndef YYMALLOC
- #   define YYMALLOC malloc
--#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
-+#   if ! defined malloc && ! defined EXIT_SUCCESS
- void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
- #   endif
- #  endif
- #  ifndef YYFREE
- #   define YYFREE free
--#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
-+#   if ! defined free && ! defined EXIT_SUCCESS
- void free (void *); /* INFRINGES ON USER NAME SPACE */
- #   endif
- #  endif
- # endif
--#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
--
-+#endif /* !defined yyoverflow */
- 
- #if (! defined yyoverflow \
-      && (! defined __cplusplus \
--	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-+         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
- 
- /* A type that is properly aligned for any stack member.  */
- union yyalloc
- {
--  yytype_int16 yyss;
--  YYSTYPE yyvs;
--  };
-+  yy_state_t yyss_alloc;
-+  YYSTYPE yyvs_alloc;
-+};
- 
- /* The size of the maximum gap between one aligned stack and the next.  */
--# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-+# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
- 
- /* The size of an array large to enough to hold all stacks, each with
-    N elements.  */
- # define YYSTACK_BYTES(N) \
--     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
-+     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
-       + YYSTACK_GAP_MAXIMUM)
- 
--/* Copy COUNT objects from FROM to TO.  The source and destination do
--   not overlap.  */
--# ifndef YYCOPY
--#  if defined __GNUC__ && 1 < __GNUC__
--#   define YYCOPY(To, From, Count) \
--      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
--#  else
--#   define YYCOPY(To, From, Count)		\
--      do					\
--	{					\
--	  YYSIZE_T yyi;				\
--	  for (yyi = 0; yyi < (Count); yyi++)	\
--	    (To)[yyi] = (From)[yyi];		\
--	}					\
--      while (YYID (0))
--#  endif
--# endif
-+# define YYCOPY_NEEDED 1
- 
- /* Relocate STACK from its old location to the new one.  The
-    local variables YYSIZE and YYSTACKSIZE give the old and new number of
-    elements in the stack, and YYPTR gives the new location of the
-    stack.  Advance YYPTR to a properly aligned location for the next
-    stack.  */
--# define YYSTACK_RELOCATE(Stack)					\
--    do									\
--      {									\
--	YYSIZE_T yynewbytes;						\
--	YYCOPY (&yyptr->Stack, Stack, yysize);				\
--	Stack = &yyptr->Stack;						\
--	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
--	yyptr += yynewbytes / sizeof (*yyptr);				\
--      }									\
--    while (YYID (0))
-+# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
-+    do                                                                  \
-+      {                                                                 \
-+        YYPTRDIFF_T yynewbytes;                                         \
-+        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
-+        Stack = &yyptr->Stack_alloc;                                    \
-+        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
-+        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
-+      }                                                                 \
-+    while (0)
- 
- #endif
- 
-+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-+/* Copy COUNT objects from SRC to DST.  The source and destination do
-+   not overlap.  */
-+# ifndef YYCOPY
-+#  if defined __GNUC__ && 1 < __GNUC__
-+#   define YYCOPY(Dst, Src, Count) \
-+      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
-+#  else
-+#   define YYCOPY(Dst, Src, Count)              \
-+      do                                        \
-+        {                                       \
-+          YYPTRDIFF_T yyi;                      \
-+          for (yyi = 0; yyi < (Count); yyi++)   \
-+            (Dst)[yyi] = (Src)[yyi];            \
-+        }                                       \
-+      while (0)
-+#  endif
-+# endif
-+#endif /* !YYCOPY_NEEDED */
-+
- /* YYFINAL -- State number of the termination state.  */
- #define YYFINAL  4
- /* YYLAST -- Last index in YYTABLE.  */
--#define YYLAST   1630
-+#define YYLAST   1669
- 
- /* YYNTOKENS -- Number of terminals.  */
--#define YYNTOKENS  174
-+#define YYNTOKENS  175
- /* YYNNTS -- Number of nonterminals.  */
- #define YYNNTS  255
- /* YYNRULES -- Number of rules.  */
--#define YYNRULES  597
--/* YYNRULES -- Number of states.  */
--#define YYNSTATES  1047
--
--/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
--#define YYUNDEFTOK  2
--#define YYMAXUTOK   406
--
--#define YYTRANSLATE(YYX)						\
--  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-+#define YYNRULES  598
-+/* YYNSTATES -- Number of states.  */
-+#define YYNSTATES  1050
-+
-+/* YYMAXUTOK -- Last valid token kind.  */
-+#define YYMAXUTOK   407
-+
-+
-+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
-+   as returned by yylex, with out-of-bounds checking.  */
-+#define YYTRANSLATE(YYX)                                \
-+  (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
-+   ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
-+   : YYSYMBOL_YYUNDEF)
- 
--/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
-+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
-+   as returned by yylex.  */
- static const yytype_uint8 yytranslate[] =
- {
-        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,     2,     2,   159,     2,     2,     2,   172,   164,     2,
--     152,   153,   162,   161,   154,   160,     2,   163,     2,     2,
--       2,     2,     2,     2,     2,     2,     2,     2,   169,   158,
--     167,   155,   168,     2,     2,     2,     2,     2,     2,     2,
-+       2,     2,     2,   160,     2,     2,     2,   173,   165,     2,
-+     153,   154,   163,   162,   155,   161,     2,   164,     2,     2,
-+       2,     2,     2,     2,     2,     2,     2,     2,   170,   159,
-+     168,   156,   169,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,   170,     2,   171,   173,     2,     2,     2,     2,     2,
-+       2,   171,     2,   172,   174,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,     2,     2,   156,   165,   157,   166,     2,     2,     2,
-+       2,     2,     2,   157,   166,   158,   167,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-@@ -911,334 +1101,97 @@ static const yytype_uint8 yytranslate[]
-      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
--     145,   146,   147,   148,   149,   150,   151
-+     145,   146,   147,   148,   149,   150,   151,   152
- };
- 
- #if YYDEBUG
--/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
--   YYRHS.  */
--static const yytype_uint16 yyprhs[] =
--{
--       0,     0,     3,     5,     8,     9,    12,    14,    16,    18,
--      20,    22,    24,    26,    28,    30,    32,    34,    36,    38,
--      40,    42,    44,    46,    48,    50,    52,    54,    56,    58,
--      60,    62,    64,    66,    68,    70,    72,    74,    76,    78,
--      80,    82,    84,    86,    88,    90,    92,    94,    96,    98,
--     100,   102,   104,   106,   108,   110,   112,   115,   117,   121,
--     123,   127,   131,   134,   136,   140,   142,   146,   150,   153,
--     155,   159,   161,   165,   169,   172,   174,   178,   180,   184,
--     188,   192,   194,   198,   200,   204,   208,   211,   214,   218,
--     220,   224,   228,   232,   238,   239,   243,   248,   250,   253,
--     255,   257,   259,   261,   264,   265,   271,   272,   279,   284,
--     286,   289,   291,   293,   295,   297,   300,   303,   305,   307,
--     309,   324,   325,   331,   332,   336,   338,   341,   342,   348,
--     350,   353,   355,   358,   360,   364,   366,   370,   374,   375,
--     381,   383,   386,   388,   389,   395,   397,   400,   404,   409,
--     411,   415,   417,   421,   422,   424,   428,   430,   434,   438,
--     442,   446,   450,   453,   455,   459,   461,   465,   469,   472,
--     474,   478,   480,   484,   488,   491,   493,   497,   499,   503,
--     507,   511,   513,   517,   519,   523,   527,   528,   533,   535,
--     538,   540,   542,   544,   548,   550,   554,   556,   560,   564,
--     565,   570,   572,   575,   577,   579,   581,   585,   589,   590,
--     594,   598,   600,   604,   608,   612,   616,   620,   624,   628,
--     632,   636,   640,   641,   646,   648,   651,   653,   655,   657,
--     659,   661,   663,   664,   666,   669,   671,   675,   677,   681,
--     685,   689,   692,   695,   697,   701,   703,   707,   711,   712,
--     715,   716,   719,   720,   723,   726,   729,   732,   735,   738,
--     741,   744,   747,   750,   753,   756,   759,   762,   765,   768,
--     771,   774,   777,   780,   783,   786,   789,   792,   795,   798,
--     801,   804,   807,   810,   814,   816,   820,   824,   828,   829,
--     831,   835,   837,   841,   845,   849,   850,   852,   856,   858,
--     862,   864,   868,   872,   876,   881,   884,   886,   889,   890,
--     900,   901,   903,   905,   906,   908,   909,   911,   912,   914,
--     916,   919,   921,   923,   928,   929,   931,   932,   935,   936,
--     939,   941,   945,   947,   949,   951,   953,   955,   957,   958,
--     960,   962,   964,   966,   968,   970,   974,   975,   979,   982,
--     984,   986,   990,   992,   994,   996,   998,  1003,  1006,  1008,
--    1010,  1012,  1014,  1016,  1018,  1019,  1021,  1025,  1032,  1045,
--    1046,  1047,  1056,  1057,  1061,  1066,  1067,  1068,  1077,  1078,
--    1081,  1083,  1087,  1090,  1091,  1093,  1095,  1097,  1098,  1102,
--    1103,  1105,  1108,  1110,  1112,  1114,  1116,  1118,  1120,  1122,
--    1124,  1126,  1128,  1130,  1132,  1134,  1136,  1138,  1140,  1142,
--    1144,  1146,  1148,  1150,  1152,  1154,  1156,  1158,  1160,  1162,
--    1164,  1167,  1170,  1173,  1177,  1181,  1185,  1188,  1192,  1196,
--    1198,  1202,  1206,  1210,  1214,  1215,  1220,  1222,  1225,  1227,
--    1229,  1231,  1233,  1235,  1236,  1238,  1239,  1243,  1245,  1257,
--    1258,  1262,  1264,  1276,  1277,  1278,  1285,  1286,  1287,  1295,
--    1313,  1321,  1339,  1356,  1358,  1360,  1362,  1364,  1366,  1368,
--    1370,  1372,  1375,  1378,  1381,  1384,  1387,  1390,  1393,  1396,
--    1399,  1402,  1406,  1410,  1412,  1415,  1418,  1420,  1423,  1426,
--    1429,  1431,  1434,  1435,  1437,  1438,  1440,  1441,  1444,  1445,
--    1449,  1451,  1455,  1457,  1461,  1463,  1469,  1471,  1473,  1474,
--    1477,  1478,  1481,  1482,  1485,  1486,  1489,  1491,  1492,  1494,
--    1498,  1503,  1508,  1513,  1517,  1521,  1528,  1535,  1539,  1542,
--    1543,  1547,  1548,  1552,  1554,  1555,  1559,  1561,  1563,  1565,
--    1566,  1570,  1572,  1581,  1582,  1586,  1588,  1591,  1593,  1595,
--    1598,  1601,  1604,  1609,  1613,  1617,  1618,  1620,  1621,  1625,
--    1628,  1630,  1635,  1638,  1641,  1643,  1645,  1648,  1650,  1652,
--    1655,  1658,  1662,  1664,  1666,  1668,  1671,  1674,  1676,  1678,
--    1680,  1682,  1684,  1686,  1688,  1690,  1692,  1694,  1696,  1698,
--    1700,  1702,  1704,  1708,  1709,  1714,  1715,  1717
--};
--
--/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
--static const yytype_int16 yyrhs[] =
--{
--     175,     0,    -1,   176,    -1,   175,   176,    -1,    -1,   177,
--     178,    -1,   269,    -1,   255,    -1,   262,    -1,   192,    -1,
--     291,    -1,   279,    -1,   283,    -1,   284,    -1,   200,    -1,
--     230,    -1,   222,    -1,   226,    -1,   239,    -1,   180,    -1,
--     184,    -1,   188,    -1,   243,    -1,   247,    -1,   251,    -1,
--     292,    -1,   293,    -1,   306,    -1,   308,    -1,   309,    -1,
--     310,    -1,   311,    -1,   312,    -1,   313,    -1,   314,    -1,
--     315,    -1,   317,    -1,   318,    -1,   328,    -1,   332,    -1,
--     210,    -1,   212,    -1,   196,    -1,   179,    -1,   234,    -1,
--     238,    -1,   218,    -1,   358,    -1,   364,    -1,   361,    -1,
--     204,    -1,   357,    -1,   335,    -1,   393,    -1,   417,    -1,
--     294,    -1,     5,   181,    -1,    36,    -1,   152,   182,   153,
--      -1,   183,    -1,   182,   154,   183,    -1,   138,   155,    36,
--      -1,     6,   185,    -1,    36,    -1,   152,   186,   153,    -1,
--     187,    -1,   186,   154,   187,    -1,   138,   155,    36,    -1,
--       7,   189,    -1,    36,    -1,   152,   190,   153,    -1,   191,
--      -1,   190,   154,   191,    -1,   138,   155,    36,    -1,     8,
--     193,    -1,    34,    -1,   152,   194,   153,    -1,   195,    -1,
--     194,   154,   195,    -1,   138,   155,    34,    -1,     9,   197,
--     333,    -1,    34,    -1,   152,   198,   153,    -1,   199,    -1,
--     198,   154,   199,    -1,   138,   155,    34,    -1,     3,   201,
--      -1,    34,   107,    -1,   152,   202,   153,    -1,   203,    -1,
--     202,   154,   203,    -1,   138,   155,   381,    -1,   151,   155,
--     107,    -1,   122,   351,   205,   398,   206,    -1,    -1,   152,
--     351,   153,    -1,   156,   207,   157,   158,    -1,   208,    -1,
--     207,   208,    -1,   234,    -1,   238,    -1,   209,    -1,   294,
--      -1,   123,   333,    -1,    -1,    30,   425,   398,   211,   214,
--      -1,    -1,   363,    30,   425,   398,   213,   214,    -1,   156,
--     215,   157,   158,    -1,   216,    -1,   215,   216,    -1,   234,
--      -1,   238,    -1,   294,    -1,   307,    -1,    51,   333,    -1,
--      52,   333,    -1,   303,    -1,   335,    -1,   217,    -1,    97,
--     421,    34,   152,   406,   153,   395,   427,   398,   391,   158,
--     327,   404,   403,    -1,    -1,   110,    34,   219,   220,   158,
--      -1,    -1,   156,   221,   157,    -1,   179,    -1,   221,   179,
--      -1,    -1,   112,   223,   156,   224,   157,    -1,   225,    -1,
--     224,   225,    -1,    34,    -1,   113,   227,    -1,    34,    -1,
--     152,   228,   153,    -1,   229,    -1,   228,   154,   229,    -1,
--     138,   155,   381,    -1,    -1,   111,   231,   156,   232,   157,
--      -1,   233,    -1,   232,   233,    -1,    34,    -1,    -1,    32,
--     152,   235,   237,   153,    -1,    34,    -1,   159,    34,    -1,
--     236,    95,    34,    -1,   236,    95,   159,    34,    -1,   236,
--      -1,   339,   160,   339,    -1,    33,    -1,   114,   240,   398,
--      -1,    -1,    36,    -1,   152,   241,   153,    -1,   242,    -1,
--     241,   154,   242,    -1,   145,   155,    36,    -1,   137,   155,
--      36,    -1,   143,   155,    36,    -1,   144,   155,    36,    -1,
--     128,   244,    -1,   277,    -1,   152,   245,   153,    -1,   246,
--      -1,   245,   154,   246,    -1,   138,   155,   277,    -1,   129,
--     248,    -1,   277,    -1,   152,   249,   153,    -1,   250,    -1,
--     249,   154,   250,    -1,   138,   155,   277,    -1,   131,   252,
--      -1,   351,    -1,   152,   253,   153,    -1,   254,    -1,   253,
--     154,   254,    -1,   138,   155,   351,    -1,    62,   256,   259,
--      -1,   277,    -1,   152,   257,   153,    -1,   258,    -1,   257,
--     154,   258,    -1,   138,   155,   277,    -1,    -1,   156,   260,
--     157,   158,    -1,   261,    -1,   260,   261,    -1,   234,    -1,
--     238,    -1,   323,    -1,    63,   263,   266,    -1,   277,    -1,
--     152,   264,   153,    -1,   265,    -1,   264,   154,   265,    -1,
--     138,   155,   277,    -1,    -1,   156,   267,   157,   158,    -1,
--     268,    -1,   267,   268,    -1,   234,    -1,   238,    -1,   323,
--      -1,    60,   270,   274,    -1,    61,   277,   278,    -1,    -1,
--     277,   271,   278,    -1,   152,   272,   153,    -1,   273,    -1,
--     272,   154,   273,    -1,   135,   155,    36,    -1,   136,   155,
--      36,    -1,   138,   155,   277,    -1,   146,   155,   354,    -1,
--     147,   155,   354,    -1,   148,   155,   354,    -1,   149,   155,
--     354,    -1,   150,   155,    34,    -1,   151,   155,   107,    -1,
--      -1,   156,   275,   157,   158,    -1,   276,    -1,   275,   276,
--      -1,   234,    -1,   238,    -1,   319,    -1,   323,    -1,    34,
--      -1,    35,    -1,    -1,   107,    -1,    54,   280,    -1,    35,
--      -1,   152,   281,   153,    -1,   282,    -1,   281,   154,   282,
--      -1,   138,   155,    35,    -1,   139,   155,   354,    -1,    55,
--      35,    -1,    56,   285,    -1,    35,    -1,   152,   286,   153,
--      -1,   287,    -1,   286,   154,   287,    -1,   138,   155,    35,
--      -1,    -1,    17,   333,    -1,    -1,    18,   333,    -1,    -1,
--      19,   333,    -1,    29,   333,    -1,    57,   333,    -1,    58,
--     333,    -1,    59,   333,    -1,    38,   333,    -1,    39,   333,
--      -1,    40,   333,    -1,    41,   333,    -1,    42,   333,    -1,
--      43,   333,    -1,    44,   333,    -1,    45,   333,    -1,    50,
--     333,    -1,    46,   333,    -1,    23,   333,    -1,    26,   333,
--      -1,    27,   333,    -1,    20,   333,    -1,    21,   333,    -1,
--      22,   333,    -1,    24,   333,    -1,    25,   333,    -1,    28,
--     333,    -1,    10,   333,    -1,    11,   333,    -1,    11,   333,
--      -1,    13,   333,    -1,    14,   333,    -1,     4,   320,    -1,
--     152,   321,   153,    -1,   322,    -1,   321,   154,   322,    -1,
--     141,   155,    36,    -1,    12,   324,   333,    -1,    -1,    36,
--      -1,   152,   325,   153,    -1,   326,    -1,   325,   154,   326,
--      -1,   132,   155,    36,    -1,   143,   155,    36,    -1,    -1,
--     323,    -1,    15,   329,   333,    -1,    34,    -1,   152,   330,
--     153,    -1,   331,    -1,   330,   154,   331,    -1,   134,   155,
--      34,    -1,   140,   155,   107,    -1,    16,    35,   338,   333,
--      -1,   334,    33,    -1,    31,    -1,   334,    31,    -1,    -1,
--      91,   337,   339,   398,   336,   156,   340,   157,   158,    -1,
--      -1,    64,    -1,    65,    -1,    -1,    35,    -1,    -1,    34,
--      -1,    -1,   341,    -1,   342,    -1,   341,   342,    -1,   234,
--      -1,   238,    -1,    34,   344,   398,   343,    -1,    -1,   154,
--      -1,    -1,   155,   349,    -1,    -1,   155,   346,    -1,   349,
--      -1,   346,   347,   349,    -1,   160,    -1,   161,    -1,   162,
--      -1,   163,    -1,   164,    -1,   165,    -1,    -1,   159,    -1,
--     166,    -1,   160,    -1,   161,    -1,   162,    -1,   164,    -1,
--     350,   348,   355,    -1,    -1,   152,   351,   153,    -1,    94,
--     352,    -1,   352,    -1,   353,    -1,   352,    94,   353,    -1,
--      34,    -1,   116,    -1,   117,    -1,   351,    -1,   425,   152,
--     356,   153,    -1,   156,   157,    -1,   108,    -1,   107,    -1,
--     354,    -1,   118,    -1,    36,    -1,   115,    -1,    -1,   346,
--      -1,   356,   154,   346,    -1,   109,   421,    34,   398,   158,
--     327,    -1,   109,   421,   152,   162,    34,   153,   152,   426,
--     153,   398,   158,   327,    -1,    -1,    -1,    65,   351,   359,
--     367,   398,   360,   371,   158,    -1,    -1,   363,   362,   364,
--      -1,   125,   167,   426,   168,    -1,    -1,    -1,    64,   351,
--     365,   367,   398,   366,   371,   158,    -1,    -1,   169,   368,
--      -1,   369,    -1,   368,   154,   369,    -1,   370,   351,    -1,
--      -1,    66,    -1,    67,    -1,    68,    -1,    -1,   156,   372,
--     157,    -1,    -1,   373,    -1,   372,   373,    -1,   234,    -1,
--     238,    -1,   218,    -1,   358,    -1,   364,    -1,   361,    -1,
--     204,    -1,   357,    -1,   335,    -1,   374,    -1,   323,    -1,
--     307,    -1,   294,    -1,   295,    -1,   296,    -1,   297,    -1,
--     298,    -1,   299,    -1,   300,    -1,   301,    -1,   302,    -1,
--     303,    -1,   304,    -1,   305,    -1,   316,    -1,   386,    -1,
--     383,    -1,   409,    -1,    53,   333,    -1,    52,   333,    -1,
--      51,   333,    -1,    66,   382,   169,    -1,    67,   382,   169,
--      -1,    68,   382,   169,    -1,    69,   169,    -1,   130,   375,
--     378,    -1,   152,   376,   153,    -1,   377,    -1,   376,   154,
--     377,    -1,   133,   155,    34,    -1,   138,   155,   381,    -1,
--     142,   155,    34,    -1,    -1,   156,   379,   157,   158,    -1,
--     380,    -1,   379,   380,    -1,   234,    -1,   238,    -1,   323,
--      -1,    34,    -1,    36,    -1,    -1,    71,    -1,    -1,    90,
--     384,   385,    -1,   385,    -1,   166,    34,   152,   153,   427,
--     397,   398,   158,   404,   403,   405,    -1,    -1,   124,   387,
--     388,    -1,   388,    -1,    34,   152,   406,   153,   427,   398,
--     389,   158,   327,   404,   403,    -1,    -1,    -1,   170,   390,
--     152,   406,   153,   171,    -1,    -1,    -1,   170,   392,   421,
--     152,   406,   153,   171,    -1,   421,    34,   152,   406,   153,
--     395,   396,   427,   397,   398,   391,   158,   327,   404,   403,
--     405,   402,    -1,   421,   119,   155,   152,   421,   153,   158,
--      -1,   421,   119,   394,   152,   406,   153,   395,   396,   427,
--     397,   398,   391,   158,   404,   403,   405,   402,    -1,   119,
--     421,   152,   406,   153,   395,   396,   427,   397,   398,   391,
--     158,   404,   403,   405,   402,    -1,   161,    -1,   160,    -1,
--     162,    -1,   163,    -1,   172,    -1,   164,    -1,   165,    -1,
--     173,    -1,   167,   167,    -1,   168,   168,    -1,   161,   155,
--      -1,   160,   155,    -1,   162,   155,    -1,   163,   155,    -1,
--     172,   155,    -1,   164,   155,    -1,   165,   155,    -1,   173,
--     155,    -1,   167,   167,   155,    -1,   168,   168,   155,    -1,
--     166,    -1,   152,   153,    -1,   170,   171,    -1,   167,    -1,
--     167,   155,    -1,   155,   155,    -1,   159,   155,    -1,   168,
--      -1,   168,   155,    -1,    -1,    96,    -1,    -1,   126,    -1,
--      -1,   155,   107,    -1,    -1,   163,   399,   163,    -1,   400,
--      -1,   399,   154,   400,    -1,    34,    -1,    34,   155,   401,
--      -1,   277,    -1,    34,   169,   278,   160,   278,    -1,    36,
--      -1,   107,    -1,    -1,    47,   333,    -1,    -1,    48,   333,
--      -1,    -1,    49,   333,    -1,    -1,    37,   333,    -1,   407,
--      -1,    -1,   408,    -1,   407,   154,   408,    -1,    98,   339,
--     398,   345,    -1,    99,   339,   398,   345,    -1,   100,   339,
--     398,   345,    -1,   101,   339,   398,    -1,   102,   339,   398,
--      -1,   103,   152,   406,   153,   339,   398,    -1,   104,   152,
--     406,   153,   339,   398,    -1,   121,   339,   398,    -1,   422,
--     345,    -1,    -1,    70,   410,   412,    -1,    -1,    72,   411,
--     412,    -1,   412,    -1,    -1,    97,   413,   414,    -1,   414,
--      -1,   415,    -1,   417,    -1,    -1,    90,   416,   393,    -1,
--     393,    -1,   421,    34,   398,   418,   158,   288,   289,   290,
--      -1,    -1,   156,   419,   157,    -1,   420,    -1,   419,   420,
--      -1,   234,    -1,   238,    -1,    17,   333,    -1,    18,   333,
--      -1,    19,   333,    -1,    96,   425,   424,   423,    -1,   425,
--     424,   423,    -1,   421,   339,   398,    -1,    -1,   164,    -1,
--      -1,   424,   162,    96,    -1,   424,   162,    -1,   351,    -1,
--     351,   167,   426,   168,    -1,    65,   351,    -1,    93,    74,
--      -1,    74,    -1,    93,    -1,    93,    75,    -1,    75,    -1,
--      76,    -1,    93,    76,    -1,    76,    76,    -1,    93,    76,
--      76,    -1,    77,    -1,    78,    -1,    73,    -1,    92,    79,
--      -1,    93,    79,    -1,    79,    -1,    80,    -1,    81,    -1,
--      82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,
--      87,    -1,    88,    -1,    89,    -1,   105,    -1,   106,    -1,
--     127,    -1,   421,    -1,   426,   154,   421,    -1,    -1,   120,
--     152,   428,   153,    -1,    -1,   351,    -1,   428,   154,   351,
--      -1
--};
--
--/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
--static const yytype_uint16 yyrline[] =
-+/* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
-+static const yytype_int16 yyrline[] =
- {
--       0,   574,   574,   575,   578,   578,   597,   598,   599,   600,
--     601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
--     611,   612,   613,   614,   615,   616,   617,   618,   619,   620,
--     621,   622,   623,   624,   625,   626,   627,   628,   629,   630,
--     631,   632,   633,   634,   637,   638,   639,   640,   641,   642,
--     643,   644,   645,   646,   647,   648,   661,   667,   672,   677,
--     678,   688,   695,   701,   706,   711,   712,   722,   729,   738,
--     743,   748,   749,   759,   766,   777,   782,   787,   788,   798,
--     805,   834,   839,   844,   845,   855,   862,   888,   896,   901,
--     902,   913,   919,   927,   974,   978,  1085,  1090,  1091,  1102,
--    1105,  1108,  1122,  1138,  1143,  1143,  1166,  1166,  1233,  1247,
--    1248,  1251,  1252,  1253,  1257,  1261,  1270,  1279,  1288,  1289,
--    1292,  1307,  1307,  1344,  1345,  1348,  1349,  1352,  1352,  1381,
--    1382,  1385,  1391,  1397,  1402,  1407,  1408,  1418,  1425,  1425,
--    1451,  1452,  1455,  1461,  1461,  1480,  1483,  1486,  1489,  1494,
--    1495,  1500,  1508,  1545,  1553,  1559,  1564,  1565,  1578,  1586,
--    1594,  1602,  1612,  1623,  1628,  1633,  1634,  1644,  1651,  1662,
--    1667,  1672,  1673,  1683,  1690,  1702,  1707,  1712,  1713,  1723,
--    1730,  1750,  1755,  1760,  1761,  1771,  1778,  1782,  1787,  1788,
--    1798,  1801,  1804,  1818,  1836,  1841,  1846,  1847,  1857,  1864,
--    1868,  1873,  1874,  1884,  1887,  1890,  1904,  1915,  1925,  1925,
--    1938,  1943,  1944,  1961,  1973,  1991,  2003,  2015,  2027,  2039,
--    2051,  2063,  2082,  2086,  2091,  2092,  2102,  2105,  2108,  2111,
--    2125,  2126,  2142,  2145,  2148,  2157,  2163,  2168,  2169,  2180,
--    2186,  2194,  2202,  2208,  2213,  2218,  2219,  2229,  2236,  2239,
--    2244,  2247,  2252,  2255,  2260,  2266,  2272,  2278,  2283,  2288,
--    2293,  2298,  2303,  2308,  2313,  2318,  2323,  2328,  2333,  2338,
--    2344,  2349,  2355,  2361,  2367,  2373,  2379,  2384,  2390,  2396,
--    2401,  2407,  2413,  2419,  2424,  2425,  2435,  2442,  2526,  2530,
--    2536,  2541,  2542,  2553,  2559,  2567,  2570,  2573,  2582,  2588,
--    2593,  2594,  2605,  2611,  2622,  2627,  2630,  2631,  2641,  2641,
--    2665,  2668,  2671,  2676,  2679,  2684,  2687,  2692,  2693,  2696,
--    2697,  2700,  2701,  2702,  2746,  2747,  2750,  2751,  2754,  2757,
--    2762,  2763,  2781,  2784,  2787,  2790,  2793,  2796,  2801,  2804,
--    2807,  2810,  2813,  2816,  2819,  2824,  2839,  2842,  2847,  2853,
--    2856,  2857,  2865,  2870,  2873,  2878,  2887,  2897,  2900,  2904,
--    2908,  2912,  2916,  2920,  2926,  2931,  2937,  2955,  2977,  3016,
--    3022,  3016,  3066,  3066,  3092,  3097,  3103,  3097,  3143,  3144,
--    3147,  3148,  3151,  3203,  3206,  3209,  3212,  3217,  3220,  3225,
--    3226,  3227,  3230,  3231,  3232,  3233,  3234,  3235,  3236,  3237,
--    3238,  3239,  3240,  3251,  3255,  3259,  3270,  3281,  3292,  3303,
--    3314,  3325,  3336,  3347,  3358,  3369,  3380,  3391,  3392,  3393,
--    3394,  3405,  3416,  3427,  3434,  3441,  3448,  3457,  3470,  3475,
--    3476,  3488,  3495,  3502,  3511,  3515,  3520,  3521,  3531,  3534,
--    3537,  3551,  3552,  3555,  3558,  3564,  3564,  3565,  3568,  3634,
--    3634,  3635,  3638,  3684,  3687,  3687,  3698,  3701,  3701,  3713,
--    3731,  3751,  3795,  3876,  3877,  3878,  3879,  3880,  3881,  3882,
--    3883,  3884,  3885,  3886,  3887,  3888,  3889,  3890,  3891,  3892,
--    3893,  3894,  3895,  3896,  3897,  3898,  3899,  3900,  3901,  3902,
--    3903,  3904,  3907,  3910,  3915,  3918,  3923,  3926,  3934,  3937,
--    3943,  3947,  3959,  3963,  3969,  3973,  3996,  4000,  4006,  4009,
--    4014,  4017,  4022,  4025,  4030,  4033,  4038,  4090,  4095,  4101,
--    4124,  4136,  4148,  4160,  4179,  4190,  4207,  4224,  4233,  4240,
--    4240,  4241,  4241,  4242,  4246,  4246,  4247,  4251,  4252,  4256,
--    4256,  4257,  4260,  4315,  4321,  4326,  4327,  4339,  4342,  4345,
--    4360,  4375,  4392,  4397,  4411,  4521,  4524,  4532,  4535,  4538,
--    4543,  4551,  4562,  4577,  4581,  4585,  4589,  4593,  4597,  4601,
--    4605,  4609,  4613,  4617,  4621,  4625,  4629,  4633,  4637,  4641,
--    4645,  4649,  4653,  4657,  4661,  4665,  4669,  4673,  4677,  4681,
--    4685,  4691,  4697,  4713,  4716,  4724,  4730,  4737
-+       0,   575,   575,   576,   579,   579,   598,   599,   600,   601,
-+     602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
-+     612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
-+     622,   623,   624,   625,   626,   627,   628,   629,   630,   631,
-+     632,   633,   634,   635,   638,   639,   640,   641,   642,   643,
-+     644,   645,   646,   647,   648,   649,   662,   668,   673,   678,
-+     679,   689,   696,   702,   707,   712,   713,   723,   730,   739,
-+     744,   749,   750,   760,   767,   778,   783,   788,   789,   799,
-+     806,   835,   840,   845,   846,   856,   863,   889,   897,   902,
-+     903,   914,   920,   928,   975,   979,  1086,  1091,  1092,  1103,
-+    1106,  1109,  1123,  1139,  1144,  1144,  1167,  1167,  1234,  1248,
-+    1249,  1252,  1253,  1254,  1258,  1262,  1271,  1280,  1289,  1290,
-+    1293,  1308,  1308,  1345,  1346,  1349,  1350,  1353,  1353,  1382,
-+    1383,  1386,  1392,  1398,  1403,  1408,  1409,  1419,  1426,  1426,
-+    1452,  1453,  1456,  1462,  1462,  1481,  1484,  1487,  1490,  1495,
-+    1496,  1501,  1509,  1546,  1554,  1560,  1565,  1566,  1579,  1587,
-+    1595,  1603,  1613,  1624,  1629,  1634,  1635,  1645,  1652,  1663,
-+    1668,  1673,  1674,  1684,  1691,  1703,  1708,  1713,  1714,  1724,
-+    1731,  1751,  1756,  1761,  1762,  1772,  1779,  1783,  1788,  1789,
-+    1799,  1802,  1805,  1819,  1837,  1842,  1847,  1848,  1858,  1865,
-+    1869,  1874,  1875,  1885,  1888,  1891,  1905,  1917,  1927,  1927,
-+    1941,  1946,  1947,  1965,  1978,  1997,  2010,  2023,  2036,  2049,
-+    2062,  2075,  2088,  2108,  2112,  2117,  2118,  2128,  2131,  2134,
-+    2137,  2151,  2152,  2168,  2171,  2174,  2183,  2189,  2194,  2195,
-+    2206,  2212,  2220,  2228,  2234,  2239,  2244,  2245,  2255,  2262,
-+    2265,  2270,  2273,  2278,  2281,  2286,  2292,  2298,  2304,  2309,
-+    2314,  2319,  2324,  2329,  2334,  2339,  2344,  2349,  2354,  2359,
-+    2364,  2370,  2375,  2381,  2387,  2393,  2399,  2405,  2410,  2416,
-+    2422,  2427,  2433,  2439,  2445,  2450,  2451,  2461,  2468,  2552,
-+    2556,  2562,  2567,  2568,  2579,  2585,  2593,  2596,  2599,  2608,
-+    2614,  2619,  2620,  2631,  2637,  2648,  2653,  2656,  2657,  2667,
-+    2667,  2691,  2694,  2697,  2702,  2705,  2710,  2713,  2718,  2719,
-+    2722,  2723,  2726,  2727,  2728,  2772,  2773,  2776,  2777,  2780,
-+    2783,  2788,  2789,  2807,  2810,  2813,  2816,  2819,  2822,  2827,
-+    2830,  2833,  2836,  2839,  2842,  2845,  2850,  2865,  2868,  2873,
-+    2879,  2882,  2883,  2891,  2896,  2899,  2904,  2913,  2923,  2926,
-+    2930,  2934,  2938,  2942,  2946,  2952,  2957,  2963,  2981,  3003,
-+    3042,  3048,  3042,  3092,  3092,  3118,  3123,  3129,  3123,  3169,
-+    3170,  3173,  3174,  3177,  3229,  3232,  3235,  3238,  3243,  3246,
-+    3251,  3252,  3253,  3256,  3257,  3258,  3259,  3260,  3261,  3262,
-+    3263,  3264,  3265,  3266,  3277,  3281,  3285,  3296,  3307,  3318,
-+    3329,  3340,  3351,  3362,  3373,  3384,  3395,  3406,  3417,  3418,
-+    3419,  3420,  3431,  3442,  3453,  3460,  3467,  3474,  3483,  3496,
-+    3501,  3502,  3514,  3521,  3528,  3537,  3541,  3546,  3547,  3557,
-+    3560,  3563,  3577,  3578,  3581,  3584,  3590,  3590,  3591,  3594,
-+    3660,  3660,  3661,  3664,  3710,  3713,  3713,  3724,  3727,  3727,
-+    3739,  3757,  3777,  3821,  3902,  3903,  3904,  3905,  3906,  3907,
-+    3908,  3909,  3910,  3911,  3912,  3913,  3914,  3915,  3916,  3917,
-+    3918,  3919,  3920,  3921,  3922,  3923,  3924,  3925,  3926,  3927,
-+    3928,  3929,  3930,  3933,  3936,  3941,  3944,  3949,  3952,  3960,
-+    3963,  3969,  3973,  3985,  3989,  3995,  3999,  4022,  4026,  4032,
-+    4035,  4040,  4043,  4048,  4051,  4056,  4059,  4064,  4116,  4121,
-+    4127,  4150,  4162,  4174,  4186,  4205,  4216,  4233,  4250,  4259,
-+    4266,  4266,  4267,  4267,  4268,  4272,  4272,  4273,  4277,  4278,
-+    4282,  4282,  4283,  4286,  4341,  4347,  4352,  4353,  4365,  4368,
-+    4371,  4386,  4401,  4418,  4423,  4437,  4547,  4550,  4558,  4561,
-+    4564,  4569,  4577,  4588,  4603,  4607,  4611,  4615,  4619,  4623,
-+    4627,  4631,  4635,  4639,  4643,  4647,  4651,  4655,  4659,  4663,
-+    4667,  4671,  4675,  4679,  4683,  4687,  4691,  4695,  4699,  4703,
-+    4707,  4711,  4717,  4723,  4739,  4742,  4750,  4756,  4763
- };
- #endif
- 
--#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-+/** Accessing symbol of state STATE.  */
-+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
-+
-+#if YYDEBUG || 0
-+/* The user-facing name of the symbol whose (internal) number is
-+   YYSYMBOL.  No bounds checking.  */
-+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
-+
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
-    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
- static const char *const yytname[] =
- {
--  "$end", "error", "$undefined", "TK_API", "TK_AUTOPYNAME",
--  "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING", "TK_PLUGIN",
--  "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE", "TK_TYPEHINTCODE",
--  "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC", "TK_EXTRACT", "TK_MAKEFILE",
--  "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE", "TK_PREINITCODE",
--  "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE", "TK_UNITCODE",
--  "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE", "TK_PREPYCODE",
--  "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF", "TK_END",
--  "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
-+  "\"end of file\"", "error", "\"invalid token\"", "TK_API",
-+  "TK_AUTOPYNAME", "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING",
-+  "TK_PLUGIN", "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE",
-+  "TK_TYPEHINTCODE", "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC",
-+  "TK_EXTRACT", "TK_MAKEFILE", "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE",
-+  "TK_PREINITCODE", "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE",
-+  "TK_UNITCODE", "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE",
-+  "TK_PREPYCODE", "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF",
-+  "TK_END", "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
-   "TK_VIRTUALCATCHERCODE", "TK_TRAVERSECODE", "TK_CLEARCODE",
-   "TK_GETBUFFERCODE", "TK_RELEASEBUFFERCODE", "TK_READBUFFERCODE",
-   "TK_WRITEBUFFERCODE", "TK_SEGCOUNTCODE", "TK_CHARBUFFERCODE",
-@@ -1264,13 +1217,13 @@ static const char *const yytname[] =
-   "TK_DEFSUPERTYPE", "TK_PROPERTY", "TK_HIDE_NS", "TK_FORMAT", "TK_GET",
-   "TK_ID", "TK_KWARGS", "TK_LANGUAGE", "TK_LICENSEE", "TK_NAME",
-   "TK_OPTIONAL", "TK_ORDER", "TK_REMOVELEADING", "TK_SET", "TK_SIGNATURE",
--  "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_USELIMITEDAPI",
--  "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT", "TK_DEFERRORHANDLER",
--  "TK_VERSION", "'('", "')'", "','", "'='", "'{'", "'}'", "';'", "'!'",
--  "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'", "'<'", "'>'", "':'",
--  "'['", "']'", "'%'", "'^'", "$accept", "specification", "statement",
--  "@1", "modstatement", "nsstatement", "defdocstringfmt",
--  "defdocstringfmt_args", "defdocstringfmt_arg_list",
-+  "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_PYSSIZETCLEAN",
-+  "TK_USELIMITEDAPI", "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT",
-+  "TK_DEFERRORHANDLER", "TK_VERSION", "'('", "')'", "','", "'='", "'{'",
-+  "'}'", "';'", "'!'", "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'",
-+  "'<'", "'>'", "':'", "'['", "']'", "'%'", "'^'", "$accept",
-+  "specification", "statement", "$@1", "modstatement", "nsstatement",
-+  "defdocstringfmt", "defdocstringfmt_args", "defdocstringfmt_arg_list",
-   "defdocstringfmt_arg", "defdocstringsig", "defdocstringsig_args",
-   "defdocstringsig_arg_list", "defdocstringsig_arg", "defencoding",
-   "defencoding_args", "defencoding_arg_list", "defencoding_arg", "plugin",
-@@ -1278,13 +1231,13 @@ static const char *const yytname[] =
-   "veh_args", "veh_arg_list", "veh_arg", "api", "api_args", "api_arg_list",
-   "api_arg", "exception", "baseexception", "exception_body",
-   "exception_body_directives", "exception_body_directive", "raisecode",
--  "mappedtype", "@2", "mappedtypetmpl", "@3", "mtdefinition", "mtbody",
--  "mtline", "mtfunction", "namespace", "@4", "optnsbody", "nsbody",
--  "platforms", "@5", "platformlist", "platform", "feature", "feature_args",
--  "feature_arg_list", "feature_arg", "timeline", "@6", "qualifierlist",
--  "qualifiername", "ifstart", "@7", "oredqualifiers", "qualifiers",
--  "ifend", "license", "license_args", "license_arg_list", "license_arg",
--  "defmetatype", "defmetatype_args", "defmetatype_arg_list",
-+  "mappedtype", "$@2", "mappedtypetmpl", "$@3", "mtdefinition", "mtbody",
-+  "mtline", "mtfunction", "namespace", "$@4", "optnsbody", "nsbody",
-+  "platforms", "$@5", "platformlist", "platform", "feature",
-+  "feature_args", "feature_arg_list", "feature_arg", "timeline", "$@6",
-+  "qualifierlist", "qualifiername", "ifstart", "$@7", "oredqualifiers",
-+  "qualifiers", "ifend", "license", "license_args", "license_arg_list",
-+  "license_arg", "defmetatype", "defmetatype_args", "defmetatype_arg_list",
-   "defmetatype_arg", "defsupertype", "defsupertype_args",
-   "defsupertype_arg_list", "defsupertype_arg", "hiddenns", "hiddenns_args",
-   "hiddenns_arg_list", "hiddenns_arg", "consmodule", "consmodule_args",
-@@ -1292,7 +1245,7 @@ static const char *const yytname[] =
-   "consmodule_body_directives", "consmodule_body_directive", "compmodule",
-   "compmodule_args", "compmodule_arg_list", "compmodule_arg",
-   "compmodule_body", "compmodule_body_directives",
--  "compmodule_body_directive", "module", "module_args", "@8",
-+  "compmodule_body_directive", "module", "module_args", "$@8",
-   "module_arg_list", "module_arg", "module_body", "module_body_directives",
-   "module_body_directive", "dottedname", "optnumber", "include",
-   "include_args", "include_arg_list", "include_arg", "optinclude",
-@@ -1307,1011 +1260,950 @@ static const char *const yytname[] =
-   "autopyname_args", "autopyname_arg_list", "autopyname_arg", "docstring",
-   "docstring_args", "docstring_arg_list", "docstring_arg", "optdocstring",
-   "extract", "extract_args", "extract_arg_list", "extract_arg", "makefile",
--  "codeblock", "codelines", "enum", "@9", "optenumkey", "optfilename",
-+  "codeblock", "codelines", "enum", "$@9", "optenumkey", "optfilename",
-   "optname", "optenumbody", "enumbody", "enumline", "optcomma",
-   "optenumassign", "optassign", "expr", "binop", "optunop", "value",
-   "optcast", "scopedname", "scopednamehead", "scopepart", "bool_value",
--  "simplevalue", "exprlist", "typedef", "struct", "@10", "@11",
--  "classtmpl", "@12", "template", "class", "@13", "@14", "superclasses",
-+  "simplevalue", "exprlist", "typedef", "struct", "$@10", "$@11",
-+  "classtmpl", "$@12", "template", "class", "$@13", "$@14", "superclasses",
-   "superlist", "superclass", "class_access", "optclassbody", "classbody",
-   "classline", "property", "property_args", "property_arg_list",
-   "property_arg", "property_body", "property_body_directives",
--  "property_body_directive", "name_or_string", "optslot", "dtor", "@15",
--  "dtor_decl", "ctor", "@16", "simplector", "optctorsig", "@17", "optsig",
--  "@18", "function", "operatorname", "optconst", "optfinal", "optabstract",
--  "optflags", "flaglist", "flag", "flagvalue", "virtualcallcode",
--  "methodcode", "premethodcode", "virtualcatchercode", "arglist",
--  "rawarglist", "argvalue", "varmember", "@19", "@20", "simple_varmem",
--  "@21", "varmem", "member", "@22", "variable", "variable_body",
--  "variable_body_directives", "variable_body_directive", "cpptype",
--  "argtype", "optref", "deref", "basetype", "cpptypelist", "optexceptions",
--  "exceptionlist", 0
-+  "property_body_directive", "name_or_string", "optslot", "dtor", "$@15",
-+  "dtor_decl", "ctor", "$@16", "simplector", "optctorsig", "$@17",
-+  "optsig", "$@18", "function", "operatorname", "optconst", "optfinal",
-+  "optabstract", "optflags", "flaglist", "flag", "flagvalue",
-+  "virtualcallcode", "methodcode", "premethodcode", "virtualcatchercode",
-+  "arglist", "rawarglist", "argvalue", "varmember", "$@19", "$@20",
-+  "simple_varmem", "$@21", "varmem", "member", "$@22", "variable",
-+  "variable_body", "variable_body_directives", "variable_body_directive",
-+  "cpptype", "argtype", "optref", "deref", "basetype", "cpptypelist",
-+  "optexceptions", "exceptionlist", YY_NULLPTR
- };
-+
-+static const char *
-+yysymbol_name (yysymbol_kind_t yysymbol)
-+{
-+  return yytname[yysymbol];
-+}
- #endif
- 
--# ifdef YYPRINT
--/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
--   token YYLEX-NUM.  */
--static const yytype_uint16 yytoknum[] =
--{
--       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
--     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
--     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
--     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
--     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
--     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
--     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
--     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
--     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
--     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
--     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
--     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
--     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
--     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
--     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
--     405,   406,    40,    41,    44,    61,   123,   125,    59,    33,
--      45,    43,    42,    47,    38,   124,   126,    60,    62,    58,
--      91,    93,    37,    94
--};
--# endif
-+#define YYPACT_NINF (-840)
- 
--/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
--static const yytype_uint16 yyr1[] =
--{
--       0,   174,   175,   175,   177,   176,   178,   178,   178,   178,
--     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
--     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
--     178,   178,   178,   178,   178,   178,   178,   178,   178,   178,
--     178,   178,   178,   178,   179,   179,   179,   179,   179,   179,
--     179,   179,   179,   179,   179,   179,   180,   181,   181,   182,
--     182,   183,   184,   185,   185,   186,   186,   187,   188,   189,
--     189,   190,   190,   191,   192,   193,   193,   194,   194,   195,
--     196,   197,   197,   198,   198,   199,   200,   201,   201,   202,
--     202,   203,   203,   204,   205,   205,   206,   207,   207,   208,
--     208,   208,   208,   209,   211,   210,   213,   212,   214,   215,
--     215,   216,   216,   216,   216,   216,   216,   216,   216,   216,
--     217,   219,   218,   220,   220,   221,   221,   223,   222,   224,
--     224,   225,   226,   227,   227,   228,   228,   229,   231,   230,
--     232,   232,   233,   235,   234,   236,   236,   236,   236,   237,
--     237,   238,   239,   240,   240,   240,   241,   241,   242,   242,
--     242,   242,   243,   244,   244,   245,   245,   246,   247,   248,
--     248,   249,   249,   250,   251,   252,   252,   253,   253,   254,
--     255,   256,   256,   257,   257,   258,   259,   259,   260,   260,
--     261,   261,   261,   262,   263,   263,   264,   264,   265,   266,
--     266,   267,   267,   268,   268,   268,   269,   269,   271,   270,
--     270,   272,   272,   273,   273,   273,   273,   273,   273,   273,
--     273,   273,   274,   274,   275,   275,   276,   276,   276,   276,
--     277,   277,   278,   278,   279,   280,   280,   281,   281,   282,
--     282,   283,   284,   285,   285,   286,   286,   287,   288,   288,
--     289,   289,   290,   290,   291,   292,   293,   294,   295,   296,
--     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
--     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
--     317,   318,   319,   320,   321,   321,   322,   323,   324,   324,
--     324,   325,   325,   326,   326,   327,   327,   328,   329,   329,
--     330,   330,   331,   331,   332,   333,   334,   334,   336,   335,
--     337,   337,   337,   338,   338,   339,   339,   340,   340,   341,
--     341,   342,   342,   342,   343,   343,   344,   344,   345,   345,
--     346,   346,   347,   347,   347,   347,   347,   347,   348,   348,
--     348,   348,   348,   348,   348,   349,   350,   350,   351,   351,
--     352,   352,   353,   354,   354,   355,   355,   355,   355,   355,
--     355,   355,   355,   355,   356,   356,   356,   357,   357,   359,
--     360,   358,   362,   361,   363,   365,   366,   364,   367,   367,
--     368,   368,   369,   370,   370,   370,   370,   371,   371,   372,
--     372,   372,   373,   373,   373,   373,   373,   373,   373,   373,
--     373,   373,   373,   373,   373,   373,   373,   373,   373,   373,
--     373,   373,   373,   373,   373,   373,   373,   373,   373,   373,
--     373,   373,   373,   373,   373,   373,   373,   374,   375,   376,
--     376,   377,   377,   377,   378,   378,   379,   379,   380,   380,
--     380,   381,   381,   382,   382,   384,   383,   383,   385,   387,
--     386,   386,   388,   389,   390,   389,   391,   392,   391,   393,
--     393,   393,   393,   394,   394,   394,   394,   394,   394,   394,
--     394,   394,   394,   394,   394,   394,   394,   394,   394,   394,
--     394,   394,   394,   394,   394,   394,   394,   394,   394,   394,
--     394,   394,   395,   395,   396,   396,   397,   397,   398,   398,
--     399,   399,   400,   400,   401,   401,   401,   401,   402,   402,
--     403,   403,   404,   404,   405,   405,   406,   407,   407,   407,
--     408,   408,   408,   408,   408,   408,   408,   408,   408,   410,
--     409,   411,   409,   409,   413,   412,   412,   414,   414,   416,
--     415,   415,   417,   418,   418,   419,   419,   420,   420,   420,
--     420,   420,   421,   421,   422,   423,   423,   424,   424,   424,
--     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
--     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
--     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
--     425,   426,   426,   427,   427,   428,   428,   428
--};
-+#define yypact_value_is_default(Yyn) \
-+  ((Yyn) == YYPACT_NINF)
- 
--/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
--static const yytype_uint8 yyr2[] =
-+#define YYTABLE_NINF (-564)
-+
-+#define yytable_value_is_error(Yyn) \
-+  0
-+
-+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-+   STATE-NUM.  */
-+static const yytype_int16 yypact[] =
- {
--       0,     2,     1,     2,     0,     2,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     2,     1,     3,     1,
--       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
--       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
--       3,     1,     3,     1,     3,     3,     2,     2,     3,     1,
--       3,     3,     3,     5,     0,     3,     4,     1,     2,     1,
--       1,     1,     1,     2,     0,     5,     0,     6,     4,     1,
--       2,     1,     1,     1,     1,     2,     2,     1,     1,     1,
--      14,     0,     5,     0,     3,     1,     2,     0,     5,     1,
--       2,     1,     2,     1,     3,     1,     3,     3,     0,     5,
--       1,     2,     1,     0,     5,     1,     2,     3,     4,     1,
--       3,     1,     3,     0,     1,     3,     1,     3,     3,     3,
--       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
--       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
--       3,     1,     3,     1,     3,     3,     0,     4,     1,     2,
--       1,     1,     1,     3,     1,     3,     1,     3,     3,     0,
--       4,     1,     2,     1,     1,     1,     3,     3,     0,     3,
--       3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
--       3,     3,     0,     4,     1,     2,     1,     1,     1,     1,
--       1,     1,     0,     1,     2,     1,     3,     1,     3,     3,
--       3,     2,     2,     1,     3,     1,     3,     3,     0,     2,
--       0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
--       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,     2,     2,     3,     1,     3,     3,     3,     0,     1,
--       3,     1,     3,     3,     3,     0,     1,     3,     1,     3,
--       1,     3,     3,     3,     4,     2,     1,     2,     0,     9,
--       0,     1,     1,     0,     1,     0,     1,     0,     1,     1,
--       2,     1,     1,     4,     0,     1,     0,     2,     0,     2,
--       1,     3,     1,     1,     1,     1,     1,     1,     0,     1,
--       1,     1,     1,     1,     1,     3,     0,     3,     2,     1,
--       1,     3,     1,     1,     1,     1,     4,     2,     1,     1,
--       1,     1,     1,     1,     0,     1,     3,     6,    12,     0,
--       0,     8,     0,     3,     4,     0,     0,     8,     0,     2,
--       1,     3,     2,     0,     1,     1,     1,     0,     3,     0,
--       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       2,     2,     2,     3,     3,     3,     2,     3,     3,     1,
--       3,     3,     3,     3,     0,     4,     1,     2,     1,     1,
--       1,     1,     1,     0,     1,     0,     3,     1,    11,     0,
--       3,     1,    11,     0,     0,     6,     0,     0,     7,    17,
--       7,    17,    16,     1,     1,     1,     1,     1,     1,     1,
--       1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
--       2,     3,     3,     1,     2,     2,     1,     2,     2,     2,
--       1,     2,     0,     1,     0,     1,     0,     2,     0,     3,
--       1,     3,     1,     3,     1,     5,     1,     1,     0,     2,
--       0,     2,     0,     2,     0,     2,     1,     0,     1,     3,
--       4,     4,     4,     3,     3,     6,     6,     3,     2,     0,
--       3,     0,     3,     1,     0,     3,     1,     1,     1,     0,
--       3,     1,     8,     0,     3,     1,     2,     1,     1,     2,
--       2,     2,     4,     3,     3,     0,     1,     0,     3,     2,
--       1,     4,     2,     2,     1,     1,     2,     1,     1,     2,
--       2,     3,     1,     1,     1,     2,     2,     1,     1,     1,
--       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
--       1,     1,     3,     0,     4,     0,     1,     3
-+    -840,   125,  -840,  1218,  -840,  -840,    42,    -2,    54,    55,
-+      58,    74,   100,   100,   100,   100,    75,   181,   100,   100,
-+     100,   100,   100,   100,   100,   100,  1542,    51,  -840,  -840,
-+      23,   228,    46,   100,   100,   100,    48,   238,    62,    64,
-+      84,    84,  -840,  -840,  -840,   190,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,   218,
-+     224,   277,   279,  1542,  -840,  -840,  1506,   309,  -840,  -840,
-+      76,    59,  1506,    84,   203,  -840,    66,    68,    53,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,   206,   285,  -840,  -840,  -840,  -840,
-+     359,  -840,  -840,  -840,    79,  -840,   297,   -26,  -840,  -840,
-+     254,  -840,  -840,   268,  -840,  -840,   271,  -840,  -840,   281,
-+    -840,  -840,   286,   100,  -840,  -840,   257,  -840,  -840,  -840,
-+    -840,   101,   100,   395,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,    84,   276,  -840,  -840,   158,  -840,  -840,  -840,
-+     298,  -840,  -840,  -840,  -840,  -840,  -840,   338,   287,  -840,
-+     335,   324,   342,  -840,   331,   344,  -840,  -840,    18,  -840,
-+    -840,  -840,   418,  -840,  -840,  -840,   447,  -840,   285,  -840,
-+      77,  -840,   378,   380,  -840,   400,  -840,  -840,   171,   276,
-+     388,   390,  1506,   404,  -840,  -840,   406,  -840,  -840,   407,
-+    -840,  -840,  1506,   279,  1542,   482,   -49,   234,   146,  -840,
-+     391,   392,   169,  -840,   393,   210,  -840,   396,   214,  -840,
-+     399,   222,  -840,   401,   295,  -840,   402,   306,  -840,  -840,
-+    -840,  -840,   403,   405,   312,  -840,  -840,  -840,   100,  -840,
-+     516,  -840,     4,   408,   409,   316,  -840,   410,   323,  -840,
-+     412,   413,   414,   416,   417,   419,   420,   421,   422,   423,
-+     326,  -840,   244,  -840,   335,  -840,  -840,   424,   337,  -840,
-+     267,  -840,   425,   339,  -840,   267,  -840,   381,   381,  -840,
-+     276,  -840,   146,   276,   397,   426,   528,   529,   428,   341,
-+    -840,   429,   430,   431,   432,   343,  -840,  -840,  1279,    84,
-+     276,  -840,   -21,   433,   349,  -840,   435,   352,  -840,   436,
-+     354,  -840,    -9,  -840,   276,  -840,  1279,   437,   439,   105,
-+     440,   441,   442,   443,   444,   449,   450,  -840,    34,   -34,
-+     438,   451,   452,   456,   486,  -840,  -840,   314,   488,  -840,
-+     -26,   567,  -840,   254,   575,  -840,   268,   576,  -840,   271,
-+     579,  -840,   281,   580,  -840,   286,   581,   513,  -840,   101,
-+    -840,   465,   -11,  -840,   466,   461,   590,   530,   472,   467,
-+     592,   394,  -840,   158,   594,  -840,   298,   595,   596,   238,
-+     394,   394,   394,   394,   394,   599,   523,  -840,   338,   485,
-+      81,  -840,  -840,    36,  -840,  -840,  -840,  -840,   238,  -840,
-+     324,  -840,  -840,    38,  -840,  -840,   238,  -840,   331,  -840,
-+    -840,    45,  -840,  -840,   315,   276,   276,  -840,  -840,   480,
-+     606,   253,   483,  -840,    -1,  -840,  -840,    33,  -840,   314,
-+    -840,   400,   605,   607,   608,   609,  -840,   171,   418,   418,
-+     418,   418,   418,   493,   494,   418,   495,   497,  -840,   418,
-+     492,   496,   498,  1506,  -840,   238,  -840,   404,   238,  -840,
-+     406,    84,  -840,   407,  -840,  -840,   499,   288,   500,  -840,
-+    1506,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+     502,  -840,   504,  -840,  -840,  -840,  1279,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,    93,   516,  -840,   334,
-+    -840,  -840,    11,  -840,   418,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,   515,  -840,  -840,   128,   100,   505,  -840,
-+    -840,  -840,   506,  -840,  -840,  -840,   507,  -840,  -840,  -840,
-+    -840,   508,  -840,    84,  -840,  -840,   510,   642,   517,  -840,
-+     735,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,   276,   276,   276,   276,   276,  1279,
-+    1279,   276,   573,  1279,   276,   519,  -840,  -840,   232,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,   466,   573,   100,
-+     100,   100,  -840,  -840,    56,  -840,   656,   520,  -840,  -840,
-+     521,   509,  -840,  -840,  -840,  -840,  -840,   100,   100,   100,
-+     100,  1506,   134,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,   643,  -840,   522,   358,  -840,   525,   526,   360,
-+    -840,  -840,  -840,  -840,  -840,   315,  -840,   527,   527,   389,
-+    -840,  -840,   533,  -840,  -840,   492,   492,   492,  -840,  -840,
-+     535,   536,  -840,  -840,   561,  -840,  -840,    84,   293,  -840,
-+     272,   100,    47,  -840,  -840,  -840,  -840,  -840,  -840,   561,
-+    -840,  -840,  -840,  -840,  -840,   100,   673,   534,   573,   335,
-+    -840,  -840,  -840,  -840,   658,   537,  -840,  -840,   659,  -840,
-+     515,   661,   662,  -840,   128,  -840,  1092,   540,   541,   538,
-+    -840,  -840,   545,   389,  -840,  1506,  -840,  -840,  -840,   418,
-+     418,  -840,   584,   552,  -840,  -840,  -840,  -840,  -840,  -840,
-+     519,  -840,  -840,  -840,  -840,  -840,  -840,   843,  -840,   548,
-+    -840,   584,  -840,   100,   690,  -840,   561,   549,   558,  -840,
-+    -840,  -840,  -840,  -840,  -840,   100,   100,   559,   100,   100,
-+     100,   100,   100,   100,   100,   100,   100,   100,   100,   100,
-+     644,   644,   644,   543,  -840,  -840,   547,  -840,  -840,   563,
-+     683,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,   983,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+     519,   276,   562,  -840,   362,   276,   276,   565,   564,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,   568,   -30,  -840,  -840,
-+     569,  -840,   564,  -840,   100,  -840,   584,   335,  1279,  -840,
-+    -840,  1279,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,   553,   555,   560,  -840,  1336,
-+    1336,   566,  1450,  1393,   694,   156,   572,   578,  -840,  -840,
-+    -840,   577,  -840,   276,  -840,  -840,    84,   627,   276,  -840,
-+     274,   276,  -840,   564,  -840,   583,   585,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,    90,  -840,   559,  -840,   582,
-+     586,   587,   364,  -840,   267,  -840,   593,  -840,  -840,   589,
-+    -840,   367,  -840,   570,   293,   373,   570,   276,   573,   584,
-+     591,   701,   314,   712,  -840,   156,  -840,  -840,  -840,    52,
-+    -840,   584,   642,  -840,    84,  -840,   597,  -840,   519,   600,
-+     570,   584,   276,  -840,  -840,  -840,  -840,   602,  -840,   564,
-+    -840,  -840,  1506,   700,   293,   642,   603,   276,   616,  -840,
-+     276,   598,   100,   702,   700,   700,   570,  -840,   611,   612,
-+    1279,  -840,   100,   715,   702,   702,   615,   601,   642,   700,
-+     604,  -840,   100,   706,   715,   715,   642,  1279,   700,   702,
-+     617,  -840,   100,  -840,   706,   706,   700,   610,   702,   715,
-+    -840,  -840,  -840,  -840,   702,   618,  -840,  -840,  -840,  -840
- };
- 
--/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
--   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
-+/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
-+   Performed when YYTABLE does not specify something else to do.  Zero
-    means the default is an error.  */
--static const yytype_uint16 yydefact[] =
-+static const yytype_int16 yydefact[] =
- {
-        4,     4,     2,     0,     1,     3,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,     0,   151,   352,
-+       0,     0,     0,     0,     0,     0,     0,     0,   151,   353,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
--       0,     0,   574,   564,   567,   568,   572,   573,   577,   578,
--     579,   580,   581,   582,   583,   584,   585,   586,   587,   310,
--       0,   565,     0,     0,   588,   589,     0,     0,   138,   127,
--       0,   153,     0,     0,     0,   590,     0,     0,     0,     5,
-+       0,     0,   575,   565,   568,   569,   573,   574,   578,   579,
-+     580,   581,   582,   583,   584,   585,   586,   587,   588,   311,
-+       0,   566,     0,     0,   589,   590,     0,     0,   138,   127,
-+       0,   153,     0,     0,     0,   591,     0,     0,     0,     5,
-       43,    19,    20,    21,     9,    42,    14,    50,    40,    41,
-       46,    16,    17,    15,    44,    45,    18,    22,    23,    24,
-        7,     8,     6,    11,    12,    13,    10,    25,    26,    55,
-       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
--      37,    38,    39,    52,   560,   349,   350,    51,    47,    49,
--     372,    48,    53,    54,     0,   557,     0,     0,    86,    57,
-+      37,    38,    39,    52,   561,   350,   351,    51,    47,    49,
-+     373,    48,    53,    54,     0,   558,     0,     0,    86,    57,
-        0,    56,    63,     0,    62,    69,     0,    68,    75,     0,
--      74,    81,     0,     0,   306,   277,     0,   278,   280,   281,
--     298,     0,     0,   313,   271,   272,   273,   274,   275,   269,
--     276,   254,     0,   498,   143,   235,     0,   234,   241,   243,
--       0,   242,   255,   256,   257,   230,   231,     0,   222,   208,
--     232,     0,   186,   181,     0,   199,   194,   375,   369,   570,
--     311,   312,   315,   575,   563,   566,   569,   576,   348,   557,
--       0,   121,     0,     0,   133,     0,   132,   154,     0,   498,
-+      74,    81,     0,     0,   307,   278,     0,   279,   281,   282,
-+     299,     0,     0,   314,   272,   273,   274,   275,   276,   270,
-+     277,   255,     0,   499,   143,   236,     0,   235,   242,   244,
-+       0,   243,   256,   257,   258,   231,   232,     0,   223,   208,
-+     233,     0,   186,   181,     0,   199,   194,   376,   370,   571,
-+     312,   313,   316,   576,   564,   567,   570,   577,   349,   558,
-+       0,   121,     0,     0,   133,     0,   132,   154,     0,   499,
-        0,    94,     0,     0,   162,   163,     0,   168,   169,     0,
--     174,   175,     0,     0,     0,     0,   498,     0,   555,    87,
-+     174,   175,     0,     0,     0,     0,   499,     0,   556,    87,
-        0,     0,     0,    89,     0,     0,    59,     0,     0,    65,
-        0,     0,    71,     0,     0,    77,     0,     0,    83,    80,
--     307,   305,     0,     0,     0,   300,   297,   314,     0,   562,
--       0,   104,   315,     0,     0,     0,   237,     0,     0,   245,
-+     308,   306,     0,     0,     0,   301,   298,   315,     0,   563,
-+       0,   104,   316,     0,     0,     0,   238,     0,     0,   246,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
--     211,     0,   206,   232,   233,   207,     0,     0,   183,     0,
--     180,     0,     0,   196,     0,   193,   378,   378,   316,   498,
--     571,   555,   498,     0,   123,     0,     0,     0,     0,   135,
--       0,     0,     0,     0,     0,   156,   152,   517,     0,   498,
--     591,     0,     0,     0,   165,     0,     0,   171,     0,     0,
--     177,     0,   351,   498,   373,   517,   543,     0,     0,     0,
--     464,   463,   465,   466,   468,   469,   483,   486,   490,     0,
--     467,   470,     0,   559,   556,   553,     0,     0,    88,     0,
--       0,    58,     0,     0,    64,     0,     0,    70,     0,     0,
--      76,     0,     0,    82,     0,     0,     0,   299,     0,   304,
--     502,     0,   500,     0,   145,     0,   149,     0,     0,     0,
--       0,   236,     0,     0,   244,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,   210,     0,     0,   288,   226,
--     227,     0,   224,   228,   229,   209,     0,   182,     0,   190,
--     191,     0,   188,   192,     0,   195,     0,   203,   204,     0,
--     201,   205,   383,   498,   498,   308,   552,     0,     0,     0,
--       0,   142,     0,   140,   131,     0,   129,     0,   134,     0,
--       0,     0,     0,     0,   155,     0,   315,   315,   315,   315,
--     315,     0,     0,   315,     0,   516,   518,   315,   328,     0,
--       0,     0,   374,     0,   164,     0,     0,   170,     0,     0,
--     176,     0,   561,   106,     0,     0,     0,   484,     0,   488,
--     489,   474,   473,   475,   476,   478,   479,   487,   471,   491,
--     472,   485,   477,   480,   517,   558,   441,   442,    91,    92,
--      90,    61,    60,    67,    66,    73,    72,    79,    78,    85,
--      84,   302,   303,   301,     0,     0,   499,     0,   105,   146,
--       0,   144,   315,   239,   353,   354,   240,   238,   247,   246,
--     213,   214,   215,   216,   217,   218,   219,   220,   221,   212,
--       0,   282,   289,     0,     0,     0,   225,   185,   184,     0,
--     189,   198,   197,     0,   202,   384,   385,   386,   379,   380,
--       0,   376,   370,     0,   295,     0,   125,     0,   372,   122,
--     139,   141,   128,   130,   137,   136,   159,   160,   161,   158,
--     157,   498,   498,   498,   498,   498,   517,   517,   498,   492,
--       0,   498,   346,   528,    95,     0,    93,   592,   167,   166,
--     173,   172,   179,   178,     0,   492,     0,     0,     0,   547,
--     548,     0,   545,   248,     0,   481,   482,     0,   230,   506,
--     507,   504,   503,   501,     0,     0,     0,     0,     0,     0,
--     109,   119,   111,   112,   113,   117,   114,   118,   147,     0,
--     150,     0,     0,   284,     0,     0,     0,   291,   287,   223,
--     187,   200,   383,   382,   387,   387,   317,   296,   367,     0,
--     124,   126,   328,   328,   328,   523,   524,     0,     0,   527,
--     493,   494,   519,   554,     0,   329,   330,   338,     0,     0,
--      97,   101,    99,   100,   102,   107,   494,   549,   550,   551,
--     544,   546,     0,   250,     0,   492,   232,   270,   266,   115,
--     116,     0,     0,   110,   148,     0,   283,     0,     0,     0,
--     290,     0,   381,   389,     0,     0,   326,   321,   322,     0,
--     318,   319,     0,   520,   521,   522,   315,   315,   495,   593,
--       0,   332,   333,   334,   335,   336,   337,   346,   339,   341,
--     342,   343,   344,   340,     0,   103,     0,    98,   593,   249,
--       0,   252,   460,   494,     0,     0,   108,   286,   285,   293,
--     294,   292,     0,     0,   352,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,   443,   443,   443,
--       0,   529,   531,   539,   534,   449,     0,     0,   398,   394,
--     392,   393,   404,   405,   406,   407,   408,   409,   410,   411,
--     412,   413,   414,   415,   403,   416,   402,   400,   399,   395,
--     397,   396,     0,   390,   401,   418,   447,   417,   451,   541,
--     419,   533,   536,   537,   538,   377,   371,   346,   498,     0,
--     320,     0,   498,   498,     0,   496,   347,   331,   362,   359,
--     358,   363,   361,     0,   355,   360,   345,     0,    96,   496,
--     251,     0,   542,   593,   232,   517,   279,   268,   517,   258,
--     259,   260,   261,   262,   263,   264,   265,   267,   422,   421,
--     420,   444,     0,     0,     0,   426,     0,     0,     0,     0,
--       0,     0,     0,   434,     0,   388,   391,   327,   324,   309,
--     498,   525,   526,   595,     0,   498,   357,   346,   498,   253,
--     496,   505,     0,     0,   423,   424,   425,   539,   530,   532,
--     446,   540,     0,   535,     0,   450,     0,     0,     0,     0,
--     429,     0,   427,     0,   325,   323,     0,   596,     0,   497,
--     456,   365,     0,   456,   498,   492,   593,     0,     0,     0,
--       0,   428,     0,   438,   439,   440,     0,   436,   593,   295,
--     594,     0,   457,     0,   356,   346,     0,   456,   593,   498,
--     431,   432,   433,   430,     0,   437,   496,   368,   597,     0,
--     512,   366,   295,     0,   498,   453,   435,   498,     0,     0,
--     510,   512,   512,   456,   454,     0,     0,   517,   513,     0,
--     514,   510,   510,     0,     0,   295,   512,     0,   511,     0,
--     508,   514,   514,   295,   517,   512,   510,     0,   515,     0,
--     462,   508,   508,   512,     0,   510,   514,   458,   509,   459,
--     461,   510,     0,   452,   448,   120,   455
-+       0,   211,     0,   206,   233,   234,   207,     0,     0,   183,
-+       0,   180,     0,     0,   196,     0,   193,   379,   379,   317,
-+     499,   572,   556,   499,     0,   123,     0,     0,     0,     0,
-+     135,     0,     0,     0,     0,     0,   156,   152,   518,     0,
-+     499,   592,     0,     0,     0,   165,     0,     0,   171,     0,
-+       0,   177,     0,   352,   499,   374,   518,   544,     0,     0,
-+       0,   465,   464,   466,   467,   469,   470,   484,   487,   491,
-+       0,   468,   471,     0,   560,   557,   554,     0,     0,    88,
-+       0,     0,    58,     0,     0,    64,     0,     0,    70,     0,
-+       0,    76,     0,     0,    82,     0,     0,     0,   300,     0,
-+     305,   503,     0,   501,     0,   145,     0,   149,     0,     0,
-+       0,     0,   237,     0,     0,   245,     0,     0,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,   210,     0,     0,
-+     289,   227,   228,     0,   225,   229,   230,   209,     0,   182,
-+       0,   190,   191,     0,   188,   192,     0,   195,     0,   203,
-+     204,     0,   201,   205,   384,   499,   499,   309,   553,     0,
-+       0,     0,     0,   142,     0,   140,   131,     0,   129,     0,
-+     134,     0,     0,     0,     0,     0,   155,     0,   316,   316,
-+     316,   316,   316,     0,     0,   316,     0,   517,   519,   316,
-+     329,     0,     0,     0,   375,     0,   164,     0,     0,   170,
-+       0,     0,   176,     0,   562,   106,     0,     0,     0,   485,
-+       0,   489,   490,   475,   474,   476,   477,   479,   480,   488,
-+     472,   492,   473,   486,   478,   481,   518,   559,   442,   443,
-+      91,    92,    90,    61,    60,    67,    66,    73,    72,    79,
-+      78,    85,    84,   303,   304,   302,     0,     0,   500,     0,
-+     105,   146,     0,   144,   316,   240,   354,   355,   241,   239,
-+     248,   247,   213,   214,   215,   216,   217,   218,   219,   220,
-+     221,   222,   212,     0,   283,   290,     0,     0,     0,   226,
-+     185,   184,     0,   189,   198,   197,     0,   202,   385,   386,
-+     387,   380,   381,     0,   377,   371,     0,   296,     0,   125,
-+       0,   373,   122,   139,   141,   128,   130,   137,   136,   159,
-+     160,   161,   158,   157,   499,   499,   499,   499,   499,   518,
-+     518,   499,   493,     0,   499,   347,   529,    95,     0,    93,
-+     593,   167,   166,   173,   172,   179,   178,     0,   493,     0,
-+       0,     0,   548,   549,     0,   546,   249,     0,   482,   483,
-+       0,   231,   507,   508,   505,   504,   502,     0,     0,     0,
-+       0,     0,     0,   109,   119,   111,   112,   113,   117,   114,
-+     118,   147,     0,   150,     0,     0,   285,     0,     0,     0,
-+     292,   288,   224,   187,   200,   384,   383,   388,   388,   318,
-+     297,   368,     0,   124,   126,   329,   329,   329,   524,   525,
-+       0,     0,   528,   494,   495,   520,   555,     0,   330,   331,
-+     339,     0,     0,    97,   101,    99,   100,   102,   107,   495,
-+     550,   551,   552,   545,   547,     0,   251,     0,   493,   233,
-+     271,   267,   115,   116,     0,     0,   110,   148,     0,   284,
-+       0,     0,     0,   291,     0,   382,   390,     0,     0,   327,
-+     322,   323,     0,   319,   320,     0,   521,   522,   523,   316,
-+     316,   496,   594,     0,   333,   334,   335,   336,   337,   338,
-+     347,   340,   342,   343,   344,   345,   341,     0,   103,     0,
-+      98,   594,   250,     0,   253,   461,   495,     0,     0,   108,
-+     287,   286,   294,   295,   293,     0,     0,   353,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-+     444,   444,   444,     0,   530,   532,   540,   535,   450,     0,
-+       0,   399,   395,   393,   394,   405,   406,   407,   408,   409,
-+     410,   411,   412,   413,   414,   415,   416,   404,   417,   403,
-+     401,   400,   396,   398,   397,     0,   391,   402,   419,   448,
-+     418,   452,   542,   420,   534,   537,   538,   539,   378,   372,
-+     347,   499,     0,   321,     0,   499,   499,     0,   497,   348,
-+     332,   363,   360,   359,   364,   362,     0,   356,   361,   346,
-+       0,    96,   497,   252,     0,   543,   594,   233,   518,   280,
-+     269,   518,   259,   260,   261,   262,   263,   264,   265,   266,
-+     268,   423,   422,   421,   445,     0,     0,     0,   427,     0,
-+       0,     0,     0,     0,     0,     0,   435,     0,   389,   392,
-+     328,   325,   310,   499,   526,   527,   596,     0,   499,   358,
-+     347,   499,   254,   497,   506,     0,     0,   424,   425,   426,
-+     540,   531,   533,   447,   541,     0,   536,     0,   451,     0,
-+       0,     0,     0,   430,     0,   428,     0,   326,   324,     0,
-+     597,     0,   498,   457,   366,     0,   457,   499,   493,   594,
-+       0,     0,     0,     0,   429,     0,   439,   440,   441,     0,
-+     437,   594,   296,   595,     0,   458,     0,   357,   347,     0,
-+     457,   594,   499,   432,   433,   434,   431,     0,   438,   497,
-+     369,   598,     0,   513,   367,   296,     0,   499,   454,   436,
-+     499,     0,     0,   511,   513,   513,   457,   455,     0,     0,
-+     518,   514,     0,   515,   511,   511,     0,     0,   296,   513,
-+       0,   512,     0,   509,   515,   515,   296,   518,   513,   511,
-+       0,   516,     0,   463,   509,   509,   513,     0,   511,   515,
-+     459,   510,   460,   462,   511,     0,   453,   449,   120,   456
-+};
-+
-+/* YYPGOTO[NTERM-NUM].  */
-+static const yytype_int16 yypgoto[] =
-+{
-+    -840,  -840,   754,  -840,  -840,  -408,  -840,  -840,  -840,   434,
-+    -840,  -840,  -840,   415,  -840,  -840,  -840,   386,  -840,  -840,
-+    -840,   384,  -840,  -840,  -840,   411,  -840,  -840,  -840,   427,
-+    -622,  -840,  -840,  -840,    91,  -840,  -840,  -840,  -840,  -840,
-+     165,  -840,   143,  -840,  -615,  -840,  -840,  -840,  -840,  -840,
-+    -840,   345,  -840,  -840,  -840,   340,  -840,  -840,  -840,   350,
-+    -264,  -840,  -840,  -840,  -261,  -840,  -840,  -840,   363,  -840,
-+    -840,  -840,   311,  -840,  -840,  -840,   346,  -840,  -840,  -840,
-+     332,  -840,  -840,  -840,   375,  -840,  -840,   445,  -840,  -840,
-+    -840,   446,  -840,  -840,   398,  -840,  -840,  -840,  -840,   448,
-+    -840,  -840,   453,    17,  -276,  -840,  -840,  -840,   455,  -840,
-+    -840,  -840,  -840,   457,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -513,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,  -595,
-+    -840,  -840,  -840,  -593,  -840,  -840,  -840,  -840,  -840,  -840,
-+    -840,  -840,  -840,  -840,  -840,  -840,  -840,  -840,   102,  -268,
-+    -840,  -840,    99,  -839,  -840,  -840,  -840,   454,  -840,   -13,
-+    -840,  -510,  -840,  -840,  -840,  -225,  -840,  -840,    94,  -840,
-+    -840,  -239,  -790,  -840,  -840,  -653,  -840,   -27,   772,   613,
-+    -351,  -840,  -840,  -578,  -573,  -840,  -840,  -561,  -840,   835,
-+    -216,  -840,  -840,   539,  -840,   167,  -840,   170,  -840,    15,
-+    -840,  -840,  -840,  -116,  -840,  -840,  -118,  -436,  -272,  -840,
-+    -840,   -48,  -840,  -840,   -52,  -840,  -840,  -788,  -840,    12,
-+    -840,  -598,  -644,  -837,  -194,  -840,   318,  -840,  -503,  -734,
-+    -735,  -786,  -342,  -840,   243,  -840,  -840,  -840,  -366,  -840,
-+     -44,  -840,  -840,    14,  -840,  -840,   230,     0,  -840,   556,
-+     660,   -10,  -205,  -722,  -840
- };
- 
- /* YYDEFGOTO[NTERM-NUM].  */
- static const yytype_int16 yydefgoto[] =
- {
--      -1,     1,     2,     3,    79,    80,    81,   141,   245,   246,
-+       0,     1,     2,     3,    79,    80,    81,   141,   245,   246,
-       82,   144,   248,   249,    83,   147,   251,   252,    84,   150,
-      254,   255,    85,   153,   257,   258,    86,   138,   242,   243,
--      87,   329,   616,   699,   700,   701,    88,   393,    89,   624,
--     538,   649,   650,   651,    90,   314,   450,   587,    91,   213,
--     455,   456,    92,   216,   318,   319,    93,   212,   452,   453,
--      94,   272,   396,   397,    95,    96,   219,   324,   325,    97,
--     224,   333,   334,    98,   227,   336,   337,    99,   230,   339,
--     340,   100,   192,   297,   298,   300,   431,   432,   101,   195,
--     302,   303,   305,   439,   440,   102,   188,   293,   289,   290,
--     292,   421,   422,   189,   295,   103,   177,   275,   276,   104,
--     105,   181,   278,   279,   713,   771,   872,   106,   107,   108,
--     109,   813,   814,   815,   816,   817,   818,   819,   820,   655,
--     822,   823,   110,   656,   111,   112,   113,   114,   115,   116,
--     117,   118,   825,   119,   120,   423,   561,   662,   663,   677,
--     564,   666,   667,   678,   121,   162,   264,   265,   122,   155,
--     156,   123,   583,   202,   268,   309,   739,   740,   741,   945,
--     848,   613,   695,   757,   764,   696,   697,   124,   125,   126,
--     546,   866,   952,   127,   128,   307,   675,   129,   235,   588,
--     131,   306,   674,   443,   578,   579,   580,   734,   832,   833,
--     834,   903,   939,   940,   942,   966,   967,   518,   892,   835,
--     898,   836,   837,   901,   838,  1005,  1014,   973,   989,   839,
--     362,   691,   749,   915,   271,   391,   392,   642,  1030,  1010,
--    1000,  1020,   474,   475,   476,   840,   896,   897,   841,   900,
--     842,   843,   899,   844,   496,   631,   632,   477,   478,   365,
--     238,   135,   331,   855,   948
--};
--
--/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
--   STATE-NUM.  */
--#define YYPACT_NINF -823
--static const yytype_int16 yypact[] =
--{
--    -823,   143,  -823,  1215,  -823,  -823,    -1,    60,    86,    87,
--      68,    69,   119,   119,   119,   119,    71,    24,   119,   119,
--     119,   119,   119,   119,   119,   119,  1503,     8,  -823,  -823,
--      13,   137,    34,   119,   119,   119,    46,   322,    50,    52,
--      85,    85,  -823,  -823,  -823,   111,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   364,
--     154,   296,   217,  1503,  -823,  -823,   497,   270,  -823,  -823,
--      74,    89,   497,    85,   102,  -823,    63,    65,    67,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,   140,   167,  -823,  -823,  -823,  -823,
--     311,  -823,  -823,  -823,    94,  -823,   219,   160,  -823,  -823,
--     207,  -823,  -823,   214,  -823,  -823,   216,  -823,  -823,   221,
--    -823,  -823,   231,   119,  -823,  -823,   175,  -823,  -823,  -823,
--    -823,    28,   119,   341,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,    85,   215,  -823,  -823,   309,  -823,  -823,  -823,
--     243,  -823,  -823,  -823,  -823,  -823,  -823,   295,   242,  -823,
--     276,   263,   249,  -823,   285,   265,  -823,  -823,    45,  -823,
--    -823,  -823,   405,  -823,  -823,  -823,   384,  -823,   167,  -823,
--      75,  -823,   308,   366,  -823,   406,  -823,  -823,   259,   215,
--     336,   345,   497,   407,  -823,  -823,   408,  -823,  -823,   409,
--    -823,  -823,   497,   217,  1503,   479,   107,   227,   138,  -823,
--     393,   394,   313,  -823,   395,   320,  -823,   399,   324,  -823,
--     400,   326,  -823,   401,   329,  -823,   402,   331,  -823,  -823,
--    -823,  -823,   403,   410,   333,  -823,  -823,  -823,   119,  -823,
--     518,  -823,    18,   411,   414,   337,  -823,   433,   340,  -823,
--     437,   439,   440,   441,   442,   443,   445,   449,   450,   342,
--    -823,   332,  -823,   276,  -823,  -823,   451,   346,  -823,   306,
--    -823,   452,   348,  -823,   306,  -823,   390,   390,  -823,   215,
--    -823,   138,   215,   398,   453,   527,   529,   455,   350,  -823,
--     457,   462,   463,   464,   352,  -823,  -823,  1276,    85,   215,
--    -823,   -22,   465,   354,  -823,   466,   356,  -823,   467,   358,
--    -823,    29,  -823,   215,  -823,  1276,   469,   470,   108,   471,
--     472,   473,   474,   475,   480,   481,  -823,   -40,   185,   468,
--     482,   483,   456,   544,  -823,  -823,   287,   534,  -823,   160,
--     606,  -823,   207,   607,  -823,   214,   608,  -823,   216,   611,
--    -823,   221,   612,  -823,   231,   613,   542,  -823,    28,  -823,
--     495,   -21,  -823,   496,   491,   620,   560,   503,   499,   625,
--     397,  -823,   309,   626,  -823,   243,   627,   628,   322,   397,
--     397,   397,   397,   631,   555,  -823,   295,   516,    90,  -823,
--    -823,    38,  -823,  -823,  -823,  -823,   322,  -823,   263,  -823,
--    -823,    25,  -823,  -823,   322,  -823,   285,  -823,  -823,    35,
--    -823,  -823,   359,   215,   215,  -823,  -823,   511,   636,   842,
--     513,  -823,    21,  -823,  -823,    31,  -823,   287,  -823,   406,
--     638,   639,   642,   643,  -823,   259,   405,   405,   405,   405,
--     405,   520,   528,   405,   531,   532,  -823,   405,   526,   535,
--     533,   497,  -823,   322,  -823,   407,   322,  -823,   408,    85,
--    -823,   409,  -823,  -823,   537,   330,   524,  -823,   497,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   536,  -823,
--     538,  -823,  -823,  -823,  1276,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,   103,   518,  -823,   283,  -823,  -823,
--      22,  -823,   405,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--     546,  -823,  -823,   171,   119,   539,  -823,  -823,  -823,   545,
--    -823,  -823,  -823,   547,  -823,  -823,  -823,  -823,   540,  -823,
--      85,  -823,  -823,   548,   680,   543,  -823,   203,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,   215,   215,   215,   215,   215,  1276,  1276,   215,   599,
--    1276,   215,   554,  -823,  -823,   152,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,   496,   599,   119,   119,   119,  -823,
--    -823,    59,  -823,   683,   556,  -823,  -823,   557,   549,  -823,
--    -823,  -823,  -823,  -823,   119,   119,   119,   119,   497,    61,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   673,
--    -823,   553,   362,  -823,   558,   559,   365,  -823,  -823,  -823,
--    -823,  -823,   359,  -823,   561,   561,   404,  -823,  -823,   564,
--    -823,  -823,   526,   526,   526,  -823,  -823,   566,   568,  -823,
--    -823,   585,  -823,  -823,    85,   294,  -823,   258,   119,    57,
--    -823,  -823,  -823,  -823,  -823,  -823,   585,  -823,  -823,  -823,
--    -823,  -823,   119,   694,   567,   599,   276,  -823,  -823,  -823,
--    -823,   688,   569,  -823,  -823,   690,  -823,   546,   692,   693,
--    -823,   171,  -823,  1089,   572,   573,   577,  -823,  -823,   578,
--     404,  -823,   497,  -823,  -823,  -823,   405,   405,  -823,   604,
--     581,  -823,  -823,  -823,  -823,  -823,  -823,   554,  -823,  -823,
--    -823,  -823,  -823,  -823,   732,  -823,   580,  -823,   604,  -823,
--     119,   717,  -823,   585,   579,   588,  -823,  -823,  -823,  -823,
--    -823,  -823,   119,   119,   589,   119,   119,   119,   119,   119,
--     119,   119,   119,   119,   119,   119,   119,   672,   672,   672,
--     575,  -823,  -823,   582,  -823,  -823,   593,   712,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,   980,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,   554,   215,   591,
--    -823,   367,   215,   215,   595,   596,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,   598,   -31,  -823,  -823,   600,  -823,   596,
--    -823,   119,  -823,   604,   276,  1276,  -823,  -823,  1276,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,   584,   587,   592,  -823,  1333,  1333,   594,  1447,
--    1390,   716,   235,   602,   610,  -823,  -823,  -823,   609,  -823,
--     215,  -823,  -823,    85,   657,   215,  -823,   298,   215,  -823,
--     596,  -823,   614,   618,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,   121,  -823,   589,  -823,   630,   632,   633,   372,
--    -823,   306,  -823,   637,  -823,  -823,   634,  -823,   376,  -823,
--     616,   294,   379,   616,   215,   599,   604,   641,   731,   287,
--     755,  -823,   235,  -823,  -823,  -823,    42,  -823,   604,   680,
--    -823,    85,  -823,   640,  -823,   554,   645,   616,   604,   215,
--    -823,  -823,  -823,  -823,   646,  -823,   596,  -823,  -823,   497,
--     742,   294,   680,   664,   215,   624,  -823,   215,   644,   119,
--     747,   742,   742,   616,  -823,   665,   669,  1276,  -823,   119,
--     763,   747,   747,   670,   649,   680,   742,   676,  -823,   119,
--     783,   763,   763,   680,  1276,   742,   747,   660,  -823,   119,
--    -823,   783,   783,   742,   681,   747,   763,  -823,  -823,  -823,
--    -823,   747,   662,  -823,  -823,  -823,  -823
-+      87,   330,   619,   702,   703,   704,    88,   394,    89,   627,
-+     540,   652,   653,   654,    90,   315,   452,   590,    91,   213,
-+     457,   458,    92,   216,   319,   320,    93,   212,   454,   455,
-+      94,   272,   397,   398,    95,    96,   219,   325,   326,    97,
-+     224,   334,   335,    98,   227,   337,   338,    99,   230,   340,
-+     341,   100,   192,   298,   299,   301,   433,   434,   101,   195,
-+     303,   304,   306,   441,   442,   102,   188,   294,   290,   291,
-+     293,   423,   424,   189,   296,   103,   177,   275,   276,   104,
-+     105,   181,   278,   279,   716,   774,   875,   106,   107,   108,
-+     109,   816,   817,   818,   819,   820,   821,   822,   823,   658,
-+     825,   826,   110,   659,   111,   112,   113,   114,   115,   116,
-+     117,   118,   828,   119,   120,   425,   564,   665,   666,   680,
-+     567,   669,   670,   681,   121,   162,   264,   265,   122,   155,
-+     156,   123,   586,   202,   268,   310,   742,   743,   744,   948,
-+     851,   616,   698,   760,   767,   699,   700,   124,   125,   126,
-+     548,   869,   955,   127,   128,   308,   678,   129,   235,   591,
-+     131,   307,   677,   445,   581,   582,   583,   737,   835,   836,
-+     837,   906,   942,   943,   945,   969,   970,   520,   895,   838,
-+     901,   839,   840,   904,   841,  1008,  1017,   976,   992,   842,
-+     363,   694,   752,   918,   271,   392,   393,   645,  1033,  1013,
-+    1003,  1023,   476,   477,   478,   843,   899,   900,   844,   903,
-+     845,   846,   902,   847,   498,   634,   635,   479,   480,   366,
-+     238,   135,   332,   858,   951
- };
- 
--/* YYPGOTO[NTERM-NUM].  */
--static const yytype_int16 yypgoto[] =
--{
--    -823,  -823,   834,  -823,  -823,  -411,  -823,  -823,  -823,   484,
--    -823,  -823,  -823,   461,  -823,  -823,  -823,   476,  -823,  -823,
--    -823,   460,  -823,  -823,  -823,   458,  -823,  -823,  -823,   477,
--    -638,  -823,  -823,  -823,   144,  -823,  -823,  -823,  -823,  -823,
--     220,  -823,   196,  -823,  -629,  -823,  -823,  -823,  -823,  -823,
--    -823,   396,  -823,  -823,  -823,   412,  -823,  -823,  -823,   413,
--    -265,  -823,  -823,  -823,  -264,  -823,  -823,  -823,   387,  -823,
--    -823,  -823,   368,  -823,  -823,  -823,   369,  -823,  -823,  -823,
--     370,  -823,  -823,  -823,   427,  -823,  -823,   429,  -823,  -823,
--    -823,   426,  -823,  -823,   424,  -823,  -823,  -823,  -823,   448,
--    -823,  -823,   446,     6,  -263,  -823,  -823,  -823,   478,  -823,
--    -823,  -823,  -823,   485,  -823,  -823,  -823,  -823,  -823,  -823,
--    -508,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,  -627,
--    -823,  -823,  -823,  -603,  -823,  -823,  -823,  -823,  -823,  -823,
--    -823,  -823,  -823,  -823,  -823,  -823,  -823,  -823,   139,  -268,
--    -823,  -823,   141,  -822,  -823,  -823,  -823,   489,  -823,   -13,
--    -823,  -505,  -823,  -823,  -823,  -223,  -823,  -823,   128,  -823,
--    -823,  -212,  -786,  -823,  -823,  -647,  -823,   -27,   807,   648,
--    -349,  -823,  -823,  -598,  -579,  -823,  -823,  -574,  -823,   867,
--    -216,  -823,  -823,   571,  -823,   201,  -823,   204,  -823,    51,
--    -823,  -823,  -823,   -80,  -823,  -823,   -82,  -432,  -260,  -823,
--    -823,   -11,  -823,  -823,   -16,  -823,  -823,  -660,  -823,    12,
--    -823,  -597,  -577,  -796,  -195,  -823,   357,  -823,  -496,  -680,
--    -696,  -765,  -341,  -823,   279,  -823,  -823,  -823,  -355,  -823,
--      -9,  -823,  -823,    14,  -823,  -823,   262,     0,  -823,   583,
--     686,   -10,  -214,  -704,  -823
--};
--
--/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
--   positive, shift that token.  If negative, reduce the rule which
--   number is the opposite.  If zero, do what YYDEFACT says.
--   If YYTABLE_NINF, syntax error.  */
--#define YYTABLE_NINF -563
-+/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
-+   positive, shift that token.  If negative, reduce the rule whose
-+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
- static const yytype_int16 yytable[] =
- {
--     157,   158,   159,   134,   494,   164,   165,   166,   167,   168,
--     169,   170,   171,   197,   198,   132,   173,   133,   341,   344,
--     182,   183,   184,   424,   326,   594,   419,   420,   706,   654,
--     425,   433,   657,   136,   429,   430,   441,   418,   586,   437,
--     438,   346,   417,   190,   193,   196,   221,   418,   175,   398,
--     418,   231,   394,   209,   418,   451,   658,    27,    28,   163,
--     553,   554,   555,   556,   869,   454,   210,    27,    28,   179,
--      27,    28,   220,   918,    27,    28,   626,   627,   628,  -562,
--     185,   186,   225,   228,   185,   186,   185,   186,   644,    27,
--      28,    27,    28,    27,    28,   808,   139,   185,   186,   185,
--     186,    29,   148,   151,   809,   160,   821,   704,   214,   312,
--     857,   645,   646,   647,   445,   507,    35,   447,   773,    29,
--      35,  -560,   142,   145,   954,   217,   562,   508,   236,   768,
--     824,   951,   481,   535,   480,   828,   232,   638,   186,   639,
--     259,   654,   536,     4,   657,   269,   482,   987,   493,   266,
--     154,   137,    59,   424,   829,   957,   419,   420,   648,   830,
--     174,    62,   262,   433,  -562,   176,   429,   430,   263,   920,
--    1001,   441,   178,   637,   437,   438,   681,   395,   590,    62,
--     698,   659,   569,   481,    27,    28,   180,   199,   592,   991,
--     997,   704,   573,  1025,   808,   565,   873,   492,   187,   984,
--     907,  1033,   191,   809,   194,   821,   260,  -562,   261,  -562,
--     640,    35,   140,   237,   766,   223,   710,   226,   722,   229,
--     149,   152,   330,   161,   343,   812,   215,   313,   827,   824,
--     629,   630,   330,   203,   828,    27,    28,    29,   143,   146,
--     237,   218,   563,   601,   602,   603,   604,   605,   581,   582,
--     608,    29,   979,   829,   611,   389,  1031,  1032,   830,   345,
--     498,   233,    35,   499,   986,   687,   688,    40,    41,   222,
--     270,  1044,   652,   653,   994,   698,    42,    43,    44,    45,
-+     157,   158,   159,   134,   496,   164,   165,   166,   167,   168,
-+     169,   170,   171,   197,   198,   132,   173,   133,   427,   345,
-+     182,   183,   184,   597,   426,   327,   657,   342,   421,   660,
-+     709,   422,   435,   453,   139,   921,   431,   443,   395,   432,
-+     419,   439,   347,   589,   440,   661,   221,   399,   420,   872,
-+     420,   231,  -563,   209,   190,   193,   196,   420,   175,   555,
-+     556,   557,   558,   559,   420,   771,   210,   456,    27,    28,
-+      27,    28,   220,   629,   630,   631,   136,    27,    28,    27,
-+      28,   179,   185,   186,    27,    28,   957,    29,    27,    28,
-+     142,   145,   148,   225,   228,   217,   185,   186,   185,   186,
-+     185,   186,   185,   186,   346,   707,    35,   860,   151,   160,
-+     214,   313,   240,   236,   811,   270,   447,   565,    29,   449,
-+     776,   812,   511,  -561,   960,     4,   241,   641,   186,   642,
-+     954,   154,   876,   990,   483,   512,   482,  -563,   232,   657,
-+     259,   824,   660,   827,   537,   269,   483,    62,   484,   266,
-+     495,   140,  1000,   538,   923,   426,  1004,   593,   831,   421,
-+     494,   647,   422,   832,   396,   435,    27,    28,   979,   431,
-+     701,   662,   432,   443,   640,   833,   176,   439,    62,  1028,
-+     440,  -563,   684,  -563,   648,   649,   650,  1036,   994,   707,
-+     509,   595,   996,    35,   568,   137,   572,   910,   237,   180,
-+     643,   187,   510,   576,   174,   769,   229,   143,   146,   237,
-+     987,   149,   218,   811,   713,   191,   163,   194,  1016,   223,
-+     812,   226,   331,   815,   344,    59,   830,   152,   161,   215,
-+     314,   651,   331,   632,   566,   262,   633,   982,  1034,  1035,
-+     824,   263,   827,   604,   605,   606,   607,   608,   419,   989,
-+     611,   584,   585,  1047,   614,   390,   420,   831,   500,   997,
-+     667,   501,   832,   178,    27,    28,   199,   690,   691,  1014,
-+    1015,   668,   185,   186,   833,   655,    27,    28,   656,   420,
-+    1024,  1025,   200,   201,  1029,    27,    28,    29,   260,   939,
-+     261,    35,   725,  1038,   940,  1039,   273,   274,   941,    27,
-+      28,  1044,   481,   203,  1046,   629,   630,   631,   321,   364,
-+    1048,   365,    35,    29,   322,   323,   324,    40,    41,   663,
-+      27,    28,   815,   369,   370,   830,    42,    43,    44,    45,
-       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
--      56,    57,    58,   976,    59,    60,    61,    62,   240,    63,
--     363,   479,   364,   664,   211,  1011,  1012,   232,    64,    65,
--     644,   241,    66,    67,   665,    27,    28,   993,   418,   660,
--    1026,   516,    72,   517,   812,    73,   239,   827,    74,  1035,
--      75,  1021,  1022,   645,   646,   647,   417,  1041,    27,    28,
--     509,   234,    35,  1013,   418,   244,  1036,   626,   627,   628,
--     702,   703,   247,   510,   250,  1043,   185,   186,   978,   253,
--     680,  1045,    27,    28,    27,    28,   629,   630,   936,   256,
--     204,   205,   206,   937,    59,   207,   267,   938,   270,   347,
--     648,   277,   348,   294,   652,   653,   349,   350,   351,   352,
--     353,   354,   355,   356,   357,   358,   320,   359,   291,   360,
--     361,   296,   321,   322,   323,   299,   682,   683,   684,   685,
--     686,   737,   738,   689,   552,   865,   693,   758,   759,   760,
--     761,   304,   762,   301,   763,   575,   576,   577,   200,   201,
--     280,   281,   567,   282,   702,   703,    27,    28,   736,   308,
--     571,   283,   284,   285,   286,   287,   288,   273,   274,   134,
--     694,  -364,  -364,   774,   751,   752,   753,   754,   755,   756,
--     310,   132,   622,   133,   315,   826,   368,   369,   810,   811,
--     743,   744,   745,   371,   372,   737,   738,   374,   375,   377,
--     378,   617,   380,   381,   383,   384,   387,   388,   327,   618,
--     401,   402,   620,   404,   405,   415,   416,   328,   634,   427,
--     428,   435,   436,   458,   459,   464,   465,   484,   485,   487,
--     488,   490,   491,   544,   545,   726,   727,   831,   730,   731,
--     910,   481,   316,   852,   853,   961,   962,   981,   851,   970,
--     971,    29,   974,   975,   922,  1039,  1040,   923,   893,   894,
--     641,   928,   929,    40,   317,   332,   335,   338,   366,   367,
--     370,   668,   390,   673,   373,   376,   379,   382,   385,   442,
--     448,   451,   172,   454,   826,   386,   399,   810,   811,   400,
--      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
--      52,    53,    54,    55,    56,    57,    58,   134,   403,    60,
--      61,    62,   406,    63,   407,   408,   409,   410,   411,   132,
--     412,   133,    64,    65,   413,   414,   426,   434,   514,   449,
--     457,   921,   460,   707,   708,   709,   831,   461,   462,   463,
--     483,   486,   489,   497,    75,   495,   500,   501,   502,   503,
--     504,   717,   718,   719,   720,   505,   506,   512,   513,   511,
--     515,   519,   521,   523,   525,   527,   529,   531,   721,   532,
--     534,  -316,   537,   908,   539,   540,   541,   911,   912,   542,
--     543,   548,   558,   550,   551,   557,  1017,   750,   560,   584,
--     585,   589,   606,   965,   596,   597,   963,   964,   598,   599,
--     607,   612,   633,  1034,   609,   765,   610,   661,   614,   615,
--     625,   635,   418,   636,   672,   690,   679,   669,   965,   769,
--     712,   963,   964,   670,   676,   671,   694,   724,   725,   714,
--     715,   748,   770,   728,   729,   946,   742,   733,   716,   746,
--     950,   747,   775,   953,   854,   772,   777,   776,   779,   780,
--     845,   846,   847,   134,   856,   849,   871,   864,   868,   874,
--     875,   878,   330,   891,   895,   902,   904,   913,  -445,   909,
--     934,   914,   917,   924,   867,   916,   925,   870,   941,   977,
--     807,   926,   943,   944,   949,   980,    29,   955,   858,   876,
--     877,   956,   879,   880,   881,   882,   883,   884,   885,   886,
--     887,   888,   889,   890,   995,   958,   972,   959,   960,   982,
--     968,   999,   969,   345,  1004,  1009,  1007,   172,   990,  1003,
--    1019,  1024,  1006,   992,   996,    42,    43,    44,    45,    46,
--      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
--      57,    58,  1002,  1015,    60,    61,    62,  1016,  1023,  1027,
--    1029,  1037,   134,  1046,  1042,     5,   524,    64,    65,   859,
--     860,   528,   530,   767,   705,   723,   520,   861,   544,   545,
--     862,   593,   600,   619,   526,   568,   522,   621,   919,    75,
--     570,   623,   572,   574,   559,   591,   778,   566,   850,   208,
--     130,   595,   781,   732,    27,    28,    29,   533,   444,   735,
--     547,   342,   983,   906,   985,   935,   947,   930,   863,   692,
--     549,   933,   643,   711,   446,   311,   134,   134,     0,   932,
--     134,    35,     0,     0,     0,     0,    40,    41,     0,     0,
--       0,   931,     0,     0,     0,    42,    43,    44,    45,    46,
-+      56,    57,    58,   211,    59,    60,    61,    62,   518,    63,
-+     519,   204,   205,   206,   705,   701,   207,   706,    64,    65,
-+     981,   647,    66,    67,   372,   373,    27,    28,   375,   376,
-+     632,   222,    72,   633,   232,    73,   378,   379,    74,   233,
-+      75,   578,   579,   580,   648,   649,   650,   348,   655,   234,
-+     349,   656,   244,    35,   350,   351,   352,   353,   354,   355,
-+     356,   357,   358,   359,   239,   360,   247,   361,   362,   250,
-+     685,   686,   687,   688,   689,   740,   868,   692,   741,   253,
-+     696,    27,    28,   739,   256,    59,   554,   697,  -365,  -365,
-+     267,   651,   761,   762,   763,   764,   277,   765,   705,   766,
-+     270,   706,   295,   777,   292,   570,   746,   747,   748,   381,
-+     382,   134,   309,   574,   754,   755,   756,   757,   758,   759,
-+     384,   385,   297,   132,   625,   133,   388,   389,   829,   302,
-+     402,   403,   813,   280,   281,   814,   282,   405,   406,   740,
-+     417,   418,   741,   620,   283,   284,   285,   286,   287,   288,
-+     289,   429,   430,   437,   438,   460,   461,   466,   467,   300,
-+     637,   305,   621,   486,   487,   623,   489,   490,   492,   493,
-+     546,   547,   729,   730,   733,   734,   913,   483,   964,   965,
-+     834,   973,   974,   311,   855,   856,   984,   977,   978,   896,
-+     897,  1042,  1043,   931,   932,   316,   925,   317,   318,   926,
-+     854,   328,   333,   329,   336,   339,    40,   367,   368,   371,
-+     391,   444,   374,   644,   671,   377,   676,   380,   383,   386,
-+     450,   387,   453,   456,   400,   401,   404,   829,   407,   408,
-+     409,   813,   410,   411,   814,   412,   413,   414,   415,   416,
-+     428,   436,   517,   451,   459,   462,   463,   464,   465,   485,
-+     134,   488,   491,   499,   497,   521,   502,   503,   504,   505,
-+     506,   924,   132,   523,   133,   507,   508,   514,   515,   516,
-+     513,   525,   527,   529,   531,   533,   710,   711,   712,   834,
-+     534,   536,  -317,   539,   541,   542,   543,   545,   544,   550,
-+     561,   552,   553,   560,   720,   721,   722,   723,   563,   587,
-+     588,   599,   592,   600,   601,   602,   609,   610,   615,   612,
-+     617,   724,   613,   628,   420,   618,   664,   911,   638,   636,
-+     639,   914,   915,   675,   672,   673,   674,   679,  1020,   693,
-+     753,   682,   697,   715,   717,   718,   968,   727,   728,   719,
-+     966,   731,   732,   967,   736,  1037,   745,   751,   768,   749,
-+     750,   773,   778,   775,   850,   780,   779,   782,   783,   848,
-+     849,   968,   772,   852,   857,   966,   859,   871,   967,   874,
-+     877,   878,   881,   898,  -446,   894,   905,   907,   916,   949,
-+     917,   912,   920,   927,   953,   928,   919,   956,   937,   944,
-+     929,   946,   947,   810,   952,   983,   134,   958,   961,   959,
-+     867,   975,   962,   963,   346,   331,   985,   971,   972,  1002,
-+    1012,  1010,  1022,  1032,  1027,     5,   993,   870,  1030,   995,
-+     873,   999,  1005,   980,  1045,   528,   530,    27,    28,    29,
-+    1018,  1019,   879,   880,  1026,   882,   883,   884,   885,   886,
-+     887,   888,   889,   890,   891,   892,   893,  1007,   998,  1040,
-+    1049,   526,   708,   770,    35,   726,   532,   522,   622,    40,
-+      41,   598,   596,  1006,   594,   571,  1009,   524,    42,    43,
-+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-+      54,    55,    56,    57,    58,   626,    59,    60,    61,    62,
-+     603,    63,   781,   784,   208,   134,   624,   853,   130,   577,
-+      64,    65,   735,   535,    66,    67,   343,   446,   738,   986,
-+     909,   988,   938,   933,    72,   646,   695,    73,   549,   936,
-+      74,   922,    75,   551,   714,     0,   562,     0,   448,   312,
-+       0,     0,     0,     0,     0,     0,   569,    29,   573,   861,
-+       0,     0,     0,     0,   575,     0,     0,     0,     0,   950,
-+       0,     0,     0,   683,     0,     0,     0,     0,     0,   134,
-+     134,     0,   935,   134,     0,     0,     0,     0,   172,     0,
-+       0,     0,     0,     0,   934,     0,    42,    43,    44,    45,
-+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-+      56,    57,    58,     0,     0,    60,    61,    62,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,   991,    64,    65,
-+     862,   863,     0,     0,     0,     0,     0,     0,   864,   546,
-+     547,   865,     0,     0,     0,     0,     0,     0,     0,     0,
-+      75,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,     0,     0,  1011,
-+       0,     0,  1001,     0,   785,   420,     0,     0,     0,  1021,
-+     866,     0,     0,     0,     0,     0,   786,     0,     0,  1031,
-+     647,     0,     0,     0,     0,    27,    28,   787,     0,  1041,
-+       0,   788,   789,   790,   791,   792,   793,   794,   795,   796,
-+       0,     0,     0,   648,   797,   798,   799,     0,     0,     0,
-+       0,     0,    35,     0,     0,     0,     0,    40,    41,   800,
-+     801,   802,   803,   804,     0,   805,    42,    43,    44,    45,
-+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-+      56,    57,    58,   806,    59,    60,    61,    62,     0,    63,
-+     807,     0,     0,     0,     0,     0,     0,     0,    64,    65,
-+       0,     0,    66,    67,     0,     0,     0,     0,     0,     0,
-+       0,     0,    72,   785,   420,    73,     0,   808,    74,     0,
-+      75,     0,     0,   809,     0,   786,     0,     0,     0,   647,
-+       0,     0,     0,     0,    27,    28,   787,     0,     0,     0,
-+     788,   789,   790,   791,   792,   793,   794,   795,   796,     0,
-+       0,   908,   648,   797,   798,   799,     0,     0,     0,     0,
-+     810,    35,     0,     0,     0,     0,    40,    41,   800,   801,
-+     802,   803,   804,     0,   805,    42,    43,    44,    45,    46,
-       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
--      57,    58,     0,    59,    60,    61,    62,     0,    63,     0,
--       0,     0,     0,     0,   988,     0,     0,    64,    65,     0,
-+      57,    58,   806,    59,    60,    61,    62,     0,    63,   807,
-+       0,     0,     0,     0,     0,     0,     0,    64,    65,     0,
-        0,    66,    67,     0,     0,     0,     0,     0,     0,     0,
--       0,    72,     0,     0,    73,     0,     0,    74,     0,    75,
-+       0,    72,     0,     0,    73,     0,   808,    74,     0,    75,
-+       0,     6,   809,     7,     8,     9,    10,    11,    12,    13,
-+       0,    14,    15,    16,    17,     0,     0,     0,    18,    19,
-+      20,     0,    21,    22,    23,     0,    24,    25,    26,     0,
-+      27,    28,    29,     0,     0,     0,     0,     0,     0,   810,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,  1008,     0,     0,   998,
--       0,   782,   418,     0,     0,     0,  1018,     0,     0,     0,
--       0,     0,     0,   783,     0,     0,  1028,   644,     0,     0,
--       0,     0,    27,    28,   784,     0,  1038,     0,   785,   786,
--     787,   788,   789,   790,   791,   792,   793,     0,     0,     0,
--     645,   794,   795,   796,     0,     0,     0,     0,     0,    35,
--       0,     0,     0,     0,    40,    41,   797,   798,   799,   800,
--     801,     0,   802,    42,    43,    44,    45,    46,    47,    48,
--      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
--     803,    59,    60,    61,    62,     0,    63,   804,     0,     0,
--       0,     0,     0,     0,     0,    64,    65,     0,     0,    66,
--      67,     0,     0,     0,     0,     0,     0,     0,     0,    72,
--     782,   418,    73,     0,   805,    74,     0,    75,     0,     0,
--     806,     0,   783,     0,     0,     0,   644,     0,     0,     0,
--       0,    27,    28,   784,     0,     0,     0,   785,   786,   787,
--     788,   789,   790,   791,   792,   793,     0,   905,     0,   645,
--     794,   795,   796,     0,     0,     0,   807,     0,    35,     0,
--       0,     0,     0,    40,    41,   797,   798,   799,   800,   801,
--       0,   802,    42,    43,    44,    45,    46,    47,    48,    49,
--      50,    51,    52,    53,    54,    55,    56,    57,    58,   803,
--      59,    60,    61,    62,     0,    63,   804,     0,     0,     0,
--       0,     0,     0,     0,    64,    65,     0,     0,    66,    67,
--       0,     0,     0,     0,     0,     0,     0,     0,    72,     0,
--       0,    73,     0,   805,    74,     0,    75,     0,     6,   806,
--       7,     8,     9,    10,    11,    12,    13,     0,    14,    15,
--      16,    17,     0,     0,     0,    18,    19,    20,     0,    21,
--      22,    23,     0,    24,    25,    26,     0,    27,    28,    29,
--       0,     0,     0,     0,     0,   807,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
--      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
--      41,     0,     0,     0,     0,     0,     0,     0,    42,    43,
--      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
--      54,    55,    56,    57,    58,     0,    59,    60,    61,    62,
--      29,    63,     0,     0,     0,     0,     0,     0,     0,     0,
--      64,    65,     0,     0,    66,    67,    68,    69,    70,    71,
--       0,     0,     0,     0,    72,     0,     0,    73,     0,     0,
--      74,   172,    75,    76,    77,     0,    78,     0,     0,    42,
-+       0,     0,    30,    31,    32,    33,    34,    35,    36,    37,
-+      38,    39,    40,    41,     0,     0,     0,     0,     0,     0,
-+       0,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-+      51,    52,    53,    54,    55,    56,    57,    58,     0,    59,
-+      60,    61,    62,    29,    63,     0,     0,     0,     0,     0,
-+       0,     0,     0,    64,    65,     0,     0,    66,    67,    68,
-+      69,    70,    71,     0,     0,     0,     0,    72,     0,     0,
-+      73,     0,     0,    74,   172,    75,    76,    77,     0,    78,
-+       0,     0,    42,    43,    44,    45,    46,    47,    48,    49,
-+      50,    51,    52,    53,    54,    55,    56,    57,    58,     0,
-+      29,    60,    61,    62,     0,    63,     0,   468,   469,   470,
-+     471,   472,   473,   474,    64,    65,     0,     0,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-+     475,   172,     0,     0,     0,     0,    75,     0,     0,    42,
-       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
--      53,    54,    55,    56,    57,    58,     0,    29,    60,    61,
--      62,     0,    63,     0,   466,   467,   468,   469,   470,   471,
--     472,    64,    65,     0,     0,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,   473,   172,     0,
-+      53,    54,    55,    56,    57,    58,   930,    29,    60,    61,
-+      62,     0,    63,   807,     0,     0,     0,     0,     0,     0,
-+       0,    64,    65,     0,     0,     0,     0,     0,     0,     0,
-+       0,     0,     0,     0,     0,    72,     0,     0,   172,     0,
-        0,     0,     0,    75,     0,     0,    42,    43,    44,    45,
-       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
--      56,    57,    58,   927,    29,    60,    61,    62,     0,    63,
--     804,     0,     0,     0,     0,     0,     0,     0,    64,    65,
-+      56,    57,    58,   930,    29,    60,    61,    62,     0,    63,
-+       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,    72,     0,     0,   172,     0,     0,     0,     0,
-       75,     0,     0,    42,    43,    44,    45,    46,    47,    48,
-       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
--     927,    29,    60,    61,    62,     0,    63,     0,     0,     0,
-+      29,     0,    60,    61,    62,     0,    63,     0,     0,     0,
-        0,     0,     0,     0,     0,    64,    65,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,    72,
--       0,     0,   172,     0,     0,     0,     0,    75,     0,     0,
--      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
--      52,    53,    54,    55,    56,    57,    58,    29,     0,    60,
--      61,    62,     0,    63,     0,     0,     0,     0,     0,     0,
--       0,     0,    64,    65,     0,     0,     0,     0,     0,     0,
--       0,     0,     0,     0,     0,     0,    72,     0,   172,     0,
--       0,     0,     0,     0,    75,     0,    42,    43,    44,    45,
--      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
--      56,    57,    58,     0,     0,    60,    61,    62,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,     0,    64,    65,
--       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-+       0,   172,     0,     0,     0,     0,    29,    75,     0,    42,
-+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-+      53,    54,    55,    56,    57,    58,     0,     0,    60,    61,
-+      62,     0,    63,     0,     0,     0,     0,   172,     0,     0,
-+       0,    64,    65,     0,     0,    42,    43,    44,    45,    46,
-+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-+      57,    58,     0,    75,    60,    61,    62,     0,     0,     0,
-+       0,     0,     0,     0,     0,     0,     0,    64,    65,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
--      75
-+       0,     0,     0,     0,     0,     0,     0,     0,     0,    75
- };
- 
- static const yytype_int16 yycheck[] =
- {
--      13,    14,    15,     3,   345,    18,    19,    20,    21,    22,
--      23,    24,    25,    40,    41,     3,    26,     3,   232,   235,
--      33,    34,    35,   291,   219,   457,   291,   291,   625,   537,
--     293,   299,   537,    34,   299,   299,   304,    12,   449,   304,
--     304,   236,     4,    37,    38,    39,    73,    12,    35,   272,
--      12,    78,    34,    63,    12,    34,    34,    32,    33,    35,
--     409,   410,   411,   412,   768,    34,    66,    32,    33,    35,
--      32,    33,    72,   869,    32,    33,    17,    18,    19,    34,
--      34,    35,    76,    77,    34,    35,    34,    35,    27,    32,
--      33,    32,    33,    32,    33,   733,    36,    34,    35,    34,
--      35,    34,    34,    34,   733,    34,   733,   615,    34,    34,
--     757,    50,    51,    52,   309,   155,    59,   312,   715,    34,
--      59,   152,    36,    36,   920,    36,    36,   167,    34,   706,
--     733,   917,   154,   154,   329,   733,   167,    34,    35,    36,
--     153,   649,   163,     0,   649,   172,   168,   969,   343,   162,
--      31,   152,    91,   421,   733,    34,   421,   421,    97,   733,
--     152,    94,   134,   431,   119,   152,   431,   431,   140,   873,
--     992,   439,    35,   514,   439,   439,   587,   159,   157,    94,
--     123,   159,   157,   154,    32,    33,   152,    76,   157,   975,
--     986,   699,   157,  1015,   832,   157,   773,   168,   152,   157,
--     847,  1023,   152,   832,   152,   832,    31,   162,    33,   164,
--     107,    59,   152,   119,   157,   152,   157,   152,   157,   152,
--     152,   152,   222,   152,   234,   733,   152,   152,   733,   832,
--     495,   495,   232,    79,   832,    32,    33,    34,   152,   152,
--     119,   152,   152,   466,   467,   468,   469,   470,   443,   444,
--     473,    34,   956,   832,   477,   268,  1021,  1022,   832,   152,
--     152,    94,    59,   155,   968,   606,   607,    64,    65,   167,
--     163,  1036,   537,   537,   978,   123,    73,    74,    75,    76,
-+      13,    14,    15,     3,   346,    18,    19,    20,    21,    22,
-+      23,    24,    25,    40,    41,     3,    26,     3,   294,   235,
-+      33,    34,    35,   459,   292,   219,   539,   232,   292,   539,
-+     628,   292,   300,    34,    36,   872,   300,   305,    34,   300,
-+       4,   305,   236,   451,   305,    34,    73,   272,    12,   771,
-+      12,    78,    34,    63,    37,    38,    39,    12,    35,   410,
-+     411,   412,   413,   414,    12,   709,    66,    34,    32,    33,
-+      32,    33,    72,    17,    18,    19,    34,    32,    33,    32,
-+      33,    35,    34,    35,    32,    33,   923,    34,    32,    33,
-+      36,    36,    34,    76,    77,    36,    34,    35,    34,    35,
-+      34,    35,    34,    35,   153,   618,    59,   760,    34,    34,
-+      34,    34,   138,    34,   736,   164,   310,    36,    34,   313,
-+     718,   736,   156,   153,    34,     0,   152,    34,    35,    36,
-+     920,    31,   776,   972,   155,   169,   330,   119,   168,   652,
-+     153,   736,   652,   736,   155,   172,   155,    94,   169,   162,
-+     344,   153,   989,   164,   876,   423,   995,   158,   736,   423,
-+     169,    27,   423,   736,   160,   433,    32,    33,   956,   433,
-+     123,   160,   433,   441,   516,   736,   153,   441,    94,  1018,
-+     441,   163,   590,   165,    50,    51,    52,  1026,   978,   702,
-+     156,   158,   980,    59,   158,   153,   158,   850,   119,   153,
-+     107,   153,   168,   158,   153,   158,   153,   153,   153,   119,
-+     158,   153,   153,   835,   158,   153,    35,   153,  1006,   153,
-+     835,   153,   222,   736,   234,    91,   736,   153,   153,   153,
-+     153,    97,   232,   497,   153,   134,   497,   959,  1024,  1025,
-+     835,   140,   835,   468,   469,   470,   471,   472,     4,   971,
-+     475,   445,   446,  1039,   479,   268,    12,   835,   153,   981,
-+     132,   156,   835,    35,    32,    33,    76,   609,   610,  1004,
-+    1005,   143,    34,    35,   835,   539,    32,    33,   539,    12,
-+    1014,  1015,    64,    65,  1019,    32,    33,    34,    31,   133,
-+      33,    59,   158,  1028,   138,  1029,   138,   139,   142,    32,
-+      33,  1036,   329,    79,  1038,    17,    18,    19,   137,   163,
-+    1044,   165,    59,    34,   143,   144,   145,    64,    65,   544,
-+      32,    33,   835,   154,   155,   835,    73,    74,    75,    76,
-       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
--      87,    88,    89,   953,    91,    92,    93,    94,   138,    96,
--     162,   328,   164,   132,    34,  1001,  1002,   167,   105,   106,
--      27,   151,   109,   110,   143,    32,    33,   977,    12,   542,
--    1016,    34,   119,    36,   832,   122,   107,   832,   125,  1025,
--     127,  1011,  1012,    50,    51,    52,     4,  1033,    32,    33,
--     155,    30,    59,  1003,    12,   138,  1026,    17,    18,    19,
--     615,   615,   138,   168,   138,  1035,    34,    35,   955,   138,
--     157,  1041,    32,    33,    32,    33,   631,   631,   133,   138,
--      74,    75,    76,   138,    91,    79,    35,   142,   163,   152,
--      97,   138,   155,   107,   649,   649,   159,   160,   161,   162,
--     163,   164,   165,   166,   167,   168,   137,   170,   156,   172,
--     173,   138,   143,   144,   145,   156,   601,   602,   603,   604,
--     605,   676,   676,   608,   408,   764,   611,   159,   160,   161,
--     162,   156,   164,   138,   166,    66,    67,    68,    64,    65,
--     135,   136,   426,   138,   699,   699,    32,    33,    34,    34,
--     434,   146,   147,   148,   149,   150,   151,   138,   139,   449,
--     152,   153,   154,   716,   160,   161,   162,   163,   164,   165,
--      76,   449,   489,   449,   156,   733,   153,   154,   733,   733,
--     682,   683,   684,   153,   154,   740,   740,   153,   154,   153,
--     154,   481,   153,   154,   153,   154,   153,   154,   152,   483,
--     153,   154,   486,   153,   154,   153,   154,   152,   498,   153,
--     154,   153,   154,   153,   154,   153,   154,   153,   154,   153,
--     154,   153,   154,   116,   117,   153,   154,   733,   153,   154,
--     153,   154,   156,   746,   747,   153,   154,   959,   742,   153,
--     154,    34,   153,   154,   875,  1031,  1032,   878,   798,   799,
--     534,   896,   897,    64,   138,   138,   138,   138,   155,   155,
--     155,   564,    34,   580,   155,   155,   155,   155,   155,   169,
--     162,    34,    65,    34,   832,   155,   155,   832,   832,   155,
--      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
--      83,    84,    85,    86,    87,    88,    89,   587,   155,    92,
--      93,    94,   155,    96,   155,   155,   155,   155,   155,   587,
--     155,   587,   105,   106,   155,   155,   155,   155,   152,   156,
--     155,   874,   155,   626,   627,   628,   832,   155,   155,   155,
--     155,   155,   155,   153,   127,   156,   155,   155,   155,   155,
--     155,   644,   645,   646,   647,   155,   155,   155,   155,   171,
--      96,   107,    36,    36,    36,    34,    34,    34,   648,   107,
--     155,   160,   156,   848,    34,    95,   153,   852,   853,   160,
--      35,    35,   107,    36,    36,    34,  1007,   694,   152,   158,
--      34,   158,   152,   941,    36,    36,   941,   941,    36,    36,
--     152,   155,   158,  1024,   153,   698,   154,   141,   153,   156,
--     153,   155,    12,   155,   154,    96,   153,   158,   966,   712,
--      17,   966,   966,   158,   156,   158,   152,    34,   155,   153,
--     153,   126,    18,   155,   155,   910,   152,   156,   169,   153,
--     915,   153,    34,   918,   120,   158,    36,   158,    36,    36,
--     158,   158,   155,   733,   153,   157,    19,   764,   158,   160,
--     152,   152,   742,    71,   169,   152,    34,   152,   166,   158,
--      34,   155,   152,   169,   764,   157,   169,   770,   156,   954,
--     166,   169,   152,   154,   107,    34,    34,   153,    36,   782,
--     783,   153,   785,   786,   787,   788,   789,   790,   791,   792,
--     793,   794,   795,   796,   979,   155,   170,   155,   155,    34,
--     153,    49,   158,   152,   170,    48,   152,    65,   158,   994,
--      37,   152,   997,   158,   158,    73,    74,    75,    76,    77,
--      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
--      88,    89,   158,   158,    92,    93,    94,   158,   158,   153,
--      47,   171,   832,   171,   153,     1,   375,   105,   106,   107,
--     108,   381,   384,   699,   624,   649,   369,   115,   116,   117,
--     118,   455,   465,   485,   378,   428,   372,   488,   871,   127,
--     431,   491,   436,   439,   416,   452,   727,   421,   740,    62,
--       3,   459,   731,   672,    32,    33,    34,   388,   307,   675,
--     402,   233,   962,   832,   966,   901,   913,   898,   156,   610,
--     405,   900,   535,   631,   311,   209,   896,   897,    -1,   899,
--     900,    59,    -1,    -1,    -1,    -1,    64,    65,    -1,    -1,
--      -1,   899,    -1,    -1,    -1,    73,    74,    75,    76,    77,
-+      87,    88,    89,    34,    91,    92,    93,    94,    34,    96,
-+      36,    74,    75,    76,   618,   123,    79,   618,   105,   106,
-+     958,    27,   109,   110,   154,   155,    32,    33,   154,   155,
-+     634,   168,   119,   634,   168,   122,   154,   155,   125,    94,
-+     127,    66,    67,    68,    50,    51,    52,   153,   652,    30,
-+     156,   652,   138,    59,   160,   161,   162,   163,   164,   165,
-+     166,   167,   168,   169,   107,   171,   138,   173,   174,   138,
-+     604,   605,   606,   607,   608,   679,   767,   611,   679,   138,
-+     614,    32,    33,    34,   138,    91,   409,   153,   154,   155,
-+      35,    97,   160,   161,   162,   163,   138,   165,   702,   167,
-+     164,   702,   107,   719,   157,   428,   685,   686,   687,   154,
-+     155,   451,    34,   436,   161,   162,   163,   164,   165,   166,
-+     154,   155,   138,   451,   491,   451,   154,   155,   736,   138,
-+     154,   155,   736,   135,   136,   736,   138,   154,   155,   743,
-+     154,   155,   743,   483,   146,   147,   148,   149,   150,   151,
-+     152,   154,   155,   154,   155,   154,   155,   154,   155,   157,
-+     500,   157,   485,   154,   155,   488,   154,   155,   154,   155,
-+     116,   117,   154,   155,   154,   155,   154,   155,   154,   155,
-+     736,   154,   155,    76,   749,   750,   962,   154,   155,   801,
-+     802,  1034,  1035,   899,   900,   157,   878,   157,   138,   881,
-+     745,   153,   138,   153,   138,   138,    64,   156,   156,   156,
-+      34,   170,   156,   536,   567,   156,   583,   156,   156,   156,
-+     163,   156,    34,    34,   156,   156,   156,   835,   156,   156,
-+     156,   835,   156,   156,   835,   156,   156,   156,   156,   156,
-+     156,   156,    96,   157,   156,   156,   156,   156,   156,   156,
-+     590,   156,   156,   154,   157,   107,   156,   156,   156,   156,
-+     156,   877,   590,    36,   590,   156,   156,   156,   156,   153,
-+     172,    36,    36,    34,    34,    34,   629,   630,   631,   835,
-+     107,   156,   161,   157,    34,    95,   154,    35,   161,    35,
-+     107,    36,    36,    34,   647,   648,   649,   650,   153,   159,
-+      34,    36,   159,    36,    36,    36,   153,   153,   156,   154,
-+     154,   651,   155,   154,    12,   157,   141,   851,   156,   159,
-+     156,   855,   856,   155,   159,   159,   159,   157,  1010,    96,
-+     697,   154,   153,    17,   154,   154,   944,    34,   156,   170,
-+     944,   156,   156,   944,   157,  1027,   153,   126,   701,   154,
-+     154,    18,    34,   159,   156,    36,   159,    36,    36,   159,
-+     159,   969,   715,   158,   120,   969,   154,   159,   969,    19,
-+     161,   153,   153,   170,   167,    71,   153,    34,   153,   913,
-+     156,   159,   153,   170,   918,   170,   158,   921,    34,   157,
-+     170,   153,   155,   167,   107,    34,   736,   154,   156,   154,
-+     767,   171,   156,   156,   153,   745,    34,   154,   159,    49,
-+      48,   153,    37,    47,   153,     1,   159,   767,   154,   159,
-+     773,   159,   159,   957,   154,   379,   382,    32,    33,    34,
-+     159,   159,   785,   786,   159,   788,   789,   790,   791,   792,
-+     793,   794,   795,   796,   797,   798,   799,   171,   982,   172,
-+     172,   376,   627,   702,    59,   652,   385,   370,   487,    64,
-+      65,   461,   457,   997,   454,   430,  1000,   373,    73,    74,
-+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-+      85,    86,    87,    88,    89,   493,    91,    92,    93,    94,
-+     467,    96,   730,   734,    62,   835,   490,   743,     3,   441,
-+     105,   106,   675,   389,   109,   110,   233,   308,   678,   965,
-+     835,   969,   904,   901,   119,   537,   613,   122,   403,   903,
-+     125,   874,   127,   406,   634,    -1,   418,    -1,   312,   209,
-+      -1,    -1,    -1,    -1,    -1,    -1,   423,    34,   433,    36,
-+      -1,    -1,    -1,    -1,   438,    -1,    -1,    -1,    -1,   916,
-+      -1,    -1,    -1,   158,    -1,    -1,    -1,    -1,    -1,   899,
-+     900,    -1,   902,   903,    -1,    -1,    -1,    -1,    65,    -1,
-+      -1,    -1,    -1,    -1,   902,    -1,    73,    74,    75,    76,
-+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-+      87,    88,    89,    -1,    -1,    92,    93,    94,    -1,    -1,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   974,   105,   106,
-+     107,   108,    -1,    -1,    -1,    -1,    -1,    -1,   115,   116,
-+     117,   118,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-+     127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1002,
-+      -1,    -1,   992,    -1,    11,    12,    -1,    -1,    -1,  1012,
-+     157,    -1,    -1,    -1,    -1,    -1,    23,    -1,    -1,  1022,
-+      27,    -1,    -1,    -1,    -1,    32,    33,    34,    -1,  1032,
-+      -1,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-+      -1,    -1,    -1,    50,    51,    52,    53,    -1,    -1,    -1,
-+      -1,    -1,    59,    -1,    -1,    -1,    -1,    64,    65,    66,
-+      67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
-+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-+      87,    88,    89,    90,    91,    92,    93,    94,    -1,    96,
-+      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
-+      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,    -1,   119,    11,    12,   122,    -1,   124,   125,    -1,
-+     127,    -1,    -1,   130,    -1,    23,    -1,    -1,    -1,    27,
-+      -1,    -1,    -1,    -1,    32,    33,    34,    -1,    -1,    -1,
-+      38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
-+      -1,   158,    50,    51,    52,    53,    -1,    -1,    -1,    -1,
-+     167,    59,    -1,    -1,    -1,    -1,    64,    65,    66,    67,
-+      68,    69,    70,    -1,    72,    73,    74,    75,    76,    77,
-       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
--      88,    89,    -1,    91,    92,    93,    94,    -1,    96,    -1,
--      -1,    -1,    -1,    -1,   971,    -1,    -1,   105,   106,    -1,
-+      88,    89,    90,    91,    92,    93,    94,    -1,    96,    97,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,    -1,
-       -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
--      -1,   119,    -1,    -1,   122,    -1,    -1,   125,    -1,   127,
-+      -1,   119,    -1,    -1,   122,    -1,   124,   125,    -1,   127,
-+      -1,     3,   130,     5,     6,     7,     8,     9,    10,    11,
-+      -1,    13,    14,    15,    16,    -1,    -1,    -1,    20,    21,
-+      22,    -1,    24,    25,    26,    -1,    28,    29,    30,    -1,
-+      32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,   167,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,    -1,   999,    -1,    -1,   989,
--      -1,    11,    12,    -1,    -1,    -1,  1009,    -1,    -1,    -1,
--      -1,    -1,    -1,    23,    -1,    -1,  1019,    27,    -1,    -1,
--      -1,    -1,    32,    33,    34,    -1,  1029,    -1,    38,    39,
--      40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
--      50,    51,    52,    53,    -1,    -1,    -1,    -1,    -1,    59,
--      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
--      70,    -1,    72,    73,    74,    75,    76,    77,    78,    79,
--      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
--      90,    91,    92,    93,    94,    -1,    96,    97,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,   105,   106,    -1,    -1,   109,
--     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
--      11,    12,   122,    -1,   124,   125,    -1,   127,    -1,    -1,
--     130,    -1,    23,    -1,    -1,    -1,    27,    -1,    -1,    -1,
--      -1,    32,    33,    34,    -1,    -1,    -1,    38,    39,    40,
--      41,    42,    43,    44,    45,    46,    -1,   157,    -1,    50,
--      51,    52,    53,    -1,    -1,    -1,   166,    -1,    59,    -1,
--      -1,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
--      -1,    72,    73,    74,    75,    76,    77,    78,    79,    80,
--      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
--      91,    92,    93,    94,    -1,    96,    97,    -1,    -1,    -1,
--      -1,    -1,    -1,    -1,   105,   106,    -1,    -1,   109,   110,
--      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
--      -1,   122,    -1,   124,   125,    -1,   127,    -1,     3,   130,
--       5,     6,     7,     8,     9,    10,    11,    -1,    13,    14,
--      15,    16,    -1,    -1,    -1,    20,    21,    22,    -1,    24,
--      25,    26,    -1,    28,    29,    30,    -1,    32,    33,    34,
--      -1,    -1,    -1,    -1,    -1,   166,    -1,    -1,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
--      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
--      65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
--      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
--      85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
--      34,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
--     105,   106,    -1,    -1,   109,   110,   111,   112,   113,   114,
--      -1,    -1,    -1,    -1,   119,    -1,    -1,   122,    -1,    -1,
--     125,    65,   127,   128,   129,    -1,   131,    -1,    -1,    73,
-+      -1,    -1,    54,    55,    56,    57,    58,    59,    60,    61,
-+      62,    63,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-+      82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
-+      92,    93,    94,    34,    96,    -1,    -1,    -1,    -1,    -1,
-+      -1,    -1,    -1,   105,   106,    -1,    -1,   109,   110,   111,
-+     112,   113,   114,    -1,    -1,    -1,    -1,   119,    -1,    -1,
-+     122,    -1,    -1,   125,    65,   127,   128,   129,    -1,   131,
-+      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
-+      81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
-+      34,    92,    93,    94,    -1,    96,    -1,    98,    99,   100,
-+     101,   102,   103,   104,   105,   106,    -1,    -1,    -1,    -1,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-+     121,    65,    -1,    -1,    -1,    -1,   127,    -1,    -1,    73,
-       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
--      84,    85,    86,    87,    88,    89,    -1,    34,    92,    93,
--      94,    -1,    96,    -1,    98,    99,   100,   101,   102,   103,
--     104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,    -1,    -1,   121,    65,    -1,
-+      84,    85,    86,    87,    88,    89,    90,    34,    92,    93,
-+      94,    -1,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    65,    -1,
-       -1,    -1,    -1,   127,    -1,    -1,    73,    74,    75,    76,
-       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-       87,    88,    89,    90,    34,    92,    93,    94,    -1,    96,
--      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,   119,    -1,    -1,    65,    -1,    -1,    -1,    -1,
-      127,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
-       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
--      90,    34,    92,    93,    94,    -1,    96,    -1,    -1,    -1,
-+      34,    -1,    92,    93,    94,    -1,    96,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,   105,   106,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
--      -1,    -1,    65,    -1,    -1,    -1,    -1,   127,    -1,    -1,
--      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
--      83,    84,    85,    86,    87,    88,    89,    34,    -1,    92,
--      93,    94,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
--      -1,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    65,    -1,
--      -1,    -1,    -1,    -1,   127,    -1,    73,    74,    75,    76,
--      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
--      87,    88,    89,    -1,    -1,    92,    93,    94,    -1,    -1,
--      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
--      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-+      -1,    65,    -1,    -1,    -1,    -1,    34,   127,    -1,    73,
-+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-+      84,    85,    86,    87,    88,    89,    -1,    -1,    92,    93,
-+      94,    -1,    96,    -1,    -1,    -1,    -1,    65,    -1,    -1,
-+      -1,   105,   106,    -1,    -1,    73,    74,    75,    76,    77,
-+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-+      88,    89,    -1,   127,    92,    93,    94,    -1,    -1,    -1,
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
--     127
-+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   127
- };
- 
--/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
--   symbol of state STATE-NUM.  */
--static const yytype_uint16 yystos[] =
-+/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
-+   state STATE-NUM.  */
-+static const yytype_int16 yystos[] =
- {
--       0,   175,   176,   177,     0,   176,     3,     5,     6,     7,
-+       0,   176,   177,   178,     0,   177,     3,     5,     6,     7,
-        8,     9,    10,    11,    13,    14,    15,    16,    20,    21,
-       22,    24,    25,    26,    28,    29,    30,    32,    33,    34,
-       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-       64,    65,    73,    74,    75,    76,    77,    78,    79,    80,
-       81,    82,    83,    84,    85,    86,    87,    88,    89,    91,
-       92,    93,    94,    96,   105,   106,   109,   110,   111,   112,
--     113,   114,   119,   122,   125,   127,   128,   129,   131,   178,
--     179,   180,   184,   188,   192,   196,   200,   204,   210,   212,
--     218,   222,   226,   230,   234,   238,   239,   243,   247,   251,
--     255,   262,   269,   279,   283,   284,   291,   292,   293,   294,
--     306,   308,   309,   310,   311,   312,   313,   314,   315,   317,
--     318,   328,   332,   335,   351,   352,   353,   357,   358,   361,
--     363,   364,   393,   417,   421,   425,    34,   152,   201,    36,
--     152,   181,    36,   152,   185,    36,   152,   189,    34,   152,
--     193,    34,   152,   197,    31,   333,   334,   333,   333,   333,
--      34,   152,   329,    35,   333,   333,   333,   333,   333,   333,
--     333,   333,    65,   425,   152,    35,   152,   280,    35,    35,
--     152,   285,   333,   333,   333,    34,    35,   152,   270,   277,
--     277,   152,   256,   277,   152,   263,   277,   351,   351,    76,
--      64,    65,   337,    79,    74,    75,    76,    79,   352,   425,
--     421,    34,   231,   223,    34,   152,   227,    36,   152,   240,
--     421,   351,   167,   152,   244,   277,   152,   248,   277,   152,
--     252,   351,   167,    94,    30,   362,    34,   119,   424,   107,
--     138,   151,   202,   203,   138,   182,   183,   138,   186,   187,
--     138,   190,   191,   138,   194,   195,   138,   198,   199,   333,
--      31,    33,   134,   140,   330,   331,   333,    35,   338,   351,
--     163,   398,   235,   138,   139,   281,   282,   138,   286,   287,
--     135,   136,   138,   146,   147,   148,   149,   150,   151,   272,
--     273,   156,   274,   271,   107,   278,   138,   257,   258,   156,
--     259,   138,   264,   265,   156,   266,   365,   359,    34,   339,
--      76,   424,    34,   152,   219,   156,   156,   138,   228,   229,
--     137,   143,   144,   145,   241,   242,   398,   152,   152,   205,
--     421,   426,   138,   245,   246,   138,   249,   250,   138,   253,
--     254,   426,   353,   425,   364,   152,   398,   152,   155,   159,
--     160,   161,   162,   163,   164,   165,   166,   167,   168,   170,
--     172,   173,   394,   162,   164,   423,   155,   155,   153,   154,
--     155,   153,   154,   155,   153,   154,   155,   153,   154,   155,
--     153,   154,   155,   153,   154,   155,   155,   153,   154,   333,
--      34,   399,   400,   211,    34,   159,   236,   237,   339,   155,
--     155,   153,   154,   155,   153,   154,   155,   155,   155,   155,
--     155,   155,   155,   155,   155,   153,   154,     4,    12,   234,
--     238,   275,   276,   319,   323,   278,   155,   153,   154,   234,
--     238,   260,   261,   323,   155,   153,   154,   234,   238,   267,
--     268,   323,   169,   367,   367,   398,   423,   398,   162,   156,
--     220,    34,   232,   233,    34,   224,   225,   155,   153,   154,
--     155,   155,   155,   155,   153,   154,    98,    99,   100,   101,
--     102,   103,   104,   121,   406,   407,   408,   421,   422,   351,
--     398,   154,   168,   155,   153,   154,   155,   153,   154,   155,
--     153,   154,   168,   398,   406,   156,   418,   153,   152,   155,
--     155,   155,   155,   155,   155,   155,   155,   155,   167,   155,
--     168,   171,   155,   155,   152,    96,    34,    36,   381,   107,
--     203,    36,   183,    36,   187,    36,   191,    34,   195,    34,
--     199,    34,   107,   331,   155,   154,   163,   156,   214,    34,
--      95,   153,   160,    35,   116,   117,   354,   282,    35,   287,
--      36,    36,   277,   354,   354,   354,   354,    34,   107,   273,
--     152,   320,    36,   152,   324,   157,   276,   277,   258,   157,
--     261,   277,   265,   157,   268,    66,    67,    68,   368,   369,
--     370,   398,   398,   336,   158,    34,   179,   221,   363,   158,
--     157,   233,   157,   225,   381,   229,    36,    36,    36,    36,
--     242,   339,   339,   339,   339,   339,   152,   152,   339,   153,
--     154,   339,   155,   345,   153,   156,   206,   421,   277,   246,
--     277,   250,   351,   254,   213,   153,    17,    18,    19,   234,
--     238,   419,   420,   158,   421,   155,   155,   406,    34,    36,
--     107,   277,   401,   400,    27,    50,    51,    52,    97,   215,
--     216,   217,   234,   238,   294,   303,   307,   335,    34,   159,
--     339,   141,   321,   322,   132,   143,   325,   326,   333,   158,
--     158,   158,   154,   351,   366,   360,   156,   323,   327,   153,
--     157,   179,   398,   398,   398,   398,   398,   406,   406,   398,
--      96,   395,   408,   398,   152,   346,   349,   350,   123,   207,
--     208,   209,   234,   238,   294,   214,   395,   333,   333,   333,
--     157,   420,    17,   288,   153,   153,   169,   333,   333,   333,
--     333,   421,   157,   216,    34,   155,   153,   154,   155,   155,
--     153,   154,   369,   156,   371,   371,    34,   234,   238,   340,
--     341,   342,   152,   345,   345,   345,   153,   153,   126,   396,
--     351,   160,   161,   162,   163,   164,   165,   347,   159,   160,
--     161,   162,   164,   166,   348,   333,   157,   208,   396,   333,
--      18,   289,   158,   395,   278,    34,   158,    36,   322,    36,
--      36,   326,    11,    23,    34,    38,    39,    40,    41,    42,
--      43,    44,    45,    46,    51,    52,    53,    66,    67,    68,
--      69,    70,    72,    90,    97,   124,   130,   166,   204,   218,
--     234,   238,   294,   295,   296,   297,   298,   299,   300,   301,
--     302,   303,   304,   305,   307,   316,   323,   335,   357,   358,
--     361,   364,   372,   373,   374,   383,   385,   386,   388,   393,
--     409,   412,   414,   415,   417,   158,   158,   155,   344,   157,
--     342,   426,   339,   339,   120,   427,   153,   349,    36,   107,
--     108,   115,   118,   156,   351,   354,   355,   425,   158,   427,
--     333,    19,   290,   396,   160,   152,   333,   333,   152,   333,
--     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
--     333,    71,   382,   382,   382,   169,   410,   411,   384,   416,
--     413,   387,   152,   375,    34,   157,   373,   349,   398,   158,
--     153,   398,   398,   152,   155,   397,   157,   152,   397,   333,
--     427,   278,   406,   406,   169,   169,   169,    90,   412,   412,
--     385,   393,   421,   414,    34,   388,   133,   138,   142,   376,
--     377,   156,   378,   152,   154,   343,   398,   351,   428,   107,
--     398,   346,   356,   398,   397,   153,   153,    34,   155,   155,
--     155,   153,   154,   234,   238,   323,   379,   380,   153,   158,
--     153,   154,   170,   391,   153,   154,   391,   398,   395,   427,
--      34,   381,    34,   377,   157,   380,   427,   327,   351,   392,
--     158,   346,   158,   391,   427,   398,   158,   397,   421,    49,
--     404,   327,   158,   398,   170,   389,   398,   152,   333,    48,
--     403,   404,   404,   391,   390,   158,   158,   406,   333,    37,
--     405,   403,   403,   158,   152,   327,   404,   153,   333,    47,
--     402,   405,   405,   327,   406,   404,   403,   171,   333,   402,
--     402,   404,   153,   403,   405,   403,   171
-+     113,   114,   119,   122,   125,   127,   128,   129,   131,   179,
-+     180,   181,   185,   189,   193,   197,   201,   205,   211,   213,
-+     219,   223,   227,   231,   235,   239,   240,   244,   248,   252,
-+     256,   263,   270,   280,   284,   285,   292,   293,   294,   295,
-+     307,   309,   310,   311,   312,   313,   314,   315,   316,   318,
-+     319,   329,   333,   336,   352,   353,   354,   358,   359,   362,
-+     364,   365,   394,   418,   422,   426,    34,   153,   202,    36,
-+     153,   182,    36,   153,   186,    36,   153,   190,    34,   153,
-+     194,    34,   153,   198,    31,   334,   335,   334,   334,   334,
-+      34,   153,   330,    35,   334,   334,   334,   334,   334,   334,
-+     334,   334,    65,   426,   153,    35,   153,   281,    35,    35,
-+     153,   286,   334,   334,   334,    34,    35,   153,   271,   278,
-+     278,   153,   257,   278,   153,   264,   278,   352,   352,    76,
-+      64,    65,   338,    79,    74,    75,    76,    79,   353,   426,
-+     422,    34,   232,   224,    34,   153,   228,    36,   153,   241,
-+     422,   352,   168,   153,   245,   278,   153,   249,   278,   153,
-+     253,   352,   168,    94,    30,   363,    34,   119,   425,   107,
-+     138,   152,   203,   204,   138,   183,   184,   138,   187,   188,
-+     138,   191,   192,   138,   195,   196,   138,   199,   200,   334,
-+      31,    33,   134,   140,   331,   332,   334,    35,   339,   352,
-+     164,   399,   236,   138,   139,   282,   283,   138,   287,   288,
-+     135,   136,   138,   146,   147,   148,   149,   150,   151,   152,
-+     273,   274,   157,   275,   272,   107,   279,   138,   258,   259,
-+     157,   260,   138,   265,   266,   157,   267,   366,   360,    34,
-+     340,    76,   425,    34,   153,   220,   157,   157,   138,   229,
-+     230,   137,   143,   144,   145,   242,   243,   399,   153,   153,
-+     206,   422,   427,   138,   246,   247,   138,   250,   251,   138,
-+     254,   255,   427,   354,   426,   365,   153,   399,   153,   156,
-+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-+     171,   173,   174,   395,   163,   165,   424,   156,   156,   154,
-+     155,   156,   154,   155,   156,   154,   155,   156,   154,   155,
-+     156,   154,   155,   156,   154,   155,   156,   156,   154,   155,
-+     334,    34,   400,   401,   212,    34,   160,   237,   238,   340,
-+     156,   156,   154,   155,   156,   154,   155,   156,   156,   156,
-+     156,   156,   156,   156,   156,   156,   156,   154,   155,     4,
-+      12,   235,   239,   276,   277,   320,   324,   279,   156,   154,
-+     155,   235,   239,   261,   262,   324,   156,   154,   155,   235,
-+     239,   268,   269,   324,   170,   368,   368,   399,   424,   399,
-+     163,   157,   221,    34,   233,   234,    34,   225,   226,   156,
-+     154,   155,   156,   156,   156,   156,   154,   155,    98,    99,
-+     100,   101,   102,   103,   104,   121,   407,   408,   409,   422,
-+     423,   352,   399,   155,   169,   156,   154,   155,   156,   154,
-+     155,   156,   154,   155,   169,   399,   407,   157,   419,   154,
-+     153,   156,   156,   156,   156,   156,   156,   156,   156,   156,
-+     168,   156,   169,   172,   156,   156,   153,    96,    34,    36,
-+     382,   107,   204,    36,   184,    36,   188,    36,   192,    34,
-+     196,    34,   200,    34,   107,   332,   156,   155,   164,   157,
-+     215,    34,    95,   154,   161,    35,   116,   117,   355,   283,
-+      35,   288,    36,    36,   278,   355,   355,   355,   355,   355,
-+      34,   107,   274,   153,   321,    36,   153,   325,   158,   277,
-+     278,   259,   158,   262,   278,   266,   158,   269,    66,    67,
-+      68,   369,   370,   371,   399,   399,   337,   159,    34,   180,
-+     222,   364,   159,   158,   234,   158,   226,   382,   230,    36,
-+      36,    36,    36,   243,   340,   340,   340,   340,   340,   153,
-+     153,   340,   154,   155,   340,   156,   346,   154,   157,   207,
-+     422,   278,   247,   278,   251,   352,   255,   214,   154,    17,
-+      18,    19,   235,   239,   420,   421,   159,   422,   156,   156,
-+     407,    34,    36,   107,   278,   402,   401,    27,    50,    51,
-+      52,    97,   216,   217,   218,   235,   239,   295,   304,   308,
-+     336,    34,   160,   340,   141,   322,   323,   132,   143,   326,
-+     327,   334,   159,   159,   159,   155,   352,   367,   361,   157,
-+     324,   328,   154,   158,   180,   399,   399,   399,   399,   399,
-+     407,   407,   399,    96,   396,   409,   399,   153,   347,   350,
-+     351,   123,   208,   209,   210,   235,   239,   295,   215,   396,
-+     334,   334,   334,   158,   421,    17,   289,   154,   154,   170,
-+     334,   334,   334,   334,   422,   158,   217,    34,   156,   154,
-+     155,   156,   156,   154,   155,   370,   157,   372,   372,    34,
-+     235,   239,   341,   342,   343,   153,   346,   346,   346,   154,
-+     154,   126,   397,   352,   161,   162,   163,   164,   165,   166,
-+     348,   160,   161,   162,   163,   165,   167,   349,   334,   158,
-+     209,   397,   334,    18,   290,   159,   396,   279,    34,   159,
-+      36,   323,    36,    36,   327,    11,    23,    34,    38,    39,
-+      40,    41,    42,    43,    44,    45,    46,    51,    52,    53,
-+      66,    67,    68,    69,    70,    72,    90,    97,   124,   130,
-+     167,   205,   219,   235,   239,   295,   296,   297,   298,   299,
-+     300,   301,   302,   303,   304,   305,   306,   308,   317,   324,
-+     336,   358,   359,   362,   365,   373,   374,   375,   384,   386,
-+     387,   389,   394,   410,   413,   415,   416,   418,   159,   159,
-+     156,   345,   158,   343,   427,   340,   340,   120,   428,   154,
-+     350,    36,   107,   108,   115,   118,   157,   352,   355,   356,
-+     426,   159,   428,   334,    19,   291,   397,   161,   153,   334,
-+     334,   153,   334,   334,   334,   334,   334,   334,   334,   334,
-+     334,   334,   334,   334,    71,   383,   383,   383,   170,   411,
-+     412,   385,   417,   414,   388,   153,   376,    34,   158,   374,
-+     350,   399,   159,   154,   399,   399,   153,   156,   398,   158,
-+     153,   398,   334,   428,   279,   407,   407,   170,   170,   170,
-+      90,   413,   413,   386,   394,   422,   415,    34,   389,   133,
-+     138,   142,   377,   378,   157,   379,   153,   155,   344,   399,
-+     352,   429,   107,   399,   347,   357,   399,   398,   154,   154,
-+      34,   156,   156,   156,   154,   155,   235,   239,   324,   380,
-+     381,   154,   159,   154,   155,   171,   392,   154,   155,   392,
-+     399,   396,   428,    34,   382,    34,   378,   158,   381,   428,
-+     328,   352,   393,   159,   347,   159,   392,   428,   399,   159,
-+     398,   422,    49,   405,   328,   159,   399,   171,   390,   399,
-+     153,   334,    48,   404,   405,   405,   392,   391,   159,   159,
-+     407,   334,    37,   406,   404,   404,   159,   153,   328,   405,
-+     154,   334,    47,   403,   406,   406,   328,   407,   405,   404,
-+     172,   334,   403,   403,   405,   154,   404,   406,   404,   172
- };
- 
--#define yyerrok		(yyerrstatus = 0)
--#define yyclearin	(yychar = YYEMPTY)
--#define YYEMPTY		(-2)
--#define YYEOF		0
--
--#define YYACCEPT	goto yyacceptlab
--#define YYABORT		goto yyabortlab
--#define YYERROR		goto yyerrorlab
--
-+/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
-+static const yytype_int16 yyr1[] =
-+{
-+       0,   175,   176,   176,   178,   177,   179,   179,   179,   179,
-+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-+     179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
-+     179,   179,   179,   179,   180,   180,   180,   180,   180,   180,
-+     180,   180,   180,   180,   180,   180,   181,   182,   182,   183,
-+     183,   184,   185,   186,   186,   187,   187,   188,   189,   190,
-+     190,   191,   191,   192,   193,   194,   194,   195,   195,   196,
-+     197,   198,   198,   199,   199,   200,   201,   202,   202,   203,
-+     203,   204,   204,   205,   206,   206,   207,   208,   208,   209,
-+     209,   209,   209,   210,   212,   211,   214,   213,   215,   216,
-+     216,   217,   217,   217,   217,   217,   217,   217,   217,   217,
-+     218,   220,   219,   221,   221,   222,   222,   224,   223,   225,
-+     225,   226,   227,   228,   228,   229,   229,   230,   232,   231,
-+     233,   233,   234,   236,   235,   237,   237,   237,   237,   238,
-+     238,   239,   240,   241,   241,   241,   242,   242,   243,   243,
-+     243,   243,   244,   245,   245,   246,   246,   247,   248,   249,
-+     249,   250,   250,   251,   252,   253,   253,   254,   254,   255,
-+     256,   257,   257,   258,   258,   259,   260,   260,   261,   261,
-+     262,   262,   262,   263,   264,   264,   265,   265,   266,   267,
-+     267,   268,   268,   269,   269,   269,   270,   270,   272,   271,
-+     271,   273,   273,   274,   274,   274,   274,   274,   274,   274,
-+     274,   274,   274,   275,   275,   276,   276,   277,   277,   277,
-+     277,   278,   278,   279,   279,   280,   281,   281,   282,   282,
-+     283,   283,   284,   285,   286,   286,   287,   287,   288,   289,
-+     289,   290,   290,   291,   291,   292,   293,   294,   295,   296,
-+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
-+     317,   318,   319,   320,   321,   322,   322,   323,   324,   325,
-+     325,   325,   326,   326,   327,   327,   328,   328,   329,   330,
-+     330,   331,   331,   332,   332,   333,   334,   335,   335,   337,
-+     336,   338,   338,   338,   339,   339,   340,   340,   341,   341,
-+     342,   342,   343,   343,   343,   344,   344,   345,   345,   346,
-+     346,   347,   347,   348,   348,   348,   348,   348,   348,   349,
-+     349,   349,   349,   349,   349,   349,   350,   351,   351,   352,
-+     352,   353,   353,   354,   355,   355,   356,   356,   356,   356,
-+     356,   356,   356,   356,   356,   357,   357,   357,   358,   358,
-+     360,   361,   359,   363,   362,   364,   366,   367,   365,   368,
-+     368,   369,   369,   370,   371,   371,   371,   371,   372,   372,
-+     373,   373,   373,   374,   374,   374,   374,   374,   374,   374,
-+     374,   374,   374,   374,   374,   374,   374,   374,   374,   374,
-+     374,   374,   374,   374,   374,   374,   374,   374,   374,   374,
-+     374,   374,   374,   374,   374,   374,   374,   374,   375,   376,
-+     377,   377,   378,   378,   378,   379,   379,   380,   380,   381,
-+     381,   381,   382,   382,   383,   383,   385,   384,   384,   386,
-+     388,   387,   387,   389,   390,   391,   390,   392,   393,   392,
-+     394,   394,   394,   394,   395,   395,   395,   395,   395,   395,
-+     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
-+     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
-+     395,   395,   395,   396,   396,   397,   397,   398,   398,   399,
-+     399,   400,   400,   401,   401,   402,   402,   402,   402,   403,
-+     403,   404,   404,   405,   405,   406,   406,   407,   408,   408,
-+     408,   409,   409,   409,   409,   409,   409,   409,   409,   409,
-+     411,   410,   412,   410,   410,   414,   413,   413,   415,   415,
-+     417,   416,   416,   418,   419,   419,   420,   420,   421,   421,
-+     421,   421,   421,   422,   422,   423,   424,   424,   425,   425,
-+     425,   426,   426,   426,   426,   426,   426,   426,   426,   426,
-+     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
-+     426,   426,   426,   426,   426,   426,   426,   426,   426,   426,
-+     426,   426,   427,   427,   428,   428,   429,   429,   429
-+};
- 
--/* Like YYERROR except do call yyerror.  This remains here temporarily
--   to ease the transition to the new meaning of YYERROR, for GCC.
--   Once GCC version 2 has supplanted version 1, this can go.  */
-+/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
-+static const yytype_int8 yyr2[] =
-+{
-+       0,     2,     1,     2,     0,     2,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     2,     1,     3,     1,
-+       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
-+       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
-+       3,     1,     3,     1,     3,     3,     2,     2,     3,     1,
-+       3,     3,     3,     5,     0,     3,     4,     1,     2,     1,
-+       1,     1,     1,     2,     0,     5,     0,     6,     4,     1,
-+       2,     1,     1,     1,     1,     2,     2,     1,     1,     1,
-+      14,     0,     5,     0,     3,     1,     2,     0,     5,     1,
-+       2,     1,     2,     1,     3,     1,     3,     3,     0,     5,
-+       1,     2,     1,     0,     5,     1,     2,     3,     4,     1,
-+       3,     1,     3,     0,     1,     3,     1,     3,     3,     3,
-+       3,     3,     2,     1,     3,     1,     3,     3,     2,     1,
-+       3,     1,     3,     3,     2,     1,     3,     1,     3,     3,
-+       3,     1,     3,     1,     3,     3,     0,     4,     1,     2,
-+       1,     1,     1,     3,     1,     3,     1,     3,     3,     0,
-+       4,     1,     2,     1,     1,     1,     3,     3,     0,     3,
-+       3,     1,     3,     3,     3,     3,     3,     3,     3,     3,
-+       3,     3,     3,     0,     4,     1,     2,     1,     1,     1,
-+       1,     1,     1,     0,     1,     2,     1,     3,     1,     3,
-+       3,     3,     2,     2,     1,     3,     1,     3,     3,     0,
-+       2,     0,     2,     0,     2,     2,     2,     2,     2,     2,
-+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-+       2,     2,     2,     2,     3,     1,     3,     3,     3,     0,
-+       1,     3,     1,     3,     3,     3,     0,     1,     3,     1,
-+       3,     1,     3,     3,     3,     4,     2,     1,     2,     0,
-+       9,     0,     1,     1,     0,     1,     0,     1,     0,     1,
-+       1,     2,     1,     1,     4,     0,     1,     0,     2,     0,
-+       2,     1,     3,     1,     1,     1,     1,     1,     1,     0,
-+       1,     1,     1,     1,     1,     1,     3,     0,     3,     2,
-+       1,     1,     3,     1,     1,     1,     1,     4,     2,     1,
-+       1,     1,     1,     1,     1,     0,     1,     3,     6,    12,
-+       0,     0,     8,     0,     3,     4,     0,     0,     8,     0,
-+       2,     1,     3,     2,     0,     1,     1,     1,     0,     3,
-+       0,     1,     2,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     2,     2,     2,     3,     3,     3,     2,     3,     3,
-+       1,     3,     3,     3,     3,     0,     4,     1,     2,     1,
-+       1,     1,     1,     1,     0,     1,     0,     3,     1,    11,
-+       0,     3,     1,    11,     0,     0,     6,     0,     0,     7,
-+      17,     7,    17,    16,     1,     1,     1,     1,     1,     1,
-+       1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
-+       2,     2,     3,     3,     1,     2,     2,     1,     2,     2,
-+       2,     1,     2,     0,     1,     0,     1,     0,     2,     0,
-+       3,     1,     3,     1,     3,     1,     5,     1,     1,     0,
-+       2,     0,     2,     0,     2,     0,     2,     1,     0,     1,
-+       3,     4,     4,     4,     3,     3,     6,     6,     3,     2,
-+       0,     3,     0,     3,     1,     0,     3,     1,     1,     1,
-+       0,     3,     1,     8,     0,     3,     1,     2,     1,     1,
-+       2,     2,     2,     4,     3,     3,     0,     1,     0,     3,
-+       2,     1,     4,     2,     2,     1,     1,     2,     1,     1,
-+       2,     2,     3,     1,     1,     1,     2,     2,     1,     1,
-+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-+       1,     1,     1,     3,     0,     4,     0,     1,     3
-+};
- 
--#define YYFAIL		goto yyerrlab
- 
--#define YYRECOVERING()  (!!yyerrstatus)
-+enum { YYENOMEM = -2 };
- 
--#define YYBACKUP(Token, Value)					\
--do								\
--  if (yychar == YYEMPTY && yylen == 1)				\
--    {								\
--      yychar = (Token);						\
--      yylval = (Value);						\
--      yytoken = YYTRANSLATE (yychar);				\
--      YYPOPSTACK (1);						\
--      goto yybackup;						\
--    }								\
--  else								\
--    {								\
--      yyerror (YY_("syntax error: cannot back up")); \
--      YYERROR;							\
--    }								\
--while (YYID (0))
--
--
--#define YYTERROR	1
--#define YYERRCODE	256
--
--
--/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
--   If N is 0, then set CURRENT to the empty location which ends
--   the previous symbol: RHS[0] (always defined).  */
--
--#define YYRHSLOC(Rhs, K) ((Rhs)[K])
--#ifndef YYLLOC_DEFAULT
--# define YYLLOC_DEFAULT(Current, Rhs, N)				\
--    do									\
--      if (YYID (N))                                                    \
--	{								\
--	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
--	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
--	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
--	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
--	}								\
--      else								\
--	{								\
--	  (Current).first_line   = (Current).last_line   =		\
--	    YYRHSLOC (Rhs, 0).last_line;				\
--	  (Current).first_column = (Current).last_column =		\
--	    YYRHSLOC (Rhs, 0).last_column;				\
--	}								\
--    while (YYID (0))
--#endif
-+#define yyerrok         (yyerrstatus = 0)
-+#define yyclearin       (yychar = YYEMPTY)
- 
-+#define YYACCEPT        goto yyacceptlab
-+#define YYABORT         goto yyabortlab
-+#define YYERROR         goto yyerrorlab
-+#define YYNOMEM         goto yyexhaustedlab
- 
--/* YY_LOCATION_PRINT -- Print the location on the stream.
--   This macro was not mandated originally: define only if we know
--   we won't break user code: when these are the locations we know.  */
--
--#ifndef YY_LOCATION_PRINT
--# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
--#  define YY_LOCATION_PRINT(File, Loc)			\
--     fprintf (File, "%d.%d-%d.%d",			\
--	      (Loc).first_line, (Loc).first_column,	\
--	      (Loc).last_line,  (Loc).last_column)
--# else
--#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
--# endif
--#endif
- 
-+#define YYRECOVERING()  (!!yyerrstatus)
- 
--/* YYLEX -- calling `yylex' with the right arguments.  */
-+#define YYBACKUP(Token, Value)                                    \
-+  do                                                              \
-+    if (yychar == YYEMPTY)                                        \
-+      {                                                           \
-+        yychar = (Token);                                         \
-+        yylval = (Value);                                         \
-+        YYPOPSTACK (yylen);                                       \
-+        yystate = *yyssp;                                         \
-+        goto yybackup;                                            \
-+      }                                                           \
-+    else                                                          \
-+      {                                                           \
-+        yyerror (YY_("syntax error: cannot back up")); \
-+        YYERROR;                                                  \
-+      }                                                           \
-+  while (0)
-+
-+/* Backward compatibility with an undocumented macro.
-+   Use YYerror or YYUNDEF. */
-+#define YYERRCODE YYUNDEF
- 
--#ifdef YYLEX_PARAM
--# define YYLEX yylex (YYLEX_PARAM)
--#else
--# define YYLEX yylex ()
--#endif
- 
- /* Enable debugging if requested.  */
- #if YYDEBUG
-@@ -2321,80 +2213,58 @@ while (YYID (0))
- #  define YYFPRINTF fprintf
- # endif
- 
--# define YYDPRINTF(Args)			\
--do {						\
--  if (yydebug)					\
--    YYFPRINTF Args;				\
--} while (YYID (0))
--
--# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
--do {									  \
--  if (yydebug)								  \
--    {									  \
--      YYFPRINTF (stderr, "%s ", Title);					  \
--      yy_symbol_print (stderr,						  \
--		  Type, Value); \
--      YYFPRINTF (stderr, "\n");						  \
--    }									  \
--} while (YYID (0))
--
--
--/*--------------------------------.
--| Print this symbol on YYOUTPUT.  |
--`--------------------------------*/
--
--/*ARGSUSED*/
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static void
--yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
--#else
-+# define YYDPRINTF(Args)                        \
-+do {                                            \
-+  if (yydebug)                                  \
-+    YYFPRINTF Args;                             \
-+} while (0)
-+
-+
-+
-+
-+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
-+do {                                                                      \
-+  if (yydebug)                                                            \
-+    {                                                                     \
-+      YYFPRINTF (stderr, "%s ", Title);                                   \
-+      yy_symbol_print (stderr,                                            \
-+                  Kind, Value); \
-+      YYFPRINTF (stderr, "\n");                                           \
-+    }                                                                     \
-+} while (0)
-+
-+
-+/*-----------------------------------.
-+| Print this symbol's value on YYO.  |
-+`-----------------------------------*/
-+
- static void
--yy_symbol_value_print (yyoutput, yytype, yyvaluep)
--    FILE *yyoutput;
--    int yytype;
--    YYSTYPE const * const yyvaluep;
--#endif
-+yy_symbol_value_print (FILE *yyo,
-+                       yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
- {
-+  FILE *yyoutput = yyo;
-+  YY_USE (yyoutput);
-   if (!yyvaluep)
-     return;
--# ifdef YYPRINT
--  if (yytype < YYNTOKENS)
--    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
--# else
--  YYUSE (yyoutput);
--# endif
--  switch (yytype)
--    {
--      default:
--	break;
--    }
-+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-+  YY_USE (yykind);
-+  YY_IGNORE_MAYBE_UNINITIALIZED_END
- }
- 
- 
--/*--------------------------------.
--| Print this symbol on YYOUTPUT.  |
--`--------------------------------*/
-+/*---------------------------.
-+| Print this symbol on YYO.  |
-+`---------------------------*/
- 
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static void
--yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
--#else
- static void
--yy_symbol_print (yyoutput, yytype, yyvaluep)
--    FILE *yyoutput;
--    int yytype;
--    YYSTYPE const * const yyvaluep;
--#endif
-+yy_symbol_print (FILE *yyo,
-+                 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
- {
--  if (yytype < YYNTOKENS)
--    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
--  else
--    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-+  YYFPRINTF (yyo, "%s %s (",
-+             yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
- 
--  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
--  YYFPRINTF (yyoutput, ")");
-+  yy_symbol_value_print (yyo, yykind, yyvaluep);
-+  YYFPRINTF (yyo, ")");
- }
- 
- /*------------------------------------------------------------------.
-@@ -2402,80 +2272,68 @@ yy_symbol_print (yyoutput, yytype, yyval
- | TOP (included).                                                   |
- `------------------------------------------------------------------*/
- 
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static void
--yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
--#else
- static void
--yy_stack_print (bottom, top)
--    yytype_int16 *bottom;
--    yytype_int16 *top;
--#endif
-+yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
- {
-   YYFPRINTF (stderr, "Stack now");
--  for (; bottom <= top; ++bottom)
--    YYFPRINTF (stderr, " %d", *bottom);
-+  for (; yybottom <= yytop; yybottom++)
-+    {
-+      int yybot = *yybottom;
-+      YYFPRINTF (stderr, " %d", yybot);
-+    }
-   YYFPRINTF (stderr, "\n");
- }
- 
--# define YY_STACK_PRINT(Bottom, Top)				\
--do {								\
--  if (yydebug)							\
--    yy_stack_print ((Bottom), (Top));				\
--} while (YYID (0))
-+# define YY_STACK_PRINT(Bottom, Top)                            \
-+do {                                                            \
-+  if (yydebug)                                                  \
-+    yy_stack_print ((Bottom), (Top));                           \
-+} while (0)
- 
- 
- /*------------------------------------------------.
- | Report that the YYRULE is going to be reduced.  |
- `------------------------------------------------*/
- 
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
- static void
--yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
--#else
--static void
--yy_reduce_print (yyvsp, yyrule)
--    YYSTYPE *yyvsp;
--    int yyrule;
--#endif
-+yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
-+                 int yyrule)
- {
-+  int yylno = yyrline[yyrule];
-   int yynrhs = yyr2[yyrule];
-   int yyi;
--  unsigned long int yylno = yyrline[yyrule];
--  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
--	     yyrule - 1, yylno);
-+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
-+             yyrule - 1, yylno);
-   /* The symbols being reduced.  */
-   for (yyi = 0; yyi < yynrhs; yyi++)
-     {
--      fprintf (stderr, "   $%d = ", yyi + 1);
--      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
--		       &(yyvsp[(yyi + 1) - (yynrhs)])
--		       		       );
--      fprintf (stderr, "\n");
-+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
-+      yy_symbol_print (stderr,
-+                       YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
-+                       &yyvsp[(yyi + 1) - (yynrhs)]);
-+      YYFPRINTF (stderr, "\n");
-     }
- }
- 
--# define YY_REDUCE_PRINT(Rule)		\
--do {					\
--  if (yydebug)				\
--    yy_reduce_print (yyvsp, Rule); \
--} while (YYID (0))
-+# define YY_REDUCE_PRINT(Rule)          \
-+do {                                    \
-+  if (yydebug)                          \
-+    yy_reduce_print (yyssp, yyvsp, Rule); \
-+} while (0)
- 
- /* Nonzero means print parse trace.  It is left uninitialized so that
-    multiple parsers can coexist.  */
- int yydebug;
- #else /* !YYDEBUG */
--# define YYDPRINTF(Args)
--# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-+# define YYDPRINTF(Args) ((void) 0)
-+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
- # define YY_STACK_PRINT(Bottom, Top)
- # define YY_REDUCE_PRINT(Rule)
- #endif /* !YYDEBUG */
- 
- 
- /* YYINITDEPTH -- initial size of the parser's stacks.  */
--#ifndef	YYINITDEPTH
-+#ifndef YYINITDEPTH
- # define YYINITDEPTH 200
- #endif
- 
-@@ -2490,478 +2348,219 @@ int yydebug;
- # define YYMAXDEPTH 10000
- #endif
- 
--
- 
--#if YYERROR_VERBOSE
- 
--# ifndef yystrlen
--#  if defined __GLIBC__ && defined _STRING_H
--#   define yystrlen strlen
--#  else
--/* Return the length of YYSTR.  */
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static YYSIZE_T
--yystrlen (const char *yystr)
--#else
--static YYSIZE_T
--yystrlen (yystr)
--    const char *yystr;
--#endif
--{
--  YYSIZE_T yylen;
--  for (yylen = 0; yystr[yylen]; yylen++)
--    continue;
--  return yylen;
--}
--#  endif
--# endif
- 
--# ifndef yystpcpy
--#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
--#   define yystpcpy stpcpy
--#  else
--/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
--   YYDEST.  */
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static char *
--yystpcpy (char *yydest, const char *yysrc)
--#else
--static char *
--yystpcpy (yydest, yysrc)
--    char *yydest;
--    const char *yysrc;
--#endif
--{
--  char *yyd = yydest;
--  const char *yys = yysrc;
- 
--  while ((*yyd++ = *yys++) != '\0')
--    continue;
--
--  return yyd - 1;
--}
--#  endif
--# endif
--
--# ifndef yytnamerr
--/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
--   quotes and backslashes, so that it's suitable for yyerror.  The
--   heuristic is that double-quoting is unnecessary unless the string
--   contains an apostrophe, a comma, or backslash (other than
--   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
--   null, do not copy; instead, return the length of what the result
--   would have been.  */
--static YYSIZE_T
--yytnamerr (char *yyres, const char *yystr)
--{
--  if (*yystr == '"')
--    {
--      YYSIZE_T yyn = 0;
--      char const *yyp = yystr;
--
--      for (;;)
--	switch (*++yyp)
--	  {
--	  case '\'':
--	  case ',':
--	    goto do_not_strip_quotes;
--
--	  case '\\':
--	    if (*++yyp != '\\')
--	      goto do_not_strip_quotes;
--	    /* Fall through.  */
--	  default:
--	    if (yyres)
--	      yyres[yyn] = *yyp;
--	    yyn++;
--	    break;
--
--	  case '"':
--	    if (yyres)
--	      yyres[yyn] = '\0';
--	    return yyn;
--	  }
--    do_not_strip_quotes: ;
--    }
--
--  if (! yyres)
--    return yystrlen (yystr);
--
--  return yystpcpy (yyres, yystr) - yyres;
--}
--# endif
--
--/* Copy into YYRESULT an error message about the unexpected token
--   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
--   including the terminating null byte.  If YYRESULT is null, do not
--   copy anything; just return the number of bytes that would be
--   copied.  As a special case, return 0 if an ordinary "syntax error"
--   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
--   size calculation.  */
--static YYSIZE_T
--yysyntax_error (char *yyresult, int yystate, int yychar)
--{
--  int yyn = yypact[yystate];
--
--  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
--    return 0;
--  else
--    {
--      int yytype = YYTRANSLATE (yychar);
--      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
--      YYSIZE_T yysize = yysize0;
--      YYSIZE_T yysize1;
--      int yysize_overflow = 0;
--      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
--      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
--      int yyx;
--
--# if 0
--      /* This is so xgettext sees the translatable formats that are
--	 constructed on the fly.  */
--      YY_("syntax error, unexpected %s");
--      YY_("syntax error, unexpected %s, expecting %s");
--      YY_("syntax error, unexpected %s, expecting %s or %s");
--      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
--      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
--# endif
--      char *yyfmt;
--      char const *yyf;
--      static char const yyunexpected[] = "syntax error, unexpected %s";
--      static char const yyexpecting[] = ", expecting %s";
--      static char const yyor[] = " or %s";
--      char yyformat[sizeof yyunexpected
--		    + sizeof yyexpecting - 1
--		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
--		       * (sizeof yyor - 1))];
--      char const *yyprefix = yyexpecting;
--
--      /* Start YYX at -YYN if negative to avoid negative indexes in
--	 YYCHECK.  */
--      int yyxbegin = yyn < 0 ? -yyn : 0;
--
--      /* Stay within bounds of both yycheck and yytname.  */
--      int yychecklim = YYLAST - yyn + 1;
--      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
--      int yycount = 1;
--
--      yyarg[0] = yytname[yytype];
--      yyfmt = yystpcpy (yyformat, yyunexpected);
--
--      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
--	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
--	  {
--	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
--	      {
--		yycount = 1;
--		yysize = yysize0;
--		yyformat[sizeof yyunexpected - 1] = '\0';
--		break;
--	      }
--	    yyarg[yycount++] = yytname[yyx];
--	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
--	    yysize_overflow |= (yysize1 < yysize);
--	    yysize = yysize1;
--	    yyfmt = yystpcpy (yyfmt, yyprefix);
--	    yyprefix = yyor;
--	  }
--
--      yyf = YY_(yyformat);
--      yysize1 = yysize + yystrlen (yyf);
--      yysize_overflow |= (yysize1 < yysize);
--      yysize = yysize1;
--
--      if (yysize_overflow)
--	return YYSIZE_MAXIMUM;
--
--      if (yyresult)
--	{
--	  /* Avoid sprintf, as that infringes on the user's name space.
--	     Don't have undefined behavior even if the translation
--	     produced a string with the wrong number of "%s"s.  */
--	  char *yyp = yyresult;
--	  int yyi = 0;
--	  while ((*yyp = *yyf) != '\0')
--	    {
--	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
--		{
--		  yyp += yytnamerr (yyp, yyarg[yyi++]);
--		  yyf += 2;
--		}
--	      else
--		{
--		  yyp++;
--		  yyf++;
--		}
--	    }
--	}
--      return yysize;
--    }
--}
--#endif /* YYERROR_VERBOSE */
--
- 
- /*-----------------------------------------------.
- | Release the memory associated to this symbol.  |
- `-----------------------------------------------*/
- 
--/*ARGSUSED*/
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--static void
--yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
--#else
- static void
--yydestruct (yymsg, yytype, yyvaluep)
--    const char *yymsg;
--    int yytype;
--    YYSTYPE *yyvaluep;
--#endif
-+yydestruct (const char *yymsg,
-+            yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
- {
--  YYUSE (yyvaluep);
--
-+  YY_USE (yyvaluep);
-   if (!yymsg)
-     yymsg = "Deleting";
--  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
--
--  switch (yytype)
--    {
-+  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
- 
--      default:
--	break;
--    }
-+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-+  YY_USE (yykind);
-+  YY_IGNORE_MAYBE_UNINITIALIZED_END
- }
--
--
--/* Prevent warnings from -Wmissing-prototypes.  */
--
--#ifdef YYPARSE_PARAM
--#if defined __STDC__ || defined __cplusplus
--int yyparse (void *YYPARSE_PARAM);
--#else
--int yyparse ();
--#endif
--#else /* ! YYPARSE_PARAM */
--#if defined __STDC__ || defined __cplusplus
--int yyparse (void);
--#else
--int yyparse ();
--#endif
--#endif /* ! YYPARSE_PARAM */
--
- 
- 
--/* The look-ahead symbol.  */
-+/* Lookahead token kind.  */
- int yychar;
- 
--/* The semantic value of the look-ahead symbol.  */
-+/* The semantic value of the lookahead symbol.  */
- YYSTYPE yylval;
--
- /* Number of syntax errors so far.  */
- int yynerrs;
- 
- 
- 
-+
- /*----------.
- | yyparse.  |
- `----------*/
- 
--#ifdef YYPARSE_PARAM
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
--int
--yyparse (void *YYPARSE_PARAM)
--#else
--int
--yyparse (YYPARSE_PARAM)
--    void *YYPARSE_PARAM;
--#endif
--#else /* ! YYPARSE_PARAM */
--#if (defined __STDC__ || defined __C99__FUNC__ \
--     || defined __cplusplus || defined _MSC_VER)
- int
- yyparse (void)
--#else
--int
--yyparse ()
--
--#endif
--#endif
- {
--  
--  int yystate;
-+    yy_state_fast_t yystate = 0;
-+    /* Number of tokens to shift before error messages enabled.  */
-+    int yyerrstatus = 0;
-+
-+    /* Refer to the stacks through separate pointers, to allow yyoverflow
-+       to reallocate them elsewhere.  */
-+
-+    /* Their size.  */
-+    YYPTRDIFF_T yystacksize = YYINITDEPTH;
-+
-+    /* The state stack: array, bottom, top.  */
-+    yy_state_t yyssa[YYINITDEPTH];
-+    yy_state_t *yyss = yyssa;
-+    yy_state_t *yyssp = yyss;
-+
-+    /* The semantic value stack: array, bottom, top.  */
-+    YYSTYPE yyvsa[YYINITDEPTH];
-+    YYSTYPE *yyvs = yyvsa;
-+    YYSTYPE *yyvsp = yyvs;
-+
-   int yyn;
-+  /* The return value of yyparse.  */
-   int yyresult;
--  /* Number of tokens to shift before error messages enabled.  */
--  int yyerrstatus;
--  /* Look-ahead token as an internal (translated) token number.  */
--  int yytoken = 0;
--#if YYERROR_VERBOSE
--  /* Buffer for error messages, and its allocated size.  */
--  char yymsgbuf[128];
--  char *yymsg = yymsgbuf;
--  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
--#endif
--
--  /* Three stacks and their tools:
--     `yyss': related to states,
--     `yyvs': related to semantic values,
--     `yyls': related to locations.
--
--     Refer to the stacks thru separate pointers, to allow yyoverflow
--     to reallocate them elsewhere.  */
--
--  /* The state stack.  */
--  yytype_int16 yyssa[YYINITDEPTH];
--  yytype_int16 *yyss = yyssa;
--  yytype_int16 *yyssp;
--
--  /* The semantic value stack.  */
--  YYSTYPE yyvsa[YYINITDEPTH];
--  YYSTYPE *yyvs = yyvsa;
--  YYSTYPE *yyvsp;
--
--
--
--#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
--
--  YYSIZE_T yystacksize = YYINITDEPTH;
--
-+  /* Lookahead symbol kind.  */
-+  yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
-   /* The variables used to return semantic value and location from the
-      action routines.  */
-   YYSTYPE yyval;
- 
- 
-+
-+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
-+
-   /* The number of symbols on the RHS of the reduced rule.
-      Keep to zero when no symbol should be popped.  */
-   int yylen = 0;
- 
-   YYDPRINTF ((stderr, "Starting parse\n"));
- 
--  yystate = 0;
--  yyerrstatus = 0;
--  yynerrs = 0;
--  yychar = YYEMPTY;		/* Cause a token to be read.  */
--
--  /* Initialize stack pointers.
--     Waste one element of value and location stack
--     so that they stay on the same level as the state stack.
--     The wasted elements are never initialized.  */
--
--  yyssp = yyss;
--  yyvsp = yyvs;
-+  yychar = YYEMPTY; /* Cause a token to be read.  */
- 
-   goto yysetstate;
- 
-+
- /*------------------------------------------------------------.
--| yynewstate -- Push a new state, which is found in yystate.  |
-+| yynewstate -- push a new state, which is found in yystate.  |
- `------------------------------------------------------------*/
-- yynewstate:
-+yynewstate:
-   /* In all cases, when you get here, the value and location stacks
-      have just been pushed.  So pushing a state here evens the stacks.  */
-   yyssp++;
- 
-- yysetstate:
--  *yyssp = yystate;
-+
-+/*--------------------------------------------------------------------.
-+| yysetstate -- set current state (the top of the stack) to yystate.  |
-+`--------------------------------------------------------------------*/
-+yysetstate:
-+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-+  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
-+  YY_IGNORE_USELESS_CAST_BEGIN
-+  *yyssp = YY_CAST (yy_state_t, yystate);
-+  YY_IGNORE_USELESS_CAST_END
-+  YY_STACK_PRINT (yyss, yyssp);
- 
-   if (yyss + yystacksize - 1 <= yyssp)
-+#if !defined yyoverflow && !defined YYSTACK_RELOCATE
-+    YYNOMEM;
-+#else
-     {
-       /* Get the current used size of the three stacks, in elements.  */
--      YYSIZE_T yysize = yyssp - yyss + 1;
-+      YYPTRDIFF_T yysize = yyssp - yyss + 1;
- 
--#ifdef yyoverflow
-+# if defined yyoverflow
-       {
--	/* Give user a chance to reallocate the stack.  Use copies of
--	   these so that the &'s don't force the real ones into
--	   memory.  */
--	YYSTYPE *yyvs1 = yyvs;
--	yytype_int16 *yyss1 = yyss;
--
--
--	/* Each stack pointer address is followed by the size of the
--	   data in use in that stack, in bytes.  This used to be a
--	   conditional around just the two extra args, but that might
--	   be undefined if yyoverflow is a macro.  */
--	yyoverflow (YY_("memory exhausted"),
--		    &yyss1, yysize * sizeof (*yyssp),
--		    &yyvs1, yysize * sizeof (*yyvsp),
--
--		    &yystacksize);
--
--	yyss = yyss1;
--	yyvs = yyvs1;
-+        /* Give user a chance to reallocate the stack.  Use copies of
-+           these so that the &'s don't force the real ones into
-+           memory.  */
-+        yy_state_t *yyss1 = yyss;
-+        YYSTYPE *yyvs1 = yyvs;
-+
-+        /* Each stack pointer address is followed by the size of the
-+           data in use in that stack, in bytes.  This used to be a
-+           conditional around just the two extra args, but that might
-+           be undefined if yyoverflow is a macro.  */
-+        yyoverflow (YY_("memory exhausted"),
-+                    &yyss1, yysize * YYSIZEOF (*yyssp),
-+                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
-+                    &yystacksize);
-+        yyss = yyss1;
-+        yyvs = yyvs1;
-       }
--#else /* no yyoverflow */
--# ifndef YYSTACK_RELOCATE
--      goto yyexhaustedlab;
--# else
-+# else /* defined YYSTACK_RELOCATE */
-       /* Extend the stack our own way.  */
-       if (YYMAXDEPTH <= yystacksize)
--	goto yyexhaustedlab;
-+        YYNOMEM;
-       yystacksize *= 2;
-       if (YYMAXDEPTH < yystacksize)
--	yystacksize = YYMAXDEPTH;
-+        yystacksize = YYMAXDEPTH;
- 
-       {
--	yytype_int16 *yyss1 = yyss;
--	union yyalloc *yyptr =
--	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
--	if (! yyptr)
--	  goto yyexhaustedlab;
--	YYSTACK_RELOCATE (yyss);
--	YYSTACK_RELOCATE (yyvs);
--
-+        yy_state_t *yyss1 = yyss;
-+        union yyalloc *yyptr =
-+          YY_CAST (union yyalloc *,
-+                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
-+        if (! yyptr)
-+          YYNOMEM;
-+        YYSTACK_RELOCATE (yyss_alloc, yyss);
-+        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
- #  undef YYSTACK_RELOCATE
--	if (yyss1 != yyssa)
--	  YYSTACK_FREE (yyss1);
-+        if (yyss1 != yyssa)
-+          YYSTACK_FREE (yyss1);
-       }
- # endif
--#endif /* no yyoverflow */
- 
-       yyssp = yyss + yysize - 1;
-       yyvsp = yyvs + yysize - 1;
- 
--
--      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
--		  (unsigned long int) yystacksize));
-+      YY_IGNORE_USELESS_CAST_BEGIN
-+      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
-+                  YY_CAST (long, yystacksize)));
-+      YY_IGNORE_USELESS_CAST_END
- 
-       if (yyss + yystacksize - 1 <= yyssp)
--	YYABORT;
-+        YYABORT;
-     }
-+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
- 
--  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-+
-+  if (yystate == YYFINAL)
-+    YYACCEPT;
- 
-   goto yybackup;
- 
-+
- /*-----------.
- | yybackup.  |
- `-----------*/
- yybackup:
--
-   /* Do appropriate processing given the current state.  Read a
--     look-ahead token if we need one and don't already have one.  */
-+     lookahead token if we need one and don't already have one.  */
- 
--  /* First try to decide what to do without reference to look-ahead token.  */
-+  /* First try to decide what to do without reference to lookahead token.  */
-   yyn = yypact[yystate];
--  if (yyn == YYPACT_NINF)
-+  if (yypact_value_is_default (yyn))
-     goto yydefault;
- 
--  /* Not known => get a look-ahead token if don't already have one.  */
-+  /* Not known => get a lookahead token if don't already have one.  */
- 
--  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
-+  /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
-   if (yychar == YYEMPTY)
-     {
--      YYDPRINTF ((stderr, "Reading a token: "));
--      yychar = YYLEX;
-+      YYDPRINTF ((stderr, "Reading a token\n"));
-+      yychar = yylex ();
-     }
- 
-   if (yychar <= YYEOF)
-     {
--      yychar = yytoken = YYEOF;
-+      yychar = YYEOF;
-+      yytoken = YYSYMBOL_YYEOF;
-       YYDPRINTF ((stderr, "Now at end of input.\n"));
-     }
-+  else if (yychar == YYerror)
-+    {
-+      /* The scanner already issued an error message, process directly
-+         to error recovery.  But do not keep the error token as
-+         lookahead, it is too special and may lead us to an endless
-+         loop in error recovery. */
-+      yychar = YYUNDEF;
-+      yytoken = YYSYMBOL_YYerror;
-+      goto yyerrlab1;
-+    }
-   else
-     {
-       yytoken = YYTRANSLATE (yychar);
-@@ -2976,30 +2575,26 @@ yybackup:
-   yyn = yytable[yyn];
-   if (yyn <= 0)
-     {
--      if (yyn == 0 || yyn == YYTABLE_NINF)
--	goto yyerrlab;
-+      if (yytable_value_is_error (yyn))
-+        goto yyerrlab;
-       yyn = -yyn;
-       goto yyreduce;
-     }
- 
--  if (yyn == YYFINAL)
--    YYACCEPT;
--
-   /* Count tokens shifted since error; after three, turn off error
-      status.  */
-   if (yyerrstatus)
-     yyerrstatus--;
- 
--  /* Shift the look-ahead token.  */
-+  /* Shift the lookahead token.  */
-   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
--
--  /* Discard the shifted token unless it is eof.  */
--  if (yychar != YYEOF)
--    yychar = YYEMPTY;
--
-   yystate = yyn;
-+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-   *++yyvsp = yylval;
-+  YY_IGNORE_MAYBE_UNINITIALIZED_END
- 
-+  /* Discard the shifted token.  */
-+  yychar = YYEMPTY;
-   goto yynewstate;
- 
- 
-@@ -3014,14 +2609,14 @@ yydefault:
- 
- 
- /*-----------------------------.
--| yyreduce -- Do a reduction.  |
-+| yyreduce -- do a reduction.  |
- `-----------------------------*/
- yyreduce:
-   /* yyn is the number of a rule to reduce with.  */
-   yylen = yyr2[yyn];
- 
-   /* If YYLEN is nonzero, implement the default value of the action:
--     `$$ = $1'.
-+     '$$ = $1'.
- 
-      Otherwise, the following line sets YYVAL to garbage.
-      This behavior is undocumented and Bison
-@@ -3034,9 +2629,9 @@ yyreduce:
-   YY_REDUCE_PRINT (yyn);
-   switch (yyn)
-     {
--        case 4:
--#line 578 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 4: /* $@1: %empty  */
-+#line 579 "parser.y"
-+            {
-             /*
-              * We don't do these in parserEOF() because the parser is reading
-              * ahead and that would be too early.
-@@ -3053,11 +2648,12 @@ yyreduce:
-                 previousFile = NULL;
-             }
-     }
-+#line 2652 "../parser.c"
-     break;
- 
--  case 55:
--#line 648 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 55: /* nsstatement: typehdrcode  */
-+#line 649 "parser.y"
-+                    {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -3065,203 +2661,224 @@ yyreduce:
-                 if (scope == NULL)
-                     yyerror("%TypeHeaderCode can only be used in a namespace, class or mapped type");
- 
--                appendCodeBlock(&scope->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->iff->hdrcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 2668 "../parser.c"
-     break;
- 
--  case 56:
--#line 661 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 56: /* defdocstringfmt: TK_DEFDOCSTRFMT defdocstringfmt_args  */
-+#line 662 "parser.y"
-+                                                      {
-             if (notSkipping())
--                currentModule->defdocstringfmt = convertFormat((yyvsp[(2) - (2)].defdocstringfmt).name);
-+                currentModule->defdocstringfmt = convertFormat((yyvsp[0].defdocstringfmt).name);
-         }
-+#line 2677 "../parser.c"
-     break;
- 
--  case 57:
--#line 667 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 57: /* defdocstringfmt_args: TK_STRING_VALUE  */
-+#line 668 "parser.y"
-+                                        {
-             resetLexerState();
- 
--            (yyval.defdocstringfmt).name = (yyvsp[(1) - (1)].text);
-+            (yyval.defdocstringfmt).name = (yyvsp[0].text);
-         }
-+#line 2687 "../parser.c"
-     break;
- 
--  case 58:
--#line 672 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defdocstringfmt) = (yyvsp[(2) - (3)].defdocstringfmt);
-+  case 58: /* defdocstringfmt_args: '(' defdocstringfmt_arg_list ')'  */
-+#line 673 "parser.y"
-+                                         {
-+            (yyval.defdocstringfmt) = (yyvsp[-1].defdocstringfmt);
-         }
-+#line 2695 "../parser.c"
-     break;
- 
--  case 60:
--#line 678 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defdocstringfmt) = (yyvsp[(1) - (3)].defdocstringfmt);
-+  case 60: /* defdocstringfmt_arg_list: defdocstringfmt_arg_list ',' defdocstringfmt_arg  */
-+#line 679 "parser.y"
-+                                                         {
-+            (yyval.defdocstringfmt) = (yyvsp[-2].defdocstringfmt);
- 
--            switch ((yyvsp[(3) - (3)].defdocstringfmt).token)
-+            switch ((yyvsp[0].defdocstringfmt).token)
-             {
--            case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].defdocstringfmt).name; break;
-+            case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[0].defdocstringfmt).name; break;
-             }
-         }
-+#line 2708 "../parser.c"
-     break;
- 
--  case 61:
--#line 688 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 61: /* defdocstringfmt_arg: TK_NAME '=' TK_STRING_VALUE  */
-+#line 689 "parser.y"
-+                                                    {
-             (yyval.defdocstringfmt).token = TK_NAME;
- 
--            (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].text);
-+            (yyval.defdocstringfmt).name = (yyvsp[0].text);
-         }
-+#line 2718 "../parser.c"
-     break;
- 
--  case 62:
--#line 695 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 62: /* defdocstringsig: TK_DEFDOCSTRSIG defdocstringsig_args  */
-+#line 696 "parser.y"
-+                                                      {
-             if (notSkipping())
--                currentModule->defdocstringsig = convertSignature((yyvsp[(2) - (2)].defdocstringsig).name);
-+                currentModule->defdocstringsig = convertSignature((yyvsp[0].defdocstringsig).name);
-         }
-+#line 2727 "../parser.c"
-     break;
- 
--  case 63:
--#line 701 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 63: /* defdocstringsig_args: TK_STRING_VALUE  */
-+#line 702 "parser.y"
-+                                        {
-             resetLexerState();
- 
--            (yyval.defdocstringsig).name = (yyvsp[(1) - (1)].text);
-+            (yyval.defdocstringsig).name = (yyvsp[0].text);
-         }
-+#line 2737 "../parser.c"
-     break;
- 
--  case 64:
--#line 706 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defdocstringsig) = (yyvsp[(2) - (3)].defdocstringsig);
-+  case 64: /* defdocstringsig_args: '(' defdocstringsig_arg_list ')'  */
-+#line 707 "parser.y"
-+                                         {
-+            (yyval.defdocstringsig) = (yyvsp[-1].defdocstringsig);
-         }
-+#line 2745 "../parser.c"
-     break;
- 
--  case 66:
--#line 712 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defdocstringsig) = (yyvsp[(1) - (3)].defdocstringsig);
-+  case 66: /* defdocstringsig_arg_list: defdocstringsig_arg_list ',' defdocstringsig_arg  */
-+#line 713 "parser.y"
-+                                                         {
-+            (yyval.defdocstringsig) = (yyvsp[-2].defdocstringsig);
- 
--            switch ((yyvsp[(3) - (3)].defdocstringsig).token)
-+            switch ((yyvsp[0].defdocstringsig).token)
-             {
--            case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].defdocstringsig).name; break;
-+            case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[0].defdocstringsig).name; break;
-             }
-         }
-+#line 2758 "../parser.c"
-     break;
- 
--  case 67:
--#line 722 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 67: /* defdocstringsig_arg: TK_NAME '=' TK_STRING_VALUE  */
-+#line 723 "parser.y"
-+                                                    {
-             (yyval.defdocstringsig).token = TK_NAME;
- 
--            (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].text);
-+            (yyval.defdocstringsig).name = (yyvsp[0].text);
-         }
-+#line 2768 "../parser.c"
-     break;
- 
--  case 68:
--#line 729 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 68: /* defencoding: TK_DEFENCODING defencoding_args  */
-+#line 730 "parser.y"
-+                                                {
-             if (notSkipping())
-             {
--                if ((currentModule->encoding = convertEncoding((yyvsp[(2) - (2)].defencoding).name)) == no_type)
-+                if ((currentModule->encoding = convertEncoding((yyvsp[0].defencoding).name)) == no_type)
-                     yyerror("The %DefaultEncoding name must be one of \"ASCII\", \"Latin-1\", \"UTF-8\" or \"None\"");
-             }
-         }
-+#line 2780 "../parser.c"
-     break;
- 
--  case 69:
--#line 738 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 69: /* defencoding_args: TK_STRING_VALUE  */
-+#line 739 "parser.y"
-+                                    {
-             resetLexerState();
- 
--            (yyval.defencoding).name = (yyvsp[(1) - (1)].text);
-+            (yyval.defencoding).name = (yyvsp[0].text);
-         }
-+#line 2790 "../parser.c"
-     break;
- 
--  case 70:
--#line 743 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defencoding) = (yyvsp[(2) - (3)].defencoding);
-+  case 70: /* defencoding_args: '(' defencoding_arg_list ')'  */
-+#line 744 "parser.y"
-+                                     {
-+            (yyval.defencoding) = (yyvsp[-1].defencoding);
-         }
-+#line 2798 "../parser.c"
-     break;
- 
--  case 72:
--#line 749 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defencoding) = (yyvsp[(1) - (3)].defencoding);
-+  case 72: /* defencoding_arg_list: defencoding_arg_list ',' defencoding_arg  */
-+#line 750 "parser.y"
-+                                                 {
-+            (yyval.defencoding) = (yyvsp[-2].defencoding);
- 
--            switch ((yyvsp[(3) - (3)].defencoding).token)
-+            switch ((yyvsp[0].defencoding).token)
-             {
--            case TK_NAME: (yyval.defencoding).name = (yyvsp[(3) - (3)].defencoding).name; break;
-+            case TK_NAME: (yyval.defencoding).name = (yyvsp[0].defencoding).name; break;
-             }
-         }
-+#line 2811 "../parser.c"
-     break;
- 
--  case 73:
--#line 759 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 73: /* defencoding_arg: TK_NAME '=' TK_STRING_VALUE  */
-+#line 760 "parser.y"
-+                                                {
-             (yyval.defencoding).token = TK_NAME;
- 
--            (yyval.defencoding).name = (yyvsp[(3) - (3)].text);
-+            (yyval.defencoding).name = (yyvsp[0].text);
-         }
-+#line 2821 "../parser.c"
-     break;
- 
--  case 74:
--#line 766 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 74: /* plugin: TK_PLUGIN plugin_args  */
-+#line 767 "parser.y"
-+                                  {
-             /*
-              * Note that %Plugin is internal in SIP v4.  The current thinking
-              * is that it won't be needed for SIP v5.
-              */
- 
-             if (notSkipping())
--                appendString(&currentSpec->plugins, (yyvsp[(2) - (2)].plugin).name);
-+                appendString(&currentSpec->plugins, (yyvsp[0].plugin).name);
-         }
-+#line 2835 "../parser.c"
-     break;
- 
--  case 75:
--#line 777 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 75: /* plugin_args: TK_NAME_VALUE  */
-+#line 778 "parser.y"
-+                              {
-             resetLexerState();
- 
--            (yyval.plugin).name = (yyvsp[(1) - (1)].text);
-+            (yyval.plugin).name = (yyvsp[0].text);
-         }
-+#line 2845 "../parser.c"
-     break;
- 
--  case 76:
--#line 782 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.plugin) = (yyvsp[(2) - (3)].plugin);
-+  case 76: /* plugin_args: '(' plugin_arg_list ')'  */
-+#line 783 "parser.y"
-+                                {
-+            (yyval.plugin) = (yyvsp[-1].plugin);
-         }
-+#line 2853 "../parser.c"
-     break;
- 
--  case 78:
--#line 788 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.plugin) = (yyvsp[(1) - (3)].plugin);
-+  case 78: /* plugin_arg_list: plugin_arg_list ',' plugin_arg  */
-+#line 789 "parser.y"
-+                                       {
-+            (yyval.plugin) = (yyvsp[-2].plugin);
- 
--            switch ((yyvsp[(3) - (3)].plugin).token)
-+            switch ((yyvsp[0].plugin).token)
-             {
--            case TK_NAME: (yyval.plugin).name = (yyvsp[(3) - (3)].plugin).name; break;
-+            case TK_NAME: (yyval.plugin).name = (yyvsp[0].plugin).name; break;
-             }
-         }
-+#line 2866 "../parser.c"
-     break;
- 
--  case 79:
--#line 798 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 79: /* plugin_arg: TK_NAME '=' TK_NAME_VALUE  */
-+#line 799 "parser.y"
-+                                      {
-             (yyval.plugin).token = TK_NAME;
- 
--            (yyval.plugin).name = (yyvsp[(3) - (3)].text);
-+            (yyval.plugin).name = (yyvsp[0].text);
-         }
-+#line 2876 "../parser.c"
-     break;
- 
--  case 80:
--#line 805 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (3)].veh).name == NULL)
-+  case 80: /* virterrorhandler: TK_VIRTERRORHANDLER veh_args codeblock  */
-+#line 806 "parser.y"
-+                                                           {
-+            if ((yyvsp[-1].veh).name == NULL)
-                 yyerror("%VirtualErrorHandler must have a 'name' argument");
- 
-             if (notSkipping())
-@@ -3270,7 +2887,7 @@ yyreduce:
- 
-                 /* Check there isn't already a handler with the same name. */
-                 for (tailp = &currentSpec->errorhandlers; (veh = *tailp) != NULL; tailp = &veh->next)
--                    if (strcmp(veh->name, (yyvsp[(2) - (3)].veh).name) == 0)
-+                    if (strcmp(veh->name, (yyvsp[-1].veh).name) == 0)
-                         break;
- 
-                 if (veh != NULL)
-@@ -3278,8 +2895,8 @@ yyreduce:
- 
-                 veh = sipMalloc(sizeof (virtErrorHandler));
- 
--                veh->name = (yyvsp[(2) - (3)].veh).name;
--                appendCodeBlock(&veh->code, (yyvsp[(3) - (3)].codeb));
-+                veh->name = (yyvsp[-1].veh).name;
-+                appendCodeBlock(&veh->code, (yyvsp[0].codeb));
-                 veh->mod = currentModule;
-                 veh->index = -1;
-                 veh->next = NULL;
-@@ -3287,62 +2904,67 @@ yyreduce:
-                 *tailp = veh;
-             }
-         }
-+#line 2908 "../parser.c"
-     break;
- 
--  case 81:
--#line 834 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 81: /* veh_args: TK_NAME_VALUE  */
-+#line 835 "parser.y"
-+                           {
-             resetLexerState();
- 
--            (yyval.veh).name = (yyvsp[(1) - (1)].text);
-+            (yyval.veh).name = (yyvsp[0].text);
-         }
-+#line 2918 "../parser.c"
-     break;
- 
--  case 82:
--#line 839 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.veh) = (yyvsp[(2) - (3)].veh);
-+  case 82: /* veh_args: '(' veh_arg_list ')'  */
-+#line 840 "parser.y"
-+                             {
-+            (yyval.veh) = (yyvsp[-1].veh);
-         }
-+#line 2926 "../parser.c"
-     break;
- 
--  case 84:
--#line 845 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.veh) = (yyvsp[(1) - (3)].veh);
-+  case 84: /* veh_arg_list: veh_arg_list ',' veh_arg  */
-+#line 846 "parser.y"
-+                                 {
-+            (yyval.veh) = (yyvsp[-2].veh);
- 
--            switch ((yyvsp[(3) - (3)].veh).token)
-+            switch ((yyvsp[0].veh).token)
-             {
--            case TK_NAME: (yyval.veh).name = (yyvsp[(3) - (3)].veh).name; break;
-+            case TK_NAME: (yyval.veh).name = (yyvsp[0].veh).name; break;
-             }
-         }
-+#line 2939 "../parser.c"
-     break;
- 
--  case 85:
--#line 855 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 85: /* veh_arg: TK_NAME '=' TK_NAME_VALUE  */
-+#line 856 "parser.y"
-+                                   {
-             (yyval.veh).token = TK_NAME;
- 
--            (yyval.veh).name = (yyvsp[(3) - (3)].text);
-+            (yyval.veh).name = (yyvsp[0].text);
-         }
-+#line 2949 "../parser.c"
-     break;
- 
--  case 86:
--#line 862 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 86: /* api: TK_API api_args  */
-+#line 863 "parser.y"
-+                        {
-             if (notSkipping())
-             {
-                 apiVersionRangeDef *avd;
- 
--                if (findAPI(currentSpec, (yyvsp[(2) - (2)].api).name) != NULL)
-+                if (findAPI(currentSpec, (yyvsp[0].api).name) != NULL)
-                     yyerror("The API name in the %API directive has already been defined");
- 
--                if ((yyvsp[(2) - (2)].api).version < 1)
-+                if ((yyvsp[0].api).version < 1)
-                     yyerror("The version number in the %API directive must be greater than or equal to 1");
- 
-                 avd = sipMalloc(sizeof (apiVersionRangeDef));
- 
--                avd->api_name = cacheName(currentSpec, (yyvsp[(2) - (2)].api).name);
--                avd->from = (yyvsp[(2) - (2)].api).version;
-+                avd->api_name = cacheName(currentSpec, (yyvsp[0].api).name);
-+                avd->from = (yyvsp[0].api).version;
-                 avd->to = -1;
- 
-                 avd->next = currentModule->api_versions;
-@@ -3352,63 +2974,69 @@ yyreduce:
-                     setIsUsedName(avd->api_name);
-             }
-         }
-+#line 2978 "../parser.c"
-     break;
- 
--  case 87:
--#line 888 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 87: /* api_args: TK_NAME_VALUE TK_NUMBER_VALUE  */
-+#line 889 "parser.y"
-+                                          {
-             resetLexerState();
- 
-             deprecated("%API name and version number should be specified using the 'name' and 'version' arguments");
- 
--            (yyval.api).name = (yyvsp[(1) - (2)].text);
--            (yyval.api).version = (yyvsp[(2) - (2)].number);
-+            (yyval.api).name = (yyvsp[-1].text);
-+            (yyval.api).version = (yyvsp[0].number);
-         }
-+#line 2991 "../parser.c"
-     break;
- 
--  case 88:
--#line 896 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.api) = (yyvsp[(2) - (3)].api);
-+  case 88: /* api_args: '(' api_arg_list ')'  */
-+#line 897 "parser.y"
-+                             {
-+            (yyval.api) = (yyvsp[-1].api);
-         }
-+#line 2999 "../parser.c"
-     break;
- 
--  case 90:
--#line 902 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.api) = (yyvsp[(1) - (3)].api);
-+  case 90: /* api_arg_list: api_arg_list ',' api_arg  */
-+#line 903 "parser.y"
-+                                 {
-+            (yyval.api) = (yyvsp[-2].api);
- 
--            switch ((yyvsp[(3) - (3)].api).token)
-+            switch ((yyvsp[0].api).token)
-             {
--            case TK_NAME: (yyval.api).name = (yyvsp[(3) - (3)].api).name; break;
--            case TK_VERSION: (yyval.api).version = (yyvsp[(3) - (3)].api).version; break;
-+            case TK_NAME: (yyval.api).name = (yyvsp[0].api).name; break;
-+            case TK_VERSION: (yyval.api).version = (yyvsp[0].api).version; break;
-             }
-         }
-+#line 3013 "../parser.c"
-     break;
- 
--  case 91:
--#line 913 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 91: /* api_arg: TK_NAME '=' name_or_string  */
-+#line 914 "parser.y"
-+                                       {
-             (yyval.api).token = TK_NAME;
- 
--            (yyval.api).name = (yyvsp[(3) - (3)].text);
-+            (yyval.api).name = (yyvsp[0].text);
-             (yyval.api).version = 0;
-         }
-+#line 3024 "../parser.c"
-     break;
- 
--  case 92:
--#line 919 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 92: /* api_arg: TK_VERSION '=' TK_NUMBER_VALUE  */
-+#line 920 "parser.y"
-+                                       {
-             (yyval.api).token = TK_VERSION;
- 
-             (yyval.api).name = NULL;
--            (yyval.api).version = (yyvsp[(3) - (3)].number);
-+            (yyval.api).version = (yyvsp[0].number);
-         }
-+#line 3035 "../parser.c"
-     break;
- 
--  case 93:
--#line 927 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 93: /* exception: TK_EXCEPTION scopedname baseexception optflags exception_body  */
-+#line 928 "parser.y"
-+                                                                          {
-             if (notSkipping())
-             {
-                 static const char *annos[] = {
-@@ -3420,20 +3048,20 @@ yyreduce:
-                 exceptionDef *xd;
-                 const char *pyname;
- 
--                checkAnnos(&(yyvsp[(4) - (5)].optflags), annos);
-+                checkAnnos(&(yyvsp[-1].optflags), annos);
- 
-                 if (currentSpec->genc)
-                     yyerror("%Exception not allowed in a C module");
- 
--                if ((yyvsp[(5) - (5)].exception).raise_code == NULL)
-+                if ((yyvsp[0].exception).raise_code == NULL)
-                     yyerror("%Exception must have a %RaiseCode sub-directive");
- 
--                pyname = getPythonName(currentModule, &(yyvsp[(4) - (5)].optflags), scopedNameTail((yyvsp[(2) - (5)].scpvalp)));
-+                pyname = getPythonName(currentModule, &(yyvsp[-1].optflags), scopedNameTail((yyvsp[-3].scpvalp)));
- 
-                 checkAttributes(currentSpec, currentModule, NULL, NULL,
-                         pyname, FALSE);
- 
--                xd = findException(currentSpec, (yyvsp[(2) - (5)].scpvalp), TRUE);
-+                xd = findException(currentSpec, (yyvsp[-3].scpvalp), TRUE);
- 
-                 if (xd->cd != NULL)
-                     yyerror("%Exception name has already been seen as a class name - it must be defined before being used");
-@@ -3443,29 +3071,31 @@ yyreduce:
- 
-                 /* Complete the definition. */
-                 xd->iff->module = currentModule;
--                appendCodeBlock(&xd->iff->hdrcode, (yyvsp[(5) - (5)].exception).type_header_code);
-+                appendCodeBlock(&xd->iff->hdrcode, (yyvsp[0].exception).type_header_code);
-                 xd->pyname = pyname;
--                xd->bibase = (yyvsp[(3) - (5)].exceptionbase).bibase;
--                xd->base = (yyvsp[(3) - (5)].exceptionbase).base;
--                appendCodeBlock(&xd->raisecode, (yyvsp[(5) - (5)].exception).raise_code);
-+                xd->bibase = (yyvsp[-2].exceptionbase).bibase;
-+                xd->base = (yyvsp[-2].exceptionbase).base;
-+                appendCodeBlock(&xd->raisecode, (yyvsp[0].exception).raise_code);
- 
--                if (getOptFlag(&(yyvsp[(4) - (5)].optflags), "Default", bool_flag) != NULL)
-+                if (getOptFlag(&(yyvsp[-1].optflags), "Default", bool_flag) != NULL)
-                     currentModule->defexception = xd;
-             }
-         }
-+#line 3085 "../parser.c"
-     break;
- 
--  case 94:
--#line 974 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 94: /* baseexception: %empty  */
-+#line 975 "parser.y"
-+                {
-             (yyval.exceptionbase).bibase = NULL;
-             (yyval.exceptionbase).base = NULL;
-         }
-+#line 3094 "../parser.c"
-     break;
- 
--  case 95:
--#line 978 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 95: /* baseexception: '(' scopedname ')'  */
-+#line 979 "parser.y"
-+                           {
-             exceptionDef *xd;
- 
-             (yyval.exceptionbase).bibase = NULL;
-@@ -3473,13 +3103,13 @@ yyreduce:
- 
-             /* See if it is a defined exception. */
-             for (xd = currentSpec->exceptions; xd != NULL; xd = xd->next)
--                if (compareScopedNames(xd->iff->fqcname, (yyvsp[(2) - (3)].scpvalp)) == 0)
-+                if (compareScopedNames(xd->iff->fqcname, (yyvsp[-1].scpvalp)) == 0)
-                 {
-                     (yyval.exceptionbase).base = xd;
-                     break;
-                 }
- 
--            if (xd == NULL && (yyvsp[(2) - (3)].scpvalp)->next == NULL && strncmp((yyvsp[(2) - (3)].scpvalp)->name, "SIP_", 4) == 0)
-+            if (xd == NULL && (yyvsp[-1].scpvalp)->next == NULL && strncmp((yyvsp[-1].scpvalp)->name, "SIP_", 4) == 0)
-             {
-                 /* See if it is a builtin exception. */
- 
-@@ -3560,7 +3190,7 @@ yyreduce:
-                 char **cp;
- 
-                 for (cp = builtins; *cp != NULL; ++cp)
--                    if (strcmp((yyvsp[(2) - (3)].scpvalp)->name + 4, *cp) == 0)
-+                    if (strcmp((yyvsp[-1].scpvalp)->name + 4, *cp) == 0)
-                     {
-                         (yyval.exceptionbase).bibase = *cp;
-                         break;
-@@ -3570,49 +3200,54 @@ yyreduce:
-             if ((yyval.exceptionbase).bibase == NULL && (yyval.exceptionbase).base == NULL)
-                 yyerror("Unknown exception base type");
-         }
-+#line 3204 "../parser.c"
-     break;
- 
--  case 96:
--#line 1085 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.exception) = (yyvsp[(2) - (4)].exception);
-+  case 96: /* exception_body: '{' exception_body_directives '}' ';'  */
-+#line 1086 "parser.y"
-+                                                      {
-+            (yyval.exception) = (yyvsp[-2].exception);
-         }
-+#line 3212 "../parser.c"
-     break;
- 
--  case 98:
--#line 1091 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.exception) = (yyvsp[(1) - (2)].exception);
-+  case 98: /* exception_body_directives: exception_body_directives exception_body_directive  */
-+#line 1092 "parser.y"
-+                                                           {
-+            (yyval.exception) = (yyvsp[-1].exception);
- 
--            switch ((yyvsp[(2) - (2)].exception).token)
-+            switch ((yyvsp[0].exception).token)
-             {
--            case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[(2) - (2)].exception).raise_code; break;
--            case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[(2) - (2)].exception).type_header_code; break;
-+            case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[0].exception).raise_code; break;
-+            case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[0].exception).type_header_code; break;
-             }
-         }
-+#line 3226 "../parser.c"
-     break;
- 
--  case 99:
--#line 1102 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 99: /* exception_body_directive: ifstart  */
-+#line 1103 "parser.y"
-+                                   {
-             (yyval.exception).token = TK_IF;
-         }
-+#line 3234 "../parser.c"
-     break;
- 
--  case 100:
--#line 1105 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 100: /* exception_body_directive: ifend  */
-+#line 1106 "parser.y"
-+              {
-             (yyval.exception).token = TK_END;
-         }
-+#line 3242 "../parser.c"
-     break;
- 
--  case 101:
--#line 1108 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 101: /* exception_body_directive: raisecode  */
-+#line 1109 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 (yyval.exception).token = TK_RAISECODE;
--                (yyval.exception).raise_code = (yyvsp[(1) - (1)].codeb);
-+                (yyval.exception).raise_code = (yyvsp[0].codeb);
-             }
-             else
-             {
-@@ -3622,15 +3257,16 @@ yyreduce:
- 
-             (yyval.exception).type_header_code = NULL;
-         }
-+#line 3261 "../parser.c"
-     break;
- 
--  case 102:
--#line 1122 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 102: /* exception_body_directive: typehdrcode  */
-+#line 1123 "parser.y"
-+                    {
-             if (notSkipping())
-             {
-                 (yyval.exception).token = TK_TYPEHEADERCODE;
--                (yyval.exception).type_header_code = (yyvsp[(1) - (1)].codeb);
-+                (yyval.exception).type_header_code = (yyvsp[0].codeb);
-             }
-             else
-             {
-@@ -3640,18 +3276,20 @@ yyreduce:
- 
-             (yyval.exception).raise_code = NULL;
-         }
-+#line 3280 "../parser.c"
-     break;
- 
--  case 103:
--#line 1138 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 103: /* raisecode: TK_RAISECODE codeblock  */
-+#line 1139 "parser.y"
-+                                   {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 3288 "../parser.c"
-     break;
- 
--  case 104:
--#line 1143 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 104: /* $@2: %empty  */
-+#line 1144 "parser.y"
-+                                            {
-             if (notSkipping())
-             {
-                 static const char *annos[] = {
-@@ -3667,16 +3305,17 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
-+                checkAnnos(&(yyvsp[0].optflags), annos);
- 
--                currentMappedType = newMappedType(currentSpec, &(yyvsp[(2) - (3)].memArg), &(yyvsp[(3) - (3)].optflags));
-+                currentMappedType = newMappedType(currentSpec, &(yyvsp[-1].memArg), &(yyvsp[0].optflags));
-             }
-         }
-+#line 3314 "../parser.c"
-     break;
- 
--  case 106:
--#line 1166 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 106: /* $@3: %empty  */
-+#line 1167 "parser.y"
-+                                                         {
-             if (notSkipping())
-             {
-                 static const char *annos[] = {
-@@ -3694,7 +3333,7 @@ yyreduce:
-                 mappedTypeTmplDef *mtt;
-                 ifaceFileDef *iff;
- 
--                checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
-+                checkAnnos(&(yyvsp[0].optflags), annos);
- 
-                 if (currentSpec->genc)
-                     yyerror("%MappedType templates not allowed in a C module");
-@@ -3703,32 +3342,32 @@ yyreduce:
-                  * Check the template arguments are basic types or simple
-                  * names.
-                  */
--                for (a = 0; a < (yyvsp[(1) - (4)].signature).nrArgs; ++a)
-+                for (a = 0; a < (yyvsp[-3].signature).nrArgs; ++a)
-                 {
--                    argDef *ad = &(yyvsp[(1) - (4)].signature).args[a];
-+                    argDef *ad = &(yyvsp[-3].signature).args[a];
- 
-                     if (ad->atype == defined_type && ad->u.snd->next != NULL)
-                         yyerror("%MappedType template arguments must be simple names");
-                 }
- 
--                if ((yyvsp[(3) - (4)].memArg).atype != template_type)
-+                if ((yyvsp[-1].memArg).atype != template_type)
-                     yyerror("%MappedType template must map a template type");
- 
--                (yyvsp[(3) - (4)].memArg).u.td->fqname  = fullyQualifiedName((yyvsp[(3) - (4)].memArg).u.td->fqname);
-+                (yyvsp[-1].memArg).u.td->fqname  = fullyQualifiedName((yyvsp[-1].memArg).u.td->fqname);
- 
-                 /* Check a template hasn't already been provided. */
-                 for (mtt = currentSpec->mappedtypetemplates; mtt != NULL; mtt = mtt->next)
--                    if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[(3) - (4)].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[(3) - (4)].memArg).u.td->types, TRUE))
-+                    if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[-1].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[-1].memArg).u.td->types, TRUE))
-                         yyerror("%MappedType template for this type has already been defined");
- 
--                (yyvsp[(3) - (4)].memArg).nrderefs = 0;
--                (yyvsp[(3) - (4)].memArg).argflags = 0;
-+                (yyvsp[-1].memArg).nrderefs = 0;
-+                (yyvsp[-1].memArg).argflags = 0;
- 
-                 mtt = sipMalloc(sizeof (mappedTypeTmplDef));
- 
--                mtt->sig = (yyvsp[(1) - (4)].signature);
--                mtt->mt = allocMappedType(currentSpec, &(yyvsp[(3) - (4)].memArg));
--                mappedTypeAnnos(mtt->mt, &(yyvsp[(4) - (4)].optflags));
-+                mtt->sig = (yyvsp[-3].signature);
-+                mtt->mt = allocMappedType(currentSpec, &(yyvsp[-1].memArg));
-+                mappedTypeAnnos(mtt->mt, &(yyvsp[0].optflags));
-                 mtt->next = currentSpec->mappedtypetemplates;
- 
-                 currentSpec->mappedtypetemplates = mtt;
-@@ -3741,11 +3380,12 @@ yyreduce:
-                 mtt->mt->iff = iff;
-             }
-         }
-+#line 3384 "../parser.c"
-     break;
- 
--  case 108:
--#line 1233 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 108: /* mtdefinition: '{' mtbody '}' ';'  */
-+#line 1234 "parser.y"
-+                                   {
-             if (notSkipping())
-             {
-                 if (currentMappedType->convfromcode == NULL)
-@@ -3757,83 +3397,90 @@ yyreduce:
-                 currentMappedType = NULL;
-             }
-         }
-+#line 3401 "../parser.c"
-     break;
- 
--  case 113:
--#line 1253 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 113: /* mtline: typehdrcode  */
-+#line 1254 "parser.y"
-+                    {
-             if (notSkipping())
--                appendCodeBlock(&currentMappedType->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&currentMappedType->iff->hdrcode, (yyvsp[0].codeb));
-         }
-+#line 3410 "../parser.c"
-     break;
- 
--  case 114:
--#line 1257 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 114: /* mtline: typecode  */
-+#line 1258 "parser.y"
-+                 {
-             if (notSkipping())
--                appendCodeBlock(&currentMappedType->typecode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&currentMappedType->typecode, (yyvsp[0].codeb));
-         }
-+#line 3419 "../parser.c"
-     break;
- 
--  case 115:
--#line 1261 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 115: /* mtline: TK_FROMTYPE codeblock  */
-+#line 1262 "parser.y"
-+                              {
-             if (notSkipping())
-             {
-                 if (currentMappedType->convfromcode != NULL)
-                     yyerror("%MappedType has more than one %ConvertFromTypeCode directive");
- 
--                appendCodeBlock(&currentMappedType->convfromcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentMappedType->convfromcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 3433 "../parser.c"
-     break;
- 
--  case 116:
--#line 1270 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 116: /* mtline: TK_TOTYPE codeblock  */
-+#line 1271 "parser.y"
-+                            {
-             if (notSkipping())
-             {
-                 if (currentMappedType->convtocode != NULL)
-                     yyerror("%MappedType has more than one %ConvertToTypeCode directive");
- 
--                appendCodeBlock(&currentMappedType->convtocode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentMappedType->convtocode, (yyvsp[0].codeb));
-             }
-         }
-+#line 3447 "../parser.c"
-     break;
- 
--  case 117:
--#line 1279 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 117: /* mtline: instancecode  */
-+#line 1280 "parser.y"
-+                     {
-             if (notSkipping())
-             {
-                 if (currentMappedType->instancecode != NULL)
-                     yyerror("%MappedType has more than one %InstanceCode directive");
- 
--                appendCodeBlock(&currentMappedType->instancecode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&currentMappedType->instancecode, (yyvsp[0].codeb));
-             }
-         }
-+#line 3461 "../parser.c"
-     break;
- 
--  case 120:
--#line 1292 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 120: /* mtfunction: TK_STATIC cpptype TK_NAME_VALUE '(' arglist ')' optconst optexceptions optflags optsig ';' optdocstring premethodcode methodcode  */
-+#line 1293 "parser.y"
-+                                                                                                                                             {
-             if (notSkipping())
-             {
--                applyTypeFlags(currentModule, &(yyvsp[(2) - (14)].memArg), &(yyvsp[(9) - (14)].optflags));
-+                applyTypeFlags(currentModule, &(yyvsp[-12].memArg), &(yyvsp[-5].optflags));
- 
--                (yyvsp[(5) - (14)].signature).result = (yyvsp[(2) - (14)].memArg);
-+                (yyvsp[-9].signature).result = (yyvsp[-12].memArg);
- 
-                 newFunction(currentSpec, currentModule, NULL, NULL,
--                        currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[(3) - (14)].text),
--                        &(yyvsp[(5) - (14)].signature), (yyvsp[(7) - (14)].number), FALSE, &(yyvsp[(9) - (14)].optflags), (yyvsp[(14) - (14)].codeb), NULL, NULL, (yyvsp[(8) - (14)].throwlist), (yyvsp[(10) - (14)].optsignature), (yyvsp[(12) - (14)].docstr),
--                        FALSE, (yyvsp[(13) - (14)].codeb));
-+                        currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[-11].text),
-+                        &(yyvsp[-9].signature), (yyvsp[-7].number), FALSE, &(yyvsp[-5].optflags), (yyvsp[0].codeb), NULL, NULL, (yyvsp[-6].throwlist), (yyvsp[-4].optsignature), (yyvsp[-2].docstr),
-+                        FALSE, (yyvsp[-1].codeb));
-             }
-         }
-+#line 3479 "../parser.c"
-     break;
- 
--  case 121:
--#line 1307 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 121: /* $@4: %empty  */
-+#line 1308 "parser.y"
-+                                       {
-             if (currentSpec -> genc)
-                 yyerror("namespace definition not allowed in a C module");
- 
-@@ -3848,18 +3495,19 @@ yyreduce:
-                     scope = NULL;
- 
-                 ns = newClass(currentSpec, namespace_iface, NULL,
--                        text2scopedName(scope, (yyvsp[(2) - (2)].text)), NULL, NULL, NULL, NULL);
-+                        text2scopedName(scope, (yyvsp[0].text)), NULL, NULL, NULL, NULL);
- 
-                 pushScope(ns);
- 
-                 sectionFlags = 0;
-             }
-         }
-+#line 3506 "../parser.c"
-     break;
- 
--  case 122:
--#line 1328 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 122: /* namespace: TK_NAMESPACE TK_NAME_VALUE $@4 optnsbody ';'  */
-+#line 1329 "parser.y"
-+                        {
-             if (notSkipping())
-             {
-                 if (inMainModule())
-@@ -3873,11 +3521,12 @@ yyreduce:
-                 popScope();
-             }
-         }
-+#line 3525 "../parser.c"
-     break;
- 
--  case 127:
--#line 1352 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 127: /* $@5: %empty  */
-+#line 1353 "parser.y"
-+                         {
-             if (notSkipping())
-             {
-                 qualDef *qd;
-@@ -3887,11 +3536,12 @@ yyreduce:
-                         yyerror("%Platforms has already been defined for this module");
-             }
-         }
-+#line 3540 "../parser.c"
-     break;
- 
--  case 128:
--#line 1362 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 128: /* platforms: TK_PLATFORMS $@5 '{' platformlist '}'  */
-+#line 1363 "parser.y"
-+                             {
-             if (notSkipping())
-             {
-                 qualDef *qd;
-@@ -3908,71 +3558,79 @@ yyreduce:
-                     yyerror("No more than one of these %Platforms must be specified with the -t flag");
-             }
-         }
-+#line 3562 "../parser.c"
-     break;
- 
--  case 131:
--#line 1385 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(1) - (1)].text),
-+  case 131: /* platform: TK_NAME_VALUE  */
-+#line 1386 "parser.y"
-+                          {
-+            newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].text),
-                     platform_qualifier);
-         }
-+#line 3571 "../parser.c"
-     break;
- 
--  case 132:
--#line 1391 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(2) - (2)].feature).name,
-+  case 132: /* feature: TK_FEATURE feature_args  */
-+#line 1392 "parser.y"
-+                                    {
-+            newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].feature).name,
-                     feature_qualifier);
-         }
-+#line 3580 "../parser.c"
-     break;
- 
--  case 133:
--#line 1397 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 133: /* feature_args: TK_NAME_VALUE  */
-+#line 1398 "parser.y"
-+                              {
-             resetLexerState();
- 
--            (yyval.feature).name = (yyvsp[(1) - (1)].text);
-+            (yyval.feature).name = (yyvsp[0].text);
-         }
-+#line 3590 "../parser.c"
-     break;
- 
--  case 134:
--#line 1402 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.feature) = (yyvsp[(2) - (3)].feature);
-+  case 134: /* feature_args: '(' feature_arg_list ')'  */
-+#line 1403 "parser.y"
-+                                 {
-+            (yyval.feature) = (yyvsp[-1].feature);
-         }
-+#line 3598 "../parser.c"
-     break;
- 
--  case 136:
--#line 1408 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.feature) = (yyvsp[(1) - (3)].feature);
-+  case 136: /* feature_arg_list: feature_arg_list ',' feature_arg  */
-+#line 1409 "parser.y"
-+                                         {
-+            (yyval.feature) = (yyvsp[-2].feature);
- 
--            switch ((yyvsp[(3) - (3)].feature).token)
-+            switch ((yyvsp[0].feature).token)
-             {
--            case TK_NAME: (yyval.feature).name = (yyvsp[(3) - (3)].feature).name; break;
-+            case TK_NAME: (yyval.feature).name = (yyvsp[0].feature).name; break;
-             }
-         }
-+#line 3611 "../parser.c"
-     break;
- 
--  case 137:
--#line 1418 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 137: /* feature_arg: TK_NAME '=' name_or_string  */
-+#line 1419 "parser.y"
-+                                           {
-             (yyval.feature).token = TK_NAME;
- 
--            (yyval.feature).name = (yyvsp[(3) - (3)].text);
-+            (yyval.feature).name = (yyvsp[0].text);
-         }
-+#line 3621 "../parser.c"
-     break;
- 
--  case 138:
--#line 1425 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 138: /* $@6: %empty  */
-+#line 1426 "parser.y"
-+                        {
-             currentTimelineOrder = 0;
-         }
-+#line 3629 "../parser.c"
-     break;
- 
--  case 139:
--#line 1428 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 139: /* timeline: TK_TIMELINE $@6 '{' qualifierlist '}'  */
-+#line 1429 "parser.y"
-+                              {
-             if (notSkipping())
-             {
-                 qualDef *qd;
-@@ -3993,129 +3651,140 @@ yyreduce:
-                 currentModule->nrtimelines++;
-             }
-         }
-+#line 3655 "../parser.c"
-     break;
- 
--  case 142:
--#line 1455 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 142: /* qualifiername: TK_NAME_VALUE  */
-+#line 1456 "parser.y"
-+                              {
-             newQualifier(currentModule, currentModule->nrtimelines,
--                    currentTimelineOrder++, TRUE, (yyvsp[(1) - (1)].text), time_qualifier);
-+                    currentTimelineOrder++, TRUE, (yyvsp[0].text), time_qualifier);
-         }
-+#line 3664 "../parser.c"
-     break;
- 
--  case 143:
--#line 1461 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 143: /* $@7: %empty  */
-+#line 1462 "parser.y"
-+                      {
-             currentPlatforms = NULL;
-         }
-+#line 3672 "../parser.c"
-     break;
- 
--  case 144:
--#line 1463 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 144: /* ifstart: TK_IF '(' $@7 qualifiers ')'  */
-+#line 1464 "parser.y"
-+                         {
-             if (stackPtr >= MAX_NESTED_IF)
-                 yyerror("Internal error: increase the value of MAX_NESTED_IF");
- 
-             /* Nested %Ifs are implicit logical ands. */
- 
-             if (stackPtr > 0)
--                (yyvsp[(4) - (5)].boolean) = ((yyvsp[(4) - (5)].boolean) && skipStack[stackPtr - 1]);
-+                (yyvsp[-1].boolean) = ((yyvsp[-1].boolean) && skipStack[stackPtr - 1]);
- 
--            skipStack[stackPtr] = (yyvsp[(4) - (5)].boolean);
-+            skipStack[stackPtr] = (yyvsp[-1].boolean);
- 
-             platformStack[stackPtr] = currentPlatforms;
- 
-             ++stackPtr;
-         }
-+#line 3692 "../parser.c"
-     break;
- 
--  case 145:
--#line 1480 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.boolean) = platOrFeature((yyvsp[(1) - (1)].text), FALSE);
-+  case 145: /* oredqualifiers: TK_NAME_VALUE  */
-+#line 1481 "parser.y"
-+                              {
-+            (yyval.boolean) = platOrFeature((yyvsp[0].text), FALSE);
-         }
-+#line 3700 "../parser.c"
-     break;
- 
--  case 146:
--#line 1483 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.boolean) = platOrFeature((yyvsp[(2) - (2)].text), TRUE);
-+  case 146: /* oredqualifiers: '!' TK_NAME_VALUE  */
-+#line 1484 "parser.y"
-+                          {
-+            (yyval.boolean) = platOrFeature((yyvsp[0].text), TRUE);
-         }
-+#line 3708 "../parser.c"
-     break;
- 
--  case 147:
--#line 1486 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.boolean) = (platOrFeature((yyvsp[(3) - (3)].text), FALSE) || (yyvsp[(1) - (3)].boolean));
-+  case 147: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR TK_NAME_VALUE  */
-+#line 1487 "parser.y"
-+                                                   {
-+            (yyval.boolean) = (platOrFeature((yyvsp[0].text), FALSE) || (yyvsp[-2].boolean));
-         }
-+#line 3716 "../parser.c"
-     break;
- 
--  case 148:
--#line 1489 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.boolean) = (platOrFeature((yyvsp[(4) - (4)].text), TRUE) || (yyvsp[(1) - (4)].boolean));
-+  case 148: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR '!' TK_NAME_VALUE  */
-+#line 1490 "parser.y"
-+                                                       {
-+            (yyval.boolean) = (platOrFeature((yyvsp[0].text), TRUE) || (yyvsp[-3].boolean));
-         }
-+#line 3724 "../parser.c"
-     break;
- 
--  case 150:
--#line 1495 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.boolean) = timePeriod((yyvsp[(1) - (3)].text), (yyvsp[(3) - (3)].text));
-+  case 150: /* qualifiers: optname '-' optname  */
-+#line 1496 "parser.y"
-+                            {
-+            (yyval.boolean) = timePeriod((yyvsp[-2].text), (yyvsp[0].text));
-         }
-+#line 3732 "../parser.c"
-     break;
- 
--  case 151:
--#line 1500 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 151: /* ifend: TK_END  */
-+#line 1501 "parser.y"
-+                   {
-             if (stackPtr-- <= 0)
-                 yyerror("Too many %End directives");
- 
-             currentPlatforms = (stackPtr == 0 ? NULL : platformStack[stackPtr - 1]);
-         }
-+#line 3743 "../parser.c"
-     break;
- 
--  case 152:
--#line 1508 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 152: /* license: TK_LICENSE license_args optflags  */
-+#line 1509 "parser.y"
-+                                             {
-             optFlag *of;
- 
--            if ((yyvsp[(3) - (3)].optflags).nrFlags != 0)
-+            if ((yyvsp[0].optflags).nrFlags != 0)
-                 deprecated("%License annotations are deprecated, use arguments instead");
- 
--            if ((yyvsp[(2) - (3)].license).type == NULL)
--                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Type", string_flag)) != NULL)
--                    (yyvsp[(2) - (3)].license).type = of->fvalue.sval;
--
--            if ((yyvsp[(2) - (3)].license).licensee == NULL)
--                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Licensee", string_flag)) != NULL)
--                    (yyvsp[(2) - (3)].license).licensee = of->fvalue.sval;
--
--            if ((yyvsp[(2) - (3)].license).signature == NULL)
--                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Signature", string_flag)) != NULL)
--                    (yyvsp[(2) - (3)].license).signature = of->fvalue.sval;
--
--            if ((yyvsp[(2) - (3)].license).timestamp == NULL)
--                if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Timestamp", string_flag)) != NULL)
--                    (yyvsp[(2) - (3)].license).timestamp = of->fvalue.sval;
-+            if ((yyvsp[-1].license).type == NULL)
-+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Type", string_flag)) != NULL)
-+                    (yyvsp[-1].license).type = of->fvalue.sval;
-+
-+            if ((yyvsp[-1].license).licensee == NULL)
-+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Licensee", string_flag)) != NULL)
-+                    (yyvsp[-1].license).licensee = of->fvalue.sval;
-+
-+            if ((yyvsp[-1].license).signature == NULL)
-+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Signature", string_flag)) != NULL)
-+                    (yyvsp[-1].license).signature = of->fvalue.sval;
-+
-+            if ((yyvsp[-1].license).timestamp == NULL)
-+                if ((of = getOptFlag(&(yyvsp[0].optflags), "Timestamp", string_flag)) != NULL)
-+                    (yyvsp[-1].license).timestamp = of->fvalue.sval;
- 
--            if ((yyvsp[(2) - (3)].license).type == NULL)
-+            if ((yyvsp[-1].license).type == NULL)
-                 yyerror("%License must have a 'type' argument");
- 
-             if (notSkipping())
-             {
-                 currentModule->license = sipMalloc(sizeof (licenseDef));
- 
--                currentModule->license->type = (yyvsp[(2) - (3)].license).type;
--                currentModule->license->licensee = (yyvsp[(2) - (3)].license).licensee;
--                currentModule->license->sig = (yyvsp[(2) - (3)].license).signature;
--                currentModule->license->timestamp = (yyvsp[(2) - (3)].license).timestamp;
-+                currentModule->license->type = (yyvsp[-1].license).type;
-+                currentModule->license->licensee = (yyvsp[-1].license).licensee;
-+                currentModule->license->sig = (yyvsp[-1].license).signature;
-+                currentModule->license->timestamp = (yyvsp[-1].license).timestamp;
-             }
-         }
-+#line 3783 "../parser.c"
-     break;
- 
--  case 153:
--#line 1545 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 153: /* license_args: %empty  */
-+#line 1546 "parser.y"
-+                {
-             resetLexerState();
- 
-             (yyval.license).type = NULL;
-@@ -4123,242 +3792,265 @@ yyreduce:
-             (yyval.license).signature = NULL;
-             (yyval.license).timestamp = NULL;
-         }
-+#line 3796 "../parser.c"
-     break;
- 
--  case 154:
--#line 1553 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.license).type = (yyvsp[(1) - (1)].text);
-+  case 154: /* license_args: TK_STRING_VALUE  */
-+#line 1554 "parser.y"
-+                        {
-+            (yyval.license).type = (yyvsp[0].text);
-             (yyval.license).licensee = NULL;
-             (yyval.license).signature = NULL;
-             (yyval.license).timestamp = NULL;
-         }
-+#line 3807 "../parser.c"
-     break;
- 
--  case 155:
--#line 1559 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.license) = (yyvsp[(2) - (3)].license);
-+  case 155: /* license_args: '(' license_arg_list ')'  */
-+#line 1560 "parser.y"
-+                                 {
-+            (yyval.license) = (yyvsp[-1].license);
-         }
-+#line 3815 "../parser.c"
-     break;
- 
--  case 157:
--#line 1565 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.license) = (yyvsp[(1) - (3)].license);
-+  case 157: /* license_arg_list: license_arg_list ',' license_arg  */
-+#line 1566 "parser.y"
-+                                         {
-+            (yyval.license) = (yyvsp[-2].license);
- 
--            switch ((yyvsp[(3) - (3)].license).token)
-+            switch ((yyvsp[0].license).token)
-             {
--            case TK_TYPE: (yyval.license).type = (yyvsp[(3) - (3)].license).type; break;
--            case TK_LICENSEE: (yyval.license).licensee = (yyvsp[(3) - (3)].license).licensee; break;
--            case TK_SIGNATURE: (yyval.license).signature = (yyvsp[(3) - (3)].license).signature; break;
--            case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[(3) - (3)].license).timestamp; break;
-+            case TK_TYPE: (yyval.license).type = (yyvsp[0].license).type; break;
-+            case TK_LICENSEE: (yyval.license).licensee = (yyvsp[0].license).licensee; break;
-+            case TK_SIGNATURE: (yyval.license).signature = (yyvsp[0].license).signature; break;
-+            case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[0].license).timestamp; break;
-             }
-         }
-+#line 3831 "../parser.c"
-     break;
- 
--  case 158:
--#line 1578 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 158: /* license_arg: TK_TYPE '=' TK_STRING_VALUE  */
-+#line 1579 "parser.y"
-+                                            {
-             (yyval.license).token = TK_NAME;
- 
--            (yyval.license).type = (yyvsp[(3) - (3)].text);
-+            (yyval.license).type = (yyvsp[0].text);
-             (yyval.license).licensee = NULL;
-             (yyval.license).signature = NULL;
-             (yyval.license).timestamp = NULL;
-         }
-+#line 3844 "../parser.c"
-     break;
- 
--  case 159:
--#line 1586 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 159: /* license_arg: TK_LICENSEE '=' TK_STRING_VALUE  */
-+#line 1587 "parser.y"
-+                                        {
-             (yyval.license).token = TK_LICENSEE;
- 
-             (yyval.license).type = NULL;
--            (yyval.license).licensee = (yyvsp[(3) - (3)].text);
-+            (yyval.license).licensee = (yyvsp[0].text);
-             (yyval.license).signature = NULL;
-             (yyval.license).timestamp = NULL;
-         }
-+#line 3857 "../parser.c"
-     break;
- 
--  case 160:
--#line 1594 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 160: /* license_arg: TK_SIGNATURE '=' TK_STRING_VALUE  */
-+#line 1595 "parser.y"
-+                                         {
-             (yyval.license).token = TK_SIGNATURE;
- 
-             (yyval.license).type = NULL;
-             (yyval.license).licensee = NULL;
--            (yyval.license).signature = (yyvsp[(3) - (3)].text);
-+            (yyval.license).signature = (yyvsp[0].text);
-             (yyval.license).timestamp = NULL;
-         }
-+#line 3870 "../parser.c"
-     break;
- 
--  case 161:
--#line 1602 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 161: /* license_arg: TK_TIMESTAMP '=' TK_STRING_VALUE  */
-+#line 1603 "parser.y"
-+                                         {
-             (yyval.license).token = TK_TIMESTAMP;
- 
-             (yyval.license).type = NULL;
-             (yyval.license).licensee = NULL;
-             (yyval.license).signature = NULL;
--            (yyval.license).timestamp = (yyvsp[(3) - (3)].text);
-+            (yyval.license).timestamp = (yyvsp[0].text);
-         }
-+#line 3883 "../parser.c"
-     break;
- 
--  case 162:
--#line 1612 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 162: /* defmetatype: TK_DEFMETATYPE defmetatype_args  */
-+#line 1613 "parser.y"
-+                                                {
-             if (notSkipping())
-             {
-                 if (currentModule->defmetatype != NULL)
-                     yyerror("%DefaultMetatype has already been defined for this module");
- 
--                currentModule->defmetatype = cacheName(currentSpec, (yyvsp[(2) - (2)].defmetatype).name);
-+                currentModule->defmetatype = cacheName(currentSpec, (yyvsp[0].defmetatype).name);
-             }
-         }
-+#line 3897 "../parser.c"
-     break;
- 
--  case 163:
--#line 1623 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 163: /* defmetatype_args: dottedname  */
-+#line 1624 "parser.y"
-+                               {
-             resetLexerState();
- 
--            (yyval.defmetatype).name = (yyvsp[(1) - (1)].text);
-+            (yyval.defmetatype).name = (yyvsp[0].text);
-         }
-+#line 3907 "../parser.c"
-     break;
- 
--  case 164:
--#line 1628 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defmetatype) = (yyvsp[(2) - (3)].defmetatype);
-+  case 164: /* defmetatype_args: '(' defmetatype_arg_list ')'  */
-+#line 1629 "parser.y"
-+                                     {
-+            (yyval.defmetatype) = (yyvsp[-1].defmetatype);
-         }
-+#line 3915 "../parser.c"
-     break;
- 
--  case 166:
--#line 1634 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defmetatype) = (yyvsp[(1) - (3)].defmetatype);
-+  case 166: /* defmetatype_arg_list: defmetatype_arg_list ',' defmetatype_arg  */
-+#line 1635 "parser.y"
-+                                                 {
-+            (yyval.defmetatype) = (yyvsp[-2].defmetatype);
- 
--            switch ((yyvsp[(3) - (3)].defmetatype).token)
-+            switch ((yyvsp[0].defmetatype).token)
-             {
--            case TK_NAME: (yyval.defmetatype).name = (yyvsp[(3) - (3)].defmetatype).name; break;
-+            case TK_NAME: (yyval.defmetatype).name = (yyvsp[0].defmetatype).name; break;
-             }
-         }
-+#line 3928 "../parser.c"
-     break;
- 
--  case 167:
--#line 1644 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 167: /* defmetatype_arg: TK_NAME '=' dottedname  */
-+#line 1645 "parser.y"
-+                                           {
-             (yyval.defmetatype).token = TK_NAME;
- 
--            (yyval.defmetatype).name = (yyvsp[(3) - (3)].text);
-+            (yyval.defmetatype).name = (yyvsp[0].text);
-         }
-+#line 3938 "../parser.c"
-     break;
- 
--  case 168:
--#line 1651 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 168: /* defsupertype: TK_DEFSUPERTYPE defsupertype_args  */
-+#line 1652 "parser.y"
-+                                                  {
-             if (notSkipping())
-             {
-                 if (currentModule->defsupertype != NULL)
-                     yyerror("%DefaultSupertype has already been defined for this module");
- 
--                currentModule->defsupertype = cacheName(currentSpec, (yyvsp[(2) - (2)].defsupertype).name);
-+                currentModule->defsupertype = cacheName(currentSpec, (yyvsp[0].defsupertype).name);
-             }
-         }
-+#line 3952 "../parser.c"
-     break;
- 
--  case 169:
--#line 1662 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 169: /* defsupertype_args: dottedname  */
-+#line 1663 "parser.y"
-+                               {
-             resetLexerState();
- 
--            (yyval.defsupertype).name = (yyvsp[(1) - (1)].text);
-+            (yyval.defsupertype).name = (yyvsp[0].text);
-         }
-+#line 3962 "../parser.c"
-     break;
- 
--  case 170:
--#line 1667 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defsupertype) = (yyvsp[(2) - (3)].defsupertype);
-+  case 170: /* defsupertype_args: '(' defsupertype_arg_list ')'  */
-+#line 1668 "parser.y"
-+                                      {
-+            (yyval.defsupertype) = (yyvsp[-1].defsupertype);
-         }
-+#line 3970 "../parser.c"
-     break;
- 
--  case 172:
--#line 1673 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.defsupertype) = (yyvsp[(1) - (3)].defsupertype);
-+  case 172: /* defsupertype_arg_list: defsupertype_arg_list ',' defsupertype_arg  */
-+#line 1674 "parser.y"
-+                                                   {
-+            (yyval.defsupertype) = (yyvsp[-2].defsupertype);
- 
--            switch ((yyvsp[(3) - (3)].defsupertype).token)
-+            switch ((yyvsp[0].defsupertype).token)
-             {
--            case TK_NAME: (yyval.defsupertype).name = (yyvsp[(3) - (3)].defsupertype).name; break;
-+            case TK_NAME: (yyval.defsupertype).name = (yyvsp[0].defsupertype).name; break;
-             }
-         }
-+#line 3983 "../parser.c"
-     break;
- 
--  case 173:
--#line 1683 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 173: /* defsupertype_arg: TK_NAME '=' dottedname  */
-+#line 1684 "parser.y"
-+                                           {
-             (yyval.defsupertype).token = TK_NAME;
- 
--            (yyval.defsupertype).name = (yyvsp[(3) - (3)].text);
-+            (yyval.defsupertype).name = (yyvsp[0].text);
-         }
-+#line 3993 "../parser.c"
-     break;
- 
--  case 174:
--#line 1690 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 174: /* hiddenns: TK_HIDE_NS hiddenns_args  */
-+#line 1691 "parser.y"
-+                                     {
-             if (notSkipping())
-             {
-                 classDef *ns;
- 
-                 ns = newClass(currentSpec, namespace_iface, NULL,
--                        fullyQualifiedName((yyvsp[(2) - (2)].hiddenns).name), NULL, NULL, NULL, NULL);
-+                        fullyQualifiedName((yyvsp[0].hiddenns).name), NULL, NULL, NULL, NULL);
-                 setHiddenNamespace(ns);
-             }
-         }
-+#line 4008 "../parser.c"
-     break;
- 
--  case 175:
--#line 1702 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 175: /* hiddenns_args: scopedname  */
-+#line 1703 "parser.y"
-+                           {
-             resetLexerState();
- 
--            (yyval.hiddenns).name = (yyvsp[(1) - (1)].scpvalp);
-+            (yyval.hiddenns).name = (yyvsp[0].scpvalp);
-         }
-+#line 4018 "../parser.c"
-     break;
- 
--  case 176:
--#line 1707 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.hiddenns) = (yyvsp[(2) - (3)].hiddenns);
-+  case 176: /* hiddenns_args: '(' hiddenns_arg_list ')'  */
-+#line 1708 "parser.y"
-+                                  {
-+            (yyval.hiddenns) = (yyvsp[-1].hiddenns);
-         }
-+#line 4026 "../parser.c"
-     break;
- 
--  case 178:
--#line 1713 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.hiddenns) = (yyvsp[(1) - (3)].hiddenns);
-+  case 178: /* hiddenns_arg_list: hiddenns_arg_list ',' hiddenns_arg  */
-+#line 1714 "parser.y"
-+                                           {
-+            (yyval.hiddenns) = (yyvsp[-2].hiddenns);
- 
--            switch ((yyvsp[(3) - (3)].hiddenns).token)
-+            switch ((yyvsp[0].hiddenns).token)
-             {
--            case TK_NAME: (yyval.hiddenns).name = (yyvsp[(3) - (3)].hiddenns).name; break;
-+            case TK_NAME: (yyval.hiddenns).name = (yyvsp[0].hiddenns).name; break;
-             }
-         }
-+#line 4039 "../parser.c"
-     break;
- 
--  case 179:
--#line 1723 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 179: /* hiddenns_arg: TK_NAME '=' scopedname  */
-+#line 1724 "parser.y"
-+                                       {
-             (yyval.hiddenns).token = TK_NAME;
- 
--            (yyval.hiddenns).name = (yyvsp[(3) - (3)].scpvalp);
-+            (yyval.hiddenns).name = (yyvsp[0].scpvalp);
-         }
-+#line 4049 "../parser.c"
-     break;
- 
--  case 180:
--#line 1730 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 180: /* consmodule: TK_CONSMODULE consmodule_args consmodule_body  */
-+#line 1731 "parser.y"
-+                                                          {
-             deprecated("%ConsolidatedModule is deprecated and will not be supported by SIP v5");
- 
-             if (notSkipping())
-@@ -4370,99 +4062,109 @@ yyreduce:
-                 if (currentModule->fullname != NULL)
-                     yyerror("%ConsolidatedModule must appear before any %Module or %CModule directive");
- 
--                setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].consmodule).name);
--                currentModule->docstring = (yyvsp[(3) - (3)].consmodule).docstring;
-+                setModuleName(currentSpec, currentModule, (yyvsp[-1].consmodule).name);
-+                currentModule->docstring = (yyvsp[0].consmodule).docstring;
- 
-                 setIsConsolidated(currentModule);
-             }
-         }
-+#line 4072 "../parser.c"
-     break;
- 
--  case 181:
--#line 1750 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 181: /* consmodule_args: dottedname  */
-+#line 1751 "parser.y"
-+                               {
-             resetLexerState();
- 
--            (yyval.consmodule).name = (yyvsp[(1) - (1)].text);
-+            (yyval.consmodule).name = (yyvsp[0].text);
-         }
-+#line 4082 "../parser.c"
-     break;
- 
--  case 182:
--#line 1755 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.consmodule) = (yyvsp[(2) - (3)].consmodule);
-+  case 182: /* consmodule_args: '(' consmodule_arg_list ')'  */
-+#line 1756 "parser.y"
-+                                    {
-+            (yyval.consmodule) = (yyvsp[-1].consmodule);
-         }
-+#line 4090 "../parser.c"
-     break;
- 
--  case 184:
--#line 1761 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.consmodule) = (yyvsp[(1) - (3)].consmodule);
-+  case 184: /* consmodule_arg_list: consmodule_arg_list ',' consmodule_arg  */
-+#line 1762 "parser.y"
-+                                               {
-+            (yyval.consmodule) = (yyvsp[-2].consmodule);
- 
--            switch ((yyvsp[(3) - (3)].consmodule).token)
-+            switch ((yyvsp[0].consmodule).token)
-             {
--            case TK_NAME: (yyval.consmodule).name = (yyvsp[(3) - (3)].consmodule).name; break;
-+            case TK_NAME: (yyval.consmodule).name = (yyvsp[0].consmodule).name; break;
-             }
-         }
-+#line 4103 "../parser.c"
-     break;
- 
--  case 185:
--#line 1771 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 185: /* consmodule_arg: TK_NAME '=' dottedname  */
-+#line 1772 "parser.y"
-+                                       {
-             (yyval.consmodule).token = TK_NAME;
- 
--            (yyval.consmodule).name = (yyvsp[(3) - (3)].text);
-+            (yyval.consmodule).name = (yyvsp[0].text);
-         }
-+#line 4113 "../parser.c"
-     break;
- 
--  case 186:
--#line 1778 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 186: /* consmodule_body: %empty  */
-+#line 1779 "parser.y"
-+                    {
-             (yyval.consmodule).token = 0;
-             (yyval.consmodule).docstring = NULL;
-         }
-+#line 4122 "../parser.c"
-     break;
- 
--  case 187:
--#line 1782 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.consmodule) = (yyvsp[(2) - (4)].consmodule);
-+  case 187: /* consmodule_body: '{' consmodule_body_directives '}' ';'  */
-+#line 1783 "parser.y"
-+                                               {
-+            (yyval.consmodule) = (yyvsp[-2].consmodule);
-         }
-+#line 4130 "../parser.c"
-     break;
- 
--  case 189:
--#line 1788 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.consmodule) = (yyvsp[(1) - (2)].consmodule);
-+  case 189: /* consmodule_body_directives: consmodule_body_directives consmodule_body_directive  */
-+#line 1789 "parser.y"
-+                                                             {
-+            (yyval.consmodule) = (yyvsp[-1].consmodule);
- 
--            switch ((yyvsp[(2) - (2)].consmodule).token)
-+            switch ((yyvsp[0].consmodule).token)
-             {
--            case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[(2) - (2)].consmodule).docstring; break;
-+            case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[0].consmodule).docstring; break;
-             }
-         }
-+#line 4143 "../parser.c"
-     break;
- 
--  case 190:
--#line 1798 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 190: /* consmodule_body_directive: ifstart  */
-+#line 1799 "parser.y"
-+                                    {
-             (yyval.consmodule).token = TK_IF;
-         }
-+#line 4151 "../parser.c"
-     break;
- 
--  case 191:
--#line 1801 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 191: /* consmodule_body_directive: ifend  */
-+#line 1802 "parser.y"
-+              {
-             (yyval.consmodule).token = TK_END;
-         }
-+#line 4159 "../parser.c"
-     break;
- 
--  case 192:
--#line 1804 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 192: /* consmodule_body_directive: docstring  */
-+#line 1805 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 (yyval.consmodule).token = TK_DOCSTRING;
--                (yyval.consmodule).docstring = (yyvsp[(1) - (1)].docstr);
-+                (yyval.consmodule).docstring = (yyvsp[0].docstr);
-             }
-             else
-             {
-@@ -4470,11 +4172,12 @@ yyreduce:
-                 (yyval.consmodule).docstring = NULL;
-             }
-         }
-+#line 4176 "../parser.c"
-     break;
- 
--  case 193:
--#line 1818 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 193: /* compmodule: TK_COMPOMODULE compmodule_args compmodule_body  */
-+#line 1819 "parser.y"
-+                                                           {
-             if (notSkipping())
-             {
-                 /* Make sure this is the first mention of a module. */
-@@ -4484,99 +4187,109 @@ yyreduce:
-                 if (currentModule->fullname != NULL)
-                     yyerror("%CompositeModule must appear before any %Module directive");
- 
--                setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].compmodule).name);
--                currentModule->docstring = (yyvsp[(3) - (3)].compmodule).docstring;
-+                setModuleName(currentSpec, currentModule, (yyvsp[-1].compmodule).name);
-+                currentModule->docstring = (yyvsp[0].compmodule).docstring;
- 
-                 setIsComposite(currentModule);
-             }
-         }
-+#line 4197 "../parser.c"
-     break;
- 
--  case 194:
--#line 1836 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 194: /* compmodule_args: dottedname  */
-+#line 1837 "parser.y"
-+                               {
-             resetLexerState();
- 
--            (yyval.compmodule).name = (yyvsp[(1) - (1)].text);
-+            (yyval.compmodule).name = (yyvsp[0].text);
-         }
-+#line 4207 "../parser.c"
-     break;
- 
--  case 195:
--#line 1841 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.compmodule) = (yyvsp[(2) - (3)].compmodule);
-+  case 195: /* compmodule_args: '(' compmodule_arg_list ')'  */
-+#line 1842 "parser.y"
-+                                    {
-+            (yyval.compmodule) = (yyvsp[-1].compmodule);
-         }
-+#line 4215 "../parser.c"
-     break;
- 
--  case 197:
--#line 1847 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.compmodule) = (yyvsp[(1) - (3)].compmodule);
-+  case 197: /* compmodule_arg_list: compmodule_arg_list ',' compmodule_arg  */
-+#line 1848 "parser.y"
-+                                               {
-+            (yyval.compmodule) = (yyvsp[-2].compmodule);
- 
--            switch ((yyvsp[(3) - (3)].compmodule).token)
-+            switch ((yyvsp[0].compmodule).token)
-             {
--            case TK_NAME: (yyval.compmodule).name = (yyvsp[(3) - (3)].compmodule).name; break;
-+            case TK_NAME: (yyval.compmodule).name = (yyvsp[0].compmodule).name; break;
-             }
-         }
-+#line 4228 "../parser.c"
-     break;
- 
--  case 198:
--#line 1857 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 198: /* compmodule_arg: TK_NAME '=' dottedname  */
-+#line 1858 "parser.y"
-+                                       {
-             (yyval.compmodule).token = TK_NAME;
- 
--            (yyval.compmodule).name = (yyvsp[(3) - (3)].text);
-+            (yyval.compmodule).name = (yyvsp[0].text);
-         }
-+#line 4238 "../parser.c"
-     break;
- 
--  case 199:
--#line 1864 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 199: /* compmodule_body: %empty  */
-+#line 1865 "parser.y"
-+                    {
-             (yyval.compmodule).token = 0;
-             (yyval.compmodule).docstring = NULL;
-         }
-+#line 4247 "../parser.c"
-     break;
- 
--  case 200:
--#line 1868 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.compmodule) = (yyvsp[(2) - (4)].compmodule);
-+  case 200: /* compmodule_body: '{' compmodule_body_directives '}' ';'  */
-+#line 1869 "parser.y"
-+                                               {
-+            (yyval.compmodule) = (yyvsp[-2].compmodule);
-         }
-+#line 4255 "../parser.c"
-     break;
- 
--  case 202:
--#line 1874 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.compmodule) = (yyvsp[(1) - (2)].compmodule);
-+  case 202: /* compmodule_body_directives: compmodule_body_directives compmodule_body_directive  */
-+#line 1875 "parser.y"
-+                                                             {
-+            (yyval.compmodule) = (yyvsp[-1].compmodule);
- 
--            switch ((yyvsp[(2) - (2)].compmodule).token)
-+            switch ((yyvsp[0].compmodule).token)
-             {
--            case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[(2) - (2)].compmodule).docstring; break;
-+            case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[0].compmodule).docstring; break;
-             }
-         }
-+#line 4268 "../parser.c"
-     break;
- 
--  case 203:
--#line 1884 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 203: /* compmodule_body_directive: ifstart  */
-+#line 1885 "parser.y"
-+                                    {
-             (yyval.compmodule).token = TK_IF;
-         }
-+#line 4276 "../parser.c"
-     break;
- 
--  case 204:
--#line 1887 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 204: /* compmodule_body_directive: ifend  */
-+#line 1888 "parser.y"
-+              {
-             (yyval.compmodule).token = TK_END;
-         }
-+#line 4284 "../parser.c"
-     break;
- 
--  case 205:
--#line 1890 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 205: /* compmodule_body_directive: docstring  */
-+#line 1891 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 (yyval.compmodule).token = TK_DOCSTRING;
--                (yyval.compmodule).docstring = (yyvsp[(1) - (1)].docstr);
-+                (yyval.compmodule).docstring = (yyvsp[0].docstr);
-             }
-             else
-             {
-@@ -4584,107 +4297,119 @@ yyreduce:
-                 (yyval.compmodule).docstring = NULL;
-             }
-         }
-+#line 4301 "../parser.c"
-     break;
- 
--  case 206:
--#line 1904 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (3)].module).name == NULL)
-+  case 206: /* module: TK_MODULE module_args module_body  */
-+#line 1905 "parser.y"
-+                                          {
-+            if ((yyvsp[-1].module).name == NULL)
-                 yyerror("%Module must have a 'name' argument");
- 
-             if (notSkipping())
-                 currentModule = configureModule(currentSpec, currentModule,
--                        currentContext.filename, (yyvsp[(2) - (3)].module).name, (yyvsp[(2) - (3)].module).c_module,
--                        (yyvsp[(2) - (3)].module).kwargs, (yyvsp[(2) - (3)].module).use_arg_names, (yyvsp[(2) - (3)].module).use_limited_api,
--                        (yyvsp[(2) - (3)].module).call_super_init, (yyvsp[(2) - (3)].module).all_raise_py_exc,
--                        (yyvsp[(2) - (3)].module).def_error_handler, (yyvsp[(3) - (3)].module).docstring);
--        }
-+                        currentContext.filename, (yyvsp[-1].module).name, (yyvsp[-1].module).c_module,
-+                        (yyvsp[-1].module).kwargs, (yyvsp[-1].module).use_arg_names, (yyvsp[-1].module).py_ssize_t_clean,
-+                        (yyvsp[-1].module).use_limited_api, (yyvsp[-1].module).call_super_init,
-+                        (yyvsp[-1].module).all_raise_py_exc, (yyvsp[-1].module).def_error_handler,
-+                        (yyvsp[0].module).docstring);
-+        }
-+#line 4318 "../parser.c"
-     break;
- 
--  case 207:
--#line 1915 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 207: /* module: TK_CMODULE dottedname optnumber  */
-+#line 1917 "parser.y"
-+                                        {
-             deprecated("%CModule is deprecated, use %Module and the 'language' argument instead");
- 
-             if (notSkipping())
-                 currentModule = configureModule(currentSpec, currentModule,
--                        currentContext.filename, (yyvsp[(2) - (3)].text), TRUE, defaultKwArgs,
--                        FALSE, FALSE, -1, FALSE, NULL, NULL);
-+                        currentContext.filename, (yyvsp[-1].text), TRUE, defaultKwArgs,
-+                        FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
-         }
-+#line 4331 "../parser.c"
-     break;
- 
--  case 208:
--#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {resetLexerState();}
-+  case 208: /* $@8: %empty  */
-+#line 1927 "parser.y"
-+                           {resetLexerState();}
-+#line 4337 "../parser.c"
-     break;
- 
--  case 209:
--#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(3) - (3)].number) >= 0)
-+  case 209: /* module_args: dottedname $@8 optnumber  */
-+#line 1927 "parser.y"
-+                                                          {
-+            if ((yyvsp[0].number) >= 0)
-                 deprecated("%Module version number should be specified using the 'version' argument");
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
--            (yyval.module).name = (yyvsp[(1) - (3)].text);
-+            (yyval.module).name = (yyvsp[-2].text);
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4356 "../parser.c"
-     break;
- 
--  case 210:
--#line 1938 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.module) = (yyvsp[(2) - (3)].module);
-+  case 210: /* module_args: '(' module_arg_list ')'  */
-+#line 1941 "parser.y"
-+                                {
-+            (yyval.module) = (yyvsp[-1].module);
-         }
-+#line 4364 "../parser.c"
-     break;
- 
--  case 212:
--#line 1944 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.module) = (yyvsp[(1) - (3)].module);
-+  case 212: /* module_arg_list: module_arg_list ',' module_arg  */
-+#line 1947 "parser.y"
-+                                       {
-+            (yyval.module) = (yyvsp[-2].module);
- 
--            switch ((yyvsp[(3) - (3)].module).token)
-+            switch ((yyvsp[0].module).token)
-             {
--            case TK_KWARGS: (yyval.module).kwargs = (yyvsp[(3) - (3)].module).kwargs; break;
--            case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[(3) - (3)].module).c_module; break;
--            case TK_NAME: (yyval.module).name = (yyvsp[(3) - (3)].module).name; break;
--            case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[(3) - (3)].module).use_arg_names; break;
--            case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[(3) - (3)].module).use_limited_api; break;
--            case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].module).all_raise_py_exc; break;
--            case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[(3) - (3)].module).call_super_init; break;
--            case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[(3) - (3)].module).def_error_handler; break;
-+            case TK_KWARGS: (yyval.module).kwargs = (yyvsp[0].module).kwargs; break;
-+            case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[0].module).c_module; break;
-+            case TK_NAME: (yyval.module).name = (yyvsp[0].module).name; break;
-+            case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[0].module).use_arg_names; break;
-+            case TK_PYSSIZETCLEAN: (yyval.module).py_ssize_t_clean = (yyvsp[0].module).py_ssize_t_clean; break;
-+            case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[0].module).use_limited_api; break;
-+            case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[0].module).all_raise_py_exc; break;
-+            case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[0].module).call_super_init; break;
-+            case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[0].module).def_error_handler; break;
-             }
-         }
-+#line 4385 "../parser.c"
-     break;
- 
--  case 213:
--#line 1961 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 213: /* module_arg: TK_KWARGS '=' TK_STRING_VALUE  */
-+#line 1965 "parser.y"
-+                                          {
-             (yyval.module).token = TK_KWARGS;
- 
-             (yyval.module).c_module = FALSE;
--            (yyval.module).kwargs = convertKwArgs((yyvsp[(3) - (3)].text));
-+            (yyval.module).kwargs = convertKwArgs((yyvsp[0].text));
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4403 "../parser.c"
-     break;
- 
--  case 214:
--#line 1973 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 214: /* module_arg: TK_LANGUAGE '=' TK_STRING_VALUE  */
-+#line 1978 "parser.y"
-+                                        {
-             (yyval.module).token = TK_LANGUAGE;
- 
--            if (strcmp((yyvsp[(3) - (3)].text), "C++") == 0)
-+            if (strcmp((yyvsp[0].text), "C++") == 0)
-                 (yyval.module).c_module = FALSE;
--            else if (strcmp((yyvsp[(3) - (3)].text), "C") == 0)
-+            else if (strcmp((yyvsp[0].text), "C") == 0)
-                 (yyval.module).c_module = TRUE;
-             else
-                 yyerror("%Module 'language' argument must be either \"C++\" or \"C\"");
-@@ -4692,115 +4417,147 @@ yyreduce:
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4427 "../parser.c"
-     break;
- 
--  case 215:
--#line 1991 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 215: /* module_arg: TK_NAME '=' dottedname  */
-+#line 1997 "parser.y"
-+                               {
-             (yyval.module).token = TK_NAME;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
--            (yyval.module).name = (yyvsp[(3) - (3)].text);
-+            (yyval.module).name = (yyvsp[0].text);
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4445 "../parser.c"
-     break;
- 
--  case 216:
--#line 2003 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 216: /* module_arg: TK_USEARGNAMES '=' bool_value  */
-+#line 2010 "parser.y"
-+                                      {
-             (yyval.module).token = TK_USEARGNAMES;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
--            (yyval.module).use_arg_names = (yyvsp[(3) - (3)].boolean);
-+            (yyval.module).use_arg_names = (yyvsp[0].boolean);
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4463 "../parser.c"
-     break;
- 
--  case 217:
--#line 2015 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 217: /* module_arg: TK_PYSSIZETCLEAN '=' bool_value  */
-+#line 2023 "parser.y"
-+                                        {
-+            (yyval.module).token = TK_PYSSIZETCLEAN;
-+
-+            (yyval.module).c_module = FALSE;
-+            (yyval.module).kwargs = defaultKwArgs;
-+            (yyval.module).name = NULL;
-+            (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = (yyvsp[0].boolean);
-+            (yyval.module).use_limited_api = FALSE;
-+            (yyval.module).all_raise_py_exc = FALSE;
-+            (yyval.module).call_super_init = -1;
-+            (yyval.module).def_error_handler = NULL;
-+        }
-+#line 4481 "../parser.c"
-+    break;
-+
-+  case 218: /* module_arg: TK_USELIMITEDAPI '=' bool_value  */
-+#line 2036 "parser.y"
-+                                        {
-             (yyval.module).token = TK_USELIMITEDAPI;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
--            (yyval.module).use_limited_api = (yyvsp[(3) - (3)].boolean);
-+            (yyval.module).py_ssize_t_clean = FALSE;
-+            (yyval.module).use_limited_api = (yyvsp[0].boolean);
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4499 "../parser.c"
-     break;
- 
--  case 218:
--#line 2027 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 219: /* module_arg: TK_ALLRAISEPYEXC '=' bool_value  */
-+#line 2049 "parser.y"
-+                                        {
-             (yyval.module).token = TK_ALLRAISEPYEXC;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
--            (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].boolean);
-+            (yyval.module).all_raise_py_exc = (yyvsp[0].boolean);
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4517 "../parser.c"
-     break;
- 
--  case 219:
--#line 2039 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 220: /* module_arg: TK_CALLSUPERINIT '=' bool_value  */
-+#line 2062 "parser.y"
-+                                        {
-             (yyval.module).token = TK_CALLSUPERINIT;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
--            (yyval.module).call_super_init = (yyvsp[(3) - (3)].boolean);
-+            (yyval.module).call_super_init = (yyvsp[0].boolean);
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4535 "../parser.c"
-     break;
- 
--  case 220:
--#line 2051 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 221: /* module_arg: TK_DEFERRORHANDLER '=' TK_NAME_VALUE  */
-+#line 2075 "parser.y"
-+                                             {
-             (yyval.module).token = TK_DEFERRORHANDLER;
- 
-             (yyval.module).c_module = FALSE;
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
--            (yyval.module).def_error_handler = (yyvsp[(3) - (3)].text);
-+            (yyval.module).def_error_handler = (yyvsp[0].text);
-         }
-+#line 4553 "../parser.c"
-     break;
- 
--  case 221:
--#line 2063 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 222: /* module_arg: TK_VERSION '=' TK_NUMBER_VALUE  */
-+#line 2088 "parser.y"
-+                                       {
-             deprecated("%Module version numbers are deprecated and ignored");
- 
--            if ((yyvsp[(3) - (3)].number) < 0)
-+            if ((yyvsp[0].number) < 0)
-                 yyerror("%Module 'version' argument cannot be negative");
- 
-             (yyval.module).token = TK_VERSION;
-@@ -4809,68 +4566,76 @@ yyreduce:
-             (yyval.module).kwargs = defaultKwArgs;
-             (yyval.module).name = NULL;
-             (yyval.module).use_arg_names = FALSE;
-+            (yyval.module).py_ssize_t_clean = FALSE;
-             (yyval.module).use_limited_api = FALSE;
-             (yyval.module).all_raise_py_exc = FALSE;
-             (yyval.module).call_super_init = -1;
-             (yyval.module).def_error_handler = NULL;
-         }
-+#line 4576 "../parser.c"
-     break;
- 
--  case 222:
--#line 2082 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 223: /* module_body: %empty  */
-+#line 2108 "parser.y"
-+                {
-             (yyval.module).token = 0;
-             (yyval.module).docstring = NULL;
-         }
-+#line 4585 "../parser.c"
-     break;
- 
--  case 223:
--#line 2086 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.module) = (yyvsp[(2) - (4)].module);
-+  case 224: /* module_body: '{' module_body_directives '}' ';'  */
-+#line 2112 "parser.y"
-+                                           {
-+            (yyval.module) = (yyvsp[-2].module);
-         }
-+#line 4593 "../parser.c"
-     break;
- 
--  case 225:
--#line 2092 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.module) = (yyvsp[(1) - (2)].module);
-+  case 226: /* module_body_directives: module_body_directives module_body_directive  */
-+#line 2118 "parser.y"
-+                                                     {
-+            (yyval.module) = (yyvsp[-1].module);
- 
--            switch ((yyvsp[(2) - (2)].module).token)
-+            switch ((yyvsp[0].module).token)
-             {
--            case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[(2) - (2)].module).docstring; break;
-+            case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[0].module).docstring; break;
-             }
-         }
-+#line 4606 "../parser.c"
-     break;
- 
--  case 226:
--#line 2102 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 227: /* module_body_directive: ifstart  */
-+#line 2128 "parser.y"
-+                                {
-             (yyval.module).token = TK_IF;
-         }
-+#line 4614 "../parser.c"
-     break;
- 
--  case 227:
--#line 2105 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 228: /* module_body_directive: ifend  */
-+#line 2131 "parser.y"
-+              {
-             (yyval.module).token = TK_END;
-         }
-+#line 4622 "../parser.c"
-     break;
- 
--  case 228:
--#line 2108 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 229: /* module_body_directive: autopyname  */
-+#line 2134 "parser.y"
-+                   {
-             (yyval.module).token = TK_AUTOPYNAME;
-         }
-+#line 4630 "../parser.c"
-     break;
- 
--  case 229:
--#line 2111 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 230: /* module_body_directive: docstring  */
-+#line 2137 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 (yyval.module).token = TK_DOCSTRING;
--                (yyval.module).docstring = (yyvsp[(1) - (1)].docstr);
-+                (yyval.module).docstring = (yyvsp[0].docstr);
-             }
-             else
-             {
-@@ -4878,11 +4643,12 @@ yyreduce:
-                 (yyval.module).docstring = NULL;
-             }
-         }
-+#line 4647 "../parser.c"
-     break;
- 
--  case 231:
--#line 2126 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 232: /* dottedname: TK_PATH_VALUE  */
-+#line 2152 "parser.y"
-+                      {
-             /*
-              * The grammar design is a bit broken and this is the easiest way
-              * to allow periods in names.
-@@ -4890,435 +4656,487 @@ yyreduce:
- 
-             char *cp;
- 
--            for (cp = (yyvsp[(1) - (1)].text); *cp != '\0'; ++cp)
-+            for (cp = (yyvsp[0].text); *cp != '\0'; ++cp)
-                 if (*cp != '.' && *cp != '_' && !isalnum(*cp))
-                     yyerror("Invalid character in name");
- 
--            (yyval.text) = (yyvsp[(1) - (1)].text);
-+            (yyval.text) = (yyvsp[0].text);
-         }
-+#line 4666 "../parser.c"
-     break;
- 
--  case 232:
--#line 2142 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 233: /* optnumber: %empty  */
-+#line 2168 "parser.y"
-+            {
-             (yyval.number) = -1;
-         }
-+#line 4674 "../parser.c"
-     break;
- 
--  case 234:
--#line 2148 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (2)].include).name == NULL)
-+  case 235: /* include: TK_INCLUDE include_args  */
-+#line 2174 "parser.y"
-+                                    {
-+            if ((yyvsp[0].include).name == NULL)
-                 yyerror("%Include must have a 'name' argument");
- 
-             if (notSkipping())
--                parseFile(NULL, (yyvsp[(2) - (2)].include).name, NULL, (yyvsp[(2) - (2)].include).optional);
-+                parseFile(NULL, (yyvsp[0].include).name, NULL, (yyvsp[0].include).optional);
-         }
-+#line 4686 "../parser.c"
-     break;
- 
--  case 235:
--#line 2157 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 236: /* include_args: TK_PATH_VALUE  */
-+#line 2183 "parser.y"
-+                              {
-             resetLexerState();
- 
--            (yyval.include).name = (yyvsp[(1) - (1)].text);
-+            (yyval.include).name = (yyvsp[0].text);
-             (yyval.include).optional = FALSE;
-         }
-+#line 4697 "../parser.c"
-     break;
- 
--  case 236:
--#line 2163 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.include) = (yyvsp[(2) - (3)].include);
-+  case 237: /* include_args: '(' include_arg_list ')'  */
-+#line 2189 "parser.y"
-+                                 {
-+            (yyval.include) = (yyvsp[-1].include);
-         }
-+#line 4705 "../parser.c"
-     break;
- 
--  case 238:
--#line 2169 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.include) = (yyvsp[(1) - (3)].include);
-+  case 239: /* include_arg_list: include_arg_list ',' include_arg  */
-+#line 2195 "parser.y"
-+                                         {
-+            (yyval.include) = (yyvsp[-2].include);
- 
--            switch ((yyvsp[(3) - (3)].include).token)
-+            switch ((yyvsp[0].include).token)
-             {
--            case TK_NAME: (yyval.include).name = (yyvsp[(3) - (3)].include).name; break;
--            case TK_OPTIONAL: (yyval.include).optional = (yyvsp[(3) - (3)].include).optional; break;
-+            case TK_NAME: (yyval.include).name = (yyvsp[0].include).name; break;
-+            case TK_OPTIONAL: (yyval.include).optional = (yyvsp[0].include).optional; break;
-             }
-         }
-+#line 4719 "../parser.c"
-     break;
- 
--  case 239:
--#line 2180 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 240: /* include_arg: TK_NAME '=' TK_PATH_VALUE  */
-+#line 2206 "parser.y"
-+                                          {
-             (yyval.include).token = TK_NAME;
- 
--            (yyval.include).name = (yyvsp[(3) - (3)].text);
-+            (yyval.include).name = (yyvsp[0].text);
-             (yyval.include).optional = FALSE;
-         }
-+#line 4730 "../parser.c"
-     break;
- 
--  case 240:
--#line 2186 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 241: /* include_arg: TK_OPTIONAL '=' bool_value  */
-+#line 2212 "parser.y"
-+                                   {
-             (yyval.include).token = TK_OPTIONAL;
- 
-             (yyval.include).name = NULL;
--            (yyval.include).optional = (yyvsp[(3) - (3)].boolean);
-+            (yyval.include).optional = (yyvsp[0].boolean);
-         }
-+#line 4741 "../parser.c"
-     break;
- 
--  case 241:
--#line 2194 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 242: /* optinclude: TK_OPTINCLUDE TK_PATH_VALUE  */
-+#line 2220 "parser.y"
-+                                        {
-             deprecated("%OptionalInclude is deprecated, use %Include and the 'optional' argument instead");
- 
-             if (notSkipping())
--                parseFile(NULL, (yyvsp[(2) - (2)].text), NULL, TRUE);
-+                parseFile(NULL, (yyvsp[0].text), NULL, TRUE);
-         }
-+#line 4752 "../parser.c"
-     break;
- 
--  case 242:
--#line 2202 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 243: /* import: TK_IMPORT import_args  */
-+#line 2228 "parser.y"
-+                                  {
-             if (notSkipping())
--                newImport((yyvsp[(2) - (2)].import).name);
-+                newImport((yyvsp[0].import).name);
-         }
-+#line 4761 "../parser.c"
-     break;
- 
--  case 243:
--#line 2208 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 244: /* import_args: TK_PATH_VALUE  */
-+#line 2234 "parser.y"
-+                              {
-             resetLexerState();
- 
--            (yyval.import).name = (yyvsp[(1) - (1)].text);
-+            (yyval.import).name = (yyvsp[0].text);
-         }
-+#line 4771 "../parser.c"
-     break;
- 
--  case 244:
--#line 2213 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.import) = (yyvsp[(2) - (3)].import);
-+  case 245: /* import_args: '(' import_arg_list ')'  */
-+#line 2239 "parser.y"
-+                                {
-+            (yyval.import) = (yyvsp[-1].import);
-         }
-+#line 4779 "../parser.c"
-     break;
- 
--  case 246:
--#line 2219 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.import) = (yyvsp[(1) - (3)].import);
-+  case 247: /* import_arg_list: import_arg_list ',' import_arg  */
-+#line 2245 "parser.y"
-+                                       {
-+            (yyval.import) = (yyvsp[-2].import);
- 
--            switch ((yyvsp[(3) - (3)].import).token)
-+            switch ((yyvsp[0].import).token)
-             {
--            case TK_NAME: (yyval.import).name = (yyvsp[(3) - (3)].import).name; break;
-+            case TK_NAME: (yyval.import).name = (yyvsp[0].import).name; break;
-             }
-         }
-+#line 4792 "../parser.c"
-     break;
- 
--  case 247:
--#line 2229 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 248: /* import_arg: TK_NAME '=' TK_PATH_VALUE  */
-+#line 2255 "parser.y"
-+                                      {
-             (yyval.import).token = TK_NAME;
- 
--            (yyval.import).name = (yyvsp[(3) - (3)].text);
-+            (yyval.import).name = (yyvsp[0].text);
-         }
-+#line 4802 "../parser.c"
-     break;
- 
--  case 248:
--#line 2236 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 249: /* optaccesscode: %empty  */
-+#line 2262 "parser.y"
-+                {
-             (yyval.codeb) = NULL;
-         }
-+#line 4810 "../parser.c"
-     break;
- 
--  case 249:
--#line 2239 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 250: /* optaccesscode: TK_ACCESSCODE codeblock  */
-+#line 2265 "parser.y"
-+                                {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4818 "../parser.c"
-     break;
- 
--  case 250:
--#line 2244 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 251: /* optgetcode: %empty  */
-+#line 2270 "parser.y"
-+            {
-             (yyval.codeb) = NULL;
-         }
-+#line 4826 "../parser.c"
-     break;
- 
--  case 251:
--#line 2247 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 252: /* optgetcode: TK_GETCODE codeblock  */
-+#line 2273 "parser.y"
-+                             {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4834 "../parser.c"
-     break;
- 
--  case 252:
--#line 2252 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 253: /* optsetcode: %empty  */
-+#line 2278 "parser.y"
-+            {
-             (yyval.codeb) = NULL;
-         }
-+#line 4842 "../parser.c"
-     break;
- 
--  case 253:
--#line 2255 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 254: /* optsetcode: TK_SETCODE codeblock  */
-+#line 2281 "parser.y"
-+                             {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4850 "../parser.c"
-     break;
- 
--  case 254:
--#line 2260 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 255: /* copying: TK_COPYING codeblock  */
-+#line 2286 "parser.y"
-+                                 {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->copying, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->copying, (yyvsp[0].codeb));
-         }
-+#line 4859 "../parser.c"
-     break;
- 
--  case 255:
--#line 2266 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 256: /* exphdrcode: TK_EXPHEADERCODE codeblock  */
-+#line 2292 "parser.y"
-+                                       {
-             if (notSkipping())
--                appendCodeBlock(&currentSpec->exphdrcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentSpec->exphdrcode, (yyvsp[0].codeb));
-         }
-+#line 4868 "../parser.c"
-     break;
- 
--  case 256:
--#line 2272 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 257: /* modhdrcode: TK_MODHEADERCODE codeblock  */
-+#line 2298 "parser.y"
-+                                       {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->hdrcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->hdrcode, (yyvsp[0].codeb));
-         }
-+#line 4877 "../parser.c"
-     break;
- 
--  case 257:
--#line 2278 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 258: /* typehdrcode: TK_TYPEHEADERCODE codeblock  */
-+#line 2304 "parser.y"
-+                                            {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4885 "../parser.c"
-     break;
- 
--  case 258:
--#line 2283 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 259: /* travcode: TK_TRAVERSECODE codeblock  */
-+#line 2309 "parser.y"
-+                                      {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4893 "../parser.c"
-     break;
- 
--  case 259:
--#line 2288 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 260: /* clearcode: TK_CLEARCODE codeblock  */
-+#line 2314 "parser.y"
-+                                   {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4901 "../parser.c"
-     break;
- 
--  case 260:
--#line 2293 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 261: /* getbufcode: TK_GETBUFFERCODE codeblock  */
-+#line 2319 "parser.y"
-+                                       {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4909 "../parser.c"
-     break;
- 
--  case 261:
--#line 2298 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 262: /* releasebufcode: TK_RELEASEBUFFERCODE codeblock  */
-+#line 2324 "parser.y"
-+                                               {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4917 "../parser.c"
-     break;
- 
--  case 262:
--#line 2303 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 263: /* readbufcode: TK_READBUFFERCODE codeblock  */
-+#line 2329 "parser.y"
-+                                            {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4925 "../parser.c"
-     break;
- 
--  case 263:
--#line 2308 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 264: /* writebufcode: TK_WRITEBUFFERCODE codeblock  */
-+#line 2334 "parser.y"
-+                                             {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4933 "../parser.c"
-     break;
- 
--  case 264:
--#line 2313 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 265: /* segcountcode: TK_SEGCOUNTCODE codeblock  */
-+#line 2339 "parser.y"
-+                                          {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4941 "../parser.c"
-     break;
- 
--  case 265:
--#line 2318 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 266: /* charbufcode: TK_CHARBUFFERCODE codeblock  */
-+#line 2344 "parser.y"
-+                                            {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4949 "../parser.c"
-     break;
- 
--  case 266:
--#line 2323 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 267: /* instancecode: TK_INSTANCECODE codeblock  */
-+#line 2349 "parser.y"
-+                                          {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4957 "../parser.c"
-     break;
- 
--  case 267:
--#line 2328 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 268: /* picklecode: TK_PICKLECODE codeblock  */
-+#line 2354 "parser.y"
-+                                    {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4965 "../parser.c"
-     break;
- 
--  case 268:
--#line 2333 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 269: /* finalcode: TK_FINALCODE codeblock  */
-+#line 2359 "parser.y"
-+                                   {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4973 "../parser.c"
-     break;
- 
--  case 269:
--#line 2338 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 270: /* modcode: TK_MODCODE codeblock  */
-+#line 2364 "parser.y"
-+                                 {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->cppcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->cppcode, (yyvsp[0].codeb));
-         }
-+#line 4982 "../parser.c"
-     break;
- 
--  case 270:
--#line 2344 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 271: /* typecode: TK_TYPECODE codeblock  */
-+#line 2370 "parser.y"
-+                                  {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 4990 "../parser.c"
-     break;
- 
--  case 271:
--#line 2349 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 272: /* preinitcode: TK_PREINITCODE codeblock  */
-+#line 2375 "parser.y"
-+                                         {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->preinitcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->preinitcode, (yyvsp[0].codeb));
-         }
-+#line 4999 "../parser.c"
-     break;
- 
--  case 272:
--#line 2355 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 273: /* initcode: TK_INITCODE codeblock  */
-+#line 2381 "parser.y"
-+                                  {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->initcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->initcode, (yyvsp[0].codeb));
-         }
-+#line 5008 "../parser.c"
-     break;
- 
--  case 273:
--#line 2361 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 274: /* postinitcode: TK_POSTINITCODE codeblock  */
-+#line 2387 "parser.y"
-+                                          {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->postinitcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->postinitcode, (yyvsp[0].codeb));
-         }
-+#line 5017 "../parser.c"
-     break;
- 
--  case 274:
--#line 2367 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 275: /* unitcode: TK_UNITCODE codeblock  */
-+#line 2393 "parser.y"
-+                                  {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->unitcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->unitcode, (yyvsp[0].codeb));
-         }
-+#line 5026 "../parser.c"
-     break;
- 
--  case 275:
--#line 2373 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 276: /* unitpostinccode: TK_UNITPOSTINCLUDECODE codeblock  */
-+#line 2399 "parser.y"
-+                                                     {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->unitpostinccode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->unitpostinccode, (yyvsp[0].codeb));
-         }
-+#line 5035 "../parser.c"
-     break;
- 
--  case 276:
--#line 2379 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 277: /* prepycode: TK_PREPYCODE codeblock  */
-+#line 2405 "parser.y"
-+                                   {
-             /* Deprecated. */
-         }
-+#line 5043 "../parser.c"
-     break;
- 
--  case 277:
--#line 2384 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 278: /* exptypehintcode: TK_EXPTYPEHINTCODE codeblock  */
-+#line 2410 "parser.y"
-+                                              {
-             if (notSkipping() && !inMainModule())
--                appendCodeBlock(&currentSpec->exptypehintcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentSpec->exptypehintcode, (yyvsp[0].codeb));
-         }
-+#line 5052 "../parser.c"
-     break;
- 
--  case 278:
--#line 2390 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 279: /* modtypehintcode: TK_TYPEHINTCODE codeblock  */
-+#line 2416 "parser.y"
-+                                           {
-             if (notSkipping())
--                appendCodeBlock(&currentModule->typehintcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentModule->typehintcode, (yyvsp[0].codeb));
-         }
-+#line 5061 "../parser.c"
-     break;
- 
--  case 279:
--#line 2396 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 280: /* classtypehintcode: TK_TYPEHINTCODE codeblock  */
-+#line 2422 "parser.y"
-+                                             {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 5069 "../parser.c"
-     break;
- 
--  case 280:
--#line 2401 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 281: /* doc: TK_DOC codeblock  */
-+#line 2427 "parser.y"
-+                             {
-             if (notSkipping() && inMainModule())
--                appendCodeBlock(&currentSpec->docs, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentSpec->docs, (yyvsp[0].codeb));
-         }
-+#line 5078 "../parser.c"
-     break;
- 
--  case 281:
--#line 2407 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 282: /* exporteddoc: TK_EXPORTEDDOC codeblock  */
-+#line 2433 "parser.y"
-+                                         {
-             if (notSkipping())
--                appendCodeBlock(&currentSpec->docs, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&currentSpec->docs, (yyvsp[0].codeb));
-         }
-+#line 5087 "../parser.c"
-     break;
- 
--  case 282:
--#line 2413 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 283: /* autopyname: TK_AUTOPYNAME autopyname_args  */
-+#line 2439 "parser.y"
-+                                          {
-             if (notSkipping())
--                addAutoPyName(currentModule, (yyvsp[(2) - (2)].autopyname).remove_leading);
-+                addAutoPyName(currentModule, (yyvsp[0].autopyname).remove_leading);
-         }
-+#line 5096 "../parser.c"
-     break;
- 
--  case 283:
--#line 2419 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.autopyname) = (yyvsp[(2) - (3)].autopyname);
-+  case 284: /* autopyname_args: '(' autopyname_arg_list ')'  */
-+#line 2445 "parser.y"
-+                                                {
-+            (yyval.autopyname) = (yyvsp[-1].autopyname);
-         }
-+#line 5104 "../parser.c"
-     break;
- 
--  case 285:
--#line 2425 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.autopyname) = (yyvsp[(1) - (3)].autopyname);
-+  case 286: /* autopyname_arg_list: autopyname_arg_list ',' autopyname_arg  */
-+#line 2451 "parser.y"
-+                                               {
-+            (yyval.autopyname) = (yyvsp[-2].autopyname);
- 
--            switch ((yyvsp[(3) - (3)].autopyname).token)
-+            switch ((yyvsp[0].autopyname).token)
-             {
--            case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].autopyname).remove_leading; break;
-+            case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[0].autopyname).remove_leading; break;
-             }
-         }
-+#line 5117 "../parser.c"
-     break;
- 
--  case 286:
--#line 2435 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 287: /* autopyname_arg: TK_REMOVELEADING '=' TK_STRING_VALUE  */
-+#line 2461 "parser.y"
-+                                                     {
-             (yyval.autopyname).token = TK_REMOVELEADING;
- 
--            (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].text);
-+            (yyval.autopyname).remove_leading = (yyvsp[0].text);
-         }
-+#line 5127 "../parser.c"
-     break;
- 
--  case 287:
--#line 2442 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 288: /* docstring: TK_DOCSTRING docstring_args codeblock  */
-+#line 2468 "parser.y"
-+                                                  {
-             (yyval.docstr) = sipMalloc(sizeof(docstringDef));
- 
--            (yyval.docstr)->signature = (yyvsp[(2) - (3)].docstring).signature;
--            (yyval.docstr)->text = (yyvsp[(3) - (3)].codeb)->frag;
--            free((yyvsp[(3) - (3)].codeb));
-+            (yyval.docstr)->signature = (yyvsp[-1].docstring).signature;
-+            (yyval.docstr)->text = (yyvsp[0].codeb)->frag;
-+            free((yyvsp[0].codeb));
- 
-             /* Format the docstring. */
--            if ((yyvsp[(2) - (3)].docstring).format == deindented)
-+            if ((yyvsp[-1].docstring).format == deindented)
-             {
-                 const char *cp;
-                 char *dp;
-@@ -5392,159 +5210,175 @@ yyreduce:
-                 *dp = '\0';
-             }
-         }
-+#line 5214 "../parser.c"
-     break;
- 
--  case 288:
--#line 2526 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 289: /* docstring_args: %empty  */
-+#line 2552 "parser.y"
-+                {
-             (yyval.docstring).format = currentModule->defdocstringfmt;
-             (yyval.docstring).signature = currentModule->defdocstringsig;
-         }
-+#line 5223 "../parser.c"
-     break;
- 
--  case 289:
--#line 2530 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 290: /* docstring_args: TK_STRING_VALUE  */
-+#line 2556 "parser.y"
-+                        {
-             resetLexerState();
- 
--            (yyval.docstring).format = convertFormat((yyvsp[(1) - (1)].text));
-+            (yyval.docstring).format = convertFormat((yyvsp[0].text));
-             (yyval.docstring).signature = currentModule->defdocstringsig;
-         }
-+#line 5234 "../parser.c"
-     break;
- 
--  case 290:
--#line 2536 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.docstring) = (yyvsp[(2) - (3)].docstring);
-+  case 291: /* docstring_args: '(' docstring_arg_list ')'  */
-+#line 2562 "parser.y"
-+                                   {
-+            (yyval.docstring) = (yyvsp[-1].docstring);
-         }
-+#line 5242 "../parser.c"
-     break;
- 
--  case 292:
--#line 2542 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.docstring) = (yyvsp[(1) - (3)].docstring);
-+  case 293: /* docstring_arg_list: docstring_arg_list ',' docstring_arg  */
-+#line 2568 "parser.y"
-+                                             {
-+            (yyval.docstring) = (yyvsp[-2].docstring);
- 
--            switch ((yyvsp[(3) - (3)].docstring).token)
-+            switch ((yyvsp[0].docstring).token)
-             {
--            case TK_FORMAT: (yyval.docstring).format = (yyvsp[(3) - (3)].docstring).format; break;
--            case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[(3) - (3)].docstring).signature; break;
-+            case TK_FORMAT: (yyval.docstring).format = (yyvsp[0].docstring).format; break;
-+            case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[0].docstring).signature; break;
-             }
-         }
-+#line 5256 "../parser.c"
-     break;
- 
--  case 293:
--#line 2553 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 294: /* docstring_arg: TK_FORMAT '=' TK_STRING_VALUE  */
-+#line 2579 "parser.y"
-+                                              {
-             (yyval.docstring).token = TK_FORMAT;
- 
--            (yyval.docstring).format = convertFormat((yyvsp[(3) - (3)].text));
-+            (yyval.docstring).format = convertFormat((yyvsp[0].text));
-             (yyval.docstring).signature = currentModule->defdocstringsig;
-         }
-+#line 5267 "../parser.c"
-     break;
- 
--  case 294:
--#line 2559 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 295: /* docstring_arg: TK_SIGNATURE '=' TK_STRING_VALUE  */
-+#line 2585 "parser.y"
-+                                         {
-             (yyval.docstring).token = TK_SIGNATURE;
- 
-             (yyval.docstring).format = currentModule->defdocstringfmt;
--            (yyval.docstring).signature = convertSignature((yyvsp[(3) - (3)].text));
-+            (yyval.docstring).signature = convertSignature((yyvsp[0].text));
-         }
-+#line 5278 "../parser.c"
-     break;
- 
--  case 295:
--#line 2567 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 296: /* optdocstring: %empty  */
-+#line 2593 "parser.y"
-+              {
-             (yyval.docstr) = NULL;
-         }
-+#line 5286 "../parser.c"
-     break;
- 
--  case 297:
--#line 2573 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (3)].extract).id == NULL)
-+  case 298: /* extract: TK_EXTRACT extract_args codeblock  */
-+#line 2599 "parser.y"
-+                                              {
-+            if ((yyvsp[-1].extract).id == NULL)
-                 yyerror("%Extract must have an 'id' argument");
- 
-             if (notSkipping())
--                addExtractPart(currentSpec, (yyvsp[(2) - (3)].extract).id, (yyvsp[(2) - (3)].extract).order, (yyvsp[(3) - (3)].codeb));
-+                addExtractPart(currentSpec, (yyvsp[-1].extract).id, (yyvsp[-1].extract).order, (yyvsp[0].codeb));
-         }
-+#line 5298 "../parser.c"
-     break;
- 
--  case 298:
--#line 2582 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 299: /* extract_args: TK_NAME_VALUE  */
-+#line 2608 "parser.y"
-+                              {
-             resetLexerState();
- 
--            (yyval.extract).id = (yyvsp[(1) - (1)].text);
-+            (yyval.extract).id = (yyvsp[0].text);
-             (yyval.extract).order = -1;
-         }
-+#line 5309 "../parser.c"
-     break;
- 
--  case 299:
--#line 2588 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.extract) = (yyvsp[(2) - (3)].extract);
-+  case 300: /* extract_args: '(' extract_arg_list ')'  */
-+#line 2614 "parser.y"
-+                                 {
-+            (yyval.extract) = (yyvsp[-1].extract);
-         }
-+#line 5317 "../parser.c"
-     break;
- 
--  case 301:
--#line 2594 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.extract) = (yyvsp[(1) - (3)].extract);
-+  case 302: /* extract_arg_list: extract_arg_list ',' extract_arg  */
-+#line 2620 "parser.y"
-+                                         {
-+            (yyval.extract) = (yyvsp[-2].extract);
- 
--            switch ((yyvsp[(3) - (3)].extract).token)
-+            switch ((yyvsp[0].extract).token)
-             {
--            case TK_ID: (yyval.extract).id = (yyvsp[(3) - (3)].extract).id; break;
--            case TK_ORDER: (yyval.extract).order = (yyvsp[(3) - (3)].extract).order; break;
-+            case TK_ID: (yyval.extract).id = (yyvsp[0].extract).id; break;
-+            case TK_ORDER: (yyval.extract).order = (yyvsp[0].extract).order; break;
-             }
-         }
-+#line 5331 "../parser.c"
-     break;
- 
--  case 302:
--#line 2605 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 303: /* extract_arg: TK_ID '=' TK_NAME_VALUE  */
-+#line 2631 "parser.y"
-+                                        {
-             (yyval.extract).token = TK_ID;
- 
--            (yyval.extract).id = (yyvsp[(3) - (3)].text);
-+            (yyval.extract).id = (yyvsp[0].text);
-             (yyval.extract).order = -1;
-         }
-+#line 5342 "../parser.c"
-     break;
- 
--  case 303:
--#line 2611 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 304: /* extract_arg: TK_ORDER '=' TK_NUMBER_VALUE  */
-+#line 2637 "parser.y"
-+                                     {
-             (yyval.extract).token = TK_ORDER;
- 
--            if ((yyvsp[(3) - (3)].number) < 0)
-+            if ((yyvsp[0].number) < 0)
-                 yyerror("The 'order' of an %Extract directive must not be negative");
- 
-             (yyval.extract).id = NULL;
--            (yyval.extract).order = (yyvsp[(3) - (3)].number);
-+            (yyval.extract).order = (yyvsp[0].number);
-         }
-+#line 5356 "../parser.c"
-     break;
- 
--  case 304:
--#line 2622 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 305: /* makefile: TK_MAKEFILE TK_PATH_VALUE optfilename codeblock  */
-+#line 2648 "parser.y"
-+                                                            {
-             /* Deprecated. */
-         }
-+#line 5364 "../parser.c"
-     break;
- 
--  case 307:
--#line 2631 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(1) - (2)].codeb);
-+  case 308: /* codelines: codelines TK_CODELINE  */
-+#line 2657 "parser.y"
-+                              {
-+            (yyval.codeb) = (yyvsp[-1].codeb);
- 
--            append(&(yyval.codeb)->frag, (yyvsp[(2) - (2)].codeb)->frag);
-+            append(&(yyval.codeb)->frag, (yyvsp[0].codeb)->frag);
- 
--            free((yyvsp[(2) - (2)].codeb)->frag);
--            free((yyvsp[(2) - (2)].codeb));
-+            free((yyvsp[0].codeb)->frag);
-+            free((yyvsp[0].codeb));
-         }
-+#line 5377 "../parser.c"
-     break;
- 
--  case 308:
--#line 2641 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 309: /* $@9: %empty  */
-+#line 2667 "parser.y"
-+                                                {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -5554,72 +5388,80 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
-+                checkAnnos(&(yyvsp[0].optflags), annos);
- 
-                 if (sectionFlags != 0 && (sectionFlags & ~(SECT_IS_PUBLIC | SECT_IS_PROT)) != 0)
-                     yyerror("Class enums must be in the public or protected sections");
- 
--                if (currentSpec->genc && (yyvsp[(2) - (4)].boolean))
-+                if (currentSpec->genc && (yyvsp[-2].boolean))
-                     yyerror("Scoped enums not allowed in a C module");
- 
-                 currentEnum = newEnum(currentSpec, currentModule,
--                        currentMappedType, (yyvsp[(3) - (4)].text), &(yyvsp[(4) - (4)].optflags), sectionFlags, (yyvsp[(2) - (4)].boolean));
-+                        currentMappedType, (yyvsp[-1].text), &(yyvsp[0].optflags), sectionFlags, (yyvsp[-2].boolean));
-             }
-         }
-+#line 5404 "../parser.c"
-     break;
- 
--  case 310:
--#line 2665 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 311: /* optenumkey: %empty  */
-+#line 2691 "parser.y"
-+            {
-             (yyval.boolean) = FALSE;
-         }
-+#line 5412 "../parser.c"
-     break;
- 
--  case 311:
--#line 2668 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 312: /* optenumkey: TK_CLASS  */
-+#line 2694 "parser.y"
-+                 {
-             (yyval.boolean) = TRUE;
-         }
-+#line 5420 "../parser.c"
-     break;
- 
--  case 312:
--#line 2671 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 313: /* optenumkey: TK_STRUCT  */
-+#line 2697 "parser.y"
-+                  {
-             (yyval.boolean) = TRUE;
-         }
-+#line 5428 "../parser.c"
-     break;
- 
--  case 313:
--#line 2676 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 314: /* optfilename: %empty  */
-+#line 2702 "parser.y"
-+                {
-             (yyval.text) = NULL;
-         }
-+#line 5436 "../parser.c"
-     break;
- 
--  case 314:
--#line 2679 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.text) = (yyvsp[(1) - (1)].text);
-+  case 315: /* optfilename: TK_PATH_VALUE  */
-+#line 2705 "parser.y"
-+                      {
-+            (yyval.text) = (yyvsp[0].text);
-         }
-+#line 5444 "../parser.c"
-     break;
- 
--  case 315:
--#line 2684 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 316: /* optname: %empty  */
-+#line 2710 "parser.y"
-+            {
-             (yyval.text) = NULL;
-         }
-+#line 5452 "../parser.c"
-     break;
- 
--  case 316:
--#line 2687 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.text) = (yyvsp[(1) - (1)].text);
-+  case 317: /* optname: TK_NAME_VALUE  */
-+#line 2713 "parser.y"
-+                      {
-+            (yyval.text) = (yyvsp[0].text);
-         }
-+#line 5460 "../parser.c"
-     break;
- 
--  case 323:
--#line 2702 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 324: /* enumline: TK_NAME_VALUE optenumassign optflags optcomma  */
-+#line 2728 "parser.y"
-+                                                      {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -5630,15 +5472,15 @@ yyreduce:
- 
-                 enumMemberDef *emd, **tail;
- 
--                checkAnnos(&(yyvsp[(3) - (4)].optflags), annos);
-+                checkAnnos(&(yyvsp[-1].optflags), annos);
- 
-                 /* Note that we don't use the assigned value. */
-                 emd = sipMalloc(sizeof (enumMemberDef));
- 
-                 emd->pyname = cacheName(currentSpec,
--                        getPythonName(currentModule, &(yyvsp[(3) - (4)].optflags), (yyvsp[(1) - (4)].text)));
--                emd->cname = (yyvsp[(1) - (4)].text);
--                emd->no_typehint = getNoTypeHint(&(yyvsp[(3) - (4)].optflags));
-+                        getPythonName(currentModule, &(yyvsp[-1].optflags), (yyvsp[-3].text)));
-+                emd->cname = (yyvsp[-3].text);
-+                emd->no_typehint = getNoTypeHint(&(yyvsp[-1].optflags));
-                 emd->ed = currentEnum;
-                 emd->platforms = currentPlatforms;
-                 emd->next = NULL;
-@@ -5661,309 +5503,345 @@ yyreduce:
-                     setIsUsedName(emd->pyname);
-             }
-         }
-+#line 5507 "../parser.c"
-     break;
- 
--  case 328:
--#line 2754 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 329: /* optassign: %empty  */
-+#line 2780 "parser.y"
-+            {
-             (yyval.valp) = NULL;
-         }
-+#line 5515 "../parser.c"
-     break;
- 
--  case 329:
--#line 2757 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.valp) = (yyvsp[(2) - (2)].valp);
-+  case 330: /* optassign: '=' expr  */
-+#line 2783 "parser.y"
-+                 {
-+            (yyval.valp) = (yyvsp[0].valp);
-         }
-+#line 5523 "../parser.c"
-     break;
- 
--  case 331:
--#line 2763 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 332: /* expr: expr binop value  */
-+#line 2789 "parser.y"
-+                         {
-             valueDef *vd;
-  
--            if ((yyvsp[(1) - (3)].valp) -> vtype == string_value || (yyvsp[(3) - (3)].valp) -> vtype == string_value)
-+            if ((yyvsp[-2].valp) -> vtype == string_value || (yyvsp[0].valp) -> vtype == string_value)
-                 yyerror("Invalid binary operator for string");
-  
-             /* Find the last value in the existing expression. */
-  
--            for (vd = (yyvsp[(1) - (3)].valp); vd -> next != NULL; vd = vd -> next)
-+            for (vd = (yyvsp[-2].valp); vd -> next != NULL; vd = vd -> next)
-                 ;
-  
--            vd -> vbinop = (yyvsp[(2) - (3)].qchar);
--            vd -> next = (yyvsp[(3) - (3)].valp);
-+            vd -> vbinop = (yyvsp[-1].qchar);
-+            vd -> next = (yyvsp[0].valp);
- 
--            (yyval.valp) = (yyvsp[(1) - (3)].valp);
-+            (yyval.valp) = (yyvsp[-2].valp);
-         }
-+#line 5544 "../parser.c"
-     break;
- 
--  case 332:
--#line 2781 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 333: /* binop: '-'  */
-+#line 2807 "parser.y"
-+            {
-             (yyval.qchar) = '-';
-         }
-+#line 5552 "../parser.c"
-     break;
- 
--  case 333:
--#line 2784 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 334: /* binop: '+'  */
-+#line 2810 "parser.y"
-+            {
-             (yyval.qchar) = '+';
-         }
-+#line 5560 "../parser.c"
-     break;
- 
--  case 334:
--#line 2787 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 335: /* binop: '*'  */
-+#line 2813 "parser.y"
-+            {
-             (yyval.qchar) = '*';
-         }
-+#line 5568 "../parser.c"
-     break;
- 
--  case 335:
--#line 2790 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 336: /* binop: '/'  */
-+#line 2816 "parser.y"
-+            {
-             (yyval.qchar) = '/';
-         }
-+#line 5576 "../parser.c"
-     break;
- 
--  case 336:
--#line 2793 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 337: /* binop: '&'  */
-+#line 2819 "parser.y"
-+            {
-             (yyval.qchar) = '&';
-         }
-+#line 5584 "../parser.c"
-     break;
- 
--  case 337:
--#line 2796 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 338: /* binop: '|'  */
-+#line 2822 "parser.y"
-+            {
-             (yyval.qchar) = '|';
-         }
-+#line 5592 "../parser.c"
-     break;
- 
--  case 338:
--#line 2801 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 339: /* optunop: %empty  */
-+#line 2827 "parser.y"
-+            {
-             (yyval.qchar) = '\0';
-         }
-+#line 5600 "../parser.c"
-     break;
- 
--  case 339:
--#line 2804 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 340: /* optunop: '!'  */
-+#line 2830 "parser.y"
-+            {
-             (yyval.qchar) = '!';
-         }
-+#line 5608 "../parser.c"
-     break;
- 
--  case 340:
--#line 2807 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 341: /* optunop: '~'  */
-+#line 2833 "parser.y"
-+            {
-             (yyval.qchar) = '~';
-         }
-+#line 5616 "../parser.c"
-     break;
- 
--  case 341:
--#line 2810 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 342: /* optunop: '-'  */
-+#line 2836 "parser.y"
-+            {
-             (yyval.qchar) = '-';
-         }
-+#line 5624 "../parser.c"
-     break;
- 
--  case 342:
--#line 2813 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 343: /* optunop: '+'  */
-+#line 2839 "parser.y"
-+            {
-             (yyval.qchar) = '+';
-         }
-+#line 5632 "../parser.c"
-     break;
- 
--  case 343:
--#line 2816 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 344: /* optunop: '*'  */
-+#line 2842 "parser.y"
-+            {
-             (yyval.qchar) = '*';
-         }
-+#line 5640 "../parser.c"
-     break;
- 
--  case 344:
--#line 2819 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 345: /* optunop: '&'  */
-+#line 2845 "parser.y"
-+            {
-             (yyval.qchar) = '&';
-         }
-+#line 5648 "../parser.c"
-     break;
- 
--  case 345:
--#line 2824 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (3)].qchar) != '\0' && (yyvsp[(3) - (3)].value).vtype == string_value)
-+  case 346: /* value: optcast optunop simplevalue  */
-+#line 2850 "parser.y"
-+                                        {
-+            if ((yyvsp[-1].qchar) != '\0' && (yyvsp[0].value).vtype == string_value)
-                 yyerror("Invalid unary operator for string");
-  
-             /* Convert the value to a simple expression on the heap. */
-             (yyval.valp) = sipMalloc(sizeof (valueDef));
-  
--            *(yyval.valp) = (yyvsp[(3) - (3)].value);
--            (yyval.valp)->vunop = (yyvsp[(2) - (3)].qchar);
-+            *(yyval.valp) = (yyvsp[0].value);
-+            (yyval.valp)->vunop = (yyvsp[-1].qchar);
-             (yyval.valp)->vbinop = '\0';
--            (yyval.valp)->cast = (yyvsp[(1) - (3)].scpvalp);
-+            (yyval.valp)->cast = (yyvsp[-2].scpvalp);
-             (yyval.valp)->next = NULL;
-         }
-+#line 5666 "../parser.c"
-     break;
- 
--  case 346:
--#line 2839 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 347: /* optcast: %empty  */
-+#line 2865 "parser.y"
-+            {
-             (yyval.scpvalp) = NULL;
-         }
-+#line 5674 "../parser.c"
-     break;
- 
--  case 347:
--#line 2842 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.scpvalp) = (yyvsp[(2) - (3)].scpvalp);
-+  case 348: /* optcast: '(' scopedname ')'  */
-+#line 2868 "parser.y"
-+                               {
-+            (yyval.scpvalp) = (yyvsp[-1].scpvalp);
-         }
-+#line 5682 "../parser.c"
-     break;
- 
--  case 348:
--#line 2847 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 349: /* scopedname: TK_SCOPE scopednamehead  */
-+#line 2873 "parser.y"
-+                                    {
-             if (currentSpec->genc)
-                 yyerror("Scoped names are not allowed in a C module");
- 
--            (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[(2) - (2)].scpvalp));
-+            (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[0].scpvalp));
-         }
-+#line 5693 "../parser.c"
-     break;
- 
--  case 351:
--#line 2857 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 352: /* scopednamehead: scopednamehead TK_SCOPE scopepart  */
-+#line 2883 "parser.y"
-+                                          {
-             if (currentSpec->genc)
-                 yyerror("Scoped names are not allowed in a C module");
- 
--            appendScopedName(&(yyvsp[(1) - (3)].scpvalp), (yyvsp[(3) - (3)].scpvalp));
-+            appendScopedName(&(yyvsp[-2].scpvalp), (yyvsp[0].scpvalp));
-         }
-+#line 5704 "../parser.c"
-     break;
- 
--  case 352:
--#line 2865 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.scpvalp) = text2scopePart((yyvsp[(1) - (1)].text));
-+  case 353: /* scopepart: TK_NAME_VALUE  */
-+#line 2891 "parser.y"
-+                          {
-+            (yyval.scpvalp) = text2scopePart((yyvsp[0].text));
-         }
-+#line 5712 "../parser.c"
-     break;
- 
--  case 353:
--#line 2870 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 354: /* bool_value: TK_TRUE_VALUE  */
-+#line 2896 "parser.y"
-+                          {
-             (yyval.boolean) = TRUE;
-         }
-+#line 5720 "../parser.c"
-     break;
- 
--  case 354:
--#line 2873 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 355: /* bool_value: TK_FALSE_VALUE  */
-+#line 2899 "parser.y"
-+                       {
-             (yyval.boolean) = FALSE;
-         }
-+#line 5728 "../parser.c"
-     break;
- 
--  case 355:
--#line 2878 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 356: /* simplevalue: scopedname  */
-+#line 2904 "parser.y"
-+                           {
-             /*
-              * We let the C++ compiler decide if the value is a valid one - no
-              * point in building a full C++ parser here.
-              */
- 
-             (yyval.value).vtype = scoped_value;
--            (yyval.value).u.vscp = (yyvsp[(1) - (1)].scpvalp);
-+            (yyval.value).u.vscp = (yyvsp[0].scpvalp);
-         }
-+#line 5742 "../parser.c"
-     break;
- 
--  case 356:
--#line 2887 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 357: /* simplevalue: basetype '(' exprlist ')'  */
-+#line 2913 "parser.y"
-+                                  {
-             fcallDef *fcd;
- 
-             fcd = sipMalloc(sizeof (fcallDef));
--            *fcd = (yyvsp[(3) - (4)].fcall);
--            fcd -> type = (yyvsp[(1) - (4)].memArg);
-+            *fcd = (yyvsp[-1].fcall);
-+            fcd -> type = (yyvsp[-3].memArg);
- 
-             (yyval.value).vtype = fcall_value;
-             (yyval.value).u.fcd = fcd;
-         }
-+#line 5757 "../parser.c"
-     break;
- 
--  case 357:
--#line 2897 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 358: /* simplevalue: '{' '}'  */
-+#line 2923 "parser.y"
-+                {
-             (yyval.value).vtype = empty_value;
-         }
-+#line 5765 "../parser.c"
-     break;
- 
--  case 358:
--#line 2900 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 359: /* simplevalue: TK_REAL_VALUE  */
-+#line 2926 "parser.y"
-+                      {
-             (yyval.value).vtype = real_value;
--            (yyval.value).u.vreal = (yyvsp[(1) - (1)].real);
-+            (yyval.value).u.vreal = (yyvsp[0].real);
-         }
-+#line 5774 "../parser.c"
-     break;
- 
--  case 359:
--#line 2904 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 360: /* simplevalue: TK_NUMBER_VALUE  */
-+#line 2930 "parser.y"
-+                        {
-             (yyval.value).vtype = numeric_value;
--            (yyval.value).u.vnum = (yyvsp[(1) - (1)].number);
-+            (yyval.value).u.vnum = (yyvsp[0].number);
-         }
-+#line 5783 "../parser.c"
-     break;
- 
--  case 360:
--#line 2908 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 361: /* simplevalue: bool_value  */
-+#line 2934 "parser.y"
-+                   {
-             (yyval.value).vtype = numeric_value;
--            (yyval.value).u.vnum = (yyvsp[(1) - (1)].boolean);
-+            (yyval.value).u.vnum = (yyvsp[0].boolean);
-         }
-+#line 5792 "../parser.c"
-     break;
- 
--  case 361:
--#line 2912 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 362: /* simplevalue: TK_NULL_VALUE  */
-+#line 2938 "parser.y"
-+                      {
-             (yyval.value).vtype = numeric_value;
-             (yyval.value).u.vnum = 0;
-         }
-+#line 5801 "../parser.c"
-     break;
- 
--  case 362:
--#line 2916 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 363: /* simplevalue: TK_STRING_VALUE  */
-+#line 2942 "parser.y"
-+                        {
-             (yyval.value).vtype = string_value;
--            (yyval.value).u.vstr = (yyvsp[(1) - (1)].text);
-+            (yyval.value).u.vstr = (yyvsp[0].text);
-         }
-+#line 5810 "../parser.c"
-     break;
- 
--  case 363:
--#line 2920 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 364: /* simplevalue: TK_QCHAR_VALUE  */
-+#line 2946 "parser.y"
-+                       {
-             (yyval.value).vtype = qchar_value;
--            (yyval.value).u.vqchar = (yyvsp[(1) - (1)].qchar);
-+            (yyval.value).u.vqchar = (yyvsp[0].qchar);
-         }
-+#line 5819 "../parser.c"
-     break;
- 
--  case 364:
--#line 2926 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 365: /* exprlist: %empty  */
-+#line 2952 "parser.y"
-+            {
-             /* No values. */
- 
-             (yyval.fcall).nrArgs = 0;
-         }
-+#line 5829 "../parser.c"
-     break;
- 
--  case 365:
--#line 2931 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 366: /* exprlist: expr  */
-+#line 2957 "parser.y"
-+             {
-             /* The single or first expression. */
- 
--            (yyval.fcall).args[0] = (yyvsp[(1) - (1)].valp);
-+            (yyval.fcall).args[0] = (yyvsp[0].valp);
-             (yyval.fcall).nrArgs = 1;
-         }
-+#line 5840 "../parser.c"
-     break;
- 
--  case 366:
--#line 2937 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 367: /* exprlist: exprlist ',' expr  */
-+#line 2963 "parser.y"
-+                          {
-             /* Check that it wasn't ...(,expression...). */
- 
-             if ((yyval.fcall).nrArgs == 0)
-@@ -5971,19 +5849,20 @@ yyreduce:
- 
-             /* Check there is room. */
- 
--            if ((yyvsp[(1) - (3)].fcall).nrArgs == MAX_NR_ARGS)
-+            if ((yyvsp[-2].fcall).nrArgs == MAX_NR_ARGS)
-                 yyerror("Internal error - increase the value of MAX_NR_ARGS");
- 
--            (yyval.fcall) = (yyvsp[(1) - (3)].fcall);
-+            (yyval.fcall) = (yyvsp[-2].fcall);
- 
--            (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[(3) - (3)].valp);
-+            (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[0].valp);
-             (yyval.fcall).nrArgs++;
-         }
-+#line 5861 "../parser.c"
-     break;
- 
--  case 367:
--#line 2955 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 368: /* typedef: TK_TYPEDEF cpptype TK_NAME_VALUE optflags ';' optdocstring  */
-+#line 2981 "parser.y"
-+                                                                       {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -5999,17 +5878,18 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(4) - (6)].optflags), annos);
-+                checkAnnos(&(yyvsp[-2].optflags), annos);
- 
--                applyTypeFlags(currentModule, &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags));
--                newTypedef(currentSpec, currentModule, (yyvsp[(3) - (6)].text), &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags), (yyvsp[(6) - (6)].docstr));
-+                applyTypeFlags(currentModule, &(yyvsp[-4].memArg), &(yyvsp[-2].optflags));
-+                newTypedef(currentSpec, currentModule, (yyvsp[-3].text), &(yyvsp[-4].memArg), &(yyvsp[-2].optflags), (yyvsp[0].docstr));
-             }
-         }
-+#line 5888 "../parser.c"
-     break;
- 
--  case 368:
--#line 2977 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 369: /* typedef: TK_TYPEDEF cpptype '(' '*' TK_NAME_VALUE ')' '(' cpptypelist ')' optflags ';' optdocstring  */
-+#line 3003 "parser.y"
-+                                                                                                   {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -6027,41 +5907,43 @@ yyreduce:
-                 signatureDef *sig;
-                 argDef ftype;
- 
--                checkAnnos(&(yyvsp[(10) - (12)].optflags), annos);
-+                checkAnnos(&(yyvsp[-2].optflags), annos);
- 
--                applyTypeFlags(currentModule, &(yyvsp[(2) - (12)].memArg), &(yyvsp[(10) - (12)].optflags));
-+                applyTypeFlags(currentModule, &(yyvsp[-10].memArg), &(yyvsp[-2].optflags));
- 
-                 memset(&ftype, 0, sizeof (argDef));
- 
-                 /* Create the full signature on the heap. */
-                 sig = sipMalloc(sizeof (signatureDef));
--                *sig = (yyvsp[(8) - (12)].signature);
--                sig->result = (yyvsp[(2) - (12)].memArg);
-+                *sig = (yyvsp[-4].signature);
-+                sig->result = (yyvsp[-10].memArg);
- 
-                 /* Create the full type. */
-                 ftype.atype = function_type;
-                 ftype.nrderefs = 1;
-                 ftype.u.sa = sig;
- 
--                newTypedef(currentSpec, currentModule, (yyvsp[(5) - (12)].text), &ftype, &(yyvsp[(10) - (12)].optflags), (yyvsp[(12) - (12)].docstr));
-+                newTypedef(currentSpec, currentModule, (yyvsp[-7].text), &ftype, &(yyvsp[-2].optflags), (yyvsp[0].docstr));
-             }
-         }
-+#line 5930 "../parser.c"
-     break;
- 
--  case 369:
--#line 3016 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if (currentSpec -> genc && (yyvsp[(2) - (2)].scpvalp)->next != NULL)
-+  case 370: /* $@10: %empty  */
-+#line 3042 "parser.y"
-+                                 {
-+            if (currentSpec -> genc && (yyvsp[0].scpvalp)->next != NULL)
-                 yyerror("Namespaces not allowed in a C module");
- 
-             if (notSkipping())
-                 currentSupers = NULL;
-         }
-+#line 5942 "../parser.c"
-     break;
- 
--  case 370:
--#line 3022 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 371: /* $@11: %empty  */
-+#line 3048 "parser.y"
-+                                {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -6091,33 +5973,36 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
-+                checkAnnos(&(yyvsp[0].optflags), annos);
- 
-                 if (currentSpec->genc && currentSupers != NULL)
-                     yyerror("Super-classes not allowed in a C module struct");
- 
--                defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
-+                defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
-                 sectionFlags = SECT_IS_PUBLIC;
-             }
-         }
-+#line 5986 "../parser.c"
-     break;
- 
--  case 371:
--#line 3060 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 372: /* struct: TK_STRUCT scopedname $@10 superclasses optflags $@11 optclassbody ';'  */
-+#line 3086 "parser.y"
-+                           {
-             if (notSkipping())
--                completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
-+                completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
-         }
-+#line 5995 "../parser.c"
-     break;
- 
--  case 372:
--#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsTemplate = TRUE;}
-+  case 373: /* $@12: %empty  */
-+#line 3092 "parser.y"
-+                     {currentIsTemplate = TRUE;}
-+#line 6001 "../parser.c"
-     break;
- 
--  case 373:
--#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 374: /* classtmpl: template $@12 class  */
-+#line 3092 "parser.y"
-+                                                       {
-             if (currentSpec->genc)
-                 yyerror("Class templates not allowed in a C module");
- 
-@@ -6128,12 +6013,12 @@ yyreduce:
-                 /*
-                  * Make sure there is room for the extra class name argument.
-                  */
--                if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
-+                if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
-                     yyerror("Internal error - increase the value of MAX_NR_ARGS");
- 
-                 tcd = sipMalloc(sizeof (classTmplDef));
--                tcd->sig = (yyvsp[(1) - (3)].signature);
--                tcd->cd = (yyvsp[(3) - (3)].klass);
-+                tcd->sig = (yyvsp[-2].signature);
-+                tcd->cd = (yyvsp[0].klass);
-                 tcd->next = currentSpec->classtemplates;
- 
-                 currentSpec->classtemplates = tcd;
-@@ -6141,29 +6026,32 @@ yyreduce:
- 
-             currentIsTemplate = FALSE;
-         }
-+#line 6030 "../parser.c"
-     break;
- 
--  case 374:
--#line 3092 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.signature) = (yyvsp[(3) - (4)].signature);
-+  case 375: /* template: TK_TEMPLATE '<' cpptypelist '>'  */
-+#line 3118 "parser.y"
-+                                            {
-+            (yyval.signature) = (yyvsp[-1].signature);
-         }
-+#line 6038 "../parser.c"
-     break;
- 
--  case 375:
--#line 3097 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 376: /* $@13: %empty  */
-+#line 3123 "parser.y"
-+                            {
-             if (currentSpec->genc)
-                 yyerror("Class definition not allowed in a C module");
- 
-             if (notSkipping())
-                 currentSupers = NULL;
-         }
-+#line 6050 "../parser.c"
-     break;
- 
--  case 376:
--#line 3103 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 377: /* $@14: %empty  */
-+#line 3129 "parser.y"
-+                                {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -6192,30 +6080,32 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
-+                checkAnnos(&(yyvsp[0].optflags), annos);
- 
--                defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
-+                defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
-                 sectionFlags = SECT_IS_PRIVATE;
-             }
-         }
-+#line 6090 "../parser.c"
-     break;
- 
--  case 377:
--#line 3137 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 378: /* class: TK_CLASS scopedname $@13 superclasses optflags $@14 optclassbody ';'  */
-+#line 3163 "parser.y"
-+                           {
-             if (notSkipping())
--                (yyval.klass) = completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
-+                (yyval.klass) = completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
-         }
-+#line 6099 "../parser.c"
-     break;
- 
--  case 382:
--#line 3151 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if (notSkipping() && (yyvsp[(1) - (2)].token) == TK_PUBLIC)
-+  case 383: /* superclass: class_access scopedname  */
-+#line 3177 "parser.y"
-+                                    {
-+            if (notSkipping() && (yyvsp[-1].token) == TK_PUBLIC)
-             {
-                 argDef ad;
-                 classDef *super;
--                scopedNameDef *snd = (yyvsp[(2) - (2)].scpvalp);
-+                scopedNameDef *snd = (yyvsp[0].scpvalp);
- 
-                 /*
-                  * This is a hack to allow typedef'ed classes to be used before
-@@ -6260,53 +6150,60 @@ yyreduce:
-                 appendToClassList(&currentSupers, super);
-             }
-         }
-+#line 6154 "../parser.c"
-     break;
- 
--  case 383:
--#line 3203 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 384: /* class_access: %empty  */
-+#line 3229 "parser.y"
-+                {
-         (yyval.token) = TK_PUBLIC;
-         }
-+#line 6162 "../parser.c"
-     break;
- 
--  case 384:
--#line 3206 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 385: /* class_access: TK_PUBLIC  */
-+#line 3232 "parser.y"
-+                  {
-         (yyval.token) = TK_PUBLIC;
-         }
-+#line 6170 "../parser.c"
-     break;
- 
--  case 385:
--#line 3209 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 386: /* class_access: TK_PROTECTED  */
-+#line 3235 "parser.y"
-+                     {
-         (yyval.token) = TK_PROTECTED;
-         }
-+#line 6178 "../parser.c"
-     break;
- 
--  case 386:
--#line 3212 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 387: /* class_access: TK_PRIVATE  */
-+#line 3238 "parser.y"
-+                   {
-         (yyval.token) = TK_PRIVATE;
-         }
-+#line 6186 "../parser.c"
-     break;
- 
--  case 387:
--#line 3217 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 388: /* optclassbody: %empty  */
-+#line 3243 "parser.y"
-+                {
-             (yyval.boolean) = FALSE;
-         }
-+#line 6194 "../parser.c"
-     break;
- 
--  case 388:
--#line 3220 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 389: /* optclassbody: '{' classbody '}'  */
-+#line 3246 "parser.y"
-+                          {
-             (yyval.boolean) = TRUE;
-         }
-+#line 6202 "../parser.c"
-     break;
- 
--  case 402:
--#line 3240 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 403: /* classline: docstring  */
-+#line 3266 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6314,30 +6211,33 @@ yyreduce:
-                 if (scope->docstring != NULL)
-                     yyerror("%Docstring already given for class");
- 
--                scope->docstring = (yyvsp[(1) - (1)].docstr);
-+                scope->docstring = (yyvsp[0].docstr);
-             }
-         }
-+#line 6218 "../parser.c"
-     break;
- 
--  case 403:
--#line 3251 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 404: /* classline: typecode  */
-+#line 3277 "parser.y"
-+                 {
-             if (notSkipping())
--                appendCodeBlock(&currentScope()->cppcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&currentScope()->cppcode, (yyvsp[0].codeb));
-         }
-+#line 6227 "../parser.c"
-     break;
- 
--  case 404:
--#line 3255 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 405: /* classline: typehdrcode  */
-+#line 3281 "parser.y"
-+                    {
-             if (notSkipping())
--                appendCodeBlock(&currentScope()->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&currentScope()->iff->hdrcode, (yyvsp[0].codeb));
-         }
-+#line 6236 "../parser.c"
-     break;
- 
--  case 405:
--#line 3259 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 406: /* classline: travcode  */
-+#line 3285 "parser.y"
-+                 {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6345,14 +6245,15 @@ yyreduce:
-                 if (scope->travcode != NULL)
-                     yyerror("%GCTraverseCode already given for class");
- 
--                appendCodeBlock(&scope->travcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->travcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6252 "../parser.c"
-     break;
- 
--  case 406:
--#line 3270 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 407: /* classline: clearcode  */
-+#line 3296 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6360,14 +6261,15 @@ yyreduce:
-                 if (scope->clearcode != NULL)
-                     yyerror("%GCClearCode already given for class");
- 
--                appendCodeBlock(&scope->clearcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->clearcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6268 "../parser.c"
-     break;
- 
--  case 407:
--#line 3281 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 408: /* classline: getbufcode  */
-+#line 3307 "parser.y"
-+                   {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6375,14 +6277,15 @@ yyreduce:
-                 if (scope->getbufcode != NULL)
-                     yyerror("%BIGetBufferCode already given for class");
- 
--                appendCodeBlock(&scope->getbufcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->getbufcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6284 "../parser.c"
-     break;
- 
--  case 408:
--#line 3292 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 409: /* classline: releasebufcode  */
-+#line 3318 "parser.y"
-+                       {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6390,14 +6293,15 @@ yyreduce:
-                 if (scope->releasebufcode != NULL)
-                     yyerror("%BIReleaseBufferCode already given for class");
- 
--                appendCodeBlock(&scope->releasebufcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->releasebufcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6300 "../parser.c"
-     break;
- 
--  case 409:
--#line 3303 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 410: /* classline: readbufcode  */
-+#line 3329 "parser.y"
-+                    {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6405,14 +6309,15 @@ yyreduce:
-                 if (scope->readbufcode != NULL)
-                     yyerror("%BIGetReadBufferCode already given for class");
- 
--                appendCodeBlock(&scope->readbufcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->readbufcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6316 "../parser.c"
-     break;
- 
--  case 410:
--#line 3314 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 411: /* classline: writebufcode  */
-+#line 3340 "parser.y"
-+                     {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6420,14 +6325,15 @@ yyreduce:
-                 if (scope->writebufcode != NULL)
-                     yyerror("%BIGetWriteBufferCode already given for class");
- 
--                appendCodeBlock(&scope->writebufcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->writebufcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6332 "../parser.c"
-     break;
- 
--  case 411:
--#line 3325 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 412: /* classline: segcountcode  */
-+#line 3351 "parser.y"
-+                     {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6435,14 +6341,15 @@ yyreduce:
-                 if (scope->segcountcode != NULL)
-                     yyerror("%BIGetSegCountCode already given for class");
- 
--                appendCodeBlock(&scope->segcountcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->segcountcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6348 "../parser.c"
-     break;
- 
--  case 412:
--#line 3336 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 413: /* classline: charbufcode  */
-+#line 3362 "parser.y"
-+                    {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6450,14 +6357,15 @@ yyreduce:
-                 if (scope->charbufcode != NULL)
-                     yyerror("%BIGetCharBufferCode already given for class");
- 
--                appendCodeBlock(&scope->charbufcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->charbufcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6364 "../parser.c"
-     break;
- 
--  case 413:
--#line 3347 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 414: /* classline: instancecode  */
-+#line 3373 "parser.y"
-+                     {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6465,14 +6373,15 @@ yyreduce:
-                 if (scope->instancecode != NULL)
-                     yyerror("%InstanceCode already given for class");
- 
--                appendCodeBlock(&scope->instancecode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->instancecode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6380 "../parser.c"
-     break;
- 
--  case 414:
--#line 3358 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 415: /* classline: picklecode  */
-+#line 3384 "parser.y"
-+                   {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6480,14 +6389,15 @@ yyreduce:
-                 if (scope->picklecode != NULL)
-                     yyerror("%PickleCode already given for class");
- 
--                appendCodeBlock(&scope->picklecode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->picklecode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6396 "../parser.c"
-     break;
- 
--  case 415:
--#line 3369 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 416: /* classline: finalcode  */
-+#line 3395 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6495,14 +6405,15 @@ yyreduce:
-                 if (scope->finalcode != NULL)
-                     yyerror("%FinalisationCode already given for class");
- 
--                appendCodeBlock(&scope->finalcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->finalcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6412 "../parser.c"
-     break;
- 
--  case 416:
--#line 3380 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 417: /* classline: classtypehintcode  */
-+#line 3406 "parser.y"
-+                          {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6510,14 +6421,15 @@ yyreduce:
-                 if (scope->typehintcode != NULL)
-                     yyerror("%TypeHintCode already given for class");
- 
--                appendCodeBlock(&scope->typehintcode, (yyvsp[(1) - (1)].codeb));
-+                appendCodeBlock(&scope->typehintcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6428 "../parser.c"
-     break;
- 
--  case 420:
--#line 3394 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 421: /* classline: TK_TOSUBCLASS codeblock  */
-+#line 3420 "parser.y"
-+                                {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6525,14 +6437,15 @@ yyreduce:
-                 if (scope->convtosubcode != NULL)
-                     yyerror("Class has more than one %ConvertToSubClassCode directive");
- 
--                appendCodeBlock(&scope->convtosubcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&scope->convtosubcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6444 "../parser.c"
-     break;
- 
--  case 421:
--#line 3405 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 422: /* classline: TK_TOTYPE codeblock  */
-+#line 3431 "parser.y"
-+                            {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6540,14 +6453,15 @@ yyreduce:
-                 if (scope->convtocode != NULL)
-                     yyerror("Class has more than one %ConvertToTypeCode directive");
- 
--                appendCodeBlock(&scope->convtocode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&scope->convtocode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6460 "../parser.c"
-     break;
- 
--  case 422:
--#line 3416 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 423: /* classline: TK_FROMTYPE codeblock  */
-+#line 3442 "parser.y"
-+                              {
-             if (notSkipping())
-             {
-                 classDef *scope = currentScope();
-@@ -6555,172 +6469,188 @@ yyreduce:
-                 if (scope->convfromcode != NULL)
-                     yyerror("Class has more than one %ConvertFromTypeCode directive");
- 
--                appendCodeBlock(&scope->convfromcode, (yyvsp[(2) - (2)].codeb));
-+                appendCodeBlock(&scope->convfromcode, (yyvsp[0].codeb));
-             }
-         }
-+#line 6476 "../parser.c"
-     break;
- 
--  case 423:
--#line 3427 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 424: /* classline: TK_PUBLIC optslot ':'  */
-+#line 3453 "parser.y"
-+                              {
-             if (currentSpec -> genc)
-                 yyerror("public section not allowed in a C module");
- 
-             if (notSkipping())
--                sectionFlags = SECT_IS_PUBLIC | (yyvsp[(2) - (3)].number);
-+                sectionFlags = SECT_IS_PUBLIC | (yyvsp[-1].number);
-         }
-+#line 6488 "../parser.c"
-     break;
- 
--  case 424:
--#line 3434 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 425: /* classline: TK_PROTECTED optslot ':'  */
-+#line 3460 "parser.y"
-+                                 {
-             if (currentSpec -> genc)
-                 yyerror("protected section not allowed in a C module");
- 
-             if (notSkipping())
--                sectionFlags = SECT_IS_PROT | (yyvsp[(2) - (3)].number);
-+                sectionFlags = SECT_IS_PROT | (yyvsp[-1].number);
-         }
-+#line 6500 "../parser.c"
-     break;
- 
--  case 425:
--#line 3441 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 426: /* classline: TK_PRIVATE optslot ':'  */
-+#line 3467 "parser.y"
-+                               {
-             if (currentSpec -> genc)
-                 yyerror("private section not allowed in a C module");
- 
-             if (notSkipping())
--                sectionFlags = SECT_IS_PRIVATE | (yyvsp[(2) - (3)].number);
-+                sectionFlags = SECT_IS_PRIVATE | (yyvsp[-1].number);
-         }
-+#line 6512 "../parser.c"
-     break;
- 
--  case 426:
--#line 3448 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 427: /* classline: TK_SIGNALS ':'  */
-+#line 3474 "parser.y"
-+                       {
-             if (currentSpec -> genc)
-                 yyerror("signals section not allowed in a C module");
- 
-             if (notSkipping())
-                 sectionFlags = SECT_IS_SIGNAL;
-         }
-+#line 6524 "../parser.c"
-     break;
- 
--  case 427:
--#line 3457 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (3)].property).name == NULL)
-+  case 428: /* property: TK_PROPERTY property_args property_body  */
-+#line 3483 "parser.y"
-+                                                    {
-+            if ((yyvsp[-1].property).name == NULL)
-                 yyerror("A %Property directive must have a 'name' argument");
- 
--            if ((yyvsp[(2) - (3)].property).get == NULL)
-+            if ((yyvsp[-1].property).get == NULL)
-                 yyerror("A %Property directive must have a 'get' argument");
- 
-             if (notSkipping())
-                 addProperty(currentSpec, currentModule, currentScope(),
--                        (yyvsp[(2) - (3)].property).name, (yyvsp[(2) - (3)].property).get, (yyvsp[(2) - (3)].property).set, (yyvsp[(3) - (3)].property).docstring);
-+                        (yyvsp[-1].property).name, (yyvsp[-1].property).get, (yyvsp[-1].property).set, (yyvsp[0].property).docstring);
-         }
-+#line 6540 "../parser.c"
-     break;
- 
--  case 428:
--#line 3470 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.property) = (yyvsp[(2) - (3)].property);
-+  case 429: /* property_args: '(' property_arg_list ')'  */
-+#line 3496 "parser.y"
-+                                          {
-+            (yyval.property) = (yyvsp[-1].property);
-         }
-+#line 6548 "../parser.c"
-     break;
- 
--  case 430:
--#line 3476 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.property) = (yyvsp[(1) - (3)].property);
-+  case 431: /* property_arg_list: property_arg_list ',' property_arg  */
-+#line 3502 "parser.y"
-+                                           {
-+            (yyval.property) = (yyvsp[-2].property);
- 
--            switch ((yyvsp[(3) - (3)].property).token)
-+            switch ((yyvsp[0].property).token)
-             {
--            case TK_GET: (yyval.property).get = (yyvsp[(3) - (3)].property).get; break;
--            case TK_NAME: (yyval.property).name = (yyvsp[(3) - (3)].property).name; break;
--            case TK_SET: (yyval.property).set = (yyvsp[(3) - (3)].property).set; break;
-+            case TK_GET: (yyval.property).get = (yyvsp[0].property).get; break;
-+            case TK_NAME: (yyval.property).name = (yyvsp[0].property).name; break;
-+            case TK_SET: (yyval.property).set = (yyvsp[0].property).set; break;
-             }
-         }
-+#line 6563 "../parser.c"
-     break;
- 
--  case 431:
--#line 3488 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 432: /* property_arg: TK_GET '=' TK_NAME_VALUE  */
-+#line 3514 "parser.y"
-+                                         {
-             (yyval.property).token = TK_GET;
- 
--            (yyval.property).get = (yyvsp[(3) - (3)].text);
-+            (yyval.property).get = (yyvsp[0].text);
-             (yyval.property).name = NULL;
-             (yyval.property).set = NULL;
-         }
-+#line 6575 "../parser.c"
-     break;
- 
--  case 432:
--#line 3495 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 433: /* property_arg: TK_NAME '=' name_or_string  */
-+#line 3521 "parser.y"
-+                                   {
-             (yyval.property).token = TK_NAME;
- 
-             (yyval.property).get = NULL;
--            (yyval.property).name = (yyvsp[(3) - (3)].text);
-+            (yyval.property).name = (yyvsp[0].text);
-             (yyval.property).set = NULL;
-         }
-+#line 6587 "../parser.c"
-     break;
- 
--  case 433:
--#line 3502 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 434: /* property_arg: TK_SET '=' TK_NAME_VALUE  */
-+#line 3528 "parser.y"
-+                                 {
-             (yyval.property).token = TK_SET;
- 
-             (yyval.property).get = NULL;
-             (yyval.property).name = NULL;
--            (yyval.property).set = (yyvsp[(3) - (3)].text);
-+            (yyval.property).set = (yyvsp[0].text);
-         }
-+#line 6599 "../parser.c"
-     break;
- 
--  case 434:
--#line 3511 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 435: /* property_body: %empty  */
-+#line 3537 "parser.y"
-+                {
-             (yyval.property).token = 0;
-             (yyval.property).docstring = NULL;
-         }
-+#line 6608 "../parser.c"
-     break;
- 
--  case 435:
--#line 3515 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.property) = (yyvsp[(2) - (4)].property);
-+  case 436: /* property_body: '{' property_body_directives '}' ';'  */
-+#line 3541 "parser.y"
-+                                             {
-+            (yyval.property) = (yyvsp[-2].property);
-         }
-+#line 6616 "../parser.c"
-     break;
- 
--  case 437:
--#line 3521 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.property) = (yyvsp[(1) - (2)].property);
-+  case 438: /* property_body_directives: property_body_directives property_body_directive  */
-+#line 3547 "parser.y"
-+                                                         {
-+            (yyval.property) = (yyvsp[-1].property);
- 
--            switch ((yyvsp[(2) - (2)].property).token)
-+            switch ((yyvsp[0].property).token)
-             {
--            case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[(2) - (2)].property).docstring; break;
-+            case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[0].property).docstring; break;
-             }
-         }
-+#line 6629 "../parser.c"
-     break;
- 
--  case 438:
--#line 3531 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 439: /* property_body_directive: ifstart  */
-+#line 3557 "parser.y"
-+                                    {
-             (yyval.property).token = TK_IF;
-         }
-+#line 6637 "../parser.c"
-     break;
- 
--  case 439:
--#line 3534 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 440: /* property_body_directive: ifend  */
-+#line 3560 "parser.y"
-+              {
-             (yyval.property).token = TK_END;
-         }
-+#line 6645 "../parser.c"
-     break;
- 
--  case 440:
--#line 3537 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 441: /* property_body_directive: docstring  */
-+#line 3563 "parser.y"
-+                  {
-             if (notSkipping())
-             {
-                 (yyval.property).token = TK_DOCSTRING;
--                (yyval.property).docstring = (yyvsp[(1) - (1)].docstr);
-+                (yyval.property).docstring = (yyvsp[0].docstr);
-             }
-             else
-             {
-@@ -6728,30 +6658,34 @@ yyreduce:
-                 (yyval.property).docstring = NULL;
-             }
-         }
-+#line 6662 "../parser.c"
-     break;
- 
--  case 443:
--#line 3555 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 444: /* optslot: %empty  */
-+#line 3581 "parser.y"
-+            {
-             (yyval.number) = 0;
-         }
-+#line 6670 "../parser.c"
-     break;
- 
--  case 444:
--#line 3558 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 445: /* optslot: TK_SLOTS  */
-+#line 3584 "parser.y"
-+                 {
-             (yyval.number) = SECT_IS_SLOT;
-         }
-+#line 6678 "../parser.c"
-     break;
- 
--  case 445:
--#line 3564 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsVirt = TRUE;}
-+  case 446: /* $@15: %empty  */
-+#line 3590 "parser.y"
-+                   {currentIsVirt = TRUE;}
-+#line 6684 "../parser.c"
-     break;
- 
--  case 448:
--#line 3568 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 449: /* dtor_decl: '~' TK_NAME_VALUE '(' ')' optexceptions optabstract optflags ';' premethodcode methodcode virtualcatchercode  */
-+#line 3594 "parser.y"
-+                                                                                                                         {
-             /* Note that we allow non-virtual dtors in C modules. */
- 
-             if (notSkipping())
-@@ -6764,22 +6698,22 @@ yyreduce:
- 
-                 classDef *cd = currentScope();
- 
--                checkAnnos(&(yyvsp[(7) - (11)].optflags), annos);
-+                checkAnnos(&(yyvsp[-4].optflags), annos);
- 
--                if (strcmp(classBaseName(cd),(yyvsp[(2) - (11)].text)) != 0)
-+                if (strcmp(classBaseName(cd),(yyvsp[-9].text)) != 0)
-                     yyerror("Destructor doesn't have the same name as its class");
- 
-                 if (isDtor(cd))
-                     yyerror("Destructor has already been defined");
- 
--                if (currentSpec -> genc && (yyvsp[(9) - (11)].codeb) == NULL)
-+                if (currentSpec -> genc && (yyvsp[-2].codeb) == NULL)
-                     yyerror("Destructor in C modules must include %MethodCode");
- 
- 
--                appendCodeBlock(&cd->dealloccode, (yyvsp[(9) - (11)].codeb));  /* premethodcode */
--                appendCodeBlock(&cd->dealloccode, (yyvsp[(10) - (11)].codeb)); /* methodcode */
--                appendCodeBlock(&cd->dtorcode, (yyvsp[(11) - (11)].codeb));
--                cd -> dtorexceptions = (yyvsp[(5) - (11)].throwlist);
-+                appendCodeBlock(&cd->dealloccode, (yyvsp[-2].codeb));  /* premethodcode */
-+                appendCodeBlock(&cd->dealloccode, (yyvsp[-1].codeb)); /* methodcode */
-+                appendCodeBlock(&cd->dtorcode, (yyvsp[0].codeb));
-+                cd -> dtorexceptions = (yyvsp[-6].throwlist);
- 
-                 /*
-                  * Note that we don't apply the protected/public hack to dtors
-@@ -6787,7 +6721,7 @@ yyreduce:
-                  */
-                 cd->classflags |= sectionFlags;
- 
--                if ((yyvsp[(6) - (11)].number))
-+                if ((yyvsp[-5].number))
-                 {
-                     if (!currentIsVirt)
-                         yyerror("Abstract destructor must be virtual");
-@@ -6799,7 +6733,7 @@ yyreduce:
-                  * The class has a shadow if we have a virtual dtor or some
-                  * dtor code.
-                  */
--                if (currentIsVirt || (yyvsp[(10) - (11)].codeb) != NULL)
-+                if (currentIsVirt || (yyvsp[-1].codeb) != NULL)
-                 {
-                     if (currentSpec -> genc)
-                         yyerror("Virtual destructor or %VirtualCatcherCode not allowed in a C module");
-@@ -6807,24 +6741,26 @@ yyreduce:
-                     setNeedsShadow(cd);
-                 }
- 
--                if (getReleaseGIL(&(yyvsp[(7) - (11)].optflags)))
-+                if (getReleaseGIL(&(yyvsp[-4].optflags)))
-                     setIsReleaseGILDtor(cd);
--                else if (getHoldGIL(&(yyvsp[(7) - (11)].optflags)))
-+                else if (getHoldGIL(&(yyvsp[-4].optflags)))
-                     setIsHoldGILDtor(cd);
-             }
- 
-             currentIsVirt = FALSE;
-         }
-+#line 6753 "../parser.c"
-     break;
- 
--  case 449:
--#line 3634 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentCtorIsExplicit = TRUE;}
-+  case 450: /* $@16: %empty  */
-+#line 3660 "parser.y"
-+                        {currentCtorIsExplicit = TRUE;}
-+#line 6759 "../parser.c"
-     break;
- 
--  case 452:
--#line 3638 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 453: /* simplector: TK_NAME_VALUE '(' arglist ')' optexceptions optflags optctorsig ';' optdocstring premethodcode methodcode  */
-+#line 3664 "parser.y"
-+                                                                                                                      {
-             /* Note that we allow ctors in C modules. */
- 
-             if (notSkipping())
-@@ -6846,11 +6782,11 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(6) - (11)].optflags), annos);
-+                checkAnnos(&(yyvsp[-5].optflags), annos);
- 
-                 if (currentSpec -> genc)
-                 {
--                    if ((yyvsp[(10) - (11)].codeb) == NULL && (yyvsp[(3) - (11)].signature).nrArgs != 0)
-+                    if ((yyvsp[-1].codeb) == NULL && (yyvsp[-8].signature).nrArgs != 0)
-                         yyerror("Constructors with arguments in C modules must include %MethodCode");
- 
-                     if (currentCtorIsExplicit)
-@@ -6860,80 +6796,87 @@ yyreduce:
-                 if ((sectionFlags & (SECT_IS_PUBLIC | SECT_IS_PROT | SECT_IS_PRIVATE)) == 0)
-                     yyerror("Constructor must be in the public, private or protected sections");
- 
--                newCtor(currentModule, (yyvsp[(1) - (11)].text), sectionFlags, &(yyvsp[(3) - (11)].signature), &(yyvsp[(6) - (11)].optflags), (yyvsp[(11) - (11)].codeb), (yyvsp[(5) - (11)].throwlist), (yyvsp[(7) - (11)].optsignature),
--                        currentCtorIsExplicit, (yyvsp[(9) - (11)].docstr), (yyvsp[(10) - (11)].codeb));
-+                newCtor(currentModule, (yyvsp[-10].text), sectionFlags, &(yyvsp[-8].signature), &(yyvsp[-5].optflags), (yyvsp[0].codeb), (yyvsp[-6].throwlist), (yyvsp[-4].optsignature),
-+                        currentCtorIsExplicit, (yyvsp[-2].docstr), (yyvsp[-1].codeb));
-             }
- 
--            free((yyvsp[(1) - (11)].text));
-+            free((yyvsp[-10].text));
- 
-             currentCtorIsExplicit = FALSE;
-         }
-+#line 6808 "../parser.c"
-     break;
- 
--  case 453:
--#line 3684 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 454: /* optctorsig: %empty  */
-+#line 3710 "parser.y"
-+            {
-             (yyval.optsignature) = NULL;
-         }
-+#line 6816 "../parser.c"
-     break;
- 
--  case 454:
--#line 3687 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 455: /* $@17: %empty  */
-+#line 3713 "parser.y"
-+            {
-             parsingCSignature = TRUE;
-         }
-+#line 6824 "../parser.c"
-     break;
- 
--  case 455:
--#line 3689 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 456: /* optctorsig: '[' $@17 '(' arglist ')' ']'  */
-+#line 3715 "parser.y"
-+                              {
-             (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
- 
--            *(yyval.optsignature) = (yyvsp[(4) - (6)].signature);
-+            *(yyval.optsignature) = (yyvsp[-2].signature);
- 
-             parsingCSignature = FALSE;
-         }
-+#line 6836 "../parser.c"
-     break;
- 
--  case 456:
--#line 3698 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 457: /* optsig: %empty  */
-+#line 3724 "parser.y"
-+        {
-             (yyval.optsignature) = NULL;
-         }
-+#line 6844 "../parser.c"
-     break;
- 
--  case 457:
--#line 3701 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 458: /* $@18: %empty  */
-+#line 3727 "parser.y"
-+            {
-             parsingCSignature = TRUE;
-         }
-+#line 6852 "../parser.c"
-     break;
- 
--  case 458:
--#line 3703 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 459: /* optsig: '[' $@18 cpptype '(' arglist ')' ']'  */
-+#line 3729 "parser.y"
-+                                      {
-             (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
- 
--            *(yyval.optsignature) = (yyvsp[(5) - (7)].signature);
--            (yyval.optsignature)->result = (yyvsp[(3) - (7)].memArg);
-+            *(yyval.optsignature) = (yyvsp[-2].signature);
-+            (yyval.optsignature)->result = (yyvsp[-4].memArg);
- 
-             parsingCSignature = FALSE;
-         }
-+#line 6865 "../parser.c"
-     break;
- 
--  case 459:
--#line 3713 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 460: /* function: cpptype TK_NAME_VALUE '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' optdocstring premethodcode methodcode virtualcatchercode virtualcallcode  */
-+#line 3739 "parser.y"
-+                                                                                                                                                                                           {
-             if (notSkipping())
-             {
--                applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(10) - (17)].optflags));
-+                applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-7].optflags));
- 
--                (yyvsp[(4) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
-+                (yyvsp[-13].signature).result = (yyvsp[-16].memArg);
- 
-                 newFunction(currentSpec, currentModule, currentScope(), NULL,
-                         NULL, sectionFlags, currentIsStatic, currentIsSignal,
--                        currentIsSlot, currentIsVirt, (yyvsp[(2) - (17)].text), &(yyvsp[(4) - (17)].signature), (yyvsp[(6) - (17)].number), (yyvsp[(9) - (17)].number), &(yyvsp[(10) - (17)].optflags),
--                        (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(8) - (17)].throwlist), (yyvsp[(11) - (17)].optsignature), (yyvsp[(13) - (17)].docstr), (yyvsp[(7) - (17)].number), (yyvsp[(14) - (17)].codeb));
-+                        currentIsSlot, currentIsVirt, (yyvsp[-15].text), &(yyvsp[-13].signature), (yyvsp[-11].number), (yyvsp[-8].number), &(yyvsp[-7].optflags),
-+                        (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-9].throwlist), (yyvsp[-6].optsignature), (yyvsp[-4].docstr), (yyvsp[-10].number), (yyvsp[-3].codeb));
-             }
- 
-             currentIsStatic = FALSE;
-@@ -6941,11 +6884,12 @@ yyreduce:
-             currentIsSlot = FALSE;
-             currentIsVirt = FALSE;
-         }
-+#line 6888 "../parser.c"
-     break;
- 
--  case 460:
--#line 3731 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 461: /* function: cpptype TK_OPERATOR '=' '(' cpptype ')' ';'  */
-+#line 3757 "parser.y"
-+                                                    {
-             /*
-              * It looks like an assignment operator (though we don't bother to
-              * check the types) so make sure it is private.
-@@ -6965,11 +6909,12 @@ yyreduce:
-             currentIsSlot = FALSE;
-             currentIsVirt = FALSE;
-         }
-+#line 6913 "../parser.c"
-     break;
- 
--  case 461:
--#line 3751 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 462: /* function: cpptype TK_OPERATOR operatorname '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode  */
-+#line 3777 "parser.y"
-+                                                                                                                                                                                     {
-             if (notSkipping())
-             {
-                 classDef *cd = currentScope();
-@@ -6989,23 +6934,23 @@ yyreduce:
-                     ns_scope = NULL;
-                 }
- 
--                applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(11) - (17)].optflags));
-+                applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-6].optflags));
- 
-                 /* Handle the unary '+' and '-' operators. */
--                if ((cd != NULL && (yyvsp[(5) - (17)].signature).nrArgs == 0) || (cd == NULL && (yyvsp[(5) - (17)].signature).nrArgs == 1))
-+                if ((cd != NULL && (yyvsp[-12].signature).nrArgs == 0) || (cd == NULL && (yyvsp[-12].signature).nrArgs == 1))
-                 {
--                    if (strcmp((yyvsp[(3) - (17)].text), "__add__") == 0)
--                        (yyvsp[(3) - (17)].text) = "__pos__";
--                    else if (strcmp((yyvsp[(3) - (17)].text), "__sub__") == 0)
--                        (yyvsp[(3) - (17)].text) = "__neg__";
-+                    if (strcmp((yyvsp[-14].text), "__add__") == 0)
-+                        (yyvsp[-14].text) = "__pos__";
-+                    else if (strcmp((yyvsp[-14].text), "__sub__") == 0)
-+                        (yyvsp[-14].text) = "__neg__";
-                 }
- 
--                (yyvsp[(5) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
-+                (yyvsp[-12].signature).result = (yyvsp[-16].memArg);
- 
-                 newFunction(currentSpec, currentModule, cd, ns_scope, NULL,
-                         sectionFlags, currentIsStatic, currentIsSignal,
--                        currentIsSlot, currentIsVirt, (yyvsp[(3) - (17)].text), &(yyvsp[(5) - (17)].signature), (yyvsp[(7) - (17)].number), (yyvsp[(10) - (17)].number), &(yyvsp[(11) - (17)].optflags),
--                        (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(9) - (17)].throwlist), (yyvsp[(12) - (17)].optsignature), NULL, (yyvsp[(8) - (17)].number), (yyvsp[(14) - (17)].codeb));
-+                        currentIsSlot, currentIsVirt, (yyvsp[-14].text), &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number), &(yyvsp[-6].optflags),
-+                        (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
-             }
- 
-             currentIsStatic = FALSE;
-@@ -7013,22 +6958,23 @@ yyreduce:
-             currentIsSlot = FALSE;
-             currentIsVirt = FALSE;
-         }
-+#line 6962 "../parser.c"
-     break;
- 
--  case 462:
--#line 3795 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 463: /* function: TK_OPERATOR cpptype '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode  */
-+#line 3821 "parser.y"
-+                                                                                                                                                                        {
-             if (notSkipping())
-             {
-                 char *sname;
-                 classDef *scope = currentScope();
- 
--                if (scope == NULL || (yyvsp[(4) - (16)].signature).nrArgs != 0)
-+                if (scope == NULL || (yyvsp[-12].signature).nrArgs != 0)
-                     yyerror("Operator casts must be specified in a class and have no arguments");
- 
--                applyTypeFlags(currentModule, &(yyvsp[(2) - (16)].memArg), &(yyvsp[(10) - (16)].optflags));
-+                applyTypeFlags(currentModule, &(yyvsp[-14].memArg), &(yyvsp[-6].optflags));
- 
--                switch ((yyvsp[(2) - (16)].memArg).atype)
-+                switch ((yyvsp[-14].memArg).atype)
-                 {
-                 case defined_type:
-                     sname = NULL;
-@@ -7067,12 +7013,12 @@ yyreduce:
- 
-                 if (sname != NULL)
-                 {
--                    (yyvsp[(4) - (16)].signature).result = (yyvsp[(2) - (16)].memArg);
-+                    (yyvsp[-12].signature).result = (yyvsp[-14].memArg);
- 
-                     newFunction(currentSpec, currentModule, scope, NULL, NULL,
-                             sectionFlags, currentIsStatic, currentIsSignal,
--                            currentIsSlot, currentIsVirt, sname, &(yyvsp[(4) - (16)].signature), (yyvsp[(6) - (16)].number), (yyvsp[(9) - (16)].number),
--                            &(yyvsp[(10) - (16)].optflags), (yyvsp[(14) - (16)].codeb), (yyvsp[(15) - (16)].codeb), (yyvsp[(16) - (16)].codeb), (yyvsp[(8) - (16)].throwlist), (yyvsp[(11) - (16)].optsignature), NULL, (yyvsp[(7) - (16)].number), (yyvsp[(13) - (16)].codeb));
-+                            currentIsSlot, currentIsVirt, sname, &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number),
-+                            &(yyvsp[-6].optflags), (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
-                 }
-                 else
-                 {
-@@ -7080,11 +7026,11 @@ yyreduce:
- 
-                     /* Check it doesn't already exist. */
-                     for (al = scope->casts; al != NULL; al = al->next)
--                        if (compareScopedNames((yyvsp[(2) - (16)].memArg).u.snd, al->arg.u.snd) == 0)
-+                        if (compareScopedNames((yyvsp[-14].memArg).u.snd, al->arg.u.snd) == 0)
-                             yyerror("This operator cast has already been specified in this class");
- 
-                     al = sipMalloc(sizeof (argList));
--                    al->arg = (yyvsp[(2) - (16)].memArg);
-+                    al->arg = (yyvsp[-14].memArg);
-                     al->next = scope->casts;
- 
-                     scope->casts = al;
-@@ -7096,367 +7042,421 @@ yyreduce:
-             currentIsSlot = FALSE;
-             currentIsVirt = FALSE;
-         }
-+#line 7046 "../parser.c"
-     break;
- 
--  case 463:
--#line 3876 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__add__";}
-+  case 464: /* operatorname: '+'  */
-+#line 3902 "parser.y"
-+                        {(yyval.text) = "__add__";}
-+#line 7052 "../parser.c"
-     break;
- 
--  case 464:
--#line 3877 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__sub__";}
-+  case 465: /* operatorname: '-'  */
-+#line 3903 "parser.y"
-+                {(yyval.text) = "__sub__";}
-+#line 7058 "../parser.c"
-     break;
- 
--  case 465:
--#line 3878 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__mul__";}
-+  case 466: /* operatorname: '*'  */
-+#line 3904 "parser.y"
-+                {(yyval.text) = "__mul__";}
-+#line 7064 "../parser.c"
-     break;
- 
--  case 466:
--#line 3879 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__div__";}
-+  case 467: /* operatorname: '/'  */
-+#line 3905 "parser.y"
-+                {(yyval.text) = "__div__";}
-+#line 7070 "../parser.c"
-     break;
- 
--  case 467:
--#line 3880 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__mod__";}
-+  case 468: /* operatorname: '%'  */
-+#line 3906 "parser.y"
-+                {(yyval.text) = "__mod__";}
-+#line 7076 "../parser.c"
-     break;
- 
--  case 468:
--#line 3881 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__and__";}
-+  case 469: /* operatorname: '&'  */
-+#line 3907 "parser.y"
-+                {(yyval.text) = "__and__";}
-+#line 7082 "../parser.c"
-     break;
- 
--  case 469:
--#line 3882 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__or__";}
-+  case 470: /* operatorname: '|'  */
-+#line 3908 "parser.y"
-+                {(yyval.text) = "__or__";}
-+#line 7088 "../parser.c"
-     break;
- 
--  case 470:
--#line 3883 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__xor__";}
-+  case 471: /* operatorname: '^'  */
-+#line 3909 "parser.y"
-+                {(yyval.text) = "__xor__";}
-+#line 7094 "../parser.c"
-     break;
- 
--  case 471:
--#line 3884 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__lshift__";}
-+  case 472: /* operatorname: '<' '<'  */
-+#line 3910 "parser.y"
-+                    {(yyval.text) = "__lshift__";}
-+#line 7100 "../parser.c"
-     break;
- 
--  case 472:
--#line 3885 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__rshift__";}
-+  case 473: /* operatorname: '>' '>'  */
-+#line 3911 "parser.y"
-+                    {(yyval.text) = "__rshift__";}
-+#line 7106 "../parser.c"
-     break;
- 
--  case 473:
--#line 3886 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__iadd__";}
-+  case 474: /* operatorname: '+' '='  */
-+#line 3912 "parser.y"
-+                    {(yyval.text) = "__iadd__";}
-+#line 7112 "../parser.c"
-     break;
- 
--  case 474:
--#line 3887 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__isub__";}
-+  case 475: /* operatorname: '-' '='  */
-+#line 3913 "parser.y"
-+                    {(yyval.text) = "__isub__";}
-+#line 7118 "../parser.c"
-     break;
- 
--  case 475:
--#line 3888 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__imul__";}
-+  case 476: /* operatorname: '*' '='  */
-+#line 3914 "parser.y"
-+                    {(yyval.text) = "__imul__";}
-+#line 7124 "../parser.c"
-     break;
- 
--  case 476:
--#line 3889 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__idiv__";}
-+  case 477: /* operatorname: '/' '='  */
-+#line 3915 "parser.y"
-+                    {(yyval.text) = "__idiv__";}
-+#line 7130 "../parser.c"
-     break;
- 
--  case 477:
--#line 3890 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__imod__";}
-+  case 478: /* operatorname: '%' '='  */
-+#line 3916 "parser.y"
-+                    {(yyval.text) = "__imod__";}
-+#line 7136 "../parser.c"
-     break;
- 
--  case 478:
--#line 3891 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__iand__";}
-+  case 479: /* operatorname: '&' '='  */
-+#line 3917 "parser.y"
-+                    {(yyval.text) = "__iand__";}
-+#line 7142 "../parser.c"
-     break;
- 
--  case 479:
--#line 3892 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__ior__";}
-+  case 480: /* operatorname: '|' '='  */
-+#line 3918 "parser.y"
-+                    {(yyval.text) = "__ior__";}
-+#line 7148 "../parser.c"
-     break;
- 
--  case 480:
--#line 3893 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__ixor__";}
-+  case 481: /* operatorname: '^' '='  */
-+#line 3919 "parser.y"
-+                    {(yyval.text) = "__ixor__";}
-+#line 7154 "../parser.c"
-     break;
- 
--  case 481:
--#line 3894 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__ilshift__";}
-+  case 482: /* operatorname: '<' '<' '='  */
-+#line 3920 "parser.y"
-+                    {(yyval.text) = "__ilshift__";}
-+#line 7160 "../parser.c"
-     break;
- 
--  case 482:
--#line 3895 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__irshift__";}
-+  case 483: /* operatorname: '>' '>' '='  */
-+#line 3921 "parser.y"
-+                    {(yyval.text) = "__irshift__";}
-+#line 7166 "../parser.c"
-     break;
- 
--  case 483:
--#line 3896 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__invert__";}
-+  case 484: /* operatorname: '~'  */
-+#line 3922 "parser.y"
-+                {(yyval.text) = "__invert__";}
-+#line 7172 "../parser.c"
-     break;
- 
--  case 484:
--#line 3897 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__call__";}
-+  case 485: /* operatorname: '(' ')'  */
-+#line 3923 "parser.y"
-+                    {(yyval.text) = "__call__";}
-+#line 7178 "../parser.c"
-     break;
- 
--  case 485:
--#line 3898 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__getitem__";}
-+  case 486: /* operatorname: '[' ']'  */
-+#line 3924 "parser.y"
-+                    {(yyval.text) = "__getitem__";}
-+#line 7184 "../parser.c"
-     break;
- 
--  case 486:
--#line 3899 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__lt__";}
-+  case 487: /* operatorname: '<'  */
-+#line 3925 "parser.y"
-+                {(yyval.text) = "__lt__";}
-+#line 7190 "../parser.c"
-     break;
- 
--  case 487:
--#line 3900 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__le__";}
-+  case 488: /* operatorname: '<' '='  */
-+#line 3926 "parser.y"
-+                    {(yyval.text) = "__le__";}
-+#line 7196 "../parser.c"
-     break;
- 
--  case 488:
--#line 3901 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__eq__";}
-+  case 489: /* operatorname: '=' '='  */
-+#line 3927 "parser.y"
-+                    {(yyval.text) = "__eq__";}
-+#line 7202 "../parser.c"
-     break;
- 
--  case 489:
--#line 3902 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__ne__";}
-+  case 490: /* operatorname: '!' '='  */
-+#line 3928 "parser.y"
-+                    {(yyval.text) = "__ne__";}
-+#line 7208 "../parser.c"
-     break;
- 
--  case 490:
--#line 3903 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__gt__";}
-+  case 491: /* operatorname: '>'  */
-+#line 3929 "parser.y"
-+                {(yyval.text) = "__gt__";}
-+#line 7214 "../parser.c"
-     break;
- 
--  case 491:
--#line 3904 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {(yyval.text) = "__ge__";}
-+  case 492: /* operatorname: '>' '='  */
-+#line 3930 "parser.y"
-+                    {(yyval.text) = "__ge__";}
-+#line 7220 "../parser.c"
-     break;
- 
--  case 492:
--#line 3907 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 493: /* optconst: %empty  */
-+#line 3933 "parser.y"
-+            {
-             (yyval.number) = FALSE;
-         }
-+#line 7228 "../parser.c"
-     break;
- 
--  case 493:
--#line 3910 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 494: /* optconst: TK_CONST  */
-+#line 3936 "parser.y"
-+                 {
-             (yyval.number) = TRUE;
-         }
-+#line 7236 "../parser.c"
-     break;
- 
--  case 494:
--#line 3915 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 495: /* optfinal: %empty  */
-+#line 3941 "parser.y"
-+            {
-             (yyval.number) = FALSE;
-         }
-+#line 7244 "../parser.c"
-     break;
- 
--  case 495:
--#line 3918 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 496: /* optfinal: TK_FINAL  */
-+#line 3944 "parser.y"
-+                 {
-             (yyval.number) = TRUE;
-         }
-+#line 7252 "../parser.c"
-     break;
- 
--  case 496:
--#line 3923 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 497: /* optabstract: %empty  */
-+#line 3949 "parser.y"
-+                {
-             (yyval.number) = 0;
-         }
-+#line 7260 "../parser.c"
-     break;
- 
--  case 497:
--#line 3926 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            if ((yyvsp[(2) - (2)].number) != 0)
-+  case 498: /* optabstract: '=' TK_NUMBER_VALUE  */
-+#line 3952 "parser.y"
-+                            {
-+            if ((yyvsp[0].number) != 0)
-                 yyerror("Abstract virtual function '= 0' expected");
- 
-             (yyval.number) = TRUE;
-         }
-+#line 7271 "../parser.c"
-     break;
- 
--  case 498:
--#line 3934 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 499: /* optflags: %empty  */
-+#line 3960 "parser.y"
-+            {
-             (yyval.optflags).nrFlags = 0;
-         }
-+#line 7279 "../parser.c"
-     break;
- 
--  case 499:
--#line 3937 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.optflags) = (yyvsp[(2) - (3)].optflags);
-+  case 500: /* optflags: '/' flaglist '/'  */
-+#line 3963 "parser.y"
-+                         {
-+            (yyval.optflags) = (yyvsp[-1].optflags);
-         }
-+#line 7287 "../parser.c"
-     break;
- 
--  case 500:
--#line 3943 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.optflags).flags[0] = (yyvsp[(1) - (1)].flag);
-+  case 501: /* flaglist: flag  */
-+#line 3969 "parser.y"
-+                 {
-+            (yyval.optflags).flags[0] = (yyvsp[0].flag);
-             (yyval.optflags).nrFlags = 1;
-         }
-+#line 7296 "../parser.c"
-     break;
- 
--  case 501:
--#line 3947 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 502: /* flaglist: flaglist ',' flag  */
-+#line 3973 "parser.y"
-+                          {
-             /* Check there is room. */
- 
--            if ((yyvsp[(1) - (3)].optflags).nrFlags == MAX_NR_FLAGS)
-+            if ((yyvsp[-2].optflags).nrFlags == MAX_NR_FLAGS)
-                 yyerror("Too many optional flags");
- 
--            (yyval.optflags) = (yyvsp[(1) - (3)].optflags);
-+            (yyval.optflags) = (yyvsp[-2].optflags);
- 
--            (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[(3) - (3)].flag);
-+            (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[0].flag);
-         }
-+#line 7311 "../parser.c"
-     break;
- 
--  case 502:
--#line 3959 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 503: /* flag: TK_NAME_VALUE  */
-+#line 3985 "parser.y"
-+                      {
-             (yyval.flag).ftype = bool_flag;
--            (yyval.flag).fname = (yyvsp[(1) - (1)].text);
-+            (yyval.flag).fname = (yyvsp[0].text);
-         }
-+#line 7320 "../parser.c"
-     break;
- 
--  case 503:
--#line 3963 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.flag) = (yyvsp[(3) - (3)].flag);
--            (yyval.flag).fname = (yyvsp[(1) - (3)].text);
-+  case 504: /* flag: TK_NAME_VALUE '=' flagvalue  */
-+#line 3989 "parser.y"
-+                                    {
-+            (yyval.flag) = (yyvsp[0].flag);
-+            (yyval.flag).fname = (yyvsp[-2].text);
-         }
-+#line 7329 "../parser.c"
-     break;
- 
--  case 504:
--#line 3969 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.flag).ftype = (strchr((yyvsp[(1) - (1)].text), '.') != NULL) ? dotted_name_flag : name_flag;
--            (yyval.flag).fvalue.sval = (yyvsp[(1) - (1)].text);
-+  case 505: /* flagvalue: dottedname  */
-+#line 3995 "parser.y"
-+                       {
-+            (yyval.flag).ftype = (strchr((yyvsp[0].text), '.') != NULL) ? dotted_name_flag : name_flag;
-+            (yyval.flag).fvalue.sval = (yyvsp[0].text);
-         }
-+#line 7338 "../parser.c"
-     break;
- 
--  case 505:
--#line 3973 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 506: /* flagvalue: TK_NAME_VALUE ':' optnumber '-' optnumber  */
-+#line 3999 "parser.y"
-+                                                  {
-             apiVersionRangeDef *avd;
-             int from, to;
- 
-             (yyval.flag).ftype = api_range_flag;
- 
-             /* Check that the API is known. */
--            if ((avd = findAPI(currentSpec, (yyvsp[(1) - (5)].text))) == NULL)
-+            if ((avd = findAPI(currentSpec, (yyvsp[-4].text))) == NULL)
-                 yyerror("unknown API name in API annotation");
- 
-             if (inMainModule())
-                 setIsUsedName(avd->api_name);
- 
-             /* Unbounded values are represented by 0. */
--            if ((from = (yyvsp[(3) - (5)].number)) < 0)
-+            if ((from = (yyvsp[-2].number)) < 0)
-                 from = 0;
- 
--            if ((to = (yyvsp[(5) - (5)].number)) < 0)
-+            if ((to = (yyvsp[0].number)) < 0)
-                 to = 0;
- 
-             (yyval.flag).fvalue.aval = convertAPIRange(currentModule, avd->api_name,
-                     from, to);
-         }
-+#line 7366 "../parser.c"
-     break;
- 
--  case 506:
--#line 3996 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 507: /* flagvalue: TK_STRING_VALUE  */
-+#line 4022 "parser.y"
-+                        {
-             (yyval.flag).ftype = string_flag;
--            (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[(1) - (1)].text));
-+            (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[0].text));
-         }
-+#line 7375 "../parser.c"
-     break;
- 
--  case 507:
--#line 4000 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 508: /* flagvalue: TK_NUMBER_VALUE  */
-+#line 4026 "parser.y"
-+                        {
-             (yyval.flag).ftype = integer_flag;
--            (yyval.flag).fvalue.ival = (yyvsp[(1) - (1)].number);
-+            (yyval.flag).fvalue.ival = (yyvsp[0].number);
-         }
-+#line 7384 "../parser.c"
-     break;
- 
--  case 508:
--#line 4006 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 509: /* virtualcallcode: %empty  */
-+#line 4032 "parser.y"
-+                 {
-             (yyval.codeb) = NULL;
-         }
-+#line 7392 "../parser.c"
-     break;
- 
--  case 509:
--#line 4009 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 510: /* virtualcallcode: TK_VIRTUALCALLCODE codeblock  */
-+#line 4035 "parser.y"
-+                                     {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 7400 "../parser.c"
-     break;
- 
--  case 510:
--#line 4014 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 511: /* methodcode: %empty  */
-+#line 4040 "parser.y"
-+            {
-             (yyval.codeb) = NULL;
-         }
-+#line 7408 "../parser.c"
-     break;
- 
--  case 511:
--#line 4017 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 512: /* methodcode: TK_METHODCODE codeblock  */
-+#line 4043 "parser.y"
-+                                {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 7416 "../parser.c"
-     break;
- 
--  case 512:
--#line 4022 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 513: /* premethodcode: %empty  */
-+#line 4048 "parser.y"
-+               {
-             (yyval.codeb) = NULL;
-         }
-+#line 7424 "../parser.c"
-     break;
- 
--  case 513:
--#line 4025 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 514: /* premethodcode: TK_PREMETHODCODE codeblock  */
-+#line 4051 "parser.y"
-+                                   {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 7432 "../parser.c"
-     break;
- 
--  case 514:
--#line 4030 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 515: /* virtualcatchercode: %empty  */
-+#line 4056 "parser.y"
-+                    {
-             (yyval.codeb) = NULL;
-         }
-+#line 7440 "../parser.c"
-     break;
- 
--  case 515:
--#line 4033 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
-+  case 516: /* virtualcatchercode: TK_VIRTUALCATCHERCODE codeblock  */
-+#line 4059 "parser.y"
-+                                        {
-+            (yyval.codeb) = (yyvsp[0].codeb);
-         }
-+#line 7448 "../parser.c"
-     break;
- 
--  case 516:
--#line 4038 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 517: /* arglist: rawarglist  */
-+#line 4064 "parser.y"
-+                       {
-             int a, nrrxcon, nrrxdis, nrslotcon, nrslotdis, nrarray, nrarraysize;
- 
-             nrrxcon = nrrxdis = nrslotcon = nrslotdis = nrarray = nrarraysize = 0;
- 
--            for (a = 0; a < (yyvsp[(1) - (1)].signature).nrArgs; ++a)
-+            for (a = 0; a < (yyvsp[0].signature).nrArgs; ++a)
-             {
--                argDef *ad = &(yyvsp[(1) - (1)].signature).args[a];
-+                argDef *ad = &(yyvsp[0].signature).args[a];
- 
-                 switch (ad -> atype)
-                 {
-@@ -7497,226 +7497,243 @@ yyreduce:
-             if (nrarray != nrarraysize || nrarray > 1)
-                 yyerror("/Array/ and /ArraySize/ must both be given and at most once");
- 
--            (yyval.signature) = (yyvsp[(1) - (1)].signature);
-+            (yyval.signature) = (yyvsp[0].signature);
-         }
-+#line 7503 "../parser.c"
-     break;
- 
--  case 517:
--#line 4090 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 518: /* rawarglist: %empty  */
-+#line 4116 "parser.y"
-+            {
-             /* No arguments. */
- 
-             (yyval.signature).nrArgs = 0;
-         }
-+#line 7513 "../parser.c"
-     break;
- 
--  case 518:
--#line 4095 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 519: /* rawarglist: argvalue  */
-+#line 4121 "parser.y"
-+                 {
-             /* The single or first argument. */
- 
--            (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
-+            (yyval.signature).args[0] = (yyvsp[0].memArg);
-             (yyval.signature).nrArgs = 1;
-         }
-+#line 7524 "../parser.c"
-     break;
- 
--  case 519:
--#line 4101 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 520: /* rawarglist: rawarglist ',' argvalue  */
-+#line 4127 "parser.y"
-+                                {
-             /* Check that it wasn't ...(,arg...). */
--            if ((yyvsp[(1) - (3)].signature).nrArgs == 0)
-+            if ((yyvsp[-2].signature).nrArgs == 0)
-                 yyerror("First argument of the list is missing");
- 
-             /*
-              * If this argument has no default value, then the
-              * previous one mustn't either.
-              */
--            if ((yyvsp[(3) - (3)].memArg).defval == NULL && (yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].defval != NULL)
-+            if ((yyvsp[0].memArg).defval == NULL && (yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].defval != NULL)
-                 yyerror("Compulsory argument given after optional argument");
- 
-             /* Check there is room. */
--            if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
-+            if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
-                 yyerror("Internal error - increase the value of MAX_NR_ARGS");
- 
--            (yyval.signature) = (yyvsp[(1) - (3)].signature);
-+            (yyval.signature) = (yyvsp[-2].signature);
- 
--            (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
-+            (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
-             (yyval.signature).nrArgs++;
-         }
-+#line 7550 "../parser.c"
-     break;
- 
--  case 520:
--#line 4124 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 521: /* argvalue: TK_SIPSIGNAL optname optflags optassign  */
-+#line 4150 "parser.y"
-+                                                    {
-             deprecated("SIP_SIGNAL is deprecated\n");
--            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SIGNAL has no annotations");
-+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SIGNAL has no annotations");
- 
-             (yyval.memArg).atype = signal_type;
-             (yyval.memArg).argflags = ARG_IS_CONST;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
--            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
-+            (yyval.memArg).defval = (yyvsp[0].valp);
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7567 "../parser.c"
-     break;
- 
--  case 521:
--#line 4136 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 522: /* argvalue: TK_SIPSLOT optname optflags optassign  */
-+#line 4162 "parser.y"
-+                                              {
-             deprecated("SIP_SLOT is deprecated\n");
--            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SLOT has no annotations");
-+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SLOT has no annotations");
- 
-             (yyval.memArg).atype = slot_type;
-             (yyval.memArg).argflags = ARG_IS_CONST;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
--            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
-+            (yyval.memArg).defval = (yyvsp[0].valp);
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7584 "../parser.c"
-     break;
- 
--  case 522:
--#line 4148 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 523: /* argvalue: TK_SIPANYSLOT optname optflags optassign  */
-+#line 4174 "parser.y"
-+                                                 {
-             deprecated("SIP_ANYSLOT is deprecated\n");
--            checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_ANYSLOT has no annotations");
-+            checkNoAnnos(&(yyvsp[-1].optflags), "SIP_ANYSLOT has no annotations");
- 
-             (yyval.memArg).atype = anyslot_type;
-             (yyval.memArg).argflags = ARG_IS_CONST;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
--            (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
-+            (yyval.memArg).defval = (yyvsp[0].valp);
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7601 "../parser.c"
-     break;
- 
--  case 523:
--#line 4160 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 524: /* argvalue: TK_SIPRXCON optname optflags  */
-+#line 4186 "parser.y"
-+                                     {
-             const char *annos[] = {
-                 "SingleShot",
-                 NULL
-             };
- 
-             deprecated("SIP_RXOBJ_CON is deprecated\n");
--            checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
-+            checkAnnos(&(yyvsp[0].optflags), annos);
- 
-             (yyval.memArg).atype = rxcon_type;
-             (yyval.memArg).argflags = 0;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "SingleShot", bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags), "SingleShot", bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_SINGLE_SHOT;
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7625 "../parser.c"
-     break;
- 
--  case 524:
--#line 4179 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 525: /* argvalue: TK_SIPRXDIS optname optflags  */
-+#line 4205 "parser.y"
-+                                     {
-             deprecated("SIP_RXOBJ_DIS is deprecated\n");
--            checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_RXOBJ_DIS has no annotations");
-+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_RXOBJ_DIS has no annotations");
- 
-             (yyval.memArg).atype = rxdis_type;
-             (yyval.memArg).argflags = 0;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7641 "../parser.c"
-     break;
- 
--  case 525:
--#line 4190 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 526: /* argvalue: TK_SIPSLOTCON '(' arglist ')' optname optflags  */
-+#line 4216 "parser.y"
-+                                                       {
-             deprecated("SIP_SLOT_CON is deprecated\n");
--            checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_CON has no annotations");
-+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_CON has no annotations");
- 
-             (yyval.memArg).atype = slotcon_type;
-             (yyval.memArg).argflags = ARG_IS_CONST;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
- 
--            memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
--            (yyvsp[(3) - (6)].signature).result.atype = void_type;
-+            memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
-+            (yyvsp[-3].signature).result.atype = void_type;
- 
-             (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
--            *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
-+            *(yyval.memArg).u.sa = (yyvsp[-3].signature);
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7663 "../parser.c"
-     break;
- 
--  case 526:
--#line 4207 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 527: /* argvalue: TK_SIPSLOTDIS '(' arglist ')' optname optflags  */
-+#line 4233 "parser.y"
-+                                                       {
-             deprecated("SIP_SLOT_DIS is deprecated\n");
--            checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_DIS has no annotations");
-+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_DIS has no annotations");
- 
-             (yyval.memArg).atype = slotdis_type;
-             (yyval.memArg).argflags = ARG_IS_CONST;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
- 
--            memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
--            (yyvsp[(3) - (6)].signature).result.atype = void_type;
-+            memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
-+            (yyvsp[-3].signature).result.atype = void_type;
- 
-             (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
--            *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
-+            *(yyval.memArg).u.sa = (yyvsp[-3].signature);
- 
-             currentSpec -> sigslots = TRUE;
-         }
-+#line 7685 "../parser.c"
-     break;
- 
--  case 527:
--#line 4224 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 528: /* argvalue: TK_QOBJECT optname optflags  */
-+#line 4250 "parser.y"
-+                                    {
-             deprecated("SIP_QOBJECT is deprecated\n");
--            checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_QOBJECT has no annotations");
-+            checkNoAnnos(&(yyvsp[0].optflags), "SIP_QOBJECT has no annotations");
- 
-             (yyval.memArg).atype = qobject_type;
-             (yyval.memArg).argflags = 0;
-             (yyval.memArg).nrderefs = 0;
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
-         }
-+#line 7699 "../parser.c"
-     break;
- 
--  case 528:
--#line 4233 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.memArg) = (yyvsp[(1) - (2)].memArg);
--            (yyval.memArg).defval = (yyvsp[(2) - (2)].valp);
-+  case 529: /* argvalue: argtype optassign  */
-+#line 4259 "parser.y"
-+                          {
-+            (yyval.memArg) = (yyvsp[-1].memArg);
-+            (yyval.memArg).defval = (yyvsp[0].valp);
-         }
-+#line 7708 "../parser.c"
-     break;
- 
--  case 529:
--#line 4240 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsSignal = TRUE;}
-+  case 530: /* $@19: %empty  */
-+#line 4266 "parser.y"
-+                         {currentIsSignal = TRUE;}
-+#line 7714 "../parser.c"
-     break;
- 
--  case 531:
--#line 4241 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsSlot = TRUE;}
-+  case 532: /* $@20: %empty  */
-+#line 4267 "parser.y"
-+                       {currentIsSlot = TRUE;}
-+#line 7720 "../parser.c"
-     break;
- 
--  case 534:
--#line 4246 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsStatic = TRUE;}
-+  case 535: /* $@21: %empty  */
-+#line 4272 "parser.y"
-+                  {currentIsStatic = TRUE;}
-+#line 7726 "../parser.c"
-     break;
- 
--  case 539:
--#line 4256 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {currentIsVirt = TRUE;}
-+  case 540: /* $@22: %empty  */
-+#line 4282 "parser.y"
-+                   {currentIsVirt = TRUE;}
-+#line 7732 "../parser.c"
-     break;
- 
--  case 542:
--#line 4260 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 543: /* variable: cpptype TK_NAME_VALUE optflags variable_body ';' optaccesscode optgetcode optsetcode  */
-+#line 4286 "parser.y"
-+                                                                                                 {
-             if (notSkipping())
-             {
-                 const char *annos[] = {
-@@ -7730,99 +7747,105 @@ yyreduce:
-                     NULL
-                 };
- 
--                checkAnnos(&(yyvsp[(3) - (8)].optflags), annos);
-+                checkAnnos(&(yyvsp[-5].optflags), annos);
- 
--                if ((yyvsp[(6) - (8)].codeb) != NULL)
-+                if ((yyvsp[-2].codeb) != NULL)
-                 {
--                    if ((yyvsp[(4) - (8)].variable).access_code != NULL)
-+                    if ((yyvsp[-4].variable).access_code != NULL)
-                         yyerror("%AccessCode already defined");
- 
--                    (yyvsp[(4) - (8)].variable).access_code = (yyvsp[(6) - (8)].codeb);
-+                    (yyvsp[-4].variable).access_code = (yyvsp[-2].codeb);
- 
-                     deprecated("%AccessCode should be used as a sub-directive");
-                 }
- 
--                if ((yyvsp[(7) - (8)].codeb) != NULL)
-+                if ((yyvsp[-1].codeb) != NULL)
-                 {
--                    if ((yyvsp[(4) - (8)].variable).get_code != NULL)
-+                    if ((yyvsp[-4].variable).get_code != NULL)
-                         yyerror("%GetCode already defined");
- 
--                    (yyvsp[(4) - (8)].variable).get_code = (yyvsp[(7) - (8)].codeb);
-+                    (yyvsp[-4].variable).get_code = (yyvsp[-1].codeb);
- 
-                     deprecated("%GetCode should be used as a sub-directive");
-                 }
- 
--                if ((yyvsp[(8) - (8)].codeb) != NULL)
-+                if ((yyvsp[0].codeb) != NULL)
-                 {
--                    if ((yyvsp[(4) - (8)].variable).set_code != NULL)
-+                    if ((yyvsp[-4].variable).set_code != NULL)
-                         yyerror("%SetCode already defined");
- 
--                    (yyvsp[(4) - (8)].variable).set_code = (yyvsp[(8) - (8)].codeb);
-+                    (yyvsp[-4].variable).set_code = (yyvsp[0].codeb);
- 
-                     deprecated("%SetCode should be used as a sub-directive");
-                 }
- 
--                newVar(currentSpec, currentModule, (yyvsp[(2) - (8)].text), currentIsStatic, &(yyvsp[(1) - (8)].memArg),
--                        &(yyvsp[(3) - (8)].optflags), (yyvsp[(4) - (8)].variable).access_code, (yyvsp[(4) - (8)].variable).get_code, (yyvsp[(4) - (8)].variable).set_code,
-+                newVar(currentSpec, currentModule, (yyvsp[-6].text), currentIsStatic, &(yyvsp[-7].memArg),
-+                        &(yyvsp[-5].optflags), (yyvsp[-4].variable).access_code, (yyvsp[-4].variable).get_code, (yyvsp[-4].variable).set_code,
-                         sectionFlags);
-             }
- 
-             currentIsStatic = FALSE;
-         }
-+#line 7790 "../parser.c"
-     break;
- 
--  case 543:
--#line 4315 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 544: /* variable_body: %empty  */
-+#line 4341 "parser.y"
-+                {
-             (yyval.variable).token = 0;
-             (yyval.variable).access_code = NULL;
-             (yyval.variable).get_code = NULL;
-             (yyval.variable).set_code = NULL;
-         }
-+#line 7801 "../parser.c"
-     break;
- 
--  case 544:
--#line 4321 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.variable) = (yyvsp[(2) - (3)].variable);
-+  case 545: /* variable_body: '{' variable_body_directives '}'  */
-+#line 4347 "parser.y"
-+                                         {
-+            (yyval.variable) = (yyvsp[-1].variable);
-         }
-+#line 7809 "../parser.c"
-     break;
- 
--  case 546:
--#line 4327 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.variable) = (yyvsp[(1) - (2)].variable);
-+  case 547: /* variable_body_directives: variable_body_directives variable_body_directive  */
-+#line 4353 "parser.y"
-+                                                         {
-+            (yyval.variable) = (yyvsp[-1].variable);
- 
--            switch ((yyvsp[(2) - (2)].variable).token)
-+            switch ((yyvsp[0].variable).token)
-             {
--            case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[(2) - (2)].variable).access_code; break;
--            case TK_GETCODE: (yyval.variable).get_code = (yyvsp[(2) - (2)].variable).get_code; break;
--            case TK_SETCODE: (yyval.variable).set_code = (yyvsp[(2) - (2)].variable).set_code; break;
-+            case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[0].variable).access_code; break;
-+            case TK_GETCODE: (yyval.variable).get_code = (yyvsp[0].variable).get_code; break;
-+            case TK_SETCODE: (yyval.variable).set_code = (yyvsp[0].variable).set_code; break;
-             }
-         }
-+#line 7824 "../parser.c"
-     break;
- 
--  case 547:
--#line 4339 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 548: /* variable_body_directive: ifstart  */
-+#line 4365 "parser.y"
-+                                    {
-             (yyval.variable).token = TK_IF;
-         }
-+#line 7832 "../parser.c"
-     break;
- 
--  case 548:
--#line 4342 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 549: /* variable_body_directive: ifend  */
-+#line 4368 "parser.y"
-+              {
-             (yyval.variable).token = TK_END;
-         }
-+#line 7840 "../parser.c"
-     break;
- 
--  case 549:
--#line 4345 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 550: /* variable_body_directive: TK_ACCESSCODE codeblock  */
-+#line 4371 "parser.y"
-+                                {
-             if (notSkipping())
-             {
-                 (yyval.variable).token = TK_ACCESSCODE;
--                (yyval.variable).access_code = (yyvsp[(2) - (2)].codeb);
-+                (yyval.variable).access_code = (yyvsp[0].codeb);
-             }
-             else
-             {
-@@ -7833,15 +7856,16 @@ yyreduce:
-             (yyval.variable).get_code = NULL;
-             (yyval.variable).set_code = NULL;
-         }
-+#line 7860 "../parser.c"
-     break;
- 
--  case 550:
--#line 4360 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 551: /* variable_body_directive: TK_GETCODE codeblock  */
-+#line 4386 "parser.y"
-+                             {
-             if (notSkipping())
-             {
-                 (yyval.variable).token = TK_GETCODE;
--                (yyval.variable).get_code = (yyvsp[(2) - (2)].codeb);
-+                (yyval.variable).get_code = (yyvsp[0].codeb);
-             }
-             else
-             {
-@@ -7852,15 +7876,16 @@ yyreduce:
-             (yyval.variable).access_code = NULL;
-             (yyval.variable).set_code = NULL;
-         }
-+#line 7880 "../parser.c"
-     break;
- 
--  case 551:
--#line 4375 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 552: /* variable_body_directive: TK_SETCODE codeblock  */
-+#line 4401 "parser.y"
-+                             {
-             if (notSkipping())
-             {
-                 (yyval.variable).token = TK_SETCODE;
--                (yyval.variable).set_code = (yyvsp[(2) - (2)].codeb);
-+                (yyval.variable).set_code = (yyvsp[0].codeb);
-             }
-             else
-             {
-@@ -7871,36 +7896,39 @@ yyreduce:
-             (yyval.variable).access_code = NULL;
-             (yyval.variable).get_code = NULL;
-         }
-+#line 7900 "../parser.c"
-     break;
- 
--  case 552:
--#line 4392 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.memArg) = (yyvsp[(2) - (4)].memArg);
--            add_derefs(&(yyval.memArg), &(yyvsp[(3) - (4)].memArg));
--            (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[(4) - (4)].number);
-+  case 553: /* cpptype: TK_CONST basetype deref optref  */
-+#line 4418 "parser.y"
-+                                           {
-+            (yyval.memArg) = (yyvsp[-2].memArg);
-+            add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
-+            (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[0].number);
-         }
-+#line 7910 "../parser.c"
-     break;
- 
--  case 553:
--#line 4397 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
--            add_derefs(&(yyval.memArg), &(yyvsp[(2) - (3)].memArg));
--            (yyval.memArg).argflags |= (yyvsp[(3) - (3)].number);
-+  case 554: /* cpptype: basetype deref optref  */
-+#line 4423 "parser.y"
-+                              {
-+            (yyval.memArg) = (yyvsp[-2].memArg);
-+            add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
-+            (yyval.memArg).argflags |= (yyvsp[0].number);
- 
-             /* PyObject * is a synonym for SIP_PYOBJECT. */
--            if ((yyvsp[(1) - (3)].memArg).atype == defined_type && strcmp((yyvsp[(1) - (3)].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[(1) - (3)].memArg).u.snd->next == NULL && (yyvsp[(2) - (3)].memArg).nrderefs == 1 && (yyvsp[(3) - (3)].number) == 0)
-+            if ((yyvsp[-2].memArg).atype == defined_type && strcmp((yyvsp[-2].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[-2].memArg).u.snd->next == NULL && (yyvsp[-1].memArg).nrderefs == 1 && (yyvsp[0].number) == 0)
-             {
-                 (yyval.memArg).atype = pyobject_type;
-                 (yyval.memArg).nrderefs = 0;
-             }
-         }
-+#line 7927 "../parser.c"
-     break;
- 
--  case 554:
--#line 4411 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 555: /* argtype: cpptype optname optflags  */
-+#line 4437 "parser.y"
-+                                     {
-             const char *annos[] = {
-                 "AllowNone",
-                 "Array",
-@@ -7930,54 +7958,54 @@ yyreduce:
- 
-             optFlag *of;
- 
--            checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
-+            checkAnnos(&(yyvsp[0].optflags), annos);
- 
--            (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
--            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
-+            (yyval.memArg) = (yyvsp[-2].memArg);
-+            (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
- 
--            handleKeepReference(&(yyvsp[(3) - (3)].optflags), &(yyval.memArg), currentModule);
-+            handleKeepReference(&(yyvsp[0].optflags), &(yyval.memArg), currentModule);
- 
--            if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
-+            if ((of = getOptFlag(&(yyvsp[0].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
-                 if (((yyval.memArg).scopes_stripped = of->fvalue.ival) <= 0)
-                     yyerror("/ScopesStripped/ must be greater than 0");
- 
--            if (getAllowNone(&(yyvsp[(3) - (3)].optflags)))
-+            if (getAllowNone(&(yyvsp[0].optflags)))
-                 (yyval.memArg).argflags |= ARG_ALLOW_NONE;
- 
--            if (getDisallowNone(&(yyvsp[(3) - (3)].optflags)))
-+            if (getDisallowNone(&(yyvsp[0].optflags)))
-                 (yyval.memArg).argflags |= ARG_DISALLOW_NONE;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"GetWrapper",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"GetWrapper",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_GET_WRAPPER;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Array",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"Array",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_ARRAY;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"ArraySize",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"ArraySize",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_ARRAY_SIZE;
- 
--            if (getTransfer(&(yyvsp[(3) - (3)].optflags)))
-+            if (getTransfer(&(yyvsp[0].optflags)))
-                 (yyval.memArg).argflags |= ARG_XFERRED;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferThis",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"TransferThis",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_THIS_XFERRED;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferBack",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"TransferBack",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_XFERRED_BACK;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"In",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"In",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_IN;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Out",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"Out",bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_OUT;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "ResultSize", bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags), "ResultSize", bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_RESULT_SIZE;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "NoCopy", bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags), "NoCopy", bool_flag) != NULL)
-                 (yyval.memArg).argflags |= ARG_NO_COPY;
- 
--            if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Constrained",bool_flag) != NULL)
-+            if (getOptFlag(&(yyvsp[0].optflags),"Constrained",bool_flag) != NULL)
-             {
-                 (yyval.memArg).argflags |= ARG_CONSTRAINED;
- 
-@@ -8005,499 +8033,518 @@ yyreduce:
-                 }
-             }
- 
--            applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[(3) - (3)].optflags));
--            (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[(3) - (3)].optflags));
-+            applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[0].optflags));
-+            (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[0].optflags));
-         }
-+#line 8040 "../parser.c"
-     break;
- 
--  case 555:
--#line 4521 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 556: /* optref: %empty  */
-+#line 4547 "parser.y"
-+        {
-             (yyval.number) = 0;
-         }
-+#line 8048 "../parser.c"
-     break;
- 
--  case 556:
--#line 4524 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 557: /* optref: '&'  */
-+#line 4550 "parser.y"
-+            {
-             if (currentSpec -> genc)
-                 yyerror("References not allowed in a C module");
- 
-             (yyval.number) = ARG_IS_REF;
-         }
-+#line 8059 "../parser.c"
-     break;
- 
--  case 557:
--#line 4532 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 558: /* deref: %empty  */
-+#line 4558 "parser.y"
-+        {
-             (yyval.memArg).nrderefs = 0;
-         }
-+#line 8067 "../parser.c"
-     break;
- 
--  case 558:
--#line 4535 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (3)].memArg), TRUE);
-+  case 559: /* deref: deref '*' TK_CONST  */
-+#line 4561 "parser.y"
-+                           {
-+            add_new_deref(&(yyval.memArg), &(yyvsp[-2].memArg), TRUE);
-         }
-+#line 8075 "../parser.c"
-     break;
- 
--  case 559:
--#line 4538 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
--            add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (2)].memArg), FALSE);
-+  case 560: /* deref: deref '*'  */
-+#line 4564 "parser.y"
-+                  {
-+            add_new_deref(&(yyval.memArg), &(yyvsp[-1].memArg), FALSE);
-         }
-+#line 8083 "../parser.c"
-     break;
- 
--  case 560:
--#line 4543 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 561: /* basetype: scopedname  */
-+#line 4569 "parser.y"
-+                       {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = defined_type;
--            (yyval.memArg).u.snd = (yyvsp[(1) - (1)].scpvalp);
-+            (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
- 
-             /* Try and resolve typedefs as early as possible. */
-             resolveAnyTypedef(currentSpec, &(yyval.memArg));
-         }
-+#line 8096 "../parser.c"
-     break;
- 
--  case 561:
--#line 4551 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 562: /* basetype: scopedname '<' cpptypelist '>'  */
-+#line 4577 "parser.y"
-+                                       {
-             templateDef *td;
- 
-             td = sipMalloc(sizeof(templateDef));
--            td->fqname = (yyvsp[(1) - (4)].scpvalp);
--            td->types = (yyvsp[(3) - (4)].signature);
-+            td->fqname = (yyvsp[-3].scpvalp);
-+            td->types = (yyvsp[-1].signature);
- 
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = template_type;
-             (yyval.memArg).u.td = td;
-         }
-+#line 8112 "../parser.c"
-     break;
- 
--  case 562:
--#line 4562 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 563: /* basetype: TK_STRUCT scopedname  */
-+#line 4588 "parser.y"
-+                             {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
- 
-             /* In a C module all structures must be defined. */
-             if (currentSpec -> genc)
-             {
-                 (yyval.memArg).atype = defined_type;
--                (yyval.memArg).u.snd = (yyvsp[(2) - (2)].scpvalp);
-+                (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
-             }
-             else
-             {
-                 (yyval.memArg).atype = struct_type;
--                (yyval.memArg).u.sname = (yyvsp[(2) - (2)].scpvalp);
-+                (yyval.memArg).u.sname = (yyvsp[0].scpvalp);
-             }
-         }
-+#line 8132 "../parser.c"
-     break;
- 
--  case 563:
--#line 4577 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 564: /* basetype: TK_UNSIGNED TK_SHORT  */
-+#line 4603 "parser.y"
-+                             {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ushort_type;
-         }
-+#line 8141 "../parser.c"
-     break;
- 
--  case 564:
--#line 4581 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 565: /* basetype: TK_SHORT  */
-+#line 4607 "parser.y"
-+                 {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = short_type;
-         }
-+#line 8150 "../parser.c"
-     break;
- 
--  case 565:
--#line 4585 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 566: /* basetype: TK_UNSIGNED  */
-+#line 4611 "parser.y"
-+                    {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = uint_type;
-         }
-+#line 8159 "../parser.c"
-     break;
- 
--  case 566:
--#line 4589 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 567: /* basetype: TK_UNSIGNED TK_INT  */
-+#line 4615 "parser.y"
-+                           {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = uint_type;
-         }
-+#line 8168 "../parser.c"
-     break;
- 
--  case 567:
--#line 4593 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 568: /* basetype: TK_INT  */
-+#line 4619 "parser.y"
-+               {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = int_type;
-         }
-+#line 8177 "../parser.c"
-     break;
- 
--  case 568:
--#line 4597 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 569: /* basetype: TK_LONG  */
-+#line 4623 "parser.y"
-+                {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = long_type;
-         }
-+#line 8186 "../parser.c"
-     break;
- 
--  case 569:
--#line 4601 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 570: /* basetype: TK_UNSIGNED TK_LONG  */
-+#line 4627 "parser.y"
-+                            {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ulong_type;
-         }
-+#line 8195 "../parser.c"
-     break;
- 
--  case 570:
--#line 4605 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 571: /* basetype: TK_LONG TK_LONG  */
-+#line 4631 "parser.y"
-+                        {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = longlong_type;
-         }
-+#line 8204 "../parser.c"
-     break;
- 
--  case 571:
--#line 4609 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 572: /* basetype: TK_UNSIGNED TK_LONG TK_LONG  */
-+#line 4635 "parser.y"
-+                                    {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ulonglong_type;
-         }
-+#line 8213 "../parser.c"
-     break;
- 
--  case 572:
--#line 4613 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 573: /* basetype: TK_FLOAT  */
-+#line 4639 "parser.y"
-+                 {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = float_type;
-         }
-+#line 8222 "../parser.c"
-     break;
- 
--  case 573:
--#line 4617 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 574: /* basetype: TK_DOUBLE  */
-+#line 4643 "parser.y"
-+                  {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = double_type;
-         }
-+#line 8231 "../parser.c"
-     break;
- 
--  case 574:
--#line 4621 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 575: /* basetype: TK_BOOL  */
-+#line 4647 "parser.y"
-+                {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = bool_type;
-         }
-+#line 8240 "../parser.c"
-     break;
- 
--  case 575:
--#line 4625 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 576: /* basetype: TK_SIGNED TK_CHAR  */
-+#line 4651 "parser.y"
-+                          {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = sstring_type;
-         }
-+#line 8249 "../parser.c"
-     break;
- 
--  case 576:
--#line 4629 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 577: /* basetype: TK_UNSIGNED TK_CHAR  */
-+#line 4655 "parser.y"
-+                            {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ustring_type;
-         }
-+#line 8258 "../parser.c"
-     break;
- 
--  case 577:
--#line 4633 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 578: /* basetype: TK_CHAR  */
-+#line 4659 "parser.y"
-+                {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = string_type;
-         }
-+#line 8267 "../parser.c"
-     break;
- 
--  case 578:
--#line 4637 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 579: /* basetype: TK_WCHAR_T  */
-+#line 4663 "parser.y"
-+                   {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = wstring_type;
-         }
-+#line 8276 "../parser.c"
-     break;
- 
--  case 579:
--#line 4641 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 580: /* basetype: TK_VOID  */
-+#line 4667 "parser.y"
-+                {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = void_type;
-         }
-+#line 8285 "../parser.c"
-     break;
- 
--  case 580:
--#line 4645 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 581: /* basetype: TK_PYOBJECT  */
-+#line 4671 "parser.y"
-+                    {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pyobject_type;
-         }
-+#line 8294 "../parser.c"
-     break;
- 
--  case 581:
--#line 4649 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 582: /* basetype: TK_PYTUPLE  */
-+#line 4675 "parser.y"
-+                   {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pytuple_type;
-         }
-+#line 8303 "../parser.c"
-     break;
- 
--  case 582:
--#line 4653 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 583: /* basetype: TK_PYLIST  */
-+#line 4679 "parser.y"
-+                  {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pylist_type;
-         }
-+#line 8312 "../parser.c"
-     break;
- 
--  case 583:
--#line 4657 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 584: /* basetype: TK_PYDICT  */
-+#line 4683 "parser.y"
-+                  {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pydict_type;
-         }
-+#line 8321 "../parser.c"
-     break;
- 
--  case 584:
--#line 4661 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 585: /* basetype: TK_PYCALLABLE  */
-+#line 4687 "parser.y"
-+                      {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pycallable_type;
-         }
-+#line 8330 "../parser.c"
-     break;
- 
--  case 585:
--#line 4665 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 586: /* basetype: TK_PYSLICE  */
-+#line 4691 "parser.y"
-+                   {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pyslice_type;
-         }
-+#line 8339 "../parser.c"
-     break;
- 
--  case 586:
--#line 4669 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 587: /* basetype: TK_PYTYPE  */
-+#line 4695 "parser.y"
-+                  {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pytype_type;
-         }
-+#line 8348 "../parser.c"
-     break;
- 
--  case 587:
--#line 4673 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 588: /* basetype: TK_PYBUFFER  */
-+#line 4699 "parser.y"
-+                    {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = pybuffer_type;
-         }
-+#line 8357 "../parser.c"
-     break;
- 
--  case 588:
--#line 4677 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 589: /* basetype: TK_SIPSSIZET  */
-+#line 4703 "parser.y"
-+                     {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ssize_type;
-         }
-+#line 8366 "../parser.c"
-     break;
- 
--  case 589:
--#line 4681 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 590: /* basetype: TK_SIZET  */
-+#line 4707 "parser.y"
-+                 {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = size_type;
-         }
-+#line 8375 "../parser.c"
-     break;
- 
--  case 590:
--#line 4685 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 591: /* basetype: TK_ELLIPSIS  */
-+#line 4711 "parser.y"
-+                    {
-             memset(&(yyval.memArg), 0, sizeof (argDef));
-             (yyval.memArg).atype = ellipsis_type;
-         }
-+#line 8384 "../parser.c"
-     break;
- 
--  case 591:
--#line 4691 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 592: /* cpptypelist: cpptype  */
-+#line 4717 "parser.y"
-+                        {
-             /* The single or first type. */
- 
--            (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
-+            (yyval.signature).args[0] = (yyvsp[0].memArg);
-             (yyval.signature).nrArgs = 1;
-         }
-+#line 8395 "../parser.c"
-     break;
- 
--  case 592:
--#line 4697 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 593: /* cpptypelist: cpptypelist ',' cpptype  */
-+#line 4723 "parser.y"
-+                                {
-             /* Check there is nothing after an ellipsis. */
--            if ((yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].atype == ellipsis_type)
-+            if ((yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].atype == ellipsis_type)
-                 yyerror("An ellipsis must be at the end of the argument list");
- 
-             /* Check there is room. */
--            if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
-+            if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
-                 yyerror("Internal error - increase the value of MAX_NR_ARGS");
- 
--            (yyval.signature) = (yyvsp[(1) - (3)].signature);
-+            (yyval.signature) = (yyvsp[-2].signature);
- 
--            (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
-+            (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
-             (yyval.signature).nrArgs++;
-         }
-+#line 8414 "../parser.c"
-     break;
- 
--  case 593:
--#line 4713 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 594: /* optexceptions: %empty  */
-+#line 4739 "parser.y"
-+                {
-             (yyval.throwlist) = NULL;
-         }
-+#line 8422 "../parser.c"
-     break;
- 
--  case 594:
--#line 4716 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 595: /* optexceptions: TK_THROW '(' exceptionlist ')'  */
-+#line 4742 "parser.y"
-+                                       {
-             if (currentSpec->genc)
-                 yyerror("Exceptions not allowed in a C module");
- 
--            (yyval.throwlist) = (yyvsp[(3) - (4)].throwlist);
-+            (yyval.throwlist) = (yyvsp[-1].throwlist);
-         }
-+#line 8433 "../parser.c"
-     break;
- 
--  case 595:
--#line 4724 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 596: /* exceptionlist: %empty  */
-+#line 4750 "parser.y"
-+                {
-             /* Empty list so use a blank. */
- 
-             (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
-             (yyval.throwlist) -> nrArgs = 0;
-         }
-+#line 8444 "../parser.c"
-     break;
- 
--  case 596:
--#line 4730 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 597: /* exceptionlist: scopedname  */
-+#line 4756 "parser.y"
-+                   {
-             /* The only or first exception. */
- 
-             (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
-             (yyval.throwlist) -> nrArgs = 1;
--            (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[(1) - (1)].scpvalp), FALSE);
-+            (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
-         }
-+#line 8456 "../parser.c"
-     break;
- 
--  case 597:
--#line 4737 "sip-4.19.23/sipgen/metasrc/parser.y"
--    {
-+  case 598: /* exceptionlist: exceptionlist ',' scopedname  */
-+#line 4763 "parser.y"
-+                                     {
-             /* Check that it wasn't ...(,arg...). */
- 
--            if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == 0)
-+            if ((yyvsp[-2].throwlist) -> nrArgs == 0)
-                 yyerror("First exception of throw specifier is missing");
- 
-             /* Check there is room. */
- 
--            if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == MAX_NR_ARGS)
-+            if ((yyvsp[-2].throwlist) -> nrArgs == MAX_NR_ARGS)
-                 yyerror("Internal error - increase the value of MAX_NR_ARGS");
- 
--            (yyval.throwlist) = (yyvsp[(1) - (3)].throwlist);
--            (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[(3) - (3)].scpvalp), FALSE);
-+            (yyval.throwlist) = (yyvsp[-2].throwlist);
-+            (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
-         }
-+#line 8475 "../parser.c"
-     break;
- 
- 
--/* Line 1267 of yacc.c.  */
--#line 8408 "sip-4.19.23/sipgen/parser.c"
-+#line 8479 "../parser.c"
-+
-       default: break;
-     }
--  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-+  /* User semantic actions sometimes alter yychar, and that requires
-+     that yytoken be updated with the new translation.  We take the
-+     approach of translating immediately before every use of yytoken.
-+     One alternative is translating here after every semantic action,
-+     but that translation would be missed if the semantic action invokes
-+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
-+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
-+     incorrect destructor might then be invoked immediately.  In the
-+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
-+     to an incorrect destructor call or verbose syntax error message
-+     before the lookahead is translated.  */
-+  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
- 
-   YYPOPSTACK (yylen);
-   yylen = 0;
--  YY_STACK_PRINT (yyss, yyssp);
- 
-   *++yyvsp = yyval;
- 
--
--  /* Now `shift' the result of the reduction.  Determine what state
-+  /* Now 'shift' the result of the reduction.  Determine what state
-      that goes to, based on the state we popped back to and the rule
-      number reduced by.  */
--
--  yyn = yyr1[yyn];
--
--  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
--  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
--    yystate = yytable[yystate];
--  else
--    yystate = yydefgoto[yyn - YYNTOKENS];
-+  {
-+    const int yylhs = yyr1[yyn] - YYNTOKENS;
-+    const int yyi = yypgoto[yylhs] + *yyssp;
-+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
-+               ? yytable[yyi]
-+               : yydefgoto[yylhs]);
-+  }
- 
-   goto yynewstate;
- 
- 
--/*------------------------------------.
--| yyerrlab -- here on detecting error |
--`------------------------------------*/
-+/*--------------------------------------.
-+| yyerrlab -- here on detecting error.  |
-+`--------------------------------------*/
- yyerrlab:
-+  /* Make sure we have latest lookahead translation.  See comments at
-+     user semantic actions for why this is necessary.  */
-+  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
-   /* If not already recovering from an error, report this error.  */
-   if (!yyerrstatus)
-     {
-       ++yynerrs;
--#if ! YYERROR_VERBOSE
-       yyerror (YY_("syntax error"));
--#else
--      {
--	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
--	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
--	  {
--	    YYSIZE_T yyalloc = 2 * yysize;
--	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
--	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
--	    if (yymsg != yymsgbuf)
--	      YYSTACK_FREE (yymsg);
--	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
--	    if (yymsg)
--	      yymsg_alloc = yyalloc;
--	    else
--	      {
--		yymsg = yymsgbuf;
--		yymsg_alloc = sizeof yymsgbuf;
--	      }
--	  }
--
--	if (0 < yysize && yysize <= yymsg_alloc)
--	  {
--	    (void) yysyntax_error (yymsg, yystate, yychar);
--	    yyerror (yymsg);
--	  }
--	else
--	  {
--	    yyerror (YY_("syntax error"));
--	    if (yysize != 0)
--	      goto yyexhaustedlab;
--	  }
--      }
--#endif
-     }
- 
--
--
-   if (yyerrstatus == 3)
-     {
--      /* If just tried and failed to reuse look-ahead token after an
--	 error, discard it.  */
-+      /* If just tried and failed to reuse lookahead token after an
-+         error, discard it.  */
- 
-       if (yychar <= YYEOF)
--	{
--	  /* Return failure if at end of input.  */
--	  if (yychar == YYEOF)
--	    YYABORT;
--	}
-+        {
-+          /* Return failure if at end of input.  */
-+          if (yychar == YYEOF)
-+            YYABORT;
-+        }
-       else
--	{
--	  yydestruct ("Error: discarding",
--		      yytoken, &yylval);
--	  yychar = YYEMPTY;
--	}
-+        {
-+          yydestruct ("Error: discarding",
-+                      yytoken, &yylval);
-+          yychar = YYEMPTY;
-+        }
-     }
- 
--  /* Else will try to reuse look-ahead token after shifting the error
-+  /* Else will try to reuse lookahead token after shifting the error
-      token.  */
-   goto yyerrlab1;
- 
-@@ -8506,14 +8553,13 @@ yyerrlab:
- | yyerrorlab -- error raised explicitly by YYERROR.  |
- `---------------------------------------------------*/
- yyerrorlab:
-+  /* Pacify compilers when the user code never invokes YYERROR and the
-+     label yyerrorlab therefore never appears in user code.  */
-+  if (0)
-+    YYERROR;
-+  ++yynerrs;
- 
--  /* Pacify compilers like GCC when the user code never invokes
--     YYERROR and the label yyerrorlab therefore never appears in user
--     code.  */
--  if (/*CONSTCOND*/ 0)
--     goto yyerrorlab;
--
--  /* Do not reclaim the symbols of the rule which action triggered
-+  /* Do not reclaim the symbols of the rule whose action triggered
-      this YYERROR.  */
-   YYPOPSTACK (yylen);
-   yylen = 0;
-@@ -8526,42 +8572,42 @@ yyerrorlab:
- | yyerrlab1 -- common code for both syntax error and YYERROR.  |
- `-------------------------------------------------------------*/
- yyerrlab1:
--  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
-+  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
- 
-+  /* Pop stack until we find a state that shifts the error token.  */
-   for (;;)
-     {
-       yyn = yypact[yystate];
--      if (yyn != YYPACT_NINF)
--	{
--	  yyn += YYTERROR;
--	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
--	    {
--	      yyn = yytable[yyn];
--	      if (0 < yyn)
--		break;
--	    }
--	}
-+      if (!yypact_value_is_default (yyn))
-+        {
-+          yyn += YYSYMBOL_YYerror;
-+          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
-+            {
-+              yyn = yytable[yyn];
-+              if (0 < yyn)
-+                break;
-+            }
-+        }
- 
-       /* Pop the current state because it cannot handle the error token.  */
-       if (yyssp == yyss)
--	YYABORT;
-+        YYABORT;
- 
- 
-       yydestruct ("Error: popping",
--		  yystos[yystate], yyvsp);
-+                  YY_ACCESSING_SYMBOL (yystate), yyvsp);
-       YYPOPSTACK (1);
-       yystate = *yyssp;
-       YY_STACK_PRINT (yyss, yyssp);
-     }
- 
--  if (yyn == YYFINAL)
--    YYACCEPT;
--
-+  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-   *++yyvsp = yylval;
-+  YY_IGNORE_MAYBE_UNINITIALIZED_END
- 
- 
-   /* Shift the error token.  */
--  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-+  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
- 
-   yystate = yyn;
-   goto yynewstate;
-@@ -8572,53 +8618,57 @@ yyerrlab1:
- `-------------------------------------*/
- yyacceptlab:
-   yyresult = 0;
--  goto yyreturn;
-+  goto yyreturnlab;
-+
- 
- /*-----------------------------------.
- | yyabortlab -- YYABORT comes here.  |
- `-----------------------------------*/
- yyabortlab:
-   yyresult = 1;
--  goto yyreturn;
-+  goto yyreturnlab;
- 
--#ifndef yyoverflow
--/*-------------------------------------------------.
--| yyexhaustedlab -- memory exhaustion comes here.  |
--`-------------------------------------------------*/
-+
-+/*-----------------------------------------------------------.
-+| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
-+`-----------------------------------------------------------*/
- yyexhaustedlab:
-   yyerror (YY_("memory exhausted"));
-   yyresult = 2;
--  /* Fall through.  */
--#endif
-+  goto yyreturnlab;
-+
- 
--yyreturn:
--  if (yychar != YYEOF && yychar != YYEMPTY)
--     yydestruct ("Cleanup: discarding lookahead",
--		 yytoken, &yylval);
--  /* Do not reclaim the symbols of the rule which action triggered
-+/*----------------------------------------------------------.
-+| yyreturnlab -- parsing is finished, clean up and return.  |
-+`----------------------------------------------------------*/
-+yyreturnlab:
-+  if (yychar != YYEMPTY)
-+    {
-+      /* Make sure we have latest lookahead translation.  See comments at
-+         user semantic actions for why this is necessary.  */
-+      yytoken = YYTRANSLATE (yychar);
-+      yydestruct ("Cleanup: discarding lookahead",
-+                  yytoken, &yylval);
-+    }
-+  /* Do not reclaim the symbols of the rule whose action triggered
-      this YYABORT or YYACCEPT.  */
-   YYPOPSTACK (yylen);
-   YY_STACK_PRINT (yyss, yyssp);
-   while (yyssp != yyss)
-     {
-       yydestruct ("Cleanup: popping",
--		  yystos[*yyssp], yyvsp);
-+                  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
-       YYPOPSTACK (1);
-     }
- #ifndef yyoverflow
-   if (yyss != yyssa)
-     YYSTACK_FREE (yyss);
- #endif
--#if YYERROR_VERBOSE
--  if (yymsg != yymsgbuf)
--    YYSTACK_FREE (yymsg);
--#endif
--  /* Make sure YYID is used.  */
--  return YYID (yyresult);
--}
- 
-+  return yyresult;
-+}
- 
--#line 4753 "sip-4.19.23/sipgen/metasrc/parser.y"
-+#line 4779 "parser.y"
- 
- 
- 
-@@ -13382,9 +13432,9 @@ static void addProperty(sipSpec *pt, mod
-  */
- static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
-         const char *filename, const char *name, int c_module, KwArgs kwargs,
--        int use_arg_names, int use_limited_api, int call_super_init,
--        int all_raise_py_exc, const char *def_error_handler,
--        docstringDef *docstring)
-+        int use_arg_names, int py_ssize_t_clean, int use_limited_api,
-+        int call_super_init, int all_raise_py_exc,
-+        const char *def_error_handler, docstringDef *docstring)
- {
-     moduleDef *mod;
- 
-@@ -13418,6 +13468,9 @@ static moduleDef *configureModule(sipSpe
-     if (use_arg_names)
-         setUseArgNames(module);
- 
-+    if (py_ssize_t_clean)
-+        setPY_SSIZE_T_CLEAN(module);
-+
-     if (use_limited_api)
-         setUseLimitedAPI(module);
- 
-@@ -13597,4 +13650,3 @@ static void checkEllipsis(signatureDef *
-         if (sd->args[a].atype == ellipsis_type && a < sd->nrArgs - 1)
-             yyerror("An ellipsis must be at the end of the argument list if /NoArgParser/ is not specified");
- }
--
-Index: sip-4.19.23/sipgen/parser.h
-===================================================================
---- sip-4.19.23.orig/sipgen/parser.h
-+++ sip-4.19.23/sipgen/parser.h
-@@ -1,14 +1,14 @@
--/* A Bison parser, made by GNU Bison 2.3.  */
-+/* A Bison parser, made by GNU Bison 3.8.2.  */
- 
--/* Skeleton interface for Bison's Yacc-like parsers in C
-+/* Bison interface for Yacc-like parsers in C
- 
--   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
--   Free Software Foundation, Inc.
-+   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
-+   Inc.
- 
--   This program is free software; you can redistribute it and/or modify
-+   This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
--   the Free Software Foundation; either version 2, or (at your option)
--   any later version.
-+   the Free Software Foundation, either version 3 of the License, or
-+   (at your option) any later version.
- 
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-@@ -16,9 +16,7 @@
-    GNU General Public License for more details.
- 
-    You should have received a copy of the GNU General Public License
--   along with this program; if not, write to the Free Software
--   Foundation, Inc., 51 Franklin Street, Fifth Floor,
--   Boston, MA 02110-1301, USA.  */
-+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
- 
- /* As a special exception, you may create a larger work that contains
-    part or all of the Bison parser skeleton and distribute that work
-@@ -33,164 +31,187 @@
-    This special exception was added by the Free Software Foundation in
-    version 2.2 of Bison.  */
- 
--/* Tokens.  */
-+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
-+   especially those whose name start with YY_ or yy_.  They are
-+   private implementation details that can be changed or removed.  */
-+
-+#ifndef YY_YY_PARSER_H_INCLUDED
-+# define YY_YY_PARSER_H_INCLUDED
-+/* Debug traces.  */
-+#ifndef YYDEBUG
-+# define YYDEBUG 0
-+#endif
-+#if YYDEBUG
-+extern int yydebug;
-+#endif
-+
-+/* Token kinds.  */
- #ifndef YYTOKENTYPE
- # define YYTOKENTYPE
--   /* Put the tokens into the symbol table, so that GDB and other debuggers
--      know about them.  */
--   enum yytokentype {
--     TK_API = 258,
--     TK_AUTOPYNAME = 259,
--     TK_DEFDOCSTRFMT = 260,
--     TK_DEFDOCSTRSIG = 261,
--     TK_DEFENCODING = 262,
--     TK_PLUGIN = 263,
--     TK_VIRTERRORHANDLER = 264,
--     TK_EXPTYPEHINTCODE = 265,
--     TK_TYPEHINTCODE = 266,
--     TK_DOCSTRING = 267,
--     TK_DOC = 268,
--     TK_EXPORTEDDOC = 269,
--     TK_EXTRACT = 270,
--     TK_MAKEFILE = 271,
--     TK_ACCESSCODE = 272,
--     TK_GETCODE = 273,
--     TK_SETCODE = 274,
--     TK_PREINITCODE = 275,
--     TK_INITCODE = 276,
--     TK_POSTINITCODE = 277,
--     TK_FINALCODE = 278,
--     TK_UNITCODE = 279,
--     TK_UNITPOSTINCLUDECODE = 280,
--     TK_MODCODE = 281,
--     TK_TYPECODE = 282,
--     TK_PREPYCODE = 283,
--     TK_COPYING = 284,
--     TK_MAPPEDTYPE = 285,
--     TK_CODELINE = 286,
--     TK_IF = 287,
--     TK_END = 288,
--     TK_NAME_VALUE = 289,
--     TK_PATH_VALUE = 290,
--     TK_STRING_VALUE = 291,
--     TK_VIRTUALCATCHERCODE = 292,
--     TK_TRAVERSECODE = 293,
--     TK_CLEARCODE = 294,
--     TK_GETBUFFERCODE = 295,
--     TK_RELEASEBUFFERCODE = 296,
--     TK_READBUFFERCODE = 297,
--     TK_WRITEBUFFERCODE = 298,
--     TK_SEGCOUNTCODE = 299,
--     TK_CHARBUFFERCODE = 300,
--     TK_PICKLECODE = 301,
--     TK_VIRTUALCALLCODE = 302,
--     TK_METHODCODE = 303,
--     TK_PREMETHODCODE = 304,
--     TK_INSTANCECODE = 305,
--     TK_FROMTYPE = 306,
--     TK_TOTYPE = 307,
--     TK_TOSUBCLASS = 308,
--     TK_INCLUDE = 309,
--     TK_OPTINCLUDE = 310,
--     TK_IMPORT = 311,
--     TK_EXPHEADERCODE = 312,
--     TK_MODHEADERCODE = 313,
--     TK_TYPEHEADERCODE = 314,
--     TK_MODULE = 315,
--     TK_CMODULE = 316,
--     TK_CONSMODULE = 317,
--     TK_COMPOMODULE = 318,
--     TK_CLASS = 319,
--     TK_STRUCT = 320,
--     TK_PUBLIC = 321,
--     TK_PROTECTED = 322,
--     TK_PRIVATE = 323,
--     TK_SIGNALS = 324,
--     TK_SIGNAL_METHOD = 325,
--     TK_SLOTS = 326,
--     TK_SLOT_METHOD = 327,
--     TK_BOOL = 328,
--     TK_SHORT = 329,
--     TK_INT = 330,
--     TK_LONG = 331,
--     TK_FLOAT = 332,
--     TK_DOUBLE = 333,
--     TK_CHAR = 334,
--     TK_WCHAR_T = 335,
--     TK_VOID = 336,
--     TK_PYOBJECT = 337,
--     TK_PYTUPLE = 338,
--     TK_PYLIST = 339,
--     TK_PYDICT = 340,
--     TK_PYCALLABLE = 341,
--     TK_PYSLICE = 342,
--     TK_PYTYPE = 343,
--     TK_PYBUFFER = 344,
--     TK_VIRTUAL = 345,
--     TK_ENUM = 346,
--     TK_SIGNED = 347,
--     TK_UNSIGNED = 348,
--     TK_SCOPE = 349,
--     TK_LOGICAL_OR = 350,
--     TK_CONST = 351,
--     TK_STATIC = 352,
--     TK_SIPSIGNAL = 353,
--     TK_SIPSLOT = 354,
--     TK_SIPANYSLOT = 355,
--     TK_SIPRXCON = 356,
--     TK_SIPRXDIS = 357,
--     TK_SIPSLOTCON = 358,
--     TK_SIPSLOTDIS = 359,
--     TK_SIPSSIZET = 360,
--     TK_SIZET = 361,
--     TK_NUMBER_VALUE = 362,
--     TK_REAL_VALUE = 363,
--     TK_TYPEDEF = 364,
--     TK_NAMESPACE = 365,
--     TK_TIMELINE = 366,
--     TK_PLATFORMS = 367,
--     TK_FEATURE = 368,
--     TK_LICENSE = 369,
--     TK_QCHAR_VALUE = 370,
--     TK_TRUE_VALUE = 371,
--     TK_FALSE_VALUE = 372,
--     TK_NULL_VALUE = 373,
--     TK_OPERATOR = 374,
--     TK_THROW = 375,
--     TK_QOBJECT = 376,
--     TK_EXCEPTION = 377,
--     TK_RAISECODE = 378,
--     TK_EXPLICIT = 379,
--     TK_TEMPLATE = 380,
--     TK_FINAL = 381,
--     TK_ELLIPSIS = 382,
--     TK_DEFMETATYPE = 383,
--     TK_DEFSUPERTYPE = 384,
--     TK_PROPERTY = 385,
--     TK_HIDE_NS = 386,
--     TK_FORMAT = 387,
--     TK_GET = 388,
--     TK_ID = 389,
--     TK_KWARGS = 390,
--     TK_LANGUAGE = 391,
--     TK_LICENSEE = 392,
--     TK_NAME = 393,
--     TK_OPTIONAL = 394,
--     TK_ORDER = 395,
--     TK_REMOVELEADING = 396,
--     TK_SET = 397,
--     TK_SIGNATURE = 398,
--     TK_TIMESTAMP = 399,
--     TK_TYPE = 400,
--     TK_USEARGNAMES = 401,
--     TK_USELIMITEDAPI = 402,
--     TK_ALLRAISEPYEXC = 403,
--     TK_CALLSUPERINIT = 404,
--     TK_DEFERRORHANDLER = 405,
--     TK_VERSION = 406
--   };
-+  enum yytokentype
-+  {
-+    YYEMPTY = -2,
-+    YYEOF = 0,                     /* "end of file"  */
-+    YYerror = 256,                 /* error  */
-+    YYUNDEF = 257,                 /* "invalid token"  */
-+    TK_API = 258,                  /* TK_API  */
-+    TK_AUTOPYNAME = 259,           /* TK_AUTOPYNAME  */
-+    TK_DEFDOCSTRFMT = 260,         /* TK_DEFDOCSTRFMT  */
-+    TK_DEFDOCSTRSIG = 261,         /* TK_DEFDOCSTRSIG  */
-+    TK_DEFENCODING = 262,          /* TK_DEFENCODING  */
-+    TK_PLUGIN = 263,               /* TK_PLUGIN  */
-+    TK_VIRTERRORHANDLER = 264,     /* TK_VIRTERRORHANDLER  */
-+    TK_EXPTYPEHINTCODE = 265,      /* TK_EXPTYPEHINTCODE  */
-+    TK_TYPEHINTCODE = 266,         /* TK_TYPEHINTCODE  */
-+    TK_DOCSTRING = 267,            /* TK_DOCSTRING  */
-+    TK_DOC = 268,                  /* TK_DOC  */
-+    TK_EXPORTEDDOC = 269,          /* TK_EXPORTEDDOC  */
-+    TK_EXTRACT = 270,              /* TK_EXTRACT  */
-+    TK_MAKEFILE = 271,             /* TK_MAKEFILE  */
-+    TK_ACCESSCODE = 272,           /* TK_ACCESSCODE  */
-+    TK_GETCODE = 273,              /* TK_GETCODE  */
-+    TK_SETCODE = 274,              /* TK_SETCODE  */
-+    TK_PREINITCODE = 275,          /* TK_PREINITCODE  */
-+    TK_INITCODE = 276,             /* TK_INITCODE  */
-+    TK_POSTINITCODE = 277,         /* TK_POSTINITCODE  */
-+    TK_FINALCODE = 278,            /* TK_FINALCODE  */
-+    TK_UNITCODE = 279,             /* TK_UNITCODE  */
-+    TK_UNITPOSTINCLUDECODE = 280,  /* TK_UNITPOSTINCLUDECODE  */
-+    TK_MODCODE = 281,              /* TK_MODCODE  */
-+    TK_TYPECODE = 282,             /* TK_TYPECODE  */
-+    TK_PREPYCODE = 283,            /* TK_PREPYCODE  */
-+    TK_COPYING = 284,              /* TK_COPYING  */
-+    TK_MAPPEDTYPE = 285,           /* TK_MAPPEDTYPE  */
-+    TK_CODELINE = 286,             /* TK_CODELINE  */
-+    TK_IF = 287,                   /* TK_IF  */
-+    TK_END = 288,                  /* TK_END  */
-+    TK_NAME_VALUE = 289,           /* TK_NAME_VALUE  */
-+    TK_PATH_VALUE = 290,           /* TK_PATH_VALUE  */
-+    TK_STRING_VALUE = 291,         /* TK_STRING_VALUE  */
-+    TK_VIRTUALCATCHERCODE = 292,   /* TK_VIRTUALCATCHERCODE  */
-+    TK_TRAVERSECODE = 293,         /* TK_TRAVERSECODE  */
-+    TK_CLEARCODE = 294,            /* TK_CLEARCODE  */
-+    TK_GETBUFFERCODE = 295,        /* TK_GETBUFFERCODE  */
-+    TK_RELEASEBUFFERCODE = 296,    /* TK_RELEASEBUFFERCODE  */
-+    TK_READBUFFERCODE = 297,       /* TK_READBUFFERCODE  */
-+    TK_WRITEBUFFERCODE = 298,      /* TK_WRITEBUFFERCODE  */
-+    TK_SEGCOUNTCODE = 299,         /* TK_SEGCOUNTCODE  */
-+    TK_CHARBUFFERCODE = 300,       /* TK_CHARBUFFERCODE  */
-+    TK_PICKLECODE = 301,           /* TK_PICKLECODE  */
-+    TK_VIRTUALCALLCODE = 302,      /* TK_VIRTUALCALLCODE  */
-+    TK_METHODCODE = 303,           /* TK_METHODCODE  */
-+    TK_PREMETHODCODE = 304,        /* TK_PREMETHODCODE  */
-+    TK_INSTANCECODE = 305,         /* TK_INSTANCECODE  */
-+    TK_FROMTYPE = 306,             /* TK_FROMTYPE  */
-+    TK_TOTYPE = 307,               /* TK_TOTYPE  */
-+    TK_TOSUBCLASS = 308,           /* TK_TOSUBCLASS  */
-+    TK_INCLUDE = 309,              /* TK_INCLUDE  */
-+    TK_OPTINCLUDE = 310,           /* TK_OPTINCLUDE  */
-+    TK_IMPORT = 311,               /* TK_IMPORT  */
-+    TK_EXPHEADERCODE = 312,        /* TK_EXPHEADERCODE  */
-+    TK_MODHEADERCODE = 313,        /* TK_MODHEADERCODE  */
-+    TK_TYPEHEADERCODE = 314,       /* TK_TYPEHEADERCODE  */
-+    TK_MODULE = 315,               /* TK_MODULE  */
-+    TK_CMODULE = 316,              /* TK_CMODULE  */
-+    TK_CONSMODULE = 317,           /* TK_CONSMODULE  */
-+    TK_COMPOMODULE = 318,          /* TK_COMPOMODULE  */
-+    TK_CLASS = 319,                /* TK_CLASS  */
-+    TK_STRUCT = 320,               /* TK_STRUCT  */
-+    TK_PUBLIC = 321,               /* TK_PUBLIC  */
-+    TK_PROTECTED = 322,            /* TK_PROTECTED  */
-+    TK_PRIVATE = 323,              /* TK_PRIVATE  */
-+    TK_SIGNALS = 324,              /* TK_SIGNALS  */
-+    TK_SIGNAL_METHOD = 325,        /* TK_SIGNAL_METHOD  */
-+    TK_SLOTS = 326,                /* TK_SLOTS  */
-+    TK_SLOT_METHOD = 327,          /* TK_SLOT_METHOD  */
-+    TK_BOOL = 328,                 /* TK_BOOL  */
-+    TK_SHORT = 329,                /* TK_SHORT  */
-+    TK_INT = 330,                  /* TK_INT  */
-+    TK_LONG = 331,                 /* TK_LONG  */
-+    TK_FLOAT = 332,                /* TK_FLOAT  */
-+    TK_DOUBLE = 333,               /* TK_DOUBLE  */
-+    TK_CHAR = 334,                 /* TK_CHAR  */
-+    TK_WCHAR_T = 335,              /* TK_WCHAR_T  */
-+    TK_VOID = 336,                 /* TK_VOID  */
-+    TK_PYOBJECT = 337,             /* TK_PYOBJECT  */
-+    TK_PYTUPLE = 338,              /* TK_PYTUPLE  */
-+    TK_PYLIST = 339,               /* TK_PYLIST  */
-+    TK_PYDICT = 340,               /* TK_PYDICT  */
-+    TK_PYCALLABLE = 341,           /* TK_PYCALLABLE  */
-+    TK_PYSLICE = 342,              /* TK_PYSLICE  */
-+    TK_PYTYPE = 343,               /* TK_PYTYPE  */
-+    TK_PYBUFFER = 344,             /* TK_PYBUFFER  */
-+    TK_VIRTUAL = 345,              /* TK_VIRTUAL  */
-+    TK_ENUM = 346,                 /* TK_ENUM  */
-+    TK_SIGNED = 347,               /* TK_SIGNED  */
-+    TK_UNSIGNED = 348,             /* TK_UNSIGNED  */
-+    TK_SCOPE = 349,                /* TK_SCOPE  */
-+    TK_LOGICAL_OR = 350,           /* TK_LOGICAL_OR  */
-+    TK_CONST = 351,                /* TK_CONST  */
-+    TK_STATIC = 352,               /* TK_STATIC  */
-+    TK_SIPSIGNAL = 353,            /* TK_SIPSIGNAL  */
-+    TK_SIPSLOT = 354,              /* TK_SIPSLOT  */
-+    TK_SIPANYSLOT = 355,           /* TK_SIPANYSLOT  */
-+    TK_SIPRXCON = 356,             /* TK_SIPRXCON  */
-+    TK_SIPRXDIS = 357,             /* TK_SIPRXDIS  */
-+    TK_SIPSLOTCON = 358,           /* TK_SIPSLOTCON  */
-+    TK_SIPSLOTDIS = 359,           /* TK_SIPSLOTDIS  */
-+    TK_SIPSSIZET = 360,            /* TK_SIPSSIZET  */
-+    TK_SIZET = 361,                /* TK_SIZET  */
-+    TK_NUMBER_VALUE = 362,         /* TK_NUMBER_VALUE  */
-+    TK_REAL_VALUE = 363,           /* TK_REAL_VALUE  */
-+    TK_TYPEDEF = 364,              /* TK_TYPEDEF  */
-+    TK_NAMESPACE = 365,            /* TK_NAMESPACE  */
-+    TK_TIMELINE = 366,             /* TK_TIMELINE  */
-+    TK_PLATFORMS = 367,            /* TK_PLATFORMS  */
-+    TK_FEATURE = 368,              /* TK_FEATURE  */
-+    TK_LICENSE = 369,              /* TK_LICENSE  */
-+    TK_QCHAR_VALUE = 370,          /* TK_QCHAR_VALUE  */
-+    TK_TRUE_VALUE = 371,           /* TK_TRUE_VALUE  */
-+    TK_FALSE_VALUE = 372,          /* TK_FALSE_VALUE  */
-+    TK_NULL_VALUE = 373,           /* TK_NULL_VALUE  */
-+    TK_OPERATOR = 374,             /* TK_OPERATOR  */
-+    TK_THROW = 375,                /* TK_THROW  */
-+    TK_QOBJECT = 376,              /* TK_QOBJECT  */
-+    TK_EXCEPTION = 377,            /* TK_EXCEPTION  */
-+    TK_RAISECODE = 378,            /* TK_RAISECODE  */
-+    TK_EXPLICIT = 379,             /* TK_EXPLICIT  */
-+    TK_TEMPLATE = 380,             /* TK_TEMPLATE  */
-+    TK_FINAL = 381,                /* TK_FINAL  */
-+    TK_ELLIPSIS = 382,             /* TK_ELLIPSIS  */
-+    TK_DEFMETATYPE = 383,          /* TK_DEFMETATYPE  */
-+    TK_DEFSUPERTYPE = 384,         /* TK_DEFSUPERTYPE  */
-+    TK_PROPERTY = 385,             /* TK_PROPERTY  */
-+    TK_HIDE_NS = 386,              /* TK_HIDE_NS  */
-+    TK_FORMAT = 387,               /* TK_FORMAT  */
-+    TK_GET = 388,                  /* TK_GET  */
-+    TK_ID = 389,                   /* TK_ID  */
-+    TK_KWARGS = 390,               /* TK_KWARGS  */
-+    TK_LANGUAGE = 391,             /* TK_LANGUAGE  */
-+    TK_LICENSEE = 392,             /* TK_LICENSEE  */
-+    TK_NAME = 393,                 /* TK_NAME  */
-+    TK_OPTIONAL = 394,             /* TK_OPTIONAL  */
-+    TK_ORDER = 395,                /* TK_ORDER  */
-+    TK_REMOVELEADING = 396,        /* TK_REMOVELEADING  */
-+    TK_SET = 397,                  /* TK_SET  */
-+    TK_SIGNATURE = 398,            /* TK_SIGNATURE  */
-+    TK_TIMESTAMP = 399,            /* TK_TIMESTAMP  */
-+    TK_TYPE = 400,                 /* TK_TYPE  */
-+    TK_USEARGNAMES = 401,          /* TK_USEARGNAMES  */
-+    TK_PYSSIZETCLEAN = 402,        /* TK_PYSSIZETCLEAN  */
-+    TK_USELIMITEDAPI = 403,        /* TK_USELIMITEDAPI  */
-+    TK_ALLRAISEPYEXC = 404,        /* TK_ALLRAISEPYEXC  */
-+    TK_CALLSUPERINIT = 405,        /* TK_CALLSUPERINIT  */
-+    TK_DEFERRORHANDLER = 406,      /* TK_DEFERRORHANDLER  */
-+    TK_VERSION = 407               /* TK_VERSION  */
-+  };
-+  typedef enum yytokentype yytoken_kind_t;
- #endif
--/* Tokens.  */
-+/* Token kinds.  */
-+#define YYEMPTY -2
-+#define YYEOF 0
-+#define YYerror 256
-+#define YYUNDEF 257
- #define TK_API 258
- #define TK_AUTOPYNAME 259
- #define TK_DEFDOCSTRFMT 260
-@@ -335,19 +356,19 @@
- #define TK_TIMESTAMP 399
- #define TK_TYPE 400
- #define TK_USEARGNAMES 401
--#define TK_USELIMITEDAPI 402
--#define TK_ALLRAISEPYEXC 403
--#define TK_CALLSUPERINIT 404
--#define TK_DEFERRORHANDLER 405
--#define TK_VERSION 406
--
--
--
-+#define TK_PYSSIZETCLEAN 402
-+#define TK_USELIMITEDAPI 403
-+#define TK_ALLRAISEPYEXC 404
-+#define TK_CALLSUPERINIT 405
-+#define TK_DEFERRORHANDLER 406
-+#define TK_VERSION 407
- 
-+/* Value type.  */
- #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
--typedef union YYSTYPE
--#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
-+union YYSTYPE
- {
-+#line 202 "parser.y"
-+
-     char            qchar;
-     char            *text;
-     long            number;
-@@ -390,14 +411,20 @@ typedef union YYSTYPE
-     variableCfg     variable;
-     vehCfg          veh;
-     int             token;
--}
--/* Line 1529 of yacc.c.  */
--#line 396 "sip-4.19.23/sipgen/parser.h"
--	YYSTYPE;
--# define yystype YYSTYPE /* obsolescent; will be withdrawn */
--# define YYSTYPE_IS_DECLARED 1
-+
-+#line 416 "../parser.h"
-+
-+};
-+typedef union YYSTYPE YYSTYPE;
- # define YYSTYPE_IS_TRIVIAL 1
-+# define YYSTYPE_IS_DECLARED 1
- #endif
- 
-+
- extern YYSTYPE yylval;
- 
-+
-+int yyparse (void);
-+
-+
-+#endif /* !YY_YY_PARSER_H_INCLUDED  */
diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
index dc3db1fcd..43c044071 100644
--- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
+++ b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
@@ -15,7 +15,7 @@  inherit python3-dir python3native
 
 S = "${WORKDIR}/sip-${PV}"
 
-DEPENDS = "python3"
+DEPENDS = "python3 flex-native bison-native"
 
 PACKAGES += "python3-sip3"
 
@@ -25,6 +25,11 @@  CONFIGURE_SYSROOT = "${STAGING_DIR_HOST}"
 CONFIGURE_SYSROOT:class-native = "${STAGING_DIR_NATIVE}"
 
 do_configure:prepend() {
+    # Re-generate the lexical analyzer and parser
+    # Required for the py_ssize_t_clean patch
+    flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l
+    bison --yacc -Wcounterexamples --defines=sipgen/parser.h --output=sipgen/parser.c sipgen/metasrc/parser.y
+
     echo "py_platform = linux" > sip.cfg
     echo "py_inc_dir = ${STAGING_INCDIR}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg
     echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg