diff options
author | Karl Berry <karl@freefriends.org> | 2022-04-30 22:15:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-04-30 22:15:57 +0000 |
commit | cc0e78841ae3591c7722907be141237b32066d20 (patch) | |
tree | b9ec103c2667c98773a4f3ce93f195c3db744fd1 /Build/source/utils | |
parent | c672bfbc647851808b23bd991236f0eb93f2b404 (diff) |
count initial { of definitions; more \newcommand features
git-svn-id: svn://tug.org/texlive/trunk@63190 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils')
-rw-r--r-- | Build/source/utils/lacheck/ChangeLog | 9 | ||||
-rw-r--r-- | Build/source/utils/lacheck/Makefile.am | 9 | ||||
-rw-r--r-- | Build/source/utils/lacheck/Makefile.in | 8 | ||||
-rwxr-xr-x | Build/source/utils/lacheck/configure | 22 | ||||
-rw-r--r-- | Build/source/utils/lacheck/configure.ac | 4 | ||||
-rw-r--r-- | Build/source/utils/lacheck/lacheck.c | 1864 | ||||
-rw-r--r-- | Build/source/utils/lacheck/lacheck.l | 44 | ||||
-rw-r--r-- | Build/source/utils/lacheck/test-def.tex | 68 |
8 files changed, 1102 insertions, 926 deletions
diff --git a/Build/source/utils/lacheck/ChangeLog b/Build/source/utils/lacheck/ChangeLog index 1b473879fe5..69dd178c95b 100644 --- a/Build/source/utils/lacheck/ChangeLog +++ b/Build/source/utils/lacheck/ChangeLog @@ -1,3 +1,12 @@ +2022-05-01 Karl Berry <karl@freefriends.org> + + * configure.ac (lacheck_version): 1.30. + * lacheck.l (newcommand): start group counting. + try to handle *-form, [N] arg count, [dflt] opt arg default. + (<<EOF>>): check for unmatched definitions. + Original report from Michael Clark, + https://tug.org/pipermail/tex-live/2022-April/048096.html + 2019-07-09 Karl Berry <karl@freefriends.org> * configure.ac (lacheck_version): 1.29. diff --git a/Build/source/utils/lacheck/Makefile.am b/Build/source/utils/lacheck/Makefile.am index 5f0bbe99237..6409dddf1f8 100644 --- a/Build/source/utils/lacheck/Makefile.am +++ b/Build/source/utils/lacheck/Makefile.am @@ -1,7 +1,7 @@ ## $Id$ ## Makefile.am for the TeX Live subdirectory utils/lacheck/ ## -## Copyright 2015-2019 Karl Berry <tex-live@tug.org> +## Copyright 2015-2022 Karl Berry <tex-live@tug.org> ## Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -15,6 +15,13 @@ lacheck_SOURCES = lacheck.l nodist_man1_MANS = lacheck.1 ## Test +# +# To remake in the build directory even though maintainer mode is +# enabled (where $xu is the texk/utils source directory): +# cd Work/utils/lacheck && make am__skiplex= all \ +# && ./lacheck $xu/lacheck/test-def.tex +# (or make check, etc.). +# TESTS = lacheck.test test-def.test dist_check_SCRIPTS = $(TESTS) lacheck.log: lacheck$(EXEEXT) diff --git a/Build/source/utils/lacheck/Makefile.in b/Build/source/utils/lacheck/Makefile.in index b8d8c51ee55..c9bca0b2448 100644 --- a/Build/source/utils/lacheck/Makefile.in +++ b/Build/source/utils/lacheck/Makefile.in @@ -502,6 +502,14 @@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(WARNING_CFLAGS) lacheck_SOURCES = lacheck.l nodist_man1_MANS = lacheck.1 + +# +# To remake in the build directory even though maintainer mode is +# enabled (where $xu is the texk/utils source directory): +# cd Work/utils/lacheck && make am__skiplex= all \ +# && ./lacheck $xu/lacheck/test-def.tex +# (or make check, etc.). +# TESTS = lacheck.test test-def.test dist_check_SCRIPTS = $(TESTS) EXTRA_DIST = test.old test.tex test-def.tex test-def.xout lacheck.hlp \ diff --git a/Build/source/utils/lacheck/configure b/Build/source/utils/lacheck/configure index e63af56f4ae..4662b1c6d53 100755 --- a/Build/source/utils/lacheck/configure +++ b/Build/source/utils/lacheck/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for LaCheck (TeX Live) 1.29. +# Generated by GNU Autoconf 2.71 for LaCheck (TeX Live) 1.30. # # Report bugs to <tex-k@tug.org>. # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='LaCheck (TeX Live)' PACKAGE_TARNAME='lacheck--tex-live-' -PACKAGE_VERSION='1.29' -PACKAGE_STRING='LaCheck (TeX Live) 1.29' +PACKAGE_VERSION='1.30' +PACKAGE_STRING='LaCheck (TeX Live) 1.30' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1278,7 +1278,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures LaCheck (TeX Live) 1.29 to adapt to many kinds of systems. +\`configure' configures LaCheck (TeX Live) 1.30 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1346,7 +1346,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of LaCheck (TeX Live) 1.29:";; + short | recursive ) echo "Configuration of LaCheck (TeX Live) 1.30:";; esac cat <<\_ACEOF @@ -1443,7 +1443,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -LaCheck (TeX Live) configure 1.29 +LaCheck (TeX Live) configure 1.30 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1566,7 +1566,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by LaCheck (TeX Live) $as_me 1.29, which was +It was created by LaCheck (TeX Live) $as_me 1.30, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4100,7 +4100,7 @@ fi # Define the identity of the package. PACKAGE='lacheck--tex-live-' - VERSION='1.29' + VERSION='1.30' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -4597,7 +4597,7 @@ fi ac_config_headers="$ac_config_headers config.h" -REV=1.29 +REV=1.30 ac_config_files="$ac_config_files Makefile lacheck.1:lacheck.man" @@ -5130,7 +5130,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by LaCheck (TeX Live) $as_me 1.29, which was +This file was extended by LaCheck (TeX Live) $as_me 1.30, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5198,7 +5198,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -LaCheck (TeX Live) config.status 1.29 +LaCheck (TeX Live) config.status 1.30 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/Build/source/utils/lacheck/configure.ac b/Build/source/utils/lacheck/configure.ac index f577b5f2c8a..323240f42bc 100644 --- a/Build/source/utils/lacheck/configure.ac +++ b/Build/source/utils/lacheck/configure.ac @@ -1,14 +1,14 @@ dnl $Id$ dnl Process this file with autoconf to produce a configure script. dnl -dnl Copyright 2015-2019 Karl Berry <tex-live@tug.org> +dnl Copyright 2015-2022 Karl Berry <tex-live@tug.org> dnl Copyright 2009-2014 Peter Breitenlohner <tex-live@tug.org> dnl dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -m4_define([lacheck_version], [1.29])dnl duplicated in lacheck.l, sorry +m4_define([lacheck_version], [1.30])dnl duplicated in lacheck.l, sorry AC_INIT([LaCheck (TeX Live)], lacheck_version, [tex-k@tug.org]) AC_PREREQ([2.65]) AC_CONFIG_SRCDIR([lacheck.l]) diff --git a/Build/source/utils/lacheck/lacheck.c b/Build/source/utils/lacheck/lacheck.c index 20f1fda54a8..f84af2c1ec5 100644 --- a/Build/source/utils/lacheck/lacheck.c +++ b/Build/source/utils/lacheck/lacheck.c @@ -384,7 +384,7 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[355] = +static yyconst flex_int16_t yy_acclist[356] = { 0, 90, 88, 89, 88, 89, 4, 89, 88, 89, 44, 88, 89, 82, 88, 89, 88, 89, 88, 89, 88, @@ -422,12 +422,12 @@ static yyconst flex_int16_t yy_acclist[355] = 48, 9, 28, 10, 85, 75, 76, 76, 76, 78, 76, 76, 68, 30, 31, 34, 35, 9, 11, 10, 3, 65, 76, 3, 70, 66, 66, 66, 3, 66, - 47, 47, 78, 87, 78, 87, 29, 66, 73, 3, - 66, 66, 66, 3, 46, 46, 78, 3, 20, 20, - 78, 21, 51, 33 + 47, 47, 78, 87, 78, 87, 66, 73, 3, 66, + 29, 66, 66, 3, 46, 46, 78, 3, 20, 20, + 78, 21, 51, 29, 33 } ; -static yyconst flex_int16_t yy_accept[968] = +static yyconst flex_int16_t yy_accept[984] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -523,18 +523,20 @@ static yyconst flex_int16_t yy_accept[968] = 324, 324, 324, 324, 324, 324, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 327, 327, 327, 328, 328, 328, 328, - 328, 329, 329, 330, 330, 331, 331, 331, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 332, 334, 335, - 337, 337, 337, 337, 337, 337, 338, 338, 338, 338, - - 338, 338, 338, 338, 339, 339, 339, 340, 341, 341, - 341, 342, 342, 342, 342, 342, 342, 342, 342, 342, - 342, 342, 342, 342, 342, 342, 342, 342, 342, 343, - 343, 343, 343, 343, 344, 345, 345, 345, 345, 345, - 345, 345, 346, 348, 348, 348, 348, 348, 348, 348, - 348, 349, 349, 349, 349, 350, 352, 352, 353, 353, - 354, 354, 354, 354, 354, 355, 355 + 326, 326, 326, 326, 327, 327, 327, 328, 328, 328, + 328, 328, 329, 329, 330, 330, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 332, 334, + 335, 337, 337, 337, 337, 337, 337, 337, 337, 337, + + 337, 337, 337, 337, 337, 337, 338, 338, 338, 339, + 340, 340, 340, 341, 341, 341, 341, 341, 341, 341, + 341, 341, 341, 341, 341, 341, 341, 341, 341, 342, + 342, 342, 342, 342, 342, 342, 343, 343, 343, 343, + 343, 344, 345, 345, 345, 345, 345, 345, 345, 346, + 348, 348, 348, 348, 348, 348, 348, 348, 348, 349, + 349, 349, 349, 350, 352, 352, 352, 353, 353, 353, + 353, 354, 354, 354, 354, 355, 355, 355, 355, 355, + 355, 356, 356 } ; static yyconst YY_CHAR yy_ec[256] = @@ -579,249 +581,251 @@ static yyconst YY_CHAR yy_meta[57] = 16, 17, 18, 19, 20, 21 } ; -static yyconst flex_uint16_t yy_base[1062] = +static yyconst flex_uint16_t yy_base[1080] = { 0, 0, 56, 110, 111, 112, 113, 115, 117, 118, 119, - 5100, 5099, 120, 121, 122, 123, 124, 126, 134, 136, - 150, 159, 212, 0, 268, 0, 5123, 155, 323, 179, + 4417, 4395, 120, 121, 122, 123, 124, 126, 134, 136, + 150, 159, 212, 0, 268, 0, 4399, 155, 323, 179, 179, 180, 171, 378, 181, 361, 410, 373, 187, 184, - 462, 405, 465, 478, 515, 360, 0, 5126, 5097, 0, - 5096, 5126, 5126, 5126, 167, 0, 5091, 5077, 5126, 5126, - 5069, 5126, 5126, 5066, 5126, 5126, 5070, 470, 5126, 5126, - 5126, 5126, 5045, 5126, 5015, 475, 5126, 5126, 315, 570, + 462, 405, 465, 478, 515, 360, 0, 5382, 4353, 0, + 4345, 5382, 5382, 5382, 167, 0, 4342, 4324, 5382, 5382, + 4321, 5382, 5382, 4303, 5382, 5382, 4322, 470, 5382, 5382, + 5382, 5382, 4285, 5382, 4306, 475, 5382, 5382, 315, 570, 624, 388, 472, 397, 322, 569, 675, 714, 758, 507, 324, 585, 463, 583, 589, 593, 809, 373, 860, 385, 618, 612, 660, 667, 657, 0, 914, 688, 701, 940, - 968, 4996, 5126, 704, 719, 5126, 571, 5126, 4973, 5126, - 712, 1012, 784, 745, 779, 4931, 817, 5126, 596, 5126, - 5126, 5126, 5126, 5126, 4922, 4891, 5126, 814, 5126, 462, + 968, 4292, 5382, 704, 719, 5382, 571, 5382, 4303, 5382, + 712, 1012, 784, 745, 779, 4289, 817, 5382, 596, 5382, + 5382, 5382, 5382, 5382, 4242, 4221, 5382, 814, 5382, 462, 474, 853, 545, 860, 384, 467, 109, 491, 369, 645, - 711, 558, 614, 570, 134, 697, 5126, 5126, 801, 891, - 4863, 4842, 987, 865, 901, 1018, 4815, 412, 1035, 759, - 1043, 792, 1067, 838, 0, 0, 0, 0, 5126, 4725, - 0, 0, 4726, 4669, 4640, 4637, 5126, 0, 4631, 619, - 766, 727, 1114, 731, 685, 5126, 4585, 391, 4552, 4549, - - 4507, 462, 4503, 823, 787, 1115, 837, 5126, 597, 4472, - 895, 1059, 1130, 1010, 4431, 4421, 4384, 4377, 4346, 4327, - 4307, 4279, 0, 1139, 4287, 4255, 1169, 1150, 1196, 1209, - 1249, 4241, 4240, 4213, 128, 693, 934, 1304, 4209, 1230, + 711, 558, 614, 570, 134, 697, 5382, 5382, 801, 891, + 4214, 4209, 987, 865, 901, 1018, 4199, 412, 1035, 759, + 1043, 792, 1067, 838, 0, 0, 0, 0, 5382, 4174, + 0, 0, 4179, 4178, 4175, 4174, 5382, 0, 4198, 619, + 766, 727, 1114, 731, 685, 5382, 4172, 391, 4158, 4175, + + 4160, 462, 4169, 823, 787, 1115, 837, 5382, 597, 4158, + 895, 1059, 1130, 1010, 4166, 4158, 4151, 4164, 4153, 4154, + 4154, 4126, 0, 1139, 4092, 4080, 1169, 1150, 1196, 1209, + 1249, 4066, 4065, 4037, 128, 693, 934, 1304, 4034, 1230, 1311, 1189, 1314, 536, 170, 468, 509, 382, 434, 627, - 565, 841, 0, 1143, 1335, 5126, 1326, 1241, 4220, 5126, - 990, 1003, 4228, 4227, 4226, 729, 743, 855, 877, 651, + 565, 841, 0, 1143, 1335, 5382, 1326, 1241, 4045, 5382, + 990, 1003, 4053, 4049, 4048, 729, 743, 855, 877, 651, 774, 813, 788, 884, 1372, 785, 1128, 900, 313, 1104, 1428, 780, 1037, 925, 864, 1138, 1484, 178, 931, 1033, 1105, 1185, 981, 803, 977, 976, 1051, 1014, 1162, 891, - 1062, 1233, 600, 1248, 0, 0, 1050, 0, 4230, 1539, - 1564, 1335, 5126, 1549, 1580, 1589, 1595, 1598, 1622, 4230, - 4214, 4199, 4198, 4193, 4192, 4232, 4221, 1101, 1308, 1621, - 1555, 1605, 4180, 4179, 0, 0, 4172, 4136, 4131, 4107, - 1677, 4104, 0, 4086, 1310, 0, 4113, 1684, 1691, 1350, - 1697, 4078, 1271, 1542, 4075, 4047, 4087, 0, 5126, 1721, - 1731, 0, 1741, 1748, 1775, 1698, 1755, 4047, 4054, 4058, - 1761, 1800, 4013, 1703, 1745, 4021, 1162, 1807, 1810, 1791, - 1803, 1834, 1216, 1559, 1837, 1542, 1142, 0, 3964, 3995, - 1695, 0, 1840, 3966, 87, 3960, 3952, 1843, 1681, 3971, - - 3968, 1103, 1173, 1013, 1188, 576, 1194, 1288, 1099, 1205, - 1220, 5126, 3967, 1591, 1294, 1854, 1331, 930, 1335, 1325, - 1279, 5126, 3966, 1859, 1526, 1582, 1219, 1052, 1528, 5126, - 3965, 1563, 1593, 1838, 1319, 1607, 1599, 1732, 1719, 1699, - 1705, 1652, 1716, 689, 1653, 1869, 1880, 5126, 1883, 1874, - 3982, 3981, 3955, 3979, 1897, 0, 1900, 1913, 1938, 1914, - 1963, 1970, 1973, 1981, 1997, 3965, 1905, 3938, 3937, 3936, - 3935, 2024, 1933, 2005, 2012, 3934, 3933, 5126, 3942, 3913, - 3860, 3835, 3821, 3822, 0, 3830, 3856, 5126, 1760, 3843, - 3842, 1945, 3810, 1917, 5126, 3815, 3810, 2048, 3845, 2055, - - 1847, 0, 1754, 3844, 2040, 3831, 2064, 2070, 3798, 0, - 3813, 2078, 2088, 5126, 2096, 3809, 3838, 1845, 3818, 3813, - 2009, 1898, 1546, 1817, 2103, 1827, 2106, 3812, 1874, 1793, - 3811, 2114, 0, 1989, 3809, 3769, 3770, 3772, 3767, 3760, - 2121, 2110, 5126, 2125, 1832, 1902, 1939, 1804, 1852, 2134, + 1062, 1233, 600, 1248, 0, 0, 1050, 0, 4052, 1539, + 1564, 1335, 5382, 1549, 1580, 1589, 1595, 1598, 1622, 4051, + 4035, 4020, 4019, 4018, 4017, 4057, 4031, 1101, 1308, 1621, + 1555, 1605, 3991, 3990, 0, 0, 4004, 3987, 4002, 3984, + 1677, 3983, 0, 3982, 1310, 0, 4011, 1684, 1691, 1350, + 1697, 3993, 1271, 1542, 3992, 3978, 4018, 0, 5382, 1721, + 1731, 0, 1741, 1748, 1775, 1698, 1755, 3978, 3982, 3986, + 1761, 1800, 3981, 1703, 1745, 4005, 1162, 1807, 1810, 1791, + 1803, 1834, 1216, 1559, 1837, 1542, 1142, 0, 3963, 3998, + 1695, 0, 1840, 3948, 87, 3938, 3931, 1843, 1681, 3950, + + 3945, 1103, 1173, 1013, 1188, 576, 1194, 1288, 1099, 1205, + 1220, 5382, 3939, 1591, 1294, 1854, 1331, 930, 1335, 1325, + 1279, 5382, 3938, 1859, 1526, 1582, 1219, 1052, 1528, 5382, + 3932, 1563, 1593, 1838, 1319, 1607, 1599, 1732, 1719, 1699, + 1705, 1652, 1716, 689, 1653, 1869, 1880, 5382, 1883, 1874, + 3950, 3949, 3919, 3943, 1897, 0, 1900, 1913, 1938, 1914, + 1963, 1970, 1973, 1981, 1997, 3929, 1905, 3900, 3899, 3898, + 3894, 2024, 1933, 2005, 2012, 3893, 3892, 5382, 3900, 3889, + 3898, 3898, 3882, 3883, 0, 3888, 3914, 5382, 1760, 3902, + 3897, 1945, 3867, 1917, 5382, 3869, 3864, 2048, 3897, 2055, + + 1847, 0, 1754, 3896, 2040, 3884, 2064, 2070, 3847, 0, + 3861, 2078, 2088, 5382, 2096, 3854, 3878, 1845, 3877, 3875, + 2009, 1898, 1546, 1817, 2103, 1827, 2106, 3872, 1874, 1793, + 3868, 2114, 0, 1989, 3865, 3819, 3807, 3804, 3785, 3773, + 2121, 2110, 5382, 2125, 1832, 1902, 1939, 1804, 1852, 2134, 980, 1856, 2180, 1910, 1812, 2138, 0, 1937, 1946, 1280, - 1974, 2235, 5126, 3802, 1874, 2014, 5126, 2053, 2040, 1936, + 1974, 2235, 5382, 3801, 1874, 2014, 5382, 2053, 2040, 1936, 1972, 2287, 1982, 2061, 1668, 2019, 2048, 2079, 2098, 2066, - 2097, 2113, 2104, 2343, 2109, 2151, 3796, 3795, 3772, 2238, - 0, 1980, 3798, 2245, 3782, 2248, 2254, 2398, 2401, 2408, - - 2411, 2416, 3747, 3747, 3742, 3736, 3735, 2426, 2435, 2442, - 3713, 3708, 3715, 3725, 3716, 2447, 3695, 3713, 3732, 2497, - 3720, 3730, 3725, 3681, 3679, 3695, 2500, 3690, 3678, 3714, - 2507, 2516, 3702, 3712, 3710, 3669, 5126, 3677, 2525, 0, - 3705, 2532, 3691, 2143, 3701, 3696, 2000, 2405, 2144, 2152, - 3695, 2541, 3651, 3645, 3650, 3654, 3640, 2535, 2055, 2557, - 2222, 2139, 2142, 2238, 3650, 2147, 3628, 2140, 3648, 2232, - 2223, 3671, 2240, 2405, 2144, 2245, 2549, 2395, 5126, 2602, - 0, 3650, 3646, 2560, 2385, 2410, 2247, 2418, 2419, 2250, - 2253, 2653, 2572, 5126, 3650, 3639, 3637, 3624, 3649, 2579, - - 2603, 3635, 3639, 3624, 2708, 3589, 3563, 3557, 3542, 3537, - 2711, 3536, 3535, 3521, 3528, 2718, 3517, 3520, 2441, 3555, - 3550, 2721, 3507, 3511, 3278, 2724, 3313, 3312, 2748, 3272, - 5126, 2446, 3310, 3309, 2751, 470, 1999, 2503, 2722, 3266, - 3278, 3264, 2762, 2485, 2766, 5126, 3304, 2129, 5126, 3284, - 2494, 2145, 2420, 2499, 2545, 5126, 2548, 2556, 3283, 2525, - 2551, 2249, 2564, 5126, 2817, 0, 2433, 2516, 2547, 2413, - 2567, 5126, 2864, 0, 3282, 3281, 2776, 3257, 2786, 3297, - 3296, 2789, 3254, 5126, 5126, 5126, 5126, 5126, 5126, 3252, - 5126, 3251, 2506, 2758, 3250, 3249, 2801, 3247, 2594, 2813, - - 2736, 2741, 3247, 2829, 5126, 2820, 3288, 2571, 2562, 2581, - 2590, 2578, 2695, 2594, 2914, 3237, 3286, 2256, 2723, 2736, - 2921, 0, 3245, 2843, 3258, 3251, 3250, 3270, 2853, 2844, - 3250, 3246, 3186, 2615, 2926, 2933, 2936, 2795, 2793, 2866, - 0, 2929, 3184, 2739, 3176, 2788, 2973, 3029, 2696, 3157, - 5126, 0, 2716, 2831, 2778, 3084, 3151, 3110, 3131, 3105, - 3104, 3102, 5126, 2851, 3114, 3113, 3087, 3080, 3088, 0, - 3098, 2945, 3085, 2838, 2874, 3092, 2804, 2935, 0, 2915, - 2968, 2927, 2926, 2853, 2844, 2800, 5126, 2861, 5126, 2790, - 2848, 2777, 3070, 3075, 2696, 5126, 0, 0, 2688, 2579, - - 2577, 2601, 2552, 2471, 2386, 2303, 5126, 2271, 2946, 2129, - 2094, 2846, 2469, 2035, 3100, 1880, 1802, 1758, 1728, 3136, - 3076, 2773, 2853, 1679, 1661, 1602, 1590, 1566, 1364, 3191, - 1330, 1199, 1212, 1174, 3194, 2887, 3097, 3106, 912, 923, - 752, 5126, 744, 2940, 3219, 614, 0, 0, 3097, 485, - 3098, 3273, 348, 3085, 5126, 308, 155, 5126, 3255, 5126, - 3256, 0, 75, 0, 0, 5126, 3318, 3339, 3360, 3381, - 3402, 3423, 3444, 3465, 3486, 3507, 3528, 3541, 3561, 3582, - 3603, 3624, 3644, 3662, 3680, 3698, 3716, 3736, 3757, 3777, - 3188, 3193, 3797, 3818, 3833, 3845, 3866, 3887, 3908, 3929, - - 3950, 3195, 3970, 3979, 4000, 4021, 4042, 4063, 4072, 4093, - 4114, 4135, 4156, 4177, 4198, 4218, 4238, 4259, 4280, 4301, - 4322, 3201, 4343, 4364, 4385, 4406, 4427, 4448, 4469, 4490, - 4511, 4532, 4553, 4574, 4595, 4616, 4637, 4658, 4679, 3267, - 4700, 4721, 4742, 4763, 4784, 4805, 4826, 4847, 4868, 4889, - 4910, 4931, 4952, 4973, 4994, 5015, 5036, 5057, 5078, 2951, - 5099 + 2097, 2113, 2104, 2343, 2109, 2151, 3791, 3790, 3767, 2238, + 0, 1980, 3789, 2245, 3772, 2248, 2254, 2398, 2401, 2408, + + 2411, 2416, 3731, 3731, 3730, 3725, 3724, 2426, 2435, 2442, + 3723, 3489, 3496, 3505, 3500, 2447, 3483, 3501, 3524, 2497, + 3512, 3522, 3521, 3477, 3475, 3493, 2500, 3488, 3476, 3515, + 2507, 2516, 3503, 3513, 3512, 3473, 5382, 3481, 2525, 0, + 3509, 2532, 3497, 2143, 3507, 3506, 2000, 2405, 2144, 2152, + 3505, 2541, 3461, 3459, 3465, 3472, 3458, 2535, 2055, 2557, + 2222, 2139, 2142, 2238, 3471, 2147, 3449, 2140, 3468, 2232, + 2223, 3495, 2240, 2405, 2144, 2245, 2549, 2395, 5382, 2602, + 0, 3475, 3474, 2560, 2385, 2410, 2247, 2418, 2419, 2250, + 2253, 2653, 2572, 5382, 3483, 3472, 3471, 3460, 3488, 2579, + + 2603, 3476, 3417, 3416, 2708, 3386, 3374, 3372, 3371, 3370, + 2711, 3369, 3368, 3358, 3370, 2718, 3365, 3368, 2441, 3403, + 3402, 2721, 3359, 3363, 3363, 2724, 3398, 3397, 2748, 3357, + 5382, 2446, 3395, 3394, 2751, 470, 1999, 2503, 2722, 3351, + 3363, 3349, 2762, 2485, 2766, 5382, 3389, 2129, 5382, 3369, + 2494, 2145, 2420, 2499, 2545, 5382, 2548, 2556, 3368, 2525, + 2551, 2249, 2564, 5382, 2817, 0, 2433, 2516, 2547, 2413, + 2567, 5382, 2864, 0, 3367, 3366, 2776, 3342, 2786, 3383, + 3382, 2789, 3340, 5382, 5382, 5382, 5382, 5382, 5382, 3338, + 5382, 3337, 2506, 2758, 3336, 3335, 2801, 3333, 2594, 2813, + + 2736, 2741, 3333, 2829, 5382, 2820, 3374, 2571, 2562, 2581, + 2590, 2578, 2695, 2594, 2914, 3323, 3372, 2256, 2723, 2736, + 2921, 0, 3214, 2843, 3227, 3218, 3217, 3234, 2853, 2844, + 3214, 3210, 3211, 2615, 2926, 2933, 2936, 2795, 2793, 2866, + 0, 2957, 3210, 2739, 3204, 2788, 2982, 3038, 2696, 3183, + 5382, 0, 2716, 2831, 2778, 3093, 3096, 3148, 3208, 3224, + 3195, 3123, 3119, 5382, 2851, 3128, 3127, 3099, 3096, 3102, + 0, 3125, 3101, 2924, 2838, 2874, 3104, 2804, 2916, 0, + 2923, 3120, 2938, 2936, 2938, 2850, 2800, 5382, 2867, 5382, + 2862, 2848, 2777, 2923, 2920, 3203, 3206, 3258, 0, 0, + + 2837, 2769, 2705, 2720, 2619, 2617, 2579, 2512, 5382, 2460, + 2964, 2419, 2343, 2846, 2469, 2282, 3209, 2086, 2050, 1998, + 1894, 3314, 2932, 2773, 2853, 1797, 3369, 3092, 5382, 0, + 1745, 1724, 1700, 1665, 1631, 1619, 3109, 1537, 1335, 1359, + 1228, 3212, 2945, 3111, 3112, 1170, 1145, 912, 5382, 933, + 2949, 3421, 2905, 757, 0, 0, 2954, 721, 3108, 3371, + 609, 3097, 5382, 508, 3476, 340, 5382, 3100, 3479, 3192, + 5382, 3197, 3195, 3482, 304, 0, 182, 3485, 75, 0, + 0, 5382, 3537, 3558, 3579, 3600, 3621, 3642, 3663, 3684, + 3705, 3726, 3747, 3760, 3780, 3801, 3822, 3843, 3863, 3881, + + 3899, 3917, 3935, 3955, 3976, 3996, 3119, 3213, 4016, 4037, + 4052, 4064, 4085, 4106, 4127, 4148, 4169, 3219, 4189, 4198, + 4219, 4240, 4261, 4282, 4291, 4312, 4333, 4354, 4375, 4396, + 4417, 4437, 4457, 4478, 4499, 4520, 4541, 3226, 4562, 4583, + 4604, 4625, 4646, 4667, 4688, 4709, 4730, 4751, 4772, 4793, + 4814, 4835, 4856, 4877, 4898, 3238, 4919, 4940, 4961, 4982, + 5003, 5024, 5045, 5066, 5087, 5108, 5129, 5150, 5171, 5192, + 5213, 5234, 5255, 5276, 5297, 5318, 5339, 3123, 5360 } ; -static yyconst flex_int16_t yy_def[1062] = +static yyconst flex_int16_t yy_def[1080] = { 0, - 966, 966, 967, 967, 968, 968, 969, 969, 970, 970, - 971, 971, 972, 972, 973, 973, 974, 974, 975, 975, - 976, 976, 966, 23, 966, 25, 966, 966, 966, 29, - 966, 966, 977, 966, 966, 978, 966, 978, 966, 966, - 966, 979, 979, 979, 966, 45, 980, 966, 980, 981, - 981, 966, 966, 966, 966, 982, 982, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 977, 966, 966, 966, - 966, 966, 966, 966, 977, 966, 966, 966, 966, 983, - 983, 984, 977, 984, 966, 966, 985, 966, 985, 966, - 966, 966, 986, 986, 966, 966, 987, 88, 987, 966, - - 966, 966, 966, 966, 988, 989, 990, 988, 988, 966, - 966, 110, 966, 966, 966, 966, 111, 966, 977, 966, - 977, 977, 966, 966, 117, 966, 978, 966, 127, 966, - 966, 966, 966, 966, 991, 992, 966, 966, 966, 992, - 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, - 992, 992, 992, 992, 992, 992, 966, 966, 993, 127, - 966, 966, 966, 966, 979, 979, 117, 117, 979, 45, - 979, 45, 966, 45, 980, 980, 981, 981, 966, 966, - 982, 982, 966, 966, 966, 966, 966, 994, 995, 996, - 996, 984, 89, 984, 89, 966, 966, 966, 966, 966, - - 966, 966, 966, 89, 986, 99, 99, 966, 966, 966, - 99, 966, 997, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 998, 966, 966, 966, 990, 966, 999, 966, - 966, 110, 110, 966, 966, 966, 231, 966, 966, 977, - 966, 1000, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 966, 1001, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 1002, 991, 1002, 992, 992, 992, 992, 992, - 992, 992, 992, 992, 966, 992, 992, 992, 992, 992, - 966, 992, 992, 992, 992, 992, 966, 992, 992, 992, - 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 982, 982, 983, 983, 984, 984, 985, 985, 986, 986, + 987, 987, 988, 988, 989, 989, 990, 990, 991, 991, + 992, 992, 982, 23, 982, 25, 982, 982, 982, 29, + 982, 982, 993, 982, 982, 994, 982, 994, 982, 982, + 982, 995, 995, 995, 982, 45, 996, 982, 996, 997, + 997, 982, 982, 982, 982, 998, 998, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 993, 982, 982, 982, + 982, 982, 982, 982, 993, 982, 982, 982, 982, 999, + 999, 1000, 993, 1000, 982, 982, 1001, 982, 1001, 982, + 982, 982, 1002, 1002, 982, 982, 1003, 88, 1003, 982, + + 982, 982, 982, 982, 1004, 1005, 1006, 1004, 1004, 982, + 982, 110, 982, 982, 982, 982, 111, 982, 993, 982, + 993, 993, 982, 982, 117, 982, 994, 982, 127, 982, + 982, 982, 982, 982, 1007, 1008, 982, 982, 982, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 982, 982, 1009, 127, + 982, 982, 982, 982, 995, 995, 117, 117, 995, 45, + 995, 45, 982, 45, 996, 996, 997, 997, 982, 982, + 998, 998, 982, 982, 982, 982, 982, 1010, 1011, 1012, + 1012, 1000, 89, 1000, 89, 982, 982, 982, 982, 982, + + 982, 982, 982, 89, 1002, 99, 99, 982, 982, 982, + 99, 982, 1013, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 1014, 982, 982, 982, 1006, 982, 1015, 982, + 982, 110, 110, 982, 982, 982, 231, 982, 982, 993, + 982, 1016, 993, 993, 993, 993, 993, 993, 993, 993, + 993, 982, 1017, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 1018, 1007, 1018, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008, 1008, 1008, + 982, 1008, 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + + 1019, 1019, 1020, 1020, 1021, 1022, 982, 1023, 982, 982, + 1024, 982, 982, 995, 995, 995, 1019, 1019, 982, 319, + 982, 982, 982, 982, 982, 982, 1011, 1025, 1012, 1012, + 1025, 1000, 982, 982, 1026, 1027, 982, 982, 982, 982, + 1002, 982, 1028, 982, 982, 1029, 982, 1013, 1013, 982, + 982, 982, 982, 982, 982, 982, 982, 1030, 982, 231, + 982, 1031, 1013, 1032, 1015, 982, 1032, 982, 982, 982, + 1033, 1033, 982, 993, 982, 1034, 993, 1035, 1013, 1035, + 993, 993, 993, 993, 993, 993, 993, 1036, 982, 982, + 982, 1037, 982, 982, 982, 982, 982, 982, 982, 1038, + + 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 982, 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 982, 1038, 1008, 1008, 1008, 1008, 1008, 1008, 982, + 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1008, 1019, 1019, 982, 1019, 1020, + 982, 982, 982, 982, 982, 1039, 1013, 995, 1024, 982, + 982, 982, 1019, 1019, 1019, 319, 982, 982, 982, 982, + 982, 1025, 982, 1033, 1033, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 1040, 982, 982, 982, 1013, 1041, + 982, 1013, 982, 982, 982, 982, 982, 982, 982, 982, + + 982, 1042, 982, 982, 1013, 1043, 1032, 1032, 982, 1044, + 982, 1033, 1033, 982, 1033, 982, 1045, 993, 993, 993, + 1035, 1013, 1046, 993, 1035, 993, 993, 993, 993, 993, + 982, 982, 1047, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 982, 1008, 1008, 982, 1048, 1008, 1008, 1008, + 1008, 982, 982, 1049, 1008, 1008, 982, 1008, 1008, 1008, + 1008, 982, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 982, 1008, 1019, 982, 982, 982, 982, + 1050, 982, 982, 1013, 1051, 995, 995, 982, 982, 982, + + 1019, 982, 982, 982, 982, 982, 982, 1033, 1033, 1033, + 982, 982, 982, 982, 982, 584, 982, 982, 982, 982, + 1052, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 1053, 982, 982, 982, 982, 982, 1033, 1054, + 993, 982, 982, 1055, 993, 993, 993, 993, 993, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 1008, 1008, + 1008, 1008, 1008, 1008, 553, 1008, 1048, 1008, 553, 1008, + 1008, 1049, 1008, 1008, 1008, 1008, 1008, 1008, 982, 572, + 680, 1056, 1008, 680, 1008, 1008, 1008, 1008, 1008, 1008, + 1008, 982, 1008, 982, 616, 1056, 1008, 982, 982, 982, + + 982, 1057, 982, 982, 982, 982, 982, 982, 982, 982, + 1033, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 1013, 982, 982, 982, 982, 982, 982, 1013, 982, + 982, 982, 993, 993, 1013, 993, 993, 993, 982, 982, + 982, 982, 982, 1008, 982, 982, 1058, 1008, 982, 1008, + 1008, 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008, 1008, + 1008, 1008, 1008, 982, 1059, 1060, 1008, 1008, 1008, 1008, + 1008, 982, 692, 773, 1056, 1008, 773, 982, 982, 982, + 982, 1013, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 1013, 1061, 982, 982, 1013, 982, 1013, 1062, + + 993, 993, 982, 982, 982, 982, 1058, 1008, 1008, 1008, + 1008, 1008, 1008, 1008, 1059, 1063, 982, 1008, 1008, 1008, + 1008, 1064, 982, 1013, 982, 982, 982, 982, 1061, 982, + 982, 982, 982, 993, 1062, 1061, 993, 993, 993, 982, + 1065, 982, 982, 982, 982, 1008, 982, 982, 1008, 1063, + 982, 680, 1008, 1008, 1008, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 1061, 1066, 982, 1061, 982, 982, + 1067, 993, 1062, 1061, 1068, 993, 1062, 993, 993, 1069, + 982, 982, 982, 982, 982, 982, 1008, 982, 1056, 982, + 1056, 1008, 1008, 1008, 1008, 982, 1070, 982, 1071, 773, + + 982, 982, 982, 1072, 982, 982, 982, 982, 982, 982, + 1073, 993, 993, 993, 993, 982, 982, 982, 982, 982, + 982, 982, 1008, 1008, 1008, 1070, 1070, 1070, 982, 898, + 1071, 982, 982, 982, 982, 982, 1061, 982, 982, 993, + 993, 1061, 993, 993, 982, 982, 982, 982, 982, 1056, + 1008, 982, 1070, 982, 1074, 1075, 1061, 982, 1061, 993, + 982, 1008, 982, 1056, 1070, 982, 982, 1008, 1070, 1076, + 982, 1008, 1076, 1070, 1077, 1078, 1077, 1070, 1078, 1079, + 1079, 0, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 1003, 1003, 1004, 1004, 1005, 1006, 966, 1007, 966, 966, - 1008, 966, 966, 979, 979, 979, 1003, 1003, 966, 319, - 966, 966, 966, 966, 966, 966, 995, 1009, 996, 996, - 1009, 984, 966, 966, 1010, 1011, 966, 966, 966, 966, - 986, 966, 1012, 966, 966, 1013, 966, 997, 997, 966, - 966, 966, 966, 966, 966, 966, 966, 1014, 966, 231, - 966, 1015, 997, 1016, 999, 966, 1016, 966, 966, 966, - 1017, 1017, 966, 977, 966, 1018, 977, 1019, 997, 1019, - 977, 977, 977, 977, 977, 977, 977, 1020, 966, 966, - 966, 1021, 966, 966, 966, 966, 966, 966, 966, 1022, - - 1022, 992, 992, 992, 992, 992, 992, 992, 992, 992, - 992, 966, 1022, 992, 992, 992, 992, 992, 992, 992, - 992, 966, 1022, 992, 992, 992, 992, 992, 992, 966, - 1022, 992, 992, 992, 992, 992, 992, 992, 992, 992, - 992, 992, 992, 992, 992, 1003, 1003, 966, 1003, 1004, - 966, 966, 966, 966, 966, 1023, 997, 979, 1008, 966, - 966, 966, 1003, 1003, 1003, 319, 966, 966, 966, 966, - 966, 1009, 966, 1017, 1017, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 1024, 966, 966, 966, 997, 1025, - 966, 997, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 1026, 966, 966, 997, 1027, 1016, 1016, 966, 1028, - 966, 1017, 1017, 966, 1017, 966, 1029, 977, 977, 977, - 1019, 997, 1030, 977, 1019, 977, 977, 977, 977, 977, - 966, 966, 1031, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 992, 992, 992, 992, 992, 992, - 992, 992, 966, 992, 992, 966, 1032, 992, 992, 992, - 992, 966, 966, 1033, 992, 992, 966, 992, 992, 992, - 992, 966, 992, 992, 992, 992, 992, 992, 992, 992, - 992, 992, 992, 966, 992, 1003, 966, 966, 966, 966, - 1034, 966, 966, 997, 1035, 979, 979, 966, 966, 966, - - 1003, 966, 966, 966, 966, 966, 966, 1017, 1017, 1017, - 966, 966, 966, 966, 966, 584, 966, 966, 966, 966, - 1036, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 1037, 966, 966, 966, 966, 966, 1017, 1038, - 977, 966, 966, 1039, 977, 977, 977, 977, 977, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 992, 992, - 992, 992, 992, 992, 553, 992, 1032, 992, 553, 992, - 992, 1033, 992, 992, 992, 992, 992, 992, 966, 572, - 680, 1040, 992, 680, 992, 992, 992, 992, 992, 992, - 992, 966, 992, 966, 616, 1040, 992, 966, 966, 966, - - 966, 1041, 966, 966, 966, 966, 966, 966, 966, 966, - 1017, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 997, 966, 966, 966, 966, 966, 966, 997, 966, - 966, 966, 977, 977, 997, 977, 977, 977, 966, 966, - 966, 966, 966, 992, 966, 966, 1042, 992, 966, 992, - 992, 992, 992, 992, 992, 966, 992, 992, 992, 992, - 992, 992, 992, 966, 1043, 1044, 992, 992, 992, 992, - 992, 966, 692, 773, 1040, 992, 773, 966, 966, 966, - 966, 997, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 997, 1045, 966, 966, 997, 966, 997, 1046, - - 977, 977, 966, 966, 966, 966, 1042, 992, 992, 992, - 992, 992, 992, 992, 1043, 1047, 966, 992, 992, 992, - 992, 1048, 966, 997, 966, 966, 966, 966, 1045, 966, - 966, 966, 966, 977, 1046, 1045, 977, 977, 977, 966, - 1049, 966, 966, 966, 966, 992, 966, 966, 992, 1047, - 966, 680, 992, 992, 992, 966, 1050, 966, 966, 966, - 966, 966, 966, 1045, 1051, 966, 1045, 966, 966, 1052, - 977, 1046, 1045, 1053, 977, 1046, 977, 977, 1054, 966, - 966, 966, 966, 966, 966, 992, 966, 1040, 966, 1040, - 992, 992, 992, 992, 1050, 966, 1055, 773, 966, 966, - - 966, 1056, 966, 966, 966, 966, 966, 966, 1057, 977, - 977, 977, 977, 966, 966, 966, 966, 966, 966, 966, - 992, 992, 992, 1055, 966, 966, 966, 966, 966, 1045, - 966, 966, 977, 977, 1045, 977, 977, 966, 966, 966, - 966, 966, 1040, 992, 966, 966, 1058, 1059, 1045, 966, - 1045, 977, 966, 992, 966, 1040, 966, 966, 992, 966, - 992, 1060, 1060, 1061, 1061, 0, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966 + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982 } ; -static yyconst flex_uint16_t yy_nxt[5183] = +static yyconst flex_uint16_t yy_nxt[5439] = { 0, 28, 29, 30, 29, 31, 28, 32, 33, 28, 28, 28, 28, 34, 28, 34, 35, 28, 28, 28, 28, @@ -836,7 +840,7 @@ static yyconst flex_uint16_t yy_nxt[5183] = 46, 46, 46, 46, 46, 46, 46, 39, 40, 41, 45, 46, 48, 48, 48, 48, 53, 54, 53, 54, - 48, 48, 60, 60, 63, 63, 66, 964, 66, 537, + 48, 48, 60, 60, 63, 63, 66, 980, 66, 537, 265, 67, 538, 67, 49, 49, 51, 51, 72, 55, 72, 55, 57, 57, 61, 61, 64, 64, 68, 72, 68, 72, 66, 285, 72, 265, 72, 75, 73, 369, @@ -845,7 +849,7 @@ static yyconst flex_uint16_t yy_nxt[5183] = 114, 115, 114, 76, 121, 116, 118, 116, 161, 161, 161, 179, 101, 101, 101, 122, 126, 101, 180, 265, - 101, 77, 78, 117, 102, 117, 432, 960, 102, 384, + 101, 77, 78, 117, 102, 117, 432, 978, 102, 384, 77, 78, 79, 80, 81, 80, 82, 79, 79, 83, 84, 84, 84, 79, 79, 85, 79, 86, 79, 84, 84, 84, 82, 79, 87, 79, 88, 79, 84, 89, @@ -858,76 +862,76 @@ static yyconst flex_uint16_t yy_nxt[5183] = 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 90, - 100, 92, 97, 99, 103, 104, 103, 105, 101, 400, + 100, 92, 97, 99, 103, 104, 103, 105, 101, 978, 106, 107, 108, 108, 265, 101, 109, 101, 105, 102, 108, 108, 108, 105, 420, 110, 102, 111, 102, 108, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 101, 173, 113, 110, 112, 123, 123, 123, 174, 127, 120, 102, 101, 128, 159, 208, - 265, 101, 805, 124, 116, 160, 288, 102, 101, 128, + 265, 101, 971, 124, 116, 160, 288, 102, 101, 128, - 289, 101, 125, 966, 209, 265, 164, 164, 164, 102, + 289, 101, 125, 982, 209, 265, 164, 164, 164, 102, 101, 116, 117, 210, 174, 127, 130, 131, 166, 132, - 133, 102, 966, 387, 334, 284, 134, 160, 313, 167, + 133, 102, 982, 387, 334, 284, 134, 160, 313, 167, 335, 135, 136, 137, 138, 139, 120, 140, 141, 142, 143, 144, 145, 146, 147, 148, 136, 136, 149, 136, 150, 151, 152, 153, 154, 155, 136, 156, 136, 146, 136, 157, 158, 162, 162, 162, 164, 164, 164, 116, - 120, 966, 120, 384, 120, 101, 101, 131, 166, 164, + 120, 982, 120, 384, 120, 101, 101, 131, 166, 164, 164, 164, 131, 265, 116, 121, 163, 117, 265, 168, 266, 166, 267, 169, 179, 265, 122, 279, 183, 179, 336, 184, 167, 185, 339, 268, 186, 269, 161, 161, 161, 120, 265, 385, 800, 113, 164, 164, 164, 165, - 101, 157, 158, 165, 165, 165, 157, 158, 166, 353, + 101, 157, 158, 165, 165, 165, 157, 158, 166, 400, 165, 286, 165, 165, 165, 165, 287, 170, 120, 168, 386, 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 265, 120, 384, 170, 172, 103, 104, 103, 187, 116, 277, 188, 189, 265, - 278, 116, 101, 101, 126, 187, 162, 162, 162, 966, + 278, 116, 101, 101, 126, 187, 162, 162, 162, 982, 187, 265, 190, 117, 111, 116, 101, 265, 101, 116, - 966, 294, 101, 966, 126, 549, 101, 102, 287, 163, - 384, 262, 297, 117, 220, 221, 966, 117, 160, 212, + 982, 294, 101, 982, 126, 549, 101, 102, 287, 163, + 384, 262, 297, 117, 220, 221, 982, 117, 160, 212, 212, 212, 303, 113, 190, 114, 115, 114, 187, 120, 342, 188, 189, 213, 328, 265, 343, 101, 113, 187, 215, 329, 214, 216, 187, 295, 190, 217, 111, 296, - 160, 218, 219, 957, 303, 220, 221, 222, 224, 224, + 160, 218, 219, 805, 303, 220, 221, 222, 224, 224, 224, 103, 104, 103, 187, 385, 265, 223, 114, 115, 114, 187, 265, 329, 223, 187, 290, 113, 190, 192, 187, 225, 187, 192, 192, 192, 291, 187, 101, 224, - 224, 224, 192, 192, 192, 192, 406, 193, 966, 102, + 224, 224, 192, 192, 192, 192, 406, 193, 982, 102, - 262, 194, 228, 228, 228, 114, 115, 114, 187, 966, + 262, 194, 228, 228, 228, 114, 115, 114, 187, 982, 265, 223, 225, 240, 241, 240, 229, 584, 265, 187, 238, 238, 238, 187, 187, 230, 223, 242, 299, 193, - 196, 354, 265, 966, 187, 370, 243, 966, 138, 187, - 966, 300, 197, 239, 966, 198, 255, 255, 255, 199, - 265, 966, 200, 292, 201, 966, 293, 256, 202, 256, - 124, 203, 192, 315, 265, 400, 192, 192, 192, 257, + 196, 354, 265, 982, 187, 370, 243, 982, 138, 187, + 982, 300, 197, 239, 982, 198, 255, 255, 255, 199, + 265, 982, 200, 292, 201, 982, 293, 256, 202, 256, + 124, 203, 192, 315, 265, 353, 192, 192, 192, 257, 402, 101, 165, 159, 315, 192, 192, 192, 192, 315, - 204, 331, 102, 309, 194, 252, 252, 252, 329, 966, - 403, 253, 258, 966, 258, 265, 805, 258, 258, 124, + 204, 331, 102, 309, 194, 252, 252, 252, 329, 982, + 403, 253, 258, 982, 258, 265, 966, 258, 258, 124, - 966, 265, 301, 302, 301, 165, 265, 316, 254, 265, - 424, 966, 204, 205, 174, 407, 309, 259, 205, 205, + 982, 265, 301, 302, 301, 165, 265, 316, 254, 265, + 424, 982, 204, 205, 174, 407, 309, 259, 205, 205, 329, 261, 101, 303, 265, 415, 205, 205, 205, 409, - 966, 206, 261, 102, 265, 128, 966, 261, 966, 127, - 408, 966, 215, 128, 439, 216, 174, 966, 388, 217, - 966, 165, 262, 218, 219, 303, 124, 220, 221, 222, - 174, 966, 309, 206, 205, 389, 164, 164, 164, 205, + 982, 206, 261, 102, 265, 128, 982, 261, 982, 127, + 408, 982, 215, 128, 439, 216, 174, 982, 388, 217, + 982, 165, 262, 218, 219, 303, 124, 220, 221, 222, + 174, 982, 309, 206, 205, 389, 164, 164, 164, 205, 205, 127, 308, 101, 265, 159, 265, 205, 205, 205, 270, 265, 211, 271, 102, 265, 128, 272, 404, 309, - 279, 273, 174, 280, 274, 966, 275, 276, 265, 281, + 279, 273, 174, 280, 274, 982, 275, 276, 265, 281, - 282, 427, 164, 164, 164, 265, 966, 966, 966, 283, - 966, 966, 265, 160, 211, 224, 224, 224, 108, 966, + 282, 427, 164, 164, 164, 265, 982, 982, 982, 283, + 982, 982, 265, 160, 211, 224, 224, 224, 108, 982, 405, 265, 107, 108, 108, 309, 410, 108, 445, 108, 411, 108, 108, 108, 108, 371, 372, 371, 225, 418, 108, 224, 224, 224, 108, 160, 265, 419, 108, 108, - 108, 265, 265, 108, 953, 231, 805, 108, 108, 108, + 108, 265, 265, 108, 400, 231, 805, 108, 108, 108, 108, 559, 232, 433, 225, 426, 108, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, @@ -935,9 +939,9 @@ static yyconst flex_uint16_t yy_nxt[5183] = 234, 265, 265, 217, 301, 302, 301, 218, 219, 441, 663, 235, 236, 222, 120, 215, 438, 440, 216, 310, - 310, 310, 217, 351, 966, 351, 218, 219, 351, 351, + 310, 310, 217, 351, 982, 351, 218, 219, 351, 351, 220, 307, 222, 311, 265, 265, 164, 164, 164, 352, - 244, 966, 312, 245, 164, 164, 164, 246, 547, 966, + 244, 982, 312, 245, 164, 164, 164, 246, 547, 982, 314, 247, 248, 443, 265, 249, 250, 251, 265, 309, 345, 345, 345, 446, 447, 446, 346, 309, 317, 318, 317, 165, 265, 265, 213, 165, 165, 165, 442, 425, @@ -946,19 +950,19 @@ static yyconst flex_uint16_t yy_nxt[5183] = 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 332, 341, - 265, 319, 320, 190, 265, 265, 265, 966, 966, 261, - 261, 348, 348, 348, 332, 261, 193, 206, 966, 966, + 265, 319, 320, 190, 265, 265, 265, 982, 982, 261, + 261, 348, 348, 348, 332, 261, 193, 206, 982, 982, 224, 224, 224, 552, 120, 349, 358, 421, 435, 265, 545, 361, 361, 361, 350, 190, 258, 362, 258, 265, 416, 258, 258, 225, 120, 213, 417, 428, 193, 206, - 224, 224, 224, 108, 230, 520, 951, 108, 108, 108, + 224, 224, 224, 108, 230, 520, 961, 108, 108, 108, 429, 259, 108, 265, 108, 530, 108, 108, 108, 108, 378, 379, 378, 225, 265, 108, 347, 363, 363, 363, 546, 347, 347, 347, 380, 444, 265, 347, 347, 265, - 347, 365, 347, 381, 951, 265, 436, 347, 120, 347, + 347, 365, 347, 381, 805, 265, 436, 347, 120, 347, 366, 347, 351, 437, 351, 359, 265, 351, 351, 548, - 353, 374, 375, 374, 449, 302, 449, 376, 352, 550, + 959, 374, 375, 374, 449, 302, 449, 376, 352, 550, 265, 265, 252, 252, 252, 242, 526, 347, 347, 347, 224, 224, 224, 108, 243, 553, 124, 108, 108, 108, 554, 553, 108, 159, 108, 254, 108, 108, 108, 108, @@ -968,11 +972,11 @@ static yyconst flex_uint16_t yy_nxt[5183] = 265, 265, 303, 110, 112, 238, 238, 238, 187, 265, 670, 223, 345, 345, 345, 265, 120, 485, 346, 187, - 561, 555, 495, 966, 187, 213, 213, 382, 239, 382, + 561, 555, 495, 982, 187, 213, 213, 382, 239, 382, 329, 551, 382, 382, 486, 214, 391, 391, 391, 393, 265, 393, 392, 383, 393, 393, 265, 256, 351, 256, 351, 313, 265, 351, 351, 394, 265, 416, 575, 257, - 558, 950, 329, 492, 352, 492, 949, 395, 492, 492, + 558, 959, 329, 492, 352, 492, 353, 395, 492, 492, 560, 396, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 413, 136, 412, 412, 412, 412, 136, @@ -993,39 +997,39 @@ static yyconst flex_uint16_t yy_nxt[5183] = 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 430, 430, 430, 430, 430, 455, 455, 455, 494, 120, 494, 456, 265, 120, 265, - 164, 164, 164, 568, 213, 966, 474, 475, 474, 646, - 527, 120, 527, 312, 347, 457, 457, 457, 949, 347, + 164, 164, 164, 568, 213, 982, 474, 475, 474, 646, + 527, 120, 527, 312, 347, 457, 457, 457, 958, 347, 347, 347, 529, 309, 570, 347, 347, 190, 347, 459, - 347, 461, 462, 461, 265, 347, 966, 347, 460, 347, - 317, 318, 317, 495, 571, 966, 463, 464, 463, 465, + 347, 461, 462, 461, 265, 347, 982, 347, 460, 347, + 317, 318, 317, 495, 571, 982, 463, 464, 463, 465, 318, 465, 308, 265, 309, 308, 398, 399, 398, 190, - 528, 966, 265, 309, 265, 347, 347, 347, 966, 309, - 265, 948, 309, 164, 164, 164, 165, 553, 265, 966, - 165, 165, 165, 947, 553, 165, 473, 165, 572, 165, + 528, 982, 265, 309, 265, 347, 347, 347, 982, 309, + 265, 957, 309, 164, 164, 164, 165, 553, 265, 982, + 165, 165, 165, 957, 553, 165, 473, 165, 572, 165, 165, 165, 165, 329, 319, 577, 309, 576, 165, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 265, 265, 329, 319, 466, 398, 399, - 398, 582, 544, 966, 544, 489, 489, 489, 585, 265, - 966, 490, 348, 348, 348, 687, 946, 491, 345, 345, + 398, 582, 544, 982, 544, 489, 489, 489, 585, 265, + 982, 490, 348, 348, 348, 687, 956, 491, 345, 345, - 345, 966, 533, 543, 491, 120, 349, 256, 350, 256, + 345, 982, 533, 543, 491, 120, 349, 256, 350, 256, 517, 492, 213, 492, 359, 350, 492, 492, 242, 534, 265, 214, 500, 500, 500, 105, 265, 518, 106, 107, - 580, 857, 224, 224, 224, 543, 105, 265, 502, 581, + 580, 955, 224, 224, 224, 543, 105, 265, 502, 581, 265, 105, 505, 505, 505, 501, 213, 583, 506, 224, - 224, 224, 485, 265, 491, 503, 371, 372, 371, 941, + 224, 224, 485, 265, 491, 503, 371, 372, 371, 954, 213, 507, 512, 513, 512, 366, 579, 621, 358, 486, 359, 578, 225, 491, 113, 347, 363, 363, 363, 225, - 347, 347, 347, 352, 966, 225, 347, 347, 508, 347, - 365, 347, 378, 379, 378, 120, 347, 940, 347, 366, + 347, 347, 347, 352, 982, 225, 347, 347, 508, 347, + 365, 347, 378, 379, 378, 120, 347, 897, 347, 366, 347, 515, 372, 515, 524, 120, 380, 358, 521, 522, 521, 489, 489, 489, 523, 381, 525, 490, 525, 120, 524, 525, 525, 491, 225, 265, 347, 347, 347, 120, 520, 381, 649, 265, 350, 374, 375, 374, 527, 120, - 527, 391, 391, 391, 541, 542, 541, 120, 939, 242, + 527, 391, 391, 391, 541, 542, 541, 120, 929, 242, 661, 666, 256, 265, 256, 556, 556, 556, 243, 265, 562, 563, 562, 553, 257, 543, 564, 573, 647, 574, 446, 447, 446, 265, 383, 265, 120, 265, 557, 234, @@ -1033,8 +1037,8 @@ static yyconst flex_uint16_t yy_nxt[5183] = 628, 629, 565, 662, 566, 265, 303, 543, 164, 164, 164, 594, 594, 594, 591, 621, 602, 595, 602, 648, - 567, 491, 213, 491, 164, 164, 164, 673, 494, 966, - 494, 592, 966, 265, 460, 805, 596, 492, 303, 492, + 567, 491, 213, 491, 164, 164, 164, 673, 494, 982, + 494, 592, 982, 265, 460, 948, 596, 492, 303, 492, 313, 265, 492, 492, 474, 475, 474, 309, 347, 457, 457, 457, 659, 347, 347, 347, 489, 489, 489, 347, 347, 597, 347, 459, 347, 665, 603, 265, 265, 347, @@ -1044,20 +1048,20 @@ static yyconst flex_uint16_t yy_nxt[5183] = 347, 347, 543, 265, 309, 265, 313, 309, 601, 464, 601, 120, 120, 265, 308, 309, 608, 609, 608, 352, - 678, 643, 966, 610, 475, 610, 644, 543, 394, 966, - 671, 309, 524, 685, 543, 500, 500, 500, 187, 966, - 395, 188, 189, 119, 396, 265, 966, 938, 801, 187, + 678, 643, 982, 610, 475, 610, 644, 543, 394, 982, + 671, 309, 524, 685, 543, 500, 500, 500, 187, 982, + 395, 188, 189, 119, 396, 265, 982, 947, 801, 187, 265, 632, 632, 632, 187, 736, 190, 633, 501, 500, 500, 500, 187, 491, 674, 223, 500, 500, 500, 187, 688, 265, 223, 187, 225, 224, 224, 224, 187, 265, 187, 224, 224, 224, 265, 187, 265, 113, 190, 512, 513, 512, 265, 507, 744, 358, 676, 265, 225, 639, - 372, 639, 550, 675, 225, 358, 935, 639, 513, 639, + 372, 639, 550, 675, 225, 358, 946, 639, 513, 639, 265, 686, 225, 358, 521, 522, 521, 527, 120, 527, 689, 658, 225, 658, 691, 252, 252, 252, 265, 265, 225, 253, 541, 542, 541, 265, 544, 381, 544, 124, - 265, 935, 543, 690, 265, 123, 123, 123, 254, 556, + 265, 805, 543, 690, 265, 123, 123, 123, 254, 556, 556, 556, 692, 543, 693, 120, 120, 543, 550, 124, 265, 553, 586, 447, 586, 265, 734, 528, 254, 388, 265, 265, 557, 265, 543, 265, 265, 124, 265, 751, @@ -1070,17 +1074,17 @@ static yyconst flex_uint16_t yy_nxt[5183] = 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 412, 412, 412, 412, 412, 562, 563, 562, 164, 164, 164, 564, 265, 265, 308, 701, 701, 701, 164, - 164, 164, 702, 265, 966, 164, 164, 164, 491, 265, - 966, 265, 309, 553, 750, 759, 265, 596, 265, 309, + 164, 164, 702, 265, 982, 164, 164, 164, 491, 265, + 982, 265, 309, 553, 750, 759, 265, 596, 265, 309, 265, 265, 309, 753, 265, 763, 814, 265, 309, 754, - 771, 760, 573, 853, 863, 769, 567, 679, 680, 681, + 771, 760, 573, 853, 945, 769, 567, 679, 680, 681, 680, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 682, 683, 679, 684, 679, 679, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 683, 679, 679, - 679, 679, 679, 694, 694, 932, 694, 694, 694, 694, + 679, 679, 679, 694, 694, 942, 694, 694, 694, 694, 694, 694, 694, 694, 695, 694, 694, 694, 694, 694, 694, 694, 694, 694, 696, 697, 694, 694, 694, 694, 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, @@ -1089,29 +1093,29 @@ static yyconst flex_uint16_t yy_nxt[5183] = 599, 598, 705, 164, 705, 308, 265, 120, 308, 600, 164, 600, 601, 464, 601, 308, 265, 602, 308, 602, - 543, 931, 309, 543, 767, 309, 265, 608, 609, 608, - 543, 265, 309, 966, 265, 309, 711, 475, 711, 265, - 265, 265, 966, 711, 609, 711, 765, 761, 485, 966, - 966, 737, 543, 485, 265, 543, 213, 768, 553, 966, - 553, 213, 543, 550, 770, 486, 966, 603, 694, 694, - 486, 120, 818, 930, 694, 694, 694, 694, 694, 694, + 543, 942, 309, 543, 767, 309, 265, 608, 609, 608, + 543, 265, 309, 982, 265, 309, 711, 475, 711, 265, + 265, 265, 982, 711, 609, 711, 765, 761, 485, 982, + 982, 737, 543, 485, 265, 543, 213, 768, 553, 982, + 553, 213, 543, 550, 770, 486, 982, 603, 694, 694, + 486, 120, 818, 864, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 694, 345, 345, 345, 224, 224, 224, 346, 120, 265, 358, 361, 361, - 361, 937, 213, 621, 362, 265, 553, 224, 224, 224, + 361, 944, 213, 621, 362, 265, 553, 224, 224, 224, 265, 214, 213, 358, 225, 553, 639, 513, 639, 488, - 966, 230, 358, 345, 345, 345, 658, 265, 658, 346, + 982, 230, 358, 345, 345, 345, 658, 265, 658, 346, 225, 802, 391, 391, 391, 809, 265, 213, 392, 225, - 764, 819, 764, 256, 930, 256, 214, 543, 745, 746, - 745, 679, 966, 679, 747, 257, 265, 679, 265, 265, + 764, 819, 764, 256, 939, 256, 214, 543, 745, 746, + 745, 679, 982, 679, 747, 257, 265, 679, 265, 265, 265, 812, 265, 162, 162, 162, 810, 265, 265, 553, 455, 455, 455, 265, 679, 265, 456, 811, 265, 543, 748, 820, 265, 265, 213, 677, 778, 813, 821, 265, 764, 621, 265, 312, 164, 164, 164, 553, 749, 766, - 308, 265, 846, 553, 929, 265, 488, 120, 966, 927, - 847, 926, 553, 679, 679, 113, 849, 309, 871, 679, + 308, 265, 846, 553, 938, 265, 488, 120, 982, 937, + 847, 937, 553, 679, 679, 113, 849, 309, 872, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 679, 772, 773, 774, 773, 772, 772, 772, @@ -1121,281 +1125,309 @@ static yyconst flex_uint16_t yy_nxt[5183] = 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 772, 772, 772, 772, 772, 705, - 164, 705, 711, 609, 711, 308, 265, 265, 966, 162, + 164, 705, 711, 609, 711, 308, 265, 265, 982, 162, 162, 162, 489, 489, 489, 224, 224, 224, 490, 533, - 543, 502, 309, 925, 256, 966, 256, 265, 120, 213, - 848, 891, 778, 120, 265, 350, 534, 896, 503, 505, - 505, 505, 489, 489, 489, 506, 892, 265, 490, 829, + 543, 502, 309, 936, 256, 982, 256, 265, 120, 213, + 848, 892, 778, 120, 265, 350, 534, 934, 503, 505, + 505, 505, 489, 489, 489, 506, 893, 265, 490, 829, 829, 829, 543, 804, 804, 804, 854, 745, 746, 745, - 855, 113, 366, 747, 805, 350, 805, 772, 966, 772, - 838, 883, 830, 772, 884, 839, 806, 164, 164, 164, + 855, 113, 366, 747, 805, 350, 805, 772, 982, 772, + 838, 884, 830, 772, 885, 839, 806, 164, 164, 164, 594, 594, 594, 591, 265, 120, 595, 120, 265, 265, - 772, 213, 632, 632, 632, 894, 120, 821, 633, 265, - 592, 400, 944, 460, 835, 836, 835, 749, 816, 816, - 816, 265, 816, 816, 816, 225, 877, 878, 816, 816, - 840, 840, 840, 842, 886, 842, 841, 837, 842, 842, - 120, 805, 920, 805, 701, 701, 701, 912, 120, 843, - 702, 911, 265, 806, 864, 864, 864, 867, 902, 867, - 865, 844, 867, 867, 866, 845, 866, 309, 816, 265, - 816, 822, 893, 879, 265, 966, 120, 830, 805, 921, - 805, 936, 400, 919, 945, 772, 772, 871, 918, 120, - 880, 772, 772, 772, 772, 772, 772, 772, 772, 772, + 772, 213, 632, 632, 632, 895, 120, 821, 633, 265, + 592, 933, 951, 460, 835, 836, 835, 749, 816, 816, + 816, 265, 816, 816, 816, 225, 878, 879, 816, 816, + 840, 840, 840, 842, 887, 842, 841, 837, 842, 842, + 120, 805, 922, 805, 701, 701, 701, 914, 120, 843, + 702, 913, 265, 806, 865, 865, 865, 868, 904, 868, + 866, 844, 868, 868, 867, 845, 867, 309, 816, 265, + 816, 822, 894, 880, 265, 982, 120, 830, 805, 923, + 805, 943, 932, 400, 952, 772, 772, 872, 400, 921, + 881, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, 772, - 772, 772, 772, 772, 772, 816, 816, 816, 952, 816, - 816, 816, 856, 856, 856, 816, 816, 872, 873, 872, - 840, 840, 840, 874, 864, 864, 864, 120, 120, 875, - 865, 805, 265, 805, 843, 857, 866, 908, 120, 876, - 837, 876, 909, 806, 876, 876, 844, 830, 875, 934, - 845, 265, 913, 963, 917, 816, 963, 816, 916, 119, - 915, 954, 858, 887, 887, 887, 887, 887, 887, 887, - 887, 887, 887, 887, 887, 887, 887, 887, 887, 887, - 887, 887, 887, 887, 888, 136, 887, 887, 887, 887, - - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 772, 772, 772, 772, 772, 816, 816, 816, 120, 816, + 816, 816, 856, 856, 856, 816, 816, 873, 874, 873, + 965, 904, 857, 875, 865, 865, 865, 867, 120, 876, + 866, 265, 265, 915, 265, 858, 867, 120, 982, 877, + 837, 877, 843, 265, 877, 877, 929, 830, 840, 840, + 840, 904, 925, 924, 844, 816, 120, 816, 845, 805, + 265, 805, 859, 920, 919, 553, 960, 941, 982, 918, + 962, 806, 888, 888, 888, 888, 888, 888, 888, 888, + 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, + + 888, 888, 888, 889, 136, 888, 888, 888, 888, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 887, 887, 887, 887, 887, 889, - 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, - 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, - 890, 136, 889, 889, 889, 889, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 888, 888, 888, 888, 888, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 890, + 890, 890, 890, 890, 890, 890, 890, 890, 890, 891, + 136, 890, 890, 890, 890, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 889, 889, 889, 889, 889, 856, 856, 856, 864, 864, - 864, 265, 902, 872, 873, 872, 265, 265, 866, 120, - - 120, 840, 840, 840, 902, 902, 265, 841, 857, 966, - 922, 830, 805, 879, 805, 906, 837, 923, 805, 553, - 805, 966, 966, 905, 806, 959, 863, 904, 384, 901, - 880, 900, 899, 898, 897, 858, 942, 942, 942, 942, - 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, - 942, 942, 942, 942, 942, 942, 942, 943, 136, 942, - 942, 942, 942, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 890, + 890, 890, 890, 890, 856, 856, 856, 896, 896, 896, + + 865, 865, 865, 910, 857, 873, 874, 873, 911, 953, + 865, 865, 865, 120, 876, 904, 866, 858, 265, 880, + 858, 265, 917, 830, 805, 119, 805, 120, 837, 908, + 264, 264, 982, 830, 264, 979, 881, 968, 979, 907, + 864, 906, 384, 929, 859, 972, 903, 859, 897, 897, + 902, 897, 897, 897, 897, 897, 897, 897, 897, 897, + 897, 897, 897, 897, 897, 897, 897, 897, 897, 897, + 898, 897, 897, 897, 897, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 897, + + 897, 897, 897, 897, 896, 896, 896, 927, 927, 927, + 840, 840, 840, 865, 865, 865, 841, 974, 265, 866, + 974, 805, 901, 805, 136, 136, 900, 858, 136, 928, + 401, 401, 899, 806, 401, 851, 830, 401, 401, 886, + 883, 401, 871, 975, 870, 869, 975, 864, 976, 401, + 401, 863, 862, 401, 859, 861, 453, 929, 926, 927, + 927, 927, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 930, 928, 926, 926, 926, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + + 930, 930, 930, 930, 930, 930, 930, 930, 930, 929, + 926, 926, 926, 926, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 949, 950, 136, 949, 949, 949, + 949, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 942, 942, 942, - 942, 942, 864, 864, 864, 864, 864, 864, 865, 264, - - 264, 865, 896, 264, 136, 136, 401, 401, 136, 851, - 401, 885, 401, 401, 882, 830, 401, 870, 830, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 956, 136, 955, 955, 955, 955, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 949, 949, 949, 949, 949, + 927, 927, 927, 120, 852, 851, 746, 256, 833, 832, + 831, 827, 826, 825, 824, 824, 823, 265, 400, 265, + 265, 746, 928, 256, 803, 256, 799, 799, 798, 797, + + 797, 796, 795, 794, 793, 793, 792, 791, 790, 765, + 789, 788, 787, 786, 785, 384, 784, 783, 782, 782, + 929, 963, 963, 963, 963, 963, 963, 963, 963, 963, + 963, 963, 963, 963, 963, 963, 963, 963, 963, 963, + 963, 963, 964, 136, 963, 963, 963, 963, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 955, 955, 955, 955, 955, 120, 265, 265, 401, 401, - 869, 868, 401, 863, 862, 861, 860, 453, 852, 851, - 746, 256, 833, 832, 831, 827, 826, 825, 824, 824, - - 961, 823, 265, 400, 265, 265, 746, 962, 256, 803, - 256, 799, 799, 798, 797, 797, 796, 384, 47, 47, + 136, 136, 963, 963, 963, 963, 963, 969, 969, 969, + 969, 969, 969, 969, 969, 969, 969, 969, 969, 781, + 779, 113, 265, 400, 694, 265, 400, 563, 758, 970, + + 756, 755, 743, 742, 741, 740, 256, 739, 735, 735, + 488, 732, 113, 730, 729, 729, 728, 726, 370, 369, + 725, 724, 723, 722, 722, 721, 719, 929, 718, 717, + 929, 716, 715, 929, 714, 713, 929, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 47, 47, 47, 47, 47, 47, 47, 47, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 48, 48, 48, 48, 48, 48, 48, 48, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 59, 59, 59, 59, 59, 59, 59, + 48, 48, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 62, 62, 62, 62, 62, 62, + 59, 59, 59, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 65, 65, 65, 65, 65, + 62, 62, 62, 62, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 74, 74, 74, + 65, 65, 65, 65, 65, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 119, 119, + 74, 74, 74, 74, 74, 74, 74, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 119, 119, 119, 129, - 795, 794, 793, 129, 129, 129, 129, 793, 792, 791, - 129, 129, 165, 165, 165, 165, 790, 165, 165, 165, - 165, 165, 765, 165, 165, 165, 165, 789, 788, 787, - 165, 165, 175, 175, 786, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 785, - - 175, 175, 175, 177, 177, 784, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 783, 177, 177, 177, 181, 181, 782, 181, 181, 181, + 119, 119, 119, 119, 119, 119, 119, 119, 129, 712, + 710, 709, 129, 129, 129, 129, 708, 707, 706, 129, + 129, 165, 165, 165, 165, 704, 165, 165, 165, 165, + 165, 700, 165, 165, 165, 165, 698, 306, 305, 165, + + 165, 175, 175, 563, 175, 175, 175, 175, 175, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 657, 175, + 175, 175, 177, 177, 656, 177, 177, 177, 177, 177, + 177, 177, 177, 177, 177, 177, 177, 177, 177, 655, + 177, 177, 177, 181, 181, 654, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 782, 181, 181, 181, 191, 191, 191, 781, 191, - 191, 779, 191, 191, 191, 113, 191, 191, 265, 191, - 400, 694, 191, 191, 191, 192, 192, 265, 192, 192, - 192, 400, 192, 563, 192, 192, 192, 192, 758, 756, - 755, 192, 192, 195, 743, 742, 195, 195, 195, 741, - 195, 740, 195, 195, 195, 195, 256, 739, 735, 195, - - 195, 205, 205, 735, 488, 205, 205, 732, 113, 730, - 205, 205, 729, 205, 729, 728, 726, 205, 205, 207, - 370, 369, 725, 207, 207, 724, 723, 722, 207, 207, - 207, 207, 722, 721, 719, 207, 207, 108, 108, 108, - 718, 717, 108, 108, 108, 108, 108, 716, 108, 108, - 108, 108, 715, 714, 713, 108, 108, 226, 226, 712, + 653, 181, 181, 181, 191, 191, 191, 652, 191, 191, + 650, 191, 191, 191, 120, 191, 191, 120, 191, 642, + 120, 191, 191, 191, 192, 192, 640, 192, 192, 192, + 638, 192, 636, 192, 192, 192, 192, 635, 631, 627, + + 192, 192, 195, 626, 625, 195, 195, 195, 624, 195, + 488, 195, 195, 195, 195, 623, 620, 352, 195, 195, + 205, 205, 618, 617, 205, 205, 616, 615, 614, 205, + 205, 613, 205, 612, 611, 607, 205, 205, 207, 606, + 605, 604, 207, 207, 316, 590, 589, 207, 207, 207, + 207, 588, 587, 400, 207, 207, 108, 108, 108, 400, + 400, 108, 108, 108, 108, 108, 400, 108, 108, 108, + 108, 400, 540, 539, 108, 108, 226, 226, 536, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, - 227, 710, 709, 227, 227, 227, 227, 227, 708, 227, - 227, 227, 227, 707, 706, 704, 227, 227, 304, 304, - - 700, 698, 306, 305, 563, 657, 656, 655, 654, 304, - 653, 652, 304, 650, 120, 120, 304, 304, 326, 326, - 642, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 326, 326, 326, 326, 326, 326, 326, 327, - 120, 640, 638, 636, 635, 327, 631, 627, 327, 626, - 625, 624, 327, 327, 330, 488, 623, 330, 620, 352, - 330, 618, 617, 616, 330, 330, 347, 347, 347, 347, + 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, + + 532, 259, 227, 227, 227, 227, 227, 120, 227, 227, + 227, 227, 516, 511, 510, 227, 227, 304, 304, 509, + 498, 497, 496, 493, 488, 484, 483, 482, 304, 481, + 480, 304, 479, 477, 476, 304, 304, 326, 326, 982, + 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, + 326, 326, 326, 326, 326, 326, 326, 326, 327, 472, + 471, 470, 469, 468, 327, 467, 173, 327, 313, 400, + 263, 327, 327, 330, 400, 397, 330, 373, 368, 330, + 367, 108, 360, 330, 330, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, - 347, 347, 347, 347, 347, 347, 347, 357, 357, 615, - 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, - 357, 357, 357, 357, 357, 357, 357, 357, 364, 364, + 347, 347, 347, 347, 347, 347, 357, 357, 359, 357, + 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, + 357, 357, 357, 357, 357, 357, 357, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 364, 377, + 364, 364, 364, 364, 364, 364, 364, 364, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 390, 390, 614, 390, 390, 390, 390, 390, 390, 390, + 377, 377, 377, 377, 377, 377, 377, 377, 377, 390, + 390, 353, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, - 390, 448, 448, 613, 612, 611, 607, 606, 605, 604, - 316, 590, 589, 588, 587, 448, 400, 400, 400, 400, - 448, 450, 400, 540, 450, 539, 536, 532, 450, 450, + 448, 448, 354, 353, 356, 355, 354, 353, 353, 344, - 451, 451, 259, 451, 451, 451, 451, 451, 451, 451, + 340, 338, 337, 336, 448, 333, 189, 325, 324, 448, + 450, 323, 322, 450, 321, 313, 306, 450, 450, 451, + 451, 305, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 452, 452, 120, 452, 452, 452, 452, 452, 452, + 452, 452, 265, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, - 452, 452, 454, 454, 516, 454, 454, 454, 454, 454, + 452, 454, 454, 263, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, - 454, 454, 454, 458, 458, 458, 458, 458, 458, 458, + 454, 454, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 191, 511, 510, 191, 509, 498, - 497, 191, 191, 478, 478, 478, 478, 478, 478, 478, - - 478, 478, 478, 478, 478, 496, 478, 478, 493, 478, - 478, 478, 478, 478, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 488, 430, 430, 484, - 430, 430, 430, 430, 430, 422, 422, 422, 422, 422, - 422, 422, 422, 422, 422, 422, 422, 483, 422, 422, - 482, 422, 422, 422, 422, 422, 487, 487, 481, 487, + + 458, 458, 458, 191, 260, 120, 191, 237, 120, 179, + 191, 191, 478, 478, 478, 478, 478, 478, 478, 478, + 478, 478, 478, 478, 120, 478, 478, 179, 478, 478, + 478, 478, 478, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 179, 430, 430, 179, 430, + 430, 430, 430, 430, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 182, 422, 422, 178, + 422, 422, 422, 422, 422, 487, 487, 176, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, - 487, 487, 487, 487, 487, 487, 487, 499, 499, 480, + 487, 487, 487, 487, 487, 487, 499, 499, 982, 499, + 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, - 499, 499, 499, 499, 499, 499, 499, 499, 504, 504, - - 479, 504, 504, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 504, 504, 504, 504, 504, 504, 504, 108, - 108, 108, 477, 476, 108, 108, 108, 108, 108, 966, - 108, 108, 108, 108, 472, 471, 470, 108, 108, 514, - 514, 469, 468, 514, 467, 173, 313, 400, 263, 400, - 397, 514, 373, 514, 368, 367, 108, 360, 514, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 499, 499, 499, 499, 499, 499, 499, 504, 504, 58, + 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, + 504, 504, 504, 504, 504, 504, 504, 504, 108, 108, + 108, 58, 982, 108, 108, 108, 108, 108, 982, 108, + 108, 108, 108, 982, 982, 982, 108, 108, 514, 514, + 982, 982, 514, 982, 982, 982, 982, 982, 982, 982, + 514, 982, 514, 982, 982, 982, 982, 514, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 519, 519, 519, 519, 519, 519, 519, 519, 519, 377, + 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - - 377, 531, 531, 359, 531, 531, 531, 531, 531, 531, + 531, 531, 982, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, 531, - 531, 531, 535, 535, 353, 535, 535, 535, 535, 535, + 531, 535, 535, 982, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, - 535, 535, 535, 593, 593, 354, 593, 593, 593, 593, + 535, 535, 593, 593, 982, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, - 593, 593, 593, 593, 619, 619, 353, 619, 619, 619, + 593, 593, 593, 619, 619, 982, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, - 619, 619, 619, 619, 619, 622, 622, 356, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 630, 630, 355, 630, + 619, 619, 619, 619, 622, 622, 982, 622, 622, 622, + 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, + 622, 622, 622, 622, 622, 630, 630, 982, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, - 630, 630, 630, 630, 630, 630, 630, 634, 634, 354, + 630, 630, 630, 630, 630, 630, 634, 634, 982, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, - 634, 634, 634, 634, 634, 634, 634, 634, 637, 637, - 637, 637, 637, 637, 637, 637, 637, 637, 637, 637, - 353, 637, 637, 353, 637, 637, 637, 637, 637, 641, - 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, + 634, 634, 634, 634, 634, 634, 634, 637, 637, 637, + 637, 637, 637, 637, 637, 637, 637, 637, 637, 982, + 637, 637, 982, 637, 637, 637, 637, 637, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, - 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, + 641, 641, 641, 641, 641, 641, 641, 641, 641, 645, + 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, - 645, 651, 651, 344, 651, 651, 651, 651, 651, 651, + 651, 651, 982, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, - 651, 651, 667, 667, 340, 667, 667, 667, 667, 667, - 667, 667, 667, 667, 667, 667, 667, 667, 338, 667, - 667, 667, 667, 672, 672, 672, 672, 672, 672, 672, + 651, 667, 667, 982, 667, 667, 667, 667, 667, 667, + 667, 667, 667, 667, 667, 667, 667, 982, 667, 667, + 667, 667, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, - 672, 672, 672, 672, 699, 699, 337, 699, 699, 699, - 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, - 699, 699, 699, 699, 699, 703, 703, 336, 703, 703, + 672, 672, 672, 699, 699, 982, 699, 699, 699, 699, + 699, 699, 699, 699, 699, 699, 699, 699, 699, 699, + 699, 699, 699, 699, 703, 703, 982, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, 703, - 703, 703, 703, 703, 703, 703, 720, 720, 333, 720, + 703, 703, 703, 703, 703, 720, 720, 982, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, 720, - 720, 720, 720, 720, 720, 720, 720, 727, 727, 189, + 720, 720, 720, 720, 720, 720, 727, 727, 982, 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, 727, - 727, 727, 727, 727, 727, 727, 727, 727, 731, 731, - 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, - 325, 731, 731, 324, 731, 731, 731, 731, 731, 733, - 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, - 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, + 727, 727, 727, 727, 727, 727, 727, 731, 731, 731, + 731, 731, 731, 731, 731, 731, 731, 731, 731, 982, + 731, 731, 982, 731, 731, 731, 731, 731, 733, 733, - 780, 780, 323, 780, 780, 780, 780, 780, 780, 780, + 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, + 733, 733, 733, 733, 733, 733, 733, 733, 733, 780, + 780, 982, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, - 780, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, - 807, 807, 815, 815, 815, 815, 815, 815, 815, 815, - 815, 815, 815, 815, 815, 815, 815, 815, 815, 322, - 815, 815, 815, 817, 817, 321, 817, 817, 817, 817, + 807, 807, 807, 807, 807, 807, 807, 807, 807, 807, + 807, 815, 815, 815, 815, 815, 815, 815, 815, 815, + 815, 815, 815, 815, 815, 815, 815, 815, 982, 815, + 815, 815, 817, 817, 982, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, - 817, 817, 817, 817, 828, 828, 828, 828, 828, 828, - 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, - 828, 828, 828, 828, 828, 834, 834, 834, 834, 834, + 817, 817, 817, 828, 828, 828, 828, 828, 828, 828, + 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, + 828, 828, 828, 828, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, 834, - 834, 834, 834, 834, 834, 834, 850, 850, 850, 850, - 850, 313, 850, 850, 850, 850, 850, 850, 850, 850, - 850, 850, 850, 850, 850, 850, 850, 859, 859, 306, - 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, - 859, 859, 859, 859, 859, 859, 859, 859, 881, 881, - 305, 881, 881, 881, 881, 881, 881, 881, 881, 881, - 881, 881, 881, 881, 881, 881, 881, 881, 881, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 903, 903, 265, 903, 903, 903, 903, 903, 903, 903, - 903, 903, 903, 903, 903, 903, 903, 903, 903, 903, - 903, 907, 907, 907, 907, 907, 907, 907, 907, 907, - 907, 907, 907, 263, 907, 907, 260, 907, 907, 907, - 907, 907, 910, 910, 910, 910, 910, 910, 910, 910, - 910, 910, 910, 910, 910, 910, 910, 910, 910, 910, - 910, 910, 910, 914, 914, 120, 914, 914, 914, 914, - 914, 914, 914, 914, 914, 914, 914, 914, 914, 914, - 914, 914, 914, 914, 924, 924, 924, 924, 924, 924, - - 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, - 924, 237, 924, 924, 924, 928, 928, 120, 928, 928, - 928, 928, 928, 928, 928, 928, 928, 928, 928, 928, - 928, 928, 928, 928, 928, 928, 933, 933, 933, 933, - 933, 933, 933, 933, 933, 933, 933, 933, 933, 933, - 933, 933, 933, 933, 933, 933, 933, 958, 958, 958, - 958, 958, 958, 958, 958, 958, 958, 958, 958, 179, - 958, 958, 120, 958, 958, 958, 958, 958, 955, 955, - 955, 955, 955, 955, 955, 955, 955, 955, 955, 955, - 179, 955, 955, 179, 955, 955, 955, 955, 955, 965, - - 965, 179, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 182, 965, 965, 965, 965, - 178, 176, 966, 58, 58, 27, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966 + 834, 834, 834, 834, 834, 850, 850, 850, 850, 850, + 982, 850, 850, 850, 850, 850, 850, 850, 850, 850, + 850, 850, 850, 850, 850, 850, 860, 860, 982, 860, + 860, 860, 860, 860, 860, 860, 860, 860, 860, 860, + 860, 860, 860, 860, 860, 860, 860, 882, 882, 982, + 882, 882, 882, 882, 882, 882, 882, 882, 882, 882, + + 882, 882, 882, 882, 882, 882, 882, 882, 905, 905, + 982, 905, 905, 905, 905, 905, 905, 905, 905, 905, + 905, 905, 905, 905, 905, 905, 905, 905, 905, 909, + 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, + 909, 982, 909, 909, 982, 909, 909, 909, 909, 909, + 912, 912, 912, 912, 912, 912, 912, 912, 912, 912, + 912, 912, 912, 912, 912, 912, 912, 912, 912, 912, + 912, 916, 916, 982, 916, 916, 916, 916, 916, 916, + 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, + 916, 916, 926, 926, 926, 926, 926, 926, 926, 926, + + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 931, 931, 931, 931, 931, 931, 931, + 931, 931, 931, 931, 931, 931, 931, 931, 931, 931, + 982, 931, 931, 931, 935, 935, 982, 935, 935, 935, + 935, 935, 935, 935, 935, 935, 935, 935, 935, 935, + 935, 935, 935, 935, 935, 940, 940, 940, 940, 940, + 940, 940, 940, 940, 940, 940, 940, 940, 940, 940, + 940, 940, 940, 940, 940, 940, 967, 967, 967, 967, + 967, 967, 967, 967, 967, 967, 967, 967, 982, 967, + 967, 982, 967, 967, 967, 967, 967, 963, 963, 963, + + 963, 963, 963, 963, 963, 963, 963, 963, 963, 982, + 963, 963, 982, 963, 963, 963, 963, 963, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, + 973, 973, 973, 973, 973, 973, 973, 973, 973, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, + 981, 981, 982, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 981, 981, 982, 981, 981, 981, + 981, 27, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982 } ; -static yyconst flex_int16_t yy_chk[5183] = +static yyconst flex_int16_t yy_chk[5439] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1410,7 +1442,7 @@ static yyconst flex_int16_t yy_chk[5183] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5, 6, 7, 7, 8, 8, - 9, 10, 13, 14, 15, 16, 17, 963, 18, 395, + 9, 10, 13, 14, 15, 16, 17, 979, 18, 395, 147, 17, 395, 18, 3, 4, 5, 6, 19, 7, 20, 8, 9, 10, 13, 14, 15, 16, 17, 19, 18, 20, 21, 147, 19, 155, 20, 21, 19, 235, @@ -1419,7 +1451,7 @@ static yyconst flex_int16_t yy_chk[5183] = 30, 30, 30, 22, 33, 31, 32, 35, 39, 39, 39, 55, 31, 32, 35, 33, 35, 40, 55, 288, - 39, 21, 21, 31, 32, 35, 288, 957, 40, 245, + 39, 21, 21, 31, 32, 35, 288, 977, 40, 245, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, @@ -1432,14 +1464,14 @@ static yyconst flex_int16_t yy_chk[5183] = 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 29, 29, 29, 29, 79, 956, + 25, 25, 25, 25, 29, 29, 29, 29, 79, 975, 29, 29, 29, 29, 279, 85, 29, 91, 29, 79, 29, 29, 29, 29, 279, 29, 85, 29, 91, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 36, 46, 29, 29, 29, 34, 34, 34, 46, 36, 248, 36, 38, 36, 38, 98, - 149, 34, 953, 34, 82, 38, 149, 38, 100, 38, + 149, 34, 966, 34, 82, 38, 149, 38, 100, 38, 149, 82, 34, 84, 98, 145, 42, 42, 42, 100, 84, 42, 82, 98, 46, 36, 37, 37, 42, 37, @@ -1454,7 +1486,7 @@ static yyconst flex_int16_t yy_chk[5183] = 202, 68, 44, 76, 202, 141, 76, 141, 90, 90, 90, 247, 148, 246, 736, 41, 45, 45, 45, 45, - 90, 68, 68, 45, 45, 45, 76, 76, 45, 950, + 90, 68, 68, 45, 45, 45, 76, 76, 45, 964, 45, 148, 45, 45, 45, 45, 148, 45, 244, 45, 247, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1468,7 +1500,7 @@ static yyconst flex_int16_t yy_chk[5183] = 101, 101, 303, 80, 80, 81, 81, 81, 81, 250, 209, 81, 81, 101, 190, 153, 209, 81, 92, 81, 102, 190, 101, 102, 81, 153, 81, 102, 81, 153, - 129, 102, 102, 946, 303, 102, 102, 102, 105, 105, + 129, 102, 102, 961, 303, 102, 102, 102, 105, 105, 105, 103, 103, 103, 103, 250, 150, 103, 104, 104, 104, 104, 270, 190, 104, 103, 150, 81, 81, 87, 103, 105, 104, 87, 87, 87, 150, 104, 87, 108, @@ -1480,10 +1512,10 @@ static yyconst flex_int16_t yy_chk[5183] = 88, 236, 151, 192, 115, 236, 121, 194, 88, 115, 192, 156, 88, 115, 194, 88, 124, 124, 124, 88, 266, 192, 88, 151, 88, 194, 151, 124, 88, 124, - 124, 88, 89, 170, 267, 943, 89, 89, 89, 124, + 124, 88, 89, 170, 267, 958, 89, 89, 89, 124, 266, 89, 170, 89, 170, 89, 89, 89, 89, 170, 89, 191, 89, 170, 89, 123, 123, 123, 191, 125, - 267, 123, 125, 205, 125, 271, 941, 125, 125, 123, + 267, 123, 125, 205, 125, 271, 954, 125, 125, 123, 205, 282, 159, 159, 159, 172, 276, 172, 123, 273, 282, 205, 89, 97, 172, 271, 172, 125, 97, 97, @@ -1501,7 +1533,7 @@ static yyconst flex_int16_t yy_chk[5183] = 269, 278, 107, 107, 107, 165, 274, 107, 300, 107, 274, 107, 107, 107, 107, 237, 237, 237, 107, 278, 107, 110, 110, 110, 110, 160, 284, 278, 110, 110, - 110, 418, 289, 110, 940, 110, 939, 110, 110, 110, + 110, 418, 289, 110, 950, 110, 948, 110, 110, 110, 110, 418, 110, 289, 110, 284, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, @@ -1525,14 +1557,14 @@ static yyconst flex_int16_t yy_chk[5183] = 224, 224, 224, 409, 387, 213, 224, 280, 291, 277, 402, 228, 228, 228, 213, 328, 254, 228, 254, 286, 277, 254, 254, 224, 377, 228, 277, 286, 193, 206, - 227, 227, 227, 227, 228, 377, 934, 227, 227, 227, + 227, 227, 227, 227, 228, 377, 947, 227, 227, 227, 286, 254, 227, 299, 227, 387, 227, 227, 227, 227, 242, 242, 242, 227, 403, 227, 229, 229, 229, 229, 403, 229, 229, 229, 242, 299, 292, 229, 229, 405, - 229, 229, 229, 242, 933, 407, 292, 229, 383, 229, + 229, 229, 229, 242, 946, 407, 292, 229, 383, 229, 229, 229, 230, 292, 230, 230, 410, 230, 230, 405, - 932, 240, 240, 240, 302, 302, 302, 240, 230, 407, + 941, 240, 240, 240, 302, 302, 302, 240, 230, 407, 427, 411, 258, 258, 258, 240, 383, 229, 229, 229, 231, 231, 231, 231, 240, 410, 258, 231, 231, 231, 411, 427, 231, 304, 231, 258, 231, 231, 231, 231, @@ -1546,7 +1578,7 @@ static yyconst flex_int16_t yy_chk[5183] = 329, 408, 243, 243, 345, 241, 255, 255, 255, 257, 435, 257, 255, 243, 257, 257, 420, 255, 312, 255, 312, 312, 417, 312, 312, 257, 419, 420, 435, 255, - 417, 931, 329, 350, 312, 350, 929, 257, 350, 350, + 417, 940, 329, 350, 312, 350, 939, 257, 350, 350, 419, 257, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, @@ -1568,38 +1600,38 @@ static yyconst flex_int16_t yy_chk[5183] = 287, 287, 287, 287, 287, 287, 287, 287, 287, 287, 310, 310, 310, 354, 386, 354, 310, 425, 523, 429, 314, 314, 314, 425, 310, 314, 331, 331, 331, 523, - 384, 384, 384, 310, 311, 311, 311, 311, 928, 311, + 384, 384, 384, 310, 311, 311, 311, 311, 938, 311, 311, 311, 386, 314, 429, 311, 311, 331, 311, 311, 311, 315, 315, 315, 432, 311, 315, 311, 311, 311, 316, 316, 316, 354, 432, 316, 317, 317, 317, 318, 318, 318, 317, 426, 315, 318, 332, 332, 332, 331, 384, 332, 414, 316, 433, 311, 311, 311, 332, 317, - 437, 927, 318, 319, 319, 319, 319, 426, 436, 332, - 319, 319, 319, 926, 414, 319, 330, 319, 433, 319, + 437, 936, 318, 319, 319, 319, 319, 426, 436, 332, + 319, 319, 319, 935, 414, 319, 330, 319, 433, 319, 319, 319, 319, 330, 319, 437, 319, 436, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 442, 445, 330, 319, 319, 341, 341, 341, 442, 399, 341, 399, 348, 348, 348, 445, 575, - 341, 348, 349, 349, 349, 575, 925, 348, 351, 351, + 341, 348, 349, 349, 349, 575, 934, 348, 351, 351, 351, 341, 391, 399, 349, 374, 349, 391, 348, 391, 374, 366, 351, 366, 366, 349, 366, 366, 374, 391, 440, 351, 360, 360, 360, 360, 441, 374, 360, 360, - 440, 924, 361, 361, 361, 399, 360, 443, 361, 441, + 440, 933, 361, 361, 361, 399, 360, 443, 361, 441, 439, 360, 363, 363, 363, 360, 361, 443, 363, 364, - 364, 364, 375, 438, 363, 361, 367, 367, 367, 919, + 364, 364, 375, 438, 363, 361, 367, 367, 367, 932, 375, 364, 371, 371, 371, 363, 439, 489, 371, 375, 503, 438, 364, 489, 360, 365, 365, 365, 365, 367, 365, 365, 365, 503, 489, 371, 365, 365, 365, 365, - 365, 365, 380, 380, 380, 530, 365, 918, 365, 365, + 365, 365, 380, 380, 380, 530, 365, 931, 365, 365, 365, 372, 372, 372, 380, 381, 380, 372, 378, 378, 378, 379, 379, 379, 378, 380, 381, 379, 381, 524, 378, 381, 381, 379, 372, 548, 365, 365, 365, 526, 524, 378, 530, 555, 379, 382, 382, 382, 385, 385, - 385, 393, 393, 393, 398, 398, 398, 518, 917, 382, + 385, 393, 393, 393, 398, 398, 398, 518, 926, 382, 548, 555, 393, 545, 393, 416, 416, 416, 382, 434, 424, 424, 424, 545, 393, 398, 424, 434, 526, 434, 446, 446, 446, 549, 518, 416, 529, 552, 416, 501, @@ -1608,7 +1640,7 @@ static yyconst flex_int16_t yy_chk[5183] = 455, 457, 457, 457, 455, 522, 467, 457, 467, 529, 424, 522, 455, 457, 458, 458, 458, 565, 494, 458, - 494, 455, 522, 546, 457, 916, 458, 460, 450, 460, + 494, 455, 522, 546, 457, 921, 458, 460, 450, 460, 460, 554, 460, 460, 473, 473, 473, 458, 459, 459, 459, 459, 546, 459, 459, 459, 492, 492, 492, 459, 459, 459, 459, 459, 459, 554, 467, 570, 558, 459, @@ -1620,18 +1652,18 @@ static yyconst flex_int16_t yy_chk[5183] = 465, 737, 647, 573, 465, 464, 474, 474, 474, 592, 571, 521, 474, 475, 475, 475, 521, 461, 534, 475, 561, 465, 521, 573, 462, 472, 472, 472, 472, 474, - 534, 472, 472, 521, 534, 566, 475, 914, 737, 472, + 534, 472, 472, 521, 534, 566, 475, 920, 737, 472, 576, 505, 505, 505, 472, 647, 472, 505, 472, 498, 498, 498, 498, 505, 566, 498, 500, 500, 500, 500, 576, 569, 500, 498, 505, 507, 507, 507, 498, 577, 500, 508, 508, 508, 568, 500, 659, 472, 472, 512, 512, 512, 574, 508, 659, 512, 569, 580, 507, 513, - 513, 513, 577, 568, 508, 513, 911, 515, 515, 515, + 513, 513, 577, 568, 508, 513, 919, 515, 515, 515, 578, 574, 512, 515, 525, 525, 525, 527, 527, 527, 578, 542, 513, 542, 580, 532, 532, 532, 581, 579, 515, 532, 541, 541, 541, 583, 544, 525, 544, 532, - 585, 910, 542, 579, 582, 550, 550, 550, 532, 556, + 585, 918, 542, 579, 582, 550, 550, 550, 532, 556, 556, 556, 581, 541, 582, 644, 649, 544, 583, 550, 748, 585, 586, 586, 586, 550, 644, 527, 550, 650, 662, 668, 556, 663, 542, 675, 752, 650, 666, 662, @@ -1647,14 +1679,14 @@ static yyconst flex_int16_t yy_chk[5183] = 596, 596, 594, 670, 596, 597, 597, 597, 594, 664, 597, 673, 590, 670, 661, 671, 676, 597, 687, 594, 762, 690, 596, 664, 691, 676, 762, 818, 597, 664, - 690, 673, 691, 818, 908, 687, 562, 572, 572, 572, + 690, 673, 691, 818, 916, 687, 562, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, 572, - 572, 572, 572, 584, 584, 906, 584, 584, 584, 584, + 572, 572, 572, 584, 584, 913, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, @@ -1663,29 +1695,29 @@ static yyconst flex_int16_t yy_chk[5183] = 598, 598, 599, 599, 599, 598, 685, 648, 599, 600, 600, 600, 601, 601, 601, 600, 678, 602, 601, 602, - 598, 905, 598, 599, 685, 599, 674, 608, 608, 608, + 598, 912, 598, 599, 685, 599, 674, 608, 608, 608, 600, 686, 600, 608, 770, 601, 609, 609, 609, 688, 689, 753, 609, 610, 610, 610, 678, 674, 719, 610, 608, 648, 598, 732, 767, 599, 719, 686, 770, 609, 753, 732, 600, 689, 688, 719, 610, 602, 616, 616, - 732, 913, 767, 904, 616, 616, 616, 616, 616, 616, + 732, 915, 767, 910, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 620, 620, 620, 627, 627, 627, 620, 738, 744, 627, 631, 631, - 631, 913, 620, 793, 631, 751, 744, 632, 632, 632, + 631, 915, 620, 793, 631, 751, 744, 632, 632, 632, 754, 620, 631, 632, 627, 751, 639, 639, 639, 632, 793, 631, 639, 642, 642, 642, 658, 768, 658, 642, 632, 738, 652, 652, 652, 754, 760, 642, 652, 639, - 677, 768, 677, 652, 903, 652, 642, 658, 660, 660, + 677, 768, 677, 652, 908, 652, 642, 658, 660, 660, 660, 684, 684, 684, 660, 652, 755, 684, 769, 757, 677, 760, 761, 693, 693, 693, 755, 758, 660, 757, 700, 700, 700, 809, 684, 763, 700, 758, 771, 658, 660, 769, 808, 693, 700, 763, 693, 761, 771, 812, 677, 799, 810, 700, 701, 701, 701, 809, 660, 680, - 701, 811, 808, 810, 902, 814, 701, 834, 799, 901, - 812, 900, 811, 680, 680, 693, 814, 701, 834, 680, + 701, 811, 808, 810, 907, 814, 701, 834, 799, 906, + 812, 905, 811, 680, 680, 693, 814, 701, 834, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, 692, 692, 692, 692, 692, 692, 692, @@ -1697,276 +1729,304 @@ static yyconst flex_int16_t yy_chk[5183] = 692, 692, 692, 692, 692, 692, 692, 692, 692, 705, 705, 705, 711, 711, 711, 705, 813, 849, 711, 716, 716, 716, 722, 722, 722, 726, 726, 726, 722, 739, - 705, 726, 705, 899, 739, 711, 739, 853, 801, 726, - 813, 849, 716, 802, 819, 722, 739, 895, 726, 729, + 705, 726, 705, 904, 739, 711, 739, 853, 801, 726, + 813, 849, 716, 802, 819, 722, 739, 903, 726, 729, 729, 729, 735, 735, 735, 729, 853, 820, 735, 794, 794, 794, 705, 743, 743, 743, 819, 745, 745, 745, 820, 716, 729, 745, 743, 735, 743, 777, 777, 777, 801, 844, 794, 777, 844, 802, 743, 779, 779, 779, - 782, 782, 782, 779, 922, 839, 782, 838, 892, 855, + 782, 782, 782, 779, 924, 839, 782, 838, 893, 855, - 777, 779, 797, 797, 797, 855, 877, 892, 797, 846, - 779, 890, 922, 782, 800, 800, 800, 745, 765, 765, - 765, 886, 765, 765, 765, 797, 838, 839, 765, 765, + 777, 779, 797, 797, 797, 855, 878, 893, 797, 846, + 779, 902, 924, 782, 800, 800, 800, 745, 765, 765, + 765, 887, 765, 765, 765, 797, 838, 839, 765, 765, 804, 804, 804, 806, 846, 806, 804, 800, 806, 806, - 874, 804, 886, 804, 824, 824, 824, 877, 912, 806, - 824, 874, 854, 804, 829, 829, 829, 830, 864, 830, - 829, 806, 830, 830, 864, 806, 829, 824, 765, 891, - 765, 773, 854, 840, 923, 864, 875, 829, 840, 891, - 840, 912, 888, 885, 923, 773, 773, 875, 884, 936, + 875, 804, 887, 804, 824, 824, 824, 878, 914, 806, + 824, 875, 854, 804, 829, 829, 829, 830, 865, 830, + 829, 806, 830, 830, 865, 806, 829, 824, 765, 892, + 765, 773, 854, 840, 925, 865, 876, 829, 840, 892, + 840, 914, 901, 891, 925, 773, 773, 876, 889, 886, 840, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, - 773, 773, 773, 773, 773, 815, 815, 815, 936, 815, + 773, 773, 773, 773, 773, 815, 815, 815, 879, 815, 815, 815, 821, 821, 821, 815, 815, 835, 835, 835, - 842, 842, 842, 835, 836, 836, 836, 878, 837, 835, - 836, 842, 821, 842, 880, 821, 836, 872, 909, 837, - 835, 837, 872, 842, 837, 837, 880, 836, 872, 909, - 880, 944, 878, 1060, 883, 815, 1060, 815, 882, 872, - 881, 944, 821, 847, 847, 847, 847, 847, 847, 847, - 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 953, 874, 821, 835, 836, 836, 836, 874, 837, 835, + 836, 895, 821, 879, 894, 821, 836, 943, 874, 837, + 835, 837, 881, 923, 837, 837, 953, 836, 842, 842, + 842, 957, 895, 894, 881, 815, 911, 815, 881, 842, + 951, 842, 821, 885, 884, 923, 943, 911, 957, 883, + 951, 842, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, - 847, 847, 847, 847, 847, 847, 847, 847, 847, 848, + 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, + 847, 847, 847, 847, 847, 847, 847, 847, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, 848, - 848, 848, 848, 848, 848, 856, 856, 856, 867, 867, - 867, 893, 873, 876, 876, 876, 894, 921, 873, 937, - - 871, 915, 915, 915, 949, 951, 954, 915, 856, 873, - 893, 867, 915, 938, 915, 869, 876, 894, 938, 921, - 938, 949, 951, 868, 915, 954, 866, 865, 937, 862, - 938, 861, 860, 859, 858, 856, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 920, 920, 920, 920, 920, 920, 920, 920, - 920, 920, 930, 930, 930, 935, 935, 935, 930, 991, - - 991, 935, 857, 991, 992, 992, 1002, 1002, 992, 850, - 1002, 845, 1022, 1022, 843, 930, 1022, 833, 935, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 945, 945, 945, 945, 945, - 945, 945, 945, 945, 945, 952, 959, 961, 1040, 1040, - 832, 831, 1040, 828, 827, 826, 825, 823, 817, 816, - 807, 803, 798, 796, 795, 792, 790, 783, 781, 780, - - 959, 778, 776, 775, 759, 750, 747, 961, 742, 741, - 740, 734, 733, 730, 728, 727, 725, 952, 967, 967, - 967, 967, 967, 967, 967, 967, 967, 967, 967, 967, - 967, 967, 967, 967, 967, 967, 967, 967, 967, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, - 968, 968, 968, 968, 968, 968, 968, 968, 968, 968, - 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - 969, 970, 970, 970, 970, 970, 970, 970, 970, 970, - 970, 970, 970, 970, 970, 970, 970, 970, 970, 970, - - 970, 970, 971, 971, 971, 971, 971, 971, 971, 971, - 971, 971, 971, 971, 971, 971, 971, 971, 971, 971, - 971, 971, 971, 972, 972, 972, 972, 972, 972, 972, - 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, - 972, 972, 972, 972, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 974, 974, 974, 974, - 974, 974, 974, 974, 974, 974, 975, 975, 975, 975, - 975, 975, 975, 975, 975, 975, 975, 975, 975, 975, - - 975, 975, 975, 975, 975, 975, 975, 976, 976, 976, - 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, - 976, 976, 976, 976, 976, 976, 976, 976, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 977, - 977, 977, 977, 977, 977, 977, 977, 977, 977, 978, - 724, 723, 721, 978, 978, 978, 978, 720, 718, 717, - 978, 978, 979, 979, 979, 979, 715, 979, 979, 979, - 979, 979, 714, 979, 979, 979, 979, 713, 712, 710, - 979, 979, 980, 980, 709, 980, 980, 980, 980, 980, - 980, 980, 980, 980, 980, 980, 980, 980, 980, 708, - - 980, 980, 980, 981, 981, 707, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 706, 981, 981, 981, 982, 982, 704, 982, 982, 982, - 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - 982, 703, 982, 982, 982, 983, 983, 983, 702, 983, - 983, 699, 983, 983, 983, 698, 983, 983, 697, 983, - 696, 695, 983, 983, 983, 984, 984, 683, 984, 984, - 984, 682, 984, 672, 984, 984, 984, 984, 669, 667, - 665, 984, 984, 985, 657, 656, 985, 985, 985, 655, - 985, 654, 985, 985, 985, 985, 653, 651, 646, 985, - - 985, 986, 986, 645, 643, 986, 986, 641, 638, 636, - 986, 986, 635, 986, 634, 633, 630, 986, 986, 987, - 629, 628, 626, 987, 987, 625, 624, 623, 987, 987, - 987, 987, 622, 621, 619, 987, 987, 988, 988, 988, - 618, 617, 988, 988, 988, 988, 988, 615, 988, 988, - 988, 988, 614, 613, 612, 988, 988, 989, 989, 611, + 848, 848, 848, 848, 856, 856, 856, 857, 857, 857, + + 868, 868, 868, 873, 856, 877, 877, 877, 873, 928, + 937, 937, 937, 944, 873, 959, 937, 856, 962, 945, + 857, 968, 882, 868, 945, 873, 945, 872, 877, 870, + 1007, 1007, 959, 937, 1007, 1078, 945, 962, 1078, 869, + 867, 866, 944, 928, 856, 968, 863, 857, 858, 858, + 862, 858, 858, 858, 858, 858, 858, 858, 858, 858, + 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, + 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, + 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, + 858, 858, 858, 858, 858, 858, 858, 858, 858, 858, + + 858, 858, 858, 858, 896, 896, 896, 897, 897, 897, + 917, 917, 917, 942, 942, 942, 917, 970, 972, 942, + 973, 917, 861, 917, 1008, 1008, 860, 896, 1008, 897, + 1018, 1018, 859, 917, 1018, 850, 942, 1038, 1038, 845, + 843, 1038, 833, 970, 832, 831, 973, 828, 972, 1056, + 1056, 827, 826, 1056, 896, 825, 823, 897, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + + 898, 898, 898, 898, 898, 898, 898, 898, 898, 898, + 898, 898, 898, 898, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 922, 922, 922, 922, 922, 922, 922, 922, 922, 922, + 927, 927, 927, 960, 817, 816, 807, 803, 798, 796, + 795, 792, 790, 783, 781, 780, 778, 776, 775, 759, + 750, 747, 927, 742, 741, 740, 734, 733, 730, 728, + + 727, 725, 724, 723, 721, 720, 718, 717, 715, 714, + 713, 712, 710, 709, 708, 960, 707, 706, 704, 703, + 927, 952, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 952, 952, 952, + 952, 952, 952, 952, 952, 952, 952, 965, 965, 965, + 969, 969, 969, 974, 974, 974, 978, 978, 978, 702, + 699, 698, 697, 696, 695, 683, 682, 672, 669, 965, + + 667, 665, 657, 656, 655, 654, 653, 651, 646, 645, + 643, 641, 638, 636, 635, 634, 633, 630, 629, 628, + 626, 625, 624, 623, 622, 621, 619, 965, 618, 617, + 969, 615, 614, 974, 613, 612, 978, 983, 983, 983, + 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, + 983, 983, 983, 983, 983, 983, 983, 983, 984, 984, + 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, + 984, 984, 984, 984, 984, 984, 984, 984, 984, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + 985, 985, 985, 985, 985, 985, 985, 985, 985, 985, + + 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, + 986, 986, 986, 986, 986, 986, 986, 986, 986, 986, + 986, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, + 987, 987, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 988, 988, 988, 988, 988, 988, 988, + 988, 988, 988, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, - 989, 989, 989, 989, 989, 989, 989, 989, 990, 990, - 990, 607, 606, 990, 990, 990, 990, 990, 605, 990, - 990, 990, 990, 604, 603, 595, 990, 990, 993, 993, - - 593, 589, 588, 587, 564, 540, 539, 538, 537, 993, - 536, 535, 993, 531, 528, 520, 993, 993, 994, 994, - 519, 994, 994, 994, 994, 994, 994, 994, 994, 994, - 994, 994, 994, 994, 994, 994, 994, 994, 994, 995, - 517, 516, 511, 509, 506, 995, 504, 499, 995, 497, - 496, 493, 995, 995, 996, 491, 490, 996, 487, 486, - 996, 484, 483, 482, 996, 996, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, - 997, 997, 997, 997, 997, 997, 997, 998, 998, 481, - 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, + 989, 989, 989, 989, 990, 990, 990, 990, 990, 990, + 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, - 998, 998, 998, 998, 998, 998, 998, 998, 999, 999, - 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, - 999, 999, 999, 999, 999, 999, 999, 999, 999, 1000, - 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, - 1001, 1001, 480, 1001, 1001, 1001, 1001, 1001, 1001, 1001, - 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, - 1001, 1003, 1003, 479, 477, 476, 471, 470, 469, 468, - 466, 454, 453, 452, 451, 1003, 431, 423, 413, 401, - 1003, 1004, 400, 397, 1004, 396, 394, 390, 1004, 1004, - - 1005, 1005, 389, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + 990, 990, 990, 990, 990, 991, 991, 991, 991, 991, + 991, 991, 991, 991, 991, 991, 991, 991, 991, 991, + 991, 991, 991, 991, 991, 991, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 993, 993, 993, + 993, 993, 993, 993, 993, 993, 993, 993, 993, 993, + 993, 993, 993, 993, 993, 993, 993, 993, 994, 611, + 607, 606, 994, 994, 994, 994, 605, 604, 603, 994, + 994, 995, 995, 995, 995, 595, 995, 995, 995, 995, + 995, 593, 995, 995, 995, 995, 589, 588, 587, 995, + + 995, 996, 996, 564, 996, 996, 996, 996, 996, 996, + 996, 996, 996, 996, 996, 996, 996, 996, 540, 996, + 996, 996, 997, 997, 539, 997, 997, 997, 997, 997, + 997, 997, 997, 997, 997, 997, 997, 997, 997, 538, + 997, 997, 997, 998, 998, 537, 998, 998, 998, 998, + 998, 998, 998, 998, 998, 998, 998, 998, 998, 998, + 536, 998, 998, 998, 999, 999, 999, 535, 999, 999, + 531, 999, 999, 999, 528, 999, 999, 520, 999, 519, + 517, 999, 999, 999, 1000, 1000, 516, 1000, 1000, 1000, + 511, 1000, 509, 1000, 1000, 1000, 1000, 506, 504, 499, + + 1000, 1000, 1001, 497, 496, 1001, 1001, 1001, 493, 1001, + 491, 1001, 1001, 1001, 1001, 490, 487, 486, 1001, 1001, + 1002, 1002, 484, 483, 1002, 1002, 482, 481, 480, 1002, + 1002, 479, 1002, 477, 476, 471, 1002, 1002, 1003, 470, + 469, 468, 1003, 1003, 466, 454, 453, 1003, 1003, 1003, + 1003, 452, 451, 431, 1003, 1003, 1004, 1004, 1004, 423, + 413, 1004, 1004, 1004, 1004, 1004, 401, 1004, 1004, 1004, + 1004, 400, 397, 396, 1004, 1004, 1005, 1005, 394, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, - 1005, 1006, 1006, 376, 1006, 1006, 1006, 1006, 1006, 1006, - 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, - 1006, 1006, 1007, 1007, 373, 1007, 1007, 1007, 1007, 1007, - 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, - 1007, 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1009, 370, 369, 1009, 368, 357, - 356, 1009, 1009, 1010, 1010, 1010, 1010, 1010, 1010, 1010, - - 1010, 1010, 1010, 1010, 1010, 355, 1010, 1010, 352, 1010, - 1010, 1010, 1010, 1010, 1011, 1011, 1011, 1011, 1011, 1011, - 1011, 1011, 1011, 1011, 1011, 1011, 347, 1011, 1011, 344, - 1011, 1011, 1011, 1011, 1011, 1012, 1012, 1012, 1012, 1012, - 1012, 1012, 1012, 1012, 1012, 1012, 1012, 342, 1012, 1012, - 340, 1012, 1012, 1012, 1012, 1012, 1013, 1013, 339, 1013, + 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1006, 1006, 1006, + + 390, 389, 1006, 1006, 1006, 1006, 1006, 376, 1006, 1006, + 1006, 1006, 373, 370, 369, 1006, 1006, 1009, 1009, 368, + 357, 356, 355, 352, 347, 344, 342, 340, 1009, 339, + 338, 1009, 337, 334, 333, 1009, 1009, 1010, 1010, 327, + 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, + 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, 326, + 325, 324, 323, 322, 1011, 321, 320, 1011, 309, 265, + 264, 1011, 1011, 1012, 263, 259, 1012, 239, 234, 1012, + 233, 232, 226, 1012, 1012, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, - 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 338, + + 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 225, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, - 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1015, 1015, - - 337, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1016, - 1016, 1016, 334, 333, 1016, 1016, 1016, 1016, 1016, 327, - 1016, 1016, 1016, 1016, 326, 325, 324, 1016, 1016, 1017, - 1017, 323, 322, 1017, 321, 320, 309, 265, 264, 263, - 259, 1017, 239, 1017, 234, 233, 232, 226, 1017, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, - 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, - 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, - - 1019, 1020, 1020, 225, 1020, 1020, 1020, 1020, 1020, 1020, - 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, - 1020, 1020, 1021, 1021, 222, 1021, 1021, 1021, 1021, 1021, + 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, + 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1016, 1016, + 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, + 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017, + 1017, 222, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, + 1019, 1019, 221, 220, 219, 218, 217, 216, 215, 210, + + 203, 201, 200, 199, 1019, 197, 189, 186, 185, 1019, + 1020, 184, 183, 1020, 180, 167, 162, 1020, 1020, 1021, + 1021, 161, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, - 1021, 1021, 1021, 1023, 1023, 221, 1023, 1023, 1023, 1023, + 1022, 1022, 136, 1022, 1022, 1022, 1022, 1022, 1022, 1022, + 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, + 1022, 1023, 1023, 135, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - 1023, 1023, 1023, 1023, 1024, 1024, 220, 1024, 1024, 1024, + 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, - 1024, 1024, 1024, 1024, 1024, 1025, 1025, 219, 1025, 1025, - 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, - - 1025, 1025, 1025, 1025, 1025, 1025, 1026, 1026, 218, 1026, - 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, - 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1027, 1027, 217, - 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, - 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1028, 1028, - 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, - 216, 1028, 1028, 215, 1028, 1028, 1028, 1028, 1028, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, + + 1024, 1024, 1024, 1025, 126, 119, 1025, 112, 75, 73, + 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, + 1026, 1026, 1026, 1026, 67, 1026, 1026, 64, 1026, 1026, + 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1027, + 1027, 1027, 1027, 1027, 1027, 61, 1027, 1027, 58, 1027, + 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1028, 1028, 1028, + 1028, 1028, 1028, 1028, 1028, 1028, 57, 1028, 1028, 51, + 1028, 1028, 1028, 1028, 1028, 1029, 1029, 49, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, + 1029, 1029, 1029, 1029, 1029, 1029, 1030, 1030, 27, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, - 1030, 1031, 1031, 210, 1031, 1031, 1031, 1031, 1031, 1031, + 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1031, 1031, 12, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, - 1031, 1031, 1032, 1032, 203, 1032, 1032, 1032, 1032, 1032, - 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 201, 1032, - 1032, 1032, 1032, 1033, 1033, 1033, 1033, 1033, 1033, 1033, - 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, - 1033, 1033, 1033, 1033, 1034, 1034, 200, 1034, 1034, 1034, + 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032, + 1032, 11, 0, 1032, 1032, 1032, 1032, 1032, 0, 1032, + 1032, 1032, 1032, 0, 0, 0, 1032, 1032, 1033, 1033, + 0, 0, 1033, 0, 0, 0, 0, 0, 0, 0, + 1033, 0, 1033, 0, 0, 0, 0, 1033, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, - 1034, 1034, 1034, 1034, 1034, 1035, 1035, 199, 1035, 1035, + 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, - 1035, 1035, 1035, 1035, 1035, 1035, 1036, 1036, 197, 1036, + 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, + 1036, 1036, 0, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, - 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1037, 1037, 189, + 1036, 1037, 1037, 0, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, - 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1038, - 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, - 186, 1038, 1038, 185, 1038, 1038, 1038, 1038, 1038, 1039, - 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1037, 1037, 1039, 1039, 0, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1040, 1040, 0, 1040, 1040, 1040, 1040, + 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, - 1041, 1041, 184, 1041, 1041, 1041, 1041, 1041, 1041, 1041, + 1040, 1040, 1040, 1040, 1041, 1041, 0, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, - 1041, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, + 1041, 1041, 1041, 1041, 1041, 1042, 1042, 0, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, - 1042, 1042, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, - 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 183, - 1043, 1043, 1043, 1044, 1044, 180, 1044, 1044, 1044, 1044, - 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, - 1044, 1044, 1044, 1044, 1045, 1045, 1045, 1045, 1045, 1045, + 1042, 1042, 1042, 1042, 1042, 1042, 1043, 1043, 0, 1043, + 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, + 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1044, + 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 0, + 1044, 1044, 0, 1044, 1044, 1044, 1044, 1044, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1046, 1046, 1046, 1046, 1046, + 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1047, 1047, 1047, 1047, - 1047, 167, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, - 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1048, 1048, 162, - 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, - 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1049, 1049, - 161, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, - 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1050, - 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, + 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, + 1047, 1047, 0, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1048, 1048, 0, 1048, 1048, 1048, 1048, 1048, 1048, + 1048, 1048, 1048, 1048, 1048, 1048, 1048, 0, 1048, 1048, + 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, + 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, + 1049, 1049, 1049, 1050, 1050, 0, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, - 1051, 1051, 136, 1051, 1051, 1051, 1051, 1051, 1051, 1051, + 1050, 1050, 1050, 1050, 1051, 1051, 0, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, - 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, - 1052, 1052, 1052, 135, 1052, 1052, 126, 1052, 1052, 1052, - 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, + 1051, 1051, 1051, 1051, 1051, 1052, 1052, 0, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1053, 0, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, - 1053, 1053, 1053, 1054, 1054, 119, 1054, 1054, 1054, 1054, - 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, - 1054, 1054, 1054, 1054, 1055, 1055, 1055, 1055, 1055, 1055, + 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1054, 1054, + 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 0, + 1054, 1054, 0, 1054, 1054, 1054, 1054, 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, - 1055, 112, 1055, 1055, 1055, 1056, 1056, 75, 1056, 1056, - 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, - 1056, 1056, 1056, 1056, 1056, 1056, 1057, 1057, 1057, 1057, + 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1057, + 1057, 0, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, - 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1058, 1058, 1058, - 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 73, - 1058, 1058, 67, 1058, 1058, 1058, 1058, 1058, 1059, 1059, - 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, - 64, 1059, 1059, 61, 1059, 1059, 1059, 1059, 1059, 1061, - - 1061, 58, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, - 1061, 1061, 1061, 1061, 1061, 57, 1061, 1061, 1061, 1061, - 51, 49, 27, 12, 11, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966 + 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, + 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, + 1058, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, + 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 0, 1059, + 1059, 1059, 1060, 1060, 0, 1060, 1060, 1060, 1060, 1060, + 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, + + 1060, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1061, + 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, + 1061, 1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, + 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, + 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1063, + 0, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, + 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 0, 1064, + 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, + 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1065, 0, + 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, + + 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066, + 0, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, + 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1067, + 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 0, 1067, 1067, 0, 1067, 1067, 1067, 1067, 1067, + 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, + 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, + 1068, 1069, 1069, 0, 1069, 1069, 1069, 1069, 1069, 1069, + 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, + 1069, 1069, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + + 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, + 1070, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1071, 1071, + 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, + 0, 1071, 1071, 1071, 1072, 1072, 0, 1072, 1072, 1072, + 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, + 1072, 1072, 1072, 1072, 1072, 1073, 1073, 1073, 1073, 1073, + 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, + 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074, 1074, 1074, + 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 0, 1074, + 1074, 0, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075, + + 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 0, + 1075, 1075, 0, 1075, 1075, 1075, 1075, 1075, 1076, 1076, + 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, + 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, + 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, + 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, + 1079, 1079, 0, 1079, 1079, 1079, 1079, 1079, 1079, 1079, + 1079, 1079, 1079, 1079, 1079, 1079, 0, 1079, 1079, 1079, + 1079, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, + 982, 982, 982, 982, 982, 982, 982, 982 } ; extern int yy_flex_debug; @@ -2002,7 +2062,7 @@ char *yytext; * * Copyright (C) 1991, 1992 Kresten Krab Thorup. * Copyright (C) 1993 --- 1998 Per Abrahamsen. - * Copyright (C) 2019 Karl Berry. + * Copyright (C) 2019 --- 2022 Karl Berry. * * 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 @@ -2022,6 +2082,11 @@ char *yytext; * Created On : Sun May 26 18:11:58 1991 * * HISTORY + * 01-May-2022 Karl Berry + * Handle groups in definitions, and more \newcommand features. + * Report from Michael Clark, + * https://tug.org/pipermail/tex-live/2022-April/048096.html. + * Version number now 1.30. * 08-Jul-2019 Karl Berry * Separate patterns for \def vs. \newcommand. Report from Zayd Hammoudeh, * https://tug.org/pipermail/tex-live/2019-January/043083.html. @@ -2112,7 +2177,7 @@ char *yytext; * 26-May-1991 Kresten Krab Thorup * Initial distribution version. */ -#line 121 "../../../utils/lacheck/lacheck.l" +#line 126 "../../../utils/lacheck/lacheck.l" #include <stdio.h> #include <string.h> @@ -2185,7 +2250,7 @@ int def_count = 0; -#line 2189 "../../../utils/lacheck/lacheck.c" +#line 2254 "../../../utils/lacheck/lacheck.c" #define INITIAL 0 #define B_ENVIRONMENT 1 @@ -2424,10 +2489,10 @@ YY_DECL } { -#line 236 "../../../utils/lacheck/lacheck.l" +#line 241 "../../../utils/lacheck/lacheck.l" -#line 2431 "../../../utils/lacheck/lacheck.c" +#line 2496 "../../../utils/lacheck/lacheck.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2454,14 +2519,14 @@ 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 >= 967 ) + if ( yy_current_state >= 983 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; *(yy_state_ptr)++ = yy_current_state; ++yy_cp; } - while ( yy_current_state != 966 ); + while ( yy_current_state != 982 ); yy_find_action: yy_current_state = *--(yy_state_ptr); @@ -2510,45 +2575,45 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 238 "../../../utils/lacheck/lacheck.l" +#line 243 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 2: YY_RULE_SETUP -#line 240 "../../../utils/lacheck/lacheck.l" +#line 245 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 242 "../../../utils/lacheck/lacheck.l" +#line 247 "../../../utils/lacheck/lacheck.l" { line_count++; } YY_BREAK case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 244 "../../../utils/lacheck/lacheck.l" +#line 249 "../../../utils/lacheck/lacheck.l" { line_count++; } YY_BREAK case 5: YY_RULE_SETUP -#line 246 "../../../utils/lacheck/lacheck.l" +#line 251 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 6: YY_RULE_SETUP -#line 248 "../../../utils/lacheck/lacheck.l" +#line 253 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 7: YY_RULE_SETUP -#line 250 "../../../utils/lacheck/lacheck.l" +#line 255 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP -#line 252 "../../../utils/lacheck/lacheck.l" +#line 257 "../../../utils/lacheck/lacheck.l" { if (CG_TYPE != 4 && CG_TYPE != 5) { if (!(CG_TYPE == 2 && strstr(CG_NAME, "array"))) { @@ -2563,12 +2628,12 @@ YY_RULE_SETUP YY_BREAK case 9: YY_RULE_SETUP -#line 264 "../../../utils/lacheck/lacheck.l" +#line 269 "../../../utils/lacheck/lacheck.l" { push( "{", 0, line_count);} YY_BREAK case 10: YY_RULE_SETUP -#line 266 "../../../utils/lacheck/lacheck.l" +#line 271 "../../../utils/lacheck/lacheck.l" { { int italic = CG_ITALIC; @@ -2581,12 +2646,12 @@ YY_RULE_SETUP YY_BREAK case 11: YY_RULE_SETUP -#line 276 "../../../utils/lacheck/lacheck.l" +#line 281 "../../../utils/lacheck/lacheck.l" { g_checkend(0); } YY_BREAK case 12: YY_RULE_SETUP -#line 278 "../../../utils/lacheck/lacheck.l" +#line 283 "../../../utils/lacheck/lacheck.l" { { if (!CG_ITALIC) @@ -2600,7 +2665,7 @@ YY_RULE_SETUP YY_BREAK case 13: YY_RULE_SETUP -#line 289 "../../../utils/lacheck/lacheck.l" +#line 294 "../../../utils/lacheck/lacheck.l" { { if (CG_ITALIC) @@ -2619,7 +2684,7 @@ YY_LINENO_REWIND_TO(yy_cp - 2); (yy_c_buf_p) = yy_cp -= 2; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 300 "../../../utils/lacheck/lacheck.l" +#line 305 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -2638,7 +2703,7 @@ YY_LINENO_REWIND_TO(yy_cp - 2); (yy_c_buf_p) = yy_cp -= 2; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 311 "../../../utils/lacheck/lacheck.l" +#line 316 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -2652,17 +2717,17 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 322 "../../../utils/lacheck/lacheck.l" +#line 327 "../../../utils/lacheck/lacheck.l" { BEGIN(INITIAL); } YY_BREAK case 17: YY_RULE_SETUP -#line 324 "../../../utils/lacheck/lacheck.l" +#line 329 "../../../utils/lacheck/lacheck.l" { BEGIN(ICOR); } YY_BREAK case 18: YY_RULE_SETUP -#line 326 "../../../utils/lacheck/lacheck.l" +#line 331 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: double \\/ found \"%s\"\n", @@ -2678,7 +2743,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 334 "../../../utils/lacheck/lacheck.l" +#line 339 "../../../utils/lacheck/lacheck.l" { CG_ITALIC = 1; } YY_BREAK case 20: @@ -2688,7 +2753,7 @@ YY_LINENO_REWIND_TO(yy_bp + 12); (yy_c_buf_p) = yy_cp = yy_bp + 12; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 336 "../../../utils/lacheck/lacheck.l" +#line 341 "../../../utils/lacheck/lacheck.l" { { if(CG_ITALIC) @@ -2705,7 +2770,7 @@ YY_LINENO_REWIND_TO(yy_bp + 12); (yy_c_buf_p) = yy_cp = yy_bp + 12; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 345 "../../../utils/lacheck/lacheck.l" +#line 350 "../../../utils/lacheck/lacheck.l" { CG_ITALIC = 0; } YY_BREAK case 22: @@ -2715,7 +2780,7 @@ YY_LINENO_REWIND_TO(yy_bp + 3); (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 347 "../../../utils/lacheck/lacheck.l" +#line 352 "../../../utils/lacheck/lacheck.l" { { if(CG_ITALIC) @@ -2732,12 +2797,12 @@ YY_LINENO_REWIND_TO(yy_bp + 3); (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 356 "../../../utils/lacheck/lacheck.l" +#line 361 "../../../utils/lacheck/lacheck.l" { CG_ITALIC = !CG_ITALIC; } YY_BREAK case 24: YY_RULE_SETUP -#line 358 "../../../utils/lacheck/lacheck.l" +#line 363 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: do not use \\/ before \"%s\"\n", @@ -2749,93 +2814,100 @@ YY_RULE_SETUP case 25: /* rule 25 can match eol */ YY_RULE_SETUP -#line 366 "../../../utils/lacheck/lacheck.l" +#line 371 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 26: YY_RULE_SETUP -#line 368 "../../../utils/lacheck/lacheck.l" +#line 373 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 27: YY_RULE_SETUP -#line 370 "../../../utils/lacheck/lacheck.l" +#line 375 "../../../utils/lacheck/lacheck.l" { { unput(yytext[0]); BEGIN(INITIAL); }} YY_BREAK -/* \def can be followed by whitespace, then the \ to start the control - sequence, then more or less anything up to the { starting the - replacement text, which we assume is on the same line. (All this - could be changed in TeX, with catcodes etc., but we can't try to - handle that.) */ +/* \def (or \edef etc.) can be followed by whitespace, then the \ to + start the control sequence, then more or less anything up to the { + starting the replacement text, which we assume is on the same line. + (All this could be changed in TeX, with catcodes etc., but we can't + try to handle that.) */ case 28: /* rule 28 can match eol */ YY_RULE_SETUP -#line 381 "../../../utils/lacheck/lacheck.l" -BEGIN(DEF); +#line 386 "../../../utils/lacheck/lacheck.l" +{ ++def_count; BEGIN(DEF); } YY_BREAK /* \newcommand{\foo}{...} or \newcommand\foo{...} - (or \renewcommand or \providecommand). + or \renewcommand or \providecommand; + and/or with \...command*; + and/or with \...command[N] argument count; To allow for arbitrary control sequence names, we match the braced name as anything not containing a }. To handle optional argument specifications, we assume the { is on the same line as the csname. - We don't do anything with the definitions; the only purpose is to + We assume the control sequence name is either a single character or + one or more English letters, a-zA-Z, as usual with TeX. + We assume the optional argument default does not contain a ]. + We don't do anything with the definition; the only purpose is to count braces. */ case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 391 "../../../utils/lacheck/lacheck.l" -BEGIN(DEF); +#line 401 "../../../utils/lacheck/lacheck.l" +{ ++def_count; BEGIN(DEF); } YY_BREAK -/* Pre-2019 rule was (see test-def.tex): +/* ws optional* ({\cs} |\cs) [N]? [dflt]? .* {defn} + + Pre-2019 rule was (see test-def.tex): "\\"[exg]?(def|newcommand)[^\n\{]+ BEGIN(DEF); */ case 30: YY_RULE_SETUP -#line 397 "../../../utils/lacheck/lacheck.l" +#line 409 "../../../utils/lacheck/lacheck.l" { ++def_count; } YY_BREAK case 31: YY_RULE_SETUP -#line 399 "../../../utils/lacheck/lacheck.l" +#line 411 "../../../utils/lacheck/lacheck.l" { --def_count; if(def_count == 0) BEGIN(INITIAL); } YY_BREAK case 32: YY_RULE_SETUP -#line 403 "../../../utils/lacheck/lacheck.l" +#line 415 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 33: YY_RULE_SETUP -#line 405 "../../../utils/lacheck/lacheck.l" +#line 417 "../../../utils/lacheck/lacheck.l" BEGIN(ENV_DEF); YY_BREAK case 34: YY_RULE_SETUP -#line 407 "../../../utils/lacheck/lacheck.l" +#line 419 "../../../utils/lacheck/lacheck.l" { ++def_count; } YY_BREAK case 35: YY_RULE_SETUP -#line 409 "../../../utils/lacheck/lacheck.l" +#line 421 "../../../utils/lacheck/lacheck.l" { --def_count; if(def_count == 0) BEGIN(DEF); } YY_BREAK case 36: YY_RULE_SETUP -#line 413 "../../../utils/lacheck/lacheck.l" +#line 425 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 37: YY_RULE_SETUP -#line 415 "../../../utils/lacheck/lacheck.l" +#line 427 "../../../utils/lacheck/lacheck.l" { if(CG_TYPE == 4 || CG_TYPE == 5) print_bad_match(yytext,4); @@ -2846,12 +2918,12 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 423 "../../../utils/lacheck/lacheck.l" +#line 435 "../../../utils/lacheck/lacheck.l" { g_checkend(4); } YY_BREAK case 39: YY_RULE_SETUP -#line 425 "../../../utils/lacheck/lacheck.l" +#line 437 "../../../utils/lacheck/lacheck.l" { if(CG_TYPE == 4 || CG_TYPE == 5) print_bad_match(yytext,5); @@ -2862,12 +2934,12 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 434 "../../../utils/lacheck/lacheck.l" +#line 446 "../../../utils/lacheck/lacheck.l" { g_checkend(5); BEGIN(AFTER_DISPLAY);} YY_BREAK case 41: YY_RULE_SETUP -#line 436 "../../../utils/lacheck/lacheck.l" +#line 448 "../../../utils/lacheck/lacheck.l" { printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed before end of displaymath\n", @@ -2879,7 +2951,7 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 444 "../../../utils/lacheck/lacheck.l" +#line 456 "../../../utils/lacheck/lacheck.l" { unput(yytext[0]); BEGIN(INITIAL); } YY_BREAK case 43: @@ -2887,7 +2959,7 @@ case 43: (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 446 "../../../utils/lacheck/lacheck.l" +#line 458 "../../../utils/lacheck/lacheck.l" { if (CG_TYPE == 4) { printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed after end of math mode\n", @@ -2898,7 +2970,7 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 454 "../../../utils/lacheck/lacheck.l" +#line 466 "../../../utils/lacheck/lacheck.l" { if(CG_TYPE == 5) @@ -2916,7 +2988,7 @@ YY_RULE_SETUP YY_BREAK case 45: YY_RULE_SETUP -#line 470 "../../../utils/lacheck/lacheck.l" +#line 482 "../../../utils/lacheck/lacheck.l" { if(CG_TYPE == 4) @@ -2940,7 +3012,7 @@ YY_LINENO_REWIND_TO(yy_bp + 11); (yy_c_buf_p) = yy_cp = yy_bp + 11; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 486 "../../../utils/lacheck/lacheck.l" +#line 498 "../../../utils/lacheck/lacheck.l" { { push("\\begingroup", 1, line_count); @@ -2953,7 +3025,7 @@ YY_LINENO_REWIND_TO(yy_bp + 9); (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 492 "../../../utils/lacheck/lacheck.l" +#line 504 "../../../utils/lacheck/lacheck.l" { { g_checkend(1); @@ -2961,7 +3033,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 498 "../../../utils/lacheck/lacheck.l" +#line 510 "../../../utils/lacheck/lacheck.l" { BEGIN(B_ENVIRONMENT); } YY_BREAK case 49: @@ -2971,7 +3043,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 500 "../../../utils/lacheck/lacheck.l" +#line 512 "../../../utils/lacheck/lacheck.l" { { @@ -2982,7 +3054,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 508 "../../../utils/lacheck/lacheck.l" +#line 520 "../../../utils/lacheck/lacheck.l" { { if (strcmp( yytext, "verbatim" ) == 0 ) @@ -3009,12 +3081,12 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 532 "../../../utils/lacheck/lacheck.l" +#line 544 "../../../utils/lacheck/lacheck.l" { BEGIN(INITIAL); } YY_BREAK case 52: YY_RULE_SETUP -#line 534 "../../../utils/lacheck/lacheck.l" +#line 546 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: TAB character in verbatim environment\n", file_name, line_count) ; @@ -3023,18 +3095,18 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 540 "../../../utils/lacheck/lacheck.l" +#line 552 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 54: /* rule 54 can match eol */ YY_RULE_SETUP -#line 542 "../../../utils/lacheck/lacheck.l" +#line 554 "../../../utils/lacheck/lacheck.l" { ++line_count; } YY_BREAK case 55: YY_RULE_SETUP -#line 545 "../../../utils/lacheck/lacheck.l" +#line 557 "../../../utils/lacheck/lacheck.l" { verb_char = yytext[yyleng-1]; BEGIN(VERB); @@ -3043,7 +3115,7 @@ YY_RULE_SETUP case 56: /* rule 56 can match eol */ YY_RULE_SETUP -#line 550 "../../../utils/lacheck/lacheck.l" +#line 562 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: \\verb should not contain end of line characters\n", file_name, line_count) ; @@ -3052,7 +3124,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 556 "../../../utils/lacheck/lacheck.l" +#line 568 "../../../utils/lacheck/lacheck.l" { if ( *yytext == verb_char ) BEGIN(INITIAL); @@ -3060,7 +3132,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 562 "../../../utils/lacheck/lacheck.l" +#line 574 "../../../utils/lacheck/lacheck.l" { BEGIN(E_ENVIRONMENT); } YY_BREAK case 59: @@ -3070,7 +3142,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 564 "../../../utils/lacheck/lacheck.l" +#line 576 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: {argument} missing for \\end\n", @@ -3080,7 +3152,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 572 "../../../utils/lacheck/lacheck.l" +#line 584 "../../../utils/lacheck/lacheck.l" { { e_checkend(2, yytext); @@ -3092,7 +3164,7 @@ YY_RULE_SETUP case 61: /* rule 61 can match eol */ YY_RULE_SETUP -#line 581 "../../../utils/lacheck/lacheck.l" +#line 593 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -3105,7 +3177,7 @@ YY_RULE_SETUP case 62: /* rule 62 can match eol */ YY_RULE_SETUP -#line 590 "../../../utils/lacheck/lacheck.l" +#line 602 "../../../utils/lacheck/lacheck.l" { { printf( "\"%s\", line %d: missing `\\ ' after \"%s\"\n", @@ -3117,7 +3189,7 @@ YY_RULE_SETUP case 63: /* rule 63 can match eol */ YY_RULE_SETUP -#line 598 "../../../utils/lacheck/lacheck.l" +#line 610 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -3130,7 +3202,7 @@ YY_RULE_SETUP case 64: /* rule 64 can match eol */ YY_RULE_SETUP -#line 607 "../../../utils/lacheck/lacheck.l" +#line 619 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: double space at \"%s\"\n", @@ -3143,7 +3215,7 @@ YY_RULE_SETUP case 65: /* rule 65 can match eol */ YY_RULE_SETUP -#line 616 "../../../utils/lacheck/lacheck.l" +#line 628 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: \\ldots should be \\cdots in \"%s\"\n", file_name, line_count, yytext); @@ -3154,7 +3226,7 @@ YY_RULE_SETUP case 66: /* rule 66 can match eol */ YY_RULE_SETUP -#line 623 "../../../utils/lacheck/lacheck.l" +#line 635 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: \\cdots should be \\ldots in \"%s\"\n", file_name, line_count, yytext); @@ -3166,7 +3238,7 @@ YY_RULE_SETUP case 67: /* rule 67 can match eol */ YY_RULE_SETUP -#line 631 "../../../utils/lacheck/lacheck.l" +#line 643 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: Dots should be \\cdots in \"%s\"\n", file_name, line_count, yytext); @@ -3177,7 +3249,7 @@ YY_RULE_SETUP case 68: /* rule 68 can match eol */ YY_RULE_SETUP -#line 638 "../../../utils/lacheck/lacheck.l" +#line 650 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: Dots should be \\ldots in \"%s\"\n", file_name, line_count, yytext); @@ -3188,7 +3260,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 647 "../../../utils/lacheck/lacheck.l" +#line 659 "../../../utils/lacheck/lacheck.l" { printf("\"%s\", line %d: Dots should be ellipsis \"%s\"\n", file_name, line_count, yytext); @@ -3199,7 +3271,7 @@ YY_RULE_SETUP case 70: /* rule 70 can match eol */ YY_RULE_SETUP -#line 654 "../../../utils/lacheck/lacheck.l" +#line 666 "../../../utils/lacheck/lacheck.l" { linecount(); printf("\"%s\", line %d: bad character in label \"%s\", see C.10.2\n", @@ -3213,7 +3285,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 660 "../../../utils/lacheck/lacheck.l" +#line 672 "../../../utils/lacheck/lacheck.l" { linecount(); BEGIN(INITIAL); @@ -3226,7 +3298,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 665 "../../../utils/lacheck/lacheck.l" +#line 677 "../../../utils/lacheck/lacheck.l" { linecount(); printf("\"%s\", line %d: perhaps you should insert a `~' before \"%s\"\n", @@ -3241,7 +3313,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 672 "../../../utils/lacheck/lacheck.l" +#line 684 "../../../utils/lacheck/lacheck.l" { linecount(); printf("\"%s\", line %d: whitespace before footnote in \"%s\"\n", @@ -3256,7 +3328,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 680 "../../../utils/lacheck/lacheck.l" +#line 692 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: Don't use \"%s\" in LaTeX documents\n", @@ -3267,19 +3339,19 @@ YY_RULE_SETUP case 75: /* rule 75 can match eol */ YY_RULE_SETUP -#line 687 "../../../utils/lacheck/lacheck.l" +#line 699 "../../../utils/lacheck/lacheck.l" { linecount() ;} YY_BREAK case 76: /* rule 76 can match eol */ YY_RULE_SETUP -#line 688 "../../../utils/lacheck/lacheck.l" +#line 700 "../../../utils/lacheck/lacheck.l" { linecount(); } YY_BREAK case 77: /* rule 77 can match eol */ YY_RULE_SETUP -#line 690 "../../../utils/lacheck/lacheck.l" +#line 702 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -3292,7 +3364,7 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 700 "../../../utils/lacheck/lacheck.l" +#line 712 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: Do not use @ in LaTeX macro names. \"%s\"\n", @@ -3303,7 +3375,7 @@ YY_RULE_SETUP case 79: /* rule 79 can match eol */ YY_RULE_SETUP -#line 707 "../../../utils/lacheck/lacheck.l" +#line 719 "../../../utils/lacheck/lacheck.l" { { linecount(); @@ -3315,7 +3387,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 716 "../../../utils/lacheck/lacheck.l" +#line 728 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: Use ' to end quotation, not ` \"%s\"\n", @@ -3327,7 +3399,7 @@ YY_RULE_SETUP case 81: /* rule 81 can match eol */ YY_RULE_SETUP -#line 725 "../../../utils/lacheck/lacheck.l" +#line 737 "../../../utils/lacheck/lacheck.l" { { printf("\"%s\", line %d: Whitespace before punctation mark in \"%s\"\n", @@ -3339,28 +3411,28 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 734 "../../../utils/lacheck/lacheck.l" +#line 746 "../../../utils/lacheck/lacheck.l" { BEGIN(COMMENT); } YY_BREAK case 83: /* rule 83 can match eol */ YY_RULE_SETUP -#line 736 "../../../utils/lacheck/lacheck.l" +#line 748 "../../../utils/lacheck/lacheck.l" { BEGIN(INITIAL); ++line_count; } YY_BREAK case 84: YY_RULE_SETUP -#line 738 "../../../utils/lacheck/lacheck.l" +#line 750 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 85: YY_RULE_SETUP -#line 741 "../../../utils/lacheck/lacheck.l" +#line 753 "../../../utils/lacheck/lacheck.l" { BEGIN(INCLUDE); } YY_BREAK case 86: YY_RULE_SETUP -#line 743 "../../../utils/lacheck/lacheck.l" +#line 755 "../../../utils/lacheck/lacheck.l" { { if ( strstr(yytext,".sty") == NULL ) @@ -3385,7 +3457,7 @@ case 87: YY_LINENO_REWIND_TO(yy_bp + 9); (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ -#line 762 "../../../utils/lacheck/lacheck.l" +#line 774 "../../../utils/lacheck/lacheck.l" YY_RULE_SETUP case YY_STATE_EOF(INITIAL): YY_RULE_SETUP @@ -3412,8 +3484,16 @@ YY_RULE_SETUP case YY_STATE_EOF(ICOR): YY_RULE_SETUP case YY_STATE_EOF(GETICOR): -#line 762 "../../../utils/lacheck/lacheck.l" +#line 774 "../../../utils/lacheck/lacheck.l" { + if (def_count != 0) + { + printf("\"%s\", line %d: %d missing right brace(s).\n", + file_name, + line_count, + def_count); + } + if (--istackp < 0) yyterminate(); @@ -3433,15 +3513,15 @@ case YY_STATE_EOF(GETICOR): YY_BREAK case 88: YY_RULE_SETUP -#line 781 "../../../utils/lacheck/lacheck.l" +#line 801 "../../../utils/lacheck/lacheck.l" { ; } YY_BREAK case 89: YY_RULE_SETUP -#line 782 "../../../utils/lacheck/lacheck.l" +#line 802 "../../../utils/lacheck/lacheck.l" ECHO; YY_BREAK -#line 3445 "../../../utils/lacheck/lacheck.c" +#line 3525 "../../../utils/lacheck/lacheck.c" case YY_END_OF_BUFFER: { @@ -3702,7 +3782,7 @@ 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 >= 967 ) + if ( yy_current_state >= 983 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3725,11 +3805,11 @@ 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 >= 967 ) + if ( yy_current_state >= 983 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 966); + yy_is_jam = (yy_current_state == 982); if ( ! yy_is_jam ) *(yy_state_ptr)++ = yy_current_state; @@ -4417,12 +4497,12 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 782 "../../../utils/lacheck/lacheck.l" +#line 802 "../../../utils/lacheck/lacheck.l" static void print_version (void) { - printf("%s (TeX Live) %s\n", PROGNAME, "1.29"); + printf("%s (TeX Live) %s\n", PROGNAME, "1.30"); puts("$Id: lacheck.l 51590 2019-07-09 15:26:51Z karl $"); printf("License GPLv1+: GNU GPL version 1 or later"); puts(" <https://gnu.org/licenses/gpl.html>."); diff --git a/Build/source/utils/lacheck/lacheck.l b/Build/source/utils/lacheck/lacheck.l index 1ef06376e3e..3d698040875 100644 --- a/Build/source/utils/lacheck/lacheck.l +++ b/Build/source/utils/lacheck/lacheck.l @@ -4,7 +4,7 @@ * * Copyright (C) 1991, 1992 Kresten Krab Thorup. * Copyright (C) 1993 --- 1998 Per Abrahamsen. - * Copyright (C) 2019 Karl Berry. + * Copyright (C) 2019 --- 2022 Karl Berry. * * 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 @@ -24,6 +24,11 @@ * Created On : Sun May 26 18:11:58 1991 * * HISTORY + * 01-May-2022 Karl Berry + * Count initial { of definitions, and more \newcommand features. + * Report from Michael Clark, + * https://tug.org/pipermail/tex-live/2022-April/048096.html. + * Version number now 1.30. * 08-Jul-2019 Karl Berry * Separate patterns for \def vs. \newcommand. Report from Zayd Hammoudeh, * https://tug.org/pipermail/tex-live/2019-January/043083.html. @@ -373,24 +378,31 @@ symbol ("$"("\\"{atoz}+|.)"$"|"\\#"|"\\$"|"\\%"|"\\ref") BEGIN(INITIAL); }} - /* \def can be followed by whitespace, then the \ to start the control - sequence, then more or less anything up to the { starting the - replacement text, which we assume is on the same line. (All this - could be changed in TeX, with catcodes etc., but we can't try to - handle that.) */ -"\\"[exg]?def[ \t\n]*"\\"[^\n{]+\{ BEGIN(DEF); + /* \def (or \edef etc.) can be followed by whitespace, then the \ to + start the control sequence, then more or less anything up to the { + starting the replacement text, which we assume is on the same line. + (All this could be changed in TeX, with catcodes etc., but we can't + try to handle that.) */ +"\\"[exg]?def[ \t\n]*"\\"[^\n{]+\{ { ++def_count; BEGIN(DEF); } /* \newcommand{\foo}{...} or \newcommand\foo{...} - (or \renewcommand or \providecommand). + or \renewcommand or \providecommand; + and/or with \...command*; + and/or with \...command[N] argument count; To allow for arbitrary control sequence names, we match the braced name as anything not containing a }. To handle optional argument specifications, we assume the { is on the same line as the csname. - We don't do anything with the definitions; the only purpose is to + We assume the control sequence name is either a single character or + one or more English letters, a-zA-Z, as usual with TeX. + We assume the optional argument default does not contain a ]. + We don't do anything with the definition; the only purpose is to count braces. */ -"\\"(provide|(re)?newcommand)[ \t\n]*(\{\\[^}]+\}|\\)[^{]*\{ BEGIN(DEF); +"\\"(provide|(re)?newcommand)[ \t\n]*(\*[ \t\n]*)?(\{\\[^}]+\}|\\([a-zA-Z]+|.))[ \t\n]*(\[[0-9]\](\[[^]]*\])?)?[ \t\n]*[^{]*\{ { ++def_count; BEGIN(DEF); } - /* Pre-2019 rule was (see test-def.tex): + /* ws optional* ({\cs} |\cs) [N]? [dflt]? .* {defn} + + Pre-2019 rule was (see test-def.tex): "\\"[exg]?(def|newcommand)[^\n\{]+ BEGIN(DEF); */ @@ -760,6 +772,14 @@ symbol ("$"("\\"{atoz}+|.)"$"|"\\#"|"\\$"|"\\%"|"\\ref") \\endinput/[^A-Za-z] | <<EOF>> { + if (def_count != 0) + { + printf("\"%s\", line %d: %d missing right brace(s).\n", + file_name, + line_count, + def_count); + } + if (--istackp < 0) yyterminate(); @@ -782,7 +802,7 @@ symbol ("$"("\\"{atoz}+|.)"$"|"\\#"|"\\$"|"\\%"|"\\ref") %% static void print_version (void) { - printf("%s (TeX Live) %s\n", PROGNAME, "1.29"); + printf("%s (TeX Live) %s\n", PROGNAME, "1.30"); puts("$Id$"); printf("License GPLv1+: GNU GPL version 1 or later"); puts(" <https://gnu.org/licenses/gpl.html>."); diff --git a/Build/source/utils/lacheck/test-def.tex b/Build/source/utils/lacheck/test-def.tex index 4b83a25ad7c..e75ffb1176a 100644 --- a/Build/source/utils/lacheck/test-def.tex +++ b/Build/source/utils/lacheck/test-def.tex @@ -2,17 +2,35 @@ % This file is public domain. \documentclass{report} -\newcommand{\defaultleftmargin}{0.25in} -\setlength{\oddsidemargin}{\defaultleftmargin} -\providecommand{\defaultmargin}{0.25in}\def\defx{\defy} +%\newcommand{\defaultleftmargin}{0.25in} +%\setlength{\oddsidemargin}{\defaultleftmargin} +%\providecommand{\defaultmargin}{0.25in}\def\defx{\defy} + +% based on report: +% Date: Mon, 25 Apr 2022 15:37:27 -0600 +% From: Michael Clark +% +\def\ibx{\textit{#1}} % \def with nested braces in rhs +\newcommand\ibx{\textit{#1}} % \newcommand\foo +\newcommand{\ibx}{\textit{#1}} % \newcommand{\foo} +\newcommand{\ibx}{\textbf{\textit{#1}}} % more nesting + +% *-form +\newcommand*{\ibxstar}{\textit{#1}} + +% arg count +\newcommand{\ibx}[1]{\textit{#1}} + +% optarg default +\newcommand{\ibx}[1][dflt]{\textit{#1}} + + \begin{document} \end{document} - -% BTW, to remake in the build directory even though maintainer mode is -% enabled (where $xu is the texk/utils source directory): -% cd Work/utils/lacheck && make am__skiplex= all \ -% && ./lacheck $xu/lacheck/test-def.tex # or make check, etc. +% See Makefile.am for rebuild + test recipe. + +% emacs-page % [https://tug.org/pipermail/tex-live/2019-January/043083.html] % % Date: Thu, 24 Jan 2019 19:11:18 -0800 @@ -45,3 +63,37 @@ % Edit: The issue appears to not be limited to newcommand. I get the same % error for the line: % \setlength{\oddsidemargin}{\defaultleftmargin} + + +% emacs-page +% https://tug.org/pipermail/tex-live/2022-April/048096.html +% Date: Mon, 25 Apr 2022 15:37:27 -0600 +% From: Michael Clark <clark.michael.c@gmail.com> +% To: <tex-live@tug.org> +% Subject: lacheck is confused when curly brackets are inside a \newcommand +% +% Example latex file (foo.tex): +% +% \newcommand{\boldx}[1]{{\bf #1}} +% \newcommand{\ibx}[1]{\textbf{\textit{#1}}} +% +% lacheck output: +% +% "foo.tex", line 1: <- unmatched "}" +% "foo.tex", line 1: -> unmatched "beginning of file foo.tex" +% "foo.tex", line 2: <- unmatched "}" +% "foo.tex", line 1: -> unmatched "beginning of file foo.tex" +% +% I pulled the example commands from +% https://www.physicsread.com/latex-bold/ showing two useful cases. One, +% using a command inside of a newcommand, and the other creates a group +% to isolate the scope of the command to the included text. +% +% Replacing \newcommand with \newcommand* reports no error as expected. +% If an error is expected behavior for \newcommand, it would be nice if +% the error message were more clear, as the brackets are correctly +% matched. +% +% Thank you for maintaining this tool. I'd need to devote longer than I +% have to figure out where to go from line 391 of lacheck.l +% (https://tug.org/svn/texlive/trunk/Build/source/utils/lacheck/lacheck.l?view=markup#l391) |