From 9b4b0de74630dd92b79612de4a75e69e1342f58f Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Thu, 5 Jan 2017 11:39:54 +0000 Subject: [PATCH] - Fix #1184: Log DNS replies. This includes the same logging information that DNS queries and response code and response size, patch from Larissa Feng. git-svn-id: file:///svn/unbound/trunk@3980 be551aaa-1e26-0410-a405-d3ace91eadb9 --- daemon/worker.c | 6 + doc/Changelog | 3 + doc/example.conf.in | 4 + doc/unbound.conf.5.in | 7 + services/mesh.c | 6 + util/config_file.c | 3 + util/config_file.h | 2 + util/configlexer.c | 2704 +++++++++++++++++++++-------------------- util/configlexer.lex | 1 + util/configparser.c | 1952 ++++++++++++++--------------- util/configparser.h | 240 ++-- util/configparser.y | 14 +- util/data/msgreply.c | 34 +- util/data/msgreply.h | 19 +- 14 files changed, 2558 insertions(+), 2437 deletions(-) diff --git a/daemon/worker.c b/daemon/worker.c index 41df6cdca..32dd6f9ef 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -1085,6 +1085,12 @@ send_reply_rc: dt_msg_send_client_response(&worker->dtenv, &repinfo->addr, c->type, c->buffer); #endif + if(worker->env.cfg->log_replies) + { + struct timeval tv = {0, 0}; + log_reply_info(0, &qinfo, &repinfo->addr, repinfo->addrlen, + tv, 1, c->buffer); + } return rc; } diff --git a/doc/Changelog b/doc/Changelog index b04aae73c..152fd4995 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,6 +1,9 @@ 5 January 2017: Wouter - Fix to return formerr for queries for meta-types, to avoid packet amplification if this meta-type is sent on to upstream. + - Fix #1184: Log DNS replies. This includes the same logging + information that DNS queries and response code and response size, + patch from Larissa Feng. 3 January 2017: Wouter - configure --enable-systemd and lets unbound use systemd sockets if diff --git a/doc/example.conf.in b/doc/example.conf.in index 1c42eba23..95f13fa49 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -292,6 +292,10 @@ server: # print one line with time, IP, name, type, class for every query. # log-queries: no + # print one line per reply, with time, IP, name, type, class, rcode, + # timetoresolve, fromcache and responsesize. + # log-replies: no + # the pid file. Can be an absolute path outside of chroot/work dir. # pidfile: "@UNBOUND_PIDFILE@" diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 12efc1652..516fbdbc3 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -557,6 +557,13 @@ name, type and class. Default is no. Note that it takes time to print these lines which makes the server (significantly) slower. Odd (nonprintable) characters in names are printed as '?'. .TP +.B log\-replies: \fI +Prints one line per reply to the log, with the log timestamp and IP address, +name, type, class, return code, time to resolve, from cache and response size. +Default is no. Note that it takes time to print these +lines which makes the server (significantly) slower. Odd (nonprintable) +characters in names are printed as '?'. +.TP .B pidfile: \fI The process id is written to the file. Default is "@UNBOUND_PIDFILE@". So, diff --git a/services/mesh.c b/services/mesh.c index 83a01ede8..fc7e20de0 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -1019,6 +1019,12 @@ mesh_send_reply(struct mesh_state* m, int rcode, struct reply_info* rep, query_reply.c->buffer)) == 0) m->s.env->mesh->ans_nodata++; } + /* Log reply sent */ + if(m->s.env->cfg->log_replies) { + log_reply_info(0, &m->s.qinfo, &r->query_reply.addr, + r->query_reply.addrlen, duration, 0, + r->query_reply.c->buffer); + } } void mesh_query_done(struct mesh_state* mstate) diff --git a/util/config_file.c b/util/config_file.c index 50f8b3032..19b360c53 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -108,6 +108,7 @@ config_create(void) cfg->log_identity = NULL; /* changed later with argv[0] */ cfg->log_time_ascii = 0; cfg->log_queries = 0; + cfg->log_replies = 0; #ifndef USE_WINSOCK # ifdef USE_MINI_EVENT /* select max 1024 sockets */ @@ -458,6 +459,7 @@ int config_set_option(struct config_file* cfg, const char* opt, else S_NUMBER_OR_ZERO("val-log-level:", val_log_level) else S_YNO("val-log-squelch:", val_log_squelch) else S_YNO("log-queries:", log_queries) + else S_YNO("log-replies:", log_replies) else S_YNO("val-permissive-mode:", val_permissive_mode) else S_YNO("ignore-cd-flag:", ignore_cd) else S_YNO("serve-expired:", serve_expired) @@ -736,6 +738,7 @@ config_get_option(struct config_file* cfg, const char* opt, else O_STR(opt, "directory", directory) else O_STR(opt, "logfile", logfile) else O_YNO(opt, "log-queries", log_queries) + else O_YNO(opt, "log-replies", log_replies) else O_STR(opt, "pidfile", pidfile) else O_YNO(opt, "hide-identity", hide_identity) else O_YNO(opt, "hide-version", hide_version) diff --git a/util/config_file.h b/util/config_file.h index e4ed22895..a141eb598 100644 --- a/util/config_file.h +++ b/util/config_file.h @@ -229,6 +229,8 @@ struct config_file { int log_time_ascii; /** log queries with one line per query */ int log_queries; + /** log replies with one line per reply */ + int log_replies; /** log identity to report */ char* log_identity; diff --git a/util/configlexer.c b/util/configlexer.c index 338f49192..52fd30206 100644 --- a/util/configlexer.c +++ b/util/configlexer.c @@ -378,8 +378,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 198 -#define YY_END_OF_BUFFER 199 +#define YY_NUM_RULES 199 +#define YY_END_OF_BUFFER 200 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -387,223 +387,224 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1961] = +static yyconst flex_int16_t yy_accept[1969] = { 0, - 1, 1, 180, 180, 184, 184, 188, 188, 192, 192, - 1, 1, 199, 196, 1, 178, 178, 197, 2, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 180, 181, 181, 182, 197, 184, 185, 185, 186, 197, - 191, 188, 189, 189, 190, 197, 192, 193, 193, 194, - 197, 195, 179, 2, 183, 197, 195, 196, 0, 1, - 2, 2, 2, 2, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 1, 1, 181, 181, 185, 185, 189, 189, 193, 193, + 1, 1, 200, 197, 1, 179, 179, 198, 2, 198, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 181, 182, 182, 183, 198, 185, 186, 186, 187, 198, + 192, 189, 190, 190, 191, 198, 193, 194, 194, 195, + 198, 196, 180, 2, 184, 198, 196, 197, 0, 1, + 2, 2, 2, 2, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 180, 0, - 184, 0, 191, 0, 188, 192, 0, 195, 0, 2, - 2, 195, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 181, 0, + 185, 0, 192, 0, 189, 193, 0, 196, 0, 2, + 2, 196, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 195, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 195, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 196, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 196, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 77, - 196, 196, 196, 196, 196, 196, 8, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 88, 195, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 77, 197, 197, 197, 197, 197, 197, 8, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 88, 196, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 195, 196, 196, - 196, 196, 196, 37, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 196, + 197, 197, 197, 197, 197, 37, 197, 197, 197, 197, - 196, 196, 196, 196, 158, 196, 14, 15, 196, 18, - 17, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 144, 196, 196, 196, 196, - 196, 196, 196, 196, 3, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 195, 196, + 197, 197, 197, 197, 197, 197, 159, 197, 14, 15, + 197, 18, 17, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 145, 197, + 197, 197, 197, 197, 197, 197, 197, 3, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 187, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 40, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 41, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 20, 196, 196, 196, 196, 196, + 197, 196, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 188, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 40, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 41, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 20, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 96, 196, 187, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 112, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 95, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 75, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 96, 197, 188, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 112, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 95, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 75, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 25, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 38, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 39, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 28, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 25, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 38, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 39, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 28, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 172, 196, 196, 196, 196, 196, 196, 196, - 32, 196, 33, 196, 196, 196, 78, 196, 79, 196, - 196, 76, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 7, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 151, 196, 196, 196, 196, 98, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 173, 197, + 197, 197, 197, 197, 197, 197, 32, 197, 33, 197, + 197, 197, 78, 197, 79, 197, 197, 76, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 7, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 152, + 197, 197, 197, 197, 98, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 29, 196, 196, 196, 196, 196, 196, - 127, 196, 126, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 16, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 42, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 81, 80, 196, 196, 196, 196, 196, 196, 196, 196, - 122, 196, 196, 196, 196, 196, 196, 196, 196, 89, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 60, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 29, + 197, 197, 197, 197, 197, 197, 128, 197, 127, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 16, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 42, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 81, 80, 197, + 197, 197, 197, 197, 197, 197, 197, 122, 197, 197, + 197, 197, 197, 197, 197, 197, 89, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 64, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 36, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 125, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 6, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 26, - 196, 196, 196, 196, 196, 196, 196, 196, 118, 196, + 197, 60, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 64, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 36, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 125, 126, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 6, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 26, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 137, 196, - 119, 196, 196, 149, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 27, 196, 196, 196, 196, 84, - 196, 85, 196, 83, 196, 196, 196, 196, 196, 196, - 196, 94, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 120, 196, 196, 196, 196, 196, - 123, 196, 148, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 74, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 34, 196, 196, 22, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 118, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 138, 197, 119, 197, + 197, 150, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 27, 197, 197, 197, 197, 84, 197, 85, + 197, 83, 197, 197, 197, 197, 197, 197, 197, 94, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 120, 197, 197, 197, 197, 197, 123, 197, + 149, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 74, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 19, 196, 103, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 49, 51, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 159, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 86, 196, 196, 196, 196, 196, 196, 196, - 93, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 97, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 143, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 111, 196, 196, 196, 196, + 34, 197, 197, 22, 197, 197, 197, 197, 19, 197, + 103, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 49, 51, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 160, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 86, 197, 197, 197, 197, 197, 197, 197, 93, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 97, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 144, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 107, - 196, 113, 196, 196, 196, 196, 196, 92, 196, 196, - 70, 196, 135, 196, 196, 196, 196, 196, 150, 196, - 196, 196, 196, 196, 196, 196, 164, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 110, - 196, 196, 196, 196, 196, 52, 53, 196, 196, 35, - 59, 114, 196, 128, 196, 152, 124, 196, 196, 45, - 196, 116, 196, 196, 196, 196, 196, 9, 196, 196, - 196, 73, 196, 196, 196, 196, 174, 196, 134, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 111, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 107, 197, 113, + 197, 197, 197, 197, 197, 92, 197, 197, 70, 197, + 136, 197, 197, 197, 197, 197, 151, 197, 197, 197, + 197, 197, 197, 197, 165, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 110, 197, 197, + 197, 197, 197, 52, 53, 197, 197, 35, 59, 114, + 197, 129, 197, 153, 124, 197, 197, 45, 197, 116, + 197, 197, 197, 197, 197, 9, 197, 197, 197, 73, + 197, 197, 197, 197, 175, 197, 135, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 99, 163, 196, 196, 196, 196, 196, 196, 196, 196, - 145, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 115, 196, 196, - 44, 46, 196, 196, 196, 196, 196, 196, 196, 72, - 196, 196, 196, 196, 173, 196, 196, 196, 196, 139, - 23, 24, 196, 196, 196, 196, 196, 196, 196, 196, - 69, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 141, 138, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 99, 164, + 197, 197, 197, 197, 197, 197, 197, 197, 146, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 115, 197, 197, 44, 46, + 197, 197, 197, 197, 197, 197, 197, 72, 197, 197, + 197, 197, 174, 197, 197, 197, 197, 140, 23, 24, + 197, 197, 197, 197, 197, 197, 197, 197, 69, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 43, 196, 196, 196, 196, 196, - 196, 196, 196, 13, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 12, 196, 196, 21, 196, 196, - 196, 177, 196, 47, 196, 147, 140, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 106, - 105, 196, 196, 196, 196, 142, 136, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 54, 196, 196, - 196, 146, 196, 196, 196, 196, 196, 196, 196, 196, - 48, 196, 196, 82, 196, 100, 102, 129, 196, 196, + 197, 142, 139, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 43, 197, 197, 197, 197, 197, 197, 197, + 197, 13, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 12, 197, 197, 21, 197, 197, 197, 178, + 197, 47, 197, 148, 141, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 106, 105, 197, + 197, 197, 197, 143, 137, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 54, 197, 197, 197, 147, + 197, 197, 197, 197, 197, 197, 197, 197, 48, 197, - 196, 104, 196, 196, 153, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 160, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 130, - 196, 196, 196, 30, 196, 196, 196, 196, 4, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 156, 196, 196, 196, 196, 196, 196, 196, 196, 162, - 196, 196, 133, 196, 196, 196, 196, 196, 196, 196, - 196, 57, 196, 31, 157, 196, 11, 196, 196, 196, - 196, 196, 196, 131, 61, 196, 196, 196, 109, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 161, + 197, 82, 197, 100, 102, 130, 197, 197, 197, 104, + 197, 197, 154, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 161, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 131, 197, 197, + 197, 30, 197, 197, 197, 197, 4, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 157, 197, + 197, 197, 197, 197, 197, 197, 197, 163, 197, 197, + 134, 197, 197, 197, 197, 197, 197, 197, 197, 57, + 197, 31, 158, 197, 11, 197, 197, 197, 197, 197, + 197, 132, 61, 197, 197, 197, 109, 197, 197, 197, - 90, 196, 87, 196, 196, 196, 63, 67, 62, 196, - 55, 196, 10, 196, 196, 196, 175, 196, 196, 108, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 68, 66, 196, 56, 196, 121, 196, - 196, 132, 196, 196, 196, 196, 101, 50, 196, 196, - 196, 196, 196, 196, 196, 91, 65, 58, 196, 176, - 196, 196, 196, 155, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 71, 196, 154, 171, 196, 196, 196, - 196, 196, 196, 5, 196, 196, 196, 196, 196, 196, + 197, 197, 197, 197, 197, 197, 197, 162, 90, 197, + 87, 197, 197, 197, 63, 67, 62, 197, 55, 197, + 10, 197, 197, 197, 176, 197, 197, 108, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 68, 66, 197, 56, 197, 121, 197, 197, 133, + 197, 197, 197, 197, 101, 50, 197, 197, 197, 197, + 197, 197, 197, 91, 65, 58, 197, 177, 197, 197, + 197, 156, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 71, 197, 155, 172, 197, 197, 197, 197, 197, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 117, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 167, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 165, 196, - 168, 169, 196, 196, 196, 196, 196, 166, 170, 0 + 197, 5, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 117, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 168, 197, 197, 197, 197, 197, 197, 197, + 197, 197, 197, 197, 197, 197, 166, 197, 169, 170, + 197, 197, 197, 197, 197, 167, 171, 0 } ; static yyconst YY_CHAR yy_ec[256] = @@ -646,23 +647,23 @@ static yyconst YY_CHAR yy_meta[40] = 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_uint16_t yy_base[1975] = +static yyconst flex_uint16_t yy_base[1983] = { 0, 0, 0, 37, 40, 44, 51, 63, 75, 56, 68, - 87, 108, 1941, 1871, 50, 3872, 3872, 3872, 129, 94, + 87, 108, 2641, 2517, 50, 3886, 3886, 3886, 129, 94, 70, 104, 130, 90, 109, 106, 127, 111, 84, 122, 146, 148, 50, 170, 136, 158, 152, 180, 168, 191, - 1674, 3872, 3872, 3872, 70, 1503, 3872, 3872, 3872, 42, - 1423, 1366, 3872, 3872, 3872, 210, 1187, 3872, 3872, 3872, - 141, 955, 3872, 214, 3872, 218, 140, 911, 224, 167, + 2475, 3886, 3886, 3886, 70, 1858, 3886, 3886, 3886, 42, + 1703, 1444, 3886, 3886, 3886, 210, 1332, 3886, 3886, 3886, + 141, 1259, 3886, 214, 3886, 218, 140, 1188, 224, 167, 0, 235, 0, 0, 92, 162, 164, 174, 193, 217, 230, 219, 103, 178, 233, 225, 220, 221, 241, 243, 244, 189, 249, 247, 256, 245, 252, 255, 254, 260, 265, 268, 138, 272, 270, 271, 276, 280, 281, 287, 273, 285, 282, 288, 289, 290, 295, 303, 300, 305, - 297, 307, 308, 314, 317, 318, 310, 319, 665, 329, - 592, 122, 458, 342, 373, 327, 347, 222, 351, 355, + 297, 307, 308, 314, 317, 318, 310, 319, 1145, 329, + 665, 122, 458, 342, 373, 327, 347, 222, 351, 355, 0, 332, 348, 356, 350, 352, 354, 357, 341, 358, 368, 359, 370, 379, 377, 398, 380, 366, 378, 382, 49, 384, 386, 311, 389, 393, 376, 390, 396, 409, @@ -684,411 +685,413 @@ static yyconst flex_uint16_t yy_base[1975] = 692, 694, 702, 698, 700, 709, 699, 710, 711, 703, 713, 712, 718, 720, 721, 723, 724, 725, 736, 728, 734, 731, 741, 739, 744, 750, 748, 742, 756, 759, - 758, 746, 760, 761, 764, 765, 770, 763, 771, 3872, - 776, 774, 778, 779, 780, 781, 3872, 783, 782, 785, - 792, 789, 791, 797, 809, 811, 790, 794, 810, 807, - 808, 816, 817, 837, 819, 821, 818, 825, 823, 824, - 827, 833, 841, 831, 835, 849, 848, 850, 852, 851, - 854, 855, 859, 3872, 862, 874, 868, 861, 871, 875, - 877, 878, 886, 882, 885, 887, 891, 889, 893, 900, + 758, 746, 760, 761, 763, 764, 771, 769, 766, 776, + 3886, 778, 773, 780, 781, 782, 783, 3886, 785, 784, + 786, 796, 789, 792, 793, 811, 812, 799, 808, 809, + 810, 814, 815, 816, 836, 818, 820, 817, 827, 823, + 828, 840, 824, 845, 843, 847, 850, 834, 851, 856, + 854, 857, 860, 864, 3886, 867, 874, 866, 868, 872, + 879, 881, 877, 888, 882, 890, 884, 891, 892, 897, - 897, 904, 906, 913, 915, 917, 923, 898, 920, 907, - 924, 927, 929, 930, 901, 936, 932, 934, 938, 939, - 942, 940, 944, 945, 952, 951, 953, 961, 962, 963, - 964, 966, 954, 969, 978, 974, 972, 976, 983, 982, - 984, 990, 986, 994, 992, 996, 1004, 993, 997, 1007, - 1005, 1008, 1012, 1020, 1016, 1009, 1021, 1013, 1022, 1024, - 1025, 1029, 1027, 1032, 1030, 1034, 1035, 1042, 1038, 1039, - 1051, 1055, 1049, 1041, 1054, 1044, 1056, 1061, 1062, 1064, - 1072, 1073, 1065, 1074, 1066, 1076, 1079, 1080, 1084, 1082, - 1089, 1091, 1093, 3872, 1099, 1095, 1097, 1096, 1098, 1109, + 903, 901, 905, 907, 915, 909, 912, 922, 900, 918, + 919, 920, 930, 927, 928, 926, 934, 932, 935, 936, + 940, 941, 943, 945, 951, 952, 953, 954, 955, 963, + 964, 956, 960, 966, 967, 970, 979, 978, 977, 985, + 986, 975, 976, 992, 989, 1000, 996, 997, 1006, 998, + 1003, 1009, 1008, 1007, 1013, 1020, 1012, 1021, 1022, 1023, + 1026, 1027, 1028, 1029, 1030, 1032, 1031, 1034, 1035, 1042, + 1036, 1038, 1051, 1054, 1045, 1059, 1060, 1043, 1061, 1063, + 1066, 1065, 1068, 1075, 1067, 1077, 1069, 1079, 1081, 1082, + 1083, 1088, 1089, 1094, 1091, 3886, 1101, 1097, 1098, 1099, - 1103, 1105, 1106, 1132, 3872, 1107, 3872, 3872, 1112, 3872, - 3872, 1117, 1113, 1114, 1120, 1130, 1155, 1128, 1124, 1127, - 1135, 1140, 1136, 1145, 1134, 1147, 1153, 1160, 1161, 1168, - 1150, 1164, 1171, 1172, 1175, 1177, 1165, 1178, 1181, 1183, - 1193, 1194, 1195, 1185, 1197, 1199, 1200, 1201, 1202, 1203, - 1211, 1204, 1208, 1217, 1214, 3872, 1215, 1219, 1220, 1221, - 1225, 1227, 403, 1229, 3872, 1230, 1231, 1234, 1237, 1238, - 1239, 1241, 1243, 1244, 1245, 1249, 1253, 1252, 1248, 1268, - 1256, 1261, 1274, 1277, 1278, 1270, 1271, 1279, 1273, 1280, - 1290, 1292, 1286, 1287, 1293, 1296, 1298, 1299, 1302, 1303, + 1104, 1112, 1105, 1106, 1108, 1134, 3886, 1114, 3886, 3886, + 1109, 3886, 3886, 1116, 1115, 1119, 1127, 1135, 1157, 1131, + 1120, 1137, 1141, 1148, 1142, 1150, 1140, 1165, 1163, 1167, + 1172, 1152, 1160, 1171, 1173, 1174, 1180, 1178, 1118, 1183, + 1184, 1185, 1187, 1194, 1200, 1199, 1197, 1198, 1204, 1205, + 1208, 1207, 1209, 1211, 1215, 1217, 1221, 1218, 3886, 1220, + 1222, 1227, 1219, 1234, 1226, 403, 1236, 3886, 1232, 1238, + 1240, 1242, 1244, 1245, 1246, 1248, 1249, 1250, 1251, 1256, + 1257, 1258, 1273, 1254, 1263, 1275, 1281, 1278, 1279, 1280, + 1283, 1284, 1285, 1294, 1287, 1291, 1293, 1301, 1295, 1303, - 1305, 1306, 1307, 1308, 1310, 1332, 1311, 1315, 1313, 1314, - 1320, 1321, 1329, 1326, 1333, 1323, 1342, 1344, 1345, 1338, - 1346, 1351, 1354, 1361, 1363, 1368, 1358, 1366, 1364, 1372, - 1379, 1377, 1373, 1375, 1383, 1386, 1388, 3872, 1395, 1393, - 1391, 1398, 1404, 1400, 1397, 1403, 1401, 1406, 1407, 1408, - 1409, 1414, 1418, 1421, 1424, 3872, 1420, 1422, 1427, 1431, - 1432, 1441, 1425, 1443, 1450, 1435, 3872, 1433, 1452, 1453, - 1455, 1456, 1459, 1460, 1461, 1462, 1463, 1464, 1466, 1467, - 1468, 1469, 1476, 1478, 1483, 1473, 1486, 1487, 1488, 1490, - 1493, 1499, 1495, 1496, 3872, 1497, 1508, 1498, 1502, 1517, + 1299, 1308, 1297, 1310, 1304, 1311, 1313, 1316, 1337, 1318, + 1320, 1326, 1322, 1321, 1328, 1329, 1330, 1331, 1350, 1349, + 1351, 1333, 1355, 1339, 1357, 1359, 1367, 1373, 1374, 1376, + 1363, 1370, 1377, 1378, 1381, 1383, 1385, 1387, 1395, 1392, + 3886, 1402, 1398, 1390, 1403, 1410, 1407, 1404, 1352, 1408, + 1411, 1413, 1414, 1415, 1417, 1418, 1421, 1425, 1427, 3886, + 1426, 1428, 1429, 1436, 1437, 1443, 1440, 1450, 1452, 1453, + 3886, 1439, 1459, 1456, 1461, 1462, 1463, 1465, 1467, 1468, + 1469, 1470, 1472, 1473, 1475, 1479, 1482, 1485, 1489, 1474, + 1491, 1493, 1496, 1497, 1499, 1505, 1501, 1502, 3886, 1503, - 1518, 1504, 1516, 1523, 1520, 1524, 1525, 1530, 1527, 1531, - 1528, 1529, 3872, 1532, 186, 1534, 1535, 1533, 1541, 1549, - 1552, 1555, 1542, 1558, 1559, 1546, 1543, 1563, 1565, 1566, - 1568, 1569, 1571, 1573, 1574, 1575, 1577, 1581, 1578, 1584, - 1586, 1590, 1591, 1593, 1595, 1597, 3872, 1598, 1601, 1603, - 1605, 1606, 1607, 1608, 1609, 1611, 1613, 1617, 1615, 1619, - 1625, 3872, 1627, 1626, 1629, 1633, 1636, 1635, 1643, 1644, - 1645, 1648, 1651, 1646, 1657, 1660, 1662, 1656, 1666, 1668, - 1670, 1672, 1673, 1658, 1680, 1683, 1681, 1650, 1688, 1684, - 1691, 1682, 3872, 1690, 1692, 1695, 1696, 1715, 1698, 1699, + 1510, 1508, 1504, 1514, 1523, 1520, 1522, 1525, 1526, 1528, + 1529, 1534, 1531, 1537, 1532, 1533, 3886, 1536, 186, 1538, + 1539, 1540, 1548, 1561, 1557, 1559, 1553, 1563, 1565, 1566, + 1550, 1568, 1571, 1572, 1574, 1576, 1578, 1579, 1580, 1582, + 1584, 1587, 1588, 1544, 1592, 1595, 1593, 1597, 1601, 1599, + 3886, 1603, 1605, 1608, 1609, 1611, 1612, 1613, 1615, 1617, + 1621, 1624, 1620, 1622, 1627, 3886, 1637, 1629, 1633, 1631, + 1640, 1644, 1653, 1646, 1647, 1649, 1654, 1655, 1662, 1658, + 1663, 1660, 1666, 1670, 1672, 1674, 1676, 1677, 1678, 1684, + 1685, 1682, 1686, 1697, 1688, 1694, 1693, 3886, 1695, 1701, - 1701, 1703, 1711, 1716, 1700, 1722, 1723, 1727, 3872, 1728, - 1719, 1729, 1733, 1730, 1736, 1737, 1739, 1741, 1743, 1744, - 1745, 1746, 1754, 1747, 1752, 1757, 1756, 3872, 1766, 1767, - 1768, 1775, 1771, 1759, 1772, 1777, 1774, 1779, 1781, 1787, - 1786, 1785, 1784, 1789, 1790, 1788, 1792, 1793, 1797, 1810, - 1795, 1798, 3872, 1801, 1824, 1812, 1814, 1813, 1816, 1831, - 1825, 1827, 1828, 1832, 1833, 1834, 1835, 1836, 1837, 1842, - 1840, 1843, 1848, 1846, 1849, 1844, 1845, 1865, 1852, 1866, - 1867, 1854, 1868, 1870, 1873, 1880, 1882, 1885, 1887, 3872, - 1890, 1879, 1881, 1892, 1893, 1894, 1901, 1903, 1895, 1904, + 1700, 1698, 1710, 1708, 1702, 1712, 1714, 1723, 1719, 1724, + 1726, 1727, 1730, 3886, 1731, 1733, 1735, 1740, 1736, 1744, + 1741, 1745, 1748, 1750, 1752, 1751, 1753, 1760, 1755, 1762, + 1764, 1763, 3886, 1772, 1774, 1775, 1782, 1778, 1765, 1779, + 1786, 1781, 1783, 1788, 1794, 1792, 1793, 1795, 1791, 1796, + 1798, 1799, 1802, 1800, 1815, 1804, 1816, 3886, 1810, 1831, + 1808, 1825, 1832, 1822, 1828, 1835, 1837, 1819, 1840, 1841, + 1842, 1843, 1844, 1845, 1850, 1846, 1851, 1853, 1854, 1855, + 1852, 1857, 1872, 1873, 1856, 1875, 1876, 1877, 1860, 1880, + 1887, 1893, 1889, 1894, 3886, 1897, 1898, 1886, 1900, 1892, - 1905, 1906, 1908, 1910, 1914, 1911, 1912, 1917, 1918, 1919, - 1920, 1925, 1921, 1926, 1934, 1939, 1942, 1944, 1943, 1945, - 1949, 1951, 3872, 1935, 1959, 1960, 1963, 1950, 1952, 1966, - 3872, 1964, 3872, 1969, 1975, 1978, 3872, 1980, 3872, 1984, - 1971, 3872, 1985, 1989, 1977, 1981, 1986, 1991, 1993, 1995, - 1997, 1998, 2002, 1999, 2004, 2005, 2007, 2011, 3872, 2013, - 2010, 2017, 2019, 2022, 2014, 2023, 2024, 2025, 2030, 2035, - 2041, 2029, 2042, 3872, 2038, 2047, 2039, 2044, 3872, 2048, - 2053, 2051, 2055, 2056, 2065, 2061, 2064, 2071, 2057, 2067, - 2083, 2068, 2077, 2079, 2080, 2086, 2084, 2090, 2087, 2088, + 1899, 1908, 1914, 1901, 1910, 1911, 1912, 1915, 1916, 1917, + 1924, 1920, 1925, 1926, 1927, 1922, 1928, 1932, 1933, 1937, + 1938, 1943, 1948, 1951, 1952, 1954, 1956, 1958, 3886, 1959, + 1962, 1966, 1968, 1957, 1967, 1978, 3886, 1970, 3886, 1976, + 1982, 1985, 3886, 1990, 3886, 1992, 1984, 3886, 1993, 1994, + 1986, 1974, 1997, 1998, 2002, 2005, 2006, 2007, 2008, 2012, + 2013, 2014, 2016, 2015, 3886, 2022, 2019, 2025, 2028, 2026, + 2023, 2030, 2032, 2033, 2036, 2040, 2047, 2044, 2051, 3886, + 2048, 2055, 2049, 2052, 3886, 2056, 2059, 2057, 2061, 2067, + 2071, 2072, 2065, 2078, 2063, 2076, 2087, 2089, 2075, 2084, - 2092, 2094, 2096, 2097, 2101, 2102, 2103, 2105, 2109, 2106, - 2107, 2108, 2111, 3872, 2113, 2119, 2120, 2123, 2125, 2128, - 3872, 2131, 3872, 2129, 2139, 2133, 2140, 2141, 2143, 2142, - 2147, 2149, 2153, 2163, 2150, 2155, 2160, 2165, 2164, 2169, - 3872, 2166, 2167, 2171, 2173, 2174, 2177, 2175, 2184, 2186, - 3872, 2192, 2188, 2194, 2200, 2197, 2198, 2207, 2201, 2208, - 3872, 3872, 2205, 2212, 2209, 2210, 2213, 2221, 2215, 2219, - 3872, 2226, 2223, 2229, 2230, 2234, 2236, 2238, 2227, 3872, - 2240, 2245, 2242, 2246, 2248, 2249, 2251, 2257, 2254, 2258, - 2259, 2263, 2264, 2269, 3872, 2272, 2271, 2274, 2275, 2278, + 2086, 2096, 2092, 2099, 2095, 2100, 2102, 2104, 2098, 2107, + 2108, 2110, 2111, 2112, 2119, 2113, 2115, 2117, 2120, 3886, + 2122, 2129, 2130, 2132, 2137, 2126, 3886, 2136, 3886, 2138, + 2144, 2148, 2150, 2152, 2154, 2155, 2140, 2160, 2158, 2166, + 2174, 2162, 2165, 2168, 2171, 2175, 2176, 3886, 2177, 2179, + 2180, 2183, 2184, 2187, 2189, 2194, 2195, 3886, 2201, 2198, + 2200, 2212, 2208, 2209, 2215, 2211, 2217, 3886, 3886, 2218, + 2219, 2221, 2222, 2223, 2230, 2228, 2231, 3886, 2233, 2235, + 2239, 2236, 2245, 2246, 2238, 2248, 3886, 2252, 2254, 2256, + 2257, 2260, 2261, 2258, 2268, 2262, 2265, 2269, 2279, 2281, - 2279, 2281, 2282, 2284, 2285, 2286, 2290, 2292, 2300, 2296, - 2299, 2301, 2303, 2304, 2309, 2298, 2311, 2312, 2320, 2322, - 3872, 2328, 2313, 2332, 2314, 2330, 2333, 2340, 2336, 2326, - 2337, 2343, 2341, 3872, 2342, 2344, 2352, 2345, 2353, 2347, - 2358, 2359, 2363, 3872, 2364, 2369, 2366, 2370, 2374, 2372, - 2375, 2378, 2379, 3872, 2382, 2389, 2385, 2386, 2396, 2397, - 2400, 2401, 2394, 2388, 2390, 2402, 2407, 2411, 2412, 2415, - 2413, 2417, 2418, 2419, 2420, 2421, 2425, 2431, 2435, 2422, - 2427, 2432, 2444, 2446, 2454, 2455, 2437, 2448, 2456, 3872, - 2457, 2458, 2459, 2440, 2466, 2464, 2472, 2468, 3872, 2470, + 2286, 3886, 2282, 2280, 2291, 2276, 2292, 2293, 2294, 2295, + 2296, 2298, 2299, 2300, 2304, 2313, 2305, 2309, 2311, 2317, + 2312, 2322, 2314, 2324, 2325, 2338, 2327, 3886, 2339, 2318, + 2342, 2340, 2344, 2345, 2352, 2341, 2348, 2349, 2356, 2350, + 3886, 2357, 2358, 2362, 2359, 2363, 2366, 2367, 2372, 2375, + 3886, 3886, 2378, 2377, 2380, 2259, 2381, 2382, 2383, 2388, + 2391, 3886, 2392, 2398, 2396, 2394, 2404, 2405, 2403, 2406, + 2409, 2410, 2412, 2413, 2417, 2415, 2419, 2421, 2423, 2424, + 2426, 2428, 2429, 2427, 2440, 2437, 2447, 2434, 2442, 2444, + 2454, 2451, 2462, 2463, 2452, 2459, 2465, 3886, 2467, 2466, - 2474, 2477, 2479, 2481, 2482, 2484, 2485, 2483, 3872, 2490, - 3872, 2493, 2487, 3872, 2494, 2498, 2500, 2502, 2503, 2504, - 2505, 2507, 2513, 2510, 3872, 2514, 2516, 2518, 2519, 3872, - 2530, 3872, 2517, 3872, 2522, 2525, 2536, 1246, 2540, 2542, - 2546, 3872, 2543, 2532, 2547, 2549, 2535, 2551, 2553, 2554, - 2538, 2555, 2557, 2559, 3872, 2562, 2569, 2560, 2568, 2574, - 3872, 2575, 3872, 2572, 2583, 2561, 2580, 2588, 2589, 2591, - 2592, 2593, 2600, 2597, 2598, 2599, 3872, 2601, 2603, 2605, - 2608, 2606, 2612, 2619, 2618, 2622, 2615, 2616, 2629, 2634, - 2626, 2630, 3872, 2636, 2638, 3872, 2637, 2639, 2640, 2644, + 2468, 2469, 2477, 2473, 2481, 2474, 3886, 2482, 2483, 2488, + 2490, 2491, 2492, 2496, 2493, 2497, 3886, 2500, 3886, 2504, + 2502, 3886, 2503, 2509, 2510, 2512, 2513, 2516, 2518, 2519, + 2525, 2523, 3886, 2526, 2528, 2532, 2533, 3886, 2540, 3886, + 2529, 3886, 2534, 2536, 2548, 2544, 2551, 2553, 2557, 3886, + 2547, 2558, 2559, 2562, 2563, 2564, 2565, 2567, 2566, 2568, + 2569, 2570, 3886, 2575, 2572, 2573, 2581, 2587, 3886, 2588, + 3886, 2582, 2599, 2585, 2595, 2601, 2602, 2604, 2605, 2593, + 2615, 2612, 2606, 2608, 3886, 2614, 2618, 2621, 2624, 2622, + 2626, 2634, 2630, 2636, 2627, 2631, 2642, 2648, 2641, 2645, - 3872, 2645, 3872, 2646, 2647, 2648, 2654, 2656, 2657, 2665, - 2649, 2667, 2669, 2670, 2677, 2653, 2675, 3872, 3872, 2679, - 2680, 2682, 2684, 2686, 2687, 2693, 2691, 2700, 3872, 2690, - 2692, 2694, 2701, 2702, 2703, 2704, 2709, 2706, 2711, 2713, - 2712, 2714, 3872, 2722, 2719, 2723, 2724, 2725, 2727, 2728, - 3872, 2730, 2731, 2732, 2736, 2735, 2751, 2754, 2756, 2744, - 2757, 2761, 2763, 2765, 2758, 2767, 2768, 2772, 2774, 2769, - 3872, 2775, 2779, 2776, 2782, 2783, 2784, 2737, 2791, 2794, - 2785, 2787, 2789, 2797, 3872, 2798, 2799, 2800, 2805, 2811, - 2806, 2813, 2803, 2816, 2814, 3872, 2819, 2821, 2820, 2824, + 3886, 2649, 2651, 3886, 2652, 2653, 2658, 2655, 3886, 2660, + 3886, 2661, 2659, 2662, 2663, 2669, 2670, 2678, 2664, 2680, + 2681, 2675, 2690, 2691, 2682, 3886, 3886, 2693, 2694, 2696, + 2697, 2700, 2701, 2709, 2705, 2707, 3886, 2708, 2711, 2713, + 2714, 2715, 2717, 2718, 2722, 2723, 2724, 2725, 2726, 2728, + 3886, 2731, 2732, 2737, 2738, 2741, 2742, 2743, 3886, 2745, + 2746, 2740, 2751, 2756, 2758, 2767, 2771, 2748, 2760, 2775, + 2777, 2779, 2768, 2781, 2772, 2783, 2785, 2786, 3886, 2788, + 2792, 2789, 2795, 2796, 2797, 2798, 2799, 2807, 2802, 2804, + 2809, 2811, 3886, 2812, 2813, 2816, 2818, 2824, 2820, 2826, - 2827, 2828, 2830, 2832, 2834, 2840, 2836, 2844, 2838, 3872, - 2841, 3872, 2846, 2851, 2858, 2856, 2854, 3872, 2860, 2859, - 3872, 2866, 3872, 2864, 2872, 2862, 2869, 2871, 3872, 2880, - 2873, 2883, 2885, 2886, 2888, 2889, 3872, 2891, 2893, 2899, - 2901, 2892, 2894, 2902, 2904, 2903, 2905, 2918, 2909, 3872, - 2911, 2917, 2924, 2920, 2929, 3872, 3872, 2921, 2925, 3872, - 3872, 3872, 2933, 3872, 2930, 3872, 3872, 2934, 2937, 3872, - 2941, 3872, 2943, 2944, 2942, 2946, 2947, 3872, 2950, 2949, - 2954, 3872, 2951, 2962, 2955, 2956, 3872, 2964, 3872, 2965, - 2972, 2966, 2976, 2978, 2983, 2985, 2967, 2975, 2986, 2988, + 2817, 2829, 2833, 3886, 2834, 2835, 2827, 2837, 2838, 2844, + 2848, 2841, 2845, 2851, 2847, 2862, 2863, 3886, 2855, 3886, + 2864, 2865, 2874, 2870, 2858, 3886, 2868, 2872, 3886, 2876, + 3886, 2882, 2884, 2877, 2886, 2891, 3886, 2893, 2887, 2894, + 2896, 2899, 2900, 2902, 3886, 2905, 2904, 2911, 2912, 2906, + 2914, 2915, 2916, 2918, 2922, 2928, 2924, 3886, 2921, 2931, + 2940, 2925, 2939, 3886, 3886, 2932, 2942, 3886, 3886, 3886, + 2945, 3886, 2947, 3886, 3886, 2948, 2950, 3886, 2952, 3886, + 2959, 2955, 2957, 2958, 2961, 3886, 2960, 2962, 2964, 3886, + 2967, 2975, 2968, 2969, 3886, 2972, 3886, 2977, 2981, 2978, - 2989, 2990, 2991, 2992, 2995, 2997, 2998, 2999, 3003, 3004, - 3007, 3008, 3005, 3011, 3010, 3013, 3015, 3023, 3026, 3030, - 3872, 3872, 3017, 3027, 3033, 3034, 3035, 3036, 3039, 3040, - 3872, 3043, 3038, 3046, 3051, 3048, 3049, 3050, 3053, 3052, - 3060, 3066, 3062, 3070, 3065, 3072, 3073, 3872, 3074, 3075, - 3872, 3872, 3076, 3078, 3087, 3082, 3088, 3090, 3091, 3872, - 3092, 3098, 3100, 3101, 3872, 3104, 3105, 3109, 3111, 3872, - 3872, 3872, 3112, 3115, 3116, 3117, 3118, 3120, 3119, 3122, - 3872, 3121, 3127, 3128, 3131, 3135, 3140, 3141, 3142, 3149, - 3145, 3152, 3154, 3872, 3872, 3143, 3160, 3157, 3158, 3159, + 2985, 2988, 2994, 2996, 2989, 2991, 2997, 2999, 3000, 3002, + 3003, 3004, 3006, 3007, 3010, 3013, 3015, 3017, 3018, 3019, + 3021, 3022, 3023, 3026, 3029, 3038, 3043, 3046, 3886, 3886, + 3035, 3039, 3027, 3044, 3050, 3048, 3051, 3052, 3886, 3061, + 3054, 3056, 3058, 3062, 3066, 3067, 3070, 3071, 3073, 3080, + 3076, 3078, 3079, 3082, 3081, 3886, 3083, 3088, 3886, 3886, + 3089, 3096, 3103, 3091, 3095, 3105, 3108, 3886, 3100, 3110, + 3117, 3111, 3886, 3119, 3120, 3122, 3126, 3886, 3886, 3886, + 3127, 3123, 3129, 3131, 3130, 3132, 3133, 3136, 3886, 3134, + 3138, 3141, 3147, 3151, 3154, 3148, 3156, 3163, 3159, 3166, - 3162, 3164, 3165, 3166, 3872, 3171, 3175, 3167, 3169, 3179, - 3181, 3183, 3186, 3872, 3173, 3176, 3187, 3194, 3189, 3191, - 3197, 3199, 3202, 3204, 3872, 3203, 3205, 3872, 3207, 3213, - 3214, 3872, 3215, 3872, 3220, 3872, 3872, 3217, 3221, 3224, - 3225, 3231, 3233, 3235, 3226, 3236, 3243, 3240, 3241, 3872, - 3872, 3247, 3248, 3249, 3256, 3872, 3872, 3252, 3258, 3254, - 3260, 3253, 3263, 3262, 3264, 3266, 3265, 3267, 3269, 3279, - 3272, 3281, 3282, 3285, 3287, 3289, 3290, 3872, 3292, 3294, - 3293, 3872, 3295, 3300, 3301, 3303, 3304, 3321, 3314, 3306, - 3872, 3308, 3318, 3872, 3307, 3872, 3872, 3872, 3323, 3324, + 3168, 3886, 3886, 3157, 3174, 3171, 3172, 3173, 3176, 3178, + 3179, 3180, 3886, 3185, 3189, 3181, 3183, 3193, 3195, 3197, + 3200, 3886, 3187, 3190, 3201, 3208, 3203, 3205, 3211, 3213, + 3216, 3218, 3886, 3217, 3219, 3886, 3221, 3227, 3228, 3886, + 3229, 3886, 3234, 3886, 3886, 3231, 3235, 3238, 3239, 3245, + 3247, 3249, 3240, 3250, 3257, 3254, 3255, 3886, 3886, 3261, + 3262, 3263, 3270, 3886, 3886, 3266, 3272, 3268, 3274, 3267, + 3277, 3276, 3278, 3280, 3279, 3281, 3283, 3293, 3286, 3295, + 3296, 3299, 3301, 3303, 3304, 3886, 3306, 3308, 3307, 3886, + 3309, 3314, 3315, 3317, 3318, 3335, 3328, 3320, 3886, 3322, - 3322, 3872, 3329, 3335, 3872, 3338, 3333, 3326, 3345, 3341, - 3343, 3347, 3349, 3350, 3352, 3872, 3353, 3354, 3356, 3357, - 3359, 3358, 3360, 3361, 3366, 3368, 3364, 3378, 3379, 3872, - 3382, 3384, 3386, 3872, 3388, 3385, 3371, 3389, 3872, 3392, - 3395, 3396, 3400, 3402, 3397, 3403, 3404, 3407, 3410, 3411, - 3872, 3414, 3417, 3419, 3420, 3421, 3428, 3427, 3430, 3872, - 3432, 3433, 3872, 3435, 3436, 3439, 3438, 3447, 3449, 3451, - 3454, 3872, 3456, 3872, 3872, 3457, 3872, 3461, 3462, 3463, - 3464, 3466, 3467, 3872, 3872, 3469, 3471, 3474, 3872, 3468, - 3475, 3480, 3478, 3481, 3482, 3486, 3487, 3491, 3492, 3872, + 3332, 3886, 3321, 3886, 3886, 3886, 3337, 3338, 3336, 3886, + 3343, 3349, 3886, 3352, 3347, 3340, 3359, 3355, 3357, 3361, + 3363, 3364, 3366, 3886, 3367, 3368, 3370, 3371, 3373, 3372, + 3374, 3375, 3380, 3382, 3378, 3392, 3393, 3886, 3396, 3398, + 3400, 3886, 3402, 3399, 3385, 3403, 3886, 3406, 3409, 3410, + 3414, 3416, 3411, 3417, 3418, 3421, 3424, 3425, 3886, 3428, + 3431, 3433, 3434, 3435, 3442, 3441, 3444, 3886, 3446, 3447, + 3886, 3449, 3450, 3453, 3452, 3461, 3463, 3465, 3468, 3886, + 3470, 3886, 3886, 3471, 3886, 3475, 3476, 3477, 3478, 3480, + 3481, 3886, 3886, 3483, 3485, 3488, 3886, 3482, 3489, 3494, - 3872, 3493, 3872, 3499, 3507, 3510, 3872, 3872, 3872, 3509, - 3872, 3511, 3872, 3517, 3501, 3518, 3872, 3521, 3522, 3872, - 3523, 3494, 3524, 3527, 3529, 3530, 3531, 3533, 3534, 3538, - 3539, 3540, 3546, 3872, 3872, 3550, 3872, 3552, 3872, 3553, - 3558, 3872, 3484, 3560, 3554, 3564, 3872, 3872, 3565, 3547, - 3566, 3567, 3570, 3573, 3571, 3872, 3872, 3872, 3574, 3872, - 3575, 3576, 3578, 3872, 3582, 3581, 3583, 3585, 3584, 3586, - 3590, 3588, 3598, 3595, 3607, 3610, 3612, 3613, 3599, 3601, - 3619, 3615, 3621, 3872, 3622, 3872, 3872, 3623, 3630, 3631, - 3627, 3632, 3628, 3872, 3634, 3633, 3636, 3638, 3635, 3639, + 3492, 3495, 3496, 3500, 3501, 3505, 3506, 3886, 3886, 3507, + 3886, 3513, 3521, 3524, 3886, 3886, 3886, 3523, 3886, 3525, + 3886, 3531, 3515, 3532, 3886, 3535, 3536, 3886, 3537, 3508, + 3538, 3541, 3543, 3544, 3545, 3547, 3548, 3552, 3553, 3554, + 3560, 3886, 3886, 3564, 3886, 3566, 3886, 3567, 3572, 3886, + 3498, 3574, 3568, 3578, 3886, 3886, 3579, 3561, 3580, 3581, + 3584, 3587, 3585, 3886, 3886, 3886, 3588, 3886, 3589, 3590, + 3592, 3886, 3596, 3595, 3597, 3599, 3598, 3600, 3604, 3602, + 3612, 3609, 3621, 3624, 3626, 3627, 3613, 3615, 3633, 3629, + 3635, 3886, 3636, 3886, 3886, 3637, 3644, 3645, 3641, 3646, - 3650, 3640, 3656, 3653, 3660, 3661, 3643, 3668, 3670, 3664, - 3667, 3672, 3678, 3674, 3675, 3872, 3676, 3677, 3679, 3682, - 3683, 3680, 3687, 3689, 3699, 3692, 3694, 3702, 3704, 3705, - 3707, 3708, 3710, 3709, 3872, 3711, 3713, 3717, 3719, 3722, - 3720, 3724, 3725, 3730, 3733, 3732, 3735, 3737, 3872, 3741, - 3872, 3872, 3742, 3745, 3748, 3750, 3752, 3872, 3872, 3872, - 3780, 3787, 3794, 3801, 3808, 94, 3815, 3822, 3829, 3836, - 3843, 3850, 3857, 3864 + 3642, 3886, 3648, 3647, 3650, 3652, 3649, 3653, 3664, 3654, + 3670, 3667, 3674, 3675, 3657, 3682, 3684, 3678, 3681, 3686, + 3692, 3688, 3689, 3886, 3690, 3691, 3693, 3696, 3697, 3694, + 3701, 3703, 3713, 3706, 3708, 3716, 3718, 3719, 3721, 3722, + 3724, 3723, 3886, 3725, 3727, 3731, 3733, 3736, 3734, 3738, + 3739, 3744, 3747, 3746, 3749, 3751, 3886, 3755, 3886, 3886, + 3756, 3759, 3762, 3764, 3766, 3886, 3886, 3886, 3794, 3801, + 3808, 3815, 3822, 94, 3829, 3836, 3843, 3850, 3857, 3864, + 3871, 3878 } ; -static yyconst flex_int16_t yy_def[1975] = +static yyconst flex_int16_t yy_def[1983] = { 0, - 1960, 1, 1961, 1961, 1962, 1962, 1963, 1963, 1964, 1964, - 1965, 1965, 1960, 1966, 1960, 1960, 1960, 1960, 1967, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1968, 1960, 1960, 1960, 1968, 1969, 1960, 1960, 1960, 1969, - 1970, 1960, 1960, 1960, 1960, 1970, 1971, 1960, 1960, 1960, - 1971, 1972, 1960, 1973, 1960, 1972, 1972, 1966, 1966, 1960, - 1974, 1967, 1974, 1967, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1968, 1, 1969, 1969, 1970, 1970, 1971, 1971, 1972, 1972, + 1973, 1973, 1968, 1974, 1968, 1968, 1968, 1968, 1975, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1976, 1968, 1968, 1968, 1976, 1977, 1968, 1968, 1968, 1977, + 1978, 1968, 1968, 1968, 1968, 1978, 1979, 1968, 1968, 1968, + 1979, 1980, 1968, 1981, 1968, 1980, 1980, 1974, 1974, 1968, + 1982, 1975, 1982, 1975, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1968, 1968, - 1969, 1969, 1970, 1970, 1960, 1971, 1971, 1972, 1972, 1973, - 1973, 1972, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1976, 1976, + 1977, 1977, 1978, 1978, 1968, 1979, 1979, 1980, 1980, 1981, + 1981, 1980, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1972, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1972, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1980, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1980, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1972, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1968, 1980, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1972, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1980, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1960, 1966, 1960, 1960, 1966, 1960, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1972, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1968, + 1974, 1968, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, + 1974, 1980, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1972, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1980, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1960, 1966, 1966, 1966, 1960, 1966, 1960, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1974, + 1974, 1974, 1968, 1974, 1968, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1960, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1960, - 1966, 1960, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1966, 1960, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1974, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1968, 1974, 1968, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1960, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, + 1968, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1968, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1968, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1960, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1960, 1960, 1966, 1966, 1960, - 1960, 1960, 1966, 1960, 1966, 1960, 1960, 1966, 1966, 1960, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1960, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1968, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1968, 1968, 1974, 1974, 1968, 1968, 1968, + 1974, 1968, 1974, 1968, 1968, 1974, 1974, 1968, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1960, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1960, - 1960, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1960, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1968, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1968, 1968, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1960, 1966, 1966, - 1966, 1960, 1966, 1960, 1966, 1960, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1960, 1966, 1966, 1966, 1966, 1960, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1960, 1966, 1960, 1960, 1960, 1966, 1966, + 1974, 1968, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1968, 1974, 1974, 1974, 1968, + 1974, 1968, 1974, 1968, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1968, 1974, + 1974, 1974, 1974, 1968, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, - 1966, 1960, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, - 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1960, 1966, 1960, 1960, 1966, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1960, 1966, 1966, 1966, 1960, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, + 1974, 1968, 1974, 1968, 1968, 1968, 1974, 1974, 1974, 1968, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1974, 1968, 1974, 1974, 1974, 1974, 1968, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1974, + 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, + 1974, 1968, 1968, 1974, 1968, 1974, 1974, 1974, 1974, 1974, + 1974, 1968, 1968, 1974, 1974, 1974, 1968, 1974, 1974, 1974, - 1960, 1966, 1960, 1966, 1966, 1966, 1960, 1960, 1960, 1966, - 1960, 1966, 1960, 1966, 1966, 1966, 1960, 1966, 1966, 1960, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1960, 1966, 1960, 1966, 1960, 1966, - 1966, 1960, 1966, 1966, 1966, 1966, 1960, 1960, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1960, 1960, 1966, 1960, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1960, 1960, 1966, 1966, 1966, - 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, 1966, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1968, 1974, + 1968, 1974, 1974, 1974, 1968, 1968, 1968, 1974, 1968, 1974, + 1968, 1974, 1974, 1974, 1968, 1974, 1974, 1968, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1968, 1968, 1974, 1968, 1974, 1968, 1974, 1974, 1968, + 1974, 1974, 1974, 1974, 1968, 1968, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1968, 1968, 1968, 1974, 1968, 1974, 1974, + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1968, 1974, 1968, 1968, 1974, 1974, 1974, 1974, 1974, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1960, 1966, 1966, 1966, 1966, 1966, - 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1966, 1960, 1966, - 1960, 1960, 1966, 1966, 1966, 1966, 1966, 1960, 1960, 0, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960 + 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1968, 1974, 1974, 1974, 1974, 1974, 1974, 1974, + 1974, 1974, 1974, 1974, 1974, 1974, 1968, 1974, 1968, 1968, + 1974, 1974, 1974, 1974, 1974, 1968, 1968, 0, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968 } ; -static yyconst flex_uint16_t yy_nxt[3912] = +static yyconst flex_uint16_t yy_nxt[3926] = { 0, 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, 14, 18, 20, 21, 14, 22, 23, 24, 25, 14, @@ -1137,7 +1140,7 @@ static yyconst flex_uint16_t yy_nxt[3912] = 235, 69, 69, 236, 69, 69, 241, 242, 69, 224, 69, 260, 69, 243, 225, 69, 238, 239, 69, 226, 240, 69, 244, 249, 227, 69, 250, 245, 69, 69, - 228, 229, 247, 251, 248, 253, 69, 256, 69, 678, + 228, 229, 247, 251, 248, 253, 69, 256, 69, 682, 69, 246, 69, 69, 252, 254, 258, 259, 257, 69, 255, 69, 69, 69, 69, 69, 69, 69, 69, 262, 69, 264, 261, 69, 69, 266, 69, 69, 268, 69, @@ -1154,376 +1157,377 @@ static yyconst flex_uint16_t yy_nxt[3912] = 316, 69, 69, 312, 69, 69, 69, 321, 69, 69, 317, 322, 69, 69, 69, 328, 324, 320, 69, 318, 69, 69, 69, 319, 329, 69, 69, 323, 69, 69, - 327, 325, 326, 69, 330, 331, 69, 334, 336, 69, + 327, 325, 326, 69, 330, 331, 69, 335, 337, 69, - 69, 338, 339, 332, 132, 337, 333, 340, 69, 69, - 335, 69, 341, 342, 69, 344, 343, 347, 69, 69, - 345, 69, 349, 346, 348, 69, 69, 69, 69, 354, - 69, 351, 69, 69, 69, 69, 357, 356, 358, 352, - 350, 69, 69, 69, 69, 69, 69, 364, 353, 359, - 355, 363, 69, 69, 69, 69, 366, 360, 365, 369, - 361, 381, 362, 69, 367, 368, 371, 69, 370, 373, - 383, 139, 69, 69, 384, 69, 382, 130, 69, 389, - 69, 69, 372, 69, 69, 374, 375, 69, 387, 69, - 69, 386, 385, 69, 393, 376, 392, 377, 378, 379, + 69, 339, 340, 332, 333, 338, 334, 341, 69, 69, + 336, 69, 342, 343, 69, 345, 344, 348, 69, 69, + 346, 69, 350, 347, 349, 69, 69, 69, 69, 355, + 69, 352, 69, 69, 69, 69, 358, 357, 359, 353, + 351, 69, 69, 69, 69, 69, 69, 365, 354, 360, + 356, 364, 69, 69, 69, 69, 367, 361, 366, 370, + 362, 382, 363, 69, 368, 369, 372, 69, 371, 374, + 384, 139, 69, 69, 385, 69, 383, 132, 69, 390, + 69, 69, 373, 69, 69, 375, 376, 69, 388, 69, + 69, 387, 386, 69, 394, 377, 393, 378, 379, 380, - 388, 390, 380, 395, 69, 394, 69, 391, 69, 399, - 69, 69, 69, 396, 69, 69, 397, 401, 402, 403, - 398, 69, 69, 69, 69, 69, 400, 408, 409, 407, - 69, 404, 69, 69, 410, 69, 69, 69, 405, 406, - 69, 419, 416, 69, 413, 415, 69, 412, 69, 418, - 411, 69, 417, 69, 69, 422, 69, 414, 69, 421, - 69, 423, 69, 424, 420, 425, 428, 426, 69, 427, - 69, 69, 69, 69, 429, 69, 69, 69, 434, 430, - 433, 431, 69, 69, 437, 432, 69, 435, 69, 438, - 69, 69, 69, 69, 69, 69, 436, 69, 440, 448, + 389, 391, 381, 396, 69, 395, 69, 392, 69, 400, + 69, 69, 69, 397, 69, 69, 398, 402, 403, 404, + 399, 69, 69, 69, 69, 69, 401, 409, 410, 408, + 69, 405, 69, 69, 411, 69, 69, 69, 406, 407, + 69, 420, 417, 69, 414, 416, 69, 413, 69, 419, + 412, 69, 418, 69, 69, 423, 69, 415, 69, 422, + 69, 424, 69, 425, 421, 426, 429, 427, 69, 428, + 69, 69, 69, 69, 430, 69, 69, 432, 69, 431, + 435, 69, 433, 69, 436, 69, 437, 434, 69, 439, + 69, 440, 69, 69, 69, 69, 69, 69, 69, 438, - 441, 69, 69, 69, 69, 443, 69, 439, 450, 69, - 449, 447, 442, 444, 446, 445, 452, 451, 453, 69, - 69, 69, 69, 69, 455, 459, 457, 456, 69, 69, - 69, 69, 471, 69, 458, 69, 69, 69, 473, 69, - 475, 454, 472, 69, 460, 69, 470, 69, 461, 69, - 462, 468, 469, 69, 477, 463, 474, 464, 478, 479, - 69, 69, 69, 69, 69, 465, 69, 69, 466, 483, - 476, 69, 484, 69, 139, 467, 480, 487, 488, 481, - 69, 489, 486, 69, 482, 485, 69, 69, 494, 69, - 69, 491, 490, 496, 69, 493, 492, 69, 69, 69, + 442, 69, 443, 450, 69, 69, 441, 445, 69, 452, + 451, 69, 449, 453, 444, 446, 448, 447, 454, 455, + 69, 69, 69, 69, 69, 459, 69, 69, 69, 69, + 69, 461, 69, 457, 473, 69, 69, 460, 475, 69, + 69, 458, 456, 462, 474, 472, 69, 463, 69, 464, + 470, 471, 69, 477, 465, 69, 466, 69, 479, 69, + 476, 478, 69, 69, 467, 483, 69, 468, 69, 69, + 480, 481, 69, 485, 469, 486, 69, 482, 69, 139, + 69, 491, 489, 490, 69, 484, 69, 488, 487, 69, + 492, 69, 496, 69, 69, 498, 69, 494, 493, 495, - 498, 69, 495, 69, 501, 69, 497, 504, 500, 69, - 69, 505, 69, 69, 499, 507, 69, 508, 69, 69, - 509, 502, 506, 69, 503, 69, 510, 69, 511, 69, - 512, 513, 69, 520, 517, 69, 69, 514, 515, 69, - 516, 69, 69, 521, 69, 518, 69, 519, 69, 522, - 69, 69, 69, 524, 69, 528, 69, 69, 525, 532, - 523, 530, 526, 69, 69, 69, 69, 139, 534, 527, - 529, 531, 533, 69, 69, 69, 69, 535, 69, 537, - 538, 69, 541, 540, 69, 543, 69, 545, 69, 539, - 69, 546, 544, 542, 69, 69, 69, 550, 69, 536, + 69, 497, 69, 69, 69, 500, 499, 503, 502, 69, + 506, 501, 69, 69, 507, 69, 509, 69, 510, 69, + 512, 69, 511, 513, 69, 504, 508, 69, 505, 514, + 69, 69, 69, 515, 69, 516, 518, 519, 69, 69, + 69, 523, 69, 520, 69, 521, 69, 69, 69, 524, + 517, 526, 69, 69, 530, 69, 527, 69, 522, 534, + 528, 525, 532, 69, 69, 69, 69, 69, 69, 536, + 529, 537, 69, 531, 535, 69, 69, 533, 69, 69, + 539, 540, 69, 543, 541, 542, 546, 69, 69, 69, + 69, 69, 548, 538, 545, 544, 547, 69, 69, 553, - 547, 552, 69, 551, 69, 69, 69, 553, 69, 69, - 549, 555, 548, 554, 559, 556, 69, 69, 557, 69, - 69, 69, 558, 561, 69, 69, 560, 564, 69, 563, - 566, 565, 69, 69, 69, 568, 69, 69, 562, 69, - 567, 69, 69, 569, 69, 573, 69, 69, 574, 579, - 69, 69, 570, 69, 69, 571, 69, 572, 585, 575, - 576, 69, 578, 69, 582, 577, 69, 69, 69, 580, - 581, 583, 584, 69, 69, 587, 69, 69, 69, 590, - 589, 588, 586, 591, 69, 69, 69, 596, 69, 592, - 593, 69, 139, 595, 69, 594, 69, 599, 601, 600, + 549, 69, 552, 550, 69, 551, 554, 555, 69, 69, + 69, 556, 69, 558, 557, 69, 562, 559, 69, 69, + 69, 69, 564, 560, 69, 69, 569, 567, 561, 563, + 566, 568, 69, 69, 69, 69, 571, 565, 69, 69, + 69, 69, 69, 69, 69, 576, 69, 69, 69, 582, + 69, 577, 570, 572, 69, 69, 573, 69, 574, 578, + 575, 579, 581, 69, 585, 580, 69, 583, 587, 584, + 586, 69, 69, 69, 590, 69, 588, 69, 69, 69, + 69, 69, 592, 593, 594, 595, 591, 69, 589, 69, + 599, 69, 596, 69, 139, 69, 598, 597, 603, 602, - 598, 69, 597, 69, 603, 69, 606, 69, 69, 69, - 69, 69, 604, 608, 605, 69, 611, 69, 69, 69, - 609, 69, 602, 612, 69, 69, 69, 607, 610, 69, - 624, 623, 69, 625, 620, 613, 69, 626, 622, 69, - 69, 621, 69, 614, 69, 634, 69, 69, 69, 615, - 637, 638, 69, 616, 635, 639, 617, 69, 640, 69, - 642, 641, 69, 618, 636, 69, 619, 69, 627, 628, - 643, 629, 69, 69, 630, 644, 69, 69, 645, 631, - 69, 647, 646, 69, 69, 632, 633, 69, 651, 69, - 69, 653, 650, 69, 656, 69, 648, 69, 655, 137, + 69, 69, 601, 69, 604, 600, 69, 606, 609, 69, + 69, 69, 608, 69, 611, 607, 69, 69, 69, 614, + 69, 69, 605, 612, 69, 615, 69, 69, 69, 610, + 69, 69, 69, 626, 613, 627, 616, 625, 624, 69, + 628, 623, 629, 69, 656, 617, 69, 69, 637, 69, + 638, 618, 69, 69, 69, 619, 640, 130, 620, 641, + 69, 642, 69, 643, 69, 621, 649, 644, 622, 69, + 630, 631, 69, 632, 639, 69, 633, 69, 645, 69, + 646, 634, 647, 69, 69, 69, 69, 635, 636, 648, + 69, 650, 69, 654, 653, 69, 69, 69, 660, 69, - 657, 658, 649, 660, 652, 69, 69, 69, 654, 69, - 659, 69, 69, 69, 69, 69, 69, 661, 664, 662, - 69, 665, 667, 69, 670, 668, 69, 69, 669, 69, - 663, 69, 69, 69, 666, 674, 672, 69, 676, 69, - 673, 69, 69, 69, 679, 671, 69, 675, 682, 69, - 69, 69, 680, 69, 677, 69, 69, 69, 69, 688, - 69, 69, 687, 681, 69, 69, 694, 683, 69, 684, - 691, 686, 685, 69, 689, 1348, 690, 692, 693, 695, - 69, 698, 69, 69, 699, 69, 69, 697, 696, 69, - 69, 69, 69, 706, 700, 702, 704, 707, 69, 69, + 69, 661, 659, 651, 652, 655, 69, 662, 658, 69, + 69, 69, 69, 657, 663, 664, 69, 69, 665, 69, + 69, 69, 671, 69, 666, 668, 669, 69, 674, 69, + 69, 69, 69, 69, 69, 667, 672, 673, 69, 69, + 670, 676, 678, 677, 69, 679, 69, 680, 69, 675, + 69, 683, 69, 681, 69, 686, 69, 69, 69, 684, + 69, 69, 69, 69, 692, 685, 69, 691, 69, 69, + 69, 139, 695, 687, 688, 69, 698, 690, 689, 693, + 696, 694, 702, 697, 699, 69, 700, 69, 703, 701, + 69, 69, 69, 69, 704, 69, 69, 69, 710, 69, - 711, 701, 69, 703, 69, 69, 705, 708, 69, 713, - 69, 69, 710, 715, 139, 69, 709, 69, 69, 69, - 69, 717, 69, 69, 728, 69, 69, 69, 712, 714, - 716, 729, 69, 69, 720, 69, 732, 718, 69, 737, - 730, 69, 721, 719, 69, 69, 734, 722, 733, 723, - 69, 731, 735, 724, 69, 725, 69, 69, 69, 736, - 726, 739, 741, 69, 742, 727, 69, 135, 746, 738, - 69, 740, 745, 69, 747, 69, 69, 744, 69, 743, - 69, 748, 753, 754, 69, 69, 749, 69, 750, 69, - 755, 69, 757, 759, 758, 69, 756, 762, 69, 751, + 708, 711, 712, 69, 706, 69, 69, 69, 715, 69, + 705, 69, 707, 69, 717, 69, 69, 709, 714, 719, + 139, 713, 69, 69, 720, 69, 721, 716, 69, 718, + 69, 732, 69, 69, 69, 722, 733, 736, 69, 724, + 69, 69, 69, 69, 137, 69, 738, 723, 725, 69, + 745, 69, 726, 734, 727, 737, 739, 740, 728, 735, + 729, 69, 69, 69, 69, 730, 741, 69, 743, 69, + 731, 69, 747, 775, 750, 69, 742, 749, 744, 69, + 758, 746, 69, 748, 751, 69, 69, 752, 69, 69, + 69, 761, 753, 69, 754, 69, 759, 69, 762, 69, - 69, 760, 764, 69, 763, 69, 752, 69, 765, 69, - 69, 768, 69, 69, 761, 69, 69, 769, 69, 69, - 69, 69, 766, 767, 771, 775, 69, 773, 770, 772, - 69, 780, 69, 69, 69, 134, 69, 69, 774, 69, - 777, 776, 779, 69, 69, 69, 787, 69, 784, 785, - 778, 781, 782, 69, 783, 69, 788, 789, 786, 792, - 790, 791, 69, 793, 69, 69, 794, 69, 69, 795, - 796, 69, 69, 69, 69, 69, 69, 801, 69, 69, - 69, 69, 797, 804, 805, 69, 806, 799, 69, 809, - 69, 798, 803, 800, 808, 69, 802, 807, 69, 69, + 757, 760, 69, 763, 69, 755, 766, 69, 767, 768, + 69, 764, 756, 769, 69, 69, 69, 772, 765, 69, + 69, 770, 69, 69, 773, 69, 69, 69, 771, 69, + 69, 779, 777, 69, 785, 774, 776, 69, 69, 69, + 69, 69, 783, 781, 778, 135, 784, 780, 69, 69, + 782, 69, 69, 789, 790, 69, 788, 786, 787, 794, + 791, 792, 69, 793, 69, 69, 797, 796, 69, 799, + 798, 69, 800, 69, 69, 69, 801, 69, 795, 69, + 69, 69, 69, 806, 69, 69, 69, 69, 802, 809, + 810, 69, 804, 811, 69, 803, 814, 69, 808, 805, - 69, 812, 69, 811, 810, 69, 817, 69, 69, 69, - 69, 69, 818, 819, 69, 132, 69, 813, 816, 814, - 69, 822, 815, 821, 824, 825, 823, 820, 69, 69, - 69, 826, 69, 827, 828, 69, 69, 69, 832, 69, - 69, 69, 69, 69, 69, 69, 69, 69, 841, 831, - 830, 829, 834, 69, 69, 69, 842, 833, 69, 835, - 838, 69, 839, 837, 69, 840, 836, 69, 845, 843, - 69, 69, 844, 848, 849, 69, 847, 69, 69, 853, - 69, 69, 850, 69, 846, 69, 69, 69, 858, 69, - 69, 856, 851, 69, 859, 854, 69, 852, 69, 862, + 813, 69, 807, 69, 816, 69, 817, 812, 69, 69, + 815, 69, 822, 69, 69, 69, 69, 69, 823, 824, + 69, 829, 69, 818, 821, 826, 69, 819, 828, 820, + 830, 827, 69, 825, 69, 69, 833, 69, 69, 832, + 69, 69, 837, 69, 69, 69, 69, 831, 69, 69, + 69, 69, 69, 836, 835, 846, 69, 834, 839, 867, + 69, 838, 69, 840, 843, 69, 844, 842, 847, 69, + 841, 69, 845, 69, 848, 69, 849, 69, 69, 850, + 69, 854, 852, 69, 69, 858, 69, 855, 69, 851, + 69, 69, 69, 853, 69, 863, 69, 861, 856, 69, - 860, 855, 69, 69, 861, 69, 857, 69, 865, 69, - 69, 864, 867, 69, 869, 69, 863, 69, 69, 69, - 69, 69, 870, 69, 866, 69, 874, 69, 868, 69, - 871, 69, 875, 873, 883, 879, 872, 69, 69, 69, - 876, 69, 880, 878, 877, 69, 882, 69, 69, 885, - 889, 881, 884, 887, 890, 69, 69, 69, 69, 888, - 69, 893, 69, 69, 896, 886, 909, 895, 69, 69, - 69, 892, 69, 897, 69, 891, 894, 899, 69, 898, - 69, 901, 69, 900, 69, 69, 130, 906, 905, 903, - 907, 902, 69, 69, 69, 69, 69, 915, 908, 904, + 69, 864, 859, 857, 69, 69, 865, 69, 860, 69, + 870, 69, 862, 69, 866, 69, 869, 69, 872, 874, + 69, 69, 868, 69, 69, 69, 875, 69, 871, 69, + 873, 879, 69, 69, 69, 876, 69, 880, 878, 69, + 877, 69, 884, 69, 888, 69, 881, 885, 887, 69, + 882, 883, 69, 890, 886, 889, 69, 892, 69, 69, + 894, 69, 898, 891, 895, 69, 69, 69, 893, 901, + 69, 902, 69, 897, 69, 69, 900, 896, 69, 899, + 903, 904, 69, 905, 69, 907, 69, 906, 69, 69, + 69, 912, 913, 909, 69, 908, 69, 69, 69, 914, - 69, 916, 69, 69, 69, 917, 918, 69, 69, 910, - 69, 69, 69, 69, 911, 69, 912, 921, 913, 919, - 914, 926, 922, 69, 924, 920, 923, 69, 69, 927, - 925, 69, 928, 931, 69, 69, 935, 930, 933, 69, - 69, 69, 69, 934, 937, 69, 929, 939, 69, 69, - 932, 69, 942, 69, 940, 69, 69, 69, 69, 69, - 936, 944, 938, 946, 69, 945, 69, 947, 69, 69, - 949, 69, 941, 952, 953, 943, 950, 948, 69, 69, - 69, 951, 955, 69, 69, 954, 69, 69, 959, 69, - 957, 69, 956, 69, 963, 958, 69, 69, 69, 69, + 69, 921, 915, 910, 922, 69, 69, 69, 911, 69, + 69, 924, 69, 69, 69, 134, 923, 928, 916, 927, + 69, 929, 69, 917, 69, 918, 69, 919, 925, 920, + 926, 69, 932, 931, 930, 69, 69, 937, 69, 69, + 933, 939, 69, 69, 934, 69, 940, 69, 69, 935, + 941, 943, 69, 69, 938, 945, 69, 69, 946, 948, + 69, 936, 69, 69, 69, 69, 942, 69, 944, 950, + 952, 951, 69, 953, 69, 69, 69, 69, 947, 958, + 955, 959, 949, 956, 69, 954, 69, 69, 957, 961, + 69, 69, 960, 69, 69, 69, 963, 965, 69, 962, - 69, 69, 69, 969, 69, 69, 960, 69, 967, 69, - 69, 961, 964, 69, 973, 976, 962, 966, 965, 968, - 970, 974, 69, 972, 69, 69, 69, 982, 69, 971, - 975, 978, 977, 980, 981, 979, 69, 69, 984, 69, - 69, 985, 983, 69, 69, 69, 69, 69, 69, 69, - 986, 990, 69, 993, 69, 69, 69, 69, 69, 987, - 69, 69, 1001, 989, 69, 991, 69, 996, 992, 1003, - 988, 995, 994, 998, 997, 1000, 999, 69, 69, 69, - 69, 1006, 69, 69, 1002, 69, 1007, 1010, 1005, 1011, - 1009, 69, 69, 69, 69, 1015, 1004, 69, 1012, 69, + 69, 969, 964, 69, 69, 69, 69, 69, 69, 975, + 69, 69, 69, 966, 69, 967, 69, 979, 970, 973, + 69, 974, 69, 968, 971, 972, 980, 69, 69, 986, + 976, 69, 978, 982, 69, 990, 977, 69, 984, 981, + 69, 983, 985, 69, 69, 987, 988, 69, 989, 69, + 993, 991, 69, 69, 69, 69, 69, 69, 69, 996, + 992, 999, 69, 69, 69, 69, 69, 69, 69, 69, + 132, 995, 69, 997, 1007, 1002, 998, 1001, 994, 1003, + 1000, 1004, 1005, 1006, 69, 69, 1010, 69, 69, 69, + 1009, 1008, 69, 1014, 1016, 1013, 1011, 1015, 69, 69, - 1013, 1014, 69, 1008, 69, 69, 69, 69, 1020, 1017, - 1022, 1016, 1021, 69, 1023, 69, 69, 69, 69, 1018, - 69, 1030, 69, 69, 69, 1019, 69, 1024, 1029, 69, - 69, 69, 69, 69, 1038, 1025, 1026, 69, 69, 1028, - 1960, 1039, 1031, 1032, 1027, 1035, 69, 69, 1033, 1034, - 1041, 69, 1037, 1036, 69, 69, 69, 69, 1040, 1042, - 1043, 69, 69, 69, 69, 1047, 1045, 1050, 1044, 1048, - 1051, 69, 69, 1056, 1046, 69, 69, 1052, 69, 1053, - 1054, 69, 1049, 69, 1055, 1060, 1058, 69, 1059, 69, - 69, 1061, 69, 69, 1057, 1062, 69, 69, 69, 1063, + 1017, 69, 1018, 1012, 69, 69, 69, 1019, 1020, 69, + 69, 69, 69, 69, 1021, 1026, 1022, 1023, 1024, 1027, + 69, 1028, 69, 69, 69, 1029, 69, 69, 69, 69, + 1025, 1037, 69, 1030, 69, 1036, 69, 69, 69, 69, + 69, 1031, 1032, 1033, 69, 69, 1045, 1035, 1042, 69, + 69, 1038, 1046, 1034, 1048, 69, 1039, 1040, 1041, 1044, + 69, 1043, 1047, 69, 69, 1049, 69, 1050, 69, 69, + 69, 69, 1054, 1058, 69, 1052, 1055, 1051, 69, 69, + 69, 1053, 69, 1059, 1060, 1063, 69, 1061, 69, 1056, + 69, 1057, 1067, 1065, 69, 1066, 69, 69, 69, 1062, - 1064, 69, 1065, 69, 1066, 69, 1071, 69, 1069, 69, - 69, 69, 1068, 1072, 69, 1074, 69, 69, 1067, 69, - 1070, 1077, 69, 69, 1080, 69, 69, 1076, 1079, 69, - 1073, 69, 1083, 1075, 69, 69, 69, 69, 1078, 1084, - 1081, 69, 69, 1082, 1089, 1087, 1085, 69, 1091, 1093, - 69, 69, 1090, 69, 69, 1086, 69, 1088, 1095, 69, - 69, 1092, 1097, 69, 1094, 69, 1099, 69, 69, 69, - 1096, 1102, 1105, 69, 1103, 1100, 69, 69, 1106, 69, - 69, 1112, 1110, 69, 1098, 1107, 1104, 1101, 1108, 69, - 1111, 69, 69, 1116, 1109, 69, 69, 1118, 69, 69, + 1064, 1068, 69, 1069, 69, 69, 69, 1072, 1071, 69, + 69, 1074, 1070, 1073, 69, 1076, 1078, 69, 69, 69, + 69, 1081, 1079, 1075, 69, 69, 69, 69, 69, 1077, + 1084, 69, 1086, 1087, 69, 69, 1083, 69, 69, 1080, + 69, 1090, 69, 1091, 69, 69, 1082, 1085, 69, 1088, + 1096, 1089, 69, 1094, 1098, 1092, 69, 1097, 1100, 69, + 69, 69, 1093, 69, 69, 1095, 1102, 69, 69, 69, + 1104, 69, 1106, 69, 1101, 69, 1099, 69, 1112, 69, + 1103, 1107, 1109, 69, 69, 1110, 1114, 69, 69, 1113, + 69, 1117, 1105, 1108, 1118, 1115, 69, 1111, 69, 69, - 69, 1117, 69, 1121, 69, 1120, 69, 1113, 69, 69, - 1114, 1122, 1115, 69, 69, 69, 1129, 69, 69, 69, - 69, 69, 1119, 69, 1134, 69, 1123, 1127, 1126, 1124, - 1128, 69, 69, 1125, 1132, 69, 1135, 69, 1130, 1131, - 69, 69, 1137, 69, 1133, 69, 1138, 1136, 1145, 1139, - 1144, 69, 69, 69, 69, 69, 1140, 1146, 1141, 69, - 1153, 69, 69, 1142, 1148, 69, 1143, 69, 1150, 1147, - 1152, 1151, 69, 1149, 1154, 69, 69, 69, 69, 69, - 1156, 69, 1155, 69, 1163, 69, 69, 69, 1167, 69, - 1157, 1158, 1159, 1160, 1166, 1165, 69, 1162, 69, 1172, + 1116, 69, 1119, 1123, 69, 1120, 1125, 69, 69, 1124, + 69, 69, 69, 1128, 69, 1121, 69, 1127, 1122, 69, + 69, 1129, 69, 69, 69, 69, 1136, 69, 1130, 69, + 1126, 69, 69, 1141, 69, 1134, 1133, 1135, 69, 1131, + 1132, 69, 69, 1139, 69, 1137, 1142, 1138, 69, 69, + 69, 1144, 69, 1140, 1147, 1151, 69, 1143, 1145, 1152, + 69, 1146, 69, 1148, 69, 1153, 69, 69, 1149, 1154, + 69, 1157, 69, 1161, 69, 1150, 1156, 69, 69, 1160, + 69, 1158, 1155, 69, 1159, 1162, 69, 69, 69, 69, + 1164, 69, 69, 1171, 1163, 69, 69, 1166, 1165, 69, - 69, 1164, 1168, 1161, 69, 1169, 69, 1175, 1170, 69, - 69, 1174, 69, 69, 1178, 1176, 1171, 69, 1173, 69, - 69, 69, 69, 1180, 69, 69, 1179, 69, 1187, 1181, - 1177, 69, 1183, 69, 1184, 69, 1182, 1190, 69, 69, - 1185, 69, 69, 1188, 1186, 1192, 69, 1193, 69, 1189, - 69, 1194, 69, 1195, 69, 1191, 1199, 69, 69, 1196, - 69, 69, 1197, 69, 1205, 1201, 69, 1198, 1200, 69, - 69, 69, 1202, 1203, 1209, 69, 69, 1208, 1206, 1210, - 1211, 69, 1204, 69, 69, 1214, 69, 69, 1207, 1212, - 69, 69, 1213, 69, 69, 1216, 69, 69, 69, 1215, + 1168, 69, 1175, 1167, 1174, 1173, 69, 69, 1180, 1170, + 69, 1172, 69, 69, 1169, 1177, 1176, 1182, 1178, 1183, + 69, 69, 1186, 69, 69, 1179, 1184, 69, 1181, 69, + 69, 69, 1188, 69, 69, 69, 1187, 1195, 1189, 1191, + 69, 1185, 69, 69, 1198, 69, 1192, 69, 69, 1190, + 69, 69, 1193, 1201, 1194, 1200, 1196, 69, 69, 1204, + 69, 1197, 1202, 1203, 69, 1207, 69, 1199, 69, 69, + 69, 69, 69, 69, 69, 1213, 1209, 69, 1273, 1206, + 69, 69, 1208, 1205, 1210, 1211, 1214, 1216, 69, 1212, + 1217, 69, 69, 69, 69, 1215, 1218, 1219, 69, 1220, - 1217, 1220, 69, 1225, 69, 1218, 1221, 1226, 69, 1219, - 69, 69, 69, 69, 1230, 69, 69, 1224, 1223, 1222, - 1232, 69, 1234, 69, 69, 69, 69, 1236, 1235, 1227, - 1228, 1233, 69, 1229, 69, 1238, 1231, 1237, 69, 1240, - 69, 1242, 69, 1239, 69, 69, 1243, 1244, 69, 69, - 1251, 1241, 69, 69, 69, 69, 69, 69, 1249, 69, - 1245, 1246, 1247, 1255, 69, 69, 1257, 1248, 1253, 1250, - 69, 69, 1260, 1252, 1261, 69, 69, 1254, 69, 1258, - 1263, 69, 69, 1256, 69, 1262, 69, 69, 1268, 1265, - 69, 69, 1259, 1264, 69, 1266, 1272, 69, 69, 1271, + 1223, 1221, 1222, 69, 69, 69, 69, 69, 69, 1224, + 69, 69, 69, 1228, 1225, 1233, 69, 69, 1226, 1229, + 1234, 69, 1227, 69, 69, 69, 69, 1232, 1238, 69, + 69, 1231, 1230, 1240, 69, 1242, 69, 69, 1235, 69, + 1236, 1243, 1245, 1237, 1239, 1244, 1246, 1241, 1247, 1248, + 69, 69, 69, 69, 69, 1250, 69, 69, 1251, 1252, + 69, 69, 69, 1259, 69, 1253, 1254, 1255, 69, 69, + 69, 69, 1256, 1263, 69, 69, 1265, 1249, 69, 69, + 1257, 1258, 1260, 1261, 69, 1268, 1269, 69, 1271, 69, + 69, 1262, 69, 69, 69, 69, 1276, 1264, 1266, 1270, - 69, 69, 69, 1275, 1276, 1274, 69, 1270, 69, 69, - 1267, 1277, 69, 69, 69, 1279, 1269, 1273, 1278, 69, - 1280, 1281, 1283, 69, 69, 69, 1282, 69, 1286, 69, - 69, 69, 69, 69, 69, 1290, 1293, 69, 1291, 69, - 1287, 1284, 1292, 69, 69, 1289, 1296, 69, 1288, 69, - 1285, 1300, 69, 1298, 1294, 1297, 69, 1301, 69, 1295, - 69, 1302, 1304, 1307, 1299, 1303, 69, 69, 69, 69, - 69, 69, 1306, 1312, 1309, 1305, 69, 1311, 69, 1314, - 69, 1308, 69, 1310, 69, 1316, 69, 1317, 1318, 69, - 1319, 69, 1315, 69, 69, 69, 69, 69, 1313, 69, + 69, 1267, 1274, 69, 69, 1280, 69, 1272, 69, 1279, + 69, 1283, 1284, 1282, 1285, 69, 69, 69, 69, 1278, + 1275, 69, 69, 1286, 69, 69, 1277, 69, 1281, 69, + 1287, 69, 1291, 69, 1294, 69, 69, 1290, 69, 69, + 69, 69, 1288, 1289, 1298, 1292, 69, 1299, 1300, 69, + 1295, 1301, 69, 1297, 69, 1296, 69, 1293, 1304, 69, + 1302, 1308, 1309, 69, 69, 1303, 69, 1305, 1306, 1310, + 1312, 69, 1315, 1311, 69, 69, 1307, 69, 69, 69, + 69, 69, 1317, 1314, 1320, 69, 69, 130, 1322, 69, + 1313, 1316, 1318, 69, 69, 69, 1325, 1324, 1323, 1326, - 1321, 1322, 69, 1323, 1324, 69, 69, 1325, 1326, 1329, - 69, 1327, 69, 1320, 69, 69, 69, 69, 1328, 69, - 1336, 1334, 69, 1331, 1335, 69, 69, 1338, 69, 69, - 69, 69, 1330, 1332, 69, 1333, 1337, 69, 1339, 1341, - 1342, 1343, 69, 1347, 69, 1344, 1340, 69, 69, 1345, - 69, 1346, 69, 1349, 69, 69, 1350, 1351, 69, 69, - 1354, 69, 1352, 69, 1353, 69, 69, 69, 1356, 69, - 1355, 69, 69, 69, 69, 1357, 1360, 1358, 1359, 1364, - 69, 69, 1361, 1365, 69, 1367, 69, 69, 1960, 1362, - 1366, 1363, 69, 1368, 1371, 69, 1369, 1373, 1370, 1372, + 69, 1327, 69, 69, 69, 69, 1319, 1321, 69, 69, + 1329, 1331, 69, 1330, 69, 69, 69, 1333, 1332, 1334, + 1337, 69, 69, 1328, 69, 69, 1335, 1336, 69, 69, + 69, 69, 1344, 1339, 1342, 69, 1343, 69, 69, 1346, + 69, 69, 1338, 1340, 69, 69, 69, 1341, 69, 1345, + 1347, 1351, 69, 1349, 1350, 1355, 69, 1352, 1348, 69, + 69, 1353, 1354, 69, 1357, 69, 1360, 1358, 1359, 69, + 69, 69, 1362, 1356, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 1363, 69, 69, 1373, 69, 1365, 1366, + 1361, 1367, 1372, 69, 69, 1369, 1364, 69, 1375, 69, - 69, 69, 1374, 69, 69, 69, 1375, 1379, 1376, 69, - 69, 69, 69, 69, 1380, 69, 1385, 69, 69, 1382, - 69, 1386, 1377, 1381, 69, 1378, 1389, 69, 69, 1384, - 69, 69, 1383, 1387, 69, 1390, 1391, 1393, 69, 1392, - 1394, 69, 69, 1395, 1388, 1396, 69, 1397, 69, 69, - 69, 69, 69, 1399, 1398, 1400, 69, 69, 69, 69, - 69, 69, 1401, 1405, 1406, 69, 69, 1410, 69, 69, - 1403, 1402, 1404, 1419, 1407, 1409, 1412, 69, 1411, 69, - 1413, 69, 69, 1414, 1417, 1408, 1415, 69, 1418, 69, - 1421, 69, 69, 1423, 69, 1416, 69, 1424, 69, 69, + 69, 1370, 1371, 1374, 1368, 69, 1376, 69, 1378, 1377, + 1379, 69, 1381, 69, 69, 1382, 69, 69, 69, 1383, + 69, 1384, 1387, 1380, 69, 1386, 69, 69, 1390, 1388, + 69, 1389, 1393, 69, 69, 1385, 69, 1394, 69, 69, + 1968, 1397, 69, 69, 1392, 1391, 69, 1398, 69, 1395, + 1399, 1400, 1401, 69, 69, 1402, 1403, 69, 1396, 1404, + 69, 69, 1405, 69, 69, 69, 1407, 69, 1408, 1406, + 69, 69, 69, 69, 69, 69, 69, 1409, 1413, 1414, + 1418, 69, 69, 1412, 1417, 1410, 1415, 69, 1411, 1420, + 69, 1419, 69, 69, 69, 1421, 1422, 1425, 1423, 1416, - 1427, 1422, 69, 69, 69, 69, 69, 1420, 1428, 1431, - 1425, 1429, 69, 69, 69, 69, 69, 1426, 69, 1434, - 1437, 69, 1438, 69, 69, 69, 69, 1430, 1433, 1432, - 1440, 69, 1436, 1435, 69, 69, 69, 69, 1439, 69, - 69, 1450, 69, 69, 69, 1442, 1451, 69, 69, 69, - 1441, 1448, 1475, 1443, 1444, 1446, 69, 1452, 1447, 1445, - 1454, 1449, 1453, 69, 1455, 1456, 69, 1457, 69, 69, - 69, 1458, 1460, 69, 1461, 69, 1462, 69, 1464, 69, - 69, 69, 1459, 1466, 69, 1467, 69, 69, 69, 1463, - 1470, 69, 1469, 1472, 69, 69, 69, 69, 1465, 69, + 1424, 1426, 69, 69, 1429, 69, 69, 1431, 69, 69, + 1432, 1427, 69, 69, 1428, 1430, 1435, 69, 1437, 69, + 69, 69, 1436, 69, 1433, 69, 69, 69, 1439, 69, + 69, 1434, 1442, 1445, 69, 69, 69, 69, 69, 1446, + 69, 1441, 1448, 69, 69, 1438, 1444, 1443, 1440, 69, + 69, 1447, 69, 69, 69, 69, 1458, 69, 69, 1450, + 69, 1459, 1451, 69, 1449, 1460, 1456, 1452, 69, 1454, + 69, 1463, 69, 1453, 1455, 1466, 1457, 1461, 1464, 69, + 69, 1462, 1465, 69, 69, 1467, 1468, 69, 1469, 69, + 1470, 69, 1472, 69, 1474, 69, 1475, 69, 69, 1471, - 1468, 69, 1474, 69, 1476, 1478, 69, 1471, 1482, 69, - 69, 69, 69, 1473, 1480, 69, 1479, 69, 69, 1477, - 1481, 1486, 1487, 69, 1489, 69, 69, 1485, 69, 1491, - 1483, 69, 69, 69, 1484, 1492, 69, 1488, 1494, 69, - 69, 1490, 69, 1493, 69, 1498, 69, 1499, 69, 1496, - 69, 1504, 69, 69, 1505, 1501, 69, 1495, 69, 1500, - 1497, 1502, 1503, 69, 1508, 1509, 69, 1507, 69, 1510, - 69, 69, 69, 1506, 69, 1960, 69, 1511, 69, 1517, - 1515, 69, 1521, 69, 69, 69, 1512, 1514, 1513, 1518, - 1516, 1522, 69, 1520, 1519, 69, 1524, 69, 69, 1523, + 69, 69, 1473, 1478, 69, 1477, 1480, 69, 69, 69, + 69, 69, 1484, 1483, 69, 1482, 69, 1476, 1486, 69, + 1479, 69, 1490, 69, 69, 69, 1481, 1485, 69, 69, + 69, 1488, 69, 1487, 1494, 1495, 69, 1497, 69, 69, + 1489, 69, 1499, 1493, 1491, 69, 69, 69, 1492, 69, + 69, 1496, 1502, 69, 1500, 1498, 69, 69, 1501, 69, + 69, 1506, 1504, 69, 1503, 1507, 1509, 69, 1508, 1512, + 69, 1505, 1510, 1511, 69, 69, 69, 69, 1516, 1513, + 69, 1517, 69, 1518, 69, 1515, 69, 1514, 69, 69, + 1520, 1519, 1521, 1523, 69, 1522, 69, 1525, 69, 69, - 69, 69, 1528, 69, 69, 69, 69, 1529, 1530, 1525, - 1531, 69, 1526, 69, 69, 69, 69, 69, 1532, 1527, - 1536, 69, 1538, 69, 1533, 1539, 1534, 1540, 1535, 69, - 69, 1543, 69, 69, 1542, 1537, 69, 69, 1547, 1541, - 1544, 69, 69, 1545, 1548, 69, 69, 1546, 1551, 69, - 1553, 1550, 1552, 69, 69, 69, 69, 1554, 69, 69, - 1549, 69, 69, 69, 1557, 1560, 69, 69, 69, 1562, - 1555, 1960, 1561, 1559, 69, 1565, 69, 69, 69, 69, - 1556, 1558, 1566, 1564, 69, 1563, 1567, 69, 69, 1570, - 69, 1573, 1568, 1569, 1571, 69, 1572, 69, 69, 1575, + 1524, 1526, 1529, 69, 1530, 69, 69, 1532, 69, 1527, + 1528, 69, 69, 1531, 69, 1536, 69, 69, 69, 1538, + 1533, 1537, 1539, 69, 69, 1534, 69, 69, 69, 1540, + 69, 1535, 1544, 69, 69, 1547, 69, 69, 1541, 1546, + 69, 1543, 1548, 69, 69, 1552, 1542, 1551, 1550, 1549, + 1545, 69, 69, 1553, 69, 1555, 1556, 69, 1554, 69, + 69, 1559, 69, 1560, 69, 1558, 1561, 69, 1562, 69, + 69, 69, 69, 69, 69, 1568, 69, 1557, 1565, 69, + 69, 69, 1570, 1573, 69, 1563, 1567, 69, 1569, 69, + 69, 1566, 1564, 69, 1574, 1575, 1572, 69, 1571, 1578, - 69, 69, 69, 69, 69, 1574, 1581, 69, 1579, 69, - 69, 69, 1576, 1577, 1578, 69, 69, 69, 1582, 69, - 69, 1588, 69, 69, 1580, 69, 1589, 69, 1585, 69, - 1592, 1584, 1593, 1587, 1594, 69, 1583, 1595, 69, 69, - 1586, 1590, 69, 1596, 1591, 69, 69, 69, 69, 1597, - 69, 69, 69, 1604, 1605, 69, 1601, 1598, 69, 1606, - 69, 69, 69, 69, 69, 69, 1600, 1599, 1602, 1603, - 1608, 1614, 69, 1615, 69, 1609, 1607, 69, 69, 1610, - 1611, 1612, 69, 1613, 69, 69, 69, 69, 69, 1619, - 69, 1960, 1616, 1624, 69, 1621, 1618, 1617, 1625, 69, + 69, 69, 1577, 69, 1576, 1579, 69, 1580, 69, 69, + 1583, 69, 69, 1581, 69, 69, 69, 1589, 69, 69, + 1587, 1582, 69, 1584, 1585, 69, 1586, 69, 1590, 69, + 69, 69, 1596, 69, 69, 69, 1588, 1968, 69, 69, + 1593, 69, 1597, 1600, 1595, 1592, 1601, 69, 1591, 1602, + 69, 69, 1598, 1594, 1603, 69, 69, 1599, 69, 1604, + 69, 1607, 69, 69, 69, 1612, 69, 1605, 69, 1606, + 69, 1609, 1613, 69, 69, 1614, 1608, 1616, 69, 69, + 1610, 1611, 69, 69, 1622, 69, 1615, 1623, 69, 1617, + 69, 69, 69, 69, 69, 69, 1618, 1619, 1620, 1627, - 69, 1628, 69, 69, 69, 1620, 1622, 1629, 1623, 1626, - 69, 1632, 69, 69, 1631, 1634, 69, 69, 1627, 1630, - 1636, 69, 1637, 69, 69, 1638, 1633, 69, 69, 69, - 69, 69, 69, 69, 69, 1642, 1635, 1643, 1641, 69, - 69, 1640, 1645, 69, 1647, 1648, 1650, 69, 1646, 1639, - 1644, 1651, 69, 69, 69, 69, 1654, 69, 1649, 1653, - 1652, 69, 1655, 1656, 69, 1657, 69, 1659, 1658, 69, - 69, 69, 69, 1660, 69, 1661, 69, 69, 69, 69, - 1662, 69, 1665, 69, 1664, 69, 1667, 69, 69, 1663, - 1666, 69, 1668, 69, 1670, 69, 1673, 1669, 69, 69, + 69, 69, 1621, 69, 1629, 1625, 1624, 69, 69, 1968, + 1626, 1632, 69, 1628, 1633, 69, 1636, 69, 1634, 1630, + 69, 1631, 69, 69, 1637, 1635, 1639, 1638, 1640, 69, + 1642, 69, 69, 1644, 69, 69, 1641, 1645, 69, 69, + 1646, 69, 69, 69, 69, 69, 69, 1650, 69, 1651, + 69, 1643, 1649, 69, 1648, 1655, 1653, 1647, 1656, 69, + 69, 1654, 1658, 69, 1652, 1659, 69, 1660, 69, 69, + 1662, 69, 1968, 1661, 1657, 69, 1663, 1664, 69, 1665, + 69, 1667, 1666, 69, 69, 69, 69, 1668, 69, 1669, + 69, 69, 69, 69, 1670, 69, 1673, 69, 1672, 69, - 1671, 69, 1672, 69, 1675, 1678, 69, 1674, 1676, 69, - 1682, 69, 1680, 1681, 69, 69, 69, 69, 1677, 69, - 1679, 1684, 1683, 1687, 1685, 69, 69, 69, 1690, 69, - 1686, 1691, 69, 69, 1693, 1694, 69, 69, 69, 1688, - 1695, 1689, 1696, 69, 1697, 69, 1698, 69, 69, 1692, - 1701, 1702, 69, 69, 1704, 69, 1699, 1703, 1705, 69, - 69, 69, 1700, 1708, 69, 69, 69, 1707, 69, 1709, - 69, 1712, 69, 1716, 69, 69, 69, 69, 69, 69, - 1720, 69, 1721, 1706, 69, 1714, 1718, 1710, 1711, 1715, - 1713, 69, 1722, 69, 69, 1717, 1719, 69, 1724, 69, + 1675, 69, 69, 1671, 1674, 69, 1676, 69, 1678, 69, + 1681, 1677, 69, 69, 1679, 69, 1680, 69, 1683, 1686, + 69, 1682, 1684, 69, 1690, 69, 1688, 1689, 69, 69, + 69, 69, 1685, 69, 1687, 1692, 1691, 1695, 1693, 69, + 69, 69, 1698, 69, 1694, 1699, 69, 69, 1701, 1702, + 69, 69, 69, 1696, 1703, 1697, 1704, 69, 1705, 69, + 1706, 69, 69, 1700, 1709, 1710, 69, 69, 1712, 69, + 1707, 1711, 1713, 69, 69, 69, 1708, 1716, 69, 69, + 69, 1715, 69, 1717, 69, 1720, 69, 1724, 69, 69, + 69, 69, 69, 69, 1728, 69, 1729, 1714, 69, 1722, - 1723, 69, 69, 1730, 69, 69, 69, 69, 1727, 1731, - 1732, 1734, 69, 69, 1725, 69, 69, 1735, 69, 69, - 69, 1728, 1729, 1726, 1736, 1733, 69, 1741, 1738, 1742, - 69, 1737, 1739, 69, 69, 69, 69, 1746, 69, 1740, - 1745, 69, 1743, 1747, 1744, 69, 1748, 69, 1749, 1751, - 69, 1750, 1754, 69, 1752, 69, 1758, 69, 1753, 69, - 1756, 69, 69, 1760, 69, 69, 69, 1763, 69, 69, - 69, 69, 69, 69, 1755, 1765, 69, 1757, 69, 1766, - 69, 1762, 1764, 69, 1761, 1770, 1769, 1759, 1767, 1772, - 69, 69, 1768, 1774, 69, 1775, 69, 69, 69, 1777, + 1726, 1718, 1719, 1723, 1721, 69, 1730, 69, 69, 1725, + 1727, 69, 1732, 69, 1731, 69, 69, 1738, 69, 69, + 69, 69, 1735, 1739, 1740, 1742, 69, 69, 1733, 69, + 69, 1743, 69, 69, 69, 1736, 1737, 1734, 1744, 1741, + 69, 1749, 1746, 1750, 69, 1745, 1747, 69, 69, 69, + 69, 1754, 69, 1748, 1753, 69, 1751, 1755, 1752, 69, + 1756, 69, 1757, 1759, 69, 1758, 1762, 69, 1760, 69, + 1766, 69, 1761, 69, 1764, 69, 69, 1768, 69, 69, + 69, 1771, 69, 69, 69, 69, 69, 69, 1763, 1773, + 69, 1765, 69, 1774, 69, 1770, 1772, 69, 1769, 1778, - 69, 69, 1771, 1776, 69, 1781, 1779, 69, 69, 69, - 1773, 1784, 69, 1785, 69, 69, 69, 1778, 1789, 69, - 1780, 1782, 69, 69, 1791, 1790, 69, 1787, 1786, 69, - 1783, 69, 69, 69, 1794, 1797, 1788, 1795, 1792, 69, - 69, 1800, 69, 1801, 69, 69, 1803, 69, 69, 1793, - 69, 69, 1796, 1804, 1960, 1806, 1798, 1799, 1807, 69, - 1808, 69, 1809, 69, 1802, 1805, 69, 1811, 69, 69, - 1812, 1810, 1813, 69, 69, 69, 69, 1817, 69, 69, - 69, 69, 1820, 69, 1818, 1816, 69, 69, 1814, 1819, - 69, 1821, 69, 69, 69, 1815, 69, 1824, 69, 69, + 1777, 1767, 1775, 1780, 69, 69, 1776, 1782, 69, 1783, + 69, 69, 69, 1785, 69, 69, 1779, 1784, 69, 1789, + 1787, 69, 69, 69, 1781, 1792, 69, 1793, 69, 69, + 69, 1786, 1797, 69, 1788, 1790, 69, 69, 1799, 1798, + 69, 1795, 1794, 69, 1791, 69, 69, 69, 1802, 1805, + 1796, 1803, 1800, 69, 69, 1808, 69, 1809, 69, 69, + 1811, 69, 69, 1801, 69, 69, 1804, 1812, 1968, 1814, + 1806, 1807, 1815, 69, 1816, 69, 1817, 69, 1810, 1813, + 69, 1819, 69, 69, 1820, 1818, 1821, 69, 69, 69, + 69, 1825, 69, 69, 69, 69, 1828, 69, 1826, 1824, - 1822, 1826, 1825, 69, 69, 69, 69, 1823, 1861, 1832, - 1834, 69, 1827, 69, 1828, 1845, 1829, 1830, 1835, 69, - 1837, 69, 69, 69, 1831, 1833, 1836, 1838, 1839, 69, - 69, 1840, 1842, 69, 69, 69, 69, 1846, 1847, 69, - 1848, 69, 69, 69, 1841, 69, 69, 1849, 1960, 1843, - 69, 69, 69, 1844, 1866, 1853, 1854, 1856, 69, 69, - 1851, 1857, 69, 1858, 69, 69, 69, 1852, 1850, 1860, - 69, 1855, 69, 1862, 1859, 1864, 69, 69, 69, 69, - 1865, 1863, 69, 69, 1868, 69, 69, 69, 69, 1872, - 69, 1873, 1867, 69, 69, 69, 69, 69, 69, 1871, + 69, 69, 1822, 1827, 69, 1829, 69, 69, 69, 1823, + 69, 1832, 69, 69, 1830, 1834, 1833, 69, 69, 69, + 69, 1831, 1869, 1840, 1842, 69, 1835, 69, 1836, 1853, + 1837, 1838, 1843, 69, 1845, 69, 69, 69, 1839, 1841, + 1844, 1846, 1847, 69, 69, 1848, 1850, 69, 69, 69, + 69, 1854, 1855, 69, 1856, 69, 69, 69, 1849, 69, + 69, 1857, 1968, 1851, 69, 69, 69, 1852, 1874, 1861, + 1862, 1864, 69, 69, 1859, 1865, 69, 1866, 69, 69, + 69, 1860, 1858, 1868, 69, 1863, 69, 1870, 1867, 1872, + 69, 69, 69, 69, 1873, 1871, 69, 69, 1876, 69, - 69, 1869, 69, 1870, 1875, 1876, 1877, 69, 1874, 1884, - 69, 69, 1880, 69, 1878, 1879, 1885, 1882, 1886, 69, - 1883, 1887, 69, 1881, 69, 69, 1892, 69, 1891, 1888, - 1889, 69, 1894, 69, 69, 69, 1890, 1897, 1898, 69, - 69, 1893, 69, 69, 69, 69, 69, 69, 69, 1895, - 69, 69, 69, 1899, 1896, 69, 1907, 1900, 1960, 1901, - 1902, 1904, 69, 1905, 1903, 69, 1906, 1908, 69, 1910, - 1911, 1909, 69, 69, 1914, 1915, 69, 1912, 1913, 69, - 69, 1916, 69, 1917, 69, 1920, 69, 69, 69, 69, - 69, 69, 69, 1923, 69, 69, 1927, 1928, 1918, 69, + 69, 69, 69, 1880, 69, 1881, 1875, 69, 69, 69, + 69, 69, 69, 1879, 69, 1877, 69, 1878, 1883, 1884, + 1885, 69, 1882, 1892, 69, 69, 1888, 69, 1886, 1887, + 1893, 1890, 1894, 69, 1891, 1895, 69, 1889, 69, 69, + 1900, 69, 1899, 1896, 1897, 69, 1902, 69, 69, 69, + 1898, 1905, 1906, 69, 69, 1901, 69, 69, 69, 69, + 69, 69, 69, 1903, 69, 69, 69, 1907, 1904, 69, + 1915, 1908, 1968, 1909, 1910, 1912, 69, 1913, 1911, 69, + 1914, 1916, 69, 1918, 1919, 1917, 69, 69, 1922, 1923, + 69, 1920, 1921, 69, 69, 1924, 69, 1925, 69, 1928, - 1922, 69, 1930, 1919, 69, 1921, 69, 1926, 1924, 1932, - 1925, 69, 1931, 1933, 69, 1935, 69, 69, 1929, 69, - 69, 69, 69, 69, 1936, 69, 1937, 1939, 1941, 69, - 1942, 69, 69, 1934, 69, 1945, 69, 69, 1948, 1938, - 1940, 1949, 69, 1951, 69, 69, 1952, 69, 1943, 69, - 1944, 1946, 1950, 69, 69, 1947, 1953, 69, 1954, 1955, - 69, 1958, 69, 1959, 69, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1956, 1960, 1960, 1957, - 41, 41, 41, 41, 41, 41, 41, 46, 46, 46, - 46, 46, 46, 46, 51, 51, 51, 51, 51, 51, + 69, 69, 69, 69, 69, 69, 69, 1931, 69, 69, + 1935, 1936, 1926, 69, 1930, 69, 1938, 1927, 69, 1929, + 69, 1934, 1932, 1940, 1933, 69, 1939, 1941, 69, 1943, + 69, 69, 1937, 69, 69, 69, 69, 69, 1944, 69, + 1945, 1947, 1949, 69, 1950, 69, 69, 1942, 69, 1953, + 69, 69, 1956, 1946, 1948, 1957, 69, 1959, 69, 69, + 1960, 69, 1951, 69, 1952, 1954, 1958, 69, 69, 1955, + 1961, 69, 1962, 1963, 69, 1966, 69, 1967, 69, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1964, 1968, 1968, 1965, 41, 41, 41, 41, 41, 41, - 51, 57, 57, 57, 57, 57, 57, 57, 62, 62, - 62, 62, 62, 62, 62, 72, 72, 1960, 72, 72, - 72, 72, 129, 129, 1960, 1960, 1960, 129, 129, 131, - 131, 1960, 1960, 131, 1960, 131, 133, 1960, 1960, 1960, - 1960, 1960, 133, 136, 136, 1960, 1960, 1960, 136, 136, - 138, 1960, 1960, 1960, 1960, 1960, 138, 140, 140, 1960, - 140, 140, 140, 140, 73, 73, 1960, 73, 73, 73, - 73, 13, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, + 41, 46, 46, 46, 46, 46, 46, 46, 51, 51, + 51, 51, 51, 51, 51, 57, 57, 57, 57, 57, + 57, 57, 62, 62, 62, 62, 62, 62, 62, 72, + 72, 1968, 72, 72, 72, 72, 129, 129, 1968, 1968, + 1968, 129, 129, 131, 131, 1968, 1968, 131, 1968, 131, + 133, 1968, 1968, 1968, 1968, 1968, 133, 136, 136, 1968, + 1968, 1968, 136, 136, 138, 1968, 1968, 1968, 1968, 1968, + 138, 140, 140, 1968, 140, 140, 140, 140, 73, 73, + 1968, 73, 73, 73, 73, 13, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960 + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968 } ; -static yyconst flex_int16_t yy_chk[3912] = +static yyconst flex_int16_t yy_chk[3926] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1534,7 +1538,7 @@ static yyconst flex_int16_t yy_chk[3912] = 9, 161, 33, 6, 7, 7, 7, 7, 9, 7, 10, 10, 10, 45, 45, 7, 8, 8, 8, 8, 10, 8, 21, 33, 161, 21, 21, 8, 11, 11, - 11, 11, 11, 11, 1966, 20, 29, 20, 20, 11, + 11, 11, 11, 11, 1974, 20, 29, 20, 20, 11, 20, 29, 24, 21, 75, 20, 24, 75, 11, 12, 12, 12, 12, 12, 12, 83, 22, 22, 26, 26, @@ -1545,7 +1549,7 @@ static yyconst flex_int16_t yy_chk[3912] = 32, 32, 35, 103, 37, 32, 67, 31, 70, 37, 36, 36, 70, 31, 76, 36, 77, 31, 76, 37, 39, 32, 34, 37, 37, 36, 78, 34, 36, 78, - 84, 34, 38, 38, 39, 38, 77, 34, 715, 39, + 84, 34, 38, 38, 39, 38, 77, 34, 719, 39, 34, 92, 78, 40, 40, 79, 92, 34, 40, 84, 38, 56, 40, 56, 56, 64, 56, 64, 64, 66, @@ -1570,9 +1574,9 @@ static yyconst flex_int16_t yy_chk[3912] = 159, 154, 157, 157, 160, 159, 162, 158, 163, 160, 162, 165, 168, 163, 183, 166, 167, 168, 169, 155, - 156, 183, 171, 169, 156, 563, 165, 166, 172, 156, + 156, 183, 171, 169, 156, 566, 165, 166, 172, 156, 166, 170, 170, 173, 156, 174, 174, 170, 173, 178, - 156, 156, 171, 175, 172, 176, 177, 179, 175, 563, + 156, 156, 171, 175, 172, 176, 177, 179, 175, 566, 176, 170, 179, 180, 175, 177, 181, 182, 180, 184, 178, 181, 182, 185, 186, 187, 188, 189, 190, 185, 192, 187, 184, 191, 193, 189, 195, 194, 191, 198, @@ -1591,14 +1595,14 @@ static yyconst flex_int16_t yy_chk[3912] = 248, 249, 250, 239, 249, 254, 251, 243, 252, 253, 247, 245, 246, 255, 250, 251, 259, 252, 254, 256, - 260, 256, 256, 251, 131, 255, 251, 257, 257, 258, + 260, 256, 256, 251, 251, 255, 251, 257, 257, 258, 253, 261, 258, 259, 262, 260, 259, 263, 263, 264, 261, 265, 265, 262, 264, 266, 267, 268, 269, 270, 271, 267, 272, 273, 270, 274, 273, 272, 273, 268, 266, 275, 276, 279, 281, 280, 286, 277, 269, 274, 271, 276, 277, 278, 282, 284, 279, 275, 278, 281, 275, 286, 275, 283, 279, 280, 283, 287, 282, 284, - 288, 289, 290, 291, 288, 288, 287, 129, 294, 293, + 288, 289, 290, 291, 288, 288, 287, 131, 294, 293, 292, 296, 283, 285, 293, 285, 285, 295, 291, 297, 298, 290, 289, 300, 297, 285, 296, 285, 285, 285, @@ -1609,353 +1613,354 @@ static yyconst flex_int16_t yy_chk[3912] = 320, 321, 318, 322, 316, 317, 321, 315, 319, 320, 314, 324, 319, 323, 328, 324, 325, 316, 332, 323, 327, 325, 326, 326, 322, 327, 330, 328, 329, 329, - 331, 330, 333, 334, 331, 338, 335, 336, 336, 332, - 335, 333, 337, 339, 339, 334, 342, 337, 341, 341, - 343, 344, 345, 346, 349, 348, 338, 350, 343, 351, + 331, 330, 333, 334, 331, 335, 336, 333, 339, 332, + 336, 338, 334, 337, 337, 343, 338, 335, 340, 340, + 342, 342, 344, 345, 346, 347, 350, 349, 351, 339, - 344, 352, 357, 353, 351, 346, 358, 342, 353, 354, - 352, 350, 345, 348, 349, 348, 355, 354, 356, 360, - 361, 355, 359, 356, 357, 361, 359, 358, 362, 363, - 367, 365, 368, 366, 360, 369, 370, 368, 369, 371, - 371, 356, 368, 374, 362, 372, 367, 375, 363, 364, - 364, 365, 366, 373, 373, 364, 370, 364, 374, 375, - 377, 376, 378, 380, 379, 364, 381, 382, 364, 379, - 372, 383, 380, 388, 385, 364, 376, 383, 385, 377, - 387, 386, 382, 389, 378, 381, 386, 390, 391, 391, - 392, 388, 387, 393, 394, 390, 389, 395, 393, 396, + 344, 353, 345, 352, 354, 355, 343, 347, 352, 354, + 353, 358, 351, 355, 346, 349, 350, 349, 356, 357, + 359, 360, 361, 356, 357, 360, 362, 363, 364, 368, + 366, 362, 367, 358, 369, 370, 373, 361, 370, 369, + 371, 359, 357, 363, 369, 368, 378, 364, 365, 365, + 366, 367, 372, 372, 365, 375, 365, 374, 374, 376, + 371, 373, 377, 379, 365, 378, 381, 365, 380, 382, + 375, 376, 383, 380, 365, 381, 384, 377, 388, 386, + 389, 387, 384, 386, 390, 379, 387, 383, 382, 393, + 388, 391, 392, 392, 395, 394, 397, 390, 389, 391, - 395, 398, 392, 397, 398, 399, 394, 400, 397, 401, - 408, 400, 400, 415, 396, 402, 402, 403, 403, 410, - 404, 399, 401, 68, 399, 404, 405, 405, 406, 406, - 407, 408, 409, 415, 412, 407, 411, 409, 410, 412, - 411, 413, 414, 416, 417, 413, 418, 414, 416, 417, - 419, 420, 422, 419, 421, 421, 423, 424, 419, 425, - 418, 423, 419, 426, 425, 427, 433, 62, 427, 420, - 422, 424, 426, 428, 429, 430, 431, 428, 432, 429, - 430, 434, 433, 432, 437, 435, 436, 437, 438, 431, - 435, 438, 436, 434, 440, 439, 441, 442, 443, 428, + 394, 393, 396, 398, 399, 396, 395, 399, 398, 400, + 401, 397, 409, 402, 401, 401, 403, 403, 404, 404, + 406, 406, 405, 407, 407, 400, 402, 405, 400, 408, + 410, 411, 412, 409, 408, 410, 412, 413, 416, 414, + 415, 417, 413, 414, 418, 415, 417, 419, 420, 418, + 411, 420, 421, 422, 422, 423, 420, 424, 416, 426, + 420, 419, 424, 425, 426, 427, 428, 429, 432, 428, + 421, 429, 433, 423, 427, 430, 431, 425, 434, 435, + 430, 431, 436, 434, 432, 433, 437, 442, 443, 439, + 438, 437, 439, 429, 436, 435, 438, 440, 441, 444, - 439, 444, 442, 443, 445, 448, 444, 445, 446, 449, - 441, 447, 440, 446, 450, 447, 447, 451, 448, 450, - 452, 456, 449, 452, 453, 458, 451, 454, 455, 453, - 455, 454, 454, 457, 459, 457, 460, 461, 452, 463, - 456, 462, 465, 458, 464, 462, 466, 467, 463, 468, - 469, 470, 459, 474, 468, 460, 476, 461, 474, 464, - 465, 473, 467, 471, 471, 466, 475, 472, 477, 469, - 470, 472, 473, 478, 479, 476, 480, 483, 485, 479, - 478, 477, 475, 480, 481, 482, 484, 485, 486, 481, - 482, 487, 488, 484, 490, 483, 489, 488, 490, 489, + 440, 445, 443, 441, 444, 442, 445, 446, 447, 448, + 450, 447, 446, 449, 448, 451, 452, 449, 449, 454, + 453, 452, 454, 450, 457, 455, 457, 456, 451, 453, + 455, 456, 456, 458, 459, 460, 459, 454, 461, 462, + 463, 464, 465, 467, 466, 464, 468, 469, 471, 470, + 472, 465, 458, 460, 470, 478, 461, 475, 462, 466, + 463, 467, 469, 473, 473, 468, 474, 471, 475, 472, + 474, 476, 477, 479, 478, 480, 476, 482, 481, 485, + 483, 487, 480, 481, 482, 483, 479, 484, 477, 486, + 487, 488, 484, 489, 490, 491, 486, 485, 491, 490, - 487, 491, 486, 492, 492, 493, 495, 496, 498, 497, - 499, 495, 492, 497, 493, 501, 500, 502, 503, 506, - 498, 500, 491, 501, 509, 513, 514, 496, 499, 512, - 514, 513, 515, 515, 506, 502, 519, 516, 512, 520, - 518, 509, 516, 503, 504, 518, 525, 521, 523, 504, - 521, 522, 522, 504, 519, 523, 504, 524, 524, 526, - 526, 525, 531, 504, 520, 527, 504, 517, 517, 517, - 527, 517, 528, 529, 517, 528, 532, 537, 529, 517, - 530, 531, 530, 533, 534, 517, 517, 535, 535, 536, - 538, 537, 534, 539, 540, 540, 532, 544, 539, 57, + 492, 493, 489, 495, 492, 488, 494, 494, 497, 498, + 499, 500, 495, 497, 499, 494, 501, 503, 504, 502, + 505, 511, 493, 500, 502, 503, 508, 515, 514, 498, + 539, 516, 521, 515, 501, 516, 504, 514, 511, 517, + 517, 508, 518, 520, 539, 505, 506, 518, 520, 522, + 521, 506, 527, 523, 525, 506, 523, 129, 506, 524, + 524, 525, 526, 526, 532, 506, 532, 527, 506, 519, + 519, 519, 533, 519, 522, 529, 519, 528, 528, 530, + 529, 519, 530, 534, 531, 535, 536, 519, 519, 531, + 538, 533, 537, 537, 536, 540, 541, 542, 543, 543, - 541, 542, 533, 544, 536, 541, 542, 543, 538, 545, - 543, 546, 547, 548, 549, 550, 552, 545, 548, 546, - 553, 549, 551, 551, 554, 552, 555, 557, 553, 554, - 547, 558, 559, 560, 550, 559, 557, 561, 561, 562, - 558, 564, 566, 567, 564, 555, 568, 560, 567, 569, - 570, 571, 564, 572, 562, 573, 574, 575, 1238, 573, - 579, 576, 572, 566, 578, 577, 579, 568, 581, 569, - 576, 571, 570, 582, 574, 1238, 575, 577, 578, 580, - 580, 583, 586, 587, 584, 589, 583, 582, 581, 584, - 585, 588, 590, 590, 585, 587, 588, 591, 593, 594, + 68, 544, 542, 534, 535, 538, 544, 545, 541, 547, + 548, 546, 545, 540, 546, 547, 549, 550, 548, 552, + 551, 553, 554, 554, 549, 551, 552, 555, 557, 556, + 558, 563, 560, 557, 561, 550, 555, 556, 565, 562, + 553, 560, 562, 561, 569, 563, 564, 564, 567, 558, + 570, 567, 571, 565, 572, 570, 573, 574, 575, 567, + 576, 577, 578, 579, 576, 569, 584, 575, 580, 581, + 582, 62, 579, 571, 572, 585, 582, 574, 573, 577, + 580, 578, 586, 581, 583, 583, 584, 586, 587, 585, + 588, 589, 590, 587, 588, 591, 592, 593, 593, 595, - 595, 586, 591, 587, 592, 595, 589, 592, 596, 597, - 597, 598, 594, 599, 599, 600, 593, 601, 602, 603, - 604, 601, 605, 607, 607, 609, 610, 608, 596, 598, - 600, 608, 611, 612, 604, 616, 611, 602, 614, 616, - 609, 613, 605, 603, 606, 615, 613, 606, 612, 606, - 620, 610, 614, 606, 617, 606, 618, 619, 621, 615, - 606, 618, 619, 622, 620, 606, 623, 52, 624, 617, - 627, 618, 623, 624, 625, 625, 629, 622, 628, 621, - 626, 626, 627, 628, 630, 633, 626, 634, 626, 632, - 629, 631, 631, 633, 632, 635, 630, 636, 636, 626, + 591, 594, 595, 596, 590, 597, 594, 599, 598, 603, + 589, 601, 590, 598, 600, 600, 605, 592, 597, 602, + 602, 596, 604, 606, 603, 607, 604, 599, 608, 601, + 610, 610, 611, 614, 613, 605, 611, 614, 612, 607, + 615, 616, 617, 618, 57, 622, 616, 606, 608, 609, + 622, 624, 609, 612, 609, 615, 617, 618, 609, 613, + 609, 620, 619, 621, 649, 609, 619, 623, 621, 625, + 609, 626, 624, 649, 627, 631, 620, 626, 621, 627, + 631, 623, 632, 625, 628, 628, 629, 629, 630, 633, + 634, 634, 629, 635, 629, 636, 632, 637, 635, 638, - 637, 634, 639, 641, 637, 640, 626, 639, 640, 645, - 642, 643, 644, 647, 635, 646, 643, 644, 648, 649, - 650, 651, 641, 642, 646, 650, 652, 648, 645, 647, - 653, 655, 657, 654, 658, 51, 655, 663, 649, 659, - 652, 651, 654, 660, 661, 668, 663, 666, 660, 661, - 653, 657, 658, 662, 659, 664, 664, 665, 662, 669, - 666, 668, 665, 669, 669, 670, 670, 671, 672, 670, - 671, 673, 674, 675, 676, 677, 678, 676, 679, 680, - 681, 682, 672, 679, 680, 686, 681, 674, 683, 684, - 684, 673, 678, 675, 683, 685, 677, 682, 687, 688, + 630, 633, 644, 636, 640, 629, 639, 639, 640, 642, + 643, 637, 629, 643, 642, 645, 648, 646, 638, 647, + 650, 644, 646, 651, 647, 652, 653, 654, 645, 655, + 656, 653, 651, 657, 659, 648, 650, 658, 661, 659, + 662, 663, 657, 655, 652, 52, 658, 654, 664, 665, + 656, 672, 667, 664, 665, 666, 663, 661, 662, 669, + 666, 667, 668, 668, 669, 670, 673, 672, 674, 674, + 673, 673, 674, 675, 676, 677, 675, 678, 670, 679, + 680, 681, 682, 680, 683, 684, 690, 685, 676, 683, + 684, 686, 678, 685, 687, 677, 688, 688, 682, 679, - 689, 687, 690, 686, 685, 691, 692, 693, 694, 696, - 698, 692, 693, 694, 699, 46, 702, 688, 691, 689, - 697, 698, 690, 697, 700, 701, 699, 696, 703, 700, - 701, 702, 705, 703, 704, 704, 706, 707, 708, 709, - 711, 712, 708, 710, 714, 718, 716, 717, 719, 707, - 706, 705, 710, 719, 723, 727, 720, 709, 726, 711, - 716, 720, 717, 714, 721, 718, 712, 722, 723, 721, - 724, 725, 722, 726, 727, 728, 725, 729, 730, 731, - 731, 732, 728, 733, 724, 734, 735, 736, 736, 737, - 739, 734, 729, 738, 737, 732, 740, 730, 741, 740, + 687, 689, 681, 691, 690, 692, 691, 686, 693, 694, + 689, 695, 696, 697, 698, 700, 703, 696, 697, 698, + 702, 704, 701, 692, 695, 701, 704, 693, 703, 694, + 705, 702, 706, 700, 707, 705, 708, 708, 709, 707, + 710, 711, 712, 713, 715, 716, 712, 706, 718, 714, + 720, 721, 722, 711, 710, 723, 744, 709, 714, 744, + 723, 713, 731, 715, 720, 727, 721, 718, 724, 725, + 716, 726, 722, 724, 725, 728, 726, 729, 730, 727, + 732, 731, 729, 733, 734, 735, 735, 732, 736, 728, + 737, 738, 739, 730, 740, 740, 741, 738, 733, 742, - 738, 733, 742, 743, 739, 744, 735, 745, 743, 746, - 748, 742, 745, 749, 748, 750, 741, 751, 752, 753, - 754, 755, 749, 756, 744, 757, 753, 759, 746, 758, - 750, 760, 754, 752, 763, 758, 751, 761, 764, 763, - 755, 765, 759, 757, 756, 766, 761, 768, 767, 765, - 769, 760, 764, 767, 769, 769, 770, 771, 774, 768, - 772, 772, 788, 773, 775, 766, 788, 774, 778, 775, - 784, 771, 776, 776, 777, 770, 773, 778, 779, 777, - 780, 780, 781, 779, 782, 783, 41, 785, 784, 782, - 786, 781, 785, 787, 792, 786, 790, 790, 787, 783, + 743, 741, 736, 734, 745, 747, 742, 746, 737, 748, + 747, 750, 739, 749, 743, 752, 746, 753, 749, 752, + 754, 755, 745, 756, 757, 758, 753, 759, 748, 760, + 750, 757, 763, 761, 764, 754, 762, 758, 756, 765, + 755, 768, 762, 770, 767, 769, 759, 763, 765, 767, + 760, 761, 771, 769, 764, 768, 772, 771, 774, 775, + 773, 776, 776, 770, 773, 773, 777, 778, 772, 779, + 780, 780, 782, 775, 779, 781, 778, 774, 783, 777, + 781, 782, 784, 783, 785, 785, 786, 784, 787, 788, + 789, 790, 791, 787, 792, 786, 790, 791, 793, 792, - 789, 791, 794, 791, 795, 792, 794, 796, 797, 789, - 799, 800, 805, 801, 789, 802, 789, 797, 789, 795, - 789, 801, 798, 803, 799, 796, 798, 798, 804, 802, - 800, 811, 803, 806, 806, 807, 811, 805, 808, 808, - 810, 812, 814, 810, 813, 813, 804, 815, 815, 816, - 807, 817, 818, 818, 816, 819, 820, 821, 822, 824, - 812, 820, 814, 822, 825, 821, 823, 823, 827, 826, - 825, 834, 817, 829, 830, 819, 826, 824, 829, 830, - 831, 827, 832, 833, 835, 831, 837, 832, 836, 836, - 834, 838, 833, 839, 840, 835, 843, 842, 841, 840, + 795, 795, 793, 788, 796, 797, 796, 799, 789, 794, + 802, 799, 801, 800, 805, 51, 797, 803, 794, 802, + 804, 803, 803, 794, 806, 794, 807, 794, 800, 794, + 801, 809, 806, 805, 804, 808, 810, 811, 811, 812, + 807, 813, 813, 815, 808, 816, 815, 817, 819, 809, + 816, 818, 818, 821, 812, 820, 820, 822, 821, 823, + 823, 810, 824, 826, 825, 827, 817, 829, 819, 825, + 827, 826, 828, 828, 830, 832, 831, 839, 822, 834, + 830, 835, 824, 831, 834, 829, 835, 836, 832, 837, + 838, 840, 836, 842, 837, 843, 839, 841, 841, 838, - 846, 844, 845, 845, 847, 848, 837, 851, 843, 849, - 852, 838, 841, 854, 849, 852, 839, 842, 841, 844, - 846, 850, 850, 848, 856, 858, 857, 858, 859, 847, - 851, 855, 854, 856, 857, 855, 855, 861, 860, 862, - 863, 861, 859, 860, 864, 865, 866, 867, 868, 869, - 862, 866, 871, 869, 870, 872, 876, 877, 874, 863, - 873, 875, 877, 865, 879, 867, 882, 872, 868, 879, - 864, 871, 870, 874, 873, 876, 875, 878, 880, 881, - 883, 882, 884, 14, 878, 885, 883, 886, 881, 887, - 885, 892, 886, 893, 887, 892, 880, 888, 888, 889, + 844, 845, 840, 849, 846, 847, 845, 848, 850, 850, + 851, 852, 854, 842, 853, 843, 856, 854, 846, 848, + 861, 849, 859, 844, 846, 847, 855, 855, 857, 861, + 851, 868, 853, 857, 864, 865, 852, 862, 860, 856, + 865, 859, 860, 860, 863, 862, 863, 866, 864, 867, + 868, 866, 869, 870, 871, 872, 873, 874, 876, 871, + 867, 874, 875, 877, 881, 878, 879, 880, 885, 882, + 46, 870, 889, 872, 882, 877, 873, 876, 869, 878, + 875, 879, 880, 881, 883, 884, 885, 886, 887, 888, + 884, 883, 890, 889, 891, 888, 886, 890, 898, 891, - 889, 891, 891, 884, 894, 895, 896, 899, 897, 894, - 898, 893, 897, 897, 898, 898, 900, 901, 902, 895, - 903, 905, 904, 906, 907, 896, 905, 899, 904, 908, - 909, 910, 911, 913, 913, 900, 901, 912, 914, 903, - 13, 914, 906, 907, 902, 910, 915, 924, 908, 909, - 916, 916, 912, 911, 917, 919, 918, 920, 915, 917, - 918, 921, 928, 922, 929, 922, 920, 924, 919, 922, - 925, 925, 926, 930, 921, 927, 932, 926, 930, 927, - 928, 934, 922, 941, 929, 936, 934, 935, 935, 945, - 936, 938, 938, 946, 932, 940, 940, 943, 947, 941, + 892, 893, 893, 887, 900, 892, 894, 894, 896, 896, + 897, 901, 899, 904, 897, 902, 898, 899, 900, 902, + 902, 903, 905, 906, 907, 903, 903, 908, 909, 910, + 901, 911, 912, 904, 916, 910, 911, 913, 914, 915, + 917, 905, 906, 907, 918, 919, 919, 909, 916, 920, + 921, 912, 920, 908, 922, 922, 913, 914, 915, 918, + 923, 917, 921, 924, 925, 923, 926, 924, 927, 934, + 928, 930, 928, 931, 931, 926, 928, 925, 932, 935, + 933, 927, 938, 932, 933, 936, 952, 934, 940, 928, + 936, 930, 942, 940, 941, 941, 947, 942, 951, 935, - 943, 944, 944, 948, 945, 949, 950, 950, 948, 951, - 952, 954, 947, 951, 953, 953, 955, 956, 946, 957, - 949, 956, 961, 958, 960, 960, 965, 955, 958, 962, - 952, 963, 963, 954, 964, 966, 967, 968, 957, 964, - 961, 972, 969, 962, 969, 967, 965, 970, 971, 973, - 975, 977, 970, 971, 973, 966, 978, 968, 976, 976, - 980, 972, 978, 982, 975, 981, 981, 983, 984, 989, - 977, 984, 985, 986, 984, 982, 987, 985, 986, 990, - 992, 992, 990, 988, 980, 987, 984, 983, 988, 993, - 991, 994, 995, 996, 989, 991, 997, 998, 996, 999, + 938, 944, 944, 946, 946, 949, 950, 950, 949, 953, + 954, 952, 947, 951, 955, 954, 956, 956, 957, 958, + 959, 959, 957, 953, 960, 961, 962, 964, 963, 955, + 962, 967, 964, 966, 966, 971, 961, 968, 970, 958, + 969, 969, 972, 970, 973, 974, 960, 963, 975, 967, + 975, 968, 976, 973, 977, 971, 978, 976, 979, 977, + 981, 983, 972, 979, 984, 974, 982, 982, 986, 988, + 984, 987, 987, 989, 981, 995, 978, 993, 991, 990, + 983, 988, 990, 991, 992, 990, 993, 999, 996, 992, + 994, 996, 986, 989, 997, 994, 1000, 990, 1001, 997, - 1000, 997, 998, 1001, 1001, 1000, 1002, 993, 1003, 1004, - 994, 1002, 995, 1005, 1006, 1007, 1009, 1008, 1010, 1011, - 1012, 1009, 999, 1013, 1015, 1015, 1003, 1007, 1006, 1004, - 1008, 1016, 1017, 1005, 1012, 1018, 1016, 1019, 1010, 1011, - 1020, 1024, 1018, 1022, 1013, 1026, 1019, 1017, 1026, 1019, - 1025, 1025, 1027, 1028, 1030, 1029, 1020, 1027, 1022, 1031, - 1033, 1032, 1035, 1022, 1029, 1033, 1024, 1036, 1031, 1028, - 1032, 1031, 1037, 1030, 1034, 1034, 1039, 1038, 1042, 1043, - 1036, 1040, 1035, 1044, 1044, 1045, 1046, 1048, 1048, 1047, - 1037, 1038, 1039, 1040, 1047, 1046, 1049, 1043, 1050, 1052, + 995, 998, 998, 1002, 1003, 999, 1004, 1005, 1002, 1003, + 1009, 1004, 1006, 1007, 1007, 1000, 1008, 1006, 1001, 1010, + 1011, 1008, 1012, 1013, 1014, 1016, 1015, 1017, 1009, 1018, + 1005, 1015, 1019, 1021, 1021, 1013, 1012, 1014, 1026, 1010, + 1011, 1022, 1023, 1018, 1024, 1016, 1022, 1017, 1028, 1025, + 1030, 1024, 1037, 1019, 1026, 1031, 1031, 1023, 1025, 1032, + 1032, 1025, 1033, 1028, 1034, 1033, 1035, 1036, 1028, 1034, + 1039, 1037, 1038, 1040, 1042, 1030, 1036, 1043, 1040, 1039, + 1044, 1038, 1035, 1045, 1038, 1041, 1041, 1046, 1047, 1049, + 1043, 1050, 1051, 1051, 1042, 1052, 1053, 1045, 1044, 1054, - 1053, 1045, 1048, 1042, 1052, 1049, 1054, 1055, 1049, 1056, - 1057, 1054, 1055, 1059, 1058, 1056, 1050, 1063, 1053, 1058, - 1060, 1065, 1066, 1060, 1064, 1067, 1059, 1069, 1068, 1060, - 1057, 1070, 1064, 1068, 1065, 1073, 1063, 1072, 1072, 1079, - 1066, 1074, 1075, 1069, 1067, 1074, 1076, 1075, 1077, 1070, - 1078, 1076, 1081, 1077, 1083, 1073, 1082, 1082, 1084, 1078, - 1085, 1086, 1079, 1087, 1088, 1084, 1089, 1081, 1083, 1088, - 1090, 1091, 1085, 1086, 1092, 1092, 1093, 1091, 1089, 1093, - 1094, 1094, 1087, 1097, 1096, 1098, 1098, 1099, 1090, 1096, - 1100, 1101, 1097, 1102, 1103, 1100, 1104, 1105, 1106, 1099, + 1047, 1055, 1055, 1046, 1054, 1053, 1056, 1057, 1059, 1050, + 1060, 1052, 1061, 1059, 1049, 1056, 1055, 1061, 1056, 1062, + 1063, 1064, 1065, 1066, 1062, 1057, 1063, 1065, 1060, 1067, + 1070, 1071, 1067, 1072, 1073, 1074, 1066, 1075, 1067, 1071, + 1076, 1064, 1075, 1077, 1079, 1079, 1072, 1080, 1082, 1070, + 1085, 1081, 1073, 1082, 1074, 1081, 1076, 1083, 1084, 1085, + 1086, 1077, 1083, 1084, 1088, 1089, 1089, 1080, 1090, 1091, + 1094, 1156, 1092, 1093, 1096, 1095, 1091, 1097, 1156, 1088, + 1095, 1098, 1090, 1086, 1092, 1093, 1096, 1098, 1106, 1094, + 1099, 1099, 1104, 1100, 1103, 1097, 1100, 1101, 1101, 1103, - 1101, 1104, 1107, 1108, 1108, 1102, 1105, 1109, 1110, 1103, - 1116, 1111, 1109, 1112, 1113, 1113, 1114, 1107, 1106, 1105, - 1115, 1115, 1117, 1117, 1118, 1123, 1125, 1119, 1118, 1110, - 1111, 1116, 1119, 1112, 1120, 1122, 1114, 1120, 1130, 1124, - 1122, 1126, 1126, 1123, 1124, 1127, 1127, 1128, 1129, 1131, - 1132, 1125, 1128, 1133, 1135, 1132, 1136, 1138, 1130, 1140, - 1129, 1129, 1129, 1137, 1137, 1139, 1139, 1129, 1135, 1131, - 1141, 1142, 1142, 1133, 1143, 1143, 1145, 1136, 1147, 1140, - 1146, 1146, 1148, 1138, 1150, 1145, 1149, 1151, 1151, 1148, - 1152, 1153, 1141, 1147, 1155, 1149, 1156, 1157, 1158, 1155, + 1106, 1104, 1105, 1105, 1107, 1108, 1109, 1110, 1111, 1107, + 1112, 1113, 1114, 1111, 1108, 1115, 1115, 1117, 1109, 1112, + 1116, 1118, 1110, 1119, 1121, 1116, 1123, 1114, 1120, 1120, + 1130, 1113, 1112, 1122, 1122, 1124, 1124, 1125, 1117, 1127, + 1118, 1125, 1127, 1119, 1121, 1126, 1129, 1123, 1130, 1131, + 1126, 1129, 1132, 1136, 1131, 1133, 1133, 1134, 1134, 1135, + 1137, 1138, 1140, 1139, 1135, 1136, 1136, 1136, 1139, 1142, + 1143, 1145, 1136, 1144, 1144, 1146, 1146, 1132, 1147, 1148, + 1137, 1138, 1140, 1142, 1149, 1149, 1150, 1150, 1154, 1154, + 1153, 1143, 1155, 1157, 1158, 1159, 1159, 1145, 1147, 1153, - 1164, 1156, 1165, 1159, 1160, 1158, 1163, 1153, 1159, 1160, - 1150, 1161, 1161, 1162, 1166, 1163, 1152, 1157, 1162, 1167, - 1164, 1165, 1167, 1168, 1169, 1171, 1166, 1170, 1170, 1172, - 1173, 1174, 1175, 1176, 1180, 1174, 1177, 1177, 1175, 1181, - 1171, 1168, 1176, 1178, 1182, 1173, 1179, 1179, 1172, 1187, - 1169, 1183, 1194, 1181, 1178, 1180, 1183, 1184, 1184, 1178, - 1188, 1185, 1186, 1189, 1182, 1185, 1185, 1186, 1189, 1191, - 1192, 1193, 1188, 1195, 1192, 1187, 1196, 1194, 1195, 1197, - 1198, 1191, 1200, 1193, 1197, 1200, 1201, 1201, 1202, 1202, - 1203, 1203, 1198, 1204, 1205, 1208, 1206, 1207, 1196, 1213, + 1160, 1148, 1157, 1161, 1163, 1164, 1166, 1155, 1165, 1163, + 1164, 1167, 1168, 1166, 1169, 1169, 1167, 1168, 1170, 1161, + 1158, 1171, 1172, 1170, 1173, 1174, 1160, 1176, 1165, 1175, + 1171, 1177, 1175, 1178, 1178, 1179, 1180, 1174, 1181, 1184, + 1182, 1183, 1172, 1173, 1182, 1176, 1188, 1183, 1184, 1186, + 1179, 1185, 1185, 1181, 1189, 1180, 1190, 1177, 1187, 1187, + 1186, 1191, 1192, 1192, 1195, 1186, 1191, 1188, 1189, 1193, + 1194, 1196, 1197, 1193, 1193, 1194, 1190, 1197, 1200, 1199, + 1201, 1202, 1200, 1196, 1203, 1204, 1206, 41, 1205, 1203, + 1195, 1199, 1201, 1205, 1208, 1209, 1209, 1208, 1206, 1210, - 1205, 1206, 1210, 1207, 1208, 1212, 1215, 1210, 1212, 1216, - 1216, 1213, 1217, 1204, 1218, 1219, 1220, 1221, 1215, 1222, - 1223, 1221, 1224, 1218, 1222, 1223, 1226, 1226, 1227, 1233, - 1228, 1229, 1217, 1219, 1235, 1220, 1224, 1236, 1226, 1228, - 1229, 1231, 1231, 1237, 1244, 1233, 1227, 1247, 1237, 1235, - 1251, 1236, 1239, 1239, 1240, 1243, 1240, 1241, 1241, 1245, - 1245, 1246, 1243, 1248, 1244, 1249, 1250, 1252, 1247, 1253, - 1246, 1254, 1258, 1266, 1256, 1248, 1251, 1249, 1250, 1256, - 1259, 1257, 1252, 1257, 1264, 1259, 1260, 1262, 0, 1253, - 1258, 1254, 1267, 1260, 1265, 1265, 1262, 1267, 1264, 1266, + 1210, 1211, 1211, 1212, 1213, 1215, 1202, 1204, 1214, 1216, + 1213, 1215, 1218, 1214, 1221, 1223, 1220, 1218, 1216, 1220, + 1224, 1224, 1225, 1212, 1226, 1227, 1221, 1223, 1228, 14, + 1229, 1230, 1231, 1226, 1229, 1232, 1230, 1231, 1234, 1234, + 1235, 1241, 1225, 1227, 1236, 1237, 1243, 1228, 1244, 1232, + 1234, 1239, 1239, 1236, 1237, 1245, 1246, 1241, 1235, 1251, + 1245, 1243, 1244, 1247, 1247, 1248, 1251, 1248, 1249, 1249, + 1252, 1253, 1253, 1246, 1254, 1255, 1256, 1257, 1259, 1258, + 1260, 1261, 1262, 1254, 1265, 1266, 1265, 1264, 1256, 1257, + 1252, 1258, 1264, 1267, 1272, 1260, 1255, 1274, 1267, 1268, - 1268, 1269, 1268, 1270, 1271, 1272, 1269, 1273, 1270, 1274, - 1275, 1276, 1273, 1278, 1274, 1279, 1280, 1280, 1282, 1276, - 1281, 1281, 1271, 1275, 1283, 1272, 1284, 1287, 1288, 1279, - 1285, 1284, 1278, 1282, 1286, 1285, 1286, 1288, 1291, 1287, - 1288, 1289, 1292, 1289, 1283, 1290, 1290, 1291, 1294, 1297, - 1295, 1298, 1299, 1294, 1292, 1295, 1300, 1302, 1304, 1305, - 1306, 1311, 1297, 1302, 1304, 1316, 1307, 1308, 1308, 1309, - 1299, 1298, 1300, 1316, 1305, 1307, 1310, 1310, 1309, 1312, - 1311, 1313, 1314, 1312, 1315, 1306, 1313, 1317, 1315, 1315, - 1320, 1320, 1321, 1322, 1322, 1314, 1323, 1323, 1324, 1325, + 1270, 1261, 1262, 1266, 1259, 1280, 1268, 1275, 1272, 1270, + 1273, 1273, 1275, 1276, 1277, 1276, 1278, 1279, 1283, 1277, + 1284, 1278, 1281, 1274, 1282, 1280, 1286, 1281, 1284, 1282, + 1287, 1283, 1288, 1288, 1290, 1279, 1289, 1289, 1291, 1295, + 13, 1292, 1293, 1296, 1287, 1286, 1292, 1293, 1294, 1290, + 1294, 1295, 1296, 1299, 1297, 1296, 1297, 1300, 1291, 1298, + 1298, 1302, 1299, 1303, 1305, 1306, 1302, 1308, 1303, 1300, + 1307, 1313, 1310, 1312, 1314, 1315, 1319, 1305, 1310, 1312, + 1316, 1316, 1317, 1308, 1315, 1306, 1313, 1322, 1307, 1318, + 1318, 1317, 1320, 1321, 1325, 1319, 1320, 1323, 1321, 1314, - 1326, 1321, 1330, 1327, 1331, 1326, 1332, 1317, 1327, 1331, - 1324, 1328, 1328, 1333, 1334, 1335, 1336, 1325, 1338, 1334, - 1337, 1337, 1338, 1339, 1341, 1340, 1342, 1330, 1333, 1332, - 1340, 1345, 1336, 1335, 1344, 1346, 1347, 1348, 1339, 1349, - 1350, 1352, 1352, 1353, 1354, 1342, 1353, 1356, 1355, 1378, - 1341, 1349, 1378, 1344, 1345, 1347, 1360, 1354, 1348, 1346, - 1356, 1350, 1355, 1357, 1357, 1358, 1358, 1359, 1359, 1361, - 1365, 1360, 1362, 1362, 1363, 1363, 1364, 1364, 1366, 1366, - 1367, 1370, 1361, 1368, 1368, 1369, 1369, 1372, 1374, 1365, - 1373, 1373, 1372, 1375, 1375, 1376, 1377, 1381, 1367, 1382, + 1322, 1323, 1323, 1324, 1328, 1328, 1329, 1330, 1330, 1331, + 1331, 1324, 1332, 1333, 1325, 1329, 1334, 1335, 1336, 1336, + 1338, 1334, 1335, 1339, 1332, 1340, 1341, 1342, 1339, 1343, + 1344, 1333, 1342, 1345, 1345, 1346, 1347, 1348, 1349, 1346, + 1350, 1341, 1348, 1352, 1353, 1338, 1344, 1343, 1340, 1354, + 1355, 1347, 1362, 1356, 1357, 1358, 1360, 1360, 1361, 1350, + 1368, 1361, 1352, 1363, 1349, 1362, 1357, 1353, 1364, 1355, + 1365, 1365, 1369, 1354, 1356, 1368, 1358, 1363, 1366, 1366, + 1373, 1364, 1367, 1367, 1375, 1369, 1370, 1370, 1371, 1371, + 1372, 1372, 1374, 1374, 1376, 1376, 1377, 1377, 1378, 1373, - 1370, 1383, 1377, 1379, 1379, 1380, 1380, 1374, 1384, 1384, - 1386, 1387, 1388, 1376, 1382, 1393, 1381, 1389, 1391, 1379, - 1383, 1389, 1390, 1390, 1392, 1392, 1395, 1388, 1394, 1394, - 1386, 1397, 1399, 1398, 1387, 1395, 1400, 1391, 1398, 1401, - 1402, 1393, 1403, 1397, 1404, 1402, 1405, 1403, 1407, 1400, - 1409, 1408, 1406, 1411, 1409, 1405, 1408, 1399, 1413, 1404, - 1401, 1406, 1407, 1414, 1414, 1415, 1417, 1413, 1416, 1416, - 1415, 1420, 1419, 1411, 1426, 0, 1424, 1416, 1422, 1424, - 1420, 1427, 1428, 1428, 1425, 1431, 1417, 1419, 1417, 1425, - 1422, 1430, 1430, 1427, 1426, 1432, 1432, 1433, 1434, 1431, + 1380, 1382, 1375, 1381, 1381, 1380, 1383, 1383, 1384, 1385, + 1386, 1387, 1387, 1386, 1389, 1385, 1390, 1378, 1388, 1388, + 1382, 1391, 1392, 1392, 1394, 1395, 1384, 1387, 1396, 1401, + 1397, 1390, 1399, 1389, 1397, 1398, 1398, 1400, 1400, 1407, + 1391, 1402, 1402, 1396, 1394, 1403, 1405, 1406, 1395, 1408, + 1409, 1399, 1406, 1412, 1403, 1401, 1410, 1413, 1405, 1415, + 1411, 1410, 1408, 1414, 1407, 1411, 1413, 1419, 1412, 1416, + 1425, 1409, 1414, 1415, 1416, 1417, 1421, 1422, 1422, 1417, + 1427, 1423, 1424, 1424, 1428, 1421, 1423, 1419, 1430, 1434, + 1425, 1424, 1425, 1428, 1432, 1427, 1433, 1432, 1435, 1439, - 1435, 1436, 1436, 1438, 1442, 1439, 1443, 1438, 1439, 1433, - 1440, 1440, 1434, 1441, 1444, 1446, 1445, 1447, 1441, 1435, - 1445, 1449, 1447, 1451, 1442, 1448, 1443, 1449, 1444, 1452, - 1448, 1453, 1454, 1458, 1452, 1446, 1453, 1459, 1459, 1451, - 1454, 1455, 1465, 1455, 1463, 1463, 1468, 1458, 1469, 1469, - 1473, 1468, 1471, 1471, 1475, 1473, 1474, 1474, 1476, 1477, - 1465, 1480, 1479, 1483, 1477, 1481, 1481, 1485, 1486, 1484, - 1475, 0, 1483, 1480, 1484, 1488, 1488, 1490, 1492, 1497, - 1476, 1479, 1490, 1486, 1491, 1485, 1491, 1498, 1493, 1494, - 1494, 1497, 1492, 1493, 1495, 1495, 1496, 1496, 1499, 1499, + 1430, 1433, 1436, 1436, 1438, 1438, 1440, 1440, 1441, 1434, + 1435, 1442, 1443, 1439, 1444, 1444, 1447, 1446, 1450, 1447, + 1441, 1446, 1448, 1448, 1449, 1442, 1451, 1452, 1453, 1449, + 1454, 1443, 1453, 1459, 1455, 1456, 1457, 1462, 1450, 1455, + 1456, 1452, 1457, 1460, 1466, 1462, 1451, 1461, 1460, 1459, + 1454, 1463, 1461, 1463, 1467, 1467, 1471, 1471, 1466, 1473, + 1476, 1477, 1477, 1479, 1479, 1476, 1481, 1482, 1482, 1483, + 1484, 1481, 1487, 1485, 1488, 1489, 1489, 1473, 1485, 1491, + 1493, 1494, 1492, 1496, 1496, 1483, 1488, 1492, 1491, 1498, + 1500, 1487, 1484, 1499, 1498, 1499, 1494, 1501, 1493, 1502, - 1500, 1501, 1502, 1503, 1504, 1498, 1505, 1505, 1503, 1506, - 1507, 1508, 1500, 1501, 1502, 1509, 1510, 1513, 1506, 1511, - 1512, 1512, 1515, 1514, 1504, 1516, 1513, 1517, 1509, 1523, - 1516, 1508, 1517, 1511, 1518, 1518, 1507, 1519, 1519, 1524, - 1510, 1514, 1520, 1520, 1515, 1525, 1526, 1527, 1528, 1523, - 1533, 1529, 1530, 1530, 1532, 1532, 1527, 1524, 1534, 1533, - 1536, 1537, 1538, 1535, 1540, 1539, 1526, 1525, 1528, 1529, - 1535, 1541, 1541, 1542, 1543, 1536, 1534, 1545, 1542, 1537, - 1538, 1539, 1544, 1540, 1546, 1547, 1549, 1550, 1553, 1546, - 1554, 0, 1543, 1554, 1556, 1549, 1545, 1544, 1555, 1555, + 1502, 1505, 1501, 1506, 1500, 1503, 1503, 1504, 1504, 1507, + 1507, 1508, 1509, 1505, 1510, 1511, 1512, 1513, 1513, 1514, + 1511, 1506, 1515, 1508, 1509, 1516, 1510, 1517, 1514, 1518, + 1519, 1520, 1520, 1521, 1522, 1523, 1512, 0, 1524, 1533, + 1517, 1525, 1521, 1524, 1519, 1516, 1525, 1531, 1515, 1526, + 1526, 1532, 1522, 1518, 1527, 1527, 1534, 1523, 1528, 1528, + 1536, 1533, 1535, 1537, 1538, 1538, 1541, 1531, 1542, 1532, + 1543, 1535, 1540, 1540, 1544, 1541, 1534, 1543, 1545, 1546, + 1536, 1537, 1547, 1548, 1549, 1549, 1542, 1550, 1551, 1544, + 1552, 1553, 1550, 1555, 1554, 1557, 1545, 1546, 1547, 1554, - 1557, 1558, 1558, 1559, 1561, 1547, 1550, 1559, 1553, 1556, - 1562, 1563, 1563, 1564, 1562, 1566, 1566, 1567, 1557, 1561, - 1568, 1568, 1569, 1569, 1573, 1573, 1564, 1574, 1575, 1576, - 1577, 1579, 1578, 1582, 1580, 1577, 1567, 1578, 1576, 1583, - 1584, 1575, 1580, 1585, 1583, 1584, 1586, 1586, 1582, 1574, - 1579, 1587, 1587, 1588, 1589, 1596, 1590, 1591, 1585, 1589, - 1588, 1590, 1591, 1592, 1592, 1593, 1593, 1597, 1596, 1598, - 1599, 1600, 1597, 1598, 1601, 1599, 1602, 1603, 1604, 1608, - 1600, 1609, 1603, 1606, 1602, 1615, 1606, 1607, 1616, 1601, - 1604, 1610, 1607, 1611, 1609, 1612, 1612, 1608, 1613, 1617, + 1558, 1561, 1548, 1564, 1557, 1552, 1551, 1565, 1562, 0, + 1553, 1562, 1569, 1555, 1563, 1563, 1566, 1566, 1564, 1558, + 1567, 1561, 1570, 1572, 1567, 1565, 1570, 1569, 1571, 1571, + 1574, 1574, 1575, 1576, 1576, 1582, 1572, 1577, 1577, 1581, + 1581, 1583, 1585, 1584, 1586, 1587, 1590, 1585, 1588, 1586, + 1591, 1575, 1584, 1592, 1583, 1591, 1588, 1582, 1592, 1593, + 1596, 1590, 1594, 1594, 1587, 1595, 1595, 1596, 1597, 1604, + 1598, 1599, 0, 1597, 1593, 1598, 1599, 1600, 1600, 1601, + 1601, 1605, 1604, 1606, 1607, 1608, 1605, 1606, 1609, 1607, + 1610, 1611, 1612, 1616, 1608, 1617, 1611, 1614, 1610, 1623, - 1610, 1619, 1611, 1620, 1615, 1618, 1618, 1613, 1616, 1621, - 1622, 1622, 1620, 1621, 1623, 1626, 1624, 1627, 1617, 1629, - 1619, 1624, 1623, 1629, 1626, 1630, 1631, 1633, 1633, 1638, - 1627, 1635, 1635, 1639, 1639, 1640, 1640, 1641, 1645, 1630, - 1641, 1631, 1642, 1642, 1643, 1643, 1644, 1644, 1646, 1638, - 1647, 1648, 1648, 1649, 1652, 1647, 1645, 1649, 1652, 1652, - 1653, 1654, 1646, 1655, 1658, 1662, 1660, 1654, 1655, 1658, - 1659, 1660, 1661, 1664, 1664, 1663, 1665, 1667, 1666, 1668, - 1668, 1669, 1669, 1653, 1671, 1662, 1666, 1659, 1659, 1663, - 1661, 1670, 1670, 1672, 1673, 1665, 1667, 1674, 1672, 1675, + 1614, 1615, 1624, 1609, 1612, 1618, 1615, 1619, 1617, 1620, + 1620, 1616, 1621, 1625, 1618, 1627, 1619, 1628, 1623, 1626, + 1626, 1621, 1624, 1629, 1630, 1630, 1628, 1629, 1631, 1634, + 1632, 1635, 1625, 1637, 1627, 1632, 1631, 1637, 1634, 1638, + 1639, 1641, 1641, 1646, 1635, 1643, 1643, 1647, 1647, 1648, + 1648, 1649, 1653, 1638, 1649, 1639, 1650, 1650, 1651, 1651, + 1652, 1652, 1654, 1646, 1655, 1656, 1656, 1657, 1660, 1655, + 1653, 1657, 1660, 1660, 1661, 1662, 1654, 1663, 1666, 1670, + 1668, 1662, 1663, 1666, 1667, 1668, 1669, 1672, 1672, 1671, + 1673, 1675, 1674, 1676, 1676, 1677, 1677, 1661, 1679, 1670, - 1671, 1676, 1677, 1679, 1679, 1681, 1680, 1683, 1675, 1680, - 1681, 1684, 1684, 1685, 1673, 1686, 1687, 1685, 1690, 1695, - 1692, 1676, 1677, 1674, 1686, 1683, 1689, 1690, 1688, 1692, - 1693, 1687, 1688, 1688, 1701, 1699, 1700, 1700, 1708, 1689, - 1699, 1703, 1693, 1701, 1695, 1707, 1703, 1704, 1704, 1706, - 1706, 1704, 1709, 1710, 1707, 1711, 1713, 1709, 1708, 1712, - 1711, 1713, 1714, 1715, 1715, 1717, 1718, 1719, 1719, 1720, - 1722, 1721, 1723, 1724, 1710, 1721, 1727, 1712, 1725, 1722, - 1726, 1718, 1720, 1737, 1717, 1726, 1725, 1714, 1723, 1728, - 1728, 1729, 1724, 1731, 1731, 1732, 1732, 1736, 1733, 1735, + 1674, 1667, 1667, 1671, 1669, 1678, 1678, 1680, 1681, 1673, + 1675, 1682, 1680, 1683, 1679, 1684, 1685, 1687, 1687, 1689, + 1688, 1691, 1683, 1688, 1689, 1692, 1692, 1693, 1681, 1694, + 1695, 1693, 1698, 1703, 1700, 1684, 1685, 1682, 1694, 1691, + 1697, 1698, 1696, 1700, 1701, 1695, 1696, 1696, 1709, 1707, + 1708, 1708, 1716, 1697, 1707, 1711, 1701, 1709, 1703, 1715, + 1711, 1712, 1712, 1714, 1714, 1712, 1717, 1718, 1715, 1719, + 1721, 1717, 1716, 1720, 1719, 1721, 1722, 1723, 1723, 1725, + 1726, 1727, 1727, 1728, 1730, 1729, 1731, 1732, 1718, 1729, + 1735, 1720, 1733, 1730, 1734, 1726, 1728, 1745, 1725, 1734, - 1735, 1738, 1727, 1733, 1740, 1740, 1737, 1741, 1742, 1745, - 1729, 1743, 1743, 1744, 1744, 1746, 1747, 1736, 1748, 1748, - 1738, 1741, 1749, 1750, 1750, 1749, 1752, 1746, 1745, 1753, - 1742, 1754, 1755, 1756, 1754, 1757, 1747, 1755, 1752, 1758, - 1757, 1759, 1759, 1761, 1761, 1762, 1764, 1764, 1765, 1753, - 1767, 1766, 1756, 1765, 0, 1767, 1758, 1758, 1768, 1768, - 1769, 1769, 1770, 1770, 1762, 1766, 1771, 1773, 1773, 1776, - 1776, 1771, 1778, 1778, 1779, 1780, 1781, 1782, 1782, 1783, - 1790, 1786, 1787, 1787, 1783, 1781, 1788, 1791, 1779, 1786, - 1793, 1788, 1792, 1794, 1795, 1780, 1843, 1792, 1796, 1797, + 1733, 1722, 1731, 1736, 1736, 1737, 1732, 1739, 1739, 1740, + 1740, 1744, 1741, 1743, 1743, 1746, 1735, 1741, 1748, 1748, + 1745, 1749, 1750, 1753, 1737, 1751, 1751, 1752, 1752, 1754, + 1755, 1744, 1756, 1756, 1746, 1749, 1757, 1758, 1758, 1757, + 1760, 1754, 1753, 1761, 1750, 1762, 1763, 1764, 1762, 1765, + 1755, 1763, 1760, 1766, 1765, 1767, 1767, 1769, 1769, 1770, + 1772, 1772, 1773, 1761, 1775, 1774, 1764, 1773, 0, 1775, + 1766, 1766, 1776, 1776, 1777, 1777, 1778, 1778, 1770, 1774, + 1779, 1781, 1781, 1784, 1784, 1779, 1786, 1786, 1787, 1788, + 1789, 1790, 1790, 1791, 1798, 1794, 1795, 1795, 1791, 1789, - 1790, 1794, 1793, 1798, 1799, 1802, 1822, 1791, 1843, 1799, - 1804, 1804, 1795, 1815, 1796, 1822, 1797, 1797, 1805, 1805, - 1810, 1810, 1806, 1812, 1798, 1802, 1806, 1812, 1814, 1814, - 1816, 1815, 1818, 1818, 1819, 1821, 1823, 1823, 1824, 1824, - 1825, 1825, 1826, 1827, 1816, 1828, 1829, 1826, 0, 1819, - 1830, 1831, 1832, 1821, 1850, 1830, 1831, 1833, 1833, 1850, - 1828, 1836, 1836, 1838, 1838, 1840, 1845, 1829, 1827, 1841, - 1841, 1832, 1844, 1844, 1840, 1846, 1846, 1849, 1851, 1852, - 1849, 1845, 1853, 1855, 1852, 1854, 1859, 1861, 1862, 1859, - 1863, 1861, 1851, 1866, 1865, 1867, 1869, 1868, 1870, 1855, + 1796, 1799, 1787, 1794, 1801, 1796, 1800, 1802, 1803, 1788, + 1851, 1800, 1804, 1805, 1798, 1802, 1801, 1806, 1807, 1810, + 1830, 1799, 1851, 1807, 1812, 1812, 1803, 1823, 1804, 1830, + 1805, 1805, 1813, 1813, 1818, 1818, 1814, 1820, 1806, 1810, + 1814, 1820, 1822, 1822, 1824, 1823, 1826, 1826, 1827, 1829, + 1831, 1831, 1832, 1832, 1833, 1833, 1834, 1835, 1824, 1836, + 1837, 1834, 0, 1827, 1838, 1839, 1840, 1829, 1858, 1838, + 1839, 1841, 1841, 1858, 1836, 1844, 1844, 1846, 1846, 1848, + 1853, 1837, 1835, 1849, 1849, 1840, 1852, 1852, 1848, 1854, + 1854, 1857, 1859, 1860, 1857, 1853, 1861, 1863, 1860, 1862, - 1872, 1853, 1871, 1854, 1863, 1865, 1866, 1874, 1862, 1873, - 1873, 1879, 1869, 1880, 1867, 1868, 1874, 1871, 1875, 1875, - 1872, 1876, 1876, 1870, 1877, 1878, 1881, 1882, 1880, 1877, - 1878, 1881, 1883, 1883, 1885, 1888, 1879, 1889, 1890, 1891, - 1893, 1882, 1889, 1890, 1892, 1896, 1895, 1899, 1897, 1885, - 1898, 1900, 1902, 1891, 1888, 1907, 1900, 1892, 0, 1893, - 1895, 1897, 1901, 1898, 1896, 1904, 1899, 1901, 1903, 1903, - 1904, 1902, 1905, 1906, 1907, 1908, 1910, 1905, 1906, 1911, - 1908, 1909, 1909, 1910, 1912, 1913, 1914, 1915, 1917, 1918, - 1913, 1919, 1922, 1917, 1920, 1921, 1921, 1922, 1911, 1923, + 1867, 1869, 1870, 1867, 1871, 1869, 1859, 1874, 1873, 1875, + 1877, 1876, 1878, 1863, 1880, 1861, 1879, 1862, 1871, 1873, + 1874, 1882, 1870, 1881, 1881, 1887, 1877, 1888, 1875, 1876, + 1882, 1879, 1883, 1883, 1880, 1884, 1884, 1878, 1885, 1886, + 1889, 1890, 1888, 1885, 1886, 1889, 1891, 1891, 1893, 1896, + 1887, 1897, 1898, 1899, 1901, 1890, 1897, 1898, 1900, 1904, + 1903, 1907, 1905, 1893, 1906, 1908, 1910, 1899, 1896, 1915, + 1908, 1900, 0, 1901, 1903, 1905, 1909, 1906, 1904, 1912, + 1907, 1909, 1911, 1911, 1912, 1910, 1913, 1914, 1915, 1916, + 1918, 1913, 1914, 1919, 1916, 1917, 1917, 1918, 1920, 1921, - 1915, 1924, 1924, 1912, 1926, 1914, 1927, 1920, 1918, 1926, - 1919, 1925, 1925, 1927, 1928, 1929, 1929, 1930, 1923, 1931, - 1932, 1934, 1933, 1936, 1930, 1937, 1931, 1933, 1936, 1938, - 1937, 1939, 1941, 1928, 1940, 1940, 1942, 1943, 1943, 1932, - 1934, 1944, 1944, 1946, 1946, 1945, 1947, 1947, 1938, 1948, - 1939, 1941, 1945, 1950, 1953, 1942, 1948, 1954, 1950, 1953, - 1955, 1956, 1956, 1957, 1957, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1954, 0, 0, 1955, - 1961, 1961, 1961, 1961, 1961, 1961, 1961, 1962, 1962, 1962, - 1962, 1962, 1962, 1962, 1963, 1963, 1963, 1963, 1963, 1963, + 1922, 1923, 1925, 1926, 1921, 1927, 1930, 1925, 1928, 1929, + 1929, 1930, 1919, 1931, 1923, 1932, 1932, 1920, 1934, 1922, + 1935, 1928, 1926, 1934, 1927, 1933, 1933, 1935, 1936, 1937, + 1937, 1938, 1931, 1939, 1940, 1942, 1941, 1944, 1938, 1945, + 1939, 1941, 1944, 1946, 1945, 1947, 1949, 1936, 1948, 1948, + 1950, 1951, 1951, 1940, 1942, 1952, 1952, 1954, 1954, 1953, + 1955, 1955, 1946, 1956, 1947, 1949, 1953, 1958, 1961, 1950, + 1956, 1962, 1958, 1961, 1963, 1964, 1964, 1965, 1965, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1962, 0, 0, 1963, 1969, 1969, 1969, 1969, 1969, 1969, - 1963, 1964, 1964, 1964, 1964, 1964, 1964, 1964, 1965, 1965, - 1965, 1965, 1965, 1965, 1965, 1967, 1967, 0, 1967, 1967, - 1967, 1967, 1968, 1968, 0, 0, 0, 1968, 1968, 1969, - 1969, 0, 0, 1969, 0, 1969, 1970, 0, 0, 0, - 0, 0, 1970, 1971, 1971, 0, 0, 0, 1971, 1971, - 1972, 0, 0, 0, 0, 0, 1972, 1973, 1973, 0, - 1973, 1973, 1973, 1973, 1974, 1974, 0, 1974, 1974, 1974, - 1974, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, + 1969, 1970, 1970, 1970, 1970, 1970, 1970, 1970, 1971, 1971, + 1971, 1971, 1971, 1971, 1971, 1972, 1972, 1972, 1972, 1972, + 1972, 1972, 1973, 1973, 1973, 1973, 1973, 1973, 1973, 1975, + 1975, 0, 1975, 1975, 1975, 1975, 1976, 1976, 0, 0, + 0, 1976, 1976, 1977, 1977, 0, 0, 1977, 0, 1977, + 1978, 0, 0, 0, 0, 0, 1978, 1979, 1979, 0, + 0, 0, 1979, 1979, 1980, 0, 0, 0, 0, 0, + 1980, 1981, 1981, 0, 1981, 1981, 1981, 1981, 1982, 1982, + 0, 1982, 1982, 1982, 1982, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, - 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, 1960, - 1960 + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, + 1968, 1968, 1968, 1968, 1968 } ; static yy_state_type yy_last_accepting_state; @@ -2166,7 +2171,7 @@ static void config_end_include(void) #define YY_NO_INPUT 1 #endif -#line 2168 "" +#line 2173 "" #define INITIAL 0 #define quotedstring 1 @@ -2389,7 +2394,7 @@ YY_DECL { #line 207 "./util/configlexer.lex" -#line 2391 "" +#line 2396 "" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2422,13 +2427,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 >= 1961 ) + if ( yy_current_state >= 1969 ) 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] != 3872 ); + while ( yy_base[yy_current_state] != 3886 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -3084,304 +3089,309 @@ YY_RULE_SETUP case 126: YY_RULE_SETUP #line 337 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE) } +{ YDVAR(1, VAR_LOG_REPLIES) } YY_BREAK case 127: YY_RULE_SETUP #line 338 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA) } +{ YDVAR(2, VAR_LOCAL_ZONE) } YY_BREAK case 128: YY_RULE_SETUP #line 339 "./util/configlexer.lex" -{ YDVAR(1, VAR_LOCAL_DATA_PTR) } +{ YDVAR(1, VAR_LOCAL_DATA) } YY_BREAK case 129: YY_RULE_SETUP #line 340 "./util/configlexer.lex" -{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } +{ YDVAR(1, VAR_LOCAL_DATA_PTR) } YY_BREAK case 130: YY_RULE_SETUP #line 341 "./util/configlexer.lex" -{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } +{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) } YY_BREAK case 131: YY_RULE_SETUP #line 342 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_INTERVAL) } +{ YDVAR(1, VAR_INSECURE_LAN_ZONES) } YY_BREAK case 132: YY_RULE_SETUP #line 343 "./util/configlexer.lex" -{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } +{ YDVAR(1, VAR_STATISTICS_INTERVAL) } YY_BREAK case 133: YY_RULE_SETUP #line 344 "./util/configlexer.lex" -{ YDVAR(1, VAR_EXTENDED_STATISTICS) } +{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) } YY_BREAK case 134: YY_RULE_SETUP #line 345 "./util/configlexer.lex" -{ YDVAR(0, VAR_REMOTE_CONTROL) } +{ YDVAR(1, VAR_EXTENDED_STATISTICS) } YY_BREAK case 135: YY_RULE_SETUP #line 346 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_ENABLE) } +{ YDVAR(0, VAR_REMOTE_CONTROL) } YY_BREAK case 136: YY_RULE_SETUP #line 347 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_INTERFACE) } +{ YDVAR(1, VAR_CONTROL_ENABLE) } YY_BREAK case 137: YY_RULE_SETUP #line 348 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_PORT) } +{ YDVAR(1, VAR_CONTROL_INTERFACE) } YY_BREAK case 138: YY_RULE_SETUP #line 349 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_USE_CERT) } +{ YDVAR(1, VAR_CONTROL_PORT) } YY_BREAK case 139: YY_RULE_SETUP #line 350 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_KEY_FILE) } +{ YDVAR(1, VAR_CONTROL_USE_CERT) } YY_BREAK case 140: YY_RULE_SETUP #line 351 "./util/configlexer.lex" -{ YDVAR(1, VAR_SERVER_CERT_FILE) } +{ YDVAR(1, VAR_SERVER_KEY_FILE) } YY_BREAK case 141: YY_RULE_SETUP #line 352 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_KEY_FILE) } +{ YDVAR(1, VAR_SERVER_CERT_FILE) } YY_BREAK case 142: YY_RULE_SETUP #line 353 "./util/configlexer.lex" -{ YDVAR(1, VAR_CONTROL_CERT_FILE) } +{ YDVAR(1, VAR_CONTROL_KEY_FILE) } YY_BREAK case 143: YY_RULE_SETUP #line 354 "./util/configlexer.lex" -{ YDVAR(1, VAR_PYTHON_SCRIPT) } +{ YDVAR(1, VAR_CONTROL_CERT_FILE) } YY_BREAK case 144: YY_RULE_SETUP #line 355 "./util/configlexer.lex" -{ YDVAR(0, VAR_PYTHON) } +{ YDVAR(1, VAR_PYTHON_SCRIPT) } YY_BREAK case 145: YY_RULE_SETUP #line 356 "./util/configlexer.lex" -{ YDVAR(1, VAR_DOMAIN_INSECURE) } +{ YDVAR(0, VAR_PYTHON) } YY_BREAK case 146: YY_RULE_SETUP #line 357 "./util/configlexer.lex" -{ YDVAR(1, VAR_MINIMAL_RESPONSES) } +{ YDVAR(1, VAR_DOMAIN_INSECURE) } YY_BREAK case 147: YY_RULE_SETUP #line 358 "./util/configlexer.lex" -{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } +{ YDVAR(1, VAR_MINIMAL_RESPONSES) } YY_BREAK case 148: YY_RULE_SETUP #line 359 "./util/configlexer.lex" -{ YDVAR(1, VAR_MAX_UDP_SIZE) } +{ YDVAR(1, VAR_RRSET_ROUNDROBIN) } YY_BREAK case 149: YY_RULE_SETUP #line 360 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_PREFIX) } +{ YDVAR(1, VAR_MAX_UDP_SIZE) } YY_BREAK case 150: YY_RULE_SETUP #line 361 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNS64_SYNTHALL) } +{ YDVAR(1, VAR_DNS64_PREFIX) } YY_BREAK case 151: YY_RULE_SETUP #line 362 "./util/configlexer.lex" -{ YDVAR(1, VAR_DEFINE_TAG) } +{ YDVAR(1, VAR_DNS64_SYNTHALL) } YY_BREAK case 152: YY_RULE_SETUP #line 363 "./util/configlexer.lex" -{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } +{ YDVAR(1, VAR_DEFINE_TAG) } YY_BREAK case 153: YY_RULE_SETUP #line 364 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } +{ YDVAR(2, VAR_LOCAL_ZONE_TAG) } YY_BREAK case 154: YY_RULE_SETUP #line 365 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } +{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) } YY_BREAK case 155: YY_RULE_SETUP #line 366 "./util/configlexer.lex" -{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) } YY_BREAK case 156: YY_RULE_SETUP #line 367 "./util/configlexer.lex" -{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } +{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) } YY_BREAK case 157: YY_RULE_SETUP #line 368 "./util/configlexer.lex" -{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } +{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) } YY_BREAK case 158: YY_RULE_SETUP #line 369 "./util/configlexer.lex" -{ YDVAR(0, VAR_DNSTAP) } +{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) } YY_BREAK case 159: YY_RULE_SETUP #line 370 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_ENABLE) } +{ YDVAR(0, VAR_DNSTAP) } YY_BREAK case 160: YY_RULE_SETUP #line 371 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } +{ YDVAR(1, VAR_DNSTAP_ENABLE) } YY_BREAK case 161: YY_RULE_SETUP #line 372 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) } YY_BREAK case 162: YY_RULE_SETUP #line 373 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } +{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) } YY_BREAK case 163: YY_RULE_SETUP #line 374 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_IDENTITY) } +{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) } YY_BREAK case 164: YY_RULE_SETUP #line 375 "./util/configlexer.lex" -{ YDVAR(1, VAR_DNSTAP_VERSION) } +{ YDVAR(1, VAR_DNSTAP_IDENTITY) } YY_BREAK case 165: YY_RULE_SETUP #line 376 "./util/configlexer.lex" -{ - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } +{ YDVAR(1, VAR_DNSTAP_VERSION) } YY_BREAK case 166: YY_RULE_SETUP -#line 378 "./util/configlexer.lex" +#line 377 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) } YY_BREAK case 167: YY_RULE_SETUP -#line 380 "./util/configlexer.lex" +#line 379 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) } YY_BREAK case 168: YY_RULE_SETUP -#line 382 "./util/configlexer.lex" +#line 381 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) } YY_BREAK case 169: YY_RULE_SETUP -#line 384 "./util/configlexer.lex" +#line 383 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) } YY_BREAK case 170: YY_RULE_SETUP -#line 386 "./util/configlexer.lex" +#line 385 "./util/configlexer.lex" { - YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) } YY_BREAK case 171: YY_RULE_SETUP -#line 388 "./util/configlexer.lex" -{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } +#line 387 "./util/configlexer.lex" +{ + YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) } YY_BREAK case 172: YY_RULE_SETUP #line 389 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT) } +{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) } YY_BREAK case 173: YY_RULE_SETUP #line 390 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SLABS) } +{ YDVAR(1, VAR_RATELIMIT) } YY_BREAK case 174: YY_RULE_SETUP #line 391 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_SIZE) } +{ YDVAR(1, VAR_RATELIMIT_SLABS) } YY_BREAK case 175: YY_RULE_SETUP #line 392 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } +{ YDVAR(1, VAR_RATELIMIT_SIZE) } YY_BREAK case 176: YY_RULE_SETUP #line 393 "./util/configlexer.lex" -{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } +{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) } YY_BREAK case 177: YY_RULE_SETUP #line 394 "./util/configlexer.lex" -{ YDVAR(1, VAR_RATELIMIT_FACTOR) } +{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) } YY_BREAK case 178: -/* rule 178 can match eol */ YY_RULE_SETUP #line 395 "./util/configlexer.lex" +{ YDVAR(1, VAR_RATELIMIT_FACTOR) } + YY_BREAK +case 179: +/* rule 179 can match eol */ +YY_RULE_SETUP +#line 396 "./util/configlexer.lex" { LEXOUT(("NL\n")); cfg_parser->line++; } YY_BREAK /* Quoted strings. Strip leading and ending quotes */ -case 179: +case 180: YY_RULE_SETUP -#line 398 "./util/configlexer.lex" +#line 399 "./util/configlexer.lex" { BEGIN(quotedstring); LEXOUT(("QS ")); } YY_BREAK case YY_STATE_EOF(quotedstring): -#line 399 "./util/configlexer.lex" +#line 400 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 180: -YY_RULE_SETUP -#line 404 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 181: -/* rule 181 can match eol */ YY_RULE_SETUP #line 405 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 182: +/* rule 182 can match eol */ +YY_RULE_SETUP +#line 406 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end \""); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 182: +case 183: YY_RULE_SETUP -#line 407 "./util/configlexer.lex" +#line 408 "./util/configlexer.lex" { LEXOUT(("QE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -3394,34 +3404,34 @@ YY_RULE_SETUP } YY_BREAK /* Single Quoted strings. Strip leading and ending quotes */ -case 183: +case 184: YY_RULE_SETUP -#line 419 "./util/configlexer.lex" +#line 420 "./util/configlexer.lex" { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } YY_BREAK case YY_STATE_EOF(singlequotedstr): -#line 420 "./util/configlexer.lex" +#line 421 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); if(--num_args == 0) { BEGIN(INITIAL); } else { BEGIN(val); } } YY_BREAK -case 184: -YY_RULE_SETUP -#line 425 "./util/configlexer.lex" -{ LEXOUT(("STR(%s) ", yytext)); yymore(); } - YY_BREAK case 185: -/* rule 185 can match eol */ YY_RULE_SETUP #line 426 "./util/configlexer.lex" +{ LEXOUT(("STR(%s) ", yytext)); yymore(); } + YY_BREAK +case 186: +/* rule 186 can match eol */ +YY_RULE_SETUP +#line 427 "./util/configlexer.lex" { yyerror("newline inside quoted string, no end '"); cfg_parser->line++; BEGIN(INITIAL); } YY_BREAK -case 186: +case 187: YY_RULE_SETUP -#line 428 "./util/configlexer.lex" +#line 429 "./util/configlexer.lex" { LEXOUT(("SQE ")); if(--num_args == 0) { BEGIN(INITIAL); } @@ -3434,38 +3444,38 @@ YY_RULE_SETUP } YY_BREAK /* include: directive */ -case 187: +case 188: YY_RULE_SETUP -#line 440 "./util/configlexer.lex" +#line 441 "./util/configlexer.lex" { LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } YY_BREAK case YY_STATE_EOF(include): -#line 442 "./util/configlexer.lex" +#line 443 "./util/configlexer.lex" { yyerror("EOF inside include directive"); BEGIN(inc_prev); } YY_BREAK -case 188: -YY_RULE_SETUP -#line 446 "./util/configlexer.lex" -{ LEXOUT(("ISP ")); /* ignore */ } - YY_BREAK case 189: -/* rule 189 can match eol */ YY_RULE_SETUP #line 447 "./util/configlexer.lex" -{ LEXOUT(("NL\n")); cfg_parser->line++;} +{ LEXOUT(("ISP ")); /* ignore */ } YY_BREAK case 190: +/* rule 190 can match eol */ YY_RULE_SETUP #line 448 "./util/configlexer.lex" -{ LEXOUT(("IQS ")); BEGIN(include_quoted); } +{ LEXOUT(("NL\n")); cfg_parser->line++;} YY_BREAK case 191: YY_RULE_SETUP #line 449 "./util/configlexer.lex" +{ LEXOUT(("IQS ")); BEGIN(include_quoted); } + YY_BREAK +case 192: +YY_RULE_SETUP +#line 450 "./util/configlexer.lex" { LEXOUT(("Iunquotedstr(%s) ", yytext)); config_start_include_glob(yytext); @@ -3473,27 +3483,27 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(include_quoted): -#line 454 "./util/configlexer.lex" +#line 455 "./util/configlexer.lex" { yyerror("EOF inside quoted string"); BEGIN(inc_prev); } YY_BREAK -case 192: -YY_RULE_SETUP -#line 458 "./util/configlexer.lex" -{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } - YY_BREAK case 193: -/* rule 193 can match eol */ YY_RULE_SETUP #line 459 "./util/configlexer.lex" +{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); } + YY_BREAK +case 194: +/* rule 194 can match eol */ +YY_RULE_SETUP +#line 460 "./util/configlexer.lex" { yyerror("newline before \" in include name"); cfg_parser->line++; BEGIN(inc_prev); } YY_BREAK -case 194: +case 195: YY_RULE_SETUP -#line 461 "./util/configlexer.lex" +#line 462 "./util/configlexer.lex" { LEXOUT(("IQE ")); yytext[yyleng - 1] = '\0'; @@ -3503,7 +3513,7 @@ YY_RULE_SETUP YY_BREAK case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(val): -#line 467 "./util/configlexer.lex" +#line 468 "./util/configlexer.lex" { LEXOUT(("LEXEOF ")); yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ @@ -3515,33 +3525,33 @@ case YY_STATE_EOF(val): } } YY_BREAK -case 195: +case 196: YY_RULE_SETUP -#line 478 "./util/configlexer.lex" +#line 479 "./util/configlexer.lex" { LEXOUT(("unquotedstr(%s) ", yytext)); if(--num_args == 0) { BEGIN(INITIAL); } yylval.str = strdup(yytext); return STRING_ARG; } YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 482 "./util/configlexer.lex" +#line 483 "./util/configlexer.lex" { ub_c_error_msg("unknown keyword '%s'", yytext); } YY_BREAK -case 197: +case 198: YY_RULE_SETUP -#line 486 "./util/configlexer.lex" +#line 487 "./util/configlexer.lex" { ub_c_error_msg("stray '%s'", yytext); } YY_BREAK -case 198: +case 199: YY_RULE_SETUP -#line 490 "./util/configlexer.lex" +#line 491 "./util/configlexer.lex" ECHO; YY_BREAK -#line 3543 "" +#line 3553 "" case YY_END_OF_BUFFER: { @@ -3832,7 +3842,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 >= 1961 ) + if ( yy_current_state >= 1969 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -3860,11 +3870,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 >= 1961 ) + if ( yy_current_state >= 1969 ) 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 == 1960); + yy_is_jam = (yy_current_state == 1968); return yy_is_jam ? 0 : yy_current_state; } @@ -4503,7 +4513,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 490 "./util/configlexer.lex" +#line 491 "./util/configlexer.lex" diff --git a/util/configlexer.lex b/util/configlexer.lex index 7a0710aad..366f60895 100644 --- a/util/configlexer.lex +++ b/util/configlexer.lex @@ -334,6 +334,7 @@ use-syslog{COLON} { YDVAR(1, VAR_USE_SYSLOG) } log-identity{COLON} { YDVAR(1, VAR_LOG_IDENTITY) } log-time-ascii{COLON} { YDVAR(1, VAR_LOG_TIME_ASCII) } log-queries{COLON} { YDVAR(1, VAR_LOG_QUERIES) } +log-replies{COLON} { YDVAR(1, VAR_LOG_REPLIES) } local-zone{COLON} { YDVAR(2, VAR_LOCAL_ZONE) } local-data{COLON} { YDVAR(1, VAR_LOCAL_DATA) } local-data-ptr{COLON} { YDVAR(1, VAR_LOCAL_DATA_PTR) } diff --git a/util/configparser.c b/util/configparser.c index dce728ba3..12e25ac14 100644 --- a/util/configparser.c +++ b/util/configparser.c @@ -247,65 +247,66 @@ extern int yydebug; VAR_HARDEN_BELOW_NXDOMAIN = 378, VAR_IGNORE_CD_FLAG = 379, VAR_LOG_QUERIES = 380, - VAR_TCP_UPSTREAM = 381, - VAR_SSL_UPSTREAM = 382, - VAR_SSL_SERVICE_KEY = 383, - VAR_SSL_SERVICE_PEM = 384, - VAR_SSL_PORT = 385, - VAR_FORWARD_FIRST = 386, - VAR_STUB_SSL_UPSTREAM = 387, - VAR_FORWARD_SSL_UPSTREAM = 388, - VAR_STUB_FIRST = 389, - VAR_MINIMAL_RESPONSES = 390, - VAR_RRSET_ROUNDROBIN = 391, - VAR_MAX_UDP_SIZE = 392, - VAR_DELAY_CLOSE = 393, - VAR_UNBLOCK_LAN_ZONES = 394, - VAR_INSECURE_LAN_ZONES = 395, - VAR_INFRA_CACHE_MIN_RTT = 396, - VAR_DNS64_PREFIX = 397, - VAR_DNS64_SYNTHALL = 398, - VAR_DNSTAP = 399, - VAR_DNSTAP_ENABLE = 400, - VAR_DNSTAP_SOCKET_PATH = 401, - VAR_DNSTAP_SEND_IDENTITY = 402, - VAR_DNSTAP_SEND_VERSION = 403, - VAR_DNSTAP_IDENTITY = 404, - VAR_DNSTAP_VERSION = 405, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 406, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 407, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 408, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 409, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 410, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 411, - VAR_HARDEN_ALGO_DOWNGRADE = 412, - VAR_IP_TRANSPARENT = 413, - VAR_DISABLE_DNSSEC_LAME_CHECK = 414, - VAR_RATELIMIT = 415, - VAR_RATELIMIT_SLABS = 416, - VAR_RATELIMIT_SIZE = 417, - VAR_RATELIMIT_FOR_DOMAIN = 418, - VAR_RATELIMIT_BELOW_DOMAIN = 419, - VAR_RATELIMIT_FACTOR = 420, - VAR_CAPS_WHITELIST = 421, - VAR_CACHE_MAX_NEGATIVE_TTL = 422, - VAR_PERMIT_SMALL_HOLDDOWN = 423, - VAR_QNAME_MINIMISATION = 424, - VAR_QNAME_MINIMISATION_STRICT = 425, - VAR_IP_FREEBIND = 426, - VAR_DEFINE_TAG = 427, - VAR_LOCAL_ZONE_TAG = 428, - VAR_ACCESS_CONTROL_TAG = 429, - VAR_LOCAL_ZONE_OVERRIDE = 430, - VAR_ACCESS_CONTROL_TAG_ACTION = 431, - VAR_ACCESS_CONTROL_TAG_DATA = 432, - VAR_VIEW = 433, - VAR_ACCESS_CONTROL_VIEW = 434, - VAR_VIEW_FIRST = 435, - VAR_SERVE_EXPIRED = 436, - VAR_FAKE_DSA = 437, - VAR_LOG_IDENTITY = 438, - VAR_USE_SYSTEMD = 439 + VAR_LOG_REPLIES = 381, + VAR_TCP_UPSTREAM = 382, + VAR_SSL_UPSTREAM = 383, + VAR_SSL_SERVICE_KEY = 384, + VAR_SSL_SERVICE_PEM = 385, + VAR_SSL_PORT = 386, + VAR_FORWARD_FIRST = 387, + VAR_STUB_SSL_UPSTREAM = 388, + VAR_FORWARD_SSL_UPSTREAM = 389, + VAR_STUB_FIRST = 390, + VAR_MINIMAL_RESPONSES = 391, + VAR_RRSET_ROUNDROBIN = 392, + VAR_MAX_UDP_SIZE = 393, + VAR_DELAY_CLOSE = 394, + VAR_UNBLOCK_LAN_ZONES = 395, + VAR_INSECURE_LAN_ZONES = 396, + VAR_INFRA_CACHE_MIN_RTT = 397, + VAR_DNS64_PREFIX = 398, + VAR_DNS64_SYNTHALL = 399, + VAR_DNSTAP = 400, + VAR_DNSTAP_ENABLE = 401, + VAR_DNSTAP_SOCKET_PATH = 402, + VAR_DNSTAP_SEND_IDENTITY = 403, + VAR_DNSTAP_SEND_VERSION = 404, + VAR_DNSTAP_IDENTITY = 405, + VAR_DNSTAP_VERSION = 406, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 407, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 408, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 409, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 410, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 411, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 412, + VAR_HARDEN_ALGO_DOWNGRADE = 413, + VAR_IP_TRANSPARENT = 414, + VAR_DISABLE_DNSSEC_LAME_CHECK = 415, + VAR_RATELIMIT = 416, + VAR_RATELIMIT_SLABS = 417, + VAR_RATELIMIT_SIZE = 418, + VAR_RATELIMIT_FOR_DOMAIN = 419, + VAR_RATELIMIT_BELOW_DOMAIN = 420, + VAR_RATELIMIT_FACTOR = 421, + VAR_CAPS_WHITELIST = 422, + VAR_CACHE_MAX_NEGATIVE_TTL = 423, + VAR_PERMIT_SMALL_HOLDDOWN = 424, + VAR_QNAME_MINIMISATION = 425, + VAR_QNAME_MINIMISATION_STRICT = 426, + VAR_IP_FREEBIND = 427, + VAR_DEFINE_TAG = 428, + VAR_LOCAL_ZONE_TAG = 429, + VAR_ACCESS_CONTROL_TAG = 430, + VAR_LOCAL_ZONE_OVERRIDE = 431, + VAR_ACCESS_CONTROL_TAG_ACTION = 432, + VAR_ACCESS_CONTROL_TAG_DATA = 433, + VAR_VIEW = 434, + VAR_ACCESS_CONTROL_VIEW = 435, + VAR_VIEW_FIRST = 436, + VAR_SERVE_EXPIRED = 437, + VAR_FAKE_DSA = 438, + VAR_LOG_IDENTITY = 439, + VAR_USE_SYSTEMD = 440 }; #endif /* Tokens. */ @@ -432,65 +433,66 @@ extern int yydebug; #define VAR_HARDEN_BELOW_NXDOMAIN 378 #define VAR_IGNORE_CD_FLAG 379 #define VAR_LOG_QUERIES 380 -#define VAR_TCP_UPSTREAM 381 -#define VAR_SSL_UPSTREAM 382 -#define VAR_SSL_SERVICE_KEY 383 -#define VAR_SSL_SERVICE_PEM 384 -#define VAR_SSL_PORT 385 -#define VAR_FORWARD_FIRST 386 -#define VAR_STUB_SSL_UPSTREAM 387 -#define VAR_FORWARD_SSL_UPSTREAM 388 -#define VAR_STUB_FIRST 389 -#define VAR_MINIMAL_RESPONSES 390 -#define VAR_RRSET_ROUNDROBIN 391 -#define VAR_MAX_UDP_SIZE 392 -#define VAR_DELAY_CLOSE 393 -#define VAR_UNBLOCK_LAN_ZONES 394 -#define VAR_INSECURE_LAN_ZONES 395 -#define VAR_INFRA_CACHE_MIN_RTT 396 -#define VAR_DNS64_PREFIX 397 -#define VAR_DNS64_SYNTHALL 398 -#define VAR_DNSTAP 399 -#define VAR_DNSTAP_ENABLE 400 -#define VAR_DNSTAP_SOCKET_PATH 401 -#define VAR_DNSTAP_SEND_IDENTITY 402 -#define VAR_DNSTAP_SEND_VERSION 403 -#define VAR_DNSTAP_IDENTITY 404 -#define VAR_DNSTAP_VERSION 405 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 406 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 407 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 408 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 409 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 410 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 411 -#define VAR_HARDEN_ALGO_DOWNGRADE 412 -#define VAR_IP_TRANSPARENT 413 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 414 -#define VAR_RATELIMIT 415 -#define VAR_RATELIMIT_SLABS 416 -#define VAR_RATELIMIT_SIZE 417 -#define VAR_RATELIMIT_FOR_DOMAIN 418 -#define VAR_RATELIMIT_BELOW_DOMAIN 419 -#define VAR_RATELIMIT_FACTOR 420 -#define VAR_CAPS_WHITELIST 421 -#define VAR_CACHE_MAX_NEGATIVE_TTL 422 -#define VAR_PERMIT_SMALL_HOLDDOWN 423 -#define VAR_QNAME_MINIMISATION 424 -#define VAR_QNAME_MINIMISATION_STRICT 425 -#define VAR_IP_FREEBIND 426 -#define VAR_DEFINE_TAG 427 -#define VAR_LOCAL_ZONE_TAG 428 -#define VAR_ACCESS_CONTROL_TAG 429 -#define VAR_LOCAL_ZONE_OVERRIDE 430 -#define VAR_ACCESS_CONTROL_TAG_ACTION 431 -#define VAR_ACCESS_CONTROL_TAG_DATA 432 -#define VAR_VIEW 433 -#define VAR_ACCESS_CONTROL_VIEW 434 -#define VAR_VIEW_FIRST 435 -#define VAR_SERVE_EXPIRED 436 -#define VAR_FAKE_DSA 437 -#define VAR_LOG_IDENTITY 438 -#define VAR_USE_SYSTEMD 439 +#define VAR_LOG_REPLIES 381 +#define VAR_TCP_UPSTREAM 382 +#define VAR_SSL_UPSTREAM 383 +#define VAR_SSL_SERVICE_KEY 384 +#define VAR_SSL_SERVICE_PEM 385 +#define VAR_SSL_PORT 386 +#define VAR_FORWARD_FIRST 387 +#define VAR_STUB_SSL_UPSTREAM 388 +#define VAR_FORWARD_SSL_UPSTREAM 389 +#define VAR_STUB_FIRST 390 +#define VAR_MINIMAL_RESPONSES 391 +#define VAR_RRSET_ROUNDROBIN 392 +#define VAR_MAX_UDP_SIZE 393 +#define VAR_DELAY_CLOSE 394 +#define VAR_UNBLOCK_LAN_ZONES 395 +#define VAR_INSECURE_LAN_ZONES 396 +#define VAR_INFRA_CACHE_MIN_RTT 397 +#define VAR_DNS64_PREFIX 398 +#define VAR_DNS64_SYNTHALL 399 +#define VAR_DNSTAP 400 +#define VAR_DNSTAP_ENABLE 401 +#define VAR_DNSTAP_SOCKET_PATH 402 +#define VAR_DNSTAP_SEND_IDENTITY 403 +#define VAR_DNSTAP_SEND_VERSION 404 +#define VAR_DNSTAP_IDENTITY 405 +#define VAR_DNSTAP_VERSION 406 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 407 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 408 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 409 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 410 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 411 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 412 +#define VAR_HARDEN_ALGO_DOWNGRADE 413 +#define VAR_IP_TRANSPARENT 414 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 415 +#define VAR_RATELIMIT 416 +#define VAR_RATELIMIT_SLABS 417 +#define VAR_RATELIMIT_SIZE 418 +#define VAR_RATELIMIT_FOR_DOMAIN 419 +#define VAR_RATELIMIT_BELOW_DOMAIN 420 +#define VAR_RATELIMIT_FACTOR 421 +#define VAR_CAPS_WHITELIST 422 +#define VAR_CACHE_MAX_NEGATIVE_TTL 423 +#define VAR_PERMIT_SMALL_HOLDDOWN 424 +#define VAR_QNAME_MINIMISATION 425 +#define VAR_QNAME_MINIMISATION_STRICT 426 +#define VAR_IP_FREEBIND 427 +#define VAR_DEFINE_TAG 428 +#define VAR_LOCAL_ZONE_TAG 429 +#define VAR_ACCESS_CONTROL_TAG 430 +#define VAR_LOCAL_ZONE_OVERRIDE 431 +#define VAR_ACCESS_CONTROL_TAG_ACTION 432 +#define VAR_ACCESS_CONTROL_TAG_DATA 433 +#define VAR_VIEW 434 +#define VAR_ACCESS_CONTROL_VIEW 435 +#define VAR_VIEW_FIRST 436 +#define VAR_SERVE_EXPIRED 437 +#define VAR_FAKE_DSA 438 +#define VAR_LOG_IDENTITY 439 +#define VAR_USE_SYSTEMD 440 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -501,7 +503,7 @@ union YYSTYPE char* str; -#line 505 "util/configparser.c" /* yacc.c:355 */ +#line 507 "util/configparser.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -518,7 +520,7 @@ int yyparse (void); /* Copy the second part of user declarations. */ -#line 522 "util/configparser.c" /* yacc.c:358 */ +#line 524 "util/configparser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -760,21 +762,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 365 +#define YYLAST 367 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 185 +#define YYNTOKENS 186 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 195 +#define YYNNTS 196 /* YYNRULES -- Number of rules. */ -#define YYNRULES 373 +#define YYNRULES 375 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 559 +#define YYNSTATES 562 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 439 +#define YYMAXUTOK 440 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -826,51 +828,52 @@ static const yytype_uint8 yytranslate[] = 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 + 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 138, 138, 138, 139, 139, 140, 140, 141, 141, - 141, 146, 151, 152, 153, 153, 153, 154, 154, 155, - 155, 156, 156, 157, 157, 158, 158, 158, 159, 159, - 159, 160, 160, 161, 161, 162, 162, 163, 163, 164, - 164, 165, 165, 166, 166, 167, 167, 168, 168, 168, - 169, 169, 169, 170, 170, 170, 171, 171, 172, 172, - 173, 173, 174, 174, 175, 175, 175, 176, 176, 177, - 177, 178, 178, 178, 179, 179, 180, 180, 181, 181, - 182, 182, 182, 183, 183, 184, 184, 185, 185, 186, - 186, 187, 187, 188, 188, 188, 189, 189, 190, 190, - 190, 191, 191, 191, 192, 192, 192, 193, 193, 193, - 194, 194, 194, 195, 195, 195, 196, 196, 197, 197, - 198, 198, 199, 199, 200, 200, 200, 201, 201, 202, - 202, 203, 203, 204, 204, 205, 205, 205, 206, 206, - 207, 207, 208, 208, 209, 209, 210, 210, 210, 212, - 224, 225, 226, 226, 226, 226, 226, 227, 229, 241, - 242, 243, 243, 243, 243, 244, 246, 260, 261, 262, - 262, 262, 262, 264, 273, 282, 293, 302, 311, 320, - 333, 348, 357, 366, 375, 384, 393, 402, 411, 420, - 429, 438, 447, 456, 465, 474, 483, 490, 497, 506, - 515, 524, 538, 547, 556, 563, 570, 596, 604, 611, - 618, 625, 632, 640, 648, 656, 663, 670, 679, 688, - 695, 702, 710, 718, 728, 738, 748, 761, 772, 780, - 793, 802, 811, 820, 830, 840, 848, 861, 870, 878, - 887, 895, 908, 917, 924, 934, 944, 954, 964, 974, - 984, 994, 1004, 1011, 1018, 1025, 1034, 1043, 1052, 1059, - 1069, 1086, 1093, 1111, 1124, 1137, 1146, 1155, 1164, 1173, - 1183, 1193, 1202, 1211, 1224, 1233, 1240, 1249, 1258, 1267, - 1276, 1284, 1297, 1305, 1333, 1340, 1355, 1365, 1375, 1382, - 1389, 1398, 1412, 1431, 1450, 1462, 1474, 1486, 1497, 1506, - 1514, 1527, 1540, 1553, 1562, 1572, 1582, 1592, 1599, 1606, - 1615, 1625, 1635, 1645, 1652, 1659, 1668, 1678, 1688, 1717, - 1726, 1735, 1740, 1741, 1742, 1742, 1742, 1743, 1743, 1743, - 1744, 1744, 1746, 1756, 1765, 1772, 1782, 1789, 1796, 1803, - 1810, 1815, 1816, 1817, 1817, 1818, 1818, 1819, 1819, 1820, - 1821, 1822, 1823, 1824, 1825, 1827, 1835, 1842, 1850, 1858, - 1865, 1872, 1881, 1890, 1899, 1908, 1917, 1926, 1931, 1932, - 1933, 1935, 1941, 1951 + 0, 139, 139, 139, 140, 140, 141, 141, 142, 142, + 142, 147, 152, 153, 154, 154, 154, 155, 155, 156, + 156, 157, 157, 158, 158, 159, 159, 159, 160, 160, + 160, 161, 161, 162, 162, 163, 163, 164, 164, 165, + 165, 166, 166, 167, 167, 168, 168, 169, 169, 169, + 170, 170, 170, 171, 171, 171, 172, 172, 173, 173, + 174, 174, 175, 175, 176, 176, 176, 177, 177, 178, + 178, 179, 179, 179, 180, 180, 181, 181, 182, 182, + 183, 183, 183, 184, 184, 185, 185, 186, 186, 187, + 187, 188, 188, 189, 189, 189, 190, 190, 191, 191, + 191, 192, 192, 192, 193, 193, 193, 194, 194, 194, + 194, 195, 195, 195, 196, 196, 196, 197, 197, 198, + 198, 199, 199, 200, 200, 201, 201, 201, 202, 202, + 203, 203, 204, 204, 205, 205, 206, 206, 206, 207, + 207, 208, 208, 209, 209, 210, 210, 211, 211, 211, + 213, 225, 226, 227, 227, 227, 227, 227, 228, 230, + 242, 243, 244, 244, 244, 244, 245, 247, 261, 262, + 263, 263, 263, 263, 265, 274, 283, 294, 303, 312, + 321, 334, 349, 358, 367, 376, 385, 394, 403, 412, + 421, 430, 439, 448, 457, 466, 475, 484, 491, 498, + 507, 516, 525, 539, 548, 557, 566, 573, 580, 606, + 614, 621, 628, 635, 642, 650, 658, 666, 673, 680, + 689, 698, 705, 712, 720, 728, 738, 748, 758, 771, + 782, 790, 803, 812, 821, 830, 840, 850, 858, 871, + 880, 888, 897, 905, 918, 927, 934, 944, 954, 964, + 974, 984, 994, 1004, 1014, 1021, 1028, 1035, 1044, 1053, + 1062, 1069, 1079, 1096, 1103, 1121, 1134, 1147, 1156, 1165, + 1174, 1183, 1193, 1203, 1212, 1221, 1234, 1243, 1250, 1259, + 1268, 1277, 1286, 1294, 1307, 1315, 1343, 1350, 1365, 1375, + 1385, 1392, 1399, 1408, 1422, 1441, 1460, 1472, 1484, 1496, + 1507, 1516, 1524, 1537, 1550, 1563, 1572, 1582, 1592, 1602, + 1609, 1616, 1625, 1635, 1645, 1655, 1662, 1669, 1678, 1688, + 1698, 1727, 1736, 1745, 1750, 1751, 1752, 1752, 1752, 1753, + 1753, 1753, 1754, 1754, 1756, 1766, 1775, 1782, 1792, 1799, + 1806, 1813, 1820, 1825, 1826, 1827, 1827, 1828, 1828, 1829, + 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1837, 1845, 1852, + 1860, 1868, 1875, 1882, 1891, 1900, 1909, 1918, 1927, 1936, + 1941, 1942, 1943, 1945, 1951, 1961 }; #endif @@ -918,15 +921,15 @@ static const char *const yytname[] = "VAR_SO_RCVBUF", "VAR_EDNS_BUFFER_SIZE", "VAR_PREFETCH", "VAR_PREFETCH_KEY", "VAR_SO_SNDBUF", "VAR_SO_REUSEPORT", "VAR_HARDEN_BELOW_NXDOMAIN", "VAR_IGNORE_CD_FLAG", "VAR_LOG_QUERIES", - "VAR_TCP_UPSTREAM", "VAR_SSL_UPSTREAM", "VAR_SSL_SERVICE_KEY", - "VAR_SSL_SERVICE_PEM", "VAR_SSL_PORT", "VAR_FORWARD_FIRST", - "VAR_STUB_SSL_UPSTREAM", "VAR_FORWARD_SSL_UPSTREAM", "VAR_STUB_FIRST", - "VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE", - "VAR_DELAY_CLOSE", "VAR_UNBLOCK_LAN_ZONES", "VAR_INSECURE_LAN_ZONES", - "VAR_INFRA_CACHE_MIN_RTT", "VAR_DNS64_PREFIX", "VAR_DNS64_SYNTHALL", - "VAR_DNSTAP", "VAR_DNSTAP_ENABLE", "VAR_DNSTAP_SOCKET_PATH", - "VAR_DNSTAP_SEND_IDENTITY", "VAR_DNSTAP_SEND_VERSION", - "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION", + "VAR_LOG_REPLIES", "VAR_TCP_UPSTREAM", "VAR_SSL_UPSTREAM", + "VAR_SSL_SERVICE_KEY", "VAR_SSL_SERVICE_PEM", "VAR_SSL_PORT", + "VAR_FORWARD_FIRST", "VAR_STUB_SSL_UPSTREAM", "VAR_FORWARD_SSL_UPSTREAM", + "VAR_STUB_FIRST", "VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", + "VAR_MAX_UDP_SIZE", "VAR_DELAY_CLOSE", "VAR_UNBLOCK_LAN_ZONES", + "VAR_INSECURE_LAN_ZONES", "VAR_INFRA_CACHE_MIN_RTT", "VAR_DNS64_PREFIX", + "VAR_DNS64_SYNTHALL", "VAR_DNSTAP", "VAR_DNSTAP_ENABLE", + "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_SEND_IDENTITY", + "VAR_DNSTAP_SEND_VERSION", "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION", "VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES", "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES", "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES", @@ -959,8 +962,8 @@ static const char *const yytname[] = "server_outgoing_tcp_mss", "server_tcp_upstream", "server_ssl_upstream", "server_ssl_service_key", "server_ssl_service_pem", "server_ssl_port", "server_use_systemd", "server_do_daemonize", "server_use_syslog", - "server_log_time_ascii", "server_log_queries", "server_chroot", - "server_username", "server_directory", "server_logfile", + "server_log_time_ascii", "server_log_queries", "server_log_replies", + "server_chroot", "server_username", "server_directory", "server_logfile", "server_pidfile", "server_root_hints", "server_dlv_anchor_file", "server_dlv_anchor", "server_auto_trust_anchor_file", "server_trust_anchor_file", "server_trusted_keys_file", @@ -1049,14 +1052,14 @@ static const yytype_uint16 yytoknum[] = 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439 + 435, 436, 437, 438, 439, 440 }; # endif -#define YYPACT_NINF -130 +#define YYPACT_NINF -131 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-130))) + (!!((Yystate) == (-131))) #define YYTABLE_NINF -1 @@ -1067,62 +1070,63 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -130, 0, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, 135, -38, - -34, -39, -64, -129, -105, -3, -2, -1, 2, 3, + -131, 0, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, 136, -38, + -34, -39, -64, -130, -105, -3, -2, -1, 2, 3, 26, 29, 30, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 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, - 82, 83, 85, 88, 90, 91, 92, 93, 94, 95, + 82, 83, 84, 86, 89, 91, 92, 93, 94, 95, 96, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 132, 133, 136, 165, 166, 167, - 172, 173, 174, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 228, 232, 233, 256, 257, 258, 259, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, 280, 281, 303, 305, - 310, 311, -130, -130, -130, -130, -130, -130, -130, 312, - 313, 314, 315, 316, -130, -130, -130, -130, -130, -130, - 317, 318, 319, 320, -130, -130, -130, -130, -130, 321, - 322, 323, 324, 325, 326, 327, 328, -130, -130, -130, - -130, -130, -130, -130, -130, -130, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, 341, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - 342, 343, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, 344, - 345, -130, -130, -130, -130, -130, -130, -130, -130, 346, - 347, 348, 349, 350, 351, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, 352, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, 353, 354, 355, -130, -130, -130, -130, -130 + 127, 128, 129, 130, 131, 133, 134, 137, 166, 167, + 168, 173, 174, 175, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 229, 233, 234, 258, 259, 260, 261, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, 282, 283, + 305, 307, 312, 313, -131, -131, -131, -131, -131, -131, + -131, 314, 315, 316, 317, 318, -131, -131, -131, -131, + -131, -131, 319, 320, 321, 322, -131, -131, -131, -131, + -131, 323, 324, 325, 326, 327, 328, 329, 330, -131, + -131, -131, -131, -131, -131, -131, -131, -131, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, 343, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, 344, 345, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, 346, 347, -131, -131, -131, -131, -131, -131, + -131, -131, 348, 349, 350, 351, 352, 353, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, 354, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, 355, 356, 357, -131, -131, -131, + -131, -131 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1130,8 +1134,8 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 1, 11, 149, 158, 321, 367, 340, 166, - 3, 13, 151, 160, 168, 323, 342, 369, 4, 5, + 2, 0, 1, 11, 150, 159, 323, 369, 342, 167, + 3, 13, 152, 161, 169, 325, 344, 371, 4, 5, 6, 10, 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, @@ -1146,96 +1150,97 @@ 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, - 12, 14, 15, 74, 77, 86, 16, 25, 65, 17, - 78, 79, 36, 58, 73, 18, 19, 21, 22, 20, - 23, 24, 108, 109, 110, 111, 112, 148, 75, 64, - 90, 107, 26, 27, 28, 29, 30, 66, 80, 81, - 96, 52, 62, 53, 91, 46, 47, 48, 49, 100, - 104, 116, 124, 135, 101, 59, 31, 32, 33, 88, - 117, 118, 119, 34, 35, 37, 38, 40, 41, 39, - 122, 42, 43, 44, 50, 69, 105, 83, 123, 76, - 131, 84, 85, 102, 103, 89, 45, 67, 70, 51, - 54, 92, 93, 68, 132, 94, 55, 56, 57, 106, - 145, 146, 95, 63, 97, 98, 99, 133, 60, 61, - 82, 71, 72, 87, 113, 114, 115, 120, 121, 136, - 137, 139, 141, 142, 140, 143, 125, 127, 126, 128, - 129, 130, 134, 144, 138, 147, 0, 0, 0, 0, - 0, 0, 150, 152, 153, 154, 156, 157, 155, 0, - 0, 0, 0, 0, 159, 161, 162, 163, 164, 165, - 0, 0, 0, 0, 167, 169, 170, 171, 172, 0, - 0, 0, 0, 0, 0, 0, 0, 322, 324, 326, - 325, 331, 327, 328, 329, 330, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 341, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 0, 368, 370, 174, 173, 178, 181, 179, 187, - 188, 191, 189, 190, 192, 193, 204, 205, 206, 207, - 208, 228, 229, 230, 235, 236, 184, 237, 238, 241, - 239, 240, 243, 244, 245, 258, 217, 218, 219, 220, - 246, 261, 213, 215, 262, 268, 269, 270, 185, 227, - 280, 281, 214, 275, 201, 180, 209, 259, 265, 247, - 0, 0, 284, 186, 175, 200, 251, 176, 182, 183, - 210, 211, 282, 249, 253, 254, 177, 285, 231, 257, - 202, 216, 263, 264, 267, 274, 212, 278, 276, 277, - 221, 226, 255, 256, 222, 223, 248, 271, 203, 194, - 195, 196, 197, 198, 286, 287, 288, 232, 233, 234, - 242, 289, 290, 250, 224, 372, 298, 300, 299, 0, - 0, 303, 252, 266, 279, 304, 305, 225, 291, 0, - 0, 0, 0, 0, 0, 272, 273, 373, 199, 306, - 307, 308, 311, 310, 309, 312, 313, 314, 315, 316, - 317, 0, 319, 320, 332, 334, 333, 336, 337, 338, - 339, 335, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 371, 260, 283, 301, 302, 292, - 293, 0, 0, 0, 297, 318, 296, 294, 295 + 0, 12, 14, 15, 74, 77, 86, 16, 25, 65, + 17, 78, 79, 36, 58, 73, 18, 19, 21, 22, + 20, 23, 24, 109, 110, 111, 112, 113, 149, 75, + 64, 90, 107, 108, 26, 27, 28, 29, 30, 66, + 80, 81, 96, 52, 62, 53, 91, 46, 47, 48, + 49, 100, 104, 117, 125, 136, 101, 59, 31, 32, + 33, 88, 118, 119, 120, 34, 35, 37, 38, 40, + 41, 39, 123, 42, 43, 44, 50, 69, 105, 83, + 124, 76, 132, 84, 85, 102, 103, 89, 45, 67, + 70, 51, 54, 92, 93, 68, 133, 94, 55, 56, + 57, 106, 146, 147, 95, 63, 97, 98, 99, 134, + 60, 61, 82, 71, 72, 87, 114, 115, 116, 121, + 122, 137, 138, 140, 142, 143, 141, 144, 126, 128, + 127, 129, 130, 131, 135, 145, 139, 148, 0, 0, + 0, 0, 0, 0, 151, 153, 154, 155, 157, 158, + 156, 0, 0, 0, 0, 0, 160, 162, 163, 164, + 165, 166, 0, 0, 0, 0, 168, 170, 171, 172, + 173, 0, 0, 0, 0, 0, 0, 0, 0, 324, + 326, 328, 327, 333, 329, 330, 331, 332, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 343, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 0, 370, 372, 175, 174, 179, 182, + 180, 188, 189, 192, 190, 191, 193, 194, 206, 207, + 208, 209, 210, 230, 231, 232, 237, 238, 185, 239, + 240, 243, 241, 242, 245, 246, 247, 260, 219, 220, + 221, 222, 248, 263, 215, 217, 264, 270, 271, 272, + 186, 229, 282, 283, 216, 277, 202, 181, 211, 261, + 267, 249, 0, 0, 286, 187, 176, 201, 253, 177, + 183, 184, 212, 213, 284, 251, 255, 256, 178, 287, + 233, 259, 203, 218, 265, 266, 269, 276, 214, 280, + 278, 279, 223, 228, 257, 258, 224, 225, 250, 273, + 204, 205, 195, 196, 197, 198, 199, 288, 289, 290, + 234, 235, 236, 244, 291, 292, 252, 226, 374, 300, + 302, 301, 0, 0, 305, 254, 268, 281, 306, 307, + 227, 293, 0, 0, 0, 0, 0, 0, 274, 275, + 375, 200, 308, 309, 310, 313, 312, 311, 314, 315, + 316, 317, 318, 319, 0, 321, 322, 334, 336, 335, + 338, 339, 340, 341, 337, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 373, 262, 285, + 303, 304, 294, 295, 0, 0, 0, 299, 320, 298, + 296, 297 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, -130, -130 + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131, -131, -131, -131, -131, + -131, -131, -131, -131, -131, -131 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 10, 11, 18, 160, 12, 19, 302, 13, - 20, 314, 14, 21, 324, 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, 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, 288, 289, 290, 291, 292, 293, 303, 304, - 305, 306, 307, 308, 315, 316, 317, 318, 319, 325, - 326, 327, 328, 15, 22, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 16, 23, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 17, - 24, 372, 373, 294, 295 + -1, 1, 10, 11, 18, 161, 12, 19, 304, 13, + 20, 316, 14, 21, 326, 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, 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, 288, 289, 290, 291, 292, 293, 294, 295, 305, + 306, 307, 308, 309, 310, 317, 318, 319, 320, 321, + 327, 328, 329, 330, 15, 22, 339, 340, 341, 342, + 343, 344, 345, 346, 347, 16, 23, 360, 361, 362, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 17, 24, 374, 375, 296, 297 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1243,93 +1248,93 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint16 yytable[] = { - 2, 320, 296, 371, 297, 298, 309, 374, 375, 376, - 0, 3, 377, 378, 310, 311, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 329, 330, - 331, 332, 333, 334, 335, 336, 379, 321, 322, 380, - 381, 4, 382, 383, 384, 385, 386, 5, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 403, 299, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 6, 429, 430, 300, 431, 301, 312, 432, 313, - 433, 434, 435, 436, 437, 438, 439, 7, 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, 470, 471, - 472, 323, 473, 474, 8, 0, 475, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 476, 477, 478, 9, 53, - 54, 55, 479, 480, 481, 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, - 91, 92, 93, 94, 95, 96, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 97, 98, 99, 491, 100, - 101, 102, 492, 493, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 494, 495, 496, 497, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 511, 155, 512, 156, 157, 158, 159, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558 + 2, 322, 298, 373, 299, 300, 311, 376, 377, 378, + 0, 3, 379, 380, 312, 313, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 331, 332, + 333, 334, 335, 336, 337, 338, 381, 323, 324, 382, + 383, 4, 384, 385, 386, 387, 388, 5, 389, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 301, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 6, 431, 432, 433, 302, 434, 303, 314, 435, + 315, 436, 437, 438, 439, 440, 441, 7, 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, 470, 471, 472, 473, + 474, 475, 325, 476, 477, 8, 0, 478, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 479, 480, 481, 9, + 53, 54, 55, 482, 483, 484, 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, 91, 92, 93, 94, 95, 96, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 97, 98, 99, 494, + 100, 101, 102, 495, 496, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 497, 498, + 499, 500, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 514, 156, 515, 157, 158, + 159, 160, 516, 517, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, + 554, 555, 556, 557, 558, 559, 560, 561 }; static const yytype_int16 yycheck[] = { 0, 40, 40, 108, 42, 43, 40, 10, 10, 10, - -1, 11, 10, 10, 48, 49, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 92, 93, + -1, 11, 10, 10, 48, 49, 146, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 92, 93, 94, 95, 96, 97, 98, 99, 10, 76, 77, 10, 10, 41, 10, 10, 10, 10, 10, 47, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 103, 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, 91, 10, 10, 132, 10, 134, 131, 10, 133, - 10, 10, 10, 10, 10, 10, 10, 107, 10, 10, + 10, 91, 10, 10, 10, 133, 10, 135, 132, 10, + 134, 10, 10, 10, 10, 10, 10, 107, 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, 180, 10, 10, 144, -1, 10, 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, 37, 38, 39, 10, 10, 10, 178, 44, - 45, 46, 10, 10, 10, 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, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 100, 101, 102, 10, 104, - 105, 106, 10, 10, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 10, 10, 10, 10, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 10, 179, 10, 181, 182, 183, 184, + 10, 10, 181, 10, 10, 145, -1, 10, 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, 37, 38, 39, 10, 10, 10, 179, + 44, 45, 46, 10, 10, 10, 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, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 100, 101, 102, 10, + 104, 105, 106, 10, 10, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 10, 10, + 10, 10, 136, 137, 138, 139, 140, 141, 142, 143, + 144, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 10, 180, 10, 182, 183, + 184, 185, 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, 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, 186, 0, 11, 41, 47, 91, 107, 144, 178, - 187, 188, 191, 194, 197, 348, 359, 374, 189, 192, - 195, 198, 349, 360, 375, 12, 13, 14, 15, 16, + 0, 187, 0, 11, 41, 47, 91, 107, 145, 179, + 188, 189, 192, 195, 198, 350, 361, 376, 190, 193, + 196, 199, 351, 362, 377, 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, 37, 38, 39, 44, 45, 46, 50, 51, 52, 53, @@ -1339,11 +1344,11 @@ static const yytype_uint16 yystos[] = 84, 85, 86, 87, 88, 89, 90, 100, 101, 102, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 157, 158, 159, 160, 161, 162, + 126, 127, 128, 129, 130, 131, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 179, 181, 182, 183, 184, - 190, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 173, 174, 175, 176, 177, 178, 180, 182, 183, 184, + 185, 191, 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, @@ -1356,15 +1361,15 @@ static const yytype_uint16 yystos[] = 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 378, 379, 40, 42, 43, 103, - 132, 134, 193, 333, 334, 335, 336, 337, 338, 40, - 48, 49, 131, 133, 196, 339, 340, 341, 342, 343, - 40, 76, 77, 180, 199, 344, 345, 346, 347, 92, - 93, 94, 95, 96, 97, 98, 99, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 361, 362, + 329, 330, 331, 332, 333, 334, 380, 381, 40, 42, + 43, 103, 133, 135, 194, 335, 336, 337, 338, 339, + 340, 40, 48, 49, 132, 134, 197, 341, 342, 343, + 344, 345, 40, 76, 77, 181, 200, 346, 347, 348, + 349, 92, 93, 94, 95, 96, 97, 98, 99, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 108, 376, 377, 10, 10, 10, 10, 10, 10, + 373, 374, 375, 108, 378, 379, 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, @@ -1382,30 +1387,31 @@ 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, 10, 10, + 10, 10 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 185, 186, 186, 187, 187, 187, 187, 187, 187, - 187, 188, 189, 189, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, - 192, 192, 193, 193, 193, 193, 193, 193, 194, 195, - 195, 196, 196, 196, 196, 196, 197, 198, 198, 199, - 199, 199, 199, 200, 201, 202, 203, 204, 205, 206, + 0, 186, 187, 187, 188, 188, 188, 188, 188, 188, + 188, 189, 190, 190, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, + 192, 193, 193, 194, 194, 194, 194, 194, 194, 195, + 196, 196, 197, 197, 197, 197, 197, 198, 199, 199, + 200, 200, 200, 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, @@ -1420,12 +1426,12 @@ static const yytype_uint16 yyr1[] = 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 349, 350, 350, 350, 350, 350, 350, - 350, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 360, 361, 361, 361, 361, 361, 361, 361, - 361, 361, 361, 361, 361, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 375, - 376, 377, 378, 379 + 347, 348, 349, 350, 351, 351, 352, 352, 352, 352, + 352, 352, 352, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 362, 363, 363, 363, 363, 363, + 363, 363, 363, 363, 363, 363, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 377, 377, 378, 379, 380, 381 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -1446,29 +1452,29 @@ 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, - 2, 0, 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, 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, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 3, 3, 4, 4, 4, 3, 2, 2, - 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 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, 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, + 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, 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, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, + 2, 2, 2, 2, 3, 3, 4, 4, 4, 3, + 2, 2, 2, 3, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 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 }; @@ -2145,15 +2151,15 @@ yyreduce: switch (yyn) { case 11: -#line 147 "./util/configparser.y" /* yacc.c:1646 */ +#line 148 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(server:)\n")); } -#line 2153 "util/configparser.c" /* yacc.c:1646 */ +#line 2159 "util/configparser.c" /* yacc.c:1646 */ break; - case 149: -#line 213 "./util/configparser.y" /* yacc.c:1646 */ + case 150: +#line 214 "./util/configparser.y" /* yacc.c:1646 */ { struct config_stub* s; OUTYY(("\nP(stub_zone:)\n")); @@ -2164,11 +2170,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2168 "util/configparser.c" /* yacc.c:1646 */ +#line 2174 "util/configparser.c" /* yacc.c:1646 */ break; - case 158: -#line 230 "./util/configparser.y" /* yacc.c:1646 */ + case 159: +#line 231 "./util/configparser.y" /* yacc.c:1646 */ { struct config_stub* s; OUTYY(("\nP(forward_zone:)\n")); @@ -2179,11 +2185,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2183 "util/configparser.c" /* yacc.c:1646 */ +#line 2189 "util/configparser.c" /* yacc.c:1646 */ break; - case 166: -#line 247 "./util/configparser.y" /* yacc.c:1646 */ + case 167: +#line 248 "./util/configparser.y" /* yacc.c:1646 */ { struct config_view* s; OUTYY(("\nP(view:)\n")); @@ -2196,11 +2202,11 @@ yyreduce: } else yyerror("out of memory"); } -#line 2200 "util/configparser.c" /* yacc.c:1646 */ +#line 2206 "util/configparser.c" /* yacc.c:1646 */ break; - case 173: -#line 265 "./util/configparser.y" /* yacc.c:1646 */ + case 174: +#line 266 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2208,11 +2214,11 @@ yyreduce: else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2212 "util/configparser.c" /* yacc.c:1646 */ +#line 2218 "util/configparser.c" /* yacc.c:1646 */ break; - case 174: -#line 274 "./util/configparser.y" /* yacc.c:1646 */ + case 175: +#line 275 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2220,11 +2226,11 @@ yyreduce: else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2224 "util/configparser.c" /* yacc.c:1646 */ +#line 2230 "util/configparser.c" /* yacc.c:1646 */ break; - case 175: -#line 283 "./util/configparser.y" /* yacc.c:1646 */ + case 176: +#line 284 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0) @@ -2234,11 +2240,11 @@ yyreduce: else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2238 "util/configparser.c" /* yacc.c:1646 */ +#line 2244 "util/configparser.c" /* yacc.c:1646 */ break; - case 176: -#line 294 "./util/configparser.y" /* yacc.c:1646 */ + case 177: +#line 295 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2246,11 +2252,11 @@ yyreduce: else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2250 "util/configparser.c" /* yacc.c:1646 */ +#line 2256 "util/configparser.c" /* yacc.c:1646 */ break; - case 177: -#line 303 "./util/configparser.y" /* yacc.c:1646 */ + case 178: +#line 304 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2258,11 +2264,11 @@ yyreduce: else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2262 "util/configparser.c" /* yacc.c:1646 */ +#line 2268 "util/configparser.c" /* yacc.c:1646 */ break; - case 178: -#line 312 "./util/configparser.y" /* yacc.c:1646 */ + case 179: +#line 313 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2270,11 +2276,11 @@ yyreduce: else cfg_parser->cfg->port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2274 "util/configparser.c" /* yacc.c:1646 */ +#line 2280 "util/configparser.c" /* yacc.c:1646 */ break; - case 179: -#line 321 "./util/configparser.y" /* yacc.c:1646 */ + case 180: +#line 322 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_ifs == 0) @@ -2286,11 +2292,11 @@ yyreduce: else cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str); } -#line 2290 "util/configparser.c" /* yacc.c:1646 */ +#line 2296 "util/configparser.c" /* yacc.c:1646 */ break; - case 180: -#line 334 "./util/configparser.y" /* yacc.c:1646 */ + case 181: +#line 335 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->num_out_ifs == 0) @@ -2304,11 +2310,11 @@ yyreduce: cfg_parser->cfg->out_ifs[ cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str); } -#line 2308 "util/configparser.c" /* yacc.c:1646 */ +#line 2314 "util/configparser.c" /* yacc.c:1646 */ break; - case 181: -#line 349 "./util/configparser.y" /* yacc.c:1646 */ + case 182: +#line 350 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2316,11 +2322,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2320 "util/configparser.c" /* yacc.c:1646 */ +#line 2326 "util/configparser.c" /* yacc.c:1646 */ break; - case 182: -#line 358 "./util/configparser.y" /* yacc.c:1646 */ + case 183: +#line 359 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 1, @@ -2328,11 +2334,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 2332 "util/configparser.c" /* yacc.c:1646 */ +#line 2338 "util/configparser.c" /* yacc.c:1646 */ break; - case 183: -#line 367 "./util/configparser.y" /* yacc.c:1646 */ + case 184: +#line 368 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str))); if(!cfg_mark_ports((yyvsp[0].str), 0, @@ -2340,11 +2346,11 @@ yyreduce: yyerror("port number or range (\"low-high\") expected"); free((yyvsp[0].str)); } -#line 2344 "util/configparser.c" /* yacc.c:1646 */ +#line 2350 "util/configparser.c" /* yacc.c:1646 */ break; - case 184: -#line 376 "./util/configparser.y" /* yacc.c:1646 */ + case 185: +#line 377 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2352,11 +2358,11 @@ yyreduce: else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2356 "util/configparser.c" /* yacc.c:1646 */ +#line 2362 "util/configparser.c" /* yacc.c:1646 */ break; - case 185: -#line 385 "./util/configparser.y" /* yacc.c:1646 */ + case 186: +#line 386 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2364,11 +2370,11 @@ yyreduce: else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2368 "util/configparser.c" /* yacc.c:1646 */ +#line 2374 "util/configparser.c" /* yacc.c:1646 */ break; - case 186: -#line 394 "./util/configparser.y" /* yacc.c:1646 */ + case 187: +#line 395 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2376,11 +2382,11 @@ yyreduce: else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2380 "util/configparser.c" /* yacc.c:1646 */ +#line 2386 "util/configparser.c" /* yacc.c:1646 */ break; - case 187: -#line 403 "./util/configparser.y" /* yacc.c:1646 */ + case 188: +#line 404 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2388,11 +2394,11 @@ yyreduce: else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2392 "util/configparser.c" /* yacc.c:1646 */ +#line 2398 "util/configparser.c" /* yacc.c:1646 */ break; - case 188: -#line 412 "./util/configparser.y" /* yacc.c:1646 */ + case 189: +#line 413 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2400,11 +2406,11 @@ yyreduce: else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2404 "util/configparser.c" /* yacc.c:1646 */ +#line 2410 "util/configparser.c" /* yacc.c:1646 */ break; - case 189: -#line 421 "./util/configparser.y" /* yacc.c:1646 */ + case 190: +#line 422 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_udp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2412,11 +2418,11 @@ yyreduce: else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2416 "util/configparser.c" /* yacc.c:1646 */ +#line 2422 "util/configparser.c" /* yacc.c:1646 */ break; - case 190: -#line 430 "./util/configparser.y" /* yacc.c:1646 */ + case 191: +#line 431 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2424,11 +2430,11 @@ yyreduce: else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2428 "util/configparser.c" /* yacc.c:1646 */ +#line 2434 "util/configparser.c" /* yacc.c:1646 */ break; - case 191: -#line 439 "./util/configparser.y" /* yacc.c:1646 */ + case 192: +#line 440 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2436,11 +2442,11 @@ yyreduce: else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2440 "util/configparser.c" /* yacc.c:1646 */ +#line 2446 "util/configparser.c" /* yacc.c:1646 */ break; - case 192: -#line 448 "./util/configparser.y" /* yacc.c:1646 */ + case 193: +#line 449 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2448,11 +2454,11 @@ yyreduce: else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2452 "util/configparser.c" /* yacc.c:1646 */ +#line 2458 "util/configparser.c" /* yacc.c:1646 */ break; - case 193: -#line 457 "./util/configparser.y" /* yacc.c:1646 */ + case 194: +#line 458 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2460,11 +2466,11 @@ yyreduce: else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2464 "util/configparser.c" /* yacc.c:1646 */ +#line 2470 "util/configparser.c" /* yacc.c:1646 */ break; - case 194: -#line 466 "./util/configparser.y" /* yacc.c:1646 */ + case 195: +#line 467 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2472,11 +2478,11 @@ yyreduce: else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2476 "util/configparser.c" /* yacc.c:1646 */ +#line 2482 "util/configparser.c" /* yacc.c:1646 */ break; - case 195: -#line 475 "./util/configparser.y" /* yacc.c:1646 */ + case 196: +#line 476 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2484,31 +2490,31 @@ yyreduce: else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2488 "util/configparser.c" /* yacc.c:1646 */ +#line 2494 "util/configparser.c" /* yacc.c:1646 */ break; - case 196: -#line 484 "./util/configparser.y" /* yacc.c:1646 */ + case 197: +#line 485 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_key); cfg_parser->cfg->ssl_service_key = (yyvsp[0].str); } -#line 2498 "util/configparser.c" /* yacc.c:1646 */ +#line 2504 "util/configparser.c" /* yacc.c:1646 */ break; - case 197: -#line 491 "./util/configparser.y" /* yacc.c:1646 */ + case 198: +#line 492 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->ssl_service_pem); cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str); } -#line 2508 "util/configparser.c" /* yacc.c:1646 */ +#line 2514 "util/configparser.c" /* yacc.c:1646 */ break; - case 198: -#line 498 "./util/configparser.y" /* yacc.c:1646 */ + case 199: +#line 499 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2516,11 +2522,11 @@ yyreduce: else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2520 "util/configparser.c" /* yacc.c:1646 */ +#line 2526 "util/configparser.c" /* yacc.c:1646 */ break; - case 199: -#line 507 "./util/configparser.y" /* yacc.c:1646 */ + case 200: +#line 508 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2528,11 +2534,11 @@ yyreduce: else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2532 "util/configparser.c" /* yacc.c:1646 */ +#line 2538 "util/configparser.c" /* yacc.c:1646 */ break; - case 200: -#line 516 "./util/configparser.y" /* yacc.c:1646 */ + case 201: +#line 517 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2540,11 +2546,11 @@ yyreduce: else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2544 "util/configparser.c" /* yacc.c:1646 */ +#line 2550 "util/configparser.c" /* yacc.c:1646 */ break; - case 201: -#line 525 "./util/configparser.y" /* yacc.c:1646 */ + case 202: +#line 526 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2557,11 +2563,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 2561 "util/configparser.c" /* yacc.c:1646 */ +#line 2567 "util/configparser.c" /* yacc.c:1646 */ break; - case 202: -#line 539 "./util/configparser.y" /* yacc.c:1646 */ + case 203: +#line 540 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2569,11 +2575,11 @@ yyreduce: else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2573 "util/configparser.c" /* yacc.c:1646 */ +#line 2579 "util/configparser.c" /* yacc.c:1646 */ break; - case 203: -#line 548 "./util/configparser.y" /* yacc.c:1646 */ + case 204: +#line 549 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2581,31 +2587,43 @@ yyreduce: else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2585 "util/configparser.c" /* yacc.c:1646 */ +#line 2591 "util/configparser.c" /* yacc.c:1646 */ break; - case 204: -#line 557 "./util/configparser.y" /* yacc.c:1646 */ + case 205: +#line 558 "./util/configparser.y" /* yacc.c:1646 */ + { + OUTYY(("P(server_log_replies:%s)\n", (yyvsp[0].str))); + if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0); + free((yyvsp[0].str)); + } +#line 2603 "util/configparser.c" /* yacc.c:1646 */ + break; + + case 206: +#line 567 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->chrootdir); cfg_parser->cfg->chrootdir = (yyvsp[0].str); } -#line 2595 "util/configparser.c" /* yacc.c:1646 */ +#line 2613 "util/configparser.c" /* yacc.c:1646 */ break; - case 205: -#line 564 "./util/configparser.y" /* yacc.c:1646 */ + case 207: +#line 574 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_username:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->username); cfg_parser->cfg->username = (yyvsp[0].str); } -#line 2605 "util/configparser.c" /* yacc.c:1646 */ +#line 2623 "util/configparser.c" /* yacc.c:1646 */ break; - case 206: -#line 571 "./util/configparser.y" /* yacc.c:1646 */ + case 208: +#line 581 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->directory); @@ -2630,115 +2648,115 @@ yyreduce: } } } -#line 2634 "util/configparser.c" /* yacc.c:1646 */ +#line 2652 "util/configparser.c" /* yacc.c:1646 */ break; - case 207: -#line 597 "./util/configparser.y" /* yacc.c:1646 */ + case 209: +#line 607 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->logfile); cfg_parser->cfg->logfile = (yyvsp[0].str); cfg_parser->cfg->use_syslog = 0; } -#line 2645 "util/configparser.c" /* yacc.c:1646 */ +#line 2663 "util/configparser.c" /* yacc.c:1646 */ break; - case 208: -#line 605 "./util/configparser.y" /* yacc.c:1646 */ + case 210: +#line 615 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->pidfile); cfg_parser->cfg->pidfile = (yyvsp[0].str); } -#line 2655 "util/configparser.c" /* yacc.c:1646 */ +#line 2673 "util/configparser.c" /* yacc.c:1646 */ break; - case 209: -#line 612 "./util/configparser.y" /* yacc.c:1646 */ + case 211: +#line 622 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_root_hints:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2665 "util/configparser.c" /* yacc.c:1646 */ +#line 2683 "util/configparser.c" /* yacc.c:1646 */ break; - case 210: -#line 619 "./util/configparser.y" /* yacc.c:1646 */ + case 212: +#line 629 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dlv_anchor_file); cfg_parser->cfg->dlv_anchor_file = (yyvsp[0].str); } -#line 2675 "util/configparser.c" /* yacc.c:1646 */ +#line 2693 "util/configparser.c" /* yacc.c:1646 */ break; - case 211: -#line 626 "./util/configparser.y" /* yacc.c:1646 */ + case 213: +#line 636 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2685 "util/configparser.c" /* yacc.c:1646 */ +#line 2703 "util/configparser.c" /* yacc.c:1646 */ break; - case 212: -#line 633 "./util/configparser.y" /* yacc.c:1646 */ + case 214: +#line 643 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> auto_trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2696 "util/configparser.c" /* yacc.c:1646 */ +#line 2714 "util/configparser.c" /* yacc.c:1646 */ break; - case 213: -#line 641 "./util/configparser.y" /* yacc.c:1646 */ + case 215: +#line 651 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trust_anchor_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2707 "util/configparser.c" /* yacc.c:1646 */ +#line 2725 "util/configparser.c" /* yacc.c:1646 */ break; - case 214: -#line 649 "./util/configparser.y" /* yacc.c:1646 */ + case 216: +#line 659 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg-> trusted_keys_file_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2718 "util/configparser.c" /* yacc.c:1646 */ +#line 2736 "util/configparser.c" /* yacc.c:1646 */ break; - case 215: -#line 657 "./util/configparser.y" /* yacc.c:1646 */ + case 217: +#line 667 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2728 "util/configparser.c" /* yacc.c:1646 */ +#line 2746 "util/configparser.c" /* yacc.c:1646 */ break; - case 216: -#line 664 "./util/configparser.y" /* yacc.c:1646 */ + case 218: +#line 674 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[0].str))) yyerror("out of memory"); } -#line 2738 "util/configparser.c" /* yacc.c:1646 */ +#line 2756 "util/configparser.c" /* yacc.c:1646 */ break; - case 217: -#line 671 "./util/configparser.y" /* yacc.c:1646 */ + case 219: +#line 681 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2746,11 +2764,11 @@ yyreduce: else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2750 "util/configparser.c" /* yacc.c:1646 */ +#line 2768 "util/configparser.c" /* yacc.c:1646 */ break; - case 218: -#line 680 "./util/configparser.y" /* yacc.c:1646 */ + case 220: +#line 690 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_hide_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2758,53 +2776,53 @@ yyreduce: else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2762 "util/configparser.c" /* yacc.c:1646 */ +#line 2780 "util/configparser.c" /* yacc.c:1646 */ break; - case 219: -#line 689 "./util/configparser.y" /* yacc.c:1646 */ + case 221: +#line 699 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->identity); cfg_parser->cfg->identity = (yyvsp[0].str); } -#line 2772 "util/configparser.c" /* yacc.c:1646 */ +#line 2790 "util/configparser.c" /* yacc.c:1646 */ break; - case 220: -#line 696 "./util/configparser.y" /* yacc.c:1646 */ + case 222: +#line 706 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->version); cfg_parser->cfg->version = (yyvsp[0].str); } -#line 2782 "util/configparser.c" /* yacc.c:1646 */ +#line 2800 "util/configparser.c" /* yacc.c:1646 */ break; - case 221: -#line 703 "./util/configparser.y" /* yacc.c:1646 */ + case 223: +#line 713 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_rcvbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 2793 "util/configparser.c" /* yacc.c:1646 */ +#line 2811 "util/configparser.c" /* yacc.c:1646 */ break; - case 222: -#line 711 "./util/configparser.y" /* yacc.c:1646 */ + case 224: +#line 721 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->so_sndbuf)) yyerror("buffer size expected"); free((yyvsp[0].str)); } -#line 2804 "util/configparser.c" /* yacc.c:1646 */ +#line 2822 "util/configparser.c" /* yacc.c:1646 */ break; - case 223: -#line 719 "./util/configparser.y" /* yacc.c:1646 */ + case 225: +#line 729 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2813,11 +2831,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2817 "util/configparser.c" /* yacc.c:1646 */ +#line 2835 "util/configparser.c" /* yacc.c:1646 */ break; - case 224: -#line 729 "./util/configparser.y" /* yacc.c:1646 */ + case 226: +#line 739 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2826,11 +2844,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2830 "util/configparser.c" /* yacc.c:1646 */ +#line 2848 "util/configparser.c" /* yacc.c:1646 */ break; - case 225: -#line 739 "./util/configparser.y" /* yacc.c:1646 */ + case 227: +#line 749 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2839,11 +2857,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2843 "util/configparser.c" /* yacc.c:1646 */ +#line 2861 "util/configparser.c" /* yacc.c:1646 */ break; - case 226: -#line 749 "./util/configparser.y" /* yacc.c:1646 */ + case 228: +#line 759 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2855,11 +2873,11 @@ yyreduce: else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2859 "util/configparser.c" /* yacc.c:1646 */ +#line 2877 "util/configparser.c" /* yacc.c:1646 */ break; - case 227: -#line 762 "./util/configparser.y" /* yacc.c:1646 */ + case 229: +#line 772 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2869,22 +2887,22 @@ yyreduce: else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2873 "util/configparser.c" /* yacc.c:1646 */ +#line 2891 "util/configparser.c" /* yacc.c:1646 */ break; - case 228: -#line 773 "./util/configparser.y" /* yacc.c:1646 */ + case 230: +#line 783 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->msg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 2884 "util/configparser.c" /* yacc.c:1646 */ +#line 2902 "util/configparser.c" /* yacc.c:1646 */ break; - case 229: -#line 781 "./util/configparser.y" /* yacc.c:1646 */ + case 231: +#line 791 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2896,11 +2914,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 2900 "util/configparser.c" /* yacc.c:1646 */ +#line 2918 "util/configparser.c" /* yacc.c:1646 */ break; - case 230: -#line 794 "./util/configparser.y" /* yacc.c:1646 */ + case 232: +#line 804 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2908,11 +2926,11 @@ yyreduce: else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2912 "util/configparser.c" /* yacc.c:1646 */ +#line 2930 "util/configparser.c" /* yacc.c:1646 */ break; - case 231: -#line 803 "./util/configparser.y" /* yacc.c:1646 */ + case 233: +#line 813 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2920,11 +2938,11 @@ yyreduce: else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2924 "util/configparser.c" /* yacc.c:1646 */ +#line 2942 "util/configparser.c" /* yacc.c:1646 */ break; - case 232: -#line 812 "./util/configparser.y" /* yacc.c:1646 */ + case 234: +#line 822 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2932,11 +2950,11 @@ yyreduce: else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 2936 "util/configparser.c" /* yacc.c:1646 */ +#line 2954 "util/configparser.c" /* yacc.c:1646 */ break; - case 233: -#line 821 "./util/configparser.y" /* yacc.c:1646 */ + case 235: +#line 831 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2945,11 +2963,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2949 "util/configparser.c" /* yacc.c:1646 */ +#line 2967 "util/configparser.c" /* yacc.c:1646 */ break; - case 234: -#line 831 "./util/configparser.y" /* yacc.c:1646 */ + case 236: +#line 841 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -2958,22 +2976,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 2962 "util/configparser.c" /* yacc.c:1646 */ +#line 2980 "util/configparser.c" /* yacc.c:1646 */ break; - case 235: -#line 841 "./util/configparser.y" /* yacc.c:1646 */ + case 237: +#line 851 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->rrset_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 2973 "util/configparser.c" /* yacc.c:1646 */ +#line 2991 "util/configparser.c" /* yacc.c:1646 */ break; - case 236: -#line 849 "./util/configparser.y" /* yacc.c:1646 */ + case 238: +#line 859 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -2985,11 +3003,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 2989 "util/configparser.c" /* yacc.c:1646 */ +#line 3007 "util/configparser.c" /* yacc.c:1646 */ break; - case 237: -#line 862 "./util/configparser.y" /* yacc.c:1646 */ + case 239: +#line 872 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -2997,22 +3015,22 @@ yyreduce: else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3001 "util/configparser.c" /* yacc.c:1646 */ +#line 3019 "util/configparser.c" /* yacc.c:1646 */ break; - case 238: -#line 871 "./util/configparser.y" /* yacc.c:1646 */ + case 240: +#line 881 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option " "removed, use infra-host-ttl)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3012 "util/configparser.c" /* yacc.c:1646 */ +#line 3030 "util/configparser.c" /* yacc.c:1646 */ break; - case 239: -#line 879 "./util/configparser.y" /* yacc.c:1646 */ + case 241: +#line 889 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3020,22 +3038,22 @@ yyreduce: else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3024 "util/configparser.c" /* yacc.c:1646 */ +#line 3042 "util/configparser.c" /* yacc.c:1646 */ break; - case 240: -#line 888 "./util/configparser.y" /* yacc.c:1646 */ + case 242: +#line 898 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[0].str))); verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s " "(option removed, use infra-cache-numhosts)", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3035 "util/configparser.c" /* yacc.c:1646 */ +#line 3053 "util/configparser.c" /* yacc.c:1646 */ break; - case 241: -#line 896 "./util/configparser.y" /* yacc.c:1646 */ + case 243: +#line 906 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3047,11 +3065,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3051 "util/configparser.c" /* yacc.c:1646 */ +#line 3069 "util/configparser.c" /* yacc.c:1646 */ break; - case 242: -#line 909 "./util/configparser.y" /* yacc.c:1646 */ + case 244: +#line 919 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3059,21 +3077,21 @@ yyreduce: else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3063 "util/configparser.c" /* yacc.c:1646 */ +#line 3081 "util/configparser.c" /* yacc.c:1646 */ break; - case 243: -#line 918 "./util/configparser.y" /* yacc.c:1646 */ + case 245: +#line 928 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->target_fetch_policy); cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str); } -#line 3073 "util/configparser.c" /* yacc.c:1646 */ +#line 3091 "util/configparser.c" /* yacc.c:1646 */ break; - case 244: -#line 925 "./util/configparser.y" /* yacc.c:1646 */ + case 246: +#line 935 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3082,11 +3100,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3086 "util/configparser.c" /* yacc.c:1646 */ +#line 3104 "util/configparser.c" /* yacc.c:1646 */ break; - case 245: -#line 935 "./util/configparser.y" /* yacc.c:1646 */ + case 247: +#line 945 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3095,11 +3113,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3099 "util/configparser.c" /* yacc.c:1646 */ +#line 3117 "util/configparser.c" /* yacc.c:1646 */ break; - case 246: -#line 945 "./util/configparser.y" /* yacc.c:1646 */ + case 248: +#line 955 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3108,11 +3126,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3112 "util/configparser.c" /* yacc.c:1646 */ +#line 3130 "util/configparser.c" /* yacc.c:1646 */ break; - case 247: -#line 955 "./util/configparser.y" /* yacc.c:1646 */ + case 249: +#line 965 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3121,11 +3139,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3125 "util/configparser.c" /* yacc.c:1646 */ +#line 3143 "util/configparser.c" /* yacc.c:1646 */ break; - case 248: -#line 965 "./util/configparser.y" /* yacc.c:1646 */ + case 250: +#line 975 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3134,11 +3152,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3138 "util/configparser.c" /* yacc.c:1646 */ +#line 3156 "util/configparser.c" /* yacc.c:1646 */ break; - case 249: -#line 975 "./util/configparser.y" /* yacc.c:1646 */ + case 251: +#line 985 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3147,11 +3165,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3151 "util/configparser.c" /* yacc.c:1646 */ +#line 3169 "util/configparser.c" /* yacc.c:1646 */ break; - case 250: -#line 985 "./util/configparser.y" /* yacc.c:1646 */ + case 252: +#line 995 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3160,11 +3178,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3164 "util/configparser.c" /* yacc.c:1646 */ +#line 3182 "util/configparser.c" /* yacc.c:1646 */ break; - case 251: -#line 995 "./util/configparser.y" /* yacc.c:1646 */ + case 253: +#line 1005 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3173,41 +3191,41 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3177 "util/configparser.c" /* yacc.c:1646 */ +#line 3195 "util/configparser.c" /* yacc.c:1646 */ break; - case 252: -#line 1005 "./util/configparser.y" /* yacc.c:1646 */ + case 254: +#line 1015 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3187 "util/configparser.c" /* yacc.c:1646 */ +#line 3205 "util/configparser.c" /* yacc.c:1646 */ break; - case 253: -#line 1012 "./util/configparser.y" /* yacc.c:1646 */ + case 255: +#line 1022 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_private_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3197 "util/configparser.c" /* yacc.c:1646 */ +#line 3215 "util/configparser.c" /* yacc.c:1646 */ break; - case 254: -#line 1019 "./util/configparser.y" /* yacc.c:1646 */ + case 256: +#line 1029 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_private_domain:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3207 "util/configparser.c" /* yacc.c:1646 */ +#line 3225 "util/configparser.c" /* yacc.c:1646 */ break; - case 255: -#line 1026 "./util/configparser.y" /* yacc.c:1646 */ + case 257: +#line 1036 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefetch:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3215,11 +3233,11 @@ yyreduce: else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3219 "util/configparser.c" /* yacc.c:1646 */ +#line 3237 "util/configparser.c" /* yacc.c:1646 */ break; - case 256: -#line 1035 "./util/configparser.y" /* yacc.c:1646 */ + case 258: +#line 1045 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3227,11 +3245,11 @@ yyreduce: else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3231 "util/configparser.c" /* yacc.c:1646 */ +#line 3249 "util/configparser.c" /* yacc.c:1646 */ break; - case 257: -#line 1044 "./util/configparser.y" /* yacc.c:1646 */ + case 259: +#line 1054 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3239,21 +3257,21 @@ yyreduce: else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3243 "util/configparser.c" /* yacc.c:1646 */ +#line 3261 "util/configparser.c" /* yacc.c:1646 */ break; - case 258: -#line 1053 "./util/configparser.y" /* yacc.c:1646 */ + case 260: +#line 1063 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3253 "util/configparser.c" /* yacc.c:1646 */ +#line 3271 "util/configparser.c" /* yacc.c:1646 */ break; - case 259: -#line 1060 "./util/configparser.y" /* yacc.c:1646 */ + case 261: +#line 1070 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3262,11 +3280,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3266 "util/configparser.c" /* yacc.c:1646 */ +#line 3284 "util/configparser.c" /* yacc.c:1646 */ break; - case 260: -#line 1070 "./util/configparser.y" /* yacc.c:1646 */ + case 262: +#line 1080 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "deny")!=0 && strcmp((yyvsp[0].str), "refuse")!=0 && @@ -3282,21 +3300,21 @@ yyreduce: fatal_exit("out of memory adding acl"); } } -#line 3286 "util/configparser.c" /* yacc.c:1646 */ +#line 3304 "util/configparser.c" /* yacc.c:1646 */ break; - case 261: -#line 1087 "./util/configparser.y" /* yacc.c:1646 */ + case 263: +#line 1097 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->module_conf); cfg_parser->cfg->module_conf = (yyvsp[0].str); } -#line 3296 "util/configparser.c" /* yacc.c:1646 */ +#line 3314 "util/configparser.c" /* yacc.c:1646 */ break; - case 262: -#line 1094 "./util/configparser.y" /* yacc.c:1646 */ + case 264: +#line 1104 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3313,11 +3331,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3317 "util/configparser.c" /* yacc.c:1646 */ +#line 3335 "util/configparser.c" /* yacc.c:1646 */ break; - case 263: -#line 1112 "./util/configparser.y" /* yacc.c:1646 */ + case 265: +#line 1122 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3329,11 +3347,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3333 "util/configparser.c" /* yacc.c:1646 */ +#line 3351 "util/configparser.c" /* yacc.c:1646 */ break; - case 264: -#line 1125 "./util/configparser.y" /* yacc.c:1646 */ + case 266: +#line 1135 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str))); if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) { @@ -3345,11 +3363,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3349 "util/configparser.c" /* yacc.c:1646 */ +#line 3367 "util/configparser.c" /* yacc.c:1646 */ break; - case 265: -#line 1138 "./util/configparser.y" /* yacc.c:1646 */ + case 267: +#line 1148 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3357,11 +3375,11 @@ yyreduce: else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3361 "util/configparser.c" /* yacc.c:1646 */ +#line 3379 "util/configparser.c" /* yacc.c:1646 */ break; - case 266: -#line 1147 "./util/configparser.y" /* yacc.c:1646 */ + case 268: +#line 1157 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3369,11 +3387,11 @@ yyreduce: else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3373 "util/configparser.c" /* yacc.c:1646 */ +#line 3391 "util/configparser.c" /* yacc.c:1646 */ break; - case 267: -#line 1156 "./util/configparser.y" /* yacc.c:1646 */ + case 269: +#line 1166 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3381,11 +3399,11 @@ yyreduce: else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3385 "util/configparser.c" /* yacc.c:1646 */ +#line 3403 "util/configparser.c" /* yacc.c:1646 */ break; - case 268: -#line 1165 "./util/configparser.y" /* yacc.c:1646 */ + case 270: +#line 1175 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3393,11 +3411,11 @@ yyreduce: else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3397 "util/configparser.c" /* yacc.c:1646 */ +#line 3415 "util/configparser.c" /* yacc.c:1646 */ break; - case 269: -#line 1174 "./util/configparser.y" /* yacc.c:1646 */ + case 271: +#line 1184 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3406,11 +3424,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3410 "util/configparser.c" /* yacc.c:1646 */ +#line 3428 "util/configparser.c" /* yacc.c:1646 */ break; - case 270: -#line 1184 "./util/configparser.y" /* yacc.c:1646 */ + case 272: +#line 1194 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3419,11 +3437,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3423 "util/configparser.c" /* yacc.c:1646 */ +#line 3441 "util/configparser.c" /* yacc.c:1646 */ break; - case 271: -#line 1194 "./util/configparser.y" /* yacc.c:1646 */ + case 273: +#line 1204 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3431,11 +3449,11 @@ yyreduce: else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3435 "util/configparser.c" /* yacc.c:1646 */ +#line 3453 "util/configparser.c" /* yacc.c:1646 */ break; - case 272: -#line 1203 "./util/configparser.y" /* yacc.c:1646 */ + case 274: +#line 1213 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3443,11 +3461,11 @@ yyreduce: else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3447 "util/configparser.c" /* yacc.c:1646 */ +#line 3465 "util/configparser.c" /* yacc.c:1646 */ break; - case 273: -#line 1212 "./util/configparser.y" /* yacc.c:1646 */ + case 275: +#line 1222 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3459,11 +3477,11 @@ yyreduce: #endif free((yyvsp[0].str)); } -#line 3463 "util/configparser.c" /* yacc.c:1646 */ +#line 3481 "util/configparser.c" /* yacc.c:1646 */ break; - case 274: -#line 1225 "./util/configparser.y" /* yacc.c:1646 */ + case 276: +#line 1235 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3471,21 +3489,21 @@ yyreduce: else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3475 "util/configparser.c" /* yacc.c:1646 */ +#line 3493 "util/configparser.c" /* yacc.c:1646 */ break; - case 275: -#line 1234 "./util/configparser.y" /* yacc.c:1646 */ + case 277: +#line 1244 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->val_nsec3_key_iterations); cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str); } -#line 3485 "util/configparser.c" /* yacc.c:1646 */ +#line 3503 "util/configparser.c" /* yacc.c:1646 */ break; - case 276: -#line 1241 "./util/configparser.y" /* yacc.c:1646 */ + case 278: +#line 1251 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3493,11 +3511,11 @@ yyreduce: else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3497 "util/configparser.c" /* yacc.c:1646 */ +#line 3515 "util/configparser.c" /* yacc.c:1646 */ break; - case 277: -#line 1250 "./util/configparser.y" /* yacc.c:1646 */ + case 279: +#line 1260 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3505,11 +3523,11 @@ yyreduce: else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3509 "util/configparser.c" /* yacc.c:1646 */ +#line 3527 "util/configparser.c" /* yacc.c:1646 */ break; - case 278: -#line 1259 "./util/configparser.y" /* yacc.c:1646 */ + case 280: +#line 1269 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3517,11 +3535,11 @@ yyreduce: else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3521 "util/configparser.c" /* yacc.c:1646 */ +#line 3539 "util/configparser.c" /* yacc.c:1646 */ break; - case 279: -#line 1268 "./util/configparser.y" /* yacc.c:1646 */ + case 281: +#line 1278 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3530,22 +3548,22 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3534 "util/configparser.c" /* yacc.c:1646 */ +#line 3552 "util/configparser.c" /* yacc.c:1646 */ break; - case 280: -#line 1277 "./util/configparser.y" /* yacc.c:1646 */ + case 282: +#line 1287 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->key_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3545 "util/configparser.c" /* yacc.c:1646 */ +#line 3563 "util/configparser.c" /* yacc.c:1646 */ break; - case 281: -#line 1285 "./util/configparser.y" /* yacc.c:1646 */ + case 283: +#line 1295 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3557,22 +3575,22 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3561 "util/configparser.c" /* yacc.c:1646 */ +#line 3579 "util/configparser.c" /* yacc.c:1646 */ break; - case 282: -#line 1298 "./util/configparser.y" /* yacc.c:1646 */ + case 284: +#line 1308 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->neg_cache_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3572 "util/configparser.c" /* yacc.c:1646 */ +#line 3590 "util/configparser.c" /* yacc.c:1646 */ break; - case 283: -#line 1306 "./util/configparser.y" /* yacc.c:1646 */ + case 285: +#line 1316 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -3599,21 +3617,21 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 3603 "util/configparser.c" /* yacc.c:1646 */ +#line 3621 "util/configparser.c" /* yacc.c:1646 */ break; - case 284: -#line 1334 "./util/configparser.y" /* yacc.c:1646 */ + case 286: +#line 1344 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[0].str))) fatal_exit("out of memory adding local-data"); } -#line 3613 "util/configparser.c" /* yacc.c:1646 */ +#line 3631 "util/configparser.c" /* yacc.c:1646 */ break; - case 285: -#line 1341 "./util/configparser.y" /* yacc.c:1646 */ + case 287: +#line 1351 "./util/configparser.y" /* yacc.c:1646 */ { char* ptr; OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str))); @@ -3627,11 +3645,11 @@ yyreduce: yyerror("local-data-ptr could not be reversed"); } } -#line 3631 "util/configparser.c" /* yacc.c:1646 */ +#line 3649 "util/configparser.c" /* yacc.c:1646 */ break; - case 286: -#line 1356 "./util/configparser.y" /* yacc.c:1646 */ + case 288: +#line 1366 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3640,11 +3658,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3644 "util/configparser.c" /* yacc.c:1646 */ +#line 3662 "util/configparser.c" /* yacc.c:1646 */ break; - case 287: -#line 1366 "./util/configparser.y" /* yacc.c:1646 */ + case 289: +#line 1376 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3653,31 +3671,31 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3657 "util/configparser.c" /* yacc.c:1646 */ +#line 3675 "util/configparser.c" /* yacc.c:1646 */ break; - case 288: -#line 1376 "./util/configparser.y" /* yacc.c:1646 */ + case 290: +#line 1386 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[0].str))); cfg_parser->cfg->max_udp_size = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3667 "util/configparser.c" /* yacc.c:1646 */ +#line 3685 "util/configparser.c" /* yacc.c:1646 */ break; - case 289: -#line 1383 "./util/configparser.y" /* yacc.c:1646 */ + case 291: +#line 1393 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dns64_prefix); cfg_parser->cfg->dns64_prefix = (yyvsp[0].str); } -#line 3677 "util/configparser.c" /* yacc.c:1646 */ +#line 3695 "util/configparser.c" /* yacc.c:1646 */ break; - case 290: -#line 1390 "./util/configparser.y" /* yacc.c:1646 */ + case 292: +#line 1400 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3685,11 +3703,11 @@ yyreduce: else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3689 "util/configparser.c" /* yacc.c:1646 */ +#line 3707 "util/configparser.c" /* yacc.c:1646 */ break; - case 291: -#line 1399 "./util/configparser.y" /* yacc.c:1646 */ + case 293: +#line 1409 "./util/configparser.y" /* yacc.c:1646 */ { char* p, *s = (yyvsp[0].str); OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str))); @@ -3702,11 +3720,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3706 "util/configparser.c" /* yacc.c:1646 */ +#line 3724 "util/configparser.c" /* yacc.c:1646 */ break; - case 292: -#line 1413 "./util/configparser.y" /* yacc.c:1646 */ + case 294: +#line 1423 "./util/configparser.y" /* yacc.c:1646 */ { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -3724,11 +3742,11 @@ yyreduce: } } } -#line 3728 "util/configparser.c" /* yacc.c:1646 */ +#line 3746 "util/configparser.c" /* yacc.c:1646 */ break; - case 293: -#line 1432 "./util/configparser.y" /* yacc.c:1646 */ + case 295: +#line 1442 "./util/configparser.y" /* yacc.c:1646 */ { size_t len = 0; uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str), @@ -3746,11 +3764,11 @@ yyreduce: } } } -#line 3750 "util/configparser.c" /* yacc.c:1646 */ +#line 3768 "util/configparser.c" /* yacc.c:1646 */ break; - case 294: -#line 1451 "./util/configparser.y" /* yacc.c:1646 */ + case 296: +#line 1461 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_actions, @@ -3761,11 +3779,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 3765 "util/configparser.c" /* yacc.c:1646 */ +#line 3783 "util/configparser.c" /* yacc.c:1646 */ break; - case 295: -#line 1463 "./util/configparser.y" /* yacc.c:1646 */ + case 297: +#line 1473 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->acl_tag_datas, @@ -3776,11 +3794,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 3780 "util/configparser.c" /* yacc.c:1646 */ +#line 3798 "util/configparser.c" /* yacc.c:1646 */ break; - case 296: -#line 1475 "./util/configparser.y" /* yacc.c:1646 */ + case 298: +#line 1485 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str3list_insert(&cfg_parser->cfg->local_zone_overrides, @@ -3791,11 +3809,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 3795 "util/configparser.c" /* yacc.c:1646 */ +#line 3813 "util/configparser.c" /* yacc.c:1646 */ break; - case 297: -#line 1487 "./util/configparser.y" /* yacc.c:1646 */ + case 299: +#line 1497 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view, @@ -3805,11 +3823,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 3809 "util/configparser.c" /* yacc.c:1646 */ +#line 3827 "util/configparser.c" /* yacc.c:1646 */ break; - case 298: -#line 1498 "./util/configparser.y" /* yacc.c:1646 */ + case 300: +#line 1508 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3817,22 +3835,22 @@ yyreduce: else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3821 "util/configparser.c" /* yacc.c:1646 */ +#line 3839 "util/configparser.c" /* yacc.c:1646 */ break; - case 299: -#line 1507 "./util/configparser.y" /* yacc.c:1646 */ + case 301: +#line 1517 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[0].str))); if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ratelimit_size)) yyerror("memory size expected"); free((yyvsp[0].str)); } -#line 3832 "util/configparser.c" /* yacc.c:1646 */ +#line 3850 "util/configparser.c" /* yacc.c:1646 */ break; - case 300: -#line 1515 "./util/configparser.y" /* yacc.c:1646 */ + case 302: +#line 1525 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -3844,11 +3862,11 @@ yyreduce: } free((yyvsp[0].str)); } -#line 3848 "util/configparser.c" /* yacc.c:1646 */ +#line 3866 "util/configparser.c" /* yacc.c:1646 */ break; - case 301: -#line 1528 "./util/configparser.y" /* yacc.c:1646 */ + case 303: +#line 1538 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -3860,11 +3878,11 @@ yyreduce: "ratelimit-for-domain"); } } -#line 3864 "util/configparser.c" /* yacc.c:1646 */ +#line 3882 "util/configparser.c" /* yacc.c:1646 */ break; - case 302: -#line 1541 "./util/configparser.y" /* yacc.c:1646 */ + case 304: +#line 1551 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) { @@ -3876,11 +3894,11 @@ yyreduce: "ratelimit-below-domain"); } } -#line 3880 "util/configparser.c" /* yacc.c:1646 */ +#line 3898 "util/configparser.c" /* yacc.c:1646 */ break; - case 303: -#line 1554 "./util/configparser.y" /* yacc.c:1646 */ + case 305: +#line 1564 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0) @@ -3888,11 +3906,11 @@ yyreduce: else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 3892 "util/configparser.c" /* yacc.c:1646 */ +#line 3910 "util/configparser.c" /* yacc.c:1646 */ break; - case 304: -#line 1563 "./util/configparser.y" /* yacc.c:1646 */ + case 306: +#line 1573 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3901,11 +3919,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3905 "util/configparser.c" /* yacc.c:1646 */ +#line 3923 "util/configparser.c" /* yacc.c:1646 */ break; - case 305: -#line 1573 "./util/configparser.y" /* yacc.c:1646 */ + case 307: +#line 1583 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3914,11 +3932,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3918 "util/configparser.c" /* yacc.c:1646 */ +#line 3936 "util/configparser.c" /* yacc.c:1646 */ break; - case 306: -#line 1583 "./util/configparser.y" /* yacc.c:1646 */ + case 308: +#line 1593 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->stubs->name) @@ -3927,31 +3945,31 @@ yyreduce: free(cfg_parser->cfg->stubs->name); cfg_parser->cfg->stubs->name = (yyvsp[0].str); } -#line 3931 "util/configparser.c" /* yacc.c:1646 */ +#line 3949 "util/configparser.c" /* yacc.c:1646 */ break; - case 307: -#line 1593 "./util/configparser.y" /* yacc.c:1646 */ + case 309: +#line 1603 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3941 "util/configparser.c" /* yacc.c:1646 */ +#line 3959 "util/configparser.c" /* yacc.c:1646 */ break; - case 308: -#line 1600 "./util/configparser.y" /* yacc.c:1646 */ + case 310: +#line 1610 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 3951 "util/configparser.c" /* yacc.c:1646 */ +#line 3969 "util/configparser.c" /* yacc.c:1646 */ break; - case 309: -#line 1607 "./util/configparser.y" /* yacc.c:1646 */ + case 311: +#line 1617 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3959,11 +3977,11 @@ yyreduce: else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3963 "util/configparser.c" /* yacc.c:1646 */ +#line 3981 "util/configparser.c" /* yacc.c:1646 */ break; - case 310: -#line 1616 "./util/configparser.y" /* yacc.c:1646 */ + case 312: +#line 1626 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3972,11 +3990,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3976 "util/configparser.c" /* yacc.c:1646 */ +#line 3994 "util/configparser.c" /* yacc.c:1646 */ break; - case 311: -#line 1626 "./util/configparser.y" /* yacc.c:1646 */ + case 313: +#line 1636 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(stub-prime:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -3985,11 +4003,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 3989 "util/configparser.c" /* yacc.c:1646 */ +#line 4007 "util/configparser.c" /* yacc.c:1646 */ break; - case 312: -#line 1636 "./util/configparser.y" /* yacc.c:1646 */ + case 314: +#line 1646 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->forwards->name) @@ -3998,31 +4016,31 @@ yyreduce: free(cfg_parser->cfg->forwards->name); cfg_parser->cfg->forwards->name = (yyvsp[0].str); } -#line 4002 "util/configparser.c" /* yacc.c:1646 */ +#line 4020 "util/configparser.c" /* yacc.c:1646 */ break; - case 313: -#line 1646 "./util/configparser.y" /* yacc.c:1646 */ + case 315: +#line 1656 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-host:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4012 "util/configparser.c" /* yacc.c:1646 */ +#line 4030 "util/configparser.c" /* yacc.c:1646 */ break; - case 314: -#line 1653 "./util/configparser.y" /* yacc.c:1646 */ + case 316: +#line 1663 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-addr:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4022 "util/configparser.c" /* yacc.c:1646 */ +#line 4040 "util/configparser.c" /* yacc.c:1646 */ break; - case 315: -#line 1660 "./util/configparser.y" /* yacc.c:1646 */ + case 317: +#line 1670 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4030,11 +4048,11 @@ yyreduce: else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4034 "util/configparser.c" /* yacc.c:1646 */ +#line 4052 "util/configparser.c" /* yacc.c:1646 */ break; - case 316: -#line 1669 "./util/configparser.y" /* yacc.c:1646 */ + case 318: +#line 1679 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4043,11 +4061,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4047 "util/configparser.c" /* yacc.c:1646 */ +#line 4065 "util/configparser.c" /* yacc.c:1646 */ break; - case 317: -#line 1679 "./util/configparser.y" /* yacc.c:1646 */ + case 319: +#line 1689 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(name:%s)\n", (yyvsp[0].str))); if(cfg_parser->cfg->views->name) @@ -4056,11 +4074,11 @@ yyreduce: free(cfg_parser->cfg->views->name); cfg_parser->cfg->views->name = (yyvsp[0].str); } -#line 4060 "util/configparser.c" /* yacc.c:1646 */ +#line 4078 "util/configparser.c" /* yacc.c:1646 */ break; - case 318: -#line 1689 "./util/configparser.y" /* yacc.c:1646 */ + case 320: +#line 1699 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "static")!=0 && strcmp((yyvsp[0].str), "deny")!=0 && @@ -4088,11 +4106,11 @@ yyreduce: fatal_exit("out of memory adding local-zone"); } } -#line 4092 "util/configparser.c" /* yacc.c:1646 */ +#line 4110 "util/configparser.c" /* yacc.c:1646 */ break; - case 319: -#line 1718 "./util/configparser.y" /* yacc.c:1646 */ + case 321: +#line 1728 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) { @@ -4100,11 +4118,11 @@ yyreduce: free((yyvsp[0].str)); } } -#line 4104 "util/configparser.c" /* yacc.c:1646 */ +#line 4122 "util/configparser.c" /* yacc.c:1646 */ break; - case 320: -#line 1727 "./util/configparser.y" /* yacc.c:1646 */ + case 322: +#line 1737 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(view-first:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4112,19 +4130,19 @@ yyreduce: else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4116 "util/configparser.c" /* yacc.c:1646 */ +#line 4134 "util/configparser.c" /* yacc.c:1646 */ break; - case 321: -#line 1736 "./util/configparser.y" /* yacc.c:1646 */ + case 323: +#line 1746 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(remote-control:)\n")); } -#line 4124 "util/configparser.c" /* yacc.c:1646 */ +#line 4142 "util/configparser.c" /* yacc.c:1646 */ break; - case 332: -#line 1747 "./util/configparser.y" /* yacc.c:1646 */ + case 334: +#line 1757 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4133,11 +4151,11 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4137 "util/configparser.c" /* yacc.c:1646 */ +#line 4155 "util/configparser.c" /* yacc.c:1646 */ break; - case 333: -#line 1757 "./util/configparser.y" /* yacc.c:1646 */ + case 335: +#line 1767 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_port:%s)\n", (yyvsp[0].str))); if(atoi((yyvsp[0].str)) == 0) @@ -4145,21 +4163,21 @@ yyreduce: else cfg_parser->cfg->control_port = atoi((yyvsp[0].str)); free((yyvsp[0].str)); } -#line 4149 "util/configparser.c" /* yacc.c:1646 */ +#line 4167 "util/configparser.c" /* yacc.c:1646 */ break; - case 334: -#line 1766 "./util/configparser.y" /* yacc.c:1646 */ + case 336: +#line 1776 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str))); if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[0].str))) yyerror("out of memory"); } -#line 4159 "util/configparser.c" /* yacc.c:1646 */ +#line 4177 "util/configparser.c" /* yacc.c:1646 */ break; - case 335: -#line 1773 "./util/configparser.y" /* yacc.c:1646 */ + case 337: +#line 1783 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4168,122 +4186,122 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4172 "util/configparser.c" /* yacc.c:1646 */ +#line 4190 "util/configparser.c" /* yacc.c:1646 */ break; - case 336: -#line 1783 "./util/configparser.y" /* yacc.c:1646 */ + case 338: +#line 1793 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_key_file); cfg_parser->cfg->server_key_file = (yyvsp[0].str); } -#line 4182 "util/configparser.c" /* yacc.c:1646 */ +#line 4200 "util/configparser.c" /* yacc.c:1646 */ break; - case 337: -#line 1790 "./util/configparser.y" /* yacc.c:1646 */ + case 339: +#line 1800 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->server_cert_file); cfg_parser->cfg->server_cert_file = (yyvsp[0].str); } -#line 4192 "util/configparser.c" /* yacc.c:1646 */ +#line 4210 "util/configparser.c" /* yacc.c:1646 */ break; - case 338: -#line 1797 "./util/configparser.y" /* yacc.c:1646 */ + case 340: +#line 1807 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_key_file); cfg_parser->cfg->control_key_file = (yyvsp[0].str); } -#line 4202 "util/configparser.c" /* yacc.c:1646 */ +#line 4220 "util/configparser.c" /* yacc.c:1646 */ break; - case 339: -#line 1804 "./util/configparser.y" /* yacc.c:1646 */ + case 341: +#line 1814 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->control_cert_file); cfg_parser->cfg->control_cert_file = (yyvsp[0].str); } -#line 4212 "util/configparser.c" /* yacc.c:1646 */ +#line 4230 "util/configparser.c" /* yacc.c:1646 */ break; - case 340: -#line 1811 "./util/configparser.y" /* yacc.c:1646 */ + case 342: +#line 1821 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(dnstap:)\n")); } -#line 4220 "util/configparser.c" /* yacc.c:1646 */ +#line 4238 "util/configparser.c" /* yacc.c:1646 */ break; - case 355: -#line 1828 "./util/configparser.y" /* yacc.c:1646 */ + case 357: +#line 1838 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4231 "util/configparser.c" /* yacc.c:1646 */ +#line 4249 "util/configparser.c" /* yacc.c:1646 */ break; - case 356: -#line 1836 "./util/configparser.y" /* yacc.c:1646 */ + case 358: +#line 1846 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_socket_path); cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str); } -#line 4241 "util/configparser.c" /* yacc.c:1646 */ +#line 4259 "util/configparser.c" /* yacc.c:1646 */ break; - case 357: -#line 1843 "./util/configparser.y" /* yacc.c:1646 */ + case 359: +#line 1853 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4252 "util/configparser.c" /* yacc.c:1646 */ +#line 4270 "util/configparser.c" /* yacc.c:1646 */ break; - case 358: -#line 1851 "./util/configparser.y" /* yacc.c:1646 */ + case 360: +#line 1861 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) yyerror("expected yes or no."); else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4263 "util/configparser.c" /* yacc.c:1646 */ +#line 4281 "util/configparser.c" /* yacc.c:1646 */ break; - case 359: -#line 1859 "./util/configparser.y" /* yacc.c:1646 */ + case 361: +#line 1869 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_identity); cfg_parser->cfg->dnstap_identity = (yyvsp[0].str); } -#line 4273 "util/configparser.c" /* yacc.c:1646 */ +#line 4291 "util/configparser.c" /* yacc.c:1646 */ break; - case 360: -#line 1866 "./util/configparser.y" /* yacc.c:1646 */ + case 362: +#line 1876 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->dnstap_version); cfg_parser->cfg->dnstap_version = (yyvsp[0].str); } -#line 4283 "util/configparser.c" /* yacc.c:1646 */ +#line 4301 "util/configparser.c" /* yacc.c:1646 */ break; - case 361: -#line 1873 "./util/configparser.y" /* yacc.c:1646 */ + case 363: +#line 1883 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4291,11 +4309,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_resolver_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4295 "util/configparser.c" /* yacc.c:1646 */ +#line 4313 "util/configparser.c" /* yacc.c:1646 */ break; - case 362: -#line 1882 "./util/configparser.y" /* yacc.c:1646 */ + case 364: +#line 1892 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4303,11 +4321,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_resolver_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4307 "util/configparser.c" /* yacc.c:1646 */ +#line 4325 "util/configparser.c" /* yacc.c:1646 */ break; - case 363: -#line 1891 "./util/configparser.y" /* yacc.c:1646 */ + case 365: +#line 1901 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4315,11 +4333,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_client_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4319 "util/configparser.c" /* yacc.c:1646 */ +#line 4337 "util/configparser.c" /* yacc.c:1646 */ break; - case 364: -#line 1900 "./util/configparser.y" /* yacc.c:1646 */ + case 366: +#line 1910 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4327,11 +4345,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_client_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4331 "util/configparser.c" /* yacc.c:1646 */ +#line 4349 "util/configparser.c" /* yacc.c:1646 */ break; - case 365: -#line 1909 "./util/configparser.y" /* yacc.c:1646 */ + case 367: +#line 1919 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4339,11 +4357,11 @@ yyreduce: else cfg_parser->cfg->dnstap_log_forwarder_query_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4343 "util/configparser.c" /* yacc.c:1646 */ +#line 4361 "util/configparser.c" /* yacc.c:1646 */ break; - case 366: -#line 1918 "./util/configparser.y" /* yacc.c:1646 */ + case 368: +#line 1928 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[0].str))); if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4351,29 +4369,29 @@ yyreduce: else cfg_parser->cfg->dnstap_log_forwarder_response_messages = (strcmp((yyvsp[0].str), "yes")==0); } -#line 4355 "util/configparser.c" /* yacc.c:1646 */ +#line 4373 "util/configparser.c" /* yacc.c:1646 */ break; - case 367: -#line 1927 "./util/configparser.y" /* yacc.c:1646 */ + case 369: +#line 1937 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("\nP(python:)\n")); } -#line 4363 "util/configparser.c" /* yacc.c:1646 */ +#line 4381 "util/configparser.c" /* yacc.c:1646 */ break; - case 371: -#line 1936 "./util/configparser.y" /* yacc.c:1646 */ + case 373: +#line 1946 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(python-script:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->python_script); cfg_parser->cfg->python_script = (yyvsp[0].str); } -#line 4373 "util/configparser.c" /* yacc.c:1646 */ +#line 4391 "util/configparser.c" /* yacc.c:1646 */ break; - case 372: -#line 1942 "./util/configparser.y" /* yacc.c:1646 */ + case 374: +#line 1952 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[0].str))); if (strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0) @@ -4382,21 +4400,21 @@ yyreduce: (strcmp((yyvsp[0].str), "yes")==0); free((yyvsp[0].str)); } -#line 4386 "util/configparser.c" /* yacc.c:1646 */ +#line 4404 "util/configparser.c" /* yacc.c:1646 */ break; - case 373: -#line 1952 "./util/configparser.y" /* yacc.c:1646 */ + case 375: +#line 1962 "./util/configparser.y" /* yacc.c:1646 */ { OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str))); free(cfg_parser->cfg->log_identity); cfg_parser->cfg->log_identity = (yyvsp[0].str); } -#line 4396 "util/configparser.c" /* yacc.c:1646 */ +#line 4414 "util/configparser.c" /* yacc.c:1646 */ break; -#line 4400 "util/configparser.c" /* yacc.c:1646 */ +#line 4418 "util/configparser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4624,7 +4642,7 @@ yyreturn: #endif return yyresult; } -#line 1958 "./util/configparser.y" /* yacc.c:1906 */ +#line 1968 "./util/configparser.y" /* yacc.c:1906 */ /* parse helper routines could be here */ diff --git a/util/configparser.h b/util/configparser.h index d8e85a48c..4659f6797 100644 --- a/util/configparser.h +++ b/util/configparser.h @@ -168,65 +168,66 @@ extern int yydebug; VAR_HARDEN_BELOW_NXDOMAIN = 378, VAR_IGNORE_CD_FLAG = 379, VAR_LOG_QUERIES = 380, - VAR_TCP_UPSTREAM = 381, - VAR_SSL_UPSTREAM = 382, - VAR_SSL_SERVICE_KEY = 383, - VAR_SSL_SERVICE_PEM = 384, - VAR_SSL_PORT = 385, - VAR_FORWARD_FIRST = 386, - VAR_STUB_SSL_UPSTREAM = 387, - VAR_FORWARD_SSL_UPSTREAM = 388, - VAR_STUB_FIRST = 389, - VAR_MINIMAL_RESPONSES = 390, - VAR_RRSET_ROUNDROBIN = 391, - VAR_MAX_UDP_SIZE = 392, - VAR_DELAY_CLOSE = 393, - VAR_UNBLOCK_LAN_ZONES = 394, - VAR_INSECURE_LAN_ZONES = 395, - VAR_INFRA_CACHE_MIN_RTT = 396, - VAR_DNS64_PREFIX = 397, - VAR_DNS64_SYNTHALL = 398, - VAR_DNSTAP = 399, - VAR_DNSTAP_ENABLE = 400, - VAR_DNSTAP_SOCKET_PATH = 401, - VAR_DNSTAP_SEND_IDENTITY = 402, - VAR_DNSTAP_SEND_VERSION = 403, - VAR_DNSTAP_IDENTITY = 404, - VAR_DNSTAP_VERSION = 405, - VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 406, - VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 407, - VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 408, - VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 409, - VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 410, - VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 411, - VAR_HARDEN_ALGO_DOWNGRADE = 412, - VAR_IP_TRANSPARENT = 413, - VAR_DISABLE_DNSSEC_LAME_CHECK = 414, - VAR_RATELIMIT = 415, - VAR_RATELIMIT_SLABS = 416, - VAR_RATELIMIT_SIZE = 417, - VAR_RATELIMIT_FOR_DOMAIN = 418, - VAR_RATELIMIT_BELOW_DOMAIN = 419, - VAR_RATELIMIT_FACTOR = 420, - VAR_CAPS_WHITELIST = 421, - VAR_CACHE_MAX_NEGATIVE_TTL = 422, - VAR_PERMIT_SMALL_HOLDDOWN = 423, - VAR_QNAME_MINIMISATION = 424, - VAR_QNAME_MINIMISATION_STRICT = 425, - VAR_IP_FREEBIND = 426, - VAR_DEFINE_TAG = 427, - VAR_LOCAL_ZONE_TAG = 428, - VAR_ACCESS_CONTROL_TAG = 429, - VAR_LOCAL_ZONE_OVERRIDE = 430, - VAR_ACCESS_CONTROL_TAG_ACTION = 431, - VAR_ACCESS_CONTROL_TAG_DATA = 432, - VAR_VIEW = 433, - VAR_ACCESS_CONTROL_VIEW = 434, - VAR_VIEW_FIRST = 435, - VAR_SERVE_EXPIRED = 436, - VAR_FAKE_DSA = 437, - VAR_LOG_IDENTITY = 438, - VAR_USE_SYSTEMD = 439 + VAR_LOG_REPLIES = 381, + VAR_TCP_UPSTREAM = 382, + VAR_SSL_UPSTREAM = 383, + VAR_SSL_SERVICE_KEY = 384, + VAR_SSL_SERVICE_PEM = 385, + VAR_SSL_PORT = 386, + VAR_FORWARD_FIRST = 387, + VAR_STUB_SSL_UPSTREAM = 388, + VAR_FORWARD_SSL_UPSTREAM = 389, + VAR_STUB_FIRST = 390, + VAR_MINIMAL_RESPONSES = 391, + VAR_RRSET_ROUNDROBIN = 392, + VAR_MAX_UDP_SIZE = 393, + VAR_DELAY_CLOSE = 394, + VAR_UNBLOCK_LAN_ZONES = 395, + VAR_INSECURE_LAN_ZONES = 396, + VAR_INFRA_CACHE_MIN_RTT = 397, + VAR_DNS64_PREFIX = 398, + VAR_DNS64_SYNTHALL = 399, + VAR_DNSTAP = 400, + VAR_DNSTAP_ENABLE = 401, + VAR_DNSTAP_SOCKET_PATH = 402, + VAR_DNSTAP_SEND_IDENTITY = 403, + VAR_DNSTAP_SEND_VERSION = 404, + VAR_DNSTAP_IDENTITY = 405, + VAR_DNSTAP_VERSION = 406, + VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 407, + VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 408, + VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 409, + VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 410, + VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 411, + VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 412, + VAR_HARDEN_ALGO_DOWNGRADE = 413, + VAR_IP_TRANSPARENT = 414, + VAR_DISABLE_DNSSEC_LAME_CHECK = 415, + VAR_RATELIMIT = 416, + VAR_RATELIMIT_SLABS = 417, + VAR_RATELIMIT_SIZE = 418, + VAR_RATELIMIT_FOR_DOMAIN = 419, + VAR_RATELIMIT_BELOW_DOMAIN = 420, + VAR_RATELIMIT_FACTOR = 421, + VAR_CAPS_WHITELIST = 422, + VAR_CACHE_MAX_NEGATIVE_TTL = 423, + VAR_PERMIT_SMALL_HOLDDOWN = 424, + VAR_QNAME_MINIMISATION = 425, + VAR_QNAME_MINIMISATION_STRICT = 426, + VAR_IP_FREEBIND = 427, + VAR_DEFINE_TAG = 428, + VAR_LOCAL_ZONE_TAG = 429, + VAR_ACCESS_CONTROL_TAG = 430, + VAR_LOCAL_ZONE_OVERRIDE = 431, + VAR_ACCESS_CONTROL_TAG_ACTION = 432, + VAR_ACCESS_CONTROL_TAG_DATA = 433, + VAR_VIEW = 434, + VAR_ACCESS_CONTROL_VIEW = 435, + VAR_VIEW_FIRST = 436, + VAR_SERVE_EXPIRED = 437, + VAR_FAKE_DSA = 438, + VAR_LOG_IDENTITY = 439, + VAR_USE_SYSTEMD = 440 }; #endif /* Tokens. */ @@ -353,65 +354,66 @@ extern int yydebug; #define VAR_HARDEN_BELOW_NXDOMAIN 378 #define VAR_IGNORE_CD_FLAG 379 #define VAR_LOG_QUERIES 380 -#define VAR_TCP_UPSTREAM 381 -#define VAR_SSL_UPSTREAM 382 -#define VAR_SSL_SERVICE_KEY 383 -#define VAR_SSL_SERVICE_PEM 384 -#define VAR_SSL_PORT 385 -#define VAR_FORWARD_FIRST 386 -#define VAR_STUB_SSL_UPSTREAM 387 -#define VAR_FORWARD_SSL_UPSTREAM 388 -#define VAR_STUB_FIRST 389 -#define VAR_MINIMAL_RESPONSES 390 -#define VAR_RRSET_ROUNDROBIN 391 -#define VAR_MAX_UDP_SIZE 392 -#define VAR_DELAY_CLOSE 393 -#define VAR_UNBLOCK_LAN_ZONES 394 -#define VAR_INSECURE_LAN_ZONES 395 -#define VAR_INFRA_CACHE_MIN_RTT 396 -#define VAR_DNS64_PREFIX 397 -#define VAR_DNS64_SYNTHALL 398 -#define VAR_DNSTAP 399 -#define VAR_DNSTAP_ENABLE 400 -#define VAR_DNSTAP_SOCKET_PATH 401 -#define VAR_DNSTAP_SEND_IDENTITY 402 -#define VAR_DNSTAP_SEND_VERSION 403 -#define VAR_DNSTAP_IDENTITY 404 -#define VAR_DNSTAP_VERSION 405 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 406 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 407 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 408 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 409 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 410 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 411 -#define VAR_HARDEN_ALGO_DOWNGRADE 412 -#define VAR_IP_TRANSPARENT 413 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 414 -#define VAR_RATELIMIT 415 -#define VAR_RATELIMIT_SLABS 416 -#define VAR_RATELIMIT_SIZE 417 -#define VAR_RATELIMIT_FOR_DOMAIN 418 -#define VAR_RATELIMIT_BELOW_DOMAIN 419 -#define VAR_RATELIMIT_FACTOR 420 -#define VAR_CAPS_WHITELIST 421 -#define VAR_CACHE_MAX_NEGATIVE_TTL 422 -#define VAR_PERMIT_SMALL_HOLDDOWN 423 -#define VAR_QNAME_MINIMISATION 424 -#define VAR_QNAME_MINIMISATION_STRICT 425 -#define VAR_IP_FREEBIND 426 -#define VAR_DEFINE_TAG 427 -#define VAR_LOCAL_ZONE_TAG 428 -#define VAR_ACCESS_CONTROL_TAG 429 -#define VAR_LOCAL_ZONE_OVERRIDE 430 -#define VAR_ACCESS_CONTROL_TAG_ACTION 431 -#define VAR_ACCESS_CONTROL_TAG_DATA 432 -#define VAR_VIEW 433 -#define VAR_ACCESS_CONTROL_VIEW 434 -#define VAR_VIEW_FIRST 435 -#define VAR_SERVE_EXPIRED 436 -#define VAR_FAKE_DSA 437 -#define VAR_LOG_IDENTITY 438 -#define VAR_USE_SYSTEMD 439 +#define VAR_LOG_REPLIES 381 +#define VAR_TCP_UPSTREAM 382 +#define VAR_SSL_UPSTREAM 383 +#define VAR_SSL_SERVICE_KEY 384 +#define VAR_SSL_SERVICE_PEM 385 +#define VAR_SSL_PORT 386 +#define VAR_FORWARD_FIRST 387 +#define VAR_STUB_SSL_UPSTREAM 388 +#define VAR_FORWARD_SSL_UPSTREAM 389 +#define VAR_STUB_FIRST 390 +#define VAR_MINIMAL_RESPONSES 391 +#define VAR_RRSET_ROUNDROBIN 392 +#define VAR_MAX_UDP_SIZE 393 +#define VAR_DELAY_CLOSE 394 +#define VAR_UNBLOCK_LAN_ZONES 395 +#define VAR_INSECURE_LAN_ZONES 396 +#define VAR_INFRA_CACHE_MIN_RTT 397 +#define VAR_DNS64_PREFIX 398 +#define VAR_DNS64_SYNTHALL 399 +#define VAR_DNSTAP 400 +#define VAR_DNSTAP_ENABLE 401 +#define VAR_DNSTAP_SOCKET_PATH 402 +#define VAR_DNSTAP_SEND_IDENTITY 403 +#define VAR_DNSTAP_SEND_VERSION 404 +#define VAR_DNSTAP_IDENTITY 405 +#define VAR_DNSTAP_VERSION 406 +#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 407 +#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 408 +#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 409 +#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 410 +#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 411 +#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 412 +#define VAR_HARDEN_ALGO_DOWNGRADE 413 +#define VAR_IP_TRANSPARENT 414 +#define VAR_DISABLE_DNSSEC_LAME_CHECK 415 +#define VAR_RATELIMIT 416 +#define VAR_RATELIMIT_SLABS 417 +#define VAR_RATELIMIT_SIZE 418 +#define VAR_RATELIMIT_FOR_DOMAIN 419 +#define VAR_RATELIMIT_BELOW_DOMAIN 420 +#define VAR_RATELIMIT_FACTOR 421 +#define VAR_CAPS_WHITELIST 422 +#define VAR_CACHE_MAX_NEGATIVE_TTL 423 +#define VAR_PERMIT_SMALL_HOLDDOWN 424 +#define VAR_QNAME_MINIMISATION 425 +#define VAR_QNAME_MINIMISATION_STRICT 426 +#define VAR_IP_FREEBIND 427 +#define VAR_DEFINE_TAG 428 +#define VAR_LOCAL_ZONE_TAG 429 +#define VAR_ACCESS_CONTROL_TAG 430 +#define VAR_LOCAL_ZONE_OVERRIDE 431 +#define VAR_ACCESS_CONTROL_TAG_ACTION 432 +#define VAR_ACCESS_CONTROL_TAG_DATA 433 +#define VAR_VIEW 434 +#define VAR_ACCESS_CONTROL_VIEW 435 +#define VAR_VIEW_FIRST 436 +#define VAR_SERVE_EXPIRED 437 +#define VAR_FAKE_DSA 438 +#define VAR_LOG_IDENTITY 439 +#define VAR_USE_SYSTEMD 440 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -422,7 +424,7 @@ union YYSTYPE char* str; -#line 426 "util/configparser.h" /* yacc.c:1909 */ +#line 428 "util/configparser.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; diff --git a/util/configparser.y b/util/configparser.y index bdf3d0009..6c3c74da8 100644 --- a/util/configparser.y +++ b/util/configparser.y @@ -104,7 +104,8 @@ extern struct config_parser_state* cfg_parser; %token VAR_AUTO_TRUST_ANCHOR_FILE VAR_KEEP_MISSING VAR_ADD_HOLDDOWN %token VAR_DEL_HOLDDOWN VAR_SO_RCVBUF VAR_EDNS_BUFFER_SIZE VAR_PREFETCH %token VAR_PREFETCH_KEY VAR_SO_SNDBUF VAR_SO_REUSEPORT VAR_HARDEN_BELOW_NXDOMAIN -%token VAR_IGNORE_CD_FLAG VAR_LOG_QUERIES VAR_TCP_UPSTREAM VAR_SSL_UPSTREAM +%token VAR_IGNORE_CD_FLAG VAR_LOG_QUERIES VAR_LOG_REPLIES +%token VAR_TCP_UPSTREAM VAR_SSL_UPSTREAM %token VAR_SSL_SERVICE_KEY VAR_SSL_SERVICE_PEM VAR_SSL_PORT VAR_FORWARD_FIRST %token VAR_STUB_SSL_UPSTREAM VAR_FORWARD_SSL_UPSTREAM %token VAR_STUB_FIRST VAR_MINIMAL_RESPONSES VAR_RRSET_ROUNDROBIN @@ -190,7 +191,7 @@ content_server: server_num_threads | server_verbosity | server_port | server_del_holddown | server_keep_missing | server_so_rcvbuf | server_edns_buffer_size | server_prefetch | server_prefetch_key | server_so_sndbuf | server_harden_below_nxdomain | server_ignore_cd_flag | - server_log_queries | server_tcp_upstream | server_ssl_upstream | + server_log_queries | server_log_replies | server_tcp_upstream | server_ssl_upstream | server_ssl_service_key | server_ssl_service_pem | server_ssl_port | server_minimal_responses | server_rrset_roundrobin | server_max_udp_size | server_so_reuseport | server_delay_close | @@ -553,6 +554,15 @@ server_log_queries: VAR_LOG_QUERIES STRING_ARG free($2); } ; +server_log_replies: VAR_LOG_REPLIES STRING_ARG + { + OUTYY(("P(server_log_replies:%s)\n", $2)); + if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0) + yyerror("expected yes or no."); + else cfg_parser->cfg->log_replies = (strcmp($2, "yes")==0); + free($2); + } + ; server_chroot: VAR_CHROOT STRING_ARG { OUTYY(("P(server_chroot:%s)\n", $2)); diff --git a/util/data/msgreply.c b/util/data/msgreply.c index 2caee7789..c4d0748fc 100644 --- a/util/data/msgreply.c +++ b/util/data/msgreply.c @@ -819,7 +819,39 @@ log_dns_msg(const char* str, struct query_info* qinfo, struct reply_info* rep) regional_destroy(region); } -void +void +log_reply_info(enum verbosity_value v, struct query_info *qinf, + struct sockaddr_storage *addr, socklen_t addrlen, struct timeval dur, + int cached, struct sldns_buffer *rmsg) +{ + char qname_buf[LDNS_MAX_DOMAINLEN+1]; + char clientip_buf[128]; + char rcode_buf[16]; + char type_buf[16]; + char class_buf[16]; + size_t pktlen; + uint16_t rcode = FLAGS_GET_RCODE(sldns_buffer_read_u16_at(rmsg, 2)); + + if(verbosity < v) + return; + + sldns_wire2str_rcode_buf(rcode, rcode_buf, sizeof(rcode_buf)); + addr_to_str(addr, addrlen, clientip_buf, sizeof(clientip_buf)); + if(rcode == LDNS_RCODE_FORMERR) + { + log_info("%s - - - %s - - - ", clientip_buf, rcode_buf); + } else { + dname_str(qinf->qname, qname_buf); + pktlen = sldns_buffer_limit(rmsg); + sldns_wire2str_type_buf(qinf->qtype, type_buf, sizeof(type_buf)); + sldns_wire2str_class_buf(qinf->qclass, class_buf, sizeof(class_buf)); + log_info("%s %s %s %s %s " ARG_LL "d.%6.6d %d %d", + clientip_buf, qname_buf, type_buf, class_buf, + rcode_buf, (long long)dur.tv_sec, (int)dur.tv_usec, cached, (int)pktlen); + } +} + +void log_query_info(enum verbosity_value v, const char* str, struct query_info* qinf) { diff --git a/util/data/msgreply.h b/util/data/msgreply.h index cc0216133..407f01114 100644 --- a/util/data/msgreply.h +++ b/util/data/msgreply.h @@ -448,9 +448,26 @@ struct ub_packed_rrset_key* reply_find_rrset(struct reply_info* rep, * @param qinfo: query section. * @param rep: rest of message. */ -void log_dns_msg(const char* str, struct query_info* qinfo, +void log_dns_msg(const char* str, struct query_info* qinfo, struct reply_info* rep); +/** + * Print string with neat domain name, type, class, + * status code from, and size of a query response. + * + * @param v: at what verbosity level to print this. + * @param qinfo: query section. + * @param addr: address of the client. + * @param addrlen: length of the client address. + * @param dur: how long it took to complete the query. + * @param cached: whether or not the reply is coming from + * the cache, or an outside network. + * @param rmsg: sldns buffer packet. + */ +void log_reply_info(enum verbosity_value v, struct query_info *qinf, + struct sockaddr_storage *addr, socklen_t addrlen, struct timeval dur, + int cached, struct sldns_buffer *rmsg); + /** * Print string with neat domain name, type, class from query info. * @param v: at what verbosity level to print this.