aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2015-10-09 11:29:49 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2015-10-09 11:29:49 +0000
commitde0161d6dac5b91ced45540949fb1906c7833ca2 (patch)
tree308a39ba602d511ed48460bce48782814b240b32
parentaf3dabbf15fa4d0e7e45a43fbf9a2195edfa941c (diff)
downloadsrc-de0161d6dac5b91ced45540949fb1906c7833ca2.tar.gz
src-de0161d6dac5b91ced45540949fb1906c7833ca2.zip
import unbound 1.5.5vendor/unbound/1.5.5
Notes
Notes: svn path=/vendor/unbound/dist/; revision=289061 svn path=/vendor/unbound/1.5.5/; revision=289062; tag=vendor/unbound/1.5.5
-rw-r--r--Makefile.in4
-rw-r--r--acx_nlnetlabs.m447
-rw-r--r--config.h.in4
-rwxr-xr-xconfigure155
-rw-r--r--configure.ac13
-rw-r--r--daemon/daemon.c8
-rw-r--r--daemon/remote.c46
-rw-r--r--doc/Changelog89
-rw-r--r--doc/README2
-rw-r--r--doc/example.conf.in9
-rw-r--r--doc/libunbound.3.in4
-rw-r--r--doc/unbound-anchor.8.in2
-rw-r--r--doc/unbound-checkconf.8.in2
-rw-r--r--doc/unbound-control.8.in2
-rw-r--r--doc/unbound-host.1.in2
-rw-r--r--doc/unbound.8.in4
-rw-r--r--doc/unbound.conf.5.in20
-rw-r--r--iterator/iter_hints.c4
-rw-r--r--iterator/iterator.h2
-rw-r--r--libunbound/libunbound.c11
-rw-r--r--sldns/rrdef.h2
-rw-r--r--smallapp/unbound-anchor.c3
-rw-r--r--smallapp/unbound-control.c2
-rw-r--r--testcode/petal.c18
-rw-r--r--testcode/replay.c75
-rw-r--r--testcode/testbound.c1
-rw-r--r--testdata/val_ta_algo_missing.rpl1
-rw-r--r--util/config_file.c10
-rw-r--r--util/config_file.h4
-rw-r--r--util/configlexer.c3878
-rw-r--r--util/configlexer.lex5
-rw-r--r--util/configparser.c1198
-rw-r--r--util/configparser.h6
-rw-r--r--util/configparser.y14
-rw-r--r--util/data/msgencode.c2
-rw-r--r--util/iana_ports.inc6
-rw-r--r--util/net_help.c23
-rw-r--r--validator/autotrust.c31
-rw-r--r--validator/val_sigcrypt.c4
-rw-r--r--validator/validator.c2
-rw-r--r--winrc/setup.nsi4
41 files changed, 3085 insertions, 2634 deletions
diff --git a/Makefile.in b/Makefile.in
index 40cf9a57d208..20829d899ee1 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -168,7 +168,7 @@ HOST_OBJ=unbound-host.lo
HOST_OBJ_LINK=$(HOST_OBJ) $(SLDNS_OBJ) $(COMPAT_OBJ_WITHOUT_CTIMEARC4) @WIN_HOST_OBJ_LINK@
UBANCHOR_SRC=smallapp/unbound-anchor.c
UBANCHOR_OBJ=unbound-anchor.lo
-UBANCHOR_OBJ_LINK=$(UBANCHOR_OBJ) \
+UBANCHOR_OBJ_LINK=$(UBANCHOR_OBJ) parseutil.lo \
$(COMPAT_OBJ_WITHOUT_CTIME) @WIN_UBANCHOR_OBJ_LINK@
TESTBOUND_SRC=testcode/testbound.c testcode/testpkts.c \
daemon/worker.c daemon/acl_list.c daemon/daemon.c daemon/stats.c \
@@ -1175,7 +1175,7 @@ delayer.lo delayer.o: $(srcdir)/testcode/delayer.c config.h $(srcdir)/util/net_h
unbound-control.lo unbound-control.o: $(srcdir)/smallapp/unbound-control.c config.h \
$(srcdir)/util/log.h $(srcdir)/util/config_file.h $(srcdir)/util/locks.h $(srcdir)/util/net_help.h
unbound-anchor.lo unbound-anchor.o: $(srcdir)/smallapp/unbound-anchor.c config.h $(srcdir)/libunbound/unbound.h \
- $(srcdir)/sldns/rrdef.h \
+ $(srcdir)/sldns/rrdef.h $(srcdir)/sldns/parseutil.h \
petal.lo petal.o: $(srcdir)/testcode/petal.c config.h \
diff --git a/acx_nlnetlabs.m4 b/acx_nlnetlabs.m4
index decf0f58600b..c9ca7558da5c 100644
--- a/acx_nlnetlabs.m4
+++ b/acx_nlnetlabs.m4
@@ -2,7 +2,8 @@
# Copyright 2009, Wouter Wijngaards, NLnet Labs.
# BSD licensed.
#
-# Version 27
+# Version 28
+# 2015-08-28 ACX_CHECK_PIE and ACX_CHECK_RELRO_NOW added.
# 2015-03-17 AHX_CONFIG_REALLOCARRAY added
# 2013-09-19 FLTO help text improved.
# 2013-07-18 Enable ACX_CHECK_COMPILER_FLAG to test for -Wstrict-prototypes
@@ -94,6 +95,8 @@
# ACX_CHECK_MEMCMP_SIGNED - check if memcmp uses signed characters.
# AHX_MEMCMP_BROKEN - replace memcmp func for CHECK_MEMCMP_SIGNED.
# ACX_CHECK_SS_FAMILY - check for sockaddr_storage.ss_family
+# ACX_CHECK_PIE - add --enable-pie option and check if works
+# ACX_CHECK_RELRO_NOW - add --enable-relro-now option and check it
#
dnl Escape backslashes as \\, for C:\ paths, for the C preprocessor defines.
@@ -1386,4 +1389,46 @@ AC_DEFUN([ACX_CHECK_SS_FAMILY],
#endif
]) ])
+dnl Check if CC and linker support -fPIE and -pie.
+dnl If so, sets them in CFLAGS / LDFLAGS.
+AC_DEFUN([ACX_CHECK_PIE], [
+ AC_ARG_ENABLE([pie], AS_HELP_STRING([--enable-pie], [Enable Position-Independent Executable (eg. to fully benefit from ASLR, small performance penalty)]))
+ AS_IF([test "x$enable_pie" = "xyes"], [
+ AC_MSG_CHECKING([if $CC supports PIE])
+ BAKLDFLAGS="$LDFLAGS"
+ BAKCFLAGS="$CFLAGS"
+ LDFLAGS="$LDFLAGS -pie"
+ CFLAGS="$CFLAGS -fPIE"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
+ if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
+ LDFLAGS="$BAKLDFLAGS"
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+ fi
+ rm -f conftest conftest.c conftest.o
+ ], [LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; AC_MSG_RESULT(no)])
+ ])
+])
+
+dnl Check if linker supports -Wl,-z,relro,-z,now.
+dnl If so, adds it to LDFLAGS.
+AC_DEFUN([ACX_CHECK_RELRO_NOW], [
+ AC_ARG_ENABLE([relro_now], AS_HELP_STRING([--enable-relro-now], [Enable full relocation binding at load-time (RELRO NOW, to protect GOT and .dtor areas)]))
+ AS_IF([test "x$enable_relro_now" = "xyes"], [
+ AC_MSG_CHECKING([if $CC supports -Wl,-z,relro,-z,now])
+ BAKLDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
+ if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
+ LDFLAGS="$BAKLDFLAGS"
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+ fi
+ rm -f conftest conftest.c conftest.o
+ ], [LDFLAGS="$BAKLDFLAGS" ; AC_MSG_RESULT(no)])
+ ])
+])
+
dnl End of file
diff --git a/config.h.in b/config.h.in
index 723b3ad0253f..7576e15090cc 100644
--- a/config.h.in
+++ b/config.h.in
@@ -82,6 +82,10 @@
`SSL_COMP_get_compression_methods', and to 0 if you don't. */
#undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS
+/* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to
+ 0 if you don't. */
+#undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
+
/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
don't. */
#undef HAVE_DECL_STRLCAT
diff --git a/configure b/configure
index a4c011df476e..7b0a7e61622c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for unbound 1.5.4.
+# Generated by GNU Autoconf 2.69 for unbound 1.5.5.
#
# Report bugs to <unbound-bugs@nlnetlabs.nl>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='unbound'
PACKAGE_TARNAME='unbound'
-PACKAGE_VERSION='1.5.4'
-PACKAGE_STRING='unbound 1.5.4'
+PACKAGE_VERSION='1.5.5'
+PACKAGE_STRING='unbound 1.5.5'
PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl'
PACKAGE_URL=''
@@ -804,6 +804,8 @@ with_username
enable_checking
enable_debug
enable_flto
+enable_pie
+enable_relro_now
enable_shared
enable_static
with_pic
@@ -1389,7 +1391,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 unbound 1.5.4 to adapt to many kinds of systems.
+\`configure' configures unbound 1.5.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1454,7 +1456,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of unbound 1.5.4:";;
+ short | recursive ) echo "Configuration of unbound 1.5.5:";;
esac
cat <<\_ACEOF
@@ -1465,6 +1467,10 @@ Optional Features:
--enable-checking Enable warnings, asserts, makefile-dependencies
--enable-debug same as enable-checking
--disable-flto Disable link-time optimization (gcc specific option)
+ --enable-pie Enable Position-Independent Executable (eg. to fully
+ benefit from ASLR, small performance penalty)
+ --enable-relro-now Enable full relocation binding at load-time (RELRO
+ NOW, to protect GOT and .dtor areas)
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
@@ -1629,7 +1635,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-unbound configure 1.5.4
+unbound configure 1.5.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2338,7 +2344,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 unbound $as_me 1.5.4, which was
+It was created by unbound $as_me 1.5.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2690,11 +2696,11 @@ UNBOUND_VERSION_MAJOR=1
UNBOUND_VERSION_MINOR=5
-UNBOUND_VERSION_MICRO=4
+UNBOUND_VERSION_MICRO=5
LIBUNBOUND_CURRENT=5
-LIBUNBOUND_REVISION=7
+LIBUNBOUND_REVISION=8
LIBUNBOUND_AGE=3
# 1.0.0 had 0:12:0
# 1.0.1 had 0:13:0
@@ -2738,6 +2744,7 @@ LIBUNBOUND_AGE=3
# 1.5.2 had 5:5:3
# 1.5.3 had 5:6:3
# 1.5.4 had 5:7:3
+# 1.5.5 had 5:8:3
# Current -- the number of the binary API that we're implementing
# Revision -- which iteration of the implementation of the binary
@@ -5879,6 +5886,96 @@ rm -f core conftest.err conftest.$ac_objext \
fi
+ # Check whether --enable-pie was given.
+if test "${enable_pie+set}" = set; then :
+ enableval=$enable_pie;
+fi
+
+ if test "x$enable_pie" = "xyes"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports PIE" >&5
+$as_echo_n "checking if $CC supports PIE... " >&6; }
+ BAKLDFLAGS="$LDFLAGS"
+ BAKCFLAGS="$CFLAGS"
+ LDFLAGS="$LDFLAGS -pie"
+ CFLAGS="$CFLAGS -fPIE"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
+ LDFLAGS="$BAKLDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ fi
+ rm -f conftest conftest.c conftest.o
+
+else
+ LDFLAGS="$BAKLDFLAGS" ; CFLAGS="$BAKCFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+
+ # Check whether --enable-relro_now was given.
+if test "${enable_relro_now+set}" = set; then :
+ enableval=$enable_relro_now;
+fi
+
+ if test "x$enable_relro_now" = "xyes"; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Wl,-z,relro,-z,now" >&5
+$as_echo_n "checking if $CC supports -Wl,-z,relro,-z,now... " >&6; }
+ BAKLDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ if $CC $CFLAGS $LDFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
+ LDFLAGS="$BAKLDFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ fi
+ rm -f conftest conftest.c conftest.o
+
+else
+ LDFLAGS="$BAKLDFLAGS" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; }
if ${ac_cv_c_inline+:} false; then :
@@ -16101,7 +16198,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
as_fn_error $? "Python version >= 2.4.0 is required" "$LINENO" 5
fi
- PY_MAJOR_VERSION="`$PYTHON -c "import sys; print(sys.version_info.major)"`"
+ PY_MAJOR_VERSION="`$PYTHON -c \"import sys; print(sys.version_info[0])\"`"
# Have Python
@@ -16684,7 +16781,7 @@ rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LibreSSL" >&5
$as_echo_n "checking for LibreSSL... " >&6; }
-if grep OPENSSL_VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
+if grep VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -16845,6 +16942,36 @@ fi
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_SK_SSL_COMP_POP_FREE $ac_have_decl
_ACEOF
+ac_fn_c_check_decl "$LINENO" "SSL_CTX_set_ecdh_auto" "ac_cv_have_decl_SSL_CTX_set_ecdh_auto" "
+$ac_includes_default
+#ifdef HAVE_OPENSSL_ERR_H
+#include <openssl/err.h>
+#endif
+
+#ifdef HAVE_OPENSSL_RAND_H
+#include <openssl/rand.h>
+#endif
+
+#ifdef HAVE_OPENSSL_CONF_H
+#include <openssl/conf.h>
+#endif
+
+#ifdef HAVE_OPENSSL_ENGINE_H
+#include <openssl/engine.h>
+#endif
+#include <openssl/ssl.h>
+#include <openssl/evp.h>
+
+"
+if test "x$ac_cv_have_decl_SSL_CTX_set_ecdh_auto" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SSL_CTX_SET_ECDH_AUTO $ac_have_decl
+_ACEOF
fi
@@ -18890,7 +19017,7 @@ _ACEOF
-version=1.5.4
+version=1.5.5
date=`date +'%b %e, %Y'`
@@ -19405,7 +19532,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 unbound $as_me 1.5.4, which was
+This file was extended by unbound $as_me 1.5.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19471,7 +19598,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-unbound config.status 1.5.4
+unbound config.status 1.5.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 00145cf76f91..871ea7c993f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,14 +10,14 @@ sinclude(dnstap/dnstap.m4)
# must be numbers. ac_defun because of later processing
m4_define([VERSION_MAJOR],[1])
m4_define([VERSION_MINOR],[5])
-m4_define([VERSION_MICRO],[4])
+m4_define([VERSION_MICRO],[5])
AC_INIT(unbound, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), unbound-bugs@nlnetlabs.nl, unbound)
AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR])
AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR])
AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO])
LIBUNBOUND_CURRENT=5
-LIBUNBOUND_REVISION=7
+LIBUNBOUND_REVISION=8
LIBUNBOUND_AGE=3
# 1.0.0 had 0:12:0
# 1.0.1 had 0:13:0
@@ -61,6 +61,7 @@ LIBUNBOUND_AGE=3
# 1.5.2 had 5:5:3
# 1.5.3 had 5:6:3
# 1.5.4 had 5:7:3
+# 1.5.5 had 5:8:3
# Current -- the number of the binary API that we're implementing
# Revision -- which iteration of the implementation of the binary
@@ -246,6 +247,8 @@ case "$debug_enabled" in
;;
esac
ACX_CHECK_FLTO
+ACX_CHECK_PIE
+ACX_CHECK_RELRO_NOW
AC_C_INLINE
ACX_CHECK_FORMAT_ATTRIBUTE
@@ -475,7 +478,7 @@ if test x_$ub_test_python != x_no; then
AC_ERROR([Python version >= 2.4.0 is required])
fi
- PY_MAJOR_VERSION="`$PYTHON -c "import sys; print(sys.version_info.major)"`"
+ [PY_MAJOR_VERSION="`$PYTHON -c \"import sys; print(sys.version_info[0])\"`"]
AC_SUBST(PY_MAJOR_VERSION)
# Have Python
AC_DEFINE(HAVE_PYTHON,1,[Define if you have Python libraries and header files.])
@@ -566,7 +569,7 @@ if test $USE_NSS = "no"; then
ACX_WITH_SSL
ACX_LIB_SSL
AC_MSG_CHECKING([for LibreSSL])
-if grep OPENSSL_VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
+if grep VERSION_TEXT $ssldir/include/openssl/opensslv.h | grep "LibreSSL" >/dev/null; then
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_LIBRESSL], [1], [Define if we have LibreSSL])
# libressl provides these compat functions, but they may also be
@@ -578,7 +581,7 @@ fi
AC_CHECK_HEADERS([openssl/conf.h],,, [AC_INCLUDES_DEFAULT])
AC_CHECK_HEADERS([openssl/engine.h],,, [AC_INCLUDES_DEFAULT])
AC_CHECK_FUNCS([OPENSSL_config EVP_sha1 EVP_sha256 EVP_sha512 FIPS_mode])
-AC_CHECK_DECLS([SSL_COMP_get_compression_methods,sk_SSL_COMP_pop_free], [], [], [
+AC_CHECK_DECLS([SSL_COMP_get_compression_methods,sk_SSL_COMP_pop_free,SSL_CTX_set_ecdh_auto], [], [], [
AC_INCLUDES_DEFAULT
#ifdef HAVE_OPENSSL_ERR_H
#include <openssl/err.h>
diff --git a/daemon/daemon.c b/daemon/daemon.c
index 0cd37ae8231c..e763f724edb4 100644
--- a/daemon/daemon.c
+++ b/daemon/daemon.c
@@ -399,6 +399,12 @@ daemon_create_workers(struct daemon* daemon)
verbose(VERB_ALGO, "total of %d outgoing ports available", numport);
daemon->num = (daemon->cfg->num_threads?daemon->cfg->num_threads:1);
+ if(daemon->reuseport && (int)daemon->num < (int)daemon->num_ports) {
+ log_warn("cannot reduce num-threads to %d because so-reuseport "
+ "so continuing with %d threads.", (int)daemon->num,
+ (int)daemon->num_ports);
+ daemon->num = (int)daemon->num_ports;
+ }
daemon->workers = (struct worker**)calloc((size_t)daemon->num,
sizeof(struct worker*));
if(daemon->cfg->dnstap) {
@@ -464,7 +470,7 @@ thread_start(void* arg)
#endif
#ifdef SO_REUSEPORT
if(worker->daemon->cfg->so_reuseport)
- port_num = worker->thread_num;
+ port_num = worker->thread_num % worker->daemon->num_ports;
else
port_num = 0;
#endif
diff --git a/daemon/remote.c b/daemon/remote.c
index 93d0eda28b86..c16e4e521c44 100644
--- a/daemon/remote.c
+++ b/daemon/remote.c
@@ -243,9 +243,9 @@ daemon_remote_create(struct config_file* cfg)
goto setup_error;
}
verbose(VERB_ALGO, "setup SSL certificates");
- if (!SSL_CTX_use_certificate_file(rc->ctx,s_cert,SSL_FILETYPE_PEM)) {
+ if (!SSL_CTX_use_certificate_chain_file(rc->ctx,s_cert)) {
log_err("Error for server-cert-file: %s", s_cert);
- log_crypto_err("Error in SSL_CTX use_certificate_file");
+ log_crypto_err("Error in SSL_CTX use_certificate_chain_file");
goto setup_error;
}
if(!SSL_CTX_use_PrivateKey_file(rc->ctx,s_key,SSL_FILETYPE_PEM)) {
@@ -258,6 +258,23 @@ daemon_remote_create(struct config_file* cfg)
log_crypto_err("Error in SSL_CTX check_private_key");
goto setup_error;
}
+#if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
+ if(!SSL_CTX_set_ecdh_auto(rc->ctx,1)) {
+ log_crypto_err("Error in SSL_CTX_ecdh_auto, not enabling ECDHE");
+ }
+#elif defined(USE_ECDSA)
+ if(1) {
+ EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
+ if (!ecdh) {
+ log_crypto_err("could not find p256, not enabling ECDHE");
+ } else {
+ if (1 != SSL_CTX_set_tmp_ecdh (rc->ctx, ecdh)) {
+ log_crypto_err("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE");
+ }
+ EC_KEY_free (ecdh);
+ }
+ }
+#endif
if(!SSL_CTX_load_verify_locations(rc->ctx, s_cert, NULL)) {
log_crypto_err("Error setting up SSL_CTX verify locations");
setup_error:
@@ -1242,8 +1259,6 @@ struct del_info {
size_t len;
/** labels */
int labs;
- /** now */
- time_t now;
/** time to invalidate to */
time_t expired;
/** number of rrsets removed */
@@ -1272,7 +1287,7 @@ infra_del_host(struct lruhash_entry* e, void* arg)
d->timeout_AAAA = 0;
d->timeout_other = 0;
rtt_init(&d->rtt);
- if(d->ttl >= inf->now) {
+ if(d->ttl > inf->expired) {
d->ttl = inf->expired;
inf->num_keys++;
}
@@ -1301,7 +1316,6 @@ do_flush_infra(SSL* ssl, struct worker* worker, char* arg)
inf.name = 0;
inf.len = 0;
inf.labs = 0;
- inf.now = *worker->env.now;
inf.expired = *worker->env.now;
inf.expired -= 3; /* handle 3 seconds skew between threads */
inf.num_rrsets = 0;
@@ -1332,7 +1346,7 @@ zone_del_rrset(struct lruhash_entry* e, void* arg)
if(dname_subdomain_c(k->rk.dname, inf->name)) {
struct packed_rrset_data* d =
(struct packed_rrset_data*)e->data;
- if(d->ttl >= inf->now) {
+ if(d->ttl > inf->expired) {
d->ttl = inf->expired;
inf->num_rrsets++;
}
@@ -1348,7 +1362,7 @@ zone_del_msg(struct lruhash_entry* e, void* arg)
struct msgreply_entry* k = (struct msgreply_entry*)e->key;
if(dname_subdomain_c(k->key.qname, inf->name)) {
struct reply_info* d = (struct reply_info*)e->data;
- if(d->ttl >= inf->now) {
+ if(d->ttl > inf->expired) {
d->ttl = inf->expired;
inf->num_msgs++;
}
@@ -1364,7 +1378,7 @@ zone_del_kcache(struct lruhash_entry* e, void* arg)
struct key_entry_key* k = (struct key_entry_key*)e->key;
if(dname_subdomain_c(k->name, inf->name)) {
struct key_entry_data* d = (struct key_entry_data*)e->data;
- if(d->ttl >= inf->now) {
+ if(d->ttl > inf->expired) {
d->ttl = inf->expired;
inf->num_keys++;
}
@@ -1387,7 +1401,6 @@ do_flush_zone(SSL* ssl, struct worker* worker, char* arg)
inf.name = nm;
inf.len = nmlen;
inf.labs = nmlabs;
- inf.now = *worker->env.now;
inf.expired = *worker->env.now;
inf.expired -= 3; /* handle 3 seconds skew between threads */
inf.num_rrsets = 0;
@@ -1457,7 +1470,6 @@ do_flush_bogus(SSL* ssl, struct worker* worker)
struct del_info inf;
/* what we do is to set them all expired */
inf.worker = worker;
- inf.now = *worker->env.now;
inf.expired = *worker->env.now;
inf.expired -= 3; /* handle 3 seconds skew between threads */
inf.num_rrsets = 0;
@@ -1533,7 +1545,6 @@ do_flush_negative(SSL* ssl, struct worker* worker)
struct del_info inf;
/* what we do is to set them all expired */
inf.worker = worker;
- inf.now = *worker->env.now;
inf.expired = *worker->env.now;
inf.expired -= 3; /* handle 3 seconds skew between threads */
inf.num_rrsets = 0;
@@ -1683,6 +1694,7 @@ parse_delegpt(SSL* ssl, char* args, uint8_t* nm, int allow_names)
}
}
}
+ dp->has_parent_side_NS = 1;
return dp;
}
@@ -2265,11 +2277,17 @@ do_list_local_data(SSL* ssl, struct worker* worker)
for(i=0; i<d->count + d->rrsig_count; i++) {
if(!packed_rr_to_string(p->rrset, i,
0, s, slen)) {
- if(!ssl_printf(ssl, "BADRR\n"))
+ if(!ssl_printf(ssl, "BADRR\n")) {
+ lock_rw_unlock(&z->lock);
+ lock_rw_unlock(&zones->lock);
return;
+ }
}
- if(!ssl_printf(ssl, "%s\n", s))
+ if(!ssl_printf(ssl, "%s\n", s)) {
+ lock_rw_unlock(&z->lock);
+ lock_rw_unlock(&zones->lock);
return;
+ }
}
}
}
diff --git a/doc/Changelog b/doc/Changelog
index 525bb365e3d9..3f3b245940bd 100644
--- a/doc/Changelog
+++ b/doc/Changelog
@@ -1,3 +1,92 @@
+28 September 2015: Wouter
+ - MAX_TARGET_COUNT increased to 64, to fix up sporadic resolution
+ failures.
+ - tag for 1.5.5rc1 release.
+ - makedist.sh: pgp sig echo commands.
+
+25 September 2015: Wouter
+ - Fix unbound-control flush that does not succeed in removing data.
+
+22 September 2015: Wouter
+ - Fix config globbed include chroot treatment, this fixes reload of
+ globs (patch from Dag-Erling Smørgrav).
+ - iana portlist update.
+ - Fix #702: New IPs for for h.root-servers.net.
+ - Remove confusion comment from canonical_compare() function.
+ - Fix #705: ub_ctx_set_fwd() return value mishandled on windows.
+ - testbound selftest also works in non-debug mode.
+ - Fix minor error in unbound.conf.5.in
+ - Fix unbound.conf(5) access-control description for precedence
+ and default.
+
+31 August 2015: Wouter
+ - changed windows setup compression to be more transparent.
+
+28 August 2015: Wouter
+ - Fix #697: Get PY_MAJOR_VERSION failure at configure for python
+ 2.4 to 2.6.
+ - Feature #699: --enable-pie option to that builds PIE binary.
+ - Feature #700: --enable-relro-now option that enables full read-only
+ relocation.
+
+24 August 2015: Wouter
+ - Fix deadlock for local data add and zone add when unbound-control
+ list_local_data printout is interrupted.
+ - iana portlist update.
+ - Change default of harden-algo-downgrade to off. This is lenient
+ for algorithm rollover.
+
+13 August 2015: Wouter
+ - 5011 implementation does not insist on all algorithms, when
+ harden-algo-downgrade is turned off.
+ - Reap the child process that libunbound spawns.
+
+11 August 2015: Wouter
+ - Fix #694: configure script does not detect LibreSSL 2.2.2
+
+4 August 2015: Wouter
+ - Document that local-zone nodefault matches exactly and transparent
+ can be used to release a subzone.
+
+3 August 2015: Wouter
+ - Document in the manual more text about configuring locally served
+ zones.
+ - Fix 5011 anchor update timer after reload.
+ - Fix mktime in unbound-anchor not using UTC.
+
+30 July 2015: Wouter
+ - please afl-gcc (llvm) for uninitialised variable warning.
+ - Added permit-small-holddown config to debug fast 5011 rollover.
+
+24 July 2015: Wouter
+ - Fix #690: Reload fails when so-reuseport is yes after changing
+ num-threads.
+ - iana portlist update.
+
+21 July 2015: Wouter
+ - Fix configure to detect SSL_CTX_set_ecdh_auto.
+ - iana portlist update.
+
+20 July 2015: Wouter
+ - Enable ECDHE for servers. Where available, use
+ SSL_CTX_set_ecdh_auto() for TLS-wrapped server configurations to
+ enable ECDHE. Otherwise, manually offer curve p256.
+ Client connections should automatically use ECDHE when available.
+ (thanks Daniel Kahn Gillmor)
+
+18 July 2015: Willem
+ - Allow certificate chain files to allow for intermediate certificates.
+ (thanks Daniel Kahn Gillmor)
+
+13 July 2015: Wouter
+ - makedist produces sha1 and sha256 files for created binaries too.
+
+9 July 2015: Wouter
+ - 1.5.4 release tag
+ - trunk has 1.5.5 in development.
+ - Fix #681: Setting forwarders with unbound-control forward
+ implicitly turns on forward-first.
+
29 June 2015: Wouter
- iana portlist update.
- Fix alloc with log for allocation size checks.
diff --git a/doc/README b/doc/README
index e192333dc986..c8bddcccf838 100644
--- a/doc/README
+++ b/doc/README
@@ -1,4 +1,4 @@
-README for Unbound 1.5.4
+README for Unbound 1.5.5
Copyright 2007 NLnet Labs
http://unbound.net
diff --git a/doc/example.conf.in b/doc/example.conf.in
index 677598767bf5..399aa8048e79 100644
--- a/doc/example.conf.in
+++ b/doc/example.conf.in
@@ -1,7 +1,7 @@
#
# Example configuration file.
#
-# See unbound.conf(5) man page, version 1.5.4.
+# See unbound.conf(5) man page, version 1.5.5.
#
# this is a comment.
@@ -294,7 +294,7 @@ server:
# Harden against algorithm downgrade when multiple algorithms are
# advertised in the DS record. If no, allows the weakest algorithm
# to validate the zone.
- # harden-algo-downgrade: yes
+ # harden-algo-downgrade: no
# Use 0x20-encoded random bits in the query to foil spoof attempts.
# This feature is an experimental implementation of draft dns-0x20.
@@ -444,6 +444,9 @@ server:
# If the value 0 is given, missing anchors are not removed.
# keep-missing: 31622400 # 366 days
+ # debug option that allows very small holddown times for key rollover
+ # permit-small-holddown: no
+
# the amount of memory to use for the key cache.
# plain value in bytes or you can append k, m or G. default is "4Mb".
# key-cache-size: 4m
@@ -623,6 +626,8 @@ remote-control:
# nameservers by hostname or by ipaddress. If you set stub-prime to yes,
# the list is treated as priming hints (default is no).
# With stub-first yes, it attempts without the stub if it fails.
+# Consider adding domain-insecure: name and local-zone: name nodefault
+# to the server: section if the stub is a locally served zone.
# stub-zone:
# name: "example.com"
# stub-addr: 192.0.2.68
diff --git a/doc/libunbound.3.in b/doc/libunbound.3.in
index 7ef77865b6e7..9ef367fdda4b 100644
--- a/doc/libunbound.3.in
+++ b/doc/libunbound.3.in
@@ -1,4 +1,4 @@
-.TH "libunbound" "3" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "libunbound" "3" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" libunbound.3 -- unbound library functions manual
.\"
@@ -42,7 +42,7 @@
.B ub_ctx_zone_remove,
.B ub_ctx_data_add,
.B ub_ctx_data_remove
-\- Unbound DNS validating resolver 1.5.4 functions.
+\- Unbound DNS validating resolver 1.5.5 functions.
.SH "SYNOPSIS"
.B #include <unbound.h>
.LP
diff --git a/doc/unbound-anchor.8.in b/doc/unbound-anchor.8.in
index 4632cf71d681..e89be5b44ff1 100644
--- a/doc/unbound-anchor.8.in
+++ b/doc/unbound-anchor.8.in
@@ -1,4 +1,4 @@
-.TH "unbound-anchor" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound-anchor" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound-anchor.8 -- unbound anchor maintenance utility manual
.\"
diff --git a/doc/unbound-checkconf.8.in b/doc/unbound-checkconf.8.in
index e1a94cf7a812..234a04a48e84 100644
--- a/doc/unbound-checkconf.8.in
+++ b/doc/unbound-checkconf.8.in
@@ -1,4 +1,4 @@
-.TH "unbound-checkconf" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound-checkconf" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound-checkconf.8 -- unbound configuration checker manual
.\"
diff --git a/doc/unbound-control.8.in b/doc/unbound-control.8.in
index 057eb0336fe4..eefd207df834 100644
--- a/doc/unbound-control.8.in
+++ b/doc/unbound-control.8.in
@@ -1,4 +1,4 @@
-.TH "unbound-control" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound-control" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound-control.8 -- unbound remote control manual
.\"
diff --git a/doc/unbound-host.1.in b/doc/unbound-host.1.in
index 568dbcd407df..a4742d7f5ad9 100644
--- a/doc/unbound-host.1.in
+++ b/doc/unbound-host.1.in
@@ -1,4 +1,4 @@
-.TH "unbound\-host" "1" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound\-host" "1" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound-host.1 -- unbound DNS lookup utility
.\"
diff --git a/doc/unbound.8.in b/doc/unbound.8.in
index e4ff3b8e9b14..df9baa04e20a 100644
--- a/doc/unbound.8.in
+++ b/doc/unbound.8.in
@@ -1,4 +1,4 @@
-.TH "unbound" "8" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound" "8" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound.8 -- unbound manual
.\"
@@ -9,7 +9,7 @@
.\"
.SH "NAME"
.B unbound
-\- Unbound DNS validating resolver 1.5.4.
+\- Unbound DNS validating resolver 1.5.5.
.SH "SYNOPSIS"
.B unbound
.RB [ \-h ]
diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in
index cd57ab83d3d8..c497eeebf33f 100644
--- a/doc/unbound.conf.5.in
+++ b/doc/unbound.conf.5.in
@@ -1,4 +1,4 @@
-.TH "unbound.conf" "5" "Jul 9, 2015" "NLnet Labs" "unbound 1.5.4"
+.TH "unbound.conf" "5" "Oct 6, 2015" "NLnet Labs" "unbound 1.5.5"
.\"
.\" unbound.conf.5 -- unbound.conf manual
.\"
@@ -296,7 +296,7 @@ trust (very large) TTL values.
.TP
.B cache\-min\-ttl: \fI<seconds>
Time to live minimum for RRsets and messages in the cache. Default is 0.
-If the the minimum kicks in, the data is cached for longer than the domain
+If the minimum kicks in, the data is cached for longer than the domain
owner intended, and thus less queries are made to look up the data.
Zero makes sure the data in the cache is as the domain owner intended,
higher values, especially more than an hour or so, can lead to trouble as
@@ -373,6 +373,7 @@ a daemon. Default is yes.
The netblock is given as an IP4 or IP6 address with /size appended for a
classless network block. The action can be \fIdeny\fR, \fIrefuse\fR,
\fIallow\fR, \fIallow_snoop\fR, \fIdeny_non_local\fR or \fIrefuse_non_local\fR.
+The most specific netblock match is used, if none match \fIdeny\fR is used.
.IP
The action \fIdeny\fR stops queries from hosts from that netblock.
.IP
@@ -567,7 +568,7 @@ to increase the max depth that is checked to.
.B harden\-algo\-downgrade: \fI<yes or no>
Harden against algorithm downgrade when multiple algorithms are
advertised in the DS record. If no, allows the weakest algorithm to
-validate the zone. Default is yes. Zone signers must produce zones
+validate the zone. Default is no. Zone signers must produce zones
that allow this feature to work, but sometimes they do not, and turning
this option off avoids that validation failure.
.TP
@@ -801,6 +802,10 @@ mechanism work with zones that perform regular (non\-5011) rollovers.
The default is 366 days. The value 0 does not remove missing anchors,
as per the RFC.
.TP
+.B permit\-small\-holddown: \fI<yes or no>
+Debug option that allows the autotrust 5011 rollover timers to assume
+very small values. Default is no.
+.TP
.B key\-cache\-size: \fI<number>
Number of bytes size of the key cache. Default is 4 megabytes.
A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes, megabytes
@@ -895,7 +900,8 @@ infected machines without answering the queries.
Used to turn off default contents for AS112 zones. The other types
also turn off default contents for the zone. The 'nodefault' option
has no other effect than turning off default contents for the
-given zone.
+given zone. Use \fInodefault\fR if you use exactly that zone, if you want to
+use a subzone, use \fItransparent\fR.
.P
The default zones are localhost, reverse 127.0.0.1 and ::1, and the AS112
zones. The AS112 zones are reverse DNS zones for private use and reserved
@@ -1124,6 +1130,12 @@ bit on replies for the private zone (authoritative servers do not set the
AD bit). This setup makes unbound capable of answering queries for the
private zone, and can even set the AD bit ('authentic'), but the AA
('authoritative') bit is not set on these replies.
+.P
+Consider adding \fBserver:\fR statements for \fBdomain\-insecure:\fR and
+for \fBlocal\-zone:\fI name nodefault\fR for the zone if it is a locally
+served zone. The insecure clause stops DNSSEC from invalidating the
+zone. The local zone nodefault (or \fItransparent\fR) clause makes the
+(reverse\-) zone bypass unbound's filtering of RFC1918 zones.
.TP
.B name: \fI<domain name>
Name of the stub zone.
diff --git a/iterator/iter_hints.c b/iterator/iter_hints.c
index 25cae0723751..d7f8158d11d7 100644
--- a/iterator/iter_hints.c
+++ b/iterator/iter_hints.c
@@ -135,7 +135,7 @@ compile_time_root_prime(int do_ip4, int do_ip6)
if(!ah(dp, "E.ROOT-SERVERS.NET.", "192.203.230.10")) goto failed;
if(!ah(dp, "F.ROOT-SERVERS.NET.", "192.5.5.241")) goto failed;
if(!ah(dp, "G.ROOT-SERVERS.NET.", "192.112.36.4")) goto failed;
- if(!ah(dp, "H.ROOT-SERVERS.NET.", "128.63.2.53")) goto failed;
+ if(!ah(dp, "H.ROOT-SERVERS.NET.", "198.97.190.53")) goto failed;
if(!ah(dp, "I.ROOT-SERVERS.NET.", "192.36.148.17")) goto failed;
if(!ah(dp, "J.ROOT-SERVERS.NET.", "192.58.128.30")) goto failed;
if(!ah(dp, "K.ROOT-SERVERS.NET.", "193.0.14.129")) goto failed;
@@ -148,7 +148,7 @@ compile_time_root_prime(int do_ip4, int do_ip6)
if(!ah(dp, "C.ROOT-SERVERS.NET.", "2001:500:2::c")) goto failed;
if(!ah(dp, "D.ROOT-SERVERS.NET.", "2001:500:2d::d")) goto failed;
if(!ah(dp, "F.ROOT-SERVERS.NET.", "2001:500:2f::f")) goto failed;
- if(!ah(dp, "H.ROOT-SERVERS.NET.", "2001:500:1::803f:235")) goto failed;
+ if(!ah(dp, "H.ROOT-SERVERS.NET.", "2001:500:1::53")) goto failed;
if(!ah(dp, "I.ROOT-SERVERS.NET.", "2001:7fe::53")) goto failed;
if(!ah(dp, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) goto failed;
if(!ah(dp, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) goto failed;
diff --git a/iterator/iterator.h b/iterator/iterator.h
index aaf0fb3834b7..9cf53b2b25a2 100644
--- a/iterator/iterator.h
+++ b/iterator/iterator.h
@@ -54,7 +54,7 @@ struct iter_priv;
struct rbtree_t;
/** max number of targets spawned for a query and its subqueries */
-#define MAX_TARGET_COUNT 32
+#define MAX_TARGET_COUNT 64
/** max number of query restarts. Determines max number of CNAME chain. */
#define MAX_RESTART_COUNT 8
/** max number of referrals. Makes sure resolver does not run away */
diff --git a/libunbound/libunbound.c b/libunbound/libunbound.c
index b3a4c2ba77f6..7c2509ba8d50 100644
--- a/libunbound/libunbound.c
+++ b/libunbound/libunbound.c
@@ -65,6 +65,9 @@
#ifdef HAVE_PTHREAD
#include <signal.h>
#endif
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
#if defined(UB_ON_WINDOWS) && defined (HAVE_WINDOWS_H)
#include <windows.h>
@@ -218,6 +221,12 @@ static void ub_stop_bg(struct ub_ctx* ctx)
ub_thread_join(ctx->bg_tid);
} else {
lock_basic_unlock(&ctx->cfglock);
+#ifndef UB_ON_WINDOWS
+ if(waitpid(ctx->bg_pid, NULL, 0) == -1) {
+ if(verbosity > 2)
+ log_err("waitpid: %s", strerror(errno));
+ }
+#endif
}
}
else {
@@ -946,7 +955,7 @@ ub_ctx_resolvconf(struct ub_ctx* ctx, const char* fname)
while (ptr) {
numserv++;
if((retval=ub_ctx_set_fwd(ctx,
- ptr->IpAddress.String)!=0)) {
+ ptr->IpAddress.String))!=0) {
free(info);
return retval;
}
diff --git a/sldns/rrdef.h b/sldns/rrdef.h
index 678d2bc791e2..ab65943a59ec 100644
--- a/sldns/rrdef.h
+++ b/sldns/rrdef.h
@@ -342,7 +342,7 @@ enum sldns_enum_rdf_type
/** A <character-string> encoding of the value field as specified
* [RFC1035], Section 5.1., encoded as remaining rdata.
- * For CAA.
+ * For CAA, URI.
*/
LDNS_RDF_TYPE_LONG_STR,
diff --git a/smallapp/unbound-anchor.c b/smallapp/unbound-anchor.c
index 576a30f646a9..92bfa842877e 100644
--- a/smallapp/unbound-anchor.c
+++ b/smallapp/unbound-anchor.c
@@ -117,6 +117,7 @@
#include "config.h"
#include "libunbound/unbound.h"
#include "sldns/rrdef.h"
+#include "sldns/parseutil.h"
#include <expat.h>
#ifndef HAVE_EXPAT_H
#error "need libexpat to parse root-anchors.xml file."
@@ -1328,7 +1329,7 @@ xml_convertdate(const char* str)
/* but ignore, (lenient) */
}
- t = mktime(&tm);
+ t = sldns_mktime_from_utc(&tm);
if(t == (time_t)-1) {
if(verb) printf("xml_convertdate mktime failure\n");
return 0;
diff --git a/smallapp/unbound-control.c b/smallapp/unbound-control.c
index d4b147d67095..571b4d0b08d2 100644
--- a/smallapp/unbound-control.c
+++ b/smallapp/unbound-control.c
@@ -161,7 +161,7 @@ setup_ctx(struct config_file* cfg)
if(cfg->remote_control_use_cert) {
if(!(SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3) & SSL_OP_NO_SSLv3))
ssl_err("could not set SSL_OP_NO_SSLv3");
- if(!SSL_CTX_use_certificate_file(ctx,c_cert,SSL_FILETYPE_PEM) ||
+ if(!SSL_CTX_use_certificate_chain_file(ctx,c_cert) ||
!SSL_CTX_use_PrivateKey_file(ctx,c_key,SSL_FILETYPE_PEM)
|| !SSL_CTX_check_private_key(ctx))
ssl_err("Error setting up SSL_CTX client key and cert");
diff --git a/testcode/petal.c b/testcode/petal.c
index 964735b39ddc..a54181c372f1 100644
--- a/testcode/petal.c
+++ b/testcode/petal.c
@@ -236,12 +236,28 @@ setup_ctx(char* key, char* cert)
if(!ctx) print_exit("out of memory");
(void)SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
(void)SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3);
- if(!SSL_CTX_use_certificate_file(ctx, cert, SSL_FILETYPE_PEM))
+ if(!SSL_CTX_use_certificate_chain_file(ctx, cert))
print_exit("cannot read cert");
if(!SSL_CTX_use_PrivateKey_file(ctx, key, SSL_FILETYPE_PEM))
print_exit("cannot read key");
if(!SSL_CTX_check_private_key(ctx))
print_exit("private key is not correct");
+#if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
+ if (!SSL_CTX_set_ecdh_auto(ctx,1))
+ if(verb>=1) printf("failed to set_ecdh_auto, not enabling ECDHE\n");
+#elif defined(USE_ECDSA)
+ if(1) {
+ EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
+ if (!ecdh) {
+ if(verb>=1) printf("could not find p256, not enabling ECDHE\n");
+ } else {
+ if (1 != SSL_CTX_set_tmp_ecdh (ctx, ecdh)) {
+ if(verb>=1) printf("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE\n");
+ }
+ EC_KEY_free(ecdh);
+ }
+ }
+#endif
if(!SSL_CTX_load_verify_locations(ctx, cert, NULL))
print_exit("cannot load cert verify locations");
return ctx;
diff --git a/testcode/replay.c b/testcode/replay.c
index 01b17a7f7d0c..8a88814e765a 100644
--- a/testcode/replay.c
+++ b/testcode/replay.c
@@ -909,118 +909,127 @@ macro_assign(rbtree_t* store, char* name, char* value)
return x->value != NULL;
}
+/* testbound assert function for selftest. counts the number of tests */
+#define tb_assert(x) \
+ do { if(!(x)) fatal_exit("%s:%d: %s: assertion %s failed", \
+ __FILE__, __LINE__, __func__, #x); \
+ num_asserts++; \
+ } while(0);
+
void testbound_selftest(void)
{
/* test the macro store */
rbtree_t* store = macro_store_create();
char* v;
int r;
- log_assert(store);
+ int num_asserts = 0;
+ tb_assert(store);
v = macro_lookup(store, "bla");
- log_assert(strcmp(v, "") == 0);
+ tb_assert(strcmp(v, "") == 0);
free(v);
v = macro_lookup(store, "vlerk");
- log_assert(strcmp(v, "") == 0);
+ tb_assert(strcmp(v, "") == 0);
free(v);
r = macro_assign(store, "bla", "waarde1");
- log_assert(r);
+ tb_assert(r);
v = macro_lookup(store, "vlerk");
- log_assert(strcmp(v, "") == 0);
+ tb_assert(strcmp(v, "") == 0);
free(v);
v = macro_lookup(store, "bla");
- log_assert(strcmp(v, "waarde1") == 0);
+ tb_assert(strcmp(v, "waarde1") == 0);
free(v);
r = macro_assign(store, "vlerk", "kanteel");
- log_assert(r);
+ tb_assert(r);
v = macro_lookup(store, "bla");
- log_assert(strcmp(v, "waarde1") == 0);
+ tb_assert(strcmp(v, "waarde1") == 0);
free(v);
v = macro_lookup(store, "vlerk");
- log_assert(strcmp(v, "kanteel") == 0);
+ tb_assert(strcmp(v, "kanteel") == 0);
free(v);
r = macro_assign(store, "bla", "ww");
- log_assert(r);
+ tb_assert(r);
v = macro_lookup(store, "bla");
- log_assert(strcmp(v, "ww") == 0);
+ tb_assert(strcmp(v, "ww") == 0);
free(v);
- log_assert( macro_length("}") == 1);
- log_assert( macro_length("blabla}") == 7);
- log_assert( macro_length("bla${zoink}bla}") == 7+8);
- log_assert( macro_length("bla${zoink}${bla}bla}") == 7+8+6);
+ tb_assert( macro_length("}") == 1);
+ tb_assert( macro_length("blabla}") == 7);
+ tb_assert( macro_length("bla${zoink}bla}") == 7+8);
+ tb_assert( macro_length("bla${zoink}${bla}bla}") == 7+8+6);
v = macro_process(store, NULL, "");
- log_assert( v && strcmp(v, "") == 0);
+ tb_assert( v && strcmp(v, "") == 0);
free(v);
v = macro_process(store, NULL, "${}");
- log_assert( v && strcmp(v, "") == 0);
+ tb_assert( v && strcmp(v, "") == 0);
free(v);
v = macro_process(store, NULL, "blabla ${} dinges");
- log_assert( v && strcmp(v, "blabla dinges") == 0);
+ tb_assert( v && strcmp(v, "blabla dinges") == 0);
free(v);
v = macro_process(store, NULL, "1${$bla}2${$bla}3");
- log_assert( v && strcmp(v, "1ww2ww3") == 0);
+ tb_assert( v && strcmp(v, "1ww2ww3") == 0);
free(v);
v = macro_process(store, NULL, "it is ${ctime 123456}");
- log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
+ tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
free(v);
r = macro_assign(store, "t1", "123456");
- log_assert(r);
+ tb_assert(r);
v = macro_process(store, NULL, "it is ${ctime ${$t1}}");
- log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
+ tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
free(v);
v = macro_process(store, NULL, "it is ${ctime $t1}");
- log_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
+ tb_assert( v && strcmp(v, "it is Fri Jan 2 10:17:36 1970") == 0);
free(v);
r = macro_assign(store, "x", "1");
- log_assert(r);
+ tb_assert(r);
r = macro_assign(store, "y", "2");
- log_assert(r);
+ tb_assert(r);
v = macro_process(store, NULL, "${$x + $x}");
- log_assert( v && strcmp(v, "2") == 0);
+ tb_assert( v && strcmp(v, "2") == 0);
free(v);
v = macro_process(store, NULL, "${$x - $x}");
- log_assert( v && strcmp(v, "0") == 0);
+ tb_assert( v && strcmp(v, "0") == 0);
free(v);
v = macro_process(store, NULL, "${$y * $y}");
- log_assert( v && strcmp(v, "4") == 0);
+ tb_assert( v && strcmp(v, "4") == 0);
free(v);
v = macro_process(store, NULL, "${32 / $y + $x + $y}");
- log_assert( v && strcmp(v, "19") == 0);
+ tb_assert( v && strcmp(v, "19") == 0);
free(v);
v = macro_process(store, NULL, "${32 / ${$y+$y} + ${${100*3}/3}}");
- log_assert( v && strcmp(v, "108") == 0);
+ tb_assert( v && strcmp(v, "108") == 0);
free(v);
v = macro_process(store, NULL, "${1 2 33 2 1}");
- log_assert( v && strcmp(v, "1 2 33 2 1") == 0);
+ tb_assert( v && strcmp(v, "1 2 33 2 1") == 0);
free(v);
v = macro_process(store, NULL, "${123 3 + 5}");
- log_assert( v && strcmp(v, "123 8") == 0);
+ tb_assert( v && strcmp(v, "123 8") == 0);
free(v);
v = macro_process(store, NULL, "${123 glug 3 + 5}");
- log_assert( v && strcmp(v, "123 glug 8") == 0);
+ tb_assert( v && strcmp(v, "123 glug 8") == 0);
free(v);
macro_store_delete(store);
+ printf("selftest successful (%d checks).\n", num_asserts);
}
diff --git a/testcode/testbound.c b/testcode/testbound.c
index fa361c4ead64..b297f477476e 100644
--- a/testcode/testbound.c
+++ b/testcode/testbound.c
@@ -284,7 +284,6 @@ main(int argc, char* argv[])
case 's':
free(pass_argv[1]);
testbound_selftest();
- printf("selftest successful\n");
exit(0);
case '2':
#if (defined(HAVE_EVP_SHA256) || defined(HAVE_NSS)) && defined(USE_SHA2)
diff --git a/testdata/val_ta_algo_missing.rpl b/testdata/val_ta_algo_missing.rpl
index 67e5fa23518f..d8c89807b2b0 100644
--- a/testdata/val_ta_algo_missing.rpl
+++ b/testdata/val_ta_algo_missing.rpl
@@ -6,6 +6,7 @@ server:
trust-anchor: "example.com. 3600 IN DS 30899 7 1 d4bf9d2e10f6d76840d42ef5913022abcd0bf512"
val-override-date: "20070916134226"
target-fetch-policy: "0 0 0 0 0"
+ harden-algo-downgrade: yes
stub-zone:
name: "."
diff --git a/util/config_file.c b/util/config_file.c
index 5d31301fa002..211fffba4b88 100644
--- a/util/config_file.c
+++ b/util/config_file.c
@@ -70,6 +70,8 @@
uid_t cfg_uid = (uid_t)-1;
/** from cfg username, after daemonise setup performed */
gid_t cfg_gid = (gid_t)-1;
+/** for debug allow small timeout values for fast rollovers */
+int autr_permit_small_holddown = 0;
/** global config during parsing */
struct config_parser_state* cfg_parser = 0;
@@ -172,7 +174,7 @@ config_create(void)
cfg->harden_dnssec_stripped = 1;
cfg->harden_below_nxdomain = 0;
cfg->harden_referral_path = 0;
- cfg->harden_algo_downgrade = 1;
+ cfg->harden_algo_downgrade = 0;
cfg->use_caps_bits_for_id = 0;
cfg->caps_whitelist = NULL;
cfg->private_address = NULL;
@@ -200,6 +202,7 @@ config_create(void)
cfg->add_holddown = 30*24*3600;
cfg->del_holddown = 30*24*3600;
cfg->keep_missing = 366*24*3600; /* one year plus a little leeway */
+ cfg->permit_small_holddown = 0;
cfg->key_cache_size = 4 * 1024 * 1024;
cfg->key_cache_slabs = 4;
cfg->neg_cache_size = 1 * 1024 * 1024;
@@ -444,6 +447,9 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_UNSIGNED_OR_ZERO("add-holddown:", add_holddown)
else S_UNSIGNED_OR_ZERO("del-holddown:", del_holddown)
else S_UNSIGNED_OR_ZERO("keep-missing:", keep_missing)
+ else if(strcmp(opt, "permit-small-holddown:") == 0)
+ { IS_YES_OR_NO; cfg->permit_small_holddown = (strcmp(val, "yes") == 0);
+ autr_permit_small_holddown = cfg->permit_small_holddown; }
else S_MEMSIZE("key-cache-size:", key_cache_size)
else S_POW2("key-cache-slabs:", key_cache_slabs)
else S_MEMSIZE("neg-cache-size:", neg_cache_size)
@@ -705,6 +711,7 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_UNS(opt, "add-holddown", add_holddown)
else O_UNS(opt, "del-holddown", del_holddown)
else O_UNS(opt, "keep-missing", keep_missing)
+ else O_YNO(opt, "permit-small-holddown", permit_small_holddown)
else O_MEM(opt, "key-cache-size", key_cache_size)
else O_DEC(opt, "key-cache-slabs", key_cache_slabs)
else O_MEM(opt, "neg-cache-size", neg_cache_size)
@@ -1243,6 +1250,7 @@ config_apply(struct config_file* config)
MINIMAL_RESPONSES = config->minimal_responses;
RRSET_ROUNDROBIN = config->rrset_roundrobin;
log_set_time_asc(config->log_time_ascii);
+ autr_permit_small_holddown = config->permit_small_holddown;
}
void config_lookup_uid(struct config_file* cfg)
diff --git a/util/config_file.h b/util/config_file.h
index 1c3c31dcf136..99b15e06ebcd 100644
--- a/util/config_file.h
+++ b/util/config_file.h
@@ -269,6 +269,8 @@ struct config_file {
unsigned int del_holddown;
/** autotrust keep_missing time, in seconds. 0 is forever. */
unsigned int keep_missing;
+ /** permit small holddown values, allowing 5011 rollover very fast */
+ int permit_small_holddown;
/** size of the key cache */
size_t key_cache_size;
@@ -368,6 +370,8 @@ struct config_file {
extern uid_t cfg_uid;
/** from cfg username, after daemonise setup performed */
extern gid_t cfg_gid;
+/** debug and enable small timeouts */
+extern int autr_permit_small_holddown;
/**
* Stub config options
diff --git a/util/configlexer.c b/util/configlexer.c
index e9fa947bf759..449ebd7bfeb5 100644
--- a/util/configlexer.c
+++ b/util/configlexer.c
@@ -363,8 +363,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 174
-#define YY_END_OF_BUFFER 175
+#define YY_NUM_RULES 175
+#define YY_END_OF_BUFFER 176
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -372,198 +372,201 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1731] =
+static yyconst flex_int16_t yy_accept[1752] =
{ 0,
- 1, 1, 156, 156, 160, 160, 164, 164, 168, 168,
- 1, 1, 175, 172, 1, 154, 154, 173, 2, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 173, 156,
- 157, 157, 158, 173, 160, 161, 161, 162, 173, 167,
- 164, 165, 165, 166, 173, 168, 169, 169, 170, 173,
- 171, 155, 2, 159, 171, 173, 172, 0, 1, 2,
- 2, 2, 2, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 156, 0, 160, 0, 167, 0, 164,
- 168, 0, 171, 0, 2, 2, 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, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 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, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 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, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 70, 172, 172, 172, 172, 172, 6,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 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, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 171, 172, 172, 172, 172, 172, 30,
- 172, 172, 172, 172, 172, 172, 172, 172, 135, 172,
- 12, 13, 172, 15, 14, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 128, 172, 172, 172, 172, 172, 172,
- 3, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 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, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 163, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 33, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 34, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 85, 163, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 84, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 68, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 20, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 31, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 32, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 22, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 148, 172, 172,
- 172, 172, 172, 172, 26, 172, 27, 172, 172, 172,
- 71, 172, 72, 172, 69, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 5, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 87, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 23, 172, 172, 172, 172, 172, 112, 111, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 35, 172, 172, 172, 172, 172, 172, 172, 172, 74,
- 73, 172, 172, 172, 172, 172, 172, 172, 108, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 53, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 57, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 110, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 4, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 105, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 121, 172, 106, 172, 133, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 21, 172, 172, 172,
-
- 172, 76, 172, 77, 75, 172, 172, 172, 172, 172,
- 172, 172, 83, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 107, 172, 172, 172, 172, 132,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 67, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 28, 172, 172, 17, 172,
- 172, 172, 16, 172, 92, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 42,
- 44, 172, 172, 172, 172, 172, 172, 172, 172, 136,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 78, 172, 172, 172, 172, 172, 172,
- 82, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 86, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 127,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 96, 172, 100, 172, 172, 172, 172, 81, 172,
- 172, 63, 172, 119, 172, 172, 172, 172, 134, 172,
- 172, 172, 172, 172, 172, 172, 141, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 99, 172,
-
- 172, 172, 172, 172, 45, 46, 172, 29, 52, 101,
- 172, 113, 109, 172, 172, 38, 172, 103, 172, 172,
- 172, 172, 172, 7, 172, 66, 172, 172, 172, 150,
- 172, 118, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 88,
- 140, 172, 172, 172, 172, 172, 172, 172, 172, 129,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 102, 172, 37, 39, 172, 172,
- 172, 172, 172, 65, 172, 172, 172, 149, 172, 172,
-
- 172, 172, 123, 18, 19, 172, 172, 172, 172, 172,
- 172, 172, 62, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 125, 122, 172, 172, 172, 172, 172,
- 172, 172, 172, 36, 172, 172, 172, 172, 172, 172,
- 172, 11, 172, 172, 172, 172, 172, 172, 172, 172,
- 10, 172, 172, 172, 153, 172, 40, 172, 131, 124,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 95, 94, 172, 172, 126, 120, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 47, 172, 130, 172, 172,
-
- 172, 172, 172, 172, 41, 172, 172, 172, 89, 91,
- 114, 172, 172, 172, 93, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 137, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 24,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 139, 172,
- 172, 117, 172, 172, 172, 172, 172, 172, 172, 50,
- 172, 25, 172, 9, 172, 172, 172, 172, 115, 54,
- 172, 172, 172, 98, 172, 172, 172, 172, 172, 172,
- 172, 138, 79, 172, 172, 172, 172, 56, 60, 55,
-
- 172, 48, 172, 8, 172, 151, 172, 172, 97, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 61,
- 59, 172, 49, 172, 172, 116, 172, 172, 90, 43,
- 172, 172, 172, 172, 172, 172, 80, 58, 51, 152,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 64, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 104, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
-
- 172, 172, 172, 172, 144, 172, 172, 172, 172, 172,
- 172, 172, 172, 172, 172, 172, 172, 172, 142, 172,
- 145, 146, 172, 172, 172, 172, 172, 143, 147, 0
+ 1, 1, 157, 157, 161, 161, 165, 165, 169, 169,
+ 1, 1, 176, 173, 1, 155, 155, 174, 2, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 174, 157,
+ 158, 158, 159, 174, 161, 162, 162, 163, 174, 168,
+ 165, 166, 166, 167, 174, 169, 170, 170, 171, 174,
+ 172, 156, 2, 160, 172, 174, 173, 0, 1, 2,
+ 2, 2, 2, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 157, 0, 161, 0, 168, 0,
+ 165, 169, 0, 172, 0, 2, 2, 172, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 172, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 172, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 70, 173, 173, 173,
+ 173, 173, 173, 6, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 172, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 172, 173,
+ 173, 173, 173, 173, 30, 173, 173, 173, 173, 173,
+ 173, 173, 173, 136, 173, 12, 13, 173, 15, 14,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 129,
+ 173, 173, 173, 173, 173, 173, 3, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 172, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 164, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 33, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 34,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 85,
+ 164, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 84, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 68, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 20, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 31, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 32, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 22, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 149, 173, 173, 173,
+ 173, 173, 173, 26, 173, 27, 173, 173, 173, 71,
+ 173, 72, 173, 69, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 5,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 87, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 23,
+ 173, 173, 173, 173, 173, 113, 112, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 35, 173, 173, 173, 173, 173, 173, 173, 173, 74,
+ 73, 173, 173, 173, 173, 173, 173, 173, 109, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 53, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 57, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 111, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 4, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 105, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 122, 173, 106, 173, 134, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 21, 173, 173,
+ 173, 173, 76, 173, 77, 75, 173, 173, 173, 173,
+ 173, 173, 173, 83, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 107, 173, 173, 173, 173,
+ 133, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 67, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 28, 173, 173,
+ 17, 173, 173, 173, 16, 173, 92, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 42, 44, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 137, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 78, 173, 173, 173, 173,
+ 173, 173, 82, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 86,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 128, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 96, 173, 100, 173, 173, 173,
+ 173, 81, 173, 173, 63, 173, 120, 173, 173, 173,
+ 173, 135, 173, 173, 173, 173, 173, 173, 173, 142,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 99, 173, 173, 173, 173, 173, 45, 46, 173,
+ 29, 52, 101, 173, 114, 110, 173, 173, 38, 173,
+ 103, 173, 173, 173, 173, 173, 7, 173, 173, 66,
+ 173, 173, 173, 151, 173, 119, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 88, 141, 173, 173, 173, 173, 173,
+ 173, 173, 173, 130, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 102, 173,
+
+ 37, 39, 173, 173, 173, 173, 173, 173, 65, 173,
+ 173, 173, 150, 173, 173, 173, 173, 124, 18, 19,
+ 173, 173, 173, 173, 173, 173, 173, 62, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 126, 123,
+ 173, 173, 173, 173, 173, 173, 173, 173, 36, 173,
+ 173, 173, 173, 173, 173, 173, 11, 173, 173, 173,
+ 173, 173, 173, 173, 173, 10, 173, 173, 173, 173,
+ 154, 173, 40, 173, 132, 125, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 95, 94, 173,
+ 173, 127, 121, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 47, 173, 131, 173, 173, 173, 173, 173, 173,
+ 173, 41, 173, 173, 173, 89, 91, 115, 173, 173,
+ 173, 93, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 138, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 24, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 140, 173, 173, 118,
+ 173, 173, 173, 173, 173, 173, 173, 50, 173, 25,
+ 173, 9, 173, 173, 173, 173, 173, 116, 54, 173,
+
+ 173, 173, 98, 173, 173, 173, 173, 173, 173, 173,
+ 139, 79, 173, 173, 173, 173, 56, 60, 55, 173,
+ 48, 173, 8, 173, 173, 152, 173, 173, 97, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 61,
+ 59, 173, 49, 173, 108, 173, 117, 173, 173, 90,
+ 43, 173, 173, 173, 173, 173, 173, 80, 58, 51,
+ 153, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 64, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+
+ 173, 173, 173, 173, 173, 173, 104, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 145, 173, 173, 173, 173,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 143,
+ 173, 146, 147, 173, 173, 173, 173, 173, 144, 148,
+ 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -609,399 +612,403 @@ static yyconst flex_int32_t yy_meta[66] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1745] =
+static yyconst flex_int16_t yy_base[1766] =
{ 0,
0, 0, 63, 66, 69, 71, 77, 83, 88, 91,
- 129, 135, 378, 309, 95, 5006, 5006, 5006, 107, 110,
+ 129, 135, 393, 348, 95, 5065, 5065, 5065, 107, 110,
142, 180, 108, 50, 145, 172, 118, 148, 121, 181,
- 197, 166, 217, 233, 252, 236, 164, 269, 116, 298,
- 5006, 5006, 5006, 94, 295, 5006, 5006, 5006, 96, 249,
- 265, 5006, 5006, 5006, 238, 216, 5006, 5006, 5006, 102,
- 214, 5006, 290, 5006, 259, 257, 209, 312, 111, 0,
- 316, 0, 0, 265, 170, 283, 310, 296, 301, 306,
- 302, 297, 308, 325, 317, 312, 330, 333, 345, 329,
- 336, 361, 250, 343, 368, 376, 347, 341, 365, 377,
-
- 372, 380, 388, 370, 382, 398, 413, 399, 403, 408,
- 409, 410, 414, 260, 415, 437, 426, 436, 412, 445,
- 450, 449, 439, 193, 159, 177, 169, 141, 298, 165,
- 122, 174, 115, 488, 497, 0, 464, 470, 262, 471,
- 485, 477, 484, 480, 505, 498, 435, 509, 553, 513,
- 491, 511, 492, 517, 523, 508, 519, 539, 541, 526,
- 544, 543, 549, 556, 568, 579, 581, 578, 561, 583,
- 588, 601, 602, 592, 597, 584, 607, 594, 609, 618,
- 610, 612, 622, 611, 628, 626, 615, 639, 644, 652,
- 637, 645, 660, 662, 667, 663, 658, 650, 668, 671,
-
- 681, 679, 678, 673, 694, 674, 701, 709, 213, 711,
- 713, 700, 707, 720, 715, 708, 728, 718, 724, 743,
- 734, 733, 736, 735, 744, 763, 740, 761, 750, 760,
- 770, 766, 762, 759, 773, 777, 781, 790, 808, 778,
- 804, 795, 799, 809, 813, 819, 822, 801, 820, 828,
- 831, 833, 825, 851, 847, 846, 855, 870, 858, 850,
- 849, 857, 873, 876, 888, 928, 878, 877, 880, 889,
- 894, 890, 922, 896, 905, 897, 911, 937, 907, 934,
- 945, 935, 954, 967, 936, 952, 957, 962, 958, 978,
- 970, 963, 971, 983, 986, 995, 987, 1005, 1000, 998,
-
- 1007, 1011, 1004, 1020, 1015, 1003, 1019, 1025, 1032, 1038,
- 1035, 1029, 1044, 5006, 1048, 1033, 1053, 1059, 1046, 5006,
- 1062, 1063, 1043, 1060, 1073, 1066, 1095, 1076, 1070, 1077,
- 1075, 1084, 1102, 1096, 1089, 1139, 1097, 1111, 1132, 1130,
- 1116, 1114, 1121, 1148, 1135, 1141, 1143, 1142, 1129, 1166,
- 1170, 1162, 1168, 1180, 1190, 1175, 1173, 1186, 1188, 1194,
- 1189, 1192, 1200, 1197, 1202, 1206, 1238, 1223, 1220, 1235,
- 1213, 1237, 1241, 1246, 1224, 1239, 1249, 1247, 1250, 1243,
- 1240, 1259, 1251, 1255, 1276, 1289, 1267, 1277, 1262, 1283,
- 1294, 1296, 1293, 1286, 1302, 1312, 1318, 1305, 1308, 1306,
-
- 1334, 1326, 1320, 1329, 1335, 1339, 1341, 1348, 1347, 1354,
- 1350, 1373, 1382, 1361, 1352, 1370, 1362, 1365, 1366, 1374,
- 1392, 1375, 1389, 1387, 1393, 1399, 1398, 1412, 1402, 1411,
- 1410, 1414, 1409, 1421, 1420, 1419, 1436, 1440, 1447, 1432,
- 1446, 1449, 1442, 1455, 1459, 1461, 1454, 1489, 1457, 5006,
- 1468, 1474, 1479, 1476, 1488, 1481, 1482, 1530, 5006, 1485,
- 5006, 5006, 1487, 5006, 5006, 1501, 1505, 1493, 1517, 1579,
- 1514, 1518, 1523, 1526, 1533, 1540, 1550, 1528, 1557, 1562,
- 1563, 1569, 1567, 1574, 1592, 1601, 1584, 1585, 1577, 1605,
- 1534, 1544, 1613, 1611, 1614, 1615, 1618, 1626, 1627, 1621,
-
- 1625, 1639, 1628, 5006, 1637, 1648, 1642, 1658, 1650, 1668,
- 5006, 1641, 1667, 1649, 1660, 1666, 1664, 1673, 1677, 1678,
- 1683, 1692, 1676, 1706, 1693, 1700, 1720, 1722, 1717, 1705,
- 1718, 1726, 1715, 1733, 1729, 1732, 1719, 1725, 1747, 1746,
- 1750, 1754, 1740, 1764, 1751, 1745, 1757, 1756, 1801, 1782,
- 1760, 1763, 1765, 1784, 1791, 1794, 1796, 1799, 1815, 1819,
- 1811, 1813, 1829, 1839, 1823, 1847, 1842, 1831, 1850, 1856,
- 1858, 1857, 1852, 1851, 1869, 1867, 1872, 5006, 1875, 1887,
- 1874, 1884, 1899, 1879, 1889, 1900, 1891, 1902, 1892, 1894,
- 1913, 1917, 5006, 1911, 1915, 1926, 1918, 1938, 1942, 1919,
-
- 1950, 1952, 5006, 1956, 1957, 1959, 1944, 1939, 1953, 1960,
- 1955, 1967, 1970, 1986, 1977, 1989, 1996, 1997, 1980, 2002,
- 1983, 1990, 1988, 1999, 2013, 2016, 2019, 2011, 2020, 2015,
- 2034, 2038, 2029, 2049, 2032, 2036, 2040, 120, 2035, 2046,
- 2041, 2045, 5006, 76, 2061, 2042, 2054, 2087, 2089, 2081,
- 2085, 2077, 2078, 2088, 2079, 2076, 2083, 2080, 2096, 2082,
- 2105, 2104, 2127, 2125, 2122, 2119, 2131, 2117, 2132, 2137,
- 2120, 2138, 2121, 2146, 2136, 2156, 2159, 2168, 2164, 2160,
- 2157, 2162, 2182, 2166, 2165, 2187, 5006, 2186, 2183, 2191,
- 2184, 2189, 2229, 2200, 2216, 2207, 2213, 2232, 2234, 2225,
-
- 2228, 2236, 2239, 2240, 2224, 2223, 2243, 2246, 2249, 2265,
- 2268, 2247, 5006, 2267, 2263, 2261, 2287, 2266, 2270, 2283,
- 2285, 2290, 2275, 2301, 2288, 2319, 5006, 2317, 2316, 2304,
- 2322, 2305, 2324, 2328, 2329, 2314, 2331, 2330, 2332, 2339,
- 2327, 2347, 2335, 5006, 2343, 2372, 2366, 2377, 2367, 2356,
- 2368, 2378, 2361, 2359, 2388, 2387, 2365, 2384, 2373, 2389,
- 2393, 2394, 2404, 2405, 2402, 2421, 5006, 2439, 2415, 2428,
- 2431, 2416, 2442, 2423, 2434, 2437, 2441, 2444, 2454, 2447,
- 2450, 2469, 2457, 2460, 2464, 2461, 2480, 2463, 2488, 2491,
- 2494, 2483, 2502, 2489, 2506, 2487, 2514, 2517, 2521, 2522,
-
- 5006, 2524, 2509, 2525, 2518, 2515, 2547, 2537, 2536, 2539,
- 2541, 2543, 2550, 2544, 2546, 2553, 2557, 2559, 2561, 2560,
- 2564, 2568, 2585, 2589, 2584, 2591, 2607, 5006, 2594, 2598,
- 2596, 2606, 2595, 2608, 5006, 2611, 5006, 2625, 2618, 2635,
- 5006, 2632, 5006, 2639, 5006, 2640, 2646, 2633, 2624, 2636,
- 2653, 2654, 2644, 2641, 2663, 2656, 2668, 2680, 2667, 2660,
- 5006, 2671, 2683, 2681, 2688, 2692, 2694, 2690, 2698, 2700,
- 2696, 2676, 2710, 2704, 2708, 2732, 2727, 5006, 2716, 2735,
- 2726, 2724, 2752, 2746, 2729, 2739, 2742, 2725, 2761, 2772,
- 2775, 2760, 2762, 2763, 2779, 2790, 2769, 2788, 2780, 2789,
-
- 2777, 2798, 2803, 2786, 2797, 2799, 2802, 2808, 2811, 2813,
- 5006, 2827, 2822, 2826, 2835, 2825, 5006, 5006, 2842, 2840,
- 2846, 2849, 2839, 2853, 2870, 2854, 2850, 2856, 2864, 2873,
- 2867, 2874, 2862, 2875, 2894, 2880, 2898, 2904, 2915, 2890,
- 5006, 2902, 2910, 2914, 2912, 2906, 2920, 2921, 2935, 5006,
- 5006, 2932, 2923, 2925, 2930, 2960, 2942, 2946, 5006, 2948,
- 2962, 2967, 2969, 2973, 2970, 2954, 2965, 2982, 2976, 2981,
- 2971, 2999, 2993, 3006, 3001, 2996, 3010, 3018, 3019, 3021,
- 5006, 3015, 3025, 3017, 3026, 3023, 3035, 3039, 3050, 3048,
- 3040, 3046, 3036, 3038, 3051, 3049, 3044, 3069, 3059, 3080,
-
- 3083, 3081, 3093, 3087, 5006, 3096, 3076, 3097, 3073, 3101,
- 3103, 3106, 3122, 3091, 3095, 3099, 3102, 3118, 3105, 3121,
- 3126, 3117, 5006, 3131, 3150, 3142, 3144, 3143, 3129, 3158,
- 3146, 3149, 5006, 3170, 3164, 3160, 3174, 3183, 3184, 3179,
- 3173, 3178, 3191, 3177, 3186, 3197, 3199, 3200, 3208, 3203,
- 3220, 3228, 3221, 3231, 3213, 3224, 3246, 3233, 3249, 3247,
- 3226, 3242, 3248, 3245, 3258, 3251, 3241, 3271, 3255, 3274,
- 3268, 5006, 3283, 3287, 3291, 3292, 3276, 3293, 3289, 3300,
- 3302, 5006, 3303, 5006, 3285, 5006, 3305, 3309, 3314, 3313,
- 3310, 3312, 3321, 3337, 3275, 3329, 5006, 3345, 3332, 3338,
-
- 3344, 5006, 3351, 5006, 5006, 3339, 3348, 3349, 3365, 3359,
- 3361, 3367, 5006, 3372, 3371, 3384, 3374, 3375, 3381, 3388,
- 3392, 3380, 3394, 3397, 5006, 3398, 3411, 3408, 3407, 5006,
- 3415, 3405, 3410, 3423, 3431, 3434, 3440, 3430, 3427, 3450,
- 3444, 5006, 3432, 3438, 3462, 3453, 3461, 3473, 3459, 3480,
- 3458, 3475, 3488, 3474, 3486, 5006, 3489, 3491, 5006, 3479,
- 3485, 3477, 5006, 3497, 5006, 3516, 3511, 3502, 3519, 3531,
- 3524, 3534, 3517, 3535, 3532, 3529, 3540, 3544, 3521, 5006,
- 5006, 3545, 3538, 3550, 3556, 3558, 3555, 3571, 3575, 5006,
- 3553, 3581, 3564, 3574, 3583, 3572, 3577, 3592, 3591, 3579,
-
- 3602, 3585, 3604, 5006, 3601, 3603, 3606, 3605, 3628, 3614,
- 5006, 3609, 3634, 3629, 3630, 3632, 3638, 3643, 3646, 3636,
- 3647, 3648, 3658, 3641, 3677, 3678, 3661, 5006, 3674, 3681,
- 3663, 3683, 3666, 3685, 3686, 3698, 3692, 3675, 3695, 5006,
- 3673, 3688, 3693, 3717, 3708, 3728, 3705, 3732, 3720, 3722,
- 3735, 3711, 3724, 3718, 3738, 3742, 3741, 3744, 3758, 3746,
- 3748, 5006, 3754, 5006, 3767, 3777, 3786, 3782, 5006, 3773,
- 3780, 5006, 3775, 5006, 3790, 3792, 3801, 3795, 5006, 3796,
- 3784, 3805, 3800, 3815, 3807, 3830, 5006, 3832, 3834, 3808,
- 3833, 3820, 3827, 3839, 3824, 3845, 3849, 3846, 5006, 3853,
-
- 3857, 3859, 3866, 3873, 5006, 5006, 3877, 5006, 5006, 5006,
- 3881, 5006, 5006, 3880, 3882, 5006, 3883, 5006, 3891, 3887,
- 3876, 3868, 3889, 5006, 3897, 5006, 3895, 3893, 3898, 5006,
- 3899, 5006, 3901, 3921, 3915, 3922, 3930, 3931, 3932, 3924,
- 3916, 3925, 3933, 3935, 3939, 3926, 3941, 3956, 3943, 3955,
- 3954, 3952, 3963, 3960, 3958, 3979, 3981, 3988, 3989, 5006,
- 5006, 3971, 3982, 3990, 3994, 3992, 4002, 4005, 3998, 5006,
- 3993, 4015, 4003, 4016, 4017, 4018, 4030, 4021, 4033, 4038,
- 4029, 4037, 4034, 4039, 5006, 4049, 5006, 5006, 4050, 4051,
- 4055, 4056, 4057, 5006, 4065, 4072, 4074, 5006, 4085, 4081,
-
- 4088, 4089, 5006, 5006, 5006, 4090, 4082, 4084, 4098, 4101,
- 4086, 4099, 5006, 4095, 4114, 4116, 4108, 4124, 4129, 4140,
- 4133, 4139, 4142, 5006, 5006, 4144, 4141, 4147, 4146, 4134,
- 4150, 4148, 4151, 5006, 4154, 4165, 4173, 4161, 4178, 4188,
- 4182, 5006, 4174, 4175, 4177, 4194, 4190, 4198, 4200, 4201,
- 5006, 4202, 4217, 4192, 5006, 4223, 5006, 4212, 5006, 5006,
- 4216, 4231, 4234, 4240, 4241, 4242, 4227, 4233, 4235, 4246,
- 4244, 5006, 5006, 4243, 4256, 5006, 5006, 4260, 4261, 4262,
- 4259, 4267, 4255, 4265, 4282, 4272, 4294, 4296, 4269, 4293,
- 4283, 4274, 4304, 4299, 4308, 5006, 4311, 5006, 4315, 4302,
-
- 4312, 4323, 4321, 4327, 5006, 4335, 4325, 4320, 5006, 5006,
- 5006, 4346, 4348, 4347, 5006, 4352, 4358, 4350, 4359, 4360,
- 4363, 4362, 4341, 4369, 5006, 4372, 4373, 4382, 4394, 4386,
- 4385, 4383, 4396, 4400, 4390, 4403, 4387, 4411, 4414, 5006,
- 4420, 4415, 4423, 4412, 4418, 4434, 4436, 4425, 4437, 4428,
- 4454, 4445, 4438, 4451, 4441, 4463, 4452, 4466, 5006, 4473,
- 4455, 5006, 4472, 4475, 4481, 4480, 4488, 4491, 4487, 5006,
- 4494, 5006, 4497, 5006, 4495, 4496, 4503, 4501, 5006, 5006,
- 4502, 4509, 4507, 5006, 4515, 4499, 4513, 4519, 4526, 4524,
- 4522, 5006, 5006, 4521, 4550, 4552, 4551, 5006, 5006, 5006,
-
- 4556, 5006, 4553, 5006, 4546, 5006, 4559, 4548, 5006, 4547,
- 4561, 4564, 4542, 4566, 4568, 4571, 4580, 4577, 4597, 5006,
- 5006, 4599, 5006, 4600, 4601, 5006, 4590, 4604, 5006, 5006,
- 4610, 4595, 4606, 4594, 4607, 4603, 5006, 5006, 5006, 5006,
- 4614, 4615, 4626, 4624, 4629, 4628, 4623, 4634, 4654, 4650,
- 4652, 4653, 4638, 4645, 4668, 4655, 5006, 4673, 4664, 4671,
- 4672, 4675, 4665, 4674, 4680, 4684, 4691, 4695, 4687, 4692,
- 4707, 4690, 4722, 4720, 4721, 4724, 4713, 4717, 4727, 4730,
- 4719, 4736, 4745, 4739, 4747, 5006, 4756, 4743, 4748, 4763,
- 4741, 4766, 4754, 4777, 4779, 4781, 4784, 4782, 4792, 4788,
-
- 4789, 4783, 4794, 4793, 5006, 4809, 4819, 4798, 4808, 4829,
- 4813, 4815, 4836, 4831, 4826, 4838, 4843, 4840, 5006, 4844,
- 5006, 5006, 4845, 4854, 4856, 4852, 4855, 5006, 5006, 5006,
- 4914, 4921, 4928, 4935, 4942, 82, 4949, 4956, 4963, 4970,
- 4977, 4984, 4991, 4998
+ 197, 166, 241, 225, 260, 233, 164, 257, 116, 343,
+ 5065, 5065, 5065, 94, 331, 5065, 5065, 5065, 96, 329,
+ 301, 5065, 5065, 5065, 249, 263, 5065, 5065, 5065, 102,
+ 254, 5065, 304, 5065, 206, 279, 221, 308, 111, 0,
+ 319, 0, 0, 201, 170, 268, 302, 237, 296, 301,
+ 298, 227, 303, 308, 306, 297, 309, 323, 330, 333,
+ 312, 349, 346, 332, 358, 359, 340, 357, 368, 367,
+
+ 375, 370, 379, 360, 382, 399, 387, 407, 391, 393,
+ 395, 402, 404, 406, 425, 429, 427, 418, 426, 437,
+ 444, 452, 435, 443, 210, 159, 205, 169, 141, 488,
+ 165, 122, 174, 115, 497, 503, 0, 208, 472, 464,
+ 482, 478, 481, 487, 490, 505, 507, 476, 508, 552,
+ 514, 492, 513, 493, 517, 520, 509, 536, 542, 504,
+ 548, 567, 538, 543, 550, 563, 586, 571, 580, 575,
+ 578, 598, 601, 605, 597, 593, 602, 590, 609, 599,
+ 614, 607, 623, 620, 639, 624, 634, 631, 635, 616,
+ 647, 660, 645, 651, 656, 674, 672, 667, 673, 670,
+
+ 668, 679, 683, 681, 678, 680, 694, 684, 701, 713,
+ 439, 716, 721, 707, 703, 724, 728, 726, 730, 719,
+ 736, 734, 742, 738, 729, 746, 755, 751, 753, 766,
+ 754, 763, 780, 774, 776, 769, 778, 779, 795, 797,
+ 815, 449, 807, 803, 804, 802, 812, 825, 827, 839,
+ 826, 816, 829, 830, 831, 855, 858, 848, 853, 856,
+ 837, 866, 852, 850, 876, 867, 883, 890, 930, 880,
+ 900, 893, 892, 897, 896, 888, 898, 908, 925, 935,
+ 910, 927, 937, 934, 952, 948, 785, 936, 954, 966,
+ 971, 963, 980, 969, 972, 979, 991, 989, 998, 995,
+
+ 962, 997, 1006, 1007, 1012, 992, 1019, 1027, 1015, 1029,
+ 1014, 1039, 1044, 1035, 1028, 1047, 5065, 1050, 1031, 1053,
+ 1055, 1063, 1057, 5065, 1065, 1066, 1046, 1072, 1084, 1087,
+ 1098, 1079, 1078, 1080, 1099, 1094, 1110, 1102, 1104, 1150,
+ 1112, 1117, 1138, 1137, 1121, 1119, 1127, 1134, 1142, 1159,
+ 1148, 1153, 1160, 1168, 1165, 1162, 1179, 1184, 1195, 1185,
+ 1178, 1189, 1199, 1204, 1198, 1201, 1211, 1203, 1216, 1217,
+ 1239, 1229, 1220, 1227, 1221, 1232, 1249, 1254, 1230, 1247,
+ 1257, 1259, 1258, 1248, 1244, 1269, 1263, 1256, 1290, 1272,
+ 1274, 1280, 1276, 1278, 1279, 1300, 1303, 1297, 1306, 1296,
+
+ 1301, 1319, 1316, 1315, 1329, 1331, 1323, 1320, 1348, 1346,
+ 1349, 1350, 1364, 1344, 1358, 1353, 1363, 1369, 1365, 1368,
+ 1370, 1356, 1380, 1383, 1384, 1382, 1379, 1385, 1399, 1401,
+ 1407, 1403, 1418, 1420, 1394, 1428, 1421, 1423, 1425, 1429,
+ 1430, 1432, 1448, 1449, 1440, 1434, 1461, 1457, 1467, 1474,
+ 1469, 1462, 1478, 1481, 5065, 1482, 1488, 1491, 1468, 1485,
+ 1484, 1496, 1544, 5065, 1501, 5065, 5065, 1507, 5065, 5065,
+ 1518, 1519, 1528, 1495, 1593, 1530, 1513, 1512, 1538, 1533,
+ 1540, 1560, 1554, 1571, 1574, 1581, 1583, 1562, 1587, 1599,
+ 1590, 1588, 1598, 1614, 1623, 1511, 1546, 1625, 1629, 1632,
+
+ 1634, 1618, 1626, 1630, 1641, 1644, 1639, 1548, 1646, 5065,
+ 1645, 1648, 1656, 1675, 1662, 1679, 5065, 1659, 1683, 1664,
+ 1673, 1672, 1678, 1686, 1692, 1700, 1689, 1702, 1687, 1720,
+ 1704, 1716, 1652, 1736, 1729, 1715, 1725, 1735, 1723, 1738,
+ 1745, 1743, 1731, 1741, 1752, 1755, 1759, 1769, 1762, 1770,
+ 1761, 1760, 1764, 1763, 1809, 1788, 1779, 1797, 1801, 1808,
+ 1815, 1817, 1796, 1811, 1845, 1827, 1834, 1841, 1837, 1840,
+ 1807, 1868, 1843, 1858, 1852, 1853, 1870, 1878, 1873, 1872,
+ 1885, 1884, 1887, 5065, 1892, 1899, 1888, 1893, 1911, 1890,
+ 1908, 1913, 1918, 1920, 1903, 1914, 1930, 1931, 5065, 1927,
+
+ 1926, 1933, 1951, 1954, 1957, 1952, 1941, 1936, 1963, 5065,
+ 1974, 1981, 1964, 1945, 1972, 1973, 1977, 1975, 1990, 1992,
+ 1999, 1994, 2000, 1998, 2002, 2012, 2013, 2017, 2009, 2014,
+ 2018, 2037, 2041, 2029, 2045, 2038, 2039, 2054, 2056, 2044,
+ 2053, 2058, 2065, 2055, 120, 2066, 2061, 2068, 2064, 5065,
+ 76, 2076, 2081, 2078, 2103, 2104, 2097, 2105, 2093, 2095,
+ 2108, 2100, 2099, 2106, 2119, 2101, 2123, 2133, 2124, 2142,
+ 2147, 2146, 2135, 2151, 2137, 2148, 2156, 2140, 2158, 2168,
+ 2173, 2180, 2176, 2178, 2165, 2182, 2179, 2175, 2183, 2202,
+ 2197, 2195, 2204, 5065, 2221, 2205, 2203, 2206, 2222, 2241,
+
+ 2217, 2233, 2230, 2238, 2249, 2250, 2253, 2254, 2255, 2257,
+ 2262, 2261, 2246, 2273, 2276, 2274, 2283, 2281, 2291, 2285,
+ 5065, 2294, 2289, 2293, 2309, 2301, 2308, 2305, 2316, 2319,
+ 2314, 2307, 2318, 2329, 5065, 2341, 2342, 2331, 2348, 2332,
+ 2349, 2346, 2353, 2335, 2356, 2357, 2358, 2366, 2354, 2364,
+ 2379, 5065, 2391, 2393, 2390, 2400, 2389, 2382, 2392, 2402,
+ 2384, 2385, 2409, 2412, 2387, 2411, 2397, 2420, 2413, 2416,
+ 2419, 2439, 2422, 2446, 5065, 2456, 2448, 2447, 2452, 2449,
+ 2462, 2461, 2458, 2467, 2471, 2473, 2472, 2475, 2460, 2499,
+ 2483, 2487, 2481, 2490, 2494, 2492, 2507, 2508, 2518, 2498,
+
+ 2520, 2522, 2521, 2519, 2526, 2545, 2548, 2550, 5065, 2552,
+ 2539, 2554, 2541, 2542, 2574, 2560, 2544, 2546, 2567, 2564,
+ 2570, 2584, 2577, 2579, 2580, 2581, 2575, 2588, 2590, 2594,
+ 2601, 2607, 2610, 2606, 2615, 2629, 5065, 2618, 2630, 2639,
+ 2643, 2632, 2622, 5065, 2636, 5065, 2645, 2659, 2657, 5065,
+ 2655, 5065, 2661, 5065, 2664, 2668, 2658, 2651, 2666, 2678,
+ 2674, 2690, 2672, 2696, 2682, 2687, 2702, 2693, 2703, 5065,
+ 2695, 2701, 2710, 2716, 2707, 2724, 2709, 2726, 2730, 2736,
+ 2751, 2729, 2754, 2738, 2755, 2756, 5065, 2734, 2759, 2757,
+ 2747, 2774, 2768, 2761, 2763, 2770, 2773, 2788, 2807, 2804,
+
+ 2790, 2787, 2789, 2815, 2814, 2799, 2816, 2811, 2818, 2810,
+ 2819, 2824, 2813, 2840, 2843, 2833, 2837, 2838, 2832, 5065,
+ 2863, 2846, 2855, 2860, 2859, 5065, 5065, 2874, 2873, 2886,
+ 2865, 2884, 2878, 2895, 2885, 2882, 2898, 2890, 2901, 2888,
+ 2902, 2911, 2905, 2908, 2918, 2920, 2922, 2941, 2939, 2934,
+ 5065, 2943, 2937, 2944, 2953, 2938, 2964, 2949, 2978, 5065,
+ 5065, 2965, 2961, 2966, 2971, 2976, 2979, 2986, 5065, 2982,
+ 2992, 2989, 3005, 3007, 2988, 3003, 3013, 3018, 3006, 3029,
+ 3015, 3023, 3019, 3045, 3031, 3030, 3046, 3044, 3056, 3049,
+ 5065, 3042, 3060, 3054, 3062, 3055, 3065, 3053, 3069, 3075,
+
+ 3078, 3073, 3085, 3094, 3082, 3080, 3086, 3108, 3090, 3114,
+ 3116, 3115, 3122, 3117, 5065, 3126, 3105, 3131, 3104, 3128,
+ 3133, 3140, 3150, 3118, 3132, 3146, 3143, 3127, 3151, 3145,
+ 3167, 3154, 5065, 3173, 3176, 3165, 3178, 3177, 3161, 3196,
+ 3184, 3190, 5065, 3194, 3212, 3195, 3209, 3222, 3202, 3214,
+ 3211, 3205, 3218, 3224, 3213, 3208, 3243, 3233, 3236, 3235,
+ 3247, 3256, 3259, 3257, 3264, 3245, 3262, 3260, 3267, 3285,
+ 3282, 3270, 3278, 3283, 3286, 3284, 3287, 3277, 3305, 3294,
+ 3310, 3295, 5065, 3315, 3319, 3308, 3324, 3311, 3321, 3323,
+ 3330, 3332, 5065, 3334, 5065, 3337, 5065, 3340, 3333, 3342,
+
+ 3344, 3338, 3351, 3368, 3369, 3348, 3359, 5065, 3376, 3363,
+ 3375, 3378, 5065, 3382, 5065, 5065, 3379, 3371, 3395, 3390,
+ 3391, 3408, 3393, 5065, 3406, 3396, 3423, 3417, 3404, 3415,
+ 3418, 3420, 3414, 3419, 3428, 5065, 3431, 3447, 3442, 3452,
+ 5065, 3450, 3438, 3441, 3457, 3468, 3466, 3473, 3454, 3463,
+ 3477, 3475, 3474, 5065, 3484, 3492, 3485, 3481, 3493, 3490,
+ 3509, 3516, 3510, 3512, 3523, 3517, 3515, 5065, 3529, 3530,
+ 5065, 3519, 3511, 3539, 5065, 3541, 5065, 3554, 3548, 3540,
+ 3561, 3564, 3562, 3569, 3553, 3573, 3574, 3580, 3576, 3575,
+ 3558, 5065, 5065, 3584, 3585, 3586, 3607, 3597, 3596, 3590,
+
+ 3615, 5065, 3591, 3620, 3603, 3604, 3622, 3610, 3613, 3632,
+ 3634, 3618, 3639, 3624, 3643, 5065, 3640, 3645, 3649, 3637,
+ 3661, 3653, 5065, 3648, 3654, 3665, 3672, 3666, 3681, 3683,
+ 3687, 3684, 3691, 3694, 3698, 3685, 3702, 3703, 3688, 5065,
+ 3711, 3717, 3700, 3720, 3705, 3722, 3730, 3725, 3735, 3721,
+ 3718, 3739, 5065, 3731, 3744, 3738, 3740, 3751, 3756, 3746,
+ 3760, 3765, 3763, 3771, 3752, 3767, 3764, 3779, 3778, 3773,
+ 3786, 3794, 3800, 3806, 5065, 3796, 5065, 3805, 3817, 3819,
+ 3825, 5065, 3809, 3820, 5065, 3827, 5065, 3828, 3833, 3822,
+ 3830, 5065, 3840, 3836, 3847, 3852, 3845, 3843, 3867, 5065,
+
+ 3869, 3875, 3871, 3876, 3860, 3870, 3879, 3865, 3877, 3892,
+ 3887, 5065, 3874, 3894, 3917, 3907, 3914, 5065, 5065, 3921,
+ 5065, 5065, 5065, 3918, 5065, 5065, 3919, 3923, 5065, 3925,
+ 5065, 3931, 3927, 3913, 3908, 3932, 5065, 3926, 3933, 5065,
+ 3935, 3943, 3948, 5065, 3939, 5065, 3942, 3965, 3954, 3966,
+ 3972, 3973, 3976, 3970, 3959, 3975, 3979, 3984, 3978, 3981,
+ 3980, 4003, 3989, 3993, 4004, 3995, 4007, 4006, 4005, 4020,
+ 4030, 4026, 4029, 5065, 5065, 4016, 4023, 4033, 4018, 4040,
+ 4039, 4043, 4057, 5065, 4037, 4060, 4064, 4062, 4054, 4056,
+ 4063, 4073, 4075, 4082, 4076, 4078, 4088, 4090, 5065, 4089,
+
+ 5065, 5065, 4091, 4109, 4095, 4098, 4096, 4120, 5065, 4122,
+ 4127, 4115, 5065, 4129, 4125, 4130, 4131, 5065, 5065, 5065,
+ 4132, 4121, 4136, 4141, 4156, 4147, 4142, 5065, 4149, 4157,
+ 4160, 4152, 4175, 4178, 4184, 4176, 4182, 4185, 5065, 5065,
+ 4190, 4191, 4192, 4187, 4183, 4193, 4194, 4188, 5065, 4203,
+ 4186, 4216, 4223, 4225, 4235, 4228, 5065, 4219, 4220, 4222,
+ 4239, 4233, 4244, 4243, 4248, 5065, 4245, 4260, 4270, 4261,
+ 5065, 4256, 5065, 4258, 5065, 5065, 4259, 4281, 4286, 4277,
+ 4290, 4291, 4275, 4278, 4298, 4295, 4303, 5065, 5065, 4304,
+ 4300, 5065, 5065, 4294, 4309, 4297, 4306, 4318, 4323, 4316,
+
+ 4320, 4321, 4343, 4345, 4333, 4324, 4334, 4331, 4355, 4348,
+ 4358, 5065, 4360, 5065, 4347, 4352, 4362, 4371, 4373, 4356,
+ 4377, 5065, 4385, 4387, 4376, 5065, 5065, 5065, 4392, 4405,
+ 4393, 5065, 4403, 4400, 4390, 4395, 4413, 4407, 4415, 4414,
+ 4423, 5065, 4419, 4429, 4431, 4443, 4440, 4432, 4434, 4446,
+ 4450, 4436, 4451, 4441, 4457, 4459, 5065, 4469, 4452, 4465,
+ 4482, 4471, 4468, 4493, 4494, 4478, 4489, 4480, 4502, 4491,
+ 4484, 4508, 4487, 4512, 4505, 4519, 5065, 4525, 4507, 5065,
+ 4531, 4524, 4532, 4541, 4542, 4543, 4539, 5065, 4545, 5065,
+ 4546, 5065, 4548, 4540, 4551, 4555, 4552, 5065, 5065, 4553,
+
+ 4556, 4571, 5065, 4572, 4573, 4568, 4574, 4575, 4570, 4584,
+ 5065, 5065, 4587, 4594, 4596, 4601, 5065, 5065, 5065, 4606,
+ 5065, 4604, 5065, 4609, 4610, 5065, 4615, 4611, 5065, 4612,
+ 4622, 4625, 4602, 4628, 4619, 4636, 4639, 4629, 4645, 5065,
+ 5065, 4647, 5065, 4650, 5065, 4658, 5065, 4649, 4659, 5065,
+ 5065, 4663, 4651, 4657, 4654, 4664, 4653, 5065, 5065, 5065,
+ 5065, 4675, 4674, 4670, 4676, 4680, 4677, 4686, 4690, 4699,
+ 4703, 4709, 4710, 4691, 4704, 4727, 4720, 5065, 4713, 4725,
+ 4731, 4733, 4721, 4732, 4730, 4736, 4737, 4738, 4740, 4747,
+ 4763, 4764, 4754, 4774, 4765, 4777, 4779, 4767, 4783, 4785,
+
+ 4780, 4789, 4796, 4792, 4798, 4805, 5065, 4794, 4801, 4803,
+ 4811, 4826, 4828, 4810, 4830, 4835, 4834, 4841, 4840, 4843,
+ 4845, 4857, 4846, 4866, 4850, 5065, 4873, 4875, 4855, 4862,
+ 4882, 4868, 4884, 4889, 4885, 4892, 4888, 4894, 4897, 5065,
+ 4901, 5065, 5065, 4908, 4910, 4915, 4918, 4920, 5065, 5065,
+ 5065, 4973, 4980, 4987, 4994, 5001, 82, 5008, 5015, 5022,
+ 5029, 5036, 5043, 5050, 5057
} ;
-static yyconst flex_int16_t yy_def[1745] =
+static yyconst flex_int16_t yy_def[1766] =
{ 0,
- 1730, 1, 1731, 1731, 1732, 1732, 1733, 1733, 1734, 1734,
- 1735, 1735, 1730, 1736, 1730, 1730, 1730, 1730, 1737, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1738,
- 1730, 1730, 1730, 1738, 1739, 1730, 1730, 1730, 1739, 1740,
- 1730, 1730, 1730, 1730, 1740, 1741, 1730, 1730, 1730, 1741,
- 1742, 1730, 1743, 1730, 1742, 1742, 1736, 1736, 1730, 1744,
- 1737, 1744, 1737, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1738, 1738, 1739, 1739, 1740, 1740, 1730,
- 1741, 1741, 1742, 1742, 1743, 1743, 1742, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
- 1730, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
- 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736,
- 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
-
- 1736, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1730, 1736,
- 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
- 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
-
- 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1730, 1730, 1730,
- 1736, 1730, 1730, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
- 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1730,
- 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1730, 1736, 1736,
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1736, 1736,
-
- 1736, 1736, 1730, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1730, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1730, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1730, 1736, 1736, 1730, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1730,
- 1730, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
- 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1730,
- 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1730, 1730, 1730,
-
- 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1730, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
- 1730, 1736, 1730, 1736, 1736, 1730, 1736, 1736, 1730, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1730, 1730,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
-
- 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
- 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
- 1730, 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 0,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730
+ 1751, 1, 1752, 1752, 1753, 1753, 1754, 1754, 1755, 1755,
+ 1756, 1756, 1751, 1757, 1751, 1751, 1751, 1751, 1758, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1759,
+ 1751, 1751, 1751, 1759, 1760, 1751, 1751, 1751, 1760, 1761,
+ 1751, 1751, 1751, 1751, 1761, 1762, 1751, 1751, 1751, 1762,
+ 1763, 1751, 1764, 1751, 1763, 1763, 1757, 1757, 1751, 1765,
+ 1758, 1765, 1758, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1759, 1759, 1760, 1760, 1761, 1761,
+ 1751, 1762, 1762, 1763, 1763, 1764, 1764, 1763, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1763, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757,
+ 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1751, 1751, 1757, 1751, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1763, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1763, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1751,
+ 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1751, 1751, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
+ 1751, 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
+ 1751, 1751, 1751, 1757, 1751, 1751, 1757, 1757, 1751, 1757,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+
+ 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1751, 1751, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
+ 1751, 1757, 1751, 1757, 1751, 1751, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
+ 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1751, 1751, 1751, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1751,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1751,
+ 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1757,
+
+ 1757, 1757, 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1751, 1751, 1757, 1757, 1757, 1757, 1751, 1751, 1751, 1757,
+ 1751, 1757, 1751, 1757, 1757, 1751, 1757, 1757, 1751, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1751, 1757, 1751, 1757, 1751, 1757, 1751, 1757, 1757, 1751,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1751, 1751,
+ 1751, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+
+ 1757, 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1751, 1757, 1757, 1757, 1757,
+ 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1751,
+ 1757, 1751, 1751, 1757, 1757, 1757, 1757, 1757, 1751, 1751,
+ 0, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751
} ;
-static yyconst flex_int16_t yy_nxt[5072] =
+static yyconst flex_int16_t yy_nxt[5131] =
{ 0,
14, 15, 16, 17, 18, 19, 18, 14, 14, 14,
14, 18, 20, 14, 21, 22, 23, 24, 14, 25,
@@ -1012,558 +1019,564 @@ static yyconst flex_int16_t yy_nxt[5072] =
38, 14, 14, 14, 14, 41, 42, 43, 41, 42,
43, 46, 47, 46, 47, 48, 87, 48, 51, 52,
53, 54, 67, 18, 51, 52, 53, 54, 68, 18,
- 57, 58, 59, 57, 58, 59, 69, 124, 124, 126,
+ 57, 58, 59, 57, 58, 59, 69, 125, 125, 127,
- 70, 44, 126, 87, 44, 131, 131, 49, 72, 49,
- 72, 72, 69, 72, 134, 55, 70, 67, 72, 67,
- 67, 55, 67, 85, 74, 75, 60, 67, 748, 60,
+ 70, 44, 127, 87, 44, 132, 132, 49, 72, 49,
+ 72, 72, 69, 72, 135, 55, 70, 67, 72, 67,
+ 67, 55, 67, 85, 74, 75, 60, 67, 756, 60,
15, 16, 17, 62, 63, 64, 15, 16, 17, 62,
63, 64, 76, 86, 94, 73, 68, 96, 68, 65,
- 85, 74, 75, 134, 77, 65, 68, 88, 68, 68,
- 132, 78, 124, 124, 95, 89, 130, 66, 79, 76,
- 86, 94, 126, 66, 96, 126, 65, 131, 131, 129,
- 68, 77, 65, 68, 88, 139, 68, 90, 78, 120,
- 91, 95, 89, 97, 121, 79, 80, 92, 104, 93,
+ 85, 74, 75, 135, 77, 65, 68, 88, 68, 68,
+ 133, 78, 125, 125, 95, 89, 131, 66, 79, 76,
+ 86, 94, 127, 66, 96, 127, 65, 132, 132, 130,
+ 68, 77, 65, 68, 88, 140, 68, 90, 78, 121,
+ 91, 95, 89, 97, 122, 79, 80, 92, 104, 93,
81, 98, 68, 82, 68, 83, 84, 99, 68, 101,
- 68, 100, 139, 102, 90, 127, 120, 91, 68, 68,
- 97, 121, 281, 80, 92, 104, 93, 81, 98, 103,
- 82, 125, 83, 84, 99, 68, 101, 105, 100, 128,
- 102, 128, 128, 106, 128, 109, 107, 68, 117, 110,
- 118, 68, 134, 108, 132, 68, 103, 161, 133, 111,
- 133, 133, 112, 133, 105, 119, 130, 185, 113, 199,
- 106, 68, 109, 107, 68, 117, 110, 118, 114, 138,
- 108, 122, 115, 116, 137, 123, 111, 129, 68, 112,
- 68, 72, 119, 72, 72, 113, 72, 134, 68, 128,
-
- 68, 128, 128, 68, 128, 114, 138, 68, 122, 115,
- 116, 137, 123, 67, 140, 67, 67, 72, 67, 72,
- 72, 68, 72, 67, 141, 143, 144, 72, 136, 145,
- 147, 146, 149, 127, 68, 68, 125, 142, 148, 68,
- 68, 140, 151, 152, 68, 156, 68, 68, 68, 150,
- 68, 141, 143, 144, 73, 68, 145, 147, 146, 153,
- 155, 157, 154, 68, 142, 148, 168, 68, 68, 151,
- 152, 68, 156, 162, 68, 158, 150, 1730, 159, 68,
- 169, 68, 167, 68, 163, 68, 153, 155, 157, 154,
- 165, 1730, 160, 168, 166, 170, 171, 175, 172, 68,
-
- 162, 174, 158, 68, 164, 159, 68, 169, 68, 167,
- 68, 163, 173, 1730, 68, 68, 1730, 165, 68, 160,
- 68, 166, 170, 171, 175, 172, 68, 176, 174, 177,
- 179, 164, 181, 178, 180, 182, 68, 68, 186, 173,
- 183, 68, 208, 184, 191, 1730, 68, 68, 68, 187,
- 68, 68, 68, 68, 176, 189, 177, 179, 192, 181,
- 178, 180, 182, 190, 68, 186, 194, 183, 196, 188,
- 184, 191, 195, 68, 68, 68, 187, 68, 197, 193,
- 1730, 1730, 189, 68, 1730, 192, 198, 68, 68, 133,
- 190, 133, 133, 194, 133, 196, 188, 200, 72, 195,
-
- 72, 72, 134, 72, 201, 197, 193, 202, 68, 68,
- 203, 204, 205, 198, 207, 68, 1730, 206, 68, 209,
- 1730, 217, 68, 68, 200, 216, 219, 218, 1730, 68,
- 68, 201, 220, 222, 202, 136, 68, 203, 204, 221,
- 210, 207, 227, 68, 206, 223, 68, 68, 217, 68,
- 1730, 68, 216, 219, 218, 68, 228, 68, 1730, 220,
- 222, 68, 224, 232, 68, 225, 221, 210, 211, 227,
- 226, 1730, 223, 212, 230, 229, 231, 68, 213, 68,
- 233, 68, 68, 228, 214, 215, 234, 68, 236, 224,
- 239, 68, 225, 238, 68, 211, 235, 226, 237, 68,
-
- 212, 230, 229, 231, 240, 213, 68, 233, 241, 242,
- 243, 214, 215, 1730, 244, 245, 68, 68, 1730, 68,
- 238, 68, 68, 235, 246, 237, 68, 247, 248, 1730,
- 68, 240, 68, 256, 249, 68, 250, 243, 252, 68,
- 68, 244, 245, 251, 253, 68, 257, 68, 68, 68,
- 68, 246, 258, 68, 247, 248, 68, 254, 255, 260,
- 68, 249, 259, 250, 68, 252, 68, 261, 262, 264,
- 251, 253, 263, 257, 266, 68, 267, 68, 272, 258,
- 270, 269, 68, 68, 254, 255, 274, 271, 68, 259,
- 68, 265, 1730, 268, 261, 262, 134, 273, 68, 263,
-
- 68, 68, 276, 267, 275, 68, 68, 270, 269, 68,
- 278, 68, 68, 277, 271, 279, 68, 68, 265, 68,
- 268, 280, 1730, 282, 273, 283, 1730, 284, 288, 276,
- 287, 275, 68, 285, 286, 289, 291, 278, 68, 68,
- 277, 293, 279, 290, 1730, 68, 68, 68, 280, 68,
- 282, 68, 283, 68, 284, 288, 68, 287, 68, 292,
- 285, 286, 68, 291, 294, 295, 68, 296, 297, 299,
- 290, 68, 68, 68, 68, 298, 300, 303, 68, 301,
- 304, 68, 68, 302, 1730, 305, 292, 306, 68, 314,
- 307, 294, 295, 308, 296, 297, 299, 68, 68, 68,
-
- 68, 68, 298, 300, 68, 310, 301, 304, 68, 309,
- 302, 68, 305, 311, 306, 68, 68, 307, 315, 68,
- 308, 312, 313, 316, 320, 318, 317, 323, 68, 319,
- 1730, 1730, 310, 68, 322, 321, 309, 68, 326, 68,
- 311, 328, 68, 324, 1730, 315, 68, 68, 312, 313,
- 316, 68, 318, 317, 323, 1730, 319, 68, 68, 325,
- 68, 322, 321, 68, 327, 329, 68, 330, 328, 68,
- 324, 68, 331, 332, 337, 335, 333, 336, 334, 1730,
- 339, 1730, 338, 340, 68, 68, 325, 68, 68, 68,
- 342, 327, 329, 68, 330, 68, 68, 353, 341, 331,
-
- 332, 337, 335, 333, 352, 334, 343, 339, 68, 338,
- 340, 68, 354, 344, 68, 68, 68, 342, 134, 355,
- 356, 357, 1730, 361, 353, 341, 68, 68, 68, 358,
- 359, 352, 68, 343, 68, 68, 360, 362, 364, 354,
- 344, 345, 346, 68, 363, 68, 355, 356, 357, 68,
- 361, 347, 366, 348, 349, 350, 1730, 359, 351, 365,
- 68, 1730, 367, 360, 362, 364, 68, 371, 345, 346,
- 368, 375, 68, 68, 68, 68, 369, 370, 347, 372,
- 348, 349, 350, 68, 373, 351, 365, 374, 378, 367,
- 68, 379, 68, 376, 371, 68, 68, 368, 375, 377,
-
- 68, 68, 382, 381, 380, 68, 372, 384, 68, 68,
- 383, 373, 385, 387, 374, 378, 68, 386, 379, 388,
- 376, 68, 392, 1730, 68, 68, 377, 389, 390, 382,
- 381, 380, 391, 68, 384, 393, 68, 383, 68, 394,
- 387, 68, 68, 68, 386, 68, 388, 396, 395, 68,
- 397, 398, 1730, 68, 389, 390, 400, 68, 68, 391,
- 401, 399, 393, 68, 1730, 402, 394, 68, 408, 405,
- 68, 68, 403, 68, 396, 395, 68, 397, 398, 404,
- 409, 68, 68, 400, 68, 411, 68, 401, 399, 410,
- 416, 68, 402, 406, 407, 408, 405, 68, 68, 403,
-
- 68, 68, 412, 414, 68, 413, 404, 409, 68, 415,
- 417, 68, 411, 68, 68, 68, 410, 416, 418, 420,
- 406, 407, 68, 419, 1730, 1730, 432, 68, 426, 1730,
- 414, 1730, 413, 68, 68, 68, 415, 417, 427, 428,
- 68, 1730, 1730, 1730, 430, 418, 420, 431, 429, 68,
- 419, 421, 68, 432, 68, 426, 422, 433, 423, 68,
- 434, 435, 439, 1730, 436, 427, 424, 68, 68, 437,
- 68, 430, 438, 68, 431, 429, 425, 68, 421, 68,
- 68, 68, 440, 422, 433, 423, 68, 434, 435, 439,
- 441, 436, 442, 424, 443, 444, 437, 445, 446, 438,
-
- 68, 1730, 447, 425, 68, 450, 68, 449, 68, 440,
- 448, 68, 451, 68, 453, 452, 455, 441, 134, 442,
- 463, 443, 444, 454, 68, 446, 68, 68, 68, 447,
- 68, 461, 68, 456, 449, 68, 457, 448, 68, 451,
- 68, 453, 452, 455, 68, 458, 462, 460, 464, 459,
- 454, 68, 465, 466, 470, 468, 467, 1730, 68, 472,
- 456, 68, 68, 457, 469, 471, 474, 475, 1730, 483,
- 1730, 473, 1730, 68, 460, 68, 68, 68, 68, 68,
- 476, 68, 468, 467, 68, 68, 472, 68, 68, 68,
- 477, 469, 471, 68, 475, 478, 481, 68, 473, 479,
-
- 68, 480, 482, 484, 1730, 68, 1730, 476, 485, 488,
- 489, 486, 493, 1730, 68, 68, 1730, 477, 490, 1730,
- 495, 68, 478, 481, 68, 494, 479, 68, 480, 482,
- 484, 68, 68, 487, 68, 485, 488, 489, 486, 491,
- 68, 492, 497, 68, 68, 490, 68, 495, 496, 498,
- 68, 500, 494, 501, 499, 503, 68, 502, 68, 504,
- 487, 506, 1730, 1730, 68, 1730, 491, 68, 492, 497,
- 507, 505, 68, 68, 512, 496, 498, 68, 500, 68,
- 501, 499, 513, 514, 502, 68, 68, 508, 68, 510,
- 68, 515, 68, 511, 516, 520, 517, 507, 505, 68,
-
- 68, 512, 509, 68, 68, 518, 524, 519, 68, 513,
- 514, 68, 68, 68, 508, 521, 522, 527, 515, 523,
- 68, 516, 520, 517, 526, 68, 529, 68, 525, 509,
- 68, 68, 518, 528, 519, 534, 68, 68, 533, 531,
- 68, 530, 521, 522, 527, 532, 523, 68, 68, 68,
- 68, 526, 68, 529, 535, 525, 536, 68, 68, 68,
- 528, 538, 534, 537, 539, 533, 531, 541, 530, 540,
- 68, 542, 532, 543, 68, 549, 544, 548, 68, 1730,
- 68, 535, 1730, 536, 68, 68, 545, 68, 538, 550,
- 537, 539, 68, 134, 541, 68, 540, 68, 542, 68,
-
- 543, 546, 551, 544, 548, 552, 68, 553, 565, 547,
- 554, 561, 68, 545, 68, 562, 550, 68, 555, 68,
- 68, 563, 564, 68, 566, 68, 68, 68, 546, 551,
- 574, 68, 552, 1730, 553, 565, 547, 554, 561, 68,
- 577, 594, 562, 68, 578, 555, 556, 575, 563, 564,
- 557, 595, 68, 558, 581, 68, 68, 574, 579, 576,
- 559, 68, 580, 560, 68, 1730, 68, 577, 68, 582,
- 1730, 68, 68, 556, 575, 1730, 583, 557, 68, 584,
- 558, 581, 68, 1730, 1730, 579, 576, 559, 68, 580,
- 560, 567, 568, 592, 569, 68, 582, 570, 586, 585,
-
- 68, 68, 571, 583, 587, 68, 584, 68, 572, 573,
- 590, 588, 68, 589, 591, 68, 593, 68, 567, 568,
- 592, 569, 68, 68, 570, 586, 585, 596, 597, 571,
- 68, 587, 603, 598, 599, 572, 573, 590, 588, 68,
- 589, 591, 601, 68, 604, 602, 605, 600, 1730, 68,
- 1730, 68, 68, 68, 596, 597, 68, 607, 606, 68,
- 598, 599, 608, 68, 68, 68, 68, 609, 1730, 601,
- 610, 604, 602, 614, 600, 68, 611, 68, 1730, 68,
- 68, 616, 612, 615, 607, 606, 68, 68, 68, 608,
- 613, 617, 621, 620, 609, 619, 68, 610, 68, 618,
-
- 614, 625, 68, 611, 68, 68, 68, 622, 616, 612,
- 615, 68, 624, 623, 68, 68, 68, 613, 617, 621,
- 620, 68, 619, 626, 627, 628, 618, 629, 625, 630,
- 68, 68, 631, 1730, 622, 632, 637, 1730, 68, 624,
- 623, 633, 634, 68, 68, 636, 638, 635, 639, 640,
- 626, 627, 628, 68, 641, 68, 68, 68, 68, 631,
- 68, 643, 632, 68, 68, 644, 645, 68, 633, 634,
- 68, 68, 636, 638, 635, 639, 640, 642, 68, 646,
- 648, 647, 649, 68, 68, 68, 658, 650, 68, 68,
- 1730, 660, 134, 645, 68, 68, 1730, 657, 68, 659,
-
- 661, 68, 68, 68, 642, 1730, 646, 648, 647, 649,
- 1730, 664, 1730, 658, 650, 651, 662, 652, 660, 663,
- 68, 653, 68, 654, 657, 665, 659, 661, 655, 68,
- 673, 666, 68, 656, 68, 668, 669, 68, 664, 68,
- 1730, 667, 651, 662, 652, 670, 663, 679, 653, 68,
- 654, 68, 665, 68, 671, 655, 672, 68, 666, 674,
- 656, 68, 668, 669, 675, 678, 676, 68, 667, 68,
- 682, 684, 670, 683, 679, 680, 685, 68, 687, 681,
- 68, 671, 689, 672, 677, 68, 674, 688, 68, 68,
- 68, 675, 678, 676, 68, 68, 68, 682, 684, 686,
-
- 683, 690, 680, 685, 691, 68, 681, 68, 692, 694,
- 68, 677, 68, 68, 688, 693, 695, 68, 698, 700,
- 696, 697, 68, 699, 702, 68, 686, 68, 690, 68,
- 68, 691, 68, 701, 706, 692, 694, 68, 68, 709,
- 68, 703, 693, 695, 704, 698, 700, 696, 697, 68,
- 699, 68, 705, 68, 707, 68, 68, 68, 708, 711,
- 701, 706, 710, 712, 68, 718, 709, 713, 703, 714,
- 1730, 704, 715, 716, 720, 717, 68, 68, 1730, 705,
- 68, 707, 68, 722, 719, 708, 723, 721, 68, 710,
- 68, 68, 718, 68, 68, 68, 714, 68, 68, 715,
-
- 716, 720, 717, 724, 725, 68, 726, 727, 68, 729,
- 722, 719, 731, 723, 721, 68, 730, 728, 68, 733,
- 732, 68, 1730, 734, 68, 738, 68, 68, 68, 735,
- 724, 725, 736, 726, 68, 68, 729, 68, 740, 731,
- 68, 741, 739, 730, 728, 742, 733, 732, 737, 68,
- 734, 68, 738, 68, 68, 743, 735, 68, 68, 736,
- 744, 746, 745, 747, 749, 740, 750, 68, 754, 739,
- 68, 751, 68, 68, 68, 737, 68, 1730, 68, 68,
- 68, 752, 743, 68, 68, 755, 753, 68, 746, 745,
- 747, 749, 68, 750, 756, 754, 757, 758, 751, 68,
-
- 1730, 759, 760, 761, 762, 763, 764, 767, 752, 765,
- 766, 768, 755, 753, 68, 68, 68, 68, 68, 68,
- 68, 68, 769, 68, 758, 68, 68, 68, 759, 760,
- 761, 762, 763, 764, 68, 770, 765, 766, 768, 771,
- 773, 772, 68, 68, 774, 775, 776, 1730, 1730, 769,
- 779, 781, 777, 778, 780, 68, 783, 68, 68, 68,
- 68, 782, 770, 68, 1730, 68, 771, 773, 772, 68,
- 68, 774, 775, 776, 68, 68, 68, 779, 781, 777,
- 778, 780, 784, 783, 68, 785, 786, 787, 782, 789,
- 788, 790, 792, 795, 68, 68, 793, 68, 68, 791,
-
- 68, 1730, 68, 68, 68, 799, 68, 794, 796, 784,
- 797, 1730, 785, 786, 787, 798, 789, 788, 790, 792,
- 68, 68, 68, 793, 68, 68, 791, 68, 803, 68,
- 802, 804, 799, 805, 794, 796, 800, 797, 68, 806,
- 801, 808, 798, 1730, 809, 68, 807, 1730, 810, 813,
- 815, 68, 814, 816, 68, 803, 812, 802, 804, 811,
- 805, 68, 68, 68, 1730, 817, 68, 68, 808, 823,
- 68, 809, 68, 807, 68, 810, 813, 68, 68, 814,
- 818, 68, 824, 812, 68, 68, 811, 68, 819, 825,
- 826, 829, 817, 820, 827, 821, 823, 822, 828, 68,
-
- 830, 68, 831, 68, 68, 68, 68, 818, 68, 824,
- 832, 834, 835, 68, 836, 819, 825, 826, 829, 833,
- 820, 68, 821, 68, 822, 68, 68, 830, 68, 831,
- 837, 838, 839, 841, 840, 843, 842, 832, 834, 68,
- 845, 836, 68, 68, 844, 846, 833, 847, 849, 848,
- 854, 850, 68, 853, 68, 68, 851, 68, 838, 839,
- 68, 840, 68, 842, 852, 68, 68, 68, 68, 68,
- 68, 844, 846, 68, 847, 849, 848, 68, 850, 855,
- 853, 68, 856, 851, 857, 68, 859, 858, 1730, 861,
- 860, 852, 862, 863, 68, 864, 867, 68, 1730, 68,
-
- 1730, 870, 869, 68, 68, 68, 68, 868, 1730, 856,
- 68, 68, 865, 859, 858, 68, 68, 860, 866, 862,
- 863, 874, 68, 867, 871, 68, 68, 68, 870, 869,
- 872, 68, 68, 873, 868, 879, 875, 876, 884, 865,
- 68, 882, 68, 68, 881, 866, 877, 880, 874, 883,
- 878, 871, 1730, 68, 68, 1730, 885, 872, 1730, 68,
- 873, 68, 879, 875, 876, 884, 68, 886, 882, 68,
- 889, 881, 68, 888, 880, 68, 890, 68, 887, 68,
- 68, 891, 68, 885, 892, 68, 893, 896, 68, 895,
- 894, 1730, 68, 898, 886, 68, 1730, 889, 68, 68,
-
- 888, 68, 68, 890, 899, 887, 897, 68, 891, 900,
- 901, 892, 902, 893, 896, 904, 895, 894, 68, 906,
- 898, 68, 903, 905, 908, 68, 68, 68, 909, 68,
- 907, 899, 68, 897, 910, 911, 900, 901, 912, 902,
- 68, 913, 904, 914, 68, 915, 906, 68, 918, 903,
- 905, 924, 68, 68, 916, 68, 68, 907, 917, 68,
- 68, 910, 68, 68, 1730, 912, 919, 923, 913, 920,
- 914, 1730, 915, 922, 68, 68, 925, 68, 921, 68,
- 932, 68, 68, 926, 68, 68, 929, 927, 68, 928,
- 931, 68, 930, 919, 923, 68, 920, 68, 68, 68,
-
- 922, 933, 68, 925, 934, 921, 68, 932, 935, 941,
- 926, 936, 942, 929, 927, 945, 928, 931, 1730, 930,
- 937, 943, 68, 68, 938, 940, 944, 68, 933, 68,
- 948, 934, 68, 68, 68, 935, 68, 939, 936, 942,
- 946, 947, 949, 950, 68, 68, 68, 937, 943, 68,
- 951, 938, 940, 944, 952, 959, 68, 948, 953, 954,
- 955, 956, 68, 68, 939, 1730, 1730, 946, 947, 957,
- 68, 68, 960, 68, 68, 961, 966, 68, 68, 68,
- 958, 952, 68, 977, 68, 953, 954, 955, 956, 962,
- 963, 68, 68, 969, 68, 964, 957, 965, 68, 960,
-
- 967, 68, 961, 966, 970, 68, 68, 958, 968, 68,
- 973, 979, 976, 975, 68, 1730, 962, 963, 68, 68,
- 969, 68, 964, 971, 965, 972, 68, 967, 68, 974,
- 68, 970, 68, 980, 68, 968, 68, 973, 68, 976,
- 975, 978, 68, 981, 982, 991, 68, 984, 68, 985,
- 971, 983, 972, 990, 68, 986, 974, 1730, 993, 992,
- 980, 994, 68, 68, 68, 68, 987, 68, 978, 988,
- 68, 982, 991, 68, 984, 995, 985, 68, 983, 996,
- 68, 989, 986, 1730, 68, 993, 992, 997, 994, 998,
- 68, 1005, 999, 987, 1000, 1001, 988, 1002, 68, 68,
-
- 68, 68, 995, 1003, 1004, 1006, 1007, 68, 989, 1013,
- 68, 1010, 1730, 68, 997, 68, 998, 68, 68, 999,
- 1011, 1000, 1001, 1012, 68, 1730, 68, 68, 68, 1008,
- 1003, 1004, 1006, 1007, 1009, 68, 68, 68, 1010, 1014,
- 68, 68, 1015, 1017, 1019, 1016, 68, 1011, 1018, 68,
- 1012, 68, 1022, 1023, 1024, 1020, 1008, 1032, 1021, 1027,
- 68, 1009, 1025, 68, 68, 68, 1014, 1033, 1730, 1015,
- 1017, 1019, 1016, 68, 1031, 1018, 1026, 68, 68, 1022,
- 68, 1024, 1020, 1028, 68, 1021, 1027, 68, 68, 1025,
- 1029, 68, 68, 1030, 68, 1034, 1036, 1035, 1038, 1037,
-
- 68, 1031, 68, 1026, 1039, 68, 1040, 1041, 68, 1048,
- 1028, 68, 68, 68, 1042, 1730, 1043, 1029, 68, 1047,
- 1030, 1050, 1034, 1036, 1035, 1038, 1037, 1053, 68, 1051,
- 1044, 1039, 68, 1040, 1041, 1045, 68, 1052, 1046, 1049,
- 68, 1042, 68, 1043, 68, 1054, 1047, 1058, 68, 1055,
- 68, 1057, 68, 68, 1059, 1056, 1051, 1044, 68, 68,
- 1060, 68, 1045, 68, 1052, 1046, 1049, 1061, 68, 1062,
- 68, 1730, 1054, 68, 1058, 1063, 1055, 1065, 1057, 1064,
- 68, 1059, 1056, 1066, 68, 1067, 68, 1060, 1070, 1068,
- 1069, 1071, 68, 1072, 1075, 1730, 1062, 1730, 68, 1074,
-
- 68, 1073, 1063, 68, 1065, 68, 1064, 68, 68, 68,
- 1066, 68, 1067, 1078, 68, 1070, 1068, 1069, 1071, 68,
- 68, 1075, 1076, 1077, 1079, 1080, 1074, 1081, 1073, 1082,
- 1730, 68, 1084, 1083, 68, 1085, 1086, 68, 1730, 68,
- 1087, 1730, 1088, 1089, 68, 1098, 1730, 1097, 68, 1076,
- 1077, 1079, 1080, 68, 1081, 68, 68, 68, 1090, 68,
- 1083, 68, 1085, 68, 68, 1091, 1092, 1087, 1093, 1088,
- 1089, 1095, 1096, 68, 68, 1101, 68, 68, 68, 1100,
- 1102, 1094, 68, 1099, 68, 1090, 68, 68, 68, 68,
- 1103, 1104, 1091, 1092, 1105, 1093, 1106, 68, 1095, 1096,
-
- 1107, 1108, 1101, 1109, 1111, 1110, 1100, 68, 1094, 1112,
- 1099, 68, 1113, 1115, 68, 1114, 1125, 1103, 68, 68,
- 1730, 68, 1120, 1106, 1730, 68, 1121, 1123, 1108, 68,
- 1122, 68, 1110, 68, 68, 68, 1112, 68, 1127, 68,
- 68, 68, 1114, 68, 68, 1116, 1117, 1118, 1128, 1120,
- 1124, 1129, 1119, 1121, 1123, 68, 68, 1122, 1126, 68,
- 68, 1130, 1132, 1133, 68, 1127, 1134, 68, 1131, 68,
- 1135, 1139, 1116, 1117, 1118, 1128, 1137, 1124, 1129, 1119,
- 68, 68, 68, 1136, 68, 1126, 1138, 68, 68, 1132,
- 1133, 1140, 1141, 1134, 1142, 1131, 68, 1135, 68, 1144,
-
- 1143, 1146, 68, 1137, 1145, 1147, 1148, 1730, 68, 1150,
- 1136, 68, 68, 1138, 1730, 68, 68, 68, 1140, 1141,
- 1154, 68, 68, 1149, 68, 1151, 1144, 1143, 1146, 68,
- 1152, 1145, 1147, 1148, 1153, 68, 1150, 68, 68, 1156,
- 1155, 68, 1159, 1157, 1163, 1160, 68, 1154, 1158, 1161,
- 1149, 68, 1151, 1162, 1166, 1169, 1164, 1152, 68, 68,
- 1165, 1153, 68, 1167, 68, 1168, 68, 1155, 1170, 68,
- 1157, 68, 1160, 1171, 1172, 1158, 1161, 1173, 1174, 68,
- 68, 1176, 1197, 68, 68, 68, 68, 68, 1175, 68,
- 1167, 1177, 1168, 68, 1730, 1170, 68, 1178, 1730, 1179,
-
- 1171, 1172, 1180, 1181, 1173, 1184, 68, 1182, 1188, 68,
- 1183, 1730, 68, 68, 68, 1175, 1730, 1185, 1177, 1187,
- 1190, 68, 1186, 68, 1178, 68, 1179, 68, 1189, 68,
- 68, 68, 1184, 1192, 1182, 1188, 1195, 1183, 68, 1193,
- 68, 68, 1194, 68, 1185, 1191, 1187, 68, 68, 1186,
- 68, 68, 68, 1196, 1198, 1189, 1207, 1199, 1202, 68,
- 1192, 1201, 1204, 1195, 1203, 1205, 1193, 68, 1200, 1194,
- 68, 1209, 1191, 1206, 1210, 68, 68, 68, 1211, 1730,
- 1196, 1198, 68, 68, 1199, 1202, 68, 68, 1201, 68,
- 1212, 1203, 1205, 1208, 1215, 1200, 1214, 68, 1209, 68,
-
- 1206, 1210, 1213, 68, 1217, 68, 1220, 1216, 1730, 68,
- 68, 1218, 68, 68, 1223, 1219, 1228, 1212, 68, 68,
- 1208, 1215, 68, 1214, 1224, 1221, 68, 1226, 1222, 1213,
- 68, 1217, 68, 1220, 1216, 68, 68, 1225, 1218, 1230,
- 1227, 1223, 1219, 68, 1231, 68, 68, 1229, 68, 68,
- 1232, 1224, 1221, 68, 1226, 1222, 1233, 1236, 1235, 1234,
- 1237, 68, 1238, 1239, 1225, 68, 1230, 1227, 68, 68,
- 68, 1231, 68, 1240, 1229, 1244, 68, 1232, 68, 1241,
- 1243, 1246, 68, 1233, 1730, 1235, 1234, 1237, 68, 1238,
- 1239, 68, 1242, 1245, 1250, 1247, 68, 68, 1248, 68,
-
- 68, 1249, 1244, 1254, 1256, 1252, 1241, 1253, 1246, 1251,
- 1730, 68, 68, 68, 1257, 68, 1255, 68, 68, 1242,
- 1245, 1250, 1247, 68, 68, 1248, 68, 68, 1249, 68,
- 1254, 1256, 1252, 1258, 1253, 68, 1251, 1259, 1260, 1261,
- 68, 1257, 1262, 1255, 1263, 1264, 1730, 1265, 1267, 68,
- 1266, 1269, 1271, 1268, 68, 68, 1272, 68, 1273, 68,
- 1258, 1274, 68, 1270, 1259, 1260, 1261, 68, 1275, 68,
- 68, 1263, 68, 68, 1265, 1267, 68, 1266, 68, 1271,
- 1268, 1276, 68, 68, 1277, 1273, 1279, 1278, 68, 1280,
- 1270, 68, 1730, 68, 68, 1275, 68, 1281, 1282, 1284,
-
- 1283, 1285, 68, 1287, 1286, 1289, 1288, 1730, 1276, 68,
- 68, 1277, 68, 68, 1278, 68, 1280, 68, 1290, 68,
- 1299, 68, 1291, 68, 1281, 1282, 1284, 1283, 1285, 68,
- 68, 1286, 1289, 1288, 1292, 1293, 1295, 1296, 1294, 68,
- 68, 68, 68, 68, 68, 1290, 1298, 68, 1300, 1291,
- 1304, 1297, 68, 1301, 1305, 1302, 1303, 1306, 1308, 1309,
- 1307, 1292, 1293, 1295, 1296, 1294, 68, 68, 68, 1310,
- 68, 1311, 68, 1298, 68, 1300, 68, 1304, 1297, 68,
- 1301, 68, 1302, 1303, 68, 68, 68, 1307, 1312, 1313,
- 1315, 1314, 1316, 1317, 1318, 1319, 68, 1730, 1311, 68,
-
- 1321, 68, 1320, 1324, 68, 1325, 1326, 1327, 1329, 1730,
- 1322, 68, 68, 68, 1328, 68, 68, 1315, 1314, 68,
- 1317, 68, 1319, 68, 68, 1323, 68, 1321, 1330, 1320,
- 68, 68, 1325, 68, 1327, 1329, 68, 1322, 1331, 1332,
- 1335, 1328, 1333, 68, 1334, 1336, 68, 1338, 1339, 68,
- 1340, 1337, 1323, 1346, 1341, 68, 68, 1730, 68, 1730,
- 68, 1343, 68, 1347, 1344, 1331, 68, 1335, 1342, 1333,
- 68, 1334, 1336, 68, 1338, 1339, 68, 1340, 1337, 68,
- 68, 1341, 68, 1345, 68, 1348, 68, 1349, 1343, 1350,
- 1347, 1344, 68, 1351, 1352, 1342, 68, 1730, 1356, 1354,
-
- 1355, 1730, 1353, 1730, 1357, 68, 1360, 1361, 1358, 1362,
- 1345, 68, 1348, 68, 1349, 68, 1350, 1363, 68, 1370,
- 68, 1352, 68, 1364, 68, 1356, 1354, 1355, 68, 1353,
- 68, 1357, 1359, 68, 68, 1358, 1362, 1366, 68, 68,
- 1365, 1730, 1367, 68, 1363, 68, 68, 1368, 1369, 1371,
- 1364, 1372, 1373, 68, 1374, 1375, 1377, 1730, 68, 1359,
- 1730, 1376, 68, 1378, 1366, 68, 1381, 1365, 68, 1367,
- 68, 68, 68, 1380, 1368, 1369, 1371, 68, 1372, 1373,
- 1379, 1374, 1375, 68, 68, 1382, 1383, 68, 1376, 1384,
- 1378, 68, 1385, 1387, 1388, 68, 1386, 68, 1389, 1390,
-
- 1380, 1392, 1395, 1391, 68, 1393, 68, 1379, 1394, 1730,
- 1398, 68, 1382, 1383, 68, 68, 1384, 1399, 68, 68,
- 68, 68, 1396, 1386, 1397, 68, 1390, 68, 1392, 68,
- 1391, 68, 1393, 68, 1400, 68, 68, 68, 1402, 68,
- 1401, 1403, 1404, 1405, 1399, 1407, 1730, 1406, 1408, 1396,
- 1730, 1397, 1413, 68, 68, 1411, 1409, 1412, 1410, 68,
- 68, 1400, 68, 68, 68, 1402, 1730, 1401, 68, 68,
- 68, 68, 1407, 68, 1406, 1408, 1414, 68, 1417, 68,
- 1415, 68, 1411, 1409, 1412, 1410, 1416, 1418, 1419, 1420,
- 68, 1421, 68, 68, 68, 1422, 68, 1423, 68, 1424,
-
- 1425, 68, 1426, 1414, 1434, 1417, 1730, 1415, 1730, 68,
- 1433, 1427, 1430, 1416, 1418, 1419, 1420, 68, 1421, 68,
- 68, 1436, 1422, 1428, 1423, 1429, 68, 68, 68, 1426,
- 68, 68, 68, 1431, 1432, 1435, 68, 1433, 1427, 1430,
- 68, 68, 1437, 68, 1442, 1443, 1438, 1439, 1436, 1730,
- 1428, 1441, 1429, 68, 68, 68, 68, 1440, 1444, 68,
- 1431, 1432, 1435, 1445, 1446, 1450, 1451, 68, 68, 1437,
- 1447, 68, 68, 1438, 1439, 68, 68, 68, 1441, 1448,
- 1454, 1449, 1452, 1455, 1440, 1444, 1453, 68, 68, 68,
- 1445, 1446, 1450, 68, 68, 68, 1457, 1447, 1456, 1459,
-
- 1460, 1730, 1461, 68, 1463, 1730, 1448, 1454, 1449, 1452,
- 68, 1458, 68, 1453, 1464, 1462, 1466, 1465, 1467, 68,
- 68, 1468, 68, 68, 68, 1456, 68, 68, 68, 1461,
- 1469, 1463, 1470, 68, 1471, 1472, 68, 68, 1458, 68,
- 1473, 1464, 1462, 1466, 1465, 1467, 68, 1474, 1468, 1475,
- 1476, 1478, 68, 1477, 68, 1730, 1479, 1469, 1730, 1470,
- 1482, 1471, 68, 1480, 1484, 1730, 1481, 68, 1486, 1483,
- 1730, 68, 68, 1730, 1485, 1730, 1475, 68, 68, 68,
- 68, 1489, 68, 1479, 68, 68, 68, 1482, 68, 68,
- 1480, 1484, 68, 1481, 1487, 1486, 1483, 1488, 1490, 68,
-
- 1491, 1485, 1492, 68, 1493, 1496, 1494, 1495, 1489, 1498,
- 1497, 68, 68, 68, 1730, 68, 68, 1500, 1503, 1499,
- 68, 1487, 1501, 1505, 1488, 1490, 68, 1491, 68, 1492,
- 68, 1493, 68, 1494, 1495, 1504, 68, 1497, 68, 68,
- 68, 1502, 1514, 1507, 1500, 1503, 1499, 1506, 1508, 1501,
- 68, 1509, 1510, 1511, 68, 68, 1512, 1515, 1513, 1516,
- 1517, 68, 1504, 1518, 1730, 68, 1525, 1730, 1502, 68,
- 1507, 68, 68, 68, 1506, 1508, 1730, 1521, 68, 68,
- 68, 68, 68, 1512, 68, 1513, 1516, 1517, 1519, 1520,
- 1523, 1522, 1524, 68, 68, 1526, 1531, 68, 68, 68,
-
- 68, 1527, 1528, 68, 1521, 68, 1529, 68, 1530, 1532,
- 68, 1534, 68, 1540, 1533, 1519, 1520, 1523, 1522, 1524,
- 68, 68, 1526, 1531, 1535, 1538, 1730, 1541, 1527, 1528,
- 1536, 68, 68, 1529, 68, 1530, 1532, 68, 1534, 1537,
- 68, 1533, 68, 1542, 1539, 1543, 68, 1544, 1546, 68,
- 68, 1535, 1538, 68, 1541, 1545, 1547, 1536, 68, 68,
- 1549, 68, 1548, 68, 1730, 68, 1537, 1550, 1551, 1557,
- 1542, 1539, 1543, 68, 1544, 1546, 1555, 1558, 1552, 68,
- 1559, 1553, 1545, 1547, 68, 68, 68, 1549, 68, 1548,
- 68, 1554, 1556, 1562, 1550, 1551, 68, 68, 68, 1561,
-
- 68, 68, 1560, 1555, 1558, 1552, 1564, 68, 1553, 1563,
- 68, 68, 1565, 1566, 1570, 1567, 1568, 1571, 1554, 1556,
- 68, 68, 1572, 68, 68, 68, 1561, 1569, 68, 1560,
- 1573, 1574, 68, 1564, 68, 1576, 1563, 1577, 68, 1565,
- 1566, 68, 1567, 1568, 1571, 1579, 1575, 1580, 1730, 68,
- 68, 1578, 68, 68, 1569, 1581, 68, 1573, 68, 1583,
- 1582, 68, 1576, 68, 1577, 1584, 68, 1587, 1585, 1586,
- 1589, 1588, 68, 1575, 68, 68, 68, 1592, 1578, 68,
- 1590, 1591, 1581, 68, 1593, 1594, 1583, 1582, 1595, 68,
- 68, 1598, 68, 68, 1587, 1585, 1586, 1597, 1588, 1599,
-
- 1596, 68, 1600, 1601, 68, 1602, 1604, 1590, 1591, 1603,
- 68, 68, 1594, 68, 1606, 1595, 1605, 1607, 68, 68,
- 1609, 1608, 1612, 1610, 1597, 68, 68, 1596, 1730, 68,
- 1601, 1611, 68, 68, 68, 68, 1603, 68, 1618, 68,
- 68, 68, 1613, 1605, 1607, 68, 1614, 68, 1608, 1612,
- 1610, 68, 1619, 68, 1615, 1616, 1617, 68, 1611, 68,
- 68, 1620, 68, 1621, 68, 1618, 1622, 1623, 1624, 1613,
- 1626, 1625, 1629, 1614, 1627, 1630, 1628, 1730, 1631, 1619,
- 68, 1615, 1616, 1617, 68, 68, 68, 1634, 68, 68,
- 68, 68, 1632, 1622, 68, 1624, 1635, 68, 1625, 68,
-
- 1633, 1627, 68, 1628, 68, 1631, 68, 1636, 1637, 68,
- 1638, 1639, 1640, 1641, 1634, 68, 1642, 1643, 68, 1632,
- 1644, 1730, 1645, 1635, 1646, 1730, 1730, 1633, 68, 1649,
- 1648, 1730, 68, 68, 1636, 68, 1647, 68, 68, 68,
- 1641, 68, 68, 1642, 68, 68, 1650, 1644, 68, 1645,
- 1651, 1646, 68, 68, 1652, 1654, 1649, 1648, 1653, 1655,
- 1656, 68, 68, 1647, 68, 1657, 68, 68, 1659, 1660,
- 1658, 1662, 68, 1650, 1661, 1663, 68, 1651, 1667, 1668,
- 1664, 1652, 1654, 68, 1730, 1653, 1655, 1656, 68, 1670,
- 68, 68, 68, 68, 1666, 1659, 1660, 1658, 1662, 1665,
-
- 1669, 1661, 68, 68, 1671, 1672, 68, 1664, 1677, 68,
- 68, 68, 68, 68, 1673, 1674, 1670, 1676, 68, 1675,
- 1679, 1666, 68, 1678, 1685, 68, 1665, 1669, 68, 68,
- 68, 1671, 1672, 68, 1680, 1677, 1681, 1682, 1686, 1730,
- 1683, 1673, 1674, 1684, 1676, 68, 1675, 1679, 1687, 1688,
- 1678, 68, 1690, 1697, 1730, 68, 1730, 68, 68, 68,
- 68, 1680, 68, 1681, 1682, 68, 1689, 1683, 68, 1691,
- 1684, 1692, 1693, 1694, 68, 1687, 1688, 68, 1695, 68,
- 1697, 68, 1698, 68, 1699, 68, 68, 1696, 1730, 1700,
- 1730, 1701, 68, 1689, 68, 1730, 1691, 1702, 1692, 1693,
-
- 1694, 68, 1703, 1705, 68, 1695, 1706, 1707, 1730, 1698,
- 1709, 1699, 1704, 1708, 1696, 68, 1700, 68, 1701, 68,
- 68, 68, 68, 1710, 1702, 1711, 68, 68, 1713, 1703,
- 68, 68, 68, 1706, 1707, 1712, 68, 1709, 1714, 1704,
- 1708, 1715, 1719, 1716, 1720, 1717, 68, 68, 1718, 1721,
- 1710, 68, 1711, 68, 1722, 1713, 1730, 68, 1723, 1730,
- 1724, 1725, 1712, 1728, 68, 1714, 1729, 68, 1715, 68,
- 1716, 1720, 1717, 1730, 68, 1718, 68, 1730, 68, 1730,
- 1730, 68, 68, 68, 1726, 1723, 1727, 1724, 1725, 1730,
- 68, 1730, 68, 68, 68, 1730, 1730, 1730, 1730, 1730,
-
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1726, 1730, 1727, 40, 40, 40, 40, 40, 40,
- 40, 45, 45, 45, 45, 45, 45, 45, 50, 50,
- 50, 50, 50, 50, 50, 56, 56, 56, 56, 56,
- 56, 56, 61, 61, 61, 61, 61, 61, 61, 71,
- 71, 1730, 71, 71, 71, 71, 124, 124, 1730, 1730,
- 1730, 124, 124, 126, 126, 1730, 1730, 126, 1730, 126,
- 128, 1730, 1730, 1730, 1730, 1730, 128, 131, 131, 1730,
- 1730, 1730, 131, 131, 133, 1730, 1730, 1730, 1730, 1730,
- 133, 135, 135, 1730, 135, 135, 135, 135, 72, 72,
-
- 1730, 72, 72, 72, 72, 13, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730
+ 68, 100, 140, 102, 90, 139, 121, 91, 68, 68,
+ 97, 122, 199, 80, 92, 104, 93, 81, 98, 103,
+ 82, 138, 83, 84, 99, 68, 101, 110, 100, 68,
+ 102, 111, 139, 128, 135, 118, 135, 119, 126, 199,
+ 129, 112, 129, 129, 113, 129, 103, 105, 138, 68,
+ 148, 106, 120, 68, 110, 68, 144, 107, 111, 123,
+ 108, 68, 118, 124, 119, 68, 114, 109, 112, 68,
+ 134, 113, 134, 134, 105, 134, 115, 148, 106, 120,
+ 116, 117, 135, 144, 107, 68, 123, 108, 68, 141,
+
+ 124, 133, 131, 114, 109, 72, 68, 72, 72, 67,
+ 72, 67, 67, 115, 67, 150, 142, 116, 117, 67,
+ 72, 145, 72, 72, 146, 72, 141, 147, 153, 143,
+ 72, 152, 151, 149, 68, 68, 68, 158, 154, 68,
+ 68, 68, 137, 142, 68, 156, 68, 68, 145, 157,
+ 68, 146, 155, 162, 147, 153, 143, 73, 152, 151,
+ 149, 68, 163, 159, 158, 154, 160, 130, 68, 128,
+ 68, 68, 156, 166, 164, 168, 157, 167, 68, 155,
+ 161, 126, 169, 170, 68, 171, 68, 68, 173, 163,
+ 159, 175, 1751, 160, 165, 68, 68, 68, 68, 172,
+
+ 166, 164, 168, 174, 167, 68, 68, 161, 68, 169,
+ 170, 176, 171, 68, 177, 173, 178, 68, 175, 183,
+ 68, 165, 181, 179, 182, 68, 172, 180, 184, 68,
+ 174, 68, 187, 68, 185, 186, 1751, 68, 176, 189,
+ 68, 177, 68, 178, 68, 68, 183, 191, 284, 181,
+ 179, 182, 188, 192, 180, 184, 68, 194, 197, 190,
+ 317, 185, 186, 68, 68, 68, 189, 68, 196, 193,
+ 1751, 201, 198, 68, 191, 68, 1751, 68, 195, 188,
+ 192, 68, 68, 210, 194, 197, 190, 68, 200, 129,
+ 68, 129, 129, 1751, 129, 196, 193, 203, 134, 198,
+
+ 134, 134, 68, 134, 72, 195, 72, 72, 202, 72,
+ 68, 204, 207, 205, 68, 200, 68, 208, 211, 68,
+ 68, 206, 219, 209, 203, 68, 218, 221, 68, 220,
+ 68, 68, 222, 228, 224, 202, 223, 1751, 204, 212,
+ 205, 137, 68, 68, 208, 68, 68, 68, 206, 219,
+ 209, 68, 68, 218, 221, 68, 220, 234, 68, 222,
+ 228, 224, 225, 223, 229, 226, 212, 213, 227, 232,
+ 233, 1751, 214, 1751, 68, 235, 68, 215, 238, 230,
+ 68, 68, 1751, 216, 217, 241, 68, 1751, 68, 225,
+ 68, 229, 226, 236, 213, 227, 232, 233, 231, 214,
+
+ 239, 68, 235, 237, 215, 68, 230, 240, 243, 68,
+ 216, 217, 244, 68, 242, 245, 68, 246, 68, 247,
+ 1751, 248, 1751, 252, 68, 231, 249, 239, 68, 261,
+ 237, 68, 250, 251, 240, 68, 68, 68, 259, 68,
+ 68, 242, 245, 68, 246, 68, 247, 68, 248, 253,
+ 252, 254, 68, 249, 68, 255, 261, 256, 68, 250,
+ 251, 68, 68, 257, 258, 262, 260, 263, 266, 68,
+ 1751, 1751, 68, 68, 265, 264, 253, 68, 254, 269,
+ 270, 267, 255, 68, 256, 68, 275, 274, 277, 68,
+ 257, 258, 262, 260, 68, 266, 272, 271, 68, 276,
+
+ 273, 265, 264, 268, 278, 68, 68, 270, 68, 279,
+ 68, 135, 68, 280, 274, 282, 68, 68, 68, 68,
+ 281, 68, 68, 272, 271, 283, 276, 273, 285, 288,
+ 268, 278, 68, 286, 287, 1751, 279, 292, 289, 68,
+ 280, 68, 282, 290, 293, 68, 291, 281, 294, 296,
+ 295, 68, 283, 1751, 68, 285, 288, 68, 298, 68,
+ 286, 287, 68, 301, 68, 289, 68, 68, 68, 297,
+ 290, 293, 68, 291, 68, 294, 68, 295, 299, 300,
+ 68, 303, 302, 304, 68, 298, 305, 306, 307, 68,
+ 301, 68, 68, 68, 373, 374, 297, 309, 311, 308,
+
+ 310, 68, 1751, 1751, 68, 299, 300, 68, 303, 302,
+ 304, 312, 68, 305, 68, 307, 68, 68, 68, 313,
+ 314, 318, 322, 68, 309, 311, 308, 310, 315, 316,
+ 321, 319, 323, 68, 320, 68, 324, 330, 312, 328,
+ 68, 68, 68, 325, 340, 68, 313, 314, 318, 322,
+ 68, 326, 327, 68, 68, 315, 316, 321, 319, 323,
+ 329, 320, 331, 68, 68, 68, 328, 68, 68, 68,
+ 325, 332, 333, 335, 334, 68, 339, 68, 326, 327,
+ 336, 343, 341, 337, 342, 338, 68, 329, 68, 331,
+ 68, 68, 345, 68, 68, 362, 68, 346, 332, 333,
+
+ 335, 334, 344, 339, 68, 68, 356, 336, 343, 341,
+ 337, 342, 338, 347, 68, 348, 1751, 367, 68, 345,
+ 357, 68, 359, 360, 346, 358, 68, 361, 68, 344,
+ 68, 135, 363, 356, 68, 68, 68, 1751, 68, 364,
+ 347, 370, 348, 349, 350, 1751, 68, 357, 68, 359,
+ 360, 365, 358, 351, 361, 352, 353, 354, 368, 363,
+ 355, 366, 369, 68, 372, 68, 364, 375, 68, 389,
+ 349, 350, 68, 68, 68, 68, 379, 1751, 365, 371,
+ 351, 376, 352, 353, 354, 368, 68, 355, 366, 369,
+ 68, 372, 68, 377, 375, 380, 378, 382, 381, 383,
+
+ 68, 68, 1751, 379, 68, 386, 371, 68, 376, 68,
+ 68, 385, 384, 387, 390, 388, 394, 68, 68, 392,
+ 377, 391, 380, 378, 382, 381, 383, 68, 393, 68,
+ 68, 395, 386, 68, 396, 68, 68, 399, 385, 384,
+ 387, 390, 388, 394, 68, 68, 392, 397, 391, 398,
+ 68, 402, 68, 68, 400, 393, 401, 68, 395, 404,
+ 403, 1751, 405, 406, 399, 68, 68, 68, 1751, 68,
+ 1751, 413, 407, 68, 397, 408, 398, 68, 402, 1751,
+ 410, 400, 68, 401, 68, 68, 404, 403, 68, 405,
+ 406, 68, 414, 68, 409, 68, 411, 412, 413, 407,
+
+ 415, 68, 408, 68, 68, 417, 416, 410, 418, 1751,
+ 68, 419, 420, 1751, 421, 1751, 68, 68, 68, 414,
+ 422, 409, 68, 411, 412, 68, 423, 415, 1751, 424,
+ 1751, 437, 68, 416, 425, 418, 68, 68, 419, 420,
+ 68, 421, 68, 431, 432, 433, 439, 422, 68, 1751,
+ 68, 435, 436, 423, 434, 68, 424, 68, 437, 68,
+ 1751, 425, 426, 438, 1751, 68, 1751, 427, 440, 428,
+ 431, 432, 68, 439, 442, 68, 68, 429, 435, 436,
+ 68, 434, 441, 443, 445, 446, 68, 430, 68, 426,
+ 438, 68, 447, 444, 427, 440, 428, 68, 68, 449,
+
+ 68, 442, 450, 68, 429, 448, 68, 452, 451, 441,
+ 443, 445, 446, 453, 430, 455, 68, 68, 454, 447,
+ 444, 456, 135, 68, 457, 458, 449, 68, 468, 459,
+ 460, 466, 448, 68, 452, 451, 68, 68, 467, 68,
+ 453, 68, 68, 469, 461, 454, 463, 462, 456, 68,
+ 464, 457, 458, 465, 68, 68, 459, 460, 68, 68,
+ 470, 471, 472, 473, 477, 68, 475, 68, 68, 1751,
+ 68, 461, 474, 476, 462, 478, 479, 68, 1751, 480,
+ 465, 481, 68, 488, 485, 68, 68, 68, 1751, 472,
+ 473, 477, 68, 490, 68, 68, 68, 68, 489, 474,
+
+ 476, 68, 478, 486, 482, 487, 480, 68, 481, 483,
+ 68, 485, 68, 484, 68, 491, 68, 68, 68, 493,
+ 490, 494, 495, 496, 497, 489, 498, 1751, 68, 500,
+ 486, 482, 487, 499, 68, 68, 483, 492, 68, 68,
+ 484, 68, 491, 501, 68, 504, 493, 502, 494, 495,
+ 496, 497, 503, 68, 68, 505, 500, 68, 68, 1751,
+ 499, 68, 506, 507, 492, 512, 508, 68, 511, 68,
+ 501, 509, 504, 513, 502, 510, 516, 514, 518, 503,
+ 517, 1751, 68, 520, 68, 521, 68, 68, 68, 506,
+ 507, 68, 515, 508, 68, 511, 68, 525, 519, 526,
+
+ 513, 68, 68, 68, 514, 518, 68, 68, 68, 522,
+ 520, 527, 521, 523, 530, 524, 534, 68, 68, 515,
+ 68, 68, 68, 68, 525, 519, 526, 529, 528, 1751,
+ 532, 1751, 68, 531, 1751, 533, 522, 68, 527, 68,
+ 523, 68, 524, 534, 535, 68, 540, 539, 536, 538,
+ 541, 1751, 545, 537, 529, 528, 68, 532, 68, 68,
+ 531, 68, 533, 68, 542, 543, 68, 68, 68, 544,
+ 68, 535, 68, 540, 539, 536, 538, 541, 68, 545,
+ 537, 546, 547, 548, 550, 1751, 68, 68, 549, 555,
+ 552, 542, 543, 1751, 551, 68, 544, 558, 553, 68,
+
+ 68, 554, 572, 556, 559, 135, 68, 68, 546, 547,
+ 548, 550, 68, 560, 557, 549, 68, 552, 600, 68,
+ 68, 551, 68, 68, 558, 553, 68, 567, 554, 68,
+ 556, 559, 561, 68, 68, 568, 570, 1751, 569, 68,
+ 560, 557, 581, 571, 584, 68, 580, 1751, 582, 68,
+ 68, 68, 583, 601, 567, 612, 68, 68, 585, 561,
+ 562, 1751, 568, 570, 563, 569, 68, 564, 68, 581,
+ 571, 68, 586, 580, 565, 582, 68, 566, 68, 583,
+ 587, 1751, 68, 588, 68, 585, 68, 562, 589, 1751,
+ 1751, 563, 68, 592, 564, 1751, 1751, 590, 68, 586,
+
+ 68, 565, 595, 1751, 566, 573, 574, 587, 575, 68,
+ 588, 576, 68, 591, 596, 589, 577, 593, 594, 68,
+ 592, 68, 578, 579, 590, 68, 68, 597, 68, 595,
+ 598, 68, 573, 574, 599, 575, 68, 68, 576, 602,
+ 591, 596, 607, 577, 593, 594, 603, 606, 608, 578,
+ 579, 604, 68, 605, 597, 610, 68, 598, 611, 636,
+ 1751, 68, 615, 68, 68, 614, 602, 68, 68, 607,
+ 68, 609, 68, 603, 606, 608, 613, 68, 604, 68,
+ 605, 616, 68, 68, 68, 611, 68, 617, 618, 615,
+ 68, 621, 614, 619, 68, 1751, 623, 68, 609, 622,
+
+ 68, 620, 68, 613, 624, 625, 627, 628, 616, 626,
+ 68, 68, 632, 68, 617, 618, 68, 68, 621, 630,
+ 619, 68, 631, 623, 68, 68, 622, 68, 620, 629,
+ 68, 624, 625, 627, 628, 634, 626, 633, 68, 632,
+ 68, 635, 68, 637, 638, 639, 630, 1751, 640, 631,
+ 643, 641, 644, 68, 68, 642, 629, 645, 68, 648,
+ 646, 68, 634, 68, 633, 647, 1751, 68, 635, 68,
+ 650, 638, 639, 68, 68, 640, 68, 643, 641, 68,
+ 651, 68, 642, 68, 645, 653, 649, 646, 652, 656,
+ 68, 654, 647, 68, 657, 655, 1751, 68, 68, 68,
+
+ 68, 68, 68, 664, 1751, 665, 1751, 135, 68, 1751,
+ 1751, 671, 653, 649, 680, 652, 656, 68, 654, 1751,
+ 1751, 657, 655, 658, 668, 659, 68, 667, 1751, 660,
+ 664, 661, 665, 666, 68, 68, 662, 672, 671, 68,
+ 669, 663, 670, 675, 1751, 68, 68, 68, 1751, 68,
+ 658, 668, 659, 68, 667, 68, 660, 679, 661, 676,
+ 666, 673, 678, 662, 672, 68, 685, 669, 663, 670,
+ 675, 674, 68, 677, 686, 68, 688, 687, 68, 68,
+ 681, 68, 689, 68, 679, 682, 676, 683, 673, 678,
+ 68, 68, 691, 685, 690, 694, 68, 692, 674, 696,
+
+ 677, 686, 695, 688, 687, 684, 68, 681, 68, 689,
+ 68, 68, 682, 697, 683, 693, 68, 699, 698, 691,
+ 701, 690, 68, 68, 692, 68, 68, 700, 68, 695,
+ 68, 68, 684, 703, 706, 702, 705, 68, 709, 707,
+ 697, 68, 693, 718, 699, 698, 68, 701, 704, 68,
+ 708, 68, 68, 717, 700, 711, 68, 710, 68, 712,
+ 703, 706, 702, 705, 68, 68, 707, 713, 68, 68,
+ 714, 68, 716, 715, 68, 704, 725, 708, 724, 68,
+ 717, 720, 711, 68, 710, 721, 712, 719, 1751, 68,
+ 68, 728, 68, 722, 713, 68, 723, 714, 726, 716,
+
+ 715, 68, 68, 725, 727, 724, 730, 729, 731, 735,
+ 68, 68, 68, 68, 719, 68, 732, 734, 728, 68,
+ 722, 733, 736, 723, 1751, 726, 1751, 738, 68, 1751,
+ 68, 727, 68, 730, 729, 731, 68, 68, 68, 740,
+ 68, 737, 742, 732, 734, 741, 739, 68, 733, 736,
+ 68, 68, 68, 743, 738, 68, 68, 744, 745, 746,
+ 747, 749, 748, 750, 752, 1751, 740, 68, 737, 742,
+ 751, 1751, 741, 739, 1751, 68, 68, 68, 755, 68,
+ 743, 758, 68, 68, 744, 745, 746, 747, 753, 748,
+ 754, 68, 68, 68, 68, 757, 68, 751, 759, 68,
+
+ 760, 761, 68, 68, 68, 755, 68, 762, 758, 763,
+ 764, 765, 775, 766, 68, 753, 68, 754, 768, 68,
+ 769, 767, 757, 1751, 770, 759, 771, 760, 761, 772,
+ 1751, 68, 773, 68, 762, 68, 763, 68, 68, 68,
+ 766, 68, 68, 68, 68, 768, 68, 769, 767, 774,
+ 777, 770, 776, 771, 779, 778, 772, 68, 1751, 773,
+ 782, 68, 68, 780, 781, 783, 784, 1751, 785, 1751,
+ 787, 68, 786, 68, 788, 68, 774, 777, 68, 776,
+ 68, 779, 778, 794, 68, 68, 68, 782, 790, 68,
+ 780, 781, 783, 784, 68, 785, 68, 787, 789, 786,
+
+ 791, 788, 792, 68, 793, 795, 68, 797, 1751, 796,
+ 794, 68, 798, 68, 68, 790, 68, 68, 68, 799,
+ 68, 68, 805, 800, 802, 789, 801, 791, 803, 792,
+ 804, 793, 795, 68, 797, 68, 796, 806, 807, 798,
+ 68, 68, 68, 68, 68, 811, 799, 810, 808, 805,
+ 800, 802, 809, 801, 812, 68, 814, 804, 813, 68,
+ 68, 1751, 815, 1751, 806, 807, 1751, 818, 68, 816,
+ 817, 68, 811, 1751, 810, 822, 68, 819, 820, 68,
+ 823, 812, 1751, 824, 68, 813, 821, 68, 68, 815,
+ 825, 68, 68, 68, 818, 68, 816, 817, 826, 68,
+
+ 68, 827, 822, 831, 819, 820, 828, 832, 829, 833,
+ 830, 68, 68, 821, 68, 834, 836, 825, 844, 68,
+ 837, 68, 835, 68, 840, 826, 838, 68, 827, 68,
+ 831, 68, 68, 828, 832, 829, 833, 830, 839, 68,
+ 846, 841, 834, 68, 845, 68, 68, 68, 842, 835,
+ 843, 840, 68, 838, 68, 847, 68, 68, 848, 850,
+ 852, 849, 853, 851, 854, 839, 855, 68, 841, 68,
+ 68, 845, 856, 68, 858, 842, 857, 843, 859, 68,
+ 68, 861, 847, 860, 68, 848, 68, 68, 849, 853,
+ 851, 68, 68, 855, 68, 68, 68, 862, 863, 856,
+
+ 864, 858, 68, 857, 68, 859, 865, 866, 861, 867,
+ 860, 1751, 868, 870, 869, 871, 873, 68, 876, 872,
+ 68, 1751, 68, 68, 862, 68, 878, 68, 68, 68,
+ 68, 68, 879, 865, 877, 68, 867, 874, 68, 868,
+ 68, 869, 871, 875, 880, 876, 872, 68, 882, 68,
+ 68, 68, 881, 878, 68, 883, 884, 68, 68, 879,
+ 68, 877, 885, 886, 874, 890, 889, 887, 888, 892,
+ 875, 880, 1751, 1751, 891, 882, 893, 68, 1751, 881,
+ 894, 1751, 883, 884, 68, 68, 68, 68, 898, 885,
+ 68, 900, 890, 889, 68, 888, 68, 895, 68, 68,
+
+ 68, 891, 897, 893, 899, 68, 904, 894, 896, 68,
+ 68, 68, 902, 68, 901, 898, 905, 903, 900, 68,
+ 906, 68, 907, 908, 895, 68, 909, 911, 68, 897,
+ 68, 899, 68, 904, 910, 896, 68, 68, 914, 902,
+ 912, 901, 916, 905, 903, 68, 68, 906, 913, 907,
+ 908, 915, 917, 909, 911, 918, 68, 68, 68, 68,
+ 68, 910, 919, 920, 68, 914, 923, 912, 921, 916,
+ 922, 927, 924, 1751, 928, 913, 929, 68, 915, 68,
+ 68, 925, 68, 68, 68, 926, 68, 932, 68, 919,
+ 68, 933, 68, 923, 931, 921, 1751, 922, 68, 924,
+
+ 938, 928, 68, 929, 930, 68, 941, 934, 68, 935,
+ 936, 937, 68, 68, 932, 68, 940, 68, 68, 68,
+ 939, 931, 68, 943, 942, 944, 68, 938, 68, 955,
+ 945, 930, 68, 941, 934, 946, 935, 936, 937, 68,
+ 1751, 951, 947, 940, 68, 68, 948, 939, 68, 950,
+ 943, 942, 944, 68, 1751, 952, 68, 945, 953, 949,
+ 68, 957, 946, 954, 959, 956, 960, 68, 68, 947,
+ 68, 958, 961, 948, 68, 1751, 950, 68, 962, 1751,
+ 963, 68, 952, 68, 964, 953, 949, 965, 957, 68,
+ 954, 966, 956, 68, 967, 68, 68, 68, 958, 68,
+
+ 968, 969, 68, 970, 68, 962, 68, 963, 971, 973,
+ 68, 964, 68, 1751, 965, 972, 68, 974, 966, 976,
+ 68, 967, 979, 975, 977, 68, 978, 968, 68, 983,
+ 970, 68, 980, 68, 68, 971, 973, 1751, 981, 68,
+ 68, 68, 972, 985, 974, 68, 976, 68, 68, 979,
+ 975, 977, 986, 978, 68, 982, 983, 984, 987, 980,
+ 988, 989, 68, 990, 68, 981, 991, 68, 68, 993,
+ 985, 994, 68, 992, 68, 1000, 68, 1001, 996, 986,
+ 995, 1751, 982, 1002, 984, 68, 1003, 988, 997, 68,
+ 990, 998, 68, 68, 68, 68, 993, 68, 994, 68,
+
+ 992, 68, 1005, 999, 1001, 996, 68, 995, 68, 1004,
+ 1002, 68, 68, 1003, 1006, 997, 1007, 1009, 998, 1008,
+ 1010, 1012, 1015, 1751, 1751, 68, 68, 68, 68, 1005,
+ 999, 1011, 1014, 1013, 1016, 1751, 1004, 68, 1020, 1017,
+ 1023, 1751, 68, 1007, 1009, 68, 1008, 1010, 68, 68,
+ 1018, 68, 68, 68, 68, 1019, 68, 68, 1011, 1014,
+ 1013, 1016, 68, 1021, 1026, 1020, 1017, 1022, 1024, 1025,
+ 68, 68, 1028, 1029, 1751, 68, 68, 1018, 68, 1027,
+ 1030, 68, 1019, 1031, 68, 1033, 1032, 1034, 1751, 1042,
+ 1021, 1026, 1036, 68, 1022, 1024, 1025, 68, 68, 1028,
+
+ 1029, 68, 1035, 68, 1037, 1041, 1027, 1030, 1038, 1043,
+ 1031, 68, 68, 1032, 1034, 1039, 68, 1046, 1040, 1036,
+ 68, 1044, 68, 68, 68, 1045, 68, 1047, 68, 1035,
+ 1051, 1037, 1041, 68, 1048, 1038, 68, 1050, 1053, 68,
+ 68, 1049, 1039, 68, 1046, 1040, 68, 1052, 1044, 68,
+ 1059, 1061, 1045, 1054, 1047, 1751, 68, 1051, 68, 1056,
+ 68, 1048, 1057, 1058, 1050, 1053, 1060, 1055, 1049, 1063,
+ 1062, 1064, 68, 1065, 1052, 68, 68, 68, 1751, 68,
+ 1054, 68, 68, 1072, 1068, 1069, 1056, 68, 1751, 1057,
+ 1058, 68, 1066, 1060, 1055, 1070, 1063, 1062, 1067, 68,
+
+ 1065, 1071, 68, 68, 68, 1077, 1073, 1076, 1080, 68,
+ 1751, 1068, 1069, 1075, 68, 1074, 68, 68, 1751, 1066,
+ 68, 1078, 1070, 1079, 68, 1067, 68, 68, 1071, 1083,
+ 68, 1084, 1077, 1073, 1076, 1080, 1751, 1081, 1086, 1082,
+ 1075, 68, 1074, 68, 68, 68, 1087, 1085, 1078, 1088,
+ 1079, 68, 1089, 68, 1090, 1093, 68, 68, 1084, 1091,
+ 1095, 68, 1096, 1092, 1081, 1086, 1082, 68, 68, 68,
+ 1094, 1097, 1751, 1087, 1085, 1100, 1088, 1098, 1099, 1102,
+ 68, 1090, 68, 68, 68, 1103, 1091, 68, 1101, 1096,
+ 1092, 68, 68, 68, 68, 1104, 1108, 1094, 68, 1107,
+
+ 68, 1109, 1100, 68, 1098, 1099, 1102, 68, 1105, 1106,
+ 1111, 68, 1103, 68, 1110, 1101, 68, 1112, 68, 1113,
+ 68, 1114, 1104, 68, 68, 1115, 1107, 1116, 68, 1118,
+ 1117, 1119, 68, 1120, 1121, 1105, 1106, 1111, 1122, 1124,
+ 1123, 1110, 68, 68, 1112, 1125, 68, 1126, 1114, 1131,
+ 1751, 1751, 68, 68, 68, 68, 68, 1117, 1119, 1135,
+ 68, 1121, 1136, 1132, 68, 68, 68, 1123, 1134, 68,
+ 68, 68, 1125, 1127, 1128, 1129, 1131, 1133, 68, 1138,
+ 1130, 68, 1137, 68, 68, 1139, 1135, 1141, 68, 68,
+ 1132, 1142, 68, 1140, 1751, 1134, 1143, 1144, 1145, 68,
+
+ 1127, 1128, 1129, 68, 1133, 68, 1138, 1130, 1146, 1137,
+ 1149, 68, 1139, 1154, 68, 68, 68, 1148, 1142, 1150,
+ 1140, 1147, 68, 1143, 1144, 1145, 1151, 1152, 68, 1153,
+ 1155, 1156, 68, 68, 68, 1146, 1157, 1149, 1159, 1751,
+ 68, 1158, 1160, 68, 1148, 1161, 68, 68, 1147, 68,
+ 68, 68, 68, 1151, 1152, 1162, 68, 1155, 1156, 1163,
+ 68, 1165, 68, 1157, 1166, 1159, 1164, 1174, 1158, 1160,
+ 1168, 68, 1161, 68, 68, 1171, 1167, 1172, 1175, 1169,
+ 1751, 68, 1162, 68, 1170, 68, 1163, 1173, 1165, 1178,
+ 1181, 1166, 1176, 1164, 68, 68, 1177, 68, 68, 1183,
+
+ 68, 1180, 68, 1167, 1172, 68, 1169, 1179, 68, 1182,
+ 1184, 1170, 1186, 1185, 1173, 68, 68, 1188, 1189, 1192,
+ 68, 68, 68, 68, 68, 68, 1183, 1187, 1180, 1190,
+ 1751, 1191, 68, 68, 1179, 1193, 1182, 1184, 1195, 1196,
+ 1185, 1751, 1194, 68, 1202, 1189, 68, 1197, 68, 68,
+ 1199, 1751, 1198, 68, 1187, 1209, 1190, 68, 1191, 68,
+ 1200, 68, 68, 1201, 1204, 1195, 1196, 1205, 68, 1194,
+ 68, 68, 68, 1203, 1197, 68, 68, 1199, 68, 1198,
+ 68, 1206, 68, 1207, 1210, 1208, 68, 1200, 1211, 68,
+ 1201, 1204, 1213, 1216, 1205, 1214, 1218, 68, 1215, 1212,
+
+ 1203, 68, 1219, 1221, 1223, 1217, 68, 68, 1206, 68,
+ 1207, 1210, 1208, 68, 68, 1211, 68, 68, 1220, 1213,
+ 68, 1222, 1214, 1218, 1224, 1215, 1212, 1225, 68, 68,
+ 1221, 68, 1217, 68, 68, 1226, 1228, 1227, 1229, 1751,
+ 1232, 1230, 68, 1231, 68, 1220, 68, 1235, 1222, 1240,
+ 1233, 1224, 68, 68, 1225, 68, 68, 68, 68, 1234,
+ 1236, 68, 1226, 1228, 1227, 1229, 68, 1232, 1230, 68,
+ 1231, 1237, 1238, 1242, 1235, 1239, 68, 1233, 1241, 68,
+ 68, 1243, 1244, 1246, 1248, 68, 1234, 1236, 68, 1245,
+ 68, 1249, 68, 1250, 1247, 68, 1253, 1256, 1237, 1238,
+
+ 1242, 68, 1239, 1751, 68, 1241, 68, 1254, 1243, 1244,
+ 1246, 68, 68, 68, 1251, 68, 1245, 1252, 1249, 68,
+ 1250, 1247, 68, 68, 1255, 1257, 1751, 1751, 68, 1258,
+ 68, 68, 1260, 1259, 1254, 1261, 1262, 1263, 1264, 1751,
+ 1751, 1251, 1268, 1267, 1252, 1265, 1266, 68, 68, 68,
+ 68, 1255, 1257, 68, 68, 68, 1258, 68, 1270, 1260,
+ 1259, 68, 1261, 1262, 1263, 1264, 1269, 68, 68, 1268,
+ 1267, 1271, 1265, 1266, 1272, 1275, 1273, 68, 68, 68,
+ 1277, 1274, 1276, 1278, 1751, 1270, 68, 1282, 1279, 1284,
+ 1280, 68, 68, 1269, 1283, 1285, 68, 1287, 1271, 68,
+
+ 68, 1272, 68, 1273, 1281, 1286, 1291, 68, 1274, 1276,
+ 1278, 68, 68, 68, 68, 1279, 1284, 1280, 68, 1288,
+ 1289, 1283, 68, 68, 68, 1290, 1292, 1293, 68, 68,
+ 1296, 1281, 1286, 1291, 68, 68, 1294, 1295, 1297, 1298,
+ 1299, 68, 68, 1300, 1302, 68, 1288, 1289, 68, 1301,
+ 1751, 68, 1290, 68, 1293, 1303, 68, 1296, 68, 1312,
+ 68, 1304, 68, 1294, 1295, 1297, 1298, 1299, 1313, 1309,
+ 68, 1302, 68, 1305, 1306, 68, 1301, 68, 68, 1308,
+ 1307, 68, 1303, 68, 1310, 1311, 68, 68, 1304, 1314,
+ 1316, 68, 68, 1317, 1318, 1313, 1309, 1315, 1319, 68,
+
+ 1305, 1306, 1321, 68, 68, 1322, 1308, 1307, 1320, 1323,
+ 68, 1310, 1311, 1325, 1326, 1324, 1314, 1316, 1327, 68,
+ 1317, 68, 68, 68, 1315, 68, 68, 1328, 1329, 68,
+ 1330, 1331, 68, 1751, 1332, 1320, 68, 1335, 68, 1333,
+ 68, 68, 1324, 68, 1334, 1327, 1337, 1338, 1339, 68,
+ 1340, 1344, 1336, 1343, 1328, 68, 68, 1330, 68, 68,
+ 68, 1332, 1751, 68, 1335, 1341, 1333, 1346, 68, 68,
+ 1342, 1334, 1348, 68, 1338, 1339, 68, 68, 68, 1336,
+ 1343, 1345, 68, 1347, 68, 1349, 1350, 1351, 1352, 68,
+ 68, 1353, 1341, 1357, 68, 1355, 1354, 1342, 68, 1348,
+
+ 1751, 68, 68, 68, 1356, 68, 1358, 1360, 1345, 68,
+ 1347, 68, 1349, 1350, 1351, 1352, 68, 68, 1353, 1359,
+ 1357, 1361, 1355, 1354, 68, 1363, 1365, 1362, 1751, 1364,
+ 1751, 1356, 68, 1358, 68, 1368, 1751, 1366, 68, 1751,
+ 1369, 1374, 1371, 68, 68, 1367, 1359, 68, 1361, 1372,
+ 1370, 1375, 1363, 1373, 1362, 68, 1364, 68, 68, 1377,
+ 68, 1376, 1368, 68, 1366, 68, 68, 1369, 68, 1371,
+ 1379, 68, 1367, 1380, 68, 1378, 1372, 1370, 68, 1381,
+ 1373, 68, 1384, 68, 1382, 68, 1377, 1751, 1376, 1383,
+ 68, 1386, 1385, 1390, 1388, 1387, 1389, 1379, 68, 1391,
+
+ 1380, 1393, 1378, 68, 1392, 68, 1381, 68, 68, 68,
+ 1394, 1382, 68, 68, 68, 68, 1383, 68, 1386, 1385,
+ 1390, 1388, 1387, 1389, 1395, 68, 1396, 1397, 1393, 1399,
+ 68, 1392, 68, 1398, 1401, 1400, 1402, 1394, 1403, 1404,
+ 1405, 1406, 1410, 1751, 1409, 68, 68, 1751, 1407, 1408,
+ 1413, 68, 68, 1396, 1397, 68, 68, 68, 1414, 68,
+ 1398, 68, 1400, 68, 68, 68, 1404, 1405, 1406, 68,
+ 68, 68, 1411, 68, 1412, 1407, 1408, 68, 1415, 1416,
+ 68, 68, 1417, 1418, 1419, 1414, 68, 1420, 1422, 1751,
+ 1751, 1428, 68, 1421, 1426, 1751, 1751, 68, 1423, 1411,
+
+ 1751, 1412, 1424, 68, 68, 1415, 1416, 1425, 68, 1417,
+ 68, 68, 1427, 68, 68, 1422, 68, 68, 68, 68,
+ 1421, 1426, 68, 1429, 1431, 1423, 1430, 68, 1432, 1424,
+ 1433, 68, 1434, 68, 1425, 1435, 1437, 1439, 1436, 1427,
+ 1440, 68, 68, 68, 68, 68, 1438, 1441, 1449, 1444,
+ 1429, 1431, 1442, 1430, 68, 1432, 68, 1433, 68, 1434,
+ 1445, 68, 1435, 1437, 68, 1436, 1443, 68, 68, 1448,
+ 1446, 68, 1447, 1438, 1441, 68, 1444, 68, 68, 1442,
+ 1450, 68, 1451, 1453, 1751, 1454, 1457, 1445, 1452, 1458,
+ 1455, 1751, 68, 1443, 68, 68, 1448, 1446, 68, 1447,
+
+ 68, 68, 68, 1456, 1460, 1459, 1466, 1450, 1751, 1451,
+ 1453, 68, 1454, 68, 68, 1452, 68, 1455, 1461, 1463,
+ 68, 1462, 1464, 1465, 1467, 1468, 68, 68, 68, 68,
+ 1456, 1460, 1459, 68, 68, 1469, 68, 1470, 1471, 1472,
+ 1473, 1475, 1476, 1751, 1477, 1461, 1463, 68, 1462, 1464,
+ 1465, 1467, 1468, 68, 1478, 1474, 1479, 1480, 68, 68,
+ 68, 1483, 1469, 68, 1470, 68, 1472, 68, 68, 68,
+ 68, 1477, 1481, 1485, 68, 1484, 1486, 1482, 1487, 68,
+ 68, 1478, 1474, 1479, 1480, 68, 1488, 68, 1483, 1489,
+ 68, 1490, 1491, 1492, 68, 68, 1493, 1494, 68, 1481,
+
+ 1485, 1751, 1484, 1486, 1482, 1487, 1495, 1497, 1496, 1498,
+ 1500, 1501, 1499, 68, 68, 1503, 68, 1502, 1751, 1491,
+ 68, 68, 68, 68, 68, 68, 68, 1751, 68, 68,
+ 68, 68, 68, 1495, 1497, 1496, 1498, 1500, 1501, 1499,
+ 1504, 68, 1503, 1505, 1502, 1506, 1751, 1507, 1508, 1509,
+ 1512, 1510, 1511, 1513, 68, 1514, 1751, 68, 68, 1751,
+ 68, 68, 1515, 68, 1516, 1517, 68, 1504, 1521, 1522,
+ 1505, 68, 1506, 68, 1507, 1508, 1509, 68, 1510, 1511,
+ 1513, 68, 68, 68, 1518, 1519, 68, 1520, 1526, 1515,
+ 1523, 1516, 1517, 1524, 68, 1521, 68, 68, 68, 68,
+
+ 1525, 1527, 1528, 1530, 1529, 1531, 1532, 1535, 68, 1751,
+ 1751, 1518, 1519, 68, 1520, 68, 68, 1523, 1533, 68,
+ 1524, 1534, 1536, 1537, 68, 1538, 1539, 1525, 68, 68,
+ 1530, 1529, 68, 68, 1542, 68, 68, 1540, 68, 1544,
+ 1549, 68, 68, 1541, 68, 1533, 1543, 68, 1534, 1536,
+ 1537, 1545, 1538, 1539, 68, 1546, 68, 1547, 68, 68,
+ 1548, 68, 68, 1557, 1540, 1550, 1544, 1549, 1551, 68,
+ 1541, 68, 68, 1543, 1555, 1552, 1556, 1558, 1545, 1553,
+ 1561, 68, 1546, 68, 1547, 68, 68, 1548, 1751, 1554,
+ 68, 1559, 1550, 68, 68, 1551, 68, 1562, 68, 1560,
+
+ 68, 1555, 1552, 1556, 1558, 1563, 1553, 1561, 1566, 68,
+ 1564, 68, 1565, 1568, 68, 68, 1554, 1567, 1559, 1569,
+ 1570, 1571, 1575, 68, 1562, 68, 1560, 1572, 68, 1573,
+ 68, 68, 1563, 68, 1577, 1566, 1574, 1564, 68, 1565,
+ 1568, 68, 1580, 68, 1567, 68, 1569, 1570, 1571, 1578,
+ 1576, 68, 68, 68, 1572, 1579, 1573, 68, 1581, 1583,
+ 1582, 68, 1588, 1574, 1584, 1585, 1586, 68, 1590, 68,
+ 68, 1589, 68, 1587, 68, 1591, 1578, 1576, 68, 68,
+ 1592, 68, 1579, 1593, 68, 1581, 1583, 1582, 68, 68,
+ 68, 1584, 1585, 1586, 1595, 68, 1596, 68, 1589, 1594,
+
+ 1587, 1597, 1591, 68, 1598, 1599, 68, 68, 1600, 68,
+ 1593, 1602, 1601, 1603, 1604, 1605, 68, 1607, 68, 1608,
+ 68, 1595, 68, 1596, 1606, 68, 1594, 68, 1597, 68,
+ 1611, 68, 68, 1609, 1610, 1600, 1612, 1613, 1602, 1601,
+ 68, 1604, 1605, 68, 1607, 68, 68, 1614, 1616, 1615,
+ 68, 1606, 1617, 1618, 1619, 1620, 1621, 68, 1622, 1623,
+ 1609, 1610, 68, 68, 1613, 1624, 1626, 1629, 1627, 68,
+ 68, 1625, 1628, 1751, 1614, 1616, 1615, 68, 68, 68,
+ 68, 68, 1620, 68, 68, 1622, 68, 1630, 1631, 68,
+ 68, 68, 1624, 68, 68, 1627, 1632, 1633, 1625, 1628,
+
+ 1638, 1634, 1637, 1635, 1636, 1640, 68, 1641, 68, 68,
+ 68, 68, 68, 68, 1630, 1631, 1642, 1643, 1639, 1644,
+ 1645, 1751, 68, 1632, 1633, 68, 1647, 1638, 1634, 1637,
+ 1635, 1636, 68, 1650, 68, 1646, 1651, 1648, 1652, 68,
+ 68, 1649, 68, 1642, 68, 1639, 1644, 68, 68, 68,
+ 68, 1654, 1655, 68, 1653, 1656, 1658, 68, 1659, 1657,
+ 68, 1660, 1646, 68, 1648, 1652, 68, 68, 1649, 1661,
+ 1664, 1663, 1662, 1666, 68, 1751, 1665, 68, 1654, 1655,
+ 1669, 1653, 1656, 68, 1667, 68, 1657, 68, 68, 68,
+ 1670, 68, 68, 1668, 1672, 68, 68, 68, 1663, 1662,
+
+ 1666, 68, 68, 1665, 1675, 1671, 1673, 1669, 68, 1674,
+ 1678, 1667, 68, 68, 68, 68, 1677, 1670, 68, 1751,
+ 1668, 1672, 1676, 1679, 68, 1680, 1681, 1682, 68, 68,
+ 1683, 1675, 1671, 1673, 1684, 1751, 1674, 68, 1688, 1686,
+ 1689, 68, 68, 1677, 1751, 1685, 1690, 68, 68, 1676,
+ 1679, 68, 1680, 1681, 1682, 1687, 1691, 1683, 68, 68,
+ 1692, 1693, 1695, 68, 1696, 68, 1686, 1694, 68, 68,
+ 68, 68, 1685, 1690, 68, 68, 68, 1697, 68, 1698,
+ 1699, 1702, 1687, 1691, 1700, 68, 1701, 1692, 1693, 1695,
+ 1706, 1696, 68, 1703, 1694, 1704, 1707, 1705, 1708, 1711,
+
+ 1751, 68, 68, 68, 1697, 68, 1698, 1699, 1702, 1751,
+ 1714, 1700, 68, 1701, 1751, 68, 1751, 68, 68, 1709,
+ 1703, 68, 1704, 68, 1705, 1708, 1710, 68, 1712, 1713,
+ 68, 1715, 68, 1716, 68, 1717, 68, 1714, 1718, 68,
+ 1720, 68, 1721, 68, 1719, 1751, 1709, 1722, 68, 68,
+ 1723, 1751, 1751, 1710, 1726, 1712, 1713, 1751, 1715, 1724,
+ 1716, 1751, 1717, 1727, 68, 1718, 68, 1720, 68, 1721,
+ 1725, 1719, 68, 68, 1722, 1728, 1729, 1723, 68, 68,
+ 1731, 68, 1730, 68, 68, 1734, 1724, 1751, 68, 1732,
+ 1727, 1733, 1735, 68, 1736, 68, 1740, 1725, 1737, 1742,
+
+ 68, 1739, 1728, 1729, 68, 1743, 68, 1731, 1751, 1730,
+ 1741, 68, 1734, 68, 1738, 1744, 1732, 1745, 1733, 1735,
+ 68, 1736, 68, 68, 1746, 1737, 68, 68, 1739, 1749,
+ 68, 1750, 68, 1751, 1751, 68, 1751, 1741, 1751, 68,
+ 1747, 1738, 1744, 1751, 1745, 1748, 68, 1751, 68, 1751,
+ 1751, 1746, 1751, 68, 1751, 1751, 68, 1751, 68, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1747, 1751, 1751,
+ 1751, 1751, 1748, 40, 40, 40, 40, 40, 40, 40,
+ 45, 45, 45, 45, 45, 45, 45, 50, 50, 50,
+ 50, 50, 50, 50, 56, 56, 56, 56, 56, 56,
+
+ 56, 61, 61, 61, 61, 61, 61, 61, 71, 71,
+ 1751, 71, 71, 71, 71, 125, 125, 1751, 1751, 1751,
+ 125, 125, 127, 127, 1751, 1751, 127, 1751, 127, 129,
+ 1751, 1751, 1751, 1751, 1751, 129, 132, 132, 1751, 1751,
+ 1751, 132, 132, 134, 1751, 1751, 1751, 1751, 1751, 134,
+ 136, 136, 1751, 136, 136, 136, 136, 72, 72, 1751,
+ 72, 72, 72, 72, 13, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751
} ;
-static yyconst flex_int16_t yy_chk[5072] =
+static yyconst flex_int16_t yy_chk[5131] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1573,556 +1586,562 @@ static yyconst flex_int16_t yy_chk[5072] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 3, 3, 3, 4, 4,
4, 5, 5, 6, 6, 5, 24, 6, 7, 7,
- 7, 7, 1736, 7, 8, 8, 8, 8, 24, 8,
+ 7, 7, 1757, 7, 8, 8, 8, 8, 24, 8,
9, 9, 9, 10, 10, 10, 15, 44, 44, 49,
15, 3, 49, 24, 4, 60, 60, 5, 19, 6,
- 19, 19, 69, 19, 644, 7, 69, 39, 19, 39,
- 39, 8, 39, 23, 20, 20, 9, 39, 638, 10,
+ 19, 19, 69, 19, 651, 7, 69, 39, 19, 39,
+ 39, 8, 39, 23, 20, 20, 9, 39, 645, 10,
11, 11, 11, 11, 11, 11, 12, 12, 12, 12,
12, 12, 20, 23, 27, 19, 23, 29, 20, 11,
- 23, 20, 20, 133, 21, 12, 27, 25, 638, 29,
- 131, 21, 125, 125, 28, 25, 130, 11, 21, 20,
- 23, 27, 127, 12, 29, 127, 11, 132, 132, 128,
+ 23, 20, 20, 134, 21, 12, 27, 25, 645, 29,
+ 132, 21, 126, 126, 28, 25, 131, 11, 21, 20,
+ 23, 27, 128, 12, 29, 128, 11, 133, 133, 129,
21, 21, 12, 25, 25, 75, 28, 26, 21, 37,
26, 28, 25, 30, 37, 21, 22, 26, 32, 26,
22, 30, 37, 22, 32, 22, 22, 30, 75, 31,
- 26, 30, 75, 31, 26, 126, 37, 26, 22, 30,
- 30, 37, 209, 22, 26, 32, 26, 22, 30, 31,
- 22, 124, 22, 22, 30, 31, 31, 33, 30, 55,
- 31, 55, 55, 33, 55, 34, 33, 67, 36, 34,
- 36, 209, 61, 33, 56, 33, 31, 93, 66, 34,
- 66, 66, 34, 66, 33, 36, 51, 114, 35, 139,
- 33, 34, 34, 33, 36, 36, 34, 36, 35, 74,
- 33, 38, 35, 35, 65, 38, 34, 50, 93, 34,
- 35, 63, 36, 63, 63, 35, 63, 65, 114, 129,
-
- 139, 129, 129, 74, 129, 35, 74, 38, 38, 35,
- 35, 65, 38, 68, 76, 68, 68, 71, 68, 71,
- 71, 76, 71, 68, 77, 78, 79, 71, 63, 80,
- 82, 81, 84, 45, 78, 82, 40, 77, 83, 79,
- 81, 76, 85, 86, 80, 90, 83, 14, 77, 84,
- 86, 77, 78, 79, 71, 85, 80, 82, 81, 87,
- 89, 91, 88, 84, 77, 83, 98, 90, 87, 85,
- 86, 88, 90, 94, 91, 92, 84, 13, 92, 98,
- 99, 94, 97, 89, 95, 97, 87, 89, 91, 88,
- 96, 0, 92, 98, 96, 100, 101, 105, 102, 92,
-
- 94, 104, 92, 99, 95, 92, 95, 99, 104, 97,
- 101, 95, 103, 0, 96, 100, 0, 96, 102, 92,
- 105, 96, 100, 101, 105, 102, 103, 106, 104, 107,
- 108, 95, 110, 107, 109, 111, 106, 108, 115, 103,
- 112, 109, 147, 113, 119, 0, 110, 111, 112, 116,
- 119, 107, 113, 115, 106, 117, 107, 108, 120, 110,
- 107, 109, 111, 118, 117, 115, 121, 112, 123, 116,
- 113, 119, 122, 147, 118, 116, 116, 123, 137, 120,
- 0, 0, 117, 120, 0, 120, 138, 122, 121, 134,
- 118, 134, 134, 121, 134, 123, 116, 140, 135, 122,
-
- 135, 135, 137, 135, 141, 137, 120, 142, 138, 140,
- 143, 144, 145, 138, 146, 142, 0, 145, 144, 148,
- 0, 151, 143, 141, 140, 150, 153, 152, 0, 151,
- 153, 141, 154, 156, 142, 135, 146, 143, 144, 155,
- 148, 146, 160, 145, 145, 157, 156, 148, 151, 152,
- 0, 150, 150, 153, 152, 154, 161, 157, 0, 154,
- 156, 155, 158, 164, 160, 158, 155, 148, 149, 160,
- 159, 0, 157, 149, 162, 161, 163, 158, 149, 159,
- 165, 162, 161, 161, 149, 149, 166, 163, 167, 158,
- 170, 149, 158, 169, 164, 149, 166, 159, 168, 169,
-
- 149, 162, 161, 163, 171, 149, 165, 165, 172, 173,
- 174, 149, 149, 0, 175, 176, 168, 166, 0, 167,
- 169, 170, 176, 166, 177, 168, 171, 178, 179, 0,
- 174, 171, 178, 186, 180, 175, 181, 174, 183, 172,
- 173, 175, 176, 182, 184, 177, 187, 179, 181, 184,
- 182, 177, 188, 187, 178, 179, 180, 185, 185, 190,
- 183, 180, 189, 181, 186, 183, 185, 191, 192, 194,
- 182, 184, 193, 187, 195, 191, 196, 188, 200, 188,
- 198, 197, 189, 192, 185, 185, 202, 199, 198, 189,
- 190, 194, 0, 196, 191, 192, 197, 201, 193, 193,
-
- 194, 196, 204, 196, 203, 195, 199, 198, 197, 200,
- 206, 204, 206, 205, 199, 207, 203, 202, 194, 201,
- 196, 208, 0, 210, 201, 211, 0, 212, 216, 204,
- 215, 203, 205, 213, 214, 217, 219, 206, 212, 207,
- 205, 221, 207, 218, 0, 213, 216, 208, 208, 210,
- 210, 211, 211, 215, 212, 216, 218, 215, 214, 220,
- 213, 214, 219, 219, 222, 223, 217, 224, 225, 227,
- 218, 222, 221, 224, 223, 226, 228, 231, 227, 229,
- 232, 220, 225, 230, 0, 233, 220, 234, 229, 240,
- 234, 222, 223, 235, 224, 225, 227, 234, 230, 228,
-
- 233, 226, 226, 228, 232, 237, 229, 232, 231, 236,
- 230, 235, 233, 238, 234, 236, 240, 234, 241, 237,
- 235, 239, 239, 242, 245, 243, 242, 248, 238, 244,
- 0, 0, 237, 242, 247, 246, 236, 243, 251, 248,
- 238, 253, 241, 249, 0, 241, 239, 244, 239, 239,
- 242, 245, 243, 242, 248, 0, 244, 246, 249, 250,
- 247, 247, 246, 253, 252, 254, 250, 254, 253, 251,
- 249, 252, 255, 256, 259, 257, 256, 258, 256, 0,
- 261, 0, 260, 262, 256, 255, 250, 261, 260, 254,
- 264, 252, 254, 257, 254, 262, 259, 268, 263, 255,
-
- 256, 259, 257, 256, 267, 256, 264, 261, 258, 260,
- 262, 263, 269, 265, 264, 268, 267, 264, 269, 270,
- 271, 272, 0, 276, 268, 263, 265, 270, 272, 273,
- 274, 267, 271, 264, 274, 276, 275, 277, 279, 269,
- 265, 266, 266, 275, 278, 279, 270, 271, 272, 277,
- 276, 266, 281, 266, 266, 266, 0, 274, 266, 280,
- 273, 0, 282, 275, 277, 279, 266, 285, 266, 266,
- 283, 289, 280, 282, 285, 278, 284, 284, 266, 286,
- 266, 266, 266, 281, 287, 266, 280, 288, 292, 282,
- 286, 293, 283, 290, 285, 287, 289, 283, 289, 291,
-
- 288, 292, 295, 294, 293, 284, 286, 297, 291, 293,
- 296, 287, 298, 300, 288, 292, 290, 299, 293, 301,
- 290, 294, 305, 0, 295, 297, 291, 302, 303, 295,
- 294, 293, 304, 296, 297, 306, 300, 296, 299, 307,
- 300, 306, 303, 298, 299, 301, 301, 309, 308, 302,
- 310, 311, 0, 305, 302, 303, 313, 307, 304, 304,
- 315, 312, 306, 308, 0, 316, 307, 312, 323, 319,
- 309, 316, 317, 311, 309, 308, 310, 310, 311, 318,
- 324, 323, 313, 313, 319, 326, 315, 315, 312, 325,
- 331, 317, 316, 321, 322, 323, 319, 318, 324, 317,
-
- 321, 322, 327, 329, 326, 328, 318, 324, 329, 330,
- 332, 325, 326, 331, 328, 330, 325, 331, 333, 335,
- 321, 322, 332, 334, 0, 0, 342, 335, 337, 0,
- 329, 0, 328, 327, 334, 337, 330, 332, 338, 339,
- 333, 0, 0, 0, 340, 333, 335, 341, 339, 338,
- 334, 336, 342, 342, 341, 337, 336, 343, 336, 343,
- 344, 345, 349, 0, 346, 338, 336, 349, 340, 347,
- 339, 340, 348, 345, 341, 339, 336, 336, 336, 346,
- 348, 347, 350, 336, 343, 336, 344, 344, 345, 349,
- 351, 346, 352, 336, 353, 354, 347, 355, 356, 348,
-
- 352, 0, 357, 336, 350, 360, 353, 359, 351, 350,
- 358, 357, 361, 356, 363, 362, 365, 351, 354, 352,
- 371, 353, 354, 364, 358, 356, 359, 361, 355, 357,
- 362, 369, 360, 366, 359, 364, 366, 358, 363, 361,
- 365, 363, 362, 365, 366, 367, 370, 368, 372, 367,
- 364, 371, 373, 374, 378, 376, 375, 0, 369, 380,
- 366, 368, 375, 366, 377, 379, 382, 383, 0, 389,
- 0, 381, 0, 370, 368, 372, 367, 376, 381, 373,
- 384, 380, 376, 375, 374, 378, 380, 377, 379, 383,
- 385, 377, 379, 384, 383, 385, 387, 382, 381, 385,
-
- 389, 386, 388, 390, 0, 387, 0, 384, 391, 393,
- 394, 392, 398, 0, 385, 388, 0, 385, 395, 0,
- 400, 390, 385, 387, 394, 399, 385, 386, 386, 388,
- 390, 393, 391, 392, 392, 391, 393, 394, 392, 396,
- 395, 397, 402, 398, 400, 395, 399, 400, 401, 403,
- 396, 405, 399, 406, 404, 408, 397, 407, 403, 408,
- 392, 410, 0, 0, 402, 0, 396, 404, 397, 402,
- 411, 409, 401, 405, 414, 401, 403, 406, 405, 407,
- 406, 404, 415, 416, 407, 409, 408, 412, 411, 413,
- 415, 417, 410, 413, 418, 422, 419, 411, 409, 414,
-
- 417, 414, 412, 418, 419, 420, 426, 421, 416, 415,
- 416, 412, 420, 422, 412, 423, 424, 429, 417, 425,
- 413, 418, 422, 419, 428, 424, 431, 423, 427, 412,
- 421, 425, 420, 430, 421, 436, 427, 426, 435, 433,
- 429, 432, 423, 424, 429, 434, 425, 433, 431, 430,
- 428, 428, 432, 431, 437, 427, 438, 436, 435, 434,
- 430, 440, 436, 439, 441, 435, 433, 443, 432, 442,
- 440, 444, 434, 445, 437, 451, 446, 449, 438, 0,
- 443, 437, 0, 438, 441, 439, 447, 442, 440, 452,
- 439, 441, 447, 444, 443, 449, 442, 445, 444, 446,
-
- 445, 448, 453, 446, 449, 454, 451, 455, 468, 448,
- 456, 460, 452, 447, 454, 463, 452, 453, 457, 456,
- 457, 466, 467, 460, 469, 463, 455, 448, 448, 453,
- 471, 468, 454, 0, 455, 468, 448, 456, 460, 466,
- 474, 491, 463, 467, 475, 457, 458, 472, 466, 467,
- 458, 492, 471, 458, 478, 469, 472, 471, 476, 473,
- 458, 473, 477, 458, 474, 0, 478, 474, 458, 479,
- 0, 475, 491, 458, 472, 0, 480, 458, 476, 481,
- 458, 478, 492, 0, 0, 476, 473, 458, 477, 477,
- 458, 470, 470, 489, 470, 479, 479, 470, 483, 482,
-
- 480, 481, 470, 480, 484, 483, 481, 482, 470, 470,
- 487, 485, 484, 486, 488, 489, 490, 470, 470, 470,
- 489, 470, 487, 488, 470, 483, 482, 493, 494, 470,
- 485, 484, 500, 495, 496, 470, 470, 487, 485, 486,
- 486, 488, 498, 490, 501, 499, 502, 497, 0, 494,
- 0, 493, 495, 496, 493, 494, 497, 505, 503, 500,
- 495, 496, 506, 501, 498, 499, 503, 507, 0, 498,
- 508, 501, 499, 512, 497, 505, 509, 502, 0, 512,
- 507, 514, 510, 513, 505, 503, 506, 514, 509, 506,
- 510, 515, 519, 518, 507, 517, 508, 508, 515, 516,
-
- 512, 523, 517, 509, 516, 513, 510, 520, 514, 510,
- 513, 518, 522, 521, 523, 519, 520, 510, 515, 519,
- 518, 521, 517, 524, 525, 526, 516, 527, 523, 528,
- 522, 525, 529, 0, 520, 530, 535, 0, 526, 522,
- 521, 531, 532, 530, 524, 534, 536, 533, 537, 538,
- 524, 525, 526, 533, 539, 529, 531, 537, 527, 529,
- 528, 541, 530, 538, 532, 542, 543, 535, 531, 532,
- 536, 534, 534, 536, 533, 537, 538, 540, 543, 544,
- 546, 545, 547, 546, 540, 539, 551, 548, 541, 545,
- 0, 553, 542, 543, 548, 547, 0, 550, 551, 552,
-
- 554, 552, 544, 553, 540, 0, 544, 546, 545, 547,
- 0, 557, 0, 551, 548, 549, 555, 549, 553, 556,
- 550, 549, 554, 549, 550, 558, 552, 554, 549, 555,
- 565, 559, 556, 549, 557, 560, 561, 558, 557, 549,
- 0, 559, 549, 555, 549, 562, 556, 568, 549, 561,
- 549, 562, 558, 559, 563, 549, 564, 560, 559, 566,
- 549, 565, 560, 561, 566, 567, 566, 563, 559, 568,
- 571, 573, 562, 572, 568, 569, 574, 564, 576, 570,
- 567, 563, 579, 564, 566, 566, 566, 577, 569, 574,
- 573, 566, 567, 566, 570, 572, 571, 571, 573, 575,
-
- 572, 580, 569, 574, 581, 576, 570, 575, 582, 584,
- 577, 566, 581, 579, 577, 583, 585, 584, 588, 590,
- 586, 587, 582, 589, 592, 580, 575, 585, 580, 587,
- 589, 581, 590, 591, 597, 582, 584, 583, 586, 600,
- 588, 594, 583, 585, 595, 588, 590, 586, 587, 594,
- 589, 591, 596, 595, 598, 592, 597, 600, 599, 602,
- 591, 597, 601, 604, 596, 608, 600, 604, 594, 605,
- 0, 595, 605, 606, 610, 607, 598, 608, 0, 596,
- 599, 598, 607, 612, 609, 599, 613, 611, 601, 601,
- 602, 609, 608, 611, 604, 605, 605, 606, 610, 605,
-
- 606, 610, 607, 614, 615, 612, 616, 617, 613, 619,
- 612, 609, 621, 613, 611, 615, 620, 618, 619, 623,
- 622, 621, 0, 624, 614, 628, 623, 616, 622, 625,
- 614, 615, 626, 616, 617, 618, 619, 624, 630, 621,
- 620, 631, 629, 620, 618, 632, 623, 622, 627, 628,
- 624, 625, 628, 630, 626, 633, 625, 627, 629, 626,
- 634, 636, 635, 637, 639, 630, 640, 633, 646, 629,
- 635, 641, 631, 639, 636, 627, 632, 0, 637, 641,
- 646, 642, 633, 642, 640, 647, 645, 634, 636, 635,
- 637, 639, 647, 640, 648, 646, 649, 650, 641, 645,
-
- 0, 651, 652, 653, 654, 655, 656, 659, 642, 657,
- 658, 660, 647, 645, 656, 652, 653, 655, 658, 650,
- 660, 657, 661, 651, 650, 648, 654, 649, 651, 652,
- 653, 654, 655, 656, 659, 662, 657, 658, 660, 663,
- 665, 664, 662, 661, 666, 667, 668, 0, 0, 661,
- 671, 673, 669, 670, 672, 668, 675, 666, 671, 673,
- 665, 674, 662, 664, 0, 663, 663, 665, 664, 667,
- 669, 666, 667, 668, 675, 670, 672, 671, 673, 669,
- 670, 672, 676, 675, 674, 677, 678, 679, 674, 681,
- 680, 682, 684, 688, 676, 681, 685, 677, 680, 683,
-
- 682, 0, 679, 685, 684, 692, 678, 686, 689, 676,
- 690, 0, 677, 678, 679, 691, 681, 680, 682, 684,
- 683, 689, 691, 685, 688, 686, 683, 692, 695, 690,
- 694, 696, 692, 697, 686, 689, 693, 690, 694, 698,
- 693, 700, 691, 0, 701, 696, 699, 0, 702, 705,
- 707, 697, 706, 708, 695, 695, 704, 694, 696, 703,
- 697, 706, 705, 700, 0, 709, 701, 693, 700, 712,
- 698, 701, 699, 699, 702, 702, 705, 703, 704, 706,
- 710, 707, 714, 704, 708, 712, 703, 709, 711, 715,
- 716, 718, 709, 711, 717, 711, 712, 711, 717, 716,
-
- 719, 715, 720, 710, 718, 714, 711, 710, 719, 714,
- 721, 723, 724, 723, 725, 711, 715, 716, 718, 722,
- 711, 720, 711, 721, 711, 717, 725, 719, 722, 720,
- 726, 728, 729, 731, 730, 733, 732, 721, 723, 724,
- 735, 725, 730, 732, 734, 736, 722, 737, 739, 738,
- 745, 740, 736, 743, 729, 728, 741, 726, 728, 729,
- 731, 730, 733, 732, 742, 741, 734, 735, 738, 737,
- 739, 734, 736, 743, 737, 739, 738, 740, 740, 746,
- 743, 745, 747, 741, 748, 742, 750, 749, 0, 752,
- 751, 742, 753, 754, 750, 755, 757, 754, 0, 753,
-
- 0, 760, 759, 757, 747, 749, 751, 758, 0, 747,
- 746, 759, 756, 750, 749, 748, 752, 751, 756, 753,
- 754, 764, 758, 757, 761, 756, 755, 760, 760, 759,
- 762, 761, 762, 763, 758, 769, 765, 766, 774, 756,
- 765, 772, 763, 764, 771, 756, 768, 770, 764, 773,
- 768, 761, 0, 769, 772, 0, 775, 762, 0, 766,
- 763, 774, 769, 765, 766, 774, 770, 776, 772, 771,
- 779, 771, 775, 778, 770, 776, 780, 768, 777, 777,
- 773, 781, 778, 775, 782, 780, 783, 786, 781, 785,
- 784, 0, 779, 788, 776, 783, 0, 779, 784, 786,
-
- 778, 788, 785, 780, 789, 777, 787, 782, 781, 790,
- 791, 782, 792, 783, 786, 794, 785, 784, 787, 796,
- 788, 792, 793, 795, 798, 796, 789, 794, 799, 790,
- 797, 789, 791, 787, 800, 802, 790, 791, 803, 792,
- 793, 804, 794, 805, 795, 806, 796, 803, 808, 793,
- 795, 814, 797, 806, 807, 798, 805, 797, 807, 799,
- 800, 800, 802, 804, 0, 803, 809, 813, 804, 810,
- 805, 0, 806, 812, 809, 808, 815, 810, 811, 811,
- 822, 812, 814, 816, 815, 807, 819, 817, 813, 818,
- 821, 816, 820, 809, 813, 817, 810, 818, 820, 819,
-
- 812, 823, 821, 815, 824, 811, 822, 822, 825, 830,
- 816, 826, 831, 819, 817, 834, 818, 821, 0, 820,
- 827, 832, 825, 823, 827, 829, 833, 824, 823, 826,
- 839, 824, 829, 833, 831, 825, 830, 827, 826, 831,
- 836, 838, 840, 842, 832, 827, 834, 827, 832, 836,
- 844, 827, 829, 833, 846, 853, 839, 839, 847, 848,
- 849, 850, 849, 838, 827, 0, 0, 836, 838, 851,
- 842, 848, 854, 840, 850, 855, 860, 844, 846, 854,
- 852, 846, 853, 872, 847, 847, 848, 849, 850, 856,
- 857, 851, 852, 864, 856, 858, 851, 859, 860, 854,
-
- 862, 855, 855, 860, 865, 859, 857, 852, 863, 862,
- 868, 874, 871, 870, 872, 0, 856, 857, 858, 864,
- 864, 863, 858, 866, 859, 867, 865, 862, 868, 869,
- 866, 865, 867, 875, 871, 863, 869, 868, 870, 871,
- 870, 873, 874, 876, 877, 885, 875, 880, 873, 881,
- 866, 879, 867, 884, 879, 882, 869, 0, 887, 886,
- 875, 888, 882, 888, 881, 877, 883, 885, 873, 883,
- 876, 877, 885, 880, 880, 889, 881, 886, 879, 890,
- 887, 883, 882, 0, 884, 887, 886, 891, 888, 892,
- 883, 899, 893, 883, 894, 895, 883, 896, 892, 889,
-
- 893, 894, 889, 897, 898, 900, 901, 897, 883, 907,
- 890, 904, 0, 891, 891, 901, 892, 895, 899, 893,
- 905, 894, 895, 906, 904, 0, 898, 900, 896, 902,
- 897, 898, 900, 901, 903, 905, 902, 906, 904, 908,
- 907, 903, 909, 912, 914, 910, 908, 905, 913, 909,
- 906, 910, 916, 919, 920, 915, 902, 927, 915, 923,
- 913, 903, 921, 916, 914, 912, 908, 928, 0, 909,
- 912, 914, 910, 915, 926, 913, 922, 923, 920, 916,
- 919, 920, 915, 924, 921, 915, 923, 922, 927, 921,
- 925, 924, 926, 925, 928, 929, 931, 930, 933, 932,
-
- 933, 926, 929, 922, 934, 931, 935, 936, 925, 942,
- 924, 930, 932, 934, 937, 0, 938, 925, 936, 940,
- 925, 944, 929, 931, 930, 933, 932, 947, 940, 945,
- 938, 934, 935, 935, 936, 939, 937, 946, 939, 943,
- 942, 937, 938, 938, 946, 948, 940, 953, 943, 949,
- 945, 952, 944, 939, 954, 949, 945, 938, 947, 948,
- 955, 953, 939, 954, 946, 939, 943, 956, 955, 957,
- 952, 0, 948, 949, 953, 958, 949, 961, 952, 960,
- 957, 954, 949, 962, 958, 963, 960, 955, 966, 964,
- 965, 967, 966, 968, 971, 0, 957, 0, 956, 970,
-
- 961, 969, 958, 967, 961, 962, 960, 963, 965, 971,
- 962, 964, 963, 974, 969, 966, 964, 965, 967, 970,
- 968, 971, 972, 973, 975, 976, 970, 977, 969, 978,
- 0, 973, 980, 979, 976, 982, 983, 972, 0, 975,
- 984, 0, 985, 986, 974, 994, 0, 993, 977, 972,
- 973, 975, 976, 982, 977, 984, 978, 979, 987, 980,
- 979, 986, 982, 983, 985, 988, 989, 984, 990, 985,
- 986, 991, 992, 987, 993, 997, 994, 988, 991, 996,
- 998, 990, 997, 995, 992, 987, 990, 996, 989, 995,
- 999, 1000, 988, 989, 1001, 990, 1002, 999, 991, 992,
-
- 1003, 1004, 997, 1006, 1008, 1007, 996, 998, 990, 1009,
- 995, 1009, 1010, 1012, 1007, 1011, 1019, 999, 1000, 1002,
- 0, 1001, 1014, 1002, 0, 1004, 1015, 1017, 1004, 1014,
- 1016, 1003, 1007, 1015, 1006, 1008, 1009, 1016, 1021, 1010,
- 1017, 1011, 1011, 1019, 1012, 1013, 1013, 1013, 1022, 1014,
- 1018, 1024, 1013, 1015, 1017, 1022, 1018, 1016, 1020, 1020,
- 1013, 1025, 1027, 1028, 1021, 1021, 1029, 1029, 1026, 1024,
- 1030, 1035, 1013, 1013, 1013, 1022, 1032, 1018, 1024, 1013,
- 1026, 1028, 1027, 1031, 1031, 1020, 1034, 1032, 1025, 1027,
- 1028, 1036, 1037, 1029, 1038, 1026, 1030, 1030, 1036, 1040,
-
- 1039, 1042, 1035, 1032, 1041, 1043, 1044, 0, 1034, 1046,
- 1031, 1041, 1037, 1034, 0, 1044, 1042, 1040, 1036, 1037,
- 1050, 1038, 1039, 1045, 1045, 1047, 1040, 1039, 1042, 1043,
- 1048, 1041, 1043, 1044, 1049, 1046, 1046, 1047, 1048, 1052,
- 1051, 1050, 1054, 1053, 1058, 1055, 1049, 1050, 1053, 1056,
- 1045, 1055, 1047, 1057, 1060, 1063, 1059, 1048, 1051, 1053,
- 1059, 1049, 1056, 1061, 1061, 1062, 1052, 1051, 1064, 1054,
- 1053, 1058, 1055, 1065, 1066, 1053, 1056, 1067, 1068, 1067,
- 1062, 1070, 1095, 1064, 1057, 1060, 1063, 1059, 1069, 1066,
- 1061, 1071, 1062, 1069, 0, 1064, 1065, 1073, 0, 1074,
-
- 1065, 1066, 1075, 1076, 1067, 1079, 1071, 1077, 1085, 1068,
- 1078, 0, 1070, 1095, 1077, 1069, 0, 1080, 1071, 1083,
- 1088, 1073, 1081, 1085, 1073, 1074, 1074, 1079, 1087, 1075,
- 1076, 1078, 1079, 1090, 1077, 1085, 1093, 1078, 1080, 1091,
- 1081, 1083, 1092, 1087, 1080, 1089, 1083, 1088, 1091, 1081,
- 1092, 1090, 1089, 1094, 1096, 1087, 1108, 1098, 1100, 1093,
- 1090, 1099, 1103, 1093, 1101, 1106, 1091, 1096, 1098, 1092,
- 1099, 1110, 1089, 1107, 1111, 1094, 1100, 1106, 1112, 0,
- 1094, 1096, 1101, 1098, 1098, 1100, 1107, 1108, 1099, 1103,
- 1114, 1101, 1106, 1109, 1117, 1098, 1116, 1110, 1110, 1111,
-
- 1107, 1111, 1115, 1109, 1119, 1112, 1122, 1118, 0, 1115,
- 1114, 1120, 1117, 1118, 1126, 1121, 1132, 1114, 1122, 1119,
- 1109, 1117, 1116, 1116, 1127, 1123, 1120, 1129, 1124, 1115,
- 1121, 1119, 1123, 1122, 1118, 1124, 1126, 1128, 1120, 1134,
- 1131, 1126, 1121, 1132, 1135, 1129, 1128, 1133, 1133, 1127,
- 1136, 1127, 1123, 1131, 1129, 1124, 1137, 1140, 1139, 1138,
- 1141, 1134, 1143, 1144, 1128, 1139, 1134, 1131, 1138, 1135,
- 1143, 1135, 1136, 1145, 1133, 1149, 1144, 1136, 1137, 1146,
- 1148, 1151, 1141, 1137, 0, 1139, 1138, 1141, 1140, 1143,
- 1144, 1146, 1147, 1150, 1154, 1152, 1151, 1149, 1152, 1147,
-
- 1145, 1153, 1149, 1160, 1162, 1157, 1146, 1158, 1151, 1155,
- 0, 1148, 1154, 1152, 1164, 1162, 1161, 1160, 1150, 1147,
- 1150, 1154, 1152, 1161, 1155, 1152, 1153, 1157, 1153, 1158,
- 1160, 1162, 1157, 1166, 1158, 1164, 1155, 1167, 1168, 1169,
- 1168, 1164, 1170, 1161, 1171, 1172, 0, 1173, 1175, 1167,
- 1174, 1177, 1179, 1176, 1166, 1173, 1182, 1169, 1183, 1179,
- 1166, 1184, 1171, 1178, 1167, 1168, 1169, 1176, 1185, 1170,
- 1175, 1171, 1172, 1174, 1173, 1175, 1183, 1174, 1177, 1179,
- 1176, 1186, 1178, 1182, 1187, 1183, 1189, 1188, 1184, 1191,
- 1178, 1191, 0, 1187, 1185, 1185, 1186, 1192, 1193, 1195,
-
- 1194, 1196, 1193, 1198, 1197, 1200, 1199, 0, 1186, 1188,
- 1196, 1187, 1194, 1189, 1188, 1197, 1191, 1200, 1201, 1192,
- 1212, 1195, 1202, 1202, 1192, 1193, 1195, 1194, 1196, 1199,
- 1198, 1197, 1200, 1199, 1203, 1205, 1207, 1208, 1206, 1205,
- 1201, 1206, 1203, 1208, 1207, 1201, 1210, 1212, 1213, 1202,
- 1217, 1209, 1210, 1214, 1218, 1215, 1216, 1219, 1221, 1222,
- 1220, 1203, 1205, 1207, 1208, 1206, 1209, 1214, 1215, 1223,
- 1216, 1224, 1213, 1210, 1220, 1213, 1217, 1217, 1209, 1224,
- 1214, 1218, 1215, 1216, 1219, 1221, 1222, 1220, 1225, 1226,
- 1229, 1227, 1230, 1231, 1232, 1233, 1223, 0, 1224, 1227,
-
- 1235, 1231, 1234, 1237, 1233, 1238, 1239, 1241, 1243, 0,
- 1236, 1241, 1229, 1238, 1242, 1225, 1226, 1229, 1227, 1230,
- 1231, 1232, 1233, 1234, 1235, 1236, 1242, 1235, 1244, 1234,
- 1237, 1243, 1238, 1239, 1241, 1243, 1236, 1236, 1245, 1246,
- 1249, 1242, 1247, 1247, 1248, 1250, 1245, 1252, 1253, 1252,
- 1254, 1251, 1236, 1260, 1255, 1244, 1254, 0, 1249, 0,
- 1250, 1257, 1253, 1261, 1258, 1245, 1246, 1249, 1256, 1247,
- 1248, 1248, 1250, 1251, 1252, 1253, 1255, 1254, 1251, 1257,
- 1256, 1255, 1258, 1259, 1260, 1263, 1261, 1265, 1257, 1266,
- 1261, 1258, 1263, 1267, 1268, 1256, 1259, 0, 1273, 1270,
-
- 1271, 0, 1268, 0, 1275, 1265, 1278, 1280, 1276, 1281,
- 1259, 1270, 1263, 1273, 1265, 1266, 1266, 1282, 1271, 1290,
- 1268, 1268, 1281, 1283, 1267, 1273, 1270, 1271, 1275, 1268,
- 1276, 1275, 1277, 1278, 1280, 1276, 1281, 1285, 1283, 1277,
- 1284, 0, 1286, 1282, 1282, 1285, 1290, 1288, 1289, 1291,
- 1283, 1292, 1293, 1284, 1294, 1295, 1297, 0, 1292, 1277,
- 0, 1296, 1295, 1298, 1285, 1293, 1302, 1284, 1286, 1286,
- 1288, 1291, 1289, 1301, 1288, 1289, 1291, 1294, 1292, 1293,
- 1300, 1294, 1295, 1296, 1298, 1303, 1304, 1297, 1296, 1307,
- 1298, 1300, 1311, 1315, 1317, 1301, 1314, 1302, 1319, 1320,
-
- 1301, 1322, 1327, 1321, 1303, 1323, 1322, 1300, 1325, 0,
- 1331, 1304, 1303, 1304, 1321, 1307, 1307, 1333, 1314, 1311,
- 1315, 1317, 1328, 1314, 1329, 1320, 1320, 1323, 1322, 1319,
- 1321, 1328, 1323, 1327, 1334, 1325, 1329, 1331, 1336, 1333,
- 1335, 1337, 1338, 1339, 1333, 1341, 0, 1340, 1342, 1328,
- 0, 1329, 1347, 1335, 1341, 1345, 1343, 1346, 1344, 1334,
- 1336, 1334, 1340, 1342, 1346, 1336, 0, 1335, 1337, 1338,
- 1339, 1343, 1341, 1344, 1340, 1342, 1348, 1345, 1351, 1347,
- 1349, 1349, 1345, 1343, 1346, 1344, 1350, 1352, 1353, 1354,
- 1352, 1355, 1351, 1350, 1348, 1356, 1355, 1357, 1354, 1358,
-
- 1359, 1353, 1362, 1348, 1371, 1351, 0, 1349, 0, 1362,
- 1369, 1363, 1366, 1350, 1352, 1353, 1354, 1356, 1355, 1357,
- 1363, 1373, 1356, 1364, 1357, 1365, 1358, 1359, 1364, 1362,
- 1366, 1371, 1365, 1367, 1368, 1372, 1369, 1369, 1363, 1366,
- 1367, 1373, 1374, 1368, 1379, 1380, 1375, 1376, 1373, 0,
- 1364, 1378, 1365, 1372, 1374, 1375, 1376, 1377, 1381, 1378,
- 1367, 1368, 1372, 1382, 1383, 1390, 1391, 1381, 1377, 1374,
- 1384, 1379, 1383, 1375, 1376, 1382, 1380, 1384, 1378, 1386,
- 1395, 1389, 1392, 1396, 1377, 1381, 1393, 1386, 1389, 1390,
- 1382, 1383, 1390, 1391, 1392, 1393, 1399, 1384, 1397, 1401,
-
- 1402, 0, 1406, 1395, 1408, 0, 1386, 1395, 1389, 1392,
- 1396, 1400, 1397, 1393, 1409, 1407, 1411, 1410, 1412, 1400,
- 1407, 1414, 1408, 1399, 1411, 1397, 1401, 1402, 1406, 1406,
- 1415, 1408, 1416, 1414, 1417, 1418, 1409, 1412, 1400, 1410,
- 1419, 1409, 1407, 1411, 1410, 1412, 1417, 1420, 1414, 1421,
- 1422, 1426, 1415, 1423, 1416, 0, 1427, 1415, 0, 1416,
- 1430, 1417, 1418, 1428, 1432, 0, 1429, 1419, 1435, 1431,
- 0, 1421, 1430, 0, 1433, 0, 1421, 1422, 1420, 1427,
- 1423, 1438, 1426, 1427, 1429, 1428, 1432, 1430, 1431, 1433,
- 1428, 1432, 1435, 1429, 1436, 1435, 1431, 1437, 1439, 1438,
-
- 1440, 1433, 1441, 1436, 1443, 1446, 1444, 1445, 1438, 1448,
- 1447, 1437, 1443, 1444, 0, 1445, 1439, 1450, 1454, 1449,
- 1441, 1436, 1452, 1458, 1437, 1439, 1440, 1440, 1447, 1441,
- 1454, 1443, 1446, 1444, 1445, 1456, 1448, 1447, 1449, 1450,
- 1452, 1453, 1469, 1462, 1450, 1454, 1449, 1461, 1463, 1452,
- 1458, 1464, 1465, 1466, 1461, 1453, 1467, 1470, 1468, 1471,
- 1474, 1456, 1456, 1475, 0, 1467, 1483, 0, 1453, 1462,
- 1462, 1468, 1463, 1469, 1461, 1463, 0, 1479, 1464, 1465,
- 1466, 1474, 1471, 1467, 1470, 1468, 1471, 1474, 1478, 1478,
- 1481, 1480, 1482, 1483, 1475, 1484, 1489, 1481, 1478, 1479,
-
- 1480, 1485, 1486, 1484, 1479, 1482, 1487, 1489, 1488, 1490,
- 1486, 1492, 1492, 1500, 1491, 1478, 1478, 1481, 1480, 1482,
- 1485, 1491, 1484, 1489, 1493, 1497, 0, 1501, 1485, 1486,
- 1494, 1490, 1487, 1487, 1488, 1488, 1490, 1494, 1492, 1495,
- 1500, 1491, 1493, 1502, 1499, 1503, 1495, 1504, 1507, 1497,
- 1501, 1493, 1497, 1499, 1501, 1506, 1508, 1494, 1508, 1503,
- 1513, 1502, 1512, 1507, 0, 1504, 1495, 1514, 1516, 1522,
- 1502, 1499, 1503, 1506, 1504, 1507, 1520, 1523, 1517, 1523,
- 1524, 1518, 1506, 1508, 1512, 1514, 1513, 1513, 1518, 1512,
- 1516, 1519, 1521, 1528, 1514, 1516, 1517, 1519, 1520, 1527,
-
- 1522, 1521, 1526, 1520, 1523, 1517, 1530, 1524, 1518, 1529,
- 1526, 1527, 1531, 1532, 1536, 1533, 1534, 1537, 1519, 1521,
- 1528, 1532, 1538, 1531, 1530, 1537, 1527, 1535, 1535, 1526,
- 1539, 1541, 1529, 1530, 1533, 1543, 1529, 1544, 1534, 1531,
- 1532, 1536, 1533, 1534, 1537, 1546, 1542, 1547, 0, 1538,
- 1544, 1545, 1539, 1542, 1535, 1548, 1545, 1539, 1541, 1550,
- 1549, 1543, 1543, 1548, 1544, 1551, 1550, 1554, 1552, 1553,
- 1556, 1555, 1546, 1542, 1547, 1549, 1553, 1558, 1545, 1555,
- 1557, 1557, 1548, 1552, 1560, 1561, 1550, 1549, 1563, 1554,
- 1557, 1566, 1551, 1561, 1554, 1552, 1553, 1565, 1555, 1567,
-
- 1564, 1556, 1568, 1569, 1558, 1571, 1575, 1557, 1557, 1573,
- 1563, 1560, 1561, 1564, 1577, 1563, 1576, 1578, 1566, 1565,
- 1582, 1581, 1586, 1583, 1565, 1569, 1567, 1564, 0, 1568,
- 1569, 1585, 1571, 1575, 1576, 1573, 1573, 1586, 1591, 1578,
- 1581, 1577, 1587, 1576, 1578, 1583, 1588, 1582, 1581, 1586,
- 1583, 1587, 1594, 1585, 1589, 1589, 1590, 1588, 1585, 1594,
- 1591, 1595, 1590, 1596, 1589, 1591, 1597, 1601, 1603, 1587,
- 1607, 1605, 1611, 1588, 1608, 1612, 1610, 0, 1613, 1594,
- 1613, 1589, 1589, 1590, 1605, 1610, 1608, 1616, 1595, 1597,
- 1596, 1603, 1614, 1597, 1601, 1603, 1617, 1607, 1605, 1611,
-
- 1615, 1608, 1612, 1610, 1614, 1613, 1615, 1618, 1619, 1616,
- 1622, 1624, 1625, 1627, 1616, 1618, 1628, 1631, 1617, 1614,
- 1632, 0, 1633, 1617, 1634, 0, 0, 1615, 1627, 1641,
- 1636, 0, 1634, 1632, 1618, 1619, 1635, 1622, 1624, 1625,
- 1627, 1636, 1628, 1628, 1633, 1635, 1642, 1632, 1631, 1633,
- 1643, 1634, 1641, 1642, 1644, 1646, 1641, 1636, 1645, 1647,
- 1648, 1647, 1644, 1635, 1643, 1649, 1646, 1645, 1651, 1652,
- 1650, 1654, 1648, 1642, 1653, 1655, 1653, 1643, 1660, 1661,
- 1656, 1644, 1646, 1654, 0, 1645, 1647, 1648, 1650, 1663,
- 1651, 1652, 1649, 1656, 1659, 1651, 1652, 1650, 1654, 1658,
-
- 1662, 1653, 1659, 1663, 1664, 1665, 1655, 1656, 1670, 1660,
- 1661, 1658, 1664, 1662, 1666, 1667, 1663, 1669, 1665, 1668,
- 1672, 1659, 1666, 1671, 1678, 1669, 1658, 1662, 1672, 1667,
- 1670, 1664, 1665, 1668, 1673, 1670, 1674, 1675, 1679, 0,
- 1676, 1666, 1667, 1677, 1669, 1671, 1668, 1672, 1680, 1681,
- 1671, 1677, 1683, 1691, 0, 1678, 0, 1681, 1674, 1675,
- 1673, 1673, 1676, 1674, 1675, 1679, 1682, 1676, 1680, 1684,
- 1677, 1685, 1687, 1688, 1682, 1680, 1681, 1684, 1689, 1691,
- 1691, 1688, 1692, 1683, 1693, 1685, 1689, 1690, 0, 1694,
- 0, 1695, 1693, 1682, 1687, 0, 1684, 1696, 1685, 1687,
-
- 1688, 1690, 1697, 1699, 1692, 1689, 1700, 1701, 0, 1692,
- 1703, 1693, 1698, 1702, 1690, 1694, 1694, 1695, 1695, 1696,
- 1698, 1702, 1697, 1704, 1696, 1706, 1700, 1701, 1708, 1697,
- 1699, 1704, 1703, 1700, 1701, 1707, 1708, 1703, 1709, 1698,
- 1702, 1710, 1714, 1711, 1715, 1712, 1709, 1706, 1713, 1716,
- 1704, 1711, 1706, 1712, 1717, 1708, 0, 1707, 1718, 0,
- 1720, 1723, 1707, 1726, 1715, 1709, 1727, 1710, 1710, 1714,
- 1711, 1715, 1712, 0, 1713, 1713, 1716, 0, 1718, 0,
- 0, 1717, 1720, 1723, 1724, 1718, 1725, 1720, 1723, 0,
- 1726, 0, 1724, 1727, 1725, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1724, 0, 1725, 1731, 1731, 1731, 1731, 1731, 1731,
- 1731, 1732, 1732, 1732, 1732, 1732, 1732, 1732, 1733, 1733,
- 1733, 1733, 1733, 1733, 1733, 1734, 1734, 1734, 1734, 1734,
- 1734, 1734, 1735, 1735, 1735, 1735, 1735, 1735, 1735, 1737,
- 1737, 0, 1737, 1737, 1737, 1737, 1738, 1738, 0, 0,
- 0, 1738, 1738, 1739, 1739, 0, 0, 1739, 0, 1739,
- 1740, 0, 0, 0, 0, 0, 1740, 1741, 1741, 0,
- 0, 0, 1741, 1741, 1742, 0, 0, 0, 0, 0,
- 1742, 1743, 1743, 0, 1743, 1743, 1743, 1743, 1744, 1744,
-
- 0, 1744, 1744, 1744, 1744, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
- 1730
+ 26, 30, 75, 31, 26, 74, 37, 26, 22, 30,
+ 30, 37, 138, 22, 26, 32, 26, 22, 30, 31,
+ 22, 65, 22, 22, 30, 31, 31, 34, 30, 74,
+ 31, 34, 74, 127, 65, 36, 138, 36, 125, 138,
+ 55, 34, 55, 55, 34, 55, 31, 33, 65, 67,
+ 82, 33, 36, 34, 34, 82, 78, 33, 34, 38,
+ 33, 36, 36, 38, 36, 78, 35, 33, 34, 33,
+ 66, 34, 66, 66, 33, 66, 35, 82, 33, 36,
+ 35, 35, 61, 78, 33, 38, 38, 33, 35, 76,
+
+ 38, 56, 51, 35, 33, 63, 76, 63, 63, 68,
+ 63, 68, 68, 35, 68, 84, 77, 35, 35, 68,
+ 71, 79, 71, 71, 80, 71, 76, 81, 86, 77,
+ 71, 85, 84, 83, 79, 86, 81, 91, 87, 80,
+ 77, 83, 63, 77, 85, 89, 84, 87, 79, 90,
+ 91, 80, 88, 93, 81, 86, 77, 71, 85, 84,
+ 83, 88, 94, 92, 91, 87, 92, 50, 89, 45,
+ 94, 90, 89, 96, 95, 97, 90, 96, 97, 88,
+ 92, 40, 98, 99, 93, 100, 14, 92, 102, 94,
+ 92, 104, 13, 92, 95, 98, 95, 96, 104, 101,
+
+ 96, 95, 97, 103, 96, 100, 99, 92, 102, 98,
+ 99, 105, 100, 101, 106, 102, 107, 103, 104, 111,
+ 105, 95, 109, 108, 110, 107, 101, 108, 112, 109,
+ 103, 110, 115, 111, 113, 114, 0, 106, 105, 117,
+ 112, 106, 113, 107, 114, 108, 111, 118, 211, 109,
+ 108, 110, 116, 119, 108, 112, 118, 121, 123, 117,
+ 242, 113, 114, 115, 119, 117, 117, 116, 122, 120,
+ 0, 140, 124, 123, 118, 120, 0, 211, 121, 116,
+ 119, 124, 121, 148, 121, 123, 117, 242, 139, 130,
+ 122, 130, 130, 0, 130, 122, 120, 142, 135, 124,
+
+ 135, 135, 140, 135, 136, 121, 136, 136, 141, 136,
+ 139, 143, 146, 144, 148, 139, 142, 146, 149, 143,
+ 141, 145, 152, 147, 142, 144, 151, 154, 145, 153,
+ 152, 154, 155, 160, 157, 141, 156, 0, 143, 149,
+ 144, 136, 160, 146, 146, 147, 149, 157, 145, 152,
+ 147, 153, 151, 151, 154, 155, 153, 165, 156, 155,
+ 160, 157, 158, 156, 161, 159, 149, 150, 159, 163,
+ 164, 0, 150, 0, 158, 166, 163, 150, 168, 162,
+ 159, 164, 0, 150, 150, 171, 161, 0, 165, 158,
+ 150, 161, 159, 167, 150, 159, 163, 164, 162, 150,
+
+ 169, 166, 166, 167, 150, 162, 162, 170, 173, 168,
+ 150, 150, 174, 170, 172, 175, 171, 176, 169, 177,
+ 0, 178, 0, 182, 167, 162, 179, 169, 178, 190,
+ 167, 176, 180, 181, 170, 175, 172, 180, 188, 173,
+ 177, 172, 175, 174, 176, 182, 177, 179, 178, 183,
+ 182, 184, 181, 179, 190, 185, 190, 186, 184, 180,
+ 181, 183, 186, 187, 187, 191, 189, 192, 195, 188,
+ 0, 0, 187, 189, 194, 193, 183, 185, 184, 197,
+ 198, 196, 185, 193, 186, 191, 202, 201, 204, 194,
+ 187, 187, 191, 189, 195, 195, 199, 198, 192, 203,
+
+ 200, 194, 193, 196, 205, 198, 201, 198, 200, 206,
+ 197, 199, 196, 207, 201, 209, 205, 202, 206, 204,
+ 208, 203, 208, 199, 198, 210, 203, 200, 212, 215,
+ 196, 205, 207, 213, 214, 0, 206, 219, 216, 209,
+ 207, 215, 209, 217, 220, 214, 218, 208, 221, 223,
+ 222, 210, 210, 0, 212, 212, 215, 220, 225, 213,
+ 213, 214, 216, 228, 218, 216, 217, 225, 219, 224,
+ 217, 220, 222, 218, 221, 221, 224, 222, 226, 227,
+ 223, 230, 229, 231, 226, 225, 232, 233, 234, 228,
+ 228, 229, 231, 227, 287, 287, 224, 236, 237, 235,
+
+ 236, 232, 0, 0, 230, 226, 227, 236, 230, 229,
+ 231, 238, 234, 232, 235, 234, 237, 238, 233, 239,
+ 240, 243, 246, 287, 236, 237, 235, 236, 241, 241,
+ 245, 244, 247, 239, 244, 240, 248, 254, 238, 252,
+ 246, 244, 245, 249, 261, 243, 239, 240, 243, 246,
+ 247, 250, 251, 241, 252, 241, 241, 245, 244, 247,
+ 253, 244, 255, 248, 251, 249, 252, 253, 254, 255,
+ 249, 256, 257, 258, 257, 261, 260, 250, 250, 251,
+ 259, 264, 262, 259, 263, 259, 258, 253, 264, 255,
+ 263, 259, 266, 256, 260, 276, 257, 267, 256, 257,
+
+ 258, 257, 265, 260, 262, 266, 270, 259, 264, 262,
+ 259, 263, 259, 267, 265, 268, 0, 281, 270, 266,
+ 271, 267, 273, 274, 267, 272, 276, 275, 268, 265,
+ 273, 272, 277, 270, 275, 274, 277, 0, 271, 278,
+ 267, 284, 268, 269, 269, 0, 278, 271, 281, 273,
+ 274, 279, 272, 269, 275, 269, 269, 269, 282, 277,
+ 269, 280, 283, 279, 286, 282, 278, 288, 269, 301,
+ 269, 269, 284, 280, 288, 283, 292, 0, 279, 285,
+ 269, 289, 269, 269, 269, 282, 286, 269, 280, 283,
+ 285, 286, 289, 290, 288, 293, 291, 295, 294, 296,
+
+ 301, 292, 0, 292, 290, 298, 285, 294, 289, 291,
+ 295, 297, 296, 299, 302, 300, 306, 296, 293, 304,
+ 290, 303, 293, 291, 295, 294, 296, 298, 305, 297,
+ 306, 307, 298, 300, 308, 302, 299, 311, 297, 296,
+ 299, 302, 300, 306, 303, 304, 304, 309, 303, 310,
+ 305, 314, 311, 309, 312, 305, 313, 307, 307, 316,
+ 315, 0, 318, 319, 311, 308, 315, 310, 0, 319,
+ 0, 327, 320, 314, 309, 321, 310, 312, 314, 0,
+ 323, 312, 313, 313, 327, 316, 316, 315, 318, 318,
+ 319, 320, 328, 321, 322, 323, 325, 326, 327, 320,
+
+ 329, 322, 321, 325, 326, 331, 330, 323, 332, 0,
+ 328, 333, 334, 0, 335, 0, 333, 332, 334, 328,
+ 336, 322, 329, 325, 326, 330, 337, 329, 0, 338,
+ 0, 346, 336, 330, 339, 332, 331, 335, 333, 334,
+ 338, 335, 339, 341, 342, 343, 348, 336, 337, 0,
+ 341, 344, 345, 337, 343, 342, 338, 346, 346, 345,
+ 0, 339, 340, 347, 0, 347, 0, 340, 349, 340,
+ 341, 342, 348, 348, 351, 344, 343, 340, 344, 345,
+ 349, 343, 350, 352, 354, 355, 351, 340, 340, 340,
+ 347, 352, 356, 353, 340, 349, 340, 350, 353, 358,
+
+ 356, 351, 359, 355, 340, 357, 354, 361, 360, 350,
+ 352, 354, 355, 362, 340, 364, 361, 357, 363, 356,
+ 353, 365, 358, 360, 366, 367, 358, 362, 375, 368,
+ 369, 373, 357, 359, 361, 360, 365, 363, 374, 366,
+ 362, 368, 364, 376, 370, 363, 371, 370, 365, 367,
+ 371, 366, 367, 372, 369, 370, 368, 369, 373, 375,
+ 377, 378, 379, 380, 384, 374, 382, 372, 379, 0,
+ 376, 370, 381, 383, 370, 385, 386, 371, 0, 387,
+ 372, 388, 385, 393, 390, 380, 384, 377, 0, 379,
+ 380, 384, 378, 395, 388, 381, 383, 382, 394, 381,
+
+ 383, 387, 385, 391, 389, 392, 387, 386, 388, 389,
+ 390, 390, 391, 389, 393, 396, 394, 395, 392, 397,
+ 395, 398, 399, 400, 401, 394, 402, 0, 389, 404,
+ 391, 389, 392, 403, 400, 398, 389, 396, 396, 401,
+ 389, 397, 396, 405, 399, 408, 397, 406, 398, 399,
+ 400, 401, 407, 404, 403, 409, 404, 402, 408, 0,
+ 403, 407, 410, 411, 396, 415, 412, 405, 414, 406,
+ 405, 413, 408, 416, 406, 413, 418, 417, 419, 407,
+ 418, 0, 414, 421, 410, 422, 409, 411, 412, 410,
+ 411, 416, 417, 412, 422, 414, 415, 426, 420, 427,
+
+ 416, 417, 413, 419, 417, 419, 420, 418, 421, 423,
+ 421, 428, 422, 424, 431, 425, 435, 427, 423, 417,
+ 426, 424, 425, 428, 426, 420, 427, 430, 429, 0,
+ 433, 0, 435, 432, 0, 434, 423, 429, 428, 430,
+ 424, 432, 425, 435, 436, 431, 441, 440, 437, 439,
+ 442, 0, 446, 438, 430, 429, 433, 433, 434, 437,
+ 432, 438, 434, 439, 443, 444, 436, 440, 441, 445,
+ 442, 436, 446, 441, 440, 437, 439, 442, 445, 446,
+ 438, 447, 448, 449, 451, 0, 443, 444, 450, 456,
+ 453, 443, 444, 0, 452, 448, 445, 459, 453, 447,
+
+ 452, 454, 474, 457, 460, 449, 459, 451, 447, 448,
+ 449, 451, 450, 461, 458, 450, 453, 453, 496, 454,
+ 456, 452, 461, 460, 459, 453, 457, 465, 454, 458,
+ 457, 460, 462, 474, 462, 468, 472, 0, 471, 465,
+ 461, 458, 477, 473, 480, 468, 476, 0, 478, 496,
+ 478, 477, 479, 497, 465, 508, 471, 472, 481, 462,
+ 463, 0, 468, 472, 463, 471, 473, 463, 476, 477,
+ 473, 480, 482, 476, 463, 478, 479, 463, 481, 479,
+ 483, 0, 463, 484, 497, 481, 508, 463, 485, 0,
+ 0, 463, 483, 488, 463, 0, 0, 486, 482, 482,
+
+ 488, 463, 491, 0, 463, 475, 475, 483, 475, 484,
+ 484, 475, 485, 487, 492, 485, 475, 489, 490, 486,
+ 488, 487, 475, 475, 486, 489, 492, 493, 491, 491,
+ 494, 475, 475, 475, 495, 475, 493, 490, 475, 498,
+ 487, 492, 503, 475, 489, 490, 499, 502, 504, 475,
+ 475, 500, 494, 501, 493, 506, 502, 494, 507, 533,
+ 0, 495, 512, 498, 503, 511, 498, 499, 504, 503,
+ 500, 505, 501, 499, 502, 504, 509, 507, 500, 505,
+ 501, 513, 506, 511, 509, 507, 512, 514, 515, 512,
+ 533, 518, 511, 516, 513, 0, 520, 518, 505, 519,
+
+ 515, 516, 520, 509, 521, 522, 524, 525, 513, 523,
+ 522, 521, 529, 514, 514, 515, 523, 516, 518, 527,
+ 516, 519, 528, 520, 524, 529, 519, 527, 516, 526,
+ 525, 521, 522, 524, 525, 531, 523, 530, 526, 529,
+ 528, 532, 531, 534, 535, 536, 527, 0, 537, 528,
+ 540, 538, 541, 536, 532, 539, 526, 542, 530, 545,
+ 543, 539, 531, 537, 530, 544, 0, 535, 532, 543,
+ 547, 535, 536, 538, 534, 537, 540, 540, 538, 544,
+ 548, 542, 539, 541, 542, 550, 546, 543, 549, 553,
+ 545, 551, 544, 546, 554, 552, 0, 547, 552, 551,
+
+ 549, 554, 553, 556, 0, 557, 0, 548, 550, 0,
+ 0, 563, 550, 546, 571, 549, 553, 557, 551, 0,
+ 0, 554, 552, 555, 560, 555, 556, 559, 0, 555,
+ 556, 555, 557, 558, 563, 558, 555, 564, 563, 559,
+ 561, 555, 562, 566, 0, 571, 560, 555, 0, 564,
+ 555, 560, 555, 561, 559, 562, 555, 570, 555, 567,
+ 558, 565, 569, 555, 564, 566, 573, 561, 555, 562,
+ 566, 565, 567, 568, 574, 569, 576, 575, 570, 568,
+ 572, 573, 577, 565, 570, 572, 567, 572, 565, 569,
+ 575, 576, 579, 573, 578, 582, 574, 580, 565, 585,
+
+ 568, 574, 583, 576, 575, 572, 572, 572, 577, 577,
+ 580, 579, 572, 586, 572, 581, 578, 588, 587, 579,
+ 590, 578, 582, 581, 580, 583, 587, 589, 590, 583,
+ 585, 588, 572, 592, 595, 591, 594, 586, 598, 596,
+ 586, 595, 581, 608, 588, 587, 591, 590, 593, 589,
+ 597, 592, 596, 607, 589, 601, 593, 600, 594, 602,
+ 592, 595, 591, 594, 601, 600, 596, 603, 597, 598,
+ 604, 602, 606, 605, 608, 593, 614, 597, 613, 607,
+ 607, 611, 601, 614, 600, 611, 602, 609, 0, 603,
+ 606, 617, 604, 612, 603, 605, 612, 604, 615, 606,
+
+ 605, 609, 613, 614, 616, 613, 619, 618, 620, 624,
+ 615, 616, 611, 618, 609, 617, 621, 623, 617, 612,
+ 612, 622, 625, 612, 0, 615, 0, 627, 619, 0,
+ 620, 616, 622, 619, 618, 620, 624, 621, 623, 629,
+ 625, 626, 631, 621, 623, 630, 628, 629, 622, 625,
+ 626, 627, 630, 632, 627, 628, 631, 633, 634, 635,
+ 636, 638, 637, 639, 641, 0, 629, 634, 626, 631,
+ 640, 0, 630, 628, 0, 632, 636, 637, 644, 633,
+ 632, 647, 640, 635, 633, 634, 635, 636, 642, 637,
+ 643, 641, 638, 644, 639, 646, 642, 640, 648, 647,
+
+ 649, 652, 649, 643, 646, 644, 648, 653, 647, 654,
+ 655, 656, 666, 657, 652, 642, 654, 643, 659, 653,
+ 660, 658, 646, 0, 661, 648, 662, 649, 652, 663,
+ 0, 659, 664, 660, 653, 657, 654, 663, 662, 666,
+ 657, 655, 656, 658, 664, 659, 661, 660, 658, 665,
+ 668, 661, 667, 662, 670, 669, 663, 665, 0, 664,
+ 673, 667, 669, 671, 672, 674, 675, 0, 676, 0,
+ 678, 668, 677, 673, 679, 675, 665, 668, 678, 667,
+ 670, 670, 669, 685, 672, 671, 676, 673, 681, 674,
+ 671, 672, 674, 675, 677, 676, 679, 678, 680, 677,
+
+ 682, 679, 683, 685, 684, 686, 680, 688, 0, 687,
+ 685, 681, 689, 688, 683, 681, 684, 687, 682, 690,
+ 686, 689, 697, 691, 693, 680, 692, 682, 695, 683,
+ 696, 684, 686, 692, 688, 691, 687, 698, 699, 689,
+ 690, 697, 693, 696, 698, 702, 690, 701, 700, 697,
+ 691, 693, 700, 692, 703, 701, 705, 696, 704, 695,
+ 699, 0, 706, 0, 698, 699, 0, 709, 703, 707,
+ 708, 702, 702, 0, 701, 713, 704, 710, 711, 700,
+ 714, 703, 0, 715, 713, 704, 712, 705, 706, 706,
+ 716, 707, 708, 709, 709, 710, 707, 708, 717, 712,
+
+ 711, 718, 713, 719, 710, 711, 718, 720, 718, 722,
+ 718, 714, 716, 712, 715, 723, 725, 716, 732, 718,
+ 725, 717, 724, 720, 728, 717, 726, 723, 718, 719,
+ 719, 724, 722, 718, 720, 718, 722, 718, 727, 726,
+ 734, 729, 723, 728, 733, 732, 727, 725, 730, 724,
+ 731, 728, 731, 726, 729, 736, 733, 730, 737, 739,
+ 741, 738, 742, 740, 743, 727, 744, 734, 729, 738,
+ 740, 733, 745, 744, 747, 730, 746, 731, 748, 736,
+ 737, 750, 736, 749, 742, 737, 739, 741, 738, 742,
+ 740, 743, 749, 744, 745, 746, 747, 751, 753, 745,
+
+ 754, 747, 750, 746, 748, 748, 755, 756, 750, 757,
+ 749, 0, 758, 760, 759, 761, 763, 751, 765, 762,
+ 758, 0, 761, 762, 751, 765, 767, 757, 755, 753,
+ 759, 754, 768, 755, 766, 767, 757, 764, 756, 758,
+ 760, 759, 761, 764, 769, 765, 762, 763, 771, 766,
+ 764, 769, 770, 767, 770, 772, 773, 771, 768, 768,
+ 773, 766, 774, 776, 764, 779, 778, 776, 777, 781,
+ 764, 769, 0, 0, 780, 771, 782, 772, 0, 770,
+ 783, 0, 772, 773, 774, 778, 777, 780, 787, 774,
+ 779, 789, 779, 778, 776, 777, 783, 784, 789, 782,
+
+ 781, 780, 786, 782, 788, 784, 793, 783, 785, 785,
+ 787, 786, 791, 788, 790, 787, 794, 792, 789, 793,
+ 795, 791, 796, 797, 784, 792, 798, 800, 794, 786,
+ 796, 788, 795, 793, 799, 785, 800, 790, 803, 791,
+ 801, 790, 805, 794, 792, 797, 798, 795, 802, 796,
+ 797, 804, 806, 798, 800, 807, 799, 804, 801, 803,
+ 802, 799, 808, 810, 805, 803, 813, 801, 811, 805,
+ 812, 816, 814, 0, 817, 802, 818, 811, 804, 813,
+ 814, 815, 817, 806, 818, 815, 807, 821, 808, 808,
+ 810, 822, 812, 813, 820, 811, 0, 812, 816, 814,
+
+ 827, 817, 820, 818, 819, 819, 830, 823, 821, 824,
+ 825, 826, 815, 827, 821, 823, 829, 824, 825, 826,
+ 828, 820, 822, 832, 831, 833, 828, 827, 829, 843,
+ 834, 819, 830, 830, 823, 835, 824, 825, 826, 831,
+ 0, 839, 836, 829, 834, 832, 836, 828, 833, 838,
+ 832, 831, 833, 835, 0, 840, 838, 834, 841, 836,
+ 843, 847, 835, 842, 849, 845, 851, 836, 839, 836,
+ 842, 848, 853, 836, 845, 0, 838, 840, 855, 0,
+ 856, 841, 840, 847, 857, 841, 836, 858, 847, 858,
+ 842, 859, 845, 851, 860, 849, 857, 848, 848, 853,
+
+ 861, 862, 855, 863, 859, 855, 856, 856, 864, 866,
+ 863, 857, 861, 0, 858, 865, 860, 867, 859, 869,
+ 865, 860, 873, 868, 871, 866, 872, 861, 862, 877,
+ 863, 868, 874, 871, 864, 864, 866, 0, 875, 872,
+ 867, 869, 865, 879, 867, 875, 869, 877, 873, 873,
+ 868, 871, 880, 872, 874, 876, 877, 878, 881, 874,
+ 882, 883, 876, 884, 878, 875, 885, 882, 879, 888,
+ 879, 889, 888, 886, 880, 893, 884, 894, 891, 880,
+ 890, 0, 876, 895, 878, 891, 896, 882, 892, 881,
+ 884, 892, 883, 885, 886, 890, 888, 889, 889, 894,
+
+ 886, 895, 898, 892, 894, 891, 893, 890, 896, 897,
+ 895, 897, 892, 896, 899, 892, 900, 902, 892, 901,
+ 903, 905, 908, 0, 0, 902, 898, 903, 901, 898,
+ 892, 904, 907, 906, 909, 0, 897, 906, 913, 910,
+ 916, 0, 900, 900, 902, 899, 901, 903, 910, 908,
+ 911, 913, 905, 904, 907, 912, 909, 911, 904, 907,
+ 906, 909, 912, 914, 919, 913, 910, 915, 917, 918,
+ 919, 916, 922, 923, 0, 917, 918, 911, 914, 921,
+ 924, 915, 912, 924, 922, 928, 925, 929, 0, 936,
+ 914, 919, 931, 923, 915, 917, 918, 925, 924, 922,
+
+ 923, 921, 930, 931, 932, 935, 921, 924, 933, 937,
+ 924, 929, 928, 925, 929, 934, 933, 940, 934, 931,
+ 936, 938, 932, 935, 930, 939, 940, 941, 938, 930,
+ 945, 932, 935, 934, 942, 933, 937, 944, 947, 939,
+ 941, 943, 934, 943, 940, 934, 944, 946, 938, 942,
+ 952, 954, 939, 948, 941, 0, 945, 945, 946, 949,
+ 947, 942, 949, 950, 944, 947, 953, 948, 943, 956,
+ 955, 957, 950, 958, 946, 953, 956, 949, 0, 948,
+ 948, 952, 954, 966, 962, 963, 949, 958, 0, 949,
+ 950, 955, 959, 953, 948, 964, 956, 955, 959, 963,
+
+ 958, 965, 957, 962, 964, 972, 967, 971, 975, 965,
+ 0, 962, 963, 970, 966, 968, 959, 967, 0, 959,
+ 970, 973, 964, 974, 968, 959, 975, 972, 965, 978,
+ 971, 979, 972, 967, 971, 975, 0, 976, 981, 977,
+ 970, 976, 968, 973, 979, 974, 982, 980, 973, 983,
+ 974, 977, 984, 981, 985, 988, 978, 983, 979, 986,
+ 990, 982, 992, 987, 976, 981, 977, 980, 986, 985,
+ 989, 993, 0, 982, 980, 996, 983, 994, 995, 998,
+ 992, 985, 988, 984, 987, 999, 986, 990, 997, 992,
+ 987, 998, 994, 996, 989, 1000, 1003, 989, 993, 1002,
+
+ 995, 1004, 996, 997, 994, 995, 998, 999, 1000, 1001,
+ 1006, 1002, 999, 1000, 1005, 997, 1001, 1007, 1006, 1008,
+ 1005, 1009, 1000, 1003, 1007, 1010, 1002, 1011, 1009, 1013,
+ 1012, 1014, 1004, 1016, 1017, 1000, 1001, 1006, 1018, 1020,
+ 1019, 1005, 1019, 1017, 1007, 1021, 1008, 1022, 1009, 1024,
+ 0, 0, 1010, 1012, 1011, 1014, 1024, 1012, 1014, 1028,
+ 1013, 1017, 1029, 1025, 1016, 1028, 1020, 1019, 1027, 1018,
+ 1025, 1021, 1021, 1023, 1023, 1023, 1024, 1026, 1022, 1031,
+ 1023, 1027, 1030, 1030, 1026, 1032, 1028, 1035, 1023, 1029,
+ 1025, 1036, 1032, 1034, 0, 1027, 1037, 1038, 1039, 1039,
+
+ 1023, 1023, 1023, 1036, 1026, 1031, 1031, 1023, 1040, 1030,
+ 1044, 1034, 1032, 1049, 1035, 1038, 1037, 1042, 1036, 1045,
+ 1034, 1041, 1041, 1037, 1038, 1039, 1046, 1047, 1042, 1048,
+ 1050, 1051, 1044, 1046, 1040, 1040, 1052, 1044, 1054, 0,
+ 1049, 1053, 1055, 1052, 1042, 1056, 1056, 1047, 1041, 1051,
+ 1045, 1055, 1050, 1046, 1047, 1057, 1053, 1050, 1051, 1058,
+ 1048, 1060, 1054, 1052, 1061, 1054, 1059, 1068, 1053, 1055,
+ 1063, 1058, 1056, 1060, 1059, 1065, 1062, 1066, 1069, 1064,
+ 0, 1057, 1057, 1066, 1064, 1061, 1058, 1067, 1060, 1071,
+ 1074, 1061, 1070, 1059, 1062, 1064, 1070, 1063, 1068, 1076,
+
+ 1067, 1073, 1065, 1062, 1066, 1069, 1064, 1072, 1072, 1075,
+ 1077, 1064, 1079, 1078, 1067, 1078, 1073, 1081, 1082, 1086,
+ 1071, 1074, 1076, 1070, 1075, 1077, 1076, 1080, 1073, 1084,
+ 0, 1085, 1080, 1082, 1072, 1087, 1075, 1077, 1089, 1090,
+ 1078, 0, 1088, 1079, 1099, 1082, 1086, 1091, 1081, 1088,
+ 1094, 0, 1092, 1084, 1080, 1106, 1084, 1085, 1085, 1089,
+ 1096, 1090, 1087, 1098, 1101, 1089, 1090, 1102, 1091, 1088,
+ 1092, 1099, 1094, 1100, 1091, 1096, 1102, 1094, 1098, 1092,
+ 1100, 1103, 1101, 1104, 1107, 1105, 1106, 1096, 1109, 1103,
+ 1098, 1101, 1110, 1114, 1102, 1111, 1118, 1107, 1112, 1109,
+
+ 1100, 1110, 1119, 1121, 1123, 1117, 1104, 1105, 1103, 1118,
+ 1104, 1107, 1105, 1111, 1109, 1109, 1112, 1117, 1120, 1110,
+ 1114, 1122, 1111, 1118, 1125, 1112, 1109, 1126, 1120, 1121,
+ 1121, 1123, 1117, 1119, 1126, 1127, 1129, 1128, 1130, 0,
+ 1133, 1131, 1129, 1132, 1125, 1120, 1122, 1137, 1122, 1143,
+ 1134, 1125, 1133, 1130, 1126, 1128, 1131, 1134, 1132, 1135,
+ 1138, 1127, 1127, 1129, 1128, 1130, 1135, 1133, 1131, 1137,
+ 1132, 1139, 1140, 1145, 1137, 1142, 1143, 1134, 1144, 1144,
+ 1139, 1146, 1147, 1149, 1151, 1138, 1135, 1138, 1142, 1148,
+ 1140, 1152, 1149, 1153, 1150, 1145, 1157, 1160, 1139, 1140,
+
+ 1145, 1150, 1142, 0, 1147, 1144, 1146, 1158, 1146, 1147,
+ 1149, 1148, 1153, 1152, 1155, 1151, 1148, 1156, 1152, 1158,
+ 1153, 1150, 1155, 1157, 1159, 1161, 0, 0, 1160, 1162,
+ 1156, 1159, 1164, 1163, 1158, 1164, 1165, 1166, 1167, 0,
+ 0, 1155, 1173, 1172, 1156, 1169, 1170, 1161, 1163, 1173,
+ 1164, 1159, 1161, 1167, 1162, 1166, 1162, 1172, 1176, 1164,
+ 1163, 1165, 1164, 1165, 1166, 1167, 1174, 1169, 1170, 1173,
+ 1172, 1178, 1169, 1170, 1179, 1182, 1180, 1174, 1180, 1176,
+ 1184, 1181, 1183, 1185, 0, 1176, 1179, 1189, 1186, 1191,
+ 1187, 1185, 1178, 1174, 1190, 1194, 1191, 1196, 1178, 1181,
+
+ 1183, 1179, 1182, 1180, 1188, 1195, 1200, 1184, 1181, 1183,
+ 1185, 1186, 1187, 1190, 1189, 1186, 1191, 1187, 1188, 1197,
+ 1198, 1190, 1194, 1195, 1196, 1199, 1201, 1203, 1200, 1203,
+ 1206, 1188, 1195, 1200, 1199, 1198, 1204, 1205, 1207, 1208,
+ 1209, 1205, 1206, 1210, 1212, 1197, 1197, 1198, 1208, 1211,
+ 0, 1209, 1199, 1201, 1203, 1213, 1212, 1206, 1204, 1224,
+ 1207, 1214, 1214, 1204, 1205, 1207, 1208, 1209, 1225, 1220,
+ 1210, 1212, 1211, 1215, 1217, 1220, 1211, 1213, 1217, 1219,
+ 1218, 1215, 1213, 1218, 1221, 1222, 1224, 1219, 1214, 1226,
+ 1228, 1222, 1225, 1229, 1230, 1225, 1220, 1227, 1231, 1221,
+
+ 1215, 1217, 1233, 1226, 1228, 1234, 1219, 1218, 1232, 1235,
+ 1227, 1221, 1222, 1237, 1238, 1236, 1226, 1228, 1239, 1229,
+ 1229, 1230, 1232, 1236, 1227, 1231, 1239, 1241, 1242, 1233,
+ 1243, 1244, 1234, 0, 1245, 1232, 1235, 1248, 1243, 1246,
+ 1237, 1238, 1236, 1245, 1247, 1239, 1249, 1250, 1251, 1241,
+ 1252, 1257, 1248, 1256, 1241, 1242, 1251, 1243, 1244, 1250,
+ 1246, 1245, 0, 1248, 1248, 1254, 1246, 1259, 1247, 1254,
+ 1255, 1247, 1261, 1249, 1250, 1251, 1256, 1252, 1257, 1248,
+ 1256, 1258, 1255, 1260, 1260, 1262, 1263, 1264, 1265, 1258,
+ 1265, 1266, 1254, 1270, 1259, 1268, 1267, 1255, 1261, 1261,
+
+ 0, 1263, 1267, 1262, 1269, 1266, 1271, 1273, 1258, 1264,
+ 1260, 1270, 1262, 1263, 1264, 1265, 1269, 1268, 1266, 1272,
+ 1270, 1274, 1268, 1267, 1271, 1278, 1280, 1276, 0, 1279,
+ 0, 1269, 1272, 1271, 1276, 1283, 0, 1281, 1273, 0,
+ 1284, 1291, 1288, 1278, 1274, 1281, 1272, 1283, 1274, 1289,
+ 1286, 1293, 1278, 1290, 1276, 1279, 1279, 1280, 1284, 1295,
+ 1290, 1294, 1283, 1281, 1281, 1286, 1288, 1284, 1291, 1288,
+ 1297, 1289, 1281, 1298, 1294, 1296, 1289, 1286, 1293, 1299,
+ 1290, 1298, 1303, 1297, 1301, 1295, 1295, 0, 1294, 1302,
+ 1296, 1305, 1304, 1309, 1307, 1306, 1308, 1297, 1305, 1310,
+
+ 1298, 1313, 1296, 1308, 1311, 1299, 1299, 1301, 1306, 1303,
+ 1314, 1301, 1313, 1302, 1304, 1309, 1302, 1307, 1305, 1304,
+ 1309, 1307, 1306, 1308, 1315, 1311, 1316, 1317, 1313, 1324,
+ 1310, 1311, 1314, 1320, 1328, 1327, 1330, 1314, 1332, 1333,
+ 1334, 1335, 1341, 0, 1339, 1316, 1335, 0, 1336, 1338,
+ 1345, 1334, 1317, 1316, 1317, 1315, 1324, 1327, 1347, 1320,
+ 1320, 1328, 1327, 1330, 1338, 1333, 1333, 1334, 1335, 1332,
+ 1336, 1339, 1342, 1341, 1343, 1336, 1338, 1345, 1348, 1349,
+ 1347, 1342, 1350, 1351, 1352, 1347, 1343, 1353, 1355, 0,
+ 0, 1361, 1349, 1354, 1359, 0, 0, 1355, 1356, 1342,
+
+ 0, 1343, 1357, 1348, 1350, 1348, 1349, 1358, 1354, 1350,
+ 1351, 1352, 1360, 1356, 1353, 1355, 1359, 1357, 1361, 1360,
+ 1354, 1359, 1358, 1362, 1364, 1356, 1363, 1363, 1365, 1357,
+ 1366, 1364, 1367, 1366, 1358, 1368, 1370, 1372, 1369, 1360,
+ 1373, 1362, 1365, 1369, 1368, 1367, 1371, 1376, 1385, 1379,
+ 1362, 1364, 1377, 1363, 1376, 1365, 1379, 1366, 1370, 1367,
+ 1380, 1377, 1368, 1370, 1372, 1369, 1378, 1373, 1371, 1383,
+ 1381, 1378, 1382, 1371, 1376, 1385, 1379, 1381, 1380, 1377,
+ 1386, 1382, 1387, 1389, 0, 1390, 1393, 1380, 1388, 1394,
+ 1391, 0, 1389, 1378, 1390, 1383, 1383, 1381, 1386, 1382,
+
+ 1388, 1391, 1387, 1392, 1396, 1395, 1405, 1386, 0, 1387,
+ 1389, 1392, 1390, 1393, 1395, 1388, 1396, 1391, 1397, 1400,
+ 1394, 1398, 1403, 1404, 1406, 1407, 1397, 1400, 1398, 1403,
+ 1392, 1396, 1395, 1405, 1407, 1408, 1406, 1410, 1411, 1412,
+ 1414, 1416, 1417, 0, 1421, 1397, 1400, 1404, 1398, 1403,
+ 1404, 1406, 1407, 1412, 1422, 1415, 1423, 1424, 1408, 1422,
+ 1410, 1427, 1408, 1415, 1410, 1411, 1412, 1414, 1416, 1417,
+ 1421, 1421, 1425, 1430, 1423, 1429, 1431, 1426, 1432, 1424,
+ 1427, 1422, 1415, 1423, 1424, 1426, 1433, 1429, 1427, 1434,
+ 1432, 1435, 1436, 1437, 1425, 1430, 1438, 1441, 1431, 1425,
+
+ 1430, 0, 1429, 1431, 1426, 1432, 1442, 1444, 1443, 1445,
+ 1447, 1448, 1446, 1433, 1436, 1451, 1434, 1450, 0, 1436,
+ 1437, 1445, 1435, 1438, 1451, 1444, 1448, 0, 1441, 1442,
+ 1443, 1446, 1447, 1442, 1444, 1443, 1445, 1447, 1448, 1446,
+ 1452, 1450, 1451, 1453, 1450, 1454, 0, 1455, 1456, 1458,
+ 1461, 1459, 1460, 1462, 1452, 1463, 0, 1458, 1459, 0,
+ 1460, 1453, 1464, 1454, 1465, 1467, 1456, 1452, 1472, 1474,
+ 1453, 1462, 1454, 1455, 1455, 1456, 1458, 1461, 1459, 1460,
+ 1462, 1464, 1463, 1467, 1468, 1469, 1465, 1470, 1480, 1464,
+ 1477, 1465, 1467, 1478, 1472, 1472, 1474, 1477, 1468, 1470,
+
+ 1479, 1481, 1482, 1484, 1483, 1485, 1486, 1491, 1469, 0,
+ 0, 1468, 1469, 1483, 1470, 1480, 1484, 1477, 1487, 1478,
+ 1478, 1490, 1494, 1494, 1479, 1495, 1496, 1479, 1481, 1482,
+ 1484, 1483, 1494, 1486, 1499, 1496, 1485, 1497, 1491, 1501,
+ 1506, 1487, 1490, 1498, 1497, 1487, 1500, 1495, 1490, 1494,
+ 1494, 1502, 1495, 1496, 1500, 1503, 1498, 1504, 1501, 1502,
+ 1505, 1499, 1506, 1516, 1497, 1507, 1501, 1506, 1508, 1508,
+ 1498, 1505, 1507, 1500, 1513, 1509, 1515, 1517, 1502, 1510,
+ 1520, 1503, 1503, 1504, 1504, 1515, 1510, 1505, 0, 1511,
+ 1516, 1518, 1507, 1509, 1520, 1508, 1511, 1521, 1513, 1519,
+
+ 1517, 1513, 1509, 1515, 1517, 1523, 1510, 1520, 1529, 1518,
+ 1524, 1519, 1525, 1531, 1525, 1521, 1511, 1530, 1518, 1533,
+ 1534, 1535, 1539, 1523, 1521, 1524, 1519, 1536, 1535, 1537,
+ 1529, 1531, 1523, 1536, 1541, 1529, 1538, 1524, 1534, 1525,
+ 1531, 1533, 1545, 1530, 1530, 1538, 1533, 1534, 1535, 1543,
+ 1540, 1537, 1540, 1539, 1536, 1544, 1537, 1543, 1546, 1548,
+ 1547, 1541, 1553, 1538, 1549, 1550, 1551, 1544, 1555, 1545,
+ 1548, 1554, 1549, 1552, 1552, 1556, 1543, 1540, 1547, 1554,
+ 1558, 1546, 1544, 1559, 1550, 1546, 1548, 1547, 1551, 1553,
+ 1559, 1549, 1550, 1551, 1561, 1555, 1562, 1556, 1554, 1560,
+
+ 1552, 1563, 1556, 1560, 1564, 1565, 1563, 1558, 1566, 1562,
+ 1559, 1568, 1567, 1569, 1570, 1571, 1566, 1573, 1568, 1574,
+ 1561, 1561, 1571, 1562, 1572, 1573, 1560, 1567, 1563, 1570,
+ 1576, 1564, 1565, 1575, 1575, 1566, 1578, 1579, 1568, 1567,
+ 1569, 1570, 1571, 1575, 1573, 1579, 1572, 1581, 1583, 1582,
+ 1574, 1572, 1584, 1585, 1586, 1587, 1589, 1576, 1591, 1593,
+ 1575, 1575, 1582, 1578, 1579, 1594, 1596, 1601, 1597, 1581,
+ 1583, 1595, 1600, 0, 1581, 1583, 1582, 1587, 1594, 1584,
+ 1585, 1586, 1587, 1589, 1591, 1591, 1593, 1602, 1604, 1595,
+ 1597, 1600, 1594, 1596, 1601, 1597, 1605, 1606, 1595, 1600,
+
+ 1610, 1607, 1609, 1608, 1608, 1614, 1606, 1615, 1609, 1602,
+ 1604, 1605, 1607, 1608, 1602, 1604, 1616, 1620, 1613, 1622,
+ 1624, 0, 1610, 1605, 1606, 1613, 1627, 1610, 1607, 1609,
+ 1608, 1608, 1614, 1631, 1615, 1625, 1632, 1628, 1633, 1616,
+ 1633, 1630, 1622, 1616, 1620, 1613, 1622, 1624, 1625, 1628,
+ 1630, 1635, 1636, 1627, 1634, 1637, 1639, 1635, 1642, 1638,
+ 1631, 1644, 1625, 1632, 1628, 1633, 1634, 1638, 1630, 1646,
+ 1652, 1649, 1648, 1654, 1636, 0, 1653, 1637, 1635, 1636,
+ 1657, 1634, 1637, 1639, 1655, 1642, 1638, 1648, 1644, 1653,
+ 1662, 1657, 1655, 1656, 1664, 1654, 1646, 1649, 1649, 1648,
+
+ 1654, 1652, 1656, 1653, 1667, 1663, 1665, 1657, 1664, 1666,
+ 1670, 1655, 1663, 1662, 1665, 1667, 1669, 1662, 1666, 0,
+ 1656, 1664, 1668, 1671, 1668, 1672, 1673, 1674, 1669, 1674,
+ 1675, 1667, 1663, 1665, 1676, 0, 1666, 1670, 1681, 1679,
+ 1682, 1671, 1675, 1669, 0, 1677, 1683, 1672, 1673, 1668,
+ 1671, 1679, 1672, 1673, 1674, 1680, 1684, 1675, 1677, 1683,
+ 1685, 1686, 1688, 1680, 1689, 1676, 1679, 1687, 1685, 1681,
+ 1684, 1682, 1677, 1683, 1686, 1687, 1688, 1690, 1689, 1691,
+ 1692, 1695, 1680, 1684, 1693, 1690, 1694, 1685, 1686, 1688,
+ 1699, 1689, 1693, 1696, 1687, 1697, 1700, 1698, 1701, 1704,
+
+ 0, 1691, 1692, 1695, 1690, 1698, 1691, 1692, 1695, 0,
+ 1708, 1693, 1694, 1694, 0, 1696, 0, 1697, 1701, 1702,
+ 1696, 1699, 1697, 1700, 1698, 1701, 1703, 1702, 1705, 1706,
+ 1704, 1709, 1708, 1710, 1703, 1711, 1705, 1708, 1712, 1709,
+ 1714, 1710, 1715, 1706, 1713, 0, 1702, 1716, 1714, 1711,
+ 1717, 0, 0, 1703, 1720, 1705, 1706, 0, 1709, 1718,
+ 1710, 0, 1711, 1721, 1712, 1712, 1713, 1714, 1715, 1715,
+ 1719, 1713, 1717, 1716, 1716, 1722, 1723, 1717, 1719, 1718,
+ 1725, 1720, 1724, 1721, 1723, 1729, 1718, 0, 1725, 1727,
+ 1721, 1728, 1730, 1729, 1731, 1722, 1735, 1719, 1732, 1737,
+
+ 1730, 1734, 1722, 1723, 1724, 1738, 1732, 1725, 0, 1724,
+ 1736, 1727, 1729, 1728, 1733, 1739, 1727, 1741, 1728, 1730,
+ 1731, 1731, 1733, 1735, 1744, 1732, 1737, 1734, 1734, 1747,
+ 1736, 1748, 1738, 0, 0, 1739, 0, 1736, 0, 1741,
+ 1745, 1733, 1739, 0, 1741, 1746, 1744, 0, 1745, 0,
+ 0, 1744, 0, 1746, 0, 0, 1747, 0, 1748, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1745, 0, 0,
+ 0, 0, 1746, 1752, 1752, 1752, 1752, 1752, 1752, 1752,
+ 1753, 1753, 1753, 1753, 1753, 1753, 1753, 1754, 1754, 1754,
+ 1754, 1754, 1754, 1754, 1755, 1755, 1755, 1755, 1755, 1755,
+
+ 1755, 1756, 1756, 1756, 1756, 1756, 1756, 1756, 1758, 1758,
+ 0, 1758, 1758, 1758, 1758, 1759, 1759, 0, 0, 0,
+ 1759, 1759, 1760, 1760, 0, 0, 1760, 0, 1760, 1761,
+ 0, 0, 0, 0, 0, 1761, 1762, 1762, 0, 0,
+ 0, 1762, 1762, 1763, 0, 0, 0, 0, 0, 1763,
+ 1764, 1764, 0, 1764, 1764, 1764, 1764, 1765, 1765, 0,
+ 1765, 1765, 1765, 1765, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751,
+ 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751
} ;
static yy_state_type yy_last_accepting_state;
@@ -2270,6 +2289,10 @@ static void config_start_include_glob(const char* filename)
#endif
;
memset(&g, 0, sizeof(g));
+ if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
+ strlen(cfg_parser->chroot)) == 0) {
+ filename += strlen(cfg_parser->chroot);
+ }
r = glob(filename, flags, NULL, &g);
if(r) {
/* some error */
@@ -2315,7 +2338,7 @@ static void config_end_include(void)
#endif
#define YY_NO_INPUT 1
-#line 177 "util/configlexer.lex"
+#line 181 "util/configlexer.lex"
#ifndef YY_NO_UNPUT
#define YY_NO_UNPUT 1
#endif
@@ -2323,7 +2346,7 @@ static void config_end_include(void)
#define YY_NO_INPUT 1
#endif
-#line 2325 "<stdout>"
+#line 2348 "<stdout>"
#define INITIAL 0
#define quotedstring 1
@@ -2508,9 +2531,9 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 197 "util/configlexer.lex"
+#line 201 "util/configlexer.lex"
-#line 2512 "<stdout>"
+#line 2535 "<stdout>"
if ( !(yy_init) )
{
@@ -2569,13 +2592,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1731 )
+ if ( yy_current_state >= 1752 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 5006 );
+ while ( yy_base[yy_current_state] != 5065 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -2601,814 +2624,819 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 198 "util/configlexer.lex"
+#line 202 "util/configlexer.lex"
{
LEXOUT(("SP ")); /* ignore */ }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 200 "util/configlexer.lex"
+#line 204 "util/configlexer.lex"
{
/* note that flex makes the longest match and '.' is any but not nl */
LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 203 "util/configlexer.lex"
+#line 207 "util/configlexer.lex"
{ YDVAR(0, VAR_SERVER) }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 204 "util/configlexer.lex"
+#line 208 "util/configlexer.lex"
{ YDVAR(1, VAR_NUM_THREADS) }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 205 "util/configlexer.lex"
+#line 209 "util/configlexer.lex"
{ YDVAR(1, VAR_VERBOSITY) }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 206 "util/configlexer.lex"
+#line 210 "util/configlexer.lex"
{ YDVAR(1, VAR_PORT) }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 207 "util/configlexer.lex"
+#line 211 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_RANGE) }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 208 "util/configlexer.lex"
+#line 212 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 209 "util/configlexer.lex"
+#line 213 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 210 "util/configlexer.lex"
+#line 214 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_NUM_TCP) }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 211 "util/configlexer.lex"
+#line 215 "util/configlexer.lex"
{ YDVAR(1, VAR_INCOMING_NUM_TCP) }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 212 "util/configlexer.lex"
+#line 216 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_IP4) }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 213 "util/configlexer.lex"
+#line 217 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_IP6) }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 214 "util/configlexer.lex"
+#line 218 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_UDP) }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 215 "util/configlexer.lex"
+#line 219 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_TCP) }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 216 "util/configlexer.lex"
+#line 220 "util/configlexer.lex"
{ YDVAR(1, VAR_TCP_UPSTREAM) }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 217 "util/configlexer.lex"
+#line 221 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_UPSTREAM) }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 218 "util/configlexer.lex"
+#line 222 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 219 "util/configlexer.lex"
+#line 223 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 220 "util/configlexer.lex"
+#line 224 "util/configlexer.lex"
{ YDVAR(1, VAR_SSL_PORT) }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 221 "util/configlexer.lex"
+#line 225 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_DAEMONIZE) }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 222 "util/configlexer.lex"
+#line 226 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE) }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 223 "util/configlexer.lex"
+#line 227 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE) }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 224 "util/configlexer.lex"
+#line 228 "util/configlexer.lex"
{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 225 "util/configlexer.lex"
+#line 229 "util/configlexer.lex"
{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 226 "util/configlexer.lex"
+#line 230 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_RCVBUF) }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 227 "util/configlexer.lex"
+#line 231 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_SNDBUF) }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 228 "util/configlexer.lex"
+#line 232 "util/configlexer.lex"
{ YDVAR(1, VAR_SO_REUSEPORT) }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 229 "util/configlexer.lex"
+#line 233 "util/configlexer.lex"
{ YDVAR(1, VAR_IP_TRANSPARENT) }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 230 "util/configlexer.lex"
+#line 234 "util/configlexer.lex"
{ YDVAR(1, VAR_CHROOT) }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 231 "util/configlexer.lex"
+#line 235 "util/configlexer.lex"
{ YDVAR(1, VAR_USERNAME) }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 232 "util/configlexer.lex"
+#line 236 "util/configlexer.lex"
{ YDVAR(1, VAR_DIRECTORY) }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 233 "util/configlexer.lex"
+#line 237 "util/configlexer.lex"
{ YDVAR(1, VAR_LOGFILE) }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 234 "util/configlexer.lex"
+#line 238 "util/configlexer.lex"
{ YDVAR(1, VAR_PIDFILE) }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 235 "util/configlexer.lex"
+#line 239 "util/configlexer.lex"
{ YDVAR(1, VAR_ROOT_HINTS) }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 236 "util/configlexer.lex"
+#line 240 "util/configlexer.lex"
{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 237 "util/configlexer.lex"
+#line 241 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 238 "util/configlexer.lex"
+#line 242 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 239 "util/configlexer.lex"
+#line 243 "util/configlexer.lex"
{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 240 "util/configlexer.lex"
+#line 244 "util/configlexer.lex"
{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 241 "util/configlexer.lex"
+#line 245 "util/configlexer.lex"
{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 242 "util/configlexer.lex"
+#line 246 "util/configlexer.lex"
{ YDVAR(1, VAR_CACHE_MAX_TTL) }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 243 "util/configlexer.lex"
+#line 247 "util/configlexer.lex"
{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 244 "util/configlexer.lex"
+#line 248 "util/configlexer.lex"
{ YDVAR(1, VAR_CACHE_MIN_TTL) }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 245 "util/configlexer.lex"
+#line 249 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_HOST_TTL) }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 246 "util/configlexer.lex"
+#line 250 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_LAME_TTL) }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 247 "util/configlexer.lex"
+#line 251 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 248 "util/configlexer.lex"
+#line 252 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 249 "util/configlexer.lex"
+#line 253 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 250 "util/configlexer.lex"
+#line 254 "util/configlexer.lex"
{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 251 "util/configlexer.lex"
+#line 255 "util/configlexer.lex"
{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 252 "util/configlexer.lex"
+#line 256 "util/configlexer.lex"
{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 253 "util/configlexer.lex"
+#line 257 "util/configlexer.lex"
{ YDVAR(1, VAR_DELAY_CLOSE) }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 254 "util/configlexer.lex"
+#line 258 "util/configlexer.lex"
{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 255 "util/configlexer.lex"
+#line 259 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 256 "util/configlexer.lex"
+#line 260 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 257 "util/configlexer.lex"
+#line 261 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_GLUE) }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 258 "util/configlexer.lex"
+#line 262 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 259 "util/configlexer.lex"
+#line 263 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 260 "util/configlexer.lex"
+#line 264 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 261 "util/configlexer.lex"
+#line 265 "util/configlexer.lex"
{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 262 "util/configlexer.lex"
+#line 266 "util/configlexer.lex"
{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 263 "util/configlexer.lex"
+#line 267 "util/configlexer.lex"
{ YDVAR(1, VAR_CAPS_WHITELIST) }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 264 "util/configlexer.lex"
+#line 268 "util/configlexer.lex"
{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 265 "util/configlexer.lex"
+#line 269 "util/configlexer.lex"
{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 266 "util/configlexer.lex"
+#line 270 "util/configlexer.lex"
{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 267 "util/configlexer.lex"
+#line 271 "util/configlexer.lex"
{ YDVAR(1, VAR_PREFETCH_KEY) }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 268 "util/configlexer.lex"
+#line 272 "util/configlexer.lex"
{ YDVAR(1, VAR_PREFETCH) }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 269 "util/configlexer.lex"
+#line 273 "util/configlexer.lex"
{ YDVAR(0, VAR_STUB_ZONE) }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 270 "util/configlexer.lex"
+#line 274 "util/configlexer.lex"
{ YDVAR(1, VAR_NAME) }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 271 "util/configlexer.lex"
+#line 275 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_ADDR) }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 272 "util/configlexer.lex"
+#line 276 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_HOST) }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 273 "util/configlexer.lex"
+#line 277 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_PRIME) }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 274 "util/configlexer.lex"
+#line 278 "util/configlexer.lex"
{ YDVAR(1, VAR_STUB_FIRST) }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 275 "util/configlexer.lex"
+#line 279 "util/configlexer.lex"
{ YDVAR(0, VAR_FORWARD_ZONE) }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 276 "util/configlexer.lex"
+#line 280 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_ADDR) }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 277 "util/configlexer.lex"
+#line 281 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_HOST) }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 278 "util/configlexer.lex"
+#line 282 "util/configlexer.lex"
{ YDVAR(1, VAR_FORWARD_FIRST) }
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 279 "util/configlexer.lex"
+#line 283 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 280 "util/configlexer.lex"
+#line 284 "util/configlexer.lex"
{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 281 "util/configlexer.lex"
+#line 285 "util/configlexer.lex"
{ YDVAR(2, VAR_ACCESS_CONTROL) }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 282 "util/configlexer.lex"
+#line 286 "util/configlexer.lex"
{ YDVAR(1, VAR_HIDE_IDENTITY) }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 283 "util/configlexer.lex"
+#line 287 "util/configlexer.lex"
{ YDVAR(1, VAR_HIDE_VERSION) }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 284 "util/configlexer.lex"
+#line 288 "util/configlexer.lex"
{ YDVAR(1, VAR_IDENTITY) }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 285 "util/configlexer.lex"
+#line 289 "util/configlexer.lex"
{ YDVAR(1, VAR_VERSION) }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 286 "util/configlexer.lex"
+#line 290 "util/configlexer.lex"
{ YDVAR(1, VAR_MODULE_CONF) }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 287 "util/configlexer.lex"
+#line 291 "util/configlexer.lex"
{ YDVAR(1, VAR_DLV_ANCHOR) }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 288 "util/configlexer.lex"
+#line 292 "util/configlexer.lex"
{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 289 "util/configlexer.lex"
+#line 293 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 290 "util/configlexer.lex"
+#line 294 "util/configlexer.lex"
{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 291 "util/configlexer.lex"
+#line 295 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 292 "util/configlexer.lex"
+#line 296 "util/configlexer.lex"
{ YDVAR(1, VAR_TRUST_ANCHOR) }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 293 "util/configlexer.lex"
+#line 297 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 294 "util/configlexer.lex"
+#line 298 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 295 "util/configlexer.lex"
+#line 299 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 296 "util/configlexer.lex"
+#line 300 "util/configlexer.lex"
{ YDVAR(1, VAR_BOGUS_TTL) }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 297 "util/configlexer.lex"
+#line 301 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 298 "util/configlexer.lex"
+#line 302 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 299 "util/configlexer.lex"
+#line 303 "util/configlexer.lex"
{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 300 "util/configlexer.lex"
+#line 304 "util/configlexer.lex"
{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 301 "util/configlexer.lex"
+#line 305 "util/configlexer.lex"
{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 302 "util/configlexer.lex"
+#line 306 "util/configlexer.lex"
{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 303 "util/configlexer.lex"
+#line 307 "util/configlexer.lex"
{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 304 "util/configlexer.lex"
+#line 308 "util/configlexer.lex"
{
YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 306 "util/configlexer.lex"
+#line 310 "util/configlexer.lex"
{ YDVAR(1, VAR_ADD_HOLDDOWN) }
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 307 "util/configlexer.lex"
+#line 311 "util/configlexer.lex"
{ YDVAR(1, VAR_DEL_HOLDDOWN) }
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 308 "util/configlexer.lex"
+#line 312 "util/configlexer.lex"
{ YDVAR(1, VAR_KEEP_MISSING) }
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 309 "util/configlexer.lex"
-{ YDVAR(1, VAR_USE_SYSLOG) }
+#line 313 "util/configlexer.lex"
+{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 310 "util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TIME_ASCII) }
+#line 314 "util/configlexer.lex"
+{ YDVAR(1, VAR_USE_SYSLOG) }
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 311 "util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_QUERIES) }
+#line 315 "util/configlexer.lex"
+{ YDVAR(1, VAR_LOG_TIME_ASCII) }
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 312 "util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE) }
+#line 316 "util/configlexer.lex"
+{ YDVAR(1, VAR_LOG_QUERIES) }
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 313 "util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA) }
+#line 317 "util/configlexer.lex"
+{ YDVAR(2, VAR_LOCAL_ZONE) }
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 314 "util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
+#line 318 "util/configlexer.lex"
+{ YDVAR(1, VAR_LOCAL_DATA) }
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 315 "util/configlexer.lex"
-{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
+#line 319 "util/configlexer.lex"
+{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 316 "util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
+#line 320 "util/configlexer.lex"
+{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 317 "util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
+#line 321 "util/configlexer.lex"
+{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 318 "util/configlexer.lex"
-{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
+#line 322 "util/configlexer.lex"
+{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 319 "util/configlexer.lex"
-{ YDVAR(0, VAR_REMOTE_CONTROL) }
+#line 323 "util/configlexer.lex"
+{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 320 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_ENABLE) }
+#line 324 "util/configlexer.lex"
+{ YDVAR(0, VAR_REMOTE_CONTROL) }
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 321 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_INTERFACE) }
+#line 325 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_ENABLE) }
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 322 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_PORT) }
+#line 326 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_INTERFACE) }
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 323 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_USE_CERT) }
+#line 327 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_PORT) }
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 324 "util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_KEY_FILE) }
+#line 328 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_USE_CERT) }
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 325 "util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_CERT_FILE) }
+#line 329 "util/configlexer.lex"
+{ YDVAR(1, VAR_SERVER_KEY_FILE) }
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 326 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
+#line 330 "util/configlexer.lex"
+{ YDVAR(1, VAR_SERVER_CERT_FILE) }
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 327 "util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
+#line 331 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 328 "util/configlexer.lex"
-{ YDVAR(1, VAR_PYTHON_SCRIPT) }
+#line 332 "util/configlexer.lex"
+{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 329 "util/configlexer.lex"
-{ YDVAR(0, VAR_PYTHON) }
+#line 333 "util/configlexer.lex"
+{ YDVAR(1, VAR_PYTHON_SCRIPT) }
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 330 "util/configlexer.lex"
-{ YDVAR(1, VAR_DOMAIN_INSECURE) }
+#line 334 "util/configlexer.lex"
+{ YDVAR(0, VAR_PYTHON) }
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 331 "util/configlexer.lex"
-{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+#line 335 "util/configlexer.lex"
+{ YDVAR(1, VAR_DOMAIN_INSECURE) }
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 332 "util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+#line 336 "util/configlexer.lex"
+{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 333 "util/configlexer.lex"
-{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+#line 337 "util/configlexer.lex"
+{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 334 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_PREFIX) }
+#line 338 "util/configlexer.lex"
+{ YDVAR(1, VAR_MAX_UDP_SIZE) }
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 335 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_SYNTHALL) }
+#line 339 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNS64_PREFIX) }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 336 "util/configlexer.lex"
-{ YDVAR(0, VAR_DNSTAP) }
+#line 340 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNS64_SYNTHALL) }
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 337 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_ENABLE) }
+#line 341 "util/configlexer.lex"
+{ YDVAR(0, VAR_DNSTAP) }
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 338 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+#line 342 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_ENABLE) }
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 339 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+#line 343 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 340 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+#line 344 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 341 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
+#line 345 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 342 "util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_VERSION) }
+#line 346 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 343 "util/configlexer.lex"
+#line 347 "util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_VERSION) }
+ YY_BREAK
+case 143:
+YY_RULE_SETUP
+#line 348 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
-#line 345 "util/configlexer.lex"
+#line 350 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
-#line 347 "util/configlexer.lex"
+#line 352 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
-#line 349 "util/configlexer.lex"
+#line 354 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
YY_BREAK
-case 146:
+case 147:
YY_RULE_SETUP
-#line 351 "util/configlexer.lex"
+#line 356 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
YY_BREAK
-case 147:
+case 148:
YY_RULE_SETUP
-#line 353 "util/configlexer.lex"
+#line 358 "util/configlexer.lex"
{
YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
YY_BREAK
-case 148:
+case 149:
YY_RULE_SETUP
-#line 355 "util/configlexer.lex"
+#line 360 "util/configlexer.lex"
{ YDVAR(1, VAR_RATELIMIT) }
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
-#line 356 "util/configlexer.lex"
+#line 361 "util/configlexer.lex"
{ YDVAR(1, VAR_RATELIMIT_SLABS) }
YY_BREAK
-case 150:
+case 151:
YY_RULE_SETUP
-#line 357 "util/configlexer.lex"
+#line 362 "util/configlexer.lex"
{ YDVAR(1, VAR_RATELIMIT_SIZE) }
YY_BREAK
-case 151:
+case 152:
YY_RULE_SETUP
-#line 358 "util/configlexer.lex"
+#line 363 "util/configlexer.lex"
{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
YY_BREAK
-case 152:
+case 153:
YY_RULE_SETUP
-#line 359 "util/configlexer.lex"
+#line 364 "util/configlexer.lex"
{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
YY_BREAK
-case 153:
+case 154:
YY_RULE_SETUP
-#line 360 "util/configlexer.lex"
+#line 365 "util/configlexer.lex"
{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
YY_BREAK
-case 154:
-/* rule 154 can match eol */
+case 155:
+/* rule 155 can match eol */
YY_RULE_SETUP
-#line 361 "util/configlexer.lex"
+#line 366 "util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++; }
YY_BREAK
/* Quoted strings. Strip leading and ending quotes */
-case 155:
+case 156:
YY_RULE_SETUP
-#line 364 "util/configlexer.lex"
+#line 369 "util/configlexer.lex"
{ BEGIN(quotedstring); LEXOUT(("QS ")); }
YY_BREAK
case YY_STATE_EOF(quotedstring):
-#line 365 "util/configlexer.lex"
+#line 370 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 156:
+case 157:
YY_RULE_SETUP
-#line 370 "util/configlexer.lex"
+#line 375 "util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 157:
-/* rule 157 can match eol */
+case 158:
+/* rule 158 can match eol */
YY_RULE_SETUP
-#line 371 "util/configlexer.lex"
+#line 376 "util/configlexer.lex"
{ yyerror("newline inside quoted string, no end \"");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 158:
+case 159:
YY_RULE_SETUP
-#line 373 "util/configlexer.lex"
+#line 378 "util/configlexer.lex"
{
LEXOUT(("QE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -3421,34 +3449,34 @@ YY_RULE_SETUP
}
YY_BREAK
/* Single Quoted strings. Strip leading and ending quotes */
-case 159:
+case 160:
YY_RULE_SETUP
-#line 385 "util/configlexer.lex"
+#line 390 "util/configlexer.lex"
{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
YY_BREAK
case YY_STATE_EOF(singlequotedstr):
-#line 386 "util/configlexer.lex"
+#line 391 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
-#line 391 "util/configlexer.lex"
+#line 396 "util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 161:
-/* rule 161 can match eol */
+case 162:
+/* rule 162 can match eol */
YY_RULE_SETUP
-#line 392 "util/configlexer.lex"
+#line 397 "util/configlexer.lex"
{ yyerror("newline inside quoted string, no end '");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 162:
+case 163:
YY_RULE_SETUP
-#line 394 "util/configlexer.lex"
+#line 399 "util/configlexer.lex"
{
LEXOUT(("SQE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -3461,38 +3489,38 @@ YY_RULE_SETUP
}
YY_BREAK
/* include: directive */
-case 163:
+case 164:
YY_RULE_SETUP
-#line 406 "util/configlexer.lex"
+#line 411 "util/configlexer.lex"
{
LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
YY_BREAK
case YY_STATE_EOF(include):
-#line 408 "util/configlexer.lex"
+#line 413 "util/configlexer.lex"
{
yyerror("EOF inside include directive");
BEGIN(inc_prev);
}
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 412 "util/configlexer.lex"
+#line 417 "util/configlexer.lex"
{ LEXOUT(("ISP ")); /* ignore */ }
YY_BREAK
-case 165:
-/* rule 165 can match eol */
+case 166:
+/* rule 166 can match eol */
YY_RULE_SETUP
-#line 413 "util/configlexer.lex"
+#line 418 "util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++;}
YY_BREAK
-case 166:
+case 167:
YY_RULE_SETUP
-#line 414 "util/configlexer.lex"
+#line 419 "util/configlexer.lex"
{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
YY_BREAK
-case 167:
+case 168:
YY_RULE_SETUP
-#line 415 "util/configlexer.lex"
+#line 420 "util/configlexer.lex"
{
LEXOUT(("Iunquotedstr(%s) ", yytext));
config_start_include_glob(yytext);
@@ -3500,27 +3528,27 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(include_quoted):
-#line 420 "util/configlexer.lex"
+#line 425 "util/configlexer.lex"
{
yyerror("EOF inside quoted string");
BEGIN(inc_prev);
}
YY_BREAK
-case 168:
+case 169:
YY_RULE_SETUP
-#line 424 "util/configlexer.lex"
+#line 429 "util/configlexer.lex"
{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 169:
-/* rule 169 can match eol */
+case 170:
+/* rule 170 can match eol */
YY_RULE_SETUP
-#line 425 "util/configlexer.lex"
+#line 430 "util/configlexer.lex"
{ yyerror("newline before \" in include name");
cfg_parser->line++; BEGIN(inc_prev); }
YY_BREAK
-case 170:
+case 171:
YY_RULE_SETUP
-#line 427 "util/configlexer.lex"
+#line 432 "util/configlexer.lex"
{
LEXOUT(("IQE "));
yytext[yyleng - 1] = '\0';
@@ -3530,7 +3558,7 @@ YY_RULE_SETUP
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(val):
-#line 433 "util/configlexer.lex"
+#line 438 "util/configlexer.lex"
{
LEXOUT(("LEXEOF "));
yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
@@ -3542,33 +3570,33 @@ case YY_STATE_EOF(val):
}
}
YY_BREAK
-case 171:
+case 172:
YY_RULE_SETUP
-#line 444 "util/configlexer.lex"
+#line 449 "util/configlexer.lex"
{ LEXOUT(("unquotedstr(%s) ", yytext));
if(--num_args == 0) { BEGIN(INITIAL); }
yylval.str = strdup(yytext); return STRING_ARG; }
YY_BREAK
-case 172:
+case 173:
YY_RULE_SETUP
-#line 448 "util/configlexer.lex"
+#line 453 "util/configlexer.lex"
{
ub_c_error_msg("unknown keyword '%s'", yytext);
}
YY_BREAK
-case 173:
+case 174:
YY_RULE_SETUP
-#line 452 "util/configlexer.lex"
+#line 457 "util/configlexer.lex"
{
ub_c_error_msg("stray '%s'", yytext);
}
YY_BREAK
-case 174:
+case 175:
YY_RULE_SETUP
-#line 456 "util/configlexer.lex"
+#line 461 "util/configlexer.lex"
ECHO;
YY_BREAK
-#line 3570 "<stdout>"
+#line 3598 "<stdout>"
case YY_END_OF_BUFFER:
{
@@ -3858,7 +3886,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 >= 1731 )
+ if ( yy_current_state >= 1752 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3886,11 +3914,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 >= 1731 )
+ if ( yy_current_state >= 1752 )
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 == 1730);
+ yy_is_jam = (yy_current_state == 1751);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -4523,7 +4551,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 456 "util/configlexer.lex"
+#line 461 "util/configlexer.lex"
diff --git a/util/configlexer.lex b/util/configlexer.lex
index 5622f217087b..ba728622c156 100644
--- a/util/configlexer.lex
+++ b/util/configlexer.lex
@@ -126,6 +126,10 @@ static void config_start_include_glob(const char* filename)
#endif
;
memset(&g, 0, sizeof(g));
+ if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
+ strlen(cfg_parser->chroot)) == 0) {
+ filename += strlen(cfg_parser->chroot);
+ }
r = glob(filename, flags, NULL, &g);
if(r) {
/* some error */
@@ -306,6 +310,7 @@ val-nsec3-keysize-iterations{COLON} {
add-holddown{COLON} { YDVAR(1, VAR_ADD_HOLDDOWN) }
del-holddown{COLON} { YDVAR(1, VAR_DEL_HOLDDOWN) }
keep-missing{COLON} { YDVAR(1, VAR_KEEP_MISSING) }
+permit-small-holddown{COLON} { YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) }
log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) }
log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) }
diff --git a/util/configparser.c b/util/configparser.c
index f1ba75516765..45c80507794d 100644
--- a/util/configparser.c
+++ b/util/configparser.c
@@ -284,7 +284,8 @@ extern int yydebug;
VAR_RATELIMIT_BELOW_DOMAIN = 412,
VAR_RATELIMIT_FACTOR = 413,
VAR_CAPS_WHITELIST = 414,
- VAR_CACHE_MAX_NEGATIVE_TTL = 415
+ VAR_CACHE_MAX_NEGATIVE_TTL = 415,
+ VAR_PERMIT_SMALL_HOLDDOWN = 416
};
#endif
/* Tokens. */
@@ -446,6 +447,7 @@ extern int yydebug;
#define VAR_RATELIMIT_FACTOR 413
#define VAR_CAPS_WHITELIST 414
#define VAR_CACHE_MAX_NEGATIVE_TTL 415
+#define VAR_PERMIT_SMALL_HOLDDOWN 416
@@ -459,7 +461,7 @@ typedef union YYSTYPE
/* Line 387 of yacc.c */
-#line 463 "util/configparser.c"
+#line 465 "util/configparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -487,7 +489,7 @@ int yyparse ();
/* Copy the second part of user declarations. */
/* Line 390 of yacc.c */
-#line 491 "util/configparser.c"
+#line 493 "util/configparser.c"
#ifdef short
# undef short
@@ -707,20 +709,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 301
+#define YYLAST 303
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 161
+#define YYNTOKENS 162
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 166
+#define YYNNTS 167
/* YYNRULES -- Number of rules. */
-#define YYNRULES 317
+#define YYNRULES 319
/* YYNRULES -- Number of states. */
-#define YYNSTATES 467
+#define YYNSTATES 470
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 415
+#define YYMAXUTOK 416
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -769,7 +771,7 @@ static const yytype_uint8 yytranslate[] =
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160
+ 155, 156, 157, 158, 159, 160, 161
};
#if YYDEBUG
@@ -790,109 +792,110 @@ static const yytype_uint16 yyprhs[] =
205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
- 266, 267, 269, 271, 273, 275, 277, 279, 282, 283,
- 285, 287, 289, 291, 294, 297, 300, 303, 306, 309,
- 312, 315, 318, 321, 324, 327, 330, 333, 336, 339,
- 342, 345, 348, 351, 354, 357, 360, 363, 366, 369,
- 372, 375, 378, 381, 384, 387, 390, 393, 396, 399,
- 402, 405, 408, 411, 414, 417, 420, 423, 426, 429,
- 432, 435, 438, 441, 444, 447, 450, 453, 456, 459,
- 462, 465, 468, 471, 474, 477, 480, 483, 486, 489,
- 492, 495, 498, 501, 504, 507, 510, 513, 516, 519,
- 522, 525, 528, 531, 534, 538, 541, 544, 547, 550,
- 553, 556, 559, 562, 565, 568, 571, 574, 577, 580,
- 583, 586, 589, 592, 595, 599, 602, 605, 608, 611,
- 614, 617, 620, 623, 626, 629, 633, 637, 640, 643,
- 646, 649, 652, 655, 658, 661, 664, 667, 669, 672,
- 673, 675, 677, 679, 681, 683, 685, 687, 689, 692,
- 695, 698, 701, 704, 707, 710, 713, 715, 718, 719,
- 721, 723, 725, 727, 729, 731, 733, 735, 737, 739,
- 741, 743, 746, 749, 752, 755, 758, 761, 764, 767,
- 770, 773, 776, 779, 781, 784, 785, 787
+ 265, 268, 269, 271, 273, 275, 277, 279, 281, 284,
+ 285, 287, 289, 291, 293, 296, 299, 302, 305, 308,
+ 311, 314, 317, 320, 323, 326, 329, 332, 335, 338,
+ 341, 344, 347, 350, 353, 356, 359, 362, 365, 368,
+ 371, 374, 377, 380, 383, 386, 389, 392, 395, 398,
+ 401, 404, 407, 410, 413, 416, 419, 422, 425, 428,
+ 431, 434, 437, 440, 443, 446, 449, 452, 455, 458,
+ 461, 464, 467, 470, 473, 476, 479, 482, 485, 488,
+ 491, 494, 497, 500, 503, 506, 509, 512, 515, 518,
+ 521, 524, 527, 530, 533, 536, 540, 543, 546, 549,
+ 552, 555, 558, 561, 564, 567, 570, 573, 576, 579,
+ 582, 585, 588, 591, 594, 597, 600, 604, 607, 610,
+ 613, 616, 619, 622, 625, 628, 631, 634, 638, 642,
+ 645, 648, 651, 654, 657, 660, 663, 666, 669, 672,
+ 674, 677, 678, 680, 682, 684, 686, 688, 690, 692,
+ 694, 697, 700, 703, 706, 709, 712, 715, 718, 720,
+ 723, 724, 726, 728, 730, 732, 734, 736, 738, 740,
+ 742, 744, 746, 748, 751, 754, 757, 760, 763, 766,
+ 769, 772, 775, 778, 781, 784, 786, 789, 790, 792
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 162, 0, -1, -1, 162, 163, -1, 164, 165, -1,
- 167, 168, -1, 170, 171, -1, 323, 324, -1, 297,
- 298, -1, 308, 309, -1, 11, -1, 165, 166, -1,
- -1, 173, -1, 174, -1, 178, -1, 181, -1, 187,
- -1, 188, -1, 189, -1, 190, -1, 179, -1, 200,
- -1, 201, -1, 202, -1, 203, -1, 204, -1, 223,
- -1, 224, -1, 225, -1, 229, -1, 230, -1, 184,
- -1, 231, -1, 232, -1, 235, -1, 233, -1, 234,
- -1, 237, -1, 238, -1, 239, -1, 252, -1, 213,
- -1, 214, -1, 215, -1, 216, -1, 240, -1, 255,
- -1, 209, -1, 211, -1, 256, -1, 262, -1, 263,
- -1, 264, -1, 185, -1, 222, -1, 271, -1, 272,
- -1, 210, -1, 267, -1, 197, -1, 180, -1, 205,
- -1, 253, -1, 259, -1, 241, -1, 254, -1, 274,
- -1, 275, -1, 186, -1, 175, -1, 196, -1, 245,
- -1, 176, -1, 182, -1, 183, -1, 206, -1, 207,
- -1, 273, -1, 243, -1, 247, -1, 248, -1, 177,
- -1, 276, -1, 226, -1, 251, -1, 198, -1, 212,
- -1, 257, -1, 258, -1, 261, -1, 266, -1, 208,
- -1, 268, -1, 269, -1, 270, -1, 217, -1, 221,
- -1, 249, -1, 250, -1, 218, -1, 242, -1, 265,
- -1, 199, -1, 191, -1, 192, -1, 193, -1, 194,
- -1, 195, -1, 277, -1, 278, -1, 279, -1, 219,
- -1, 227, -1, 228, -1, 280, -1, 281, -1, 236,
- -1, 244, -1, 220, -1, 282, -1, 284, -1, 283,
- -1, 285, -1, 286, -1, 287, -1, 246, -1, 260,
- -1, 38, -1, 168, 169, -1, -1, 288, -1, 289,
- -1, 290, -1, 292, -1, 291, -1, 44, -1, 171,
- 172, -1, -1, 293, -1, 294, -1, 295, -1, 296,
- -1, 13, 10, -1, 12, 10, -1, 76, 10, -1,
- 79, 10, -1, 97, 10, -1, 14, 10, -1, 16,
- 10, -1, 67, 10, -1, 15, 10, -1, 80, 10,
- -1, 81, 10, -1, 31, 10, -1, 60, 10, -1,
- 75, 10, -1, 17, 10, -1, 18, 10, -1, 19,
- 10, -1, 20, 10, -1, 123, 10, -1, 124, 10,
- -1, 125, 10, -1, 126, 10, -1, 127, 10, -1,
- 77, 10, -1, 66, 10, -1, 102, 10, -1, 122,
- 10, -1, 21, 10, -1, 22, 10, -1, 23, 10,
- -1, 24, 10, -1, 25, 10, -1, 68, 10, -1,
- 82, 10, -1, 83, 10, -1, 110, 10, -1, 54,
- 10, -1, 64, 10, -1, 55, 10, -1, 103, 10,
- -1, 48, 10, -1, 49, 10, -1, 50, 10, -1,
- 51, 10, -1, 114, 10, -1, 118, 10, -1, 119,
- 10, -1, 152, 10, -1, 115, 10, -1, 61, 10,
- -1, 26, 10, -1, 27, 10, -1, 28, 10, -1,
- 99, 10, -1, 133, 10, -1, 134, 10, -1, 29,
- 10, -1, 30, 10, -1, 32, 10, -1, 33, 10,
- -1, 35, 10, -1, 36, 10, -1, 34, 10, -1,
- 135, 10, -1, 41, 10, -1, 42, 10, -1, 43,
- 10, -1, 52, 10, -1, 71, 10, -1, 120, 10,
- -1, 85, 10, -1, 151, 10, -1, 78, 10, -1,
- 159, 10, -1, 86, 10, -1, 87, 10, -1, 116,
- 10, -1, 117, 10, -1, 101, 10, -1, 47, 10,
- -1, 69, 10, -1, 72, 10, 10, -1, 53, 10,
- -1, 56, 10, -1, 106, 10, -1, 107, 10, -1,
- 70, 10, -1, 160, 10, -1, 108, 10, -1, 57,
- 10, -1, 58, 10, -1, 59, 10, -1, 121, 10,
- -1, 109, 10, -1, 65, 10, -1, 112, 10, -1,
- 113, 10, -1, 111, 10, -1, 62, 10, -1, 63,
- 10, -1, 84, 10, -1, 73, 10, 10, -1, 74,
- 10, -1, 98, 10, -1, 130, 10, -1, 131, 10,
- -1, 132, 10, -1, 136, 10, -1, 137, 10, -1,
- 153, 10, -1, 155, 10, -1, 154, 10, -1, 156,
- 10, 10, -1, 157, 10, 10, -1, 158, 10, -1,
- 37, 10, -1, 39, 10, -1, 40, 10, -1, 129,
- 10, -1, 100, 10, -1, 37, 10, -1, 45, 10,
- -1, 46, 10, -1, 128, 10, -1, 88, -1, 298,
- 299, -1, -1, 300, -1, 302, -1, 301, -1, 304,
- -1, 305, -1, 306, -1, 307, -1, 303, -1, 89,
- 10, -1, 91, 10, -1, 90, 10, -1, 96, 10,
- -1, 92, 10, -1, 93, 10, -1, 94, 10, -1,
- 95, 10, -1, 138, -1, 309, 310, -1, -1, 311,
- -1, 312, -1, 313, -1, 314, -1, 315, -1, 316,
- -1, 317, -1, 318, -1, 319, -1, 320, -1, 321,
- -1, 322, -1, 139, 10, -1, 140, 10, -1, 141,
- 10, -1, 142, 10, -1, 143, 10, -1, 144, 10,
- -1, 145, 10, -1, 146, 10, -1, 147, 10, -1,
- 148, 10, -1, 149, 10, -1, 150, 10, -1, 104,
- -1, 324, 325, -1, -1, 326, -1, 105, 10, -1
+ 163, 0, -1, -1, 163, 164, -1, 165, 166, -1,
+ 168, 169, -1, 171, 172, -1, 325, 326, -1, 299,
+ 300, -1, 310, 311, -1, 11, -1, 166, 167, -1,
+ -1, 174, -1, 175, -1, 179, -1, 182, -1, 188,
+ -1, 189, -1, 190, -1, 191, -1, 180, -1, 201,
+ -1, 202, -1, 203, -1, 204, -1, 205, -1, 224,
+ -1, 225, -1, 226, -1, 230, -1, 231, -1, 185,
+ -1, 232, -1, 233, -1, 236, -1, 234, -1, 235,
+ -1, 238, -1, 239, -1, 240, -1, 253, -1, 214,
+ -1, 215, -1, 216, -1, 217, -1, 241, -1, 256,
+ -1, 210, -1, 212, -1, 257, -1, 263, -1, 264,
+ -1, 265, -1, 186, -1, 223, -1, 273, -1, 274,
+ -1, 211, -1, 268, -1, 198, -1, 181, -1, 206,
+ -1, 254, -1, 260, -1, 242, -1, 255, -1, 276,
+ -1, 277, -1, 187, -1, 176, -1, 197, -1, 246,
+ -1, 177, -1, 183, -1, 184, -1, 207, -1, 208,
+ -1, 275, -1, 244, -1, 248, -1, 249, -1, 178,
+ -1, 278, -1, 227, -1, 252, -1, 199, -1, 213,
+ -1, 258, -1, 259, -1, 262, -1, 267, -1, 209,
+ -1, 269, -1, 270, -1, 271, -1, 218, -1, 222,
+ -1, 250, -1, 251, -1, 219, -1, 243, -1, 266,
+ -1, 200, -1, 192, -1, 193, -1, 194, -1, 195,
+ -1, 196, -1, 279, -1, 280, -1, 281, -1, 220,
+ -1, 228, -1, 229, -1, 282, -1, 283, -1, 237,
+ -1, 245, -1, 221, -1, 284, -1, 286, -1, 285,
+ -1, 287, -1, 288, -1, 289, -1, 247, -1, 261,
+ -1, 272, -1, 38, -1, 169, 170, -1, -1, 290,
+ -1, 291, -1, 292, -1, 294, -1, 293, -1, 44,
+ -1, 172, 173, -1, -1, 295, -1, 296, -1, 297,
+ -1, 298, -1, 13, 10, -1, 12, 10, -1, 76,
+ 10, -1, 79, 10, -1, 97, 10, -1, 14, 10,
+ -1, 16, 10, -1, 67, 10, -1, 15, 10, -1,
+ 80, 10, -1, 81, 10, -1, 31, 10, -1, 60,
+ 10, -1, 75, 10, -1, 17, 10, -1, 18, 10,
+ -1, 19, 10, -1, 20, 10, -1, 123, 10, -1,
+ 124, 10, -1, 125, 10, -1, 126, 10, -1, 127,
+ 10, -1, 77, 10, -1, 66, 10, -1, 102, 10,
+ -1, 122, 10, -1, 21, 10, -1, 22, 10, -1,
+ 23, 10, -1, 24, 10, -1, 25, 10, -1, 68,
+ 10, -1, 82, 10, -1, 83, 10, -1, 110, 10,
+ -1, 54, 10, -1, 64, 10, -1, 55, 10, -1,
+ 103, 10, -1, 48, 10, -1, 49, 10, -1, 50,
+ 10, -1, 51, 10, -1, 114, 10, -1, 118, 10,
+ -1, 119, 10, -1, 152, 10, -1, 115, 10, -1,
+ 61, 10, -1, 26, 10, -1, 27, 10, -1, 28,
+ 10, -1, 99, 10, -1, 133, 10, -1, 134, 10,
+ -1, 29, 10, -1, 30, 10, -1, 32, 10, -1,
+ 33, 10, -1, 35, 10, -1, 36, 10, -1, 34,
+ 10, -1, 135, 10, -1, 41, 10, -1, 42, 10,
+ -1, 43, 10, -1, 52, 10, -1, 71, 10, -1,
+ 120, 10, -1, 85, 10, -1, 151, 10, -1, 78,
+ 10, -1, 159, 10, -1, 86, 10, -1, 87, 10,
+ -1, 116, 10, -1, 117, 10, -1, 101, 10, -1,
+ 47, 10, -1, 69, 10, -1, 72, 10, 10, -1,
+ 53, 10, -1, 56, 10, -1, 106, 10, -1, 107,
+ 10, -1, 70, 10, -1, 160, 10, -1, 108, 10,
+ -1, 57, 10, -1, 58, 10, -1, 59, 10, -1,
+ 121, 10, -1, 109, 10, -1, 65, 10, -1, 112,
+ 10, -1, 113, 10, -1, 111, 10, -1, 161, 10,
+ -1, 62, 10, -1, 63, 10, -1, 84, 10, -1,
+ 73, 10, 10, -1, 74, 10, -1, 98, 10, -1,
+ 130, 10, -1, 131, 10, -1, 132, 10, -1, 136,
+ 10, -1, 137, 10, -1, 153, 10, -1, 155, 10,
+ -1, 154, 10, -1, 156, 10, 10, -1, 157, 10,
+ 10, -1, 158, 10, -1, 37, 10, -1, 39, 10,
+ -1, 40, 10, -1, 129, 10, -1, 100, 10, -1,
+ 37, 10, -1, 45, 10, -1, 46, 10, -1, 128,
+ 10, -1, 88, -1, 300, 301, -1, -1, 302, -1,
+ 304, -1, 303, -1, 306, -1, 307, -1, 308, -1,
+ 309, -1, 305, -1, 89, 10, -1, 91, 10, -1,
+ 90, 10, -1, 96, 10, -1, 92, 10, -1, 93,
+ 10, -1, 94, 10, -1, 95, 10, -1, 138, -1,
+ 311, 312, -1, -1, 313, -1, 314, -1, 315, -1,
+ 316, -1, 317, -1, 318, -1, 319, -1, 320, -1,
+ 321, -1, 322, -1, 323, -1, 324, -1, 139, 10,
+ -1, 140, 10, -1, 141, 10, -1, 142, 10, -1,
+ 143, 10, -1, 144, 10, -1, 145, 10, -1, 146,
+ 10, -1, 147, 10, -1, 148, 10, -1, 149, 10,
+ -1, 150, 10, -1, 104, -1, 326, 327, -1, -1,
+ 328, -1, 105, 10, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -910,26 +913,26 @@ static const yytype_uint16 yyrline[] =
174, 174, 175, 175, 176, 176, 176, 177, 177, 177,
178, 178, 178, 179, 179, 179, 180, 180, 180, 181,
181, 181, 182, 182, 182, 183, 183, 184, 184, 185,
- 185, 185, 186, 186, 187, 187, 188, 188, 190, 202,
- 203, 204, 204, 204, 204, 204, 206, 218, 219, 220,
- 220, 220, 220, 222, 231, 240, 251, 260, 269, 278,
- 291, 306, 315, 324, 333, 342, 351, 360, 369, 378,
- 387, 396, 405, 414, 421, 428, 437, 446, 460, 469,
- 478, 485, 492, 499, 507, 514, 521, 528, 535, 543,
- 551, 559, 566, 573, 582, 591, 598, 605, 613, 621,
- 631, 641, 654, 665, 673, 686, 695, 704, 713, 723,
- 731, 744, 753, 761, 770, 778, 791, 800, 807, 817,
- 827, 837, 847, 857, 867, 877, 887, 894, 901, 908,
- 917, 926, 935, 942, 952, 969, 976, 994, 1007, 1020,
- 1029, 1038, 1047, 1056, 1066, 1076, 1085, 1094, 1101, 1110,
- 1119, 1128, 1136, 1149, 1157, 1181, 1188, 1203, 1213, 1223,
- 1230, 1237, 1246, 1255, 1263, 1276, 1289, 1302, 1311, 1321,
- 1328, 1335, 1344, 1354, 1364, 1371, 1378, 1387, 1392, 1393,
- 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1396, 1398, 1408,
- 1417, 1424, 1434, 1441, 1448, 1455, 1462, 1467, 1468, 1469,
- 1469, 1470, 1470, 1471, 1471, 1472, 1473, 1474, 1475, 1476,
- 1477, 1479, 1487, 1494, 1502, 1510, 1517, 1524, 1533, 1542,
- 1551, 1560, 1569, 1578, 1583, 1584, 1585, 1587
+ 185, 185, 186, 186, 187, 187, 188, 188, 189, 191,
+ 203, 204, 205, 205, 205, 205, 205, 207, 219, 220,
+ 221, 221, 221, 221, 223, 232, 241, 252, 261, 270,
+ 279, 292, 307, 316, 325, 334, 343, 352, 361, 370,
+ 379, 388, 397, 406, 415, 422, 429, 438, 447, 461,
+ 470, 479, 486, 493, 500, 508, 515, 522, 529, 536,
+ 544, 552, 560, 567, 574, 583, 592, 599, 606, 614,
+ 622, 632, 642, 655, 666, 674, 687, 696, 705, 714,
+ 724, 732, 745, 754, 762, 771, 779, 792, 801, 808,
+ 818, 828, 838, 848, 858, 868, 878, 888, 895, 902,
+ 909, 918, 927, 936, 943, 953, 970, 977, 995, 1008,
+ 1021, 1030, 1039, 1048, 1057, 1067, 1077, 1086, 1095, 1102,
+ 1111, 1120, 1129, 1138, 1146, 1159, 1167, 1191, 1198, 1213,
+ 1223, 1233, 1240, 1247, 1256, 1265, 1273, 1286, 1299, 1312,
+ 1321, 1331, 1338, 1345, 1354, 1364, 1374, 1381, 1388, 1397,
+ 1402, 1403, 1404, 1404, 1404, 1405, 1405, 1405, 1406, 1406,
+ 1408, 1418, 1427, 1434, 1444, 1451, 1458, 1465, 1472, 1477,
+ 1478, 1479, 1479, 1480, 1480, 1481, 1481, 1482, 1483, 1484,
+ 1485, 1486, 1487, 1489, 1497, 1504, 1512, 1520, 1527, 1534,
+ 1543, 1552, 1561, 1570, 1579, 1588, 1593, 1594, 1595, 1597
};
#endif
@@ -994,17 +997,18 @@ static const char *const yytname[] =
"VAR_HARDEN_ALGO_DOWNGRADE", "VAR_IP_TRANSPARENT", "VAR_RATELIMIT",
"VAR_RATELIMIT_SLABS", "VAR_RATELIMIT_SIZE", "VAR_RATELIMIT_FOR_DOMAIN",
"VAR_RATELIMIT_BELOW_DOMAIN", "VAR_RATELIMIT_FACTOR",
- "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL", "$accept",
- "toplevelvars", "toplevelvar", "serverstart", "contents_server",
- "content_server", "stubstart", "contents_stub", "content_stub",
- "forwardstart", "contents_forward", "content_forward",
- "server_num_threads", "server_verbosity", "server_statistics_interval",
- "server_statistics_cumulative", "server_extended_statistics",
- "server_port", "server_interface", "server_outgoing_interface",
- "server_outgoing_range", "server_outgoing_port_permit",
- "server_outgoing_port_avoid", "server_outgoing_num_tcp",
- "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4",
- "server_do_ip6", "server_do_udp", "server_do_tcp", "server_tcp_upstream",
+ "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL",
+ "VAR_PERMIT_SMALL_HOLDDOWN", "$accept", "toplevelvars", "toplevelvar",
+ "serverstart", "contents_server", "content_server", "stubstart",
+ "contents_stub", "content_stub", "forwardstart", "contents_forward",
+ "content_forward", "server_num_threads", "server_verbosity",
+ "server_statistics_interval", "server_statistics_cumulative",
+ "server_extended_statistics", "server_port", "server_interface",
+ "server_outgoing_interface", "server_outgoing_range",
+ "server_outgoing_port_permit", "server_outgoing_port_avoid",
+ "server_outgoing_num_tcp", "server_incoming_num_tcp",
+ "server_interface_automatic", "server_do_ip4", "server_do_ip6",
+ "server_do_udp", "server_do_tcp", "server_tcp_upstream",
"server_ssl_upstream", "server_ssl_service_key",
"server_ssl_service_pem", "server_ssl_port", "server_do_daemonize",
"server_use_syslog", "server_log_time_ascii", "server_log_queries",
@@ -1039,7 +1043,8 @@ static const char *const yytname[] =
"server_val_clean_additional", "server_val_permissive_mode",
"server_ignore_cd_flag", "server_val_log_level",
"server_val_nsec3_keysize_iterations", "server_add_holddown",
- "server_del_holddown", "server_keep_missing", "server_key_cache_size",
+ "server_del_holddown", "server_keep_missing",
+ "server_permit_small_holddown", "server_key_cache_size",
"server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
"server_local_data", "server_local_data_ptr", "server_minimal_responses",
"server_rrset_roundrobin", "server_max_udp_size", "server_dns64_prefix",
@@ -1085,28 +1090,28 @@ static const yytype_uint16 yytoknum[] =
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415
+ 415, 416
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 161, 162, 162, 163, 163, 163, 163, 163, 163,
- 164, 165, 165, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
- 166, 166, 166, 166, 166, 166, 166, 166, 167, 168,
- 168, 169, 169, 169, 169, 169, 170, 171, 171, 172,
- 172, 172, 172, 173, 174, 175, 176, 177, 178, 179,
+ 0, 162, 163, 163, 164, 164, 164, 164, 164, 164,
+ 165, 166, 166, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
+ 167, 167, 167, 167, 167, 167, 167, 167, 167, 168,
+ 169, 169, 170, 170, 170, 170, 170, 171, 172, 172,
+ 173, 173, 173, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
@@ -1118,12 +1123,12 @@ static const yytype_uint16 yyr1[] =
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 297, 298, 298,
- 299, 299, 299, 299, 299, 299, 299, 299, 300, 301,
- 302, 303, 304, 305, 306, 307, 308, 309, 309, 310,
- 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
- 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 320, 321, 322, 323, 324, 324, 325, 326
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 300, 301, 301, 301, 301, 301, 301, 301, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 311, 312, 312, 312, 312, 312, 312, 312, 312, 312,
+ 312, 312, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, 326, 327, 328
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1141,9 +1146,9 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
- 0, 1, 1, 1, 1, 1, 1, 2, 0, 1,
- 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 0, 1, 1, 1, 1, 1, 1, 2, 0,
+ 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -1151,16 +1156,16 @@ static const yytype_uint8 yyr2[] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 3, 3, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 1, 2, 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 0, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 1, 2, 0, 1, 2
+ 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 3, 3, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
+ 2, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,
+ 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 1, 2, 0, 1, 2
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -1168,8 +1173,8 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 2, 0, 1, 10, 128, 136, 267, 313, 286, 3,
- 12, 130, 138, 269, 288, 315, 4, 5, 6, 8,
+ 2, 0, 1, 10, 129, 137, 269, 315, 288, 3,
+ 12, 131, 139, 271, 290, 317, 4, 5, 6, 8,
9, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1181,62 +1186,62 @@ static const yytype_uint16 yydefact[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 11, 13, 14,
- 70, 73, 82, 15, 21, 61, 16, 74, 75, 32,
- 54, 69, 17, 18, 19, 20, 104, 105, 106, 107,
- 108, 71, 60, 86, 103, 22, 23, 24, 25, 26,
- 62, 76, 77, 92, 48, 58, 49, 87, 42, 43,
- 44, 45, 96, 100, 112, 119, 97, 55, 27, 28,
- 29, 84, 113, 114, 30, 31, 33, 34, 36, 37,
- 35, 117, 38, 39, 40, 46, 65, 101, 79, 118,
- 72, 126, 80, 81, 98, 99, 85, 41, 63, 66,
- 47, 50, 88, 89, 64, 127, 90, 51, 52, 53,
- 102, 91, 59, 93, 94, 95, 56, 57, 78, 67,
- 68, 83, 109, 110, 111, 115, 116, 120, 122, 121,
- 123, 124, 125, 0, 0, 0, 0, 0, 129, 131,
- 132, 133, 135, 134, 0, 0, 0, 0, 137, 139,
- 140, 141, 142, 0, 0, 0, 0, 0, 0, 0,
- 0, 268, 270, 272, 271, 277, 273, 274, 275, 276,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 287, 289, 290, 291, 292, 293, 294, 295,
- 296, 297, 298, 299, 300, 0, 314, 316, 144, 143,
- 148, 151, 149, 157, 158, 159, 160, 170, 171, 172,
- 173, 174, 193, 194, 195, 199, 200, 154, 201, 202,
- 205, 203, 204, 207, 208, 209, 222, 183, 184, 185,
- 186, 210, 225, 179, 181, 226, 232, 233, 234, 155,
- 192, 241, 242, 180, 237, 167, 150, 175, 223, 229,
- 211, 0, 0, 245, 156, 145, 166, 215, 146, 152,
- 153, 176, 177, 243, 213, 217, 218, 147, 246, 196,
- 221, 168, 182, 227, 228, 231, 236, 178, 240, 238,
- 239, 187, 191, 219, 220, 188, 189, 212, 235, 169,
- 161, 162, 163, 164, 165, 247, 248, 249, 197, 198,
- 206, 250, 251, 214, 190, 252, 254, 253, 0, 0,
- 257, 216, 230, 258, 259, 260, 262, 261, 263, 264,
- 265, 266, 278, 280, 279, 282, 283, 284, 285, 281,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 317, 224, 244, 255, 256
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 13,
+ 14, 70, 73, 82, 15, 21, 61, 16, 74, 75,
+ 32, 54, 69, 17, 18, 19, 20, 104, 105, 106,
+ 107, 108, 71, 60, 86, 103, 22, 23, 24, 25,
+ 26, 62, 76, 77, 92, 48, 58, 49, 87, 42,
+ 43, 44, 45, 96, 100, 112, 119, 97, 55, 27,
+ 28, 29, 84, 113, 114, 30, 31, 33, 34, 36,
+ 37, 35, 117, 38, 39, 40, 46, 65, 101, 79,
+ 118, 72, 126, 80, 81, 98, 99, 85, 41, 63,
+ 66, 47, 50, 88, 89, 64, 127, 90, 51, 52,
+ 53, 102, 91, 59, 93, 94, 95, 128, 56, 57,
+ 78, 67, 68, 83, 109, 110, 111, 115, 116, 120,
+ 122, 121, 123, 124, 125, 0, 0, 0, 0, 0,
+ 130, 132, 133, 134, 136, 135, 0, 0, 0, 0,
+ 138, 140, 141, 142, 143, 0, 0, 0, 0, 0,
+ 0, 0, 0, 270, 272, 274, 273, 279, 275, 276,
+ 277, 278, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 289, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 0, 316, 318,
+ 145, 144, 149, 152, 150, 158, 159, 160, 161, 171,
+ 172, 173, 174, 175, 194, 195, 196, 200, 201, 155,
+ 202, 203, 206, 204, 205, 208, 209, 210, 223, 184,
+ 185, 186, 187, 211, 226, 180, 182, 227, 233, 234,
+ 235, 156, 193, 243, 244, 181, 238, 168, 151, 176,
+ 224, 230, 212, 0, 0, 247, 157, 146, 167, 216,
+ 147, 153, 154, 177, 178, 245, 214, 218, 219, 148,
+ 248, 197, 222, 169, 183, 228, 229, 232, 237, 179,
+ 241, 239, 240, 188, 192, 220, 221, 189, 190, 213,
+ 236, 170, 162, 163, 164, 165, 166, 249, 250, 251,
+ 198, 199, 207, 252, 253, 215, 191, 254, 256, 255,
+ 0, 0, 259, 217, 231, 242, 260, 261, 262, 264,
+ 263, 265, 266, 267, 268, 280, 282, 281, 284, 285,
+ 286, 287, 283, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 319, 225, 246, 257, 258
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 9, 10, 16, 137, 11, 17, 258, 12,
- 18, 268, 138, 139, 140, 141, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
- 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
- 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
- 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
- 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
- 246, 247, 248, 249, 250, 251, 252, 259, 260, 261,
- 262, 263, 269, 270, 271, 272, 13, 19, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 14, 20, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 15, 21, 316, 317
+ -1, 1, 9, 10, 16, 138, 11, 17, 260, 12,
+ 18, 270, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
+ 247, 248, 249, 250, 251, 252, 253, 254, 261, 262,
+ 263, 264, 265, 271, 272, 273, 274, 13, 19, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 14, 20,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 15, 21, 318, 319
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -1247,17 +1252,17 @@ static const yytype_int16 yypact[] =
-81, 116, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -12, 89, 47, -13,
22, -80, 16, 17, 18, 23, 24, 78, 107, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 139, 140,
- 141, 142, 143, 145, 146, 147, 148, 149, 163, 164,
- 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 176, 177, 178, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 209, 211, 212, 213, 214, 215, 216, 217, 218, 219,
- 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
- 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, -81, -81, -81,
+ 121, 122, 123, 124, 125, 126, 127, 128, 140, 141,
+ 142, 143, 145, 146, 147, 148, 149, 163, 164, 166,
+ 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
+ 177, 178, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 195, 196, 197, 198,
+ 199, 200, 201, 202, 203, 204, 205, 206, 207, 209,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
@@ -1269,28 +1274,28 @@ static const yytype_int16 yypact[] =
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, 258, 259, 260, 261, 262, -81, -81,
- -81, -81, -81, -81, 263, 264, 265, 266, -81, -81,
- -81, -81, -81, 267, 268, 269, 270, 271, 272, 273,
- 274, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, 287, -81, -81, -81, -81,
+ -81, -81, -81, -81, -81, 260, 261, 262, 263, 264,
+ -81, -81, -81, -81, -81, -81, 265, 266, 267, 268,
+ -81, -81, -81, -81, -81, 269, 270, 271, 272, 273,
+ 274, 275, 276, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, -81, -81, -81, -81, 289, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, 288, 289, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, 290, 291, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -81, -81, 290, 291,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ 292, 293, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -81
+ -81, -81, -81, -81, -81, -81, -81, -81, -81, -81
};
/* YYPGOTO[NTERM-NUM]. */
@@ -1312,7 +1317,7 @@ static const yytype_int8 yypgoto[] =
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81
+ -81, -81, -81, -81, -81, -81, -81
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1323,35 +1328,35 @@ static const yytype_uint16 yytable[] =
{
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 315, 318, 319, 320, 47,
- 48, 49, 0, 321, 322, 50, 51, 52, 53, 54,
+ 42, 43, 44, 45, 46, 317, 320, 321, 322, 47,
+ 48, 49, 0, 323, 324, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 273, 274, 275, 276,
- 277, 278, 279, 280, 264, 91, 92, 93, 323, 94,
- 95, 96, 265, 266, 97, 98, 99, 100, 101, 102,
+ 85, 86, 87, 88, 89, 90, 275, 276, 277, 278,
+ 279, 280, 281, 282, 266, 91, 92, 93, 325, 94,
+ 95, 96, 267, 268, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 2, 324, 119, 120,
- 121, 122, 123, 124, 125, 126, 253, 3, 254, 255,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 127,
- 128, 129, 130, 131, 132, 133, 134, 135, 136, 334,
- 335, 336, 337, 338, 4, 339, 340, 341, 342, 343,
- 5, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 344, 345, 267, 346, 347, 348, 349,
- 350, 351, 352, 353, 354, 355, 356, 357, 358, 256,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 6, 373, 374, 375, 376, 377,
- 378, 379, 380, 381, 382, 383, 384, 385, 257, 386,
- 7, 387, 388, 389, 390, 391, 392, 393, 394, 395,
- 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
- 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
- 416, 417, 418, 419, 8, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
- 465, 466
+ 113, 114, 115, 116, 117, 118, 2, 326, 119, 120,
+ 121, 122, 123, 124, 125, 126, 255, 3, 256, 257,
+ 327, 328, 329, 330, 331, 332, 333, 334, 335, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 336, 337, 338, 339, 4, 340, 341, 342, 343, 344,
+ 5, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 345, 346, 269, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, 358, 359, 258,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 6, 374, 375, 376, 377, 378,
+ 379, 380, 381, 382, 383, 384, 385, 386, 259, 387,
+ 7, 388, 389, 390, 391, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
+ 417, 418, 419, 420, 8, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
+ 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
+ 466, 467, 468, 469
};
#define yypact_value_is_default(Yystate) \
@@ -1376,7 +1381,7 @@ static const yytype_int16 yycheck[] =
122, 123, 124, 125, 126, 127, 0, 10, 130, 131,
132, 133, 134, 135, 136, 137, 37, 11, 39, 40,
10, 10, 10, 10, 10, 10, 10, 10, 10, 151,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 10,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
10, 10, 10, 10, 38, 10, 10, 10, 10, 10,
44, 139, 140, 141, 142, 143, 144, 145, 146, 147,
148, 149, 150, 10, 10, 128, 10, 10, 10, 10,
@@ -1392,16 +1397,16 @@ static const yytype_int16 yycheck[] =
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10
+ 10, 10, 10, 10
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 162, 0, 11, 38, 44, 88, 104, 138, 163,
- 164, 167, 170, 297, 308, 323, 165, 168, 171, 298,
- 309, 324, 12, 13, 14, 15, 16, 17, 18, 19,
+ 0, 163, 0, 11, 38, 44, 88, 104, 138, 164,
+ 165, 168, 171, 299, 310, 325, 166, 169, 172, 300,
+ 311, 326, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 41, 42, 43,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -1412,7 +1417,7 @@ static const yytype_uint16 yystos[] =
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 130,
131, 132, 133, 134, 135, 136, 137, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 166, 173, 174,
+ 154, 155, 156, 157, 158, 159, 160, 161, 167, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
@@ -1424,13 +1429,13 @@ static const yytype_uint16 yystos[] =
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 37, 39, 40, 100, 129, 169, 288,
- 289, 290, 291, 292, 37, 45, 46, 128, 172, 293,
- 294, 295, 296, 89, 90, 91, 92, 93, 94, 95,
- 96, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 105, 325, 326, 10, 10,
+ 285, 286, 287, 288, 289, 37, 39, 40, 100, 129,
+ 170, 290, 291, 292, 293, 294, 37, 45, 46, 128,
+ 173, 295, 296, 297, 298, 89, 90, 91, 92, 93,
+ 94, 95, 96, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 105, 327, 328,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
@@ -1445,7 +1450,7 @@ static const yytype_uint16 yystos[] =
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10
};
#define yyerrok (yyerrstatus = 0)
@@ -2253,9 +2258,9 @@ yyreduce:
}
break;
- case 128:
+ case 129:
/* Line 1792 of yacc.c */
-#line 191 "util/configparser.y"
+#line 192 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
@@ -2268,9 +2273,9 @@ yyreduce:
}
break;
- case 136:
+ case 137:
/* Line 1792 of yacc.c */
-#line 207 "util/configparser.y"
+#line 208 "util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
@@ -2283,9 +2288,9 @@ yyreduce:
}
break;
- case 143:
+ case 144:
/* Line 1792 of yacc.c */
-#line 223 "util/configparser.y"
+#line 224 "util/configparser.y"
{
OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2295,9 +2300,9 @@ yyreduce:
}
break;
- case 144:
+ case 145:
/* Line 1792 of yacc.c */
-#line 232 "util/configparser.y"
+#line 233 "util/configparser.y"
{
OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2307,9 +2312,9 @@ yyreduce:
}
break;
- case 145:
+ case 146:
/* Line 1792 of yacc.c */
-#line 241 "util/configparser.y"
+#line 242 "util/configparser.y"
{
OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
@@ -2321,9 +2326,9 @@ yyreduce:
}
break;
- case 146:
+ case 147:
/* Line 1792 of yacc.c */
-#line 252 "util/configparser.y"
+#line 253 "util/configparser.y"
{
OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2333,9 +2338,9 @@ yyreduce:
}
break;
- case 147:
+ case 148:
/* Line 1792 of yacc.c */
-#line 261 "util/configparser.y"
+#line 262 "util/configparser.y"
{
OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2345,9 +2350,9 @@ yyreduce:
}
break;
- case 148:
+ case 149:
/* Line 1792 of yacc.c */
-#line 270 "util/configparser.y"
+#line 271 "util/configparser.y"
{
OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2357,9 +2362,9 @@ yyreduce:
}
break;
- case 149:
+ case 150:
/* Line 1792 of yacc.c */
-#line 279 "util/configparser.y"
+#line 280 "util/configparser.y"
{
OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_ifs == 0)
@@ -2373,9 +2378,9 @@ yyreduce:
}
break;
- case 150:
+ case 151:
/* Line 1792 of yacc.c */
-#line 292 "util/configparser.y"
+#line 293 "util/configparser.y"
{
OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2391,9 +2396,9 @@ yyreduce:
}
break;
- case 151:
+ case 152:
/* Line 1792 of yacc.c */
-#line 307 "util/configparser.y"
+#line 308 "util/configparser.y"
{
OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2403,9 +2408,9 @@ yyreduce:
}
break;
- case 152:
+ case 153:
/* Line 1792 of yacc.c */
-#line 316 "util/configparser.y"
+#line 317 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
@@ -2415,9 +2420,9 @@ yyreduce:
}
break;
- case 153:
+ case 154:
/* Line 1792 of yacc.c */
-#line 325 "util/configparser.y"
+#line 326 "util/configparser.y"
{
OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
@@ -2427,9 +2432,9 @@ yyreduce:
}
break;
- case 154:
+ case 155:
/* Line 1792 of yacc.c */
-#line 334 "util/configparser.y"
+#line 335 "util/configparser.y"
{
OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2439,9 +2444,9 @@ yyreduce:
}
break;
- case 155:
+ case 156:
/* Line 1792 of yacc.c */
-#line 343 "util/configparser.y"
+#line 344 "util/configparser.y"
{
OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2451,9 +2456,9 @@ yyreduce:
}
break;
- case 156:
+ case 157:
/* Line 1792 of yacc.c */
-#line 352 "util/configparser.y"
+#line 353 "util/configparser.y"
{
OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2463,9 +2468,9 @@ yyreduce:
}
break;
- case 157:
+ case 158:
/* Line 1792 of yacc.c */
-#line 361 "util/configparser.y"
+#line 362 "util/configparser.y"
{
OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2475,9 +2480,9 @@ yyreduce:
}
break;
- case 158:
+ case 159:
/* Line 1792 of yacc.c */
-#line 370 "util/configparser.y"
+#line 371 "util/configparser.y"
{
OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2487,9 +2492,9 @@ yyreduce:
}
break;
- case 159:
+ case 160:
/* Line 1792 of yacc.c */
-#line 379 "util/configparser.y"
+#line 380 "util/configparser.y"
{
OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2499,9 +2504,9 @@ yyreduce:
}
break;
- case 160:
+ case 161:
/* Line 1792 of yacc.c */
-#line 388 "util/configparser.y"
+#line 389 "util/configparser.y"
{
OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2511,9 +2516,9 @@ yyreduce:
}
break;
- case 161:
+ case 162:
/* Line 1792 of yacc.c */
-#line 397 "util/configparser.y"
+#line 398 "util/configparser.y"
{
OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2523,9 +2528,9 @@ yyreduce:
}
break;
- case 162:
+ case 163:
/* Line 1792 of yacc.c */
-#line 406 "util/configparser.y"
+#line 407 "util/configparser.y"
{
OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2535,9 +2540,9 @@ yyreduce:
}
break;
- case 163:
+ case 164:
/* Line 1792 of yacc.c */
-#line 415 "util/configparser.y"
+#line 416 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_key);
@@ -2545,9 +2550,9 @@ yyreduce:
}
break;
- case 164:
+ case 165:
/* Line 1792 of yacc.c */
-#line 422 "util/configparser.y"
+#line 423 "util/configparser.y"
{
OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_pem);
@@ -2555,9 +2560,9 @@ yyreduce:
}
break;
- case 165:
+ case 166:
/* Line 1792 of yacc.c */
-#line 429 "util/configparser.y"
+#line 430 "util/configparser.y"
{
OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2567,9 +2572,9 @@ yyreduce:
}
break;
- case 166:
+ case 167:
/* Line 1792 of yacc.c */
-#line 438 "util/configparser.y"
+#line 439 "util/configparser.y"
{
OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2579,9 +2584,9 @@ yyreduce:
}
break;
- case 167:
+ case 168:
/* Line 1792 of yacc.c */
-#line 447 "util/configparser.y"
+#line 448 "util/configparser.y"
{
OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2596,9 +2601,9 @@ yyreduce:
}
break;
- case 168:
+ case 169:
/* Line 1792 of yacc.c */
-#line 461 "util/configparser.y"
+#line 462 "util/configparser.y"
{
OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2608,9 +2613,9 @@ yyreduce:
}
break;
- case 169:
+ case 170:
/* Line 1792 of yacc.c */
-#line 470 "util/configparser.y"
+#line 471 "util/configparser.y"
{
OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2620,9 +2625,9 @@ yyreduce:
}
break;
- case 170:
+ case 171:
/* Line 1792 of yacc.c */
-#line 479 "util/configparser.y"
+#line 480 "util/configparser.y"
{
OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->chrootdir);
@@ -2630,9 +2635,9 @@ yyreduce:
}
break;
- case 171:
+ case 172:
/* Line 1792 of yacc.c */
-#line 486 "util/configparser.y"
+#line 487 "util/configparser.y"
{
OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->username);
@@ -2640,9 +2645,9 @@ yyreduce:
}
break;
- case 172:
+ case 173:
/* Line 1792 of yacc.c */
-#line 493 "util/configparser.y"
+#line 494 "util/configparser.y"
{
OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->directory);
@@ -2650,9 +2655,9 @@ yyreduce:
}
break;
- case 173:
+ case 174:
/* Line 1792 of yacc.c */
-#line 500 "util/configparser.y"
+#line 501 "util/configparser.y"
{
OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->logfile);
@@ -2661,9 +2666,9 @@ yyreduce:
}
break;
- case 174:
+ case 175:
/* Line 1792 of yacc.c */
-#line 508 "util/configparser.y"
+#line 509 "util/configparser.y"
{
OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->pidfile);
@@ -2671,9 +2676,9 @@ yyreduce:
}
break;
- case 175:
+ case 176:
/* Line 1792 of yacc.c */
-#line 515 "util/configparser.y"
+#line 516 "util/configparser.y"
{
OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
@@ -2681,9 +2686,9 @@ yyreduce:
}
break;
- case 176:
+ case 177:
/* Line 1792 of yacc.c */
-#line 522 "util/configparser.y"
+#line 523 "util/configparser.y"
{
OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dlv_anchor_file);
@@ -2691,9 +2696,9 @@ yyreduce:
}
break;
- case 177:
+ case 178:
/* Line 1792 of yacc.c */
-#line 529 "util/configparser.y"
+#line 530 "util/configparser.y"
{
OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2701,9 +2706,9 @@ yyreduce:
}
break;
- case 178:
+ case 179:
/* Line 1792 of yacc.c */
-#line 536 "util/configparser.y"
+#line 537 "util/configparser.y"
{
OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2712,9 +2717,9 @@ yyreduce:
}
break;
- case 179:
+ case 180:
/* Line 1792 of yacc.c */
-#line 544 "util/configparser.y"
+#line 545 "util/configparser.y"
{
OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2723,9 +2728,9 @@ yyreduce:
}
break;
- case 180:
+ case 181:
/* Line 1792 of yacc.c */
-#line 552 "util/configparser.y"
+#line 553 "util/configparser.y"
{
OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2734,9 +2739,9 @@ yyreduce:
}
break;
- case 181:
+ case 182:
/* Line 1792 of yacc.c */
-#line 560 "util/configparser.y"
+#line 561 "util/configparser.y"
{
OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2744,9 +2749,9 @@ yyreduce:
}
break;
- case 182:
+ case 183:
/* Line 1792 of yacc.c */
-#line 567 "util/configparser.y"
+#line 568 "util/configparser.y"
{
OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
@@ -2754,9 +2759,9 @@ yyreduce:
}
break;
- case 183:
+ case 184:
/* Line 1792 of yacc.c */
-#line 574 "util/configparser.y"
+#line 575 "util/configparser.y"
{
OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2766,9 +2771,9 @@ yyreduce:
}
break;
- case 184:
+ case 185:
/* Line 1792 of yacc.c */
-#line 583 "util/configparser.y"
+#line 584 "util/configparser.y"
{
OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2778,9 +2783,9 @@ yyreduce:
}
break;
- case 185:
+ case 186:
/* Line 1792 of yacc.c */
-#line 592 "util/configparser.y"
+#line 593 "util/configparser.y"
{
OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->identity);
@@ -2788,9 +2793,9 @@ yyreduce:
}
break;
- case 186:
+ case 187:
/* Line 1792 of yacc.c */
-#line 599 "util/configparser.y"
+#line 600 "util/configparser.y"
{
OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->version);
@@ -2798,9 +2803,9 @@ yyreduce:
}
break;
- case 187:
+ case 188:
/* Line 1792 of yacc.c */
-#line 606 "util/configparser.y"
+#line 607 "util/configparser.y"
{
OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
@@ -2809,9 +2814,9 @@ yyreduce:
}
break;
- case 188:
+ case 189:
/* Line 1792 of yacc.c */
-#line 614 "util/configparser.y"
+#line 615 "util/configparser.y"
{
OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
@@ -2820,9 +2825,9 @@ yyreduce:
}
break;
- case 189:
+ case 190:
/* Line 1792 of yacc.c */
-#line 622 "util/configparser.y"
+#line 623 "util/configparser.y"
{
OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2833,9 +2838,9 @@ yyreduce:
}
break;
- case 190:
+ case 191:
/* Line 1792 of yacc.c */
-#line 632 "util/configparser.y"
+#line 633 "util/configparser.y"
{
OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2846,9 +2851,9 @@ yyreduce:
}
break;
- case 191:
+ case 192:
/* Line 1792 of yacc.c */
-#line 642 "util/configparser.y"
+#line 643 "util/configparser.y"
{
OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2862,9 +2867,9 @@ yyreduce:
}
break;
- case 192:
+ case 193:
/* Line 1792 of yacc.c */
-#line 655 "util/configparser.y"
+#line 656 "util/configparser.y"
{
OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2876,9 +2881,9 @@ yyreduce:
}
break;
- case 193:
+ case 194:
/* Line 1792 of yacc.c */
-#line 666 "util/configparser.y"
+#line 667 "util/configparser.y"
{
OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
@@ -2887,9 +2892,9 @@ yyreduce:
}
break;
- case 194:
+ case 195:
/* Line 1792 of yacc.c */
-#line 674 "util/configparser.y"
+#line 675 "util/configparser.y"
{
OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2903,9 +2908,9 @@ yyreduce:
}
break;
- case 195:
+ case 196:
/* Line 1792 of yacc.c */
-#line 687 "util/configparser.y"
+#line 688 "util/configparser.y"
{
OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2915,9 +2920,9 @@ yyreduce:
}
break;
- case 196:
+ case 197:
/* Line 1792 of yacc.c */
-#line 696 "util/configparser.y"
+#line 697 "util/configparser.y"
{
OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2927,9 +2932,9 @@ yyreduce:
}
break;
- case 197:
+ case 198:
/* Line 1792 of yacc.c */
-#line 705 "util/configparser.y"
+#line 706 "util/configparser.y"
{
OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2939,9 +2944,9 @@ yyreduce:
}
break;
- case 198:
+ case 199:
/* Line 1792 of yacc.c */
-#line 714 "util/configparser.y"
+#line 715 "util/configparser.y"
{
OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2952,9 +2957,9 @@ yyreduce:
}
break;
- case 199:
+ case 200:
/* Line 1792 of yacc.c */
-#line 724 "util/configparser.y"
+#line 725 "util/configparser.y"
{
OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
@@ -2963,9 +2968,9 @@ yyreduce:
}
break;
- case 200:
+ case 201:
/* Line 1792 of yacc.c */
-#line 732 "util/configparser.y"
+#line 733 "util/configparser.y"
{
OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2979,9 +2984,9 @@ yyreduce:
}
break;
- case 201:
+ case 202:
/* Line 1792 of yacc.c */
-#line 745 "util/configparser.y"
+#line 746 "util/configparser.y"
{
OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2991,9 +2996,9 @@ yyreduce:
}
break;
- case 202:
+ case 203:
/* Line 1792 of yacc.c */
-#line 754 "util/configparser.y"
+#line 755 "util/configparser.y"
{
OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
@@ -3002,9 +3007,9 @@ yyreduce:
}
break;
- case 203:
+ case 204:
/* Line 1792 of yacc.c */
-#line 762 "util/configparser.y"
+#line 763 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3014,9 +3019,9 @@ yyreduce:
}
break;
- case 204:
+ case 205:
/* Line 1792 of yacc.c */
-#line 771 "util/configparser.y"
+#line 772 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
@@ -3025,9 +3030,9 @@ yyreduce:
}
break;
- case 205:
+ case 206:
/* Line 1792 of yacc.c */
-#line 779 "util/configparser.y"
+#line 780 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3041,9 +3046,9 @@ yyreduce:
}
break;
- case 206:
+ case 207:
/* Line 1792 of yacc.c */
-#line 792 "util/configparser.y"
+#line 793 "util/configparser.y"
{
OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3053,9 +3058,9 @@ yyreduce:
}
break;
- case 207:
+ case 208:
/* Line 1792 of yacc.c */
-#line 801 "util/configparser.y"
+#line 802 "util/configparser.y"
{
OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->target_fetch_policy);
@@ -3063,9 +3068,9 @@ yyreduce:
}
break;
- case 208:
+ case 209:
/* Line 1792 of yacc.c */
-#line 808 "util/configparser.y"
+#line 809 "util/configparser.y"
{
OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3076,9 +3081,9 @@ yyreduce:
}
break;
- case 209:
+ case 210:
/* Line 1792 of yacc.c */
-#line 818 "util/configparser.y"
+#line 819 "util/configparser.y"
{
OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3089,9 +3094,9 @@ yyreduce:
}
break;
- case 210:
+ case 211:
/* Line 1792 of yacc.c */
-#line 828 "util/configparser.y"
+#line 829 "util/configparser.y"
{
OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3102,9 +3107,9 @@ yyreduce:
}
break;
- case 211:
+ case 212:
/* Line 1792 of yacc.c */
-#line 838 "util/configparser.y"
+#line 839 "util/configparser.y"
{
OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3115,9 +3120,9 @@ yyreduce:
}
break;
- case 212:
+ case 213:
/* Line 1792 of yacc.c */
-#line 848 "util/configparser.y"
+#line 849 "util/configparser.y"
{
OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3128,9 +3133,9 @@ yyreduce:
}
break;
- case 213:
+ case 214:
/* Line 1792 of yacc.c */
-#line 858 "util/configparser.y"
+#line 859 "util/configparser.y"
{
OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3141,9 +3146,9 @@ yyreduce:
}
break;
- case 214:
+ case 215:
/* Line 1792 of yacc.c */
-#line 868 "util/configparser.y"
+#line 869 "util/configparser.y"
{
OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3154,9 +3159,9 @@ yyreduce:
}
break;
- case 215:
+ case 216:
/* Line 1792 of yacc.c */
-#line 878 "util/configparser.y"
+#line 879 "util/configparser.y"
{
OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3167,9 +3172,9 @@ yyreduce:
}
break;
- case 216:
+ case 217:
/* Line 1792 of yacc.c */
-#line 888 "util/configparser.y"
+#line 889 "util/configparser.y"
{
OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str)))
@@ -3177,9 +3182,9 @@ yyreduce:
}
break;
- case 217:
+ case 218:
/* Line 1792 of yacc.c */
-#line 895 "util/configparser.y"
+#line 896 "util/configparser.y"
{
OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
@@ -3187,9 +3192,9 @@ yyreduce:
}
break;
- case 218:
+ case 219:
/* Line 1792 of yacc.c */
-#line 902 "util/configparser.y"
+#line 903 "util/configparser.y"
{
OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
@@ -3197,9 +3202,9 @@ yyreduce:
}
break;
- case 219:
+ case 220:
/* Line 1792 of yacc.c */
-#line 909 "util/configparser.y"
+#line 910 "util/configparser.y"
{
OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3209,9 +3214,9 @@ yyreduce:
}
break;
- case 220:
+ case 221:
/* Line 1792 of yacc.c */
-#line 918 "util/configparser.y"
+#line 919 "util/configparser.y"
{
OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3221,9 +3226,9 @@ yyreduce:
}
break;
- case 221:
+ case 222:
/* Line 1792 of yacc.c */
-#line 927 "util/configparser.y"
+#line 928 "util/configparser.y"
{
OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3233,9 +3238,9 @@ yyreduce:
}
break;
- case 222:
+ case 223:
/* Line 1792 of yacc.c */
-#line 936 "util/configparser.y"
+#line 937 "util/configparser.y"
{
OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
@@ -3243,9 +3248,9 @@ yyreduce:
}
break;
- case 223:
+ case 224:
/* Line 1792 of yacc.c */
-#line 943 "util/configparser.y"
+#line 944 "util/configparser.y"
{
OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3256,9 +3261,9 @@ yyreduce:
}
break;
- case 224:
+ case 225:
/* Line 1792 of yacc.c */
-#line 953 "util/configparser.y"
+#line 954 "util/configparser.y"
{
OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
@@ -3276,9 +3281,9 @@ yyreduce:
}
break;
- case 225:
+ case 226:
/* Line 1792 of yacc.c */
-#line 970 "util/configparser.y"
+#line 971 "util/configparser.y"
{
OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->module_conf);
@@ -3286,9 +3291,9 @@ yyreduce:
}
break;
- case 226:
+ case 227:
/* Line 1792 of yacc.c */
-#line 977 "util/configparser.y"
+#line 978 "util/configparser.y"
{
OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3307,9 +3312,9 @@ yyreduce:
}
break;
- case 227:
+ case 228:
/* Line 1792 of yacc.c */
-#line 995 "util/configparser.y"
+#line 996 "util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3323,9 +3328,9 @@ yyreduce:
}
break;
- case 228:
+ case 229:
/* Line 1792 of yacc.c */
-#line 1008 "util/configparser.y"
+#line 1009 "util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3339,9 +3344,9 @@ yyreduce:
}
break;
- case 229:
+ case 230:
/* Line 1792 of yacc.c */
-#line 1021 "util/configparser.y"
+#line 1022 "util/configparser.y"
{
OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3351,9 +3356,9 @@ yyreduce:
}
break;
- case 230:
+ case 231:
/* Line 1792 of yacc.c */
-#line 1030 "util/configparser.y"
+#line 1031 "util/configparser.y"
{
OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3363,9 +3368,9 @@ yyreduce:
}
break;
- case 231:
+ case 232:
/* Line 1792 of yacc.c */
-#line 1039 "util/configparser.y"
+#line 1040 "util/configparser.y"
{
OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3375,9 +3380,9 @@ yyreduce:
}
break;
- case 232:
+ case 233:
/* Line 1792 of yacc.c */
-#line 1048 "util/configparser.y"
+#line 1049 "util/configparser.y"
{
OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3387,9 +3392,9 @@ yyreduce:
}
break;
- case 233:
+ case 234:
/* Line 1792 of yacc.c */
-#line 1057 "util/configparser.y"
+#line 1058 "util/configparser.y"
{
OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3400,9 +3405,9 @@ yyreduce:
}
break;
- case 234:
+ case 235:
/* Line 1792 of yacc.c */
-#line 1067 "util/configparser.y"
+#line 1068 "util/configparser.y"
{
OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3413,9 +3418,9 @@ yyreduce:
}
break;
- case 235:
+ case 236:
/* Line 1792 of yacc.c */
-#line 1077 "util/configparser.y"
+#line 1078 "util/configparser.y"
{
OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3425,9 +3430,9 @@ yyreduce:
}
break;
- case 236:
+ case 237:
/* Line 1792 of yacc.c */
-#line 1086 "util/configparser.y"
+#line 1087 "util/configparser.y"
{
OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3437,9 +3442,9 @@ yyreduce:
}
break;
- case 237:
+ case 238:
/* Line 1792 of yacc.c */
-#line 1095 "util/configparser.y"
+#line 1096 "util/configparser.y"
{
OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations);
@@ -3447,9 +3452,9 @@ yyreduce:
}
break;
- case 238:
+ case 239:
/* Line 1792 of yacc.c */
-#line 1102 "util/configparser.y"
+#line 1103 "util/configparser.y"
{
OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3459,9 +3464,9 @@ yyreduce:
}
break;
- case 239:
+ case 240:
/* Line 1792 of yacc.c */
-#line 1111 "util/configparser.y"
+#line 1112 "util/configparser.y"
{
OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3471,9 +3476,9 @@ yyreduce:
}
break;
- case 240:
+ case 241:
/* Line 1792 of yacc.c */
-#line 1120 "util/configparser.y"
+#line 1121 "util/configparser.y"
{
OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3483,9 +3488,22 @@ yyreduce:
}
break;
- case 241:
+ case 242:
+/* Line 1792 of yacc.c */
+#line 1130 "util/configparser.y"
+ {
+ OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->permit_small_holddown =
+ (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 243:
/* Line 1792 of yacc.c */
-#line 1129 "util/configparser.y"
+#line 1139 "util/configparser.y"
{
OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
@@ -3494,9 +3512,9 @@ yyreduce:
}
break;
- case 242:
+ case 244:
/* Line 1792 of yacc.c */
-#line 1137 "util/configparser.y"
+#line 1147 "util/configparser.y"
{
OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3510,9 +3528,9 @@ yyreduce:
}
break;
- case 243:
+ case 245:
/* Line 1792 of yacc.c */
-#line 1150 "util/configparser.y"
+#line 1160 "util/configparser.y"
{
OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
@@ -3521,9 +3539,9 @@ yyreduce:
}
break;
- case 244:
+ case 246:
/* Line 1792 of yacc.c */
-#line 1158 "util/configparser.y"
+#line 1168 "util/configparser.y"
{
OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
@@ -3548,9 +3566,9 @@ yyreduce:
}
break;
- case 245:
+ case 247:
/* Line 1792 of yacc.c */
-#line 1182 "util/configparser.y"
+#line 1192 "util/configparser.y"
{
OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
@@ -3558,9 +3576,9 @@ yyreduce:
}
break;
- case 246:
+ case 248:
/* Line 1792 of yacc.c */
-#line 1189 "util/configparser.y"
+#line 1199 "util/configparser.y"
{
char* ptr;
OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
@@ -3576,9 +3594,9 @@ yyreduce:
}
break;
- case 247:
+ case 249:
/* Line 1792 of yacc.c */
-#line 1204 "util/configparser.y"
+#line 1214 "util/configparser.y"
{
OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3589,9 +3607,9 @@ yyreduce:
}
break;
- case 248:
+ case 250:
/* Line 1792 of yacc.c */
-#line 1214 "util/configparser.y"
+#line 1224 "util/configparser.y"
{
OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3602,9 +3620,9 @@ yyreduce:
}
break;
- case 249:
+ case 251:
/* Line 1792 of yacc.c */
-#line 1224 "util/configparser.y"
+#line 1234 "util/configparser.y"
{
OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
@@ -3612,9 +3630,9 @@ yyreduce:
}
break;
- case 250:
+ case 252:
/* Line 1792 of yacc.c */
-#line 1231 "util/configparser.y"
+#line 1241 "util/configparser.y"
{
OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dns64_prefix);
@@ -3622,9 +3640,9 @@ yyreduce:
}
break;
- case 251:
+ case 253:
/* Line 1792 of yacc.c */
-#line 1238 "util/configparser.y"
+#line 1248 "util/configparser.y"
{
OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3634,9 +3652,9 @@ yyreduce:
}
break;
- case 252:
+ case 254:
/* Line 1792 of yacc.c */
-#line 1247 "util/configparser.y"
+#line 1257 "util/configparser.y"
{
OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3646,9 +3664,9 @@ yyreduce:
}
break;
- case 253:
+ case 255:
/* Line 1792 of yacc.c */
-#line 1256 "util/configparser.y"
+#line 1266 "util/configparser.y"
{
OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size))
@@ -3657,9 +3675,9 @@ yyreduce:
}
break;
- case 254:
+ case 256:
/* Line 1792 of yacc.c */
-#line 1264 "util/configparser.y"
+#line 1274 "util/configparser.y"
{
OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3673,9 +3691,9 @@ yyreduce:
}
break;
- case 255:
+ case 257:
/* Line 1792 of yacc.c */
-#line 1277 "util/configparser.y"
+#line 1287 "util/configparser.y"
{
OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
@@ -3689,9 +3707,9 @@ yyreduce:
}
break;
- case 256:
+ case 258:
/* Line 1792 of yacc.c */
-#line 1290 "util/configparser.y"
+#line 1300 "util/configparser.y"
{
OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
@@ -3705,9 +3723,9 @@ yyreduce:
}
break;
- case 257:
+ case 259:
/* Line 1792 of yacc.c */
-#line 1303 "util/configparser.y"
+#line 1313 "util/configparser.y"
{
OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3717,9 +3735,9 @@ yyreduce:
}
break;
- case 258:
+ case 260:
/* Line 1792 of yacc.c */
-#line 1312 "util/configparser.y"
+#line 1322 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->stubs->name)
@@ -3730,9 +3748,9 @@ yyreduce:
}
break;
- case 259:
+ case 261:
/* Line 1792 of yacc.c */
-#line 1322 "util/configparser.y"
+#line 1332 "util/configparser.y"
{
OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
@@ -3740,9 +3758,9 @@ yyreduce:
}
break;
- case 260:
+ case 262:
/* Line 1792 of yacc.c */
-#line 1329 "util/configparser.y"
+#line 1339 "util/configparser.y"
{
OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
@@ -3750,9 +3768,9 @@ yyreduce:
}
break;
- case 261:
+ case 263:
/* Line 1792 of yacc.c */
-#line 1336 "util/configparser.y"
+#line 1346 "util/configparser.y"
{
OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3762,9 +3780,9 @@ yyreduce:
}
break;
- case 262:
+ case 264:
/* Line 1792 of yacc.c */
-#line 1345 "util/configparser.y"
+#line 1355 "util/configparser.y"
{
OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3775,9 +3793,9 @@ yyreduce:
}
break;
- case 263:
+ case 265:
/* Line 1792 of yacc.c */
-#line 1355 "util/configparser.y"
+#line 1365 "util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->forwards->name)
@@ -3788,9 +3806,9 @@ yyreduce:
}
break;
- case 264:
+ case 266:
/* Line 1792 of yacc.c */
-#line 1365 "util/configparser.y"
+#line 1375 "util/configparser.y"
{
OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
@@ -3798,9 +3816,9 @@ yyreduce:
}
break;
- case 265:
+ case 267:
/* Line 1792 of yacc.c */
-#line 1372 "util/configparser.y"
+#line 1382 "util/configparser.y"
{
OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
@@ -3808,9 +3826,9 @@ yyreduce:
}
break;
- case 266:
+ case 268:
/* Line 1792 of yacc.c */
-#line 1379 "util/configparser.y"
+#line 1389 "util/configparser.y"
{
OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3820,17 +3838,17 @@ yyreduce:
}
break;
- case 267:
+ case 269:
/* Line 1792 of yacc.c */
-#line 1388 "util/configparser.y"
+#line 1398 "util/configparser.y"
{
OUTYY(("\nP(remote-control:)\n"));
}
break;
- case 278:
+ case 280:
/* Line 1792 of yacc.c */
-#line 1399 "util/configparser.y"
+#line 1409 "util/configparser.y"
{
OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3841,9 +3859,9 @@ yyreduce:
}
break;
- case 279:
+ case 281:
/* Line 1792 of yacc.c */
-#line 1409 "util/configparser.y"
+#line 1419 "util/configparser.y"
{
OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3853,9 +3871,9 @@ yyreduce:
}
break;
- case 280:
+ case 282:
/* Line 1792 of yacc.c */
-#line 1418 "util/configparser.y"
+#line 1428 "util/configparser.y"
{
OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
@@ -3863,9 +3881,9 @@ yyreduce:
}
break;
- case 281:
+ case 283:
/* Line 1792 of yacc.c */
-#line 1425 "util/configparser.y"
+#line 1435 "util/configparser.y"
{
OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3876,9 +3894,9 @@ yyreduce:
}
break;
- case 282:
+ case 284:
/* Line 1792 of yacc.c */
-#line 1435 "util/configparser.y"
+#line 1445 "util/configparser.y"
{
OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_key_file);
@@ -3886,9 +3904,9 @@ yyreduce:
}
break;
- case 283:
+ case 285:
/* Line 1792 of yacc.c */
-#line 1442 "util/configparser.y"
+#line 1452 "util/configparser.y"
{
OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_cert_file);
@@ -3896,9 +3914,9 @@ yyreduce:
}
break;
- case 284:
+ case 286:
/* Line 1792 of yacc.c */
-#line 1449 "util/configparser.y"
+#line 1459 "util/configparser.y"
{
OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_key_file);
@@ -3906,9 +3924,9 @@ yyreduce:
}
break;
- case 285:
+ case 287:
/* Line 1792 of yacc.c */
-#line 1456 "util/configparser.y"
+#line 1466 "util/configparser.y"
{
OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_cert_file);
@@ -3916,17 +3934,17 @@ yyreduce:
}
break;
- case 286:
+ case 288:
/* Line 1792 of yacc.c */
-#line 1463 "util/configparser.y"
+#line 1473 "util/configparser.y"
{
OUTYY(("\nP(dnstap:)\n"));
}
break;
- case 301:
+ case 303:
/* Line 1792 of yacc.c */
-#line 1480 "util/configparser.y"
+#line 1490 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3935,9 +3953,9 @@ yyreduce:
}
break;
- case 302:
+ case 304:
/* Line 1792 of yacc.c */
-#line 1488 "util/configparser.y"
+#line 1498 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_socket_path);
@@ -3945,9 +3963,9 @@ yyreduce:
}
break;
- case 303:
+ case 305:
/* Line 1792 of yacc.c */
-#line 1495 "util/configparser.y"
+#line 1505 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3956,9 +3974,9 @@ yyreduce:
}
break;
- case 304:
+ case 306:
/* Line 1792 of yacc.c */
-#line 1503 "util/configparser.y"
+#line 1513 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3967,9 +3985,9 @@ yyreduce:
}
break;
- case 305:
+ case 307:
/* Line 1792 of yacc.c */
-#line 1511 "util/configparser.y"
+#line 1521 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_identity);
@@ -3977,9 +3995,9 @@ yyreduce:
}
break;
- case 306:
+ case 308:
/* Line 1792 of yacc.c */
-#line 1518 "util/configparser.y"
+#line 1528 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_version);
@@ -3987,9 +4005,9 @@ yyreduce:
}
break;
- case 307:
+ case 309:
/* Line 1792 of yacc.c */
-#line 1525 "util/configparser.y"
+#line 1535 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3999,9 +4017,9 @@ yyreduce:
}
break;
- case 308:
+ case 310:
/* Line 1792 of yacc.c */
-#line 1534 "util/configparser.y"
+#line 1544 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -4011,9 +4029,9 @@ yyreduce:
}
break;
- case 309:
+ case 311:
/* Line 1792 of yacc.c */
-#line 1543 "util/configparser.y"
+#line 1553 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -4023,9 +4041,9 @@ yyreduce:
}
break;
- case 310:
+ case 312:
/* Line 1792 of yacc.c */
-#line 1552 "util/configparser.y"
+#line 1562 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -4035,9 +4053,9 @@ yyreduce:
}
break;
- case 311:
+ case 313:
/* Line 1792 of yacc.c */
-#line 1561 "util/configparser.y"
+#line 1571 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -4047,9 +4065,9 @@ yyreduce:
}
break;
- case 312:
+ case 314:
/* Line 1792 of yacc.c */
-#line 1570 "util/configparser.y"
+#line 1580 "util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -4059,17 +4077,17 @@ yyreduce:
}
break;
- case 313:
+ case 315:
/* Line 1792 of yacc.c */
-#line 1579 "util/configparser.y"
+#line 1589 "util/configparser.y"
{
OUTYY(("\nP(python:)\n"));
}
break;
- case 317:
+ case 319:
/* Line 1792 of yacc.c */
-#line 1588 "util/configparser.y"
+#line 1598 "util/configparser.y"
{
OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->python_script);
@@ -4079,7 +4097,7 @@ yyreduce:
/* Line 1792 of yacc.c */
-#line 4083 "util/configparser.c"
+#line 4101 "util/configparser.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4311,7 +4329,7 @@ yyreturn:
/* Line 2055 of yacc.c */
-#line 1593 "util/configparser.y"
+#line 1603 "util/configparser.y"
/* parse helper routines could be here */
diff --git a/util/configparser.h b/util/configparser.h
index cd62350858ef..582b8a1372b3 100644
--- a/util/configparser.h
+++ b/util/configparser.h
@@ -203,7 +203,8 @@ extern int yydebug;
VAR_RATELIMIT_BELOW_DOMAIN = 412,
VAR_RATELIMIT_FACTOR = 413,
VAR_CAPS_WHITELIST = 414,
- VAR_CACHE_MAX_NEGATIVE_TTL = 415
+ VAR_CACHE_MAX_NEGATIVE_TTL = 415,
+ VAR_PERMIT_SMALL_HOLDDOWN = 416
};
#endif
/* Tokens. */
@@ -365,6 +366,7 @@ extern int yydebug;
#define VAR_RATELIMIT_FACTOR 413
#define VAR_CAPS_WHITELIST 414
#define VAR_CACHE_MAX_NEGATIVE_TTL 415
+#define VAR_PERMIT_SMALL_HOLDDOWN 416
@@ -378,7 +380,7 @@ typedef union YYSTYPE
/* Line 2058 of yacc.c */
-#line 382 "util/configparser.h"
+#line 384 "util/configparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/util/configparser.y b/util/configparser.y
index ad7f3d292cc8..d6db3c86f7dd 100644
--- a/util/configparser.y
+++ b/util/configparser.y
@@ -121,7 +121,7 @@ extern struct config_parser_state* cfg_parser;
%token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT
%token VAR_RATELIMIT VAR_RATELIMIT_SLABS VAR_RATELIMIT_SIZE
%token VAR_RATELIMIT_FOR_DOMAIN VAR_RATELIMIT_BELOW_DOMAIN VAR_RATELIMIT_FACTOR
-%token VAR_CAPS_WHITELIST VAR_CACHE_MAX_NEGATIVE_TTL
+%token VAR_CAPS_WHITELIST VAR_CACHE_MAX_NEGATIVE_TTL VAR_PERMIT_SMALL_HOLDDOWN
%%
toplevelvars: /* empty */ | toplevelvars toplevelvar ;
@@ -185,7 +185,8 @@ content_server: server_num_threads | server_verbosity | server_port |
server_ip_transparent | server_ratelimit | server_ratelimit_slabs |
server_ratelimit_size | server_ratelimit_for_domain |
server_ratelimit_below_domain | server_ratelimit_factor |
- server_caps_whitelist | server_cache_max_negative_ttl
+ server_caps_whitelist | server_cache_max_negative_ttl |
+ server_permit_small_holddown
;
stubstart: VAR_STUB_ZONE
{
@@ -1125,6 +1126,15 @@ server_keep_missing: VAR_KEEP_MISSING STRING_ARG
free($2);
}
;
+server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG
+ {
+ OUTYY(("P(server_permit_small_holddown:%s)\n", $2));
+ if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+ yyerror("expected yes or no.");
+ else cfg_parser->cfg->permit_small_holddown =
+ (strcmp($2, "yes")==0);
+ free($2);
+ }
server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG
{
OUTYY(("P(server_key_cache_size:%s)\n", $2));
diff --git a/util/data/msgencode.c b/util/data/msgencode.c
index f9a8c5f67296..43464e9bbe0c 100644
--- a/util/data/msgencode.c
+++ b/util/data/msgencode.c
@@ -283,7 +283,7 @@ compress_owner(struct ub_packed_rrset_key* key, sldns_buffer* pkt,
size_t owner_pos, uint16_t* owner_ptr, int owner_labs)
{
struct compress_tree_node* p;
- struct compress_tree_node** insertpt;
+ struct compress_tree_node** insertpt = NULL;
if(!*owner_ptr) {
/* compress first time dname */
if((p = compress_tree_lookup(tree, key->rk.dname,
diff --git a/util/iana_ports.inc b/util/iana_ports.inc
index fb3290cc48fd..64edf0b02ec7 100644
--- a/util/iana_ports.inc
+++ b/util/iana_ports.inc
@@ -3840,6 +3840,8 @@
4404,
4405,
4406,
+4412,
+4413,
4425,
4426,
4430,
@@ -4666,6 +4668,7 @@
7725,
7726,
7727,
+7728,
7734,
7738,
7741,
@@ -4780,6 +4783,7 @@
8301,
8320,
8321,
+8322,
8351,
8376,
8377,
@@ -5170,6 +5174,8 @@
17220,
17221,
17222,
+17224,
+17225,
17234,
17235,
17500,
diff --git a/util/net_help.c b/util/net_help.c
index 8b39af6b3b0d..07605b19f92d 100644
--- a/util/net_help.c
+++ b/util/net_help.c
@@ -629,9 +629,9 @@ void* listen_sslctx_create(char* key, char* pem, char* verifypem)
SSL_CTX_free(ctx);
return NULL;
}
- if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
+ if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) {
log_err("error for cert file: %s", pem);
- log_crypto_err("error in SSL_CTX use_certificate_file");
+ log_crypto_err("error in SSL_CTX use_certificate_chain_file");
SSL_CTX_free(ctx);
return NULL;
}
@@ -647,6 +647,23 @@ void* listen_sslctx_create(char* key, char* pem, char* verifypem)
SSL_CTX_free(ctx);
return NULL;
}
+#if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO
+ if(!SSL_CTX_set_ecdh_auto(ctx,1)) {
+ log_crypto_err("Error in SSL_CTX_ecdh_auto, not enabling ECDHE");
+ }
+#elif defined(USE_ECDSA)
+ if(1) {
+ EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1);
+ if (!ecdh) {
+ log_crypto_err("could not find p256, not enabling ECDHE");
+ } else {
+ if (1 != SSL_CTX_set_tmp_ecdh (ctx, ecdh)) {
+ log_crypto_err("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE");
+ }
+ EC_KEY_free (ecdh);
+ }
+ }
+#endif
if(verifypem && verifypem[0]) {
if(!SSL_CTX_load_verify_locations(ctx, verifypem, NULL)) {
@@ -684,7 +701,7 @@ void* connect_sslctx_create(char* key, char* pem, char* verifypem)
return NULL;
}
if(key && key[0]) {
- if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) {
+ if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) {
log_err("error in client certificate %s", pem);
log_crypto_err("error in certificate file");
SSL_CTX_free(ctx);
diff --git a/validator/autotrust.c b/validator/autotrust.c
index d90eec9eb0d1..e63b086e6a09 100644
--- a/validator/autotrust.c
+++ b/validator/autotrust.c
@@ -1225,7 +1225,7 @@ verify_dnskey(struct module_env* env, struct val_env* ve,
{
char* reason = NULL;
uint8_t sigalg[ALGO_NEEDS_MAX+1];
- int downprot = 1;
+ int downprot = env->cfg->harden_algo_downgrade;
enum sec_status sec = val_verify_DNSKEY_with_TA(env, ve, rrset,
tp->ds_rrset, tp->dnskey_rrset, downprot?sigalg:NULL, &reason);
/* sigalg is ignored, it returns algorithms signalled to exist, but
@@ -1447,9 +1447,11 @@ set_tp_times(struct trust_anchor* tp, time_t rrsig_exp_interval,
if(rrsig_exp_interval/2 < x)
x = rrsig_exp_interval/2;
/* MAX(1hr, x) */
- if(x < 3600)
- tp->autr->query_interval = 3600;
- else tp->autr->query_interval = x;
+ if(!autr_permit_small_holddown) {
+ if(x < 3600)
+ tp->autr->query_interval = 3600;
+ else tp->autr->query_interval = x;
+ } else tp->autr->query_interval = x;
/* x= MIN(1day, ttl/10, expire/10) */
x = 24 * 3600;
@@ -1458,9 +1460,11 @@ set_tp_times(struct trust_anchor* tp, time_t rrsig_exp_interval,
if(rrsig_exp_interval/10 < x)
x = rrsig_exp_interval/10;
/* MAX(1hr, x) */
- if(x < 3600)
- tp->autr->retry_time = 3600;
- else tp->autr->retry_time = x;
+ if(!autr_permit_small_holddown) {
+ if(x < 3600)
+ tp->autr->retry_time = 3600;
+ else tp->autr->retry_time = x;
+ } else tp->autr->retry_time = x;
if(qi != tp->autr->query_interval || rt != tp->autr->retry_time) {
*changed = 1;
@@ -1959,8 +1963,12 @@ calc_next_probe(struct module_env* env, time_t wait)
{
/* make it random, 90-100% */
time_t rnd, rest;
- if(wait < 3600)
- wait = 3600;
+ if(!autr_permit_small_holddown) {
+ if(wait < 3600)
+ wait = 3600;
+ } else {
+ if(wait == 0) wait = 1;
+ }
rnd = wait/10;
rest = wait-rnd;
rnd = (time_t)ub_random_max(env->rnd, (long int)rnd);
@@ -2349,6 +2357,8 @@ todo_probe(struct module_env* env, time_t* next)
if( (el=rbtree_first(&env->anchors->autr->probe)) == RBTREE_NULL) {
/* in case of revoked anchors */
lock_basic_unlock(&env->anchors->lock);
+ /* signal that there are no anchors to probe */
+ *next = 0;
return NULL;
}
tp = (struct trust_anchor*)el->key;
@@ -2378,6 +2388,7 @@ autr_probe_timer(struct module_env* env)
struct trust_anchor* tp;
time_t next_probe = 3600;
int num = 0;
+ if(autr_permit_small_holddown) next_probe = 1;
verbose(VERB_ALGO, "autotrust probe timer callback");
/* while there are still anchors to probe */
while( (tp = todo_probe(env, &next_probe)) ) {
@@ -2386,7 +2397,7 @@ autr_probe_timer(struct module_env* env)
num++;
}
regional_free_all(env->scratch);
- if(num == 0)
+ if(next_probe == 0)
return 0; /* no trust points to probe */
verbose(VERB_ALGO, "autotrust probe timer %d callbacks done", num);
return next_probe;
diff --git a/validator/val_sigcrypt.c b/validator/val_sigcrypt.c
index 7c643cab141d..a2f126529380 100644
--- a/validator/val_sigcrypt.c
+++ b/validator/val_sigcrypt.c
@@ -795,10 +795,6 @@ canonical_compare(struct ub_packed_rrset_key* rrset, size_t i, size_t j)
if(i==j)
return 0;
- /* in case rdata-len is to be compared for canonical order
- c = memcmp(d->rr_data[i], d->rr_data[j], 2);
- if(c != 0)
- return c; */
switch(type) {
/* These RR types have only a name as RDATA.
diff --git a/validator/validator.c b/validator/validator.c
index 74068659f010..f8b429e52b58 100644
--- a/validator/validator.c
+++ b/validator/validator.c
@@ -2769,7 +2769,7 @@ process_dnskey_response(struct module_qstate* qstate, struct val_qstate* vq,
vq->state = VAL_VALIDATE_STATE;
return;
}
- downprot = 1;
+ downprot = qstate->env->cfg->harden_algo_downgrade;
vq->key_entry = val_verify_new_DNSKEYs(qstate->region, qstate->env,
ve, dnskey, vq->ds_rrset, downprot, &reason);
diff --git a/winrc/setup.nsi b/winrc/setup.nsi
index bf47165f385a..b291b9f6b3d0 100644
--- a/winrc/setup.nsi
+++ b/winrc/setup.nsi
@@ -1,6 +1,8 @@
# The NSIS (http://nsis.sourceforge.net) install script.
# This script is BSD licensed.
-SetCompressor /solid /final lzma
+
+# use the default compression to help anti-virus in scanning us
+#SetCompressor /solid /final lzma
!include LogicLib.nsh
!include MUI2.nsh