]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Merge branch 'master' into review-rfc8914-ede
authorWillem Toorop <willem@nlnetlabs.nl>
Tue, 11 Jan 2022 08:26:49 +0000 (09:26 +0100)
committerWillem Toorop <willem@nlnetlabs.nl>
Tue, 11 Jan 2022 08:26:49 +0000 (09:26 +0100)
1  2 
daemon/remote.c
doc/unbound.conf.5.in
services/rpz.c
services/rpz.h
util/config_file.h
util/configlexer.c
util/configlexer.lex
util/configparser.c
util/configparser.h
util/configparser.y

diff --cc daemon/remote.c
Simple merge
index a9b096effe4dda6552e4b10b52d4bb586adfc1a7,1c9ec9ddbc749c81a1cccddadf39f24f5a5622ea..75a76b05b841c869a7d6feaf5d521f12fd70d978
@@@ -2689,9 -2633,10 +2689,13 @@@ Log all applied RPZ actions for this RP
  .B rpz\-log\-name: \fI<name>
  Specify a string to be part of the log line, for easy referencing.
  .TP
 +.B rpz\-do\-ede: \fI<yes or no>
 +Specify if this zone RPZ responds with Extended DNS Errors (RFC 8914). The
 +default is no.
+ .B rpz\-signal\-nxdomain\-ra: \fI<yes or no>
+ Signal when a query is blocked by the RPZ with NXDOMAIN with an unset RA flag.
+ This allows certain clients, like dnsmasq, to infer that the domain is
+ externally blocked. Default is no.
  .TP
  .B tags: \fI<list of tags>
  Limit the policies from this RPZ clause to clients with a matching tag. Tags
diff --cc services/rpz.c
index f4a8a9b626eb95152acbbcbc20759c9e39b37591,322e9d1393c44c07d2f47a7f5edb3a09473e7986..19ea5adcefd9a28a4736860ac3170aefbbb07ea6
@@@ -1934,7 -1926,10 +1939,10 @@@ rpz_synthesize_qname_localdata(struct m
        }
  
        ret = local_zones_zone_answer(z, env, qinfo, edns, repinfo, buf, temp,
 -              0 /* no local data used */, lzt);
 +              0 /* no local data used */, lzt, do_ede);
+       if(r->signal_nxdomain_ra && LDNS_RCODE_WIRE(sldns_buffer_begin(buf))
+               == LDNS_RCODE_NXDOMAIN)
+               LDNS_RA_CLR(sldns_buffer_begin(buf));
        if(r->log) {
                log_rpz_apply("qname", z->name, NULL, localzone_type_to_rpz_action(lzt),
                              qinfo, repinfo, NULL, r->log_name);
@@@ -2306,15 -2300,13 +2314,19 @@@ rpz_apply_maybe_clientip_trigger(struc
                                        (node?&node->node:NULL),
                                        client_action, qinfo, repinfo, NULL,
                                        (*r_out)->log_name);
 +                      /* check the rpz zone if we want to respond with EDE (RFC8914) */
 +                      if (*r_out && (*r_out)->do_ede)
 +                              do_ede = (*r_out)->do_ede;
 +                      else 
 +                              do_ede = 0;
 +
                        local_zones_zone_answer(*z_out /*likely NULL, no zone*/, env, qinfo, edns,
                                repinfo, buf, temp, 0 /* no local data used */,
 -                              rpz_action_to_localzone_type(client_action));
 +                              rpz_action_to_localzone_type(client_action), do_ede);
+                       if(*r_out && (*r_out)->signal_nxdomain_ra &&
+                               LDNS_RCODE_WIRE(sldns_buffer_begin(buf))
+                               == LDNS_RCODE_NXDOMAIN)
+                               LDNS_RA_CLR(sldns_buffer_begin(buf));
                }
                ret = 1;
                goto done;
diff --cc services/rpz.h
index e1266d18cb6962dda63034eb901ad48841da0806,c29d30dff506c3b8c6c24f2a0b062ca32344e87a..60b1bd6bef72f4feb66ccf902785cb4fe0bb73be
@@@ -123,9 -123,10 +123,11 @@@ struct rpz 
        struct ub_packed_rrset_key* cname_override;
        int log;
        char* log_name;
+       /** signal NXDOMAIN blocked with unset RA flag */
+       int signal_nxdomain_ra;
        struct regional* region;
        int disabled;
 +    int do_ede;
  };
  
  /**
index 9f23f708abdd5661196b251f3c36a2afdadbf35a,cd1b3c99fb99b1581e95efe3c9a51dea980720c1..aac40e856eeb867cf52a4d7ffdffff3727eccd1f
@@@ -753,8 -745,8 +753,10 @@@ struct config_auth 
        /** Always reply with this CNAME target if the cname override action is
         * used */
        char* rpz_cname;
 +      /** Respond with EDEs (RFC 8914) for this zone */
 +      int rpz_do_ede;
+       /** signal nxdomain block with unset RA */
+       int rpz_signal_nxdomain_ra;
        /** Check ZONEMD records for this zone */
        int zonemd_check;
        /** Reject absence of ZONEMD records, zone must have one */
index 85121bebfa293ecfce5da9d69faa6c3786048c23,2763dd3acdea4541374e15fb343bd6c60f47bd9a..aec7135e4f159896325a92a02539634384b64ad1
@@@ -362,9 -354,8 +354,8 @@@ static void yynoreturn yy_fatal_error 
        (yy_hold_char) = *yy_cp; \
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
- #define YY_NUM_RULES 359
- #define YY_END_OF_BUFFER 360
 -#define YY_NUM_RULES 356
 -#define YY_END_OF_BUFFER 357
++#define YY_NUM_RULES 360
++#define YY_END_OF_BUFFER 361
  /* This struct is not used in this scanner,
     but its presence is necessary. */
  struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
- static yyconst flex_int16_t yy_accept[3563] =
 -static const flex_int16_t yy_accept[3543] =
++static const flex_int16_t yy_accept[3582] =
      {   0,
-         1,    1,  333,  333,  337,  337,  341,  341,  345,  345,
-         1,    1,  349,  349,  353,  353,  360,  357,    1,  331,
-       331,  358,    2,  358,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  333,  334,  334,  335,
-       358,  337,  338,  338,  339,  358,  344,  341,  342,  342,
-       343,  358,  345,  346,  346,  347,  358,  356,  332,    2,
-       336,  358,  356,  352,  349,  350,  350,  351,  358,  353,
-       354,  354,  355,  358,  357,    0,    1,    2,    2,    2,
-         2,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -        1,    1,  330,  330,  334,  334,  338,  338,  342,  342,
 -        1,    1,  346,  346,  350,  350,  357,  354,    1,  328,
 -      328,  355,    2,  355,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  330,  331,  331,  332,
 -      355,  334,  335,  335,  336,  355,  341,  338,  339,  339,
 -      340,  355,  342,  343,  343,  344,  355,  353,  329,    2,
 -      333,  355,  353,  349,  346,  347,  347,  348,  355,  350,
 -      351,  351,  352,  355,  354,    0,    1,    2,    2,    2,
 -        2,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  333,
-         0,  337,    0,  344,    0,  341,  345,    0,  356,    0,
-         2,    2,  356,  352,    0,  349,  353,    0,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  330,
 -        0,  334,    0,  341,    0,  338,  342,    0,  353,    0,
 -        2,    2,  353,  349,    0,  346,  350,    0,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  356,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  353,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  130,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  140,  357,  357,  357,  357,  357,  357,  357,
-       356,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  130,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      140,  354,  354,  354,  354,  354,  354,  354,  353,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  112,  357,  327,  357,  357,  357,  357,  357,  357,
-       357,  357,    8,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  112,  354,
 -      327,  354,  354,  354,  354,  354,  354,  354,  354,    8,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  131,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  145,  357,  357,
-       356,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      131,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  145,  354,  354,  353,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  320,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  320,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  356,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,   67,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  251,  357,   14,   15,  357,   19,   18,  357,  357,
-       235,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  353,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,   67,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  251,  354,   14,
 -       15,  354,   19,   18,  354,  354,  235,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  138,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  233,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,    3,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      138,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  233,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,    3,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  356,  357,  357,  357,  357,  357,  357,  357,
-       314,  357,  357,  313,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  353,  354,  354,
 -      354,  354,  354,  354,  354,  314,  354,  354,  313,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  337,  354,
--
-       357,  357,  357,  357,  340,  357,  357,  357,  357,  357,
-       357,  357,  357,   66,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-        70,  357,  283,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  321,  322,  357,  357,  357,  357,  357,  357,
-       357,  357,   71,  357,  357,  139,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  134,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  222,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,   66,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,   70,  354,  283,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  321,  322,  354,  354,
 -      354,  354,  354,  354,  354,  354,   71,  354,  354,  139,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  134,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  222,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,   21,  354,
--
-       357,  357,  357,  357,   21,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  165,  357,  357,  357,
-       357,  357,  356,  340,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  110,  357,  357,  357,  357,
-       357,  357,  357,  291,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  191,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      165,  354,  354,  354,  354,  354,  353,  337,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  110,
 -      354,  354,  354,  354,  354,  354,  354,  291,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  191,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  164,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  109,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  164,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  109,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,   35,  354,  354,  354,  354,  354,
--
-       357,   35,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,   36,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-        68,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  137,  357,  357,  357,  356,  357,  357,  357,  357,
-       357,  129,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,   69,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       255,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,   36,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,   68,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  137,  354,  354,  354,  353,  354,
 -      354,  354,  354,  354,  129,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -       69,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  255,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  192,  354,  354,
--
-       357,  357,  357,  357,  357,  192,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,   57,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,   57,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  273,  354,  354,  354,  354,  354,  354,
--
-       357,  273,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,   61,  357,   62,  357,  357,  357,  357,  357,
-       113,  357,  114,  357,  357,  357,  357,  357,  111,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,    7,  357,  357,  357,  357,  356,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  244,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,   61,  354,   62,  354,  354,  354,
 -      354,  354,  113,  354,  114,  354,  354,  354,  354,  354,
 -      111,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,    7,  354,  354,  354,  354,  353,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  244,  354,  354,
 -      354,  354,  168,  354,  354,  354,  354,  354,  354,  354,
--
-       168,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  256,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,   48,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,   58,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  214,  357,  213,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  256,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,   48,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,   58,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  214,  354,  213,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,   16,   17,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,   72,  357,  357,  357,  136,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  221,  357,  357,  357,  357,
-       357,  357,  116,  357,  115,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       205,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       146,  357,  357,  357,  356,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,   16,   17,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,   72,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  221,  354,  354,  354,
 -      354,  354,  354,  116,  354,  115,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  205,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  146,  354,  354,  354,  353,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  104,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  104,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,   92,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  234,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,   97,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,   65,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,   92,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  234,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,   97,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,   65,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  208,  209,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  208,  209,  357,  357,
-       357,  285,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,    6,  357,  357,  357,  357,
-       357,  357,  357,  304,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  289,  357,  357,  357,  357,  357,  357,  315,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,   45,  357,  357,  357,  357,   47,  357,
-       357,  357,   93,  357,  357,  357,  357,  357,   55,  357,
 -      285,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,    6,  354,  354,  354,  354,  354,
 -      354,  354,  304,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      289,  354,  354,  354,  354,  354,  354,  354,  315,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,   45,  354,  354,  354,  354,   47,  354,
 -      354,  354,   93,  354,  354,  354,  354,  354,   55,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       356,  357,  201,  357,  357,  357,  141,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  226,  357,  202,
-       357,  357,  357,  241,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,   56,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  143,  122,  357,  123,
-       357,  357,  357,  357,  121,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  161,  357,  357,   53,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      353,  354,  201,  354,  354,  354,  141,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  226,  354,  202,
 -      354,  354,  354,  241,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,   56,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  143,  122,  354,  123,  354,
 -      354,  354,  354,  121,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  161,  354,  354,   53,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  272,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  272,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  203,  357,  357,  357,  357,
-       357,  357,  357,  206,  357,  212,  357,  357,  357,  357,
-       357,  357,  240,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       108,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  135,
-       357,  357,  357,  357,  357,  357,  357,   63,  357,  357,
-       357,   29,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,   20,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  203,  354,  354,  354,  354,  354,
 -      206,  354,  212,  354,  354,  354,  354,  354,  354,  240,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  108,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  135,  354,  354,  354,
 -      354,  354,  354,  354,  354,   63,  354,  354,  354,   29,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,   20,  354,  354,  354,  354,  354,  354,   30,
 -       39,  354,  173,  354,  354,  354,  354,  354,  354,  354,
--
-       357,   30,   39,  357,  173,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  199,
-       357,  357,  356,  357,  357,  357,  357,  357,  357,   80,
-        82,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  293,  357,  357,  357,  357,  252,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  124,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  160,  357,   49,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  199,  354,  354,
 -      353,  354,  354,  354,  354,  354,  354,   80,   82,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  293,  354,  354,  354,  354,  252,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      124,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  160,  354,   49,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  308,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       308,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  167,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  302,  357,  357,  357,
-       232,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       318,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  185,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  117,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  167,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  302,  354,  354,  354,  232,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  318,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  185,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  117,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  180,  354,  193,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  180,  357,  193,  357,  357,
-       357,  357,  357,  357,  357,  356,  357,  149,  357,  357,
-       357,  357,  357,  103,  357,  357,  357,  357,  224,  357,
-       357,  357,  357,  357,  357,  242,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  264,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  142,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  184,  357,  357,  357,  357,  357,  357,   83,
-       357,   84,  357,  357,  357,  357,  357,   64,  311,  357,
 -      354,  353,  354,  149,  354,  354,  354,  354,  354,  103,
 -      354,  354,  354,  354,  224,  354,  354,  354,  354,  354,
 -      354,  242,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  264,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  142,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  184,  354,  354,
 -      354,  354,  354,  354,   83,  354,   84,  354,  354,  354,
 -      354,  354,   64,  311,  354,  354,  354,  354,  354,   91,
 -      194,  354,  215,  354,  245,  354,  354,  207,  286,  354,
--
-       357,  357,  357,  357,   91,  194,  357,  215,  357,  357,
-       357,  245,  357,  357,  207,  286,  357,  357,  357,  357,
-       357,  357,   76,  357,  196,  357,  357,  357,  357,  357,
-       357,    9,  357,  357,  357,  357,  357,  107,  357,  357,
-       357,  357,  277,  357,  357,  357,  357,  223,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,   76,  354,  196,  354,  354,
 -      354,  354,  354,  354,    9,  354,  354,  354,  354,  354,
 -      107,  354,  354,  354,  354,  277,  354,  354,  354,  354,
 -      223,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  353,  354,  354,  354,  354,  183,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       356,  357,  357,  357,  357,  183,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  169,  357,  292,  357,
-       357,  357,  357,  357,  263,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  236,  330,  357,  357,
-       357,  357,  357,  284,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  166,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  312,  357,  195,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-        75,   77,  357,  357,  357,  357,  357,  357,  357,  357,
 -      169,  354,  292,  354,  354,  354,  354,  354,  263,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      236,  354,  354,  354,  354,  354,  284,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  166,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      312,  354,  195,  354,  354,  354,  354,  354,  354,  354,
 -      354,   75,   77,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  106,  354,  354,  354,  354,  275,  354,
 -      354,  354,  354,  288,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  106,  357,  357,  357,  357,  275,  357,  357,
-       357,  357,  288,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  228,   37,   31,   33,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,   38,  357,   32,   34,  357,  357,  357,  357,  357,
-       357,  357,  357,  102,  357,  179,  357,  357,  357,  357,
-       357,  357,  357,  356,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  230,  227,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,   74,  357,  357,  357,  144,
 -      354,  354,  354,  354,  354,  354,  354,  228,   37,   31,
 -       33,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,   38,  354,   32,   34,  354,  354,  354,
 -      354,  354,  354,  354,  354,  102,  354,  179,  354,  354,
 -      354,  354,  354,  354,  354,  353,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  230,  227,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,   74,  354,  354,
 -      354,  144,  354,  125,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  162,   50,  354,  354,  354,  345,
--
-       357,  125,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  162,   50,  357,  357,  357,  348,   13,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  306,
-       357,  309,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,   12,  357,  357,   22,
-       357,  357,  357,  357,  357,  281,  357,  357,  357,  357,
-       290,  357,  357,  357,   78,  357,  238,  357,  357,  357,
-       357,  357,  229,  357,  357,   73,  357,  357,  357,  357,
-       357,  357,   23,  357,  357,   46,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  178,  177,
 -       13,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  306,  354,  309,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,   12,  354,  354,   22,
 -      354,  354,  354,  354,  354,  281,  354,  354,  354,  354,
 -      290,  354,  354,  354,  354,   78,  354,  238,  354,  354,
 -      354,  354,  354,  229,  354,  354,   73,  354,  354,  354,
 -      354,  354,  354,   23,  354,  354,   46,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  178,
 -      177,  354,  354,  345,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  231,  225,  354,  243,  354,  354,  294,
--
-       357,  357,  348,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  231,  225,  357,  243,  357,  357,  294,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,   85,  357,  357,  357,  357,  276,  357,
-       357,  357,  357,  328,  357,  211,  357,  357,  357,  357,
-       357,  237,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  316,  317,  175,  357,  357,   79,
-       357,  357,  357,  357,  186,  357,  357,  357,  118,  120,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,   85,  354,  354,  354,  354,  276,
 -      354,  354,  354,  354,  211,  354,  354,  354,  354,  354,
 -      237,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  316,  317,  175,  354,  354,  354,   79,
 -      354,  354,  354,  354,  186,  354,  354,  354,  118,  120,
 -      119,  354,  354,  354,   25,  354,  354,  170,  354,  172,
 -      354,  216,  354,  354,  354,  354,  176,  354,  354,  354,
--
-       119,  357,  357,  357,   25,  357,  357,  170,  357,  172,
-       357,  216,  357,  357,  357,  357,  176,  357,  357,  357,
-       357,  246,  357,  357,  357,  357,  357,  357,  357,  151,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  254,  357,  357,  357,  357,  357,  357,  357,
-       325,  357,   27,  357,  287,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,   89,  217,  357,  357,  274,  357,  310,  357,  357,
-       210,  357,  357,  357,  357,  357,  282,   59,  357,  357,
-       357,  357,  357,  357,    4,  357,  357,  357,  357,  133,
 -      354,  246,  354,  354,  354,  354,  354,  354,  354,  151,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  254,  354,  354,  354,  354,  354,  354,  354,
 -      325,  354,   27,  354,  287,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,   89,  217,  354,  354,  274,  354,  310,  354,  210,
 -      354,  354,  354,  354,  354,  282,   59,  354,  354,  354,
 -      354,  354,  354,    4,  354,  354,  354,  354,  133,  354,
 -      150,  354,  354,  354,  190,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       150,  357,  357,  357,  190,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  249,   40,   41,  357,  357,  357,  357,
-       357,  357,  357,  295,  357,  357,  357,  357,  357,  357,
-       357,  262,  357,  357,  357,  357,  357,  357,  357,  357,
-       220,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,   88,  357,   60,  280,  357,
-       357,  250,  357,  357,  357,  357,  357,   11,  357,  357,
-       357,  357,  357,  357,  357,  357,  132,  357,  357,  357,
-       357,  218,   94,  357,  357,   43,  357,  357,  357,  357,
 -      354,  354,  354,  249,   40,   41,  354,  354,  354,  354,
 -      354,  354,  354,  295,  354,  354,  354,  354,  354,  354,
 -      354,  262,  354,  354,  354,  354,  354,  354,  354,  354,
 -      220,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,   88,  354,   60,  280,  354,
 -      250,  354,  354,  354,  354,  354,   11,  354,  354,  354,
 -      354,  354,  354,  354,  354,  132,  354,  354,  354,  354,
 -      354,  218,   94,  354,  354,   43,  354,  354,  354,  354,
 -      354,  354,  354,  354,  182,  354,  354,  354,  354,  354,
 -      354,  354,  153,  354,  354,  354,  354,  253,  354,  354,
--
-       357,  357,  357,  357,  182,  357,  357,  357,  357,  357,
-       357,  357,  153,  357,  357,  357,  357,  253,  357,  357,
-       357,  357,  357,  261,  357,  357,  357,  357,  147,  357,
-       357,  357,  126,  128,  127,  357,  357,  357,   96,  100,
-        95,  163,  357,  357,  357,  357,   86,  357,  357,  357,
-       357,  357,  357,  357,   10,  357,  357,  357,  357,  357,
-       278,  319,  357,  357,  357,  357,  357,  324,   42,  357,
-       357,  357,  357,  357,  181,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  261,  354,  354,  354,  354,  147,  354,
 -      354,  354,  126,  128,  127,  354,  354,  354,   96,  100,
 -       95,  163,  354,  354,  354,  354,   86,  354,  354,  354,
 -      354,  354,  354,   10,  354,  354,  354,  354,  354,  278,
 -      319,  354,  354,  354,  354,  354,  354,  324,   42,  354,
 -      354,  354,  354,  354,  181,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      101,   99,  354,   54,  354,  354,   87,  307,  354,  354,
 -      354,  354,   24,  354,  354,  354,  354,  354,  204,  354,
--
-       101,   99,  357,   54,  357,  357,   87,  307,  357,  357,
-       357,  357,  357,   24,  357,  357,  357,  357,  357,  204,
-       357,  357,  357,  357,  357,  219,  357,  357,  357,  357,
-       357,  357,  357,  357,  200,  357,  357,  171,   81,  357,
-       357,  357,  357,  357,  296,  357,  357,  357,  357,  357,
-       357,  357,  258,  357,  357,  257,  148,  357,  357,   98,
-        51,  357,  329,  154,  155,  158,  159,  156,  157,   90,
-       305,  357,  357,  279,  357,  357,  357,   26,  357,  174,
-       357,  357,  357,  357,  198,  357,  248,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  219,  354,  354,  354,  354,
 -      354,  354,  354,  354,  200,  354,  354,  171,   81,  354,
 -      354,  354,  354,  354,  296,  354,  354,  354,  354,  354,
 -      354,  354,  258,  354,  354,  257,  148,  354,  354,   98,
 -       51,  354,  154,  155,  158,  159,  156,  157,   90,  305,
 -      354,  354,  279,  136,  354,  354,  354,   26,  354,  174,
 -      354,  354,  354,  354,  198,  354,  248,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  188,  187,   44,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
--
-       357,  357,  357,  357,  357,  357,  357,  188,  187,   44,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  303,  357,  357,  357,  357,  105,  357,  247,
-       357,  271,  300,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  326,  357,   52,    5,  357,  357,
-       239,  357,  357,  301,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  259,   28,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  260,  357,  357,
-       357,  152,  357,  357,  357,  357,  357,  357,  357,  357,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  303,  354,  354,  354,  354,  105,  354,  247,
 -      354,  271,  300,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  326,  354,   52,    5,  354,  354,
 -      239,  354,  354,  301,  354,  354,  354,  354,  354,  354,
 -      354,  354,  354,  259,   28,  354,  354,  354,  354,  354,
 -      354,  354,  354,  354,  354,  354,  354,  260,  354,  354,
 -      354,  152,  354,  354,  354,  354,  354,  354,  354,  354,
 -      189,  354,  197,  354,  354,  354,  354,  354,  354,  354,
 -      354,  354,  297,  354,  354,  354,  354,  354,  354,  354,
--
-       189,  357,  197,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  297,  357,  357,  357,  357,  357,  357,  357,
-       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-       323,  357,  357,  267,  357,  357,  357,  357,  357,  298,
-       357,  357,  357,  357,  357,  357,  299,  357,  357,  357,
-       265,  357,  268,  269,  357,  357,  357,  357,  357,  266,
 -      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
 -      323,  354,  354,  267,  354,  354,  354,  354,  354,  298,
 -      354,  354,  354,  354,  354,  354,  299,  354,  354,  354,
 -      265,  354,  268,  269,  354,  354,  354,  354,  354,  266,
--      270,    0
++        1,    1,  334,  334,  338,  338,  342,  342,  346,  346,
++        1,    1,  350,  350,  354,  354,  361,  358,    1,  332,
++      332,  359,    2,  359,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  334,  335,  335,  336,
++      359,  338,  339,  339,  340,  359,  345,  342,  343,  343,
++      344,  359,  346,  347,  347,  348,  359,  357,  333,    2,
++      337,  359,  357,  353,  350,  351,  351,  352,  359,  354,
++      355,  355,  356,  359,  358,    0,    1,    2,    2,    2,
++        2,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  334,
++        0,  338,    0,  345,    0,  342,  346,    0,  357,    0,
++        2,    2,  357,  353,    0,  350,  354,    0,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  357,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  130,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  141,  358,  358,  358,  358,  358,  358,  358,
++      357,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  112,  358,  328,  358,  358,  358,  358,  358,  358,
++      358,  358,    8,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  131,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  146,  358,
++      358,  357,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  321,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  357,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,   67,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  252,  358,   14,   15,  358,   19,   18,
++      358,  358,  236,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  139,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  234,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,    3,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  357,  358,  358,  358,  358,
++      358,  358,  358,  315,  358,  358,  314,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  341,  358,  358,
++      358,  358,  358,  358,  358,  358,   66,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,   70,  358,  284,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  322,  323,  358,  358,  358,
++      358,  358,  358,  358,  358,   71,  358,  358,  140,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  134,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  223,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,   21,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      166,  358,  358,  358,  358,  358,  357,  341,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  110,
++      358,  358,  358,  358,  358,  358,  358,  292,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  192,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  165,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  109,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,   35,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,   36,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,   68,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  138,  358,  358,  358,
++      357,  358,  358,  358,  358,  358,  129,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,   69,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  256,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      193,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,   57,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  274,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,   61,  358,
++       62,  358,  358,  358,  358,  358,  113,  358,  114,  358,
++      358,  358,  358,  358,  111,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,    7,  358,  358,
++      358,  358,  357,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  245,  358,  358,  358,  358,  169,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  257,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,   48,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,   58,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  215,
++      358,  214,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,   16,   17,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,   72,  358,  358,
++      358,  136,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  222,  358,  358,  358,  358,  358,  358,  116,
++      358,  115,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  206,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  147,  358,  358,
++
++      358,  357,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  104,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,   92,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  235,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,   97,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,   65,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  209,  210,  358,  358,  358,  286,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,    6,  358,  358,  358,  358,  358,  358,  358,
++      305,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  290,  358,
++      358,  358,  358,  358,  358,  358,  316,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,   45,  358,  358,  358,  358,   47,  358,  358,  358,
++
++       93,  358,  358,  358,  358,  358,   55,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  357,  358,
++      202,  358,  358,  358,  142,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  227,  358,  203,  358,  358,
++      358,  242,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,   56,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  144,  122,  358,  123,  358,  358,
++      358,  358,  121,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  162,  358,  358,   53,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  273,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  204,  358,  358,  358,  358,  358,  358,
++      358,  207,  358,  213,  358,  358,  358,  358,  358,  358,
++      241,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  108,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  135,  358,  358,
++      358,  358,  358,  358,  358,  358,   63,  358,  358,  358,
++       29,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,   20,  358,  358,  358,  358,  358,  358,
++       30,   39,  358,  174,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  200,  358,
++      358,  357,  358,  358,  358,  358,  358,  358,   80,   82,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  294,  358,  358,  358,  358,  253,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  124,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  161,  358,   49,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  309,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  168,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  303,  358,  358,  358,  233,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  319,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  186,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  117,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  181,  358,  194,  358,  358,
++      358,  358,  358,  358,  358,  357,  358,  150,  358,  358,
++      358,  358,  358,  103,  358,  358,  358,  358,  225,  358,
++      358,  358,  358,  358,  358,  243,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  265,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  143,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  185,  358,  358,  358,  358,  358,  358,   83,
++
++      358,   84,  358,  358,  358,  358,  358,   64,  312,  358,
++      358,  358,  358,  358,   91,  195,  358,  216,  358,  358,
++      358,  246,  358,  358,  208,  287,  358,  358,  358,  358,
++      358,  358,   76,  358,  197,  358,  358,  358,  358,  358,
++      358,    9,  358,  358,  358,  358,  358,  107,  358,  358,
++      358,  358,  278,  358,  358,  358,  358,  224,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  357,  358,  358,  358,  358,  184,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  170,  358,  293,
++      358,  358,  358,  358,  358,  264,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  237,  331,  358,
++      358,  358,  358,  358,  285,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  167,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  313,  358,
++      196,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,   75,   77,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  106,  358,  358,  358,  358,  276,  358,
++      358,  358,  358,  289,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  229,   37,   31,
++       33,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,   38,  358,   32,   34,  358,  358,  358,
++      358,  358,  358,  358,  358,  102,  358,  180,  358,  358,
++      358,  358,  358,  358,  358,  357,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  231,  228,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,   74,  358,  358,
++      358,  145,  358,  125,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  163,   50,  358,  358,  358,  349,
++       13,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  307,  358,  310,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,   12,  358,
++      358,   22,  358,  358,  358,  358,  358,  282,  358,  358,
++      358,  358,  291,  358,  358,  358,  358,   78,  358,  239,
++      358,  358,  358,  358,  358,  230,  358,  358,   73,  358,
++      358,  358,  358,  358,  358,   23,  358,  358,   46,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  179,  178,  358,  358,  349,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  232,  226,  358,  244,  358,
++      358,  295,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,   85,  358,  358,  358,
++      358,  277,  358,  358,  358,  358,  329,  358,  212,  358,
++      358,  358,  358,  358,  238,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  317,  318,  176,
++
++      358,  358,  358,   79,  358,  358,  358,  358,  187,  358,
++      358,  358,  118,  120,  119,  358,  358,  358,   25,  358,
++      358,  171,  358,  173,  358,  217,  358,  358,  358,  358,
++      177,  358,  358,  358,  358,  247,  358,  358,  358,  358,
++      358,  358,  358,  152,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  255,  358,  358,  358,
++      358,  358,  358,  358,  326,  358,   27,  358,  288,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,   89,  218,  358,  358,  275,
++      358,  311,  358,  358,  211,  358,  358,  358,  358,  358,
++
++      283,   59,  358,  358,  358,  358,  358,  358,    4,  358,
++      358,  358,  358,  133,  358,  151,  358,  358,  358,  191,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  250,   40,
++       41,  358,  358,  358,  358,  358,  358,  358,  296,  358,
++      358,  358,  358,  358,  358,  358,  263,  358,  358,  358,
++      358,  358,  358,  358,  358,  221,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++       88,  358,   60,  281,  358,  358,  251,  358,  358,  358,
++      358,  358,   11,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  132,  358,  358,  358,  358,  358,  219,   94,  358,
++      358,   43,  358,  358,  358,  358,  358,  358,  358,  358,
++      183,  358,  358,  358,  358,  358,  358,  358,  154,  358,
++      358,  358,  358,  254,  358,  358,  358,  358,  358,  262,
++      358,  358,  358,  358,  148,  358,  358,  358,  126,  128,
++      127,  358,  358,  358,   96,  100,   95,  164,  358,  358,
++      358,  358,   86,  358,  358,  358,  358,  358,  358,  358,
++       10,  358,  358,  358,  358,  358,  279,  320,  358,  358,
++      358,  358,  358,  358,  325,   42,  358,  358,  358,  358,
++      358,  182,  358,  358,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  101,   99,  358,
++       54,  358,  358,   87,  308,  358,  358,  358,  358,  358,
++       24,  358,  358,  358,  358,  358,  205,  358,  358,  358,
++      358,  358,  358,  220,  358,  358,  358,  358,  358,  358,
++      358,  358,  201,  358,  358,  172,   81,  358,  358,  358,
++      358,  358,  297,  358,  358,  358,  358,  358,  358,  358,
++      259,  358,  358,  258,  149,  358,  358,   98,   51,  358,
++      330,  155,  156,  159,  160,  157,  158,   90,  306,  358,
++      358,  280,  137,  358,  358,  358,   26,  358,  175,  358,
++
++      358,  358,  358,  199,  358,  249,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  189,  188,   44,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  304,  358,  358,  358,  358,  105,  358,  248,  358,
++      272,  301,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  327,  358,   52,    5,  358,  358,  240,
++      358,  358,  302,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  260,   28,  358,  358,  358,  358,  358,  358,
++
++      358,  358,  358,  358,  358,  358,  261,  358,  358,  358,
++      153,  358,  358,  358,  358,  358,  358,  358,  358,  190,
++      358,  198,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  298,  358,  358,  358,  358,  358,  358,  358,  358,
++      358,  358,  358,  358,  358,  358,  358,  358,  358,  324,
++      358,  358,  268,  358,  358,  358,  358,  358,  299,  358,
++      358,  358,  358,  358,  358,  300,  358,  358,  358,  266,
++      358,  269,  270,  358,  358,  358,  358,  358,  267,  271,
++        0
      } ;
  
- static yyconst flex_int32_t yy_ec[256] =
+ static const YY_CHAR yy_ec[256] =
      {   0,
          1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
          1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
@@@ -808,17 -797,17 +801,17 @@@ static const YY_CHAR yy_meta[41] 
          1,    1,    1,    1,    1,    1,    1,    1,    1,    1
      } ;
  
- static yyconst flex_int16_t yy_base[3581] =
 -static const flex_int16_t yy_base[3561] =
++static const flex_int16_t yy_base[3600] =
      {   0,
          0,    0,   38,   41,   44,   46,   59,   65,   71,   77,
-        90,  112,   96,  118,  124,  136, 4321, 4082,   81, 6948,
-      6948, 6948,  129,   52,  130,   63,  131,  152,   70,  140,
 -       90,  112,   96,  118,  124,  136, 3060, 2545,   81, 6911,
 -     6911, 6911,  129,   52,  130,   63,  131,  152,   70,  140,
++       90,  112,   96,  118,  124,  136, 4078, 3848,   81, 6986,
++     6986, 6986,  129,   52,  130,   63,  131,  152,   70,  140,
        149,  156,   57,   88,   76,  173,  175,   95,  197,  145,
-       185,  199,  208,  213,  178,  123, 3907, 6948, 6948, 6948,
-       107, 3763, 6948, 6948, 6948,  154, 3753, 3542, 6948, 6948,
-      6948,  245, 3461, 6948, 6948, 6948,  163, 2977, 6948,  249,
-      6948,  253,  148, 2646, 2593, 6948, 6948, 6948,  257, 2508,
-      6948, 6948, 6948,  233, 2265,  263,  201,    0,  267,    0,
 -      185,  199,  208,  213,  178,  123, 2505, 6911, 6911, 6911,
 -      107, 2460, 6911, 6911, 6911,  154, 2315, 2089, 6911, 6911,
 -     6911,  245, 2007, 6911, 6911, 6911,  163, 1936, 6911,  249,
 -     6911,  253,  148, 1835, 1793, 6911, 6911, 6911,  257, 1696,
 -     6911, 6911, 6911,  233, 1543,  263,  201,    0,  267,    0,
++      185,  199,  208,  213,  178,  123, 3688, 6986, 6986, 6986,
++      107, 3635, 6986, 6986, 6986,  154, 3532, 3066, 6986, 6986,
++     6986,  245, 2843, 6986, 6986, 6986,  163, 2716, 6986,  249,
++     6986,  253,  148, 2253, 2033, 6986, 6986, 6986,  257, 1718,
++     6986, 6986, 6986,  233, 1599,  263,  201,    0,  267,    0,
          0,  165,  191,  221,  252,  205,  181,  265,   92,  261,
  
        216,  263,  271,  272,  210,  279,  274,  282,  278,  291,
        317,  311,  315,  319,  321,  331,  327,  332,  336,  322,
        339,  337,  346,  345,  347,  348,  353,  351,  357,  284,
        358,  359,  369,  360,  380,  365,  381,  379,  375,  366,
-       367,  389,  390,  394,  393,  395,  396,  403,  404, 1641,
-       419, 1410,  422, 1245,  429, 1051, 1010,  433,  838,  437,
 -      367,  389,  390,  394,  393,  395,  396,  403,  404, 1277,
 -      419, 1241,  422, 1199,  429, 1020,  925,  433,  779,  437,
 -      441,    0,  433,  705,  447,  479,  287,  452,  411,  445,
++      367,  389,  390,  394,  393,  395,  396,  403,  404, 1405,
++      419, 1317,  422, 1250,  429, 1204, 1122,  433,  928,  437,
 +      441,    0,  433,  703,  447,  542,  467,  452,  411,  445,
        426,  446,  447,  448,  449,  450,  451,  453,  452,  456,
 -      470,  234,  463,  473,  481,  479,  476,  483,  486,  487,
 -
 -      488,  489,  491,  492,  501,  500,  502,  505,  508,  510,
 -      511,  460,  509,  513,  527,  515,  516,  519,  538,  529,
 -      540,  543,  539,  548,  555,  400,  550,  551,  558,  553,
 -      560,  561,  571,  562,  566,  567,  570,  569,  573,  577,
 -      574,  580,  578,  583,  584,  598,  595,  585,  601,  586,
 -      594,  596,  612,  602,  611,  362,  607,  610,  619,  624,
 -      609,  627,  620,  623,  629,  634,  631,  641,  636,  639,
 -      640,  642,  644,  643,  646,  647,  648,  656,  659,  660,
 -      664,  667,  657,  668,  658,  670,  673,  674,  683,  675,
 -      685,  679,  689,  688,  690,  692,  694,  696,  695,  697,
 -
 -      700,  703,  708,  704,  713,  714,  721,  719,  724,  717,
 -      726,  733,  728,  729,  730,  731,  734,  736,  732,  737,
 -      738,  742,  745,  743,  753,  754,  755,  759,  758,  774,
 -      763,  764,  771,  784,  765,  767,  769,  775,  796,  785,
 -      798,  799,  800,  803,  804,  801,  808,  807,  809,  811,
 -      823,  813,  820,  826,  827,  829,  830,  837,  832, 6911,
 -      834,  836,  848,  847,  850,  853,  843,  859,  860,  839,
 -      870,  866,  863,  881,  903,  867,  871,  873,  876,  872,
 -     6911,  893,  883,  927,  885,  889,  911,  895,  907,  913,
 -      916,  909,  914,  921,  923,  917,  920,  944,  945,  935,
 -
 -      936,  947,  952,  951,  959,  960,  954,  958,  963,  971,
 -      964,  967,  973,  982,  972,  969,  975,  976,  877,  984,
 -      993,  994,  995,  981,  988,  999, 1001, 1002, 1009, 1032,
 -     1011, 1012, 1020, 1006, 1014, 1028, 1026, 1024, 1034, 1033,
 -     1035, 1007, 1041, 1039, 1044, 1051, 1048, 1054, 1063, 1058,
 -     1059, 1060, 1064, 1065, 1066, 1068, 1071, 1072, 1073, 1076,
 -     1077, 1083, 1084, 1088, 1092, 1078, 1093, 1086, 6911, 1100,
 -     6911, 1095, 1098, 1102, 1103, 1104, 1105, 1107, 1109, 6911,
 -     1111, 1114, 1113, 1120, 1124, 1117, 1128, 1130, 1136, 1137,
 -     1138, 1139, 1140, 1142, 1149, 1144, 1154, 1152, 1147, 1158,
 -
 -     1156, 1159, 1115, 1160, 1162, 1166, 1167, 1168, 1169, 1188,
 -     6911, 1172, 1174, 1175, 1181, 1179, 1186, 1184, 1193, 1201,
 -     1203, 1211, 1205, 1213, 1215, 1212, 1217, 1173, 1219, 1223,
 -     1225, 1228, 1229, 1231, 1232, 1234, 1235, 1237, 1238, 1240,
 -     1239, 1247, 1250, 1251, 6911, 1252, 1254, 1255, 1268, 1263,
 -     1264, 1267, 1269, 1270, 1271, 1272, 1274, 1278,  517, 1273,
 -     1291, 1288, 1284, 1298, 1293, 1294, 1295, 1299, 1301, 1300,
 -     1302, 1304, 1313, 1310, 1316, 1325, 1328, 1327, 1330, 1337,
 -     1339, 1319, 1332, 1342, 1336, 1334, 1335, 1346, 1347, 1348,
 -     1350, 1351, 1360, 1356, 1357, 1359, 1358, 1364, 1365, 1367,
 -
 -     1362, 1368, 1370, 1372, 1374, 1381, 1379, 1385, 1390, 1386,
 -     1391, 1387, 1380, 1395, 1403, 1397, 1406, 6911, 1413, 1308,
 -     1409, 1410, 1415, 1416, 1417, 1418, 1423, 1424, 1425, 1427,
 -     1426, 1429, 1430, 1433, 1435, 1437, 1440, 1442, 1450, 1445,
 -     1455, 1462, 1461, 1443, 1447, 1457, 1463, 1467, 1466, 1474,
 -     1470, 1479, 1478, 1469, 1482, 1489, 1480, 1484, 1486, 1496,
 -     1476, 1492, 1498, 1499, 1507, 1502, 1504, 1510, 1518, 1514,
 -     1515, 1522, 1523, 1500, 1527, 1517, 1531, 1532, 1534, 1535,
 -     1537, 1538, 1545, 1540, 1542, 1546, 1547, 1541, 1548, 1554,
 -     1549, 1569, 1555, 1560, 1565, 1568, 1570, 1571, 1572, 1578,
 -
 -     1573, 1579, 1580, 1581, 1583, 1592, 1584, 1582, 1593, 1594,
 -     1601, 1595, 1603, 1602, 1604, 1611, 1610, 1614, 1615, 1605,
 -     1616, 1620, 1626, 1627, 1628, 1631, 1630, 1635, 1638, 1636,
 -     1640, 1642, 1648, 1649, 1650, 1652, 1633, 1656, 1659, 1664,
 -     1667, 1661, 6911, 1657, 1675, 1651, 1673, 1674, 1653, 1679,
 -     1687, 1680, 1682, 1683, 1684, 1685, 1710, 6911, 1691, 6911,
 -     6911, 1690, 6911, 6911, 1693, 1692, 6911, 1694, 1695, 1708,
 -     1699, 1713, 1716, 1720, 1718, 1711, 1721, 1733, 1742, 1728,
 -     1734, 1726, 1735, 1751, 1738, 1752, 1740, 1750, 1758, 1759,
 -     1757, 1764, 1771, 1766, 1775, 1768, 1779, 1777, 1780, 1786,
 -
 -     1787, 1791, 1793, 1788, 1794, 1797, 1796, 1798, 1799, 1802,
 -     1804, 1723, 1805, 1808, 1809, 1810, 1818, 1815, 1823, 1830,
 -     6911, 1828, 1831, 1827, 1840, 1836, 1843, 1811, 1838, 1839,
 -     1849, 1851, 1845, 1842, 1852, 1854, 1855, 1856, 1859, 1861,
 -     1864, 1867, 1865, 1869, 1872, 1870, 6911, 1877, 1878, 1871,
 -     1879, 1881, 1882, 1883, 1891, 1892, 1893, 1894, 1904, 1896,
 -     1899, 1897, 1901, 1906, 1908, 1909, 1911, 6911, 1916, 1924,
 -     1913, 1921, 1919, 1925, 1928, 1929, 1930, 1933, 1931, 1935,
 -     1937, 1938, 1947, 1943, 1944, 1946, 1949, 1953, 1958, 1961,
 -     1959, 1960, 1971, 1963, 1966, 1972, 1974, 1975, 1976, 1977,
 -
 -     1978, 1980, 1985, 1990, 1987, 1995, 1988, 1991, 1998, 2009,
 -     2004, 1993, 2005, 2010, 2006, 2013, 2022, 2024, 2020, 2019,
 -     2021, 2032, 2028, 2030, 2031, 2033, 2036, 2041, 2042, 2043,
 -     2044, 2046, 2050, 2051, 2053, 6911, 2055, 2059, 6911, 2058,
 -     2060, 2061, 2083, 2062, 2065, 2066, 2075, 2064, 2087, 2078,
 -     2076, 2095, 2084, 2102, 2097, 2103, 2105, 2107, 2108, 2112,
 -     2110, 2111, 2114, 2116, 2118, 2120, 2128, 2137, 2138, 2140,
 -     2134, 2142, 2119, 2143, 2067, 2163, 2144, 2145, 2146, 2147,
 -     2148, 2152, 2153, 2151, 2154, 2155, 2165, 2170, 2172, 2173,
 -     2175, 2158, 2179, 2180, 2181, 2191, 2188, 2185, 6911, 2200,
 -
 -     2193, 2197, 2201, 2202, 2209, 2207, 2204, 6911, 2208, 2210,
 -     2211, 2220, 2213, 2218, 2221, 2224, 2225, 2228, 2229, 2231,
 -     2233, 2230, 2232, 2251, 6911, 2234, 6911, 2238, 2235, 2253,
 -     2243, 2246, 2247, 2254, 2256, 2259, 6911, 6911, 2263, 2257,
 -     2270, 2273, 2278, 2274, 2275, 2276, 6911, 2277, 2285, 6911,
 -     2287, 2292, 2280, 2281, 2282, 2286, 2296, 2297, 2305, 2300,
 -     2308, 2303, 2306, 2307, 6911, 2313, 2316, 2310, 2317, 2323,
 -     2324, 2325, 2327, 2330, 2326, 6911, 2333, 2329, 2336, 2343,
 -     2347, 2341, 2344, 2348, 2352, 2349, 2354, 2355, 2356, 2357,
 -     2364, 2366, 2369, 2371, 2372, 2374, 2378, 2385, 6911, 2381,
 -
 -     2380, 2382, 2390, 2387, 2389, 2391, 2394, 2393, 2395, 2396,
 -     2401, 2397, 2405, 2406, 2407, 2409, 2418, 2421, 2416, 2417,
 -     2426, 2413, 2420, 2423, 2427, 2365, 2429, 2430, 2433, 2436,
 -     6911, 2437, 2441, 2438, 2443, 2444, 2442,  171, 2450, 2451,
 -     2453, 2454, 2458, 2469, 2455, 2463, 2476, 2471, 2472, 2478,
 -     2474, 2481, 2482, 2483, 2484, 2473, 2486, 2485, 2489, 6911,
 -     2491, 2497, 2494, 2498, 2501, 2502, 2504, 6911, 2506, 2514,
 -     2516, 2525, 2519, 2503, 2527, 2528, 2531, 2529, 2532, 2533,
 -     2534, 2535, 2536, 2542, 2539, 6911, 2544, 2551, 2554, 2541,
 -     2555, 2562, 2548, 2563, 2564, 2565, 2568, 2567, 2569, 2573,
 -
 -     2570, 2572, 2574, 2575, 2583, 2594, 2577, 2586, 2587, 2590,
 -     2591, 2595, 2599, 2600, 2601, 2608, 2603, 6911, 2615, 2604,
 -     2612, 2613, 2611, 2614, 2617, 2620, 2634, 2624, 2627, 2629,
 -     2635, 2644, 2637, 2638, 2646, 2654, 2651, 2639, 2664, 2660,
 -     2661, 2668, 2659, 2670, 2672, 2662, 2673, 2684, 2674, 2676,
 -     2681, 2679, 2685, 2694, 2695, 2687, 2697, 2698, 2690, 2700,
 -     2702, 2712, 2717, 2707, 6911, 2719, 2709, 2720, 2721, 2728,
 -     2725, 2726, 2731, 2729, 2732, 2733, 2735, 2737, 2745, 2746,
 -     2744, 2742, 2749, 2753, 2755, 2757, 2760, 2759, 2740, 2768,
 -     2762, 2764, 2771, 2772, 6911, 2775, 2776, 2780, 2782, 2784,
 -
 -     2785, 2787, 2788, 2790, 2792, 2793, 2794, 2797, 2798, 2800,
 -     2801, 2802, 2809, 2806, 2807, 2808, 2812, 6911, 2820, 2819,
 -     2821, 2824, 2827, 2825, 2831, 2837, 2839, 2828, 2841, 2835,
 -     2842, 2843, 2845, 6911, 2855, 2857, 2847, 2854, 2862, 2860,
 -     2861, 2863, 2865, 2866, 6911, 2867, 2870, 2868, 2875, 2871,
 -     2873, 2882, 2883, 2879, 6911, 2887, 2884, 2889, 2892, 2893,
 -     2894, 2895, 2899, 2897, 2901, 2902, 2906, 2915, 2907, 2916,
 -     6911, 2903, 2924, 2910, 2925, 2919, 2929, 2931, 2932, 2933,
 -     2935, 2937, 2940, 6911, 2942, 2945, 2948, 2957, 2952, 2953,
 -     2955, 2958, 2960, 2962, 2961, 2964, 2966, 6911, 2968, 2967,
 -
 -     2970, 2974, 2972, 2977, 2978, 2989, 2984, 2987, 2990, 2991,
 -     2992, 2993, 2994, 2999, 3010, 3001, 2998, 3000, 3002, 3014,
 -     3012, 3019, 3018, 3022, 3026, 3030, 3025, 3031, 3034, 3029,
 -     3036, 3037, 3040, 3047, 3048, 3049, 3050, 3053, 6911, 3056,
 -     3057, 3059, 3044, 3060, 3063, 3064, 3066, 3069, 3065, 3067,
 -     3071, 3074, 3078, 3087, 3090, 3080, 3082, 3091, 3092, 3093,
 -     3094, 3095, 3096, 3101, 3104, 3103, 3105, 3106, 3113, 3109,
 -     3112, 3121, 3117, 3120, 3122, 3123, 3124, 3126, 3127, 3129,
 -     3130, 3134, 3133, 3135, 3138, 3146, 3156, 3153, 3147, 3149,
 -     3157, 3159, 3161, 6911, 3160, 3164, 3168, 3165, 3170, 3174,
 -
 -     3171, 3181, 3177, 3182, 3190, 3188, 3187, 3194, 3179, 3189,
 -     3196, 3197, 3206, 3202, 6911, 3203, 6911, 3204, 3208, 3209,
 -     3218, 3211, 6911, 3215, 6911, 3216, 3223, 3220, 3224, 3226,
 -     6911, 3227, 3228, 3232, 3229, 3233, 3234, 3239, 3237, 3241,
 -     3243, 3245, 3246, 3255, 3244, 3250, 3251, 3257, 3266, 3256,
 -     3261, 3263, 3269, 3272, 3274, 3273, 3280, 3275, 3282, 3283,
 -     3285, 3286, 3287, 6911, 3291, 3295, 3296, 3299, 3300, 3288,
 -     3303, 3302, 3310, 3307, 3311, 3308, 3314, 3315, 3319, 3320,
 -     3323, 3325, 3331, 3336, 3343, 3326, 3344, 6911, 3339, 3348,
 -     3330, 3350, 6911, 3352, 3327, 3354, 3358, 3360, 3361, 3362,
 -
 -     3363, 3364, 3367, 3368, 3369, 3370, 3378, 3381, 3384, 6911,
 -     3382, 3390, 3371, 3394, 3393, 3404, 3405, 3401, 3407, 3409,
 -     3417, 3413, 3402, 3412, 3400, 3414, 3420, 3422, 3427, 3431,
 -     3424, 3432, 3428, 3433, 3436, 3437, 3439, 3440, 3443, 3441,
 -     3444, 3445, 3449, 3446, 3447, 3448, 3340, 3450, 3466, 6911,
 -     3453, 3455, 3468, 3476, 3454, 3471, 3475, 3477, 3478, 6911,
 -     3480, 3482, 3483, 3484, 3485, 3489, 3492, 3490, 3493, 3494,
 -     3497, 3498, 3501, 3500, 6911, 3507, 6911, 3508, 3515, 3520,
 -     3524, 3509, 3517, 3525, 3530, 3526, 3531, 3532, 3538, 3540,
 -     3534, 3536, 3542, 3543, 3546, 3547, 3554, 3560, 3557, 3549,
 -
 -     3561, 3563, 3565, 3566, 3573, 3570, 3568, 6911, 6911, 3571,
 -     3576, 3577, 3583, 3584, 3585, 3586, 3588, 3598, 3589, 3591,
 -     3592, 3614, 6911, 3595, 3602, 3604, 3606, 3605, 3621, 3616,
 -     3623, 3624, 3620, 3627, 3635, 3630, 6911, 3628, 3631, 3638,
 -     3633, 3640, 3650, 6911, 3375, 6911, 3637, 3639, 3642, 3647,
 -     3652, 3651, 3653, 3654, 3659, 3662, 3664, 3668, 3671, 3675,
 -     3670, 3674, 3677, 3680, 3681, 3685, 3679, 3688, 3686, 3687,
 -     3691, 6911, 3694, 3690, 3695, 3696, 3702, 3706, 3707, 3704,
 -     3705, 6911, 3714, 3715, 3716, 3717, 3718, 3721, 3723, 3726,
 -     3727, 3731, 3734, 3732, 3735, 3737, 6911, 3736, 3740, 3750,
 -
 -     3741, 3743, 3745, 3757, 3759, 3764, 6911, 3765, 3758, 3772,
 -     3769, 3771, 3752, 3773, 3774, 3775, 3777, 3778, 3779, 3780,
 -     3781, 3786, 3787, 3788, 3782, 3789, 3800, 3801, 3792, 3811,
 -     3814, 3799, 6911, 3803, 3813, 3815, 3816, 3817, 3821, 3823,
 -     3826, 3828, 3818, 3830, 3833, 3839, 3840, 3841, 3843, 3844,
 -     3851, 3846, 6911, 3853, 3850, 3858, 3854, 3855, 3863, 3857,
 -     3864, 3865, 3872, 3867, 3869, 3873, 3874, 3875, 3881, 3883,
 -     3885, 3887, 3888, 3889, 3900, 3891, 6911, 3902, 3903, 3893,
 -     3910, 3905, 3913, 3920, 3915, 3918, 3919, 3922, 3923, 3925,
 -     3927, 3929, 3930, 3933, 3934, 6911, 6911, 3936, 3937, 3939,
 -
 -     6911, 3941, 3942, 3952, 3943, 3945, 3953, 3955, 3957, 3956,
 -     3958, 3960, 3966, 3967, 6911, 3975, 3968, 3977, 3976, 3972,
 -     3986, 3985, 6911, 3978, 3988, 3990, 3993, 3991, 3981, 3994,
 -     3995, 3892, 3999, 4002, 4003, 4011, 4012, 4009, 4008, 4010,
 -     6911, 4015, 4016, 4019, 4021, 4018, 4022, 4025, 6911, 4026,
 -     4027, 4032, 4037, 4039, 4047, 4049, 4044, 4051, 4036, 4052,
 -     4054, 4056, 4058, 4059, 4062, 4069, 4065, 4070, 4067, 4064,
 -     4075, 4080, 4084, 6911, 4086, 4076, 4071, 4090, 6911, 4094,
 -     4102, 4103, 6911, 4104, 4099, 4100, 4106, 4113, 6911, 4108,
 -     4110, 4109, 4111, 4115, 4122, 4117, 4129, 4127, 4119, 4124,
 -
 -     4128, 4130, 6911, 4131, 4132, 4136, 6911, 4134, 4145, 4148,
 -     4150, 4135, 4158, 4153, 4156, 4154, 4157, 6911, 4162, 6911,
 -     4165, 4163, 4169, 6911, 4164, 4171, 4172, 4174, 4178, 4179,
 -     4180, 4186, 4182, 4188, 4190, 4191, 4192, 4193, 4195, 4202,
 -     4194, 4198, 4201, 4203, 6911, 4204, 4206, 4213, 4210, 4214,
 -     4218, 4220, 4221, 4223, 4225, 6911, 6911, 4234, 6911, 4226,
 -     4231, 4235, 4236, 6911, 4239, 4241, 4243, 4240, 4244, 4246,
 -     4249, 4259, 4253, 6911, 4263, 4264, 6911, 4250, 4260, 4274,
 -     4256, 4269, 4271, 4272, 4277, 4275, 4279, 4282, 4283, 4281,
 -     4285, 4280, 4286, 4298, 6911, 4287, 4288, 4290, 4309, 4303,
 -
 -     4299, 4310, 4315, 4305, 6911, 4318, 4289, 4312, 4322, 4324,
 -     6911, 4326, 6911, 4314, 4328, 4329, 4334, 4333, 4344, 6911,
 -     4340, 4339, 4346, 4343, 4349, 4348, 4351, 4355, 4347, 4357,
 -     4358, 4367, 4359, 4363, 4362, 4372, 4373, 6911, 4368, 4370,
 -     4380, 4382, 4377, 4385, 4394, 4386, 4393, 4389, 4390, 4397,
 -     4399, 4400, 4402, 4404, 4409, 4408, 6911, 4412, 4410, 4415,
 -     4418, 4429, 4420, 4421, 4424, 6911, 4425, 4433, 4435, 6911,
 -     4431, 4427, 4434, 4442, 4445, 4446, 4448, 4449, 4450, 4453,
 -     4454, 4451, 6911, 4458, 4459, 4452, 4455, 4457, 4468, 6911,
 -     6911, 4473, 6911, 4474, 4461, 4476, 4478, 4481, 4485, 4483,
 -
 -     4486, 4488, 4489, 4490, 4493, 4498, 4499, 6911, 4500, 4508,
 -     4501, 4511, 4520, 4521, 4513, 4517, 4504, 6911, 6911, 4527,
 -     4528, 4522, 4533, 4534, 4518, 4537, 4542, 4539, 4540, 4546,
 -     4547, 4556, 6911, 4549, 4538, 4557, 4548, 6911, 4551, 4559,
 -     4560, 4562, 4565, 4563, 4566, 4567, 4569, 4571, 4573, 4575,
 -     4580, 4584, 4578, 4585, 4586, 4588, 4591, 4592, 4590, 4600,
 -     6911, 4594, 4597, 4601, 4606, 4609, 4610, 4611, 4612, 4614,
 -     4615, 4619, 6911, 4622, 6911, 4618, 4621, 4617, 4627, 4624,
 -     4639, 4640, 4643, 4628, 4642, 4647, 4648, 4651, 4652, 4658,
 -     4653, 4659, 4661, 4655, 4666, 4670, 4671, 6911, 4673, 4663,
 -
 -     4674, 4675, 4680, 4682, 4677, 4685, 4686, 4689, 4690, 4692,
 -     4699, 4701, 4693, 4702, 4691, 4695, 4703, 6911, 4710, 4713,
 -     4706, 4717, 4714, 4718, 4720, 4721, 4727, 4730, 4719, 4731,
 -     4733, 6911, 4734, 4736, 4740, 6911, 4737, 4741, 4744, 4747,
 -     4753, 4742, 4745, 4748, 4754, 6911, 4766, 4756, 4760, 4758,
 -     4762, 4768, 4770, 4771, 4773, 4775, 4777, 4778, 6911, 4788,
 -     4783, 4787, 4789, 4790, 4791, 4793, 4800, 4799, 6911, 4801,
 -     4802, 4803, 4809, 4816, 4817, 4812, 4813, 4826, 4818, 4822,
 -     4819, 4821, 4829, 4830, 4831, 4836, 4837, 4835, 4847, 4848,
 -     4850, 6911, 4838, 6911, 4843, 4851, 4852, 4861, 4856, 4859,
 -
 -     4866, 4864, 4862, 6911, 4870, 4871, 4873, 4874, 4876, 6911,
 -     4878, 4875, 4877, 4881, 6911, 4880, 4894, 4888, 4895, 4897,
 -     4900, 6911, 4903, 4906, 4905, 4904, 4917, 4912, 4914, 4915,
 -     4918, 4916, 4920, 4922, 4923, 4931, 4926, 4927, 6911, 4933,
 -     4935, 4943, 4939, 4936, 4946, 4930, 4947, 4949, 4952, 6911,
 -     4953, 4954, 4956, 4957, 4959, 4960, 4961, 4962, 4969, 4966,
 -     4970, 4968, 4975, 4978, 4979, 4980, 4983, 6911, 4987, 4988,
 -     4985, 4995, 4992, 4991, 6911, 4996, 6911, 4998, 5002, 5006,
 -     5007, 5010, 6911, 6911, 5013, 5014, 5015, 5019, 5016, 6911,
 -     6911, 5021, 6911, 5022, 6911, 5023, 5026, 6911, 6911, 5024,
 -
 -     5028, 5030, 5031, 5034, 5044, 6911, 5046, 6911, 5038, 5035,
 -     5047, 5041, 5049, 5053, 6911, 5050, 5056, 5052, 5060, 5062,
 -     6911, 5065, 5073, 5063, 5068, 6911, 5076, 5077, 5066, 5070,
 -     6911, 5078, 5087, 5084, 5082, 5090, 5091, 5092, 5093, 5094,
 -     5096, 5101, 5098, 5102, 5105, 5106, 5115, 5117, 5119, 5121,
 -     5112, 5109, 5123, 5129, 5131, 5133, 5126, 5135, 5136, 5137,
 -     5139, 5140, 5142, 5143, 5145, 5147, 5150, 5151, 5152, 5153,
 -     5149, 5166, 5154, 5158, 5168, 5164, 5176, 5170, 5172, 5177,
 -     5179, 5180, 5182, 5181, 5185, 5186, 5184, 5191, 5195, 6911,
 -     5189, 5198, 5188, 5199, 5200, 5208, 5212, 5216, 5219, 5221,
 -
 -     6911, 5223, 6911, 5225, 5209, 5228, 5229, 5230, 6911, 5231,
 -     5232, 5233, 5234, 5235, 5236, 5238, 5237, 5241, 5242, 5246,
 -     6911, 5253, 5249, 5243, 5258, 5262, 6911, 5264, 5269, 5266,
 -     5270, 5271, 5272, 5275, 5274, 5276, 5277, 5278, 5280, 5282,
 -     5286, 5283, 5291, 5295, 6911, 5299, 5305, 5302, 5300, 5306,
 -     5307, 5308, 5310, 5311, 5312, 5314, 5323, 5317, 5327, 5334,
 -     6911, 5320, 6911, 5328, 5324, 5330, 5335, 5336, 5340, 5338,
 -     5344, 6911, 6911, 5346, 5347, 5348, 5350, 5352, 5353, 5357,
 -     5359, 5354, 5201, 6911, 5360, 5364, 5362, 5372, 6911, 5373,
 -     5374, 5376, 5378, 6911, 5379, 5380, 5382, 5383, 5393, 5381,
 -
 -     5398, 5390, 5399, 5387, 5401, 5402, 5405, 6911, 6911, 6911,
 -     6911, 5406, 5409, 5411, 5412, 5414, 5415, 5417, 5420, 5421,
 -     5419, 5416, 5423, 6911, 5433, 6911, 6911, 5434, 5435, 5437,
 -     5441, 5442, 5424, 5444, 5447, 6911, 5445, 6911, 5449, 5452,
 -     5448, 5459, 5462, 5464, 5456, 5466, 5467, 5468, 5470, 5471,
 -     5478, 5476, 5479, 5477, 5482, 5484, 5486, 6911, 6911, 5490,
 -     5494, 5495, 5497, 5499, 5500, 5501, 5508, 5506, 5507, 5509,
 -     5511, 5513, 5514, 5522, 5523, 5519, 5520, 6911, 5527, 5525,
 -     5528, 6911, 5529, 6911, 5533, 5537, 5539, 5536, 5540, 5543,
 -     5546, 5547, 5549, 5545, 6911, 6911, 5551, 5562, 5557, 6911,
 -
 -     6911, 5559, 5560, 5564, 5566, 5561, 5567, 5570, 5572, 5574,
 -     5571, 6911, 5576, 6911, 5575, 5577, 5585, 5582, 5594, 5598,
 -     5593, 5602, 5600, 5589, 5601, 5603, 6911, 5604, 5605, 6911,
 -     5612, 5614, 5615, 5609, 5610, 6911, 5620, 5616, 5628, 5630,
 -     6911, 5632, 5633, 5635, 5636, 6911, 5639, 6911, 5622, 5641,
 -     5643, 5650, 5647, 6911, 5648, 5651, 6911, 5654, 5657, 5661,
 -     5662, 5658, 5663, 6911, 5667, 5664, 6911, 5669, 5673, 5674,
 -     5678, 5670, 5680, 5681, 5683, 5684, 5692, 5688, 5691, 6911,
 -     6911, 5696, 5697,  135, 5705, 5693, 5700, 5703, 5706, 5713,
 -     5708, 5710, 5718, 6911, 6911, 5719, 6911, 5721, 5722, 6911,
 -
 -     5709, 5727, 5731, 5726, 5735, 5728, 5736, 5737, 5739, 5741,
 -     5742, 5747, 5748, 5749, 5760, 5764, 5750, 5766, 5770, 5772,
 -     5774, 5776, 5778, 5752, 5780, 5762, 5781, 5783, 5784, 5786,
 -     5787, 5790, 5788, 5791, 6911, 5794, 5796, 5798, 5800, 6911,
 -     5803, 5806, 5810, 5812, 6911, 5815, 5816, 5819, 5820, 5821,
 -     6911, 5804, 5824, 5827, 5711, 5831, 5832, 5833, 5834, 5842,
 -     5835, 5837, 5839, 6911, 6911, 6911, 5845, 5853, 5847, 6911,
 -     5855, 5856, 5838, 5857, 6911, 5859, 5860, 5862, 6911, 6911,
 -     6911, 5864, 5866, 5867, 6911, 5865, 5878, 6911, 5868, 6911,
 -     5873, 6911, 5877, 5879, 5886, 5881, 6911, 5883, 5891, 5892,
 -
 -     5895, 6911, 5898, 5901, 5903, 5905, 5893, 5907, 5910, 6911,
 -     5917, 5916, 5918, 5909, 5912, 5919, 5920, 5922, 5924, 5934,
 -     5925, 5933, 6911, 5935, 5938, 5940, 5936, 5929, 5944, 5946,
 -     6911, 5947, 6911, 5952, 6911, 5949, 5953, 5955, 5954, 5956,
 -     5957, 5960, 5963, 5964, 5970, 5974, 5972, 5976, 5977, 5983,
 -     5978, 6911, 6911, 5985, 5987, 6911, 5980, 6911, 5989, 6911,
 -     5991, 5992, 5993, 5995, 5999, 6911, 6911, 6006, 5996, 6000,
 -     6018, 6002, 6010, 6911, 6013, 6017, 6015, 6020, 6911, 6027,
 -     6911, 6022, 6030, 6023, 6911, 6026, 6033, 6036, 6037, 6038,
 -     6040, 6043, 6041, 6044, 6051, 6046, 6049, 6047, 6056, 6053,
 -
 -     6057, 6063, 6069, 6911, 6911, 6911, 6062, 6071, 6078, 6076,
 -     6077, 6079, 6081, 6911, 6082, 6084, 6085, 6086, 6094, 6089,
 -     6093, 6911, 6096, 6095, 6097, 6098, 6101, 6102, 6103, 6109,
 -     6911, 6115, 6117, 6124, 6120, 6112, 6127, 6129, 6131, 6134,
 -     6136, 6137, 6138, 6110, 6139, 6911, 6141, 6911, 6911, 6142,
 -     6911, 6143, 6145, 6147, 6146, 6148, 6911, 6152, 6153, 6154,
 -     6155, 6156, 6162, 6158, 6160, 6911, 6163, 6178, 6170, 6174,
 -     6175, 6911, 6911, 6177, 6183, 6911, 6185, 6186, 6187, 6194,
 -     6192, 6189, 6196, 6200, 6911, 6199, 6202, 6206, 6208, 6209,
 -     6210, 6211, 6911, 6212, 6213, 6215, 6216, 6911, 6219, 6218,
 -
 -     6221, 6223, 6224, 6911, 6225, 6227, 6246, 6243, 6911, 6231,
 -     6242, 6241, 6911, 6911, 6911, 6250, 6253, 6255, 6911, 6911,
 -     6911, 6911, 6257, 6258, 6260, 6262, 6911, 6265, 6269, 6273,
 -     6275, 6280, 6268, 6911, 6276, 6282, 6284, 6285, 6286, 6911,
 -     6911, 6287, 6289, 6290, 6292, 6294, 6295, 6911, 6911, 6296,
 -     6298, 6302, 6299, 6301, 6911, 6304, 6307, 6314, 6311, 6317,
 -     6324, 6326, 6319, 6327, 6328, 6336, 6339, 6329, 6331, 6338,
 -     6342, 6343, 6341, 6345, 6355, 6350, 6352, 6358, 6353, 6361,
 -     6911, 6911, 6363, 6911, 6365, 6367, 6911, 6911, 6370, 6372,
 -     6374, 6378, 6911, 6380, 6382, 6384, 6386, 6375, 6911, 6387,
 -
 -     6389, 6391, 6393, 6392, 6394, 6911, 6398, 6399, 6406, 6395,
 -     6400, 6403, 6407, 6412, 6911, 6409, 6417, 6911, 6911, 6419,
 -     6420, 6421, 6425, 6422, 6911, 6427, 6434, 6429, 6431, 6432,
 -     6435, 6433, 6911, 6438, 6439, 6911, 6911, 6441, 6442, 6911,
 -     6911, 6446, 6911, 6911, 6911, 6911, 6911, 6911, 6911, 6911,
 -     6450, 6456, 6911, 6911, 6452, 6461, 6463, 6911, 6467, 6911,
 -     6454, 6464, 6470, 6458, 6911, 6468, 6911, 6469, 6475, 6471,
 -     6479, 6480, 6483, 6485, 6487, 6489, 6488, 6490, 6493, 6491,
 -     6497, 6494, 6496, 6505, 6502, 6503, 6511, 6911, 6911, 6911,
 -     6512, 6513, 6519, 6520, 6522, 6524, 6528, 6531, 6532, 6514,
 -
 -     6535, 6536, 6537, 6539, 6540, 6549, 6544, 6545, 6547, 6554,
 -     6546, 6560, 6911, 6562, 6548, 6550, 6568, 6911, 6556, 6911,
 -     6565, 6911, 6911, 6573, 6574, 6570, 6576, 6585, 6586, 6577,
 -     6581, 6582, 6584, 6588, 6911, 6593, 6911, 6911, 6590, 6596,
 -     6911, 6598, 6599, 6911, 6597, 6600, 6602, 6606, 6607, 6604,
 -     6608, 6609, 6625, 6911, 6911, 6610, 6615, 6618, 6627, 6629,
 -     6628, 6631, 6635, 6636, 6638, 6639, 6648, 6911, 6645, 6646,
 -     6650, 6911, 6652, 6647, 6653, 6654, 6655, 6663, 6659, 6662,
 -     6911, 6664, 6911, 6668, 6670, 6671, 6661, 6669, 6672, 6683,
 -     6681, 6677, 6911, 6687, 6691, 6689, 6693, 6695, 6697, 6698,
 -
 -     6699, 6701, 6704, 6710, 6707, 6714, 6715, 6711, 6719, 6716,
 -     6911, 6726, 6717, 6911, 6723, 6727, 6720, 6729, 6733, 6911,
 -     6738, 6731, 6740, 6741, 6744, 6745, 6911, 6747, 6754, 6749,
 -     6911, 6755, 6911, 6911, 6757, 6751, 6758, 6764, 6766, 6911,
 -     6911, 6911, 6791, 6798, 6805, 6812, 6819, 6826, 6833,   88,
 -     6840, 6847, 6854, 6861, 6868, 6875, 6882, 6889, 6896, 6903
 +      470,  234,  463,  473,  481,  479,  476,  483,  486,  493,
 +
 +      488,  489,  495,  491,  492,  508,  501,  504,  506,  510,
 +      511,  513,  460,  514,  515,  517,  527,  516,  529,  539,
 +      540,  544,  548,  534,  549,  552,  400,  553,  551,  563,
 +      555,  564,  560,  571,  566,  568,  569,  570,  572,  573,
 +      575,  577,  578,  580,  583,  584,  592,  593,  590,  596,
 +      597,  607,  602,  609,  605,  606,  362,  610,  615,  618,
 +      623,  613,  630,  614,  627,  633,  636,  637,  644,  640,
 +      616,  643,  645,  628,  646,  649,  651,  650,  658,  666,
 +      662,  663,  670,  661,  665,  653,  672,  674,  675,  683,
 +      678,  685,  688,  693,  680,  691,  694,  696,  684,  701,
 +
 +      702,  705,  707,  697,  717,  708,  719,  718,  721,  723,
 +      724,  726,  734,  735,  710,  732,  736,  733,  737,  739,
 +      740,  741,  743,  747,  748,  751,  752,  756,  759,  760,
 +      761,  774,  766,  764,  771,  784,  767,  777,  785,  778,
 +      801,  796,  804,  798,  806,  807,  808,  779,  810,  812,
 +      809,  816,  823,  813,  827,  829,  820,  830,  831,  840,
-       844, 6948,  833,  837,  849,  852,  854,  855,  861,  863,
-       862,  835,  870,  868,  869,  885,  907,  872,  878,  876,
-       880,  873, 6948,  890,  883,  931,  889,  896,  917,  912,
-       900,  901,  914,  913,  919,  941,  851,  932,  937,  954,
-       955,  936,  939,  927,  957,  949,  967,  965,  953,  963,
-       968,  976,  915,  969,  972,  983,  971,  974,  979,  984,
-       986,  987,  994,  989,  999, 1000,  992, 1004, 1005, 1006,
-      1008, 1007, 1030, 1023, 1025, 1026, 1009, 1028, 1038, 1012,
-      1036, 1041, 1046, 1050, 1020, 1052, 1054, 1057, 1058, 1059,
-      1060, 1068, 1065, 1064, 1066, 1070, 1071, 1073, 1077, 1078,
-      1081, 1080, 1083, 1085, 1084, 1091, 1093, 1095, 1096, 1101,
-       902, 6948, 1104, 6948, 1097, 1106, 1107, 1110, 1108, 1111,
-      1112, 1109, 6948, 1113, 1120, 1115, 1122, 1130, 1125, 1143,
-      1139, 1126, 1141, 1142, 1146, 1147, 1148, 1156, 1151, 1154,
-      1159, 1155, 1161, 1158, 1164, 1123, 1165, 1167, 1168, 1172,
-      1174, 1176, 1194, 6948, 1178, 1175, 1184, 1179, 1186, 1187,
-      1181, 1203, 1206, 1201, 1204, 1212, 1217, 1224, 1219, 1221,
-      1222, 1223, 1227, 1190, 1230, 1232, 1235, 1236, 1238, 1239,
-      1241, 1242, 1244, 1243, 1251, 1254, 1256, 6948, 1257, 1259,
-      1261, 1273, 1268, 1271, 1258, 1274, 1272, 1275, 1278, 1276,
-      1279, 1283, 1284, 1291, 1300, 1285, 1301, 1296, 1299, 1298,
-      1303, 1304, 1310, 1305, 1306, 1317, 1315, 1320, 1326, 1329,
-      1331, 1333, 1340, 1342, 1335, 1327, 1337, 1343, 1339, 1345,
-      1347, 1350, 1351, 1352, 1354, 1357, 1365, 1358, 1362, 1363,
-      1367, 1360, 1368, 1370, 1371, 1377, 1376, 1380, 1379, 1389,
-      1386, 1384, 1394, 1390, 1387, 1393, 1400, 1404, 1407, 1401,
-      1403, 6948, 1419, 1414, 1417, 1421, 1422, 1426, 1428, 1424,
-      1430, 1431, 1432, 1434, 1435, 1437, 1441, 1442, 1443, 1444,
-      1449, 1451, 1452, 1453, 1454, 1468, 1467, 1469, 1462, 1471,
-      1472, 1473, 1456, 1482, 1479, 1483, 1487, 1481, 1488, 1495,
-      1491, 1492, 1496, 1503, 1498, 1499, 1502, 1500, 1509, 1518,
-      1514, 1519, 1529, 1513, 1526, 1533, 1534, 1511, 1528, 1524,
-      1538, 1539, 1542, 1544, 1545, 1546, 1553, 1548, 1549, 1550,
-      1554, 1555, 1551, 1556, 1561, 1577, 1563, 1567, 1572, 1574,
-      1575, 1578, 1582, 1580, 1579, 1585, 1587, 1588, 1589, 1590,
-      1591, 1608, 1599, 1600, 1609, 1601, 1611, 1602, 1610, 1614,
-      1617, 1621, 1623, 1622, 1628, 1631, 1625, 1632, 1635, 1634,
-      1638, 1637, 1651, 1650, 1653, 1654, 1652, 1659, 1642, 1660,
-      1640, 1663, 1664, 1670, 1667, 1671, 6948, 1675, 1682, 1677,
-      1679, 1678, 1681, 1684, 1691, 1687, 1686, 1689, 1688, 1692,
-      1714, 6948, 1696, 6948, 6948, 1698, 6948, 6948, 1699, 1703,
-      6948, 1700, 1704, 1718, 1705, 1720, 1728, 1730, 1732, 1717,
-      1725, 1722, 1744, 1745, 1740, 1748, 1737, 1741, 1750, 1751,
-      1761, 1762, 1755, 1766, 1768, 1769, 1770, 1778, 1779, 1784,
-      1776, 1782, 1788, 1790, 1793, 1792, 1799, 1800, 1801, 1803,
-      1804, 1805, 1807, 1806, 1809, 1812, 1815, 1816, 1818, 1811,
-      1819, 1830, 1828, 1821, 1838, 6948, 1834, 1846, 1831, 1848,
-      1844, 1851, 1852, 1847, 1835, 1857, 1859, 1854, 1860, 1861,
-      1863, 1864, 1865, 1868, 1869, 1873, 1870, 1874, 1876, 1886,
-      1877, 6948, 1881, 1885, 1756, 1887, 1889, 1897, 1899, 1891,
-      1893, 1901, 1895, 1902, 1912, 1913, 1909, 1903, 1916, 1915,
-      1917, 1920, 6948, 1919, 1927, 1928, 1929, 1930, 1932, 1933,
-      1936, 1937, 1938, 1940, 1941, 1942, 1943, 1950, 1946, 1954,
-      1948, 1956, 1959, 1961, 1968, 1965, 1969, 1971, 1972, 1977,
-      1978, 1980, 1981, 1982, 1983, 1984, 1986, 1994, 1996, 1985,
-      1998, 1993, 1995, 2010, 2014, 2009, 2001, 2011, 2012, 2016,
-      2018, 2027, 2028, 2026, 2024, 2025, 2036, 2032, 2034, 2035,
-      2039, 2040, 2047, 2045, 2050, 2048, 2051, 2055, 2057, 2059,
-      6948, 2061, 2063, 6948, 2066, 2064, 2065, 2087, 2067, 2070,
-      2076, 2072, 2069, 2089, 2080, 2083, 2099, 2088, 2106, 2101,
-      2107, 2109, 2111, 2112, 2116, 2114, 2115, 2118, 2120, 2122,
-      2123, 2124, 2132, 2142, 2144, 2082, 2145, 2147, 2133, 2143,
-      2146, 2165, 2148, 2149, 2153, 2151, 2156, 2169, 2150, 2152,
-      2161, 2159, 2170, 2172, 2182, 2181, 2180, 2177, 2183, 2187,
-      2190, 2194, 2196, 2197, 6948, 2204, 2203, 2201, 2202, 2209,
-      2216, 2213, 2211, 6948, 2212, 2214, 2215, 2225, 2224, 2226,
-      2227, 2228, 2229, 2234, 2235, 2237, 2240, 2236, 2238, 2250,
-      6948, 2241, 6948, 2239, 2251, 2256, 2258, 2252, 2260, 2259,
-      2262, 2263, 6948, 6948, 2264, 2270, 2272, 2281, 2282, 2280,
-      2283, 2284, 6948, 2285, 2292, 6948, 2295, 2287, 2288, 2293,
-      2294, 2300, 2303, 2304, 2311, 2306, 2314, 2307, 2312, 2320,
-      2309, 6948, 2325, 2315, 2327, 2329, 2321, 2330, 2333, 2335,
-      2331, 6948, 2341, 2342, 2344, 2351, 2349, 2346, 2352, 2353,
-      2359, 2354, 2357, 2361, 2362, 2364, 2369, 2373, 2374, 2366,
-      2375, 2384, 2382, 2385, 6948, 2383, 2386, 2389, 2396, 2392,
-      2394, 2391, 2398, 2395, 2399, 2402, 2403, 2401, 2410, 2408,
-      2411, 2414, 2422, 2425, 2417, 2424, 2421, 2427, 2428, 2431,
-      2430, 2438, 2435, 2436, 2437, 2439, 6948, 2440, 2450, 2444,
-      2455, 2457, 2441,  171, 2451, 2454, 2458, 2463, 2466, 2472,
-      2447, 2479, 2480, 2476, 2477, 2481, 2484, 2485, 2486, 2488,
-      2487, 2478, 2491, 2490, 2494, 6948, 2496, 2501, 2503, 2504,
-      2506, 2507, 2509, 6948, 2516, 2510, 2517, 2530, 2524, 2518,
-      2533, 2526, 2534, 2535, 2537, 2538, 2539, 2546, 2543, 2541,
-      2547, 2549, 6948, 2554, 2556, 2559, 2550, 2560, 2562, 2563,
-      2567, 2569, 2571, 2573, 2574, 2579, 2575, 2577, 2578, 2580,
-      2588, 2591, 2601, 2583, 2592, 2593, 2600, 2597, 2605, 2604,
-      2607, 2609, 2614, 2610, 6948, 2619, 2611, 2620, 2621, 2618,
-      2625, 2622, 2628, 2637, 2633, 2635, 2642, 2643, 2656, 2645,
-      2639, 2653, 2650, 2654, 2662, 2666, 2663, 2667, 2673, 2670,
-      2676, 2678, 2680, 2684, 2688, 2685, 2686, 2687, 2689, 2690,
-      2699, 2701, 2704, 2707, 2697, 2705, 2712, 2713, 2715, 2731,
-      2722, 6948, 2720, 2726, 2718, 2730, 2738, 2734, 2735, 2740,
-      2742, 2744, 2746, 2747, 2748, 2755, 2754, 2750, 2752, 2758,
-      2763, 2761, 2764, 2767, 2769, 2770, 2771, 2778, 2779, 2781,
-      2696, 6948, 2782, 2783, 2784, 2789, 2791, 2786, 2793, 2796,
-      2799, 2800, 2801, 2802, 2808, 2805, 2809, 2810, 2811, 2818,
-      2814, 2815, 2827, 2816, 6948, 2817, 2828, 2830, 2832, 2833,
-      2836, 2837, 2845, 2847, 2839, 2849, 2841, 2850, 2851, 2853,
-      6948, 2861, 2863, 2860, 2862, 2870, 2868, 2869, 2871, 2873,
-      2874, 6948, 2875, 2878, 2876, 2883, 2879, 2881, 2890, 2891,
-      2887, 6948, 2895, 2892, 2897, 2900, 2901, 2902, 2903, 2907,
-      2905, 2909, 2910, 2914, 2923, 2915, 2924, 6948, 2911, 2932,
-      2918, 2933, 2927, 2937, 2939, 2940, 2941, 2943, 2945, 2948,
-      6948, 2950, 2953, 2956, 2965, 2960, 2961, 2963, 2966, 2968,
-      2969, 2970, 2972, 2975, 2974, 6948, 2976, 2978, 2982, 2983,
-      2985, 2986, 2991, 2999, 2997, 2998, 3001, 3002, 3003, 3006,
-      3005, 3007, 3008, 3017, 3011, 3013, 3019, 3025, 3023, 3027,
-      3030, 3031, 3039, 3041, 3037, 3042, 3045, 3040, 3047, 3048,
-      3049, 3058, 3059, 3061, 3056, 3064, 6948, 3067, 3068, 3062,
-      3060, 3070, 3073, 3074, 3076, 3079, 3075, 3077, 3081, 3084,
-      3088, 3097, 3100, 3090, 3092, 3101, 3102, 3103, 3104, 3105,
-      3106, 3111, 3114, 3113, 3115, 3116, 3123, 3119, 3122, 3131,
-      3127, 3130, 3132, 3133, 3134, 3136, 3137, 3139, 3140, 3144,
-      3143, 3145, 3148, 3156, 3166, 3163, 3157, 3159, 3167, 3169,
-      3171, 6948, 3170, 3174, 3178, 3175, 3180, 3184, 3181, 3191,
-      3187, 3198, 3192, 3189, 3199, 3200, 3201, 3206, 3207, 3208,
-      3215, 3211, 6948, 3212, 6948, 3213, 3214, 3217, 3226, 3222,
-      6948, 3232, 6948, 3233, 3238, 3223, 3225, 3227, 6948, 3244,
-      3229, 3235, 3240, 3245, 3251, 3246, 3248, 3253, 3254, 3256,
-      3257, 3262, 3260, 3264, 3263, 3266, 3267, 3273, 3274, 3275,
-      3276, 3282, 3285, 3277, 3283, 3290, 3294, 3293, 3295, 3296,
-      3298, 6948, 3301, 3302, 3306, 3309, 3307, 3308, 3310, 3311,
-      3318, 3316, 3320, 3317, 3325, 3327, 3329, 3333, 3334, 3335,
-      3336, 3343, 3346, 3337, 3350, 6948, 3349, 3352, 3353, 3354,
-      6948, 3356, 3358, 3364, 3366, 3359, 3362, 3368, 3371, 3369,
-      3375, 3376, 3377, 3378, 3385, 3386, 3387, 6948, 3389, 3394,
-      3392, 3400, 3402, 3395, 3411, 3413, 3404, 3414, 3418, 3422,
-      3420, 3408, 3412, 3423, 3424, 3426, 3433, 3434, 3437, 3435,
-      3438, 3436, 3441, 3448, 3445, 3439, 3443, 3449, 3451, 3452,
-      3453, 3455, 3454, 3456, 3458, 3473, 3460, 3470, 6948, 3464,
-      3474, 3465, 3488, 3480, 3483, 3484, 3487, 3485, 6948, 3490,
-      3491, 3492, 3493, 3494, 3498, 3496, 3502, 3503, 3507, 3508,
-      3512, 3515, 3509, 6948, 3514, 6948, 3517, 3528, 3533, 3536,
-      3537, 3520, 3540, 3545, 3539, 3522, 3546, 3547, 3548, 3554,
-      3555, 3556, 3557, 3558, 3559, 3566, 3562, 3572, 3563, 3564,
-      3569, 3574, 3575, 3586, 3584, 3578, 6948, 6948, 3581, 3582,
-      3592, 3594, 3595, 3596, 3597, 3599, 3602, 3603, 3605, 3609,
-      3619, 6948, 3614, 3615, 3616, 6948, 3617, 3629, 3624, 3632,
-      3639, 3620, 3634, 3641, 3637, 6948, 3636, 3640, 3650, 3645,
-      3646, 3653, 6948, 3651, 6948, 3652, 3657, 3660, 3661, 3662,
-      3663, 3664, 3665, 3668, 3666, 3670, 3683, 3691, 3692, 3675,
-      3690, 3673, 3678, 3687, 3695, 3697, 3705, 3698, 3700, 3701,
-      6948, 3703, 3707, 3708, 3709, 3711, 3713, 3717, 3715, 3721,
-      6948, 3723, 3726, 3725, 3729, 3730, 3733, 3736, 3737, 3738,
-      3740, 3742, 3743, 3746, 3747, 6948, 3748, 3751, 3760, 3752,
-      3761, 3762, 3766, 3769, 3774, 6948, 3770, 3776, 3783, 3781,
-      3778, 3782, 3786, 3787, 3788, 3791, 3793, 3792, 3794, 3795,
-      3796, 3798, 3800, 3803, 3801, 3814, 3815, 3802, 3823, 3824,
-      3806, 6948, 3816, 3828, 3829, 3833, 3831, 3832, 3836, 3837,
-      3840, 3842, 3835, 3844, 3845, 3853, 3854, 3856, 3858, 3859,
-      3866, 3861, 6948, 3868, 3865, 3873, 3871, 3869, 3878, 3880,
-      3870, 3882, 3885, 3886, 3872, 3891, 3892, 3888, 3895, 3904,
-      3899, 3902, 3903, 3905, 3914, 3906, 6948, 3916, 3909, 3917,
-      3927, 3919, 3920, 3934, 3924, 3931, 3936, 3938, 3939, 3940,
-      3942, 3943, 3944, 3945, 3950, 3947, 6948, 6948, 3953, 3954,
-      3955, 6948, 3959, 3956, 3969, 3960, 3971, 3961, 3972, 3973,
-      3974, 3975, 3984, 3978, 3981, 6948, 3992, 3988, 3995, 3990,
-      3991, 4000, 4003, 6948, 3996, 4008, 4007, 4009, 4011, 3999,
-      4012, 4013, 4018, 4016, 4017, 4022, 4030, 4032, 4027, 4029,
-      4033, 6948, 4028, 4035, 4036, 4039, 4040, 4045, 6948, 4042,
-      4046, 4051, 4049, 4054, 4065, 4058, 4056, 4069, 4066, 4070,
-      4071, 4073, 4074, 4075, 4076, 4083, 4079, 4085, 4081, 4080,
-      4089, 4091, 4098, 6948, 4099, 4101, 4103, 4105, 6948, 4107,
-      4115, 4116, 6948, 4119, 4111, 4120, 4118, 4127, 6948, 4122,
-      4124, 4126, 4131, 4129, 4139, 4135, 4142, 4141, 4143, 4144,
-      4145, 4146, 6948, 4147, 4148, 4151, 6948, 4149, 4160, 4166,
-      4169, 4153, 4176, 4171, 4174, 4172, 4175, 6948, 4180, 6948,
-      4183, 4181, 4187, 6948, 4182, 4189, 4190, 4192, 4196, 4197,
-      4198, 4204, 4200, 4206, 4208, 4209, 4210, 4211, 4213, 4220,
-      4212, 4216, 4219, 4221, 6948, 4222, 4224, 4228, 4231, 4232,
-      4238, 4236, 4241, 4243, 4244, 4246, 6948, 6948, 4248, 6948,
-      4251, 4250, 4255, 4256, 6948, 4258, 4260, 4263, 4261, 4267,
-      4275, 4262, 4270, 4155, 6948, 4282, 4283, 6948, 4265, 4279,
-      4292, 4276, 4287, 4289, 4293, 4295, 4291, 4297, 4298, 4302,
-      4301, 4303, 4299, 4304, 4317, 6948, 4306, 4305, 4308, 4322,
-      4309, 4312, 4330, 4324, 4331, 6948, 4334, 4335, 4338, 4340,
-      4347, 4343, 4342, 6948, 4344, 6948, 4345, 4350, 4352, 4355,
-      4354, 4366, 6948, 4365, 4358, 4362, 4368, 4369, 4375, 4371,
-      4378, 4370, 4379, 4380, 4387, 4384, 4382, 4386, 4391, 4393,
-      6948, 4392, 4396, 4403, 4404, 4399, 4406, 4413, 4412, 4416,
-      4409, 4415, 4420, 4421, 4424, 4428, 4430, 4432, 4422, 6948,
-      4434, 4436, 4435, 4448, 4441, 4445, 4449, 6948, 4450, 4452,
-      4455, 6948, 4451, 4458, 4459, 4466, 4463, 4467, 4469, 4470,
-      4471, 4474, 4475, 4472, 6948, 4479, 4480, 4473, 4484, 4494,
-      4495, 6948, 6948, 4497, 6948, 4476, 4483, 4498, 4500, 4501,
-      4502, 4508, 4505, 4510, 4512, 4515, 4517, 4519, 4520, 6948,
-      4522, 4529, 4525, 4537, 4538, 4545, 4540, 4527, 4528, 6948,
-      6948, 4550, 4551, 4544, 4555, 4556, 4546, 4542, 4565, 4562,
-      4563, 4569, 4570, 4578, 6948, 4576, 4561, 4579, 4571, 6948,
-      4573, 4582, 4574, 4584, 4585, 4586, 4589, 4588, 4595, 4592,
-      4594, 4602, 4596, 4607, 4601, 4603, 4609, 4610, 4613, 4616,
-      4615, 4617, 4619, 6948, 4623, 4624, 4625, 4626, 4630, 4633,
-      4636, 4637, 4634, 4638, 4647, 6948, 4639, 6948, 4648, 4642,
-      4660, 4649, 4650, 4663, 4664, 4665, 4667, 4671, 4673, 4674,
-      4677, 4679, 4683, 4672, 4678, 4688, 4684, 4695, 4698, 4699,
-      6948, 4700, 4690, 4692, 4640, 4702, 4707, 4703, 4709, 4713,
-      4711, 4715, 4718, 4719, 4720, 4724, 4727, 4721, 4728, 4729,
-      4730, 4731, 6948, 4736, 4739, 4732, 4743, 4740, 4747, 4748,
-      4753, 4759, 4762, 4745, 4755, 4763, 6948, 4757, 4749, 4767,
-      6948, 4769, 4771, 4773, 4774, 4777, 4779, 4780, 4781, 4782,
-      6948, 4784, 4786, 4792, 4787, 4790, 4791, 4793, 4802, 4795,
-      4805, 4810, 6948, 4817, 4800, 4815, 4816, 4814, 4818, 4822,
-      4824, 4823, 6948, 4827, 4833, 4835, 4826, 4842, 4850, 4825,
-      4837, 4851, 4848, 4854, 4847, 4855, 4857, 4856, 4858, 4861,
-      4862, 4863, 4875, 4879, 4874, 6948, 4864, 6948, 4866, 4876,
-      4880, 4888, 4889, 4883, 4893, 4891, 4887, 6948, 4895, 4897,
-      4900, 4901, 4903, 6948, 4902, 4904, 4906, 4905, 6948, 4915,
-      4919, 4908, 4910, 4926, 4929, 6948, 4932, 4933, 4934, 4941,
-      4943, 4938, 4945, 4940, 4948, 4946, 4942, 4950, 4951, 4959,
-      4957, 4955, 6948, 4923, 4961, 4963, 4966, 4967, 4968, 4970,
-      4973, 4974, 4976, 4981, 6948, 4980, 4982, 4983, 4984, 4986,
-      4987, 4988, 4990, 4998, 4999, 4996, 4989, 5001, 5006, 5009,
-      5010, 5012, 6948, 5015, 5013, 5016, 5023, 5018, 5022, 6948,
-      5019, 6948, 5030, 5032, 5034, 5035, 5038, 6948, 6948, 5036,
-      5047, 5042, 5046, 5043, 6948, 6948, 5049, 6948, 5050, 5051,
-      5056, 6948, 5053, 5057, 6948, 6948, 5058, 5059, 5060, 5064,
-      5065, 5076, 6948, 5078, 6948, 5068, 5066, 5079, 5072, 5082,
-      5084, 6948, 5083, 5087, 5091, 5093, 5095, 6948, 5092, 5106,
-      5096, 5097, 6948, 5099, 5107, 5108, 5111, 6948, 5115, 5118,
-      5119, 5113, 5121, 5120, 5126, 5109, 5122, 5132, 5133, 5134,
-      5135, 5137, 5140, 5146, 5148, 5150, 5141, 5143, 5151, 5157,
-      5159, 5162, 5152, 5165, 5166, 5167, 5168, 5170, 5172, 5169,
-      5174, 5176, 5179, 5180, 5177, 5181, 5182, 5191, 5183, 5194,
-      5198, 5195, 5200, 5201, 5205, 5206, 5207, 5208, 5210, 5209,
-      5212, 5215, 5217, 5213, 5218, 6948, 5220, 5221, 5223, 5234,
-      5230, 5235, 5236, 5248, 5250, 5251, 6948, 5253, 6948, 5255,
-      5239, 5258, 5242, 5245, 6948, 5259, 5262, 5263, 5264, 5265,
-      5266, 5268, 5267, 5271, 5272, 5275, 6948, 6948, 5278, 5281,
-      5282, 5283, 5294, 6948, 5288, 5299, 5273, 5296, 5300, 5301,
-      5302, 5303, 5305, 5306, 5307, 5309, 5311, 5313, 5315, 5319,
-      5324, 6948, 5328, 5332, 5339, 5320, 5325, 5329, 5336, 5341,
-      5334, 5342, 5344, 5343, 5352, 5353, 5357, 6948, 5347, 6948,
-      5358, 5359, 5360, 5361, 5363, 5365, 5367, 5368, 5371, 5374,
-      6948, 6948, 5376, 5377, 5378, 5383, 5379, 5384, 5387, 5388,
-      5389, 5397, 6948, 5390, 5403, 5409, 5398, 6948, 5400, 5392,
-      5406, 5414, 6948, 5410, 5416, 5417, 5419, 5420, 5424, 5427,
-      5428, 5429, 5430, 5431, 5434, 6948, 6948, 6948, 6948, 5435,
-      5438, 5441, 5443, 5444, 5446, 5449, 5452, 5453, 5448, 5450,
-      5454, 6948, 5464, 6948, 6948, 5466, 5467, 5465, 5468, 5474,
-      5475, 5476, 5478, 6948, 5477, 6948, 5483, 5484, 5480, 5491,
-      5497, 5493, 5481, 5502, 5499, 5503, 5487, 5504, 5513, 5509,
-      5510, 5512, 5515, 5517, 5519, 6948, 6948, 5521, 5524, 5525,
-      5532, 5530, 5533, 5529, 5542, 5537, 5539, 5540, 5545, 5546,
-      5547, 5556, 5557, 5548, 5552, 6948, 5555, 5558, 5566, 6948,
-      5559, 6948, 5565, 5567, 5573, 5561, 5574, 5575, 5576, 5580,
-      5577, 5583, 6948, 6948, 5582, 5595, 5590, 6948, 6948, 5591,
-      5592, 5594, 5598, 5599, 5601, 5593, 5603, 5605, 5607, 6948,
-      5608, 6948, 5609, 5611, 5615, 5617, 5625, 5616, 5628, 5633,
-      5619, 5636, 5635, 5632, 5638, 5639, 6948, 5642, 5643, 6948,
-      5652, 5645, 5649, 5647, 5650, 6948, 5654, 5657, 5659, 5667,
-      6948, 5669, 5660, 5671, 6948, 5673, 6948, 5662, 5674, 5677,
-      5684, 5680, 6948, 5670, 5685, 6948, 5688, 5694, 5696, 5697,
-      5691, 5698, 6948, 5702, 5681, 6948, 5703, 5706, 5707, 5710,
-      5712, 5714, 5715, 5716, 5717, 5724, 5720, 5721, 6948, 6948,
-      5732, 5730,  135, 5739, 5722, 5729, 5736, 5737, 5746, 5741,
-      5744, 5751, 6948, 6948, 5742, 6948, 5752, 5754, 6948, 5753,
-      5755, 5761, 5759, 5763, 5764, 5765, 5767, 5770, 5772, 5780,
-      5773, 5771, 5784, 5794, 5801, 5779, 5775, 5796, 5802, 5804,
-      5806, 5808, 5799, 5811, 5810, 5812, 5813, 5814, 5817, 5818,
-      5820, 5821, 5822, 6948, 5825, 5832, 5834, 5826, 6948, 5840,
-      5828, 5846, 5849, 6948, 5847, 6948, 5851, 5848, 5853, 5854,
-      5855, 6948, 5856, 5859, 5861, 5865, 5866, 5867, 5868, 5870,
-      5877, 5878, 5872, 5880, 6948, 6948, 6948, 5882, 5889, 6948,
-      5893, 5883, 5873, 5890, 6948, 5895, 5896, 5899, 6948, 6948,
-      6948, 5900, 5901, 5903, 6948, 5902, 5910, 6948, 5907, 6948,
-      5909, 6948, 5913, 5915, 5916, 5914, 6948, 5921, 5924, 5927,
-      5928, 6948, 5934, 5936, 5939, 5931, 5942, 5944, 5943, 6948,
-      5951, 5947, 5949, 5956, 5946, 5953, 5950, 5961, 5957, 5973,
-      5958, 5960, 6948, 5968, 5969, 5976, 5977, 5970, 5979, 5980,
-      6948, 5982, 6948, 5985, 6948, 5986, 5987, 5988, 5992, 5997,
-      5991, 5990, 6003, 5993, 6004, 6012, 6005, 6008, 6010, 6016,
-      6018, 6948, 6948, 6020, 6022, 6948, 6017, 6948, 6023, 6030,
-      6948, 6025, 6027, 6034, 6031, 6035, 6948, 6948, 6033, 6042,
-      6044, 6051, 6046, 6048, 6948, 6049, 6052, 6054, 6056, 6948,
-      6948, 6057, 6064, 6060, 6948, 6059, 6071, 6075, 6061, 6063,
-      6079, 6080, 6084, 6068, 6092, 6082, 6085, 6087, 6090, 6094,
-      6096, 6100, 6104, 6948, 6948, 6948, 6102, 6095, 6112, 6111,
-      6113, 6123, 6108, 6948, 6119, 6121, 6122, 6118, 6131, 6128,
-      6130, 6948, 6132, 6133, 6134, 6135, 6139, 6136, 6140, 6141,
-      6948, 6143, 6153, 6158, 6149, 6147, 6160, 6163, 6167, 6169,
-      6171, 6164, 6172, 6179, 6175, 6948, 6182, 6948, 6948, 6174,
-      6183, 6948, 6178, 6184, 6176, 6185, 6188, 6948, 6191, 6186,
-      6192, 6194, 6196, 6201, 6203, 6205, 6948, 6215, 6197, 6199,
-      6214, 6948, 6948, 6213, 6221, 6948, 6223, 6224, 6225, 6232,
-      6228, 6227, 6231, 6233, 6948, 6237, 6242, 6236, 6243, 6244,
-      6245, 6246, 6948, 6250, 6248, 6251, 6253, 6948, 6254, 6259,
-      6260, 6255, 6261, 6948, 6264, 6262, 6274, 6265, 6948, 6279,
-      6280, 6281, 6948, 6948, 6948, 6285, 6287, 6288, 6948, 6948,
-      6948, 6948, 6290, 6291, 6293, 6298, 6948, 6301, 6302, 6306,
-      6311, 6314, 6318, 6317, 6948, 6305, 6319, 6323, 6320, 6325,
-      6948, 6948, 6324, 6326, 6327, 6330, 6331, 6948, 6948, 6333,
-      6334, 6336, 6343, 6335, 6948, 6337, 6342, 6349, 6345, 6356,
-      6360, 6362, 6353, 6364, 6363, 6371, 6373, 6366, 6374, 6376,
-      6377, 6378, 6379, 6381, 6390, 6386, 6388, 6394, 6385, 6396,
-      6948, 6948, 6403, 6948, 6405, 6399, 6948, 6948, 6407, 6410,
-      6412, 6414, 6416, 6948, 6418, 6420, 6422, 6424, 6425, 6948,
-      6426, 6428, 6429, 6430, 6432, 6948, 6434, 6431, 6437, 6439,
-      6440, 6443, 6444, 6447, 6948, 6441, 6449, 6948, 6948, 6457,
-      6458, 6459, 6462, 6460, 6948, 6464, 6471, 6466, 6468, 6469,
-      6472, 6470, 6948, 6476, 6474, 6948, 6948, 6477, 6479, 6948,
-      6948, 6484, 6948, 6948, 6948, 6948, 6948, 6948, 6948, 6948,
-      6948, 6487, 6493, 6948, 6489, 6498, 6500, 6948, 6504, 6948,
-      6491, 6506, 6501, 6507, 6948, 6495, 6948, 6508, 6511, 6512,
-      6516, 6513, 6519, 6521, 6523, 6525, 6524, 6526, 6529, 6530,
-      6533, 6532, 6535, 6536, 6547, 6538, 6548, 6948, 6948, 6948,
-      6549, 6550, 6555, 6552, 6560, 6564, 6567, 6569, 6557, 6562,
-      6571, 6572, 6573, 6575, 6579, 6586, 6581, 6584, 6583, 6590,
-      6585, 6592, 6948, 6598, 6587, 6593, 6604, 6948, 6599, 6948,
-      6601, 6948, 6948, 6607, 6608, 6610, 6611, 6621, 6622, 6613,
-      6620, 6617, 6623, 6625, 6948, 6632, 6948, 6948, 6626, 6629,
-      6948, 6634, 6635, 6948, 6637, 6638, 6640, 6641, 6642, 6644,
-      6645, 6646, 6653, 6948, 6948, 6656, 6660, 6658, 6662, 6664,
-      6671, 6666, 6668, 6670, 6674, 6672, 6686, 6948, 6682, 6683,
-      6685, 6948, 6689, 6687, 6690, 6692, 6694, 6701, 6696, 6699,
-      6948, 6702, 6948, 6705, 6698, 6709, 6700, 6708, 6716, 6717,
-      6720, 6721, 6948, 6722, 6723, 6726, 6730, 6732, 6735, 6736,
-      6728, 6738, 6739, 6749, 6742, 6746, 6750, 6752, 6754, 6755,
-      6948, 6761, 6756, 6948, 6758, 6762, 6764, 6765, 6768, 6948,
-      6773, 6766, 6770, 6776, 6779, 6780, 6948, 6782, 6791, 6786,
-      6948, 6792, 6948, 6948, 6794, 6788, 6795, 6801, 6803, 6948,
-      6948, 6948, 6828, 6835, 6842, 6849, 6856, 6863, 6870,   88,
-      6877, 6884, 6891, 6898, 6905, 6912, 6919, 6926, 6933, 6940
++      844, 6986,  833,  837,  849,  852,  854,  855,  861,  864,
++      862,  835,  872,  869,  873,  886,  908,  870,  876,  877,
++      881,  874, 6986,  891,  884,  932,  900,  893,  918,  913,
++      882,  901,  906,  905,  922,  936,  916,  923,  925,  955,
++
++      933,  937,  940,  950,  953,  952,  968,  963,  954,  961,
++      966,  975,  970,  971,  972,  981,  976,  982,  983,  986,
++      988,  989,  991,  997, 1002,  984, 1003,  992, 1008, 1005,
++     1012, 1009, 1032, 1016, 1019, 1015, 1030, 1027, 1039, 1014,
++     1038, 1043, 1048, 1052, 1040, 1041,  838, 1055, 1056, 1058,
++     1062, 1065, 1064, 1066, 1067, 1069, 1070, 1076, 1013, 1072,
++     1073, 1078, 1079, 1084, 1083, 1086, 1093, 1095, 1080, 1096,
++     1099, 6986, 1102, 6986, 1104, 1105, 1106, 1107, 1108, 1109,
++     1110, 1111, 6986, 1115, 1118, 1112, 1117, 1126, 1119, 1140,
++     1137, 1124, 1139, 1141, 1143, 1145, 1146, 1149, 1154, 1151,
++
++     1152, 1159, 1156, 1162, 1163, 1165, 1164, 1169, 1166, 1173,
++     1172, 1175, 1176, 1195, 6986, 1179, 1183, 1182, 1180, 1187,
++     1193, 1191, 1208, 1213, 1190, 1219, 1210, 1216, 1223, 1220,
++     1227, 1230, 1231, 1232, 1236, 1234, 1238, 1240, 1241, 1242,
++     1244, 1246, 1247, 1251, 1249, 1248, 1260, 1262, 6986, 1261,
++     1272, 1273, 1280, 1266, 1264, 1263, 1271, 1281, 1283, 1284,
++     1286, 1200, 1287, 1289, 1291, 1298, 1293, 1300, 1295, 1303,
++     1302, 1304, 1308, 1309, 1314, 1310, 1321, 1318, 1325, 1328,
++     1335, 1337, 1339, 1340, 1347, 1342, 1322, 1332, 1348, 1349,
++     1350, 1352, 1353, 1357, 1355, 1358, 1359, 1367, 1364, 1366,
++
++     1365, 1368, 1371, 1374, 1372, 1376, 1381, 1379, 1380, 1382,
++     1394, 1390, 1389, 1401, 1392, 1399, 1393, 1391, 1414, 1415,
++     1408, 1406, 6986, 1423, 1416, 1424, 1426, 1428, 1429, 1431,
++     1418, 1435, 1437, 1438, 1440, 1439, 1442, 1446, 1443, 1447,
++     1448, 1449, 1454, 1456, 1457, 1467, 1474, 1473, 1460, 1461,
++     1469, 1475, 1477, 1478, 1486, 1485, 1487, 1488, 1484, 1493,
++     1500, 1492, 1495, 1496, 1510, 1502, 1503, 1506, 1507, 1513,
++     1523, 1518, 1519, 1528, 1530, 1520, 1529, 1539, 1535, 1522,
++     1540, 1537, 1541, 1545, 1548, 1549, 1550, 1551, 1558, 1553,
++     1555, 1559, 1560, 1554, 1561, 1565, 1570, 1579, 1562, 1576,
++
++     1581, 1578, 1583, 1584, 1587, 1588, 1586, 1589, 1592, 1594,
++     1595, 1598, 1608, 1601, 1614, 1596, 1616, 1617, 1618, 1619,
++     1620, 1621, 1622, 1625, 1626, 1624, 1632, 1636, 1638, 1640,
++     1642, 1643, 1644, 1646, 1655, 1645, 1659, 1660, 1652, 1654,
++     1661, 1665, 1667, 1669, 1671, 1674, 1670, 1677, 6986, 1678,
++     1687, 1682, 1685, 1683, 1684, 1690, 1698, 1691, 1693, 1694,
++     1696, 1703, 1724, 6986, 1701, 6986, 6986, 1705, 6986, 6986,
++     1704, 1711, 6986, 1706, 1714, 1710, 1715, 1728, 1734, 1737,
++     1730, 1727, 1725, 1740, 1748, 1761, 1747, 1749, 1750, 1751,
++     1752, 1753, 1755, 1776, 1764, 1782, 1757, 1766, 1785, 1790,
++
++     1786, 1794, 1792, 1796, 1797, 1799, 1800, 1805, 1809, 1811,
++     1758, 1802, 1774, 1806, 1812, 1814, 1815, 1817, 1819, 1823,
++     1818, 1825, 1820, 1834, 1830, 1839, 1846, 6986, 1843, 1847,
++     1844, 1855, 1851, 1858, 1850, 1854, 1857, 1862, 1867, 1864,
++     1859, 1868, 1870, 1869, 1871, 1875, 1878, 1880, 1881, 1884,
++     1883, 1893, 1885, 6986, 1886, 1894, 1888, 1896, 1898, 1899,
++     1900, 1906, 1908, 1909, 1910, 1911, 1925, 1913, 1914, 1917,
++     1921, 1922, 1926, 1928, 1934, 6986, 1827, 1930, 1935, 1936,
++     1938, 1942, 1943, 1939, 1944, 1948, 1947, 1949, 1951, 1952,
++     1960, 1958, 1965, 1966, 1955, 1972, 1973, 1968, 1975, 1978,
++
++     1981, 1984, 1985, 1987, 1988, 1990, 1991, 1992, 1993, 1995,
++     2000, 2007, 1999, 2010, 2002, 1997, 2024, 2025, 2022, 2009,
++     2020, 2029, 2006, 2030, 2039, 2041, 2042, 2036, 2037, 2044,
++     2023, 2047, 2048, 2051, 2049, 2059, 2055, 2057, 2062, 2060,
++     2064, 2068, 2069, 6986, 2071, 2072, 6986, 2074, 2076, 2077,
++     2099, 2078, 2081, 2075, 2092, 2080, 2089, 2094, 2083, 2101,
++     2100, 2113, 2116, 2103, 2118, 2111, 2123, 2119, 2124, 2121,
++     2127, 2130, 2132, 2133, 2136, 2146, 2143, 2153, 2140, 2154,
++     2156, 2152, 2157, 2155, 2177, 2158, 2159, 2161, 2160, 2162,
++     2166, 2179, 2165, 2168, 2167, 2169, 2184, 2195, 2193, 2180,
++
++     2190, 2194, 2199, 2201, 2205, 2202, 2207, 6986, 2215, 2211,
++     2212, 2213, 2216, 2226, 2223, 2221, 6986, 2224, 2225, 2222,
++     2236, 2232, 2235, 2237, 2239, 2243, 2244, 2246, 2247, 2251,
++     2249, 2245, 2267, 6986, 2250, 6986, 2263, 2248, 2265, 2252,
++     2269, 2272, 2273, 2274, 2275, 6986, 6986, 2276, 2278, 2284,
++     2292, 2295, 2282, 2293, 2294, 6986, 2296, 2303, 6986, 2300,
++     2306, 2299, 2298, 2305, 2310, 2311, 2314, 2322, 2315, 2323,
++     2319, 2320, 2326, 2327, 6986, 2331, 2333, 2337, 2338, 2339,
++     2340, 2342, 2345, 2347, 2348, 6986, 2349, 2346, 2353, 2363,
++     2365, 2361, 2354, 2366, 2367, 2371, 2373, 2374, 2375, 2377,
++
++     2382, 2385, 2386, 2383, 2391, 2387, 2393, 2401, 6986, 2397,
++     2399, 2384, 2406, 2403, 2410, 2405, 2407, 2411, 2412, 2415,
++     2419, 2413, 2420, 2421, 2423, 2426, 2433, 2434, 2432, 2436,
++     2438, 2430, 2440, 2443, 2442, 2448, 2446, 2450, 2451, 2452,
++     6986, 2453, 2457, 2458, 2462, 2463, 2461,  171, 2465, 2469,
++     2471, 2473, 2476, 2475, 2480, 2488, 2492, 2487, 2489, 2491,
++     2490, 2496, 2497, 2499, 2498, 2501, 2502, 2506, 2505, 6986,
++     2508, 2512, 2514, 2515, 2516, 2517, 2528, 6986, 2519, 2534,
++     2531, 2539, 2518, 2527, 2540, 2529, 2545, 2546, 2549, 2550,
++     2552, 2557, 2553, 2556, 2560, 2559, 6986, 2562, 2567, 2568,
++
++     2565, 2574, 2576, 2566, 2577, 2581, 2582, 2583, 2584, 2587,
++     2588, 2589, 2590, 2591, 2597, 2598, 2610, 2602, 2605, 2606,
++     2612, 2607, 2616, 2614, 2593, 2617, 2629, 2619, 6986, 2630,
++     2620, 2631, 2634, 2621, 2636, 2638, 2637, 2654, 2640, 2644,
++     2647, 2650, 2661, 2655, 2656, 2663, 2671, 2673, 2667, 2681,
++     2677, 2683, 2685, 2679, 2689, 2691, 2687, 2646, 2698, 2693,
++     2695, 2699, 2697, 2701, 2709, 2712, 2705, 2713, 2708, 2714,
++     2720, 2722, 2726, 2740, 2718, 6986, 2731, 2724, 2733, 2741,
++     2748, 2743, 2744, 2749, 2745, 2746, 2753, 2756, 2757, 2764,
++     2760, 2761, 2767, 2768, 2763, 2769, 2770, 2773, 2778, 2780,
++
++     2781, 2783, 2787, 2789, 2791, 2792, 6986, 2793, 2795, 2797,
++     2799, 2802, 2803, 2810, 2811, 2813, 2805, 2807, 2814, 2820,
++     2817, 2815, 2821, 2822, 2831, 2829, 2827, 2838, 2830, 6986,
++     2841, 2839, 2845, 2833, 2846, 2849, 2853, 2852, 2856, 2859,
++     2862, 2863, 2864, 2865, 2866, 6986, 2874, 2875, 2871, 2873,
++     2883, 2880, 2882, 2884, 2886, 2887, 6986, 2888, 2890, 2892,
++     2891, 2894, 2896, 2903, 2904, 2899, 6986, 2915, 2910, 2900,
++     2911, 2913, 2912, 2916, 2917, 2921, 2922, 2927, 2923, 2933,
++     2929, 2935, 6986, 2936, 2943, 2938, 2939, 2946, 2944, 2949,
++     2950, 2961, 2951, 2957, 2953, 6986, 2976, 2971, 2962, 2978,
++
++     2963, 2974, 2979, 2980, 2981, 2983, 2984, 2987, 2988, 2990,
++     6986, 2989, 2994, 2995, 2991, 3001, 2996, 2998, 3021, 2999,
++     3004, 3006, 3008, 3016, 3018, 3019, 3023, 3027, 3024, 3026,
++     3030, 3032, 3035, 3037, 3039, 3040, 3042, 3053, 3055, 3045,
++     3056, 3062, 3058, 3050, 3046, 3063, 3071, 3075, 3076, 3072,
++     3077, 6986, 3080, 3081, 3074, 3082, 3084, 3087, 3088, 3086,
++     3089, 3091, 3094, 3092, 3095, 3098, 3105, 3113, 3106, 3114,
++     3108, 3110, 3116, 3118, 3119, 3120, 3121, 3128, 3130, 3124,
++     3131, 3142, 3132, 3137, 3147, 3133, 3134, 3145, 3146, 3148,
++     3149, 3150, 3154, 3155, 3158, 3159, 3160, 3162, 3173, 3176,
++
++     3177, 3166, 3168, 3180, 3183, 3184, 6986, 3187, 3188, 3185,
++     3191, 3192, 3195, 3197, 3204, 3199, 3207, 3209, 3216, 3212,
++     3215, 3220, 3201, 3213, 3218, 3223, 3232, 3229, 6986, 3230,
++     6986, 3225, 3233, 3234, 3242, 3237, 6986, 3240, 6986, 3241,
++     3250, 3245, 3247, 3251, 6986, 3252, 3253, 3256, 3259, 3258,
++     3264, 3254, 3260, 3266, 3270, 3272, 3279, 3262, 3273, 3277,
++     3282, 3283, 3287, 3284, 3290, 3289, 3295, 3297, 3300, 3293,
++     3301, 3299, 3305, 3306, 3311, 3309, 3314, 6986, 3323, 3326,
++     3312, 3327, 3318, 3320, 3316, 3331, 3333, 3335, 3336, 3339,
++     3341, 3342, 3346, 3340, 3343, 3352, 3353, 3354, 3363, 3356,
++
++     3364, 6986, 3365, 3367, 3368, 3369, 6986, 3373, 3370, 3380,
++     3382, 3371, 3374, 3384, 3386, 3390, 3377, 3388, 3393, 3398,
++     3402, 3403, 3406, 6986, 3405, 3407, 3397, 3415, 3411, 3417,
++     3426, 3427, 3419, 3428, 3430, 3439, 3435, 3423, 3434, 3437,
++     3438, 3441, 3448, 3449, 3451, 3450, 3453, 3446, 3454, 3461,
++     3457, 3463, 3464, 3466, 3467, 3465, 3468, 3472, 3470, 3471,
++     3473, 3474, 3475, 3483, 6986, 3480, 3489, 3478, 3499, 3495,
++     3497, 3498, 3500, 3502, 6986, 3504, 3505, 3506, 3507, 3508,
++     3512, 3510, 3516, 3517, 3520, 3521, 3526, 3522, 3528, 6986,
++     3537, 6986, 3530, 3539, 3546, 3548, 3538, 3543, 3551, 3559,
++
++     3549, 3553, 3560, 3563, 3564, 3556, 3567, 3568, 3570, 3573,
++     3571, 3584, 3587, 3574, 3576, 3579, 3588, 3590, 3591, 3599,
++     3595, 3597, 6986, 6986, 3594, 3602, 3610, 3601, 3603, 3608,
++     3614, 3616, 3618, 3621, 3605, 3622, 3633, 6986, 3624, 3630,
++     3631, 6986, 3636, 3634, 3643, 3642, 3647, 3650, 3649, 3651,
++     3658, 3655, 6986, 3656, 3657, 3668, 3659, 3664, 3669, 6986,
++     3666, 6986, 3670, 3675, 3677, 3678, 3679, 3681, 3680, 3682,
++     3685, 3683, 3687, 3700, 3708, 3709, 3692, 3707, 3695, 3704,
++     3710, 3712, 3713, 3720, 3716, 3717, 3718, 6986, 3724, 3719,
++     3727, 3725, 3728, 3732, 3735, 3734, 3741, 6986, 3742, 3745,
++
++     3744, 3746, 3750, 3752, 3749, 3755, 3756, 3760, 3757, 3762,
++     3761, 3766, 6986, 3763, 3770, 3780, 3772, 3776, 3777, 3786,
++     3788, 3793, 6986, 3795, 3787, 3803, 3799, 3789, 3779, 3802,
++     3804, 3806, 3807, 3808, 3809, 3810, 3811, 3817, 3812, 3813,
++     3821, 3816, 3832, 3833, 3819, 3823, 3841, 3831, 6986, 3839,
++     3840, 3842, 3846, 3845, 3847, 3850, 3854, 3857, 3868, 3851,
++     3870, 3872, 3858, 3860, 3863, 3875, 3876, 3883, 3882, 6986,
++     3892, 3878, 3893, 3889, 3888, 3895, 3891, 3897, 3899, 3901,
++     3903, 3902, 3905, 3906, 3907, 3909, 3921, 3912, 3916, 3919,
++     3920, 3928, 3927, 6986, 3935, 3930, 3933, 3939, 3932, 3938,
++
++     3951, 3946, 3942, 3949, 3957, 3950, 3958, 3952, 3960, 3961,
++     3963, 3967, 3954, 6986, 6986, 3969, 3971, 3973, 6986, 3977,
++     3978, 3985, 3981, 3988, 3980, 3989, 3984, 3993, 3990, 3994,
++     3992, 3998, 6986, 4006, 4003, 4011, 4007, 4010, 4015, 4019,
++     6986, 4012, 4026, 4023, 4024, 4025, 4013, 4028, 4030, 4032,
++     4036, 4037, 4038, 4046, 4049, 4041, 4044, 4048, 6986, 4045,
++     4050, 4051, 4058, 4053, 4055, 4060, 6986, 4062, 4066, 4078,
++     4067, 4071, 4083, 4084, 4076, 4086, 4069, 4089, 4091, 4093,
++     4094, 4095, 4096, 4105, 4100, 4097, 4101, 4104, 4108, 4119,
++     4109, 6986, 4102, 4121, 4122, 4124, 6986, 4126, 4134, 4135,
++
++     6986, 4136, 4127, 4138, 4139, 4146, 6986, 4144, 4141, 4147,
++     4148, 4150, 4158, 4154, 4161, 4163, 4160, 4157, 4164, 4166,
++     6986, 4168, 4165, 4167, 6986, 4170, 4181, 4186, 4188, 4171,
++     4189, 4190, 4192, 4193, 4194, 6986, 4195, 6986, 4198, 4202,
++     4204, 6986, 4206, 4207, 4208, 4210, 4211, 4212, 4216, 4222,
++     4224, 4215, 4227, 4226, 4228, 4229, 4232, 4240, 4230, 4241,
++     4231, 4238, 6986, 4242, 4239, 4246, 4253, 4245, 4255, 4258,
++     4259, 4260, 4261, 4263, 6986, 6986, 4269, 6986, 4270, 4264,
++     4272, 4274, 6986, 4277, 4275, 4284, 4279, 4282, 4285, 4286,
++     4294, 4291, 6986, 4298, 4300, 6986, 4295, 4302, 4309, 4305,
++
++     4306, 4307, 4310, 4311, 4314, 4315, 4316, 4320, 4322, 4321,
++     4317, 4324, 4325, 6986, 4326, 4327, 4335, 4341, 4334, 4338,
++     4342, 4348, 4349, 6986, 4351, 4355, 4354, 4359, 4366, 4362,
++     4361, 6986, 4364, 6986, 4363, 4370, 4371, 4374, 4375, 4384,
++     6986, 4380, 4377, 4386, 4387, 4388, 4390, 4395, 4396, 4389,
++     4397, 4398, 4405, 4403, 4404, 4402, 4412, 4416, 6986, 4409,
++     4419, 4421, 4422, 4410, 4426, 4435, 4427, 4434, 4430, 4431,
++     4438, 4440, 4441, 4443, 4445, 4450, 4449, 6986, 4453, 4451,
++     4456, 4459, 4470, 4461, 4462, 4465, 6986, 4466, 4474, 4476,
++     6986, 4472, 4468, 4475, 4483, 4486, 4487, 4489, 4490, 4491,
++
++     4494, 4495, 4492, 6986, 4499, 4500, 4493, 4496, 4498, 4509,
++     6986, 6986, 4514, 6986, 4515, 4502, 4517, 4519, 4522, 4526,
++     4524, 4527, 4529, 4530, 4531, 4534, 4539, 4540, 6986, 4541,
++     4549, 4542, 4552, 4561, 4562, 4554, 4558, 4545, 6986, 6986,
++     4568, 4569, 4563, 4574, 4575, 4559, 4578, 4583, 4580, 4581,
++     4587, 4588, 4597, 6986, 4590, 4579, 4598, 4589, 6986, 4592,
++     4600, 4601, 4603, 4606, 4604, 4607, 4608, 4610, 4612, 4614,
++     4616, 4621, 4625, 4619, 4626, 4627, 4629, 4631, 4632, 4633,
++     4635, 4640, 6986, 4643, 4642, 4644, 4647, 4648, 4649, 4655,
++     4654, 4656, 4657, 4664, 6986, 4662, 6986, 4659, 4665, 4670,
++
++     4667, 4660, 4682, 4683, 4684, 4685, 4686, 4689, 4690, 4693,
++     4694, 4704, 4695, 4699, 4705, 4707, 4709, 4714, 4715, 6986,
++     4717, 4701, 4711, 4718, 4724, 4726, 4727, 4729, 4732, 4734,
++     4735, 4737, 4740, 4738, 4742, 4745, 4747, 4748, 4749, 4750,
++     4751, 6986, 4754, 4763, 4752, 4768, 4756, 4760, 4769, 4773,
++     4777, 4780, 4772, 4781, 4782, 6986, 4783, 4785, 4787, 6986,
++     4788, 4789, 4790, 4795, 4801, 4792, 4797, 4794, 4803, 6986,
++     4807, 4810, 4813, 4814, 4815, 4816, 4817, 4819, 4821, 4826,
++     4823, 4824, 6986, 4837, 4829, 4838, 4846, 4836, 4839, 4847,
++     4848, 4840, 6986, 4849, 4850, 4857, 4856, 4864, 4865, 4860,
++
++     4863, 4873, 4869, 4870, 4872, 4876, 4877, 4879, 4882, 4883,
++     4884, 4885, 4896, 4900, 4898, 6986, 4886, 6986, 4887, 4895,
++     4908, 4911, 4912, 4901, 4914, 4917, 4903, 6986, 4916, 4918,
++     4920, 4924, 4926, 6986, 4928, 4927, 4929, 4930, 6986, 4933,
++     4941, 4931, 4937, 4948, 4952, 6986, 4955, 4956, 4945, 4963,
++     4964, 4960, 4962, 4965, 4966, 4968, 4970, 4971, 4972, 4981,
++     4974, 4977, 6986, 4983, 4986, 4992, 4994, 4995, 4976, 4996,
++     4978, 4997, 5003, 4999, 6986, 5004, 5006, 5007, 5008, 5010,
++     5011, 5013, 5014, 5022, 5017, 5020, 5018, 5025, 5029, 5030,
++     5031, 5038, 6986, 5034, 5039, 5040, 5047, 5042, 5049, 6986,
++
++     5053, 6986, 5043, 5058, 5060, 5054, 5064, 6986, 6986, 5066,
++     5067, 5056, 5072, 5069, 6986, 6986, 5074, 6986, 5075, 5077,
++     5076, 6986, 5079, 5082, 6986, 6986, 5083, 5084, 5085, 5086,
++     5087, 5090, 6986, 5100, 6986, 5101, 5097, 5102, 5104, 5105,
++     5107, 6986, 5109, 5108, 5113, 5114, 5116, 6986, 5121, 5124,
++     5119, 5123, 6986, 5132, 5133, 5122, 5129, 6986, 5134, 5140,
++     5143, 5142, 5144, 5145, 5146, 5150, 5149, 5154, 5155, 5156,
++     5157, 5159, 5164, 5166, 5171, 5173, 5175, 5176, 5162, 5178,
++     5181, 5184, 5186, 5189, 5190, 5191, 5192, 5193, 5195, 5197,
++     5194, 5199, 5205, 5206, 5207, 5202, 5208, 5215, 5216, 5218,
++
++     5222, 5224, 5225, 5227, 5228, 5229, 5230, 5231, 5232, 5236,
++     5237, 5233, 5240, 5244, 5247, 5248, 6986, 5250, 5251, 5252,
++     5256, 5257, 5260, 5261, 5270, 5277, 5278, 6986, 5280, 6986,
++     5282, 5267, 5284, 5272, 5274, 6986, 5286, 5287, 5288, 5292,
++     5290, 5293, 5294, 5297, 5298, 5300, 5301, 6986, 6986, 5304,
++     5307, 5308, 5311, 5315, 6986, 5319, 5323, 5309, 5324, 5325,
++     5326, 5329, 5331, 5332, 5335, 5334, 5338, 5337, 5340, 5341,
++     5346, 5348, 6986, 5356, 5358, 5365, 5352, 5347, 5360, 5363,
++     5366, 5367, 5368, 5369, 5373, 5381, 5376, 5383, 6986, 5372,
++     6986, 5384, 5385, 5386, 5389, 5392, 5393, 5394, 5397, 5398,
++
++     5400, 6986, 6986, 5401, 5405, 5403, 5410, 5407, 5411, 5415,
++     5416, 5417, 5420, 6986, 5425, 5426, 5434, 5428, 6986, 5431,
++     5435, 5436, 5438, 6986, 5439, 5443, 5444, 5449, 5454, 5442,
++     5458, 5459, 5460, 5447, 5462, 5445, 5467, 6986, 6986, 6986,
++     6986, 5470, 5468, 5473, 5475, 5476, 5478, 5477, 5483, 5484,
++     5480, 5481, 5482, 6986, 5495, 6986, 6986, 5498, 5499, 5496,
++     5500, 5506, 5502, 5507, 5509, 6986, 5508, 6986, 5513, 5515,
++     5511, 5525, 5528, 5529, 5512, 5533, 5530, 5535, 5536, 5538,
++     5545, 5541, 5542, 5544, 5547, 5549, 5551, 6986, 6986, 5553,
++     5558, 5519, 5561, 5562, 5563, 5564, 5571, 5569, 5570, 5572,
++
++     5574, 5576, 5577, 5585, 5586, 5582, 5583, 6986, 5590, 5588,
++     5591, 6986, 5592, 6986, 5596, 5600, 5602, 5599, 5603, 5606,
++     5609, 5610, 5612, 5608, 6986, 6986, 5614, 5625, 5620, 6986,
++     6986, 5622, 5623, 5627, 5629, 5624, 5630, 5633, 5635, 5637,
++     5634, 6986, 5639, 6986, 5638, 5640, 5645, 5647, 5656, 5648,
++     5663, 5665, 5652, 5667, 5669, 5664, 5662, 5666, 6986, 5674,
++     5675, 6986, 5682, 5677, 5681, 5678, 5679, 6986, 5689, 5684,
++     5696, 5698, 6986, 5700, 5701, 5686, 5703, 6986, 5707, 6986,
++     5693, 5704, 5708, 5716, 5711, 6986, 5714, 5717, 6986, 5722,
++     5725, 5727, 5728, 5719, 5729, 6986, 5736, 5730, 6986, 5733,
++
++     5738, 5739, 5744, 5741, 5746, 5747, 5749, 5750, 5757, 5755,
++     5758, 6986, 6986, 5765, 5761,  135, 5769, 5752, 5770, 5771,
++     5772, 5779, 5774, 5776, 5782, 6986, 6986, 5783, 6986, 5777,
++     5784, 6986, 5786, 5789, 5793, 5795, 5796, 5797, 5798, 5800,
++     5803, 5805, 5806, 5807, 5804, 5808, 5826, 5828, 5810, 5831,
++     5832, 5834, 5836, 5838, 5840, 5842, 5843, 5824, 5845, 5846,
++     5847, 5849, 5850, 5853, 5854, 5856, 6986, 5864, 5866, 5867,
++     5851, 6986, 5873, 5875, 5878, 5885, 6986, 5881, 6986, 5884,
++     5880, 5887, 5888, 5890, 6986, 5891, 5893, 5895, 5857, 5898,
++     5900, 5901, 5902, 5911, 5903, 5904, 5914, 6986, 6986, 6986,
++
++     5915, 5922, 5923, 6986, 5925, 5926, 5906, 5927, 6986, 5929,
++     5930, 5932, 6986, 6986, 6986, 5908, 5936, 5934, 6986, 5935,
++     5948, 6986, 5938, 6986, 5946, 6986, 5947, 5949, 5956, 5951,
++     6986, 5953, 5959, 5961, 5962, 6986, 5965, 5969, 5971, 5973,
++     5974, 5976, 5978, 6986, 5985, 5981, 5984, 5988, 5980, 5990,
++     5991, 5992, 5993, 6005, 5996, 6001, 6986, 6003, 6004, 6008,
++     6014, 6006, 6016, 6017, 6986, 6010, 6986, 6019, 6986, 6020,
++     6022, 6023, 6024, 6029, 6026, 6027, 6037, 6034, 6040, 6043,
++     6041, 6047, 6048, 6052, 6049, 6986, 6986, 6054, 6056, 6986,
++     6057, 6986, 6058, 6062, 6986, 6059, 6064, 6066, 6067, 6072,
++
++     6986, 6986, 6070, 6073, 6076, 6087, 6079, 6082, 6986, 6088,
++     6084, 6086, 6091, 6986, 6100, 6986, 6092, 6103, 6099, 6986,
++     6095, 6107, 6109, 6096, 6110, 6114, 6115, 6116, 6118, 6127,
++     6120, 6119, 6122, 6124, 6128, 6129, 6134, 6135, 6986, 6986,
++     6986, 6140, 6141, 6150, 6146, 6148, 6153, 6149, 6986, 6154,
++     6156, 6157, 6158, 6166, 6163, 6165, 6986, 6170, 6168, 6169,
++     6171, 6173, 6174, 6175, 6176, 6986, 6179, 6188, 6190, 6192,
++     6195, 6196, 6199, 6203, 6205, 6207, 6200, 6208, 6216, 6212,
++     6986, 6215, 6986, 6986, 6211, 6218, 6986, 6219, 6220, 6221,
++     6223, 6224, 6986, 6227, 6228, 6229, 6232, 6231, 6235, 6237,
++
++     6239, 6986, 6243, 6253, 6249, 6233, 6250, 6986, 6986, 6256,
++     6258, 6986, 6260, 6262, 6264, 6271, 6263, 6266, 6273, 6276,
++     6986, 6279, 6280, 6268, 6270, 6282, 6284, 6286, 6986, 6289,
++     6291, 6293, 6294, 6986, 6298, 6295, 6300, 6299, 6301, 6986,
++     6302, 6303, 6315, 6319, 6986, 6305, 6326, 6308, 6986, 6986,
++     6986, 6328, 6331, 6332, 6986, 6986, 6986, 6986, 6334, 6335,
++     6322, 6338, 6986, 6343, 6339, 6348, 6352, 6354, 6358, 6347,
++     6986, 6357, 6359, 6361, 6363, 6364, 6986, 6986, 6365, 6367,
++     6369, 6370, 6372, 6373, 6986, 6986, 6374, 6376, 6380, 6377,
++     6379, 6986, 6382, 6385, 6392, 6388, 6395, 6402, 6404, 6398,
++
++     6405, 6406, 6417, 6414, 6407, 6409, 6412, 6420, 6421, 6419,
++     6423, 6434, 6429, 6431, 6437, 6427, 6439, 6986, 6986, 6441,
++     6986, 6446, 6443, 6986, 6986, 6448, 6450, 6454, 6456, 6458,
++     6986, 6460, 6462, 6464, 6466, 6451, 6986, 6467, 6469, 6471,
++     6472, 6473, 6474, 6986, 6479, 6480, 6483, 6475, 6484, 6486,
++     6487, 6492, 6986, 6489, 6496, 6986, 6986, 6493, 6500, 6501,
++     6505, 6502, 6986, 6507, 6514, 6509, 6512, 6513, 6515, 6518,
++     6986, 6516, 6519, 6986, 6986, 6521, 6524, 6986, 6986, 6526,
++     6986, 6986, 6986, 6986, 6986, 6986, 6986, 6986, 6986, 6530,
++     6537, 6986, 6986, 6529, 6544, 6546, 6986, 6548, 6986, 6531,
++
++     6541, 6549, 6536, 6986, 6551, 6986, 6538, 6555, 6557, 5485,
++     6558, 6559, 6563, 6564, 6567, 6568, 6569, 6571, 6570, 6575,
++     6572, 6574, 6588, 6581, 6578, 6591, 6986, 6986, 6986, 6589,
++     6582, 6600, 6592, 6605, 6606, 6609, 6611, 6597, 6612, 6614,
++     6613, 6615, 6619, 6621, 6628, 6623, 6626, 6624, 6631, 6625,
++     6634, 6986, 6640, 6627, 6635, 6647, 6986, 6641, 6986, 6643,
++     6986, 6986, 6649, 6650, 6304, 6652, 6659, 6663, 6655, 6660,
++     6658, 6662, 6665, 6986, 6675, 6986, 6986, 6666, 6668, 6986,
++     6670, 6672, 6986, 6678, 6680, 6681, 6679, 6682, 6683, 6686,
++     6689, 6697, 6986, 6986, 6690, 6693, 6699, 6704, 6701, 6713,
++
++     6708, 6712, 6714, 6715, 6705, 6722, 6986, 6726, 6723, 6730,
++     6986, 6727, 6721, 6732, 6733, 6734, 6741, 6736, 6737, 6986,
++     6742, 6986, 6745, 6747, 6746, 6738, 6748, 6749, 6760, 6758,
++     6764, 6986, 6754, 6765, 6768, 6769, 6771, 6773, 6774, 6775,
++     6783, 6779, 6786, 6790, 6785, 6791, 6776, 6796, 6793, 6986,
++     6800, 6797, 6986, 6802, 6803, 6804, 6805, 6809, 6986, 6814,
++     6806, 6811, 6817, 6820, 6815, 6986, 6827, 6829, 6831, 6986,
++     6832, 6986, 6986, 6834, 6821, 6833, 6836, 6842, 6986, 6986,
++     6986, 6866, 6873, 6880, 6887, 6894, 6901, 6908,   88, 6915,
++     6922, 6929, 6936, 6943, 6950, 6957, 6964, 6971, 6978
++
      } ;
  
- static yyconst flex_int16_t yy_def[3581] =
 -static const flex_int16_t yy_def[3561] =
++static const flex_int16_t yy_def[3600] =
      {   0,
-      3562,    1, 3563, 3563, 3564, 3564, 3565, 3565, 3566, 3566,
-      3567, 3567, 3568, 3568, 3569, 3569, 3562, 3570, 3562, 3562,
-      3562, 3562, 3571, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3572, 3562, 3562, 3562,
-      3572, 3573, 3562, 3562, 3562, 3573, 3574, 3562, 3562, 3562,
-      3562, 3574, 3575, 3562, 3562, 3562, 3575, 3576, 3562, 3577,
-      3562, 3576, 3576, 3578, 3562, 3562, 3562, 3562, 3578, 3579,
-      3562, 3562, 3562, 3579, 3570, 3570, 3562, 3580, 3571, 3580,
-      3571, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3542,    1, 3543, 3543, 3544, 3544, 3545, 3545, 3546, 3546,
 -     3547, 3547, 3548, 3548, 3549, 3549, 3542, 3550, 3542, 3542,
 -     3542, 3542, 3551, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3552, 3542, 3542, 3542,
 -     3552, 3553, 3542, 3542, 3542, 3553, 3554, 3542, 3542, 3542,
 -     3542, 3554, 3555, 3542, 3542, 3542, 3555, 3556, 3542, 3557,
 -     3542, 3556, 3556, 3558, 3542, 3542, 3542, 3542, 3558, 3559,
 -     3542, 3542, 3542, 3559, 3550, 3550, 3542, 3560, 3551, 3560,
 -     3551, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3572,
-      3572, 3573, 3573, 3574, 3574, 3562, 3575, 3575, 3576, 3576,
-      3577, 3577, 3576, 3578, 3578, 3562, 3579, 3579, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3552,
 -     3552, 3553, 3553, 3554, 3554, 3542, 3555, 3555, 3556, 3556,
 -     3557, 3557, 3556, 3558, 3558, 3542, 3559, 3559, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3556, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3576, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3556, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3576, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3556, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3562, 3562, 3570, 3562, 3562, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3556,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3542,
 -     3542, 3550, 3542, 3542, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3556, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
--
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
--
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3576, 3576, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3556, 3556, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3576, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3556, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3576, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3556, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3556, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3570,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3576, 3570, 3562, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3562,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3556, 3550, 3542, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3542,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3562, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3556, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3576, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570,
 -     3550, 3556, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3542, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3542, 3550, 3542, 3550, 3542, 3550, 3550, 3542, 3542, 3550,
--
-      3570, 3570, 3570, 3570, 3562, 3562, 3570, 3562, 3570, 3570,
-      3570, 3562, 3570, 3570, 3562, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3556, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3576, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3562, 3562, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3562, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3562,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3542,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3542, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3556, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3542, 3550, 3550, 3550, 3542,
--
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3562, 3570, 3570, 3570, 3562, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3542, 3550, 3550, 3556, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3542, 3550, 3542, 3550, 3550, 3542,
--
-      3570, 3570, 3576, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3562, 3570, 3562, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3562, 3562, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3562, 3562,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3542, 3542, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3542, 3542,
 -     3542, 3550, 3550, 3550, 3542, 3550, 3550, 3542, 3550, 3542,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
--
-      3562, 3570, 3570, 3570, 3562, 3570, 3570, 3562, 3570, 3562,
-      3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3562, 3570, 3570, 3562, 3570, 3562, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3542, 3550, 3550, 3542, 3550, 3542, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3542, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3562, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3562, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3562, 3562, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3562, 3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3542, 3542, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3542, 3542, 3550,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3542, 3542, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570,
-      3570, 3570, 3562, 3562, 3562, 3570, 3570, 3570, 3562, 3562,
-      3562, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3562, 3562, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550,
 -     3550, 3550, 3542, 3542, 3542, 3550, 3550, 3550, 3542, 3542,
 -     3542, 3542, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3542, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3542, 3550, 3542, 3550, 3550, 3542, 3542, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542, 3550,
--
-      3562, 3562, 3570, 3562, 3570, 3570, 3562, 3562, 3570, 3570,
-      3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3562, 3562, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3562, 3562, 3570, 3570, 3562,
-      3562, 3570, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3570, 3570, 3562, 3570, 3570, 3570, 3562, 3570, 3562,
-      3570, 3570, 3570, 3570, 3562, 3570, 3562, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3542, 3542, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3542, 3542, 3550, 3550, 3542,
 -     3542, 3550, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3550, 3550, 3542, 3542, 3550, 3550, 3550, 3542, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3542, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3562, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3562, 3570, 3562,
-      3570, 3562, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3562, 3570, 3562, 3562, 3570, 3570,
-      3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3562, 3562, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570,
-      3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3542, 3550, 3542,
 -     3550, 3542, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3542, 3550, 3542, 3542, 3550, 3550,
 -     3542, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3542, 3542, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550,
 -     3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
--
-      3562, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570, 3570,
-      3562, 3570, 3570, 3562, 3570, 3570, 3570, 3570, 3570, 3562,
-      3570, 3570, 3570, 3570, 3570, 3570, 3562, 3570, 3570, 3570,
-      3562, 3570, 3562, 3562, 3570, 3570, 3570, 3570, 3570, 3562,
-      3562,    0, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562
 -     3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550,
 -     3542, 3550, 3550, 3542, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3550, 3550, 3550, 3550, 3550, 3550, 3542, 3550, 3550, 3550,
 -     3542, 3550, 3542, 3542, 3550, 3550, 3550, 3550, 3550, 3542,
 -     3542,    0, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542
++     3581,    1, 3582, 3582, 3583, 3583, 3584, 3584, 3585, 3585,
++     3586, 3586, 3587, 3587, 3588, 3588, 3581, 3589, 3581, 3581,
++     3581, 3581, 3590, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3591, 3581, 3581, 3581,
++     3591, 3592, 3581, 3581, 3581, 3592, 3593, 3581, 3581, 3581,
++     3581, 3593, 3594, 3581, 3581, 3581, 3594, 3595, 3581, 3596,
++     3581, 3595, 3595, 3597, 3581, 3581, 3581, 3581, 3597, 3598,
++     3581, 3581, 3581, 3598, 3589, 3589, 3581, 3599, 3590, 3599,
++     3590, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3591,
++     3591, 3592, 3592, 3593, 3593, 3581, 3594, 3594, 3595, 3595,
++     3596, 3596, 3595, 3597, 3597, 3581, 3598, 3598, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3581, 3581, 3589, 3581, 3581,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3595, 3595, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3595, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++
++     3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++
++     3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3595, 3589,
++     3581, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3581, 3589, 3581, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3595, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3595, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
++     3589, 3589, 3589, 3589, 3581, 3581, 3589, 3581, 3589, 3589,
++     3589, 3581, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3595, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3581,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3581, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3595, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3581,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3581, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3581, 3589, 3589, 3595, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3581, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3581,
++
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3581, 3581, 3581, 3589, 3589, 3589, 3581, 3589,
++     3589, 3581, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3581,
++     3589, 3581, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589,
++
++     3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3581, 3581, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3581, 3581,
++     3581, 3589, 3589, 3589, 3581, 3581, 3581, 3581, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589,
++     3589, 3589, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3589,
++     3581, 3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3581, 3581, 3589, 3589, 3589,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3581, 3589, 3589, 3581, 3581, 3589, 3589, 3581, 3581, 3589,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3589,
++     3589, 3581, 3581, 3589, 3589, 3589, 3581, 3589, 3581, 3589,
++
++     3589, 3589, 3589, 3581, 3589, 3581, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3581, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3581, 3589, 3581, 3589,
++     3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3581, 3589, 3581, 3581, 3589, 3589, 3581,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3589,
++
++     3589, 3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589,
++     3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3581, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589,
++     3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3589, 3581,
++     3589, 3589, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3589,
++     3589, 3589, 3589, 3589, 3589, 3581, 3589, 3589, 3589, 3581,
++     3589, 3581, 3581, 3589, 3589, 3589, 3589, 3589, 3581, 3581,
++        0, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581
++
      } ;
  
- static yyconst flex_int16_t yy_nxt[6989] =
 -static const flex_int16_t yy_nxt[6952] =
++static const flex_int16_t yy_nxt[7027] =
      {   0,
         18,   19,   20,   21,   22,   23,   22,   18,   18,   18,
         18,   18,   22,   24,   25,   26,   27,   28,   29,   30,
        153,  181,  196,  189,  154,  155,  164,   86,  164,  164,
         90,  164,   90,   90,  169,   90,  169,  169,  174,  169,
        174,  174,  172,  174,   85,   86,   85,   85,   90,   85,
 -       90,   90,  289,   90,   86,   85,   86,  182,   86,   90,
 +       90,   90,  290,   90,   86,   85,   86,  182,   86,   90,
         91,  185,  190,  188,   86,   86,  197,   86,  191,   86,
 -      192,   86,   86,  207,  186,   86,   86,   86,   86,   86,
 -
 -      178,  199,  193,  194,   86,  198,   86,  195,   86,  200,
 -       86,  201,  245,  209,  205,  202,  203,  206,  208,   86,
 -      210,  215,  211,  204,   86,  212,   86,   86,   86,  217,
 -       86,  218,   86,  220,   86,   86,  226,  221,  213,  214,
 -       86,  227,  225,  223,   86,   86,  216,  229,  224,   86,
 -       86,  219,   86,  222,  230,  232,  233,  228,   86,   86,
 -       86,   86,  231,  235,   86,  237,   86,  240,  234,  238,
 -       86,   86,   86,   86,  242,   86,  236,  371,   86,   86,
 -       86,  239,   86,  243,  241,  248,  251,  252,   86,  244,
 -      253,  247,   86,   86,   86,  254,  249,  246,  260,  257,
 -
 -      250,  261,   86,   86,  259,  263,   86,   86,   86,   86,
 -      258,  267,  255,   86,  264,  256,   86,   86,  262,  266,
 -      268,  270,  160,  160,   86,  162,  265,  269,  162,  273,
 -      164,  271,  164,  164,  337,  164,  167,  167,  169,   86,
 -      169,  169,   90,  169,   90,   90,  170,   90,  174,  272,
 -      174,  174,  274,  174,  172,  177,  177,  276,   86,   86,
 -       86,   86,   86,   86,   86,   86,   86,  275,  278,   86,
 -      281,  284,  280,   86,  277,  279,   86,  287,  286,  283,
 -      176,  290,  282,   86,  288,  285,   86,  291,  292,   86,
 -      293,  317,   86,  296,   86,  294,   86,  301,  297,   86,
 -
 -       86,   86,   86,  298,   86,   86,  304,  305,  308,  299,
 -      300,  302,  295,   86,   86,   86,  306,  310,   86,  303,
 -      311,   86,   86,   86,   86,  307,   86,  318,   86,   86,
 -       86,  319,   86,  325,  312,  313,  315,  309,  314,  316,
 -       86,  320,   86,  329,  321,  328,  322,  330,  327,  326,
 -      332,   86,   86,   86,  741,  334,   86,  338,  323,  331,
 -      324,   86,  335,   86,   86,  340,   86,  342,   86,  339,
 -      341,   86,  333,   86,   86,   86,  343,  336,  345,   86,
 -       86,  344,   86,   86,   86,  347,   86,   86,  346,  349,
 -       86,   86,  354,   86,  352,  350,   86,   86,   86,   86,
 -
 -      348,  365,  355,  353,  351,  359,  356,   86,   86,   86,
 -      360,   86,  357,  361,   86,   86,  362,  358,  363,  368,
 -       86,  364,   86,   86,   86,   86,  374,  366,  367,  370,
 -      373,  375,   86,   86,  377,  369,   86,   86,  382,  372,
 -       86,  376,   86,  380,   86,  378,  381,   86,  384,   86,
 -      379,  385,   86,   86,   86,  170,   86,   86,  388,   86,
 -       86,   86,  383,  395,  391,  393,  396,  389,  386,   86,
 -       86,   86,   86,   86,  399,  387,  390,   86,  397,  392,
 -       86,   86,  398,   86,  394,  400,   86,   86,   86,  402,
 -      406,  407,   86,  409,  404,  401,   86,  403,   86,  410,
 -
 -      408,   86,   86,   86,  412,   86,  413,   86,   86,   86,
 -       86,  416,  405,   86,  417,  420,   86,   86,  175,  411,
 -      422,   86,  418,  414,  415,  419,   86,   86,  424,  423,
 -       86,  421,   86,  429,   86,  428,  425,   86,  427,   86,
 -      430,   86,   86,   86,   86,   86,   86,   86,  436,   86,
 -       86,   86,  437,  426,  439,   86,   86,  435,   86,  442,
 -      433,  432,  447,  438,  434,  431,   86,   86,   86,  444,
 -      440,   86,   86,  441,  443,  448,   86,   86,   86,  446,
 -       86,  463,   86,  449,   86,  456,  445,   86,   86,  458,
 -      466,  467,  170,  464,  465,  457,  450,   86,   86,  451,
 -
 -      459,  470,  460,  468,  452,  453,  454,  455,  469,   86,
 -      471,   86,   86,   86,   86,  461,   86,   86,  462,  480,
 -       86,   86,   86,  478,   86,  482,   86,  481,  474,  472,
 -      479,  475,  473,   86,  476,  477,   86,  483,  485,   86,
 -       86,  484,   86,   86,  490,   86,  491,   86,  492,   86,
 -       86,  486,   86,  509,  496,  497,   86,  493,  489,  487,
 -       86,   86,  488,   86,  494,  498,   86,  495,  499,  501,
 -      503,  502,   86,   86,  500,  504,   86,  510,  511,   86,
 -       86,  512,  508,   86,   86,   86,   86,  526,  505,   86,
 -       86,  506,  581,  507,   86,  513,   86,  514,   86,  530,
 -
 -      525,  528,   86,  515,  529,  527,   86,  516,   86,  531,
 -      533,  543,  517,  542,  546,  518,   86,  519,  544,  520,
 -      170,  547,   86,  545,   86,  532,   86,   86,  553,   86,
 -       86,  551,  521,   86,   86,  522,   86,  523,  168,  524,
 -       86,  548,  534,  535,  550,  549,  552,  556,   86,   86,
 -      555,  557,  536,  537,  538,  539,  540,   86,   86,  541,
 -       86,  558,  554,  559,   86,   86,  566,   86,  561,  562,
 -      564,   86,   86,   86,  567,  563,   86,   86,  571,  565,
 -       86,  560,   86,  569,   86,   86,   86,  568,   86,   86,
 -      570,  574,  575,  576,   86,   86,  573,   86,  578,  582,
 -
 -      583,   86,  572,  580,  579,  577,   86,   86,   86,  588,
 -      585,  586,   86,  589,   86,   86,  590,  584,  604,   86,
 -       86,  166,   86,  607,   86,   86,  587,   86,  591,  593,
 -      594,  595,  592,   86,  605,  609,  608,   86,  606,   86,
 -      615,   86,  596,  611,  597,   86,   86,   86,   86,  613,
 -      598,  612,   86,  614,   86,  616,  618,   86,  599,  600,
 -      610,   86,  601,  602,   86,  617,  603,   86,  621,  619,
 -      622,   86,   86,   86,  620,  623,   86,   86,   86,   86,
 -      628,   86,  626,  627,   86,   86,   86,  624,  629,   86,
 -       86,   86,  634,  630,  625,  635,   86,   86,  633,   86,
 -
 -      636,   86,  638,  632,  631,   86,   86,  641,   86,  637,
 -      639,   86,  640,   86,  643,   86,   86,   86,   86,  645,
 -       86,  642,   86,  649,   86,  647,   86,   86,   86,  644,
 -       86,  657,  677,   86,  651,  659,  646,   86,  648,  658,
 -      650,   86,  652,   86,  653,  654,  655,  656,  660,   86,
 -       86,   86,   86,   86,  664,   86,  668,   86,  662,  671,
 -       86,  663,   86,  661,  667,   86,  665,   86,  666,   86,
 -      670,   86,   86,   86,  673,   86,  674,  669,  678,   86,
 -       86,   86,   86,  672,  680,   86,   86,   86,   86,  711,
 -      679,  675,   86,  676,   86,  683,  681,   86,  695,   86,
 -
 -      682,   86,  684,  694,  697,  692,   86,  685,  693,  686,
 -      699,  696,  165,  698,   86,  687,   86,  688,   86,  700,
 -      689,  690,  707,  701,   86,   86,   86,  691,   86,  703,
 -       86,  702,   86,  708,  704,  706,   86,  705,   86,  714,
 -      709,   86,   86,  716,   86,   86,  710,   86,   86,  720,
 -       86,   86,   86,   86,  163,  712,  713,  718,  723,  717,
 -       86,  724,  719,   86,   86,   86,  715,   86,  170,  721,
 -      727,  729,  730,  722,  728,  731,   86,   86,  726,  725,
 -       86,   86,   86,   86,   86,   86,   86,   86,  732,  738,
 -      161,   86,  733,  740,  742,  744,  735,   86,  736,  734,
 -
 -      739,   86,  737,  743,   86,  746,   86,   86,   86,  745,
 -      748,   86,   86,   86,   86,   86,  752,   86,  747,  751,
 -      757,   86,  749,   86,  753,  758,   86,  750,  760,   86,
 -      808,  754,   86,  756,  755,  762,  759,  761,   86,  763,
 -       86,   86,  764,   86,  765,   86,  766,   86,   86,   86,
 -       86,  767,   86,  768,  771,   86,  773,  769,  770,   86,
 -       86,   86,  774,   86,   86,  775,  772,  779,  778,   86,
 -       86,   86,   86,   86,  781,   86,  783,   86,   86,  785,
 -       86,   86,  777,   86,  776,   86,  788,   86,  792,  780,
 -      782,  784,   86,   86,   86,  786,  787,  793,   86,   86,
 -
 -       86,  790,  789,   86,   86,  800,  795,  791,   86,  802,
 -       86,  796,  794,  803,  797,  798,   86,  799,  801,   86,
 -      807,  804,   86,   86,  805,  809,   86,  810,   86,   86,
 -       86,   86,  813,  812,  806,  814,   86,   86,   86,   86,
 -       86,  821,   86,   86,  817,  819,   86,  815,   86,  811,
 -       86,  818,  822,   86,  816,   86,   86,  828,   86,  820,
 -       86,  834,  826,   86,  829,  823,  825,  827,   86,  824,
 -       86,  830,  831,  832,   86,   86,   86,  833,  835,   86,
 -       86,  840,   86,   86,  836,  838,  842,   86,  841,   86,
 -      837,   86,   86,   86,  843,   86,  846,   86,  839,   86,
 -
 -      845,  847,   86,  853,  850,   86,  848,  844,  854,   86,
 -      849,   86,   86,   86,  855,   86,  856,   86,  851,  852,
 -       86,  858,  859,   86,  860,  863,  861,   86,   86,  867,
 -       86,   86,  857,  865,  868,   86,   86,  869,  870,  864,
 -       86,  862,  871,  866,   86,   86,  873,   86,   86,  872,
 -       86,   86,  879,   86,   86,   86,   86,  880,   86,   86,
 -       86,   86,   86,  874,  881,  875,  876,   86,   86,  877,
 -      886,  878,  884,   86,  882,  883,  889,  888,   86,  887,
 -      885,   86,   86,   86,   86,   86,   86,  891,  890,  896,
 -      892,   86,   86,   86,   86,   86,   86,   86,  905,  906,
 -
 -      893,  903,  898,  895,  894,   86,   86,   86,   86,  897,
 -      899,  900,  901,  902,   86,   86,   86,   86,   86,  904,
 -      907,  911,  910,   86,   86,  909,  908,   86,   86,   86,
 -      915,  912,  916,   86,  919,  917,  913,  914,  920,   86,
 -       86,   86,  918,   86,   86,  927,   86,  922,   86,  170,
 -      923,   86,  925,   86,  928,   86,  929,  921,  924,  930,
 -      926,   86,   86,   86,   86,   86,   86,  935,  936,   86,
 -       86,  932,   86,  937,   86,  931,  939,   86,  933,  934,
 -       86,  938,  943,  941,  944,  940,   86,   86,   86,  942,
 -      945,  947,   86,   86,  949,   86,   86,   86,   86,  946,
 -
 -       86,  950,  951,   86,   86,   86,   86,   86,   86,  178,
 -      948,  965,   86,  966,  952,  964,  969,  967,  954,  962,
 -      963,   86,  953,   86,   86,  955,   86,  970,  956,   86,
 -      971,   86,  957,   86,   86,  958,   86,  968,  974,   86,
 -      976,   86,  959,  960,  972,  961,   86,   86,   86,  973,
 -     1018,   86,  985,   86,  975,   86,  977,  978,  992,  979,
 -      986,  984,  980,   86,   86,   86,  987,  981,  988,  990,
 -       86,   86,   86,  982,  983,  989,  994,   86,  998,   86,
 -      997,   86,  993,  999,   86,  991, 1000,  995,   86, 1001,
 -       86, 1004,   86,   86,  176,  996, 1002, 1003, 1005,   86,
 -
 -       86,   86, 1006, 1008,   86, 1007,   86,   86, 1009,   86,
 -       86,   86,   86, 1010, 1012,   86, 1016,   86,   86, 1019,
 -     1015,   86,   86,   86,   86, 1023, 1011, 1034,   86, 1013,
 -     1014,   86, 1017, 1024, 1021, 1025,   86, 1026, 1029, 1020,
 -       86,   86, 1027,   86,   86, 1022, 1028, 1031,  175,   86,
 -     1033,   86,   86,   86, 1032,   86,   86, 1035,   86, 1030,
 -     1036, 1037,   86, 1038,   86,   86, 1039,   86,   86,   86,
 -     1041, 1042,   86, 1040,   86, 1043, 1047,   86,   86, 1051,
 -       86, 1050,   86,   86,   86,   86, 1049, 1044, 1045, 1048,
 -       86,   86,   86, 1046,   86,   86,   86, 1056, 1058, 1053,
 -
 -     1054, 1059, 1052, 1057,   86,   86,   86,   86, 1055,   86,
 -       86, 1064,   86, 1067,   86, 1062, 1065,   86, 1060,   86,
 -     1063,   86,   86, 1066,   86, 1068,   86, 1073, 1070,   86,
 -     1061, 1075,   86, 1069,   86, 1074, 1076,   86,   86, 1078,
 -     1072,   86,   86,   86,   86, 1071,   86, 1077,   86,  170,
 -       86,   86, 1086, 1079, 1089, 1084,   86,   86, 1080,   86,
 -       86, 1081,   86, 1083, 1082, 1090,   86, 1085, 1087, 1091,
 -     1088,   86,   86,   86,   86, 1092,   86, 1095, 1098,   86,
 -     1094, 1093, 1096, 1099,   86,   86, 1097,   86,   86,   86,
 -       86,   86, 1109,   86, 1102, 1100, 1104, 1110,   86, 1101,
 -
 -       86,   86, 1112,   86,   86, 1115,   86, 1103,   86, 1105,
 -     1107,   86, 1106, 1108, 1111, 1113, 1116,   86,   86,   86,
 -      168, 1117,   86,   86, 1114, 1118,   86, 1123, 1121, 1124,
 -     1119, 1125,   86,   86,   86,   86, 1126,   86, 1120, 1129,
 -     1122,   86, 1131,   86,   86,   86,   86, 1128, 1137,   86,
 -     1127, 1133, 1134, 1138,  170,   86,   86,   86, 1141,   86,
 -     1140, 1130, 1132,   86,   86, 1135,   86, 1136,   86, 1144,
 -     1139,   86,   86,   86,   86,   86, 1157,   86,   86,   86,
 -       86, 1142, 1158, 1143, 1148, 1145, 1147, 1160,   86,   86,
 -      166,   86, 1146, 1149, 1159, 1150,   86,   86, 1191, 1151,
 -
 -       86, 1152, 1161, 1164, 1162, 1153, 1163, 1154,   86, 1167,
 -       86, 1166, 1155, 1165, 1168,   86,   86, 1156,   86, 1169,
 -       86,   86, 1171,   86,   86,   86, 1174,   86, 1177,   86,
 -     1170,   86,   86,   86, 1172, 1173, 1175, 1176, 1178, 1182,
 -     1181,   86, 1187, 1180, 1184, 1185, 1183,   86, 1179, 1188,
 -       86,   86, 1186,   86, 1189,   86,   86,   86,   86,   86,
 -       86,   86, 1203, 1200,   86,   86,   86,   86,   86, 1199,
 -     1204,   86, 1202, 1201, 1205, 1190,   86, 1192,   86, 1211,
 -     1206, 1207, 1193,   86, 1194,   86,   86, 1208,   86, 1214,
 -     1195, 1212,   86,   86,   86, 1196, 1197, 1209,   86, 1210,
 -
 -     1213,   86, 1198, 1218,   86, 1219,   86, 1221, 1215, 1222,
 -       86, 1216, 1217,   86,   86,   86, 1226,   86, 1220, 1224,
 -       86,   86,   86,   86,   86, 1227,   86, 1232, 1225, 1223,
 -     1229,   86, 1230,   86,   86, 1233, 1228,   86,   86, 1235,
 -     1231,   86,   86,   86,   86,   86,   86,   86,   86, 1242,
 -     1234,   86, 1237, 1240, 1239, 1241,   86, 1236, 1244,   86,
 -       86, 1238, 1243, 1245,   86, 1246,   86,   86, 1247,   86,
 -       86, 1248,   86, 1250, 1253, 1249,   86, 1254, 1251, 1256,
 -     1258, 1255, 1252,   86, 1257, 1259,   86,   86,   86,   86,
 -       86,   86, 1264,   86,   86,   86, 1260, 1265,   86,   86,
 -
 -       86, 1266, 1262, 1261, 1267,   86, 1263, 1269, 1268,   86,
 -       86, 1271, 1275,   86, 1270, 1277,   86, 1272,   86,   86,
 -       86,   86, 1273,   86, 1279, 1274,   86, 1281,  165,   86,
 -       86, 1278, 1282, 1276, 1280, 1284,   86,   86,   86,   86,
 -       86, 1285,   86,   86, 1283, 1288,   86, 1287, 1289,   86,
 -     1294, 1290, 1291, 1286,   86, 1293,   86,   86, 1292, 1295,
 -       86,   86,   86, 1296, 1298,   86, 1299,   86,   86,   86,
 -       86, 1305, 1303, 1306, 1339, 1297, 1307,   86,   86,   86,
 -     1300, 1310,   86, 1304,   86,   86, 1301,   86, 1302, 1308,
 -     1309,   86, 1312,   86,   86,   86, 1311, 1316,   86, 1313,
 -
 -       86, 1318,   86,   86,   86, 1317,   86,   86,   86,   86,
 -       86, 1314, 1323, 1319,   86, 1315, 1320, 1324,   86,   86,
 -       86, 1325,   86, 1326, 1321, 1330,   86, 1322, 1331,   86,
 -       86,   86, 1328,   86,   86, 1333,   86, 1327, 1334,   86,
 -       86, 1329,   86,   86, 1332, 1335,   86, 1336, 1337,   86,
 -       86,   86, 1341, 1345,   86,  170,   86,   86, 1338, 1346,
 -     1340, 1347, 1348,   86,   86, 1342,   86,   86,   86, 1344,
 -     1357,   86, 1353,  163, 1343, 1349,   86, 1350, 1352, 1351,
 -     1354, 1355,   86, 1358,   86,   86,   86,   86, 1356,   86,
 -     1360,   86, 1362, 1361,   86,   86,   86,   86,   86,   86,
 -
 -     1359, 1365,   86, 1371,   86, 1367, 1368,   86, 1363, 1364,
 -       86,   86, 1366, 1369,   86,   86,   86,   86,  161,   86,
 -     1375, 1370, 1377, 1381, 1372, 1373, 1374,   86, 1382,   86,
 -     1386, 1378,   86, 1379, 1383, 1376, 1380, 1384,   86, 1385,
 -       86,   86,   86, 1387,   86,   86,   86,   86,   86,   86,
 -     1391, 1390,   86, 1394,   86,   86, 1398,   86,   86, 1393,
 -     1388,   86, 1389, 1395,   86, 1392, 1396,   86,   86, 1399,
 -     1404, 1397, 1400, 1402, 1401,   86,   86,   86,   86, 1403,
 -       86,   86,   86,   86, 1408,   86,   86,   86,   86, 1411,
 -       86, 1405, 1406, 1409, 1416, 1410,   86, 1407, 1412,   86,
 -
 -       86, 1418, 1413,   86,   86, 1415, 1414,   86,   86, 1421,
 -     1419, 1417,   86,   86,   86, 1428,   86,   86, 1422, 1420,
 -     1424,   86, 1430, 1423,   86,   86,   86,   86,   86, 1427,
 -       86, 1425, 1431,   86, 1433, 1436, 1429,   86, 1426, 1432,
 -       86, 1438,   86, 1435, 1434, 1437, 1439,   86,   86, 1443,
 -       86,   86,   86, 1453, 1441, 1442, 1440,   86, 1444,   86,
 -     1452, 1456, 1445, 1451,   86, 1446, 1447,   86, 1454, 1455,
 -     1448, 1457,   86,   86,   86,   86, 1449,   86, 1458, 1459,
 -     1450,   86, 1460,   86, 1462,   86,   86,   86, 1463,   86,
 -     1464, 1467,   86, 1461,   86, 1465, 1468,   86,   86, 1470,
 -
 -       86, 1473, 1474,   86, 1466, 1475, 1471,   86,   86, 1469,
 -       86,   86, 1478,   86, 1476,   86, 1472, 1479, 1483, 1480,
 -       86, 1481,   86, 1482, 1477,   86, 1485, 1486, 1487, 1484,
 -       86, 1488,   86,   86,   86, 1493, 1489, 1490,   86,   86,
 -     1494,   86,   86, 1492,   86,   86,   86, 1495,   86, 1497,
 -       86, 1491, 1503,   86, 1499,   86, 1498,   86,   86,   86,
 -     1504, 1496,   86, 1506, 1502, 1500,   86, 1501,   86, 1505,
 -       86, 1508,   86,   86, 1515,   86, 1507,   86, 1513, 1510,
 -     1511,   86, 1509, 1517,   86,   86, 1514, 1518,   86,   86,
 -     1512, 1519, 1516,   86, 1520,   86, 1523,   86,   86, 1525,
 -
 -       86,   86, 1526,   86, 1522,   86,   86,   86, 1527, 1531,
 -       86,   86, 1521,   86,   86,   86, 1536, 1534, 1524,   86,
 -       86,   86,   86, 1539, 1537,   86, 1528, 1529, 1530, 1538,
 -     1533, 1532,   86,   86,   86, 1535, 1541,   86,   86, 1543,
 -       86,   86, 1550, 1540,   86, 1545, 1546, 1542,   86, 1547,
 -       86, 1544,   86, 1548,   86,   86,   86, 1549,   86, 1551,
 -       86, 1553, 1556, 1554, 1557, 1558, 1552,   86,   86, 1560,
 -       86, 1555, 1559,   86,   86,   86,   86, 1564,   86,   86,
 -       86,   86, 1561,   86,   86, 1566,   86, 1563,  170, 1572,
 -     1573, 1568,   86, 1562, 1575,   86,   86,   86, 1574, 1565,
 -
 -       86, 1567,   86, 1569, 1570,   86,   86,   86,   86, 1571,
 -       86, 1576,   86, 1583,   86,   86,   86, 1577, 1580,   86,
 -       86, 1581, 1578,   86, 1587, 1579, 1582, 1588,   86,   86,
 -     1584, 1592,   86, 1586, 1590, 1591, 1593,   86,   86, 1585,
 -     1596, 1594,   86, 1589,   86,   86,   86, 1595,   86, 1606,
 -       86, 1601, 1604,   86, 1602,   86, 1597, 1603,   86, 1598,
 -     1599,   86, 1607, 1600, 1609,   86,   86, 1605,   86, 1610,
 -       86,   86, 1608,   86,   86,   86, 1614,   86, 1615,   86,
 -       86,   86, 1618,   86, 1611,   86, 1613,   86, 1623, 1624,
 -       86,   86, 1612, 1616, 1617, 1620, 1627,   86, 1621, 1619,
 -
 -       86, 1622,   86,   86,   86,   86,   86,   86, 1625, 1628,
 -     1626,   86,   86,   86,   86,   86, 1629, 1635, 1631, 1637,
 -     1632, 1633, 1630,   86, 1640,   86, 1634,   86, 1641, 1638,
 -     1636,   86,   86, 1646, 1639,   86, 1645, 1647,   86,   86,
 -     1642, 1643,   86,   86,   86, 1649, 1650,   86, 1651,   86,
 -       86, 1644, 1648,   86, 1655, 1656, 1657,   86, 1654, 3542,
 -       86,   86,   86,   86, 1658, 1652,   86, 1659, 1660,   86,
 -       86, 1653,   86,   86, 1661, 1663,   86,   86,   86,   86,
 -       86, 1662,   86, 1668,   86, 1664, 1667,   86, 1670, 1671,
 -     1665,   86, 1666,   86, 1674,   86, 1679, 1676, 1669, 1675,
 -
 -       86, 1672, 1677,   86,   86,   86,   86,   86,   86,   86,
 -     1673, 1687, 1683, 1678,   86, 1682,   86,   86,   86,   86,
 -     1691, 1688,   86, 1680, 1681,   86,   86, 1684, 1694, 1685,
 -       86, 1693, 1686,   86,   86,   86,   86,   86, 1689,   86,
 -       86, 1692,   86,   86, 1703, 1690,   86,   86,   86, 1695,
 -     1704,   86, 1696, 1700, 1697, 1698, 1699, 1702, 1708,   86,
 -       86, 1701,   86, 1707, 1711, 1705,   86, 1706, 1709,   86,
 -       86, 1710,   86,   86,   86, 1712, 1715,   86,   86, 1713,
 -     1716,   86, 1719,   86,   86, 1714, 1723,   86, 1725, 1724,
 -       86, 1718,   86, 1717,   86,   86, 1720, 1728, 1721, 1722,
 -
 -       86,   86,   86,   86, 1730, 1726, 1729,   86, 1727,   86,
 -       86, 1731, 1732, 1736, 1737,   86,   86,   86, 1734,   86,
 -     1733,   86,   86, 1741,   86, 1742, 1740, 1744,   86,   86,
 -     1735,   86, 1745,   86, 1738, 1746,   86,   86, 1739,   86,
 -       86,   86,   86, 1750, 1743,   86,   86,   86, 1755, 1747,
 -       86, 1753,   86, 1748,   86, 1749,   86,   86,   86,   86,
 -     1761, 1759, 1751,   86,   86, 1752, 1754, 1756,   86,   86,
 -       86, 1757, 1760, 1758,   86, 1763,   86, 1762, 1764,   86,
 -     1767, 1770,   86, 1768, 1772,   86,   86,   86,   86, 1765,
 -     1766, 1773, 1769,   86, 1775,   86,   86, 1771,   86,   86,
 -
 -       86,   86, 1779, 1782,   86, 1781, 1774, 1778,   86,   86,
 -     1776, 1783,   86,  170, 1777,   86,   86, 1785, 1780, 1787,
 -       86,   86, 1784,   86,   86, 1793, 1794,   86,   86, 1786,
 -     1788, 1797,   86,   86, 1789, 1790,   86, 1791,   86,   86,
 -       86, 1799, 1798,   86,   86, 1792, 1801, 1795, 1796,   86,
 -     1803, 1805,   86,   86, 1802, 1865,   86,   86, 1800, 1804,
 -     1807,   86, 1808,   86, 1811,   86, 1806,   86, 1812, 1809,
 -     1810,   86, 1813,   86,   86,   86,   86,   86, 1818, 1817,
 -       86,   86,   86,   86,   86, 1825, 1822, 1814,   86, 1823,
 -     1816,   86, 1815, 1820,   86,   86, 1962,   86, 1819, 1826,
 -
 -     1827, 1824, 1821,   86, 1829, 1833,   86,   86, 1830, 1831,
 -     1832, 1834, 1835,   86,   86,   86, 1828,   86,   86, 1836,
 -       86, 1837,   86, 1838, 1839,   86,   86,   86, 1841, 1846,
 -       86, 1840, 1843,   86, 1847,   86, 1845,   86, 1848, 1850,
 -       86,   86, 1849, 1842,   86,   86,   86, 1844, 1853,   86,
 -       86, 1852,   86,   86,   86, 1854,   86,   86,   86,   86,
 -       86,   86,   86,   86, 1851, 1864,   86,   86,   86, 3542,
 -     1855, 1859, 1860, 1856, 1858, 1857, 1861, 1862, 1868,   86,
 -     1869,   86, 1866, 1871,   86, 1863, 1867, 1872,   86,   86,
 -       86,   86, 1877,   86, 1870,   86,   86,   86,   86, 1881,
 -
 -     1873, 1879,   86,   86, 1875,   86,   86,   86, 1874, 1880,
 -       86,   86, 1876,   86,   86, 1878, 1886, 1882, 1888, 1883,
 -       86,   86,   86, 1889, 1885, 1887, 1890, 1884,   86, 1891,
 -       86, 1895, 1896,   86, 1898, 1892, 1897,   86,   86,   86,
 -     1893, 1900, 1901,   86,   86,   86, 1894,   86, 1899,   86,
 -     1904,   86, 1902,   86, 1905,   86,   86, 3542, 1906,   86,
 -       86, 1914,   86, 1903, 1909, 1908, 1907,   86, 1911, 1913,
 -       86, 1912, 1915,   86,   86, 1910,   86, 1916,   86,   86,
 -     1922,   86, 1917,   86,   86, 1923,   86, 1918, 1924,   86,
 -       86, 1928, 1920, 1925, 1919, 1921,   86,   86,   86,   86,
 -
 -     1932,   86,   86, 1931,   86,   86, 1930, 1927,   86, 1926,
 -     1934,   86, 1929, 1935, 1933,   86, 1936,   86,   86,   86,
 -     1937, 1940, 1942, 1939, 1945, 1938, 1941,   86, 1947,   86,
 -     1943, 1950, 1946,   86,   86, 1949,   86,   86, 1951, 1944,
 -       86,   86, 1953,   86,   86, 1957,   86, 1948,   86, 1954,
 -       86,   86,   86,   86, 1952,   86, 1959, 1961, 1956, 1958,
 -       86, 1955, 1960,   86,   86,   86,   86,   86, 1966, 1963,
 -     1967, 1964,   86, 1968, 1965,   86, 1970,   86, 1976, 1969,
 -     1974,   86, 1977,   86,   86, 1971, 1979,   86,   86, 1972,
 -       86, 1973,   86,   86,   86, 1985, 1978, 1983,   86,   86,
 -
 -       86,   86, 1975,   86,   86, 1984, 1989,   86,   86,   86,
 -     1980, 1981, 1991, 1982, 1992,   86, 1987,   86,   86,   86,
 -       86, 1986, 1988, 1990, 1994, 1995, 1996,   86,   86,   86,
 -      170,   86, 2000, 2003,   86, 1993,   86, 1999, 1998,   86,
 -       86, 1997, 2001, 2007,   86,   86, 2002,   86,   86,   86,
 -       86, 2005, 2009,   86,   86, 2004,   86, 2014,   86, 2006,
 -     2010, 2008, 2011,   86, 2017,   86, 2015, 2026, 2012, 2018,
 -       86,   86,   86, 2013, 2016, 2019, 2020,   86,   86, 2023,
 -     2022, 2024,   86, 2021,   86,   86,   86,   86,   86, 2027,
 -       86,   86,   86,   86,   86,   86, 2025, 2032, 2033,   86,
 -
 -       86,   86,   86, 2034, 2038,   86, 2037, 2028, 2030, 2031,
 -     2029, 2035,   86,   86,   86, 2036,   86, 2039, 2041, 2043,
 -     2044, 2046, 2040, 2045,   86, 2042,   86,   86,   86,   86,
 -       86,   86, 2052, 2047,   86, 2048,   86, 2055, 2056,   86,
 -     2057,   86, 2059,   86, 2050, 2049,   86, 2060, 2053, 2051,
 -     2054, 2058,   86,   86,   86, 2064,   86,   86, 2066,   86,
 -     2068, 2065, 2067,   86,   86, 2070,   86,   86,   86, 2074,
 -       86,   86, 2071, 2061, 2062, 2063,   86,   86,   86, 2073,
 -       86, 2069,   86, 2076, 2077,   86,   86,   86,   86, 2082,
 -     2084, 2080, 2081, 2072,   86, 2078,   86, 2075,   86, 2083,
 -
 -       86,   86,   86, 2079,   86,   86,   86, 2092, 2144, 2094,
 -     2085, 2086, 2087,   86, 2095,   86,   86, 2088,   86, 2090,
 -     2089, 2097, 2091,   86, 2093, 2098,   86, 2101,   86, 2099,
 -     2096,   86,   86,   86, 2105,   86,   86, 2102,   86, 2107,
 -       86, 2100,   86,   86, 2110, 2111,   86,   86, 2113,   86,
 -       86, 2103,   86, 2104,   86,   86,   86, 2120,   86, 2118,
 -     2108, 2115, 2106, 2116, 2109,   86,   86, 2112,   86,   86,
 -       86,   86, 2119,   86, 2126, 2114, 2117, 2123, 2124,   86,
 -       86,   86, 2129, 2122, 2131,   86, 2130, 2121,   86,   86,
 -       86,   86, 2133, 2134,   86, 2137, 2128, 2125,   86,   86,
 -
 -     2135,   86, 2138,   86,   86, 2127,   86,   86,   86, 2132,
 -     2136, 2139,   86, 2140, 2141,   86,   86, 2147, 2148, 2149,
 -     2143,   86,   86,   86,   86,   86, 2142, 2152,   86,   86,
 -     2145,   86,   86, 2157,   86,   86, 2151, 2156,   86,   86,
 -       86, 2146, 2150, 2153, 2162,   86, 2163, 3542, 2154,   86,
 -       86, 2155,   86, 2160, 2159, 2158, 2164,   86, 2161, 2166,
 -       86, 2165,   86, 2170,   86,   86, 2167,   86, 2168,   86,
 -     2171,   86,   86, 2169, 2174,   86, 2178,   86,   86, 2172,
 -       86, 3542,   86,   86,   86, 2181, 2173, 2183,   86,   86,
 -     2182, 2175, 2176,   86, 2184, 2177, 2179,   86, 2180,   86,
 -
 -     2187, 2185, 2190,   86, 2189, 2188, 2191,   86, 2186, 2192,
 -     2194, 2195,   86,   86, 2193,   86,   86,   86, 2197,   86,
 -     2199,   86,   86,   86,   86, 2203,   86, 2201,   86, 2205,
 -       86, 2198,   86, 2200, 2202,   86, 2207,   86, 2196, 2208,
 -       86,  170,   86,   86,   86,   86, 2211,   86,   86,   86,
 -     2216, 2209, 2206, 2204, 2215, 2212, 2213, 2210,   86, 2217,
 -     2218,   86, 2219,   86, 2214, 2221,   86,   86, 2220,   86,
 -       86,   86, 2222, 2224, 2223,   86,   86,   86,   86, 2225,
 -     2226, 2227,   86, 2229,   86,   86, 2233,   86, 2228, 2230,
 -     2232,   86,   86,   86, 2238,   86, 2231, 2235, 2236,   86,
 -
 -     2234,   86, 2237,   86,   86,   86,   86,   86,   86, 2245,
 -     2243,   86, 2240, 2244,   86,   86,   86,   86, 2250,   86,
 -     2247, 2239, 2241,   86, 2242, 2246,   86,   86, 2255, 2251,
 -     2249,   86, 2248,   86,   86, 2253,   86, 2252,   86,   86,
 -     2256, 2259, 2262, 2254,   86, 2257, 2261,   86,   86,   86,
 -     2268, 2260,   86,   86,   86, 2258,   86,   86, 2270,   86,
 -     2263, 2271,   86,   86, 2264, 2265,   86, 2266, 2267,   86,
 -     2269, 2273,   86,   86, 2274, 2275,   86,   86, 2276, 2278,
 -     2272, 2279,   86, 2280,   86,   86, 2277,   86,   86, 2281,
 -       86, 2284,   86,   86,   86,   86,   86, 2285,   86,   86,
 -
 -       86,   86,   86,   86, 2305, 2283, 2282, 2287, 2288, 2289,
 -     2290,   86,   86, 2286, 2292, 2297,   86, 2293,   86, 2291,
 -     2295, 2298,   86,   86, 2296,   86, 2301,   86,   86, 3542,
 -     2294,   86, 2300, 2302, 2299,   86, 2304,   86, 2303,   86,
 -     2307,   86,   86, 2306, 2308, 2310,   86,   86, 2309, 2313,
 -     2311, 2315,   86,   86, 2312, 2316,   86,   86, 2318,   86,
 -       86,   86,   86, 2321,   86, 2314, 2317, 2320,   86, 2322,
 -       86,   86,   86, 2323, 2327,   86,   86, 2328, 2324, 2331,
 -       86,   86, 2319,   86, 2332,   86,   86, 2330, 2325, 2329,
 -       86, 2326, 2336,   86, 2333,   86, 2337, 2335,   86,   86,
 -
 -     2334, 2340,   86,   86, 2341, 2338,   86,   86, 2342, 2346,
 -       86, 2344,   86,   86, 2348,   86, 2349,   86, 2339, 2345,
 -     2343,   86,   86,   86, 2347,   86, 2350, 2351,   86, 2353,
 -     2356,   86, 2354,   86,   86, 2355, 2358,   86,   86, 2352,
 -       86, 2359,   86, 2361,   86, 2360,   86,   86,   86, 2362,
 -     2363, 2364, 2357, 2365, 2369,   86, 2368, 2366,   86,   86,
 -     2367,   86,   86,   86,   86,   86,   86,   86,   86, 2377,
 -       86,   86,   86, 2381,   86, 2382, 2370, 2371, 2373, 2372,
 -     2375,   86, 2376, 2378, 2379, 2380,   86,   86, 2374,   86,
 -     2383,   86, 2384, 2386,   86, 2392,   86, 2387,   86,   86,
 -
 -     2394,   86,   86,   86, 2388, 2385,   86, 2391, 2393, 2389,
 -     2397,   86,   86,   86,  170, 2401, 2398,   86, 2403, 2390,
 -     2395,   86, 2396, 2404,   86, 2399,   86, 2405, 2406, 2407,
 -       86,   86, 2400,   86,   86,   86, 2402, 2409, 2408, 2410,
 -       86,   86, 2411, 2417, 2414, 2415,   86,   86, 2416, 2419,
 -       86,   86,   86,   86, 2421,   86, 2412, 2420, 2422,   86,
 -       86,   86,   86, 2424,   86, 2423, 2425, 2413, 2418,   86,
 -       86, 2426,   86,   86, 2427,   86,   86, 2430,   86,   86,
 -       86, 2428,   86, 2433,   86, 2439,   86, 2437,   86, 2429,
 -     2432,   86, 2440,   86, 2434, 2435, 2431,   86,   86,   86,
 -
 -     2436,   86, 2442,   86,   86,   86, 2438,   86, 2441, 2447,
 -       86, 2445, 2450,   86,   86, 2451, 2444, 2443, 2448,   86,
 -     2446, 2449,   86,   86,   86,   86, 2461,   86,   86, 2452,
 -       86,   86,   86, 2453,   86,   86, 2465,   86, 2454, 2459,
 -       86,   86, 2466, 2457, 2463, 2455, 2458, 2456, 2464, 2460,
 -     2462, 2468,   86,   86, 2471,   86,   86, 2467, 2469, 2470,
 -       86,   86, 2474, 2475,   86,   86,   86, 2476,   86, 2472,
 -     2477,   86,   86, 2473,   86, 2480,   86, 2481, 2483,   86,
 -     2482, 2478, 2484,   86,   86, 2479,   86,   86,   86, 2485,
 -       86, 2486, 2490,   86, 2491,   86, 2487, 2493,   86,   86,
 -
 -     2489, 2495,   86,   86,   86,   86,   86, 2488,   86, 2492,
 -     2497, 2498,   86, 2499,   86,   86,   86, 2494, 2496,   86,
 -     2500, 2502, 2503,   86, 2501, 2506,   86,   86, 2505, 2508,
 -       86,   86,   86,   86,   86, 2504, 2510, 2512, 2507, 2511,
 -       86, 2513, 2515,   86,   86, 2509,   86,   86, 2518,   86,
 -       86, 2516, 2521,   86,   86,   86, 2514,   86,   86, 2517,
 -       86,   86, 2519, 2528, 2525, 2526,   86,   86, 2520,   86,
 -     2522,   86, 2524,   86, 2527,   86, 2529, 2523, 2531,   86,
 -     2533,   86, 2530,   86,   86, 2534,   86, 2539,   86, 2532,
 -       86,   86, 2541, 2535, 2542, 2545,   86, 2540, 2537, 2536,
 -
 -       86,   86,   86,   86,   86, 2547,   86, 2548, 2546, 2543,
 -     2538, 2544,   86,   86,   86,   86,   86, 2550, 2552, 2554,
 -     2555, 2556,   86, 2558, 2559,   86,   86, 2551, 2549,   86,
 -       86,   86,   86, 2562,   86,   86, 2563, 2557, 2553,   86,
 -     2564, 2561,   86,   86,   86, 2567, 2560, 2566,   86,   86,
 -       86,   86, 2568, 2569, 2573, 2574,   86, 2565, 2570, 2571,
 -       86,   86, 2572,   86,   86,   86, 2579, 2575, 2580,   86,
 -     2581, 2576,   86, 2578,   86,   86, 2577,  170, 2582,   86,
 -     2584, 2583, 2585,   86,   86, 2590,   86,   86,   86,   86,
 -       86,   86, 3542,   86,   86, 2586, 2597, 2587, 2592, 2588,
 -
 -     2589,   86, 2591, 2593, 2594, 2595, 2596,   86,   86, 2601,
 -       86, 2606, 2598,   86, 2602, 2603,   86,   86,   86,   86,
 -     2600, 2599, 2604, 2605, 2607,   86, 2609,   86,   86,   86,
 -       86,   86, 2611,   86, 2608,   86,   86, 2615, 2616,   86,
 -       86, 2612, 2610,   86,   86, 2618,   86, 2613,   86,   86,
 -     2619, 2620,   86, 2617, 2614, 2621,   86, 2622, 2623,   86,
 -       86, 2627,   86, 2625, 2626,   86,   86,   86, 2624,   86,
 -       86, 2629,   86,   86,   86,   86, 2637, 2634, 2628,   86,
 -     2636,   86,   86,   86, 2639, 2638, 2633, 2630,   86, 2631,
 -     2632,   86,   86,   86, 2635, 2645,   86, 2643,   86, 2640,
 -
 -       86,   86, 2649, 2648,   86,   86, 2651, 2641,   86,   86,
 -     2642,   86, 2646, 2650, 2644,   86, 2654, 2647, 2652,   86,
 -       86, 2659, 2655,   86, 2657, 2653,   86,   86,   86,   86,
 -     2658, 2661,   86, 2663,   86,   86,   86,   86, 2662,   86,
 -     2660,   86, 2667,   86,   86, 2674, 2656,   86,   86, 2670,
 -     2665,   86, 2671, 2664,   86, 2666, 2672,   86, 2673,   86,
 -       86, 2676,   86,   86, 2669,   86,   86, 2668, 2675,   86,
 -     2677, 2679, 2681,   86, 2684,   86,   86, 2682,   86,   86,
 -     2686,   86, 2680,   86, 2678, 2683,   86, 2685, 2689,   86,
 -       86,   86, 2693, 2690, 2687,   86, 2688,   86, 2691, 2694,
 -
 -       86, 2692, 2695,   86,   86,   86,   86,   86, 2700,   86,
 -     2699,   86, 2697, 2696,   86,   86, 2704, 2698,   86,   86,
 -     3542, 2701,   86, 2702, 2707,   86, 2703, 2708,   86, 2709,
 -       86, 2710,   86, 2711,   86, 2705,   86, 2712, 2706,   86,
 -     2713, 2714,   86, 2715,   86, 2716,   86, 2717,   86,   86,
 -       86, 2718,   86,   86, 2724,   86,   86, 2726,   86, 2727,
 -       86, 2720,   86,   86,   86,   86,   86,   86, 2719, 2723,
 -     2721,   86, 2730, 2722, 2728, 2725, 2729,   86, 2731,   86,
 -     2736,   86, 2732,   86, 2733,   86, 2737, 2734, 2738,   86,
 -       86, 2735,   86,   86,   86,   86, 2745,   86,  170,   86,
 -
 -     2747,   86,   86, 2741,   86, 2740, 2748, 2743,   86, 2739,
 -     2746,   86,   86,   86,   86, 2754, 2742, 2744, 2833, 2749,
 -     2751,   86,   86, 2750, 2753,   86, 2756, 2755, 2758,   86,
 -     2757, 2759,   86, 2752,   86, 2760,   86, 2761,   86, 2762,
 -     2763,   86,   86,   86,   86,   86,   86,   86,   86,   86,
 -       86,   86, 2764, 2773,   86,   86,   86, 2771, 2766,   86,
 -     2777, 2765,   86, 2768, 2767, 2778,   86, 2770, 2769, 2772,
 -     2774,   86, 2775, 2776, 2782,   86, 2779,   86, 2780,   86,
 -     2781, 2784,   86,   86,   86,   86, 2783,   86,   86,   86,
 -       86,   86, 2788,   86, 2795,   86,   86, 2785, 2796,   86,
 -
 -     2794, 2786, 2787, 2789,   86, 2790, 2792, 2791,   86, 2802,
 -     2793, 2800,   86,   86, 2799,   86, 2797, 2801,   86,   86,
 -       86,   86, 2798,   86,   86,   86, 3542,   86, 2807, 2812,
 -       86, 2803, 2810,   86, 2804, 2806,   86,   86, 2811, 2805,
 -       86,   86, 2813,   86, 2808, 2809, 2814,   86,   86,   86,
 -     2816,   86, 2815,   86, 2820, 2818, 2817,   86, 2821,   86,
 -       86,   86, 2827,   86, 2826,   86,   86,   86, 2819, 2830,
 -       86, 2822,   86,   86, 2836,   86, 2823,   86, 2825, 2824,
 -     2828, 2835, 2832, 2831, 2829,   86,   86,   86, 2834,   86,
 -     2841,   86,   86,   86,   86,   86,   86, 2845, 2837, 2844,
 -
 -       86, 2838, 2843,   86, 2842, 2846,   86, 2839, 2849, 2840,
 -     2848,   86,   86, 2847,   86,   86, 2851, 2854,   86,   86,
 -     2855, 2850,   86, 2857,   86,   86, 2852,   86,   86,   86,
 -       86, 2864,   86,   86,   86, 2853,   86,   86, 2858, 2861,
 -     2859, 2860, 2862, 2863, 2856, 2867,   86,   86,   86, 2865,
 -       86, 2866, 2868, 2869,   86,   86, 2873,   86,   86, 2871,
 -       86,   86,   86, 2872, 2870,   86, 2874, 2877, 2875,   86,
 -     2878, 2880,   86, 2876, 2881,   86, 2879,   86, 2884,  170,
 -       86,   86, 2882,   86,   86, 2889, 2886, 2885, 2883,   86,
 -       86,   86,   86, 2891, 2890,   86, 2894,   86, 2895,   86,
 -
 -     2893, 2887, 2888,   86, 2899, 2892, 2897,   86,   86, 2900,
 -       86, 2898,   86,   86,   86, 2904, 2896, 2901, 2902,   86,
 -       86,   86,   86, 2905,   86, 2906,   86,   86, 2903, 2911,
 -     2912, 2907,   86,   86, 2909,   86,   86, 2913,   86, 2908,
 -       86,   86,   86, 2916, 2917, 2914,   86, 2915, 2910,   86,
 -       86, 2919,   86,   86, 2918, 2920,   86, 2921,   86,   86,
 -       86, 2926,   86, 2928,   86, 2924, 2923, 2922, 2925, 2930,
 -       86, 2927,   86,   86,   86,   86, 2931,   86, 2935,   86,
 -       86, 2936, 2929,   86,   86,   86, 2940,   86,   86,   86,
 -       86, 2932, 2938, 2933, 2944,   86, 2934, 2945,   86, 2937,
 -
 -     2939, 2947,   86, 2941, 2942, 2948,   86,   86, 2943, 2950,
 -     2952,   86, 2951,   86,   86,   86,   86,   86,   86, 2957,
 -     2946, 2954,   86,   86, 2949,   86, 2955,   86,   86,   86,
 -     2958, 2956, 2959,   86, 2962,   86, 2960, 3542, 2961, 2953,
 -     2964,   86, 2965,   86, 2966,   86,   86, 2963,   86,   86,
 -     2967, 2970,   86, 2968,   86, 2971,   86, 2974, 2969, 2972,
 -       86,   86, 2975,   86,   86, 2978, 2979,   86, 2973, 2980,
 -       86,   86, 2976, 2981,   86,   86,   86,   86, 2982, 2985,
 -       86, 2977,   86,   86, 2983, 2988,   86,   86, 2989, 2984,
 -     2990,   86, 2992,   86,   86, 2986,   86,   86, 2991, 2996,
 -
 -     2997,   86, 2987, 2999,   86,   86,   86, 2993, 2998,   86,
 -       86, 2995, 3001,   86, 2994, 3000,   86, 3002,   86,   86,
 -     3007,   86,   86,   86,   86, 3006,   86, 3009, 3068, 3003,
 -     3010,   86,   86, 3004,   86,   86, 3005, 3011, 3013,   86,
 -       86,   86, 3012, 3015,   86, 3016, 3008, 3014,   86,   86,
 -       86, 3023,   86, 3019,   86,   86, 3017, 3018, 3025, 3020,
 -       86,   86,   86,   86, 3022,   86, 3026, 3030, 3024, 3021,
 -     3029, 3032, 3031,   86, 3027,   86, 3033,   86, 3035,   86,
 -     3028, 3041, 3034,   86, 3036,   86, 3037,   86, 3038,   86,
 -     3039,   86, 3040,   86,   86, 3043,   86,   86, 3042,   86,
 -
 -       86,   86, 3046,   86,   86, 3048, 3052,   86, 3053,   86,
 -     3045,   86, 3049,   86, 3054, 3056,   86,   86, 3047,   86,
 -     3044, 3050, 3058,   86, 3051,   86, 3057, 3060,   86,   86,
 -     3059, 3055,   86,   86,   86, 3065, 3066,   86, 3061, 3067,
 -       86, 3062, 3063, 3064,   86,   86,   86,   86,   86, 3073,
 -       86,   86,   86, 3069, 3074,   86, 3077, 3071,   86, 3076,
 -       86, 3075, 3072, 3078, 3070, 3079,   86, 3081,   86,   86,
 -       86, 3085,   86,   86, 3080,   86, 3083,   86,   86,   86,
 -       86,   86, 3086, 3082, 3089, 3092,   86, 3087, 3084, 3090,
 -       86,   86,   86, 3093,   86, 3095,   86, 3096, 3091,   86,
 -
 -     3097, 3099, 3088, 3098,   86,   86,   86, 3094,   86, 3102,
 -     3104,   86, 3103, 3105,   86, 3106,   86, 3100,   86, 3101,
 -       86, 3114,   86,   86, 3111,   86, 3108, 3107, 3110,   86,
 -       86,   86,   86,   86, 3112,   86, 3113,   86,   86, 3109,
 -     3118, 3120,   86, 3115, 3116, 3122,   86,   86,   86,   86,
 -     3126,   86, 3123,   86, 3117, 3119, 3124,   86, 3125,   86,
 -       86, 3127,   86, 3121, 3131,   86,   86,   86,   86,   86,
 -       86, 3135, 3128,   86, 3129, 3132,   86,   86, 3136, 3133,
 -     3130, 3134, 3140,   86, 3139,   86, 3137,   86, 3142,   86,
 -       86,   86, 3138,   86, 3143, 3146,   86, 3148,   86, 3149,
 -
 -       86, 3151,   86, 3141,   86,   86,   86, 3144,   86,   86,
 -     3147, 3154,   86,   86, 3150,   86, 3145, 3156, 3157,   86,
 -     3152, 3153, 3159,   86, 3155, 3160,   86, 3163,   86, 3158,
 -       86,   86, 3166,   86, 3167,   86,   86, 3169, 3161,   86,
 -       86, 3170, 3162,   86, 3164, 3172,   86, 3165, 3173,   86,
 -       86,   86, 3176,   86,   86, 3168,   86,   86, 3181,   86,
 -       86, 3171,   86, 3179,   86, 3174,   86, 3178, 3185,   86,
 -       86, 3175, 3177, 3187, 3183,   86,   86, 3180, 3182, 3188,
 -     3184, 3186,   86, 3189,   86, 3192, 3195, 3190, 3193,   86,
 -       86,   86,   86, 3194,   86,   86, 3198,   86,   86,   86,
 -
 -     3197, 3201,   86, 3199, 3191, 3204,   86,   86,   86,   86,
 -       86,   86, 3196, 3209,   86,   86,   86, 3225, 3200, 3202,
 -     3203, 3205,   86,   86, 3208,   86, 3206, 3213,   86, 3214,
 -       86, 3212, 3211,   86, 3210, 3207, 3215,   86, 3216, 3217,
 -       86, 3219,   86, 3220,   86, 3218, 3221,   86, 3222,   86,
 -       86,   86,   86, 3227,   86,   86,   86, 3226,   86,   86,
 -       86,   86, 3233, 3223, 3234,   86,   86,   86,   86,   86,
 -     3240,   86, 3241,   86, 3228,   86,   86, 3224, 3229, 3231,
 -     3230, 3232, 3237,   86, 3239, 3243, 3236,   86,   86, 3238,
 -       86,   86, 3235, 3246, 3242, 3248,   86, 3249,   86,   86,
 -
 -       86, 3252,   86, 3244, 3250,   86, 3245,   86, 3255,   86,
 -     3254, 3247,   86,   86, 3251,   86, 3257, 3253, 3256,   86,
 -     3258,   86,   86,   86,   86,   86,   86, 3261,   86,   86,
 -     3263,   86,   86, 3264,   86, 3262,   86,   86,   86, 3259,
 -       86, 3260, 3273, 3274,   86, 3265, 3542, 3269, 3266, 3267,
 -     3268, 3270, 3271, 3276,   86,   86,   86, 3272, 3279,   86,
 -     3275, 3277, 3281,   86, 3278, 3282,   86, 3280,   86, 3284,
 -       86,   86, 3283,   86, 3287,   86, 3285, 3288,   86, 3289,
 -     3290,   86,   86, 3291, 3292, 3296,   86, 3293,   86,   86,
 -     3294, 3295, 3286,   86, 3297,   86, 3299,   86,   86,   86,
 -
 -       86, 3302,   86,   86, 3298,   86, 3306,   86,   86,   86,
 -     3305,   86,   86, 3301,   86,   86, 3300,   86, 3309, 3310,
 -       86, 3311, 3303, 3304,   86, 3314, 3315,   86, 3307, 3312,
 -       86, 3317,   86, 3316, 3308, 3313, 3318,   86, 3319,   86,
 -       86,   86,   86, 3324,   86, 3321, 3326, 3320, 3325,   86,
 -     3322,   86,   86, 3323,   86,   86,   86, 3333,   86, 3328,
 -     3330, 3331, 3334,   86, 3336,   86,   86, 3327,   86, 3335,
 -     3337,   86, 3329, 3332,   86, 3340,   86, 3341,   86, 3339,
 -       86, 3338, 3343,   86, 3344,   86, 3345,   86,   86, 3342,
 -     3346,   86, 3347,   86, 3348,   86, 3349,   86, 3350,   86,
 -
 -       86, 3353,   86, 3354,   86,   86,   86,   86,   86, 3352,
 -     3358,   86,   86,   86, 3351, 3355,   86, 3356, 3360,   86,
 -       86, 3364,   86, 3361, 3365,   86, 3362, 3357, 3363, 3367,
 -       86, 3359,   86,   86,   86,   86, 3369, 3366,   86, 3371,
 -       86, 3374,   86, 3373,   86,   86,   86,   86,   86, 3376,
 -     3368,   86,   86, 3372,   86,   86, 3375, 3380, 3382,   86,
 -     3370, 3381, 3379,   86, 3377,   86, 3378,   86, 3385,   86,
 -     3383,   86, 3386, 3388,   86, 3389,   86,   86, 3387, 3390,
 -       86,   86,   86,   86,   86, 3384, 3392, 3393,   86, 3398,
 -     3391, 3394,   86,   86, 3399, 3395,   86, 3401,   86, 3397,
 -
 -       86,   86,   86,   86,   86, 3396,   86,   86, 3400,   86,
 -       86, 3402, 3410, 3408, 3413,   86,   86, 3405,   86, 3403,
 -     3404, 3407, 3409, 3412,   86,   86,   86,   86, 3406, 3415,
 -     3411, 3418,   86,   86, 3420,   86, 3414,   86, 3421, 3416,
 -     3422,   86, 3419, 3423,   86,   86, 3417, 3425,   86,   86,
 -       86, 3426,   86,   86, 3427, 3428, 3431,   86,   86,   86,
 -       86,   86,   86,   86, 3424, 3434, 3435,   86, 3430,   86,
 -     3433, 3432, 3437,   86, 3438,   86, 3439, 3429,   86, 3436,
 -     3441,   86, 3440,   86, 3442, 3444,   86,   86, 3445,   86,
 -       86, 3446, 3448, 3449,   86,   86, 3443,   86,   86,   86,
 -
 -     3454,   86, 3453,   86, 3450, 3455,   86, 3451, 3447,   86,
 -       86,   86,   86,   86, 3452,   86, 3459,   86, 3461,   86,
 -       86,   86,   86,   86, 3456, 3458, 3466, 3467,   86, 3457,
 -     3460,   86, 3463, 3464, 3462, 3474, 3465, 3468,   86, 3472,
 -       86,   86,   86, 3469,   86, 3475, 3470, 3473,   86,   86,
 -     3471,   86,   86, 3476, 3477, 3480, 3478, 3481,   86,   86,
 -       86,   86, 3483,   86, 3482,   86,   86,   86,   86, 3484,
 -     3489, 3479,   86, 3486,   86,   86,   86,   86, 3492, 3485,
 -     3493,   86,   86,   86,   86,   86, 3487, 3488, 3491, 3496,
 -       86, 3490, 3494, 3497,   86, 3495,   86, 3500, 3499, 3501,
 -
 -       86, 3498,   86, 3502,   86, 3504,   86, 3506,   86, 3507,
 -       86,   86,   86, 3511,   86, 3508, 3542,   86, 3509, 3514,
 -       86, 3505, 3512,   86,   86, 3513, 3503,   86,   86,   86,
 -       86, 3510,   86,   86, 3515, 3516,   86, 3518, 3520,   86,
 -       86, 3522,   86, 3517,   86, 3523,   86, 3526, 3519, 3521,
 -     3527,   86, 3524,   86,   86, 3530, 3531,   86,   86, 3533,
 -       86, 3525,   86, 3528,   86, 3532, 3534,   86,   86, 3535,
 -       86,   86, 3529, 3536, 3542, 3537, 3540,   86, 3541,   86,
 -     3542, 3542, 3542, 3538, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3539,   47,   47,   47,   47,   47,   47,   47,   52,   52,
 -
 -       52,   52,   52,   52,   52,   57,   57,   57,   57,   57,
 -       57,   57,   63,   63,   63,   63,   63,   63,   63,   68,
 -       68,   68,   68,   68,   68,   68,   74,   74,   74,   74,
 -       74,   74,   74,   80,   80,   80,   80,   80,   80,   80,
 -       89,   89, 3542,   89,   89,   89,   89,  160,  160, 3542,
 -     3542, 3542,  160,  160,  162,  162, 3542, 3542,  162, 3542,
 -      162,  164, 3542, 3542, 3542, 3542, 3542,  164,  167,  167,
 -     3542, 3542, 3542,  167,  167,  169, 3542, 3542, 3542, 3542,
 -     3542,  169,  171,  171, 3542,  171,  171,  171,  171,  174,
 -     3542, 3542, 3542, 3542, 3542,  174,  177,  177, 3542, 3542,
 -
 -     3542,  177,  177,   90,   90, 3542,   90,   90,   90,   90,
 -       17, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542
 +      192,   86,   86,  208,  186,   86,   86,   86,   86,   86,
 +
 +      200,  199,  193,  194,   86,  198,   86,  195,   86,  201,
 +       86,  202,  246,  210,  206,  203,  204,  207,  209,   86,
 +      211,  216,  212,  205,   86,  213,   86,   86,   86,  218,
 +       86,  219,   86,  221,   86,   86,  227,  222,  214,  215,
 +       86,  228,  226,  224,   86,   86,  217,  230,  225,   86,
 +       86,  220,   86,  223,  231,  233,  234,  229,   86,   86,
 +       86,   86,  232,  236,   86,  238,   86,  241,  235,  239,
 +       86,   86,   86,   86,  243,   86,  237,  373,   86,   86,
 +       86,  240,   86,  244,  242,  249,  252,  253,   86,  245,
 +      254,  248,   86,   86,   86,  255,  250,  247,  261,  258,
 +
 +      251,  262,   86,   86,  260,  264,   86,   86,   86,   86,
 +      259,  268,  256,   86,  265,  257,   86,   86,  263,  267,
 +      269,  271,  160,  160,   86,  162,  266,  270,  162,  274,
 +      164,  272,  164,  164,  339,  164,  167,  167,  169,   86,
 +      169,  169,   90,  169,   90,   90,  170,   90,  174,  273,
 +      174,  174,  275,  174,  172,  177,  177,  277,   86,   86,
 +       86,   86,   86,   86,   86,   86,   86,  276,  279,   86,
 +      282,  285,  281,   86,  278,  280,   86,  288,  287,  284,
 +      178,  291,  283,   86,  289,  286,   86,  292,  293,   86,
 +      294,  319,   86,  297,   86,  295,   86,  302,  298,   86,
 +
 +      304,   86,   86,  299,   86,   86,   86,  306,   86,  300,
 +      301,  303,  296,  307,   86,  310,  308,   86,  312,   86,
 +      305,   86,  313,   86,   86,  309,   86,   86,   86,   86,
 +       86,  322,  320,  321,  323,  314,  324,  315,  317,  316,
 +       86,  318,   86,  176,  311,  327,  330,   86,  325,  328,
 +      326,  332,   86,   86,  331,  334,  336,   86,  329,  337,
 +      340,   86,   86,  333,   86,   86,   86,  335,   86,  341,
 +      342,  344,  343,   86,  338,  345,   86,   86,  347,   86,
 +      346,   86,   86,   86,   86,   86,   86,  349,   86,  351,
 +       86,   86,  348,   86,  354,  356,   86,   86,  352,  361,
 +
 +      357,  355,  350,   86,  362,   86,   86,  353,  358,   86,
 +       86,  363,  359,  365,  367,   86,  370,  360,   86,   86,
 +       86,  364,   86,   86,  372,  376,   86,   86,   86,   86,
 +      377,   86,  366,  368,  369,  375,   86,  379,  371,  380,
 +       86,   86,  374,   86,  384,  378,   86,  382,  383,   86,
 +       86,  386,  389,   86,  381,  387,   86,   86,  170,   86,
 +      392,  390,   86,   86,   86,  397,   86,  393,  385,  395,
 +      391,   86,  388,  398,   86,   86,   86,  401,   86,   86,
 +      399,  400,  394,   86,  404,   86,  396,   86,   86,  402,
 +      408,   86,  403,   86,  409,  406,   86,   86,   86,  405,
 +
 +      410,   86,  411,  412,   86,  414,   86,   86,  415,   86,
 +       86,  413,  417,  407,   86,   86,  175,  418,   86,  419,
 +       86,   86,  422,   86,  423,  416,  425,  420,  427,  421,
 +       86,   86,   86,  426,   86,  424,   86,   86,  430,   86,
 +      428,  432,  433,  435,  431,   86,   86,   86,   86,   86,
 +       86,  439,   86,   86,   86,  440,   86,  429,  442,  438,
 +       86,   86,  445,  436,   86,   86,  450,  434,  447,   86,
 +      437,  441,   86,   86,   86,  443,  451,   86,  444,   86,
 +       86,  449,  446,  466,   86,  448,  452,   86,  459,  461,
 +       86,   86,   86,  469,  470,  460,  453,   86,   86,  454,
 +
 +      462,  481,  463,  467,  455,  456,  457,  458,  471,   86,
 +      468,   86,  473,  472,   86,  464,  474,   86,  465,   86,
 +       86,   86,   86,   86,  483,   86,   86,  484,  475,   86,
 +      485,  476,  482,   86,  477,  478,   86,  486,  479,  480,
-        86,  487,   86,   86,   86,  488,   86,  493,   86,  512,
-        86,  170,  490,   86,  489,  499,  500,   86,  494,  492,
-       495,  496,   86,  491,   86,   86,  498,   86,   86,  497,
-       501,  504,  502,  505,   86,   86,   86,  513,  503,  507,
-       514,   86,   86,   86,  511,   86,   86,  515,  506,   86,
-       557,   86,  508,   86,  529,  509,   86,  510,   86,  516,
-       533,  517,   86,   86,  531,  528,  534,  518,  532,   86,
-       536,  519,  530,  170,   86,   86,  520,  545,  546,  521,
-        86,  522,  535,  523,  547,   86,   86,   86,   86,  548,
-        86,  549,   86,  552,  551,  554,  524,  646,  550,  525,
-        86,  526,  553,  527,   86,   86,  537,  538,  556,   86,
-        86,  555,   86,  575,   86,  566,  539,  540,  541,  542,
-       543,  560,   86,  544,  559,  558,   86,   86,   86,  564,
-        86,  561,  565,  562,  569,  567,   86,  568,   86,  570,
-        86,   86,   86,  574,   86,   86,  571,   86,  572,   86,
-       577,  563,   86,  578,  579,  573,   86,   86,  576,   86,
-        86,  584,   86,  581,  580,   86,  589,   86,  582,  586,
-       587,  583,   86,   86,  592,  585,  590,   86,   86,   86,
-        86,   86,   86,  168,  593,   86,  611,  588,  598,  599,
-       608,  591,  594,   86,  595,  597,   86,  596,   86,   86,
-       600,   86,  601,   86,  610,  613,  614,  609,  602,   86,
-       612,   86,  166,  619,   86,  615,  603,  604,  616,   86,
-       605,  606,  617,   86,  607,   86,  620,   86,  618,  622,
-        86,   86,   86,   86,  625,  626,  623,   86,   86,   86,
-       621,   86,  627,   86,   86,  624,   86,  632,  630,  631,
-        86,   86,  628,   86,   86,  633,   86,   86,   86,  638,
-       629,  640,  634,  639,   86,  637,   86,  642,   86,   86,
-        86,  635,  636,  643,   86,  645,  641,   86,  647,   86,
-        86,   86,   86,   86,   86,   86,   86,  649,   86,  653,
-       644,  648,  651,   86,  655,   86,   86,  661,   86,   86,
-       681,  650,  652,   86,  656,  654,  657,  662,  659,  660,
-       663,  658,   86,  665,   86,   86,   86,  664,  668,   86,
-        86,   86,  666,  672,   86,  667,  675,   86,   86,   86,
-       674,   86,   86,  669,   86,  670,  671,   86,   86,  678,
-        86,   86,  677,  682,  673,   86,  684,   86,   86,   86,
-       676,   86,   86,  679,   86,  683,  699,   86,  680,   86,
-        86,  685,  687,   86,  718,  701,  686,   86,  688,  697,
-       702,  696,  698,  689,   86,  690,   86,   86,  700,   86,
-       703,  691,  707,  692,  704,   86,  693,  694,  705,  706,
-        86,  711,   86,  695,   86,   86,   86,   86,  715,  710,
-        86,  708,  712,   86,  709,   86,  720,  713,   86,   86,
-       714,   86,   86,  724,   86,   86,   86,   86,  165,  716,
-       717,  722,  727,  721,   86,  728,  723,   86,  719,   86,
-        86,   86,   86,  725,  170,  731,  733,  726,  734,  732,
-       735,   86,  730,  729,   86,   86,   86,   86,   86,   86,
-       738,   86,   86,  736,  744,  742,   86,   86,   86,  737,
-       740,  739,  743,  747,   86,  746,  741,  748,  750,   86,
-       749,   86,   86,   86,   86,  752,   86,   86,   86,   86,
-       745,  751,  755,   86,  761,  753,  756,  757,   86,  762,
-        86,  754,  764,   86,  758,  760,  766,  759,  765,   86,
-        86,  763,   86,  767,   86,  768,   86,  769,   86,  770,
-        86,  772,   86,   86,  771,   86,   86,  776,   86,  775,
-        86,  773,  774,   86,   86,   86,  779,   86,  778,  780,
-        86,   86,  784,   86,  783,   86,   86,  777,   86,  786,
-        86,   86,  790,   86,   86,  788,  782,  789,  781,   86,
-        86,  785,   86,   86,  787,  793,  797,   86,  791,   86,
-        86,  805,   86,   86,  798,  792,   86,   86,  794,  795,
-       800,  799,  796,   86,   86,  801,   86,   86,  802,  803,
-        86,  804,  808,  163,  806,  809,  812,   86,  810,  807,
-        86,  811,   86,  814,   86,   86,  813,   86,  815,   86,
-       817,   86,  818,   86,   86,   86,  819,   86,   86,  826,
-        86,  822,  824,  820,   86,   86,   86,   86,  823,  833,
-       816,  821,   86,  827,   86,   86,   86,   86,  825,   86,
-       835,  831,  834,  830,  828,   86,  832,  829,  836,  837,
-        86,   86,   86,  838,   86,   86,   86,  839,  844,  845,
-       847,  843,   86,  840,   86,   86,   86,  846,  841,  842,
-        86,   86,  851,  848,   86,   86,  850,  852,   86,   86,
-       858,   86,   86,   86,  855,   86,   86,  853,  854,  849,
-       861,  860,   86,  863,   86,  864,   86,   86,  856,  857,
-       859,   86,   86,  862,  865,  866,  868,   86,  869,   86,
-       872,   86,   86,  876,  870,  873,   86,   86,  874,  875,
-       867,   86,   86,  878,  871,   86,  877,   86,   86,   86,
-       884,   86,   86,   86,   86,  885,   86,   86,   86,   86,
-       879,  886,  891,  880,   86,  881,   86,  882,  887,  883,
-        86,  892,  888,  890,  894,   86,  889,   86,   86,  893,
-        86,   86,   86,   86,  896,   86,  895,  897,   86,  901,
-        86,   86,   86,   86,   86,  910,  898,  908,  903,  899,
-       900,  902,   86,   86,   86,   86,  904,  909,  905,  906,
-       907,   86,   86,   86,   86,  911,  912,   86,  915,  916,
-        86,  917,  913,  914,   86,   86,   86,  920,   86,  921,
-       919,   86,  918,  922,   86,   86,  924,   86,   86,  925,
-        86,   86,  927,   86,  161,   86,  926,  928,  932,  923,
-       930,  929,  931,  170,   86,   86,   86,   86,  933,  934,
-       938,  935,   86,   86,  940,  941,   86,   86,  942,  936,
-        86,  937,  944,   86,   86,  945,  943,  939,   86,  948,
-        86,   86,   86,  946,   86,   86,  950,   86,  954,   86,
-        86,   86,   86,  951,   86,   86,  956,  947,  955,   86,
-       949,   86,   86,   86,  971,  953,   86,   86,   86,  952,
-       957,  969,  970,  972,  967,  959,  958,   86,  968,  960,
-        86,   86,  961,   86,  974,   86,  962,  975,   86,  963,
-       973,   86,  976,   86,  977,   86,  964,  965,  979,  966,
-        86,  982,  980,   86,   86,  981,  978,   86,   86,  983,
-       984,   86,  985,   86,   86,  986,  991,  994,   86,   86,
-       987,  992,  993,  990,   86,   86,  988,  989,  996,   86,
-       998,   86,   86,   86, 1000, 1004, 1003,  999,  995,   86,
-      1005,   86,   86, 1061,  997,   86, 1001,   86, 1007, 1006,
-      1009,   86, 1010,   86, 1008,   86,   86, 1002, 1011, 1012,
-      1013, 1014,   86,   86,   86, 1015,   86,   86,   86,   86,
-        86, 1018,   86, 1022,   86,   86, 1016, 1021,   86,   86,
-      1025,   86,   86, 1031,   86, 1017, 1027, 1029, 1019, 1020,
-      1023,   86, 1024,   86,   86, 1032, 1030,   86,   86, 1026,
-      1033,   86, 1034, 1035, 1028, 1037, 1042,   86, 1039,   86,
-        86,   86, 1038, 1036,   86,   86, 1041,   86, 1040, 1043,
-        86, 1044,   86,   86,   86, 1045,   86,   86,   86, 1047,
-      1048,   86,   86,   86, 1049, 1053,   86,   86, 1056,   86,
-        86, 1046, 1054, 1057,   86, 1055, 1050, 1051,   86,   86,
-        86, 1052,   86, 1059,   86, 1062,   86, 1060,   86, 1058,
-        86, 1063,   86, 1064,   86,   86,   86, 1065, 1066, 1071,
-      1070, 1069,   86, 1068, 1072,   86,   86, 1073,   86,   86,
-        86, 1067,   86,   86, 1081, 1075, 1079, 1074, 1076, 1082,
-        86,   86,   86,   86, 1080,   86,   86, 1084, 1078,   86,
-        86,   86, 1077,   86,   86,   86,   86, 1095, 1092,   86,
-      1090,   86, 1083,   86, 1085, 1086, 1087,   86, 1096,   86,
-      1089, 1088,   86, 1093,   86, 1094, 1091, 1098,   86, 1097,
-      1101,   86,   86, 1105,   86,   86, 1100, 1104, 1099, 1102,
-        86,   86, 1103,   86,   86,   86,   86,   86,   86,   86,
-      1108, 1115, 1110, 1116, 1106, 1118,   86,   86,   86,   86,
-      1107,   86, 1117, 1109,   86, 1111, 1113, 1121, 1112, 1114,
-      1119, 1122,   86,   86,   86,   86, 1123,   86, 1120,   86,
-      1127,   86, 1129, 1124, 1130, 1131, 1125,   86,   86,   86,
-        86,   86, 1132, 1135, 1126,   86, 1137,   86,   86,   86,
-      1128, 1134,   86,   86, 1143, 1133, 1140, 1139,   86, 1144,
-       170,   86, 1147,   86,   86, 1136, 1138, 1146,   86, 1141,
-        86, 1142,   86, 1145,   86, 1150,   86,   86,   86,   86,
-        86, 1163,   86,   86, 1166,   86, 1148, 1164, 1149,   86,
-      1153, 1151, 1154,   86, 1193,   86,   86, 1155, 1152, 1156,
-        86,   86,   86, 1157, 1165, 1158, 1168, 1167, 1169, 1159,
-      1170, 1160,   86, 1173,   86, 1172, 1161, 1171, 1174,   86,
-        86, 1162,   86, 1175,   86,   86, 1177,   86,   86,   86,
-      1180,   86, 1183,   86, 1176,   86,   86,   86, 1178, 1179,
-      1181, 1182, 1184, 1189, 1187,   86,   86, 1186, 1188, 1191,
-      1190, 1192, 1185, 1194, 1195,   86,   86,   86,   86,   86,
-        86,   86,   86,   86,   86,   86,   86, 1207, 1196,   86,
-      1210, 1212,   86, 1206,   86, 1197, 1209, 1198,   86, 1199,
-      1208, 1213,   86,   86, 1200,   86, 1201, 1211, 1214, 1218,
-        86, 1215, 1202,   86,   86,   86,   86, 1203, 1204, 1219,
-        86, 1217, 1216,   86, 1205, 1220, 1225,   86, 1221,   86,
-        86, 1228, 1222, 1226,   86,   86,   86,   86, 1223, 1229,
-      1231, 1224,   86, 1233,   86,   86,   86,   86,   86,   86,
-      1227, 1234, 1239, 1230, 1236, 1232, 1237,   86,   86,   86,
-        86,   86,   86, 1235, 1238, 1242, 1240,   86,   86,   86,
-        86,   86,   86,   86,   86, 1249, 1244, 1251, 1241, 1247,
-      1246, 1243, 1248,   86,   86,   86, 1253, 1245, 1250,   86,
-      1252,   86,   86,   86, 1255,   86,   86,   86,   86, 1257,
-      1260, 1261, 1262,   86, 1254,   86, 1264, 1259, 1265, 1266,
-      1256, 1258, 1263,   86,   86,   86,   86,   86,   86, 1271,
-        86,   86, 1267, 1275, 1272,   86,   86,   86,   86, 1273,
-      1269, 1268, 1274,   86, 1270, 1276,   86,   86, 1282,   86,
-        86, 1284,   86, 1278,   86,   86, 1277,   86,   86, 1280,
-      1286, 1279, 1281,   86,   86, 1285, 1288, 1287,   86, 1283,
-        86, 1289,   86,   86,   86, 1291,   86, 1292,   86, 1290,
-      1293, 1295, 1294, 1296,   86,   86, 1297,   86, 1301,   86,
-      1298, 1302,   86, 1300,   86,   86,   86,   86, 1303, 1305,
-        86, 1299,   86, 1306,   86,   86, 1312,   86, 1310,   86,
-      1313, 1314,   86, 1304, 1315, 1307,   86,   86,   86, 1308,
-      1311, 1317, 1319, 1316, 1309,   86,   86,   86,   86,   86,
-      1318, 1320,   86, 1323,   86,   86, 1325,   86,   86,   86,
-      1324,   86,   86, 1326,   86,   86,   86, 1321, 1330, 1331,
-      1327,   86, 1322,   86,   86, 1332, 1328,   86, 1333, 1337,
-        86, 1329, 1338, 1341,   86,   86, 1335,   86,   86, 1334,
-        86,   86, 1340,   86,   86, 1339, 1336, 1346,   86,   86,
-        86,   86,   86,   86,  170, 1343, 1344,   86, 1348, 1342,
-        86, 1345, 1352,   86,   86, 1353, 1347,   86,   86, 1349,
-        86,   86, 1351, 1354, 1356, 1355,   86, 1350, 1357,   86,
-      1363, 1360, 1358, 1359, 1362,   86, 1364, 1365, 1361,   86,
-        86,   86,   86,   86,   86, 1367, 1368,   86,   86,   86,
-        86,   86, 1369,   86,   86, 1366, 1372,   86, 1378,   86,
-      1374, 1375, 1370, 1371,   86, 1373,   86,   86, 1376,   86,
-        86,  178,   86,   86, 1389, 1382, 1377, 1384, 1379,   86,
-        86,   86, 1381, 1388, 1380, 1390, 1385,   86, 1386,   86,
-      1383, 1387, 1391,   86, 1392, 1393,   86,   86,   86, 1394,
-        86,   86,   86, 1401,   86, 1398,   86, 1397, 1395,   86,
-        86, 1402,   86,   86, 1400, 1396, 1406,   86, 1403,   86,
-      1399, 1404,   86,   86, 1407,   86,   86, 1408, 1410, 1411,
-        86, 1405,   86, 1409,   86, 1412,   86,   86,   86, 1416,
-        86,   86,   86,   86,  176, 1413,   86, 1414, 1417, 1419,
-      1420,   86, 1418, 1415,   86,   86,   86, 1424, 1426, 1421,
-        86, 1423, 1422,   86,   86, 1429, 1427,   86,   86, 1425,
-        86, 1436,   86,   86,   86, 1428, 1438,   86, 1430, 1431,
-      1432,   86,   86,   86,   86,   86, 1433, 1435,   86, 1439,
-      1444,   86, 1441, 1437, 1446, 1434,   86, 1440,   86, 1447,
-        86, 1442,   86, 1445, 1443,   86,   86, 1451,   86,  175,
-      1461, 1460, 1449,   86, 1462, 1448,   86,   86, 1450,   86,
-      1452, 1459, 1463, 1465, 1453,   86,   86, 1454, 1455,   86,
-        86, 1466, 1456,   86, 1464, 1467,   86, 1468, 1457,   86,
-      1470,   86, 1458,   86, 1471, 1475, 1472,   86,   86,   86,
-        86,   86,   86,   86, 1469, 1478, 1481, 1476, 1482,   86,
-        86, 1526,   86, 1473,   86, 1474, 1479,   86,   86, 1477,
-        86, 1480, 1483, 1485, 1484,   86,   86, 1486,   86, 1493,
-      1491,   86, 1487,   86, 1488,   86, 1489, 1497, 1490,   86,
-      1492, 1494, 1495,   86,   86, 1501, 1496,   86,   86, 1499,
-      1502,   86, 1500,   86, 1498,   86, 1503,   86, 1505,   86,
-        86,   86, 1511,   86, 1513,   86, 1507,   86,   86, 1506,
-      1504,   86, 1512, 1514,   86, 1510,   86,   86, 1508, 1509,
-        86, 1516,   86,   86,   86, 1515, 1518, 1519, 1517, 1522,
-      1523,   86,   86, 1525,   86,   86,   86,   86, 1527,   86,
-      1520, 1528,   86, 1531,   86, 1533,   86, 1524, 1521,   86,
-      1534, 1530,   86,   86,   86,   86, 1529, 1535,   86, 1532,
-      1539,   86,   86,   86,   86, 1544, 1542,   86,   86,   86,
-        86,   86, 1545, 1549, 1536, 1537, 1538, 1546, 1540, 1541,
-        86,   86, 1547,   86, 1543,   86,   86, 1548, 1551,   86,
-        86, 1553,   86, 1558,   86, 1555, 1550, 1554,   86, 1552,
-        86, 1556,   86,   86,   86, 1557,   86, 1559, 1564, 1561,
-      1565, 1562, 1560,   86,   86,   86,   86, 1568, 1566, 1563,
-      1567,   86,   86,   86,   86, 1572,   86,   86,   86,   86,
-      1569,   86,   86, 1574,   86, 1571,  170, 1580, 1581, 1576,
-        86, 1570, 1583,   86,   86,   86, 1582, 1573,   86, 1575,
-        86, 1577, 1578,   86,   86,   86,   86, 1579,   86, 1584,
-        86, 1591,   86,   86,   86, 1585, 1588,   86,   86, 1589,
-      1586,   86, 1595, 1587, 1590, 1596,   86,   86, 1592, 1600,
-        86, 1594, 1598, 1599, 1601,   86,   86, 1593, 1604, 1602,
-        86, 1597,   86,   86,   86, 1603,   86, 1614,   86, 1609,
-      1612,   86, 1610,   86, 1605, 1611,   86, 1606, 1607,   86,
-      1615, 1608, 1617,   86,   86, 1613,   86, 1618,   86,   86,
-      1616,   86,   86,   86, 1622,   86, 1623,   86,   86,   86,
-       170,   86, 1619, 1627, 1621,   86,   86, 1632,   86,   86,
-      1620, 1625, 1633, 1629,   86, 1626, 1636, 1628, 1624, 1630,
-        86,   86,   86, 1631,   86,   86,   86, 1634,   86,   86,
-        86,   86, 1637, 1635,   86, 1644,   86, 1638, 1645, 1640,
-        86, 1641,   86, 1639, 1642, 1646,   86, 1643,   86, 1650,
-        86, 1649, 1647,   86,   86, 1654, 1655, 1648, 1656, 1652,
-        86, 1651,   86,   86,   86,   86, 1658, 1659,   86, 1660,
-        86,   86,   86, 1653, 1657, 1664, 1665, 1663, 1666,   86,
-      1667,   86,   86,   86,   86,   86, 1661,   86, 1668, 1669,
-        86,   86, 1662,   86, 1671, 1670,   86,   86,   86,   86,
-        86, 1672,   86, 1677,   86, 1673, 1676,   86, 1679, 1680,
-      1674,   86, 1675,   86, 1683,   86, 1688, 1685, 1678, 1684,
-        86, 1681, 1686,   86,   86,   86,   86,   86,   86,   86,
-      1682, 1696, 1692, 1687,   86, 1691,   86,   86,   86,   86,
-      1700, 1697,   86, 1689, 1690,   86,   86, 1693, 1703, 1694,
-        86, 1702, 1695,   86,   86,   86,   86,   86, 1698,   86,
-        86, 1701,   86,   86, 1712, 1699,   86,   86,   86, 1704,
-      1713,   86, 1705, 1709, 1706, 1707, 1708, 1711, 1717,   86,
-        86, 1710,   86, 1716, 1720, 1714,   86, 1715, 1718,   86,
-        86, 1719,   86,   86,   86, 1721, 1724,   86,   86, 1722,
-      1725,   86, 1728,   86,   86, 1723, 1732,   86, 1734, 1733,
-        86, 1727,   86, 1726,   86,   86, 1729, 1738, 1730, 1731,
-      1736,   86,   86,   86,   86, 1735, 1739, 1740, 1737,   86,
-        86,   86, 1745, 1746,   86,   86,   86,   86,   86, 1743,
-        86, 1750, 1749, 1751, 1741,   86,   86, 1742,   86,   86,
-        86, 1744,   86, 1747, 1753,   86,   86, 1748,   86, 1754,
-      1755,   86, 1756,   86, 1757, 1752, 1758,   86,   86,   86,
-      1759,   86, 1762, 1760,   86, 1764,   86,   86, 1761,   86,
-        86, 1770, 1768,   86, 1765,   86,   86,   86, 1763,   86,
-        86, 1776, 1766, 1769, 1771, 1767,   86,   86,   86,   86,
-        86, 1772, 1773, 1779, 1781,   86,   86, 1784,   86, 1775,
-      1777, 1774, 1782,   86, 1780, 1778,   86,   86,   86,   86,
-      1783,   86, 1788, 1791,   86,   86, 1790, 1787, 1792,   86,
-       170,   86,   86,   86,   86, 1785, 1786, 1794, 1789,   86,
-        86,   86, 1793,   86, 1802, 1803, 1795, 1797,   86, 1796,
-        86, 1806,   86, 1798, 1799, 1800,   86,   86,   86,   86,
-        86, 1810, 1808, 1812, 1801, 1807,   86, 1814, 1804,   86,
-      1805, 1811,   86,   86, 1816,   86,   86,   86, 1809,   86,
-      1813,   86,   86, 1818, 1819,   86, 1815,   86, 1821,   86,
-      1822,   86,   86, 1827,   86, 1817, 1823, 1826,   86,   86,
-        86,   86, 1834, 1824, 1831, 1820, 1825, 1832,   86,   86,
-        86, 1829,   86, 1836, 1835,   86, 1828,   86,   86, 1833,
-      1830, 1838, 1839,   86, 1842,   86, 1841,   86, 1844, 1837,
-      1845,   86, 1846, 1843,   86,   86,   86,   86, 1847, 1849,
-      1840,   86, 1848,   86, 1851,   86,   86,   86, 1850,   86,
-      1856, 1857, 1855, 1852, 1858, 1860,   86,   86,   86,   86,
-        86,   86,   86, 1859,   86, 1853,   86, 1854,   86, 1862,
-      1863,   86,   86, 1864,   86,   86,   86,   86,   86,   86,
-      1865,   86, 1861,   86,  168, 1874, 1866,   86,   86, 1869,
-      1870, 1867, 1871,   86, 1868, 1872,   86,   86, 1875, 1878,
-      1877, 1880, 1876,   86, 1873, 1881,   86,   86,   86, 1879,
-        86,   86, 1887,   86,   86,   86,   86,   86, 1891,   86,
-      1889,   86, 1883, 1882, 1885,   86,   86, 1884, 1890, 1886,
-        86,   86,   86, 1893, 1888,   86, 1892,   86,   86, 1896,
-        86, 1902, 1898,   86, 1895,   86, 1897, 1899, 1901, 1894,
-      1900,   86, 1903,  166, 1906, 1907,   86, 1904, 1908,   86,
-        86, 1910,   86,   86, 1914, 1905, 1911, 1912,   86,   86,
-        86,   86, 1909, 1916, 1915, 1913, 1917,   86,   86,   86,
-        86,   86,   86, 1925, 1926,   86,   86,   86, 1920,   86,
-      1922, 1924,   86, 1923, 1919,   86, 1918,   86,   86, 1921,
-      1929,   86, 1927, 1933,   86,   86, 1928,   86, 1934,   86,
-      1930, 1931, 1935, 1936, 1932,   86, 1939,   86,   86,   86,
-        86, 1943,   86, 1938, 1942,   86,   86, 1941,   86, 1937,
-      1947, 1945,   86, 1940, 1946, 1944, 1951,   86,   86,   86,
-        86, 1952,   86,   86, 1948, 1956, 1957,   86, 1961, 1949,
-      1950, 1953,   86, 1954, 1959,   86, 1960,   86, 1963,   86,
-        86, 1955,   86,   86,   86, 1958, 1964, 1967,   86,   86,
-      1971, 1962, 1969,   86,   86,   86,   86, 1966, 1970, 1965,
-        86, 1968, 1972,   86,   86,   86,   86,   86,   86,   86,
-      1977,   86, 1976,   86, 1973, 1978,   86, 1980,   86, 1974,
-      1979,   86, 1975, 1982, 1981, 1984,   86, 1983, 1986, 1987,
-        86, 1988, 1989,   86,   86,   86, 1990, 1993,   86, 1991,
-        86,   86, 1995,   86,   86, 1999,   86, 1985,   86, 1992,
-        86,   86,   86, 1994,   86, 2001,   86, 2002,   86, 1997,
-        86, 2004, 1998, 1996,   86, 2005,   86, 2006,   86,   86,
-      2000, 2010,  170,   86, 2003, 2013,   86, 2008, 2009,   86,
-        86,   86, 2017,   86, 2011,   86,   86, 2007, 2012,   86,
-        86,   86, 2015, 2019,   86,   86,  165, 2024, 2014, 2018,
-      2016, 2020, 2021,   86,   86,   86,  163, 2025, 2028,   86,
-      2022, 2027,   86,   86, 2023, 2029, 2030,   86, 2031,   86,
-      2033,   86, 2026, 2034,   86,   86,   86, 2036, 2032,   86,
-        86,   86, 2037, 2035,   86,   86,   86,   86,   86,   86,
-      2042,   86, 2043,   86,   86,   86,   86, 2044, 2047,   86,
-      2038, 2045, 2040, 2039, 2041, 2048, 2046,   86,   86,   86,
-      2054, 2056, 2051, 2053, 2050, 2055,   86,   86, 2049, 2052,
-      2057,   86,   86, 2058,   86,   86,   86, 2063,   86,   86,
-        86, 2066, 2067,   86, 2068,   86, 2070,   86,   86, 2071,
-      2059, 2060, 2061, 2064, 2062, 2065,   86,   86, 2069,   86,
-      2075,   86,   86, 2077,   86, 2079, 2076, 2078,   86,   86,
-      2081,   86,   86,   86,   86,   86,   86, 2072, 2073, 2082,
-      2074,   86, 2085,   86, 2084,   86, 2080, 2088,   86,   86,
-      2087,   86, 2093, 2086,   86,   86, 2090, 2083,   86, 2091,
-      2092, 2095,   86, 2094, 2089,   86,   86,   86,   86,   86,
-       161, 2103,   86, 2105, 2096, 2097, 2098,   86, 2106,   86,
-        86, 2099,   86,   86, 2101, 2100, 2107,   86, 2102, 2104,
-        86, 2112, 2109, 2110,   86, 2108, 2113,   86, 2111,   86,
-      2116,   86,   86,   86, 2118,   86,   86,   86,   86, 2123,
-        86, 2120, 2124,   86, 2114, 2126,   86,   86,   86,   86,
-      2115, 2121,   86,   86,   86, 2119, 2131, 2128, 2117, 2122,
-      2125, 2129,   86, 2133,   86,   86,   86,   86,   86, 2132,
-      2130,   86, 2127, 2136,   86, 2134, 2137,   86, 2139, 2142,
-      2135,   86, 2144,   86,   86,   86, 2143, 2147,   86,   86,
-      2141, 2146,   86,   86, 2138, 2150,   86, 2140, 2148, 2151,
-        86,   86,   86, 2145,   86,   86,   86, 2152, 2149,   86,
-        86,   86, 2154, 2153, 2157,   86, 2160, 2161, 2156, 2162,
-        86,   86,   86,   86, 2155,   86,   86, 2158,   86,   86,
-      2165, 2170,   86,   86, 2169,   86, 2159, 2164,   86,   86,
-      2163, 2167,   86, 2174,   86, 2175, 2166,   86, 2176,   86,
-      2168,   86, 2171, 2172, 2173, 2179, 2177, 2178,   86,   86,
-      2180, 2182,   86,   86,   86, 2181,   86,   86,   86,   86,
-      2190, 2186,   86,   86,   86,   86,   86, 2184,   86, 2193,
-      2183, 2195,   86, 2185,   86, 2196, 2194, 2187, 2188, 2189,
-      2191,   86,   86, 2192,   86, 2197,   86, 2202,   86, 2203,
-        86, 2198, 2204, 2206,   86, 2199, 2207, 2205,   86,   86,
-      2200,   86,   86,   86, 2211,   86, 2201,   86, 2209,   86,
-        86, 2213,   86, 2210,   86, 2215, 2217, 2212,   86, 2219,
-      2208, 2214,   86, 2220,   86,   86,   86,   86,  170,   86,
-        86,   86,   86, 2223,   86, 2228,   86, 2216,   86, 2227,
-      2218, 2224, 2225,   86, 2229, 2221, 2287, 2222, 2230,   86,
-      2226, 2231,   86, 2233,   86,   86, 2232,   86,   86,   86,
-      2234, 2236, 2235,   86,   86,   86,   86, 2237, 2238, 2239,
-        86, 2241,   86,   86, 2245,   86, 2240, 2242, 2244,   86,
-        86,   86, 2250,   86, 2243, 2247, 2248,   86, 2246,   86,
-      2249,   86,   86,   86,   86,   86,   86, 2257, 2255,   86,
-      2252, 2256,   86,   86,   86,   86, 2262,   86, 2259, 2251,
-      2253,   86, 2254, 2258,   86,   86, 2265, 2263, 2261,   86,
-      2260,   86, 2268, 2266,   86, 2264,   86,   86, 2269,   86,
-      2274,   86, 2272,   86,   86, 2267, 2270, 2275,   86,   86,
-      2281,   86, 2273,   86,   86,   86,   86, 2271,   86, 2276,
-        86, 2283, 2286,   86, 2277, 2278, 2279, 2280,   86,   86,
-      2284, 2282,   86, 2285, 2288,   86,   86, 2289, 2291, 2292,
-        86, 2290,   86, 2293,   86,   86,   86, 2294,   86, 2297,
-        86,   86,   86, 2298,   86,   86,   86,   86,   86,   86,
-      3562,   86,   86, 2300, 2295,   86, 2296, 2301, 2303, 2302,
-        86, 2299, 2305, 2310, 2311,   86, 2306,   86, 2304, 2308,
-      2312, 2309, 2315,   86,   86, 2313, 2314,   86,   86, 2307,
-      2318,   86, 2317,   86, 2321,   86,   86,   86,   86, 2320,
-        86, 2322, 2323,   86, 2316,   86, 2324,   86,   86, 2319,
-      2328,   86, 2326, 2330, 2333,   86, 2325, 2327,   86,   86,
-      2331,   86,   86,   86,   86, 2332, 2329, 2335,   86, 2337,
-      2336,   86,   86,   86, 2342,   86, 2338,   86, 2346,   86,
-        86, 2339, 2343, 2347,   86,   86,   86, 2334, 2344,   86,
-      2340, 2345,   86, 2341, 2348, 2351,   86,   86, 2352,   86,
-      2355, 3562,   86, 2350, 2349,   86,   86, 2353,   86,   86,
-      2356, 2357, 2361,   86,   86,   86, 2359,   86, 2363, 2354,
-      2358,   86, 2364,   86, 2360,   86, 2362,   86,   86,   86,
-      2366, 2370, 2365, 2367,   86, 2372, 2368, 3562,   86, 2369,
-      2373,   86,   86,   86,   86,   86, 2374, 2375,   86, 2371,
-      2378,   86,   86, 2379, 2376, 2377,   86, 2380, 2383,   86,
-        86, 2382,   86,   86,   86,   86,   86,   86,   86,   86,
-      2391, 2381,   86,   86, 2384, 2400,   86,   86, 2385, 2387,
-      2386, 2389, 2395, 2390, 2392, 2393, 2394,   86,   86, 2388,
-        86,   86, 2396,   86,   86,   86, 2398, 2397,   86, 2401,
-      2406,   86, 2408,   86, 2405,   86, 2402, 2407,   86, 2399,
-        86, 2403,   86,   86, 2411,   86, 2415, 2412,  170, 2404,
-        86,   86,   86, 2409, 2417, 2419, 2413, 2410, 2422, 2418,
-        86,   86, 2420,   86, 2414,   86, 2421,   86,   86,   86,
-      2416, 2423, 2424,   86,   86, 2425, 2428, 2429,   86,   86,
-      2430, 2431, 2433, 2432,   86,   86,   86, 2435,   86, 2426,
-      2434, 2436,   86,   86,   86, 2438,   86,   86, 2437,   86,
-      2427,   86,   86, 2439, 2440,   86, 2441,   86,   86,   86,
-      2444,   86,   86, 2447, 2442,   86, 2453,   86,   86,   86,
-      2445, 2443, 2446, 2451,   86,   86,   86, 2448, 2449, 2454,
-        86, 2450,   86,   86, 2455, 2456,   86, 2452,   86,   86,
-        86, 2465,   86, 2457, 2462, 2460,   86,   86,   86,   86,
-      2459, 2463, 2458,   86, 2466, 2461,   86,   86, 2464,   86,
-        86,   86,   86,   86, 2476,   86, 2467, 2468, 2469, 2474,
-        86,   86,   86,   86, 2481, 2504, 2470, 2477, 2472, 2479,
-      2471, 2473, 2475,   86, 2478, 2483,   86,   86,   86, 2480,
-        86, 2485, 2484, 2482,   86,   86,   86,   86, 2489, 2490,
-        86,   86,   86, 2486, 2491, 2492,   86,   86, 2487, 2488,
-      2493,   86, 2495,   86, 2494,   86, 2496, 2498,   86, 2497,
-      2499,   86,   86,   86, 2505,   86,   86, 2500, 2501, 2506,
-        86, 2508,   86, 2502,   86, 2503,   86, 2509,   86, 2510,
-      2512,   86,   86,   86,   86, 2507, 2515,   86, 2514, 2516,
-        86,   86,   86,   86,   86,   86, 2511, 2513, 2517,   86,
-      2518, 2523,   86,   86, 2522, 2525,   86, 2520,   86, 2519,
-        86,   86,   86, 2521, 2524, 2527,   86, 2528,   86, 2529,
-        86, 2526,   86, 2530, 2532,   86,   86, 2533, 2535, 2538,
-        86, 2537,   86, 2534,   86, 2536,   86,   86, 2531, 2543,
-        86, 2542,   86,   86,   86,   86, 2548,   86, 2545,   86,
-        86, 2541, 2539,   86,   86,   86,   86, 2540,   86, 2546,
-      2547, 2544, 2550,   86, 2551,   86, 2555, 2556,   86, 2549,
-      2557, 2552, 2553,   86, 2561, 2562, 2558,   86,   86,   86,
-        86,   86, 2554, 2563, 2564,   86,   86,   86,   86,   86,
-        86, 2559, 2568, 2560, 2566, 2570,   86, 3562,   86, 2574,
-        86, 2571, 2565, 2572, 2573,   86, 2567, 2575, 2578, 2576,
-        86,   86, 2569,   86,   86, 2577, 2579,   86,   86,   86,
-        86,   86, 2580, 2583,   86,   86,   86,   86, 2584,   86,
-      2585, 2582, 2589, 2586, 2587, 2581, 2590,   86,   86,   86,
-      2588, 2591,   86,   86, 2595, 2596,   86, 2592, 2594, 2593,
-        86,   86,   86, 2597,  170, 2599,   86, 2600,   86, 2601,
-        86, 2598, 2606,   86,   86,   86,   86,   86,   86,   86,
-      2602,   86, 2603,   86, 2604, 2608, 2605, 2609,   86, 2607,
-      2612, 2613,   86, 2610, 2611, 2616,   86, 2614, 2617,   86,
-      2635, 2615,   86, 2618, 2619,   86,   86,   86, 2622, 2620,
-      2623,   86, 2621,   86,   86,   86,   86, 2625,   86,   86,
-      2624,   86, 2627,   86,   86, 2631, 2632, 2626,   86, 2629,
-        86, 2628,   86, 2634,   86, 2637,   86, 2636, 2638,   86,
-        86,   86, 2630,   86, 2633, 2639,   86,   86, 2644,   86,
-      2640, 2643, 2641,   86,   86,   86,   86,   86, 2646,   86,
-        86,   86,   86,   86, 2651, 2654, 2642, 2645, 2653,   86,
-      2656,   86,   86, 2650,   86, 2647, 2648, 2649, 2655,   86,
-      2657, 2652,   86,   86, 2662,   86,   86, 2660,   86,   86,
-      2666,   86,   86, 2658, 2665,   86,   86, 2668, 2659, 2667,
-      2663, 2669, 2664,   86, 2661,   86, 2671,   86,   86,   86,
-      2672,   86, 2674, 2675, 2676,   86,   86, 2670, 2678,   86,
-        86, 2680,   86,   86,   86, 2679,   86, 2677, 2682,   86,
-        86,   86,   86,   86, 2673, 2693, 2686,   86,   86,   86,
-      2684,   86, 2689, 2690, 2681,   86, 2685, 2683, 2691,   86,
-      2692,   86,   86, 2695, 2688,   86,   86,   86, 2687, 2694,
-        86, 2696, 2698, 2700,   86,   86,   86, 2703,   86,   86,
-        86, 2708,   86, 2705, 2704, 2699, 2701, 2697, 2702,   86,
-        86,   86,   86, 2709,   86, 2707,   86, 2706,   86, 2712,
-      2713,   86,   86,   86,   86,   86, 2719, 2714, 2717,   86,
-      2710, 2718, 2711, 2716, 2715,   86,   86,   86,   86, 2720,
-        86, 2722, 2726,   86,   86, 2725,   86, 2721, 2727,   86,
-      2728,   86, 2729,   86,   86,   86, 2730, 2723, 2724, 2732,
-        86, 2733,   86, 2734, 2731,   86, 2735, 2736,   86,   86,
-        86,   86,   86,   86, 2742,   86, 2744,   86, 2745,   86,
-        86, 2738,   86,   86,   86,   86,   86, 2748, 2737, 2741,
-      2739, 2743, 2740, 2746,   86, 2747, 2749,   86,   86, 2751,
-      2754,   86, 2756,   86,   86, 2750, 2752, 2755,   86,   86,
-        86,   86,   86,   86, 2763,  170,   86, 2753,   86, 2765,
-        86,   86, 2759,   86,   86, 2761,   86, 2764, 2758, 2766,
-      2757, 2767, 3562,   86, 2760, 2762, 2768,   86,   86,   86,
-      2772, 2769,   86, 2774, 2775,   86, 2770, 2773,   86, 2771,
-      2776,   86, 2777,   86,   86, 2778,   86, 2779,   86, 2780,
-      2781,   86,   86, 2784, 2783,   86,   86,   86,   86,   86,
-        86,   86, 2782, 2791,   86,   86,   86, 2789,   86, 2795,
-      2796,   86, 2785, 2786,   86,   86,   86, 2788, 2787, 2790,
-      2792,   86, 2793, 2794, 2803, 2799, 2800,   86, 2797,   86,
-      2801, 2802,   86,   86,   86,   86,   86, 2798,   86,   86,
-        86, 2806,   86, 2813,   86, 2814,   86, 2804,   86, 2812,
-      2807, 2805,   86,   86, 2808, 2810, 2809,   86,   86, 2811,
-      2818,   86,   86, 2817, 2819,   86, 2820,   86, 2815,   86,
-      2816, 2821,   86, 2822,   86,   86,   86,   86, 2829, 2825,
-        86, 2823, 2828, 2824, 2830,   86,   86, 2826, 2831, 2832,
-        86,   86,   86,   86,   86, 2827,   86, 2835,   86, 2833,
-        86,   86, 2836, 2834,   86, 2840, 2841,   86, 2838,   86,
-        86,   86,   86, 2837, 2846, 2847,   86,   86, 2839, 2850,
-        86,   86,   86,   86, 2842,   86, 2843, 2848, 2845, 2844,
-        86,   86, 2851,   86, 2853, 2849,   86, 2852, 2854,   86,
-      2855, 2856,   86,   86, 2857, 2859, 2861,   86, 2858,   86,
-        86, 2865,   86,   86, 2864, 2862, 2867,   86, 2863, 2860,
-        86,   86,   86,   86,   86, 2868, 2873,   86,   86, 2874,
-      2869,   86, 2866, 2876,   86, 2871,   86,   86, 2870,   86,
-      2883,   86,   86,   86, 2872,   86,   86,   86, 3562, 2877,
-      2878, 2880, 2879, 2875, 2881, 2882, 2886,   86,   86,   86,
-        86,   86, 2885, 2884, 2887, 2888, 2890,   86,   86,   86,
-        86,   86, 2889,   86,   86, 2891,   86,   86, 2893, 2894,
-        86, 2896, 2897, 2899,   86, 2895,   86, 2892, 2898, 2900,
-        86, 2901,   86, 2902, 2903,  170,   86,   86, 2906, 2904,
-      2908, 2905,   86,   86, 2910,   86,   86, 2909,   86, 2913,
-        86, 2914,   86, 2912,   86, 2907, 2916,   86,   86, 2918,
-      2911, 2917,   86,   86, 2919,   86,   86, 2915, 2920, 2923,
-        86, 2921,   86,   86, 2924,   86, 2922, 2925,   86,   86,
-        86,   86, 2926, 2930, 2931,   86, 2932, 2928,   86,   86,
-        86,   86,   86, 2927,   86, 2934, 2935, 2933,   86,   86,
-        86, 2929, 2936, 2938, 2937, 2939,   86,   86,   86,   86,
-        86, 2940, 2941,   86, 2945,   86,   86, 2943, 2944, 2946,
-      2942, 2947, 2949,   86,   86,   86,   86,   86,   86, 2950,
-      2954,   86,   86, 2948,   86, 2957,   86, 2959,   86, 2955,
-        86,   86,   86, 2951,   86, 2952, 2953, 2964,   86,   86,
-        86, 2958,   86, 2956, 2965, 2968, 2961, 2966,   86, 2960,
-      2969,   86, 2962, 2971, 2963,   86,   86, 2972,   86,   86,
-      2970,   86,   86, 2973, 2967,   86,   86, 2975,   86, 2978,
-        86, 2979,   86,   86, 2976,   86, 2980,   86, 2983, 2977,
-        86, 2985,   86,   86, 2981,   86, 2974, 2988, 2982, 2986,
-        86, 2987,   86,   86,   86, 2990,   86,   86, 2984, 2989,
-        86, 2994, 2992,   86,   86, 2991, 2995,   86,   86, 2998,
-      2999,   86, 2993, 2997,   86, 2996, 3000,   86, 3001,   86,
-        86,   86, 3006, 3002, 3005,   86,   86, 3003, 3008,   86,
-        86, 3009, 3010,   86, 3004,   86, 3012,   86,   86,   86,
-        86, 3016, 3017,   86,   86,   86, 3007,   86, 3018, 3019,
-      3011, 3013,   86,   86, 3015,   86, 3021, 3014, 3020,   86,
-        86, 3022,   86, 3027,   86,   86, 3026,   86, 3023,   86,
-      3031, 3029, 3024, 3030,   86,   86,   86,   86,   86, 3025,
-      3033, 3035,   86, 3032,   86, 3036,   86,   86,   86, 3028,
-        86, 3039, 3043,   86,   86,   86,   86, 3055,   86, 3037,
-      3038, 3034,   86,   86, 3042, 3040, 3045,   86, 3041, 3044,
-      3047, 3050, 3562, 3048, 3046, 3049, 3051,   86, 3052,   86,
-      3056, 3054,   86, 3053,   86,   86, 3057,   86, 3058,   86,
-      3059,   86, 3060,   86,   86,   86,   86,   86, 3061, 3062,
-        86,   86, 3066,   86,   86,   86, 3068, 3072,   86,   86,
-      3065,   86, 3069, 3063, 3073,   86, 3562,   86, 3077, 3067,
-      3074, 3064, 3076,   86, 3070, 3071, 3079, 3075, 3078,   86,
-        86,   86,   86, 3081,   86, 3080,   86,   86,   86,   86,
-      3082, 3087,   86, 3088,   86, 3083, 3084, 3085,   86,   86,
-        86,   86, 3089,   86, 3094,   86,   86, 3086, 3090, 3095,
-        86,   86, 3092,   86, 3097,   86,   86, 3098, 3093, 3091,
-      3099, 3100,   86,   86, 3096, 3101,   86, 3105,   86,   86,
-      3102, 3103,   86,   86,   86,   86,   86, 3112, 3106, 3109,
-        86, 3104,   86,   86, 3107, 3110,   86,   86,   86,   86,
-      3117, 3115, 3113, 3116,   86, 3111, 3118,   86, 3108, 3119,
-        86,   86, 3122, 3114,   86, 3123, 3124,   86, 3125,   86,
-      3120, 3126,   86, 3127, 3121,   86,   86,   86, 3131,   86,
-        86, 3130,   86,   86,   86, 3132,   86, 3133, 3134,   86,
-        86,   86, 3142,   86,   86, 3128, 3129, 3135, 3136, 3138,
-      3140,   86,   86,   86, 3137, 3143,   86, 3144, 3139,   86,
-        86, 3146,   86,   86, 3145,   86, 3141, 3151,   86,   86,
-        86,   86, 3147,   86,   86,   86,   86, 3148, 3149, 3155,
-        86, 3160, 3152, 3153, 3154, 3150,   86,   86,   86, 3156,
-      3157,   86, 3158,   86, 3159,   86, 3162, 3163, 3166,   86,
-        86,   86, 3168,   86, 3169,   86,   86, 3161,   86, 3164,
-        86, 3171, 3172,   86,   86, 3178,   86,   86,   86, 3165,
-      3167, 3170, 3175, 3177, 3173,   86, 3174,   86, 3181,   86,
-      3176,   86,   86, 3184,   86,   86, 3180,   86, 3187,   86,
-        86, 3189,   86,   86,   86, 3179,   86,   86, 3190, 3185,
-      3183,   86, 3182, 3192,   86, 3562, 3186, 3193,   86, 3194,
-      3188, 3196,   86,   86, 3191,   86, 3195,   86,   86, 3201,
-        86, 3200, 3205,   86, 3198,   86, 3199,   86,   86,   86,
-      3203, 3197, 3207,   86, 3202,   86, 3208,   86, 3209, 3212,
-      3204,   86, 3206, 3213,   86,   86,   86, 3210, 3211, 3214,
-      3215,   86,   86, 3218,   86,   86,   86, 3217, 3221, 3216,
-      3219,   86, 3224,   86,   86,   86,   86,   86,   86,   86,
-      3220, 3229,   86,   86,   86, 3233,   86, 3225, 3222, 3223,
-        86, 3228,   86, 3232, 3226, 3234,   86, 3236, 3230, 3231,
-      3235,   86, 3227,   86, 3237, 3239,   86,   86, 3238, 3240,
-        86, 3241,   86, 3242,   86,   86, 3245,   86,   86,   86,
-      3243,   86,   86, 3246, 3247,   86,   86,   86,   86,   86,
-      3249,   86, 3254, 3255,   86,   86, 3248,   86, 3252,   86,
-        86, 3244,   86, 3250,   86, 3261,   86, 3262,   86, 3251,
-      3253, 3258, 3263, 3260, 3257, 3256,   86,   86,   86, 3259,
-      3264, 3265, 3266, 3268,   86, 3269,   86,   86,   86, 3272,
-        86,   86, 3270, 3275,   86,   86,   86, 3267, 3274,   86,
-        86, 3276, 3271, 3273, 3277,   86,   86,   86,   86,   86,
-      3278,   86, 3281,   86,   86, 3283,   86,   86,   86, 3279,
-      3282, 3284,   86,   86,   86,   86, 3280,   86,   86, 3293,
-      3285, 3296, 3294, 3297, 3286, 3288, 3287,   86, 3289, 3292,
-      3290, 3291,   86,   86,   86, 3295, 3299, 3301,   86, 3302,
-        86,   86, 3304,   86,   86, 3303,   86, 3300, 3562, 3305,
-      3307,   86, 3298, 3308,   86,   86, 3310, 3311,   86,   86,
-      3309, 3312, 3313, 3318,   86, 3306, 3314,   86, 3315, 3316,
-        86,   86,   86,   86, 3317, 3320,   86,   86,   86,   86,
-        86, 3319, 3326,   86,   86, 3325,   86,   86,   86,   86,
-        86, 3321, 3322, 3330, 3329,   86,   86, 3323,   86, 3324,
-      3334, 3335,   86, 3332, 3327, 3331,   86, 3336, 3333,   86,
-      3337, 3328, 3338,   86, 3339,   86,   86,   86, 3344,   86,
-      3346, 3340, 3341, 3345,   86, 3342,   86,   86, 3343,   86,
-        86,   86,   86, 3353,   86, 3350, 3351, 3354,   86,   86,
-      3356,   86, 3348,   86, 3347, 3355, 3357,   86, 3562,   86,
-      3349, 3352,   86, 3358, 3359, 3360,   86, 3361,   86, 3363,
-        86, 3362, 3364,   86, 3365,   86, 3366,   86, 3367,   86,
-      3368,   86, 3369,   86, 3370,   86, 3371,   86,   86,   86,
-      3374,   86,   86,   86,   86,   86, 3378,   86, 3373, 3380,
-        86, 3375,   86,   86,   86, 3376,   86,   86, 3384, 3385,
-        86, 3387,   86, 3379, 3372, 3377, 3382, 3381, 3383, 3386,
-        86,   86,   86,   86, 3389,   86, 3391,   86, 3394,   86,
-      3393,   86,   86,   86,   86,   86, 3396,   86, 3388,   86,
-        86, 3392,   86, 3395, 3402, 3400, 3401,   86, 3390, 3399,
-        86, 3397,   86, 3398,   86, 3405,   86, 3403,   86, 3406,
-      3408,   86, 3409,   86,   86, 3407, 3410,   86, 3413,   86,
-        86,   86, 3415, 3404,   86,   86,   86, 3411, 3412,   86,
-      3418, 3419,   86, 3421,   86, 3417,   86,   86,   86,   86,
-      3414, 3420,   86,   86, 3416,   86,   86, 3422,   86,   86,
-      3430,   86, 3428, 3425, 3432, 3423, 3424, 3427, 3429, 3433,
-        86,   86,   86,   86, 3426,   86, 3435, 3438,   86, 3431,
-        86, 3434, 3440,   86, 3439,   86, 3436,   86, 3441, 3442,
-        86, 3443,   86, 3437,   86,   86,   86, 3446,   86, 3444,
-      3447, 3448,   86, 3451,   86, 3445,   86,   86,   86,   86,
-        86, 3454, 3455,   86, 3457,   86,   86, 3450, 3452, 3453,
-      3458,   86,   86, 3449,   86, 3459, 3461,   86, 3456, 3464,
-        86,   86, 3465,   86,   86, 3460,   86, 3462, 3468, 3469,
-        86, 3466, 3463,   86,   86,   86,   86, 3474,   86,   86,
-      3470, 3473,   86, 3467, 3475,   86, 3471,   86,   86, 3472,
-        86,   86, 3479,   86,   86,   86, 3481,   86,   86,   86,
-      3476, 3478, 3477, 3486, 3487, 3488,   86, 3483, 3484,   86,
-      3480,   86, 3482,   86, 3492,   86, 3485,   86, 3494,   86,
-      3495,   86, 3493,   86,   86,   86, 3496,   86, 3497, 3489,
-      3491, 3490, 3498, 3500, 3501,   86,   86, 3503,   86,   86,
-        86, 3502,   86,   86, 3499,   86, 3504,   86, 3509,   86,
-      3506,   86,   86,   86,   86,   86, 3512, 3513,   86, 3505,
-      3514,   86,   86, 3515, 3507, 3511, 3508, 3516, 3510,   86,
-        86, 3520, 3517,   86,   86,   86,   86, 3524, 3521,   86,
-      3518,   86, 3519,   86, 3526,   86, 3527, 3522,   86,   86,
-      3531,   86,   86, 3528, 3534,   86, 3529, 3532, 3525,   86,
-      3530, 3523,   86,   86, 3533,   86, 3535,   86,   86,   86,
-      3536,   86, 3538, 3540,   86,   86, 3542,   86,   86,   86,
-      3543,   86, 3546,   86, 3537, 3547,   86, 3539, 3541,   86,
-      3550, 3551,   86,   86, 3553,   86, 3544, 3545, 3548,   86,
-      3552,   86, 3549, 3554,   86,   86, 3555,   86,   86, 3562,
-      3556, 3562, 3557, 3560,   86, 3561,   86, 3562, 3562, 3562,
-      3558, 3562, 3562, 3562, 3562, 3562, 3562, 3559,   47,   47,
-        47,   47,   47,   47,   47,   52,   52,   52,   52,   52,
-        52,   52,   57,   57,   57,   57,   57,   57,   57,   63,
-        63,   63,   63,   63,   63,   63,   68,   68,   68,   68,
-        68,   68,   68,   74,   74,   74,   74,   74,   74,   74,
-        80,   80,   80,   80,   80,   80,   80,   89,   89, 3562,
-        89,   89,   89,   89,  160,  160, 3562, 3562, 3562,  160,
-       160,  162,  162, 3562, 3562,  162, 3562,  162,  164, 3562,
-      3562, 3562, 3562, 3562,  164,  167,  167, 3562, 3562, 3562,
-       167,  167,  169, 3562, 3562, 3562, 3562, 3562,  169,  171,
-       171, 3562,  171,  171,  171,  171,  174, 3562, 3562, 3562,
-      3562, 3562,  174,  177,  177, 3562, 3562, 3562,  177,  177,
-        90,   90, 3562,   90,   90,   90,   90,   17, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562
++       86,  487,   86,   86,   86,  488,   86,  493,   86,  513,
++       86,   86,  490,   86,  489,  500,  501,   86,  494,  492,
++      495,  496,   86,  491,  622,   86,  499,   86,   86,  497,
++      502,  505,  503,  506,   86,   86,  498,   86,  504,  514,
++      508,  515,   86,   86,  512,   86,   86,   86,  507,   86,
++       86,  516,  530,  509,   86,  170,  510,   86,  511,   86,
++
++      517,  534,  518,  529,   86,  532,   86,  535,  519,  533,
++      531,  537,  520,   86,   86,  547,  552,  521,   86,   86,
++      522,   86,  523,  536,  524,  548,   86,  555,  546,   86,
++      549,   86,  550,  553,  554,   86,   86,  525,   86,  551,
++      526,  170,  527,  557,  528,   86,   86,  538,  539,   86,
++       86,  563,  560,   86,  556,  558,  559,  540,  541,  542,
++      543,  544,  561,   86,  545,   86,   86,   86,   86,  564,
++      565,  568,  562,  566,   86,  570,   86,  571,  567,   86,
++      569,   86,  575,   86,   86,   86,  573,  572,   86,   86,
++      578,  579,  580,  574,   86,   86,   86,   86,  593,   86,
++
++      577,   86,   86,  585,   86,   86,  587,  588,  576,  581,
++       86,  582,  583,  584,  590,   86,   86,  586,   86,  591,
++      595,   86,   86,  609,  589,   86,   86,   86,   86,   86,
++      599,  600,   86,  611,  592,  594,  597,  596,  635,  598,
++       86,  610,  601,   86,  602,   86,  614,  612,  615,  613,
++      603,   86,   86,   86,   86,  621,   86,  616,  604,  605,
++      617,   86,  606,  607,  618,   86,  608,  623,   86,   86,
++      619,   86,  627,  620,  624,   86,  626,   86,   86,   86,
++       86,  628,   86,   86,  625,   86,   86,  631,  632,   86,
++      633,   86,   86,   86,  629,  639,   86,   86,  634,   86,
++
++      641,  630,  640,  638,  637,  636,   86,  643,   86,   86,
++      646,  642,   86,  644,  645,   86,  648,   86,   86,   86,
++       86,   86,   86,   86,   86,   86,  650,  654,   86,  652,
++       86,   86,   86,  662,  647,  168,  656,   86,  649,   86,
++      651,  663,  653,  655,  661,  660,  657,  664,  658,  659,
++       86,  666,   86,   86,   86,  665,   86,  669,   86,   86,
++      667,  674,   86,  668,   86,   86,  677,   86,  676,   86,
++      670,  673,   86,  671,  672,   86,   86,   86,   86,   86,
++      680,  683,   86,  679,  675,   86,   86,  684,   86,   86,
++      678,  686,   86,   86,  685,   86,   86,  701,  681,  682,
++
++       86,  687,  689,   86,   86,  166,   86,  688,   86,  690,
++      700,  703,  698,   86,  691,  746,  692,  699,  708,  702,
++      704,   86,  693,   86,  694,  705,   86,  695,  696,   86,
++      713,  706,   86,   86,  697,  707,   86,  709,  712,  710,
++       86,  714,  711,   86,   86,   86,  717,   86,  715,   86,
++      720,   86,  722,   86,   86,   86,  716,   86,  726,   86,
++       86,   86,   86,  165,   86,  719,  724,  718,  723,  729,
++      725,  730,  721,   86,   86,   86,   86,   86,  727,   86,
++      731,  733,  728,  734,   86,   86,  170,  737,  732,  735,
++      736,  738,  739,   86,   86,  740,   86,   86,  741,   86,
++
++       86,  744,   86,  749,   86,  750,   86,  752,   86,  742,
++      748,   86,  745,   86,  743,   86,   86,   86,  751,  754,
++      753,   86,   86,   86,  747,  758,  757,   86,  763,  755,
++      163,   86,  756,  764,   86,   86,  759,  766,   86,  762,
++      767,   86,  768,  760,  765,   86,  761,  771,   86,  769,
++       86,  770,   86,   86,  772,   86,  775,  776,  774,  773,
++       86,   86,   86,   86,  777,   86,   86,  778,   86,  781,
++       86,   86,   86,  780,  786,  782,  785,   86,   86,   86,
++       86,   86,  779,  788,   86,   86,  790,   86,  792,   86,
++      784,  783,   86,   86,   86,   86,  789,  787,  791,  795,
++
++      793,  799,   86,   86,   86,   86,   86,   86,  800,  797,
++      794,  796,   86,  807,   86,  798,  801,  802,  161,   86,
++      809,   86,  803,  806,  808,  804,  805,   86,   86,   86,
++      814,   86,  810,  811,  813,  812,   86,   86,  815,   86,
++      816,   86,   86,  817,   86,  820,  819,  822,   86,  821,
++       86,   86,   86,   86,  828,   86,   86,  824,  826,   86,
++       86,   86,   86,  835,  825,  818,  823,   86,  829,   86,
++       86,  833,  827,   86,   86,  830,  836,  832,  841,  834,
++       86,  831,   86,  837,  838,  839,   86,   86,   86,  840,
++       86,   86,  842,  847,  849,  845,  843,   86,   86,   86,
++
++       86,   86,  844,  848,  850,   86,   86,  853,   86,   86,
++      846,  852,  854,   86,  857,   86,   86,  860,  855,   86,
++       86,  856,  851,   86,  863,  862,   86,  865,  858,  859,
++      866,   86,   86,   86,  861,   86,   86,  871,  867,  868,
++      864,   86,   86,   86,  869,  872,  875,  873,   86,  877,
++       86,  876,   86,   86,   86,  879,  881,  874,   86,  870,
++      878,   86,   86,   86,   86,  887,   86,   86,   86,  880,
++      888,   86,   86,   86,   86,   86,  882,  889,   86,  883,
++      884,  894,  885,   86,  886,  892,  897,  890,  891,   86,
++      895,   86,   86,  893,   86,  898,   86,   86,  896,   86,
++
++       86,   86,   86,  899,  904,   86,  900,   86,   86,   86,
++      901,   86,   86,  911,   86,  906,  903,  902,  914,  905,
++      907,   86,  913,  908,  909,  912,  910,   86,  916,   86,
++       86,   86,   86,   86,   86,   86,  919,   86,   86,   86,
++      917,  915,  923,  924,  918,   86,  925,  922,  920,   86,
++      927,   86,  921,   86,  928,   86,   86,   86,  170,   86,
++      930,  926,  935,  936,  931,   86,  933,   86,   86,  929,
++      932,  934,   86,   86,   86,  937,  940,  938,   86,  939,
++       86,  944,   86,   86,   86,  945,  947,   86,  948,  941,
++       86,   86,  942,  946,  951,   86,   86,   86,   86,  949,
++
++       86,  943,  953,   86,   86,  957,   86,   86,  954,   86,
++      950,   86,  958,  959,   86,  952,   86,   86,   86,   86,
++      974,  956,  955,   86,   86,  960,  972,   86,   86,  970,
++      973,  178,  976,  975,  961,  971,  962,   86,   86,  963,
++       86,   86,  964,   86,  977,  978,  965,   86,  979,  966,
++       86,  980,  983,   86,  981,  985,  967,  968,  982,  969,
++       86,   86,   86,   86,   86,   86,   86,  994,   86,  997,
++       86,   86,  999,  984,   86,  986,  987,   86,  988,   86,
++      993,  989,  996, 1019,  995, 1004,  990,   86, 1000,   86,
++      998, 1021,  991,  992, 1001,   86, 1002, 1007,   86,   86,
++
++     1003, 1006, 1008,   86, 1005,   86, 1009,   86, 1010,   86,
++       86, 1013,   86,   86, 1012,   86, 1015, 1014,   86,   86,
++     1011, 1017,   86, 1016,   86,   86, 1018,   86,   86, 1025,
++       86,   86,   86,   86, 1020, 1024,   86, 1028,   86, 1022,
++       86, 1032, 1085,   86, 1023, 1026, 1027,   86, 1033, 1029,
++     1030, 1034,   86, 1035, 1038, 1031,   86,   86, 1036,   86,
++       86, 1037, 1040,   86,   86, 1042, 1043,   86,   86, 1041,
++       86,   86,   86, 1044, 1046,   86, 1039,   86, 1045, 1047,
++       86,   86,   86,   86,   86, 1048, 1050, 1051,   86, 1052,
++     1049,   86, 1056,   86,   86, 1059,   86,   86,   86,   86,
++
++     1060,   86, 1053, 1057, 1054, 1058,   86,   86, 1062,   86,
++     1055,   86,   86,   86, 1065, 1067, 1063, 1061, 1068,   86,
++     1066,   86,   86,   86,   86, 1064,   86,   86, 1077, 1073,
++       86, 1071, 1074, 1069,   86,   86, 1072, 1075,   86,   86,
++     1076,   86, 1086,   86, 1080, 1078, 1070,   86,   86,   86,
++     1083,   86,   86, 1079, 1088,   86,   86,   86, 1084, 1082,
++       86,   86,   86, 1081,   86,   86, 1096, 1099,   86, 1087,
++     1094,   86, 1089,   86, 1092, 1090, 1091, 1093,   86,   86,
++     1100,   86, 1097, 1095, 1098,   86,   86, 1103,   86, 1106,
++     1101,   86, 1105, 1109,   86, 1102, 1108,   86,   86, 1104,
++
++       86,   86, 1107,   86,   86,   86,   86, 1119,   86, 1112,
++       86, 1114,   86,   86, 1120,   86, 1110, 1122, 1111,   86,
++       86, 1113,   86,   86, 1115, 1117, 1121, 1116, 1118, 1123,
++     1124, 1125, 1126,   86,  176,   86,   86,   86,   86, 1127,
++     1132, 1128,   86,   86, 1133, 1129, 1134, 1131, 1135,   86,
++       86, 1139,   86, 1130,   86,   86, 1140,   86, 1136, 1141,
++       86,   86,   86, 1138,   86, 1144, 1147, 1137,   86, 1143,
++       86, 1148,  170,   86, 1150,   86, 1151,   86, 1145, 1142,
++     1146,   86,   86, 1149,   86,   86, 1154,   86,   86,   86,
++       86,   86, 1167,   86,   86, 1152,   86, 1153, 1168, 1157,
++
++     1158, 1155,   86, 1169, 1170,   86, 1172,   86, 1156, 1159,
++     1174, 1160,   86,   86,   86, 1161,   86, 1162, 1171, 1175,
++     1177, 1163, 1173, 1164,   86, 1178,   86, 1176, 1165,   86,
++     1180,   86,   86, 1166,   86, 1181,   86,   86, 1179, 1183,
++       86, 1184, 1187,   86, 1186,   86,   86, 1182, 1188,   86,
++     1195, 1185, 1197,   86, 1191, 1193,   86, 1190, 1192,   86,
++     1196, 1189, 1198, 1199, 1194,   86,   86,   86,   86,   86,
++       86,   86,   86,   86,   86,   86, 1214, 1211,   86,   86,
++       86,   86,   86, 1210, 1215, 1213, 1202, 1200, 1212, 1201,
++       86, 1203,   86,   86, 1217, 1218, 1204,   86, 1205, 1219,
++
++     1216, 1220, 1222,   86, 1206, 1224,   86,   86,   86, 1207,
++     1208, 1223,   86, 1221,   86,   86, 1209, 1229,   86, 1230,
++       86, 1225, 1232, 1226,   86,   86,   86, 1233,   86,   86,
++     1227, 1235, 1228, 1237,   86,   86,   86,   86,   86,   86,
++     1231, 1238, 1236, 1243, 1234,   86, 1240, 1241,   86,   86,
++       86, 1242,   86, 1239, 1244, 1246,   86,   86,   86,   86,
++       86,   86,   86,   86,   86,   86,  175, 1245, 1253, 1251,
++     1248, 1250, 1247, 1252, 1255, 1254,   86, 1249,   86, 1256,
++       86, 1258,   86, 1259, 1260,   86,   86,   86,   86,   86,
++     1257,   86, 1264, 1265, 1266,   86, 1261,   86, 1268, 1269,
++
++     1267, 1263, 1270, 1262, 1271,   86,   86,   86,   86,   86,
++     1275,   86,   86,   86, 1277, 1276,   86, 1278,   86,   86,
++     1273, 1272, 1279,   86,   86, 1274, 1280,   86,   86, 1286,
++     1288, 1281,   86,   86, 1282,   86,   86, 1284, 1290,   86,
++       86, 1283, 1285, 1291,   86, 1293,   86, 1289, 1287, 1294,
++       86,   86,   86,   86, 1292,   86, 1296, 1297,   86,   86,
++       86,   86,   86, 1300, 1299, 1301,   86,   86, 1303, 1298,
++     1306, 1295, 1305, 1302,   86, 1304,   86, 1307,   86,   86,
++       86, 1311, 1310, 1308,   86, 1309,   86,   86,   86, 1317,
++       86, 1315, 1318, 1319, 1322,   86,   86,   86,   86,   86,
++
++       86, 1320, 1312, 1316,   86, 1313,   86, 1314, 1324, 1321,
++       86, 1323,   86, 1328,   86, 1325,   86, 1327,   86,   86,
++       86, 1329, 1330,   86,   86,   86,   86, 1331,   86, 1332,
++     1326, 1335,   86,   86,   86, 1336,   86, 1337, 1338,   86,
++     1342, 1343, 1333,   86, 1334,   86,   86,   86, 1340,   86,
++     1346,   86, 1339,   86, 1345,   86,   86, 1351, 1341,   86,
++     1344,   86, 1347,   86,   86,   86,   86, 1348, 1349, 1357,
++       86,   86, 1353, 1350,  170,   86,   86, 1352,   86, 1358,
++     1359, 1360,   86, 1354,   86, 1356,   86, 1367,   86,   86,
++     1355, 1365, 1362,   86, 1361, 1369, 1364, 1363, 1366, 1370,
++
++       86,   86,   86,   86,   86,   86, 1373, 1372, 1374,   86,
++       86,   86,   86, 1368,   86,   86, 1371, 1377,   86,   86,
++     1383,   86, 1380, 1375, 1376,   86, 1378,   86,   86,   86,
++       86,   86,   86, 1379, 1381, 1387, 1393, 1382, 1397, 1384,
++       86,   86,   86, 1386,   86, 1385, 1389,   86, 1394, 1395,
++     1388, 1396,   86,   86, 1398, 1390, 1399, 1391,   86,   86,
++     1392, 1400,   86,   86, 1406,   86,   86, 1403, 1402,   86,
++       86, 1407,   86,   86, 1411,   86, 1401, 1405,   86,   86,
++       86,   86, 1404, 1408, 1409, 1412, 1413,   86, 1417,   86,
++       86, 1410, 1415, 1416,   86,   86,   86,   86, 1414, 1421,
++
++       86,   86,   86,   86,   86, 1418,   86, 1424, 1422, 1419,
++       86,   86, 1423, 1425, 1420,   86, 1429, 1431,   86,   86,
++       86, 1426, 1428,   86, 1427,   86, 1430,   86, 1434,   86,
++       86, 1439,   86,   86,   86, 1432, 1441, 1443, 1433, 1436,
++     1435, 1437,   86,   86,   86, 1440, 1438,   86, 1444,   86,
++       86,   86, 1442,   86, 1447, 1446, 1449,   86, 1445,   86,
++       86, 1451, 1450,   86, 1456, 1448, 1452,   86,   86,   86,
++     1466, 1454, 1453, 1455,   86, 1457,   86, 1479, 1465, 1458,
++       86, 1464, 1459, 1460,   86, 1467,   86, 1461, 1470, 1469,
++       86, 1468,   86, 1462,   86, 1471,   86, 1463,   86, 1473,
++
++       86, 1472,   86, 1475,   86, 1480,   86, 1476,   86, 1477,
++       86,   86,   86, 1474,   86, 1481, 1486, 1483,   86, 1487,
++     1478,   86,   86, 1488, 1484,   86,   86,   86, 1482,  170,
++     1489,   86, 1485,   86, 1490,   86, 1491,   86, 1496,   86,
++     1498, 1492, 1501, 1493,   86, 1494,   86, 1495, 1502, 1497,
++     1499, 1500, 1503,   86,   86, 1506,   86,   86,   86,   86,
++     1507,   86,   86, 1505, 1504, 1508,   86, 1510, 1512,   86,
++       86, 1516, 1511,   86,   86, 1518,   86,   86, 1517, 1509,
++       86,   86,   86,   86, 1515, 1513,   86, 1522, 1514, 1520,
++     1521,   86, 1519,   86,   86, 1524,   86, 1523, 1525, 1529,
++
++       86, 1528,   86, 1531,   86,   86,   86, 1532,   86, 1533,
++       86, 1526,   86, 1534, 1537,   86,   86, 1530,   86, 1527,
++       86, 1536, 1539,   86,   86, 1540,   86,   86,   86, 1535,
++       86, 1541, 1545,   86,   86,   86, 1538, 1548, 1550, 1542,
++       86, 1543,   86,   86,   86, 1547,   86, 1551, 1544, 1552,
++     1546,   86,   86, 1553,   86, 1549,  168, 1555,   86,   86,
++     1558, 1554,   86, 1557, 1559,   86,   86, 1556, 1562,   86,
++     1560, 1561,   86, 1564, 1563,   86,   86,   86,   86,   86,
++     1565, 1570, 1571, 1567,   86, 1568,   86,   86,   86, 1572,
++     1574, 1573, 1569,   86, 1566,   86,   86,   86, 1578,   86,
++
++       86,   86, 1575,   86,  170,   86, 1580,   86, 1577,   86,
++     1586, 1587,   86,   86, 1576, 1582,   86,   86, 1588, 1583,
++     1579, 1581, 1589,   86,   86,   86,   86, 1584,   86,   86,
++       86, 1597, 1585, 1592,   86,   86,   86, 1590, 1594, 1595,
++       86, 1601,   86, 1591, 1593, 1602,   86, 1596,   86,   86,
++     1606,   86,   86, 1604, 1598, 1607,   86,   86, 1600,   86,
++     1599, 1609,   86,   86,   86, 1603,   86, 1610, 1605, 1608,
++       86, 1611, 1618, 1617,   86,   86,   86, 1612, 1613, 1615,
++     1619, 1614, 1616, 1620,   86, 1623, 1622,   86, 1621,   86,
++     1624,   86,   86,   86,   86, 1625,   86,   86, 1628, 1629,
++
++       86,   86,   86,   86,   86, 1638, 1633,   86,   86,   86,
++     1627,   86,   86, 1626,   86, 1631, 1635,   86, 1639,   86,
++     1632,   86, 1630, 1634, 1643, 1636, 1637, 1640, 1642,   86,
++     1641,   86,   86, 1644,   86, 1646,   86,   86, 1645,   86,
++       86, 1650, 1652,   86, 1647,   86, 1648, 1651,   86, 1656,
++       86, 1649,   86,   86, 1655,   86, 1660, 1653,   86,   86,
++     1661, 1658, 1662,   86, 1654, 1657,   86,  166,   86,   86,
++     1664,   86, 1663, 1659, 1665,   86,   86, 1666, 1670, 1667,
++     1668, 1669, 1671, 1672,   86,   86, 1673,   86,   86,   86,
++       86, 1674, 1675,   86,   86,   86, 1677,   86, 1676,   86,
++
++       86,   86,   86, 1683,   86,   86, 1682,   86,   86, 1679,
++     1686,   86, 1689, 1678, 1680, 1685, 1681, 1690,   86,   86,
++     1691,   86, 1687,   86, 1684, 1692,   86,   86, 1694,   86,
++     1688,   86,   86,   86,   86, 1702, 1698,   86, 1697, 1693,
++     1695,   86, 1696,   86,   86,   86,   86,   86, 1703, 1706,
++       86, 1699, 1701, 1700, 1709,   86, 1708, 1704,   86,   86,
++       86,   86,   86,   86, 1707, 1710, 1711,   86,   86, 1718,
++     1705,   86,   86,   86, 1719,   86, 1715, 1712, 1713,   86,
++     1714,   86, 1717, 1726, 1716, 1723,   86, 1722, 1724,   86,
++       86, 1720, 1721,   86, 1727, 1725,   86,   86,   86, 1730,
++
++       86,   86, 1728, 1731,   86,   86, 1734, 1738,   86, 1729,
++       86, 1740,   86, 1735,   86, 1739, 1732,   86, 1733, 1742,
++       86, 1737,   86, 1744, 1736,   86,   86, 1741,   86,   86,
++     1745,   86, 1746,   86, 1748, 1743,   86, 1747,   86, 1752,
++     1750, 1753,   86,   86, 1749,   86,   86,   86, 1757, 1758,
++       86, 1756, 1760,   86,   86,   86, 1751, 1761,   86, 1755,
++       86, 1754, 1762,   86,   86,   86,   86,   86, 1766,   86,
++     1759,   86,   86,   86, 1763,   86, 1764,   86, 1771,   86,
++     1765, 1769, 1772,   86, 1778,   86,   86, 1767, 1775, 1768,
++       86, 1770,   86, 1777, 1773,   86,   86,   86, 1774, 1776,
++
++       86, 1783,   86,   86, 1779, 1780,   86, 1786,   86, 1788,
++       86, 1784,   86,   86,   86, 1791, 1782, 1789,   86,   86,
++     1781, 1785,   86, 1787,   86,   86, 1790,   86, 1795,   86,
++     1794,  170, 1797,   86, 1792, 1798,   86, 1793, 1800,   86,
++       86, 1796, 1799, 1804,   86, 1801,   86, 1802,   86,   86,
++     1809, 1803,   86,   86,   86,   86,   86, 1810, 1813,   86,
++     1807, 1815, 1814, 1805, 1806,   86,   86,   86, 1817,   86,
++     1819, 1821, 1818, 1808, 1811, 1812,   86,   86,   86, 1823,
++       86,   86,   86,   86,   86, 1816,   86,   86, 1825, 1820,
++       86, 1826, 1822,   86, 1828,   86, 1829,   86, 1830,   86,
++
++     1824,   86, 1833,   86, 1834, 1831,   86, 1827, 1835, 1841,
++       86,   86, 1832, 1836, 1838,   86,   86, 1839,   86,   86,
++       86, 1842, 1843, 1849,   86, 1846, 1837, 1845,   86, 1840,
++       86, 1848,   86, 1851, 1852, 1847,   86, 1853, 1844,   86,
++       86,   86, 1854,   86, 1855, 1850, 1856,   86,   86, 1858,
++       86,   86,   86, 1857,   86, 1863, 1864, 1862, 1865,   86,
++     1867,   86,   86,   86,   86, 1859,   86,   86, 1866, 1860,
++       86, 1861, 1869, 1870,   86, 1871,   86,   86,   86,   86,
++       86,   86, 1868,   86,   86,   86,   86,   86,   86, 1882,
++     1881,   86, 1876,   86, 1872, 1877,   86, 1873, 1874, 1878,
++
++     1875, 1879,   86, 1884, 1887, 1885, 1888, 1883,   86, 1880,
++       86,   86,   86,   86, 1886,   86, 1894,   86,   86,   86,
++       86,   86, 1898,   86, 1896,   86, 1890, 1892, 1889,   86,
++       86, 1891, 1897,   86,   86,   86, 1893, 1900, 1895,   86,
++     1899,   86, 1903,   86, 1906,  165, 1905, 1907, 1902, 1904,
++       86,   86,   86, 1901, 1909, 1913,   86, 1908, 1914,   86,
++     1915,   86,   86, 1916,   86, 1910,   86, 1918, 1912,   86,
++     1911, 1919,   86,   86, 1917, 1920,   86,   86, 1922, 1923,
++       86,   86, 1924,   86,   86, 1921,   86,   86, 1925,   86,
++     1927, 1932,   86, 1931, 1934, 1929, 1926,   86, 1930, 1933,
++
++       86,   86, 1928,   86,   86, 1936, 1940,   86,   86, 1935,
++       86, 1941,   86, 1942,   86,   86,   86, 1938,   86, 1937,
++     1939,   86, 1943,   86, 1946, 1948, 1949,   86, 1950,   86,
++     1947,   86, 1944, 1945,   86,   86, 1954,   86, 1952, 1956,
++     1958, 1953, 1951,   86,   86, 1959,   86,   86,  163,   86,
++     1965, 1960, 1955, 1957, 1963,   86,   86, 1968, 1961, 1967,
++       86, 1964,   86,   86,   86, 1971, 1962, 1969,   86,   86,
++       86,   86,   86, 1966, 1972, 1975, 1979,   86, 1970,   86,
++     1977,   86,   86,   86, 1974, 1976, 1978, 1980,   86, 1973,
++       86,   86,   86,   86,   86,   86,   86, 1985,   86, 1984,
++
++       86,  161, 1981, 1986, 1988,   86, 1987, 1982,   86, 1983,
++     1990, 1989, 1992,   86, 1991, 1994, 1995,   86, 1996, 1997,
++       86,   86,   86,   86, 2001,   86,   86, 2003, 1998,   86,
++       86,   86,   86,   86, 1993, 1999, 2007,   86,   86, 2002,
++       86,   86, 2000, 2010, 2009,   86, 2005,   86,   86, 2006,
++     2012, 2004, 2008, 2013,   86,   86, 2014,   86,   86,  170,
++     2018, 2011,   86,   86, 2021,   86, 2016, 2017,   86,   86,
++       86, 2019, 2025,   86,   86,   86,   86, 2015, 2020,   86,
++     2023, 2022, 2027,   86, 2026,   86, 2028, 2032, 2024,   86,
++       86, 2029,   86,   86, 2044, 2030, 2035, 2033, 2036,   86,
++
++       86,   86,   86, 2031, 2037, 2038,   86, 2034,   86, 2040,
++     2041, 2042,   86, 2039, 2043,   86,   86,   86, 2045,   86,
++       86,   86,   86,   86,   86,   86,   86, 2050, 2051,   86,
++       86, 2055,   86, 2052,   86, 2063,   86, 2046, 2048, 2049,
++     2054, 2047, 2053, 2056,   86,   86,   86, 2062, 2064, 2058,
++     2059, 2061,   86,   86,   86,   86, 2057, 2060,   86,   86,
++       86,   86, 2071,   86,   86, 2065, 2066,   86, 2074, 2075,
++       86,   86, 2067,   86, 2068, 2069,   86, 2072, 2070, 2073,
++     2076,   86, 2078,   86, 2077,   86, 2079, 2083,   86,   86,
++     2085,   86, 2080, 2084, 2081,   86,   86, 2082, 2086, 2087,
++
++     2089,   86,   86, 2093,   86,   86,   86, 2090,   86, 2088,
++       86, 2092,   86, 2096,   86,   86,   86, 2095,   86,   86,
++       86, 2101,   86, 2099, 2100,   86, 2091, 2102, 2103,   86,
++     2094, 2097,   86,   86,   86, 2111, 2098, 2104, 2105, 2106,
++       86,   86, 2113,   86, 2107,   86,   86, 2114,   86, 2108,
++     2109,   86,   86, 2110, 2117,   86, 2118, 2115, 2120,   86,
++     2112, 2116,   86,   86,   86,   86, 2119,   86, 2121, 2124,
++       86,   86, 2126,   86,   86, 2122,   86, 2131, 2128, 2132,
++       86, 2134,   86, 2123,   86, 2127,   86, 2133, 2129, 2125,
++       86,   86, 2139,   86,   86, 2136, 2130,   86,   86, 2137,
++
++     2141,   86,   86,   86, 2144,   86,   86,   86, 2147, 2135,
++     2140,   86, 2138, 2150, 2142, 2145,   86, 2143, 2152,   86,
++       86, 2151, 2155,   86,   86,   86,   86, 2149,   86, 2146,
++     2154, 2148,   86, 2158, 2156, 2159,   86,   86,   86,   86,
++     2153,   86, 2160,   86, 2157,   86, 2162, 2161, 2165,   86,
++       86,   86, 2168, 2169,   86, 2164, 2170,   86,   86,   86,
++     2163,   86,   86,   86,   86, 2173,   86, 2166,   86, 2177,
++     2178,   86, 2172,   86, 2171,   86, 2167, 3581, 2175,   86,
++       86, 2174,   86, 2183,   86, 2176, 2185, 2180, 2181,   86,
++     2179,   86, 2184, 2186, 2182, 2187,   86,   86, 2191,   86,
++
++     2189, 2188,   86, 2192,   86, 2190,   86,   86,   86,   86,
++       86, 2195, 2199,   86,   86,   86, 2193,   86,   86, 2202,
++     2204,   86,   86, 2194, 2207, 2201, 2206, 2196, 2197, 2198,
++     2203, 2200,   86, 2205,   86,   86, 2211,   86, 2212,   86,
++       86, 2213, 2215, 2216, 3581, 2208, 2214,   86,   86,   86,
++     2209,   86,   86, 2220,   86, 2210, 2218,   86, 2222,   86,
++       86,   86, 2224,   86, 2219, 2226, 2217,   86, 2228, 2221,
++       86,   86, 2223,   86,   86, 2229,   86,  170,   86,   86,
++       86,   86, 2232,   86,   86, 2236, 2237, 3581, 2225, 2227,
++     2231, 2233, 2230, 2234,   86, 2238, 2242, 2235, 2239,   86,
++
++     2240,   86,   86,   86, 2241,   86,   86,   86,   86, 2243,
++     2244,   86, 2245, 2247, 2248,   86, 2246,   86, 2250,   86,
++       86,   86, 2254,   86,   86,   86, 2253, 2249,   86,   86,
++     2256, 2251, 2252, 2255, 2257,   86, 2259,   86, 2258,   86,
++       86,   86,   86,   86,   86,   86, 2264, 2266, 2260, 2261,
++     2265,   86,   86,   86,   86,   86, 2271, 2262,   86,   86,
++     2263, 2267, 2269, 2268, 2274, 2270,   86, 2272,   86, 2277,
++     2273,   86,   86,   86,   86, 2275,   86,   86, 2276, 2281,
++     2278, 2283,   86,   86, 2279,   86, 2284,   86,   86, 2282,
++       86, 2290,   86, 2285, 2280,   86, 2292,   86,   86,   86,
++
++     2293, 2286, 2289, 2287,   86, 2288, 2295,   86,   86, 2291,
++     2297,   86, 2296,   86, 2298,   86, 2301, 2294,   86,   86,
++       86, 2300,   86,   86,   86, 2306, 2303,   86,   86,   86,
++       86, 2299, 2302,   86,   86,   86, 2307,   86,   86,   86,
++       86, 2309, 2304, 2305, 2315, 2310, 2312,   86,   86, 2308,
++     2311,   86, 2314, 2320,   86,   86, 2313, 2316, 2323, 2317,
++     2319,   86,   86, 2318,   86, 2321, 2324,   86,   86, 2326,
++     2327, 2322,   86, 2330,   86,   86,   86,   86, 2329,   86,
++     2331, 2332, 2325,   86,   86, 2328, 2333,   86,   86, 2337,
++       86, 2339, 2335,   86, 2334, 2340, 2336,   86, 2342,   86,
++
++       86,   86,   86,   86, 2341, 2345, 2344, 2338,   86,   86,
++       86,   86, 2351, 2346, 2347,   86,   86,   86,   86, 2355,
++     2348, 2352,   86,   86, 2356,   86, 2343, 2354, 2349,   86,
++     2353, 2350,   86, 2360,   86,   86, 2361, 2357, 2362,   86,
++       86, 2358, 2364,   86,   86, 2365, 2359,   86,   86, 2366,
++     2370,   86, 2368,   86,   86, 2372,   86, 2373,   86, 2363,
++     2369, 2367,   86,   86,   86, 2371,   86, 2374, 2375,   86,
++     2377, 2380,   86, 2378,   86,   86, 2379, 2382,   86,   86,
++     2376,   86, 2383,   86, 2385,   86, 2384,   86,   86,   86,
++     2386, 2387, 2388, 2381, 2389, 2393,   86, 2392, 2390,   86,
++
++       86, 2391,   86,   86,   86,   86,   86,   86,   86,   86,
++     2401,   86,   86,   86, 2405,   86, 2406, 2394, 2395, 2397,
++     2396, 2399,   86, 2400, 2402, 2403, 2404,   86,   86, 2398,
++       86, 2407,   86, 2408, 2410,   86, 2416,   86, 2411,   86,
++       86, 2418,   86,   86,   86, 2412, 2409,   86, 2415, 2417,
++     2413, 2421,   86,   86,   86,  170, 2425, 2422,   86, 2427,
++     2414, 2419,   86, 2420, 2428,   86, 2423,   86, 2429, 2430,
++     2431,   86,   86, 2424,   86,   86,   86, 2426, 2433, 2432,
++     2434,   86,   86, 2435, 2441, 2438, 2439,   86,   86, 2440,
++     2443,   86,   86,   86,   86, 2445,   86, 2436, 2444, 2446,
++
++       86,   86,   86,   86, 2448,   86, 2447, 2449, 2437, 2442,
++       86,   86, 2450,   86,   86, 2451,   86,   86, 2454,   86,
++       86,   86, 2452,   86, 2457,   86, 2463,   86, 2461,   86,
++     2453, 2456,   86, 2464,   86, 2458, 2459, 2455,   86,   86,
++       86, 2460,   86, 2466,   86,   86,   86, 2462,   86, 2465,
++     2472, 2467, 2475,   86, 2470,   86,   86,   86, 2469, 2473,
++       86,   86,   86, 2471, 2476, 2468, 2474,   86,   86,   86,
++       86, 2486,   86,   86, 2477,   86, 2478,   86,   86, 2479,
++       86, 2484, 2491,   86, 2480, 2488, 2481, 2482, 2483, 2490,
++     2487, 2485, 2489, 2492, 2493,   86,   86,   86,   86,   86,
++
++     2495, 2494,   86,   86, 2499, 2500,   86,   86,   86, 2501,
++     3581, 2496,   86, 2497,   86, 2498, 2502,   86,   86, 2505,
++       86, 2508,   86, 2503,   86, 2504, 2509,   86,   86, 2506,
++       86,   86, 2507, 2510, 2512, 2511, 2515,   86, 2516,   86,
++       86, 2518,   86, 2514, 2513,   86, 2519,   86,   86, 2522,
++       86,   86, 2520,   86, 2525,   86, 2524, 2526,   86, 2517,
++       86,   86,   86,   86,   86,   86, 2521,   86, 2523,   86,
++     2528, 3581, 2532,   86, 2527, 2533,   86, 2530, 2537, 2529,
++     2535,   86,   86, 2531, 2534,   86,   86, 2536, 2538, 2539,
++       86, 2540, 2542,   86,   86,   86,   86, 2545,   86, 2548,
++
++       86,   86,   86,   86, 2543,   86, 2541,   86,   86, 2544,
++       86, 2546, 2552, 2553,   86, 2555,   86, 2547, 2551, 2558,
++       86, 2549, 2556,   86, 2554, 2550,   86,   86,   86,   86,
++       86, 2557,   86, 2560,   86, 2566,   86,   86, 2568,   86,
++     2569, 2561,   86, 2559, 2572, 2564, 2562, 2563, 2567,   86,
++       86,   86,   86,   86, 2573, 2570, 2574, 2571, 2565,   86,
++       86,   86,   86,   86, 2575, 2577, 2579, 2581, 2582,   86,
++       86, 2585, 2586,   86, 2576, 2583,   86,   86,   86, 2580,
++     2589, 2578,   86,   86, 2584,   86,   86, 2590, 2591,   86,
++       86, 2588,   86, 2594, 2587,   86,   86,   86,   86,   86,
++
++       86, 2595, 2593, 2600, 2596, 2597, 2598, 2601,   86,   86,
++     2592,   86, 2599,   86,   86, 2602,   86, 2605, 2607, 2603,
++     2604,   86, 2606, 2610,   86,   86, 2608,   86, 2611,   86,
++      170,   86, 2617,   86, 2609, 2612, 2613,   86, 2614,   86,
++       86,   86,   86,   86,   86, 2615,   86, 2616, 2619, 2624,
++       86, 3581, 2618, 2620,   86, 2623, 2621, 2622,   86, 2625,
++     2628,   86, 2627, 2632, 2626,   86, 2629, 2630,   86,   86,
++     2633, 2634, 2631,   86, 2636,   86,   86,   86,   86,   86,
++     2638,   86, 2635,   86,   86,   86, 2642,   86, 2643,   86,
++       86,   86, 2637, 2639,   86, 2645,   86, 2640, 2651,   86,
++
++     2646, 2644, 2647, 2641, 2648,   86, 2649,   86,   86,   86,
++       86, 2653,   86, 2650, 2654, 2655,   86,   86, 2652,   86,
++       86,   86, 2657,   86,   86, 2656,   86,   86, 2662, 2665,
++       86,   86, 2664,   86, 2667,   86, 2666, 2661,   86, 2658,
++     2659, 2660,   86,   86,   86, 3581, 2663,   86, 2671, 2668,
++     2673,   86,   86,   86, 2677,   86,   86, 2669, 2676, 2674,
++       86, 2670,   86, 2678, 2679, 2672,   86,   86, 2675,   86,
++     2681,   86, 2682,   86, 2687, 2680, 2683,   86, 2685,   86,
++       86, 2688,   86, 2686, 2689,   86, 2691,   86,   86,   86,
++       86, 2690,   86, 2684, 2693,   86,   86,   86,   86,   86,
++
++       86, 2697, 2702,   86, 2700, 2701, 2695, 2694, 2704, 2692,
++       86, 2696, 2703,   86,   86,   86, 2706,   86,   86, 2699,
++       86,   86,   86, 2698, 2711, 2709,   86,   86, 2714,   86,
++     2705, 2716,   86, 2707,   86,   86,   86,   86, 2712, 2713,
++     2708, 2710,   86, 2715, 2719,   86,   86,   86, 2723, 2720,
++     2717, 2718, 2724,   86, 2721,   86,   86,   86,   86,   86,
++     2722, 2725,   86,   86, 2729, 2730, 2727,   86,   86,   86,
++       86, 2728,   86, 2726, 2734,   86, 2731,   86, 2738,   86,
++     2733, 2732, 2737, 2739,   86, 2740,   86, 2741,   86,   86,
++     2735,   86, 2736, 2743,   86, 2745, 2744,   86, 2746,   86,
++
++     2747, 2742,   86,   86,   86,   86,   86,   86,   86, 2754,
++       86, 2756,   86, 3581, 2748,   86, 2750, 2757,   86,   86,
++       86,   86, 2760, 2749, 2753, 2751, 2755, 2752,   86,   86,
++     2758,   86, 2759, 2761, 2763,   86, 2766,   86,   86, 2768,
++       86,   86,   86,   86,   86,   86,  170, 2767, 2762,   86,
++       86, 2764, 2775,   86, 2777, 2765, 2771,   86, 2776, 2773,
++       86,   86, 2770,   86,   86,   86, 2778, 2769, 2772,   86,
++       86, 2774, 2784,   86,   86, 2779, 2780, 3581, 2786, 2787,
++       86, 2781, 2788,   86, 2785,   86, 2782,   86, 2783, 2789,
++       86,   86, 2790,   86, 2791,   86, 2792,   86, 2793,   86,
++
++       86,   86, 2796,   86, 2795,   86,   86,   86, 2794, 2803,
++       86,   86, 2801,   86,   86, 2807, 2808,   86, 2798, 2797,
++       86,   86,   86, 2799,   86, 2800, 2802, 2812,   86, 2805,
++     2804, 2806,   86, 2811, 2809, 2814,   86,   86,   86,   86,
++     2815, 2813,   86, 2810,   86,   86, 2818,   86,   86, 2825,
++       86,   86, 2826,   86,   86, 2816, 2817, 2819, 2824,   86,
++       86,   86, 2820, 2821, 2822,   86, 2823, 2829, 2830,   86,
++     2831,   86, 2832,   86, 2827, 2834,   86, 2828,   86,   86,
++       86,   86,   86, 2833, 2837,   86,   86, 2840, 2841,   86,
++     2836, 2843, 2835, 2842,   86, 2844,   86,   86,   86,   86,
++
++     2838, 2839,   86, 2847, 2845,   86,   86,   86, 2848, 2846,
++       86,   86, 2852,   86,   86, 2853,   86, 2850,   86, 2858,
++       86, 2849, 2859,   86,   86, 3581, 2851, 2862,   86,   86,
++       86, 2854, 2855,   86, 2856, 2860, 2857, 2865,   86,   86,
++     2863,   86, 2861, 2867,   86, 2864, 2868,   86,   86,   86,
++     2873,   86,   86, 2866, 2869,   86,   86,   86,   86, 2870,
++       86, 2876,   86, 2877, 2874, 2875, 2878,   86, 2871, 2872,
++     2880,   86,   86,   86, 2879,   86, 2883, 2881, 2885, 2886,
++       86,   86, 2882,   86, 2887, 2889,   86, 2884,   86,   86,
++       86,   86, 2896,   86,   86,   86,   86,   86,   86, 2893,
++
++     3438, 2890, 2891, 2888, 2892, 2894, 2895, 2899,   86,   86,
++     2898,   86,   86,   86, 2897,   86, 2900, 2901, 2903,   86,
++       86,   86,   86, 2902,   86,   86,   86, 2904,   86, 2906,
++     2907, 2909,   86, 2910, 2905, 2930, 2908, 2912,   86, 2911,
++     2913,   86,   86,   86, 2915, 2916,  170, 2914,   86,   86,
++     2917,   86, 2921, 2918,   86,   86, 2923,   86,   86, 2922,
++       86, 2926,   86, 2927,   86, 2925,   86, 2919, 2931, 2920,
++     2929,   86, 2924, 2932,   86,   86,   86,   86, 2936, 2928,
++     2933, 2934,   86,   86,   86,   86, 2937,   86, 2938,   86,
++       86, 2935, 2943, 2944, 2939,   86,   86, 2941,   86,   86,
++
++     2945,   86, 2940,   86,   86,   86, 2948, 2949, 2946,   86,
++     2947, 2942,   86,   86, 2951,   86,   86, 2950, 2952,   86,
++     2953,   86,   86,   86, 2958,   86, 2960,   86, 2956, 2955,
++     2954, 2957, 2962,   86, 2959,   86,   86,   86,   86, 2963,
++       86, 2967,   86,   86, 2968, 2961,   86,   86,   86, 2972,
++       86,   86,   86,   86, 2964, 2970, 2965, 2977,   86, 2966,
++       86,   86, 2969, 2971, 2978,   86, 2973, 2974, 2979,   86,
++     2981, 2975, 2982, 2976, 2984,   86,   86,   86,   86,   86,
++       86, 2985,   86, 2983, 2988, 2986, 2980,   86,   86, 2991,
++       86,   86,   86, 2992,   86,   86, 2989,   86, 2993,   86,
++
++     2987, 2990,   86, 2996, 3002, 2994,   86, 2995, 2998,   86,
++     2999,   86, 3000,   86,   86, 2997,   86,   86, 3001, 3004,
++       86,   86, 3006, 3008,   86, 3003, 3005,   86, 3009,   86,
++       86, 3012,   86, 3007, 3013,   86, 3010, 3014,   86, 3015,
++       86,   86,   86,   86, 3016, 3017,   86, 3011, 3019,   86,
++     3022,   86,   86, 3023,   86, 3018, 3024,   86, 3026,   86,
++       86, 3020,   86,   86, 3030,   86, 3021, 3031,   86, 3025,
++       86,   86, 3033, 3027,   86, 3032, 3035, 3029,   86, 3034,
++     3028, 3036,   86,   86,   86,   86, 3041,   86, 3037,   86,
++       86, 3040,   86, 3043, 3044,   86,   86,   86, 3046,   86,
++
++     3047, 3045,   86, 3038, 3039, 3049,   86, 3050,   86,   86,
++       86,   86, 3042,   86, 3053, 3057,   86,   86,   86,   86,
++       86,   86, 3059,   86, 3048, 3051, 3052, 3056, 3054, 3063,
++     3060, 3055, 3058, 3064, 3061, 3066, 3062,   86, 3065,   86,
++     3067,   86, 3068, 3069,   86,   86, 3070,   86, 3071,   86,
++     3072,   86, 3073,   86, 3074,   86,   86, 3077,   86,   86,
++       86, 3076,   86,   86,   86, 3080,   86,   86, 3082,   86,
++       86, 3075, 3581, 3079, 3103, 3083, 3086,   86, 3087,   86,
++       86, 3081, 3089, 3088, 3078, 3090,   86, 3084,   86, 3085,
++     3092,   86, 3093,   86,   86, 3091, 3095,   86,   86, 3094,
++
++       86,   86, 3096,   86,   86, 3101,   86, 3102,   86, 3097,
++     3098,   86, 3099,   86,   86,   86,   86,   86, 3108,   86,
++     3104,   86, 3100, 3109,   86, 3106, 3111,   86,   86, 3110,
++     3107, 3112, 3105, 3113, 3114,   86,   86, 3116,   86,   86,
++       86, 3120,   86,   86, 3118,   86, 3123,   86,   86,   86,
++     3115,   86, 3121, 3117, 3124, 3127, 3125, 3122, 3119,   86,
++       86,   86,   86, 3128,   86, 3130,   86, 3131, 3126,   86,
++     3132, 3134,   86, 3133,   86,   86, 3137, 3139,   86, 3138,
++     3129, 3140,   86, 3141,   86, 3135,   86,   86, 3136,   86,
++     3581,   86, 3146,   86,   86, 3142, 3145,   86,   86, 3147,
++
++     3149,   86, 3148,   86,   86,   86,   86, 3143, 3144,   86,
++     3153, 3150, 3155, 3157,   86, 3151,   86,   86,   86,   86,
++     3158,   86, 3159,   86, 3154, 3152, 3160,   86, 3161,   86,
++       86, 3166,   86,   86, 3156,   86,   86,   86, 3162,   86,
++       86, 3170,   86, 3165, 3163, 3164, 3167,   86, 3168, 3169,
++       86, 3171, 3175,   86,   86, 3172,   86, 3177, 3174, 3173,
++       86,   86,   86, 3178, 3181,   86, 3183,   86, 3184,   86,
++       86,   86,   86, 3176, 3187,   86, 3186,   86, 3179,   86,
++       86, 3182, 3193,   86, 3190,   86,   86, 3180, 3188,   86,
++     3192, 3185,   86, 3189, 3196,   86, 3191,   86, 3195,   86,
++
++       86,   86, 3199, 3202,   86,   86, 3194, 3203,   86,   86,
++     3205, 3200,   86,   86, 3198, 3197,   86, 3206, 3201, 3208,
++       86, 3209,   86,   86, 3210, 3204, 3212,   86,   86,   86,
++     3207,   86,   86,   86, 3217,   86, 3221,   86, 3215, 3214,
++       86,   86,   86, 3211, 3219, 3223, 3213,   86,   86, 3225,
++     3224, 3216, 3218,   86,   86, 3220, 3222, 3228, 3229,   86,
++     3231,   86,   86,   86, 3230, 3226,   86,   86, 3234,   86,
++       86,   86, 3233, 3237, 3227, 3235,   86, 3240,   86,   86,
++     3232,   86,   86,   86,   86, 3245,   86,   86,   86,   86,
++     3236, 3249,   86, 3238, 3239, 3241, 3581, 3244, 3248, 3242,
++
++     3250,   86, 3251,   86, 3247,   86, 3246, 3243,   86,   86,
++     3252, 3255,   86,   86, 3254, 3256,   86, 3257,   86, 3258,
++       86,   86, 3253, 3261,   86,   86, 3259, 3263,   86,   86,
++     3262,   86,   86,   86,   86, 3265,   86,   86, 3270, 3271,
++       86,   86,   86, 3264,   86,   86,   86, 3260,   86, 3277,
++       86, 3278,   86, 3268, 3266, 3267,   86, 3276, 3269, 3274,
++     3280, 3273,   86,   86, 3275, 3282,   86, 3272, 3283,   86,
++     3285,   86, 3286,   86, 3279,   86,   86,   86, 3289,   86,
++     3287,   86, 3281,   86,   86, 3292,   86, 3291, 3290,   86,
++     3284, 3288,   86,   86, 3293,   86, 3294,   86, 3295,   86,
++
++     3298, 3296,   86, 3297,   86, 3300,   86,   86,   86, 3299,
++     3301,   86,   86,   86,   86,   86,   86,   86,   86, 3310,
++     3311,   86, 3313, 3302, 3306, 3485, 3303, 3304,   86, 3305,
++     3307, 3308,   86, 3309, 3317,   86, 3312, 3314, 3315,   86,
++     3318,   86, 3316, 3319,   86,   86, 3321,   86,   86, 3320,
++     3324,   86,   86, 3322, 3323, 3325,   86, 3326, 3327, 3328,
++       86,   86, 3329, 3330, 3334,   86, 3331,   86, 3332, 3333,
++       86,   86,   86, 3337,   86, 3335,   86,   86,   86, 3340,
++       86, 3336,   86,   86, 3344,   86,   86,   86, 3343,   86,
++       86, 3339,   86,   86, 3338,   86, 3347, 3348,   86, 3349,
++
++     3341,   86, 3342, 3352, 3353,   86, 3345, 3350,   86, 3355,
++     3354,   86, 3346, 3351, 3356,   86, 3357,   86,   86,   86,
++       86, 3364,   86, 3359, 3362,   86, 3358,   86, 3360, 3363,
++       86, 3361,   86,   86,   86, 3371,   86, 3366, 3368, 3369,
++       86, 3372,   86, 3374,   86, 3365, 3367,   86, 3373, 3375,
++       86, 3370,   86, 3378,   86, 3376,   86, 3377, 3379,   86,
++     3381,   86, 3382,   86,   86, 3380, 3383,   86, 3384,   86,
++     3385,   86, 3386,   86, 3387,   86, 3388,   86, 3389,   86,
++       86, 3392,   86, 3393,   86,   86,   86,   86,   86, 3391,
++     3390, 3397,   86,   86, 3394, 3399,   86,   86, 3395,   86,
++
++       86, 3403,   86, 3400, 3404,   86,   86, 3396, 3406,   86,
++     3401, 3402, 3398,   86,   86,   86, 3408, 3405,   86, 3410,
++       86, 3413,   86, 3412, 3407,   86,   86,   86,   86,   86,
++     3415,   86,   86, 3411,   86, 3419, 3414,   86, 3421,   86,
++     3409, 3420,   86,   86,   86, 3416, 3417, 3418, 3424,   86,
++       86,   86, 3422, 3425,   86, 3426, 3427,   86, 3428,   86,
++     3429,   86,   86, 3431,   86, 3423, 3432, 3430,   86, 3433,
++       86,   86,   86, 3440, 3435, 3437,   86,   86, 3434, 3436,
++       86,   86,   86,   86,   86,   86, 3439,   86,   86, 3441,
++     3449,   86, 3447, 3452,   86,   86, 3442, 3444, 3443, 3446,
++
++     3448,   86,   86, 3581,   86,   86, 3451, 3445, 3450, 3454,
++       86, 3453, 3457,   86, 3458, 3456, 3455, 3459,   86,   86,
++     3460, 3461,   86, 3462,   86,   86,   86,   86,   86, 3463,
++     3465, 3466,   86, 3467,   86, 3470,   86,   86,   86,   86,
++       86,   86, 3473, 3474,   86, 3464, 3476,   86,   86, 3469,
++     3471, 3472, 3477,   86,   86, 3478,   86, 3468, 3475, 3480,
++       86, 3483,   86,   86, 3484,   86, 3487, 3479,   86, 3481,
++     3488,   86,   86,   86, 3482,   86,   86, 3493,   86,   86,
++     3492,   86, 3489,   86, 3486,   86, 3490, 3494,   86, 3498,
++     3491,   86,   86,   86,   86,   86,   86, 3497, 3500,   86,
++
++     3495, 3496,   86,   86, 3505, 3502,   86, 3506, 3503, 3507,
++       86, 3499,   86, 3501,   86, 3504, 3511,   86,   86, 3512,
++     3513,   86, 3514, 3508, 3509,   86,   86,   86,   86, 3519,
++     3515, 3510, 3516, 3517,   86,   86,   86, 3518, 3520,   86,
++       86, 3521, 3522,   86, 3523,   86,   86,   86, 3528,   86,
++       86,   86, 3525, 3524,   86,   86, 3531, 3532,   86,   86,
++       86,   86,   86, 3530, 3535, 3526, 3527,   86, 3529, 3533,
++     3536,   86, 3534,   86, 3539, 3538, 3540,   86,   86, 3543,
++     3537,   86,   86, 3545,   86, 3546,   86,   86,   86,   86,
++     3541, 3547,   86, 3542, 3548, 3550,   86, 3551,   86,   86,
++
++     3544, 3552, 3553,   86,   86, 3554,   86, 3549, 3556,   86,
++       86, 3555, 3559,   86, 3557,   86,   86,   86,   86,   86,
++     3561, 3562,   86, 3565,   86, 3558, 3566,   86,   86, 3560,
++       86, 3569, 3570,   86,   86, 3571, 3563, 3564, 3567, 3572,
++       86, 3573,   86, 3568,   86,   86,   86,   86, 3579,   86,
++     3575, 3574, 3576, 3577, 3580,   86, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3578,   47,   47,   47,   47,
++       47,   47,   47,   52,   52,   52,   52,   52,   52,   52,
++       57,   57,   57,   57,   57,   57,   57,   63,   63,   63,
++       63,   63,   63,   63,   68,   68,   68,   68,   68,   68,
++
++       68,   74,   74,   74,   74,   74,   74,   74,   80,   80,
++       80,   80,   80,   80,   80,   89,   89, 3581,   89,   89,
++       89,   89,  160,  160, 3581, 3581, 3581,  160,  160,  162,
++      162, 3581, 3581,  162, 3581,  162,  164, 3581, 3581, 3581,
++     3581, 3581,  164,  167,  167, 3581, 3581, 3581,  167,  167,
++      169, 3581, 3581, 3581, 3581, 3581,  169,  171,  171, 3581,
++      171,  171,  171,  171,  174, 3581, 3581, 3581, 3581, 3581,
++      174,  177,  177, 3581, 3581, 3581,  177,  177,   90,   90,
++     3581,   90,   90,   90,   90,   17, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581
      } ;
  
- static yyconst flex_int16_t yy_chk[6989] =
 -static const flex_int16_t yy_chk[6952] =
++static const flex_int16_t yy_chk[7027] =
      {   0,
          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
          5,    3,    6,   24,    4,   24,   24,    5,   24,    6,
          7,    7,    7,    7,   24,    7,    8,    8,    8,    8,
         33,    8,    7,    9,    9,    9,   26,   26,    8,   10,
-        10,   10,   19,   29,    9,   33,   19,   29, 3570,   35,
 -       10,   10,   19,   29,    9,   33,   19,   29, 3550,   35,
++       10,   10,   19,   29,    9,   33,   19,   29, 3589,   35,
         10,   11,   11,   11,   11,   11,   11,   13,   13,   13,
  
         13,   34,   13,   11,   35,   99,   34,   29,   38,   13,
         51,   51,   11,   12,   12,   12,   12,   12,   12,   14,
         14,   14,   14,   99,   14,   12,   15,   15,   15,   38,
         23,   14,   23,   23,   12,   23,   46,   15,   16,   16,
-        16,   23,   23,   25,   27,   27,   25,   25, 2903,   16,
 -       16,   23,   23,   25,   27,   27,   25,   25, 2884,   16,
++       16,   23,   23,   25,   27,   27,   25,   25, 2916,   16,
         25,   46,   27,   30,   30,   25,   27,   56,   40,   27,
         56,   73,   31,   31,   25,   28,   67,   67,   30,   32,
         28,   31,   40,   32,   28,   73,   32,   28,   92,   28,
-        28,   92,   31,   32, 1144,   32,   36,   36,   37,   37,
 -       28,   92,   31,   32, 1138,   32,   36,   36,   37,   37,
++       28,   92,   31,   32, 1148,   32,   36,   36,   37,   37,
         28,   45,   45,   37,   97,   36,   45,   97,   41,   41,
  
         45,   36,   87,   41,   93,   36,   87,   37,   93,   37,
        170,  170,  171,  170,  171,  171,  173,  171,  175,  173,
        175,  175,  180,  175,  171,  178,  178,  181,  180,  182,
        183,  184,  185,  186,  187,  189,  188,  180,  183,  190,
 -      185,  188,  184,  212,  182,  183,  193,  191,  190,  187,
 -      176,  193,  186,  191,  191,  189,  194,  194,  195,  197,
 -      196,  212,  196,  197,  195,  196,  198,  198,  197,  199,
 -
 -      200,  201,  202,  197,  203,  204,  201,  202,  205,  197,
 -      197,  199,  196,  206,  205,  207,  203,  206,  208,  200,
 -      207,  209,  213,  210,  211,  204,  214,  213,  216,  217,
 -      559,  214,  218,  216,  208,  209,  211,  205,  210,  211,
 -      215,  215,  220,  220,  215,  219,  215,  221,  218,  217,
 -      222,  219,  223,  221,  559,  224,  222,  227,  215,  221,
 -      215,  224,  225,  227,  228,  229,  230,  231,  225,  228,
 -      230,  229,  223,  231,  232,  234,  232,  225,  233,  235,
 -      236,  232,  238,  237,  233,  235,  239,  241,  234,  237,
 -      240,  243,  241,  242,  239,  238,  244,  245,  248,  250,
 -
 -      236,  251,  242,  240,  238,  246,  243,  251,  247,  252,
 -      246,  246,  244,  247,  249,  254,  248,  245,  249,  253,
 -      257,  250,  261,  258,  255,  253,  259,  252,  252,  255,
 -      258,  260,  259,  263,  262,  254,  264,  260,  267,  257,
 -      262,  261,  265,  265,  267,  263,  266,  266,  268,  269,
 -      264,  269,  270,  271,  268,  272,  274,  273,  271,  275,
 -      276,  277,  267,  278,  274,  276,  279,  272,  269,  278,
 -      283,  285,  279,  280,  282,  270,  273,  281,  280,  275,
 -      282,  284,  281,  286,  277,  283,  287,  288,  290,  285,
 -      289,  290,  292,  292,  287,  284,  289,  286,  291,  293,
 -
 -      291,  294,  293,  295,  295,  296,  296,  297,  299,  298,
 -      300,  299,  288,  301,  300,  303,  302,  304,  174,  294,
 -      305,  303,  301,  297,  298,  302,  305,  306,  307,  306,
 -      310,  304,  308,  311,  307,  310,  308,  309,  309,  311,
 -      312,  313,  314,  315,  316,  319,  312,  317,  317,  318,
 -      320,  321,  318,  308,  320,  322,  324,  316,  323,  323,
 -      314,  313,  327,  319,  315,  312,  325,  326,  327,  325,
 -      321,  329,  328,  322,  324,  328,  331,  332,  335,  326,
 -      336,  335,  337,  329,  333,  331,  325,  330,  338,  333,
 -      338,  338,  169,  336,  337,  332,  330,  334,  340,  330,
 -
 -      334,  340,  334,  339,  330,  330,  330,  330,  339,  339,
 -      341,  341,  342,  343,  346,  334,  344,  345,  334,  348,
 -      348,  347,  349,  346,  350,  350,  352,  349,  343,  342,
 -      347,  344,  342,  353,  345,  345,  351,  351,  353,  354,
 -      355,  352,  356,  357,  358,  359,  359,  361,  359,  362,
 -      358,  354,  370,  370,  362,  363,  367,  359,  357,  355,
 -      364,  363,  356,  365,  359,  364,  366,  361,  365,  366,
 -      367,  366,  368,  369,  365,  368,  373,  371,  372,  372,
 -      376,  373,  369,  371,  377,  380,  378,  377,  368,  379,
 -      419,  368,  419,  368,  374,  374,  383,  374,  385,  380,
 -
 -      376,  378,  386,  374,  379,  377,  382,  374,  388,  382,
 -      383,  386,  374,  385,  388,  374,  375,  375,  387,  375,
 -      389,  388,  392,  387,  387,  382,  390,  393,  394,  391,
 -      396,  392,  375,  397,  394,  375,  395,  375,  167,  375,
 -      384,  389,  384,  384,  391,  390,  393,  397,  400,  401,
 -      396,  398,  384,  384,  384,  384,  384,  398,  399,  384,
 -      402,  398,  395,  399,  404,  403,  405,  407,  400,  401,
 -      403,  408,  405,  406,  406,  402,  409,  411,  410,  404,
 -      412,  399,  416,  408,  410,  415,  413,  407,  417,  418,
 -      409,  413,  414,  414,  424,  414,  412,  420,  416,  420,
 -
 -      420,  425,  411,  418,  417,  415,  421,  422,  423,  423,
 -      421,  422,  426,  424,  427,  428,  425,  420,  431,  434,
 -      442,  166,  429,  434,  431,  432,  422,  435,  426,  428,
 -      429,  429,  427,  433,  432,  436,  435,  438,  433,  437,
 -      442,  436,  429,  438,  429,  430,  440,  439,  441,  440,
 -      430,  439,  444,  441,  443,  443,  445,  445,  430,  430,
 -      437,  447,  430,  430,  446,  444,  430,  448,  448,  446,
 -      449,  450,  451,  452,  447,  450,  449,  453,  454,  455,
 -      455,  456,  453,  454,  457,  458,  459,  451,  455,  460,
 -      461,  466,  460,  456,  452,  461,  462,  463,  459,  468,
 -
 -      462,  464,  464,  458,  457,  465,  467,  467,  472,  463,
 -      465,  473,  466,  470,  470,  474,  475,  476,  477,  473,
 -      478,  468,  479,  477,  481,  475,  483,  482,  503,  472,
 -      486,  485,  503,  484,  479,  487,  474,  485,  476,  486,
 -      478,  487,  481,  488,  481,  482,  483,  484,  488,  489,
 -      490,  491,  492,  493,  491,  494,  495,  496,  490,  498,
 -      499,  490,  495,  489,  494,  498,  492,  497,  493,  501,
 -      497,  500,  502,  504,  499,  505,  500,  496,  504,  506,
 -      507,  508,  509,  498,  506,  512,  528,  513,  514,  528,
 -      505,  501,  516,  502,  515,  509,  507,  518,  515,  517,
 -
 -      508,  510,  510,  514,  517,  512,  519,  510,  513,  510,
 -      519,  516,  164,  518,  520,  510,  521,  510,  523,  520,
 -      510,  510,  525,  520,  522,  526,  524,  510,  525,  522,
 -      527,  521,  529,  525,  523,  524,  530,  523,  531,  531,
 -      526,  532,  533,  533,  534,  535,  527,  536,  537,  537,
 -      538,  539,  541,  540,  162,  529,  530,  535,  540,  534,
 -      542,  541,  536,  543,  544,  546,  532,  547,  548,  538,
 -      544,  547,  548,  539,  546,  549,  550,  551,  543,  542,
 -      552,  549,  553,  554,  555,  556,  560,  557,  550,  556,
 -      160,  558,  551,  558,  560,  562,  553,  563,  554,  552,
 -
 -      557,  562,  555,  561,  561,  564,  565,  566,  567,  563,
 -      566,  564,  568,  570,  569,  571,  570,  572,  565,  569,
 -      573,  620,  567,  574,  571,  573,  573,  568,  575,  575,
 -      620,  571,  582,  572,  571,  577,  574,  576,  576,  578,
 -      578,  577,  579,  579,  580,  583,  581,  586,  587,  585,
 -      580,  581,  581,  582,  585,  584,  587,  583,  584,  588,
 -      589,  590,  588,  591,  592,  589,  586,  593,  592,  594,
 -      595,  597,  596,  593,  595,  601,  597,  598,  599,  599,
 -      600,  602,  591,  603,  590,  604,  602,  605,  606,  594,
 -      596,  598,  607,  613,  606,  600,  601,  607,  608,  610,
 -
 -      612,  604,  603,  609,  611,  611,  609,  605,  614,  613,
 -      616,  609,  608,  614,  609,  609,  615,  610,  612,  617,
 -      619,  615,  621,  622,  616,  621,  619,  622,  623,  624,
 -      625,  626,  624,  623,  617,  625,  627,  628,  629,  631,
 -      630,  632,  632,  633,  628,  630,  634,  626,  635,  622,
 -      636,  629,  633,  637,  627,  638,  644,  639,  640,  631,
 -      645,  644,  637,  639,  640,  634,  636,  638,  641,  635,
 -      646,  641,  642,  642,  643,  642,  647,  643,  645,  649,
 -      648,  650,  654,  651,  646,  648,  652,  650,  651,  661,
 -      647,  653,  652,  657,  653,  655,  656,  658,  649,  659,
 -
 -      655,  656,  656,  660,  659,  662,  657,  654,  661,  660,
 -      658,  663,  664,  674,  662,  666,  663,  667,  659,  659,
 -      665,  665,  666,  668,  667,  669,  668,  670,  671,  672,
 -      676,  669,  664,  671,  672,  672,  673,  673,  674,  670,
 -      675,  668,  675,  671,  677,  678,  677,  679,  680,  676,
 -      681,  682,  683,  684,  688,  685,   85,  684,  683,  686,
 -      687,  689,  691,  678,  685,  679,  680,  690,  693,  681,
 -      690,  682,  688,  694,  686,  687,  692,  691,  695,  690,
 -      689,  696,  692,  697,  698,  699,  701,  694,  693,  699,
 -      695,  700,  702,  703,  704,  708,  705,  707,  707,  708,
 -
 -      696,  705,  701,  698,  697,  706,  709,  710,  712,  700,
 -      702,  703,  703,  704,  711,  714,  713,  715,  720,  706,
 -      709,  713,  712,  717,  716,  711,  710,  718,  719,  721,
 -      717,  714,  718,  722,  721,  719,  715,  716,  722,  723,
 -      724,  725,  720,  727,  726,  729,  737,  724,  728,  730,
 -      725,  729,  727,  731,  730,  732,  731,  723,  726,  732,
 -      728,  733,  734,  735,  746,  736,  749,  737,  738,  738,
 -      744,  734,  739,  739,  742,  733,  740,  740,  735,  736,
 -      741,  739,  745,  742,  746,  741,  747,  748,  745,  744,
 -      747,  749,  750,  752,  751,  753,  754,  755,  756,  748,
 -
 -      751,  752,  753,  762,  759,  766,  765,  768,  769,   80,
 -      750,  766,  771,  768,  754,  765,  771,  769,  756,  759,
 -      762,  770,  755,  757,  776,  757,  772,  772,  757,  773,
 -      773,  775,  757,  774,  777,  757,  812,  770,  776,  782,
 -      778,  780,  757,  757,  774,  757,  778,  781,  783,  775,
 -      812,  785,  781,  787,  777,  779,  779,  779,  787,  779,
 -      782,  780,  779,  788,  784,  786,  783,  779,  784,  786,
 -      791,  789,  790,  779,  779,  785,  789,  792,  793,  794,
 -      792,  796,  788,  793,  793,  786,  794,  790,  795,  795,
 -      798,  798,  797,  799,   75,  791,  796,  797,  799,  800,
 -
 -      801,  804,  800,  802,  802,  801,  803,  805,  803,  807,
 -      806,  808,  809,  804,  806,  810,  810,  811,  813,  813,
 -      809,  814,  815,  816,  828,  817,  805,  828,  818,  807,
 -      808,  817,  811,  818,  815,  819,  819,  820,  823,  814,
 -      824,  822,  820,  820,  823,  816,  822,  825,   74,  826,
 -      827,  829,  830,  825,  826,  834,  827,  829,  833,  824,
 -      830,  831,  831,  832,  832,  835,  833,  836,  837,  838,
 -      835,  836,  839,  834,  840,  837,  841,  841,  843,  845,
 -      842,  844,  844,  846,  850,  845,  843,  838,  839,  842,
 -      848,  849,  851,  840,  852,  853,  854,  851,  853,  848,
 -
 -      849,  854,  846,  852,  855,  856,  857,  858,  850,  860,
 -      862,  859,  861,  861,  863,  857,  859,  859,  855,  864,
 -      858,  865,  866,  860,  867,  862,  871,  867,  864,  869,
 -      856,  869,  873,  863,  872,  867,  870,  870,  874,  872,
 -      866,  875,  876,  877,  879,  865,  878,  871,  880,   68,
 -      881,  882,  880,  873,  883,  878,  884,  885,  874,  886,
 -      883,  875,  887,  877,  876,  884,  888,  879,  881,  885,
 -      882,  889,  891,  892,  890,  886,  894,  889,  892,  895,
 -      888,  887,  890,  893,  893,  896,  891,  897,  898,  899,
 -      900,  901,  903,  902,  896,  894,  898,  904,  903,  895,
 -
 -      905,  907,  906,  904,  908,  909,  912,  897,  906,  899,
 -      901,  909,  900,  902,  905,  907,  910,  911,  913,  915,
 -       63,  911,  910,  914,  908,  912,  916,  916,  914,  917,
 -      913,  918,  920,  919,  921,  917,  919,  918,  913,  922,
 -      915,  923,  924,  924,  925,  922,  926,  921,  928,  927,
 -      920,  926,  927,  928,  928,  929,  930,  931,  931,  932,
 -      930,  923,  925,  933,  934,  927,  935,  927,  937,  934,
 -      929,  940,  938,  941,  942,  944,  944,  948,  945,  946,
 -      975,  932,  945,  933,  940,  935,  938,  947,  947,  951,
 -       58,  950,  937,  941,  946,  942,  943,  953,  975,  943,
 -
 -      949,  943,  948,  951,  949,  943,  950,  943,  952,  954,
 -      955,  953,  943,  952,  954,  954,  956,  943,  957,  955,
 -      958,  959,  957,  961,  962,  960,  959,  963,  961,  964,
 -      956,  965,  973,  966,  957,  958,  959,  960,  962,  966,
 -      965,  967,  971,  964,  968,  969,  967,  971,  963,  972,
 -      968,  969,  970,  970,  973,  972,  974,  977,  978,  979,
 -      980,  981,  981,  978,  984,  982,  983,  985,  986,  977,
 -      982,  992,  980,  979,  983,  974,  976,  976,  987,  989,
 -      984,  985,  976,  988,  976,  989,  990,  986,  991,  992,
 -      976,  990,  993,  994,  995,  976,  976,  987,  998,  988,
 -
 -      991,  997,  976,  996,  996,  997, 1001, 1000,  993, 1001,
 -     1002,  994,  995, 1000, 1003, 1004, 1005, 1007,  998, 1003,
 -     1006, 1009, 1005, 1010, 1011, 1006, 1013, 1012, 1004, 1002,
 -     1009, 1014, 1010, 1012, 1015, 1013, 1007, 1016, 1017, 1015,
 -     1011, 1018, 1019, 1022, 1020, 1023, 1021, 1026, 1029, 1022,
 -     1014, 1028, 1017, 1020, 1019, 1021, 1031, 1016, 1024, 1032,
 -     1033, 1018, 1023, 1026, 1024, 1028, 1030, 1034, 1029, 1035,
 -     1040, 1030, 1036, 1032, 1035, 1031, 1039, 1036, 1033, 1040,
 -     1042, 1039, 1034, 1041, 1041, 1043, 1042, 1044, 1045, 1046,
 -     1048, 1043, 1049, 1053, 1054, 1055, 1044, 1049, 1049, 1056,
 -
 -     1051, 1051, 1046, 1045, 1051, 1052, 1048, 1053, 1052, 1057,
 -     1058, 1055, 1059, 1060, 1054, 1061, 1062, 1056, 1059, 1063,
 -     1064, 1061, 1057, 1068, 1063, 1058, 1066, 1066,   57, 1067,
 -     1069, 1062, 1067, 1060, 1064, 1069, 1070, 1071, 1072, 1075,
 -     1073, 1070, 1078, 1074, 1068, 1073, 1077, 1072, 1074, 1079,
 -     1080, 1075, 1077, 1071, 1082, 1079, 1080, 1083, 1078, 1081,
 -     1081, 1084, 1086, 1082, 1084, 1085, 1085, 1087, 1088, 1089,
 -     1090, 1091, 1089, 1092, 1126, 1083, 1093, 1091, 1126, 1092,
 -     1086, 1096, 1093, 1090, 1094, 1095, 1087, 1096, 1088, 1094,
 -     1095, 1097, 1098, 1101, 1100, 1102, 1097, 1103, 1098, 1100,
 -
 -     1104, 1105, 1105, 1103, 1106, 1104, 1108, 1107, 1109, 1110,
 -     1112, 1101, 1110, 1106, 1111, 1102, 1107, 1111, 1113, 1114,
 -     1115, 1112, 1116, 1113, 1108, 1117, 1122, 1109, 1118, 1119,
 -     1120, 1117, 1115, 1123, 1118, 1120, 1124, 1114, 1121, 1121,
 -     1125, 1116, 1127, 1128, 1119, 1122, 1129, 1123, 1124, 1130,
 -     1132, 1134, 1128, 1133, 1133, 1137, 1135, 1136, 1125, 1134,
 -     1127, 1135, 1136, 1139, 1140, 1129, 1141, 1142, 1145, 1132,
 -     1146, 1143, 1142,   52, 1130, 1137, 1146, 1139, 1141, 1140,
 -     1143, 1144, 1144, 1147, 1148, 1149, 1156, 1151, 1145, 1147,
 -     1149, 1150, 1151, 1150, 1152, 1153, 1154, 1155, 1158, 1157,
 -
 -     1148, 1154, 1159, 1161, 1161, 1156, 1157, 1163, 1152, 1153,
 -     1162, 1164, 1155, 1158, 1165, 1166, 1174, 1167,   47, 1169,
 -     1165, 1159, 1167, 1169, 1162, 1163, 1164, 1170, 1170, 1171,
 -     1174, 1167, 1173, 1167, 1171, 1166, 1167, 1172, 1172, 1173,
 -     1175, 1176, 1178, 1175, 1177, 1179, 1180, 1181, 1182, 1183,
 -     1179, 1178, 1185, 1182, 1190, 1184, 1187, 1187,   18, 1181,
 -     1176, 1193, 1177, 1183, 1188, 1180, 1184, 1189, 1191, 1188,
 -     1193, 1185, 1189, 1191, 1190, 1192, 1194, 1195, 1196, 1192,
 -     1198, 1197, 1199, 1201, 1197, 1202, 1200, 1203, 1204, 1199,
 -     1207, 1194, 1195, 1197, 1204, 1198, 1205, 1196, 1200, 1208,
 -
 -     1209, 1206, 1201, 1210, 1211, 1203, 1202, 1206, 1212, 1209,
 -     1207, 1205, 1213, 1214, 1215, 1216, 1217, 1220, 1210, 1208,
 -     1212, 1216, 1219, 1211, 1223, 1221, 1222, 1224, 1219, 1215,
 -     1225, 1213, 1220, 1226, 1222, 1225, 1217, 1228, 1214, 1221,
 -     1229, 1227, 1230, 1224, 1223, 1226, 1227, 1227, 1231, 1231,
 -     1233, 1234, 1238, 1235, 1229, 1230, 1228, 1232, 1232, 1235,
 -     1234, 1238, 1232, 1233, 1237, 1232, 1232, 1236, 1236, 1237,
 -     1232, 1239, 1243, 1240, 1241, 1246, 1232, 1239, 1240, 1241,
 -     1232, 1242, 1242, 1244, 1244, 1245, 1247, 1249, 1245, 1250,
 -     1245, 1248, 1252, 1243, 1251, 1246, 1249, 1248, 1253, 1251,
 -
 -     1256, 1254, 1255, 1259, 1247, 1256, 1252, 1254, 1255, 1250,
 -     1257, 1258, 1259, 1260, 1257, 1261, 1253, 1259, 1260, 1259,
 -     1264, 1259, 1267, 1259, 1258, 1262, 1262, 1263, 1263, 1261,
 -     1263, 1264, 1266, 1268, 1269, 1270, 1266, 1267, 1271, 1272,
 -     1270, 1270, 1274, 1269, 1273, 1275, 1276, 1271, 1277, 1273,
 -     1278, 1268, 1279, 1289, 1275, 1282, 1274, 1281, 1279, 1280,
 -     1280, 1272, 1283, 1282, 1278, 1276, 1284, 1277, 1285, 1281,
 -     1286, 1284, 1288, 1287, 1291, 1291, 1283, 1292, 1289, 1286,
 -     1287, 1290, 1285, 1293, 1293, 1294, 1290, 1294, 1296, 1297,
 -     1288, 1296, 1292, 1298, 1297, 1299, 1300, 1300, 1301, 1302,
 -
 -     1302, 1303, 1303, 1304, 1299, 1305, 1306, 1307, 1304, 1308,
 -     1308, 1309, 1298, 1310, 1311, 1312, 1313, 1311, 1301, 1314,
 -     1315, 1316, 1313, 1316, 1314, 1317, 1305, 1306, 1307, 1315,
 -     1310, 1309, 1320, 1319, 1321, 1312, 1319, 1322, 1324, 1321,
 -     1323, 1328, 1328, 1317, 1325, 1323, 1324, 1320, 1330, 1325,
 -     1326, 1322, 1327, 1326, 1329, 1331, 1332, 1327, 1333, 1329,
 -     1337, 1331, 1335, 1332, 1336, 1337, 1330, 1338, 1335, 1339,
 -     1336, 1333, 1338, 1340, 1341, 1339, 1342, 1343, 1343, 1344,
 -     1346, 1348, 1340, 1347, 1350, 1346, 1351, 1342, 1349, 1352,
 -     1353, 1348, 1354, 1341, 1356, 1352, 1353, 1357, 1354, 1344,
 -
 -     1356, 1347, 1358, 1349, 1350, 1359, 1360, 1361, 1362, 1351,
 -     1364, 1357, 1363, 1363, 1365, 1366, 1372, 1357, 1360, 1367,
 -     1369, 1361, 1358, 1374, 1367, 1359, 1362, 1368, 1368, 1370,
 -     1364, 1373, 1376, 1366, 1370, 1372, 1373, 1373, 1375, 1365,
 -     1376, 1374, 1377, 1369, 1378, 1379, 1380, 1375, 1381, 1385,
 -     1382, 1380, 1382, 1383, 1380, 1385, 1377, 1381, 1386, 1378,
 -     1379, 1387, 1386, 1379, 1388, 1389, 1390, 1383, 1391, 1388,
 -     1388, 1392, 1387, 1393, 1395, 1394, 1392, 1396, 1393, 1397,
 -     1400, 1399, 1396, 1401, 1389, 1403, 1391, 1402, 1402, 1403,
 -     1404, 1405, 1390, 1394, 1395, 1399, 1406, 1407, 1400, 1397,
 -
 -     1408, 1401, 1406, 1409, 1410, 1411, 1412, 1413, 1404, 1407,
 -     1405, 1417, 1414, 1418, 1416, 1419, 1408, 1414, 1410, 1416,
 -     1411, 1412, 1409, 1415, 1419, 1421, 1413, 1420, 1420, 1417,
 -     1415, 1423, 1422, 1425, 1418, 1424, 1424, 1426, 1427, 1425,
 -     1421, 1422, 1430, 1426, 1428, 1428, 1429, 1429, 1430, 1431,
 -     1432, 1423, 1427, 1433, 1434, 1435, 1436, 1443, 1433,   17,
 -     1434, 1435, 1436, 1437, 1437, 1431, 1438, 1438, 1440, 1440,
 -     1441, 1432, 1442, 1444, 1441, 1443, 1445, 1446, 1449, 1447,
 -     1450, 1442, 1448, 1448, 1451, 1444, 1447, 1452, 1450, 1451,
 -     1445, 1453, 1446, 1456, 1454, 1457, 1457, 1455, 1449, 1454,
 -
 -     1454, 1452, 1455, 1455, 1458, 1459, 1460, 1461, 1462, 1463,
 -     1453, 1465, 1461, 1456, 1464, 1460, 1466, 1465, 1467, 1468,
 -     1469, 1466, 1470, 1458, 1459, 1471, 1469, 1462, 1472, 1463,
 -     1473, 1471, 1464, 1474, 1472, 1475, 1476, 1477, 1467, 1478,
 -     1479, 1470, 1480, 1481, 1481, 1468, 1483, 1482, 1484, 1473,
 -     1482, 1485, 1474, 1478, 1475, 1476, 1477, 1480, 1486, 1486,
 -     1489, 1479, 1490, 1485, 1489, 1483, 1488, 1484, 1487, 1487,
 -     1491, 1488, 1492, 1495, 1493, 1490, 1493, 1496, 1498, 1491,
 -     1493, 1497, 1496, 1499, 1501, 1492, 1500, 1500, 1502, 1501,
 -     1503, 1495, 1509, 1493, 1502, 1504, 1497, 1505, 1498, 1499,
 -
 -     1507, 1506, 1510, 1505, 1507, 1503, 1506, 1508, 1504, 1511,
 -     1512, 1508, 1509, 1513, 1514, 1514, 1516, 1518, 1511, 1513,
 -     1510, 1519, 1520, 1520, 1522, 1521, 1519, 1524, 1524, 1526,
 -     1512, 1521, 1526, 1528, 1516, 1527, 1527, 1529, 1518, 1530,
 -     1532, 1533, 1535, 1532, 1522, 1534, 1536, 1537, 1537, 1528,
 -     1539, 1535, 1538, 1529, 1540, 1530, 1541, 1545, 1542, 1543,
 -     1543, 1541, 1533, 1546, 1547, 1534, 1536, 1538, 1544, 1550,
 -     1548, 1539, 1542, 1540, 1551, 1545, 1552, 1544, 1546, 1549,
 -     1549, 1552, 1553, 1550, 1554, 1554, 1556, 1555, 1558, 1547,
 -     1548, 1555, 1551, 1557, 1557, 1559, 1560, 1553, 1561, 1562,
 -
 -     1563, 1570, 1561, 1565, 1565, 1563, 1556, 1560, 1566, 1567,
 -     1558, 1566, 1568, 1569, 1559, 1572, 1571, 1568, 1562, 1570,
 -     1574, 1576, 1567, 1573, 1575, 1575, 1576, 1577, 1578, 1569,
 -     1571, 1579, 1579, 1580, 1572, 1572, 1581, 1573, 1582, 1586,
 -     1595, 1581, 1580, 1591, 1583, 1574, 1583, 1577, 1578, 1584,
 -     1585, 1587, 1589, 1647, 1584, 1647, 1585, 1587, 1582, 1586,
 -     1590, 1590, 1591, 1592, 1595, 1594, 1589, 1596, 1596, 1592,
 -     1594, 1597, 1597, 1598, 1599, 1600, 1601, 1602, 1602, 1601,
 -     1603, 1604, 1605, 1606, 1613, 1607, 1606, 1598, 1745, 1606,
 -     1600, 1607, 1599, 1604, 1608, 1611, 1745, 1609, 1603, 1608,
 -
 -     1609, 1606, 1605, 1612, 1611, 1615, 1615, 1614, 1612, 1613,
 -     1614, 1616, 1617, 1625, 1618, 1623, 1609, 1616, 1617, 1618,
 -     1619, 1619, 1620, 1620, 1621, 1624, 1622, 1626, 1623, 1628,
 -     1621, 1622, 1625, 1627, 1629, 1628, 1627, 1631, 1630, 1632,
 -     1629, 1633, 1631, 1624, 1630, 1632, 1634, 1626, 1635, 1635,
 -     1636, 1634, 1637, 1638, 1640, 1636, 1639, 1641, 1642, 1644,
 -     1645, 1646, 1643, 1648, 1633, 1646, 1651, 1655, 1652,    0,
 -     1637, 1641, 1642, 1638, 1640, 1639, 1643, 1644, 1651, 1649,
 -     1652, 1653, 1648, 1654, 1656, 1645, 1649, 1655, 1657, 1654,
 -     1658, 1659, 1661, 1661, 1653, 1662, 1663, 1664, 1665, 1665,
 -
 -     1656, 1663, 1666, 1668, 1658, 1667, 1669, 1670, 1657, 1664,
 -     1671, 1672, 1659, 1674, 1673, 1662, 1670, 1666, 1672, 1667,
 -     1676, 1678, 1682, 1673, 1669, 1671, 1673, 1668, 1679, 1674,
 -     1683, 1679, 1680, 1680, 1682, 1676, 1681, 1681, 1684, 1686,
 -     1676, 1684, 1685, 1685, 1687, 1688, 1678, 1691, 1683, 1692,
 -     1688, 1689, 1686, 1690, 1689, 1693, 1694,    0, 1690, 1695,
 -     1696, 1697, 1700, 1687, 1693, 1692, 1691, 1697, 1695, 1696,
 -     1699, 1695, 1698, 1698, 1701, 1694, 1702, 1699, 1703, 1704,
 -     1705, 1707, 1700, 1706, 1710, 1705, 1705, 1701, 1706, 1711,
 -     1712, 1712, 1703, 1707, 1702, 1704, 1713, 1714, 1715, 1716,
 -
 -     1716, 1717, 1719, 1715, 1720, 1721, 1714, 1711, 1724, 1710,
 -     1717, 1718, 1713, 1717, 1716, 1725, 1718, 1726, 1728, 1727,
 -     1719, 1722, 1724, 1721, 1727, 1720, 1722, 1722, 1729, 1730,
 -     1725, 1732, 1728, 1733, 1729, 1731, 1731, 1732, 1733, 1726,
 -     1734, 1738, 1735, 1736, 1739, 1740, 1741, 1730, 1735, 1736,
 -     1747, 1740, 1748, 1742, 1734, 1749, 1742, 1743, 1739, 1741,
 -     1750, 1738, 1742, 1743, 1752, 1751, 1753, 1754, 1750, 1747,
 -     1751, 1748, 1755, 1752, 1749, 1756, 1754, 1757, 1759, 1753,
 -     1758, 1758, 1760, 1761, 1759, 1755, 1762, 1762, 1760, 1756,
 -     1763, 1757, 1767, 1764, 1765, 1768, 1761, 1766, 1766, 1769,
 -
 -     1770, 1768, 1758, 1774, 1771, 1767, 1773, 1773, 1775, 1776,
 -     1763, 1764, 1775, 1765, 1776, 1777, 1770, 1780, 1781, 1778,
 -     1779, 1769, 1771, 1774, 1778, 1779, 1780, 1783, 1784, 1785,
 -     1786, 1787, 1785, 1788, 1788, 1777, 1789, 1784, 1783, 1790,
 -     1791, 1781, 1786, 1792, 1792, 1794, 1787, 1793, 1795, 1798,
 -     1796, 1790, 1794, 1799, 1801, 1789, 1802, 1800, 1803, 1791,
 -     1795, 1793, 1796, 1800, 1803, 1813, 1801, 1813, 1798, 1804,
 -     1804, 1809, 1805, 1799, 1802, 1805, 1806, 1806, 1808, 1810,
 -     1809, 1811, 1811, 1808, 1812, 1810, 1814, 1815, 1816, 1814,
 -     1817, 1818, 1819, 1820, 1821, 1825, 1812, 1819, 1820, 1822,
 -
 -     1823, 1824, 1826, 1821, 1825, 1829, 1824, 1815, 1817, 1818,
 -     1816, 1822, 1832, 1827, 1828, 1823, 1834, 1825, 1827, 1828,
 -     1829, 1831, 1826, 1830, 1830, 1827, 1835, 1831, 1836, 1837,
 -     1838, 1843, 1838, 1832, 1839, 1834, 1840, 1840, 1841, 1841,
 -     1842, 1842, 1844, 1844, 1836, 1835, 1845, 1845, 1839, 1837,
 -     1839, 1843, 1846, 1847, 1848, 1849, 1849, 1850, 1851, 1852,
 -     1854, 1850, 1852, 1855, 1851, 1856, 1854, 1857, 1858, 1860,
 -     1860, 1856, 1857, 1846, 1847, 1848, 1859, 1861, 1862, 1859,
 -     1864, 1855, 1865, 1862, 1863, 1863, 1866, 1867, 1868, 1868,
 -     1870, 1866, 1867, 1858, 1869, 1864, 1870, 1861, 1871, 1869,
 -
 -     1872, 1873, 1874, 1865, 1876, 1932, 1880, 1875, 1932, 1878,
 -     1871, 1871, 1871, 1875, 1878, 1878, 1879, 1871, 1882, 1873,
 -     1872, 1880, 1874, 1881, 1876, 1881, 1883, 1884, 1885, 1882,
 -     1879, 1886, 1887, 1884, 1888, 1888, 1889, 1885, 1890, 1890,
 -     1891, 1883, 1892, 1893, 1893, 1894, 1894, 1895, 1898, 1898,
 -     1899, 1886, 1900, 1887, 1902, 1903, 1905, 1906, 1906, 1904,
 -     1891, 1900, 1889, 1902, 1892, 1904, 1907, 1895, 1908, 1910,
 -     1909, 1911, 1905, 1912, 1912, 1899, 1903, 1909, 1910, 1913,
 -     1914, 1917, 1916, 1908, 1918, 1920, 1917, 1907, 1916, 1919,
 -     1918, 1924, 1920, 1921, 1929, 1925, 1914, 1911, 1922, 1921,
 -
 -     1922, 1925, 1926, 1926, 1928, 1913, 1927, 1930, 1931, 1919,
 -     1924, 1927, 1933, 1928, 1929, 1934, 1935, 1935, 1936, 1937,
 -     1931, 1939, 1938, 1940, 1936, 1937, 1930, 1940, 1942, 1943,
 -     1933, 1946, 1944, 1945, 1945, 1947, 1939, 1944, 1948, 1950,
 -     1951, 1934, 1938, 1940, 1951, 1952, 1952,    0, 1942, 1959,
 -     1953, 1943, 1954, 1948, 1947, 1946, 1953, 1957, 1950, 1955,
 -     1955, 1954, 1956, 1958, 1958, 1960, 1956, 1961, 1957, 1962,
 -     1959, 1963, 1964, 1957, 1962, 1965, 1966, 1970, 1967, 1960,
 -     1969,    0, 1966, 1968, 1977, 1969, 1961, 1971, 1971, 1976,
 -     1970, 1963, 1964, 1972, 1972, 1965, 1967, 1973, 1968, 1975,
 -
 -     1976, 1973, 1978, 1978, 1977, 1976, 1980, 1980, 1975, 1981,
 -     1982, 1984, 1985, 1986, 1981, 1981, 1982, 1984, 1986, 1987,
 -     1988, 1990, 1992, 1991, 1993, 1993, 1988, 1991, 1994, 1995,
 -     1996, 1987, 1999, 1990, 1992, 1995, 1997, 2000, 1985, 1998,
 -     1998, 2001, 1997, 2002, 2004, 2005, 2001, 2008, 2012, 2006,
 -     2008, 1999, 1996, 1994, 2006, 2002, 2004, 2000, 2009, 2009,
 -     2010, 2010, 2011, 2011, 2005, 2013, 2014, 2016, 2012, 2015,
 -     2017, 2013, 2014, 2016, 2015, 2019, 2022, 2025, 2021, 2017,
 -     2019, 2021, 2023, 2023, 2026, 2027, 2028, 2028, 2022, 2025,
 -     2027, 2029, 2030, 2031, 2033, 2033, 2026, 2030, 2031, 2032,
 -
 -     2029, 2034, 2032, 2035, 2036, 2037, 2038, 2041, 2039, 2040,
 -     2038, 2042, 2035, 2039, 2043, 2040, 2044, 2046, 2046, 2047,
 -     2042, 2034, 2036, 2049, 2037, 2041, 2048, 2050, 2050, 2046,
 -     2044, 2051, 2043, 2052, 2053, 2048, 2054, 2047, 2055, 2060,
 -     2051, 2054, 2060, 2049, 2061, 2052, 2058, 2058, 2062, 2063,
 -     2067, 2055, 2065, 2068, 2066, 2053, 2067, 2069, 2069, 2070,
 -     2061, 2070, 2071, 2078, 2062, 2063, 2073, 2065, 2066, 2081,
 -     2068, 2072, 2072, 2079, 2073, 2075, 2075, 2076, 2076, 2079,
 -     2071, 2080, 2082, 2081, 2083, 2084, 2078, 2080, 2086, 2082,
 -     2085, 2085, 2087, 2092, 2090, 2088, 2089, 2086, 2091, 2093,
 -
 -     2096, 2097, 2107, 2098, 2107, 2084, 2083, 2088, 2089, 2090,
 -     2091, 2094, 2101, 2087, 2093, 2098, 2100, 2094, 2104, 2092,
 -     2096, 2099, 2099, 2102, 2097, 2108, 2102, 2114, 2103,    0,
 -     2094, 2106, 2101, 2103, 2100, 2109, 2106, 2110, 2104, 2112,
 -     2109, 2115, 2116, 2108, 2110, 2114, 2118, 2117, 2112, 2117,
 -     2115, 2119, 2122, 2121, 2116, 2121, 2124, 2119, 2123, 2123,
 -     2129, 2126, 2125, 2126, 2127, 2118, 2122, 2125, 2128, 2127,
 -     2130, 2131, 2133, 2128, 2132, 2135, 2134, 2133, 2129, 2136,
 -     2132, 2139, 2124, 2140, 2136, 2136, 2137, 2135, 2130, 2134,
 -     2143, 2131, 2141, 2141, 2137, 2142, 2142, 2140, 2144, 2146,
 -
 -     2139, 2145, 2148, 2149, 2146, 2143, 2147, 2145, 2147, 2150,
 -     2150, 2149, 2151, 2152, 2152, 2153, 2153, 2154, 2144, 2149,
 -     2148, 2156, 2155, 2159, 2151, 2158, 2154, 2155, 2160, 2158,
 -     2160, 2161, 2159, 2163, 2164, 2159, 2162, 2165, 2167, 2156,
 -     2172, 2162, 2162, 2164, 2171, 2163, 2168, 2173, 2169, 2165,
 -     2167, 2168, 2161, 2169, 2174, 2174, 2173, 2171, 2175, 2176,
 -     2172, 2177, 2178, 2179, 2182, 2186, 2180, 2181, 2187, 2182,
 -     2188, 2184, 2185, 2187, 2195, 2188, 2175, 2176, 2178, 2177,
 -     2180, 2189, 2181, 2184, 2185, 2186, 2192, 2194, 2179, 2196,
 -     2189, 2197, 2192, 2194, 2198, 2200, 2200, 2195, 2199, 2201,
 -
 -     2202, 2202, 2203, 2204, 2196, 2192, 2205, 2199, 2201, 2197,
 -     2205, 2206, 2207, 2209, 2211, 2210, 2206, 2217, 2212, 2198,
 -     2203, 2210, 2204, 2212, 2212, 2207, 2215, 2213, 2214, 2215,
 -     2216, 2225, 2209, 2213, 2214, 2222, 2211, 2217, 2216, 2220,
 -     2220, 2221, 2221, 2225, 2222, 2223, 2223, 2224, 2224, 2227,
 -     2226, 2235, 2228, 2229, 2229, 2227, 2221, 2228, 2230, 2230,
 -     2231, 2237, 2234, 2232, 2239, 2231, 2234, 2221, 2226, 2232,
 -     2236, 2235, 2240, 2241, 2236, 2242, 2244, 2240, 2243, 2245,
 -     2246, 2237, 2247, 2243, 2248, 2249, 2249, 2247, 2250, 2239,
 -     2242, 2253, 2250, 2251, 2244, 2245, 2241, 2252, 2254, 2255,
 -
 -     2246, 2256, 2252, 2259, 2257, 2258, 2248, 2262, 2251, 2257,
 -     2263, 2255, 2260, 2260, 2264, 2262, 2254, 2253, 2258, 2265,
 -     2256, 2259, 2266, 2267, 2268, 2269, 2272, 2270, 2271, 2263,
 -     2278, 2276, 2272, 2264, 2277, 2274, 2278, 2280, 2265, 2270,
 -     2279, 2284, 2279, 2268, 2276, 2266, 2269, 2267, 2277, 2271,
 -     2274, 2281, 2281, 2282, 2284, 2285, 2283, 2280, 2282, 2283,
 -     2286, 2287, 2287, 2288, 2288, 2289, 2291, 2289, 2294, 2285,
 -     2290, 2290, 2292, 2286, 2293, 2293, 2300, 2294, 2295, 2295,
 -     2294, 2291, 2296, 2296, 2297, 2292, 2299, 2301, 2302, 2297,
 -     2305, 2299, 2303, 2303, 2304, 2304, 2300, 2306, 2306, 2307,
 -
 -     2302, 2308, 2308, 2309, 2315, 2310, 2313, 2301, 2316, 2305,
 -     2310, 2311, 2311, 2312, 2312, 2314, 2317, 2307, 2309, 2321,
 -     2313, 2315, 2316, 2319, 2314, 2320, 2320, 2323, 2319, 2322,
 -     2322, 2324, 2329, 2325, 2326, 2317, 2324, 2326, 2321, 2325,
 -     2327, 2327, 2328, 2328, 2330, 2323, 2331, 2333, 2331, 2334,
 -     2337, 2329, 2335, 2335, 2338, 2342, 2327, 2339, 2343, 2330,
 -     2340, 2344, 2333, 2343, 2340, 2341, 2341, 2345, 2334, 2348,
 -     2337, 2350, 2339, 2349, 2342, 2351, 2344, 2338, 2347, 2347,
 -     2349, 2352, 2345, 2353, 2354, 2350, 2355, 2355, 2356, 2348,
 -     2357, 2358, 2357, 2351, 2358, 2360, 2361, 2356, 2353, 2352,
 -
 -     2362, 2360, 2363, 2364, 2365, 2362, 2366, 2363, 2361, 2358,
 -     2354, 2358, 2368, 2367, 2370, 2371, 2372, 2365, 2367, 2370,
 -     2371, 2372, 2373, 2374, 2375, 2376, 2377, 2366, 2364, 2374,
 -     2375, 2379, 2381, 2378, 2382, 2380, 2379, 2373, 2368, 2378,
 -     2380, 2377, 2383, 2384, 2385, 2383, 2376, 2382, 2388, 2386,
 -     2387, 2393, 2384, 2385, 2389, 2390, 2395, 2381, 2386, 2387,
 -     2389, 2390, 2388, 2391, 2396, 2397, 2397, 2391, 2398, 2399,
 -     2399, 2393, 2400, 2396, 2398, 2403, 2395, 2402, 2399, 2401,
 -     2401, 2400, 2402, 2405, 2406, 2407, 2407, 2408, 2412, 2409,
 -     2413, 2411,    0, 2416, 2414, 2403, 2416, 2403, 2409, 2405,
 -
 -     2406, 2418, 2408, 2411, 2412, 2413, 2414, 2417, 2419, 2420,
 -     2420, 2426, 2417, 2421, 2421, 2423, 2423, 2426, 2425, 2424,
 -     2419, 2418, 2424, 2425, 2427, 2428, 2429, 2429, 2430, 2432,
 -     2427, 2431, 2431, 2433, 2428, 2434, 2435, 2435, 2436, 2437,
 -     2438, 2432, 2430, 2446, 2436, 2438, 2440, 2433, 2441, 2444,
 -     2440, 2441, 2443, 2437, 2434, 2442, 2442, 2443, 2444, 2445,
 -     2447, 2448, 2448, 2446, 2447, 2449, 2451, 2452, 2445, 2453,
 -     2454, 2451, 2455, 2456, 2457, 2458, 2459, 2456, 2449, 2460,
 -     2458, 2462, 2459, 2461, 2461, 2460, 2455, 2452, 2463, 2453,
 -     2454, 2464, 2465, 2466, 2457, 2467, 2467, 2465, 2471, 2462,
 -
 -     2469, 2470, 2472, 2471, 2474, 2473, 2474, 2463, 2472, 2476,
 -     2464, 2478, 2469, 2473, 2466, 2479, 2479, 2470, 2476, 2480,
 -     2481, 2486, 2480, 2482, 2482, 2478, 2485, 2486, 2487, 2489,
 -     2485, 2488, 2488, 2492, 2492, 2494, 2496, 2500, 2489, 2497,
 -     2487, 2501, 2500, 2502, 2503, 2509, 2481, 2504, 2510, 2503,
 -     2496, 2509, 2504, 2494, 2512, 2497, 2505, 2505, 2507, 2507,
 -     2511, 2511, 2513, 2516, 2502, 2518, 2514, 2501, 2510, 2517,
 -     2512, 2514, 2517, 2519, 2520, 2520, 2524, 2518, 2522, 2529,
 -     2523, 2525, 2516, 2530, 2513, 2519, 2523, 2522, 2527, 2527,
 -     2528, 2532, 2532, 2528, 2524, 2535, 2525, 2534, 2529, 2533,
 -
 -     2533, 2530, 2534, 2536, 2537, 2538, 2539, 2540, 2539, 2541,
 -     2538, 2543, 2536, 2535, 2542, 2544, 2543, 2537, 2545, 2546,
 -        0, 2540, 2552, 2541, 2546, 2551, 2542, 2547, 2547, 2548,
 -     2548, 2549, 2549, 2550, 2550, 2544, 2553, 2551, 2545, 2557,
 -     2552, 2553, 2554, 2554, 2555, 2555, 2556, 2556, 2558, 2559,
 -     2560, 2557, 2561, 2562, 2563, 2563, 2564, 2565, 2565, 2566,
 -     2566, 2559, 2571, 2567, 2568, 2569, 2570, 2573, 2558, 2562,
 -     2560, 2574, 2569, 2561, 2567, 2564, 2568, 2576, 2570, 2572,
 -     2575, 2575, 2571, 2578, 2572, 2579, 2576, 2573, 2577, 2577,
 -     2580, 2574, 2581, 2582, 2584, 2583, 2584, 2587, 2585, 2586,
 -
 -     2586, 2593, 2591, 2580, 2588, 2579, 2587, 2582, 2589, 2578,
 -     2585, 2592, 2594, 2595, 2683, 2594, 2581, 2583, 2683, 2588,
 -     2591, 2596, 2605, 2589, 2593, 2597, 2596, 2595, 2598, 2598,
 -     2597, 2599, 2599, 2592, 2600, 2600, 2602, 2602, 2604, 2604,
 -     2605, 2606, 2607, 2608, 2610, 2611, 2612, 2613, 2614, 2615,
 -     2617, 2616, 2606, 2616, 2618, 2619, 2624, 2614, 2608, 2620,
 -     2620, 2607, 2623, 2611, 2610, 2622, 2622, 2613, 2612, 2615,
 -     2617, 2625, 2618, 2619, 2626, 2626, 2623, 2628, 2624, 2630,
 -     2625, 2629, 2629, 2631, 2632, 2633, 2628, 2635, 2634, 2636,
 -     2637, 2638, 2633, 2639, 2640, 2640, 2642, 2630, 2641, 2641,
 -
 -     2639, 2631, 2632, 2634, 2643, 2635, 2637, 2636, 2644, 2648,
 -     2638, 2646, 2646, 2649, 2644, 2648, 2642, 2647, 2647, 2650,
 -     2651, 2652, 2643, 2653, 2654, 2655,    0, 2656, 2653, 2658,
 -     2658, 2649, 2656, 2662, 2650, 2652, 2657, 2665, 2657, 2651,
 -     2659, 2664, 2659, 2666, 2654, 2655, 2660, 2660, 2667, 2668,
 -     2664, 2670, 2662, 2669, 2668, 2666, 2665, 2671, 2669, 2674,
 -     2675, 2676, 2677, 2677, 2676, 2678, 2679, 2682, 2667, 2680,
 -     2680, 2670, 2681, 2685, 2687, 2687, 2671, 2686, 2675, 2674,
 -     2678, 2686, 2682, 2681, 2679, 2688, 2690, 2691, 2685, 2692,
 -     2693, 2693, 2695, 2696, 2700, 2697, 2698, 2698, 2688, 2697,
 -
 -     2704, 2690, 2696, 2702, 2695, 2699, 2699, 2691, 2702, 2692,
 -     2701, 2701, 2703, 2700, 2705, 2706, 2704, 2707, 2707, 2712,
 -     2712, 2703, 2713, 2714, 2714, 2715, 2705, 2716, 2717, 2722,
 -     2718, 2721, 2721, 2719, 2720, 2706, 2723, 2733, 2715, 2718,
 -     2716, 2717, 2719, 2720, 2713, 2725, 2725, 2728, 2729, 2722,
 -     2730, 2723, 2728, 2729, 2731, 2732, 2733, 2734, 2737, 2731,
 -     2735, 2741, 2739, 2732, 2730, 2740, 2734, 2739, 2735, 2745,
 -     2740, 2742, 2742, 2737, 2743, 2743, 2741, 2744, 2746, 2746,
 -     2747, 2748, 2744, 2749, 2750, 2751, 2748, 2747, 2745, 2752,
 -     2754, 2751, 2753, 2753, 2752, 2755, 2756, 2756, 2757, 2757,
 -
 -     2755, 2749, 2750, 2760, 2763, 2754, 2761, 2761, 2762, 2763,
 -     2763, 2762, 2764, 2765, 2766, 2767, 2760, 2764, 2765, 2768,
 -     2769, 2767, 2770, 2768, 2771, 2769, 2772, 2773, 2766, 2774,
 -     2775, 2770, 2776, 2777, 2772, 2774, 2775, 2776, 2780, 2771,
 -     2779, 2781, 2783, 2780, 2781, 2777, 2785, 2779, 2773, 2788,
 -     2786, 2785, 2787, 2789, 2783, 2786, 2790, 2787, 2794, 2791,
 -     2792, 2792, 2793, 2794, 2797, 2790, 2789, 2788, 2791, 2798,
 -     2799, 2793, 2802, 2803, 2806, 2798, 2799, 2804, 2805, 2805,
 -     2807, 2806, 2797, 2808, 2811, 2809, 2810, 2810, 2815, 2813,
 -     2816, 2802, 2808, 2803, 2816, 2818, 2804, 2817, 2817, 2807,
 -
 -     2809, 2819, 2824, 2811, 2813, 2820, 2821, 2819, 2815, 2822,
 -     2824, 2820, 2823, 2823, 2825, 2822, 2826, 2828, 2829, 2831,
 -     2818, 2826, 2834, 2835, 2821, 2831, 2828, 2832, 2833, 2838,
 -     2832, 2829, 2833, 2837, 2837, 2849, 2834,    0, 2835, 2825,
 -     2839, 2839, 2840, 2840, 2842, 2842, 2843, 2838, 2844, 2845,
 -     2843, 2847, 2847, 2844, 2850, 2849, 2851, 2852, 2845, 2850,
 -     2853, 2855, 2852, 2852, 2856, 2856, 2858, 2858, 2851, 2859,
 -     2859, 2862, 2853, 2860, 2860, 2861, 2863, 2866, 2861, 2865,
 -     2865, 2855, 2868, 2872, 2862, 2869, 2869, 2870, 2870, 2863,
 -     2871, 2871, 2873, 2873, 2874, 2866, 2875, 2876, 2872, 2877,
 -
 -     2878, 2878, 2868, 2882, 2879, 2877, 2886, 2874, 2879, 2882,
 -     2883, 2876, 2885, 2887, 2875, 2883, 2888, 2885, 2885, 2889,
 -     2890, 2891, 2901, 2892, 2955, 2889, 2890, 2892, 2955, 2886,
 -     2893, 2893, 2896, 2887, 2898, 2899, 2888, 2896, 2899, 2904,
 -     2902, 2906, 2898, 2902, 2903, 2903, 2891, 2901, 2905, 2907,
 -     2908, 2909, 2909, 2905, 2910, 2911, 2904, 2904, 2911, 2906,
 -     2912, 2913, 2914, 2917, 2908, 2924, 2911, 2915, 2910, 2907,
 -     2914, 2916, 2915, 2915, 2912, 2926, 2916, 2916, 2918, 2918,
 -     2913, 2924, 2917, 2919, 2919, 2920, 2920, 2921, 2921, 2922,
 -     2922, 2923, 2923, 2925, 2927, 2926, 2928, 2929, 2925, 2930,
 -
 -     2931, 2933, 2929, 2932, 2934, 2931, 2936, 2936, 2937, 2937,
 -     2928, 2938, 2932, 2939, 2938, 2941, 2941, 2952, 2930, 2942,
 -     2927, 2933, 2943, 2943, 2934, 2944, 2942, 2946, 2946, 2947,
 -     2944, 2939, 2948, 2949, 2950, 2952, 2953, 2953, 2947, 2954,
 -     2954, 2948, 2949, 2950, 2956, 2957, 2958, 2959, 2961, 2960,
 -     2962, 2973, 2963, 2956, 2960, 2960, 2963, 2958, 2967, 2962,
 -     2969, 2961, 2959, 2967, 2957, 2968, 2968, 2971, 2971, 2972,
 -     2974, 2976, 2976, 2977, 2969, 2978, 2973, 2982, 2986, 2983,
 -     2984, 2989, 2977, 2972, 2983, 2987, 2991, 2978, 2974, 2984,
 -     2993, 2987, 2994, 2989, 2996, 2993, 2998, 2994, 2986, 2995,
 -
 -     2995, 2998, 2982, 2996, 2999, 3000, 3007, 2991, 3001, 3001,
 -     3003, 3003, 3001, 3004, 3004, 3005, 3005, 2999, 3006, 3000,
 -     3008, 3014, 3014, 3009, 3011, 3015, 3007, 3006, 3009, 3012,
 -     3011, 3013, 3016, 3017, 3012, 3018, 3013, 3019, 3021, 3008,
 -     3018, 3020, 3028, 3015, 3016, 3022, 3022, 3020, 3024, 3027,
 -     3027, 3025, 3024, 3026, 3017, 3019, 3025, 3029, 3026, 3030,
 -     3032, 3028, 3036, 3021, 3034, 3034, 3037, 3039, 3038, 3040,
 -     3041, 3039, 3029, 3042, 3030, 3036, 3043, 3044, 3040, 3037,
 -     3032, 3038, 3044, 3045, 3043, 3047, 3041, 3046, 3046, 3048,
 -     3049, 3051, 3042, 3057, 3047, 3050, 3050, 3054, 3054, 3055,
 -
 -     3055, 3059, 3059, 3045, 3061, 3062, 3063, 3048, 3064, 3069,
 -     3051, 3063, 3065, 3070, 3057, 3072, 3049, 3065, 3068, 3068,
 -     3061, 3062, 3070, 3073, 3064, 3071, 3075, 3075, 3077, 3069,
 -     3076, 3071, 3078, 3078, 3080, 3082, 3084, 3083, 3072, 3086,
 -     3080, 3084, 3073, 3083, 3076, 3087, 3087, 3077, 3088, 3088,
 -     3089, 3090, 3091, 3091, 3093, 3082, 3092, 3094, 3095, 3096,
 -     3098, 3086, 3097, 3093, 3095, 3089, 3100, 3092, 3099, 3099,
 -     3101, 3090, 3091, 3101, 3097, 3107, 3102, 3094, 3096, 3102,
 -     3098, 3100, 3103, 3103, 3108, 3109, 3112, 3107, 3110, 3110,
 -     3111, 3109, 3112, 3111, 3113, 3115, 3116, 3116, 3117, 3118,
 -
 -     3115, 3119, 3120, 3117, 3108, 3121, 3121, 3119, 3124, 3123,
 -     3125, 3126, 3113, 3127, 3127, 3128, 3129, 3144, 3118, 3120,
 -     3120, 3123, 3130, 3144, 3126, 3136, 3124, 3132, 3132, 3133,
 -     3133, 3130, 3129, 3135, 3128, 3125, 3134, 3134, 3135, 3136,
 -     3137, 3138, 3138, 3139, 3139, 3137, 3140, 3140, 3141, 3141,
 -     3142, 3143, 3145, 3147, 3147, 3150, 3152, 3145, 3153, 3155,
 -     3154, 3156, 3156, 3142, 3158, 3158, 3159, 3160, 3161, 3162,
 -     3164, 3164, 3165, 3165, 3150, 3163, 3167, 3143, 3152, 3154,
 -     3153, 3155, 3161, 3169, 3163, 3168, 3160, 3170, 3171, 3162,
 -     3174, 3168, 3159, 3171, 3167, 3175, 3175, 3177, 3177, 3178,
 -
 -     3179, 3180, 3182, 3169, 3178, 3181, 3170, 3180, 3183, 3183,
 -     3182, 3174, 3186, 3184, 3179, 3187, 3186, 3181, 3184, 3188,
 -     3187, 3189, 3190, 3191, 3192, 3194, 3195, 3190, 3196, 3197,
 -     3192, 3200, 3199, 3194, 3201, 3191, 3202, 3203, 3205, 3188,
 -     3206, 3189, 3203, 3205, 3210, 3195,    0, 3200, 3196, 3197,
 -     3199, 3201, 3201, 3207, 3212, 3211, 3208, 3202, 3211, 3207,
 -     3206, 3208, 3216, 3216, 3210, 3217, 3217, 3212, 3218, 3223,
 -     3223, 3224, 3218, 3225, 3226, 3226, 3224, 3228, 3228, 3229,
 -     3229, 3233, 3229, 3230, 3230, 3233, 3230, 3231, 3231, 3235,
 -     3232, 3232, 3225, 3232, 3235, 3236, 3237, 3237, 3238, 3239,
 -
 -     3242, 3242, 3243, 3244, 3236, 3245, 3246, 3246, 3247, 3250,
 -     3245, 3251, 3253, 3239, 3254, 3252, 3238, 3256, 3251, 3252,
 -     3257, 3253, 3243, 3244, 3259, 3257, 3258, 3258, 3247, 3254,
 -     3260, 3260, 3263, 3259, 3250, 3256, 3261, 3261, 3262, 3262,
 -     3264, 3265, 3268, 3266, 3269, 3264, 3267, 3263, 3266, 3266,
 -     3265, 3270, 3267, 3265, 3273, 3271, 3272, 3274, 3274, 3269,
 -     3271, 3272, 3275, 3276, 3277, 3277, 3279, 3268, 3275, 3276,
 -     3278, 3278, 3270, 3273, 3280, 3283, 3283, 3285, 3285, 3280,
 -     3286, 3279, 3289, 3289, 3290, 3290, 3291, 3291, 3298, 3286,
 -     3292, 3292, 3294, 3294, 3295, 3295, 3296, 3296, 3297, 3297,
 -
 -     3300, 3301, 3301, 3302, 3302, 3304, 3303, 3305, 3310, 3300,
 -     3307, 3307, 3308, 3311, 3298, 3303, 3312, 3304, 3309, 3309,
 -     3313, 3313, 3316, 3310, 3314, 3314, 3311, 3305, 3312, 3317,
 -     3317, 3308, 3320, 3321, 3322, 3324, 3321, 3316, 3323, 3323,
 -     3326, 3327, 3328, 3326, 3329, 3330, 3332, 3327, 3331, 3329,
 -     3320, 3334, 3335, 3324, 3338, 3339, 3328, 3334, 3338, 3342,
 -     3322, 3335, 3332, 3351, 3330, 3355, 3331, 3361, 3351, 3352,
 -     3339, 3364, 3352, 3356, 3356, 3357, 3357, 3362, 3355, 3359,
 -     3359, 3366, 3368, 3363, 3370, 3342, 3362, 3363, 3369, 3370,
 -     3361, 3364, 3371, 3372, 3371, 3366, 3373, 3373, 3374, 3369,
 -
 -     3375, 3377, 3376, 3378, 3380, 3368, 3379, 3382, 3372, 3383,
 -     3381, 3374, 3382, 3380, 3385, 3385, 3386, 3377, 3384, 3375,
 -     3376, 3379, 3381, 3384, 3387, 3391, 3392, 3400, 3378, 3387,
 -     3383, 3393, 3393, 3394, 3395, 3395, 3386, 3396, 3396, 3391,
 -     3397, 3397, 3394, 3398, 3398, 3399, 3392, 3400, 3401, 3402,
 -     3403, 3401, 3404, 3405, 3402, 3403, 3406, 3407, 3408, 3411,
 -     3409, 3415, 3406, 3416, 3399, 3409, 3410, 3410, 3405, 3419,
 -     3408, 3407, 3412, 3412, 3414, 3414, 3415, 3404, 3421, 3411,
 -     3417, 3417, 3416, 3426, 3419, 3424, 3424, 3425, 3425, 3427,
 -     3430, 3426, 3428, 3429, 3431, 3432, 3421, 3433, 3428, 3429,
 -
 -     3434, 3434, 3433, 3439, 3430, 3436, 3436, 3431, 3427, 3440,
 -     3445, 3442, 3443, 3446, 3432, 3447, 3443, 3450, 3446, 3448,
 -     3449, 3451, 3452, 3456, 3439, 3442, 3451, 3452, 3457, 3440,
 -     3445, 3458, 3448, 3449, 3447, 3461, 3450, 3453, 3453, 3459,
 -     3459, 3461, 3460, 3456, 3462, 3462, 3457, 3460, 3463, 3464,
 -     3458, 3465, 3466, 3463, 3464, 3467, 3465, 3469, 3469, 3470,
 -     3474, 3467, 3471, 3471, 3470, 3473, 3475, 3476, 3477, 3473,
 -     3478, 3466, 3479, 3475, 3487, 3480, 3478, 3482, 3482, 3474,
 -     3484, 3484, 3488, 3485, 3486, 3489, 3476, 3477, 3480, 3486,
 -     3492, 3479, 3485, 3487, 3491, 3485, 3490, 3490, 3489, 3491,
 -
 -     3494, 3488, 3496, 3492, 3495, 3495, 3497, 3497, 3498, 3498,
 -     3499, 3500, 3501, 3502, 3502, 3499,    0, 3503, 3500, 3505,
 -     3505, 3496, 3503, 3504, 3508, 3504, 3494, 3506, 3507, 3510,
 -     3513, 3501, 3509, 3517, 3506, 3507, 3515, 3509, 3512, 3512,
 -     3516, 3515, 3518, 3508, 3522, 3516, 3519, 3519, 3510, 3513,
 -     3521, 3521, 3517, 3523, 3524, 3524, 3525, 3525, 3526, 3528,
 -     3528, 3518, 3530, 3522, 3536, 3526, 3529, 3529, 3532, 3530,
 -     3535, 3537, 3523, 3532,    0, 3535, 3538, 3538, 3539, 3539,
 -        0,    0,    0, 3536,    0,    0,    0,    0,    0,    0,
 -     3537, 3543, 3543, 3543, 3543, 3543, 3543, 3543, 3544, 3544,
 -
 -     3544, 3544, 3544, 3544, 3544, 3545, 3545, 3545, 3545, 3545,
 -     3545, 3545, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3547,
 -     3547, 3547, 3547, 3547, 3547, 3547, 3548, 3548, 3548, 3548,
 -     3548, 3548, 3548, 3549, 3549, 3549, 3549, 3549, 3549, 3549,
 -     3551, 3551,    0, 3551, 3551, 3551, 3551, 3552, 3552,    0,
 -        0,    0, 3552, 3552, 3553, 3553,    0,    0, 3553,    0,
 -     3553, 3554,    0,    0,    0,    0,    0, 3554, 3555, 3555,
 -        0,    0,    0, 3555, 3555, 3556,    0,    0,    0,    0,
 -        0, 3556, 3557, 3557,    0, 3557, 3557, 3557, 3557, 3558,
 -        0,    0,    0,    0,    0, 3558, 3559, 3559,    0,    0,
 -
 -        0, 3559, 3559, 3560, 3560,    0, 3560, 3560, 3560, 3560,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542, 3542,
 -     3542
 +      185,  188,  184,  213,  182,  183,  193,  191,  190,  187,
 +      177,  193,  186,  191,  191,  189,  194,  194,  195,  197,
 +      196,  213,  196,  197,  195,  196,  198,  198,  197,  199,
 +
 +      200,  201,  202,  197,  204,  205,  200,  202,  203,  197,
 +      197,  199,  196,  203,  207,  206,  204,  208,  207,  209,
 +      201,  206,  208,  210,  211,  205,  212,  214,  215,  218,
 +      216,  216,  214,  215,  216,  209,  216,  210,  212,  211,
 +      217,  212,  219,  176,  206,  217,  220,  224,  216,  218,
 +      216,  222,  220,  221,  221,  223,  225,  222,  219,  226,
 +      228,  223,  225,  222,  229,  226,  228,  224,  231,  229,
 +      230,  232,  231,  233,  226,  233,  230,  232,  234,  235,
 +      233,  236,  237,  238,  234,  239,  240,  236,  241,  238,
 +      242,  243,  235,  244,  240,  242,  245,  246,  239,  247,
 +
 +      243,  241,  237,  249,  247,  247,  248,  239,  244,  250,
 +      251,  248,  245,  250,  252,  253,  254,  246,  255,  256,
 +      252,  249,  254,  258,  256,  260,  262,  264,  259,  271,
 +      261,  260,  251,  253,  253,  259,  261,  263,  255,  264,
 +      265,  274,  258,  263,  268,  262,  266,  266,  267,  267,
 +      268,  269,  271,  270,  265,  270,  272,  269,  273,  275,
 +      274,  272,  276,  278,  277,  279,  286,  275,  268,  277,
 +      273,  279,  270,  280,  284,  281,  282,  283,  285,  280,
 +      281,  282,  276,  283,  286,  287,  278,  288,  289,  284,
 +      290,  291,  285,  295,  291,  288,  290,  299,  292,  287,
 +
 +      292,  293,  293,  294,  296,  296,  294,  297,  297,  298,
 +      304,  295,  299,  289,  300,  301,  174,  300,  302,  301,
 +      303,  306,  304,  315,  305,  298,  307,  302,  309,  303,
 +      305,  308,  307,  308,  309,  306,  310,  311,  311,  312,
 +      310,  313,  314,  315,  312,  316,  318,  313,  314,  317,
 +      319,  319,  320,  321,  322,  320,  323,  310,  322,  318,
 +      324,  325,  325,  316,  326,  327,  329,  314,  327,  328,
 +      317,  321,  329,  330,  331,  323,  330,  334,  324,  333,
 +      337,  328,  326,  337,  335,  327,  331,  332,  333,  335,
 +      338,  340,  348,  340,  340,  334,  332,  336,  339,  332,
 +
 +      336,  348,  336,  338,  332,  332,  332,  332,  341,  342,
 +      339,  344,  342,  341,  341,  336,  343,  343,  336,  345,
 +      346,  347,  351,  349,  350,  350,  354,  351,  344,  352,
 +      352,  344,  349,  357,  345,  346,  353,  353,  347,  347,
 +      355,  354,  356,  358,  359,  355,  363,  360,  372,  372,
-       364,  169,  357,  360,  356,  364,  365,  361,  361,  359,
-       361,  361,  365,  358,  397,  366,  363,  367,  368,  361,
-       366,  368,  367,  368,  369,  371,  370,  373,  367,  370,
-       374,  374,  375,  373,  371,  378,  382,  375,  369,  380,
-       397,  379,  370,  381,  379,  370,  385,  370,  376,  376,
-       382,  376,  387,  384,  380,  378,  384,  376,  381,  388,
-       385,  376,  379,  391,  392,  471,  376,  387,  388,  376,
-       377,  377,  384,  377,  389,  390,  394,  393,  413,  389,
-       389,  390,  395,  392,  391,  394,  377,  471,  390,  377,
-       404,  377,  393,  377,  386,  398,  386,  386,  396,  402,
-       399,  395,  403,  413,  396,  404,  386,  386,  386,  386,
-       386,  400,  406,  386,  399,  398,  409,  400,  401,  402,
-       405,  400,  403,  401,  407,  405,  410,  406,  408,  408,
-       407,  411,  414,  412,  417,  415,  409,  418,  410,  412,
-       415,  401,  419,  416,  416,  411,  416,  420,  414,  421,
-       422,  421,  424,  418,  417,  427,  424,  423,  419,  423,
-       423,  420,  425,  426,  426,  422,  425,  428,  429,  430,
-       432,  431,  437,  167,  427,  440,  437,  423,  432,  432,
-       434,  425,  428,  445,  429,  431,  434,  430,  435,  436,
-       432,  438,  432,  433,  436,  439,  440,  435,  433,  441,
-       438,  439,  166,  445,  442,  441,  433,  433,  442,  443,
-       433,  433,  443,  444,  433,  446,  446,  447,  444,  448,
-       448,  449,  450,  451,  451,  452,  449,  454,  453,  455,
-       447,  452,  453,  456,  457,  450,  458,  458,  456,  457,
-       459,  460,  454,  462,  461,  458,  463,  465,  464,  463,
-       455,  465,  459,  464,  466,  462,  467,  467,  468,  469,
-       475,  460,  461,  468,  470,  470,  466,  473,  473,  476,
-       477,  479,  482,  478,  480,  481,  484,  476,  486,  480,
-       469,  475,  478,  485,  482,  487,  506,  488,  489,  492,
-       506,  477,  479,  488,  484,  481,  484,  489,  486,  487,
-       490,  485,  491,  492,  493,  494,  490,  491,  494,  495,
-       496,  497,  493,  498,  499,  493,  501,  500,  502,  498,
-       500,  504,  501,  495,  503,  496,  497,  505,  507,  503,
-       508,  509,  502,  507,  499,  510,  509,  511,  516,  512,
-       501,  515,  518,  504,  521,  508,  518,  517,  505,  519,
-       520,  510,  512,  534,  534,  520,  511,  513,  513,  516,
-       521,  515,  517,  513,  524,  513,  522,  525,  519,  523,
-       522,  513,  525,  513,  523,  526,  513,  513,  523,  524,
-       527,  528,  529,  513,  530,  531,  532,  528,  531,  527,
-       533,  526,  528,  535,  526,  536,  536,  529,  537,  538,
-       530,  539,  540,  540,  541,  542,  544,  543,  164,  532,
-       533,  538,  543,  537,  545,  544,  539,  546,  535,  547,
-       549,  555,  550,  541,  551,  547,  550,  542,  551,  549,
-       552,  553,  546,  545,  554,  557,  552,  556,  558,  560,
-       555,  559,  561,  553,  561,  559,  562,  563,  566,  554,
-       557,  556,  560,  564,  564,  563,  558,  565,  567,  568,
-       566,  570,  569,  565,  567,  569,  571,  572,  574,  575,
-       562,  568,  572,  573,  576,  570,  573,  574,  577,  576,
-       576,  571,  578,  578,  574,  575,  580,  574,  579,  579,
-       586,  577,  580,  581,  581,  582,  582,  583,  585,  584,
-       587,  585,  589,  583,  584,  584,  588,  589,  590,  588,
-       591,  586,  587,  592,  593,  594,  592,  595,  591,  593,
-       596,  598,  597,  602,  596,  599,  600,  590,  597,  599,
-       601,  603,  603,  604,  605,  601,  595,  602,  594,  607,
-       606,  598,  609,  608,  600,  606,  610,  612,  604,  611,
-       615,  615,  610,  614,  611,  605,  616,  613,  607,  608,
-       613,  612,  609,  617,  620,  613,  621,  618,  613,  613,
-       619,  614,  618,  162,  616,  619,  623,  624,  620,  617,
-       625,  621,  623,  625,  626,  627,  624,  630,  626,  628,
-       627,  629,  628,  631,  632,  633,  629,  634,  635,  636,
-       636,  632,  634,  630,  637,  638,  639,  640,  633,  643,
-       626,  631,  641,  637,  642,  643,  644,  645,  635,  653,
-       645,  641,  644,  640,  638,  649,  642,  639,  646,  646,
-       647,  646,  648,  647,  650,  651,  652,  648,  653,  654,
-       656,  652,  655,  649,  658,  654,  656,  655,  650,  651,
-       657,  659,  660,  657,  661,  662,  659,  660,  660,  663,
-       664,  665,  666,  668,  663,  667,  664,  661,  662,  658,
-       667,  666,  669,  669,  678,  670,  674,  671,  663,  663,
-       665,  670,  672,  668,  671,  672,  673,  680,  674,  675,
-       676,  679,  673,  679,  675,  676,  676,  677,  677,  678,
-       672,  681,  682,  681,  675,  683,  680,  684,  685,  686,
-       687,  688,  689,  690,  693,  688,  687,  691,  692,  694,
-       682,  689,  694,  683,  695,  684,  697,  685,  690,  686,
-       698,  694,  691,  693,  696,  699,  692,  700,  701,  695,
-       696,  702,  705,  704,  698,  703,  697,  699,  706,  703,
-       707,  708,  709,  710,  711,  711,  700,  709,  705,  701,
-       702,  704,  713,  714,  716,  718,  706,  710,  707,  707,
-       708,  712,  715,  719,  717,  712,  713,  720,  716,  717,
-       721,  718,  714,  715,  722,  724,  723,  721,  727,  722,
-       720,  725,  719,  723,  726,  728,  725,  730,  729,  726,
-       732,  731,  728,  741,  160,  739,  727,  729,  733,  724,
-       731,  730,  732,  734,  733,  737,  735,  736,  734,  735,
-       739,  736,  738,  740,  741,  742,  742,  743,  743,  737,
-       745,  738,  744,  744,  746,  745,  743,  740,  748,  749,
-       750,  752,  751,  746,  753,  749,  751,  754,  755,  757,
-       756,  759,  758,  752,  755,  760,  757,  748,  756,  763,
-       750,  766,  769,  772,  772,  754,  770,  773,  775,  753,
-       758,  769,  770,  773,  763,  760,  759,  761,  766,  761,
-       780,  774,  761,  776,  775,  782,  761,  776,  781,  761,
-       774,  777,  777,  778,  778,  779,  761,  761,  780,  761,
-       787,  783,  781,  785,  788,  782,  779,  783,  784,  784,
-       784,  786,  784,  789,  790,  784,  786,  789,  793,  855,
-       784,  787,  788,  785,  791,  792,  784,  784,  791,  794,
-       792,  795,  796,  797,  794,  798,  797,  793,  790,  801,
-       798,  798,  799,  855,  791,  802,  795,  800,  800,  799,
-       802,  803,  803,  804,  801,  806,  805,  796,  804,  805,
-       806,  807,  807,  808,  809,  808,  810,  811,  812,  814,
-       813,  811,  815,  815,  820,  816,  809,  814,  817,  818,
-       818,  819,  821,  824,  824,  810,  820,  822,  812,  813,
-       816,  823,  817,  822,  829,  825,  823,  827,  835,  819,
-       825,  825,  827,  828,  821,  830,  835,  831,  832,  828,
-       834,  830,  831,  829,  832,  833,  834,  838,  833,  836,
-       836,  837,  837,  839,  840,  838,  841,  842,  843,  840,
-       841,  844,  845,  847,  842,  846,  846,  848,  849,  849,
-       851,  839,  847,  850,  853,  848,  843,  844,  854,  850,
-       856,  845,  857,  853,  860,  856,  861,  854,  863,  851,
-       858,  857,  859,  858,  862,  864,  868,  859,  860,  865,
-       864,  863,  867,  862,  865,  865,  866,  866,  870,  869,
-       871,  861,  874,  872,  874,  868,  872,  867,  869,  875,
-       875,  876,  877,  878,  872,  879,  880,  877,  871,  881,
-       882,  883,  870,  884,  885,  886,  887,  888,  885,  889,
-       883,  891,  876,  888,  878,  879,  880,  890,  889,  892,
-       882,  881,  893,  886,  894,  887,  884,  891,  896,  890,
-       894,  895,  897,  898,  898,  899,  893,  897,  892,  895,
-       900,  901,  896,  902,  903,  904,  905,  906,  910,  907,
-       901,  908,  903,  909,  899,  911,  912,  908,  913,  909,
-       900,  911,  910,  902,  917,  904,  906,  914,  905,  907,
-       912,  915,  916,  914,  918,  919,  916,  915,  913,  920,
-       919,  921,  921,  917,  922,  923,  918,  925,  926,  924,
-       922,  923,  924,  927,  918,  928,  929,  929,  930,  927,
-       920,  926,  931,  932,  933,  925,  932,  931,  934,  933,
-       933,  936,  936,  935,  937,  928,  930,  935,  938,  932,
-       939,  932,  940,  934,  942,  939,  943,  946,  947,  945,
-       949,  949,  953,  950,  952,  952,  937,  950,  938,  951,
-       943,  940,  945,  955,  976,  976,  956,  946,  942,  947,
-       948,  958,  954,  948,  951,  948,  954,  953,  955,  948,
-       956,  948,  957,  959,  960,  958,  948,  957,  959,  959,
-       961,  948,  962,  960,  963,  964,  962,  966,  967,  965,
-       964,  968,  966,  969,  961,  970,  971,  972,  962,  963,
-       964,  965,  967,  972,  970,  973,  979,  969,  971,  974,
-       973,  975,  968,  977,  978,  974,  980,  975,  977,  981,
-       978,  983,  984,  989,  986,  990,  985,  984,  979,  987,
-       987,  989,  992,  983,  991,  980,  986,  981,  982,  982,
-       985,  990,  988,  993,  982,  994,  982,  988,  991,  995,
-       998,  992,  982,  997,  996,  995,  999,  982,  982,  996,
-      1000,  994,  993, 1001,  982,  997, 1002, 1002,  998, 1003,
-      1004, 1006,  999, 1003, 1008, 1009, 1007, 1006, 1000, 1007,
-      1009, 1001, 1010, 1011, 1013, 1015, 1012, 1016, 1017, 1011,
-      1004, 1012, 1018, 1008, 1015, 1010, 1016, 1019, 1018, 1020,
-      1021, 1022, 1023, 1013, 1017, 1021, 1019, 1024, 1025, 1028,
-      1026, 1029, 1034, 1027, 1032, 1028, 1023, 1030, 1020, 1026,
-      1025, 1022, 1027, 1030, 1035, 1038, 1034, 1024, 1029, 1036,
-      1032, 1037, 1040, 1039, 1036, 1041, 1042, 1045,   85, 1038,
-      1041, 1042, 1045, 1046, 1035, 1047, 1047, 1040, 1048, 1049,
-      1037, 1039, 1046, 1050, 1048, 1049, 1051, 1052, 1054, 1055,
-      1058, 1059, 1050, 1058, 1055, 1055, 1060, 1061, 1057, 1057,
-      1052, 1051, 1057, 1062, 1054, 1059, 1063, 1064, 1065, 1066,
-      1068, 1067, 1071, 1061, 1065, 1069, 1060, 1067, 1074, 1063,
-      1069, 1062, 1064, 1070, 1077, 1068, 1071, 1070, 1073, 1066,
-      1075, 1073, 1076, 1078, 1081, 1075, 1079, 1076, 1080, 1074,
-      1077, 1079, 1078, 1080, 1083, 1084, 1081, 1085, 1086, 1088,
-      1083, 1087, 1087, 1085, 1086, 1089, 1090, 1092, 1088, 1090,
-      1093, 1084, 1091, 1091, 1094, 1095, 1097, 1096, 1095, 1100,
-      1098, 1099, 1097, 1089, 1100, 1092, 1098, 1099, 1101, 1093,
-      1096, 1102, 1104, 1101, 1094, 1103, 1106, 1102, 1104, 1107,
-      1103, 1106, 1108, 1109, 1112, 1110, 1111, 1111, 1114, 1109,
-      1110, 1113, 1115, 1112, 1118, 1116, 1117, 1107, 1116, 1117,
-      1113, 1120, 1108, 1119, 1121, 1118, 1114, 1122, 1119, 1123,
-      1125, 1115, 1124, 1127, 1127, 1123, 1121, 1126, 1124, 1120,
-      1128, 1129, 1126, 1131, 1130, 1125, 1122, 1132, 1133, 1134,
-      1135, 1132, 1136, 1138, 1143, 1129, 1130, 1140, 1134, 1128,
-      1151, 1131, 1139, 1139, 1145, 1140, 1133, 1146, 1141, 1135,
-      1142, 1147, 1138, 1141, 1143, 1142, 1148, 1136, 1145, 1149,
-      1151, 1148, 1146, 1147, 1150, 1150, 1152, 1153, 1149, 1154,
-      1155, 1162, 1152, 1153, 1156, 1155, 1156, 1157, 1158, 1159,
-      1161, 1160, 1157, 1164, 1163, 1154, 1160, 1165, 1167, 1167,
-      1162, 1163, 1158, 1159, 1168, 1161, 1169, 1170, 1164, 1171,
-      1172,   80, 1173, 1176, 1176, 1171, 1165, 1173, 1168, 1175,
-      1177, 1180, 1170, 1175, 1169, 1177, 1173, 1179, 1173, 1182,
-      1172, 1173, 1178, 1178, 1179, 1180, 1181, 1183, 1184, 1181,
-      1185, 1186, 1187, 1188, 1190, 1185, 1189, 1184, 1182, 1188,
-      1191, 1189, 1192, 1197, 1187, 1183, 1194, 1194, 1190, 1195,
-      1186, 1191, 1196, 1198, 1195, 1199, 1200, 1196, 1198, 1199,
-      1201, 1192, 1202, 1197, 1203, 1200, 1204, 1205, 1207, 1204,
-      1208, 1209, 1206, 1210,   75, 1201, 1214, 1202, 1204, 1206,
-      1207, 1211, 1205, 1203, 1212, 1215, 1216, 1211, 1213, 1208,
-      1218, 1210, 1209, 1217, 1213, 1216, 1214, 1220, 1219, 1212,
-      1221, 1223, 1222, 1224, 1227, 1215, 1226, 1223, 1217, 1218,
-      1219, 1230, 1226, 1228, 1229, 1232, 1220, 1222, 1231, 1227,
-      1232, 1233, 1229, 1224, 1234, 1221, 1235, 1228, 1236, 1234,
-      1234, 1230, 1241, 1233, 1231, 1237, 1238, 1238, 1240,   74,
-      1242, 1241, 1236, 1243, 1243, 1235, 1242, 1244, 1237, 1239,
-      1239, 1240, 1244, 1246, 1239, 1245, 1247, 1239, 1239, 1246,
-      1248, 1247, 1239, 1250, 1245, 1248, 1249, 1249, 1239, 1251,
-      1251, 1252, 1239, 1253, 1252, 1255, 1252, 1254, 1256, 1257,
-      1258, 1255, 1259, 1260, 1250, 1258, 1261, 1256, 1262, 1301,
-      1265, 1301, 1261, 1253, 1262, 1254, 1259, 1263, 1266, 1257,
-      1264, 1260, 1263, 1265, 1264, 1267, 1268, 1266, 1269, 1269,
-      1267, 1275, 1266, 1273, 1266, 1271, 1266, 1273, 1266, 1274,
-      1268, 1270, 1270, 1276, 1270, 1277, 1271, 1278, 1279, 1275,
-      1277, 1277, 1276, 1280, 1274, 1281, 1278, 1282, 1280, 1283,
-      1284, 1285, 1286, 1288, 1288, 1289, 1282, 1287, 1286, 1281,
-      1279, 1290, 1287, 1289, 1292, 1285, 1291, 1293, 1283, 1284,
-      1294, 1291, 1295, 1296, 1297, 1290, 1293, 1294, 1292, 1297,
-      1298, 1298, 1299, 1300, 1300, 1303, 1304, 1305, 1303, 1308,
-      1295, 1304, 1306, 1307, 1307, 1309, 1309, 1299, 1296, 1310,
-      1310, 1306, 1311, 1312, 1313, 1314, 1305, 1311, 1316, 1308,
-      1315, 1315, 1317, 1318, 1319, 1320, 1318, 1321, 1322, 1324,
-      1326, 1320, 1321, 1326, 1312, 1313, 1314, 1322, 1316, 1317,
-      1323, 1327, 1323, 1328, 1319, 1329, 1330, 1324, 1328, 1331,
-      1332, 1330, 1335, 1335, 1337, 1332, 1327, 1331, 1333, 1329,
-      1334, 1333, 1336, 1338, 1339, 1334, 1340, 1336, 1342, 1338,
-      1343, 1339, 1337, 1344, 1342, 1345, 1343, 1346, 1344, 1340,
-      1345, 1347, 1348, 1346, 1349, 1350, 1350, 1351, 1353, 1355,
-      1347, 1354, 1357, 1353, 1358, 1349, 1356, 1359, 1360, 1355,
-      1361, 1348, 1363, 1359, 1360, 1364, 1361, 1351, 1363, 1354,
-      1365, 1356, 1357, 1366, 1367, 1368, 1369, 1358, 1371, 1364,
-      1370, 1370, 1372, 1373, 1379, 1364, 1367, 1374, 1376, 1368,
-      1365, 1381, 1374, 1366, 1369, 1375, 1375, 1377, 1371, 1380,
-      1383, 1373, 1377, 1379, 1380, 1380, 1382, 1372, 1383, 1381,
-      1384, 1376, 1385, 1386, 1387, 1382, 1388, 1392, 1389, 1387,
-      1389, 1390, 1387, 1392, 1384, 1388, 1393, 1385, 1386, 1394,
-      1393, 1386, 1395, 1396, 1397, 1390, 1398, 1395, 1395, 1399,
-      1394, 1400, 1401, 1402, 1399, 1403, 1400, 1405, 1404, 1407,
-        68, 1408, 1396, 1404, 1398, 1409, 1410, 1410, 1411, 1412,
-      1397, 1402, 1411, 1407, 1413, 1403, 1414, 1405, 1401, 1408,
-      1415, 1416, 1414, 1409, 1417, 1418, 1419, 1412, 1421, 1420,
-      1422, 1423, 1415, 1413, 1425, 1422, 1426, 1416, 1423, 1418,
-      1424, 1419, 1427, 1417, 1420, 1424, 1429, 1421, 1428, 1428,
-      1430, 1427, 1425, 1431, 1432, 1432, 1433, 1426, 1434, 1430,
-      1435, 1429, 1433, 1438, 1434, 1436, 1436, 1437, 1437, 1438,
-      1439, 1440, 1441, 1431, 1435, 1442, 1443, 1441, 1444, 1445,
-      1445, 1442, 1443, 1451, 1444, 1450, 1439, 1446, 1446, 1448,
-      1448, 1449, 1440, 1452, 1450, 1449, 1453, 1454, 1457, 1455,
-      1458, 1451, 1456, 1456, 1459, 1452, 1455, 1460, 1458, 1459,
-      1453, 1461, 1454, 1464, 1462, 1465, 1465, 1463, 1457, 1462,
-      1462, 1460, 1463, 1463, 1466, 1467, 1468, 1469, 1470, 1471,
-      1461, 1473, 1469, 1464, 1472, 1468, 1474, 1473, 1475, 1476,
-      1477, 1474, 1478, 1466, 1467, 1479, 1477, 1470, 1480, 1471,
-      1481, 1479, 1472, 1482, 1480, 1483, 1484, 1485, 1475, 1486,
-      1487, 1478, 1488, 1489, 1489, 1476, 1491, 1490, 1492, 1481,
-      1490, 1493, 1482, 1486, 1483, 1484, 1485, 1488, 1494, 1494,
-      1497, 1487, 1498, 1493, 1497, 1491, 1496, 1492, 1495, 1495,
-      1499, 1496, 1500, 1503, 1501, 1498, 1501, 1504, 1506, 1499,
-      1501, 1505, 1504, 1507, 1509, 1500, 1508, 1508, 1510, 1509,
-      1511, 1503, 1514, 1501, 1510, 1513, 1505, 1514, 1506, 1507,
-      1512, 1512, 1515, 1516, 1517, 1511, 1515, 1516, 1513, 1518,
-      1519, 1520, 1521, 1522, 1522, 1524, 1526, 1527, 1521, 1519,
-      1528, 1528, 1527, 1529, 1517, 1530, 1536, 1518, 1537, 1529,
-      1538, 1520, 1541, 1524, 1532, 1532, 1534, 1526, 1542, 1534,
-      1535, 1535, 1536, 1543, 1537, 1530, 1538, 1540, 1544, 1546,
-      1540, 1547, 1543, 1541, 1545, 1545, 1548, 1549, 1542, 1550,
-      1551, 1551, 1549, 1553, 1546, 1552, 1555, 1554, 1544, 1556,
-      1557, 1557, 1547, 1550, 1552, 1548, 1558, 1559, 1560, 1561,
-      1564, 1553, 1554, 1560, 1562, 1562, 1565, 1565, 1563, 1556,
-      1558, 1555, 1563, 1566, 1561, 1559, 1568, 1567, 1569, 1570,
-      1564, 1571, 1569, 1573, 1573, 1574, 1571, 1568, 1574, 1575,
-      1577, 1578, 1576, 1579, 1580, 1566, 1567, 1576, 1570, 1582,
-      1584, 1581, 1575, 1583, 1583, 1584, 1577, 1579, 1585, 1578,
-      1586, 1587, 1587, 1580, 1580, 1581, 1588, 1589, 1590, 1591,
-      1594, 1591, 1589, 1593, 1582, 1588, 1592, 1595, 1585, 1593,
-      1586, 1592, 1597, 1595, 1598, 1598, 1599, 1600, 1590, 1602,
-      1594, 1603, 1606, 1600, 1602, 1607, 1597, 1604, 1604, 1605,
-      1605, 1608, 1610, 1610, 1609, 1599, 1606, 1609, 1611, 1612,
-      1613, 1614, 1615, 1607, 1614, 1603, 1608, 1614, 1615, 1616,
-      1617, 1612, 1619, 1617, 1616, 1621, 1611, 1620, 1624, 1614,
-      1613, 1619, 1620, 1622, 1623, 1623, 1622, 1627, 1625, 1617,
-      1626, 1632, 1627, 1624, 1625, 1633, 1626, 1628, 1628, 1630,
-      1621, 1629, 1629, 1631, 1632, 1630, 1634, 1635, 1631, 1636,
-      1637, 1638, 1636, 1633, 1639, 1641, 1637, 1638, 1640, 1642,
-      1639, 1641, 1646, 1640, 1643, 1634, 1647, 1635, 1645, 1643,
-      1644, 1644, 1648, 1645, 1649, 1650, 1651, 1653, 1652, 1654,
-      1646, 1655, 1642, 1657,   63, 1655, 1647, 1660, 1662, 1650,
-      1651, 1648, 1652, 1658, 1649, 1653, 1656, 1661, 1656, 1660,
-      1658, 1662, 1657, 1664, 1654, 1663, 1665, 1666, 1668, 1661,
-      1667, 1663, 1670, 1670, 1671, 1672, 1673, 1674, 1674, 1676,
-      1672, 1675, 1665, 1664, 1667, 1677, 1678, 1666, 1673, 1668,
-      1679, 1680, 1683, 1676, 1671, 1681, 1675, 1685, 1682, 1679,
-      1687, 1685, 1681, 1692, 1678, 1696, 1680, 1682, 1683, 1677,
-      1682, 1688, 1685,   58, 1688, 1689, 1689, 1685, 1690, 1690,
-      1691, 1692, 1695, 1693, 1696, 1687, 1693, 1694, 1694, 1697,
-      1698, 1699, 1691, 1698, 1697, 1695, 1699, 1700, 1701, 1702,
-      1703, 1704, 1705, 1706, 1707, 1707, 1709, 1710, 1702, 1706,
-      1704, 1705, 1711, 1704, 1701, 1708, 1700, 1712, 1713, 1703,
-      1710, 1716, 1708, 1714, 1719, 1720, 1709, 1715, 1714, 1714,
-      1711, 1712, 1715, 1716, 1713, 1721, 1721, 1722, 1723, 1724,
-      1725, 1725, 1726, 1720, 1724, 1727, 1728, 1723, 1729, 1719,
-      1727, 1726, 1730, 1722, 1726, 1725, 1731, 1733, 1734, 1735,
-      1737, 1731, 1731, 1742, 1728, 1737, 1738, 1739, 1742, 1729,
-      1730, 1733, 1738, 1734, 1740, 1740, 1741, 1743, 1744, 1747,
-      1745, 1735, 1741, 1748, 1744, 1739, 1745, 1749, 1750, 1751,
-      1752, 1743, 1751, 1749, 1754, 1756, 1752, 1748, 1751, 1747,
-      1757, 1750, 1754, 1758, 1759, 1760, 1761, 1762, 1763, 1765,
-      1760, 1764, 1759, 1766, 1756, 1761, 1772, 1763, 1770, 1757,
-      1762, 1773, 1758, 1765, 1764, 1767, 1767, 1766, 1768, 1769,
-      1774, 1770, 1771, 1771, 1768, 1769, 1772, 1775, 1775, 1773,
-      1776, 1778, 1777, 1779, 1780, 1782, 1782, 1767, 1777, 1774,
-      1783, 1784, 1785, 1776, 1786, 1784, 1787, 1785, 1789, 1779,
-      1788, 1787, 1780, 1778, 1790, 1788, 1792, 1789, 1794, 1793,
-      1783, 1794, 1795, 1796, 1786, 1797, 1797, 1792, 1793, 1798,
-      1799, 1800, 1801, 1801, 1795, 1802, 1803, 1790, 1796, 1804,
-      1805, 1807, 1799, 1803, 1808, 1810,   57, 1809, 1798, 1802,
-      1800, 1804, 1805, 1809, 1811, 1812,   52, 1810, 1813, 1813,
-      1807, 1812, 1814, 1817, 1808, 1814, 1815, 1815, 1817, 1818,
-      1819, 1821, 1811, 1820, 1820, 1822, 1819, 1822, 1818, 1823,
-      1824, 1825, 1823, 1821, 1826, 1828, 1827, 1829, 1830, 1831,
-      1828, 1832, 1829, 1833, 1835, 1838, 1834, 1830, 1833, 1841,
-      1824, 1831, 1826, 1825, 1827, 1834, 1832, 1836, 1837, 1843,
-      1838, 1840, 1836, 1837, 1835, 1839, 1839, 1840, 1834, 1836,
-      1841, 1844, 1845, 1843, 1847, 1848, 1846, 1848, 1853, 1849,
-      1850, 1850, 1851, 1851, 1852, 1852, 1854, 1854, 1855, 1855,
-      1844, 1845, 1846, 1849, 1847, 1849, 1856, 1857, 1853, 1858,
-      1859, 1859, 1860, 1861, 1862, 1864, 1860, 1862, 1865, 1861,
-      1866, 1864, 1868, 1871, 1867, 1875, 1866, 1856, 1857, 1867,
-      1858, 1869, 1870, 1870, 1869, 1872, 1865, 1873, 1873, 1874,
-      1872, 1878, 1878, 1871, 1876, 1877, 1875, 1868, 1879, 1876,
-      1877, 1880, 1881, 1879, 1874, 1882, 1883, 1880, 1884, 1886,
-        47, 1885, 1889, 1888, 1881, 1881, 1881, 1885, 1888, 1888,
-      1890, 1881, 1892, 1893, 1883, 1882, 1889, 1895, 1884, 1886,
-      1891, 1894, 1891, 1892, 1896, 1890, 1895, 1894, 1893, 1897,
-      1898, 1898, 1899, 1900, 1900, 1901, 1902, 1903, 1904, 1904,
-      1906, 1902, 1905, 1905, 1896, 1909, 1909, 1910, 1911, 1914,
-      1897, 1902, 1913, 1916, 1918, 1901, 1915, 1911, 1899, 1903,
-      1906, 1913, 1915, 1917, 1917, 1919, 1920, 1921, 1922, 1916,
-      1914, 1924, 1910, 1920, 1925, 1918, 1921, 1923, 1923, 1927,
-      1919, 1928, 1929, 1930, 1931, 1927, 1928, 1932, 1929, 1935,
-      1925, 1931, 1940, 1932, 1922, 1936, 1933, 1924, 1933, 1937,
-      1937, 1936, 1938, 1930, 1939, 1941, 1942, 1938, 1935, 1944,
-      1945, 1943, 1940, 1939, 1943, 1946, 1946, 1947, 1942, 1948,
-      1949, 1953, 1950, 1947, 1941, 1948, 1951, 1944, 1954, 1955,
-      1951, 1956, 1956, 1957, 1955, 1960, 1945, 1950, 1958, 1961,
-      1949, 1953, 1963, 1961, 1962, 1962, 1951, 1964, 1963, 1967,
-      1954, 1966, 1957, 1958, 1960, 1966, 1964, 1965, 1965, 1969,
-      1967, 1968, 1968, 1970, 1971, 1967, 1972, 1973, 1974, 1975,
-      1976, 1972, 1977, 1980, 1979,   18, 1976, 1970, 1978, 1979,
-      1969, 1981, 1981, 1971, 1982, 1982, 1980, 1973, 1974, 1975,
-      1977, 1983, 1985, 1978, 1986, 1983, 1987, 1988, 1988, 1990,
-      1990, 1985, 1991, 1992, 1995, 1986, 1994, 1991, 1991, 1992,
-      1986, 1997, 1994, 1996, 1998, 2000, 1987, 2001, 1996, 2002,
-      1998, 2001, 2004, 1997, 2003, 2003, 2005, 2000, 2006, 2007,
-      1995, 2002, 2005, 2008, 2008, 2007, 2009, 2010, 2011, 2012,
-      2014, 2015, 2018, 2011, 2016, 2018, 2022, 2004, 2084, 2016,
-      2006, 2012, 2014, 2019, 2019, 2009, 2084, 2010, 2020, 2020,
-      2015, 2021, 2021, 2023, 2024, 2026, 2022, 2025, 2027, 2023,
-      2024, 2026, 2025, 2029, 2032, 2035, 2031, 2027, 2029, 2031,
-      2033, 2033, 2036, 2037, 2038, 2038, 2032, 2035, 2037, 2039,
-      2040, 2041, 2043, 2043, 2036, 2040, 2041, 2042, 2039, 2044,
-      2042, 2045, 2046, 2047, 2048, 2051, 2049, 2050, 2048, 2052,
-      2045, 2049, 2053, 2050, 2054, 2056, 2056, 2057, 2052, 2044,
-      2046, 2058, 2047, 2051, 2059, 2060, 2058, 2056, 2054, 2062,
-      2053, 2061, 2061, 2059, 2063, 2057, 2064, 2065, 2062, 2066,
-      2069, 2069, 2065, 2072, 2071, 2060, 2063, 2071, 2073, 2074,
-      2078, 2076, 2066, 2077, 2079, 2082, 2078, 2064, 2089, 2072,
-      2080, 2080, 2083, 2083, 2073, 2074, 2076, 2077, 2081, 2092,
-      2081, 2079, 2090, 2082, 2086, 2086, 2087, 2087, 2090, 2091,
-      2093, 2089, 2094, 2092, 2097, 2091, 2095, 2093, 2096, 2096,
-      2098, 2099, 2103, 2097, 2101, 2100, 2102, 2104, 2108, 2107,
-        17, 2109, 2111, 2099, 2094, 2112, 2095, 2100, 2102, 2101,
-      2105, 2098, 2104, 2109, 2110, 2110, 2105, 2114, 2103, 2107,
-      2111, 2108, 2114, 2113, 2115, 2112, 2113, 2117, 2118, 2105,
-      2118, 2119, 2117, 2120, 2121, 2123, 2122, 2125, 2127, 2120,
-      2121, 2122, 2123, 2128, 2115, 2129, 2125, 2131, 2130, 2119,
-      2130, 2135, 2128, 2132, 2136, 2136, 2127, 2129, 2134, 2132,
-      2134, 2137, 2138, 2142, 2140, 2135, 2131, 2138, 2139, 2140,
-      2139, 2141, 2143, 2144, 2145, 2147, 2141, 2146, 2149, 2148,
-      2145, 2142, 2146, 2149, 2149, 2152, 2150, 2137, 2147, 2153,
-      2143, 2148, 2156, 2144, 2150, 2154, 2154, 2155, 2155, 2157,
-      2158,    0, 2161, 2153, 2152, 2159, 2158, 2156, 2162, 2160,
-      2159, 2160, 2163, 2163, 2164, 2169, 2162, 2165, 2165, 2157,
-      2161, 2166, 2166, 2167, 2162, 2168, 2164, 2171, 2173, 2172,
-      2168, 2172, 2167, 2169, 2175, 2174, 2171,    0, 2176, 2171,
-      2174, 2174, 2177, 2179, 2183, 2180, 2175, 2176, 2181, 2173,
-      2180, 2184, 2185, 2181, 2177, 2179, 2187, 2183, 2186, 2186,
-      2188, 2185, 2189, 2190, 2191, 2194, 2198, 2192, 2193, 2206,
-      2194, 2184, 2196, 2197, 2187, 2206, 2207, 2199, 2188, 2190,
-      2189, 2192, 2199, 2193, 2196, 2197, 2198, 2200, 2201, 2191,
-      2204, 2208, 2200, 2209, 2210, 2211, 2204, 2201, 2213, 2207,
-      2212, 2212, 2214, 2214, 2211, 2215, 2208, 2213, 2216, 2204,
-      2217, 2209, 2218, 2219, 2217, 2221, 2222, 2218, 2223, 2210,
-      2228, 2229, 2222, 2215, 2224, 2225, 2219, 2216, 2228, 2224,
-      2224, 2225, 2226, 2227, 2221, 2238, 2227, 2234, 2226, 2237,
-      2223, 2229, 2232, 2232, 2233, 2233, 2234, 2235, 2235, 2236,
-      2236, 2237, 2239, 2238, 2247, 2240, 2241, 2241, 2239, 2233,
-      2240, 2242, 2242, 2243, 2249, 2244, 2251, 2253, 2243, 2246,
-      2233, 2244, 2248, 2246, 2247, 2252, 2248, 2254, 2255, 2256,
-      2252, 2258, 2257, 2255, 2249, 2260, 2261, 2261, 2259, 2263,
-      2253, 2251, 2254, 2259, 2265, 2262, 2266, 2256, 2257, 2262,
-      2264, 2258, 2267, 2268, 2263, 2264, 2269, 2260, 2271, 2270,
-      2272, 2273, 2273, 2265, 2270, 2268, 2275, 2276, 2277, 2278,
-      2267, 2271, 2266, 2279, 2275, 2269, 2280, 2283, 2272, 2281,
-      2282, 2284, 2287, 2315, 2285, 2290, 2276, 2277, 2278, 2283,
-      2285, 2289, 2292, 2293, 2292, 2315, 2279, 2287, 2281, 2290,
-      2280, 2282, 2284, 2291, 2289, 2294, 2294, 2295, 2296, 2291,
-      2297, 2296, 2295, 2293, 2298, 2304, 2299, 2300, 2300, 2301,
-      2301, 2305, 2302, 2297, 2302, 2303, 2303, 2307, 2298, 2299,
-      2304, 2306, 2306, 2313, 2305, 2314, 2307, 2308, 2308, 2307,
-      2309, 2309, 2310, 2312, 2316, 2316, 2318, 2310, 2312, 2317,
-      2317, 2319, 2319, 2313, 2321, 2314, 2320, 2320, 2322, 2321,
-      2323, 2323, 2324, 2325, 2328, 2318, 2326, 2326, 2325, 2327,
-      2327, 2329, 2330, 2331, 2332, 2336, 2322, 2324, 2328, 2334,
-      2329, 2335, 2335, 2338, 2334, 2337, 2337, 2331, 2344, 2330,
-      2339, 2340, 2349, 2332, 2336, 2339, 2341, 2340, 2345, 2341,
-      2348, 2338, 2342, 2342, 2343, 2343, 2346, 2344, 2346, 2350,
-      2350, 2349, 2352, 2345, 2353, 2348, 2354, 2355, 2342, 2356,
-      2356, 2355, 2357, 2358, 2359, 2360, 2362, 2362, 2358, 2363,
-      2365, 2354, 2352, 2366, 2367, 2364, 2368, 2353, 2370, 2359,
-      2360, 2357, 2364, 2375, 2365, 2369, 2369, 2370, 2371, 2363,
-      2371, 2366, 2367, 2372, 2374, 2375, 2372, 2378, 2376, 2377,
-      2374, 2379, 2368, 2376, 2377, 2380, 2382, 2381, 2390, 2387,
-      2384, 2372, 2381, 2372, 2379, 2384, 2385,    0, 2386, 2388,
-      2391, 2385, 2378, 2386, 2387, 2388, 2380, 2389, 2392, 2390,
-      2395, 2393, 2382, 2389, 2392, 2391, 2393, 2394, 2396, 2398,
-      2397, 2399, 2394, 2397, 2400, 2401, 2402, 2407, 2398, 2409,
-      2399, 2396, 2403, 2400, 2401, 2395, 2404, 2405, 2403, 2410,
-      2402, 2405, 2404, 2411, 2411, 2412, 2414, 2407, 2410, 2409,
-      2417, 2412, 2413, 2413, 2416, 2414, 2415, 2415, 2419, 2416,
-      2420, 2413, 2421, 2421, 2422, 2425, 2423, 2426, 2428, 2427,
-      2417, 2432, 2417, 2433, 2419, 2423, 2420, 2425, 2430, 2422,
-      2428, 2430, 2431, 2426, 2427, 2433, 2454, 2431, 2434, 2434,
-      2454, 2432, 2435, 2435, 2437, 2437, 2438, 2439, 2440, 2438,
-      2441, 2442, 2439, 2444, 2440, 2447, 2441, 2443, 2443, 2446,
-      2442, 2445, 2445, 2448, 2449, 2449, 2450, 2444, 2452, 2447,
-      2451, 2446, 2450, 2452, 2455, 2456, 2456, 2455, 2457, 2457,
-      2458, 2459, 2448, 2460, 2451, 2458, 2461, 2462, 2463, 2463,
-      2459, 2462, 2460, 2466, 2464, 2467, 2468, 2469, 2466, 2470,
-      2471, 2472, 2477, 2473, 2471, 2474, 2461, 2464, 2473, 2476,
-      2476, 2474, 2475, 2470, 2478, 2467, 2468, 2469, 2475, 2479,
-      2477, 2472, 2480, 2481, 2482, 2482, 2485, 2480, 2484, 2486,
-      2487, 2488, 2491, 2478, 2486, 2489, 2487, 2489, 2479, 2488,
-      2484, 2491, 2485, 2493, 2481, 2494, 2494, 2495, 2496, 2500,
-      2495, 2497, 2497, 2500, 2501, 2502, 2504, 2493, 2503, 2503,
-      2501, 2507, 2507, 2509, 2510, 2504, 2513, 2502, 2510, 2511,
-      2514, 2517, 2518, 2519, 2496, 2526, 2517, 2520, 2521, 2527,
-      2513, 2526, 2520, 2521, 2509, 2529, 2514, 2511, 2522, 2522,
-      2524, 2524, 2528, 2528, 2519, 2530, 2533, 2531, 2518, 2527,
-      2534, 2529, 2531, 2534, 2535, 2539, 2536, 2537, 2537, 2541,
-      2542, 2544, 2544, 2540, 2539, 2533, 2535, 2530, 2536, 2540,
-      2545, 2546, 2556, 2545, 2547, 2542, 2552, 2541, 2549, 2549,
-      2550, 2550, 2551, 2554, 2553, 2557, 2556, 2551, 2554, 2555,
-      2546, 2555, 2547, 2553, 2552, 2558, 2559, 2560, 2561, 2557,
-      2562, 2559, 2563, 2563, 2567, 2562, 2568, 2558, 2564, 2564,
-      2565, 2565, 2566, 2566, 2569, 2573, 2567, 2560, 2561, 2569,
-      2570, 2570, 2571, 2571, 2568, 2572, 2572, 2573, 2574, 2575,
-      2576, 2577, 2580, 2578, 2579, 2579, 2581, 2581, 2582, 2582,
-      2585, 2575, 2583, 2584, 2586, 2587, 2589, 2585, 2574, 2578,
-      2576, 2580, 2577, 2583, 2588, 2584, 2586, 2590, 2592, 2588,
-      2591, 2591, 2593, 2593, 2594, 2587, 2589, 2592, 2595, 2596,
-      2597, 2598, 2600, 2599, 2600, 2601, 2604, 2590, 2602, 2602,
-      2603, 2605, 2596, 2607, 2608, 2598, 2609, 2601, 2595, 2603,
-      2594, 2604,    0, 2611, 2597, 2599, 2605, 2610, 2612, 2613,
-      2610, 2607, 2621, 2612, 2613, 2623, 2608, 2611, 2624, 2609,
-      2614, 2614, 2615, 2615, 2616, 2616, 2618, 2618, 2620, 2620,
-      2621, 2622, 2626, 2624, 2623, 2627, 2628, 2629, 2630, 2631,
-      2633, 2632, 2622, 2632, 2634, 2635, 2647, 2630, 2636, 2636,
-      2639, 2639, 2626, 2627, 2640, 2641, 2642, 2629, 2628, 2631,
-      2633, 2645, 2634, 2635, 2647, 2642, 2643, 2643, 2640, 2648,
-      2645, 2646, 2646, 2649, 2650, 2651, 2652, 2641, 2653, 2654,
-      2655, 2650, 2656, 2657, 2657, 2658, 2658, 2648, 2659, 2656,
-      2651, 2649, 2660, 2666, 2652, 2654, 2653, 2661, 2667, 2655,
-      2663, 2663, 2668, 2661, 2664, 2664, 2665, 2671, 2659, 2669,
-      2660, 2666, 2665, 2667, 2670, 2672, 2674, 2673, 2674, 2670,
-      2679, 2668, 2673, 2669, 2675, 2675, 2676, 2671, 2676, 2677,
-      2677, 2681, 2682, 2683, 2684, 2672, 2685, 2682, 2686, 2679,
-      2687, 2688, 2683, 2681, 2689, 2687, 2688, 2690, 2685, 2693,
-      2694, 2695, 2697, 2684, 2695, 2696, 2696, 2698, 2686, 2699,
-      2699, 2700, 2701, 2704, 2689, 2710, 2690, 2697, 2694, 2693,
-      2702, 2707, 2700, 2709, 2702, 2698, 2705, 2701, 2704, 2711,
-      2705, 2706, 2706, 2714, 2707, 2710, 2712, 2712, 2709, 2715,
-      2716, 2717, 2717, 2718, 2716, 2714, 2719, 2719, 2715, 2711,
-      2720, 2721, 2722, 2723, 2724, 2720, 2725, 2725, 2730, 2730,
-      2721, 2731, 2718, 2732, 2732, 2723, 2733, 2734, 2722, 2735,
-      2739, 2739, 2736, 2740, 2724, 2737, 2738, 2741,    0, 2733,
-      2734, 2736, 2735, 2731, 2737, 2738, 2743, 2743, 2748, 2746,
-      2747, 2749, 2741, 2740, 2746, 2747, 2749, 2750, 2751, 2752,
-      2755, 2753, 2748, 2759, 2763, 2750, 2757, 2758, 2752, 2753,
-      2767, 2757, 2758, 2760, 2760, 2755, 2762, 2751, 2759, 2761,
-      2761, 2762, 2765, 2763, 2764, 2764, 2766, 2768, 2767, 2765,
-      2769, 2766, 2770, 2771, 2771, 2772, 2769, 2770, 2773, 2774,
-      2774, 2775, 2775, 2773, 2778, 2768, 2779, 2779, 2780, 2781,
-      2772, 2780, 2784, 2782, 2781, 2781, 2783, 2778, 2782, 2785,
-      2786, 2783, 2787, 2788, 2786, 2785, 2784, 2787, 2789, 2790,
-      2791, 2794, 2788, 2792, 2793, 2795, 2794, 2790, 2797, 2792,
-      2793, 2798, 2801, 2789, 2806, 2797, 2798, 2795, 2803, 2799,
-      2804, 2791, 2799, 2803, 2801, 2804, 2805, 2807, 2808, 2809,
-      2811, 2805, 2806, 2810, 2810, 2815, 2812, 2808, 2809, 2811,
-      2807, 2812, 2816, 2817, 2820, 2821, 2826, 2822, 2816, 2817,
-      2823, 2823, 2824, 2815, 2825, 2826, 2827, 2828, 2828, 2824,
-      2829, 2831, 2833, 2820, 2834, 2821, 2822, 2835, 2835, 2838,
-      2836, 2827, 2841, 2825, 2836, 2839, 2831, 2837, 2837, 2829,
-      2840, 2839, 2833, 2842, 2834, 2844, 2840, 2843, 2843, 2842,
-      2841, 2845, 2846, 2844, 2838, 2848, 2849, 2846, 2852, 2851,
-      2854, 2852, 2853, 2855, 2848, 2851, 2853, 2857, 2857, 2849,
-      2858, 2859, 2859, 2863, 2854, 2868, 2845, 2863, 2855, 2860,
-      2860, 2862, 2862, 2874, 2864, 2866, 2866, 2869, 2858, 2864,
-      2870, 2871, 2869, 2872, 2885, 2868, 2871, 2871, 2875, 2875,
-      2877, 2877, 2870, 2874, 2881, 2872, 2878, 2878, 2879, 2879,
-      2880, 2882, 2885, 2880, 2884, 2884, 2887, 2881, 2888, 2888,
-      2889, 2889, 2890, 2890, 2882, 2891, 2892, 2892, 2893, 2894,
-      2895, 2896, 2897, 2897, 2898, 2905, 2887, 2896, 2898, 2901,
-      2891, 2893, 2906, 2902, 2895, 2901, 2904, 2894, 2902, 2907,
-      2908, 2904, 2904, 2909, 2910, 2915, 2908, 2911, 2905, 2909,
-      2915, 2911, 2906, 2912, 2912, 2917, 2920, 2918, 2921, 2907,
-      2918, 2921, 2923, 2917, 2922, 2922, 2924, 2925, 2926, 2910,
-      2927, 2924, 2928, 2928, 2932, 2929, 2931, 2937, 2937, 2923,
-      2923, 2920, 2936, 2930, 2927, 2925, 2930, 2933, 2926, 2929,
-      2931, 2934,    0, 2932, 2930, 2933, 2934, 2934, 2935, 2938,
-      2938, 2936, 2943, 2935, 2935, 2939, 2939, 2940, 2940, 2941,
-      2941, 2942, 2942, 2945, 2944, 2946, 2947, 2948, 2943, 2944,
-      2949, 2950, 2948, 2951, 2952, 2953, 2950, 2955, 2955, 2958,
-      2947, 2961, 2951, 2945, 2956, 2956,    0, 2957, 2961, 2949,
-      2957, 2946, 2960, 2960, 2952, 2953, 2963, 2958, 2962, 2962,
-      2965, 2968, 2963, 2967, 2967, 2965, 2969, 2970, 2971, 2973,
-      2968, 2974, 2974, 2975, 2975, 2969, 2970, 2971, 2976, 2977,
-      2978, 2979, 2976, 2980, 2981, 2983, 2993, 2973, 2977, 2981,
-      2981, 2982, 2979, 2984, 2983, 2988, 2992, 2984, 2980, 2978,
-      2988, 2989, 2989, 2994, 2982, 2991, 2991, 2996, 2996, 2997,
-      2992, 2993, 2998, 3002, 3003, 3006, 3004, 3007, 2997, 3003,
-      3009, 2994, 3011, 3007, 2998, 3004, 3013, 3016, 3014, 3015,
-      3015, 3013, 3009, 3014, 3018, 3006, 3016, 3019, 3002, 3018,
-      3020, 3021, 3021, 3011, 3026, 3021, 3023, 3023, 3024, 3024,
-      3019, 3025, 3025, 3026, 3020, 3027, 3029, 3028, 3031, 3035,
-      3032, 3029, 3033, 3037, 3031, 3032, 3036, 3033, 3034, 3034,
-      3039, 3041, 3042, 3042, 3038, 3027, 3028, 3035, 3036, 3038,
-      3040, 3044, 3045, 3048, 3037, 3044, 3040, 3045, 3039, 3046,
-      3047, 3047, 3049, 3050, 3046, 3052, 3041, 3054, 3054, 3056,
-      3057, 3058, 3048, 3062, 3061, 3059, 3064, 3049, 3050, 3059,
-      3060, 3064, 3056, 3057, 3058, 3052, 3063, 3065, 3067, 3060,
-      3061, 3068, 3062, 3069, 3063, 3066, 3066, 3067, 3070, 3070,
-      3077, 3071, 3074, 3074, 3075, 3075, 3079, 3065, 3082, 3068,
-      3083, 3079, 3080, 3080, 3085, 3089, 3089, 3084, 3086, 3069,
-      3071, 3077, 3084, 3086, 3082, 3090, 3083, 3091, 3092, 3093,
-      3085, 3094, 3096, 3096, 3092, 3097, 3091, 3098, 3099, 3099,
-      3102, 3103, 3106, 3104, 3109, 3090, 3110, 3103, 3104, 3097,
-      3094, 3114, 3093, 3107, 3107,    0, 3098, 3108, 3108, 3109,
-      3102, 3111, 3111, 3112, 3106, 3116, 3110, 3113, 3117, 3115,
-      3118, 3114, 3119, 3119, 3112, 3115, 3113, 3120, 3128, 3121,
-      3117, 3111, 3121, 3122, 3116, 3127, 3122, 3123, 3123, 3129,
-      3118, 3133, 3120, 3130, 3130, 3129, 3131, 3127, 3128, 3131,
-      3132, 3138, 3135, 3136, 3136, 3137, 3132, 3135, 3139, 3133,
-      3137, 3140, 3141, 3141, 3139, 3143, 3144, 3145, 3146, 3148,
-      3138, 3147, 3147, 3149, 3150, 3152, 3152, 3143, 3140, 3140,
-      3156, 3146, 3155, 3150, 3144, 3153, 3153, 3155, 3148, 3149,
-      3154, 3154, 3145, 3157, 3156, 3158, 3158, 3162, 3157, 3159,
-      3159, 3160, 3160, 3161, 3161, 3163, 3164, 3170, 3165, 3175,
-      3162, 3173, 3164, 3165, 3167, 3167, 3171, 3174, 3176, 3180,
-      3171, 3177, 3177, 3179, 3179, 3181, 3170, 3182, 3175, 3183,
-      3189, 3163, 3190, 3173, 3184, 3185, 3185, 3186, 3186, 3174,
-      3176, 3182, 3188, 3184, 3181, 3180, 3194, 3191, 3188, 3183,
-      3189, 3190, 3191, 3195, 3195, 3197, 3197, 3198, 3199, 3200,
-      3202, 3201, 3198, 3203, 3203, 3200, 3204, 3194, 3202, 3208,
-      3206, 3204, 3199, 3201, 3206, 3207, 3209, 3210, 3211, 3212,
-      3207, 3215, 3210, 3214, 3216, 3212, 3217, 3219, 3222, 3208,
-      3211, 3214, 3220, 3221, 3223, 3226, 3209, 3225, 3228, 3223,
-      3215, 3227, 3225, 3228, 3216, 3219, 3217, 3227, 3220, 3222,
-      3221, 3221, 3230, 3231, 3232, 3226, 3231, 3236, 3236, 3237,
-      3237, 3238, 3243, 3243, 3244, 3238, 3245, 3232,    0, 3244,
-      3246, 3246, 3230, 3248, 3248, 3249, 3250, 3250, 3256, 3250,
-      3249, 3251, 3251, 3256, 3251, 3245, 3252, 3252, 3253, 3253,
-      3254, 3253, 3257, 3259, 3254, 3258, 3258, 3263, 3260, 3264,
-      3265, 3257, 3266, 3266, 3267, 3265, 3270, 3271, 3274, 3272,
-      3276, 3259, 3260, 3272, 3271, 3277, 3273, 3263, 3279, 3264,
-      3277, 3278, 3278, 3274, 3267, 3273, 3283, 3279, 3276, 3280,
-      3280, 3270, 3281, 3281, 3282, 3282, 3285, 3284, 3286, 3288,
-      3287, 3283, 3284, 3286, 3286, 3285, 3287, 3289, 3285, 3290,
-      3291, 3292, 3293, 3294, 3294, 3291, 3292, 3295, 3299, 3296,
-      3297, 3297, 3289, 3295, 3288, 3296, 3298, 3298,    0, 3300,
-      3290, 3293, 3306, 3299, 3300, 3303, 3303, 3305, 3305, 3309,
-      3309, 3306, 3310, 3310, 3311, 3311, 3312, 3312, 3313, 3313,
-      3315, 3315, 3316, 3316, 3317, 3317, 3318, 3318, 3319, 3321,
-      3322, 3322, 3323, 3324, 3328, 3325, 3327, 3327, 3321, 3329,
-      3329, 3323, 3330, 3331, 3336, 3324, 3332, 3333, 3333, 3334,
-      3334, 3337, 3337, 3328, 3319, 3325, 3331, 3330, 3332, 3336,
-      3340, 3341, 3342, 3344, 3341, 3343, 3343, 3346, 3347, 3348,
-      3346, 3349, 3350, 3352, 3347, 3351, 3349, 3355, 3340, 3354,
-      3358, 3344, 3359, 3348, 3358, 3354, 3355, 3362, 3342, 3352,
-      3372, 3350, 3375, 3351, 3381, 3372, 3373, 3359, 3386, 3373,
-      3376, 3376, 3377, 3377, 3383, 3375, 3379, 3379, 3383, 3382,
-      3384, 3388, 3386, 3362, 3389, 3390, 3392, 3381, 3382, 3391,
-      3390, 3391, 3393, 3393, 3394, 3389, 3395, 3397, 3396, 3398,
-      3384, 3392, 3399, 3400, 3388, 3402, 3401, 3394, 3403, 3404,
-      3402, 3406, 3400, 3397, 3404, 3395, 3396, 3399, 3401, 3405,
-      3405, 3407, 3411, 3412, 3398, 3414, 3407, 3413, 3413, 3403,
-      3419, 3406, 3415, 3415, 3414, 3420, 3411, 3416, 3416, 3417,
-      3417, 3418, 3418, 3412, 3421, 3422, 3423, 3421, 3424, 3419,
-      3422, 3423, 3425, 3426, 3427, 3420, 3429, 3428, 3431, 3426,
-      3435, 3429, 3430, 3430, 3432, 3432, 3436, 3425, 3427, 3428,
-      3434, 3434, 3439, 3424, 3441, 3435, 3437, 3437, 3431, 3444,
-      3444, 3445, 3445, 3446, 3447, 3436, 3450, 3439, 3448, 3449,
-      3452, 3446, 3441, 3451, 3448, 3449, 3453, 3454, 3454, 3459,
-      3450, 3453, 3460, 3447, 3456, 3456, 3451, 3462, 3463, 3452,
-      3465, 3466, 3463, 3467, 3468, 3469, 3466, 3470, 3471, 3472,
-      3459, 3462, 3460, 3471, 3472, 3473, 3473, 3468, 3469, 3476,
-      3465, 3478, 3467, 3477, 3479, 3479, 3470, 3480, 3481, 3482,
-      3482, 3483, 3480, 3484, 3481, 3486, 3483, 3485, 3484, 3476,
-      3478, 3477, 3485, 3487, 3489, 3489, 3490, 3491, 3491, 3487,
-      3494, 3490, 3493, 3495, 3486, 3496, 3493, 3497, 3498, 3499,
-      3495, 3505, 3500, 3507, 3498, 3502, 3502, 3504, 3504, 3494,
-      3505, 3508, 3506, 3505, 3496, 3500, 3497, 3506, 3499, 3509,
-      3510, 3510, 3507, 3511, 3512, 3514, 3515, 3515, 3511, 3516,
-      3508, 3521, 3509, 3517, 3517, 3518, 3518, 3512, 3519, 3520,
-      3522, 3522, 3523, 3519, 3525, 3525, 3520, 3523, 3516, 3526,
-      3521, 3514, 3524, 3527, 3524, 3528, 3526, 3529, 3530, 3533,
-      3527, 3535, 3529, 3532, 3532, 3536, 3535, 3537, 3538, 3542,
-      3536, 3539, 3539, 3543, 3528, 3541, 3541, 3530, 3533, 3544,
-      3544, 3545, 3545, 3546, 3548, 3548, 3537, 3538, 3542, 3550,
-      3546, 3556, 3543, 3549, 3549, 3552, 3550, 3555, 3557,    0,
-      3552,    0, 3555, 3558, 3558, 3559, 3559,    0,    0,    0,
-      3556,    0,    0,    0,    0,    0,    0, 3557, 3563, 3563,
-      3563, 3563, 3563, 3563, 3563, 3564, 3564, 3564, 3564, 3564,
-      3564, 3564, 3565, 3565, 3565, 3565, 3565, 3565, 3565, 3566,
-      3566, 3566, 3566, 3566, 3566, 3566, 3567, 3567, 3567, 3567,
-      3567, 3567, 3567, 3568, 3568, 3568, 3568, 3568, 3568, 3568,
-      3569, 3569, 3569, 3569, 3569, 3569, 3569, 3571, 3571,    0,
-      3571, 3571, 3571, 3571, 3572, 3572,    0,    0,    0, 3572,
-      3572, 3573, 3573,    0,    0, 3573,    0, 3573, 3574,    0,
-         0,    0,    0,    0, 3574, 3575, 3575,    0,    0,    0,
-      3575, 3575, 3576,    0,    0,    0,    0,    0, 3576, 3577,
-      3577,    0, 3577, 3577, 3577, 3577, 3578,    0,    0,    0,
-         0,    0, 3578, 3579, 3579,    0,    0,    0, 3579, 3579,
-      3580, 3580,    0, 3580, 3580, 3580, 3580, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562,
-      3562, 3562, 3562, 3562, 3562, 3562, 3562, 3562
++      364,  447,  357,  360,  356,  364,  365,  361,  361,  359,
++      361,  361,  365,  358,  447,  366,  363,  367,  368,  361,
++      366,  368,  367,  368,  369,  371,  361,  370,  367,  373,
++      370,  374,  374,  378,  371,  373,  375,  382,  369,  379,
++      380,  375,  379,  370,  381,  391,  370,  385,  370,  376,
++
++      376,  382,  376,  378,  384,  380,  388,  384,  376,  381,
++      379,  385,  376,  387,  392,  388,  391,  376,  394,  393,
++      376,  377,  377,  384,  377,  389,  390,  394,  387,  397,
++      389,  389,  390,  392,  393,  395,  398,  377,  399,  390,
++      377,  169,  377,  396,  377,  386,  401,  386,  386,  396,
++      402,  401,  399,  403,  395,  397,  398,  386,  386,  386,
++      386,  386,  400,  404,  386,  406,  405,  409,  400,  401,
++      402,  405,  400,  403,  410,  407,  408,  408,  404,  411,
++      406,  407,  412,  413,  414,  415,  410,  409,  412,  417,
++      415,  416,  416,  411,  416,  418,  419,  426,  426,  420,
++
++      414,  421,  422,  421,  423,  428,  423,  423,  413,  417,
++      424,  418,  419,  420,  424,  425,  427,  422,  430,  425,
++      428,  429,  432,  434,  423,  431,  459,  440,  436,  434,
++      432,  432,  435,  436,  425,  427,  430,  429,  459,  431,
++      438,  435,  432,  437,  432,  433,  439,  437,  440,  438,
++      433,  441,  439,  445,  446,  446,  442,  441,  433,  433,
++      442,  443,  433,  433,  443,  444,  433,  448,  448,  449,
++      444,  450,  452,  445,  449,  451,  451,  453,  452,  454,
++      455,  453,  456,  457,  450,  460,  461,  456,  457,  458,
++      458,  462,  463,  469,  454,  463,  465,  464,  458,  466,
++
++      465,  455,  464,  462,  461,  460,  467,  467,  468,  470,
++      470,  466,  471,  468,  469,  473,  473,  475,  476,  477,
++      478,  479,  480,  481,  482,  486,  476,  480,  484,  478,
++      487,  485,  489,  488,  471,  167,  482,  492,  475,  488,
++      477,  489,  479,  481,  487,  486,  484,  490,  484,  485,
++      491,  492,  493,  490,  494,  491,  495,  494,  496,  497,
++      493,  499,  498,  493,  500,  501,  502,  499,  501,  503,
++      495,  498,  502,  496,  497,  504,  505,  507,  506,  509,
++      504,  507,  508,  503,  500,  511,  510,  508,  512,  513,
++      502,  510,  516,  519,  509,  518,  517,  519,  505,  506,
++
++      520,  511,  513,  525,  522,  166,  521,  512,  514,  514,
++      518,  521,  516,  562,  514,  562,  514,  517,  525,  520,
++      522,  523,  514,  527,  514,  523,  524,  514,  514,  528,
++      529,  524,  526,  530,  514,  524,  529,  526,  528,  527,
++      531,  529,  527,  532,  533,  534,  532,  536,  530,  535,
++      535,  537,  537,  538,  539,  540,  531,  541,  541,  542,
++      543,  546,  545,  164,  544,  534,  539,  533,  538,  544,
++      540,  545,  536,  547,  550,  548,  556,  555,  542,  554,
++      546,  548,  543,  550,  557,  551,  552,  553,  547,  551,
++      552,  554,  555,  553,  558,  556,  559,  560,  557,  561,
++
++      563,  560,  564,  565,  565,  566,  567,  568,  569,  558,
++      564,  566,  561,  568,  559,  571,  570,  572,  567,  570,
++      569,  573,  574,  576,  563,  574,  573,  575,  577,  571,
++      162,  578,  572,  577,  577,  587,  575,  579,  579,  576,
++      580,  580,  581,  575,  578,  588,  575,  584,  581,  582,
++      582,  583,  583,  584,  585,  586,  587,  588,  586,  585,
++      585,  589,  590,  591,  589,  592,  593,  590,  595,  593,
++      594,  596,  597,  592,  598,  594,  597,  599,  601,  600,
++      598,  602,  591,  600,  603,  605,  602,  604,  604,  606,
++      596,  595,  608,  609,  607,  610,  601,  599,  603,  607,
++
++      605,  611,  613,  612,  618,  615,  617,  611,  612,  609,
++      606,  608,  616,  616,  614,  610,  613,  614,  160,  622,
++      618,  621,  614,  615,  617,  614,  614,  619,  620,  625,
++      624,  631,  619,  620,  622,  621,  624,  626,  625,  627,
++      626,  628,  629,  627,  630,  629,  628,  631,  632,  630,
++      633,  634,  636,  635,  637,  637,  639,  633,  635,  638,
++      640,  641,  642,  644,  634,  627,  632,  643,  638,  644,
++      645,  642,  636,  649,  650,  639,  645,  641,  649,  643,
++      646,  640,  651,  646,  647,  647,  648,  647,  652,  648,
++      653,  654,  650,  655,  657,  653,  651,  659,  656,  655,
++
++      657,  658,  652,  656,  658,  662,  660,  661,  663,  664,
++      654,  660,  661,  661,  664,  666,  667,  665,  662,  668,
++      669,  663,  659,  665,  668,  667,  670,  670,  664,  664,
++      671,  672,  673,  676,  666,  680,  671,  675,  672,  673,
++      669,  674,  677,  675,  674,  676,  678,  677,  679,  679,
++      682,  678,  678,  681,  683,  681,  683,  677,  684,  674,
++      680,  685,  686,  687,  688,  689,  690,  694,  691,  682,
++      690,  689,  692,  693,  695,  699,  684,  691,  696,  685,
++      686,  696,  687,  697,  688,  694,  698,  692,  693,  700,
++      696,  702,  698,  695,  701,  699,  703,  704,  697,  707,
++
++      705,  706,  708,  700,  705,  709,  701,  710,  711,  716,
++      702,  712,   85,  711,  714,  707,  704,  703,  714,  706,
++      708,  713,  713,  709,  709,  712,  710,  715,  716,  717,
++      718,  719,  720,  721,  722,  723,  719,  726,  724,  725,
++      717,  715,  723,  724,  718,  727,  725,  722,  720,  728,
++      727,  729,  721,  730,  728,  731,  732,  733,  736,  734,
++      730,  726,  735,  736,  731,  739,  733,  740,  735,  729,
++      732,  734,  737,  738,  741,  737,  740,  738,  742,  739,
++      743,  744,  744,  747,  745,  745,  746,  746,  747,  741,
++      748,  750,  742,  745,  751,  752,  754,  755,  753,  748,
++
++      751,  743,  753,  756,  758,  757,  759,  760,  754,  761,
++      750,  757,  758,  759,  765,  752,  762,  771,  768,  774,
++      774,  756,  755,  776,  772,  760,  771,  775,  777,  765,
++      772,   80,  776,  775,  761,  768,  762,  763,  783,  763,
++      782,  778,  763,  781,  777,  778,  763,  779,  779,  763,
++      780,  780,  783,  784,  781,  785,  763,  763,  782,  763,
++      787,  785,  788,  789,  790,  791,  792,  788,  793,  791,
++      797,  811,  793,  784,  786,  786,  786,  795,  786,  798,
++      787,  786,  790,  811,  789,  797,  786,  813,  793,  794,
++      792,  813,  786,  786,  794,  796,  795,  800,  799,  801,
++
++      796,  799,  800,  800,  798,  803,  801,  802,  802,  804,
++      805,  805,  806,  807,  804,  812,  807,  806,  808,  814,
++      803,  809,  809,  808,  810,  815,  810,  816,  817,  817,
++      818,  821,  819,  823,  812,  816,  820,  820,  822,  814,
++      877,  824,  877,  825,  815,  818,  819,  824,  825,  821,
++      822,  826,  826,  827,  830,  823,  829,  831,  827,  827,
++      830,  829,  832,  835,  833,  834,  835,  836,  832,  833,
++      837,  834,  841,  836,  838,  838,  831,  840,  837,  839,
++      839,  842,  844,  843,  845,  840,  842,  843,  846,  844,
++      841,  847,  848,  848,  849,  851,  851,  850,  853,  855,
++
++      852,  857,  845,  849,  846,  850,  852,  856,  855,  858,
++      847,  859,  860,  861,  858,  860,  856,  853,  861,  862,
++      859,  863,  864,  865,  866,  857,  868,  869,  869,  866,
++      870,  864,  867,  862,  871,  872,  865,  867,  867,  873,
++      868,  874,  878,  878,  872,  870,  863,  875,  879,  880,
++      875,  881,  884,  871,  880,  882,  883,  885,  875,  874,
++      887,  886,  888,  873,  889,  890,  888,  891,  895,  879,
++      886,  892,  881,  891,  884,  882,  883,  885,  893,  894,
++      892,  898,  889,  887,  890,  896,  897,  895,  899,  898,
++      893,  900,  897,  901,  901,  894,  900,  902,  903,  896,
++
++      904,  905,  899,  906,  907,  908,  909,  911,  910,  904,
++      916,  906,  913,  911,  912,  915,  902,  914,  903,  923,
++      912,  905,  920,  914,  907,  909,  913,  908,  910,  915,
++      916,  917,  918,  921,   75,  919,  931,  917,  918,  919,
++      923,  920,  922,  924,  924,  921,  925,  922,  926,  928,
++      929,  930,  925,  921,  926,  927,  931,  930,  927,  932,
++      932,  933,  935,  929,  934,  935,  936,  928,  937,  934,
++      938,  936,  936,  940,  938,  939,  939,  941,  935,  933,
++      935,  942,  943,  937,  945,  946,  942,  948,  954,  949,
++      950,  952,  952,  956,  953,  940,  959,  941,  953,  946,
++
++      948,  943,  957,  954,  955,  955,  957,  958,  945,  949,
++      959,  950,  951,  961,  960,  951,  964,  951,  956,  960,
++      962,  951,  958,  951,  966,  962,  962,  961,  951,  963,
++      964,  965,  968,  951,  970,  965,  967,  969,  963,  966,
++      971,  967,  969,  972,  968,  973,  974,  965,  970,  975,
++      977,  967,  979,  979,  973,  975,  977,  972,  974,  976,
++      978,  971,  980,  981,  976,  982,  978,  980,  984,  981,
++      983,  986,  987,  989,  988,  990,  990,  987,  993,  991,
++      995,  994,  996,  986,  991,  989,  984,  982,  988,  983,
++      985,  985,  992, 1000,  993,  994,  985,  997,  985,  995,
++
++      992,  996,  998, 1001,  985, 1000,  999, 1002,  998,  985,
++      985,  999, 1003,  997, 1004, 1006,  985, 1005, 1005, 1006,
++     1007, 1001, 1009, 1002, 1010, 1011, 1012, 1010, 1009, 1013,
++     1003, 1012, 1004, 1014, 1016, 1020, 1015, 1018, 1019, 1014,
++     1007, 1015, 1013, 1021, 1011, 1022, 1018, 1019, 1023, 1021,
++     1024, 1020, 1025, 1016, 1022, 1024, 1026, 1027, 1032, 1028,
++     1029, 1038, 1031, 1035, 1030, 1040,   74, 1023, 1031, 1029,
++     1026, 1028, 1025, 1030, 1033, 1032, 1037, 1027, 1039, 1035,
++     1033, 1038, 1041, 1039, 1040, 1042, 1043, 1044, 1045, 1048,
++     1037, 1049, 1044, 1045, 1048, 1053, 1041, 1050, 1050, 1051,
++
++     1049, 1043, 1052, 1042, 1053, 1051, 1054, 1055, 1052, 1057,
++     1058, 1063, 1062, 1060, 1060, 1058, 1058, 1060, 1064, 1061,
++     1055, 1054, 1061, 1065, 1066, 1057, 1062, 1067, 1069, 1068,
++     1070, 1063, 1071, 1072, 1064, 1068, 1070, 1066, 1072, 1073,
++     1074, 1065, 1067, 1073, 1076, 1076, 1077, 1071, 1069, 1077,
++     1078, 1079, 1080, 1081, 1074, 1082, 1079, 1080, 1083, 1088,
++     1084, 1085, 1087, 1083, 1082, 1084, 1089, 1093, 1087, 1081,
++     1090, 1078, 1089, 1085, 1092, 1088, 1090, 1091, 1091, 1094,
++     1095, 1095, 1094, 1092, 1096, 1093, 1097, 1098, 1099, 1101,
++     1100, 1099, 1102, 1103, 1106, 1101, 1104, 1112, 1102, 1103,
++
++     1106, 1104, 1096, 1100, 1105, 1097, 1107, 1098, 1108, 1105,
++     1110, 1107, 1111, 1113, 1108, 1110, 1114, 1112, 1116, 1113,
++     1117, 1114, 1115, 1115, 1118, 1119, 1122, 1116, 1120, 1117,
++     1111, 1120, 1121, 1123, 1124, 1121, 1125, 1122, 1123, 1126,
++     1127, 1128, 1118, 1132, 1119, 1129, 1127, 1128, 1125, 1130,
++     1131, 1131, 1124, 1133, 1130, 1135, 1134, 1136, 1126, 1137,
++     1129, 1136, 1132, 1138, 1139, 1140, 1142, 1133, 1134, 1143,
++     1143, 1144, 1138, 1135, 1147, 1145, 1146, 1137, 1149, 1144,
++     1145, 1146, 1150, 1139, 1151, 1142, 1152, 1154, 1154, 1153,
++     1140, 1152, 1149, 1155, 1147, 1156, 1151, 1150, 1153, 1157,
++
++     1158, 1156, 1159, 1161, 1160, 1157, 1160, 1159, 1161, 1162,
++     1163, 1165, 1164, 1155, 1166, 1167, 1158, 1164, 1169, 1168,
++     1171, 1171, 1167, 1162, 1163, 1172, 1165, 1173, 1174, 1175,
++     1176, 1183, 1179, 1166, 1168, 1175, 1179, 1169, 1183, 1172,
++     1184, 1177, 1186, 1174, 1181, 1173, 1177, 1180, 1180, 1181,
++     1176, 1182, 1182, 1185, 1184, 1177, 1185, 1177, 1187, 1188,
++     1177, 1186, 1189, 1190, 1192, 1191, 1193, 1189, 1188, 1194,
++     1192, 1193, 1196, 1195, 1198, 1198, 1187, 1191, 1201, 1204,
++     1199, 1200, 1190, 1194, 1195, 1199, 1200, 1202, 1204, 1203,
++     1205, 1196, 1202, 1203, 1206, 1207, 1208, 1209, 1201, 1208,
++
++     1210, 1211, 1212, 1213, 1214, 1205, 1225, 1210, 1208, 1206,
++     1215, 1216, 1209, 1211, 1207, 1218, 1215, 1217, 1219, 1220,
++     1222, 1212, 1214, 1217, 1213, 1221, 1216, 1224, 1220, 1223,
++     1226, 1225, 1228, 1231, 1234, 1218, 1227, 1230, 1219, 1222,
++     1221, 1223, 1227, 1230, 1232, 1226, 1224, 1233, 1231, 1235,
++     1237, 1236, 1228, 1239, 1234, 1233, 1236, 1240, 1232, 1258,
++     1241, 1238, 1237, 1242, 1242, 1235, 1238, 1238, 1244, 1245,
++     1246, 1240, 1239, 1241, 1243, 1243, 1246, 1258, 1245, 1243,
++     1249, 1244, 1243, 1243, 1247, 1247, 1248, 1243, 1250, 1249,
++     1251, 1248, 1254, 1243, 1250, 1251, 1252, 1243, 1253, 1253,
++
++     1257, 1252, 1255, 1255, 1256, 1259, 1260, 1256, 1261, 1256,
++     1263, 1259, 1262, 1254, 1264, 1260, 1265, 1262, 1267, 1266,
++     1257, 1269, 1265, 1267, 1263, 1266, 1268, 1270, 1261,   68,
++     1268, 1275, 1264, 1271, 1269, 1272, 1270, 1278, 1271, 1273,
++     1273, 1270, 1275, 1270, 1277, 1270, 1279, 1270, 1277, 1272,
++     1274, 1274, 1278, 1274, 1280, 1281, 1282, 1283, 1285, 1286,
++     1281, 1281, 1284, 1280, 1279, 1282, 1287, 1284, 1286, 1288,
++     1289, 1290, 1285, 1291, 1292, 1292, 1295, 1290, 1291, 1283,
++     1293, 1294, 1296, 1297, 1289, 1287, 1298, 1296, 1288, 1294,
++     1295, 1299, 1293, 1300, 1301, 1298, 1302, 1297, 1299, 1303,
++
++     1303, 1302, 1304, 1305, 1305, 1306, 1308, 1306, 1309, 1308,
++     1310, 1300, 1311, 1309, 1312, 1312, 1313, 1304, 1317, 1301,
++     1318, 1311, 1314, 1314, 1315, 1315, 1316, 1319, 1322, 1310,
++     1321, 1316, 1320, 1320, 1323, 1324, 1313, 1323, 1325, 1317,
++     1327, 1318, 1326, 1329, 1325, 1322, 1334, 1326, 1319, 1327,
++     1321, 1328, 1332, 1328, 1331, 1324,   63, 1331, 1333, 1335,
++     1334, 1329, 1336, 1333, 1335, 1338, 1337, 1332, 1338, 1339,
++     1336, 1337, 1340, 1340, 1339, 1341, 1342, 1343, 1344, 1345,
++     1341, 1347, 1348, 1343, 1349, 1344, 1350, 1347, 1348, 1349,
++     1351, 1350, 1345, 1352, 1342, 1353, 1351, 1354, 1355, 1355,
++
++     1356, 1358, 1352, 1359, 1361, 1360, 1358, 1362, 1354, 1363,
++     1364, 1365, 1366, 1370, 1353, 1360, 1364, 1365, 1366, 1361,
++     1356, 1359, 1368, 1369, 1371, 1373, 1372, 1362, 1368, 1374,
++     1375, 1375, 1363, 1370, 1376, 1377, 1379, 1369, 1372, 1373,
++     1378, 1379, 1381, 1369, 1371, 1380, 1380, 1374, 1382, 1384,
++     1385, 1386, 1387, 1382, 1376, 1385, 1385, 1389, 1378, 1388,
++     1377, 1387, 1390, 1391, 1393, 1381, 1395, 1388, 1384, 1386,
++     1394, 1389, 1394, 1393, 1392, 1399, 1401, 1390, 1391, 1392,
++     1395, 1391, 1392, 1397, 1398, 1400, 1399, 1402, 1398, 1397,
++     1400, 1400, 1403, 1404, 1405, 1401, 1406, 1407, 1404, 1405,
++
++     1408, 1409, 1412, 1410, 1415, 1415, 1409, 1413, 1414, 1417,
++     1403, 1418, 1420, 1402, 1416, 1407, 1412, 1421, 1416, 1422,
++     1408, 1423, 1406, 1410, 1420, 1413, 1414, 1417, 1419, 1424,
++     1418, 1425, 1426, 1421, 1419, 1423, 1427, 1429, 1422, 1430,
++     1428, 1427, 1429, 1431, 1424, 1432, 1425, 1428, 1433, 1433,
++     1434, 1426, 1435, 1436, 1432, 1437, 1437, 1430, 1440, 1445,
++     1438, 1435, 1439, 1444, 1431, 1434, 1438,   58, 1439, 1441,
++     1441, 1443, 1440, 1436, 1442, 1442, 1446, 1443, 1447, 1444,
++     1445, 1446, 1448, 1449, 1447, 1450, 1450, 1455, 1448, 1449,
++     1451, 1451, 1453, 1453, 1454, 1456, 1455, 1457, 1454, 1460,
++
++     1458, 1459, 1461, 1461, 1462, 1464, 1460, 1463, 1465, 1457,
++     1464, 1466, 1467, 1456, 1458, 1463, 1459, 1467, 1467, 1469,
++     1468, 1471, 1465, 1472, 1462, 1468, 1468, 1470, 1470, 1473,
++     1466, 1474, 1475, 1476, 1477, 1478, 1474, 1480, 1473, 1469,
++     1471, 1478, 1472, 1479, 1481, 1483, 1486, 1487, 1479, 1482,
++     1484, 1475, 1477, 1476, 1485, 1482, 1484, 1480, 1488, 1489,
++     1485, 1490, 1491, 1492, 1483, 1486, 1487, 1493, 1494, 1494,
++     1481, 1495, 1496, 1497, 1495, 1498, 1491, 1488, 1489, 1502,
++     1490, 1503, 1493, 1502, 1492, 1499, 1499, 1498, 1500, 1500,
++     1501, 1496, 1497, 1504, 1503, 1501, 1505, 1506, 1510, 1506,
++
++     1508, 1509, 1504, 1506, 1511, 1512, 1509, 1513, 1513, 1505,
++     1514, 1515, 1516, 1510, 1523, 1514, 1506, 1515, 1508, 1517,
++     1517, 1512, 1518, 1519, 1511, 1520, 1524, 1516, 1521, 1519,
++     1520, 1525, 1521, 1522, 1523, 1518, 1526, 1522, 1532, 1527,
++     1525, 1528, 1528, 1530, 1524, 1527, 1533, 1534, 1534, 1535,
++     1536, 1533, 1538, 1538, 1540, 1535, 1526, 1540, 1542, 1532,
++     1543, 1530, 1541, 1541, 1544, 1546, 1547, 1552, 1546, 1548,
++     1536, 1550, 1549, 1553, 1542, 1558, 1543, 1551, 1551, 1554,
++     1544, 1549, 1552, 1555, 1558, 1556, 1559, 1547, 1555, 1548,
++     1560, 1550, 1557, 1557, 1553, 1561, 1562, 1564, 1554, 1556,
++
++     1563, 1563, 1566, 1565, 1559, 1560, 1570, 1566, 1567, 1568,
++     1568, 1564, 1572, 1569, 1571, 1571, 1562, 1569, 1573, 1574,
++     1561, 1565, 1576, 1567, 1575, 1581, 1570, 1577, 1575, 1585,
++     1574, 1583, 1577, 1584, 1572, 1579, 1579, 1573, 1581, 1580,
++     1582, 1576, 1580, 1585, 1586, 1582, 1587, 1583, 1588, 1589,
++     1589, 1584, 1590, 1594, 1591, 1592, 1595, 1590, 1593, 1593,
++     1587, 1595, 1594, 1586, 1586, 1596, 1597, 1598, 1597, 1600,
++     1599, 1601, 1598, 1588, 1591, 1592, 1599, 1601, 1603, 1604,
++     1604, 1605, 1606, 1609, 1612, 1596, 1608, 1613, 1606, 1600,
++     1617, 1608, 1603, 1610, 1610, 1611, 1611, 1614, 1612, 1615,
++
++     1605, 1618, 1615, 1616, 1616, 1613, 1619, 1609, 1617, 1621,
++     1627, 1620, 1614, 1618, 1620, 1621, 1622, 1620, 1625, 1623,
++     1626, 1622, 1623, 1629, 1629, 1626, 1619, 1625, 1628, 1620,
++     1630, 1628, 1633, 1631, 1632, 1627, 1638, 1633, 1623, 1631,
++     1632, 1634, 1634, 1635, 1635, 1630, 1636, 1639, 1637, 1638,
++     1640, 1641, 1636, 1637, 1642, 1643, 1644, 1642, 1645, 1648,
++     1647, 1643, 1644, 1646, 1645, 1639, 1647, 1649, 1646, 1640,
++     1651, 1641, 1649, 1650, 1650, 1651, 1652, 1653, 1656, 1654,
++     1655, 1657, 1648, 1659, 1660, 1658, 1661, 1662, 1663, 1662,
++     1661, 1668, 1656, 1666, 1652, 1657, 1664, 1653, 1654, 1658,
++
++     1655, 1659, 1667, 1664, 1668, 1666, 1669, 1663, 1670, 1660,
++     1671, 1672, 1669, 1673, 1667, 1674, 1676, 1676, 1677, 1678,
++     1679, 1680, 1680, 1682, 1678, 1681, 1671, 1673, 1670, 1683,
++     1684, 1672, 1679, 1685, 1686, 1688, 1674, 1682, 1677, 1687,
++     1681, 1689, 1685, 1693, 1688,   57, 1687, 1688, 1684, 1686,
++     1691, 1697, 1694, 1683, 1691, 1694, 1698, 1689, 1695, 1695,
++     1696, 1696, 1701, 1697, 1699, 1691, 1702, 1699, 1693, 1706,
++     1691, 1700, 1700, 1703, 1698, 1701, 1704, 1705, 1703, 1704,
++     1707, 1708, 1705, 1709, 1711, 1702, 1710, 1714, 1706, 1715,
++     1708, 1712, 1716, 1711, 1714, 1710, 1707, 1712, 1710, 1713,
++
++     1713, 1717, 1709, 1718, 1719, 1716, 1720, 1725, 1721, 1715,
++     1722, 1720, 1720, 1721, 1728, 1726, 1729, 1718, 1735, 1717,
++     1719, 1730, 1722, 1727, 1727, 1729, 1730, 1731, 1731, 1732,
++     1728, 1733, 1725, 1726, 1734, 1736, 1733, 1739, 1732, 1735,
++     1737, 1732, 1731, 1740, 1741, 1737, 1737, 1744,   52, 1743,
++     1745, 1739, 1734, 1736, 1743, 1746, 1745, 1748, 1740, 1747,
++     1747, 1744, 1749, 1748, 1750, 1751, 1741, 1749, 1752, 1754,
++     1755, 1751, 1757, 1746, 1752, 1756, 1759, 1758, 1750, 1761,
++     1758, 1756, 1759, 1763, 1755, 1757, 1758, 1761, 1764, 1754,
++     1765, 1766, 1767, 1769, 1768, 1770, 1772, 1767, 1771, 1766,
++
++     1773,   47, 1763, 1768, 1770, 1777, 1769, 1764, 1779, 1765,
++     1772, 1771, 1774, 1774, 1773, 1775, 1776, 1780, 1777, 1778,
++     1778, 1775, 1776, 1781, 1782, 1782, 1783, 1784, 1779, 1785,
++     1786, 1787, 1790, 1784, 1774, 1780, 1789, 1789, 1792, 1783,
++     1791, 1793, 1781, 1792, 1791, 1794, 1786, 1796, 1795, 1787,
++     1794, 1785, 1790, 1795, 1797, 1799, 1796, 1801, 1800, 1802,
++     1801, 1793, 1805, 1803, 1804, 1804, 1799, 1800, 1806, 1807,
++     1809, 1802, 1808, 1808, 1811, 1810, 1814, 1797, 1803, 1812,
++     1806, 1805, 1810, 1815, 1809, 1817, 1811, 1816, 1807, 1818,
++     1819, 1812, 1829, 1816, 1829, 1814, 1819, 1817, 1820, 1820,
++
++     1825, 1821, 1828, 1815, 1821, 1822, 1822, 1818, 1824, 1825,
++     1826, 1827, 1827, 1824, 1828, 1830, 1826, 1831, 1830, 1832,
++     1833, 1834, 1835, 1836, 1837, 1839, 1840, 1835, 1836, 1842,
++     1838, 1840, 1845, 1837, 1841, 1846, 1846, 1831, 1833, 1834,
++     1839, 1832, 1838, 1841, 1848, 1843, 1844, 1845, 1847, 1842,
++     1843, 1844, 1850, 1851, 1847, 1852, 1841, 1843, 1854, 1853,
++     1855,   18, 1855, 1856, 1860, 1848, 1850, 1857, 1857, 1858,
++     1858, 1863, 1851, 1864, 1852, 1853, 1865, 1856, 1854, 1856,
++     1859, 1859, 1861, 1861, 1860, 1862, 1862, 1866, 1866, 1867,
++     1868, 1872, 1863, 1867, 1864, 1869, 1868, 1865, 1869, 1871,
++
++     1873, 1875, 1874, 1877, 1877, 1871, 1873, 1874, 1876, 1872,
++     1878, 1876, 1879, 1880, 1880, 1882, 1881, 1879, 1883, 1884,
++     1885, 1885, 1886, 1883, 1884, 1888, 1875, 1886, 1887, 1889,
++     1878, 1881, 1890, 1891, 1887, 1892, 1882, 1888, 1888, 1888,
++     1893, 1892, 1895, 1896, 1888, 1899, 1897, 1895, 1895, 1889,
++     1890, 1900, 1898, 1891, 1898, 1903, 1899, 1896, 1901, 1902,
++     1893, 1897, 1904, 1906, 1901, 1908, 1900, 1913, 1902, 1905,
++     1905, 1907, 1907, 1909, 1910, 1903, 1911, 1911, 1909, 1912,
++     1912, 1916, 1916, 1904, 1917, 1908, 1918, 1913, 1909, 1906,
++     1920, 1921, 1922, 1925, 1923, 1918, 1910, 1927, 1922, 1920,
++
++     1924, 1924, 1926, 1929, 1927, 1931, 1928, 1930, 1930, 1917,
++     1923, 1932, 1921, 1934, 1925, 1928, 1935, 1926, 1936, 1934,
++     1937, 1935, 1939, 1938, 1936, 1942, 1947, 1932, 1939, 1929,
++     1938, 1931, 1940, 1943, 1940, 1944, 1944, 1945, 1946, 1943,
++     1937, 1948, 1945, 1949, 1942, 1950, 1947, 1946, 1950, 1951,
++     1952, 1953, 1953, 1954, 1956, 1949, 1955, 1957, 1960, 1954,
++     1948, 1958, 1955, 1961, 1962, 1958, 1964, 1951, 1965, 1962,
++     1963, 1963, 1957, 1966, 1956, 1968, 1952,   17, 1960, 1969,
++     1971, 1958, 1977, 1969, 1972, 1961, 1971, 1965, 1966, 1975,
++     1964, 1970, 1970, 1972, 1968, 1973, 1973, 1974, 1976, 1976,
++
++     1975, 1974, 1978, 1977, 1979, 1975, 1980, 1981, 1982, 1983,
++     1986, 1980, 1984, 1985, 1987, 1993, 1978, 1988, 1984, 1987,
++     1989, 1989, 1991, 1979, 1993, 1986, 1991, 1981, 1982, 1983,
++     1988, 1985, 1990, 1990, 1994, 1995, 1996, 1996, 1998, 1998,
++     2003, 1999, 2000, 2002,    0, 1994, 1999, 1999, 2000, 2002,
++     1994, 2004, 2005, 2006, 2009, 1995, 2004, 2008, 2009, 2006,
++     2010, 2011, 2011, 2012, 2005, 2013, 2003, 2014, 2015, 2008,
++     2018, 2013, 2010, 2017, 2015, 2016, 2016, 2019, 2023, 2020,
++     2024, 2022, 2019, 2026, 2030, 2024, 2026,    0, 2012, 2014,
++     2018, 2020, 2017, 2022, 2027, 2027, 2031, 2023, 2028, 2028,
++
++     2029, 2029, 2031, 2032, 2030, 2033, 2034, 2035, 2037, 2032,
++     2033, 2039, 2034, 2037, 2039, 2040, 2035, 2041, 2041, 2043,
++     2044, 2045, 2046, 2046, 2047, 2048, 2045, 2040, 2052, 2049,
++     2048, 2043, 2044, 2047, 2049, 2050, 2051, 2051, 2050, 2054,
++     2053, 2055, 2056, 2059, 2061, 2057, 2056, 2058, 2052, 2053,
++     2057, 2062, 2065, 2058, 2060, 2064, 2064, 2054, 2068, 2066,
++     2055, 2059, 2061, 2060, 2066, 2062, 2067, 2064, 2069, 2069,
++     2065, 2070, 2071, 2072, 2073, 2067, 2074, 2080, 2068, 2073,
++     2070, 2077, 2077, 2079, 2071, 2081, 2079, 2082, 2085, 2074,
++     2084, 2086, 2087, 2080, 2072, 2088, 2088, 2086, 2089, 2090,
++
++     2089, 2081, 2085, 2082, 2092, 2084, 2091, 2091, 2097, 2087,
++     2094, 2094, 2092, 2095, 2095, 2098, 2099, 2090, 2100, 2101,
++     2102, 2098, 2099, 2103, 2104, 2104, 2101, 2105, 2106, 2107,
++     2111, 2097, 2100, 2108, 2110, 2109, 2105, 2112, 2113, 2115,
++     2116, 2107, 2102, 2103, 2113, 2108, 2110, 2119, 2117, 2106,
++     2109, 2120, 2112, 2118, 2118, 2121, 2111, 2113, 2121, 2115,
++     2117, 2122, 2123, 2116, 2125, 2119, 2122, 2127, 2126, 2125,
++     2126, 2120, 2128, 2129, 2131, 2130, 2135, 2133, 2128, 2129,
++     2130, 2131, 2123, 2136, 2137, 2127, 2133, 2138, 2139, 2138,
++     2143, 2140, 2136, 2142, 2135, 2142, 2137, 2140, 2144, 2144,
++
++     2145, 2146, 2150, 2147, 2143, 2147, 2146, 2139, 2148, 2149,
++     2151, 2152, 2153, 2148, 2149, 2156, 2154, 2155, 2153, 2157,
++     2150, 2154, 2160, 2164, 2157, 2157, 2145, 2156, 2151, 2158,
++     2155, 2152, 2161, 2162, 2162, 2163, 2163, 2158, 2164, 2165,
++     2167, 2160, 2166, 2169, 2170, 2167, 2161, 2168, 2166, 2168,
++     2171, 2171, 2170, 2172, 2173, 2173, 2174, 2174, 2175, 2165,
++     2170, 2169, 2177, 2176, 2180, 2172, 2179, 2175, 2176, 2181,
++     2179, 2181, 2182, 2180, 2184, 2185, 2180, 2183, 2186, 2188,
++     2177, 2193, 2183, 2183, 2185, 2192, 2184, 2189, 2194, 2190,
++     2186, 2188, 2189, 2182, 2190, 2195, 2195, 2194, 2192, 2196,
++
++     2197, 2193, 2198, 2199, 2200, 2203, 2207, 2201, 2202, 2208,
++     2203, 2209, 2205, 2206, 2208, 2216, 2209, 2196, 2197, 2199,
++     2198, 2201, 2210, 2202, 2205, 2206, 2207, 2213, 2215, 2200,
++     2217, 2210, 2218, 2213, 2215, 2219, 2221, 2221, 2216, 2220,
++     2222, 2223, 2223, 2224, 2225, 2217, 2213, 2226, 2220, 2222,
++     2218, 2226, 2227, 2228, 2230, 2232, 2231, 2227, 2238, 2233,
++     2219, 2224, 2231, 2225, 2233, 2233, 2228, 2236, 2234, 2235,
++     2236, 2237, 2246, 2230, 2234, 2235, 2243, 2232, 2238, 2237,
++     2241, 2241, 2242, 2242, 2246, 2243, 2244, 2244, 2245, 2245,
++     2248, 2247, 2256, 2249, 2250, 2250, 2248, 2242, 2249, 2251,
++
++     2251, 2252, 2258, 2255, 2253, 2260, 2252, 2255, 2242, 2247,
++     2253, 2257, 2256, 2261, 2262, 2257, 2263, 2265, 2261, 2264,
++     2266, 2267, 2258, 2268, 2264, 2269, 2270, 2270, 2268, 2271,
++     2260, 2263, 2274, 2271, 2272, 2265, 2266, 2262, 2273, 2275,
++     2276, 2267, 2277, 2273, 2278, 2279, 2280, 2269, 2281, 2272,
++     2279, 2274, 2282, 2282, 2277, 2285, 2284, 2286, 2276, 2280,
++     2287, 2288, 2289, 2278, 2284, 2275, 2281, 2291, 2290, 2292,
++     2293, 2294, 2298, 2302, 2285, 2296, 2286, 2294, 2299, 2287,
++     2301, 2292, 2301, 2300, 2288, 2298, 2289, 2290, 2291, 2300,
++     2296, 2293, 2299, 2302, 2303, 2303, 2304, 2305, 2306, 2307,
++
++     2305, 2304, 2308, 2309, 2309, 2310, 2310, 2311, 2313, 2311,
++        0, 2306, 2314, 2307, 2322, 2308, 2312, 2312, 2315, 2315,
++     2316, 2317, 2317, 2313, 2323, 2314, 2318, 2318, 2319, 2316,
++     2321, 2324, 2316, 2319, 2322, 2321, 2325, 2325, 2326, 2326,
++     2327, 2328, 2328, 2324, 2323, 2329, 2329, 2330, 2331, 2332,
++     2332, 2334, 2330, 2333, 2335, 2335, 2334, 2336, 2336, 2327,
++     2337, 2338, 2339, 2340, 2341, 2345, 2331, 2343, 2333, 2347,
++     2338,    0, 2343, 2348, 2337, 2344, 2344, 2340, 2348, 2339,
++     2346, 2346, 2349, 2341, 2345, 2353, 2350, 2347, 2349, 2350,
++     2351, 2351, 2352, 2352, 2354, 2355, 2357, 2355, 2358, 2359,
++
++     2359, 2361, 2362, 2363, 2353, 2366, 2351, 2368, 2364, 2354,
++     2367, 2357, 2364, 2365, 2365, 2367, 2369, 2358, 2363, 2371,
++     2371, 2361, 2368, 2372, 2366, 2362, 2373, 2374, 2375, 2376,
++     2377, 2369, 2378, 2373, 2379, 2379, 2381, 2382, 2381, 2380,
++     2382, 2374, 2385, 2372, 2384, 2377, 2375, 2376, 2380, 2388,
++     2384, 2386, 2389, 2392, 2385, 2382, 2386, 2382, 2378, 2387,
++     2390, 2391, 2394, 2395, 2387, 2389, 2391, 2394, 2395, 2397,
++     2396, 2398, 2399, 2400, 2388, 2396, 2401, 2398, 2399, 2392,
++     2402, 2390, 2403, 2404, 2397, 2405, 2402, 2403, 2404, 2406,
++     2407, 2401, 2408, 2407, 2400, 2409, 2410, 2411, 2412, 2417,
++
++     2419, 2408, 2406, 2413, 2409, 2410, 2411, 2414, 2420, 2413,
++     2405, 2415, 2412, 2414, 2424, 2415, 2427, 2420, 2422, 2417,
++     2419, 2421, 2421, 2424, 2422, 2423, 2423, 2425, 2425, 2429,
++     2426, 2430, 2431, 2431, 2423, 2426, 2427, 2432, 2427, 2433,
++     2436, 2435, 2437, 2438, 2442, 2429, 2440, 2430, 2433, 2440,
++     2443,    0, 2432, 2435, 2441, 2438, 2436, 2437, 2449, 2441,
++     2444, 2444, 2443, 2449, 2442, 2445, 2445, 2447, 2447, 2448,
++     2450, 2451, 2448, 2452, 2453, 2453, 2450, 2451, 2454, 2455,
++     2455, 2456, 2452, 2457, 2458, 2459, 2459, 2461, 2460, 2469,
++     2462, 2471, 2454, 2456, 2460, 2462, 2464, 2457, 2469, 2465,
++
++     2464, 2461, 2465, 2458, 2466, 2466, 2467, 2467, 2468, 2470,
++     2472, 2471, 2474, 2468, 2472, 2473, 2473, 2476, 2470, 2477,
++     2478, 2479, 2476, 2480, 2481, 2474, 2482, 2483, 2481, 2484,
++     2485, 2487, 2483, 2486, 2486, 2484, 2485, 2480, 2488, 2477,
++     2478, 2479, 2489, 2490, 2491,    0, 2482, 2494, 2490, 2487,
++     2492, 2492, 2495, 2496, 2497, 2498, 2503, 2488, 2496, 2494,
++     2497, 2489, 2499, 2498, 2499, 2491, 2501, 2506, 2495, 2512,
++     2503, 2504, 2504, 2505, 2511, 2501, 2505, 2507, 2507, 2510,
++     2511, 2512, 2514, 2510, 2513, 2513, 2517, 2517, 2519, 2521,
++     2520, 2514, 2523, 2506, 2520, 2524, 2527, 2528, 2529, 2530,
++
++     2531, 2527, 2532, 2532, 2530, 2531, 2523, 2521, 2536, 2519,
++     2537, 2524, 2534, 2534, 2536, 2538, 2538, 2539, 2540, 2529,
++     2541, 2544, 2543, 2528, 2544, 2541, 2545, 2546, 2547, 2547,
++     2537, 2550, 2551, 2539, 2549, 2556, 2552, 2550, 2545, 2546,
++     2540, 2543, 2557, 2549, 2554, 2554, 2555, 2559, 2559, 2555,
++     2551, 2552, 2560, 2560, 2556, 2562, 2561, 2563, 2564, 2565,
++     2557, 2561, 2567, 2566, 2565, 2566, 2563, 2568, 2569, 2570,
++     2571, 2564, 2572, 2562, 2570, 2579, 2567, 2573, 2574, 2574,
++     2569, 2568, 2573, 2575, 2575, 2576, 2576, 2577, 2577, 2578,
++     2571, 2580, 2572, 2579, 2581, 2581, 2580, 2582, 2582, 2583,
++
++     2583, 2578, 2584, 2585, 2586, 2587, 2588, 2591, 2589, 2590,
++     2590, 2592, 2592,    0, 2584, 2596, 2586, 2593, 2593, 2594,
++     2595, 2597, 2596, 2585, 2589, 2587, 2591, 2588, 2598, 2599,
++     2594, 2600, 2595, 2597, 2599, 2601, 2602, 2602, 2603, 2604,
++     2604, 2605, 2606, 2607, 2608, 2609, 2612, 2603, 2598, 2610,
++     2611, 2600, 2611, 2613, 2613, 2601, 2607, 2614, 2612, 2609,
++     2615, 2616, 2606, 2618, 2619, 2620, 2614, 2605, 2608, 2621,
++     2622, 2610, 2621, 2623, 2624, 2615, 2616,    0, 2623, 2624,
++     2632, 2618, 2625, 2625, 2622, 2634, 2619, 2635, 2620, 2626,
++     2626, 2627, 2627, 2629, 2629, 2631, 2631, 2633, 2632, 2637,
++
++     2638, 2639, 2635, 2641, 2634, 2640, 2642, 2643, 2633, 2643,
++     2644, 2645, 2641, 2646, 2647, 2647, 2650, 2650, 2638, 2637,
++     2651, 2652, 2658, 2639, 2653, 2640, 2642, 2654, 2654, 2645,
++     2644, 2646, 2656, 2653, 2651, 2657, 2657, 2659, 2660, 2661,
++     2658, 2656, 2662, 2652, 2663, 2664, 2661, 2666, 2665, 2668,
++     2668, 2667, 2669, 2669, 2670, 2659, 2660, 2662, 2667, 2671,
++     2678, 2672, 2663, 2664, 2665, 2677, 2666, 2672, 2674, 2674,
++     2675, 2675, 2676, 2679, 2670, 2678, 2680, 2671, 2676, 2681,
++     2682, 2683, 2684, 2677, 2681, 2690, 2685, 2684, 2685, 2687,
++     2680, 2687, 2679, 2686, 2686, 2688, 2688, 2692, 2693, 2694,
++
++     2682, 2683, 2695, 2693, 2690, 2696, 2697, 2698, 2694, 2692,
++     2699, 2700, 2698, 2701, 2704, 2699, 2706, 2696, 2705, 2706,
++     2708, 2695, 2707, 2707, 2709,    0, 2697, 2710, 2710, 2711,
++     2712, 2700, 2701, 2713, 2704, 2708, 2705, 2713, 2715, 2716,
++     2711, 2718, 2709, 2716, 2720, 2712, 2717, 2717, 2721, 2722,
++     2723, 2723, 2725, 2715, 2718, 2730, 2726, 2727, 2736, 2720,
++     2734, 2727, 2728, 2728, 2725, 2726, 2729, 2729, 2721, 2722,
++     2731, 2731, 2732, 2733, 2730, 2735, 2734, 2732, 2736, 2737,
++     2737, 2743, 2733, 2742, 2742, 2744, 2744, 2735, 2745, 2746,
++     2748, 2747, 2751, 2751, 2752, 2753, 2749, 2750, 3410, 2748,
++
++     3410, 2745, 2746, 2743, 2747, 2749, 2750, 2755, 2755, 2760,
++     2753, 2758, 2759, 2761, 2752, 2763, 2758, 2759, 2761, 2762,
++     2764, 2767, 2765, 2760, 2771, 2775, 2769, 2762, 2770, 2764,
++     2765, 2769, 2792, 2770, 2763, 2792, 2767, 2772, 2772, 2771,
++     2773, 2773, 2774, 2777, 2775, 2776, 2776, 2774, 2778, 2779,
++     2777, 2780, 2781, 2778, 2782, 2783, 2783, 2784, 2781, 2782,
++     2785, 2786, 2786, 2787, 2787, 2785, 2790, 2779, 2793, 2780,
++     2791, 2791, 2784, 2793, 2793, 2794, 2795, 2796, 2797, 2790,
++     2794, 2795, 2798, 2799, 2797, 2800, 2798, 2801, 2799, 2802,
++     2803, 2796, 2804, 2805, 2800, 2806, 2807, 2802, 2804, 2805,
++
++     2806, 2810, 2801, 2809, 2811, 2813, 2810, 2811, 2807, 2815,
++     2809, 2803, 2818, 2816, 2815, 2817, 2819, 2813, 2816, 2820,
++     2817, 2824, 2821, 2822, 2822, 2823, 2824, 2827, 2820, 2819,
++     2818, 2821, 2828, 2829, 2823, 2832, 2833, 2836, 2828, 2829,
++     2834, 2835, 2835, 2837, 2836, 2827, 2838, 2841, 2839, 2840,
++     2840, 2845, 2843, 2846, 2832, 2838, 2833, 2847, 2847, 2834,
++     2848, 2850, 2837, 2839, 2848, 2853, 2841, 2843, 2849, 2849,
++     2851, 2845, 2852, 2846, 2854, 2857, 2851, 2856, 2852, 2858,
++     2854, 2855, 2855, 2853, 2858, 2856, 2850, 2860, 2861, 2863,
++     2864, 2866, 2867, 2864, 2865, 2863, 2860, 2870, 2865, 2876,
++
++     2857, 2861, 2869, 2869, 2876, 2866, 2881, 2867, 2871, 2871,
++     2872, 2872, 2874, 2874, 2875, 2870, 2877, 2882, 2875, 2879,
++     2879, 2883, 2882, 2884, 2885, 2877, 2881, 2887, 2884, 2884,
++     2888, 2888, 2894, 2883, 2890, 2890, 2885, 2891, 2891, 2892,
++     2892, 2893, 2895, 2898, 2893, 2894, 2900, 2887, 2897, 2897,
++     2901, 2901, 2902, 2902, 2904, 2895, 2903, 2903, 2905, 2905,
++     2906, 2898, 2907, 2908, 2909, 2918, 2900, 2910, 2910, 2904,
++     2909, 2911, 2914, 2906, 2915, 2911, 2917, 2908, 2914, 2915,
++     2907, 2917, 2917, 2919, 2920, 2921, 2922, 2923, 2918, 2924,
++     2930, 2921, 2922, 2924, 2925, 2925, 2928, 2931, 2930, 2933,
++
++     2931, 2928, 2934, 2919, 2920, 2934, 2935, 2935, 2936, 2937,
++     2938, 2939, 2923, 2940, 2937, 2941, 2941, 2945, 2942, 2943,
++     2944, 2946, 2943, 2949, 2933, 2936, 2936, 2940, 2938, 2946,
++     2943, 2939, 2942, 2947, 2944, 2948, 2945, 2958, 2947, 2947,
++     2948, 2948, 2949, 2950, 2950, 2951, 2951, 2952, 2952, 2953,
++     2953, 2954, 2954, 2955, 2955, 2956, 2957, 2958, 2959, 2960,
++     2961, 2957, 2962, 2963, 2971, 2961, 2964, 2965, 2963, 2966,
++     2989, 2956,    0, 2960, 2989, 2964, 2968, 2968, 2969, 2969,
++     2970, 2962, 2971, 2970, 2959, 2973, 2973, 2965, 2974, 2966,
++     2975, 2975, 2976, 2981, 2978, 2974, 2980, 2980, 2976, 2978,
++
++     2982, 2983, 2981, 2984, 2986, 2987, 2987, 2988, 2988, 2982,
++     2983, 2990, 2984, 2991, 2992, 2993, 2995, 2996, 2994, 3007,
++     2990, 3016, 2986, 2994, 2994, 2992, 2996, 2997, 3001, 2995,
++     2993, 2997, 2991, 3001, 3002, 3002, 3003, 3005, 3005, 3006,
++     3008, 3010, 3010, 3011, 3007, 3012, 3016, 3018, 3020, 3017,
++     3003, 3023, 3011, 3006, 3017, 3021, 3018, 3012, 3008, 3025,
++     3027, 3021, 3028, 3023, 3030, 3027, 3032, 3028, 3020, 3029,
++     3029, 3032, 3033, 3030, 3034, 3035, 3035, 3037, 3037, 3035,
++     3025, 3038, 3038, 3039, 3039, 3033, 3040, 3041, 3034, 3042,
++        0, 3043, 3045, 3049, 3046, 3040, 3043, 3047, 3045, 3046,
++
++     3048, 3048, 3047, 3050, 3051, 3052, 3053, 3041, 3042, 3055,
++     3052, 3049, 3054, 3056, 3056, 3050, 3058, 3059, 3054, 3062,
++     3058, 3060, 3059, 3066, 3053, 3051, 3060, 3061, 3061, 3063,
++     3064, 3068, 3068, 3070, 3055, 3071, 3072, 3073, 3062, 3075,
++     3076, 3073, 3074, 3066, 3063, 3064, 3070, 3078, 3071, 3072,
++     3077, 3074, 3078, 3079, 3081, 3075, 3080, 3080, 3077, 3076,
++     3082, 3083, 3085, 3081, 3084, 3084, 3088, 3088, 3089, 3089,
++     3091, 3093, 3096, 3079, 3094, 3094, 3093, 3097, 3082, 3098,
++     3099, 3085, 3103, 3103, 3098, 3100, 3104, 3083, 3096, 3105,
++     3100, 3091, 3107, 3097, 3106, 3108, 3099, 3111, 3105, 3112,
++
++     3106, 3110, 3110, 3113, 3113, 3117, 3104, 3115, 3121, 3124,
++     3118, 3111, 3119, 3115, 3108, 3107, 3118, 3119, 3112, 3122,
++     3122, 3123, 3123, 3125, 3124, 3117, 3126, 3126, 3127, 3128,
++     3121, 3129, 3132, 3131, 3130, 3133, 3134, 3134, 3128, 3127,
++     3130, 3135, 3136, 3125, 3132, 3136, 3126, 3137, 3138, 3138,
++     3137, 3129, 3131, 3142, 3143, 3133, 3135, 3144, 3145, 3145,
++     3147, 3146, 3148, 3144, 3146, 3142, 3147, 3150, 3151, 3151,
++     3152, 3153, 3150, 3154, 3143, 3152, 3155, 3156, 3156, 3154,
++     3148, 3159, 3160, 3158, 3161, 3162, 3162, 3163, 3164, 3165,
++     3153, 3167, 3167, 3155, 3155, 3158,    0, 3161, 3165, 3159,
++
++     3168, 3168, 3169, 3169, 3164, 3170, 3163, 3160, 3171, 3172,
++     3170, 3173, 3173, 3177, 3172, 3174, 3174, 3175, 3175, 3176,
++     3176, 3178, 3171, 3179, 3185, 3180, 3177, 3182, 3182, 3179,
++     3180, 3186, 3188, 3189, 3190, 3186, 3191, 3192, 3192, 3194,
++     3194, 3195, 3196, 3185, 3198, 3197, 3206, 3178, 3199, 3200,
++     3200, 3201, 3201, 3190, 3188, 3189, 3203, 3199, 3191, 3197,
++     3204, 3196, 3205, 3207, 3198, 3206, 3204, 3195, 3207, 3210,
++     3211, 3211, 3213, 3213, 3203, 3214, 3217, 3215, 3216, 3218,
++     3214, 3224, 3205, 3225, 3216, 3219, 3219, 3218, 3217, 3220,
++     3210, 3215, 3222, 3223, 3220, 3226, 3222, 3227, 3223, 3228,
++
++     3226, 3224, 3230, 3225, 3231, 3228, 3232, 3233, 3236, 3227,
++     3230, 3235, 3238, 3237, 3239, 3241, 3242, 3465, 3246, 3239,
++     3241, 3248, 3243, 3231, 3236, 3465, 3232, 3233, 3243, 3235,
++     3237, 3237, 3244, 3238, 3248, 3261, 3242, 3244, 3246, 3247,
++     3252, 3252, 3247, 3253, 3253, 3254, 3259, 3259, 3260, 3254,
++     3262, 3262, 3265, 3260, 3261, 3264, 3264, 3265, 3266, 3266,
++     3270, 3266, 3267, 3267, 3270, 3267, 3268, 3268, 3269, 3269,
++     3272, 3269, 3273, 3274, 3274, 3272, 3275, 3276, 3279, 3279,
++     3280, 3273, 3281, 3282, 3283, 3283, 3284, 3287, 3282, 3288,
++     3290, 3276, 3291, 3289, 3275, 3293, 3288, 3289, 3294, 3290,
++
++     3280, 3296, 3281, 3294, 3295, 3295, 3284, 3291, 3297, 3297,
++     3296, 3300, 3287, 3293, 3298, 3298, 3299, 3299, 3301, 3302,
++     3305, 3304, 3306, 3301, 3303, 3307, 3300, 3304, 3302, 3303,
++     3303, 3302, 3310, 3308, 3309, 3311, 3311, 3306, 3308, 3309,
++     3316, 3312, 3313, 3314, 3314, 3305, 3307, 3312, 3313, 3315,
++     3315, 3310, 3317, 3320, 3320, 3316, 3323, 3317, 3322, 3322,
++     3326, 3326, 3327, 3327, 3336, 3323, 3328, 3328, 3329, 3329,
++     3330, 3330, 3332, 3332, 3333, 3333, 3334, 3334, 3335, 3335,
++     3338, 3339, 3339, 3340, 3340, 3341, 3342, 3343, 3348, 3338,
++     3336, 3345, 3345, 3346, 3341, 3347, 3347, 3349, 3342, 3350,
++
++     3351, 3351, 3354, 3348, 3352, 3352, 3358, 3343, 3355, 3355,
++     3349, 3350, 3346, 3359, 3360, 3362, 3359, 3354, 3361, 3361,
++     3364, 3365, 3366, 3364, 3358, 3367, 3368, 3365, 3369, 3372,
++     3367, 3370, 3373, 3362, 3376, 3372, 3366, 3377, 3376, 3380,
++     3360, 3373, 3394, 3390, 3400, 3368, 3369, 3370, 3390, 3403,
++     3391, 3407, 3377, 3391, 3401, 3394, 3395, 3395, 3396, 3396,
++     3398, 3398, 3402, 3401, 3405, 3380, 3402, 3400, 3408, 3403,
++     3409, 3411, 3412, 3412, 3407, 3409, 3413, 3414, 3405, 3408,
++     3415, 3416, 3417, 3419, 3418, 3421, 3411, 3422, 3420, 3413,
++     3421, 3425, 3419, 3424, 3424, 3431, 3414, 3416, 3415, 3418,
++
++     3420, 3423, 3430,    0, 3426, 3433, 3423, 3417, 3422, 3426,
++     3438, 3425, 3432, 3432, 3433, 3431, 3430, 3434, 3434, 3435,
++     3435, 3436, 3436, 3437, 3437, 3439, 3441, 3440, 3442, 3438,
++     3440, 3441, 3443, 3442, 3444, 3445, 3446, 3448, 3450, 3447,
++     3454, 3445, 3448, 3449, 3449, 3439, 3451, 3451, 3455, 3444,
++     3446, 3447, 3453, 3453, 3458, 3454, 3460, 3443, 3450, 3456,
++     3456, 3463, 3463, 3464, 3464, 3466, 3467, 3455, 3469, 3458,
++     3468, 3471, 3467, 3470, 3460, 3472, 3468, 3473, 3473, 3478,
++     3472, 3479, 3469, 3481, 3466, 3482, 3470, 3475, 3475, 3482,
++     3471, 3484, 3487, 3485, 3486, 3488, 3489, 3481, 3485, 3490,
++
++     3478, 3479, 3491, 3495, 3490, 3487, 3496, 3491, 3488, 3492,
++     3492, 3484, 3497, 3486, 3499, 3489, 3498, 3498, 3505, 3499,
++     3500, 3501, 3501, 3495, 3496, 3502, 3500, 3503, 3504, 3506,
++     3502, 3497, 3503, 3504, 3513, 3506, 3509, 3505, 3508, 3508,
++     3512, 3509, 3510, 3510, 3512, 3514, 3515, 3516, 3517, 3518,
++     3519, 3526, 3514, 3513, 3517, 3521, 3521, 3523, 3523, 3525,
++     3524, 3527, 3528, 3519, 3525, 3515, 3516, 3533, 3518, 3524,
++     3526, 3530, 3524, 3529, 3529, 3528, 3530, 3531, 3534, 3534,
++     3527, 3535, 3536, 3536, 3537, 3537, 3538, 3539, 3540, 3547,
++     3531, 3538, 3542, 3533, 3539, 3541, 3541, 3542, 3545, 3543,
++
++     3535, 3543, 3544, 3544, 3546, 3545, 3549, 3540, 3547, 3548,
++     3552, 3546, 3551, 3551, 3548, 3554, 3555, 3556, 3557, 3561,
++     3554, 3555, 3558, 3558, 3562, 3549, 3560, 3560, 3565, 3552,
++     3563, 3563, 3564, 3564, 3575, 3565, 3556, 3557, 3561, 3567,
++     3567, 3568, 3568, 3562, 3569, 3571, 3576, 3574, 3577, 3577,
++     3571, 3569, 3574, 3575, 3578, 3578,    0,    0,    0,    0,
++        0,    0,    0,    0,    0, 3576, 3582, 3582, 3582, 3582,
++     3582, 3582, 3582, 3583, 3583, 3583, 3583, 3583, 3583, 3583,
++     3584, 3584, 3584, 3584, 3584, 3584, 3584, 3585, 3585, 3585,
++     3585, 3585, 3585, 3585, 3586, 3586, 3586, 3586, 3586, 3586,
++
++     3586, 3587, 3587, 3587, 3587, 3587, 3587, 3587, 3588, 3588,
++     3588, 3588, 3588, 3588, 3588, 3590, 3590,    0, 3590, 3590,
++     3590, 3590, 3591, 3591,    0,    0,    0, 3591, 3591, 3592,
++     3592,    0,    0, 3592,    0, 3592, 3593,    0,    0,    0,
++        0,    0, 3593, 3594, 3594,    0,    0,    0, 3594, 3594,
++     3595,    0,    0,    0,    0,    0, 3595, 3596, 3596,    0,
++     3596, 3596, 3596, 3596, 3597,    0,    0,    0,    0,    0,
++     3597, 3598, 3598,    0,    0,    0, 3598, 3598, 3599, 3599,
++        0, 3599, 3599, 3599, 3599, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581, 3581,
++     3581, 3581, 3581, 3581, 3581, 3581
      } ;
  
  static yy_state_type yy_last_accepting_state;
@@@ -3349,6 -3328,7 +3358,7 @@@ static void config_end_include(void
          }
  #endif
  
 -#line 3329 "<stdout>"
++#line 3360 "<stdout>"
  #define YY_NO_INPUT 1
  #line 191 "./util/configlexer.lex"
  #ifndef YY_NO_UNPUT
  #ifndef YY_NO_INPUT
  #define YY_NO_INPUT 1
  #endif
 -#line 3338 "<stdout>"
++#line 3369 "<stdout>"
  
- #line 3360 "<stdout>"
 -#line 3340 "<stdout>"
++#line 3371 "<stdout>"
  
  #define INITIAL 0
  #define quotedstring 1
@@@ -3569,13 -3554,18 +3584,18 @@@ YY_DEC
                if ( ! YY_CURRENT_BUFFER ) {
                        yyensure_buffer_stack ();
                        YY_CURRENT_BUFFER_LVALUE =
-                               yy_create_buffer(yyin,YY_BUF_SIZE );
+                               yy_create_buffer( yyin, YY_BUF_SIZE );
                }
  
-               yy_load_buffer_state( );
+               yy_load_buffer_state(  );
                }
  
-       while ( 1 )             /* loops until end-of-file is reached */
+       {
+ #line 211 "./util/configlexer.lex"
 -#line 3564 "<stdout>"
++#line 3595 "<stdout>"
+       while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
                (yy_more_len) = 0;
                if ( (yy_more_flag) )
@@@ -3606,13 -3596,13 +3626,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 >= 3563 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
 -                              if ( yy_current_state >= 3543 )
++                              if ( yy_current_state >= 3582 )
+                                       yy_c = yy_meta[yy_c];
                                }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                       yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 6948 );
 -              while ( yy_base[yy_current_state] != 6911 );
++              while ( yy_base[yy_current_state] != 6986 );
  
  yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@@ -4322,12 -4312,12 +4342,12 @@@ YY_RULE_SETU
  case 137:
  YY_RULE_SETUP
  #line 351 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ZONEFILE) }
++{ YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) }
        YY_BREAK
  case 138:
  YY_RULE_SETUP
  #line 352 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MASTER) }
++{ YDVAR(1, VAR_ZONEFILE) }
        YY_BREAK
  case 139:
  YY_RULE_SETUP
  case 140:
  YY_RULE_SETUP
  #line 354 "./util/configlexer.lex"
--{ YDVAR(1, VAR_URL) }
++{ YDVAR(1, VAR_MASTER) }
        YY_BREAK
  case 141:
  YY_RULE_SETUP
  #line 355 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ALLOW_NOTIFY) }
++{ YDVAR(1, VAR_URL) }
        YY_BREAK
  case 142:
  YY_RULE_SETUP
  #line 356 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FOR_DOWNSTREAM) }
++{ YDVAR(1, VAR_ALLOW_NOTIFY) }
        YY_BREAK
  case 143:
  YY_RULE_SETUP
  #line 357 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FOR_UPSTREAM) }
++{ YDVAR(1, VAR_FOR_DOWNSTREAM) }
        YY_BREAK
  case 144:
  YY_RULE_SETUP
  #line 358 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FALLBACK_ENABLED) }
++{ YDVAR(1, VAR_FOR_UPSTREAM) }
        YY_BREAK
  case 145:
  YY_RULE_SETUP
  #line 359 "./util/configlexer.lex"
--{ YDVAR(0, VAR_VIEW) }
++{ YDVAR(1, VAR_FALLBACK_ENABLED) }
        YY_BREAK
  case 146:
  YY_RULE_SETUP
  #line 360 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VIEW_FIRST) }
++{ YDVAR(0, VAR_VIEW) }
        YY_BREAK
  case 147:
  YY_RULE_SETUP
  #line 361 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
++{ YDVAR(1, VAR_VIEW_FIRST) }
        YY_BREAK
  case 148:
  YY_RULE_SETUP
  #line 362 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
++{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
        YY_BREAK
  case 149:
  YY_RULE_SETUP
  #line 363 "./util/configlexer.lex"
--{ YDVAR(2, VAR_ACCESS_CONTROL) }
++{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
        YY_BREAK
  case 150:
  YY_RULE_SETUP
  #line 364 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
++{ YDVAR(2, VAR_ACCESS_CONTROL) }
        YY_BREAK
  case 151:
  YY_RULE_SETUP
  #line 365 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
++{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
        YY_BREAK
  case 152:
  YY_RULE_SETUP
  #line 366 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
++{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
        YY_BREAK
  case 153:
  YY_RULE_SETUP
  #line 367 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
++{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
        YY_BREAK
  case 154:
  YY_RULE_SETUP
  #line 368 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
++{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
        YY_BREAK
  case 155:
  YY_RULE_SETUP
  #line 369 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
++{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
        YY_BREAK
  case 156:
  YY_RULE_SETUP
  #line 370 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
++{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
        YY_BREAK
  case 157:
  YY_RULE_SETUP
  #line 371 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
++{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
        YY_BREAK
  case 158:
  YY_RULE_SETUP
  #line 372 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
++{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
        YY_BREAK
  case 159:
  YY_RULE_SETUP
  #line 373 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
++{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
        YY_BREAK
  case 160:
  YY_RULE_SETUP
  #line 374 "./util/configlexer.lex"
--{ YDVAR(1, VAR_HIDE_IDENTITY) }
++{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
        YY_BREAK
  case 161:
  YY_RULE_SETUP
  #line 375 "./util/configlexer.lex"
--{ YDVAR(1, VAR_HIDE_VERSION) }
++{ YDVAR(1, VAR_HIDE_IDENTITY) }
        YY_BREAK
  case 162:
  YY_RULE_SETUP
  #line 376 "./util/configlexer.lex"
--{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
++{ YDVAR(1, VAR_HIDE_VERSION) }
        YY_BREAK
  case 163:
  YY_RULE_SETUP
  #line 377 "./util/configlexer.lex"
--{ YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) }
++{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
        YY_BREAK
  case 164:
  YY_RULE_SETUP
  #line 378 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IDENTITY) }
++{ YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) }
        YY_BREAK
  case 165:
  YY_RULE_SETUP
  #line 379 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VERSION) }
++{ YDVAR(1, VAR_IDENTITY) }
        YY_BREAK
  case 166:
  YY_RULE_SETUP
  #line 380 "./util/configlexer.lex"
--{ YDVAR(1, VAR_HTTP_USER_AGENT) }
++{ YDVAR(1, VAR_VERSION) }
        YY_BREAK
  case 167:
  YY_RULE_SETUP
  #line 381 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MODULE_CONF) }
++{ YDVAR(1, VAR_HTTP_USER_AGENT) }
        YY_BREAK
  case 168:
  YY_RULE_SETUP
  #line 382 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DLV_ANCHOR) }
++{ YDVAR(1, VAR_MODULE_CONF) }
        YY_BREAK
  case 169:
  YY_RULE_SETUP
  #line 383 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
++{ YDVAR(1, VAR_DLV_ANCHOR) }
        YY_BREAK
  case 170:
  YY_RULE_SETUP
  #line 384 "./util/configlexer.lex"
--{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
++{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
        YY_BREAK
  case 171:
  YY_RULE_SETUP
  #line 385 "./util/configlexer.lex"
--{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
++{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
        YY_BREAK
  case 172:
  YY_RULE_SETUP
  #line 386 "./util/configlexer.lex"
--{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
++{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
        YY_BREAK
  case 173:
  YY_RULE_SETUP
  #line 387 "./util/configlexer.lex"
--{ YDVAR(1, VAR_TRUST_ANCHOR) }
++{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
        YY_BREAK
  case 174:
  YY_RULE_SETUP
  #line 388 "./util/configlexer.lex"
--{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
++{ YDVAR(1, VAR_TRUST_ANCHOR) }
        YY_BREAK
  case 175:
  YY_RULE_SETUP
  #line 389 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
++{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
        YY_BREAK
  case 176:
  YY_RULE_SETUP
  #line 390 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
++{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
        YY_BREAK
  case 177:
  YY_RULE_SETUP
  #line 391 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
++{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
        YY_BREAK
  case 178:
  YY_RULE_SETUP
  #line 392 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
++{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
        YY_BREAK
  case 179:
  YY_RULE_SETUP
  #line 393 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_MAX_RESTART) }
++{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
        YY_BREAK
  case 180:
  YY_RULE_SETUP
  #line 394 "./util/configlexer.lex"
--{ YDVAR(1, VAR_BOGUS_TTL) }
++{ YDVAR(1, VAR_VAL_MAX_RESTART) }
        YY_BREAK
  case 181:
  YY_RULE_SETUP
  #line 395 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
++{ YDVAR(1, VAR_BOGUS_TTL) }
        YY_BREAK
  case 182:
  YY_RULE_SETUP
  #line 396 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
++{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
        YY_BREAK
  case 183:
  YY_RULE_SETUP
  #line 397 "./util/configlexer.lex"
--{ YDVAR(1, VAR_AGGRESSIVE_NSEC) }
++{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
        YY_BREAK
  case 184:
  YY_RULE_SETUP
  #line 398 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
++{ YDVAR(1, VAR_AGGRESSIVE_NSEC) }
        YY_BREAK
  case 185:
  YY_RULE_SETUP
  #line 399 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_EXPIRED) }
++{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
        YY_BREAK
  case 186:
  YY_RULE_SETUP
  #line 400 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
++{ YDVAR(1, VAR_SERVE_EXPIRED) }
        YY_BREAK
  case 187:
  YY_RULE_SETUP
  #line 401 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
++{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
        YY_BREAK
  case 188:
  YY_RULE_SETUP
  #line 402 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
++{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
        YY_BREAK
  case 189:
  YY_RULE_SETUP
  #line 403 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
++{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
        YY_BREAK
  case 190:
  YY_RULE_SETUP
  #line 404 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
++{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
        YY_BREAK
  case 191:
  YY_RULE_SETUP
  #line 405 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FAKE_DSA) }
++{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
        YY_BREAK
  case 192:
  YY_RULE_SETUP
  #line 406 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FAKE_SHA1) }
++{ YDVAR(1, VAR_FAKE_DSA) }
        YY_BREAK
  case 193:
  YY_RULE_SETUP
  #line 407 "./util/configlexer.lex"
--{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
++{ YDVAR(1, VAR_FAKE_SHA1) }
        YY_BREAK
  case 194:
  YY_RULE_SETUP
  #line 408 "./util/configlexer.lex"
--{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
++{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
        YY_BREAK
  case 195:
  YY_RULE_SETUP
  #line 409 "./util/configlexer.lex"
--{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
++{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
        YY_BREAK
  case 196:
  YY_RULE_SETUP
  #line 410 "./util/configlexer.lex"
--{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
++{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
        YY_BREAK
  case 197:
  YY_RULE_SETUP
  #line 411 "./util/configlexer.lex"
--{ 
--                                YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
++{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
        YY_BREAK
  case 198:
  YY_RULE_SETUP
--#line 413 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
++#line 412 "./util/configlexer.lex"
++{ 
++                                YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
        YY_BREAK
  case 199:
  YY_RULE_SETUP
  #line 414 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ZONEMD_CHECK) }
++{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
        YY_BREAK
  case 200:
  YY_RULE_SETUP
  #line 415 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
++{ YDVAR(1, VAR_ZONEMD_CHECK) }
        YY_BREAK
  case 201:
  YY_RULE_SETUP
  #line 416 "./util/configlexer.lex"
--{ YDVAR(1, VAR_ADD_HOLDDOWN) }
++{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
        YY_BREAK
  case 202:
  YY_RULE_SETUP
  #line 417 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DEL_HOLDDOWN) }
++{ YDVAR(1, VAR_ADD_HOLDDOWN) }
        YY_BREAK
  case 203:
  YY_RULE_SETUP
  #line 418 "./util/configlexer.lex"
--{ YDVAR(1, VAR_KEEP_MISSING) }
++{ YDVAR(1, VAR_DEL_HOLDDOWN) }
        YY_BREAK
  case 204:
  YY_RULE_SETUP
  #line 419 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
++{ YDVAR(1, VAR_KEEP_MISSING) }
        YY_BREAK
  case 205:
  YY_RULE_SETUP
  #line 420 "./util/configlexer.lex"
--{ YDVAR(1, VAR_USE_SYSLOG) }
++{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
        YY_BREAK
  case 206:
  YY_RULE_SETUP
  #line 421 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_IDENTITY) }
++{ YDVAR(1, VAR_USE_SYSLOG) }
        YY_BREAK
  case 207:
  YY_RULE_SETUP
  #line 422 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_TIME_ASCII) }
++{ YDVAR(1, VAR_LOG_IDENTITY) }
        YY_BREAK
  case 208:
  YY_RULE_SETUP
  #line 423 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_QUERIES) }
++{ YDVAR(1, VAR_LOG_TIME_ASCII) }
        YY_BREAK
  case 209:
  YY_RULE_SETUP
  #line 424 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_REPLIES) }
++{ YDVAR(1, VAR_LOG_QUERIES) }
        YY_BREAK
  case 210:
  YY_RULE_SETUP
  #line 425 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
++{ YDVAR(1, VAR_LOG_REPLIES) }
        YY_BREAK
  case 211:
  YY_RULE_SETUP
  #line 426 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
++{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
        YY_BREAK
  case 212:
  YY_RULE_SETUP
  #line 427 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOG_SERVFAIL) }
++{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
        YY_BREAK
  case 213:
  YY_RULE_SETUP
  #line 428 "./util/configlexer.lex"
--{ YDVAR(2, VAR_LOCAL_ZONE) }
++{ YDVAR(1, VAR_LOG_SERVFAIL) }
        YY_BREAK
  case 214:
  YY_RULE_SETUP
  #line 429 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOCAL_DATA) }
++{ YDVAR(2, VAR_LOCAL_ZONE) }
        YY_BREAK
  case 215:
  YY_RULE_SETUP
  #line 430 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
++{ YDVAR(1, VAR_LOCAL_DATA) }
        YY_BREAK
  case 216:
  YY_RULE_SETUP
  #line 431 "./util/configlexer.lex"
--{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
++{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
        YY_BREAK
  case 217:
  YY_RULE_SETUP
  #line 432 "./util/configlexer.lex"
--{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
++{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
        YY_BREAK
  case 218:
  YY_RULE_SETUP
  #line 433 "./util/configlexer.lex"
--{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
++{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
        YY_BREAK
  case 219:
  YY_RULE_SETUP
  #line 434 "./util/configlexer.lex"
--{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
++{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
        YY_BREAK
  case 220:
  YY_RULE_SETUP
  #line 435 "./util/configlexer.lex"
--{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
++{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
        YY_BREAK
  case 221:
  YY_RULE_SETUP
  #line 436 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SHM_ENABLE) }
++{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
        YY_BREAK
  case 222:
  YY_RULE_SETUP
  #line 437 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SHM_KEY) }
++{ YDVAR(1, VAR_SHM_ENABLE) }
        YY_BREAK
  case 223:
  YY_RULE_SETUP
  #line 438 "./util/configlexer.lex"
--{ YDVAR(0, VAR_REMOTE_CONTROL) }
++{ YDVAR(1, VAR_SHM_KEY) }
        YY_BREAK
  case 224:
  YY_RULE_SETUP
  #line 439 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_ENABLE) }
++{ YDVAR(0, VAR_REMOTE_CONTROL) }
        YY_BREAK
  case 225:
  YY_RULE_SETUP
  #line 440 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_INTERFACE) }
++{ YDVAR(1, VAR_CONTROL_ENABLE) }
        YY_BREAK
  case 226:
  YY_RULE_SETUP
  #line 441 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_PORT) }
++{ YDVAR(1, VAR_CONTROL_INTERFACE) }
        YY_BREAK
  case 227:
  YY_RULE_SETUP
  #line 442 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_USE_CERT) }
++{ YDVAR(1, VAR_CONTROL_PORT) }
        YY_BREAK
  case 228:
  YY_RULE_SETUP
  #line 443 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVER_KEY_FILE) }
++{ YDVAR(1, VAR_CONTROL_USE_CERT) }
        YY_BREAK
  case 229:
  YY_RULE_SETUP
  #line 444 "./util/configlexer.lex"
--{ YDVAR(1, VAR_SERVER_CERT_FILE) }
++{ YDVAR(1, VAR_SERVER_KEY_FILE) }
        YY_BREAK
  case 230:
  YY_RULE_SETUP
  #line 445 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
++{ YDVAR(1, VAR_SERVER_CERT_FILE) }
        YY_BREAK
  case 231:
  YY_RULE_SETUP
  #line 446 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
++{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
        YY_BREAK
  case 232:
  YY_RULE_SETUP
  #line 447 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PYTHON_SCRIPT) }
++{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
        YY_BREAK
  case 233:
  YY_RULE_SETUP
  #line 448 "./util/configlexer.lex"
--{ YDVAR(0, VAR_PYTHON) }
++{ YDVAR(1, VAR_PYTHON_SCRIPT) }
        YY_BREAK
  case 234:
  YY_RULE_SETUP
  #line 449 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DYNLIB_FILE) }
++{ YDVAR(0, VAR_PYTHON) }
        YY_BREAK
  case 235:
  YY_RULE_SETUP
  #line 450 "./util/configlexer.lex"
--{ YDVAR(0, VAR_DYNLIB) }
++{ YDVAR(1, VAR_DYNLIB_FILE) }
        YY_BREAK
  case 236:
  YY_RULE_SETUP
  #line 451 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DOMAIN_INSECURE) }
++{ YDVAR(0, VAR_DYNLIB) }
        YY_BREAK
  case 237:
  YY_RULE_SETUP
  #line 452 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
++{ YDVAR(1, VAR_DOMAIN_INSECURE) }
        YY_BREAK
  case 238:
  YY_RULE_SETUP
  #line 453 "./util/configlexer.lex"
--{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
++{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
        YY_BREAK
  case 239:
  YY_RULE_SETUP
  #line 454 "./util/configlexer.lex"
--{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
++{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
        YY_BREAK
  case 240:
  YY_RULE_SETUP
  #line 455 "./util/configlexer.lex"
--{ YDVAR(1, VAR_MAX_UDP_SIZE) }
++{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
        YY_BREAK
  case 241:
  YY_RULE_SETUP
  #line 456 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNS64_PREFIX) }
++{ YDVAR(1, VAR_MAX_UDP_SIZE) }
        YY_BREAK
  case 242:
  YY_RULE_SETUP
  #line 457 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNS64_SYNTHALL) }
++{ YDVAR(1, VAR_DNS64_PREFIX) }
        YY_BREAK
  case 243:
  YY_RULE_SETUP
  #line 458 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
++{ YDVAR(1, VAR_DNS64_SYNTHALL) }
        YY_BREAK
  case 244:
  YY_RULE_SETUP
  #line 459 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DEFINE_TAG) }
++{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
        YY_BREAK
  case 245:
  YY_RULE_SETUP
  #line 460 "./util/configlexer.lex"
--{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
++{ YDVAR(1, VAR_DEFINE_TAG) }
        YY_BREAK
  case 246:
  YY_RULE_SETUP
  #line 461 "./util/configlexer.lex"
--{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
++{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
        YY_BREAK
  case 247:
  YY_RULE_SETUP
  #line 462 "./util/configlexer.lex"
--{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
++{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
        YY_BREAK
  case 248:
  YY_RULE_SETUP
  #line 463 "./util/configlexer.lex"
--{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
++{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
        YY_BREAK
  case 249:
  YY_RULE_SETUP
  #line 464 "./util/configlexer.lex"
--{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
++{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
        YY_BREAK
  case 250:
  YY_RULE_SETUP
  #line 465 "./util/configlexer.lex"
--{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
++{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
        YY_BREAK
  case 251:
  YY_RULE_SETUP
  #line 466 "./util/configlexer.lex"
--{ YDVAR(0, VAR_DNSTAP) }
++{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
        YY_BREAK
  case 252:
  YY_RULE_SETUP
  #line 467 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_ENABLE) }
++{ YDVAR(0, VAR_DNSTAP) }
        YY_BREAK
  case 253:
  YY_RULE_SETUP
  #line 468 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
++{ YDVAR(1, VAR_DNSTAP_ENABLE) }
        YY_BREAK
  case 254:
  YY_RULE_SETUP
  #line 469 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
++{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
        YY_BREAK
  case 255:
  YY_RULE_SETUP
  #line 470 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_IP) }
++{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
        YY_BREAK
  case 256:
  YY_RULE_SETUP
  #line 471 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_TLS) }
++{ YDVAR(1, VAR_DNSTAP_IP) }
        YY_BREAK
  case 257:
  YY_RULE_SETUP
  #line 472 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
++{ YDVAR(1, VAR_DNSTAP_TLS) }
        YY_BREAK
  case 258:
  YY_RULE_SETUP
  #line 473 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
++{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
        YY_BREAK
  case 259:
  YY_RULE_SETUP
  #line 474 "./util/configlexer.lex"
--{
--              YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
++{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
        YY_BREAK
  case 260:
  YY_RULE_SETUP
--#line 476 "./util/configlexer.lex"
++#line 475 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
++              YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
        YY_BREAK
  case 261:
  YY_RULE_SETUP
--#line 478 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
++#line 477 "./util/configlexer.lex"
++{
++              YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
        YY_BREAK
  case 262:
  YY_RULE_SETUP
  #line 479 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
++{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
        YY_BREAK
  case 263:
  YY_RULE_SETUP
  #line 480 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
++{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
        YY_BREAK
  case 264:
  YY_RULE_SETUP
  #line 481 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSTAP_VERSION) }
++{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
        YY_BREAK
  case 265:
  YY_RULE_SETUP
  #line 482 "./util/configlexer.lex"
--{
--              YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
++{ YDVAR(1, VAR_DNSTAP_VERSION) }
        YY_BREAK
  case 266:
  YY_RULE_SETUP
--#line 484 "./util/configlexer.lex"
++#line 483 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
++              YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
        YY_BREAK
  case 267:
  YY_RULE_SETUP
--#line 486 "./util/configlexer.lex"
++#line 485 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
++              YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
        YY_BREAK
  case 268:
  YY_RULE_SETUP
--#line 488 "./util/configlexer.lex"
++#line 487 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
++              YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
        YY_BREAK
  case 269:
  YY_RULE_SETUP
--#line 490 "./util/configlexer.lex"
++#line 489 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
++              YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
        YY_BREAK
  case 270:
  YY_RULE_SETUP
--#line 492 "./util/configlexer.lex"
++#line 491 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
++              YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
        YY_BREAK
  case 271:
  YY_RULE_SETUP
--#line 494 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
++#line 493 "./util/configlexer.lex"
++{
++              YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
        YY_BREAK
  case 272:
  YY_RULE_SETUP
  #line 495 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IP_RATELIMIT) }
++{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
        YY_BREAK
  case 273:
  YY_RULE_SETUP
  #line 496 "./util/configlexer.lex"
--{ YDVAR(1, VAR_RATELIMIT) }
++{ YDVAR(1, VAR_IP_RATELIMIT) }
        YY_BREAK
  case 274:
  YY_RULE_SETUP
  #line 497 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
++{ YDVAR(1, VAR_RATELIMIT) }
        YY_BREAK
  case 275:
  YY_RULE_SETUP
  #line 498 "./util/configlexer.lex"
--{ YDVAR(1, VAR_RATELIMIT_SLABS) }
++{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
        YY_BREAK
  case 276:
  YY_RULE_SETUP
  #line 499 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
++{ YDVAR(1, VAR_RATELIMIT_SLABS) }
        YY_BREAK
  case 277:
  YY_RULE_SETUP
  #line 500 "./util/configlexer.lex"
--{ YDVAR(1, VAR_RATELIMIT_SIZE) }
++{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
        YY_BREAK
  case 278:
  YY_RULE_SETUP
  #line 501 "./util/configlexer.lex"
--{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
++{ YDVAR(1, VAR_RATELIMIT_SIZE) }
        YY_BREAK
  case 279:
  YY_RULE_SETUP
  #line 502 "./util/configlexer.lex"
--{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
++{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
        YY_BREAK
  case 280:
  YY_RULE_SETUP
  #line 503 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
++{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
        YY_BREAK
  case 281:
  YY_RULE_SETUP
  #line 504 "./util/configlexer.lex"
--{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
++{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
        YY_BREAK
  case 282:
  YY_RULE_SETUP
  #line 505 "./util/configlexer.lex"
--{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
++{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
        YY_BREAK
  case 283:
  YY_RULE_SETUP
  #line 506 "./util/configlexer.lex"
--{ YDVAR(1, VAR_LOW_RTT) }
++{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
        YY_BREAK
  case 284:
  YY_RULE_SETUP
  #line 507 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FAST_SERVER_NUM) }
++{ YDVAR(1, VAR_LOW_RTT) }
        YY_BREAK
  case 285:
  YY_RULE_SETUP
  #line 508 "./util/configlexer.lex"
--{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
++{ YDVAR(1, VAR_FAST_SERVER_NUM) }
        YY_BREAK
  case 286:
  YY_RULE_SETUP
@@@ -5086,119 -5076,119 +5106,119 @@@ YY_RULE_SETU
  case 288:
  YY_RULE_SETUP
  #line 511 "./util/configlexer.lex"
--{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
++{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
        YY_BREAK
  case 289:
  YY_RULE_SETUP
  #line 512 "./util/configlexer.lex"
--{ YDVAR(2, VAR_RESPONSE_IP) }
++{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
        YY_BREAK
  case 290:
  YY_RULE_SETUP
  #line 513 "./util/configlexer.lex"
--{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
++{ YDVAR(2, VAR_RESPONSE_IP) }
        YY_BREAK
  case 291:
  YY_RULE_SETUP
  #line 514 "./util/configlexer.lex"
--{ YDVAR(0, VAR_DNSCRYPT) }
++{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
        YY_BREAK
  case 292:
  YY_RULE_SETUP
  #line 515 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
++{ YDVAR(0, VAR_DNSCRYPT) }
        YY_BREAK
  case 293:
  YY_RULE_SETUP
  #line 516 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_PORT) }
++{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
        YY_BREAK
  case 294:
  YY_RULE_SETUP
  #line 517 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
++{ YDVAR(1, VAR_DNSCRYPT_PORT) }
        YY_BREAK
  case 295:
  YY_RULE_SETUP
  #line 518 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
++{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
        YY_BREAK
  case 296:
  YY_RULE_SETUP
  #line 519 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
++{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
        YY_BREAK
  case 297:
  YY_RULE_SETUP
  #line 520 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
++{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
        YY_BREAK
  case 298:
  YY_RULE_SETUP
  #line 521 "./util/configlexer.lex"
--{
--              YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
++{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
        YY_BREAK
  case 299:
  YY_RULE_SETUP
--#line 523 "./util/configlexer.lex"
++#line 522 "./util/configlexer.lex"
  {
--              YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
++              YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
        YY_BREAK
  case 300:
  YY_RULE_SETUP
--#line 525 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
++#line 524 "./util/configlexer.lex"
++{
++              YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
        YY_BREAK
  case 301:
  YY_RULE_SETUP
  #line 526 "./util/configlexer.lex"
--{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
++{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
        YY_BREAK
  case 302:
  YY_RULE_SETUP
  #line 527 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PAD_RESPONSES) }
++{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
        YY_BREAK
  case 303:
  YY_RULE_SETUP
  #line 528 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
++{ YDVAR(1, VAR_PAD_RESPONSES) }
        YY_BREAK
  case 304:
  YY_RULE_SETUP
  #line 529 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PAD_QUERIES) }
++{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
        YY_BREAK
  case 305:
  YY_RULE_SETUP
  #line 530 "./util/configlexer.lex"
--{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
++{ YDVAR(1, VAR_PAD_QUERIES) }
        YY_BREAK
  case 306:
  YY_RULE_SETUP
  #line 531 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
++{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
        YY_BREAK
  case 307:
  YY_RULE_SETUP
  #line 532 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
++{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
        YY_BREAK
  case 308:
  YY_RULE_SETUP
  #line 533 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_HOOK) }
++{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
        YY_BREAK
  case 309:
  YY_RULE_SETUP
  #line 534 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
++{ YDVAR(1, VAR_IPSECMOD_HOOK) }
        YY_BREAK
  case 310:
  YY_RULE_SETUP
  #line 535 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
++{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
        YY_BREAK
  case 311:
  YY_RULE_SETUP
  case 312:
  YY_RULE_SETUP
  #line 537 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSECMOD_STRICT) }
++{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
        YY_BREAK
  case 313:
  YY_RULE_SETUP
  #line 538 "./util/configlexer.lex"
--{ YDVAR(0, VAR_CACHEDB) }
++{ YDVAR(1, VAR_IPSECMOD_STRICT) }
        YY_BREAK
  case 314:
  YY_RULE_SETUP
  #line 539 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_BACKEND) }
++{ YDVAR(0, VAR_CACHEDB) }
        YY_BREAK
  case 315:
  YY_RULE_SETUP
  #line 540 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
++{ YDVAR(1, VAR_CACHEDB_BACKEND) }
        YY_BREAK
  case 316:
  YY_RULE_SETUP
  #line 541 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
++{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
        YY_BREAK
  case 317:
  YY_RULE_SETUP
  #line 542 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
++{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
        YY_BREAK
  case 318:
  YY_RULE_SETUP
  #line 543 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
++{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
        YY_BREAK
  case 319:
  YY_RULE_SETUP
  #line 544 "./util/configlexer.lex"
--{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
++{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
        YY_BREAK
  case 320:
  YY_RULE_SETUP
  #line 545 "./util/configlexer.lex"
--{ YDVAR(0, VAR_IPSET) }
++{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
        YY_BREAK
  case 321:
  YY_RULE_SETUP
  #line 546 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSET_NAME_V4) }
++{ YDVAR(0, VAR_IPSET) }
        YY_BREAK
  case 322:
  YY_RULE_SETUP
  #line 547 "./util/configlexer.lex"
--{ YDVAR(1, VAR_IPSET_NAME_V6) }
++{ YDVAR(1, VAR_IPSET_NAME_V4) }
        YY_BREAK
  case 323:
  YY_RULE_SETUP
  #line 548 "./util/configlexer.lex"
--{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
++{ YDVAR(1, VAR_IPSET_NAME_V6) }
        YY_BREAK
  case 324:
  YY_RULE_SETUP
  #line 549 "./util/configlexer.lex"
--{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
++{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
        YY_BREAK
  case 325:
  YY_RULE_SETUP
  #line 550 "./util/configlexer.lex"
--{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
++{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
        YY_BREAK
  case 326:
  YY_RULE_SETUP
  #line 551 "./util/configlexer.lex"
--{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
++{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
        YY_BREAK
  case 327:
  YY_RULE_SETUP
  #line 552 "./util/configlexer.lex"
--{ YDVAR(1, VAR_NSID ) }
++{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
        YY_BREAK
  case 328:
 -/* rule 328 can match eol */
  YY_RULE_SETUP
  #line 553 "./util/configlexer.lex"
- { YDVAR(2, VAR_LOCAL_DATA_DO_EDE) }
 -{ LEXOUT(("NL\n")); cfg_parser->line++; }
++{ YDVAR(1, VAR_NSID ) }
        YY_BREAK
 -/* Quoted strings. Strip leading and ending quotes */
  case 329:
  YY_RULE_SETUP
- { YDVAR(2, VAR_LOCAL_ZONE_DEFAULT_EDE)}
 +#line 554 "./util/configlexer.lex"
- { YDVAR(1, VAR_EDE_LOCAL_ZONES) }
++{ YDVAR(2, VAR_LOCAL_DATA_DO_EDE) }
 +      YY_BREAK
 +case 330:
 +YY_RULE_SETUP
 +#line 555 "./util/configlexer.lex"
- /* rule 331 can match eol */
++{ YDVAR(2, VAR_LOCAL_ZONE_DEFAULT_EDE)}
 +      YY_BREAK
 +case 331:
 +YY_RULE_SETUP
  #line 556 "./util/configlexer.lex"
- case 332:
++{ YDVAR(1, VAR_EDE_LOCAL_ZONES) }
++      YY_BREAK
++case 332:
++/* rule 332 can match eol */
++YY_RULE_SETUP
++#line 557 "./util/configlexer.lex"
 +{ LEXOUT(("NL\n")); cfg_parser->line++; }
 +      YY_BREAK
 +/* Quoted strings. Strip leading and ending quotes */
- #line 559 "./util/configlexer.lex"
++case 333:
 +YY_RULE_SETUP
++#line 560 "./util/configlexer.lex"
  { BEGIN(quotedstring); LEXOUT(("QS ")); }
        YY_BREAK
  case YY_STATE_EOF(quotedstring):
- #line 560 "./util/configlexer.lex"
 -#line 557 "./util/configlexer.lex"
++#line 561 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
  }
        YY_BREAK
- case 333:
 -case 330:
++case 334:
  YY_RULE_SETUP
- #line 565 "./util/configlexer.lex"
 -#line 562 "./util/configlexer.lex"
++#line 566 "./util/configlexer.lex"
  { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 334:
- /* rule 334 can match eol */
 -case 331:
 -/* rule 331 can match eol */
++case 335:
++/* rule 335 can match eol */
  YY_RULE_SETUP
- #line 566 "./util/configlexer.lex"
 -#line 563 "./util/configlexer.lex"
++#line 567 "./util/configlexer.lex"
  { yyerror("newline inside quoted string, no end \""); 
                          cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
- case 335:
 -case 332:
++case 336:
  YY_RULE_SETUP
- #line 568 "./util/configlexer.lex"
 -#line 565 "./util/configlexer.lex"
++#line 569 "./util/configlexer.lex"
  {
          LEXOUT(("QE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
  }
        YY_BREAK
  /* Single Quoted strings. Strip leading and ending quotes */
- case 336:
 -case 333:
++case 337:
  YY_RULE_SETUP
- #line 580 "./util/configlexer.lex"
 -#line 577 "./util/configlexer.lex"
++#line 581 "./util/configlexer.lex"
  { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
        YY_BREAK
  case YY_STATE_EOF(singlequotedstr):
- #line 581 "./util/configlexer.lex"
 -#line 578 "./util/configlexer.lex"
++#line 582 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
  }
        YY_BREAK
- case 337:
 -case 334:
++case 338:
  YY_RULE_SETUP
- #line 586 "./util/configlexer.lex"
 -#line 583 "./util/configlexer.lex"
++#line 587 "./util/configlexer.lex"
  { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 338:
- /* rule 338 can match eol */
 -case 335:
 -/* rule 335 can match eol */
++case 339:
++/* rule 339 can match eol */
  YY_RULE_SETUP
- #line 587 "./util/configlexer.lex"
 -#line 584 "./util/configlexer.lex"
++#line 588 "./util/configlexer.lex"
  { yyerror("newline inside quoted string, no end '"); 
                             cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
- case 339:
 -case 336:
++case 340:
  YY_RULE_SETUP
- #line 589 "./util/configlexer.lex"
 -#line 586 "./util/configlexer.lex"
++#line 590 "./util/configlexer.lex"
  {
          LEXOUT(("SQE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
  }
        YY_BREAK
  /* include: directive */
- case 340:
 -case 337:
++case 341:
  YY_RULE_SETUP
- #line 601 "./util/configlexer.lex"
 -#line 598 "./util/configlexer.lex"
++#line 602 "./util/configlexer.lex"
  { 
        LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
        YY_BREAK
  case YY_STATE_EOF(include):
- #line 603 "./util/configlexer.lex"
 -#line 600 "./util/configlexer.lex"
++#line 604 "./util/configlexer.lex"
  {
          yyerror("EOF inside include directive");
          BEGIN(inc_prev);
  }
        YY_BREAK
- case 341:
- YY_RULE_SETUP
- #line 607 "./util/configlexer.lex"
- { LEXOUT(("ISP ")); /* ignore */ }
-       YY_BREAK
 -case 338:
 +case 342:
- /* rule 342 can match eol */
  YY_RULE_SETUP
 -#line 604 "./util/configlexer.lex"
 +#line 608 "./util/configlexer.lex"
- { LEXOUT(("NL\n")); cfg_parser->line++;}
+ { LEXOUT(("ISP ")); /* ignore */ }
        YY_BREAK
 -case 339:
 -/* rule 339 can match eol */
 +case 343:
++/* rule 343 can match eol */
  YY_RULE_SETUP
 -#line 605 "./util/configlexer.lex"
 +#line 609 "./util/configlexer.lex"
- { LEXOUT(("IQS ")); BEGIN(include_quoted); }
+ { LEXOUT(("NL\n")); cfg_parser->line++;}
        YY_BREAK
 -case 340:
 +case 344:
  YY_RULE_SETUP
 -#line 606 "./util/configlexer.lex"
 +#line 610 "./util/configlexer.lex"
+ { LEXOUT(("IQS ")); BEGIN(include_quoted); }
+       YY_BREAK
 -case 341:
++case 345:
+ YY_RULE_SETUP
 -#line 607 "./util/configlexer.lex"
++#line 611 "./util/configlexer.lex"
  {
        LEXOUT(("Iunquotedstr(%s) ", yytext));
        config_start_include_glob(yytext, 0);
  }
        YY_BREAK
  case YY_STATE_EOF(include_quoted):
- #line 615 "./util/configlexer.lex"
 -#line 612 "./util/configlexer.lex"
++#line 616 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
          BEGIN(inc_prev);
  }
        YY_BREAK
- case 345:
 -case 342:
++case 346:
  YY_RULE_SETUP
- #line 619 "./util/configlexer.lex"
 -#line 616 "./util/configlexer.lex"
++#line 620 "./util/configlexer.lex"
  { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 346:
- /* rule 346 can match eol */
 -case 343:
 -/* rule 343 can match eol */
++case 347:
++/* rule 347 can match eol */
  YY_RULE_SETUP
- #line 620 "./util/configlexer.lex"
 -#line 617 "./util/configlexer.lex"
++#line 621 "./util/configlexer.lex"
  { yyerror("newline before \" in include name"); 
                                  cfg_parser->line++; BEGIN(inc_prev); }
        YY_BREAK
- case 347:
 -case 344:
++case 348:
  YY_RULE_SETUP
- #line 622 "./util/configlexer.lex"
 -#line 619 "./util/configlexer.lex"
++#line 623 "./util/configlexer.lex"
  {
        LEXOUT(("IQE "));
        yytext[yyleng - 1] = '\0';
        YY_BREAK
  case YY_STATE_EOF(INITIAL):
  case YY_STATE_EOF(val):
- #line 628 "./util/configlexer.lex"
 -#line 625 "./util/configlexer.lex"
++#line 629 "./util/configlexer.lex"
  {
        LEXOUT(("LEXEOF "));
        yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
  }
        YY_BREAK
  /* include-toplevel: directive */
- case 348:
 -case 345:
++case 349:
  YY_RULE_SETUP
- #line 642 "./util/configlexer.lex"
 -#line 639 "./util/configlexer.lex"
++#line 643 "./util/configlexer.lex"
  {
        LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
  }
        YY_BREAK
  case YY_STATE_EOF(include_toplevel):
- #line 645 "./util/configlexer.lex"
 -#line 642 "./util/configlexer.lex"
++#line 646 "./util/configlexer.lex"
  {
        yyerror("EOF inside include_toplevel directive");
        BEGIN(inc_prev);
  }
        YY_BREAK
- case 349:
- YY_RULE_SETUP
- #line 649 "./util/configlexer.lex"
- { LEXOUT(("ITSP ")); /* ignore */ }
-       YY_BREAK
 -case 346:
 +case 350:
- /* rule 350 can match eol */
  YY_RULE_SETUP
 -#line 646 "./util/configlexer.lex"
 +#line 650 "./util/configlexer.lex"
- { LEXOUT(("NL\n")); cfg_parser->line++; }
+ { LEXOUT(("ITSP ")); /* ignore */ }
        YY_BREAK
 -case 347:
 -/* rule 347 can match eol */
 +case 351:
++/* rule 351 can match eol */
  YY_RULE_SETUP
 -#line 647 "./util/configlexer.lex"
 +#line 651 "./util/configlexer.lex"
- { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
+ { LEXOUT(("NL\n")); cfg_parser->line++; }
        YY_BREAK
 -case 348:
 +case 352:
  YY_RULE_SETUP
 -#line 648 "./util/configlexer.lex"
 +#line 652 "./util/configlexer.lex"
+ { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
+       YY_BREAK
 -case 349:
++case 353:
+ YY_RULE_SETUP
 -#line 649 "./util/configlexer.lex"
++#line 653 "./util/configlexer.lex"
  {
        LEXOUT(("ITunquotedstr(%s) ", yytext));
        config_start_include_glob(yytext, 1);
  }
        YY_BREAK
  case YY_STATE_EOF(include_toplevel_quoted):
- #line 658 "./util/configlexer.lex"
 -#line 655 "./util/configlexer.lex"
++#line 659 "./util/configlexer.lex"
  {
        yyerror("EOF inside quoted string");
        BEGIN(inc_prev);
  }
        YY_BREAK
- case 353:
 -case 350:
++case 354:
  YY_RULE_SETUP
- #line 662 "./util/configlexer.lex"
 -#line 659 "./util/configlexer.lex"
++#line 663 "./util/configlexer.lex"
  { LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 354:
- /* rule 354 can match eol */
 -case 351:
 -/* rule 351 can match eol */
++case 355:
++/* rule 355 can match eol */
  YY_RULE_SETUP
- #line 663 "./util/configlexer.lex"
 -#line 660 "./util/configlexer.lex"
++#line 664 "./util/configlexer.lex"
  {
        yyerror("newline before \" in include name");
        cfg_parser->line++; BEGIN(inc_prev);
  }
        YY_BREAK
- case 355:
 -case 352:
++case 356:
  YY_RULE_SETUP
- #line 667 "./util/configlexer.lex"
 -#line 664 "./util/configlexer.lex"
++#line 668 "./util/configlexer.lex"
  {
        LEXOUT(("ITQE "));
        yytext[yyleng - 1] = '\0';
        return (VAR_FORCE_TOPLEVEL);
  }
        YY_BREAK
- case 356:
 -case 353:
++case 357:
  YY_RULE_SETUP
- #line 675 "./util/configlexer.lex"
 -#line 672 "./util/configlexer.lex"
++#line 676 "./util/configlexer.lex"
  { LEXOUT(("unquotedstr(%s) ", yytext)); 
                        if(--num_args == 0) { BEGIN(INITIAL); }
                        yylval.str = strdup(yytext); return STRING_ARG; }
        YY_BREAK
- case 357:
 -case 354:
++case 358:
  YY_RULE_SETUP
- #line 679 "./util/configlexer.lex"
 -#line 676 "./util/configlexer.lex"
++#line 680 "./util/configlexer.lex"
  {
        ub_c_error_msg("unknown keyword '%s'", yytext);
        }
        YY_BREAK
- case 358:
 -case 355:
++case 359:
  YY_RULE_SETUP
- #line 683 "./util/configlexer.lex"
 -#line 680 "./util/configlexer.lex"
++#line 684 "./util/configlexer.lex"
  {
        ub_c_error_msg("stray '%s'", yytext);
        }
        YY_BREAK
- case 359:
 -case 356:
++case 360:
  YY_RULE_SETUP
- #line 687 "./util/configlexer.lex"
 -#line 684 "./util/configlexer.lex"
++#line 688 "./util/configlexer.lex"
  ECHO;
        YY_BREAK
- #line 5571 "<stdout>"
 -#line 5545 "<stdout>"
++#line 5596 "<stdout>"
  
        case YY_END_OF_BUFFER:
                {
@@@ -5859,10 -5839,10 +5889,10 @@@ static int yy_get_next_buffer (void
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 3563 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
 -                      if ( yy_current_state >= 3543 )
++                      if ( yy_current_state >= 3582 )
+                               yy_c = yy_meta[yy_c];
                        }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+               yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                }
  
        return yy_current_state;
        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 >= 3563 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
 -              if ( yy_current_state >= 3543 )
++              if ( yy_current_state >= 3582 )
+                       yy_c = yy_meta[yy_c];
                }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 3562);
+       yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 -      yy_is_jam = (yy_current_state == 3542);
++      yy_is_jam = (yy_current_state == 3581);
  
-       return yy_is_jam ? 0 : yy_current_state;
+               return yy_is_jam ? 0 : yy_current_state;
  }
  
+ #ifndef YY_NO_UNPUT
+ #endif
  #ifndef YY_NO_INPUT
  #ifdef __cplusplus
      static int yyinput (void)
@@@ -6527,7 -6510,6 +6560,6 @@@ void yyfree (void * ptr 
  
  #define YYTABLES_NAME "yytables"
  
- #line 687 "./util/configlexer.lex"
 -#line 684 "./util/configlexer.lex"
++#line 688 "./util/configlexer.lex"
  
  
index 9ff114686d2ac396e6f21a1e2b0f5f6db6a496b5,4f6dfffbaf4e2542357965997626163736dd9398..53aa069da3d6f85d1d3026efe82fe49af92e8780
@@@ -347,7 -347,7 +347,8 @@@ rpz-action-override{COLON} { YDVAR(1, V
  rpz-cname-override{COLON}     { YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) }
  rpz-log{COLON}                        { YDVAR(1, VAR_RPZ_LOG) }
  rpz-log-name{COLON}           { YDVAR(1, VAR_RPZ_LOG_NAME) }
 +rpz-do-ede{COLON}             { YDVAR(1, VAR_RPZ_DO_EDE) }
+ rpz-signal-nxdomain-ra{COLON} { YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) }
  zonefile{COLON}                       { YDVAR(1, VAR_ZONEFILE) }
  master{COLON}                 { YDVAR(1, VAR_MASTER) }
  primary{COLON}                        { YDVAR(1, VAR_MASTER) }
index ef28be8ccca42a1d53975ca6499711c83c184188,fd072468a953a4bba7d1b61e07f8d560a7dbc423..2e2d870728c6f875b7768cf6319b10b41d808f72
@@@ -1,14 -1,14 +1,14 @@@
- /* A Bison parser, made by GNU Bison 2.3.  */
 -/* A Bison parser, made by GNU Bison 3.6.4.  */
++/* A Bison parser, made by GNU Bison 3.7.6.  */
  
- /* Skeleton implementation for Bison's Yacc-like parsers in C
+ /* Bison implementation for Yacc-like parsers in C
  
-    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-    Free Software Foundation, Inc.
 -   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
++   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+    Inc.
  
-    This program is free software; you can redistribute it and/or modify
+    This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2, or (at your option)
-    any later version.
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
  
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
@@@ -16,9 -16,7 +16,7 @@@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.  */
 -   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  
  /* As a special exception, you may create a larger work that contains
     part or all of the Bison parser skeleton and distribute that work
     define necessary library symbols; they are noted "INFRINGES ON
     USER NAME SPACE" below.  */
  
--/* Identify Bison output.  */
--#define YYBISON 1
++/* Identify Bison output, and Bison version.  */
++#define YYBISON 30706
  
--/* Bison version.  */
- #define YYBISON_VERSION "2.3"
 -#define YYBISON_VERSION "3.6.4"
++/* Bison version string.  */
++#define YYBISON_VERSION "3.7.6"
  
  /* Skeleton name.  */
  #define YYSKELETON_NAME "yacc.c"
@@@ -747,76 -96,1470 +96,802 @@@ extern struct config_parser_state* cfg_
  #endif
  
  
+ #line 100 "util/configparser.c"
  
- /* Enabling traces.  */
- #ifndef YYDEBUG
- # define YYDEBUG 0
- #endif
- /* Enabling verbose error messages.  */
- #ifdef YYERROR_VERBOSE
- # undef YYERROR_VERBOSE
- # define YYERROR_VERBOSE 1
- #else
- # define YYERROR_VERBOSE 0
- #endif
- /* Enabling the token table.  */
- #ifndef YYTOKEN_TABLE
- # define YYTOKEN_TABLE 0
- #endif
+ # ifndef YY_CAST
+ #  ifdef __cplusplus
+ #   define YY_CAST(Type, Val) static_cast<Type> (Val)
+ #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+ #  else
+ #   define YY_CAST(Type, Val) ((Type) (Val))
+ #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+ #  endif
+ # endif
+ # ifndef YY_NULLPTR
+ #  if defined __cplusplus
+ #   if 201103L <= __cplusplus
+ #    define YY_NULLPTR nullptr
+ #   else
+ #    define YY_NULLPTR 0
+ #   endif
+ #  else
+ #   define YY_NULLPTR ((void*)0)
+ #  endif
+ # endif
  
 -/* Use api.header.include to #include this header
 -   instead of duplicating it here.  */
 -#ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
 -# define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
 -/* Debug traces.  */
 -#ifndef YYDEBUG
 -# define YYDEBUG 0
 -#endif
 -#if YYDEBUG
 -extern int yydebug;
 -#endif
 -
 -/* Token kinds.  */
 -#ifndef YYTOKENTYPE
 -# define YYTOKENTYPE
 -  enum yytokentype
 -  {
 -    YYEMPTY = -2,
 -    YYEOF = 0,                     /* "end of file"  */
 -    YYerror = 256,                 /* error  */
 -    YYUNDEF = 257,                 /* "invalid token"  */
 -    SPACE = 258,                   /* SPACE  */
 -    LETTER = 259,                  /* LETTER  */
 -    NEWLINE = 260,                 /* NEWLINE  */
 -    COMMENT = 261,                 /* COMMENT  */
 -    COLON = 262,                   /* COLON  */
 -    ANY = 263,                     /* ANY  */
 -    ZONESTR = 264,                 /* ZONESTR  */
 -    STRING_ARG = 265,              /* STRING_ARG  */
 -    VAR_FORCE_TOPLEVEL = 266,      /* VAR_FORCE_TOPLEVEL  */
 -    VAR_SERVER = 267,              /* VAR_SERVER  */
 -    VAR_VERBOSITY = 268,           /* VAR_VERBOSITY  */
 -    VAR_NUM_THREADS = 269,         /* VAR_NUM_THREADS  */
 -    VAR_PORT = 270,                /* VAR_PORT  */
 -    VAR_OUTGOING_RANGE = 271,      /* VAR_OUTGOING_RANGE  */
 -    VAR_INTERFACE = 272,           /* VAR_INTERFACE  */
 -    VAR_PREFER_IP4 = 273,          /* VAR_PREFER_IP4  */
 -    VAR_DO_IP4 = 274,              /* VAR_DO_IP4  */
 -    VAR_DO_IP6 = 275,              /* VAR_DO_IP6  */
 -    VAR_PREFER_IP6 = 276,          /* VAR_PREFER_IP6  */
 -    VAR_DO_UDP = 277,              /* VAR_DO_UDP  */
 -    VAR_DO_TCP = 278,              /* VAR_DO_TCP  */
 -    VAR_TCP_MSS = 279,             /* VAR_TCP_MSS  */
 -    VAR_OUTGOING_TCP_MSS = 280,    /* VAR_OUTGOING_TCP_MSS  */
 -    VAR_TCP_IDLE_TIMEOUT = 281,    /* VAR_TCP_IDLE_TIMEOUT  */
 -    VAR_EDNS_TCP_KEEPALIVE = 282,  /* VAR_EDNS_TCP_KEEPALIVE  */
 -    VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT  */
 -    VAR_CHROOT = 284,              /* VAR_CHROOT  */
 -    VAR_USERNAME = 285,            /* VAR_USERNAME  */
 -    VAR_DIRECTORY = 286,           /* VAR_DIRECTORY  */
 -    VAR_LOGFILE = 287,             /* VAR_LOGFILE  */
 -    VAR_PIDFILE = 288,             /* VAR_PIDFILE  */
 -    VAR_MSG_CACHE_SIZE = 289,      /* VAR_MSG_CACHE_SIZE  */
 -    VAR_MSG_CACHE_SLABS = 290,     /* VAR_MSG_CACHE_SLABS  */
 -    VAR_NUM_QUERIES_PER_THREAD = 291, /* VAR_NUM_QUERIES_PER_THREAD  */
 -    VAR_RRSET_CACHE_SIZE = 292,    /* VAR_RRSET_CACHE_SIZE  */
 -    VAR_RRSET_CACHE_SLABS = 293,   /* VAR_RRSET_CACHE_SLABS  */
 -    VAR_OUTGOING_NUM_TCP = 294,    /* VAR_OUTGOING_NUM_TCP  */
 -    VAR_INFRA_HOST_TTL = 295,      /* VAR_INFRA_HOST_TTL  */
 -    VAR_INFRA_LAME_TTL = 296,      /* VAR_INFRA_LAME_TTL  */
 -    VAR_INFRA_CACHE_SLABS = 297,   /* VAR_INFRA_CACHE_SLABS  */
 -    VAR_INFRA_CACHE_NUMHOSTS = 298, /* VAR_INFRA_CACHE_NUMHOSTS  */
 -    VAR_INFRA_CACHE_LAME_SIZE = 299, /* VAR_INFRA_CACHE_LAME_SIZE  */
 -    VAR_NAME = 300,                /* VAR_NAME  */
 -    VAR_STUB_ZONE = 301,           /* VAR_STUB_ZONE  */
 -    VAR_STUB_HOST = 302,           /* VAR_STUB_HOST  */
 -    VAR_STUB_ADDR = 303,           /* VAR_STUB_ADDR  */
 -    VAR_TARGET_FETCH_POLICY = 304, /* VAR_TARGET_FETCH_POLICY  */
 -    VAR_HARDEN_SHORT_BUFSIZE = 305, /* VAR_HARDEN_SHORT_BUFSIZE  */
 -    VAR_HARDEN_LARGE_QUERIES = 306, /* VAR_HARDEN_LARGE_QUERIES  */
 -    VAR_FORWARD_ZONE = 307,        /* VAR_FORWARD_ZONE  */
 -    VAR_FORWARD_HOST = 308,        /* VAR_FORWARD_HOST  */
 -    VAR_FORWARD_ADDR = 309,        /* VAR_FORWARD_ADDR  */
 -    VAR_DO_NOT_QUERY_ADDRESS = 310, /* VAR_DO_NOT_QUERY_ADDRESS  */
 -    VAR_HIDE_IDENTITY = 311,       /* VAR_HIDE_IDENTITY  */
 -    VAR_HIDE_VERSION = 312,        /* VAR_HIDE_VERSION  */
 -    VAR_IDENTITY = 313,            /* VAR_IDENTITY  */
 -    VAR_VERSION = 314,             /* VAR_VERSION  */
 -    VAR_HARDEN_GLUE = 315,         /* VAR_HARDEN_GLUE  */
 -    VAR_MODULE_CONF = 316,         /* VAR_MODULE_CONF  */
 -    VAR_TRUST_ANCHOR_FILE = 317,   /* VAR_TRUST_ANCHOR_FILE  */
 -    VAR_TRUST_ANCHOR = 318,        /* VAR_TRUST_ANCHOR  */
 -    VAR_VAL_OVERRIDE_DATE = 319,   /* VAR_VAL_OVERRIDE_DATE  */
 -    VAR_BOGUS_TTL = 320,           /* VAR_BOGUS_TTL  */
 -    VAR_VAL_CLEAN_ADDITIONAL = 321, /* VAR_VAL_CLEAN_ADDITIONAL  */
 -    VAR_VAL_PERMISSIVE_MODE = 322, /* VAR_VAL_PERMISSIVE_MODE  */
 -    VAR_INCOMING_NUM_TCP = 323,    /* VAR_INCOMING_NUM_TCP  */
 -    VAR_MSG_BUFFER_SIZE = 324,     /* VAR_MSG_BUFFER_SIZE  */
 -    VAR_KEY_CACHE_SIZE = 325,      /* VAR_KEY_CACHE_SIZE  */
 -    VAR_KEY_CACHE_SLABS = 326,     /* VAR_KEY_CACHE_SLABS  */
 -    VAR_TRUSTED_KEYS_FILE = 327,   /* VAR_TRUSTED_KEYS_FILE  */
 -    VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS  */
 -    VAR_USE_SYSLOG = 329,          /* VAR_USE_SYSLOG  */
 -    VAR_OUTGOING_INTERFACE = 330,  /* VAR_OUTGOING_INTERFACE  */
 -    VAR_ROOT_HINTS = 331,          /* VAR_ROOT_HINTS  */
 -    VAR_DO_NOT_QUERY_LOCALHOST = 332, /* VAR_DO_NOT_QUERY_LOCALHOST  */
 -    VAR_CACHE_MAX_TTL = 333,       /* VAR_CACHE_MAX_TTL  */
 -    VAR_HARDEN_DNSSEC_STRIPPED = 334, /* VAR_HARDEN_DNSSEC_STRIPPED  */
 -    VAR_ACCESS_CONTROL = 335,      /* VAR_ACCESS_CONTROL  */
 -    VAR_LOCAL_ZONE = 336,          /* VAR_LOCAL_ZONE  */
 -    VAR_LOCAL_DATA = 337,          /* VAR_LOCAL_DATA  */
 -    VAR_INTERFACE_AUTOMATIC = 338, /* VAR_INTERFACE_AUTOMATIC  */
 -    VAR_STATISTICS_INTERVAL = 339, /* VAR_STATISTICS_INTERVAL  */
 -    VAR_DO_DAEMONIZE = 340,        /* VAR_DO_DAEMONIZE  */
 -    VAR_USE_CAPS_FOR_ID = 341,     /* VAR_USE_CAPS_FOR_ID  */
 -    VAR_STATISTICS_CUMULATIVE = 342, /* VAR_STATISTICS_CUMULATIVE  */
 -    VAR_OUTGOING_PORT_PERMIT = 343, /* VAR_OUTGOING_PORT_PERMIT  */
 -    VAR_OUTGOING_PORT_AVOID = 344, /* VAR_OUTGOING_PORT_AVOID  */
 -    VAR_DLV_ANCHOR_FILE = 345,     /* VAR_DLV_ANCHOR_FILE  */
 -    VAR_DLV_ANCHOR = 346,          /* VAR_DLV_ANCHOR  */
 -    VAR_NEG_CACHE_SIZE = 347,      /* VAR_NEG_CACHE_SIZE  */
 -    VAR_HARDEN_REFERRAL_PATH = 348, /* VAR_HARDEN_REFERRAL_PATH  */
 -    VAR_PRIVATE_ADDRESS = 349,     /* VAR_PRIVATE_ADDRESS  */
 -    VAR_PRIVATE_DOMAIN = 350,      /* VAR_PRIVATE_DOMAIN  */
 -    VAR_REMOTE_CONTROL = 351,      /* VAR_REMOTE_CONTROL  */
 -    VAR_CONTROL_ENABLE = 352,      /* VAR_CONTROL_ENABLE  */
 -    VAR_CONTROL_INTERFACE = 353,   /* VAR_CONTROL_INTERFACE  */
 -    VAR_CONTROL_PORT = 354,        /* VAR_CONTROL_PORT  */
 -    VAR_SERVER_KEY_FILE = 355,     /* VAR_SERVER_KEY_FILE  */
 -    VAR_SERVER_CERT_FILE = 356,    /* VAR_SERVER_CERT_FILE  */
 -    VAR_CONTROL_KEY_FILE = 357,    /* VAR_CONTROL_KEY_FILE  */
 -    VAR_CONTROL_CERT_FILE = 358,   /* VAR_CONTROL_CERT_FILE  */
 -    VAR_CONTROL_USE_CERT = 359,    /* VAR_CONTROL_USE_CERT  */
 -    VAR_TCP_REUSE_TIMEOUT = 360,   /* VAR_TCP_REUSE_TIMEOUT  */
 -    VAR_MAX_REUSE_TCP_QUERIES = 361, /* VAR_MAX_REUSE_TCP_QUERIES  */
 -    VAR_EXTENDED_STATISTICS = 362, /* VAR_EXTENDED_STATISTICS  */
 -    VAR_LOCAL_DATA_PTR = 363,      /* VAR_LOCAL_DATA_PTR  */
 -    VAR_JOSTLE_TIMEOUT = 364,      /* VAR_JOSTLE_TIMEOUT  */
 -    VAR_STUB_PRIME = 365,          /* VAR_STUB_PRIME  */
 -    VAR_UNWANTED_REPLY_THRESHOLD = 366, /* VAR_UNWANTED_REPLY_THRESHOLD  */
 -    VAR_LOG_TIME_ASCII = 367,      /* VAR_LOG_TIME_ASCII  */
 -    VAR_DOMAIN_INSECURE = 368,     /* VAR_DOMAIN_INSECURE  */
 -    VAR_PYTHON = 369,              /* VAR_PYTHON  */
 -    VAR_PYTHON_SCRIPT = 370,       /* VAR_PYTHON_SCRIPT  */
 -    VAR_VAL_SIG_SKEW_MIN = 371,    /* VAR_VAL_SIG_SKEW_MIN  */
 -    VAR_VAL_SIG_SKEW_MAX = 372,    /* VAR_VAL_SIG_SKEW_MAX  */
 -    VAR_VAL_MAX_RESTART = 373,     /* VAR_VAL_MAX_RESTART  */
 -    VAR_CACHE_MIN_TTL = 374,       /* VAR_CACHE_MIN_TTL  */
 -    VAR_VAL_LOG_LEVEL = 375,       /* VAR_VAL_LOG_LEVEL  */
 -    VAR_AUTO_TRUST_ANCHOR_FILE = 376, /* VAR_AUTO_TRUST_ANCHOR_FILE  */
 -    VAR_KEEP_MISSING = 377,        /* VAR_KEEP_MISSING  */
 -    VAR_ADD_HOLDDOWN = 378,        /* VAR_ADD_HOLDDOWN  */
 -    VAR_DEL_HOLDDOWN = 379,        /* VAR_DEL_HOLDDOWN  */
 -    VAR_SO_RCVBUF = 380,           /* VAR_SO_RCVBUF  */
 -    VAR_EDNS_BUFFER_SIZE = 381,    /* VAR_EDNS_BUFFER_SIZE  */
 -    VAR_PREFETCH = 382,            /* VAR_PREFETCH  */
 -    VAR_PREFETCH_KEY = 383,        /* VAR_PREFETCH_KEY  */
 -    VAR_SO_SNDBUF = 384,           /* VAR_SO_SNDBUF  */
 -    VAR_SO_REUSEPORT = 385,        /* VAR_SO_REUSEPORT  */
 -    VAR_HARDEN_BELOW_NXDOMAIN = 386, /* VAR_HARDEN_BELOW_NXDOMAIN  */
 -    VAR_IGNORE_CD_FLAG = 387,      /* VAR_IGNORE_CD_FLAG  */
 -    VAR_LOG_QUERIES = 388,         /* VAR_LOG_QUERIES  */
 -    VAR_LOG_REPLIES = 389,         /* VAR_LOG_REPLIES  */
 -    VAR_LOG_LOCAL_ACTIONS = 390,   /* VAR_LOG_LOCAL_ACTIONS  */
 -    VAR_TCP_UPSTREAM = 391,        /* VAR_TCP_UPSTREAM  */
 -    VAR_SSL_UPSTREAM = 392,        /* VAR_SSL_UPSTREAM  */
 -    VAR_TCP_AUTH_QUERY_TIMEOUT = 393, /* VAR_TCP_AUTH_QUERY_TIMEOUT  */
 -    VAR_SSL_SERVICE_KEY = 394,     /* VAR_SSL_SERVICE_KEY  */
 -    VAR_SSL_SERVICE_PEM = 395,     /* VAR_SSL_SERVICE_PEM  */
 -    VAR_SSL_PORT = 396,            /* VAR_SSL_PORT  */
 -    VAR_FORWARD_FIRST = 397,       /* VAR_FORWARD_FIRST  */
 -    VAR_STUB_SSL_UPSTREAM = 398,   /* VAR_STUB_SSL_UPSTREAM  */
 -    VAR_FORWARD_SSL_UPSTREAM = 399, /* VAR_FORWARD_SSL_UPSTREAM  */
 -    VAR_TLS_CERT_BUNDLE = 400,     /* VAR_TLS_CERT_BUNDLE  */
 -    VAR_STUB_TCP_UPSTREAM = 401,   /* VAR_STUB_TCP_UPSTREAM  */
 -    VAR_FORWARD_TCP_UPSTREAM = 402, /* VAR_FORWARD_TCP_UPSTREAM  */
 -    VAR_HTTPS_PORT = 403,          /* VAR_HTTPS_PORT  */
 -    VAR_HTTP_ENDPOINT = 404,       /* VAR_HTTP_ENDPOINT  */
 -    VAR_HTTP_MAX_STREAMS = 405,    /* VAR_HTTP_MAX_STREAMS  */
 -    VAR_HTTP_QUERY_BUFFER_SIZE = 406, /* VAR_HTTP_QUERY_BUFFER_SIZE  */
 -    VAR_HTTP_RESPONSE_BUFFER_SIZE = 407, /* VAR_HTTP_RESPONSE_BUFFER_SIZE  */
 -    VAR_HTTP_NODELAY = 408,        /* VAR_HTTP_NODELAY  */
 -    VAR_HTTP_NOTLS_DOWNSTREAM = 409, /* VAR_HTTP_NOTLS_DOWNSTREAM  */
 -    VAR_STUB_FIRST = 410,          /* VAR_STUB_FIRST  */
 -    VAR_MINIMAL_RESPONSES = 411,   /* VAR_MINIMAL_RESPONSES  */
 -    VAR_RRSET_ROUNDROBIN = 412,    /* VAR_RRSET_ROUNDROBIN  */
 -    VAR_MAX_UDP_SIZE = 413,        /* VAR_MAX_UDP_SIZE  */
 -    VAR_DELAY_CLOSE = 414,         /* VAR_DELAY_CLOSE  */
 -    VAR_UDP_CONNECT = 415,         /* VAR_UDP_CONNECT  */
 -    VAR_UNBLOCK_LAN_ZONES = 416,   /* VAR_UNBLOCK_LAN_ZONES  */
 -    VAR_INSECURE_LAN_ZONES = 417,  /* VAR_INSECURE_LAN_ZONES  */
 -    VAR_INFRA_CACHE_MIN_RTT = 418, /* VAR_INFRA_CACHE_MIN_RTT  */
 -    VAR_INFRA_KEEP_PROBING = 419,  /* VAR_INFRA_KEEP_PROBING  */
 -    VAR_DNS64_PREFIX = 420,        /* VAR_DNS64_PREFIX  */
 -    VAR_DNS64_SYNTHALL = 421,      /* VAR_DNS64_SYNTHALL  */
 -    VAR_DNS64_IGNORE_AAAA = 422,   /* VAR_DNS64_IGNORE_AAAA  */
 -    VAR_DNSTAP = 423,              /* VAR_DNSTAP  */
 -    VAR_DNSTAP_ENABLE = 424,       /* VAR_DNSTAP_ENABLE  */
 -    VAR_DNSTAP_SOCKET_PATH = 425,  /* VAR_DNSTAP_SOCKET_PATH  */
 -    VAR_DNSTAP_IP = 426,           /* VAR_DNSTAP_IP  */
 -    VAR_DNSTAP_TLS = 427,          /* VAR_DNSTAP_TLS  */
 -    VAR_DNSTAP_TLS_SERVER_NAME = 428, /* VAR_DNSTAP_TLS_SERVER_NAME  */
 -    VAR_DNSTAP_TLS_CERT_BUNDLE = 429, /* VAR_DNSTAP_TLS_CERT_BUNDLE  */
 -    VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE  */
 -    VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE  */
 -    VAR_DNSTAP_SEND_IDENTITY = 432, /* VAR_DNSTAP_SEND_IDENTITY  */
 -    VAR_DNSTAP_SEND_VERSION = 433, /* VAR_DNSTAP_SEND_VERSION  */
 -    VAR_DNSTAP_BIDIRECTIONAL = 434, /* VAR_DNSTAP_BIDIRECTIONAL  */
 -    VAR_DNSTAP_IDENTITY = 435,     /* VAR_DNSTAP_IDENTITY  */
 -    VAR_DNSTAP_VERSION = 436,      /* VAR_DNSTAP_VERSION  */
 -    VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES  */
 -    VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES  */
 -    VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES  */
 -    VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES  */
 -    VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES  */
 -    VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES  */
 -    VAR_RESPONSE_IP_TAG = 443,     /* VAR_RESPONSE_IP_TAG  */
 -    VAR_RESPONSE_IP = 444,         /* VAR_RESPONSE_IP  */
 -    VAR_RESPONSE_IP_DATA = 445,    /* VAR_RESPONSE_IP_DATA  */
 -    VAR_HARDEN_ALGO_DOWNGRADE = 446, /* VAR_HARDEN_ALGO_DOWNGRADE  */
 -    VAR_IP_TRANSPARENT = 447,      /* VAR_IP_TRANSPARENT  */
 -    VAR_IP_DSCP = 448,             /* VAR_IP_DSCP  */
 -    VAR_DISABLE_DNSSEC_LAME_CHECK = 449, /* VAR_DISABLE_DNSSEC_LAME_CHECK  */
 -    VAR_IP_RATELIMIT = 450,        /* VAR_IP_RATELIMIT  */
 -    VAR_IP_RATELIMIT_SLABS = 451,  /* VAR_IP_RATELIMIT_SLABS  */
 -    VAR_IP_RATELIMIT_SIZE = 452,   /* VAR_IP_RATELIMIT_SIZE  */
 -    VAR_RATELIMIT = 453,           /* VAR_RATELIMIT  */
 -    VAR_RATELIMIT_SLABS = 454,     /* VAR_RATELIMIT_SLABS  */
 -    VAR_RATELIMIT_SIZE = 455,      /* VAR_RATELIMIT_SIZE  */
 -    VAR_OUTBOUND_MSG_RETRY = 456,  /* VAR_OUTBOUND_MSG_RETRY  */
 -    VAR_RATELIMIT_FOR_DOMAIN = 457, /* VAR_RATELIMIT_FOR_DOMAIN  */
 -    VAR_RATELIMIT_BELOW_DOMAIN = 458, /* VAR_RATELIMIT_BELOW_DOMAIN  */
 -    VAR_IP_RATELIMIT_FACTOR = 459, /* VAR_IP_RATELIMIT_FACTOR  */
 -    VAR_RATELIMIT_FACTOR = 460,    /* VAR_RATELIMIT_FACTOR  */
 -    VAR_SEND_CLIENT_SUBNET = 461,  /* VAR_SEND_CLIENT_SUBNET  */
 -    VAR_CLIENT_SUBNET_ZONE = 462,  /* VAR_CLIENT_SUBNET_ZONE  */
 -    VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 463, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD  */
 -    VAR_CLIENT_SUBNET_OPCODE = 464, /* VAR_CLIENT_SUBNET_OPCODE  */
 -    VAR_MAX_CLIENT_SUBNET_IPV4 = 465, /* VAR_MAX_CLIENT_SUBNET_IPV4  */
 -    VAR_MAX_CLIENT_SUBNET_IPV6 = 466, /* VAR_MAX_CLIENT_SUBNET_IPV6  */
 -    VAR_MIN_CLIENT_SUBNET_IPV4 = 467, /* VAR_MIN_CLIENT_SUBNET_IPV4  */
 -    VAR_MIN_CLIENT_SUBNET_IPV6 = 468, /* VAR_MIN_CLIENT_SUBNET_IPV6  */
 -    VAR_MAX_ECS_TREE_SIZE_IPV4 = 469, /* VAR_MAX_ECS_TREE_SIZE_IPV4  */
 -    VAR_MAX_ECS_TREE_SIZE_IPV6 = 470, /* VAR_MAX_ECS_TREE_SIZE_IPV6  */
 -    VAR_CAPS_WHITELIST = 471,      /* VAR_CAPS_WHITELIST  */
 -    VAR_CACHE_MAX_NEGATIVE_TTL = 472, /* VAR_CACHE_MAX_NEGATIVE_TTL  */
 -    VAR_PERMIT_SMALL_HOLDDOWN = 473, /* VAR_PERMIT_SMALL_HOLDDOWN  */
 -    VAR_QNAME_MINIMISATION = 474,  /* VAR_QNAME_MINIMISATION  */
 -    VAR_QNAME_MINIMISATION_STRICT = 475, /* VAR_QNAME_MINIMISATION_STRICT  */
 -    VAR_IP_FREEBIND = 476,         /* VAR_IP_FREEBIND  */
 -    VAR_DEFINE_TAG = 477,          /* VAR_DEFINE_TAG  */
 -    VAR_LOCAL_ZONE_TAG = 478,      /* VAR_LOCAL_ZONE_TAG  */
 -    VAR_ACCESS_CONTROL_TAG = 479,  /* VAR_ACCESS_CONTROL_TAG  */
 -    VAR_LOCAL_ZONE_OVERRIDE = 480, /* VAR_LOCAL_ZONE_OVERRIDE  */
 -    VAR_ACCESS_CONTROL_TAG_ACTION = 481, /* VAR_ACCESS_CONTROL_TAG_ACTION  */
 -    VAR_ACCESS_CONTROL_TAG_DATA = 482, /* VAR_ACCESS_CONTROL_TAG_DATA  */
 -    VAR_VIEW = 483,                /* VAR_VIEW  */
 -    VAR_ACCESS_CONTROL_VIEW = 484, /* VAR_ACCESS_CONTROL_VIEW  */
 -    VAR_VIEW_FIRST = 485,          /* VAR_VIEW_FIRST  */
 -    VAR_SERVE_EXPIRED = 486,       /* VAR_SERVE_EXPIRED  */
 -    VAR_SERVE_EXPIRED_TTL = 487,   /* VAR_SERVE_EXPIRED_TTL  */
 -    VAR_SERVE_EXPIRED_TTL_RESET = 488, /* VAR_SERVE_EXPIRED_TTL_RESET  */
 -    VAR_SERVE_EXPIRED_REPLY_TTL = 489, /* VAR_SERVE_EXPIRED_REPLY_TTL  */
 -    VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 490, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT  */
 -    VAR_SERVE_ORIGINAL_TTL = 491,  /* VAR_SERVE_ORIGINAL_TTL  */
 -    VAR_FAKE_DSA = 492,            /* VAR_FAKE_DSA  */
 -    VAR_FAKE_SHA1 = 493,           /* VAR_FAKE_SHA1  */
 -    VAR_LOG_IDENTITY = 494,        /* VAR_LOG_IDENTITY  */
 -    VAR_HIDE_TRUSTANCHOR = 495,    /* VAR_HIDE_TRUSTANCHOR  */
 -    VAR_HIDE_HTTP_USER_AGENT = 496, /* VAR_HIDE_HTTP_USER_AGENT  */
 -    VAR_HTTP_USER_AGENT = 497,     /* VAR_HTTP_USER_AGENT  */
 -    VAR_TRUST_ANCHOR_SIGNALING = 498, /* VAR_TRUST_ANCHOR_SIGNALING  */
 -    VAR_AGGRESSIVE_NSEC = 499,     /* VAR_AGGRESSIVE_NSEC  */
 -    VAR_USE_SYSTEMD = 500,         /* VAR_USE_SYSTEMD  */
 -    VAR_SHM_ENABLE = 501,          /* VAR_SHM_ENABLE  */
 -    VAR_SHM_KEY = 502,             /* VAR_SHM_KEY  */
 -    VAR_ROOT_KEY_SENTINEL = 503,   /* VAR_ROOT_KEY_SENTINEL  */
 -    VAR_DNSCRYPT = 504,            /* VAR_DNSCRYPT  */
 -    VAR_DNSCRYPT_ENABLE = 505,     /* VAR_DNSCRYPT_ENABLE  */
 -    VAR_DNSCRYPT_PORT = 506,       /* VAR_DNSCRYPT_PORT  */
 -    VAR_DNSCRYPT_PROVIDER = 507,   /* VAR_DNSCRYPT_PROVIDER  */
 -    VAR_DNSCRYPT_SECRET_KEY = 508, /* VAR_DNSCRYPT_SECRET_KEY  */
 -    VAR_DNSCRYPT_PROVIDER_CERT = 509, /* VAR_DNSCRYPT_PROVIDER_CERT  */
 -    VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 510, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED  */
 -    VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 511, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE  */
 -    VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 512, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS  */
 -    VAR_DNSCRYPT_NONCE_CACHE_SIZE = 513, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE  */
 -    VAR_DNSCRYPT_NONCE_CACHE_SLABS = 514, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS  */
 -    VAR_PAD_RESPONSES = 515,       /* VAR_PAD_RESPONSES  */
 -    VAR_PAD_RESPONSES_BLOCK_SIZE = 516, /* VAR_PAD_RESPONSES_BLOCK_SIZE  */
 -    VAR_PAD_QUERIES = 517,         /* VAR_PAD_QUERIES  */
 -    VAR_PAD_QUERIES_BLOCK_SIZE = 518, /* VAR_PAD_QUERIES_BLOCK_SIZE  */
 -    VAR_IPSECMOD_ENABLED = 519,    /* VAR_IPSECMOD_ENABLED  */
 -    VAR_IPSECMOD_HOOK = 520,       /* VAR_IPSECMOD_HOOK  */
 -    VAR_IPSECMOD_IGNORE_BOGUS = 521, /* VAR_IPSECMOD_IGNORE_BOGUS  */
 -    VAR_IPSECMOD_MAX_TTL = 522,    /* VAR_IPSECMOD_MAX_TTL  */
 -    VAR_IPSECMOD_WHITELIST = 523,  /* VAR_IPSECMOD_WHITELIST  */
 -    VAR_IPSECMOD_STRICT = 524,     /* VAR_IPSECMOD_STRICT  */
 -    VAR_CACHEDB = 525,             /* VAR_CACHEDB  */
 -    VAR_CACHEDB_BACKEND = 526,     /* VAR_CACHEDB_BACKEND  */
 -    VAR_CACHEDB_SECRETSEED = 527,  /* VAR_CACHEDB_SECRETSEED  */
 -    VAR_CACHEDB_REDISHOST = 528,   /* VAR_CACHEDB_REDISHOST  */
 -    VAR_CACHEDB_REDISPORT = 529,   /* VAR_CACHEDB_REDISPORT  */
 -    VAR_CACHEDB_REDISTIMEOUT = 530, /* VAR_CACHEDB_REDISTIMEOUT  */
 -    VAR_CACHEDB_REDISEXPIRERECORDS = 531, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
 -    VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 532, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
 -    VAR_FOR_UPSTREAM = 533,        /* VAR_FOR_UPSTREAM  */
 -    VAR_AUTH_ZONE = 534,           /* VAR_AUTH_ZONE  */
 -    VAR_ZONEFILE = 535,            /* VAR_ZONEFILE  */
 -    VAR_MASTER = 536,              /* VAR_MASTER  */
 -    VAR_URL = 537,                 /* VAR_URL  */
 -    VAR_FOR_DOWNSTREAM = 538,      /* VAR_FOR_DOWNSTREAM  */
 -    VAR_FALLBACK_ENABLED = 539,    /* VAR_FALLBACK_ENABLED  */
 -    VAR_TLS_ADDITIONAL_PORT = 540, /* VAR_TLS_ADDITIONAL_PORT  */
 -    VAR_LOW_RTT = 541,             /* VAR_LOW_RTT  */
 -    VAR_LOW_RTT_PERMIL = 542,      /* VAR_LOW_RTT_PERMIL  */
 -    VAR_FAST_SERVER_PERMIL = 543,  /* VAR_FAST_SERVER_PERMIL  */
 -    VAR_FAST_SERVER_NUM = 544,     /* VAR_FAST_SERVER_NUM  */
 -    VAR_ALLOW_NOTIFY = 545,        /* VAR_ALLOW_NOTIFY  */
 -    VAR_TLS_WIN_CERT = 546,        /* VAR_TLS_WIN_CERT  */
 -    VAR_TCP_CONNECTION_LIMIT = 547, /* VAR_TCP_CONNECTION_LIMIT  */
 -    VAR_FORWARD_NO_CACHE = 548,    /* VAR_FORWARD_NO_CACHE  */
 -    VAR_STUB_NO_CACHE = 549,       /* VAR_STUB_NO_CACHE  */
 -    VAR_LOG_SERVFAIL = 550,        /* VAR_LOG_SERVFAIL  */
 -    VAR_DENY_ANY = 551,            /* VAR_DENY_ANY  */
 -    VAR_UNKNOWN_SERVER_TIME_LIMIT = 552, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
 -    VAR_LOG_TAG_QUERYREPLY = 553,  /* VAR_LOG_TAG_QUERYREPLY  */
 -    VAR_STREAM_WAIT_SIZE = 554,    /* VAR_STREAM_WAIT_SIZE  */
 -    VAR_TLS_CIPHERS = 555,         /* VAR_TLS_CIPHERS  */
 -    VAR_TLS_CIPHERSUITES = 556,    /* VAR_TLS_CIPHERSUITES  */
 -    VAR_TLS_USE_SNI = 557,         /* VAR_TLS_USE_SNI  */
 -    VAR_IPSET = 558,               /* VAR_IPSET  */
 -    VAR_IPSET_NAME_V4 = 559,       /* VAR_IPSET_NAME_V4  */
 -    VAR_IPSET_NAME_V6 = 560,       /* VAR_IPSET_NAME_V6  */
 -    VAR_TLS_SESSION_TICKET_KEYS = 561, /* VAR_TLS_SESSION_TICKET_KEYS  */
 -    VAR_RPZ = 562,                 /* VAR_RPZ  */
 -    VAR_TAGS = 563,                /* VAR_TAGS  */
 -    VAR_RPZ_ACTION_OVERRIDE = 564, /* VAR_RPZ_ACTION_OVERRIDE  */
 -    VAR_RPZ_CNAME_OVERRIDE = 565,  /* VAR_RPZ_CNAME_OVERRIDE  */
 -    VAR_RPZ_LOG = 566,             /* VAR_RPZ_LOG  */
 -    VAR_RPZ_LOG_NAME = 567,        /* VAR_RPZ_LOG_NAME  */
 -    VAR_DYNLIB = 568,              /* VAR_DYNLIB  */
 -    VAR_DYNLIB_FILE = 569,         /* VAR_DYNLIB_FILE  */
 -    VAR_EDNS_CLIENT_STRING = 570,  /* VAR_EDNS_CLIENT_STRING  */
 -    VAR_EDNS_CLIENT_STRING_OPCODE = 571, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
 -    VAR_NSID = 572,                /* VAR_NSID  */
 -    VAR_ZONEMD_PERMISSIVE_MODE = 573, /* VAR_ZONEMD_PERMISSIVE_MODE  */
 -    VAR_ZONEMD_CHECK = 574,        /* VAR_ZONEMD_CHECK  */
 -    VAR_ZONEMD_REJECT_ABSENCE = 575, /* VAR_ZONEMD_REJECT_ABSENCE  */
 -    VAR_RPZ_SIGNAL_NXDOMAIN_RA = 576 /* VAR_RPZ_SIGNAL_NXDOMAIN_RA  */
 -  };
 -  typedef enum yytokentype yytoken_kind_t;
 -#endif
 -/* Token kinds.  */
 -#define YYEOF 0
 -#define YYerror 256
 -#define YYUNDEF 257
 -#define SPACE 258
 -#define LETTER 259
 -#define NEWLINE 260
 -#define COMMENT 261
 -#define COLON 262
 -#define ANY 263
 -#define ZONESTR 264
 -#define STRING_ARG 265
 -#define VAR_FORCE_TOPLEVEL 266
 -#define VAR_SERVER 267
 -#define VAR_VERBOSITY 268
 -#define VAR_NUM_THREADS 269
 -#define VAR_PORT 270
 -#define VAR_OUTGOING_RANGE 271
 -#define VAR_INTERFACE 272
 -#define VAR_PREFER_IP4 273
 -#define VAR_DO_IP4 274
 -#define VAR_DO_IP6 275
 -#define VAR_PREFER_IP6 276
 -#define VAR_DO_UDP 277
 -#define VAR_DO_TCP 278
 -#define VAR_TCP_MSS 279
 -#define VAR_OUTGOING_TCP_MSS 280
 -#define VAR_TCP_IDLE_TIMEOUT 281
 -#define VAR_EDNS_TCP_KEEPALIVE 282
 -#define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 283
 -#define VAR_CHROOT 284
 -#define VAR_USERNAME 285
 -#define VAR_DIRECTORY 286
 -#define VAR_LOGFILE 287
 -#define VAR_PIDFILE 288
 -#define VAR_MSG_CACHE_SIZE 289
 -#define VAR_MSG_CACHE_SLABS 290
 -#define VAR_NUM_QUERIES_PER_THREAD 291
 -#define VAR_RRSET_CACHE_SIZE 292
 -#define VAR_RRSET_CACHE_SLABS 293
 -#define VAR_OUTGOING_NUM_TCP 294
 -#define VAR_INFRA_HOST_TTL 295
 -#define VAR_INFRA_LAME_TTL 296
 -#define VAR_INFRA_CACHE_SLABS 297
 -#define VAR_INFRA_CACHE_NUMHOSTS 298
 -#define VAR_INFRA_CACHE_LAME_SIZE 299
 -#define VAR_NAME 300
 -#define VAR_STUB_ZONE 301
 -#define VAR_STUB_HOST 302
 -#define VAR_STUB_ADDR 303
 -#define VAR_TARGET_FETCH_POLICY 304
 -#define VAR_HARDEN_SHORT_BUFSIZE 305
 -#define VAR_HARDEN_LARGE_QUERIES 306
 -#define VAR_FORWARD_ZONE 307
 -#define VAR_FORWARD_HOST 308
 -#define VAR_FORWARD_ADDR 309
 -#define VAR_DO_NOT_QUERY_ADDRESS 310
 -#define VAR_HIDE_IDENTITY 311
 -#define VAR_HIDE_VERSION 312
 -#define VAR_IDENTITY 313
 -#define VAR_VERSION 314
 -#define VAR_HARDEN_GLUE 315
 -#define VAR_MODULE_CONF 316
 -#define VAR_TRUST_ANCHOR_FILE 317
 -#define VAR_TRUST_ANCHOR 318
 -#define VAR_VAL_OVERRIDE_DATE 319
 -#define VAR_BOGUS_TTL 320
 -#define VAR_VAL_CLEAN_ADDITIONAL 321
 -#define VAR_VAL_PERMISSIVE_MODE 322
 -#define VAR_INCOMING_NUM_TCP 323
 -#define VAR_MSG_BUFFER_SIZE 324
 -#define VAR_KEY_CACHE_SIZE 325
 -#define VAR_KEY_CACHE_SLABS 326
 -#define VAR_TRUSTED_KEYS_FILE 327
 -#define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 328
 -#define VAR_USE_SYSLOG 329
 -#define VAR_OUTGOING_INTERFACE 330
 -#define VAR_ROOT_HINTS 331
 -#define VAR_DO_NOT_QUERY_LOCALHOST 332
 -#define VAR_CACHE_MAX_TTL 333
 -#define VAR_HARDEN_DNSSEC_STRIPPED 334
 -#define VAR_ACCESS_CONTROL 335
 -#define VAR_LOCAL_ZONE 336
 -#define VAR_LOCAL_DATA 337
 -#define VAR_INTERFACE_AUTOMATIC 338
 -#define VAR_STATISTICS_INTERVAL 339
 -#define VAR_DO_DAEMONIZE 340
 -#define VAR_USE_CAPS_FOR_ID 341
 -#define VAR_STATISTICS_CUMULATIVE 342
 -#define VAR_OUTGOING_PORT_PERMIT 343
 -#define VAR_OUTGOING_PORT_AVOID 344
 -#define VAR_DLV_ANCHOR_FILE 345
 -#define VAR_DLV_ANCHOR 346
 -#define VAR_NEG_CACHE_SIZE 347
 -#define VAR_HARDEN_REFERRAL_PATH 348
 -#define VAR_PRIVATE_ADDRESS 349
 -#define VAR_PRIVATE_DOMAIN 350
 -#define VAR_REMOTE_CONTROL 351
 -#define VAR_CONTROL_ENABLE 352
 -#define VAR_CONTROL_INTERFACE 353
 -#define VAR_CONTROL_PORT 354
 -#define VAR_SERVER_KEY_FILE 355
 -#define VAR_SERVER_CERT_FILE 356
 -#define VAR_CONTROL_KEY_FILE 357
 -#define VAR_CONTROL_CERT_FILE 358
 -#define VAR_CONTROL_USE_CERT 359
 -#define VAR_TCP_REUSE_TIMEOUT 360
 -#define VAR_MAX_REUSE_TCP_QUERIES 361
 -#define VAR_EXTENDED_STATISTICS 362
 -#define VAR_LOCAL_DATA_PTR 363
 -#define VAR_JOSTLE_TIMEOUT 364
 -#define VAR_STUB_PRIME 365
 -#define VAR_UNWANTED_REPLY_THRESHOLD 366
 -#define VAR_LOG_TIME_ASCII 367
 -#define VAR_DOMAIN_INSECURE 368
 -#define VAR_PYTHON 369
 -#define VAR_PYTHON_SCRIPT 370
 -#define VAR_VAL_SIG_SKEW_MIN 371
 -#define VAR_VAL_SIG_SKEW_MAX 372
 -#define VAR_VAL_MAX_RESTART 373
 -#define VAR_CACHE_MIN_TTL 374
 -#define VAR_VAL_LOG_LEVEL 375
 -#define VAR_AUTO_TRUST_ANCHOR_FILE 376
 -#define VAR_KEEP_MISSING 377
 -#define VAR_ADD_HOLDDOWN 378
 -#define VAR_DEL_HOLDDOWN 379
 -#define VAR_SO_RCVBUF 380
 -#define VAR_EDNS_BUFFER_SIZE 381
 -#define VAR_PREFETCH 382
 -#define VAR_PREFETCH_KEY 383
 -#define VAR_SO_SNDBUF 384
 -#define VAR_SO_REUSEPORT 385
 -#define VAR_HARDEN_BELOW_NXDOMAIN 386
 -#define VAR_IGNORE_CD_FLAG 387
 -#define VAR_LOG_QUERIES 388
 -#define VAR_LOG_REPLIES 389
 -#define VAR_LOG_LOCAL_ACTIONS 390
 -#define VAR_TCP_UPSTREAM 391
 -#define VAR_SSL_UPSTREAM 392
 -#define VAR_TCP_AUTH_QUERY_TIMEOUT 393
 -#define VAR_SSL_SERVICE_KEY 394
 -#define VAR_SSL_SERVICE_PEM 395
 -#define VAR_SSL_PORT 396
 -#define VAR_FORWARD_FIRST 397
 -#define VAR_STUB_SSL_UPSTREAM 398
 -#define VAR_FORWARD_SSL_UPSTREAM 399
 -#define VAR_TLS_CERT_BUNDLE 400
 -#define VAR_STUB_TCP_UPSTREAM 401
 -#define VAR_FORWARD_TCP_UPSTREAM 402
 -#define VAR_HTTPS_PORT 403
 -#define VAR_HTTP_ENDPOINT 404
 -#define VAR_HTTP_MAX_STREAMS 405
 -#define VAR_HTTP_QUERY_BUFFER_SIZE 406
 -#define VAR_HTTP_RESPONSE_BUFFER_SIZE 407
 -#define VAR_HTTP_NODELAY 408
 -#define VAR_HTTP_NOTLS_DOWNSTREAM 409
 -#define VAR_STUB_FIRST 410
 -#define VAR_MINIMAL_RESPONSES 411
 -#define VAR_RRSET_ROUNDROBIN 412
 -#define VAR_MAX_UDP_SIZE 413
 -#define VAR_DELAY_CLOSE 414
 -#define VAR_UDP_CONNECT 415
 -#define VAR_UNBLOCK_LAN_ZONES 416
 -#define VAR_INSECURE_LAN_ZONES 417
 -#define VAR_INFRA_CACHE_MIN_RTT 418
 -#define VAR_INFRA_KEEP_PROBING 419
 -#define VAR_DNS64_PREFIX 420
 -#define VAR_DNS64_SYNTHALL 421
 -#define VAR_DNS64_IGNORE_AAAA 422
 -#define VAR_DNSTAP 423
 -#define VAR_DNSTAP_ENABLE 424
 -#define VAR_DNSTAP_SOCKET_PATH 425
 -#define VAR_DNSTAP_IP 426
 -#define VAR_DNSTAP_TLS 427
 -#define VAR_DNSTAP_TLS_SERVER_NAME 428
 -#define VAR_DNSTAP_TLS_CERT_BUNDLE 429
 -#define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 430
 -#define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 431
 -#define VAR_DNSTAP_SEND_IDENTITY 432
 -#define VAR_DNSTAP_SEND_VERSION 433
 -#define VAR_DNSTAP_BIDIRECTIONAL 434
 -#define VAR_DNSTAP_IDENTITY 435
 -#define VAR_DNSTAP_VERSION 436
 -#define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 437
 -#define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 438
 -#define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 439
 -#define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 440
 -#define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 441
 -#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 442
 -#define VAR_RESPONSE_IP_TAG 443
 -#define VAR_RESPONSE_IP 444
 -#define VAR_RESPONSE_IP_DATA 445
 -#define VAR_HARDEN_ALGO_DOWNGRADE 446
 -#define VAR_IP_TRANSPARENT 447
 -#define VAR_IP_DSCP 448
 -#define VAR_DISABLE_DNSSEC_LAME_CHECK 449
 -#define VAR_IP_RATELIMIT 450
 -#define VAR_IP_RATELIMIT_SLABS 451
 -#define VAR_IP_RATELIMIT_SIZE 452
 -#define VAR_RATELIMIT 453
 -#define VAR_RATELIMIT_SLABS 454
 -#define VAR_RATELIMIT_SIZE 455
 -#define VAR_OUTBOUND_MSG_RETRY 456
 -#define VAR_RATELIMIT_FOR_DOMAIN 457
 -#define VAR_RATELIMIT_BELOW_DOMAIN 458
 -#define VAR_IP_RATELIMIT_FACTOR 459
 -#define VAR_RATELIMIT_FACTOR 460
 -#define VAR_SEND_CLIENT_SUBNET 461
 -#define VAR_CLIENT_SUBNET_ZONE 462
 -#define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 463
 -#define VAR_CLIENT_SUBNET_OPCODE 464
 -#define VAR_MAX_CLIENT_SUBNET_IPV4 465
 -#define VAR_MAX_CLIENT_SUBNET_IPV6 466
 -#define VAR_MIN_CLIENT_SUBNET_IPV4 467
 -#define VAR_MIN_CLIENT_SUBNET_IPV6 468
 -#define VAR_MAX_ECS_TREE_SIZE_IPV4 469
 -#define VAR_MAX_ECS_TREE_SIZE_IPV6 470
 -#define VAR_CAPS_WHITELIST 471
 -#define VAR_CACHE_MAX_NEGATIVE_TTL 472
 -#define VAR_PERMIT_SMALL_HOLDDOWN 473
 -#define VAR_QNAME_MINIMISATION 474
 -#define VAR_QNAME_MINIMISATION_STRICT 475
 -#define VAR_IP_FREEBIND 476
 -#define VAR_DEFINE_TAG 477
 -#define VAR_LOCAL_ZONE_TAG 478
 -#define VAR_ACCESS_CONTROL_TAG 479
 -#define VAR_LOCAL_ZONE_OVERRIDE 480
 -#define VAR_ACCESS_CONTROL_TAG_ACTION 481
 -#define VAR_ACCESS_CONTROL_TAG_DATA 482
 -#define VAR_VIEW 483
 -#define VAR_ACCESS_CONTROL_VIEW 484
 -#define VAR_VIEW_FIRST 485
 -#define VAR_SERVE_EXPIRED 486
 -#define VAR_SERVE_EXPIRED_TTL 487
 -#define VAR_SERVE_EXPIRED_TTL_RESET 488
 -#define VAR_SERVE_EXPIRED_REPLY_TTL 489
 -#define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 490
 -#define VAR_SERVE_ORIGINAL_TTL 491
 -#define VAR_FAKE_DSA 492
 -#define VAR_FAKE_SHA1 493
 -#define VAR_LOG_IDENTITY 494
 -#define VAR_HIDE_TRUSTANCHOR 495
 -#define VAR_HIDE_HTTP_USER_AGENT 496
 -#define VAR_HTTP_USER_AGENT 497
 -#define VAR_TRUST_ANCHOR_SIGNALING 498
 -#define VAR_AGGRESSIVE_NSEC 499
 -#define VAR_USE_SYSTEMD 500
 -#define VAR_SHM_ENABLE 501
 -#define VAR_SHM_KEY 502
 -#define VAR_ROOT_KEY_SENTINEL 503
 -#define VAR_DNSCRYPT 504
 -#define VAR_DNSCRYPT_ENABLE 505
 -#define VAR_DNSCRYPT_PORT 506
 -#define VAR_DNSCRYPT_PROVIDER 507
 -#define VAR_DNSCRYPT_SECRET_KEY 508
 -#define VAR_DNSCRYPT_PROVIDER_CERT 509
 -#define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 510
 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 511
 -#define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 512
 -#define VAR_DNSCRYPT_NONCE_CACHE_SIZE 513
 -#define VAR_DNSCRYPT_NONCE_CACHE_SLABS 514
 -#define VAR_PAD_RESPONSES 515
 -#define VAR_PAD_RESPONSES_BLOCK_SIZE 516
 -#define VAR_PAD_QUERIES 517
 -#define VAR_PAD_QUERIES_BLOCK_SIZE 518
 -#define VAR_IPSECMOD_ENABLED 519
 -#define VAR_IPSECMOD_HOOK 520
 -#define VAR_IPSECMOD_IGNORE_BOGUS 521
 -#define VAR_IPSECMOD_MAX_TTL 522
 -#define VAR_IPSECMOD_WHITELIST 523
 -#define VAR_IPSECMOD_STRICT 524
 -#define VAR_CACHEDB 525
 -#define VAR_CACHEDB_BACKEND 526
 -#define VAR_CACHEDB_SECRETSEED 527
 -#define VAR_CACHEDB_REDISHOST 528
 -#define VAR_CACHEDB_REDISPORT 529
 -#define VAR_CACHEDB_REDISTIMEOUT 530
 -#define VAR_CACHEDB_REDISEXPIRERECORDS 531
 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 532
 -#define VAR_FOR_UPSTREAM 533
 -#define VAR_AUTH_ZONE 534
 -#define VAR_ZONEFILE 535
 -#define VAR_MASTER 536
 -#define VAR_URL 537
 -#define VAR_FOR_DOWNSTREAM 538
 -#define VAR_FALLBACK_ENABLED 539
 -#define VAR_TLS_ADDITIONAL_PORT 540
 -#define VAR_LOW_RTT 541
 -#define VAR_LOW_RTT_PERMIL 542
 -#define VAR_FAST_SERVER_PERMIL 543
 -#define VAR_FAST_SERVER_NUM 544
 -#define VAR_ALLOW_NOTIFY 545
 -#define VAR_TLS_WIN_CERT 546
 -#define VAR_TCP_CONNECTION_LIMIT 547
 -#define VAR_FORWARD_NO_CACHE 548
 -#define VAR_STUB_NO_CACHE 549
 -#define VAR_LOG_SERVFAIL 550
 -#define VAR_DENY_ANY 551
 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 552
 -#define VAR_LOG_TAG_QUERYREPLY 553
 -#define VAR_STREAM_WAIT_SIZE 554
 -#define VAR_TLS_CIPHERS 555
 -#define VAR_TLS_CIPHERSUITES 556
 -#define VAR_TLS_USE_SNI 557
 -#define VAR_IPSET 558
 -#define VAR_IPSET_NAME_V4 559
 -#define VAR_IPSET_NAME_V6 560
 -#define VAR_TLS_SESSION_TICKET_KEYS 561
 -#define VAR_RPZ 562
 -#define VAR_TAGS 563
 -#define VAR_RPZ_ACTION_OVERRIDE 564
 -#define VAR_RPZ_CNAME_OVERRIDE 565
 -#define VAR_RPZ_LOG 566
 -#define VAR_RPZ_LOG_NAME 567
 -#define VAR_DYNLIB 568
 -#define VAR_DYNLIB_FILE 569
 -#define VAR_EDNS_CLIENT_STRING 570
 -#define VAR_EDNS_CLIENT_STRING_OPCODE 571
 -#define VAR_NSID 572
 -#define VAR_ZONEMD_PERMISSIVE_MODE 573
 -#define VAR_ZONEMD_CHECK 574
 -#define VAR_ZONEMD_REJECT_ABSENCE 575
 -#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 576
 -
 -/* Value type.  */
--#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
- typedef union YYSTYPE
 -union YYSTYPE
 -{
--#line 66 "./util/configparser.y"
 -
 -      char*   str;
 -
 -#line 798 "util/configparser.c"
 -
 -};
 -typedef union YYSTYPE YYSTYPE;
 -# define YYSTYPE_IS_TRIVIAL 1
 -# define YYSTYPE_IS_DECLARED 1
 -#endif
 -
 -
 -extern YYSTYPE yylval;
 -
 -int yyparse (void);
 -
 -#endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED  */
++#include "configparser.h"
+ /* Symbol kind.  */
+ enum yysymbol_kind_t
  {
-       char*   str;
- }
- /* Line 193 of yacc.c.  */
- #line 777 "util/configparser.c"
-       YYSTYPE;
- # define yystype YYSTYPE /* obsolescent; will be withdrawn */
- # define YYSTYPE_IS_DECLARED 1
- # define YYSTYPE_IS_TRIVIAL 1
- #endif
+   YYSYMBOL_YYEMPTY = -2,
+   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+   YYSYMBOL_YYerror = 1,                    /* error  */
+   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+   YYSYMBOL_SPACE = 3,                      /* SPACE  */
+   YYSYMBOL_LETTER = 4,                     /* LETTER  */
+   YYSYMBOL_NEWLINE = 5,                    /* NEWLINE  */
+   YYSYMBOL_COMMENT = 6,                    /* COMMENT  */
+   YYSYMBOL_COLON = 7,                      /* COLON  */
+   YYSYMBOL_ANY = 8,                        /* ANY  */
+   YYSYMBOL_ZONESTR = 9,                    /* ZONESTR  */
+   YYSYMBOL_STRING_ARG = 10,                /* STRING_ARG  */
+   YYSYMBOL_VAR_FORCE_TOPLEVEL = 11,        /* VAR_FORCE_TOPLEVEL  */
+   YYSYMBOL_VAR_SERVER = 12,                /* VAR_SERVER  */
+   YYSYMBOL_VAR_VERBOSITY = 13,             /* VAR_VERBOSITY  */
+   YYSYMBOL_VAR_NUM_THREADS = 14,           /* VAR_NUM_THREADS  */
+   YYSYMBOL_VAR_PORT = 15,                  /* VAR_PORT  */
+   YYSYMBOL_VAR_OUTGOING_RANGE = 16,        /* VAR_OUTGOING_RANGE  */
+   YYSYMBOL_VAR_INTERFACE = 17,             /* VAR_INTERFACE  */
+   YYSYMBOL_VAR_PREFER_IP4 = 18,            /* VAR_PREFER_IP4  */
+   YYSYMBOL_VAR_DO_IP4 = 19,                /* VAR_DO_IP4  */
+   YYSYMBOL_VAR_DO_IP6 = 20,                /* VAR_DO_IP6  */
+   YYSYMBOL_VAR_PREFER_IP6 = 21,            /* VAR_PREFER_IP6  */
+   YYSYMBOL_VAR_DO_UDP = 22,                /* VAR_DO_UDP  */
+   YYSYMBOL_VAR_DO_TCP = 23,                /* VAR_DO_TCP  */
+   YYSYMBOL_VAR_TCP_MSS = 24,               /* VAR_TCP_MSS  */
+   YYSYMBOL_VAR_OUTGOING_TCP_MSS = 25,      /* VAR_OUTGOING_TCP_MSS  */
+   YYSYMBOL_VAR_TCP_IDLE_TIMEOUT = 26,      /* VAR_TCP_IDLE_TIMEOUT  */
+   YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE = 27,    /* VAR_EDNS_TCP_KEEPALIVE  */
+   YYSYMBOL_VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 28, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT  */
+   YYSYMBOL_VAR_CHROOT = 29,                /* VAR_CHROOT  */
+   YYSYMBOL_VAR_USERNAME = 30,              /* VAR_USERNAME  */
+   YYSYMBOL_VAR_DIRECTORY = 31,             /* VAR_DIRECTORY  */
+   YYSYMBOL_VAR_LOGFILE = 32,               /* VAR_LOGFILE  */
+   YYSYMBOL_VAR_PIDFILE = 33,               /* VAR_PIDFILE  */
+   YYSYMBOL_VAR_MSG_CACHE_SIZE = 34,        /* VAR_MSG_CACHE_SIZE  */
+   YYSYMBOL_VAR_MSG_CACHE_SLABS = 35,       /* VAR_MSG_CACHE_SLABS  */
+   YYSYMBOL_VAR_NUM_QUERIES_PER_THREAD = 36, /* VAR_NUM_QUERIES_PER_THREAD  */
+   YYSYMBOL_VAR_RRSET_CACHE_SIZE = 37,      /* VAR_RRSET_CACHE_SIZE  */
+   YYSYMBOL_VAR_RRSET_CACHE_SLABS = 38,     /* VAR_RRSET_CACHE_SLABS  */
+   YYSYMBOL_VAR_OUTGOING_NUM_TCP = 39,      /* VAR_OUTGOING_NUM_TCP  */
+   YYSYMBOL_VAR_INFRA_HOST_TTL = 40,        /* VAR_INFRA_HOST_TTL  */
+   YYSYMBOL_VAR_INFRA_LAME_TTL = 41,        /* VAR_INFRA_LAME_TTL  */
+   YYSYMBOL_VAR_INFRA_CACHE_SLABS = 42,     /* VAR_INFRA_CACHE_SLABS  */
+   YYSYMBOL_VAR_INFRA_CACHE_NUMHOSTS = 43,  /* VAR_INFRA_CACHE_NUMHOSTS  */
+   YYSYMBOL_VAR_INFRA_CACHE_LAME_SIZE = 44, /* VAR_INFRA_CACHE_LAME_SIZE  */
+   YYSYMBOL_VAR_NAME = 45,                  /* VAR_NAME  */
+   YYSYMBOL_VAR_STUB_ZONE = 46,             /* VAR_STUB_ZONE  */
+   YYSYMBOL_VAR_STUB_HOST = 47,             /* VAR_STUB_HOST  */
+   YYSYMBOL_VAR_STUB_ADDR = 48,             /* VAR_STUB_ADDR  */
+   YYSYMBOL_VAR_TARGET_FETCH_POLICY = 49,   /* VAR_TARGET_FETCH_POLICY  */
+   YYSYMBOL_VAR_HARDEN_SHORT_BUFSIZE = 50,  /* VAR_HARDEN_SHORT_BUFSIZE  */
+   YYSYMBOL_VAR_HARDEN_LARGE_QUERIES = 51,  /* VAR_HARDEN_LARGE_QUERIES  */
+   YYSYMBOL_VAR_FORWARD_ZONE = 52,          /* VAR_FORWARD_ZONE  */
+   YYSYMBOL_VAR_FORWARD_HOST = 53,          /* VAR_FORWARD_HOST  */
+   YYSYMBOL_VAR_FORWARD_ADDR = 54,          /* VAR_FORWARD_ADDR  */
+   YYSYMBOL_VAR_DO_NOT_QUERY_ADDRESS = 55,  /* VAR_DO_NOT_QUERY_ADDRESS  */
+   YYSYMBOL_VAR_HIDE_IDENTITY = 56,         /* VAR_HIDE_IDENTITY  */
+   YYSYMBOL_VAR_HIDE_VERSION = 57,          /* VAR_HIDE_VERSION  */
+   YYSYMBOL_VAR_IDENTITY = 58,              /* VAR_IDENTITY  */
+   YYSYMBOL_VAR_VERSION = 59,               /* VAR_VERSION  */
+   YYSYMBOL_VAR_HARDEN_GLUE = 60,           /* VAR_HARDEN_GLUE  */
+   YYSYMBOL_VAR_MODULE_CONF = 61,           /* VAR_MODULE_CONF  */
+   YYSYMBOL_VAR_TRUST_ANCHOR_FILE = 62,     /* VAR_TRUST_ANCHOR_FILE  */
+   YYSYMBOL_VAR_TRUST_ANCHOR = 63,          /* VAR_TRUST_ANCHOR  */
+   YYSYMBOL_VAR_VAL_OVERRIDE_DATE = 64,     /* VAR_VAL_OVERRIDE_DATE  */
+   YYSYMBOL_VAR_BOGUS_TTL = 65,             /* VAR_BOGUS_TTL  */
+   YYSYMBOL_VAR_VAL_CLEAN_ADDITIONAL = 66,  /* VAR_VAL_CLEAN_ADDITIONAL  */
+   YYSYMBOL_VAR_VAL_PERMISSIVE_MODE = 67,   /* VAR_VAL_PERMISSIVE_MODE  */
+   YYSYMBOL_VAR_INCOMING_NUM_TCP = 68,      /* VAR_INCOMING_NUM_TCP  */
+   YYSYMBOL_VAR_MSG_BUFFER_SIZE = 69,       /* VAR_MSG_BUFFER_SIZE  */
+   YYSYMBOL_VAR_KEY_CACHE_SIZE = 70,        /* VAR_KEY_CACHE_SIZE  */
+   YYSYMBOL_VAR_KEY_CACHE_SLABS = 71,       /* VAR_KEY_CACHE_SLABS  */
+   YYSYMBOL_VAR_TRUSTED_KEYS_FILE = 72,     /* VAR_TRUSTED_KEYS_FILE  */
+   YYSYMBOL_VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 73, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS  */
+   YYSYMBOL_VAR_USE_SYSLOG = 74,            /* VAR_USE_SYSLOG  */
+   YYSYMBOL_VAR_OUTGOING_INTERFACE = 75,    /* VAR_OUTGOING_INTERFACE  */
+   YYSYMBOL_VAR_ROOT_HINTS = 76,            /* VAR_ROOT_HINTS  */
+   YYSYMBOL_VAR_DO_NOT_QUERY_LOCALHOST = 77, /* VAR_DO_NOT_QUERY_LOCALHOST  */
+   YYSYMBOL_VAR_CACHE_MAX_TTL = 78,         /* VAR_CACHE_MAX_TTL  */
+   YYSYMBOL_VAR_HARDEN_DNSSEC_STRIPPED = 79, /* VAR_HARDEN_DNSSEC_STRIPPED  */
+   YYSYMBOL_VAR_ACCESS_CONTROL = 80,        /* VAR_ACCESS_CONTROL  */
+   YYSYMBOL_VAR_LOCAL_ZONE = 81,            /* VAR_LOCAL_ZONE  */
+   YYSYMBOL_VAR_LOCAL_DATA = 82,            /* VAR_LOCAL_DATA  */
+   YYSYMBOL_VAR_INTERFACE_AUTOMATIC = 83,   /* VAR_INTERFACE_AUTOMATIC  */
+   YYSYMBOL_VAR_STATISTICS_INTERVAL = 84,   /* VAR_STATISTICS_INTERVAL  */
+   YYSYMBOL_VAR_DO_DAEMONIZE = 85,          /* VAR_DO_DAEMONIZE  */
+   YYSYMBOL_VAR_USE_CAPS_FOR_ID = 86,       /* VAR_USE_CAPS_FOR_ID  */
+   YYSYMBOL_VAR_STATISTICS_CUMULATIVE = 87, /* VAR_STATISTICS_CUMULATIVE  */
+   YYSYMBOL_VAR_OUTGOING_PORT_PERMIT = 88,  /* VAR_OUTGOING_PORT_PERMIT  */
+   YYSYMBOL_VAR_OUTGOING_PORT_AVOID = 89,   /* VAR_OUTGOING_PORT_AVOID  */
+   YYSYMBOL_VAR_DLV_ANCHOR_FILE = 90,       /* VAR_DLV_ANCHOR_FILE  */
+   YYSYMBOL_VAR_DLV_ANCHOR = 91,            /* VAR_DLV_ANCHOR  */
+   YYSYMBOL_VAR_NEG_CACHE_SIZE = 92,        /* VAR_NEG_CACHE_SIZE  */
+   YYSYMBOL_VAR_HARDEN_REFERRAL_PATH = 93,  /* VAR_HARDEN_REFERRAL_PATH  */
+   YYSYMBOL_VAR_PRIVATE_ADDRESS = 94,       /* VAR_PRIVATE_ADDRESS  */
+   YYSYMBOL_VAR_PRIVATE_DOMAIN = 95,        /* VAR_PRIVATE_DOMAIN  */
+   YYSYMBOL_VAR_REMOTE_CONTROL = 96,        /* VAR_REMOTE_CONTROL  */
+   YYSYMBOL_VAR_CONTROL_ENABLE = 97,        /* VAR_CONTROL_ENABLE  */
+   YYSYMBOL_VAR_CONTROL_INTERFACE = 98,     /* VAR_CONTROL_INTERFACE  */
+   YYSYMBOL_VAR_CONTROL_PORT = 99,          /* VAR_CONTROL_PORT  */
+   YYSYMBOL_VAR_SERVER_KEY_FILE = 100,      /* VAR_SERVER_KEY_FILE  */
+   YYSYMBOL_VAR_SERVER_CERT_FILE = 101,     /* VAR_SERVER_CERT_FILE  */
+   YYSYMBOL_VAR_CONTROL_KEY_FILE = 102,     /* VAR_CONTROL_KEY_FILE  */
+   YYSYMBOL_VAR_CONTROL_CERT_FILE = 103,    /* VAR_CONTROL_CERT_FILE  */
+   YYSYMBOL_VAR_CONTROL_USE_CERT = 104,     /* VAR_CONTROL_USE_CERT  */
+   YYSYMBOL_VAR_TCP_REUSE_TIMEOUT = 105,    /* VAR_TCP_REUSE_TIMEOUT  */
+   YYSYMBOL_VAR_MAX_REUSE_TCP_QUERIES = 106, /* VAR_MAX_REUSE_TCP_QUERIES  */
+   YYSYMBOL_VAR_EXTENDED_STATISTICS = 107,  /* VAR_EXTENDED_STATISTICS  */
+   YYSYMBOL_VAR_LOCAL_DATA_PTR = 108,       /* VAR_LOCAL_DATA_PTR  */
+   YYSYMBOL_VAR_JOSTLE_TIMEOUT = 109,       /* VAR_JOSTLE_TIMEOUT  */
+   YYSYMBOL_VAR_STUB_PRIME = 110,           /* VAR_STUB_PRIME  */
+   YYSYMBOL_VAR_UNWANTED_REPLY_THRESHOLD = 111, /* VAR_UNWANTED_REPLY_THRESHOLD  */
+   YYSYMBOL_VAR_LOG_TIME_ASCII = 112,       /* VAR_LOG_TIME_ASCII  */
+   YYSYMBOL_VAR_DOMAIN_INSECURE = 113,      /* VAR_DOMAIN_INSECURE  */
+   YYSYMBOL_VAR_PYTHON = 114,               /* VAR_PYTHON  */
+   YYSYMBOL_VAR_PYTHON_SCRIPT = 115,        /* VAR_PYTHON_SCRIPT  */
+   YYSYMBOL_VAR_VAL_SIG_SKEW_MIN = 116,     /* VAR_VAL_SIG_SKEW_MIN  */
+   YYSYMBOL_VAR_VAL_SIG_SKEW_MAX = 117,     /* VAR_VAL_SIG_SKEW_MAX  */
+   YYSYMBOL_VAR_VAL_MAX_RESTART = 118,      /* VAR_VAL_MAX_RESTART  */
+   YYSYMBOL_VAR_CACHE_MIN_TTL = 119,        /* VAR_CACHE_MIN_TTL  */
+   YYSYMBOL_VAR_VAL_LOG_LEVEL = 120,        /* VAR_VAL_LOG_LEVEL  */
+   YYSYMBOL_VAR_AUTO_TRUST_ANCHOR_FILE = 121, /* VAR_AUTO_TRUST_ANCHOR_FILE  */
+   YYSYMBOL_VAR_KEEP_MISSING = 122,         /* VAR_KEEP_MISSING  */
+   YYSYMBOL_VAR_ADD_HOLDDOWN = 123,         /* VAR_ADD_HOLDDOWN  */
+   YYSYMBOL_VAR_DEL_HOLDDOWN = 124,         /* VAR_DEL_HOLDDOWN  */
+   YYSYMBOL_VAR_SO_RCVBUF = 125,            /* VAR_SO_RCVBUF  */
+   YYSYMBOL_VAR_EDNS_BUFFER_SIZE = 126,     /* VAR_EDNS_BUFFER_SIZE  */
+   YYSYMBOL_VAR_PREFETCH = 127,             /* VAR_PREFETCH  */
+   YYSYMBOL_VAR_PREFETCH_KEY = 128,         /* VAR_PREFETCH_KEY  */
+   YYSYMBOL_VAR_SO_SNDBUF = 129,            /* VAR_SO_SNDBUF  */
+   YYSYMBOL_VAR_SO_REUSEPORT = 130,         /* VAR_SO_REUSEPORT  */
+   YYSYMBOL_VAR_HARDEN_BELOW_NXDOMAIN = 131, /* VAR_HARDEN_BELOW_NXDOMAIN  */
+   YYSYMBOL_VAR_IGNORE_CD_FLAG = 132,       /* VAR_IGNORE_CD_FLAG  */
+   YYSYMBOL_VAR_LOG_QUERIES = 133,          /* VAR_LOG_QUERIES  */
+   YYSYMBOL_VAR_LOG_REPLIES = 134,          /* VAR_LOG_REPLIES  */
+   YYSYMBOL_VAR_LOG_LOCAL_ACTIONS = 135,    /* VAR_LOG_LOCAL_ACTIONS  */
+   YYSYMBOL_VAR_TCP_UPSTREAM = 136,         /* VAR_TCP_UPSTREAM  */
+   YYSYMBOL_VAR_SSL_UPSTREAM = 137,         /* VAR_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_TCP_AUTH_QUERY_TIMEOUT = 138, /* VAR_TCP_AUTH_QUERY_TIMEOUT  */
+   YYSYMBOL_VAR_SSL_SERVICE_KEY = 139,      /* VAR_SSL_SERVICE_KEY  */
+   YYSYMBOL_VAR_SSL_SERVICE_PEM = 140,      /* VAR_SSL_SERVICE_PEM  */
+   YYSYMBOL_VAR_SSL_PORT = 141,             /* VAR_SSL_PORT  */
+   YYSYMBOL_VAR_FORWARD_FIRST = 142,        /* VAR_FORWARD_FIRST  */
+   YYSYMBOL_VAR_STUB_SSL_UPSTREAM = 143,    /* VAR_STUB_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_FORWARD_SSL_UPSTREAM = 144, /* VAR_FORWARD_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_TLS_CERT_BUNDLE = 145,      /* VAR_TLS_CERT_BUNDLE  */
+   YYSYMBOL_VAR_STUB_TCP_UPSTREAM = 146,    /* VAR_STUB_TCP_UPSTREAM  */
+   YYSYMBOL_VAR_FORWARD_TCP_UPSTREAM = 147, /* VAR_FORWARD_TCP_UPSTREAM  */
+   YYSYMBOL_VAR_HTTPS_PORT = 148,           /* VAR_HTTPS_PORT  */
+   YYSYMBOL_VAR_HTTP_ENDPOINT = 149,        /* VAR_HTTP_ENDPOINT  */
+   YYSYMBOL_VAR_HTTP_MAX_STREAMS = 150,     /* VAR_HTTP_MAX_STREAMS  */
+   YYSYMBOL_VAR_HTTP_QUERY_BUFFER_SIZE = 151, /* VAR_HTTP_QUERY_BUFFER_SIZE  */
+   YYSYMBOL_VAR_HTTP_RESPONSE_BUFFER_SIZE = 152, /* VAR_HTTP_RESPONSE_BUFFER_SIZE  */
+   YYSYMBOL_VAR_HTTP_NODELAY = 153,         /* VAR_HTTP_NODELAY  */
+   YYSYMBOL_VAR_HTTP_NOTLS_DOWNSTREAM = 154, /* VAR_HTTP_NOTLS_DOWNSTREAM  */
+   YYSYMBOL_VAR_STUB_FIRST = 155,           /* VAR_STUB_FIRST  */
+   YYSYMBOL_VAR_MINIMAL_RESPONSES = 156,    /* VAR_MINIMAL_RESPONSES  */
+   YYSYMBOL_VAR_RRSET_ROUNDROBIN = 157,     /* VAR_RRSET_ROUNDROBIN  */
+   YYSYMBOL_VAR_MAX_UDP_SIZE = 158,         /* VAR_MAX_UDP_SIZE  */
+   YYSYMBOL_VAR_DELAY_CLOSE = 159,          /* VAR_DELAY_CLOSE  */
+   YYSYMBOL_VAR_UDP_CONNECT = 160,          /* VAR_UDP_CONNECT  */
+   YYSYMBOL_VAR_UNBLOCK_LAN_ZONES = 161,    /* VAR_UNBLOCK_LAN_ZONES  */
+   YYSYMBOL_VAR_INSECURE_LAN_ZONES = 162,   /* VAR_INSECURE_LAN_ZONES  */
+   YYSYMBOL_VAR_INFRA_CACHE_MIN_RTT = 163,  /* VAR_INFRA_CACHE_MIN_RTT  */
+   YYSYMBOL_VAR_INFRA_KEEP_PROBING = 164,   /* VAR_INFRA_KEEP_PROBING  */
+   YYSYMBOL_VAR_DNS64_PREFIX = 165,         /* VAR_DNS64_PREFIX  */
+   YYSYMBOL_VAR_DNS64_SYNTHALL = 166,       /* VAR_DNS64_SYNTHALL  */
+   YYSYMBOL_VAR_DNS64_IGNORE_AAAA = 167,    /* VAR_DNS64_IGNORE_AAAA  */
+   YYSYMBOL_VAR_DNSTAP = 168,               /* VAR_DNSTAP  */
+   YYSYMBOL_VAR_DNSTAP_ENABLE = 169,        /* VAR_DNSTAP_ENABLE  */
+   YYSYMBOL_VAR_DNSTAP_SOCKET_PATH = 170,   /* VAR_DNSTAP_SOCKET_PATH  */
+   YYSYMBOL_VAR_DNSTAP_IP = 171,            /* VAR_DNSTAP_IP  */
+   YYSYMBOL_VAR_DNSTAP_TLS = 172,           /* VAR_DNSTAP_TLS  */
+   YYSYMBOL_VAR_DNSTAP_TLS_SERVER_NAME = 173, /* VAR_DNSTAP_TLS_SERVER_NAME  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CERT_BUNDLE = 174, /* VAR_DNSTAP_TLS_CERT_BUNDLE  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 175, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 176, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE  */
+   YYSYMBOL_VAR_DNSTAP_SEND_IDENTITY = 177, /* VAR_DNSTAP_SEND_IDENTITY  */
+   YYSYMBOL_VAR_DNSTAP_SEND_VERSION = 178,  /* VAR_DNSTAP_SEND_VERSION  */
+   YYSYMBOL_VAR_DNSTAP_BIDIRECTIONAL = 179, /* VAR_DNSTAP_BIDIRECTIONAL  */
+   YYSYMBOL_VAR_DNSTAP_IDENTITY = 180,      /* VAR_DNSTAP_IDENTITY  */
+   YYSYMBOL_VAR_DNSTAP_VERSION = 181,       /* VAR_DNSTAP_VERSION  */
+   YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 182, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 183, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 184, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 185, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 186, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 187, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_RESPONSE_IP_TAG = 188,      /* VAR_RESPONSE_IP_TAG  */
+   YYSYMBOL_VAR_RESPONSE_IP = 189,          /* VAR_RESPONSE_IP  */
+   YYSYMBOL_VAR_RESPONSE_IP_DATA = 190,     /* VAR_RESPONSE_IP_DATA  */
+   YYSYMBOL_VAR_HARDEN_ALGO_DOWNGRADE = 191, /* VAR_HARDEN_ALGO_DOWNGRADE  */
+   YYSYMBOL_VAR_IP_TRANSPARENT = 192,       /* VAR_IP_TRANSPARENT  */
+   YYSYMBOL_VAR_IP_DSCP = 193,              /* VAR_IP_DSCP  */
+   YYSYMBOL_VAR_DISABLE_DNSSEC_LAME_CHECK = 194, /* VAR_DISABLE_DNSSEC_LAME_CHECK  */
+   YYSYMBOL_VAR_IP_RATELIMIT = 195,         /* VAR_IP_RATELIMIT  */
+   YYSYMBOL_VAR_IP_RATELIMIT_SLABS = 196,   /* VAR_IP_RATELIMIT_SLABS  */
+   YYSYMBOL_VAR_IP_RATELIMIT_SIZE = 197,    /* VAR_IP_RATELIMIT_SIZE  */
+   YYSYMBOL_VAR_RATELIMIT = 198,            /* VAR_RATELIMIT  */
+   YYSYMBOL_VAR_RATELIMIT_SLABS = 199,      /* VAR_RATELIMIT_SLABS  */
+   YYSYMBOL_VAR_RATELIMIT_SIZE = 200,       /* VAR_RATELIMIT_SIZE  */
+   YYSYMBOL_VAR_OUTBOUND_MSG_RETRY = 201,   /* VAR_OUTBOUND_MSG_RETRY  */
+   YYSYMBOL_VAR_RATELIMIT_FOR_DOMAIN = 202, /* VAR_RATELIMIT_FOR_DOMAIN  */
+   YYSYMBOL_VAR_RATELIMIT_BELOW_DOMAIN = 203, /* VAR_RATELIMIT_BELOW_DOMAIN  */
+   YYSYMBOL_VAR_IP_RATELIMIT_FACTOR = 204,  /* VAR_IP_RATELIMIT_FACTOR  */
+   YYSYMBOL_VAR_RATELIMIT_FACTOR = 205,     /* VAR_RATELIMIT_FACTOR  */
+   YYSYMBOL_VAR_SEND_CLIENT_SUBNET = 206,   /* VAR_SEND_CLIENT_SUBNET  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_ZONE = 207,   /* VAR_CLIENT_SUBNET_ZONE  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 208, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_OPCODE = 209, /* VAR_CLIENT_SUBNET_OPCODE  */
+   YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV4 = 210, /* VAR_MAX_CLIENT_SUBNET_IPV4  */
+   YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV6 = 211, /* VAR_MAX_CLIENT_SUBNET_IPV6  */
+   YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV4 = 212, /* VAR_MIN_CLIENT_SUBNET_IPV4  */
+   YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV6 = 213, /* VAR_MIN_CLIENT_SUBNET_IPV6  */
+   YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV4 = 214, /* VAR_MAX_ECS_TREE_SIZE_IPV4  */
+   YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV6 = 215, /* VAR_MAX_ECS_TREE_SIZE_IPV6  */
+   YYSYMBOL_VAR_CAPS_WHITELIST = 216,       /* VAR_CAPS_WHITELIST  */
+   YYSYMBOL_VAR_CACHE_MAX_NEGATIVE_TTL = 217, /* VAR_CACHE_MAX_NEGATIVE_TTL  */
+   YYSYMBOL_VAR_PERMIT_SMALL_HOLDDOWN = 218, /* VAR_PERMIT_SMALL_HOLDDOWN  */
+   YYSYMBOL_VAR_QNAME_MINIMISATION = 219,   /* VAR_QNAME_MINIMISATION  */
+   YYSYMBOL_VAR_QNAME_MINIMISATION_STRICT = 220, /* VAR_QNAME_MINIMISATION_STRICT  */
+   YYSYMBOL_VAR_IP_FREEBIND = 221,          /* VAR_IP_FREEBIND  */
+   YYSYMBOL_VAR_DEFINE_TAG = 222,           /* VAR_DEFINE_TAG  */
+   YYSYMBOL_VAR_LOCAL_ZONE_TAG = 223,       /* VAR_LOCAL_ZONE_TAG  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG = 224,   /* VAR_ACCESS_CONTROL_TAG  */
+   YYSYMBOL_VAR_LOCAL_ZONE_OVERRIDE = 225,  /* VAR_LOCAL_ZONE_OVERRIDE  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG_ACTION = 226, /* VAR_ACCESS_CONTROL_TAG_ACTION  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG_DATA = 227, /* VAR_ACCESS_CONTROL_TAG_DATA  */
+   YYSYMBOL_VAR_VIEW = 228,                 /* VAR_VIEW  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_VIEW = 229,  /* VAR_ACCESS_CONTROL_VIEW  */
+   YYSYMBOL_VAR_VIEW_FIRST = 230,           /* VAR_VIEW_FIRST  */
+   YYSYMBOL_VAR_SERVE_EXPIRED = 231,        /* VAR_SERVE_EXPIRED  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_TTL = 232,    /* VAR_SERVE_EXPIRED_TTL  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_TTL_RESET = 233, /* VAR_SERVE_EXPIRED_TTL_RESET  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_REPLY_TTL = 234, /* VAR_SERVE_EXPIRED_REPLY_TTL  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 235, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT  */
+   YYSYMBOL_VAR_SERVE_ORIGINAL_TTL = 236,   /* VAR_SERVE_ORIGINAL_TTL  */
+   YYSYMBOL_VAR_FAKE_DSA = 237,             /* VAR_FAKE_DSA  */
+   YYSYMBOL_VAR_FAKE_SHA1 = 238,            /* VAR_FAKE_SHA1  */
+   YYSYMBOL_VAR_LOG_IDENTITY = 239,         /* VAR_LOG_IDENTITY  */
+   YYSYMBOL_VAR_HIDE_TRUSTANCHOR = 240,     /* VAR_HIDE_TRUSTANCHOR  */
+   YYSYMBOL_VAR_HIDE_HTTP_USER_AGENT = 241, /* VAR_HIDE_HTTP_USER_AGENT  */
+   YYSYMBOL_VAR_HTTP_USER_AGENT = 242,      /* VAR_HTTP_USER_AGENT  */
+   YYSYMBOL_VAR_TRUST_ANCHOR_SIGNALING = 243, /* VAR_TRUST_ANCHOR_SIGNALING  */
+   YYSYMBOL_VAR_AGGRESSIVE_NSEC = 244,      /* VAR_AGGRESSIVE_NSEC  */
+   YYSYMBOL_VAR_USE_SYSTEMD = 245,          /* VAR_USE_SYSTEMD  */
+   YYSYMBOL_VAR_SHM_ENABLE = 246,           /* VAR_SHM_ENABLE  */
+   YYSYMBOL_VAR_SHM_KEY = 247,              /* VAR_SHM_KEY  */
+   YYSYMBOL_VAR_ROOT_KEY_SENTINEL = 248,    /* VAR_ROOT_KEY_SENTINEL  */
+   YYSYMBOL_VAR_DNSCRYPT = 249,             /* VAR_DNSCRYPT  */
+   YYSYMBOL_VAR_DNSCRYPT_ENABLE = 250,      /* VAR_DNSCRYPT_ENABLE  */
+   YYSYMBOL_VAR_DNSCRYPT_PORT = 251,        /* VAR_DNSCRYPT_PORT  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER = 252,    /* VAR_DNSCRYPT_PROVIDER  */
+   YYSYMBOL_VAR_DNSCRYPT_SECRET_KEY = 253,  /* VAR_DNSCRYPT_SECRET_KEY  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT = 254, /* VAR_DNSCRYPT_PROVIDER_CERT  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 255, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED  */
+   YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 256, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE  */
+   YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 257, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS  */
+   YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SIZE = 258, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE  */
+   YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SLABS = 259, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS  */
+   YYSYMBOL_VAR_PAD_RESPONSES = 260,        /* VAR_PAD_RESPONSES  */
+   YYSYMBOL_VAR_PAD_RESPONSES_BLOCK_SIZE = 261, /* VAR_PAD_RESPONSES_BLOCK_SIZE  */
+   YYSYMBOL_VAR_PAD_QUERIES = 262,          /* VAR_PAD_QUERIES  */
+   YYSYMBOL_VAR_PAD_QUERIES_BLOCK_SIZE = 263, /* VAR_PAD_QUERIES_BLOCK_SIZE  */
+   YYSYMBOL_VAR_IPSECMOD_ENABLED = 264,     /* VAR_IPSECMOD_ENABLED  */
+   YYSYMBOL_VAR_IPSECMOD_HOOK = 265,        /* VAR_IPSECMOD_HOOK  */
+   YYSYMBOL_VAR_IPSECMOD_IGNORE_BOGUS = 266, /* VAR_IPSECMOD_IGNORE_BOGUS  */
+   YYSYMBOL_VAR_IPSECMOD_MAX_TTL = 267,     /* VAR_IPSECMOD_MAX_TTL  */
+   YYSYMBOL_VAR_IPSECMOD_WHITELIST = 268,   /* VAR_IPSECMOD_WHITELIST  */
+   YYSYMBOL_VAR_IPSECMOD_STRICT = 269,      /* VAR_IPSECMOD_STRICT  */
+   YYSYMBOL_VAR_CACHEDB = 270,              /* VAR_CACHEDB  */
+   YYSYMBOL_VAR_CACHEDB_BACKEND = 271,      /* VAR_CACHEDB_BACKEND  */
+   YYSYMBOL_VAR_CACHEDB_SECRETSEED = 272,   /* VAR_CACHEDB_SECRETSEED  */
+   YYSYMBOL_VAR_CACHEDB_REDISHOST = 273,    /* VAR_CACHEDB_REDISHOST  */
+   YYSYMBOL_VAR_CACHEDB_REDISPORT = 274,    /* VAR_CACHEDB_REDISPORT  */
+   YYSYMBOL_VAR_CACHEDB_REDISTIMEOUT = 275, /* VAR_CACHEDB_REDISTIMEOUT  */
+   YYSYMBOL_VAR_CACHEDB_REDISEXPIRERECORDS = 276, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
+   YYSYMBOL_VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 277, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
+   YYSYMBOL_VAR_FOR_UPSTREAM = 278,         /* VAR_FOR_UPSTREAM  */
+   YYSYMBOL_VAR_AUTH_ZONE = 279,            /* VAR_AUTH_ZONE  */
+   YYSYMBOL_VAR_ZONEFILE = 280,             /* VAR_ZONEFILE  */
+   YYSYMBOL_VAR_MASTER = 281,               /* VAR_MASTER  */
+   YYSYMBOL_VAR_URL = 282,                  /* VAR_URL  */
+   YYSYMBOL_VAR_FOR_DOWNSTREAM = 283,       /* VAR_FOR_DOWNSTREAM  */
+   YYSYMBOL_VAR_FALLBACK_ENABLED = 284,     /* VAR_FALLBACK_ENABLED  */
+   YYSYMBOL_VAR_TLS_ADDITIONAL_PORT = 285,  /* VAR_TLS_ADDITIONAL_PORT  */
+   YYSYMBOL_VAR_LOW_RTT = 286,              /* VAR_LOW_RTT  */
+   YYSYMBOL_VAR_LOW_RTT_PERMIL = 287,       /* VAR_LOW_RTT_PERMIL  */
+   YYSYMBOL_VAR_FAST_SERVER_PERMIL = 288,   /* VAR_FAST_SERVER_PERMIL  */
+   YYSYMBOL_VAR_FAST_SERVER_NUM = 289,      /* VAR_FAST_SERVER_NUM  */
+   YYSYMBOL_VAR_ALLOW_NOTIFY = 290,         /* VAR_ALLOW_NOTIFY  */
+   YYSYMBOL_VAR_TLS_WIN_CERT = 291,         /* VAR_TLS_WIN_CERT  */
+   YYSYMBOL_VAR_TCP_CONNECTION_LIMIT = 292, /* VAR_TCP_CONNECTION_LIMIT  */
+   YYSYMBOL_VAR_FORWARD_NO_CACHE = 293,     /* VAR_FORWARD_NO_CACHE  */
+   YYSYMBOL_VAR_STUB_NO_CACHE = 294,        /* VAR_STUB_NO_CACHE  */
+   YYSYMBOL_VAR_LOG_SERVFAIL = 295,         /* VAR_LOG_SERVFAIL  */
+   YYSYMBOL_VAR_DENY_ANY = 296,             /* VAR_DENY_ANY  */
+   YYSYMBOL_VAR_UNKNOWN_SERVER_TIME_LIMIT = 297, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
+   YYSYMBOL_VAR_LOG_TAG_QUERYREPLY = 298,   /* VAR_LOG_TAG_QUERYREPLY  */
+   YYSYMBOL_VAR_STREAM_WAIT_SIZE = 299,     /* VAR_STREAM_WAIT_SIZE  */
+   YYSYMBOL_VAR_TLS_CIPHERS = 300,          /* VAR_TLS_CIPHERS  */
+   YYSYMBOL_VAR_TLS_CIPHERSUITES = 301,     /* VAR_TLS_CIPHERSUITES  */
+   YYSYMBOL_VAR_TLS_USE_SNI = 302,          /* VAR_TLS_USE_SNI  */
+   YYSYMBOL_VAR_IPSET = 303,                /* VAR_IPSET  */
+   YYSYMBOL_VAR_IPSET_NAME_V4 = 304,        /* VAR_IPSET_NAME_V4  */
+   YYSYMBOL_VAR_IPSET_NAME_V6 = 305,        /* VAR_IPSET_NAME_V6  */
+   YYSYMBOL_VAR_TLS_SESSION_TICKET_KEYS = 306, /* VAR_TLS_SESSION_TICKET_KEYS  */
+   YYSYMBOL_VAR_RPZ = 307,                  /* VAR_RPZ  */
+   YYSYMBOL_VAR_TAGS = 308,                 /* VAR_TAGS  */
+   YYSYMBOL_VAR_RPZ_ACTION_OVERRIDE = 309,  /* VAR_RPZ_ACTION_OVERRIDE  */
+   YYSYMBOL_VAR_RPZ_CNAME_OVERRIDE = 310,   /* VAR_RPZ_CNAME_OVERRIDE  */
+   YYSYMBOL_VAR_RPZ_LOG = 311,              /* VAR_RPZ_LOG  */
+   YYSYMBOL_VAR_RPZ_LOG_NAME = 312,         /* VAR_RPZ_LOG_NAME  */
 -  YYSYMBOL_VAR_DYNLIB = 313,               /* VAR_DYNLIB  */
 -  YYSYMBOL_VAR_DYNLIB_FILE = 314,          /* VAR_DYNLIB_FILE  */
 -  YYSYMBOL_VAR_EDNS_CLIENT_STRING = 315,   /* VAR_EDNS_CLIENT_STRING  */
 -  YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 316, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
 -  YYSYMBOL_VAR_NSID = 317,                 /* VAR_NSID  */
 -  YYSYMBOL_VAR_ZONEMD_PERMISSIVE_MODE = 318, /* VAR_ZONEMD_PERMISSIVE_MODE  */
 -  YYSYMBOL_VAR_ZONEMD_CHECK = 319,         /* VAR_ZONEMD_CHECK  */
 -  YYSYMBOL_VAR_ZONEMD_REJECT_ABSENCE = 320, /* VAR_ZONEMD_REJECT_ABSENCE  */
 -  YYSYMBOL_VAR_RPZ_SIGNAL_NXDOMAIN_RA = 321, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA  */
 -  YYSYMBOL_YYACCEPT = 322,                 /* $accept  */
 -  YYSYMBOL_toplevelvars = 323,             /* toplevelvars  */
 -  YYSYMBOL_toplevelvar = 324,              /* toplevelvar  */
 -  YYSYMBOL_force_toplevel = 325,           /* force_toplevel  */
 -  YYSYMBOL_serverstart = 326,              /* serverstart  */
 -  YYSYMBOL_contents_server = 327,          /* contents_server  */
 -  YYSYMBOL_content_server = 328,           /* content_server  */
 -  YYSYMBOL_stubstart = 329,                /* stubstart  */
 -  YYSYMBOL_contents_stub = 330,            /* contents_stub  */
 -  YYSYMBOL_content_stub = 331,             /* content_stub  */
 -  YYSYMBOL_forwardstart = 332,             /* forwardstart  */
 -  YYSYMBOL_contents_forward = 333,         /* contents_forward  */
 -  YYSYMBOL_content_forward = 334,          /* content_forward  */
 -  YYSYMBOL_viewstart = 335,                /* viewstart  */
 -  YYSYMBOL_contents_view = 336,            /* contents_view  */
 -  YYSYMBOL_content_view = 337,             /* content_view  */
 -  YYSYMBOL_authstart = 338,                /* authstart  */
 -  YYSYMBOL_contents_auth = 339,            /* contents_auth  */
 -  YYSYMBOL_content_auth = 340,             /* content_auth  */
 -  YYSYMBOL_rpz_tag = 341,                  /* rpz_tag  */
 -  YYSYMBOL_rpz_action_override = 342,      /* rpz_action_override  */
 -  YYSYMBOL_rpz_cname_override = 343,       /* rpz_cname_override  */
 -  YYSYMBOL_rpz_log = 344,                  /* rpz_log  */
 -  YYSYMBOL_rpz_log_name = 345,             /* rpz_log_name  */
 -  YYSYMBOL_rpz_signal_nxdomain_ra = 346,   /* rpz_signal_nxdomain_ra  */
 -  YYSYMBOL_rpzstart = 347,                 /* rpzstart  */
 -  YYSYMBOL_contents_rpz = 348,             /* contents_rpz  */
 -  YYSYMBOL_content_rpz = 349,              /* content_rpz  */
 -  YYSYMBOL_server_num_threads = 350,       /* server_num_threads  */
 -  YYSYMBOL_server_verbosity = 351,         /* server_verbosity  */
 -  YYSYMBOL_server_statistics_interval = 352, /* server_statistics_interval  */
 -  YYSYMBOL_server_statistics_cumulative = 353, /* server_statistics_cumulative  */
 -  YYSYMBOL_server_extended_statistics = 354, /* server_extended_statistics  */
 -  YYSYMBOL_server_shm_enable = 355,        /* server_shm_enable  */
 -  YYSYMBOL_server_shm_key = 356,           /* server_shm_key  */
 -  YYSYMBOL_server_port = 357,              /* server_port  */
 -  YYSYMBOL_server_send_client_subnet = 358, /* server_send_client_subnet  */
 -  YYSYMBOL_server_client_subnet_zone = 359, /* server_client_subnet_zone  */
 -  YYSYMBOL_server_client_subnet_always_forward = 360, /* server_client_subnet_always_forward  */
 -  YYSYMBOL_server_client_subnet_opcode = 361, /* server_client_subnet_opcode  */
 -  YYSYMBOL_server_max_client_subnet_ipv4 = 362, /* server_max_client_subnet_ipv4  */
 -  YYSYMBOL_server_max_client_subnet_ipv6 = 363, /* server_max_client_subnet_ipv6  */
 -  YYSYMBOL_server_min_client_subnet_ipv4 = 364, /* server_min_client_subnet_ipv4  */
 -  YYSYMBOL_server_min_client_subnet_ipv6 = 365, /* server_min_client_subnet_ipv6  */
 -  YYSYMBOL_server_max_ecs_tree_size_ipv4 = 366, /* server_max_ecs_tree_size_ipv4  */
 -  YYSYMBOL_server_max_ecs_tree_size_ipv6 = 367, /* server_max_ecs_tree_size_ipv6  */
 -  YYSYMBOL_server_interface = 368,         /* server_interface  */
 -  YYSYMBOL_server_outgoing_interface = 369, /* server_outgoing_interface  */
 -  YYSYMBOL_server_outgoing_range = 370,    /* server_outgoing_range  */
 -  YYSYMBOL_server_outgoing_port_permit = 371, /* server_outgoing_port_permit  */
 -  YYSYMBOL_server_outgoing_port_avoid = 372, /* server_outgoing_port_avoid  */
 -  YYSYMBOL_server_outgoing_num_tcp = 373,  /* server_outgoing_num_tcp  */
 -  YYSYMBOL_server_incoming_num_tcp = 374,  /* server_incoming_num_tcp  */
 -  YYSYMBOL_server_interface_automatic = 375, /* server_interface_automatic  */
 -  YYSYMBOL_server_do_ip4 = 376,            /* server_do_ip4  */
 -  YYSYMBOL_server_do_ip6 = 377,            /* server_do_ip6  */
 -  YYSYMBOL_server_do_udp = 378,            /* server_do_udp  */
 -  YYSYMBOL_server_do_tcp = 379,            /* server_do_tcp  */
 -  YYSYMBOL_server_prefer_ip4 = 380,        /* server_prefer_ip4  */
 -  YYSYMBOL_server_prefer_ip6 = 381,        /* server_prefer_ip6  */
 -  YYSYMBOL_server_tcp_mss = 382,           /* server_tcp_mss  */
 -  YYSYMBOL_server_outgoing_tcp_mss = 383,  /* server_outgoing_tcp_mss  */
 -  YYSYMBOL_server_tcp_idle_timeout = 384,  /* server_tcp_idle_timeout  */
 -  YYSYMBOL_server_max_reuse_tcp_queries = 385, /* server_max_reuse_tcp_queries  */
 -  YYSYMBOL_server_tcp_reuse_timeout = 386, /* server_tcp_reuse_timeout  */
 -  YYSYMBOL_server_tcp_auth_query_timeout = 387, /* server_tcp_auth_query_timeout  */
 -  YYSYMBOL_server_tcp_keepalive = 388,     /* server_tcp_keepalive  */
 -  YYSYMBOL_server_tcp_keepalive_timeout = 389, /* server_tcp_keepalive_timeout  */
 -  YYSYMBOL_server_tcp_upstream = 390,      /* server_tcp_upstream  */
 -  YYSYMBOL_server_udp_upstream_without_downstream = 391, /* server_udp_upstream_without_downstream  */
 -  YYSYMBOL_server_ssl_upstream = 392,      /* server_ssl_upstream  */
 -  YYSYMBOL_server_ssl_service_key = 393,   /* server_ssl_service_key  */
 -  YYSYMBOL_server_ssl_service_pem = 394,   /* server_ssl_service_pem  */
 -  YYSYMBOL_server_ssl_port = 395,          /* server_ssl_port  */
 -  YYSYMBOL_server_tls_cert_bundle = 396,   /* server_tls_cert_bundle  */
 -  YYSYMBOL_server_tls_win_cert = 397,      /* server_tls_win_cert  */
 -  YYSYMBOL_server_tls_additional_port = 398, /* server_tls_additional_port  */
 -  YYSYMBOL_server_tls_ciphers = 399,       /* server_tls_ciphers  */
 -  YYSYMBOL_server_tls_ciphersuites = 400,  /* server_tls_ciphersuites  */
 -  YYSYMBOL_server_tls_session_ticket_keys = 401, /* server_tls_session_ticket_keys  */
 -  YYSYMBOL_server_tls_use_sni = 402,       /* server_tls_use_sni  */
 -  YYSYMBOL_server_https_port = 403,        /* server_https_port  */
 -  YYSYMBOL_server_http_endpoint = 404,     /* server_http_endpoint  */
 -  YYSYMBOL_server_http_max_streams = 405,  /* server_http_max_streams  */
 -  YYSYMBOL_server_http_query_buffer_size = 406, /* server_http_query_buffer_size  */
 -  YYSYMBOL_server_http_response_buffer_size = 407, /* server_http_response_buffer_size  */
 -  YYSYMBOL_server_http_nodelay = 408,      /* server_http_nodelay  */
 -  YYSYMBOL_server_http_notls_downstream = 409, /* server_http_notls_downstream  */
 -  YYSYMBOL_server_use_systemd = 410,       /* server_use_systemd  */
 -  YYSYMBOL_server_do_daemonize = 411,      /* server_do_daemonize  */
 -  YYSYMBOL_server_use_syslog = 412,        /* server_use_syslog  */
 -  YYSYMBOL_server_log_time_ascii = 413,    /* server_log_time_ascii  */
 -  YYSYMBOL_server_log_queries = 414,       /* server_log_queries  */
 -  YYSYMBOL_server_log_replies = 415,       /* server_log_replies  */
 -  YYSYMBOL_server_log_tag_queryreply = 416, /* server_log_tag_queryreply  */
 -  YYSYMBOL_server_log_servfail = 417,      /* server_log_servfail  */
 -  YYSYMBOL_server_log_local_actions = 418, /* server_log_local_actions  */
 -  YYSYMBOL_server_chroot = 419,            /* server_chroot  */
 -  YYSYMBOL_server_username = 420,          /* server_username  */
 -  YYSYMBOL_server_directory = 421,         /* server_directory  */
 -  YYSYMBOL_server_logfile = 422,           /* server_logfile  */
 -  YYSYMBOL_server_pidfile = 423,           /* server_pidfile  */
 -  YYSYMBOL_server_root_hints = 424,        /* server_root_hints  */
 -  YYSYMBOL_server_dlv_anchor_file = 425,   /* server_dlv_anchor_file  */
 -  YYSYMBOL_server_dlv_anchor = 426,        /* server_dlv_anchor  */
 -  YYSYMBOL_server_auto_trust_anchor_file = 427, /* server_auto_trust_anchor_file  */
 -  YYSYMBOL_server_trust_anchor_file = 428, /* server_trust_anchor_file  */
 -  YYSYMBOL_server_trusted_keys_file = 429, /* server_trusted_keys_file  */
 -  YYSYMBOL_server_trust_anchor = 430,      /* server_trust_anchor  */
 -  YYSYMBOL_server_trust_anchor_signaling = 431, /* server_trust_anchor_signaling  */
 -  YYSYMBOL_server_root_key_sentinel = 432, /* server_root_key_sentinel  */
 -  YYSYMBOL_server_domain_insecure = 433,   /* server_domain_insecure  */
 -  YYSYMBOL_server_hide_identity = 434,     /* server_hide_identity  */
 -  YYSYMBOL_server_hide_version = 435,      /* server_hide_version  */
 -  YYSYMBOL_server_hide_trustanchor = 436,  /* server_hide_trustanchor  */
 -  YYSYMBOL_server_hide_http_user_agent = 437, /* server_hide_http_user_agent  */
 -  YYSYMBOL_server_identity = 438,          /* server_identity  */
 -  YYSYMBOL_server_version = 439,           /* server_version  */
 -  YYSYMBOL_server_http_user_agent = 440,   /* server_http_user_agent  */
 -  YYSYMBOL_server_nsid = 441,              /* server_nsid  */
 -  YYSYMBOL_server_so_rcvbuf = 442,         /* server_so_rcvbuf  */
 -  YYSYMBOL_server_so_sndbuf = 443,         /* server_so_sndbuf  */
 -  YYSYMBOL_server_so_reuseport = 444,      /* server_so_reuseport  */
 -  YYSYMBOL_server_ip_transparent = 445,    /* server_ip_transparent  */
 -  YYSYMBOL_server_ip_freebind = 446,       /* server_ip_freebind  */
 -  YYSYMBOL_server_ip_dscp = 447,           /* server_ip_dscp  */
 -  YYSYMBOL_server_stream_wait_size = 448,  /* server_stream_wait_size  */
 -  YYSYMBOL_server_edns_buffer_size = 449,  /* server_edns_buffer_size  */
 -  YYSYMBOL_server_msg_buffer_size = 450,   /* server_msg_buffer_size  */
 -  YYSYMBOL_server_msg_cache_size = 451,    /* server_msg_cache_size  */
 -  YYSYMBOL_server_msg_cache_slabs = 452,   /* server_msg_cache_slabs  */
 -  YYSYMBOL_server_num_queries_per_thread = 453, /* server_num_queries_per_thread  */
 -  YYSYMBOL_server_jostle_timeout = 454,    /* server_jostle_timeout  */
 -  YYSYMBOL_server_delay_close = 455,       /* server_delay_close  */
 -  YYSYMBOL_server_udp_connect = 456,       /* server_udp_connect  */
 -  YYSYMBOL_server_unblock_lan_zones = 457, /* server_unblock_lan_zones  */
 -  YYSYMBOL_server_insecure_lan_zones = 458, /* server_insecure_lan_zones  */
 -  YYSYMBOL_server_rrset_cache_size = 459,  /* server_rrset_cache_size  */
 -  YYSYMBOL_server_rrset_cache_slabs = 460, /* server_rrset_cache_slabs  */
 -  YYSYMBOL_server_infra_host_ttl = 461,    /* server_infra_host_ttl  */
 -  YYSYMBOL_server_infra_lame_ttl = 462,    /* server_infra_lame_ttl  */
 -  YYSYMBOL_server_infra_cache_numhosts = 463, /* server_infra_cache_numhosts  */
 -  YYSYMBOL_server_infra_cache_lame_size = 464, /* server_infra_cache_lame_size  */
 -  YYSYMBOL_server_infra_cache_slabs = 465, /* server_infra_cache_slabs  */
 -  YYSYMBOL_server_infra_cache_min_rtt = 466, /* server_infra_cache_min_rtt  */
 -  YYSYMBOL_server_infra_keep_probing = 467, /* server_infra_keep_probing  */
 -  YYSYMBOL_server_target_fetch_policy = 468, /* server_target_fetch_policy  */
 -  YYSYMBOL_server_harden_short_bufsize = 469, /* server_harden_short_bufsize  */
 -  YYSYMBOL_server_harden_large_queries = 470, /* server_harden_large_queries  */
 -  YYSYMBOL_server_harden_glue = 471,       /* server_harden_glue  */
 -  YYSYMBOL_server_harden_dnssec_stripped = 472, /* server_harden_dnssec_stripped  */
 -  YYSYMBOL_server_harden_below_nxdomain = 473, /* server_harden_below_nxdomain  */
 -  YYSYMBOL_server_harden_referral_path = 474, /* server_harden_referral_path  */
 -  YYSYMBOL_server_harden_algo_downgrade = 475, /* server_harden_algo_downgrade  */
 -  YYSYMBOL_server_use_caps_for_id = 476,   /* server_use_caps_for_id  */
 -  YYSYMBOL_server_caps_whitelist = 477,    /* server_caps_whitelist  */
 -  YYSYMBOL_server_private_address = 478,   /* server_private_address  */
 -  YYSYMBOL_server_private_domain = 479,    /* server_private_domain  */
 -  YYSYMBOL_server_prefetch = 480,          /* server_prefetch  */
 -  YYSYMBOL_server_prefetch_key = 481,      /* server_prefetch_key  */
 -  YYSYMBOL_server_deny_any = 482,          /* server_deny_any  */
 -  YYSYMBOL_server_unwanted_reply_threshold = 483, /* server_unwanted_reply_threshold  */
 -  YYSYMBOL_server_do_not_query_address = 484, /* server_do_not_query_address  */
 -  YYSYMBOL_server_do_not_query_localhost = 485, /* server_do_not_query_localhost  */
 -  YYSYMBOL_server_access_control = 486,    /* server_access_control  */
 -  YYSYMBOL_server_module_conf = 487,       /* server_module_conf  */
 -  YYSYMBOL_server_val_override_date = 488, /* server_val_override_date  */
 -  YYSYMBOL_server_val_sig_skew_min = 489,  /* server_val_sig_skew_min  */
 -  YYSYMBOL_server_val_sig_skew_max = 490,  /* server_val_sig_skew_max  */
 -  YYSYMBOL_server_val_max_restart = 491,   /* server_val_max_restart  */
 -  YYSYMBOL_server_cache_max_ttl = 492,     /* server_cache_max_ttl  */
 -  YYSYMBOL_server_cache_max_negative_ttl = 493, /* server_cache_max_negative_ttl  */
 -  YYSYMBOL_server_cache_min_ttl = 494,     /* server_cache_min_ttl  */
 -  YYSYMBOL_server_bogus_ttl = 495,         /* server_bogus_ttl  */
 -  YYSYMBOL_server_val_clean_additional = 496, /* server_val_clean_additional  */
 -  YYSYMBOL_server_val_permissive_mode = 497, /* server_val_permissive_mode  */
 -  YYSYMBOL_server_aggressive_nsec = 498,   /* server_aggressive_nsec  */
 -  YYSYMBOL_server_ignore_cd_flag = 499,    /* server_ignore_cd_flag  */
 -  YYSYMBOL_server_serve_expired = 500,     /* server_serve_expired  */
 -  YYSYMBOL_server_serve_expired_ttl = 501, /* server_serve_expired_ttl  */
 -  YYSYMBOL_server_serve_expired_ttl_reset = 502, /* server_serve_expired_ttl_reset  */
 -  YYSYMBOL_server_serve_expired_reply_ttl = 503, /* server_serve_expired_reply_ttl  */
 -  YYSYMBOL_server_serve_expired_client_timeout = 504, /* server_serve_expired_client_timeout  */
 -  YYSYMBOL_server_serve_original_ttl = 505, /* server_serve_original_ttl  */
 -  YYSYMBOL_server_fake_dsa = 506,          /* server_fake_dsa  */
 -  YYSYMBOL_server_fake_sha1 = 507,         /* server_fake_sha1  */
 -  YYSYMBOL_server_val_log_level = 508,     /* server_val_log_level  */
 -  YYSYMBOL_server_val_nsec3_keysize_iterations = 509, /* server_val_nsec3_keysize_iterations  */
 -  YYSYMBOL_server_zonemd_permissive_mode = 510, /* server_zonemd_permissive_mode  */
 -  YYSYMBOL_server_add_holddown = 511,      /* server_add_holddown  */
 -  YYSYMBOL_server_del_holddown = 512,      /* server_del_holddown  */
 -  YYSYMBOL_server_keep_missing = 513,      /* server_keep_missing  */
 -  YYSYMBOL_server_permit_small_holddown = 514, /* server_permit_small_holddown  */
 -  YYSYMBOL_server_key_cache_size = 515,    /* server_key_cache_size  */
 -  YYSYMBOL_server_key_cache_slabs = 516,   /* server_key_cache_slabs  */
 -  YYSYMBOL_server_neg_cache_size = 517,    /* server_neg_cache_size  */
 -  YYSYMBOL_server_local_zone = 518,        /* server_local_zone  */
 -  YYSYMBOL_server_local_data = 519,        /* server_local_data  */
 -  YYSYMBOL_server_local_data_ptr = 520,    /* server_local_data_ptr  */
 -  YYSYMBOL_server_minimal_responses = 521, /* server_minimal_responses  */
 -  YYSYMBOL_server_rrset_roundrobin = 522,  /* server_rrset_roundrobin  */
 -  YYSYMBOL_server_unknown_server_time_limit = 523, /* server_unknown_server_time_limit  */
 -  YYSYMBOL_server_max_udp_size = 524,      /* server_max_udp_size  */
 -  YYSYMBOL_server_dns64_prefix = 525,      /* server_dns64_prefix  */
 -  YYSYMBOL_server_dns64_synthall = 526,    /* server_dns64_synthall  */
 -  YYSYMBOL_server_dns64_ignore_aaaa = 527, /* server_dns64_ignore_aaaa  */
 -  YYSYMBOL_server_define_tag = 528,        /* server_define_tag  */
 -  YYSYMBOL_server_local_zone_tag = 529,    /* server_local_zone_tag  */
 -  YYSYMBOL_server_access_control_tag = 530, /* server_access_control_tag  */
 -  YYSYMBOL_server_access_control_tag_action = 531, /* server_access_control_tag_action  */
 -  YYSYMBOL_server_access_control_tag_data = 532, /* server_access_control_tag_data  */
 -  YYSYMBOL_server_local_zone_override = 533, /* server_local_zone_override  */
 -  YYSYMBOL_server_access_control_view = 534, /* server_access_control_view  */
 -  YYSYMBOL_server_response_ip_tag = 535,   /* server_response_ip_tag  */
 -  YYSYMBOL_server_ip_ratelimit = 536,      /* server_ip_ratelimit  */
 -  YYSYMBOL_server_ratelimit = 537,         /* server_ratelimit  */
 -  YYSYMBOL_server_ip_ratelimit_size = 538, /* server_ip_ratelimit_size  */
 -  YYSYMBOL_server_ratelimit_size = 539,    /* server_ratelimit_size  */
 -  YYSYMBOL_server_ip_ratelimit_slabs = 540, /* server_ip_ratelimit_slabs  */
 -  YYSYMBOL_server_ratelimit_slabs = 541,   /* server_ratelimit_slabs  */
 -  YYSYMBOL_server_ratelimit_for_domain = 542, /* server_ratelimit_for_domain  */
 -  YYSYMBOL_server_ratelimit_below_domain = 543, /* server_ratelimit_below_domain  */
 -  YYSYMBOL_server_ip_ratelimit_factor = 544, /* server_ip_ratelimit_factor  */
 -  YYSYMBOL_server_ratelimit_factor = 545,  /* server_ratelimit_factor  */
 -  YYSYMBOL_server_outbound_msg_retry = 546, /* server_outbound_msg_retry  */
 -  YYSYMBOL_server_low_rtt = 547,           /* server_low_rtt  */
 -  YYSYMBOL_server_fast_server_num = 548,   /* server_fast_server_num  */
 -  YYSYMBOL_server_fast_server_permil = 549, /* server_fast_server_permil  */
 -  YYSYMBOL_server_qname_minimisation = 550, /* server_qname_minimisation  */
 -  YYSYMBOL_server_qname_minimisation_strict = 551, /* server_qname_minimisation_strict  */
 -  YYSYMBOL_server_pad_responses = 552,     /* server_pad_responses  */
 -  YYSYMBOL_server_pad_responses_block_size = 553, /* server_pad_responses_block_size  */
 -  YYSYMBOL_server_pad_queries = 554,       /* server_pad_queries  */
 -  YYSYMBOL_server_pad_queries_block_size = 555, /* server_pad_queries_block_size  */
 -  YYSYMBOL_server_ipsecmod_enabled = 556,  /* server_ipsecmod_enabled  */
 -  YYSYMBOL_server_ipsecmod_ignore_bogus = 557, /* server_ipsecmod_ignore_bogus  */
 -  YYSYMBOL_server_ipsecmod_hook = 558,     /* server_ipsecmod_hook  */
 -  YYSYMBOL_server_ipsecmod_max_ttl = 559,  /* server_ipsecmod_max_ttl  */
 -  YYSYMBOL_server_ipsecmod_whitelist = 560, /* server_ipsecmod_whitelist  */
 -  YYSYMBOL_server_ipsecmod_strict = 561,   /* server_ipsecmod_strict  */
 -  YYSYMBOL_server_edns_client_string = 562, /* server_edns_client_string  */
 -  YYSYMBOL_server_edns_client_string_opcode = 563, /* server_edns_client_string_opcode  */
 -  YYSYMBOL_stub_name = 564,                /* stub_name  */
 -  YYSYMBOL_stub_host = 565,                /* stub_host  */
 -  YYSYMBOL_stub_addr = 566,                /* stub_addr  */
 -  YYSYMBOL_stub_first = 567,               /* stub_first  */
 -  YYSYMBOL_stub_no_cache = 568,            /* stub_no_cache  */
 -  YYSYMBOL_stub_ssl_upstream = 569,        /* stub_ssl_upstream  */
 -  YYSYMBOL_stub_tcp_upstream = 570,        /* stub_tcp_upstream  */
 -  YYSYMBOL_stub_prime = 571,               /* stub_prime  */
 -  YYSYMBOL_forward_name = 572,             /* forward_name  */
 -  YYSYMBOL_forward_host = 573,             /* forward_host  */
 -  YYSYMBOL_forward_addr = 574,             /* forward_addr  */
 -  YYSYMBOL_forward_first = 575,            /* forward_first  */
 -  YYSYMBOL_forward_no_cache = 576,         /* forward_no_cache  */
 -  YYSYMBOL_forward_ssl_upstream = 577,     /* forward_ssl_upstream  */
 -  YYSYMBOL_forward_tcp_upstream = 578,     /* forward_tcp_upstream  */
 -  YYSYMBOL_auth_name = 579,                /* auth_name  */
 -  YYSYMBOL_auth_zonefile = 580,            /* auth_zonefile  */
 -  YYSYMBOL_auth_master = 581,              /* auth_master  */
 -  YYSYMBOL_auth_url = 582,                 /* auth_url  */
 -  YYSYMBOL_auth_allow_notify = 583,        /* auth_allow_notify  */
 -  YYSYMBOL_auth_zonemd_check = 584,        /* auth_zonemd_check  */
 -  YYSYMBOL_auth_zonemd_reject_absence = 585, /* auth_zonemd_reject_absence  */
 -  YYSYMBOL_auth_for_downstream = 586,      /* auth_for_downstream  */
 -  YYSYMBOL_auth_for_upstream = 587,        /* auth_for_upstream  */
 -  YYSYMBOL_auth_fallback_enabled = 588,    /* auth_fallback_enabled  */
 -  YYSYMBOL_view_name = 589,                /* view_name  */
 -  YYSYMBOL_view_local_zone = 590,          /* view_local_zone  */
 -  YYSYMBOL_view_response_ip = 591,         /* view_response_ip  */
 -  YYSYMBOL_view_response_ip_data = 592,    /* view_response_ip_data  */
 -  YYSYMBOL_view_local_data = 593,          /* view_local_data  */
 -  YYSYMBOL_view_local_data_ptr = 594,      /* view_local_data_ptr  */
 -  YYSYMBOL_view_first = 595,               /* view_first  */
 -  YYSYMBOL_rcstart = 596,                  /* rcstart  */
 -  YYSYMBOL_contents_rc = 597,              /* contents_rc  */
 -  YYSYMBOL_content_rc = 598,               /* content_rc  */
 -  YYSYMBOL_rc_control_enable = 599,        /* rc_control_enable  */
 -  YYSYMBOL_rc_control_port = 600,          /* rc_control_port  */
 -  YYSYMBOL_rc_control_interface = 601,     /* rc_control_interface  */
 -  YYSYMBOL_rc_control_use_cert = 602,      /* rc_control_use_cert  */
 -  YYSYMBOL_rc_server_key_file = 603,       /* rc_server_key_file  */
 -  YYSYMBOL_rc_server_cert_file = 604,      /* rc_server_cert_file  */
 -  YYSYMBOL_rc_control_key_file = 605,      /* rc_control_key_file  */
 -  YYSYMBOL_rc_control_cert_file = 606,     /* rc_control_cert_file  */
 -  YYSYMBOL_dtstart = 607,                  /* dtstart  */
 -  YYSYMBOL_contents_dt = 608,              /* contents_dt  */
 -  YYSYMBOL_content_dt = 609,               /* content_dt  */
 -  YYSYMBOL_dt_dnstap_enable = 610,         /* dt_dnstap_enable  */
 -  YYSYMBOL_dt_dnstap_bidirectional = 611,  /* dt_dnstap_bidirectional  */
 -  YYSYMBOL_dt_dnstap_socket_path = 612,    /* dt_dnstap_socket_path  */
 -  YYSYMBOL_dt_dnstap_ip = 613,             /* dt_dnstap_ip  */
 -  YYSYMBOL_dt_dnstap_tls = 614,            /* dt_dnstap_tls  */
 -  YYSYMBOL_dt_dnstap_tls_server_name = 615, /* dt_dnstap_tls_server_name  */
 -  YYSYMBOL_dt_dnstap_tls_cert_bundle = 616, /* dt_dnstap_tls_cert_bundle  */
 -  YYSYMBOL_dt_dnstap_tls_client_key_file = 617, /* dt_dnstap_tls_client_key_file  */
 -  YYSYMBOL_dt_dnstap_tls_client_cert_file = 618, /* dt_dnstap_tls_client_cert_file  */
 -  YYSYMBOL_dt_dnstap_send_identity = 619,  /* dt_dnstap_send_identity  */
 -  YYSYMBOL_dt_dnstap_send_version = 620,   /* dt_dnstap_send_version  */
 -  YYSYMBOL_dt_dnstap_identity = 621,       /* dt_dnstap_identity  */
 -  YYSYMBOL_dt_dnstap_version = 622,        /* dt_dnstap_version  */
 -  YYSYMBOL_dt_dnstap_log_resolver_query_messages = 623, /* dt_dnstap_log_resolver_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_resolver_response_messages = 624, /* dt_dnstap_log_resolver_response_messages  */
 -  YYSYMBOL_dt_dnstap_log_client_query_messages = 625, /* dt_dnstap_log_client_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_client_response_messages = 626, /* dt_dnstap_log_client_response_messages  */
 -  YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 627, /* dt_dnstap_log_forwarder_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 628, /* dt_dnstap_log_forwarder_response_messages  */
 -  YYSYMBOL_pythonstart = 629,              /* pythonstart  */
 -  YYSYMBOL_contents_py = 630,              /* contents_py  */
 -  YYSYMBOL_content_py = 631,               /* content_py  */
 -  YYSYMBOL_py_script = 632,                /* py_script  */
 -  YYSYMBOL_dynlibstart = 633,              /* dynlibstart  */
 -  YYSYMBOL_contents_dl = 634,              /* contents_dl  */
 -  YYSYMBOL_content_dl = 635,               /* content_dl  */
 -  YYSYMBOL_dl_file = 636,                  /* dl_file  */
 -  YYSYMBOL_server_disable_dnssec_lame_check = 637, /* server_disable_dnssec_lame_check  */
 -  YYSYMBOL_server_log_identity = 638,      /* server_log_identity  */
 -  YYSYMBOL_server_response_ip = 639,       /* server_response_ip  */
 -  YYSYMBOL_server_response_ip_data = 640,  /* server_response_ip_data  */
 -  YYSYMBOL_dnscstart = 641,                /* dnscstart  */
 -  YYSYMBOL_contents_dnsc = 642,            /* contents_dnsc  */
 -  YYSYMBOL_content_dnsc = 643,             /* content_dnsc  */
 -  YYSYMBOL_dnsc_dnscrypt_enable = 644,     /* dnsc_dnscrypt_enable  */
 -  YYSYMBOL_dnsc_dnscrypt_port = 645,       /* dnsc_dnscrypt_port  */
 -  YYSYMBOL_dnsc_dnscrypt_provider = 646,   /* dnsc_dnscrypt_provider  */
 -  YYSYMBOL_dnsc_dnscrypt_provider_cert = 647, /* dnsc_dnscrypt_provider_cert  */
 -  YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 648, /* dnsc_dnscrypt_provider_cert_rotated  */
 -  YYSYMBOL_dnsc_dnscrypt_secret_key = 649, /* dnsc_dnscrypt_secret_key  */
 -  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 650, /* dnsc_dnscrypt_shared_secret_cache_size  */
 -  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 651, /* dnsc_dnscrypt_shared_secret_cache_slabs  */
 -  YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 652, /* dnsc_dnscrypt_nonce_cache_size  */
 -  YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 653, /* dnsc_dnscrypt_nonce_cache_slabs  */
 -  YYSYMBOL_cachedbstart = 654,             /* cachedbstart  */
 -  YYSYMBOL_contents_cachedb = 655,         /* contents_cachedb  */
 -  YYSYMBOL_content_cachedb = 656,          /* content_cachedb  */
 -  YYSYMBOL_cachedb_backend_name = 657,     /* cachedb_backend_name  */
 -  YYSYMBOL_cachedb_secret_seed = 658,      /* cachedb_secret_seed  */
 -  YYSYMBOL_redis_server_host = 659,        /* redis_server_host  */
 -  YYSYMBOL_redis_server_port = 660,        /* redis_server_port  */
 -  YYSYMBOL_redis_timeout = 661,            /* redis_timeout  */
 -  YYSYMBOL_redis_expire_records = 662,     /* redis_expire_records  */
 -  YYSYMBOL_server_tcp_connection_limit = 663, /* server_tcp_connection_limit  */
 -  YYSYMBOL_ipsetstart = 664,               /* ipsetstart  */
 -  YYSYMBOL_contents_ipset = 665,           /* contents_ipset  */
 -  YYSYMBOL_content_ipset = 666,            /* content_ipset  */
 -  YYSYMBOL_ipset_name_v4 = 667,            /* ipset_name_v4  */
 -  YYSYMBOL_ipset_name_v6 = 668             /* ipset_name_v6  */
++  YYSYMBOL_VAR_RPZ_DO_EDE = 313,           /* VAR_RPZ_DO_EDE  */
++  YYSYMBOL_VAR_DYNLIB = 314,               /* VAR_DYNLIB  */
++  YYSYMBOL_VAR_DYNLIB_FILE = 315,          /* VAR_DYNLIB_FILE  */
++  YYSYMBOL_VAR_EDNS_CLIENT_STRING = 316,   /* VAR_EDNS_CLIENT_STRING  */
++  YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 317, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
++  YYSYMBOL_VAR_NSID = 318,                 /* VAR_NSID  */
++  YYSYMBOL_VAR_ZONEMD_PERMISSIVE_MODE = 319, /* VAR_ZONEMD_PERMISSIVE_MODE  */
++  YYSYMBOL_VAR_ZONEMD_CHECK = 320,         /* VAR_ZONEMD_CHECK  */
++  YYSYMBOL_VAR_ZONEMD_REJECT_ABSENCE = 321, /* VAR_ZONEMD_REJECT_ABSENCE  */
++  YYSYMBOL_VAR_LOCAL_DATA_DO_EDE = 322,    /* VAR_LOCAL_DATA_DO_EDE  */
++  YYSYMBOL_VAR_LOCAL_ZONE_DEFAULT_EDE = 323, /* VAR_LOCAL_ZONE_DEFAULT_EDE  */
++  YYSYMBOL_VAR_EDE_LOCAL_ZONES = 324,      /* VAR_EDE_LOCAL_ZONES  */
++  YYSYMBOL_VAR_RPZ_SIGNAL_NXDOMAIN_RA = 325, /* VAR_RPZ_SIGNAL_NXDOMAIN_RA  */
++  YYSYMBOL_YYACCEPT = 326,                 /* $accept  */
++  YYSYMBOL_toplevelvars = 327,             /* toplevelvars  */
++  YYSYMBOL_toplevelvar = 328,              /* toplevelvar  */
++  YYSYMBOL_force_toplevel = 329,           /* force_toplevel  */
++  YYSYMBOL_serverstart = 330,              /* serverstart  */
++  YYSYMBOL_contents_server = 331,          /* contents_server  */
++  YYSYMBOL_content_server = 332,           /* content_server  */
++  YYSYMBOL_stubstart = 333,                /* stubstart  */
++  YYSYMBOL_contents_stub = 334,            /* contents_stub  */
++  YYSYMBOL_content_stub = 335,             /* content_stub  */
++  YYSYMBOL_forwardstart = 336,             /* forwardstart  */
++  YYSYMBOL_contents_forward = 337,         /* contents_forward  */
++  YYSYMBOL_content_forward = 338,          /* content_forward  */
++  YYSYMBOL_viewstart = 339,                /* viewstart  */
++  YYSYMBOL_contents_view = 340,            /* contents_view  */
++  YYSYMBOL_content_view = 341,             /* content_view  */
++  YYSYMBOL_authstart = 342,                /* authstart  */
++  YYSYMBOL_contents_auth = 343,            /* contents_auth  */
++  YYSYMBOL_content_auth = 344,             /* content_auth  */
++  YYSYMBOL_rpz_tag = 345,                  /* rpz_tag  */
++  YYSYMBOL_rpz_action_override = 346,      /* rpz_action_override  */
++  YYSYMBOL_rpz_cname_override = 347,       /* rpz_cname_override  */
++  YYSYMBOL_rpz_log = 348,                  /* rpz_log  */
++  YYSYMBOL_rpz_log_name = 349,             /* rpz_log_name  */
++  YYSYMBOL_rpz_signal_nxdomain_ra = 350,   /* rpz_signal_nxdomain_ra  */
++  YYSYMBOL_rpz_do_ede = 351,               /* rpz_do_ede  */
++  YYSYMBOL_rpzstart = 352,                 /* rpzstart  */
++  YYSYMBOL_contents_rpz = 353,             /* contents_rpz  */
++  YYSYMBOL_content_rpz = 354,              /* content_rpz  */
++  YYSYMBOL_server_num_threads = 355,       /* server_num_threads  */
++  YYSYMBOL_server_verbosity = 356,         /* server_verbosity  */
++  YYSYMBOL_server_statistics_interval = 357, /* server_statistics_interval  */
++  YYSYMBOL_server_statistics_cumulative = 358, /* server_statistics_cumulative  */
++  YYSYMBOL_server_extended_statistics = 359, /* server_extended_statistics  */
++  YYSYMBOL_server_shm_enable = 360,        /* server_shm_enable  */
++  YYSYMBOL_server_shm_key = 361,           /* server_shm_key  */
++  YYSYMBOL_server_port = 362,              /* server_port  */
++  YYSYMBOL_server_send_client_subnet = 363, /* server_send_client_subnet  */
++  YYSYMBOL_server_client_subnet_zone = 364, /* server_client_subnet_zone  */
++  YYSYMBOL_server_client_subnet_always_forward = 365, /* server_client_subnet_always_forward  */
++  YYSYMBOL_server_client_subnet_opcode = 366, /* server_client_subnet_opcode  */
++  YYSYMBOL_server_max_client_subnet_ipv4 = 367, /* server_max_client_subnet_ipv4  */
++  YYSYMBOL_server_max_client_subnet_ipv6 = 368, /* server_max_client_subnet_ipv6  */
++  YYSYMBOL_server_min_client_subnet_ipv4 = 369, /* server_min_client_subnet_ipv4  */
++  YYSYMBOL_server_min_client_subnet_ipv6 = 370, /* server_min_client_subnet_ipv6  */
++  YYSYMBOL_server_max_ecs_tree_size_ipv4 = 371, /* server_max_ecs_tree_size_ipv4  */
++  YYSYMBOL_server_max_ecs_tree_size_ipv6 = 372, /* server_max_ecs_tree_size_ipv6  */
++  YYSYMBOL_server_interface = 373,         /* server_interface  */
++  YYSYMBOL_server_outgoing_interface = 374, /* server_outgoing_interface  */
++  YYSYMBOL_server_outgoing_range = 375,    /* server_outgoing_range  */
++  YYSYMBOL_server_outgoing_port_permit = 376, /* server_outgoing_port_permit  */
++  YYSYMBOL_server_outgoing_port_avoid = 377, /* server_outgoing_port_avoid  */
++  YYSYMBOL_server_outgoing_num_tcp = 378,  /* server_outgoing_num_tcp  */
++  YYSYMBOL_server_incoming_num_tcp = 379,  /* server_incoming_num_tcp  */
++  YYSYMBOL_server_interface_automatic = 380, /* server_interface_automatic  */
++  YYSYMBOL_server_do_ip4 = 381,            /* server_do_ip4  */
++  YYSYMBOL_server_do_ip6 = 382,            /* server_do_ip6  */
++  YYSYMBOL_server_do_udp = 383,            /* server_do_udp  */
++  YYSYMBOL_server_do_tcp = 384,            /* server_do_tcp  */
++  YYSYMBOL_server_prefer_ip4 = 385,        /* server_prefer_ip4  */
++  YYSYMBOL_server_prefer_ip6 = 386,        /* server_prefer_ip6  */
++  YYSYMBOL_server_tcp_mss = 387,           /* server_tcp_mss  */
++  YYSYMBOL_server_outgoing_tcp_mss = 388,  /* server_outgoing_tcp_mss  */
++  YYSYMBOL_server_tcp_idle_timeout = 389,  /* server_tcp_idle_timeout  */
++  YYSYMBOL_server_max_reuse_tcp_queries = 390, /* server_max_reuse_tcp_queries  */
++  YYSYMBOL_server_tcp_reuse_timeout = 391, /* server_tcp_reuse_timeout  */
++  YYSYMBOL_server_tcp_auth_query_timeout = 392, /* server_tcp_auth_query_timeout  */
++  YYSYMBOL_server_tcp_keepalive = 393,     /* server_tcp_keepalive  */
++  YYSYMBOL_server_tcp_keepalive_timeout = 394, /* server_tcp_keepalive_timeout  */
++  YYSYMBOL_server_tcp_upstream = 395,      /* server_tcp_upstream  */
++  YYSYMBOL_server_udp_upstream_without_downstream = 396, /* server_udp_upstream_without_downstream  */
++  YYSYMBOL_server_ssl_upstream = 397,      /* server_ssl_upstream  */
++  YYSYMBOL_server_ssl_service_key = 398,   /* server_ssl_service_key  */
++  YYSYMBOL_server_ssl_service_pem = 399,   /* server_ssl_service_pem  */
++  YYSYMBOL_server_ssl_port = 400,          /* server_ssl_port  */
++  YYSYMBOL_server_tls_cert_bundle = 401,   /* server_tls_cert_bundle  */
++  YYSYMBOL_server_tls_win_cert = 402,      /* server_tls_win_cert  */
++  YYSYMBOL_server_tls_additional_port = 403, /* server_tls_additional_port  */
++  YYSYMBOL_server_tls_ciphers = 404,       /* server_tls_ciphers  */
++  YYSYMBOL_server_tls_ciphersuites = 405,  /* server_tls_ciphersuites  */
++  YYSYMBOL_server_tls_session_ticket_keys = 406, /* server_tls_session_ticket_keys  */
++  YYSYMBOL_server_tls_use_sni = 407,       /* server_tls_use_sni  */
++  YYSYMBOL_server_https_port = 408,        /* server_https_port  */
++  YYSYMBOL_server_http_endpoint = 409,     /* server_http_endpoint  */
++  YYSYMBOL_server_http_max_streams = 410,  /* server_http_max_streams  */
++  YYSYMBOL_server_http_query_buffer_size = 411, /* server_http_query_buffer_size  */
++  YYSYMBOL_server_http_response_buffer_size = 412, /* server_http_response_buffer_size  */
++  YYSYMBOL_server_http_nodelay = 413,      /* server_http_nodelay  */
++  YYSYMBOL_server_http_notls_downstream = 414, /* server_http_notls_downstream  */
++  YYSYMBOL_server_use_systemd = 415,       /* server_use_systemd  */
++  YYSYMBOL_server_do_daemonize = 416,      /* server_do_daemonize  */
++  YYSYMBOL_server_use_syslog = 417,        /* server_use_syslog  */
++  YYSYMBOL_server_log_time_ascii = 418,    /* server_log_time_ascii  */
++  YYSYMBOL_server_log_queries = 419,       /* server_log_queries  */
++  YYSYMBOL_server_log_replies = 420,       /* server_log_replies  */
++  YYSYMBOL_server_log_tag_queryreply = 421, /* server_log_tag_queryreply  */
++  YYSYMBOL_server_log_servfail = 422,      /* server_log_servfail  */
++  YYSYMBOL_server_log_local_actions = 423, /* server_log_local_actions  */
++  YYSYMBOL_server_chroot = 424,            /* server_chroot  */
++  YYSYMBOL_server_username = 425,          /* server_username  */
++  YYSYMBOL_server_directory = 426,         /* server_directory  */
++  YYSYMBOL_server_logfile = 427,           /* server_logfile  */
++  YYSYMBOL_server_pidfile = 428,           /* server_pidfile  */
++  YYSYMBOL_server_root_hints = 429,        /* server_root_hints  */
++  YYSYMBOL_server_dlv_anchor_file = 430,   /* server_dlv_anchor_file  */
++  YYSYMBOL_server_dlv_anchor = 431,        /* server_dlv_anchor  */
++  YYSYMBOL_server_auto_trust_anchor_file = 432, /* server_auto_trust_anchor_file  */
++  YYSYMBOL_server_trust_anchor_file = 433, /* server_trust_anchor_file  */
++  YYSYMBOL_server_trusted_keys_file = 434, /* server_trusted_keys_file  */
++  YYSYMBOL_server_trust_anchor = 435,      /* server_trust_anchor  */
++  YYSYMBOL_server_trust_anchor_signaling = 436, /* server_trust_anchor_signaling  */
++  YYSYMBOL_server_root_key_sentinel = 437, /* server_root_key_sentinel  */
++  YYSYMBOL_server_domain_insecure = 438,   /* server_domain_insecure  */
++  YYSYMBOL_server_hide_identity = 439,     /* server_hide_identity  */
++  YYSYMBOL_server_hide_version = 440,      /* server_hide_version  */
++  YYSYMBOL_server_hide_trustanchor = 441,  /* server_hide_trustanchor  */
++  YYSYMBOL_server_hide_http_user_agent = 442, /* server_hide_http_user_agent  */
++  YYSYMBOL_server_identity = 443,          /* server_identity  */
++  YYSYMBOL_server_version = 444,           /* server_version  */
++  YYSYMBOL_server_http_user_agent = 445,   /* server_http_user_agent  */
++  YYSYMBOL_server_nsid = 446,              /* server_nsid  */
++  YYSYMBOL_server_so_rcvbuf = 447,         /* server_so_rcvbuf  */
++  YYSYMBOL_server_so_sndbuf = 448,         /* server_so_sndbuf  */
++  YYSYMBOL_server_so_reuseport = 449,      /* server_so_reuseport  */
++  YYSYMBOL_server_ip_transparent = 450,    /* server_ip_transparent  */
++  YYSYMBOL_server_ip_freebind = 451,       /* server_ip_freebind  */
++  YYSYMBOL_server_ip_dscp = 452,           /* server_ip_dscp  */
++  YYSYMBOL_server_stream_wait_size = 453,  /* server_stream_wait_size  */
++  YYSYMBOL_server_edns_buffer_size = 454,  /* server_edns_buffer_size  */
++  YYSYMBOL_server_msg_buffer_size = 455,   /* server_msg_buffer_size  */
++  YYSYMBOL_server_msg_cache_size = 456,    /* server_msg_cache_size  */
++  YYSYMBOL_server_msg_cache_slabs = 457,   /* server_msg_cache_slabs  */
++  YYSYMBOL_server_num_queries_per_thread = 458, /* server_num_queries_per_thread  */
++  YYSYMBOL_server_jostle_timeout = 459,    /* server_jostle_timeout  */
++  YYSYMBOL_server_delay_close = 460,       /* server_delay_close  */
++  YYSYMBOL_server_udp_connect = 461,       /* server_udp_connect  */
++  YYSYMBOL_server_unblock_lan_zones = 462, /* server_unblock_lan_zones  */
++  YYSYMBOL_server_insecure_lan_zones = 463, /* server_insecure_lan_zones  */
++  YYSYMBOL_server_rrset_cache_size = 464,  /* server_rrset_cache_size  */
++  YYSYMBOL_server_rrset_cache_slabs = 465, /* server_rrset_cache_slabs  */
++  YYSYMBOL_server_infra_host_ttl = 466,    /* server_infra_host_ttl  */
++  YYSYMBOL_server_infra_lame_ttl = 467,    /* server_infra_lame_ttl  */
++  YYSYMBOL_server_infra_cache_numhosts = 468, /* server_infra_cache_numhosts  */
++  YYSYMBOL_server_infra_cache_lame_size = 469, /* server_infra_cache_lame_size  */
++  YYSYMBOL_server_infra_cache_slabs = 470, /* server_infra_cache_slabs  */
++  YYSYMBOL_server_infra_cache_min_rtt = 471, /* server_infra_cache_min_rtt  */
++  YYSYMBOL_server_infra_keep_probing = 472, /* server_infra_keep_probing  */
++  YYSYMBOL_server_target_fetch_policy = 473, /* server_target_fetch_policy  */
++  YYSYMBOL_server_harden_short_bufsize = 474, /* server_harden_short_bufsize  */
++  YYSYMBOL_server_harden_large_queries = 475, /* server_harden_large_queries  */
++  YYSYMBOL_server_harden_glue = 476,       /* server_harden_glue  */
++  YYSYMBOL_server_harden_dnssec_stripped = 477, /* server_harden_dnssec_stripped  */
++  YYSYMBOL_server_harden_below_nxdomain = 478, /* server_harden_below_nxdomain  */
++  YYSYMBOL_server_harden_referral_path = 479, /* server_harden_referral_path  */
++  YYSYMBOL_server_harden_algo_downgrade = 480, /* server_harden_algo_downgrade  */
++  YYSYMBOL_server_use_caps_for_id = 481,   /* server_use_caps_for_id  */
++  YYSYMBOL_server_caps_whitelist = 482,    /* server_caps_whitelist  */
++  YYSYMBOL_server_private_address = 483,   /* server_private_address  */
++  YYSYMBOL_server_private_domain = 484,    /* server_private_domain  */
++  YYSYMBOL_server_prefetch = 485,          /* server_prefetch  */
++  YYSYMBOL_server_prefetch_key = 486,      /* server_prefetch_key  */
++  YYSYMBOL_server_deny_any = 487,          /* server_deny_any  */
++  YYSYMBOL_server_unwanted_reply_threshold = 488, /* server_unwanted_reply_threshold  */
++  YYSYMBOL_server_do_not_query_address = 489, /* server_do_not_query_address  */
++  YYSYMBOL_server_do_not_query_localhost = 490, /* server_do_not_query_localhost  */
++  YYSYMBOL_server_access_control = 491,    /* server_access_control  */
++  YYSYMBOL_server_module_conf = 492,       /* server_module_conf  */
++  YYSYMBOL_server_val_override_date = 493, /* server_val_override_date  */
++  YYSYMBOL_server_val_sig_skew_min = 494,  /* server_val_sig_skew_min  */
++  YYSYMBOL_server_val_sig_skew_max = 495,  /* server_val_sig_skew_max  */
++  YYSYMBOL_server_val_max_restart = 496,   /* server_val_max_restart  */
++  YYSYMBOL_server_cache_max_ttl = 497,     /* server_cache_max_ttl  */
++  YYSYMBOL_server_cache_max_negative_ttl = 498, /* server_cache_max_negative_ttl  */
++  YYSYMBOL_server_cache_min_ttl = 499,     /* server_cache_min_ttl  */
++  YYSYMBOL_server_bogus_ttl = 500,         /* server_bogus_ttl  */
++  YYSYMBOL_server_val_clean_additional = 501, /* server_val_clean_additional  */
++  YYSYMBOL_server_val_permissive_mode = 502, /* server_val_permissive_mode  */
++  YYSYMBOL_server_aggressive_nsec = 503,   /* server_aggressive_nsec  */
++  YYSYMBOL_server_ignore_cd_flag = 504,    /* server_ignore_cd_flag  */
++  YYSYMBOL_server_serve_expired = 505,     /* server_serve_expired  */
++  YYSYMBOL_server_serve_expired_ttl = 506, /* server_serve_expired_ttl  */
++  YYSYMBOL_server_serve_expired_ttl_reset = 507, /* server_serve_expired_ttl_reset  */
++  YYSYMBOL_server_serve_expired_reply_ttl = 508, /* server_serve_expired_reply_ttl  */
++  YYSYMBOL_server_serve_expired_client_timeout = 509, /* server_serve_expired_client_timeout  */
++  YYSYMBOL_server_serve_original_ttl = 510, /* server_serve_original_ttl  */
++  YYSYMBOL_server_fake_dsa = 511,          /* server_fake_dsa  */
++  YYSYMBOL_server_fake_sha1 = 512,         /* server_fake_sha1  */
++  YYSYMBOL_server_val_log_level = 513,     /* server_val_log_level  */
++  YYSYMBOL_server_val_nsec3_keysize_iterations = 514, /* server_val_nsec3_keysize_iterations  */
++  YYSYMBOL_server_zonemd_permissive_mode = 515, /* server_zonemd_permissive_mode  */
++  YYSYMBOL_server_add_holddown = 516,      /* server_add_holddown  */
++  YYSYMBOL_server_del_holddown = 517,      /* server_del_holddown  */
++  YYSYMBOL_server_keep_missing = 518,      /* server_keep_missing  */
++  YYSYMBOL_server_permit_small_holddown = 519, /* server_permit_small_holddown  */
++  YYSYMBOL_server_key_cache_size = 520,    /* server_key_cache_size  */
++  YYSYMBOL_server_key_cache_slabs = 521,   /* server_key_cache_slabs  */
++  YYSYMBOL_server_neg_cache_size = 522,    /* server_neg_cache_size  */
++  YYSYMBOL_server_local_zone = 523,        /* server_local_zone  */
++  YYSYMBOL_server_local_data = 524,        /* server_local_data  */
++  YYSYMBOL_server_local_data_ptr = 525,    /* server_local_data_ptr  */
++  YYSYMBOL_server_local_zone_do_ede = 526, /* server_local_zone_do_ede  */
++  YYSYMBOL_server_local_zone_default_ede = 527, /* server_local_zone_default_ede  */
++  YYSYMBOL_server_ede_local_zones = 528,   /* server_ede_local_zones  */
++  YYSYMBOL_server_minimal_responses = 529, /* server_minimal_responses  */
++  YYSYMBOL_server_rrset_roundrobin = 530,  /* server_rrset_roundrobin  */
++  YYSYMBOL_server_unknown_server_time_limit = 531, /* server_unknown_server_time_limit  */
++  YYSYMBOL_server_max_udp_size = 532,      /* server_max_udp_size  */
++  YYSYMBOL_server_dns64_prefix = 533,      /* server_dns64_prefix  */
++  YYSYMBOL_server_dns64_synthall = 534,    /* server_dns64_synthall  */
++  YYSYMBOL_server_dns64_ignore_aaaa = 535, /* server_dns64_ignore_aaaa  */
++  YYSYMBOL_server_define_tag = 536,        /* server_define_tag  */
++  YYSYMBOL_server_local_zone_tag = 537,    /* server_local_zone_tag  */
++  YYSYMBOL_server_access_control_tag = 538, /* server_access_control_tag  */
++  YYSYMBOL_server_access_control_tag_action = 539, /* server_access_control_tag_action  */
++  YYSYMBOL_server_access_control_tag_data = 540, /* server_access_control_tag_data  */
++  YYSYMBOL_server_local_zone_override = 541, /* server_local_zone_override  */
++  YYSYMBOL_server_access_control_view = 542, /* server_access_control_view  */
++  YYSYMBOL_server_response_ip_tag = 543,   /* server_response_ip_tag  */
++  YYSYMBOL_server_ip_ratelimit = 544,      /* server_ip_ratelimit  */
++  YYSYMBOL_server_ratelimit = 545,         /* server_ratelimit  */
++  YYSYMBOL_server_ip_ratelimit_size = 546, /* server_ip_ratelimit_size  */
++  YYSYMBOL_server_ratelimit_size = 547,    /* server_ratelimit_size  */
++  YYSYMBOL_server_ip_ratelimit_slabs = 548, /* server_ip_ratelimit_slabs  */
++  YYSYMBOL_server_ratelimit_slabs = 549,   /* server_ratelimit_slabs  */
++  YYSYMBOL_server_ratelimit_for_domain = 550, /* server_ratelimit_for_domain  */
++  YYSYMBOL_server_ratelimit_below_domain = 551, /* server_ratelimit_below_domain  */
++  YYSYMBOL_server_ip_ratelimit_factor = 552, /* server_ip_ratelimit_factor  */
++  YYSYMBOL_server_ratelimit_factor = 553,  /* server_ratelimit_factor  */
++  YYSYMBOL_server_outbound_msg_retry = 554, /* server_outbound_msg_retry  */
++  YYSYMBOL_server_low_rtt = 555,           /* server_low_rtt  */
++  YYSYMBOL_server_fast_server_num = 556,   /* server_fast_server_num  */
++  YYSYMBOL_server_fast_server_permil = 557, /* server_fast_server_permil  */
++  YYSYMBOL_server_qname_minimisation = 558, /* server_qname_minimisation  */
++  YYSYMBOL_server_qname_minimisation_strict = 559, /* server_qname_minimisation_strict  */
++  YYSYMBOL_server_pad_responses = 560,     /* server_pad_responses  */
++  YYSYMBOL_server_pad_responses_block_size = 561, /* server_pad_responses_block_size  */
++  YYSYMBOL_server_pad_queries = 562,       /* server_pad_queries  */
++  YYSYMBOL_server_pad_queries_block_size = 563, /* server_pad_queries_block_size  */
++  YYSYMBOL_server_ipsecmod_enabled = 564,  /* server_ipsecmod_enabled  */
++  YYSYMBOL_server_ipsecmod_ignore_bogus = 565, /* server_ipsecmod_ignore_bogus  */
++  YYSYMBOL_server_ipsecmod_hook = 566,     /* server_ipsecmod_hook  */
++  YYSYMBOL_server_ipsecmod_max_ttl = 567,  /* server_ipsecmod_max_ttl  */
++  YYSYMBOL_server_ipsecmod_whitelist = 568, /* server_ipsecmod_whitelist  */
++  YYSYMBOL_server_ipsecmod_strict = 569,   /* server_ipsecmod_strict  */
++  YYSYMBOL_server_edns_client_string = 570, /* server_edns_client_string  */
++  YYSYMBOL_server_edns_client_string_opcode = 571, /* server_edns_client_string_opcode  */
++  YYSYMBOL_stub_name = 572,                /* stub_name  */
++  YYSYMBOL_stub_host = 573,                /* stub_host  */
++  YYSYMBOL_stub_addr = 574,                /* stub_addr  */
++  YYSYMBOL_stub_first = 575,               /* stub_first  */
++  YYSYMBOL_stub_no_cache = 576,            /* stub_no_cache  */
++  YYSYMBOL_stub_ssl_upstream = 577,        /* stub_ssl_upstream  */
++  YYSYMBOL_stub_tcp_upstream = 578,        /* stub_tcp_upstream  */
++  YYSYMBOL_stub_prime = 579,               /* stub_prime  */
++  YYSYMBOL_forward_name = 580,             /* forward_name  */
++  YYSYMBOL_forward_host = 581,             /* forward_host  */
++  YYSYMBOL_forward_addr = 582,             /* forward_addr  */
++  YYSYMBOL_forward_first = 583,            /* forward_first  */
++  YYSYMBOL_forward_no_cache = 584,         /* forward_no_cache  */
++  YYSYMBOL_forward_ssl_upstream = 585,     /* forward_ssl_upstream  */
++  YYSYMBOL_forward_tcp_upstream = 586,     /* forward_tcp_upstream  */
++  YYSYMBOL_auth_name = 587,                /* auth_name  */
++  YYSYMBOL_auth_zonefile = 588,            /* auth_zonefile  */
++  YYSYMBOL_auth_master = 589,              /* auth_master  */
++  YYSYMBOL_auth_url = 590,                 /* auth_url  */
++  YYSYMBOL_auth_allow_notify = 591,        /* auth_allow_notify  */
++  YYSYMBOL_auth_zonemd_check = 592,        /* auth_zonemd_check  */
++  YYSYMBOL_auth_zonemd_reject_absence = 593, /* auth_zonemd_reject_absence  */
++  YYSYMBOL_auth_for_downstream = 594,      /* auth_for_downstream  */
++  YYSYMBOL_auth_for_upstream = 595,        /* auth_for_upstream  */
++  YYSYMBOL_auth_fallback_enabled = 596,    /* auth_fallback_enabled  */
++  YYSYMBOL_view_name = 597,                /* view_name  */
++  YYSYMBOL_view_local_zone = 598,          /* view_local_zone  */
++  YYSYMBOL_view_response_ip = 599,         /* view_response_ip  */
++  YYSYMBOL_view_response_ip_data = 600,    /* view_response_ip_data  */
++  YYSYMBOL_view_local_data = 601,          /* view_local_data  */
++  YYSYMBOL_view_local_data_ptr = 602,      /* view_local_data_ptr  */
++  YYSYMBOL_view_first = 603,               /* view_first  */
++  YYSYMBOL_rcstart = 604,                  /* rcstart  */
++  YYSYMBOL_contents_rc = 605,              /* contents_rc  */
++  YYSYMBOL_content_rc = 606,               /* content_rc  */
++  YYSYMBOL_rc_control_enable = 607,        /* rc_control_enable  */
++  YYSYMBOL_rc_control_port = 608,          /* rc_control_port  */
++  YYSYMBOL_rc_control_interface = 609,     /* rc_control_interface  */
++  YYSYMBOL_rc_control_use_cert = 610,      /* rc_control_use_cert  */
++  YYSYMBOL_rc_server_key_file = 611,       /* rc_server_key_file  */
++  YYSYMBOL_rc_server_cert_file = 612,      /* rc_server_cert_file  */
++  YYSYMBOL_rc_control_key_file = 613,      /* rc_control_key_file  */
++  YYSYMBOL_rc_control_cert_file = 614,     /* rc_control_cert_file  */
++  YYSYMBOL_dtstart = 615,                  /* dtstart  */
++  YYSYMBOL_contents_dt = 616,              /* contents_dt  */
++  YYSYMBOL_content_dt = 617,               /* content_dt  */
++  YYSYMBOL_dt_dnstap_enable = 618,         /* dt_dnstap_enable  */
++  YYSYMBOL_dt_dnstap_bidirectional = 619,  /* dt_dnstap_bidirectional  */
++  YYSYMBOL_dt_dnstap_socket_path = 620,    /* dt_dnstap_socket_path  */
++  YYSYMBOL_dt_dnstap_ip = 621,             /* dt_dnstap_ip  */
++  YYSYMBOL_dt_dnstap_tls = 622,            /* dt_dnstap_tls  */
++  YYSYMBOL_dt_dnstap_tls_server_name = 623, /* dt_dnstap_tls_server_name  */
++  YYSYMBOL_dt_dnstap_tls_cert_bundle = 624, /* dt_dnstap_tls_cert_bundle  */
++  YYSYMBOL_dt_dnstap_tls_client_key_file = 625, /* dt_dnstap_tls_client_key_file  */
++  YYSYMBOL_dt_dnstap_tls_client_cert_file = 626, /* dt_dnstap_tls_client_cert_file  */
++  YYSYMBOL_dt_dnstap_send_identity = 627,  /* dt_dnstap_send_identity  */
++  YYSYMBOL_dt_dnstap_send_version = 628,   /* dt_dnstap_send_version  */
++  YYSYMBOL_dt_dnstap_identity = 629,       /* dt_dnstap_identity  */
++  YYSYMBOL_dt_dnstap_version = 630,        /* dt_dnstap_version  */
++  YYSYMBOL_dt_dnstap_log_resolver_query_messages = 631, /* dt_dnstap_log_resolver_query_messages  */
++  YYSYMBOL_dt_dnstap_log_resolver_response_messages = 632, /* dt_dnstap_log_resolver_response_messages  */
++  YYSYMBOL_dt_dnstap_log_client_query_messages = 633, /* dt_dnstap_log_client_query_messages  */
++  YYSYMBOL_dt_dnstap_log_client_response_messages = 634, /* dt_dnstap_log_client_response_messages  */
++  YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 635, /* dt_dnstap_log_forwarder_query_messages  */
++  YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 636, /* dt_dnstap_log_forwarder_response_messages  */
++  YYSYMBOL_pythonstart = 637,              /* pythonstart  */
++  YYSYMBOL_contents_py = 638,              /* contents_py  */
++  YYSYMBOL_content_py = 639,               /* content_py  */
++  YYSYMBOL_py_script = 640,                /* py_script  */
++  YYSYMBOL_dynlibstart = 641,              /* dynlibstart  */
++  YYSYMBOL_contents_dl = 642,              /* contents_dl  */
++  YYSYMBOL_content_dl = 643,               /* content_dl  */
++  YYSYMBOL_dl_file = 644,                  /* dl_file  */
++  YYSYMBOL_server_disable_dnssec_lame_check = 645, /* server_disable_dnssec_lame_check  */
++  YYSYMBOL_server_log_identity = 646,      /* server_log_identity  */
++  YYSYMBOL_server_response_ip = 647,       /* server_response_ip  */
++  YYSYMBOL_server_response_ip_data = 648,  /* server_response_ip_data  */
++  YYSYMBOL_dnscstart = 649,                /* dnscstart  */
++  YYSYMBOL_contents_dnsc = 650,            /* contents_dnsc  */
++  YYSYMBOL_content_dnsc = 651,             /* content_dnsc  */
++  YYSYMBOL_dnsc_dnscrypt_enable = 652,     /* dnsc_dnscrypt_enable  */
++  YYSYMBOL_dnsc_dnscrypt_port = 653,       /* dnsc_dnscrypt_port  */
++  YYSYMBOL_dnsc_dnscrypt_provider = 654,   /* dnsc_dnscrypt_provider  */
++  YYSYMBOL_dnsc_dnscrypt_provider_cert = 655, /* dnsc_dnscrypt_provider_cert  */
++  YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 656, /* dnsc_dnscrypt_provider_cert_rotated  */
++  YYSYMBOL_dnsc_dnscrypt_secret_key = 657, /* dnsc_dnscrypt_secret_key  */
++  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 658, /* dnsc_dnscrypt_shared_secret_cache_size  */
++  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 659, /* dnsc_dnscrypt_shared_secret_cache_slabs  */
++  YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 660, /* dnsc_dnscrypt_nonce_cache_size  */
++  YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 661, /* dnsc_dnscrypt_nonce_cache_slabs  */
++  YYSYMBOL_cachedbstart = 662,             /* cachedbstart  */
++  YYSYMBOL_contents_cachedb = 663,         /* contents_cachedb  */
++  YYSYMBOL_content_cachedb = 664,          /* content_cachedb  */
++  YYSYMBOL_cachedb_backend_name = 665,     /* cachedb_backend_name  */
++  YYSYMBOL_cachedb_secret_seed = 666,      /* cachedb_secret_seed  */
++  YYSYMBOL_redis_server_host = 667,        /* redis_server_host  */
++  YYSYMBOL_redis_server_port = 668,        /* redis_server_port  */
++  YYSYMBOL_redis_timeout = 669,            /* redis_timeout  */
++  YYSYMBOL_redis_expire_records = 670,     /* redis_expire_records  */
++  YYSYMBOL_server_tcp_connection_limit = 671, /* server_tcp_connection_limit  */
++  YYSYMBOL_ipsetstart = 672,               /* ipsetstart  */
++  YYSYMBOL_contents_ipset = 673,           /* contents_ipset  */
++  YYSYMBOL_content_ipset = 674,            /* content_ipset  */
++  YYSYMBOL_ipset_name_v4 = 675,            /* ipset_name_v4  */
++  YYSYMBOL_ipset_name_v6 = 676             /* ipset_name_v6  */
+ };
+ typedef enum yysymbol_kind_t yysymbol_kind_t;
  
- /* Copy the second part of user declarations.  */
  
  
- /* Line 216 of yacc.c.  */
- #line 790 "util/configparser.c"
  
  #ifdef short
  # undef short
  #endif
  
- #ifdef YYTYPE_UINT8
- typedef YYTYPE_UINT8 yytype_uint8;
- #else
- typedef unsigned char yytype_uint8;
+ /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+    <limits.h> and (if available) <stdint.h> are included
+    so that the code can choose integer types of a good width.  */
+ #ifndef __PTRDIFF_MAX__
+ # include <limits.h> /* INFRINGES ON USER NAME SPACE */
+ # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+ #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+ #  define YY_STDINT_H
+ # endif
  #endif
  
- #ifdef YYTYPE_INT8
- typedef YYTYPE_INT8 yytype_int8;
- #elif (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
+ /* Narrow types that promote to a signed type and that can represent a
+    signed or unsigned integer of at least N bits.  In tables they can
+    save space and decrease cache pressure.  Promoting to a signed type
+    helps avoid bugs in integer arithmetic.  */
+ #ifdef __INT_LEAST8_MAX__
+ typedef __INT_LEAST8_TYPE__ yytype_int8;
+ #elif defined YY_STDINT_H
+ typedef int_least8_t yytype_int8;
+ #else
  typedef signed char yytype_int8;
+ #endif
+ #ifdef __INT_LEAST16_MAX__
+ typedef __INT_LEAST16_TYPE__ yytype_int16;
+ #elif defined YY_STDINT_H
+ typedef int_least16_t yytype_int16;
  #else
- typedef short int yytype_int8;
+ typedef short yytype_int16;
+ #endif
++/* Work around bug in HP-UX 11.23, which defines these macros
++   incorrectly for preprocessor constants.  This workaround can likely
++   be removed in 2023, as HPE has promised support for HP-UX 11.23
++   (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
++   <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
++#ifdef __hpux
++# undef UINT_LEAST8_MAX
++# undef UINT_LEAST16_MAX
++# define UINT_LEAST8_MAX 255
++# define UINT_LEAST16_MAX 65535
 +#endif
 +
- #ifdef YYTYPE_UINT16
- typedef YYTYPE_UINT16 yytype_uint16;
+ #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+ typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+ #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+        && UINT_LEAST8_MAX <= INT_MAX)
+ typedef uint_least8_t yytype_uint8;
+ #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+ typedef unsigned char yytype_uint8;
  #else
- typedef unsigned short int yytype_uint16;
+ typedef short yytype_uint8;
  #endif
  
- #ifdef YYTYPE_INT16
- typedef YYTYPE_INT16 yytype_int16;
+ #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+ typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+ #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+        && UINT_LEAST16_MAX <= INT_MAX)
+ typedef uint_least16_t yytype_uint16;
+ #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+ typedef unsigned short yytype_uint16;
  #else
- typedef short int yytype_int16;
+ typedef int yytype_uint16;
+ #endif
+ #ifndef YYPTRDIFF_T
+ # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+ #  define YYPTRDIFF_T __PTRDIFF_TYPE__
+ #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+ # elif defined PTRDIFF_MAX
+ #  ifndef ptrdiff_t
+ #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+ #  endif
+ #  define YYPTRDIFF_T ptrdiff_t
+ #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+ # else
+ #  define YYPTRDIFF_T long
+ #  define YYPTRDIFF_MAXIMUM LONG_MAX
+ # endif
  #endif
  
  #ifndef YYSIZE_T
@@@ -849,30 -1621,46 +953,46 @@@ typedef int yy_state_fast_t
  
  /* Suppress unused-variable warnings by "using" E.  */
  #if ! defined lint || defined __GNUC__
- # define YYUSE(e) ((void) (e))
 -# define YYUSE(E) ((void) (E))
++# define YY_USE(E) ((void) (E))
  #else
- # define YYUSE(e) /* empty */
 -# define YYUSE(E) /* empty */
++# define YY_USE(E) /* empty */
  #endif
  
- /* Identity function, used to suppress warnings about constant conditions.  */
- #ifndef lint
- # define YYID(n) (n)
+ #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+ /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
+     _Pragma ("GCC diagnostic push")                                     \
+     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
+     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
+     _Pragma ("GCC diagnostic pop")
  #else
- #if (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
- static int
- YYID (int i)
- #else
- static int
- YYID (i)
-     int i;
+ # define YY_INITIAL_VALUE(Value) Value
  #endif
- {
-   return i;
- }
+ #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ # define YY_IGNORE_MAYBE_UNINITIALIZED_END
  #endif
+ #ifndef YY_INITIAL_VALUE
+ # define YY_INITIAL_VALUE(Value) /* Nothing. */
+ #endif
+ #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+ # define YY_IGNORE_USELESS_CAST_BEGIN                          \
+     _Pragma ("GCC diagnostic push")                            \
+     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+ # define YY_IGNORE_USELESS_CAST_END            \
+     _Pragma ("GCC diagnostic pop")
+ #endif
+ #ifndef YY_IGNORE_USELESS_CAST_BEGIN
+ # define YY_IGNORE_USELESS_CAST_BEGIN
+ # define YY_IGNORE_USELESS_CAST_END
+ #endif
+ #define YY_ASSERT(E) ((void) (0 && (E)))
  
- #if ! defined yyoverflow || YYERROR_VERBOSE
+ #if !defined yyoverflow
  
  /* The parser invokes alloca or malloc; define the necessary symbols.  */
  
@@@ -1001,26 -1790,30 +1122,31 @@@ union yyallo
  /* YYFINAL -- State number of the termination state.  */
  #define YYFINAL  2
  /* YYLAST -- Last index in YYTABLE.  */
- #define YYLAST   688
 -#define YYLAST   681
++#define YYLAST   691
  
  /* YYNTOKENS -- Number of terminals.  */
- #define YYNTOKENS  325
 -#define YYNTOKENS  322
++#define YYNTOKENS  326
  /* YYNNTS -- Number of nonterminals.  */
- #define YYNNTS  350
 -#define YYNNTS  347
++#define YYNNTS  351
  /* YYNRULES -- Number of rules.  */
- #define YYNRULES  676
- /* YYNRULES -- Number of states.  */
- #define YYNSTATES  1007
 -#define YYNRULES  670
++#define YYNRULES  678
+ /* YYNSTATES -- Number of states.  */
 -#define YYNSTATES  996
++#define YYNSTATES  1010
 -#define YYMAXUTOK   576
++/* YYMAXUTOK -- Last valid token kind.  */
++#define YYMAXUTOK   580
  
- /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
- #define YYUNDEFTOK  2
- #define YYMAXUTOK   579
  
- #define YYTRANSLATE(YYX)                                              \
-   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+    as returned by yylex, with out-of-bounds checking.  */
+ #define YYTRANSLATE(YYX)                                \
+   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
+    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
+    : YYSYMBOL_YYUNDEF)
  
- /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
- static const yytype_uint16 yytranslate[] =
+ /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+    as returned by yylex.  */
+ static const yytype_int16 yytranslate[] =
  {
         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
       305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-      315,   316,   317,   318,   319,   320,   321,   322,   323,   324
 -     315,   316,   317,   318,   319,   320,   321
++     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
++     325
  };
  
  #if YYDEBUG
- /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
-    YYRHS.  */
- static const yytype_uint16 yyprhs[] =
+   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+ static const yytype_int16 yyrline[] =
  {
-        0,     0,     3,     4,     7,    10,    13,    16,    19,    22,
-       25,    28,    31,    34,    37,    40,    43,    46,    48,    50,
-       52,    55,    56,    58,    60,    62,    64,    66,    68,    70,
-       72,    74,    76,    78,    80,    82,    84,    86,    88,    90,
-       92,    94,    96,    98,   100,   102,   104,   106,   108,   110,
-      112,   114,   116,   118,   120,   122,   124,   126,   128,   130,
-      132,   134,   136,   138,   140,   142,   144,   146,   148,   150,
-      152,   154,   156,   158,   160,   162,   164,   166,   168,   170,
-      172,   174,   176,   178,   180,   182,   184,   186,   188,   190,
-      192,   194,   196,   198,   200,   202,   204,   206,   208,   210,
-      212,   214,   216,   218,   220,   222,   224,   226,   228,   230,
-      232,   234,   236,   238,   240,   242,   244,   246,   248,   250,
-      252,   254,   256,   258,   260,   262,   264,   266,   268,   270,
-      272,   274,   276,   278,   280,   282,   284,   286,   288,   290,
-      292,   294,   296,   298,   300,   302,   304,   306,   308,   310,
-      312,   314,   316,   318,   320,   322,   324,   326,   328,   330,
-      332,   334,   336,   338,   340,   342,   344,   346,   348,   350,
-      352,   354,   356,   358,   360,   362,   364,   366,   368,   370,
-      372,   374,   376,   378,   380,   382,   384,   386,   388,   390,
-      392,   394,   396,   398,   400,   402,   404,   406,   408,   410,
-      412,   414,   416,   418,   420,   422,   424,   426,   428,   430,
-      432,   434,   436,   438,   440,   442,   444,   446,   448,   450,
-      452,   454,   456,   458,   460,   462,   464,   466,   468,   470,
-      472,   474,   476,   478,   480,   482,   484,   486,   488,   490,
-      492,   494,   496,   498,   500,   502,   505,   506,   508,   510,
-      512,   514,   516,   518,   520,   522,   524,   527,   528,   530,
-      532,   534,   536,   538,   540,   542,   544,   547,   548,   550,
-      552,   554,   556,   558,   560,   562,   564,   567,   568,   570,
-      572,   574,   576,   578,   580,   582,   584,   586,   588,   591,
-      594,   597,   600,   603,   606,   608,   611,   612,   614,   616,
-      618,   620,   622,   624,   626,   628,   630,   632,   634,   637,
-      640,   643,   646,   649,   652,   655,   658,   661,   664,   667,
-      670,   673,   676,   679,   682,   685,   688,   691,   694,   697,
-      700,   703,   706,   709,   712,   715,   718,   721,   724,   727,
-      730,   733,   736,   739,   742,   745,   748,   751,   754,   757,
-      760,   763,   766,   769,   772,   775,   778,   781,   784,   787,
-      790,   793,   796,   799,   802,   805,   808,   811,   814,   817,
-      820,   823,   826,   829,   832,   835,   838,   841,   844,   847,
-      850,   853,   856,   859,   862,   865,   868,   871,   874,   877,
-      880,   883,   886,   889,   892,   895,   898,   901,   904,   907,
-      910,   913,   916,   919,   922,   925,   928,   931,   934,   937,
-      940,   943,   946,   949,   952,   955,   958,   961,   964,   967,
-      970,   973,   976,   979,   982,   985,   988,   991,   994,   997,
-     1000,  1003,  1006,  1009,  1012,  1015,  1018,  1021,  1024,  1027,
-     1030,  1033,  1036,  1039,  1042,  1046,  1049,  1052,  1055,  1058,
-     1061,  1064,  1067,  1070,  1073,  1076,  1079,  1082,  1085,  1088,
-     1091,  1094,  1097,  1100,  1103,  1106,  1109,  1112,  1115,  1118,
-     1121,  1124,  1127,  1130,  1133,  1136,  1139,  1143,  1146,  1149,
-     1153,  1157,  1160,  1163,  1166,  1169,  1172,  1175,  1178,  1181,
-     1184,  1188,  1192,  1197,  1202,  1207,  1211,  1215,  1218,  1221,
-     1224,  1227,  1230,  1233,  1237,  1241,  1244,  1247,  1250,  1253,
-     1256,  1259,  1262,  1265,  1268,  1271,  1274,  1277,  1280,  1283,
-     1286,  1289,  1292,  1295,  1299,  1302,  1305,  1308,  1311,  1314,
-     1317,  1320,  1323,  1326,  1329,  1332,  1335,  1338,  1341,  1344,
-     1347,  1350,  1353,  1356,  1359,  1362,  1365,  1368,  1371,  1374,
-     1377,  1380,  1384,  1388,  1392,  1395,  1398,  1401,  1403,  1406,
-     1407,  1409,  1411,  1413,  1415,  1417,  1419,  1421,  1423,  1426,
-     1429,  1432,  1435,  1438,  1441,  1444,  1447,  1449,  1452,  1453,
-     1455,  1457,  1459,  1461,  1463,  1465,  1467,  1469,  1471,  1473,
-     1475,  1477,  1479,  1481,  1483,  1485,  1487,  1489,  1491,  1494,
-     1497,  1500,  1503,  1506,  1509,  1512,  1515,  1518,  1521,  1524,
-     1527,  1530,  1533,  1536,  1539,  1542,  1545,  1548,  1550,  1553,
-     1554,  1556,  1559,  1561,  1564,  1565,  1567,  1570,  1573,  1576,
-     1580,  1584,  1586,  1589,  1590,  1592,  1594,  1596,  1598,  1600,
-     1602,  1604,  1606,  1608,  1610,  1613,  1616,  1619,  1622,  1625,
-     1628,  1631,  1634,  1637,  1640,  1642,  1645,  1646,  1648,  1650,
-     1652,  1654,  1656,  1658,  1661,  1664,  1667,  1670,  1673,  1676,
-     1680,  1682,  1685,  1686,  1688,  1690,  1693
 -       0,   193,   193,   193,   194,   194,   195,   195,   196,   196,
 -     196,   197,   197,   198,   198,   199,   199,   200,   202,   208,
 -     213,   214,   215,   215,   215,   216,   216,   217,   217,   217,
 -     218,   218,   219,   219,   219,   220,   220,   221,   221,   221,
 -     222,   222,   222,   223,   223,   224,   224,   225,   225,   226,
 -     226,   227,   227,   228,   228,   229,   229,   230,   230,   231,
 -     231,   231,   232,   232,   233,   233,   233,   234,   234,   234,
 -     235,   235,   236,   236,   237,   237,   238,   238,   239,   239,
 -     239,   240,   240,   241,   241,   242,   242,   242,   243,   243,
 -     244,   244,   245,   245,   246,   246,   246,   247,   247,   248,
 -     248,   249,   249,   250,   250,   251,   251,   252,   252,   253,
 -     253,   254,   254,   255,   255,   255,   256,   256,   256,   257,
 -     257,   257,   258,   258,   258,   258,   259,   260,   260,   260,
 -     261,   261,   261,   262,   262,   263,   263,   264,   264,   264,
 -     265,   265,   265,   266,   266,   267,   267,   267,   268,   268,
 -     269,   269,   269,   270,   270,   271,   271,   272,   272,   273,
 -     274,   274,   275,   275,   276,   276,   277,   277,   278,   278,
 -     279,   279,   280,   280,   281,   281,   282,   282,   283,   283,
 -     283,   284,   284,   285,   285,   286,   286,   287,   288,   288,
 -     289,   289,   290,   291,   291,   292,   292,   293,   293,   294,
 -     294,   295,   295,   295,   296,   296,   296,   297,   297,   298,
 -     299,   299,   300,   300,   301,   301,   302,   302,   303,   303,
 -     303,   304,   304,   304,   305,   305,   305,   306,   306,   307,
 -     307,   308,   308,   309,   309,   310,   310,   311,   311,   312,
 -     312,   315,   328,   329,   330,   330,   330,   330,   330,   331,
 -     331,   331,   333,   346,   347,   348,   348,   348,   348,   349,
 -     349,   349,   351,   366,   367,   368,   368,   368,   368,   369,
 -     369,   369,   371,   391,   392,   393,   393,   393,   393,   394,
 -     394,   394,   395,   395,   395,   398,   417,   434,   442,   452,
 -     459,   469,   487,   488,   489,   489,   489,   489,   489,   490,
 -     490,   490,   491,   491,   491,   493,   502,   511,   522,   531,
 -     540,   549,   560,   569,   581,   595,   610,   621,   638,   655,
 -     672,   689,   704,   719,   732,   747,   756,   765,   774,   783,
 -     792,   801,   810,   819,   828,   837,   846,   855,   864,   873,
 -     886,   897,   908,   919,   928,   941,   950,   959,   968,   975,
 -     982,   991,   998,  1007,  1015,  1022,  1029,  1037,  1046,  1054,
 -    1070,  1078,  1086,  1094,  1102,  1110,  1119,  1128,  1142,  1151,
 -    1160,  1169,  1178,  1187,  1196,  1203,  1210,  1236,  1244,  1251,
 -    1258,  1265,  1272,  1280,  1288,  1296,  1303,  1314,  1325,  1332,
 -    1341,  1350,  1359,  1368,  1375,  1382,  1389,  1405,  1413,  1421,
 -    1431,  1441,  1451,  1465,  1473,  1486,  1497,  1505,  1518,  1527,
 -    1536,  1545,  1554,  1564,  1574,  1582,  1595,  1604,  1612,  1621,
 -    1629,  1642,  1651,  1661,  1668,  1678,  1688,  1698,  1708,  1718,
 -    1728,  1738,  1748,  1755,  1762,  1769,  1778,  1787,  1796,  1805,
 -    1812,  1822,  1842,  1849,  1867,  1880,  1893,  1906,  1915,  1924,
 -    1933,  1942,  1952,  1962,  1973,  1982,  1991,  2000,  2009,  2018,
 -    2027,  2036,  2049,  2062,  2071,  2078,  2087,  2096,  2105,  2114,
 -    2123,  2131,  2144,  2152,  2197,  2204,  2219,  2229,  2239,  2246,
 -    2253,  2260,  2269,  2277,  2291,  2312,  2333,  2345,  2357,  2369,
 -    2378,  2399,  2408,  2417,  2425,  2433,  2446,  2459,  2474,  2489,
 -    2498,  2507,  2516,  2522,  2531,  2540,  2550,  2560,  2570,  2579,
 -    2589,  2598,  2611,  2624,  2636,  2650,  2662,  2676,  2685,  2697,
 -    2707,  2714,  2721,  2730,  2739,  2749,  2759,  2769,  2779,  2786,
 -    2793,  2802,  2811,  2821,  2831,  2841,  2848,  2855,  2862,  2870,
 -    2880,  2890,  2900,  2910,  2920,  2930,  2976,  2986,  2994,  3002,
 -    3017,  3026,  3031,  3032,  3033,  3033,  3033,  3034,  3034,  3034,
 -    3035,  3035,  3037,  3047,  3056,  3063,  3070,  3077,  3084,  3091,
 -    3098,  3103,  3104,  3105,  3105,  3105,  3106,  3106,  3106,  3107,
 -    3108,  3108,  3109,  3109,  3110,  3110,  3111,  3112,  3113,  3114,
 -    3115,  3116,  3118,  3127,  3137,  3144,  3151,  3160,  3167,  3174,
 -    3181,  3188,  3197,  3206,  3213,  3220,  3230,  3240,  3250,  3260,
 -    3270,  3280,  3285,  3286,  3287,  3289,  3295,  3300,  3301,  3302,
 -    3304,  3310,  3320,  3327,  3336,  3344,  3349,  3350,  3352,  3352,
 -    3352,  3353,  3353,  3354,  3355,  3356,  3357,  3358,  3360,  3370,
 -    3379,  3386,  3395,  3402,  3411,  3419,  3432,  3440,  3453,  3458,
 -    3459,  3460,  3460,  3461,  3461,  3461,  3462,  3464,  3476,  3488,
 -    3500,  3515,  3528,  3541,  3552,  3557,  3558,  3559,  3559,  3561,
 -    3576
++       0,   194,   194,   194,   195,   195,   196,   196,   197,   197,
++     197,   198,   198,   199,   199,   200,   200,   201,   203,   209,
++     214,   215,   216,   216,   216,   217,   217,   218,   218,   218,
++     219,   219,   220,   220,   220,   221,   221,   222,   222,   222,
++     223,   223,   223,   224,   224,   225,   225,   226,   226,   227,
++     227,   228,   228,   229,   229,   230,   230,   231,   231,   232,
++     232,   232,   233,   233,   234,   234,   234,   235,   235,   235,
++     236,   236,   237,   237,   238,   238,   239,   239,   240,   240,
++     240,   241,   241,   242,   242,   243,   243,   243,   244,   244,
++     245,   245,   246,   246,   247,   247,   247,   248,   248,   249,
++     249,   250,   250,   251,   251,   252,   252,   253,   253,   254,
++     254,   255,   255,   256,   256,   256,   257,   257,   257,   258,
++     258,   258,   259,   259,   259,   259,   260,   261,   261,   261,
++     262,   262,   262,   263,   263,   264,   264,   265,   265,   265,
++     266,   266,   266,   267,   267,   268,   268,   268,   269,   269,
++     270,   270,   270,   271,   271,   272,   272,   273,   273,   274,
++     275,   275,   276,   276,   277,   277,   278,   278,   279,   279,
++     280,   280,   281,   281,   282,   282,   283,   283,   284,   284,
++     284,   285,   285,   286,   286,   287,   287,   288,   289,   289,
++     290,   290,   291,   292,   292,   293,   293,   294,   294,   295,
++     295,   296,   296,   296,   297,   297,   297,   298,   298,   299,
++     300,   300,   301,   301,   302,   302,   303,   303,   304,   304,
++     304,   305,   305,   305,   306,   306,   306,   307,   307,   308,
++     308,   309,   309,   310,   310,   311,   311,   312,   312,   313,
++     313,   314,   314,   315,   318,   331,   332,   333,   333,   333,
++     333,   333,   334,   334,   334,   336,   349,   350,   351,   351,
++     351,   351,   352,   352,   352,   354,   369,   370,   371,   371,
++     371,   371,   372,   372,   372,   374,   394,   395,   396,   396,
++     396,   396,   397,   397,   397,   398,   398,   398,   401,   420,
++     437,   445,   455,   462,   472,   483,   501,   502,   503,   503,
++     503,   503,   503,   504,   504,   504,   505,   505,   505,   505,
++     507,   516,   525,   536,   545,   554,   563,   574,   583,   595,
++     609,   624,   635,   652,   669,   686,   703,   718,   733,   746,
++     761,   770,   779,   788,   797,   806,   815,   824,   833,   842,
++     851,   860,   869,   878,   887,   900,   911,   922,   933,   942,
++     955,   964,   973,   982,   989,   996,  1005,  1012,  1021,  1029,
++    1036,  1043,  1051,  1060,  1068,  1084,  1092,  1100,  1108,  1116,
++    1124,  1133,  1142,  1156,  1165,  1174,  1183,  1192,  1201,  1210,
++    1217,  1224,  1250,  1258,  1265,  1272,  1279,  1286,  1294,  1302,
++    1310,  1317,  1328,  1339,  1346,  1355,  1364,  1373,  1382,  1389,
++    1396,  1403,  1419,  1427,  1435,  1445,  1455,  1465,  1479,  1487,
++    1500,  1511,  1519,  1532,  1541,  1550,  1559,  1568,  1578,  1588,
++    1596,  1609,  1618,  1626,  1635,  1643,  1656,  1665,  1675,  1682,
++    1692,  1702,  1712,  1722,  1732,  1742,  1752,  1762,  1769,  1776,
++    1783,  1792,  1801,  1810,  1819,  1826,  1836,  1856,  1863,  1881,
++    1894,  1907,  1920,  1929,  1938,  1947,  1956,  1966,  1976,  1987,
++    1996,  2005,  2014,  2023,  2032,  2041,  2050,  2063,  2076,  2085,
++    2092,  2101,  2110,  2119,  2128,  2137,  2145,  2158,  2166,  2211,
++    2218,  2233,  2244,  2281,  2291,  2301,  2311,  2318,  2325,  2332,
++    2341,  2349,  2363,  2384,  2405,  2417,  2429,  2441,  2450,  2471,
++    2480,  2489,  2497,  2505,  2518,  2531,  2546,  2561,  2570,  2579,
++    2588,  2594,  2603,  2612,  2622,  2632,  2642,  2651,  2661,  2670,
++    2683,  2696,  2708,  2722,  2734,  2748,  2757,  2769,  2779,  2786,
++    2793,  2802,  2811,  2821,  2831,  2841,  2851,  2858,  2865,  2874,
++    2883,  2893,  2903,  2913,  2920,  2927,  2934,  2942,  2952,  2962,
++    2972,  2982,  2992,  3002,  3048,  3058,  3066,  3074,  3089,  3098,
++    3103,  3104,  3105,  3105,  3105,  3106,  3106,  3106,  3107,  3107,
++    3109,  3119,  3128,  3135,  3142,  3149,  3156,  3163,  3170,  3175,
++    3176,  3177,  3177,  3177,  3178,  3178,  3178,  3179,  3180,  3180,
++    3181,  3181,  3182,  3182,  3183,  3184,  3185,  3186,  3187,  3188,
++    3190,  3199,  3209,  3216,  3223,  3232,  3239,  3246,  3253,  3260,
++    3269,  3278,  3285,  3292,  3302,  3312,  3322,  3332,  3342,  3352,
++    3357,  3358,  3359,  3361,  3367,  3372,  3373,  3374,  3376,  3382,
++    3392,  3399,  3408,  3416,  3421,  3422,  3424,  3424,  3424,  3425,
++    3425,  3426,  3427,  3428,  3429,  3430,  3432,  3442,  3451,  3458,
++    3467,  3474,  3483,  3491,  3504,  3512,  3525,  3530,  3531,  3532,
++    3532,  3533,  3533,  3533,  3534,  3536,  3548,  3560,  3572,  3587,
++    3600,  3613,  3624,  3629,  3630,  3631,  3631,  3633,  3648
  };
+ #endif
  
- /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
- static const yytype_int16 yyrhs[] =
- {
-      326,     0,    -1,    -1,   326,   327,    -1,   329,   330,    -1,
-      332,   333,    -1,   335,   336,    -1,   635,   636,    -1,   602,
-      603,    -1,   613,   614,    -1,   338,   339,    -1,   647,   648,
-       -1,   660,   661,    -1,   670,   671,    -1,   341,   342,    -1,
-      350,   351,    -1,   639,   640,    -1,   328,    -1,    11,    -1,
-       12,    -1,   330,   331,    -1,    -1,   353,    -1,   354,    -1,
-      360,    -1,   373,    -1,   379,    -1,   380,    -1,   383,    -1,
-      384,    -1,   381,    -1,   382,    -1,   385,    -1,   386,    -1,
-      387,    -1,   391,    -1,   392,    -1,   371,    -1,   422,    -1,
-      423,    -1,   424,    -1,   425,    -1,   426,    -1,   454,    -1,
-      455,    -1,   456,    -1,   462,    -1,   463,    -1,   376,    -1,
-      464,    -1,   465,    -1,   468,    -1,   466,    -1,   467,    -1,
-      471,    -1,   472,    -1,   473,    -1,   487,    -1,   437,    -1,
-      438,    -1,   441,    -1,   442,    -1,   440,    -1,   443,    -1,
-      474,    -1,   490,    -1,   431,    -1,   433,    -1,   491,    -1,
-      498,    -1,   499,    -1,   500,    -1,   377,    -1,   453,    -1,
-      518,    -1,   519,    -1,   432,    -1,   512,    -1,   415,    -1,
-      372,    -1,   427,    -1,   488,    -1,   495,    -1,   475,    -1,
-      489,    -1,   521,    -1,   522,    -1,   378,    -1,   355,    -1,
-      414,    -1,   479,    -1,   356,    -1,   374,    -1,   375,    -1,
-      428,    -1,   429,    -1,   520,    -1,   477,    -1,   481,    -1,
-      482,    -1,   357,    -1,   523,    -1,   457,    -1,   486,    -1,
-      416,    -1,   436,    -1,   492,    -1,   493,    -1,   494,    -1,
-      497,    -1,   511,    -1,   430,    -1,   514,    -1,   515,    -1,
-      516,    -1,   445,    -1,   452,    -1,   483,    -1,   484,    -1,
-      446,    -1,   476,    -1,   502,    -1,   417,    -1,   418,    -1,
-      393,    -1,   395,    -1,   421,    -1,   396,    -1,   397,    -1,
-      398,    -1,   406,    -1,   407,    -1,   408,    -1,   409,    -1,
-      410,    -1,   411,    -1,   412,    -1,   527,    -1,   528,    -1,
-      530,    -1,   447,    -1,   458,    -1,   459,    -1,   460,    -1,
-      461,    -1,   531,    -1,   532,    -1,   533,    -1,   469,    -1,
-      478,    -1,   448,    -1,   542,    -1,   543,    -1,   450,    -1,
-      470,    -1,   546,    -1,   547,    -1,   544,    -1,   545,    -1,
-      548,    -1,   549,    -1,   551,    -1,   550,    -1,   552,    -1,
-      361,    -1,   362,    -1,   363,    -1,   364,    -1,   365,    -1,
-      366,    -1,   367,    -1,   368,    -1,   369,    -1,   370,    -1,
-      480,    -1,   496,    -1,   517,    -1,   556,    -1,   449,    -1,
-      534,    -1,   535,    -1,   643,    -1,   536,    -1,   539,    -1,
-      537,    -1,   538,    -1,   540,    -1,   557,    -1,   558,    -1,
-      559,    -1,   560,    -1,   561,    -1,   503,    -1,   504,    -1,
-      505,    -1,   506,    -1,   507,    -1,   508,    -1,   509,    -1,
-      644,    -1,   413,    -1,   541,    -1,   645,    -1,   646,    -1,
-      358,    -1,   359,    -1,   510,    -1,   439,    -1,   434,    -1,
-      435,    -1,   562,    -1,   564,    -1,   563,    -1,   565,    -1,
-      566,    -1,   567,    -1,   394,    -1,   501,    -1,   399,    -1,
-      401,    -1,   553,    -1,   555,    -1,   554,    -1,   400,    -1,
-      669,    -1,   420,    -1,   485,    -1,   529,    -1,   419,    -1,
-      451,    -1,   402,    -1,   403,    -1,   404,    -1,   405,    -1,
-      568,    -1,   569,    -1,   444,    -1,   513,    -1,   388,    -1,
-      389,    -1,   390,    -1,   524,    -1,   525,    -1,   526,    -1,
-       46,    -1,   333,   334,    -1,    -1,   570,    -1,   571,    -1,
-      572,    -1,   577,    -1,   573,    -1,   574,    -1,   575,    -1,
-      576,    -1,    52,    -1,   336,   337,    -1,    -1,   578,    -1,
-      579,    -1,   580,    -1,   581,    -1,   582,    -1,   583,    -1,
-      584,    -1,   228,    -1,   339,   340,    -1,    -1,   595,    -1,
-      596,    -1,   599,    -1,   601,    -1,   597,    -1,   598,    -1,
-      600,    -1,   279,    -1,   342,   343,    -1,    -1,   585,    -1,
-      586,    -1,   587,    -1,   588,    -1,   592,    -1,   593,    -1,
-      594,    -1,   589,    -1,   590,    -1,   591,    -1,   308,    10,
-       -1,   309,    10,    -1,   310,    10,    -1,   311,    10,    -1,
-      312,    10,    -1,   313,    10,    -1,   307,    -1,   351,   352,
-       -1,    -1,   585,    -1,   586,    -1,   344,    -1,   587,    -1,
-      588,    -1,   589,    -1,   345,    -1,   346,    -1,   347,    -1,
-      348,    -1,   349,    -1,    14,    10,    -1,    13,    10,    -1,
-       84,    10,    -1,    87,    10,    -1,   107,    10,    -1,   246,
-       10,    -1,   247,    10,    -1,    15,    10,    -1,   206,    10,
-       -1,   207,    10,    -1,   208,    10,    -1,   209,    10,    -1,
-      210,    10,    -1,   211,    10,    -1,   212,    10,    -1,   213,
-       10,    -1,   214,    10,    -1,   215,    10,    -1,    17,    10,
-       -1,    75,    10,    -1,    16,    10,    -1,    88,    10,    -1,
-       89,    10,    -1,    39,    10,    -1,    68,    10,    -1,    83,
-       10,    -1,    19,    10,    -1,    20,    10,    -1,    22,    10,
-       -1,    23,    10,    -1,    18,    10,    -1,    21,    10,    -1,
-       24,    10,    -1,    25,    10,    -1,    26,    10,    -1,   106,
-       10,    -1,   105,    10,    -1,   138,    10,    -1,    27,    10,
-       -1,    28,    10,    -1,   136,    10,    -1,   277,    10,    -1,
-      137,    10,    -1,   139,    10,    -1,   140,    10,    -1,   141,
-       10,    -1,   145,    10,    -1,   291,    10,    -1,   285,    10,
-       -1,   300,    10,    -1,   301,    10,    -1,   306,    10,    -1,
-      302,    10,    -1,   148,    10,    -1,   149,    10,    -1,   150,
-       10,    -1,   151,    10,    -1,   152,    10,    -1,   153,    10,
-       -1,   154,    10,    -1,   245,    10,    -1,    85,    10,    -1,
-       74,    10,    -1,   112,    10,    -1,   133,    10,    -1,   134,
-       10,    -1,   298,    10,    -1,   295,    10,    -1,   135,    10,
-       -1,    29,    10,    -1,    30,    10,    -1,    31,    10,    -1,
-       32,    10,    -1,    33,    10,    -1,    76,    10,    -1,    90,
-       10,    -1,    91,    10,    -1,   121,    10,    -1,    62,    10,
-       -1,    72,    10,    -1,    63,    10,    -1,   243,    10,    -1,
-      248,    10,    -1,   113,    10,    -1,    56,    10,    -1,    57,
-       10,    -1,   240,    10,    -1,   241,    10,    -1,    58,    10,
-       -1,    59,    10,    -1,   242,    10,    -1,   318,    10,    -1,
-      125,    10,    -1,   129,    10,    -1,   130,    10,    -1,   192,
-       10,    -1,   221,    10,    -1,   193,    10,    -1,   299,    10,
-       -1,   126,    10,    -1,    69,    10,    -1,    34,    10,    -1,
-       35,    10,    -1,    36,    10,    -1,   109,    10,    -1,   159,
-       10,    -1,   160,    10,    -1,   161,    10,    -1,   162,    10,
-       -1,    37,    10,    -1,    38,    10,    -1,    40,    10,    -1,
-       41,    10,    -1,    43,    10,    -1,    44,    10,    -1,    42,
-       10,    -1,   163,    10,    -1,   164,    10,    -1,    49,    10,
-       -1,    50,    10,    -1,    51,    10,    -1,    60,    10,    -1,
-       79,    10,    -1,   131,    10,    -1,    93,    10,    -1,   191,
-       10,    -1,    86,    10,    -1,   216,    10,    -1,    94,    10,
-       -1,    95,    10,    -1,   127,    10,    -1,   128,    10,    -1,
-      296,    10,    -1,   111,    10,    -1,    55,    10,    -1,    77,
-       10,    -1,    80,    10,    10,    -1,    61,    10,    -1,    64,
-       10,    -1,   116,    10,    -1,   117,    10,    -1,   118,    10,
-       -1,    78,    10,    -1,   217,    10,    -1,   119,    10,    -1,
-       65,    10,    -1,    66,    10,    -1,    67,    10,    -1,   244,
-       10,    -1,   132,    10,    -1,   231,    10,    -1,   232,    10,
-       -1,   233,    10,    -1,   234,    10,    -1,   235,    10,    -1,
-      236,    10,    -1,   237,    10,    -1,   238,    10,    -1,   120,
-       10,    -1,    73,    10,    -1,   319,    10,    -1,   123,    10,
-       -1,   124,    10,    -1,   122,    10,    -1,   218,    10,    -1,
-       70,    10,    -1,    71,    10,    -1,    92,    10,    -1,    81,
-       10,    10,    -1,    82,    10,    -1,   108,    10,    -1,   322,
-       10,    10,    -1,   323,    10,    10,    -1,   324,    10,    -1,
-      156,    10,    -1,   157,    10,    -1,   297,    10,    -1,   158,
-       10,    -1,   165,    10,    -1,   166,    10,    -1,   167,    10,
-       -1,   222,    10,    -1,   223,    10,    10,    -1,   224,    10,
-       10,    -1,   226,    10,    10,    10,    -1,   227,    10,    10,
-       10,    -1,   225,    10,    10,    10,    -1,   229,    10,    10,
-       -1,   188,    10,    10,    -1,   195,    10,    -1,   198,    10,
-       -1,   197,    10,    -1,   200,    10,    -1,   196,    10,    -1,
-      199,    10,    -1,   202,    10,    10,    -1,   203,    10,    10,
-       -1,   204,    10,    -1,   205,    10,    -1,   201,    10,    -1,
-      286,    10,    -1,   289,    10,    -1,   288,    10,    -1,   219,
-       10,    -1,   220,    10,    -1,   260,    10,    -1,   261,    10,
-       -1,   262,    10,    -1,   263,    10,    -1,   264,    10,    -1,
-      266,    10,    -1,   265,    10,    -1,   267,    10,    -1,   268,
-       10,    -1,   269,    10,    -1,   316,    10,    10,    -1,   317,
-       10,    -1,    45,    10,    -1,    47,    10,    -1,    48,    10,
-       -1,   155,    10,    -1,   294,    10,    -1,   143,    10,    -1,
-      146,    10,    -1,   110,    10,    -1,    45,    10,    -1,    53,
-       10,    -1,    54,    10,    -1,   142,    10,    -1,   293,    10,
-       -1,   144,    10,    -1,   147,    10,    -1,    45,    10,    -1,
-      280,    10,    -1,   281,    10,    -1,   282,    10,    -1,   290,
-       10,    -1,   320,    10,    -1,   321,    10,    -1,   283,    10,
-       -1,   278,    10,    -1,   284,    10,    -1,    45,    10,    -1,
-       81,    10,    10,    -1,   189,    10,    10,    -1,   190,    10,
-       10,    -1,    82,    10,    -1,   108,    10,    -1,   230,    10,
-       -1,    96,    -1,   603,   604,    -1,    -1,   605,    -1,   607,
-       -1,   606,    -1,   609,    -1,   610,    -1,   611,    -1,   612,
-       -1,   608,    -1,    97,    10,    -1,    99,    10,    -1,    98,
-       10,    -1,   104,    10,    -1,   100,    10,    -1,   101,    10,
-       -1,   102,    10,    -1,   103,    10,    -1,   168,    -1,   614,
-      615,    -1,    -1,   616,    -1,   618,    -1,   617,    -1,   619,
-       -1,   620,    -1,   621,    -1,   622,    -1,   623,    -1,   624,
-       -1,   625,    -1,   626,    -1,   627,    -1,   628,    -1,   629,
-       -1,   630,    -1,   631,    -1,   632,    -1,   633,    -1,   634,
-       -1,   169,    10,    -1,   179,    10,    -1,   170,    10,    -1,
-      171,    10,    -1,   172,    10,    -1,   173,    10,    -1,   174,
-       10,    -1,   175,    10,    -1,   176,    10,    -1,   177,    10,
-       -1,   178,    10,    -1,   180,    10,    -1,   181,    10,    -1,
-      182,    10,    -1,   183,    10,    -1,   184,    10,    -1,   185,
-       10,    -1,   186,    10,    -1,   187,    10,    -1,   114,    -1,
-      636,   637,    -1,    -1,   638,    -1,   115,    10,    -1,   314,
-       -1,   640,   641,    -1,    -1,   642,    -1,   315,    10,    -1,
-      194,    10,    -1,   239,    10,    -1,   189,    10,    10,    -1,
-      190,    10,    10,    -1,   249,    -1,   648,   649,    -1,    -1,
-      650,    -1,   651,    -1,   652,    -1,   655,    -1,   653,    -1,
-      654,    -1,   656,    -1,   657,    -1,   658,    -1,   659,    -1,
-      250,    10,    -1,   251,    10,    -1,   252,    10,    -1,   254,
-       10,    -1,   255,    10,    -1,   253,    10,    -1,   256,    10,
-       -1,   257,    10,    -1,   258,    10,    -1,   259,    10,    -1,
-      270,    -1,   661,   662,    -1,    -1,   663,    -1,   664,    -1,
-      665,    -1,   666,    -1,   667,    -1,   668,    -1,   271,    10,
-       -1,   272,    10,    -1,   273,    10,    -1,   274,    10,    -1,
-      275,    10,    -1,   276,    10,    -1,   292,    10,    10,    -1,
-      303,    -1,   671,   672,    -1,    -1,   673,    -1,   674,    -1,
-      304,    10,    -1,   305,    10,    -1
- };
+ /** Accessing symbol of state STATE.  */
+ #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
  
- /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
- static const yytype_uint16 yyrline[] =
- {
-        0,   193,   193,   193,   194,   194,   195,   195,   196,   196,
-      196,   197,   197,   198,   198,   199,   199,   200,   202,   208,
-      213,   214,   215,   215,   215,   216,   216,   217,   217,   217,
-      218,   218,   219,   219,   219,   220,   220,   221,   221,   221,
-      222,   222,   222,   223,   223,   224,   224,   225,   225,   226,
-      226,   227,   227,   228,   228,   229,   229,   230,   230,   231,
-      231,   231,   232,   232,   233,   233,   233,   234,   234,   234,
-      235,   235,   236,   236,   237,   237,   238,   238,   239,   239,
-      239,   240,   240,   241,   241,   242,   242,   242,   243,   243,
-      244,   244,   245,   245,   246,   246,   246,   247,   247,   248,
-      248,   249,   249,   250,   250,   251,   251,   252,   252,   253,
-      253,   254,   254,   255,   255,   255,   256,   256,   256,   257,
-      257,   257,   258,   258,   258,   258,   259,   260,   260,   260,
-      261,   261,   261,   262,   262,   263,   263,   264,   264,   264,
-      265,   265,   265,   266,   266,   267,   267,   267,   268,   268,
-      269,   269,   269,   270,   270,   271,   271,   272,   272,   273,
-      274,   274,   275,   275,   276,   276,   277,   277,   278,   278,
-      279,   279,   280,   280,   281,   281,   282,   282,   283,   283,
-      283,   284,   284,   285,   285,   286,   286,   287,   288,   288,
-      289,   289,   290,   291,   291,   292,   292,   293,   293,   294,
-      294,   295,   295,   295,   296,   296,   296,   297,   297,   298,
-      299,   299,   300,   300,   301,   301,   302,   302,   303,   303,
-      303,   304,   304,   304,   305,   305,   305,   306,   306,   307,
-      307,   308,   308,   309,   309,   310,   310,   311,   311,   312,
-      312,   313,   313,   314,   317,   330,   331,   332,   332,   332,
-      332,   332,   333,   333,   333,   335,   348,   349,   350,   350,
-      350,   350,   351,   351,   351,   353,   368,   369,   370,   370,
-      370,   370,   371,   371,   371,   373,   393,   394,   395,   395,
-      395,   395,   396,   396,   396,   397,   397,   397,   400,   419,
-      436,   444,   454,   462,   473,   491,   492,   493,   493,   493,
-      493,   493,   494,   494,   494,   495,   495,   495,   497,   506,
-      515,   526,   535,   544,   553,   564,   573,   585,   599,   614,
-      625,   642,   659,   676,   693,   708,   723,   736,   751,   760,
-      769,   778,   787,   796,   805,   814,   823,   832,   841,   850,
-      859,   868,   877,   890,   901,   912,   923,   932,   945,   954,
-      963,   972,   979,   986,   995,  1002,  1011,  1019,  1026,  1033,
-     1041,  1050,  1058,  1074,  1082,  1090,  1098,  1106,  1114,  1123,
-     1132,  1146,  1155,  1164,  1173,  1182,  1191,  1200,  1207,  1214,
-     1240,  1248,  1255,  1262,  1269,  1276,  1284,  1292,  1300,  1307,
-     1318,  1329,  1336,  1345,  1354,  1363,  1372,  1379,  1386,  1393,
-     1409,  1417,  1425,  1435,  1445,  1455,  1469,  1477,  1490,  1501,
-     1509,  1522,  1531,  1540,  1549,  1558,  1568,  1578,  1586,  1599,
-     1608,  1616,  1625,  1633,  1646,  1655,  1665,  1672,  1682,  1692,
-     1702,  1712,  1722,  1732,  1742,  1752,  1759,  1766,  1773,  1782,
-     1791,  1800,  1809,  1816,  1826,  1846,  1853,  1871,  1884,  1897,
-     1910,  1919,  1928,  1937,  1946,  1956,  1966,  1977,  1986,  1995,
-     2004,  2013,  2022,  2031,  2040,  2053,  2066,  2075,  2082,  2091,
-     2100,  2109,  2118,  2127,  2135,  2148,  2156,  2201,  2208,  2223,
-     2234,  2271,  2281,  2291,  2301,  2308,  2315,  2322,  2331,  2339,
-     2353,  2374,  2395,  2407,  2419,  2431,  2440,  2461,  2470,  2479,
-     2487,  2495,  2508,  2521,  2536,  2551,  2560,  2569,  2578,  2584,
-     2593,  2602,  2612,  2622,  2632,  2641,  2651,  2660,  2673,  2686,
-     2698,  2712,  2724,  2738,  2747,  2759,  2769,  2776,  2783,  2792,
-     2801,  2811,  2821,  2831,  2841,  2848,  2855,  2864,  2873,  2883,
-     2893,  2903,  2910,  2917,  2924,  2932,  2942,  2952,  2962,  2972,
-     2982,  2992,  3038,  3048,  3056,  3064,  3079,  3088,  3093,  3094,
-     3095,  3095,  3095,  3096,  3096,  3096,  3097,  3097,  3099,  3109,
-     3118,  3125,  3132,  3139,  3146,  3153,  3160,  3165,  3166,  3167,
-     3167,  3167,  3168,  3168,  3168,  3169,  3170,  3170,  3171,  3171,
-     3172,  3172,  3173,  3174,  3175,  3176,  3177,  3178,  3180,  3189,
-     3199,  3206,  3213,  3222,  3229,  3236,  3243,  3250,  3259,  3268,
-     3275,  3282,  3292,  3302,  3312,  3322,  3332,  3342,  3347,  3348,
-     3349,  3351,  3357,  3362,  3363,  3364,  3366,  3372,  3382,  3389,
-     3398,  3406,  3411,  3412,  3414,  3414,  3414,  3415,  3415,  3416,
-     3417,  3418,  3419,  3420,  3422,  3432,  3441,  3448,  3457,  3464,
-     3473,  3481,  3494,  3502,  3515,  3520,  3521,  3522,  3522,  3523,
-     3523,  3523,  3524,  3526,  3538,  3550,  3562,  3577,  3590,  3603,
-     3614,  3619,  3620,  3621,  3621,  3623,  3638
- };
- #endif
+ #if YYDEBUG || 0
+ /* The user-facing name of the symbol whose (internal) number is
+    YYSYMBOL.  No bounds checking.  */
+ static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
  
- #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
  static const char *const yytname[] =
    "VAR_TLS_USE_SNI", "VAR_IPSET", "VAR_IPSET_NAME_V4", "VAR_IPSET_NAME_V6",
    "VAR_TLS_SESSION_TICKET_KEYS", "VAR_RPZ", "VAR_TAGS",
    "VAR_RPZ_ACTION_OVERRIDE", "VAR_RPZ_CNAME_OVERRIDE", "VAR_RPZ_LOG",
 -  "VAR_RPZ_LOG_NAME", "VAR_DYNLIB", "VAR_DYNLIB_FILE",
 +  "VAR_RPZ_LOG_NAME", "VAR_RPZ_DO_EDE", "VAR_DYNLIB", "VAR_DYNLIB_FILE",
    "VAR_EDNS_CLIENT_STRING", "VAR_EDNS_CLIENT_STRING_OPCODE", "VAR_NSID",
    "VAR_ZONEMD_PERMISSIVE_MODE", "VAR_ZONEMD_CHECK",
 -  "VAR_ZONEMD_REJECT_ABSENCE", "VAR_RPZ_SIGNAL_NXDOMAIN_RA", "$accept",
 -  "toplevelvars", "toplevelvar", "force_toplevel", "serverstart",
 -  "contents_server", "content_server", "stubstart", "contents_stub",
 -  "content_stub", "forwardstart", "contents_forward", "content_forward",
 -  "viewstart", "contents_view", "content_view", "authstart",
 -  "contents_auth", "content_auth", "rpz_tag", "rpz_action_override",
 -  "rpz_cname_override", "rpz_log", "rpz_log_name",
 -  "rpz_signal_nxdomain_ra", "rpzstart", "contents_rpz", "content_rpz",
 -  "server_num_threads", "server_verbosity", "server_statistics_interval",
 -  "server_statistics_cumulative", "server_extended_statistics",
 -  "server_shm_enable", "server_shm_key", "server_port",
 -  "server_send_client_subnet", "server_client_subnet_zone",
 +  "VAR_ZONEMD_REJECT_ABSENCE", "VAR_LOCAL_DATA_DO_EDE",
-   "VAR_LOCAL_ZONE_DEFAULT_EDE", "VAR_EDE_LOCAL_ZONES", "$accept",
-   "toplevelvars", "toplevelvar", "force_toplevel", "serverstart",
-   "contents_server", "content_server", "stubstart", "contents_stub",
-   "content_stub", "forwardstart", "contents_forward", "content_forward",
-   "viewstart", "contents_view", "content_view", "authstart",
-   "contents_auth", "content_auth", "rpz_tag", "rpz_action_override",
-   "rpz_cname_override", "rpz_log", "rpz_log_name", "rpz_do_ede",
-   "rpzstart", "contents_rpz", "content_rpz", "server_num_threads",
-   "server_verbosity", "server_statistics_interval",
-   "server_statistics_cumulative", "server_extended_statistics",
-   "server_shm_enable", "server_shm_key", "server_port",
-   "server_send_client_subnet", "server_client_subnet_zone",
++  "VAR_LOCAL_ZONE_DEFAULT_EDE", "VAR_EDE_LOCAL_ZONES",
++  "VAR_RPZ_SIGNAL_NXDOMAIN_RA", "$accept", "toplevelvars", "toplevelvar",
++  "force_toplevel", "serverstart", "contents_server", "content_server",
++  "stubstart", "contents_stub", "content_stub", "forwardstart",
++  "contents_forward", "content_forward", "viewstart", "contents_view",
++  "content_view", "authstart", "contents_auth", "content_auth", "rpz_tag",
++  "rpz_action_override", "rpz_cname_override", "rpz_log", "rpz_log_name",
++  "rpz_signal_nxdomain_ra", "rpz_do_ede", "rpzstart", "contents_rpz",
++  "content_rpz", "server_num_threads", "server_verbosity",
++  "server_statistics_interval", "server_statistics_cumulative",
++  "server_extended_statistics", "server_shm_enable", "server_shm_key",
++  "server_port", "server_send_client_subnet", "server_client_subnet_zone",
    "server_client_subnet_always_forward", "server_client_subnet_opcode",
    "server_max_client_subnet_ipv4", "server_max_client_subnet_ipv6",
    "server_min_client_subnet_ipv4", "server_min_client_subnet_ipv6",
@@@ -1715,165 -2269,135 +1606,136 @@@ static const yytype_int16 yytoknum[] 
       545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
       555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
       565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
-      575,   576,   577,   578,   579
 -     575,   576
++     575,   576,   577,   578,   579,   580
  };
- # endif
+ #endif
  
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
- static const yytype_uint16 yyr1[] =
- {
-        0,   325,   326,   326,   327,   327,   327,   327,   327,   327,
-      327,   327,   327,   327,   327,   327,   327,   327,   328,   329,
-      330,   330,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
-      331,   331,   331,   331,   332,   333,   333,   334,   334,   334,
-      334,   334,   334,   334,   334,   335,   336,   336,   337,   337,
-      337,   337,   337,   337,   337,   338,   339,   339,   340,   340,
-      340,   340,   340,   340,   340,   341,   342,   342,   343,   343,
-      343,   343,   343,   343,   343,   343,   343,   343,   344,   345,
-      346,   347,   348,   349,   350,   351,   351,   352,   352,   352,
-      352,   352,   352,   352,   352,   352,   352,   352,   353,   354,
-      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
-      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
-      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
-      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
-      405,   406,   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,   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,   473,   474,
-      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
-      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
-      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
-      505,   506,   507,   508,   509,   510,   511,   512,   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,   559,   560,   561,   562,   563,   564,
-      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
-      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
-      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
-      595,   596,   597,   598,   599,   600,   601,   602,   603,   603,
-      604,   604,   604,   604,   604,   604,   604,   604,   605,   606,
-      607,   608,   609,   610,   611,   612,   613,   614,   614,   615,
-      615,   615,   615,   615,   615,   615,   615,   615,   615,   615,
-      615,   615,   615,   615,   615,   615,   615,   615,   616,   617,
-      618,   619,   620,   621,   622,   623,   624,   625,   626,   627,
-      628,   629,   630,   631,   632,   633,   634,   635,   636,   636,
-      637,   638,   639,   640,   640,   641,   642,   643,   644,   645,
-      646,   647,   648,   648,   649,   649,   649,   649,   649,   649,
-      649,   649,   649,   649,   650,   651,   652,   653,   654,   655,
-      656,   657,   658,   659,   660,   661,   661,   662,   662,   662,
-      662,   662,   662,   663,   664,   665,   666,   667,   668,   669,
-      670,   671,   671,   672,   672,   673,   674
- };
 -#define YYPACT_NINF (-302)
++#define YYPACT_NINF (-309)
+ #define yypact_value_is_default(Yyn) \
+   ((Yyn) == YYPACT_NINF)
  
- /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
- static const yytype_uint8 yyr2[] =
+ #define YYTABLE_NINF (-1)
+ #define yytable_value_is_error(Yyn) \
+   0
+   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+      STATE-NUM.  */
+ static const yytype_int16 yypact[] =
  {
-        0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     1,     1,     1,
-        2,     0,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     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,     1,     1,     2,     0,     1,     1,
-        1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
-        1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-        2,     2,     2,     2,     1,     2,     0,     1,     1,     1,
-        1,     1,     1,     1,     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,     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,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     3,     2,     2,     3,
-        3,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        3,     3,     4,     4,     4,     3,     3,     2,     2,     2,
-        2,     2,     2,     3,     3,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     3,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     3,     3,     3,     2,     2,     2,     1,     2,     0,
-        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-        2,     2,     2,     2,     2,     2,     1,     2,     0,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     2,     2,     2,     1,     2,     0,
-        1,     2,     1,     2,     0,     1,     2,     2,     2,     3,
-        3,     1,     2,     0,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
-        2,     2,     2,     2,     1,     2,     0,     1,     1,     1,
-        1,     1,     1,     2,     2,     2,     2,     2,     2,     3,
-        1,     2,     0,     1,     1,     2,     2
 -    -302,     0,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,   301,   -40,   -35,   -43,   -39,   -44,   -67,   -98,
 -    -106,  -300,  -230,  -231,  -301,     3,     5,     6,     7,    37,
 -      38,    39,    40,    41,    43,    44,    45,    46,    47,    48,
 -      49,    50,    51,    52,    53,    54,    56,    57,    58,    59,
 -      80,    81,    82,    83,    84,    85,    87,    88,    89,    90,
 -      91,    92,    94,    95,    98,   100,   101,   103,   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,   131,   132,   133,   134,   135,   138,   139,
 -     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
 -     150,   151,   152,   153,   154,   155,   156,   157,   159,   160,
 -     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
 -     171,   172,   173,   174,   175,   176,   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,   219,   220,   221,   222,
 -     223,   224,   225,   230,   237,   238,   240,   242,   243,   245,
 -     246,   247,   249,   250,   251,   252,   253,   259,   261,   262,
 -     263,   264,   265,   266,   268,   272,   273,   274,   275,   276,
 -     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
 -     287,   288,   289,   290,   291,   292,   294,   295,   296,   298,
 -     299,   300,   302,   336,   337,   338,   339,   343,   344,   345,
 -     387,   388,   389,   390,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,   391,   392,   393,   394,   395,   401,
 -     405,   406,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,   433,   434,   435,   437,   438,   446,   459,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   460,   461,   462,   463,
 -     464,   465,   466,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,   467,   468,   469,   470,   471,   472,   473,   474,   475,
 -     476,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,   477,   478,   519,   521,   540,   541,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -     542,   543,   544,   545,   546,   547,   548,   549,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,   550,   561,   562,
 -     563,   564,   565,   566,   567,   569,   570,   571,   572,   573,
 -     574,   575,   578,   581,   584,   585,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   594,  -302,  -302,   595,
 -    -302,  -302,   596,   598,   599,   600,   601,   602,   603,   604,
 -     605,   610,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,   611,   612,   613,   614,   615,   616,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   617,   618,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,   619,   620,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,   621,   622,   623,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,   624,   625,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   626,   627,   628,   629,
 -     630,   631,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   632,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   633,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,   634,  -302,  -302,   635,
 -     636,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,   637,   638,   639,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302
++    -309,     0,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,   302,   -39,   -32,   -43,   -30,   -44,   -42,   -97,
++    -110,  -308,  -227,  -231,  -301,     4,     6,     7,     8,     9,
++      10,    23,    24,    25,    26,    27,    37,    38,    39,    40,
++      41,    43,    44,    53,    54,    56,    57,    58,    59,    60,
++      81,    82,    83,    84,    85,    87,    88,    89,    90,    91,
++      92,    93,    95,    96,    98,    99,   101,   103,   107,   108,
++     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
++     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
++     129,   130,   131,   132,   133,   134,   135,   138,   139,   140,
++     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
++     151,   152,   153,   154,   155,   156,   157,   159,   160,   161,
++     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
++     172,   173,   174,   175,   176,   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,   219,   220,   221,   222,   223,
++     224,   225,   229,   230,   231,   232,   233,   234,   235,   237,
++     246,   247,   248,   249,   252,   253,   261,   262,   263,   264,
++     265,   266,   267,   268,   270,   272,   273,   274,   275,   276,
++     277,   278,   279,   282,   283,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   294,   295,   296,   298,   299,   300,
++     301,   303,   337,   338,   339,   340,   344,   345,   346,   388,
++     389,   390,   391,   392,   393,   394,   395,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++     396,   402,   406,   407,   434,   435,   436,   438,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,   439,   447,   460,
++     461,   462,   463,   464,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,   465,   466,   467,   468,   469,   470,   471,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,   472,   473,   474,
++     475,   476,   477,   478,   479,   520,   522,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,   541,   542,
++     543,   544,   545,   546,   547,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,   548,   549,
++     550,   551,   562,   563,   564,   565,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,   566,   567,   568,   570,   571,
++     572,   573,   574,   575,   576,   579,   582,   585,   586,   595,
++     596,   597,   599,   600,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,   601,  -309,  -309,   602,  -309,  -309,
++     603,   604,   605,   606,   607,   612,   613,   617,   618,   619,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,   620,   621,   622,   623,   624,   625,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,   626,   627,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,   628,
++     629,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,   630,
++     631,   632,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,   633,   634,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,   635,   636,   637,   638,   639,   640,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,   641,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,   642,  -309,  -309,  -309,   643,   644,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,   645,  -309,  -309,
++     646,   647,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,   648,   649,   650,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309
  };
  
- /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
-    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
-    means the default is an error.  */
- static const yytype_uint16 yydefact[] =
+   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+      Performed when YYTABLE does not specify something else to do.  Zero
+      means the default is an error.  */
+ static const yytype_int16 yydefact[] =
  {
-        2,     0,     1,    18,    19,   244,   255,   557,   617,   576,
-      265,   631,   654,   275,   670,   294,   622,     3,    17,    21,
-      246,   257,   267,   277,   296,   559,   578,   619,   624,   633,
-      656,   672,     4,     5,     6,    10,    14,    15,     8,     9,
 -       2,     0,     1,    18,    19,   241,   252,   551,   611,   570,
 -     262,   625,   648,   272,   664,   291,   616,     3,    17,    21,
 -     243,   254,   264,   274,   293,   553,   572,   613,   618,   627,
 -     650,   666,     4,     5,     6,    10,    14,    15,     8,     9,
++       2,     0,     1,    18,    19,   244,   255,   559,   619,   578,
++     265,   633,   656,   275,   672,   295,   624,     3,    17,    21,
++     246,   257,   267,   277,   297,   561,   580,   621,   626,   635,
++     658,   674,     4,     5,     6,    10,    14,    15,     8,     9,
         7,    16,    11,    12,    13,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,    20,    22,    23,    88,    91,   100,
 -     204,   205,    24,   164,   165,   166,   167,   168,   169,   170,
 -     171,   172,   173,    37,    79,    25,    92,    93,    48,    72,
 -      87,    26,    27,    30,    31,    28,    29,    32,    33,    34,
 -     238,   239,   240,    35,    36,   124,   216,   125,   127,   128,
 -     129,   218,   223,   219,   230,   231,   232,   233,   130,   131,
 -     132,   133,   134,   135,   136,   200,    89,    78,   104,   122,
 -     123,   228,   225,   126,    38,    39,    40,    41,    42,    80,
 -      94,    95,   111,    66,    76,    67,   208,   209,   105,    58,
 -      59,   207,    62,    60,    61,    63,   236,   115,   119,   140,
 -     150,   178,   153,   229,   116,    73,    43,    44,    45,   102,
 -     141,   142,   143,   144,    46,    47,    49,    50,    52,    53,
 -      51,   148,   154,    54,    55,    56,    64,    83,   120,    97,
 -     149,    90,   174,    98,    99,   117,   118,   226,   103,    57,
 -      81,    84,    65,    68,   106,   107,   108,    82,   175,   109,
 -      69,    70,    71,   217,   121,   192,   193,   194,   195,   196,
 -     197,   198,   206,   110,    77,   237,   112,   113,   114,   176,
 -      74,    75,    96,    85,    86,   101,   137,   138,   227,   139,
 -     145,   146,   147,   179,   180,   182,   184,   185,   183,   186,
 -     201,   151,   152,   157,   158,   155,   156,   159,   160,   162,
 -     161,   163,   220,   222,   221,   177,   187,   188,   189,   190,
 -     191,   210,   212,   211,   213,   214,   215,   234,   235,   181,
 -     199,   202,   203,   224,     0,     0,     0,     0,     0,     0,
 -       0,     0,   242,   244,   245,   246,   248,   249,   250,   251,
 -     247,     0,     0,     0,     0,     0,     0,     0,   253,   255,
 -     256,   257,   258,   259,   260,   261,     0,     0,     0,     0,
 -       0,     0,     0,   263,   265,   266,   269,   270,   267,   271,
 -     268,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,   273,   275,   276,   277,   278,   282,   283,   284,   279,
 -     280,   281,     0,     0,     0,     0,     0,     0,   296,   300,
 -     301,   302,   303,   304,   292,   294,   295,   297,   298,   299,
 -       0,     0,     0,     0,     0,     0,     0,     0,   552,   554,
 -     556,   555,   561,   557,   558,   559,   560,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,    20,    22,    23,
 +      88,    91,   100,   204,   205,    24,   164,   165,   166,   167,
 +     168,   169,   170,   171,   172,   173,    37,    79,    25,    92,
 +      93,    48,    72,    87,    26,    27,    30,    31,    28,    29,
 +      32,    33,    34,   238,   239,   240,    35,    36,   124,   216,
 +     125,   127,   128,   129,   218,   223,   219,   230,   231,   232,
 +     233,   130,   131,   132,   133,   134,   135,   136,   200,    89,
 +      78,   104,   122,   123,   228,   225,   126,    38,    39,    40,
 +      41,    42,    80,    94,    95,   111,    66,    76,    67,   208,
 +     209,   105,    58,    59,   207,    62,    60,    61,    63,   236,
 +     115,   119,   140,   150,   178,   153,   229,   116,    73,    43,
 +      44,    45,   102,   141,   142,   143,   144,    46,    47,    49,
 +      50,    52,    53,    51,   148,   154,    54,    55,    56,    64,
 +      83,   120,    97,   149,    90,   174,    98,    99,   117,   118,
 +     226,   103,    57,    81,    84,    65,    68,   106,   107,   108,
 +      82,   175,   109,    69,    70,    71,   217,   121,   192,   193,
 +     194,   195,   196,   197,   198,   206,   110,    77,   237,   112,
 +     113,   114,   176,    74,    75,    96,    85,    86,   101,   241,
 +     242,   243,   137,   138,   227,   139,   145,   146,   147,   179,
 +     180,   182,   184,   185,   183,   186,   201,   151,   152,   157,
 +     158,   155,   156,   159,   160,   162,   161,   163,   220,   222,
 +     221,   177,   187,   188,   189,   190,   191,   210,   212,   211,
 +     213,   214,   215,   234,   235,   181,   199,   202,   203,   224,
 +       0,     0,     0,     0,     0,     0,     0,     0,   245,   247,
 +     248,   249,   251,   252,   253,   254,   250,     0,     0,     0,
 +       0,     0,     0,     0,   256,   258,   259,   260,   261,   262,
 +     263,   264,     0,     0,     0,     0,     0,     0,     0,   266,
 +     268,   269,   272,   273,   270,   274,   271,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,   276,   278,   279,
 +     280,   281,   285,   286,   287,   282,   283,   284,     0,     0,
-        0,     0,     0,     0,   299,   303,   304,   305,   306,   307,
-      295,   297,   298,   300,   301,   302,     0,     0,     0,     0,
-        0,     0,     0,     0,   558,   560,   562,   561,   567,   563,
-      564,   565,   566,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,   300,   304,   305,   306,   307,
++     309,   308,   296,   298,   299,   301,   302,   303,     0,     0,
++       0,     0,     0,     0,     0,     0,   560,   562,   564,   563,
++     569,   565,   566,   567,   568,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,   577,   579,   581,   580,   582,   583,   584,   585,
 -       0,     0,     0,     0,     0,     0,   571,   573,   575,   574,
 -     576,   577,   578,   579,   580,   581,   582,   583,   584,   585,
 -     586,   587,   588,   589,   590,   591,     0,   612,   614,     0,
 -     617,   619,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,   626,   628,   629,   630,   632,   633,   631,   634,
 -     635,   636,   637,     0,     0,     0,     0,     0,     0,   649,
 -     651,   652,   653,   654,   655,   656,     0,     0,   665,   667,
 -     668,   306,   305,   312,   325,   323,   335,   331,   332,   336,
 -     333,   334,   337,   338,   339,   343,   344,   374,   375,   376,
 -     377,   378,   406,   407,   408,   414,   415,   328,   416,   417,
 -     420,   418,   419,   423,   424,   425,   439,   389,   390,   393,
 -     394,   426,   442,   383,   385,   443,   450,   451,   452,   329,
 -     405,   470,   471,   384,   464,   367,   324,   379,   440,   447,
 -     427,     0,     0,   474,   330,   307,   366,   431,   308,   326,
 -     327,   380,   381,   472,   429,   433,   434,   341,   340,   309,
 -     475,   409,   438,   368,   388,   444,   445,   446,   449,   463,
 -     382,   468,   466,   467,   397,   404,   435,   436,   398,   399,
 -     428,   454,   369,   370,   373,   345,   347,   342,   348,   349,
 -     350,   351,   358,   359,   360,   361,   362,   363,   364,   476,
 -     477,   479,   410,   411,   412,   413,   421,   422,   480,   481,
 -     482,     0,     0,     0,   430,   400,   402,   621,   491,   495,
 -     493,   492,   496,   494,   501,     0,     0,   499,   500,   313,
 -     314,   315,   316,   317,   318,   319,   320,   321,   322,   432,
 -     448,   469,   505,   506,   401,   483,     0,     0,     0,     0,
 -       0,     0,   455,   456,   457,   458,   459,   460,   461,   462,
 -     622,   391,   392,   395,   386,   453,   365,   310,   311,   387,
 -     507,   508,   509,   510,   511,   513,   512,   514,   515,   516,
 -     346,   353,   502,   504,   503,   352,     0,   372,   437,   478,
 -     371,   403,   354,   355,   357,   356,     0,   518,   396,   465,
 -     519,   520,   521,   526,   524,   525,   522,   523,   527,   528,
 -     529,   530,   532,   533,   531,   544,     0,   548,   549,     0,
 -       0,   550,   534,   542,   535,   536,   537,   541,   543,   538,
 -     539,   540,   285,   286,   287,   288,   289,   290,   562,   564,
 -     563,   566,   567,   568,   569,   565,   592,   594,   595,   596,
 -     597,   598,   599,   600,   601,   602,   593,   603,   604,   605,
 -     606,   607,   608,   609,   610,   615,   620,   638,   639,   640,
 -     643,   641,   642,   644,   645,   646,   647,   657,   658,   659,
 -     660,   661,   662,   669,   670,   441,   473,   490,   623,   624,
 -     497,   498,   484,   485,     0,     0,     0,   489,   663,   517,
 -     545,   546,   547,   488,   486,   487
++       0,     0,     0,     0,   579,   581,   583,   582,   584,   585,
 +     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
-      596,   597,     0,   618,   620,     0,   623,   625,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,   632,   634,
-      635,   636,   638,   639,   637,   640,   641,   642,   643,     0,
-        0,     0,     0,     0,     0,   655,   657,   658,   659,   660,
-      661,   662,     0,     0,   671,   673,   674,   309,   308,   315,
-      328,   326,   338,   334,   335,   339,   336,   337,   340,   341,
-      342,   346,   347,   377,   378,   379,   380,   381,   409,   410,
-      411,   417,   418,   331,   419,   420,   423,   421,   422,   426,
-      427,   428,   442,   392,   393,   396,   397,   429,   445,   386,
-      388,   446,   453,   454,   455,   332,   408,   473,   474,   387,
-      467,   370,   327,   382,   443,   450,   430,     0,     0,   477,
-      333,   310,   369,   434,   311,   329,   330,   383,   384,   475,
-      432,   436,   437,   344,   343,   312,   478,   412,   441,   371,
-      391,   447,   448,   449,   452,   466,   385,   471,   469,   470,
-      400,   407,   438,   439,   401,   402,   431,   457,   372,   373,
-      376,   348,   350,   345,   351,   352,   353,   354,   361,   362,
-      363,   364,   365,   366,   367,   482,   483,   485,   413,   414,
-      415,   416,   424,   425,   486,   487,   488,     0,     0,     0,
-      433,   403,   405,   627,   497,   501,   499,   498,   502,   500,
-      507,     0,     0,   505,   506,   316,   317,   318,   319,   320,
-      321,   322,   323,   324,   325,   435,   451,   472,   511,   512,
-      404,   489,     0,     0,     0,     0,     0,     0,   458,   459,
-      460,   461,   462,   463,   464,   465,   628,   394,   395,   398,
-      389,   456,   368,   313,   314,   390,   513,   514,   515,   516,
-      517,   519,   518,   520,   521,   522,   349,   356,   508,   510,
-      509,   355,     0,   375,   440,   484,   374,   406,   357,   358,
-      360,   359,     0,   524,   399,   468,     0,     0,   481,   525,
-      526,   527,   532,   530,   531,   528,   529,   533,   534,   535,
-      536,   538,   539,   537,   550,     0,   554,   555,     0,     0,
-      556,   540,   548,   541,   542,   543,   547,   549,   544,   545,
-      546,   288,   289,   290,   291,   292,   293,   568,   570,   569,
-      572,   573,   574,   575,   571,   598,   600,   601,   602,   603,
-      604,   605,   606,   607,   608,   599,   609,   610,   611,   612,
-      613,   614,   615,   616,   621,   626,   644,   645,   646,   649,
-      647,   648,   650,   651,   652,   653,   663,   664,   665,   666,
-      667,   668,   675,   676,   444,   476,   496,   629,   630,   503,
-      504,   490,   491,     0,     0,     0,   495,   669,   523,   479,
-      480,   551,   552,   553,   494,   492,   493
- };
- /* YYDEFGOTO[NTERM-NUM].  */
- static const yytype_int16 yydefgoto[] =
- {
-       -1,     1,    17,    18,    19,    32,   267,    20,    33,   498,
-       21,    34,   514,    22,    35,   529,    23,    36,   547,   564,
-      565,   566,   567,   568,   569,    24,    37,   570,   268,   269,
-      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
-      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
-      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
-      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
-      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
-      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
-      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
-      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
-      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
-      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
-      400,   401,   402,   403,   404,   405,   406,   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,
-      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,   473,   474,   475,   476,   477,   478,   479,
-      480,   481,   482,   483,   484,   499,   500,   501,   502,   503,
-      504,   505,   506,   515,   516,   517,   518,   519,   520,   521,
-      548,   549,   550,   551,   552,   553,   554,   555,   556,   557,
-      530,   531,   532,   533,   534,   535,   536,    25,    38,   584,
-      585,   586,   587,   588,   589,   590,   591,   592,    26,    39,
-      612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
-      622,   623,   624,   625,   626,   627,   628,   629,   630,   631,
-       27,    40,   633,   634,    28,    41,   636,   637,   485,   486,
-      487,   488,    29,    42,   648,   649,   650,   651,   652,   653,
-      654,   655,   656,   657,   658,    30,    43,   665,   666,   667,
-      668,   669,   670,   671,   489,    31,    44,   674,   675,   676
++     596,   597,   598,   599,     0,   620,   622,     0,   625,   627,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     634,   636,   637,   638,   640,   641,   639,   642,   643,   644,
++     645,     0,     0,     0,     0,     0,     0,   657,   659,   660,
++     661,   662,   663,   664,     0,     0,   673,   675,   676,   311,
++     310,   317,   330,   328,   340,   336,   337,   341,   338,   339,
++     342,   343,   344,   348,   349,   379,   380,   381,   382,   383,
++     411,   412,   413,   419,   420,   333,   421,   422,   425,   423,
++     424,   428,   429,   430,   444,   394,   395,   398,   399,   431,
++     447,   388,   390,   448,   455,   456,   457,   334,   410,   475,
++     476,   389,   469,   372,   329,   384,   445,   452,   432,     0,
++       0,   479,   335,   312,   371,   436,   313,   331,   332,   385,
++     386,   477,   434,   438,   439,   346,   345,   314,   480,   414,
++     443,   373,   393,   449,   450,   451,   454,   468,   387,   473,
++     471,   472,   402,   409,   440,   441,   403,   404,   433,   459,
++     374,   375,   378,   350,   352,   347,   353,   354,   355,   356,
++     363,   364,   365,   366,   367,   368,   369,   484,   485,   487,
++     415,   416,   417,   418,   426,   427,   488,   489,   490,     0,
++       0,     0,   435,   405,   407,   629,   499,   503,   501,   500,
++     504,   502,   509,     0,     0,   507,   508,   318,   319,   320,
++     321,   322,   323,   324,   325,   326,   327,   437,   453,   474,
++     513,   514,   406,   491,     0,     0,     0,     0,     0,     0,
++     460,   461,   462,   463,   464,   465,   466,   467,   630,   396,
++     397,   400,   391,   458,   370,   315,   316,   392,   515,   516,
++     517,   518,   519,   521,   520,   522,   523,   524,   351,   358,
++     510,   512,   511,   357,     0,   377,   442,   486,   376,   408,
++     359,   360,   362,   361,     0,   526,   401,   470,     0,     0,
++     483,   527,   528,   529,   534,   532,   533,   530,   531,   535,
++     536,   537,   538,   540,   541,   539,   552,     0,   556,   557,
++       0,     0,   558,   542,   550,   543,   544,   545,   549,   551,
++     546,   547,   548,   288,   289,   290,   291,   292,   294,   293,
++     570,   572,   571,   574,   575,   576,   577,   573,   600,   602,
++     603,   604,   605,   606,   607,   608,   609,   610,   601,   611,
++     612,   613,   614,   615,   616,   617,   618,   623,   628,   646,
++     647,   648,   651,   649,   650,   652,   653,   654,   655,   665,
++     666,   667,   668,   669,   670,   677,   678,   446,   478,   498,
++     631,   632,   505,   506,   492,   493,     0,     0,     0,   497,
++     671,   525,   481,   482,   553,   554,   555,   496,   494,   495
  };
  
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-    STATE-NUM.  */
- #define YYPACT_NINF -306
- static const yytype_int16 yypact[] =
+   /* YYPGOTO[NTERM-NUM].  */
+ static const yytype_int16 yypgoto[] =
  {
-     -306,     0,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   302,   -43,   -38,   -42,   -44,   -28,   -29,  -151,
-     -109,  -305,  -197,  -195,  -296,     3,     4,    27,    28,    31,
-       32,    33,    34,    35,    37,    38,    39,    40,    41,    53,
-       54,    55,    72,    73,    74,    75,    76,    77,    78,    79,
-       80,    81,    82,    83,    84,    85,    87,    88,    89,    91,
-       92,    95,    97,    98,   100,   101,   103,   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,   131,   132,   133,   134,   135,   136,   139,
-      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-      150,   151,   152,   153,   154,   155,   156,   157,   159,   160,
-      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-      171,   172,   173,   174,   175,   176,   177,   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,   219,   220,   221,   222,
-      223,   225,   231,   232,   233,   234,   235,   237,   238,   240,
-      246,   247,   248,   249,   250,   251,   253,   254,   255,   256,
-      257,   258,   259,   261,   262,   263,   264,   265,   268,   276,
-      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
-      287,   288,   289,   290,   291,   292,   294,   295,   296,   298,
-      299,   300,   301,   303,   337,   338,   339,   340,   344,   345,
-      346,   388,   389,   390,   391,   392,   393,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-      394,   395,   396,   402,   406,   407,   434,   435,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,   436,   438,   439,
-      447,   460,   461,   462,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   463,   464,   465,   466,   467,   468,   469,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,   470,   471,   472,
-      473,   474,   475,   476,   477,   478,   479,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,   520,   522,
-      541,   542,   543,   544,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,   545,   546,   547,   548,
-      549,   550,   551,   562,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,   563,   564,   565,   566,   567,   568,   570,
-      571,   572,   573,   574,   575,   576,   579,   582,   585,   586,
-      595,   596,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   597,  -306,  -306,   599,  -306,  -306,   600,   601,
-      602,   603,   604,   605,   606,   607,   612,   613,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,   617,
-      618,   619,   620,   621,   622,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   623,   624,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,   625,   626,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,   627,   628,   629,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,   630,   631,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   632,   633,   634,   635,   636,   637,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   638,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,   639,  -306,  -306,  -306,   640,   641,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,   642,  -306,  -306,   643,   644,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,   645,   646,   647,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,   640,   641,   642,
 -     643,   644,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,  -302,
 -    -302,  -302,  -302,  -302,  -302,  -302,  -302
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,   -27,   651,   652,   653,   654,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,  -309,
++    -309
  };
  
/* YYPGOTO[NTERM-NUM].  */
- static const yytype_int16 yypgoto[] =
  /* YYDEFGOTO[NTERM-NUM].  */
+ static const yytype_int16 yydefgoto[] =
  {
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-      275,   648,   649,   650,   651,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,
-     -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306,  -306
 -      -1,     1,    17,    18,    19,    32,   264,    20,    33,   492,
 -      21,    34,   508,    22,    35,   523,    23,    36,   541,   558,
 -     559,   560,   561,   562,   563,    24,    37,   564,   265,   266,
 -     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
 -     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
 -     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
 -     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
 -     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
 -     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
 -     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
 -     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
 -     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
 -     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
 -     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
 -     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
 -     387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
 -     397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
 -     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,   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,   473,   474,   475,   476,
 -     477,   478,   493,   494,   495,   496,   497,   498,   499,   500,
 -     509,   510,   511,   512,   513,   514,   515,   542,   543,   544,
 -     545,   546,   547,   548,   549,   550,   551,   524,   525,   526,
 -     527,   528,   529,   530,    25,    38,   578,   579,   580,   581,
 -     582,   583,   584,   585,   586,    26,    39,   606,   607,   608,
 -     609,   610,   611,   612,   613,   614,   615,   616,   617,   618,
 -     619,   620,   621,   622,   623,   624,   625,    27,    40,   627,
 -     628,    28,    41,   630,   631,   479,   480,   481,   482,    29,
 -      42,   642,   643,   644,   645,   646,   647,   648,   649,   650,
 -     651,   652,    30,    43,   659,   660,   661,   662,   663,   664,
 -     665,   483,    31,    44,   668,   669,   670
++       0,     1,    17,    18,    19,    32,   267,    20,    33,   498,
++      21,    34,   514,    22,    35,   529,    23,    36,   547,   565,
++     566,   567,   568,   569,   570,   571,    24,    37,   572,   268,
++     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
++     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
++     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
++     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
++     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
++     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
++     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
++     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
++     399,   400,   401,   402,   403,   404,   405,   406,   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,   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,   473,   474,   475,   476,   477,   478,
++     479,   480,   481,   482,   483,   484,   499,   500,   501,   502,
++     503,   504,   505,   506,   515,   516,   517,   518,   519,   520,
++     521,   548,   549,   550,   551,   552,   553,   554,   555,   556,
++     557,   530,   531,   532,   533,   534,   535,   536,    25,    38,
++     586,   587,   588,   589,   590,   591,   592,   593,   594,    26,
++      39,   614,   615,   616,   617,   618,   619,   620,   621,   622,
++     623,   624,   625,   626,   627,   628,   629,   630,   631,   632,
++     633,    27,    40,   635,   636,    28,    41,   638,   639,   485,
++     486,   487,   488,    29,    42,   650,   651,   652,   653,   654,
++     655,   656,   657,   658,   659,   660,    30,    43,   667,   668,
++     669,   670,   671,   672,   673,   489,    31,    44,   676,   677,
++     678
  };
  
- /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
-    positive, shift that token.  If negative, reduce the rule which
-    number is the opposite.  If zero, do what YYDEFACT says.
-    If YYTABLE_NINF, syntax error.  */
- #define YYTABLE_NINF -1
- static const yytype_uint16 yytable[] =
+   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
+      positive, shift that token.  If negative, reduce the rule whose
+      number is the opposite.  If YYTABLE_NINF, syntax error.  */
+ static const yytype_int16 yytable[] =
  {
-        2,   537,   490,   522,   491,   492,   632,   507,   672,   673,
-      635,     3,     4,   677,   678,   508,   509,   537,   593,   594,
-      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
-      605,   606,   607,   608,   609,   610,   611,   679,   680,   523,
-      524,   681,   682,   683,   684,   685,     5,   686,   687,   688,
-      689,   690,     6,   638,   639,   640,   641,   642,   643,   644,
-      645,   646,   647,   691,   692,   693,   525,   493,   576,   577,
-      578,   579,   580,   581,   582,   583,   659,   660,   661,   662,
-      663,   664,   694,   695,   696,   697,   698,   699,   700,   701,
-      702,   703,   704,   705,   706,   707,     7,   708,   709,   710,
-      494,   711,   712,   495,   510,   713,   511,   714,   715,   512,
-      716,   717,   496,   718,     8,   719,   720,   721,   722,   723,
-      724,   725,   726,   727,   728,   729,   730,   731,   732,   733,
-      734,   735,   736,   737,   738,   739,   740,   741,   742,   743,
-      744,   745,   746,   747,   748,   749,   750,   526,   527,   751,
-      752,   753,   754,   755,   756,   757,   758,   759,   760,   761,
-      762,   763,   764,   765,   766,   767,   768,   769,     9,   770,
-      771,   772,   773,   774,   775,   776,   777,   778,   779,   780,
-      781,   782,   783,   784,   785,   786,   787,   788,   528,   789,
-      790,   791,   792,   793,   794,   795,   796,   797,   798,   799,
-      800,   801,   802,   803,   804,   805,   806,   807,   808,   809,
-      810,   811,   812,   813,   814,   815,   816,   817,   818,   819,
-      820,   821,   822,   823,   824,   825,   826,   827,    10,   828,
-      829,   830,   831,   832,   538,   833,   539,   540,   541,   542,
-      543,   834,   835,   836,   837,   838,   544,   839,   840,    11,
-      841,   497,   539,   540,   541,   513,   842,   843,   844,   845,
-      846,   847,   544,   848,   849,   850,   851,   852,   853,   854,
-       12,   855,   856,   857,   858,   859,   545,   546,   860,    13,
-      558,   559,   560,   561,   562,   563,   861,   862,   863,   864,
-      865,   866,   867,   868,   869,   870,   871,   872,   873,   874,
 -       2,   531,   516,   666,   667,   484,   531,   485,   486,   626,
 -     501,     3,     4,   671,   629,   672,   673,   674,   502,   503,
 -     632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
 -     570,   571,   572,   573,   574,   575,   576,   577,   517,   518,
 -     653,   654,   655,   656,   657,   658,     5,   675,   676,   677,
 -     678,   679,     6,   680,   681,   682,   683,   684,   685,   686,
 -     687,   688,   689,   690,   691,   519,   692,   693,   694,   695,
 -     487,   587,   588,   589,   590,   591,   592,   593,   594,   595,
 -     596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
 -     696,   697,   698,   699,   700,   701,     7,   702,   703,   704,
 -     705,   706,   707,   488,   708,   709,   489,   504,   710,   505,
 -     711,   712,   506,   713,     8,   490,   714,   715,   716,   717,
 -     718,   719,   720,   721,   722,   723,   724,   725,   726,   727,
 -     728,   729,   730,   731,   732,   733,   734,   735,   736,   737,
 -     738,   739,   740,   741,   742,   743,   520,   521,   744,   745,
 -     746,   747,   748,   749,   750,   751,   752,   753,   754,   755,
 -     756,   757,   758,   759,   760,   761,   762,   763,     9,   764,
 -     765,   766,   767,   768,   769,   770,   771,   772,   773,   774,
 -     775,   776,   777,   778,   779,   780,   781,   522,   782,   783,
 -     784,   785,   786,   787,   788,   789,   790,   791,   792,   793,
 -     794,   795,   796,   797,   798,   799,   800,   801,   802,   803,
 -     804,   805,   806,   807,   808,   809,   810,   811,   812,   813,
 -     814,   815,   816,   817,   818,   819,   820,   821,    10,   822,
 -     823,   824,   825,   826,   827,   828,   533,   534,   535,   532,
 -     829,   533,   534,   535,   536,   537,   538,   830,   831,    11,
 -     832,   538,   833,   834,   491,   835,   836,   837,   507,   838,
 -     839,   840,   841,   842,   552,   553,   554,   555,   556,   843,
 -      12,   844,   845,   846,   847,   848,   849,   557,   850,    13,
 -     539,   540,   851,   852,   853,   854,   855,   856,   857,   858,
 -     859,   860,   861,   862,   863,   864,   865,   866,   867,   868,
 -     869,   870,   871,    14,   872,   873,   874,    15,   875,   876,
 -     877,     0,   878,    16,    45,    46,    47,    48,    49,    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,   879,   880,   881,   882,
 -      77,    78,    79,   883,   884,   885,    80,    81,    82,    83,
 -      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
 -      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
 -     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
 -     114,   115,   116,   117,   118,   119,   120,   886,   887,   888,
 -     889,   890,   891,   892,   893,   894,   121,   122,   123,   124,
 -     125,   895,   126,   127,   128,   896,   897,   129,   130,   131,
 -     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
 -     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
 -     152,   153,   154,   898,   899,   900,   155,   901,   902,   156,
 -     157,   158,   159,   160,   161,   162,   903,   163,   164,   165,
 -     166,   167,   168,   169,   170,   171,   172,   173,   174,   904,
 -     905,   906,   907,   908,   909,   910,   911,   912,   913,   914,
 -     915,   916,   917,   918,   919,   920,   921,   922,   923,   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,   924,
 -     215,   925,   216,   217,   218,   219,   220,   221,   222,   223,
 -     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
 -     926,   927,   928,   929,   930,   931,   932,   933,   934,   935,
 -     936,   234,   235,   236,   237,   238,   239,   240,   241,   242,
 -     243,   937,   938,   939,   940,   941,   942,   943,   244,   944,
 -     945,   946,   947,   948,   949,   950,   245,   246,   951,   247,
 -     248,   952,   249,   250,   953,   954,   251,   252,   253,   254,
 -     255,   256,   257,   258,   955,   956,   957,   259,   958,   959,
 -     960,   961,   962,   963,   964,   965,   260,   261,   262,   263,
 -     966,   967,   968,   969,   970,   971,   972,   973,   974,   975,
 -     976,   977,   978,   979,   980,   981,   982,   983,   984,   985,
 -     986,   987,   988,   989,   990,   991,   992,   993,   994,   995,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       2,   537,   522,   674,   675,   634,   490,   637,   491,   492,
++     573,     3,     4,   507,   679,   537,   680,   681,   682,   683,
++     684,   508,   509,   640,   641,   642,   643,   644,   645,   646,
++     647,   648,   649,   685,   686,   687,   688,   689,   523,   524,
++     661,   662,   663,   664,   665,   666,     5,   690,   691,   692,
++     693,   694,     6,   695,   696,   578,   579,   580,   581,   582,
++     583,   584,   585,   697,   698,   525,   699,   700,   701,   702,
++     703,   493,   595,   596,   597,   598,   599,   600,   601,   602,
++     603,   604,   605,   606,   607,   608,   609,   610,   611,   612,
++     613,   704,   705,   706,   707,   708,     7,   709,   710,   711,
++     712,   713,   714,   715,   494,   716,   717,   495,   718,   719,
++     510,   720,   511,   721,     8,   512,   496,   722,   723,   724,
++     725,   726,   727,   728,   729,   730,   731,   732,   733,   734,
++     735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
++     745,   746,   747,   748,   749,   750,   526,   527,   751,   752,
++     753,   754,   755,   756,   757,   758,   759,   760,   761,   762,
++     763,   764,   765,   766,   767,   768,   769,   770,     9,   771,
++     772,   773,   774,   775,   776,   777,   778,   779,   780,   781,
++     782,   783,   784,   785,   786,   787,   788,   528,   789,   790,
++     791,   792,   793,   794,   795,   796,   797,   798,   799,   800,
++     801,   802,   803,   804,   805,   806,   807,   808,   809,   810,
++     811,   812,   813,   814,   815,   816,   817,   818,   819,   820,
++     821,   822,   823,   824,   825,   826,   827,   828,    10,   829,
++     830,   831,   832,   833,   834,   835,   539,   540,   541,   836,
++     837,   838,   839,   840,   841,   842,   544,   843,   538,    11,
++     539,   540,   541,   542,   543,   497,   844,   845,   846,   847,
++     544,   513,   848,   849,   558,   559,   560,   561,   562,   563,
++      12,   850,   851,   852,   853,   854,   855,   856,   857,    13,
++     858,   564,   859,   860,   861,   862,   863,   864,   865,   866,
++     545,   546,   867,   868,   869,   870,   871,   872,   873,   874,
 +     875,   876,   877,    14,   878,   879,   880,    15,   881,   882,
-      883,   884,   571,   885,    16,    45,    46,    47,    48,    49,
++     883,   884,     0,   885,    16,    45,    46,    47,    48,    49,
 +      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,   886,   887,   888,
 +     889,    77,    78,    79,   890,   891,   892,    80,    81,    82,
 +      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
 +      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
 +     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
 +     113,   114,   115,   116,   117,   118,   119,   120,   893,   894,
 +     895,   896,   897,   898,   899,   900,   901,   121,   122,   123,
 +     124,   125,   902,   126,   127,   128,   903,   904,   129,   130,
 +     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
 +     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
 +     151,   152,   153,   154,   905,   906,   907,   155,   908,   909,
 +     156,   157,   158,   159,   160,   161,   162,   910,   163,   164,
 +     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
 +     911,   912,   913,   914,   915,   916,   917,   918,   919,   920,
 +     921,   922,   923,   924,   925,   926,   927,   928,   929,   930,
 +     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,
 +     931,   215,   932,   216,   217,   218,   219,   220,   221,   222,
 +     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
 +     233,   933,   934,   935,   936,   937,   938,   939,   940,   941,
 +     942,   943,   234,   235,   236,   237,   238,   239,   240,   241,
 +     242,   243,   944,   945,   946,   947,   948,   949,   950,   244,
 +     951,   952,   953,   954,   955,   956,   957,   245,   246,   958,
 +     247,   248,   959,   249,   250,   960,   961,   251,   252,   253,
 +     254,   255,   256,   257,   258,   962,   963,   964,   259,   965,
 +     966,   967,   968,   969,   970,   971,   972,   973,   260,   261,
 +     262,   263,   974,   975,   264,   265,   266,   976,   977,   978,
 +     979,   980,   981,   982,   983,   984,   985,   986,   987,   988,
 +     989,   990,   991,   992,   993,   994,   995,   996,   997,   998,
-      999,  1000,  1001,  1002,  1003,  1004,  1005,  1006,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++     999,  1000,  1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,
++    1009,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,   572,   573,   574,   575
 -       0,     0,     0,     0,     0,     0,     0,   565,   566,   567,
 -     568,   569
++       0,     0,     0,     0,     0,     0,     0,     0,   574,   575,
++     576,   577
  };
  
  static const yytype_int16 yycheck[] =
  {
-        0,    45,    45,    45,    47,    48,   115,    45,   304,   305,
-      315,    11,    12,    10,    10,    53,    54,    45,   169,   170,
-      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-      181,   182,   183,   184,   185,   186,   187,    10,    10,    81,
-       82,    10,    10,    10,    10,    10,    46,    10,    10,    10,
-       10,    10,    52,   250,   251,   252,   253,   254,   255,   256,
-      257,   258,   259,    10,    10,    10,   108,   110,    97,    98,
-       99,   100,   101,   102,   103,   104,   271,   272,   273,   274,
-      275,   276,    10,    10,    10,    10,    10,    10,    10,    10,
-       10,    10,    10,    10,    10,    10,    96,    10,    10,    10,
-      143,    10,    10,   146,   142,    10,   144,    10,    10,   147,
-       10,    10,   155,    10,   114,    10,    10,    10,    10,    10,
 -       0,    45,    45,   304,   305,    45,    45,    47,    48,   115,
 -      45,    11,    12,    10,   314,    10,    10,    10,    53,    54,
 -     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
 -      97,    98,    99,   100,   101,   102,   103,   104,    81,    82,
++       0,    45,    45,   304,   305,   115,    45,   315,    47,    48,
++      37,    11,    12,    45,    10,    45,    10,    10,    10,    10,
++      10,    53,    54,   250,   251,   252,   253,   254,   255,   256,
++     257,   258,   259,    10,    10,    10,    10,    10,    81,    82,
+      271,   272,   273,   274,   275,   276,    46,    10,    10,    10,
 -      10,    10,    52,    10,    10,    10,    10,    10,    10,    10,
 -      10,    10,    10,    10,    10,   108,    10,    10,    10,    10,
 -     110,   169,   170,   171,   172,   173,   174,   175,   176,   177,
 -     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
 -      10,    10,    10,    10,    10,    10,    96,    10,    10,    10,
 -      10,    10,    10,   143,    10,    10,   146,   142,    10,   144,
 -      10,    10,   147,    10,   114,   155,    10,    10,    10,    10,
++      10,    10,    52,    10,    10,    97,    98,    99,   100,   101,
++     102,   103,   104,    10,    10,   108,    10,    10,    10,    10,
++      10,   110,   169,   170,   171,   172,   173,   174,   175,   176,
++     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
++     187,    10,    10,    10,    10,    10,    96,    10,    10,    10,
++      10,    10,    10,    10,   143,    10,    10,   146,    10,    10,
++     142,    10,   144,    10,   114,   147,   155,    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,   189,   190,    10,
+       10,    10,    10,    10,    10,    10,   189,   190,    10,    10,
        10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
        10,    10,    10,    10,    10,    10,    10,    10,   168,    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,   228,    10,
-       10,    10,    10,    10,   278,    10,   280,   281,   282,   283,
-      284,    10,    10,    10,    10,    10,   290,    10,    10,   249,
-       10,   294,   280,   281,   282,   293,    10,    10,    10,    10,
-       10,    10,   290,    10,    10,    10,    10,    10,    10,    10,
-      270,    10,    10,    10,    10,    10,   320,   321,    10,   279,
-      308,   309,   310,   311,   312,   313,    10,    10,    10,    10,
 -      10,    10,    10,    10,    10,    10,   280,   281,   282,   278,
 -      10,   280,   281,   282,   283,   284,   290,    10,    10,   249,
 -      10,   290,    10,    10,   294,    10,    10,    10,   293,    10,
 -      10,    10,    10,    10,   308,   309,   310,   311,   312,    10,
 -     270,    10,    10,    10,    10,    10,    10,   321,    10,   279,
 -     319,   320,    10,    10,    10,    10,    10,    10,    10,    10,
--      10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++      10,    10,    10,    10,    10,    10,   280,   281,   282,    10,
++      10,    10,    10,    10,    10,    10,   290,    10,   278,   249,
++     280,   281,   282,   283,   284,   294,    10,    10,    10,    10,
++     290,   293,    10,    10,   308,   309,   310,   311,   312,   313,
++     270,    10,    10,    10,    10,    10,    10,    10,    10,   279,
++      10,   325,    10,    10,    10,    10,    10,    10,    10,    10,
++     320,   321,    10,    10,    10,    10,    10,    10,    10,    10,
        10,    10,    10,   303,    10,    10,    10,   307,    10,    10,
-       10,    10,    37,    10,   314,    13,    14,    15,    16,    17,
 -      10,    -1,    10,   313,    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,    40,    41,    42,    43,    44,    10,    10,    10,    10,
 -      49,    50,    51,    10,    10,    10,    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,    91,    92,    93,    94,    95,    10,    10,    10,
 -      10,    10,    10,    10,    10,    10,   105,   106,   107,   108,
 -     109,    10,   111,   112,   113,    10,    10,   116,   117,   118,
 -     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
 -     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
 -     139,   140,   141,    10,    10,    10,   145,    10,    10,   148,
 -     149,   150,   151,   152,   153,   154,    10,   156,   157,   158,
 -     159,   160,   161,   162,   163,   164,   165,   166,   167,    10,
++      10,    10,    -1,    10,   314,    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,    40,    41,    42,    43,    44,    10,    10,    10,
 +      10,    49,    50,    51,    10,    10,    10,    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,    91,    92,    93,    94,    95,    10,    10,
 +      10,    10,    10,    10,    10,    10,    10,   105,   106,   107,
 +     108,   109,    10,   111,   112,   113,    10,    10,   116,   117,
 +     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
 +     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
 +     138,   139,   140,   141,    10,    10,    10,   145,    10,    10,
 +     148,   149,   150,   151,   152,   153,   154,    10,   156,   157,
 +     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
        10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 -      10,    10,    10,    10,    10,    10,    10,    10,    10,   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,    10,
 -     229,    10,   231,   232,   233,   234,   235,   236,   237,   238,
 -     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
        10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 -      10,   260,   261,   262,   263,   264,   265,   266,   267,   268,
 -     269,    10,    10,    10,    10,    10,    10,    10,   277,    10,
 -      10,    10,    10,    10,    10,    10,   285,   286,    10,   288,
 -     289,    10,   291,   292,    10,    10,   295,   296,   297,   298,
 -     299,   300,   301,   302,    10,    10,    10,   306,    10,    10,
 -      10,    10,    10,    10,    10,    10,   315,   316,   317,   318,
 +     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,
 +      10,   229,    10,   231,   232,   233,   234,   235,   236,   237,
 +     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
 +     248,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 +      10,    10,   260,   261,   262,   263,   264,   265,   266,   267,
 +     268,   269,    10,    10,    10,    10,    10,    10,    10,   277,
 +      10,    10,    10,    10,    10,    10,    10,   285,   286,    10,
 +     288,   289,    10,   291,   292,    10,    10,   295,   296,   297,
 +     298,   299,   300,   301,   302,    10,    10,    10,   306,    10,
 +      10,    10,    10,    10,    10,    10,    10,    10,   316,   317,
 +     318,   319,    10,    10,   322,   323,   324,    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,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++      10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    37,    37,    37,    37
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    37,    37,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    37,
+       37,    37
  };
  
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-    symbol of state STATE-NUM.  */
- static const yytype_uint16 yystos[] =
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+      symbol of state STATE-NUM.  */
+ static const yytype_int16 yystos[] =
  {
-        0,   326,     0,    11,    12,    46,    52,    96,   114,   168,
-      228,   249,   270,   279,   303,   307,   314,   327,   328,   329,
-      332,   335,   338,   341,   350,   602,   613,   635,   639,   647,
-      660,   670,   330,   333,   336,   339,   342,   351,   603,   614,
-      636,   640,   648,   661,   671,    13,    14,    15,    16,    17,
 -       0,   323,     0,    11,    12,    46,    52,    96,   114,   168,
 -     228,   249,   270,   279,   303,   307,   313,   324,   325,   326,
 -     329,   332,   335,   338,   347,   596,   607,   629,   633,   641,
 -     654,   664,   327,   330,   333,   336,   339,   348,   597,   608,
 -     630,   634,   642,   655,   665,    13,    14,    15,    16,    17,
++       0,   327,     0,    11,    12,    46,    52,    96,   114,   168,
++     228,   249,   270,   279,   303,   307,   314,   328,   329,   330,
++     333,   336,   339,   342,   352,   604,   615,   637,   641,   649,
++     662,   672,   331,   334,   337,   340,   343,   353,   605,   616,
++     638,   642,   650,   663,   673,    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,    40,    41,    42,    43,    44,    49,    50,    51,
       245,   246,   247,   248,   260,   261,   262,   263,   264,   265,
       266,   267,   268,   269,   277,   285,   286,   288,   289,   291,
       292,   295,   296,   297,   298,   299,   300,   301,   302,   306,
-      316,   317,   318,   319,   322,   323,   324,   331,   353,   354,
 -     315,   316,   317,   318,   328,   350,   351,   352,   353,   354,
--     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
--     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
--     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
--     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
--     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
--     405,   406,   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,   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,   473,   474,
--     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
--     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
--     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
--     505,   506,   507,   508,   509,   510,   511,   512,   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,   559,   560,   561,   562,   563,   564,
-      565,   566,   567,   568,   569,   643,   644,   645,   646,   669,
-       45,    47,    48,   110,   143,   146,   155,   294,   334,   570,
-      571,   572,   573,   574,   575,   576,   577,    45,    53,    54,
-      142,   144,   147,   293,   337,   578,   579,   580,   581,   582,
-      583,   584,    45,    81,    82,   108,   189,   190,   230,   340,
-      595,   596,   597,   598,   599,   600,   601,    45,   278,   280,
-      281,   282,   283,   284,   290,   320,   321,   343,   585,   586,
-      587,   588,   589,   590,   591,   592,   593,   594,   308,   309,
-      310,   311,   312,   313,   344,   345,   346,   347,   348,   349,
-      352,   585,   586,   587,   588,   589,    97,    98,    99,   100,
-      101,   102,   103,   104,   604,   605,   606,   607,   608,   609,
-      610,   611,   612,   169,   170,   171,   172,   173,   174,   175,
-      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-      186,   187,   615,   616,   617,   618,   619,   620,   621,   622,
 -     555,   556,   557,   558,   559,   560,   561,   562,   563,   637,
 -     638,   639,   640,   663,    45,    47,    48,   110,   143,   146,
 -     155,   294,   331,   564,   565,   566,   567,   568,   569,   570,
 -     571,    45,    53,    54,   142,   144,   147,   293,   334,   572,
 -     573,   574,   575,   576,   577,   578,    45,    81,    82,   108,
 -     189,   190,   230,   337,   589,   590,   591,   592,   593,   594,
 -     595,    45,   278,   280,   281,   282,   283,   284,   290,   319,
 -     320,   340,   579,   580,   581,   582,   583,   584,   585,   586,
 -     587,   588,   308,   309,   310,   311,   312,   321,   341,   342,
 -     343,   344,   345,   346,   349,   579,   580,   581,   582,   583,
 -      97,    98,    99,   100,   101,   102,   103,   104,   598,   599,
 -     600,   601,   602,   603,   604,   605,   606,   169,   170,   171,
 -     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
 -     182,   183,   184,   185,   186,   187,   609,   610,   611,   612,
 -     613,   614,   615,   616,   617,   618,   619,   620,   621,   622,
 -     623,   624,   625,   626,   627,   628,   115,   631,   632,   314,
 -     635,   636,   250,   251,   252,   253,   254,   255,   256,   257,
 -     258,   259,   643,   644,   645,   646,   647,   648,   649,   650,
 -     651,   652,   653,   271,   272,   273,   274,   275,   276,   656,
 -     657,   658,   659,   660,   661,   662,   304,   305,   666,   667,
 -     668,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++     316,   317,   318,   319,   322,   323,   324,   332,   355,   356,
++     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
++     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
++     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
++     387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
++     397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
++     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,   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,   473,   474,   475,   476,
++     477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
++     487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
++     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
++     507,   508,   509,   510,   511,   512,   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,   559,   560,   561,   562,   563,   564,   565,   566,
++     567,   568,   569,   570,   571,   645,   646,   647,   648,   671,
++      45,    47,    48,   110,   143,   146,   155,   294,   335,   572,
++     573,   574,   575,   576,   577,   578,   579,    45,    53,    54,
++     142,   144,   147,   293,   338,   580,   581,   582,   583,   584,
++     585,   586,    45,    81,    82,   108,   189,   190,   230,   341,
++     597,   598,   599,   600,   601,   602,   603,    45,   278,   280,
++     281,   282,   283,   284,   290,   320,   321,   344,   587,   588,
++     589,   590,   591,   592,   593,   594,   595,   596,   308,   309,
++     310,   311,   312,   313,   325,   345,   346,   347,   348,   349,
++     350,   351,   354,   587,   588,   589,   590,   591,    97,    98,
++      99,   100,   101,   102,   103,   104,   606,   607,   608,   609,
++     610,   611,   612,   613,   614,   169,   170,   171,   172,   173,
++     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
++     184,   185,   186,   187,   617,   618,   619,   620,   621,   622,
 +     623,   624,   625,   626,   627,   628,   629,   630,   631,   632,
-      633,   634,   115,   637,   638,   315,   641,   642,   250,   251,
-      252,   253,   254,   255,   256,   257,   258,   259,   649,   650,
-      651,   652,   653,   654,   655,   656,   657,   658,   659,   271,
-      272,   273,   274,   275,   276,   662,   663,   664,   665,   666,
-      667,   668,   304,   305,   672,   673,   674,    10,    10,    10,
++     633,   634,   635,   636,   115,   639,   640,   315,   643,   644,
++     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
++     651,   652,   653,   654,   655,   656,   657,   658,   659,   660,
++     661,   271,   272,   273,   274,   275,   276,   664,   665,   666,
++     667,   668,   669,   670,   304,   305,   674,   675,   676,    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,    10,    10,    10,    10,    10,    10,    10,    10,    10,
-       10,    10,    10,    10,    10,    10,    10
 -      10,    10,    10,    10,    10,    10
++      10,    10,    10,    10,    10,    10,    10,    10,    10,    10
  };
  
- #define yyerrok               (yyerrstatus = 0)
- #define yyclearin     (yychar = YYEMPTY)
- #define YYEMPTY               (-2)
- #define YYEOF         0
- #define YYACCEPT      goto yyacceptlab
- #define YYABORT               goto yyabortlab
- #define YYERROR               goto yyerrorlab
- /* Like YYERROR except do call yyerror.  This remains here temporarily
-    to ease the transition to the new meaning of YYERROR, for GCC.
-    Once GCC version 2 has supplanted version 1, this can go.  */
+   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+ static const yytype_int16 yyr1[] =
+ {
 -       0,   322,   323,   323,   324,   324,   324,   324,   324,   324,
 -     324,   324,   324,   324,   324,   324,   324,   324,   325,   326,
 -     327,   327,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
 -     328,   329,   330,   330,   331,   331,   331,   331,   331,   331,
 -     331,   331,   332,   333,   333,   334,   334,   334,   334,   334,
 -     334,   334,   335,   336,   336,   337,   337,   337,   337,   337,
 -     337,   337,   338,   339,   339,   340,   340,   340,   340,   340,
 -     340,   340,   340,   340,   340,   341,   342,   343,   344,   345,
 -     346,   347,   348,   348,   349,   349,   349,   349,   349,   349,
 -     349,   349,   349,   349,   349,   350,   351,   352,   353,   354,
++       0,   326,   327,   327,   328,   328,   328,   328,   328,   328,
++     328,   328,   328,   328,   328,   328,   328,   328,   329,   330,
++     331,   331,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
++     332,   332,   332,   332,   333,   334,   334,   335,   335,   335,
++     335,   335,   335,   335,   335,   336,   337,   337,   338,   338,
++     338,   338,   338,   338,   338,   339,   340,   340,   341,   341,
++     341,   341,   341,   341,   341,   342,   343,   343,   344,   344,
++     344,   344,   344,   344,   344,   344,   344,   344,   345,   346,
++     347,   348,   349,   350,   351,   352,   353,   353,   354,   354,
++     354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
+      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
+      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
+      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
+      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
+      405,   406,   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,   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,   473,   474,
+      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
+      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
+      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
+      505,   506,   507,   508,   509,   510,   511,   512,   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,   559,   560,   561,   562,   563,   564,
+      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
+      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
+      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
 -     595,   596,   597,   597,   598,   598,   598,   598,   598,   598,
 -     598,   598,   599,   600,   601,   602,   603,   604,   605,   606,
 -     607,   608,   608,   609,   609,   609,   609,   609,   609,   609,
 -     609,   609,   609,   609,   609,   609,   609,   609,   609,   609,
 -     609,   609,   610,   611,   612,   613,   614,   615,   616,   617,
++     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
++     605,   605,   606,   606,   606,   606,   606,   606,   606,   606,
++     607,   608,   609,   610,   611,   612,   613,   614,   615,   616,
++     616,   617,   617,   617,   617,   617,   617,   617,   617,   617,
++     617,   617,   617,   617,   617,   617,   617,   617,   617,   617,
+      618,   619,   620,   621,   622,   623,   624,   625,   626,   627,
 -     628,   629,   630,   630,   631,   632,   633,   634,   634,   635,
 -     636,   637,   638,   639,   640,   641,   642,   642,   643,   643,
 -     643,   643,   643,   643,   643,   643,   643,   643,   644,   645,
 -     646,   647,   648,   649,   650,   651,   652,   653,   654,   655,
 -     655,   656,   656,   656,   656,   656,   656,   657,   658,   659,
 -     660,   661,   662,   663,   664,   665,   665,   666,   666,   667,
 -     668
++     628,   629,   630,   631,   632,   633,   634,   635,   636,   637,
++     638,   638,   639,   640,   641,   642,   642,   643,   644,   645,
++     646,   647,   648,   649,   650,   650,   651,   651,   651,   651,
++     651,   651,   651,   651,   651,   651,   652,   653,   654,   655,
++     656,   657,   658,   659,   660,   661,   662,   663,   663,   664,
++     664,   664,   664,   664,   664,   665,   666,   667,   668,   669,
++     670,   671,   672,   673,   673,   674,   674,   675,   676
+ };
  
- #define YYFAIL                goto yyerrlab
+   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
+ static const yytype_int8 yyr2[] =
+ {
+        0,     2,     0,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     1,     1,     1,
+        2,     0,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     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,     1,     1,     2,     0,     1,     1,     1,     1,     1,
 -       1,     1,     1,     2,     0,     1,     1,     1,     1,     1,
 -       1,     1,     1,     2,     0,     1,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
 -       2,     1,     2,     0,     1,     1,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
++       1,     1,     1,     1,     1,     2,     0,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
++       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
++       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     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,     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,
+        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,     3,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 -       2,     2,     2,     3,     2,     2,     2,     2,     2,     2,
 -       2,     2,     2,     2,     3,     3,     4,     4,     4,     3,
 -       3,     2,     2,     2,     2,     2,     2,     3,     3,     2,
++       2,     2,     2,     2,     2,     2,     2,     2,     3,     2,
++       2,     3,     3,     2,     2,     2,     2,     2,     2,     2,
++       2,     2,     3,     3,     4,     4,     4,     3,     3,     2,
++       2,     2,     2,     2,     2,     3,     3,     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,     3,     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,     3,     3,     2,     2,
 -       2,     1,     2,     0,     1,     1,     1,     1,     1,     1,
 -       1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
 -       1,     2,     0,     1,     1,     1,     1,     1,     1,     1,
++       2,     2,     2,     3,     3,     3,     2,     2,     2,     1,
++       2,     0,     1,     1,     1,     1,     1,     1,     1,     1,
++       2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
++       0,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
 -       1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 -       2,     1,     2,     0,     1,     2,     1,     2,     0,     1,
 -       2,     2,     2,     3,     3,     1,     2,     0,     1,     1,
 -       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
 -       2,     2,     2,     2,     2,     2,     2,     2,     1,     2,
 -       0,     1,     1,     1,     1,     1,     1,     2,     2,     2,
 -       2,     2,     2,     3,     1,     2,     0,     1,     1,     2,
 -       2
++       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
++       2,     0,     1,     2,     1,     2,     0,     1,     2,     2,
++       2,     3,     3,     1,     2,     0,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
++       2,     2,     2,     2,     2,     2,     1,     2,     0,     1,
++       1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
++       2,     3,     1,     2,     0,     1,     1,     2,     2
+ };
  
- #define YYRECOVERING()  (!!yyerrstatus)
  
- #define YYBACKUP(Token, Value)                                        \
- do                                                            \
-   if (yychar == YYEMPTY && yylen == 1)                                \
-     {                                                         \
-       yychar = (Token);                                               \
-       yylval = (Value);                                               \
-       yytoken = YYTRANSLATE (yychar);                         \
-       YYPOPSTACK (1);                                         \
-       goto yybackup;                                          \
-     }                                                         \
-   else                                                                \
-     {                                                         \
-       yyerror (YY_("syntax error: cannot back up")); \
-       YYERROR;                                                        \
-     }                                                         \
- while (YYID (0))
- #define YYTERROR      1
- #define YYERRCODE     256
- /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
-    If N is 0, then set CURRENT to the empty location which ends
-    the previous symbol: RHS[0] (always defined).  */
- #define YYRHSLOC(Rhs, K) ((Rhs)[K])
- #ifndef YYLLOC_DEFAULT
- # define YYLLOC_DEFAULT(Current, Rhs, N)                              \
-     do                                                                        \
-       if (YYID (N))                                                    \
-       {                                                               \
-         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
-         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
-         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
-         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
-       }                                                               \
-       else                                                            \
-       {                                                               \
-         (Current).first_line   = (Current).last_line   =              \
-           YYRHSLOC (Rhs, 0).last_line;                                \
-         (Current).first_column = (Current).last_column =              \
-           YYRHSLOC (Rhs, 0).last_column;                              \
-       }                                                               \
-     while (YYID (0))
- #endif
+ enum { YYENOMEM = -2 };
  
+ #define yyerrok         (yyerrstatus = 0)
+ #define yyclearin       (yychar = YYEMPTY)
  
- /* YY_LOCATION_PRINT -- Print the location on the stream.
-    This macro was not mandated originally: define only if we know
-    we won't break user code: when these are the locations we know.  */
+ #define YYACCEPT        goto yyacceptlab
+ #define YYABORT         goto yyabortlab
+ #define YYERROR         goto yyerrorlab
  
- #ifndef YY_LOCATION_PRINT
- # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
- #  define YY_LOCATION_PRINT(File, Loc)                        \
-      fprintf (File, "%d.%d-%d.%d",                    \
-             (Loc).first_line, (Loc).first_column,     \
-             (Loc).last_line,  (Loc).last_column)
- # else
- #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
- # endif
- #endif
  
+ #define YYRECOVERING()  (!!yyerrstatus)
  
- /* YYLEX -- calling `yylex' with the right arguments.  */
+ #define YYBACKUP(Token, Value)                                    \
+   do                                                              \
+     if (yychar == YYEMPTY)                                        \
+       {                                                           \
+         yychar = (Token);                                         \
+         yylval = (Value);                                         \
+         YYPOPSTACK (yylen);                                       \
+         yystate = *yyssp;                                         \
+         goto yybackup;                                            \
+       }                                                           \
+     else                                                          \
+       {                                                           \
+         yyerror (YY_("syntax error: cannot back up")); \
+         YYERROR;                                                  \
+       }                                                           \
+   while (0)
+ /* Backward compatibility with an undocumented macro.
+    Use YYerror or YYUNDEF. */
+ #define YYERRCODE YYUNDEF
  
- #ifdef YYLEX_PARAM
- # define YYLEX yylex (YYLEX_PARAM)
- #else
- # define YYLEX yylex ()
- #endif
  
  /* Enable debugging if requested.  */
  #if YYDEBUG
  #  define YYFPRINTF fprintf
  # endif
  
- # define YYDPRINTF(Args)                      \
- do {                                          \
-   if (yydebug)                                        \
-     YYFPRINTF Args;                           \
- } while (YYID (0))
- # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                          \
- do {                                                                    \
-   if (yydebug)                                                                  \
-     {                                                                   \
-       YYFPRINTF (stderr, "%s ", Title);                                         \
-       yy_symbol_print (stderr,                                                  \
                Type, Value); \
      YYFPRINTF (stderr, "\n");                                                 \
-     }                                                                   \
- } while (YYID (0))
- /*--------------------------------.
- | Print this symbol on YYOUTPUT.  |
- `--------------------------------*/
- /*ARGSUSED*/
- #if (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
- static void
- yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
- #else
+ # define YYDPRINTF(Args)                        \
+ do {                                            \
+   if (yydebug)                                  \
+     YYFPRINTF Args;                             \
+ } while (0)
+ /* This macro is provided for backward compatibility. */
+ # ifndef YY_LOCATION_PRINT
+ #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+ # endif
# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
do {                                                                      \
+   if (yydebug)                                                            \
+     {                                                                     \
+       YYFPRINTF (stderr, "%s ", Title);                                   \
+       yy_symbol_print (stderr,                                            \
+                   Kind, Value); \
+       YYFPRINTF (stderr, "\n");                                           \
+     }                                                                     \
+ } while (0)
+ /*-----------------------------------.
+ | Print this symbol's value on YYO.  |
+ `-----------------------------------*/
  static void
- yy_symbol_value_print (yyoutput, yytype, yyvaluep)
-     FILE *yyoutput;
-     int yytype;
-     YYSTYPE const * const yyvaluep;
- #endif
+ yy_symbol_value_print (FILE *yyo,
+                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
  {
 -  YYUSE (yyoutput);
+   FILE *yyoutput = yyo;
++  YY_USE (yyoutput);
    if (!yyvaluep)
      return;
  # ifdef YYPRINT
-   if (yytype < YYNTOKENS)
-     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
- # else
-   YYUSE (yyoutput);
+   if (yykind < YYNTOKENS)
+     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
  # endif
-   switch (yytype)
-     {
-       default:
-       break;
-     }
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 -  YYUSE (yykind);
++  YY_USE (yykind);
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
  }
  
  
@@@ -2903,128 -3171,68 +2515,64 @@@ int yydebug
  | Release the memory associated to this symbol.  |
  `-----------------------------------------------*/
  
- /*ARGSUSED*/
- #if (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
- static void
- yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
- #else
  static void
- yydestruct (yymsg, yytype, yyvaluep)
-     const char *yymsg;
-     int yytype;
-     YYSTYPE *yyvaluep;
- #endif
+ yydestruct (const char *yymsg,
+             yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
  {
--  YYUSE (yyvaluep);
++  YY_USE (yyvaluep);
    if (!yymsg)
      yymsg = "Deleting";
-   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-   switch (yytype)
-     {
+   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
  
-       default:
-       break;
-     }
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 -  YYUSE (yykind);
++  YY_USE (yykind);
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
  }
\f
  
- /* Prevent warnings from -Wmissing-prototypes.  */
- #ifdef YYPARSE_PARAM
- #if defined __STDC__ || defined __cplusplus
- int yyparse (void *YYPARSE_PARAM);
- #else
- int yyparse ();
- #endif
- #else /* ! YYPARSE_PARAM */
- #if defined __STDC__ || defined __cplusplus
- int yyparse (void);
- #else
- int yyparse ();
- #endif
- #endif /* ! YYPARSE_PARAM */
  
- /* The look-ahead symbol.  */
 -/* The lookahead symbol.  */
++/* Lookahead token kind.  */
  int yychar;
  
- /* The semantic value of the look-ahead symbol.  */
+ /* The semantic value of the lookahead symbol.  */
  YYSTYPE yylval;
  /* Number of syntax errors so far.  */
  int yynerrs;
  
  
  
- /*----------.
- | yyparse.  |
- `----------*/
- #ifdef YYPARSE_PARAM
- #if (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
- int
- yyparse (void *YYPARSE_PARAM)
- #else
- int
- yyparse (YYPARSE_PARAM)
-     void *YYPARSE_PARAM;
- #endif
- #else /* ! YYPARSE_PARAM */
- #if (defined __STDC__ || defined __C99__FUNC__ \
-      || defined __cplusplus || defined _MSC_VER)
- int
- yyparse (void)
- #else
- int
- yyparse ()
- #endif
- #endif
- {
-   
-   int yystate;
-   int yyn;
-   int yyresult;
-   /* Number of tokens to shift before error messages enabled.  */
-   int yyerrstatus;
-   /* Look-ahead token as an internal (translated) token number.  */
-   int yytoken = 0;
- #if YYERROR_VERBOSE
-   /* Buffer for error messages, and its allocated size.  */
-   char yymsgbuf[128];
-   char *yymsg = yymsgbuf;
-   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
- #endif
-   /* Three stacks and their tools:
-      `yyss': related to states,
-      `yyvs': related to semantic values,
-      `yyls': related to locations.
-      Refer to the stacks thru separate pointers, to allow yyoverflow
-      to reallocate them elsewhere.  */
  
-   /* The state stack.  */
-   yytype_int16 yyssa[YYINITDEPTH];
-   yytype_int16 *yyss = yyssa;
-   yytype_int16 *yyssp;
+ /*----------.
+ | yyparse.  |
+ `----------*/
  
-   /* The semantic value stack.  */
-   YYSTYPE yyvsa[YYINITDEPTH];
-   YYSTYPE *yyvs = yyvsa;
-   YYSTYPE *yyvsp;
+ int
+ yyparse (void)
+ {
 -    yy_state_fast_t yystate;
++    yy_state_fast_t yystate = 0;
+     /* Number of tokens to shift before error messages enabled.  */
 -    int yyerrstatus;
++    int yyerrstatus = 0;
  
 -    /* The stacks and their tools:
 -       'yyss': related to states.
 -       'yyvs': related to semantic values.
 -
 -       Refer to the stacks through separate pointers, to allow yyoverflow
++    /* Refer to the stacks through separate pointers, to allow yyoverflow
+        to reallocate them elsewhere.  */
  
 -    YYPTRDIFF_T yystacksize;
+     /* Their size.  */
++    YYPTRDIFF_T yystacksize = YYINITDEPTH;
  
- #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 -    /* The state stack.  */
++    /* The state stack: array, bottom, top.  */
+     yy_state_t yyssa[YYINITDEPTH];
 -    yy_state_t *yyss;
 -    yy_state_t *yyssp;
++    yy_state_t *yyss = yyssa;
++    yy_state_t *yyssp = yyss;
  
-   YYSIZE_T yystacksize = YYINITDEPTH;
 -    /* The semantic value stack.  */
++    /* The semantic value stack: array, bottom, top.  */
+     YYSTYPE yyvsa[YYINITDEPTH];
 -    YYSTYPE *yyvs;
 -    YYSTYPE *yyvsp;
++    YYSTYPE *yyvs = yyvsa;
++    YYSTYPE *yyvsp = yyvs;
  
 -  /* Lookahead token as an internal (translated) token number.  */
+   int yyn;
+   /* The return value of yyparse.  */
+   int yyresult;
++  /* Lookahead symbol kind.  */
+   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
    /* The variables used to return semantic value and location from the
       action routines.  */
    YYSTYPE yyval;
       Keep to zero when no symbol should be popped.  */
    int yylen = 0;
  
 -  yynerrs = 0;
 -  yystate = 0;
 -  yyerrstatus = 0;
 -
 -  yystacksize = YYINITDEPTH;
 -  yyssp = yyss = yyssa;
 -  yyvsp = yyvs = yyvsa;
 -
 -
    YYDPRINTF ((stderr, "Starting parse\n"));
  
-   yystate = 0;
-   yyerrstatus = 0;
-   yynerrs = 0;
-   yychar = YYEMPTY;           /* Cause a token to be read.  */
-   /* Initialize stack pointers.
-      Waste one element of value and location stack
-      so that they stay on the same level as the state stack.
-      The wasted elements are never initialized.  */
-   yyssp = yyss;
-   yyvsp = yyvs;
+   yychar = YYEMPTY; /* Cause a token to be read.  */
    goto yysetstate;
  
  /*------------------------------------------------------------.
- | yynewstate -- Push a new state, which is found in yystate.  |
+ | yynewstate -- push a new state, which is found in yystate.  |
  `------------------------------------------------------------*/
 yynewstate:
+ yynewstate:
    /* In all cases, when you get here, the value and location stacks
       have just been pushed.  So pushing a state here evens the stacks.  */
    yyssp++;
@@@ -3230,23 -3454,25 +2785,25 @@@ yyreduce
    YY_REDUCE_PRINT (yyn);
    switch (yyn)
      {
-         case 18:
 -  case 18:
--#line 203 "./util/configparser.y"
-     {
++  case 18: /* force_toplevel: VAR_FORCE_TOPLEVEL  */
++#line 204 "./util/configparser.y"
+         {
                OUTYY(("\nP(force-toplevel)\n"));
        }
 -#line 3463 "util/configparser.c"
++#line 2794 "util/configparser.c"
      break;
  
--  case 19:
--#line 209 "./util/configparser.y"
-     {
++  case 19: /* serverstart: VAR_SERVER  */
++#line 210 "./util/configparser.y"
+         {
                OUTYY(("\nP(server:)\n"));
        }
 -#line 3471 "util/configparser.c"
++#line 2802 "util/configparser.c"
      break;
  
-   case 244:
- #line 318 "./util/configparser.y"
-     {
 -  case 241:
 -#line 316 "./util/configparser.y"
++  case 244: /* stubstart: VAR_STUB_ZONE  */
++#line 319 "./util/configparser.y"
+         {
                struct config_stub* s;
                OUTYY(("\nP(stub_zone:)\n"));
                s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
                        yyerror("out of memory");
                }
        }
 -#line 3487 "util/configparser.c"
++#line 2818 "util/configparser.c"
      break;
  
-   case 255:
- #line 336 "./util/configparser.y"
-     {
 -  case 252:
 -#line 334 "./util/configparser.y"
++  case 255: /* forwardstart: VAR_FORWARD_ZONE  */
++#line 337 "./util/configparser.y"
+         {
                struct config_stub* s;
                OUTYY(("\nP(forward_zone:)\n"));
                s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
                        yyerror("out of memory");
                }
        }
 -#line 3503 "util/configparser.c"
++#line 2834 "util/configparser.c"
      break;
  
-   case 265:
- #line 354 "./util/configparser.y"
-     {
 -  case 262:
 -#line 352 "./util/configparser.y"
++  case 265: /* viewstart: VAR_VIEW  */
++#line 355 "./util/configparser.y"
+         {
                struct config_view* s;
                OUTYY(("\nP(view:)\n"));
                s = (struct config_view*)calloc(1, sizeof(struct config_view));
                        yyerror("out of memory");
                }
        }
 -#line 3521 "util/configparser.c"
++#line 2852 "util/configparser.c"
      break;
  
-   case 275:
- #line 374 "./util/configparser.y"
-     {
 -  case 272:
 -#line 372 "./util/configparser.y"
++  case 275: /* authstart: VAR_AUTH_ZONE  */
++#line 375 "./util/configparser.y"
+         {
                struct config_auth* s;
                OUTYY(("\nP(auth_zone:)\n"));
                s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
                        yyerror("out of memory");
                }
        }
 -#line 3544 "util/configparser.c"
++#line 2875 "util/configparser.c"
      break;
  
-   case 288:
- #line 401 "./util/configparser.y"
-     {
 -  case 285:
 -#line 399 "./util/configparser.y"
++  case 288: /* rpz_tag: VAR_TAGS STRING_ARG  */
++#line 402 "./util/configparser.y"
+         {
                uint8_t* bitlist;
                size_t len = 0;
-               OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (2)].str)));
-               bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(2) - (2)].str),
+               OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[0].str)));
+               bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
                if(!bitlist) {
                        yyerror("could not parse tags, (define-tag them first)");
                }
  
                }
        }
 -#line 3565 "util/configparser.c"
++#line 2896 "util/configparser.c"
      break;
  
-   case 289:
- #line 420 "./util/configparser.y"
-     {
-               OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "nxdomain")!=0 && strcmp((yyvsp[(2) - (2)].str), "nodata")!=0 &&
-                  strcmp((yyvsp[(2) - (2)].str), "passthru")!=0 && strcmp((yyvsp[(2) - (2)].str), "drop")!=0 &&
-                  strcmp((yyvsp[(2) - (2)].str), "cname")!=0 && strcmp((yyvsp[(2) - (2)].str), "disabled")!=0) {
 -  case 286:
 -#line 418 "./util/configparser.y"
++  case 289: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG  */
++#line 421 "./util/configparser.y"
+         {
+               OUTYY(("P(rpz_action_override:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "nxdomain")!=0 && strcmp((yyvsp[0].str), "nodata")!=0 &&
+                  strcmp((yyvsp[0].str), "passthru")!=0 && strcmp((yyvsp[0].str), "drop")!=0 &&
+                  strcmp((yyvsp[0].str), "cname")!=0 && strcmp((yyvsp[0].str), "disabled")!=0) {
                        yyerror("rpz-action-override action: expected nxdomain, "
                                "nodata, passthru, drop, cname or disabled");
-                       free((yyvsp[(2) - (2)].str));
+                       free((yyvsp[0].str));
                        cfg_parser->cfg->auths->rpz_action_override = NULL;
                }
                else {
-                       cfg_parser->cfg->auths->rpz_action_override = (yyvsp[(2) - (2)].str);
+                       cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str);
                }
        }
 -#line 3584 "util/configparser.c"
++#line 2915 "util/configparser.c"
      break;
  
-   case 290:
- #line 437 "./util/configparser.y"
-     {
-               OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 287:
 -#line 435 "./util/configparser.y"
++  case 290: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG  */
++#line 438 "./util/configparser.y"
+         {
+               OUTYY(("P(rpz_cname_override:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->auths->rpz_cname);
-               cfg_parser->cfg->auths->rpz_cname = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str);
        }
 -#line 3594 "util/configparser.c"
++#line 2925 "util/configparser.c"
      break;
  
-   case 291:
- #line 445 "./util/configparser.y"
-     {
-               OUTYY(("P(rpz_log:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 288:
 -#line 443 "./util/configparser.y"
++  case 291: /* rpz_log: VAR_RPZ_LOG STRING_ARG  */
++#line 446 "./util/configparser.y"
+         {
+               OUTYY(("P(rpz_log:%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->auths->rpz_log = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 3606 "util/configparser.c"
++#line 2937 "util/configparser.c"
      break;
  
-   case 292:
- #line 455 "./util/configparser.y"
-     {
-               OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 289:
 -#line 453 "./util/configparser.y"
++  case 292: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG  */
++#line 456 "./util/configparser.y"
+         {
+               OUTYY(("P(rpz_log_name:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->auths->rpz_log_name);
-               cfg_parser->cfg->auths->rpz_log_name = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str);
        }
 -#line 3616 "util/configparser.c"
++#line 2947 "util/configparser.c"
      break;
  
-   case 293:
 -  case 290:
 -#line 460 "./util/configparser.y"
++  case 293: /* rpz_signal_nxdomain_ra: VAR_RPZ_SIGNAL_NXDOMAIN_RA STRING_ARG  */
 +#line 463 "./util/configparser.y"
-     {
-               OUTYY(("P(rpz_do_ede:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+         {
+               OUTYY(("P(rpz_signal_nxdomain_ra:%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->auths->rpz_signal_nxdomain_ra = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 3628 "util/configparser.c"
++#line 2959 "util/configparser.c"
+     break;
 -  case 291:
 -#line 470 "./util/configparser.y"
++  case 294: /* rpz_do_ede: VAR_RPZ_DO_EDE STRING_ARG  */
++#line 473 "./util/configparser.y"
++        {
++              OUTYY(("P(rpz_do_ede:%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->auths->rpz_do_ede =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
++                      (strcmp((yyvsp[0].str), "yes")==0);
++              free((yyvsp[0].str));
 +      }
++#line 2972 "util/configparser.c"
 +    break;
 +
-   case 294:
- #line 474 "./util/configparser.y"
-     {
++  case 295: /* rpzstart: VAR_RPZ  */
++#line 484 "./util/configparser.y"
+         {
                struct config_auth* s;
                OUTYY(("\nP(rpz:)\n")); 
                s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
                        yyerror("out of memory");
                }
        }
 -#line 3649 "util/configparser.c"
++#line 2993 "util/configparser.c"
      break;
  
-   case 308:
- #line 498 "./util/configparser.y"
-     {
-               OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 305:
 -#line 494 "./util/configparser.y"
++  case 310: /* server_num_threads: VAR_NUM_THREADS STRING_ARG  */
++#line 508 "./util/configparser.y"
+         {
+               OUTYY(("P(server_num_threads:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->num_threads = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3661 "util/configparser.c"
++#line 3005 "util/configparser.c"
      break;
  
-   case 309:
- #line 507 "./util/configparser.y"
-     {
-               OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 306:
 -#line 503 "./util/configparser.y"
++  case 311: /* server_verbosity: VAR_VERBOSITY STRING_ARG  */
++#line 517 "./util/configparser.y"
+         {
+               OUTYY(("P(server_verbosity:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->verbosity = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3673 "util/configparser.c"
++#line 3017 "util/configparser.c"
      break;
  
-   case 310:
- #line 516 "./util/configparser.y"
-     {
-               OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
 -  case 307:
 -#line 512 "./util/configparser.y"
++  case 312: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG  */
++#line 526 "./util/configparser.y"
+         {
+               OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0)
                        cfg_parser->cfg->stat_interval = 0;
-               else if(atoi((yyvsp[(2) - (2)].str)) == 0)
+               else if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->stat_interval = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3687 "util/configparser.c"
++#line 3031 "util/configparser.c"
      break;
  
-   case 311:
- #line 527 "./util/configparser.y"
-     {
-               OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 308:
 -#line 523 "./util/configparser.y"
++  case 313: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG  */
++#line 537 "./util/configparser.y"
+         {
+               OUTYY(("P(server_statistics_cumulative:%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->stat_cumulative = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 3699 "util/configparser.c"
++#line 3043 "util/configparser.c"
      break;
  
-   case 312:
- #line 536 "./util/configparser.y"
-     {
-               OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 309:
 -#line 532 "./util/configparser.y"
++  case 314: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG  */
++#line 546 "./util/configparser.y"
+         {
+               OUTYY(("P(server_extended_statistics:%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->stat_extended = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 3711 "util/configparser.c"
++#line 3055 "util/configparser.c"
      break;
  
-   case 313:
- #line 545 "./util/configparser.y"
-     {
-               OUTYY(("P(server_shm_enable:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 310:
 -#line 541 "./util/configparser.y"
++  case 315: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG  */
++#line 555 "./util/configparser.y"
+         {
+               OUTYY(("P(server_shm_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->shm_enable = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 3723 "util/configparser.c"
++#line 3067 "util/configparser.c"
      break;
  
-   case 314:
- #line 554 "./util/configparser.y"
-     {
-               OUTYY(("P(server_shm_key:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
 -  case 311:
 -#line 550 "./util/configparser.y"
++  case 316: /* server_shm_key: VAR_SHM_KEY STRING_ARG  */
++#line 564 "./util/configparser.y"
+         {
+               OUTYY(("P(server_shm_key:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "") == 0 || strcmp((yyvsp[0].str), "0") == 0)
                        cfg_parser->cfg->shm_key = 0;
-               else if(atoi((yyvsp[(2) - (2)].str)) == 0)
+               else if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->shm_key = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3737 "util/configparser.c"
++#line 3081 "util/configparser.c"
      break;
  
-   case 315:
- #line 565 "./util/configparser.y"
-     {
-               OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 312:
 -#line 561 "./util/configparser.y"
++  case 317: /* server_port: VAR_PORT STRING_ARG  */
++#line 575 "./util/configparser.y"
+         {
+               OUTYY(("P(server_port:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("port number expected");
-               else cfg_parser->cfg->port = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3749 "util/configparser.c"
++#line 3093 "util/configparser.c"
      break;
  
-   case 316:
- #line 574 "./util/configparser.y"
-     {
 -  case 313:
 -#line 570 "./util/configparser.y"
++  case 318: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG  */
++#line 584 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[(2) - (2)].str)))
+               OUTYY(("P(server_send_client_subnet:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, (yyvsp[0].str)))
                        fatal_exit("out of memory adding client-subnet");
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 3764 "util/configparser.c"
++#line 3108 "util/configparser.c"
      break;
  
-   case 317:
- #line 586 "./util/configparser.y"
-     {
 -  case 314:
 -#line 582 "./util/configparser.y"
++  case 319: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG  */
++#line 596 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone,
-                       (yyvsp[(2) - (2)].str)))
+                       (yyvsp[0].str)))
                        fatal_exit("out of memory adding client-subnet-zone");
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 3780 "util/configparser.c"
++#line 3124 "util/configparser.c"
      break;
  
-   case 318:
- #line 600 "./util/configparser.y"
-     {
 -  case 315:
 -#line 596 "./util/configparser.y"
++  case 320: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG  */
++#line 610 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_client_subnet_always_forward:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+               OUTYY(("P(server_client_subnet_always_forward:%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->client_subnet_always_forward =
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3798 "util/configparser.c"
++#line 3142 "util/configparser.c"
      break;
  
-   case 319:
- #line 615 "./util/configparser.y"
-     {
 -  case 316:
 -#line 611 "./util/configparser.y"
++  case 321: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG  */
++#line 625 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(client_subnet_opcode:%s)\n", (yyvsp[0].str)));
                OUTYY(("P(Deprecated option, ignoring)\n"));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3812 "util/configparser.c"
++#line 3156 "util/configparser.c"
      break;
  
-   case 320:
- #line 626 "./util/configparser.y"
-     {
 -  case 317:
 -#line 622 "./util/configparser.y"
++  case 322: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG  */
++#line 636 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(max_client_subnet_ipv4:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("IPv4 subnet length expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 32)
+               else if (atoi((yyvsp[0].str)) > 32)
                        cfg_parser->cfg->max_client_subnet_ipv4 = 32;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->max_client_subnet_ipv4 = 0;
-               else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3832 "util/configparser.c"
++#line 3176 "util/configparser.c"
      break;
  
-   case 321:
- #line 643 "./util/configparser.y"
-     {
 -  case 318:
 -#line 639 "./util/configparser.y"
++  case 323: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG  */
++#line 653 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(max_client_subnet_ipv6:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("Ipv6 subnet length expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 128)
+               else if (atoi((yyvsp[0].str)) > 128)
                        cfg_parser->cfg->max_client_subnet_ipv6 = 128;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->max_client_subnet_ipv6 = 0;
-               else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3852 "util/configparser.c"
++#line 3196 "util/configparser.c"
      break;
  
-   case 322:
- #line 660 "./util/configparser.y"
-     {
 -  case 319:
 -#line 656 "./util/configparser.y"
++  case 324: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG  */
++#line 670 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(min_client_subnet_ipv4:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("IPv4 subnet length expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 32)
+               else if (atoi((yyvsp[0].str)) > 32)
                        cfg_parser->cfg->min_client_subnet_ipv4 = 32;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->min_client_subnet_ipv4 = 0;
-               else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->min_client_subnet_ipv4 = (uint8_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3872 "util/configparser.c"
++#line 3216 "util/configparser.c"
      break;
  
-   case 323:
- #line 677 "./util/configparser.y"
-     {
 -  case 320:
 -#line 673 "./util/configparser.y"
++  case 325: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG  */
++#line 687 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(min_client_subnet_ipv6:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("Ipv6 subnet length expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 128)
+               else if (atoi((yyvsp[0].str)) > 128)
                        cfg_parser->cfg->min_client_subnet_ipv6 = 128;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->min_client_subnet_ipv6 = 0;
-               else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->min_client_subnet_ipv6 = (uint8_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3892 "util/configparser.c"
++#line 3236 "util/configparser.c"
      break;
  
-   case 324:
- #line 694 "./util/configparser.y"
-     {
 -  case 321:
 -#line 690 "./util/configparser.y"
++  case 326: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG  */
++#line 704 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("IPv4 ECS tree size expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->max_ecs_tree_size_ipv4 = 0;
-               else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_ecs_tree_size_ipv4 = (uint32_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3910 "util/configparser.c"
++#line 3254 "util/configparser.c"
      break;
  
-   case 325:
- #line 709 "./util/configparser.y"
-     {
 -  case 322:
 -#line 705 "./util/configparser.y"
++  case 327: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG  */
++#line 719 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("IPv6 ECS tree size expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        cfg_parser->cfg->max_ecs_tree_size_ipv6 = 0;
-               else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_ecs_tree_size_ipv6 = (uint32_t)atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3928 "util/configparser.c"
++#line 3272 "util/configparser.c"
      break;
  
-   case 326:
- #line 724 "./util/configparser.y"
-     {
-               OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 323:
 -#line 720 "./util/configparser.y"
++  case 328: /* server_interface: VAR_INTERFACE STRING_ARG  */
++#line 734 "./util/configparser.y"
+         {
+               OUTYY(("P(server_interface:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->num_ifs == 0)
                        cfg_parser->cfg->ifs = calloc(1, sizeof(char*));
                else cfg_parser->cfg->ifs = realloc(cfg_parser->cfg->ifs,
                if(!cfg_parser->cfg->ifs)
                        yyerror("out of memory");
                else
-                       cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[(2) - (2)].str);
+                       cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str);
        }
 -#line 3944 "util/configparser.c"
++#line 3288 "util/configparser.c"
      break;
  
-   case 327:
- #line 737 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 324:
 -#line 733 "./util/configparser.y"
++  case 329: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG  */
++#line 747 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->num_out_ifs == 0)
                        cfg_parser->cfg->out_ifs = calloc(1, sizeof(char*));
                else cfg_parser->cfg->out_ifs = realloc(
                        yyerror("out of memory");
                else
                        cfg_parser->cfg->out_ifs[
-                               cfg_parser->cfg->num_out_ifs++] = (yyvsp[(2) - (2)].str);
+                               cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str);
        }
 -#line 3962 "util/configparser.c"
++#line 3306 "util/configparser.c"
      break;
  
-   case 328:
- #line 752 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 325:
 -#line 748 "./util/configparser.y"
++  case 330: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG  */
++#line 762 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 3974 "util/configparser.c"
++#line 3318 "util/configparser.c"
      break;
  
-   case 329:
- #line 761 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
 -  case 326:
 -#line 757 "./util/configparser.y"
++  case 331: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG  */
++#line 771 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[0].str)));
+               if(!cfg_mark_ports((yyvsp[0].str), 1,
                        cfg_parser->cfg->outgoing_avail_ports, 65536))
                        yyerror("port number or range (\"low-high\") expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3986 "util/configparser.c"
++#line 3330 "util/configparser.c"
      break;
  
-   case 330:
- #line 770 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
 -  case 327:
 -#line 766 "./util/configparser.y"
++  case 332: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG  */
++#line 780 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[0].str)));
+               if(!cfg_mark_ports((yyvsp[0].str), 0,
                        cfg_parser->cfg->outgoing_avail_ports, 65536))
                        yyerror("port number or range (\"low-high\") expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 3998 "util/configparser.c"
++#line 3342 "util/configparser.c"
      break;
  
-   case 331:
- #line 779 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 328:
 -#line 775 "./util/configparser.y"
++  case 333: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG  */
++#line 789 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4010 "util/configparser.c"
++#line 3354 "util/configparser.c"
      break;
  
-   case 332:
- #line 788 "./util/configparser.y"
-     {
-               OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 329:
 -#line 784 "./util/configparser.y"
++  case 334: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG  */
++#line 798 "./util/configparser.y"
+         {
+               OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4022 "util/configparser.c"
++#line 3366 "util/configparser.c"
      break;
  
-   case 333:
- #line 797 "./util/configparser.y"
-     {
-               OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 330:
 -#line 793 "./util/configparser.y"
++  case 335: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG  */
++#line 807 "./util/configparser.y"
+         {
+               OUTYY(("P(server_interface_automatic:%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->if_automatic = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4034 "util/configparser.c"
++#line 3378 "util/configparser.c"
      break;
  
-   case 334:
- #line 806 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 331:
 -#line 802 "./util/configparser.y"
++  case 336: /* server_do_ip4: VAR_DO_IP4 STRING_ARG  */
++#line 816 "./util/configparser.y"
+         {
+               OUTYY(("P(server_do_ip4:%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->do_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4046 "util/configparser.c"
++#line 3390 "util/configparser.c"
      break;
  
-   case 335:
- #line 815 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 332:
 -#line 811 "./util/configparser.y"
++  case 337: /* server_do_ip6: VAR_DO_IP6 STRING_ARG  */
++#line 825 "./util/configparser.y"
+         {
+               OUTYY(("P(server_do_ip6:%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->do_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4058 "util/configparser.c"
++#line 3402 "util/configparser.c"
      break;
  
-   case 336:
- #line 824 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 333:
 -#line 820 "./util/configparser.y"
++  case 338: /* server_do_udp: VAR_DO_UDP STRING_ARG  */
++#line 834 "./util/configparser.y"
+         {
+               OUTYY(("P(server_do_udp:%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->do_udp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4070 "util/configparser.c"
++#line 3414 "util/configparser.c"
      break;
  
-   case 337:
- #line 833 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 334:
 -#line 829 "./util/configparser.y"
++  case 339: /* server_do_tcp: VAR_DO_TCP STRING_ARG  */
++#line 843 "./util/configparser.y"
+         {
+               OUTYY(("P(server_do_tcp:%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->do_tcp = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4082 "util/configparser.c"
++#line 3426 "util/configparser.c"
      break;
  
-   case 338:
- #line 842 "./util/configparser.y"
-     {
-               OUTYY(("P(server_prefer_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 335:
 -#line 838 "./util/configparser.y"
++  case 340: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG  */
++#line 852 "./util/configparser.y"
+         {
+               OUTYY(("P(server_prefer_ip4:%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->prefer_ip4 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4094 "util/configparser.c"
++#line 3438 "util/configparser.c"
      break;
  
-   case 339:
- #line 851 "./util/configparser.y"
-     {
-               OUTYY(("P(server_prefer_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 336:
 -#line 847 "./util/configparser.y"
++  case 341: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG  */
++#line 861 "./util/configparser.y"
+         {
+               OUTYY(("P(server_prefer_ip6:%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->prefer_ip6 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4106 "util/configparser.c"
++#line 3450 "util/configparser.c"
      break;
  
-   case 340:
- #line 860 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 337:
 -#line 856 "./util/configparser.y"
++  case 342: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG  */
++#line 870 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_mss:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                                yyerror("number expected");
-               else cfg_parser->cfg->tcp_mss = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4118 "util/configparser.c"
++#line 3462 "util/configparser.c"
      break;
  
-   case 341:
- #line 869 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 338:
 -#line 865 "./util/configparser.y"
++  case 343: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG  */
++#line 879 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outgoing_tcp_mss:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4130 "util/configparser.c"
++#line 3474 "util/configparser.c"
      break;
  
-   case 342:
- #line 878 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 339:
 -#line 874 "./util/configparser.y"
++  case 344: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG  */
++#line 888 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_idle_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 120000)
+               else if (atoi((yyvsp[0].str)) > 120000)
                        cfg_parser->cfg->tcp_idle_timeout = 120000;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_idle_timeout = 1;
-               else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4146 "util/configparser.c"
++#line 3490 "util/configparser.c"
      break;
  
-   case 343:
- #line 891 "./util/configparser.y"
-     {
-               OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 340:
 -#line 887 "./util/configparser.y"
++  case 345: /* server_max_reuse_tcp_queries: VAR_MAX_REUSE_TCP_QUERIES STRING_ARG  */
++#line 901 "./util/configparser.y"
+         {
+               OUTYY(("P(server_max_reuse_tcp_queries:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->max_reuse_tcp_queries = 0;
-               else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_reuse_tcp_queries = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4160 "util/configparser.c"
++#line 3504 "util/configparser.c"
      break;
  
-   case 344:
- #line 902 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 341:
 -#line 898 "./util/configparser.y"
++  case 346: /* server_tcp_reuse_timeout: VAR_TCP_REUSE_TIMEOUT STRING_ARG  */
++#line 912 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_reuse_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_reuse_timeout = 0;
-               else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_reuse_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4174 "util/configparser.c"
++#line 3518 "util/configparser.c"
      break;
  
-   case 345:
- #line 913 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 342:
 -#line 909 "./util/configparser.y"
++  case 347: /* server_tcp_auth_query_timeout: VAR_TCP_AUTH_QUERY_TIMEOUT STRING_ARG  */
++#line 923 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_auth_query_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_auth_query_timeout = 0;
-               else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_auth_query_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4188 "util/configparser.c"
++#line 3532 "util/configparser.c"
      break;
  
-   case 346:
- #line 924 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_keepalive:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 343:
 -#line 920 "./util/configparser.y"
++  case 348: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG  */
++#line 934 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_keepalive:%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->do_tcp_keepalive = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4200 "util/configparser.c"
++#line 3544 "util/configparser.c"
      break;
  
-   case 347:
- #line 933 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 344:
 -#line 929 "./util/configparser.y"
++  case 349: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG  */
++#line 943 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 6553500)
+               else if (atoi((yyvsp[0].str)) > 6553500)
                        cfg_parser->cfg->tcp_keepalive_timeout = 6553500;
-               else if (atoi((yyvsp[(2) - (2)].str)) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_keepalive_timeout = 0;
-               else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4216 "util/configparser.c"
++#line 3560 "util/configparser.c"
      break;
  
-   case 348:
- #line 946 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 345:
 -#line 942 "./util/configparser.y"
++  case 350: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG  */
++#line 956 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_upstream:%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->tcp_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4228 "util/configparser.c"
++#line 3572 "util/configparser.c"
      break;
  
-   case 349:
- #line 955 "./util/configparser.y"
-     {
-               OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 346:
 -#line 951 "./util/configparser.y"
++  case 351: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG  */
++#line 965 "./util/configparser.y"
+         {
+               OUTYY(("P(server_udp_upstream_without_downstream:%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->udp_upstream_without_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4240 "util/configparser.c"
++#line 3584 "util/configparser.c"
      break;
  
-   case 350:
- #line 964 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 347:
 -#line 960 "./util/configparser.y"
++  case 352: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG  */
++#line 974 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ssl_upstream:%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->ssl_upstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4252 "util/configparser.c"
++#line 3596 "util/configparser.c"
      break;
  
-   case 351:
- #line 973 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 348:
 -#line 969 "./util/configparser.y"
++  case 353: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG  */
++#line 983 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->ssl_service_key = (yyvsp[0].str);
        }
 -#line 4262 "util/configparser.c"
++#line 3606 "util/configparser.c"
      break;
  
-   case 352:
- #line 980 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 349:
 -#line 976 "./util/configparser.y"
++  case 354: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG  */
++#line 990 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str);
        }
 -#line 4272 "util/configparser.c"
++#line 3616 "util/configparser.c"
      break;
  
-   case 353:
- #line 987 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 350:
 -#line 983 "./util/configparser.y"
++  case 355: /* server_ssl_port: VAR_SSL_PORT STRING_ARG  */
++#line 997 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("port number expected");
-               else cfg_parser->cfg->ssl_port = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4284 "util/configparser.c"
++#line 3628 "util/configparser.c"
      break;
  
-   case 354:
- #line 996 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 351:
 -#line 992 "./util/configparser.y"
++  case 356: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG  */
++#line 1006 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_cert_bundle:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->tls_cert_bundle);
-               cfg_parser->cfg->tls_cert_bundle = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str);
        }
 -#line 4294 "util/configparser.c"
++#line 3638 "util/configparser.c"
      break;
  
-   case 355:
- #line 1003 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_win_cert:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 352:
 -#line 999 "./util/configparser.y"
++  case 357: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG  */
++#line 1013 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_win_cert:%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->tls_win_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4306 "util/configparser.c"
++#line 3650 "util/configparser.c"
      break;
  
-   case 356:
- #line 1012 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 353:
 -#line 1008 "./util/configparser.y"
++  case 358: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG  */
++#line 1022 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port,
-                       (yyvsp[(2) - (2)].str)))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 4317 "util/configparser.c"
++#line 3661 "util/configparser.c"
      break;
  
-   case 357:
- #line 1020 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 354:
 -#line 1016 "./util/configparser.y"
++  case 359: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG  */
++#line 1030 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->tls_ciphers);
-               cfg_parser->cfg->tls_ciphers = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->tls_ciphers = (yyvsp[0].str);
        }
 -#line 4327 "util/configparser.c"
++#line 3671 "util/configparser.c"
      break;
  
-   case 358:
- #line 1027 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 355:
 -#line 1023 "./util/configparser.y"
++  case 360: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG  */
++#line 1037 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->tls_ciphersuites);
-               cfg_parser->cfg->tls_ciphersuites = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str);
        }
 -#line 4337 "util/configparser.c"
++#line 3681 "util/configparser.c"
      break;
  
-   case 359:
- #line 1034 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 356:
 -#line 1030 "./util/configparser.y"
++  case 361: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG  */
++#line 1044 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_session_ticket_keys:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_append(&cfg_parser->cfg->tls_session_ticket_keys,
-                       (yyvsp[(2) - (2)].str)))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 4348 "util/configparser.c"
++#line 3692 "util/configparser.c"
      break;
  
-   case 360:
- #line 1042 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tls_use_sni:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 357:
 -#line 1038 "./util/configparser.y"
++  case 362: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG  */
++#line 1052 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_use_sni:%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->tls_use_sni = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4360 "util/configparser.c"
++#line 3704 "util/configparser.c"
      break;
  
-   case 361:
- #line 1051 "./util/configparser.y"
-     {
-               OUTYY(("P(server_https_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 358:
 -#line 1047 "./util/configparser.y"
++  case 363: /* server_https_port: VAR_HTTPS_PORT STRING_ARG  */
++#line 1061 "./util/configparser.y"
+         {
+               OUTYY(("P(server_https_port:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("port number expected");
-               else cfg_parser->cfg->https_port = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->https_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4372 "util/configparser.c"
++#line 3716 "util/configparser.c"
      break;
  
-   case 362:
- #line 1059 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 359:
 -#line 1055 "./util/configparser.y"
++  case 364: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG  */
++#line 1069 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->http_endpoint);
-               if((yyvsp[(2) - (2)].str) && (yyvsp[(2) - (2)].str)[0] != '/') {
-                       cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[(2) - (2)].str))+2);
+               if((yyvsp[0].str) && (yyvsp[0].str)[0] != '/') {
+                       cfg_parser->cfg->http_endpoint = malloc(strlen((yyvsp[0].str))+2);
                        if(!cfg_parser->cfg->http_endpoint)
                                yyerror("out of memory");
                        cfg_parser->cfg->http_endpoint[0] = '/';
-                       memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[(2) - (2)].str),
-                               strlen((yyvsp[(2) - (2)].str))+1);
-                       free((yyvsp[(2) - (2)].str));
+                       memmove(cfg_parser->cfg->http_endpoint+1, (yyvsp[0].str),
+                               strlen((yyvsp[0].str))+1);
+                       free((yyvsp[0].str));
                } else {
-                       cfg_parser->cfg->http_endpoint = (yyvsp[(2) - (2)].str);
+                       cfg_parser->cfg->http_endpoint = (yyvsp[0].str);
                }
        }
 -#line 4392 "util/configparser.c"
++#line 3736 "util/configparser.c"
      break;
  
-   case 363:
- #line 1075 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 360:
 -#line 1071 "./util/configparser.y"
++  case 365: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG  */
++#line 1085 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_max_streams:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->http_max_streams = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->http_max_streams = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4404 "util/configparser.c"
++#line 3748 "util/configparser.c"
      break;
  
-   case 364:
- #line 1083 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str),
 -  case 361:
 -#line 1079 "./util/configparser.y"
++  case 366: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG  */
++#line 1093 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_query_buffer_size:%s)\n", (yyvsp[0].str)));
+               if(!cfg_parse_memsize((yyvsp[0].str),
                        &cfg_parser->cfg->http_query_buffer_size))
                        yyerror("memory size expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4416 "util/configparser.c"
++#line 3760 "util/configparser.c"
      break;
  
-   case 365:
- #line 1091 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str),
 -  case 362:
 -#line 1087 "./util/configparser.y"
++  case 367: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG  */
++#line 1101 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_response_buffer_size:%s)\n", (yyvsp[0].str)));
+               if(!cfg_parse_memsize((yyvsp[0].str),
                        &cfg_parser->cfg->http_response_buffer_size))
                        yyerror("memory size expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4428 "util/configparser.c"
++#line 3772 "util/configparser.c"
      break;
  
-   case 366:
- #line 1099 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_nodelay:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 363:
 -#line 1095 "./util/configparser.y"
++  case 368: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG  */
++#line 1109 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_nodelay:%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->http_nodelay = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4440 "util/configparser.c"
++#line 3784 "util/configparser.c"
      break;
  
-   case 367:
- #line 1107 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_notls_downstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 364:
 -#line 1103 "./util/configparser.y"
++  case 369: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG  */
++#line 1117 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_notls_downstream:%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->http_notls_downstream = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->http_notls_downstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4452 "util/configparser.c"
++#line 3796 "util/configparser.c"
      break;
  
-   case 368:
- #line 1115 "./util/configparser.y"
-     {
-               OUTYY(("P(server_use_systemd:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 365:
 -#line 1111 "./util/configparser.y"
++  case 370: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG  */
++#line 1125 "./util/configparser.y"
+         {
+               OUTYY(("P(server_use_systemd:%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->use_systemd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4464 "util/configparser.c"
++#line 3808 "util/configparser.c"
      break;
  
-   case 369:
- #line 1124 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 366:
 -#line 1120 "./util/configparser.y"
++  case 371: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG  */
++#line 1134 "./util/configparser.y"
+         {
+               OUTYY(("P(server_do_daemonize:%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->do_daemonize = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->do_daemonize = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4476 "util/configparser.c"
++#line 3820 "util/configparser.c"
      break;
  
-   case 370:
- #line 1133 "./util/configparser.y"
-     {
-               OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 367:
 -#line 1129 "./util/configparser.y"
++  case 372: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG  */
++#line 1143 "./util/configparser.y"
+         {
+               OUTYY(("P(server_use_syslog:%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->use_syslog = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else cfg_parser->cfg->use_syslog = (strcmp((yyvsp[0].str), "yes")==0);
  #if !defined(HAVE_SYSLOG_H) && !defined(UB_ON_WINDOWS)
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") == 0)
+               if(strcmp((yyvsp[0].str), "yes") == 0)
                        yyerror("no syslog services are available. "
                                "(reconfigure and compile to add)");
  #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4493 "util/configparser.c"
++#line 3837 "util/configparser.c"
      break;
  
-   case 371:
- #line 1147 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 368:
 -#line 1143 "./util/configparser.y"
++  case 373: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG  */
++#line 1157 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_time_ascii:%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_time_ascii = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4505 "util/configparser.c"
++#line 3849 "util/configparser.c"
      break;
  
-   case 372:
- #line 1156 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 369:
 -#line 1152 "./util/configparser.y"
++  case 374: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG  */
++#line 1166 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_queries:%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_queries = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4517 "util/configparser.c"
++#line 3861 "util/configparser.c"
      break;
  
-   case 373:
- #line 1165 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_replies:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 370:
 -#line 1161 "./util/configparser.y"
++  case 375: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG  */
++#line 1175 "./util/configparser.y"
+         {
+               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[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4529 "util/configparser.c"
++#line 3873 "util/configparser.c"
      break;
  
-   case 374:
- #line 1174 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_tag_queryreply:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 371:
 -#line 1170 "./util/configparser.y"
++  case 376: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG  */
++#line 1184 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_tag_queryreply:%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_tag_queryreply = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4541 "util/configparser.c"
++#line 3885 "util/configparser.c"
      break;
  
-   case 375:
- #line 1183 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_servfail:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 372:
 -#line 1179 "./util/configparser.y"
++  case 377: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG  */
++#line 1193 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_servfail:%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_servfail = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4553 "util/configparser.c"
++#line 3897 "util/configparser.c"
      break;
  
-   case 376:
- #line 1192 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_local_actions:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 373:
 -#line 1188 "./util/configparser.y"
++  case 378: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG  */
++#line 1202 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_local_actions:%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_local_actions = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4565 "util/configparser.c"
++#line 3909 "util/configparser.c"
      break;
  
-   case 377:
- #line 1201 "./util/configparser.y"
-     {
-               OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 374:
 -#line 1197 "./util/configparser.y"
++  case 379: /* server_chroot: VAR_CHROOT STRING_ARG  */
++#line 1211 "./util/configparser.y"
+         {
+               OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->chrootdir);
-               cfg_parser->cfg->chrootdir = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->chrootdir = (yyvsp[0].str);
        }
 -#line 4575 "util/configparser.c"
++#line 3919 "util/configparser.c"
      break;
  
-   case 378:
- #line 1208 "./util/configparser.y"
-     {
-               OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 375:
 -#line 1204 "./util/configparser.y"
++  case 380: /* server_username: VAR_USERNAME STRING_ARG  */
++#line 1218 "./util/configparser.y"
+         {
+               OUTYY(("P(server_username:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->username);
-               cfg_parser->cfg->username = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->username = (yyvsp[0].str);
        }
 -#line 4585 "util/configparser.c"
++#line 3929 "util/configparser.c"
      break;
  
-   case 379:
- #line 1215 "./util/configparser.y"
-     {
-               OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 376:
 -#line 1211 "./util/configparser.y"
++  case 381: /* server_directory: VAR_DIRECTORY STRING_ARG  */
++#line 1225 "./util/configparser.y"
+         {
+               OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->directory);
-               cfg_parser->cfg->directory = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->directory = (yyvsp[0].str);
                /* change there right away for includes relative to this */
-               if((yyvsp[(2) - (2)].str)[0]) {
+               if((yyvsp[0].str)[0]) {
                        char* d;
  #ifdef UB_ON_WINDOWS
                        w_config_adjust_directory(cfg_parser->cfg);
                        }
                }
        }
 -#line 4614 "util/configparser.c"
++#line 3958 "util/configparser.c"
      break;
  
-   case 380:
- #line 1241 "./util/configparser.y"
-     {
-               OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 377:
 -#line 1237 "./util/configparser.y"
++  case 382: /* server_logfile: VAR_LOGFILE STRING_ARG  */
++#line 1251 "./util/configparser.y"
+         {
+               OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->logfile);
-               cfg_parser->cfg->logfile = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->logfile = (yyvsp[0].str);
                cfg_parser->cfg->use_syslog = 0;
        }
 -#line 4625 "util/configparser.c"
++#line 3969 "util/configparser.c"
      break;
  
-   case 381:
- #line 1249 "./util/configparser.y"
-     {
-               OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 378:
 -#line 1245 "./util/configparser.y"
++  case 383: /* server_pidfile: VAR_PIDFILE STRING_ARG  */
++#line 1259 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->pidfile);
-               cfg_parser->cfg->pidfile = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->pidfile = (yyvsp[0].str);
        }
 -#line 4635 "util/configparser.c"
++#line 3979 "util/configparser.c"
      break;
  
-   case 382:
- #line 1256 "./util/configparser.y"
-     {
-               OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
 -  case 379:
 -#line 1252 "./util/configparser.y"
++  case 384: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG  */
++#line 1266 "./util/configparser.y"
+         {
+               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 4645 "util/configparser.c"
++#line 3989 "util/configparser.c"
      break;
  
-   case 383:
- #line 1263 "./util/configparser.y"
-     {
-               OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 380:
 -#line 1259 "./util/configparser.y"
++  case 385: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG  */
++#line 1273 "./util/configparser.y"
+         {
+               OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[0].str)));
                log_warn("option dlv-anchor-file ignored: DLV is decommissioned");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4655 "util/configparser.c"
++#line 3999 "util/configparser.c"
      break;
  
-   case 384:
- #line 1270 "./util/configparser.y"
-     {
-               OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 381:
 -#line 1266 "./util/configparser.y"
++  case 386: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG  */
++#line 1280 "./util/configparser.y"
+         {
+               OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str)));
                log_warn("option dlv-anchor ignored: DLV is decommissioned");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4665 "util/configparser.c"
++#line 4009 "util/configparser.c"
      break;
  
-   case 385:
- #line 1277 "./util/configparser.y"
-     {
-               OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 382:
 -#line 1273 "./util/configparser.y"
++  case 387: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG  */
++#line 1287 "./util/configparser.y"
+         {
+               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[(2) - (2)].str)))
+                       auto_trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 4676 "util/configparser.c"
++#line 4020 "util/configparser.c"
      break;
  
-   case 386:
- #line 1285 "./util/configparser.y"
-     {
-               OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 383:
 -#line 1281 "./util/configparser.y"
++  case 388: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG  */
++#line 1295 "./util/configparser.y"
+         {
+               OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
-                       trust_anchor_file_list, (yyvsp[(2) - (2)].str)))
+                       trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 4687 "util/configparser.c"
++#line 4031 "util/configparser.c"
      break;
  
-   case 387:
- #line 1293 "./util/configparser.y"
-     {
-               OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 384:
 -#line 1289 "./util/configparser.y"
++  case 389: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG  */
++#line 1303 "./util/configparser.y"
+         {
+               OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->
-                       trusted_keys_file_list, (yyvsp[(2) - (2)].str)))
+                       trusted_keys_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 4698 "util/configparser.c"
++#line 4042 "util/configparser.c"
      break;
  
-   case 388:
- #line 1301 "./util/configparser.y"
-     {
-               OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
 -  case 385:
 -#line 1297 "./util/configparser.y"
++  case 390: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG  */
++#line 1311 "./util/configparser.y"
+         {
+               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 4708 "util/configparser.c"
++#line 4052 "util/configparser.c"
      break;
  
-   case 389:
- #line 1308 "./util/configparser.y"
-     {
-               OUTYY(("P(server_trust_anchor_signaling:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 386:
 -#line 1304 "./util/configparser.y"
++  case 391: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG  */
++#line 1318 "./util/configparser.y"
+         {
+               OUTYY(("P(server_trust_anchor_signaling:%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->trust_anchor_signaling =
-                               (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4722 "util/configparser.c"
++#line 4066 "util/configparser.c"
      break;
  
-   case 390:
- #line 1319 "./util/configparser.y"
-     {
-               OUTYY(("P(server_root_key_sentinel:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 387:
 -#line 1315 "./util/configparser.y"
++  case 392: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG  */
++#line 1329 "./util/configparser.y"
+         {
+               OUTYY(("P(server_root_key_sentinel:%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->root_key_sentinel =
-                               (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4736 "util/configparser.c"
++#line 4080 "util/configparser.c"
      break;
  
-   case 391:
- #line 1330 "./util/configparser.y"
-     {
-               OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
 -  case 388:
 -#line 1326 "./util/configparser.y"
++  case 393: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG  */
++#line 1340 "./util/configparser.y"
+         {
+               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 4746 "util/configparser.c"
++#line 4090 "util/configparser.c"
      break;
  
-   case 392:
- #line 1337 "./util/configparser.y"
-     {
-               OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 389:
 -#line 1333 "./util/configparser.y"
++  case 394: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG  */
++#line 1347 "./util/configparser.y"
+         {
+               OUTYY(("P(server_hide_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->hide_identity = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4758 "util/configparser.c"
++#line 4102 "util/configparser.c"
      break;
  
-   case 393:
- #line 1346 "./util/configparser.y"
-     {
-               OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 390:
 -#line 1342 "./util/configparser.y"
++  case 395: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG  */
++#line 1356 "./util/configparser.y"
+         {
+               OUTYY(("P(server_hide_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->hide_version = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4770 "util/configparser.c"
++#line 4114 "util/configparser.c"
      break;
  
-   case 394:
- #line 1355 "./util/configparser.y"
-     {
-               OUTYY(("P(server_hide_trustanchor:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 391:
 -#line 1351 "./util/configparser.y"
++  case 396: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG  */
++#line 1365 "./util/configparser.y"
+         {
+               OUTYY(("P(server_hide_trustanchor:%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->hide_trustanchor = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4782 "util/configparser.c"
++#line 4126 "util/configparser.c"
      break;
  
-   case 395:
- #line 1364 "./util/configparser.y"
-     {
-               OUTYY(("P(server_hide_user_agent:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 392:
 -#line 1360 "./util/configparser.y"
++  case 397: /* server_hide_http_user_agent: VAR_HIDE_HTTP_USER_AGENT STRING_ARG  */
++#line 1374 "./util/configparser.y"
+         {
+               OUTYY(("P(server_hide_user_agent:%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->hide_http_user_agent = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->hide_http_user_agent = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4794 "util/configparser.c"
++#line 4138 "util/configparser.c"
      break;
  
-   case 396:
- #line 1373 "./util/configparser.y"
-     {
-               OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 393:
 -#line 1369 "./util/configparser.y"
++  case 398: /* server_identity: VAR_IDENTITY STRING_ARG  */
++#line 1383 "./util/configparser.y"
+         {
+               OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->identity);
-               cfg_parser->cfg->identity = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->identity = (yyvsp[0].str);
        }
 -#line 4804 "util/configparser.c"
++#line 4148 "util/configparser.c"
      break;
  
-   case 397:
- #line 1380 "./util/configparser.y"
-     {
-               OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 394:
 -#line 1376 "./util/configparser.y"
++  case 399: /* server_version: VAR_VERSION STRING_ARG  */
++#line 1390 "./util/configparser.y"
+         {
+               OUTYY(("P(server_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->version);
-               cfg_parser->cfg->version = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->version = (yyvsp[0].str);
        }
 -#line 4814 "util/configparser.c"
++#line 4158 "util/configparser.c"
      break;
  
-   case 398:
- #line 1387 "./util/configparser.y"
-     {
-               OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 395:
 -#line 1383 "./util/configparser.y"
++  case 400: /* server_http_user_agent: VAR_HTTP_USER_AGENT STRING_ARG  */
++#line 1397 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_user_agent:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->http_user_agent);
-               cfg_parser->cfg->http_user_agent = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->http_user_agent = (yyvsp[0].str);
        }
 -#line 4824 "util/configparser.c"
++#line 4168 "util/configparser.c"
      break;
  
-   case 399:
- #line 1394 "./util/configparser.y"
-     {
-               OUTYY(("P(server_nsid:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 396:
 -#line 1390 "./util/configparser.y"
++  case 401: /* server_nsid: VAR_NSID STRING_ARG  */
++#line 1404 "./util/configparser.y"
+         {
+               OUTYY(("P(server_nsid:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->nsid_cfg_str);
-               cfg_parser->cfg->nsid_cfg_str = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->nsid_cfg_str = (yyvsp[0].str);
                free(cfg_parser->cfg->nsid);
                cfg_parser->cfg->nsid = NULL;
                cfg_parser->cfg->nsid_len = 0;
                        yyerror("the NSID must be either a hex string or an "
                            "ascii character string prepended with ascii_.");
        }
 -#line 4843 "util/configparser.c"
++#line 4187 "util/configparser.c"
      break;
  
-   case 400:
- #line 1410 "./util/configparser.y"
-     {
-               OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
 -  case 397:
 -#line 1406 "./util/configparser.y"
++  case 402: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG  */
++#line 1420 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4854 "util/configparser.c"
++#line 4198 "util/configparser.c"
      break;
  
-   case 401:
- #line 1418 "./util/configparser.y"
-     {
-               OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
 -  case 398:
 -#line 1414 "./util/configparser.y"
++  case 403: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG  */
++#line 1428 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4865 "util/configparser.c"
++#line 4209 "util/configparser.c"
      break;
  
-   case 402:
- #line 1426 "./util/configparser.y"
-     {
-               OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 399:
 -#line 1422 "./util/configparser.y"
++  case 404: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG  */
++#line 1436 "./util/configparser.y"
+         {
+               OUTYY(("P(server_so_reuseport:%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->so_reuseport =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4878 "util/configparser.c"
++#line 4222 "util/configparser.c"
      break;
  
-   case 403:
- #line 1436 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 400:
 -#line 1432 "./util/configparser.y"
++  case 405: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG  */
++#line 1446 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_transparent:%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->ip_transparent =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4891 "util/configparser.c"
++#line 4235 "util/configparser.c"
      break;
  
-   case 404:
- #line 1446 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_freebind:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 401:
 -#line 1442 "./util/configparser.y"
++  case 406: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG  */
++#line 1456 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_freebind:%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->ip_freebind =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 4904 "util/configparser.c"
++#line 4248 "util/configparser.c"
      break;
  
-   case 405:
- #line 1456 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 402:
 -#line 1452 "./util/configparser.y"
++  case 407: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG  */
++#line 1466 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_dscp:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 63)
+               else if (atoi((yyvsp[0].str)) > 63)
                        yyerror("value too large (max 63)");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        yyerror("value too small (min 0)");
                else
-                       cfg_parser->cfg->ip_dscp = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4921 "util/configparser.c"
++#line 4265 "util/configparser.c"
      break;
  
-   case 406:
- #line 1470 "./util/configparser.y"
-     {
-               OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->stream_wait_size))
 -  case 403:
 -#line 1466 "./util/configparser.y"
++  case 408: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG  */
++#line 1480 "./util/configparser.y"
+         {
+               OUTYY(("P(server_stream_wait_size:%s)\n", (yyvsp[0].str)));
+               if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->stream_wait_size))
                        yyerror("memory size expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4932 "util/configparser.c"
++#line 4276 "util/configparser.c"
      break;
  
-   case 407:
- #line 1478 "./util/configparser.y"
-     {
-               OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 404:
 -#line 1474 "./util/configparser.y"
++  case 409: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG  */
++#line 1488 "./util/configparser.y"
+         {
+               OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 12)
+               else if (atoi((yyvsp[0].str)) < 12)
                        yyerror("edns buffer size too small");
-               else if (atoi((yyvsp[(2) - (2)].str)) > 65535)
+               else if (atoi((yyvsp[0].str)) > 65535)
                        cfg_parser->cfg->edns_buffer_size = 65535;
-               else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4948 "util/configparser.c"
++#line 4292 "util/configparser.c"
      break;
  
-   case 408:
- #line 1491 "./util/configparser.y"
-     {
-               OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 405:
 -#line 1487 "./util/configparser.y"
++  case 410: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG  */
++#line 1501 "./util/configparser.y"
+         {
+               OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else if (atoi((yyvsp[(2) - (2)].str)) < 4096)
+               else if (atoi((yyvsp[0].str)) < 4096)
                        yyerror("message buffer size too small (use 4096)");
-               else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 4962 "util/configparser.c"
++#line 4306 "util/configparser.c"
      break;
  
-   case 409:
- #line 1502 "./util/configparser.y"
-     {
-               OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
 -  case 406:
 -#line 1498 "./util/configparser.y"
++  case 411: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG  */
++#line 1512 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4973 "util/configparser.c"
++#line 4317 "util/configparser.c"
      break;
  
-   case 410:
- #line 1510 "./util/configparser.y"
-     {
-               OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 407:
 -#line 1506 "./util/configparser.y"
++  case 412: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG  */
++#line 1520 "./util/configparser.y"
+         {
+               OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->msg_cache_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->msg_cache_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 4989 "util/configparser.c"
++#line 4333 "util/configparser.c"
      break;
  
-   case 411:
- #line 1523 "./util/configparser.y"
-     {
-               OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 408:
 -#line 1519 "./util/configparser.y"
++  case 413: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG  */
++#line 1533 "./util/configparser.y"
+         {
+               OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5001 "util/configparser.c"
++#line 4345 "util/configparser.c"
      break;
  
-   case 412:
- #line 1532 "./util/configparser.y"
-     {
-               OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 409:
 -#line 1528 "./util/configparser.y"
++  case 414: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG  */
++#line 1542 "./util/configparser.y"
+         {
+               OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->jostle_time = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5013 "util/configparser.c"
++#line 4357 "util/configparser.c"
      break;
  
-   case 413:
- #line 1541 "./util/configparser.y"
-     {
-               OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 410:
 -#line 1537 "./util/configparser.y"
++  case 415: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG  */
++#line 1551 "./util/configparser.y"
+         {
+               OUTYY(("P(server_delay_close:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->delay_close = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5025 "util/configparser.c"
++#line 4369 "util/configparser.c"
      break;
  
-   case 414:
- #line 1550 "./util/configparser.y"
-     {
-               OUTYY(("P(server_udp_connect:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 411:
 -#line 1546 "./util/configparser.y"
++  case 416: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG  */
++#line 1560 "./util/configparser.y"
+         {
+               OUTYY(("P(server_udp_connect:%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->udp_connect = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->udp_connect = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5037 "util/configparser.c"
++#line 4381 "util/configparser.c"
      break;
  
-   case 415:
- #line 1559 "./util/configparser.y"
-     {
-               OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 412:
 -#line 1555 "./util/configparser.y"
++  case 417: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG  */
++#line 1569 "./util/configparser.y"
+         {
+               OUTYY(("P(server_unblock_lan_zones:%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->unblock_lan_zones =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5050 "util/configparser.c"
++#line 4394 "util/configparser.c"
      break;
  
-   case 416:
- #line 1569 "./util/configparser.y"
-     {
-               OUTYY(("P(server_insecure_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 413:
 -#line 1565 "./util/configparser.y"
++  case 418: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG  */
++#line 1579 "./util/configparser.y"
+         {
+               OUTYY(("P(server_insecure_lan_zones:%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->insecure_lan_zones =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5063 "util/configparser.c"
++#line 4407 "util/configparser.c"
      break;
  
-   case 417:
- #line 1579 "./util/configparser.y"
-     {
-               OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
 -  case 414:
 -#line 1575 "./util/configparser.y"
++  case 419: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG  */
++#line 1589 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5074 "util/configparser.c"
++#line 4418 "util/configparser.c"
      break;
  
-   case 418:
- #line 1587 "./util/configparser.y"
-     {
-               OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 415:
 -#line 1583 "./util/configparser.y"
++  case 420: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG  */
++#line 1597 "./util/configparser.y"
+         {
+               OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->rrset_cache_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->rrset_cache_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5090 "util/configparser.c"
++#line 4434 "util/configparser.c"
      break;
  
-   case 419:
- #line 1600 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 416:
 -#line 1596 "./util/configparser.y"
++  case 421: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG  */
++#line 1610 "./util/configparser.y"
+         {
+               OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->host_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5102 "util/configparser.c"
++#line 4446 "util/configparser.c"
      break;
  
-   case 420:
- #line 1609 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 417:
 -#line 1605 "./util/configparser.y"
++  case 422: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG  */
++#line 1619 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+                       "removed, use infra-host-ttl)", (yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5113 "util/configparser.c"
++#line 4457 "util/configparser.c"
      break;
  
-   case 421:
- #line 1617 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 418:
 -#line 1613 "./util/configparser.y"
++  case 423: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG  */
++#line 1627 "./util/configparser.y"
+         {
+               OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5125 "util/configparser.c"
++#line 4469 "util/configparser.c"
      break;
  
-   case 422:
- #line 1626 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 419:
 -#line 1622 "./util/configparser.y"
++  case 424: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG  */
++#line 1636 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+                       "(option removed, use infra-cache-numhosts)", (yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5136 "util/configparser.c"
++#line 4480 "util/configparser.c"
      break;
  
-   case 423:
- #line 1634 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 420:
 -#line 1630 "./util/configparser.y"
++  case 425: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG  */
++#line 1644 "./util/configparser.y"
+         {
+               OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->infra_cache_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->infra_cache_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5152 "util/configparser.c"
++#line 4496 "util/configparser.c"
      break;
  
-   case 424:
- #line 1647 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 421:
 -#line 1643 "./util/configparser.y"
++  case 426: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG  */
++#line 1657 "./util/configparser.y"
+         {
+               OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5164 "util/configparser.c"
++#line 4508 "util/configparser.c"
      break;
  
-   case 425:
- #line 1656 "./util/configparser.y"
-     {
-               OUTYY(("P(server_infra_keep_probing:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 422:
 -#line 1652 "./util/configparser.y"
++  case 427: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG  */
++#line 1666 "./util/configparser.y"
+         {
+               OUTYY(("P(server_infra_keep_probing:%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->infra_keep_probing =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5177 "util/configparser.c"
++#line 4521 "util/configparser.c"
      break;
  
-   case 426:
- #line 1666 "./util/configparser.y"
-     {
-               OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 423:
 -#line 1662 "./util/configparser.y"
++  case 428: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG  */
++#line 1676 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str);
        }
 -#line 5187 "util/configparser.c"
++#line 4531 "util/configparser.c"
      break;
  
-   case 427:
- #line 1673 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 424:
 -#line 1669 "./util/configparser.y"
++  case 429: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG  */
++#line 1683 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_short_bufsize:%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->harden_short_bufsize =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5200 "util/configparser.c"
++#line 4544 "util/configparser.c"
      break;
  
-   case 428:
- #line 1683 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 425:
 -#line 1679 "./util/configparser.y"
++  case 430: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG  */
++#line 1693 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_large_queries:%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->harden_large_queries =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5213 "util/configparser.c"
++#line 4557 "util/configparser.c"
      break;
  
-   case 429:
- #line 1693 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 426:
 -#line 1689 "./util/configparser.y"
++  case 431: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG  */
++#line 1703 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_glue:%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->harden_glue =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5226 "util/configparser.c"
++#line 4570 "util/configparser.c"
      break;
  
-   case 430:
- #line 1703 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 427:
 -#line 1699 "./util/configparser.y"
++  case 432: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG  */
++#line 1713 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_dnssec_stripped:%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->harden_dnssec_stripped =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5239 "util/configparser.c"
++#line 4583 "util/configparser.c"
      break;
  
-   case 431:
- #line 1713 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 428:
 -#line 1709 "./util/configparser.y"
++  case 433: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG  */
++#line 1723 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_below_nxdomain:%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->harden_below_nxdomain =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5252 "util/configparser.c"
++#line 4596 "util/configparser.c"
      break;
  
-   case 432:
- #line 1723 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 429:
 -#line 1719 "./util/configparser.y"
++  case 434: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG  */
++#line 1733 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_referral_path:%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->harden_referral_path =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5265 "util/configparser.c"
++#line 4609 "util/configparser.c"
      break;
  
-   case 433:
- #line 1733 "./util/configparser.y"
-     {
-               OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 430:
 -#line 1729 "./util/configparser.y"
++  case 435: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG  */
++#line 1743 "./util/configparser.y"
+         {
+               OUTYY(("P(server_harden_algo_downgrade:%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->harden_algo_downgrade =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5278 "util/configparser.c"
++#line 4622 "util/configparser.c"
      break;
  
-   case 434:
- #line 1743 "./util/configparser.y"
-     {
-               OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 431:
 -#line 1739 "./util/configparser.y"
++  case 436: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG  */
++#line 1753 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->use_caps_bits_for_id =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5291 "util/configparser.c"
++#line 4635 "util/configparser.c"
      break;
  
-   case 435:
- #line 1753 "./util/configparser.y"
-     {
-               OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str)))
 -  case 432:
 -#line 1749 "./util/configparser.y"
++  case 437: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG  */
++#line 1763 "./util/configparser.y"
+         {
+               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 5301 "util/configparser.c"
++#line 4645 "util/configparser.c"
      break;
  
-   case 436:
- #line 1760 "./util/configparser.y"
-     {
-               OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
 -  case 433:
 -#line 1756 "./util/configparser.y"
++  case 438: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG  */
++#line 1770 "./util/configparser.y"
+         {
+               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 5311 "util/configparser.c"
++#line 4655 "util/configparser.c"
      break;
  
-   case 437:
- #line 1767 "./util/configparser.y"
-     {
-               OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
 -  case 434:
 -#line 1763 "./util/configparser.y"
++  case 439: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG  */
++#line 1777 "./util/configparser.y"
+         {
+               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 5321 "util/configparser.c"
++#line 4665 "util/configparser.c"
      break;
  
-   case 438:
- #line 1774 "./util/configparser.y"
-     {
-               OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 435:
 -#line 1770 "./util/configparser.y"
++  case 440: /* server_prefetch: VAR_PREFETCH STRING_ARG  */
++#line 1784 "./util/configparser.y"
+         {
+               OUTYY(("P(server_prefetch:%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->prefetch = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5333 "util/configparser.c"
++#line 4677 "util/configparser.c"
      break;
  
-   case 439:
- #line 1783 "./util/configparser.y"
-     {
-               OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 436:
 -#line 1779 "./util/configparser.y"
++  case 441: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG  */
++#line 1793 "./util/configparser.y"
+         {
+               OUTYY(("P(server_prefetch_key:%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->prefetch_key = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5345 "util/configparser.c"
++#line 4689 "util/configparser.c"
      break;
  
-   case 440:
- #line 1792 "./util/configparser.y"
-     {
-               OUTYY(("P(server_deny_any:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 437:
 -#line 1788 "./util/configparser.y"
++  case 442: /* server_deny_any: VAR_DENY_ANY STRING_ARG  */
++#line 1802 "./util/configparser.y"
+         {
+               OUTYY(("P(server_deny_any:%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->deny_any = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5357 "util/configparser.c"
++#line 4701 "util/configparser.c"
      break;
  
-   case 441:
- #line 1801 "./util/configparser.y"
-     {
-               OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 438:
 -#line 1797 "./util/configparser.y"
++  case 443: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG  */
++#line 1811 "./util/configparser.y"
+         {
+               OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5369 "util/configparser.c"
++#line 4713 "util/configparser.c"
      break;
  
-   case 442:
- #line 1810 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
 -  case 439:
 -#line 1806 "./util/configparser.y"
++  case 444: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG  */
++#line 1820 "./util/configparser.y"
+         {
+               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 5379 "util/configparser.c"
++#line 4723 "util/configparser.c"
      break;
  
-   case 443:
- #line 1817 "./util/configparser.y"
-     {
-               OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 440:
 -#line 1813 "./util/configparser.y"
++  case 445: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG  */
++#line 1827 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->donotquery_localhost =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
-       }
-     break;
-   case 444:
- #line 1827 "./util/configparser.y"
-     {
-               OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
-                       strcmp((yyvsp[(3) - (3)].str), "deny_non_local")!=0 &&
-                       strcmp((yyvsp[(3) - (3)].str), "refuse_non_local")!=0 &&
-                       strcmp((yyvsp[(3) - (3)].str), "allow_setrd")!=0 &&
-                       strcmp((yyvsp[(3) - (3)].str), "allow")!=0 &&
-                       strcmp((yyvsp[(3) - (3)].str), "allow_snoop")!=0) {
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 5392 "util/configparser.c"
++#line 4736 "util/configparser.c"
+     break;
 -  case 441:
 -#line 1823 "./util/configparser.y"
++  case 446: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG  */
++#line 1837 "./util/configparser.y"
+         {
+               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 &&
+                       strcmp((yyvsp[0].str), "deny_non_local")!=0 &&
+                       strcmp((yyvsp[0].str), "refuse_non_local")!=0 &&
+                       strcmp((yyvsp[0].str), "allow_setrd")!=0 &&
+                       strcmp((yyvsp[0].str), "allow")!=0 &&
+                       strcmp((yyvsp[0].str), "allow_snoop")!=0) {
                        yyerror("expected deny, refuse, deny_non_local, "
                                "refuse_non_local, allow, allow_setrd or "
                                "allow_snoop in access control action");
                                fatal_exit("out of memory adding acl");
                }
        }
 -#line 5415 "util/configparser.c"
++#line 4759 "util/configparser.c"
      break;
  
-   case 445:
- #line 1847 "./util/configparser.y"
-     {
-               OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 442:
 -#line 1843 "./util/configparser.y"
++  case 447: /* server_module_conf: VAR_MODULE_CONF STRING_ARG  */
++#line 1857 "./util/configparser.y"
+         {
+               OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->module_conf);
-               cfg_parser->cfg->module_conf = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->module_conf = (yyvsp[0].str);
        }
 -#line 5425 "util/configparser.c"
++#line 4769 "util/configparser.c"
      break;
  
-   case 446:
- #line 1854 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
 -  case 443:
 -#line 1850 "./util/configparser.y"
++  case 448: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG  */
++#line 1864 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[0].str)));
+               if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
                        cfg_parser->cfg->val_date_override = 0;
-               } else if(strlen((yyvsp[(2) - (2)].str)) == 14) {
+               } else if(strlen((yyvsp[0].str)) == 14) {
                        cfg_parser->cfg->val_date_override =
-                               cfg_convert_timeval((yyvsp[(2) - (2)].str));
+                               cfg_convert_timeval((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_date_override)
                                yyerror("bad date/time specification");
                } else {
-                       if(atoi((yyvsp[(2) - (2)].str)) == 0)
+                       if(atoi((yyvsp[0].str)) == 0)
                                yyerror("number expected");
-                       cfg_parser->cfg->val_date_override = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str));
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5446 "util/configparser.c"
++#line 4790 "util/configparser.c"
      break;
  
-   case 447:
- #line 1872 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
 -  case 444:
 -#line 1868 "./util/configparser.y"
++  case 449: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG  */
++#line 1882 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[0].str)));
+               if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
                        cfg_parser->cfg->val_sig_skew_min = 0;
                } else {
-                       cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_sig_skew_min)
                                yyerror("number expected");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5462 "util/configparser.c"
++#line 4806 "util/configparser.c"
      break;
  
-   case 448:
- #line 1885 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
 -  case 445:
 -#line 1881 "./util/configparser.y"
++  case 450: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG  */
++#line 1895 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[0].str)));
+               if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
                        cfg_parser->cfg->val_sig_skew_max = 0;
                } else {
-                       cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_sig_skew_max)
                                yyerror("number expected");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5478 "util/configparser.c"
++#line 4822 "util/configparser.c"
      break;
  
-   case 449:
- #line 1898 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(*(yyvsp[(2) - (2)].str) == '\0' || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
 -  case 446:
 -#line 1894 "./util/configparser.y"
++  case 451: /* server_val_max_restart: VAR_VAL_MAX_RESTART STRING_ARG  */
++#line 1908 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_max_restart:%s)\n", (yyvsp[0].str)));
+               if(*(yyvsp[0].str) == '\0' || strcmp((yyvsp[0].str), "0") == 0) {
                        cfg_parser->cfg->val_max_restart = 0;
                } else {
-                       cfg_parser->cfg->val_max_restart = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->val_max_restart = atoi((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_max_restart)
                                yyerror("number expected");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5494 "util/configparser.c"
++#line 4838 "util/configparser.c"
      break;
  
-   case 450:
- #line 1911 "./util/configparser.y"
-     {
-               OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 447:
 -#line 1907 "./util/configparser.y"
++  case 452: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG  */
++#line 1921 "./util/configparser.y"
+         {
+               OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->max_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5506 "util/configparser.c"
++#line 4850 "util/configparser.c"
      break;
  
-   case 451:
- #line 1920 "./util/configparser.y"
-     {
-               OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 448:
 -#line 1916 "./util/configparser.y"
++  case 453: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG  */
++#line 1930 "./util/configparser.y"
+         {
+               OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5518 "util/configparser.c"
++#line 4862 "util/configparser.c"
      break;
  
-   case 452:
- #line 1929 "./util/configparser.y"
-     {
-               OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 449:
 -#line 1925 "./util/configparser.y"
++  case 454: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG  */
++#line 1939 "./util/configparser.y"
+         {
+               OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->min_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5530 "util/configparser.c"
++#line 4874 "util/configparser.c"
      break;
  
-   case 453:
- #line 1938 "./util/configparser.y"
-     {
-               OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 450:
 -#line 1934 "./util/configparser.y"
++  case 455: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG  */
++#line 1948 "./util/configparser.y"
+         {
+               OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5542 "util/configparser.c"
++#line 4886 "util/configparser.c"
      break;
  
-   case 454:
- #line 1947 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 451:
 -#line 1943 "./util/configparser.y"
++  case 456: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG  */
++#line 1957 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_clean_additional:%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->val_clean_additional =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5555 "util/configparser.c"
++#line 4899 "util/configparser.c"
      break;
  
-   case 455:
- #line 1957 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 452:
 -#line 1953 "./util/configparser.y"
++  case 457: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG  */
++#line 1967 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_permissive_mode:%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->val_permissive_mode =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5568 "util/configparser.c"
++#line 4912 "util/configparser.c"
      break;
  
-   case 456:
- #line 1967 "./util/configparser.y"
-     {
-               OUTYY(("P(server_aggressive_nsec:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 453:
 -#line 1963 "./util/configparser.y"
++  case 458: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG  */
++#line 1977 "./util/configparser.y"
+         {
+               OUTYY(("P(server_aggressive_nsec:%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->aggressive_nsec =
-                               (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5582 "util/configparser.c"
++#line 4926 "util/configparser.c"
      break;
  
-   case 457:
- #line 1978 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 454:
 -#line 1974 "./util/configparser.y"
++  case 459: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG  */
++#line 1988 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ignore_cd_flag:%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->ignore_cd = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5594 "util/configparser.c"
++#line 4938 "util/configparser.c"
      break;
  
-   case 458:
- #line 1987 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_expired:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 455:
 -#line 1983 "./util/configparser.y"
++  case 460: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG  */
++#line 1997 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_expired:%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->serve_expired = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5606 "util/configparser.c"
++#line 4950 "util/configparser.c"
      break;
  
-   case 459:
- #line 1996 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 456:
 -#line 1992 "./util/configparser.y"
++  case 461: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG  */
++#line 2006 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_expired_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5618 "util/configparser.c"
++#line 4962 "util/configparser.c"
      break;
  
-   case 460:
- #line 2005 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 457:
 -#line 2001 "./util/configparser.y"
++  case 462: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG  */
++#line 2015 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_expired_ttl_reset:%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->serve_expired_ttl_reset = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5630 "util/configparser.c"
++#line 4974 "util/configparser.c"
      break;
  
-   case 461:
- #line 2014 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 458:
 -#line 2010 "./util/configparser.y"
++  case 463: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG  */
++#line 2024 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5642 "util/configparser.c"
++#line 4986 "util/configparser.c"
      break;
  
-   case 462:
- #line 2023 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 459:
 -#line 2019 "./util/configparser.y"
++  case 464: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG  */
++#line 2033 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_expired_client_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5654 "util/configparser.c"
++#line 4998 "util/configparser.c"
      break;
  
-   case 463:
- #line 2032 "./util/configparser.y"
-     {
-               OUTYY(("P(server_serve_original_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 460:
 -#line 2028 "./util/configparser.y"
++  case 465: /* server_serve_original_ttl: VAR_SERVE_ORIGINAL_TTL STRING_ARG  */
++#line 2042 "./util/configparser.y"
+         {
+               OUTYY(("P(server_serve_original_ttl:%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->serve_original_ttl = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->serve_original_ttl = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5666 "util/configparser.c"
++#line 5010 "util/configparser.c"
      break;
  
-   case 464:
- #line 2041 "./util/configparser.y"
-     {
-               OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 461:
 -#line 2037 "./util/configparser.y"
++  case 466: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG  */
++#line 2051 "./util/configparser.y"
+         {
+               OUTYY(("P(server_fake_dsa:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
                        yyerror("expected yes or no.");
  #if defined(HAVE_SSL) || defined(HAVE_NETTLE)
-               else fake_dsa = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else fake_dsa = (strcmp((yyvsp[0].str), "yes")==0);
                if(fake_dsa)
                        log_warn("test option fake_dsa is enabled");
  #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5682 "util/configparser.c"
++#line 5026 "util/configparser.c"
      break;
  
-   case 465:
- #line 2054 "./util/configparser.y"
-     {
-               OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 462:
 -#line 2050 "./util/configparser.y"
++  case 467: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG  */
++#line 2064 "./util/configparser.y"
+         {
+               OUTYY(("P(server_fake_sha1:%s)\n", (yyvsp[0].str)));
+               if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
                        yyerror("expected yes or no.");
  #if defined(HAVE_SSL) || defined(HAVE_NETTLE)
-               else fake_sha1 = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else fake_sha1 = (strcmp((yyvsp[0].str), "yes")==0);
                if(fake_sha1)
                        log_warn("test option fake_sha1 is enabled");
  #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5698 "util/configparser.c"
++#line 5042 "util/configparser.c"
      break;
  
-   case 466:
- #line 2067 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 463:
 -#line 2063 "./util/configparser.y"
++  case 468: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG  */
++#line 2077 "./util/configparser.y"
+         {
+               OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5710 "util/configparser.c"
++#line 5054 "util/configparser.c"
      break;
  
-   case 467:
- #line 2076 "./util/configparser.y"
-     {
-               OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 464:
 -#line 2072 "./util/configparser.y"
++  case 469: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG  */
++#line 2086 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str);
        }
 -#line 5720 "util/configparser.c"
++#line 5064 "util/configparser.c"
      break;
  
-   case 468:
- #line 2083 "./util/configparser.y"
-     {
-               OUTYY(("P(server_zonemd_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 465:
 -#line 2079 "./util/configparser.y"
++  case 470: /* server_zonemd_permissive_mode: VAR_ZONEMD_PERMISSIVE_MODE STRING_ARG  */
++#line 2093 "./util/configparser.y"
+         {
+               OUTYY(("P(server_zonemd_permissive_mode:%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->zonemd_permissive_mode = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else    cfg_parser->cfg->zonemd_permissive_mode = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5732 "util/configparser.c"
++#line 5076 "util/configparser.c"
      break;
  
-   case 469:
- #line 2092 "./util/configparser.y"
-     {
-               OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 466:
 -#line 2088 "./util/configparser.y"
++  case 471: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG  */
++#line 2102 "./util/configparser.y"
+         {
+               OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->add_holddown = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5744 "util/configparser.c"
++#line 5088 "util/configparser.c"
      break;
  
-   case 470:
- #line 2101 "./util/configparser.y"
-     {
-               OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 467:
 -#line 2097 "./util/configparser.y"
++  case 472: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG  */
++#line 2111 "./util/configparser.y"
+         {
+               OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->del_holddown = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5756 "util/configparser.c"
++#line 5100 "util/configparser.c"
      break;
  
-   case 471:
- #line 2110 "./util/configparser.y"
-     {
-               OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 468:
 -#line 2106 "./util/configparser.y"
++  case 473: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG  */
++#line 2120 "./util/configparser.y"
+         {
+               OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->keep_missing = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5768 "util/configparser.c"
++#line 5112 "util/configparser.c"
      break;
  
-   case 472:
- #line 2119 "./util/configparser.y"
-     {
-               OUTYY(("P(server_permit_small_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 469:
 -#line 2115 "./util/configparser.y"
++  case 474: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG  */
++#line 2129 "./util/configparser.y"
+         {
+               OUTYY(("P(server_permit_small_holddown:%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->permit_small_holddown =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5781 "util/configparser.c"
++#line 5125 "util/configparser.c"
      break;
  
-   case 473:
- #line 2128 "./util/configparser.y"
-     {
-               OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
 -  case 470:
 -#line 2124 "./util/configparser.y"
++  case 475: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG  */
++#line 2138 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5792 "util/configparser.c"
++#line 5136 "util/configparser.c"
      break;
  
-   case 474:
- #line 2136 "./util/configparser.y"
-     {
-               OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 471:
 -#line 2132 "./util/configparser.y"
++  case 476: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG  */
++#line 2146 "./util/configparser.y"
+         {
+               OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->key_cache_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->key_cache_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5808 "util/configparser.c"
++#line 5152 "util/configparser.c"
      break;
  
-   case 475:
- #line 2149 "./util/configparser.y"
-     {
-               OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
 -  case 472:
 -#line 2145 "./util/configparser.y"
++  case 477: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG  */
++#line 2159 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
-       }
-     break;
-   case 476:
- #line 2157 "./util/configparser.y"
-     {
-               OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
-                  strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
-                  strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "noview")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0
-                        && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) {
+               free((yyvsp[0].str));
+       }
 -#line 5819 "util/configparser.c"
++#line 5163 "util/configparser.c"
+     break;
 -  case 473:
 -#line 2153 "./util/configparser.y"
++  case 478: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
++#line 2167 "./util/configparser.y"
+         {
+               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 &&
+                  strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 &&
+                  strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0
+                  && strcmp((yyvsp[0].str), "typetransparent")!=0
+                  && strcmp((yyvsp[0].str), "always_transparent")!=0
+                  && strcmp((yyvsp[0].str), "always_refuse")!=0
+                  && strcmp((yyvsp[0].str), "always_nxdomain")!=0
+                  && strcmp((yyvsp[0].str), "always_nodata")!=0
+                  && strcmp((yyvsp[0].str), "always_deny")!=0
+                  && strcmp((yyvsp[0].str), "always_null")!=0
+                  && strcmp((yyvsp[0].str), "noview")!=0
+                  && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0
+                  && strcmp((yyvsp[0].str), "inform_redirect") != 0
+                        && strcmp((yyvsp[0].str), "ipset") != 0) {
                        yyerror("local-zone type: expected static, deny, "
                                "refuse, redirect, transparent, "
                                "typetransparent, inform, inform_deny, "
                                fatal_exit("out of memory adding local-zone");
                }
        }
 -#line 5867 "util/configparser.c"
++#line 5211 "util/configparser.c"
      break;
  
-   case 477:
- #line 2202 "./util/configparser.y"
-     {
-               OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
 -  case 474:
 -#line 2198 "./util/configparser.y"
++  case 479: /* server_local_data: VAR_LOCAL_DATA STRING_ARG  */
++#line 2212 "./util/configparser.y"
+         {
+               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 5877 "util/configparser.c"
++#line 5221 "util/configparser.c"
      break;
  
-   case 478:
- #line 2209 "./util/configparser.y"
-     {
 -  case 475:
 -#line 2205 "./util/configparser.y"
++  case 480: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
++#line 2219 "./util/configparser.y"
+         {
                char* ptr;
-               OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
-               ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[0].str)));
+               ptr = cfg_ptr_reverse((yyvsp[0].str));
+               free((yyvsp[0].str));
                if(ptr) {
                        if(!cfg_strlist_insert(&cfg_parser->cfg->
                                local_data, ptr))
                        yyerror("local-data-ptr could not be reversed");
                }
        }
 -#line 5895 "util/configparser.c"
++#line 5239 "util/configparser.c"
      break;
  
-   case 479:
- #line 2224 "./util/configparser.y"
-     {
-               OUTYY(("P(server_local_zone_do_ede:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(strcmp((yyvsp[(3) - (3)].str), "yes") != 0 && strcmp((yyvsp[(3) - (3)].str), "no") != 0)
 -  case 476:
 -#line 2220 "./util/configparser.y"
++  case 481: /* server_local_zone_do_ede: VAR_LOCAL_DATA_DO_EDE STRING_ARG STRING_ARG  */
++#line 2234 "./util/configparser.y"
++        {
++              OUTYY(("P(server_local_zone_do_ede:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
++              if(strcmp((yyvsp[0].str), "yes") != 0 && strcmp((yyvsp[0].str), "no") != 0)
 +                      yyerror("expected yes or no.");
 +              if(!cfg_str2list_insert(&cfg_parser->cfg->local_zone_do_ede,
-                       (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) {
++                      (yyvsp[-1].str), (yyvsp[0].str))) {
 +                      yyerror("out of memory adding local-zone-do-ede");
 +              }
 +      }
-     break;
-   case 480:
- #line 2235 "./util/configparser.y"
-     {
-               OUTYY(("P(server_local_zone_default_ede:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if (!(strcmp((yyvsp[(3) - (3)].str), "other") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "unsupported-dnskey-algorithm") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "unsupported-ds-digest-type") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "stale-answer") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "forged") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "dnssec-indeterminate") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "dnssec-bogus") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "signature-expired") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "signature-not-yet-valid") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "dnskey-missing") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "rrsigs-missing") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "no-zone-key-bit-set") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "nsec-missing") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "cached-error") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "not-ready") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "blocked") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "censored") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "filtered") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "prohibited") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "stale-nxdomain-answer") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "not-authoritative") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "not-supported") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "no-reachable-authority") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "network-error") == 0) &&
-                       !(strcmp((yyvsp[(3) - (3)].str), "invalid-data") == 0) &&
-                       !(atoi((yyvsp[(3) - (3)].str)) == 0))
++#line 5253 "util/configparser.c"
++    break;
++
++  case 482: /* server_local_zone_default_ede: VAR_LOCAL_ZONE_DEFAULT_EDE STRING_ARG STRING_ARG  */
++#line 2245 "./util/configparser.y"
++        {
++              OUTYY(("P(server_local_zone_default_ede:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
++              if (!(strcmp((yyvsp[0].str), "other") == 0) &&
++                      !(strcmp((yyvsp[0].str), "unsupported-dnskey-algorithm") == 0) &&
++                      !(strcmp((yyvsp[0].str), "unsupported-ds-digest-type") == 0) &&
++                      !(strcmp((yyvsp[0].str), "stale-answer") == 0) &&
++                      !(strcmp((yyvsp[0].str), "forged") == 0) &&
++                      !(strcmp((yyvsp[0].str), "dnssec-indeterminate") == 0) &&
++                      !(strcmp((yyvsp[0].str), "dnssec-bogus") == 0) &&
++                      !(strcmp((yyvsp[0].str), "signature-expired") == 0) &&
++                      !(strcmp((yyvsp[0].str), "signature-not-yet-valid") == 0) &&
++                      !(strcmp((yyvsp[0].str), "dnskey-missing") == 0) &&
++                      !(strcmp((yyvsp[0].str), "rrsigs-missing") == 0) &&
++                      !(strcmp((yyvsp[0].str), "no-zone-key-bit-set") == 0) &&
++                      !(strcmp((yyvsp[0].str), "nsec-missing") == 0) &&
++                      !(strcmp((yyvsp[0].str), "cached-error") == 0) &&
++                      !(strcmp((yyvsp[0].str), "not-ready") == 0) &&
++                      !(strcmp((yyvsp[0].str), "blocked") == 0) &&
++                      !(strcmp((yyvsp[0].str), "censored") == 0) &&
++                      !(strcmp((yyvsp[0].str), "filtered") == 0) &&
++                      !(strcmp((yyvsp[0].str), "prohibited") == 0) &&
++                      !(strcmp((yyvsp[0].str), "stale-nxdomain-answer") == 0) &&
++                      !(strcmp((yyvsp[0].str), "not-authoritative") == 0) &&
++                      !(strcmp((yyvsp[0].str), "not-supported") == 0) &&
++                      !(strcmp((yyvsp[0].str), "no-reachable-authority") == 0) &&
++                      !(strcmp((yyvsp[0].str), "network-error") == 0) &&
++                      !(strcmp((yyvsp[0].str), "invalid-data") == 0) &&
++                      !(atoi((yyvsp[0].str)) == 0))
 +                      yyerror("expected default-ede keyword or integer"
 +                                      "refering to the respecive ede code");
 +              if(!cfg_str2list_insert(&cfg_parser->cfg->local_zone_default_ede,
-                       (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) {
++                      (yyvsp[-1].str), (yyvsp[0].str))) {
 +                      yyerror("out of memory adding local-zone-default-ede");
 +              }
 +      }
++#line 5293 "util/configparser.c"
 +    break;
 +
-   case 481:
- #line 2272 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ede_local_zones:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
++  case 483: /* server_ede_local_zones: VAR_EDE_LOCAL_ZONES STRING_ARG  */
++#line 2282 "./util/configparser.y"
++        {
++              OUTYY(("P(server_ede_local_zones:%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->ede_local_zones =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
++                      (strcmp((yyvsp[0].str), "yes")==0);
++              free((yyvsp[0].str));
 +      }
++#line 5306 "util/configparser.c"
 +    break;
 +
-   case 482:
- #line 2282 "./util/configparser.y"
-     {
-               OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
++  case 484: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG  */
++#line 2292 "./util/configparser.y"
+         {
+               OUTYY(("P(server_minimal_responses:%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->minimal_responses =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5908 "util/configparser.c"
++#line 5319 "util/configparser.c"
      break;
  
-   case 483:
- #line 2292 "./util/configparser.y"
-     {
-               OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 477:
 -#line 2230 "./util/configparser.y"
++  case 485: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG  */
++#line 2302 "./util/configparser.y"
+         {
+               OUTYY(("P(server_rrset_roundrobin:%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->rrset_roundrobin =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5921 "util/configparser.c"
++#line 5332 "util/configparser.c"
      break;
  
-   case 484:
- #line 2302 "./util/configparser.y"
-     {
-               OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[(2) - (2)].str)));
-               cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
 -  case 478:
 -#line 2240 "./util/configparser.y"
++  case 486: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG  */
++#line 2312 "./util/configparser.y"
+         {
+               OUTYY(("P(server_unknown_server_time_limit:%s)\n", (yyvsp[0].str)));
+               cfg_parser->cfg->unknown_server_time_limit = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 5931 "util/configparser.c"
++#line 5342 "util/configparser.c"
      break;
  
-   case 485:
- #line 2309 "./util/configparser.y"
-     {
-               OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
 -  case 479:
 -#line 2247 "./util/configparser.y"
++  case 487: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG  */
++#line 2319 "./util/configparser.y"
+         {
+               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 5941 "util/configparser.c"
++#line 5352 "util/configparser.c"
      break;
  
-   case 486:
- #line 2316 "./util/configparser.y"
-     {
-               OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 480:
 -#line 2254 "./util/configparser.y"
++  case 488: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG  */
++#line 2326 "./util/configparser.y"
+         {
+               OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dns64_prefix);
-               cfg_parser->cfg->dns64_prefix = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dns64_prefix = (yyvsp[0].str);
        }
 -#line 5951 "util/configparser.c"
++#line 5362 "util/configparser.c"
      break;
  
-   case 487:
- #line 2323 "./util/configparser.y"
-     {
-               OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 481:
 -#line 2261 "./util/configparser.y"
++  case 489: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG  */
++#line 2333 "./util/configparser.y"
+         {
+               OUTYY(("P(server_dns64_synthall:%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->dns64_synthall = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 5963 "util/configparser.c"
++#line 5374 "util/configparser.c"
      break;
  
-   case 488:
- #line 2332 "./util/configparser.y"
-     {
-               OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 482:
 -#line 2270 "./util/configparser.y"
++  case 490: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG  */
++#line 2342 "./util/configparser.y"
+         {
+               OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa,
-                       (yyvsp[(2) - (2)].str)))
+                       (yyvsp[0].str)))
                        fatal_exit("out of memory adding dns64-ignore-aaaa");
        }
 -#line 5974 "util/configparser.c"
++#line 5385 "util/configparser.c"
      break;
  
-   case 489:
- #line 2340 "./util/configparser.y"
-     {
-               char* p, *s = (yyvsp[(2) - (2)].str);
-               OUTYY(("P(server_define_tag:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 483:
 -#line 2278 "./util/configparser.y"
++  case 491: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG  */
++#line 2350 "./util/configparser.y"
+         {
+               char* p, *s = (yyvsp[0].str);
+               OUTYY(("P(server_define_tag:%s)\n", (yyvsp[0].str)));
                while((p=strsep(&s, " \t\n")) != NULL) {
                        if(*p) {
                                if(!config_add_tag(cfg_parser->cfg, p))
                                                "out of memory");
                        }
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 5991 "util/configparser.c"
++#line 5402 "util/configparser.c"
      break;
  
-   case 490:
- #line 2354 "./util/configparser.y"
-     {
 -  case 484:
 -#line 2292 "./util/configparser.y"
++  case 492: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG  */
++#line 2364 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free((yyvsp[(3) - (3)].str));
-               OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[(2) - (3)].str)));
+               free((yyvsp[0].str));
+               OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[-1].str)));
                if(!bitlist) {
                        yyerror("could not parse tags, (define-tag them first)");
-                       free((yyvsp[(2) - (3)].str));
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
 -#line 6015 "util/configparser.c"
++#line 5426 "util/configparser.c"
      break;
  
-   case 491:
- #line 2375 "./util/configparser.y"
-     {
 -  case 485:
 -#line 2313 "./util/configparser.y"
++  case 493: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG  */
++#line 2385 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free((yyvsp[(3) - (3)].str));
-               OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[(2) - (3)].str)));
+               free((yyvsp[0].str));
+               OUTYY(("P(server_access_control_tag:%s)\n", (yyvsp[-1].str)));
                if(!bitlist) {
                        yyerror("could not parse tags, (define-tag them first)");
-                       free((yyvsp[(2) - (3)].str));
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
 -#line 6039 "util/configparser.c"
++#line 5450 "util/configparser.c"
      break;
  
-   case 492:
- #line 2396 "./util/configparser.y"
-     {
-               OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
 -  case 486:
 -#line 2334 "./util/configparser.y"
++  case 494: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG  */
++#line 2406 "./util/configparser.y"
+         {
+               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,
-                       (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free((yyvsp[(2) - (4)].str));
-                       free((yyvsp[(3) - (4)].str));
-                       free((yyvsp[(4) - (4)].str));
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
 -#line 6054 "util/configparser.c"
++#line 5465 "util/configparser.c"
      break;
  
-   case 493:
- #line 2408 "./util/configparser.y"
-     {
-               OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
 -  case 487:
 -#line 2346 "./util/configparser.y"
++  case 495: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG  */
++#line 2418 "./util/configparser.y"
+         {
+               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,
-                       (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free((yyvsp[(2) - (4)].str));
-                       free((yyvsp[(3) - (4)].str));
-                       free((yyvsp[(4) - (4)].str));
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
 -#line 6069 "util/configparser.c"
++#line 5480 "util/configparser.c"
      break;
  
-   case 494:
- #line 2420 "./util/configparser.y"
-     {
-               OUTYY(("P(server_local_zone_override:%s %s %s)\n", (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str)));
 -  case 488:
 -#line 2358 "./util/configparser.y"
++  case 496: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG  */
++#line 2430 "./util/configparser.y"
+         {
+               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,
-                       (yyvsp[(2) - (4)].str), (yyvsp[(3) - (4)].str), (yyvsp[(4) - (4)].str))) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free((yyvsp[(2) - (4)].str));
-                       free((yyvsp[(3) - (4)].str));
-                       free((yyvsp[(4) - (4)].str));
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
 -#line 6084 "util/configparser.c"
++#line 5495 "util/configparser.c"
      break;
  
-   case 495:
- #line 2432 "./util/configparser.y"
-     {
-               OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
 -  case 489:
 -#line 2370 "./util/configparser.y"
++  case 497: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG  */
++#line 2442 "./util/configparser.y"
+         {
+               OUTYY(("P(server_access_control_view:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(!cfg_str2list_insert(&cfg_parser->cfg->acl_view,
-                       (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))) {
+                       (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
                }
        }
 -#line 6096 "util/configparser.c"
++#line 5507 "util/configparser.c"
      break;
  
-   case 496:
- #line 2441 "./util/configparser.y"
-     {
 -  case 490:
 -#line 2379 "./util/configparser.y"
++  case 498: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG  */
++#line 2451 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[(3) - (3)].str),
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free((yyvsp[(3) - (3)].str));
-               OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[(2) - (3)].str)));
+               free((yyvsp[0].str));
+               OUTYY(("P(response_ip_tag:%s)\n", (yyvsp[-1].str)));
                if(!bitlist) {
                        yyerror("could not parse tags, (define-tag them first)");
-                       free((yyvsp[(2) - (3)].str));
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
 -#line 6120 "util/configparser.c"
++#line 5531 "util/configparser.c"
      break;
  
-   case 497:
- #line 2462 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 491:
 -#line 2400 "./util/configparser.y"
++  case 499: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG  */
++#line 2472 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_ratelimit:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6132 "util/configparser.c"
++#line 5543 "util/configparser.c"
      break;
  
-   case 498:
- #line 2471 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 492:
 -#line 2409 "./util/configparser.y"
++  case 500: /* server_ratelimit: VAR_RATELIMIT STRING_ARG  */
++#line 2481 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->ratelimit = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6144 "util/configparser.c"
++#line 5555 "util/configparser.c"
      break;
  
-   case 499:
- #line 2480 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ip_ratelimit_size))
 -  case 493:
 -#line 2418 "./util/configparser.y"
++  case 501: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG  */
++#line 2490 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_ratelimit_size:%s)\n", (yyvsp[0].str)));
+               if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->ip_ratelimit_size))
                        yyerror("memory size expected");
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6155 "util/configparser.c"
++#line 5566 "util/configparser.c"
      break;
  
-   case 500:
- #line 2488 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size))
 -  case 494:
 -#line 2426 "./util/configparser.y"
++  case 502: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG  */
++#line 2498 "./util/configparser.y"
+         {
+               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[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6166 "util/configparser.c"
++#line 5577 "util/configparser.c"
      break;
  
-   case 501:
- #line 2496 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 495:
 -#line 2434 "./util/configparser.y"
++  case 503: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG  */
++#line 2506 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->ip_ratelimit_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->ip_ratelimit_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6182 "util/configparser.c"
++#line 5593 "util/configparser.c"
      break;
  
-   case 502:
- #line 2509 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 496:
 -#line 2447 "./util/configparser.y"
++  case 504: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG  */
++#line 2519 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0) {
                        yyerror("number expected");
                } else {
-                       cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[(2) - (2)].str));
+                       cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[0].str));
                        if(!is_pow2(cfg_parser->cfg->ratelimit_slabs))
                                yyerror("must be a power of 2");
                }
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6198 "util/configparser.c"
++#line 5609 "util/configparser.c"
      break;
  
-   case 503:
- #line 2522 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
 -  case 497:
 -#line 2460 "./util/configparser.y"
++  case 505: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG  */
++#line 2532 "./util/configparser.y"
+         {
+               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) {
                        yyerror("number expected");
-                       free((yyvsp[(2) - (3)].str));
-                       free((yyvsp[(3) - (3)].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                } else {
                        if(!cfg_str2list_insert(&cfg_parser->cfg->
-                               ratelimit_for_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                               ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str)))
                                fatal_exit("out of memory adding "
                                        "ratelimit-for-domain");
                }
        }
 -#line 6216 "util/configparser.c"
++#line 5627 "util/configparser.c"
      break;
  
-   case 504:
- #line 2537 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
 -  case 498:
 -#line 2475 "./util/configparser.y"
++  case 506: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG  */
++#line 2547 "./util/configparser.y"
+         {
+               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) {
                        yyerror("number expected");
-                       free((yyvsp[(2) - (3)].str));
-                       free((yyvsp[(3) - (3)].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                } else {
                        if(!cfg_str2list_insert(&cfg_parser->cfg->
-                               ratelimit_below_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                               ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str)))
                                fatal_exit("out of memory adding "
                                        "ratelimit-below-domain");
                }
        }
 -#line 6234 "util/configparser.c"
++#line 5645 "util/configparser.c"
      break;
  
-   case 505:
- #line 2552 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 499:
 -#line 2490 "./util/configparser.y"
++  case 507: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG  */
++#line 2562 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ip_ratelimit_factor:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6246 "util/configparser.c"
++#line 5657 "util/configparser.c"
      break;
  
-   case 506:
- #line 2561 "./util/configparser.y"
-     {
-               OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 500:
 -#line 2499 "./util/configparser.y"
++  case 508: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG  */
++#line 2571 "./util/configparser.y"
+         {
+               OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6258 "util/configparser.c"
++#line 5669 "util/configparser.c"
      break;
  
-   case 507:
- #line 2570 "./util/configparser.y"
-     {
-               OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 501:
 -#line 2508 "./util/configparser.y"
++  case 509: /* server_outbound_msg_retry: VAR_OUTBOUND_MSG_RETRY STRING_ARG  */
++#line 2580 "./util/configparser.y"
+         {
+               OUTYY(("P(server_outbound_msg_retry:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->outbound_msg_retry = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6270 "util/configparser.c"
++#line 5681 "util/configparser.c"
      break;
  
-   case 508:
- #line 2579 "./util/configparser.y"
-     {
 -  case 502:
 -#line 2517 "./util/configparser.y"
++  case 510: /* server_low_rtt: VAR_LOW_RTT STRING_ARG  */
++#line 2589 "./util/configparser.y"
+         {
                OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6279 "util/configparser.c"
++#line 5690 "util/configparser.c"
      break;
  
-   case 509:
- #line 2585 "./util/configparser.y"
-     {
-               OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) <= 0)
 -  case 503:
 -#line 2523 "./util/configparser.y"
++  case 511: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG  */
++#line 2595 "./util/configparser.y"
+         {
+               OUTYY(("P(server_fast_server_num:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) <= 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->fast_server_num = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6291 "util/configparser.c"
++#line 5702 "util/configparser.c"
      break;
  
-   case 510:
- #line 2594 "./util/configparser.y"
-     {
-               OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 504:
 -#line 2532 "./util/configparser.y"
++  case 512: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG  */
++#line 2604 "./util/configparser.y"
+         {
+               OUTYY(("P(server_fast_server_permil:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6303 "util/configparser.c"
++#line 5714 "util/configparser.c"
      break;
  
-   case 511:
- #line 2603 "./util/configparser.y"
-     {
-               OUTYY(("P(server_qname_minimisation:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 505:
 -#line 2541 "./util/configparser.y"
++  case 513: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG  */
++#line 2613 "./util/configparser.y"
+         {
+               OUTYY(("P(server_qname_minimisation:%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->qname_minimisation =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6316 "util/configparser.c"
++#line 5727 "util/configparser.c"
      break;
  
-   case 512:
- #line 2613 "./util/configparser.y"
-     {
-               OUTYY(("P(server_qname_minimisation_strict:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 506:
 -#line 2551 "./util/configparser.y"
++  case 514: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG  */
++#line 2623 "./util/configparser.y"
+         {
+               OUTYY(("P(server_qname_minimisation_strict:%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->qname_minimisation_strict =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6329 "util/configparser.c"
++#line 5740 "util/configparser.c"
      break;
  
-   case 513:
- #line 2623 "./util/configparser.y"
-     {
-               OUTYY(("P(server_pad_responses:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 507:
 -#line 2561 "./util/configparser.y"
++  case 515: /* server_pad_responses: VAR_PAD_RESPONSES STRING_ARG  */
++#line 2633 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pad_responses:%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->pad_responses = 
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6342 "util/configparser.c"
++#line 5753 "util/configparser.c"
      break;
  
-   case 514:
- #line 2633 "./util/configparser.y"
-     {
-               OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 508:
 -#line 2571 "./util/configparser.y"
++  case 516: /* server_pad_responses_block_size: VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG  */
++#line 2643 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pad_responses_block_size:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6354 "util/configparser.c"
++#line 5765 "util/configparser.c"
      break;
  
-   case 515:
- #line 2642 "./util/configparser.y"
-     {
-               OUTYY(("P(server_pad_queries:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 509:
 -#line 2580 "./util/configparser.y"
++  case 517: /* server_pad_queries: VAR_PAD_QUERIES STRING_ARG  */
++#line 2652 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pad_queries:%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->pad_queries = 
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6367 "util/configparser.c"
++#line 5778 "util/configparser.c"
      break;
  
-   case 516:
- #line 2652 "./util/configparser.y"
-     {
-               OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 510:
 -#line 2590 "./util/configparser.y"
++  case 518: /* server_pad_queries_block_size: VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG  */
++#line 2662 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pad_queries_block_size:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6379 "util/configparser.c"
++#line 5790 "util/configparser.c"
      break;
  
-   case 517:
- #line 2661 "./util/configparser.y"
-     {
 -  case 511:
 -#line 2599 "./util/configparser.y"
++  case 519: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG  */
++#line 2671 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_enabled:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+               OUTYY(("P(server_ipsecmod_enabled:%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->ipsecmod_enabled = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else cfg_parser->cfg->ipsecmod_enabled = (strcmp((yyvsp[0].str), "yes")==0);
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6395 "util/configparser.c"
++#line 5806 "util/configparser.c"
      break;
  
-   case 518:
- #line 2674 "./util/configparser.y"
-     {
 -  case 512:
 -#line 2612 "./util/configparser.y"
++  case 520: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG  */
++#line 2684 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+               OUTYY(("P(server_ipsecmod_ignore_bogus:%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->ipsecmod_ignore_bogus = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else cfg_parser->cfg->ipsecmod_ignore_bogus = (strcmp((yyvsp[0].str), "yes")==0);
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 6411 "util/configparser.c"
++#line 5822 "util/configparser.c"
      break;
  
-   case 519:
- #line 2687 "./util/configparser.y"
-     {
 -  case 513:
 -#line 2625 "./util/configparser.y"
++  case 521: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG  */
++#line 2697 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->ipsecmod_hook);
-               cfg_parser->cfg->ipsecmod_hook = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 6426 "util/configparser.c"
++#line 5837 "util/configparser.c"
      break;
  
-   case 520:
- #line 2699 "./util/configparser.y"
-     {
 -  case 514:
 -#line 2637 "./util/configparser.y"
++  case 522: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG  */
++#line 2709 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+               OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ipsecmod_max_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 6443 "util/configparser.c"
++#line 5854 "util/configparser.c"
      break;
  
-   case 521:
- #line 2713 "./util/configparser.y"
-     {
 -  case 515:
 -#line 2651 "./util/configparser.y"
++  case 523: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG  */
++#line 2723 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[(2) - (2)].str)))
+               OUTYY(("P(server_ipsecmod_whitelist:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, (yyvsp[0].str)))
                        yyerror("out of memory");
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 6458 "util/configparser.c"
++#line 5869 "util/configparser.c"
      break;
  
-   case 522:
- #line 2725 "./util/configparser.y"
-     {
 -  case 516:
 -#line 2663 "./util/configparser.y"
++  case 524: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG  */
++#line 2735 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_strict:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+               OUTYY(("P(server_ipsecmod_strict:%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->ipsecmod_strict = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->ipsecmod_strict = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 6475 "util/configparser.c"
++#line 5886 "util/configparser.c"
      break;
  
-   case 523:
- #line 2739 "./util/configparser.y"
-     {
-               OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
 -  case 517:
 -#line 2677 "./util/configparser.y"
++  case 525: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG  */
++#line 2749 "./util/configparser.y"
+         {
+               OUTYY(("P(server_edns_client_string:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
                if(!cfg_str2list_insert(
-                       &cfg_parser->cfg->edns_client_strings, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       &cfg_parser->cfg->edns_client_strings, (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding "
                                "edns-client-string");
        }
 -#line 6487 "util/configparser.c"
++#line 5898 "util/configparser.c"
      break;
  
-   case 524:
- #line 2748 "./util/configparser.y"
-     {
-               OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
 -  case 518:
 -#line 2686 "./util/configparser.y"
++  case 526: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG  */
++#line 2758 "./util/configparser.y"
+         {
+               OUTYY(("P(edns_client_string_opcode:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0 && strcmp((yyvsp[0].str), "0") != 0)
                        yyerror("option code expected");
-               else if(atoi((yyvsp[(2) - (2)].str)) > 65535 || atoi((yyvsp[(2) - (2)].str)) < 0)
+               else if(atoi((yyvsp[0].str)) > 65535 || atoi((yyvsp[0].str)) < 0)
                        yyerror("option code must be in interval [0, 65535]");
-               else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->edns_client_string_opcode = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
  
        }
 -#line 6502 "util/configparser.c"
++#line 5913 "util/configparser.c"
      break;
  
-   case 525:
- #line 2760 "./util/configparser.y"
-     {
-               OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 519:
 -#line 2698 "./util/configparser.y"
++  case 527: /* stub_name: VAR_NAME STRING_ARG  */
++#line 2770 "./util/configparser.y"
+         {
+               OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->stubs->name)
                        yyerror("stub name override, there must be one name "
                                "for one stub-zone");
                free(cfg_parser->cfg->stubs->name);
-               cfg_parser->cfg->stubs->name = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->stubs->name = (yyvsp[0].str);
        }
 -#line 6515 "util/configparser.c"
++#line 5926 "util/configparser.c"
      break;
  
-   case 526:
- #line 2770 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
 -  case 520:
 -#line 2708 "./util/configparser.y"
++  case 528: /* stub_host: VAR_STUB_HOST STRING_ARG  */
++#line 2780 "./util/configparser.y"
+         {
+               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 6525 "util/configparser.c"
++#line 5936 "util/configparser.c"
      break;
  
-   case 527:
- #line 2777 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
 -  case 521:
 -#line 2715 "./util/configparser.y"
++  case 529: /* stub_addr: VAR_STUB_ADDR STRING_ARG  */
++#line 2787 "./util/configparser.y"
+         {
+               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 6535 "util/configparser.c"
++#line 5946 "util/configparser.c"
      break;
  
-   case 528:
- #line 2784 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 522:
 -#line 2722 "./util/configparser.y"
++  case 530: /* stub_first: VAR_STUB_FIRST STRING_ARG  */
++#line 2794 "./util/configparser.y"
+         {
+               OUTYY(("P(stub-first:%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->stubs->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6547 "util/configparser.c"
++#line 5958 "util/configparser.c"
      break;
  
-   case 529:
- #line 2793 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-no-cache:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 523:
 -#line 2731 "./util/configparser.y"
++  case 531: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG  */
++#line 2803 "./util/configparser.y"
+         {
+               OUTYY(("P(stub-no-cache:%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->stubs->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6559 "util/configparser.c"
++#line 5970 "util/configparser.c"
      break;
  
-   case 530:
- #line 2802 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 524:
 -#line 2740 "./util/configparser.y"
++  case 532: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG  */
++#line 2812 "./util/configparser.y"
+         {
+               OUTYY(("P(stub-ssl-upstream:%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->stubs->ssl_upstream =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6572 "util/configparser.c"
++#line 5983 "util/configparser.c"
      break;
  
-   case 531:
- #line 2812 "./util/configparser.y"
-     {
-                 OUTYY(("P(stub-tcp-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-                 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 525:
 -#line 2750 "./util/configparser.y"
++  case 533: /* stub_tcp_upstream: VAR_STUB_TCP_UPSTREAM STRING_ARG  */
++#line 2822 "./util/configparser.y"
+         {
+                 OUTYY(("P(stub-tcp-upstream:%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->stubs->tcp_upstream =
-                         (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-                 free((yyvsp[(2) - (2)].str));
+                         (strcmp((yyvsp[0].str), "yes")==0);
+                 free((yyvsp[0].str));
          }
 -#line 6585 "util/configparser.c"
++#line 5996 "util/configparser.c"
      break;
  
-   case 532:
- #line 2822 "./util/configparser.y"
-     {
-               OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 526:
 -#line 2760 "./util/configparser.y"
++  case 534: /* stub_prime: VAR_STUB_PRIME STRING_ARG  */
++#line 2832 "./util/configparser.y"
+         {
+               OUTYY(("P(stub-prime:%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->stubs->isprime =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6598 "util/configparser.c"
++#line 6009 "util/configparser.c"
      break;
  
-   case 533:
- #line 2832 "./util/configparser.y"
-     {
-               OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 527:
 -#line 2770 "./util/configparser.y"
++  case 535: /* forward_name: VAR_NAME STRING_ARG  */
++#line 2842 "./util/configparser.y"
+         {
+               OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->forwards->name)
                        yyerror("forward name override, there must be one "
                                "name for one forward-zone");
                free(cfg_parser->cfg->forwards->name);
-               cfg_parser->cfg->forwards->name = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->forwards->name = (yyvsp[0].str);
        }
 -#line 6611 "util/configparser.c"
++#line 6022 "util/configparser.c"
      break;
  
-   case 534:
- #line 2842 "./util/configparser.y"
-     {
-               OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
 -  case 528:
 -#line 2780 "./util/configparser.y"
++  case 536: /* forward_host: VAR_FORWARD_HOST STRING_ARG  */
++#line 2852 "./util/configparser.y"
+         {
+               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 6621 "util/configparser.c"
++#line 6032 "util/configparser.c"
      break;
  
-   case 535:
- #line 2849 "./util/configparser.y"
-     {
-               OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
 -  case 529:
 -#line 2787 "./util/configparser.y"
++  case 537: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG  */
++#line 2859 "./util/configparser.y"
+         {
+               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 6631 "util/configparser.c"
++#line 6042 "util/configparser.c"
      break;
  
-   case 536:
- #line 2856 "./util/configparser.y"
-     {
-               OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 530:
 -#line 2794 "./util/configparser.y"
++  case 538: /* forward_first: VAR_FORWARD_FIRST STRING_ARG  */
++#line 2866 "./util/configparser.y"
+         {
+               OUTYY(("P(forward-first:%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->forwards->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6643 "util/configparser.c"
++#line 6054 "util/configparser.c"
      break;
  
-   case 537:
- #line 2865 "./util/configparser.y"
-     {
-               OUTYY(("P(forward-no-cache:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 531:
 -#line 2803 "./util/configparser.y"
++  case 539: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG  */
++#line 2875 "./util/configparser.y"
+         {
+               OUTYY(("P(forward-no-cache:%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->forwards->no_cache=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6655 "util/configparser.c"
++#line 6066 "util/configparser.c"
      break;
  
-   case 538:
- #line 2874 "./util/configparser.y"
-     {
-               OUTYY(("P(forward-ssl-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 532:
 -#line 2812 "./util/configparser.y"
++  case 540: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG  */
++#line 2884 "./util/configparser.y"
+         {
+               OUTYY(("P(forward-ssl-upstream:%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->forwards->ssl_upstream =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6668 "util/configparser.c"
++#line 6079 "util/configparser.c"
      break;
  
-   case 539:
- #line 2884 "./util/configparser.y"
-     {
-                 OUTYY(("P(forward-tcp-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-                 if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 533:
 -#line 2822 "./util/configparser.y"
++  case 541: /* forward_tcp_upstream: VAR_FORWARD_TCP_UPSTREAM STRING_ARG  */
++#line 2894 "./util/configparser.y"
+         {
+                 OUTYY(("P(forward-tcp-upstream:%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->forwards->tcp_upstream =
-                         (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-                 free((yyvsp[(2) - (2)].str));
+                         (strcmp((yyvsp[0].str), "yes")==0);
+                 free((yyvsp[0].str));
          }
 -#line 6681 "util/configparser.c"
++#line 6092 "util/configparser.c"
      break;
  
-   case 540:
- #line 2894 "./util/configparser.y"
-     {
-               OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 534:
 -#line 2832 "./util/configparser.y"
++  case 542: /* auth_name: VAR_NAME STRING_ARG  */
++#line 2904 "./util/configparser.y"
+         {
+               OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->auths->name)
                        yyerror("auth name override, there must be one name "
                                "for one auth-zone");
                free(cfg_parser->cfg->auths->name);
-               cfg_parser->cfg->auths->name = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->auths->name = (yyvsp[0].str);
        }
 -#line 6694 "util/configparser.c"
++#line 6105 "util/configparser.c"
      break;
  
-   case 541:
- #line 2904 "./util/configparser.y"
-     {
-               OUTYY(("P(zonefile:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 535:
 -#line 2842 "./util/configparser.y"
++  case 543: /* auth_zonefile: VAR_ZONEFILE STRING_ARG  */
++#line 2914 "./util/configparser.y"
+         {
+               OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->auths->zonefile);
-               cfg_parser->cfg->auths->zonefile = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->auths->zonefile = (yyvsp[0].str);
        }
 -#line 6704 "util/configparser.c"
++#line 6115 "util/configparser.c"
      break;
  
-   case 542:
- #line 2911 "./util/configparser.y"
-     {
-               OUTYY(("P(master:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[(2) - (2)].str)))
 -  case 536:
 -#line 2849 "./util/configparser.y"
++  case 544: /* auth_master: VAR_MASTER STRING_ARG  */
++#line 2921 "./util/configparser.y"
+         {
+               OUTYY(("P(master:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 6714 "util/configparser.c"
++#line 6125 "util/configparser.c"
      break;
  
-   case 543:
- #line 2918 "./util/configparser.y"
-     {
-               OUTYY(("P(url:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[(2) - (2)].str)))
 -  case 537:
 -#line 2856 "./util/configparser.y"
++  case 545: /* auth_url: VAR_URL STRING_ARG  */
++#line 2928 "./util/configparser.y"
+         {
+               OUTYY(("P(url:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 6724 "util/configparser.c"
++#line 6135 "util/configparser.c"
      break;
  
-   case 544:
- #line 2925 "./util/configparser.y"
-     {
-               OUTYY(("P(allow-notify:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 538:
 -#line 2863 "./util/configparser.y"
++  case 546: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG  */
++#line 2935 "./util/configparser.y"
+         {
+               OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify,
-                       (yyvsp[(2) - (2)].str)))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 6735 "util/configparser.c"
++#line 6146 "util/configparser.c"
      break;
  
-   case 545:
- #line 2933 "./util/configparser.y"
-     {
-               OUTYY(("P(zonemd-check:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 539:
 -#line 2871 "./util/configparser.y"
++  case 547: /* auth_zonemd_check: VAR_ZONEMD_CHECK STRING_ARG  */
++#line 2943 "./util/configparser.y"
+         {
+               OUTYY(("P(zonemd-check:%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->auths->zonemd_check =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6748 "util/configparser.c"
++#line 6159 "util/configparser.c"
      break;
  
-   case 546:
- #line 2943 "./util/configparser.y"
-     {
-               OUTYY(("P(zonemd-reject-absence:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 540:
 -#line 2881 "./util/configparser.y"
++  case 548: /* auth_zonemd_reject_absence: VAR_ZONEMD_REJECT_ABSENCE STRING_ARG  */
++#line 2953 "./util/configparser.y"
+         {
+               OUTYY(("P(zonemd-reject-absence:%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->auths->zonemd_reject_absence =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6761 "util/configparser.c"
++#line 6172 "util/configparser.c"
      break;
  
-   case 547:
- #line 2953 "./util/configparser.y"
-     {
-               OUTYY(("P(for-downstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 541:
 -#line 2891 "./util/configparser.y"
++  case 549: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG  */
++#line 2963 "./util/configparser.y"
+         {
+               OUTYY(("P(for-downstream:%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->auths->for_downstream =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6774 "util/configparser.c"
++#line 6185 "util/configparser.c"
      break;
  
-   case 548:
- #line 2963 "./util/configparser.y"
-     {
-               OUTYY(("P(for-upstream:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 542:
 -#line 2901 "./util/configparser.y"
++  case 550: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG  */
++#line 2973 "./util/configparser.y"
+         {
+               OUTYY(("P(for-upstream:%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->auths->for_upstream =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6787 "util/configparser.c"
++#line 6198 "util/configparser.c"
      break;
  
-   case 549:
- #line 2973 "./util/configparser.y"
-     {
-               OUTYY(("P(fallback-enabled:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 543:
 -#line 2911 "./util/configparser.y"
++  case 551: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG  */
++#line 2983 "./util/configparser.y"
+         {
+               OUTYY(("P(fallback-enabled:%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->auths->fallback_enabled =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6800 "util/configparser.c"
++#line 6211 "util/configparser.c"
      break;
  
-   case 550:
- #line 2983 "./util/configparser.y"
-     {
-               OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 544:
 -#line 2921 "./util/configparser.y"
++  case 552: /* view_name: VAR_NAME STRING_ARG  */
++#line 2993 "./util/configparser.y"
+         {
+               OUTYY(("P(name:%s)\n", (yyvsp[0].str)));
                if(cfg_parser->cfg->views->name)
                        yyerror("view name override, there must be one "
                                "name for one view");
                free(cfg_parser->cfg->views->name);
-               cfg_parser->cfg->views->name = (yyvsp[(2) - (2)].str);
-       }
-     break;
-   case 551:
- #line 2993 "./util/configparser.y"
-     {
-               OUTYY(("P(view_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
-                  strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
-                  strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_transparent")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_refuse")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_nxdomain")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_nodata")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_deny")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "always_null")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "noview")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0
-                  && strcmp((yyvsp[(3) - (3)].str), "inform_redirect") != 0
-                  && strcmp((yyvsp[(3) - (3)].str), "ipset") != 0) {
+               cfg_parser->cfg->views->name = (yyvsp[0].str);
+       }
 -#line 6813 "util/configparser.c"
++#line 6224 "util/configparser.c"
+     break;
 -  case 545:
 -#line 2931 "./util/configparser.y"
++  case 553: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
++#line 3003 "./util/configparser.y"
+         {
+               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 &&
+                  strcmp((yyvsp[0].str), "refuse")!=0 && strcmp((yyvsp[0].str), "redirect")!=0 &&
+                  strcmp((yyvsp[0].str), "transparent")!=0 && strcmp((yyvsp[0].str), "nodefault")!=0
+                  && strcmp((yyvsp[0].str), "typetransparent")!=0
+                  && strcmp((yyvsp[0].str), "always_transparent")!=0
+                  && strcmp((yyvsp[0].str), "always_refuse")!=0
+                  && strcmp((yyvsp[0].str), "always_nxdomain")!=0
+                  && strcmp((yyvsp[0].str), "always_nodata")!=0
+                  && strcmp((yyvsp[0].str), "always_deny")!=0
+                  && strcmp((yyvsp[0].str), "always_null")!=0
+                  && strcmp((yyvsp[0].str), "noview")!=0
+                  && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0
+                  && strcmp((yyvsp[0].str), "inform_redirect") != 0
+                  && strcmp((yyvsp[0].str), "ipset") != 0) {
                        yyerror("local-zone type: expected static, deny, "
                                "refuse, redirect, transparent, "
                                "typetransparent, inform, inform_deny, "
                                fatal_exit("out of memory adding local-zone");
                }
        }
 -#line 6862 "util/configparser.c"
++#line 6273 "util/configparser.c"
      break;
  
-   case 552:
- #line 3039 "./util/configparser.y"
-     {
-               OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               validate_respip_action((yyvsp[(3) - (3)].str));
 -  case 546:
 -#line 2977 "./util/configparser.y"
++  case 554: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
++#line 3049 "./util/configparser.y"
+         {
+               OUTYY(("P(view_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
+               validate_respip_action((yyvsp[0].str));
                if(!cfg_str2list_insert(
-                       &cfg_parser->cfg->views->respip_actions, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding per-view "
                                "response-ip action");
        }
 -#line 6875 "util/configparser.c"
++#line 6286 "util/configparser.c"
      break;
  
-   case 553:
- #line 3049 "./util/configparser.y"
-     {
-               OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str)));
 -  case 547:
 -#line 2987 "./util/configparser.y"
++  case 555: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
++#line 3059 "./util/configparser.y"
+         {
+               OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str)));
                if(!cfg_str2list_insert(
-                       &cfg_parser->cfg->views->respip_data, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip-data");
        }
 -#line 6886 "util/configparser.c"
++#line 6297 "util/configparser.c"
      break;
  
-   case 554:
- #line 3057 "./util/configparser.y"
-     {
-               OUTYY(("P(view_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[(2) - (2)].str))) {
 -  case 548:
 -#line 2995 "./util/configparser.y"
++  case 556: /* view_local_data: VAR_LOCAL_DATA STRING_ARG  */
++#line 3067 "./util/configparser.y"
+         {
+               OUTYY(("P(view_local_data:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, (yyvsp[0].str))) {
                        fatal_exit("out of memory adding local-data");
                }
        }
 -#line 6897 "util/configparser.c"
++#line 6308 "util/configparser.c"
      break;
  
-   case 555:
- #line 3065 "./util/configparser.y"
-     {
 -  case 549:
 -#line 3003 "./util/configparser.y"
++  case 557: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
++#line 3075 "./util/configparser.y"
+         {
                char* ptr;
-               OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
-               ptr = cfg_ptr_reverse((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               OUTYY(("P(view_local_data_ptr:%s)\n", (yyvsp[0].str)));
+               ptr = cfg_ptr_reverse((yyvsp[0].str));
+               free((yyvsp[0].str));
                if(ptr) {
                        if(!cfg_strlist_insert(&cfg_parser->cfg->views->
                                local_data, ptr))
                        yyerror("local-data-ptr could not be reversed");
                }
        }
 -#line 6915 "util/configparser.c"
++#line 6326 "util/configparser.c"
      break;
  
-   case 556:
- #line 3080 "./util/configparser.y"
-     {
-               OUTYY(("P(view-first:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 550:
 -#line 3018 "./util/configparser.y"
++  case 558: /* view_first: VAR_VIEW_FIRST STRING_ARG  */
++#line 3090 "./util/configparser.y"
+         {
+               OUTYY(("P(view-first:%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->views->isfirst=(strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6927 "util/configparser.c"
++#line 6338 "util/configparser.c"
      break;
  
-   case 557:
- #line 3089 "./util/configparser.y"
-     {
 -  case 551:
 -#line 3027 "./util/configparser.y"
++  case 559: /* rcstart: VAR_REMOTE_CONTROL  */
++#line 3099 "./util/configparser.y"
+         {
                OUTYY(("\nP(remote-control:)\n"));
        }
 -#line 6935 "util/configparser.c"
++#line 6346 "util/configparser.c"
      break;
  
-   case 568:
- #line 3100 "./util/configparser.y"
-     {
-               OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 562:
 -#line 3038 "./util/configparser.y"
++  case 570: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG  */
++#line 3110 "./util/configparser.y"
+         {
+               OUTYY(("P(control_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->remote_control_enable =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6948 "util/configparser.c"
++#line 6359 "util/configparser.c"
      break;
  
-   case 569:
- #line 3110 "./util/configparser.y"
-     {
-               OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 563:
 -#line 3048 "./util/configparser.y"
++  case 571: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG  */
++#line 3120 "./util/configparser.y"
+         {
+               OUTYY(("P(control_port:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("control port number expected");
-               else cfg_parser->cfg->control_port = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->control_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 6960 "util/configparser.c"
++#line 6371 "util/configparser.c"
      break;
  
-   case 570:
- #line 3119 "./util/configparser.y"
-     {
-               OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
 -  case 564:
 -#line 3057 "./util/configparser.y"
++  case 572: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG  */
++#line 3129 "./util/configparser.y"
+         {
+               OUTYY(("P(control_interface:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 6970 "util/configparser.c"
++#line 6381 "util/configparser.c"
      break;
  
-   case 571:
- #line 3126 "./util/configparser.y"
-     {
-               OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str)));
-               cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
 -  case 565:
 -#line 3064 "./util/configparser.y"
++  case 573: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG  */
++#line 3136 "./util/configparser.y"
+         {
+               OUTYY(("P(control_use_cert:%s)\n", (yyvsp[0].str)));
+               cfg_parser->cfg->control_use_cert = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 6980 "util/configparser.c"
++#line 6391 "util/configparser.c"
      break;
  
-   case 572:
- #line 3133 "./util/configparser.y"
-     {
-               OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 566:
 -#line 3071 "./util/configparser.y"
++  case 574: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG  */
++#line 3143 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->server_key_file = (yyvsp[0].str);
        }
 -#line 6990 "util/configparser.c"
++#line 6401 "util/configparser.c"
      break;
  
-   case 573:
- #line 3140 "./util/configparser.y"
-     {
-               OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 567:
 -#line 3078 "./util/configparser.y"
++  case 575: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG  */
++#line 3150 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->server_cert_file = (yyvsp[0].str);
        }
 -#line 7000 "util/configparser.c"
++#line 6411 "util/configparser.c"
      break;
  
-   case 574:
- #line 3147 "./util/configparser.y"
-     {
-               OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 568:
 -#line 3085 "./util/configparser.y"
++  case 576: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG  */
++#line 3157 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->control_key_file = (yyvsp[0].str);
        }
 -#line 7010 "util/configparser.c"
++#line 6421 "util/configparser.c"
      break;
  
-   case 575:
- #line 3154 "./util/configparser.y"
-     {
-               OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 569:
 -#line 3092 "./util/configparser.y"
++  case 577: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG  */
++#line 3164 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->control_cert_file = (yyvsp[0].str);
        }
 -#line 7020 "util/configparser.c"
++#line 6431 "util/configparser.c"
      break;
  
-   case 576:
- #line 3161 "./util/configparser.y"
-     {
 -  case 570:
 -#line 3099 "./util/configparser.y"
++  case 578: /* dtstart: VAR_DNSTAP  */
++#line 3171 "./util/configparser.y"
+         {
                OUTYY(("\nP(dnstap:)\n"));
        }
 -#line 7028 "util/configparser.c"
++#line 6439 "util/configparser.c"
      break;
  
-   case 598:
- #line 3181 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 592:
 -#line 3119 "./util/configparser.y"
++  case 600: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG  */
++#line 3191 "./util/configparser.y"
+         {
+               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[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7040 "util/configparser.c"
++#line 6451 "util/configparser.c"
      break;
  
-   case 599:
- #line 3190 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_bidirectional:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 593:
 -#line 3128 "./util/configparser.y"
++  case 601: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG  */
++#line 3200 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_bidirectional:%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_bidirectional =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7053 "util/configparser.c"
++#line 6464 "util/configparser.c"
      break;
  
-   case 600:
- #line 3200 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 594:
 -#line 3138 "./util/configparser.y"
++  case 602: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG  */
++#line 3210 "./util/configparser.y"
+         {
+               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[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str);
        }
 -#line 7063 "util/configparser.c"
++#line 6474 "util/configparser.c"
      break;
  
-   case 601:
- #line 3207 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 595:
 -#line 3145 "./util/configparser.y"
++  case 603: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG  */
++#line 3217 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_ip);
-               cfg_parser->cfg->dnstap_ip = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_ip = (yyvsp[0].str);
        }
 -#line 7073 "util/configparser.c"
++#line 6484 "util/configparser.c"
      break;
  
-   case 602:
- #line 3214 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_tls:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 596:
 -#line 3152 "./util/configparser.y"
++  case 604: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG  */
++#line 3224 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_tls:%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_tls = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7085 "util/configparser.c"
++#line 6496 "util/configparser.c"
      break;
  
-   case 603:
- #line 3223 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 597:
 -#line 3161 "./util/configparser.y"
++  case 605: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG  */
++#line 3233 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_tls_server_name);
-               cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str);
        }
 -#line 7095 "util/configparser.c"
++#line 6506 "util/configparser.c"
      break;
  
-   case 604:
- #line 3230 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 598:
 -#line 3168 "./util/configparser.y"
++  case 606: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG  */
++#line 3240 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_tls_cert_bundle);
-               cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str);
        }
 -#line 7105 "util/configparser.c"
++#line 6516 "util/configparser.c"
      break;
  
-   case 605:
- #line 3237 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 599:
 -#line 3175 "./util/configparser.y"
++  case 607: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG  */
++#line 3247 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_tls_client_key_file);
-               cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str);
        }
 -#line 7115 "util/configparser.c"
++#line 6526 "util/configparser.c"
      break;
  
-   case 606:
- #line 3244 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 600:
 -#line 3182 "./util/configparser.y"
++  case 608: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG  */
++#line 3254 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_tls_client_cert_file);
-               cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str);
        }
 -#line 7125 "util/configparser.c"
++#line 6536 "util/configparser.c"
      break;
  
-   case 607:
- #line 3251 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 601:
 -#line 3189 "./util/configparser.y"
++  case 609: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG  */
++#line 3261 "./util/configparser.y"
+         {
+               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[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7137 "util/configparser.c"
++#line 6548 "util/configparser.c"
      break;
  
-   case 608:
- #line 3260 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 602:
 -#line 3198 "./util/configparser.y"
++  case 610: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG  */
++#line 3270 "./util/configparser.y"
+         {
+               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[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7149 "util/configparser.c"
++#line 6560 "util/configparser.c"
      break;
  
-   case 609:
- #line 3269 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 603:
 -#line 3207 "./util/configparser.y"
++  case 611: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG  */
++#line 3279 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_identity);
-               cfg_parser->cfg->dnstap_identity = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_identity = (yyvsp[0].str);
        }
 -#line 7159 "util/configparser.c"
++#line 6570 "util/configparser.c"
      break;
  
-   case 610:
- #line 3276 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 604:
 -#line 3214 "./util/configparser.y"
++  case 612: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG  */
++#line 3286 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_version);
-               cfg_parser->cfg->dnstap_version = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnstap_version = (yyvsp[0].str);
        }
 -#line 7169 "util/configparser.c"
++#line 6580 "util/configparser.c"
      break;
  
-   case 611:
- #line 3283 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 605:
 -#line 3221 "./util/configparser.y"
++  case 613: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG  */
++#line 3293 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_resolver_query_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7182 "util/configparser.c"
++#line 6593 "util/configparser.c"
      break;
  
-   case 612:
- #line 3293 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 606:
 -#line 3231 "./util/configparser.y"
++  case 614: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG  */
++#line 3303 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_resolver_response_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7195 "util/configparser.c"
++#line 6606 "util/configparser.c"
      break;
  
-   case 613:
- #line 3303 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 607:
 -#line 3241 "./util/configparser.y"
++  case 615: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG  */
++#line 3313 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_client_query_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7208 "util/configparser.c"
++#line 6619 "util/configparser.c"
      break;
  
-   case 614:
- #line 3313 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 608:
 -#line 3251 "./util/configparser.y"
++  case 616: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG  */
++#line 3323 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_client_response_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7221 "util/configparser.c"
++#line 6632 "util/configparser.c"
      break;
  
-   case 615:
- #line 3323 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 609:
 -#line 3261 "./util/configparser.y"
++  case 617: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG  */
++#line 3333 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_forwarder_query_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7234 "util/configparser.c"
++#line 6645 "util/configparser.c"
      break;
  
-   case 616:
- #line 3333 "./util/configparser.y"
-     {
-               OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 610:
 -#line 3271 "./util/configparser.y"
++  case 618: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG  */
++#line 3343 "./util/configparser.y"
+         {
+               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)
                        yyerror("expected yes or no.");
                else cfg_parser->cfg->dnstap_log_forwarder_response_messages =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7247 "util/configparser.c"
++#line 6658 "util/configparser.c"
      break;
  
-   case 617:
- #line 3343 "./util/configparser.y"
-     {
 -  case 611:
 -#line 3281 "./util/configparser.y"
++  case 619: /* pythonstart: VAR_PYTHON  */
++#line 3353 "./util/configparser.y"
+         {
                OUTYY(("\nP(python:)\n"));
        }
 -#line 7255 "util/configparser.c"
++#line 6666 "util/configparser.c"
      break;
  
-   case 621:
- #line 3352 "./util/configparser.y"
-     {
-               OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[(2) - (2)].str)))
 -  case 615:
 -#line 3290 "./util/configparser.y"
++  case 623: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG  */
++#line 3362 "./util/configparser.y"
+         {
+               OUTYY(("P(python-script:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 7265 "util/configparser.c"
++#line 6676 "util/configparser.c"
      break;
  
-   case 622:
- #line 3358 "./util/configparser.y"
-     { 
 -  case 616:
 -#line 3296 "./util/configparser.y"
++  case 624: /* dynlibstart: VAR_DYNLIB  */
++#line 3368 "./util/configparser.y"
+         { 
                OUTYY(("\nP(dynlib:)\n")); 
        }
 -#line 7273 "util/configparser.c"
++#line 6684 "util/configparser.c"
      break;
  
-   case 626:
- #line 3367 "./util/configparser.y"
-     {
-               OUTYY(("P(dynlib-file:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[(2) - (2)].str)))
 -  case 620:
 -#line 3305 "./util/configparser.y"
++  case 628: /* dl_file: VAR_DYNLIB_FILE STRING_ARG  */
++#line 3377 "./util/configparser.y"
+         {
+               OUTYY(("P(dynlib-file:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_append_ex(&cfg_parser->cfg->dynlib_file, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
 -#line 7283 "util/configparser.c"
++#line 6694 "util/configparser.c"
      break;
  
-   case 627:
- #line 3373 "./util/configparser.y"
-     {
-               OUTYY(("P(disable_dnssec_lame_check:%s)\n", (yyvsp[(2) - (2)].str)));
-               if (strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 621:
 -#line 3311 "./util/configparser.y"
++  case 629: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG  */
++#line 3383 "./util/configparser.y"
+         {
+               OUTYY(("P(disable_dnssec_lame_check:%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->disable_dnssec_lame_check =
-                       (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7296 "util/configparser.c"
++#line 6707 "util/configparser.c"
      break;
  
-   case 628:
- #line 3383 "./util/configparser.y"
-     {
-               OUTYY(("P(server_log_identity:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 622:
 -#line 3321 "./util/configparser.y"
++  case 630: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG  */
++#line 3393 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->log_identity);
-               cfg_parser->cfg->log_identity = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->log_identity = (yyvsp[0].str);
        }
 -#line 7306 "util/configparser.c"
++#line 6717 "util/configparser.c"
      break;
  
-   case 629:
- #line 3390 "./util/configparser.y"
-     {
-               OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               validate_respip_action((yyvsp[(3) - (3)].str));
 -  case 623:
 -#line 3328 "./util/configparser.y"
++  case 631: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
++#line 3400 "./util/configparser.y"
+         {
+               OUTYY(("P(server_response_ip:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
+               validate_respip_action((yyvsp[0].str));
                if(!cfg_str2list_insert(&cfg_parser->cfg->respip_actions,
-                       (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip");
        }
 -#line 7318 "util/configparser.c"
++#line 6729 "util/configparser.c"
      break;
  
-   case 630:
- #line 3399 "./util/configparser.y"
-     {
-               OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[(2) - (3)].str)));
 -  case 624:
 -#line 3337 "./util/configparser.y"
++  case 632: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
++#line 3409 "./util/configparser.y"
+         {
+               OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str)));
                if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data,
-                       (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip-data");
        }
 -#line 7329 "util/configparser.c"
++#line 6740 "util/configparser.c"
      break;
  
-   case 631:
- #line 3407 "./util/configparser.y"
-     {
 -  case 625:
 -#line 3345 "./util/configparser.y"
++  case 633: /* dnscstart: VAR_DNSCRYPT  */
++#line 3417 "./util/configparser.y"
+         {
                OUTYY(("\nP(dnscrypt:)\n"));
        }
 -#line 7337 "util/configparser.c"
++#line 6748 "util/configparser.c"
      break;
  
-   case 644:
- #line 3423 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
 -  case 638:
 -#line 3361 "./util/configparser.y"
++  case 646: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG  */
++#line 3433 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_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->dnscrypt = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
 -#line 7349 "util/configparser.c"
++#line 6760 "util/configparser.c"
      break;
  
-   case 645:
- #line 3433 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
 -  case 639:
 -#line 3371 "./util/configparser.y"
++  case 647: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG  */
++#line 3443 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_port:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("port number expected");
-               else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[(2) - (2)].str));
-               free((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
 -#line 7361 "util/configparser.c"
++#line 6772 "util/configparser.c"
      break;
  
-   case 646:
- #line 3442 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[(2) - (2)].str)));
 -  case 640:
 -#line 3380 "./util/configparser.y"
++  case 648: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG  */
++#line 3452 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnscrypt_provider);
-               cfg_parser->cfg->dnscrypt_provider = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str);
        }
 -#line 7371 "util/configparser.c"
++#line 6782 "util/configparser.c"
      break;
  
-   case 647:
- #line 3449 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str)))
-                       log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[(2) - (2)].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[(2) - (2)].str)))
 -  case 641:
 -#line 3387 "./util/configparser.y"
++  case 649: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG  */
++#line 3459 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", (yyvsp[0].str)));
+               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str)))
+                       log_warn("dnscrypt-provider-cert %s is a duplicate", (yyvsp[0].str));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, (yyvsp[0].str)))
                        fatal_exit("out of memory adding dnscrypt-provider-cert");
        }
 -#line 7383 "util/configparser.c"
++#line 6794 "util/configparser.c"
      break;
  
-   case 648:
- #line 3458 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[(2) - (2)].str)))
 -  case 642:
 -#line 3396 "./util/configparser.y"
++  case 650: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG  */
++#line 3468 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", (yyvsp[0].str)));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, (yyvsp[0].str)))
                        fatal_exit("out of memory adding dnscrypt-provider-cert-rotated");
        }
 -#line 7393 "util/configparser.c"
++#line 6804 "util/configparser.c"
      break;
  
-   case 649:
- #line 3465 "./util/configparser.y"
-     {
-               OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str)))
-                       log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[(2) - (2)].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[(2) - (2)].str)))
 -  case 643:
 -#line 3403 "./util/configparser.y"
++  case 651: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG  */
++#line 3475 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", (yyvsp[0].str)));
+               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str)))
+                       log_warn("dnscrypt-secret-key: %s is a duplicate", (yyvsp[0].str));
+               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, (yyvsp[0].str)))
                        fatal_exit("out of memory adding dnscrypt-secret-key");
        }
 -#line 7405 "util/configparser.c"
++#line 6816 "util/configparser.c"
      break;
  
-   case 650:
- #line 3474 "./util/configparser.y"
-     {
-       OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-       if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
 -  case 644:
 -#line 3412 "./util/configparser.y"
++  case 652: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG  */
++#line 3484 "./util/configparser.y"
+   {
+       OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", (yyvsp[0].str)));
+       if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
                yyerror("memory size expected");
-       free((yyvsp[(2) - (2)].str));
+       free((yyvsp[0].str));
    }
 -#line 7416 "util/configparser.c"
++#line 6827 "util/configparser.c"
      break;
  
-   case 651:
- #line 3482 "./util/configparser.y"
-     {
-       OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-       if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 645:
 -#line 3420 "./util/configparser.y"
++  case 653: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG  */
++#line 3492 "./util/configparser.y"
+   {
+       OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", (yyvsp[0].str)));
+       if(atoi((yyvsp[0].str)) == 0) {
                yyerror("number expected");
        } else {
-               cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+               cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs = atoi((yyvsp[0].str));
                if(!is_pow2(cfg_parser->cfg->dnscrypt_shared_secret_cache_slabs))
                        yyerror("must be a power of 2");
        }
-       free((yyvsp[(2) - (2)].str));
+       free((yyvsp[0].str));
    }
 -#line 7432 "util/configparser.c"
++#line 6843 "util/configparser.c"
      break;
  
-   case 652:
- #line 3495 "./util/configparser.y"
-     {
-       OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
-       if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size))
 -  case 646:
 -#line 3433 "./util/configparser.y"
++  case 654: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG  */
++#line 3505 "./util/configparser.y"
+   {
+       OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", (yyvsp[0].str)));
+       if(!cfg_parse_memsize((yyvsp[0].str), &cfg_parser->cfg->dnscrypt_nonce_cache_size))
                yyerror("memory size expected");
-       free((yyvsp[(2) - (2)].str));
+       free((yyvsp[0].str));
    }
 -#line 7443 "util/configparser.c"
++#line 6854 "util/configparser.c"
      break;
  
-   case 653:
- #line 3503 "./util/configparser.y"
-     {
-       OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
-       if(atoi((yyvsp[(2) - (2)].str)) == 0) {
 -  case 647:
 -#line 3441 "./util/configparser.y"
++  case 655: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG  */
++#line 3513 "./util/configparser.y"
+   {
+       OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", (yyvsp[0].str)));
+       if(atoi((yyvsp[0].str)) == 0) {
                yyerror("number expected");
        } else {
-               cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[(2) - (2)].str));
+               cfg_parser->cfg->dnscrypt_nonce_cache_slabs = atoi((yyvsp[0].str));
                if(!is_pow2(cfg_parser->cfg->dnscrypt_nonce_cache_slabs))
                        yyerror("must be a power of 2");
        }
-       free((yyvsp[(2) - (2)].str));
+       free((yyvsp[0].str));
    }
 -#line 7459 "util/configparser.c"
++#line 6870 "util/configparser.c"
      break;
  
-   case 654:
- #line 3516 "./util/configparser.y"
-     {
 -  case 648:
 -#line 3454 "./util/configparser.y"
++  case 656: /* cachedbstart: VAR_CACHEDB  */
++#line 3526 "./util/configparser.y"
+         {
                OUTYY(("\nP(cachedb:)\n"));
        }
 -#line 7467 "util/configparser.c"
++#line 6878 "util/configparser.c"
      break;
  
-   case 663:
- #line 3527 "./util/configparser.y"
-     {
 -  case 657:
 -#line 3465 "./util/configparser.y"
++  case 665: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG  */
++#line 3537 "./util/configparser.y"
+         {
        #ifdef USE_CACHEDB
-               OUTYY(("P(backend:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(backend:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->cachedb_backend);
-               cfg_parser->cfg->cachedb_backend = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->cachedb_backend = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 7482 "util/configparser.c"
++#line 6893 "util/configparser.c"
      break;
  
-   case 664:
- #line 3539 "./util/configparser.y"
-     {
 -  case 658:
 -#line 3477 "./util/configparser.y"
++  case 666: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG  */
++#line 3549 "./util/configparser.y"
+         {
        #ifdef USE_CACHEDB
-               OUTYY(("P(secret-seed:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->cachedb_secret);
-               cfg_parser->cfg->cachedb_secret = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->cachedb_secret = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 7497 "util/configparser.c"
++#line 6908 "util/configparser.c"
      break;
  
-   case 665:
- #line 3551 "./util/configparser.y"
-     {
 -  case 659:
 -#line 3489 "./util/configparser.y"
++  case 667: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG  */
++#line 3561 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_server_host:%s)\n", (yyvsp[(2) - (2)].str)));
+               OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->redis_server_host);
-               cfg_parser->cfg->redis_server_host = (yyvsp[(2) - (2)].str);
+               cfg_parser->cfg->redis_server_host = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        #endif
        }
 -#line 7512 "util/configparser.c"
++#line 6923 "util/configparser.c"
      break;
  
-   case 666:
- #line 3563 "./util/configparser.y"
-     {
 -  case 660:
 -#line 3501 "./util/configparser.y"
++  case 668: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG  */
++#line 3573 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
                int port;
-               OUTYY(("P(redis_server_port:%s)\n", (yyvsp[(2) - (2)].str)));
-               port = atoi((yyvsp[(2) - (2)].str));
+               OUTYY(("P(redis_server_port:%s)\n", (yyvsp[0].str)));
+               port = atoi((yyvsp[0].str));
                if(port == 0 || port < 0 || port > 65535)
                        yyerror("valid redis server port number expected");
                else cfg_parser->cfg->redis_server_port = port;
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 7530 "util/configparser.c"
++#line 6941 "util/configparser.c"
      break;
  
-   case 667:
- #line 3578 "./util/configparser.y"
-     {
 -  case 661:
 -#line 3516 "./util/configparser.y"
++  case 669: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG  */
++#line 3588 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(atoi((yyvsp[(2) - (2)].str)) == 0)
+               OUTYY(("P(redis_timeout:%s)\n", (yyvsp[0].str)));
+               if(atoi((yyvsp[0].str)) == 0)
                        yyerror("redis timeout value expected");
-               else cfg_parser->cfg->redis_timeout = atoi((yyvsp[(2) - (2)].str));
+               else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 7546 "util/configparser.c"
++#line 6957 "util/configparser.c"
      break;
  
-   case 668:
- #line 3591 "./util/configparser.y"
-     {
 -  case 662:
 -#line 3529 "./util/configparser.y"
++  case 670: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG  */
++#line 3601 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_expire_records:%s)\n", (yyvsp[(2) - (2)].str)));
-               if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
+               OUTYY(("P(redis_expire_records:%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->redis_expire_records = (strcmp((yyvsp[(2) - (2)].str), "yes")==0);
+               else cfg_parser->cfg->redis_expire_records = (strcmp((yyvsp[0].str), "yes")==0);
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
        #endif
-               free((yyvsp[(2) - (2)].str));
+               free((yyvsp[0].str));
        }
 -#line 7562 "util/configparser.c"
++#line 6973 "util/configparser.c"
      break;
  
-   case 669:
- #line 3604 "./util/configparser.y"
-     {
-               OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
-               if (atoi((yyvsp[(3) - (3)].str)) < 0)
 -  case 663:
 -#line 3542 "./util/configparser.y"
++  case 671: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG  */
++#line 3614 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tcp_connection_limit:%s %s)\n", (yyvsp[-1].str), (yyvsp[0].str)));
+               if (atoi((yyvsp[0].str)) < 0)
                        yyerror("positive number expected");
                else {
-                       if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+                       if(!cfg_str2list_insert(&cfg_parser->cfg->tcp_connection_limits, (yyvsp[-1].str), (yyvsp[0].str)))
                                fatal_exit("out of memory adding tcp connection limit");
                }
        }
 -#line 7576 "util/configparser.c"
++#line 6987 "util/configparser.c"
      break;
  
-   case 670:
- #line 3615 "./util/configparser.y"
-     {
 -  case 664:
 -#line 3553 "./util/configparser.y"
++  case 672: /* ipsetstart: VAR_IPSET  */
++#line 3625 "./util/configparser.y"
+                 {
                        OUTYY(("\nP(ipset:)\n"));
                }
 -#line 7584 "util/configparser.c"
++#line 6995 "util/configparser.c"
      break;
  
-   case 675:
- #line 3624 "./util/configparser.y"
-     {
 -  case 669:
 -#line 3562 "./util/configparser.y"
++  case 677: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG  */
++#line 3634 "./util/configparser.y"
+                 {
                #ifdef USE_IPSET
-                       OUTYY(("P(name-v4:%s)\n", (yyvsp[(2) - (2)].str)));
+                       OUTYY(("P(name-v4:%s)\n", (yyvsp[0].str)));
                        if(cfg_parser->cfg->ipset_name_v4)
                                yyerror("ipset name v4 override, there must be one "
                                        "name for ip v4");
                        free(cfg_parser->cfg->ipset_name_v4);
-                       cfg_parser->cfg->ipset_name_v4 = (yyvsp[(2) - (2)].str);
+                       cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str);
                #else
                        OUTYY(("P(Compiled without ipset, ignoring)\n"));
-                       free((yyvsp[(2) - (2)].str));
+                       free((yyvsp[0].str));
                #endif
                }
 -#line 7602 "util/configparser.c"
++#line 7013 "util/configparser.c"
      break;
  
-   case 676:
- #line 3639 "./util/configparser.y"
-     {
 -  case 670:
 -#line 3577 "./util/configparser.y"
++  case 678: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG  */
++#line 3649 "./util/configparser.y"
+         {
                #ifdef USE_IPSET
-                       OUTYY(("P(name-v6:%s)\n", (yyvsp[(2) - (2)].str)));
+                       OUTYY(("P(name-v6:%s)\n", (yyvsp[0].str)));
                        if(cfg_parser->cfg->ipset_name_v6)
                                yyerror("ipset name v6 override, there must be one "
                                        "name for ip v6");
                        free(cfg_parser->cfg->ipset_name_v6);
-                       cfg_parser->cfg->ipset_name_v6 = (yyvsp[(2) - (2)].str);
+                       cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str);
                #else
                        OUTYY(("P(Compiled without ipset, ignoring)\n"));
-                       free((yyvsp[(2) - (2)].str));
+                       free((yyvsp[0].str));
                #endif
                }
 -#line 7620 "util/configparser.c"
++#line 7031 "util/configparser.c"
      break;
  
  
- /* Line 1267 of yacc.c.  */
- #line 7148 "util/configparser.c"
 -#line 7624 "util/configparser.c"
++#line 7035 "util/configparser.c"
        default: break;
      }
-   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+   /* User semantic actions sometimes alter yychar, and that requires
+      that yytoken be updated with the new translation.  We take the
+      approach of translating immediately before every use of yytoken.
+      One alternative is translating here after every semantic action,
+      but that translation would be missed if the semantic action invokes
+      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+      incorrect destructor might then be invoked immediately.  In the
+      case of YYERROR or YYBACKUP, subsequent parser actions might lead
+      to an incorrect destructor call or verbose syntax error message
+      before the lookahead is translated.  */
+   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
  
    YYPOPSTACK (yylen);
    yylen = 0;
@@@ -7328,14 -7780,23 +7191,23 @@@ yyabortlab
  yyexhaustedlab:
    yyerror (YY_("memory exhausted"));
    yyresult = 2;
--  /* Fall through.  */
++  goto yyreturn;
  #endif
  
 -/*-----------------------------------------------------.
 -| yyreturn -- parsing is finished, return the result.  |
 -`-----------------------------------------------------*/
++/*-------------------------------------------------------.
++| yyreturn -- parsing is finished, clean up and return.  |
++`-------------------------------------------------------*/
  yyreturn:
-   if (yychar != YYEOF && yychar != YYEMPTY)
-      yydestruct ("Cleanup: discarding lookahead",
-                yytoken, &yylval);
-   /* Do not reclaim the symbols of the rule which action triggered
+   if (yychar != YYEMPTY)
+     {
+       /* Make sure we have latest lookahead translation.  See comments at
+          user semantic actions for why this is necessary.  */
+       yytoken = YYTRANSLATE (yychar);
+       yydestruct ("Cleanup: discarding lookahead",
+                   yytoken, &yylval);
+     }
+   /* Do not reclaim the symbols of the rule whose action triggered
       this YYABORT or YYACCEPT.  */
    YYPOPSTACK (yylen);
    YY_STACK_PRINT (yyss, yyssp);
    if (yyss != yyssa)
      YYSTACK_FREE (yyss);
  #endif
- #if YYERROR_VERBOSE
-   if (yymsg != yymsgbuf)
-     YYSTACK_FREE (yymsg);
- #endif
-   /* Make sure YYID is used.  */
-   return YYID (yyresult);
- }
  
+   return yyresult;
+ }
  
- #line 3653 "./util/configparser.y"
 -#line 3591 "./util/configparser.y"
++#line 3663 "./util/configparser.y"
  
  
  /* parse helper routines could be here */
index 77d4534b5fb313390bd037178cabb571bb301562,bac7d08f9aca8921bad72ccdecaed515c4e0703d..2443c15a8d1520f30a31e78d5798323dcfb8742d
@@@ -1,14 -1,14 +1,14 @@@
- /* A Bison parser, made by GNU Bison 2.3.  */
 -/* A Bison parser, made by GNU Bison 3.6.4.  */
++/* A Bison parser, made by GNU Bison 3.7.6.  */
  
- /* Skeleton interface for Bison's Yacc-like parsers in C
+ /* Bison interface for Yacc-like parsers in C
  
-    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-    Free Software Foundation, Inc.
 -   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
++   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
+    Inc.
  
-    This program is free software; you can redistribute it and/or modify
+    This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2, or (at your option)
-    any later version.
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
  
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
@@@ -16,9 -16,7 +16,7 @@@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor,
-    Boston, MA 02110-1301, USA.  */
 -   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
++   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  
  /* As a special exception, you may create a larger work that contains
     part or all of the Bison parser skeleton and distribute that work
     This special exception was added by the Free Software Foundation in
     version 2.2 of Bison.  */
  
- /* Tokens.  */
+ /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+    especially those whose name start with YY_ or yy_.  They are
+    private implementation details that can be changed or removed.  */
+ #ifndef YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+ # define YY_YY_UTIL_CONFIGPARSER_H_INCLUDED
+ /* Debug traces.  */
+ #ifndef YYDEBUG
+ # define YYDEBUG 0
+ #endif
+ #if YYDEBUG
+ extern int yydebug;
+ #endif
+ /* Token kinds.  */
  #ifndef YYTOKENTYPE
  # define YYTOKENTYPE
-    /* Put the tokens into the symbol table, so that GDB and other debuggers
-       know about them.  */
-    enum yytokentype {
-      SPACE = 258,
-      LETTER = 259,
-      NEWLINE = 260,
-      COMMENT = 261,
-      COLON = 262,
-      ANY = 263,
-      ZONESTR = 264,
-      STRING_ARG = 265,
-      VAR_FORCE_TOPLEVEL = 266,
-      VAR_SERVER = 267,
-      VAR_VERBOSITY = 268,
-      VAR_NUM_THREADS = 269,
-      VAR_PORT = 270,
-      VAR_OUTGOING_RANGE = 271,
-      VAR_INTERFACE = 272,
-      VAR_PREFER_IP4 = 273,
-      VAR_DO_IP4 = 274,
-      VAR_DO_IP6 = 275,
-      VAR_PREFER_IP6 = 276,
-      VAR_DO_UDP = 277,
-      VAR_DO_TCP = 278,
-      VAR_TCP_MSS = 279,
-      VAR_OUTGOING_TCP_MSS = 280,
-      VAR_TCP_IDLE_TIMEOUT = 281,
-      VAR_EDNS_TCP_KEEPALIVE = 282,
-      VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283,
-      VAR_CHROOT = 284,
-      VAR_USERNAME = 285,
-      VAR_DIRECTORY = 286,
-      VAR_LOGFILE = 287,
-      VAR_PIDFILE = 288,
-      VAR_MSG_CACHE_SIZE = 289,
-      VAR_MSG_CACHE_SLABS = 290,
-      VAR_NUM_QUERIES_PER_THREAD = 291,
-      VAR_RRSET_CACHE_SIZE = 292,
-      VAR_RRSET_CACHE_SLABS = 293,
-      VAR_OUTGOING_NUM_TCP = 294,
-      VAR_INFRA_HOST_TTL = 295,
-      VAR_INFRA_LAME_TTL = 296,
-      VAR_INFRA_CACHE_SLABS = 297,
-      VAR_INFRA_CACHE_NUMHOSTS = 298,
-      VAR_INFRA_CACHE_LAME_SIZE = 299,
-      VAR_NAME = 300,
-      VAR_STUB_ZONE = 301,
-      VAR_STUB_HOST = 302,
-      VAR_STUB_ADDR = 303,
-      VAR_TARGET_FETCH_POLICY = 304,
-      VAR_HARDEN_SHORT_BUFSIZE = 305,
-      VAR_HARDEN_LARGE_QUERIES = 306,
-      VAR_FORWARD_ZONE = 307,
-      VAR_FORWARD_HOST = 308,
-      VAR_FORWARD_ADDR = 309,
-      VAR_DO_NOT_QUERY_ADDRESS = 310,
-      VAR_HIDE_IDENTITY = 311,
-      VAR_HIDE_VERSION = 312,
-      VAR_IDENTITY = 313,
-      VAR_VERSION = 314,
-      VAR_HARDEN_GLUE = 315,
-      VAR_MODULE_CONF = 316,
-      VAR_TRUST_ANCHOR_FILE = 317,
-      VAR_TRUST_ANCHOR = 318,
-      VAR_VAL_OVERRIDE_DATE = 319,
-      VAR_BOGUS_TTL = 320,
-      VAR_VAL_CLEAN_ADDITIONAL = 321,
-      VAR_VAL_PERMISSIVE_MODE = 322,
-      VAR_INCOMING_NUM_TCP = 323,
-      VAR_MSG_BUFFER_SIZE = 324,
-      VAR_KEY_CACHE_SIZE = 325,
-      VAR_KEY_CACHE_SLABS = 326,
-      VAR_TRUSTED_KEYS_FILE = 327,
-      VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328,
-      VAR_USE_SYSLOG = 329,
-      VAR_OUTGOING_INTERFACE = 330,
-      VAR_ROOT_HINTS = 331,
-      VAR_DO_NOT_QUERY_LOCALHOST = 332,
-      VAR_CACHE_MAX_TTL = 333,
-      VAR_HARDEN_DNSSEC_STRIPPED = 334,
-      VAR_ACCESS_CONTROL = 335,
-      VAR_LOCAL_ZONE = 336,
-      VAR_LOCAL_DATA = 337,
-      VAR_INTERFACE_AUTOMATIC = 338,
-      VAR_STATISTICS_INTERVAL = 339,
-      VAR_DO_DAEMONIZE = 340,
-      VAR_USE_CAPS_FOR_ID = 341,
-      VAR_STATISTICS_CUMULATIVE = 342,
-      VAR_OUTGOING_PORT_PERMIT = 343,
-      VAR_OUTGOING_PORT_AVOID = 344,
-      VAR_DLV_ANCHOR_FILE = 345,
-      VAR_DLV_ANCHOR = 346,
-      VAR_NEG_CACHE_SIZE = 347,
-      VAR_HARDEN_REFERRAL_PATH = 348,
-      VAR_PRIVATE_ADDRESS = 349,
-      VAR_PRIVATE_DOMAIN = 350,
-      VAR_REMOTE_CONTROL = 351,
-      VAR_CONTROL_ENABLE = 352,
-      VAR_CONTROL_INTERFACE = 353,
-      VAR_CONTROL_PORT = 354,
-      VAR_SERVER_KEY_FILE = 355,
-      VAR_SERVER_CERT_FILE = 356,
-      VAR_CONTROL_KEY_FILE = 357,
-      VAR_CONTROL_CERT_FILE = 358,
-      VAR_CONTROL_USE_CERT = 359,
-      VAR_TCP_REUSE_TIMEOUT = 360,
-      VAR_MAX_REUSE_TCP_QUERIES = 361,
-      VAR_EXTENDED_STATISTICS = 362,
-      VAR_LOCAL_DATA_PTR = 363,
-      VAR_JOSTLE_TIMEOUT = 364,
-      VAR_STUB_PRIME = 365,
-      VAR_UNWANTED_REPLY_THRESHOLD = 366,
-      VAR_LOG_TIME_ASCII = 367,
-      VAR_DOMAIN_INSECURE = 368,
-      VAR_PYTHON = 369,
-      VAR_PYTHON_SCRIPT = 370,
-      VAR_VAL_SIG_SKEW_MIN = 371,
-      VAR_VAL_SIG_SKEW_MAX = 372,
-      VAR_VAL_MAX_RESTART = 373,
-      VAR_CACHE_MIN_TTL = 374,
-      VAR_VAL_LOG_LEVEL = 375,
-      VAR_AUTO_TRUST_ANCHOR_FILE = 376,
-      VAR_KEEP_MISSING = 377,
-      VAR_ADD_HOLDDOWN = 378,
-      VAR_DEL_HOLDDOWN = 379,
-      VAR_SO_RCVBUF = 380,
-      VAR_EDNS_BUFFER_SIZE = 381,
-      VAR_PREFETCH = 382,
-      VAR_PREFETCH_KEY = 383,
-      VAR_SO_SNDBUF = 384,
-      VAR_SO_REUSEPORT = 385,
-      VAR_HARDEN_BELOW_NXDOMAIN = 386,
-      VAR_IGNORE_CD_FLAG = 387,
-      VAR_LOG_QUERIES = 388,
-      VAR_LOG_REPLIES = 389,
-      VAR_LOG_LOCAL_ACTIONS = 390,
-      VAR_TCP_UPSTREAM = 391,
-      VAR_SSL_UPSTREAM = 392,
-      VAR_TCP_AUTH_QUERY_TIMEOUT = 393,
-      VAR_SSL_SERVICE_KEY = 394,
-      VAR_SSL_SERVICE_PEM = 395,
-      VAR_SSL_PORT = 396,
-      VAR_FORWARD_FIRST = 397,
-      VAR_STUB_SSL_UPSTREAM = 398,
-      VAR_FORWARD_SSL_UPSTREAM = 399,
-      VAR_TLS_CERT_BUNDLE = 400,
-      VAR_STUB_TCP_UPSTREAM = 401,
-      VAR_FORWARD_TCP_UPSTREAM = 402,
-      VAR_HTTPS_PORT = 403,
-      VAR_HTTP_ENDPOINT = 404,
-      VAR_HTTP_MAX_STREAMS = 405,
-      VAR_HTTP_QUERY_BUFFER_SIZE = 406,
-      VAR_HTTP_RESPONSE_BUFFER_SIZE = 407,
-      VAR_HTTP_NODELAY = 408,
-      VAR_HTTP_NOTLS_DOWNSTREAM = 409,
-      VAR_STUB_FIRST = 410,
-      VAR_MINIMAL_RESPONSES = 411,
-      VAR_RRSET_ROUNDROBIN = 412,
-      VAR_MAX_UDP_SIZE = 413,
-      VAR_DELAY_CLOSE = 414,
-      VAR_UDP_CONNECT = 415,
-      VAR_UNBLOCK_LAN_ZONES = 416,
-      VAR_INSECURE_LAN_ZONES = 417,
-      VAR_INFRA_CACHE_MIN_RTT = 418,
-      VAR_INFRA_KEEP_PROBING = 419,
-      VAR_DNS64_PREFIX = 420,
-      VAR_DNS64_SYNTHALL = 421,
-      VAR_DNS64_IGNORE_AAAA = 422,
-      VAR_DNSTAP = 423,
-      VAR_DNSTAP_ENABLE = 424,
-      VAR_DNSTAP_SOCKET_PATH = 425,
-      VAR_DNSTAP_IP = 426,
-      VAR_DNSTAP_TLS = 427,
-      VAR_DNSTAP_TLS_SERVER_NAME = 428,
-      VAR_DNSTAP_TLS_CERT_BUNDLE = 429,
-      VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430,
-      VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431,
-      VAR_DNSTAP_SEND_IDENTITY = 432,
-      VAR_DNSTAP_SEND_VERSION = 433,
-      VAR_DNSTAP_BIDIRECTIONAL = 434,
-      VAR_DNSTAP_IDENTITY = 435,
-      VAR_DNSTAP_VERSION = 436,
-      VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437,
-      VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438,
-      VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439,
-      VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440,
-      VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441,
-      VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442,
-      VAR_RESPONSE_IP_TAG = 443,
-      VAR_RESPONSE_IP = 444,
-      VAR_RESPONSE_IP_DATA = 445,
-      VAR_HARDEN_ALGO_DOWNGRADE = 446,
-      VAR_IP_TRANSPARENT = 447,
-      VAR_IP_DSCP = 448,
-      VAR_DISABLE_DNSSEC_LAME_CHECK = 449,
-      VAR_IP_RATELIMIT = 450,
-      VAR_IP_RATELIMIT_SLABS = 451,
-      VAR_IP_RATELIMIT_SIZE = 452,
-      VAR_RATELIMIT = 453,
-      VAR_RATELIMIT_SLABS = 454,
-      VAR_RATELIMIT_SIZE = 455,
-      VAR_OUTBOUND_MSG_RETRY = 456,
-      VAR_RATELIMIT_FOR_DOMAIN = 457,
-      VAR_RATELIMIT_BELOW_DOMAIN = 458,
-      VAR_IP_RATELIMIT_FACTOR = 459,
-      VAR_RATELIMIT_FACTOR = 460,
-      VAR_SEND_CLIENT_SUBNET = 461,
-      VAR_CLIENT_SUBNET_ZONE = 462,
-      VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 463,
-      VAR_CLIENT_SUBNET_OPCODE = 464,
-      VAR_MAX_CLIENT_SUBNET_IPV4 = 465,
-      VAR_MAX_CLIENT_SUBNET_IPV6 = 466,
-      VAR_MIN_CLIENT_SUBNET_IPV4 = 467,
-      VAR_MIN_CLIENT_SUBNET_IPV6 = 468,
-      VAR_MAX_ECS_TREE_SIZE_IPV4 = 469,
-      VAR_MAX_ECS_TREE_SIZE_IPV6 = 470,
-      VAR_CAPS_WHITELIST = 471,
-      VAR_CACHE_MAX_NEGATIVE_TTL = 472,
-      VAR_PERMIT_SMALL_HOLDDOWN = 473,
-      VAR_QNAME_MINIMISATION = 474,
-      VAR_QNAME_MINIMISATION_STRICT = 475,
-      VAR_IP_FREEBIND = 476,
-      VAR_DEFINE_TAG = 477,
-      VAR_LOCAL_ZONE_TAG = 478,
-      VAR_ACCESS_CONTROL_TAG = 479,
-      VAR_LOCAL_ZONE_OVERRIDE = 480,
-      VAR_ACCESS_CONTROL_TAG_ACTION = 481,
-      VAR_ACCESS_CONTROL_TAG_DATA = 482,
-      VAR_VIEW = 483,
-      VAR_ACCESS_CONTROL_VIEW = 484,
-      VAR_VIEW_FIRST = 485,
-      VAR_SERVE_EXPIRED = 486,
-      VAR_SERVE_EXPIRED_TTL = 487,
-      VAR_SERVE_EXPIRED_TTL_RESET = 488,
-      VAR_SERVE_EXPIRED_REPLY_TTL = 489,
-      VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 490,
-      VAR_SERVE_ORIGINAL_TTL = 491,
-      VAR_FAKE_DSA = 492,
-      VAR_FAKE_SHA1 = 493,
-      VAR_LOG_IDENTITY = 494,
-      VAR_HIDE_TRUSTANCHOR = 495,
-      VAR_HIDE_HTTP_USER_AGENT = 496,
-      VAR_HTTP_USER_AGENT = 497,
-      VAR_TRUST_ANCHOR_SIGNALING = 498,
-      VAR_AGGRESSIVE_NSEC = 499,
-      VAR_USE_SYSTEMD = 500,
-      VAR_SHM_ENABLE = 501,
-      VAR_SHM_KEY = 502,
-      VAR_ROOT_KEY_SENTINEL = 503,
-      VAR_DNSCRYPT = 504,
-      VAR_DNSCRYPT_ENABLE = 505,
-      VAR_DNSCRYPT_PORT = 506,
-      VAR_DNSCRYPT_PROVIDER = 507,
-      VAR_DNSCRYPT_SECRET_KEY = 508,
-      VAR_DNSCRYPT_PROVIDER_CERT = 509,
-      VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 510,
-      VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 511,
-      VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 512,
-      VAR_DNSCRYPT_NONCE_CACHE_SIZE = 513,
-      VAR_DNSCRYPT_NONCE_CACHE_SLABS = 514,
-      VAR_PAD_RESPONSES = 515,
-      VAR_PAD_RESPONSES_BLOCK_SIZE = 516,
-      VAR_PAD_QUERIES = 517,
-      VAR_PAD_QUERIES_BLOCK_SIZE = 518,
-      VAR_IPSECMOD_ENABLED = 519,
-      VAR_IPSECMOD_HOOK = 520,
-      VAR_IPSECMOD_IGNORE_BOGUS = 521,
-      VAR_IPSECMOD_MAX_TTL = 522,
-      VAR_IPSECMOD_WHITELIST = 523,
-      VAR_IPSECMOD_STRICT = 524,
-      VAR_CACHEDB = 525,
-      VAR_CACHEDB_BACKEND = 526,
-      VAR_CACHEDB_SECRETSEED = 527,
-      VAR_CACHEDB_REDISHOST = 528,
-      VAR_CACHEDB_REDISPORT = 529,
-      VAR_CACHEDB_REDISTIMEOUT = 530,
-      VAR_CACHEDB_REDISEXPIRERECORDS = 531,
-      VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 532,
-      VAR_FOR_UPSTREAM = 533,
-      VAR_AUTH_ZONE = 534,
-      VAR_ZONEFILE = 535,
-      VAR_MASTER = 536,
-      VAR_URL = 537,
-      VAR_FOR_DOWNSTREAM = 538,
-      VAR_FALLBACK_ENABLED = 539,
-      VAR_TLS_ADDITIONAL_PORT = 540,
-      VAR_LOW_RTT = 541,
-      VAR_LOW_RTT_PERMIL = 542,
-      VAR_FAST_SERVER_PERMIL = 543,
-      VAR_FAST_SERVER_NUM = 544,
-      VAR_ALLOW_NOTIFY = 545,
-      VAR_TLS_WIN_CERT = 546,
-      VAR_TCP_CONNECTION_LIMIT = 547,
-      VAR_FORWARD_NO_CACHE = 548,
-      VAR_STUB_NO_CACHE = 549,
-      VAR_LOG_SERVFAIL = 550,
-      VAR_DENY_ANY = 551,
-      VAR_UNKNOWN_SERVER_TIME_LIMIT = 552,
-      VAR_LOG_TAG_QUERYREPLY = 553,
-      VAR_STREAM_WAIT_SIZE = 554,
-      VAR_TLS_CIPHERS = 555,
-      VAR_TLS_CIPHERSUITES = 556,
-      VAR_TLS_USE_SNI = 557,
-      VAR_IPSET = 558,
-      VAR_IPSET_NAME_V4 = 559,
-      VAR_IPSET_NAME_V6 = 560,
-      VAR_TLS_SESSION_TICKET_KEYS = 561,
-      VAR_RPZ = 562,
-      VAR_TAGS = 563,
-      VAR_RPZ_ACTION_OVERRIDE = 564,
-      VAR_RPZ_CNAME_OVERRIDE = 565,
-      VAR_RPZ_LOG = 566,
-      VAR_RPZ_LOG_NAME = 567,
-      VAR_RPZ_DO_EDE = 568,
-      VAR_DYNLIB = 569,
-      VAR_DYNLIB_FILE = 570,
-      VAR_EDNS_CLIENT_STRING = 571,
-      VAR_EDNS_CLIENT_STRING_OPCODE = 572,
-      VAR_NSID = 573,
-      VAR_ZONEMD_PERMISSIVE_MODE = 574,
-      VAR_ZONEMD_CHECK = 575,
-      VAR_ZONEMD_REJECT_ABSENCE = 576,
-      VAR_LOCAL_DATA_DO_EDE = 577,
-      VAR_LOCAL_ZONE_DEFAULT_EDE = 578,
-      VAR_EDE_LOCAL_ZONES = 579
-    };
+   enum yytokentype
+   {
+     YYEMPTY = -2,
+     YYEOF = 0,                     /* "end of file"  */
+     YYerror = 256,                 /* error  */
+     YYUNDEF = 257,                 /* "invalid token"  */
+     SPACE = 258,                   /* SPACE  */
+     LETTER = 259,                  /* LETTER  */
+     NEWLINE = 260,                 /* NEWLINE  */
+     COMMENT = 261,                 /* COMMENT  */
+     COLON = 262,                   /* COLON  */
+     ANY = 263,                     /* ANY  */
+     ZONESTR = 264,                 /* ZONESTR  */
+     STRING_ARG = 265,              /* STRING_ARG  */
+     VAR_FORCE_TOPLEVEL = 266,      /* VAR_FORCE_TOPLEVEL  */
+     VAR_SERVER = 267,              /* VAR_SERVER  */
+     VAR_VERBOSITY = 268,           /* VAR_VERBOSITY  */
+     VAR_NUM_THREADS = 269,         /* VAR_NUM_THREADS  */
+     VAR_PORT = 270,                /* VAR_PORT  */
+     VAR_OUTGOING_RANGE = 271,      /* VAR_OUTGOING_RANGE  */
+     VAR_INTERFACE = 272,           /* VAR_INTERFACE  */
+     VAR_PREFER_IP4 = 273,          /* VAR_PREFER_IP4  */
+     VAR_DO_IP4 = 274,              /* VAR_DO_IP4  */
+     VAR_DO_IP6 = 275,              /* VAR_DO_IP6  */
+     VAR_PREFER_IP6 = 276,          /* VAR_PREFER_IP6  */
+     VAR_DO_UDP = 277,              /* VAR_DO_UDP  */
+     VAR_DO_TCP = 278,              /* VAR_DO_TCP  */
+     VAR_TCP_MSS = 279,             /* VAR_TCP_MSS  */
+     VAR_OUTGOING_TCP_MSS = 280,    /* VAR_OUTGOING_TCP_MSS  */
+     VAR_TCP_IDLE_TIMEOUT = 281,    /* VAR_TCP_IDLE_TIMEOUT  */
+     VAR_EDNS_TCP_KEEPALIVE = 282,  /* VAR_EDNS_TCP_KEEPALIVE  */
+     VAR_EDNS_TCP_KEEPALIVE_TIMEOUT = 283, /* VAR_EDNS_TCP_KEEPALIVE_TIMEOUT  */
+     VAR_CHROOT = 284,              /* VAR_CHROOT  */
+     VAR_USERNAME = 285,            /* VAR_USERNAME  */
+     VAR_DIRECTORY = 286,           /* VAR_DIRECTORY  */
+     VAR_LOGFILE = 287,             /* VAR_LOGFILE  */
+     VAR_PIDFILE = 288,             /* VAR_PIDFILE  */
+     VAR_MSG_CACHE_SIZE = 289,      /* VAR_MSG_CACHE_SIZE  */
+     VAR_MSG_CACHE_SLABS = 290,     /* VAR_MSG_CACHE_SLABS  */
+     VAR_NUM_QUERIES_PER_THREAD = 291, /* VAR_NUM_QUERIES_PER_THREAD  */
+     VAR_RRSET_CACHE_SIZE = 292,    /* VAR_RRSET_CACHE_SIZE  */
+     VAR_RRSET_CACHE_SLABS = 293,   /* VAR_RRSET_CACHE_SLABS  */
+     VAR_OUTGOING_NUM_TCP = 294,    /* VAR_OUTGOING_NUM_TCP  */
+     VAR_INFRA_HOST_TTL = 295,      /* VAR_INFRA_HOST_TTL  */
+     VAR_INFRA_LAME_TTL = 296,      /* VAR_INFRA_LAME_TTL  */
+     VAR_INFRA_CACHE_SLABS = 297,   /* VAR_INFRA_CACHE_SLABS  */
+     VAR_INFRA_CACHE_NUMHOSTS = 298, /* VAR_INFRA_CACHE_NUMHOSTS  */
+     VAR_INFRA_CACHE_LAME_SIZE = 299, /* VAR_INFRA_CACHE_LAME_SIZE  */
+     VAR_NAME = 300,                /* VAR_NAME  */
+     VAR_STUB_ZONE = 301,           /* VAR_STUB_ZONE  */
+     VAR_STUB_HOST = 302,           /* VAR_STUB_HOST  */
+     VAR_STUB_ADDR = 303,           /* VAR_STUB_ADDR  */
+     VAR_TARGET_FETCH_POLICY = 304, /* VAR_TARGET_FETCH_POLICY  */
+     VAR_HARDEN_SHORT_BUFSIZE = 305, /* VAR_HARDEN_SHORT_BUFSIZE  */
+     VAR_HARDEN_LARGE_QUERIES = 306, /* VAR_HARDEN_LARGE_QUERIES  */
+     VAR_FORWARD_ZONE = 307,        /* VAR_FORWARD_ZONE  */
+     VAR_FORWARD_HOST = 308,        /* VAR_FORWARD_HOST  */
+     VAR_FORWARD_ADDR = 309,        /* VAR_FORWARD_ADDR  */
+     VAR_DO_NOT_QUERY_ADDRESS = 310, /* VAR_DO_NOT_QUERY_ADDRESS  */
+     VAR_HIDE_IDENTITY = 311,       /* VAR_HIDE_IDENTITY  */
+     VAR_HIDE_VERSION = 312,        /* VAR_HIDE_VERSION  */
+     VAR_IDENTITY = 313,            /* VAR_IDENTITY  */
+     VAR_VERSION = 314,             /* VAR_VERSION  */
+     VAR_HARDEN_GLUE = 315,         /* VAR_HARDEN_GLUE  */
+     VAR_MODULE_CONF = 316,         /* VAR_MODULE_CONF  */
+     VAR_TRUST_ANCHOR_FILE = 317,   /* VAR_TRUST_ANCHOR_FILE  */
+     VAR_TRUST_ANCHOR = 318,        /* VAR_TRUST_ANCHOR  */
+     VAR_VAL_OVERRIDE_DATE = 319,   /* VAR_VAL_OVERRIDE_DATE  */
+     VAR_BOGUS_TTL = 320,           /* VAR_BOGUS_TTL  */
+     VAR_VAL_CLEAN_ADDITIONAL = 321, /* VAR_VAL_CLEAN_ADDITIONAL  */
+     VAR_VAL_PERMISSIVE_MODE = 322, /* VAR_VAL_PERMISSIVE_MODE  */
+     VAR_INCOMING_NUM_TCP = 323,    /* VAR_INCOMING_NUM_TCP  */
+     VAR_MSG_BUFFER_SIZE = 324,     /* VAR_MSG_BUFFER_SIZE  */
+     VAR_KEY_CACHE_SIZE = 325,      /* VAR_KEY_CACHE_SIZE  */
+     VAR_KEY_CACHE_SLABS = 326,     /* VAR_KEY_CACHE_SLABS  */
+     VAR_TRUSTED_KEYS_FILE = 327,   /* VAR_TRUSTED_KEYS_FILE  */
+     VAR_VAL_NSEC3_KEYSIZE_ITERATIONS = 328, /* VAR_VAL_NSEC3_KEYSIZE_ITERATIONS  */
+     VAR_USE_SYSLOG = 329,          /* VAR_USE_SYSLOG  */
+     VAR_OUTGOING_INTERFACE = 330,  /* VAR_OUTGOING_INTERFACE  */
+     VAR_ROOT_HINTS = 331,          /* VAR_ROOT_HINTS  */
+     VAR_DO_NOT_QUERY_LOCALHOST = 332, /* VAR_DO_NOT_QUERY_LOCALHOST  */
+     VAR_CACHE_MAX_TTL = 333,       /* VAR_CACHE_MAX_TTL  */
+     VAR_HARDEN_DNSSEC_STRIPPED = 334, /* VAR_HARDEN_DNSSEC_STRIPPED  */
+     VAR_ACCESS_CONTROL = 335,      /* VAR_ACCESS_CONTROL  */
+     VAR_LOCAL_ZONE = 336,          /* VAR_LOCAL_ZONE  */
+     VAR_LOCAL_DATA = 337,          /* VAR_LOCAL_DATA  */
+     VAR_INTERFACE_AUTOMATIC = 338, /* VAR_INTERFACE_AUTOMATIC  */
+     VAR_STATISTICS_INTERVAL = 339, /* VAR_STATISTICS_INTERVAL  */
+     VAR_DO_DAEMONIZE = 340,        /* VAR_DO_DAEMONIZE  */
+     VAR_USE_CAPS_FOR_ID = 341,     /* VAR_USE_CAPS_FOR_ID  */
+     VAR_STATISTICS_CUMULATIVE = 342, /* VAR_STATISTICS_CUMULATIVE  */
+     VAR_OUTGOING_PORT_PERMIT = 343, /* VAR_OUTGOING_PORT_PERMIT  */
+     VAR_OUTGOING_PORT_AVOID = 344, /* VAR_OUTGOING_PORT_AVOID  */
+     VAR_DLV_ANCHOR_FILE = 345,     /* VAR_DLV_ANCHOR_FILE  */
+     VAR_DLV_ANCHOR = 346,          /* VAR_DLV_ANCHOR  */
+     VAR_NEG_CACHE_SIZE = 347,      /* VAR_NEG_CACHE_SIZE  */
+     VAR_HARDEN_REFERRAL_PATH = 348, /* VAR_HARDEN_REFERRAL_PATH  */
+     VAR_PRIVATE_ADDRESS = 349,     /* VAR_PRIVATE_ADDRESS  */
+     VAR_PRIVATE_DOMAIN = 350,      /* VAR_PRIVATE_DOMAIN  */
+     VAR_REMOTE_CONTROL = 351,      /* VAR_REMOTE_CONTROL  */
+     VAR_CONTROL_ENABLE = 352,      /* VAR_CONTROL_ENABLE  */
+     VAR_CONTROL_INTERFACE = 353,   /* VAR_CONTROL_INTERFACE  */
+     VAR_CONTROL_PORT = 354,        /* VAR_CONTROL_PORT  */
+     VAR_SERVER_KEY_FILE = 355,     /* VAR_SERVER_KEY_FILE  */
+     VAR_SERVER_CERT_FILE = 356,    /* VAR_SERVER_CERT_FILE  */
+     VAR_CONTROL_KEY_FILE = 357,    /* VAR_CONTROL_KEY_FILE  */
+     VAR_CONTROL_CERT_FILE = 358,   /* VAR_CONTROL_CERT_FILE  */
+     VAR_CONTROL_USE_CERT = 359,    /* VAR_CONTROL_USE_CERT  */
+     VAR_TCP_REUSE_TIMEOUT = 360,   /* VAR_TCP_REUSE_TIMEOUT  */
+     VAR_MAX_REUSE_TCP_QUERIES = 361, /* VAR_MAX_REUSE_TCP_QUERIES  */
+     VAR_EXTENDED_STATISTICS = 362, /* VAR_EXTENDED_STATISTICS  */
+     VAR_LOCAL_DATA_PTR = 363,      /* VAR_LOCAL_DATA_PTR  */
+     VAR_JOSTLE_TIMEOUT = 364,      /* VAR_JOSTLE_TIMEOUT  */
+     VAR_STUB_PRIME = 365,          /* VAR_STUB_PRIME  */
+     VAR_UNWANTED_REPLY_THRESHOLD = 366, /* VAR_UNWANTED_REPLY_THRESHOLD  */
+     VAR_LOG_TIME_ASCII = 367,      /* VAR_LOG_TIME_ASCII  */
+     VAR_DOMAIN_INSECURE = 368,     /* VAR_DOMAIN_INSECURE  */
+     VAR_PYTHON = 369,              /* VAR_PYTHON  */
+     VAR_PYTHON_SCRIPT = 370,       /* VAR_PYTHON_SCRIPT  */
+     VAR_VAL_SIG_SKEW_MIN = 371,    /* VAR_VAL_SIG_SKEW_MIN  */
+     VAR_VAL_SIG_SKEW_MAX = 372,    /* VAR_VAL_SIG_SKEW_MAX  */
+     VAR_VAL_MAX_RESTART = 373,     /* VAR_VAL_MAX_RESTART  */
+     VAR_CACHE_MIN_TTL = 374,       /* VAR_CACHE_MIN_TTL  */
+     VAR_VAL_LOG_LEVEL = 375,       /* VAR_VAL_LOG_LEVEL  */
+     VAR_AUTO_TRUST_ANCHOR_FILE = 376, /* VAR_AUTO_TRUST_ANCHOR_FILE  */
+     VAR_KEEP_MISSING = 377,        /* VAR_KEEP_MISSING  */
+     VAR_ADD_HOLDDOWN = 378,        /* VAR_ADD_HOLDDOWN  */
+     VAR_DEL_HOLDDOWN = 379,        /* VAR_DEL_HOLDDOWN  */
+     VAR_SO_RCVBUF = 380,           /* VAR_SO_RCVBUF  */
+     VAR_EDNS_BUFFER_SIZE = 381,    /* VAR_EDNS_BUFFER_SIZE  */
+     VAR_PREFETCH = 382,            /* VAR_PREFETCH  */
+     VAR_PREFETCH_KEY = 383,        /* VAR_PREFETCH_KEY  */
+     VAR_SO_SNDBUF = 384,           /* VAR_SO_SNDBUF  */
+     VAR_SO_REUSEPORT = 385,        /* VAR_SO_REUSEPORT  */
+     VAR_HARDEN_BELOW_NXDOMAIN = 386, /* VAR_HARDEN_BELOW_NXDOMAIN  */
+     VAR_IGNORE_CD_FLAG = 387,      /* VAR_IGNORE_CD_FLAG  */
+     VAR_LOG_QUERIES = 388,         /* VAR_LOG_QUERIES  */
+     VAR_LOG_REPLIES = 389,         /* VAR_LOG_REPLIES  */
+     VAR_LOG_LOCAL_ACTIONS = 390,   /* VAR_LOG_LOCAL_ACTIONS  */
+     VAR_TCP_UPSTREAM = 391,        /* VAR_TCP_UPSTREAM  */
+     VAR_SSL_UPSTREAM = 392,        /* VAR_SSL_UPSTREAM  */
+     VAR_TCP_AUTH_QUERY_TIMEOUT = 393, /* VAR_TCP_AUTH_QUERY_TIMEOUT  */
+     VAR_SSL_SERVICE_KEY = 394,     /* VAR_SSL_SERVICE_KEY  */
+     VAR_SSL_SERVICE_PEM = 395,     /* VAR_SSL_SERVICE_PEM  */
+     VAR_SSL_PORT = 396,            /* VAR_SSL_PORT  */
+     VAR_FORWARD_FIRST = 397,       /* VAR_FORWARD_FIRST  */
+     VAR_STUB_SSL_UPSTREAM = 398,   /* VAR_STUB_SSL_UPSTREAM  */
+     VAR_FORWARD_SSL_UPSTREAM = 399, /* VAR_FORWARD_SSL_UPSTREAM  */
+     VAR_TLS_CERT_BUNDLE = 400,     /* VAR_TLS_CERT_BUNDLE  */
+     VAR_STUB_TCP_UPSTREAM = 401,   /* VAR_STUB_TCP_UPSTREAM  */
+     VAR_FORWARD_TCP_UPSTREAM = 402, /* VAR_FORWARD_TCP_UPSTREAM  */
+     VAR_HTTPS_PORT = 403,          /* VAR_HTTPS_PORT  */
+     VAR_HTTP_ENDPOINT = 404,       /* VAR_HTTP_ENDPOINT  */
+     VAR_HTTP_MAX_STREAMS = 405,    /* VAR_HTTP_MAX_STREAMS  */
+     VAR_HTTP_QUERY_BUFFER_SIZE = 406, /* VAR_HTTP_QUERY_BUFFER_SIZE  */
+     VAR_HTTP_RESPONSE_BUFFER_SIZE = 407, /* VAR_HTTP_RESPONSE_BUFFER_SIZE  */
+     VAR_HTTP_NODELAY = 408,        /* VAR_HTTP_NODELAY  */
+     VAR_HTTP_NOTLS_DOWNSTREAM = 409, /* VAR_HTTP_NOTLS_DOWNSTREAM  */
+     VAR_STUB_FIRST = 410,          /* VAR_STUB_FIRST  */
+     VAR_MINIMAL_RESPONSES = 411,   /* VAR_MINIMAL_RESPONSES  */
+     VAR_RRSET_ROUNDROBIN = 412,    /* VAR_RRSET_ROUNDROBIN  */
+     VAR_MAX_UDP_SIZE = 413,        /* VAR_MAX_UDP_SIZE  */
+     VAR_DELAY_CLOSE = 414,         /* VAR_DELAY_CLOSE  */
+     VAR_UDP_CONNECT = 415,         /* VAR_UDP_CONNECT  */
+     VAR_UNBLOCK_LAN_ZONES = 416,   /* VAR_UNBLOCK_LAN_ZONES  */
+     VAR_INSECURE_LAN_ZONES = 417,  /* VAR_INSECURE_LAN_ZONES  */
+     VAR_INFRA_CACHE_MIN_RTT = 418, /* VAR_INFRA_CACHE_MIN_RTT  */
+     VAR_INFRA_KEEP_PROBING = 419,  /* VAR_INFRA_KEEP_PROBING  */
+     VAR_DNS64_PREFIX = 420,        /* VAR_DNS64_PREFIX  */
+     VAR_DNS64_SYNTHALL = 421,      /* VAR_DNS64_SYNTHALL  */
+     VAR_DNS64_IGNORE_AAAA = 422,   /* VAR_DNS64_IGNORE_AAAA  */
+     VAR_DNSTAP = 423,              /* VAR_DNSTAP  */
+     VAR_DNSTAP_ENABLE = 424,       /* VAR_DNSTAP_ENABLE  */
+     VAR_DNSTAP_SOCKET_PATH = 425,  /* VAR_DNSTAP_SOCKET_PATH  */
+     VAR_DNSTAP_IP = 426,           /* VAR_DNSTAP_IP  */
+     VAR_DNSTAP_TLS = 427,          /* VAR_DNSTAP_TLS  */
+     VAR_DNSTAP_TLS_SERVER_NAME = 428, /* VAR_DNSTAP_TLS_SERVER_NAME  */
+     VAR_DNSTAP_TLS_CERT_BUNDLE = 429, /* VAR_DNSTAP_TLS_CERT_BUNDLE  */
+     VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 430, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE  */
+     VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 431, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE  */
+     VAR_DNSTAP_SEND_IDENTITY = 432, /* VAR_DNSTAP_SEND_IDENTITY  */
+     VAR_DNSTAP_SEND_VERSION = 433, /* VAR_DNSTAP_SEND_VERSION  */
+     VAR_DNSTAP_BIDIRECTIONAL = 434, /* VAR_DNSTAP_BIDIRECTIONAL  */
+     VAR_DNSTAP_IDENTITY = 435,     /* VAR_DNSTAP_IDENTITY  */
+     VAR_DNSTAP_VERSION = 436,      /* VAR_DNSTAP_VERSION  */
+     VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 437, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 438, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES  */
+     VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 439, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 440, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES  */
+     VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 441, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 442, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES  */
+     VAR_RESPONSE_IP_TAG = 443,     /* VAR_RESPONSE_IP_TAG  */
+     VAR_RESPONSE_IP = 444,         /* VAR_RESPONSE_IP  */
+     VAR_RESPONSE_IP_DATA = 445,    /* VAR_RESPONSE_IP_DATA  */
+     VAR_HARDEN_ALGO_DOWNGRADE = 446, /* VAR_HARDEN_ALGO_DOWNGRADE  */
+     VAR_IP_TRANSPARENT = 447,      /* VAR_IP_TRANSPARENT  */
+     VAR_IP_DSCP = 448,             /* VAR_IP_DSCP  */
+     VAR_DISABLE_DNSSEC_LAME_CHECK = 449, /* VAR_DISABLE_DNSSEC_LAME_CHECK  */
+     VAR_IP_RATELIMIT = 450,        /* VAR_IP_RATELIMIT  */
+     VAR_IP_RATELIMIT_SLABS = 451,  /* VAR_IP_RATELIMIT_SLABS  */
+     VAR_IP_RATELIMIT_SIZE = 452,   /* VAR_IP_RATELIMIT_SIZE  */
+     VAR_RATELIMIT = 453,           /* VAR_RATELIMIT  */
+     VAR_RATELIMIT_SLABS = 454,     /* VAR_RATELIMIT_SLABS  */
+     VAR_RATELIMIT_SIZE = 455,      /* VAR_RATELIMIT_SIZE  */
+     VAR_OUTBOUND_MSG_RETRY = 456,  /* VAR_OUTBOUND_MSG_RETRY  */
+     VAR_RATELIMIT_FOR_DOMAIN = 457, /* VAR_RATELIMIT_FOR_DOMAIN  */
+     VAR_RATELIMIT_BELOW_DOMAIN = 458, /* VAR_RATELIMIT_BELOW_DOMAIN  */
+     VAR_IP_RATELIMIT_FACTOR = 459, /* VAR_IP_RATELIMIT_FACTOR  */
+     VAR_RATELIMIT_FACTOR = 460,    /* VAR_RATELIMIT_FACTOR  */
+     VAR_SEND_CLIENT_SUBNET = 461,  /* VAR_SEND_CLIENT_SUBNET  */
+     VAR_CLIENT_SUBNET_ZONE = 462,  /* VAR_CLIENT_SUBNET_ZONE  */
+     VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 463, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD  */
+     VAR_CLIENT_SUBNET_OPCODE = 464, /* VAR_CLIENT_SUBNET_OPCODE  */
+     VAR_MAX_CLIENT_SUBNET_IPV4 = 465, /* VAR_MAX_CLIENT_SUBNET_IPV4  */
+     VAR_MAX_CLIENT_SUBNET_IPV6 = 466, /* VAR_MAX_CLIENT_SUBNET_IPV6  */
+     VAR_MIN_CLIENT_SUBNET_IPV4 = 467, /* VAR_MIN_CLIENT_SUBNET_IPV4  */
+     VAR_MIN_CLIENT_SUBNET_IPV6 = 468, /* VAR_MIN_CLIENT_SUBNET_IPV6  */
+     VAR_MAX_ECS_TREE_SIZE_IPV4 = 469, /* VAR_MAX_ECS_TREE_SIZE_IPV4  */
+     VAR_MAX_ECS_TREE_SIZE_IPV6 = 470, /* VAR_MAX_ECS_TREE_SIZE_IPV6  */
+     VAR_CAPS_WHITELIST = 471,      /* VAR_CAPS_WHITELIST  */
+     VAR_CACHE_MAX_NEGATIVE_TTL = 472, /* VAR_CACHE_MAX_NEGATIVE_TTL  */
+     VAR_PERMIT_SMALL_HOLDDOWN = 473, /* VAR_PERMIT_SMALL_HOLDDOWN  */
+     VAR_QNAME_MINIMISATION = 474,  /* VAR_QNAME_MINIMISATION  */
+     VAR_QNAME_MINIMISATION_STRICT = 475, /* VAR_QNAME_MINIMISATION_STRICT  */
+     VAR_IP_FREEBIND = 476,         /* VAR_IP_FREEBIND  */
+     VAR_DEFINE_TAG = 477,          /* VAR_DEFINE_TAG  */
+     VAR_LOCAL_ZONE_TAG = 478,      /* VAR_LOCAL_ZONE_TAG  */
+     VAR_ACCESS_CONTROL_TAG = 479,  /* VAR_ACCESS_CONTROL_TAG  */
+     VAR_LOCAL_ZONE_OVERRIDE = 480, /* VAR_LOCAL_ZONE_OVERRIDE  */
+     VAR_ACCESS_CONTROL_TAG_ACTION = 481, /* VAR_ACCESS_CONTROL_TAG_ACTION  */
+     VAR_ACCESS_CONTROL_TAG_DATA = 482, /* VAR_ACCESS_CONTROL_TAG_DATA  */
+     VAR_VIEW = 483,                /* VAR_VIEW  */
+     VAR_ACCESS_CONTROL_VIEW = 484, /* VAR_ACCESS_CONTROL_VIEW  */
+     VAR_VIEW_FIRST = 485,          /* VAR_VIEW_FIRST  */
+     VAR_SERVE_EXPIRED = 486,       /* VAR_SERVE_EXPIRED  */
+     VAR_SERVE_EXPIRED_TTL = 487,   /* VAR_SERVE_EXPIRED_TTL  */
+     VAR_SERVE_EXPIRED_TTL_RESET = 488, /* VAR_SERVE_EXPIRED_TTL_RESET  */
+     VAR_SERVE_EXPIRED_REPLY_TTL = 489, /* VAR_SERVE_EXPIRED_REPLY_TTL  */
+     VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 490, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT  */
+     VAR_SERVE_ORIGINAL_TTL = 491,  /* VAR_SERVE_ORIGINAL_TTL  */
+     VAR_FAKE_DSA = 492,            /* VAR_FAKE_DSA  */
+     VAR_FAKE_SHA1 = 493,           /* VAR_FAKE_SHA1  */
+     VAR_LOG_IDENTITY = 494,        /* VAR_LOG_IDENTITY  */
+     VAR_HIDE_TRUSTANCHOR = 495,    /* VAR_HIDE_TRUSTANCHOR  */
+     VAR_HIDE_HTTP_USER_AGENT = 496, /* VAR_HIDE_HTTP_USER_AGENT  */
+     VAR_HTTP_USER_AGENT = 497,     /* VAR_HTTP_USER_AGENT  */
+     VAR_TRUST_ANCHOR_SIGNALING = 498, /* VAR_TRUST_ANCHOR_SIGNALING  */
+     VAR_AGGRESSIVE_NSEC = 499,     /* VAR_AGGRESSIVE_NSEC  */
+     VAR_USE_SYSTEMD = 500,         /* VAR_USE_SYSTEMD  */
+     VAR_SHM_ENABLE = 501,          /* VAR_SHM_ENABLE  */
+     VAR_SHM_KEY = 502,             /* VAR_SHM_KEY  */
+     VAR_ROOT_KEY_SENTINEL = 503,   /* VAR_ROOT_KEY_SENTINEL  */
+     VAR_DNSCRYPT = 504,            /* VAR_DNSCRYPT  */
+     VAR_DNSCRYPT_ENABLE = 505,     /* VAR_DNSCRYPT_ENABLE  */
+     VAR_DNSCRYPT_PORT = 506,       /* VAR_DNSCRYPT_PORT  */
+     VAR_DNSCRYPT_PROVIDER = 507,   /* VAR_DNSCRYPT_PROVIDER  */
+     VAR_DNSCRYPT_SECRET_KEY = 508, /* VAR_DNSCRYPT_SECRET_KEY  */
+     VAR_DNSCRYPT_PROVIDER_CERT = 509, /* VAR_DNSCRYPT_PROVIDER_CERT  */
+     VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 510, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED  */
+     VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 511, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE  */
+     VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 512, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS  */
+     VAR_DNSCRYPT_NONCE_CACHE_SIZE = 513, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE  */
+     VAR_DNSCRYPT_NONCE_CACHE_SLABS = 514, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS  */
+     VAR_PAD_RESPONSES = 515,       /* VAR_PAD_RESPONSES  */
+     VAR_PAD_RESPONSES_BLOCK_SIZE = 516, /* VAR_PAD_RESPONSES_BLOCK_SIZE  */
+     VAR_PAD_QUERIES = 517,         /* VAR_PAD_QUERIES  */
+     VAR_PAD_QUERIES_BLOCK_SIZE = 518, /* VAR_PAD_QUERIES_BLOCK_SIZE  */
+     VAR_IPSECMOD_ENABLED = 519,    /* VAR_IPSECMOD_ENABLED  */
+     VAR_IPSECMOD_HOOK = 520,       /* VAR_IPSECMOD_HOOK  */
+     VAR_IPSECMOD_IGNORE_BOGUS = 521, /* VAR_IPSECMOD_IGNORE_BOGUS  */
+     VAR_IPSECMOD_MAX_TTL = 522,    /* VAR_IPSECMOD_MAX_TTL  */
+     VAR_IPSECMOD_WHITELIST = 523,  /* VAR_IPSECMOD_WHITELIST  */
+     VAR_IPSECMOD_STRICT = 524,     /* VAR_IPSECMOD_STRICT  */
+     VAR_CACHEDB = 525,             /* VAR_CACHEDB  */
+     VAR_CACHEDB_BACKEND = 526,     /* VAR_CACHEDB_BACKEND  */
+     VAR_CACHEDB_SECRETSEED = 527,  /* VAR_CACHEDB_SECRETSEED  */
+     VAR_CACHEDB_REDISHOST = 528,   /* VAR_CACHEDB_REDISHOST  */
+     VAR_CACHEDB_REDISPORT = 529,   /* VAR_CACHEDB_REDISPORT  */
+     VAR_CACHEDB_REDISTIMEOUT = 530, /* VAR_CACHEDB_REDISTIMEOUT  */
+     VAR_CACHEDB_REDISEXPIRERECORDS = 531, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
+     VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 532, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
+     VAR_FOR_UPSTREAM = 533,        /* VAR_FOR_UPSTREAM  */
+     VAR_AUTH_ZONE = 534,           /* VAR_AUTH_ZONE  */
+     VAR_ZONEFILE = 535,            /* VAR_ZONEFILE  */
+     VAR_MASTER = 536,              /* VAR_MASTER  */
+     VAR_URL = 537,                 /* VAR_URL  */
+     VAR_FOR_DOWNSTREAM = 538,      /* VAR_FOR_DOWNSTREAM  */
+     VAR_FALLBACK_ENABLED = 539,    /* VAR_FALLBACK_ENABLED  */
+     VAR_TLS_ADDITIONAL_PORT = 540, /* VAR_TLS_ADDITIONAL_PORT  */
+     VAR_LOW_RTT = 541,             /* VAR_LOW_RTT  */
+     VAR_LOW_RTT_PERMIL = 542,      /* VAR_LOW_RTT_PERMIL  */
+     VAR_FAST_SERVER_PERMIL = 543,  /* VAR_FAST_SERVER_PERMIL  */
+     VAR_FAST_SERVER_NUM = 544,     /* VAR_FAST_SERVER_NUM  */
+     VAR_ALLOW_NOTIFY = 545,        /* VAR_ALLOW_NOTIFY  */
+     VAR_TLS_WIN_CERT = 546,        /* VAR_TLS_WIN_CERT  */
+     VAR_TCP_CONNECTION_LIMIT = 547, /* VAR_TCP_CONNECTION_LIMIT  */
+     VAR_FORWARD_NO_CACHE = 548,    /* VAR_FORWARD_NO_CACHE  */
+     VAR_STUB_NO_CACHE = 549,       /* VAR_STUB_NO_CACHE  */
+     VAR_LOG_SERVFAIL = 550,        /* VAR_LOG_SERVFAIL  */
+     VAR_DENY_ANY = 551,            /* VAR_DENY_ANY  */
+     VAR_UNKNOWN_SERVER_TIME_LIMIT = 552, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
+     VAR_LOG_TAG_QUERYREPLY = 553,  /* VAR_LOG_TAG_QUERYREPLY  */
+     VAR_STREAM_WAIT_SIZE = 554,    /* VAR_STREAM_WAIT_SIZE  */
+     VAR_TLS_CIPHERS = 555,         /* VAR_TLS_CIPHERS  */
+     VAR_TLS_CIPHERSUITES = 556,    /* VAR_TLS_CIPHERSUITES  */
+     VAR_TLS_USE_SNI = 557,         /* VAR_TLS_USE_SNI  */
+     VAR_IPSET = 558,               /* VAR_IPSET  */
+     VAR_IPSET_NAME_V4 = 559,       /* VAR_IPSET_NAME_V4  */
+     VAR_IPSET_NAME_V6 = 560,       /* VAR_IPSET_NAME_V6  */
+     VAR_TLS_SESSION_TICKET_KEYS = 561, /* VAR_TLS_SESSION_TICKET_KEYS  */
+     VAR_RPZ = 562,                 /* VAR_RPZ  */
+     VAR_TAGS = 563,                /* VAR_TAGS  */
+     VAR_RPZ_ACTION_OVERRIDE = 564, /* VAR_RPZ_ACTION_OVERRIDE  */
+     VAR_RPZ_CNAME_OVERRIDE = 565,  /* VAR_RPZ_CNAME_OVERRIDE  */
+     VAR_RPZ_LOG = 566,             /* VAR_RPZ_LOG  */
+     VAR_RPZ_LOG_NAME = 567,        /* VAR_RPZ_LOG_NAME  */
 -    VAR_DYNLIB = 568,              /* VAR_DYNLIB  */
 -    VAR_DYNLIB_FILE = 569,         /* VAR_DYNLIB_FILE  */
 -    VAR_EDNS_CLIENT_STRING = 570,  /* VAR_EDNS_CLIENT_STRING  */
 -    VAR_EDNS_CLIENT_STRING_OPCODE = 571, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
 -    VAR_NSID = 572,                /* VAR_NSID  */
 -    VAR_ZONEMD_PERMISSIVE_MODE = 573, /* VAR_ZONEMD_PERMISSIVE_MODE  */
 -    VAR_ZONEMD_CHECK = 574,        /* VAR_ZONEMD_CHECK  */
 -    VAR_ZONEMD_REJECT_ABSENCE = 575, /* VAR_ZONEMD_REJECT_ABSENCE  */
 -    VAR_RPZ_SIGNAL_NXDOMAIN_RA = 576 /* VAR_RPZ_SIGNAL_NXDOMAIN_RA  */
++    VAR_RPZ_DO_EDE = 568,          /* VAR_RPZ_DO_EDE  */
++    VAR_DYNLIB = 569,              /* VAR_DYNLIB  */
++    VAR_DYNLIB_FILE = 570,         /* VAR_DYNLIB_FILE  */
++    VAR_EDNS_CLIENT_STRING = 571,  /* VAR_EDNS_CLIENT_STRING  */
++    VAR_EDNS_CLIENT_STRING_OPCODE = 572, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
++    VAR_NSID = 573,                /* VAR_NSID  */
++    VAR_ZONEMD_PERMISSIVE_MODE = 574, /* VAR_ZONEMD_PERMISSIVE_MODE  */
++    VAR_ZONEMD_CHECK = 575,        /* VAR_ZONEMD_CHECK  */
++    VAR_ZONEMD_REJECT_ABSENCE = 576, /* VAR_ZONEMD_REJECT_ABSENCE  */
++    VAR_LOCAL_DATA_DO_EDE = 577,   /* VAR_LOCAL_DATA_DO_EDE  */
++    VAR_LOCAL_ZONE_DEFAULT_EDE = 578, /* VAR_LOCAL_ZONE_DEFAULT_EDE  */
++    VAR_EDE_LOCAL_ZONES = 579,     /* VAR_EDE_LOCAL_ZONES  */
++    VAR_RPZ_SIGNAL_NXDOMAIN_RA = 580 /* VAR_RPZ_SIGNAL_NXDOMAIN_RA  */
+   };
+   typedef enum yytokentype yytoken_kind_t;
  #endif
- /* Tokens.  */
+ /* Token kinds.  */
++#define YYEMPTY -2
+ #define YYEOF 0
+ #define YYerror 256
+ #define YYUNDEF 257
  #define SPACE 258
  #define LETTER 259
  #define NEWLINE 260
  #define VAR_RPZ_CNAME_OVERRIDE 565
  #define VAR_RPZ_LOG 566
  #define VAR_RPZ_LOG_NAME 567
 -#define VAR_DYNLIB 568
 -#define VAR_DYNLIB_FILE 569
 -#define VAR_EDNS_CLIENT_STRING 570
 -#define VAR_EDNS_CLIENT_STRING_OPCODE 571
 -#define VAR_NSID 572
 -#define VAR_ZONEMD_PERMISSIVE_MODE 573
 -#define VAR_ZONEMD_CHECK 574
 -#define VAR_ZONEMD_REJECT_ABSENCE 575
 -#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 576
 +#define VAR_RPZ_DO_EDE 568
 +#define VAR_DYNLIB 569
 +#define VAR_DYNLIB_FILE 570
 +#define VAR_EDNS_CLIENT_STRING 571
 +#define VAR_EDNS_CLIENT_STRING_OPCODE 572
 +#define VAR_NSID 573
 +#define VAR_ZONEMD_PERMISSIVE_MODE 574
 +#define VAR_ZONEMD_CHECK 575
 +#define VAR_ZONEMD_REJECT_ABSENCE 576
 +#define VAR_LOCAL_DATA_DO_EDE 577
 +#define VAR_LOCAL_ZONE_DEFAULT_EDE 578
 +#define VAR_EDE_LOCAL_ZONES 579
++#define VAR_RPZ_SIGNAL_NXDOMAIN_RA 580
  
+ /* Value type.  */
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
- typedef union YYSTYPE
- #line 66 "./util/configparser.y"
+ union YYSTYPE
  {
+ #line 66 "./util/configparser.y"
        char*   str;
- }
- /* Line 1529 of yacc.c.  */
- #line 701 "util/configparser.h"
-       YYSTYPE;
- # define yystype YYSTYPE /* obsolescent; will be withdrawn */
- # define YYSTYPE_IS_DECLARED 1
 -#line 712 "util/configparser.h"
++#line 721 "util/configparser.h"
+ };
+ typedef union YYSTYPE YYSTYPE;
  # define YYSTYPE_IS_TRIVIAL 1
+ # define YYSTYPE_IS_DECLARED 1
  #endif
  
  extern YYSTYPE yylval;
  
+ int yyparse (void);
+ #endif /* !YY_YY_UTIL_CONFIGPARSER_H_INCLUDED  */
index d9b0f4d942a28f9feb9e81ed7fd181c2658af9c8,e181174f365cf45c47ee02190f3503e0dfef62a8..876f19c039ae0430ca147fddf5849d0af789d675
@@@ -187,7 -187,7 +187,8 @@@ extern struct config_parser_state* cfg_
  %token VAR_DYNLIB VAR_DYNLIB_FILE VAR_EDNS_CLIENT_STRING
  %token VAR_EDNS_CLIENT_STRING_OPCODE VAR_NSID
  %token VAR_ZONEMD_PERMISSIVE_MODE VAR_ZONEMD_CHECK VAR_ZONEMD_REJECT_ABSENCE
 +%token VAR_LOCAL_DATA_DO_EDE VAR_LOCAL_ZONE_DEFAULT_EDE VAR_EDE_LOCAL_ZONES
+ %token VAR_RPZ_SIGNAL_NXDOMAIN_RA
  
  %%
  toplevelvars: /* empty */ | toplevelvars toplevelvar ;
@@@ -458,18 -456,16 +459,27 @@@ rpz_log_name: VAR_RPZ_LOG_NAME STRING_A
                cfg_parser->cfg->auths->rpz_log_name = $2;
        }
        ;
+ rpz_signal_nxdomain_ra: VAR_RPZ_SIGNAL_NXDOMAIN_RA STRING_ARG
+       {
+               OUTYY(("P(rpz_signal_nxdomain_ra:%s)\n", $2));
+               if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
+                       yyerror("expected yes or no.");
+               else cfg_parser->cfg->auths->rpz_signal_nxdomain_ra = (strcmp($2, "yes")==0);
+               free($2);
+       }
+       ;
  
 +rpz_do_ede: VAR_RPZ_DO_EDE STRING_ARG
 +      {
 +              OUTYY(("P(rpz_do_ede:%s)\n", $2));
 +              if(strcmp($2, "yes") != 0 && strcmp($2, "no") != 0)
 +                      yyerror("expected yes or no.");
 +              else cfg_parser->cfg->auths->rpz_do_ede =
 +                      (strcmp($2, "yes")==0);
 +              free($2);
 +      }
 +      ;
 +
  rpzstart: VAR_RPZ
        {
                struct config_auth* s;
@@@ -492,7 -488,7 +502,7 @@@ contents_rpz: contents_rpz content_rp
        | ;
  content_rpz: auth_name | auth_zonefile | rpz_tag | auth_master | auth_url |
           auth_allow_notify | rpz_action_override | rpz_cname_override |
-          rpz_log | rpz_log_name | rpz_do_ede
 -         rpz_log | rpz_log_name | rpz_signal_nxdomain_ra
++         rpz_log | rpz_log_name | rpz_do_ede | rpz_signal_nxdomain_ra
        ;
  server_num_threads: VAR_NUM_THREADS STRING_ARG
        {