]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Merge branch 'master' into features/padding
authorWillem Toorop <willem@nlnetlabs.nl>
Fri, 22 Jan 2021 09:29:50 +0000 (10:29 +0100)
committerWillem Toorop <willem@nlnetlabs.nl>
Fri, 22 Jan 2021 09:29:50 +0000 (10:29 +0100)
18 files changed:
1  2 
daemon/worker.c
doc/example.conf.in
doc/unbound.conf.5.in
libunbound/libworker.c
services/authzone.c
services/outside_network.c
services/outside_network.h
testcode/fake_event.c
util/config_file.c
util/config_file.h
util/configlexer.c
util/configlexer.lex
util/configparser.c
util/configparser.h
util/configparser.y
util/data/msgencode.c
util/data/msgparse.c
util/edns.c

diff --cc daemon/worker.c
Simple merge
index ac282950f2d528bae2d67ab00c05e43001d5bd31,08d1620cf30e116b6e8025b1659ff7b6e523d137..b9b1c052558b85f9a677d4bb02ffd7e3b5e479ca
@@@ -746,12 -758,10 +758,16 @@@ server
        # cipher setting for TLSv1.3
        # tls-ciphersuites: "TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"
  
 +      # Pad responses to padded queries received over TLS
 +      # pad-responses: yes
 +
 +      # Padded responses will be padded to the closest multiple of this size.
 +      # pad-responses-block-size: 468
 +
+       # Use the SNI extension for TLS connections.  Default is yes.
+       # Changing the value requires a reload.
+       # tls-use-sni: yes
        # Add the secret file for TLS Session Ticket.
        # Secret file must be 80 bytes of random data.
        # First key use to encrypt and decrypt TLS session tickets.
index 107ccb93845124874080a6a2e2a50104aaa8b4cd,cfbe11c0631ea620d1295c4a4469d9210b77c977..e60ab6993b03ebe4efee79e98b41a42d9c9c2178
@@@ -546,25 -564,43 +564,62 @@@ and that is the default
  Set the list of ciphersuites to allow when serving TLS.  This is for newer
  TLS 1.3 connections.  Use "" for defaults, and that is the default.
  .TP
 +.B pad\-responses: \fI<yes or no>
 +If enabled, TLS serviced queries that contained an EDNS Padding option will
 +cause responses padded to the closest multiple of the size specified in
 +\fBpad\-responses\-block\-size\fR.
 +Default is yes.
 +.TP
 +.B pad\-responses\-block\-size: \fI<number>
 +The block size with which to pad responses serviced over TLS. Only responses
 +to padded queries will be padded.
 +Default is 468.
 +.TP
 +.B pad\-queries: \fI<yes or no>
 +If enabled, all queries sent over TLS upstreams will be padded to the closest
 +multiple of the size specified in \fBpad\-queries\-block\-size\fR.
 +Default is yes.
 +.TP
 +.B pad\-queries\-block\-size: \fI<number>
 +The block size with which to pad queries sent over TLS upstreams.
 +Default is 128.
+ .B tls\-use\-sni: \fI<yes or no>
+ Enable or disable sending the SNI extension on TLS connections.
+ Default is yes.
+ Changing the value requires a reload.
+ .TP
+ .B https\-port: \fI<number>
+ The port number on which to provide DNS-over-HTTPS service, default 443, only
+ interfaces configured with that port number as @number get the HTTPS service.
+ .TP
+ .B http\-endpoint: \fI<endpoint string>
+ The HTTP endpoint to provide DNS-over-HTTPS service on. Default "/dns-query".
+ .TP
+ .B http\-max\-streams: \fI<number of streams>
+ Number used in the SETTINGS_MAX_CONCURRENT_STREAMS parameter in the HTTP/2
+ SETTINGS frame for DNS-over-HTTPS connections. Default 100.
+ .TP
+ .B http\-query\-buffer\-size: \fI<size in bytes>
+ Maximum number of bytes used for all HTTP/2 query buffers combined. These
+ buffers contain (partial) DNS queries waiting for request stream completion.
+ An RST_STREAM frame will be send to streams exceeding this limit. Default is 4
+ megabytes. A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes,
+ megabytes or gigabytes (1024*1024 bytes in a megabyte).
+ .TP
+ .B http\-response\-buffer\-size: \fI<size in bytes>
+ Maximum number of bytes used for all HTTP/2 response buffers combined. These
+ buffers contain DNS responses waiting to be written back to the clients.
+ An RST_STREAM frame will be send to streams exceeding this limit. Default is 4
+ megabytes. A plain number is in bytes, append 'k', 'm' or 'g' for kilobytes,
+ megabytes or gigabytes (1024*1024 bytes in a megabyte).
+ .TP
+ .B http\-nodelay: \fI<yes or no>
+ Set TCP_NODELAY socket option on sockets used to provide DNS-over-HTTPS service.
+ Ignored if the option is not available. Default is yes.
+ .TP
+ .B http\-notls\-downstream: \fI<yes or no>
+ Disable use of TLS for the downstream DNS-over-HTTP connections.  Useful for
+ local back end servers.  Default is no.
  .TP
  .B use\-systemd: \fI<yes or no>
  Enable or disable systemd socket activation.
Simple merge
Simple merge
Simple merge
Simple merge
index 209257921bd5ea8779ec3939aa34469b0925b3a9,5164332c04f758983c08cce64699fe0590e7f205..b8166c45ce0a75a52a69225d8870942ce4c29813
@@@ -1219,10 -1227,17 +1227,18 @@@ struct serviced_query* outnet_serviced_
                edns.edns_version = EDNS_ADVERTISED_VERSION;
                edns.udp_size = EDNS_ADVERTISED_SIZE;
                edns.bits = 0;
-               edns.opt_list = qstate->edns_opts_back_out;
                if(dnssec)
                        edns.bits = EDNS_DO;
 +              edns.padding_block_size = 0;
+               if((client_string_addr = edns_string_addr_lookup(
+                       &env->edns_strings->client_strings,
+                       addr, addrlen))) {
+                       edns_opt_list_append(&qstate->edns_opts_back_out,
+                               env->edns_strings->client_string_opcode,
+                               client_string_addr->string_len,
+                               client_string_addr->string, qstate->region);
+               }
+               edns.opt_list = qstate->edns_opts_back_out;
                attach_edns_record(pend->buffer, &edns);
        }
        memcpy(&pend->addr, addr, addrlen);
index 1071f9a7b4beacbc2cbfb34862243b8bcd6d4a75,df274f9d0d2413a957f34cd7ad4f3d91bd4b19ed..d6da7d16788d40106ea621a91795856642cab5cb
@@@ -1129,10 -1177,7 +1185,11 @@@ config_get_option(struct config_file* c
        else O_LS3(opt, "access-control-tag-action", acl_tag_actions)
        else O_LS3(opt, "access-control-tag-data", acl_tag_datas)
        else O_LS2(opt, "access-control-view", acl_view)
 +      else O_YNO(opt, "pad-responses", pad_responses)
 +      else O_DEC(opt, "pad-responses-block-size", pad_responses_block_size)
 +      else O_YNO(opt, "pad-queries", pad_queries)
 +      else O_DEC(opt, "pad-queries-block-size", pad_queries_block_size)
+       else O_LS2(opt, "edns-client-strings", edns_client_strings)
  #ifdef USE_IPSECMOD
        else O_YNO(opt, "ipsecmod-enabled", ipsecmod_enabled)
        else O_YNO(opt, "ipsecmod-ignore-bogus", ipsecmod_ignore_bogus)
Simple merge
index e8bba6b94a36de5ab6c6b2a77e02ab32d0f128e2,4235cd04aa0ee69b96ea529fd600729d780b4dfd..f5e09d2dd12ab5502fb269be53a60c3f0e6ce028
@@@ -354,8 -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 315
- #define YY_END_OF_BUFFER 316
 -#define YY_NUM_RULES 338
 -#define YY_END_OF_BUFFER 339
++#define YY_NUM_RULES 342
++#define YY_END_OF_BUFFER 343
  /* 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 const flex_int16_t yy_accept[3109] =
 -static const flex_int16_t yy_accept[3296] =
++static const flex_int16_t yy_accept[3341] =
      {   0,
-         1,    1,  297,  297,  301,  301,  305,  305,  309,  309,
-         1,    1,  316,  313,    1,  295,  295,  314,    2,  314,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  297,  298,  298,  299,  314,  301,  302,  302,
-       303,  314,  308,  305,  306,  306,  307,  314,  309,  310,
-       310,  311,  314,  312,  296,    2,  300,  314,  312,  313,
-         0,    1,    2,    2,    2,    2,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -        1,    1,  312,  312,  316,  316,  320,  320,  324,  324,
 -        1,    1,  328,  328,  332,  332,  339,  336,    1,  310,
 -      310,  337,    2,  337,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  312,  313,  313,  314,
 -      337,  316,  317,  317,  318,  337,  323,  320,  321,  321,
 -      322,  337,  324,  325,  325,  326,  337,  335,  311,    2,
 -      315,  337,  335,  331,  328,  329,  329,  330,  337,  332,
 -      333,  333,  334,  337,  336,    0,    1,    2,    2,    2,
 -        2,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  297,    0,  301,    0,  308,    0,  305,  309,    0,
-       312,    0,    2,    2,  312,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  312,    0,
 -      316,    0,  323,    0,  320,  324,    0,  335,    0,    2,
 -        2,  335,  331,    0,  328,  332,    0,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  312,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  335,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  114,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  122,
-       313,  313,  313,  313,  313,  313,  313,  312,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  125,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  134,  336,  336,  336,
 -      336,  336,  336,  336,  335,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,   98,  313,  313,  313,  313,  313,  313,
-       313,  313,    8,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  115,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  109,  336,  309,  336,  336,  336,  336,
 -      336,    8,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  127,  313,  312,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  290,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  126,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  139,  336,  335,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  312,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,   56,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  224,  313,   14,   15,  313,   19,   18,  313,  313,
 -      336,  336,  302,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  121,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  208,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,    3,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  335,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   64,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  238,  336,   14,   15,  336,   19,   18,
 -      336,  336,  222,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  132,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  312,  313,  313,
-       313,  313,  313,  313,  313,  284,  313,  313,  283,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  304,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  220,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,    3,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      335,  336,  336,  336,  336,  336,  336,  336,  296,  336,
--
-       313,  313,   55,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,   59,
-       313,  254,  313,  313,  313,  313,  313,  313,  313,  313,
-       291,  292,  313,  313,  313,  313,  313,  313,  313,   60,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  118,  313,  313,  313,
-       313,  313,  313,  313,  313,  197,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,   21,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  295,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  319,
 -      336,  336,  336,  336,  336,  336,  336,  336,   63,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,   67,  336,  269,  336,  336,
 -      336,  336,  336,  336,  336,  336,  303,  304,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  146,  313,  313,  304,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,   96,  313,
-       313,  313,  313,  313,  313,  313,  262,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  169,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  145,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,   68,  336,  336,  133,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  129,  336,  336,  336,  336,  336,  336,  336,  336,
 -      209,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,   21,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  158,  336,  336,  335,  319,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,   95,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,   32,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,   33,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,   57,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  120,
 -      336,  336,  336,  336,  336,  336,  336,  107,  336,  336,
 -      336,  336,  336,  336,  336,  277,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  181,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  157,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  113,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        58,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  227,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  170,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,   46,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  106,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,   32,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,   33,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -       65,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      131,  335,  336,  336,  336,  336,  336,  124,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  245,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,   50,  313,   51,  313,  313,  313,
-       313,  313,   99,  313,  100,  313,  313,  313,  313,   97,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,    7,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,   66,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  242,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      182,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   54,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  217,  313,  313,  313,
-       313,  148,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  228,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,   47,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  189,  313,  188,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  260,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   58,  336,
 -       59,  336,  336,  336,  336,  336,  110,  336,  111,  336,
 -      336,  336,  336,  108,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,    7,  336,  335,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,   16,   17,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,   61,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  196,  313,  313,  313,  313,
-       313,  313,  102,  313,  101,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  180,  313,  313,  313,  313,
-       313,  313,  313,  313,  128,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,   80,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  231,  336,  336,  336,  336,  160,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  243,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,   45,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,   55,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  201,  336,
 -      200,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,   84,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        54,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  183,  184,
-       313,  313,  313,  256,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,    6,  313,  313,  313,
-       313,  313,  313,  275,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,   16,   17,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,   69,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  208,  336,  336,  336,  336,  336,
 -      336,  113,  336,  112,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  192,  336,  336,  336,
 -      336,  336,  336,  336,  336,  140,  335,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  101,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  260,  313,  313,  313,  313,  313,  313,  285,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,   42,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,   44,  313,  313,  313,  313,  313,  313,  313,
-       313,  176,  313,  313,  313,  123,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  201,  313,  177,  313,
-       313,  313,  214,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,   89,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  221,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,   94,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,   62,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  195,  196,  336,  336,  336,  271,  336,
--
-       313,  313,   45,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  125,  107,  313,  108,  313,  313,  313,  106,
-       313,  313,  313,  313,  313,  313,  313,  313,  143,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       244,  313,  313,  313,  313,  313,  313,  313,  313,  178,
-       313,  313,  313,  313,  313,  181,  313,  187,  313,  313,
-       313,  313,  313,  213,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        94,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  119,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,    6,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  275,  336,  336,  336,  336,  336,  336,
 -      297,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,   42,  336,  336,  336,  336,   44,  336,  336,  336,
 -       90,  336,  336,  336,  336,  336,   52,  336,  336,  336,
 -      336,  336,  336,  336,  335,  336,  188,  336,  336,  336,
 -      135,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,   52,  313,  313,  313,
-        26,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        20,  313,  313,  313,  313,  313,  313,   27,   36,  313,
-       153,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        69,   71,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  264,  313,  313,  313,  225,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  109,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  213,  336,  189,  336,  336,  336,  228,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   53,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  137,
 -      118,  336,  119,  336,  336,  336,  117,  336,  336,  336,
 -      336,  336,  336,  336,  336,  155,  336,  336,   50,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  259,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  190,  336,  336,  336,  336,
 -      336,  193,  336,  199,  336,  336,  336,  336,  336,  227,
--
-       313,  142,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  279,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  147,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  273,
-       313,  313,  313,  207,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  288,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  164,  313,  313,  313,  313,
-       313,  313,  313,  313,  103,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  105,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  130,  336,  336,  336,  336,  336,  336,
 -       60,  336,  336,  336,   26,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,   20,  336,  336,  336,  336,  336,
 -      336,   27,   36,  336,  165,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  335,  336,
 -      336,  336,  336,  336,  336,   77,   79,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  159,  313,  171,  313,  313,  313,
-       313,  313,  131,  313,  313,  313,  313,  313,   90,  313,
-       313,  313,  313,  199,  313,  313,  313,  313,  313,  313,
-       215,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  236,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  124,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  163,  313,  313,
-       313,  313,  313,   72,   73,  313,  313,  313,  313,  313,
-        53,  313,  313,  313,  313,  313,   79,  172,  313,  190,
-       313,  218,  313,  313,  182,  257,  313,  313,  313,  313,
 -      279,  336,  336,  336,  336,  239,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  120,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  154,  336,
 -       46,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  290,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  159,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  219,  336,  336,  336,  336,
--
-       313,   65,  313,  174,  313,  313,  313,  313,  313,    9,
-       313,  313,  313,  313,  313,   93,  313,  313,  313,  313,
-       249,  313,  313,  313,  313,  198,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  162,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  149,  313,  263,  313,
-       313,  313,  313,  235,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  300,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  176,  336,  336,
 -      336,  336,  336,  336,  336,  336,  114,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  171,  336,  183,  336,
 -      336,  336,  336,  335,  336,  143,  336,  336,  336,  336,
 -      336,  100,  336,  336,  336,  336,  211,  336,  336,  336,
 -      336,  336,  336,  229,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      251,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  209,  313,  313,  313,  313,
-       255,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  282,  313,  173,  313,  313,
-       313,  313,  313,  313,  313,   64,   66,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,   92,  313,  313,  313,
-       313,  247,  313,  313,  313,  313,  259,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  203,   34,
-        28,   30,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,   35,  313,   29,   31,  313,  313,  313,  313,  313,
 -      336,  136,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  175,  336,  336,  336,
 -      336,  336,  336,   80,  336,   81,  336,  336,  336,  336,
 -      336,   61,  293,  336,  336,  336,  336,  336,   88,  184,
 -      336,  202,  336,  232,  336,  336,  194,  272,  336,  336,
 -      336,  336,  336,   73,  336,  186,  336,  336,  336,  336,
 -      336,    9,  336,  336,  336,  104,  336,  336,  336,  336,
 -      264,  336,  336,  336,  336,  210,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,   89,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  205,  202,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-        63,  313,  313,  126,  313,  110,  313,  313,  313,  313,
-       313,  313,  313,  313,  144,   13,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  277,  313,  280,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,   12,  313,
-       313,   22,  313,  313,  313,  313,  313,  253,  313,  313,
-       313,  313,  261,  313,  313,  313,   67,  313,  211,  313,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  335,  336,  336,  336,  336,  174,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  161,  336,  278,
 -      336,  336,  336,  336,  336,  250,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  223,  336,  336,
 -      336,  336,  336,  270,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  294,  336,  185,  336,  336,  336,
--
-       313,  313,  313,  204,  313,  313,   62,  313,  313,  313,
-       313,   23,  313,   43,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  158,  157,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  206,  200,  313,
-       216,  313,  313,  265,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,   74,  313,  313,  313,  248,  313,  313,  313,  313,
-       186,  313,  313,  313,  313,  210,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  286,  287,  155,
 -      336,  336,  336,  336,   72,   74,  336,  336,  336,  336,
 -      336,  336,  336,  103,  336,  336,  336,  336,  262,  336,
 -      336,  336,  336,  274,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  215,   34,   28,   30,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   35,  336,
 -       29,   31,  336,  336,  336,  336,  336,  336,  336,  336,
 -       99,  336,  336,  336,  336,  336,  336,  335,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  217,
 -      214,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,   71,
--
-       313,  313,   68,  313,  313,  313,  313,  165,  313,  313,
-       104,  105,  313,  313,  313,  313,  150,  313,  152,  313,
-       191,  313,  313,  313,  313,  156,  313,  313,  219,  313,
-       313,  313,  313,  313,  313,  313,  133,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  226,  313,
-       313,  313,  313,  313,  313,  313,   24,  313,  258,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       192,  313,  313,  246,  313,  281,  313,  185,  313,  313,
-       313,  313,   48,  313,  313,  313,  313,  313,  313,    4,
-       313,  313,  313,  313,  117,  132,  313,  313,  313,  313,
 -      336,  336,  336,  138,  336,  121,  336,  336,  336,  336,
 -      336,  336,  336,  336,  156,   47,  336,  336,  336,  327,
 -       13,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  288,  336,  291,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,   12,  336,  336,   22,  336,  336,
 -      336,  268,  336,  336,  336,  336,  276,  336,  336,  336,
 -       75,  336,  225,  336,  336,  336,  336,  216,  336,  336,
 -       70,  336,  336,  336,  336,   23,  336,   43,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      170,  169,  327,  336,  336,  336,  336,  336,  336,  336,
--
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  222,   37,   38,  313,  313,  313,
-       313,  313,  313,  313,  266,  313,  313,  313,  313,  313,
-       313,  234,  313,  313,  313,  313,  313,  313,  313,  195,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,   77,
-       313,   49,  252,  313,  223,  313,  313,  313,  313,   11,
-       313,  313,  313,  313,  313,  313,  313,  313,  116,  313,
-       313,  313,  313,  193,   81,  313,   40,  313,  313,  313,
-       313,  313,  313,  313,  313,  161,  313,  313,  313,  313,
-       313,  135,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  218,  212,  336,  230,  336,  336,  280,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,   82,  336,  336,  336,  336,  263,  336,  336,  336,
 -      336,  198,  336,  336,  336,  336,  224,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  298,  299,  167,  336,
 -      336,   76,  336,  336,  336,  336,  177,  336,  336,  115,
 -      116,  336,  336,  336,  336,  162,  336,  164,  336,  203,
 -      336,  336,  336,  336,  168,  336,  336,  233,  336,  336,
--
-       313,  233,  313,  313,  313,  313,  129,  313,  313,  111,
-       112,  313,  313,  313,   83,   87,   82,  313,   75,  313,
-       313,  313,  313,  313,   10,  313,  313,  313,  313,  313,
-       250,  289,  313,  313,  313,  313,  294,   39,  313,  313,
-       313,  313,  313,  160,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,   88,   86,  313,   76,
-       278,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       179,  313,  313,  313,  313,  313,  194,  313,  313,  313,
-       313,  313,  313,  313,  313,  151,   70,  313,  313,  313,
 -      336,  336,  336,  336,  336,  145,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  241,  336,
 -      336,  336,  336,  336,  336,  336,  307,  336,   24,  336,
 -      273,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,   86,  204,  336,  336,  261,
 -      336,  292,  336,  197,  336,  336,  336,  336,   56,  336,
 -      336,  336,  336,    4,  336,  336,  336,  336,  128,  144,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  236,   37,
 -       38,  336,  336,  336,  336,  336,  336,  336,  281,  336,
--
-       313,  313,  267,  313,  313,  313,  313,  313,  313,  313,
-       230,  313,  313,  229,  130,  313,   85,  136,  137,  140,
-       141,  138,  139,   78,  276,  313,  313,  251,  313,  313,
-       313,  313,  154,  313,  313,  313,  313,  313,  221,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  167,  166,   41,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       274,  313,  313,  313,  313,   91,  313,  220,  313,  243,
-       271,  313,  313,  313,  313,  313,  313,  313,  313,  313,
 -      336,  336,  336,  336,  336,  336,  249,  336,  336,  336,
 -      336,  336,  336,  336,  336,  207,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,   85,  336,
 -       57,  267,  336,  237,  336,  336,  336,  336,   11,  336,
 -      336,  336,  336,  336,  336,  127,  336,  336,  336,  336,
 -      205,   91,  336,   40,  336,  336,  336,  336,  336,  336,
 -      336,  336,  173,  336,  336,  336,  336,  336,  147,  336,
 -      336,  336,  336,  240,  336,  336,  336,  336,  336,  248,
 -      336,  336,  336,  336,  141,  336,  336,  336,  122,  123,
 -      336,  336,  336,   93,   97,   92,  336,  336,  336,  336,
--
-       313,  313,  313,    5,  313,  313,  212,  313,  313,  272,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  231,
-        25,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  232,  313,  313,  313,  134,  313,  313,
-       313,  313,  313,  313,  313,  313,  168,  313,  175,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  268,  313,
-       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
-       313,  313,  313,  313,  313,  313,  293,  313,  313,  239,
-       313,  313,  313,  313,  313,  269,  313,  313,  313,  313,
-       313,  313,  270,  313,  313,  313,  237,  313,  240,  241,
 -       83,  336,  336,  336,  336,  336,   10,  336,  336,  336,
 -      265,  301,  336,  336,  336,  336,  306,   39,  336,  336,
 -      336,  336,  336,  172,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,   98,   96,  336,
 -       51,  336,  336,   84,  289,  336,  336,  336,  336,  336,
 -      336,  336,  191,  336,  336,  336,  336,  336,  206,  336,
 -      336,  336,  336,  336,  336,  336,  336,  163,   78,  336,
 -      336,  336,  336,  336,  282,  336,  336,  336,  336,  336,
 -      336,  336,  245,  336,  336,  244,  142,  336,  336,   95,
--
-       313,  313,  313,  313,  313,  238,  242,    0
 -       48,  336,  148,  149,  152,  153,  150,  151,   87,  336,
 -      266,  336,  336,  336,  336,  166,  336,  336,  336,  336,
 -      336,  235,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  179,  178,   41,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      102,  336,  234,  336,  258,  286,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  308,  336,   49,
 -        5,  336,  336,  226,  336,  336,  287,  336,  336,  336,
 -
 -      336,  336,  336,  336,  336,  336,  246,   25,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      247,  336,  336,  336,  146,  336,  336,  336,  336,  336,
 -      336,  336,  336,  180,  336,  187,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  283,  336,  336,  336,  336,
 -      336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
 -      336,  336,  336,  305,  336,  336,  254,  336,  336,  336,
 -      336,  336,  284,  336,  336,  336,  336,  336,  336,  285,
 -      336,  336,  336,  252,  336,  255,  256,  336,  336,  336,
 -      336,  336,  253,  257,    0
 -
++        1,    1,  316,  316,  320,  320,  324,  324,  328,  328,
++        1,    1,  332,  332,  336,  336,  343,  340,    1,  314,
++      314,  341,    2,  341,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  316,  317,  317,  318,
++      341,  320,  321,  321,  322,  341,  327,  324,  325,  325,
++      326,  341,  328,  329,  329,  330,  341,  339,  315,    2,
++      319,  341,  339,  335,  332,  333,  333,  334,  341,  336,
++      337,  337,  338,  341,  340,    0,    1,    2,    2,    2,
++        2,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  316,
++        0,  320,    0,  327,    0,  324,  328,    0,  339,    0,
++        2,    2,  339,  335,    0,  332,  336,    0,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  339,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  125,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  134,
++      340,  340,  340,  340,  340,  340,  340,  339,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  109,  340,  313,  340,
++      340,  340,  340,  340,  340,  340,    8,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  126,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  139,  340,  339,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  306,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  339,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,   64,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      238,  340,   14,   15,  340,   19,   18,  340,  340,  222,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  132,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  220,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,    3,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  339,
++
++      340,  340,  340,  340,  340,  340,  340,  300,  340,  340,
++      299,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  323,  340,
++      340,  340,  340,  340,  340,  340,  340,   63,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,   67,  340,  269,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  307,  308,  340,  340,  340,
++      340,  340,  340,  340,   68,  340,  340,  133,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  129,  340,  340,  340,  340,  340,  340,  340,
++      340,  209,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,   21,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  158,  340,  340,  339,  323,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  107,  340,
++      340,  340,  340,  340,  340,  340,  277,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  181,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  157,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  106,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,   32,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,   33,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,   65,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  131,  339,  340,  340,  340,  340,  340,
++
++      124,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,   66,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  242,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  182,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,   54,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  260,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,   58,  340,   59,  340,  340,  340,  340,
++      340,  110,  340,  111,  340,  340,  340,  340,  108,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,    7,  340,
++
++      339,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  231,
++      340,  340,  340,  340,  160,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  243,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,   45,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,   55,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  201,  340,  200,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,   16,   17,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,   69,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  208,  340,  340,  340,  340,  340,  340,  113,  340,
++      112,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  192,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  140,  339,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  101,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,   89,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      221,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,   94,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,   62,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      195,  196,  340,  340,  340,  271,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,    6,  340,
++      340,  340,  340,  340,  340,  290,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  275,  340,  340,  340,  340,  340,  340,
++      301,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,   42,  340,  340,  340,  340,   44,  340,  340,  340,
++       90,  340,  340,  340,  340,  340,   52,  340,  340,  340,
++
++      340,  340,  340,  340,  339,  340,  188,  340,  340,  340,
++      135,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  213,  340,  189,  340,  340,  340,  228,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,   53,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  137,
++      118,  340,  119,  340,  340,  340,  117,  340,  340,  340,
++      340,  340,  340,  340,  340,  155,  340,  340,   50,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  259,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  190,  340,  340,  340,  340,
++      340,  193,  340,  199,  340,  340,  340,  340,  340,  227,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  105,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  130,  340,  340,  340,  340,
++      340,  340,   60,  340,  340,  340,   26,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,   20,  340,  340,  340,
++      340,  340,  340,   27,   36,  340,  165,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      339,  340,  340,  340,  340,  340,  340,   77,   79,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  279,  340,  340,  340,  340,  239,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      120,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      154,  340,   46,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  294,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  159,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  288,  340,  340,  340,
++      219,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      304,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  176,  340,  340,  340,  340,  340,  340,  340,
++      340,  114,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  171,  340,  183,  340,  340,  340,  340,  339,  340,
++      143,  340,  340,  340,  340,  340,  100,  340,  340,  340,
++      340,  211,  340,  340,  340,  340,  340,  340,  229,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  251,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  136,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  175,  340,  340,  340,  340,  340,  340,   80,  340,
++       81,  340,  340,  340,  340,  340,   61,  297,  340,  340,
++      340,  340,  340,   88,  184,  340,  202,  340,  232,  340,
++      340,  194,  272,  340,  340,  340,  340,  340,   73,  340,
++      186,  340,  340,  340,  340,  340,    9,  340,  340,  340,
++      340,  340,  104,  340,  340,  340,  340,  264,  340,  340,
++
++      340,  340,  210,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  339,  340,
++      340,  340,  340,  174,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  161,  340,  278,  340,  340,  340,
++      340,  340,  250,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  223,  340,  340,  340,  340,  340,
++      270,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  298,  340,  185,  340,  340,  340,  340,  340,  340,
++      340,   72,   74,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  103,  340,  340,  340,  340,  262,  340,  340,
++      340,  340,  274,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  215,   34,   28,   30,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,   35,  340,   29,
++       31,  340,  340,  340,  340,  340,  340,  340,  340,   99,
++      340,  340,  340,  340,  340,  340,  339,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  217,  214,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,   71,  340,
++      340,  340,  138,  340,  121,  340,  340,  340,  340,  340,
++      340,  340,  340,  156,   47,  340,  340,  340,  331,   13,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      292,  340,  295,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,   12,  340,  340,   22,  340,  340,  340,
++      340,  340,  268,  340,  340,  340,  340,  276,  340,  340,
++      340,   75,  340,  225,  340,  340,  340,  340,  216,  340,
++
++      340,   70,  340,  340,  340,  340,   23,  340,   43,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  170,  169,  331,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  218,  212,  340,  230,  340,  340,  280,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,   82,  340,  340,  340,  340,  263,  340,  340,
++      340,  340,  198,  340,  340,  340,  340,  224,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  302,
++
++      303,  167,  340,  340,   76,  340,  340,  340,  340,  177,
++      340,  340,  115,  116,  340,  340,  340,  340,  162,  340,
++      164,  340,  203,  340,  340,  340,  340,  168,  340,  340,
++      233,  340,  340,  340,  340,  340,  340,  340,  145,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  241,  340,  340,  340,  340,  340,  340,  340,  311,
++      340,   24,  340,  273,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,   86,  204,
++      340,  340,  261,  340,  296,  340,  197,  340,  340,  340,
++      340,   56,  340,  340,  340,  340,  340,  340,    4,  340,
++
++      340,  340,  340,  128,  144,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  236,   37,   38,  340,  340,  340,  340,
++      340,  340,  340,  281,  340,  340,  340,  340,  340,  340,
++      340,  249,  340,  340,  340,  340,  340,  340,  340,  340,
++      207,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,   85,  340,   57,  267,  340,  237,  340,
++      340,  340,  340,   11,  340,  340,  340,  340,  340,  340,
++      340,  340,  127,  340,  340,  340,  340,  205,   91,  340,
++       40,  340,  340,  340,  340,  340,  340,  340,  340,  173,
++
++      340,  340,  340,  340,  340,  147,  340,  340,  340,  340,
++      240,  340,  340,  340,  340,  340,  248,  340,  340,  340,
++      340,  141,  340,  340,  340,  122,  123,  340,  340,  340,
++       93,   97,   92,  340,  340,  340,  340,   83,  340,  340,
++      340,  340,  340,   10,  340,  340,  340,  340,  340,  265,
++      305,  340,  340,  340,  340,  310,   39,  340,  340,  340,
++      340,  340,  172,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,   98,   96,  340,   51,
++      340,  340,   84,  293,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  191,  340,  340,  340,  340,  340,  206,
++      340,  340,  340,  340,  340,  340,  340,  340,  163,   78,
++      340,  340,  340,  340,  340,  282,  340,  340,  340,  340,
++      340,  340,  340,  245,  340,  340,  244,  142,  340,  340,
++       95,   48,  340,  148,  149,  152,  153,  150,  151,   87,
++      291,  340,  340,  266,  340,  340,  340,  340,  166,  340,
++      340,  340,  340,  340,  235,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  179,  178,   41,  340,  340,
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      289,  340,  340,  340,  340,  102,  340,  234,  340,  258,
++      286,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  312,  340,   49,    5,  340,  340,  226,  340,
++      340,  287,  340,  340,  340,  340,  340,  340,  340,  340,
++      340,  246,   25,  340,  340,  340,  340,  340,  340,  340,
++      340,  340,  340,  340,  340,  247,  340,  340,  340,  146,
++      340,  340,  340,  340,  340,  340,  340,  340,  180,  340,
++      187,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++      283,  340,  340,  340,  340,  340,  340,  340,  340,  340,
++
++      340,  340,  340,  340,  340,  340,  340,  340,  309,  340,
++      340,  254,  340,  340,  340,  340,  340,  284,  340,  340,
++      340,  340,  340,  340,  285,  340,  340,  340,  252,  340,
++      255,  256,  340,  340,  340,  340,  340,  253,  257,    0
      } ;
  
  static const YY_CHAR yy_ec[256] =
@@@ -749,2052 -770,2174 +774,2200 @@@ static const YY_CHAR yy_meta[41] 
          1,    1,    1,    1,    1,    1,    1,    1,    1,    1
      } ;
  
- static const flex_int16_t yy_base[3123] =
 -static const flex_int16_t yy_base[3314] =
++static const flex_int16_t yy_base[3359] =
      {   0,
          0,    0,   38,   41,   44,   46,   59,   65,   71,   77,
-        90,  112, 1561, 1369,   81, 6063, 6063, 6063,   96,   52,
-       106,   63,  107,  111,   70,  128,  130,  133,   57,   88,
-        76,  135,  141,  117,  163,  134,  151,  165,  174,  179,
-       190,  145, 1331, 6063, 6063, 6063,  107, 1281, 6063, 6063,
-      6063,  165, 1175, 1158, 6063, 6063, 6063,  212, 1094, 6063,
-      6063, 6063,  216,  816, 6063,  220, 6063,  224,  157,  782,
-       228,  234,    0,  240,    0,    0,  201,  225,   85,  182,
-       176,  232,  234,  114,  236,  209,  241,  224,  238,  244,
-       252,  248,  249,  256,  254,  258,  257,  259,  266,  271,
 -       90,  112,   96,  118,  124,  136, 2992, 2881,   81, 6437,
 -     6437, 6437,  129,   52,  130,   63,  131,  152,   70,  140,
 -      149,  156,   57,   88,   76,  173,  175,   95,  184,  145,
 -      185,  205,  211,  217,  178,  123, 2560, 6437, 6437, 6437,
 -      107, 2496, 6437, 6437, 6437,  154, 2163, 1764, 6437, 6437,
 -     6437,  249, 1649, 6437, 6437, 6437,  163, 1451, 6437,  253,
 -     6437,  257,  148, 1354, 1226, 6437, 6437, 6437,  261, 1170,
 -     6437, 6437, 6437,  207, 1091,  267,  203,    0,  271,    0,
 -        0,  165,  204,  215,  206,  207,  216,  265,   92,  263,
--
-       279,  251,  278,  281,  282,  285,  289,  287,  292,  295,
-       296,  297,  307,  300,  308,  310,  314,  313,  315,  320,
-       322,  321,  161,  324,  331,  325,  159,  327,  329,  337,
-       332,  342,  346,  352,  351,  354,  358,  357,  359,  360,
-       356,  729,  381,  686,  383,  599,  390,  452,  286,  394,
-       189,  398,  402,    0,  379,  394,  403,  387,  396,  398,
-       364,  400,  401,  404,  409,  407,  415,  416,  418,  421,
-       422,  431,  430,  432,  434,  429,  437,  439,  445,  438,
-       455,  447,  454,  456,  460,  461,  462,  463,  464,  481,
-       466,  472,  467,  490,  488,  497,  500,  486,  502,  504,
 -      269,  273,  256,  267,  276,  284,  277,  280,  282,  288,
 -      286,  290,  226,  292,  228,  296,  303,  311,  298,  313,
 -      321,  301,  315,  234,  319,  314,  332,  331,  333,  316,
 -      334,  337,  335,  342,  343,  348,  345,  354,  355,  350,
 -      356,  366,  359,  368,  371,  360,  379,  374,  377,  364,
 -      382,  389,  387,  388,  392,  395,  401,  394,  962,  412,
 -      919,  417,  872,  426,  749,  518,  430,  357,  434,  438,
 -        0,  415,  293,  442,  244,  181,  446,  434,  446,  405,
 -      441,  442,  443,  444,  445,  447,  448,  449,  451,  465,
 -      458,  463,  470,  467,  474,  475,  480,  473,  478,  482,
--
-       474,  511,  507,  514,  515,  510,  522,  518,  519,  520,
-       521,  523,  524,  526,  528,  529,  534,  477,  530,  542,
-       543,  535,  547,  537,  552,  544,  560,  555,  556,  564,
-       557,  558,  573,  574,  569,  577,  570,  465,  578,  581,
-       589,  590,  585,  572,  586,  593,  592,  594,  596,  598,
-       597,  606,  614,  610,  612,  619,  609,  618,  621,  622,
-       623,  601,  633,  625,  635,  629,  641,  634,  642,  644,
-       640,  646,  647,  649,  648,  660,  651,  664,  666,  669,
-       655,  670,  662,  678,  673,  674,  675,  677,  679,  681,
-       682,  683,  685,  688,  694,  689,  698,  691,  705,  708,
 -      486,  476,  490,  498,  499,  500,  493,  501,  502,  504,
 -      506,  507,  508,  522,  520,  511,  514,  533,  534,  538,
 -      543,  529,  545,  547,  536,  552,  548,  560,  551,  564,
 -      559,  550,  561,  562,  565,  568,  569,  570,  573,  575,
 -      572,  576,  574,  586,  588,  579,  591,  589,  602,  598,
 -      605,  600,  601,  409,  603,  607,  610,  615,  608,  618,
 -      613,  619,  623,  629,  632,  636,  635,  621,  634,  631,
 -      638,  640,  641,  642,  645,  652,  655,  651,  653,  665,
 -      660,  662,  663,  664,  666,  667,  677,  669,  680,  683,
 -      673,  679,  685,  687,  689,  691,  690,  694,  695,  699,
--
-       697,  719,  712,  702,  710,  722,  713,  717,  714,  732,
-       746,  741,  733,  742,  747,  749,  751,  724,  754,  755,
-       748,  761,  762,  752,  767,  768,  775,  776, 6063,  770,
-       773,  786,  784,  791,  792,  785,  798,  772,  793,  806,
-       804,  805,  809,  831,  807,  808,  811,  813,  821, 6063,
-       820,  824,  855,  825,  833,  849,  845,  815,  837,  844,
-       853,  841,  872,  861,  863,  864,  881,  865,  873,  876,
-       877,  879,  880,  897,  889,  882,  886,  894,  905,  900,
-       901,  904,  913,  903,  906,  912,  907,  914,  915,  920,
-       926,  918,  929,  930,  931,  933,  932,  936,  935,  938,
 -      702,  700,  707,  709,  716,  713,  718,  715,  727,  728,
 -      703,  712,  724,  725,  731,  726,  733,  735,  736,  740,
 -      741,  743,  746,  744,  754,  750,  752,  767,  759,  757,
 -      760,  769,  770,  778,  771,  792,  799,  777,  763,  788,
 -      781,  797,  800,  802,  807,  803,  810,  813,  814,  815,
 -      816,  817,  818,  826,  822, 6437,  821,  824,  836,  838,
 -      839,  842,  832,  848,  831,  852,  855,  857,  854,  862,
 -      884,  858,  860,  861,  873,  866, 6437,  874,  868,  908,
 -      879,  886,  897,  892,  904,  870,  899,  906,  890,  918,
 -      902,  901,  916,  932,  929,  913,  917,  931,  935,  938,
--
-       948,  956,  943,  953,  951,  958,  960,  962,  966,  963,
-       969,  970,  971,  972,  980,  977,  978,  979,  983,  985,
-       986,  989,  991,  992,  994,  996,  998,  997, 1003, 1007,
-      1005, 1013,  846, 6063, 1015, 1008, 1017, 1018, 1019, 1023,
-      1021, 1020, 6063, 1024, 1030, 1022, 1037, 1034, 1039, 1046,
-      1035, 1045, 1052, 1047, 1048, 1060, 1038, 1059, 1070, 1057,
-      1067, 1065, 1068, 1069, 1074, 1066, 1075, 1076, 1077, 1078,
-      1097, 6063, 1082, 1084, 1086, 1085, 1093, 1106, 1115, 1107,
-      1095, 1112, 1118, 1114, 1121, 1126, 1125, 1130, 1131, 1133,
-      1134, 1136, 1140, 1138, 1141, 1139, 1142, 1145, 1143, 1144,
 -      945,  941,  943,  944,  947,  954,  949,  950,  955,  967,
 -      951,  957,  959,  958,  968,  976,  977,  980,  982,  969,
 -      985,  986,  987,  989,  992,  993,  997,  995, 1008,  990,
 -     1009, 1021, 1016, 1017, 1020, 1019, 1025, 1026, 1027, 1029,
 -     1032, 1033, 1034, 1035, 1045, 1040, 1041, 1043, 1048, 1049,
 -     1050, 1055, 1052, 1057, 1058, 1060, 1061, 1062, 1068, 1066,
 -     1073, 1076, 1078, 6437, 1079, 6437, 1081, 1082, 1083, 1084,
 -     1085, 6437, 1087, 1088, 1089, 1096, 1099, 1086, 1114, 1098,
 -     1101, 1111, 1113, 1112, 1117, 1124, 1120, 1125, 1127, 1123,
 -     1129, 1130, 1133, 1131, 1136, 1138, 1139, 1142, 1143, 1146,
--
-      1149, 6063, 1156, 1163, 1170, 1157, 1166, 1168, 1171, 1173,
-      1083, 1172, 1177, 1178, 1174, 1184, 1192, 1179, 1195, 1193,
-      1194, 1196, 1198, 1199, 1200, 1202, 1201, 1215, 1206, 1208,
-      1223, 1226, 1225, 1228, 1235, 1212, 1231, 1232, 1230, 1236,
-      1238, 1240, 1216, 1242, 1243, 1252, 1250, 1248, 1251, 1253,
-      1263, 1255, 1258, 1259, 1264, 1268, 1265, 1270, 1274, 1275,
-      1276, 1277, 6063, 1284, 1285, 1288, 1289, 1295, 1296, 1297,
-      1287, 1298, 1301, 1304, 1305, 1306, 1312, 1309, 1313, 1307,
-      1319, 1321, 1320, 1324, 1322, 1337, 1336, 1338, 1327, 1340,
-      1341, 1329, 1350, 1342, 1355, 1353, 1352, 1364, 1359, 1360,
 -     1163, 6437, 1147, 1150, 1151, 1149, 1156, 1157, 1175, 1166,
 -     1173, 1174, 1176, 1192, 1187, 1188, 1191, 1195, 1196, 1198,
 -     1200, 1205, 1207, 1148, 1208, 1201, 1209, 1210, 1203, 1211,
 -     1213, 1221, 6437, 1217, 1229, 1238, 1224, 1219, 1235, 1237,
 -     1240, 1239, 1241, 1243, 1242, 1246, 1250, 1248, 1259, 1249,
 -     1266, 1252, 1262, 1263, 1267, 1268, 1269, 1271, 1275, 1284,
 -     1276, 1286, 1293, 1294, 1296, 1298, 1305, 1307, 1279, 1302,
 -     1308, 1304, 1303, 1310, 1312, 1316, 1313, 1319, 1320, 1323,
 -     1325, 1326, 1327, 1328, 1330, 1333, 1334, 1335, 1337, 1339,
 -     1347, 1345, 1343, 1358, 1346, 1351, 1349, 1356, 1360, 1363,
--
-      1361, 1368, 1351, 1365, 1371, 1367, 1377, 1375, 1383, 1385,
-      1384, 1388, 1395, 1390, 1392, 1397, 1400, 1402, 1398, 1403,
-      1405, 1406, 1407, 1414, 1409, 1411, 1415, 1418, 1410, 1412,
-      1422, 1424, 1432, 1429, 1435, 1436, 1437, 1438, 1440, 1441,
-      1444, 1445, 1446, 1452, 1448, 1450, 1451, 1460, 1453, 1468,
-      1459, 1461, 1469, 1472, 1476, 1477, 1478, 1485, 1474, 1486,
-      1487, 1488, 1489, 1491, 1494, 1497, 1501, 1495, 1504, 1506,
-      1508, 1507, 1511, 1514, 1517, 1518, 6063, 1512, 1525, 1520,
-      1526, 1524, 1529, 1532, 1539, 1534, 1537, 1535, 1538, 1541,
-      1564, 6063, 1543, 6063, 6063, 1545, 6063, 6063, 1546, 1551,
 -     1362, 1371, 6437, 1379, 1374, 1375, 1377, 1380, 1384, 1388,
 -     1382, 1389,  782, 1391, 1390, 1392, 1397, 1399, 1394, 1400,
 -     1401, 1402, 1411, 1409, 1417, 1421, 1422, 1423, 1406, 1426,
 -     1433, 1429, 1436, 1432, 1431, 1437, 1444, 1439, 1441, 1445,
 -     1453, 1448, 1446, 1457, 1449, 1458, 1274, 1460, 1472, 1461,
 -     1470, 1477, 1479, 1468, 1481, 1482, 1484, 1474, 1485, 1487,
 -     1488, 1489, 1496, 1491, 1497, 1498, 1499, 1494, 1500, 1504,
 -     1502, 1521, 1508, 1511, 1510, 1518, 1520, 1525, 1526, 1527,
 -     1528, 1530, 1531, 1534, 1532, 1535, 1538, 1540, 1544, 1550,
 -     1551, 1541, 1553, 1554, 1558, 1561, 1562, 1563, 1570, 1560,
--
-      1549, 1548, 1559, 1566, 1568, 1556, 1571, 1570, 1578, 1591,
-      1575, 1581, 1582, 1587, 1594, 1589, 1599, 1604, 1596, 1607,
-      1613, 1614, 1615, 1622, 1623, 1616, 1619, 1626, 1624, 1627,
-      1629, 1631, 1633, 1635, 1639, 1634, 1641, 1636, 1651, 1642,
-      1655, 1662, 6063, 1659, 1663, 1666, 1665, 1673, 1668, 1669,
-      1672, 1677, 1679, 1674, 1681, 1683, 1643, 1684, 1685, 1686,
-      1690, 1687, 1692, 1697, 1693, 6063, 1694, 1695, 1577, 1706,
-      1698, 1710, 1709, 1708, 1715, 1716, 1717, 1724, 1719, 1721,
-      1726, 1728, 1727, 1731, 6063, 1733, 1739, 1729, 1741, 1732,
-      1743, 1744, 1747, 1748, 1749, 1752, 1755, 1754, 1757, 1762,
 -     1573, 1574, 1571, 1577, 1576, 1579, 1587, 1589, 1581, 1582,
 -     1592, 1594, 1596, 1598, 1600, 1603, 1599, 1605, 6437, 1606,
 -     1616, 1611, 1615, 1612, 1613, 1618, 1626, 1621, 1623, 1622,
 -     1627, 1628, 1653, 6437, 1632, 6437, 6437, 1633, 6437, 6437,
 -     1634, 1635, 6437, 1639, 1637, 1644, 1657, 1663, 1666, 1659,
 -     1651, 1642, 1654, 1677, 1678, 1676, 1668, 1683, 1684, 1686,
 -     1687, 1693, 1692, 1694, 1695, 1699, 1706, 1708, 1703, 1712,
 -     1713, 1716, 1714, 1721, 1723, 1726, 1729, 1722, 1730, 1732,
 -     1733, 1735, 1737, 1738, 1740, 1742, 1743, 1741, 1746, 1747,
 -     1757, 1760, 1762, 1772, 6437, 1763, 1770, 1773, 1774, 1781,
--
-      1761, 1765, 1760, 1766, 1767, 1771, 1778, 1782, 1774, 1784,
-      1786, 1787, 1788, 1789, 1790, 1792, 1797, 1796, 1804, 1799,
-      1807, 1820, 1813, 1802, 1803, 1800, 1816, 1824, 1828, 1826,
-      1818, 1827, 1838, 1830, 1834, 1831, 1839, 1842, 1843, 1847,
-      1845, 1835, 1848, 1854, 1852, 6063, 1853, 1855, 6063, 1856,
-      1860, 1882, 1861, 1863, 1864, 1866, 1870, 1874, 1873, 1872,
-      1875, 1883, 1890, 1892, 1896, 1894, 1899, 1901, 1902, 1905,
-      1908, 1910, 1911, 1921, 1922, 1926, 1923, 1933, 1920, 1928,
-      1930, 1949, 1931, 1932, 1938, 1934, 1935, 1939, 1945, 1940,
-      1941, 1951, 1959, 1961, 6063, 1962, 1964, 1966, 1971, 1978,
 -     1777, 1776, 1778, 1784, 1788, 1785, 1789, 1790, 1791, 1792,
 -     1797, 1794, 1800, 1802, 1805, 1804, 6437, 1806, 1809, 1810,
 -     1812, 1813, 1816, 1820, 1814, 1821, 1824, 1826, 1836, 1831,
 -     1827, 1829, 1838, 1837, 1840, 6437, 1748, 1845, 1841, 1849,
 -     1850, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860, 1864,
 -     1874, 1870, 1875, 1865, 1880, 1882, 1885, 1886, 1890, 1892,
 -     1893, 1895, 1896, 1897, 1898, 1900, 1901, 1909, 1911, 1908,
 -     1913, 1910, 1906, 1929, 1931, 1914, 1916, 1927, 1928, 1930,
 -     1936, 1938, 1940, 1934, 1941, 1948, 1944, 1946, 1949, 1950,
 -     1959, 1956, 1957, 1962, 1960, 1965, 1968, 1969, 6437, 1966,
--
-      1974, 1973, 6063, 1977, 1980, 1981, 1982, 1987, 1983, 1988,
-      1990, 1991, 1994, 1995, 1999, 2000, 1998, 2001, 2012, 6063,
-      2003, 6063, 2011, 2013, 2015, 2016, 2017, 2021, 2022, 2023,
-      6063, 6063, 2024, 2031, 2037, 2026, 2032, 2039, 2042, 6063,
-      2043, 2050, 2047, 2053, 2046, 2045, 2052, 2057, 2058, 2061,
-      2069, 2062, 2070, 2066, 2067, 2073, 6063, 2074, 2078, 2079,
-      2080, 2086, 2083, 2089, 2091, 6063, 2090, 2092, 2095, 2104,
-      2106, 2100, 2093, 2107, 2112, 2097, 2114, 2116, 2117, 2118,
-      2125, 2127, 2123, 2124, 2130, 2132, 6063, 2122, 2134, 2143,
-      2139, 2142, 2138, 2146, 2145, 2148, 2149, 2150, 2153, 2156,
 -     1970, 6437, 1974, 1972, 1975, 1997, 1976, 1979, 1978, 1981,
 -     1986, 1991, 1989, 1998, 1994, 2001, 2020, 2007, 2003, 2005,
 -     2010, 2022, 2023, 2024, 2026, 2028, 2030, 2032, 2033, 2031,
 -     2048, 2051, 2047, 2043, 2056, 2052, 2034, 2054, 2075, 2055,
 -     2057, 2059, 2058, 2060, 2063, 2069, 2064, 2065, 2066, 2071,
 -     2086, 2088, 2079, 2082, 2090, 2092, 2097, 2098, 2099, 6437,
 -     2109, 2104, 2105, 2108, 2112, 2117, 2115, 2114, 6437, 2118,
 -     2121, 2116, 2128, 2126, 2123, 2129, 2131, 2136, 2137, 2140,
 -     2138, 2139, 2143, 2141, 2159, 6437, 2144, 6437, 2154, 2145,
 -     2155, 2156, 2146, 2161, 2162, 2166, 6437, 6437, 2172, 2169,
--
-      2157, 2164, 2165, 2160, 2162, 2170, 2166, 2172, 2177, 2178,
-      2173, 2179, 2180, 2181, 6063, 2182, 2184,  124, 2190, 2187,
-      2193, 2192, 2194, 2196, 2198, 2213, 2214, 2210, 2209, 2212,
-      2216, 2219, 2220, 2221, 2222, 2224, 2223, 2226, 6063, 2228,
-      2229, 2232, 2234, 2240, 2235, 2237, 6063, 2247, 2239, 2258,
-      2252, 2254, 2260, 2261, 2264, 2262, 2265, 2266, 2267, 2273,
-      2269, 6063, 2275, 2276, 2278, 2277, 2286, 2289, 2287, 2279,
-      2290, 2292, 2295, 2298, 2299, 2300, 2301, 2302, 2303, 2304,
-      2309, 2308, 2314, 2316, 6063, 2332, 2315, 2319, 2317, 2330,
-      2331, 2339, 2322, 2336, 2340, 2344, 2354, 2342, 2347, 2352,
 -     2179, 2181, 2173, 6437, 2182, 2189, 6437, 2190, 2184, 2185,
 -     2192, 2193, 2195, 2197, 2196, 2206, 2201, 2208, 2203, 2214,
 -     2215, 6437, 2204, 2205, 2217, 2220, 2216, 2223, 2230, 2224,
 -     6437, 2227, 2231, 2234, 2243, 2239, 2241, 2242, 2245, 2251,
 -     2244, 2246, 2249, 2253, 2254, 2261, 2263, 2259, 2266, 2268,
 -     2276, 6437, 2272, 2258, 2280, 2277, 2284, 2279, 2285, 2275,
 -     2281, 2286, 2292, 2287, 2291, 2297, 2299, 2301, 2308, 2309,
 -     2304, 2305, 2307, 2312, 2313, 2314, 2321, 2316, 2323, 2318,
 -     2322, 6437, 2324, 2329, 2325,  171, 2330, 2333, 2338, 2335,
 -     2342, 2353, 2336, 2355, 2360, 2341, 2358, 1867, 2359, 2361,
--
-      2348, 2360, 2357, 2364, 2369, 2370, 2371, 2361, 2378, 2380,
-      2368, 2376, 2381, 2384, 2386, 2387, 2389, 2398, 2399, 2395,
-      2402, 2396, 2403, 2397, 2417, 2422, 2413, 6063, 2421, 2415,
-      2409, 2423, 2434, 2426, 2429, 2431, 2438, 2437, 2439, 2440,
-      2441, 2448, 2443, 2445, 2447, 2449, 2450, 2456, 2457, 2460,
-      2462, 2469, 2463, 2471, 2472, 6063, 2473, 2477, 2479, 2480,
-      2484, 2466, 2488, 2490, 2492, 2481, 2493, 2495, 2496, 2500,
-      2499, 2501, 2504, 2505, 2508, 6063, 2509, 2510, 2515, 2517,
-      2521, 2518, 2527, 2530, 2528, 2524, 2534, 2536, 2535, 6063,
-      2544, 2545, 2541, 2553, 2549, 2537, 2550, 2552, 2554, 6063,
 -     2362, 2365, 2366, 2367, 2339, 2368, 2369, 6437, 2372, 2373,
 -     2374, 2378, 2379, 2377, 2384, 6437, 2390, 2395, 2399, 2402,
 -     2405, 2406, 2407, 2408, 2391, 2413, 2411, 2414, 2417, 2418,
 -     2421, 2415, 2419, 6437, 2425, 2431, 2432, 2428, 2434, 2440,
 -     2441, 2430, 2442, 2443, 2446, 2449, 2447, 2451, 2452, 2453,
 -     2455, 2459, 2460, 2456, 2461, 2468, 2467, 2466, 2472, 2469,
 -     2470, 2478, 2479, 6437, 2486, 2483, 2487, 2489, 2490, 2491,
 -     2500, 2492, 2509, 2494, 2502, 2506, 2511, 2520, 2514, 2515,
 -     2523, 2530, 2532, 2526, 2540, 2536, 2542, 2544, 2538, 2548,
 -     2550, 2546, 2551, 2552, 2554, 2557, 2556, 2558, 2571, 2573,
--
-      2555, 2557, 2565, 2566, 2562, 6063, 2569, 2564, 2567, 2570,
-      2571, 2572, 2576, 2573, 2579, 2581, 2583, 2592, 2586, 2589,
-      6063, 2595, 2602, 2597, 2598, 2600, 2603, 2605, 2606, 2611,
-      2610, 2613, 6063, 2628, 2625, 2623, 2632, 2618, 2630, 2633,
-      2635, 2636, 2638, 2639, 6063, 2641, 2642, 2644, 2645, 2648,
-      2647, 2649, 2663, 2658, 2650, 2653, 2661, 2664, 2666, 2672,
-      2671, 2675, 2673, 2674, 2681, 2684, 2686, 2687, 2688, 2695,
-      2696, 2697, 2700, 6063, 2703, 2705, 2704, 2694, 2706, 2707,
-      2710, 2714, 2711, 2716, 2718, 2719, 2721, 2735, 2738, 2725,
-      2726, 2728, 2730, 2739, 2736, 2742, 2743, 2744, 2752, 2750,
 -     2563, 2518, 2572, 2577, 2582, 2564, 6437, 2583, 2584, 2585,
 -     2589, 2597, 2593, 2594, 2595, 2601, 2604, 2605, 2606, 2607,
 -     2614, 2609, 2611, 2612, 2617, 2618, 2620, 2623, 2627, 2628,
 -     2631, 2634, 2636, 2380, 6437, 2637, 2638, 2639, 2642, 2645,
 -     2646, 2648, 2653, 2650, 2656, 2657, 2660, 2661, 2662, 2663,
 -     2664, 2667, 2668, 2671, 6437, 2672, 2673, 2674, 2680, 2682,
 -     2684, 2685, 2693, 2686, 2697, 2695, 2699, 2701, 2702, 2703,
 -     6437, 2710, 2711, 2708, 2712, 2714, 2715, 2718, 2720, 2721,
 -     6437, 2722, 2724, 2725, 2732, 2733, 2730, 6437, 2745, 2735,
 -     2731, 2738, 2728, 2742, 2743, 2746, 2750, 2752, 2753, 2754,
--
-      2751, 2759, 2754, 2758, 2766, 2756, 2757, 2765, 2767, 2768,
-      2769, 2770, 2771, 2778, 2774, 2779, 2780, 2788, 2795, 2791,
-      2797, 2789, 2799, 2800, 2803, 6063, 2806, 2807, 2804, 2810,
-      2811, 2815, 2816, 2823, 2818, 2825, 2826, 2828, 2835, 2820,
-      2829, 2834, 2842, 2844, 6063, 2837, 6063, 2841, 2845, 2848,
-      2852, 2851, 6063, 2857, 6063, 2858, 2860, 2853, 2863, 6063,
-      2864, 2865, 2866, 2872, 2868, 2870, 2874, 2876, 2878, 2886,
-      2877, 2882, 2880, 2888, 2884, 2890, 2894, 2896, 2901, 2902,
-      2903, 2909, 2904, 2907, 2912, 2913, 2914, 6063, 2921, 2915,
-      2917, 2922, 2924, 2925, 2927, 2929, 2935, 2936, 2930, 2940,
 -     2763, 2757, 2760, 6437, 2764, 2773, 2766, 2769, 2768, 2774,
 -     2775, 2779, 2781, 2782, 2785, 2792, 6437, 2799, 2796, 2798,
 -     2808, 2795, 2801, 2803, 2805, 2811, 2804, 2812, 2813, 2815,
 -     6437, 2817, 2819, 2820, 2823, 2825, 2826, 2828, 2836, 2833,
 -     2834, 2840, 2841, 2842, 2839, 2843, 2852, 2846, 2849, 2855,
 -     2860, 2850, 2862, 2863, 2868, 2872, 2876, 2873, 2875, 2878,
 -     2877, 2879, 2880, 2888, 2892, 2895, 2890, 2896, 6437, 2899,
 -     2901, 2894, 2902, 2904, 2907, 2908, 2906, 2909, 2911, 2914,
 -     2912, 2915, 2918, 2925, 2933, 2926, 2934, 2928, 2930, 2936,
 -     2938, 2939, 2940, 2941, 2948, 2950, 2944, 2957, 2952, 2956,
--
-      2937, 2944, 2943, 2953, 2949, 2958, 6063, 2951, 2960, 2954,
-      2961, 6063, 2963, 2962, 2970, 2974, 2964, 2966, 2972, 2976,
-      2980, 2977, 2982, 2985, 2996, 2992, 2995, 6063, 2999, 3000,
-      2993, 3001, 3012, 3010, 3016, 3019, 3013, 3021, 3009, 3011,
-      3023, 3024, 3025, 3033, 3036, 3032, 3040, 3031, 3038, 3046,
-      3047, 3035, 3039, 3041, 3048, 3049, 3055, 3051, 3056, 3057,
-      3058, 3060, 3065, 6063, 3069, 3070, 3066, 3072, 3076, 3075,
-      3079, 3080, 3083, 3081, 3087, 3088, 3085, 6063, 3084, 6063,
-      3082, 3102, 3109, 3111, 3106, 3095, 3112, 3117, 3114, 3119,
-      3120, 3121, 3122, 3123, 3124, 3128, 3131, 3135, 3136, 3146,
 -     2967, 2953, 2954, 2963, 2964, 2965, 2966, 2969, 2974, 2977,
 -     2976, 2986, 2990, 2991, 2993, 2968, 2992, 2994, 2998, 6437,
 -     2995, 3003, 2999, 3002, 3005, 3010, 3006, 3018, 3015, 3016,
 -     3019, 3023, 3028, 3020, 3025, 3026, 3037, 3034, 6437, 3035,
 -     6437, 3036, 3039, 3041, 3051, 3038, 6437, 3048, 6437, 3049,
 -     3055, 3050, 3056, 6437, 3059, 3060, 3061, 3063, 3067, 3065,
 -     3068, 3069, 3071, 3075, 3079, 3073, 3077, 3078, 3081, 3083,
 -     3090, 3089, 3093, 3094, 3096, 3102, 3097, 3099, 3105, 3108,
 -     3110, 3111, 3113, 6437, 3116, 3112, 3120, 3121, 3122, 3123,
 -     3124, 3125, 3129, 3131, 3132, 3140, 3136, 3143, 3133, 3144,
--
-      3129, 3137, 3134, 3142, 3132, 3159, 3155, 3151, 6063, 6063,
-      3154, 3157, 3161, 3164, 3165, 3166, 3167, 3169, 3172, 3170,
-      3173, 3183, 3190, 6063, 3185, 3176, 3186, 3187, 3202, 3193,
-      3198, 3206, 3204, 3213, 3210, 6063, 3195, 3203, 3218, 3214,
-      3219, 3226, 6063, 3221, 6063, 3205, 3223, 3225, 3230, 3231,
-      3232, 3234, 3235, 3237, 3246, 3247, 3238, 3243, 3250, 3252,
-      3253, 3260, 3255, 3256, 3257, 6063, 3262, 3259, 3265, 3273,
-      3276, 3280, 3274, 3264, 6063, 3267, 3289, 3284, 3286, 3290,
-      3292, 3293, 3294, 3296, 3299, 3295, 3297, 3306, 3304, 3302,
-      3312, 3322, 3310, 3324, 6063, 3325, 3319, 3332, 3334, 3315,
 -     3150, 3160, 3147, 3162, 6437, 3157, 3159, 3161, 3163, 6437,
 -     3165, 3164, 3172, 3174, 3168, 3166, 3176, 3178, 3185, 3177,
 -     3187, 3183, 3190, 3198, 3189, 3197, 6437, 3201, 3202, 3179,
 -     3206, 3212, 3219, 3220, 3217, 3223, 3225, 3221, 3227, 3205,
 -     3228, 3229, 3230, 3231, 3239, 3241, 3237, 3244, 3236, 3240,
 -     3252, 3249, 3243, 3247, 3253, 3255, 3256, 3257, 3258, 3260,
 -     3262, 3263, 3264, 6437, 3268, 3272, 3274, 3281, 3277, 3278,
 -     3279, 3282, 3286, 6437, 3289, 3290, 3293, 3291, 3300, 3302,
 -     3292, 3295, 3304, 3305, 3308, 3309, 3312, 3311, 6437, 3313,
 -     6437, 3315, 3326, 3331, 3335, 3320, 3318, 3338, 3343, 3337,
--
-      3329, 3335, 3336, 3337, 3339, 3340, 3341, 3342, 3343, 3345,
-      3344, 3352, 3347, 3363, 3348, 3350, 3370, 3372, 3362, 3354,
-      3364, 3371, 3376, 3379, 3381, 3385, 3387, 3377, 3389, 3398,
-      3390, 3392, 3401, 3402, 3409, 3404, 6063, 3414, 3394, 3416,
-      3396, 3415, 3420, 3422, 3430, 3425, 3426, 3427, 3434, 3429,
-      6063, 3441, 3417, 3443, 2983, 3433, 3442, 3450, 3432, 3451,
-      3454, 3455, 3456, 3458, 3460, 3461, 3464, 3465, 6063, 6063,
-      3467, 3468, 3470, 6063, 3471, 3469, 3483, 3474, 3475, 3476,
-      3487, 3486, 3484, 3488, 3492, 3497, 6063, 3498, 3505, 3500,
-      3501, 3512, 3502, 6063, 3507, 3515, 3517, 3514, 3521, 3511,
 -     3325, 3346, 3347, 3339, 3345, 3348, 3349, 3353, 3354, 3366,
 -     3356, 3359, 3364, 3367, 3369, 3370, 3372, 6437, 6437, 3371,
 -     3373, 3374, 3376, 3378, 3388, 3380, 3389, 3394, 3382, 3390,
 -     3397, 3408, 6437, 3403, 3404, 3405, 3409, 3412, 3410, 3421,
 -     3422, 3413, 3429, 3424, 6437, 3425, 3426, 3437, 3433, 3432,
 -     3442, 6437, 3439, 6437, 3434, 3438, 3443, 3449, 3448, 3450,
 -     3452, 3454, 3456, 3465, 3470, 3460, 3472, 3462, 3467, 3469,
 -     3475, 3476, 3484, 3479, 3480, 3481, 6437, 3487, 3483, 3490,
 -     3492, 3493, 3495, 3502, 3491, 6437, 3504, 3505, 3507, 3508,
 -     3509, 3510, 3513, 3517, 3515, 3518, 3523, 6437, 3519, 3524,
--
-      3522, 3523, 3524, 3525, 3528, 3532, 3540, 3542, 3529, 3537,
-      3544, 6063, 3538, 3539, 3545, 3547, 3551, 3553, 6063, 3555,
-      3556, 3557, 3562, 3566, 3569, 3567, 3576, 3559, 3572, 3577,
-      3579, 3581, 3582, 3591, 3588, 3587, 3590, 3593, 3595, 6063,
-      3597, 3598, 3600, 3605, 3608, 3616, 3617, 3618, 3613, 3619,
-      3621, 3628, 6063, 3623, 3625, 3626, 3627, 3636, 3631, 3640,
-      3632, 6063, 3637, 3641, 3642, 6063, 3643, 3650, 3655, 3657,
-      3645, 3664, 3661, 3663, 3666, 3662, 6063, 3669, 6063, 3670,
-      3675, 3676, 6063, 3678, 3679, 3680, 3682, 3683, 3684, 3688,
-      3695, 3686, 3696, 3697, 3698, 3699, 3702, 3710, 3700, 3711,
 -     3532, 3525, 3528, 3533, 3541, 3542, 3548, 6437, 3549, 3534,
 -     3556, 3552, 3553, 3555, 3558, 3559, 3560, 3562, 3563, 3564,
 -     3566, 3567, 3572, 3568, 3570, 3577, 3573, 3585, 3587, 3574,
 -     3595, 3602, 3588, 6437, 3591, 3598, 3600, 3601, 3603, 3604,
 -     3606, 3612, 3614, 3608, 3623, 3624, 3615, 3619, 3627, 3629,
 -     3637, 3632, 6437, 3644, 3630, 3645, 3634, 3643, 3642, 3647,
 -     3649, 3651, 3653, 3652, 3655, 3656, 3658, 3670, 3662, 3665,
 -     3661, 3666, 3677, 3669, 6437, 3684, 3680, 3672, 3688, 3682,
 -     3691, 3698, 3695, 3696, 3697, 3700, 3701, 3702, 3705, 3707,
 -     3708, 3711, 3712, 6437, 6437, 3714, 3715, 3717, 6437, 3719,
--
-      3701, 3708, 6063, 3712, 3709, 3714, 3725, 3721, 3716, 3729,
-      3731, 3732, 6063, 6063, 3734, 6063, 3735, 3737, 3739, 6063,
-      3741, 3740, 3748, 3743, 3746, 3749, 3758, 3744, 6063, 3759,
-      3761, 3762, 3764, 3765, 3767, 3768, 3770, 3769, 3772, 3771,
-      6063, 3774, 3776, 3784, 3775, 3778, 3789, 3791, 3785, 6063,
-      3797, 3799, 3800, 3803, 3804, 6063, 3806, 6063, 3807, 3810,
-      3809, 3812, 3813, 6063, 3820, 3816, 3824, 3817, 3826, 3827,
-      3828, 3834, 3835, 3836, 3844, 3837, 3841, 3840, 3851, 3847,
-      6063, 3846, 3848, 3858, 3859, 3849, 3861, 3869, 3866, 3868,
-      3867, 3872, 3874, 3875, 3876, 3878, 3882, 3884, 3883, 6063,
 -     3720, 3730, 3722, 3723, 3731, 3735, 3734, 3733, 3736, 3738,
 -     3739, 6437, 3745, 3753, 3748, 3749, 3757, 3758, 3761, 3762,
 -     3754, 3765, 3769, 3766, 3770, 3771, 3772, 3774, 3782, 3783,
 -     3779, 3780, 3786, 6437, 3781, 3787, 3791, 3793, 3784, 3797,
 -     6437, 3794, 3800, 3802, 3805, 3811, 3815, 3807, 3817, 3820,
 -     3821, 3824, 3822, 3825, 3826, 3834, 3829, 3831, 3833, 3837,
 -     3847, 6437, 3830, 3842, 3840, 3849, 6437, 3855, 3862, 3863,
 -     6437, 3865, 3850, 3864, 3866, 3873, 6437, 3868, 3870, 3871,
 -     3852, 3881, 3872, 3885, 3882, 3884, 6437, 3886, 3888, 3890,
 -     6437, 3889, 3899, 3902, 3904, 3891, 3912, 3908, 3905, 3909,
--
-      3886, 3890, 3893, 3900, 3896, 3897, 6063, 3903, 3902, 3906,
-      6063, 3904, 3908, 3910, 3913, 3916, 3918, 3921, 3924, 3920,
-      6063, 3927, 3929, 3922, 3925, 3926, 3923, 6063, 6063, 3940,
-      6063, 3943, 3933, 3945, 3944, 3947, 3948, 3951, 3952, 3954,
-      3955, 3963, 3964, 3958, 3976, 3979, 3983, 3965, 3978, 3980,
-      6063, 6063, 3982, 3984, 3987, 3989, 3990, 3992, 3993, 4001,
-      3997, 4005, 4008, 3998, 4015, 6063, 4012, 3994, 4013, 6063,
-      4018, 4019, 4021, 4020, 4022, 4023, 4026, 4025, 4028, 4029,
-      4031, 4032, 4034, 4047, 4037, 4038, 4039, 4048, 4046, 4054,
-      4056, 6063, 4057, 4060, 4061, 4062, 4040, 4067, 4066, 4069,
 -     3913, 6437, 3916, 6437, 3917, 3918, 3923, 6437, 3919, 3925,
 -     3927, 3929, 3926, 3933, 3934, 3940, 3942, 3936, 3944, 3945,
 -     3946, 3893, 3947, 3954, 3949, 3950, 3951, 3957, 6437, 3960,
 -     3955, 3966, 3958, 3976, 3970, 3962, 3964, 3981, 3980, 6437,
 -     6437, 3983, 6437, 3984, 3988, 3989, 6437, 3991, 3994, 3996,
 -     3992, 3997, 3999, 4003, 4007, 6437, 4011, 4012, 6437, 3995,
 -     4014, 4022, 4017, 4019, 4023, 4025, 4021, 4027, 4028, 4032,
 -     4031, 4033, 4029, 4034, 4047, 6437, 4036, 4035, 4038, 4052,
 -     4039, 4042, 4060, 4054, 4061, 6437, 4064, 4065, 4068, 4070,
 -     4071, 6437, 4073, 6437, 4072, 4074, 4076, 4077, 4080, 6437,
--
-      4068, 6063, 4073, 4071, 4074, 4078, 4076, 4082, 4083, 4093,
-      4097, 4094, 4098, 4099, 4101, 4103, 4107, 6063, 4114, 4104,
-      4105, 4106, 4116, 4121, 4108, 4123, 4117, 4129, 4126, 4131,
-      4133, 4138, 4130, 4134, 4139, 4140, 6063, 4142, 4146, 4148,
-      4150, 4151, 4152, 4154, 4155, 4161, 4162, 4163, 4164, 6063,
-      4165, 4168, 4173, 6063, 4170, 4174, 4176, 4175, 4183, 4177,
-      4184, 4185, 4186, 6063, 4193, 4188, 4195, 4198, 4199, 4203,
-      4194, 4204, 4206, 4207, 4210, 6063, 4211, 4214, 4222, 4216,
-      4218, 4224, 4229, 4225, 6063, 4232, 4233, 4235, 4242, 4226,
-      4246, 4239, 4243, 4249, 4252, 4253, 4254, 4255, 4257, 4258,
 -     4085, 4084, 4092, 4089, 4095, 4094, 4097, 4101, 4093, 4103,
 -     4110, 4107, 4105, 4108, 6437, 4109, 4113, 4120, 4121, 4114,
 -     4117, 4130, 4126, 4132, 4125, 4133, 4136, 4138, 4139, 4144,
 -     4142, 4147, 4146, 6437, 4148, 4153, 4154, 4162, 4158, 4159,
 -     6437, 4165, 4163, 4169, 6437, 4166, 4170, 4172, 4183, 4173,
 -     4176, 4180, 4178, 4184, 6437, 4185, 4186, 4187, 4188, 4195,
 -     4201, 6437, 6437, 4202, 6437, 4203, 4189, 4204, 4205, 4206,
 -     4211, 4214, 4215, 4217, 4218, 4222, 4225, 4227, 4228, 4235,
 -     4238, 4239, 4241, 4243, 4236, 6437, 6437, 4246, 4247, 4249,
 -     4253, 4254, 4257, 4242, 4265, 4261, 4263, 4268, 4270, 4277,
--
-      4259, 4268, 4275, 4272, 6063, 4260, 6063, 4261, 4277, 4285,
-      4281, 4271, 6063, 4283, 4284, 4287, 4288, 4289, 6063, 4292,
-      4294, 4296, 4295, 6063, 4302, 4301, 4297, 4308, 4313, 4314,
-      6063, 4319, 4321, 4322, 4329, 4331, 4333, 4316, 4334, 4326,
-      4328, 4336, 4339, 4343, 4344, 4341, 6063, 4345, 4347, 4352,
-      4348, 4354, 4356, 4357, 4360, 4362, 6063, 4364, 4365, 4366,
-      4367, 4368, 4370, 4373, 4377, 4374, 4379, 6063, 4382, 4383,
-      4393, 4384, 4389, 6063, 6063, 4394, 4395, 4399, 4400, 4403,
-      6063, 4401, 4412, 4407, 4410, 4411, 6063, 6063, 4414, 6063,
-      4415, 6063, 4416, 4418, 6063, 6063, 4417, 4421, 4423, 4424,
 -     6437, 4272, 4274, 4278, 4279, 6437, 4280, 4281, 4283, 4285,
 -     4284, 4290, 4287, 4291, 4288, 4292, 4296, 4297, 4298, 4302,
 -     4304, 4309, 4310, 4312, 4315, 4316, 4317, 4319, 6437, 4324,
 -     4321, 4323, 4325, 4326, 4328, 4333, 4334, 4336, 6437, 4337,
 -     6437, 4338, 4339, 4343, 4356, 4345, 4355, 4359, 4361, 4363,
 -     4365, 4366, 4369, 4370, 4376, 4364, 4371, 4380, 4373, 4387,
 -     4389, 4390, 6437, 4391, 4383, 4392, 4393, 4398, 4400, 4394,
 -     4402, 4404, 4407, 4408, 4409, 4411, 4416, 4417, 4418, 4419,
 -     4420, 6437, 4421, 4425, 4428, 4430, 4432, 4434, 4435, 4436,
 -     4442, 4443, 4444, 4445, 4449, 6437, 4446, 4451, 4453, 4454,
--
-      4432, 6063, 4436, 6063, 4443, 4438, 4425, 4427, 4440, 6063,
-      4442, 4448, 4444, 4446, 4453, 6063, 4450, 4460, 4455, 4457,
-      6063, 4463, 4464, 4465, 4468, 6063, 4469, 4475, 4466, 4476,
-      4478, 4477, 4479, 4483, 4485, 4480, 4488, 4489, 4490, 4501,
-      4503, 4505, 4507, 4496, 4498, 4510, 4511, 4513, 4517, 4518,
-      4519, 4520, 4522, 4523, 4525, 4527, 3648, 4528, 4531, 4532,
-      4533, 4541, 4534, 4535, 4548, 4543, 4537, 4545, 4549, 4550,
-      4556, 4557, 4551, 4561, 4564, 6063, 4559, 4566, 4567, 4568,
-      4569, 4573, 4575, 4582, 4585, 4586, 6063, 4591, 6063, 4593,
-      4589, 4595, 4596, 6063, 4597, 4598, 4599, 4600, 4601, 4602,
 -     4456, 4457, 4460, 4463, 4467, 6437, 4470, 4461, 4472, 4471,
 -     4473, 4475, 4477, 4483, 4480, 4486, 4487, 6437, 4492, 4494,
 -     4495, 4496, 4497, 4498, 4501, 4502, 6437, 4508, 4509, 4511,
 -     4518, 4515, 4522, 4520, 4524, 4517, 4527, 4530, 4523, 4534,
 -     4535, 4537, 4531, 4547, 4554, 4549, 6437, 4538, 6437, 4550,
 -     4551, 4561, 4556, 4562, 4560, 6437, 4563, 4568, 4570, 4566,
 -     4564, 6437, 4571, 4572, 4574, 4575, 6437, 4590, 4586, 4576,
 -     4585, 4578, 4594, 6437, 4599, 4600, 4601, 4608, 4610, 4605,
 -     4612, 4607, 4615, 4613, 4609, 4617, 4618, 4626, 4624, 4622,
 -     6437, 4628, 4630, 4635, 4637, 4631, 4639, 4629, 4641, 4644,
--
-      4603, 4604, 4608, 4609, 4611, 6063, 4614, 4618, 4619, 4630,
-      6063, 4623, 4634, 4625, 4631, 4635, 4636, 4637, 4638, 4641,
-      4639, 4645, 4647, 4654, 4650, 4652, 4653, 4659, 4660, 4661,
-      4665, 4669, 4663, 4673, 4677, 6063, 4666, 6063, 4674, 4678,
-      4679, 4682, 4684, 4686, 4688, 6063, 6063, 4690, 4692, 4694,
-      4696, 4687, 4699, 4701, 4700, 4704, 6063, 4703, 4709, 4717,
-      4714, 6063, 4719, 4720, 4721, 4723, 6063, 4724, 4726, 4725,
-      4731, 4728, 4733, 4737, 4739, 4738, 4743, 4745, 6063, 6063,
-      6063, 6063, 4749, 4746, 4752, 4753, 4756, 4758, 4761, 4760,
-      4757, 6063, 4763, 6063, 6063, 4771, 4773, 4765, 4775, 4774,
 -     4646, 6437, 4647, 4650, 4651, 4653, 4654, 4655, 4656, 4663,
 -     4660, 4662, 4664, 4665, 4668, 4669, 6437, 4674, 4672, 4676,
 -     4685, 4687, 4689, 6437, 4692, 6437, 4682, 4677, 4694, 4693,
 -     4698, 6437, 6437, 4700, 4708, 4703, 4706, 4707, 6437, 6437,
 -     4710, 6437, 4711, 6437, 4712, 4714, 6437, 6437, 4713, 4717,
 -     4720, 4722, 4724, 6437, 4732, 6437, 4734, 4735, 4721, 4733,
 -     4739, 6437, 4738, 4740, 4742, 6437, 4745, 4753, 4746, 4748,
 -     6437, 4750, 4756, 4751, 4758, 6437, 4760, 4766, 4762, 4768,
 -     4769, 4772, 4771, 4774, 4775, 4779, 4780, 4781, 4782, 4784,
 -     4793, 4795, 4797, 4790, 4798, 4799, 4805, 4807, 4800, 4803,
--
-      4764, 4777, 4781, 6063, 4784, 4785, 4787, 4788, 4794, 4796,
-      4791, 4797, 4800, 4801, 4810, 4806, 4807, 4805, 4809, 4813,
-      4816, 6063, 6063, 4817, 4822, 4823, 4833, 4824, 4831, 4834,
-      4835, 4837, 4838, 4825, 4841, 4843, 4850, 4851, 4848, 4846,
-      6063, 4852, 4856, 6063, 4854, 6063, 4855, 4862, 4861, 4863,
-      4865, 4868, 4869, 4871, 6063, 6063, 4872, 4873, 4875, 4882,
-      4878, 4883, 4884, 4886, 4887, 6063, 4888, 6063, 4889, 4896,
-      4902, 4890, 4904, 4911, 4913, 4917, 4910, 4914, 6063, 4912,
-      4895, 6063, 4926, 4922, 4923, 4924, 4928, 6063, 4929, 4931,
-      4933, 4935, 6063, 4937, 4940, 4941, 6063, 4948, 6063, 4939,
 -     4809, 4810, 4814, 4811, 4818, 4820, 4821, 4822, 4824, 4823,
 -     4825, 4828, 4827, 4836, 4838, 4839, 4840, 4841, 4842, 4843,
 -     4844, 4850, 4851, 4854, 4849, 4853, 6437, 4857, 4859, 4846,
 -     4870, 4860, 4871, 4872, 4879, 4883, 4884, 6437, 4886, 6437,
 -     4888, 4880, 4890, 4891, 4892, 6437, 4893, 4894, 4895, 4896,
 -     4897, 4899, 4900, 4903, 4904, 4908, 4914, 6437, 4921, 4911,
 -     4905, 4909, 4929, 6437, 4924, 4931, 4932, 4934, 4935, 4936,
 -     4937, 4938, 4941, 4939, 4944, 4946, 4940, 4947, 4948, 4962,
 -     4964, 4959, 4949, 4966, 4968, 4969, 4970, 4971, 4972, 4973,
 -     4974, 4980, 4982, 4986, 6437, 4977, 6437, 4988, 4989, 4990,
--
-      4945, 4942, 4957, 6063, 4952, 4960, 6063, 4963, 4965, 4955,
-      4953, 6063, 4967, 6063, 4968, 4970, 4973, 4976, 4971, 4978,
-      4979, 4980, 4981, 4989, 4991, 4993, 6063, 6063, 5000, 4982,
-      4984, 4987, 4996, 5009, 5001, 5006, 5012, 6063, 6063, 5008,
-      6063, 5014, 5015, 6063, 5016, 5017, 5019, 5023, 5021, 5024,
-      5029, 5031, 5032, 5042, 5033, 5035, 5040, 5056, 5038, 5052,
-      5058, 5060, 5062, 5064, 5066, 5067, 5049, 5068, 5025, 5070,
-      5071, 6063, 5074, 5075, 5077, 6063, 5080, 5076, 5085, 5081,
-      6063, 5088, 5089, 5092, 5093, 6063, 5096, 5100, 5103, 5097,
-      5104, 5105, 5109, 5118, 5108, 5110, 5111, 6063, 6063, 6063,
 -     4993, 4994, 4995, 4998, 6437, 6437, 5000, 5001, 5006, 5003,
 -     5007, 5010, 5012, 6437, 5011, 5019, 5022, 5014, 6437, 5024,
 -     5028, 5029, 5031, 6437, 5032, 5033, 5034, 5036, 5037, 5041,
 -     5045, 5043, 5046, 5047, 5054, 6437, 6437, 6437, 6437, 5057,
 -     5051, 5061, 5055, 5063, 5065, 5066, 5070, 5064, 6437, 5072,
 -     6437, 6437, 5077, 5078, 5067, 5080, 5084, 5086, 5087, 5089,
 -     6437, 5088, 5090, 5093, 5091, 5100, 5102, 5108, 5104, 5109,
 -     5094, 5110, 5119, 5115, 5116, 5118, 5121, 5123, 5125, 6437,
 -     6437, 5127, 5130, 5131, 5138, 5136, 5139, 5135, 5148, 5143,
 -     5145, 5146, 5151, 5152, 5153, 5162, 5163, 5154, 5158, 6437,
--
-      5120, 5127, 6063, 5129, 5122, 5113, 5130, 6063, 5131, 5132,
-      6063, 6063, 5133, 5134, 5135, 5145, 6063, 5137, 6063, 5141,
-      6063, 5142, 5146, 5152, 5150, 6063, 5156, 5163, 6063, 5166,
-      5169, 5171, 5172, 5154, 5157, 5173, 6063, 5183, 5175, 5179,
-      5186, 5182, 5187, 5188, 5189, 5196, 5191, 5195, 6063, 5197,
-      5198, 5199, 5205, 5192, 5202, 5209, 6063, 5213, 6063, 5210,
-      5214, 5215, 5221, 5218, 5220, 5224, 5226, 5222, 5236, 5225,
-      6063, 5238, 5241, 6063, 5228, 6063, 5243, 6063, 5245, 5246,
-      5247, 5250, 6063, 5252, 5233, 5256, 5260, 5257, 5258, 6063,
-      5266, 5259, 5264, 5269, 6063, 6063, 5270, 5278, 5271, 5274,
 -     5161, 5164, 5172, 6437, 5165, 6437, 5171, 5173, 5167, 5179,
 -     5180, 5181, 5182, 5184, 6437, 6437, 5186, 5194, 5191, 6437,
 -     6437, 5187, 5195, 5198, 5200, 5196, 5201, 5202, 5207, 5209,
 -     5205, 6437, 5210, 6437, 5212, 5214, 5227, 5213, 5229, 5234,
 -     5236, 5240, 5233, 5216, 6437, 5235, 5237, 6437, 5242, 5231,
 -     5243, 6437, 5247, 5249, 5252, 5254, 6437, 5256, 5257, 5259,
 -     6437, 5263, 6437, 5260, 5265, 5266, 5274, 6437, 5269, 5271,
 -     6437, 5276, 5282, 5283, 5277, 6437, 5279, 6437, 5284, 5288,
 -     5291, 5294, 5285, 5296, 5298, 5299, 5301, 5308, 5306, 5303,
 -     6437, 6437,  135, 5319, 5309, 5310, 5314, 5316, 5326, 5312,
--
-      5282, 5285, 5275, 5287, 5288, 5289, 5291, 5300, 5293, 5292,
-      5297, 5302, 5305, 5309, 6063, 6063, 6063, 5303, 5307, 5319,
-      5321, 5322, 5324, 5314, 6063, 5323, 5326, 5316, 5336, 5329,
-      5334, 6063, 5337, 5338, 5339, 5340, 5342, 5343, 5345, 6063,
-      5351, 5358, 5355, 5352, 5363, 5370, 5372, 5374, 5375, 6063,
-      5377, 6063, 6063, 5348, 6063, 5359, 5361, 5365, 5378, 6063,
-      5385, 5382, 5386, 5388, 5389, 5390, 5392, 5394, 6063, 5401,
-      5396, 5398, 5406, 6063, 6063, 5404, 6063, 5413, 5410, 5400,
-      5424, 5407, 5420, 5422, 5425, 6063, 5423, 5426, 5427, 5429,
-      5431, 6063, 5434, 5433, 5435, 5436, 5439, 5438, 5444, 5445,
 -     5321, 5324, 6437, 6437, 5328, 6437, 5327, 5336, 6437, 5329,
 -     5338, 5342, 5331, 5340, 5344, 5346, 5347, 5351, 5353, 5352,
 -     5356, 5357, 5360, 5365, 5375, 5358, 5372, 5378, 5380, 5382,
 -     5384, 5373, 5386, 5387, 5388, 5390, 5392, 5393, 5394, 5396,
 -     5397, 6437, 5400, 5402, 5405, 5404, 6437, 5410, 5406, 5419,
 -     5415, 6437, 5424, 5412, 5425, 5426, 6437, 5427, 5429, 5432,
 -     5430, 5431, 5443, 5438, 5440, 5444, 6437, 6437, 6437, 5447,
 -     5454, 6437, 5456, 5450, 5433, 5441, 6437, 5457, 5460, 6437,
 -     6437, 5461, 5462, 5463, 5473, 6437, 5465, 6437, 5468, 6437,
 -     5469, 5470, 5478, 5476, 6437, 5482, 5480, 6437, 5491, 5493,
--
-      5448, 6063, 5458, 5440, 5465, 5464, 6063, 5447, 5468, 6063,
-      6063, 5450, 5471, 5472, 6063, 6063, 6063, 5474, 6063, 5478,
-      5482, 5486, 5490, 5485, 6063, 5491, 5492, 5494, 5495, 5497,
-      6063, 6063, 5498, 5499, 5500, 5503, 6063, 6063, 5504, 5507,
-      5506, 5508, 5509, 6063, 5512, 5516, 5520, 5523, 5527, 5528,
-      5531, 5532, 5539, 5540, 5535, 5537, 5542, 5545, 5546, 5547,
-      5549, 5559, 5555, 5557, 5565, 5562, 6063, 6063, 5569, 6063,
-      6063, 5571, 5573, 5575, 5577, 5579, 5581, 5583, 5585, 5586,
-      6063, 5587, 5589, 5590, 5591, 5593, 6063, 5592, 5595, 5600,
-      5597, 5602, 5604, 5601, 5607, 6063, 6063, 5608, 5617, 5598,
 -     5495, 5488, 5496, 5498, 5499, 6437, 5506, 5502, 5503, 5510,
 -     5501, 5511, 5505, 5513, 5512, 5520, 5515, 5522, 6437, 5524,
 -     5527, 5529, 5535, 5525, 5531, 5533, 6437, 5537, 6437, 5539,
 -     6437, 5541, 5542, 5543, 5549, 5545, 5550, 5551, 5560, 5552,
 -     5562, 5556, 5563, 5567, 5564, 6437, 6437, 5573, 5576, 6437,
 -     5570, 6437, 5578, 6437, 5568, 5579, 5580, 5581, 6437, 5588,
 -     5582, 5585, 5590, 6437, 5592, 5597, 5594, 5599, 6437, 6437,
 -     5600, 5607, 5605, 5603, 5615, 5617, 5604, 5619, 5612, 5621,
 -     5606, 5628, 5627, 5629, 5631, 5633, 5634, 5635, 6437, 6437,
 -     6437, 5640, 5639, 5648, 5644, 5647, 5655, 5645, 6437, 5653,
--
-      5618, 5609, 6063, 5622, 5629, 5621, 5628, 5630, 5632, 5631,
-      6063, 5634, 5636, 6063, 6063, 5637, 6063, 6063, 6063, 6063,
-      6063, 6063, 6063, 6063, 6063, 5638, 5639, 6063, 5641, 5656,
-      5658, 5660, 6063, 5644, 5653, 5554, 5646, 5651, 6063, 5648,
-      5661, 5663, 5673, 5664, 5669, 5674, 5676, 5678, 5677, 5680,
-      5682, 5681, 5686, 5683, 5685, 5688, 5689, 6063, 6063, 6063,
-      5692, 5691, 5700, 5701, 5703, 5712, 5715, 5717, 5707, 5709,
-      5718, 5719, 5720, 5722, 5723, 5733, 5728, 5731, 5730, 5732,
-      6063, 5737, 5734, 5739, 5741, 6063, 5744, 6063, 5745, 6063,
-      6063, 5751, 5753, 5748, 5746, 5761, 5766, 5757, 5762, 5764,
 -     5657, 5660, 5654, 5667, 5662, 5669, 6437, 5664, 5666, 5670,
 -     5672, 5675, 5671, 5677, 5678, 6437, 5682, 5689, 5686, 5683,
 -     5694, 5701, 5703, 5705, 5696, 5692, 5712, 5708, 6437, 5711,
 -     6437, 6437, 5698, 6437, 5707, 5714, 5715, 5719, 6437, 5722,
 -     5716, 5723, 5724, 5726, 5728, 6437, 5738, 5731, 5734, 5735,
 -     6437, 6437, 5742, 6437, 5745, 5747, 5746, 5754, 5749, 5750,
 -     5756, 5757, 6437, 5739, 5763, 5764, 5765, 5766, 6437, 5767,
 -     5768, 5770, 5771, 6437, 5774, 5773, 5776, 5778, 5779, 6437,
 -     5780, 5781, 5788, 5795, 6437, 5786, 5802, 5796, 6437, 6437,
 -     5798, 5804, 5807, 6437, 6437, 6437, 5813, 5810, 5808, 5817,
--
-      5767, 5769, 5774, 6063, 5770, 5776, 6063, 5778, 5777, 6063,
-      5779, 5780, 5782, 5784, 5787, 5786, 5788, 5789, 5803, 6063,
-      6063, 5790, 5795, 5798, 5807, 5804, 5814, 5811, 5815, 5816,
-      5818, 5819, 5828, 6063, 5825, 5826, 5830, 6063, 5832, 5827,
-      5833, 5834, 5835, 5843, 5839, 5842, 6063, 5844, 6063, 5848,
-      5850, 5851, 5841, 5849, 5852, 5863, 5861, 5857, 6063, 5867,
-      5871, 5869, 5873, 5875, 5877, 5878, 5879, 5881, 5884, 5890,
-      5887, 5894, 5895, 5891, 5899, 5896, 6063, 5906, 5897, 6063,
-      5903, 5907, 5900, 5909, 5913, 6063, 5918, 5911, 5920, 5921,
-      5924, 5925, 6063, 5927, 5934, 5929, 6063, 5935, 6063, 6063,
 -     6437, 5819, 5823, 5828, 5832, 5831, 6437, 5834, 5822, 5824,
 -     6437, 6437, 5836, 5837, 5839, 5842, 6437, 6437, 5843, 5845,
 -     5846, 5849, 5847, 6437, 5848, 5851, 5853, 5864, 5870, 5859,
 -     5867, 5871, 5879, 5861, 5865, 5876, 5875, 5877, 5881, 5884,
 -     5888, 5895, 5892, 5894, 5900, 5897, 5901, 6437, 6437, 5905,
 -     6437, 5908, 5902, 6437, 6437, 5910, 5914, 5916, 5918, 5920,
 -     5922, 5924, 6437, 5925, 5927, 5928, 5929, 5930, 6437, 5932,
 -     5936, 5931, 5939, 5933, 5942, 5938, 5948, 6437, 6437, 5940,
 -     5954, 5944, 5955, 5949, 6437, 5959, 5966, 5961, 5963, 5964,
 -     5969, 5965, 6437, 5971, 5973, 6437, 6437, 5972, 5974, 6437,
--
-      5937, 5931, 5938, 5944, 5946, 6063, 6063, 6063, 5971, 5978,
-      5985, 5992, 5999,   88, 6006, 6013, 6020, 6027, 6034, 6041,
-      6048, 6055
 -     6437, 5978, 6437, 6437, 6437, 6437, 6437, 6437, 6437, 5985,
 -     6437, 5979, 5991, 5994, 5996, 6437, 5980, 5997, 5998, 5999,
 -     5986, 6437, 5984, 6001, 6005, 6009, 6008, 6013, 6015, 6016,
 -     6018, 6017, 6020, 6022, 6021, 6026, 6024, 6025, 6027, 6031,
 -     6034, 6437, 6437, 6437, 6040, 6041, 6043, 6044, 6048, 6049,
 -     6056, 6058, 6052, 6059, 6060, 6062, 6064, 6065, 6066, 6074,
 -     6070, 6073, 6072, 6076, 6078, 6083, 6087, 6080, 6088, 6092,
 -     6437, 6089, 6437, 6093, 6437, 6437, 6097, 6099, 6094, 6101,
 -     6109, 6112, 6105, 6108, 6110, 6113, 6115, 6437, 6117, 6437,
 -     6437, 6122, 6124, 6437, 6123, 6126, 6437, 6125, 6127, 6128,
 -
 -     6133, 6135, 6131, 6134, 6136, 6152, 6437, 6437, 6138, 6142,
 -     6140, 6154, 6156, 6155, 6162, 6164, 6165, 6166, 6157, 6173,
 -     6437, 6175, 6172, 6179, 6437, 6180, 6168, 6181, 6182, 6183,
 -     6191, 6186, 6190, 6437, 6192, 6437, 6195, 6197, 6199, 6189,
 -     6196, 6198, 6212, 6214, 6207, 6437, 6200, 6216, 6210, 6221,
 -     6223, 6225, 6227, 6218, 6232, 6228, 6236, 6240, 6235, 6241,
 -     6243, 6244, 6245, 6437, 6247, 6250, 6437, 6251, 6252, 6253,
 -     6254, 6258, 6437, 6261, 6255, 6263, 6265, 6268, 6270, 6437,
 -     6276, 6279, 6280, 6437, 6281, 6437, 6437, 6283, 6271, 6284,
 -     6292, 6294, 6437, 6437, 6437, 6317, 6324, 6331, 6338, 6345,
 -
 -     6352, 6359,   88, 6366, 6373, 6380, 6387, 6394, 6401, 6408,
 -     6415, 6422, 6429
++       90,  112,   96,  118,  124,  136, 4574, 4073,   81, 6519,
++     6519, 6519,  129,   52,  130,   63,  131,  152,   70,  140,
++      149,  156,   57,   88,   76,  173,  175,   95,  197,  145,
++      185,  199,  208,  213,  178,  123, 3610, 6519, 6519, 6519,
++      107, 3567, 6519, 6519, 6519,  154, 3481, 3242, 6519, 6519,
++     6519,  245, 3155, 6519, 6519, 6519,  163, 2778, 6519,  249,
++     6519,  253,  148, 2533, 2411, 6519, 6519, 6519,  257, 2074,
++     6519, 6519, 6519,  233, 2014,  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,
++      283,  286,  276,  285,  295,  293,  306,  314,  297,  313,
++      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, 1925,
++      419, 1172,  422,  924,  429,  854,  832,  433,  781,  437,
++      441,    0,  433,  705,  447,  479,  287,  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,  569,  562,  565,  566,  567,  570,  572,  574,
++      576,  579,  578,  582,  577,  590,  591,  585,  595,  594,
++      606,  601,  608,  604,  605,  362,  607,  611,  615,  623,
++      612,  627,  613,  614,  629,  633,  640,  641,  636,  622,
++      637,  639,  643,  644,  646,  648,  647,  656,  660,  659,
++      663,  667,  657,  665,  669,  671,  673,  649,  682,  675,
++      684,  688,  680,  683,  690,  692,  694,  696,  695,  699,
++
++      697,  700,  708,  704,  713,  712,  721,  716,  722,  719,
++      731,  732,  727,  717,  728,  729,  733,  736,  730,  740,
++      738,  741,  745,  743,  750,  752,  760,  755,  756,  771,
++      763,  766,  762,  773,  774,  769,  775,  793,  798,  799,
++      786,  800,  801,  804,  803,  805,  807,  808,  809,  818,
++      811,  823,  815,  824,  825,  829,  836,  834, 6519,  831,
++      833,  847,  848,  849,  852,  765,  856,  858,  839,  868,
++      864,  861,  870,  892,  865,  878,  869,  871,  874, 6519,
++      887,  880,  916,  882,  889,  902,  903,  900,  904,  905,
++      917,  910,  933,  850,  914,  922,  943,  939,  925,  938,
++
++      940,  907,  941,  948,  949,  946,  951,  953,  960,  952,
++      957,  959,  971,  961,  970,  972,  965,  974,  980,  985,
++      987,  992,  975,  984,  995,  978,  990,  998, 1008, 1003,
++     1001, 1009, 1012, 1015, 1023, 1019, 1027, 1028, 1002, 1029,
++     1030, 1035, 1031, 1038, 1041, 1039, 1042, 1051, 1049, 1047,
++     1048, 1054, 1055, 1056, 1058, 1061, 1064, 1063, 1068, 1072,
++     1066, 1073, 1079, 1067, 1085, 1077, 6519, 1089, 6519, 1080,
++     1083, 1087, 1092, 1093, 1094, 1095, 6519, 1097, 1100, 1102,
++     1105, 1109, 1111, 1110, 1116, 1112, 1123, 1124, 1125, 1128,
++     1135, 1130, 1133, 1138, 1137, 1140, 1141, 1144, 1142, 1147,
++
++     1149, 1148, 1154, 1155, 1158, 1175, 6519, 1157, 1167, 1162,
++     1159, 1168, 1169, 1187, 1185, 1188, 1186, 1190, 1203, 1198,
++     1204, 1206, 1207, 1160, 1210, 1212, 1214, 1216, 1217, 1218,
++     1219, 1221, 1222, 1223, 1225, 1224, 1228, 6519, 1226, 1236,
++     1247, 1242, 1245, 1246, 1248, 1249, 1161, 1251, 1250, 1106,
++      517, 1253, 1257, 1258, 1259, 1272, 1267, 1270, 1268, 1269,
++     1275, 1274, 1276, 1278, 1287, 1283, 1289, 1291, 1299, 1298,
++     1301, 1308, 1310, 1303, 1305, 1311, 1307, 1306, 1313, 1315,
++     1322, 1316, 1319, 1326, 1329, 1328, 1331, 1335, 1320, 1336,
++     1333, 1341, 1342, 1343, 1344, 1351, 1350, 1346, 1358, 1353,
++
++     1356, 1354, 1352, 1373, 1374, 1363, 1365, 6519, 1381, 1367,
++     1382, 1383, 1384, 1388, 1390, 1386, 1392, 1393, 1394, 1396,
++     1397, 1399, 1403, 1404, 1405, 1406, 1408, 1419, 1416, 1411,
++     1427, 1426, 1428, 1418, 1430, 1432, 1431, 1440, 1438, 1441,
++     1439, 1445, 1446, 1453, 1448, 1449, 1454, 1463, 1456, 1455,
++     1460, 1458, 1466, 1469, 1468, 1483, 1472, 1480, 1488, 1489,
++     1479, 1491, 1481, 1492, 1495, 1496, 1497, 1498, 1499, 1507,
++     1502, 1503, 1505, 1508, 1509, 1510, 1516, 1511, 1524, 1521,
++     1522, 1525, 1530, 1532, 1533, 1531, 1537, 1538, 1539, 1540,
++     1546, 1541, 1548, 1550, 1543, 1554, 1553, 1561, 1559, 1563,
++
++     1568, 1569, 1572, 1571, 1574, 1580, 1570, 1583, 1584, 1573,
++     1586, 1589, 1591, 1594, 1598, 1592, 1599, 1600, 1603, 1604,
++     1610, 1611, 1614, 1616, 1618, 6519, 1605, 1628, 1619, 1626,
++     1623, 1607, 1629, 1637, 1633, 1636, 1634, 1638, 1640, 1664,
++     6519, 1642, 6519, 6519, 1644, 6519, 6519, 1645, 1649, 6519,
++     1650, 1653, 1651, 1668, 1658, 1670, 1674, 1675, 1665, 1677,
++     1687, 1698, 1689, 1680, 1678, 1688, 1682, 1691, 1703, 1690,
++     1704, 1707, 1712, 1724, 1713, 1721, 1714, 1725, 1726, 1728,
++     1731, 1735, 1737, 1646, 1738, 1739, 1741, 1742, 1744, 1743,
++     1746, 1749, 1752, 1753, 1755, 1748, 1756, 1765, 1767, 1769,
++
++     1776, 6519, 1774, 1777, 1786, 1782, 1789, 1781, 1785, 1788,
++     1793, 1795, 1790, 1797, 1799, 1800, 1801, 1802, 1803, 1806,
++     1808, 1812, 1810, 1827, 1811, 6519, 1814, 1816, 1813, 1824,
++     1826, 1828, 1833, 1832, 1834, 1836, 1839, 1848, 1840, 1843,
++     1844, 1851, 1849, 1850, 6519, 1854, 1865, 1855, 1857, 1866,
++     1868, 1869, 1870, 1871, 1872, 1867, 1757, 1875, 1877, 1880,
++     1885, 1883, 1878, 1884, 1899, 1886, 1901, 1903, 1904, 1907,
++     1908, 1909, 1910, 1911, 1912, 1914, 1919, 1921, 1918, 1926,
++     1922, 1923, 1935, 1944, 1937, 1927, 1939, 1940, 1942, 1947,
++     1955, 1879, 1950, 1952, 1960, 1953, 1957, 1958, 1961, 1970,
++
++     1962, 1967, 1974, 1972, 1978, 1979, 1980, 6519, 1981, 1982,
++     6519, 1987, 1983, 1985, 2007, 1988, 1986, 1993, 1992, 1995,
++     1997, 2002, 2011, 2004, 2013, 2030, 2022, 2019, 2032, 2026,
++     2034, 2035, 2037, 2038, 2040, 2043, 2044, 2015, 2045, 2060,
++     2062, 2059, 2051, 2069, 2055, 2064, 2066, 2085, 2067, 2065,
++     2068, 2075, 2071, 2073, 2080, 2076, 2081, 2089, 2094, 2098,
++     2096, 2095, 2097, 2102, 2103, 2113, 2116, 2106, 6519, 2123,
++     2119, 2109, 2124, 2114, 2131, 2130, 2132, 6519, 2133, 2134,
++     2136, 2144, 2137, 2139, 2140, 2141, 2148, 2147, 2153, 2150,
++     2154, 2149, 2156, 2166, 6519, 2164, 6519, 2157, 2168, 2170,
++
++     2169, 2172, 2176, 2174, 2177, 6519, 6519, 2181, 2175, 2192,
++     2200, 2178, 2195, 2185, 6519, 2196, 2203, 6519, 2204, 2206,
++     2199, 2201, 2207, 2211, 2214, 2215, 2222, 2217, 2224, 2219,
++     2220, 2226, 6519, 2228, 2232, 2233, 2236, 2235, 2239, 2242,
++     2243, 6519, 2246, 2245, 2248, 2256, 2258, 2259, 2249, 2260,
++     2264, 2262, 2266, 2269, 2270, 2271, 2278, 2281, 2274, 2277,
++     2283, 2292, 6519, 2276, 2287, 2296, 2293, 2300, 2295, 2297,
++     2291, 2301, 2302, 2308, 2303, 2310, 2312, 2313, 2316, 2323,
++     2324, 2319, 2321, 2328, 2322, 2329, 2332, 2337, 2331, 2336,
++     2338, 2339, 6519, 2340, 2347, 2342,  171, 2351, 2348, 2354,
++
++     2350, 2352, 2368, 2353, 2375, 2376, 2356, 2374, 2358, 2377,
++     2371, 2378, 2381, 2380, 2383, 2384, 2388, 2387, 6519, 2390,
++     2393, 2394, 2396, 2398, 2397, 2400, 6519, 2409, 2420, 2410,
++     2423, 2401, 2418, 2424, 2425, 2428, 2426, 2429, 2430, 2431,
++     2433, 2436, 2437, 2439, 6519, 2441, 2442, 2451, 2445, 2452,
++     2455, 2453, 2454, 2460, 2461, 2464, 2463, 2466, 2467, 2468,
++     2470, 2471, 2477, 2481, 2472, 2474, 2484, 2482, 2485, 2486,
++     2488, 2490, 2495, 2499, 6519, 2506, 2501, 2503, 2505, 2502,
++     2508, 2509, 2511, 2526, 2512, 2518, 2521, 2527, 2535, 2529,
++     2530, 2547, 2537, 2545, 2546, 2557, 2556, 2559, 2552, 2549,
++
++     2562, 2566, 2560, 2565, 2567, 2568, 2572, 2573, 2574, 2581,
++     2584, 2585, 2582, 2589, 2591, 2579, 2594, 2602, 2597, 6519,
++     2606, 2601, 2604, 2611, 2618, 2614, 2613, 2619, 2615, 2621,
++     2625, 2626, 2627, 2634, 2631, 2638, 2633, 2637, 2636, 2639,
++     2640, 2643, 2649, 2652, 2655, 2657, 2659, 6519, 2660, 2662,
++     2653, 2664, 2666, 2669, 2675, 2676, 2678, 2671, 2679, 2681,
++     2682, 2684, 2685, 2686, 2688, 2693, 2690, 6519, 2696, 2694,
++     2698, 2701, 2706, 2704, 2713, 2707, 2714, 2716, 2720, 2721,
++     2722, 2723, 2724, 6519, 2732, 2733, 2729, 2741, 2731, 2736,
++     2738, 2743, 2744, 6519, 2745, 2746, 2747, 2754, 2756, 2751,
++
++     6519, 2758, 2753, 2759, 2761, 2762, 2763, 2765, 2768, 2771,
++     2772, 2775, 2780, 2787, 2776, 2784, 6519, 2782, 2796, 2788,
++     2794, 2792, 2798, 2802, 2804, 2805, 2807, 2809, 2814, 6519,
++     2821, 2820, 2818, 2831, 2808, 2823, 2826, 2832, 2833, 2834,
++     2835, 2836, 2839, 6519, 2840, 2842, 2843, 2845, 2847, 2848,
++     2850, 2862, 2853, 2857, 2858, 2863, 2864, 2867, 2868, 2870,
++     2875, 2871, 2874, 2881, 2884, 2885, 2887, 2890, 2898, 2901,
++     2888, 2897, 2900, 2893, 2903, 2905, 2914, 2917, 2918, 2915,
++     2919, 6519, 2922, 2923, 2904, 2925, 2926, 2928, 2929, 2930,
++     2931, 2933, 2939, 2935, 2934, 2936, 2951, 2958, 2941, 2959,
++
++     2946, 2949, 2954, 2962, 2956, 2964, 2969, 2972, 2971, 2970,
++     2979, 2974, 2977, 2986, 2978, 2981, 2982, 2985, 2988, 2989,
++     2990, 2991, 2995, 2994, 2999, 3003, 3007, 3009, 3011, 3017,
++     3012, 3014, 3019, 3020, 6519, 3024, 3028, 3029, 3027, 3030,
++     3035, 3031, 3043, 3038, 3041, 3040, 3048, 3051, 3049, 3050,
++     3056, 3063, 3059, 6519, 3060, 6519, 3061, 3062, 3064, 3072,
++     3070, 6519, 3074, 6519, 3077, 3084, 3071, 3075, 6519, 3085,
++     3079, 3086, 3092, 3081, 3089, 3094, 3097, 3098, 3100, 3105,
++     3103, 3104, 3106, 3107, 3108, 3111, 3115, 3117, 3120, 3124,
++     3126, 3116, 3128, 3118, 3132, 3134, 3137, 3139, 6519, 3142,
++
++     3145, 3146, 3148, 3147, 3149, 3150, 3151, 3153, 3154, 3157,
++     3160, 3169, 3165, 3168, 3171, 3176, 3185, 3172, 3186, 6519,
++     3182, 3184, 3187, 3189, 6519, 3193, 3190, 3199, 3201, 3191,
++     3194, 3203, 3204, 3208, 3197, 3210, 3211, 3217, 3219, 3216,
++     3224, 6519, 3225, 3228, 3226, 3229, 3237, 3244, 3245, 3241,
++     3247, 3249, 3258, 3254, 3240, 3242, 3255, 3256, 3261, 3263,
++     3268, 3265, 3272, 3267, 3273, 3280, 3277, 3269, 3271, 3275,
++     3283, 3284, 3285, 3286, 3281, 3288, 3294, 3289, 6519, 3293,
++     3300, 3301, 3309, 3302, 3307, 3310, 3311, 3313, 6519, 3316,
++     3317, 3319, 3320, 3326, 3318, 3321, 3328, 3329, 3331, 3336,
++
++     3338, 3341, 3339, 6519, 3342, 6519, 3343, 3346, 3359, 3361,
++     3344, 3348, 3364, 3370, 3363, 3354, 3372, 3374, 3365, 3371,
++     3380, 3375, 3381, 3382, 3392, 3396, 3378, 3388, 3385, 3383,
++     3399, 3406, 3402, 3404, 6519, 6519, 3408, 3409, 3410, 3412,
++     3413, 3414, 3417, 3425, 3421, 3420, 3423, 3424, 3436, 6519,
++     3429, 3431, 3439, 3440, 3447, 3448, 3450, 3457, 3453, 3460,
++     3456, 6519, 3452, 3455, 3465, 3463, 3464, 3474, 6519, 3470,
++     6519, 3471, 3475, 3477, 3479, 3480, 3482, 3483, 3484, 3487,
++     3502, 3505, 3491, 3501, 3489, 3492, 3503, 3507, 3511, 3518,
++     3513, 3514, 3515, 6519, 3517, 3519, 3521, 3523, 3526, 3527,
++
++     3520, 3534, 6519, 3536, 3537, 3541, 3542, 3538, 3543, 3545,
++     3546, 3547, 3551, 3553, 6519, 3549, 3555, 3564, 3559, 3556,
++     3566, 3570, 3573, 3578, 6519, 3579, 3580, 3587, 3583, 3585,
++     3586, 3590, 3591, 3592, 3594, 3595, 3596, 3598, 3599, 3604,
++     3600, 3602, 3609, 3605, 3617, 3619, 3606, 3627, 3634, 3620,
++     6519, 3623, 3630, 3632, 3633, 3635, 3636, 3638, 3644, 3646,
++     3640, 3655, 3656, 3647, 3651, 3659, 3661, 3669, 3664, 6519,
++     3676, 3662, 3677, 3666, 3675, 3674, 3679, 3681, 3683, 3685,
++     3684, 3687, 3688, 3690, 3702, 3694, 3697, 3693, 3698, 3709,
++     3701, 6519, 3716, 3712, 3704, 3720, 3714, 3723, 3730, 3727,
++
++     3728, 3729, 3732, 3733, 3734, 3737, 3739, 3740, 3743, 3744,
++     6519, 6519, 3746, 3747, 3749, 6519, 3751, 3752, 3762, 3754,
++     3755, 3763, 3767, 3766, 3765, 3768, 3770, 3771, 6519, 3777,
++     3785, 3780, 3781, 3789, 3784, 6519, 3790, 3798, 3794, 3797,
++     3795, 3799, 3801, 3803, 3805, 3806, 3807, 3810, 3818, 3822,
++     3814, 3813, 3817, 6519, 3823, 3825, 3826, 3830, 3827, 3835,
++     6519, 3832, 3836, 3838, 3839, 3842, 3845, 3852, 3854, 3855,
++     3856, 3858, 3857, 3859, 3860, 3867, 3866, 3864, 3872, 3873,
++     3878, 6519, 3875, 3883, 3865, 3887, 6519, 3889, 3896, 3897,
++     6519, 3898, 3893, 3900, 3901, 3908, 6519, 3903, 3906, 3904,
++
++     3907, 3917, 3909, 3918, 3920, 3914, 6519, 3921, 3922, 3923,
++     6519, 3924, 3929, 3935, 3937, 3938, 3945, 3940, 3942, 3943,
++     3944, 6519, 3950, 6519, 3948, 3952, 3956, 6519, 3954, 3959,
++     3960, 3962, 3963, 3968, 3969, 3967, 3976, 3977, 3978, 3980,
++     3981, 3979, 3984, 3988, 3985, 3986, 3990, 3991, 6519, 3992,
++     3994, 4001, 3996, 4006, 4002, 4009, 3999, 4013, 4014, 6519,
++     6519, 4023, 6519, 4025, 4015, 4017, 6519, 4019, 4024, 4032,
++     4029, 4035, 4037, 4041, 4042, 6519, 4044, 4047, 6519, 4030,
++     4045, 4055, 4052, 4054, 4057, 4060, 4056, 4058, 4062, 4063,
++     4066, 4068, 4064, 4067, 4072, 6519, 4069, 4070, 4071, 4085,
++
++     4086, 4087, 4092, 4094, 4088, 6519, 4096, 4098, 4097, 4105,
++     4102, 6519, 4103, 6519, 4106, 4111, 4113, 4114, 4117, 6519,
++     4119, 4118, 4123, 4126, 4128, 4127, 4130, 4134, 4131, 4137,
++     4144, 4140, 4141, 4143, 4148, 4150, 6519, 4146, 4153, 4160,
++     4161, 4151, 4156, 4169, 4168, 4170, 4164, 4171, 4175, 4177,
++     4180, 4183, 4185, 4186, 4178, 6519, 4188, 4190, 4193, 4204,
++     4199, 4195, 6519, 4201, 4205, 4206, 6519, 4202, 4209, 4212,
++     4217, 4218, 4219, 4222, 4220, 4224, 6519, 4223, 4228, 4225,
++     4226, 4227, 4233, 6519, 6519, 4241, 6519, 4243, 4230, 4244,
++     4246, 4248, 4252, 4251, 4254, 4256, 4257, 4258, 4265, 4266,
++
++     4267, 4275, 4277, 4278, 4280, 4282, 4268, 6519, 6519, 4285,
++     4286, 4291, 4293, 4294, 4296, 4281, 4303, 4302, 4304, 4310,
++     4306, 4319, 6519, 4314, 4315, 4316, 4317, 6519, 4298, 4321,
++     4322, 4324, 4325, 4328, 4327, 4329, 4331, 4332, 4334, 4338,
++     4340, 4347, 4341, 4344, 4348, 4350, 4351, 4353, 4357, 4359,
++     6519, 4363, 4361, 4364, 4365, 4368, 4370, 4372, 4373, 4374,
++     6519, 4376, 6519, 4377, 4382, 4378, 4379, 4387, 4394, 4397,
++     4398, 4401, 4403, 4404, 4407, 4408, 4413, 4402, 4409, 4418,
++     4414, 4421, 4425, 4427, 6519, 4428, 4429, 4430, 4431, 4435,
++     4437, 4438, 4440, 4441, 4445, 4446, 4442, 4452, 4454, 4448,
++
++     4455, 4456, 4458, 6519, 4460, 4467, 4463, 4469, 4471, 4472,
++     4473, 4474, 4480, 4481, 4483, 4484, 6519, 4487, 4485, 4492,
++     6519, 4488, 4493, 4494, 4495, 4497, 4501, 4505, 4503, 4506,
++     6519, 4512, 4507, 4515, 4514, 4513, 4517, 4519, 4523, 4525,
++     4530, 4526, 6519, 4536, 4533, 4537, 4539, 4540, 4541, 4547,
++     4543, 6519, 4549, 4550, 4551, 4563, 4556, 4565, 4567, 4568,
++     4558, 4561, 4575, 4570, 4571, 4576, 4581, 4582, 4592, 4593,
++     4584, 6519, 4589, 6519, 4591, 4594, 4603, 4598, 4601, 4602,
++     6519, 4604, 4605, 4611, 4608, 4616, 6519, 4614, 4612, 4615,
++     4617, 6519, 4631, 4613, 4619, 4632, 4636, 4637, 6519, 4641,
++
++     4642, 4643, 4633, 4652, 4647, 4650, 4651, 4653, 4655, 4657,
++     4658, 4659, 4668, 4661, 4664, 6519, 4666, 4673, 4679, 4680,
++     4663, 4674, 4681, 4682, 4688, 4684, 6519, 4689, 4690, 4691,
++     4692, 4695, 4693, 4698, 4702, 4708, 4700, 4704, 4705, 4707,
++     4709, 6519, 4715, 4716, 4717, 4725, 4720, 4729, 6519, 4726,
++     6519, 4733, 4736, 4738, 4734, 4739, 6519, 6519, 4742, 4749,
++     4744, 4751, 4745, 6519, 6519, 4753, 6519, 4748, 6519, 4755,
++     4757, 6519, 6519, 4758, 4759, 4762, 4765, 4772, 6519, 4775,
++     6519, 4782, 4777, 4764, 4761, 4779, 6519, 4768, 4786, 4781,
++     4788, 4791, 6519, 4792, 4802, 4794, 4795, 6519, 4798, 4803,
++
++     4799, 4804, 6519, 4807, 4814, 4811, 4805, 4815, 4820, 4817,
++     4821, 4826, 4827, 4828, 4809, 4831, 4838, 4842, 4844, 4846,
++     4847, 4830, 4849, 4850, 4852, 4855, 4856, 4857, 4858, 4861,
++     4862, 4864, 4866, 4869, 4870, 4871, 4872, 4873, 4883, 4875,
++     4876, 4886, 4889, 4879, 4887, 4890, 4891, 4892, 4897, 4899,
++     4901, 4902, 4904, 6519, 4894, 4908, 4911, 4913, 4914, 4918,
++     4920, 4922, 4927, 4931, 6519, 4935, 6519, 4937, 4924, 4929,
++     4933, 4939, 6519, 4941, 4944, 4943, 4946, 4947, 4948, 4832,
++     4949, 4945, 4953, 4950, 6519, 4958, 4959, 4955, 4967, 4975,
++     6519, 4970, 4981, 4960, 4964, 4983, 4972, 4984, 4985, 4988,
++
++     4986, 4992, 4994, 4989, 4995, 5000, 4997, 4999, 5007, 5008,
++     5010, 5011, 5014, 5012, 5015, 5016, 5018, 5019, 5032, 5020,
++     5034, 6519, 5024, 6519, 5029, 5027, 5037, 5039, 5040, 5041,
++     5044, 6519, 6519, 5042, 5047, 5052, 5053, 5048, 5055, 5056,
++     5057, 5060, 6519, 5058, 5065, 5071, 5074, 6519, 5075, 5076,
++     5077, 5079, 6519, 5080, 5082, 5081, 5084, 5086, 5089, 5093,
++     5094, 5095, 5100, 5102, 6519, 6519, 6519, 6519, 5106, 5099,
++     5109, 5104, 5110, 5113, 5115, 5119, 5114, 6519, 5126, 6519,
++     6519, 5127, 5128, 5116, 5131, 5134, 5120, 5135, 5137, 6519,
++     5138, 5141, 5143, 5140, 5150, 5152, 5157, 5147, 5158, 5159,
++
++     5160, 5167, 5164, 5165, 5168, 5170, 5172, 5174, 6519, 6519,
++     5176, 5180, 5181, 5188, 5185, 5186, 5192, 5199, 5194, 5195,
++     5196, 5197, 5201, 5202, 5210, 5213, 5203, 5214, 6519, 5211,
++     5215, 5216, 6519, 5217, 6519, 5222, 5225, 5221, 5224, 5231,
++     5232, 5233, 5235, 6519, 6519, 5228, 5242, 5243, 6519, 6519,
++     5238, 5245, 5247, 5251, 5248, 5252, 5253, 5254, 5259, 5256,
++     6519, 5261, 6519, 5260, 5263, 5273, 5264, 5274, 5283, 5284,
++     5282, 5279, 5285, 6519, 5286, 5288, 6519, 5297, 5293, 5294,
++     5292, 5299, 6519, 5302, 5300, 5305, 5308, 6519, 5310, 5311,
++     5312, 6519, 5320, 6519, 5313, 5316, 5322, 5329, 6519, 5324,
++
++     5325, 6519, 5331, 5336, 5337, 5332, 6519, 5338, 6519, 5327,
++     5342, 5348, 5351, 5339, 5353, 5346, 5343, 5355, 5363, 5365,
++     5358, 6519, 6519,  135, 5372, 5360, 5367, 5368, 5370, 5379,
++     5374, 5377, 5385, 6519, 6519, 5375, 6519, 5378, 5389, 6519,
++     5382, 5390, 5394, 5391, 5396, 5397, 5398, 5400, 5403, 5405,
++     5410, 5406, 5404, 5416, 5428, 5431, 5417, 5412, 5432, 5434,
++     5437, 5439, 5426, 5441, 5429, 5443, 5445, 5444, 5447, 5448,
++     5451, 5453, 6519, 5455, 5459, 5461, 5456, 6519, 5466, 5460,
++     5476, 5472, 6519, 5479, 5480, 5481, 5482, 6519, 5468, 5484,
++     5488, 5485, 5487, 5493, 5495, 5502, 5498, 5499, 5503, 6519,
++
++     6519, 6519, 5500, 5513, 6519, 5515, 5509, 5497, 5516, 6519,
++     5517, 5518, 6519, 6519, 5519, 5520, 5521, 5531, 6519, 5524,
++     6519, 5527, 6519, 5528, 5532, 5538, 5540, 6519, 5542, 5550,
++     6519, 5546, 5553, 5556, 5557, 5543, 5558, 5559, 6519, 5567,
++     5560, 5568, 5570, 5562, 5571, 5572, 5574, 5576, 5581, 5578,
++     5585, 6519, 5582, 5587, 5590, 5588, 5591, 5596, 5597, 6519,
++     5598, 6519, 5600, 6519, 5601, 5602, 5604, 5607, 5605, 5606,
++     5462, 5617, 5619, 5623, 5609, 5613, 5629, 5624, 6519, 6519,
++     5631, 5634, 6519, 5626, 6519, 5636, 6519, 5637, 5638, 5640,
++     5641, 6519, 5645, 5642, 5648, 5655, 5650, 5651, 6519, 5658,
++
++     5652, 5660, 5664, 6519, 6519, 5661, 5671, 5667, 5668, 5675,
++     5677, 5669, 5683, 5680, 5678, 5684, 5692, 5688, 5685, 5693,
++     5695, 5696, 5700, 6519, 6519, 6519, 5698, 5703, 5711, 5709,
++     5712, 5720, 5706, 6519, 5716, 5718, 5722, 5719, 5731, 5726,
++     5729, 6519, 5730, 5732, 5733, 5734, 5736, 5737, 5739, 5740,
++     6519, 5746, 5752, 5748, 5754, 5757, 5760, 5764, 5766, 5761,
++     5741, 5775, 5771, 6519, 5773, 6519, 6519, 5770, 6519, 5777,
++     5778, 5779, 5780, 6519, 5783, 5784, 5785, 5788, 5786, 5787,
++     5791, 5793, 6519, 5803, 5794, 5798, 5807, 6519, 6519, 5809,
++     6519, 5816, 5813, 5805, 5826, 5811, 5821, 5825, 5822, 6519,
++
++     5828, 5830, 5831, 5832, 5833, 6519, 5834, 5835, 5837, 5838,
++     6519, 5841, 5840, 5843, 5845, 5846, 6519, 5847, 5849, 5868,
++     5865, 6519, 5853, 5864, 5863, 6519, 6519, 5872, 5875, 5877,
++     6519, 6519, 6519, 5879, 5880, 5882, 5884, 6519, 5887, 5891,
++     5895, 5899, 5890, 6519, 5898, 5900, 5905, 5902, 5907, 6519,
++     6519, 5906, 5908, 5910, 5912, 6519, 6519, 5913, 5916, 5914,
++     5922, 5917, 6519, 5919, 5924, 5929, 5935, 5940, 5927, 5936,
++     5943, 5950, 5951, 5946, 5947, 5948, 5953, 5954, 5956, 5961,
++     5963, 5964, 5966, 5968, 5972, 5973, 6519, 6519, 5977, 6519,
++     5980, 5974, 6519, 6519, 5982, 5985, 5989, 5991, 5993, 5995,
++
++     5997, 5999, 5986, 6519, 6000, 6002, 6004, 6003, 6005, 6519,
++     6007, 6011, 6006, 6014, 6008, 6016, 6018, 6023, 6519, 6519,
++     6019, 6028, 6024, 6029, 6034, 6519, 6032, 6042, 6039, 6038,
++     6040, 6044, 6041, 6519, 6045, 6046, 6519, 6519, 6054, 6048,
++     6519, 6519, 6047, 6519, 6519, 6519, 6519, 6519, 6519, 6519,
++     6519, 6056, 6064, 6519, 6065, 6069, 6071, 6075, 6519, 6049,
++     6076, 6077, 6060, 6079, 6519, 6066, 6083, 6082, 6084, 6088,
++     6090, 6092, 6095, 6097, 6096, 6098, 6101, 6099, 6106, 6102,
++     6100, 6104, 6111, 6113, 6117, 6519, 6519, 6519, 6120, 6119,
++     6125, 6126, 6128, 6129, 6132, 6137, 6138, 6140, 6141, 6142,
++
++     6143, 6145, 6146, 6155, 6150, 6151, 6153, 6166, 6152, 6168,
++     6519, 6174, 6154, 6156, 6177, 6519, 6171, 6519, 6162, 6519,
++     6519, 6179, 6181, 6183, 6184, 6193, 6194, 6185, 6189, 6190,
++     6192, 6196, 6519, 6201, 6519, 6519, 6198, 6204, 6519, 6206,
++     6207, 6519, 6205, 6208, 6210, 6214, 6215, 6212, 6216, 6217,
++     6233, 6519, 6519, 6218, 6223, 6226, 6235, 6237, 6236, 6239,
++     6243, 6244, 6246, 6247, 6256, 6519, 6253, 6254, 6258, 6519,
++     6260, 6255, 6261, 6262, 6263, 6271, 6267, 6270, 6519, 6272,
++     6519, 6276, 6278, 6279, 6269, 6277, 6280, 6291, 6289, 6285,
++     6519, 6295, 6299, 6297, 6301, 6303, 6305, 6306, 6307, 6309,
++
++     6312, 6318, 6315, 6322, 6323, 6319, 6327, 6324, 6519, 6334,
++     6325, 6519, 6331, 6335, 6328, 6337, 6341, 6519, 6346, 6339,
++     6348, 6349, 6352, 6353, 6519, 6355, 6362, 6357, 6519, 6363,
++     6519, 6519, 6365, 6359, 6366, 6372, 6374, 6519, 6519, 6519,
++     6399, 6406, 6413, 6420, 6427, 6434, 6441,   88, 6448, 6455,
++     6462, 6469, 6476, 6483, 6490, 6497, 6504, 6511
      } ;
  
- static const flex_int16_t yy_def[3123] =
 -static const flex_int16_t yy_def[3314] =
++static const flex_int16_t yy_def[3359] =
      {   0,
-      3108,    1, 3109, 3109, 3110, 3110, 3111, 3111, 3112, 3112,
-      3113, 3113, 3108, 3114, 3108, 3108, 3108, 3108, 3115, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3116, 3108, 3108, 3108, 3116, 3117, 3108, 3108,
-      3108, 3117, 3118, 3108, 3108, 3108, 3108, 3118, 3119, 3108,
-      3108, 3108, 3119, 3120, 3108, 3121, 3108, 3120, 3120, 3114,
-      3114, 3108, 3122, 3115, 3122, 3115, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3295,    1, 3296, 3296, 3297, 3297, 3298, 3298, 3299, 3299,
 -     3300, 3300, 3301, 3301, 3302, 3302, 3295, 3303, 3295, 3295,
 -     3295, 3295, 3304, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3305, 3295, 3295, 3295,
 -     3305, 3306, 3295, 3295, 3295, 3306, 3307, 3295, 3295, 3295,
 -     3295, 3307, 3308, 3295, 3295, 3295, 3308, 3309, 3295, 3310,
 -     3295, 3309, 3309, 3311, 3295, 3295, 3295, 3295, 3311, 3312,
 -     3295, 3295, 3295, 3312, 3303, 3303, 3295, 3313, 3304, 3313,
 -     3304, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3116, 3116, 3117, 3117, 3118, 3118, 3108, 3119, 3119,
-      3120, 3120, 3121, 3121, 3120, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3305, 3305,
 -     3306, 3306, 3307, 3307, 3295, 3308, 3308, 3309, 3309, 3310,
 -     3310, 3309, 3311, 3311, 3295, 3312, 3312, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3120, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3309,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3120, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3309, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3108, 3114, 3120, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3309, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3120, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3108, 3108, 3114, 3108, 3108, 3114, 3114,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3309, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3295, 3303, 3295, 3295,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3120, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3309, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
--
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3120, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3309, 3309, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3309, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3108, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3309, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3309, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3295, 3303, 3303, 3303, 3295, 3303,
--
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3108, 3114, 3108, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3309, 3303, 3295, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3295, 3303, 3295, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3295,
--
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3309, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3108, 3108, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3108,
-      3114, 3108, 3114, 3114, 3108, 3108, 3114, 3114, 3114, 3114,
 -     3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
--
-      3114, 3108, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3309, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108,
-      3108, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3108, 3108, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3295, 3303, 3303, 3303, 3303, 3303, 3295, 3295,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3295, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3108, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3309, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3108, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3108, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114,
-      3108, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3108,
 -     3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3295, 3295, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3295, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3309, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
--
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114,
-      3108, 3108, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
-      3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3108, 3114, 3108, 3114, 3108, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303, 3303, 3295,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3295, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3295, 3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3295, 3309, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3108, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3114, 3108, 3108, 3114, 3108, 3114, 3114, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3108, 3108, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3295, 3295, 3303, 3295, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3295, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3295,
 -     3295, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3295, 3303, 3303,
--
-      3114, 3108, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3108,
-      3108, 3114, 3114, 3114, 3108, 3108, 3108, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114,
-      3108, 3108, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3108,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3108, 3108, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303, 3295,
 -     3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3295, 3295,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
--
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3108, 3108, 3114, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3108, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3108, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114, 3108,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3295, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3295, 3295, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3295, 3295,
 -     3303, 3303, 3303, 3295, 3295, 3295, 3303, 3303, 3303, 3303,
--
-      3114, 3114, 3114, 3108, 3114, 3114, 3108, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108,
-      3108, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3108, 3114, 3114, 3114, 3108, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114, 3114,
-      3114, 3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3108,
-      3114, 3114, 3114, 3114, 3114, 3108, 3114, 3114, 3114, 3114,
-      3114, 3114, 3108, 3114, 3114, 3114, 3108, 3114, 3108, 3108,
 -     3295, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3295, 3295, 3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303,
 -     3295, 3303, 3303, 3295, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303,
 -     3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3295, 3295, 3303, 3303, 3295,
--
-      3114, 3114, 3114, 3114, 3114, 3108, 3108,    0, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108
 -     3295, 3303, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3303,
 -     3295, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3295, 3295, 3295, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3295, 3303, 3295, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3295, 3303, 3295,
 -     3295, 3303, 3303, 3295, 3303, 3303, 3295, 3303, 3303, 3303,
 -
 -     3303, 3303, 3303, 3303, 3303, 3303, 3295, 3295, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3295, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3295, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303, 3303,
 -     3303, 3303, 3303, 3295, 3303, 3303, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3303, 3303, 3303, 3303, 3303, 3303, 3295,
 -     3303, 3303, 3303, 3295, 3303, 3295, 3295, 3303, 3303, 3303,
 -     3303, 3303, 3295, 3295,    0, 3295, 3295, 3295, 3295, 3295,
 -
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295
++     3340,    1, 3341, 3341, 3342, 3342, 3343, 3343, 3344, 3344,
++     3345, 3345, 3346, 3346, 3347, 3347, 3340, 3348, 3340, 3340,
++     3340, 3340, 3349, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3350, 3340, 3340, 3340,
++     3350, 3351, 3340, 3340, 3340, 3351, 3352, 3340, 3340, 3340,
++     3340, 3352, 3353, 3340, 3340, 3340, 3353, 3354, 3340, 3355,
++     3340, 3354, 3354, 3356, 3340, 3340, 3340, 3340, 3356, 3357,
++     3340, 3340, 3340, 3357, 3348, 3348, 3340, 3358, 3349, 3358,
++     3349, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3350,
++     3350, 3351, 3351, 3352, 3352, 3340, 3353, 3353, 3354, 3354,
++     3355, 3355, 3354, 3356, 3356, 3340, 3357, 3357, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3354, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3354, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3354,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3354, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3340, 3340, 3348, 3340, 3340, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3354,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3340, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3354, 3354, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3354, 3348, 3348, 3348, 3348, 3348,
++
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++
++     3354, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3340, 3354, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3340, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3354, 3348, 3340, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3340, 3348, 3340, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3340, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3354, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3354, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3340, 3340, 3348, 3348,
++     3348, 3348, 3348, 3340, 3340, 3348, 3340, 3348, 3340, 3348,
++     3348, 3340, 3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3354, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3340, 3340, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3340,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3354, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348, 3340, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348,
++
++     3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3340, 3354, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3340, 3348, 3340, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++
++     3340, 3340, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3340, 3340, 3348, 3348, 3348, 3348, 3340, 3348,
++     3340, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3340, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3340,
++     3348, 3348, 3340, 3348, 3340, 3348, 3340, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++
++     3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3340, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3340, 3340, 3348, 3340, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3340, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340,
++
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348,
++     3348, 3340, 3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348,
++     3340, 3340, 3340, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3340,
++     3340, 3348, 3348, 3348, 3348, 3340, 3340, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3340, 3340, 3348, 3340,
++     3348, 3348, 3340, 3340, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3340,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3340, 3348, 3348, 3340, 3340, 3348, 3348,
++     3340, 3340, 3348, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3340, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3340, 3348, 3340, 3348, 3340,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3340, 3348, 3340, 3340, 3348, 3348, 3340, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3340, 3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3340,
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++     3340, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348,
++
++     3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3340, 3348,
++     3348, 3340, 3348, 3348, 3348, 3348, 3348, 3340, 3348, 3348,
++     3348, 3348, 3348, 3348, 3340, 3348, 3348, 3348, 3340, 3348,
++     3340, 3340, 3348, 3348, 3348, 3348, 3348, 3340, 3340,    0,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340
      } ;
  
- static const flex_int16_t yy_nxt[6104] =
 -static const flex_int16_t yy_nxt[6478] =
++static const flex_int16_t yy_nxt[6560] =
      {   0,
-        14,   15,   16,   17,   18,   19,   18,   14,   14,   14,
-        14,   14,   18,   20,   21,   22,   23,   24,   25,   26,
-        14,   27,   28,   29,   30,   31,   32,   33,   34,   35,
-        36,   37,   38,   39,   40,   41,   14,   14,   14,   42,
-        44,   45,   46,   44,   45,   46,   49,   50,   49,   50,
-        51,   47,   51,   70,   47,   70,   70,   52,   70,   52,
-        54,   55,   56,   57,   70,   18,   54,   55,   56,   57,
-        71,   18,   58,   60,   61,   62,   71,   82,   58,   60,
-        61,   62,   72,   71,   63,  102,   73,   92,   70,   71,
-        63,   15,   16,   17,   65,   66,   67,   75,   71,   75,
-        75,   71,   75,   68,  104,  158,  103,   93,   75,   76,
-       142,  142,   69,   15,   16,   17,   65,   66,   67,   71,
-        71,   83,   77,   78,   71,   68,   79,   71,   84,   87,
-        71,   80,   85,   88,   69,   86,   89,  152,   90,   91,
-        81,   71,   94,   71,   96,  164,   71,   71,   71,  105,
-        98,  112,   97,   99,   71,  109,   95,  106,   71,  110,
-       100,  119,  101,  107,   71,  120,  226,  108,  144,  121,
-       152,  144,   71,  141,   71,  111,   71,  113,   71,  122,
-       123,  114,  124,  125,  155,  115,  126,   71,  130,   71,
-       131,  116,   71,  127,  117,   71,  134,  128,  129,  132,
-       220,  118,  152,   71,  138,  133,  135,  159,  139,  160,
-       136,  137,  140,  146,   71,  146,  146,  156,  146,  149,
-       149,   75,   71,   75,   75,  151,   75,  151,  151,   70,
-       151,   70,   70,  154,   70,   72,  166,   71,   71,   73,
-        70,   75,  157,   75,   75,   71,   75,   71,  161,   71,
-       162,   71,   75,   76,   71,  170,  171,   71,  165,  174,
-       167,   71,   71,  163,   71,   71,  168,   71,  169,   71,
-        71,   71,   71,  172,  183,  176,  173,  184,  175,   71,
-       178,  179,  177,  192,   71,  181,  190,  186,  180,  182,
-       187,   71,   71,  185,   71,   71,  193,  195,   71,  150,
-        71,  196,   71,  188,  189,   71,  201,  202,   71,   71,
-        71,  191,  200,   71,  198,  204,  194,  197,  203,  199,
-        71,   71,  205,   71,  207,  209,   71,   71,   71,  214,
-       206,  208,  211,   71,   71,   71,  212,   71,   71,  216,
-        71,  210,   71,  228,   71,   71,  213,  222,  217,  219,
-        71,  225,  227,  215,  218,   71,  221,  231,  223,   71,
-       229,  233,  224,  230,   71,   71,  237,   71,  232,   71,
-        71,   71,   71,   71,  234,  238,  241,   71,  244,  240,
-       235,  236,  242,  245,  142,  142,  144,  239,  254,  144,
-       243,  146,  152,  146,  146,  246,  146,  149,  149,  151,
-        71,  151,  151,   75,  151,   75,   75,   71,   75,   71,
-       248,   71,  247,   71,   71,  154,   71,   71,  250,  252,
-        71,  255,   71,  261,  251,  249,  253,  258,   71,   71,
-       262,   71,  257,  256,   71,   71,  265,  260,  266,  264,
-       259,  267,   71,   71,   71,   71,  268,   71,  275,  270,
-        71,   71,   71,  148,  271,  277,  263,  278,   71,  272,
-        71,  276,  281,  269,  283,  273,  274,   71,   71,   71,
-       279,  280,  284,   71,   71,   71,   71,   71,   71,   71,
-        71,  290,  291,  285,  297,   71,  287,   71,  286,  288,
-        71,  282,  348,  289,   71,  292,  299,  300,  293,   71,
-       294,   71,  301,   71,  302,  298,  326,  304,  309,  306,
-        71,  307,  295,   71,  296,   71,  303,   71,  310,  305,
-        71,  312,  313,   71,   71,  311,  308,   71,   71,  315,
-       314,   71,   71,   71,   71,   71,   71,   71,  317,   71,
-       319,   71,   71,   71,  316,  321,  323,   71,   71,  328,
-        71,  324,  322,  318,  329,   71,   71,   71,  320,  334,
-        71,  330,  325,  327,  332,   71,  331,  337,   71,   71,
-        71,   71,  333,   71,  339,  335,  336,   71,  342,  340,
-       343,  344,   71,   71,  346,   71,   71,   71,  338,  341,
-        71,   71,  349,  350,   71,  347,  351,  353,   71,   71,
-       354,  345,   71,   71,  357,   71,  152,   71,  356,   71,
-        71,   71,  147,  364,   71,  360,  362,  355,  358,   71,
-       352,  365,   71,   71,  359,   71,  368,   71,  366,  361,
-       367,   71,   71,  363,   71,   71,   71,  369,   71,  374,
-       375,  376,   71,  378,  373,  370,   71,   71,   71,  372,
-       377,  379,  371,   71,   71,   71,  381,   71,  382,   71,
-        71,   71,   71,  385,   71,  380,  386,  388,   71,  383,
-       387,  390,  393,   71,  384,   71,  392,   71,  389,   71,
-       396,  391,   71,   71,  395,  397,   71,   71,   71,  394,
-        71,   71,   71,  402,   71,   71,   71,  403,   71,  145,
-       405,   71,   71,  401,   71,  399,  398,   71,  408,  400,
-        71,   71,  413,  404,  410,   71,  412,  406,   71,  407,
-       409,   71,  415,   71,  414,   71,   71,   71,  424,  428,
-        71,  411,   71,  423,  422,   71,  443,   71,  425,  430,
-       426,  416,  143,  429,  417,   71,   71,  431,  432,  418,
-       419,  420,  421,  433,   71,   71,  427,  435,  434,   71,
-        71,   71,   71,  436,   71,   71,  437,   71,   71,  445,
-       438,  441,  444,  442,   71,   71,  446,  439,  440,  447,
-        71,   71,  452,   71,  449,   71,   71,  448,   71,   71,
-       453,  457,  454,  458,  469,   71,  451,   71,   71,   71,
-       450,  455,  459,  456,   71,   71,   71,  470,  462,  460,
-       463,   71,  464,  471,  465,  461,  472,   71,   71,   71,
-        71,   71,   71,  473,   71,  474,   71,  466,  152,  152,
-       467,  475,  468,   71,   71,  476,  489,   71,   71,  486,
-       484,  487,  485,  477,   71,  478,   71,  479,  488,  504,
-        71,  491,  490,  499,   71,  500,  501,   71,   71,   71,
-       480,  502,   71,  481,  503,  482,   71,  483,   71,  505,
-       492,  493,  506,  508,   71,  507,   71,   71,   71,  509,
-       494,  586,  495,  496,  497,   71,   71,  498,  513,   71,
-        71,  512,   71,   71,   71,   71,  511,  519,  514,   71,
-       510,  515,   71,  522,  521,  518,  516,   71,  520,  517,
-        71,  524,  526,   71,   71,  523,   71,   71,   71,   71,
-        71,  525,  529,  530,  531,   71,   71,   71,   71,  536,
-       528,   71,  538,   71,  535,  533,  532,  539,  527,   71,
-       541,  534,   71,   71,   71,   71,   71,  537,   71,   71,
-       542,   71,  540,  551,  547,  552,   71,  543,  550,  544,
-       546,   71,  545,  554,   71,  548,   71,  549,  557,   71,
-       553,   71,  556,   71,  558,   71,   71,  555,  559,   71,
-       561,  563,   71,   71,   71,   71,  566,  567,  564,  562,
-        71,   71,   71,   71,  568,  560,   71,  565,   71,   71,
-       573,  571,   71,  572,   71,   71,  569,   71,  574,   71,
-        71,   71,  579,  570,  575,  580,   71,  582,   71,  578,
-        71,   71,  581,  577,  576,  583,   71,  585,   71,  587,
-        71,   71,   71,   71,   71,   71,   71,   71,  589,  584,
-       590,  592,  588,   71,  599,  594,  601,   71,   71,  598,
-        71,   71,   71,  591,  593,  595,  600,  596,   71,   71,
-        71,   71,  603,  597,  602,   71,  604,  609,  606,  605,
-        71,  610,   71,   71,  607,  611,  608,  612,   71,   71,
-        71,   71,   71,   71,  614,  615,  618,   71,   71,   71,
-        71,   71,  619,  621,  620,   71,   71,   71,   71,   71,
-       616,  613,  617,  635,  624,  622,   71,  150,   71,  623,
-        71,  625,  634,  642,  672,  633,  626,  636,  627,   71,
-        71,  645,  637,  638,  628,   71,  629,   71,   71,  630,
-       631,   71,  646,  639,   71,  641,  632,  640,   71,   71,
-       644,  643,  648,   71,   71,  651,   71,   71,  653,   71,
-       647,   71,   71,   71,   71,   71,   71,   71,   71,  148,
-       659,  649,   71,  650,  654,  655,  656,  660,  663,   71,
-        71,  652,  662,  657,  658,  661,  152,  666,  664,   71,
-       665,   71,  667,   71,   71,   71,   71,   71,  147,  673,
-        71,   71,   71,  675,  668,  676,  677,   71,  670,  678,
-       669,  671,  680,  674,  679,   71,   71,   71,   71,   71,
-       682,   71,   71,   71,   71,   71,  686,  685,  681,   71,
-       694,   71,  691,  683,  687,   71,  684,  692,   71,   71,
-       690,  688,  693,  696,  689,  695,   71,  697,   71,   71,
-       698,   71,  699,   71,   71,   71,  700,  701,   71,   71,
-       702,   71,  707,   71,  705,   71,   71,  704,  706,  710,
-       709,   71,  703,   71,   71,   71,   71,  711,   71,  713,
-       715,   71,   71,  716,  708,  718,   71,   71,   71,  712,
-       719,   71,  722,   71,  720,  717,  714,   71,   71,   71,
-        71,  729,  725,  726,  145,  721,  723,   71,   71,  724,
-        71,   71,   71,  727,  731,  728,  732,  730,   71,   71,
-        71,   71,  735,  734,   71,  736,  737,   71,   71,   71,
-        71,  739,   71,  741,  743,   71,   71,  749,  733,  738,
-       740,  744,   71,   71,   71,   71,  746,   71,  751,  742,
-        71,  747,   71,  750,  143,  745,  748,  752,  753,   71,
-        71,   71,  754,   71,   71,   71,  755,  760,  756,  758,
-       761,  759,  762,   71,   71,   71,   71,  757,   71,  763,
-       764,  765,   71,   71,   71,  772,  766,   71,   71,  769,
-        71,   71,   71,  773,   71,  767,  768,  774,   71,  775,
-        71,  777,  781,  770,  771,  778,   71,   71,   71,  779,
-       776,   71,  784,   71,  786,   71,  783,  785,   71,  782,
-        71,   71,  788,   71,  780,   71,   71,  790,   71,   71,
-        71,  796,   71,   71,   71,   71,  797,   71,   71,  791,
-       787,   71,  789,  798,  792,   71,  793,   71,  794,  805,
-       795,  801,   71,  799,  802,   71,  800,  803,   71,   71,
-        71,   71,  804,   71,   71,  810,  806,   71,   71,   71,
-       807,   71,  818,   71,   71,   71,   71,  819,  808,  809,
-       812,  811,   71,   71,   71,  813,  814,  815,  816,  817,
-       822,   71,   71,  820,  821,   71,  823,   71,  824,   71,
-        71,   71,  827,  825,  828,  826,  830,  829,   71,   71,
-        71,   71,   71,  831,   71,  832,  833,  152,   71,  834,
-        71,  836,  838,  839,   71,  835,  837,   71,  840,   71,
-        71,   71,  841,  846,   71,   71,  842,   71,  847,  849,
-        71,   71,  852,   71,  843,  844,  848,   71,   71,   71,
-       850,  845,   71,  854,  851,   71,  858,   71,   71,  855,
-        71,   71,   71,  853,   71,  859,   71,  860,   71,   71,
-      3108,   71,   71,  857,   71,  875,  861,  856,  872,   71,
-       873,  870,   71,  876,  863,  871,  862,   71,  874,   71,
-       877,   71,  864,   71,   71,  882,  865,  879,   71,  866,
-        71,   71,  878,  890,   71,   71,  867,  868,  880,  869,
-        71,  895,   71,  881,   71,  883,  884,   71,  885,   71,
-       894,  886,   71,  892,  947,  891,  887,   71,  897,  896,
-        71,  899,  888,  889,  898,  893,   71,   71,   71,   71,
-       901,  900,   71,  902,  903,   71,   71,   71,  904,   71,
-        71,  905,   71,  907,   71,  911,   71,   71,   71,   71,
-       910,  906,   71,  914,   71,   71,   71,  908,  918,  909,
-       919,  912,  913,  936,   71,  915,  916,  920,   71,  921,
-       924,  917,   71,  925,  922,   71,   71,  923,   71,   71,
-       927,   71,   71,  926,  928,   71,   71,   71,  929,  931,
-        71,  932,   71,  930,   71,  933,   71,   71,   71,   71,
-        71,  935,  940,   71,  943,   71,   71,   71,   71,  941,
-        71,   71,  934,  942,  938,  937,  945,  946,  939,   71,
-       949,   71,   71,   71,  948,  944,  950,  951,   71,   71,
-        71,  956,   71,  958,   71,  952,  957,   71,  954,   71,
-        71,   71,   71,  955,   71,   71,   71,  963,  965,  959,
-       961,  966,   71,  953,   71,  964,   71,   71,  960,  968,
-        71,   71,   71,  967,  962,   71,  969,   71,   71,  979,
-        71,  974,  976,   71,   71,   71,  970,  971,   71,   71,
-        71,  973,  972,  980,   71,  977,  984,   71,  975,  978,
-       981,   71,  982,  983,  987,   71,  986,   71,  985,   71,
-        71,   71,   71,   71,  996,   71,  989,  988,  991,   71,
-        71,  998,   71,   71, 1000,   71,   71,   71, 1006,  990,
-        71,  992,  994,  997,  993,  995,   71, 1001, 1004,   71,
-      1002,   71,  999,   71, 1003, 1009, 1005,   71, 1008,   71,
-        71,   71, 1010,   71,   71, 1013, 1015,   71,   71, 1011,
-      1007,   71,   71, 1012, 1018,  152,   71, 1017,   71, 1021,
-        71,   71, 1016, 1014, 1020,   71,   71,   71,   71,   71,
-      1022, 1019, 1024,   71,   71, 1036,   71,   71, 1039,   71,
-      1037, 1023, 1027,   71, 1025,   71,   71,   71,   71, 1028,
-      1026, 1041, 1038, 1044, 1029,   71,   71, 1046, 1030, 1043,
-      1031, 1042, 1047,   71, 1032,   71, 1033,   71, 1040,   71,
-      1045, 1034,   71, 1049,   71,   71, 1035, 1052,   71, 1048,
-      1055,   71, 1051,   71,   71, 1050, 1054, 1053, 1060, 1061,
-      1059, 1063, 1056,   71,   71,   71,   71, 1058, 1062,   71,
-      1064,   71, 1057,   71,   71,   71,   71,   71,   71, 1079,
-      1076,   71,   71,   71,   71, 1065, 1075, 1080,   71, 1078,
-      1066, 1067,   71, 1068,   71, 1077, 1081, 1082, 1069, 1087,
-      1070, 1085,   71, 1083,   71,   71, 1071,   71, 1086,   71,
-      1088, 1072, 1073, 1084,   71, 1091,   71,   71, 1074, 1097,
-        71,   71, 1092,   71,   71,   71,   71, 1090, 1089, 1094,
-        71,   71, 1095,   71,   71, 1093, 1100,   71,   71, 1098,
-      1096,   71,   71,   71,   71, 1099,   71, 1107, 1102, 1109,
-      1104, 1105, 1106, 1101,   71,   71,   71, 1103,   71,   71,
-        71, 1108, 1110, 1122,   71,   71,   71,   71, 1111,   71,
-      1117, 1118, 1119, 1114,   71,   71, 1112, 1113, 1115, 1116,
-        71, 1121,   71, 1120, 1123,   71,   71, 1127,   71,   71,
-        71, 1129, 1128,   71, 1130,   71,   71, 1124, 1125, 1131,
-        71,   71, 1126, 1132,   71,   71, 1138, 1140, 1133,   71,
-        71, 1134,   71,   71, 1136, 1142,   71,   71, 1135, 1137,
-      1144,   71,   71,   71, 1141, 1139,   71, 1146, 1147,   71,
-      1143, 1149,   71,   71,   71,   71,   71, 1150,   71, 1152,
-        71, 1155, 1145,   71, 1154, 1148, 1151,   71, 1156,   71,
-        71, 1153, 1157, 1159, 1158,   71, 1160,   71, 1161,   71,
-        71,   71, 1166, 1164, 1167,   71,   71,   71,   71, 1171,
-        71, 1168, 1169,   71, 1165,   71, 1162,   71, 1170, 1163,
-      1174,   71,   71, 1172, 1176,   71,   71, 1175,   71,   71,
-      1177,   71,   71,   71, 1180, 1181,   71, 1173, 1178,   71,
-        71, 1186, 1187,   71, 1182,   71, 1179,   71,   71,   71,
-      1189, 1184, 1190,   71, 1183,   71,   71, 1194, 1188, 1185,
-        71,   71,   71,   71,   71,   71, 1200,   71, 1191, 1192,
-        71, 1196, 1193,   71, 1195,   71,   71,   71, 1206,   71,
-      1204,   71, 1197, 3108, 1199, 1202, 1205, 1201, 1203, 1198,
-      1208, 1209,   71,   71, 1211,   71,   71,   71, 1210,   71,
-      1212, 1207,   71,   71,   71,   71,   71,   71, 1215,   71,
-      1221,   71,   71, 1213, 1218,   71, 1214,   71,   71, 1216,
-        71, 1219,   71,   71, 1217, 1227, 1222, 1232, 1220, 1225,
-        71, 1231, 1224, 1223, 1228,   71, 1229,   71, 1226, 1230,
-      1233,   71, 1234,   71,   71,   71, 1236,   71,   71,   71,
-        71, 1235,   71, 1240, 1239, 1242,   71, 1245,   71,   71,
-        71,   71,   71, 1237, 1246, 1238, 1247, 1243, 1241,   71,
-        71, 1244,   71,   71, 1249,   71, 1250, 1252,   71, 1251,
-      1248,   71,   71,   71,   71,   71,   71,   71, 1253, 1257,
-      1255,   71,   71, 1262, 1254, 1258, 1256,   71,   71,   71,
-        71, 3108,   71, 1259, 1261,   71, 1260, 1263, 1266, 1267,
-      1269, 1264, 1268,   71,   71,   71, 1273, 1265, 1271,   71,
-      1270, 1274,   71,   71, 1275,   71, 1272,   71, 1278, 1287,
-        71,   71, 1288, 1276, 3108,   71, 1277,   71, 1285, 1286,
-        71, 1291, 1279,   71,   71, 1280, 1281,   71, 1289, 1290,
-      1282,   71,   71,   71,   71, 1294, 1283, 1292, 1293,   71,
-      1284,   71, 1296,   71,   71, 1295, 1297,   71, 1298,   71,
-        71, 1299,   71, 1301, 1303, 1306, 1307, 1300,   71,   71,
-        71,   71,   71, 1308, 1304,   71,   71, 1302, 1310, 1309,
-      1305, 1315,   71, 1311, 1316, 1312,   71, 1313,   71, 1314,
-        71, 1317, 1318, 1319,   71,   71,   71, 1320, 1321,   71,
-      1323, 1325,   71, 1322,   71, 1324, 1326,   71, 1327, 1329,
-        71,   71,   71,   71,   71, 1335,   71, 1336,   71, 1331,
-        71,   71,   71,   71, 1328, 1330, 1337, 1339, 1334,   71,
-        71, 1332, 1333,   71, 1338,   71,   71, 1340, 1341,   71,
-      1344, 1345,   71, 1347,   71,   71,   71, 1348, 1342, 1349,
-        71, 1346,   71,   71,   71, 1350, 1353,   71, 1343, 1354,
-      1355,   71, 1352,   71, 1356,   71,   71, 1360,   71,   71,
-      1357, 1351,   71,   71,   71, 1358, 1362,   71,   71, 1364,
-      1366,   71,   71,   71, 3108, 1368, 1365, 1359,   71, 1361,
-        71,   71, 1363, 1370,   71, 1371, 1373,   71, 1369, 1367,
-        71,   71, 1372,   71, 1375, 1374, 1376,   71,   71,   71,
-        71, 1381, 1382, 1378,   71, 1377, 1379,   71,   71, 1383,
-      1384, 1380,   71,   71, 1388,   71,   71,   71,   71, 1386,
-        71, 1385, 1392, 1393, 1387,   71, 1395,   71,   71,   71,
-        71, 1394,   71,   71,   71,   71,   71, 1389, 1390,   71,
-      1402, 1396,   71, 1391,   71, 1399,   71, 1397, 1400,   71,
-      1398, 1406,   71, 1401, 1407,   71, 1403, 1409,   71, 1411,
-        71,   71, 1405,   71, 1412,   71,   71, 1404,   71,   71,
-      1414, 1415, 1408,   71,   71, 1422,   71, 1410, 1413, 1420,
-      1416,   71, 1421, 1417, 1418, 1424,   71, 1419,   71, 1427,
-      1423,   71, 1425,   71, 1428,   71,   71, 1426,   71,   71,
-      1429,   71,   71, 1432,   71,   71, 1434,   71,   71, 1439,
-        71,   71,   71,   71, 1431, 1440,   71, 1433, 1436, 1430,
-      1443,   71, 1435, 1437,   71, 1438,   71,   71, 1441,   71,
-      1446, 1442, 1445, 1444,   71,   71,   71,   71,   71, 1447,
-      1450, 1451, 1448, 1452,   71, 1455, 1454,   71, 1449,   71,
-        71,   71, 1460, 1461, 1453, 1457, 1459,   71,   71,   71,
-        71, 1462, 1456,   71, 1463, 1464,   71,   71,   71,   71,
-        71, 1458, 1465,   71,   71, 1467, 1466,   71, 1471,   71,
-      1470,   71,   71, 1468,   71, 1469, 1474, 1473,   71,   71,
-      1482,   71, 1477,   71, 1472, 1479, 1475, 1478,   71,   71,
-      1480,   71,   71, 1476, 1486,   71,   71,   71, 1481, 1490,
-      1483, 1485, 1484,   71,   71,   71, 1493,   71, 1491,   71,
-        71,   71,   71, 1496, 1487, 1489, 1488, 1495,   71,   71,
-        71,   71,   71,   71,   71, 1504, 1494,   71, 1497, 1498,
-      1492,   71,   71,   71, 1505, 1501, 3108, 1499, 1503, 1500,
-      1509,   71,   71, 1502,   71, 1508, 1506, 1510,   71, 1511,
-        71, 1507,   71,   71, 1512, 1513,   71,   71, 1516,   71,
-        71, 1514, 1517,   71,   71, 1520, 1515, 1524,   71,   71,
-      1526,   71, 1521,   71, 1525, 1518,   71, 1519,   71,   71,
-      1523,   71,   71, 1522, 1529, 1530, 1527,   71,   71, 1535,
-        71, 1528, 1531, 1532,   71,   71, 1536,   71,   71, 1541,
-      1533,   71, 1540, 1539,   71,   71,   71, 1534, 1537, 1543,
-        71,   71, 1545,   71, 1544, 1538,   71,   71,   71,   71,
-      1548,   71, 1546,   71, 1542,   71, 1551,   71, 1550,   71,
-        71,   71, 1547,   71, 1555,   71, 1552,   71, 1549,   71,
-      1557,   71, 1561,   71, 1553, 1556, 1554,   71, 1558,   71,
-      1559, 1562, 1564, 1566,   71,   71,   71,   71, 1560, 1567,
-        71, 1563,   71, 1569, 1565,   71,   71,   71,   71, 1572,
-        71, 1571, 1574, 1575,   71,   71, 1568,   71,   71, 1570,
-        71, 1582,   71,   71, 1577, 1573, 1576, 1583,   71,   71,
-        71, 1580, 1586,   71, 1578, 1579,   71,   71, 1587, 1589,
-      1591, 1590,   71, 1581,   71, 1593,   71,   71, 1584, 1585,
-      1588,   71, 1595,   71,   71,   71,   71,   71, 1594,   71,
-      1597, 1598, 1592,   71, 1600,   71, 1596,   71, 1601,   71,
-        71, 1602, 1605,   71, 1606,   71,   71, 1603,   71, 1599,
-      1604, 1609, 1607, 1612, 1610,   71,   71, 1844,   71,   71,
-      1613, 1614,   71,   71,   71, 1608, 1611, 1619, 1617, 1620,
-      1624, 1616,   71,   71,   71,   71,   71, 1615, 1621,   71,
-      1622, 1618,   71, 1623,   71, 1626,   71,   71,   71, 1625,
-      1631, 1630, 1627, 1632,   71,   71,   71, 1634,   71,   71,
-      1633,   71,   71,   71,   71, 1628, 1636, 1629, 1637,   71,
-        71,   71,   71, 1646,   71, 1638, 1639, 1635,   71,   71,
-        71,   71, 1640,   71, 1641, 1642, 1643, 1645,   71,   71,
-      1644, 1651,   71,   71, 1653,   71, 1654, 1649,   71,   71,
-      1647, 1648,   71,   71,   71,   71,   71,   71,   71, 1650,
-        71,   71, 1656, 1652, 1655, 1659, 3108, 1661,   71, 1660,
-      1662, 1658, 1665, 1663, 1664,   71, 1657, 1666, 1668,   71,
-      1667, 1669,   71, 1670,   71,   71, 1672,   71, 1673, 1674,
-        71, 1671,   71,   71,   71,   71,   71,   71, 1677, 1678,
-      1675,   71,   71, 1686,   71,   71, 1681,   71,   71,   71,
-        71, 1676, 1680, 1683, 1679,   71, 1684, 1685, 1687,   71,
-      1682, 1692, 1688, 1689,   71, 1690, 1693,   71,   71, 1691,
-        71, 1694,   71, 1695,   71, 1699, 1696,   71,   71,   71,
-        71, 1703,   71,   71, 1702,   71,   71, 1701, 1698,   71,
-      1707, 1705, 1697, 1700, 1706, 1704,   71, 1711,   71,   71,
-        71, 1708, 1712,   71, 1714, 1716,   71, 1709,   71, 1717,
-      1719,   71, 1713, 1720, 1710,   71,   71,   71,   71,   71,
-      1722, 1715, 1721,   71, 1718, 1726,   71,   71, 1724, 1723,
-      1725,   71,   71, 1730,   71, 1728,   71, 1732,   71,   71,
-      1727, 1729, 1731,   71,   71,   71, 1734,   71,   71, 1740,
-        71,   71, 1735, 1742, 1743, 1733,   71, 1736, 1737,   71,
-        71, 1738, 1739,   71, 1744,   71,   71, 1749,   71,   71,
-        71, 1741,   71,   71, 1753,   71, 1745,   71,   71, 1748,
-        71, 1746, 1755, 3108, 1747, 1751,   71,   71, 1752,   71,
-      1750, 1756, 1754,   71, 1757, 1761, 1759,   71, 1758,   71,
-      1760, 1762,   71,   71, 1766,   71,   71,   71,   71,   71,
-        71, 1764,   71, 1773, 1768,   71, 1763,   71, 3108,   71,
-      1767, 1769, 1765,   71, 1770,   71, 1778, 1771,   71, 1774,
-      1772, 1776,   71, 1775, 1777,   71, 1779,   71,   71, 1782,
-      1784, 1781,   71, 1780, 1785,   71, 1783,   71,   71,   71,
-        71, 1786,   71,   71,   71,   71,   71,   71,   71, 1791,
-        71,   71, 1795,   71, 1792,   71, 1801,   71, 1793, 1787,
-      1789, 1790, 1788, 1794, 1796,   71,   71,   71, 1802, 1804,
-      1798, 1799, 1803,   71,   71,   71, 1806, 1797, 1800,   71,
-        71, 1809,   71, 1807,   71, 1812, 1805, 1813,   71, 1814,
-        71, 1816,   71,   71, 1808,   71, 1810,   71, 1811,   71,
-      1815,   71, 1817, 1820,   71,   71, 1822,   71, 3108, 1821,
-      1823, 1824,   71, 1826, 1818, 1825, 1819,   71,   71,   71,
-        71, 1828, 1829,   71, 1827,   71, 1830, 1831,   71,   71,
-        71, 1838,   71,   71, 1842,   71,   71,   71, 1840, 1846,
-      1832, 1833, 1834, 1841,   71,   71,   71, 1835, 1843, 1836,
-      1837, 1845, 1839,   71,   71, 1848, 1850,   71,   71,   71,
-      1852,   71, 1847,   71,   71, 1855, 1856,   71,   71, 1858,
-        71,   71,   71,   71,   71, 1849, 1864,   71,   71,   71,
-      1863, 1853, 1860, 1861, 1851, 1854,   71,   71, 1857,   71,
-        71,   71, 1870, 1862, 1866,   71, 1859, 1867, 1868, 1865,
-        71,   71, 1874,   71,   71,   71, 1873, 1878,   71, 1877,
-        71, 1876, 1880, 1869,   71,   71, 1872,   71,   71, 1881,
-        71, 1871, 1882, 1875,   71,   71,   71,   71,   71, 1879,
-      1887,   71,   71, 1883, 1884,   71, 1890, 1891, 1886, 1892,
-        71,   71,   71,   71, 1885,   71, 1888,   71,   71, 1900,
-        71, 1895, 1893, 1899,   71, 1894,   71, 1889,   71,   71,
-        71, 1897,   71, 1904, 1898,   71, 1905, 1896, 1907,   71,
-        71, 1902,   71, 1901, 1906,   71, 1908, 1903, 1911,   71,
-        71, 1909,   71, 1912,   71,   71, 1910, 1915, 1918, 1913,
-        71,   71, 1921,   71,   71, 1920,   71, 1922,   71, 1914,
-        71,   71, 1923,   71, 1916, 1917, 1919, 1928,   71, 1924,
-      1929,   71, 1925, 1930, 1932, 1933,   71, 1926, 1931,   71,
-        71,   71,   71, 1927,   71, 1937,   71, 1935,   71,   71,
-        71,   71, 1939, 1942,   71,   71, 1936, 1944, 1938,   71,
-        71, 1940, 1934,   71,   71,   71,   71, 1945,   71, 1949,
-      1948,   71, 1946,   71, 1950, 1941, 1943, 1951,   71, 1952,
-        71, 1954, 2396, 1947,   71,   71,   71,   71, 1953,   71,
-      1955, 1956,   71,   71, 1958, 1957, 1960, 1959,   71,   71,
-      1962,   71,   71,   71, 1966,   71,   71,   71, 1965,   71,
-      1961,   71, 1968, 1963, 1964, 1967, 1969, 1970,   71,   71,
-        71,   71,   71,   71,   71,   71, 1975, 1977, 1972, 1971,
-      1976,   71,   71,   71,   71,   71, 1982,   71, 1973,   71,
-      1974, 1978, 1980, 1979,   71, 1981, 1985, 1983,   71, 1986,
-      1984, 1988,   71, 1987,   71,   71, 1992,   71,   71, 1990,
-        71, 1993,   71,   71,   71, 1998,   71,   71, 1991,   71,
-      2000,   71,   71, 1989, 2001, 2003, 1994, 1997, 1995, 1996,
-      2002,   71,   71, 1999,   71,   71, 2006,   71,   71, 2004,
-        71,   71,   71,   71,   71,   71, 2007,   71,   71,   71,
-      2014,   71, 2009, 2010, 2005, 2011, 2018,   71,   71, 2008,
-      2013, 2017,   71, 2015,   71, 2021, 2019, 2016, 2012, 2022,
-        71, 2020,   71,   71, 2025, 2024,   71,   71, 2023,   71,
-        71, 2027,   71,   71, 2028,   71,   71, 2033, 2029,   71,
-        71, 2026, 2031,   71, 2032, 2035, 2037,   71, 2030,   71,
-        71,   71, 2040, 2036, 2039, 2034, 2041,   71,   71,   71,
-        71, 2045, 2042,   71,   71, 2046, 2038,   71, 2049,   71,
-        71,   71,   71, 2050,   71, 2048, 2043, 2047, 2051, 2044,
-      2054,   71,   71, 2055,   71, 2053, 2058, 2056, 2052,   71,
-        71,   71,   71, 2060, 2059,   71, 2064,   71,   71,   71,
-      2066,   71, 2067, 2062, 2057,   71,   71,   71, 2061,   71,
-      2065, 2063, 2069,   71, 2068, 2073,   71, 2075, 2071,   71,
-        71, 2072, 2076,   71, 2070,   71,   71,   71, 2077,   71,
-      2080,   71, 2078,   71, 2081, 2085,   71, 2074, 2079,   71,
-      2082,   71, 2084,   71,   71,   71,   71,   71,   71,   71,
-        71, 2083,   71, 2094, 2095, 2096,   71, 2086, 2090, 2087,
-      2088, 2089, 2091,   71, 2092, 2093,   71,   71,   71, 2097,
-        71,   71, 2099, 2105,   71,   71, 2107,   71,   71, 2100,
-      2104,   71, 2098, 2101, 2106, 2102,   71,   71,   71, 3108,
-      2109, 2116, 2110, 2112, 2111, 2103, 2114, 2108, 2113,   71,
-      2115,   71,   71,   71, 2119,   71,   71,   71, 2120, 2117,
-        71, 2124,   71,   71, 2125,   71,   71,   71, 2128, 2123,
-        71,   71, 2121, 2118,   71, 2129, 2132, 2126,   71, 2130,
-      2131,   71, 2133, 2122, 2127,   71,   71, 2135,   71, 2134,
-      2136,   71,   71,   71,   71,   71,   71, 2138,   71,   71,
-      2141,   71,   71, 2147,   71,   71, 2145,   71, 2140, 2148,
-        71,   71,   71,   71, 2142, 2143, 2137, 2139, 2144,   71,
-        71,   71, 2149, 2152, 2146, 2150, 2154,   71, 2157,   71,
-        71, 2153, 2155,   71,   71,   71, 2151, 2162, 2158,   71,
-        71,   71,   71, 2168,   71, 2156,   71,   71, 3108,   71,
-      2169,   71, 2159, 2160, 2165,   71,   71, 2173, 2161, 2163,
-      2164, 2167, 2166, 2171, 2170, 2174,   71,   71, 2172, 2175,
-        71,   71,   71, 2178,   71, 2181,   71,   71,   71,   71,
-        71,   71, 2176, 2179, 2177, 2182, 2180,   71, 2187,   71,
-        71, 2186, 2183, 2188,   71, 2190,   71, 2184, 2185,   71,
-      2189, 2192,   71,   71,   71, 2195,   71,   71, 2191, 2194,
-      2196,   71,   71,   71, 2193,   71, 2198, 2197, 2202,   71,
-      2201,   71, 2204,   71,   71,   71, 2199,   71,   71, 2208,
-      2207, 2206, 2200, 2210,   71,   71,   71,   71,   71, 2213,
-      2203,   71, 2205,   71, 2209, 2216,   71,   71,   71,   71,
-        71, 2212, 2220, 2214, 2211, 2221,   71,   71,   71,   71,
-      2215,   71, 2223, 2217, 2219, 2226,   71,   71,   71, 2222,
-      2218,   71,   71, 2224, 2225, 2228,   71,   71, 2233,   71,
-        71, 2227, 2235,   71,   71, 2229, 2236,   71, 2234,   71,
-      2230,   71, 2240, 2232, 2231,   71, 2239,   71,   71,   71,
-      2241, 2237,   71, 2238, 2243,   71,   71, 2245,   71, 2250,
-      2247, 2248,   71, 2252, 2242,   71,   71, 2253, 2244,   71,
-      2251, 2254,   71, 2249, 2246,   71,   71,   71,   71, 2257,
-        71,   71,   71,   71,   71, 2263, 2258, 2259, 2256, 2260,
-      2261,   71, 2264, 2267,   71,   71, 2262, 2255,   71, 2265,
-        71, 2268, 2269, 2266,   71, 2270,   71,   71,   71, 2276,
-        71,   71,   71, 2271, 2272,   71, 2273,   71,   71,   71,
-        71, 2278, 2274, 2275,   71,   71, 2277, 2279, 2283, 2284,
-      2282,   71, 3108, 2280, 2281, 2287,   71,   71, 2288,   71,
-      2285, 2289,   71, 2286,   71,   71, 2292, 2290, 2293,   71,
-      2291,   71,   71, 2295,   71, 2294,   71,   71, 2296,   71,
-      2301, 2297,   71, 2300,   71, 2298,   71,   71,   71, 2303,
-        71,   71, 2304, 2305, 2306,   71, 2307,   71, 2299,   71,
-        71, 2302, 2311,   71, 2310,   71, 2308,   71,   71,   71,
-        71,   71, 2313,   71, 2320, 2317,   71,   71, 2312, 2309,
-        71, 2319,   71, 2321, 2316,   71,   71,   71, 2314, 2315,
-      2325, 2324,   71, 2318, 2327, 2326,   71,   71,   71, 2329,
-      2322, 2323,   71,   71,   71, 2330,   71, 2332, 2333, 2334,
-        71, 2328, 2336,   71,   71,   71, 2338,   71,   71,   71,
-        71,   71, 2335, 2337,   71, 2342,   71,   71,   71, 2331,
-        71, 2344, 2345, 2340, 2346,   71, 2339, 2341, 2347,   71,
-      2348,   71, 2349,   71, 2350,   71,   71,   71, 2352,   71,
-      2343,   71, 2351,   71, 2354, 2357,   71, 2359,   71, 2355,
-        71, 2356, 2358,   71, 2353, 2362,   71,   71,   71,   71,
-      2363,   71,   71, 2366, 2368, 2361, 2360, 2367,   71,   71,
-        71,   71,   71,   71, 2372, 2371,   71, 2364,   71, 2365,
-      2370,   71,   71,   71, 3108, 2375, 2376, 2369, 2378,   71,
-      2373,   71, 2374, 2379,   71, 2380,   71, 2381,   71, 2382,
-        71, 2383, 2377,   71,   71, 2386,   71, 2387, 2385, 2384,
-        71,   71,   71,   71, 2392,   71,   71, 2394,   71, 2395,
-        71,   71, 2388, 2389,   71,   71,   71,   71,   71, 2391,
-        71, 2398, 2390, 2397,   71, 2393,   71, 2399,   71, 2401,
-      2404,   71,   71,   71,   71, 2405, 2400, 2402, 2403,   71,
-        71, 2411,   71, 2412,   71, 2408, 2406,   71, 2407,   71,
-        71,   71,   71, 2410, 2418, 3108,   71, 2409,   71, 2413,
-      2415, 2420, 2414, 2421, 2422,   71, 2419, 2423,   71,   71,
-      2424, 2416,   71, 2417,   71, 2425,   71, 2426,   71,   71,
-        71,   71,   71,   71,   71,   71,   71,   71, 2436, 2428,
-      2427,   71,   71, 2434,   71, 2440, 2441,   71, 2429, 2431,
-      2430,   71,   71, 2433, 2432, 2435,   71, 2437,   71, 2438,
-      2439, 2443, 2444,   71,   71, 2445, 2446,   71,   71,   71,
-        71,   71,   71, 2442,   71, 2449, 2447, 2455,   71, 2456,
-        71, 2457, 2448,   71, 2450,   71,   71,   71, 2451, 2452,
-      2453, 2454,   71,   71,   71, 2466,   71, 2461,   71,   71,
-      2459, 2458,   71, 2464, 2465, 2460,   71,   71, 2467, 2468,
-        71,   71,   71, 2462, 2463,   71, 2470,   71, 2469,   71,
-        71,   71, 2474,   71, 2472,   71, 2479,   71, 2478,   71,
-      2471, 2482,   71,   71,   71, 2473,   71,   71, 2481, 2475,
-      2476, 2485,   71, 2477, 2480, 2483, 2487,   71, 2484, 2488,
-        71, 2486,   71,   71,   71, 2493,   71,   71,   71,   71,
-      2489,   71, 2496, 2497,   71, 2499,   71, 2490, 2495, 2494,
-        71,   71,   71, 2491, 2492, 2500,   71, 2504,   71,   71,
-      2498, 2501,   71, 2505, 2507,   71,   71, 2502, 2503,   71,
-        71,   71, 2512,   71,   71, 2514,   71,   71,   71, 2508,
-      2510, 2506, 2509, 2511,   71, 2513,   71,   71,   71, 2515,
-        71, 2516, 2517, 2518,   71, 2519, 2520,   71,   71, 2521,
-        71,   71, 2522, 2524,   71, 2525, 2527,   71, 2528,   71,
-        71, 2529, 2523,   71,   71, 2530, 2526, 2533,   71,   71,
-        71, 2535,   71,   71, 2534, 2538,   71, 2537, 2539,   71,
-        71, 2531, 2532, 2536, 2541,   71,   71,   71,   71, 2542,
-      2543, 2547, 2545, 2540,   71, 2544,   71,   71,   71, 2546,
-        71,   71, 2548, 2551,   71, 2549,   71, 2554, 2555,   71,
-      2550,   71, 2552,   71,   71,   71, 2556,   71,   71,   71,
-      2558, 2557, 2559, 2561,   71,   71,   71, 2553,   71, 2560,
-      2562,   71,   71, 2567,   71,   71,   71, 2565,   71, 2564,
-      2566,   71, 2563, 2568, 2572,   71,   71,   71, 2576,   71,
-        71,   71,   71,   71, 2569, 2574, 2570, 2571,   71,   71,
-      2573, 2583, 2575, 2580, 2581,   71, 2578,   71, 2584, 2577,
-      2585, 2590, 2579,   71,   71,   71,   71,   71, 2582, 2586,
-        71, 2587, 2588, 2591, 2589,   71,   71,   71, 2592,   71,
-      2593,   71,   71, 2596,   71, 2598,   71, 2599,   71, 2600,
-        71, 2594,   71,   71,   71,   71, 2595, 2601,   71, 2602,
-      2603,   71, 2597, 2605, 2607,   71,   71, 2606,   71, 2608,
-        71, 2613, 2604,   71, 2610, 2611,   71, 2612,   71, 2614,
-        71,   71, 2617,   71,   71, 2609,   71, 2618, 2619,   71,
-      2621,   71,   71,   71,   71,   71, 2625,   71, 2615, 2620,
-        71, 2616,   71, 2626,   71, 2622,   71, 2628, 2624,   71,
-      2627, 2623, 2629,   71,   71, 2633, 2634, 2631, 2630,   71,
-      2632,   71,   71, 2636, 2637,   71, 2638,   71,   71,   71,
-        71, 2640,   71, 2642,   71, 2639,   71,   71,   71, 2635,
-      3108, 2645,   71, 2649,   71,   71,   71, 2668,   71, 2643,
-      2644,   71, 2646,   71, 2641,   71, 2648, 2647, 2651, 2650,
-      2653, 2655,   71, 2656, 2659,   71, 2652, 2654, 2657,   71,
-      2658,   71, 2660,   71, 2661,   71, 2662,   71, 2663,   71,
-        71,   71, 2666,   71,   71, 2665, 2671,   71,   71,   71,
-        71, 2672, 2674,   71,   71, 2664, 2675, 2676,   71, 2677,
-      2678,   71,   71, 2669, 2670,   71,   71, 2667, 2673,   71,
-        71, 2679, 2683,   71, 2680, 2681,   71,   71,   71, 2685,
-      2684,   71,   71,   71,   71, 2689,   71, 2682, 2693, 2687,
-      2690,   71, 2692,   71, 2691,   71, 2686, 2688, 2694, 2695,
-        71, 2696,   71,   71,   71,   71,   71,   71,   71, 2697,
-        71, 2698, 2705, 2700,   71,   71, 2703, 2701,   71,   71,
-      2708, 2699, 2706,   71, 2709,   71, 2710,   71, 2704,   71,
-        71, 2702, 2711, 3108, 2712, 2707,   71, 2713, 2715,   71,
-      2714, 2716,   71, 2717,   71,   71,   71, 2719,   71, 2720,
-      2722, 2721,   71, 2723, 2718,   71,   71, 2724, 2725,   71,
-        71,   71,   71, 2730,   71,   71, 2728, 2732,   71,   71,
-        71,   71,   71, 2726, 2733,   71, 2734, 2735,   71, 2736,
-      2729, 2727,   71,   71, 2737, 2740,   71,   71,   71, 2731,
-      2738,   71, 2743,   71,   71,   71, 2741,   71,   71,   71,
-      2742,   71, 2739, 2744, 2748, 2747,   71, 2745, 2750,   71,
-      2752,   71, 2746, 2753,   71, 2755,   71, 2751,   71,   71,
-        71, 2749, 2754,   71, 2760,   71, 2761, 2763, 2759,   71,
-        71,   71,   71,   71, 2756, 2757, 2758,   71, 2762,   71,
-      2766, 2769,   71,   71,   71, 2771, 2767,   71,   71, 2772,
-      2765,   71, 3108, 2764, 2774,   71, 2768, 2775,   71, 2777,
-        71,   71,   71, 2770,   71,   71,   71, 2782, 2776, 2773,
-        71, 2780, 2779,   71, 2786,   71,   71, 2784,   71, 2778,
-        71, 2787,   71, 2788, 2781, 2783, 2791,   71, 2789,   71,
-      2785, 2794,   71, 2792,   71,   71,   71,   71, 2793,   71,
-      2790, 2796,   71, 2799, 2797, 2795, 2802,   71, 2798,   71,
-        71,   71,   71,   71, 2807,   71,   71, 3108,   71, 2800,
-      2801,   71, 2803, 2810,   71,   71, 2806, 2809,   71, 2804,
-      2811,   71,   71, 2812,   71, 2808,   71, 2805,   71, 2813,
-      2820, 2814, 2815,   71, 2816,   71, 2817,   71,   71, 2819,
-        71,   71, 2824, 2818, 2821,   71, 2822, 2825,   71,   71,
-      2823,   71,   71,   71, 2831,   71, 2832,   71, 2833,   71,
-      3108,   71, 2830,   71,   71, 2828, 2837,   71, 2827,   71,
-        71, 2826, 2829,   71, 2836, 2838,   71, 2840, 2839, 2834,
-      2835, 2841, 2842,   71, 2844,   71,   71,   71,   71,   71,
-        71, 2843,   71, 2845,   71, 2848,   71,   71,   71,   71,
-      2850,   71,   71,   71, 2849, 2851, 2846,   71,   71, 2847,
-        71,   71, 2867,   71, 3108, 2852, 2860, 2856, 2853, 2854,
-      2855,   71, 2863, 2862, 2857, 2858, 2861,   71,   71, 2859,
-      2865,   71, 2864, 2868,   71,   71, 2870,   71, 3108, 2869,
-      2871,   71, 2872, 2873, 2866,   71, 2874, 2875,   71,   71,
-      2876, 2877, 2878,   71,   71,   71, 2881,   71,   71, 2879,
-        71,   71,   71,   71, 2880, 2887,   71,   71, 2886,   71,
-        71,   71,   71, 2890, 2883,   71, 2882, 2889, 3108,   71,
-      2891, 2884, 2885,   71, 2895, 2896,   71, 2892, 2894, 2897,
-        71,   71, 2888, 2893,   71,   71, 2902, 2904,   71, 2899,
-        71, 2903,   71,   71, 2900,   71, 2898, 2901,   71,   71,
-        71, 2911,   71, 2908, 2909, 2906, 2912,   71,   71, 2914,
-        71, 2963,   71, 2905, 2913,   71, 2907, 2915,   71, 2910,
-      2916, 2917,   71, 2918,   71, 2919,   71, 2920,   71, 2921,
-        71, 2922,   71, 2923,   71, 2924,   71, 2925,   71,   71,
-        71, 2928,   71,   71,   71,   71,   71, 2933,   71, 2927,
-        71,   71, 2929,   71,   71,   71, 2930,   71, 2937, 2939,
-        71,   71,   71, 2935, 2932, 2926, 2931, 2936, 2934, 2938,
-        71,   71, 2943, 2941,   71,   71, 2946, 2942, 2945, 2940,
-      2944,   71,   71,   71,   71,   71, 2948,   71, 2947,   71,
-        71,   71,   71, 2952,   71, 2956, 2955,   71, 2953,   71,
-      2951,   71, 2949, 2950,   71, 2954,   71, 2957, 2958,   71,
-      2959,   71, 2960,   71,   71, 2962,   71,   71, 2965, 2964,
-      2961, 2968,   71, 2971, 2966, 2967,   71,   71, 2969,   71,
-        71,   71, 2970,   71,   71,   71,   71, 2981,   71,   71,
-      2972,   71,   71, 2978,   71,   71, 2975, 2983, 2973, 2974,
-      2977, 2979, 2986,   71,   71, 2988,   71, 2980, 2976, 2984,
-        71, 2982,   71, 2987, 2985,   71, 2989, 2990,   71, 2991,
-        71,   71,   71,   71, 2994,   71,   71, 2995, 2996, 2992,
-      2999,   71, 2993,   71,   71,   71,   71,   71, 3002, 3004,
-        71, 2998,   71, 3007,   71, 3000, 3001,   71,   71,   71,
-      2997,   71, 3005, 3010,   71, 3003,   71, 3011, 3014, 3012,
-        71, 3006, 3008, 3015,   71,   71, 3009,   71, 3013,   71,
-        71, 3020,   71,   71, 3016, 3019, 3021,   71, 3017,   71,
-        71,   71,   71,   71, 3025,   71, 3018,   71, 3027,   71,
-        71,   71,   71,   71, 3022, 3024, 3032, 3033,   71, 3023,
-      3029,   71, 3026, 3030, 3028, 3034,   71,   71, 3031, 3038,
-        71, 3040, 3039, 3035,   71, 3041, 3036,   71,   71,   71,
-      3037,   71,   71, 3042, 3043, 3046, 3044, 3047,   71,   71,
-        71,   71, 3049,   71, 3048,   71,   71,   71,   71, 3050,
-      3055, 3045,   71, 3052,   71,   71,   71,   71, 3058, 3051,
-      3059,   71,   71,   71,   71,   71, 3053, 3054, 3057, 3062,
-        71, 3056, 3060, 3063,   71, 3061,   71, 3066, 3065, 3067,
-        71, 3064,   71, 3068,   71, 3070,   71, 3072,   71, 3073,
-        71,   71,   71, 3077,   71, 3074, 3108,   71, 3075, 3080,
-        71, 3071, 3078,   71,   71, 3079, 3069,   71,   71,   71,
-        71, 3076,   71,   71, 3081, 3082,   71, 3084, 3086,   71,
-        71, 3088,   71, 3083,   71, 3089,   71, 3092, 3085, 3087,
-      3093,   71, 3090,   71,   71, 3096, 3097,   71,   71, 3099,
-        71, 3091,   71, 3094,   71, 3098, 3100,   71,   71, 3101,
-        71,   71, 3095, 3102, 3108, 3103, 3106,   71, 3107,   71,
-      3108, 3108, 3108, 3104, 3108, 3108, 3108, 3108, 3108, 3108,
-      3105,   43,   43,   43,   43,   43,   43,   43,   48,   48,
-        48,   48,   48,   48,   48,   53,   53,   53,   53,   53,
-        53,   53,   59,   59,   59,   59,   59,   59,   59,   64,
-        64,   64,   64,   64,   64,   64,   74,   74, 3108,   74,
-        74,   74,   74,  142,  142, 3108, 3108, 3108,  142,  142,
-       144,  144, 3108, 3108,  144, 3108,  144,  146, 3108, 3108,
-      3108, 3108, 3108,  146,  149,  149, 3108, 3108, 3108,  149,
-       149,  151, 3108, 3108, 3108, 3108, 3108,  151,  153,  153,
-      3108,  153,  153,  153,  153,   75,   75, 3108,   75,   75,
-        75,   75,   13, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108
+        18,   19,   20,   21,   22,   23,   22,   18,   18,   18,
+        18,   18,   22,   24,   25,   26,   27,   28,   29,   30,
+        18,   31,   32,   33,   34,   35,   36,   37,   38,   39,
+        40,   41,   42,   43,   44,   45,   18,   18,   18,   46,
+        48,   49,   50,   48,   49,   50,   53,   54,   53,   54,
+        55,   51,   55,   85,   51,   85,   85,   56,   85,   56,
+        58,   59,   60,   61,   85,   22,   58,   59,   60,   61,
+        86,   22,   62,   64,   65,   66,   86,   97,   62,   64,
+        65,   66,   87,   86,   67,  119,   88,  108,   85,   86,
+        67,   19,   20,   21,   69,   70,   71,   75,   76,   77,
+        78,   86,   22,   72,  121,   86,  120,  109,   86,   79,
 -      159,  159,   73,   19,   20,   21,   69,   70,   71,   75,
 -       76,   77,   78,  186,   22,   72,   81,   82,   83,  130,
++      160,  160,   73,   19,   20,   21,   69,   70,   71,   75,
++       76,   77,   78,  187,   22,   72,   81,   82,   83,  130,
+        90,   79,   90,   90,   73,   90,   86,   84,   81,   82,
 -       83,   90,   91,   86,   86,   98,   92,   93,  169,   84,
 -       94,  158,   99,   86,  110,   95,  100,  161,   86,  101,
 -      161,  169,   86,  112,   96,   86,  166,  166,  111,   86,
 -      102,  113,  136,  115,  103,  172,  116,  104,   86,  105,
 -      106,  178,  114,  117,  169,  118,   86,  122,   86,  126,
 -      107,   86,  155,  127,  177,  123,  156,   86,   86,  137,
 -
 -      157,  124,  131,  138,   87,  125,  132,  128,   88,  129,
 -      176,  176,  133,  139,  140,  134,  141,   86,   86,   86,
 -       86,  179,  135,  142,   86,  147,  143,  148,   86,   86,
 -       86,  181,  183,  144,  151,  180,  149,  145,  146,   86,
 -      182,   86,  150,  206,  152,  175,  208,   86,  153,  154,
 -      163,  225,  163,  163,   90,  163,   90,   90,  168,   90,
 -      168,  168,  173,  168,  173,  173,  171,  173,   85,   86,
 -       85,   85,   90,   85,   90,   90,   86,   90,   86,   85,
 -       86,  184,   86,   90,   91,  187,   86,  192,  193,   86,
 -       86,  196,  189,   86,  185,   86,  188,   86,  190,   86,
 -
 -      191,   86,  194,   86,  198,   86,  174,  199,  195,   86,
 -      197,   86,  201,  202,   86,  200,   86,  204,  214,  210,
 -      203,  205,  211,  209,   86,  207,   86,   86,   86,   86,
 -      216,  217,   86,  222,   86,  212,  213,  219,  223,  226,
 -      227,  220,  224,  215,   86,   86,   86,   86,   86,  231,
 -       86,  218,  228,  229,  233,   86,   86,  221,   86,  230,
 -      235,   86,  238,   86,  236,  232,  234,   86,   86,   86,
 -      169,  240,   86,   86,  252,  250,  237,   86,  239,   86,
 -      241,   86,  246,  243,   86,  249,  242,   86,  245,  244,
 -       86,  253,   86,  247,  254,   86,  251,  248,  259,  255,
 -
 -       86,   86,   86,  257,  261,   86,  265,   86,   86,  258,
 -      256,  260,  264,  262,   86,  159,  159,  266,   86,  268,
 -      161,  269,   86,  161,  367,  263,  267,  163,  169,  163,
 -      163,  270,  163,  166,  166,  168,  274,  168,  168,   90,
 -      168,   90,   90,  173,   90,  173,  173,   86,  173,  176,
 -      176,  171,  271,  272,   86,   86,   86,   86,   86,   86,
 -       86,   86,   86,  276,   86,  279,  282,  278,  273,  275,
 -      277,   86,  285,  284,  290,  281,   86,  280,   86,  286,
 -       86,  288,  283,   86,  289,  291,   86,   86,   86,   86,
 -      292,   86,  294,   86,  299,   86,  287,  295,  300,   86,
 -
 -      302,  304,  296,   86,  303,  306,   86,  293,  297,  298,
 -      301,   86,   86,   86,   86,   86,  308,   86,  309,   86,
 -       86,   86,  310,  305,   86,  316,  317,   86,  311,  313,
 -      312,  167,  314,   86,  307,   86,  318,  315,  323,  319,
 -      326,  320,   86,  325,  324,  328,   86,   86,  327,   86,
 -      330,   86,  332,  321,  333,  322,   86,  329,   86,  336,
 -       86,   86,  331,   86,   86,   86,  337,  338,  339,  334,
 -      335,  340,   86,   86,   86,   86,  342,   86,   86,  341,
 -      343,   86,   86,   86,  345,   86,   86,   86,   86,   86,
 -      348,  350,   86,  355,  346,  344,  349,  351,  356,   86,
 -
 -      352,   86,   86,  347,   86,  353,  357,  354,  359,  361,
 -      358,   86,  364,   86,   86,   86,   86,  370,   86,  366,
 -       86,   86,  371,   86,  360,  373,   86,  369,   86,  362,
 -      363,   86,   86,  365,   86,  368,   86,  376,  374,  378,
 -      372,  377,   86,  380,  169,   86,  375,   86,   86,   86,
 -      381,   86,  384,   86,   86,   86,  385,  383,   86,  391,
 -      389,  387,  392,  379,   86,   86,   86,  382,   86,  393,
 -      386,  394,  395,   86,  388,   86,   86,   86,   86,   86,
 -       86,  390,   86,  406,  402,  403,   86,  400,  396,  397,
 -       86,  399,   86,   86,  398,  404,   86,  405,   86,  408,
 -
 -       86,  409,   86,   86,   86,  401,  412,   86,   86,  416,
 -      407,  413,   86,   86,  418,   86,   86,  414,  410,  411,
 -       86,  415,   86,  420,  419,   86,   86,  417,   86,   86,
 -      421,   86,  423,  424,  425,  426,  428,   86,   86,   86,
 -       86,   86,  433,  429,   86,  432,   86,  422,   86,   86,
 -      165,  431,  435,   86,   86,  438,   86,   86,  430,   86,
 -      427,  443,  440,   86,  434,   86,  444,   86,  436,  442,
 -       86,  437,   86,   86,  439,  466,   86,  445,  454,  441,
 -       86,  452,   86,   86,   86,  455,  458,  456,  453,  446,
 -       86,   86,  447,  465,   86,   86,  460,  448,  449,  450,
 -
 -      451,   86,  791,  457,  459,   86,  463,  461,  462,  469,
 -       86,  464,   86,   86,  472,   86,   86,  474,  467,  470,
 -       86,  468,  471,   86,  475,  473,   86,   86,   86,   86,
 -       86,   86,  477,  482,   86,   86,  483,   86,  484,   86,
 -      478,  476,  487,  488,   86,   86,  481,  485,  479,   86,
 -      480,   86,   86,  499,  486,   86,  489,  490,  492,  494,
 -      493,   86,  501,  491,  495,   86,  500,   86,   86,  502,
 -       86,   86,  503,   86,   86,   86,  515,  496,  504,   86,
 -      497,   86,  498,   86,  505,  164,   86,   86,  506,  517,
 -      520,  514,   86,  519,  516,  522,  507,   86,  508,   86,
 -
 -      509,  518,  536,   86,  532,   86,  521,  530,  531,  533,
 -       86,  534,   86,  510,   86,   86,  511,  169,  512,   86,
 -      513,   86,  539,  523,  524,  540,   86,  537,  538,   86,
 -       86,   86,  162,  525,  542,  526,  527,  528,  535,  544,
 -      529,  541,   86,  543,   86,   86,  548,  546,   86,  545,
 -      549,   86,  553,  551,   86,  554,   86,   86,   86,  550,
 -       86,  558,   86,   86,   86,  547,  552,   86,   86,  556,
 -       86,   86,   86,  561,  557,  160,  555,  562,  563,  560,
 -       86,   86,   86,  568,  564,  567,  565,  559,  566,   86,
 -       86,  569,  570,   86,  572,   86,  575,  573,   86,   86,
 -
 -       86,  576,   86,   86,  589,   86,   86,  592,   86,  571,
 -       86,  584,  574,  577,  581,  578,  580,  590,  579,  585,
 -      586,   86,   86,  587,  588,  582,  591,  583,  594,   86,
 -       86,  593,   86,   86,   86,  598,  596,  597,   86,   86,
 -       86,  601,   86,  599,  603,   86,   86,   86,   86,  606,
 -      595,  604,  607,   86,   86,  602,   86,  608,   86,  600,
 -      605,   86,   86,   86,  613,   86,  611,  612,   86,  609,
 -       86,   86,  614,   86,   86,   86,  619,  610,  620,   86,
 -      615,   86,  622,  618,  623,  616,   86,  621,  617,   86,
 -      625,   86,   86,  627,   86,   86,   86,   86,   86,   86,
 -
 -       86,   86,   86,  629,   86,  630,  638,  624,  639,   86,
 -      632,   86,   86,  626,   86,  628,  641,  631,  633,  635,
 -      634,  640,  636,  637,   86,   86,   86,   86,  642,  645,
 -       86,  648,  643,   86,  651,  644,   86,   86,   86,  646,
 -       86,  650,   86,   86,   86,  647,   86,  654,  657,   86,
 -      653,   86,   86,  649,  658,   86,   86,  660,  652,   86,
 -       86,   86,   86,   86,   86,  655,  659,  656,  674,   86,
 -       86,  661,  663,  696,  677,  662,   86,  664,  673,   86,
 -      672,  675,  665,  177,  666,  676,   86,   86,   86,   86,
 -      667,  681,  668,  678,  680,  669,  670,  679,  684,  685,
 -
 -       86,   86,  671,  682,   86,   86,  683,  689,   86,   86,
 -      686,   86,  692,   86,   86,  687,   86,  688,   86,  694,
 -       86,   86,   86,   86,   86,  701,   86,  175,  700,  691,
 -       86,  690,   86,  698,   86,  695,  697,   86,  693,  705,
 -      704,  703,  169,  702,  699,  707,  706,  709,   86,  708,
 -       86,   86,   86,   86,   86,   86,   86,  716,  714,   86,
 -      719,   86,   86,   86,  711,   86,  720,  710,  712,  715,
 -      713,  718,   86,  722,  721,   86,   86,  723,  724,   86,
 -       86,   86,   86,  717,   86,  728,  727,   86,   86,   86,
 -      725,  733,   86,  729,  829,  726,  734,   86,  736,   86,
 -
 -      730,  738,  735,  731,  732,  737,   86,   86,  739,   86,
 -      740,   86,  741,  744,  742,   86,   86,   86,   86,  743,
 -       86,   86,  747,   86,  746,   86,   86,  745,  750,   86,
 -      755,  749,   86,   86,  751,  748,   86,  754,   86,   86,
 -       86,   86,  756,   86,  760,  758,   86,   86,   86,  752,
 -       86,  753,   86,  763,  766,  759,   86,  757,   86,   86,
 -       86,  761,   86,  767,   86,  774,  764,  174,  762,   86,
 -      768,   86,  765,   86,  769,   86,   86,  773,  777,  770,
 -      775,  778,  771,  772,   86,  776,  781,   86,   86,  779,
 -       86,  783,   86,   86,  784,   86,  782,   86,  786,  780,
 -
 -      787,   86,   86,   86,   86,   86,  788,   86,  793,  795,
 -       86,  789,   86,   86,   86,   86,  785,  792,  801,   86,
 -      790,  796,   86,  799,   86,  794,  797,  800,  802,  798,
 -       86,  804,  805,  803,   86,   86,   86,  808,  806,   86,
 -      810,  807,   86,  812,   86,   86,   86,  811,  813,   86,
 -       86,  816,   86,  809,   86,  815,  817,   86,   86,   86,
 -      823,   86,   86,  820,  169,  818,   86,  819,  825,  814,
 -       86,   86,  828,   86,   86,  826,  830,  821,  822,  832,
 -      824,   86,  827,   86,  835,   86,  833,   86,  834,  836,
 -       86,  831,   86,  837,   86,   86,  839,   86,   86,  841,
 -
 -       86,   86,   86,  847,   86,  842,  838,   86,  848,   86,
 -       86,   86,   86,   86,  840,   86,  843,   86,  844,  849,
 -      845,   86,  846,   86,   86,  852,  850,  851,  856,  854,
 -      855,   86,  853,   86,   86,  857,  858,  861,   86,   86,
 -       86,   86,  859,   86,   86,   86,  870,   86,   86,  868,
 -      860,   86,  871,   86,   86,  863,  862,   86,  864,  865,
 -      866,  869,  867,   86,   86,  872,   86,   86,  874,  876,
 -      877,   86,  873,   86,   86,   86,   86,  875,  880,  881,
 -      879,  883,  882,   86,   86,  878,   86,   86,  884,   86,
 -       86,  885,  169,  886,   86,   86,  887,  891,  888,  889,
 -
 -       86,  890,   86,  892,  895,   86,  893,   86,  894,   86,
 -      899,   86,   86,   86,  900,  902,   86,  903,   86,   86,
 -      896,  897,  901,  906,   86,   86,   86,  904,   86,   86,
 -      898,   86,  908,  912,   86,   86,   86,  909,  905,   86,
 -       86,   86,  913,  914,  907,   86,   86,   86,   86,  911,
 -       86,  910,   86,  915,  928,   86,  927,   86,  929,  930,
 -      925,  917,  167,  926,   86,  916,   86,   86,  918,  937,
 -       86,  919,   86,  931,  932,  920,   86,  933,  921,   86,
 -      934,   86,  936,  935,  939,  922,  923,  938,  924,   86,
 -       86,   86,  940,  941,  947,  942,   86,   86,  943,   86,
 -
 -       86,  950,  948,  944,  952,   86,   86,   86,   86,  945,
 -      946,  954,   86,  959,  949,  958,   86,  962,  960,   86,
 -      953,   86,  956,  951,  955,   86,   86,   86,  961,   86,
 -      965,  964,  966,  957,   86,   86,   86,  967,  969,   86,
 -      963,  968,   86,   86,  970,   86,   86,  971,   86,  973,
 -       86,   86,  977,   86,   86,   86,   86,  980,  976,   86,
 -       86,   86,  972, 1030,  984,  165,  974,  975,  978,  979,
 -       86,  982,  981,   86,  986,   86,   86,  990,  985,  987,
 -      991,  989,  983,   86,  988,   86,   86,   86,  993,   86,
 -       86,   86,  992,  994,   86,  995,  997,   86,   86,  996,
 -
 -      998,   86,   86,   86,   86,   86,  999,   86, 1001, 1004,
 -       86, 1002, 1008,   86, 1007,   86, 1005,   86,   86,   86,
 -     1000, 1006,   86,   86, 1003,   86,   86,   86, 1010,   86,
 -     1013, 1011, 1015,   86,   86, 1014, 1009,   86, 1016,   86,
 -       86, 1017,   86, 1021,   86, 1023, 1019, 1012, 1022,   86,
 -       86,   86, 1020,   86,   86, 1024, 1028, 1031,   86, 1018,
 -     1026, 1025,   86,   86, 1029,   86,   86, 1033,   86,   86,
 -       86,   86,   86,   86, 1027, 1032, 1041,   86,   86, 1039,
 -       86, 1044, 1294,   86, 1034, 1035, 1036,   86,   86, 1038,
 -     1037, 1042, 1045,   86, 1040,   86, 1043, 1047,   86,   86,
 -
 -     1046, 1049, 1052,   86, 1051,   86,   86, 1048,   86,   86,
 -       86,   86, 1050,   86,   86, 1054, 1061, 1056, 1062,   86,
 -     1064,   86,   86,   86,   86, 1053,   86,   86, 1055,   86,
 -     1057, 1069, 1059, 1058, 1060, 1063, 1067, 1065, 1068, 1066,
 -       86,   86,   86,   86,   86, 1076, 1073,   86, 1070,   86,
 -     1075,   86, 1071,   86,   86, 1080, 1077,   86, 1082,   86,
 -     1072,   86,   86,   86, 1074, 1078, 1085, 1079, 1084,   86,
 -       86, 1086,  169,   86, 1088,   86, 1089, 1081,   86,   86,
 -     1083,   86,   86,   86, 1087,   86, 1092,   86,   86,   86,
 -     1105,   86,   86, 1108,   86, 1090, 1106, 1095, 1091,   86,
 -
 -     1096, 1093,   86, 1094,   86, 1097, 1107,   86, 1110, 1098,
 -       86,   86, 1113, 1099,   86, 1100,   86, 1111,   86, 1101,
 -       86, 1102, 1119,   86, 1109, 1112, 1103, 1115, 1114, 1117,
 -     1118, 1104, 1116,   86, 1120,   86,   86,   86, 1121,   86,
 -     1122,   86, 1125,   86,   86,   86,   86,   86, 1124, 1131,
 -     1123, 1135, 1130, 1126, 1129, 1132,   86, 1128, 1133, 1134,
 -       86,   86, 1127, 1136,   86,   86, 1138,   86,   86,   86,
 -       86,   86,   86,   86, 1151, 1148,   86,   86,   86,   86,
 -     1147, 1152,   86, 1150,   86, 1139, 1149, 1137,   86, 1140,
 -     1153, 1154,   86, 1158, 1141,   86, 1142, 1155, 1156,   86,
 -
 -     1157,   86, 1143,   86, 1160,   86, 1159, 1144, 1145, 1164,
 -       86,   86,   86, 1161, 1146, 1165, 1167,   86,   86, 1162,
 -     1168,   86,   86, 1163, 1172,   86, 1170,   86,   86,   86,
 -       86,   86, 1166, 1173,   86, 1178,   86, 1169, 1171,   86,
 -     1175,   86,   86, 1176,   86, 1177, 1174, 1181, 1179,   86,
 -       86,   86,   86,   86,   86, 1180,   86,   86,   86,   86,
 -     1186, 1187, 1188, 1183, 1182, 1185, 1190,   86,   86,   86,
 -     1184, 1189,   86, 1191,   86,   86,  164, 1196, 1193,   86,
 -     1198, 1192,   86, 1195, 1199,   86,   86, 1194, 1203, 1197,
 -     1200, 1201,   86, 1202,   86,   86, 1206,   86,   86, 1204,
 -
 -     1210, 1207,   86,   86, 1208,   86,   86, 1209,   86,   86,
 -       86, 1205, 1211, 1217,   86, 1219,   86,   86,   86,   86,
 -     1223,   86, 1213, 1215, 1216, 1212, 1214,   86,   86,   86,
 -       86, 1220, 1221,   86, 1218, 1225,   86,   86, 1226, 1224,
 -       86, 1228, 1222,   86,   86, 1227, 1231,   86, 1229, 1230,
 -     1234, 1235,   86, 1233,   86,   86,   86,   86,   86,   86,
 -     1232, 1238,   86, 1236,   86, 1239,   86,   86, 1245, 1243,
 -     1246,   86,   86, 1237,   86, 1240,   86, 1247, 1241,   86,
 -     1244,   86, 1242, 1250, 1248,   86, 1249, 1253,   86,   86,
 -       86, 1252,   86,   86,   86, 1254, 1255,   86,   86,   86,
 -
 -       86, 1256, 1260, 1251,   86,   86, 1258, 1257, 1261, 1263,
 -       86, 1262,   86, 1259,   86, 1267, 1268,   86,   86, 1271,
 -       86,   86,   86, 1270, 1265,   86,   86,   86, 1264,   86,
 -     1275,   86, 1269, 1266,   86,   86,   86,   86,  169, 1274,
 -     1273, 1281,   86,   86, 1272, 1277,   86, 1276,   86,   86,
 -     1278,   86,   86, 1286,   86,   86, 1280, 1283, 1282, 1301,
 -     1279, 1284, 1290, 1285, 1287, 1288,   86, 1291,   86, 1289,
 -     1292,   86,   86,   86,   86,   86, 1293, 1295,   86,   86,
 -       86,   86,   86, 1298, 1304,   86,   86,   86, 1296, 1297,
 -       86,   86,   86,   86, 1299, 1442, 1302,   86, 1308, 1300,
 -
 -     1305, 1303, 1310,   86,   86, 1306, 1307, 1314,   86, 1315,
 -     1309, 1311,   86, 1312, 1317,   86, 1313, 1316,   86,   86,
 -       86,   86, 1322, 1320,   86, 1318,   86,   86,   86, 1324,
 -       86,   86,   86, 1319,   86, 1323, 1327, 1331,   86, 1329,
 -     1321,   86, 1326,   86,   86,   86, 1325,   86, 1328, 1332,
 -     1333, 1330, 1335,   86,   86,   86,   86, 1336, 1338,   86,
 -       86, 1334,   86, 1337,   86,   86,   86, 1343,   86,   86,
 -     1339, 1341,   86,   86,   86, 1340, 1344, 1342, 1348,   86,
 -       86,   86,   86,   86, 1345,   86, 1347, 1346, 1349, 1350,
 -     1352,   86,   86, 1360, 1351, 1353,   86, 1355, 1354,   86,
 -
 -       86, 1356,   86,   86,   86,   86, 1358,   86, 1357,  162,
 -     1363, 1361, 1359,   86, 1362,   86, 1368, 1367, 1366,   86,
 -     1365, 1369,   86, 1364,   86, 1373, 1370,   86,   86, 1371,
 -     1383,   86, 1372,   86, 1374, 1405,   86, 1382, 1375,   86,
 -     1381, 1376, 1377,   86, 1384,   86, 1378, 1387, 1386,   86,
 -     1385,   86, 1379,   86, 1388,   86, 1380,   86, 1390,   86,
 -     1389,   86, 1392,   86,   86,   86, 1393,   86, 1394,   86,
 -       86,   86, 1391,  160, 1397, 1399,   86,   86, 1402, 1395,
 -     1403, 1404, 1396, 1400,   86,   86,   86, 1398, 1414, 1401,
 -       86, 1411, 1412, 1413, 1406,   86,   86,   86,   86, 1407,
 -
 -     1415, 1408,   86, 1409, 1419, 1410,   86,   86,   86, 1420,
 -       86, 1418, 1416, 1423,   86, 1421, 1417,   86,   86,   86,
 -       86, 1429,   86, 1430,   86,   86, 1425,   86, 1424, 1422,
 -       86,   86, 1431,   86, 1428, 1433,   86, 1426, 1427, 1432,
 -       86,   86, 1435, 1439,   86, 1434, 1438,   86, 1441,   86,
 -       86,   86,   86, 1443, 1436,   86, 1444, 1447,   86,   86,
 -     1449,   86, 1440,   86, 1446, 1437,   86, 1450, 1451,   86,
 -       86, 1445, 1454,   86,   86,   86,   86,   86, 1456, 1448,
 -       86,   86, 1458, 1460,   86,   86,   86,   86, 1462, 1459,
 -     1452, 1453, 1464,   86, 1455,   86, 1457,   86,   86,   86,
 -
 -     1466, 1463, 1461, 1468, 1470, 1467,   86, 1465,   86, 1469,
 -       86, 1471,   86, 1472,   86,   86,   86, 1477, 1478, 1480,
 -     1474,   86, 1475,   86,   86,   86, 1479,   86,   86, 1476,
 -     1473,   86, 1484,   86,   86,  169, 1481,   86,   86, 1489,
 -     1490,   86, 1483,   86,   86,   86,   86, 1482,   86, 1491,
 -     1486,   86, 1492, 1497, 1485,   86,   86, 1487,   86,   86,
 -     1500, 1488, 1493,   86, 1495,   86,   86,   86, 1494, 1498,
 -       86, 1496, 1504,   86, 1499, 1505,   86,   86, 1507,   86,
 -     1509,   86,   86, 1501, 1503, 1510,   86,   86,   86, 1513,
 -     1502, 1512,   86, 1506,   86,   86, 1508, 1511,   86, 1518,
 -
 -     1521, 1514, 1519, 1515, 1520,   86, 1523, 1516,   86,   86,
 -     1517,   86,   86, 1524,   86, 1526,   86,   86,   86, 1522,
 -     1527,   86, 1525, 1531,   86,   86,   86, 1528,   86, 1532,
 -       86, 1535,   86,   86, 1530, 1533,   86, 1540,   86,   86,
 -     1529,   86, 1541, 1544, 1537, 1534,   86,   86, 1536,   86,
 -     1538, 1539,   86,   86,   86,   86,   86, 1542, 1545,   86,
 -     1543, 1551,   86,   86, 1553,   86, 1546, 1547,   86, 1548,
 -     1549, 1550, 1552,   86, 1556,   86,   86, 1555, 1557, 1561,
 -     1554,   86, 1560, 1562, 1558,   86,   86, 1564,   86,   86,
 -       86,   86,   86,   86,   86, 1569, 1559, 1565, 1568, 1570,
 -
 -     1563,   86, 1571,   86, 1572,   86, 1566,   86,   86,   86,
 -     1573, 1574,   86, 1567,   86,   86, 1576,   86, 1575,   86,
 -       86,   86,   86, 1582,   86,   86, 1581,   86,   86, 1578,
 -     1585,   86, 1588, 1577, 1579, 1584, 1580, 1589,   86,   86,
 -     1590,   86, 1586,   86, 1583, 1591,   86,   86, 1593,   86,
 -     1587,   86,   86,   86,   86, 1601, 1597,   86, 1596, 1592,
 -     1594,   86, 1595,   86, 1604,   86,   86,   86, 1602,   86,
 -       86, 1598, 1600, 1599, 1607, 1606,   86,   86,   86,   86,
 -       86,   86,   86, 1603, 1605, 1608, 1609,   86, 1615,   86,
 -       86, 3295, 1612, 1616, 1622, 1610, 1611, 1614, 1618,   86,
 -
 -     1613, 1617, 1619,   86,   86,   86,   86,   86,   86, 1620,
 -     1621,   86,   86, 1625, 1623,   86,   86, 1626,   86,   86,
 -     1624, 1629, 1633,   86, 1634, 1635, 1628, 1630,   86,   86,
 -     1627,   86,   86,   86, 1632, 1631,   86, 1638,   86,   86,
 -     1639,   86, 1637, 1636, 1644, 1640, 1645,   86,   86,   86,
 -       86,   86,   86, 1641,   86, 1649, 1642, 1648, 1650, 1643,
 -     1652,   86,   86,   86,   86, 1653, 1646, 1654,   86,   86,
 -     1647, 1651,   86,   86,   86, 1657,   86, 1660,   86, 1655,
 -       86,   86,   86, 1659,   86, 1656,   86, 1664,   86, 1666,
 -       86,   86,   86, 1658,   86, 1661,   86, 1672, 1665, 1662,
 -
 -     1663, 1667,   86,   86, 1668, 1669,   86,   86, 1677,   86,
 -       86, 1675,   86, 1680, 1671,   86, 1670, 1673,   86, 1678,
 -     1674,   86, 1676,   86,   86,  169,   86, 1683, 1686,   86,
 -     1679, 1685, 1682,   86,   86,   86,   86,   86,   86, 1694,
 -     1681, 1687,   86, 1684,   86,   86,   86, 1695, 1689,   86,
 -     1692, 1688, 1698,   86, 1690, 1691,   86,   86, 1699, 1702,
 -       86, 1700, 1693,   86, 1696, 1697, 1701, 1704, 1703, 1706,
 -       86, 1708,   86,   86,   86,   86,   86,   86,   86,   86,
 -     1705,   86, 1710, 1711, 1707,   86, 1713,   86, 1714,   86,
 -       86,   86,   86, 1709, 1718, 1715,   86, 1716,   86, 1719,
 -
 -       86, 1712,   86,   86, 1717, 1726, 1723, 1727, 1720, 1724,
 -       86,   86, 1721, 1728,   86,   86, 1722, 1732,   86,   86,
 -     1731, 1725, 1733, 1730, 1734,   86, 1735, 1736, 1740, 1729,
 -       86, 1742,   86,   86,   86, 1737,   86, 1738,   86, 1739,
 -       86,   86,   86,   86,   86, 1741, 1747, 1746, 1748,   86,
 -       86, 1750,   86,   86,   86, 1749,   86,   86, 1752, 1743,
 -       86, 1744,   86, 1745, 1753,   86,   86, 1754,   86,   86,
 -       86,   86, 1751,   86, 1755,   86,   86,   86, 1764, 1763,
 -     1756,   86, 1758, 1759, 1760,   86, 1757,   86, 1769, 1761,
 -       86,   86,   86, 1766,   86,   86, 1765, 1767, 1762,   86,
 -
 -     1768, 1775,   86,   86,   86,   86,   86, 1771,   86, 1773,
 -     1770, 1777, 1772,   86, 1779,   86, 1778,   86,   86, 1781,
 -     1774,   86,   86, 1776,   86,   86,   86, 1784,   86, 1786,
 -     1780,   86, 1782,   86, 1787, 1783, 1785, 1788,   86,   86,
 -     1789, 1790, 1793, 1794,   86, 1796, 1791, 1795,   86, 1797,
 -       86,   86,   86, 1792, 1798, 1799,   86, 1801,   86,   86,
 -       86,   86,   86, 1800, 1802, 1803,   86,   86, 1812,   86,
 -     1806, 1804,   86, 1811, 1805, 1808, 1810,   86, 1809,   86,
 -       86, 1807,   86,   86,   86,   86,   86,   86, 1821,   86,
 -     1814,   86, 1813,   86, 1825,   86, 1816, 1818, 1815, 1817,
 -
 -     1823,   86,   86,   86, 1820, 1822, 1824,   86, 1826, 1819,
 -       86, 1827, 1829, 1830, 1828, 1833,   86,   86,   86, 1839,
 -     1834,   86,   86,   86, 1831,   86,   86, 1838, 1832, 1842,
 -     1835, 1843, 1836, 1841,   86,   86, 1844,   86,   86,   86,
 -     1837, 1840,   86, 1845, 1848,   86,   86,   86, 1850, 1852,
 -       86,   86,   86, 1847, 1851,   86,   86, 3295, 1846, 1849,
 -     1853,   86,   86,   86, 1856,   86, 1854,   86, 1862,   86,
 -     1855, 1857, 1864,   86, 1858,   86, 1859, 1865,   86, 1860,
 -       86, 1861,   86,   86, 1867,   86, 1866, 1871,   86,   86,
 -     1863, 1873,   86,   86,   86, 1868,   86,   86, 1869, 1877,
 -
 -       86, 1870, 1872,   86,   86,   86,   86, 1879,   86, 1875,
 -     1880, 1881, 1876, 1882, 1874,   86, 1878,  169,   86, 1887,
 -       86,   86,   86,   86, 1883, 1891,   86, 1884,   86, 1885,
 -       86,   86,   86, 1886, 1889, 1893,   86,   86,   86, 1898,
 -     1888,   86, 1890, 1894, 1892,   86,   86,   86, 1895, 3295,
 -     1899, 1896, 1901, 1902,   86,   86, 1906, 1897, 1903, 1900,
 -     1904,   86,   86, 1907, 1908,   86,   86, 1905,   86,   86,
 -     1910,   86,   86,   86, 1911,   86,   86,   86, 1909,   86,
 -       86,   86, 1916,   86, 1917,   86,   86,   86, 1921, 1918,
 -       86, 3295, 1912, 1914, 1915, 1913, 1920, 1919,   86, 1922,
 -
 -       86,   86, 1928, 1925,   86, 1927, 1924, 1929,   86, 1930,
 -     1926,   86, 1923,   86,   86,   86,   86,   86, 1936,   86,
 -     1939,   86, 1931, 1932, 1940,   86, 1941,   86,   86, 1934,
 -     1933, 1937,   86, 1938, 1935, 1943,   86,   86, 1944, 1947,
 -       86, 1942,   86,   86, 1949,   86, 1948,   86, 1950, 1945,
 -       86, 1951, 1953, 1946, 1956,   86,   86,   86,   86, 1955,
 -       86, 1952,   86, 1959,   86,   86,   86, 1958,   86,   86,
 -     1963,   86, 1954, 1962,   86,   86, 1964, 1965,   86,   86,
 -     1957, 1960,   86,   86, 1973,   86, 1961, 1966, 1967, 1968,
 -       86, 1975, 1971,   86, 1969,   86, 1976,   86, 1970, 1972,
 -
 -     1978,   86, 1974, 1979,   86, 1982, 1980, 1977,   86,   86,
 -       86,   86, 1986,   86,   86,   86, 1988, 1983,   86, 1981,
 -       86,   86, 1991, 1992,   86,   86, 1994,   86,   86, 1984,
 -       86, 1985,   86,   86, 2000,   86,   86, 1999, 1989, 1996,
 -     1987, 1997, 1990,   86,   86, 1993,   86,   86,   86,   86,
 -     2006,   86,   86, 1995, 1998, 2003, 2004, 2001,   86, 2002,
 -     2010,   86,   86, 2009, 2013, 2014,   86,   86, 2008, 2012,
 -       86,   86, 2005, 2015,   86,   86, 2017, 2007,   86,   86,
 -     2016, 2011,   86,   86,   86,   86, 2021,   86, 2024, 2025,
 -     2026, 2020,   86,   86,   86,   86,   86,   86, 2018,   86,
 -
 -       86, 2019, 2022, 2029,   86, 2034,   86,   86, 2028, 2033,
 -       86, 2023, 2027,   86, 2031,   86, 2035, 2038,   86, 2030,
 -       86, 2039, 2032, 2041,   86, 2036, 2037, 2040,   86, 2045,
 -       86, 2043, 2042,   86,   86,   86, 2044,   86,   86,   86,
 -     2049, 2052,   86,   86,   86, 2055,   86,   86, 2047, 2054,
 -       86, 2056, 2058,   86, 2046,   86, 2048, 2053, 2050, 2051,
 -       86, 2062,   86,   86, 2057,   86, 2059, 2063,   86, 2064,
 -     2066, 2060, 2067, 2061, 2065,   86,   86,   86,   86,   86,
 -     2071,   86, 2069,   86,   86,   86,   86, 2073, 2076, 2068,
 -     2075, 2070, 2078, 2072,   86,  169, 2074,   86,   86,   86,
 -
 -     2079,   86,   86,   86,   86, 2084,   86, 2077, 2083, 2080,
 -     2111, 2081,   86, 2085, 2086,   86, 2087,   86,   86, 2089,
 -     2082,   86,   86, 2091, 2088,   86,   86, 2090, 2092,   86,
 -       86,   86,   86, 2095, 2094, 2093,   86, 2097,   86,   86,
 -       86, 2101,   86, 2096, 2098, 2100,   86,   86, 2102,   86,
 -     2099, 2103, 2104,   86, 2106,   86, 2105,   86,   86,   86,
 -       86, 2113,   86,   86,   86, 2112, 2108,   86,   86, 2107,
 -       86,   86, 2115,   86, 2118,   86, 2109,   86, 2110,   86,
 -     2114, 3295, 2116,   86, 2117, 2119, 2120, 2125, 2121,   86,
 -     2123, 2122, 2124,   86,   86, 2129,   86,   86, 2126, 2127,
 -
 -     2130,   86,   86, 2135,   86,   86, 2128,   86,   86,   86,
 -       86, 2137,   86, 3295, 2138, 2139,   86, 2131, 2132, 2133,
 -       86, 2134, 2136, 2141,   86,   86, 2142,   86, 2140, 2145,
 -       86, 2143,   86, 2144,   86,   86,   86, 2146,   86, 2149,
 -       86,   86,   86, 2150,   86,   86,   86,   86,   86,   86,
 -     3295,   86,   86, 2152, 2147,   86, 2148, 2153, 2155, 2154,
 -       86, 2151, 2157, 2162, 2163,   86, 2158,   86, 2156, 2160,
 -     2164, 2161, 2167,   86,   86, 2165, 2166,   86,   86, 2159,
 -     2170,   86, 2169,   86,   86,   86,   86,   86, 2172,   86,
 -       86, 2173, 2178,   86, 2168, 2174, 2176,   86,   86, 2171,
 -
 -     2180, 2177,   86, 2175, 2182,   86,   86,   86,   86, 2185,
 -       86, 2181, 2179, 2184,   86, 2186,   86, 2190,   86, 2187,
 -       86,   86,   86,   86, 2188, 2191,   86,   86, 2183, 2193,
 -       86, 2192, 2196,   86,   86, 2197, 2189, 2200,   86,   86,
 -     2195, 2194, 2198,   86, 2201,   86,   86, 2202, 2206,   86,
 -     2199,   86,   86, 2208, 2204,   86, 2203,   86, 2209,   86,
 -       86,   86, 2205, 2207, 2210, 2211,   86,   86, 2215, 2217,
 -     2213,   86,   86, 2214, 2218,   86,   86, 2212,   86,   86,
 -     2219, 2222,   86,   86, 2220,   86,   86, 2223, 2216,   86,
 -     2221,   86, 2224,   86, 2226, 2227,   86,   86,   86,   86,
 -
 -       86,   86,   86, 2225, 2228, 2231, 2236, 2229,   86, 2230,
 -     2233, 2234, 2232, 2237,   86,   86,   86,   86,   86,   86,
 -     2235, 2239, 2241, 2238,   86, 2242, 2247,   86,   86, 2249,
 -       86,   86, 2243, 2246, 2240,   86, 2244, 2248,   86, 2251,
 -       86,  169, 2255, 2252, 2245, 2257, 2258, 2256,   86,   86,
 -     2250,   86,   86, 2253,   86,   86,   86, 2259, 2262,   86,
 -       86, 2263,   86, 2254, 2260, 2267,   86,   86, 2268, 2261,
 -       86, 2266, 2271, 2270,   86, 2264,   86, 2273,   86, 2272,
 -     2274,   86, 2269,   86, 2276,   86, 2265,   86, 2275, 2277,
 -       86,   86,   86,   86,   86, 2279,   86,   86,   86, 2282,
 -
 -       86,   86, 2285,   86,   86,   86, 2289, 2278, 2291,   86,
 -       86,   86, 2280, 2284, 2292,   86, 2287,   86, 2281, 2283,
 -     2294, 2286,   86,   86, 2288,   86, 2293, 2290,   86,   86,
 -       86, 2302,   86, 2299,   86, 2297,   86,   86,   86,   86,
 -     2296,   86, 2300, 2295, 2298, 2303,   86,   86, 2301,   86,
 -       86,   86,   86, 2304, 3295, 2305,   86, 2317,   86, 2310,
 -     2308, 2306, 2315, 2307, 2313, 2312, 2314, 2309,   86,   86,
 -     2311, 2316,   86, 2318,   86, 2319,   86,   86,   86,   86,
 -     2323, 2324,   86,   86,   86, 2325,   86, 2320, 2326,   86,
 -     2321, 2322, 2327,   86, 2329, 2330,   86, 2328, 2331, 2332,
 -
 -       86, 2333,   86,   86,   86,   86,   86,   86, 2334, 2335,
 -     2339,   86, 2340,   86, 2342,   86, 2336,   86, 2338, 2344,
 -       86,   86,   86, 2347,   86, 2337, 2341, 2346, 2348,   86,
 -       86,   86,   86,   86,   86, 2343, 2345, 2354,   86, 2353,
 -     2350,   86, 2356,   86, 2349,   86, 2351,   86,   86,   86,
 -     2360, 2359, 2352, 2358, 2362,   86,   86,   86,   86,   86,
 -     2355, 2366,   86, 2357,   86, 2361,   86,   86, 2371,   86,
 -       86, 2370, 2364,   86,   86, 2363,   86, 2365, 2373, 2367,
 -       86, 2369, 2376,   86,   86,   86,   86, 2368,   86, 2372,
 -       86, 2374, 2378,   86, 2377, 2375,   86, 2383, 2379,   86,
 -
 -       86, 2385, 2384, 2386, 2380,   86, 2381,   86,   86,   86,
 -       86,   86, 2390, 2391,   86,   86, 2382, 2389, 2387, 2395,
 -     2388,   86,   86, 2393,   86, 2400, 2397, 2398,   86, 2402,
 -       86,   86, 2394,   86, 2392,   86,   86,   86, 2403, 2399,
 -       86, 2396, 2404,   86,   86, 2408, 2407,   86,   86, 2401,
 -       86,   86, 3295, 2406, 2413, 2405, 2409, 2410, 2412, 2411,
 -       86, 2414,   86,   86,   86, 2418, 2415,   86, 2419,   86,
 -     2420, 2416, 2417,   86,   86,  169,   86,   86, 2421,   86,
 -     2422,   86, 2427,   86,   86,   86, 2429,   86,   86,   86,
 -     2438,   86, 2425, 2423, 2428, 2424, 2430, 2426,   86,   86,
 -
 -     2433, 2431, 2432,   86, 2435, 3295, 2434,   86, 2439, 2436,
 -     2437, 2440,   86,   86,   86, 2443, 2441, 2444,   86, 2442,
 -       86,   86,   86,   86, 2446,   86,   86, 2445,   86, 2448,
 -       86,   86, 2452, 2453, 2447,   86, 2450,   86, 2449,   86,
 -     2455,   86,   86,   86,   86, 2456, 2457, 2458,   86, 2451,
 -       86, 2454,   86, 2460,   86, 2459, 2464,   86, 2463,   86,
 -       86, 2461, 2462,   86,   86, 2466,   86,   86,   86,   86,
 -     2473, 2470, 2465,   86, 2472,   86,   86,   86,   86, 2474,
 -     2469,   86,   86, 2467, 2468,   86, 2478,   86, 2471,   86,
 -       86, 2488, 2483, 2475, 2482,   86, 2476, 2477,   86, 2480,
 -
 -       86, 2481,   86, 2479, 2485,   86,   86,   86, 2484, 2487,
 -     2489,   86, 2491,   86, 2486, 2493,   86, 2492, 2495,   86,
 -       86,   86, 2497,   86,   86,   86,   86,   86, 2494, 2496,
 -       86, 2501, 2490,   86,   86,   86, 2505,   86, 2503, 2499,
 -     2504, 2507, 2498, 2500, 2506,   86,   86,   86,   86, 2508,
 -     2509,   86,   86,   86, 2514,   86, 2502, 2511,   86,   86,
 -     2516,   86, 2519,   86,   86, 2513,   86, 2515, 2510,   86,
 -     2512,   86, 2520,   86, 2523,   86, 2518, 2517, 2524,   86,
 -     2525,   86,   86, 2521,   86,   86, 2529,   86,   86, 2522,
 -     2528, 2527,   86,   86,   86,   86, 2536,   86, 2533, 2526,
 -
 -     2535, 2530, 2531,   86, 2532, 2537,   86, 2538,   86, 2539,
 -       86,   86,   86,   86, 2534, 2540,   86, 2542,   86, 2543,
 -       86, 2544,   86,   86,   86, 2545, 2549,   86, 2546, 2541,
 -     2551,   86, 2552,   86,   86,   86,   86,   86,   86, 2548,
 -       86,   86, 2547, 2550, 2555, 2553, 2558, 2554, 2556,   86,
 -     2561,   86,   86,   86,   86,   86,   86,   86, 2557,   86,
 -     2559, 2562,   86,  169,   86, 2569,   86,   86, 2565, 2560,
 -       86, 2567,   86,   86, 2564, 2568, 2570, 2571, 3295, 2563,
 -     2566, 2572, 2575,   86,   86,   86, 2576, 2577, 2573, 2578,
 -     2579, 2580,   86,   86, 2574, 2581,   86,   86, 2582,   86,
 -
 -     2583,   86, 2584,   86,   86,   86,   86,   86,   86,   86,
 -       86, 2585,   86,   86, 2586, 2595,   86,   86,   86, 2593,
 -     2588,   86,   86, 2587,   86, 2590, 2589,   86, 2599, 2592,
 -     2591, 2603, 2594, 2600,   86, 2597, 2596,   86, 2601, 2598,
 -     2602, 2604,   86, 2606,   86,   86, 2605,   86,   86,   86,
 -       86,   86,   86,   86,   86, 2609, 2615,   86, 2616,   86,
 -       86,   86,   86, 2607, 2610, 2608, 2622, 2619, 2611, 2612,
 -     2613, 2614,   86, 2617, 2620,   86, 2621,   86, 2618,   86,
 -     2623,   86,   86,   86,   86,   86,   86,   86, 2627, 2631,
 -       86, 2630, 2632,   86, 2624,   86, 2626, 2633, 2634,   86,
 -
 -     2625,   86,   86,   86, 2628, 2629,   86,   86,   86, 2635,
 -     2636,   86, 2640,   86,   86, 2638,   86, 2644, 2645,   86,
 -       86, 2637, 2648,   86,   86,   86, 2639,   86, 2641, 2649,
 -     2642, 2646,   86, 2643, 2652,   86, 2651,   86, 2647, 2650,
 -     2653,   86,   86, 2657,   86,   86,   86,   86, 2661,   86,
 -       86, 2660, 2654, 2663,   86, 2659,   86, 2658,   86,   86,
 -       86, 2655, 2656, 2664,   86, 2665, 2668,   86,   86, 2662,
 -       86, 2669, 2667, 2671,   86, 2666,   86,   86,   86,   86,
 -       86, 2672, 2676,   86, 2678,   86, 2670, 2674, 2675, 2673,
 -       86,   86, 2677,   86, 2681, 2679, 2680,   86, 2682,   86,
 -
 -       86,   86,   86,   86,   86, 2683,   86,   86, 2688, 2685,
 -     2686, 2689, 2691,   86, 2692,   86, 2687,   86, 2684, 2690,
 -     2693,  169,   86,   86, 2694, 2696, 2698, 2695,   86,   86,
 -     2700,   86,   86, 2699,   86, 2703,   86, 2704,   86, 2702,
 -       86, 2697, 2706,   86,   86, 2708, 2701, 2707,   86,   86,
 -     2709,   86,   86, 2705, 2710, 2713,   86, 2711,   86,   86,
 -     2714,   86, 2712, 2715,   86,   86,   86,   86, 2716, 2720,
 -     2721,   86, 2722, 2718,   86,   86,   86,   86,   86, 2717,
 -       86, 2724, 2725, 2723,   86,   86,   86, 2719, 2726, 2728,
 -     2727, 2729,   86,   86,   86,   86, 2734,   86, 2730,   86,
 -
 -       86, 2737, 2732, 2733,   86, 2731, 2735,   86,   86,   86,
 -     2738,   86, 2742,   86,   86,   86, 2743, 2736,   86, 2739,
 -       86, 2747,   86,   86, 2745,   86,   86,   86, 2740,   86,
 -     2741, 2751, 3295, 2744, 2759, 2746, 2754, 2748, 2749, 2752,
 -       86, 2755,   86, 2756,   86, 2750,   86,   86,   86,   86,
 -       86, 2753, 2757,   86, 2758,   86,   86, 2760, 2763, 2762,
 -       86, 2765,   86, 2761, 2767,   86, 2768,   86, 2769,   86,
 -       86, 2764,   86,   86, 2770, 2772,   86, 2771,   86,   86,
 -     2766, 2776,   86, 2774,   86, 2779, 2777,   86, 2780,   86,
 -       86, 2775,   86, 2773, 2781,   86,   86,   86,   86, 2782,
 -
 -     2786,   86, 2778, 2783,   86, 2787, 2788,   86, 2790,   86,
 -     2784,   86,   86, 2789,   86, 2794,   86, 2785, 2795,   86,
 -     2796,   86,   86,   86, 2791,   86, 2797,   86, 2793,   86,
 -     2792, 2798,   86, 2803,   86, 2802, 2806,   86, 2805,   86,
 -       86,   86,   86, 2800,   86, 2799, 2807, 2801, 2808,   86,
 -     2804,   86, 2809,   86, 2811,   86, 2812,   86, 2815,   86,
 -       86, 2813, 2814, 2819,   86,   86,   86, 2810, 2821,   86,
 -       86,   86, 2826,   86, 2818, 2816, 2822, 2827,   86, 2817,
 -     2820, 2825, 2828, 2823, 2831,   86,   86, 2829,   86, 2824,
 -     2830,   86, 2832,   86, 2833,   86, 2834,   86, 2835,   86,
 -
 -       86,   86, 2836,   86, 2837,   86,   86,   86, 2840,   86,
 -       86, 2842, 2846,   86, 2847,   86, 2843,   86,   86,   86,
 -     2838, 2848, 2850,   86, 2841,   86, 2851, 2839,   86, 2844,
 -     2845, 2852,   86, 2853, 2855, 2849, 2854,   86,   86,   86,
 -       86, 2859,   86,   86,   86,   86,   86, 2856, 2857, 2860,
 -     2863,   86, 2861,   86,   86, 2864,   86,   86, 2858, 2862,
 -       86, 2867, 2866,   86, 2865, 2868, 2869,   86, 2870,   86,
 -       86, 2872, 2873,   86,   86,   86,   86, 2871,   86, 2874,
 -     2879,   86,   86,   86, 2877, 2875,   86, 2882, 2883,   86,
 -     2880,   86, 2884,   86, 2887,   86, 2878, 2888, 2885, 2876,
 -
 -     2886,   86, 2881, 2889,   86, 2890,   86, 2891,   86,   86,
 -     2892,   86,   86, 2896,   86,   86,   86, 2895,   86,   86,
 -     2897, 2898, 2899,   86,   86,   86,   86, 2905,   86, 2893,
 -     2894, 2903, 2900,   86, 2907,   86, 2901,   86,   86, 2902,
 -       86, 2908,   86, 2904,   86, 2909,   86, 2910,   86, 2911,
 -       86, 2916,   86, 2906,   86,   86,   86, 2912,   86, 2913,
 -     2919, 2914,   86,   86,   86,   86, 2925, 2917, 2918,   86,
 -     2915, 2920, 2923,   86, 2921,   86,   86,   86, 2924, 2929,
 -       86,   86, 2922,   86, 2926, 2931,   86, 2927, 2932,   86,
 -     2934,   86,   86,   86,   86,   86, 2930, 2935,   86, 2938,
 -
 -     2939,   86, 2928,   86, 2933,   86, 2943,   86, 2936, 2937,
 -       86, 2946,   86,   86, 2948, 2940,   86,   86,   86,   86,
 -       86, 2941, 2942, 2949, 2944,   86, 2945, 2951,   86, 2952,
 -       86, 2954,   86, 2947,   86, 2959, 2956, 2953, 2950, 2958,
 -       86,   86,   86, 2957,   86, 2963,   86,   86,   86, 2965,
 -     2964, 2955,   86,   86, 2961, 2968, 2969,   86,   86, 2960,
 -       86,   86, 2971, 2970, 2962, 2966,   86,   86,   86, 2974,
 -       86, 2973, 2967,   86, 2977,   86, 2972,   86, 2975,   86,
 -       86, 2980,   86,   86,   86,   86, 2976, 2985,   86, 2981,
 -       86,   86, 2978, 2979, 2989,   86,   86, 2982, 2984,   86,
 -
 -     2988, 2990,   86, 2986, 2991,   86, 2987,   86, 2983,   86,
 -     2992,   86, 2993, 2994,   86, 2995,   86, 2996,   86, 2999,
 -       86,   86, 2997, 3001,   86,   86, 3000,   86,   86,   86,
 -     3002, 2998,   86, 3006, 3007,   86,   86,   86, 3011,   86,
 -     3012,   86, 3003, 3008,   86, 3013, 3010,   86,   86, 3004,
 -     3005,   86,   86, 3016, 3017,   86, 3009, 3018,   86,   86,
 -       86, 3021,   86,   86, 3014, 3019, 3015,   86, 3024,   86,
 -       86, 3023, 3026, 3020, 3022, 3025,   86,   86,   86,   86,
 -       86,   86, 3028,   86,   86, 3030,   86,   86, 3031,   86,
 -     3029,   86,   86,   86,   86, 3043, 3027, 3040, 3041,   86,
 -
 -     3032,   86, 3036, 3033, 3034, 3035, 3037, 3038,   86,   86,
 -     3048,   86, 3039, 3044, 3042,   86, 3049,   86, 3046, 3045,
 -       86,   86, 3047,   86, 3050, 3051,   86, 3295, 3052, 3054,
 -       86, 3055,   86, 3056, 3057,   86,   86,   86, 3058, 3059,
 -     3053,   86, 3060, 3061,   86,   86, 3063,   86, 3062,   86,
 -       86, 3065,   86, 3064, 3069,   86,   86, 3068,   86,   86,
 -       86,   86,   86, 3072,   86, 3071,   86, 3077, 3086, 3066,
 -     3067, 3073,   86, 3076,   86, 3074, 3078,   86,   86, 3075,
 -       86, 3070, 3079,   86,   86, 3081, 3084, 3080,   86,   86,
 -       86, 3085,   86, 3082,   86, 3090, 3083,   86, 3295, 3091,
 -
 -     3093,   86, 3094, 3087, 3088,   86, 3096,   86,   86, 3089,
 -       86, 3095, 3097,   86,   86,   86, 3092, 3100,   86, 3099,
 -     3101,   86, 3103,   86, 3102, 3098, 3104,   86, 3105,   86,
 -     3106,   86, 3107,   86, 3108,   86, 3109,   86,   86, 3111,
 -       86,   86,   86,   86,   86,   86,   86, 3110, 3116,   86,
 -     3112,   86,   86,   86, 3113,   86, 3120,   86, 3119, 3117,
 -     3122,   86,   86, 3114, 3115, 3118, 3121,   86,   86, 3126,
 -     3124, 3123,   86, 3129,   86, 3128,   86,   86,   86,   86,
 -     3127, 3131,   86, 3125,   86,   86,   86,   86, 3130, 3137,
 -     3135,   86,   86,   86, 3134, 3136, 3132,   86,   86,   86,
 -
 -     3133, 3140, 3138, 3142,   86, 3141, 3143,   86, 3144,   86,
 -       86,   86,   86, 3149,   86, 3147, 3145, 3139,   86, 3146,
 -     3150,   86,   86, 3152, 3153, 3151,   86, 3155,   86,   86,
 -       86,   86, 3148,   86,   86,   86, 3154,   86,   86,   86,
 -       86, 3156, 3164, 3162,   86, 3166, 3159,   86, 3157, 3158,
 -     3161, 3163, 3168,   86,   86, 3171,   86,   86, 3160, 3165,
 -     3173,   86,   86, 3174, 3167,   86, 3172, 3169, 3175,   86,
 -     3176,   86,   86,   86, 3170,   86, 3179,   86,   86,   86,
 -     3180, 3184, 3181,   86, 3177,   86,   86,   86, 3188,   86,
 -     3187,   86, 3178,   86, 3183, 3190,   86, 3185, 3186, 3191,
 -
 -       86,   86,   86, 3182, 3194,   86,   86,   86, 3192, 3197,
 -       86, 3189,   86, 3198,   86, 3199, 3201, 3195,   86, 3202,
 -     3193,   86,   86,   86, 3196,   86,   86, 3207,   86, 3208,
 -       86, 3206, 3203, 3200, 3204,   86,   86,   86,   86,   86,
 -       86,   86, 3205, 3212,   86, 3214,   86,   86,   86,   86,
 -     3211,   86, 3219,   86, 3220,   86, 3209, 3210, 3213, 3216,
 -     3215, 3217, 3227, 3218, 3221,   86, 3225,   86,   86,   86,
 -       86, 3222, 3224, 3223, 3226,   86, 3228,   86,   86,   86,
 -     3233,   86, 3229, 3230, 3231,   86,   86, 3234,   86, 3232,
 -     3235, 3236,   86,   86,   86,   86,   86, 3237, 3242,   86,
 -
 -     3238, 3239,   86,   86,   86,   86, 3245, 3246,   86,   86,
 -       86,   86,   86,   86, 3240, 3241, 3244, 3249, 3243, 3247,
 -       86, 3250, 3248,   86, 3252,   86, 3253,   86, 3251,   86,
 -     3257,   86, 3254, 3255,   86, 3259,   86, 3260,   86, 3256,
 -       86,   86, 3258, 3261, 3264,   86, 3265, 3262,   86,   86,
 -     3263, 3266, 3267,   86,   86, 3268,   86,   86,   86, 3273,
 -       86, 3269, 3271,   86,   86,   86,   86,   86,   86, 3275,
 -     3276,   86, 3279, 3280,   86, 3270,   86, 3272,   86, 3283,
 -     3284,   86, 3274,   86,   86, 3277, 3278, 3281, 3286,   86,
 -     3285, 3287,   86,   86,   86, 3282,   86,   86, 3295, 3289,
 -
 -     3288, 3290, 3295, 3291, 3293,   86, 3294,   86, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3292,   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, 3295,   89,
 -       89,   89,   89,  159,  159, 3295, 3295, 3295,  159,  159,
 -      161,  161, 3295, 3295,  161, 3295,  161,  163, 3295, 3295,
 -     3295, 3295, 3295,  163,  166,  166, 3295, 3295, 3295,  166,
 -
 -      166,  168, 3295, 3295, 3295, 3295, 3295,  168,  170,  170,
 -     3295,  170,  170,  170,  170,  173, 3295, 3295, 3295, 3295,
 -     3295,  173,  176,  176, 3295, 3295, 3295,  176,  176,   90,
 -       90, 3295,   90,   90,   90,   90,   17, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295
++       83,   90,   91,   86,   86,   98,   92,   93,  170,   84,
++       94,  159,   99,   86,  110,   95,  100,  162,   86,  101,
++      162,  170,   86,  112,   96,   86,  167,  167,  111,   86,
++      102,  113,  137,  115,  103,  173,  116,  104,   86,  105,
++      106,  179,  114,  117,  170,  118,   86,  122,   86,  126,
++      107,   86,  156,  127,   86,  123,  157,  184,   86,  138,
++
++      158,  124,   87,  139,   86,  125,   88,  128,  180,  129,
++       86,  131,   86,  140,  141,  132,  142,  143,   86,  133,
++      144,   86,  148,   86,  149,  134,   86,  145,  135,   86,
++      152,  146,  147,  150,   86,  136,  177,  177,  183,  151,
++      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,
++       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,  370,   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,  724,  334,   86,  338,  323,  331,
++      324,   86,  335,   86,   86,  340,   86,  342,   86,  339,
++      341,   86,  333,   86,   86,   86,  344,  336,   86,   86,
++       86,  343,   86,   86,  346,   86,  348,   86,  345,   86,
++       86,   86,   86,  351,  353,   86,  349,  358,   86,  347,
++
++      352,  354,  359,   86,   86,  350,  355,   86,   86,  360,
++      357,  356,  362,  364,   86,  367,  361,   86,   86,   86,
++       86,   86,  373,  369,   86,   86,   86,   86,   86,  363,
++      374,  372,  365,  366,  376,   86,   86,  368,  377,  371,
++       86,  378,   86,  379,  375,  380,   86,  381,  383,   86,
++       86,  384,  170,   86,   86,  387,   86,   86,  386,   86,
++       86,   86,   86,  394,  388,  390,  392,  395,  385,   86,
++       86,  382,   86,   86,  398,  389,   86,  396,   86,  391,
++       86,  397,   86,  393,   86,  399,   86,  404,   86,  405,
++      409,  406,  400,   86,  403,   86,   86,   86,  402,  407,
++
++      401,   86,  408,   86,  411,   86,  412,   86,   86,   86,
++       86,  415,   86,   86,  410,  419,  416,   86,  175,  417,
++      421,   86,  418,  413,  414,   86,   86,  422,  423,   86,
++       86,  420,   86,  424,   86,   86,  426,  427,  428,  429,
++       86,   86,   86,   86,   86,   86,   86,  435,  432,   86,
++      425,   86,  436,   86,   86,  434,   86,  438,   86,  441,
++      431,  437,  433,   86,  430,   86,  443,  446,   86,   86,
++      439,  447,  440,   86,  442,   86,   86,  445,   86,   86,
++      457,  448,   86,  444,   86,  455,   86,   86,   86,  458,
++      461,  459,  499,  449,  170,  462,  450,  456,  469,   86,
++
++      463,  451,  452,  453,  454,  466,   86,  460,  464,  465,
++      467,   86,   86,   86,   86,  468,   86,   86,   86,  477,
++       86,   86,   86,  479,   86,  475,  478,  476,   86,  472,
++      470,   86,  480,  471,  473,  474,   86,   86,   86,  481,
++      483,  482,   86,  487,   86,  168,   86,   86,  488,   86,
++      489,  492,   86,  505,  493,  166,  484,  486,  485,  490,
++       86,   86,   86,   86,  491,   86,  494,  495,  497,   86,
++      498,   86,  500,  496,   86,  506,  507,   86,   86,  508,
++      504,   86,   86,   86,   86,  501,  509,   86,  502,  546,
++      503,   86,  510,   86,  520,   86,  511,  522,  519,  523,
++
++       86,  524,   86,  525,  512,   86,  513,  527,  514,  537,
++      535,  536,  521,  170,  538,   86,   86,   86,   86,  526,
++       86,  515,  539,   86,  516,  556,  517,   86,  518,   86,
++       86,  528,  529,  542,  540,   86,  541,  165,   86,  543,
++      545,  530,  544,  531,  532,  533,   86,  547,  534,  548,
++      549,   86,   86,   86,   86,  558,   86,  551,  553,   86,
++      550,   86,   86,  559,   86,   86,   86,  563,  555,  557,
++       86,  554,   86,   86,   86,  552,  561,  566,   86,  560,
++      562,  567,  568,   86,   86,   86,  565,   86,   86,  573,
++      564,   86,  572,   86,  569,  574,  575,   86,   86,  570,
++
++       86,  571,  577,   86,  578,   86,  580,  581,   86,  584,
++      594,   86,  582,  576,   86,   86,   86,  585,  603,  579,
++      586,   86,   86,  595,  583,   86,  589,  596,   86,  597,
++      599,  587,   86,  588,  590,  591,   86,  598,  592,  593,
++       86,   86,   86,   86,   86,  602,  601,  604,   86,  606,
++      608,   86,   86,  600,   86,   86,  611,  607,  612,  609,
++       86,   86,   86,  605,   86,  610,  613,   86,   86,   86,
++      618,   86,  616,  617,   86,  614,   86,   86,  619,   86,
++       86,   86,  615,  620,  624,   86,   86,  627,  623,  625,
++       86,  626,   86,   86,  621,  622,   86,  628,   86,  630,
++
++       86,  629,   86,  632,  634,   86,   86,   86,   86,  635,
++       86,  637,  631,   86,  633,   86,  645,  647,   86,   86,
++      639,  723,   86,   86,   86,   86,  636,  638,  640,   86,
++      641,  642,  644,  646,  648,  643,   86,   86,   86,  649,
++      652,   86,  655,   86,  650,  658,   86,  651,   86,  657,
++       86,   86,  653,   86,   86,   86,  654,   86,  661,  664,
++       86,   86,   86,  656,  660,  665,  667,   86,   86,  659,
++       86,   86,   86,   86,   86,   86,  662,  666,  663,  681,
++       86,   86,   86,  668,  670,  163,  684,  669,   86,  671,
++      679,  682,  720,  698,  672,  680,  673,  683,   86,   86,
++
++       86,   86,  674,   86,  675,  685,  688,  676,  677,  686,
++      692,   86,  691,  687,  678,  689,   86,   86,  690,   86,
++       86,  693,  696,   86,  699,   86,  694,   86,  701,   86,
++       86,   86,   86,  695,   86,   86,   86,   86,   86,   86,
++      707,   86,  703,  697,  702,  708,  704,  711,  712,  170,
++      700,  705,  710,  713,  714,   86,  706,  709,   86,   86,
++       86,   86,   86,   86,   86,  727,   86,  715,  721,  726,
++       86,   86,   86,  716,  725,  718,  722,  719,  717,  729,
++       86,   86,   86,   86,  728,   86,  731,   86,   86,   86,
++      735,   86,  730,  734,  740,  732,   86,  733,  736,  741,
++
++       86,  743,   86,  744,   86,  737,  745,  739,  738,  742,
++      746,   86,   86,  747,   86,  748,   86,  749,   86,   86,
++       86,   86,  750,   86,   86,  754,   86,  753,   86,   86,
++      752,  757,   86,   86,  756,   86,  762,  751,  755,   86,
++      758,   86,   86,  761,   86,  763,   86,  766,   86,   86,
++      767,  760,  759,  765,   86,   86,   86,   86,  773,   86,
++      770,  768,  764,   86,   86,   86,   86,   86,  774,   86,
++      781,   86,  771,  775,  776,  769,   86,  772,   86,  777,
++       86,  783,  778,  779,  780,  782,   86,   86,  788,  789,
++      786,  784,  785,  787,   86,   86,   86,   86,  790,   86,
++
++      791,   86,  793,   86,  794,   86,   86,   86,  795,   86,
++       86,  802,   86,  798,  800,  796,   86,   86,   86,   86,
++      799,   86,  792,  797,   86,  803,  808,  810,  806,   86,
++      801,   86,   86,  807,  805,  809,  804,  811,  812,   86,
++       86,   86,  813,   86,   86,   86,  814,  819,  821,  815,
++      817,   86,   86,   86,   86,  822,  820,  816,   86,   86,
++      825,   86,   86,  818,  824,  826,   86,   86,   86,   86,
++      832,   86,  829,   86,  827,  828,   86,  834,  835,   86,
++      837,   86,   86,  823,  839,   86,  830,  831,  833,  838,
++      841,  836,   86,   86,   86,  844,   86,  842,  843,  840,
++
++      845,   86,   86,  846,   86,   86,  848,  850,   86,   86,
++       86,   86,   86,  849,  856,   86,   86,  847,   86,  857,
++       86,   86,   86,   86,   86,  858,  851,  852,  853,   86,
++      854,  865,  855,  859,   86,   86,  860,   86,   86,  864,
++      861,  863,  862,   86,   86,   86,   86,  867,  866,  870,
++       86,   86,   86,   86,   86,  879,   86,  868,  877,   86,
++      872,   86,  869,   86,  871,  880,   86,   86,  873,  874,
++      875,  876,   86,  878,   86,  882,   86,  881,  883,  885,
++      884,   86,   86,   86,   86,   86,   86,   86,  886,  889,
++      890,  891,  892,   86,  888,  887,   86,   86,  893,   86,
++
++      897,  894,   86,  895,  170,   86,  896,   86,  898,  900,
++      901,   86,   86,   86,  899,  902,   86,   86,   86,  903,
++       86,  904,  908,   86,   86,  909,  911,   86,  905,   86,
++      906,   86,   86,  910,  912,  915,   86,  914,  907,   86,
++      913,   86,   86,  917,  921,  919,   86,   86,  918,   86,
++       86,   86,  916,   86,  922,   86,  923,   86,   86,   86,
++      920,  979,   86,   86,   86,  924,   86,  936,  937,  938,
++      934,   86,  942,  926,  935,  939,  925,   86,   86,  927,
++      940,   86,  928,   86,  943,  941,  929,   86,   86,  930,
++       86,   86,  946,   86,  948,   86,  931,  932,  944,  933,
++
++       86,   86,   86,   86,   86,  959,  945,  956,  961,  958,
++      947,   86,  949,  950,  957,  951,   86,   86,  952,  960,
++       86,  963,  964,  953,  962,   86,   86,   86,  967,  954,
++      955,  968,  965,  970,   86,  971,  969,   86,   86,   86,
++      974,   86,  972,  973,   86,  966,  975,  976,   86,  978,
++       86,   86,   86,  977,   86,   86,   86,   86,  982,   86,
++      986,   86,   86,  980,  985,   86,   86,  989,   86,   86,
++       86,  981,  993,  991, 1052,  983,  984,  987,   86,  988,
++       86,  995,   86,  996,  999,  994,  990,   86,  997,   86,
++       86,  992,  998, 1000,   86,   86, 1002, 1003,   86,   86,
++
++     1001,   86,   86,   86, 1004, 1006,   86, 1007,   86, 1005,
++       86, 1008,   86,   86,   86,   86,   86, 1010, 1015,   86,
++     1011,   86, 1018,   86,   86,   86,   86,   86, 1009,   86,
++     1016, 1013, 1012, 1017, 1019, 1014, 1021,   86, 1022,   86,
++       86,   86, 1024, 1020, 1026,   86,   86,   86, 1025,   86,
++     1023, 1027,   86,   86, 1034, 1032,   86,   86, 1030, 1028,
++     1033,   86,   86,   86,   86, 1031, 1039,   86,   86, 1041,
++       86, 1035, 1029, 1037, 1040, 1044, 1036, 1042,   86,   86,
++       86,   86,   86,   86,   86,   86, 1038, 1055,   86, 1043,
++       86,   86,   86,   86, 1050, 1088,   86,   86,   86,   86,
++
++     1045, 1046, 1047, 1051, 1049, 1048, 1053, 1056, 1057, 1054,
++     1058, 1059,   86, 1061,   86, 1063,   86,   86, 1060, 1062,
++       86,   86,   86,   86,   86,   86, 1072,   86, 1073, 1065,
++     1067,   86,   86, 1075,   86,   86,   86, 1064,  161,   86,
++       86, 1066, 1078, 1068, 1070, 1074, 1069, 1071,   86, 1076,
++       86, 1079,   86,   86, 1080,   86, 1077,   86, 1084, 1081,
++       86, 1086, 1087,   86, 1082,   86,   86, 1091,   86, 1093,
++       86,   86, 1083,   86,   86,   86, 1085, 1096, 1090, 1095,
++       86, 1089, 1097,  170, 1099,   86, 1092,   86, 1100, 1094,
++     1098,   86,   86,   86,   86,   86,   86, 1103,   86,   86,
++
++       86,   86, 1116, 1117, 1119,   86,   86, 1101,   86, 1106,
++       86, 1102, 1104, 1107, 1121,   86, 1108,   86, 1105, 1109,
++       86, 1118, 1124, 1110,   86, 1111,   86,   86,   86, 1112,
++     1122, 1113,   86, 1120, 1141,   86, 1114, 1126, 1123,   86,
++     1125, 1115, 1127,   86, 1128,   86, 1129,   86,   86, 1130,
++       86,   86, 1133,   86, 1132, 1136,   86,   86,   86, 1146,
++     1135, 1131, 1134, 1142,   86, 1137, 1140, 1143,   86, 1144,
++     1139, 1145,   86,   86, 1138,   86, 1147,   86,   86,   86,
++       86,   86,   86, 1159,   86, 1162,   86,  178,   86,   86,
++     1148, 1163, 1158,   86,   86, 1160, 1149, 1150,   86, 1151,
++
++     1161, 1164,   86, 1165, 1152, 1169, 1153,   86,   86,   86,
++       86,   86, 1154, 1166, 1170,   86,   86, 1155, 1156,   86,
++     1171, 1167,   86, 1168, 1157, 1175,   86,   86, 1172,   86,
++     1178, 1173,   86, 1176, 1174, 1179,   86,   86, 1183, 1177,
++     1182, 1180, 1181,   86,   86,   86,   86,   86, 1184,   86,
++       86, 1189,   86,   86,   86, 1186, 1187,   86, 1192, 1190,
++       86,   86,   86,   86, 1185, 1188,   86,   86, 1199,   86,
++       86, 1191, 1197, 1201, 1193, 1194, 1198,   86, 1196,   86,
++     1195,   86,   86,   86, 1203,   86, 1200,   86,   86,   86,
++       86,   86, 1209, 1202,   86, 1210, 1206, 1212,   86, 1211,
++
++     1215, 1204, 1205, 1207, 1208,   86, 1213, 1214,   86,   86,
++     1219, 1217,   86,   86,   86, 1220,   86,   86, 1221,   86,
++       86, 1222, 1223, 1216,   86, 1218, 1224,   86,   86, 1230,
++       86, 1232,   86,   86, 1225,   86, 1226,   86, 1234,   86,
++     1228,   86, 1227, 1229, 1236,   86,   86, 1233,   86,   86,
++     1231, 1238,   86, 1235, 1239,   86,   86, 1241,   86,   86,
++     1242,   86,   86, 1247, 1240, 1244, 1237, 1246, 1243,   86,
++     1248,   86,   86,   86, 1245,   86, 1251,   86, 1252,   86,
++     1250, 1249,   86,   86,   86, 1258, 1256,   86, 1259,   86,
++       86,   86, 1260, 1253,   86, 1261,   86, 1257, 1254, 1263,
++
++       86, 1262, 1255, 1266,   86,   86,   86, 1264,   86,   86,
++       86, 1267, 1268,   86,   86,   86,   86, 1269, 1273, 1270,
++     1265,   86, 1271,   86, 1274,   86,   86, 1275, 1276,   86,
++     1280, 1281,   86, 1272,   86,   86,   86,   86, 1278, 1283,
++     1284,   86,   86, 1277,   86,   86, 1288, 1282, 1279,   86,
++       86,   86,   86,   86, 1285,  170, 1286, 1287, 1290, 1294,
++       86,   86, 1289,   86,   86,   86,   86,   86, 1299,   86,
++     1291,   86, 1293, 1307, 1300, 1295, 1297, 1292, 1296, 1298,
++     1301,   86, 1303, 1304,   86, 1305, 1302,   86,   86,   86,
++       86,   86, 1306,   86,   86, 1308,   86,   86, 1309, 1311,
++
++       86,   86, 1317,   86, 1314, 1310,   86,   86, 1312,   86,
++       86,   86,  176,   86,   86, 1313, 1315, 1321, 1323, 1316,
++     1318, 1331,   86,   86, 1320, 1319, 1327, 1324, 1329, 1325,
++     1322,   86, 1326,   86, 1328, 1330,   86,   86,   86,   86,
++     1333,   86,   86,   86,   86, 1332,   86, 1337, 1336,   86,
++       86, 1340,   86, 1344,   86,   86, 1339, 1334,   86, 1335,
++     1345, 1342, 1338, 1341,   86,   86,   86,   86,   86, 1346,
++     1348, 1343, 1349,   86,   86, 1350,   86,   86, 1347,   86,
++       86,   86, 1351,   86,   86,   86, 1356,   86, 1352, 1354,
++       86, 1355, 1357, 1353,   86,   86, 1361,   86,   86,   86,
++
++     1358,   86, 1360,   86, 1359, 1363, 1365, 1364,   86, 1362,
++     1366, 1368,   86, 1373,   86,   86,   86, 1367,   86,   86,
++     1369,   86,   86, 1371,   86,   86, 1376, 1379, 1370, 1374,
++     1375,   86, 1372, 1381,   86, 1377, 1380, 1378, 1382,   86,
++       86, 1386,   86,   86, 1383, 1384,  175, 1385,   86, 1387,
++       86, 1397, 1395, 1388, 1396, 1394, 1389, 1390,   86,   86,
++       86, 1391,   86, 1398, 1400,   86, 1403, 1392, 1399,   86,
++       86, 1393,   86,   86, 1401,   86, 1405, 1402,   86,   86,
++       86,   86, 1406, 1404, 1407,   86,   86,   86, 1415, 1410,
++     1412, 1416,   86, 1408,   86,   86, 1409,   86,   86, 1418,
++
++     1413, 1411,   86, 1417,   86, 1414, 1425,   86, 1426, 1424,
++       86, 1419, 1427, 1428,   86,   86, 1420,   86, 1421,   86,
++     1422, 1429, 1423, 1430,   86, 1434,   86,   86,   86, 1431,
++     1435,   86,   86, 1433,   86, 1432, 1436, 1438,   86,   86,
++       86, 1444, 1439, 1440,   86, 1445,   86,   86, 1437,   86,
++       86,   86,   86,   86, 1443, 1448,   86, 1441, 1442, 1446,
++     1447, 1450,   86, 1449, 1454,   86,   86, 1453,   86, 1456,
++       86, 1451,   86,   86, 1457,   86, 1458,   86, 1462,   86,
++     1459, 1452,   86, 1455,   86, 1460, 1461, 1464,   86,   86,
++     1465,   86,   86, 1469,   86,   86, 1466,   86,   86,   86,
++
++     1471,   86, 1463,   86, 1473, 1467,   86,   86, 1475,   86,
++     1474,   86, 1477, 1468,   86, 1470, 1479,   86, 1472,   86,
++       86, 1476, 1478, 1484, 1481, 1482,   86,   86, 1480,   86,
++     1486, 1483, 1485,   86,   86,   86,   86,   86, 1487, 1492,
++     1493, 1489,   86, 1490,   86,   86,   86, 1494, 1495,   86,
++     1491,   86, 1488, 1496,   86, 1499,   86,   86,  170,   86,
++       86, 1504, 1498, 1505,   86, 1507,   86,   86, 1497,   86,
++     1506,   86,   86, 1501,   86,   86,   86, 1500,   86, 1502,
++     1508,   86, 1515, 1503,   86,   86, 1509, 1512,   86,   86,
++     1513,  170, 1510,   86, 1511,   86, 1514,   86, 1519, 1520,
++
++       86,   86, 1522, 1524, 1516,   86, 1518,   86, 1525,   86,
++     1517,   86, 1521, 1528, 1523,   86, 1527,   86,   86, 1526,
++       86,   86,   86, 1533, 1536, 1529, 1534,   86, 1538, 1535,
++     1530,   86, 1531,   86,   86, 1532,   86, 1539, 1541,   86,
++     1543, 1537, 1540, 1542,   86,   86,   86,   86,   86,   86,
++     1546, 1547,   86,   86, 1550,   86,   86, 1545,   86, 1555,
++       86,   86, 1544,   86, 1556, 1548,   86, 1552, 1549, 1559,
++       86,   86, 1551, 1553, 1554,   86,   86,   86, 1560, 1557,
++       86,   86, 1558,   86,   86, 1562, 1566,   86,   86, 1561,
++     1567, 1563, 1564, 1568,   86, 1571, 1570,   86,   86, 1565,
++
++       86,   86, 1569,   86, 1575, 1576,   86, 1573, 1577, 1579,
++       86,   86, 1572,   86,   86, 1578,   86,   86,   86, 1580,
++     1574, 1584, 1581, 1583, 1585, 1586, 1591,   86,   86, 1587,
++       86,   86,   86, 1588, 1589,   86,   86, 1582,   86,   86,
++     1590,   86,   86,   86,   86, 1597,   86,   86,   86,   86,
++     1596, 1593,   86, 1600,   86, 1594, 1592, 1595, 1603,   86,
++     1599, 1601,   86, 1604,   86, 1605, 1598,   86, 1602,   86,
++     1606,   86,   86, 1608, 1607,   86, 1611,   86, 1609, 1616,
++     1612, 1610,   86,   86,   86,   86, 1619,   86, 1613, 1617,
++       86,   86,   86, 1622,   86,   86, 1621, 1614,   86,   86,
++
++     1615,   86,   86,   86,   86, 1630, 1620,   86,   86, 1618,
++     1623, 1631,   86, 1624, 1625, 1627,   86, 1626, 1629, 1635,
++       86, 1636,   86, 1628,   86,   86, 1632,   86, 1634, 1637,
++       86, 1633,   86,   86, 1638, 1642, 1640,   86, 1639, 1643,
++       86,   86,   86,   86,   86, 1641, 1646, 1650,   86, 1651,
++     1652,   86, 1644,   86,   86, 1645,   86, 1647, 1655, 1649,
++     1648,   86,   86,   86,   86, 1656, 1653, 1654, 1657,   86,
++     1661, 1662,   86,   86,   86,   86,   86,   86, 1666, 1667,
++     1665, 1659, 1658,   86,   86,   86, 1669,   86,   86, 1660,
++       86, 1663,   86, 1670,   86, 1664, 1671,   86,   86,   86,
++
++     1672, 1674,   86, 1668, 1673,   86, 1677,   86, 1676, 1678,
++       86,   86, 1675,   86, 1683, 1681,   86,   86,   86,   86,
++       86,   86, 1689, 1679,   86, 1682, 1680, 1684,   86,   86,
++       86,   86, 1686,   86, 1685, 1692, 1694,   86, 1690,   86,
++     1688,   86, 1697, 1695, 1687,   86, 1691,   86, 1693, 1696,
++       86, 1700,   86, 1698, 1703,   86, 1699, 1702,  170,   86,
++       86,   86,   86,   86,   86, 1711,   86,   86,  168, 1701,
++       86, 1712, 1715,   86, 1704, 1706, 1709, 1705,   86, 1707,
++     1708,   86,   86, 1717,   86,   86, 1719, 1713, 1710,   86,
++     1714, 1716, 1721, 1723, 1720,   86, 1725,   86,   86,   86,
++
++       86, 1718,   86,   86,   86, 1722,   86,   86, 1727, 1724,
++       86, 1728,   86, 1730,   86, 1731,   86,   86, 1732, 1726,
++     1735,   86, 1736,   86,   86, 1733, 1743, 1729, 1737,   86,
++       86, 1734,   86, 1740, 1744, 1738, 1741,   86,   86,   86,
++     1745,   86,   86,  166, 1739, 1750, 1748, 1747, 1742, 1751,
++       86, 1752, 1753,   86,   86,   86, 1746,   86,   86, 1754,
++       86, 1755,   86, 1756, 1749, 1757, 1759,   86,   86,   86,
++     1764,   86, 1758, 1760,   86, 1765,   86, 1763,   86, 1767,
++       86,   86,   86, 1766,   86,   86,   86, 1761,   86, 1762,
++       86, 1769, 1770,   86,   86, 1771,   86,   86,   86,   86,
++
++     1772,   86,   86, 1768, 1773, 1780,   86,   86, 1774, 1781,
++     1775, 1776, 1777,   86,   86,   86, 1786, 1778, 1783, 1779,
++       86, 1782,   86,   86,   86, 1784,   86, 1785, 1792,   86,
++       86,   86,   86,   86,   86, 1787, 1788, 1794, 1790,   86,
++     1796,   86,   86, 1789,   86, 1795, 1797, 1791, 1798,   86,
++     1793,   86,   86, 1801,   86,   86,   86,   86, 1803,   86,
++     1800,   86, 1810, 1804, 1802, 1799, 1805,   86, 1806, 1813,
++     1807, 1811,   86, 1812,   86, 1808,   86,   86,   86, 1814,
++     1815, 1809, 1816,   86,   86,   86, 1818,   86,   86, 1817,
++     1819,   86, 1820,   86,   86,   86,   86, 1821,   86, 1828,
++
++     1822,   86, 1823, 1825, 1827,   86, 1826, 1824, 1829,   86,
++     1833, 1830,   86, 1835, 1831,   86, 1832,   86, 1836,   86,
++     1837,   86,   86,   86, 1841,   86,   86,   86, 1834, 1838,
++       86, 1845, 1844,   86,   86, 1843,   86,   86,   86, 1849,
++     1840, 1842,   86, 1853,   86, 1846, 1839, 1847, 1854,   86,
++     1848, 1850,   86,   86, 1859, 1852, 1855, 1851, 1858, 1856,
++       86,   86, 1861,   86, 1862,   86,   86, 1864,   86,   86,
++       86, 1863, 1868,   86, 1857, 1865,   86,   86,   86, 1860,
++     1870, 1872, 1867,   86,   86, 1866, 1871,   86,   86, 1869,
++       86, 1873,   86,   86,  165,   86,   86,   86, 1876, 1882,
++
++       86, 1877,   86, 1874,   86,   86, 1878, 1875, 1879, 1884,
++     1880, 1881, 1885, 1887,   86,   86,   86, 1886,   86, 1891,
++       86, 1883, 1888, 1889,   86, 1893,   86,   86,   86, 1897,
++       86,   86,   86,   86,   86, 1890,   86, 1892, 1899,   86,
++       86, 1900, 1903, 1895, 1901, 1902, 1896,   86, 1894,  170,
++       86,   86, 1898, 1907,   86,   86,   86, 1911,   86,   86,
++       86, 1905,   86, 1909,   86, 1906,   86, 1913,   86,   86,
++     1904, 1918,   86, 1912, 1908, 1910, 1914,   86, 1915,   86,
++      163, 1916, 1922,   86, 1919, 1921,   86, 1920, 1917, 1923,
++     1924,   86,   86,   86, 1927, 1928,   86, 1925,   86,   86,
++
++       86, 1930, 1926,   86,   86,   86, 1931,   86,   86,   86,
++     1929,   86,   86,   86, 1936,   86, 1937,   86,   86,   86,
++     1941, 1938,   86,  161, 1932, 1934, 1935, 1933, 1940, 1939,
++       86, 1942,   86,   86, 1948, 1945,   86, 1947, 1944, 1949,
++       86, 1950, 1946,   86, 1943,   86,   86,   86,   86,   86,
++     1956,   86, 1959,   86, 1951, 1952, 1960,   86, 1961,   86,
++       86, 1954, 1953, 1957,   86, 1958, 1955, 1963,   86,   86,
++     1964, 1967,   86, 1962,   86,   86, 1969,   86, 1968,   86,
++     1970, 1965,   86, 1971, 1973, 1966, 1976,   86,   86,   86,
++       86, 1975,   86, 1972,   86, 1979,   86,   86,   86, 1978,
++
++       86,   86, 1983,   86, 1974, 1982,   86,   86, 1984, 1985,
++       86,   86, 1977, 1980,   86,   86, 1993,   86, 1981, 1986,
++     1987, 1988,   86, 1995, 1991,   86, 1989,   86, 1996,   86,
++     1990, 1992, 1998,   86, 1994, 1999,   86, 2002, 2000, 1997,
++       86,   86,   86,   86, 2006,   86,   86,   86, 2008, 2003,
++       86, 2001,   86,   86, 2011, 2012,   86,   86, 2014,   86,
++       86, 2004,   86, 2005,   86,   86, 2020,   86,   86, 2019,
++     2009, 2016, 2007, 2017, 2010,   86,   86, 2013,   86,   86,
++       86,   86, 2026,   86,   86, 2015, 2018, 2023, 2024, 2021,
++       86, 2022, 2030,   86,   86, 2029, 2033,   86,   86, 2034,
++
++     2028, 2032,   86,   86, 2025, 2036, 2037,   86,   86, 2027,
++       86,   86,   86, 2031,   86, 2038,   86, 2039,   86,   86,
++       86, 2043, 2035,   86, 2046, 2047,   86,   86, 2042, 2048,
++       86,   86, 2040, 2041, 2051,   86,   86, 2044,   86,   86,
++       86, 2050, 2056,   86, 2055,   86, 2045, 2049,   86,   86,
++     2052,   86,   86, 2060, 2063,   86, 2053, 2061,   86, 2057,
++     2054, 2062, 2064, 2058, 2059,   86, 2067,   86,   86,   86,
++       86,   86,   86,   86, 2074, 2071, 2065,   86,   86,   86,
++       86, 2066, 2076, 2069, 2077,   86,   86, 2078,   86, 2068,
++     2070,   86, 2072, 2073, 2075, 2079,   86, 2080, 2083, 2084,
++
++       86, 2085,   86, 2086, 2088, 2089,   86, 2081, 2087,   86,
++       86,   86, 2082,   86,   86, 2093,   86,   86, 2091,   86,
++       86,   86,   86, 2095, 2098, 2100, 2092,   86, 2094, 2096,
++       86,   86, 2090,  170,   86,   86,   86,   86, 2101, 2102,
++     2106, 2105,   86, 2107, 2099, 2097, 2103, 2108,   86, 2109,
++       86,   86, 2111,   86, 2104,   86,   86,   86,   86, 2112,
++     2113,   86, 2114,   86, 2117,   86, 2115,   86, 2116,   86,
++     2119, 2110,   86,   86, 2123,   86,   86, 2118, 2122, 2120,
++       86,   86,   86, 2127, 2121, 2124, 2125, 2126, 2128,   86,
++       86,   86,   86,   86,   86, 2135, 2133,   86,   86,   86,
++
++     2130,   86, 2134,   86,   86,   86, 2140,   86, 2137,   86,
++     2129, 2131,   86, 2132,   86,   86, 2136, 2141, 2139,   86,
++     2145, 2138,   86, 2143, 2146, 2142,   86,   86,   86, 2144,
++       86, 2149,   86, 2148, 2147, 2151,   86,   86,   86, 2157,
++     2150, 2152,   86,   86, 2153,   86, 2154, 2155,   86, 2159,
++       86, 2156, 2160, 2161,   86,   86, 2163,   86,   86, 2158,
++       86, 2164, 2167, 2162, 2166,   86, 2165,   86,   86,   86,
++       86,   86, 2168,   86, 2171,   86,   86,   86, 2172,   86,
++       86,   86,   86,   86,   86,   86,   86, 2174, 2175, 2169,
++     2170, 2180, 2173, 2177, 2176, 2179, 2184, 2185,   86,   86,
++
++       86,   86, 2182, 2178, 2181,   86, 2183,   86, 2188,   86,
++       86,   86, 2189, 2192, 2191,   86,   86, 2186,   86,   86,
++     2187, 2190, 2195, 2194,   86, 2196,   86,   86, 2193, 2200,
++       86,   86,   86, 2198, 2202, 2204,   86, 2197, 2199,   86,
++       86,   86, 2207,   86,   86, 2203, 2206,   86, 2208, 2201,
++       86, 2212, 2209,   86,   86, 2216,   86,   86, 2213,   86,
++     2217,   86, 2210,   86,   86, 2205,   86, 2214, 2215,   86,
++     2211, 2218, 2221,   86,   86, 2222, 2225,   86, 2219, 2223,
++     2220,   86,   86,   86,   86, 2227, 2226, 2231,   86, 2224,
++       86,   86, 2229,   86, 2233, 2228,   86, 2234,   86,   86,
++
++     2230,   86, 2232,   86, 2236, 2240,   86, 2235,   86, 2237,
++     2238, 2242,   86, 2239,   86,   86, 2243,   86,   86,   86,
++     2245, 2244,   86, 2247, 2248,   86, 2246, 2241, 2249, 2252,
++       86,   86,   86,   86, 2251,   86,   86,   86,   86,   86,
++       86,   86, 2250,   86, 2261, 2262,   86, 2256, 2258, 2253,
++     2254, 2255, 2257, 2259,   86, 2263,   86,   86, 2260,   86,
++     2264,   86, 2266, 2272,   86,   86, 2267,   86, 2274,   86,
++       86,   86, 2268, 2265, 2271, 2276, 2273, 2269,   86,   86,
++      170,   86, 2280, 2277, 2282, 2283, 2270, 2281,   86, 2275,
++       86,   86, 2278,   86,   86,   86, 2284, 2287,   86,   86,
++
++     2288, 2286, 2279, 2285,   86, 2292,   86,   86, 2293,   86,
++     2296,   86, 2295, 2291, 2289,   86,   86,   86, 2298,   86,
++     2297, 2294, 2299,   86, 2300, 2290, 2301,   86,   86,   86,
++       86, 2302,   86, 2304,   86,   86, 2306,   86,   86, 2307,
++       86,   86,   86, 2310,   86,   86, 2316,   86, 2303, 2314,
++     2305,   86, 2309,   86,   86, 2317, 2312,   86, 2308, 2311,
++       86,   86, 2313,   86,   86, 2319,   86, 2315, 2318, 2324,
++       86, 2327,   86, 2322,   86, 2321,   86,   86,   86, 2325,
++     2320,   86, 2323,   86, 2328,   86,   86,   86, 2326,   86,
++       86,   86,   86, 2329, 2341,   86, 2330, 2340, 2335, 2342,
++
++       86, 2331, 2333, 2338, 2337, 2332, 2334,   86, 2336, 2339,
++       86,   86, 2343, 2344,   86,   86,   86,   86, 2348, 2349,
++       86,   86,   86, 2350, 2345, 2351,   86,   86, 2346, 2347,
++     2352,   86, 2354, 2357,   86, 2353, 2355, 2358,   86, 2356,
++       86,   86,   86,   86,   86, 2359, 2360, 2364,   86, 2365,
++       86,   86, 2367,   86,   86,   86, 2363, 2369,   86,   86,
++     2371,   86, 2361, 2362, 2372,   86, 2373,   86,   86,   86,
++     2366,   86, 2368,   86, 2370, 2374,   86, 2375, 2378, 2379,
++       86, 2381,   86, 2376,   86,   86,   86,   86, 2385, 2384,
++     2377, 2383, 2387,   86,   86, 2380,   86,   86,   86, 2390,
++
++       86,   86, 2382, 2386, 2393,   86,   86,   86,   86, 2398,
++       86, 2389, 2397, 2388,   86, 2391,   86, 2392,   86,   86,
++       86, 2394, 2396, 2400, 2403,   86,   86,   86,   86, 2395,
++       86, 2401,   86, 2399, 2402, 2405,   86, 2410,   86,   86,
++     2404, 2406, 2413,   86, 2407, 2412,   86, 2411, 2408,   86,
++       86, 2417,   86,   86,   86, 2418,   86, 2414, 2409, 2415,
++       86, 2416,   86,   86,   86, 2422, 2420, 2424, 2425,   86,
++     2427,   86, 2429, 3340,   86, 2421,   86, 2419,   86, 2426,
++       86,   86, 2423,   86,   86, 2430, 2431, 2433,   86,   86,
++     2428, 2434, 2435, 2436,   86,   86, 2432,   86, 2437, 2440,
++
++     2441, 2442,   86, 2438,   86,   86,   86,   86, 2445, 2439,
++     2446,   86, 2447, 2444,  170,   86,   86,   86,   86, 2449,
++     2448,   86, 2443, 2454,   86,   86,   86,   86,   86,   86,
++       86, 2462,   86, 2452, 2453, 2450, 2455, 2451, 2456, 2457,
++     2470, 2458, 2460, 2459,   86,   86,   86, 2461, 2465,   86,
++       86, 2466, 2463, 2467,   86,   86,   86, 2464, 2468, 2471,
++       86, 2469, 2473,   86,   86,   86,   86, 2475,   86, 2472,
++       86,   86,   86, 2479,   86, 2480,   86,   86, 2474,   86,
++     2476,   86, 2482, 2483, 2477, 2487,   86,   86, 2481, 2484,
++     2478, 2485,   86,   86,   86,   86, 2488,   86, 2486, 2490,
++
++     2491,   86,   86,   86,   86,   86,   86, 2493,   86, 2500,
++     2492,   86, 2497,   86, 2489,   86, 2499,   86,   86, 2496,
++       86,   86,   86, 2494, 2495, 2505, 2498, 2501,   86,   86,
++       86, 2502, 2510,   86, 3340, 2509, 2503, 2504,   86,   86,
++     2507, 2511,   86, 2506, 2512, 2508,   86,   86, 2513,   86,
++     2515,   86,   86, 2518, 2516,   86, 2520,   86,   86, 2519,
++     2514,   86,   86, 2522,   86, 2524,   86, 2523,   86, 2521,
++       86,   86,   86, 2517,   86,   86, 2528,   86,   86, 2525,
++     2530,   86, 2526, 2531, 2532,   86, 2527, 2533,   86, 2534,
++       86, 2535,   86, 2536,   86,   86, 2537, 2538, 2529,   86,
++
++     2539,   86, 2540, 2543,   86,   86, 2541,   86,   86, 2545,
++     2548,   86,   86, 2542, 2544,   86,   86,   86,   86, 2549,
++       86, 2552,   86, 2547,   86, 2546, 2553,   86,   86, 2554,
++       86, 2550, 2558,   86,   86, 2551, 2555, 2556, 2557,   86,
++       86,   86, 2563,   86,   86,   86, 2562, 2624, 2559, 2564,
++     2565,   86, 2561, 2560, 2566,   86, 2567,   86, 2568,   86,
++       86, 2570,   86,   86, 2572,   86, 2573, 2571,   86,   86,
++       86,   86, 2569, 2578,   86,   86, 2580,   86, 2581,   86,
++     2574, 2575,   86,   86,   86,   86,   86, 2577,   86,   86,
++     2576, 2584,   86, 2582, 2579, 2583,   86, 2585, 2590,   86,
++
++       86, 2587,   86,   86,   86,   86, 2586,   86, 2588, 2589,
++      170, 2591,   86, 2598,   86,   86, 2594,   86, 2592, 2596,
++     2593,   86, 2597, 2599,   86, 2602,   86,   86, 2595, 2605,
++     2600,   86, 2601,   86, 2609,   86, 2607,   86, 2608, 2610,
++       86, 2606,   86, 2603,   86, 2611,   86, 2604,   86, 2612,
++       86, 2613,   86, 2615,   86, 2614,   86,   86,   86,   86,
++       86,   86,   86,   86, 2628, 2616,   86, 2617,   86, 2622,
++     2629,   86,   86,   86, 2618, 2619, 2626,   86, 2620, 2621,
++       86, 2623, 2625,   86, 2627,   86, 2630, 2633,   86, 2632,
++     2631, 2636, 2634, 2635,   86, 2637,   86,   86,   86,   86,
++
++     2639,   86,   86, 2638, 2644,   86, 2645,   86,   86, 2649,
++       86, 2650,   86,   86, 2651, 2640, 2641, 2642, 2643, 2648,
++       86,   86, 2646,   86,   86,   86, 2647,   86,   86,   86,
++     2656,   86,   86,   86, 2660, 2662, 2659,   86, 2653, 2652,
++       86, 2655,   86, 2654, 2661,   86, 2663,   86, 2657, 2658,
++       86, 2665,   86,   86,   86,   86, 2664,   86, 2669, 2666,
++       86,   86, 2667, 2673, 2674,   86,   86, 2677,   86,   86,
++       86,   86, 2668,   86, 2670, 2672, 2671, 2680,   86, 2676,
++     2678, 2675, 2682, 2683,   86, 2679, 2681,   86,   86,   86,
++       86, 2688,   86,   86,   86,   86, 2692,   86, 2691,   86,
++
++     2684, 2694,   86, 2685, 2690, 2689,   86,   86,   86, 2686,
++     2687, 2695,   86,   86, 2699,   86, 2696,   86, 2693,   86,
++     2700, 2702,   86,   86, 2697, 2698,   86,   86,   86,   86,
++     2703, 2707,   86,   86, 2701, 2705, 2704, 2706, 2709,   86,
++       86,   86, 2708, 2712,   86, 2710, 2711,   86,   86, 2713,
++       86,   86, 2715,   86,   86, 2714,   86, 2716, 2717, 2719,
++       86, 2720, 2722,   86, 2723,   86, 2718, 2725, 2721, 2724,
++      170,   86,   86,   86, 2729, 3340, 2726,   86,   86, 2731,
++       86,   86, 2730,   86, 2734,   86, 2735,   86, 2733,   86,
++     2727, 2728, 2737,   86,   86, 2739, 2732, 2738,   86,   86,
++
++     2740,   86, 2736, 2741, 2742,   86, 2744,   86,   86,   86,
++       86, 2745,   86, 2746,   86,   86,   86, 2751, 2747, 2743,
++     2752, 2753, 2749,   86,   86, 2748,   86,   86,   86,   86,
++       86, 2755, 2757, 2756,   86,   86, 2750,   86,   86, 2754,
++     2759,   86, 2758, 2760,   86,   86,   86, 2765,   86, 2768,
++     2762,   86, 2761, 2763, 2764,   86,   86, 2766,   86, 2767,
++       86,   86, 2769, 2773,   86,   86,   86,   86, 2774,   86,
++     2770, 2778,   86,   86,   86, 2776,   86,   86, 2771, 2772,
++     2782, 2785, 2777, 3340, 2775, 2783,   86,   86, 2779, 2780,
++     2786, 2787,   86, 2781, 2788,   86,   86,   86,   86,   86,
++
++     2789,   86, 2784, 2790, 2793,   86,   86,   86, 2791, 2794,
++       86, 2795,   86,   86, 2792,   86, 2798, 2800,   86, 2796,
++     2801,   86, 2802,   86,   86,   86,   86, 2797, 2803,   86,
++     2804, 2799, 2805,   86, 2807,   86, 2809,   86,   86, 2812,
++       86, 2810,   86, 2813,   86,   86, 2806, 2808, 2814,   86,
++       86,   86,   86, 2815, 2819,   86,   86, 2811, 2816,   86,
++     2818,   86, 2820, 2821,   86, 2823,   86, 2822,   86, 2817,
++     2827,   86, 2824,   86, 2825, 2829,   86, 2828,   86, 2830,
++       86,   86, 2826,   86, 2831,   86, 2836,   86,   86, 2835,
++       86,   86,   86, 2840, 2838,   86, 2832, 2839,   86, 2841,
++
++     2833, 2834,   86,   86,   86, 2842, 2844,   86, 2845,   86,
++       86,   86, 2837,   86, 2848, 2852,   86,   86,   86,   86,
++     2843, 2846, 2847,   86, 2864,   86, 2854, 2851, 2849,   86,
++       86, 2850, 2853, 2856, 2855, 2859, 2857, 2858, 2861,   86,
++     2860,   86,   86, 2862,   86,   86, 2865,   86, 2866, 2863,
++       86, 2867,   86, 2868,   86, 2869,   86,   86,   86, 2870,
++       86,   86, 2871, 2873,   86, 2875,   86, 2879,   86,   86,
++     2876, 2880,   86,   86,   86,   86, 2874, 2881, 2883,   86,
++     2884,   86, 2872, 2958, 2877,   86, 2878, 2882, 2885,   86,
++     2886, 2887,   86,   86,   86,   86, 2892,   86,   86, 2891,
++
++       86,   86, 2888, 2889, 2890, 2893,   86, 2894,   86, 2898,
++       86,   86,   86,   86, 2899,   86,   86, 2896, 2903, 2895,
++     2902, 2901,   86, 2897, 2900, 2904,   86, 2905,   86,   86,
++       86,   86,   86,   86,   86, 2907, 2906,   86, 2914, 2909,
++       86,   86, 2912, 2910,   86,   86, 2917, 2908, 3340, 2915,
++     2918,   86, 2919,   86, 2913,   86,   86, 2911, 2924,   86,
++     2921, 2916, 2920,   86, 2922, 2925,   86, 2923, 2926,   86,
++       86,   86,   86,   86, 2931,   86, 2928, 2930, 2932, 2927,
++       86,   86, 2934,   86,   86,   86, 2933,   86, 2940,   86,
++     2929,   86, 2938, 2935,   86,   86, 2936, 2942,   86, 2943,
++
++       86,   86, 2946,   86,   86, 2944, 2937, 2939, 2945,   86,
++       86,   86, 2951,   86,   86,   86, 2941,   86,   86,   86,
++       86, 2954,   86, 2947, 2948, 2949,   86, 2952, 2953, 2955,
++       86, 2950,   86, 2960, 2956, 2959,   86,   86, 2957,   86,
++     2962, 2964,   86, 2966,   86, 2961, 2967,   86, 2969,   86,
++       86,   86, 2963,   86,   86,   86, 2965, 2974,   86, 2973,
++     2968,   86, 2977,   86,   86,   86, 2970, 2971,   86, 2972,
++     2976,   86, 2980,   86,   86, 2975, 2983,   86, 2985, 2981,
++       86,   86,   86, 2979,   86, 2986, 2978, 2988,   86, 2989,
++       86,   86, 2982,   86, 2984, 2991,   86,   86,   86, 2996,
++
++     2994,   86, 2990, 2987, 2993,   86,   86, 3000,   86,   86,
++     2998,   86, 3001,   86, 3002, 2992,   86, 2995, 3005,   86,
++     2997, 3006,   86, 3003,   86,   86, 2999, 3008, 3007,   86,
++     3011,   86,   86,   86, 3010,   86, 3004, 3009, 3014,   86,
++     3012, 3017,   86,   86,   86,   86,   86,   86, 3022,   86,
++       86, 3013,   86,   86,   86, 3018, 3015, 3016, 3026,   86,
++     3021,   86, 3025, 3019, 3027,   86, 3028,   86, 3024, 3023,
++       86, 3020, 3031,   86,   86, 3030, 3032,   86, 3033,   86,
++     3035, 3029, 3036,   86,   86, 3038,   86, 3034,   86, 3037,
++       86,   86,   86,   86, 3043, 3044,   86,   86,   86,   86,
++
++       86,   86, 3039, 3050,   86, 3051,   86,   86, 3340, 3049,
++     3052,   86, 3040, 3041, 3042, 3047,   86, 3046,   86, 3048,
++       86, 3056,   86, 3045,   86, 3055,   86, 3053, 3057,   86,
++     3054, 3058, 3059, 3060,   86,   86, 3061, 3063,   86,   86,
++     3064,   86, 3062,   86,   86,   86,   86,   86,   86, 3067,
++       86,   86, 3069,   86,   86, 3070,   86, 3068,   86,   86,
++       86, 3065,   86, 3066, 3079, 3080,   86, 3071, 3340, 3075,
++     3072, 3073, 3074, 3076, 3077, 3082,   86,   86,   86, 3078,
++     3085,   86, 3081, 3083, 3087,   86, 3084, 3088,   86, 3086,
++       86, 3090,   86,   86, 3089,   86, 3093,   86, 3091, 3094,
++
++       86, 3095, 3096,   86,   86, 3097, 3098, 3101,   86, 3099,
++     3100,   86,   86,   86, 3092,   86, 3102, 3104,   86,   86,
++       86,   86, 3103,   86, 3110,   86,   86,   86, 3109,   86,
++       86, 3113,   86, 3105, 3106,   86, 3112,   86, 3340, 3107,
++       86, 3108,   86, 3118, 3114, 3115, 3117, 3119,   86,   86,
++     3116, 3111, 3120,   86, 3122, 3121,   86, 3125, 3127,   86,
++       86,   86, 3126,   86,   86, 3123,   86,   86, 3124,   86,
++     3135, 3131, 3132, 3134,   86, 3129,   86,   86, 3137,   86,
++     3138,   86, 3130, 3136, 3128,   86,   86,   86, 3133, 3141,
++       86, 3140, 3142,   86, 3144,   86, 3143, 3145,   86,   86,
++
++     3139, 3146,   86, 3147,   86, 3148,   86, 3149,   86, 3150,
++       86, 3151,   86,   86, 3154,   86,   86,   86,   86,   86,
++       86,   86, 3153, 3159,   86, 3152, 3155,   86, 3156,   86,
++     3163,   86,   86, 3162, 3160, 3165,   86,   86, 3157, 3158,
++     3161,   86,   86, 3169, 3167,   86, 3164,   86, 3171, 3172,
++     3166,   86,   86,   86,   86,   86, 3174,   86,   86,   86,
++       86,   86,   86, 3168, 3178, 3170, 3173,   86, 3179,   86,
++     3177, 3180, 3175,   86, 3183, 3176, 3181,   86,   86,   86,
++     3184, 3186,   86, 3187,   86, 3189, 3182, 3188,   86,   86,
++       86, 3185,   86, 3192, 3191,   86,   86,   86, 3190, 3197,
++
++     3196,   86, 3194,   86, 3199,   86, 3193, 3195,   86,   86,
++       86,   86,   86,   86,   86,   86, 3198,   86, 3200,   86,
++     3208, 3206, 3210, 3211,   86, 3203,   86, 3201, 3202, 3205,
++       86, 3207,   86,   86, 3209, 3213, 3204, 3216,   86,   86,
++     3218,   86,   86, 3219, 3220,   86, 3212, 3214, 3217, 3221,
++       86,   86, 3215,   86,   86,   86,   86, 3224,   86,   86,
++     3225, 3226, 3229,   86,   86,   86,   86,   86,   86,   86,
++     3222, 3232, 3340, 3223, 3228,   86, 3231, 3230, 3233,   86,
++     3235,   86, 3237, 3227,   86, 3234, 3236,   86, 3238, 3239,
++       86, 3242,   86, 3241,   86, 3243,   86,   86,   86, 3240,
++
++     3246, 3247,   86,   86, 3244,   86,   86,   86, 3252,   86,
++     3251,   86, 3248, 3253,   86, 3249, 3245,   86,   86,   86,
++       86,   86, 3250,   86, 3257,   86, 3259,   86,   86,   86,
++       86,   86, 3254, 3256, 3264, 3265,   86, 3255, 3258,   86,
++     3261, 3262, 3260, 3272, 3263, 3266,   86, 3270,   86,   86,
++       86, 3267,   86, 3273, 3268, 3271,   86,   86, 3269,   86,
++       86, 3274, 3275, 3278, 3276, 3279,   86,   86,   86,   86,
++     3281,   86, 3280,   86,   86,   86,   86, 3282, 3287, 3277,
++       86, 3284,   86,   86,   86,   86, 3290, 3283, 3291,   86,
++       86,   86,   86,   86, 3285, 3286, 3289, 3294,   86, 3288,
++
++     3292, 3295,   86, 3293,   86, 3298, 3297, 3299,   86, 3296,
++       86, 3300,   86, 3302,   86, 3304,   86, 3305,   86,   86,
++       86, 3309,   86, 3306, 3340,   86, 3307, 3312,   86, 3303,
++     3310,   86,   86, 3311, 3301,   86,   86,   86,   86, 3308,
++       86,   86, 3313, 3314,   86, 3316, 3318,   86,   86, 3320,
++       86, 3315,   86, 3321,   86, 3324, 3317, 3319, 3325,   86,
++     3322,   86,   86, 3328, 3329,   86,   86, 3331,   86, 3323,
++       86, 3326,   86, 3330, 3332,   86,   86, 3333,   86,   86,
++     3327, 3334, 3340, 3335, 3338,   86, 3339,   86, 3340, 3340,
++     3340, 3336, 3340, 3340, 3340, 3340, 3340, 3340, 3337,   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,
++     3340,   89,   89,   89,   89,  160,  160, 3340, 3340, 3340,
++      160,  160,  162,  162, 3340, 3340,  162, 3340,  162,  164,
++     3340, 3340, 3340, 3340, 3340,  164,  167,  167, 3340, 3340,
++     3340,  167,  167,  169, 3340, 3340, 3340, 3340, 3340,  169,
++      171,  171, 3340,  171,  171,  171,  171,  174, 3340, 3340,
++
++     3340, 3340, 3340,  174,  177,  177, 3340, 3340, 3340,  177,
++      177,   90,   90, 3340,   90,   90,   90,   90,   17, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340
      } ;
  
- static const flex_int16_t yy_chk[6104] =
 -static const flex_int16_t yy_chk[6478] =
++static const flex_int16_t yy_chk[6560] =
      {   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,
          3,    3,    3,    4,    4,    4,    5,    5,    6,    6,
-         5,    3,    6,   20,    4,   20,   20,    5,   20,    6,
-         7,    7,    7,    7,   20,    7,    8,    8,    8,    8,
-        29,    8,    7,    9,    9,    9,   22,   22,    8,   10,
-        10,   10,   15,   25,    9,   29,   15,   25, 3114,   31,
-        10,   11,   11,   11,   11,   11,   11,   19,   79,   19,
-        19,   30,   19,   11,   31,   79,   30,   25,   19,   19,
-        47,   47,   11,   12,   12,   12,   12,   12,   12,   21,
-        23,   23,   21,   21,   24,   12,   21,   84,   23,   24,
-        34,   21,   23,   24,   12,   23,   24, 1018,   24,   24,
-        21,   26,   26,   27,   27,   84,   28,   36,   32,   32,
-        28,   34,   27,   28,   33,   33,   26,   32,   42,   33,
-        28,   36,   28,   32,   37,   37,  127,   32,   52,   37,
-        69,   52,  127,   42,  123,   33,   35,   35,   38,   37,
-        37,   35,   37,   38,   69,   35,   38,   39,   39,   81,
-        39,   35,   40,   38,   35,   80,   40,   38,   38,   39,
-       123,   35,  151,   41,   41,   39,   40,   80,   41,   81,
-        40,   40,   41,   58,   77,   58,   58,   77,   58,   63,
-        63,   66,   86,   66,   66,   68,   66,   68,   68,   71,
-        68,   71,   71,   66,   71,   72,   86,   88,   78,   72,
-        71,   74,   78,   74,   74,   82,   74,   83,   82,   85,
-        83,   89,   74,   74,   87,   88,   88,   90,   85,   91,
-        87,   92,   93,   83,  102,   91,   87,   95,   87,   94,
-        97,   96,   98,   89,   97,   92,   90,   98,   91,   99,
-        94,   94,   93,  102,  100,   95,  101,  100,   94,   96,
-       100,  103,  101,   99,  104,  105,  103,  104,  106,  149,
-       108,  104,  107,  100,  100,  109,  107,  108,  110,  111,
-       112,  101,  106,  114,  105,  110,  103,  104,  109,  105,
-       113,  115,  111,  116,  113,  115,  118,  117,  119,  119,
-       112,  114,  117,  120,  122,  121,  117,  124,  126,  121,
-       128,  116,  129,  129,  125,  131,  118,  125,  121,  122,
-       130,  126,  128,  120,  121,  132,  124,  130,  125,  133,
-       129,  131,  125,  129,  135,  134,  135,  136,  130,  141,
-       138,  137,  139,  140,  132,  135,  137,  161,  140,  136,
-       133,  134,  138,  141,  143,  143,  145,  135,  161,  145,
-       139,  147,  155,  147,  147,  155,  147,  150,  150,  152,
-       158,  152,  152,  153,  152,  153,  153,  156,  153,  159,
-       157,  160,  156,  162,  163,  153,  157,  164,  158,  160,
-       166,  162,  165,  168,  159,  157,  160,  165,  167,  168,
-       168,  169,  164,  163,  170,  171,  171,  167,  172,  170,
-       166,  173,  176,  173,  172,  174,  173,  175,  175,  174,
-       177,  180,  178,  148,  174,  177,  169,  178,  179,  174,
-       182,  176,  181,  173,  182,  174,  174,  183,  181,  184,
-       179,  180,  183,  185,  186,  187,  188,  189,  238,  191,
-       193,  188,  189,  184,  191,  192,  186,  201,  185,  186,
-       218,  181,  238,  187,  190,  190,  193,  194,  190,  198,
-       190,  195,  195,  194,  196,  192,  218,  197,  201,  199,
-       196,  200,  190,  197,  190,  199,  196,  200,  202,  198,
-       203,  204,  205,  206,  202,  203,  200,  204,  205,  207,
-       206,  208,  209,  210,  211,  207,  212,  213,  209,  214,
-       211,  215,  216,  219,  208,  213,  215,  217,  222,  220,
-       224,  216,  214,  210,  220,  220,  221,  226,  212,  225,
-       223,  221,  217,  219,  223,  225,  222,  227,  228,  229,
-       231,  232,  224,  227,  229,  226,  226,  230,  232,  230,
-       233,  234,  235,  237,  236,  244,  233,  234,  228,  231,
-       236,  239,  239,  240,  240,  237,  241,  242,  243,  245,
-       243,  235,  241,  242,  245,  247,  246,  248,  244,  249,
-       251,  250,  146,  252,  262,  248,  250,  243,  246,  252,
-       241,  253,  257,  254,  247,  255,  256,  253,  254,  249,
-       255,  258,  256,  251,  259,  260,  261,  257,  264,  262,
-       263,  264,  266,  266,  261,  258,  263,  268,  265,  260,
-       265,  267,  259,  271,  267,  269,  269,  270,  270,  272,
-       273,  275,  274,  273,  277,  268,  274,  276,  281,  271,
-       275,  278,  281,  276,  272,  283,  280,  278,  277,  279,
-       283,  279,  280,  282,  282,  284,  285,  286,  287,  281,
-       288,  284,  289,  289,  290,  291,  292,  290,  293,  144,
-       292,  294,  296,  288,  298,  286,  285,  295,  295,  287,
-       301,  297,  299,  291,  297,  304,  298,  293,  299,  294,
-       296,  300,  301,  305,  300,  303,  307,  309,  305,  307,
-       308,  297,  302,  304,  303,  306,  318,  318,  306,  309,
-       306,  302,  142,  308,  302,  310,  313,  310,  310,  302,
-       302,  302,  302,  311,  312,  314,  306,  312,  311,  311,
-       315,  321,  316,  313,  317,  324,  313,  319,  320,  320,
-       314,  316,  319,  317,  322,  323,  321,  315,  315,  322,
-       325,  326,  327,  330,  324,  338,  331,  323,  327,  328,
-       328,  331,  328,  332,  338,   70,  326,  333,  336,  332,
-       325,  328,  333,  330,  334,  335,  339,  339,  335,  334,
-       335,  337,  336,  340,  337,  334,  341,  341,  342,  340,
-       345,  346,  343,  342,  347,  343,  348,  337,  358,   64,
-       337,  343,  337,  351,  349,  343,  351,  352,  354,  347,
-       345,  348,  346,  343,  344,  344,  355,  344,  349,  358,
-       359,  352,  351,  354,  362,  355,  356,  360,  357,  433,
-       344,  356,  356,  344,  357,  344,  361,  344,  353,  359,
-       353,  353,  360,  362,  364,  361,  365,  366,  368,  363,
-       353,  433,  353,  353,  353,  363,  369,  353,  367,  370,
-       371,  366,  372,  373,  367,  376,  365,  372,  367,  377,
-       364,  368,  375,  375,  374,  371,  369,  378,  373,  370,
-       374,  377,  379,  380,  381,  376,  384,  382,  379,  385,
-       387,  378,  382,  383,  383,  386,  383,  388,  389,  388,
-       381,  392,  389,  390,  387,  385,  384,  390,  380,  391,
-       391,  386,  393,  394,  395,  397,  396,  388,  399,  398,
-       392,  400,  390,  399,  397,  400,  403,  393,  398,  394,
-       396,  401,  395,  402,  405,  397,  404,  397,  405,  402,
-       401,  406,  404,  407,  406,  408,  410,  403,  407,  409,
-       409,  411,  411,  412,  413,  414,  414,  415,  412,  410,
-       416,  417,  418,  415,  416,  408,  419,  413,  420,  421,
-       421,  419,  422,  420,  423,  424,  417,  425,  421,  426,
-       428,  427,  426,  418,  422,  427,  429,  429,  431,  425,
-       430,  436,  428,  424,  423,  430,  432,  432,  435,  435,
-       437,  438,  439,  442,  441,  446,  440,  444,  437,  431,
-       438,  440,  436,  445,  447,  442,  449,  448,  451,  446,
-       447,  457,  449,  439,  441,  444,  448,  444,  452,  450,
-       454,  455,  451,  445,  450,  453,  452,  456,  453,  452,
-       460,  457,  458,  456,  454,  458,  455,  459,  462,  466,
-       461,  463,  464,  459,  460,  461,  464,  465,  467,  468,
-       469,  470,  465,  467,  466,  473,  511,  474,  476,  475,
-       462,  459,  463,  475,  470,  468,  477,   59,  481,  469,
-       471,  471,  474,  481,  511,  473,  471,  476,  471,  478,
-       480,  484,  477,  478,  471,  482,  471,  484,  479,  471,
-       471,  483,  484,  479,  485,  480,  471,  479,  487,  486,
-       483,  482,  486,  488,  489,  489,  490,  491,  491,  492,
-       485,  494,  496,  493,  495,  497,  499,  500,  498,   54,
-       497,  487,  501,  488,  492,  493,  494,  498,  501,  503,
-       506,  490,  500,  495,  496,  499,  504,  505,  503,  507,
-       504,  508,  506,  505,  509,  512,  510,  515,   53,  512,
-       513,  514,  518,  514,  507,  515,  516,  516,  509,  517,
-       508,  510,  519,  513,  518,  517,  520,  521,  519,  522,
-       521,  523,  524,  525,  527,  526,  525,  524,  520,  529,
-       530,  530,  528,  522,  526,  536,  523,  528,  528,  543,
-       527,  526,  529,  532,  526,  531,  531,  533,  533,  532,
-       534,  534,  535,  539,  537,  538,  536,  537,  535,  540,
-       538,  541,  543,  542,  541,  544,  545,  540,  542,  546,
-       545,  548,  539,  547,  549,  546,  550,  547,  552,  549,
-       551,  553,  554,  552,  544,  554,  551,  555,  557,  548,
-       554,  556,  556,  558,  554,  553,  550,  559,  560,  561,
-       562,  564,  559,  560,   48,  555,  557,  564,  565,  558,
-       571,  566,  567,  561,  566,  562,  567,  565,  568,  569,
-       570,  572,  569,  568,  573,  570,  571,  574,  575,  576,
-       580,  573,  578,  575,  577,  577,  579,  583,  567,  572,
-       574,  578,  581,  583,  582,  585,  580,  584,  585,  576,
-       589,  581,  592,  584,   43,  579,  582,  586,  586,  587,
-       586,  588,  587,  590,  591,  594,  588,  593,  589,  591,
-       594,  592,  595,  593,  603,  597,  596,  590,  595,  596,
-       597,  598,  599,  600,  601,  602,  598,  598,  604,  601,
-       606,  602,   14,  603,  605,  599,  600,  604,  608,  605,
-       607,  607,  610,  601,  601,  608,  609,  611,  610,  609,
-       606,  612,  613,  614,  614,  615,  612,  613,  613,  611,
-       616,  619,  616,  617,  609,  618,  620,  618,  621,  622,
-       623,  624,  625,  629,  626,  630,  625,  624,  627,  619,
-       615,  628,  617,  626,  620,  631,  621,  632,  622,  633,
-       623,  629,  634,  627,  630,  633,  628,  631,  635,  636,
-       637,  638,  632,  639,  640,  638,  634,  641,  642,  643,
-       635,  645,  645,  646,  647,  644,  649,  646,  636,  637,
-       640,  639,  651,  648,  652,  641,  642,  642,  643,  644,
-       649,  650,  653,  647,  648,  654,  650,  659,  651,  655,
-       656,  657,  654,  652,  655,  653,  657,  656,  658,  660,
-       661,  662,  663,  658,  664,  659,  660,  665,  668,  661,
-       666,  663,  665,  666,  667,  662,  664,  669,  667,  670,
-       672,  671,  668,  673,  673,  678,  669,  674,  674,  675,
-       675,  676,  679,  680,  670,  671,  674,  682,  679,  681,
-       676,  672,  683,  681,  678,  684,  685,  686,  688,  682,
-       687,  689,  685,  680,  690,  686,  693,  687,  696,  699,
-        13,  702,  701,  684,  700,  702,  688,  683,  699,  706,
-       700,  693,  703,  703,  690,  696,  689,  691,  701,  704,
-       704,  705,  691,  708,  707,  709,  691,  706,  711,  691,
-       769,  709,  705,  711,  712,  713,  691,  691,  707,  691,
-       714,  716,  716,  708,  710,  710,  710,  715,  710,  719,
-       715,  710,  717,  713,  769,  712,  710,  718,  718,  717,
-       720,  720,  710,  710,  719,  714,  721,  722,  723,  726,
-       722,  721,  727,  723,  724,  724,  725,  729,  725,  728,
-       730,  726,  731,  728,  732,  732,  733,  736,  734,  738,
-       731,  727,  735,  735,  737,  740,  757,  729,  739,  730,
-       740,  733,  734,  757,  739,  736,  737,  741,  741,  742,
-       745,  738,  744,  746,  742,  742,  745,  744,  747,  746,
-       748,  749,  750,  747,  749,  751,  748,  754,  750,  752,
-       752,  753,  753,  751,  755,  754,  756,  758,  759,  760,
-       762,  756,  761,  761,  764,  763,  765,  767,  768,  762,
-       764,  771,  755,  763,  759,  758,  767,  768,  760,  770,
-       771,  774,  773,  772,  770,  765,  772,  773,  775,  776,
-       777,  778,  779,  779,  780,  774,  778,  778,  776,  781,
-       783,  782,  788,  777,  784,  790,  786,  784,  786,  780,
-       782,  787,  787,  775,  789,  784,  791,  792,  781,  789,
-       793,  794,  795,  788,  783,  796,  790,  798,  797,  800,
-       799,  795,  797,  803,  801,  800,  791,  792,  802,  804,
-       805,  794,  793,  801,  806,  798,  805,  809,  796,  799,
-       802,  807,  803,  804,  808,  808,  807,  810,  806,  811,
-       812,  813,  814,  815,  817,  816,  810,  809,  812,  818,
-       817,  819,  820,  826,  821,  824,  825,  819,  826,  811,
-       821,  813,  815,  818,  814,  816,  823,  822,  825,  827,
-       823,  831,  820,  822,  824,  829,  825,  828,  828,  830,
-       832,  829,  830,  834,  836,  833,  835,  835,  842,  831,
-       827,  833,  837,  832,  838,  838,  839,  837,  841,  841,
-       840,  843,  836,  834,  840,  845,  847,  844,  848,  850,
-       842,  839,  844,  851,  853,  853,  854,  855,  856,  856,
-       854,  843,  848,  857,  845,  860,  859,  858,  861,  850,
-       847,  858,  855,  861,  851,  852,  862,  863,  852,  860,
-       852,  859,  863,  863,  852,  864,  852,  866,  857,  865,
-       862,  852,  867,  865,  868,  869,  852,  867,  870,  864,
-       869,  871,  866,  872,  873,  865,  868,  867,  874,  875,
-       873,  877,  870,  879,  874,  875,  877,  872,  876,  876,
-       878,  880,  871,  881,  883,  884,  878,  886,  887,  887,
-       884,  885,  888,  890,  891,  879,  883,  888,  889,  886,
-       880,  881,  882,  882,  892,  885,  889,  890,  882,  896,
-       882,  893,  893,  891,  894,  896,  882,  897,  894,  898,
-       897,  882,  882,  892,  899,  900,  902,  901,  882,  907,
-       904,  900,  901,  905,  906,  907,  909,  899,  898,  904,
-       908,  910,  905,  911,  912,  902,  910,  913,  914,  908,
-       906,  917,  915,  916,  918,  909,  921,  917,  912,  919,
-       914,  915,  916,  911,  923,  919,  924,  913,  925,  926,
-       927,  918,  921,  936,  928,  929,  930,  933,  923,  936,
-       929,  930,  933,  926,  934,  937,  924,  925,  927,  928,
-       935,  935,  938,  934,  937,  939,  941,  942,  946,  945,
-       943,  943,  942,  942,  943,  947,  944,  938,  939,  944,
-       948,  949,  941,  945,  950,  952,  951,  953,  946,  954,
-       955,  947,  951,  953,  949,  955,  956,  958,  948,  950,
-       958,  959,  960,  961,  954,  952,  963,  960,  961,  962,
-       956,  963,  964,  967,  965,  968,  973,  964,  969,  967,
-       976,  970,  959,  972,  969,  962,  965,  970,  971,  971,
-       974,  968,  972,  974,  973,  975,  975,  977,  976,  978,
-       979,  980,  981,  979,  982,  988,  983,  984,  981,  986,
-       982,  983,  984,  985,  980,  986,  977,  989,  985,  978,
-       990,  993,  991,  988,  992,  992,  990,  991,  995,  994,
-       993,  996,  997,  998,  996,  997,  999,  989,  994, 1000,
-      1001, 1002, 1003, 1004,  998, 1005,  995, 1002, 1003, 1007,
-      1005, 1000, 1006, 1006,  999, 1008, 1011, 1010, 1004, 1001,
-      1009, 1010, 1012, 1013, 1014, 1016, 1017, 1017, 1007, 1008,
-      1020, 1012, 1009, 1019, 1011, 1022, 1021, 1023, 1024, 1024,
-      1022, 1025, 1013,    0, 1016, 1020, 1023, 1019, 1021, 1014,
-      1026, 1027, 1029, 1028, 1029, 1030, 1026, 1027, 1028, 1031,
-      1030, 1025, 1032, 1033, 1034, 1035, 1037, 1036, 1033, 1038,
-      1040, 1040, 1041, 1031, 1036, 1042, 1032, 1043, 1045, 1034,
-      1046, 1037, 1049, 1044, 1035, 1046, 1041, 1049, 1038, 1044,
-      1048, 1048, 1043, 1042, 1046, 1051, 1046, 1052, 1045, 1046,
-      1050, 1050, 1051, 1053, 1054, 1056, 1053, 1055, 1057, 1058,
-      1059, 1052, 1061, 1057, 1056, 1059, 1060, 1063, 1063, 1064,
-      1066, 1065, 1070, 1054, 1064, 1055, 1065, 1060, 1058, 1067,
-      1069, 1061, 1068, 1071, 1067, 1072, 1068, 1070, 1073, 1069,
-      1066, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1071, 1075,
-      1073, 1082, 1081, 1080, 1072, 1076, 1074, 1083, 1087, 1084,
-      1089,    0, 1088, 1077, 1079, 1093, 1078, 1081, 1084, 1086,
-      1088, 1082, 1087, 1090, 1091, 1086, 1092, 1083, 1090, 1094,
-      1089, 1092, 1092, 1095, 1093, 1098, 1091, 1096, 1096, 1100,
-      1099, 1101, 1101, 1094,    0, 1100, 1095, 1097, 1098, 1099,
-      1103, 1104, 1097, 1102, 1108, 1097, 1097, 1104, 1102, 1103,
-      1097, 1111, 1105, 1106, 1107, 1107, 1097, 1105, 1106, 1112,
-      1097, 1109, 1109, 1110, 1113, 1108, 1110, 1114, 1110, 1115,
-      1116, 1111, 1117, 1113, 1115, 1118, 1119, 1112, 1120, 1122,
-      1124, 1118, 1119, 1120, 1116, 1121, 1123, 1114, 1122, 1121,
-      1117, 1123, 1131, 1122, 1124, 1122, 1127, 1122, 1130, 1122,
-      1125, 1125, 1126, 1126, 1129, 1126, 1132, 1127, 1129, 1134,
-      1131, 1133, 1135, 1130, 1136, 1132, 1133, 1133, 1134, 1136,
-      1138, 1137, 1139, 1140, 1141, 1142, 1143, 1143, 1144, 1138,
-      1145, 1142, 1146, 1147, 1135, 1137, 1144, 1146, 1141, 1148,
-      1149, 1139, 1140, 1150, 1145, 1151, 1153, 1147, 1148, 1162,
-      1151, 1152, 1152, 1154, 1154, 1155, 1157, 1155, 1149, 1157,
-      1158, 1153, 1159, 1160, 1166, 1158, 1161, 1161, 1150, 1162,
-      1163, 1163, 1160, 1164, 1164, 1165, 1167, 1168, 1168, 1169,
-      1165, 1159, 1171, 1170, 1172, 1166, 1170, 1173, 1174, 1172,
-      1174, 1175, 1177, 1178,    0, 1177, 1173, 1167, 1179, 1169,
-      1180, 1182, 1171, 1179, 1181, 1180, 1182, 1186, 1178, 1175,
-      1183, 1185, 1181, 1184, 1184, 1183, 1185, 1187, 1189, 1188,
-      1196, 1191, 1192, 1187, 1193, 1186, 1188, 1191, 1192, 1193,
-      1194, 1189, 1195, 1197, 1198, 1198, 1194, 1199, 1201, 1196,
-      1202, 1195, 1203, 1204, 1197, 1205, 1207, 1208, 1203, 1204,
-      1209, 1205, 1207, 1210, 1211, 1212, 1214, 1199, 1201, 1213,
-      1213, 1208, 1215, 1202, 1216, 1210, 1217, 1208, 1211, 1219,
-      1209, 1217, 1220, 1212, 1218, 1218, 1214, 1220, 1222, 1223,
-      1224, 1225, 1216, 1226, 1223, 1223, 1227, 1215, 1228, 1229,
-      1225, 1226, 1219, 1231, 1230, 1231, 1232, 1222, 1224, 1230,
-      1227, 1238, 1230, 1228, 1229, 1234, 1236, 1229, 1235, 1237,
-      1232, 1234, 1235, 1239, 1237, 1237, 1240, 1236, 1241, 1242,
-      1238, 1243, 1244, 1241, 1246, 1247, 1243, 1248, 1249, 1249,
-      1251, 1250, 1252, 1255, 1240, 1250, 1256, 1242, 1246, 1239,
-      1253, 1254, 1244, 1247, 1257, 1248, 1253, 1258, 1251, 1259,
-      1256, 1252, 1255, 1254, 1261, 1260, 1263, 1264, 1262, 1257,
-      1260, 1261, 1258, 1262, 1265, 1265, 1264, 1266, 1259, 1267,
-      1268, 1269, 1270, 1271, 1263, 1267, 1269, 1278, 1270, 1271,
-      1272, 1272, 1266, 1273, 1273, 1275, 1275, 1277, 1276, 1279,
-      1280, 1268, 1276, 1281, 1283, 1278, 1277, 1282, 1282, 1284,
-      1281, 1285, 1286, 1279, 1287, 1280, 1285, 1284, 1290, 1291,
-      1291, 1292, 1288, 1293, 1283, 1289, 1286, 1288, 1288, 1295,
-      1289, 1289, 1294, 1287, 1295, 1296, 1297, 1298, 1290, 1299,
-      1292, 1294, 1293, 1300, 1301, 1299, 1302, 1303, 1300, 1306,
-      1307, 1304, 1302, 1305, 1296, 1298, 1297, 1304, 1308, 1305,
-      1309, 1310, 1311, 1312, 1313, 1313, 1303, 1315, 1306, 1307,
-      1301, 1314, 1316, 1317, 1314, 1310,    0, 1308, 1312, 1309,
-      1318, 1318, 1322, 1311, 1320, 1317, 1315, 1319, 1319, 1320,
-      1321, 1316, 1323, 1324, 1321, 1322, 1325, 1329, 1325, 1327,
-      1328, 1323, 1325, 1330, 1331, 1328, 1324, 1332, 1332, 1333,
-      1334, 1335, 1329, 1340, 1333, 1325, 1334, 1327, 1336, 1337,
-      1331, 1338, 1341, 1330, 1337, 1338, 1335, 1342, 1339, 1343,
-      1346, 1336, 1339, 1340, 1348, 1343, 1344, 1344, 1349, 1351,
-      1341, 1350, 1350, 1349, 1352, 1351, 1358, 1342, 1346, 1354,
-      1354, 1356, 1357, 1357, 1356, 1348, 1359, 1361, 1362, 1363,
-      1361, 1365, 1358, 1366, 1352, 1364, 1364, 1367, 1363, 1368,
-      1371, 1369, 1359, 1373, 1368, 1372, 1365, 1375, 1362, 1370,
-      1370, 1374, 1374, 1376, 1366, 1369, 1367, 1377, 1371, 1378,
-      1372, 1375, 1377, 1379, 1379, 1380, 1381, 1383, 1373, 1380,
-      1384, 1376, 1382, 1382, 1378, 1385, 1386, 1387, 1390, 1385,
-      1391, 1384, 1387, 1389, 1389, 1392, 1381, 1393, 1394, 1383,
-      1395, 1395, 1396, 1399, 1391, 1386, 1390, 1396, 1397, 1398,
-      1401, 1393, 1399, 1400, 1392, 1392, 1403, 1402, 1400, 1402,
-      1404, 1403, 1405, 1394, 1408, 1406, 1404, 1410, 1397, 1398,
-      1401, 1406, 1409, 1409, 1411, 1414, 1413, 1417, 1408, 1418,
-      1411, 1413, 1405, 1415, 1415, 1419, 1410, 1416, 1416, 1420,
-      1422, 1417, 1420, 1421, 1421, 1423, 1655, 1418, 1424, 1414,
-      1419, 1424, 1422, 1425, 1424, 1426, 1431, 1655, 1427, 1425,
-      1426, 1427, 1429, 1430, 1432, 1423, 1424, 1432, 1430, 1433,
-      1437, 1429, 1439, 1434, 1440, 1433, 1437, 1427, 1434, 1435,
-      1435, 1431, 1436, 1436, 1438, 1439, 1441, 1442, 1443, 1438,
-      1444, 1443, 1440, 1445, 1448, 1446, 1444, 1447, 1452, 1445,
-      1446, 1449, 1453, 1447, 1454, 1441, 1449, 1442, 1450, 1450,
-      1451, 1455, 1456, 1459, 1458, 1451, 1452, 1448, 1457, 1459,
-      1460, 1461, 1453, 1462, 1454, 1455, 1456, 1458, 1463, 1467,
-      1457, 1465, 1465, 1466, 1467, 1468, 1468, 1462, 1470, 1469,
-      1460, 1461, 1471, 1472, 1474, 1481, 1473, 1479, 1477, 1463,
-      1475, 1476, 1470, 1466, 1469, 1473,    0, 1475, 1486, 1474,
-      1476, 1472, 1479, 1476, 1477, 1482, 1471, 1479, 1482, 1485,
-      1481, 1483, 1483, 1484, 1484, 1487, 1486, 1489, 1487, 1488,
-      1488, 1485, 1490, 1491, 1492, 1493, 1494, 1495, 1491, 1492,
-      1489, 1496, 1501, 1499, 1497, 1505, 1495, 1503, 1498, 1499,
-      1502, 1490, 1494, 1497, 1493, 1504, 1497, 1498, 1500, 1500,
-      1496, 1505, 1501, 1502, 1508, 1503, 1506, 1511, 1507, 1504,
-      1512, 1506, 1506, 1507, 1513, 1513, 1508, 1514, 1515, 1516,
-      1517, 1517, 1518, 1520, 1516, 1519, 1521, 1515, 1512, 1526,
-      1519, 1518, 1511, 1514, 1518, 1517, 1522, 1523, 1525, 1527,
-      1528, 1520, 1523, 1523, 1526, 1528, 1530, 1521, 1537, 1529,
-      1531, 1531, 1525, 1532, 1522, 1529, 1538, 1533, 1546, 1532,
-      1534, 1527, 1533, 1535, 1530, 1539, 1534, 1540, 1537, 1535,
-      1538, 1539, 1541, 1542, 1544, 1541, 1547, 1546, 1548, 1542,
-      1540, 1541, 1544, 1549, 1550, 1551, 1548, 1552, 1553, 1554,
-      1554, 1557, 1549, 1555, 1556, 1547, 1558, 1550, 1551, 1555,
-      1556, 1552, 1553, 1559, 1557, 1560, 1561, 1562, 1563, 1564,
-      1565, 1554, 1568, 1562, 1567, 1567, 1558, 1574, 1569, 1561,
-      1576, 1559, 1569,    0, 1560, 1564, 1570, 1573, 1565, 1571,
-      1563, 1570, 1568, 1572, 1571, 1576, 1573, 1578, 1572, 1579,
-      1574, 1577, 1577, 1580, 1581, 1581, 1582, 1583, 1586, 1584,
-      1587, 1579, 1585, 1588, 1583, 1590, 1578, 1589,    0, 1588,
-      1582, 1584, 1580, 1593, 1585, 1591, 1593, 1586, 1600, 1589,
-      1587, 1591, 1597, 1590, 1592, 1592, 1594, 1594, 1596, 1598,
-      1600, 1597, 1601, 1596, 1601, 1598, 1599, 1599, 1602, 1603,
-      1604, 1602, 1605, 1606, 1607, 1608, 1609, 1611, 1610, 1607,
-      1613, 1615, 1611, 1616, 1608, 1612, 1615, 1620, 1609, 1603,
-      1605, 1606, 1604, 1610, 1612, 1619, 1614, 1621, 1616, 1618,
-      1613, 1614, 1617, 1617, 1622, 1618, 1620, 1612, 1614, 1623,
-      1628, 1623, 1624, 1621, 1625, 1625, 1619, 1626, 1626, 1627,
-      1627, 1629, 1629, 1631, 1622, 1632, 1624, 1639, 1624, 1641,
-      1628, 1630, 1630, 1633, 1633, 1634, 1635, 1636,    0, 1634,
-      1636, 1638, 1635, 1640, 1631, 1639, 1632, 1638, 1642, 1640,
-      1653, 1642, 1643, 1643, 1641, 1644, 1644, 1645, 1646, 1647,
-      1648, 1649, 1650, 1645, 1653, 1659, 1656, 1649, 1652, 1657,
-      1646, 1646, 1646, 1652, 1652, 1657, 1654, 1646, 1654, 1647,
-      1648, 1656, 1650, 1658, 1660, 1659, 1661, 1661, 1662, 1663,
-      1663, 1664, 1658, 1665, 1666, 1666, 1667, 1667, 1668, 1671,
-      1671, 1672, 1676, 1673, 1675, 1660, 1678, 1678, 1679, 1680,
-      1677, 1664, 1673, 1675, 1662, 1665, 1677, 1683, 1668, 1682,
-      1681, 1684, 1684, 1676, 1680, 1685, 1672, 1681, 1682, 1679,
-      1686, 1688, 1689, 1690, 1691, 1693, 1688, 1693, 1689, 1692,
-      1695, 1691, 1696, 1683, 1700, 1692, 1686, 1698, 1696, 1697,
-      1697, 1685, 1698, 1690, 1699, 1701, 1702, 1703, 1704, 1695,
-      1703, 1705, 1709, 1699, 1700, 1706, 1706, 1707, 1702, 1708,
-      1710, 1713, 1714, 1707, 1701, 1708, 1704, 1711, 1715, 1716,
-      1716, 1711, 1709, 1715, 1717, 1710, 1718, 1705, 1720, 1721,
-      1722, 1713, 1728, 1721, 1714, 1723, 1722, 1711, 1724, 1724,
-      1726, 1718, 1725, 1717, 1723, 1729, 1725, 1720, 1727, 1727,
-      1730, 1726, 1731, 1728, 1732, 1733, 1726, 1731, 1734, 1729,
-      1736, 1735, 1737, 1737, 1734, 1736, 1738, 1738, 1739, 1730,
-      1741, 1742, 1739, 1743, 1732, 1733, 1735, 1744, 1744, 1741,
-      1745, 1745, 1742, 1746, 1747, 1748, 1749, 1742, 1746, 1746,
-      1747, 1748, 1750, 1743, 1751, 1752, 1754, 1750, 1755, 1756,
-      1757, 1752, 1755, 1758, 1759, 1761, 1751, 1760, 1754, 1758,
-      1763, 1756, 1749, 1760, 1764, 1765, 1767, 1761, 1771, 1767,
-      1765, 2257, 1763, 1768, 1768, 1757, 1759, 1769, 1769, 1770,
-      1770, 1772, 2257, 1764, 1773, 1776, 1774, 1772, 1771, 1775,
-      1773, 1774, 1778, 1780, 1776, 1775, 1780, 1778, 1781, 1782,
-      1782, 1784, 1785, 1786, 1787, 1787, 1788, 1789, 1786, 1792,
-      1781, 1790, 1789, 1784, 1785, 1788, 1790, 1791, 1791, 1793,
-      1794, 1795, 1796, 1799, 1801, 1797, 1796, 1798, 1793, 1792,
-      1797, 1802, 1805, 1798, 1800, 1804, 1804, 1806, 1794, 1809,
-      1795, 1799, 1801, 1800, 1808, 1802, 1806, 1804, 1807, 1807,
-      1805, 1809, 1810, 1808, 1811, 1812, 1815, 1815, 1817, 1811,
-      1818, 1817, 1819, 1822, 1821, 1823, 1824, 1828, 1812, 1825,
-      1825, 1823, 1826, 1810, 1826, 1828, 1818, 1822, 1819, 1821,
-      1827, 1827, 1830, 1824, 1831, 1832, 1832, 1833, 1834, 1830,
-      1835, 1836, 1838, 1837, 1840, 1839, 1833, 1842, 1845, 1843,
-      1840, 1846, 1835, 1836, 1831, 1837, 1844, 1844, 1849, 1834,
-      1839, 1843, 1847, 1840, 1848, 1847, 1845, 1842, 1838, 1848,
-      1851, 1846, 1852, 1853, 1852, 1851, 1854, 1855, 1849, 1857,
-      1859, 1854, 1861, 1860, 1855, 1862, 1863, 1862, 1857, 1866,
-      1868, 1853, 1860, 1865, 1861, 1865, 1867, 1867, 1859, 1869,
-      1870, 1871, 1870, 1866, 1869, 1863, 1871, 1872, 1873, 1874,
-      1876, 1875, 1872, 1878, 1877, 1876, 1868, 1875, 1879, 1882,
-      1880, 1883, 1886, 1879, 1879, 1878, 1873, 1877, 1880, 1874,
-      1884, 1884, 1885, 1885, 1887, 1883, 1888, 1886, 1882, 1889,
-      1891, 1890, 1888, 1890, 1889, 1892, 1893, 1893, 1894, 1895,
-      1895, 1896, 1896, 1892, 1887, 1897, 1899, 1898, 1891, 1901,
-      1894, 1892, 1898, 1902, 1897, 1902, 1903, 1904, 1901, 1905,
-      1906, 1901, 1904, 1904, 1899, 1909, 1908, 1912, 1905, 1910,
-      1909, 1913, 1906, 1914, 1910, 1915, 1915, 1903, 1908, 1916,
-      1912, 1917, 1914, 1920, 1918, 1924, 1927, 1919, 1925, 1926,
-      1922, 1913, 1923, 1925, 1926, 1927, 1933, 1916, 1920, 1917,
-      1918, 1919, 1922, 1930, 1923, 1924, 1932, 1935, 1934, 1930,
-      1936, 1937, 1932, 1938, 1938, 1939, 1940, 1940, 1941, 1933,
-      1937, 1944, 1930, 1934, 1939, 1935, 1942, 1943, 1948,    0,
-      1942, 1948, 1943, 1945, 1944, 1936, 1946, 1941, 1945, 1945,
-      1947, 1949, 1946, 1950, 1953, 1953, 1947, 1954, 1954, 1949,
-      1955, 1956, 1956, 1957, 1957, 1958, 1959, 1968, 1960, 1955,
-      1961, 1964, 1954, 1950, 1960, 1961, 1964, 1958, 1962, 1962,
-      1963, 1963, 1965, 1954, 1959, 1967, 1969, 1968, 1965, 1967,
-      1969, 1971, 1972, 1974, 1973, 1975, 1976, 1972, 1978, 1977,
-      1975, 1979, 1980, 1981, 1981, 1982, 1979, 1983, 1974, 1982,
-      1985, 1986, 1987, 1997, 1976, 1977, 1971, 1973, 1978, 1989,
-      1984, 1988, 1983, 1986, 1980, 1984, 1988, 1990, 1991, 1991,
-      1993, 1987, 1989, 1994, 1995, 1996, 1985, 1997, 1993, 1999,
-      1998, 2001, 2000, 2004, 2004, 1990, 2003, 2005,    0, 2007,
-      2005, 2006, 1994, 1995, 2000, 2008, 2009, 2009, 1996, 1998,
-      1999, 2003, 2001, 2007, 2006, 2010, 2010, 2012, 2008, 2011,
-      2011, 2013, 2014, 2014, 2015, 2016, 2016, 2020, 2021, 2022,
-      2017, 2025, 2012, 2015, 2013, 2017, 2015, 2019, 2023, 2023,
-      2027, 2022, 2019, 2024, 2024, 2026, 2026, 2020, 2021, 2029,
-      2025, 2028, 2028, 2033, 2030, 2031, 2031, 2034, 2027, 2030,
-      2032, 2032, 2035, 2036, 2029, 2038, 2034, 2033, 2039, 2039,
-      2038, 2040, 2041, 2041, 2042, 2043, 2035, 2044, 2045, 2045,
-      2044, 2043, 2036, 2046, 2046, 2047, 2048, 2049, 2051, 2049,
-      2040, 2052, 2042, 2055, 2045, 2053, 2053, 2056, 2058, 2057,
-      2060, 2048, 2058, 2051, 2047, 2059, 2059, 2061, 2062, 2063,
-      2052, 2066, 2061, 2055, 2057, 2065, 2065, 2071, 2067, 2060,
-      2056, 2068, 2069, 2062, 2063, 2067, 2070, 2072, 2072, 2073,
-      2074, 2066, 2074, 2075, 2077, 2068, 2075, 2078, 2073, 2080,
-      2069, 2081, 2078, 2071, 2070, 2079, 2077, 2082, 2084, 2090,
-      2079, 2075, 2083, 2075, 2081, 2086, 2087, 2083, 2088, 2089,
-      2086, 2087, 2092, 2091, 2080, 2089, 2093, 2092, 2082, 2091,
-      2090, 2093, 2094, 2088, 2084, 2095, 2096, 2097, 2098, 2096,
-      2099, 2100, 2101, 2106, 2108, 2102, 2097, 2098, 2095, 2099,
-      2100, 2102, 2103, 2108, 2112, 2104, 2101, 2094, 2103, 2104,
-      2109, 2109, 2110, 2106, 2111, 2111, 2114, 2115, 2110, 2116,
-      2116, 2117, 2118, 2111, 2112, 2120, 2112, 2121, 2123, 2122,
-      2127, 2118, 2114, 2115, 2126, 2125, 2117, 2120, 2125, 2126,
-      2123, 2128,    0, 2121, 2122, 2129, 2129, 2130, 2130, 2138,
-      2127, 2132, 2132, 2128, 2133, 2134, 2135, 2133, 2136, 2140,
-      2134, 2141, 2135, 2138, 2136, 2137, 2137, 2139, 2139, 2142,
-      2144, 2140, 2143, 2143, 2146, 2141, 2144, 2145, 2148, 2146,
-      2149, 2151, 2148, 2149, 2150, 2150, 2151, 2152, 2142, 2153,
-      2154, 2145, 2155, 2155, 2154, 2156, 2152, 2158, 2159, 2160,
-      2161, 2162, 2158, 2163, 2165, 2162, 2164, 2166, 2156, 2153,
-      2165, 2164, 2167, 2166, 2161, 2169, 2170, 2172, 2159, 2160,
-      2171, 2170, 2173, 2163, 2173, 2172, 2171, 2176, 2177, 2177,
-      2167, 2169, 2178, 2179, 2182, 2178, 2180, 2180, 2182, 2183,
-      2184, 2176, 2185, 2185, 2186, 2183, 2189, 2189, 2191, 2193,
-      2197, 2194, 2184, 2186, 2198, 2197, 2199, 2200, 2207, 2179,
-      2208, 2199, 2200, 2193, 2201, 2201, 2191, 2194, 2203, 2203,
-      2205, 2206, 2206, 2209, 2207, 2211, 2205, 2213, 2209, 2214,
-      2198, 2212, 2208, 2217, 2212, 2215, 2215, 2218, 2219, 2213,
-      2220, 2214, 2217, 2218, 2211, 2222, 2222, 2223, 2224, 2229,
-      2223, 2225, 2227, 2227, 2229, 2220, 2219, 2228, 2228, 2230,
-      2232, 2231, 2233, 2236, 2233, 2232, 2234, 2224, 2235, 2225,
-      2231, 2237, 2238, 2239,    0, 2236, 2237, 2230, 2239, 2244,
-      2234, 2245, 2235, 2240, 2240, 2241, 2241, 2242, 2242, 2243,
-      2243, 2244, 2238, 2246, 2247, 2247, 2248, 2248, 2246, 2245,
-      2249, 2250, 2251, 2252, 2253, 2253, 2254, 2255, 2255, 2256,
-      2256, 2258, 2249, 2250, 2259, 2260, 2261, 2263, 2264, 2252,
-      2267, 2259, 2251, 2258, 2262, 2254, 2266, 2260, 2268, 2262,
-      2265, 2265, 2269, 2270, 2273, 2266, 2261, 2263, 2264, 2271,
-      2272, 2272, 2277, 2273, 2274, 2269, 2267, 2275, 2268, 2278,
-      2279, 2280, 2281, 2271, 2280,    0, 2282, 2270, 2283, 2274,
-      2277, 2282, 2275, 2283, 2284, 2284, 2281, 2285, 2285, 2286,
-      2286, 2278, 2291, 2279, 2288, 2288, 2290, 2290, 2292, 2293,
-      2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2301, 2292,
-      2291, 2303, 2304, 2299, 2305, 2305, 2307, 2307, 2293, 2296,
-      2295, 2308, 2309, 2298, 2297, 2300, 2312, 2302, 2314, 2303,
-      2304, 2309, 2310, 2310, 2315, 2312, 2313, 2313, 2316, 2317,
-      2318, 2319, 2321, 2308, 2320, 2316, 2314, 2322, 2322, 2323,
-      2323, 2324, 2315, 2325, 2317, 2326, 2327, 2324, 2318, 2319,
-      2320, 2321, 2328, 2329, 2330, 2333, 2333, 2328, 2331, 2337,
-      2326, 2325, 2332, 2331, 2332, 2327, 2334, 2339, 2334, 2335,
-      2335, 2340, 2341, 2329, 2330, 2342, 2339, 2343, 2337, 2344,
-      2352, 2345, 2343, 2348, 2341, 2349, 2350, 2350, 2349, 2351,
-      2340, 2353, 2353, 2355, 2354, 2342, 2358, 2356, 2352, 2344,
-      2345, 2356, 2359, 2348, 2351, 2354, 2359, 2361, 2355, 2360,
-      2360, 2358, 2363, 2364, 2365, 2366, 2366, 2368, 2370, 2369,
-      2361, 2372, 2370, 2371, 2371, 2373, 2373, 2363, 2369, 2368,
-      2374, 2376, 2375, 2364, 2365, 2374, 2377, 2378, 2378, 2384,
-      2372, 2375, 2383, 2383, 2385, 2385, 2386, 2376, 2377, 2387,
-      2391, 2388, 2390, 2390, 2389, 2393, 2393, 2401, 2398, 2386,
-      2388, 2384, 2387, 2389, 2396, 2391, 2397, 2400, 2399, 2396,
-      2402, 2397, 2398, 2399, 2403, 2400, 2401, 2405, 2406, 2402,
-      2407, 2408, 2403, 2406, 2411, 2407, 2409, 2409, 2410, 2410,
-      2412, 2411, 2405, 2413, 2414, 2412, 2408, 2415, 2418, 2416,
-      2417, 2417, 2419, 2415, 2416, 2420, 2420, 2419, 2421, 2421,
-      2424, 2413, 2414, 2418, 2425, 2425, 2426, 2428, 2434, 2426,
-      2427, 2430, 2428, 2424, 2429, 2427, 2427, 2430, 2431, 2429,
-      2432, 2433, 2431, 2434, 2435, 2432, 2436, 2437, 2438, 2440,
-      2433, 2439, 2435, 2437, 2438, 2442, 2439, 2445, 2447, 2443,
-      2442, 2440, 2443, 2447, 2449, 2448, 2450, 2436, 2451, 2445,
-      2448, 2452, 2453, 2453, 2454, 2457, 2458, 2451, 2459, 2450,
-      2452, 2461, 2449, 2454, 2460, 2460, 2462, 2463, 2464, 2464,
-      2465, 2467, 2469, 2472, 2457, 2462, 2458, 2459, 2481, 2470,
-      2461, 2473, 2463, 2470, 2471, 2471, 2467, 2473, 2474, 2465,
-      2475, 2481, 2469, 2477, 2474, 2480, 2475, 2478, 2472, 2476,
-      2476, 2477, 2478, 2483, 2480, 2484, 2485, 2486, 2484, 2483,
-      2485, 2487, 2489, 2489, 2490, 2491, 2491, 2492, 2492, 2494,
-      2494, 2486, 2500, 2495, 2496, 2502, 2487, 2495, 2501, 2496,
-      2498, 2498, 2490, 2501, 2503, 2505, 2511, 2502, 2510, 2503,
-      2503, 2510, 2500, 2506, 2506, 2508, 2508, 2509, 2509, 2511,
-      2513, 2515, 2516, 2516, 2519, 2505, 2517, 2517, 2518, 2518,
-      2520, 2520, 2521, 2522, 2523, 2530, 2524, 2531, 2513, 2519,
-      2532, 2515, 2524, 2525, 2525, 2521, 2526, 2529, 2523, 2533,
-      2526, 2522, 2529, 2529, 2535, 2533, 2534, 2531, 2530, 2536,
-      2532, 2540, 2534, 2536, 2537, 2537, 2540, 2542, 2543, 2545,
-      2546, 2543, 2547, 2546, 2549, 2542, 2548, 2550, 2569, 2535,
-         0, 2548, 2551, 2552, 2552, 2553, 2555, 2569, 2556, 2547,
-      2547, 2559, 2549, 2557, 2545, 2554, 2551, 2550, 2554, 2553,
-      2555, 2557, 2567, 2558, 2560, 2560, 2554, 2556, 2558, 2558,
-      2559, 2561, 2561, 2562, 2562, 2563, 2563, 2564, 2564, 2565,
-      2566, 2568, 2567, 2570, 2571, 2566, 2573, 2573, 2574, 2578,
-      2575, 2574, 2577, 2577, 2580, 2565, 2578, 2579, 2579, 2580,
-      2582, 2582, 2583, 2570, 2571, 2584, 2585, 2568, 2575, 2587,
-      2590, 2583, 2588, 2588, 2584, 2585, 2589, 2591, 2592, 2590,
-      2589, 2595, 2593, 2596, 2597, 2594, 2606, 2587, 2597, 2592,
-      2594, 2594, 2596, 2601, 2595, 2605, 2591, 2593, 2601, 2602,
-      2602, 2604, 2604, 2607, 2609, 2610, 2613, 2614, 2615, 2605,
-      2618, 2606, 2616, 2609, 2620, 2622, 2614, 2610, 2616, 2623,
-      2622, 2607, 2618, 2625, 2623, 2624, 2624, 2634, 2615, 2627,
-      2635, 2613, 2625,    0, 2627, 2620, 2628, 2628, 2630, 2630,
-      2628, 2631, 2631, 2632, 2632, 2633, 2636, 2634, 2639, 2635,
-      2638, 2636, 2640, 2639, 2633, 2642, 2638, 2640, 2641, 2641,
-      2643, 2644, 2645, 2646, 2647, 2654, 2644, 2648, 2648, 2646,
-      2650, 2651, 2652, 2642, 2650, 2655, 2651, 2652, 2653, 2653,
-      2645, 2643, 2656, 2660, 2654, 2658, 2658, 2661, 2662, 2647,
-      2655, 2664, 2662, 2665, 2663, 2668, 2660, 2666, 2670, 2667,
-      2661, 2675, 2656, 2663, 2667, 2666, 2685, 2664, 2669, 2669,
-      2672, 2672, 2665, 2673, 2673, 2677, 2677, 2670, 2679, 2680,
-      2681, 2668, 2675, 2682, 2684, 2684, 2685, 2687, 2682, 2686,
-      2688, 2689, 2692, 2687, 2679, 2680, 2681, 2693, 2686, 2691,
-      2691, 2694, 2694, 2697, 2699, 2698, 2692, 2700, 2703, 2699,
-      2689, 2698,    0, 2688, 2701, 2701, 2693, 2702, 2702, 2704,
-      2704, 2705, 2706, 2697, 2707, 2710, 2709, 2708, 2703, 2700,
-      2711, 2706, 2705, 2708, 2712, 2712, 2718, 2710, 2713, 2704,
-      2719, 2713, 2714, 2714, 2707, 2709, 2720, 2724, 2718, 2728,
-      2711, 2723, 2720, 2721, 2721, 2722, 2726, 2723, 2722, 2727,
-      2719, 2726, 2730, 2729, 2727, 2724, 2731, 2731, 2728, 2729,
-      2733, 2734, 2735, 2736, 2737, 2737, 2738,    0, 2739, 2730,
-      2730, 2754, 2733, 2741, 2741, 2744, 2736, 2739, 2743, 2734,
-      2742, 2742, 2756, 2743, 2757, 2738, 2745, 2735, 2758, 2744,
-      2754, 2745, 2746, 2746, 2747, 2747, 2748, 2748, 2749, 2751,
-      2751, 2759, 2759, 2749, 2756, 2762, 2757, 2761, 2761, 2763,
-      2758, 2764, 2765, 2766, 2767, 2767, 2768, 2768, 2770, 2771,
-         0, 2772, 2766, 2780, 2770, 2764, 2776, 2776, 2763, 2773,
-      2782, 2762, 2765, 2779, 2773, 2778, 2778, 2780, 2779, 2771,
-      2772, 2781, 2782, 2783, 2784, 2784, 2787, 2781, 2785, 2788,
-      2789, 2783, 2790, 2785, 2791, 2789, 2794, 2793, 2795, 2796,
-      2791, 2798, 2797, 2804, 2790, 2793, 2787, 2799, 2800, 2788,
-      2808, 2801, 2812, 2812,    0, 2794, 2801, 2798, 2795, 2796,
-      2797, 2803, 2805, 2804, 2799, 2799, 2803, 2806, 2805, 2800,
-      2808, 2809, 2806, 2813, 2813, 2814, 2818, 2818,    0, 2814,
-      2820, 2820, 2821, 2821, 2809, 2821, 2822, 2822, 2824, 2822,
-      2823, 2823, 2824, 2823, 2826, 2827, 2828, 2828, 2829, 2826,
-      2830, 2833, 2834, 2835, 2827, 2836, 2836, 2839, 2835, 2841,
-      2840, 2842, 2843, 2841, 2830, 2845, 2829, 2840,    0, 2846,
-      2842, 2833, 2834, 2847, 2847, 2848, 2848, 2843, 2846, 2849,
-      2849, 2850, 2839, 2845, 2851, 2852, 2853, 2854, 2855, 2851,
-      2856, 2853, 2853, 2854, 2852, 2857, 2850, 2852, 2858, 2859,
-      2860, 2861, 2861, 2858, 2859, 2856, 2862, 2936, 2863, 2864,
-      2864, 2936, 2862, 2855, 2863, 2866, 2857, 2865, 2865, 2860,
-      2866, 2869, 2869, 2872, 2872, 2873, 2873, 2874, 2874, 2875,
-      2875, 2876, 2876, 2877, 2877, 2878, 2878, 2879, 2879, 2880,
-      2882, 2883, 2883, 2884, 2885, 2888, 2886, 2889, 2889, 2882,
-      2891, 2900, 2884, 2890, 2894, 2892, 2885, 2893, 2893, 2895,
-      2895, 2898, 2902, 2891, 2888, 2880, 2886, 2892, 2890, 2894,
-      2899, 2901, 2901, 2899, 2906, 2904, 2905, 2900, 2904, 2898,
-      2902, 2907, 2905, 2908, 2910, 2909, 2907, 2912, 2906, 2913,
-      2916, 2926, 2927, 2912, 2929, 2927, 2926, 2934, 2913, 2937,
-      2910, 2940, 2908, 2909, 2938, 2916, 2935, 2929, 2930, 2930,
-      2931, 2931, 2932, 2932, 2941, 2935, 2942, 2944, 2938, 2937,
-      2934, 2942, 2945, 2945, 2940, 2941, 2943, 2946, 2943, 2947,
-      2949, 2948, 2944, 2950, 2952, 2951, 2954, 2955, 2955, 2953,
-      2946, 2956, 2957, 2952, 2962, 2961, 2949, 2957, 2947, 2948,
-      2951, 2953, 2963, 2963, 2964, 2965, 2965, 2954, 2950, 2961,
-      2969, 2956, 2970, 2964, 2962, 2966, 2966, 2967, 2967, 2968,
-      2968, 2971, 2972, 2973, 2971, 2974, 2975, 2972, 2973, 2969,
-      2976, 2977, 2970, 2979, 2978, 2980, 2976, 2983, 2979, 2982,
-      2982, 2975, 2984, 2985, 2985, 2977, 2978, 2987, 2989, 2995,
-      2974, 2994, 2983, 2992, 2992, 2980, 2993, 2993, 2996, 2994,
-      2998, 2984, 2987, 2997, 2996, 2999, 2989, 3000, 2995, 2997,
-      3001, 3002, 3002, 3005, 2998, 3001, 3003, 3003, 2999, 3006,
-      3009, 3008, 3011, 3012, 3009, 3013, 3000, 3014, 3012, 3016,
-      3015, 3017, 3018, 3022, 3005, 3008, 3017, 3018, 3023, 3006,
-      3014, 3024, 3011, 3015, 3013, 3019, 3019, 3026, 3016, 3025,
-      3025, 3027, 3026, 3022, 3028, 3028, 3023, 3027, 3029, 3030,
-      3024, 3031, 3032, 3029, 3030, 3033, 3031, 3035, 3035, 3036,
-      3040, 3033, 3037, 3037, 3036, 3039, 3041, 3042, 3043, 3039,
-      3044, 3032, 3045, 3041, 3053, 3046, 3044, 3048, 3048, 3040,
-      3050, 3050, 3054, 3051, 3052, 3055, 3042, 3043, 3046, 3052,
-      3058, 3045, 3051, 3053, 3057, 3051, 3056, 3056, 3055, 3057,
-      3060, 3054, 3062, 3058, 3061, 3061, 3063, 3063, 3064, 3064,
-      3065, 3066, 3067, 3068, 3068, 3065,    0, 3069, 3066, 3071,
-      3071, 3062, 3069, 3070, 3074, 3070, 3060, 3072, 3073, 3076,
-      3079, 3067, 3075, 3083, 3072, 3073, 3081, 3075, 3078, 3078,
-      3082, 3081, 3084, 3074, 3088, 3082, 3085, 3085, 3076, 3079,
-      3087, 3087, 3083, 3089, 3090, 3090, 3091, 3091, 3092, 3094,
-      3094, 3084, 3096, 3088, 3102, 3092, 3095, 3095, 3098, 3096,
-      3101, 3103, 3089, 3098,    0, 3101, 3104, 3104, 3105, 3105,
-         0,    0,    0, 3102,    0,    0,    0,    0,    0,    0,
-      3103, 3109, 3109, 3109, 3109, 3109, 3109, 3109, 3110, 3110,
-      3110, 3110, 3110, 3110, 3110, 3111, 3111, 3111, 3111, 3111,
-      3111, 3111, 3112, 3112, 3112, 3112, 3112, 3112, 3112, 3113,
-      3113, 3113, 3113, 3113, 3113, 3113, 3115, 3115,    0, 3115,
-      3115, 3115, 3115, 3116, 3116,    0,    0,    0, 3116, 3116,
-      3117, 3117,    0,    0, 3117,    0, 3117, 3118,    0,    0,
-         0,    0,    0, 3118, 3119, 3119,    0,    0,    0, 3119,
-      3119, 3120,    0,    0,    0,    0,    0, 3120, 3121, 3121,
-         0, 3121, 3121, 3121, 3121, 3122, 3122,    0, 3122, 3122,
-      3122, 3122, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3108,
-      3108, 3108, 3108
+         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, 3303,   35,
++       10,   10,   19,   29,    9,   33,   19,   29, 3348,   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, 2693,   16,
++       16,   23,   23,   25,   27,   27,   25,   25, 2724,   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, 1086,   32,   36,   36,   37,   37,
 -       28,   45,   45,   37,  176,   36,   45,   39,   41,   41,
 -
 -       45,   36,   39,   41,   87,   36,   39,   37,   87,   37,
 -       84,   84,   39,   41,   41,   39,   41,   93,   42,   95,
 -       96,   93,   39,   42,   43,   43,   42,   43,   94,   97,
 -       44,   95,   97,   42,   44,   94,   43,   42,   42,  113,
 -       96,  115,   43,  113,   44,  175,  115,  124,   44,   44,
 -       62,  124,   62,   62,   70,   62,   70,   70,   72,   70,
 -       72,   72,   79,   72,   79,   79,   70,   79,   86,  103,
 -       86,   86,   89,   86,   89,   89,  100,   89,   98,   86,
 -      104,   98,  101,   89,   89,  100,  102,  103,  103,  105,
 -      107,  106,  102,  108,   98,  109,  101,  106,  102,  111,
 -
 -      102,  110,  104,  112,  107,  114,  173,  108,  105,  116,
 -      106,  119,  110,  110,  122,  109,  117,  111,  118,  117,
 -      110,  112,  117,  116,  118,  114,  120,  126,  123,  130,
 -      119,  120,  125,  122,  121,  117,  117,  121,  122,  125,
 -      126,  121,  123,  118,  128,  127,  129,  131,  133,  130,
 -      132,  120,  127,  128,  132,  134,  135,  121,  137,  129,
 -      134,  136,  136,  140,  134,  131,  133,  138,  139,  141,
 -      168,  138,  143,  146,  146,  144,  135,  150,  137,  142,
 -      138,  144,  142,  139,  145,  143,  138,  148,  141,  140,
 -      149,  146,  147,  142,  146,  151,  145,  142,  150,  147,
 -
 -      153,  154,  152,  148,  152,  155,  154,  158,  156,  149,
 -      147,  151,  153,  152,  157,  160,  160,  155,  180,  157,
 -      162,  158,  254,  162,  254,  152,  156,  164,  172,  164,
 -      164,  172,  164,  167,  167,  169,  180,  169,  169,  170,
 -      169,  170,  170,  174,  170,  174,  174,  178,  174,  177,
 -      177,  170,  178,  179,  181,  182,  183,  184,  185,  179,
 -      186,  187,  188,  182,  189,  184,  187,  183,  179,  181,
 -      182,  191,  190,  189,  194,  186,  192,  185,  190,  190,
 -      194,  192,  188,  193,  193,  195,  198,  195,  196,  202,
 -      195,  199,  196,  197,  197,  200,  191,  196,  198,  201,
 -
 -      200,  202,  196,  203,  201,  204,  207,  195,  196,  196,
 -      199,  204,  205,  206,  208,  209,  205,  210,  206,  211,
 -      212,  213,  207,  203,  216,  212,  213,  217,  208,  210,
 -      209,  166,  210,  215,  204,  214,  214,  211,  215,  214,
 -      218,  214,  222,  217,  216,  220,  218,  219,  219,  225,
 -      221,  220,  223,  214,  224,  214,  221,  220,  223,  226,
 -      224,  227,  222,  232,  229,  226,  227,  228,  229,  224,
 -      225,  230,  231,  228,  233,  234,  232,  230,  235,  231,
 -      233,  236,  237,  238,  235,  241,  239,  243,  240,  242,
 -      237,  239,  246,  244,  236,  234,  238,  240,  244,  244,
 -
 -      241,  245,  248,  236,  247,  242,  245,  243,  247,  249,
 -      246,  250,  251,  252,  253,  249,  255,  257,  251,  253,
 -      256,  259,  258,  257,  248,  260,  261,  256,  258,  250,
 -      250,  260,  262,  252,  268,  255,  263,  263,  261,  265,
 -      259,  264,  264,  266,  270,  265,  262,  269,  267,  266,
 -      267,  271,  269,  272,  273,  274,  270,  268,  275,  276,
 -      274,  272,  277,  265,  278,  276,  279,  267,  277,  278,
 -      271,  279,  280,  281,  273,  282,  283,  284,  280,  285,
 -      286,  275,  288,  291,  287,  288,  291,  285,  281,  282,
 -      287,  284,  292,  289,  283,  289,  290,  290,  293,  293,
 -
 -      294,  294,  295,  297,  296,  286,  297,  298,  299,  301,
 -      292,  298,  300,  302,  303,  301,  311,  299,  295,  296,
 -      303,  300,  304,  305,  304,  312,  306,  302,  308,  305,
 -      306,  307,  307,  308,  309,  310,  311,  313,  314,  316,
 -      309,  310,  316,  312,  315,  315,  317,  306,  318,  319,
 -      165,  314,  318,  320,  321,  321,  322,  324,  313,  323,
 -      310,  325,  323,  326,  317,  327,  326,  325,  319,  324,
 -      330,  320,  329,  331,  322,  339,  339,  327,  331,  323,
 -      328,  329,  332,  333,  335,  332,  333,  332,  330,  328,
 -      338,  334,  328,  338,  341,  613,  335,  328,  328,  328,
 -
 -      328,  340,  613,  332,  334,  336,  337,  336,  336,  341,
 -      342,  337,  337,  343,  344,  344,  346,  346,  340,  342,
 -      345,  340,  343,  347,  347,  345,  348,  349,  350,  351,
 -      352,  353,  349,  354,  357,  355,  355,  358,  355,  354,
 -      350,  348,  358,  359,  365,  363,  353,  355,  351,  359,
 -      352,  360,  361,  365,  357,  362,  360,  361,  362,  363,
 -      362,  364,  367,  361,  364,  366,  366,  369,  367,  368,
 -      368,  372,  369,  373,  374,  370,  373,  364,  370,  376,
 -      364,  379,  364,  386,  370,  163,  375,  378,  370,  374,
 -      378,  372,  381,  376,  373,  379,  370,  371,  371,  382,
 -
 -      371,  375,  386,  389,  383,  384,  378,  381,  382,  383,
 -      383,  384,  387,  371,  392,  391,  371,  385,  371,  388,
 -      371,  380,  389,  380,  380,  390,  396,  387,  388,  393,
 -      397,  390,  161,  380,  392,  380,  380,  380,  385,  394,
 -      380,  391,  395,  393,  398,  394,  396,  395,  399,  394,
 -      397,  400,  401,  399,  402,  402,  403,  404,  401,  398,
 -      405,  406,  407,  408,  411,  395,  400,  406,  409,  404,
 -      412,  414,  413,  409,  405,  159,  403,  410,  410,  408,
 -      410,  415,  420,  415,  411,  414,  412,  407,  413,  416,
 -      417,  416,  416,  418,  417,  419,  419,  418,  421,  422,
 -
 -      423,  420,  424,  430,  427,  425,  426,  430,  428,  416,
 -      427,  426,  418,  421,  425,  422,  424,  428,  423,  426,
 -      426,  429,  431,  426,  426,  425,  429,  425,  432,  433,
 -      434,  431,  436,  435,  432,  436,  434,  435,  437,  438,
 -      439,  439,  440,  437,  441,  441,  442,  443,  444,  444,
 -      433,  442,  445,  446,  447,  440,  448,  446,  445,  438,
 -      443,  449,  450,  451,  451,  453,  449,  450,  452,  447,
 -      454,  455,  451,  456,  457,  458,  456,  448,  457,  460,
 -      452,  459,  459,  455,  460,  453,  461,  458,  454,  462,
 -      462,  463,  465,  465,  467,  468,  469,  470,  471,  478,
 -
 -      473,  474,  475,  468,   85,  469,  477,  461,  478,  476,
 -      471,  480,  477,  463,  481,  467,  480,  470,  473,  474,
 -      473,  479,  475,  476,  482,  484,  483,  479,  481,  483,
 -      485,  486,  482,  487,  489,  482,  490,  486,  488,  484,
 -      489,  488,  491,  492,  494,  485,  493,  491,  494,  495,
 -      490,  496,  497,  487,  495,  498,  499,  497,  489,  500,
 -      503,  524,  506,  504,  505,  492,  496,  493,  505,  507,
 -      508,  498,  500,  524,  508,  499,  501,  501,  504,  510,
 -      503,  506,  501,   80,  501,  507,  511,  512,  509,  513,
 -      501,  511,  501,  509,  510,  501,  501,  509,  513,  514,
 -
 -      515,  516,  501,  512,  517,  514,  512,  517,  518,  519,
 -      514,  520,  520,  521,  526,  515,  529,  516,  522,  522,
 -      523,  525,  527,  528,  530,  529,  531,   75,  528,  519,
 -      534,  518,  538,  526,  532,  523,  525,  537,  521,  534,
 -      532,  531,  535,  530,  527,  536,  535,  538,  539,  537,
 -      540,  536,  542,  541,  543,  545,  544,  545,  543,  546,
 -      548,  548,  550,  547,  540,  552,  549,  539,  541,  544,
 -      542,  547,  549,  551,  550,  553,  554,  552,  553,  551,
 -      555,  556,  557,  546,  558,  557,  556,  647,  559,  561,
 -      554,  560,  569,  558,  647,  555,  560,  560,  562,  562,
 -
 -      558,  564,  561,  558,  559,  563,  563,  564,  565,  565,
 -      566,  566,  567,  569,  568,  570,  573,  572,  567,  568,
 -      568,  571,  572,  574,  571,  575,  577,  570,  575,  576,
 -      580,  574,  578,  579,  576,  573,  580,  579,  581,  582,
 -      583,  584,  581,  585,  585,  583,  586,  587,  588,  577,
 -      589,  578,  590,  588,  591,  584,  593,  582,  592,  595,
 -      591,  586,  597,  592,  596,  596,  589,   74,  587,  598,
 -      593,  594,  590,  599,  594,  601,  600,  595,  599,  594,
 -      597,  600,  594,  594,  602,  598,  604,  605,  606,  601,
 -      607,  606,  604,  608,  607,  611,  605,  609,  608,  602,
 -
 -      609,  610,  612,  615,  614,  616,  610,  619,  615,  617,
 -      617,  611,  618,  620,  621,  622,  607,  614,  623,  629,
 -      612,  618,  624,  621,  623,  616,  619,  622,  624,  620,
 -      625,  626,  626,  625,  626,  627,  628,  629,  627,  630,
 -      631,  628,  632,  633,  635,  634,  631,  632,  634,  633,
 -      636,  637,  638,  630,  639,  636,  637,  637,  640,  643,
 -      641,  642,  645,  640,   68,  638,  641,  639,  643,  635,
 -      644,  646,  646,  648,  650,  644,  648,  640,  640,  649,
 -      642,  654,  645,  651,  652,  649,  650,  658,  651,  652,
 -      652,  648,  653,  653,  655,  656,  655,  657,  659,  657,
 -
 -      660,  661,  662,  663,  664,  658,  654,  668,  664,  663,
 -      665,  666,  667,  669,  656,  671,  659,  670,  660,  665,
 -      661,  673,  662,  675,  674,  668,  666,  667,  672,  670,
 -      671,  676,  669,  677,  672,  673,  674,  677,  678,  679,
 -      680,  681,  675,  682,  683,  685,  685,  684,  686,  683,
 -      676,  687,  686,  688,  692,  679,  678,  689,  680,  681,
 -      681,  684,  682,  690,  691,  687,  693,  694,  689,  691,
 -      692,  695,  688,  700,  696,  697,  698,  690,  695,  696,
 -      694,  698,  697,  699,  703,  693,  701,  702,  699,  705,
 -      704,  700,  706,  701,  709,  710,  702,  706,  703,  704,
 -
 -      707,  705,  708,  707,  710,  711,  708,  712,  709,  713,
 -      714,  714,  717,  715,  715,  716,  716,  717,  718,  720,
 -      711,  712,  715,  721,  722,  724,  725,  718,  723,  721,
 -      713,  726,  723,  727,  728,  730,  729,  724,  720,  727,
 -      731,  732,  728,  729,  722,  735,  738,  741,  742,  726,
 -      745,  725,  744,  730,  742,  752,  741,  746,  744,  745,
 -      735,  732,   63,  738,  751,  731,  733,  753,  733,  752,
 -      747,  733,  750,  746,  747,  733,  748,  748,  733,  749,
 -      749,  757,  751,  750,  754,  733,  733,  753,  733,  756,
 -      754,  755,  755,  755,  756,  755,  758,  759,  755,  760,
 -
 -      761,  759,  757,  755,  761,  763,  762,  764,  765,  755,
 -      755,  762,  766,  767,  758,  766,  769,  769,  767,  767,
 -      761,  768,  764,  760,  763,  770,  771,  773,  768,  772,
 -      772,  771,  773,  765,  774,  778,  775,  774,  776,  776,
 -      770,  775,  777,  779,  777,  780,  781,  778,  782,  780,
 -      783,  784,  784,  785,  788,  786,  787,  787,  783,  789,
 -      790,  837,  779,  837,  791,   58,  781,  782,  785,  786,
 -      791,  789,  788,  792,  793,  793,  796,  797,  792,  794,
 -      798,  796,  790,  797,  794,  794,  798,  799,  800,  802,
 -      801,  803,  799,  801,  800,  802,  804,  804,  806,  803,
 -
 -      805,  805,  807,  808,  809,  810,  806,  812,  808,  811,
 -      811,  809,  815,  813,  814,  814,  812,  816,  815,  818,
 -      807,  813,  819,  820,  810,  821,  822,  825,  818,  823,
 -      821,  819,  823,  824,  826,  822,  816,  827,  824,  828,
 -      831,  825,  832,  829,  830,  830,  827,  820,  829,  829,
 -      834,  833,  828,  835,  839,  831,  835,  838,  838,  826,
 -      833,  832,  840,  841,  835,  842,  843,  840,  844,  845,
 -      846,  847,  848,  849,  834,  839,  848,  850,  854,  846,
 -     1098,  851, 1098,  852,  841,  842,  843,  851,  853,  845,
 -      844,  849,  852,  855,  847,  856,  850,  854,  857,  858,
 -
 -      853,  856,  859,  859,  858,  860,  861,  855,  862,  863,
 -      864,  865,  857,  866,  867,  861,  868,  863,  869,  873,
 -      871,  870,  868,  872,  869,  860,  871,  876,  862,  877,
 -      864,  876,  866,  865,  867,  870,  874,  872,  875,  873,
 -      878,  879,  874,  880,  875,  882,  879,  884,  877,  881,
 -      881,  882,  878,  883,  885,  886,  883,  887,  888,  888,
 -      878,  886,  889,  890,  880,  884,  891,  885,  890,  892,
 -      893,  891,  891,  895,  893,  894,  894,  887,  896,  900,
 -      889,  897,  898,  901,  892,  904,  897,  903,  905,  907,
 -      907,  909,  908,  910,  910,  895,  908,  901,  896,  911,
 -
 -      903,  898,  913,  900,  912,  904,  909,  915,  912,  905,
 -      906,  914,  915,  906,  916,  906,  919,  913,  920,  906,
 -      918,  906,  920,  921,  911,  914,  906,  917,  916,  918,
 -      919,  906,  917,  917,  920,  922,  923,  924,  921,  925,
 -      922,  926,  924,  927,  930,  928,  929,  937,  923,  930,
 -      922,  934,  929,  925,  928,  931,  934,  927,  932,  933,
 -      933,  931,  926,  935,  932,  936,  937,  938,  940,  935,
 -      941,  943,  942,  944,  944,  941,  945,  947,  948,  949,
 -      940,  945,  946,  943,  950,  938,  942,  936,  939,  939,
 -      946,  947,  953,  951,  939,  954,  939,  948,  949,  951,
 -
 -      950,  952,  939,  955,  953,  956,  952,  939,  939,  957,
 -      957,  958,  959,  954,  939,  958,  961,  962,  963,  955,
 -      962,  964,  961,  956,  966,  965,  964,  968,  967,  972,
 -      966,  970,  959,  967,  971,  973,  975,  963,  965,  974,
 -      970,  973,  976,  971,  977,  972,  968,  976,  974,  978,
 -      979,  981,  982,  980,  984,  975,  983,  987,  990,  993,
 -      981,  982,  983,  978,  977,  980,  985,  989,  991,  992,
 -      979,  984,  985,  987,  994,  995,   57,  993,  990,  996,
 -      995,  989, 1000,  992,  996,  999, 1003,  991, 1002,  994,
 -      999, 1000, 1001, 1001, 1002, 1005, 1006, 1009, 1010, 1003,
 -
 -     1009, 1006, 1006, 1008, 1008, 1011, 1012, 1008, 1013, 1015,
 -     1014, 1005, 1010, 1016, 1017, 1018, 1019, 1023, 1024, 1016,
 -     1023, 1018, 1012, 1014, 1015, 1011, 1013, 1020, 1021, 1027,
 -     1025, 1019, 1020, 1026, 1017, 1025, 1028, 1030, 1026, 1024,
 -     1032, 1028, 1021, 1029, 1033, 1027, 1032, 1034, 1029, 1030,
 -     1035, 1036, 1036, 1034, 1037, 1038, 1035, 1041, 1039, 1042,
 -     1033, 1039, 1043, 1037, 1040, 1040, 1044, 1045, 1046, 1044,
 -     1047, 1054, 1048, 1038, 1046, 1041, 1047, 1048, 1042, 1049,
 -     1045, 1050, 1043, 1051, 1049, 1053, 1050, 1055, 1060, 1051,
 -     1056, 1054, 1058, 1055, 1061, 1056, 1057, 1057, 1059, 1062,
 -
 -     1064, 1058, 1062, 1053, 1065, 1063, 1060, 1059, 1063, 1065,
 -     1066, 1064, 1067, 1061, 1068, 1069, 1070, 1071, 1072, 1073,
 -     1073, 1069, 1070, 1072, 1067, 1074, 1075, 1076, 1066, 1078,
 -     1077, 1080, 1071, 1068, 1077, 1081, 1079, 1083, 1085, 1076,
 -     1075, 1084, 1084, 1087, 1074, 1079, 1088, 1078, 1090, 1093,
 -     1080, 1089, 1105, 1090, 1096, 1091, 1083, 1087, 1085, 1105,
 -     1081, 1088, 1094, 1089, 1091, 1092, 1092, 1095, 1094, 1093,
 -     1096, 1097, 1099, 1095, 1100, 1101, 1097, 1099, 1102, 1103,
 -     1104, 1106, 1107, 1102, 1109, 1109, 1110, 1111, 1100, 1101,
 -     1114, 1112, 1113, 1234, 1103, 1234, 1106, 1115, 1113, 1104,
 -
 -     1110, 1107, 1115, 1117, 1125, 1111, 1112, 1117, 1118, 1118,
 -     1114, 1115, 1119, 1115, 1120, 1120, 1115, 1119, 1121, 1122,
 -     1123, 1124, 1125, 1123, 1127, 1121, 1126, 1128, 1132, 1127,
 -     1129, 1130, 1133, 1122, 1131, 1126, 1130, 1135, 1135, 1132,
 -     1124, 1138, 1129, 1142, 1136, 1137, 1128, 1139, 1131, 1136,
 -     1137, 1133, 1139, 1140, 1141, 1143, 1144, 1140, 1142, 1145,
 -     1147, 1138, 1146, 1141, 1148, 1149, 1150, 1147, 1151, 1154,
 -     1143, 1145, 1152, 1153, 1155, 1144, 1148, 1146, 1152, 1158,
 -     1157, 1156, 1160, 1161, 1149, 1159, 1151, 1150, 1153, 1154,
 -     1156, 1162, 1163, 1165, 1155, 1157, 1166, 1159, 1158, 1165,
 -
 -     1167, 1160, 1168, 1169, 1170, 1172, 1162, 1174, 1161,   52,
 -     1168, 1166, 1163, 1171, 1167, 1175, 1173, 1172, 1171, 1176,
 -     1170, 1173, 1173, 1169, 1177, 1177, 1174, 1179, 1180, 1175,
 -     1181, 1202, 1176, 1178, 1178, 1202, 1181, 1180, 1178, 1184,
 -     1179, 1178, 1178, 1182, 1182, 1183, 1178, 1185, 1184, 1186,
 -     1183, 1189, 1178, 1185, 1186, 1187, 1178, 1188, 1188, 1192,
 -     1187, 1190, 1190, 1191, 1193, 1194, 1191, 1195, 1191, 1197,
 -     1196, 1198, 1189,   47, 1194, 1196, 1201, 1206, 1199, 1192,
 -     1200, 1201, 1193, 1197, 1199, 1203, 1200, 1195, 1206, 1198,
 -     1204, 1204, 1205, 1205, 1203, 1205, 1208, 1209, 1210, 1203,
 -
 -     1208, 1203, 1211, 1203, 1212, 1203, 1213, 1214, 1215, 1212,
 -     1212, 1211, 1209, 1215, 1216, 1213, 1210, 1217, 1218, 1219,
 -     1220, 1221, 1222, 1222, 1223, 1224, 1217, 1221, 1216, 1214,
 -     1225, 1226, 1223, 1227, 1220, 1225, 1228, 1218, 1219, 1224,
 -     1229, 1230, 1227, 1231, 1231, 1226, 1230, 1232, 1233, 1233,
 -     1236, 1237, 1238, 1236, 1228, 1239, 1237, 1240, 1240, 1241,
 -     1242, 1242, 1232, 1244, 1239, 1229, 1243, 1243, 1244, 1245,
 -     1246, 1238, 1247, 1247, 1248, 1249, 1250, 1251, 1249, 1241,
 -     1252, 1253, 1251, 1253, 1254, 1256, 1257, 1258, 1256, 1252,
 -     1245, 1246, 1258, 1259, 1248, 1260, 1250, 1261, 1262, 1264,
 -
 -     1260, 1257, 1254, 1262, 1264, 1261, 1263, 1259, 1266, 1263,
 -     1265, 1265, 1267, 1266, 1268, 1269, 1270, 1272, 1273, 1275,
 -     1268, 1274, 1269, 1272, 1273, 1275, 1274, 1276, 1277, 1270,
 -     1267, 1278, 1279, 1279, 1280, 1282, 1276, 1283, 1284, 1285,
 -     1286, 1293, 1278, 1287, 1291, 1285, 1286, 1277, 1290, 1287,
 -     1282, 1292, 1289, 1293, 1280, 1294, 1295, 1283, 1289, 1296,
 -     1296, 1284, 1290, 1297, 1291, 1298, 1299, 1300, 1290, 1294,
 -     1302, 1292, 1300, 1303, 1295, 1301, 1301, 1305, 1303, 1307,
 -     1306, 1309, 1308, 1297, 1299, 1306, 1306, 1310, 1311, 1309,
 -     1298, 1308, 1312, 1302, 1313, 1314, 1305, 1307, 1315, 1313,
 -
 -     1315, 1310, 1313, 1311, 1314, 1316, 1318, 1312, 1322, 1319,
 -     1312, 1320, 1318, 1319, 1323, 1321, 1324, 1327, 1325, 1316,
 -     1321, 1321, 1320, 1325, 1326, 1328, 1329, 1322, 1330, 1326,
 -     1332, 1329, 1333, 1334, 1324, 1327, 1335, 1335, 1336, 1337,
 -     1323, 1338, 1336, 1339, 1332, 1328, 1340, 1341, 1330, 1339,
 -     1333, 1334, 1345, 1342, 1343, 1344, 1346, 1337, 1340, 1348,
 -     1338, 1346, 1349, 1352, 1348, 1347, 1341, 1342, 1350, 1343,
 -     1344, 1345, 1347, 1351, 1351, 1353, 1354, 1350, 1352, 1356,
 -     1349, 1355, 1355, 1357, 1353, 1356, 1358, 1359, 1359, 1357,
 -     1361, 1360, 1362, 1363,   18, 1364, 1354, 1360, 1363, 1365,
 -
 -     1358, 1364, 1366, 1367, 1367, 1365, 1361, 1372, 1366, 1368,
 -     1368, 1370, 1370, 1362, 1371, 1373, 1372, 1374, 1371, 1377,
 -     1375, 1376, 1378, 1378, 1379, 1381, 1377, 1380, 1382, 1374,
 -     1381, 1383, 1384, 1373, 1375, 1380, 1376, 1384, 1384, 1386,
 -     1385, 1388, 1382, 1389, 1379, 1385, 1385, 1387, 1387, 1390,
 -     1383, 1391, 1392, 1393, 1394, 1395, 1391, 1397, 1390, 1386,
 -     1388, 1395, 1389, 1396, 1398, 1399, 1402, 1403, 1396, 1400,
 -     1398, 1392, 1394, 1393, 1401, 1400, 1404, 1405, 1406, 1407,
 -     1401, 1416, 1408, 1397, 1399, 1402, 1403, 1409, 1409, 1411,
 -     1410,   17, 1406, 1410, 1416, 1404, 1405, 1408, 1412, 1412,
 -
 -     1407, 1411, 1413, 1413, 1414, 1417, 1415, 1418, 1421, 1414,
 -     1415, 1419, 1423, 1419, 1417, 1424, 1422, 1419, 1425, 1427,
 -     1418, 1422, 1426, 1426, 1427, 1428, 1421, 1423, 1429, 1430,
 -     1419, 1428, 1431, 1434, 1425, 1424, 1432, 1431, 1435, 1436,
 -     1432, 1433, 1430, 1429, 1437, 1433, 1438, 1438, 1440, 1442,
 -     1437, 1446, 1443, 1434, 1444, 1444, 1435, 1443, 1445, 1436,
 -     1448, 1448, 1450, 1452, 1445, 1450, 1440, 1451, 1451, 1453,
 -     1442, 1446, 1455, 1456, 1457, 1455, 1458, 1458, 1460, 1452,
 -     1459, 1461, 1462, 1457, 1463, 1453, 1466, 1462, 1464, 1464,
 -     1467, 1468, 1465, 1456, 1469, 1459, 1470, 1470, 1463, 1460,
 -
 -     1461, 1465, 1472, 1471, 1466, 1467, 1473, 1474, 1475, 1475,
 -     1477, 1473, 1478, 1478, 1469, 1476, 1468, 1471, 1479, 1476,
 -     1472, 1480, 1474, 1481, 1482, 1486, 1483, 1481, 1485, 1485,
 -     1477, 1483, 1480, 1487, 1488, 1489, 1490, 1491, 1492, 1492,
 -     1479, 1486, 1493, 1482, 1494, 1495, 1499, 1493, 1488, 1497,
 -     1490, 1487, 1496, 1496, 1489, 1489, 1498, 1500, 1497, 1500,
 -     1503, 1498, 1491, 1501, 1494, 1495, 1499, 1502, 1501, 1504,
 -     1506, 1507, 1507, 1502, 1508, 1504, 1509, 1512, 1511, 1516,
 -     1503, 1515, 1509, 1511, 1506, 1513, 1513, 1514, 1514, 1517,
 -     1520, 1518, 1530, 1508, 1518, 1515, 1522, 1516, 1519, 1519,
 -
 -     1521, 1512, 1525, 1523, 1517, 1524, 1523, 1525, 1520, 1523,
 -     1526, 1524, 1521, 1526, 1528, 1529, 1522, 1530, 1540, 1531,
 -     1529, 1523, 1531, 1528, 1532, 1532, 1533, 1534, 1538, 1526,
 -     1535, 1540, 1533, 1534, 1538, 1535, 1536, 1536, 1537, 1537,
 -     1539, 1541, 1542, 1543, 1544, 1539, 1545, 1544, 1546, 1549,
 -     1547, 1548, 1545, 1550, 1546, 1547, 1553, 1548, 1550, 1541,
 -     1554, 1542, 1552, 1543, 1551, 1551, 1555, 1552, 1556, 1557,
 -     1558, 1559, 1549, 1560, 1553, 1561, 1562, 1563, 1562, 1561,
 -     1554, 1565, 1556, 1557, 1558, 1566, 1555, 1567, 1568, 1559,
 -     1569, 1570, 1571, 1565, 1568, 1572, 1563, 1566, 1560, 1573,
 -
 -     1567, 1575, 1575, 1576, 1578, 1581, 1577, 1570, 1582, 1572,
 -     1569, 1577, 1571, 1579, 1579, 1580, 1578, 1583, 1584, 1581,
 -     1573, 1585, 1586, 1576, 1588, 1587, 1590, 1584, 1592, 1586,
 -     1580, 1597, 1582, 1596, 1587, 1583, 1585, 1587, 1601, 1593,
 -     1588, 1590, 1593, 1594, 1594, 1596, 1590, 1595, 1595, 1597,
 -     1600, 1598, 1604, 1592, 1598, 1599, 1599, 1601, 1605, 1602,
 -     1603, 1606, 1607, 1600, 1602, 1603, 1608, 1609, 1611, 1611,
 -     1606, 1604, 1612, 1610, 1605, 1608, 1609, 1613, 1608, 1610,
 -     1614, 1607, 1615, 1616, 1620, 1617, 1621, 1622, 1622, 1623,
 -     1613, 1624, 1612, 1626, 1626, 1629, 1615, 1617, 1614, 1616,
 -
 -     1624, 1625, 1627, 1630, 1621, 1623, 1625, 1628, 1626, 1620,
 -     1631, 1627, 1628, 1629, 1627, 1632, 1634, 1635, 1636, 1638,
 -     1632, 1632, 1637, 1639, 1630, 1638, 1642, 1637, 1631, 1641,
 -     1634, 1642, 1635, 1640, 1640, 1641, 1643, 1644, 1646, 1647,
 -     1636, 1639, 1643, 1644, 1648, 1650, 1649, 1655, 1650, 1651,
 -     1648, 1656, 1653, 1647, 1650, 1651, 1657,    0, 1646, 1649,
 -     1653, 1659, 1658, 1660, 1657, 1661, 1655, 1662, 1663, 1663,
 -     1656, 1658, 1664, 1666, 1659, 1668, 1660, 1665, 1664, 1661,
 -     1669, 1662, 1670, 1665, 1667, 1667, 1666, 1671, 1671, 1672,
 -     1663, 1673, 1674, 1675, 1676, 1668, 1679, 1673, 1669, 1678,
 -
 -     1678, 1670, 1672, 1680, 1685, 1681, 1682, 1680, 1683, 1675,
 -     1681, 1682, 1676, 1683, 1674, 1684, 1679, 1687, 1688, 1689,
 -     1689, 1690, 1691, 1692, 1684, 1693, 1693, 1685, 1695, 1687,
 -     1694, 1696, 1699, 1688, 1691, 1695, 1697, 1700, 1702, 1701,
 -     1690, 1703, 1692, 1696, 1694, 1701, 1704, 1710, 1697,    0,
 -     1702, 1699, 1704, 1705, 1705, 1706, 1710, 1700, 1706, 1703,
 -     1707, 1707, 1709, 1711, 1712, 1712, 1713, 1709, 1714, 1711,
 -     1714, 1715, 1716, 1717, 1715, 1718, 1719, 1720, 1713, 1721,
 -     1722, 1724, 1720, 1725, 1721, 1723, 1727, 1730, 1725, 1722,
 -     1726,    0, 1716, 1718, 1719, 1717, 1724, 1723, 1728, 1726,
 -
 -     1729, 1733, 1730, 1728, 1735, 1729, 1727, 1731, 1731, 1732,
 -     1728, 1736, 1726, 1737, 1738, 1732, 1739, 1740, 1739, 1741,
 -     1741, 1744, 1733, 1735, 1742, 1742, 1743, 1743, 1747, 1737,
 -     1736, 1740, 1748, 1740, 1738, 1745, 1745, 1746, 1746, 1749,
 -     1749, 1744, 1750, 1755, 1751, 1752, 1750, 1757, 1752, 1747,
 -     1751, 1754, 1756, 1748, 1759, 1759, 1758, 1754, 1756, 1758,
 -     1760, 1755, 1761, 1762, 1762, 1764, 1763, 1761, 1765, 1766,
 -     1766, 1767, 1757, 1765, 1771, 1769, 1767, 1768, 1770, 1772,
 -     1760, 1763, 1774, 1768, 1773, 1778, 1764, 1769, 1769, 1769,
 -     1773, 1776, 1771, 1777, 1769, 1780, 1776, 1776, 1770, 1772,
 -
 -     1778, 1779, 1774, 1779, 1781, 1782, 1780, 1777, 1783, 1784,
 -     1785, 1782, 1786, 1786, 1787, 1788, 1788, 1783, 1789, 1781,
 -     1790, 1791, 1791, 1792, 1792, 1793, 1796, 1796, 1797, 1784,
 -     1798, 1785, 1800, 1801, 1803, 1803, 1804, 1802, 1789, 1798,
 -     1787, 1800, 1790, 1802, 1805, 1793, 1808, 1807, 1806, 1809,
 -     1809, 1810, 1811, 1797, 1801, 1806, 1807, 1804, 1813, 1805,
 -     1814, 1815, 1816, 1813, 1817, 1818, 1814, 1821, 1811, 1816,
 -     1817, 1818, 1808, 1819, 1819, 1820, 1821, 1810, 1822, 1824,
 -     1820, 1815, 1823, 1825, 1826, 1827, 1825, 1828, 1828, 1829,
 -     1830, 1824, 1831, 1832, 1835, 1829, 1830, 1839, 1822, 1833,
 -
 -     1836, 1823, 1826, 1833, 1837, 1838, 1838, 1842, 1832, 1837,
 -     1840, 1827, 1831, 1843, 1835, 1844, 1839, 1843, 1845, 1833,
 -     1848, 1844, 1836, 1846, 1846, 1840, 1842, 1845, 1847, 1849,
 -     1849, 1848, 1847, 1850, 1851, 1853, 1848, 1852, 1854, 1855,
 -     1853, 1856, 1857, 1863, 1858, 1859, 1859, 1856, 1851, 1858,
 -     1860, 1860, 1863, 1865, 1850, 1864, 1852, 1857, 1854, 1855,
 -     1861, 1866, 1866, 1873, 1861, 1881, 1864, 1868, 1868, 1869,
 -     1870, 1864, 1872, 1865, 1869, 1869, 1870, 1874, 1872, 1875,
 -     1876, 1878, 1874, 1879, 1880, 1883, 1876, 1879, 1882, 1873,
 -     1881, 1875, 1884, 1878, 1882, 1885, 1880, 1886, 1884, 1888,
 -
 -     1885, 1889, 1892, 1890, 1896, 1892, 1922, 1883, 1890, 1886,
 -     1922, 1888, 1893, 1893, 1894, 1894, 1895, 1895, 1899, 1897,
 -     1889, 1898, 1900, 1899, 1896, 1897, 1901, 1898, 1900, 1903,
 -     1905, 1906, 1909, 1905, 1903, 1901, 1907, 1907, 1910, 1913,
 -     1911, 1912, 1912, 1906, 1909, 1911, 1914, 1915, 1913, 1918,
 -     1910, 1914, 1915, 1916, 1917, 1917, 1916, 1919, 1920, 1921,
 -     1923, 1924, 1925, 1926, 1927, 1923, 1919, 1924, 1931, 1918,
 -     1928, 1933, 1926, 1930, 1930, 1936, 1920, 1937, 1921, 1932,
 -     1925,    0, 1927, 1935, 1928, 1930, 1931, 1936, 1932, 1934,
 -     1934, 1933, 1935, 1939, 1938, 1942, 1942, 1944, 1937, 1938,
 -
 -     1944, 1945, 1946, 1950, 1948, 1951, 1939, 1949, 1960, 1950,
 -     1952, 1952, 1953,    0, 1953, 1954, 1954, 1945, 1946, 1948,
 -     1955, 1949, 1951, 1957, 1957, 1958, 1958, 1961, 1955, 1962,
 -     1963, 1960, 1964, 1961, 1967, 1962, 1965, 1963, 1966, 1966,
 -     1968, 1969, 1973, 1967, 1971, 1970, 1972, 1974, 1978, 1977,
 -        0, 1979, 1981, 1969, 1964, 1982, 1965, 1970, 1972, 1971,
 -     1975, 1968, 1974, 1979, 1980, 1980, 1975, 1984, 1973, 1977,
 -     1981, 1978, 1984, 1983, 1985, 1982, 1983, 1987, 1988, 1975,
 -     1988, 1989, 1987, 1990, 1991, 1995, 1993, 1996, 1990, 1997,
 -     1998, 1991, 1998, 1999, 1985, 1993, 1996, 2002, 2001, 1989,
 -
 -     2001, 1997, 2004, 1995, 2003, 2003, 2009, 2006, 2005, 2006,
 -     2007, 2002, 1999, 2005, 2008, 2007, 2010, 2011, 2013, 2008,
 -     2012, 2014, 2016, 2011, 2009, 2012, 2017, 2020, 2004, 2014,
 -     2021, 2013, 2018, 2018, 2019, 2019, 2010, 2022, 2025, 2023,
 -     2017, 2016, 2020, 2022, 2023, 2024, 2026, 2024, 2027, 2027,
 -     2021, 2028, 2029, 2029, 2026, 2031, 2025, 2030, 2030, 2033,
 -     2032, 2035, 2026, 2028, 2031, 2032, 2036, 2037, 2036, 2038,
 -     2035, 2039, 2040, 2035, 2038, 2038, 2043, 2033, 2042, 2046,
 -     2039, 2043, 2044, 2047, 2040, 2048, 2050, 2044, 2037, 2051,
 -     2042, 2053, 2046, 2052, 2048, 2049, 2049, 2054, 2056, 2057,
 -
 -     2058, 2059, 2067, 2047, 2050, 2053, 2059, 2051, 2060, 2052,
 -     2056, 2057, 2054, 2060, 2061, 2064, 2066, 2068, 2069, 2070,
 -     2058, 2064, 2066, 2061, 2071, 2067, 2072, 2072, 2073, 2074,
 -     2074, 2075, 2068, 2071, 2064, 2076, 2069, 2073, 2077, 2076,
 -     2078, 2079, 2080, 2077, 2070, 2081, 2082, 2080, 2080, 2085,
 -     2075, 2081, 2082, 2078, 2083, 2094, 2084, 2083, 2088, 2088,
 -     2089, 2089, 2090, 2079, 2084, 2091, 2091, 2092, 2092, 2085,
 -     2093, 2090, 2095, 2094, 2096, 2089, 2097, 2097, 2095, 2096,
 -     2098, 2098, 2093, 2099, 2100, 2102, 2089, 2103, 2099, 2102,
 -     2100, 2104, 2105, 2107, 2108, 2104, 2109, 2111, 2110, 2108,
 -
 -     2113, 2115, 2111, 2112, 2114, 2116, 2115, 2103, 2117, 2117,
 -     2118, 2119, 2105, 2110, 2118, 2120, 2113, 2121, 2107, 2109,
 -     2120, 2112, 2122, 2123, 2114, 2124, 2119, 2116, 2125, 2126,
 -     2127, 2128, 2128, 2125, 2131, 2123, 2132, 2130, 2133, 2134,
 -     2122, 2135, 2126, 2121, 2124, 2130, 2136, 2137, 2127, 2138,
 -     2140, 2142, 2143, 2131,    0, 2132, 2144, 2146, 2146, 2137,
 -     2135, 2133, 2144, 2134, 2142, 2140, 2143, 2136, 2147, 2145,
 -     2138, 2145, 2148, 2147, 2149, 2148, 2150, 2156, 2151, 2152,
 -     2152, 2153, 2153, 2154, 2157, 2154, 2159, 2149, 2155, 2155,
 -     2150, 2151, 2156, 2158, 2158, 2159, 2165, 2157, 2159, 2160,
 -
 -     2160, 2161, 2161, 2162, 2164, 2166, 2167, 2170, 2162, 2164,
 -     2168, 2168, 2169, 2169, 2171, 2171, 2165, 2172, 2167, 2173,
 -     2173, 2174, 2175, 2176, 2176, 2166, 2170, 2175, 2177, 2177,
 -     2178, 2179, 2180, 2181, 2183, 2172, 2174, 2184, 2184, 2183,
 -     2179, 2185, 2186, 2186, 2178, 2187, 2180, 2188, 2189, 2190,
 -     2190, 2189, 2181, 2188, 2191, 2191, 2192, 2193, 2194, 2197,
 -     2185, 2195, 2195, 2187, 2198, 2190, 2199, 2200, 2201, 2201,
 -     2202, 2200, 2193, 2203, 2208, 2192, 2204, 2194, 2203, 2197,
 -     2205, 2199, 2207, 2207, 2210, 2209, 2211, 2198, 2212, 2202,
 -     2213, 2204, 2209, 2215, 2208, 2205, 2214, 2214, 2210, 2216,
 -
 -     2217, 2216, 2215, 2217, 2211, 2219, 2212, 2220, 2221, 2222,
 -     2223, 2224, 2220, 2221, 2225, 2226, 2213, 2219, 2217, 2225,
 -     2217, 2228, 2229, 2223, 2230, 2231, 2228, 2229, 2232, 2233,
 -     2236, 2231, 2224, 2234, 2222, 2233, 2239, 2235, 2234, 2230,
 -     2237, 2226, 2235, 2238, 2243, 2239, 2238, 2240, 2241, 2232,
 -     2242, 2248,    0, 2237, 2244, 2236, 2240, 2241, 2243, 2242,
 -     2244, 2245, 2246, 2250, 2251, 2251, 2246, 2245, 2252, 2253,
 -     2253, 2248, 2250, 2255, 2252, 2254, 2257, 2261, 2253, 2260,
 -     2254, 2258, 2259, 2259, 2263, 2264, 2261, 2265, 2266, 2270,
 -     2272, 2272, 2257, 2255, 2260, 2255, 2263, 2258, 2271, 2269,
 -
 -     2266, 2264, 2265, 2268, 2269,    0, 2268, 2273, 2273, 2270,
 -     2271, 2275, 2275, 2276, 2277, 2278, 2276, 2279, 2280, 2277,
 -     2282, 2278, 2285, 2279, 2281, 2281, 2284, 2280, 2283, 2283,
 -     2286, 2287, 2287, 2288, 2282, 2290, 2285, 2289, 2284, 2288,
 -     2290, 2292, 2298, 2293, 2296, 2292, 2293, 2294, 2294, 2286,
 -     2295, 2289, 2297, 2296, 2299, 2295, 2300, 2300, 2299, 2301,
 -     2303, 2297, 2298, 2304, 2305, 2303, 2306, 2307, 2308, 2309,
 -     2310, 2307, 2301, 2311, 2309, 2312, 2310, 2313, 2314, 2311,
 -     2306, 2315, 2316, 2304, 2305, 2319, 2315, 2318, 2308, 2320,
 -     2328, 2328, 2321, 2312, 2320, 2327, 2313, 2314, 2321, 2318,
 -
 -     2322, 2319, 2323, 2316, 2323, 2325, 2330, 2329, 2322, 2327,
 -     2329, 2331, 2331, 2334, 2325, 2335, 2336, 2334, 2337, 2337,
 -     2338, 2335, 2341, 2341, 2343, 2345, 2349, 2346, 2336, 2338,
 -     2350, 2349, 2330, 2351, 2359, 2352, 2353, 2353, 2351, 2345,
 -     2352, 2357, 2343, 2346, 2355, 2355, 2360, 2357, 2358, 2358,
 -     2359, 2363, 2361, 2364, 2365, 2365, 2350, 2361, 2367, 2369,
 -     2368, 2370, 2372, 2372, 2374, 2364, 2368, 2367, 2360, 2373,
 -     2363, 2375, 2373, 2377, 2377, 2379, 2370, 2369, 2378, 2378,
 -     2379, 2380, 2381, 2374, 2383, 2382, 2383, 2384, 2385, 2375,
 -     2382, 2381, 2386, 2387, 2388, 2389, 2390, 2390, 2387, 2380,
 -
 -     2389, 2384, 2385, 2394, 2386, 2391, 2391, 2392, 2392, 2393,
 -     2393, 2395, 2396, 2399, 2388, 2394, 2400, 2396, 2397, 2397,
 -     2398, 2398, 2401, 2402, 2404, 2399, 2403, 2403, 2400, 2395,
 -     2405, 2405, 2406, 2406, 2407, 2408, 2410, 2409, 2411, 2402,
 -     2413, 2412, 2401, 2404, 2409, 2407, 2412, 2408, 2410, 2414,
 -     2415, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2411, 2430,
 -     2413, 2416, 2425, 2422, 2423, 2423, 2426, 2424, 2419, 2414,
 -     2428, 2421, 2429, 2432, 2418, 2422, 2424, 2425,    0, 2417,
 -     2420, 2426, 2430, 2431, 2433, 2434, 2431, 2432, 2428, 2433,
 -     2434, 2435, 2435, 2442, 2429, 2436, 2436, 2437, 2437, 2439,
 -
 -     2439, 2441, 2441, 2443, 2444, 2445, 2447, 2448, 2449, 2450,
 -     2451, 2442, 2452, 2453, 2443, 2453, 2454, 2455, 2461, 2451,
 -     2445, 2456, 2462, 2444, 2460, 2448, 2447, 2457, 2457, 2450,
 -     2449, 2462, 2452, 2459, 2459, 2455, 2454, 2465, 2460, 2456,
 -     2461, 2463, 2463, 2466, 2466, 2467, 2465, 2468, 2469, 2470,
 -     2471, 2472, 2474, 2477, 2473, 2469, 2475, 2475, 2476, 2476,
 -     2478, 2479, 2483, 2467, 2470, 2468, 2482, 2479, 2471, 2472,
 -     2473, 2474, 2482, 2477, 2480, 2480, 2481, 2481, 2478, 2484,
 -     2483, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2487, 2491,
 -     2496, 2490, 2492, 2492, 2484, 2493, 2486, 2493, 2494, 2494,
 -
 -     2485, 2498, 2499, 2500, 2488, 2489, 2501, 2502, 2503, 2496,
 -     2498, 2504, 2502, 2507, 2508, 2500, 2510, 2508, 2509, 2509,
 -     2511, 2499, 2512, 2512, 2515, 2513, 2501, 2518, 2503, 2513,
 -     2504, 2510, 2516, 2507, 2517, 2517, 2516, 2520, 2511, 2515,
 -     2518, 2521, 2522, 2523, 2523, 2525, 2526, 2527, 2528, 2528,
 -     2529, 2527, 2520, 2530, 2530, 2526, 2532, 2525, 2531, 2533,
 -     2534, 2521, 2522, 2531, 2541, 2532, 2535, 2535, 2543, 2529,
 -     2540, 2540, 2534, 2542, 2542, 2533, 2544, 2548, 2545, 2546,
 -     2555, 2543, 2547, 2547, 2550, 2550, 2541, 2545, 2546, 2544,
 -     2553, 2554, 2548, 2556, 2555, 2553, 2554, 2557, 2556, 2558,
 -
 -     2559, 2562, 2560, 2563, 2565, 2557, 2564, 2571, 2563, 2559,
 -     2560, 2564, 2566, 2566, 2567, 2567, 2562, 2569, 2558, 2565,
 -     2568, 2568, 2570, 2572, 2569, 2571, 2573, 2570, 2574, 2575,
 -     2575, 2576, 2573, 2574, 2577, 2578, 2578, 2579, 2579, 2577,
 -     2582, 2572, 2583, 2583, 2584, 2585, 2576, 2584, 2588, 2586,
 -     2585, 2585, 2587, 2582, 2586, 2589, 2590, 2587, 2591, 2592,
 -     2590, 2589, 2588, 2591, 2593, 2594, 2595, 2598, 2592, 2596,
 -     2597, 2599, 2598, 2594, 2601, 2596, 2597, 2602, 2605, 2593,
 -     2609, 2601, 2602, 2599, 2607, 2603, 2608, 2595, 2603, 2607,
 -     2605, 2608, 2610, 2611, 2612, 2613, 2613, 2614, 2609, 2617,
 -
 -     2622, 2618, 2611, 2612, 2619, 2610, 2614, 2618, 2623, 2626,
 -     2619, 2624, 2625, 2625, 2627, 2628, 2626, 2617, 2631, 2622,
 -     2629, 2630, 2630, 2633, 2628, 2635, 2638, 2636, 2623, 2644,
 -     2624, 2636,    0, 2627, 2644, 2629, 2639, 2631, 2633, 2637,
 -     2637, 2640, 2639, 2641, 2650, 2635, 2643, 2640, 2646, 2641,
 -     2647, 2638, 2642, 2642, 2643, 2649, 2651, 2646, 2650, 2649,
 -     2653, 2653, 2654, 2647, 2655, 2655, 2656, 2656, 2658, 2658,
 -     2659, 2651, 2660, 2664, 2659, 2662, 2662, 2660, 2665, 2666,
 -     2654, 2667, 2669, 2665, 2670, 2670, 2667, 2667, 2672, 2672,
 -     2675, 2666, 2677, 2664, 2673, 2673, 2674, 2679, 2683, 2674,
 -
 -     2680, 2680, 2669, 2675, 2681, 2681, 2682, 2682, 2684, 2684,
 -     2677, 2685, 2686, 2683, 2687, 2688, 2690, 2679, 2689, 2689,
 -     2690, 2688, 2695, 2696, 2685, 2700, 2694, 2697, 2687, 2698,
 -     2686, 2694, 2694, 2699, 2701, 2698, 2702, 2702, 2701, 2699,
 -     2707, 2705, 2710, 2696, 2713, 2695, 2705, 2697, 2707, 2708,
 -     2700, 2711, 2708, 2714, 2711, 2712, 2712, 2715, 2714, 2716,
 -     2717, 2713, 2713, 2718, 2718, 2720, 2719, 2710, 2720, 2721,
 -     2722, 2726, 2724, 2723, 2717, 2715, 2720, 2724, 2724, 2716,
 -     2719, 2723, 2725, 2721, 2727, 2727, 2732, 2725, 2725, 2722,
 -     2726, 2728, 2728, 2729, 2729, 2730, 2730, 2731, 2731, 2733,
 -
 -     2734, 2735, 2732, 2736, 2733, 2737, 2738, 2739, 2736, 2740,
 -     2741, 2738, 2743, 2743, 2744, 2744, 2739, 2746, 2745, 2749,
 -     2734, 2745, 2748, 2748, 2737, 2754, 2749, 2735, 2751, 2740,
 -     2741, 2750, 2750, 2751, 2754, 2746, 2753, 2753, 2755, 2756,
 -     2758, 2759, 2759, 2761, 2762, 2760, 2775, 2755, 2756, 2760,
 -     2763, 2764, 2761, 2765, 2776, 2763, 2763, 2766, 2758, 2762,
 -     2770, 2766, 2765, 2774, 2764, 2770, 2771, 2771, 2773, 2773,
 -     2778, 2775, 2776, 2779, 2782, 2783, 2784, 2774, 2787, 2778,
 -     2785, 2789, 2791, 2792, 2783, 2779, 2785, 2791, 2792, 2794,
 -     2787, 2793, 2793, 2797, 2797, 2796, 2784, 2797, 2794, 2782,
 -
 -     2796, 2802, 2789, 2799, 2799, 2800, 2800, 2801, 2801, 2803,
 -     2802, 2804, 2805, 2807, 2811, 2808, 2809, 2805, 2813, 2807,
 -     2808, 2809, 2810, 2810, 2812, 2815, 2814, 2816, 2817, 2803,
 -     2804, 2814, 2811, 2816, 2818, 2818, 2812, 2820, 2824, 2813,
 -     2821, 2820, 2822, 2815, 2825, 2821, 2826, 2822, 2823, 2823,
 -     2828, 2830, 2830, 2817, 2832, 2833, 2834, 2824, 2836, 2825,
 -     2834, 2826, 2835, 2837, 2838, 2840, 2840, 2832, 2833, 2842,
 -     2828, 2835, 2838, 2839, 2836, 2841, 2843, 2845, 2839, 2844,
 -     2844, 2855, 2837, 2851, 2841, 2848, 2848, 2842, 2849, 2849,
 -     2853, 2853, 2856, 2857, 2858, 2861, 2845, 2855, 2862, 2858,
 -
 -     2860, 2860, 2843, 2863, 2851, 2865, 2865, 2867, 2856, 2857,
 -     2866, 2868, 2868, 2871, 2872, 2861, 2874, 2877, 2873, 2881,
 -     2872, 2862, 2863, 2873, 2866, 2879, 2867, 2875, 2875, 2876,
 -     2876, 2878, 2878, 2871, 2880, 2882, 2879, 2877, 2874, 2881,
 -     2883, 2882, 2884, 2880, 2885, 2886, 2886, 2887, 2888, 2888,
 -     2887, 2878, 2893, 2892, 2884, 2894, 2895, 2895, 2898, 2883,
 -     2896, 2894, 2897, 2896, 2885, 2892, 2900, 2903, 2897, 2901,
 -     2901, 2900, 2893, 2902, 2904, 2905, 2898, 2908, 2902, 2909,
 -     2904, 2906, 2906, 2910, 2913, 2911, 2903, 2912, 2912, 2908,
 -     2914, 2915, 2905, 2905, 2917, 2917, 2920, 2909, 2911, 2919,
 -
 -     2915, 2918, 2918, 2913, 2919, 2926, 2914, 2921, 2910, 2925,
 -     2920, 2933, 2921, 2922, 2922, 2923, 2923, 2924, 2924, 2927,
 -     2935, 2928, 2925, 2930, 2930, 2927, 2928, 2936, 2937, 2941,
 -     2933, 2926, 2938, 2938, 2940, 2940, 2942, 2943, 2944, 2944,
 -     2945, 2945, 2935, 2941, 2948, 2947, 2943, 2949, 2950, 2936,
 -     2937, 2947, 2964, 2950, 2953, 2953, 2942, 2955, 2955, 2957,
 -     2956, 2958, 2959, 2960, 2948, 2956, 2949, 2958, 2961, 2961,
 -     2962, 2960, 2964, 2957, 2959, 2962, 2965, 2966, 2967, 2968,
 -     2970, 2971, 2966, 2972, 2973, 2968, 2976, 2975, 2970, 2977,
 -     2967, 2978, 2979, 2981, 2982, 2983, 2965, 2979, 2981, 2986,
 -
 -     2971, 2983, 2976, 2972, 2973, 2975, 2977, 2977, 2984, 2988,
 -     2991, 2991, 2978, 2984, 2982, 2987, 2992, 2992, 2987, 2986,
 -     2993, 2999, 2988, 2998, 2993, 2997, 2997,    0, 2998, 3000,
 -     3000, 3002, 3002, 3003, 3003, 3009, 3003, 3010, 3004, 3004,
 -     2999, 3004, 3005, 3005, 3006, 3005, 3008, 3008, 3006, 3013,
 -     3014, 3010, 3015, 3009, 3016, 3016, 3019, 3015, 3020, 3021,
 -     3023, 3025, 3022, 3021, 3026, 3020, 3027, 3027, 3034, 3013,
 -     3014, 3022, 3030, 3026, 3034, 3023, 3028, 3028, 3035, 3025,
 -     3031, 3019, 3029, 3029, 3032, 3031, 3033, 3030, 3037, 3036,
 -     3038, 3033, 3033, 3032, 3039, 3038, 3032, 3040,    0, 3039,
 -
 -     3041, 3041, 3042, 3035, 3036, 3043, 3044, 3044, 3042, 3037,
 -     3046, 3043, 3045, 3045, 3047, 3053, 3040, 3050, 3050, 3047,
 -     3052, 3052, 3056, 3056, 3053, 3046, 3057, 3057, 3058, 3058,
 -     3059, 3059, 3060, 3060, 3061, 3061, 3062, 3062, 3064, 3065,
 -     3065, 3066, 3067, 3068, 3072, 3070, 3074, 3064, 3071, 3071,
 -     3066, 3076, 3073, 3080, 3067, 3075, 3075, 3082, 3074, 3072,
 -     3077, 3077, 3084, 3068, 3070, 3073, 3076, 3081, 3083, 3083,
 -     3081, 3080, 3086, 3087, 3088, 3086, 3089, 3090, 3092, 3087,
 -     3084, 3089, 3091, 3082, 3094, 3098, 3095, 3099, 3088, 3098,
 -     3094, 3102, 3112, 3117, 3092, 3095, 3090, 3123, 3110, 3121,
 -
 -     3091, 3110, 3099, 3113, 3113, 3112, 3114, 3114, 3115, 3115,
 -     3118, 3119, 3120, 3121, 3124, 3119, 3117, 3102, 3125, 3118,
 -     3123, 3127, 3126, 3125, 3126, 3124, 3128, 3128, 3129, 3130,
 -     3132, 3131, 3120, 3133, 3135, 3134, 3127, 3137, 3138, 3136,
 -     3139, 3129, 3137, 3135, 3140, 3139, 3132, 3141, 3130, 3131,
 -     3134, 3136, 3141, 3145, 3146, 3147, 3147, 3148, 3133, 3138,
 -     3149, 3149, 3150, 3150, 3140, 3153, 3148, 3145, 3151, 3151,
 -     3152, 3152, 3154, 3155, 3146, 3156, 3155, 3157, 3158, 3159,
 -     3156, 3160, 3157, 3161, 3153, 3163, 3162, 3160, 3164, 3164,
 -     3163, 3165, 3154, 3168, 3159, 3166, 3166, 3161, 3162, 3167,
 -
 -     3167, 3169, 3172, 3158, 3170, 3170, 3174, 3179, 3168, 3177,
 -     3177, 3165, 3178, 3178, 3180, 3179, 3181, 3172, 3183, 3182,
 -     3169, 3184, 3181, 3185, 3174, 3182, 3186, 3187, 3187, 3189,
 -     3189, 3186, 3183, 3180, 3184, 3192, 3195, 3193, 3198, 3196,
 -     3199, 3200, 3185, 3196, 3203, 3199, 3201, 3204, 3202, 3205,
 -     3195, 3209, 3204, 3211, 3205, 3210, 3192, 3193, 3198, 3201,
 -     3200, 3202, 3214, 3203, 3206, 3206, 3212, 3212, 3214, 3213,
 -     3219, 3209, 3211, 3210, 3213, 3215, 3215, 3216, 3217, 3218,
 -     3220, 3227, 3216, 3217, 3218, 3223, 3220, 3222, 3222, 3219,
 -     3223, 3224, 3224, 3226, 3228, 3229, 3230, 3226, 3231, 3232,
 -
 -     3227, 3228, 3240, 3233, 3231, 3235, 3235, 3237, 3237, 3241,
 -     3238, 3242, 3239, 3247, 3229, 3230, 3233, 3239, 3232, 3238,
 -     3245, 3240, 3238, 3249, 3242, 3243, 3243, 3244, 3241, 3248,
 -     3248, 3254, 3244, 3245, 3250, 3250, 3251, 3251, 3252, 3247,
 -     3253, 3256, 3249, 3252, 3255, 3255, 3256, 3253, 3259, 3257,
 -     3254, 3257, 3258, 3258, 3260, 3259, 3261, 3262, 3263, 3265,
 -     3265, 3260, 3262, 3266, 3268, 3269, 3270, 3271, 3275, 3268,
 -     3269, 3272, 3272, 3274, 3274, 3261, 3276, 3263, 3277, 3277,
 -     3278, 3278, 3266, 3279, 3289, 3270, 3271, 3275, 3281, 3281,
 -     3279, 3282, 3282, 3283, 3285, 3276, 3288, 3290,    0, 3285,
 -
 -     3283, 3288,    0, 3289, 3291, 3291, 3292, 3292,    0,    0,
 -        0,    0,    0,    0,    0,    0, 3290, 3296, 3296, 3296,
 -     3296, 3296, 3296, 3296, 3297, 3297, 3297, 3297, 3297, 3297,
 -     3297, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3299, 3299,
 -     3299, 3299, 3299, 3299, 3299, 3300, 3300, 3300, 3300, 3300,
 -     3300, 3300, 3301, 3301, 3301, 3301, 3301, 3301, 3301, 3302,
 -     3302, 3302, 3302, 3302, 3302, 3302, 3304, 3304,    0, 3304,
 -     3304, 3304, 3304, 3305, 3305,    0,    0,    0, 3305, 3305,
 -     3306, 3306,    0,    0, 3306,    0, 3306, 3307,    0,    0,
 -        0,    0,    0, 3307, 3308, 3308,    0,    0,    0, 3308,
 -
 -     3308, 3309,    0,    0,    0,    0,    0, 3309, 3310, 3310,
 -        0, 3310, 3310, 3310, 3310, 3311,    0,    0,    0,    0,
 -        0, 3311, 3312, 3312,    0,    0,    0, 3312, 3312, 3313,
 -     3313,    0, 3313, 3313, 3313, 3313, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295, 3295,
 -     3295, 3295, 3295, 3295, 3295, 3295, 3295
++       28,   92,   31,   32, 1097,   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,
++       39,   39,   42,   41,   41,   39,   41,   42,   96,   39,
++       42,   43,   43,  105,   43,   39,   44,   42,   39,  101,
++       44,   42,   42,   43,   94,   39,   84,   84,   96,   43,
++       44,   94,  105,  101,   44,   44,   62,  192,   62,   62,
++       70,   62,   70,   70,   72,   70,   72,   72,   79,   72,
++       79,   79,   70,   79,   86,   95,   86,   86,   89,   86,
++       89,   89,  192,   89,  100,   86,  102,   95,   98,   89,
++       89,   98,  102,  100,  103,  104,  106,  107,  102,  113,
++      102,  109,  106,  113,   98,  108,  111,  140,  114,  112,
++
++      177,  107,  103,  103,  110,  106,  116,  104,  115,  108,
++      119,  109,  140,  115,  111,  110,  110,  112,  114,  117,
++      116,  118,  117,  110,  122,  117,  120,  118,  123,  119,
++      121,  120,  124,  121,  125,  130,  124,  121,  117,  117,
++      127,  125,  123,  122,  126,  128,  118,  127,  122,  129,
++      132,  120,  131,  121,  128,  130,  131,  126,  134,  133,
++      135,  136,  129,  133,  138,  135,  137,  137,  132,  135,
++      139,  141,  142,  144,  139,  256,  134,  256,  146,  150,
++      151,  136,  143,  139,  138,  143,  144,  145,  149,  139,
++      146,  142,  148,  145,  147,  147,  143,  141,  150,  148,
++
++      143,  151,  152,  153,  149,  153,  155,  154,  156,  157,
++      148,  155,  147,  226,  153,  147,  158,  159,  152,  154,
++      156,  158,  161,  161,  179,  163,  153,  157,  163,  179,
++      165,  159,  165,  165,  226,  165,  168,  168,  170,  181,
++      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,
++      551,  214,  218,  216,  208,  209,  211,  205,  210,  211,
++      215,  215,  220,  220,  215,  219,  215,  221,  218,  217,
++      222,  219,  223,  221,  551,  224,  222,  227,  215,  221,
++      215,  224,  225,  227,  228,  229,  230,  231,  225,  228,
++      230,  229,  223,  231,  232,  234,  233,  225,  235,  236,
++      237,  232,  233,  238,  235,  239,  237,  240,  234,  241,
++      245,  243,  242,  239,  241,  244,  238,  246,  248,  236,
++
++      240,  242,  246,  246,  247,  238,  243,  250,  249,  247,
++      245,  244,  249,  251,  252,  253,  248,  254,  255,  251,
++      257,  253,  259,  255,  258,  261,  263,  264,  259,  250,
++      260,  258,  252,  252,  262,  270,  260,  254,  263,  257,
++      262,  264,  265,  265,  261,  266,  266,  267,  268,  269,
++      271,  269,  272,  267,  268,  271,  273,  274,  270,  275,
++      277,  276,  288,  278,  272,  274,  276,  279,  269,  278,
++      283,  267,  280,  279,  282,  273,  281,  280,  284,  275,
++      282,  281,  285,  277,  286,  283,  287,  288,  290,  289,
++      293,  290,  284,  293,  287,  289,  294,  291,  286,  291,
++
++      285,  292,  292,  295,  295,  296,  296,  297,  299,  298,
++      301,  299,  300,  302,  294,  303,  300,  304,  174,  301,
++      305,  303,  302,  297,  298,  306,  305,  306,  307,  308,
++      314,  304,  310,  308,  307,  309,  309,  310,  311,  312,
++      313,  315,  316,  319,  311,  312,  317,  317,  314,  318,
++      308,  321,  318,  320,  322,  316,  324,  320,  323,  323,
++      313,  319,  315,  325,  312,  326,  325,  327,  328,  329,
++      321,  328,  322,  327,  324,  333,  331,  326,  366,  332,
++      333,  329,  336,  325,  330,  331,  334,  335,  337,  334,
++      335,  334,  366,  330,  169,  336,  330,  332,  341,  341,
++
++      337,  330,  330,  330,  330,  339,  338,  334,  338,  338,
++      339,  339,  340,  342,  343,  340,  345,  344,  346,  347,
++      347,  348,  349,  349,  351,  345,  348,  346,  353,  343,
++      342,  350,  350,  342,  344,  344,  352,  354,  355,  351,
++      353,  352,  356,  357,  360,  167,  361,  358,  358,  357,
++      358,  361,  369,  369,  362,  166,  354,  356,  355,  358,
++      362,  363,  364,  394,  360,  365,  363,  364,  365,  367,
++      365,  368,  367,  364,  372,  370,  371,  371,  375,  372,
++      368,  370,  377,  373,  378,  367,  373,  379,  367,  394,
++      367,  376,  373,  382,  376,  384,  373,  377,  375,  378,
++
++      381,  379,  385,  381,  373,  374,  374,  382,  374,  386,
++      384,  385,  376,  388,  386,  386,  387,  389,  390,  381,
++      402,  374,  387,  392,  374,  402,  374,  395,  374,  383,
++      391,  383,  383,  390,  388,  396,  389,  164,  399,  391,
++      393,  383,  392,  383,  383,  383,  393,  395,  383,  396,
++      397,  400,  398,  401,  403,  404,  397,  398,  399,  406,
++      397,  404,  405,  405,  407,  410,  408,  409,  401,  403,
++      411,  400,  412,  409,  414,  398,  407,  412,  417,  406,
++      408,  413,  413,  415,  413,  416,  411,  418,  423,  418,
++      410,  426,  417,  419,  414,  419,  419,  424,  420,  415,
++
++      421,  416,  420,  427,  421,  422,  422,  423,  425,  426,
++      430,  428,  424,  419,  431,  439,  430,  427,  439,  421,
++      428,  429,  432,  431,  425,  433,  429,  432,  434,  433,
++      435,  428,  436,  428,  429,  429,  435,  434,  429,  429,
++      437,  438,  440,  441,  443,  438,  437,  440,  442,  442,
++      444,  444,  446,  436,  445,  447,  447,  443,  448,  445,
++      450,  451,  449,  441,  448,  446,  449,  452,  453,  454,
++      454,  455,  452,  453,  456,  450,  458,  457,  454,  461,
++      464,  459,  451,  455,  459,  460,  462,  462,  458,  460,
++      466,  461,  463,  470,  456,  457,  471,  463,  465,  465,
++
++      472,  464,  468,  468,  471,  473,  474,  475,  476,  472,
++      478,  474,  466,  479,  470,  480,  482,  484,  481,  550,
++      476,  550,  482,  484,  483,  486,  473,  475,  478,  485,
++      478,  479,  481,  483,  485,  480,  487,  488,  489,  486,
++      488,  490,  491,  492,  487,  494,  493,  487,  491,  493,
++      495,  494,  489,  496,  497,  499,  490,  498,  496,  499,
++      500,  502,  501,  492,  495,  500,  502,  503,  504,  494,
++      508,  505,  511,  524,  547,  510,  497,  501,  498,  510,
++      509,  512,  513,  503,  505,  162,  513,  504,  506,  506,
++      508,  511,  547,  524,  506,  509,  506,  512,  515,  517,
++
++      514,  516,  506,  518,  506,  514,  516,  506,  506,  514,
++      519,  520,  518,  515,  506,  517,  519,  521,  517,  522,
++      523,  519,  522,  525,  525,  526,  520,  527,  527,  528,
++      529,  530,  531,  521,  532,  533,  534,  536,  535,  539,
++      533,  537,  529,  523,  528,  534,  530,  537,  539,  540,
++      526,  531,  536,  540,  541,  542,  532,  535,  543,  544,
++      541,  545,  546,  549,  548,  554,  552,  542,  548,  553,
++      553,  554,  555,  543,  552,  545,  549,  546,  544,  556,
++      557,  559,  560,  558,  555,  556,  558,  562,  561,  563,
++      562,  564,  557,  561,  565,  559,  566,  560,  563,  565,
++
++      565,  567,  567,  568,  568,  563,  569,  564,  563,  566,
++      570,  570,  569,  571,  571,  572,  574,  573,  575,  578,
++      577,  572,  573,  573,  576,  577,  579,  576,  580,  582,
++      575,  580,  583,  589,  579,  581,  585,  574,  578,  584,
++      581,  586,  585,  584,  587,  586,  591,  589,  588,  590,
++      590,  583,  582,  588,  592,  593,  594,  595,  596,  598,
++      593,  591,  587,  597,  596,  603,  600,  602,  597,  601,
++      601,  599,  594,  598,  599,  592,  606,  595,  607,  599,
++      610,  603,  599,  599,  600,  602,  604,  605,  609,  610,
++      606,  604,  605,  607,  609,  611,  612,  613,  611,  616,
++
++      612,  614,  613,  615,  614,  617,  618,  619,  615,  620,
++      621,  622,  622,  618,  620,  616,  623,  624,  625,  626,
++      619,  627,  612,  617,  630,  623,  628,  630,  626,  629,
++      621,  634,  628,  627,  625,  629,  624,  631,  631,  632,
++      631,  633,  632,  635,  637,  636,  633,  638,  640,  634,
++      636,  639,  641,  638,  640,  641,  639,  635,  642,  643,
++      644,  645,  646,  637,  643,  644,  644,  647,  650,  649,
++      648,  652,  647,  651,  645,  646,  648,  650,  651,  653,
++      653,  655,  654,  642,  655,  657,  647,  647,  649,  654,
++      656,  652,  661,  658,  663,  659,  656,  657,  658,  655,
++
++      659,  659,  660,  660,  662,  664,  662,  664,  665,  666,
++      667,  668,  669,  663,  670,  671,  672,  661,  673,  671,
++      670,  674,  675,  676,  678,  672,  665,  666,  667,  677,
++      668,  679,  669,  673,  680,  681,  674,  679,  682,  678,
++      675,  677,  676,  683,  686,  684,  685,  681,  680,  684,
++      687,  688,  689,  690,  692,  692,  695,  682,  690,  691,
++      686,  693,  683,  694,  685,  693,  697,  696,  687,  688,
++      688,  689,  699,  691,  698,  695,  700,  694,  696,  698,
++      697,  701,  702,  707,  704,  703,  710,  705,  699,  702,
++      703,  704,  705,  706,  701,  700,  708,  709,  706,  711,
++
++      710,  707,  712,  708,  713,  716,  709,  714,  711,  713,
++      714,  715,  717,  718,  712,  715,  719,  720,  727,  716,
++      732,  717,  721,  721,  722,  722,  723,  723,  718,  724,
++      719,  725,  729,  722,  724,  728,  731,  727,  720,  730,
++      725,  728,  733,  730,  734,  732,  735,  737,  731,  736,
++      734,  738,  729,  739,  735,  742,  736,  745,  748,  784,
++      733,  784,  749,  751,  753,  737,  752,  748,  749,  751,
++      742,  755,  755,  739,  745,  752,  738,  740,  759,  740,
++      753,  754,  740,  756,  756,  754,  740,  757,  758,  740,
++      760,  765,  759,  764,  761,  767,  740,  740,  757,  740,
++
++      761,  766,  763,  770,  768,  766,  758,  763,  768,  765,
++      760,  762,  762,  762,  764,  762,  769,  771,  762,  767,
++      772,  769,  770,  762,  768,  773,  775,  777,  773,  762,
++      762,  774,  771,  775,  776,  776,  774,  774,  778,  779,
++      779,  780,  777,  778,  781,  772,  780,  781,  782,  783,
++      783,  785,  786,  782,  787,  788,  790,  789,  787,  791,
++      791,  796,  792,  785,  790,  793,  794,  794,  795,  797,
++      857,  786,  798,  796,  857,  788,  789,  792,  798,  793,
++      799,  800,  800,  801,  804,  799,  795,  803,  801,  801,
++      804,  797,  803,  805,  808,  806,  807,  808,  809,  805,
++
++      806,  810,  807,  813,  809,  811,  811,  812,  812,  810,
++      814,  813,  815,  816,  817,  818,  819,  815,  820,  820,
++      816,  821,  823,  823,  825,  822,  829,  827,  814,  828,
++      821,  818,  817,  822,  824,  819,  827,  830,  828,  831,
++      824,  832,  830,  825,  832,  834,  833,  835,  831,  836,
++      829,  833,  837,  839,  839,  838,  840,  841,  836,  834,
++      838,  838,  843,  844,  842,  837,  844,  846,  848,  846,
++      849,  840,  835,  842,  844,  849,  841,  847,  847,  850,
++      856,  851,  852,  853,  854,  855,  843,  860,  858,  848,
++      859,  863,  892,  860,  855,  892,  862,  864,  861,  866,
++
++      850,  851,  852,  856,  854,  853,  858,  861,  862,  859,
++      863,  864,  865,  866,  867,  868,  868,  869,  865,  867,
++      870,  871,  872,  873,  874,  875,  877,  876,  878,  870,
++      872,  879,  877,  880,  878,  881,  882,  869,  160,  880,
++      886,  871,  883,  873,  875,  879,  874,  876,  883,  881,
++      885,  884,  887,  888,  885,  889,  882,  884,  888,  886,
++      890,  890,  891,  893,  887,  894,  896,  895,  891,  897,
++      897,  898,  887,  895,  899,  901,  889,  900,  894,  899,
++      902,  893,  900,  900,  902,  904,  896,  903,  903,  898,
++      901,  905,  906,  907,  909,  910,  913,  906,  914,  917,
++
++      912,  916,  916,  917,  919,  919,  918,  904,  920,  910,
++      921,  905,  907,  912,  921,  922,  913,  924,  909,  914,
++      915,  918,  924,  915,  923,  915,  925,   85,  938,  915,
++      922,  915,  928,  920,  938,  927,  915,  926,  923,  930,
++      925,  915,  926,  926,  927,  929,  928,  931,  932,  929,
++      933,  934,  931,  935,  930,  933,  936,  937,  939,  943,
++      932,  929,  931,  939,  943,  934,  937,  940,  945,  941,
++      936,  942,  942,  940,  935,  941,  944,  946,  950,  947,
++      949,  951,  944,  950,  953,  953,  954,   80,  952,  956,
++      945,  954,  949,  955,  957,  951,  946,  947,  948,  948,
++
++      952,  955,  958,  956,  948,  960,  948,  959,  962,  961,
++      963,  960,  948,  957,  961,  964,  965,  948,  948,  968,
++      962,  958,  972,  959,  948,  966,  966,  974,  963,  967,
++      970,  964,  971,  967,  965,  971,  970,  973,  975,  968,
++      974,  972,  973,  976,  975,  977,  979,  980,  976,  981,
++      983,  982,  984,  985,  986,  979,  980,  982,  985,  983,
++      988,  987,  992,  990,  977,  981,  989,  991,  992,  993,
++      998,  984,  990,  994,  986,  987,  991,  996,  989,  994,
++      988,  999, 1001, 1000,  998, 1002,  993, 1004, 1009, 1003,
++     1005, 1012, 1004,  996, 1008, 1005, 1001, 1009, 1014, 1008,
++
++     1012,  999, 1000, 1002, 1003, 1010, 1010, 1011, 1013, 1016,
++     1017, 1014, 1021, 1011, 1022, 1017, 1017, 1019, 1019, 1020,
++     1023, 1019, 1020, 1013, 1024, 1016, 1021, 1025, 1026, 1027,
++     1028, 1029, 1030, 1031, 1022, 1027, 1023, 1029, 1031, 1032,
++     1025, 1034, 1024, 1026, 1034, 1035, 1036, 1030, 1038, 1037,
++     1028, 1036, 1039, 1032, 1037, 1040, 1041, 1039, 1044, 1043,
++     1040, 1045, 1049, 1046, 1038, 1043, 1035, 1045, 1041, 1046,
++     1047, 1047, 1048, 1050, 1044, 1052, 1050, 1051, 1051, 1053,
++     1049, 1048, 1054, 1055, 1056, 1057, 1055, 1059, 1058, 1064,
++     1060, 1057, 1059, 1052, 1058, 1060, 1061, 1056, 1053, 1062,
++
++     1065, 1061, 1054, 1066, 1071, 1062, 1067, 1064, 1069, 1066,
++     1070, 1067, 1068, 1068, 1072, 1073, 1075, 1069, 1073, 1070,
++     1065, 1074, 1071, 1076, 1074, 1077, 1078, 1075, 1076, 1079,
++     1080, 1081, 1082, 1072, 1083, 1085, 1080, 1081, 1078, 1083,
++     1084, 1084, 1086, 1077, 1089, 1087, 1088, 1082, 1079, 1090,
++     1088, 1091, 1092, 1094, 1085, 1096, 1086, 1087, 1090, 1095,
++     1095, 1099, 1089, 1101, 1098, 1102, 1104, 1100, 1101, 1107,
++     1091, 1109, 1094, 1109, 1102, 1096, 1099, 1092, 1098, 1100,
++     1103, 1103, 1105, 1106, 1111, 1107, 1104, 1108, 1105, 1106,
++     1110, 1112, 1108, 1114, 1113, 1110, 1115, 1116, 1111, 1113,
++
++     1118, 1117, 1120, 1120, 1116, 1112, 1121, 1122, 1114, 1123,
++     1125, 1124,   75, 1126, 1132, 1115, 1117, 1124, 1126, 1118,
++     1121, 1132, 1128, 1130, 1123, 1122, 1128, 1126, 1130, 1126,
++     1125, 1133, 1126, 1129, 1129, 1131, 1131, 1134, 1135, 1137,
++     1134, 1136, 1138, 1139, 1140, 1133, 1141, 1138, 1137, 1142,
++     1143, 1141, 1144, 1146, 1146, 1147, 1140, 1135, 1149, 1136,
++     1147, 1143, 1139, 1142, 1148, 1150, 1152, 1153, 1151, 1148,
++     1150, 1144, 1151, 1154, 1155, 1152, 1157, 1156, 1149, 1158,
++     1159, 1160, 1153, 1161, 1162, 1165, 1158, 1166, 1154, 1156,
++     1163, 1157, 1159, 1155, 1164, 1168, 1163, 1167, 1169, 1170,
++
++     1160, 1171, 1162, 1172, 1161, 1165, 1167, 1166, 1173, 1164,
++     1168, 1170, 1174, 1176, 1177, 1180, 1178, 1169, 1179, 1176,
++     1171, 1181, 1182, 1173, 1183, 1185, 1179, 1182, 1172, 1177,
++     1178, 1186, 1174, 1184, 1187, 1180, 1183, 1181, 1184, 1184,
++     1188, 1188, 1190, 1191, 1185, 1186,   74, 1187, 1189, 1189,
++     1193, 1193, 1191, 1189, 1192, 1190, 1189, 1189, 1194, 1195,
++     1192, 1189, 1200, 1194, 1196, 1199, 1199, 1189, 1195, 1197,
++     1196, 1189, 1198, 1203, 1197, 1201, 1201, 1198, 1204, 1202,
++     1205, 1206, 1202, 1200, 1202, 1207, 1208, 1209, 1210, 1205,
++     1207, 1211, 1216, 1203, 1210, 1213, 1204, 1211, 1212, 1213,
++
++     1208, 1206, 1214, 1212, 1215, 1209, 1216, 1217, 1217, 1215,
++     1219, 1214, 1218, 1218, 1222, 1218, 1214, 1223, 1214, 1221,
++     1214, 1219, 1214, 1221, 1224, 1225, 1227, 1226, 1229, 1222,
++     1225, 1225, 1228, 1224, 1230, 1223, 1226, 1228, 1231, 1232,
++     1233, 1234, 1229, 1230, 1235, 1235, 1237, 1234, 1227, 1239,
++     1238, 1236, 1240, 1241, 1233, 1238, 1242, 1231, 1232, 1236,
++     1237, 1240, 1243, 1239, 1244, 1244, 1251, 1243, 1245, 1246,
++     1246, 1241, 1247, 1249, 1247, 1250, 1249, 1252, 1253, 1253,
++     1250, 1242, 1254, 1245, 1258, 1251, 1252, 1255, 1255, 1256,
++     1256, 1257, 1259, 1260, 1260, 1261, 1257, 1262, 1263, 1264,
++
++     1262, 1265, 1254, 1267, 1264, 1258, 1266, 1270, 1266, 1269,
++     1265, 1271, 1269, 1259, 1272, 1261, 1271, 1274, 1263, 1273,
++     1276, 1267, 1270, 1276, 1273, 1274, 1275, 1277, 1272, 1278,
++     1278, 1275, 1277, 1279, 1280, 1281, 1282, 1283, 1279, 1285,
++     1286, 1281, 1287, 1282, 1289, 1285, 1286, 1287, 1288, 1290,
++     1283, 1291, 1280, 1289, 1288, 1292, 1292, 1293, 1295, 1296,
++     1297, 1298, 1291, 1299, 1300, 1302, 1303, 1298, 1290, 1299,
++     1300, 1302, 1304, 1295, 1305, 1306, 1307, 1293, 1308, 1296,
++     1303, 1309, 1309, 1297, 1310, 1311, 1303, 1306, 1312, 1315,
++     1307,   68, 1304, 1313, 1305, 1318, 1308, 1316, 1313, 1314,
++
++     1314, 1320, 1316, 1319, 1310, 1322, 1312, 1321, 1319, 1319,
++     1311, 1323, 1315, 1322, 1318, 1324, 1321, 1325, 1326, 1320,
++     1327, 1335, 1328, 1326, 1328, 1323, 1326, 1329, 1331, 1327,
++     1324, 1333, 1325, 1332, 1331, 1325, 1336, 1332, 1334, 1337,
++     1335, 1329, 1333, 1334, 1334, 1338, 1339, 1340, 1341, 1342,
++     1338, 1339, 1343, 1345, 1342, 1346, 1347, 1337, 1348, 1348,
++     1349, 1350, 1336, 1351, 1349, 1340, 1353, 1345, 1341, 1352,
++     1354, 1355, 1343, 1346, 1347, 1352, 1356, 1357, 1353, 1350,
++     1358, 1359, 1351, 1360, 1362, 1355, 1359, 1363, 1361, 1354,
++     1360, 1356, 1357, 1361, 1364, 1364, 1363, 1365, 1366, 1358,
++
++     1367, 1371, 1362, 1368, 1368, 1369, 1374, 1366, 1370, 1372,
++     1372, 1369, 1365, 1373, 1370, 1371, 1375, 1385, 1376, 1373,
++     1367, 1377, 1374, 1376, 1378, 1379, 1385, 1377, 1380, 1380,
++     1378, 1379, 1381, 1381, 1383, 1383, 1384, 1375, 1386, 1387,
++     1384, 1388, 1389, 1390, 1391, 1391, 1392, 1395, 1394, 1396,
++     1390, 1387, 1393, 1394, 1399, 1388, 1386, 1389, 1397, 1401,
++     1393, 1395, 1402, 1397, 1397, 1398, 1392, 1403, 1396, 1405,
++     1398, 1398, 1400, 1400, 1399, 1404, 1403, 1406, 1401, 1408,
++     1404, 1402, 1407, 1410, 1409, 1408, 1411, 1412, 1405, 1409,
++     1413, 1415, 1411, 1414, 1416, 1417, 1413, 1406, 1418, 1414,
++
++     1407, 1419, 1420, 1421, 1422, 1422, 1412, 1424, 1423, 1410,
++     1415, 1423, 1425, 1416, 1417, 1419, 1426, 1418, 1421, 1427,
++     1427, 1428, 1428, 1420, 1429, 1431, 1424, 1432, 1426, 1429,
++     1430, 1425, 1433, 1434, 1430, 1434, 1432, 1436, 1431, 1434,
++     1439, 1437, 1438, 1440, 1442, 1433, 1437, 1441, 1441, 1442,
++     1443, 1444, 1434, 1446, 1445, 1436, 1443, 1438, 1446, 1440,
++     1439, 1447, 1449, 1450, 1448, 1447, 1444, 1445, 1448, 1451,
++     1452, 1453, 1453, 1455, 1457, 1458, 1452, 1459, 1459, 1460,
++     1458, 1450, 1449, 1461, 1467, 1460, 1463, 1463, 1468, 1451,
++     1465, 1455, 1471, 1465, 1474, 1457, 1466, 1466, 1470, 1472,
++
++     1467, 1470, 1475, 1461, 1468, 1473, 1473, 1476, 1472, 1474,
++     1477, 1478, 1471, 1479, 1479, 1477, 1481, 1482, 1480, 1483,
++     1484, 1485, 1485, 1475, 1486, 1478, 1476, 1480, 1487, 1492,
++     1488, 1494, 1482, 1489, 1481, 1488, 1490, 1490, 1486, 1491,
++     1484, 1493, 1493, 1491, 1483, 1495, 1487, 1496, 1489, 1492,
++     1497, 1496, 1498, 1494, 1500, 1500, 1495, 1498, 1501, 1502,
++     1504, 1503, 1505, 1506, 1507, 1507, 1508, 1509,   63, 1497,
++     1510, 1508, 1511, 1511, 1501, 1503, 1505, 1502, 1513, 1504,
++     1504, 1514, 1512, 1513, 1515, 1518, 1515, 1509, 1506, 1516,
++     1510, 1512, 1517, 1519, 1516, 1521, 1522, 1522, 1517, 1519,
++
++     1523, 1514, 1524, 1527, 1530, 1518, 1526, 1531, 1524, 1521,
++     1535, 1526, 1528, 1528, 1529, 1529, 1532, 1533, 1530, 1523,
++     1533, 1534, 1534, 1536, 1537, 1531, 1539, 1527, 1535, 1540,
++     1538, 1532, 1539, 1538, 1540, 1536, 1538, 1541, 1543, 1545,
++     1541, 1544, 1546,   58, 1537, 1546, 1544, 1543, 1538, 1547,
++     1547, 1548, 1549, 1555, 1550, 1556, 1541, 1548, 1549, 1550,
++     1551, 1551, 1552, 1552, 1545, 1553, 1555, 1554, 1557, 1558,
++     1560, 1553, 1554, 1556, 1559, 1561, 1560, 1559, 1562, 1563,
++     1564, 1561, 1568, 1562, 1569, 1563, 1565, 1557, 1570, 1558,
++     1567, 1565, 1566, 1566, 1575, 1567, 1571, 1572, 1573, 1574,
++
++     1568, 1576, 1578, 1564, 1569, 1576, 1580, 1577, 1570, 1577,
++     1571, 1572, 1573, 1581, 1582, 1584, 1583, 1574, 1580, 1575,
++     1585, 1578, 1583, 1586, 1587, 1581, 1588, 1582, 1590, 1590,
++     1591, 1595, 1592, 1593, 1596, 1584, 1585, 1592, 1587, 1594,
++     1594, 1597, 1598, 1586, 1599, 1593, 1595, 1588, 1596, 1600,
++     1591, 1601, 1603, 1599, 1602, 1605, 1607, 1611, 1601, 1608,
++     1598, 1612, 1608, 1602, 1600, 1597, 1602, 1616, 1603, 1611,
++     1605, 1609, 1609, 1610, 1610, 1605, 1615, 1613, 1619, 1612,
++     1613, 1607, 1614, 1614, 1620, 1617, 1616, 1618, 1622, 1615,
++     1617, 1627, 1618, 1621, 1623, 1624, 1630, 1619, 1629, 1625,
++
++     1620, 1628, 1621, 1623, 1624, 1625, 1623, 1622, 1626, 1626,
++     1630, 1627, 1631, 1632, 1628, 1633, 1629, 1634, 1632, 1632,
++     1633, 1637, 1638, 1639, 1639, 1640, 1641, 1642, 1631, 1634,
++     1643, 1643, 1642, 1646, 1645, 1641, 1647, 1648, 1644, 1645,
++     1638, 1640, 1651, 1649, 1652, 1643, 1637, 1644, 1649, 1649,
++     1644, 1646, 1653, 1654, 1655, 1648, 1651, 1647, 1654, 1652,
++     1655, 1656, 1657, 1657, 1658, 1663, 1659, 1660, 1664, 1661,
++     1658, 1659, 1665, 1660, 1653, 1661, 1666, 1667, 1665, 1656,
++     1667, 1668, 1664, 1670, 1672, 1663, 1667, 1668, 1673, 1666,
++     1674, 1670, 1675, 1676,   57, 1677, 1678, 1679, 1674, 1680,
++
++     1680, 1675, 1685, 1672, 1683, 1686, 1676, 1673, 1677, 1681,
++     1678, 1679, 1682, 1684, 1684, 1681, 1687, 1683, 1682, 1688,
++     1688, 1680, 1685, 1686, 1689, 1690, 1691, 1692, 1693, 1695,
++     1695, 1690, 1696, 1701, 1697, 1687, 1698, 1689, 1697, 1699,
++     1700, 1698, 1701, 1692, 1699, 1700, 1693, 1702, 1691, 1704,
++     1705, 1708, 1696, 1706, 1706, 1707, 1709, 1710, 1710, 1711,
++     1712, 1704, 1716, 1708, 1713, 1705, 1714, 1712, 1717, 1720,
++     1702, 1718, 1719, 1711, 1707, 1709, 1713, 1718, 1714, 1721,
++       52, 1716, 1722, 1722, 1719, 1721, 1723, 1720, 1717, 1723,
++     1724, 1724, 1726, 1727, 1728, 1729, 1729, 1726, 1730, 1731,
++
++     1728, 1731, 1727, 1732, 1733, 1734, 1732, 1735, 1736, 1737,
++     1730, 1738, 1739, 1741, 1737, 1742, 1738, 1740, 1744, 1747,
++     1742, 1739, 1743,   47, 1733, 1735, 1736, 1734, 1741, 1740,
++     1745, 1743, 1746, 1750, 1747, 1745, 1752, 1746, 1744, 1748,
++     1748, 1749, 1745, 1753, 1743, 1754, 1755, 1749, 1756, 1757,
++     1756, 1758, 1758, 1761, 1750, 1752, 1759, 1759, 1760, 1760,
++     1764, 1754, 1753, 1757, 1765, 1757, 1755, 1762, 1762, 1763,
++     1763, 1766, 1766, 1761, 1767, 1772, 1768, 1769, 1767, 1774,
++     1769, 1764, 1768, 1771, 1773, 1765, 1776, 1776, 1775, 1771,
++     1773, 1775, 1777, 1772, 1778, 1779, 1779, 1781, 1780, 1778,
++
++     1782, 1783, 1783, 1784, 1774, 1782, 1788, 1786, 1784, 1785,
++     1787, 1789, 1777, 1780, 1791, 1785, 1790, 1795, 1781, 1786,
++     1786, 1786, 1790, 1793, 1788, 1794, 1786, 1797, 1793, 1793,
++     1787, 1789, 1795, 1796, 1791, 1796, 1798, 1799, 1797, 1794,
++     1800, 1801, 1802, 1799, 1803, 1803, 1804, 1805, 1805, 1800,
++     1806, 1798, 1807, 1808, 1808, 1809, 1809, 1810, 1813, 1813,
++     1814, 1801, 1815, 1802, 1817, 1818, 1820, 1820, 1821, 1819,
++     1806, 1815, 1804, 1817, 1807, 1819, 1822, 1810, 1825, 1824,
++     1823, 1826, 1826, 1827, 1828, 1814, 1818, 1823, 1824, 1821,
++     1830, 1822, 1831, 1832, 1833, 1830, 1834, 1835, 1831, 1835,
++
++     1828, 1833, 1834, 1837, 1825, 1838, 1839, 1839, 1841, 1827,
++     1840, 1838, 1842, 1832, 1843, 1840, 1844, 1841, 1845, 1846,
++     1847, 1845, 1837, 1848, 1848, 1849, 1852, 1851, 1844, 1850,
++     1853, 1849, 1842, 1843, 1853, 1850, 1855, 1846, 1856, 1857,
++     1859, 1852, 1858, 1858, 1857, 1862, 1847, 1851, 1860, 1863,
++     1853, 1864, 1865, 1863, 1866, 1866, 1855, 1864, 1867, 1859,
++     1856, 1865, 1867, 1860, 1862, 1868, 1869, 1869, 1870, 1871,
++     1873, 1872, 1874, 1875, 1876, 1873, 1868, 1878, 1885, 1877,
++     1876, 1868, 1878, 1871, 1879, 1879, 1880, 1880, 1883, 1870,
++     1872, 1881, 1874, 1875, 1877, 1881, 1884, 1883, 1885, 1886,
++
++     1886, 1888, 1888, 1889, 1890, 1892, 1893, 1884, 1889, 1889,
++     1890, 1892, 1884, 1894, 1895, 1896, 1898, 1900, 1894, 1899,
++     1901, 1896, 1903, 1899, 1902, 1904, 1895, 1906, 1898, 1900,
++     1902, 1904, 1893, 1905, 1908, 1909, 1910, 1912, 1905, 1906,
++     1912, 1910, 1913, 1913, 1903, 1901, 1908, 1914, 1914, 1915,
++     1915, 1916, 1917, 1918, 1909, 1919, 1920, 1921, 1917, 1918,
++     1919, 1925, 1920, 1923, 1925, 1926, 1921, 1929, 1923, 1927,
++     1927, 1916, 1930, 1931, 1932, 1932, 1933, 1926, 1931, 1929,
++     1936, 1934, 1935, 1936, 1930, 1933, 1934, 1935, 1937, 1937,
++     1938, 1939, 1942, 1940, 1941, 1944, 1942, 1943, 1945, 1946,
++
++     1939, 1944, 1943, 1947, 1948, 1950, 1950, 1951, 1946, 1953,
++     1938, 1940, 1957, 1941, 1952, 1955, 1945, 1950, 1948, 1954,
++     1954, 1947, 1956, 1952, 1955, 1951, 1958, 1959, 1965, 1953,
++     1966, 1958, 1968, 1957, 1956, 1962, 1962, 1969, 1964, 1970,
++     1959, 1964, 1971, 1980, 1965, 1970, 1966, 1968, 1972, 1972,
++     1973, 1969, 1973, 1974, 1974, 1975, 1977, 1977, 1981, 1971,
++     1978, 1978, 1982, 1975, 1981, 1983, 1980, 1984, 1982, 1987,
++     1985, 1988, 1983, 1986, 1986, 1989, 1990, 1993, 1987, 1991,
++     1994, 1992, 1997, 1998, 1999, 1995,   18, 1989, 1990, 1984,
++     1985, 1995, 1988, 1992, 1991, 1994, 1999, 2000, 2000, 2001,
++
++     2002, 2005, 1997, 1993, 1995, 2003, 1998, 2004, 2003, 2007,
++     2009, 2008, 2004, 2008, 2007, 2011, 2013, 2001, 2010, 2015,
++     2002, 2005, 2011, 2010, 2016, 2013, 2017, 2018, 2009, 2018,
++     2019, 2022, 2021, 2016, 2021, 2023, 2023, 2015, 2017, 2024,
++     2026, 2025, 2026, 2027, 2029, 2022, 2025, 2028, 2027, 2019,
++     2030, 2031, 2028, 2032, 2033, 2035, 2034, 2031, 2032, 2038,
++     2035, 2035, 2029, 2036, 2042, 2024, 2039, 2033, 2034, 2043,
++     2030, 2036, 2040, 2040, 2041, 2041, 2044, 2047, 2038, 2042,
++     2039, 2045, 2044, 2046, 2048, 2046, 2045, 2049, 2049, 2043,
++     2050, 2055, 2048, 2051, 2051, 2047, 2052, 2052, 2053, 2054,
++
++     2048, 2057, 2050, 2058, 2054, 2058, 2059, 2053, 2062, 2055,
++     2057, 2060, 2061, 2057, 2064, 2068, 2060, 2060, 2065, 2066,
++     2062, 2061, 2069, 2065, 2066, 2070, 2064, 2059, 2068, 2071,
++     2071, 2072, 2073, 2075, 2070, 2074, 2078, 2076, 2080, 2081,
++     2082, 2079, 2069, 2089, 2081, 2082, 2083, 2075, 2078, 2072,
++     2073, 2074, 2076, 2079, 2086, 2083, 2088, 2090, 2080, 2091,
++     2086, 2092, 2088, 2094, 2094, 2093, 2089, 2095, 2096, 2096,
++     2097, 2098, 2090, 2086, 2093, 2098, 2095, 2091, 2099, 2100,
++     2101, 2107, 2102, 2099, 2103, 2104, 2092, 2102, 2102, 2097,
++     2103, 2104, 2100, 2105, 2116, 2106, 2105, 2110, 2110, 2111,
++
++     2111, 2107, 2101, 2106, 2112, 2113, 2113, 2114, 2114, 2115,
++     2117, 2129, 2116, 2112, 2111, 2118, 2117, 2119, 2119, 2121,
++     2118, 2115, 2120, 2120, 2121, 2111, 2122, 2124, 2125, 2126,
++     2127, 2124, 2122, 2126, 2130, 2131, 2129, 2132, 2133, 2130,
++     2135, 2134, 2136, 2133, 2137, 2138, 2139, 2139, 2125, 2137,
++     2127, 2140, 2132, 2141, 2143, 2140, 2135, 2144, 2131, 2134,
++     2142, 2145, 2136, 2146, 2147, 2142, 2148, 2138, 2141, 2147,
++     2149, 2150, 2150, 2145, 2153, 2144, 2152, 2154, 2155, 2148,
++     2143, 2156, 2146, 2157, 2152, 2158, 2159, 2160, 2149, 2162,
++     2164, 2166, 2167, 2153, 2167, 2165, 2154, 2166, 2159, 2168,
++
++     2168, 2155, 2157, 2164, 2162, 2156, 2158, 2169, 2160, 2165,
++     2170, 2171, 2169, 2170, 2172, 2178, 2173, 2174, 2174, 2175,
++     2175, 2176, 2179, 2176, 2171, 2177, 2177, 2181, 2172, 2173,
++     2178, 2180, 2180, 2182, 2182, 2179, 2181, 2183, 2183, 2181,
++     2184, 2186, 2187, 2188, 2189, 2184, 2186, 2190, 2190, 2191,
++     2191, 2192, 2193, 2193, 2194, 2197, 2189, 2195, 2195, 2196,
++     2197, 2200, 2187, 2188, 2198, 2198, 2199, 2199, 2201, 2202,
++     2192, 2203, 2194, 2205, 2196, 2200, 2207, 2201, 2205, 2206,
++     2206, 2208, 2208, 2202, 2209, 2210, 2211, 2212, 2212, 2211,
++     2203, 2210, 2213, 2213, 2214, 2207, 2215, 2216, 2219, 2216,
++
++     2218, 2222, 2209, 2212, 2220, 2220, 2223, 2224, 2225, 2226,
++     2226, 2215, 2225, 2214, 2227, 2218, 2229, 2219, 2228, 2230,
++     2233, 2222, 2224, 2228, 2232, 2232, 2236, 2235, 2234, 2223,
++     2237, 2229, 2238, 2227, 2230, 2234, 2239, 2239, 2240, 2242,
++     2233, 2235, 2242, 2241, 2236, 2241, 2245, 2240, 2237, 2244,
++     2246, 2245, 2247, 2248, 2249, 2246, 2251, 2242, 2238, 2242,
++     2250, 2244, 2253, 2254, 2255, 2250, 2248, 2253, 2254, 2257,
++     2256, 2261, 2258,   17, 2262, 2249, 2256, 2247, 2258, 2255,
++     2259, 2260, 2251, 2264, 2265, 2259, 2260, 2262, 2263, 2266,
++     2257, 2263, 2264, 2265, 2267, 2268, 2261, 2271, 2266, 2269,
++
++     2270, 2271, 2273, 2267, 2275, 2269, 2270, 2276, 2276, 2268,
++     2277, 2278, 2278, 2275, 2279, 2280, 2277, 2282, 2283, 2279,
++     2278, 2285, 2273, 2284, 2284, 2289, 2294, 2288, 2290, 2286,
++     2291, 2294, 2295, 2282, 2283, 2280, 2285, 2280, 2286, 2288,
++     2303, 2289, 2291, 2290, 2293, 2296, 2303, 2293, 2297, 2297,
++     2298, 2298, 2295, 2300, 2300, 2301, 2302, 2296, 2301, 2304,
++     2305, 2302, 2306, 2306, 2307, 2304, 2308, 2308, 2309, 2305,
++     2310, 2311, 2312, 2312, 2314, 2313, 2321, 2315, 2307, 2317,
++     2309, 2313, 2315, 2317, 2310, 2321, 2318, 2322, 2314, 2318,
++     2311, 2319, 2319, 2320, 2323, 2324, 2322, 2326, 2320, 2324,
++
++     2325, 2325, 2328, 2329, 2330, 2331, 2333, 2328, 2332, 2335,
++     2326, 2334, 2332, 2337, 2323, 2335, 2334, 2338, 2339, 2331,
++     2340, 2336, 2341, 2329, 2330, 2340, 2333, 2336, 2343, 2344,
++     2345, 2337, 2346, 2347,    0, 2345, 2338, 2339, 2346, 2350,
++     2343, 2347, 2348, 2341, 2348, 2344, 2352, 2355, 2350, 2353,
++     2353, 2354, 2356, 2356, 2354, 2359, 2360, 2361, 2363, 2359,
++     2352, 2368, 2360, 2362, 2362, 2366, 2366, 2363, 2370, 2361,
++     2371, 2374, 2375, 2355, 2385, 2376, 2374, 2384, 2377, 2368,
++     2376, 2388, 2370, 2377, 2378, 2378, 2371, 2380, 2380, 2382,
++     2383, 2383, 2386, 2384, 2390, 2382, 2385, 2386, 2375, 2389,
++
++     2388, 2391, 2389, 2392, 2392, 2394, 2390, 2396, 2397, 2395,
++     2399, 2399, 2401, 2391, 2394, 2395, 2400, 2402, 2407, 2400,
++     2404, 2404, 2415, 2397, 2406, 2396, 2405, 2405, 2408, 2406,
++     2410, 2401, 2410, 2409, 2411, 2402, 2407, 2408, 2409, 2412,
++     2413, 2414, 2415, 2422, 2416, 2480, 2414, 2480, 2411, 2416,
++     2417, 2417, 2413, 2412, 2418, 2418, 2419, 2419, 2420, 2420,
++     2421, 2422, 2423, 2424, 2424, 2425, 2425, 2423, 2426, 2427,
++     2428, 2429, 2421, 2430, 2430, 2431, 2432, 2432, 2433, 2433,
++     2426, 2427, 2434, 2435, 2436, 2437, 2438, 2429, 2440, 2441,
++     2428, 2436, 2444, 2434, 2431, 2435, 2439, 2437, 2442, 2442,
++
++     2445, 2439, 2443, 2446, 2447, 2448, 2438, 2455, 2440, 2441,
++     2449, 2443, 2450, 2450, 2451, 2452, 2446, 2453, 2444, 2448,
++     2445, 2456, 2449, 2451, 2457, 2455, 2458, 2459, 2447, 2458,
++     2452, 2460, 2453, 2461, 2462, 2462, 2460, 2469, 2461, 2463,
++     2463, 2459, 2470, 2456, 2464, 2464, 2471, 2457, 2466, 2466,
++     2468, 2468, 2472, 2470, 2474, 2469, 2476, 2475, 2482, 2477,
++     2478, 2479, 2481, 2484, 2484, 2471, 2483, 2472, 2488, 2478,
++     2486, 2486, 2487, 2494, 2474, 2475, 2482, 2495, 2476, 2477,
++     2489, 2479, 2481, 2492, 2483, 2497, 2487, 2490, 2490, 2489,
++     2488, 2494, 2492, 2493, 2493, 2495, 2496, 2498, 2499, 2501,
++
++     2497, 2500, 2504, 2496, 2502, 2502, 2503, 2503, 2505, 2507,
++     2507, 2508, 2508, 2506, 2509, 2498, 2499, 2500, 2501, 2506,
++     2509, 2510, 2504, 2511, 2512, 2514, 2505, 2513, 2515, 2516,
++     2514, 2517, 2518, 2520, 2518, 2520, 2517, 2523, 2511, 2510,
++     2526, 2513, 2525, 2512, 2519, 2519, 2521, 2521, 2515, 2516,
++     2527, 2525, 2528, 2529, 2530, 2534, 2523, 2531, 2529, 2526,
++     2535, 2538, 2527, 2535, 2536, 2536, 2537, 2539, 2539, 2540,
++     2541, 2544, 2528, 2542, 2530, 2534, 2531, 2542, 2545, 2538,
++     2540, 2537, 2545, 2546, 2546, 2541, 2544, 2547, 2549, 2550,
++     2551, 2552, 2552, 2554, 2556, 2555, 2557, 2557, 2556, 2558,
++
++     2547, 2559, 2559, 2549, 2555, 2554, 2560, 2561, 2562, 2550,
++     2551, 2560, 2570, 2563, 2564, 2564, 2561, 2572, 2558, 2569,
++     2569, 2571, 2571, 2573, 2562, 2563, 2574, 2577, 2575, 2584,
++     2572, 2576, 2576, 2587, 2570, 2574, 2573, 2575, 2579, 2579,
++     2582, 2583, 2577, 2584, 2585, 2582, 2583, 2586, 2588, 2585,
++     2589, 2591, 2587, 2594, 2592, 2586, 2593, 2588, 2589, 2592,
++     2598, 2593, 2595, 2595, 2596, 2596, 2591, 2598, 2594, 2597,
++     2597, 2599, 2600, 2601, 2602,    0, 2599, 2603, 2604, 2604,
++     2602, 2605, 2603, 2606, 2607, 2607, 2608, 2608, 2606, 2611,
++     2600, 2601, 2612, 2612, 2613, 2614, 2605, 2613, 2615, 2616,
++
++     2614, 2614, 2611, 2615, 2616, 2617, 2618, 2619, 2620, 2621,
++     2622, 2619, 2618, 2620, 2623, 2624, 2627, 2625, 2621, 2617,
++     2626, 2627, 2623, 2625, 2630, 2622, 2626, 2628, 2631, 2632,
++     2634, 2630, 2632, 2631, 2638, 2636, 2624, 2639, 2637, 2628,
++     2636, 2646, 2634, 2637, 2640, 2641, 2642, 2642, 2643, 2647,
++     2639, 2651, 2638, 2640, 2641, 2647, 2648, 2643, 2652, 2646,
++     2653, 2655, 2648, 2654, 2654, 2656, 2657, 2658, 2655, 2660,
++     2651, 2659, 2659, 2664, 2662, 2657, 2665, 2667, 2652, 2653,
++     2665, 2668, 2658,    0, 2656, 2666, 2666, 2668, 2660, 2662,
++     2669, 2670, 2672, 2664, 2671, 2671, 2669, 2670, 2673, 2675,
++
++     2672, 2676, 2667, 2673, 2678, 2681, 2679, 2680, 2675, 2679,
++     2678, 2680, 2682, 2685, 2676, 2684, 2684, 2686, 2686, 2681,
++     2687, 2687, 2689, 2689, 2690, 2691, 2695, 2682, 2690, 2696,
++     2691, 2685, 2693, 2693, 2696, 2697, 2698, 2700, 2701, 2701,
++     2710, 2698, 2698, 2703, 2703, 2706, 2695, 2697, 2704, 2704,
++     2705, 2708, 2714, 2705, 2711, 2711, 2717, 2700, 2706, 2716,
++     2710, 2712, 2712, 2713, 2713, 2715, 2715, 2714, 2718, 2708,
++     2719, 2721, 2716, 2726, 2717, 2721, 2719, 2720, 2720, 2725,
++     2727, 2728, 2718, 2729, 2725, 2725, 2730, 2731, 2736, 2729,
++     2732, 2738, 2730, 2736, 2732, 2741, 2726, 2733, 2733, 2738,
++
++     2727, 2728, 2739, 2742, 2744, 2739, 2742, 2743, 2743, 2745,
++     2746, 2747, 2731, 2748, 2745, 2749, 2749, 2753, 2750, 2752,
++     2741, 2744, 2744, 2751, 2758, 2758, 2751, 2748, 2746, 2754,
++     2757, 2747, 2750, 2752, 2751, 2755, 2753, 2754, 2756, 2763,
++     2755, 2755, 2765, 2756, 2756, 2759, 2759, 2760, 2760, 2757,
++     2761, 2761, 2762, 2762, 2764, 2763, 2766, 2768, 2767, 2764,
++     2769, 2770, 2765, 2767, 2771, 2769, 2772, 2774, 2774, 2777,
++     2770, 2775, 2775, 2780, 2776, 2871, 2768, 2776, 2779, 2779,
++     2780, 2789, 2766, 2871, 2771, 2782, 2772, 2777, 2781, 2781,
++     2782, 2784, 2784, 2785, 2786, 2787, 2790, 2790, 2792, 2789,
++
++     2793, 2791, 2785, 2786, 2787, 2791, 2794, 2792, 2795, 2796,
++     2808, 2797, 2798, 2803, 2796, 2796, 2799, 2794, 2803, 2793,
++     2799, 2798, 2807, 2795, 2797, 2804, 2804, 2806, 2806, 2809,
++     2811, 2812, 2815, 2816, 2817, 2808, 2807, 2820, 2818, 2811,
++     2822, 2824, 2816, 2812, 2818, 2825, 2824, 2809,    0, 2820,
++     2825, 2826, 2826, 2827, 2817, 2829, 2836, 2815, 2832, 2832,
++     2829, 2822, 2827, 2830, 2830, 2833, 2833, 2830, 2834, 2834,
++     2835, 2837, 2838, 2841, 2840, 2844, 2836, 2838, 2841, 2835,
++     2840, 2842, 2843, 2843, 2845, 2846, 2842, 2847, 2849, 2848,
++     2837, 2850, 2847, 2844, 2849, 2853, 2845, 2851, 2851, 2853,
++
++     2854, 2856, 2856, 2855, 2857, 2854, 2846, 2848, 2855, 2858,
++     2859, 2861, 2863, 2863, 2865, 2866, 2850, 2867, 2869, 2870,
++     2868, 2867, 2875, 2857, 2858, 2859, 2876, 2865, 2866, 2868,
++     2872, 2861, 2873, 2873, 2869, 2872, 2874, 2878, 2870, 2884,
++     2875, 2877, 2877, 2881, 2881, 2874, 2882, 2882, 2886, 2886,
++     2888, 2889, 2876, 2890, 2891, 2894, 2878, 2893, 2893, 2891,
++     2884, 2895, 2896, 2897, 2898, 2901, 2888, 2889, 2896, 2890,
++     2895, 2900, 2900, 2902, 2906, 2894, 2903, 2903, 2907, 2901,
++     2908, 2909, 2912, 2898, 2907, 2908, 2897, 2910, 2910, 2911,
++     2911, 2915, 2902, 2914, 2906, 2913, 2913, 2916, 2919, 2917,
++
++     2915, 2918, 2912, 2909, 2914, 2917, 2920, 2921, 2921, 2922,
++     2919, 2927, 2922, 2923, 2923, 2913, 2928, 2916, 2929, 2933,
++     2918, 2930, 2930, 2927, 2929, 2931, 2920, 2932, 2931, 2935,
++     2936, 2936, 2938, 2932, 2935, 2937, 2928, 2933, 2939, 2940,
++     2937, 2941, 2941, 2943, 2939, 2944, 2945, 2946, 2947, 2947,
++     2948, 2938, 2949, 2950, 2961, 2943, 2940, 2940, 2952, 2952,
++     2946, 2954, 2950, 2944, 2953, 2953, 2954, 2955, 2949, 2948,
++     2956, 2945, 2957, 2957, 2960, 2956, 2958, 2958, 2959, 2959,
++     2961, 2955, 2962, 2968, 2963, 2965, 2965, 2960, 2962, 2963,
++     2970, 2971, 2972, 2973, 2973, 2975, 2975, 2976, 2977, 2979,
++
++     2980, 2978, 2968, 2981, 2981, 2982, 2982, 2985,    0, 2980,
++     2984, 2986, 2970, 2971, 2972, 2978, 2984, 2977, 2994, 2979,
++     2987, 2990, 2990, 2976, 2996, 2987, 2993, 2985, 2992, 2992,
++     2986, 2993, 2994, 2995, 2997, 2999, 2996, 2998, 2998, 2995,
++     2999, 3001, 2997, 3002, 3003, 3004, 3005, 3007, 3008, 3003,
++     3009, 3010, 3005, 3013, 3012, 3007, 3014, 3004, 3015, 3016,
++     3018, 3001, 3019, 3002, 3016, 3018, 3023, 3008,    0, 3013,
++     3009, 3010, 3012, 3014, 3014, 3020, 3025, 3024, 3021, 3015,
++     3024, 3020, 3019, 3021, 3028, 3028, 3023, 3029, 3029, 3025,
++     3030, 3034, 3034, 3035, 3030, 3036, 3037, 3037, 3035, 3039,
++
++     3039, 3040, 3040, 3043, 3040, 3041, 3041, 3043, 3041, 3042,
++     3042, 3045, 3042, 3046, 3036, 3048, 3045, 3047, 3047, 3052,
++     3049, 3053, 3046, 3054, 3055, 3055, 3058, 3060, 3054, 3059,
++     3062, 3060, 3064, 3048, 3049, 3061, 3059, 3065,    0, 3052,
++     3069, 3053, 3066, 3066, 3061, 3062, 3065, 3067, 3067, 3070,
++     3064, 3058, 3068, 3068, 3070, 3069, 3071, 3072, 3073, 3074,
++     3075, 3076, 3072, 3072, 3073, 3071, 3077, 3078, 3071, 3079,
++     3081, 3077, 3078, 3080, 3080, 3075, 3081, 3082, 3083, 3083,
++     3084, 3084, 3076, 3082, 3074, 3085, 3086, 3092, 3079, 3089,
++     3089, 3086, 3091, 3091, 3095, 3095, 3092, 3096, 3096, 3103,
++
++     3085, 3097, 3097, 3098, 3098, 3099, 3099, 3100, 3100, 3101,
++     3101, 3102, 3102, 3105, 3106, 3106, 3108, 3107, 3109, 3113,
++     3111, 3115, 3105, 3112, 3112, 3103, 3107, 3114, 3108, 3116,
++     3116, 3117, 3121, 3115, 3113, 3118, 3118, 3123, 3109, 3111,
++     3114, 3122, 3124, 3124, 3122, 3127, 3117, 3125, 3127, 3128,
++     3121, 3130, 3129, 3131, 3133, 3128, 3130, 3132, 3135, 3136,
++     3143, 3140, 3160, 3123, 3135, 3125, 3129, 3139, 3136, 3152,
++     3133, 3139, 3131, 3163, 3152, 3132, 3140, 3153, 3155, 3166,
++     3153, 3156, 3156, 3157, 3157, 3160, 3143, 3158, 3158, 3161,
++     3162, 3155, 3164, 3163, 3162, 3168, 3167, 3169, 3161, 3169,
++
++     3168, 3170, 3166, 3171, 3171, 3172, 3164, 3167, 3173, 3175,
++     3174, 3176, 3178, 3181, 3177, 3180, 3170, 3182, 3172, 3179,
++     3180, 3178, 3182, 3183, 3183, 3175, 3184, 3173, 3174, 3177,
++     3185, 3179, 3190, 3189, 3181, 3185, 3176, 3191, 3191, 3192,
++     3193, 3193, 3194, 3194, 3195, 3195, 3184, 3189, 3192, 3196,
++     3196, 3197, 3190, 3198, 3199, 3200, 3201, 3199, 3202, 3203,
++     3200, 3201, 3204, 3205, 3206, 3209, 3207, 3213, 3204, 3214,
++     3197, 3207,    0, 3198, 3203, 3219, 3206, 3205, 3208, 3208,
++     3210, 3210, 3213, 3202, 3217, 3209, 3212, 3212, 3214, 3215,
++     3215, 3222, 3222, 3219, 3223, 3223, 3224, 3225, 3228, 3217,
++
++     3226, 3227, 3229, 3230, 3224, 3231, 3226, 3227, 3232, 3232,
++     3231, 3237, 3228, 3234, 3234, 3229, 3225, 3238, 3243, 3240,
++     3241, 3244, 3230, 3245, 3241, 3248, 3244, 3246, 3247, 3249,
++     3250, 3254, 3237, 3240, 3249, 3250, 3255, 3238, 3243, 3256,
++     3246, 3247, 3245, 3259, 3248, 3251, 3251, 3257, 3257, 3259,
++     3258, 3254, 3260, 3260, 3255, 3258, 3261, 3262, 3256, 3263,
++     3264, 3261, 3262, 3265, 3263, 3267, 3267, 3268, 3272, 3265,
++     3269, 3269, 3268, 3271, 3273, 3274, 3275, 3271, 3276, 3264,
++     3277, 3273, 3285, 3278, 3276, 3280, 3280, 3272, 3282, 3282,
++     3286, 3283, 3284, 3287, 3274, 3275, 3278, 3284, 3290, 3277,
++
++     3283, 3285, 3289, 3283, 3288, 3288, 3287, 3289, 3292, 3286,
++     3294, 3290, 3293, 3293, 3295, 3295, 3296, 3296, 3297, 3298,
++     3299, 3300, 3300, 3297,    0, 3301, 3298, 3303, 3303, 3294,
++     3301, 3302, 3306, 3302, 3292, 3304, 3305, 3308, 3311, 3299,
++     3307, 3315, 3304, 3305, 3313, 3307, 3310, 3310, 3314, 3313,
++     3316, 3306, 3320, 3314, 3317, 3317, 3308, 3311, 3319, 3319,
++     3315, 3321, 3322, 3322, 3323, 3323, 3324, 3326, 3326, 3316,
++     3328, 3320, 3334, 3324, 3327, 3327, 3330, 3328, 3333, 3335,
++     3321, 3330,    0, 3333, 3336, 3336, 3337, 3337,    0,    0,
++        0, 3334,    0,    0,    0,    0,    0,    0, 3335, 3341,
++
++     3341, 3341, 3341, 3341, 3341, 3341, 3342, 3342, 3342, 3342,
++     3342, 3342, 3342, 3343, 3343, 3343, 3343, 3343, 3343, 3343,
++     3344, 3344, 3344, 3344, 3344, 3344, 3344, 3345, 3345, 3345,
++     3345, 3345, 3345, 3345, 3346, 3346, 3346, 3346, 3346, 3346,
++     3346, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3349, 3349,
++        0, 3349, 3349, 3349, 3349, 3350, 3350,    0,    0,    0,
++     3350, 3350, 3351, 3351,    0,    0, 3351,    0, 3351, 3352,
++        0,    0,    0,    0,    0, 3352, 3353, 3353,    0,    0,
++        0, 3353, 3353, 3354,    0,    0,    0,    0,    0, 3354,
++     3355, 3355,    0, 3355, 3355, 3355, 3355, 3356,    0,    0,
++
++        0,    0,    0, 3356, 3357, 3357,    0,    0,    0, 3357,
++     3357, 3358, 3358,    0, 3358, 3358, 3358, 3358, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340,
++     3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340, 3340
      } ;
  
  static yy_state_type yy_last_accepting_state;
@@@ -2993,18 -3143,18 +3173,18 @@@ static void config_end_include(void
          }
  #endif
  
- #line 2995 "<stdout>"
 -#line 3145 "<stdout>"
++#line 3175 "<stdout>"
  #define YY_NO_INPUT 1
- #line 184 "./util/configlexer.lex"
+ #line 191 "./util/configlexer.lex"
  #ifndef YY_NO_UNPUT
  #define YY_NO_UNPUT 1
  #endif
  #ifndef YY_NO_INPUT
  #define YY_NO_INPUT 1
  #endif
- #line 3004 "<stdout>"
 -#line 3154 "<stdout>"
++#line 3184 "<stdout>"
  
- #line 3006 "<stdout>"
 -#line 3156 "<stdout>"
++#line 3186 "<stdout>"
  
  #define INITIAL 0
  #define quotedstring 1
@@@ -3224,9 -3376,9 +3406,9 @@@ YY_DEC
                }
  
        {
- #line 204 "./util/configlexer.lex"
+ #line 211 "./util/configlexer.lex"
  
- #line 3228 "<stdout>"
 -#line 3380 "<stdout>"
++#line 3410 "<stdout>"
  
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@@ -3259,13 -3411,13 +3441,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 >= 3109 )
 -                              if ( yy_current_state >= 3296 )
++                              if ( yy_current_state >= 3341 )
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 6063 );
 -              while ( yy_base[yy_current_state] != 6437 );
++              while ( yy_base[yy_current_state] != 6519 );
  
  yy_find_action:
                yy_act = yy_accept[yy_current_state];
@@@ -4653,161 -4880,161 +4910,181 @@@ YY_RULE_SETU
  {
                YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
        YY_BREAK
- case 271:
+ case 286:
  YY_RULE_SETUP
- #line 489 "./util/configlexer.lex"
+ #line 511 "./util/configlexer.lex"
  { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
        YY_BREAK
- case 272:
+ case 287:
  YY_RULE_SETUP
- #line 490 "./util/configlexer.lex"
+ #line 512 "./util/configlexer.lex"
  { YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
        YY_BREAK
- case 273:
+ case 288:
  YY_RULE_SETUP
- #line 491 "./util/configlexer.lex"
+ #line 513 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
 +{ YDVAR(1, VAR_PAD_RESPONSES) }
        YY_BREAK
- case 274:
+ case 289:
  YY_RULE_SETUP
- #line 492 "./util/configlexer.lex"
+ #line 514 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
 +{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
        YY_BREAK
- case 275:
+ case 290:
  YY_RULE_SETUP
- #line 493 "./util/configlexer.lex"
+ #line 515 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_HOOK) }
 +{ YDVAR(1, VAR_PAD_QUERIES) }
        YY_BREAK
- case 276:
+ case 291:
  YY_RULE_SETUP
- #line 494 "./util/configlexer.lex"
+ #line 516 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
 +{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
        YY_BREAK
- case 277:
+ case 292:
  YY_RULE_SETUP
- #line 495 "./util/configlexer.lex"
+ #line 517 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
 +{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
        YY_BREAK
- case 278:
+ case 293:
  YY_RULE_SETUP
- #line 496 "./util/configlexer.lex"
+ #line 518 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
 +{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
        YY_BREAK
- case 279:
+ case 294:
  YY_RULE_SETUP
- #line 497 "./util/configlexer.lex"
+ #line 519 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSECMOD_STRICT) }
 +{ YDVAR(1, VAR_IPSECMOD_HOOK) }
        YY_BREAK
- case 280:
+ case 295:
  YY_RULE_SETUP
- #line 498 "./util/configlexer.lex"
+ #line 520 "./util/configlexer.lex"
 -{ YDVAR(0, VAR_CACHEDB) }
 +{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
        YY_BREAK
- case 281:
+ case 296:
  YY_RULE_SETUP
- #line 499 "./util/configlexer.lex"
+ #line 521 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_BACKEND) }
 +{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
        YY_BREAK
- case 282:
+ case 297:
  YY_RULE_SETUP
- #line 500 "./util/configlexer.lex"
+ #line 522 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
++{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
+       YY_BREAK
+ case 298:
+ YY_RULE_SETUP
+ #line 523 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
 +{ YDVAR(1, VAR_IPSECMOD_STRICT) }
        YY_BREAK
- case 283:
+ case 299:
  YY_RULE_SETUP
- #line 501 "./util/configlexer.lex"
+ #line 524 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
 +{ YDVAR(0, VAR_CACHEDB) }
        YY_BREAK
- case 284:
+ case 300:
  YY_RULE_SETUP
- #line 502 "./util/configlexer.lex"
+ #line 525 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
 +{ YDVAR(1, VAR_CACHEDB_BACKEND) }
        YY_BREAK
- case 285:
+ case 301:
  YY_RULE_SETUP
- #line 503 "./util/configlexer.lex"
+ #line 526 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
 +{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
        YY_BREAK
- case 286:
+ case 302:
  YY_RULE_SETUP
- #line 504 "./util/configlexer.lex"
+ #line 527 "./util/configlexer.lex"
 -{ YDVAR(0, VAR_IPSET) }
 +{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
        YY_BREAK
- case 287:
+ case 303:
  YY_RULE_SETUP
- #line 505 "./util/configlexer.lex"
+ #line 528 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSET_NAME_V4) }
 +{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
        YY_BREAK
- case 288:
+ case 304:
  YY_RULE_SETUP
- #line 506 "./util/configlexer.lex"
+ #line 529 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_IPSET_NAME_V6) }
 +{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
        YY_BREAK
- case 289:
+ case 305:
  YY_RULE_SETUP
- #line 507 "./util/configlexer.lex"
+ #line 530 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
 +{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
        YY_BREAK
- case 290:
+ case 306:
  YY_RULE_SETUP
- #line 508 "./util/configlexer.lex"
+ #line 531 "./util/configlexer.lex"
 -{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
 +{ YDVAR(0, VAR_IPSET) }
        YY_BREAK
- case 291:
+ case 307:
  YY_RULE_SETUP
- #line 509 "./util/configlexer.lex"
+ #line 532 "./util/configlexer.lex"
 -{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
 +{ YDVAR(1, VAR_IPSET_NAME_V4) }
        YY_BREAK
- case 292:
+ case 308:
  YY_RULE_SETUP
- #line 510 "./util/configlexer.lex"
+ #line 533 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
 +{ YDVAR(1, VAR_IPSET_NAME_V6) }
        YY_BREAK
- case 293:
+ case 309:
  YY_RULE_SETUP
- #line 511 "./util/configlexer.lex"
+ #line 534 "./util/configlexer.lex"
 -{ YDVAR(1, VAR_NSID ) }
 +{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
        YY_BREAK
- case 294:
+ case 310:
 -/* rule 310 can match eol */
  YY_RULE_SETUP
- #line 512 "./util/configlexer.lex"
+ #line 535 "./util/configlexer.lex"
 -{ LEXOUT(("NL\n")); cfg_parser->line++; }
 +{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
        YY_BREAK
- case 295:
- /* rule 295 can match eol */
 -/* Quoted strings. Strip leading and ending quotes */
+ case 311:
  YY_RULE_SETUP
- #line 513 "./util/configlexer.lex"
++#line 536 "./util/configlexer.lex"
++{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
++      YY_BREAK
++case 312:
++YY_RULE_SETUP
++#line 537 "./util/configlexer.lex"
++{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
++      YY_BREAK
++case 313:
++YY_RULE_SETUP
+ #line 538 "./util/configlexer.lex"
++{ YDVAR(1, VAR_NSID ) }
++      YY_BREAK
++case 314:
++/* rule 314 can match eol */
++YY_RULE_SETUP
++#line 539 "./util/configlexer.lex"
 +{ LEXOUT(("NL\n")); cfg_parser->line++; }
 +      YY_BREAK
 +/* Quoted strings. Strip leading and ending quotes */
- case 296:
++case 315:
 +YY_RULE_SETUP
- #line 516 "./util/configlexer.lex"
++#line 542 "./util/configlexer.lex"
  { BEGIN(quotedstring); LEXOUT(("QS ")); }
        YY_BREAK
  case YY_STATE_EOF(quotedstring):
- #line 517 "./util/configlexer.lex"
 -#line 539 "./util/configlexer.lex"
++#line 543 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
  }
        YY_BREAK
- case 297:
 -case 312:
++case 316:
  YY_RULE_SETUP
- #line 522 "./util/configlexer.lex"
 -#line 544 "./util/configlexer.lex"
++#line 548 "./util/configlexer.lex"
  { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 298:
- /* rule 298 can match eol */
 -case 313:
 -/* rule 313 can match eol */
++case 317:
++/* rule 317 can match eol */
  YY_RULE_SETUP
- #line 523 "./util/configlexer.lex"
 -#line 545 "./util/configlexer.lex"
++#line 549 "./util/configlexer.lex"
  { yyerror("newline inside quoted string, no end \""); 
                          cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
- case 299:
 -case 314:
++case 318:
  YY_RULE_SETUP
- #line 525 "./util/configlexer.lex"
 -#line 547 "./util/configlexer.lex"
++#line 551 "./util/configlexer.lex"
  {
          LEXOUT(("QE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
  }
        YY_BREAK
  /* Single Quoted strings. Strip leading and ending quotes */
- case 300:
 -case 315:
++case 319:
  YY_RULE_SETUP
- #line 537 "./util/configlexer.lex"
 -#line 559 "./util/configlexer.lex"
++#line 563 "./util/configlexer.lex"
  { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
        YY_BREAK
  case YY_STATE_EOF(singlequotedstr):
- #line 538 "./util/configlexer.lex"
 -#line 560 "./util/configlexer.lex"
++#line 564 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
        if(--num_args == 0) { BEGIN(INITIAL); }
        else                { BEGIN(val); }
  }
        YY_BREAK
- case 301:
 -case 316:
++case 320:
  YY_RULE_SETUP
- #line 543 "./util/configlexer.lex"
 -#line 565 "./util/configlexer.lex"
++#line 569 "./util/configlexer.lex"
  { LEXOUT(("STR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 302:
- /* rule 302 can match eol */
 -case 317:
 -/* rule 317 can match eol */
++case 321:
++/* rule 321 can match eol */
  YY_RULE_SETUP
- #line 544 "./util/configlexer.lex"
 -#line 566 "./util/configlexer.lex"
++#line 570 "./util/configlexer.lex"
  { yyerror("newline inside quoted string, no end '"); 
                             cfg_parser->line++; BEGIN(INITIAL); }
        YY_BREAK
- case 303:
 -case 318:
++case 322:
  YY_RULE_SETUP
- #line 546 "./util/configlexer.lex"
 -#line 568 "./util/configlexer.lex"
++#line 572 "./util/configlexer.lex"
  {
          LEXOUT(("SQE "));
        if(--num_args == 0) { BEGIN(INITIAL); }
  }
        YY_BREAK
  /* include: directive */
- case 304:
 -case 319:
++case 323:
  YY_RULE_SETUP
- #line 558 "./util/configlexer.lex"
 -#line 580 "./util/configlexer.lex"
++#line 584 "./util/configlexer.lex"
  { 
        LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
        YY_BREAK
  case YY_STATE_EOF(include):
- #line 560 "./util/configlexer.lex"
 -#line 582 "./util/configlexer.lex"
++#line 586 "./util/configlexer.lex"
  {
          yyerror("EOF inside include directive");
          BEGIN(inc_prev);
  }
        YY_BREAK
- case 305:
 -case 320:
++case 324:
  YY_RULE_SETUP
- #line 564 "./util/configlexer.lex"
 -#line 586 "./util/configlexer.lex"
++#line 590 "./util/configlexer.lex"
  { LEXOUT(("ISP ")); /* ignore */ }
        YY_BREAK
- case 306:
- /* rule 306 can match eol */
 -case 321:
 -/* rule 321 can match eol */
++case 325:
++/* rule 325 can match eol */
  YY_RULE_SETUP
- #line 565 "./util/configlexer.lex"
 -#line 587 "./util/configlexer.lex"
++#line 591 "./util/configlexer.lex"
  { LEXOUT(("NL\n")); cfg_parser->line++;}
        YY_BREAK
- case 307:
 -case 322:
++case 326:
  YY_RULE_SETUP
- #line 566 "./util/configlexer.lex"
 -#line 588 "./util/configlexer.lex"
++#line 592 "./util/configlexer.lex"
  { LEXOUT(("IQS ")); BEGIN(include_quoted); }
        YY_BREAK
- case 308:
 -case 323:
++case 327:
  YY_RULE_SETUP
- #line 567 "./util/configlexer.lex"
 -#line 589 "./util/configlexer.lex"
++#line 593 "./util/configlexer.lex"
  {
        LEXOUT(("Iunquotedstr(%s) ", yytext));
-       config_start_include_glob(yytext);
+       config_start_include_glob(yytext, 0);
        BEGIN(inc_prev);
  }
        YY_BREAK
  case YY_STATE_EOF(include_quoted):
- #line 572 "./util/configlexer.lex"
 -#line 594 "./util/configlexer.lex"
++#line 598 "./util/configlexer.lex"
  {
          yyerror("EOF inside quoted string");
          BEGIN(inc_prev);
  }
        YY_BREAK
- case 309:
 -case 324:
++case 328:
  YY_RULE_SETUP
- #line 576 "./util/configlexer.lex"
 -#line 598 "./util/configlexer.lex"
++#line 602 "./util/configlexer.lex"
  { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
        YY_BREAK
- case 310:
- /* rule 310 can match eol */
 -case 325:
 -/* rule 325 can match eol */
++case 329:
++/* rule 329 can match eol */
  YY_RULE_SETUP
- #line 577 "./util/configlexer.lex"
 -#line 599 "./util/configlexer.lex"
++#line 603 "./util/configlexer.lex"
  { yyerror("newline before \" in include name"); 
                                  cfg_parser->line++; BEGIN(inc_prev); }
        YY_BREAK
- case 311:
 -case 326:
++case 330:
  YY_RULE_SETUP
- #line 579 "./util/configlexer.lex"
 -#line 601 "./util/configlexer.lex"
++#line 605 "./util/configlexer.lex"
  {
        LEXOUT(("IQE "));
        yytext[yyleng - 1] = '\0';
        YY_BREAK
  case YY_STATE_EOF(INITIAL):
  case YY_STATE_EOF(val):
- #line 585 "./util/configlexer.lex"
 -#line 607 "./util/configlexer.lex"
++#line 611 "./util/configlexer.lex"
  {
        LEXOUT(("LEXEOF "));
        yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
        }
  }
        YY_BREAK
- case 312:
+ /* include-toplevel: directive */
 -case 327:
++case 331:
+ YY_RULE_SETUP
 -#line 621 "./util/configlexer.lex"
++#line 625 "./util/configlexer.lex"
+ {
+       LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
+ }
+       YY_BREAK
+ case YY_STATE_EOF(include_toplevel):
 -#line 624 "./util/configlexer.lex"
++#line 628 "./util/configlexer.lex"
+ {
+       yyerror("EOF inside include_toplevel directive");
+       BEGIN(inc_prev);
+ }
+       YY_BREAK
 -case 328:
++case 332:
+ YY_RULE_SETUP
 -#line 628 "./util/configlexer.lex"
++#line 632 "./util/configlexer.lex"
+ { LEXOUT(("ITSP ")); /* ignore */ }
+       YY_BREAK
 -case 329:
 -/* rule 329 can match eol */
++case 333:
++/* rule 333 can match eol */
+ YY_RULE_SETUP
 -#line 629 "./util/configlexer.lex"
++#line 633 "./util/configlexer.lex"
+ { LEXOUT(("NL\n")); cfg_parser->line++; }
+       YY_BREAK
 -case 330:
++case 334:
+ YY_RULE_SETUP
 -#line 630 "./util/configlexer.lex"
++#line 634 "./util/configlexer.lex"
+ { LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
+       YY_BREAK
 -case 331:
++case 335:
+ YY_RULE_SETUP
 -#line 631 "./util/configlexer.lex"
++#line 635 "./util/configlexer.lex"
+ {
+       LEXOUT(("ITunquotedstr(%s) ", yytext));
+       config_start_include_glob(yytext, 1);
+       BEGIN(inc_prev);
+       return (VAR_FORCE_TOPLEVEL);
+ }
+       YY_BREAK
+ case YY_STATE_EOF(include_toplevel_quoted):
 -#line 637 "./util/configlexer.lex"
++#line 641 "./util/configlexer.lex"
+ {
+       yyerror("EOF inside quoted string");
+       BEGIN(inc_prev);
+ }
+       YY_BREAK
 -case 332:
++case 336:
+ YY_RULE_SETUP
 -#line 641 "./util/configlexer.lex"
++#line 645 "./util/configlexer.lex"
+ { LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
+       YY_BREAK
 -case 333:
 -/* rule 333 can match eol */
++case 337:
++/* rule 337 can match eol */
+ YY_RULE_SETUP
 -#line 642 "./util/configlexer.lex"
++#line 646 "./util/configlexer.lex"
+ {
+       yyerror("newline before \" in include name");
+       cfg_parser->line++; BEGIN(inc_prev);
+ }
+       YY_BREAK
 -case 334:
++case 338:
+ YY_RULE_SETUP
 -#line 646 "./util/configlexer.lex"
++#line 650 "./util/configlexer.lex"
+ {
+       LEXOUT(("ITQE "));
+       yytext[yyleng - 1] = '\0';
+       config_start_include_glob(yytext, 1);
+       BEGIN(inc_prev);
+       return (VAR_FORCE_TOPLEVEL);
+ }
+       YY_BREAK
 -case 335:
++case 339:
  YY_RULE_SETUP
- #line 596 "./util/configlexer.lex"
 -#line 654 "./util/configlexer.lex"
++#line 658 "./util/configlexer.lex"
  { LEXOUT(("unquotedstr(%s) ", yytext)); 
                        if(--num_args == 0) { BEGIN(INITIAL); }
                        yylval.str = strdup(yytext); return STRING_ARG; }
        YY_BREAK
- case 313:
 -case 336:
++case 340:
  YY_RULE_SETUP
- #line 600 "./util/configlexer.lex"
 -#line 658 "./util/configlexer.lex"
++#line 662 "./util/configlexer.lex"
  {
        ub_c_error_msg("unknown keyword '%s'", yytext);
        }
        YY_BREAK
- case 314:
 -case 337:
++case 341:
  YY_RULE_SETUP
- #line 604 "./util/configlexer.lex"
 -#line 662 "./util/configlexer.lex"
++#line 666 "./util/configlexer.lex"
  {
        ub_c_error_msg("stray '%s'", yytext);
        }
        YY_BREAK
- case 315:
 -case 338:
++case 342:
  YY_RULE_SETUP
- #line 608 "./util/configlexer.lex"
 -#line 666 "./util/configlexer.lex"
++#line 670 "./util/configlexer.lex"
  ECHO;
        YY_BREAK
- #line 4969 "<stdout>"
 -#line 5271 "<stdout>"
++#line 5321 "<stdout>"
  
        case YY_END_OF_BUFFER:
                {
@@@ -5262,7 -5564,7 +5614,7 @@@ static int yy_get_next_buffer (void
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 3109 )
 -                      if ( yy_current_state >= 3296 )
++                      if ( yy_current_state >= 3341 )
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
        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 >= 3109 )
 -              if ( yy_current_state >= 3296 )
++              if ( yy_current_state >= 3341 )
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-       yy_is_jam = (yy_current_state == 3108);
 -      yy_is_jam = (yy_current_state == 3295);
++      yy_is_jam = (yy_current_state == 3340);
  
                return yy_is_jam ? 0 : yy_current_state;
  }
@@@ -5933,6 -6235,6 +6285,6 @@@ void yyfree (void * ptr 
  
  #define YYTABLES_NAME "yytables"
  
- #line 608 "./util/configlexer.lex"
 -#line 666 "./util/configlexer.lex"
++#line 670 "./util/configlexer.lex"
  
  
Simple merge
index 367c99dc5223f03ec4c5881d491e2a8a4c051a6b,f1d96b0eb275a23891d410ce80ec9e31f3dab862..8c81eaf3d65a739080baef98a71b1df8282cff9e
@@@ -44,1987 -95,2588 +95,2611 @@@ extern struct config_parser_state* cfg_
  #define OUTYY(s)
  #endif
  
- #line 66 "./util/configparser.y"
- #ifdef YYSTYPE
- #undef  YYSTYPE_IS_DECLARED
- #define YYSTYPE_IS_DECLARED 1
+ #line 100 "util/configparser.c"
+ # ifndef YY_CAST
+ #  ifdef __cplusplus
+ #   define YY_CAST(Type, Val) static_cast<Type> (Val)
+ #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+ #  else
+ #   define YY_CAST(Type, Val) ((Type) (Val))
+ #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+ #  endif
+ # endif
+ # ifndef YY_NULLPTR
+ #  if defined __cplusplus
+ #   if 201103L <= __cplusplus
+ #    define YY_NULLPTR nullptr
+ #   else
+ #    define YY_NULLPTR 0
+ #   endif
+ #  else
+ #   define YY_NULLPTR ((void*)0)
+ #  endif
+ # endif
+ #include "configparser.h"
+ /* Symbol kind.  */
+ enum yysymbol_kind_t
+ {
+   YYSYMBOL_YYEMPTY = -2,
+   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
+   YYSYMBOL_YYerror = 1,                    /* error  */
+   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
+   YYSYMBOL_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_EXTENDED_STATISTICS = 105,  /* VAR_EXTENDED_STATISTICS  */
+   YYSYMBOL_VAR_LOCAL_DATA_PTR = 106,       /* VAR_LOCAL_DATA_PTR  */
+   YYSYMBOL_VAR_JOSTLE_TIMEOUT = 107,       /* VAR_JOSTLE_TIMEOUT  */
+   YYSYMBOL_VAR_STUB_PRIME = 108,           /* VAR_STUB_PRIME  */
+   YYSYMBOL_VAR_UNWANTED_REPLY_THRESHOLD = 109, /* VAR_UNWANTED_REPLY_THRESHOLD  */
+   YYSYMBOL_VAR_LOG_TIME_ASCII = 110,       /* VAR_LOG_TIME_ASCII  */
+   YYSYMBOL_VAR_DOMAIN_INSECURE = 111,      /* VAR_DOMAIN_INSECURE  */
+   YYSYMBOL_VAR_PYTHON = 112,               /* VAR_PYTHON  */
+   YYSYMBOL_VAR_PYTHON_SCRIPT = 113,        /* VAR_PYTHON_SCRIPT  */
+   YYSYMBOL_VAR_VAL_SIG_SKEW_MIN = 114,     /* VAR_VAL_SIG_SKEW_MIN  */
+   YYSYMBOL_VAR_VAL_SIG_SKEW_MAX = 115,     /* VAR_VAL_SIG_SKEW_MAX  */
+   YYSYMBOL_VAR_CACHE_MIN_TTL = 116,        /* VAR_CACHE_MIN_TTL  */
+   YYSYMBOL_VAR_VAL_LOG_LEVEL = 117,        /* VAR_VAL_LOG_LEVEL  */
+   YYSYMBOL_VAR_AUTO_TRUST_ANCHOR_FILE = 118, /* VAR_AUTO_TRUST_ANCHOR_FILE  */
+   YYSYMBOL_VAR_KEEP_MISSING = 119,         /* VAR_KEEP_MISSING  */
+   YYSYMBOL_VAR_ADD_HOLDDOWN = 120,         /* VAR_ADD_HOLDDOWN  */
+   YYSYMBOL_VAR_DEL_HOLDDOWN = 121,         /* VAR_DEL_HOLDDOWN  */
+   YYSYMBOL_VAR_SO_RCVBUF = 122,            /* VAR_SO_RCVBUF  */
+   YYSYMBOL_VAR_EDNS_BUFFER_SIZE = 123,     /* VAR_EDNS_BUFFER_SIZE  */
+   YYSYMBOL_VAR_PREFETCH = 124,             /* VAR_PREFETCH  */
+   YYSYMBOL_VAR_PREFETCH_KEY = 125,         /* VAR_PREFETCH_KEY  */
+   YYSYMBOL_VAR_SO_SNDBUF = 126,            /* VAR_SO_SNDBUF  */
+   YYSYMBOL_VAR_SO_REUSEPORT = 127,         /* VAR_SO_REUSEPORT  */
+   YYSYMBOL_VAR_HARDEN_BELOW_NXDOMAIN = 128, /* VAR_HARDEN_BELOW_NXDOMAIN  */
+   YYSYMBOL_VAR_IGNORE_CD_FLAG = 129,       /* VAR_IGNORE_CD_FLAG  */
+   YYSYMBOL_VAR_LOG_QUERIES = 130,          /* VAR_LOG_QUERIES  */
+   YYSYMBOL_VAR_LOG_REPLIES = 131,          /* VAR_LOG_REPLIES  */
+   YYSYMBOL_VAR_LOG_LOCAL_ACTIONS = 132,    /* VAR_LOG_LOCAL_ACTIONS  */
+   YYSYMBOL_VAR_TCP_UPSTREAM = 133,         /* VAR_TCP_UPSTREAM  */
+   YYSYMBOL_VAR_SSL_UPSTREAM = 134,         /* VAR_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_SSL_SERVICE_KEY = 135,      /* VAR_SSL_SERVICE_KEY  */
+   YYSYMBOL_VAR_SSL_SERVICE_PEM = 136,      /* VAR_SSL_SERVICE_PEM  */
+   YYSYMBOL_VAR_SSL_PORT = 137,             /* VAR_SSL_PORT  */
+   YYSYMBOL_VAR_FORWARD_FIRST = 138,        /* VAR_FORWARD_FIRST  */
+   YYSYMBOL_VAR_STUB_SSL_UPSTREAM = 139,    /* VAR_STUB_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_FORWARD_SSL_UPSTREAM = 140, /* VAR_FORWARD_SSL_UPSTREAM  */
+   YYSYMBOL_VAR_TLS_CERT_BUNDLE = 141,      /* VAR_TLS_CERT_BUNDLE  */
+   YYSYMBOL_VAR_HTTPS_PORT = 142,           /* VAR_HTTPS_PORT  */
+   YYSYMBOL_VAR_HTTP_ENDPOINT = 143,        /* VAR_HTTP_ENDPOINT  */
+   YYSYMBOL_VAR_HTTP_MAX_STREAMS = 144,     /* VAR_HTTP_MAX_STREAMS  */
+   YYSYMBOL_VAR_HTTP_QUERY_BUFFER_SIZE = 145, /* VAR_HTTP_QUERY_BUFFER_SIZE  */
+   YYSYMBOL_VAR_HTTP_RESPONSE_BUFFER_SIZE = 146, /* VAR_HTTP_RESPONSE_BUFFER_SIZE  */
+   YYSYMBOL_VAR_HTTP_NODELAY = 147,         /* VAR_HTTP_NODELAY  */
+   YYSYMBOL_VAR_HTTP_NOTLS_DOWNSTREAM = 148, /* VAR_HTTP_NOTLS_DOWNSTREAM  */
+   YYSYMBOL_VAR_STUB_FIRST = 149,           /* VAR_STUB_FIRST  */
+   YYSYMBOL_VAR_MINIMAL_RESPONSES = 150,    /* VAR_MINIMAL_RESPONSES  */
+   YYSYMBOL_VAR_RRSET_ROUNDROBIN = 151,     /* VAR_RRSET_ROUNDROBIN  */
+   YYSYMBOL_VAR_MAX_UDP_SIZE = 152,         /* VAR_MAX_UDP_SIZE  */
+   YYSYMBOL_VAR_DELAY_CLOSE = 153,          /* VAR_DELAY_CLOSE  */
+   YYSYMBOL_VAR_UDP_CONNECT = 154,          /* VAR_UDP_CONNECT  */
+   YYSYMBOL_VAR_UNBLOCK_LAN_ZONES = 155,    /* VAR_UNBLOCK_LAN_ZONES  */
+   YYSYMBOL_VAR_INSECURE_LAN_ZONES = 156,   /* VAR_INSECURE_LAN_ZONES  */
+   YYSYMBOL_VAR_INFRA_CACHE_MIN_RTT = 157,  /* VAR_INFRA_CACHE_MIN_RTT  */
+   YYSYMBOL_VAR_INFRA_KEEP_PROBING = 158,   /* VAR_INFRA_KEEP_PROBING  */
+   YYSYMBOL_VAR_DNS64_PREFIX = 159,         /* VAR_DNS64_PREFIX  */
+   YYSYMBOL_VAR_DNS64_SYNTHALL = 160,       /* VAR_DNS64_SYNTHALL  */
+   YYSYMBOL_VAR_DNS64_IGNORE_AAAA = 161,    /* VAR_DNS64_IGNORE_AAAA  */
+   YYSYMBOL_VAR_DNSTAP = 162,               /* VAR_DNSTAP  */
+   YYSYMBOL_VAR_DNSTAP_ENABLE = 163,        /* VAR_DNSTAP_ENABLE  */
+   YYSYMBOL_VAR_DNSTAP_SOCKET_PATH = 164,   /* VAR_DNSTAP_SOCKET_PATH  */
+   YYSYMBOL_VAR_DNSTAP_IP = 165,            /* VAR_DNSTAP_IP  */
+   YYSYMBOL_VAR_DNSTAP_TLS = 166,           /* VAR_DNSTAP_TLS  */
+   YYSYMBOL_VAR_DNSTAP_TLS_SERVER_NAME = 167, /* VAR_DNSTAP_TLS_SERVER_NAME  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CERT_BUNDLE = 168, /* VAR_DNSTAP_TLS_CERT_BUNDLE  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 169, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE  */
+   YYSYMBOL_VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 170, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE  */
+   YYSYMBOL_VAR_DNSTAP_SEND_IDENTITY = 171, /* VAR_DNSTAP_SEND_IDENTITY  */
+   YYSYMBOL_VAR_DNSTAP_SEND_VERSION = 172,  /* VAR_DNSTAP_SEND_VERSION  */
+   YYSYMBOL_VAR_DNSTAP_BIDIRECTIONAL = 173, /* VAR_DNSTAP_BIDIRECTIONAL  */
+   YYSYMBOL_VAR_DNSTAP_IDENTITY = 174,      /* VAR_DNSTAP_IDENTITY  */
+   YYSYMBOL_VAR_DNSTAP_VERSION = 175,       /* VAR_DNSTAP_VERSION  */
+   YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 176, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 177, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 178, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 179, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 180, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES  */
+   YYSYMBOL_VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 181, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES  */
+   YYSYMBOL_VAR_RESPONSE_IP_TAG = 182,      /* VAR_RESPONSE_IP_TAG  */
+   YYSYMBOL_VAR_RESPONSE_IP = 183,          /* VAR_RESPONSE_IP  */
+   YYSYMBOL_VAR_RESPONSE_IP_DATA = 184,     /* VAR_RESPONSE_IP_DATA  */
+   YYSYMBOL_VAR_HARDEN_ALGO_DOWNGRADE = 185, /* VAR_HARDEN_ALGO_DOWNGRADE  */
+   YYSYMBOL_VAR_IP_TRANSPARENT = 186,       /* VAR_IP_TRANSPARENT  */
+   YYSYMBOL_VAR_IP_DSCP = 187,              /* VAR_IP_DSCP  */
+   YYSYMBOL_VAR_DISABLE_DNSSEC_LAME_CHECK = 188, /* VAR_DISABLE_DNSSEC_LAME_CHECK  */
+   YYSYMBOL_VAR_IP_RATELIMIT = 189,         /* VAR_IP_RATELIMIT  */
+   YYSYMBOL_VAR_IP_RATELIMIT_SLABS = 190,   /* VAR_IP_RATELIMIT_SLABS  */
+   YYSYMBOL_VAR_IP_RATELIMIT_SIZE = 191,    /* VAR_IP_RATELIMIT_SIZE  */
+   YYSYMBOL_VAR_RATELIMIT = 192,            /* VAR_RATELIMIT  */
+   YYSYMBOL_VAR_RATELIMIT_SLABS = 193,      /* VAR_RATELIMIT_SLABS  */
+   YYSYMBOL_VAR_RATELIMIT_SIZE = 194,       /* VAR_RATELIMIT_SIZE  */
+   YYSYMBOL_VAR_RATELIMIT_FOR_DOMAIN = 195, /* VAR_RATELIMIT_FOR_DOMAIN  */
+   YYSYMBOL_VAR_RATELIMIT_BELOW_DOMAIN = 196, /* VAR_RATELIMIT_BELOW_DOMAIN  */
+   YYSYMBOL_VAR_IP_RATELIMIT_FACTOR = 197,  /* VAR_IP_RATELIMIT_FACTOR  */
+   YYSYMBOL_VAR_RATELIMIT_FACTOR = 198,     /* VAR_RATELIMIT_FACTOR  */
+   YYSYMBOL_VAR_SEND_CLIENT_SUBNET = 199,   /* VAR_SEND_CLIENT_SUBNET  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_ZONE = 200,   /* VAR_CLIENT_SUBNET_ZONE  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 201, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD  */
+   YYSYMBOL_VAR_CLIENT_SUBNET_OPCODE = 202, /* VAR_CLIENT_SUBNET_OPCODE  */
+   YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV4 = 203, /* VAR_MAX_CLIENT_SUBNET_IPV4  */
+   YYSYMBOL_VAR_MAX_CLIENT_SUBNET_IPV6 = 204, /* VAR_MAX_CLIENT_SUBNET_IPV6  */
+   YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV4 = 205, /* VAR_MIN_CLIENT_SUBNET_IPV4  */
+   YYSYMBOL_VAR_MIN_CLIENT_SUBNET_IPV6 = 206, /* VAR_MIN_CLIENT_SUBNET_IPV6  */
+   YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV4 = 207, /* VAR_MAX_ECS_TREE_SIZE_IPV4  */
+   YYSYMBOL_VAR_MAX_ECS_TREE_SIZE_IPV6 = 208, /* VAR_MAX_ECS_TREE_SIZE_IPV6  */
+   YYSYMBOL_VAR_CAPS_WHITELIST = 209,       /* VAR_CAPS_WHITELIST  */
+   YYSYMBOL_VAR_CACHE_MAX_NEGATIVE_TTL = 210, /* VAR_CACHE_MAX_NEGATIVE_TTL  */
+   YYSYMBOL_VAR_PERMIT_SMALL_HOLDDOWN = 211, /* VAR_PERMIT_SMALL_HOLDDOWN  */
+   YYSYMBOL_VAR_QNAME_MINIMISATION = 212,   /* VAR_QNAME_MINIMISATION  */
+   YYSYMBOL_VAR_QNAME_MINIMISATION_STRICT = 213, /* VAR_QNAME_MINIMISATION_STRICT  */
+   YYSYMBOL_VAR_IP_FREEBIND = 214,          /* VAR_IP_FREEBIND  */
+   YYSYMBOL_VAR_DEFINE_TAG = 215,           /* VAR_DEFINE_TAG  */
+   YYSYMBOL_VAR_LOCAL_ZONE_TAG = 216,       /* VAR_LOCAL_ZONE_TAG  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG = 217,   /* VAR_ACCESS_CONTROL_TAG  */
+   YYSYMBOL_VAR_LOCAL_ZONE_OVERRIDE = 218,  /* VAR_LOCAL_ZONE_OVERRIDE  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG_ACTION = 219, /* VAR_ACCESS_CONTROL_TAG_ACTION  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_TAG_DATA = 220, /* VAR_ACCESS_CONTROL_TAG_DATA  */
+   YYSYMBOL_VAR_VIEW = 221,                 /* VAR_VIEW  */
+   YYSYMBOL_VAR_ACCESS_CONTROL_VIEW = 222,  /* VAR_ACCESS_CONTROL_VIEW  */
+   YYSYMBOL_VAR_VIEW_FIRST = 223,           /* VAR_VIEW_FIRST  */
+   YYSYMBOL_VAR_SERVE_EXPIRED = 224,        /* VAR_SERVE_EXPIRED  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_TTL = 225,    /* VAR_SERVE_EXPIRED_TTL  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_TTL_RESET = 226, /* VAR_SERVE_EXPIRED_TTL_RESET  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_REPLY_TTL = 227, /* VAR_SERVE_EXPIRED_REPLY_TTL  */
+   YYSYMBOL_VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 228, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT  */
+   YYSYMBOL_VAR_FAKE_DSA = 229,             /* VAR_FAKE_DSA  */
+   YYSYMBOL_VAR_FAKE_SHA1 = 230,            /* VAR_FAKE_SHA1  */
+   YYSYMBOL_VAR_LOG_IDENTITY = 231,         /* VAR_LOG_IDENTITY  */
+   YYSYMBOL_VAR_HIDE_TRUSTANCHOR = 232,     /* VAR_HIDE_TRUSTANCHOR  */
+   YYSYMBOL_VAR_TRUST_ANCHOR_SIGNALING = 233, /* VAR_TRUST_ANCHOR_SIGNALING  */
+   YYSYMBOL_VAR_AGGRESSIVE_NSEC = 234,      /* VAR_AGGRESSIVE_NSEC  */
+   YYSYMBOL_VAR_USE_SYSTEMD = 235,          /* VAR_USE_SYSTEMD  */
+   YYSYMBOL_VAR_SHM_ENABLE = 236,           /* VAR_SHM_ENABLE  */
+   YYSYMBOL_VAR_SHM_KEY = 237,              /* VAR_SHM_KEY  */
+   YYSYMBOL_VAR_ROOT_KEY_SENTINEL = 238,    /* VAR_ROOT_KEY_SENTINEL  */
+   YYSYMBOL_VAR_DNSCRYPT = 239,             /* VAR_DNSCRYPT  */
+   YYSYMBOL_VAR_DNSCRYPT_ENABLE = 240,      /* VAR_DNSCRYPT_ENABLE  */
+   YYSYMBOL_VAR_DNSCRYPT_PORT = 241,        /* VAR_DNSCRYPT_PORT  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER = 242,    /* VAR_DNSCRYPT_PROVIDER  */
+   YYSYMBOL_VAR_DNSCRYPT_SECRET_KEY = 243,  /* VAR_DNSCRYPT_SECRET_KEY  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT = 244, /* VAR_DNSCRYPT_PROVIDER_CERT  */
+   YYSYMBOL_VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 245, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED  */
+   YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 246, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE  */
+   YYSYMBOL_VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 247, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS  */
+   YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SIZE = 248, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE  */
+   YYSYMBOL_VAR_DNSCRYPT_NONCE_CACHE_SLABS = 249, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS  */
 -  YYSYMBOL_VAR_IPSECMOD_ENABLED = 250,     /* VAR_IPSECMOD_ENABLED  */
 -  YYSYMBOL_VAR_IPSECMOD_HOOK = 251,        /* VAR_IPSECMOD_HOOK  */
 -  YYSYMBOL_VAR_IPSECMOD_IGNORE_BOGUS = 252, /* VAR_IPSECMOD_IGNORE_BOGUS  */
 -  YYSYMBOL_VAR_IPSECMOD_MAX_TTL = 253,     /* VAR_IPSECMOD_MAX_TTL  */
 -  YYSYMBOL_VAR_IPSECMOD_WHITELIST = 254,   /* VAR_IPSECMOD_WHITELIST  */
 -  YYSYMBOL_VAR_IPSECMOD_STRICT = 255,      /* VAR_IPSECMOD_STRICT  */
 -  YYSYMBOL_VAR_CACHEDB = 256,              /* VAR_CACHEDB  */
 -  YYSYMBOL_VAR_CACHEDB_BACKEND = 257,      /* VAR_CACHEDB_BACKEND  */
 -  YYSYMBOL_VAR_CACHEDB_SECRETSEED = 258,   /* VAR_CACHEDB_SECRETSEED  */
 -  YYSYMBOL_VAR_CACHEDB_REDISHOST = 259,    /* VAR_CACHEDB_REDISHOST  */
 -  YYSYMBOL_VAR_CACHEDB_REDISPORT = 260,    /* VAR_CACHEDB_REDISPORT  */
 -  YYSYMBOL_VAR_CACHEDB_REDISTIMEOUT = 261, /* VAR_CACHEDB_REDISTIMEOUT  */
 -  YYSYMBOL_VAR_CACHEDB_REDISEXPIRERECORDS = 262, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
 -  YYSYMBOL_VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 263, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
 -  YYSYMBOL_VAR_FOR_UPSTREAM = 264,         /* VAR_FOR_UPSTREAM  */
 -  YYSYMBOL_VAR_AUTH_ZONE = 265,            /* VAR_AUTH_ZONE  */
 -  YYSYMBOL_VAR_ZONEFILE = 266,             /* VAR_ZONEFILE  */
 -  YYSYMBOL_VAR_MASTER = 267,               /* VAR_MASTER  */
 -  YYSYMBOL_VAR_URL = 268,                  /* VAR_URL  */
 -  YYSYMBOL_VAR_FOR_DOWNSTREAM = 269,       /* VAR_FOR_DOWNSTREAM  */
 -  YYSYMBOL_VAR_FALLBACK_ENABLED = 270,     /* VAR_FALLBACK_ENABLED  */
 -  YYSYMBOL_VAR_TLS_ADDITIONAL_PORT = 271,  /* VAR_TLS_ADDITIONAL_PORT  */
 -  YYSYMBOL_VAR_LOW_RTT = 272,              /* VAR_LOW_RTT  */
 -  YYSYMBOL_VAR_LOW_RTT_PERMIL = 273,       /* VAR_LOW_RTT_PERMIL  */
 -  YYSYMBOL_VAR_FAST_SERVER_PERMIL = 274,   /* VAR_FAST_SERVER_PERMIL  */
 -  YYSYMBOL_VAR_FAST_SERVER_NUM = 275,      /* VAR_FAST_SERVER_NUM  */
 -  YYSYMBOL_VAR_ALLOW_NOTIFY = 276,         /* VAR_ALLOW_NOTIFY  */
 -  YYSYMBOL_VAR_TLS_WIN_CERT = 277,         /* VAR_TLS_WIN_CERT  */
 -  YYSYMBOL_VAR_TCP_CONNECTION_LIMIT = 278, /* VAR_TCP_CONNECTION_LIMIT  */
 -  YYSYMBOL_VAR_FORWARD_NO_CACHE = 279,     /* VAR_FORWARD_NO_CACHE  */
 -  YYSYMBOL_VAR_STUB_NO_CACHE = 280,        /* VAR_STUB_NO_CACHE  */
 -  YYSYMBOL_VAR_LOG_SERVFAIL = 281,         /* VAR_LOG_SERVFAIL  */
 -  YYSYMBOL_VAR_DENY_ANY = 282,             /* VAR_DENY_ANY  */
 -  YYSYMBOL_VAR_UNKNOWN_SERVER_TIME_LIMIT = 283, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
 -  YYSYMBOL_VAR_LOG_TAG_QUERYREPLY = 284,   /* VAR_LOG_TAG_QUERYREPLY  */
 -  YYSYMBOL_VAR_STREAM_WAIT_SIZE = 285,     /* VAR_STREAM_WAIT_SIZE  */
 -  YYSYMBOL_VAR_TLS_CIPHERS = 286,          /* VAR_TLS_CIPHERS  */
 -  YYSYMBOL_VAR_TLS_CIPHERSUITES = 287,     /* VAR_TLS_CIPHERSUITES  */
 -  YYSYMBOL_VAR_TLS_USE_SNI = 288,          /* VAR_TLS_USE_SNI  */
 -  YYSYMBOL_VAR_IPSET = 289,                /* VAR_IPSET  */
 -  YYSYMBOL_VAR_IPSET_NAME_V4 = 290,        /* VAR_IPSET_NAME_V4  */
 -  YYSYMBOL_VAR_IPSET_NAME_V6 = 291,        /* VAR_IPSET_NAME_V6  */
 -  YYSYMBOL_VAR_TLS_SESSION_TICKET_KEYS = 292, /* VAR_TLS_SESSION_TICKET_KEYS  */
 -  YYSYMBOL_VAR_RPZ = 293,                  /* VAR_RPZ  */
 -  YYSYMBOL_VAR_TAGS = 294,                 /* VAR_TAGS  */
 -  YYSYMBOL_VAR_RPZ_ACTION_OVERRIDE = 295,  /* VAR_RPZ_ACTION_OVERRIDE  */
 -  YYSYMBOL_VAR_RPZ_CNAME_OVERRIDE = 296,   /* VAR_RPZ_CNAME_OVERRIDE  */
 -  YYSYMBOL_VAR_RPZ_LOG = 297,              /* VAR_RPZ_LOG  */
 -  YYSYMBOL_VAR_RPZ_LOG_NAME = 298,         /* VAR_RPZ_LOG_NAME  */
 -  YYSYMBOL_VAR_DYNLIB = 299,               /* VAR_DYNLIB  */
 -  YYSYMBOL_VAR_DYNLIB_FILE = 300,          /* VAR_DYNLIB_FILE  */
 -  YYSYMBOL_VAR_EDNS_CLIENT_STRING = 301,   /* VAR_EDNS_CLIENT_STRING  */
 -  YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 302, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
 -  YYSYMBOL_VAR_NSID = 303,                 /* VAR_NSID  */
 -  YYSYMBOL_YYACCEPT = 304,                 /* $accept  */
 -  YYSYMBOL_toplevelvars = 305,             /* toplevelvars  */
 -  YYSYMBOL_toplevelvar = 306,              /* toplevelvar  */
 -  YYSYMBOL_force_toplevel = 307,           /* force_toplevel  */
 -  YYSYMBOL_serverstart = 308,              /* serverstart  */
 -  YYSYMBOL_contents_server = 309,          /* contents_server  */
 -  YYSYMBOL_content_server = 310,           /* content_server  */
 -  YYSYMBOL_stubstart = 311,                /* stubstart  */
 -  YYSYMBOL_contents_stub = 312,            /* contents_stub  */
 -  YYSYMBOL_content_stub = 313,             /* content_stub  */
 -  YYSYMBOL_forwardstart = 314,             /* forwardstart  */
 -  YYSYMBOL_contents_forward = 315,         /* contents_forward  */
 -  YYSYMBOL_content_forward = 316,          /* content_forward  */
 -  YYSYMBOL_viewstart = 317,                /* viewstart  */
 -  YYSYMBOL_contents_view = 318,            /* contents_view  */
 -  YYSYMBOL_content_view = 319,             /* content_view  */
 -  YYSYMBOL_authstart = 320,                /* authstart  */
 -  YYSYMBOL_contents_auth = 321,            /* contents_auth  */
 -  YYSYMBOL_content_auth = 322,             /* content_auth  */
 -  YYSYMBOL_rpz_tag = 323,                  /* rpz_tag  */
 -  YYSYMBOL_rpz_action_override = 324,      /* rpz_action_override  */
 -  YYSYMBOL_rpz_cname_override = 325,       /* rpz_cname_override  */
 -  YYSYMBOL_rpz_log = 326,                  /* rpz_log  */
 -  YYSYMBOL_rpz_log_name = 327,             /* rpz_log_name  */
 -  YYSYMBOL_rpzstart = 328,                 /* rpzstart  */
 -  YYSYMBOL_contents_rpz = 329,             /* contents_rpz  */
 -  YYSYMBOL_content_rpz = 330,              /* content_rpz  */
 -  YYSYMBOL_server_num_threads = 331,       /* server_num_threads  */
 -  YYSYMBOL_server_verbosity = 332,         /* server_verbosity  */
 -  YYSYMBOL_server_statistics_interval = 333, /* server_statistics_interval  */
 -  YYSYMBOL_server_statistics_cumulative = 334, /* server_statistics_cumulative  */
 -  YYSYMBOL_server_extended_statistics = 335, /* server_extended_statistics  */
 -  YYSYMBOL_server_shm_enable = 336,        /* server_shm_enable  */
 -  YYSYMBOL_server_shm_key = 337,           /* server_shm_key  */
 -  YYSYMBOL_server_port = 338,              /* server_port  */
 -  YYSYMBOL_server_send_client_subnet = 339, /* server_send_client_subnet  */
 -  YYSYMBOL_server_client_subnet_zone = 340, /* server_client_subnet_zone  */
 -  YYSYMBOL_server_client_subnet_always_forward = 341, /* server_client_subnet_always_forward  */
 -  YYSYMBOL_server_client_subnet_opcode = 342, /* server_client_subnet_opcode  */
 -  YYSYMBOL_server_max_client_subnet_ipv4 = 343, /* server_max_client_subnet_ipv4  */
 -  YYSYMBOL_server_max_client_subnet_ipv6 = 344, /* server_max_client_subnet_ipv6  */
 -  YYSYMBOL_server_min_client_subnet_ipv4 = 345, /* server_min_client_subnet_ipv4  */
 -  YYSYMBOL_server_min_client_subnet_ipv6 = 346, /* server_min_client_subnet_ipv6  */
 -  YYSYMBOL_server_max_ecs_tree_size_ipv4 = 347, /* server_max_ecs_tree_size_ipv4  */
 -  YYSYMBOL_server_max_ecs_tree_size_ipv6 = 348, /* server_max_ecs_tree_size_ipv6  */
 -  YYSYMBOL_server_interface = 349,         /* server_interface  */
 -  YYSYMBOL_server_outgoing_interface = 350, /* server_outgoing_interface  */
 -  YYSYMBOL_server_outgoing_range = 351,    /* server_outgoing_range  */
 -  YYSYMBOL_server_outgoing_port_permit = 352, /* server_outgoing_port_permit  */
 -  YYSYMBOL_server_outgoing_port_avoid = 353, /* server_outgoing_port_avoid  */
 -  YYSYMBOL_server_outgoing_num_tcp = 354,  /* server_outgoing_num_tcp  */
 -  YYSYMBOL_server_incoming_num_tcp = 355,  /* server_incoming_num_tcp  */
 -  YYSYMBOL_server_interface_automatic = 356, /* server_interface_automatic  */
 -  YYSYMBOL_server_do_ip4 = 357,            /* server_do_ip4  */
 -  YYSYMBOL_server_do_ip6 = 358,            /* server_do_ip6  */
 -  YYSYMBOL_server_do_udp = 359,            /* server_do_udp  */
 -  YYSYMBOL_server_do_tcp = 360,            /* server_do_tcp  */
 -  YYSYMBOL_server_prefer_ip4 = 361,        /* server_prefer_ip4  */
 -  YYSYMBOL_server_prefer_ip6 = 362,        /* server_prefer_ip6  */
 -  YYSYMBOL_server_tcp_mss = 363,           /* server_tcp_mss  */
 -  YYSYMBOL_server_outgoing_tcp_mss = 364,  /* server_outgoing_tcp_mss  */
 -  YYSYMBOL_server_tcp_idle_timeout = 365,  /* server_tcp_idle_timeout  */
 -  YYSYMBOL_server_tcp_keepalive = 366,     /* server_tcp_keepalive  */
 -  YYSYMBOL_server_tcp_keepalive_timeout = 367, /* server_tcp_keepalive_timeout  */
 -  YYSYMBOL_server_tcp_upstream = 368,      /* server_tcp_upstream  */
 -  YYSYMBOL_server_udp_upstream_without_downstream = 369, /* server_udp_upstream_without_downstream  */
 -  YYSYMBOL_server_ssl_upstream = 370,      /* server_ssl_upstream  */
 -  YYSYMBOL_server_ssl_service_key = 371,   /* server_ssl_service_key  */
 -  YYSYMBOL_server_ssl_service_pem = 372,   /* server_ssl_service_pem  */
 -  YYSYMBOL_server_ssl_port = 373,          /* server_ssl_port  */
 -  YYSYMBOL_server_tls_cert_bundle = 374,   /* server_tls_cert_bundle  */
 -  YYSYMBOL_server_tls_win_cert = 375,      /* server_tls_win_cert  */
 -  YYSYMBOL_server_tls_additional_port = 376, /* server_tls_additional_port  */
 -  YYSYMBOL_server_tls_ciphers = 377,       /* server_tls_ciphers  */
 -  YYSYMBOL_server_tls_ciphersuites = 378,  /* server_tls_ciphersuites  */
 -  YYSYMBOL_server_tls_session_ticket_keys = 379, /* server_tls_session_ticket_keys  */
 -  YYSYMBOL_server_tls_use_sni = 380,       /* server_tls_use_sni  */
 -  YYSYMBOL_server_https_port = 381,        /* server_https_port  */
 -  YYSYMBOL_server_http_endpoint = 382,     /* server_http_endpoint  */
 -  YYSYMBOL_server_http_max_streams = 383,  /* server_http_max_streams  */
 -  YYSYMBOL_server_http_query_buffer_size = 384, /* server_http_query_buffer_size  */
 -  YYSYMBOL_server_http_response_buffer_size = 385, /* server_http_response_buffer_size  */
 -  YYSYMBOL_server_http_nodelay = 386,      /* server_http_nodelay  */
 -  YYSYMBOL_server_http_notls_downstream = 387, /* server_http_notls_downstream  */
 -  YYSYMBOL_server_use_systemd = 388,       /* server_use_systemd  */
 -  YYSYMBOL_server_do_daemonize = 389,      /* server_do_daemonize  */
 -  YYSYMBOL_server_use_syslog = 390,        /* server_use_syslog  */
 -  YYSYMBOL_server_log_time_ascii = 391,    /* server_log_time_ascii  */
 -  YYSYMBOL_server_log_queries = 392,       /* server_log_queries  */
 -  YYSYMBOL_server_log_replies = 393,       /* server_log_replies  */
 -  YYSYMBOL_server_log_tag_queryreply = 394, /* server_log_tag_queryreply  */
 -  YYSYMBOL_server_log_servfail = 395,      /* server_log_servfail  */
 -  YYSYMBOL_server_log_local_actions = 396, /* server_log_local_actions  */
 -  YYSYMBOL_server_chroot = 397,            /* server_chroot  */
 -  YYSYMBOL_server_username = 398,          /* server_username  */
 -  YYSYMBOL_server_directory = 399,         /* server_directory  */
 -  YYSYMBOL_server_logfile = 400,           /* server_logfile  */
 -  YYSYMBOL_server_pidfile = 401,           /* server_pidfile  */
 -  YYSYMBOL_server_root_hints = 402,        /* server_root_hints  */
 -  YYSYMBOL_server_dlv_anchor_file = 403,   /* server_dlv_anchor_file  */
 -  YYSYMBOL_server_dlv_anchor = 404,        /* server_dlv_anchor  */
 -  YYSYMBOL_server_auto_trust_anchor_file = 405, /* server_auto_trust_anchor_file  */
 -  YYSYMBOL_server_trust_anchor_file = 406, /* server_trust_anchor_file  */
 -  YYSYMBOL_server_trusted_keys_file = 407, /* server_trusted_keys_file  */
 -  YYSYMBOL_server_trust_anchor = 408,      /* server_trust_anchor  */
 -  YYSYMBOL_server_trust_anchor_signaling = 409, /* server_trust_anchor_signaling  */
 -  YYSYMBOL_server_root_key_sentinel = 410, /* server_root_key_sentinel  */
 -  YYSYMBOL_server_domain_insecure = 411,   /* server_domain_insecure  */
 -  YYSYMBOL_server_hide_identity = 412,     /* server_hide_identity  */
 -  YYSYMBOL_server_hide_version = 413,      /* server_hide_version  */
 -  YYSYMBOL_server_hide_trustanchor = 414,  /* server_hide_trustanchor  */
 -  YYSYMBOL_server_identity = 415,          /* server_identity  */
 -  YYSYMBOL_server_version = 416,           /* server_version  */
 -  YYSYMBOL_server_nsid = 417,              /* server_nsid  */
 -  YYSYMBOL_server_so_rcvbuf = 418,         /* server_so_rcvbuf  */
 -  YYSYMBOL_server_so_sndbuf = 419,         /* server_so_sndbuf  */
 -  YYSYMBOL_server_so_reuseport = 420,      /* server_so_reuseport  */
 -  YYSYMBOL_server_ip_transparent = 421,    /* server_ip_transparent  */
 -  YYSYMBOL_server_ip_freebind = 422,       /* server_ip_freebind  */
 -  YYSYMBOL_server_ip_dscp = 423,           /* server_ip_dscp  */
 -  YYSYMBOL_server_stream_wait_size = 424,  /* server_stream_wait_size  */
 -  YYSYMBOL_server_edns_buffer_size = 425,  /* server_edns_buffer_size  */
 -  YYSYMBOL_server_msg_buffer_size = 426,   /* server_msg_buffer_size  */
 -  YYSYMBOL_server_msg_cache_size = 427,    /* server_msg_cache_size  */
 -  YYSYMBOL_server_msg_cache_slabs = 428,   /* server_msg_cache_slabs  */
 -  YYSYMBOL_server_num_queries_per_thread = 429, /* server_num_queries_per_thread  */
 -  YYSYMBOL_server_jostle_timeout = 430,    /* server_jostle_timeout  */
 -  YYSYMBOL_server_delay_close = 431,       /* server_delay_close  */
 -  YYSYMBOL_server_udp_connect = 432,       /* server_udp_connect  */
 -  YYSYMBOL_server_unblock_lan_zones = 433, /* server_unblock_lan_zones  */
 -  YYSYMBOL_server_insecure_lan_zones = 434, /* server_insecure_lan_zones  */
 -  YYSYMBOL_server_rrset_cache_size = 435,  /* server_rrset_cache_size  */
 -  YYSYMBOL_server_rrset_cache_slabs = 436, /* server_rrset_cache_slabs  */
 -  YYSYMBOL_server_infra_host_ttl = 437,    /* server_infra_host_ttl  */
 -  YYSYMBOL_server_infra_lame_ttl = 438,    /* server_infra_lame_ttl  */
 -  YYSYMBOL_server_infra_cache_numhosts = 439, /* server_infra_cache_numhosts  */
 -  YYSYMBOL_server_infra_cache_lame_size = 440, /* server_infra_cache_lame_size  */
 -  YYSYMBOL_server_infra_cache_slabs = 441, /* server_infra_cache_slabs  */
 -  YYSYMBOL_server_infra_cache_min_rtt = 442, /* server_infra_cache_min_rtt  */
 -  YYSYMBOL_server_infra_keep_probing = 443, /* server_infra_keep_probing  */
 -  YYSYMBOL_server_target_fetch_policy = 444, /* server_target_fetch_policy  */
 -  YYSYMBOL_server_harden_short_bufsize = 445, /* server_harden_short_bufsize  */
 -  YYSYMBOL_server_harden_large_queries = 446, /* server_harden_large_queries  */
 -  YYSYMBOL_server_harden_glue = 447,       /* server_harden_glue  */
 -  YYSYMBOL_server_harden_dnssec_stripped = 448, /* server_harden_dnssec_stripped  */
 -  YYSYMBOL_server_harden_below_nxdomain = 449, /* server_harden_below_nxdomain  */
 -  YYSYMBOL_server_harden_referral_path = 450, /* server_harden_referral_path  */
 -  YYSYMBOL_server_harden_algo_downgrade = 451, /* server_harden_algo_downgrade  */
 -  YYSYMBOL_server_use_caps_for_id = 452,   /* server_use_caps_for_id  */
 -  YYSYMBOL_server_caps_whitelist = 453,    /* server_caps_whitelist  */
 -  YYSYMBOL_server_private_address = 454,   /* server_private_address  */
 -  YYSYMBOL_server_private_domain = 455,    /* server_private_domain  */
 -  YYSYMBOL_server_prefetch = 456,          /* server_prefetch  */
 -  YYSYMBOL_server_prefetch_key = 457,      /* server_prefetch_key  */
 -  YYSYMBOL_server_deny_any = 458,          /* server_deny_any  */
 -  YYSYMBOL_server_unwanted_reply_threshold = 459, /* server_unwanted_reply_threshold  */
 -  YYSYMBOL_server_do_not_query_address = 460, /* server_do_not_query_address  */
 -  YYSYMBOL_server_do_not_query_localhost = 461, /* server_do_not_query_localhost  */
 -  YYSYMBOL_server_access_control = 462,    /* server_access_control  */
 -  YYSYMBOL_server_module_conf = 463,       /* server_module_conf  */
 -  YYSYMBOL_server_val_override_date = 464, /* server_val_override_date  */
 -  YYSYMBOL_server_val_sig_skew_min = 465,  /* server_val_sig_skew_min  */
 -  YYSYMBOL_server_val_sig_skew_max = 466,  /* server_val_sig_skew_max  */
 -  YYSYMBOL_server_cache_max_ttl = 467,     /* server_cache_max_ttl  */
 -  YYSYMBOL_server_cache_max_negative_ttl = 468, /* server_cache_max_negative_ttl  */
 -  YYSYMBOL_server_cache_min_ttl = 469,     /* server_cache_min_ttl  */
 -  YYSYMBOL_server_bogus_ttl = 470,         /* server_bogus_ttl  */
 -  YYSYMBOL_server_val_clean_additional = 471, /* server_val_clean_additional  */
 -  YYSYMBOL_server_val_permissive_mode = 472, /* server_val_permissive_mode  */
 -  YYSYMBOL_server_aggressive_nsec = 473,   /* server_aggressive_nsec  */
 -  YYSYMBOL_server_ignore_cd_flag = 474,    /* server_ignore_cd_flag  */
 -  YYSYMBOL_server_serve_expired = 475,     /* server_serve_expired  */
 -  YYSYMBOL_server_serve_expired_ttl = 476, /* server_serve_expired_ttl  */
 -  YYSYMBOL_server_serve_expired_ttl_reset = 477, /* server_serve_expired_ttl_reset  */
 -  YYSYMBOL_server_serve_expired_reply_ttl = 478, /* server_serve_expired_reply_ttl  */
 -  YYSYMBOL_server_serve_expired_client_timeout = 479, /* server_serve_expired_client_timeout  */
 -  YYSYMBOL_server_fake_dsa = 480,          /* server_fake_dsa  */
 -  YYSYMBOL_server_fake_sha1 = 481,         /* server_fake_sha1  */
 -  YYSYMBOL_server_val_log_level = 482,     /* server_val_log_level  */
 -  YYSYMBOL_server_val_nsec3_keysize_iterations = 483, /* server_val_nsec3_keysize_iterations  */
 -  YYSYMBOL_server_add_holddown = 484,      /* server_add_holddown  */
 -  YYSYMBOL_server_del_holddown = 485,      /* server_del_holddown  */
 -  YYSYMBOL_server_keep_missing = 486,      /* server_keep_missing  */
 -  YYSYMBOL_server_permit_small_holddown = 487, /* server_permit_small_holddown  */
 -  YYSYMBOL_server_key_cache_size = 488,    /* server_key_cache_size  */
 -  YYSYMBOL_server_key_cache_slabs = 489,   /* server_key_cache_slabs  */
 -  YYSYMBOL_server_neg_cache_size = 490,    /* server_neg_cache_size  */
 -  YYSYMBOL_server_local_zone = 491,        /* server_local_zone  */
 -  YYSYMBOL_server_local_data = 492,        /* server_local_data  */
 -  YYSYMBOL_server_local_data_ptr = 493,    /* server_local_data_ptr  */
 -  YYSYMBOL_server_minimal_responses = 494, /* server_minimal_responses  */
 -  YYSYMBOL_server_rrset_roundrobin = 495,  /* server_rrset_roundrobin  */
 -  YYSYMBOL_server_unknown_server_time_limit = 496, /* server_unknown_server_time_limit  */
 -  YYSYMBOL_server_max_udp_size = 497,      /* server_max_udp_size  */
 -  YYSYMBOL_server_dns64_prefix = 498,      /* server_dns64_prefix  */
 -  YYSYMBOL_server_dns64_synthall = 499,    /* server_dns64_synthall  */
 -  YYSYMBOL_server_dns64_ignore_aaaa = 500, /* server_dns64_ignore_aaaa  */
 -  YYSYMBOL_server_define_tag = 501,        /* server_define_tag  */
 -  YYSYMBOL_server_local_zone_tag = 502,    /* server_local_zone_tag  */
 -  YYSYMBOL_server_access_control_tag = 503, /* server_access_control_tag  */
 -  YYSYMBOL_server_access_control_tag_action = 504, /* server_access_control_tag_action  */
 -  YYSYMBOL_server_access_control_tag_data = 505, /* server_access_control_tag_data  */
 -  YYSYMBOL_server_local_zone_override = 506, /* server_local_zone_override  */
 -  YYSYMBOL_server_access_control_view = 507, /* server_access_control_view  */
 -  YYSYMBOL_server_response_ip_tag = 508,   /* server_response_ip_tag  */
 -  YYSYMBOL_server_ip_ratelimit = 509,      /* server_ip_ratelimit  */
 -  YYSYMBOL_server_ratelimit = 510,         /* server_ratelimit  */
 -  YYSYMBOL_server_ip_ratelimit_size = 511, /* server_ip_ratelimit_size  */
 -  YYSYMBOL_server_ratelimit_size = 512,    /* server_ratelimit_size  */
 -  YYSYMBOL_server_ip_ratelimit_slabs = 513, /* server_ip_ratelimit_slabs  */
 -  YYSYMBOL_server_ratelimit_slabs = 514,   /* server_ratelimit_slabs  */
 -  YYSYMBOL_server_ratelimit_for_domain = 515, /* server_ratelimit_for_domain  */
 -  YYSYMBOL_server_ratelimit_below_domain = 516, /* server_ratelimit_below_domain  */
 -  YYSYMBOL_server_ip_ratelimit_factor = 517, /* server_ip_ratelimit_factor  */
 -  YYSYMBOL_server_ratelimit_factor = 518,  /* server_ratelimit_factor  */
 -  YYSYMBOL_server_low_rtt = 519,           /* server_low_rtt  */
 -  YYSYMBOL_server_fast_server_num = 520,   /* server_fast_server_num  */
 -  YYSYMBOL_server_fast_server_permil = 521, /* server_fast_server_permil  */
 -  YYSYMBOL_server_qname_minimisation = 522, /* server_qname_minimisation  */
 -  YYSYMBOL_server_qname_minimisation_strict = 523, /* server_qname_minimisation_strict  */
 -  YYSYMBOL_server_ipsecmod_enabled = 524,  /* server_ipsecmod_enabled  */
 -  YYSYMBOL_server_ipsecmod_ignore_bogus = 525, /* server_ipsecmod_ignore_bogus  */
 -  YYSYMBOL_server_ipsecmod_hook = 526,     /* server_ipsecmod_hook  */
 -  YYSYMBOL_server_ipsecmod_max_ttl = 527,  /* server_ipsecmod_max_ttl  */
 -  YYSYMBOL_server_ipsecmod_whitelist = 528, /* server_ipsecmod_whitelist  */
 -  YYSYMBOL_server_ipsecmod_strict = 529,   /* server_ipsecmod_strict  */
 -  YYSYMBOL_server_edns_client_string = 530, /* server_edns_client_string  */
 -  YYSYMBOL_server_edns_client_string_opcode = 531, /* server_edns_client_string_opcode  */
 -  YYSYMBOL_stub_name = 532,                /* stub_name  */
 -  YYSYMBOL_stub_host = 533,                /* stub_host  */
 -  YYSYMBOL_stub_addr = 534,                /* stub_addr  */
 -  YYSYMBOL_stub_first = 535,               /* stub_first  */
 -  YYSYMBOL_stub_no_cache = 536,            /* stub_no_cache  */
 -  YYSYMBOL_stub_ssl_upstream = 537,        /* stub_ssl_upstream  */
 -  YYSYMBOL_stub_prime = 538,               /* stub_prime  */
 -  YYSYMBOL_forward_name = 539,             /* forward_name  */
 -  YYSYMBOL_forward_host = 540,             /* forward_host  */
 -  YYSYMBOL_forward_addr = 541,             /* forward_addr  */
 -  YYSYMBOL_forward_first = 542,            /* forward_first  */
 -  YYSYMBOL_forward_no_cache = 543,         /* forward_no_cache  */
 -  YYSYMBOL_forward_ssl_upstream = 544,     /* forward_ssl_upstream  */
 -  YYSYMBOL_auth_name = 545,                /* auth_name  */
 -  YYSYMBOL_auth_zonefile = 546,            /* auth_zonefile  */
 -  YYSYMBOL_auth_master = 547,              /* auth_master  */
 -  YYSYMBOL_auth_url = 548,                 /* auth_url  */
 -  YYSYMBOL_auth_allow_notify = 549,        /* auth_allow_notify  */
 -  YYSYMBOL_auth_for_downstream = 550,      /* auth_for_downstream  */
 -  YYSYMBOL_auth_for_upstream = 551,        /* auth_for_upstream  */
 -  YYSYMBOL_auth_fallback_enabled = 552,    /* auth_fallback_enabled  */
 -  YYSYMBOL_view_name = 553,                /* view_name  */
 -  YYSYMBOL_view_local_zone = 554,          /* view_local_zone  */
 -  YYSYMBOL_view_response_ip = 555,         /* view_response_ip  */
 -  YYSYMBOL_view_response_ip_data = 556,    /* view_response_ip_data  */
 -  YYSYMBOL_view_local_data = 557,          /* view_local_data  */
 -  YYSYMBOL_view_local_data_ptr = 558,      /* view_local_data_ptr  */
 -  YYSYMBOL_view_first = 559,               /* view_first  */
 -  YYSYMBOL_rcstart = 560,                  /* rcstart  */
 -  YYSYMBOL_contents_rc = 561,              /* contents_rc  */
 -  YYSYMBOL_content_rc = 562,               /* content_rc  */
 -  YYSYMBOL_rc_control_enable = 563,        /* rc_control_enable  */
 -  YYSYMBOL_rc_control_port = 564,          /* rc_control_port  */
 -  YYSYMBOL_rc_control_interface = 565,     /* rc_control_interface  */
 -  YYSYMBOL_rc_control_use_cert = 566,      /* rc_control_use_cert  */
 -  YYSYMBOL_rc_server_key_file = 567,       /* rc_server_key_file  */
 -  YYSYMBOL_rc_server_cert_file = 568,      /* rc_server_cert_file  */
 -  YYSYMBOL_rc_control_key_file = 569,      /* rc_control_key_file  */
 -  YYSYMBOL_rc_control_cert_file = 570,     /* rc_control_cert_file  */
 -  YYSYMBOL_dtstart = 571,                  /* dtstart  */
 -  YYSYMBOL_contents_dt = 572,              /* contents_dt  */
 -  YYSYMBOL_content_dt = 573,               /* content_dt  */
 -  YYSYMBOL_dt_dnstap_enable = 574,         /* dt_dnstap_enable  */
 -  YYSYMBOL_dt_dnstap_bidirectional = 575,  /* dt_dnstap_bidirectional  */
 -  YYSYMBOL_dt_dnstap_socket_path = 576,    /* dt_dnstap_socket_path  */
 -  YYSYMBOL_dt_dnstap_ip = 577,             /* dt_dnstap_ip  */
 -  YYSYMBOL_dt_dnstap_tls = 578,            /* dt_dnstap_tls  */
 -  YYSYMBOL_dt_dnstap_tls_server_name = 579, /* dt_dnstap_tls_server_name  */
 -  YYSYMBOL_dt_dnstap_tls_cert_bundle = 580, /* dt_dnstap_tls_cert_bundle  */
 -  YYSYMBOL_dt_dnstap_tls_client_key_file = 581, /* dt_dnstap_tls_client_key_file  */
 -  YYSYMBOL_dt_dnstap_tls_client_cert_file = 582, /* dt_dnstap_tls_client_cert_file  */
 -  YYSYMBOL_dt_dnstap_send_identity = 583,  /* dt_dnstap_send_identity  */
 -  YYSYMBOL_dt_dnstap_send_version = 584,   /* dt_dnstap_send_version  */
 -  YYSYMBOL_dt_dnstap_identity = 585,       /* dt_dnstap_identity  */
 -  YYSYMBOL_dt_dnstap_version = 586,        /* dt_dnstap_version  */
 -  YYSYMBOL_dt_dnstap_log_resolver_query_messages = 587, /* dt_dnstap_log_resolver_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_resolver_response_messages = 588, /* dt_dnstap_log_resolver_response_messages  */
 -  YYSYMBOL_dt_dnstap_log_client_query_messages = 589, /* dt_dnstap_log_client_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_client_response_messages = 590, /* dt_dnstap_log_client_response_messages  */
 -  YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 591, /* dt_dnstap_log_forwarder_query_messages  */
 -  YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 592, /* dt_dnstap_log_forwarder_response_messages  */
 -  YYSYMBOL_pythonstart = 593,              /* pythonstart  */
 -  YYSYMBOL_contents_py = 594,              /* contents_py  */
 -  YYSYMBOL_content_py = 595,               /* content_py  */
 -  YYSYMBOL_py_script = 596,                /* py_script  */
 -  YYSYMBOL_dynlibstart = 597,              /* dynlibstart  */
 -  YYSYMBOL_contents_dl = 598,              /* contents_dl  */
 -  YYSYMBOL_content_dl = 599,               /* content_dl  */
 -  YYSYMBOL_dl_file = 600,                  /* dl_file  */
 -  YYSYMBOL_server_disable_dnssec_lame_check = 601, /* server_disable_dnssec_lame_check  */
 -  YYSYMBOL_server_log_identity = 602,      /* server_log_identity  */
 -  YYSYMBOL_server_response_ip = 603,       /* server_response_ip  */
 -  YYSYMBOL_server_response_ip_data = 604,  /* server_response_ip_data  */
 -  YYSYMBOL_dnscstart = 605,                /* dnscstart  */
 -  YYSYMBOL_contents_dnsc = 606,            /* contents_dnsc  */
 -  YYSYMBOL_content_dnsc = 607,             /* content_dnsc  */
 -  YYSYMBOL_dnsc_dnscrypt_enable = 608,     /* dnsc_dnscrypt_enable  */
 -  YYSYMBOL_dnsc_dnscrypt_port = 609,       /* dnsc_dnscrypt_port  */
 -  YYSYMBOL_dnsc_dnscrypt_provider = 610,   /* dnsc_dnscrypt_provider  */
 -  YYSYMBOL_dnsc_dnscrypt_provider_cert = 611, /* dnsc_dnscrypt_provider_cert  */
 -  YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 612, /* dnsc_dnscrypt_provider_cert_rotated  */
 -  YYSYMBOL_dnsc_dnscrypt_secret_key = 613, /* dnsc_dnscrypt_secret_key  */
 -  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 614, /* dnsc_dnscrypt_shared_secret_cache_size  */
 -  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 615, /* dnsc_dnscrypt_shared_secret_cache_slabs  */
 -  YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 616, /* dnsc_dnscrypt_nonce_cache_size  */
 -  YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 617, /* dnsc_dnscrypt_nonce_cache_slabs  */
 -  YYSYMBOL_cachedbstart = 618,             /* cachedbstart  */
 -  YYSYMBOL_contents_cachedb = 619,         /* contents_cachedb  */
 -  YYSYMBOL_content_cachedb = 620,          /* content_cachedb  */
 -  YYSYMBOL_cachedb_backend_name = 621,     /* cachedb_backend_name  */
 -  YYSYMBOL_cachedb_secret_seed = 622,      /* cachedb_secret_seed  */
 -  YYSYMBOL_redis_server_host = 623,        /* redis_server_host  */
 -  YYSYMBOL_redis_server_port = 624,        /* redis_server_port  */
 -  YYSYMBOL_redis_timeout = 625,            /* redis_timeout  */
 -  YYSYMBOL_redis_expire_records = 626,     /* redis_expire_records  */
 -  YYSYMBOL_server_tcp_connection_limit = 627, /* server_tcp_connection_limit  */
 -  YYSYMBOL_ipsetstart = 628,               /* ipsetstart  */
 -  YYSYMBOL_contents_ipset = 629,           /* contents_ipset  */
 -  YYSYMBOL_content_ipset = 630,            /* content_ipset  */
 -  YYSYMBOL_ipset_name_v4 = 631,            /* ipset_name_v4  */
 -  YYSYMBOL_ipset_name_v6 = 632             /* ipset_name_v6  */
++  YYSYMBOL_VAR_PAD_RESPONSES = 250,        /* VAR_PAD_RESPONSES  */
++  YYSYMBOL_VAR_PAD_RESPONSES_BLOCK_SIZE = 251, /* VAR_PAD_RESPONSES_BLOCK_SIZE  */
++  YYSYMBOL_VAR_PAD_QUERIES = 252,          /* VAR_PAD_QUERIES  */
++  YYSYMBOL_VAR_PAD_QUERIES_BLOCK_SIZE = 253, /* VAR_PAD_QUERIES_BLOCK_SIZE  */
++  YYSYMBOL_VAR_IPSECMOD_ENABLED = 254,     /* VAR_IPSECMOD_ENABLED  */
++  YYSYMBOL_VAR_IPSECMOD_HOOK = 255,        /* VAR_IPSECMOD_HOOK  */
++  YYSYMBOL_VAR_IPSECMOD_IGNORE_BOGUS = 256, /* VAR_IPSECMOD_IGNORE_BOGUS  */
++  YYSYMBOL_VAR_IPSECMOD_MAX_TTL = 257,     /* VAR_IPSECMOD_MAX_TTL  */
++  YYSYMBOL_VAR_IPSECMOD_WHITELIST = 258,   /* VAR_IPSECMOD_WHITELIST  */
++  YYSYMBOL_VAR_IPSECMOD_STRICT = 259,      /* VAR_IPSECMOD_STRICT  */
++  YYSYMBOL_VAR_CACHEDB = 260,              /* VAR_CACHEDB  */
++  YYSYMBOL_VAR_CACHEDB_BACKEND = 261,      /* VAR_CACHEDB_BACKEND  */
++  YYSYMBOL_VAR_CACHEDB_SECRETSEED = 262,   /* VAR_CACHEDB_SECRETSEED  */
++  YYSYMBOL_VAR_CACHEDB_REDISHOST = 263,    /* VAR_CACHEDB_REDISHOST  */
++  YYSYMBOL_VAR_CACHEDB_REDISPORT = 264,    /* VAR_CACHEDB_REDISPORT  */
++  YYSYMBOL_VAR_CACHEDB_REDISTIMEOUT = 265, /* VAR_CACHEDB_REDISTIMEOUT  */
++  YYSYMBOL_VAR_CACHEDB_REDISEXPIRERECORDS = 266, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
++  YYSYMBOL_VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 267, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
++  YYSYMBOL_VAR_FOR_UPSTREAM = 268,         /* VAR_FOR_UPSTREAM  */
++  YYSYMBOL_VAR_AUTH_ZONE = 269,            /* VAR_AUTH_ZONE  */
++  YYSYMBOL_VAR_ZONEFILE = 270,             /* VAR_ZONEFILE  */
++  YYSYMBOL_VAR_MASTER = 271,               /* VAR_MASTER  */
++  YYSYMBOL_VAR_URL = 272,                  /* VAR_URL  */
++  YYSYMBOL_VAR_FOR_DOWNSTREAM = 273,       /* VAR_FOR_DOWNSTREAM  */
++  YYSYMBOL_VAR_FALLBACK_ENABLED = 274,     /* VAR_FALLBACK_ENABLED  */
++  YYSYMBOL_VAR_TLS_ADDITIONAL_PORT = 275,  /* VAR_TLS_ADDITIONAL_PORT  */
++  YYSYMBOL_VAR_LOW_RTT = 276,              /* VAR_LOW_RTT  */
++  YYSYMBOL_VAR_LOW_RTT_PERMIL = 277,       /* VAR_LOW_RTT_PERMIL  */
++  YYSYMBOL_VAR_FAST_SERVER_PERMIL = 278,   /* VAR_FAST_SERVER_PERMIL  */
++  YYSYMBOL_VAR_FAST_SERVER_NUM = 279,      /* VAR_FAST_SERVER_NUM  */
++  YYSYMBOL_VAR_ALLOW_NOTIFY = 280,         /* VAR_ALLOW_NOTIFY  */
++  YYSYMBOL_VAR_TLS_WIN_CERT = 281,         /* VAR_TLS_WIN_CERT  */
++  YYSYMBOL_VAR_TCP_CONNECTION_LIMIT = 282, /* VAR_TCP_CONNECTION_LIMIT  */
++  YYSYMBOL_VAR_FORWARD_NO_CACHE = 283,     /* VAR_FORWARD_NO_CACHE  */
++  YYSYMBOL_VAR_STUB_NO_CACHE = 284,        /* VAR_STUB_NO_CACHE  */
++  YYSYMBOL_VAR_LOG_SERVFAIL = 285,         /* VAR_LOG_SERVFAIL  */
++  YYSYMBOL_VAR_DENY_ANY = 286,             /* VAR_DENY_ANY  */
++  YYSYMBOL_VAR_UNKNOWN_SERVER_TIME_LIMIT = 287, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
++  YYSYMBOL_VAR_LOG_TAG_QUERYREPLY = 288,   /* VAR_LOG_TAG_QUERYREPLY  */
++  YYSYMBOL_VAR_STREAM_WAIT_SIZE = 289,     /* VAR_STREAM_WAIT_SIZE  */
++  YYSYMBOL_VAR_TLS_CIPHERS = 290,          /* VAR_TLS_CIPHERS  */
++  YYSYMBOL_VAR_TLS_CIPHERSUITES = 291,     /* VAR_TLS_CIPHERSUITES  */
++  YYSYMBOL_VAR_TLS_USE_SNI = 292,          /* VAR_TLS_USE_SNI  */
++  YYSYMBOL_VAR_IPSET = 293,                /* VAR_IPSET  */
++  YYSYMBOL_VAR_IPSET_NAME_V4 = 294,        /* VAR_IPSET_NAME_V4  */
++  YYSYMBOL_VAR_IPSET_NAME_V6 = 295,        /* VAR_IPSET_NAME_V6  */
++  YYSYMBOL_VAR_TLS_SESSION_TICKET_KEYS = 296, /* VAR_TLS_SESSION_TICKET_KEYS  */
++  YYSYMBOL_VAR_RPZ = 297,                  /* VAR_RPZ  */
++  YYSYMBOL_VAR_TAGS = 298,                 /* VAR_TAGS  */
++  YYSYMBOL_VAR_RPZ_ACTION_OVERRIDE = 299,  /* VAR_RPZ_ACTION_OVERRIDE  */
++  YYSYMBOL_VAR_RPZ_CNAME_OVERRIDE = 300,   /* VAR_RPZ_CNAME_OVERRIDE  */
++  YYSYMBOL_VAR_RPZ_LOG = 301,              /* VAR_RPZ_LOG  */
++  YYSYMBOL_VAR_RPZ_LOG_NAME = 302,         /* VAR_RPZ_LOG_NAME  */
++  YYSYMBOL_VAR_DYNLIB = 303,               /* VAR_DYNLIB  */
++  YYSYMBOL_VAR_DYNLIB_FILE = 304,          /* VAR_DYNLIB_FILE  */
++  YYSYMBOL_VAR_EDNS_CLIENT_STRING = 305,   /* VAR_EDNS_CLIENT_STRING  */
++  YYSYMBOL_VAR_EDNS_CLIENT_STRING_OPCODE = 306, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
++  YYSYMBOL_VAR_NSID = 307,                 /* VAR_NSID  */
++  YYSYMBOL_YYACCEPT = 308,                 /* $accept  */
++  YYSYMBOL_toplevelvars = 309,             /* toplevelvars  */
++  YYSYMBOL_toplevelvar = 310,              /* toplevelvar  */
++  YYSYMBOL_force_toplevel = 311,           /* force_toplevel  */
++  YYSYMBOL_serverstart = 312,              /* serverstart  */
++  YYSYMBOL_contents_server = 313,          /* contents_server  */
++  YYSYMBOL_content_server = 314,           /* content_server  */
++  YYSYMBOL_stubstart = 315,                /* stubstart  */
++  YYSYMBOL_contents_stub = 316,            /* contents_stub  */
++  YYSYMBOL_content_stub = 317,             /* content_stub  */
++  YYSYMBOL_forwardstart = 318,             /* forwardstart  */
++  YYSYMBOL_contents_forward = 319,         /* contents_forward  */
++  YYSYMBOL_content_forward = 320,          /* content_forward  */
++  YYSYMBOL_viewstart = 321,                /* viewstart  */
++  YYSYMBOL_contents_view = 322,            /* contents_view  */
++  YYSYMBOL_content_view = 323,             /* content_view  */
++  YYSYMBOL_authstart = 324,                /* authstart  */
++  YYSYMBOL_contents_auth = 325,            /* contents_auth  */
++  YYSYMBOL_content_auth = 326,             /* content_auth  */
++  YYSYMBOL_rpz_tag = 327,                  /* rpz_tag  */
++  YYSYMBOL_rpz_action_override = 328,      /* rpz_action_override  */
++  YYSYMBOL_rpz_cname_override = 329,       /* rpz_cname_override  */
++  YYSYMBOL_rpz_log = 330,                  /* rpz_log  */
++  YYSYMBOL_rpz_log_name = 331,             /* rpz_log_name  */
++  YYSYMBOL_rpzstart = 332,                 /* rpzstart  */
++  YYSYMBOL_contents_rpz = 333,             /* contents_rpz  */
++  YYSYMBOL_content_rpz = 334,              /* content_rpz  */
++  YYSYMBOL_server_num_threads = 335,       /* server_num_threads  */
++  YYSYMBOL_server_verbosity = 336,         /* server_verbosity  */
++  YYSYMBOL_server_statistics_interval = 337, /* server_statistics_interval  */
++  YYSYMBOL_server_statistics_cumulative = 338, /* server_statistics_cumulative  */
++  YYSYMBOL_server_extended_statistics = 339, /* server_extended_statistics  */
++  YYSYMBOL_server_shm_enable = 340,        /* server_shm_enable  */
++  YYSYMBOL_server_shm_key = 341,           /* server_shm_key  */
++  YYSYMBOL_server_port = 342,              /* server_port  */
++  YYSYMBOL_server_send_client_subnet = 343, /* server_send_client_subnet  */
++  YYSYMBOL_server_client_subnet_zone = 344, /* server_client_subnet_zone  */
++  YYSYMBOL_server_client_subnet_always_forward = 345, /* server_client_subnet_always_forward  */
++  YYSYMBOL_server_client_subnet_opcode = 346, /* server_client_subnet_opcode  */
++  YYSYMBOL_server_max_client_subnet_ipv4 = 347, /* server_max_client_subnet_ipv4  */
++  YYSYMBOL_server_max_client_subnet_ipv6 = 348, /* server_max_client_subnet_ipv6  */
++  YYSYMBOL_server_min_client_subnet_ipv4 = 349, /* server_min_client_subnet_ipv4  */
++  YYSYMBOL_server_min_client_subnet_ipv6 = 350, /* server_min_client_subnet_ipv6  */
++  YYSYMBOL_server_max_ecs_tree_size_ipv4 = 351, /* server_max_ecs_tree_size_ipv4  */
++  YYSYMBOL_server_max_ecs_tree_size_ipv6 = 352, /* server_max_ecs_tree_size_ipv6  */
++  YYSYMBOL_server_interface = 353,         /* server_interface  */
++  YYSYMBOL_server_outgoing_interface = 354, /* server_outgoing_interface  */
++  YYSYMBOL_server_outgoing_range = 355,    /* server_outgoing_range  */
++  YYSYMBOL_server_outgoing_port_permit = 356, /* server_outgoing_port_permit  */
++  YYSYMBOL_server_outgoing_port_avoid = 357, /* server_outgoing_port_avoid  */
++  YYSYMBOL_server_outgoing_num_tcp = 358,  /* server_outgoing_num_tcp  */
++  YYSYMBOL_server_incoming_num_tcp = 359,  /* server_incoming_num_tcp  */
++  YYSYMBOL_server_interface_automatic = 360, /* server_interface_automatic  */
++  YYSYMBOL_server_do_ip4 = 361,            /* server_do_ip4  */
++  YYSYMBOL_server_do_ip6 = 362,            /* server_do_ip6  */
++  YYSYMBOL_server_do_udp = 363,            /* server_do_udp  */
++  YYSYMBOL_server_do_tcp = 364,            /* server_do_tcp  */
++  YYSYMBOL_server_prefer_ip4 = 365,        /* server_prefer_ip4  */
++  YYSYMBOL_server_prefer_ip6 = 366,        /* server_prefer_ip6  */
++  YYSYMBOL_server_tcp_mss = 367,           /* server_tcp_mss  */
++  YYSYMBOL_server_outgoing_tcp_mss = 368,  /* server_outgoing_tcp_mss  */
++  YYSYMBOL_server_tcp_idle_timeout = 369,  /* server_tcp_idle_timeout  */
++  YYSYMBOL_server_tcp_keepalive = 370,     /* server_tcp_keepalive  */
++  YYSYMBOL_server_tcp_keepalive_timeout = 371, /* server_tcp_keepalive_timeout  */
++  YYSYMBOL_server_tcp_upstream = 372,      /* server_tcp_upstream  */
++  YYSYMBOL_server_udp_upstream_without_downstream = 373, /* server_udp_upstream_without_downstream  */
++  YYSYMBOL_server_ssl_upstream = 374,      /* server_ssl_upstream  */
++  YYSYMBOL_server_ssl_service_key = 375,   /* server_ssl_service_key  */
++  YYSYMBOL_server_ssl_service_pem = 376,   /* server_ssl_service_pem  */
++  YYSYMBOL_server_ssl_port = 377,          /* server_ssl_port  */
++  YYSYMBOL_server_tls_cert_bundle = 378,   /* server_tls_cert_bundle  */
++  YYSYMBOL_server_tls_win_cert = 379,      /* server_tls_win_cert  */
++  YYSYMBOL_server_tls_additional_port = 380, /* server_tls_additional_port  */
++  YYSYMBOL_server_tls_ciphers = 381,       /* server_tls_ciphers  */
++  YYSYMBOL_server_tls_ciphersuites = 382,  /* server_tls_ciphersuites  */
++  YYSYMBOL_server_tls_session_ticket_keys = 383, /* server_tls_session_ticket_keys  */
++  YYSYMBOL_server_tls_use_sni = 384,       /* server_tls_use_sni  */
++  YYSYMBOL_server_https_port = 385,        /* server_https_port  */
++  YYSYMBOL_server_http_endpoint = 386,     /* server_http_endpoint  */
++  YYSYMBOL_server_http_max_streams = 387,  /* server_http_max_streams  */
++  YYSYMBOL_server_http_query_buffer_size = 388, /* server_http_query_buffer_size  */
++  YYSYMBOL_server_http_response_buffer_size = 389, /* server_http_response_buffer_size  */
++  YYSYMBOL_server_http_nodelay = 390,      /* server_http_nodelay  */
++  YYSYMBOL_server_http_notls_downstream = 391, /* server_http_notls_downstream  */
++  YYSYMBOL_server_use_systemd = 392,       /* server_use_systemd  */
++  YYSYMBOL_server_do_daemonize = 393,      /* server_do_daemonize  */
++  YYSYMBOL_server_use_syslog = 394,        /* server_use_syslog  */
++  YYSYMBOL_server_log_time_ascii = 395,    /* server_log_time_ascii  */
++  YYSYMBOL_server_log_queries = 396,       /* server_log_queries  */
++  YYSYMBOL_server_log_replies = 397,       /* server_log_replies  */
++  YYSYMBOL_server_log_tag_queryreply = 398, /* server_log_tag_queryreply  */
++  YYSYMBOL_server_log_servfail = 399,      /* server_log_servfail  */
++  YYSYMBOL_server_log_local_actions = 400, /* server_log_local_actions  */
++  YYSYMBOL_server_chroot = 401,            /* server_chroot  */
++  YYSYMBOL_server_username = 402,          /* server_username  */
++  YYSYMBOL_server_directory = 403,         /* server_directory  */
++  YYSYMBOL_server_logfile = 404,           /* server_logfile  */
++  YYSYMBOL_server_pidfile = 405,           /* server_pidfile  */
++  YYSYMBOL_server_root_hints = 406,        /* server_root_hints  */
++  YYSYMBOL_server_dlv_anchor_file = 407,   /* server_dlv_anchor_file  */
++  YYSYMBOL_server_dlv_anchor = 408,        /* server_dlv_anchor  */
++  YYSYMBOL_server_auto_trust_anchor_file = 409, /* server_auto_trust_anchor_file  */
++  YYSYMBOL_server_trust_anchor_file = 410, /* server_trust_anchor_file  */
++  YYSYMBOL_server_trusted_keys_file = 411, /* server_trusted_keys_file  */
++  YYSYMBOL_server_trust_anchor = 412,      /* server_trust_anchor  */
++  YYSYMBOL_server_trust_anchor_signaling = 413, /* server_trust_anchor_signaling  */
++  YYSYMBOL_server_root_key_sentinel = 414, /* server_root_key_sentinel  */
++  YYSYMBOL_server_domain_insecure = 415,   /* server_domain_insecure  */
++  YYSYMBOL_server_hide_identity = 416,     /* server_hide_identity  */
++  YYSYMBOL_server_hide_version = 417,      /* server_hide_version  */
++  YYSYMBOL_server_hide_trustanchor = 418,  /* server_hide_trustanchor  */
++  YYSYMBOL_server_identity = 419,          /* server_identity  */
++  YYSYMBOL_server_version = 420,           /* server_version  */
++  YYSYMBOL_server_nsid = 421,              /* server_nsid  */
++  YYSYMBOL_server_so_rcvbuf = 422,         /* server_so_rcvbuf  */
++  YYSYMBOL_server_so_sndbuf = 423,         /* server_so_sndbuf  */
++  YYSYMBOL_server_so_reuseport = 424,      /* server_so_reuseport  */
++  YYSYMBOL_server_ip_transparent = 425,    /* server_ip_transparent  */
++  YYSYMBOL_server_ip_freebind = 426,       /* server_ip_freebind  */
++  YYSYMBOL_server_ip_dscp = 427,           /* server_ip_dscp  */
++  YYSYMBOL_server_stream_wait_size = 428,  /* server_stream_wait_size  */
++  YYSYMBOL_server_edns_buffer_size = 429,  /* server_edns_buffer_size  */
++  YYSYMBOL_server_msg_buffer_size = 430,   /* server_msg_buffer_size  */
++  YYSYMBOL_server_msg_cache_size = 431,    /* server_msg_cache_size  */
++  YYSYMBOL_server_msg_cache_slabs = 432,   /* server_msg_cache_slabs  */
++  YYSYMBOL_server_num_queries_per_thread = 433, /* server_num_queries_per_thread  */
++  YYSYMBOL_server_jostle_timeout = 434,    /* server_jostle_timeout  */
++  YYSYMBOL_server_delay_close = 435,       /* server_delay_close  */
++  YYSYMBOL_server_udp_connect = 436,       /* server_udp_connect  */
++  YYSYMBOL_server_unblock_lan_zones = 437, /* server_unblock_lan_zones  */
++  YYSYMBOL_server_insecure_lan_zones = 438, /* server_insecure_lan_zones  */
++  YYSYMBOL_server_rrset_cache_size = 439,  /* server_rrset_cache_size  */
++  YYSYMBOL_server_rrset_cache_slabs = 440, /* server_rrset_cache_slabs  */
++  YYSYMBOL_server_infra_host_ttl = 441,    /* server_infra_host_ttl  */
++  YYSYMBOL_server_infra_lame_ttl = 442,    /* server_infra_lame_ttl  */
++  YYSYMBOL_server_infra_cache_numhosts = 443, /* server_infra_cache_numhosts  */
++  YYSYMBOL_server_infra_cache_lame_size = 444, /* server_infra_cache_lame_size  */
++  YYSYMBOL_server_infra_cache_slabs = 445, /* server_infra_cache_slabs  */
++  YYSYMBOL_server_infra_cache_min_rtt = 446, /* server_infra_cache_min_rtt  */
++  YYSYMBOL_server_infra_keep_probing = 447, /* server_infra_keep_probing  */
++  YYSYMBOL_server_target_fetch_policy = 448, /* server_target_fetch_policy  */
++  YYSYMBOL_server_harden_short_bufsize = 449, /* server_harden_short_bufsize  */
++  YYSYMBOL_server_harden_large_queries = 450, /* server_harden_large_queries  */
++  YYSYMBOL_server_harden_glue = 451,       /* server_harden_glue  */
++  YYSYMBOL_server_harden_dnssec_stripped = 452, /* server_harden_dnssec_stripped  */
++  YYSYMBOL_server_harden_below_nxdomain = 453, /* server_harden_below_nxdomain  */
++  YYSYMBOL_server_harden_referral_path = 454, /* server_harden_referral_path  */
++  YYSYMBOL_server_harden_algo_downgrade = 455, /* server_harden_algo_downgrade  */
++  YYSYMBOL_server_use_caps_for_id = 456,   /* server_use_caps_for_id  */
++  YYSYMBOL_server_caps_whitelist = 457,    /* server_caps_whitelist  */
++  YYSYMBOL_server_private_address = 458,   /* server_private_address  */
++  YYSYMBOL_server_private_domain = 459,    /* server_private_domain  */
++  YYSYMBOL_server_prefetch = 460,          /* server_prefetch  */
++  YYSYMBOL_server_prefetch_key = 461,      /* server_prefetch_key  */
++  YYSYMBOL_server_deny_any = 462,          /* server_deny_any  */
++  YYSYMBOL_server_unwanted_reply_threshold = 463, /* server_unwanted_reply_threshold  */
++  YYSYMBOL_server_do_not_query_address = 464, /* server_do_not_query_address  */
++  YYSYMBOL_server_do_not_query_localhost = 465, /* server_do_not_query_localhost  */
++  YYSYMBOL_server_access_control = 466,    /* server_access_control  */
++  YYSYMBOL_server_module_conf = 467,       /* server_module_conf  */
++  YYSYMBOL_server_val_override_date = 468, /* server_val_override_date  */
++  YYSYMBOL_server_val_sig_skew_min = 469,  /* server_val_sig_skew_min  */
++  YYSYMBOL_server_val_sig_skew_max = 470,  /* server_val_sig_skew_max  */
++  YYSYMBOL_server_cache_max_ttl = 471,     /* server_cache_max_ttl  */
++  YYSYMBOL_server_cache_max_negative_ttl = 472, /* server_cache_max_negative_ttl  */
++  YYSYMBOL_server_cache_min_ttl = 473,     /* server_cache_min_ttl  */
++  YYSYMBOL_server_bogus_ttl = 474,         /* server_bogus_ttl  */
++  YYSYMBOL_server_val_clean_additional = 475, /* server_val_clean_additional  */
++  YYSYMBOL_server_val_permissive_mode = 476, /* server_val_permissive_mode  */
++  YYSYMBOL_server_aggressive_nsec = 477,   /* server_aggressive_nsec  */
++  YYSYMBOL_server_ignore_cd_flag = 478,    /* server_ignore_cd_flag  */
++  YYSYMBOL_server_serve_expired = 479,     /* server_serve_expired  */
++  YYSYMBOL_server_serve_expired_ttl = 480, /* server_serve_expired_ttl  */
++  YYSYMBOL_server_serve_expired_ttl_reset = 481, /* server_serve_expired_ttl_reset  */
++  YYSYMBOL_server_serve_expired_reply_ttl = 482, /* server_serve_expired_reply_ttl  */
++  YYSYMBOL_server_serve_expired_client_timeout = 483, /* server_serve_expired_client_timeout  */
++  YYSYMBOL_server_fake_dsa = 484,          /* server_fake_dsa  */
++  YYSYMBOL_server_fake_sha1 = 485,         /* server_fake_sha1  */
++  YYSYMBOL_server_val_log_level = 486,     /* server_val_log_level  */
++  YYSYMBOL_server_val_nsec3_keysize_iterations = 487, /* server_val_nsec3_keysize_iterations  */
++  YYSYMBOL_server_add_holddown = 488,      /* server_add_holddown  */
++  YYSYMBOL_server_del_holddown = 489,      /* server_del_holddown  */
++  YYSYMBOL_server_keep_missing = 490,      /* server_keep_missing  */
++  YYSYMBOL_server_permit_small_holddown = 491, /* server_permit_small_holddown  */
++  YYSYMBOL_server_key_cache_size = 492,    /* server_key_cache_size  */
++  YYSYMBOL_server_key_cache_slabs = 493,   /* server_key_cache_slabs  */
++  YYSYMBOL_server_neg_cache_size = 494,    /* server_neg_cache_size  */
++  YYSYMBOL_server_local_zone = 495,        /* server_local_zone  */
++  YYSYMBOL_server_local_data = 496,        /* server_local_data  */
++  YYSYMBOL_server_local_data_ptr = 497,    /* server_local_data_ptr  */
++  YYSYMBOL_server_minimal_responses = 498, /* server_minimal_responses  */
++  YYSYMBOL_server_rrset_roundrobin = 499,  /* server_rrset_roundrobin  */
++  YYSYMBOL_server_unknown_server_time_limit = 500, /* server_unknown_server_time_limit  */
++  YYSYMBOL_server_max_udp_size = 501,      /* server_max_udp_size  */
++  YYSYMBOL_server_dns64_prefix = 502,      /* server_dns64_prefix  */
++  YYSYMBOL_server_dns64_synthall = 503,    /* server_dns64_synthall  */
++  YYSYMBOL_server_dns64_ignore_aaaa = 504, /* server_dns64_ignore_aaaa  */
++  YYSYMBOL_server_define_tag = 505,        /* server_define_tag  */
++  YYSYMBOL_server_local_zone_tag = 506,    /* server_local_zone_tag  */
++  YYSYMBOL_server_access_control_tag = 507, /* server_access_control_tag  */
++  YYSYMBOL_server_access_control_tag_action = 508, /* server_access_control_tag_action  */
++  YYSYMBOL_server_access_control_tag_data = 509, /* server_access_control_tag_data  */
++  YYSYMBOL_server_local_zone_override = 510, /* server_local_zone_override  */
++  YYSYMBOL_server_access_control_view = 511, /* server_access_control_view  */
++  YYSYMBOL_server_response_ip_tag = 512,   /* server_response_ip_tag  */
++  YYSYMBOL_server_ip_ratelimit = 513,      /* server_ip_ratelimit  */
++  YYSYMBOL_server_ratelimit = 514,         /* server_ratelimit  */
++  YYSYMBOL_server_ip_ratelimit_size = 515, /* server_ip_ratelimit_size  */
++  YYSYMBOL_server_ratelimit_size = 516,    /* server_ratelimit_size  */
++  YYSYMBOL_server_ip_ratelimit_slabs = 517, /* server_ip_ratelimit_slabs  */
++  YYSYMBOL_server_ratelimit_slabs = 518,   /* server_ratelimit_slabs  */
++  YYSYMBOL_server_ratelimit_for_domain = 519, /* server_ratelimit_for_domain  */
++  YYSYMBOL_server_ratelimit_below_domain = 520, /* server_ratelimit_below_domain  */
++  YYSYMBOL_server_ip_ratelimit_factor = 521, /* server_ip_ratelimit_factor  */
++  YYSYMBOL_server_ratelimit_factor = 522,  /* server_ratelimit_factor  */
++  YYSYMBOL_server_low_rtt = 523,           /* server_low_rtt  */
++  YYSYMBOL_server_fast_server_num = 524,   /* server_fast_server_num  */
++  YYSYMBOL_server_fast_server_permil = 525, /* server_fast_server_permil  */
++  YYSYMBOL_server_qname_minimisation = 526, /* server_qname_minimisation  */
++  YYSYMBOL_server_qname_minimisation_strict = 527, /* server_qname_minimisation_strict  */
++  YYSYMBOL_server_pad_responses = 528,     /* server_pad_responses  */
++  YYSYMBOL_server_pad_responses_block_size = 529, /* server_pad_responses_block_size  */
++  YYSYMBOL_server_pad_queries = 530,       /* server_pad_queries  */
++  YYSYMBOL_server_pad_queries_block_size = 531, /* server_pad_queries_block_size  */
++  YYSYMBOL_server_ipsecmod_enabled = 532,  /* server_ipsecmod_enabled  */
++  YYSYMBOL_server_ipsecmod_ignore_bogus = 533, /* server_ipsecmod_ignore_bogus  */
++  YYSYMBOL_server_ipsecmod_hook = 534,     /* server_ipsecmod_hook  */
++  YYSYMBOL_server_ipsecmod_max_ttl = 535,  /* server_ipsecmod_max_ttl  */
++  YYSYMBOL_server_ipsecmod_whitelist = 536, /* server_ipsecmod_whitelist  */
++  YYSYMBOL_server_ipsecmod_strict = 537,   /* server_ipsecmod_strict  */
++  YYSYMBOL_server_edns_client_string = 538, /* server_edns_client_string  */
++  YYSYMBOL_server_edns_client_string_opcode = 539, /* server_edns_client_string_opcode  */
++  YYSYMBOL_stub_name = 540,                /* stub_name  */
++  YYSYMBOL_stub_host = 541,                /* stub_host  */
++  YYSYMBOL_stub_addr = 542,                /* stub_addr  */
++  YYSYMBOL_stub_first = 543,               /* stub_first  */
++  YYSYMBOL_stub_no_cache = 544,            /* stub_no_cache  */
++  YYSYMBOL_stub_ssl_upstream = 545,        /* stub_ssl_upstream  */
++  YYSYMBOL_stub_prime = 546,               /* stub_prime  */
++  YYSYMBOL_forward_name = 547,             /* forward_name  */
++  YYSYMBOL_forward_host = 548,             /* forward_host  */
++  YYSYMBOL_forward_addr = 549,             /* forward_addr  */
++  YYSYMBOL_forward_first = 550,            /* forward_first  */
++  YYSYMBOL_forward_no_cache = 551,         /* forward_no_cache  */
++  YYSYMBOL_forward_ssl_upstream = 552,     /* forward_ssl_upstream  */
++  YYSYMBOL_auth_name = 553,                /* auth_name  */
++  YYSYMBOL_auth_zonefile = 554,            /* auth_zonefile  */
++  YYSYMBOL_auth_master = 555,              /* auth_master  */
++  YYSYMBOL_auth_url = 556,                 /* auth_url  */
++  YYSYMBOL_auth_allow_notify = 557,        /* auth_allow_notify  */
++  YYSYMBOL_auth_for_downstream = 558,      /* auth_for_downstream  */
++  YYSYMBOL_auth_for_upstream = 559,        /* auth_for_upstream  */
++  YYSYMBOL_auth_fallback_enabled = 560,    /* auth_fallback_enabled  */
++  YYSYMBOL_view_name = 561,                /* view_name  */
++  YYSYMBOL_view_local_zone = 562,          /* view_local_zone  */
++  YYSYMBOL_view_response_ip = 563,         /* view_response_ip  */
++  YYSYMBOL_view_response_ip_data = 564,    /* view_response_ip_data  */
++  YYSYMBOL_view_local_data = 565,          /* view_local_data  */
++  YYSYMBOL_view_local_data_ptr = 566,      /* view_local_data_ptr  */
++  YYSYMBOL_view_first = 567,               /* view_first  */
++  YYSYMBOL_rcstart = 568,                  /* rcstart  */
++  YYSYMBOL_contents_rc = 569,              /* contents_rc  */
++  YYSYMBOL_content_rc = 570,               /* content_rc  */
++  YYSYMBOL_rc_control_enable = 571,        /* rc_control_enable  */
++  YYSYMBOL_rc_control_port = 572,          /* rc_control_port  */
++  YYSYMBOL_rc_control_interface = 573,     /* rc_control_interface  */
++  YYSYMBOL_rc_control_use_cert = 574,      /* rc_control_use_cert  */
++  YYSYMBOL_rc_server_key_file = 575,       /* rc_server_key_file  */
++  YYSYMBOL_rc_server_cert_file = 576,      /* rc_server_cert_file  */
++  YYSYMBOL_rc_control_key_file = 577,      /* rc_control_key_file  */
++  YYSYMBOL_rc_control_cert_file = 578,     /* rc_control_cert_file  */
++  YYSYMBOL_dtstart = 579,                  /* dtstart  */
++  YYSYMBOL_contents_dt = 580,              /* contents_dt  */
++  YYSYMBOL_content_dt = 581,               /* content_dt  */
++  YYSYMBOL_dt_dnstap_enable = 582,         /* dt_dnstap_enable  */
++  YYSYMBOL_dt_dnstap_bidirectional = 583,  /* dt_dnstap_bidirectional  */
++  YYSYMBOL_dt_dnstap_socket_path = 584,    /* dt_dnstap_socket_path  */
++  YYSYMBOL_dt_dnstap_ip = 585,             /* dt_dnstap_ip  */
++  YYSYMBOL_dt_dnstap_tls = 586,            /* dt_dnstap_tls  */
++  YYSYMBOL_dt_dnstap_tls_server_name = 587, /* dt_dnstap_tls_server_name  */
++  YYSYMBOL_dt_dnstap_tls_cert_bundle = 588, /* dt_dnstap_tls_cert_bundle  */
++  YYSYMBOL_dt_dnstap_tls_client_key_file = 589, /* dt_dnstap_tls_client_key_file  */
++  YYSYMBOL_dt_dnstap_tls_client_cert_file = 590, /* dt_dnstap_tls_client_cert_file  */
++  YYSYMBOL_dt_dnstap_send_identity = 591,  /* dt_dnstap_send_identity  */
++  YYSYMBOL_dt_dnstap_send_version = 592,   /* dt_dnstap_send_version  */
++  YYSYMBOL_dt_dnstap_identity = 593,       /* dt_dnstap_identity  */
++  YYSYMBOL_dt_dnstap_version = 594,        /* dt_dnstap_version  */
++  YYSYMBOL_dt_dnstap_log_resolver_query_messages = 595, /* dt_dnstap_log_resolver_query_messages  */
++  YYSYMBOL_dt_dnstap_log_resolver_response_messages = 596, /* dt_dnstap_log_resolver_response_messages  */
++  YYSYMBOL_dt_dnstap_log_client_query_messages = 597, /* dt_dnstap_log_client_query_messages  */
++  YYSYMBOL_dt_dnstap_log_client_response_messages = 598, /* dt_dnstap_log_client_response_messages  */
++  YYSYMBOL_dt_dnstap_log_forwarder_query_messages = 599, /* dt_dnstap_log_forwarder_query_messages  */
++  YYSYMBOL_dt_dnstap_log_forwarder_response_messages = 600, /* dt_dnstap_log_forwarder_response_messages  */
++  YYSYMBOL_pythonstart = 601,              /* pythonstart  */
++  YYSYMBOL_contents_py = 602,              /* contents_py  */
++  YYSYMBOL_content_py = 603,               /* content_py  */
++  YYSYMBOL_py_script = 604,                /* py_script  */
++  YYSYMBOL_dynlibstart = 605,              /* dynlibstart  */
++  YYSYMBOL_contents_dl = 606,              /* contents_dl  */
++  YYSYMBOL_content_dl = 607,               /* content_dl  */
++  YYSYMBOL_dl_file = 608,                  /* dl_file  */
++  YYSYMBOL_server_disable_dnssec_lame_check = 609, /* server_disable_dnssec_lame_check  */
++  YYSYMBOL_server_log_identity = 610,      /* server_log_identity  */
++  YYSYMBOL_server_response_ip = 611,       /* server_response_ip  */
++  YYSYMBOL_server_response_ip_data = 612,  /* server_response_ip_data  */
++  YYSYMBOL_dnscstart = 613,                /* dnscstart  */
++  YYSYMBOL_contents_dnsc = 614,            /* contents_dnsc  */
++  YYSYMBOL_content_dnsc = 615,             /* content_dnsc  */
++  YYSYMBOL_dnsc_dnscrypt_enable = 616,     /* dnsc_dnscrypt_enable  */
++  YYSYMBOL_dnsc_dnscrypt_port = 617,       /* dnsc_dnscrypt_port  */
++  YYSYMBOL_dnsc_dnscrypt_provider = 618,   /* dnsc_dnscrypt_provider  */
++  YYSYMBOL_dnsc_dnscrypt_provider_cert = 619, /* dnsc_dnscrypt_provider_cert  */
++  YYSYMBOL_dnsc_dnscrypt_provider_cert_rotated = 620, /* dnsc_dnscrypt_provider_cert_rotated  */
++  YYSYMBOL_dnsc_dnscrypt_secret_key = 621, /* dnsc_dnscrypt_secret_key  */
++  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_size = 622, /* dnsc_dnscrypt_shared_secret_cache_size  */
++  YYSYMBOL_dnsc_dnscrypt_shared_secret_cache_slabs = 623, /* dnsc_dnscrypt_shared_secret_cache_slabs  */
++  YYSYMBOL_dnsc_dnscrypt_nonce_cache_size = 624, /* dnsc_dnscrypt_nonce_cache_size  */
++  YYSYMBOL_dnsc_dnscrypt_nonce_cache_slabs = 625, /* dnsc_dnscrypt_nonce_cache_slabs  */
++  YYSYMBOL_cachedbstart = 626,             /* cachedbstart  */
++  YYSYMBOL_contents_cachedb = 627,         /* contents_cachedb  */
++  YYSYMBOL_content_cachedb = 628,          /* content_cachedb  */
++  YYSYMBOL_cachedb_backend_name = 629,     /* cachedb_backend_name  */
++  YYSYMBOL_cachedb_secret_seed = 630,      /* cachedb_secret_seed  */
++  YYSYMBOL_redis_server_host = 631,        /* redis_server_host  */
++  YYSYMBOL_redis_server_port = 632,        /* redis_server_port  */
++  YYSYMBOL_redis_timeout = 633,            /* redis_timeout  */
++  YYSYMBOL_redis_expire_records = 634,     /* redis_expire_records  */
++  YYSYMBOL_server_tcp_connection_limit = 635, /* server_tcp_connection_limit  */
++  YYSYMBOL_ipsetstart = 636,               /* ipsetstart  */
++  YYSYMBOL_contents_ipset = 637,           /* contents_ipset  */
++  YYSYMBOL_content_ipset = 638,            /* content_ipset  */
++  YYSYMBOL_ipset_name_v4 = 639,            /* ipset_name_v4  */
++  YYSYMBOL_ipset_name_v6 = 640             /* ipset_name_v6  */
+ };
+ typedef enum yysymbol_kind_t yysymbol_kind_t;
+ #ifdef short
+ # undef short
+ #endif
+ /* 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
- #ifndef YYSTYPE_IS_DECLARED
- #define YYSTYPE_IS_DECLARED 1
- typedef union {
-       char*   str;
- } YYSTYPE;
- #endif /* !YYSTYPE_IS_DECLARED */
- #line 59 "util/configparser.c"
- /* compatibility with bison */
- #ifdef YYPARSE_PARAM
- /* compatibility with FreeBSD */
- # ifdef YYPARSE_PARAM_TYPE
- #  define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
+ /* 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 yytype_int16;
+ #endif
+ #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 short yytype_uint8;
+ #endif
+ #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 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 YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
+ #  define YYPTRDIFF_T long
+ #  define YYPTRDIFF_MAXIMUM LONG_MAX
  # endif
+ #endif
+ #ifndef YYSIZE_T
+ # ifdef __SIZE_TYPE__
+ #  define YYSIZE_T __SIZE_TYPE__
+ # elif defined size_t
+ #  define YYSIZE_T size_t
+ # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+ #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+ #  define YYSIZE_T size_t
+ # else
+ #  define YYSIZE_T unsigned
+ # endif
+ #endif
+ #define YYSIZE_MAXIMUM                                  \
+   YY_CAST (YYPTRDIFF_T,                                 \
+            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
+             ? YYPTRDIFF_MAXIMUM                         \
+             : YY_CAST (YYSIZE_T, -1)))
+ #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+ /* Stored state numbers (used for stacks). */
+ typedef yytype_int16 yy_state_t;
+ /* State numbers in computations.  */
+ typedef int yy_state_fast_t;
+ #ifndef YY_
+ # if defined YYENABLE_NLS && YYENABLE_NLS
+ #  if ENABLE_NLS
+ #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+ #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+ #  endif
+ # endif
+ # ifndef YY_
+ #  define YY_(Msgid) Msgid
+ # endif
+ #endif
+ #ifndef YY_ATTRIBUTE_PURE
+ # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+ #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+ # else
+ #  define YY_ATTRIBUTE_PURE
+ # endif
+ #endif
+ #ifndef YY_ATTRIBUTE_UNUSED
+ # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+ #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+ # else
+ #  define YY_ATTRIBUTE_UNUSED
+ # endif
+ #endif
+ /* Suppress unused-variable warnings by "using" E.  */
+ #if ! defined lint || defined __GNUC__
+ # define YYUSE(E) ((void) (E))
  #else
- # define YYPARSE_DECL() yyparse(void)
+ # define YYUSE(E) /* empty */
  #endif
  
- /* Parameters sent to lex. */
- #ifdef YYLEX_PARAM
- # define YYLEX_DECL() yylex(void *YYLEX_PARAM)
- # define YYLEX yylex(YYLEX_PARAM)
+ #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
- # define YYLEX_DECL() yylex(void)
- # define YYLEX yylex()
+ # define YY_INITIAL_VALUE(Value) Value
+ #endif
+ #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
  
- /* Parameters sent to yyerror. */
- #ifndef YYERROR_DECL
- #define YYERROR_DECL() yyerror(const char *s)
+ #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 YYERROR_CALL
- #define YYERROR_CALL(msg) yyerror(msg)
+ #ifndef YY_IGNORE_USELESS_CAST_BEGIN
+ # define YY_IGNORE_USELESS_CAST_BEGIN
+ # define YY_IGNORE_USELESS_CAST_END
  #endif
  
- extern int YYPARSE_DECL();
- #define SPACE 257
- #define LETTER 258
- #define NEWLINE 259
- #define COMMENT 260
- #define COLON 261
- #define ANY 262
- #define ZONESTR 263
- #define STRING_ARG 264
- #define VAR_SERVER 265
- #define VAR_VERBOSITY 266
- #define VAR_NUM_THREADS 267
- #define VAR_PORT 268
- #define VAR_OUTGOING_RANGE 269
- #define VAR_INTERFACE 270
- #define VAR_PREFER_IP4 271
- #define VAR_DO_IP4 272
- #define VAR_DO_IP6 273
- #define VAR_PREFER_IP6 274
- #define VAR_DO_UDP 275
- #define VAR_DO_TCP 276
- #define VAR_TCP_MSS 277
- #define VAR_OUTGOING_TCP_MSS 278
- #define VAR_TCP_IDLE_TIMEOUT 279
- #define VAR_EDNS_TCP_KEEPALIVE 280
- #define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 281
- #define VAR_CHROOT 282
- #define VAR_USERNAME 283
- #define VAR_DIRECTORY 284
- #define VAR_LOGFILE 285
- #define VAR_PIDFILE 286
- #define VAR_MSG_CACHE_SIZE 287
- #define VAR_MSG_CACHE_SLABS 288
- #define VAR_NUM_QUERIES_PER_THREAD 289
- #define VAR_RRSET_CACHE_SIZE 290
- #define VAR_RRSET_CACHE_SLABS 291
- #define VAR_OUTGOING_NUM_TCP 292
- #define VAR_INFRA_HOST_TTL 293
- #define VAR_INFRA_LAME_TTL 294
- #define VAR_INFRA_CACHE_SLABS 295
- #define VAR_INFRA_CACHE_NUMHOSTS 296
- #define VAR_INFRA_CACHE_LAME_SIZE 297
- #define VAR_NAME 298
- #define VAR_STUB_ZONE 299
- #define VAR_STUB_HOST 300
- #define VAR_STUB_ADDR 301
- #define VAR_TARGET_FETCH_POLICY 302
- #define VAR_HARDEN_SHORT_BUFSIZE 303
- #define VAR_HARDEN_LARGE_QUERIES 304
- #define VAR_FORWARD_ZONE 305
- #define VAR_FORWARD_HOST 306
- #define VAR_FORWARD_ADDR 307
- #define VAR_DO_NOT_QUERY_ADDRESS 308
- #define VAR_HIDE_IDENTITY 309
- #define VAR_HIDE_VERSION 310
- #define VAR_IDENTITY 311
- #define VAR_VERSION 312
- #define VAR_HARDEN_GLUE 313
- #define VAR_MODULE_CONF 314
- #define VAR_TRUST_ANCHOR_FILE 315
- #define VAR_TRUST_ANCHOR 316
- #define VAR_VAL_OVERRIDE_DATE 317
- #define VAR_BOGUS_TTL 318
- #define VAR_VAL_CLEAN_ADDITIONAL 319
- #define VAR_VAL_PERMISSIVE_MODE 320
- #define VAR_INCOMING_NUM_TCP 321
- #define VAR_MSG_BUFFER_SIZE 322
- #define VAR_KEY_CACHE_SIZE 323
- #define VAR_KEY_CACHE_SLABS 324
- #define VAR_TRUSTED_KEYS_FILE 325
- #define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 326
- #define VAR_USE_SYSLOG 327
- #define VAR_OUTGOING_INTERFACE 328
- #define VAR_ROOT_HINTS 329
- #define VAR_DO_NOT_QUERY_LOCALHOST 330
- #define VAR_CACHE_MAX_TTL 331
- #define VAR_HARDEN_DNSSEC_STRIPPED 332
- #define VAR_ACCESS_CONTROL 333
- #define VAR_LOCAL_ZONE 334
- #define VAR_LOCAL_DATA 335
- #define VAR_INTERFACE_AUTOMATIC 336
- #define VAR_STATISTICS_INTERVAL 337
- #define VAR_DO_DAEMONIZE 338
- #define VAR_USE_CAPS_FOR_ID 339
- #define VAR_STATISTICS_CUMULATIVE 340
- #define VAR_OUTGOING_PORT_PERMIT 341
- #define VAR_OUTGOING_PORT_AVOID 342
- #define VAR_DLV_ANCHOR_FILE 343
- #define VAR_DLV_ANCHOR 344
- #define VAR_NEG_CACHE_SIZE 345
- #define VAR_HARDEN_REFERRAL_PATH 346
- #define VAR_PRIVATE_ADDRESS 347
- #define VAR_PRIVATE_DOMAIN 348
- #define VAR_REMOTE_CONTROL 349
- #define VAR_CONTROL_ENABLE 350
- #define VAR_CONTROL_INTERFACE 351
- #define VAR_CONTROL_PORT 352
- #define VAR_SERVER_KEY_FILE 353
- #define VAR_SERVER_CERT_FILE 354
- #define VAR_CONTROL_KEY_FILE 355
- #define VAR_CONTROL_CERT_FILE 356
- #define VAR_CONTROL_USE_CERT 357
- #define VAR_EXTENDED_STATISTICS 358
- #define VAR_LOCAL_DATA_PTR 359
- #define VAR_JOSTLE_TIMEOUT 360
- #define VAR_STUB_PRIME 361
- #define VAR_UNWANTED_REPLY_THRESHOLD 362
- #define VAR_LOG_TIME_ASCII 363
- #define VAR_DOMAIN_INSECURE 364
- #define VAR_PYTHON 365
- #define VAR_PYTHON_SCRIPT 366
- #define VAR_VAL_SIG_SKEW_MIN 367
- #define VAR_VAL_SIG_SKEW_MAX 368
- #define VAR_CACHE_MIN_TTL 369
- #define VAR_VAL_LOG_LEVEL 370
- #define VAR_AUTO_TRUST_ANCHOR_FILE 371
- #define VAR_KEEP_MISSING 372
- #define VAR_ADD_HOLDDOWN 373
- #define VAR_DEL_HOLDDOWN 374
- #define VAR_SO_RCVBUF 375
- #define VAR_EDNS_BUFFER_SIZE 376
- #define VAR_PREFETCH 377
- #define VAR_PREFETCH_KEY 378
- #define VAR_SO_SNDBUF 379
- #define VAR_SO_REUSEPORT 380
- #define VAR_HARDEN_BELOW_NXDOMAIN 381
- #define VAR_IGNORE_CD_FLAG 382
- #define VAR_LOG_QUERIES 383
- #define VAR_LOG_REPLIES 384
- #define VAR_LOG_LOCAL_ACTIONS 385
- #define VAR_TCP_UPSTREAM 386
- #define VAR_SSL_UPSTREAM 387
- #define VAR_SSL_SERVICE_KEY 388
- #define VAR_SSL_SERVICE_PEM 389
- #define VAR_SSL_PORT 390
- #define VAR_FORWARD_FIRST 391
- #define VAR_STUB_SSL_UPSTREAM 392
- #define VAR_FORWARD_SSL_UPSTREAM 393
- #define VAR_TLS_CERT_BUNDLE 394
- #define VAR_STUB_FIRST 395
- #define VAR_MINIMAL_RESPONSES 396
- #define VAR_RRSET_ROUNDROBIN 397
- #define VAR_MAX_UDP_SIZE 398
- #define VAR_DELAY_CLOSE 399
- #define VAR_UNBLOCK_LAN_ZONES 400
- #define VAR_INSECURE_LAN_ZONES 401
- #define VAR_INFRA_CACHE_MIN_RTT 402
- #define VAR_DNS64_PREFIX 403
- #define VAR_DNS64_SYNTHALL 404
- #define VAR_DNS64_IGNORE_AAAA 405
- #define VAR_DNSTAP 406
- #define VAR_DNSTAP_ENABLE 407
- #define VAR_DNSTAP_SOCKET_PATH 408
- #define VAR_DNSTAP_IP 409
- #define VAR_DNSTAP_TLS 410
- #define VAR_DNSTAP_TLS_SERVER_NAME 411
- #define VAR_DNSTAP_TLS_CERT_BUNDLE 412
- #define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 413
- #define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 414
- #define VAR_DNSTAP_SEND_IDENTITY 415
- #define VAR_DNSTAP_SEND_VERSION 416
- #define VAR_DNSTAP_IDENTITY 417
- #define VAR_DNSTAP_VERSION 418
- #define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 419
- #define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 420
- #define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 421
- #define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 422
- #define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 423
- #define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 424
- #define VAR_RESPONSE_IP_TAG 425
- #define VAR_RESPONSE_IP 426
- #define VAR_RESPONSE_IP_DATA 427
- #define VAR_HARDEN_ALGO_DOWNGRADE 428
- #define VAR_IP_TRANSPARENT 429
- #define VAR_IP_DSCP 430
- #define VAR_DISABLE_DNSSEC_LAME_CHECK 431
- #define VAR_IP_RATELIMIT 432
- #define VAR_IP_RATELIMIT_SLABS 433
- #define VAR_IP_RATELIMIT_SIZE 434
- #define VAR_RATELIMIT 435
- #define VAR_RATELIMIT_SLABS 436
- #define VAR_RATELIMIT_SIZE 437
- #define VAR_RATELIMIT_FOR_DOMAIN 438
- #define VAR_RATELIMIT_BELOW_DOMAIN 439
- #define VAR_IP_RATELIMIT_FACTOR 440
- #define VAR_RATELIMIT_FACTOR 441
- #define VAR_SEND_CLIENT_SUBNET 442
- #define VAR_CLIENT_SUBNET_ZONE 443
- #define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 444
- #define VAR_CLIENT_SUBNET_OPCODE 445
- #define VAR_MAX_CLIENT_SUBNET_IPV4 446
- #define VAR_MAX_CLIENT_SUBNET_IPV6 447
- #define VAR_MIN_CLIENT_SUBNET_IPV4 448
- #define VAR_MIN_CLIENT_SUBNET_IPV6 449
- #define VAR_MAX_ECS_TREE_SIZE_IPV4 450
- #define VAR_MAX_ECS_TREE_SIZE_IPV6 451
- #define VAR_CAPS_WHITELIST 452
- #define VAR_CACHE_MAX_NEGATIVE_TTL 453
- #define VAR_PERMIT_SMALL_HOLDDOWN 454
- #define VAR_QNAME_MINIMISATION 455
- #define VAR_QNAME_MINIMISATION_STRICT 456
- #define VAR_IP_FREEBIND 457
- #define VAR_DEFINE_TAG 458
- #define VAR_LOCAL_ZONE_TAG 459
- #define VAR_ACCESS_CONTROL_TAG 460
- #define VAR_LOCAL_ZONE_OVERRIDE 461
- #define VAR_ACCESS_CONTROL_TAG_ACTION 462
- #define VAR_ACCESS_CONTROL_TAG_DATA 463
- #define VAR_VIEW 464
- #define VAR_ACCESS_CONTROL_VIEW 465
- #define VAR_VIEW_FIRST 466
- #define VAR_SERVE_EXPIRED 467
- #define VAR_SERVE_EXPIRED_TTL 468
- #define VAR_SERVE_EXPIRED_TTL_RESET 469
- #define VAR_SERVE_EXPIRED_REPLY_TTL 470
- #define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 471
- #define VAR_FAKE_DSA 472
- #define VAR_FAKE_SHA1 473
- #define VAR_LOG_IDENTITY 474
- #define VAR_HIDE_TRUSTANCHOR 475
- #define VAR_TRUST_ANCHOR_SIGNALING 476
- #define VAR_AGGRESSIVE_NSEC 477
- #define VAR_USE_SYSTEMD 478
- #define VAR_SHM_ENABLE 479
- #define VAR_SHM_KEY 480
- #define VAR_ROOT_KEY_SENTINEL 481
- #define VAR_DNSCRYPT 482
- #define VAR_DNSCRYPT_ENABLE 483
- #define VAR_DNSCRYPT_PORT 484
- #define VAR_DNSCRYPT_PROVIDER 485
- #define VAR_DNSCRYPT_SECRET_KEY 486
- #define VAR_DNSCRYPT_PROVIDER_CERT 487
- #define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 488
- #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 489
- #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 490
- #define VAR_DNSCRYPT_NONCE_CACHE_SIZE 491
- #define VAR_DNSCRYPT_NONCE_CACHE_SLABS 492
- #define VAR_PAD_RESPONSES 493
- #define VAR_PAD_RESPONSES_BLOCK_SIZE 494
- #define VAR_PAD_QUERIES 495
- #define VAR_PAD_QUERIES_BLOCK_SIZE 496
- #define VAR_IPSECMOD_ENABLED 497
- #define VAR_IPSECMOD_HOOK 498
- #define VAR_IPSECMOD_IGNORE_BOGUS 499
- #define VAR_IPSECMOD_MAX_TTL 500
- #define VAR_IPSECMOD_WHITELIST 501
- #define VAR_IPSECMOD_STRICT 502
- #define VAR_CACHEDB 503
- #define VAR_CACHEDB_BACKEND 504
- #define VAR_CACHEDB_SECRETSEED 505
- #define VAR_CACHEDB_REDISHOST 506
- #define VAR_CACHEDB_REDISPORT 507
- #define VAR_CACHEDB_REDISTIMEOUT 508
- #define VAR_CACHEDB_REDISEXPIRERECORDS 509
- #define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 510
- #define VAR_FOR_UPSTREAM 511
- #define VAR_AUTH_ZONE 512
- #define VAR_ZONEFILE 513
- #define VAR_MASTER 514
- #define VAR_URL 515
- #define VAR_FOR_DOWNSTREAM 516
- #define VAR_FALLBACK_ENABLED 517
- #define VAR_TLS_ADDITIONAL_PORT 518
- #define VAR_LOW_RTT 519
- #define VAR_LOW_RTT_PERMIL 520
- #define VAR_FAST_SERVER_PERMIL 521
- #define VAR_FAST_SERVER_NUM 522
- #define VAR_ALLOW_NOTIFY 523
- #define VAR_TLS_WIN_CERT 524
- #define VAR_TCP_CONNECTION_LIMIT 525
- #define VAR_FORWARD_NO_CACHE 526
- #define VAR_STUB_NO_CACHE 527
- #define VAR_LOG_SERVFAIL 528
- #define VAR_DENY_ANY 529
- #define VAR_UNKNOWN_SERVER_TIME_LIMIT 530
- #define VAR_LOG_TAG_QUERYREPLY 531
- #define VAR_STREAM_WAIT_SIZE 532
- #define VAR_TLS_CIPHERS 533
- #define VAR_TLS_CIPHERSUITES 534
- #define VAR_IPSET 535
- #define VAR_IPSET_NAME_V4 536
- #define VAR_IPSET_NAME_V6 537
- #define VAR_TLS_SESSION_TICKET_KEYS 538
- #define VAR_RPZ 539
- #define VAR_TAGS 540
- #define VAR_RPZ_ACTION_OVERRIDE 541
- #define VAR_RPZ_CNAME_OVERRIDE 542
- #define VAR_RPZ_LOG 543
- #define VAR_RPZ_LOG_NAME 544
- #define YYERRCODE 256
- typedef short YYINT;
- static const YYINT yylhs[] = {                           -1,
-     0,    0,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    2,    3,    3,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-    26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-     4,    5,    5,  220,  220,  220,  220,  220,  220,  220,
-     6,    7,    7,  228,  228,  228,  228,  228,  228,   14,
-    15,   15,  235,  235,  235,  235,  235,  235,  235,   22,
-    23,   23,  243,  243,  243,  243,  243,  243,  243,  243,
-   252,  253,  254,  255,  256,   24,   25,   25,  257,  257,
-   257,  257,  257,  257,  257,  257,  257,  257,   27,   28,
-    91,   94,  103,  191,  192,   29,  156,  157,  158,  159,
-   160,  161,  162,  163,  164,  165,   42,   82,   30,   95,
-    96,   53,   75,   90,   31,   32,   35,   36,   33,   34,
-    37,   38,   39,   40,   41,  126,  203,  127,  129,  130,
-   131,  205,  210,  206,  217,  218,  219,  187,   92,   81,
-   107,  124,  125,  215,  212,  128,   43,   44,   45,   46,
-    47,   83,   97,   98,  113,   69,   79,   70,  195,  196,
-   108,   63,   64,  194,   65,   66,  117,  121,  135,  144,
-   170,  147,  216,  118,   76,   48,   49,   50,  105,  136,
-   137,  138,   51,   52,   54,   55,   57,   58,   56,  142,
-    59,   60,   61,   67,   86,  122,  100,  143,   93,  166,
-   101,  102,  119,  120,  213,  106,   62,   84,   87,   68,
-    71,  109,  110,   85,  167,  111,   72,   73,   74,  204,
-   123,  180,  181,  182,  183,  184,  185,  193,  112,   80,
-   114,  115,  116,  168,   77,   78,   99,   88,   89,  104,
-   132,  133,  214,  134,  139,  140,  141,  171,  172,  174,
-   176,  177,  175,  178,  188,  145,  146,  150,  151,  148,
-   149,  152,  153,  155,  154,  207,  209,  208,  169,  179,
-   258,  259,  260,  261,  197,  199,  198,  200,  201,  202,
-   221,  222,  223,  225,  226,  227,  224,  229,  230,  231,
-   232,  233,  234,  244,  245,  246,  247,  251,  248,  249,
-   250,  236,  237,  240,  241,  238,  242,  239,   10,   11,
-    11,  262,  262,  262,  262,  262,  262,  262,  262,  263,
-   265,  264,  270,  266,  267,  268,  269,   12,   13,   13,
-   271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
-   271,  271,  271,  271,  271,  271,  271,  271,  272,  273,
-   274,  275,  276,  277,  278,  279,  280,  281,  282,  283,
-   284,  285,  286,  287,  288,  289,    8,    9,    9,  290,
-   291,  173,  186,  189,  190,   16,   17,   17,  292,  292,
-   292,  292,  292,  292,  292,  292,  292,  292,  293,  294,
-   295,  297,  298,  296,  299,  300,  301,  302,   18,   19,
-    19,  303,  303,  303,  303,  303,  303,  304,  305,  306,
-   307,  308,  309,  211,   20,   21,   21,  310,  310,  311,
-   312,
+ #define YY_ASSERT(E) ((void) (0 && (E)))
+ #if !defined yyoverflow
+ /* The parser invokes alloca or malloc; define the necessary symbols.  */
+ # ifdef YYSTACK_USE_ALLOCA
+ #  if YYSTACK_USE_ALLOCA
+ #   ifdef __GNUC__
+ #    define YYSTACK_ALLOC __builtin_alloca
+ #   elif defined __BUILTIN_VA_ARG_INCR
+ #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+ #   elif defined _AIX
+ #    define YYSTACK_ALLOC __alloca
+ #   elif defined _MSC_VER
+ #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+ #    define alloca _alloca
+ #   else
+ #    define YYSTACK_ALLOC alloca
+ #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+ #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
+ #     ifndef EXIT_SUCCESS
+ #      define EXIT_SUCCESS 0
+ #     endif
+ #    endif
+ #   endif
+ #  endif
+ # endif
+ # ifdef YYSTACK_ALLOC
+    /* Pacify GCC's 'empty if-body' warning.  */
+ #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ #  ifndef YYSTACK_ALLOC_MAXIMUM
+     /* The OS might guarantee only one guard page at the bottom of the stack,
+        and a page size can be as small as 4096 bytes.  So we cannot safely
+        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+        to allow for a few compiler-allocated temporary stack slots.  */
+ #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+ #  endif
+ # else
+ #  define YYSTACK_ALLOC YYMALLOC
+ #  define YYSTACK_FREE YYFREE
+ #  ifndef YYSTACK_ALLOC_MAXIMUM
+ #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+ #  endif
+ #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+        && ! ((defined YYMALLOC || defined malloc) \
+              && (defined YYFREE || defined free)))
+ #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+ #   ifndef EXIT_SUCCESS
+ #    define EXIT_SUCCESS 0
+ #   endif
+ #  endif
+ #  ifndef YYMALLOC
+ #   define YYMALLOC malloc
+ #   if ! defined malloc && ! defined EXIT_SUCCESS
+ void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+ #   endif
+ #  endif
+ #  ifndef YYFREE
+ #   define YYFREE free
+ #   if ! defined free && ! defined EXIT_SUCCESS
+ void free (void *); /* INFRINGES ON USER NAME SPACE */
+ #   endif
+ #  endif
+ # endif
+ #endif /* !defined yyoverflow */
+ #if (! defined yyoverflow \
+      && (! defined __cplusplus \
+          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ /* A type that is properly aligned for any stack member.  */
+ union yyalloc
+ {
+   yy_state_t yyss_alloc;
+   YYSTYPE yyvs_alloc;
  };
- static const YYINT yylen[] = {                            2,
-     0,    2,    2,    2,    2,    2,    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,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-     1,    1,    1,    1,    1,    1,    1,    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,    2,    0,    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,    2,    2,    2,    2,    1,    2,    0,    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,    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,    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,    2,    2,    2,    2,    2,    2,    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,    2,    2,
-     2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
-     2,    2,    2,    2,    2,    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,
+ /* The size of the maximum gap between one aligned stack and the next.  */
+ # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+ /* The size of an array large to enough to hold all stacks, each with
+    N elements.  */
+ # define YYSTACK_BYTES(N) \
+      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+       + YYSTACK_GAP_MAXIMUM)
+ # define YYCOPY_NEEDED 1
+ /* Relocate STACK from its old location to the new one.  The
+    local variables YYSIZE and YYSTACKSIZE give the old and new number of
+    elements in the stack, and YYPTR gives the new location of the
+    stack.  Advance YYPTR to a properly aligned location for the next
+    stack.  */
+ # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
+     do                                                                  \
+       {                                                                 \
+         YYPTRDIFF_T yynewbytes;                                         \
+         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
+         Stack = &yyptr->Stack_alloc;                                    \
+         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
+       }                                                                 \
+     while (0)
+ #endif
+ #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+ /* Copy COUNT objects from SRC to DST.  The source and destination do
+    not overlap.  */
+ # ifndef YYCOPY
+ #  if defined __GNUC__ && 1 < __GNUC__
+ #   define YYCOPY(Dst, Src, Count) \
+       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+ #  else
+ #   define YYCOPY(Dst, Src, Count)              \
+       do                                        \
+         {                                       \
+           YYPTRDIFF_T yyi;                      \
+           for (yyi = 0; yyi < (Count); yyi++)   \
+             (Dst)[yyi] = (Src)[yyi];            \
+         }                                       \
+       while (0)
+ #  endif
+ # endif
+ #endif /* !YYCOPY_NEEDED */
+ /* YYFINAL -- State number of the termination state.  */
+ #define YYFINAL  2
+ /* YYLAST -- Last index in YYTABLE.  */
 -#define YYLAST   642
++#define YYLAST   650
+ /* YYNTOKENS -- Number of terminals.  */
 -#define YYNTOKENS  304
++#define YYNTOKENS  308
+ /* YYNNTS -- Number of nonterminals.  */
 -#define YYNNTS  329
++#define YYNNTS  333
+ /* YYNRULES -- Number of rules.  */
 -#define YYNRULES  634
++#define YYNRULES  642
+ /* YYNSTATES -- Number of states.  */
 -#define YYNSTATES  942
++#define YYNSTATES  954
+ /* YYMAXUTOK -- Last valid token kind.  */
 -#define YYMAXUTOK   558
++#define YYMAXUTOK   562
+ /* 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[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,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+       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,    77,    78,    79,    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,   121,   122,   123,   124,
+      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 -     295,   296,   297,   298,   299,   300,   301,   302,   303
++     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
++     305,   306,   307
  };
- static const YYINT yydefred[] = {                         1,
-     0,   15,  211,  221,  489,  547,  508,  230,  556,  579,
-   240,  595,  256,    2,   17,  213,  223,  549,  491,  510,
-   232,  558,  581,  597,  242,  258,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,   16,   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,   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,   77,   78,   79,   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,  121,  122,  123,  124,  125,
-   126,  127,  128,  129,  130,  131,  132,  133,  134,  135,
-   136,  137,  138,  139,  140,  141,  142,  143,  144,  145,
-   146,  147,  148,  149,  150,  151,  152,  153,  154,  155,
-   156,  157,  158,  159,  160,  161,  162,  163,  164,  165,
-   166,  167,  168,  169,  170,  171,  172,  173,  174,  175,
-   176,  177,  178,  179,  180,  181,  182,  183,  184,  185,
-   186,  187,  188,  189,  190,  191,  192,  193,  194,  195,
-   196,  197,  198,  199,  200,  201,  202,  203,  204,  205,
-   206,  207,  208,  209,  210,    0,    0,    0,    0,    0,
-     0,    0,  212,  214,  215,  216,  217,  218,  219,  220,
-     0,    0,    0,    0,    0,    0,  222,  224,  225,  226,
-   227,  228,  229,    0,  548,  550,    0,    0,    0,    0,
-     0,    0,    0,    0,  490,  492,  493,  494,  495,  496,
-   497,  498,  499,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,  509,  511,  512,  513,  514,  515,  516,  517,  518,
-   519,  520,  521,  522,  523,  524,  525,  526,  527,  528,
-     0,    0,    0,    0,    0,    0,    0,  231,  233,  234,
-   235,  236,  237,  238,  239,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,  557,  559,  560,  561,  562,
-   563,  564,  565,  566,  567,  568,    0,    0,    0,    0,
-     0,    0,  580,  582,  583,  584,  585,  586,  587,    0,
-     0,  596,  598,  599,    0,    0,    0,    0,    0,    0,
-     0,    0,  241,  243,  244,  245,  246,  247,  248,  249,
-   250,    0,    0,    0,    0,    0,  259,  260,  262,  263,
-   264,  261,  265,  266,  267,  268,  257,  270,  269,  276,
-   289,  287,  299,  295,  296,  300,  297,  298,  301,  302,
-   303,  304,  305,  327,  328,  329,  330,  331,  356,  357,
-   358,  363,  364,  292,  365,  366,  369,  367,  368,  371,
-   372,  373,  387,  342,  343,  345,  346,  374,  390,  336,
-   338,  391,  397,  398,  399,  293,  355,  415,  416,  337,
-   410,  320,  288,  332,  388,  394,  375,    0,    0,  419,
-   294,  271,  319,  379,  272,  290,  291,  333,  334,  417,
-   377,  381,  382,  273,  420,  359,  386,  321,  341,  392,
-   393,  396,  409,  335,  413,  411,  412,  347,  354,  383,
-   384,  348,  349,  376,  401,  322,  323,  326,  306,  308,
-   309,  310,  311,  312,  421,  422,  424,  360,  361,  362,
-   370,  425,  426,  427,    0,    0,    0,  378,  350,  352,
-   552,  436,  440,  438,  437,  441,  439,    0,    0,  444,
-   445,  277,  278,  279,  280,  281,  282,  283,  284,  285,
-   286,  380,  395,  414,  449,  450,  351,  428,    0,    0,
-     0,    0,    0,    0,  402,  403,  404,  405,  406,  407,
-   408,  553,  344,  339,  400,  318,  274,  275,  340,  455,
-   457,  456,  458,  459,  460,  307,  314,  446,  448,  447,
-   313,    0,  325,  385,  423,  324,  353,  315,  316,  317,
-   461,  462,  463,  467,  466,  464,  465,  468,  469,  470,
-   471,  473,  472,  551,  500,  502,  501,  504,  505,  506,
-   507,  503,  529,  530,  531,  532,  533,  534,  535,  536,
-   537,  538,  539,  540,  541,  542,  543,  544,  545,  546,
-   482,    0,  486,  487,    0,    0,  488,  569,  570,  571,
-   574,  572,  573,  575,  576,  577,  578,  588,  589,  590,
-   591,  592,  593,  600,  601,  474,  480,  475,  476,  477,
-   479,  481,  478,  251,  252,  253,  254,  255,  389,  418,
-   435,  554,  555,  442,  443,  429,  430,    0,    0,    0,
-   434,  594,  483,  484,  485,  433,  431,  432,
+ #if YYDEBUG
+   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
+ static const yytype_int16 yyrline[] =
+ {
 -       0,   185,   185,   185,   186,   186,   187,   187,   188,   188,
 -     188,   189,   189,   190,   190,   191,   191,   192,   194,   200,
 -     205,   206,   207,   207,   207,   208,   208,   209,   209,   209,
 -     210,   210,   211,   211,   211,   212,   212,   213,   213,   213,
 -     214,   214,   214,   215,   215,   216,   216,   217,   217,   218,
 -     218,   219,   219,   220,   220,   221,   221,   222,   222,   223,
 -     223,   223,   224,   224,   224,   225,   225,   225,   226,   226,
 -     227,   227,   228,   228,   229,   229,   230,   230,   230,   231,
 -     231,   232,   232,   233,   233,   233,   234,   234,   235,   235,
 -     236,   236,   237,   237,   237,   238,   238,   239,   239,   240,
 -     240,   241,   241,   242,   242,   243,   243,   243,   244,   244,
 -     245,   245,   245,   246,   246,   246,   247,   247,   247,   248,
 -     248,   248,   248,   249,   250,   250,   250,   251,   251,   251,
 -     252,   252,   253,   253,   254,   254,   254,   255,   255,   255,
 -     256,   256,   257,   257,   257,   258,   258,   259,   259,   259,
 -     260,   260,   261,   261,   262,   262,   263,   264,   264,   265,
 -     265,   266,   266,   267,   268,   268,   269,   269,   270,   270,
 -     271,   271,   272,   272,   273,   273,   273,   274,   274,   275,
 -     275,   276,   276,   277,   277,   278,   278,   279,   279,   280,
 -     280,   280,   281,   281,   281,   282,   282,   282,   283,   283,
 -     284,   285,   285,   286,   286,   287,   287,   288,   288,   289,
 -     289,   289,   290,   290,   290,   291,   291,   291,   292,   292,
 -     293,   293,   294,   294,   295,   295,   296,   296,   298,   310,
 -     311,   312,   312,   312,   312,   312,   313,   313,   315,   327,
 -     328,   329,   329,   329,   329,   330,   330,   332,   346,   347,
 -     348,   348,   348,   348,   349,   349,   349,   351,   368,   369,
 -     370,   370,   370,   370,   371,   371,   371,   372,   375,   394,
 -     411,   419,   429,   437,   454,   455,   456,   456,   456,   456,
 -     456,   457,   457,   457,   458,   458,   460,   469,   478,   489,
 -     498,   507,   516,   527,   536,   548,   562,   577,   588,   605,
 -     622,   639,   656,   671,   686,   699,   714,   723,   732,   741,
 -     750,   759,   768,   777,   786,   795,   804,   813,   822,   831,
 -     840,   853,   862,   875,   884,   893,   902,   909,   916,   925,
 -     932,   941,   949,   956,   963,   971,   980,   988,  1004,  1012,
 -    1020,  1028,  1036,  1044,  1053,  1062,  1076,  1085,  1094,  1103,
 -    1112,  1121,  1130,  1137,  1144,  1170,  1178,  1185,  1192,  1199,
 -    1206,  1214,  1222,  1230,  1237,  1248,  1259,  1266,  1275,  1284,
 -    1293,  1300,  1307,  1323,  1331,  1339,  1349,  1359,  1369,  1383,
 -    1391,  1404,  1415,  1423,  1436,  1445,  1454,  1463,  1472,  1482,
 -    1492,  1500,  1513,  1522,  1530,  1539,  1547,  1560,  1569,  1579,
 -    1586,  1596,  1606,  1616,  1626,  1636,  1646,  1656,  1666,  1673,
 -    1680,  1687,  1696,  1705,  1714,  1723,  1730,  1740,  1760,  1767,
 -    1785,  1798,  1811,  1820,  1829,  1838,  1847,  1857,  1867,  1878,
 -    1887,  1896,  1905,  1914,  1923,  1932,  1945,  1958,  1967,  1974,
 -    1983,  1992,  2001,  2010,  2018,  2031,  2039,  2084,  2091,  2106,
 -    2116,  2126,  2133,  2140,  2147,  2156,  2164,  2178,  2199,  2220,
 -    2232,  2244,  2256,  2265,  2286,  2296,  2305,  2313,  2321,  2334,
 -    2347,  2362,  2377,  2386,  2395,  2401,  2410,  2419,  2429,  2439,
 -    2452,  2465,  2477,  2491,  2503,  2517,  2526,  2538,  2548,  2555,
 -    2562,  2571,  2580,  2590,  2600,  2610,  2617,  2624,  2633,  2642,
 -    2652,  2662,  2669,  2676,  2683,  2691,  2701,  2711,  2721,  2731,
 -    2770,  2780,  2788,  2796,  2811,  2820,  2825,  2826,  2827,  2827,
 -    2827,  2828,  2828,  2828,  2829,  2829,  2831,  2841,  2850,  2857,
 -    2864,  2871,  2878,  2885,  2892,  2897,  2898,  2899,  2899,  2899,
 -    2900,  2900,  2900,  2901,  2902,  2902,  2903,  2903,  2904,  2904,
 -    2905,  2906,  2907,  2908,  2909,  2910,  2912,  2921,  2931,  2938,
 -    2945,  2954,  2961,  2968,  2975,  2982,  2991,  3000,  3007,  3014,
 -    3024,  3034,  3044,  3054,  3064,  3074,  3079,  3080,  3081,  3083,
 -    3089,  3094,  3095,  3096,  3098,  3104,  3114,  3121,  3130,  3138,
 -    3143,  3144,  3146,  3146,  3146,  3147,  3147,  3148,  3149,  3150,
 -    3151,  3152,  3154,  3164,  3173,  3180,  3189,  3196,  3205,  3213,
 -    3226,  3234,  3247,  3252,  3253,  3254,  3254,  3255,  3255,  3255,
 -    3256,  3258,  3270,  3282,  3294,  3309,  3322,  3335,  3346,  3351,
 -    3352,  3353,  3353,  3355,  3370
++       0,   187,   187,   187,   188,   188,   189,   189,   190,   190,
++     190,   191,   191,   192,   192,   193,   193,   194,   196,   202,
++     207,   208,   209,   209,   209,   210,   210,   211,   211,   211,
++     212,   212,   213,   213,   213,   214,   214,   215,   215,   215,
++     216,   216,   216,   217,   217,   218,   218,   219,   219,   220,
++     220,   221,   221,   222,   222,   223,   223,   224,   224,   225,
++     225,   225,   226,   226,   226,   227,   227,   227,   228,   228,
++     229,   229,   230,   230,   231,   231,   232,   232,   232,   233,
++     233,   234,   234,   235,   235,   235,   236,   236,   237,   237,
++     238,   238,   239,   239,   239,   240,   240,   241,   241,   242,
++     242,   243,   243,   244,   244,   245,   245,   245,   246,   246,
++     247,   247,   247,   248,   248,   248,   249,   249,   249,   250,
++     250,   250,   250,   251,   252,   252,   252,   253,   253,   253,
++     254,   254,   255,   255,   256,   256,   256,   257,   257,   257,
++     258,   258,   259,   259,   259,   260,   260,   261,   261,   261,
++     262,   262,   263,   263,   264,   264,   265,   266,   266,   267,
++     267,   268,   268,   269,   270,   270,   271,   271,   272,   272,
++     273,   273,   274,   274,   275,   275,   275,   276,   276,   277,
++     277,   278,   278,   279,   280,   280,   281,   281,   282,   283,
++     283,   284,   284,   285,   285,   285,   286,   286,   286,   287,
++     287,   287,   288,   288,   289,   290,   290,   291,   291,   292,
++     292,   293,   293,   294,   294,   294,   295,   295,   295,   296,
++     296,   296,   297,   297,   298,   298,   299,   299,   300,   300,
++     301,   301,   303,   315,   316,   317,   317,   317,   317,   317,
++     318,   318,   320,   332,   333,   334,   334,   334,   334,   335,
++     335,   337,   351,   352,   353,   353,   353,   353,   354,   354,
++     354,   356,   373,   374,   375,   375,   375,   375,   376,   376,
++     376,   377,   380,   399,   416,   424,   434,   442,   459,   460,
++     461,   461,   461,   461,   461,   462,   462,   462,   463,   463,
++     465,   474,   483,   494,   503,   512,   521,   532,   541,   553,
++     567,   582,   593,   610,   627,   644,   661,   676,   691,   704,
++     719,   728,   737,   746,   755,   764,   773,   782,   791,   800,
++     809,   818,   827,   836,   845,   858,   867,   880,   889,   898,
++     907,   914,   921,   930,   937,   946,   954,   961,   968,   976,
++     985,   993,  1009,  1017,  1025,  1033,  1041,  1049,  1058,  1067,
++    1081,  1090,  1099,  1108,  1117,  1126,  1135,  1142,  1149,  1175,
++    1183,  1190,  1197,  1204,  1211,  1219,  1227,  1235,  1242,  1253,
++    1264,  1271,  1280,  1289,  1298,  1305,  1312,  1328,  1336,  1344,
++    1354,  1364,  1374,  1388,  1396,  1409,  1420,  1428,  1441,  1450,
++    1459,  1468,  1477,  1487,  1497,  1505,  1518,  1527,  1535,  1544,
++    1552,  1565,  1574,  1584,  1591,  1601,  1611,  1621,  1631,  1641,
++    1651,  1661,  1671,  1678,  1685,  1692,  1701,  1710,  1719,  1728,
++    1735,  1745,  1765,  1772,  1790,  1803,  1816,  1825,  1834,  1843,
++    1852,  1862,  1872,  1883,  1892,  1901,  1910,  1919,  1928,  1937,
++    1950,  1963,  1972,  1979,  1988,  1997,  2006,  2015,  2023,  2036,
++    2044,  2089,  2096,  2111,  2121,  2131,  2138,  2145,  2152,  2161,
++    2169,  2183,  2204,  2225,  2237,  2249,  2261,  2270,  2291,  2301,
++    2310,  2318,  2326,  2339,  2352,  2367,  2382,  2391,  2400,  2406,
++    2415,  2424,  2434,  2444,  2454,  2463,  2473,  2482,  2495,  2508,
++    2520,  2534,  2546,  2560,  2569,  2581,  2591,  2598,  2605,  2614,
++    2623,  2633,  2643,  2653,  2660,  2667,  2676,  2685,  2695,  2705,
++    2712,  2719,  2726,  2734,  2744,  2754,  2764,  2774,  2813,  2823,
++    2831,  2839,  2854,  2863,  2868,  2869,  2870,  2870,  2870,  2871,
++    2871,  2871,  2872,  2872,  2874,  2884,  2893,  2900,  2907,  2914,
++    2921,  2928,  2935,  2940,  2941,  2942,  2942,  2942,  2943,  2943,
++    2943,  2944,  2945,  2945,  2946,  2946,  2947,  2947,  2948,  2949,
++    2950,  2951,  2952,  2953,  2955,  2964,  2974,  2981,  2988,  2997,
++    3004,  3011,  3018,  3025,  3034,  3043,  3050,  3057,  3067,  3077,
++    3087,  3097,  3107,  3117,  3122,  3123,  3124,  3126,  3132,  3137,
++    3138,  3139,  3141,  3147,  3157,  3164,  3173,  3181,  3186,  3187,
++    3189,  3189,  3189,  3190,  3190,  3191,  3192,  3193,  3194,  3195,
++    3197,  3207,  3216,  3223,  3232,  3239,  3248,  3256,  3269,  3277,
++    3290,  3295,  3296,  3297,  3297,  3298,  3298,  3298,  3299,  3301,
++    3313,  3325,  3337,  3352,  3365,  3378,  3389,  3394,  3395,  3396,
++    3396,  3398,  3413
  };
- static const YYINT yydgoto[] = {                          1,
-    14,   15,   27,   16,   28,   17,   29,   18,   30,   19,
-    31,   20,   32,   21,   33,   22,   34,   23,   35,   24,
-    36,   25,   37,   26,   38,  232,  233,  234,  235,  236,
-   237,  238,  239,  240,  241,  242,  243,  244,  245,  246,
-   247,  248,  249,  250,  251,  252,  253,  254,  255,  256,
-   257,  258,  259,  260,  261,  262,  263,  264,  265,  266,
-   267,  268,  269,  270,  271,  272,  273,  274,  275,  276,
-   277,  278,  279,  280,  281,  282,  283,  284,  285,  286,
-   287,  288,  289,  290,  291,  292,  293,  294,  295,  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,  433,
-   434,  435,  436,  437,  438,  439,  440,  447,  448,  449,
-   450,  451,  452,  453,  518,  519,  520,  521,  522,  523,
-   524,  525,  573,  574,  575,  576,  577,  578,  579,  580,
-   581,  592,  593,  594,  595,  596,  597,    0,    0,    0,
-     0,  465,  466,  467,  468,  469,  470,  471,  472,  473,
-   492,  493,  494,  495,  496,  497,  498,  499,  500,  501,
-   502,  503,  504,  505,  506,  507,  508,  509,  510,  455,
-   456,  536,  537,  538,  539,  540,  541,  542,  543,  544,
-   545,  546,  553,  554,  555,  556,  557,  558,  559,  562,
-   563,  564,
+ #endif
+ /** Accessing symbol of state STATE.  */
+ #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+ #if YYDEBUG || 0
+ /* The user-facing name of the symbol whose (internal) number is
+    YYSYMBOL.  No bounds checking.  */
+ static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+ /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+ static const char *const yytname[] =
+ {
+   "\"end of file\"", "error", "\"invalid token\"", "SPACE", "LETTER",
+   "NEWLINE", "COMMENT", "COLON", "ANY", "ZONESTR", "STRING_ARG",
+   "VAR_FORCE_TOPLEVEL", "VAR_SERVER", "VAR_VERBOSITY", "VAR_NUM_THREADS",
+   "VAR_PORT", "VAR_OUTGOING_RANGE", "VAR_INTERFACE", "VAR_PREFER_IP4",
+   "VAR_DO_IP4", "VAR_DO_IP6", "VAR_PREFER_IP6", "VAR_DO_UDP", "VAR_DO_TCP",
+   "VAR_TCP_MSS", "VAR_OUTGOING_TCP_MSS", "VAR_TCP_IDLE_TIMEOUT",
+   "VAR_EDNS_TCP_KEEPALIVE", "VAR_EDNS_TCP_KEEPALIVE_TIMEOUT", "VAR_CHROOT",
+   "VAR_USERNAME", "VAR_DIRECTORY", "VAR_LOGFILE", "VAR_PIDFILE",
+   "VAR_MSG_CACHE_SIZE", "VAR_MSG_CACHE_SLABS",
+   "VAR_NUM_QUERIES_PER_THREAD", "VAR_RRSET_CACHE_SIZE",
+   "VAR_RRSET_CACHE_SLABS", "VAR_OUTGOING_NUM_TCP", "VAR_INFRA_HOST_TTL",
+   "VAR_INFRA_LAME_TTL", "VAR_INFRA_CACHE_SLABS",
+   "VAR_INFRA_CACHE_NUMHOSTS", "VAR_INFRA_CACHE_LAME_SIZE", "VAR_NAME",
+   "VAR_STUB_ZONE", "VAR_STUB_HOST", "VAR_STUB_ADDR",
+   "VAR_TARGET_FETCH_POLICY", "VAR_HARDEN_SHORT_BUFSIZE",
+   "VAR_HARDEN_LARGE_QUERIES", "VAR_FORWARD_ZONE", "VAR_FORWARD_HOST",
+   "VAR_FORWARD_ADDR", "VAR_DO_NOT_QUERY_ADDRESS", "VAR_HIDE_IDENTITY",
+   "VAR_HIDE_VERSION", "VAR_IDENTITY", "VAR_VERSION", "VAR_HARDEN_GLUE",
+   "VAR_MODULE_CONF", "VAR_TRUST_ANCHOR_FILE", "VAR_TRUST_ANCHOR",
+   "VAR_VAL_OVERRIDE_DATE", "VAR_BOGUS_TTL", "VAR_VAL_CLEAN_ADDITIONAL",
+   "VAR_VAL_PERMISSIVE_MODE", "VAR_INCOMING_NUM_TCP", "VAR_MSG_BUFFER_SIZE",
+   "VAR_KEY_CACHE_SIZE", "VAR_KEY_CACHE_SLABS", "VAR_TRUSTED_KEYS_FILE",
+   "VAR_VAL_NSEC3_KEYSIZE_ITERATIONS", "VAR_USE_SYSLOG",
+   "VAR_OUTGOING_INTERFACE", "VAR_ROOT_HINTS", "VAR_DO_NOT_QUERY_LOCALHOST",
+   "VAR_CACHE_MAX_TTL", "VAR_HARDEN_DNSSEC_STRIPPED", "VAR_ACCESS_CONTROL",
+   "VAR_LOCAL_ZONE", "VAR_LOCAL_DATA", "VAR_INTERFACE_AUTOMATIC",
+   "VAR_STATISTICS_INTERVAL", "VAR_DO_DAEMONIZE", "VAR_USE_CAPS_FOR_ID",
+   "VAR_STATISTICS_CUMULATIVE", "VAR_OUTGOING_PORT_PERMIT",
+   "VAR_OUTGOING_PORT_AVOID", "VAR_DLV_ANCHOR_FILE", "VAR_DLV_ANCHOR",
+   "VAR_NEG_CACHE_SIZE", "VAR_HARDEN_REFERRAL_PATH", "VAR_PRIVATE_ADDRESS",
+   "VAR_PRIVATE_DOMAIN", "VAR_REMOTE_CONTROL", "VAR_CONTROL_ENABLE",
+   "VAR_CONTROL_INTERFACE", "VAR_CONTROL_PORT", "VAR_SERVER_KEY_FILE",
+   "VAR_SERVER_CERT_FILE", "VAR_CONTROL_KEY_FILE", "VAR_CONTROL_CERT_FILE",
+   "VAR_CONTROL_USE_CERT", "VAR_EXTENDED_STATISTICS", "VAR_LOCAL_DATA_PTR",
+   "VAR_JOSTLE_TIMEOUT", "VAR_STUB_PRIME", "VAR_UNWANTED_REPLY_THRESHOLD",
+   "VAR_LOG_TIME_ASCII", "VAR_DOMAIN_INSECURE", "VAR_PYTHON",
+   "VAR_PYTHON_SCRIPT", "VAR_VAL_SIG_SKEW_MIN", "VAR_VAL_SIG_SKEW_MAX",
+   "VAR_CACHE_MIN_TTL", "VAR_VAL_LOG_LEVEL", "VAR_AUTO_TRUST_ANCHOR_FILE",
+   "VAR_KEEP_MISSING", "VAR_ADD_HOLDDOWN", "VAR_DEL_HOLDDOWN",
+   "VAR_SO_RCVBUF", "VAR_EDNS_BUFFER_SIZE", "VAR_PREFETCH",
+   "VAR_PREFETCH_KEY", "VAR_SO_SNDBUF", "VAR_SO_REUSEPORT",
+   "VAR_HARDEN_BELOW_NXDOMAIN", "VAR_IGNORE_CD_FLAG", "VAR_LOG_QUERIES",
+   "VAR_LOG_REPLIES", "VAR_LOG_LOCAL_ACTIONS", "VAR_TCP_UPSTREAM",
+   "VAR_SSL_UPSTREAM", "VAR_SSL_SERVICE_KEY", "VAR_SSL_SERVICE_PEM",
+   "VAR_SSL_PORT", "VAR_FORWARD_FIRST", "VAR_STUB_SSL_UPSTREAM",
+   "VAR_FORWARD_SSL_UPSTREAM", "VAR_TLS_CERT_BUNDLE", "VAR_HTTPS_PORT",
+   "VAR_HTTP_ENDPOINT", "VAR_HTTP_MAX_STREAMS",
+   "VAR_HTTP_QUERY_BUFFER_SIZE", "VAR_HTTP_RESPONSE_BUFFER_SIZE",
+   "VAR_HTTP_NODELAY", "VAR_HTTP_NOTLS_DOWNSTREAM", "VAR_STUB_FIRST",
+   "VAR_MINIMAL_RESPONSES", "VAR_RRSET_ROUNDROBIN", "VAR_MAX_UDP_SIZE",
+   "VAR_DELAY_CLOSE", "VAR_UDP_CONNECT", "VAR_UNBLOCK_LAN_ZONES",
+   "VAR_INSECURE_LAN_ZONES", "VAR_INFRA_CACHE_MIN_RTT",
+   "VAR_INFRA_KEEP_PROBING", "VAR_DNS64_PREFIX", "VAR_DNS64_SYNTHALL",
+   "VAR_DNS64_IGNORE_AAAA", "VAR_DNSTAP", "VAR_DNSTAP_ENABLE",
+   "VAR_DNSTAP_SOCKET_PATH", "VAR_DNSTAP_IP", "VAR_DNSTAP_TLS",
+   "VAR_DNSTAP_TLS_SERVER_NAME", "VAR_DNSTAP_TLS_CERT_BUNDLE",
+   "VAR_DNSTAP_TLS_CLIENT_KEY_FILE", "VAR_DNSTAP_TLS_CLIENT_CERT_FILE",
+   "VAR_DNSTAP_SEND_IDENTITY", "VAR_DNSTAP_SEND_VERSION",
+   "VAR_DNSTAP_BIDIRECTIONAL", "VAR_DNSTAP_IDENTITY", "VAR_DNSTAP_VERSION",
+   "VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES",
+   "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES",
+   "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES",
+   "VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES",
+   "VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES",
+   "VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES", "VAR_RESPONSE_IP_TAG",
+   "VAR_RESPONSE_IP", "VAR_RESPONSE_IP_DATA", "VAR_HARDEN_ALGO_DOWNGRADE",
+   "VAR_IP_TRANSPARENT", "VAR_IP_DSCP", "VAR_DISABLE_DNSSEC_LAME_CHECK",
+   "VAR_IP_RATELIMIT", "VAR_IP_RATELIMIT_SLABS", "VAR_IP_RATELIMIT_SIZE",
+   "VAR_RATELIMIT", "VAR_RATELIMIT_SLABS", "VAR_RATELIMIT_SIZE",
+   "VAR_RATELIMIT_FOR_DOMAIN", "VAR_RATELIMIT_BELOW_DOMAIN",
+   "VAR_IP_RATELIMIT_FACTOR", "VAR_RATELIMIT_FACTOR",
+   "VAR_SEND_CLIENT_SUBNET", "VAR_CLIENT_SUBNET_ZONE",
+   "VAR_CLIENT_SUBNET_ALWAYS_FORWARD", "VAR_CLIENT_SUBNET_OPCODE",
+   "VAR_MAX_CLIENT_SUBNET_IPV4", "VAR_MAX_CLIENT_SUBNET_IPV6",
+   "VAR_MIN_CLIENT_SUBNET_IPV4", "VAR_MIN_CLIENT_SUBNET_IPV6",
+   "VAR_MAX_ECS_TREE_SIZE_IPV4", "VAR_MAX_ECS_TREE_SIZE_IPV6",
+   "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL",
+   "VAR_PERMIT_SMALL_HOLDDOWN", "VAR_QNAME_MINIMISATION",
+   "VAR_QNAME_MINIMISATION_STRICT", "VAR_IP_FREEBIND", "VAR_DEFINE_TAG",
+   "VAR_LOCAL_ZONE_TAG", "VAR_ACCESS_CONTROL_TAG",
+   "VAR_LOCAL_ZONE_OVERRIDE", "VAR_ACCESS_CONTROL_TAG_ACTION",
+   "VAR_ACCESS_CONTROL_TAG_DATA", "VAR_VIEW", "VAR_ACCESS_CONTROL_VIEW",
+   "VAR_VIEW_FIRST", "VAR_SERVE_EXPIRED", "VAR_SERVE_EXPIRED_TTL",
+   "VAR_SERVE_EXPIRED_TTL_RESET", "VAR_SERVE_EXPIRED_REPLY_TTL",
+   "VAR_SERVE_EXPIRED_CLIENT_TIMEOUT", "VAR_FAKE_DSA", "VAR_FAKE_SHA1",
+   "VAR_LOG_IDENTITY", "VAR_HIDE_TRUSTANCHOR", "VAR_TRUST_ANCHOR_SIGNALING",
+   "VAR_AGGRESSIVE_NSEC", "VAR_USE_SYSTEMD", "VAR_SHM_ENABLE",
+   "VAR_SHM_KEY", "VAR_ROOT_KEY_SENTINEL", "VAR_DNSCRYPT",
+   "VAR_DNSCRYPT_ENABLE", "VAR_DNSCRYPT_PORT", "VAR_DNSCRYPT_PROVIDER",
+   "VAR_DNSCRYPT_SECRET_KEY", "VAR_DNSCRYPT_PROVIDER_CERT",
+   "VAR_DNSCRYPT_PROVIDER_CERT_ROTATED",
+   "VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE",
+   "VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS",
+   "VAR_DNSCRYPT_NONCE_CACHE_SIZE", "VAR_DNSCRYPT_NONCE_CACHE_SLABS",
 -  "VAR_IPSECMOD_ENABLED", "VAR_IPSECMOD_HOOK", "VAR_IPSECMOD_IGNORE_BOGUS",
 -  "VAR_IPSECMOD_MAX_TTL", "VAR_IPSECMOD_WHITELIST", "VAR_IPSECMOD_STRICT",
 -  "VAR_CACHEDB", "VAR_CACHEDB_BACKEND", "VAR_CACHEDB_SECRETSEED",
 -  "VAR_CACHEDB_REDISHOST", "VAR_CACHEDB_REDISPORT",
 -  "VAR_CACHEDB_REDISTIMEOUT", "VAR_CACHEDB_REDISEXPIRERECORDS",
 -  "VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM", "VAR_FOR_UPSTREAM",
 -  "VAR_AUTH_ZONE", "VAR_ZONEFILE", "VAR_MASTER", "VAR_URL",
 -  "VAR_FOR_DOWNSTREAM", "VAR_FALLBACK_ENABLED", "VAR_TLS_ADDITIONAL_PORT",
 -  "VAR_LOW_RTT", "VAR_LOW_RTT_PERMIL", "VAR_FAST_SERVER_PERMIL",
 -  "VAR_FAST_SERVER_NUM", "VAR_ALLOW_NOTIFY", "VAR_TLS_WIN_CERT",
 -  "VAR_TCP_CONNECTION_LIMIT", "VAR_FORWARD_NO_CACHE", "VAR_STUB_NO_CACHE",
 -  "VAR_LOG_SERVFAIL", "VAR_DENY_ANY", "VAR_UNKNOWN_SERVER_TIME_LIMIT",
 -  "VAR_LOG_TAG_QUERYREPLY", "VAR_STREAM_WAIT_SIZE", "VAR_TLS_CIPHERS",
 -  "VAR_TLS_CIPHERSUITES", "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_EDNS_CLIENT_STRING",
 -  "VAR_EDNS_CLIENT_STRING_OPCODE", "VAR_NSID", "$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", "rpzstart", "contents_rpz", "content_rpz",
 -  "server_num_threads", "server_verbosity", "server_statistics_interval",
++  "VAR_PAD_RESPONSES", "VAR_PAD_RESPONSES_BLOCK_SIZE", "VAR_PAD_QUERIES",
++  "VAR_PAD_QUERIES_BLOCK_SIZE", "VAR_IPSECMOD_ENABLED",
++  "VAR_IPSECMOD_HOOK", "VAR_IPSECMOD_IGNORE_BOGUS", "VAR_IPSECMOD_MAX_TTL",
++  "VAR_IPSECMOD_WHITELIST", "VAR_IPSECMOD_STRICT", "VAR_CACHEDB",
++  "VAR_CACHEDB_BACKEND", "VAR_CACHEDB_SECRETSEED", "VAR_CACHEDB_REDISHOST",
++  "VAR_CACHEDB_REDISPORT", "VAR_CACHEDB_REDISTIMEOUT",
++  "VAR_CACHEDB_REDISEXPIRERECORDS", "VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM",
++  "VAR_FOR_UPSTREAM", "VAR_AUTH_ZONE", "VAR_ZONEFILE", "VAR_MASTER",
++  "VAR_URL", "VAR_FOR_DOWNSTREAM", "VAR_FALLBACK_ENABLED",
++  "VAR_TLS_ADDITIONAL_PORT", "VAR_LOW_RTT", "VAR_LOW_RTT_PERMIL",
++  "VAR_FAST_SERVER_PERMIL", "VAR_FAST_SERVER_NUM", "VAR_ALLOW_NOTIFY",
++  "VAR_TLS_WIN_CERT", "VAR_TCP_CONNECTION_LIMIT", "VAR_FORWARD_NO_CACHE",
++  "VAR_STUB_NO_CACHE", "VAR_LOG_SERVFAIL", "VAR_DENY_ANY",
++  "VAR_UNKNOWN_SERVER_TIME_LIMIT", "VAR_LOG_TAG_QUERYREPLY",
++  "VAR_STREAM_WAIT_SIZE", "VAR_TLS_CIPHERS", "VAR_TLS_CIPHERSUITES",
++  "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_EDNS_CLIENT_STRING", "VAR_EDNS_CLIENT_STRING_OPCODE", "VAR_NSID",
++  "$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",
++  "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",
+   "server_max_ecs_tree_size_ipv4", "server_max_ecs_tree_size_ipv6",
+   "server_interface", "server_outgoing_interface", "server_outgoing_range",
+   "server_outgoing_port_permit", "server_outgoing_port_avoid",
+   "server_outgoing_num_tcp", "server_incoming_num_tcp",
+   "server_interface_automatic", "server_do_ip4", "server_do_ip6",
+   "server_do_udp", "server_do_tcp", "server_prefer_ip4",
+   "server_prefer_ip6", "server_tcp_mss", "server_outgoing_tcp_mss",
+   "server_tcp_idle_timeout", "server_tcp_keepalive",
+   "server_tcp_keepalive_timeout", "server_tcp_upstream",
+   "server_udp_upstream_without_downstream", "server_ssl_upstream",
+   "server_ssl_service_key", "server_ssl_service_pem", "server_ssl_port",
+   "server_tls_cert_bundle", "server_tls_win_cert",
+   "server_tls_additional_port", "server_tls_ciphers",
+   "server_tls_ciphersuites", "server_tls_session_ticket_keys",
+   "server_tls_use_sni", "server_https_port", "server_http_endpoint",
+   "server_http_max_streams", "server_http_query_buffer_size",
+   "server_http_response_buffer_size", "server_http_nodelay",
+   "server_http_notls_downstream", "server_use_systemd",
+   "server_do_daemonize", "server_use_syslog", "server_log_time_ascii",
+   "server_log_queries", "server_log_replies", "server_log_tag_queryreply",
+   "server_log_servfail", "server_log_local_actions", "server_chroot",
+   "server_username", "server_directory", "server_logfile",
+   "server_pidfile", "server_root_hints", "server_dlv_anchor_file",
+   "server_dlv_anchor", "server_auto_trust_anchor_file",
+   "server_trust_anchor_file", "server_trusted_keys_file",
+   "server_trust_anchor", "server_trust_anchor_signaling",
+   "server_root_key_sentinel", "server_domain_insecure",
+   "server_hide_identity", "server_hide_version", "server_hide_trustanchor",
+   "server_identity", "server_version", "server_nsid", "server_so_rcvbuf",
+   "server_so_sndbuf", "server_so_reuseport", "server_ip_transparent",
+   "server_ip_freebind", "server_ip_dscp", "server_stream_wait_size",
+   "server_edns_buffer_size", "server_msg_buffer_size",
+   "server_msg_cache_size", "server_msg_cache_slabs",
+   "server_num_queries_per_thread", "server_jostle_timeout",
+   "server_delay_close", "server_udp_connect", "server_unblock_lan_zones",
+   "server_insecure_lan_zones", "server_rrset_cache_size",
+   "server_rrset_cache_slabs", "server_infra_host_ttl",
+   "server_infra_lame_ttl", "server_infra_cache_numhosts",
+   "server_infra_cache_lame_size", "server_infra_cache_slabs",
+   "server_infra_cache_min_rtt", "server_infra_keep_probing",
+   "server_target_fetch_policy", "server_harden_short_bufsize",
+   "server_harden_large_queries", "server_harden_glue",
+   "server_harden_dnssec_stripped", "server_harden_below_nxdomain",
+   "server_harden_referral_path", "server_harden_algo_downgrade",
+   "server_use_caps_for_id", "server_caps_whitelist",
+   "server_private_address", "server_private_domain", "server_prefetch",
+   "server_prefetch_key", "server_deny_any",
+   "server_unwanted_reply_threshold", "server_do_not_query_address",
+   "server_do_not_query_localhost", "server_access_control",
+   "server_module_conf", "server_val_override_date",
+   "server_val_sig_skew_min", "server_val_sig_skew_max",
+   "server_cache_max_ttl", "server_cache_max_negative_ttl",
+   "server_cache_min_ttl", "server_bogus_ttl",
+   "server_val_clean_additional", "server_val_permissive_mode",
+   "server_aggressive_nsec", "server_ignore_cd_flag",
+   "server_serve_expired", "server_serve_expired_ttl",
+   "server_serve_expired_ttl_reset", "server_serve_expired_reply_ttl",
+   "server_serve_expired_client_timeout", "server_fake_dsa",
+   "server_fake_sha1", "server_val_log_level",
+   "server_val_nsec3_keysize_iterations", "server_add_holddown",
+   "server_del_holddown", "server_keep_missing",
+   "server_permit_small_holddown", "server_key_cache_size",
+   "server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
+   "server_local_data", "server_local_data_ptr", "server_minimal_responses",
+   "server_rrset_roundrobin", "server_unknown_server_time_limit",
+   "server_max_udp_size", "server_dns64_prefix", "server_dns64_synthall",
+   "server_dns64_ignore_aaaa", "server_define_tag", "server_local_zone_tag",
+   "server_access_control_tag", "server_access_control_tag_action",
+   "server_access_control_tag_data", "server_local_zone_override",
+   "server_access_control_view", "server_response_ip_tag",
+   "server_ip_ratelimit", "server_ratelimit", "server_ip_ratelimit_size",
+   "server_ratelimit_size", "server_ip_ratelimit_slabs",
+   "server_ratelimit_slabs", "server_ratelimit_for_domain",
+   "server_ratelimit_below_domain", "server_ip_ratelimit_factor",
+   "server_ratelimit_factor", "server_low_rtt", "server_fast_server_num",
+   "server_fast_server_permil", "server_qname_minimisation",
 -  "server_qname_minimisation_strict", "server_ipsecmod_enabled",
++  "server_qname_minimisation_strict", "server_pad_responses",
++  "server_pad_responses_block_size", "server_pad_queries",
++  "server_pad_queries_block_size", "server_ipsecmod_enabled",
+   "server_ipsecmod_ignore_bogus", "server_ipsecmod_hook",
+   "server_ipsecmod_max_ttl", "server_ipsecmod_whitelist",
+   "server_ipsecmod_strict", "server_edns_client_string",
+   "server_edns_client_string_opcode", "stub_name", "stub_host",
+   "stub_addr", "stub_first", "stub_no_cache", "stub_ssl_upstream",
+   "stub_prime", "forward_name", "forward_host", "forward_addr",
+   "forward_first", "forward_no_cache", "forward_ssl_upstream", "auth_name",
+   "auth_zonefile", "auth_master", "auth_url", "auth_allow_notify",
+   "auth_for_downstream", "auth_for_upstream", "auth_fallback_enabled",
+   "view_name", "view_local_zone", "view_response_ip",
+   "view_response_ip_data", "view_local_data", "view_local_data_ptr",
+   "view_first", "rcstart", "contents_rc", "content_rc",
+   "rc_control_enable", "rc_control_port", "rc_control_interface",
+   "rc_control_use_cert", "rc_server_key_file", "rc_server_cert_file",
+   "rc_control_key_file", "rc_control_cert_file", "dtstart", "contents_dt",
+   "content_dt", "dt_dnstap_enable", "dt_dnstap_bidirectional",
+   "dt_dnstap_socket_path", "dt_dnstap_ip", "dt_dnstap_tls",
+   "dt_dnstap_tls_server_name", "dt_dnstap_tls_cert_bundle",
+   "dt_dnstap_tls_client_key_file", "dt_dnstap_tls_client_cert_file",
+   "dt_dnstap_send_identity", "dt_dnstap_send_version",
+   "dt_dnstap_identity", "dt_dnstap_version",
+   "dt_dnstap_log_resolver_query_messages",
+   "dt_dnstap_log_resolver_response_messages",
+   "dt_dnstap_log_client_query_messages",
+   "dt_dnstap_log_client_response_messages",
+   "dt_dnstap_log_forwarder_query_messages",
+   "dt_dnstap_log_forwarder_response_messages", "pythonstart",
+   "contents_py", "content_py", "py_script", "dynlibstart", "contents_dl",
+   "content_dl", "dl_file", "server_disable_dnssec_lame_check",
+   "server_log_identity", "server_response_ip", "server_response_ip_data",
+   "dnscstart", "contents_dnsc", "content_dnsc", "dnsc_dnscrypt_enable",
+   "dnsc_dnscrypt_port", "dnsc_dnscrypt_provider",
+   "dnsc_dnscrypt_provider_cert", "dnsc_dnscrypt_provider_cert_rotated",
+   "dnsc_dnscrypt_secret_key", "dnsc_dnscrypt_shared_secret_cache_size",
+   "dnsc_dnscrypt_shared_secret_cache_slabs",
+   "dnsc_dnscrypt_nonce_cache_size", "dnsc_dnscrypt_nonce_cache_slabs",
+   "cachedbstart", "contents_cachedb", "content_cachedb",
+   "cachedb_backend_name", "cachedb_secret_seed", "redis_server_host",
+   "redis_server_port", "redis_timeout", "redis_expire_records",
+   "server_tcp_connection_limit", "ipsetstart", "contents_ipset",
+   "content_ipset", "ipset_name_v4", "ipset_name_v6", YY_NULLPTR
  };
- static const YYINT yysindex[] = {                         0,
-  -257,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,  370, -291, -286, -360,
-  -301, -297, -298, -461, -442, -519, -253, -293, -251, -245,
-  -232, -231, -230, -229, -226, -225, -224, -223, -221, -220,
-  -218, -217, -207, -206, -205, -204, -196, -195, -193, -192,
-  -191, -190, -189, -188, -187, -186, -185, -184, -183, -182,
-  -179, -178, -177, -176, -175, -174, -173, -171, -167, -166,
-  -165, -164, -162, -161, -158, -155, -134, -133, -132, -131,
-  -130, -129, -128, -127, -126, -125, -124, -123, -122, -121,
-  -120, -119, -118, -117, -116, -114, -113, -112, -111, -110,
-  -109, -108, -107, -106, -105, -104, -103, -102, -101, -100,
-   -99,  -98,  -97,  -95,  -94,  -93,  -92,  -91,  -90,  -89,
-   -88,  -87,  -86,  -85,  -84,  -83,  -82,  -81,  -80,  -79,
-   -78,  -77,  -76,  -75,  -74,  -73,  -72,  -71,  -70,  -69,
-   -68,  -67,  -66,  -65,  -64,  -63,  -62,  -61,  -60,  -59,
-   -58,  -56,  -55,  -54,  -53,  -52,  -51,  -50,  -49,  -48,
-   -47,  -46,  -45,  -41,  -40,  -38,  -37,  -36,  -35,  -33,
-   -32,  -31,  -30,  -29,  -27,  -26,  -25,  -23,  -22,  -21,
-   -20,  -19,  -12,  -11,  -10,   -8,   -7,   -5,    7,    8,
-     9,   10,   11,   12,   13,   19,   20,   21,   22,   23,
-    24,   25,   26,   27,   28,   29,   30,   31,   32,   33,
-    34,   35,   40,   41,   46,   47,   48,   52,   53,   54,
-    58,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,   59,   60,   61,   62,   63,
-    64,   65,    0,    0,    0,    0,    0,    0,    0,    0,
-    66,   67,   68,   69,   70,   71,    0,    0,    0,    0,
-     0,    0,    0,   72,    0,    0,   73,   74,   75,   76,
-    77,   78,   79,   80,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,   81,   82,   90,   91,   92,   93,   98,
-   106,  107,  108,  109,  110,  111,  112,  113,  114,  120,
-   121,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-   122,  123,  126,  127,  128,  132,  133,    0,    0,    0,
-     0,    0,    0,    0,    0,  134,  138,  139,  140,  141,
-   142,  147,  148,  149,  150,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,  151,  152,  153,  154,
-   155,  159,    0,    0,    0,    0,    0,    0,    0,  160,
-   161,    0,    0,    0,  162,  163,  164,  165,  166,  167,
-   170,  171,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,  172,  173,  174,  175,  176,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,  177,  178,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,  182,  183,  186,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,  187,  188,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,  189,  190,
-   191,  192,  193,  194,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,  198,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,  199,    0,    0,  200,  205,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,  206,  207,  208,
-     0,    0,    0,    0,    0,    0,    0,    0,
+ static const char *
+ yysymbol_name (yysymbol_kind_t yysymbol)
+ {
+   return yytname[yysymbol];
+ }
+ #endif
+ #ifdef YYPRINT
+ /* YYTOKNUM[NUM] -- (External) token number corresponding to the
+    (internal) symbol number NUM (which must be that of a token).  */
+ static const yytype_int16 yytoknum[] =
+ {
+        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
+      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
+      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
+      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
+      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
+      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
+      405,   406,   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
++     555,   556,   557,   558,   559,   560,   561,   562
  };
- static const YYINT yyrindex[] = {                         0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    1,    2,    3,    4,
-    14,   15,   16,   83,   84,   94,   95,   96,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,
+ #endif
 -#define YYPACT_NINF (-291)
++#define YYPACT_NINF (-295)
+ #define yypact_value_is_default(Yyn) \
+   ((Yyn) == YYPACT_NINF)
+ #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[] =
+ {
 -    -291,     0,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,   287,   -42,   -38,   -43,   -21,   -44,   -11,   -96,
 -    -109,  -290,  -215,  -240,  -282,     3,     4,    13,    25,    26,
++    -295,     0,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,   291,   -42,   -38,   -43,   -21,   -44,   -11,   -96,
++    -109,  -294,  -215,  -244,  -286,     3,     4,    13,    25,    26,
+       27,    30,    31,    32,    33,    34,    35,    37,    38,    39,
+       40,    41,    43,    44,    45,    46,    47,    48,    49,    50,
+       51,    52,    54,    55,    84,    85,    88,    89,    91,    93,
+       94,    95,    96,    98,    99,   100,   101,   103,   104,   105,
+      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+      126,   127,   128,   129,   132,   133,   134,   135,   136,   137,
+      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+      148,   149,   150,   151,   153,   154,   155,   156,   157,   158,
+      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+      169,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
 -     210,   215,   216,   217,   218,   219,   220,   221,   223,   224,
 -     225,   226,   227,   230,   232,   234,   247,   248,   249,   250,
 -     251,   252,   253,   254,   256,   257,   258,   259,   260,   261,
++     210,   212,   213,   214,   215,   219,   220,   221,   222,   223,
++     224,   225,   227,   228,   230,   231,   233,   234,   236,   238,
++     251,   252,   253,   254,   255,   256,   257,   258,   260,   261,
+      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
 -     272,   273,   274,   275,   276,   277,   278,   280,   281,   282,
 -     284,   285,   286,   288,   322,   323,   324,   325,   329,   330,
 -     331,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,   373,   374,
 -     375,   376,   377,   378,   379,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,   380,   381,   385,   389,   390,   415,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,   416,   417,   426,   439,
 -     440,   441,   442,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,   443,   444,   445,   446,   447,   448,   449,   450,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,   451,   452,
 -     453,   454,   455,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,   456,   457,   458,   498,   500,   516,
 -     517,   518,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,   519,   520,   521,   522,   523,   524,   525,   526,   533,
 -     534,   535,   536,   537,   538,   539,   541,   542,   543,   544,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -     545,  -291,  -291,   546,  -291,  -291,   547,   550,   553,   556,
 -     557,   566,   567,   568,   570,   571,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,   572,   573,   574,
 -     575,   576,   577,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -     581,   582,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,   583,   584,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,   585,   586,   587,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,   588,   589,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,   590,   591,   592,   593,   594,
 -     595,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,   596,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,   597,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,   598,  -291,  -291,   599,   600,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -     601,   602,   603,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291
++     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
++     282,   284,   285,   286,   288,   289,   290,   292,   326,   327,
++     328,   329,   333,   334,   335,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,   377,   378,   379,   380,
++     381,   382,   383,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,   384,   385,   389,   393,   394,   419,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,   420,   421,   430,   443,   444,   445,
++     446,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,   447,
++     448,   449,   450,   451,   452,   453,   454,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,   455,   456,   457,   458,
++     459,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,   460,   461,   462,   502,   504,   520,   521,   522,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,   523,
++     524,   525,   526,   527,   528,   529,   530,   541,   542,   543,
++     544,   545,   546,   547,   549,   550,   551,   552,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,   553,  -295,
++    -295,   554,  -295,  -295,   555,   558,   561,   564,   565,   574,
++     575,   576,   578,   579,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,   580,   581,   582,   583,   584,
++     585,  -295,  -295,  -295,  -295,  -295,  -295,  -295,   589,   590,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,   591,   592,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,   593,
++     594,   595,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,   596,   597,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,   598,   599,   600,   601,   602,   603,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++     604,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++     605,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,   606,  -295,  -295,
++     607,   608,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,   609,   610,   611,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295
  };
- static const YYINT yygindex[] = {                         0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,  227,  309,  320,  435,    0,    0,    0,
-   436,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,
+   /* 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,   228,   238,   515,   575,   534,
 -     247,   589,   612,   257,   628,   273,   580,     3,    17,    21,
 -     230,   240,   249,   259,   275,   517,   536,   577,   582,   591,
 -     614,   630,     4,     5,     6,    10,    14,    15,     8,     9,
++       2,     0,     1,    18,    19,   232,   242,   523,   583,   542,
++     251,   597,   620,   261,   636,   277,   588,     3,    17,    21,
++     234,   244,   253,   263,   279,   525,   544,   585,   590,   599,
++     622,   638,     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,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     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,    86,    89,    98,   195,   196,    24,
 -     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
 -      37,    77,    25,    90,    91,    48,    70,    85,    26,    27,
 -      30,    31,    28,    29,    32,    33,    34,    35,    36,   121,
 -     207,   122,   124,   125,   126,   209,   214,   210,   221,   222,
 -     223,   224,   127,   128,   129,   130,   131,   132,   133,   191,
 -      87,    76,   102,   119,   120,   219,   216,   123,    38,    39,
 -      40,    41,    42,    78,    92,    93,   108,    64,    74,    65,
 -     199,   200,   103,    58,    59,   198,    60,    61,   227,   112,
 -     116,   137,   147,   174,   150,   220,   113,    71,    43,    44,
 -      45,   100,   138,   139,   140,   141,    46,    47,    49,    50,
 -      52,    53,    51,   145,   151,    54,    55,    56,    62,    81,
 -     117,    95,   146,    88,   170,    96,    97,   114,   115,   217,
 -     101,    57,    79,    82,    63,    66,   104,   105,    80,   171,
 -     106,    67,    68,    69,   208,   118,   184,   185,   186,   187,
 -     188,   189,   197,   107,    75,   109,   110,   111,   172,    72,
 -      73,    94,    83,    84,    99,   134,   135,   218,   136,   142,
 -     143,   144,   175,   176,   178,   180,   181,   179,   182,   192,
 -     148,   149,   154,   155,   152,   153,   156,   157,   159,   158,
 -     211,   213,   212,   173,   183,   201,   203,   202,   204,   205,
 -     206,   225,   226,   177,   190,   193,   194,   215,     0,     0,
 -       0,     0,     0,     0,     0,   229,   231,   232,   233,   235,
 -     236,   237,   234,     0,     0,     0,     0,     0,     0,   239,
 -     241,   242,   243,   244,   245,   246,     0,     0,     0,     0,
 -       0,     0,     0,   248,   250,   251,   254,   255,   252,   256,
 -     253,     0,     0,     0,     0,     0,     0,     0,     0,   258,
 -     260,   261,   262,   263,   267,   264,   265,   266,     0,     0,
 -       0,     0,     0,   278,   282,   283,   284,   285,   274,   276,
 -     277,   279,   280,   281,     0,     0,     0,     0,     0,     0,
 -       0,     0,   516,   518,   520,   519,   525,   521,   522,   523,
 -     524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,    20,    22,    23,    86,    89,
++      98,   199,   200,    24,   160,   161,   162,   163,   164,   165,
++     166,   167,   168,   169,    37,    77,    25,    90,    91,    48,
++      70,    85,    26,    27,    30,    31,    28,    29,    32,    33,
++      34,    35,    36,   121,   211,   122,   124,   125,   126,   213,
++     218,   214,   225,   226,   227,   228,   127,   128,   129,   130,
++     131,   132,   133,   195,    87,    76,   102,   119,   120,   223,
++     220,   123,    38,    39,    40,    41,    42,    78,    92,    93,
++     108,    64,    74,    65,   203,   204,   103,    58,    59,   202,
++      60,    61,   231,   112,   116,   137,   147,   174,   150,   224,
++     113,    71,    43,    44,    45,   100,   138,   139,   140,   141,
++      46,    47,    49,    50,    52,    53,    51,   145,   151,    54,
++      55,    56,    62,    81,   117,    95,   146,    88,   170,    96,
++      97,   114,   115,   221,   101,    57,    79,    82,    63,    66,
++     104,   105,    80,   171,   106,    67,    68,    69,   212,   118,
++     188,   189,   190,   191,   192,   193,   201,   107,    75,   109,
++     110,   111,   172,    72,    73,    94,    83,    84,    99,   134,
++     135,   222,   136,   142,   143,   144,   175,   176,   178,   180,
++     181,   179,   182,   196,   148,   149,   154,   155,   152,   153,
++     156,   157,   159,   158,   215,   217,   216,   173,   183,   184,
++     185,   186,   187,   205,   207,   206,   208,   209,   210,   229,
++     230,   177,   194,   197,   198,   219,     0,     0,     0,     0,
++       0,     0,     0,   233,   235,   236,   237,   239,   240,   241,
++     238,     0,     0,     0,     0,     0,     0,   243,   245,   246,
++     247,   248,   249,   250,     0,     0,     0,     0,     0,     0,
++       0,   252,   254,   255,   258,   259,   256,   260,   257,     0,
++       0,     0,     0,     0,     0,     0,     0,   262,   264,   265,
++     266,   267,   271,   268,   269,   270,     0,     0,     0,     0,
++       0,   282,   286,   287,   288,   289,   278,   280,   281,   283,
++     284,   285,     0,     0,     0,     0,     0,     0,     0,     0,
++     524,   526,   528,   527,   533,   529,   530,   531,   532,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -     535,   537,   539,   538,   540,   541,   542,   543,   544,   545,
 -     546,   547,   548,   549,   550,   551,   552,   553,   554,   555,
 -       0,   576,   578,     0,   581,   583,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,   590,   592,   593,   594,
 -     596,   597,   595,   598,   599,   600,   601,     0,     0,     0,
 -       0,     0,     0,   613,   615,   616,   617,   618,   619,   620,
 -       0,     0,   629,   631,   632,   287,   286,   293,   306,   304,
 -     316,   312,   313,   317,   314,   315,   318,   319,   320,   321,
 -     322,   352,   353,   354,   355,   356,   382,   383,   384,   390,
 -     391,   309,   392,   393,   396,   394,   395,   399,   400,   401,
 -     415,   367,   368,   370,   371,   402,   418,   361,   363,   419,
 -     425,   426,   427,   310,   381,   443,   444,   362,   438,   345,
 -     305,   357,   416,   422,   403,     0,     0,   447,   311,   288,
 -     344,   407,   289,   307,   308,   358,   359,   445,   405,   409,
 -     410,   290,   448,   385,   414,   346,   366,   420,   421,   424,
 -     437,   360,   441,   439,   440,   373,   380,   411,   412,   374,
 -     375,   404,   429,   347,   348,   351,   323,   325,   326,   327,
 -     328,   329,   336,   337,   338,   339,   340,   341,   342,   449,
 -     450,   452,   386,   387,   388,   389,   397,   398,   453,   454,
 -     455,     0,     0,     0,   406,   376,   378,   585,   464,   468,
 -     466,   465,   469,   467,     0,     0,   472,   473,   294,   295,
 -     296,   297,   298,   299,   300,   301,   302,   303,   408,   423,
 -     442,   477,   478,   377,   456,     0,     0,     0,     0,     0,
 -       0,   430,   431,   432,   433,   434,   435,   436,   586,   369,
 -     364,   428,   343,   291,   292,   365,   479,   481,   480,   482,
 -     483,   484,   324,   331,   474,   476,   475,   330,     0,   350,
 -     413,   451,   349,   379,   332,   333,   335,   334,     0,   486,
 -     372,   487,   488,   489,   493,   492,   490,   491,   494,   495,
 -     496,   497,   499,   498,   508,     0,   512,   513,     0,     0,
 -     514,   500,   506,   501,   502,   503,   505,   507,   504,   268,
 -     269,   270,   271,   272,   526,   528,   527,   530,   531,   532,
 -     533,   529,   556,   558,   559,   560,   561,   562,   563,   564,
 -     565,   566,   557,   567,   568,   569,   570,   571,   572,   573,
 -     574,   579,   584,   602,   603,   604,   607,   605,   606,   608,
 -     609,   610,   611,   621,   622,   623,   624,   625,   626,   633,
 -     634,   417,   446,   463,   587,   588,   470,   471,   457,   458,
 -       0,     0,     0,   462,   627,   485,   509,   510,   511,   461,
 -     459,   460
++       0,     0,     0,     0,     0,     0,     0,     0,   543,   545,
++     547,   546,   548,   549,   550,   551,   552,   553,   554,   555,
++     556,   557,   558,   559,   560,   561,   562,   563,     0,   584,
++     586,     0,   589,   591,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,   598,   600,   601,   602,   604,   605,
++     603,   606,   607,   608,   609,     0,     0,     0,     0,     0,
++       0,   621,   623,   624,   625,   626,   627,   628,     0,     0,
++     637,   639,   640,   291,   290,   297,   310,   308,   320,   316,
++     317,   321,   318,   319,   322,   323,   324,   325,   326,   356,
++     357,   358,   359,   360,   386,   387,   388,   394,   395,   313,
++     396,   397,   400,   398,   399,   403,   404,   405,   419,   371,
++     372,   374,   375,   406,   422,   365,   367,   423,   429,   430,
++     431,   314,   385,   447,   448,   366,   442,   349,   309,   361,
++     420,   426,   407,     0,     0,   451,   315,   292,   348,   411,
++     293,   311,   312,   362,   363,   449,   409,   413,   414,   294,
++     452,   389,   418,   350,   370,   424,   425,   428,   441,   364,
++     445,   443,   444,   377,   384,   415,   416,   378,   379,   408,
++     433,   351,   352,   355,   327,   329,   330,   331,   332,   333,
++     340,   341,   342,   343,   344,   345,   346,   453,   454,   456,
++     390,   391,   392,   393,   401,   402,   457,   458,   459,     0,
++       0,     0,   410,   380,   382,   593,   468,   472,   470,   469,
++     473,   471,     0,     0,   476,   477,   298,   299,   300,   301,
++     302,   303,   304,   305,   306,   307,   412,   427,   446,   481,
++     482,   381,   460,     0,     0,     0,     0,     0,     0,   434,
++     435,   436,   437,   438,   439,   440,   594,   373,   368,   432,
++     347,   295,   296,   369,   483,   484,   485,   486,   487,   489,
++     488,   490,   491,   492,   328,   335,   478,   480,   479,   334,
++       0,   354,   417,   455,   353,   383,   336,   337,   339,   338,
++       0,   494,   376,   495,   496,   497,   501,   500,   498,   499,
++     502,   503,   504,   505,   507,   506,   516,     0,   520,   521,
++       0,     0,   522,   508,   514,   509,   510,   511,   513,   515,
++     512,   272,   273,   274,   275,   276,   534,   536,   535,   538,
++     539,   540,   541,   537,   564,   566,   567,   568,   569,   570,
++     571,   572,   573,   574,   565,   575,   576,   577,   578,   579,
++     580,   581,   582,   587,   592,   610,   611,   612,   615,   613,
++     614,   616,   617,   618,   619,   629,   630,   631,   632,   633,
++     634,   641,   642,   421,   450,   467,   595,   596,   474,   475,
++     461,   462,     0,     0,     0,   466,   635,   493,   517,   518,
++     519,   465,   463,   464
  };
- #define YYTABLESIZE 908
- static const YYINT yytable[] = {                        511,
-     3,    4,    5,    6,  565,  454,  426,    2,  427,  428,
-     0,  441,  598,    7,    8,    9,  560,  561,  599,  442,
-   443,  526,  527,  528,  529,  530,  531,  532,  533,  534,
-   535,  600,  601,  602,  603,  512,  513,  604,  605,  606,
-   607,    3,  608,  609,  565,  610,  611,    4,  457,  458,
-   459,  460,  461,  462,  463,  464,  612,  613,  614,  615,
-   514,  547,  548,  549,  550,  551,  552,  616,  617,  429,
-   618,  619,  620,  621,  622,  623,  624,  625,  626,  627,
-   628,  629,   10,   11,  630,  631,  632,  633,  634,  635,
-   636,    5,  637,   12,   13,   14,  638,  639,  640,  641,
-   430,  642,  643,  431,  444,  644,  445,    6,  645,  474,
-   475,  476,  477,  478,  479,  480,  481,  482,  483,  484,
-   485,  486,  487,  488,  489,  490,  491,  515,  516,  646,
-   647,  648,  649,  650,  651,  652,  653,  654,  655,  656,
-   657,  658,  659,  660,  661,  662,  663,  664,    7,  665,
-   666,  667,  668,  669,  670,  671,  672,  673,  674,  675,
-   676,  677,  678,  679,  680,  681,  682,  517,  683,  684,
-   685,  686,  687,  688,  689,  690,  691,  692,  693,  694,
-   695,  696,  697,  698,  699,  700,  701,  702,  703,  704,
-   705,  706,  707,  708,  709,  710,  711,  712,  713,  714,
-   715,  716,  717,  718,  719,  720,    8,  721,  722,  723,
-   724,  725,  726,  727,  728,  729,  730,  731,  732,  567,
-   568,  569,  733,  734,    9,  735,  736,  737,  738,  572,
-   739,  740,  741,  742,  743,  432,  744,  745,  746,  446,
-   747,  748,  749,  750,  751,   10,  582,  583,  584,  585,
-   586,  752,  753,  754,   11,  755,  756,  566,  757,  567,
-   568,  569,  570,  571,  587,    3,    4,    5,    6,  572,
-   758,  759,  760,  761,  762,  763,  764,   12,    7,    8,
-     9,   13,  765,  766,  767,  768,  769,  770,  771,  772,
-   773,  774,  775,  776,  777,  778,  779,  780,  781,    3,
-     4,    5,    6,  782,  783,    3,    4,    5,    6,  784,
-   785,  786,    7,    8,    9,  787,  788,  789,    7,    8,
-     9,  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,  588,   10,   11,    3,
-     4,    5,    6,  815,  816,  817,  818,  589,   12,   13,
-    14,  819,    7,    8,    9,    3,    4,    5,    6,  820,
-   821,  822,  823,  824,  825,  826,  827,  828,    7,    8,
-     9,   10,   11,  829,  830,  831,  832,   10,   11,  833,
-   834,  835,   12,   13,   14,  836,  837,  838,   12,   13,
-    14,  839,  840,  841,  842,  843,    3,    4,    5,    6,
-   844,  845,  846,  847,  848,  849,  850,  851,  852,    7,
-     8,    9,  853,  854,  855,  856,  857,  858,  859,  860,
-   861,   10,   11,  862,  863,  864,  865,  866,  867,  868,
-   869,  870,   12,   13,   14,  871,  872,   10,   11,  873,
-   874,  875,  876,  877,  878,  879,  880,  881,   12,   13,
-    14,  882,  883,  884,    3,    4,    5,    6,  885,  886,
-   887,  888,  590,  591,    0,    0,    0,    7,    8,    9,
-     0,    0,    3,    4,    5,    6,    0,    0,   10,   11,
-     0,    0,    0,    0,    0,    7,    8,    9,    0,   12,
-    13,   14,    0,    3,    4,    5,    6,    0,    0,    0,
-     0,    0,    3,    4,    5,    6,    7,    8,    9,    0,
-     0,    0,    0,    0,    0,    7,    8,    9,    0,    0,
-     0,    0,    0,    0,    0,    3,    4,    5,    6,    3,
-     4,    5,    6,    0,    0,    0,   10,   11,    7,    8,
-     9,    0,    7,    8,    9,    0,    0,   12,   13,   14,
-     0,    0,    0,    0,   10,   11,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,   12,   13,   14,    0,    0,
-     0,    0,    0,    0,    0,   10,   11,    0,    0,    0,
-     0,    0,    0,    0,   10,   11,   12,   13,   14,    0,
-     0,    0,    0,    0,    0,   12,   13,   14,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,   10,   11,    0,
-     0,   10,   11,    0,    0,    0,    0,    0,   12,   13,
-    14,    0,   12,   13,   14,   39,   40,   41,   42,   43,
-    44,   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,    0,    0,    0,
-     0,   71,   72,   73,    0,    0,    0,   74,   75,   76,
-    77,   78,   79,   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,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,  115,  116,  117,
-     0,  118,  119,  120,    0,    0,  121,  122,  123,  124,
-   125,  126,  127,  128,  129,  130,  131,  132,  133,  134,
-   135,  136,  137,  138,  139,  140,  141,  142,  143,  144,
-     0,    0,    0,  145,    0,  146,  147,  148,  149,  150,
-   151,  152,  153,  154,  155,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,  156,  157,  158,  159,  160,  161,
-   162,  163,  164,  165,  166,  167,  168,  169,  170,  171,
-   172,  173,  174,  175,  176,  177,  178,  179,  180,  181,
-   182,  183,  184,  185,  186,  187,  188,  189,  190,  191,
-   192,  193,  194,    0,  195,    0,  196,  197,  198,  199,
-   200,  201,  202,  203,  204,  205,  206,  207,  208,  209,
-   210,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-     0,    0,    0,    0,    0,    0,  211,  212,  213,  214,
-   215,  216,    0,    0,    0,    0,    0,    0,    0,  217,
-     0,    0,    0,    0,    0,    0,    0,  218,  219,    0,
-   220,  221,    0,  222,  223,    0,    0,  224,  225,  226,
-   227,  228,  229,  230,    0,    0,    0,  231,
+   /* YYPGOTO[NTERM-NUM].  */
+ static const yytype_int16 yypgoto[] =
+ {
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,   578,   579,   580,   604,   605,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,
 -    -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291,  -291
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,   586,   587,   588,   612,   613,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,  -295,
++    -295,  -295,  -295
  };
- static const YYINT yycheck[] = {                        298,
-     0,    0,    0,    0,  298,  366,  298,  265,  300,  301,
-    -1,  298,  264,    0,    0,    0,  536,  537,  264,  306,
-   307,  483,  484,  485,  486,  487,  488,  489,  490,  491,
-   492,  264,  264,  264,  264,  334,  335,  264,  264,  264,
-   264,  299,  264,  264,  298,  264,  264,  305,  350,  351,
-   352,  353,  354,  355,  356,  357,  264,  264,  264,  264,
-   359,  504,  505,  506,  507,  508,  509,  264,  264,  361,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,    0,    0,  264,  264,  264,  264,  264,  264,
-   264,  349,  264,    0,    0,    0,  264,  264,  264,  264,
-   392,  264,  264,  395,  391,  264,  393,  365,  264,  407,
-   408,  409,  410,  411,  412,  413,  414,  415,  416,  417,
-   418,  419,  420,  421,  422,  423,  424,  426,  427,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  406,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  466,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  464,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  513,
-   514,  515,  264,  264,  482,  264,  264,  264,  264,  523,
-   264,  264,  264,  264,  264,  527,  264,  264,  264,  526,
-   264,  264,  264,  264,  264,  503,  540,  541,  542,  543,
-   544,  264,  264,  264,  512,  264,  264,  511,  264,  513,
-   514,  515,  516,  517,   38,  265,  265,  265,  265,  523,
-   264,  264,  264,  264,  264,  264,  264,  535,  265,  265,
-   265,  539,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  299,
-   299,  299,  299,  264,  264,  305,  305,  305,  305,  264,
-   264,  264,  299,  299,  299,  264,  264,  264,  305,  305,
-   305,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  264,  264,  264,  264,   38,  265,  265,  349,
-   349,  349,  349,  264,  264,  264,  264,   38,  265,  265,
-   265,  264,  349,  349,  349,  365,  365,  365,  365,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  365,  365,
-   365,  299,  299,  264,  264,  264,  264,  305,  305,  264,
-   264,  264,  299,  299,  299,  264,  264,  264,  305,  305,
-   305,  264,  264,  264,  264,  264,  406,  406,  406,  406,
-   264,  264,  264,  264,  264,  264,  264,  264,  264,  406,
-   406,  406,  264,  264,  264,  264,  264,  264,  264,  264,
-   264,  349,  349,  264,  264,  264,  264,  264,  264,  264,
-   264,  264,  349,  349,  349,  264,  264,  365,  365,  264,
-   264,  264,  264,  264,  264,  264,  264,  264,  365,  365,
-   365,  264,  264,  264,  464,  464,  464,  464,  264,  264,
-   264,  264,   38,   38,   -1,   -1,   -1,  464,  464,  464,
-    -1,   -1,  482,  482,  482,  482,   -1,   -1,  406,  406,
-    -1,   -1,   -1,   -1,   -1,  482,  482,  482,   -1,  406,
-   406,  406,   -1,  503,  503,  503,  503,   -1,   -1,   -1,
-    -1,   -1,  512,  512,  512,  512,  503,  503,  503,   -1,
-    -1,   -1,   -1,   -1,   -1,  512,  512,  512,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,  535,  535,  535,  535,  539,
-   539,  539,  539,   -1,   -1,   -1,  464,  464,  535,  535,
-   535,   -1,  539,  539,  539,   -1,   -1,  464,  464,  464,
-    -1,   -1,   -1,   -1,  482,  482,   -1,   -1,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,  482,  482,  482,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,  503,  503,   -1,   -1,   -1,
-    -1,   -1,   -1,   -1,  512,  512,  503,  503,  503,   -1,
-    -1,   -1,   -1,   -1,   -1,  512,  512,  512,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,   -1,   -1,  535,  535,   -1,
-    -1,  539,  539,   -1,   -1,   -1,   -1,   -1,  535,  535,
-   535,   -1,  539,  539,  539,  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,   -1,   -1,   -1,
-    -1,  302,  303,  304,   -1,   -1,   -1,  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,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,   -1,   -1,  358,  359,  360,
-    -1,  362,  363,  364,   -1,   -1,  367,  368,  369,  370,
-   371,  372,  373,  374,  375,  376,  377,  378,  379,  380,
-   381,  382,  383,  384,  385,  386,  387,  388,  389,  390,
-    -1,   -1,   -1,  394,   -1,  396,  397,  398,  399,  400,
-   401,  402,  403,  404,  405,   -1,   -1,   -1,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-    -1,   -1,   -1,   -1,  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,   -1,  465,   -1,  467,  468,  469,  470,
-   471,  472,  473,  474,  475,  476,  477,  478,  479,  480,
-   481,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-    -1,   -1,   -1,   -1,   -1,   -1,  497,  498,  499,  500,
-   501,  502,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  510,
-    -1,   -1,   -1,   -1,   -1,   -1,   -1,  518,  519,   -1,
-   521,  522,   -1,  524,  525,   -1,   -1,  528,  529,  530,
-   531,  532,  533,  534,   -1,   -1,   -1,  538,
+   /* YYDEFGOTO[NTERM-NUM].  */
+ static const yytype_int16 yydefgoto[] =
+ {
 -      -1,     1,    17,    18,    19,    32,   251,    20,    33,   465,
 -      21,    34,   479,    22,    35,   493,    23,    36,   509,   523,
 -     524,   525,   526,   527,    24,    37,   528,   252,   253,   254,
 -     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 -     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 -     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 -     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 -     295,   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,   466,   467,
 -     468,   469,   470,   471,   472,   480,   481,   482,   483,   484,
 -     485,   510,   511,   512,   513,   514,   515,   516,   517,   494,
 -     495,   496,   497,   498,   499,   500,    25,    38,   542,   543,
 -     544,   545,   546,   547,   548,   549,   550,    26,    39,   570,
 -     571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
 -     581,   582,   583,   584,   585,   586,   587,   588,   589,    27,
 -      40,   591,   592,    28,    41,   594,   595,   453,   454,   455,
 -     456,    29,    42,   606,   607,   608,   609,   610,   611,   612,
 -     613,   614,   615,   616,    30,    43,   623,   624,   625,   626,
 -     627,   628,   629,   457,    31,    44,   632,   633,   634
++      -1,     1,    17,    18,    19,    32,   255,    20,    33,   473,
++      21,    34,   487,    22,    35,   501,    23,    36,   517,   531,
++     532,   533,   534,   535,    24,    37,   536,   256,   257,   258,
++     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
++     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
++     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
++     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
++     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
++     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
++     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
++     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
++     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
++     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
++     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
++     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
++     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
++     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
++     399,   400,   401,   402,   403,   404,   405,   406,   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,   474,   475,   476,   477,   478,   479,   480,   488,
++     489,   490,   491,   492,   493,   518,   519,   520,   521,   522,
++     523,   524,   525,   502,   503,   504,   505,   506,   507,   508,
++      25,    38,   550,   551,   552,   553,   554,   555,   556,   557,
++     558,    26,    39,   578,   579,   580,   581,   582,   583,   584,
++     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
++     595,   596,   597,    27,    40,   599,   600,    28,    41,   602,
++     603,   461,   462,   463,   464,    29,    42,   614,   615,   616,
++     617,   618,   619,   620,   621,   622,   623,   624,    30,    43,
++     631,   632,   633,   634,   635,   636,   637,   465,    31,    44,
++     640,   641,   642
  };
- #define YYFINAL 1
- #ifndef YYDEBUG
- #define YYDEBUG 0
- #endif
- #define YYMAXTOKEN 544
- #define YYUNDFTOKEN 859
- #define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
- #if YYDEBUG
- static const char *const yyname[] = {
- "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"SPACE","LETTER","NEWLINE",
- "COMMENT","COLON","ANY","ZONESTR","STRING_ARG","VAR_SERVER","VAR_VERBOSITY",
- "VAR_NUM_THREADS","VAR_PORT","VAR_OUTGOING_RANGE","VAR_INTERFACE",
- "VAR_PREFER_IP4","VAR_DO_IP4","VAR_DO_IP6","VAR_PREFER_IP6","VAR_DO_UDP",
- "VAR_DO_TCP","VAR_TCP_MSS","VAR_OUTGOING_TCP_MSS","VAR_TCP_IDLE_TIMEOUT",
- "VAR_EDNS_TCP_KEEPALIVE","VAR_EDNS_TCP_KEEPALIVE_TIMEOUT","VAR_CHROOT",
- "VAR_USERNAME","VAR_DIRECTORY","VAR_LOGFILE","VAR_PIDFILE","VAR_MSG_CACHE_SIZE",
- "VAR_MSG_CACHE_SLABS","VAR_NUM_QUERIES_PER_THREAD","VAR_RRSET_CACHE_SIZE",
- "VAR_RRSET_CACHE_SLABS","VAR_OUTGOING_NUM_TCP","VAR_INFRA_HOST_TTL",
- "VAR_INFRA_LAME_TTL","VAR_INFRA_CACHE_SLABS","VAR_INFRA_CACHE_NUMHOSTS",
- "VAR_INFRA_CACHE_LAME_SIZE","VAR_NAME","VAR_STUB_ZONE","VAR_STUB_HOST",
- "VAR_STUB_ADDR","VAR_TARGET_FETCH_POLICY","VAR_HARDEN_SHORT_BUFSIZE",
- "VAR_HARDEN_LARGE_QUERIES","VAR_FORWARD_ZONE","VAR_FORWARD_HOST",
- "VAR_FORWARD_ADDR","VAR_DO_NOT_QUERY_ADDRESS","VAR_HIDE_IDENTITY",
- "VAR_HIDE_VERSION","VAR_IDENTITY","VAR_VERSION","VAR_HARDEN_GLUE",
- "VAR_MODULE_CONF","VAR_TRUST_ANCHOR_FILE","VAR_TRUST_ANCHOR",
- "VAR_VAL_OVERRIDE_DATE","VAR_BOGUS_TTL","VAR_VAL_CLEAN_ADDITIONAL",
- "VAR_VAL_PERMISSIVE_MODE","VAR_INCOMING_NUM_TCP","VAR_MSG_BUFFER_SIZE",
- "VAR_KEY_CACHE_SIZE","VAR_KEY_CACHE_SLABS","VAR_TRUSTED_KEYS_FILE",
- "VAR_VAL_NSEC3_KEYSIZE_ITERATIONS","VAR_USE_SYSLOG","VAR_OUTGOING_INTERFACE",
- "VAR_ROOT_HINTS","VAR_DO_NOT_QUERY_LOCALHOST","VAR_CACHE_MAX_TTL",
- "VAR_HARDEN_DNSSEC_STRIPPED","VAR_ACCESS_CONTROL","VAR_LOCAL_ZONE",
- "VAR_LOCAL_DATA","VAR_INTERFACE_AUTOMATIC","VAR_STATISTICS_INTERVAL",
- "VAR_DO_DAEMONIZE","VAR_USE_CAPS_FOR_ID","VAR_STATISTICS_CUMULATIVE",
- "VAR_OUTGOING_PORT_PERMIT","VAR_OUTGOING_PORT_AVOID","VAR_DLV_ANCHOR_FILE",
- "VAR_DLV_ANCHOR","VAR_NEG_CACHE_SIZE","VAR_HARDEN_REFERRAL_PATH",
- "VAR_PRIVATE_ADDRESS","VAR_PRIVATE_DOMAIN","VAR_REMOTE_CONTROL",
- "VAR_CONTROL_ENABLE","VAR_CONTROL_INTERFACE","VAR_CONTROL_PORT",
- "VAR_SERVER_KEY_FILE","VAR_SERVER_CERT_FILE","VAR_CONTROL_KEY_FILE",
- "VAR_CONTROL_CERT_FILE","VAR_CONTROL_USE_CERT","VAR_EXTENDED_STATISTICS",
- "VAR_LOCAL_DATA_PTR","VAR_JOSTLE_TIMEOUT","VAR_STUB_PRIME",
- "VAR_UNWANTED_REPLY_THRESHOLD","VAR_LOG_TIME_ASCII","VAR_DOMAIN_INSECURE",
- "VAR_PYTHON","VAR_PYTHON_SCRIPT","VAR_VAL_SIG_SKEW_MIN","VAR_VAL_SIG_SKEW_MAX",
- "VAR_CACHE_MIN_TTL","VAR_VAL_LOG_LEVEL","VAR_AUTO_TRUST_ANCHOR_FILE",
- "VAR_KEEP_MISSING","VAR_ADD_HOLDDOWN","VAR_DEL_HOLDDOWN","VAR_SO_RCVBUF",
- "VAR_EDNS_BUFFER_SIZE","VAR_PREFETCH","VAR_PREFETCH_KEY","VAR_SO_SNDBUF",
- "VAR_SO_REUSEPORT","VAR_HARDEN_BELOW_NXDOMAIN","VAR_IGNORE_CD_FLAG",
- "VAR_LOG_QUERIES","VAR_LOG_REPLIES","VAR_LOG_LOCAL_ACTIONS","VAR_TCP_UPSTREAM",
- "VAR_SSL_UPSTREAM","VAR_SSL_SERVICE_KEY","VAR_SSL_SERVICE_PEM","VAR_SSL_PORT",
- "VAR_FORWARD_FIRST","VAR_STUB_SSL_UPSTREAM","VAR_FORWARD_SSL_UPSTREAM",
- "VAR_TLS_CERT_BUNDLE","VAR_STUB_FIRST","VAR_MINIMAL_RESPONSES",
- "VAR_RRSET_ROUNDROBIN","VAR_MAX_UDP_SIZE","VAR_DELAY_CLOSE",
- "VAR_UNBLOCK_LAN_ZONES","VAR_INSECURE_LAN_ZONES","VAR_INFRA_CACHE_MIN_RTT",
- "VAR_DNS64_PREFIX","VAR_DNS64_SYNTHALL","VAR_DNS64_IGNORE_AAAA","VAR_DNSTAP",
- "VAR_DNSTAP_ENABLE","VAR_DNSTAP_SOCKET_PATH","VAR_DNSTAP_IP","VAR_DNSTAP_TLS",
- "VAR_DNSTAP_TLS_SERVER_NAME","VAR_DNSTAP_TLS_CERT_BUNDLE",
- "VAR_DNSTAP_TLS_CLIENT_KEY_FILE","VAR_DNSTAP_TLS_CLIENT_CERT_FILE",
- "VAR_DNSTAP_SEND_IDENTITY","VAR_DNSTAP_SEND_VERSION","VAR_DNSTAP_IDENTITY",
- "VAR_DNSTAP_VERSION","VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES",
- "VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES",
- "VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES",
- "VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES",
- "VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES",
- "VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES","VAR_RESPONSE_IP_TAG",
- "VAR_RESPONSE_IP","VAR_RESPONSE_IP_DATA","VAR_HARDEN_ALGO_DOWNGRADE",
- "VAR_IP_TRANSPARENT","VAR_IP_DSCP","VAR_DISABLE_DNSSEC_LAME_CHECK",
- "VAR_IP_RATELIMIT","VAR_IP_RATELIMIT_SLABS","VAR_IP_RATELIMIT_SIZE",
- "VAR_RATELIMIT","VAR_RATELIMIT_SLABS","VAR_RATELIMIT_SIZE",
- "VAR_RATELIMIT_FOR_DOMAIN","VAR_RATELIMIT_BELOW_DOMAIN",
- "VAR_IP_RATELIMIT_FACTOR","VAR_RATELIMIT_FACTOR","VAR_SEND_CLIENT_SUBNET",
- "VAR_CLIENT_SUBNET_ZONE","VAR_CLIENT_SUBNET_ALWAYS_FORWARD",
- "VAR_CLIENT_SUBNET_OPCODE","VAR_MAX_CLIENT_SUBNET_IPV4",
- "VAR_MAX_CLIENT_SUBNET_IPV6","VAR_MIN_CLIENT_SUBNET_IPV4",
- "VAR_MIN_CLIENT_SUBNET_IPV6","VAR_MAX_ECS_TREE_SIZE_IPV4",
- "VAR_MAX_ECS_TREE_SIZE_IPV6","VAR_CAPS_WHITELIST","VAR_CACHE_MAX_NEGATIVE_TTL",
- "VAR_PERMIT_SMALL_HOLDDOWN","VAR_QNAME_MINIMISATION",
- "VAR_QNAME_MINIMISATION_STRICT","VAR_IP_FREEBIND","VAR_DEFINE_TAG",
- "VAR_LOCAL_ZONE_TAG","VAR_ACCESS_CONTROL_TAG","VAR_LOCAL_ZONE_OVERRIDE",
- "VAR_ACCESS_CONTROL_TAG_ACTION","VAR_ACCESS_CONTROL_TAG_DATA","VAR_VIEW",
- "VAR_ACCESS_CONTROL_VIEW","VAR_VIEW_FIRST","VAR_SERVE_EXPIRED",
- "VAR_SERVE_EXPIRED_TTL","VAR_SERVE_EXPIRED_TTL_RESET",
- "VAR_SERVE_EXPIRED_REPLY_TTL","VAR_SERVE_EXPIRED_CLIENT_TIMEOUT","VAR_FAKE_DSA",
- "VAR_FAKE_SHA1","VAR_LOG_IDENTITY","VAR_HIDE_TRUSTANCHOR",
- "VAR_TRUST_ANCHOR_SIGNALING","VAR_AGGRESSIVE_NSEC","VAR_USE_SYSTEMD",
- "VAR_SHM_ENABLE","VAR_SHM_KEY","VAR_ROOT_KEY_SENTINEL","VAR_DNSCRYPT",
- "VAR_DNSCRYPT_ENABLE","VAR_DNSCRYPT_PORT","VAR_DNSCRYPT_PROVIDER",
- "VAR_DNSCRYPT_SECRET_KEY","VAR_DNSCRYPT_PROVIDER_CERT",
- "VAR_DNSCRYPT_PROVIDER_CERT_ROTATED","VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE",
- "VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS","VAR_DNSCRYPT_NONCE_CACHE_SIZE",
- "VAR_DNSCRYPT_NONCE_CACHE_SLABS","VAR_PAD_RESPONSES",
- "VAR_PAD_RESPONSES_BLOCK_SIZE","VAR_PAD_QUERIES","VAR_PAD_QUERIES_BLOCK_SIZE",
- "VAR_IPSECMOD_ENABLED","VAR_IPSECMOD_HOOK","VAR_IPSECMOD_IGNORE_BOGUS",
- "VAR_IPSECMOD_MAX_TTL","VAR_IPSECMOD_WHITELIST","VAR_IPSECMOD_STRICT",
- "VAR_CACHEDB","VAR_CACHEDB_BACKEND","VAR_CACHEDB_SECRETSEED",
- "VAR_CACHEDB_REDISHOST","VAR_CACHEDB_REDISPORT","VAR_CACHEDB_REDISTIMEOUT",
- "VAR_CACHEDB_REDISEXPIRERECORDS","VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM",
- "VAR_FOR_UPSTREAM","VAR_AUTH_ZONE","VAR_ZONEFILE","VAR_MASTER","VAR_URL",
- "VAR_FOR_DOWNSTREAM","VAR_FALLBACK_ENABLED","VAR_TLS_ADDITIONAL_PORT",
- "VAR_LOW_RTT","VAR_LOW_RTT_PERMIL","VAR_FAST_SERVER_PERMIL",
- "VAR_FAST_SERVER_NUM","VAR_ALLOW_NOTIFY","VAR_TLS_WIN_CERT",
- "VAR_TCP_CONNECTION_LIMIT","VAR_FORWARD_NO_CACHE","VAR_STUB_NO_CACHE",
- "VAR_LOG_SERVFAIL","VAR_DENY_ANY","VAR_UNKNOWN_SERVER_TIME_LIMIT",
- "VAR_LOG_TAG_QUERYREPLY","VAR_STREAM_WAIT_SIZE","VAR_TLS_CIPHERS",
- "VAR_TLS_CIPHERSUITES","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",0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"illegal-symbol",
+   /* 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,   501,   486,   458,   590,   459,   460,   473,   630,   631,
 -     593,     3,     4,   635,   636,   474,   475,   617,   618,   619,
 -     620,   621,   622,   637,   501,   596,   597,   598,   599,   600,
 -     601,   602,   603,   604,   605,   638,   639,   640,   487,   488,
 -     641,   642,   643,   644,   645,   646,     5,   647,   648,   649,
 -     650,   651,     6,   652,   653,   654,   655,   656,   657,   658,
 -     659,   660,   661,   489,   662,   663,   461,   551,   552,   553,
 -     554,   555,   556,   557,   558,   559,   560,   561,   562,   563,
 -     564,   565,   566,   567,   568,   569,   534,   535,   536,   537,
 -     538,   539,   540,   541,   664,   665,     7,   462,   666,   667,
 -     476,   668,   477,   669,   670,   671,   672,   463,   673,   674,
 -     675,   676,     8,   677,   678,   679,   680,   681,   682,   683,
 -     684,   685,   686,   687,   688,   689,   690,   691,   692,   693,
 -     694,   695,   696,   697,   698,   699,   700,   701,   702,   703,
 -     490,   491,   704,   705,   706,   707,   708,   709,   710,   711,
 -     712,   713,   714,   715,   716,   717,   718,   719,   720,   721,
 -     722,   723,     9,   724,   725,   726,   727,   728,   729,   730,
 -     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
 -     492,   741,   742,   743,   744,   745,   746,   747,   748,   749,
 -     750,   751,   752,   753,   754,   755,   756,   757,   758,   759,
 -     760,   761,   762,   763,   764,   765,   766,   767,   768,   769,
 -     770,   771,   772,   773,   774,   775,   776,   777,   778,   779,
 -     780,    10,   503,   504,   505,   781,   782,   783,   784,   785,
 -     786,   787,   508,   788,   789,   790,   791,   792,   464,    11,
 -     793,   478,   794,   502,   795,   503,   504,   505,   506,   507,
 -     518,   519,   520,   521,   522,   508,    12,   796,   797,   798,
 -     799,   800,   801,   802,   803,    13,   804,   805,   806,   807,
 -     808,   809,   810,   811,   812,   813,   814,   815,   816,   817,
 -     818,   819,   820,   821,   822,   823,   824,   825,   826,    14,
 -     827,   828,   829,    15,   830,   831,   832,     0,   833,    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,   834,   835,   836,   837,    77,    78,    79,   838,
 -     839,   840,    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,   841,   842,   843,   844,   845,   846,   847,
 -     848,   849,   121,   122,   123,   850,   124,   125,   126,   851,
 -     852,   127,   128,   129,   130,   131,   132,   133,   134,   135,
 -     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
 -     146,   147,   148,   149,   150,   853,   854,   855,   151,   152,
 -     153,   154,   155,   156,   157,   158,   856,   159,   160,   161,
 -     162,   163,   164,   165,   166,   167,   168,   169,   170,   857,
 -     858,   859,   860,   861,   862,   863,   864,   865,   866,   867,
 -     868,   869,   870,   871,   872,   873,   874,   875,   876,   171,
 -     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
 -     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
 -     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
 -     202,   203,   204,   205,   206,   207,   208,   209,   877,   210,
 -     878,   211,   212,   213,   214,   215,   216,   217,   218,   219,
 -     220,   221,   222,   223,   224,   225,   879,   880,   881,   882,
 -     883,   884,   885,   886,   887,   888,   889,   226,   227,   228,
 -     229,   230,   231,   890,   891,   892,   893,   894,   895,   896,
 -     232,   897,   898,   899,   900,   901,   902,   903,   233,   234,
 -     904,   235,   236,   905,   237,   238,   906,   907,   239,   240,
 -     241,   242,   243,   244,   245,   246,   908,   909,   910,   247,
 -     911,   912,   913,   914,   915,   916,   917,   918,   248,   249,
 -     250,   919,   920,   921,   922,   923,   924,   925,   926,   927,
 -     928,   929,   930,   931,   932,   933,   934,   935,   936,   937,
 -     938,   939,   940,   941,     0,   529,   530,   531,     0,     0,
++       2,   509,   494,   466,   598,   467,   468,   481,   638,   639,
++     601,     3,     4,   643,   644,   482,   483,   625,   626,   627,
++     628,   629,   630,   645,   509,   604,   605,   606,   607,   608,
++     609,   610,   611,   612,   613,   646,   647,   648,   495,   496,
++     649,   650,   651,   652,   653,   654,     5,   655,   656,   657,
++     658,   659,     6,   660,   661,   662,   663,   664,   665,   666,
++     667,   668,   669,   497,   670,   671,   469,   559,   560,   561,
++     562,   563,   564,   565,   566,   567,   568,   569,   570,   571,
++     572,   573,   574,   575,   576,   577,   542,   543,   544,   545,
++     546,   547,   548,   549,   672,   673,     7,   470,   674,   675,
++     484,   676,   485,   677,   678,   679,   680,   471,   681,   682,
++     683,   684,     8,   685,   686,   687,   688,   689,   690,   691,
++     692,   693,   694,   695,   696,   697,   698,   699,   700,   701,
++     702,   703,   704,   705,   706,   707,   708,   709,   710,   711,
++     498,   499,   712,   713,   714,   715,   716,   717,   718,   719,
++     720,   721,   722,   723,   724,   725,   726,   727,   728,   729,
++     730,   731,     9,   732,   733,   734,   735,   736,   737,   738,
++     739,   740,   741,   742,   743,   744,   745,   746,   747,   748,
++     500,   749,   750,   751,   752,   753,   754,   755,   756,   757,
++     758,   759,   760,   761,   762,   763,   764,   765,   766,   767,
++     768,   769,   770,   771,   772,   773,   774,   775,   776,   777,
++     778,   779,   780,   781,   782,   783,   784,   785,   786,   787,
++     788,    10,   789,   790,   791,   792,   511,   512,   513,   793,
++     794,   795,   796,   797,   798,   799,   516,   800,   801,    11,
++     802,   803,   472,   804,   805,   486,   806,   510,   807,   511,
++     512,   513,   514,   515,   526,   527,   528,   529,   530,   516,
++      12,   808,   809,   810,   811,   812,   813,   814,   815,    13,
++     816,   817,   818,   819,   820,   821,   822,   823,   824,   825,
++     826,   827,   828,   829,   830,   831,   832,   833,   834,   835,
++     836,   837,   838,    14,   839,   840,   841,    15,   842,   843,
++     844,     0,   845,    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,   846,   847,   848,   849,
++      77,    78,    79,   850,   851,   852,    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,   853,   854,   855,
++     856,   857,   858,   859,   860,   861,   121,   122,   123,   862,
++     124,   125,   126,   863,   864,   127,   128,   129,   130,   131,
++     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
++     142,   143,   144,   145,   146,   147,   148,   149,   150,   865,
++     866,   867,   151,   152,   153,   154,   155,   156,   157,   158,
++     868,   159,   160,   161,   162,   163,   164,   165,   166,   167,
++     168,   169,   170,   869,   870,   871,   872,   873,   874,   875,
++     876,   877,   878,   879,   880,   881,   882,   883,   884,   885,
++     886,   887,   888,   171,   172,   173,   174,   175,   176,   177,
++     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
++     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
++     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
++     208,   209,   889,   210,   890,   211,   212,   213,   214,   215,
++     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
++     891,   892,   893,   894,   895,   896,   897,   898,   899,   900,
++     901,   226,   227,   228,   229,   230,   231,   232,   233,   234,
++     235,   902,   903,   904,   905,   906,   907,   908,   236,   909,
++     910,   911,   912,   913,   914,   915,   237,   238,   916,   239,
++     240,   917,   241,   242,   918,   919,   243,   244,   245,   246,
++     247,   248,   249,   250,   920,   921,   922,   251,   923,   924,
++     925,   926,   927,   928,   929,   930,   252,   253,   254,   931,
++     932,   933,   934,   935,   936,   937,   938,   939,   940,   941,
++     942,   943,   944,   945,   946,   947,   948,   949,   950,   951,
++     952,   953,     0,   537,   538,   539,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,   532,   533
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   540,
++     541
  };
- static const char *const yyrule[] = {
- "$accept : toplevelvars",
- "toplevelvars :",
- "toplevelvars : toplevelvars toplevelvar",
- "toplevelvar : serverstart contents_server",
- "toplevelvar : stubstart contents_stub",
- "toplevelvar : forwardstart contents_forward",
- "toplevelvar : pythonstart contents_py",
- "toplevelvar : rcstart contents_rc",
- "toplevelvar : dtstart contents_dt",
- "toplevelvar : viewstart contents_view",
- "toplevelvar : dnscstart contents_dnsc",
- "toplevelvar : cachedbstart contents_cachedb",
- "toplevelvar : ipsetstart contents_ipset",
- "toplevelvar : authstart contents_auth",
- "toplevelvar : rpzstart contents_rpz",
- "serverstart : VAR_SERVER",
- "contents_server : contents_server content_server",
- "contents_server :",
- "content_server : server_num_threads",
- "content_server : server_verbosity",
- "content_server : server_port",
- "content_server : server_outgoing_range",
- "content_server : server_do_ip4",
- "content_server : server_do_ip6",
- "content_server : server_prefer_ip4",
- "content_server : server_prefer_ip6",
- "content_server : server_do_udp",
- "content_server : server_do_tcp",
- "content_server : server_tcp_mss",
- "content_server : server_outgoing_tcp_mss",
- "content_server : server_tcp_idle_timeout",
- "content_server : server_tcp_keepalive",
- "content_server : server_tcp_keepalive_timeout",
- "content_server : server_interface",
- "content_server : server_chroot",
- "content_server : server_username",
- "content_server : server_directory",
- "content_server : server_logfile",
- "content_server : server_pidfile",
- "content_server : server_msg_cache_size",
- "content_server : server_msg_cache_slabs",
- "content_server : server_num_queries_per_thread",
- "content_server : server_rrset_cache_size",
- "content_server : server_rrset_cache_slabs",
- "content_server : server_outgoing_num_tcp",
- "content_server : server_infra_host_ttl",
- "content_server : server_infra_lame_ttl",
- "content_server : server_infra_cache_slabs",
- "content_server : server_infra_cache_numhosts",
- "content_server : server_infra_cache_lame_size",
- "content_server : server_target_fetch_policy",
- "content_server : server_harden_short_bufsize",
- "content_server : server_harden_large_queries",
- "content_server : server_do_not_query_address",
- "content_server : server_hide_identity",
- "content_server : server_hide_version",
- "content_server : server_identity",
- "content_server : server_version",
- "content_server : server_harden_glue",
- "content_server : server_module_conf",
- "content_server : server_trust_anchor_file",
- "content_server : server_trust_anchor",
- "content_server : server_val_override_date",
- "content_server : server_bogus_ttl",
- "content_server : server_val_clean_additional",
- "content_server : server_val_permissive_mode",
- "content_server : server_incoming_num_tcp",
- "content_server : server_msg_buffer_size",
- "content_server : server_key_cache_size",
- "content_server : server_key_cache_slabs",
- "content_server : server_trusted_keys_file",
- "content_server : server_val_nsec3_keysize_iterations",
- "content_server : server_use_syslog",
- "content_server : server_outgoing_interface",
- "content_server : server_root_hints",
- "content_server : server_do_not_query_localhost",
- "content_server : server_cache_max_ttl",
- "content_server : server_harden_dnssec_stripped",
- "content_server : server_access_control",
- "content_server : server_local_zone",
- "content_server : server_local_data",
- "content_server : server_interface_automatic",
- "content_server : server_statistics_interval",
- "content_server : server_do_daemonize",
- "content_server : server_use_caps_for_id",
- "content_server : server_statistics_cumulative",
- "content_server : server_outgoing_port_permit",
- "content_server : server_outgoing_port_avoid",
- "content_server : server_dlv_anchor_file",
- "content_server : server_dlv_anchor",
- "content_server : server_neg_cache_size",
- "content_server : server_harden_referral_path",
- "content_server : server_private_address",
- "content_server : server_private_domain",
- "content_server : server_extended_statistics",
- "content_server : server_local_data_ptr",
- "content_server : server_jostle_timeout",
- "content_server : server_unwanted_reply_threshold",
- "content_server : server_log_time_ascii",
- "content_server : server_domain_insecure",
- "content_server : server_val_sig_skew_min",
- "content_server : server_val_sig_skew_max",
- "content_server : server_cache_min_ttl",
- "content_server : server_val_log_level",
- "content_server : server_auto_trust_anchor_file",
- "content_server : server_add_holddown",
- "content_server : server_del_holddown",
- "content_server : server_keep_missing",
- "content_server : server_so_rcvbuf",
- "content_server : server_edns_buffer_size",
- "content_server : server_prefetch",
- "content_server : server_prefetch_key",
- "content_server : server_so_sndbuf",
- "content_server : server_harden_below_nxdomain",
- "content_server : server_ignore_cd_flag",
- "content_server : server_log_queries",
- "content_server : server_log_replies",
- "content_server : server_tcp_upstream",
- "content_server : server_ssl_upstream",
- "content_server : server_log_local_actions",
- "content_server : server_ssl_service_key",
- "content_server : server_ssl_service_pem",
- "content_server : server_ssl_port",
- "content_server : server_minimal_responses",
- "content_server : server_rrset_roundrobin",
- "content_server : server_max_udp_size",
- "content_server : server_so_reuseport",
- "content_server : server_delay_close",
- "content_server : server_unblock_lan_zones",
- "content_server : server_insecure_lan_zones",
- "content_server : server_dns64_prefix",
- "content_server : server_dns64_synthall",
- "content_server : server_dns64_ignore_aaaa",
- "content_server : server_infra_cache_min_rtt",
- "content_server : server_harden_algo_downgrade",
- "content_server : server_ip_transparent",
- "content_server : server_ip_ratelimit",
- "content_server : server_ratelimit",
- "content_server : server_ip_dscp",
- "content_server : server_ip_ratelimit_slabs",
- "content_server : server_ratelimit_slabs",
- "content_server : server_ip_ratelimit_size",
- "content_server : server_ratelimit_size",
- "content_server : server_ratelimit_for_domain",
- "content_server : server_ratelimit_below_domain",
- "content_server : server_ratelimit_factor",
- "content_server : server_ip_ratelimit_factor",
- "content_server : server_send_client_subnet",
- "content_server : server_client_subnet_zone",
- "content_server : server_client_subnet_always_forward",
- "content_server : server_client_subnet_opcode",
- "content_server : server_max_client_subnet_ipv4",
- "content_server : server_max_client_subnet_ipv6",
- "content_server : server_min_client_subnet_ipv4",
- "content_server : server_min_client_subnet_ipv6",
- "content_server : server_max_ecs_tree_size_ipv4",
- "content_server : server_max_ecs_tree_size_ipv6",
- "content_server : server_caps_whitelist",
- "content_server : server_cache_max_negative_ttl",
- "content_server : server_permit_small_holddown",
- "content_server : server_qname_minimisation",
- "content_server : server_ip_freebind",
- "content_server : server_define_tag",
- "content_server : server_local_zone_tag",
- "content_server : server_disable_dnssec_lame_check",
- "content_server : server_access_control_tag",
- "content_server : server_local_zone_override",
- "content_server : server_access_control_tag_action",
- "content_server : server_access_control_tag_data",
- "content_server : server_access_control_view",
- "content_server : server_qname_minimisation_strict",
- "content_server : server_serve_expired",
- "content_server : server_serve_expired_ttl",
- "content_server : server_serve_expired_ttl_reset",
- "content_server : server_serve_expired_reply_ttl",
- "content_server : server_serve_expired_client_timeout",
- "content_server : server_fake_dsa",
- "content_server : server_log_identity",
- "content_server : server_use_systemd",
- "content_server : server_response_ip_tag",
- "content_server : server_response_ip",
- "content_server : server_response_ip_data",
- "content_server : server_shm_enable",
- "content_server : server_shm_key",
- "content_server : server_fake_sha1",
- "content_server : server_hide_trustanchor",
- "content_server : server_trust_anchor_signaling",
- "content_server : server_root_key_sentinel",
- "content_server : server_ipsecmod_enabled",
- "content_server : server_ipsecmod_hook",
- "content_server : server_ipsecmod_ignore_bogus",
- "content_server : server_ipsecmod_max_ttl",
- "content_server : server_ipsecmod_whitelist",
- "content_server : server_ipsecmod_strict",
- "content_server : server_udp_upstream_without_downstream",
- "content_server : server_aggressive_nsec",
- "content_server : server_tls_cert_bundle",
- "content_server : server_tls_additional_port",
- "content_server : server_low_rtt",
- "content_server : server_fast_server_permil",
- "content_server : server_fast_server_num",
- "content_server : server_tls_win_cert",
- "content_server : server_tcp_connection_limit",
- "content_server : server_log_servfail",
- "content_server : server_deny_any",
- "content_server : server_unknown_server_time_limit",
- "content_server : server_log_tag_queryreply",
- "content_server : server_stream_wait_size",
- "content_server : server_tls_ciphers",
- "content_server : server_tls_ciphersuites",
- "content_server : server_tls_session_ticket_keys",
- "stubstart : VAR_STUB_ZONE",
- "contents_stub : contents_stub content_stub",
- "contents_stub :",
- "content_stub : stub_name",
- "content_stub : stub_host",
- "content_stub : stub_addr",
- "content_stub : stub_prime",
- "content_stub : stub_first",
- "content_stub : stub_no_cache",
- "content_stub : stub_ssl_upstream",
- "forwardstart : VAR_FORWARD_ZONE",
- "contents_forward : contents_forward content_forward",
- "contents_forward :",
- "content_forward : forward_name",
- "content_forward : forward_host",
- "content_forward : forward_addr",
- "content_forward : forward_first",
- "content_forward : forward_no_cache",
- "content_forward : forward_ssl_upstream",
- "viewstart : VAR_VIEW",
- "contents_view : contents_view content_view",
- "contents_view :",
- "content_view : view_name",
- "content_view : view_local_zone",
- "content_view : view_local_data",
- "content_view : view_first",
- "content_view : view_response_ip",
- "content_view : view_response_ip_data",
- "content_view : view_local_data_ptr",
- "authstart : VAR_AUTH_ZONE",
- "contents_auth : contents_auth content_auth",
- "contents_auth :",
- "content_auth : auth_name",
- "content_auth : auth_zonefile",
- "content_auth : auth_master",
- "content_auth : auth_url",
- "content_auth : auth_for_downstream",
- "content_auth : auth_for_upstream",
- "content_auth : auth_fallback_enabled",
- "content_auth : auth_allow_notify",
- "rpz_tag : VAR_TAGS STRING_ARG",
- "rpz_action_override : VAR_RPZ_ACTION_OVERRIDE STRING_ARG",
- "rpz_cname_override : VAR_RPZ_CNAME_OVERRIDE STRING_ARG",
- "rpz_log : VAR_RPZ_LOG STRING_ARG",
- "rpz_log_name : VAR_RPZ_LOG_NAME STRING_ARG",
- "rpzstart : VAR_RPZ",
- "contents_rpz : contents_rpz content_rpz",
- "contents_rpz :",
- "content_rpz : auth_name",
- "content_rpz : auth_zonefile",
- "content_rpz : rpz_tag",
- "content_rpz : auth_master",
- "content_rpz : auth_url",
- "content_rpz : auth_allow_notify",
- "content_rpz : rpz_action_override",
- "content_rpz : rpz_cname_override",
- "content_rpz : rpz_log",
- "content_rpz : rpz_log_name",
- "server_num_threads : VAR_NUM_THREADS STRING_ARG",
- "server_verbosity : VAR_VERBOSITY STRING_ARG",
- "server_statistics_interval : VAR_STATISTICS_INTERVAL STRING_ARG",
- "server_statistics_cumulative : VAR_STATISTICS_CUMULATIVE STRING_ARG",
- "server_extended_statistics : VAR_EXTENDED_STATISTICS STRING_ARG",
- "server_shm_enable : VAR_SHM_ENABLE STRING_ARG",
- "server_shm_key : VAR_SHM_KEY STRING_ARG",
- "server_port : VAR_PORT STRING_ARG",
- "server_send_client_subnet : VAR_SEND_CLIENT_SUBNET STRING_ARG",
- "server_client_subnet_zone : VAR_CLIENT_SUBNET_ZONE STRING_ARG",
- "server_client_subnet_always_forward : VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG",
- "server_client_subnet_opcode : VAR_CLIENT_SUBNET_OPCODE STRING_ARG",
- "server_max_client_subnet_ipv4 : VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG",
- "server_max_client_subnet_ipv6 : VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG",
- "server_min_client_subnet_ipv4 : VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG",
- "server_min_client_subnet_ipv6 : VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG",
- "server_max_ecs_tree_size_ipv4 : VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG",
- "server_max_ecs_tree_size_ipv6 : VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG",
- "server_interface : VAR_INTERFACE STRING_ARG",
- "server_outgoing_interface : VAR_OUTGOING_INTERFACE STRING_ARG",
- "server_outgoing_range : VAR_OUTGOING_RANGE STRING_ARG",
- "server_outgoing_port_permit : VAR_OUTGOING_PORT_PERMIT STRING_ARG",
- "server_outgoing_port_avoid : VAR_OUTGOING_PORT_AVOID STRING_ARG",
- "server_outgoing_num_tcp : VAR_OUTGOING_NUM_TCP STRING_ARG",
- "server_incoming_num_tcp : VAR_INCOMING_NUM_TCP STRING_ARG",
- "server_interface_automatic : VAR_INTERFACE_AUTOMATIC STRING_ARG",
- "server_do_ip4 : VAR_DO_IP4 STRING_ARG",
- "server_do_ip6 : VAR_DO_IP6 STRING_ARG",
- "server_do_udp : VAR_DO_UDP STRING_ARG",
- "server_do_tcp : VAR_DO_TCP STRING_ARG",
- "server_prefer_ip4 : VAR_PREFER_IP4 STRING_ARG",
- "server_prefer_ip6 : VAR_PREFER_IP6 STRING_ARG",
- "server_tcp_mss : VAR_TCP_MSS STRING_ARG",
- "server_outgoing_tcp_mss : VAR_OUTGOING_TCP_MSS STRING_ARG",
- "server_tcp_idle_timeout : VAR_TCP_IDLE_TIMEOUT STRING_ARG",
- "server_tcp_keepalive : VAR_EDNS_TCP_KEEPALIVE STRING_ARG",
- "server_tcp_keepalive_timeout : VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG",
- "server_tcp_upstream : VAR_TCP_UPSTREAM STRING_ARG",
- "server_udp_upstream_without_downstream : VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG",
- "server_ssl_upstream : VAR_SSL_UPSTREAM STRING_ARG",
- "server_ssl_service_key : VAR_SSL_SERVICE_KEY STRING_ARG",
- "server_ssl_service_pem : VAR_SSL_SERVICE_PEM STRING_ARG",
- "server_ssl_port : VAR_SSL_PORT STRING_ARG",
- "server_tls_cert_bundle : VAR_TLS_CERT_BUNDLE STRING_ARG",
- "server_tls_win_cert : VAR_TLS_WIN_CERT STRING_ARG",
- "server_tls_additional_port : VAR_TLS_ADDITIONAL_PORT STRING_ARG",
- "server_tls_ciphers : VAR_TLS_CIPHERS STRING_ARG",
- "server_tls_ciphersuites : VAR_TLS_CIPHERSUITES STRING_ARG",
- "server_tls_session_ticket_keys : VAR_TLS_SESSION_TICKET_KEYS STRING_ARG",
- "server_use_systemd : VAR_USE_SYSTEMD STRING_ARG",
- "server_do_daemonize : VAR_DO_DAEMONIZE STRING_ARG",
- "server_use_syslog : VAR_USE_SYSLOG STRING_ARG",
- "server_log_time_ascii : VAR_LOG_TIME_ASCII STRING_ARG",
- "server_log_queries : VAR_LOG_QUERIES STRING_ARG",
- "server_log_replies : VAR_LOG_REPLIES STRING_ARG",
- "server_log_tag_queryreply : VAR_LOG_TAG_QUERYREPLY STRING_ARG",
- "server_log_servfail : VAR_LOG_SERVFAIL STRING_ARG",
- "server_log_local_actions : VAR_LOG_LOCAL_ACTIONS STRING_ARG",
- "server_chroot : VAR_CHROOT STRING_ARG",
- "server_username : VAR_USERNAME STRING_ARG",
- "server_directory : VAR_DIRECTORY STRING_ARG",
- "server_logfile : VAR_LOGFILE STRING_ARG",
- "server_pidfile : VAR_PIDFILE STRING_ARG",
- "server_root_hints : VAR_ROOT_HINTS STRING_ARG",
- "server_dlv_anchor_file : VAR_DLV_ANCHOR_FILE STRING_ARG",
- "server_dlv_anchor : VAR_DLV_ANCHOR STRING_ARG",
- "server_auto_trust_anchor_file : VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG",
- "server_trust_anchor_file : VAR_TRUST_ANCHOR_FILE STRING_ARG",
- "server_trusted_keys_file : VAR_TRUSTED_KEYS_FILE STRING_ARG",
- "server_trust_anchor : VAR_TRUST_ANCHOR STRING_ARG",
- "server_trust_anchor_signaling : VAR_TRUST_ANCHOR_SIGNALING STRING_ARG",
- "server_root_key_sentinel : VAR_ROOT_KEY_SENTINEL STRING_ARG",
- "server_domain_insecure : VAR_DOMAIN_INSECURE STRING_ARG",
- "server_hide_identity : VAR_HIDE_IDENTITY STRING_ARG",
- "server_hide_version : VAR_HIDE_VERSION STRING_ARG",
- "server_hide_trustanchor : VAR_HIDE_TRUSTANCHOR STRING_ARG",
- "server_identity : VAR_IDENTITY STRING_ARG",
- "server_version : VAR_VERSION STRING_ARG",
- "server_so_rcvbuf : VAR_SO_RCVBUF STRING_ARG",
- "server_so_sndbuf : VAR_SO_SNDBUF STRING_ARG",
- "server_so_reuseport : VAR_SO_REUSEPORT STRING_ARG",
- "server_ip_transparent : VAR_IP_TRANSPARENT STRING_ARG",
- "server_ip_freebind : VAR_IP_FREEBIND STRING_ARG",
- "server_ip_dscp : VAR_IP_DSCP STRING_ARG",
- "server_stream_wait_size : VAR_STREAM_WAIT_SIZE STRING_ARG",
- "server_edns_buffer_size : VAR_EDNS_BUFFER_SIZE STRING_ARG",
- "server_msg_buffer_size : VAR_MSG_BUFFER_SIZE STRING_ARG",
- "server_msg_cache_size : VAR_MSG_CACHE_SIZE STRING_ARG",
- "server_msg_cache_slabs : VAR_MSG_CACHE_SLABS STRING_ARG",
- "server_num_queries_per_thread : VAR_NUM_QUERIES_PER_THREAD STRING_ARG",
- "server_jostle_timeout : VAR_JOSTLE_TIMEOUT STRING_ARG",
- "server_delay_close : VAR_DELAY_CLOSE STRING_ARG",
- "server_unblock_lan_zones : VAR_UNBLOCK_LAN_ZONES STRING_ARG",
- "server_insecure_lan_zones : VAR_INSECURE_LAN_ZONES STRING_ARG",
- "server_rrset_cache_size : VAR_RRSET_CACHE_SIZE STRING_ARG",
- "server_rrset_cache_slabs : VAR_RRSET_CACHE_SLABS STRING_ARG",
- "server_infra_host_ttl : VAR_INFRA_HOST_TTL STRING_ARG",
- "server_infra_lame_ttl : VAR_INFRA_LAME_TTL STRING_ARG",
- "server_infra_cache_numhosts : VAR_INFRA_CACHE_NUMHOSTS STRING_ARG",
- "server_infra_cache_lame_size : VAR_INFRA_CACHE_LAME_SIZE STRING_ARG",
- "server_infra_cache_slabs : VAR_INFRA_CACHE_SLABS STRING_ARG",
- "server_infra_cache_min_rtt : VAR_INFRA_CACHE_MIN_RTT STRING_ARG",
- "server_target_fetch_policy : VAR_TARGET_FETCH_POLICY STRING_ARG",
- "server_harden_short_bufsize : VAR_HARDEN_SHORT_BUFSIZE STRING_ARG",
- "server_harden_large_queries : VAR_HARDEN_LARGE_QUERIES STRING_ARG",
- "server_harden_glue : VAR_HARDEN_GLUE STRING_ARG",
- "server_harden_dnssec_stripped : VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG",
- "server_harden_below_nxdomain : VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG",
- "server_harden_referral_path : VAR_HARDEN_REFERRAL_PATH STRING_ARG",
- "server_harden_algo_downgrade : VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG",
- "server_use_caps_for_id : VAR_USE_CAPS_FOR_ID STRING_ARG",
- "server_caps_whitelist : VAR_CAPS_WHITELIST STRING_ARG",
- "server_private_address : VAR_PRIVATE_ADDRESS STRING_ARG",
- "server_private_domain : VAR_PRIVATE_DOMAIN STRING_ARG",
- "server_prefetch : VAR_PREFETCH STRING_ARG",
- "server_prefetch_key : VAR_PREFETCH_KEY STRING_ARG",
- "server_deny_any : VAR_DENY_ANY STRING_ARG",
- "server_unwanted_reply_threshold : VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG",
- "server_do_not_query_address : VAR_DO_NOT_QUERY_ADDRESS STRING_ARG",
- "server_do_not_query_localhost : VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG",
- "server_access_control : VAR_ACCESS_CONTROL STRING_ARG STRING_ARG",
- "server_module_conf : VAR_MODULE_CONF STRING_ARG",
- "server_val_override_date : VAR_VAL_OVERRIDE_DATE STRING_ARG",
- "server_val_sig_skew_min : VAR_VAL_SIG_SKEW_MIN STRING_ARG",
- "server_val_sig_skew_max : VAR_VAL_SIG_SKEW_MAX STRING_ARG",
- "server_cache_max_ttl : VAR_CACHE_MAX_TTL STRING_ARG",
- "server_cache_max_negative_ttl : VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG",
- "server_cache_min_ttl : VAR_CACHE_MIN_TTL STRING_ARG",
- "server_bogus_ttl : VAR_BOGUS_TTL STRING_ARG",
- "server_val_clean_additional : VAR_VAL_CLEAN_ADDITIONAL STRING_ARG",
- "server_val_permissive_mode : VAR_VAL_PERMISSIVE_MODE STRING_ARG",
- "server_aggressive_nsec : VAR_AGGRESSIVE_NSEC STRING_ARG",
- "server_ignore_cd_flag : VAR_IGNORE_CD_FLAG STRING_ARG",
- "server_serve_expired : VAR_SERVE_EXPIRED STRING_ARG",
- "server_serve_expired_ttl : VAR_SERVE_EXPIRED_TTL STRING_ARG",
- "server_serve_expired_ttl_reset : VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG",
- "server_serve_expired_reply_ttl : VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG",
- "server_serve_expired_client_timeout : VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG",
- "server_fake_dsa : VAR_FAKE_DSA STRING_ARG",
- "server_fake_sha1 : VAR_FAKE_SHA1 STRING_ARG",
- "server_val_log_level : VAR_VAL_LOG_LEVEL STRING_ARG",
- "server_val_nsec3_keysize_iterations : VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG",
- "server_add_holddown : VAR_ADD_HOLDDOWN STRING_ARG",
- "server_del_holddown : VAR_DEL_HOLDDOWN STRING_ARG",
- "server_keep_missing : VAR_KEEP_MISSING STRING_ARG",
- "server_permit_small_holddown : VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG",
- "server_key_cache_size : VAR_KEY_CACHE_SIZE STRING_ARG",
- "server_key_cache_slabs : VAR_KEY_CACHE_SLABS STRING_ARG",
- "server_neg_cache_size : VAR_NEG_CACHE_SIZE STRING_ARG",
- "server_local_zone : VAR_LOCAL_ZONE STRING_ARG STRING_ARG",
- "server_local_data : VAR_LOCAL_DATA STRING_ARG",
- "server_local_data_ptr : VAR_LOCAL_DATA_PTR STRING_ARG",
- "server_minimal_responses : VAR_MINIMAL_RESPONSES STRING_ARG",
- "server_rrset_roundrobin : VAR_RRSET_ROUNDROBIN STRING_ARG",
- "server_unknown_server_time_limit : VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG",
- "server_max_udp_size : VAR_MAX_UDP_SIZE STRING_ARG",
- "server_dns64_prefix : VAR_DNS64_PREFIX STRING_ARG",
- "server_dns64_synthall : VAR_DNS64_SYNTHALL STRING_ARG",
- "server_dns64_ignore_aaaa : VAR_DNS64_IGNORE_AAAA STRING_ARG",
- "server_define_tag : VAR_DEFINE_TAG STRING_ARG",
- "server_local_zone_tag : VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG",
- "server_access_control_tag : VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG",
- "server_access_control_tag_action : VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG",
- "server_access_control_tag_data : VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG",
- "server_local_zone_override : VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG",
- "server_access_control_view : VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG",
- "server_response_ip_tag : VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG",
- "server_ip_ratelimit : VAR_IP_RATELIMIT STRING_ARG",
- "server_ratelimit : VAR_RATELIMIT STRING_ARG",
- "server_ip_ratelimit_size : VAR_IP_RATELIMIT_SIZE STRING_ARG",
- "server_ratelimit_size : VAR_RATELIMIT_SIZE STRING_ARG",
- "server_ip_ratelimit_slabs : VAR_IP_RATELIMIT_SLABS STRING_ARG",
- "server_ratelimit_slabs : VAR_RATELIMIT_SLABS STRING_ARG",
- "server_ratelimit_for_domain : VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG",
- "server_ratelimit_below_domain : VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG",
- "server_ip_ratelimit_factor : VAR_IP_RATELIMIT_FACTOR STRING_ARG",
- "server_ratelimit_factor : VAR_RATELIMIT_FACTOR STRING_ARG",
- "server_low_rtt : VAR_LOW_RTT STRING_ARG",
- "server_fast_server_num : VAR_FAST_SERVER_NUM STRING_ARG",
- "server_fast_server_permil : VAR_FAST_SERVER_PERMIL STRING_ARG",
- "server_qname_minimisation : VAR_QNAME_MINIMISATION STRING_ARG",
- "server_qname_minimisation_strict : VAR_QNAME_MINIMISATION_STRICT STRING_ARG",
- "server_pad_responses : VAR_PAD_RESPONSES STRING_ARG",
- "server_pad_responses_block_size : VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG",
- "server_pad_queries : VAR_PAD_QUERIES STRING_ARG",
- "server_pad_queries_block_size : VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG",
- "server_ipsecmod_enabled : VAR_IPSECMOD_ENABLED STRING_ARG",
- "server_ipsecmod_ignore_bogus : VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG",
- "server_ipsecmod_hook : VAR_IPSECMOD_HOOK STRING_ARG",
- "server_ipsecmod_max_ttl : VAR_IPSECMOD_MAX_TTL STRING_ARG",
- "server_ipsecmod_whitelist : VAR_IPSECMOD_WHITELIST STRING_ARG",
- "server_ipsecmod_strict : VAR_IPSECMOD_STRICT STRING_ARG",
- "stub_name : VAR_NAME STRING_ARG",
- "stub_host : VAR_STUB_HOST STRING_ARG",
- "stub_addr : VAR_STUB_ADDR STRING_ARG",
- "stub_first : VAR_STUB_FIRST STRING_ARG",
- "stub_no_cache : VAR_STUB_NO_CACHE STRING_ARG",
- "stub_ssl_upstream : VAR_STUB_SSL_UPSTREAM STRING_ARG",
- "stub_prime : VAR_STUB_PRIME STRING_ARG",
- "forward_name : VAR_NAME STRING_ARG",
- "forward_host : VAR_FORWARD_HOST STRING_ARG",
- "forward_addr : VAR_FORWARD_ADDR STRING_ARG",
- "forward_first : VAR_FORWARD_FIRST STRING_ARG",
- "forward_no_cache : VAR_FORWARD_NO_CACHE STRING_ARG",
- "forward_ssl_upstream : VAR_FORWARD_SSL_UPSTREAM STRING_ARG",
- "auth_name : VAR_NAME STRING_ARG",
- "auth_zonefile : VAR_ZONEFILE STRING_ARG",
- "auth_master : VAR_MASTER STRING_ARG",
- "auth_url : VAR_URL STRING_ARG",
- "auth_allow_notify : VAR_ALLOW_NOTIFY STRING_ARG",
- "auth_for_downstream : VAR_FOR_DOWNSTREAM STRING_ARG",
- "auth_for_upstream : VAR_FOR_UPSTREAM STRING_ARG",
- "auth_fallback_enabled : VAR_FALLBACK_ENABLED STRING_ARG",
- "view_name : VAR_NAME STRING_ARG",
- "view_local_zone : VAR_LOCAL_ZONE STRING_ARG STRING_ARG",
- "view_response_ip : VAR_RESPONSE_IP STRING_ARG STRING_ARG",
- "view_response_ip_data : VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG",
- "view_local_data : VAR_LOCAL_DATA STRING_ARG",
- "view_local_data_ptr : VAR_LOCAL_DATA_PTR STRING_ARG",
- "view_first : VAR_VIEW_FIRST STRING_ARG",
- "rcstart : VAR_REMOTE_CONTROL",
- "contents_rc : contents_rc content_rc",
- "contents_rc :",
- "content_rc : rc_control_enable",
- "content_rc : rc_control_interface",
- "content_rc : rc_control_port",
- "content_rc : rc_server_key_file",
- "content_rc : rc_server_cert_file",
- "content_rc : rc_control_key_file",
- "content_rc : rc_control_cert_file",
- "content_rc : rc_control_use_cert",
- "rc_control_enable : VAR_CONTROL_ENABLE STRING_ARG",
- "rc_control_port : VAR_CONTROL_PORT STRING_ARG",
- "rc_control_interface : VAR_CONTROL_INTERFACE STRING_ARG",
- "rc_control_use_cert : VAR_CONTROL_USE_CERT STRING_ARG",
- "rc_server_key_file : VAR_SERVER_KEY_FILE STRING_ARG",
- "rc_server_cert_file : VAR_SERVER_CERT_FILE STRING_ARG",
- "rc_control_key_file : VAR_CONTROL_KEY_FILE STRING_ARG",
- "rc_control_cert_file : VAR_CONTROL_CERT_FILE STRING_ARG",
- "dtstart : VAR_DNSTAP",
- "contents_dt : contents_dt content_dt",
- "contents_dt :",
- "content_dt : dt_dnstap_enable",
- "content_dt : dt_dnstap_socket_path",
- "content_dt : dt_dnstap_ip",
- "content_dt : dt_dnstap_tls",
- "content_dt : dt_dnstap_tls_server_name",
- "content_dt : dt_dnstap_tls_cert_bundle",
- "content_dt : dt_dnstap_tls_client_key_file",
- "content_dt : dt_dnstap_tls_client_cert_file",
- "content_dt : dt_dnstap_send_identity",
- "content_dt : dt_dnstap_send_version",
- "content_dt : dt_dnstap_identity",
- "content_dt : dt_dnstap_version",
- "content_dt : dt_dnstap_log_resolver_query_messages",
- "content_dt : dt_dnstap_log_resolver_response_messages",
- "content_dt : dt_dnstap_log_client_query_messages",
- "content_dt : dt_dnstap_log_client_response_messages",
- "content_dt : dt_dnstap_log_forwarder_query_messages",
- "content_dt : dt_dnstap_log_forwarder_response_messages",
- "dt_dnstap_enable : VAR_DNSTAP_ENABLE STRING_ARG",
- "dt_dnstap_socket_path : VAR_DNSTAP_SOCKET_PATH STRING_ARG",
- "dt_dnstap_ip : VAR_DNSTAP_IP STRING_ARG",
- "dt_dnstap_tls : VAR_DNSTAP_TLS STRING_ARG",
- "dt_dnstap_tls_server_name : VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG",
- "dt_dnstap_tls_cert_bundle : VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG",
- "dt_dnstap_tls_client_key_file : VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG",
- "dt_dnstap_tls_client_cert_file : VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG",
- "dt_dnstap_send_identity : VAR_DNSTAP_SEND_IDENTITY STRING_ARG",
- "dt_dnstap_send_version : VAR_DNSTAP_SEND_VERSION STRING_ARG",
- "dt_dnstap_identity : VAR_DNSTAP_IDENTITY STRING_ARG",
- "dt_dnstap_version : VAR_DNSTAP_VERSION STRING_ARG",
- "dt_dnstap_log_resolver_query_messages : VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG",
- "dt_dnstap_log_resolver_response_messages : VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG",
- "dt_dnstap_log_client_query_messages : VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG",
- "dt_dnstap_log_client_response_messages : VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG",
- "dt_dnstap_log_forwarder_query_messages : VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG",
- "dt_dnstap_log_forwarder_response_messages : VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG",
- "pythonstart : VAR_PYTHON",
- "contents_py : contents_py content_py",
- "contents_py :",
- "content_py : py_script",
- "py_script : VAR_PYTHON_SCRIPT STRING_ARG",
- "server_disable_dnssec_lame_check : VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG",
- "server_log_identity : VAR_LOG_IDENTITY STRING_ARG",
- "server_response_ip : VAR_RESPONSE_IP STRING_ARG STRING_ARG",
- "server_response_ip_data : VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG",
- "dnscstart : VAR_DNSCRYPT",
- "contents_dnsc : contents_dnsc content_dnsc",
- "contents_dnsc :",
- "content_dnsc : dnsc_dnscrypt_enable",
- "content_dnsc : dnsc_dnscrypt_port",
- "content_dnsc : dnsc_dnscrypt_provider",
- "content_dnsc : dnsc_dnscrypt_secret_key",
- "content_dnsc : dnsc_dnscrypt_provider_cert",
- "content_dnsc : dnsc_dnscrypt_provider_cert_rotated",
- "content_dnsc : dnsc_dnscrypt_shared_secret_cache_size",
- "content_dnsc : dnsc_dnscrypt_shared_secret_cache_slabs",
- "content_dnsc : dnsc_dnscrypt_nonce_cache_size",
- "content_dnsc : dnsc_dnscrypt_nonce_cache_slabs",
- "dnsc_dnscrypt_enable : VAR_DNSCRYPT_ENABLE STRING_ARG",
- "dnsc_dnscrypt_port : VAR_DNSCRYPT_PORT STRING_ARG",
- "dnsc_dnscrypt_provider : VAR_DNSCRYPT_PROVIDER STRING_ARG",
- "dnsc_dnscrypt_provider_cert : VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG",
- "dnsc_dnscrypt_provider_cert_rotated : VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG",
- "dnsc_dnscrypt_secret_key : VAR_DNSCRYPT_SECRET_KEY STRING_ARG",
- "dnsc_dnscrypt_shared_secret_cache_size : VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG",
- "dnsc_dnscrypt_shared_secret_cache_slabs : VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG",
- "dnsc_dnscrypt_nonce_cache_size : VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG",
- "dnsc_dnscrypt_nonce_cache_slabs : VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG",
- "cachedbstart : VAR_CACHEDB",
- "contents_cachedb : contents_cachedb content_cachedb",
- "contents_cachedb :",
- "content_cachedb : cachedb_backend_name",
- "content_cachedb : cachedb_secret_seed",
- "content_cachedb : redis_server_host",
- "content_cachedb : redis_server_port",
- "content_cachedb : redis_timeout",
- "content_cachedb : redis_expire_records",
- "cachedb_backend_name : VAR_CACHEDB_BACKEND STRING_ARG",
- "cachedb_secret_seed : VAR_CACHEDB_SECRETSEED STRING_ARG",
- "redis_server_host : VAR_CACHEDB_REDISHOST STRING_ARG",
- "redis_server_port : VAR_CACHEDB_REDISPORT STRING_ARG",
- "redis_timeout : VAR_CACHEDB_REDISTIMEOUT STRING_ARG",
- "redis_expire_records : VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG",
- "server_tcp_connection_limit : VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG",
- "ipsetstart : VAR_IPSET",
- "contents_ipset : contents_ipset content_ipset",
- "contents_ipset :",
- "content_ipset : ipset_name_v4",
- "content_ipset : ipset_name_v6",
- "ipset_name_v4 : VAR_IPSET_NAME_V4 STRING_ARG",
- "ipset_name_v6 : VAR_IPSET_NAME_V6 STRING_ARG",
  
 -       0,    45,    45,    45,   113,    47,    48,    45,   290,   291,
 -     300,    11,    12,    10,    10,    53,    54,   257,   258,   259,
 -     260,   261,   262,    10,    45,   240,   241,   242,   243,   244,
+ static const yytype_int16 yycheck[] =
+ {
 -      10,   221,   266,   267,   268,    10,    10,    10,    10,    10,
 -      10,    10,   276,    10,    10,    10,    10,    10,   280,   239,
 -      10,   279,    10,   264,    10,   266,   267,   268,   269,   270,
 -     294,   295,   296,   297,   298,   276,   256,    10,    10,    10,
 -      10,    10,    10,    10,    10,   265,    10,    10,    10,    10,
++       0,    45,    45,    45,   113,    47,    48,    45,   294,   295,
++     304,    11,    12,    10,    10,    53,    54,   261,   262,   263,
++     264,   265,   266,    10,    45,   240,   241,   242,   243,   244,
+      245,   246,   247,   248,   249,    10,    10,    10,    81,    82,
+       10,    10,    10,    10,    10,    10,    46,    10,    10,    10,
+       10,    10,    52,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,    10,   106,    10,    10,   108,   163,   164,   165,
+      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+      176,   177,   178,   179,   180,   181,    97,    98,    99,   100,
+      101,   102,   103,   104,    10,    10,    96,   139,    10,    10,
+      138,    10,   140,    10,    10,    10,    10,   149,    10,    10,
+       10,    10,   112,    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,
+      183,   184,    10,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,   162,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+      223,    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,   289,
 -      10,    10,    10,   293,    10,    10,    10,    -1,    10,   299,
 -      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,    10,   109,   110,   111,    10,
 -      10,   114,   115,   116,   117,   118,   119,   120,   121,   122,
 -     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
 -     133,   134,   135,   136,   137,    10,    10,    10,   141,   142,
 -     143,   144,   145,   146,   147,   148,    10,   150,   151,   152,
 -     153,   154,   155,   156,   157,   158,   159,   160,   161,    10,
++      10,   221,    10,    10,    10,    10,   270,   271,   272,    10,
++      10,    10,    10,    10,    10,    10,   280,    10,    10,   239,
++      10,    10,   284,    10,    10,   283,    10,   268,    10,   270,
++     271,   272,   273,   274,   298,   299,   300,   301,   302,   280,
++     260,    10,    10,    10,    10,    10,    10,    10,    10,   269,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 -      10,    10,    10,    10,    10,    10,    10,    10,    10,   182,
 -     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
 -     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
 -     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
 -     213,   214,   215,   216,   217,   218,   219,   220,    10,   222,
 -      10,   224,   225,   226,   227,   228,   229,   230,   231,   232,
 -     233,   234,   235,   236,   237,   238,    10,    10,    10,    10,
 -      10,    10,    10,    10,    10,    10,    10,   250,   251,   252,
 -     253,   254,   255,    10,    10,    10,    10,    10,    10,    10,
 -     263,    10,    10,    10,    10,    10,    10,    10,   271,   272,
 -      10,   274,   275,    10,   277,   278,    10,    10,   281,   282,
 -     283,   284,   285,   286,   287,   288,    10,    10,    10,   292,
 -      10,    10,    10,    10,    10,    10,    10,    10,   301,   302,
 -     303,    10,    10,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 -      10,    10,    10,    10,    -1,    37,    37,    37,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      10,    10,    10,   293,    10,    10,    10,   297,    10,    10,
++      10,    -1,    10,   303,    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,    10,
++     109,   110,   111,    10,    10,   114,   115,   116,   117,   118,
++     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
++     129,   130,   131,   132,   133,   134,   135,   136,   137,    10,
++      10,    10,   141,   142,   143,   144,   145,   146,   147,   148,
++      10,   150,   151,   152,   153,   154,   155,   156,   157,   158,
++     159,   160,   161,    10,    10,    10,    10,    10,    10,    10,
+       10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
 -      -1,    37,    37
++      10,    10,    10,   182,   183,   184,   185,   186,   187,   188,
++     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
++     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
++     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
++     219,   220,    10,   222,    10,   224,   225,   226,   227,   228,
++     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
++      10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++      10,   250,   251,   252,   253,   254,   255,   256,   257,   258,
++     259,    10,    10,    10,    10,    10,    10,    10,   267,    10,
++      10,    10,    10,    10,    10,    10,   275,   276,    10,   278,
++     279,    10,   281,   282,    10,    10,   285,   286,   287,   288,
++     289,   290,   291,   292,    10,    10,    10,   296,    10,    10,
++      10,    10,    10,    10,    10,    10,   305,   306,   307,    10,
++      10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++      10,    10,    10,    10,    10,    10,    10,    10,    10,    10,
++      10,    10,    -1,    37,    37,    37,    -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
  };
- #endif
  
- int      yydebug;
- int      yynerrs;
+   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+      symbol of state STATE-NUM.  */
+ static const yytype_int16 yystos[] =
+ {
 -       0,   305,     0,    11,    12,    46,    52,    96,   112,   162,
 -     221,   239,   256,   265,   289,   293,   299,   306,   307,   308,
 -     311,   314,   317,   320,   328,   560,   571,   593,   597,   605,
 -     618,   628,   309,   312,   315,   318,   321,   329,   561,   572,
 -     594,   598,   606,   619,   629,    13,    14,    15,    16,    17,
++       0,   309,     0,    11,    12,    46,    52,    96,   112,   162,
++     221,   239,   260,   269,   293,   297,   303,   310,   311,   312,
++     315,   318,   321,   324,   332,   568,   579,   601,   605,   613,
++     626,   636,   313,   316,   319,   322,   325,   333,   569,   580,
++     602,   606,   614,   627,   637,    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,
+       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,   105,   106,   107,   109,   110,   111,   114,   115,   116,
+      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+      137,   141,   142,   143,   144,   145,   146,   147,   148,   150,
+      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+      161,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+      222,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+      233,   234,   235,   236,   237,   238,   250,   251,   252,   253,
 -     254,   255,   263,   271,   272,   274,   275,   277,   278,   281,
 -     282,   283,   284,   285,   286,   287,   288,   292,   301,   302,
 -     303,   310,   331,   332,   333,   334,   335,   336,   337,   338,
++     254,   255,   256,   257,   258,   259,   267,   275,   276,   278,
++     279,   281,   282,   285,   286,   287,   288,   289,   290,   291,
++     292,   296,   305,   306,   307,   314,   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,   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,   601,   602,   603,   604,   627,    45,    47,
 -      48,   108,   139,   149,   280,   313,   532,   533,   534,   535,
 -     536,   537,   538,    45,    53,    54,   138,   140,   279,   316,
 -     539,   540,   541,   542,   543,   544,    45,    81,    82,   106,
 -     183,   184,   223,   319,   553,   554,   555,   556,   557,   558,
 -     559,    45,   264,   266,   267,   268,   269,   270,   276,   322,
 -     545,   546,   547,   548,   549,   550,   551,   552,   294,   295,
 -     296,   297,   298,   323,   324,   325,   326,   327,   330,   545,
 -     546,   547,   548,   549,    97,    98,    99,   100,   101,   102,
 -     103,   104,   562,   563,   564,   565,   566,   567,   568,   569,
 -     570,   163,   164,   165,   166,   167,   168,   169,   170,   171,
 -     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
 -     573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
++     529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
++     539,   609,   610,   611,   612,   635,    45,    47,    48,   108,
++     139,   149,   284,   317,   540,   541,   542,   543,   544,   545,
++     546,    45,    53,    54,   138,   140,   283,   320,   547,   548,
++     549,   550,   551,   552,    45,    81,    82,   106,   183,   184,
++     223,   323,   561,   562,   563,   564,   565,   566,   567,    45,
++     268,   270,   271,   272,   273,   274,   280,   326,   553,   554,
++     555,   556,   557,   558,   559,   560,   298,   299,   300,   301,
++     302,   327,   328,   329,   330,   331,   334,   553,   554,   555,
++     556,   557,    97,    98,    99,   100,   101,   102,   103,   104,
++     570,   571,   572,   573,   574,   575,   576,   577,   578,   163,
++     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
++     174,   175,   176,   177,   178,   179,   180,   181,   581,   582,
+      583,   584,   585,   586,   587,   588,   589,   590,   591,   592,
 -     113,   595,   596,   300,   599,   600,   240,   241,   242,   243,
 -     244,   245,   246,   247,   248,   249,   607,   608,   609,   610,
 -     611,   612,   613,   614,   615,   616,   617,   257,   258,   259,
 -     260,   261,   262,   620,   621,   622,   623,   624,   625,   626,
 -     290,   291,   630,   631,   632,    10,    10,    10,    10,    10,
++     593,   594,   595,   596,   597,   598,   599,   600,   113,   603,
++     604,   304,   607,   608,   240,   241,   242,   243,   244,   245,
++     246,   247,   248,   249,   615,   616,   617,   618,   619,   620,
++     621,   622,   623,   624,   625,   261,   262,   263,   264,   265,
++     266,   628,   629,   630,   631,   632,   633,   634,   294,   295,
++     638,   639,   640,    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,    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,    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,    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
+ };
  
- int      yyerrflag;
- int      yychar;
- YYSTYPE  yyval;
- YYSTYPE  yylval;
+   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+ static const yytype_int16 yyr1[] =
+ {
 -       0,   304,   305,   305,   306,   306,   306,   306,   306,   306,
 -     306,   306,   306,   306,   306,   306,   306,   306,   307,   308,
 -     309,   309,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
 -     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
++       0,   308,   309,   309,   310,   310,   310,   310,   310,   310,
+      310,   310,   310,   310,   310,   310,   310,   310,   311,   312,
 -     312,   313,   313,   313,   313,   313,   313,   313,   314,   315,
 -     315,   316,   316,   316,   316,   316,   316,   317,   318,   318,
 -     319,   319,   319,   319,   319,   319,   319,   320,   321,   321,
 -     322,   322,   322,   322,   322,   322,   322,   322,   323,   324,
 -     325,   326,   327,   328,   329,   329,   330,   330,   330,   330,
 -     330,   330,   330,   330,   330,   330,   331,   332,   333,   334,
++     313,   313,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
++     314,   314,   315,   316,   316,   317,   317,   317,   317,   317,
++     317,   317,   318,   319,   319,   320,   320,   320,   320,   320,
++     320,   321,   322,   322,   323,   323,   323,   323,   323,   323,
++     323,   324,   325,   325,   326,   326,   326,   326,   326,   326,
++     326,   326,   327,   328,   329,   330,   331,   332,   333,   333,
++     334,   334,   334,   334,   334,   334,   334,   334,   334,   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,
+      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,   561,   562,   562,
 -     562,   562,   562,   562,   562,   562,   563,   564,   565,   566,
 -     567,   568,   569,   570,   571,   572,   572,   573,   573,   573,
 -     573,   573,   573,   573,   573,   573,   573,   573,   573,   573,
 -     573,   573,   573,   573,   573,   573,   574,   575,   576,   577,
 -     578,   579,   580,   581,   582,   583,   584,   585,   586,   587,
 -     588,   589,   590,   591,   592,   593,   594,   594,   595,   596,
 -     597,   598,   598,   599,   600,   601,   602,   603,   604,   605,
 -     606,   606,   607,   607,   607,   607,   607,   607,   607,   607,
 -     607,   607,   608,   609,   610,   611,   612,   613,   614,   615,
 -     616,   617,   618,   619,   619,   620,   620,   620,   620,   620,
 -     620,   621,   622,   623,   624,   625,   626,   627,   628,   629,
 -     629,   630,   630,   631,   632
++     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
++     565,   566,   567,   568,   569,   569,   570,   570,   570,   570,
++     570,   570,   570,   570,   571,   572,   573,   574,   575,   576,
++     577,   578,   579,   580,   580,   581,   581,   581,   581,   581,
++     581,   581,   581,   581,   581,   581,   581,   581,   581,   581,
++     581,   581,   581,   581,   582,   583,   584,   585,   586,   587,
++     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
++     598,   599,   600,   601,   602,   602,   603,   604,   605,   606,
++     606,   607,   608,   609,   610,   611,   612,   613,   614,   614,
++     615,   615,   615,   615,   615,   615,   615,   615,   615,   615,
++     616,   617,   618,   619,   620,   621,   622,   623,   624,   625,
++     626,   627,   627,   628,   628,   628,   628,   628,   628,   629,
++     630,   631,   632,   633,   634,   635,   636,   637,   637,   638,
++     638,   639,   640
+ };
  
- /* define the initial stack-sizes */
- #ifdef YYSTACKSIZE
- #undef YYMAXDEPTH
- #define YYMAXDEPTH  YYSTACKSIZE
- #else
- #ifdef YYMAXDEPTH
- #define YYSTACKSIZE YYMAXDEPTH
- #else
- #define YYSTACKSIZE 10000
- #define YYMAXDEPTH  10000
- #endif
- #endif
+   /* 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,     2,
 -       0,     1,     1,     1,     1,     1,     1,     1,     1,     2,
 -       0,     1,     1,     1,     1,     1,     1,     1,     2,     0,
 -       1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
 -       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
 -       2,     2,     2,     1,     2,     0,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
++       1,     1,     1,     1,     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,     2,     0,     1,     1,     1,     1,     1,     1,
++       1,     1,     2,     0,     1,     1,     1,     1,     1,     1,
++       1,     1,     2,     2,     2,     2,     2,     1,     2,     0,
++       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,     3,     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,     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,     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,     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,
++       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,     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,     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,     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,     2,     2,     2,     2,     2,     2,     3,     1,     2,
 -       0,     1,     1,     2,     2
++       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
+ };
  
- #define YYINITSTACKSIZE 200
  
- typedef struct {
-     unsigned stacksize;
-     YYINT    *s_base;
-     YYINT    *s_mark;
-     YYINT    *s_last;
-     YYSTYPE  *l_base;
-     YYSTYPE  *l_mark;
- } YYSTACKDATA;
- /* variables for the parser stack */
- static YYSTACKDATA yystack;
- #line 3252 "./util/configparser.y"
+ enum { YYENOMEM = -2 };
+ #define yyerrok         (yyerrstatus = 0)
+ #define yyclearin       (yychar = YYEMPTY)
+ #define YYACCEPT        goto yyacceptlab
+ #define YYABORT         goto yyabortlab
+ #define YYERROR         goto yyerrorlab
+ #define YYRECOVERING()  (!!yyerrstatus)
+ #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
+ /* Enable debugging if requested.  */
+ #if YYDEBUG
+ # ifndef YYFPRINTF
+ #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+ #  define YYFPRINTF fprintf
+ # endif
+ # 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.  |
+ `-----------------------------------*/
  
- /* parse helper routines could be here */
  static void
- validate_respip_action(const char* action)
+ yy_symbol_value_print (FILE *yyo,
+                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
  {
-       if(strcmp(action, "deny")!=0 &&
-               strcmp(action, "redirect")!=0 &&
-               strcmp(action, "inform")!=0 &&
-               strcmp(action, "inform_deny")!=0 &&
-               strcmp(action, "always_transparent")!=0 &&
-               strcmp(action, "always_refuse")!=0 &&
-               strcmp(action, "always_nxdomain")!=0)
-       {
-               yyerror("response-ip action: expected deny, redirect, "
-                       "inform, inform_deny, always_transparent, "
-                       "always_refuse or always_nxdomain");
-       }
+   FILE *yyoutput = yyo;
+   YYUSE (yyoutput);
+   if (!yyvaluep)
+     return;
+ # ifdef YYPRINT
+   if (yykind < YYNTOKENS)
+     YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
+ # endif
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+   YYUSE (yykind);
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
  }
  
  
- #line 1818 "util/configparser.c"
+ /*---------------------------.
+ | Print this symbol on YYO.  |
+ `---------------------------*/
  
- #if YYDEBUG
- #include <stdio.h>            /* needed for printf */
- #endif
+ static void
+ yy_symbol_print (FILE *yyo,
+                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+ {
+   YYFPRINTF (yyo, "%s %s (",
+              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+   yy_symbol_value_print (yyo, yykind, yyvaluep);
+   YYFPRINTF (yyo, ")");
+ }
  
- #include <stdlib.h>   /* needed for malloc, etc */
- #include <string.h>   /* needed for memset */
+ /*------------------------------------------------------------------.
+ | yy_stack_print -- Print the state stack from its BOTTOM up to its |
+ | TOP (included).                                                   |
+ `------------------------------------------------------------------*/
  
- /* allocate initial stack or double stack size, up to YYMAXDEPTH */
static int yygrowstack(YYSTACKDATA *data)
+ static void
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  {
-     int i;
-     unsigned newsize;
-     YYINT *newss;
-     YYSTYPE *newvs;
-     if ((newsize = data->stacksize) == 0)
-         newsize = YYINITSTACKSIZE;
-     else if (newsize >= YYMAXDEPTH)
-         return YYENOMEM;
-     else if ((newsize *= 2) > YYMAXDEPTH)
-         newsize = YYMAXDEPTH;
-     i = (int) (data->s_mark - data->s_base);
-     newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
-     if (newss == 0)
-         return YYENOMEM;
-     data->s_base = newss;
-     data->s_mark = newss + i;
-     newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
-     if (newvs == 0)
-         return YYENOMEM;
-     data->l_base = newvs;
-     data->l_mark = newvs + i;
-     data->stacksize = newsize;
-     data->s_last = data->s_base + newsize - 1;
-     return 0;
+   YYFPRINTF (stderr, "Stack now");
+   for (; yybottom <= yytop; yybottom++)
+     {
+       int yybot = *yybottom;
+       YYFPRINTF (stderr, " %d", yybot);
+     }
+   YYFPRINTF (stderr, "\n");
  }
  
- #if YYPURE || defined(YY_NO_LEAKS)
- static void yyfreestack(YYSTACKDATA *data)
+ # define YY_STACK_PRINT(Bottom, Top)                            \
+ do {                                                            \
+   if (yydebug)                                                  \
+     yy_stack_print ((Bottom), (Top));                           \
+ } while (0)
+ /*------------------------------------------------.
+ | Report that the YYRULE is going to be reduced.  |
+ `------------------------------------------------*/
+ static void
+ yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
+                  int yyrule)
  {
-     free(data->s_base);
-     free(data->l_base);
-     memset(data, 0, sizeof(*data));
+   int yylno = yyrline[yyrule];
+   int yynrhs = yyr2[yyrule];
+   int yyi;
+   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+              yyrule - 1, yylno);
+   /* The symbols being reduced.  */
+   for (yyi = 0; yyi < yynrhs; yyi++)
+     {
+       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+       yy_symbol_print (stderr,
+                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
+                        &yyvsp[(yyi + 1) - (yynrhs)]);
+       YYFPRINTF (stderr, "\n");
+     }
  }
- #else
- #define yyfreestack(data) /* nothing */
+ # define YY_REDUCE_PRINT(Rule)          \
+ do {                                    \
+   if (yydebug)                          \
+     yy_reduce_print (yyssp, yyvsp, Rule); \
+ } while (0)
+ /* Nonzero means print parse trace.  It is left uninitialized so that
+    multiple parsers can coexist.  */
+ int yydebug;
+ #else /* !YYDEBUG */
+ # define YYDPRINTF(Args) ((void) 0)
+ # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+ # define YY_STACK_PRINT(Bottom, Top)
+ # define YY_REDUCE_PRINT(Rule)
+ #endif /* !YYDEBUG */
+ /* YYINITDEPTH -- initial size of the parser's stacks.  */
+ #ifndef YYINITDEPTH
+ # define YYINITDEPTH 200
+ #endif
+ /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+    if the built-in stack extension method is used).
+    Do not make this value too large; the results are undefined if
+    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+    evaluated with infinite-precision integer arithmetic.  */
+ #ifndef YYMAXDEPTH
+ # define YYMAXDEPTH 10000
  #endif
  
- #define YYABORT  goto yyabort
- #define YYREJECT goto yyabort
- #define YYACCEPT goto yyaccept
- #define YYERROR  goto yyerrlab
+ /*-----------------------------------------------.
+ | Release the memory associated to this symbol.  |
+ `-----------------------------------------------*/
+ static void
+ yydestruct (const char *yymsg,
+             yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+ {
+   YYUSE (yyvaluep);
+   if (!yymsg)
+     yymsg = "Deleting";
+   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+   YYUSE (yykind);
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
+ }
+ /* Lookahead token kind.  */
+ int yychar;
+ /* The semantic value of the lookahead symbol.  */
+ YYSTYPE yylval;
+ /* Number of syntax errors so far.  */
+ int yynerrs;
+ /*----------.
+ | yyparse.  |
+ `----------*/
  
  int
YYPARSE_DECL()
yyparse (void)
  {
-     int yym, yyn, yystate;
- #if YYDEBUG
-     const char *yys;
+     yy_state_fast_t yystate = 0;
+     /* Number of tokens to shift before error messages enabled.  */
+     int yyerrstatus = 0;
+     /* Refer to the stacks through separate pointers, to allow yyoverflow
+        to reallocate them elsewhere.  */
+     /* Their size.  */
+     YYPTRDIFF_T yystacksize = YYINITDEPTH;
+     /* The state stack: array, bottom, top.  */
+     yy_state_t yyssa[YYINITDEPTH];
+     yy_state_t *yyss = yyssa;
+     yy_state_t *yyssp = yyss;
+     /* The semantic value stack: array, bottom, top.  */
+     YYSTYPE yyvsa[YYINITDEPTH];
+     YYSTYPE *yyvs = yyvsa;
+     YYSTYPE *yyvsp = yyvs;
+   int yyn;
+   /* The return value of yyparse.  */
+   int yyresult;
+   /* Lookahead symbol kind.  */
+   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+   /* The variables used to return semantic value and location from the
+      action routines.  */
+   YYSTYPE yyval;
+ #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+   /* The number of symbols on the RHS of the reduced rule.
+      Keep to zero when no symbol should be popped.  */
+   int yylen = 0;
+   YYDPRINTF ((stderr, "Starting parse\n"));
+   yychar = YYEMPTY; /* Cause a token to be read.  */
+   goto yysetstate;
  
-     if ((yys = getenv("YYDEBUG")) != 0)
+ /*------------------------------------------------------------.
+ | yynewstate -- push a new state, which is found in yystate.  |
+ `------------------------------------------------------------*/
+ yynewstate:
+   /* In all cases, when you get here, the value and location stacks
+      have just been pushed.  So pushing a state here evens the stacks.  */
+   yyssp++;
+ /*--------------------------------------------------------------------.
+ | yysetstate -- set current state (the top of the stack) to yystate.  |
+ `--------------------------------------------------------------------*/
+ yysetstate:
+   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+   YY_IGNORE_USELESS_CAST_BEGIN
+   *yyssp = YY_CAST (yy_state_t, yystate);
+   YY_IGNORE_USELESS_CAST_END
+   YY_STACK_PRINT (yyss, yyssp);
+   if (yyss + yystacksize - 1 <= yyssp)
+ #if !defined yyoverflow && !defined YYSTACK_RELOCATE
+     goto yyexhaustedlab;
+ #else
      {
-         yyn = *yys;
-         if (yyn >= '0' && yyn <= '9')
-             yydebug = yyn - '0';
+       /* Get the current used size of the three stacks, in elements.  */
+       YYPTRDIFF_T yysize = yyssp - yyss + 1;
+ # if defined yyoverflow
+       {
+         /* Give user a chance to reallocate the stack.  Use copies of
+            these so that the &'s don't force the real ones into
+            memory.  */
+         yy_state_t *yyss1 = yyss;
+         YYSTYPE *yyvs1 = yyvs;
+         /* Each stack pointer address is followed by the size of the
+            data in use in that stack, in bytes.  This used to be a
+            conditional around just the two extra args, but that might
+            be undefined if yyoverflow is a macro.  */
+         yyoverflow (YY_("memory exhausted"),
+                     &yyss1, yysize * YYSIZEOF (*yyssp),
+                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
+                     &yystacksize);
+         yyss = yyss1;
+         yyvs = yyvs1;
+       }
+ # else /* defined YYSTACK_RELOCATE */
+       /* Extend the stack our own way.  */
+       if (YYMAXDEPTH <= yystacksize)
+         goto yyexhaustedlab;
+       yystacksize *= 2;
+       if (YYMAXDEPTH < yystacksize)
+         yystacksize = YYMAXDEPTH;
+       {
+         yy_state_t *yyss1 = yyss;
+         union yyalloc *yyptr =
+           YY_CAST (union yyalloc *,
+                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
+         if (! yyptr)
+           goto yyexhaustedlab;
+         YYSTACK_RELOCATE (yyss_alloc, yyss);
+         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ #  undef YYSTACK_RELOCATE
+         if (yyss1 != yyssa)
+           YYSTACK_FREE (yyss1);
+       }
+ # endif
+       yyssp = yyss + yysize - 1;
+       yyvsp = yyvs + yysize - 1;
+       YY_IGNORE_USELESS_CAST_BEGIN
+       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+                   YY_CAST (long, yystacksize)));
+       YY_IGNORE_USELESS_CAST_END
+       if (yyss + yystacksize - 1 <= yyssp)
+         YYABORT;
      }
- #endif
+ #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
  
-     yynerrs = 0;
-     yyerrflag = 0;
-     yychar = YYEMPTY;
-     yystate = 0;
+   if (yystate == YYFINAL)
+     YYACCEPT;
  
- #if YYPURE
-     memset(&yystack, 0, sizeof(yystack));
- #endif
+   goto yybackup;
  
-     if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
-     yystack.s_mark = yystack.s_base;
-     yystack.l_mark = yystack.l_base;
-     yystate = 0;
-     *yystack.s_mark = 0;
  
- yyloop:
-     if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
-     if (yychar < 0)
+ /*-----------.
+ | yybackup.  |
+ `-----------*/
+ yybackup:
+   /* Do appropriate processing given the current state.  Read a
+      lookahead token if we need one and don't already have one.  */
+   /* First try to decide what to do without reference to lookahead token.  */
+   yyn = yypact[yystate];
+   if (yypact_value_is_default (yyn))
+     goto yydefault;
+   /* Not known => get a lookahead token if don't already have one.  */
+   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
+   if (yychar == YYEMPTY)
      {
-         if ((yychar = YYLEX) < 0) yychar = YYEOF;
- #if YYDEBUG
-         if (yydebug)
-         {
-             yys = yyname[YYTRANSLATE(yychar)];
-             printf("%sdebug: state %d, reading %d (%s)\n",
-                     YYPREFIX, yystate, yychar, yys);
-         }
- #endif
+       YYDPRINTF ((stderr, "Reading a token\n"));
+       yychar = yylex ();
      }
-     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
-             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+   if (yychar <= YYEOF)
      {
- #if YYDEBUG
-         if (yydebug)
-             printf("%sdebug: state %d, shifting to state %d\n",
-                     YYPREFIX, yystate, yytable[yyn]);
- #endif
-         if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
-         {
-             goto yyoverflow;
-         }
-         yystate = yytable[yyn];
-         *++yystack.s_mark = yytable[yyn];
-         *++yystack.l_mark = yylval;
-         yychar = YYEMPTY;
-         if (yyerrflag > 0)  --yyerrflag;
-         goto yyloop;
+       yychar = YYEOF;
+       yytoken = YYSYMBOL_YYEOF;
+       YYDPRINTF ((stderr, "Now at end of input.\n"));
      }
-     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
-             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+   else if (yychar == YYerror)
      {
-         yyn = yytable[yyn];
-         goto yyreduce;
+       /* The scanner already issued an error message, process directly
+          to error recovery.  But do not keep the error token as
+          lookahead, it is too special and may lead us to an endless
+          loop in error recovery. */
+       yychar = YYUNDEF;
+       yytoken = YYSYMBOL_YYerror;
+       goto yyerrlab1;
      }
-     if (yyerrflag) goto yyinrecovery;
-     YYERROR_CALL("syntax error");
-     goto yyerrlab;
- yyerrlab:
-     ++yynerrs;
- yyinrecovery:
-     if (yyerrflag < 3)
+   else
      {
-         yyerrflag = 3;
-         for (;;)
-         {
-             if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 &&
-                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
-             {
- #if YYDEBUG
-                 if (yydebug)
-                     printf("%sdebug: state %d, error recovery shifting\
-  to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]);
- #endif
-                 if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
-                 {
-                     goto yyoverflow;
-                 }
-                 yystate = yytable[yyn];
-                 *++yystack.s_mark = yytable[yyn];
-                 *++yystack.l_mark = yylval;
-                 goto yyloop;
-             }
-             else
-             {
- #if YYDEBUG
-                 if (yydebug)
-                     printf("%sdebug: error recovery discarding state %d\n",
-                             YYPREFIX, *yystack.s_mark);
- #endif
-                 if (yystack.s_mark <= yystack.s_base) goto yyabort;
-                 --yystack.s_mark;
-                 --yystack.l_mark;
-             }
-         }
+       yytoken = YYTRANSLATE (yychar);
+       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
      }
-     else
+   /* If the proper action on seeing token YYTOKEN is to reduce or to
+      detect an error, take that action.  */
+   yyn += yytoken;
+   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+     goto yydefault;
+   yyn = yytable[yyn];
+   if (yyn <= 0)
      {
-         if (yychar == YYEOF) goto yyabort;
- #if YYDEBUG
-         if (yydebug)
-         {
-             yys = yyname[YYTRANSLATE(yychar)];
-             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
-                     YYPREFIX, yystate, yychar, yys);
-         }
- #endif
-         yychar = YYEMPTY;
-         goto yyloop;
+       if (yytable_value_is_error (yyn))
+         goto yyerrlab;
+       yyn = -yyn;
+       goto yyreduce;
      }
  
+   /* Count tokens shifted since error; after three, turn off error
+      status.  */
+   if (yyerrstatus)
+     yyerrstatus--;
+   /* Shift the lookahead token.  */
+   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+   yystate = yyn;
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+   *++yyvsp = yylval;
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
+   /* Discard the shifted token.  */
+   yychar = YYEMPTY;
+   goto yynewstate;
+ /*-----------------------------------------------------------.
+ | yydefault -- do the default action for the current state.  |
+ `-----------------------------------------------------------*/
+ yydefault:
+   yyn = yydefact[yystate];
+   if (yyn == 0)
+     goto yyerrlab;
+   goto yyreduce;
+ /*-----------------------------.
+ | yyreduce -- do a reduction.  |
+ `-----------------------------*/
  yyreduce:
- #if YYDEBUG
-     if (yydebug)
-         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
-                 YYPREFIX, yystate, yyn, yyrule[yyn]);
- #endif
-     yym = yylen[yyn];
-     if (yym)
-         yyval = yystack.l_mark[1-yym];
-     else
-         memset(&yyval, 0, sizeof yyval);
-     switch (yyn)
+   /* yyn is the number of a rule to reduce with.  */
+   yylen = yyr2[yyn];
+   /* If YYLEN is nonzero, implement the default value of the action:
+      '$$ = $1'.
+      Otherwise, the following line sets YYVAL to garbage.
+      This behavior is undocumented and Bison
+      users should not rely upon it.  Assigning to YYVAL
+      unconditionally makes the parser a bit smaller, and it avoids a
+      GCC warning that YYVAL may be used uninitialized.  */
+   yyval = yyvsp[1-yylen];
+   YY_REDUCE_PRINT (yyn);
+   switch (yyn)
      {
- case 15:
- #line 192 "./util/configparser.y"
-       { 
-               OUTYY(("\nP(server:)\n")); 
-       }
- break;
- case 211:
- #line 285 "./util/configparser.y"
-       {
+   case 18: /* force_toplevel: VAR_FORCE_TOPLEVEL  */
 -#line 195 "./util/configparser.y"
++#line 197 "./util/configparser.y"
+         {
+               OUTYY(("\nP(force-toplevel)\n"));
+       }
 -#line 2667 "util/configparser.c"
++#line 2690 "util/configparser.c"
+     break;
+   case 19: /* serverstart: VAR_SERVER  */
 -#line 201 "./util/configparser.y"
++#line 203 "./util/configparser.y"
+         { 
+               OUTYY(("\nP(server:)\n"));
+       }
 -#line 2675 "util/configparser.c"
++#line 2698 "util/configparser.c"
+     break;
 -  case 228: /* stubstart: VAR_STUB_ZONE  */
 -#line 299 "./util/configparser.y"
++  case 232: /* stubstart: VAR_STUB_ZONE  */
++#line 304 "./util/configparser.y"
+         {
                struct config_stub* s;
                OUTYY(("\nP(stub_zone:)\n")); 
                s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
                } else 
                        yyerror("out of memory");
        }
- break;
- case 221:
- #line 302 "./util/configparser.y"
-       {
 -#line 2690 "util/configparser.c"
++#line 2713 "util/configparser.c"
+     break;
 -  case 238: /* forwardstart: VAR_FORWARD_ZONE  */
 -#line 316 "./util/configparser.y"
++  case 242: /* forwardstart: VAR_FORWARD_ZONE  */
++#line 321 "./util/configparser.y"
+         {
                struct config_stub* s;
                OUTYY(("\nP(forward_zone:)\n")); 
                s = (struct config_stub*)calloc(1, sizeof(struct config_stub));
                } else 
                        yyerror("out of memory");
        }
- break;
- case 230:
- #line 319 "./util/configparser.y"
-       {
 -#line 2705 "util/configparser.c"
++#line 2728 "util/configparser.c"
+     break;
 -  case 247: /* viewstart: VAR_VIEW  */
 -#line 333 "./util/configparser.y"
++  case 251: /* viewstart: VAR_VIEW  */
++#line 338 "./util/configparser.y"
+         {
                struct config_view* s;
                OUTYY(("\nP(view:)\n")); 
                s = (struct config_view*)calloc(1, sizeof(struct config_view));
                } else 
                        yyerror("out of memory");
        }
- break;
- case 240:
- #line 338 "./util/configparser.y"
-       {
 -#line 2722 "util/configparser.c"
++#line 2745 "util/configparser.c"
+     break;
 -  case 257: /* authstart: VAR_AUTH_ZONE  */
 -#line 352 "./util/configparser.y"
++  case 261: /* authstart: VAR_AUTH_ZONE  */
++#line 357 "./util/configparser.y"
+         {
                struct config_auth* s;
                OUTYY(("\nP(auth_zone:)\n")); 
                s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
                } else 
                        yyerror("out of memory");
        }
- break;
- case 251:
- #line 362 "./util/configparser.y"
-       {
 -#line 2742 "util/configparser.c"
++#line 2765 "util/configparser.c"
+     break;
 -  case 268: /* rpz_tag: VAR_TAGS STRING_ARG  */
 -#line 376 "./util/configparser.y"
++  case 272: /* rpz_tag: VAR_TAGS STRING_ARG  */
++#line 381 "./util/configparser.y"
+         {
                uint8_t* bitlist;
                size_t len = 0;
-               OUTYY(("P(server_local_zone_tag:%s)\n", yystack.l_mark[0].str));
-               bitlist = config_parse_taglist(cfg_parser->cfg, yystack.l_mark[0].str,
+               OUTYY(("P(server_local_zone_tag:%s)\n", (yyvsp[0].str)));
+               bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
                if(!bitlist) {
                        yyerror("could not parse tags, (define-tag them first)");
                }
  
                }
        }
- break;
- case 252:
- #line 381 "./util/configparser.y"
-       {
-               OUTYY(("P(rpz_action_override:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "nxdomain")!=0 && strcmp(yystack.l_mark[0].str, "nodata")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "passthru")!=0 && strcmp(yystack.l_mark[0].str, "drop")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "cname")!=0 && strcmp(yystack.l_mark[0].str, "disabled")!=0) {
 -#line 2763 "util/configparser.c"
++#line 2786 "util/configparser.c"
+     break;
 -  case 269: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG  */
 -#line 395 "./util/configparser.y"
++  case 273: /* rpz_action_override: VAR_RPZ_ACTION_OVERRIDE STRING_ARG  */
++#line 400 "./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(yystack.l_mark[0].str);
+                       free((yyvsp[0].str));
                        cfg_parser->cfg->auths->rpz_action_override = NULL;
                }
                else {
-                       cfg_parser->cfg->auths->rpz_action_override = yystack.l_mark[0].str;
+                       cfg_parser->cfg->auths->rpz_action_override = (yyvsp[0].str);
                }
        }
- break;
- case 253:
- #line 398 "./util/configparser.y"
-       {
-               OUTYY(("P(rpz_cname_override:%s)\n", yystack.l_mark[0].str));
 -#line 2782 "util/configparser.c"
++#line 2805 "util/configparser.c"
+     break;
 -  case 270: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG  */
 -#line 412 "./util/configparser.y"
++  case 274: /* rpz_cname_override: VAR_RPZ_CNAME_OVERRIDE STRING_ARG  */
++#line 417 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->auths->rpz_cname = (yyvsp[0].str);
        }
- break;
- case 254:
- #line 406 "./util/configparser.y"
-       {
-               OUTYY(("P(rpz_log:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 2792 "util/configparser.c"
++#line 2815 "util/configparser.c"
+     break;
 -  case 271: /* rpz_log: VAR_RPZ_LOG STRING_ARG  */
 -#line 420 "./util/configparser.y"
++  case 275: /* rpz_log: VAR_RPZ_LOG STRING_ARG  */
++#line 425 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->auths->rpz_log = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 255:
- #line 416 "./util/configparser.y"
-       {
-               OUTYY(("P(rpz_log_name:%s)\n", yystack.l_mark[0].str));
 -#line 2804 "util/configparser.c"
++#line 2827 "util/configparser.c"
+     break;
 -  case 272: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG  */
 -#line 430 "./util/configparser.y"
++  case 276: /* rpz_log_name: VAR_RPZ_LOG_NAME STRING_ARG  */
++#line 435 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->auths->rpz_log_name = (yyvsp[0].str);
        }
- break;
- case 256:
- #line 424 "./util/configparser.y"
-       {
 -#line 2814 "util/configparser.c"
++#line 2837 "util/configparser.c"
+     break;
 -  case 273: /* rpzstart: VAR_RPZ  */
 -#line 438 "./util/configparser.y"
++  case 277: /* rpzstart: VAR_RPZ  */
++#line 443 "./util/configparser.y"
+         {
                struct config_auth* s;
                OUTYY(("\nP(rpz:)\n")); 
                s = (struct config_auth*)calloc(1, sizeof(struct config_auth));
                } else 
                        yyerror("out of memory");
        }
- break;
- case 269:
- #line 447 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_num_threads:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 2834 "util/configparser.c"
++#line 2857 "util/configparser.c"
+     break;
 -  case 286: /* server_num_threads: VAR_NUM_THREADS STRING_ARG  */
 -#line 461 "./util/configparser.y"
++  case 290: /* server_num_threads: VAR_NUM_THREADS STRING_ARG  */
++#line 466 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 270:
- #line 456 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_verbosity:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
+               else cfg_parser->cfg->num_threads = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 2846 "util/configparser.c"
++#line 2869 "util/configparser.c"
+     break;
 -  case 287: /* server_verbosity: VAR_VERBOSITY STRING_ARG  */
 -#line 470 "./util/configparser.y"
++  case 291: /* server_verbosity: VAR_VERBOSITY STRING_ARG  */
++#line 475 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 271:
- #line 465 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_statistics_interval:%s)\n", yystack.l_mark[0].str)); 
-               if(strcmp(yystack.l_mark[0].str, "") == 0 || strcmp(yystack.l_mark[0].str, "0") == 0)
+               else cfg_parser->cfg->verbosity = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 2858 "util/configparser.c"
++#line 2881 "util/configparser.c"
+     break;
 -  case 288: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG  */
 -#line 479 "./util/configparser.y"
++  case 292: /* server_statistics_interval: VAR_STATISTICS_INTERVAL STRING_ARG  */
++#line 484 "./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(yystack.l_mark[0].str) == 0)
+               else if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->stat_interval = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->stat_interval = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 272:
- #line 476 "./util/configparser.y"
-       {
-               OUTYY(("P(server_statistics_cumulative:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 2872 "util/configparser.c"
++#line 2895 "util/configparser.c"
+     break;
 -  case 289: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG  */
 -#line 490 "./util/configparser.y"
++  case 293: /* server_statistics_cumulative: VAR_STATISTICS_CUMULATIVE STRING_ARG  */
++#line 495 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->stat_cumulative = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 273:
- #line 485 "./util/configparser.y"
-       {
-               OUTYY(("P(server_extended_statistics:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 2884 "util/configparser.c"
++#line 2907 "util/configparser.c"
+     break;
 -  case 290: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG  */
 -#line 499 "./util/configparser.y"
++  case 294: /* server_extended_statistics: VAR_EXTENDED_STATISTICS STRING_ARG  */
++#line 504 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->stat_extended = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 274:
- #line 494 "./util/configparser.y"
-       {
-               OUTYY(("P(server_shm_enable:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 2896 "util/configparser.c"
++#line 2919 "util/configparser.c"
+     break;
 -  case 291: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG  */
 -#line 508 "./util/configparser.y"
++  case 295: /* server_shm_enable: VAR_SHM_ENABLE STRING_ARG  */
++#line 513 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 275:
- #line 503 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_shm_key:%s)\n", yystack.l_mark[0].str)); 
-               if(strcmp(yystack.l_mark[0].str, "") == 0 || strcmp(yystack.l_mark[0].str, "0") == 0)
+               else cfg_parser->cfg->shm_enable = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 2908 "util/configparser.c"
++#line 2931 "util/configparser.c"
+     break;
 -  case 292: /* server_shm_key: VAR_SHM_KEY STRING_ARG  */
 -#line 517 "./util/configparser.y"
++  case 296: /* server_shm_key: VAR_SHM_KEY STRING_ARG  */
++#line 522 "./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(yystack.l_mark[0].str) == 0)
+               else if(atoi((yyvsp[0].str)) == 0)
                        yyerror("number expected");
-               else cfg_parser->cfg->shm_key = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->shm_key = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 276:
- #line 514 "./util/configparser.y"
-       {
-               OUTYY(("P(server_port:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 2922 "util/configparser.c"
++#line 2945 "util/configparser.c"
+     break;
 -  case 293: /* server_port: VAR_PORT STRING_ARG  */
 -#line 528 "./util/configparser.y"
++  case 297: /* server_port: VAR_PORT STRING_ARG  */
++#line 533 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 277:
- #line 523 "./util/configparser.y"
-       {
 -#line 2934 "util/configparser.c"
++#line 2957 "util/configparser.c"
+     break;
 -  case 294: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG  */
 -#line 537 "./util/configparser.y"
++  case 298: /* server_send_client_subnet: VAR_SEND_CLIENT_SUBNET STRING_ARG  */
++#line 542 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_send_client_subnet:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet, yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 278:
- #line 535 "./util/configparser.y"
-       {
 -#line 2949 "util/configparser.c"
++#line 2972 "util/configparser.c"
+     break;
 -  case 295: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG  */
 -#line 549 "./util/configparser.y"
++  case 299: /* server_client_subnet_zone: VAR_CLIENT_SUBNET_ZONE STRING_ARG  */
++#line 554 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_client_subnet_zone:%s)\n", yystack.l_mark[0].str));
+               OUTYY(("P(server_client_subnet_zone:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->client_subnet_zone,
-                       yystack.l_mark[0].str))
+                       (yyvsp[0].str)))
                        fatal_exit("out of memory adding client-subnet-zone");
        #else
                OUTYY(("P(Compiled without edns subnet option, ignoring)\n"));
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 279:
- #line 549 "./util/configparser.y"
-       {
 -#line 2965 "util/configparser.c"
++#line 2988 "util/configparser.c"
+     break;
 -  case 296: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG  */
 -#line 563 "./util/configparser.y"
++  case 300: /* server_client_subnet_always_forward: VAR_CLIENT_SUBNET_ALWAYS_FORWARD STRING_ARG  */
++#line 568 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(server_client_subnet_always_forward:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 280:
- #line 564 "./util/configparser.y"
-       {
 -#line 2983 "util/configparser.c"
++#line 3006 "util/configparser.c"
+     break;
 -  case 297: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG  */
 -#line 578 "./util/configparser.y"
++  case 301: /* server_client_subnet_opcode: VAR_CLIENT_SUBNET_OPCODE STRING_ARG  */
++#line 583 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(client_subnet_opcode:%s)\n", yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 281:
- #line 575 "./util/configparser.y"
-       {
 -#line 2997 "util/configparser.c"
++#line 3020 "util/configparser.c"
+     break;
 -  case 298: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG  */
 -#line 589 "./util/configparser.y"
++  case 302: /* server_max_client_subnet_ipv4: VAR_MAX_CLIENT_SUBNET_IPV4 STRING_ARG  */
++#line 594 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_client_subnet_ipv4:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str) > 32)
+               else if (atoi((yyvsp[0].str)) > 32)
                        cfg_parser->cfg->max_client_subnet_ipv4 = 32;
-               else if (atoi(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 282:
- #line 592 "./util/configparser.y"
-       {
 -#line 3017 "util/configparser.c"
++#line 3040 "util/configparser.c"
+     break;
 -  case 299: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG  */
 -#line 606 "./util/configparser.y"
++  case 303: /* server_max_client_subnet_ipv6: VAR_MAX_CLIENT_SUBNET_IPV6 STRING_ARG  */
++#line 611 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_client_subnet_ipv6:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str) > 128)
+               else if (atoi((yyvsp[0].str)) > 128)
                        cfg_parser->cfg->max_client_subnet_ipv6 = 128;
-               else if (atoi(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 283:
- #line 609 "./util/configparser.y"
-       {
 -#line 3037 "util/configparser.c"
++#line 3060 "util/configparser.c"
+     break;
 -  case 300: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG  */
 -#line 623 "./util/configparser.y"
++  case 304: /* server_min_client_subnet_ipv4: VAR_MIN_CLIENT_SUBNET_IPV4 STRING_ARG  */
++#line 628 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(min_client_subnet_ipv4:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str) > 32)
+               else if (atoi((yyvsp[0].str)) > 32)
                        cfg_parser->cfg->min_client_subnet_ipv4 = 32;
-               else if (atoi(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 284:
- #line 626 "./util/configparser.y"
-       {
 -#line 3057 "util/configparser.c"
++#line 3080 "util/configparser.c"
+     break;
 -  case 301: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG  */
 -#line 640 "./util/configparser.y"
++  case 305: /* server_min_client_subnet_ipv6: VAR_MIN_CLIENT_SUBNET_IPV6 STRING_ARG  */
++#line 645 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(min_client_subnet_ipv6:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str) > 128)
+               else if (atoi((yyvsp[0].str)) > 128)
                        cfg_parser->cfg->min_client_subnet_ipv6 = 128;
-               else if (atoi(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 285:
- #line 643 "./util/configparser.y"
-       {
 -#line 3077 "util/configparser.c"
++#line 3100 "util/configparser.c"
+     break;
 -  case 302: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG  */
 -#line 657 "./util/configparser.y"
++  case 306: /* server_max_ecs_tree_size_ipv4: VAR_MAX_ECS_TREE_SIZE_IPV4 STRING_ARG  */
++#line 662 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_ecs_tree_size_ipv4:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 286:
- #line 658 "./util/configparser.y"
-       {
 -#line 3095 "util/configparser.c"
++#line 3118 "util/configparser.c"
+     break;
 -  case 303: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG  */
 -#line 672 "./util/configparser.y"
++  case 307: /* server_max_ecs_tree_size_ipv6: VAR_MAX_ECS_TREE_SIZE_IPV6 STRING_ARG  */
++#line 677 "./util/configparser.y"
+         {
        #ifdef CLIENT_SUBNET
-               OUTYY(("P(max_ecs_tree_size_ipv6:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 287:
- #line 673 "./util/configparser.y"
-       {
-               OUTYY(("P(server_interface:%s)\n", yystack.l_mark[0].str));
 -#line 3113 "util/configparser.c"
++#line 3136 "util/configparser.c"
+     break;
 -  case 304: /* server_interface: VAR_INTERFACE STRING_ARG  */
 -#line 687 "./util/configparser.y"
++  case 308: /* server_interface: VAR_INTERFACE STRING_ARG  */
++#line 692 "./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++] = yystack.l_mark[0].str;
+                       cfg_parser->cfg->ifs[cfg_parser->cfg->num_ifs++] = (yyvsp[0].str);
        }
- break;
- case 288:
- #line 686 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_interface:%s)\n", yystack.l_mark[0].str));
 -#line 3129 "util/configparser.c"
++#line 3152 "util/configparser.c"
+     break;
 -  case 305: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG  */
 -#line 700 "./util/configparser.y"
++  case 309: /* server_outgoing_interface: VAR_OUTGOING_INTERFACE STRING_ARG  */
++#line 705 "./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++] = yystack.l_mark[0].str;
+                               cfg_parser->cfg->num_out_ifs++] = (yyvsp[0].str);
        }
- break;
- case 289:
- #line 701 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_range:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 3147 "util/configparser.c"
++#line 3170 "util/configparser.c"
+     break;
 -  case 306: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG  */
 -#line 715 "./util/configparser.y"
++  case 310: /* server_outgoing_range: VAR_OUTGOING_RANGE STRING_ARG  */
++#line 720 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->outgoing_num_ports = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 290:
- #line 710 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_port_permit:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_mark_ports(yystack.l_mark[0].str, 1, 
 -#line 3159 "util/configparser.c"
++#line 3182 "util/configparser.c"
+     break;
 -  case 307: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG  */
 -#line 724 "./util/configparser.y"
++  case 311: /* server_outgoing_port_permit: VAR_OUTGOING_PORT_PERMIT STRING_ARG  */
++#line 729 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 291:
- #line 719 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_port_avoid:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_mark_ports(yystack.l_mark[0].str, 0, 
 -#line 3171 "util/configparser.c"
++#line 3194 "util/configparser.c"
+     break;
 -  case 308: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG  */
 -#line 733 "./util/configparser.y"
++  case 312: /* server_outgoing_port_avoid: VAR_OUTGOING_PORT_AVOID STRING_ARG  */
++#line 738 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 292:
- #line 728 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_num_tcp:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3183 "util/configparser.c"
++#line 3206 "util/configparser.c"
+     break;
 -  case 309: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG  */
 -#line 742 "./util/configparser.y"
++  case 313: /* server_outgoing_num_tcp: VAR_OUTGOING_NUM_TCP STRING_ARG  */
++#line 747 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->outgoing_num_tcp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 293:
- #line 737 "./util/configparser.y"
-       {
-               OUTYY(("P(server_incoming_num_tcp:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3195 "util/configparser.c"
++#line 3218 "util/configparser.c"
+     break;
 -  case 310: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG  */
 -#line 751 "./util/configparser.y"
++  case 314: /* server_incoming_num_tcp: VAR_INCOMING_NUM_TCP STRING_ARG  */
++#line 756 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->incoming_num_tcp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 294:
- #line 746 "./util/configparser.y"
-       {
-               OUTYY(("P(server_interface_automatic:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3207 "util/configparser.c"
++#line 3230 "util/configparser.c"
+     break;
 -  case 311: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG  */
 -#line 760 "./util/configparser.y"
++  case 315: /* server_interface_automatic: VAR_INTERFACE_AUTOMATIC STRING_ARG  */
++#line 765 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->if_automatic = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 295:
- #line 755 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_ip4:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3219 "util/configparser.c"
++#line 3242 "util/configparser.c"
+     break;
 -  case 312: /* server_do_ip4: VAR_DO_IP4 STRING_ARG  */
 -#line 769 "./util/configparser.y"
++  case 316: /* server_do_ip4: VAR_DO_IP4 STRING_ARG  */
++#line 774 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->do_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 296:
- #line 764 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_ip6:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3231 "util/configparser.c"
++#line 3254 "util/configparser.c"
+     break;
 -  case 313: /* server_do_ip6: VAR_DO_IP6 STRING_ARG  */
 -#line 778 "./util/configparser.y"
++  case 317: /* server_do_ip6: VAR_DO_IP6 STRING_ARG  */
++#line 783 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->do_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 297:
- #line 773 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_udp:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3243 "util/configparser.c"
++#line 3266 "util/configparser.c"
+     break;
 -  case 314: /* server_do_udp: VAR_DO_UDP STRING_ARG  */
 -#line 787 "./util/configparser.y"
++  case 318: /* server_do_udp: VAR_DO_UDP STRING_ARG  */
++#line 792 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->do_udp = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 298:
- #line 782 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_tcp:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3255 "util/configparser.c"
++#line 3278 "util/configparser.c"
+     break;
 -  case 315: /* server_do_tcp: VAR_DO_TCP STRING_ARG  */
 -#line 796 "./util/configparser.y"
++  case 319: /* server_do_tcp: VAR_DO_TCP STRING_ARG  */
++#line 801 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->do_tcp = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 299:
- #line 791 "./util/configparser.y"
-       {
-               OUTYY(("P(server_prefer_ip4:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3267 "util/configparser.c"
++#line 3290 "util/configparser.c"
+     break;
 -  case 316: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG  */
 -#line 805 "./util/configparser.y"
++  case 320: /* server_prefer_ip4: VAR_PREFER_IP4 STRING_ARG  */
++#line 810 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->prefer_ip4 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 300:
- #line 800 "./util/configparser.y"
-       {
-               OUTYY(("P(server_prefer_ip6:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3279 "util/configparser.c"
++#line 3302 "util/configparser.c"
+     break;
 -  case 317: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG  */
 -#line 814 "./util/configparser.y"
++  case 321: /* server_prefer_ip6: VAR_PREFER_IP6 STRING_ARG  */
++#line 819 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->prefer_ip6 = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 301:
- #line 809 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_mss:%s)\n", yystack.l_mark[0].str));
-                 if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3291 "util/configparser.c"
++#line 3314 "util/configparser.c"
+     break;
 -  case 318: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG  */
 -#line 823 "./util/configparser.y"
++  case 322: /* server_tcp_mss: VAR_TCP_MSS STRING_ARG  */
++#line 828 "./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(yystack.l_mark[0].str);
-                 free(yystack.l_mark[0].str);
+                 else cfg_parser->cfg->tcp_mss = atoi((yyvsp[0].str));
+                 free((yyvsp[0].str));
        }
- break;
- case 302:
- #line 818 "./util/configparser.y"
-       {
-               OUTYY(("P(server_outgoing_tcp_mss:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3303 "util/configparser.c"
++#line 3326 "util/configparser.c"
+     break;
 -  case 319: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG  */
 -#line 832 "./util/configparser.y"
++  case 323: /* server_outgoing_tcp_mss: VAR_OUTGOING_TCP_MSS STRING_ARG  */
++#line 837 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->outgoing_tcp_mss = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 303:
- #line 827 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_idle_timeout:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3315 "util/configparser.c"
++#line 3338 "util/configparser.c"
+     break;
 -  case 320: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG  */
 -#line 841 "./util/configparser.y"
++  case 324: /* server_tcp_idle_timeout: VAR_TCP_IDLE_TIMEOUT STRING_ARG  */
++#line 846 "./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(yystack.l_mark[0].str) > 120000)
+               else if (atoi((yyvsp[0].str)) > 120000)
                        cfg_parser->cfg->tcp_idle_timeout = 120000;
-               else if (atoi(yystack.l_mark[0].str) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_idle_timeout = 1;
-               else cfg_parser->cfg->tcp_idle_timeout = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->tcp_idle_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 304:
- #line 840 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_keepalive:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3331 "util/configparser.c"
++#line 3354 "util/configparser.c"
+     break;
 -  case 321: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG  */
 -#line 854 "./util/configparser.y"
++  case 325: /* server_tcp_keepalive: VAR_EDNS_TCP_KEEPALIVE STRING_ARG  */
++#line 859 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->do_tcp_keepalive = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 305:
- #line 849 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_keepalive_timeout:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 3343 "util/configparser.c"
++#line 3366 "util/configparser.c"
+     break;
 -  case 322: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG  */
 -#line 863 "./util/configparser.y"
++  case 326: /* server_tcp_keepalive_timeout: VAR_EDNS_TCP_KEEPALIVE_TIMEOUT STRING_ARG  */
++#line 868 "./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(yystack.l_mark[0].str) > 6553500)
+               else if (atoi((yyvsp[0].str)) > 6553500)
                        cfg_parser->cfg->tcp_keepalive_timeout = 6553500;
-               else if (atoi(yystack.l_mark[0].str) < 1)
+               else if (atoi((yyvsp[0].str)) < 1)
                        cfg_parser->cfg->tcp_keepalive_timeout = 0;
-               else cfg_parser->cfg->tcp_keepalive_timeout = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->tcp_keepalive_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 306:
- #line 862 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_upstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3359 "util/configparser.c"
++#line 3382 "util/configparser.c"
+     break;
 -  case 323: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG  */
 -#line 876 "./util/configparser.y"
++  case 327: /* server_tcp_upstream: VAR_TCP_UPSTREAM STRING_ARG  */
++#line 881 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->tcp_upstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 307:
- #line 871 "./util/configparser.y"
-       {
-               OUTYY(("P(server_udp_upstream_without_downstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3371 "util/configparser.c"
++#line 3394 "util/configparser.c"
+     break;
 -  case 324: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG  */
 -#line 885 "./util/configparser.y"
++  case 328: /* server_udp_upstream_without_downstream: VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM STRING_ARG  */
++#line 890 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->udp_upstream_without_downstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 308:
- #line 880 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ssl_upstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3383 "util/configparser.c"
++#line 3406 "util/configparser.c"
+     break;
 -  case 325: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG  */
 -#line 894 "./util/configparser.y"
++  case 329: /* server_ssl_upstream: VAR_SSL_UPSTREAM STRING_ARG  */
++#line 899 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->ssl_upstream = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 309:
- #line 889 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ssl_service_key:%s)\n", yystack.l_mark[0].str));
 -#line 3395 "util/configparser.c"
++#line 3418 "util/configparser.c"
+     break;
 -  case 326: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG  */
 -#line 903 "./util/configparser.y"
++  case 330: /* server_ssl_service_key: VAR_SSL_SERVICE_KEY STRING_ARG  */
++#line 908 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->ssl_service_key = (yyvsp[0].str);
        }
- break;
- case 310:
- #line 896 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ssl_service_pem:%s)\n", yystack.l_mark[0].str));
 -#line 3405 "util/configparser.c"
++#line 3428 "util/configparser.c"
+     break;
 -  case 327: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG  */
 -#line 910 "./util/configparser.y"
++  case 331: /* server_ssl_service_pem: VAR_SSL_SERVICE_PEM STRING_ARG  */
++#line 915 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->ssl_service_pem = (yyvsp[0].str);
        }
- break;
- case 311:
- #line 903 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ssl_port:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 3415 "util/configparser.c"
++#line 3438 "util/configparser.c"
+     break;
 -  case 328: /* server_ssl_port: VAR_SSL_PORT STRING_ARG  */
 -#line 917 "./util/configparser.y"
++  case 332: /* server_ssl_port: VAR_SSL_PORT STRING_ARG  */
++#line 922 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->ssl_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 312:
- #line 912 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_cert_bundle:%s)\n", yystack.l_mark[0].str));
 -#line 3427 "util/configparser.c"
++#line 3450 "util/configparser.c"
+     break;
 -  case 329: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG  */
 -#line 926 "./util/configparser.y"
++  case 333: /* server_tls_cert_bundle: VAR_TLS_CERT_BUNDLE STRING_ARG  */
++#line 931 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->tls_cert_bundle = (yyvsp[0].str);
        }
- break;
- case 313:
- #line 919 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_win_cert:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3437 "util/configparser.c"
++#line 3460 "util/configparser.c"
+     break;
 -  case 330: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG  */
 -#line 933 "./util/configparser.y"
++  case 334: /* server_tls_win_cert: VAR_TLS_WIN_CERT STRING_ARG  */
++#line 938 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->tls_win_cert = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 314:
- #line 928 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_additional_port:%s)\n", yystack.l_mark[0].str));
 -#line 3449 "util/configparser.c"
++#line 3472 "util/configparser.c"
+     break;
 -  case 331: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG  */
 -#line 942 "./util/configparser.y"
++  case 335: /* server_tls_additional_port: VAR_TLS_ADDITIONAL_PORT STRING_ARG  */
++#line 947 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_additional_port:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->tls_additional_port,
-                       yystack.l_mark[0].str))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 315:
- #line 936 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_ciphers:%s)\n", yystack.l_mark[0].str));
 -#line 3460 "util/configparser.c"
++#line 3483 "util/configparser.c"
+     break;
 -  case 332: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG  */
 -#line 950 "./util/configparser.y"
++  case 336: /* server_tls_ciphers: VAR_TLS_CIPHERS STRING_ARG  */
++#line 955 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_ciphers:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->tls_ciphers);
-               cfg_parser->cfg->tls_ciphers = yystack.l_mark[0].str;
+               cfg_parser->cfg->tls_ciphers = (yyvsp[0].str);
        }
- break;
- case 316:
- #line 943 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_ciphersuites:%s)\n", yystack.l_mark[0].str));
 -#line 3470 "util/configparser.c"
++#line 3493 "util/configparser.c"
+     break;
 -  case 333: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG  */
 -#line 957 "./util/configparser.y"
++  case 337: /* server_tls_ciphersuites: VAR_TLS_CIPHERSUITES STRING_ARG  */
++#line 962 "./util/configparser.y"
+         {
+               OUTYY(("P(server_tls_ciphersuites:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->tls_ciphersuites);
-               cfg_parser->cfg->tls_ciphersuites = yystack.l_mark[0].str;
+               cfg_parser->cfg->tls_ciphersuites = (yyvsp[0].str);
        }
- break;
- case 317:
- #line 950 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tls_session_ticket_keys:%s)\n", yystack.l_mark[0].str));
 -#line 3480 "util/configparser.c"
++#line 3503 "util/configparser.c"
+     break;
 -  case 334: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG  */
 -#line 964 "./util/configparser.y"
++  case 338: /* server_tls_session_ticket_keys: VAR_TLS_SESSION_TICKET_KEYS STRING_ARG  */
++#line 969 "./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,
-                       yystack.l_mark[0].str))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 318:
- #line 958 "./util/configparser.y"
-       {
-               OUTYY(("P(server_use_systemd:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3491 "util/configparser.c"
++#line 3514 "util/configparser.c"
+     break;
 -  case 335: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG  */
 -#line 972 "./util/configparser.y"
++  case 339: /* server_tls_use_sni: VAR_TLS_USE_SNI STRING_ARG  */
++#line 977 "./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->use_systemd = (strcmp(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->tls_use_sni = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 319:
- #line 967 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_daemonize:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3503 "util/configparser.c"
++#line 3526 "util/configparser.c"
+     break;
 -  case 336: /* server_https_port: VAR_HTTPS_PORT STRING_ARG  */
 -#line 981 "./util/configparser.y"
++  case 340: /* server_https_port: VAR_HTTPS_PORT STRING_ARG  */
++#line 986 "./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[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 3515 "util/configparser.c"
++#line 3538 "util/configparser.c"
+     break;
 -  case 337: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG  */
 -#line 989 "./util/configparser.y"
++  case 341: /* server_http_endpoint: VAR_HTTP_ENDPOINT STRING_ARG  */
++#line 994 "./util/configparser.y"
+         {
+               OUTYY(("P(server_http_endpoint:%s)\n", (yyvsp[0].str)));
+               free(cfg_parser->cfg->http_endpoint);
+               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[0].str),
+                               strlen((yyvsp[0].str))+1);
+                       free((yyvsp[0].str));
+               } else {
+                       cfg_parser->cfg->http_endpoint = (yyvsp[0].str);
+               }
+       }
 -#line 3535 "util/configparser.c"
++#line 3558 "util/configparser.c"
+     break;
 -  case 338: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG  */
 -#line 1005 "./util/configparser.y"
++  case 342: /* server_http_max_streams: VAR_HTTP_MAX_STREAMS STRING_ARG  */
++#line 1010 "./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[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 3547 "util/configparser.c"
++#line 3570 "util/configparser.c"
+     break;
 -  case 339: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG  */
 -#line 1013 "./util/configparser.y"
++  case 343: /* server_http_query_buffer_size: VAR_HTTP_QUERY_BUFFER_SIZE STRING_ARG  */
++#line 1018 "./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[0].str));
+       }
 -#line 3559 "util/configparser.c"
++#line 3582 "util/configparser.c"
+     break;
 -  case 340: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG  */
 -#line 1021 "./util/configparser.y"
++  case 344: /* server_http_response_buffer_size: VAR_HTTP_RESPONSE_BUFFER_SIZE STRING_ARG  */
++#line 1026 "./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[0].str));
+       }
 -#line 3571 "util/configparser.c"
++#line 3594 "util/configparser.c"
+     break;
 -  case 341: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG  */
 -#line 1029 "./util/configparser.y"
++  case 345: /* server_http_nodelay: VAR_HTTP_NODELAY STRING_ARG  */
++#line 1034 "./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->do_daemonize = (strcmp(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->http_nodelay = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 320:
- #line 976 "./util/configparser.y"
-       {
-               OUTYY(("P(server_use_syslog:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3583 "util/configparser.c"
++#line 3606 "util/configparser.c"
+     break;
 -  case 342: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG  */
 -#line 1037 "./util/configparser.y"
++  case 346: /* server_http_notls_downstream: VAR_HTTP_NOTLS_DOWNSTREAM STRING_ARG  */
++#line 1042 "./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[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 3595 "util/configparser.c"
++#line 3618 "util/configparser.c"
+     break;
 -  case 343: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG  */
 -#line 1045 "./util/configparser.y"
++  case 347: /* server_use_systemd: VAR_USE_SYSTEMD STRING_ARG  */
++#line 1050 "./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_syslog = (strcmp(yystack.l_mark[0].str, "yes")==0);
+               else cfg_parser->cfg->use_systemd = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 3607 "util/configparser.c"
++#line 3630 "util/configparser.c"
+     break;
 -  case 344: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG  */
 -#line 1054 "./util/configparser.y"
++  case 348: /* server_do_daemonize: VAR_DO_DAEMONIZE STRING_ARG  */
++#line 1059 "./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[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 3619 "util/configparser.c"
++#line 3642 "util/configparser.c"
+     break;
 -  case 345: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG  */
 -#line 1063 "./util/configparser.y"
++  case 349: /* server_use_syslog: VAR_USE_SYSLOG STRING_ARG  */
++#line 1068 "./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[0].str), "yes")==0);
  #if !defined(HAVE_SYSLOG_H) && !defined(UB_ON_WINDOWS)
-               if(strcmp(yystack.l_mark[0].str, "yes") == 0)
+               if(strcmp((yyvsp[0].str), "yes") == 0)
                        yyerror("no syslog services are available. "
                                "(reconfigure and compile to add)");
  #endif
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 321:
- #line 990 "./util/configparser.y"
-       {
-               OUTYY(("P(server_log_time_ascii:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3636 "util/configparser.c"
++#line 3659 "util/configparser.c"
+     break;
 -  case 346: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG  */
 -#line 1077 "./util/configparser.y"
++  case 350: /* server_log_time_ascii: VAR_LOG_TIME_ASCII STRING_ARG  */
++#line 1082 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->log_time_ascii = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 322:
- #line 999 "./util/configparser.y"
-       {
-               OUTYY(("P(server_log_queries:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3648 "util/configparser.c"
++#line 3671 "util/configparser.c"
+     break;
 -  case 347: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG  */
 -#line 1086 "./util/configparser.y"
++  case 351: /* server_log_queries: VAR_LOG_QUERIES STRING_ARG  */
++#line 1091 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->log_queries = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 323:
- #line 1008 "./util/configparser.y"
-       {
-       OUTYY(("P(server_log_replies:%s)\n", yystack.l_mark[0].str));
-       if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3660 "util/configparser.c"
++#line 3683 "util/configparser.c"
+     break;
 -  case 348: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG  */
 -#line 1095 "./util/configparser.y"
++  case 352: /* server_log_replies: VAR_LOG_REPLIES STRING_ARG  */
++#line 1100 "./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(yystack.l_mark[0].str, "yes")==0);
-       free(yystack.l_mark[0].str);
+       else cfg_parser->cfg->log_replies = (strcmp((yyvsp[0].str), "yes")==0);
+       free((yyvsp[0].str));
    }
- break;
- case 324:
- #line 1017 "./util/configparser.y"
-       {
-       OUTYY(("P(server_log_tag_queryreply:%s)\n", yystack.l_mark[0].str));
-       if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3672 "util/configparser.c"
++#line 3695 "util/configparser.c"
+     break;
 -  case 349: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG  */
 -#line 1104 "./util/configparser.y"
++  case 353: /* server_log_tag_queryreply: VAR_LOG_TAG_QUERYREPLY STRING_ARG  */
++#line 1109 "./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(yystack.l_mark[0].str, "yes")==0);
-       free(yystack.l_mark[0].str);
+       else cfg_parser->cfg->log_tag_queryreply = (strcmp((yyvsp[0].str), "yes")==0);
+       free((yyvsp[0].str));
    }
- break;
- case 325:
- #line 1026 "./util/configparser.y"
-       {
-               OUTYY(("P(server_log_servfail:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3684 "util/configparser.c"
++#line 3707 "util/configparser.c"
+     break;
 -  case 350: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG  */
 -#line 1113 "./util/configparser.y"
++  case 354: /* server_log_servfail: VAR_LOG_SERVFAIL STRING_ARG  */
++#line 1118 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->log_servfail = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 326:
- #line 1035 "./util/configparser.y"
-       {
-       OUTYY(("P(server_log_local_actions:%s)\n", yystack.l_mark[0].str));
-       if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3696 "util/configparser.c"
++#line 3719 "util/configparser.c"
+     break;
 -  case 351: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG  */
 -#line 1122 "./util/configparser.y"
++  case 355: /* server_log_local_actions: VAR_LOG_LOCAL_ACTIONS STRING_ARG  */
++#line 1127 "./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(yystack.l_mark[0].str, "yes")==0);
-       free(yystack.l_mark[0].str);
+       else cfg_parser->cfg->log_local_actions = (strcmp((yyvsp[0].str), "yes")==0);
+       free((yyvsp[0].str));
    }
- break;
- case 327:
- #line 1044 "./util/configparser.y"
-       {
-               OUTYY(("P(server_chroot:%s)\n", yystack.l_mark[0].str));
 -#line 3708 "util/configparser.c"
++#line 3731 "util/configparser.c"
+     break;
 -  case 352: /* server_chroot: VAR_CHROOT STRING_ARG  */
 -#line 1131 "./util/configparser.y"
++  case 356: /* server_chroot: VAR_CHROOT STRING_ARG  */
++#line 1136 "./util/configparser.y"
+         {
+               OUTYY(("P(server_chroot:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->chrootdir);
-               cfg_parser->cfg->chrootdir = yystack.l_mark[0].str;
+               cfg_parser->cfg->chrootdir = (yyvsp[0].str);
        }
- break;
- case 328:
- #line 1051 "./util/configparser.y"
-       {
-               OUTYY(("P(server_username:%s)\n", yystack.l_mark[0].str));
 -#line 3718 "util/configparser.c"
++#line 3741 "util/configparser.c"
+     break;
 -  case 353: /* server_username: VAR_USERNAME STRING_ARG  */
 -#line 1138 "./util/configparser.y"
++  case 357: /* server_username: VAR_USERNAME STRING_ARG  */
++#line 1143 "./util/configparser.y"
+         {
+               OUTYY(("P(server_username:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->username);
-               cfg_parser->cfg->username = yystack.l_mark[0].str;
+               cfg_parser->cfg->username = (yyvsp[0].str);
        }
- break;
- case 329:
- #line 1058 "./util/configparser.y"
-       {
-               OUTYY(("P(server_directory:%s)\n", yystack.l_mark[0].str));
 -#line 3728 "util/configparser.c"
++#line 3751 "util/configparser.c"
+     break;
 -  case 354: /* server_directory: VAR_DIRECTORY STRING_ARG  */
 -#line 1145 "./util/configparser.y"
++  case 358: /* server_directory: VAR_DIRECTORY STRING_ARG  */
++#line 1150 "./util/configparser.y"
+         {
+               OUTYY(("P(server_directory:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->directory);
-               cfg_parser->cfg->directory = yystack.l_mark[0].str;
+               cfg_parser->cfg->directory = (yyvsp[0].str);
                /* change there right away for includes relative to this */
-               if(yystack.l_mark[0].str[0]) {
+               if((yyvsp[0].str)[0]) {
                        char* d;
  #ifdef UB_ON_WINDOWS
                        w_config_adjust_directory(cfg_parser->cfg);
                        }
                }
        }
- break;
- case 330:
- #line 1084 "./util/configparser.y"
-       {
-               OUTYY(("P(server_logfile:%s)\n", yystack.l_mark[0].str));
 -#line 3757 "util/configparser.c"
++#line 3780 "util/configparser.c"
+     break;
 -  case 355: /* server_logfile: VAR_LOGFILE STRING_ARG  */
 -#line 1171 "./util/configparser.y"
++  case 359: /* server_logfile: VAR_LOGFILE STRING_ARG  */
++#line 1176 "./util/configparser.y"
+         {
+               OUTYY(("P(server_logfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->logfile);
-               cfg_parser->cfg->logfile = yystack.l_mark[0].str;
+               cfg_parser->cfg->logfile = (yyvsp[0].str);
                cfg_parser->cfg->use_syslog = 0;
        }
- break;
- case 331:
- #line 1092 "./util/configparser.y"
-       {
-               OUTYY(("P(server_pidfile:%s)\n", yystack.l_mark[0].str));
 -#line 3768 "util/configparser.c"
++#line 3791 "util/configparser.c"
+     break;
 -  case 356: /* server_pidfile: VAR_PIDFILE STRING_ARG  */
 -#line 1179 "./util/configparser.y"
++  case 360: /* server_pidfile: VAR_PIDFILE STRING_ARG  */
++#line 1184 "./util/configparser.y"
+         {
+               OUTYY(("P(server_pidfile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->pidfile);
-               cfg_parser->cfg->pidfile = yystack.l_mark[0].str;
+               cfg_parser->cfg->pidfile = (yyvsp[0].str);
        }
- break;
- case 332:
- #line 1099 "./util/configparser.y"
-       {
-               OUTYY(("P(server_root_hints:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, yystack.l_mark[0].str))
 -#line 3778 "util/configparser.c"
++#line 3801 "util/configparser.c"
+     break;
 -  case 357: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG  */
 -#line 1186 "./util/configparser.y"
++  case 361: /* server_root_hints: VAR_ROOT_HINTS STRING_ARG  */
++#line 1191 "./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");
        }
- break;
- case 333:
- #line 1106 "./util/configparser.y"
-       {
-               OUTYY(("P(server_dlv_anchor_file:%s)\n", yystack.l_mark[0].str));
-               free(cfg_parser->cfg->dlv_anchor_file);
-               cfg_parser->cfg->dlv_anchor_file = yystack.l_mark[0].str;
 -#line 3788 "util/configparser.c"
++#line 3811 "util/configparser.c"
+     break;
 -  case 358: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG  */
 -#line 1193 "./util/configparser.y"
++  case 362: /* server_dlv_anchor_file: VAR_DLV_ANCHOR_FILE STRING_ARG  */
++#line 1198 "./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[0].str));
        }
- break;
- case 334:
- #line 1113 "./util/configparser.y"
-       {
-               OUTYY(("P(server_dlv_anchor:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, yystack.l_mark[0].str))
-                       yyerror("out of memory");
 -#line 3798 "util/configparser.c"
++#line 3821 "util/configparser.c"
+     break;
 -  case 359: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG  */
 -#line 1200 "./util/configparser.y"
++  case 363: /* server_dlv_anchor: VAR_DLV_ANCHOR STRING_ARG  */
++#line 1205 "./util/configparser.y"
+         {
+               OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[0].str)));
+               log_warn("option dlv-anchor ignored: DLV is decommissioned");
+               free((yyvsp[0].str));
        }
- break;
- case 335:
- #line 1120 "./util/configparser.y"
-       {
-               OUTYY(("P(server_auto_trust_anchor_file:%s)\n", yystack.l_mark[0].str));
 -#line 3808 "util/configparser.c"
++#line 3831 "util/configparser.c"
+     break;
 -  case 360: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG  */
 -#line 1207 "./util/configparser.y"
++  case 364: /* server_auto_trust_anchor_file: VAR_AUTO_TRUST_ANCHOR_FILE STRING_ARG  */
++#line 1212 "./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, yystack.l_mark[0].str))
+                       auto_trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 336:
- #line 1128 "./util/configparser.y"
-       {
-               OUTYY(("P(server_trust_anchor_file:%s)\n", yystack.l_mark[0].str));
 -#line 3819 "util/configparser.c"
++#line 3842 "util/configparser.c"
+     break;
 -  case 361: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG  */
 -#line 1215 "./util/configparser.y"
++  case 365: /* server_trust_anchor_file: VAR_TRUST_ANCHOR_FILE STRING_ARG  */
++#line 1220 "./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, yystack.l_mark[0].str))
+                       trust_anchor_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 337:
- #line 1136 "./util/configparser.y"
-       {
-               OUTYY(("P(server_trusted_keys_file:%s)\n", yystack.l_mark[0].str));
 -#line 3830 "util/configparser.c"
++#line 3853 "util/configparser.c"
+     break;
 -  case 362: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG  */
 -#line 1223 "./util/configparser.y"
++  case 366: /* server_trusted_keys_file: VAR_TRUSTED_KEYS_FILE STRING_ARG  */
++#line 1228 "./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, yystack.l_mark[0].str))
+                       trusted_keys_file_list, (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 338:
- #line 1144 "./util/configparser.y"
-       {
-               OUTYY(("P(server_trust_anchor:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, yystack.l_mark[0].str))
 -#line 3841 "util/configparser.c"
++#line 3864 "util/configparser.c"
+     break;
 -  case 363: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG  */
 -#line 1231 "./util/configparser.y"
++  case 367: /* server_trust_anchor: VAR_TRUST_ANCHOR STRING_ARG  */
++#line 1236 "./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");
        }
- break;
- case 339:
- #line 1151 "./util/configparser.y"
-       {
-               OUTYY(("P(server_trust_anchor_signaling:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3851 "util/configparser.c"
++#line 3874 "util/configparser.c"
+     break;
 -  case 364: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG  */
 -#line 1238 "./util/configparser.y"
++  case 368: /* server_trust_anchor_signaling: VAR_TRUST_ANCHOR_SIGNALING STRING_ARG  */
++#line 1243 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 340:
- #line 1162 "./util/configparser.y"
-       {
-               OUTYY(("P(server_root_key_sentinel:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3865 "util/configparser.c"
++#line 3888 "util/configparser.c"
+     break;
 -  case 365: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG  */
 -#line 1249 "./util/configparser.y"
++  case 369: /* server_root_key_sentinel: VAR_ROOT_KEY_SENTINEL STRING_ARG  */
++#line 1254 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 341:
- #line 1173 "./util/configparser.y"
-       {
-               OUTYY(("P(server_domain_insecure:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, yystack.l_mark[0].str))
 -#line 3879 "util/configparser.c"
++#line 3902 "util/configparser.c"
+     break;
 -  case 366: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG  */
 -#line 1260 "./util/configparser.y"
++  case 370: /* server_domain_insecure: VAR_DOMAIN_INSECURE STRING_ARG  */
++#line 1265 "./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");
        }
- break;
- case 342:
- #line 1180 "./util/configparser.y"
-       {
-               OUTYY(("P(server_hide_identity:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3889 "util/configparser.c"
++#line 3912 "util/configparser.c"
+     break;
 -  case 367: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG  */
 -#line 1267 "./util/configparser.y"
++  case 371: /* server_hide_identity: VAR_HIDE_IDENTITY STRING_ARG  */
++#line 1272 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->hide_identity = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 343:
- #line 1189 "./util/configparser.y"
-       {
-               OUTYY(("P(server_hide_version:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3901 "util/configparser.c"
++#line 3924 "util/configparser.c"
+     break;
 -  case 368: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG  */
 -#line 1276 "./util/configparser.y"
++  case 372: /* server_hide_version: VAR_HIDE_VERSION STRING_ARG  */
++#line 1281 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->hide_version = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 344:
- #line 1198 "./util/configparser.y"
-       {
-               OUTYY(("P(server_hide_trustanchor:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3913 "util/configparser.c"
++#line 3936 "util/configparser.c"
+     break;
 -  case 369: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG  */
 -#line 1285 "./util/configparser.y"
++  case 373: /* server_hide_trustanchor: VAR_HIDE_TRUSTANCHOR STRING_ARG  */
++#line 1290 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->hide_trustanchor = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 345:
- #line 1207 "./util/configparser.y"
-       {
-               OUTYY(("P(server_identity:%s)\n", yystack.l_mark[0].str));
 -#line 3925 "util/configparser.c"
++#line 3948 "util/configparser.c"
+     break;
 -  case 370: /* server_identity: VAR_IDENTITY STRING_ARG  */
 -#line 1294 "./util/configparser.y"
++  case 374: /* server_identity: VAR_IDENTITY STRING_ARG  */
++#line 1299 "./util/configparser.y"
+         {
+               OUTYY(("P(server_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->identity);
-               cfg_parser->cfg->identity = yystack.l_mark[0].str;
+               cfg_parser->cfg->identity = (yyvsp[0].str);
        }
- break;
- case 346:
- #line 1214 "./util/configparser.y"
-       {
-               OUTYY(("P(server_version:%s)\n", yystack.l_mark[0].str));
 -#line 3935 "util/configparser.c"
++#line 3958 "util/configparser.c"
+     break;
 -  case 371: /* server_version: VAR_VERSION STRING_ARG  */
 -#line 1301 "./util/configparser.y"
++  case 375: /* server_version: VAR_VERSION STRING_ARG  */
++#line 1306 "./util/configparser.y"
+         {
+               OUTYY(("P(server_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->version);
-               cfg_parser->cfg->version = yystack.l_mark[0].str;
+               cfg_parser->cfg->version = (yyvsp[0].str);
        }
- break;
- case 347:
- #line 1221 "./util/configparser.y"
-       {
-               OUTYY(("P(server_so_rcvbuf:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_rcvbuf))
 -#line 3945 "util/configparser.c"
++#line 3968 "util/configparser.c"
+     break;
 -  case 372: /* server_nsid: VAR_NSID STRING_ARG  */
 -#line 1308 "./util/configparser.y"
++  case 376: /* server_nsid: VAR_NSID STRING_ARG  */
++#line 1313 "./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[0].str);
+               free(cfg_parser->cfg->nsid);
+               cfg_parser->cfg->nsid = NULL;
+               cfg_parser->cfg->nsid_len = 0;
+               if (*(yyvsp[0].str) == 0)
+                       ; /* pass; empty string is not setting nsid */
+               else if (!(cfg_parser->cfg->nsid = cfg_parse_nsid(
+                                       (yyvsp[0].str), &cfg_parser->cfg->nsid_len)))
+                       yyerror("the NSID must be either a hex string or an "
+                           "ascii character string prepended with ascii_.");
+       }
 -#line 3964 "util/configparser.c"
++#line 3987 "util/configparser.c"
+     break;
 -  case 373: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG  */
 -#line 1324 "./util/configparser.y"
++  case 377: /* server_so_rcvbuf: VAR_SO_RCVBUF STRING_ARG  */
++#line 1329 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 348:
- #line 1229 "./util/configparser.y"
-       {
-               OUTYY(("P(server_so_sndbuf:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->so_sndbuf))
 -#line 3975 "util/configparser.c"
++#line 3998 "util/configparser.c"
+     break;
 -  case 374: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG  */
 -#line 1332 "./util/configparser.y"
++  case 378: /* server_so_sndbuf: VAR_SO_SNDBUF STRING_ARG  */
++#line 1337 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 349:
- #line 1237 "./util/configparser.y"
-       {
-         OUTYY(("P(server_so_reuseport:%s)\n", yystack.l_mark[0].str));
-         if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3986 "util/configparser.c"
++#line 4009 "util/configparser.c"
+     break;
 -  case 375: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG  */
 -#line 1340 "./util/configparser.y"
++  case 379: /* server_so_reuseport: VAR_SO_REUSEPORT STRING_ARG  */
++#line 1345 "./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(yystack.l_mark[0].str, "yes")==0);
-         free(yystack.l_mark[0].str);
+             (strcmp((yyvsp[0].str), "yes")==0);
+         free((yyvsp[0].str));
      }
- break;
- case 350:
- #line 1247 "./util/configparser.y"
-       {
-         OUTYY(("P(server_ip_transparent:%s)\n", yystack.l_mark[0].str));
-         if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 3999 "util/configparser.c"
++#line 4022 "util/configparser.c"
+     break;
 -  case 376: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG  */
 -#line 1350 "./util/configparser.y"
++  case 380: /* server_ip_transparent: VAR_IP_TRANSPARENT STRING_ARG  */
++#line 1355 "./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(yystack.l_mark[0].str, "yes")==0);
-         free(yystack.l_mark[0].str);
+             (strcmp((yyvsp[0].str), "yes")==0);
+         free((yyvsp[0].str));
      }
- break;
- case 351:
- #line 1257 "./util/configparser.y"
-       {
-         OUTYY(("P(server_ip_freebind:%s)\n", yystack.l_mark[0].str));
-         if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4012 "util/configparser.c"
++#line 4035 "util/configparser.c"
+     break;
 -  case 377: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG  */
 -#line 1360 "./util/configparser.y"
++  case 381: /* server_ip_freebind: VAR_IP_FREEBIND STRING_ARG  */
++#line 1365 "./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(yystack.l_mark[0].str, "yes")==0);
-         free(yystack.l_mark[0].str);
+             (strcmp((yyvsp[0].str), "yes")==0);
+         free((yyvsp[0].str));
      }
- break;
- case 352:
- #line 1267 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ip_dscp:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4025 "util/configparser.c"
++#line 4048 "util/configparser.c"
+     break;
 -  case 378: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG  */
 -#line 1370 "./util/configparser.y"
++  case 382: /* server_ip_dscp: VAR_IP_DSCP STRING_ARG  */
++#line 1375 "./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(yystack.l_mark[0].str) > 63)
+               else if (atoi((yyvsp[0].str)) > 63)
                        yyerror("value too large (max 63)");
-               else if (atoi(yystack.l_mark[0].str) < 0)
+               else if (atoi((yyvsp[0].str)) < 0)
                        yyerror("value too small (min 0)");
                else
-                       cfg_parser->cfg->ip_dscp = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+                       cfg_parser->cfg->ip_dscp = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 353:
- #line 1281 "./util/configparser.y"
-       {
-               OUTYY(("P(server_stream_wait_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->stream_wait_size))
 -#line 4042 "util/configparser.c"
++#line 4065 "util/configparser.c"
+     break;
 -  case 379: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG  */
 -#line 1384 "./util/configparser.y"
++  case 383: /* server_stream_wait_size: VAR_STREAM_WAIT_SIZE STRING_ARG  */
++#line 1389 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 354:
- #line 1289 "./util/configparser.y"
-       {
-               OUTYY(("P(server_edns_buffer_size:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4053 "util/configparser.c"
++#line 4076 "util/configparser.c"
+     break;
 -  case 380: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG  */
 -#line 1392 "./util/configparser.y"
++  case 384: /* server_edns_buffer_size: VAR_EDNS_BUFFER_SIZE STRING_ARG  */
++#line 1397 "./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(yystack.l_mark[0].str) < 12)
+               else if (atoi((yyvsp[0].str)) < 12)
                        yyerror("edns buffer size too small");
-               else if (atoi(yystack.l_mark[0].str) > 65535)
+               else if (atoi((yyvsp[0].str)) > 65535)
                        cfg_parser->cfg->edns_buffer_size = 65535;
-               else cfg_parser->cfg->edns_buffer_size = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->edns_buffer_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 355:
- #line 1302 "./util/configparser.y"
-       {
-               OUTYY(("P(server_msg_buffer_size:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4069 "util/configparser.c"
++#line 4092 "util/configparser.c"
+     break;
 -  case 381: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG  */
 -#line 1405 "./util/configparser.y"
++  case 385: /* server_msg_buffer_size: VAR_MSG_BUFFER_SIZE STRING_ARG  */
++#line 1410 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->msg_buffer_size = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 356:
- #line 1313 "./util/configparser.y"
-       {
-               OUTYY(("P(server_msg_cache_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->msg_cache_size))
 -#line 4083 "util/configparser.c"
++#line 4106 "util/configparser.c"
+     break;
 -  case 382: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG  */
 -#line 1416 "./util/configparser.y"
++  case 386: /* server_msg_cache_size: VAR_MSG_CACHE_SIZE STRING_ARG  */
++#line 1421 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 357:
- #line 1321 "./util/configparser.y"
-       {
-               OUTYY(("P(server_msg_cache_slabs:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4094 "util/configparser.c"
++#line 4117 "util/configparser.c"
+     break;
 -  case 383: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG  */
 -#line 1424 "./util/configparser.y"
++  case 387: /* server_msg_cache_slabs: VAR_MSG_CACHE_SLABS STRING_ARG  */
++#line 1429 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 358:
- #line 1334 "./util/configparser.y"
-       {
-               OUTYY(("P(server_num_queries_per_thread:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4110 "util/configparser.c"
++#line 4133 "util/configparser.c"
+     break;
 -  case 384: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG  */
 -#line 1437 "./util/configparser.y"
++  case 388: /* server_num_queries_per_thread: VAR_NUM_QUERIES_PER_THREAD STRING_ARG  */
++#line 1442 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->num_queries_per_thread = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 359:
- #line 1343 "./util/configparser.y"
-       {
-               OUTYY(("P(server_jostle_timeout:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4122 "util/configparser.c"
++#line 4145 "util/configparser.c"
+     break;
 -  case 385: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG  */
 -#line 1446 "./util/configparser.y"
++  case 389: /* server_jostle_timeout: VAR_JOSTLE_TIMEOUT STRING_ARG  */
++#line 1451 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->jostle_time = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 360:
- #line 1352 "./util/configparser.y"
-       {
-               OUTYY(("P(server_delay_close:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4134 "util/configparser.c"
++#line 4157 "util/configparser.c"
+     break;
 -  case 386: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG  */
 -#line 1455 "./util/configparser.y"
++  case 390: /* server_delay_close: VAR_DELAY_CLOSE STRING_ARG  */
++#line 1460 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->delay_close = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 361:
- #line 1361 "./util/configparser.y"
-       {
-               OUTYY(("P(server_unblock_lan_zones:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4146 "util/configparser.c"
++#line 4169 "util/configparser.c"
+     break;
 -  case 387: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG  */
 -#line 1464 "./util/configparser.y"
++  case 391: /* server_udp_connect: VAR_UDP_CONNECT STRING_ARG  */
++#line 1469 "./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[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 4158 "util/configparser.c"
++#line 4181 "util/configparser.c"
+     break;
 -  case 388: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG  */
 -#line 1473 "./util/configparser.y"
++  case 392: /* server_unblock_lan_zones: VAR_UNBLOCK_LAN_ZONES STRING_ARG  */
++#line 1478 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 362:
- #line 1371 "./util/configparser.y"
-       {
-               OUTYY(("P(server_insecure_lan_zones:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4171 "util/configparser.c"
++#line 4194 "util/configparser.c"
+     break;
 -  case 389: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG  */
 -#line 1483 "./util/configparser.y"
++  case 393: /* server_insecure_lan_zones: VAR_INSECURE_LAN_ZONES STRING_ARG  */
++#line 1488 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 363:
- #line 1381 "./util/configparser.y"
-       {
-               OUTYY(("P(server_rrset_cache_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->rrset_cache_size))
 -#line 4184 "util/configparser.c"
++#line 4207 "util/configparser.c"
+     break;
 -  case 390: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG  */
 -#line 1493 "./util/configparser.y"
++  case 394: /* server_rrset_cache_size: VAR_RRSET_CACHE_SIZE STRING_ARG  */
++#line 1498 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 364:
- #line 1389 "./util/configparser.y"
-       {
-               OUTYY(("P(server_rrset_cache_slabs:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4195 "util/configparser.c"
++#line 4218 "util/configparser.c"
+     break;
 -  case 391: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG  */
 -#line 1501 "./util/configparser.y"
++  case 395: /* server_rrset_cache_slabs: VAR_RRSET_CACHE_SLABS STRING_ARG  */
++#line 1506 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 365:
- #line 1402 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_host_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4211 "util/configparser.c"
++#line 4234 "util/configparser.c"
+     break;
 -  case 392: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG  */
 -#line 1514 "./util/configparser.y"
++  case 396: /* server_infra_host_ttl: VAR_INFRA_HOST_TTL STRING_ARG  */
++#line 1519 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->host_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 366:
- #line 1411 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_lame_ttl:%s)\n", yystack.l_mark[0].str));
 -#line 4223 "util/configparser.c"
++#line 4246 "util/configparser.c"
+     break;
 -  case 393: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG  */
 -#line 1523 "./util/configparser.y"
++  case 397: /* server_infra_lame_ttl: VAR_INFRA_LAME_TTL STRING_ARG  */
++#line 1528 "./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)", yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+                       "removed, use infra-host-ttl)", (yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 367:
- #line 1419 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_cache_numhosts:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4234 "util/configparser.c"
++#line 4257 "util/configparser.c"
+     break;
 -  case 394: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG  */
 -#line 1531 "./util/configparser.y"
++  case 398: /* server_infra_cache_numhosts: VAR_INFRA_CACHE_NUMHOSTS STRING_ARG  */
++#line 1536 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->infra_cache_numhosts = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 368:
- #line 1428 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_cache_lame_size:%s)\n", yystack.l_mark[0].str));
 -#line 4246 "util/configparser.c"
++#line 4269 "util/configparser.c"
+     break;
 -  case 395: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG  */
 -#line 1540 "./util/configparser.y"
++  case 399: /* server_infra_cache_lame_size: VAR_INFRA_CACHE_LAME_SIZE STRING_ARG  */
++#line 1545 "./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)", yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+                       "(option removed, use infra-cache-numhosts)", (yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 369:
- #line 1436 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_cache_slabs:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4257 "util/configparser.c"
++#line 4280 "util/configparser.c"
+     break;
 -  case 396: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG  */
 -#line 1548 "./util/configparser.y"
++  case 400: /* server_infra_cache_slabs: VAR_INFRA_CACHE_SLABS STRING_ARG  */
++#line 1553 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 370:
- #line 1449 "./util/configparser.y"
-       {
-               OUTYY(("P(server_infra_cache_min_rtt:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4273 "util/configparser.c"
++#line 4296 "util/configparser.c"
+     break;
 -  case 397: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG  */
 -#line 1561 "./util/configparser.y"
++  case 401: /* server_infra_cache_min_rtt: VAR_INFRA_CACHE_MIN_RTT STRING_ARG  */
++#line 1566 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->infra_cache_min_rtt = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 371:
- #line 1458 "./util/configparser.y"
-       {
-               OUTYY(("P(server_target_fetch_policy:%s)\n", yystack.l_mark[0].str));
 -#line 4285 "util/configparser.c"
++#line 4308 "util/configparser.c"
+     break;
 -  case 398: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG  */
 -#line 1570 "./util/configparser.y"
++  case 402: /* server_infra_keep_probing: VAR_INFRA_KEEP_PROBING STRING_ARG  */
++#line 1575 "./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[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 4298 "util/configparser.c"
++#line 4321 "util/configparser.c"
+     break;
 -  case 399: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG  */
 -#line 1580 "./util/configparser.y"
++  case 403: /* server_target_fetch_policy: VAR_TARGET_FETCH_POLICY STRING_ARG  */
++#line 1585 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->target_fetch_policy = (yyvsp[0].str);
        }
- break;
- case 372:
- #line 1465 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_short_bufsize:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4308 "util/configparser.c"
++#line 4331 "util/configparser.c"
+     break;
 -  case 400: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG  */
 -#line 1587 "./util/configparser.y"
++  case 404: /* server_harden_short_bufsize: VAR_HARDEN_SHORT_BUFSIZE STRING_ARG  */
++#line 1592 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 373:
- #line 1475 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_large_queries:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4321 "util/configparser.c"
++#line 4344 "util/configparser.c"
+     break;
 -  case 401: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG  */
 -#line 1597 "./util/configparser.y"
++  case 405: /* server_harden_large_queries: VAR_HARDEN_LARGE_QUERIES STRING_ARG  */
++#line 1602 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 374:
- #line 1485 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_glue:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4334 "util/configparser.c"
++#line 4357 "util/configparser.c"
+     break;
 -  case 402: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG  */
 -#line 1607 "./util/configparser.y"
++  case 406: /* server_harden_glue: VAR_HARDEN_GLUE STRING_ARG  */
++#line 1612 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 375:
- #line 1495 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_dnssec_stripped:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4347 "util/configparser.c"
++#line 4370 "util/configparser.c"
+     break;
 -  case 403: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG  */
 -#line 1617 "./util/configparser.y"
++  case 407: /* server_harden_dnssec_stripped: VAR_HARDEN_DNSSEC_STRIPPED STRING_ARG  */
++#line 1622 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 376:
- #line 1505 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_below_nxdomain:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4360 "util/configparser.c"
++#line 4383 "util/configparser.c"
+     break;
 -  case 404: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG  */
 -#line 1627 "./util/configparser.y"
++  case 408: /* server_harden_below_nxdomain: VAR_HARDEN_BELOW_NXDOMAIN STRING_ARG  */
++#line 1632 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 377:
- #line 1515 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_referral_path:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4373 "util/configparser.c"
++#line 4396 "util/configparser.c"
+     break;
 -  case 405: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG  */
 -#line 1637 "./util/configparser.y"
++  case 409: /* server_harden_referral_path: VAR_HARDEN_REFERRAL_PATH STRING_ARG  */
++#line 1642 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 378:
- #line 1525 "./util/configparser.y"
-       {
-               OUTYY(("P(server_harden_algo_downgrade:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4386 "util/configparser.c"
++#line 4409 "util/configparser.c"
+     break;
 -  case 406: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG  */
 -#line 1647 "./util/configparser.y"
++  case 410: /* server_harden_algo_downgrade: VAR_HARDEN_ALGO_DOWNGRADE STRING_ARG  */
++#line 1652 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 379:
- #line 1535 "./util/configparser.y"
-       {
-               OUTYY(("P(server_use_caps_for_id:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4399 "util/configparser.c"
++#line 4422 "util/configparser.c"
+     break;
 -  case 407: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG  */
 -#line 1657 "./util/configparser.y"
++  case 411: /* server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG  */
++#line 1662 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 380:
- #line 1545 "./util/configparser.y"
-       {
-               OUTYY(("P(server_caps_whitelist:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, yystack.l_mark[0].str))
 -#line 4412 "util/configparser.c"
++#line 4435 "util/configparser.c"
+     break;
 -  case 408: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG  */
 -#line 1667 "./util/configparser.y"
++  case 412: /* server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG  */
++#line 1672 "./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");
        }
- break;
- case 381:
- #line 1552 "./util/configparser.y"
-       {
-               OUTYY(("P(server_private_address:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, yystack.l_mark[0].str))
 -#line 4422 "util/configparser.c"
++#line 4445 "util/configparser.c"
+     break;
 -  case 409: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG  */
 -#line 1674 "./util/configparser.y"
++  case 413: /* server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG  */
++#line 1679 "./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");
        }
- break;
- case 382:
- #line 1559 "./util/configparser.y"
-       {
-               OUTYY(("P(server_private_domain:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, yystack.l_mark[0].str))
 -#line 4432 "util/configparser.c"
++#line 4455 "util/configparser.c"
+     break;
 -  case 410: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG  */
 -#line 1681 "./util/configparser.y"
++  case 414: /* server_private_domain: VAR_PRIVATE_DOMAIN STRING_ARG  */
++#line 1686 "./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");
        }
- break;
- case 383:
- #line 1566 "./util/configparser.y"
-       {
-               OUTYY(("P(server_prefetch:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4442 "util/configparser.c"
++#line 4465 "util/configparser.c"
+     break;
 -  case 411: /* server_prefetch: VAR_PREFETCH STRING_ARG  */
 -#line 1688 "./util/configparser.y"
++  case 415: /* server_prefetch: VAR_PREFETCH STRING_ARG  */
++#line 1693 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->prefetch = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 384:
- #line 1575 "./util/configparser.y"
-       {
-               OUTYY(("P(server_prefetch_key:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4454 "util/configparser.c"
++#line 4477 "util/configparser.c"
+     break;
 -  case 412: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG  */
 -#line 1697 "./util/configparser.y"
++  case 416: /* server_prefetch_key: VAR_PREFETCH_KEY STRING_ARG  */
++#line 1702 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->prefetch_key = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 385:
- #line 1584 "./util/configparser.y"
-       {
-               OUTYY(("P(server_deny_any:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4466 "util/configparser.c"
++#line 4489 "util/configparser.c"
+     break;
 -  case 413: /* server_deny_any: VAR_DENY_ANY STRING_ARG  */
 -#line 1706 "./util/configparser.y"
++  case 417: /* server_deny_any: VAR_DENY_ANY STRING_ARG  */
++#line 1711 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->deny_any = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 386:
- #line 1593 "./util/configparser.y"
-       {
-               OUTYY(("P(server_unwanted_reply_threshold:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4478 "util/configparser.c"
++#line 4501 "util/configparser.c"
+     break;
 -  case 414: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG  */
 -#line 1715 "./util/configparser.y"
++  case 418: /* server_unwanted_reply_threshold: VAR_UNWANTED_REPLY_THRESHOLD STRING_ARG  */
++#line 1720 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->unwanted_threshold = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 387:
- #line 1602 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_not_query_address:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, yystack.l_mark[0].str))
 -#line 4490 "util/configparser.c"
++#line 4513 "util/configparser.c"
+     break;
 -  case 415: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG  */
 -#line 1724 "./util/configparser.y"
++  case 419: /* server_do_not_query_address: VAR_DO_NOT_QUERY_ADDRESS STRING_ARG  */
++#line 1729 "./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");
        }
- break;
- case 388:
- #line 1609 "./util/configparser.y"
-       {
-               OUTYY(("P(server_do_not_query_localhost:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4500 "util/configparser.c"
++#line 4523 "util/configparser.c"
+     break;
 -  case 416: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG  */
 -#line 1731 "./util/configparser.y"
++  case 420: /* server_do_not_query_localhost: VAR_DO_NOT_QUERY_LOCALHOST STRING_ARG  */
++#line 1736 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 389:
- #line 1619 "./util/configparser.y"
-       {
-               OUTYY(("P(server_access_control:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "deny")!=0 && strcmp(yystack.l_mark[0].str, "refuse")!=0 &&
-                       strcmp(yystack.l_mark[0].str, "deny_non_local")!=0 &&
-                       strcmp(yystack.l_mark[0].str, "refuse_non_local")!=0 &&
-                       strcmp(yystack.l_mark[0].str, "allow_setrd")!=0 && 
-                       strcmp(yystack.l_mark[0].str, "allow")!=0 && 
-                       strcmp(yystack.l_mark[0].str, "allow_snoop")!=0) {
 -#line 4513 "util/configparser.c"
++#line 4536 "util/configparser.c"
+     break;
 -  case 417: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG  */
 -#line 1741 "./util/configparser.y"
++  case 421: /* server_access_control: VAR_ACCESS_CONTROL STRING_ARG STRING_ARG  */
++#line 1746 "./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");
                }
        }
- break;
- case 390:
- #line 1639 "./util/configparser.y"
-       {
-               OUTYY(("P(server_module_conf:%s)\n", yystack.l_mark[0].str));
 -#line 4536 "util/configparser.c"
++#line 4559 "util/configparser.c"
+     break;
 -  case 418: /* server_module_conf: VAR_MODULE_CONF STRING_ARG  */
 -#line 1761 "./util/configparser.y"
++  case 422: /* server_module_conf: VAR_MODULE_CONF STRING_ARG  */
++#line 1766 "./util/configparser.y"
+         {
+               OUTYY(("P(server_module_conf:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->module_conf);
-               cfg_parser->cfg->module_conf = yystack.l_mark[0].str;
+               cfg_parser->cfg->module_conf = (yyvsp[0].str);
        }
- break;
- case 391:
- #line 1646 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_override_date:%s)\n", yystack.l_mark[0].str));
-               if(*yystack.l_mark[0].str == '\0' || strcmp(yystack.l_mark[0].str, "0") == 0) {
 -#line 4546 "util/configparser.c"
++#line 4569 "util/configparser.c"
+     break;
 -  case 419: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG  */
 -#line 1768 "./util/configparser.y"
++  case 423: /* server_val_override_date: VAR_VAL_OVERRIDE_DATE STRING_ARG  */
++#line 1773 "./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(yystack.l_mark[0].str) == 14) {
+               } else if(strlen((yyvsp[0].str)) == 14) {
                        cfg_parser->cfg->val_date_override = 
-                               cfg_convert_timeval(yystack.l_mark[0].str);
+                               cfg_convert_timeval((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_date_override)
                                yyerror("bad date/time specification");
                } else {
-                       if(atoi(yystack.l_mark[0].str) == 0)
+                       if(atoi((yyvsp[0].str)) == 0)
                                yyerror("number expected");
-                       cfg_parser->cfg->val_date_override = atoi(yystack.l_mark[0].str);
+                       cfg_parser->cfg->val_date_override = atoi((yyvsp[0].str));
                }
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 392:
- #line 1664 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_sig_skew_min:%s)\n", yystack.l_mark[0].str));
-               if(*yystack.l_mark[0].str == '\0' || strcmp(yystack.l_mark[0].str, "0") == 0) {
 -#line 4567 "util/configparser.c"
++#line 4590 "util/configparser.c"
+     break;
 -  case 420: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG  */
 -#line 1786 "./util/configparser.y"
++  case 424: /* server_val_sig_skew_min: VAR_VAL_SIG_SKEW_MIN STRING_ARG  */
++#line 1791 "./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(yystack.l_mark[0].str);
+                       cfg_parser->cfg->val_sig_skew_min = atoi((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_sig_skew_min)
                                yyerror("number expected");
                }
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 393:
- #line 1677 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_sig_skew_max:%s)\n", yystack.l_mark[0].str));
-               if(*yystack.l_mark[0].str == '\0' || strcmp(yystack.l_mark[0].str, "0") == 0) {
 -#line 4583 "util/configparser.c"
++#line 4606 "util/configparser.c"
+     break;
 -  case 421: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG  */
 -#line 1799 "./util/configparser.y"
++  case 425: /* server_val_sig_skew_max: VAR_VAL_SIG_SKEW_MAX STRING_ARG  */
++#line 1804 "./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(yystack.l_mark[0].str);
+                       cfg_parser->cfg->val_sig_skew_max = atoi((yyvsp[0].str));
                        if(!cfg_parser->cfg->val_sig_skew_max)
                                yyerror("number expected");
                }
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 394:
- #line 1690 "./util/configparser.y"
-       {
-               OUTYY(("P(server_cache_max_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4599 "util/configparser.c"
++#line 4622 "util/configparser.c"
+     break;
 -  case 422: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG  */
 -#line 1812 "./util/configparser.y"
++  case 426: /* server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG  */
++#line 1817 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->max_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 395:
- #line 1699 "./util/configparser.y"
-       {
-               OUTYY(("P(server_cache_max_negative_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4611 "util/configparser.c"
++#line 4634 "util/configparser.c"
+     break;
 -  case 423: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG  */
 -#line 1821 "./util/configparser.y"
++  case 427: /* server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG  */
++#line 1826 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 396:
- #line 1708 "./util/configparser.y"
-       {
-               OUTYY(("P(server_cache_min_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4623 "util/configparser.c"
++#line 4646 "util/configparser.c"
+     break;
 -  case 424: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG  */
 -#line 1830 "./util/configparser.y"
++  case 428: /* server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG  */
++#line 1835 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->min_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 397:
- #line 1717 "./util/configparser.y"
-       {
-               OUTYY(("P(server_bogus_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4635 "util/configparser.c"
++#line 4658 "util/configparser.c"
+     break;
 -  case 425: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG  */
 -#line 1839 "./util/configparser.y"
++  case 429: /* server_bogus_ttl: VAR_BOGUS_TTL STRING_ARG  */
++#line 1844 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->bogus_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 398:
- #line 1726 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_clean_additional:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4647 "util/configparser.c"
++#line 4670 "util/configparser.c"
+     break;
 -  case 426: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG  */
 -#line 1848 "./util/configparser.y"
++  case 430: /* server_val_clean_additional: VAR_VAL_CLEAN_ADDITIONAL STRING_ARG  */
++#line 1853 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 399:
- #line 1736 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_permissive_mode:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4660 "util/configparser.c"
++#line 4683 "util/configparser.c"
+     break;
 -  case 427: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG  */
 -#line 1858 "./util/configparser.y"
++  case 431: /* server_val_permissive_mode: VAR_VAL_PERMISSIVE_MODE STRING_ARG  */
++#line 1863 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 400:
- #line 1746 "./util/configparser.y"
-       {
-               OUTYY(("P(server_aggressive_nsec:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4673 "util/configparser.c"
++#line 4696 "util/configparser.c"
+     break;
 -  case 428: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG  */
 -#line 1868 "./util/configparser.y"
++  case 432: /* server_aggressive_nsec: VAR_AGGRESSIVE_NSEC STRING_ARG  */
++#line 1873 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                               (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 401:
- #line 1757 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ignore_cd_flag:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4687 "util/configparser.c"
++#line 4710 "util/configparser.c"
+     break;
 -  case 429: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG  */
 -#line 1879 "./util/configparser.y"
++  case 433: /* server_ignore_cd_flag: VAR_IGNORE_CD_FLAG STRING_ARG  */
++#line 1884 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->ignore_cd = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 402:
- #line 1766 "./util/configparser.y"
-       {
-               OUTYY(("P(server_serve_expired:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4699 "util/configparser.c"
++#line 4722 "util/configparser.c"
+     break;
 -  case 430: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG  */
 -#line 1888 "./util/configparser.y"
++  case 434: /* server_serve_expired: VAR_SERVE_EXPIRED STRING_ARG  */
++#line 1893 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->serve_expired = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 403:
- #line 1775 "./util/configparser.y"
-       {
-               OUTYY(("P(server_serve_expired_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4711 "util/configparser.c"
++#line 4734 "util/configparser.c"
+     break;
 -  case 431: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG  */
 -#line 1897 "./util/configparser.y"
++  case 435: /* server_serve_expired_ttl: VAR_SERVE_EXPIRED_TTL STRING_ARG  */
++#line 1902 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->serve_expired_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 404:
- #line 1784 "./util/configparser.y"
-       {
-               OUTYY(("P(server_serve_expired_ttl_reset:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4723 "util/configparser.c"
++#line 4746 "util/configparser.c"
+     break;
 -  case 432: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG  */
 -#line 1906 "./util/configparser.y"
++  case 436: /* server_serve_expired_ttl_reset: VAR_SERVE_EXPIRED_TTL_RESET STRING_ARG  */
++#line 1911 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->serve_expired_ttl_reset = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 405:
- #line 1793 "./util/configparser.y"
-       {
-               OUTYY(("P(server_serve_expired_reply_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4735 "util/configparser.c"
++#line 4758 "util/configparser.c"
+     break;
 -  case 433: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG  */
 -#line 1915 "./util/configparser.y"
++  case 437: /* server_serve_expired_reply_ttl: VAR_SERVE_EXPIRED_REPLY_TTL STRING_ARG  */
++#line 1920 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->serve_expired_reply_ttl = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 406:
- #line 1802 "./util/configparser.y"
-       {
-               OUTYY(("P(server_serve_expired_client_timeout:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4747 "util/configparser.c"
++#line 4770 "util/configparser.c"
+     break;
 -  case 434: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG  */
 -#line 1924 "./util/configparser.y"
++  case 438: /* server_serve_expired_client_timeout: VAR_SERVE_EXPIRED_CLIENT_TIMEOUT STRING_ARG  */
++#line 1929 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->serve_expired_client_timeout = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 407:
- #line 1811 "./util/configparser.y"
-       {
-               OUTYY(("P(server_fake_dsa:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4759 "util/configparser.c"
++#line 4782 "util/configparser.c"
+     break;
 -  case 435: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG  */
 -#line 1933 "./util/configparser.y"
++  case 439: /* server_fake_dsa: VAR_FAKE_DSA STRING_ARG  */
++#line 1938 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 408:
- #line 1824 "./util/configparser.y"
-       {
-               OUTYY(("P(server_fake_sha1:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4775 "util/configparser.c"
++#line 4798 "util/configparser.c"
+     break;
 -  case 436: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG  */
 -#line 1946 "./util/configparser.y"
++  case 440: /* server_fake_sha1: VAR_FAKE_SHA1 STRING_ARG  */
++#line 1951 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 409:
- #line 1837 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_log_level:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4791 "util/configparser.c"
++#line 4814 "util/configparser.c"
+     break;
 -  case 437: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG  */
 -#line 1959 "./util/configparser.y"
++  case 441: /* server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG  */
++#line 1964 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->val_log_level = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 410:
- #line 1846 "./util/configparser.y"
-       {
-               OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", yystack.l_mark[0].str));
 -#line 4803 "util/configparser.c"
++#line 4826 "util/configparser.c"
+     break;
 -  case 438: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG  */
 -#line 1968 "./util/configparser.y"
++  case 442: /* server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG  */
++#line 1973 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->val_nsec3_key_iterations = (yyvsp[0].str);
        }
- break;
- case 411:
- #line 1853 "./util/configparser.y"
-       {
-               OUTYY(("P(server_add_holddown:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4813 "util/configparser.c"
++#line 4836 "util/configparser.c"
+     break;
 -  case 439: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG  */
 -#line 1975 "./util/configparser.y"
++  case 443: /* server_add_holddown: VAR_ADD_HOLDDOWN STRING_ARG  */
++#line 1980 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->add_holddown = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 412:
- #line 1862 "./util/configparser.y"
-       {
-               OUTYY(("P(server_del_holddown:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4825 "util/configparser.c"
++#line 4848 "util/configparser.c"
+     break;
 -  case 440: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG  */
 -#line 1984 "./util/configparser.y"
++  case 444: /* server_del_holddown: VAR_DEL_HOLDDOWN STRING_ARG  */
++#line 1989 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->del_holddown = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 413:
- #line 1871 "./util/configparser.y"
-       {
-               OUTYY(("P(server_keep_missing:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 4837 "util/configparser.c"
++#line 4860 "util/configparser.c"
+     break;
 -  case 441: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG  */
 -#line 1993 "./util/configparser.y"
++  case 445: /* server_keep_missing: VAR_KEEP_MISSING STRING_ARG  */
++#line 1998 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->keep_missing = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 414:
- #line 1880 "./util/configparser.y"
-       {
-               OUTYY(("P(server_permit_small_holddown:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4849 "util/configparser.c"
++#line 4872 "util/configparser.c"
+     break;
 -  case 442: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG  */
 -#line 2002 "./util/configparser.y"
++  case 446: /* server_permit_small_holddown: VAR_PERMIT_SMALL_HOLDDOWN STRING_ARG  */
++#line 2007 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 415:
- #line 1889 "./util/configparser.y"
-       {
-               OUTYY(("P(server_key_cache_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->key_cache_size))
 -#line 4862 "util/configparser.c"
++#line 4885 "util/configparser.c"
+     break;
 -  case 443: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG  */
 -#line 2011 "./util/configparser.y"
++  case 447: /* server_key_cache_size: VAR_KEY_CACHE_SIZE STRING_ARG  */
++#line 2016 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 416:
- #line 1897 "./util/configparser.y"
-       {
-               OUTYY(("P(server_key_cache_slabs:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 4873 "util/configparser.c"
++#line 4896 "util/configparser.c"
+     break;
 -  case 444: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG  */
 -#line 2019 "./util/configparser.y"
++  case 448: /* server_key_cache_slabs: VAR_KEY_CACHE_SLABS STRING_ARG  */
++#line 2024 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 417:
- #line 1910 "./util/configparser.y"
-       {
-               OUTYY(("P(server_neg_cache_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->neg_cache_size))
 -#line 4889 "util/configparser.c"
++#line 4912 "util/configparser.c"
+     break;
 -  case 445: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG  */
 -#line 2032 "./util/configparser.y"
++  case 449: /* server_neg_cache_size: VAR_NEG_CACHE_SIZE STRING_ARG  */
++#line 2037 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 418:
- #line 1918 "./util/configparser.y"
-       {
-               OUTYY(("P(server_local_zone:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "static")!=0 && strcmp(yystack.l_mark[0].str, "deny")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "refuse")!=0 && strcmp(yystack.l_mark[0].str, "redirect")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "transparent")!=0 && strcmp(yystack.l_mark[0].str, "nodefault")!=0
-                  && strcmp(yystack.l_mark[0].str, "typetransparent")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_transparent")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_refuse")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_nxdomain")!=0
-                  && strcmp(yystack.l_mark[0].str, "noview")!=0
-                  && strcmp(yystack.l_mark[0].str, "inform")!=0 && strcmp(yystack.l_mark[0].str, "inform_deny")!=0
-                  && strcmp(yystack.l_mark[0].str, "inform_redirect") != 0
-                        && strcmp(yystack.l_mark[0].str, "ipset") != 0) {
 -#line 4900 "util/configparser.c"
++#line 4923 "util/configparser.c"
+     break;
 -  case 446: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
 -#line 2040 "./util/configparser.y"
++  case 450: /* server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
++#line 2045 "./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");
                }
        }
- break;
- case 419:
- #line 1959 "./util/configparser.y"
-       {
-               OUTYY(("P(server_local_data:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, yystack.l_mark[0].str))
 -#line 4948 "util/configparser.c"
++#line 4971 "util/configparser.c"
+     break;
 -  case 447: /* server_local_data: VAR_LOCAL_DATA STRING_ARG  */
 -#line 2085 "./util/configparser.y"
++  case 451: /* server_local_data: VAR_LOCAL_DATA STRING_ARG  */
++#line 2090 "./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");
        }
- break;
- case 420:
- #line 1966 "./util/configparser.y"
-       {
 -#line 4958 "util/configparser.c"
++#line 4981 "util/configparser.c"
+     break;
 -  case 448: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
 -#line 2092 "./util/configparser.y"
++  case 452: /* server_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
++#line 2097 "./util/configparser.y"
+         {
                char* ptr;
-               OUTYY(("P(server_local_data_ptr:%s)\n", yystack.l_mark[0].str));
-               ptr = cfg_ptr_reverse(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].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");
                }
        }
- break;
- case 421:
- #line 1981 "./util/configparser.y"
-       {
-               OUTYY(("P(server_minimal_responses:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4976 "util/configparser.c"
++#line 4999 "util/configparser.c"
+     break;
 -  case 449: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG  */
 -#line 2107 "./util/configparser.y"
++  case 453: /* server_minimal_responses: VAR_MINIMAL_RESPONSES STRING_ARG  */
++#line 2112 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 422:
- #line 1991 "./util/configparser.y"
-       {
-               OUTYY(("P(server_rrset_roundrobin:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 4989 "util/configparser.c"
++#line 5012 "util/configparser.c"
+     break;
 -  case 450: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG  */
 -#line 2117 "./util/configparser.y"
++  case 454: /* server_rrset_roundrobin: VAR_RRSET_ROUNDROBIN STRING_ARG  */
++#line 2122 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 423:
- #line 2001 "./util/configparser.y"
-       {
-               OUTYY(("P(server_unknown_server_time_limit:%s)\n", yystack.l_mark[0].str));
-               cfg_parser->cfg->unknown_server_time_limit = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
 -#line 5002 "util/configparser.c"
++#line 5025 "util/configparser.c"
+     break;
 -  case 451: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG  */
 -#line 2127 "./util/configparser.y"
++  case 455: /* server_unknown_server_time_limit: VAR_UNKNOWN_SERVER_TIME_LIMIT STRING_ARG  */
++#line 2132 "./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));
        }
- break;
- case 424:
- #line 2008 "./util/configparser.y"
-       {
-               OUTYY(("P(server_max_udp_size:%s)\n", yystack.l_mark[0].str));
-               cfg_parser->cfg->max_udp_size = atoi(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
 -#line 5012 "util/configparser.c"
++#line 5035 "util/configparser.c"
+     break;
 -  case 452: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG  */
 -#line 2134 "./util/configparser.y"
++  case 456: /* server_max_udp_size: VAR_MAX_UDP_SIZE STRING_ARG  */
++#line 2139 "./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));
        }
- break;
- case 425:
- #line 2015 "./util/configparser.y"
-       {
-               OUTYY(("P(dns64_prefix:%s)\n", yystack.l_mark[0].str));
 -#line 5022 "util/configparser.c"
++#line 5045 "util/configparser.c"
+     break;
 -  case 453: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG  */
 -#line 2141 "./util/configparser.y"
++  case 457: /* server_dns64_prefix: VAR_DNS64_PREFIX STRING_ARG  */
++#line 2146 "./util/configparser.y"
+         {
+               OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dns64_prefix);
-               cfg_parser->cfg->dns64_prefix = yystack.l_mark[0].str;
+               cfg_parser->cfg->dns64_prefix = (yyvsp[0].str);
        }
- break;
- case 426:
- #line 2022 "./util/configparser.y"
-       {
-               OUTYY(("P(server_dns64_synthall:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5032 "util/configparser.c"
++#line 5055 "util/configparser.c"
+     break;
 -  case 454: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG  */
 -#line 2148 "./util/configparser.y"
++  case 458: /* server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG  */
++#line 2153 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dns64_synthall = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 427:
- #line 2031 "./util/configparser.y"
-       {
-               OUTYY(("P(dns64_ignore_aaaa:%s)\n", yystack.l_mark[0].str));
 -#line 5044 "util/configparser.c"
++#line 5067 "util/configparser.c"
+     break;
 -  case 455: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG  */
 -#line 2157 "./util/configparser.y"
++  case 459: /* server_dns64_ignore_aaaa: VAR_DNS64_IGNORE_AAAA STRING_ARG  */
++#line 2162 "./util/configparser.y"
+         {
+               OUTYY(("P(dns64_ignore_aaaa:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->dns64_ignore_aaaa,
-                       yystack.l_mark[0].str))
+                       (yyvsp[0].str)))
                        fatal_exit("out of memory adding dns64-ignore-aaaa");
        }
- break;
- case 428:
- #line 2039 "./util/configparser.y"
-       {
-               char* p, *s = yystack.l_mark[0].str;
-               OUTYY(("P(server_define_tag:%s)\n", yystack.l_mark[0].str));
 -#line 5055 "util/configparser.c"
++#line 5078 "util/configparser.c"
+     break;
 -  case 456: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG  */
 -#line 2165 "./util/configparser.y"
++  case 460: /* server_define_tag: VAR_DEFINE_TAG STRING_ARG  */
++#line 2170 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 429:
- #line 2053 "./util/configparser.y"
-       {
 -#line 5072 "util/configparser.c"
++#line 5095 "util/configparser.c"
+     break;
 -  case 457: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG  */
 -#line 2179 "./util/configparser.y"
++  case 461: /* server_local_zone_tag: VAR_LOCAL_ZONE_TAG STRING_ARG STRING_ARG  */
++#line 2184 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, yystack.l_mark[0].str,
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free(yystack.l_mark[0].str);
-               OUTYY(("P(server_local_zone_tag:%s)\n", yystack.l_mark[-1].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(yystack.l_mark[-1].str);
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
- break;
- case 430:
- #line 2074 "./util/configparser.y"
-       {
 -#line 5096 "util/configparser.c"
++#line 5119 "util/configparser.c"
+     break;
 -  case 458: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG  */
 -#line 2200 "./util/configparser.y"
++  case 462: /* server_access_control_tag: VAR_ACCESS_CONTROL_TAG STRING_ARG STRING_ARG  */
++#line 2205 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, yystack.l_mark[0].str,
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free(yystack.l_mark[0].str);
-               OUTYY(("P(server_access_control_tag:%s)\n", yystack.l_mark[-1].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(yystack.l_mark[-1].str);
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
- break;
- case 431:
- #line 2095 "./util/configparser.y"
-       {
-               OUTYY(("P(server_access_control_tag_action:%s %s %s)\n", yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str));
 -#line 5120 "util/configparser.c"
++#line 5143 "util/configparser.c"
+     break;
 -  case 459: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG  */
 -#line 2221 "./util/configparser.y"
++  case 463: /* server_access_control_tag_action: VAR_ACCESS_CONTROL_TAG_ACTION STRING_ARG STRING_ARG STRING_ARG  */
++#line 2226 "./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,
-                       yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str)) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free(yystack.l_mark[-2].str);
-                       free(yystack.l_mark[-1].str);
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
- break;
- case 432:
- #line 2107 "./util/configparser.y"
-       {
-               OUTYY(("P(server_access_control_tag_data:%s %s %s)\n", yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str));
 -#line 5135 "util/configparser.c"
++#line 5158 "util/configparser.c"
+     break;
 -  case 460: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG  */
 -#line 2233 "./util/configparser.y"
++  case 464: /* server_access_control_tag_data: VAR_ACCESS_CONTROL_TAG_DATA STRING_ARG STRING_ARG STRING_ARG  */
++#line 2238 "./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,
-                       yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str)) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free(yystack.l_mark[-2].str);
-                       free(yystack.l_mark[-1].str);
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
- break;
- case 433:
- #line 2119 "./util/configparser.y"
-       {
-               OUTYY(("P(server_local_zone_override:%s %s %s)\n", yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str));
 -#line 5150 "util/configparser.c"
++#line 5173 "util/configparser.c"
+     break;
 -  case 461: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG  */
 -#line 2245 "./util/configparser.y"
++  case 465: /* server_local_zone_override: VAR_LOCAL_ZONE_OVERRIDE STRING_ARG STRING_ARG STRING_ARG  */
++#line 2250 "./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,
-                       yystack.l_mark[-2].str, yystack.l_mark[-1].str, yystack.l_mark[0].str)) {
+                       (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
-                       free(yystack.l_mark[-2].str);
-                       free(yystack.l_mark[-1].str);
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[-2].str));
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                }
        }
- break;
- case 434:
- #line 2131 "./util/configparser.y"
-       {
-               OUTYY(("P(server_access_control_view:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
 -#line 5165 "util/configparser.c"
++#line 5188 "util/configparser.c"
+     break;
 -  case 462: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG  */
 -#line 2257 "./util/configparser.y"
++  case 466: /* server_access_control_view: VAR_ACCESS_CONTROL_VIEW STRING_ARG STRING_ARG  */
++#line 2262 "./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,
-                       yystack.l_mark[-1].str, yystack.l_mark[0].str)) {
+                       (yyvsp[-1].str), (yyvsp[0].str))) {
                        yyerror("out of memory");
                }
        }
- break;
- case 435:
- #line 2140 "./util/configparser.y"
-       {
 -#line 5177 "util/configparser.c"
++#line 5200 "util/configparser.c"
+     break;
 -  case 463: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG  */
 -#line 2266 "./util/configparser.y"
++  case 467: /* server_response_ip_tag: VAR_RESPONSE_IP_TAG STRING_ARG STRING_ARG  */
++#line 2271 "./util/configparser.y"
+         {
                size_t len = 0;
-               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, yystack.l_mark[0].str,
+               uint8_t* bitlist = config_parse_taglist(cfg_parser->cfg, (yyvsp[0].str),
                        &len);
-               free(yystack.l_mark[0].str);
-               OUTYY(("P(response_ip_tag:%s)\n", yystack.l_mark[-1].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(yystack.l_mark[-1].str);
+                       free((yyvsp[-1].str));
                }
                if(bitlist) {
                        if(!cfg_strbytelist_insert(
                        }
                }
        }
- break;
- case 436:
- #line 2161 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_ip_ratelimit:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 5201 "util/configparser.c"
++#line 5224 "util/configparser.c"
+     break;
 -  case 464: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG  */
 -#line 2287 "./util/configparser.y"
++  case 468: /* server_ip_ratelimit: VAR_IP_RATELIMIT STRING_ARG  */
++#line 2292 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 437:
- #line 2171 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_ratelimit:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
+               else cfg_parser->cfg->ip_ratelimit = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 5213 "util/configparser.c"
++#line 5236 "util/configparser.c"
+     break;
 -  case 465: /* server_ratelimit: VAR_RATELIMIT STRING_ARG  */
 -#line 2297 "./util/configparser.y"
++  case 469: /* server_ratelimit: VAR_RATELIMIT STRING_ARG  */
++#line 2302 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->ratelimit = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 438:
- #line 2180 "./util/configparser.y"
-       {
-       OUTYY(("P(server_ip_ratelimit_size:%s)\n", yystack.l_mark[0].str));
-       if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->ip_ratelimit_size))
 -#line 5225 "util/configparser.c"
++#line 5248 "util/configparser.c"
+     break;
 -  case 466: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG  */
 -#line 2306 "./util/configparser.y"
++  case 470: /* server_ip_ratelimit_size: VAR_IP_RATELIMIT_SIZE STRING_ARG  */
++#line 2311 "./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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 439:
- #line 2188 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ratelimit_size:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->ratelimit_size))
 -#line 5236 "util/configparser.c"
++#line 5259 "util/configparser.c"
+     break;
 -  case 467: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG  */
 -#line 2314 "./util/configparser.y"
++  case 471: /* server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG  */
++#line 2319 "./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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 440:
- #line 2196 "./util/configparser.y"
-       {
-       OUTYY(("P(server_ip_ratelimit_slabs:%s)\n", yystack.l_mark[0].str));
-       if(atoi(yystack.l_mark[0].str) == 0)
 -#line 5247 "util/configparser.c"
++#line 5270 "util/configparser.c"
+     break;
 -  case 468: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG  */
 -#line 2322 "./util/configparser.y"
++  case 472: /* server_ip_ratelimit_slabs: VAR_IP_RATELIMIT_SLABS STRING_ARG  */
++#line 2327 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 441:
- #line 2209 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ratelimit_slabs:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 5263 "util/configparser.c"
++#line 5286 "util/configparser.c"
+     break;
 -  case 469: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG  */
 -#line 2335 "./util/configparser.y"
++  case 473: /* server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG  */
++#line 2340 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 442:
- #line 2222 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) {
 -#line 5279 "util/configparser.c"
++#line 5302 "util/configparser.c"
+     break;
 -  case 470: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG  */
 -#line 2348 "./util/configparser.y"
++  case 474: /* server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG  */
++#line 2353 "./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(yystack.l_mark[-1].str);
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                } else {
                        if(!cfg_str2list_insert(&cfg_parser->cfg->
-                               ratelimit_for_domain, yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                               ratelimit_for_domain, (yyvsp[-1].str), (yyvsp[0].str)))
                                fatal_exit("out of memory adding "
                                        "ratelimit-for-domain");
                }
        }
- break;
- case 443:
- #line 2237 "./util/configparser.y"
-       {
-               OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0) {
 -#line 5297 "util/configparser.c"
++#line 5320 "util/configparser.c"
+     break;
 -  case 471: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG  */
 -#line 2363 "./util/configparser.y"
++  case 475: /* server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG  */
++#line 2368 "./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(yystack.l_mark[-1].str);
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[-1].str));
+                       free((yyvsp[0].str));
                } else {
                        if(!cfg_str2list_insert(&cfg_parser->cfg->
-                               ratelimit_below_domain, yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                               ratelimit_below_domain, (yyvsp[-1].str), (yyvsp[0].str)))
                                fatal_exit("out of memory adding "
                                        "ratelimit-below-domain");
                }
        }
- break;
- case 444:
- #line 2252 "./util/configparser.y"
-       { 
-       OUTYY(("P(server_ip_ratelimit_factor:%s)\n", yystack.l_mark[0].str)); 
-       if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
 -#line 5315 "util/configparser.c"
++#line 5338 "util/configparser.c"
+     break;
 -  case 472: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG  */
 -#line 2378 "./util/configparser.y"
++  case 476: /* server_ip_ratelimit_factor: VAR_IP_RATELIMIT_FACTOR STRING_ARG  */
++#line 2383 "./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(yystack.l_mark[0].str);
-       free(yystack.l_mark[0].str);
-       }
- break;
- case 445:
- #line 2261 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_ratelimit_factor:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
+       else cfg_parser->cfg->ip_ratelimit_factor = atoi((yyvsp[0].str));
+       free((yyvsp[0].str));
+       }
 -#line 5327 "util/configparser.c"
++#line 5350 "util/configparser.c"
+     break;
 -  case 473: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG  */
 -#line 2387 "./util/configparser.y"
++  case 477: /* server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG  */
++#line 2392 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 446:
- #line 2270 "./util/configparser.y"
-       { 
 -#line 5339 "util/configparser.c"
++#line 5362 "util/configparser.c"
+     break;
 -  case 474: /* server_low_rtt: VAR_LOW_RTT STRING_ARG  */
 -#line 2396 "./util/configparser.y"
++  case 478: /* server_low_rtt: VAR_LOW_RTT STRING_ARG  */
++#line 2401 "./util/configparser.y"
+         { 
                OUTYY(("P(low-rtt option is deprecated, use fast-server-num instead)\n"));
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 447:
- #line 2276 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_fast_server_num:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) <= 0)
+               free((yyvsp[0].str));
+       }
 -#line 5348 "util/configparser.c"
++#line 5371 "util/configparser.c"
+     break;
 -  case 475: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG  */
 -#line 2402 "./util/configparser.y"
++  case 479: /* server_fast_server_num: VAR_FAST_SERVER_NUM STRING_ARG  */
++#line 2407 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
-       }
- break;
- case 448:
- #line 2285 "./util/configparser.y"
-       { 
-               OUTYY(("P(server_fast_server_permil:%s)\n", yystack.l_mark[0].str)); 
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].str, "0") != 0)
+               else cfg_parser->cfg->fast_server_num = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 5360 "util/configparser.c"
++#line 5383 "util/configparser.c"
+     break;
 -  case 476: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG  */
 -#line 2411 "./util/configparser.y"
++  case 480: /* server_fast_server_permil: VAR_FAST_SERVER_PERMIL STRING_ARG  */
++#line 2416 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->fast_server_permil = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 449:
- #line 2294 "./util/configparser.y"
-       {
-               OUTYY(("P(server_qname_minimisation:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5372 "util/configparser.c"
++#line 5395 "util/configparser.c"
+     break;
 -  case 477: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG  */
 -#line 2420 "./util/configparser.y"
++  case 481: /* server_qname_minimisation: VAR_QNAME_MINIMISATION STRING_ARG  */
++#line 2425 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 450:
- #line 2304 "./util/configparser.y"
-       {
-               OUTYY(("P(server_qname_minimisation_strict:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5385 "util/configparser.c"
++#line 5408 "util/configparser.c"
+     break;
 -  case 478: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG  */
 -#line 2430 "./util/configparser.y"
++  case 482: /* server_qname_minimisation_strict: VAR_QNAME_MINIMISATION_STRICT STRING_ARG  */
++#line 2435 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 451:
- #line 2314 "./util/configparser.y"
-       {
-               OUTYY(("P(server_pad_responses:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5398 "util/configparser.c"
++#line 5421 "util/configparser.c"
++    break;
++
++  case 483: /* server_pad_responses: VAR_PAD_RESPONSES STRING_ARG  */
++#line 2445 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
++                      (strcmp((yyvsp[0].str), "yes")==0);
++              free((yyvsp[0].str));
 +      }
- break;
- case 452:
- #line 2324 "./util/configparser.y"
-       {
-               OUTYY(("P(server_pad_responses_block_size:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
++#line 5434 "util/configparser.c"
++    break;
++
++  case 484: /* server_pad_responses_block_size: VAR_PAD_RESPONSES_BLOCK_SIZE STRING_ARG  */
++#line 2455 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
++              else cfg_parser->cfg->pad_responses_block_size = atoi((yyvsp[0].str));
++              free((yyvsp[0].str));
 +      }
- break;
- case 453:
- #line 2333 "./util/configparser.y"
-       {
-               OUTYY(("P(server_pad_queries:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
++#line 5446 "util/configparser.c"
++    break;
++
++  case 485: /* server_pad_queries: VAR_PAD_QUERIES STRING_ARG  */
++#line 2464 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
++                      (strcmp((yyvsp[0].str), "yes")==0);
++              free((yyvsp[0].str));
 +      }
- break;
- case 454:
- #line 2343 "./util/configparser.y"
-       {
-               OUTYY(("P(server_pad_queries_block_size:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
++#line 5459 "util/configparser.c"
++    break;
++
++  case 486: /* server_pad_queries_block_size: VAR_PAD_QUERIES_BLOCK_SIZE STRING_ARG  */
++#line 2474 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
++              else cfg_parser->cfg->pad_queries_block_size = atoi((yyvsp[0].str));
++              free((yyvsp[0].str));
 +      }
- break;
- case 455:
- #line 2352 "./util/configparser.y"
-       {
++#line 5471 "util/configparser.c"
+     break;
 -  case 479: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG  */
 -#line 2440 "./util/configparser.y"
++  case 487: /* server_ipsecmod_enabled: VAR_IPSECMOD_ENABLED STRING_ARG  */
++#line 2483 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_enabled:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 456:
- #line 2365 "./util/configparser.y"
-       {
 -#line 5414 "util/configparser.c"
++#line 5487 "util/configparser.c"
+     break;
 -  case 480: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG  */
 -#line 2453 "./util/configparser.y"
++  case 488: /* server_ipsecmod_ignore_bogus: VAR_IPSECMOD_IGNORE_BOGUS STRING_ARG  */
++#line 2496 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_ignore_bogus:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 457:
- #line 2378 "./util/configparser.y"
-       {
 -#line 5430 "util/configparser.c"
++#line 5503 "util/configparser.c"
+     break;
 -  case 481: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG  */
 -#line 2466 "./util/configparser.y"
++  case 489: /* server_ipsecmod_hook: VAR_IPSECMOD_HOOK STRING_ARG  */
++#line 2509 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_hook:%s)\n", yystack.l_mark[0].str));
+               OUTYY(("P(server_ipsecmod_hook:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->ipsecmod_hook);
-               cfg_parser->cfg->ipsecmod_hook = yystack.l_mark[0].str;
+               cfg_parser->cfg->ipsecmod_hook = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without IPsec module, ignoring)\n"));
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 458:
- #line 2390 "./util/configparser.y"
-       {
 -#line 5445 "util/configparser.c"
++#line 5518 "util/configparser.c"
+     break;
 -  case 482: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG  */
 -#line 2478 "./util/configparser.y"
++  case 490: /* server_ipsecmod_max_ttl: VAR_IPSECMOD_MAX_TTL STRING_ARG  */
++#line 2521 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_max_ttl:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 459:
- #line 2404 "./util/configparser.y"
-       {
 -#line 5462 "util/configparser.c"
++#line 5535 "util/configparser.c"
+     break;
 -  case 483: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG  */
 -#line 2492 "./util/configparser.y"
++  case 491: /* server_ipsecmod_whitelist: VAR_IPSECMOD_WHITELIST STRING_ARG  */
++#line 2535 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_whitelist:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->ipsecmod_whitelist, yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 460:
- #line 2416 "./util/configparser.y"
-       {
 -#line 5477 "util/configparser.c"
++#line 5550 "util/configparser.c"
+     break;
 -  case 484: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG  */
 -#line 2504 "./util/configparser.y"
++  case 492: /* server_ipsecmod_strict: VAR_IPSECMOD_STRICT STRING_ARG  */
++#line 2547 "./util/configparser.y"
+         {
        #ifdef USE_IPSECMOD
-               OUTYY(("P(server_ipsecmod_strict:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 461:
- #line 2430 "./util/configparser.y"
-       {
-               OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
 -#line 5494 "util/configparser.c"
++#line 5567 "util/configparser.c"
+     break;
 -  case 485: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG  */
 -#line 2518 "./util/configparser.y"
++  case 493: /* server_edns_client_string: VAR_EDNS_CLIENT_STRING STRING_ARG STRING_ARG  */
++#line 2561 "./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[-1].str), (yyvsp[0].str)))
+                       fatal_exit("out of memory adding "
+                               "edns-client-string");
+       }
 -#line 5506 "util/configparser.c"
++#line 5579 "util/configparser.c"
+     break;
 -  case 486: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG  */
 -#line 2527 "./util/configparser.y"
++  case 494: /* server_edns_client_string_opcode: VAR_EDNS_CLIENT_STRING_OPCODE STRING_ARG  */
++#line 2570 "./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[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[0].str));
+               free((yyvsp[0].str));
+       }
 -#line 5521 "util/configparser.c"
++#line 5594 "util/configparser.c"
+     break;
 -  case 487: /* stub_name: VAR_NAME STRING_ARG  */
 -#line 2539 "./util/configparser.y"
++  case 495: /* stub_name: VAR_NAME STRING_ARG  */
++#line 2582 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->stubs->name = (yyvsp[0].str);
        }
- break;
- case 462:
- #line 2440 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-host:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, yystack.l_mark[0].str))
 -#line 5534 "util/configparser.c"
++#line 5607 "util/configparser.c"
+     break;
 -  case 488: /* stub_host: VAR_STUB_HOST STRING_ARG  */
 -#line 2549 "./util/configparser.y"
++  case 496: /* stub_host: VAR_STUB_HOST STRING_ARG  */
++#line 2592 "./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");
        }
- break;
- case 463:
- #line 2447 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-addr:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, yystack.l_mark[0].str))
 -#line 5544 "util/configparser.c"
++#line 5617 "util/configparser.c"
+     break;
 -  case 489: /* stub_addr: VAR_STUB_ADDR STRING_ARG  */
 -#line 2556 "./util/configparser.y"
++  case 497: /* stub_addr: VAR_STUB_ADDR STRING_ARG  */
++#line 2599 "./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");
        }
- break;
- case 464:
- #line 2454 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-first:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5554 "util/configparser.c"
++#line 5627 "util/configparser.c"
+     break;
 -  case 490: /* stub_first: VAR_STUB_FIRST STRING_ARG  */
 -#line 2563 "./util/configparser.y"
++  case 498: /* stub_first: VAR_STUB_FIRST STRING_ARG  */
++#line 2606 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->stubs->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 465:
- #line 2463 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-no-cache:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5566 "util/configparser.c"
++#line 5639 "util/configparser.c"
+     break;
 -  case 491: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG  */
 -#line 2572 "./util/configparser.y"
++  case 499: /* stub_no_cache: VAR_STUB_NO_CACHE STRING_ARG  */
++#line 2615 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->stubs->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 466:
- #line 2472 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-ssl-upstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5578 "util/configparser.c"
++#line 5651 "util/configparser.c"
+     break;
 -  case 492: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG  */
 -#line 2581 "./util/configparser.y"
++  case 500: /* stub_ssl_upstream: VAR_STUB_SSL_UPSTREAM STRING_ARG  */
++#line 2624 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 467:
- #line 2482 "./util/configparser.y"
-       {
-               OUTYY(("P(stub-prime:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5591 "util/configparser.c"
++#line 5664 "util/configparser.c"
+     break;
 -  case 493: /* stub_prime: VAR_STUB_PRIME STRING_ARG  */
 -#line 2591 "./util/configparser.y"
++  case 501: /* stub_prime: VAR_STUB_PRIME STRING_ARG  */
++#line 2634 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 468:
- #line 2492 "./util/configparser.y"
-       {
-               OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
 -#line 5604 "util/configparser.c"
++#line 5677 "util/configparser.c"
+     break;
 -  case 494: /* forward_name: VAR_NAME STRING_ARG  */
 -#line 2601 "./util/configparser.y"
++  case 502: /* forward_name: VAR_NAME STRING_ARG  */
++#line 2644 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->forwards->name = (yyvsp[0].str);
        }
- break;
- case 469:
- #line 2502 "./util/configparser.y"
-       {
-               OUTYY(("P(forward-host:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, yystack.l_mark[0].str))
 -#line 5617 "util/configparser.c"
++#line 5690 "util/configparser.c"
+     break;
 -  case 495: /* forward_host: VAR_FORWARD_HOST STRING_ARG  */
 -#line 2611 "./util/configparser.y"
++  case 503: /* forward_host: VAR_FORWARD_HOST STRING_ARG  */
++#line 2654 "./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");
        }
- break;
- case 470:
- #line 2509 "./util/configparser.y"
-       {
-               OUTYY(("P(forward-addr:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, yystack.l_mark[0].str))
 -#line 5627 "util/configparser.c"
++#line 5700 "util/configparser.c"
+     break;
 -  case 496: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG  */
 -#line 2618 "./util/configparser.y"
++  case 504: /* forward_addr: VAR_FORWARD_ADDR STRING_ARG  */
++#line 2661 "./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");
        }
- break;
- case 471:
- #line 2516 "./util/configparser.y"
-       {
-               OUTYY(("P(forward-first:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5637 "util/configparser.c"
++#line 5710 "util/configparser.c"
+     break;
 -  case 497: /* forward_first: VAR_FORWARD_FIRST STRING_ARG  */
 -#line 2625 "./util/configparser.y"
++  case 505: /* forward_first: VAR_FORWARD_FIRST STRING_ARG  */
++#line 2668 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->forwards->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 472:
- #line 2525 "./util/configparser.y"
-       {
-               OUTYY(("P(forward-no-cache:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5649 "util/configparser.c"
++#line 5722 "util/configparser.c"
+     break;
 -  case 498: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG  */
 -#line 2634 "./util/configparser.y"
++  case 506: /* forward_no_cache: VAR_FORWARD_NO_CACHE STRING_ARG  */
++#line 2677 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->forwards->no_cache=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 473:
- #line 2534 "./util/configparser.y"
-       {
-               OUTYY(("P(forward-ssl-upstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5661 "util/configparser.c"
++#line 5734 "util/configparser.c"
+     break;
 -  case 499: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG  */
 -#line 2643 "./util/configparser.y"
++  case 507: /* forward_ssl_upstream: VAR_FORWARD_SSL_UPSTREAM STRING_ARG  */
++#line 2686 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 474:
- #line 2544 "./util/configparser.y"
-       {
-               OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
 -#line 5674 "util/configparser.c"
++#line 5747 "util/configparser.c"
+     break;
 -  case 500: /* auth_name: VAR_NAME STRING_ARG  */
 -#line 2653 "./util/configparser.y"
++  case 508: /* auth_name: VAR_NAME STRING_ARG  */
++#line 2696 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->auths->name = (yyvsp[0].str);
        }
- break;
- case 475:
- #line 2554 "./util/configparser.y"
-       {
-               OUTYY(("P(zonefile:%s)\n", yystack.l_mark[0].str));
 -#line 5687 "util/configparser.c"
++#line 5760 "util/configparser.c"
+     break;
 -  case 501: /* auth_zonefile: VAR_ZONEFILE STRING_ARG  */
 -#line 2663 "./util/configparser.y"
++  case 509: /* auth_zonefile: VAR_ZONEFILE STRING_ARG  */
++#line 2706 "./util/configparser.y"
+         {
+               OUTYY(("P(zonefile:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->auths->zonefile);
-               cfg_parser->cfg->auths->zonefile = yystack.l_mark[0].str;
+               cfg_parser->cfg->auths->zonefile = (yyvsp[0].str);
        }
- break;
- case 476:
- #line 2561 "./util/configparser.y"
-       {
-               OUTYY(("P(master:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->masters, yystack.l_mark[0].str))
 -#line 5697 "util/configparser.c"
++#line 5770 "util/configparser.c"
+     break;
 -  case 502: /* auth_master: VAR_MASTER STRING_ARG  */
 -#line 2670 "./util/configparser.y"
++  case 510: /* auth_master: VAR_MASTER STRING_ARG  */
++#line 2713 "./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");
        }
- break;
- case 477:
- #line 2568 "./util/configparser.y"
-       {
-               OUTYY(("P(url:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->auths->urls, yystack.l_mark[0].str))
 -#line 5707 "util/configparser.c"
++#line 5780 "util/configparser.c"
+     break;
 -  case 503: /* auth_url: VAR_URL STRING_ARG  */
 -#line 2677 "./util/configparser.y"
++  case 511: /* auth_url: VAR_URL STRING_ARG  */
++#line 2720 "./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");
        }
- break;
- case 478:
- #line 2575 "./util/configparser.y"
-       {
-               OUTYY(("P(allow-notify:%s)\n", yystack.l_mark[0].str));
 -#line 5717 "util/configparser.c"
++#line 5790 "util/configparser.c"
+     break;
 -  case 504: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG  */
 -#line 2684 "./util/configparser.y"
++  case 512: /* auth_allow_notify: VAR_ALLOW_NOTIFY STRING_ARG  */
++#line 2727 "./util/configparser.y"
+         {
+               OUTYY(("P(allow-notify:%s)\n", (yyvsp[0].str)));
                if(!cfg_strlist_insert(&cfg_parser->cfg->auths->allow_notify,
-                       yystack.l_mark[0].str))
+                       (yyvsp[0].str)))
                        yyerror("out of memory");
        }
- break;
- case 479:
- #line 2583 "./util/configparser.y"
-       {
-               OUTYY(("P(for-downstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5728 "util/configparser.c"
++#line 5801 "util/configparser.c"
+     break;
 -  case 505: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG  */
 -#line 2692 "./util/configparser.y"
++  case 513: /* auth_for_downstream: VAR_FOR_DOWNSTREAM STRING_ARG  */
++#line 2735 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 480:
- #line 2593 "./util/configparser.y"
-       {
-               OUTYY(("P(for-upstream:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5741 "util/configparser.c"
++#line 5814 "util/configparser.c"
+     break;
 -  case 506: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG  */
 -#line 2702 "./util/configparser.y"
++  case 514: /* auth_for_upstream: VAR_FOR_UPSTREAM STRING_ARG  */
++#line 2745 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 481:
- #line 2603 "./util/configparser.y"
-       {
-               OUTYY(("P(fallback-enabled:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5754 "util/configparser.c"
++#line 5827 "util/configparser.c"
+     break;
 -  case 507: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG  */
 -#line 2712 "./util/configparser.y"
++  case 515: /* auth_fallback_enabled: VAR_FALLBACK_ENABLED STRING_ARG  */
++#line 2755 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 482:
- #line 2613 "./util/configparser.y"
-       {
-               OUTYY(("P(name:%s)\n", yystack.l_mark[0].str));
 -#line 5767 "util/configparser.c"
++#line 5840 "util/configparser.c"
+     break;
 -  case 508: /* view_name: VAR_NAME STRING_ARG  */
 -#line 2722 "./util/configparser.y"
++  case 516: /* view_name: VAR_NAME STRING_ARG  */
++#line 2765 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->views->name = (yyvsp[0].str);
        }
- break;
- case 483:
- #line 2623 "./util/configparser.y"
-       {
-               OUTYY(("P(view_local_zone:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "static")!=0 && strcmp(yystack.l_mark[0].str, "deny")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "refuse")!=0 && strcmp(yystack.l_mark[0].str, "redirect")!=0 &&
-                  strcmp(yystack.l_mark[0].str, "transparent")!=0 && strcmp(yystack.l_mark[0].str, "nodefault")!=0
-                  && strcmp(yystack.l_mark[0].str, "typetransparent")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_transparent")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_refuse")!=0
-                  && strcmp(yystack.l_mark[0].str, "always_nxdomain")!=0
-                  && strcmp(yystack.l_mark[0].str, "noview")!=0
-                  && strcmp(yystack.l_mark[0].str, "inform")!=0 && strcmp(yystack.l_mark[0].str, "inform_deny")!=0) {
 -#line 5780 "util/configparser.c"
++#line 5853 "util/configparser.c"
+     break;
 -  case 509: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
 -#line 2732 "./util/configparser.y"
++  case 517: /* view_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG  */
++#line 2775 "./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), "noview")!=0
+                  && strcmp((yyvsp[0].str), "inform")!=0 && strcmp((yyvsp[0].str), "inform_deny")!=0) {
                        yyerror("local-zone type: expected static, deny, "
                                "refuse, redirect, transparent, "
                                "typetransparent, inform, inform_deny, "
                                fatal_exit("out of memory adding local-zone");
                }
        }
- break;
- case 484:
- #line 2662 "./util/configparser.y"
-       {
-               OUTYY(("P(view_response_ip:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               validate_respip_action(yystack.l_mark[0].str);
 -#line 5822 "util/configparser.c"
++#line 5895 "util/configparser.c"
+     break;
 -  case 510: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
 -#line 2771 "./util/configparser.y"
++  case 518: /* view_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
++#line 2814 "./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, yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                       &cfg_parser->cfg->views->respip_actions, (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding per-view "
                                "response-ip action");
        }
- break;
- case 485:
- #line 2672 "./util/configparser.y"
-       {
-               OUTYY(("P(view_response_ip_data:%s)\n", yystack.l_mark[-1].str));
 -#line 5835 "util/configparser.c"
++#line 5908 "util/configparser.c"
+     break;
 -  case 511: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
 -#line 2781 "./util/configparser.y"
++  case 519: /* view_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
++#line 2824 "./util/configparser.y"
+         {
+               OUTYY(("P(view_response_ip_data:%s)\n", (yyvsp[-1].str)));
                if(!cfg_str2list_insert(
-                       &cfg_parser->cfg->views->respip_data, yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                       &cfg_parser->cfg->views->respip_data, (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip-data");
        }
- break;
- case 486:
- #line 2680 "./util/configparser.y"
-       {
-               OUTYY(("P(view_local_data:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->views->local_data, yystack.l_mark[0].str)) {
 -#line 5846 "util/configparser.c"
++#line 5919 "util/configparser.c"
+     break;
 -  case 512: /* view_local_data: VAR_LOCAL_DATA STRING_ARG  */
 -#line 2789 "./util/configparser.y"
++  case 520: /* view_local_data: VAR_LOCAL_DATA STRING_ARG  */
++#line 2832 "./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");
                }
        }
- break;
- case 487:
- #line 2688 "./util/configparser.y"
-       {
 -#line 5857 "util/configparser.c"
++#line 5930 "util/configparser.c"
+     break;
 -  case 513: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
 -#line 2797 "./util/configparser.y"
++  case 521: /* view_local_data_ptr: VAR_LOCAL_DATA_PTR STRING_ARG  */
++#line 2840 "./util/configparser.y"
+         {
                char* ptr;
-               OUTYY(("P(view_local_data_ptr:%s)\n", yystack.l_mark[0].str));
-               ptr = cfg_ptr_reverse(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].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");
                }
        }
- break;
- case 488:
- #line 2703 "./util/configparser.y"
-       {
-               OUTYY(("P(view-first:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5875 "util/configparser.c"
++#line 5948 "util/configparser.c"
+     break;
 -  case 514: /* view_first: VAR_VIEW_FIRST STRING_ARG  */
 -#line 2812 "./util/configparser.y"
++  case 522: /* view_first: VAR_VIEW_FIRST STRING_ARG  */
++#line 2855 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->views->isfirst=(strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 489:
- #line 2712 "./util/configparser.y"
-       { 
 -#line 5887 "util/configparser.c"
++#line 5960 "util/configparser.c"
+     break;
 -  case 515: /* rcstart: VAR_REMOTE_CONTROL  */
 -#line 2821 "./util/configparser.y"
++  case 523: /* rcstart: VAR_REMOTE_CONTROL  */
++#line 2864 "./util/configparser.y"
+         { 
                OUTYY(("\nP(remote-control:)\n")); 
        }
- break;
- case 500:
- #line 2723 "./util/configparser.y"
-       {
-               OUTYY(("P(control_enable:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5895 "util/configparser.c"
++#line 5968 "util/configparser.c"
+     break;
 -  case 526: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG  */
 -#line 2832 "./util/configparser.y"
++  case 534: /* rc_control_enable: VAR_CONTROL_ENABLE STRING_ARG  */
++#line 2875 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 501:
- #line 2733 "./util/configparser.y"
-       {
-               OUTYY(("P(control_port:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 5908 "util/configparser.c"
++#line 5981 "util/configparser.c"
+     break;
 -  case 527: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG  */
 -#line 2842 "./util/configparser.y"
++  case 535: /* rc_control_port: VAR_CONTROL_PORT STRING_ARG  */
++#line 2885 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->control_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 502:
- #line 2742 "./util/configparser.y"
-       {
-               OUTYY(("P(control_interface:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_append(&cfg_parser->cfg->control_ifs, yystack.l_mark[0].str))
 -#line 5920 "util/configparser.c"
++#line 5993 "util/configparser.c"
+     break;
 -  case 528: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG  */
 -#line 2851 "./util/configparser.y"
++  case 536: /* rc_control_interface: VAR_CONTROL_INTERFACE STRING_ARG  */
++#line 2894 "./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");
        }
- break;
- case 503:
- #line 2749 "./util/configparser.y"
-       {
-               OUTYY(("P(control_use_cert:%s)\n", yystack.l_mark[0].str));
-               cfg_parser->cfg->control_use_cert = (strcmp(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
 -#line 5930 "util/configparser.c"
++#line 6003 "util/configparser.c"
+     break;
 -  case 529: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG  */
 -#line 2858 "./util/configparser.y"
++  case 537: /* rc_control_use_cert: VAR_CONTROL_USE_CERT STRING_ARG  */
++#line 2901 "./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));
        }
- break;
- case 504:
- #line 2756 "./util/configparser.y"
-       {
-               OUTYY(("P(rc_server_key_file:%s)\n", yystack.l_mark[0].str));
 -#line 5940 "util/configparser.c"
++#line 6013 "util/configparser.c"
+     break;
 -  case 530: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG  */
 -#line 2865 "./util/configparser.y"
++  case 538: /* rc_server_key_file: VAR_SERVER_KEY_FILE STRING_ARG  */
++#line 2908 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->server_key_file = (yyvsp[0].str);
        }
- break;
- case 505:
- #line 2763 "./util/configparser.y"
-       {
-               OUTYY(("P(rc_server_cert_file:%s)\n", yystack.l_mark[0].str));
 -#line 5950 "util/configparser.c"
++#line 6023 "util/configparser.c"
+     break;
 -  case 531: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG  */
 -#line 2872 "./util/configparser.y"
++  case 539: /* rc_server_cert_file: VAR_SERVER_CERT_FILE STRING_ARG  */
++#line 2915 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->server_cert_file = (yyvsp[0].str);
        }
- break;
- case 506:
- #line 2770 "./util/configparser.y"
-       {
-               OUTYY(("P(rc_control_key_file:%s)\n", yystack.l_mark[0].str));
 -#line 5960 "util/configparser.c"
++#line 6033 "util/configparser.c"
+     break;
 -  case 532: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG  */
 -#line 2879 "./util/configparser.y"
++  case 540: /* rc_control_key_file: VAR_CONTROL_KEY_FILE STRING_ARG  */
++#line 2922 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->control_key_file = (yyvsp[0].str);
        }
- break;
- case 507:
- #line 2777 "./util/configparser.y"
-       {
-               OUTYY(("P(rc_control_cert_file:%s)\n", yystack.l_mark[0].str));
 -#line 5970 "util/configparser.c"
++#line 6043 "util/configparser.c"
+     break;
 -  case 533: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG  */
 -#line 2886 "./util/configparser.y"
++  case 541: /* rc_control_cert_file: VAR_CONTROL_CERT_FILE STRING_ARG  */
++#line 2929 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->control_cert_file = (yyvsp[0].str);
        }
- break;
- case 508:
- #line 2784 "./util/configparser.y"
-       {
 -#line 5980 "util/configparser.c"
++#line 6053 "util/configparser.c"
+     break;
 -  case 534: /* dtstart: VAR_DNSTAP  */
 -#line 2893 "./util/configparser.y"
++  case 542: /* dtstart: VAR_DNSTAP  */
++#line 2936 "./util/configparser.y"
+         {
                OUTYY(("\nP(dnstap:)\n"));
        }
- break;
- case 529:
- #line 2804 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_enable:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 5988 "util/configparser.c"
++#line 6061 "util/configparser.c"
+     break;
 -  case 556: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG  */
 -#line 2913 "./util/configparser.y"
++  case 564: /* dt_dnstap_enable: VAR_DNSTAP_ENABLE STRING_ARG  */
++#line 2956 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnstap = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 530:
- #line 2813 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_socket_path:%s)\n", yystack.l_mark[0].str));
 -#line 6000 "util/configparser.c"
++#line 6073 "util/configparser.c"
+     break;
 -  case 557: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG  */
 -#line 2922 "./util/configparser.y"
++  case 565: /* dt_dnstap_bidirectional: VAR_DNSTAP_BIDIRECTIONAL STRING_ARG  */
++#line 2965 "./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[0].str), "yes")==0);
+               free((yyvsp[0].str));
+       }
 -#line 6013 "util/configparser.c"
++#line 6086 "util/configparser.c"
+     break;
 -  case 558: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG  */
 -#line 2932 "./util/configparser.y"
++  case 566: /* dt_dnstap_socket_path: VAR_DNSTAP_SOCKET_PATH STRING_ARG  */
++#line 2975 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_socket_path = (yyvsp[0].str);
        }
- break;
- case 531:
- #line 2820 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_ip:%s)\n", yystack.l_mark[0].str));
 -#line 6023 "util/configparser.c"
++#line 6096 "util/configparser.c"
+     break;
 -  case 559: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG  */
 -#line 2939 "./util/configparser.y"
++  case 567: /* dt_dnstap_ip: VAR_DNSTAP_IP STRING_ARG  */
++#line 2982 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_ip:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_ip);
-               cfg_parser->cfg->dnstap_ip = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_ip = (yyvsp[0].str);
        }
- break;
- case 532:
- #line 2827 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_tls:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6033 "util/configparser.c"
++#line 6106 "util/configparser.c"
+     break;
 -  case 560: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG  */
 -#line 2946 "./util/configparser.y"
++  case 568: /* dt_dnstap_tls: VAR_DNSTAP_TLS STRING_ARG  */
++#line 2989 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnstap_tls = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 533:
- #line 2836 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_tls_server_name:%s)\n", yystack.l_mark[0].str));
 -#line 6045 "util/configparser.c"
++#line 6118 "util/configparser.c"
+     break;
 -  case 561: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG  */
 -#line 2955 "./util/configparser.y"
++  case 569: /* dt_dnstap_tls_server_name: VAR_DNSTAP_TLS_SERVER_NAME STRING_ARG  */
++#line 2998 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_tls_server_name = (yyvsp[0].str);
        }
- break;
- case 534:
- #line 2843 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_tls_cert_bundle:%s)\n", yystack.l_mark[0].str));
 -#line 6055 "util/configparser.c"
++#line 6128 "util/configparser.c"
+     break;
 -  case 562: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG  */
 -#line 2962 "./util/configparser.y"
++  case 570: /* dt_dnstap_tls_cert_bundle: VAR_DNSTAP_TLS_CERT_BUNDLE STRING_ARG  */
++#line 3005 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_tls_cert_bundle = (yyvsp[0].str);
        }
- break;
- case 535:
- #line 2850 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_tls_client_key_file:%s)\n", yystack.l_mark[0].str));
 -#line 6065 "util/configparser.c"
++#line 6138 "util/configparser.c"
+     break;
 -  case 563: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG  */
 -#line 2969 "./util/configparser.y"
++  case 571: /* dt_dnstap_tls_client_key_file: VAR_DNSTAP_TLS_CLIENT_KEY_FILE STRING_ARG  */
++#line 3012 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_tls_client_key_file = (yyvsp[0].str);
        }
- break;
- case 536:
- #line 2857 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_tls_client_cert_file:%s)\n", yystack.l_mark[0].str));
 -#line 6075 "util/configparser.c"
++#line 6148 "util/configparser.c"
+     break;
 -  case 564: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG  */
 -#line 2976 "./util/configparser.y"
++  case 572: /* dt_dnstap_tls_client_cert_file: VAR_DNSTAP_TLS_CLIENT_CERT_FILE STRING_ARG  */
++#line 3019 "./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 = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_tls_client_cert_file = (yyvsp[0].str);
        }
- break;
- case 537:
- #line 2864 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_send_identity:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6085 "util/configparser.c"
++#line 6158 "util/configparser.c"
+     break;
 -  case 565: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG  */
 -#line 2983 "./util/configparser.y"
++  case 573: /* dt_dnstap_send_identity: VAR_DNSTAP_SEND_IDENTITY STRING_ARG  */
++#line 3026 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnstap_send_identity = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 538:
- #line 2873 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_send_version:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6097 "util/configparser.c"
++#line 6170 "util/configparser.c"
+     break;
 -  case 566: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG  */
 -#line 2992 "./util/configparser.y"
++  case 574: /* dt_dnstap_send_version: VAR_DNSTAP_SEND_VERSION STRING_ARG  */
++#line 3035 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnstap_send_version = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 539:
- #line 2882 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_identity:%s)\n", yystack.l_mark[0].str));
 -#line 6109 "util/configparser.c"
++#line 6182 "util/configparser.c"
+     break;
 -  case 567: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG  */
 -#line 3001 "./util/configparser.y"
++  case 575: /* dt_dnstap_identity: VAR_DNSTAP_IDENTITY STRING_ARG  */
++#line 3044 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_identity);
-               cfg_parser->cfg->dnstap_identity = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_identity = (yyvsp[0].str);
        }
- break;
- case 540:
- #line 2889 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_version:%s)\n", yystack.l_mark[0].str));
 -#line 6119 "util/configparser.c"
++#line 6192 "util/configparser.c"
+     break;
 -  case 568: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG  */
 -#line 3008 "./util/configparser.y"
++  case 576: /* dt_dnstap_version: VAR_DNSTAP_VERSION STRING_ARG  */
++#line 3051 "./util/configparser.y"
+         {
+               OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnstap_version);
-               cfg_parser->cfg->dnstap_version = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnstap_version = (yyvsp[0].str);
        }
- break;
- case 541:
- #line 2896 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6129 "util/configparser.c"
++#line 6202 "util/configparser.c"
+     break;
 -  case 569: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG  */
 -#line 3015 "./util/configparser.y"
++  case 577: /* dt_dnstap_log_resolver_query_messages: VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES STRING_ARG  */
++#line 3058 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 542:
- #line 2906 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6142 "util/configparser.c"
++#line 6215 "util/configparser.c"
+     break;
 -  case 570: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG  */
 -#line 3025 "./util/configparser.y"
++  case 578: /* dt_dnstap_log_resolver_response_messages: VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES STRING_ARG  */
++#line 3068 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 543:
- #line 2916 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6155 "util/configparser.c"
++#line 6228 "util/configparser.c"
+     break;
 -  case 571: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG  */
 -#line 3035 "./util/configparser.y"
++  case 579: /* dt_dnstap_log_client_query_messages: VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES STRING_ARG  */
++#line 3078 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 544:
- #line 2926 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6168 "util/configparser.c"
++#line 6241 "util/configparser.c"
+     break;
 -  case 572: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG  */
 -#line 3045 "./util/configparser.y"
++  case 580: /* dt_dnstap_log_client_response_messages: VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES STRING_ARG  */
++#line 3088 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 545:
- #line 2936 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6181 "util/configparser.c"
++#line 6254 "util/configparser.c"
+     break;
 -  case 573: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG  */
 -#line 3055 "./util/configparser.y"
++  case 581: /* dt_dnstap_log_forwarder_query_messages: VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES STRING_ARG  */
++#line 3098 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 546:
- #line 2946 "./util/configparser.y"
-       {
-               OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6194 "util/configparser.c"
++#line 6267 "util/configparser.c"
+     break;
 -  case 574: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG  */
 -#line 3065 "./util/configparser.y"
++  case 582: /* dt_dnstap_log_forwarder_response_messages: VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES STRING_ARG  */
++#line 3108 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 547:
- #line 2956 "./util/configparser.y"
-       { 
 -#line 6207 "util/configparser.c"
++#line 6280 "util/configparser.c"
+     break;
 -  case 575: /* pythonstart: VAR_PYTHON  */
 -#line 3075 "./util/configparser.y"
++  case 583: /* pythonstart: VAR_PYTHON  */
++#line 3118 "./util/configparser.y"
+         { 
                OUTYY(("\nP(python:)\n")); 
        }
- break;
- case 551:
- #line 2965 "./util/configparser.y"
-       {
-               OUTYY(("P(python-script:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_append_ex(&cfg_parser->cfg->python_script, yystack.l_mark[0].str))
 -#line 6215 "util/configparser.c"
++#line 6288 "util/configparser.c"
+     break;
 -  case 579: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG  */
 -#line 3084 "./util/configparser.y"
++  case 587: /* py_script: VAR_PYTHON_SCRIPT STRING_ARG  */
++#line 3127 "./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");
        }
- break;
- case 552:
- #line 2971 "./util/configparser.y"
-       {
-               OUTYY(("P(disable_dnssec_lame_check:%s)\n", yystack.l_mark[0].str));
-               if (strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6225 "util/configparser.c"
++#line 6298 "util/configparser.c"
+     break;
 -  case 580: /* dynlibstart: VAR_DYNLIB  */
 -#line 3090 "./util/configparser.y"
++  case 588: /* dynlibstart: VAR_DYNLIB  */
++#line 3133 "./util/configparser.y"
+         { 
+               OUTYY(("\nP(dynlib:)\n")); 
+       }
 -#line 6233 "util/configparser.c"
++#line 6306 "util/configparser.c"
+     break;
 -  case 584: /* dl_file: VAR_DYNLIB_FILE STRING_ARG  */
 -#line 3099 "./util/configparser.y"
++  case 592: /* dl_file: VAR_DYNLIB_FILE STRING_ARG  */
++#line 3142 "./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 6243 "util/configparser.c"
++#line 6316 "util/configparser.c"
+     break;
 -  case 585: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG  */
 -#line 3105 "./util/configparser.y"
++  case 593: /* server_disable_dnssec_lame_check: VAR_DISABLE_DNSSEC_LAME_CHECK STRING_ARG  */
++#line 3148 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+                       (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 553:
- #line 2981 "./util/configparser.y"
-       {
-               OUTYY(("P(server_log_identity:%s)\n", yystack.l_mark[0].str));
 -#line 6256 "util/configparser.c"
++#line 6329 "util/configparser.c"
+     break;
 -  case 586: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG  */
 -#line 3115 "./util/configparser.y"
++  case 594: /* server_log_identity: VAR_LOG_IDENTITY STRING_ARG  */
++#line 3158 "./util/configparser.y"
+         {
+               OUTYY(("P(server_log_identity:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->log_identity);
-               cfg_parser->cfg->log_identity = yystack.l_mark[0].str;
+               cfg_parser->cfg->log_identity = (yyvsp[0].str);
        }
- break;
- case 554:
- #line 2988 "./util/configparser.y"
-       {
-               OUTYY(("P(server_response_ip:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               validate_respip_action(yystack.l_mark[0].str);
 -#line 6266 "util/configparser.c"
++#line 6339 "util/configparser.c"
+     break;
 -  case 587: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
 -#line 3122 "./util/configparser.y"
++  case 595: /* server_response_ip: VAR_RESPONSE_IP STRING_ARG STRING_ARG  */
++#line 3165 "./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,
-                       yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                       (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip");
        }
- break;
- case 555:
- #line 2997 "./util/configparser.y"
-       {
-               OUTYY(("P(server_response_ip_data:%s)\n", yystack.l_mark[-1].str));
 -#line 6278 "util/configparser.c"
++#line 6351 "util/configparser.c"
+     break;
 -  case 588: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
 -#line 3131 "./util/configparser.y"
++  case 596: /* server_response_ip_data: VAR_RESPONSE_IP_DATA STRING_ARG STRING_ARG  */
++#line 3174 "./util/configparser.y"
+         {
+               OUTYY(("P(server_response_ip_data:%s)\n", (yyvsp[-1].str)));
                if(!cfg_str2list_insert(&cfg_parser->cfg->respip_data,
-                       yystack.l_mark[-1].str, yystack.l_mark[0].str))
+                       (yyvsp[-1].str), (yyvsp[0].str)))
                        fatal_exit("out of memory adding response-ip-data");
        }
- break;
- case 556:
- #line 3005 "./util/configparser.y"
-       {
 -#line 6289 "util/configparser.c"
++#line 6362 "util/configparser.c"
+     break;
 -  case 589: /* dnscstart: VAR_DNSCRYPT  */
 -#line 3139 "./util/configparser.y"
++  case 597: /* dnscstart: VAR_DNSCRYPT  */
++#line 3182 "./util/configparser.y"
+         {
                OUTYY(("\nP(dnscrypt:)\n"));
        }
- break;
- case 569:
- #line 3021 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_enable:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].str, "no") != 0)
 -#line 6297 "util/configparser.c"
++#line 6370 "util/configparser.c"
+     break;
 -  case 602: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG  */
 -#line 3155 "./util/configparser.y"
++  case 610: /* dnsc_dnscrypt_enable: VAR_DNSCRYPT_ENABLE STRING_ARG  */
++#line 3198 "./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(yystack.l_mark[0].str, "yes")==0);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnscrypt = (strcmp((yyvsp[0].str), "yes")==0);
+               free((yyvsp[0].str));
        }
- break;
- case 570:
- #line 3031 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_port:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].str) == 0)
 -#line 6309 "util/configparser.c"
++#line 6382 "util/configparser.c"
+     break;
 -  case 603: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG  */
 -#line 3165 "./util/configparser.y"
++  case 611: /* dnsc_dnscrypt_port: VAR_DNSCRYPT_PORT STRING_ARG  */
++#line 3208 "./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(yystack.l_mark[0].str);
-               free(yystack.l_mark[0].str);
+               else cfg_parser->cfg->dnscrypt_port = atoi((yyvsp[0].str));
+               free((yyvsp[0].str));
        }
- break;
- case 571:
- #line 3040 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", yystack.l_mark[0].str));
 -#line 6321 "util/configparser.c"
++#line 6394 "util/configparser.c"
+     break;
 -  case 604: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG  */
 -#line 3174 "./util/configparser.y"
++  case 612: /* dnsc_dnscrypt_provider: VAR_DNSCRYPT_PROVIDER STRING_ARG  */
++#line 3217 "./util/configparser.y"
+         {
+               OUTYY(("P(dnsc_dnscrypt_provider:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->dnscrypt_provider);
-               cfg_parser->cfg->dnscrypt_provider = yystack.l_mark[0].str;
+               cfg_parser->cfg->dnscrypt_provider = (yyvsp[0].str);
        }
- break;
- case 572:
- #line 3047 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_provider_cert:%s)\n", yystack.l_mark[0].str));
-               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_provider_cert, yystack.l_mark[0].str))
-                       log_warn("dnscrypt-provider-cert %s is a duplicate", yystack.l_mark[0].str);
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert, yystack.l_mark[0].str))
 -#line 6331 "util/configparser.c"
++#line 6404 "util/configparser.c"
+     break;
 -  case 605: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG  */
 -#line 3181 "./util/configparser.y"
++  case 613: /* dnsc_dnscrypt_provider_cert: VAR_DNSCRYPT_PROVIDER_CERT STRING_ARG  */
++#line 3224 "./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");
        }
- break;
- case 573:
- #line 3056 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_provider_cert_rotated:%s)\n", yystack.l_mark[0].str));
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_provider_cert_rotated, yystack.l_mark[0].str))
 -#line 6343 "util/configparser.c"
++#line 6416 "util/configparser.c"
+     break;
 -  case 606: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG  */
 -#line 3190 "./util/configparser.y"
++  case 614: /* dnsc_dnscrypt_provider_cert_rotated: VAR_DNSCRYPT_PROVIDER_CERT_ROTATED STRING_ARG  */
++#line 3233 "./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");
        }
- break;
- case 574:
- #line 3063 "./util/configparser.y"
-       {
-               OUTYY(("P(dnsc_dnscrypt_secret_key:%s)\n", yystack.l_mark[0].str));
-               if(cfg_strlist_find(cfg_parser->cfg->dnscrypt_secret_key, yystack.l_mark[0].str))
-                       log_warn("dnscrypt-secret-key: %s is a duplicate", yystack.l_mark[0].str);
-               if(!cfg_strlist_insert(&cfg_parser->cfg->dnscrypt_secret_key, yystack.l_mark[0].str))
 -#line 6353 "util/configparser.c"
++#line 6426 "util/configparser.c"
+     break;
 -  case 607: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG  */
 -#line 3197 "./util/configparser.y"
++  case 615: /* dnsc_dnscrypt_secret_key: VAR_DNSCRYPT_SECRET_KEY STRING_ARG  */
++#line 3240 "./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");
        }
- break;
- case 575:
- #line 3072 "./util/configparser.y"
-       {
-       OUTYY(("P(dnscrypt_shared_secret_cache_size:%s)\n", yystack.l_mark[0].str));
-       if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->dnscrypt_shared_secret_cache_size))
 -#line 6365 "util/configparser.c"
++#line 6438 "util/configparser.c"
+     break;
 -  case 608: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG  */
 -#line 3206 "./util/configparser.y"
++  case 616: /* dnsc_dnscrypt_shared_secret_cache_size: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE STRING_ARG  */
++#line 3249 "./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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 576:
- #line 3080 "./util/configparser.y"
-       {
-       OUTYY(("P(dnscrypt_shared_secret_cache_slabs:%s)\n", yystack.l_mark[0].str));
-       if(atoi(yystack.l_mark[0].str) == 0)
 -#line 6376 "util/configparser.c"
++#line 6449 "util/configparser.c"
+     break;
 -  case 609: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG  */
 -#line 3214 "./util/configparser.y"
++  case 617: /* dnsc_dnscrypt_shared_secret_cache_slabs: VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS STRING_ARG  */
++#line 3257 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 577:
- #line 3093 "./util/configparser.y"
-       {
-       OUTYY(("P(dnscrypt_nonce_cache_size:%s)\n", yystack.l_mark[0].str));
-       if(!cfg_parse_memsize(yystack.l_mark[0].str, &cfg_parser->cfg->dnscrypt_nonce_cache_size))
 -#line 6392 "util/configparser.c"
++#line 6465 "util/configparser.c"
+     break;
 -  case 610: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG  */
 -#line 3227 "./util/configparser.y"
++  case 618: /* dnsc_dnscrypt_nonce_cache_size: VAR_DNSCRYPT_NONCE_CACHE_SIZE STRING_ARG  */
++#line 3270 "./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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 578:
- #line 3101 "./util/configparser.y"
-       {
-       OUTYY(("P(dnscrypt_nonce_cache_slabs:%s)\n", yystack.l_mark[0].str));
-       if(atoi(yystack.l_mark[0].str) == 0)
 -#line 6403 "util/configparser.c"
++#line 6476 "util/configparser.c"
+     break;
 -  case 611: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG  */
 -#line 3235 "./util/configparser.y"
++  case 619: /* dnsc_dnscrypt_nonce_cache_slabs: VAR_DNSCRYPT_NONCE_CACHE_SLABS STRING_ARG  */
++#line 3278 "./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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+       free((yyvsp[0].str));
    }
- break;
- case 579:
- #line 3114 "./util/configparser.y"
-       {
 -#line 6419 "util/configparser.c"
++#line 6492 "util/configparser.c"
+     break;
 -  case 612: /* cachedbstart: VAR_CACHEDB  */
 -#line 3248 "./util/configparser.y"
++  case 620: /* cachedbstart: VAR_CACHEDB  */
++#line 3291 "./util/configparser.y"
+         {
                OUTYY(("\nP(cachedb:)\n"));
        }
- break;
- case 588:
- #line 3125 "./util/configparser.y"
-       {
 -#line 6427 "util/configparser.c"
++#line 6500 "util/configparser.c"
+     break;
 -  case 621: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG  */
 -#line 3259 "./util/configparser.y"
++  case 629: /* cachedb_backend_name: VAR_CACHEDB_BACKEND STRING_ARG  */
++#line 3302 "./util/configparser.y"
+         {
        #ifdef USE_CACHEDB
-               OUTYY(("P(backend:%s)\n", yystack.l_mark[0].str));
+               OUTYY(("P(backend:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->cachedb_backend);
-               cfg_parser->cfg->cachedb_backend = yystack.l_mark[0].str;
+               cfg_parser->cfg->cachedb_backend = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb, ignoring)\n"));
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 589:
- #line 3137 "./util/configparser.y"
-       {
 -#line 6442 "util/configparser.c"
++#line 6515 "util/configparser.c"
+     break;
 -  case 622: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG  */
 -#line 3271 "./util/configparser.y"
++  case 630: /* cachedb_secret_seed: VAR_CACHEDB_SECRETSEED STRING_ARG  */
++#line 3314 "./util/configparser.y"
+         {
        #ifdef USE_CACHEDB
-               OUTYY(("P(secret-seed:%s)\n", yystack.l_mark[0].str));
+               OUTYY(("P(secret-seed:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->cachedb_secret);
-               cfg_parser->cfg->cachedb_secret = yystack.l_mark[0].str;
+               cfg_parser->cfg->cachedb_secret = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb, ignoring)\n"));
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 590:
- #line 3149 "./util/configparser.y"
-       {
 -#line 6457 "util/configparser.c"
++#line 6530 "util/configparser.c"
+     break;
 -  case 623: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG  */
 -#line 3283 "./util/configparser.y"
++  case 631: /* redis_server_host: VAR_CACHEDB_REDISHOST STRING_ARG  */
++#line 3326 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_server_host:%s)\n", yystack.l_mark[0].str));
+               OUTYY(("P(redis_server_host:%s)\n", (yyvsp[0].str)));
                free(cfg_parser->cfg->redis_server_host);
-               cfg_parser->cfg->redis_server_host = yystack.l_mark[0].str;
+               cfg_parser->cfg->redis_server_host = (yyvsp[0].str);
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        #endif
        }
- break;
- case 591:
- #line 3161 "./util/configparser.y"
-       {
 -#line 6472 "util/configparser.c"
++#line 6545 "util/configparser.c"
+     break;
 -  case 624: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG  */
 -#line 3295 "./util/configparser.y"
++  case 632: /* redis_server_port: VAR_CACHEDB_REDISPORT STRING_ARG  */
++#line 3338 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
                int port;
-               OUTYY(("P(redis_server_port:%s)\n", yystack.l_mark[0].str));
-               port = atoi(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 592:
- #line 3176 "./util/configparser.y"
-       {
 -#line 6490 "util/configparser.c"
++#line 6563 "util/configparser.c"
+     break;
 -  case 625: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG  */
 -#line 3310 "./util/configparser.y"
++  case 633: /* redis_timeout: VAR_CACHEDB_REDISTIMEOUT STRING_ARG  */
++#line 3353 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_timeout:%s)\n", yystack.l_mark[0].str));
-               if(atoi(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               else cfg_parser->cfg->redis_timeout = atoi((yyvsp[0].str));
        #else
                OUTYY(("P(Compiled without cachedb or redis, ignoring)\n"));
        #endif
-               free(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 593:
- #line 3189 "./util/configparser.y"
-       {
 -#line 6506 "util/configparser.c"
++#line 6579 "util/configparser.c"
+     break;
 -  case 626: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG  */
 -#line 3323 "./util/configparser.y"
++  case 634: /* redis_expire_records: VAR_CACHEDB_REDISEXPIRERECORDS STRING_ARG  */
++#line 3366 "./util/configparser.y"
+         {
        #if defined(USE_CACHEDB) && defined(USE_REDIS)
-               OUTYY(("P(redis_expire_records:%s)\n", yystack.l_mark[0].str));
-               if(strcmp(yystack.l_mark[0].str, "yes") != 0 && strcmp(yystack.l_mark[0].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(yystack.l_mark[0].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(yystack.l_mark[0].str);
+               free((yyvsp[0].str));
        }
- break;
- case 594:
- #line 3202 "./util/configparser.y"
-       {
-               OUTYY(("P(server_tcp_connection_limit:%s %s)\n", yystack.l_mark[-1].str, yystack.l_mark[0].str));
-               if (atoi(yystack.l_mark[0].str) < 0)
 -#line 6522 "util/configparser.c"
++#line 6595 "util/configparser.c"
+     break;
 -  case 627: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG  */
 -#line 3336 "./util/configparser.y"
++  case 635: /* server_tcp_connection_limit: VAR_TCP_CONNECTION_LIMIT STRING_ARG STRING_ARG  */
++#line 3379 "./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, yystack.l_mark[-1].str, yystack.l_mark[0].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");
                }
        }
- break;
- case 595:
- #line 3213 "./util/configparser.y"
-       {
 -#line 6536 "util/configparser.c"
++#line 6609 "util/configparser.c"
+     break;
 -  case 628: /* ipsetstart: VAR_IPSET  */
 -#line 3347 "./util/configparser.y"
++  case 636: /* ipsetstart: VAR_IPSET  */
++#line 3390 "./util/configparser.y"
+                 {
                        OUTYY(("\nP(ipset:)\n"));
                }
- break;
- case 600:
- #line 3222 "./util/configparser.y"
-       {
 -#line 6544 "util/configparser.c"
++#line 6617 "util/configparser.c"
+     break;
 -  case 633: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG  */
 -#line 3356 "./util/configparser.y"
++  case 641: /* ipset_name_v4: VAR_IPSET_NAME_V4 STRING_ARG  */
++#line 3399 "./util/configparser.y"
+                 {
                #ifdef USE_IPSET
-                       OUTYY(("P(name-v4:%s)\n", yystack.l_mark[0].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 = yystack.l_mark[0].str;
+                       cfg_parser->cfg->ipset_name_v4 = (yyvsp[0].str);
                #else
                        OUTYY(("P(Compiled without ipset, ignoring)\n"));
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[0].str));
                #endif
                }
- break;
- case 601:
- #line 3237 "./util/configparser.y"
-       {
 -#line 6562 "util/configparser.c"
++#line 6635 "util/configparser.c"
+     break;
 -  case 634: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG  */
 -#line 3371 "./util/configparser.y"
++  case 642: /* ipset_name_v6: VAR_IPSET_NAME_V6 STRING_ARG  */
++#line 3414 "./util/configparser.y"
+         {
                #ifdef USE_IPSET
-                       OUTYY(("P(name-v6:%s)\n", yystack.l_mark[0].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 = yystack.l_mark[0].str;
+                       cfg_parser->cfg->ipset_name_v6 = (yyvsp[0].str);
                #else
                        OUTYY(("P(Compiled without ipset, ignoring)\n"));
-                       free(yystack.l_mark[0].str);
+                       free((yyvsp[0].str));
                #endif
                }
- break;
- #line 5199 "util/configparser.c"
 -#line 6580 "util/configparser.c"
++#line 6653 "util/configparser.c"
+     break;
 -#line 6584 "util/configparser.c"
++#line 6657 "util/configparser.c"
+       default: break;
+     }
+   /* 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;
+   *++yyvsp = yyval;
+   /* Now 'shift' the result of the reduction.  Determine what state
+      that goes to, based on the state we popped back to and the rule
+      number reduced by.  */
+   {
+     const int yylhs = yyr1[yyn] - YYNTOKENS;
+     const int yyi = yypgoto[yylhs] + *yyssp;
+     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+                ? yytable[yyi]
+                : yydefgoto[yylhs]);
+   }
+   goto yynewstate;
+ /*--------------------------------------.
+ | yyerrlab -- here on detecting error.  |
+ `--------------------------------------*/
+ yyerrlab:
+   /* Make sure we have latest lookahead translation.  See comments at
+      user semantic actions for why this is necessary.  */
+   yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+   /* If not already recovering from an error, report this error.  */
+   if (!yyerrstatus)
+     {
+       ++yynerrs;
+       yyerror (YY_("syntax error"));
      }
-     yystack.s_mark -= yym;
-     yystate = *yystack.s_mark;
-     yystack.l_mark -= yym;
-     yym = yylhs[yyn];
-     if (yystate == 0 && yym == 0)
+   if (yyerrstatus == 3)
      {
- #if YYDEBUG
-         if (yydebug)
-             printf("%sdebug: after reduction, shifting from state 0 to\
-  state %d\n", YYPREFIX, YYFINAL);
- #endif
-         yystate = YYFINAL;
-         *++yystack.s_mark = YYFINAL;
-         *++yystack.l_mark = yyval;
-         if (yychar < 0)
+       /* If just tried and failed to reuse lookahead token after an
+          error, discard it.  */
+       if (yychar <= YYEOF)
          {
-             if ((yychar = YYLEX) < 0) yychar = YYEOF;
- #if YYDEBUG
-             if (yydebug)
+           /* Return failure if at end of input.  */
+           if (yychar == YYEOF)
+             YYABORT;
+         }
+       else
+         {
+           yydestruct ("Error: discarding",
+                       yytoken, &yylval);
+           yychar = YYEMPTY;
+         }
+     }
+   /* Else will try to reuse lookahead token after shifting the error
+      token.  */
+   goto yyerrlab1;
+ /*---------------------------------------------------.
+ | yyerrorlab -- error raised explicitly by YYERROR.  |
+ `---------------------------------------------------*/
+ yyerrorlab:
+   /* Pacify compilers when the user code never invokes YYERROR and the
+      label yyerrorlab therefore never appears in user code.  */
+   if (0)
+     YYERROR;
+   /* Do not reclaim the symbols of the rule whose action triggered
+      this YYERROR.  */
+   YYPOPSTACK (yylen);
+   yylen = 0;
+   YY_STACK_PRINT (yyss, yyssp);
+   yystate = *yyssp;
+   goto yyerrlab1;
+ /*-------------------------------------------------------------.
+ | yyerrlab1 -- common code for both syntax error and YYERROR.  |
+ `-------------------------------------------------------------*/
+ yyerrlab1:
+   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
+   /* Pop stack until we find a state that shifts the error token.  */
+   for (;;)
+     {
+       yyn = yypact[yystate];
+       if (!yypact_value_is_default (yyn))
+         {
+           yyn += YYSYMBOL_YYerror;
+           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
              {
-                 yys = yyname[YYTRANSLATE(yychar)];
-                 printf("%sdebug: state %d, reading %d (%s)\n",
-                         YYPREFIX, YYFINAL, yychar, yys);
+               yyn = yytable[yyn];
+               if (0 < yyn)
+                 break;
              }
- #endif
          }
-         if (yychar == YYEOF) goto yyaccept;
-         goto yyloop;
+       /* Pop the current state because it cannot handle the error token.  */
+       if (yyssp == yyss)
+         YYABORT;
+       yydestruct ("Error: popping",
+                   YY_ACCESSING_SYMBOL (yystate), yyvsp);
+       YYPOPSTACK (1);
+       yystate = *yyssp;
+       YY_STACK_PRINT (yyss, yyssp);
      }
-     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
-             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
-         yystate = yytable[yyn];
-     else
-         yystate = yydgoto[yym];
- #if YYDEBUG
-     if (yydebug)
-         printf("%sdebug: after reduction, shifting from state %d \
- to state %d\n", YYPREFIX, *yystack.s_mark, yystate);
+   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+   *++yyvsp = yylval;
+   YY_IGNORE_MAYBE_UNINITIALIZED_END
+   /* Shift the error token.  */
+   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+   yystate = yyn;
+   goto yynewstate;
+ /*-------------------------------------.
+ | yyacceptlab -- YYACCEPT comes here.  |
+ `-------------------------------------*/
+ yyacceptlab:
+   yyresult = 0;
+   goto yyreturn;
+ /*-----------------------------------.
+ | yyabortlab -- YYABORT comes here.  |
+ `-----------------------------------*/
+ yyabortlab:
+   yyresult = 1;
+   goto yyreturn;
+ #if !defined yyoverflow
+ /*-------------------------------------------------.
+ | yyexhaustedlab -- memory exhaustion comes here.  |
+ `-------------------------------------------------*/
+ yyexhaustedlab:
+   yyerror (YY_("memory exhausted"));
+   yyresult = 2;
+   goto yyreturn;
  #endif
-     if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
+ /*-------------------------------------------------------.
+ | yyreturn -- parsing is finished, clean up and return.  |
+ `-------------------------------------------------------*/
+ yyreturn:
+   if (yychar != YYEMPTY)
+     {
+       /* Make sure we have latest lookahead translation.  See comments at
+          user semantic actions for why this is necessary.  */
+       yytoken = YYTRANSLATE (yychar);
+       yydestruct ("Cleanup: discarding lookahead",
+                   yytoken, &yylval);
+     }
+   /* Do not reclaim the symbols of the rule whose action triggered
+      this YYABORT or YYACCEPT.  */
+   YYPOPSTACK (yylen);
+   YY_STACK_PRINT (yyss, yyssp);
+   while (yyssp != yyss)
      {
-         goto yyoverflow;
+       yydestruct ("Cleanup: popping",
+                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+       YYPOPSTACK (1);
      }
-     *++yystack.s_mark = (YYINT) yystate;
-     *++yystack.l_mark = yyval;
-     goto yyloop;
+ #ifndef yyoverflow
+   if (yyss != yyssa)
+     YYSTACK_FREE (yyss);
+ #endif
  
- yyoverflow:
-     YYERROR_CALL("yacc stack overflow");
+   return yyresult;
+ }
 -#line 3385 "./util/configparser.y"
++#line 3428 "./util/configparser.y"
  
- yyabort:
-     yyfreestack(&yystack);
-     return (1);
  
- yyaccept:
-     yyfreestack(&yystack);
-     return (0);
+ /* parse helper routines could be here */
+ static void
+ validate_respip_action(const char* action)
+ {
+       if(strcmp(action, "deny")!=0 &&
+               strcmp(action, "redirect")!=0 &&
+               strcmp(action, "inform")!=0 &&
+               strcmp(action, "inform_deny")!=0 &&
+               strcmp(action, "always_transparent")!=0 &&
+               strcmp(action, "always_refuse")!=0 &&
+               strcmp(action, "always_nxdomain")!=0)
+       {
+               yyerror("response-ip action: expected deny, redirect, "
+                       "inform, inform_deny, always_transparent, "
+                       "always_refuse or always_nxdomain");
+       }
  }
index 9f42995bc3c093d4c782678bd60449b405fa6f57,0e82fd03d0fd73374223344bd03005937a37135e..02428a1a51966d52c7c9349f3aca5a1cee8efb0e
- #define SPACE 257
- #define LETTER 258
- #define NEWLINE 259
- #define COMMENT 260
- #define COLON 261
- #define ANY 262
- #define ZONESTR 263
- #define STRING_ARG 264
- #define VAR_SERVER 265
- #define VAR_VERBOSITY 266
- #define VAR_NUM_THREADS 267
- #define VAR_PORT 268
- #define VAR_OUTGOING_RANGE 269
- #define VAR_INTERFACE 270
- #define VAR_PREFER_IP4 271
- #define VAR_DO_IP4 272
- #define VAR_DO_IP6 273
- #define VAR_PREFER_IP6 274
- #define VAR_DO_UDP 275
- #define VAR_DO_TCP 276
- #define VAR_TCP_MSS 277
- #define VAR_OUTGOING_TCP_MSS 278
- #define VAR_TCP_IDLE_TIMEOUT 279
- #define VAR_EDNS_TCP_KEEPALIVE 280
- #define VAR_EDNS_TCP_KEEPALIVE_TIMEOUT 281
- #define VAR_CHROOT 282
- #define VAR_USERNAME 283
- #define VAR_DIRECTORY 284
- #define VAR_LOGFILE 285
- #define VAR_PIDFILE 286
- #define VAR_MSG_CACHE_SIZE 287
- #define VAR_MSG_CACHE_SLABS 288
- #define VAR_NUM_QUERIES_PER_THREAD 289
- #define VAR_RRSET_CACHE_SIZE 290
- #define VAR_RRSET_CACHE_SLABS 291
- #define VAR_OUTGOING_NUM_TCP 292
- #define VAR_INFRA_HOST_TTL 293
- #define VAR_INFRA_LAME_TTL 294
- #define VAR_INFRA_CACHE_SLABS 295
- #define VAR_INFRA_CACHE_NUMHOSTS 296
- #define VAR_INFRA_CACHE_LAME_SIZE 297
- #define VAR_NAME 298
- #define VAR_STUB_ZONE 299
- #define VAR_STUB_HOST 300
- #define VAR_STUB_ADDR 301
- #define VAR_TARGET_FETCH_POLICY 302
- #define VAR_HARDEN_SHORT_BUFSIZE 303
- #define VAR_HARDEN_LARGE_QUERIES 304
- #define VAR_FORWARD_ZONE 305
- #define VAR_FORWARD_HOST 306
- #define VAR_FORWARD_ADDR 307
- #define VAR_DO_NOT_QUERY_ADDRESS 308
- #define VAR_HIDE_IDENTITY 309
- #define VAR_HIDE_VERSION 310
- #define VAR_IDENTITY 311
- #define VAR_VERSION 312
- #define VAR_HARDEN_GLUE 313
- #define VAR_MODULE_CONF 314
- #define VAR_TRUST_ANCHOR_FILE 315
- #define VAR_TRUST_ANCHOR 316
- #define VAR_VAL_OVERRIDE_DATE 317
- #define VAR_BOGUS_TTL 318
- #define VAR_VAL_CLEAN_ADDITIONAL 319
- #define VAR_VAL_PERMISSIVE_MODE 320
- #define VAR_INCOMING_NUM_TCP 321
- #define VAR_MSG_BUFFER_SIZE 322
- #define VAR_KEY_CACHE_SIZE 323
- #define VAR_KEY_CACHE_SLABS 324
- #define VAR_TRUSTED_KEYS_FILE 325
- #define VAR_VAL_NSEC3_KEYSIZE_ITERATIONS 326
- #define VAR_USE_SYSLOG 327
- #define VAR_OUTGOING_INTERFACE 328
- #define VAR_ROOT_HINTS 329
- #define VAR_DO_NOT_QUERY_LOCALHOST 330
- #define VAR_CACHE_MAX_TTL 331
- #define VAR_HARDEN_DNSSEC_STRIPPED 332
- #define VAR_ACCESS_CONTROL 333
- #define VAR_LOCAL_ZONE 334
- #define VAR_LOCAL_DATA 335
- #define VAR_INTERFACE_AUTOMATIC 336
- #define VAR_STATISTICS_INTERVAL 337
- #define VAR_DO_DAEMONIZE 338
- #define VAR_USE_CAPS_FOR_ID 339
- #define VAR_STATISTICS_CUMULATIVE 340
- #define VAR_OUTGOING_PORT_PERMIT 341
- #define VAR_OUTGOING_PORT_AVOID 342
- #define VAR_DLV_ANCHOR_FILE 343
- #define VAR_DLV_ANCHOR 344
- #define VAR_NEG_CACHE_SIZE 345
- #define VAR_HARDEN_REFERRAL_PATH 346
- #define VAR_PRIVATE_ADDRESS 347
- #define VAR_PRIVATE_DOMAIN 348
- #define VAR_REMOTE_CONTROL 349
- #define VAR_CONTROL_ENABLE 350
- #define VAR_CONTROL_INTERFACE 351
- #define VAR_CONTROL_PORT 352
- #define VAR_SERVER_KEY_FILE 353
- #define VAR_SERVER_CERT_FILE 354
- #define VAR_CONTROL_KEY_FILE 355
- #define VAR_CONTROL_CERT_FILE 356
- #define VAR_CONTROL_USE_CERT 357
- #define VAR_EXTENDED_STATISTICS 358
- #define VAR_LOCAL_DATA_PTR 359
- #define VAR_JOSTLE_TIMEOUT 360
- #define VAR_STUB_PRIME 361
- #define VAR_UNWANTED_REPLY_THRESHOLD 362
- #define VAR_LOG_TIME_ASCII 363
- #define VAR_DOMAIN_INSECURE 364
- #define VAR_PYTHON 365
- #define VAR_PYTHON_SCRIPT 366
- #define VAR_VAL_SIG_SKEW_MIN 367
- #define VAR_VAL_SIG_SKEW_MAX 368
- #define VAR_CACHE_MIN_TTL 369
- #define VAR_VAL_LOG_LEVEL 370
- #define VAR_AUTO_TRUST_ANCHOR_FILE 371
- #define VAR_KEEP_MISSING 372
- #define VAR_ADD_HOLDDOWN 373
- #define VAR_DEL_HOLDDOWN 374
- #define VAR_SO_RCVBUF 375
- #define VAR_EDNS_BUFFER_SIZE 376
- #define VAR_PREFETCH 377
- #define VAR_PREFETCH_KEY 378
- #define VAR_SO_SNDBUF 379
- #define VAR_SO_REUSEPORT 380
- #define VAR_HARDEN_BELOW_NXDOMAIN 381
- #define VAR_IGNORE_CD_FLAG 382
- #define VAR_LOG_QUERIES 383
- #define VAR_LOG_REPLIES 384
- #define VAR_LOG_LOCAL_ACTIONS 385
- #define VAR_TCP_UPSTREAM 386
- #define VAR_SSL_UPSTREAM 387
- #define VAR_SSL_SERVICE_KEY 388
- #define VAR_SSL_SERVICE_PEM 389
- #define VAR_SSL_PORT 390
- #define VAR_FORWARD_FIRST 391
- #define VAR_STUB_SSL_UPSTREAM 392
- #define VAR_FORWARD_SSL_UPSTREAM 393
- #define VAR_TLS_CERT_BUNDLE 394
- #define VAR_STUB_FIRST 395
- #define VAR_MINIMAL_RESPONSES 396
- #define VAR_RRSET_ROUNDROBIN 397
- #define VAR_MAX_UDP_SIZE 398
- #define VAR_DELAY_CLOSE 399
- #define VAR_UNBLOCK_LAN_ZONES 400
- #define VAR_INSECURE_LAN_ZONES 401
- #define VAR_INFRA_CACHE_MIN_RTT 402
- #define VAR_DNS64_PREFIX 403
- #define VAR_DNS64_SYNTHALL 404
- #define VAR_DNS64_IGNORE_AAAA 405
- #define VAR_DNSTAP 406
- #define VAR_DNSTAP_ENABLE 407
- #define VAR_DNSTAP_SOCKET_PATH 408
- #define VAR_DNSTAP_IP 409
- #define VAR_DNSTAP_TLS 410
- #define VAR_DNSTAP_TLS_SERVER_NAME 411
- #define VAR_DNSTAP_TLS_CERT_BUNDLE 412
- #define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 413
- #define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 414
- #define VAR_DNSTAP_SEND_IDENTITY 415
- #define VAR_DNSTAP_SEND_VERSION 416
- #define VAR_DNSTAP_IDENTITY 417
- #define VAR_DNSTAP_VERSION 418
- #define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 419
- #define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 420
- #define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 421
- #define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 422
- #define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 423
- #define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 424
- #define VAR_RESPONSE_IP_TAG 425
- #define VAR_RESPONSE_IP 426
- #define VAR_RESPONSE_IP_DATA 427
- #define VAR_HARDEN_ALGO_DOWNGRADE 428
- #define VAR_IP_TRANSPARENT 429
- #define VAR_IP_DSCP 430
- #define VAR_DISABLE_DNSSEC_LAME_CHECK 431
- #define VAR_IP_RATELIMIT 432
- #define VAR_IP_RATELIMIT_SLABS 433
- #define VAR_IP_RATELIMIT_SIZE 434
- #define VAR_RATELIMIT 435
- #define VAR_RATELIMIT_SLABS 436
- #define VAR_RATELIMIT_SIZE 437
- #define VAR_RATELIMIT_FOR_DOMAIN 438
- #define VAR_RATELIMIT_BELOW_DOMAIN 439
- #define VAR_IP_RATELIMIT_FACTOR 440
- #define VAR_RATELIMIT_FACTOR 441
- #define VAR_SEND_CLIENT_SUBNET 442
- #define VAR_CLIENT_SUBNET_ZONE 443
- #define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 444
- #define VAR_CLIENT_SUBNET_OPCODE 445
- #define VAR_MAX_CLIENT_SUBNET_IPV4 446
- #define VAR_MAX_CLIENT_SUBNET_IPV6 447
- #define VAR_MIN_CLIENT_SUBNET_IPV4 448
- #define VAR_MIN_CLIENT_SUBNET_IPV6 449
- #define VAR_MAX_ECS_TREE_SIZE_IPV4 450
- #define VAR_MAX_ECS_TREE_SIZE_IPV6 451
- #define VAR_CAPS_WHITELIST 452
- #define VAR_CACHE_MAX_NEGATIVE_TTL 453
- #define VAR_PERMIT_SMALL_HOLDDOWN 454
- #define VAR_QNAME_MINIMISATION 455
- #define VAR_QNAME_MINIMISATION_STRICT 456
- #define VAR_IP_FREEBIND 457
- #define VAR_DEFINE_TAG 458
- #define VAR_LOCAL_ZONE_TAG 459
- #define VAR_ACCESS_CONTROL_TAG 460
- #define VAR_LOCAL_ZONE_OVERRIDE 461
- #define VAR_ACCESS_CONTROL_TAG_ACTION 462
- #define VAR_ACCESS_CONTROL_TAG_DATA 463
- #define VAR_VIEW 464
- #define VAR_ACCESS_CONTROL_VIEW 465
- #define VAR_VIEW_FIRST 466
- #define VAR_SERVE_EXPIRED 467
- #define VAR_SERVE_EXPIRED_TTL 468
- #define VAR_SERVE_EXPIRED_TTL_RESET 469
- #define VAR_SERVE_EXPIRED_REPLY_TTL 470
- #define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 471
- #define VAR_FAKE_DSA 472
- #define VAR_FAKE_SHA1 473
- #define VAR_LOG_IDENTITY 474
- #define VAR_HIDE_TRUSTANCHOR 475
- #define VAR_TRUST_ANCHOR_SIGNALING 476
- #define VAR_AGGRESSIVE_NSEC 477
- #define VAR_USE_SYSTEMD 478
- #define VAR_SHM_ENABLE 479
- #define VAR_SHM_KEY 480
- #define VAR_ROOT_KEY_SENTINEL 481
- #define VAR_DNSCRYPT 482
- #define VAR_DNSCRYPT_ENABLE 483
- #define VAR_DNSCRYPT_PORT 484
- #define VAR_DNSCRYPT_PROVIDER 485
- #define VAR_DNSCRYPT_SECRET_KEY 486
- #define VAR_DNSCRYPT_PROVIDER_CERT 487
- #define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 488
- #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 489
- #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 490
- #define VAR_DNSCRYPT_NONCE_CACHE_SIZE 491
- #define VAR_DNSCRYPT_NONCE_CACHE_SLABS 492
- #define VAR_PAD_RESPONSES 493
- #define VAR_PAD_RESPONSES_BLOCK_SIZE 494
- #define VAR_PAD_QUERIES 495
- #define VAR_PAD_QUERIES_BLOCK_SIZE 496
- #define VAR_IPSECMOD_ENABLED 497
- #define VAR_IPSECMOD_HOOK 498
- #define VAR_IPSECMOD_IGNORE_BOGUS 499
- #define VAR_IPSECMOD_MAX_TTL 500
- #define VAR_IPSECMOD_WHITELIST 501
- #define VAR_IPSECMOD_STRICT 502
- #define VAR_CACHEDB 503
- #define VAR_CACHEDB_BACKEND 504
- #define VAR_CACHEDB_SECRETSEED 505
- #define VAR_CACHEDB_REDISHOST 506
- #define VAR_CACHEDB_REDISPORT 507
- #define VAR_CACHEDB_REDISTIMEOUT 508
- #define VAR_CACHEDB_REDISEXPIRERECORDS 509
- #define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 510
- #define VAR_FOR_UPSTREAM 511
- #define VAR_AUTH_ZONE 512
- #define VAR_ZONEFILE 513
- #define VAR_MASTER 514
- #define VAR_URL 515
- #define VAR_FOR_DOWNSTREAM 516
- #define VAR_FALLBACK_ENABLED 517
- #define VAR_TLS_ADDITIONAL_PORT 518
- #define VAR_LOW_RTT 519
- #define VAR_LOW_RTT_PERMIL 520
- #define VAR_FAST_SERVER_PERMIL 521
- #define VAR_FAST_SERVER_NUM 522
- #define VAR_ALLOW_NOTIFY 523
- #define VAR_TLS_WIN_CERT 524
- #define VAR_TCP_CONNECTION_LIMIT 525
- #define VAR_FORWARD_NO_CACHE 526
- #define VAR_STUB_NO_CACHE 527
- #define VAR_LOG_SERVFAIL 528
- #define VAR_DENY_ANY 529
- #define VAR_UNKNOWN_SERVER_TIME_LIMIT 530
- #define VAR_LOG_TAG_QUERYREPLY 531
- #define VAR_STREAM_WAIT_SIZE 532
- #define VAR_TLS_CIPHERS 533
- #define VAR_TLS_CIPHERSUITES 534
- #define VAR_IPSET 535
- #define VAR_IPSET_NAME_V4 536
- #define VAR_IPSET_NAME_V6 537
- #define VAR_TLS_SESSION_TICKET_KEYS 538
- #define VAR_RPZ 539
- #define VAR_TAGS 540
- #define VAR_RPZ_ACTION_OVERRIDE 541
- #define VAR_RPZ_CNAME_OVERRIDE 542
- #define VAR_RPZ_LOG 543
- #define VAR_RPZ_LOG_NAME 544
- #ifdef YYSTYPE
- #undef  YYSTYPE_IS_DECLARED
- #define YYSTYPE_IS_DECLARED 1
+ /* A Bison parser, made by GNU Bison 3.7.  */
+ /* Bison interface for Yacc-like parsers in C
+    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+    Inc.
+    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 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
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    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, see <http://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
+    under terms of your choice, so long as that work isn't itself a
+    parser generator using the skeleton or a modified version thereof
+    as a parser skeleton.  Alternatively, if you modify or redistribute
+    the parser skeleton itself, you may (at your option) remove this
+    special exception, which will cause the skeleton and the resulting
+    Bison output files to be licensed under the GNU General Public
+    License without this special exception.
+    This special exception was added by the Free Software Foundation in
+    version 2.2 of Bison.  */
+ /* 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
- #ifndef YYSTYPE_IS_DECLARED
- #define YYSTYPE_IS_DECLARED 1
- typedef union {
+ #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_EXTENDED_STATISTICS = 360, /* VAR_EXTENDED_STATISTICS  */
+     VAR_LOCAL_DATA_PTR = 361,      /* VAR_LOCAL_DATA_PTR  */
+     VAR_JOSTLE_TIMEOUT = 362,      /* VAR_JOSTLE_TIMEOUT  */
+     VAR_STUB_PRIME = 363,          /* VAR_STUB_PRIME  */
+     VAR_UNWANTED_REPLY_THRESHOLD = 364, /* VAR_UNWANTED_REPLY_THRESHOLD  */
+     VAR_LOG_TIME_ASCII = 365,      /* VAR_LOG_TIME_ASCII  */
+     VAR_DOMAIN_INSECURE = 366,     /* VAR_DOMAIN_INSECURE  */
+     VAR_PYTHON = 367,              /* VAR_PYTHON  */
+     VAR_PYTHON_SCRIPT = 368,       /* VAR_PYTHON_SCRIPT  */
+     VAR_VAL_SIG_SKEW_MIN = 369,    /* VAR_VAL_SIG_SKEW_MIN  */
+     VAR_VAL_SIG_SKEW_MAX = 370,    /* VAR_VAL_SIG_SKEW_MAX  */
+     VAR_CACHE_MIN_TTL = 371,       /* VAR_CACHE_MIN_TTL  */
+     VAR_VAL_LOG_LEVEL = 372,       /* VAR_VAL_LOG_LEVEL  */
+     VAR_AUTO_TRUST_ANCHOR_FILE = 373, /* VAR_AUTO_TRUST_ANCHOR_FILE  */
+     VAR_KEEP_MISSING = 374,        /* VAR_KEEP_MISSING  */
+     VAR_ADD_HOLDDOWN = 375,        /* VAR_ADD_HOLDDOWN  */
+     VAR_DEL_HOLDDOWN = 376,        /* VAR_DEL_HOLDDOWN  */
+     VAR_SO_RCVBUF = 377,           /* VAR_SO_RCVBUF  */
+     VAR_EDNS_BUFFER_SIZE = 378,    /* VAR_EDNS_BUFFER_SIZE  */
+     VAR_PREFETCH = 379,            /* VAR_PREFETCH  */
+     VAR_PREFETCH_KEY = 380,        /* VAR_PREFETCH_KEY  */
+     VAR_SO_SNDBUF = 381,           /* VAR_SO_SNDBUF  */
+     VAR_SO_REUSEPORT = 382,        /* VAR_SO_REUSEPORT  */
+     VAR_HARDEN_BELOW_NXDOMAIN = 383, /* VAR_HARDEN_BELOW_NXDOMAIN  */
+     VAR_IGNORE_CD_FLAG = 384,      /* VAR_IGNORE_CD_FLAG  */
+     VAR_LOG_QUERIES = 385,         /* VAR_LOG_QUERIES  */
+     VAR_LOG_REPLIES = 386,         /* VAR_LOG_REPLIES  */
+     VAR_LOG_LOCAL_ACTIONS = 387,   /* VAR_LOG_LOCAL_ACTIONS  */
+     VAR_TCP_UPSTREAM = 388,        /* VAR_TCP_UPSTREAM  */
+     VAR_SSL_UPSTREAM = 389,        /* VAR_SSL_UPSTREAM  */
+     VAR_SSL_SERVICE_KEY = 390,     /* VAR_SSL_SERVICE_KEY  */
+     VAR_SSL_SERVICE_PEM = 391,     /* VAR_SSL_SERVICE_PEM  */
+     VAR_SSL_PORT = 392,            /* VAR_SSL_PORT  */
+     VAR_FORWARD_FIRST = 393,       /* VAR_FORWARD_FIRST  */
+     VAR_STUB_SSL_UPSTREAM = 394,   /* VAR_STUB_SSL_UPSTREAM  */
+     VAR_FORWARD_SSL_UPSTREAM = 395, /* VAR_FORWARD_SSL_UPSTREAM  */
+     VAR_TLS_CERT_BUNDLE = 396,     /* VAR_TLS_CERT_BUNDLE  */
+     VAR_HTTPS_PORT = 397,          /* VAR_HTTPS_PORT  */
+     VAR_HTTP_ENDPOINT = 398,       /* VAR_HTTP_ENDPOINT  */
+     VAR_HTTP_MAX_STREAMS = 399,    /* VAR_HTTP_MAX_STREAMS  */
+     VAR_HTTP_QUERY_BUFFER_SIZE = 400, /* VAR_HTTP_QUERY_BUFFER_SIZE  */
+     VAR_HTTP_RESPONSE_BUFFER_SIZE = 401, /* VAR_HTTP_RESPONSE_BUFFER_SIZE  */
+     VAR_HTTP_NODELAY = 402,        /* VAR_HTTP_NODELAY  */
+     VAR_HTTP_NOTLS_DOWNSTREAM = 403, /* VAR_HTTP_NOTLS_DOWNSTREAM  */
+     VAR_STUB_FIRST = 404,          /* VAR_STUB_FIRST  */
+     VAR_MINIMAL_RESPONSES = 405,   /* VAR_MINIMAL_RESPONSES  */
+     VAR_RRSET_ROUNDROBIN = 406,    /* VAR_RRSET_ROUNDROBIN  */
+     VAR_MAX_UDP_SIZE = 407,        /* VAR_MAX_UDP_SIZE  */
+     VAR_DELAY_CLOSE = 408,         /* VAR_DELAY_CLOSE  */
+     VAR_UDP_CONNECT = 409,         /* VAR_UDP_CONNECT  */
+     VAR_UNBLOCK_LAN_ZONES = 410,   /* VAR_UNBLOCK_LAN_ZONES  */
+     VAR_INSECURE_LAN_ZONES = 411,  /* VAR_INSECURE_LAN_ZONES  */
+     VAR_INFRA_CACHE_MIN_RTT = 412, /* VAR_INFRA_CACHE_MIN_RTT  */
+     VAR_INFRA_KEEP_PROBING = 413,  /* VAR_INFRA_KEEP_PROBING  */
+     VAR_DNS64_PREFIX = 414,        /* VAR_DNS64_PREFIX  */
+     VAR_DNS64_SYNTHALL = 415,      /* VAR_DNS64_SYNTHALL  */
+     VAR_DNS64_IGNORE_AAAA = 416,   /* VAR_DNS64_IGNORE_AAAA  */
+     VAR_DNSTAP = 417,              /* VAR_DNSTAP  */
+     VAR_DNSTAP_ENABLE = 418,       /* VAR_DNSTAP_ENABLE  */
+     VAR_DNSTAP_SOCKET_PATH = 419,  /* VAR_DNSTAP_SOCKET_PATH  */
+     VAR_DNSTAP_IP = 420,           /* VAR_DNSTAP_IP  */
+     VAR_DNSTAP_TLS = 421,          /* VAR_DNSTAP_TLS  */
+     VAR_DNSTAP_TLS_SERVER_NAME = 422, /* VAR_DNSTAP_TLS_SERVER_NAME  */
+     VAR_DNSTAP_TLS_CERT_BUNDLE = 423, /* VAR_DNSTAP_TLS_CERT_BUNDLE  */
+     VAR_DNSTAP_TLS_CLIENT_KEY_FILE = 424, /* VAR_DNSTAP_TLS_CLIENT_KEY_FILE  */
+     VAR_DNSTAP_TLS_CLIENT_CERT_FILE = 425, /* VAR_DNSTAP_TLS_CLIENT_CERT_FILE  */
+     VAR_DNSTAP_SEND_IDENTITY = 426, /* VAR_DNSTAP_SEND_IDENTITY  */
+     VAR_DNSTAP_SEND_VERSION = 427, /* VAR_DNSTAP_SEND_VERSION  */
+     VAR_DNSTAP_BIDIRECTIONAL = 428, /* VAR_DNSTAP_BIDIRECTIONAL  */
+     VAR_DNSTAP_IDENTITY = 429,     /* VAR_DNSTAP_IDENTITY  */
+     VAR_DNSTAP_VERSION = 430,      /* VAR_DNSTAP_VERSION  */
+     VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES = 431, /* VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES = 432, /* VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES  */
+     VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES = 433, /* VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES = 434, /* VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES  */
+     VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 435, /* VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES  */
+     VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 436, /* VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES  */
+     VAR_RESPONSE_IP_TAG = 437,     /* VAR_RESPONSE_IP_TAG  */
+     VAR_RESPONSE_IP = 438,         /* VAR_RESPONSE_IP  */
+     VAR_RESPONSE_IP_DATA = 439,    /* VAR_RESPONSE_IP_DATA  */
+     VAR_HARDEN_ALGO_DOWNGRADE = 440, /* VAR_HARDEN_ALGO_DOWNGRADE  */
+     VAR_IP_TRANSPARENT = 441,      /* VAR_IP_TRANSPARENT  */
+     VAR_IP_DSCP = 442,             /* VAR_IP_DSCP  */
+     VAR_DISABLE_DNSSEC_LAME_CHECK = 443, /* VAR_DISABLE_DNSSEC_LAME_CHECK  */
+     VAR_IP_RATELIMIT = 444,        /* VAR_IP_RATELIMIT  */
+     VAR_IP_RATELIMIT_SLABS = 445,  /* VAR_IP_RATELIMIT_SLABS  */
+     VAR_IP_RATELIMIT_SIZE = 446,   /* VAR_IP_RATELIMIT_SIZE  */
+     VAR_RATELIMIT = 447,           /* VAR_RATELIMIT  */
+     VAR_RATELIMIT_SLABS = 448,     /* VAR_RATELIMIT_SLABS  */
+     VAR_RATELIMIT_SIZE = 449,      /* VAR_RATELIMIT_SIZE  */
+     VAR_RATELIMIT_FOR_DOMAIN = 450, /* VAR_RATELIMIT_FOR_DOMAIN  */
+     VAR_RATELIMIT_BELOW_DOMAIN = 451, /* VAR_RATELIMIT_BELOW_DOMAIN  */
+     VAR_IP_RATELIMIT_FACTOR = 452, /* VAR_IP_RATELIMIT_FACTOR  */
+     VAR_RATELIMIT_FACTOR = 453,    /* VAR_RATELIMIT_FACTOR  */
+     VAR_SEND_CLIENT_SUBNET = 454,  /* VAR_SEND_CLIENT_SUBNET  */
+     VAR_CLIENT_SUBNET_ZONE = 455,  /* VAR_CLIENT_SUBNET_ZONE  */
+     VAR_CLIENT_SUBNET_ALWAYS_FORWARD = 456, /* VAR_CLIENT_SUBNET_ALWAYS_FORWARD  */
+     VAR_CLIENT_SUBNET_OPCODE = 457, /* VAR_CLIENT_SUBNET_OPCODE  */
+     VAR_MAX_CLIENT_SUBNET_IPV4 = 458, /* VAR_MAX_CLIENT_SUBNET_IPV4  */
+     VAR_MAX_CLIENT_SUBNET_IPV6 = 459, /* VAR_MAX_CLIENT_SUBNET_IPV6  */
+     VAR_MIN_CLIENT_SUBNET_IPV4 = 460, /* VAR_MIN_CLIENT_SUBNET_IPV4  */
+     VAR_MIN_CLIENT_SUBNET_IPV6 = 461, /* VAR_MIN_CLIENT_SUBNET_IPV6  */
+     VAR_MAX_ECS_TREE_SIZE_IPV4 = 462, /* VAR_MAX_ECS_TREE_SIZE_IPV4  */
+     VAR_MAX_ECS_TREE_SIZE_IPV6 = 463, /* VAR_MAX_ECS_TREE_SIZE_IPV6  */
+     VAR_CAPS_WHITELIST = 464,      /* VAR_CAPS_WHITELIST  */
+     VAR_CACHE_MAX_NEGATIVE_TTL = 465, /* VAR_CACHE_MAX_NEGATIVE_TTL  */
+     VAR_PERMIT_SMALL_HOLDDOWN = 466, /* VAR_PERMIT_SMALL_HOLDDOWN  */
+     VAR_QNAME_MINIMISATION = 467,  /* VAR_QNAME_MINIMISATION  */
+     VAR_QNAME_MINIMISATION_STRICT = 468, /* VAR_QNAME_MINIMISATION_STRICT  */
+     VAR_IP_FREEBIND = 469,         /* VAR_IP_FREEBIND  */
+     VAR_DEFINE_TAG = 470,          /* VAR_DEFINE_TAG  */
+     VAR_LOCAL_ZONE_TAG = 471,      /* VAR_LOCAL_ZONE_TAG  */
+     VAR_ACCESS_CONTROL_TAG = 472,  /* VAR_ACCESS_CONTROL_TAG  */
+     VAR_LOCAL_ZONE_OVERRIDE = 473, /* VAR_LOCAL_ZONE_OVERRIDE  */
+     VAR_ACCESS_CONTROL_TAG_ACTION = 474, /* VAR_ACCESS_CONTROL_TAG_ACTION  */
+     VAR_ACCESS_CONTROL_TAG_DATA = 475, /* VAR_ACCESS_CONTROL_TAG_DATA  */
+     VAR_VIEW = 476,                /* VAR_VIEW  */
+     VAR_ACCESS_CONTROL_VIEW = 477, /* VAR_ACCESS_CONTROL_VIEW  */
+     VAR_VIEW_FIRST = 478,          /* VAR_VIEW_FIRST  */
+     VAR_SERVE_EXPIRED = 479,       /* VAR_SERVE_EXPIRED  */
+     VAR_SERVE_EXPIRED_TTL = 480,   /* VAR_SERVE_EXPIRED_TTL  */
+     VAR_SERVE_EXPIRED_TTL_RESET = 481, /* VAR_SERVE_EXPIRED_TTL_RESET  */
+     VAR_SERVE_EXPIRED_REPLY_TTL = 482, /* VAR_SERVE_EXPIRED_REPLY_TTL  */
+     VAR_SERVE_EXPIRED_CLIENT_TIMEOUT = 483, /* VAR_SERVE_EXPIRED_CLIENT_TIMEOUT  */
+     VAR_FAKE_DSA = 484,            /* VAR_FAKE_DSA  */
+     VAR_FAKE_SHA1 = 485,           /* VAR_FAKE_SHA1  */
+     VAR_LOG_IDENTITY = 486,        /* VAR_LOG_IDENTITY  */
+     VAR_HIDE_TRUSTANCHOR = 487,    /* VAR_HIDE_TRUSTANCHOR  */
+     VAR_TRUST_ANCHOR_SIGNALING = 488, /* VAR_TRUST_ANCHOR_SIGNALING  */
+     VAR_AGGRESSIVE_NSEC = 489,     /* VAR_AGGRESSIVE_NSEC  */
+     VAR_USE_SYSTEMD = 490,         /* VAR_USE_SYSTEMD  */
+     VAR_SHM_ENABLE = 491,          /* VAR_SHM_ENABLE  */
+     VAR_SHM_KEY = 492,             /* VAR_SHM_KEY  */
+     VAR_ROOT_KEY_SENTINEL = 493,   /* VAR_ROOT_KEY_SENTINEL  */
+     VAR_DNSCRYPT = 494,            /* VAR_DNSCRYPT  */
+     VAR_DNSCRYPT_ENABLE = 495,     /* VAR_DNSCRYPT_ENABLE  */
+     VAR_DNSCRYPT_PORT = 496,       /* VAR_DNSCRYPT_PORT  */
+     VAR_DNSCRYPT_PROVIDER = 497,   /* VAR_DNSCRYPT_PROVIDER  */
+     VAR_DNSCRYPT_SECRET_KEY = 498, /* VAR_DNSCRYPT_SECRET_KEY  */
+     VAR_DNSCRYPT_PROVIDER_CERT = 499, /* VAR_DNSCRYPT_PROVIDER_CERT  */
+     VAR_DNSCRYPT_PROVIDER_CERT_ROTATED = 500, /* VAR_DNSCRYPT_PROVIDER_CERT_ROTATED  */
+     VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE = 501, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE  */
+     VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS = 502, /* VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS  */
+     VAR_DNSCRYPT_NONCE_CACHE_SIZE = 503, /* VAR_DNSCRYPT_NONCE_CACHE_SIZE  */
+     VAR_DNSCRYPT_NONCE_CACHE_SLABS = 504, /* VAR_DNSCRYPT_NONCE_CACHE_SLABS  */
 -    VAR_IPSECMOD_ENABLED = 505,    /* VAR_IPSECMOD_ENABLED  */
 -    VAR_IPSECMOD_HOOK = 506,       /* VAR_IPSECMOD_HOOK  */
 -    VAR_IPSECMOD_IGNORE_BOGUS = 507, /* VAR_IPSECMOD_IGNORE_BOGUS  */
 -    VAR_IPSECMOD_MAX_TTL = 508,    /* VAR_IPSECMOD_MAX_TTL  */
 -    VAR_IPSECMOD_WHITELIST = 509,  /* VAR_IPSECMOD_WHITELIST  */
 -    VAR_IPSECMOD_STRICT = 510,     /* VAR_IPSECMOD_STRICT  */
 -    VAR_CACHEDB = 511,             /* VAR_CACHEDB  */
 -    VAR_CACHEDB_BACKEND = 512,     /* VAR_CACHEDB_BACKEND  */
 -    VAR_CACHEDB_SECRETSEED = 513,  /* VAR_CACHEDB_SECRETSEED  */
 -    VAR_CACHEDB_REDISHOST = 514,   /* VAR_CACHEDB_REDISHOST  */
 -    VAR_CACHEDB_REDISPORT = 515,   /* VAR_CACHEDB_REDISPORT  */
 -    VAR_CACHEDB_REDISTIMEOUT = 516, /* VAR_CACHEDB_REDISTIMEOUT  */
 -    VAR_CACHEDB_REDISEXPIRERECORDS = 517, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
 -    VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 518, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
 -    VAR_FOR_UPSTREAM = 519,        /* VAR_FOR_UPSTREAM  */
 -    VAR_AUTH_ZONE = 520,           /* VAR_AUTH_ZONE  */
 -    VAR_ZONEFILE = 521,            /* VAR_ZONEFILE  */
 -    VAR_MASTER = 522,              /* VAR_MASTER  */
 -    VAR_URL = 523,                 /* VAR_URL  */
 -    VAR_FOR_DOWNSTREAM = 524,      /* VAR_FOR_DOWNSTREAM  */
 -    VAR_FALLBACK_ENABLED = 525,    /* VAR_FALLBACK_ENABLED  */
 -    VAR_TLS_ADDITIONAL_PORT = 526, /* VAR_TLS_ADDITIONAL_PORT  */
 -    VAR_LOW_RTT = 527,             /* VAR_LOW_RTT  */
 -    VAR_LOW_RTT_PERMIL = 528,      /* VAR_LOW_RTT_PERMIL  */
 -    VAR_FAST_SERVER_PERMIL = 529,  /* VAR_FAST_SERVER_PERMIL  */
 -    VAR_FAST_SERVER_NUM = 530,     /* VAR_FAST_SERVER_NUM  */
 -    VAR_ALLOW_NOTIFY = 531,        /* VAR_ALLOW_NOTIFY  */
 -    VAR_TLS_WIN_CERT = 532,        /* VAR_TLS_WIN_CERT  */
 -    VAR_TCP_CONNECTION_LIMIT = 533, /* VAR_TCP_CONNECTION_LIMIT  */
 -    VAR_FORWARD_NO_CACHE = 534,    /* VAR_FORWARD_NO_CACHE  */
 -    VAR_STUB_NO_CACHE = 535,       /* VAR_STUB_NO_CACHE  */
 -    VAR_LOG_SERVFAIL = 536,        /* VAR_LOG_SERVFAIL  */
 -    VAR_DENY_ANY = 537,            /* VAR_DENY_ANY  */
 -    VAR_UNKNOWN_SERVER_TIME_LIMIT = 538, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
 -    VAR_LOG_TAG_QUERYREPLY = 539,  /* VAR_LOG_TAG_QUERYREPLY  */
 -    VAR_STREAM_WAIT_SIZE = 540,    /* VAR_STREAM_WAIT_SIZE  */
 -    VAR_TLS_CIPHERS = 541,         /* VAR_TLS_CIPHERS  */
 -    VAR_TLS_CIPHERSUITES = 542,    /* VAR_TLS_CIPHERSUITES  */
 -    VAR_TLS_USE_SNI = 543,         /* VAR_TLS_USE_SNI  */
 -    VAR_IPSET = 544,               /* VAR_IPSET  */
 -    VAR_IPSET_NAME_V4 = 545,       /* VAR_IPSET_NAME_V4  */
 -    VAR_IPSET_NAME_V6 = 546,       /* VAR_IPSET_NAME_V6  */
 -    VAR_TLS_SESSION_TICKET_KEYS = 547, /* VAR_TLS_SESSION_TICKET_KEYS  */
 -    VAR_RPZ = 548,                 /* VAR_RPZ  */
 -    VAR_TAGS = 549,                /* VAR_TAGS  */
 -    VAR_RPZ_ACTION_OVERRIDE = 550, /* VAR_RPZ_ACTION_OVERRIDE  */
 -    VAR_RPZ_CNAME_OVERRIDE = 551,  /* VAR_RPZ_CNAME_OVERRIDE  */
 -    VAR_RPZ_LOG = 552,             /* VAR_RPZ_LOG  */
 -    VAR_RPZ_LOG_NAME = 553,        /* VAR_RPZ_LOG_NAME  */
 -    VAR_DYNLIB = 554,              /* VAR_DYNLIB  */
 -    VAR_DYNLIB_FILE = 555,         /* VAR_DYNLIB_FILE  */
 -    VAR_EDNS_CLIENT_STRING = 556,  /* VAR_EDNS_CLIENT_STRING  */
 -    VAR_EDNS_CLIENT_STRING_OPCODE = 557, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
 -    VAR_NSID = 558                 /* VAR_NSID  */
++    VAR_PAD_RESPONSES = 505,       /* VAR_PAD_RESPONSES  */
++    VAR_PAD_RESPONSES_BLOCK_SIZE = 506, /* VAR_PAD_RESPONSES_BLOCK_SIZE  */
++    VAR_PAD_QUERIES = 507,         /* VAR_PAD_QUERIES  */
++    VAR_PAD_QUERIES_BLOCK_SIZE = 508, /* VAR_PAD_QUERIES_BLOCK_SIZE  */
++    VAR_IPSECMOD_ENABLED = 509,    /* VAR_IPSECMOD_ENABLED  */
++    VAR_IPSECMOD_HOOK = 510,       /* VAR_IPSECMOD_HOOK  */
++    VAR_IPSECMOD_IGNORE_BOGUS = 511, /* VAR_IPSECMOD_IGNORE_BOGUS  */
++    VAR_IPSECMOD_MAX_TTL = 512,    /* VAR_IPSECMOD_MAX_TTL  */
++    VAR_IPSECMOD_WHITELIST = 513,  /* VAR_IPSECMOD_WHITELIST  */
++    VAR_IPSECMOD_STRICT = 514,     /* VAR_IPSECMOD_STRICT  */
++    VAR_CACHEDB = 515,             /* VAR_CACHEDB  */
++    VAR_CACHEDB_BACKEND = 516,     /* VAR_CACHEDB_BACKEND  */
++    VAR_CACHEDB_SECRETSEED = 517,  /* VAR_CACHEDB_SECRETSEED  */
++    VAR_CACHEDB_REDISHOST = 518,   /* VAR_CACHEDB_REDISHOST  */
++    VAR_CACHEDB_REDISPORT = 519,   /* VAR_CACHEDB_REDISPORT  */
++    VAR_CACHEDB_REDISTIMEOUT = 520, /* VAR_CACHEDB_REDISTIMEOUT  */
++    VAR_CACHEDB_REDISEXPIRERECORDS = 521, /* VAR_CACHEDB_REDISEXPIRERECORDS  */
++    VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM = 522, /* VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM  */
++    VAR_FOR_UPSTREAM = 523,        /* VAR_FOR_UPSTREAM  */
++    VAR_AUTH_ZONE = 524,           /* VAR_AUTH_ZONE  */
++    VAR_ZONEFILE = 525,            /* VAR_ZONEFILE  */
++    VAR_MASTER = 526,              /* VAR_MASTER  */
++    VAR_URL = 527,                 /* VAR_URL  */
++    VAR_FOR_DOWNSTREAM = 528,      /* VAR_FOR_DOWNSTREAM  */
++    VAR_FALLBACK_ENABLED = 529,    /* VAR_FALLBACK_ENABLED  */
++    VAR_TLS_ADDITIONAL_PORT = 530, /* VAR_TLS_ADDITIONAL_PORT  */
++    VAR_LOW_RTT = 531,             /* VAR_LOW_RTT  */
++    VAR_LOW_RTT_PERMIL = 532,      /* VAR_LOW_RTT_PERMIL  */
++    VAR_FAST_SERVER_PERMIL = 533,  /* VAR_FAST_SERVER_PERMIL  */
++    VAR_FAST_SERVER_NUM = 534,     /* VAR_FAST_SERVER_NUM  */
++    VAR_ALLOW_NOTIFY = 535,        /* VAR_ALLOW_NOTIFY  */
++    VAR_TLS_WIN_CERT = 536,        /* VAR_TLS_WIN_CERT  */
++    VAR_TCP_CONNECTION_LIMIT = 537, /* VAR_TCP_CONNECTION_LIMIT  */
++    VAR_FORWARD_NO_CACHE = 538,    /* VAR_FORWARD_NO_CACHE  */
++    VAR_STUB_NO_CACHE = 539,       /* VAR_STUB_NO_CACHE  */
++    VAR_LOG_SERVFAIL = 540,        /* VAR_LOG_SERVFAIL  */
++    VAR_DENY_ANY = 541,            /* VAR_DENY_ANY  */
++    VAR_UNKNOWN_SERVER_TIME_LIMIT = 542, /* VAR_UNKNOWN_SERVER_TIME_LIMIT  */
++    VAR_LOG_TAG_QUERYREPLY = 543,  /* VAR_LOG_TAG_QUERYREPLY  */
++    VAR_STREAM_WAIT_SIZE = 544,    /* VAR_STREAM_WAIT_SIZE  */
++    VAR_TLS_CIPHERS = 545,         /* VAR_TLS_CIPHERS  */
++    VAR_TLS_CIPHERSUITES = 546,    /* VAR_TLS_CIPHERSUITES  */
++    VAR_TLS_USE_SNI = 547,         /* VAR_TLS_USE_SNI  */
++    VAR_IPSET = 548,               /* VAR_IPSET  */
++    VAR_IPSET_NAME_V4 = 549,       /* VAR_IPSET_NAME_V4  */
++    VAR_IPSET_NAME_V6 = 550,       /* VAR_IPSET_NAME_V6  */
++    VAR_TLS_SESSION_TICKET_KEYS = 551, /* VAR_TLS_SESSION_TICKET_KEYS  */
++    VAR_RPZ = 552,                 /* VAR_RPZ  */
++    VAR_TAGS = 553,                /* VAR_TAGS  */
++    VAR_RPZ_ACTION_OVERRIDE = 554, /* VAR_RPZ_ACTION_OVERRIDE  */
++    VAR_RPZ_CNAME_OVERRIDE = 555,  /* VAR_RPZ_CNAME_OVERRIDE  */
++    VAR_RPZ_LOG = 556,             /* VAR_RPZ_LOG  */
++    VAR_RPZ_LOG_NAME = 557,        /* VAR_RPZ_LOG_NAME  */
++    VAR_DYNLIB = 558,              /* VAR_DYNLIB  */
++    VAR_DYNLIB_FILE = 559,         /* VAR_DYNLIB_FILE  */
++    VAR_EDNS_CLIENT_STRING = 560,  /* VAR_EDNS_CLIENT_STRING  */
++    VAR_EDNS_CLIENT_STRING_OPCODE = 561, /* VAR_EDNS_CLIENT_STRING_OPCODE  */
++    VAR_NSID = 562                 /* VAR_NSID  */
+   };
+   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_EXTENDED_STATISTICS 360
+ #define VAR_LOCAL_DATA_PTR 361
+ #define VAR_JOSTLE_TIMEOUT 362
+ #define VAR_STUB_PRIME 363
+ #define VAR_UNWANTED_REPLY_THRESHOLD 364
+ #define VAR_LOG_TIME_ASCII 365
+ #define VAR_DOMAIN_INSECURE 366
+ #define VAR_PYTHON 367
+ #define VAR_PYTHON_SCRIPT 368
+ #define VAR_VAL_SIG_SKEW_MIN 369
+ #define VAR_VAL_SIG_SKEW_MAX 370
+ #define VAR_CACHE_MIN_TTL 371
+ #define VAR_VAL_LOG_LEVEL 372
+ #define VAR_AUTO_TRUST_ANCHOR_FILE 373
+ #define VAR_KEEP_MISSING 374
+ #define VAR_ADD_HOLDDOWN 375
+ #define VAR_DEL_HOLDDOWN 376
+ #define VAR_SO_RCVBUF 377
+ #define VAR_EDNS_BUFFER_SIZE 378
+ #define VAR_PREFETCH 379
+ #define VAR_PREFETCH_KEY 380
+ #define VAR_SO_SNDBUF 381
+ #define VAR_SO_REUSEPORT 382
+ #define VAR_HARDEN_BELOW_NXDOMAIN 383
+ #define VAR_IGNORE_CD_FLAG 384
+ #define VAR_LOG_QUERIES 385
+ #define VAR_LOG_REPLIES 386
+ #define VAR_LOG_LOCAL_ACTIONS 387
+ #define VAR_TCP_UPSTREAM 388
+ #define VAR_SSL_UPSTREAM 389
+ #define VAR_SSL_SERVICE_KEY 390
+ #define VAR_SSL_SERVICE_PEM 391
+ #define VAR_SSL_PORT 392
+ #define VAR_FORWARD_FIRST 393
+ #define VAR_STUB_SSL_UPSTREAM 394
+ #define VAR_FORWARD_SSL_UPSTREAM 395
+ #define VAR_TLS_CERT_BUNDLE 396
+ #define VAR_HTTPS_PORT 397
+ #define VAR_HTTP_ENDPOINT 398
+ #define VAR_HTTP_MAX_STREAMS 399
+ #define VAR_HTTP_QUERY_BUFFER_SIZE 400
+ #define VAR_HTTP_RESPONSE_BUFFER_SIZE 401
+ #define VAR_HTTP_NODELAY 402
+ #define VAR_HTTP_NOTLS_DOWNSTREAM 403
+ #define VAR_STUB_FIRST 404
+ #define VAR_MINIMAL_RESPONSES 405
+ #define VAR_RRSET_ROUNDROBIN 406
+ #define VAR_MAX_UDP_SIZE 407
+ #define VAR_DELAY_CLOSE 408
+ #define VAR_UDP_CONNECT 409
+ #define VAR_UNBLOCK_LAN_ZONES 410
+ #define VAR_INSECURE_LAN_ZONES 411
+ #define VAR_INFRA_CACHE_MIN_RTT 412
+ #define VAR_INFRA_KEEP_PROBING 413
+ #define VAR_DNS64_PREFIX 414
+ #define VAR_DNS64_SYNTHALL 415
+ #define VAR_DNS64_IGNORE_AAAA 416
+ #define VAR_DNSTAP 417
+ #define VAR_DNSTAP_ENABLE 418
+ #define VAR_DNSTAP_SOCKET_PATH 419
+ #define VAR_DNSTAP_IP 420
+ #define VAR_DNSTAP_TLS 421
+ #define VAR_DNSTAP_TLS_SERVER_NAME 422
+ #define VAR_DNSTAP_TLS_CERT_BUNDLE 423
+ #define VAR_DNSTAP_TLS_CLIENT_KEY_FILE 424
+ #define VAR_DNSTAP_TLS_CLIENT_CERT_FILE 425
+ #define VAR_DNSTAP_SEND_IDENTITY 426
+ #define VAR_DNSTAP_SEND_VERSION 427
+ #define VAR_DNSTAP_BIDIRECTIONAL 428
+ #define VAR_DNSTAP_IDENTITY 429
+ #define VAR_DNSTAP_VERSION 430
+ #define VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES 431
+ #define VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES 432
+ #define VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES 433
+ #define VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES 434
+ #define VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES 435
+ #define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 436
+ #define VAR_RESPONSE_IP_TAG 437
+ #define VAR_RESPONSE_IP 438
+ #define VAR_RESPONSE_IP_DATA 439
+ #define VAR_HARDEN_ALGO_DOWNGRADE 440
+ #define VAR_IP_TRANSPARENT 441
+ #define VAR_IP_DSCP 442
+ #define VAR_DISABLE_DNSSEC_LAME_CHECK 443
+ #define VAR_IP_RATELIMIT 444
+ #define VAR_IP_RATELIMIT_SLABS 445
+ #define VAR_IP_RATELIMIT_SIZE 446
+ #define VAR_RATELIMIT 447
+ #define VAR_RATELIMIT_SLABS 448
+ #define VAR_RATELIMIT_SIZE 449
+ #define VAR_RATELIMIT_FOR_DOMAIN 450
+ #define VAR_RATELIMIT_BELOW_DOMAIN 451
+ #define VAR_IP_RATELIMIT_FACTOR 452
+ #define VAR_RATELIMIT_FACTOR 453
+ #define VAR_SEND_CLIENT_SUBNET 454
+ #define VAR_CLIENT_SUBNET_ZONE 455
+ #define VAR_CLIENT_SUBNET_ALWAYS_FORWARD 456
+ #define VAR_CLIENT_SUBNET_OPCODE 457
+ #define VAR_MAX_CLIENT_SUBNET_IPV4 458
+ #define VAR_MAX_CLIENT_SUBNET_IPV6 459
+ #define VAR_MIN_CLIENT_SUBNET_IPV4 460
+ #define VAR_MIN_CLIENT_SUBNET_IPV6 461
+ #define VAR_MAX_ECS_TREE_SIZE_IPV4 462
+ #define VAR_MAX_ECS_TREE_SIZE_IPV6 463
+ #define VAR_CAPS_WHITELIST 464
+ #define VAR_CACHE_MAX_NEGATIVE_TTL 465
+ #define VAR_PERMIT_SMALL_HOLDDOWN 466
+ #define VAR_QNAME_MINIMISATION 467
+ #define VAR_QNAME_MINIMISATION_STRICT 468
+ #define VAR_IP_FREEBIND 469
+ #define VAR_DEFINE_TAG 470
+ #define VAR_LOCAL_ZONE_TAG 471
+ #define VAR_ACCESS_CONTROL_TAG 472
+ #define VAR_LOCAL_ZONE_OVERRIDE 473
+ #define VAR_ACCESS_CONTROL_TAG_ACTION 474
+ #define VAR_ACCESS_CONTROL_TAG_DATA 475
+ #define VAR_VIEW 476
+ #define VAR_ACCESS_CONTROL_VIEW 477
+ #define VAR_VIEW_FIRST 478
+ #define VAR_SERVE_EXPIRED 479
+ #define VAR_SERVE_EXPIRED_TTL 480
+ #define VAR_SERVE_EXPIRED_TTL_RESET 481
+ #define VAR_SERVE_EXPIRED_REPLY_TTL 482
+ #define VAR_SERVE_EXPIRED_CLIENT_TIMEOUT 483
+ #define VAR_FAKE_DSA 484
+ #define VAR_FAKE_SHA1 485
+ #define VAR_LOG_IDENTITY 486
+ #define VAR_HIDE_TRUSTANCHOR 487
+ #define VAR_TRUST_ANCHOR_SIGNALING 488
+ #define VAR_AGGRESSIVE_NSEC 489
+ #define VAR_USE_SYSTEMD 490
+ #define VAR_SHM_ENABLE 491
+ #define VAR_SHM_KEY 492
+ #define VAR_ROOT_KEY_SENTINEL 493
+ #define VAR_DNSCRYPT 494
+ #define VAR_DNSCRYPT_ENABLE 495
+ #define VAR_DNSCRYPT_PORT 496
+ #define VAR_DNSCRYPT_PROVIDER 497
+ #define VAR_DNSCRYPT_SECRET_KEY 498
+ #define VAR_DNSCRYPT_PROVIDER_CERT 499
+ #define VAR_DNSCRYPT_PROVIDER_CERT_ROTATED 500
+ #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE 501
+ #define VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS 502
+ #define VAR_DNSCRYPT_NONCE_CACHE_SIZE 503
+ #define VAR_DNSCRYPT_NONCE_CACHE_SLABS 504
 -#define VAR_IPSECMOD_ENABLED 505
 -#define VAR_IPSECMOD_HOOK 506
 -#define VAR_IPSECMOD_IGNORE_BOGUS 507
 -#define VAR_IPSECMOD_MAX_TTL 508
 -#define VAR_IPSECMOD_WHITELIST 509
 -#define VAR_IPSECMOD_STRICT 510
 -#define VAR_CACHEDB 511
 -#define VAR_CACHEDB_BACKEND 512
 -#define VAR_CACHEDB_SECRETSEED 513
 -#define VAR_CACHEDB_REDISHOST 514
 -#define VAR_CACHEDB_REDISPORT 515
 -#define VAR_CACHEDB_REDISTIMEOUT 516
 -#define VAR_CACHEDB_REDISEXPIRERECORDS 517
 -#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 518
 -#define VAR_FOR_UPSTREAM 519
 -#define VAR_AUTH_ZONE 520
 -#define VAR_ZONEFILE 521
 -#define VAR_MASTER 522
 -#define VAR_URL 523
 -#define VAR_FOR_DOWNSTREAM 524
 -#define VAR_FALLBACK_ENABLED 525
 -#define VAR_TLS_ADDITIONAL_PORT 526
 -#define VAR_LOW_RTT 527
 -#define VAR_LOW_RTT_PERMIL 528
 -#define VAR_FAST_SERVER_PERMIL 529
 -#define VAR_FAST_SERVER_NUM 530
 -#define VAR_ALLOW_NOTIFY 531
 -#define VAR_TLS_WIN_CERT 532
 -#define VAR_TCP_CONNECTION_LIMIT 533
 -#define VAR_FORWARD_NO_CACHE 534
 -#define VAR_STUB_NO_CACHE 535
 -#define VAR_LOG_SERVFAIL 536
 -#define VAR_DENY_ANY 537
 -#define VAR_UNKNOWN_SERVER_TIME_LIMIT 538
 -#define VAR_LOG_TAG_QUERYREPLY 539
 -#define VAR_STREAM_WAIT_SIZE 540
 -#define VAR_TLS_CIPHERS 541
 -#define VAR_TLS_CIPHERSUITES 542
 -#define VAR_TLS_USE_SNI 543
 -#define VAR_IPSET 544
 -#define VAR_IPSET_NAME_V4 545
 -#define VAR_IPSET_NAME_V6 546
 -#define VAR_TLS_SESSION_TICKET_KEYS 547
 -#define VAR_RPZ 548
 -#define VAR_TAGS 549
 -#define VAR_RPZ_ACTION_OVERRIDE 550
 -#define VAR_RPZ_CNAME_OVERRIDE 551
 -#define VAR_RPZ_LOG 552
 -#define VAR_RPZ_LOG_NAME 553
 -#define VAR_DYNLIB 554
 -#define VAR_DYNLIB_FILE 555
 -#define VAR_EDNS_CLIENT_STRING 556
 -#define VAR_EDNS_CLIENT_STRING_OPCODE 557
 -#define VAR_NSID 558
++#define VAR_PAD_RESPONSES 505
++#define VAR_PAD_RESPONSES_BLOCK_SIZE 506
++#define VAR_PAD_QUERIES 507
++#define VAR_PAD_QUERIES_BLOCK_SIZE 508
++#define VAR_IPSECMOD_ENABLED 509
++#define VAR_IPSECMOD_HOOK 510
++#define VAR_IPSECMOD_IGNORE_BOGUS 511
++#define VAR_IPSECMOD_MAX_TTL 512
++#define VAR_IPSECMOD_WHITELIST 513
++#define VAR_IPSECMOD_STRICT 514
++#define VAR_CACHEDB 515
++#define VAR_CACHEDB_BACKEND 516
++#define VAR_CACHEDB_SECRETSEED 517
++#define VAR_CACHEDB_REDISHOST 518
++#define VAR_CACHEDB_REDISPORT 519
++#define VAR_CACHEDB_REDISTIMEOUT 520
++#define VAR_CACHEDB_REDISEXPIRERECORDS 521
++#define VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM 522
++#define VAR_FOR_UPSTREAM 523
++#define VAR_AUTH_ZONE 524
++#define VAR_ZONEFILE 525
++#define VAR_MASTER 526
++#define VAR_URL 527
++#define VAR_FOR_DOWNSTREAM 528
++#define VAR_FALLBACK_ENABLED 529
++#define VAR_TLS_ADDITIONAL_PORT 530
++#define VAR_LOW_RTT 531
++#define VAR_LOW_RTT_PERMIL 532
++#define VAR_FAST_SERVER_PERMIL 533
++#define VAR_FAST_SERVER_NUM 534
++#define VAR_ALLOW_NOTIFY 535
++#define VAR_TLS_WIN_CERT 536
++#define VAR_TCP_CONNECTION_LIMIT 537
++#define VAR_FORWARD_NO_CACHE 538
++#define VAR_STUB_NO_CACHE 539
++#define VAR_LOG_SERVFAIL 540
++#define VAR_DENY_ANY 541
++#define VAR_UNKNOWN_SERVER_TIME_LIMIT 542
++#define VAR_LOG_TAG_QUERYREPLY 543
++#define VAR_STREAM_WAIT_SIZE 544
++#define VAR_TLS_CIPHERS 545
++#define VAR_TLS_CIPHERSUITES 546
++#define VAR_TLS_USE_SNI 547
++#define VAR_IPSET 548
++#define VAR_IPSET_NAME_V4 549
++#define VAR_IPSET_NAME_V6 550
++#define VAR_TLS_SESSION_TICKET_KEYS 551
++#define VAR_RPZ 552
++#define VAR_TAGS 553
++#define VAR_RPZ_ACTION_OVERRIDE 554
++#define VAR_RPZ_CNAME_OVERRIDE 555
++#define VAR_RPZ_LOG 556
++#define VAR_RPZ_LOG_NAME 557
++#define VAR_DYNLIB 558
++#define VAR_DYNLIB_FILE 559
++#define VAR_EDNS_CLIENT_STRING 560
++#define VAR_EDNS_CLIENT_STRING_OPCODE 561
++#define VAR_NSID 562
+ /* Value type.  */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ union YYSTYPE
+ {
+ #line 66 "./util/configparser.y"
        char*   str;
- } YYSTYPE;
- #endif /* !YYSTYPE_IS_DECLARED */
 -#line 676 "util/configparser.h"
++#line 684 "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 a36a64b8fd7774170361339421e011c810aac96d,e2388f0f5d85433524cd51873159ce1e7e95b01d..b4e254cdbfe68c2897a4deb6977fb04c605a761a
@@@ -262,7 -274,7 +276,10 @@@ content_server: server_num_threads | se
        server_disable_dnssec_lame_check | server_access_control_tag |
        server_local_zone_override | server_access_control_tag_action |
        server_access_control_tag_data | server_access_control_view |
--      server_qname_minimisation_strict | server_serve_expired |
++      server_qname_minimisation_strict |
++      server_pad_responses | server_pad_responses_block_size |
++      server_pad_queries | server_pad_queries_block_size |
++      server_serve_expired |
        server_serve_expired_ttl | server_serve_expired_ttl_reset |
        server_serve_expired_reply_ttl | server_serve_expired_client_timeout |
        server_fake_dsa | server_log_identity | server_use_systemd |
Simple merge
Simple merge
diff --cc util/edns.c
index 8376fb1c5de2b7a5b79d688c0c0ea45a2d3e226c,bfb6d65cad441155b52e5c199e24956380bd690c..5d2121636f82697b2babbaac907454010c6f0002
@@@ -79,15 -160,10 +160,20 @@@ int apply_edns_options(struct edns_data
                !edns_keepalive(edns_out, edns_in, c, region))
                return 0;
  
+       if (cfg->nsid && edns_opt_list_find(edns_in->opt_list, LDNS_EDNS_NSID)
+       && !edns_opt_list_append(&edns_out->opt_list,
+                       LDNS_EDNS_NSID, cfg->nsid_len, cfg->nsid, region))
+               return 0;
 +      if(!cfg->pad_responses || c->type != comm_tcp || !c->ssl
 +      || !edns_opt_list_find(edns_in->opt_list, LDNS_EDNS_PADDING))
 +             ; /* pass */
 +
 +      else if(!edns_opt_list_append(&edns_out->opt_list, LDNS_EDNS_PADDING
 +                                                       , 0, NULL, region))
 +              return 0;
 +      else
 +              edns_out->padding_block_size = cfg->pad_responses_block_size;
 +
        return 1;
  }