aboutsummaryrefslogtreecommitdiff
path: root/external/unbound/util
diff options
context:
space:
mode:
Diffstat (limited to 'external/unbound/util')
-rw-r--r--external/unbound/util/config_file.c39
-rw-r--r--external/unbound/util/config_file.h17
-rw-r--r--external/unbound/util/configlexer.c2956
-rw-r--r--external/unbound/util/configlexer.lex8
-rw-r--r--external/unbound/util/configparser.c1334
-rw-r--r--external/unbound/util/configparser.h20
-rw-r--r--external/unbound/util/configparser.y94
-rw-r--r--external/unbound/util/data/msgparse.h2
-rw-r--r--external/unbound/util/data/msgreply.c29
-rw-r--r--external/unbound/util/fptr_wlist.c4
-rw-r--r--external/unbound/util/iana_ports.inc3
-rw-r--r--external/unbound/util/netevent.c8
12 files changed, 2481 insertions, 2033 deletions
diff --git a/external/unbound/util/config_file.c b/external/unbound/util/config_file.c
index 9c6b43cab..5d31301fa 100644
--- a/external/unbound/util/config_file.c
+++ b/external/unbound/util/config_file.c
@@ -56,6 +56,7 @@
#include "util/fptr_wlist.h"
#include "util/data/dname.h"
#include "util/rtt.h"
+#include "services/cache/infra.h"
#include "sldns/wire2str.h"
#include "sldns/parseutil.h"
#ifdef HAVE_GLOB_H
@@ -131,6 +132,7 @@ config_create(void)
cfg->bogus_ttl = 60;
cfg->min_ttl = 0;
cfg->max_ttl = 3600 * 24;
+ cfg->max_negative_ttl = 3600;
cfg->prefetch = 0;
cfg->prefetch_key = 0;
cfg->infra_cache_slabs = 4;
@@ -172,6 +174,7 @@ config_create(void)
cfg->harden_referral_path = 0;
cfg->harden_algo_downgrade = 1;
cfg->use_caps_bits_for_id = 0;
+ cfg->caps_whitelist = NULL;
cfg->private_address = NULL;
cfg->private_domain = NULL;
cfg->unwanted_threshold = 0;
@@ -228,6 +231,12 @@ config_create(void)
if(!(cfg->dnstap_socket_path = strdup(DNSTAP_SOCKET_PATH)))
goto error_exit;
#endif
+ cfg->ratelimit = 0;
+ cfg->ratelimit_slabs = 4;
+ cfg->ratelimit_size = 4*1024*1024;
+ cfg->ratelimit_for_domain = NULL;
+ cfg->ratelimit_below_domain = NULL;
+ cfg->ratelimit_factor = 10;
return cfg;
error_exit:
config_delete(cfg);
@@ -381,6 +390,8 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_YNO("prefetch-key:", prefetch_key)
else if(strcmp(opt, "cache-max-ttl:") == 0)
{ IS_NUMBER_OR_ZERO; cfg->max_ttl = atoi(val); MAX_TTL=(time_t)cfg->max_ttl;}
+ else if(strcmp(opt, "cache-max-negative-ttl:") == 0)
+ { IS_NUMBER_OR_ZERO; cfg->max_negative_ttl = atoi(val); MAX_NEG_TTL=(time_t)cfg->max_negative_ttl;}
else if(strcmp(opt, "cache-min-ttl:") == 0)
{ IS_NUMBER_OR_ZERO; cfg->min_ttl = atoi(val); MIN_TTL=(time_t)cfg->min_ttl;}
else if(strcmp(opt, "infra-cache-min-rtt:") == 0) {
@@ -409,6 +420,7 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_YNO("harden-referral-path:", harden_referral_path)
else S_YNO("harden-algo-downgrade:", harden_algo_downgrade)
else S_YNO("use-caps-for-id", use_caps_bits_for_id)
+ else S_STRLIST("caps-whitelist:", caps_whitelist)
else S_SIZET_OR_ZERO("unwanted-reply-threshold:", unwanted_threshold)
else S_STRLIST("private-address:", private_address)
else S_STRLIST("private-domain:", private_domain)
@@ -448,6 +460,13 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_STR("control-cert-file:", control_cert_file)
else S_STR("module-config:", module_conf)
else S_STR("python-script:", python_script)
+ else if(strcmp(opt, "ratelimit:") == 0) {
+ IS_NUMBER_OR_ZERO; cfg->ratelimit = atoi(val);
+ infra_dp_ratelimit=cfg->ratelimit;
+ }
+ else S_MEMSIZE("ratelimit-size:", ratelimit_size)
+ else S_POW2("ratelimit-slabs:", ratelimit_slabs)
+ else S_NUMBER_OR_ZERO("ratelimit-factor:", ratelimit_factor)
/* val_sig_skew_min and max are copied into val_env during init,
* so this does not update val_env with set_option */
else if(strcmp(opt, "val-sig-skew-min:") == 0)
@@ -470,7 +489,8 @@ int config_set_option(struct config_file* cfg, const char* opt,
* interface, outgoing-interface, access-control,
* stub-zone, name, stub-addr, stub-host, stub-prime
* forward-first, stub-first,
- * forward-zone, name, forward-addr, forward-host */
+ * forward-zone, name, forward-addr, forward-host,
+ * ratelimit-for-domain, ratelimit-below-domain */
return 0;
}
return 1;
@@ -582,8 +602,8 @@ config_collate_cat(struct config_strlist* list)
#define O_MEM(opt, str, var) if(strcmp(opt, str)==0) { \
if(cfg->var > 1024*1024*1024) { \
size_t f=cfg->var/(size_t)1000000, b=cfg->var%(size_t)1000000; \
- snprintf(buf, len, "%u%6.6u\n", (unsigned)f, (unsigned)b); \
- } else snprintf(buf, len, "%u\n", (unsigned)cfg->var); \
+ snprintf(buf, len, "%u%6.6u", (unsigned)f, (unsigned)b); \
+ } else snprintf(buf, len, "%u", (unsigned)cfg->var); \
func(buf, arg);}
/** compare and print list option */
#define O_LST(opt, name, lst) if(strcmp(opt, name)==0) { \
@@ -635,6 +655,7 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_YNO(opt, "prefetch-key", prefetch_key)
else O_YNO(opt, "prefetch", prefetch)
else O_DEC(opt, "cache-max-ttl", max_ttl)
+ else O_DEC(opt, "cache-max-negative-ttl", max_negative_ttl)
else O_DEC(opt, "cache-min-ttl", min_ttl)
else O_DEC(opt, "infra-host-ttl", host_ttl)
else O_DEC(opt, "infra-cache-slabs", infra_cache_slabs)
@@ -670,6 +691,7 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_YNO(opt, "harden-referral-path", harden_referral_path)
else O_YNO(opt, "harden-algo-downgrade", harden_algo_downgrade)
else O_YNO(opt, "use-caps-for-id", use_caps_bits_for_id)
+ else O_LST(opt, "caps-whitelist", caps_whitelist)
else O_DEC(opt, "unwanted-reply-threshold", unwanted_threshold)
else O_YNO(opt, "do-not-query-localhost", donotquery_localhost)
else O_STR(opt, "module-config", module_conf)
@@ -710,6 +732,12 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_YNO(opt, "unblock-lan-zones", unblock_lan_zones)
else O_DEC(opt, "max-udp-size", max_udp_size)
else O_STR(opt, "python-script", python_script)
+ else O_DEC(opt, "ratelimit", ratelimit)
+ else O_MEM(opt, "ratelimit-size", ratelimit_size)
+ else O_DEC(opt, "ratelimit-slabs", ratelimit_slabs)
+ else O_LS2(opt, "ratelimit-for-domain", ratelimit_for_domain)
+ else O_LS2(opt, "ratelimit-below-domain", ratelimit_below_domain)
+ else O_DEC(opt, "ratelimit-factor", ratelimit_factor)
else O_DEC(opt, "val-sig-skew-min", val_sig_skew_min)
else O_DEC(opt, "val-sig-skew-max", val_sig_skew_max)
/* not here:
@@ -897,6 +925,7 @@ config_delete(struct config_file* cfg)
free(cfg->version);
free(cfg->module_conf);
free(cfg->outgoing_avail_ports);
+ config_delstrlist(cfg->caps_whitelist);
config_delstrlist(cfg->private_address);
config_delstrlist(cfg->private_domain);
config_delstrlist(cfg->auto_trust_anchor_file_list);
@@ -916,9 +945,12 @@ config_delete(struct config_file* cfg)
free(cfg->server_cert_file);
free(cfg->control_key_file);
free(cfg->control_cert_file);
+ free(cfg->dns64_prefix);
free(cfg->dnstap_socket_path);
free(cfg->dnstap_identity);
free(cfg->dnstap_version);
+ config_deldblstrlist(cfg->ratelimit_for_domain);
+ config_deldblstrlist(cfg->ratelimit_below_domain);
free(cfg);
}
@@ -1205,6 +1237,7 @@ config_apply(struct config_file* config)
{
MAX_TTL = (time_t)config->max_ttl;
MIN_TTL = (time_t)config->min_ttl;
+ MAX_NEG_TTL = (time_t)config->max_negative_ttl;
RTT_MIN_TIMEOUT = config->infra_cache_min_rtt;
EDNS_ADVERTISED_SIZE = (uint16_t)config->edns_buffer_size;
MINIMAL_RESPONSES = config->minimal_responses;
diff --git a/external/unbound/util/config_file.h b/external/unbound/util/config_file.h
index a3479b28f..1c3c31dcf 100644
--- a/external/unbound/util/config_file.h
+++ b/external/unbound/util/config_file.h
@@ -179,6 +179,8 @@ struct config_file {
int harden_algo_downgrade;
/** use 0x20 bits in query as random ID bits */
int use_caps_bits_for_id;
+ /** 0x20 whitelist, domains that do not use capsforid */
+ struct config_strlist* caps_whitelist;
/** strip away these private addrs from answers, no DNS Rebinding */
struct config_strlist* private_address;
/** allow domain (and subdomains) to use private address space */
@@ -189,6 +191,8 @@ struct config_file {
int max_ttl;
/** the number of seconds minimum TTL used for RRsets and messages */
int min_ttl;
+ /** the number of seconds maximal negative TTL for SOA in auth */
+ int max_negative_ttl;
/** if prefetching of messages should be performed. */
int prefetch;
/** if prefetching of DNSKEYs should be performed. */
@@ -345,6 +349,19 @@ struct config_file {
int dnstap_log_forwarder_query_messages;
/** true to log dnstap FORWARDER_RESPONSE message events */
int dnstap_log_forwarder_response_messages;
+
+ /** ratelimit 0 is off, otherwise qps (unless overridden) */
+ int ratelimit;
+ /** number of slabs for ratelimit cache */
+ size_t ratelimit_slabs;
+ /** memory size in bytes for ratelimit cache */
+ size_t ratelimit_size;
+ /** ratelimits for domain (exact match) */
+ struct config_str2list* ratelimit_for_domain;
+ /** ratelimits below domain */
+ struct config_str2list* ratelimit_below_domain;
+ /** ratelimit factor, 0 blocks all, 10 allows 1/10 of traffic */
+ int ratelimit_factor;
};
/** from cfg username, after daemonise setup performed */
diff --git a/external/unbound/util/configlexer.c b/external/unbound/util/configlexer.c
index fcade1ac3..83087781f 100644
--- a/external/unbound/util/configlexer.c
+++ b/external/unbound/util/configlexer.c
@@ -363,8 +363,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 166
-#define YY_END_OF_BUFFER 167
+#define YY_NUM_RULES 174
+#define YY_END_OF_BUFFER 175
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -372,190 +372,198 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1655] =
+static yyconst flex_int16_t yy_accept[1731] =
{ 0,
- 1, 1, 148, 148, 152, 152, 156, 156, 160, 160,
- 1, 1, 167, 164, 1, 146, 146, 165, 2, 165,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 148,
- 149, 149, 150, 165, 152, 153, 153, 154, 165, 159,
- 156, 157, 157, 158, 165, 160, 161, 161, 162, 165,
- 163, 147, 2, 151, 165, 163, 164, 0, 1, 2,
- 2, 2, 2, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 148, 0, 152, 0, 159, 0, 156, 160,
- 0, 163, 0, 2, 2, 163, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 163, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 163, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 68, 164, 164,
- 164, 164, 164, 6, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 163, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 163, 164, 164, 164, 164, 30,
- 164, 164, 164, 164, 164, 164, 164, 164, 133, 164,
- 12, 13, 164, 15, 14, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 126, 164, 164, 164, 164, 164, 3,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 163, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 155, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 33, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 34, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 83,
- 155, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 82, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 66, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 20, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 31, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 32, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 22, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 26, 164, 27, 164,
- 164, 164, 69, 164, 70, 164, 67, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 5, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 85, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 23, 164, 164, 164, 164, 164, 110, 109, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 35, 164, 164,
- 164, 164, 164, 164, 164, 164, 72, 71, 164, 164,
- 164, 164, 164, 164, 164, 106, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 52, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 56,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 108, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 4, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 103, 164, 164, 164, 164, 164, 164, 164, 119,
- 164, 104, 164, 131, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 21, 164, 164, 164, 164, 74,
- 164, 75, 73, 164, 164, 164, 164, 164, 164, 164,
- 81, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 105, 164, 164, 164, 164, 130, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 65,
- 164, 164, 164, 164, 164, 164, 164, 164, 28, 164,
- 164, 17, 164, 164, 164, 16, 164, 90, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 42, 43, 164, 164, 164, 164, 164, 164, 164,
- 134, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 76, 164, 164, 164, 164, 164,
- 164, 80, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 84, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 125, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 94, 164, 98,
- 164, 164, 164, 164, 79, 164, 164, 117, 164, 164,
- 164, 164, 132, 164, 164, 164, 164, 164, 164, 164,
- 139, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 97, 164, 164, 164, 164, 164, 44, 45,
- 164, 29, 51, 99, 164, 111, 107, 164, 164, 38,
- 164, 101, 164, 164, 164, 164, 164, 7, 164, 64,
- 116, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 86, 138, 164,
- 164, 164, 164, 164, 164, 164, 164, 127, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 100, 164, 37, 39, 164, 164, 164, 164,
- 164, 63, 164, 164, 164, 164, 121, 18, 19, 164,
- 164, 164, 164, 164, 164, 164, 61, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 123, 120, 164, 164,
- 164, 164, 164, 164, 164, 164, 36, 164, 164, 164,
- 164, 164, 164, 164, 11, 164, 164, 164, 164, 164,
- 164, 164, 164, 10, 164, 164, 40, 164, 129, 122,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 93, 92, 164, 124, 118, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 46, 164, 128, 164, 164, 164,
- 164, 41, 164, 164, 164, 87, 89, 112, 164, 164,
- 164, 91, 164, 164, 164, 164, 164, 164, 164, 164,
- 135, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 24, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 137, 164, 164, 115, 164, 164, 164, 164, 164,
-
- 164, 164, 49, 164, 25, 164, 9, 164, 164, 113,
- 53, 164, 164, 164, 96, 164, 164, 164, 164, 164,
- 164, 136, 77, 164, 164, 164, 164, 55, 59, 54,
- 164, 47, 164, 8, 164, 164, 95, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 60, 58, 164, 48,
- 164, 114, 164, 164, 88, 164, 164, 164, 164, 164,
- 164, 78, 57, 50, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 62, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
-
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 102,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 142, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
- 164, 164, 140, 164, 143, 144, 164, 164, 164, 164,
- 164, 141, 145, 0
+ 1, 1, 156, 156, 160, 160, 164, 164, 168, 168,
+ 1, 1, 175, 172, 1, 154, 154, 173, 2, 173,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 156,
+ 157, 157, 158, 173, 160, 161, 161, 162, 173, 167,
+ 164, 165, 165, 166, 173, 168, 169, 169, 170, 173,
+ 171, 155, 2, 159, 173, 171, 172, 0, 1, 2,
+ 2, 2, 2, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 156, 0, 160, 0, 167, 0, 164,
+ 168, 0, 171, 0, 2, 2, 171, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 171, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 171, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 70, 172, 172, 172, 172, 172, 6,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 171, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 171, 172, 172, 172, 172, 172, 30,
+ 172, 172, 172, 172, 172, 172, 172, 172, 135, 172,
+ 12, 13, 172, 15, 14, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 128, 172, 172, 172, 172, 172, 172,
+ 3, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 171, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 163, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 33, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 34, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 85, 163, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 84, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 68, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 20, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 31, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 32, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 22, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 148, 172, 172,
+ 172, 172, 172, 172, 26, 172, 27, 172, 172, 172,
+ 71, 172, 72, 172, 69, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 5, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 87, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 23, 172, 172, 172, 172, 172, 112, 111, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 35, 172, 172, 172, 172, 172, 172, 172, 172, 74,
+ 73, 172, 172, 172, 172, 172, 172, 172, 108, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 53, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 57, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 110, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 4, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 105, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 121, 172, 106, 172, 133, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 21, 172, 172, 172,
+
+ 172, 76, 172, 77, 75, 172, 172, 172, 172, 172,
+ 172, 172, 83, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 107, 172, 172, 172, 172, 132,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 67, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 28, 172, 172, 17, 172,
+ 172, 172, 16, 172, 92, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 42,
+ 44, 172, 172, 172, 172, 172, 172, 172, 172, 136,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 78, 172, 172, 172, 172, 172, 172,
+ 82, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 86, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 127,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 96, 172, 100, 172, 172, 172, 172, 81, 172,
+ 172, 63, 172, 119, 172, 172, 172, 172, 134, 172,
+ 172, 172, 172, 172, 172, 172, 141, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 99, 172,
+
+ 172, 172, 172, 172, 45, 46, 172, 29, 52, 101,
+ 172, 113, 109, 172, 172, 38, 172, 103, 172, 172,
+ 172, 172, 172, 7, 172, 66, 172, 172, 172, 150,
+ 172, 118, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 88,
+ 140, 172, 172, 172, 172, 172, 172, 172, 172, 129,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 102, 172, 37, 39, 172, 172,
+ 172, 172, 172, 65, 172, 172, 172, 149, 172, 172,
+
+ 172, 172, 123, 18, 19, 172, 172, 172, 172, 172,
+ 172, 172, 62, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 125, 122, 172, 172, 172, 172, 172,
+ 172, 172, 172, 36, 172, 172, 172, 172, 172, 172,
+ 172, 11, 172, 172, 172, 172, 172, 172, 172, 172,
+ 10, 172, 172, 172, 153, 172, 40, 172, 131, 124,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 95, 94, 172, 172, 126, 120, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 47, 172, 130, 172, 172,
+
+ 172, 172, 172, 172, 41, 172, 172, 172, 89, 91,
+ 114, 172, 172, 172, 93, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 137, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 24,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 139, 172,
+ 172, 117, 172, 172, 172, 172, 172, 172, 172, 50,
+ 172, 25, 172, 9, 172, 172, 172, 172, 115, 54,
+ 172, 172, 172, 98, 172, 172, 172, 172, 172, 172,
+ 172, 138, 79, 172, 172, 172, 172, 56, 60, 55,
+
+ 172, 48, 172, 8, 172, 151, 172, 172, 97, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 61,
+ 59, 172, 49, 172, 172, 116, 172, 172, 90, 43,
+ 172, 172, 172, 172, 172, 172, 80, 58, 51, 152,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 64, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 104, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
+
+ 172, 172, 172, 172, 144, 172, 172, 172, 172, 172,
+ 172, 172, 172, 172, 172, 172, 172, 172, 142, 172,
+ 145, 146, 172, 172, 172, 172, 172, 143, 147, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -598,750 +606,784 @@ static yyconst flex_int32_t yy_meta[40] =
1, 1, 1, 1, 1, 1, 1, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1669] =
+static yyconst flex_int16_t yy_base[1745] =
{ 0,
0, 0, 37, 40, 44, 51, 63, 75, 56, 68,
- 87, 108, 2501, 2145, 50, 3281, 3281, 3281, 129, 94,
+ 87, 108, 2883, 2837, 50, 3431, 3431, 3431, 129, 94,
70, 104, 130, 90, 92, 115, 127, 95, 84, 111,
- 137, 148, 50, 150, 155, 157, 163, 171, 178, 2001,
- 3281, 3281, 3281, 70, 1900, 3281, 3281, 3281, 42, 1856,
- 1448, 3281, 3281, 3281, 195, 1202, 3281, 3281, 3281, 141,
- 1174, 3281, 202, 3281, 206, 122, 1044, 212, 120, 0,
- 223, 0, 0, 103, 147, 154, 158, 192, 199, 207,
- 208, 205, 209, 221, 218, 220, 224, 225, 229, 230,
- 231, 238, 251, 236, 247, 250, 237, 248, 256, 259,
-
- 167, 263, 254, 249, 264, 265, 271, 273, 274, 125,
- 275, 277, 284, 278, 281, 285, 288, 286, 289, 292,
- 296, 298, 1016, 308, 746, 315, 650, 326, 474, 368,
- 319, 301, 330, 334, 0, 327, 331, 337, 314, 305,
- 333, 335, 343, 340, 346, 349, 370, 350, 339, 352,
- 49, 356, 354, 353, 361, 363, 362, 366, 372, 365,
- 377, 386, 382, 394, 401, 388, 387, 403, 399, 407,
- 410, 406, 182, 395, 411, 342, 412, 409, 414, 416,
- 418, 419, 427, 423, 426, 425, 435, 429, 433, 441,
- 436, 444, 447, 446, 450, 451, 457, 455, 453, 456,
-
- 462, 461, 464, 471, 476, 477, 479, 465, 475, 482,
- 483, 484, 494, 488, 491, 495, 501, 497, 498, 499,
- 505, 503, 506, 507, 508, 509, 515, 519, 513, 512,
- 514, 527, 528, 530, 531, 536, 537, 538, 539, 543,
- 545, 546, 549, 547, 553, 561, 557, 559, 560, 566,
- 567, 569, 575, 571, 568, 572, 579, 581, 582, 584,
- 602, 591, 587, 590, 574, 597, 599, 608, 600, 607,
- 609, 615, 613, 623, 630, 626, 627, 631, 634, 635,
- 636, 639, 638, 641, 643, 644, 646, 647, 657, 659,
- 660, 670, 666, 667, 648, 673, 664, 674, 681, 679,
-
- 680, 682, 683, 684, 686, 688, 692, 3281, 695, 690,
- 697, 698, 701, 3281, 699, 702, 703, 710, 704, 721,
- 706, 708, 714, 723, 718, 720, 726, 728, 748, 731,
- 729, 739, 737, 732, 757, 736, 759, 738, 743, 750,
- 762, 741, 766, 767, 768, 769, 773, 775, 778, 779,
- 772, 783, 780, 786, 788, 789, 793, 794, 800, 801,
- 803, 806, 812, 809, 816, 822, 811, 818, 820, 826,
- 825, 828, 819, 835, 831, 827, 834, 843, 838, 840,
- 850, 848, 849, 847, 853, 855, 859, 860, 862, 866,
- 863, 867, 872, 877, 865, 871, 879, 878, 886, 893,
-
- 894, 887, 895, 902, 903, 880, 904, 890, 900, 907,
- 909, 910, 911, 912, 915, 916, 922, 919, 923, 921,
- 928, 930, 932, 934, 936, 937, 940, 943, 941, 942,
- 951, 952, 954, 956, 955, 958, 962, 957, 964, 3281,
- 972, 971, 968, 974, 976, 977, 979, 1005, 3281, 981,
- 3281, 3281, 982, 3281, 3281, 985, 983, 986, 993, 1028,
- 997, 991, 987, 998, 1007, 1008, 1018, 1011, 1020, 1000,
- 1031, 1022, 1013, 1023, 1037, 1038, 1034, 1025, 1048, 1051,
- 1057, 1059, 1055, 1056, 1060, 1061, 1063, 1065, 1064, 1067,
- 1072, 1078, 1074, 3281, 1076, 1075, 1082, 1077, 1084, 3281,
-
- 1085, 1086, 1088, 1090, 1094, 1097, 1096, 1098, 1100, 1101,
- 1099, 1107, 1113, 1103, 1111, 1127, 1129, 1126, 1112, 1128,
- 1132, 1114, 1133, 1141, 1139, 1138, 1144, 1148, 1145, 1147,
- 1150, 1151, 1154, 1152, 1153, 1155, 1178, 1159, 1160, 1161,
- 1164, 1162, 1168, 1170, 1172, 1173, 1180, 1191, 1190, 1192,
- 1193, 1197, 1205, 1208, 1198, 1201, 1211, 1212, 1217, 1215,
- 1219, 1221, 1222, 1229, 1226, 3281, 1236, 1237, 1223, 1232,
- 1233, 1239, 1243, 1244, 1246, 1247, 1248, 1249, 1251, 1255,
- 3281, 1254, 1256, 1257, 1261, 1262, 1264, 1270, 1275, 1282,
- 3281, 1285, 1286, 1278, 1283, 1271, 1289, 1288, 1294, 1295,
-
- 1296, 1297, 1301, 1304, 1305, 1293, 1312, 1306, 1308, 1310,
- 1316, 1317, 1318, 1319, 1325, 1104, 1320, 1326, 1336, 1333,
- 1335, 1338, 1339, 1340, 1345, 1342, 1346, 1343, 1344, 3281,
- 239, 1347, 1349, 1350, 1356, 1359, 1358, 1365, 1366, 1367,
- 1368, 1371, 1373, 1374, 1376, 1377, 1378, 1381, 1385, 1382,
- 1389, 1391, 1394, 1392, 1398, 1399, 1400, 1403, 1402, 1409,
- 1406, 1411, 1412, 1416, 1417, 1414, 1418, 1420, 1422, 1425,
- 1424, 1432, 3281, 1435, 1431, 1434, 1436, 1443, 1451, 1447,
- 1452, 1449, 1454, 1460, 1457, 1459, 1465, 1467, 1469, 1471,
- 1461, 1472, 1479, 1482, 1480, 1483, 1484, 1481, 3281, 1491,
-
- 1473, 1486, 1489, 1494, 1497, 1496, 1499, 1501, 1507, 1508,
- 1512, 3281, 1515, 1509, 1516, 1520, 1521, 1525, 1522, 1529,
- 1530, 1531, 1532, 1533, 1542, 1534, 1539, 1537, 3281, 1551,
- 1553, 1549, 1560, 1547, 1557, 1558, 1562, 1559, 1563, 1570,
- 1564, 1567, 1571, 1572, 1568, 1566, 1574, 1575, 1577, 1578,
- 3281, 1595, 1593, 1596, 1597, 1598, 1606, 1581, 1603, 1605,
- 1582, 1607, 1610, 1609, 1611, 1613, 1616, 1618, 1619, 1620,
- 1621, 1622, 1623, 1632, 1638, 1626, 1640, 1630, 1642, 1629,
- 1646, 1652, 1658, 1654, 3281, 1657, 1659, 1660, 1661, 1662,
- 1668, 1670, 1664, 1666, 1671, 1672, 1673, 1687, 1674, 1676,
-
- 1680, 1684, 1678, 1686, 1689, 1700, 1705, 1690, 1696, 1702,
- 1688, 1713, 1714, 1716, 1698, 1722, 3281, 1706, 3281, 1721,
- 1727, 1730, 3281, 1732, 3281, 1734, 3281, 1735, 1736, 1729,
- 1715, 1739, 1741, 1742, 1748, 1723, 1749, 1745, 1751, 1752,
- 1754, 1755, 3281, 1758, 1761, 1763, 1759, 1765, 1766, 1768,
- 1769, 1777, 1771, 1783, 1780, 1782, 1784, 3281, 1787, 1788,
- 1792, 1793, 1796, 1800, 1798, 1797, 1805, 1801, 1809, 1820,
- 1807, 1816, 1817, 1818, 1819, 1827, 1821, 1823, 1830, 1832,
- 1825, 1831, 1833, 1835, 1840, 1841, 1847, 1839, 1845, 1846,
- 3281, 1850, 1848, 1857, 1860, 1858, 3281, 3281, 1862, 1868,
-
- 1870, 1866, 1876, 1873, 1877, 1878, 1884, 1881, 1883, 1888,
- 1890, 1891, 1893, 1894, 1895, 1897, 1898, 3281, 1904, 1902,
- 1911, 1909, 1907, 1919, 1910, 1921, 3281, 3281, 1917, 1922,
- 1926, 1928, 1934, 1932, 1931, 3281, 1933, 1936, 1937, 1938,
- 1941, 1945, 1939, 1950, 1952, 1955, 1956, 1958, 1964, 1960,
- 1957, 1961, 1974, 1963, 1977, 3281, 1971, 1979, 1981, 1982,
- 1983, 1984, 1985, 1986, 1988, 1989, 1990, 1995, 2003, 1999,
- 2002, 2004, 2007, 2008, 2012, 2014, 2015, 2022, 2023, 3281,
- 2030, 2016, 2032, 2018, 2036, 2037, 2044, 2033, 2029, 2031,
- 2040, 2041, 2042, 2054, 2048, 2056, 2050, 3281, 2058, 2062,
-
- 2064, 2059, 2068, 2065, 2071, 2069, 2073, 3281, 2075, 2081,
- 2078, 2083, 2085, 2082, 2088, 2086, 2092, 2093, 2094, 2096,
- 2099, 2101, 2103, 2105, 2110, 2111, 2118, 2116, 2122, 2128,
- 2120, 2124, 2132, 2126, 2129, 2130, 2134, 2140, 2139, 2148,
- 2137, 3281, 2141, 2151, 2153, 2154, 2157, 2158, 2147, 3281,
- 2163, 3281, 2155, 3281, 2165, 2170, 2166, 2171, 2172, 2173,
- 2174, 2176, 2184, 2175, 3281, 2182, 2185, 2187, 2188, 3281,
- 2199, 3281, 3281, 2191, 2193, 2200, 2201, 2204, 2208, 2212,
- 3281, 2202, 2213, 2214, 2216, 2217, 2219, 2220, 2222, 2221,
- 2223, 2224, 3281, 2230, 2226, 2227, 2237, 3281, 2239, 2241,
-
- 2229, 2242, 2248, 2249, 2251, 2252, 2257, 2263, 2259, 3281,
- 2260, 2261, 2266, 2262, 2269, 2271, 2267, 2268, 3281, 2282,
- 2283, 3281, 2272, 2284, 2286, 3281, 2289, 3281, 2290, 2291,
- 2292, 2294, 2298, 2299, 2301, 2293, 2305, 2310, 2307, 2314,
- 2311, 3281, 3281, 2316, 2322, 2323, 2318, 2326, 2327, 2329,
- 3281, 2331, 2333, 2334, 2335, 2336, 2337, 2342, 2340, 2343,
- 2345, 2346, 2348, 2349, 3281, 2352, 2353, 2354, 2359, 2364,
- 2361, 3281, 2363, 2366, 2365, 2367, 2370, 2371, 2385, 2387,
- 2379, 2389, 2391, 2394, 2395, 2397, 2399, 2400, 3281, 2401,
- 2403, 2404, 2408, 2409, 2405, 2410, 2415, 2418, 2420, 2422,
-
- 3281, 2425, 2412, 2428, 2426, 2430, 2432, 2433, 2434, 2436,
- 2440, 2441, 2443, 2444, 2446, 2454, 2451, 3281, 2448, 3281,
- 2450, 2461, 2469, 2465, 3281, 2463, 2467, 3281, 2470, 2471,
- 2472, 2481, 3281, 2483, 2475, 2484, 2486, 2477, 2487, 2493,
- 3281, 2495, 2497, 2502, 2503, 2490, 2504, 2505, 2496, 2507,
- 2519, 2511, 3281, 2513, 2515, 2526, 2522, 2523, 3281, 3281,
- 2527, 3281, 3281, 3281, 2532, 3281, 3281, 2533, 2535, 3281,
- 2537, 3281, 2544, 2540, 2542, 2524, 2543, 3281, 2550, 3281,
- 3281, 2547, 2551, 2545, 2555, 2557, 2562, 2564, 2554, 2565,
- 2567, 2568, 2569, 2570, 2571, 2573, 2576, 2574, 2577, 2582,
-
- 2578, 2584, 2586, 2587, 2588, 2590, 2606, 3281, 3281, 2594,
- 2599, 2596, 2601, 2603, 2607, 2608, 2609, 3281, 2616, 2611,
- 2622, 2613, 2619, 2623, 2624, 2625, 2631, 2638, 2632, 2634,
- 2635, 2636, 3281, 2639, 3281, 3281, 2642, 2643, 2648, 2645,
- 2651, 3281, 2653, 2655, 2664, 2666, 3281, 3281, 3281, 2667,
- 2657, 2661, 2671, 2672, 2659, 2673, 3281, 2675, 2680, 2682,
- 2683, 2689, 2692, 2699, 2696, 2701, 3281, 3281, 2702, 2703,
- 2704, 2684, 2705, 2706, 2708, 2710, 3281, 2712, 2711, 2717,
- 2716, 2718, 2723, 2719, 3281, 2721, 2726, 2731, 2733, 2734,
- 2736, 2737, 2739, 3281, 2738, 2741, 3281, 2749, 3281, 3281,
-
- 2742, 2751, 2753, 2758, 2760, 2764, 2755, 2761, 2770, 2767,
- 2768, 3281, 3281, 2771, 3281, 3281, 2769, 2774, 2776, 2778,
- 2781, 2783, 2780, 2784, 2785, 2788, 2790, 2793, 2796, 2797,
- 2800, 2802, 2803, 2805, 3281, 2807, 3281, 2806, 2813, 2814,
- 2819, 3281, 2820, 2815, 2808, 3281, 3281, 3281, 2816, 2830,
- 2832, 3281, 2834, 2835, 2822, 2837, 2836, 2845, 2838, 2847,
- 3281, 2848, 2849, 2851, 2852, 2853, 2855, 2857, 2858, 2860,
- 2859, 2869, 2861, 2873, 2870, 3281, 2878, 2874, 2879, 2882,
- 2884, 2886, 2887, 2888, 2890, 2891, 2892, 2893, 2900, 2896,
- 2907, 3281, 2910, 2898, 3281, 2911, 2904, 2915, 2922, 2924,
-
- 2926, 2927, 3281, 2929, 3281, 2930, 3281, 2934, 2935, 3281,
- 3281, 2936, 2938, 2941, 3281, 2942, 2939, 2943, 2945, 2948,
- 2949, 3281, 3281, 2950, 2952, 2956, 2960, 3281, 3281, 3281,
- 2966, 3281, 2967, 3281, 2973, 2953, 3281, 2958, 2975, 2961,
- 2977, 2978, 2979, 2980, 2981, 2983, 3281, 3281, 2988, 3281,
- 2990, 3281, 2991, 2993, 3281, 3001, 2995, 2997, 2998, 3004,
- 3005, 3281, 3281, 3281, 3006, 3007, 3011, 3012, 3008, 3013,
- 3014, 3015, 3019, 3016, 3023, 3032, 3020, 3033, 3040, 3036,
- 3281, 3034, 3038, 3046, 3047, 3044, 3043, 3051, 3052, 3053,
- 3054, 3055, 3059, 3060, 3064, 3061, 3062, 3071, 3074, 3077,
-
- 3073, 3086, 3084, 3087, 3085, 3088, 3095, 3089, 3093, 3281,
- 3091, 3097, 3098, 3099, 3100, 3105, 3102, 3113, 3118, 3115,
- 3122, 3109, 3124, 3125, 3126, 3111, 3131, 3127, 3281, 3134,
- 3135, 3137, 3138, 3141, 3143, 3144, 3147, 3150, 3145, 3154,
- 3159, 3160, 3281, 3161, 3281, 3281, 3164, 3151, 3155, 3172,
- 3176, 3281, 3281, 3281, 3189, 3196, 3203, 3210, 3217, 94,
- 3224, 3231, 3238, 3245, 3252, 3259, 3266, 3273
+ 137, 148, 50, 150, 161, 158, 154, 167, 182, 2287,
+ 3431, 3431, 3431, 70, 2251, 3431, 3431, 3431, 42, 1839,
+ 1625, 3431, 3431, 3431, 199, 1573, 3431, 3431, 3431, 141,
+ 1198, 3431, 203, 3431, 207, 122, 861, 213, 120, 0,
+ 224, 0, 0, 103, 147, 140, 206, 171, 170, 208,
+ 210, 211, 200, 226, 217, 214, 225, 227, 232, 180,
+ 230, 235, 242, 229, 246, 247, 240, 249, 252, 253,
+
+ 257, 258, 259, 261, 262, 267, 268, 269, 274, 275,
+ 276, 278, 280, 284, 283, 286, 282, 290, 292, 299,
+ 303, 293, 296, 812, 318, 609, 321, 447, 327, 359,
+ 174, 332, 164, 336, 340, 0, 317, 333, 341, 311,
+ 335, 337, 339, 342, 349, 346, 352, 355, 376, 357,
+ 345, 360, 49, 359, 361, 367, 368, 372, 370, 369,
+ 378, 371, 373, 382, 392, 399, 400, 401, 386, 408,
+ 404, 411, 417, 413, 415, 402, 418, 414, 419, 423,
+ 416, 425, 429, 426, 432, 435, 433, 302, 437, 443,
+ 439, 440, 441, 454, 460, 457, 456, 446, 461, 467,
+
+ 466, 475, 463, 464, 473, 474, 477, 483, 488, 486,
+ 489, 479, 491, 493, 494, 492, 502, 500, 503, 505,
+ 512, 508, 509, 511, 513, 515, 517, 518, 519, 521,
+ 525, 531, 524, 523, 529, 530, 539, 541, 542, 547,
+ 554, 548, 549, 550, 556, 558, 560, 562, 566, 567,
+ 574, 570, 571, 579, 572, 573, 588, 580, 591, 581,
+ 583, 585, 593, 595, 599, 615, 601, 610, 604, 605,
+ 606, 608, 637, 612, 620, 611, 623, 641, 622, 633,
+ 644, 643, 645, 651, 646, 652, 653, 656, 655, 654,
+ 660, 661, 662, 663, 674, 673, 667, 685, 681, 682,
+
+ 664, 683, 689, 690, 697, 693, 694, 695, 696, 698,
+ 701, 704, 708, 3431, 710, 705, 712, 713, 715, 3431,
+ 716, 717, 718, 719, 724, 723, 735, 721, 733, 738,
+ 740, 734, 741, 742, 743, 763, 745, 750, 752, 748,
+ 753, 760, 756, 767, 770, 772, 775, 774, 754, 777,
+ 778, 780, 783, 788, 791, 794, 795, 796, 797, 801,
+ 802, 803, 804, 808, 816, 810, 822, 811, 828, 831,
+ 825, 833, 835, 841, 818, 837, 840, 843, 845, 846,
+ 847, 853, 850, 852, 856, 857, 854, 860, 870, 862,
+ 873, 875, 877, 878, 880, 881, 883, 889, 863, 887,
+
+ 893, 894, 886, 888, 898, 905, 906, 914, 907, 915,
+ 912, 916, 923, 924, 917, 925, 928, 929, 930, 931,
+ 933, 932, 935, 938, 939, 945, 942, 943, 948, 953,
+ 955, 957, 958, 959, 962, 963, 967, 965, 966, 975,
+ 976, 978, 980, 979, 982, 986, 981, 988, 991, 3431,
+ 1001, 995, 992, 998, 892, 1003, 1005, 1031, 3431, 1007,
+ 3431, 3431, 1006, 3431, 3431, 1008, 1009, 1010, 1018, 1054,
+ 1019, 1011, 1012, 1025, 1027, 1032, 1033, 1020, 1041, 1044,
+ 1046, 1038, 1045, 1048, 1052, 1062, 1049, 1059, 1069, 1071,
+ 1080, 1081, 1079, 1078, 1083, 1085, 1068, 1087, 1088, 1090,
+
+ 1094, 1101, 1097, 3431, 1098, 1100, 1099, 1104, 1106, 1108,
+ 3431, 1109, 1110, 1112, 1114, 1117, 1118, 1120, 1122, 1123,
+ 1124, 1127, 1128, 1125, 1132, 1135, 1145, 1151, 1144, 1137,
+ 1147, 1150, 1153, 1157, 1165, 1161, 1154, 1162, 1168, 1166,
+ 1170, 1177, 1167, 1179, 1171, 1173, 1178, 1180, 1201, 1181,
+ 1184, 1188, 1187, 1189, 1191, 1193, 1211, 1203, 1209, 1216,
+ 1219, 1208, 1220, 1225, 1228, 1235, 1226, 1227, 1230, 1237,
+ 1195, 1240, 1239, 1242, 1246, 1251, 1248, 3431, 1258, 1254,
+ 1255, 1259, 1262, 1260, 1264, 1266, 1263, 1268, 1269, 1270,
+ 1276, 1283, 3431, 1271, 1277, 1281, 1286, 1287, 1288, 1294,
+
+ 1297, 1304, 3431, 1306, 1307, 1309, 1300, 1302, 1310, 1313,
+ 1314, 1318, 1319, 1315, 1322, 1325, 1327, 1328, 1329, 1333,
+ 1332, 1334, 1339, 1341, 1340, 1343, 1342, 1346, 1344, 1351,
+ 1357, 1361, 1358, 1365, 1362, 1366, 1367, 1372, 1369, 1374,
+ 1370, 1371, 3431, 125, 1376, 1377, 1375, 1391, 1393, 1394,
+ 1397, 1384, 1400, 1401, 1403, 1385, 1405, 1407, 1409, 1410,
+ 1411, 1412, 1415, 1419, 1422, 1413, 1430, 1421, 1425, 1431,
+ 1423, 1435, 1437, 1378, 1438, 1443, 1444, 1441, 1445, 1446,
+ 1449, 1450, 1454, 1451, 1452, 1453, 3431, 1469, 1461, 1455,
+ 1467, 1471, 1478, 1474, 1479, 1481, 1482, 1488, 1484, 1490,
+
+ 1492, 1498, 1496, 1501, 1486, 1489, 1508, 1509, 1510, 1512,
+ 1511, 1502, 3431, 1514, 1517, 1519, 1531, 1521, 1522, 1528,
+ 1524, 1533, 1523, 1540, 1534, 1543, 3431, 1544, 1545, 1546,
+ 1553, 1554, 1556, 1557, 1559, 1560, 1561, 1563, 1564, 1567,
+ 1570, 1572, 1575, 3431, 1581, 1584, 1585, 1591, 1583, 1577,
+ 1587, 1594, 1589, 1595, 1602, 1599, 1600, 1603, 1604, 1605,
+ 1601, 1607, 1608, 1611, 1610, 1612, 3431, 1628, 1625, 1629,
+ 1636, 1630, 1640, 1639, 1631, 1641, 1624, 1645, 1646, 1647,
+ 1648, 1649, 1652, 1654, 1655, 1656, 1657, 1658, 1659, 1667,
+ 1661, 1662, 1675, 1676, 1679, 1678, 1681, 1687, 1688, 1689,
+
+ 3431, 1693, 1694, 1695, 1696, 1697, 1703, 1705, 1701, 1706,
+ 1707, 1708, 1709, 1718, 1711, 1717, 1719, 1721, 1714, 1722,
+ 1724, 1731, 1729, 1737, 1735, 1742, 1744, 3431, 1745, 1753,
+ 1749, 1755, 1747, 1761, 3431, 1757, 3431, 1764, 1770, 1773,
+ 3431, 1777, 3431, 1779, 3431, 1723, 1780, 1772, 1758, 1760,
+ 1784, 1782, 1786, 1788, 1790, 1792, 1793, 1762, 1794, 1795,
+ 3431, 1798, 1796, 1801, 1806, 1799, 1803, 1809, 1805, 1815,
+ 1807, 1826, 1820, 1827, 1824, 1829, 1830, 3431, 1831, 1832,
+ 1834, 1837, 1841, 1848, 1845, 1842, 1849, 1835, 1853, 1863,
+ 1861, 1852, 1864, 1865, 1866, 1872, 1868, 1869, 1876, 1873,
+
+ 1877, 1879, 1880, 1882, 1881, 1884, 1892, 1886, 1888, 1889,
+ 3431, 1898, 1890, 1894, 1902, 1904, 3431, 3431, 1913, 1915,
+ 1916, 1907, 1917, 1909, 1922, 1924, 1930, 1936, 1919, 1927,
+ 1929, 1932, 1937, 1938, 1941, 1943, 1944, 1950, 1945, 1948,
+ 3431, 1958, 1952, 1960, 1961, 1963, 1969, 1968, 1971, 3431,
+ 3431, 1976, 1972, 1973, 1975, 1982, 1979, 1978, 3431, 1986,
+ 1988, 1993, 1997, 1999, 2000, 1987, 1990, 2008, 1989, 2011,
+ 2001, 2012, 2014, 2020, 2016, 2017, 2019, 2022, 2023, 2030,
+ 3431, 2027, 2032, 2034, 2037, 2038, 2039, 2040, 2043, 2041,
+ 2044, 2045, 2053, 2054, 2056, 2057, 2058, 2062, 2059, 2066,
+
+ 2068, 2069, 2075, 2071, 3431, 2085, 2072, 2086, 2082, 2084,
+ 2087, 2094, 2091, 2092, 2093, 2095, 2097, 2096, 2099, 2100,
+ 2101, 2108, 3431, 2109, 2120, 2106, 2116, 2122, 2114, 2124,
+ 2127, 2129, 3431, 2130, 2137, 2134, 2136, 2139, 2141, 2133,
+ 2144, 2147, 2148, 2149, 2150, 2155, 2157, 2152, 2158, 2160,
+ 2161, 2163, 2168, 2175, 2165, 2169, 2182, 2181, 2190, 2192,
+ 2178, 2188, 2196, 2193, 2194, 2195, 2197, 2206, 2199, 2208,
+ 2202, 3431, 2209, 2210, 2216, 2218, 2213, 2219, 2223, 2220,
+ 2227, 3431, 2224, 3431, 2230, 3431, 2231, 2235, 2232, 2237,
+ 2238, 2239, 2240, 2245, 2253, 2241, 3431, 2259, 2247, 2254,
+
+ 2257, 3431, 2262, 3431, 3431, 2249, 2267, 2273, 2269, 2274,
+ 2270, 2277, 3431, 2278, 2279, 2282, 2280, 2284, 2288, 2290,
+ 2291, 2292, 2293, 2294, 3431, 2296, 2295, 2298, 2306, 3431,
+ 2304, 2309, 2310, 2312, 2319, 2320, 2322, 2311, 2323, 2331,
+ 2328, 3431, 2330, 2324, 2335, 2332, 2337, 2344, 2340, 2346,
+ 2341, 2342, 2350, 2355, 2356, 3431, 2358, 2360, 3431, 2359,
+ 2361, 2362, 3431, 2367, 3431, 2369, 2370, 2366, 2371, 2377,
+ 2374, 2387, 2379, 2384, 2389, 2382, 2393, 2396, 2390, 3431,
+ 3431, 2400, 2397, 2402, 2407, 2403, 2405, 2409, 2412, 3431,
+ 2413, 2416, 2417, 2418, 2419, 2425, 2420, 2427, 2428, 2422,
+
+ 2429, 2430, 2431, 3431, 2435, 2439, 2441, 2444, 2442, 2445,
+ 3431, 2447, 2448, 2449, 2453, 2455, 2469, 2472, 2474, 2464,
+ 2476, 2479, 2481, 2482, 2484, 2486, 2487, 3431, 2452, 2489,
+ 2490, 2492, 2493, 2494, 2495, 2496, 2503, 2499, 2505, 3431,
+ 2507, 2508, 2510, 2516, 2513, 2520, 2517, 2521, 2524, 2525,
+ 2526, 2527, 2528, 2529, 2534, 2536, 2535, 2538, 2540, 2553,
+ 2542, 3431, 2545, 3431, 2549, 2555, 2562, 2559, 3431, 2561,
+ 2563, 3431, 2566, 3431, 2564, 2569, 2570, 2580, 3431, 2582,
+ 2571, 2583, 2575, 2577, 2573, 2588, 3431, 2593, 2595, 2600,
+ 2596, 2586, 2594, 2603, 2602, 2604, 2610, 2611, 3431, 2612,
+
+ 2613, 2619, 2615, 2459, 3431, 3431, 2620, 3431, 3431, 3431,
+ 2625, 3431, 3431, 2626, 2630, 3431, 2633, 3431, 2639, 2635,
+ 2627, 2616, 2637, 3431, 2641, 3431, 2649, 2645, 2646, 3431,
+ 2648, 3431, 2650, 2651, 2652, 2654, 2657, 2665, 2668, 2658,
+ 2660, 2662, 2669, 2671, 2672, 2673, 2676, 2679, 2680, 2682,
+ 2684, 2685, 2686, 2687, 2689, 2690, 2691, 2699, 2704, 3431,
+ 3431, 2692, 2701, 2694, 2707, 2708, 2710, 2713, 2714, 3431,
+ 2721, 2723, 2718, 2722, 2724, 2726, 2729, 2728, 2734, 2740,
+ 2736, 2738, 2739, 2741, 3431, 2743, 3431, 3431, 2746, 2748,
+ 2750, 2752, 2755, 3431, 2756, 2764, 2757, 3431, 2769, 2759,
+
+ 2772, 2775, 3431, 3431, 3431, 2776, 2765, 2779, 2780, 2781,
+ 2782, 2783, 3431, 2784, 2789, 2790, 2792, 2797, 2803, 2798,
+ 2800, 2809, 2811, 3431, 3431, 2817, 2814, 2815, 2804, 2806,
+ 2816, 2822, 2819, 3431, 2823, 2825, 2828, 2829, 2830, 2832,
+ 2835, 3431, 2834, 2836, 2840, 2846, 2842, 2848, 2849, 2850,
+ 3431, 2852, 2854, 2858, 3431, 2862, 3431, 2865, 3431, 3431,
+ 2860, 2868, 2871, 2876, 2878, 2882, 2866, 2872, 2888, 2890,
+ 2887, 3431, 3431, 2879, 2897, 3431, 3431, 2893, 2894, 2895,
+ 2896, 2898, 2901, 2902, 2906, 2903, 2904, 2907, 2909, 2915,
+ 2917, 2918, 2919, 2923, 2926, 3431, 2924, 3431, 2929, 2931,
+
+ 2932, 2933, 2935, 2940, 3431, 2941, 2939, 2934, 3431, 3431,
+ 3431, 2952, 2953, 2955, 3431, 2956, 2958, 2945, 2960, 2963,
+ 2962, 2971, 2969, 2973, 3431, 2970, 2975, 2977, 2974, 2979,
+ 2982, 2983, 2984, 2986, 2985, 2996, 2987, 3000, 3003, 3431,
+ 3005, 2993, 3009, 3001, 2997, 3017, 3021, 3007, 3012, 3014,
+ 3023, 3018, 3025, 3027, 3028, 3036, 3033, 3038, 3431, 3040,
+ 3029, 3431, 3041, 3035, 3052, 3043, 3054, 3056, 3058, 3431,
+ 3060, 3431, 3061, 3431, 3065, 3066, 3068, 3069, 3431, 3431,
+ 3070, 3072, 3076, 3431, 3077, 3073, 3079, 3080, 3083, 3084,
+ 3086, 3431, 3431, 3087, 3089, 3093, 3090, 3431, 3431, 3431,
+
+ 3099, 3431, 3102, 3431, 3095, 3431, 3104, 3108, 3431, 3110,
+ 3112, 3114, 3115, 3116, 3117, 3119, 3120, 3118, 3122, 3431,
+ 3431, 3127, 3431, 3130, 3133, 3431, 3134, 3135, 3431, 3431,
+ 3144, 3141, 3142, 3143, 3145, 3148, 3431, 3431, 3431, 3431,
+ 3149, 3150, 3152, 3154, 3151, 3156, 3157, 3159, 3161, 3158,
+ 3166, 3175, 3168, 3176, 3183, 3181, 3431, 3177, 3179, 3189,
+ 3190, 3186, 3188, 3187, 3194, 3196, 3197, 3199, 3202, 3204,
+ 3211, 3203, 3213, 3218, 3219, 3220, 3207, 3232, 3229, 3230,
+ 3217, 3231, 3238, 3234, 3235, 3431, 3239, 3240, 3241, 3242,
+ 3245, 3247, 3243, 3256, 3263, 3249, 3251, 3261, 3266, 3267,
+
+ 3268, 3269, 3271, 3270, 3431, 3272, 3273, 3279, 3281, 3282,
+ 3284, 3285, 3286, 3291, 3292, 3294, 3296, 3301, 3431, 3297,
+ 3431, 3431, 3305, 3306, 3307, 3312, 3314, 3431, 3431, 3431,
+ 3339, 3346, 3353, 3360, 3367, 94, 3374, 3381, 3388, 3395,
+ 3402, 3409, 3416, 3423
} ;
-static yyconst flex_int16_t yy_def[1669] =
+static yyconst flex_int16_t yy_def[1745] =
{ 0,
- 1654, 1, 1655, 1655, 1656, 1656, 1657, 1657, 1658, 1658,
- 1659, 1659, 1654, 1660, 1654, 1654, 1654, 1654, 1661, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1662,
- 1654, 1654, 1654, 1662, 1663, 1654, 1654, 1654, 1663, 1664,
- 1654, 1654, 1654, 1654, 1664, 1665, 1654, 1654, 1654, 1665,
- 1666, 1654, 1667, 1654, 1666, 1666, 1660, 1660, 1654, 1668,
- 1661, 1668, 1661, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1662, 1662, 1663, 1663, 1664, 1664, 1654, 1665,
- 1665, 1666, 1666, 1667, 1667, 1666, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1666, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1666, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1666, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1666, 1660, 1660, 1660, 1660, 1654,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
- 1654, 1654, 1660, 1654, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1654,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1666, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654,
- 1666, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1654, 1660,
- 1660, 1660, 1654, 1660, 1654, 1660, 1654, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1654, 1654, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654,
- 1660, 1654, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1654,
- 1660, 1654, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
- 1660, 1654, 1660, 1660, 1660, 1654, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1654,
- 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1654, 1654,
- 1660, 1654, 1654, 1654, 1660, 1654, 1654, 1660, 1660, 1654,
- 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1654,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1654, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1654, 1654, 1660, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1660, 1654, 1654, 1654, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1654, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1654, 1660, 1660, 1654, 1660, 1654, 1654,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1654, 1660, 1654, 1654, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1654, 1660, 1654, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1654, 1654, 1654, 1660, 1660,
- 1660, 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1654, 1660, 1654, 1660, 1654, 1660, 1660, 1654,
- 1654, 1660, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1654, 1660, 1660, 1660, 1660, 1654, 1654, 1654,
- 1660, 1654, 1660, 1654, 1660, 1660, 1654, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1654, 1660, 1654,
- 1660, 1654, 1660, 1660, 1654, 1660, 1660, 1660, 1660, 1660,
- 1660, 1654, 1654, 1654, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1654, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
-
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1654, 1660,
- 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660, 1660,
- 1660, 1660, 1654, 1660, 1654, 1654, 1660, 1660, 1660, 1660,
- 1660, 1654, 1654, 0, 1654, 1654, 1654, 1654, 1654, 1654,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654
+ 1730, 1, 1731, 1731, 1732, 1732, 1733, 1733, 1734, 1734,
+ 1735, 1735, 1730, 1736, 1730, 1730, 1730, 1730, 1737, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1738,
+ 1730, 1730, 1730, 1738, 1739, 1730, 1730, 1730, 1739, 1740,
+ 1730, 1730, 1730, 1730, 1740, 1741, 1730, 1730, 1730, 1741,
+ 1742, 1730, 1743, 1730, 1742, 1742, 1736, 1736, 1730, 1744,
+ 1737, 1744, 1737, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1738, 1738, 1739, 1739, 1740, 1740, 1730,
+ 1741, 1741, 1742, 1742, 1743, 1743, 1742, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1742, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1730, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1742, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1742, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736,
+ 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+
+ 1736, 1730, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1730, 1736,
+ 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
+
+ 1736, 1736, 1736, 1736, 1730, 1730, 1736, 1730, 1730, 1730,
+ 1736, 1730, 1730, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1730,
+ 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1730, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1736, 1736,
+
+ 1736, 1736, 1730, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1730, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1730, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1730, 1736, 1736, 1730, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1730, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1730, 1730,
+ 1730, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1736, 1730, 1736, 1730, 1736, 1736, 1736, 1736, 1730, 1730,
+ 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1730, 1730, 1736, 1736, 1736, 1736, 1730, 1730, 1730,
+
+ 1736, 1730, 1736, 1730, 1736, 1730, 1736, 1736, 1730, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730,
+ 1730, 1736, 1730, 1736, 1736, 1730, 1736, 1736, 1730, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 1730, 1730,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736,
+
+ 1736, 1736, 1736, 1736, 1730, 1736, 1736, 1736, 1736, 1736,
+ 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1736, 1730, 1736,
+ 1730, 1730, 1736, 1736, 1736, 1736, 1736, 1730, 1730, 0,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730
} ;
-static yyconst flex_int16_t yy_nxt[3321] =
+static yyconst flex_int16_t yy_nxt[3471] =
{ 0,
14, 15, 16, 17, 18, 19, 18, 14, 14, 14,
14, 18, 20, 21, 14, 22, 23, 24, 25, 14,
26, 27, 28, 29, 30, 31, 32, 33, 34, 14,
35, 36, 37, 38, 39, 14, 14, 14, 14, 41,
- 42, 43, 41, 42, 43, 125, 46, 47, 125, 44,
+ 42, 43, 41, 42, 43, 126, 46, 47, 126, 44,
48, 69, 44, 46, 47, 70, 49, 48, 57, 58,
59, 68, 68, 49, 51, 52, 53, 54, 60, 18,
- 57, 58, 59, 123, 123, 55, 51, 52, 53, 54,
- 60, 18, 68, 104, 215, 74, 75, 55, 15, 16,
+ 57, 58, 59, 124, 124, 55, 51, 52, 53, 54,
+ 60, 18, 68, 104, 219, 74, 75, 55, 15, 16,
17, 62, 63, 64, 67, 67, 68, 67, 67, 65,
67, 95, 68, 76, 68, 67, 85, 68, 66, 15,
- 16, 17, 62, 63, 64, 68, 68, 77, 137, 87,
+ 16, 17, 62, 63, 64, 68, 68, 77, 138, 87,
65, 69, 94, 68, 78, 70, 86, 68, 88, 66,
- 72, 79, 72, 72, 133, 72, 89, 68, 96, 68,
- 72, 73, 68, 90, 130, 130, 91, 80, 136, 68,
- 97, 81, 179, 92, 82, 93, 83, 84, 98, 68,
- 68, 101, 68, 138, 99, 102, 68, 68, 100, 68,
- 68, 105, 109, 140, 112, 68, 116, 106, 117, 68,
- 107, 103, 110, 68, 113, 111, 139, 108, 114, 115,
- 68, 121, 169, 118, 68, 122, 127, 119, 127, 127,
-
- 240, 127, 120, 72, 68, 72, 72, 132, 72, 132,
- 132, 68, 132, 67, 135, 67, 67, 68, 67, 68,
- 68, 68, 141, 67, 72, 142, 72, 72, 147, 72,
- 68, 143, 68, 68, 72, 73, 68, 68, 144, 145,
- 146, 68, 68, 68, 149, 153, 148, 154, 68, 68,
- 68, 133, 150, 156, 151, 152, 157, 155, 159, 68,
- 68, 68, 68, 68, 161, 163, 68, 160, 68, 164,
- 158, 68, 167, 165, 166, 68, 68, 68, 168, 171,
- 173, 172, 170, 68, 162, 68, 68, 68, 175, 68,
- 68, 182, 176, 68, 184, 174, 68, 68, 68, 178,
-
- 68, 68, 183, 189, 68, 177, 180, 181, 68, 191,
- 68, 123, 123, 133, 185, 186, 187, 68, 125, 188,
- 192, 125, 130, 130, 190, 198, 68, 127, 193, 127,
- 127, 132, 127, 132, 132, 72, 132, 72, 72, 133,
- 72, 197, 194, 68, 196, 68, 135, 68, 195, 68,
- 201, 68, 68, 204, 68, 68, 202, 203, 68, 205,
- 199, 68, 68, 212, 68, 68, 68, 200, 68, 214,
- 213, 217, 216, 68, 68, 68, 243, 68, 68, 218,
- 131, 206, 68, 223, 68, 224, 207, 220, 219, 68,
- 221, 208, 222, 228, 68, 229, 209, 226, 68, 68,
-
- 68, 230, 210, 211, 225, 227, 68, 68, 232, 233,
- 235, 68, 231, 68, 237, 68, 236, 238, 68, 68,
- 234, 68, 68, 68, 68, 239, 68, 241, 68, 242,
- 68, 68, 244, 247, 251, 68, 245, 68, 68, 68,
- 253, 68, 255, 259, 254, 68, 246, 68, 68, 249,
- 250, 261, 248, 68, 258, 252, 68, 257, 133, 68,
- 256, 262, 68, 68, 267, 68, 260, 68, 68, 68,
- 264, 266, 268, 68, 68, 129, 68, 68, 263, 273,
- 269, 265, 271, 68, 274, 275, 270, 68, 68, 68,
- 276, 68, 277, 278, 68, 68, 68, 280, 272, 281,
-
- 68, 283, 279, 68, 285, 282, 68, 68, 287, 68,
- 68, 68, 286, 68, 284, 68, 292, 68, 68, 68,
- 68, 68, 297, 294, 68, 68, 68, 68, 289, 288,
- 291, 68, 290, 296, 298, 302, 293, 299, 295, 68,
- 68, 300, 68, 68, 301, 306, 307, 308, 68, 68,
- 68, 68, 309, 304, 305, 68, 314, 68, 68, 68,
- 303, 68, 316, 315, 313, 68, 312, 310, 319, 68,
- 311, 68, 68, 68, 317, 322, 321, 323, 68, 68,
- 68, 68, 329, 68, 68, 318, 68, 68, 330, 320,
- 328, 68, 324, 68, 68, 325, 68, 335, 326, 68,
-
- 327, 331, 133, 68, 332, 348, 333, 334, 346, 68,
- 337, 68, 68, 336, 68, 351, 338, 339, 345, 68,
- 68, 68, 355, 347, 349, 68, 340, 68, 341, 342,
- 343, 350, 352, 344, 353, 68, 354, 358, 68, 68,
- 361, 362, 68, 68, 360, 356, 68, 68, 68, 357,
- 68, 68, 367, 68, 359, 68, 68, 368, 68, 68,
- 68, 380, 128, 364, 365, 366, 363, 371, 373, 68,
- 370, 68, 68, 369, 374, 375, 68, 377, 68, 68,
- 372, 376, 68, 379, 378, 68, 68, 383, 384, 382,
- 381, 68, 68, 68, 68, 68, 68, 389, 68, 388,
-
- 68, 386, 68, 390, 68, 392, 387, 68, 393, 68,
- 68, 68, 385, 68, 68, 68, 68, 395, 68, 396,
- 68, 391, 68, 394, 402, 397, 68, 401, 403, 400,
- 68, 398, 68, 68, 399, 68, 404, 409, 68, 407,
- 68, 68, 405, 68, 68, 408, 419, 406, 68, 68,
- 68, 68, 421, 68, 410, 68, 420, 418, 126, 411,
- 68, 412, 68, 417, 422, 426, 413, 427, 414, 68,
- 423, 68, 425, 424, 68, 430, 415, 428, 68, 68,
- 68, 68, 436, 431, 68, 133, 416, 68, 432, 435,
- 68, 68, 68, 429, 440, 68, 434, 439, 68, 433,
-
- 68, 68, 437, 443, 441, 68, 68, 448, 445, 438,
- 442, 449, 68, 68, 451, 68, 444, 452, 68, 453,
- 454, 68, 446, 68, 68, 447, 450, 455, 68, 456,
- 68, 68, 68, 460, 68, 458, 459, 68, 68, 68,
- 68, 461, 464, 68, 457, 462, 68, 68, 465, 467,
- 68, 463, 68, 466, 468, 68, 470, 473, 469, 68,
- 68, 68, 68, 476, 475, 68, 472, 68, 471, 474,
- 478, 68, 68, 483, 68, 68, 480, 68, 68, 68,
- 479, 484, 485, 68, 68, 477, 482, 486, 481, 68,
- 68, 68, 68, 491, 487, 488, 490, 489, 68, 68,
-
- 493, 495, 68, 492, 494, 68, 68, 68, 496, 499,
- 497, 502, 68, 500, 68, 68, 68, 501, 503, 68,
- 504, 68, 68, 68, 68, 498, 508, 68, 68, 513,
- 505, 68, 509, 68, 68, 68, 515, 516, 506, 510,
- 68, 507, 68, 512, 68, 511, 68, 518, 68, 68,
- 514, 517, 68, 68, 68, 68, 522, 523, 525, 526,
- 519, 521, 524, 68, 68, 520, 68, 133, 68, 68,
- 68, 528, 531, 532, 68, 529, 68, 535, 533, 537,
- 68, 527, 530, 68, 68, 536, 68, 538, 68, 68,
- 534, 68, 539, 68, 68, 68, 541, 68, 68, 68,
-
- 554, 552, 553, 68, 540, 68, 551, 542, 549, 68,
- 68, 550, 68, 565, 562, 571, 543, 68, 566, 68,
- 68, 563, 544, 68, 564, 68, 545, 567, 124, 546,
- 68, 568, 68, 570, 68, 68, 547, 68, 569, 548,
- 68, 555, 556, 68, 557, 574, 68, 558, 572, 68,
- 68, 577, 559, 573, 575, 579, 68, 576, 560, 561,
- 68, 578, 581, 68, 582, 580, 583, 68, 68, 68,
- 584, 68, 68, 68, 585, 68, 68, 68, 591, 68,
- 586, 587, 589, 590, 68, 593, 68, 68, 68, 68,
- 68, 595, 592, 588, 68, 597, 68, 68, 68, 599,
-
- 68, 596, 68, 602, 598, 594, 68, 600, 68, 68,
- 68, 68, 68, 68, 608, 68, 68, 607, 601, 68,
- 611, 603, 604, 68, 68, 68, 68, 724, 605, 606,
- 609, 613, 610, 612, 616, 614, 617, 615, 68, 68,
- 68, 68, 618, 619, 68, 68, 623, 622, 624, 621,
- 68, 68, 620, 68, 625, 628, 68, 68, 630, 68,
- 68, 631, 133, 68, 68, 68, 68, 68, 626, 627,
- 633, 68, 68, 68, 68, 643, 68, 629, 632, 647,
- 68, 636, 68, 634, 68, 68, 133, 644, 650, 635,
- 68, 646, 68, 637, 648, 638, 649, 652, 645, 639,
-
- 651, 640, 68, 68, 68, 68, 641, 653, 654, 68,
- 68, 642, 659, 68, 131, 658, 655, 68, 665, 657,
- 68, 660, 664, 68, 68, 656, 661, 68, 662, 68,
- 668, 68, 669, 68, 68, 68, 667, 666, 68, 670,
- 673, 68, 674, 675, 68, 68, 663, 671, 68, 68,
- 679, 68, 676, 672, 677, 68, 68, 678, 68, 68,
- 68, 68, 688, 68, 684, 682, 68, 68, 68, 68,
- 680, 681, 687, 68, 68, 686, 68, 683, 692, 693,
- 685, 694, 68, 68, 691, 689, 690, 68, 696, 697,
- 68, 695, 698, 702, 68, 68, 699, 68, 68, 700,
-
- 68, 68, 701, 704, 705, 68, 68, 68, 68, 68,
- 703, 707, 708, 68, 709, 712, 68, 68, 68, 711,
- 68, 706, 68, 714, 68, 710, 713, 715, 68, 68,
- 68, 68, 68, 726, 720, 721, 716, 68, 68, 717,
- 723, 719, 718, 727, 725, 68, 729, 68, 68, 722,
- 68, 68, 68, 733, 68, 68, 68, 68, 68, 68,
- 728, 68, 68, 741, 732, 731, 742, 735, 68, 730,
- 68, 68, 734, 738, 736, 743, 739, 68, 68, 68,
- 68, 737, 740, 68, 746, 68, 68, 751, 68, 68,
- 68, 744, 745, 68, 68, 747, 753, 68, 755, 756,
-
- 749, 68, 748, 68, 68, 750, 68, 752, 757, 759,
- 68, 68, 68, 754, 68, 68, 762, 758, 68, 761,
- 764, 68, 760, 68, 68, 766, 68, 767, 68, 68,
- 68, 763, 68, 765, 68, 770, 68, 68, 768, 769,
- 775, 771, 779, 68, 68, 772, 68, 68, 68, 129,
- 774, 773, 776, 778, 781, 68, 777, 780, 784, 68,
- 783, 68, 785, 68, 68, 787, 68, 790, 782, 68,
- 791, 68, 68, 68, 788, 789, 792, 68, 786, 68,
- 794, 68, 793, 68, 68, 68, 799, 797, 796, 800,
- 795, 68, 68, 68, 68, 68, 68, 801, 68, 802,
-
- 809, 68, 798, 68, 807, 803, 68, 808, 68, 68,
- 804, 68, 805, 68, 806, 811, 810, 813, 817, 68,
- 68, 68, 814, 819, 68, 812, 821, 68, 68, 815,
- 820, 823, 68, 68, 68, 818, 825, 68, 816, 826,
- 827, 68, 68, 68, 68, 68, 68, 822, 829, 68,
- 831, 68, 830, 824, 68, 832, 835, 834, 836, 68,
- 837, 68, 828, 68, 833, 68, 838, 839, 840, 68,
- 68, 68, 68, 843, 68, 68, 68, 846, 68, 68,
- 68, 842, 68, 68, 68, 850, 68, 68, 841, 68,
- 68, 844, 854, 68, 68, 856, 847, 864, 845, 848,
-
- 851, 849, 857, 852, 853, 68, 858, 68, 68, 68,
- 68, 861, 855, 863, 859, 68, 860, 68, 68, 68,
- 867, 68, 68, 68, 862, 68, 865, 869, 68, 872,
- 68, 68, 68, 68, 68, 68, 866, 868, 68, 870,
- 879, 68, 68, 871, 68, 875, 873, 876, 877, 874,
- 68, 880, 68, 878, 68, 881, 882, 884, 68, 888,
- 885, 883, 886, 887, 68, 889, 68, 890, 891, 68,
- 68, 68, 68, 68, 68, 896, 68, 893, 68, 897,
- 68, 898, 68, 68, 68, 68, 68, 894, 68, 892,
- 68, 903, 68, 895, 904, 899, 68, 900, 68, 68,
-
- 68, 68, 68, 902, 909, 905, 914, 906, 68, 901,
- 68, 907, 68, 912, 68, 908, 911, 68, 68, 910,
- 917, 915, 913, 916, 918, 68, 68, 68, 68, 922,
- 921, 919, 920, 68, 68, 68, 923, 926, 924, 68,
- 925, 68, 68, 927, 68, 928, 68, 68, 68, 930,
- 929, 68, 932, 68, 68, 937, 931, 68, 934, 936,
- 68, 68, 938, 68, 68, 933, 68, 68, 941, 935,
- 68, 68, 943, 68, 940, 68, 946, 68, 68, 939,
- 68, 68, 950, 68, 952, 942, 951, 945, 944, 68,
- 954, 947, 68, 956, 68, 68, 68, 948, 949, 68,
-
- 68, 959, 957, 953, 68, 68, 955, 965, 68, 68,
- 68, 962, 68, 68, 963, 966, 960, 68, 967, 68,
- 972, 68, 968, 958, 970, 961, 964, 971, 68, 68,
- 68, 68, 68, 68, 977, 68, 976, 68, 969, 68,
- 979, 980, 68, 68, 68, 68, 973, 68, 974, 981,
- 975, 68, 68, 68, 988, 982, 978, 68, 68, 68,
- 68, 985, 68, 983, 986, 984, 987, 992, 128, 68,
- 68, 989, 68, 998, 68, 993, 994, 990, 68, 991,
- 68, 995, 68, 999, 996, 68, 997, 1000, 68, 68,
- 68, 1007, 1008, 68, 1001, 68, 68, 1002, 1004, 1006,
-
- 68, 1005, 68, 68, 1003, 68, 68, 68, 1015, 68,
- 68, 1018, 126, 1010, 68, 1009, 68, 1012, 1020, 68,
- 1011, 68, 68, 68, 1014, 1016, 1023, 1021, 1017, 68,
- 1013, 68, 1019, 68, 68, 1024, 1025, 1027, 68, 1022,
- 68, 1031, 1026, 68, 68, 68, 68, 1028, 68, 68,
- 68, 68, 1035, 68, 1036, 1037, 1029, 68, 1038, 1030,
- 1032, 1033, 68, 1042, 68, 1034, 1039, 68, 68, 68,
- 68, 1046, 68, 68, 1040, 68, 68, 1041, 1051, 1049,
- 1044, 1043, 1045, 68, 1047, 1050, 68, 1048, 1052, 68,
- 1054, 68, 1053, 68, 68, 68, 68, 68, 68, 1056,
-
- 68, 68, 68, 1060, 1057, 1055, 1065, 68, 1058, 1061,
- 1066, 68, 1059, 124, 68, 68, 68, 1064, 1070, 68,
- 68, 1063, 1062, 1072, 68, 1073, 68, 68, 68, 1075,
- 68, 1074, 1067, 1068, 68, 68, 1069, 1077, 1076, 1079,
- 1071, 68, 68, 68, 68, 68, 1078, 1081, 68, 68,
- 1082, 1083, 68, 68, 68, 1080, 68, 1084, 1085, 1086,
- 68, 1088, 68, 1089, 1087, 1093, 68, 1091, 68, 1095,
- 68, 68, 1090, 1098, 68, 1092, 68, 68, 1100, 1097,
- 68, 68, 1096, 68, 1103, 68, 1094, 68, 1107, 1101,
- 68, 1099, 1106, 68, 68, 68, 1110, 68, 68, 1111,
-
- 68, 1105, 1109, 1102, 68, 68, 68, 1104, 68, 1112,
- 1108, 68, 1119, 68, 1117, 68, 1122, 68, 1113, 1114,
- 1118, 1116, 68, 68, 1115, 1125, 1120, 1126, 68, 1127,
- 68, 1121, 68, 1128, 68, 1129, 68, 1124, 68, 1132,
- 68, 68, 68, 1123, 68, 1134, 68, 1137, 1131, 68,
- 1133, 68, 68, 68, 1135, 1139, 1141, 68, 1130, 68,
- 68, 1140, 1142, 68, 1143, 68, 68, 68, 1147, 68,
- 68, 1136, 1144, 1138, 1145, 68, 1146, 68, 68, 1149,
- 1148, 1151, 68, 68, 68, 68, 68, 68, 68, 1150,
- 1156, 1158, 1153, 1157, 68, 1160, 68, 68, 1152, 68,
-
- 68, 1159, 1154, 68, 1155, 68, 1161, 1168, 1163, 1164,
- 1165, 68, 68, 68, 68, 1162, 68, 1170, 1166, 1167,
- 68, 1173, 1171, 1172, 68, 68, 68, 1175, 68, 68,
- 1169, 68, 68, 68, 68, 68, 68, 1176, 68, 68,
- 1185, 68, 68, 1178, 1179, 1174, 1180, 1184, 1181, 68,
- 1177, 68, 1189, 68, 68, 1182, 1183, 1186, 1187, 1191,
- 68, 68, 1192, 68, 68, 1188, 1193, 1190, 1194, 68,
- 1197, 68, 68, 68, 68, 68, 1198, 1201, 68, 68,
- 68, 68, 1195, 68, 68, 1205, 1202, 1200, 1206, 1196,
- 1203, 1199, 1207, 1204, 68, 68, 68, 1210, 68, 1208,
-
- 1209, 68, 68, 68, 68, 68, 68, 1213, 1214, 1218,
- 68, 68, 1220, 68, 1212, 1217, 1211, 68, 1215, 68,
- 1219, 1222, 68, 68, 1221, 1225, 68, 1223, 68, 1216,
- 68, 1226, 1224, 1228, 68, 68, 1229, 1227, 68, 68,
- 1233, 68, 1230, 68, 1232, 68, 68, 68, 68, 68,
- 1235, 1241, 68, 1238, 68, 68, 1231, 68, 68, 1242,
- 68, 68, 1237, 1244, 68, 68, 68, 1239, 1234, 1236,
- 1240, 68, 1243, 68, 1253, 68, 68, 68, 68, 68,
- 1246, 1254, 68, 68, 1258, 1249, 1245, 1247, 1251, 1248,
- 1255, 68, 1250, 1256, 1252, 1257, 1259, 68, 1260, 68,
-
- 1262, 68, 1263, 68, 1261, 1264, 68, 68, 1266, 68,
- 1267, 68, 68, 68, 1270, 68, 68, 68, 1269, 1272,
- 68, 68, 68, 1274, 68, 1275, 1265, 68, 1276, 1278,
- 68, 1268, 68, 1280, 68, 1271, 1281, 68, 68, 1273,
- 68, 1283, 68, 1277, 68, 68, 68, 1284, 68, 1286,
- 1282, 1279, 68, 68, 1285, 68, 68, 1290, 68, 1288,
- 68, 1295, 68, 68, 1292, 1293, 68, 1296, 1291, 1289,
- 1287, 1298, 1294, 68, 1299, 68, 1300, 68, 1301, 68,
- 1297, 68, 68, 68, 68, 1305, 1302, 68, 1306, 68,
- 1303, 1304, 1308, 68, 1309, 68, 68, 1311, 68, 68,
-
- 1654, 1310, 68, 1313, 1307, 68, 1315, 68, 68, 68,
- 1312, 1316, 1317, 1318, 68, 68, 68, 68, 1314, 68,
- 1319, 1322, 1320, 68, 1324, 68, 1325, 68, 1323, 1326,
- 1321, 68, 1328, 1329, 68, 68, 68, 1331, 68, 68,
- 1332, 1327, 1330, 1333, 68, 68, 1335, 68, 1336, 68,
- 1334, 1337, 68, 1338, 68, 68, 68, 68, 1340, 68,
- 1341, 1342, 68, 68, 1343, 1344, 68, 68, 1347, 68,
- 1339, 1345, 1346, 1348, 68, 1349, 68, 68, 1350, 68,
- 68, 68, 68, 68, 1357, 68, 68, 1355, 68, 68,
- 68, 1352, 1353, 1354, 68, 1351, 68, 1358, 68, 68,
-
- 68, 1367, 68, 1356, 1365, 1366, 68, 1361, 68, 1360,
- 1363, 68, 1359, 68, 1362, 68, 1364, 1368, 68, 68,
- 68, 68, 1376, 68, 1373, 68, 1369, 1377, 68, 1370,
- 1371, 68, 1378, 1372, 68, 68, 68, 68, 1375, 1374,
- 1380, 1379, 1385, 68, 68, 1386, 68, 68, 68, 1381,
- 68, 68, 1383, 1382, 68, 68, 1384, 68, 1393, 1394,
- 68, 1388, 1387, 68, 1397, 68, 1389, 68, 1390, 68,
- 1391, 68, 1395, 68, 1392, 1399, 68, 1400, 68, 68,
- 1401, 1396, 1403, 68, 68, 68, 1398, 68, 1404, 1405,
- 1406, 1402, 68, 1407, 68, 68, 68, 1409, 1654, 1410,
-
- 1412, 68, 1408, 1413, 68, 1420, 1414, 1415, 68, 1417,
- 1411, 68, 1416, 68, 68, 68, 68, 68, 68, 1418,
- 68, 1419, 68, 68, 68, 1423, 1422, 1425, 68, 68,
- 68, 68, 1421, 68, 1424, 68, 1430, 1428, 68, 1429,
- 1431, 1426, 1427, 68, 1435, 68, 68, 1437, 68, 68,
- 68, 68, 1432, 68, 68, 1436, 1439, 1438, 1433, 1440,
- 1442, 68, 1434, 68, 1444, 68, 1441, 68, 1445, 1446,
- 68, 1447, 68, 68, 1443, 1448, 68, 1451, 1452, 68,
- 68, 68, 68, 68, 1453, 1449, 68, 1450, 68, 1454,
- 68, 1457, 68, 68, 1461, 68, 68, 68, 1455, 1456,
-
- 68, 1465, 68, 1466, 1463, 68, 1458, 1460, 68, 68,
- 1459, 1462, 68, 1468, 68, 68, 1464, 68, 68, 68,
- 68, 1467, 1474, 1471, 1476, 68, 68, 68, 68, 1469,
- 1477, 68, 68, 1482, 68, 1472, 1475, 1473, 1470, 1480,
- 1478, 1479, 68, 1483, 68, 1481, 68, 68, 68, 68,
- 68, 1485, 1490, 1484, 1488, 1487, 1486, 68, 1492, 68,
- 68, 68, 1495, 68, 68, 68, 1489, 68, 1496, 68,
- 68, 68, 68, 68, 1497, 1491, 1494, 1501, 1500, 1493,
- 1503, 68, 68, 1498, 1505, 68, 68, 1506, 1499, 1507,
- 68, 68, 1504, 1510, 68, 1511, 68, 1502, 68, 68,
-
- 68, 1515, 68, 68, 68, 68, 1508, 1519, 68, 1517,
- 68, 1513, 68, 1509, 1654, 1516, 68, 1512, 1522, 68,
- 1514, 1523, 68, 68, 1518, 1520, 1521, 68, 1525, 1524,
- 1526, 1654, 1527, 1528, 68, 1529, 68, 1530, 68, 68,
- 1532, 68, 68, 1533, 1531, 1534, 68, 68, 68, 1537,
- 68, 68, 1535, 68, 68, 68, 1536, 68, 1538, 1539,
- 68, 68, 68, 1547, 68, 68, 1545, 1548, 68, 1540,
- 68, 1541, 68, 68, 1542, 1543, 1549, 1550, 68, 68,
- 1553, 1544, 1546, 1551, 1552, 68, 1555, 68, 1554, 68,
- 68, 68, 68, 68, 1562, 68, 1559, 1560, 1556, 1563,
-
- 68, 1564, 68, 68, 1557, 68, 1566, 68, 1567, 68,
- 68, 1558, 1561, 68, 1569, 1565, 68, 68, 68, 68,
- 68, 1568, 1573, 68, 68, 68, 68, 68, 68, 1570,
- 1581, 68, 68, 1572, 1571, 68, 1575, 1582, 1577, 1574,
- 1583, 1578, 1580, 1576, 68, 68, 68, 1587, 68, 1584,
- 68, 1579, 68, 1591, 1592, 68, 68, 1585, 68, 68,
- 1586, 1589, 1588, 68, 68, 68, 68, 68, 1594, 1590,
- 1593, 68, 68, 68, 68, 1604, 68, 1601, 1596, 1598,
- 1599, 1602, 1595, 68, 1597, 68, 68, 1654, 1605, 68,
- 1600, 1606, 1603, 1609, 1607, 1610, 68, 68, 68, 68,
-
- 68, 68, 1614, 68, 1608, 68, 1611, 68, 1617, 68,
- 68, 68, 68, 1621, 68, 1654, 1612, 68, 1616, 1613,
- 1615, 68, 1622, 68, 1620, 68, 1624, 68, 1618, 1619,
- 68, 1625, 1626, 1623, 68, 1629, 68, 68, 68, 68,
- 1628, 1627, 1632, 68, 1630, 1631, 68, 68, 1633, 68,
- 68, 1635, 1636, 68, 1639, 68, 68, 68, 1634, 68,
- 1642, 1643, 68, 68, 1644, 1645, 68, 68, 1637, 1638,
- 1646, 68, 68, 68, 1640, 1641, 68, 1654, 1648, 1647,
- 1654, 1649, 1650, 1652, 68, 1654, 1651, 1653, 68, 40,
+ 72, 79, 72, 72, 134, 72, 89, 134, 96, 68,
+ 72, 73, 68, 90, 131, 131, 91, 80, 137, 68,
+ 97, 81, 68, 92, 82, 93, 83, 84, 98, 68,
+ 68, 101, 68, 139, 99, 102, 68, 117, 100, 118,
+ 68, 105, 140, 68, 109, 113, 134, 106, 110, 68,
+ 107, 103, 68, 68, 119, 114, 132, 108, 111, 115,
+ 116, 112, 68, 120, 68, 122, 144, 156, 121, 123,
+
+ 128, 143, 128, 128, 72, 128, 72, 72, 133, 72,
+ 133, 133, 68, 133, 67, 136, 67, 67, 68, 67,
+ 68, 141, 68, 68, 67, 72, 68, 72, 72, 68,
+ 72, 148, 145, 149, 142, 72, 73, 68, 68, 68,
+ 146, 68, 68, 151, 68, 147, 152, 68, 155, 161,
+ 158, 150, 68, 159, 68, 153, 157, 154, 68, 68,
+ 162, 68, 165, 163, 68, 68, 166, 160, 169, 68,
+ 68, 68, 170, 68, 68, 168, 167, 172, 175, 68,
+ 68, 68, 171, 164, 173, 177, 68, 68, 68, 178,
+ 68, 185, 68, 174, 68, 68, 68, 176, 68, 187,
+
+ 181, 179, 68, 182, 68, 68, 180, 186, 68, 183,
+ 184, 68, 189, 192, 68, 68, 258, 195, 190, 188,
+ 194, 124, 124, 68, 126, 191, 196, 126, 128, 134,
+ 128, 128, 197, 128, 193, 131, 131, 133, 200, 133,
+ 133, 72, 133, 72, 72, 68, 72, 68, 199, 68,
+ 198, 68, 136, 68, 68, 201, 205, 68, 68, 208,
+ 130, 68, 206, 207, 68, 209, 203, 68, 202, 68,
+ 216, 68, 68, 68, 204, 220, 217, 218, 221, 68,
+ 68, 68, 68, 68, 68, 68, 227, 210, 68, 232,
+ 68, 228, 211, 222, 68, 223, 224, 212, 68, 225,
+
+ 226, 231, 213, 230, 68, 233, 234, 236, 214, 215,
+ 229, 68, 68, 68, 68, 239, 68, 235, 241, 238,
+ 68, 240, 237, 68, 242, 68, 68, 68, 68, 68,
+ 68, 68, 243, 244, 245, 68, 246, 68, 68, 248,
+ 249, 68, 256, 250, 68, 68, 252, 68, 247, 68,
+ 260, 68, 68, 68, 263, 68, 259, 251, 68, 129,
+ 253, 264, 254, 255, 262, 257, 68, 266, 134, 68,
+ 261, 267, 68, 68, 272, 68, 68, 270, 68, 68,
+ 269, 271, 274, 273, 265, 68, 68, 68, 268, 68,
+ 275, 68, 279, 277, 276, 68, 280, 281, 68, 282,
+
+ 68, 68, 283, 68, 68, 68, 68, 284, 286, 289,
+ 287, 278, 68, 288, 68, 68, 291, 68, 285, 293,
+ 68, 68, 292, 68, 68, 68, 290, 68, 298, 68,
+ 68, 68, 303, 68, 300, 68, 68, 68, 297, 295,
+ 294, 68, 68, 68, 296, 302, 304, 299, 305, 301,
+ 308, 68, 306, 68, 68, 307, 312, 313, 314, 68,
+ 68, 68, 68, 309, 310, 311, 68, 320, 68, 315,
+ 68, 319, 68, 322, 68, 321, 318, 316, 68, 68,
+ 317, 326, 68, 68, 68, 68, 68, 336, 328, 323,
+ 324, 68, 68, 68, 329, 68, 330, 68, 331, 325,
+
+ 68, 332, 327, 68, 333, 68, 334, 68, 337, 335,
+ 342, 68, 340, 68, 338, 339, 134, 68, 68, 341,
+ 68, 127, 68, 68, 68, 344, 343, 68, 352, 345,
+ 346, 353, 68, 356, 68, 68, 355, 354, 361, 347,
+ 357, 348, 349, 350, 358, 68, 351, 359, 363, 68,
+ 362, 366, 360, 68, 364, 68, 68, 68, 68, 365,
+ 369, 370, 368, 68, 68, 68, 68, 68, 68, 375,
+ 376, 367, 68, 68, 68, 68, 68, 388, 371, 68,
+ 372, 373, 374, 379, 381, 68, 68, 378, 384, 383,
+ 377, 382, 385, 68, 68, 68, 380, 68, 387, 386,
+
+ 389, 68, 68, 391, 392, 68, 68, 68, 68, 68,
+ 68, 397, 396, 68, 390, 394, 68, 68, 398, 395,
+ 68, 400, 68, 401, 68, 68, 393, 68, 68, 68,
+ 68, 68, 403, 68, 404, 68, 68, 399, 402, 405,
+ 409, 410, 412, 411, 408, 68, 68, 68, 406, 407,
+ 68, 413, 68, 68, 68, 68, 416, 68, 418, 428,
+ 68, 417, 68, 430, 68, 68, 68, 414, 68, 429,
+ 419, 415, 68, 432, 420, 68, 421, 426, 427, 68,
+ 434, 422, 68, 423, 68, 431, 68, 68, 439, 68,
+ 68, 424, 68, 433, 440, 68, 436, 435, 445, 441,
+
+ 134, 425, 437, 68, 444, 438, 68, 68, 68, 68,
+ 443, 442, 450, 68, 68, 68, 68, 449, 446, 453,
+ 68, 448, 68, 68, 125, 447, 451, 452, 68, 458,
+ 68, 455, 463, 459, 68, 454, 460, 68, 456, 461,
+ 68, 457, 462, 68, 464, 68, 465, 68, 466, 68,
+ 470, 467, 68, 68, 468, 68, 469, 68, 68, 68,
+ 474, 471, 68, 472, 68, 68, 68, 475, 68, 68,
+ 480, 477, 68, 68, 68, 68, 478, 483, 476, 473,
+ 479, 494, 68, 484, 481, 68, 482, 68, 485, 68,
+ 68, 486, 68, 68, 488, 68, 493, 490, 68, 68,
+
+ 68, 68, 495, 489, 68, 68, 68, 492, 496, 491,
+ 68, 497, 553, 487, 499, 500, 498, 68, 68, 68,
+ 501, 503, 506, 502, 68, 504, 68, 68, 68, 68,
+ 510, 508, 505, 507, 511, 68, 68, 68, 512, 514,
+ 68, 68, 68, 68, 68, 68, 509, 68, 513, 519,
+ 68, 68, 524, 520, 68, 68, 526, 68, 515, 516,
+ 68, 517, 521, 518, 527, 68, 523, 68, 522, 68,
+ 68, 68, 529, 525, 68, 68, 528, 68, 68, 68,
+ 534, 533, 536, 537, 532, 530, 535, 68, 68, 531,
+ 68, 134, 68, 68, 68, 539, 542, 543, 68, 540,
+
+ 68, 546, 544, 68, 68, 538, 541, 68, 549, 547,
+ 68, 550, 548, 68, 545, 68, 551, 68, 68, 68,
+ 68, 68, 68, 68, 68, 566, 565, 564, 552, 563,
+ 68, 68, 68, 554, 561, 562, 574, 68, 578, 68,
+ 577, 575, 555, 68, 68, 68, 580, 581, 556, 576,
+ 68, 579, 557, 68, 582, 558, 68, 68, 68, 583,
+ 68, 68, 559, 584, 68, 560, 68, 567, 568, 585,
+ 569, 68, 588, 570, 68, 589, 590, 586, 571, 587,
+ 68, 68, 593, 68, 572, 573, 592, 594, 595, 591,
+ 68, 68, 68, 68, 596, 68, 597, 68, 600, 68,
+
+ 68, 603, 68, 598, 601, 599, 68, 602, 605, 68,
+ 68, 68, 68, 68, 604, 608, 68, 610, 68, 607,
+ 68, 68, 68, 612, 68, 609, 68, 615, 606, 68,
+ 68, 613, 68, 611, 68, 68, 68, 68, 621, 68,
+ 68, 620, 614, 626, 68, 616, 617, 68, 624, 68,
+ 619, 618, 629, 622, 625, 623, 68, 68, 630, 68,
+ 631, 628, 68, 68, 627, 68, 68, 634, 632, 68,
+ 636, 633, 637, 68, 68, 641, 638, 68, 68, 68,
+ 68, 643, 68, 68, 639, 68, 635, 640, 644, 134,
+ 68, 68, 68, 68, 645, 646, 68, 657, 642, 68,
+
+ 68, 68, 647, 68, 649, 68, 661, 68, 682, 648,
+ 134, 658, 650, 68, 660, 68, 651, 662, 652, 663,
+ 68, 68, 653, 68, 654, 659, 666, 664, 68, 655,
+ 665, 68, 68, 668, 656, 673, 667, 68, 68, 68,
+ 68, 670, 68, 672, 679, 669, 671, 68, 674, 68,
+ 678, 68, 68, 675, 68, 676, 680, 683, 68, 684,
+ 68, 681, 687, 68, 688, 689, 68, 68, 685, 690,
+ 68, 68, 68, 677, 68, 68, 68, 686, 68, 693,
+ 68, 68, 68, 68, 692, 698, 691, 696, 68, 68,
+ 702, 694, 695, 68, 697, 68, 700, 701, 68, 68,
+
+ 68, 699, 703, 706, 707, 708, 68, 704, 705, 68,
+ 710, 711, 68, 712, 68, 709, 68, 713, 68, 68,
+ 714, 68, 68, 715, 716, 68, 68, 68, 720, 718,
+ 68, 68, 717, 724, 68, 722, 723, 68, 727, 68,
+ 68, 68, 719, 726, 68, 68, 68, 721, 730, 728,
+ 725, 68, 68, 68, 68, 68, 68, 735, 68, 729,
+ 736, 738, 731, 68, 741, 732, 734, 739, 742, 68,
+ 68, 733, 737, 68, 68, 740, 744, 68, 68, 68,
+ 748, 68, 68, 68, 68, 743, 68, 68, 68, 68,
+ 68, 747, 746, 745, 782, 750, 68, 68, 756, 749,
+
+ 757, 751, 753, 68, 754, 68, 68, 755, 752, 68,
+ 760, 758, 68, 68, 759, 68, 764, 68, 762, 68,
+ 767, 68, 68, 68, 68, 68, 761, 68, 771, 769,
+ 763, 68, 765, 68, 68, 68, 772, 68, 766, 774,
+ 768, 773, 68, 68, 770, 775, 777, 68, 778, 68,
+ 68, 776, 780, 68, 779, 68, 68, 68, 68, 783,
+ 786, 68, 68, 68, 68, 68, 68, 68, 781, 787,
+ 784, 785, 791, 68, 794, 797, 795, 788, 792, 68,
+ 790, 68, 789, 68, 793, 800, 68, 796, 799, 801,
+ 68, 68, 803, 68, 68, 806, 68, 807, 68, 798,
+
+ 68, 68, 68, 805, 68, 802, 804, 808, 68, 809,
+ 68, 810, 813, 68, 68, 815, 816, 811, 812, 814,
+ 68, 68, 68, 68, 68, 823, 68, 817, 818, 68,
+ 824, 68, 819, 68, 68, 68, 68, 820, 827, 821,
+ 68, 822, 828, 68, 825, 68, 68, 829, 831, 826,
+ 832, 835, 68, 830, 837, 68, 68, 68, 68, 838,
+ 834, 836, 839, 833, 841, 68, 68, 843, 68, 68,
+ 845, 68, 68, 68, 844, 68, 68, 840, 847, 68,
+ 850, 849, 68, 848, 68, 132, 842, 68, 854, 68,
+ 852, 855, 846, 68, 853, 68, 68, 68, 857, 68,
+
+ 851, 68, 856, 68, 858, 861, 68, 68, 859, 864,
+ 860, 68, 68, 68, 68, 68, 68, 68, 870, 68,
+ 68, 862, 68, 68, 68, 865, 130, 868, 874, 876,
+ 863, 866, 867, 871, 869, 877, 68, 68, 873, 878,
+ 68, 68, 68, 68, 872, 875, 879, 883, 68, 880,
+ 881, 68, 68, 68, 885, 884, 882, 68, 68, 68,
+ 68, 68, 887, 889, 68, 892, 68, 68, 68, 68,
+ 68, 68, 886, 68, 68, 888, 899, 890, 901, 68,
+ 891, 895, 893, 896, 897, 894, 900, 68, 68, 898,
+ 68, 68, 902, 68, 908, 909, 903, 905, 907, 68,
+
+ 68, 68, 910, 904, 911, 68, 68, 68, 68, 68,
+ 916, 906, 913, 68, 917, 68, 918, 68, 68, 68,
+ 68, 68, 914, 68, 912, 924, 68, 923, 915, 68,
+ 68, 68, 919, 68, 68, 68, 68, 920, 952, 922,
+ 929, 68, 925, 68, 932, 921, 933, 68, 926, 68,
+ 927, 931, 928, 934, 68, 930, 68, 68, 937, 68,
+ 935, 68, 938, 936, 941, 68, 942, 68, 945, 68,
+ 68, 943, 68, 68, 68, 939, 68, 940, 964, 944,
+ 949, 947, 68, 948, 68, 68, 956, 946, 950, 68,
+ 951, 68, 68, 953, 68, 955, 68, 959, 68, 954,
+
+ 68, 957, 68, 961, 68, 68, 68, 68, 68, 958,
+ 68, 68, 966, 68, 969, 68, 963, 68, 68, 68,
+ 960, 68, 968, 970, 976, 965, 962, 68, 967, 975,
+ 973, 971, 68, 977, 979, 972, 68, 974, 68, 68,
+ 981, 68, 68, 68, 68, 984, 68, 68, 982, 68,
+ 980, 129, 978, 68, 68, 990, 987, 68, 985, 988,
+ 68, 68, 991, 992, 68, 68, 993, 983, 995, 986,
+ 996, 989, 994, 68, 997, 68, 68, 68, 68, 1002,
+ 68, 68, 998, 1001, 68, 68, 1004, 1005, 68, 68,
+ 1006, 68, 68, 68, 68, 999, 68, 1000, 68, 1013,
+
+ 68, 68, 68, 1003, 68, 1011, 68, 1007, 1010, 1012,
+ 68, 1008, 1009, 1019, 68, 1017, 68, 1018, 1014, 68,
+ 1015, 68, 1016, 1020, 1023, 68, 1021, 68, 68, 68,
+ 1024, 68, 1022, 1025, 68, 1026, 68, 1032, 1027, 68,
+ 1028, 68, 68, 1029, 68, 1031, 1030, 1033, 68, 68,
+ 68, 1034, 1035, 68, 1040, 68, 68, 68, 1037, 1036,
+ 68, 1042, 68, 1043, 68, 1048, 1045, 1050, 1039, 1046,
+ 68, 1041, 68, 68, 1038, 68, 1053, 1044, 1047, 1051,
+ 68, 68, 1049, 68, 68, 68, 1055, 68, 68, 1061,
+ 68, 68, 1056, 1054, 68, 1052, 1057, 1058, 68, 68,
+
+ 68, 68, 68, 1059, 1065, 68, 1060, 1062, 1063, 68,
+ 1066, 68, 68, 68, 1067, 1073, 1068, 1071, 1064, 1072,
+ 68, 1069, 1070, 68, 68, 1075, 68, 1078, 68, 68,
+ 1074, 68, 68, 1082, 68, 68, 1076, 1081, 1083, 68,
+ 1079, 1084, 68, 1086, 68, 1077, 68, 1080, 1085, 68,
+ 68, 68, 68, 68, 1088, 68, 68, 68, 1087, 1089,
+ 1092, 1098, 1093, 1090, 1097, 68, 68, 1091, 68, 68,
+ 68, 68, 1096, 1102, 68, 1094, 1095, 1104, 68, 1105,
+ 68, 68, 1107, 68, 68, 1106, 1108, 68, 1100, 1099,
+ 1101, 1103, 1109, 1111, 68, 1113, 68, 68, 68, 68,
+
+ 1114, 1115, 1110, 68, 68, 68, 68, 68, 68, 68,
+ 1125, 68, 68, 68, 1127, 1116, 1117, 1118, 68, 1112,
+ 68, 68, 1119, 1123, 1120, 1121, 68, 1122, 68, 1124,
+ 1129, 1130, 68, 1131, 68, 1132, 68, 1135, 1126, 68,
+ 1128, 68, 68, 1133, 1139, 68, 68, 1138, 68, 68,
+ 1142, 68, 1134, 68, 1144, 1141, 68, 1137, 1143, 68,
+ 68, 68, 68, 1147, 68, 1136, 1140, 68, 1150, 68,
+ 68, 1146, 68, 68, 1156, 68, 1145, 68, 1154, 1148,
+ 68, 68, 1155, 1152, 1151, 1153, 1159, 68, 1149, 1162,
+ 68, 1157, 1163, 68, 68, 1161, 1158, 1164, 1160, 1166,
+
+ 68, 1165, 68, 1169, 68, 68, 68, 68, 68, 68,
+ 1171, 68, 1168, 1174, 68, 1176, 1167, 1170, 68, 1172,
+ 68, 68, 68, 1179, 1178, 68, 1177, 1180, 68, 1181,
+ 68, 68, 68, 1175, 1173, 68, 68, 1183, 1185, 68,
+ 1184, 1187, 68, 68, 68, 1182, 1190, 68, 1186, 68,
+ 68, 68, 68, 68, 1188, 1189, 1195, 68, 1192, 68,
+ 1197, 68, 1196, 127, 1191, 68, 68, 1198, 1193, 68,
+ 1194, 68, 1199, 1204, 68, 1202, 1205, 1201, 1203, 68,
+ 1207, 68, 68, 1200, 1210, 68, 68, 1209, 1211, 68,
+ 68, 68, 68, 1206, 68, 1214, 68, 1212, 1208, 125,
+
+ 68, 1215, 68, 68, 68, 68, 68, 68, 68, 1224,
+ 68, 1213, 1217, 1223, 1218, 1219, 68, 1216, 68, 1220,
+ 1228, 68, 68, 68, 68, 1221, 1222, 1226, 1225, 1230,
+ 1227, 68, 68, 1231, 68, 68, 68, 1232, 1236, 1233,
+ 68, 1234, 68, 68, 68, 1237, 1240, 68, 1229, 68,
+ 1239, 1243, 68, 68, 68, 1235, 68, 1244, 68, 1241,
+ 1245, 1238, 68, 1247, 1249, 1246, 1248, 68, 68, 1242,
+ 68, 68, 68, 68, 68, 1252, 1250, 1253, 68, 68,
+ 1251, 68, 68, 68, 1254, 1257, 68, 1258, 1262, 68,
+ 1256, 68, 1261, 1255, 68, 1263, 68, 1259, 1264, 68,
+
+ 1266, 68, 68, 1260, 1269, 68, 1267, 1268, 68, 68,
+ 1265, 1272, 68, 1274, 68, 68, 1270, 68, 1273, 68,
+ 1275, 68, 1271, 1279, 68, 68, 1278, 1276, 68, 68,
+ 68, 68, 68, 1281, 68, 1277, 1284, 68, 1287, 68,
+ 68, 68, 68, 68, 1288, 1283, 1290, 68, 1286, 1289,
+ 1280, 68, 1282, 68, 68, 1285, 68, 68, 1299, 68,
+ 68, 68, 1292, 1300, 68, 68, 1297, 68, 1291, 1315,
+ 1293, 68, 1295, 1383, 1301, 1294, 68, 1296, 1298, 1302,
+ 1303, 68, 1304, 1305, 68, 1306, 68, 1308, 68, 1307,
+ 1309, 68, 1310, 68, 68, 1312, 68, 1313, 68, 68,
+
+ 1316, 68, 68, 1318, 68, 68, 68, 68, 68, 1322,
+ 1321, 68, 1320, 1311, 1324, 68, 1326, 68, 1314, 68,
+ 68, 1317, 68, 1319, 1323, 68, 1329, 1330, 68, 68,
+ 1325, 1332, 68, 68, 1334, 1328, 68, 68, 68, 68,
+ 68, 68, 1327, 1337, 1331, 1335, 68, 68, 68, 1336,
+ 68, 1341, 68, 1339, 68, 1333, 1343, 68, 1347, 1344,
+ 1346, 68, 1340, 1342, 1338, 68, 1345, 68, 1350, 1351,
+ 1349, 68, 1352, 68, 68, 68, 68, 1348, 68, 1357,
+ 1353, 68, 68, 68, 1355, 68, 1358, 68, 1354, 68,
+ 1356, 1360, 68, 1361, 68, 68, 1363, 1362, 68, 1364,
+
+ 68, 1367, 1359, 1365, 1366, 68, 68, 68, 68, 1368,
+ 1369, 1370, 68, 1371, 68, 68, 68, 1377, 1372, 1374,
+ 1373, 1376, 68, 68, 68, 68, 1381, 68, 68, 1378,
+ 1380, 68, 68, 1384, 1375, 1382, 1385, 68, 68, 68,
+ 1379, 1387, 68, 1386, 1388, 68, 1389, 68, 1390, 68,
+ 1392, 68, 1394, 68, 1393, 1391, 1395, 68, 68, 1398,
+ 68, 68, 68, 68, 68, 1400, 68, 1399, 1403, 68,
+ 68, 1402, 68, 1397, 68, 1396, 1404, 68, 1401, 1405,
+ 68, 68, 1406, 68, 68, 68, 1408, 1413, 68, 1411,
+ 1407, 68, 68, 1409, 68, 1410, 68, 68, 68, 68,
+
+ 1414, 68, 68, 68, 68, 1412, 68, 1422, 1423, 1417,
+ 1424, 68, 1419, 68, 1416, 1425, 68, 1420, 1415, 68,
+ 68, 1418, 68, 1421, 1426, 68, 68, 1433, 1428, 1430,
+ 68, 1427, 1434, 68, 68, 68, 68, 1436, 68, 1429,
+ 68, 68, 1431, 1432, 1435, 1442, 68, 1443, 68, 1437,
+ 68, 68, 68, 68, 1438, 68, 1439, 1440, 68, 1441,
+ 68, 1451, 68, 1450, 68, 1445, 1444, 68, 68, 68,
+ 1446, 68, 1454, 1447, 1448, 1455, 68, 68, 1449, 1452,
+ 1457, 68, 1456, 1459, 68, 1453, 1460, 68, 68, 1461,
+ 1458, 68, 68, 68, 68, 68, 68, 1464, 1465, 1462,
+
+ 1463, 68, 68, 1467, 68, 1474, 1469, 1470, 1472, 68,
+ 68, 1468, 68, 1466, 1473, 68, 68, 1475, 68, 1471,
+ 1476, 68, 1477, 68, 1478, 1481, 68, 68, 68, 68,
+ 1479, 68, 1480, 1482, 68, 68, 1483, 68, 1486, 1484,
+ 68, 68, 68, 1485, 68, 1491, 68, 68, 68, 68,
+ 1489, 1490, 68, 1488, 68, 1487, 1492, 1496, 68, 1498,
+ 68, 68, 68, 1497, 68, 1493, 68, 1500, 1494, 1499,
+ 68, 1495, 68, 1501, 68, 1504, 1505, 68, 68, 1502,
+ 68, 1507, 1730, 68, 68, 1503, 1508, 1509, 68, 1510,
+ 68, 68, 1506, 1511, 68, 1514, 1512, 1517, 1513, 68,
+
+ 68, 1515, 68, 1516, 1518, 68, 68, 68, 68, 68,
+ 68, 1521, 1525, 68, 68, 68, 68, 1529, 68, 68,
+ 1530, 68, 1519, 1520, 1524, 1522, 1527, 68, 1523, 68,
+ 68, 68, 1532, 1526, 1528, 68, 68, 1531, 68, 1538,
+ 1535, 68, 1540, 68, 68, 68, 68, 68, 1541, 1533,
+ 1730, 68, 68, 68, 1542, 1536, 1534, 68, 1537, 1539,
+ 1543, 1544, 1545, 1546, 68, 68, 1549, 68, 68, 1548,
+ 68, 1547, 68, 1551, 68, 68, 1550, 1553, 1557, 1552,
+ 1555, 68, 68, 68, 1559, 68, 68, 68, 1562, 68,
+ 1563, 68, 1556, 1554, 68, 68, 68, 68, 68, 68,
+
+ 1564, 1560, 1561, 1568, 1567, 68, 1558, 1570, 68, 68,
+ 1565, 1572, 68, 68, 1566, 68, 1574, 68, 1571, 68,
+ 1573, 68, 1576, 1569, 68, 1575, 68, 1577, 1579, 68,
+ 68, 1578, 1580, 68, 1584, 68, 1582, 68, 1581, 68,
+ 68, 68, 1585, 1589, 1587, 68, 1583, 68, 68, 1592,
+ 68, 1593, 68, 68, 1598, 68, 1730, 1586, 1595, 1588,
+ 1594, 1596, 1590, 1591, 68, 1599, 68, 1600, 68, 1597,
+ 68, 1602, 68, 68, 1603, 1601, 1604, 68, 68, 1606,
+ 68, 68, 68, 1609, 68, 68, 1607, 1605, 68, 68,
+ 1608, 68, 68, 1610, 1611, 68, 68, 1612, 68, 68,
+
+ 1620, 68, 68, 1618, 1621, 68, 1622, 68, 1614, 1613,
+ 1623, 68, 1615, 1616, 68, 1626, 68, 1617, 1624, 1619,
+ 68, 1625, 68, 1629, 68, 1630, 68, 68, 68, 68,
+ 68, 68, 68, 1637, 68, 1627, 1634, 1635, 1638, 68,
+ 1628, 1639, 68, 1632, 1640, 68, 68, 68, 1642, 1636,
+ 1633, 1643, 1631, 68, 68, 68, 68, 68, 1641, 1645,
+ 68, 68, 68, 68, 68, 1649, 68, 1644, 68, 68,
+ 68, 68, 1657, 68, 1646, 1647, 1648, 1651, 68, 1658,
+ 68, 1653, 1650, 1659, 1654, 1652, 1656, 68, 68, 68,
+ 1663, 68, 1660, 68, 1655, 68, 1667, 1668, 68, 68,
+
+ 68, 68, 68, 1662, 1665, 1661, 68, 1664, 68, 68,
+ 1666, 68, 1669, 1670, 68, 68, 68, 1730, 1671, 68,
+ 1672, 1677, 1674, 68, 1675, 68, 1680, 1673, 1678, 68,
+ 68, 68, 68, 1676, 1679, 1681, 1682, 1683, 1684, 1685,
+ 1686, 68, 68, 68, 68, 1690, 68, 68, 1688, 1687,
+ 68, 68, 68, 68, 68, 68, 1693, 68, 1697, 68,
+ 1692, 68, 1689, 68, 1698, 1691, 1702, 1696, 68, 1700,
+ 1703, 1694, 1695, 68, 1699, 68, 1701, 1705, 68, 68,
+ 68, 68, 68, 68, 68, 68, 1706, 1707, 1709, 1711,
+ 1712, 68, 1704, 68, 68, 1715, 68, 68, 68, 1718,
+
+ 1708, 1710, 1719, 68, 68, 1721, 68, 1722, 68, 68,
+ 1713, 1720, 1714, 68, 1724, 1716, 1717, 68, 68, 68,
+ 1723, 1730, 1725, 1728, 68, 1729, 68, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1726, 1727, 40,
40, 40, 40, 40, 40, 40, 45, 45, 45, 45,
-
45, 45, 45, 50, 50, 50, 50, 50, 50, 50,
56, 56, 56, 56, 56, 56, 56, 61, 61, 61,
- 61, 61, 61, 61, 71, 71, 1654, 71, 71, 71,
- 71, 123, 123, 1654, 1654, 1654, 123, 123, 125, 125,
- 1654, 1654, 125, 1654, 125, 127, 1654, 1654, 1654, 1654,
- 1654, 127, 130, 130, 1654, 1654, 1654, 130, 130, 132,
- 1654, 1654, 1654, 1654, 1654, 132, 134, 134, 1654, 134,
- 134, 134, 134, 72, 72, 1654, 72, 72, 72, 72,
- 13, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
-
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654
+ 61, 61, 61, 61, 71, 71, 1730, 71, 71, 71,
+ 71, 124, 124, 1730, 1730, 1730, 124, 124, 126, 126,
+ 1730, 1730, 126, 1730, 126, 128, 1730, 1730, 1730, 1730,
+
+ 1730, 128, 131, 131, 1730, 1730, 1730, 131, 131, 133,
+ 1730, 1730, 1730, 1730, 1730, 133, 135, 135, 1730, 135,
+ 135, 135, 135, 72, 72, 1730, 72, 72, 72, 72,
+ 13, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730
} ;
-static yyconst flex_int16_t yy_chk[3321] =
+static yyconst flex_int16_t yy_chk[3471] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1349,365 +1391,381 @@ static yyconst flex_int16_t yy_chk[3321] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
3, 3, 4, 4, 4, 49, 5, 5, 49, 3,
5, 15, 4, 6, 6, 15, 5, 6, 9, 9,
- 9, 151, 33, 6, 7, 7, 7, 7, 9, 7,
+ 9, 153, 33, 6, 7, 7, 7, 7, 9, 7,
10, 10, 10, 44, 44, 7, 8, 8, 8, 8,
- 10, 8, 21, 33, 151, 21, 21, 8, 11, 11,
- 11, 11, 11, 11, 1660, 20, 29, 20, 20, 11,
+ 10, 8, 21, 33, 153, 21, 21, 8, 11, 11,
+ 11, 11, 11, 11, 1736, 20, 29, 20, 20, 11,
20, 29, 24, 21, 25, 20, 24, 28, 11, 12,
12, 12, 12, 12, 12, 74, 22, 22, 74, 25,
12, 69, 28, 30, 22, 69, 24, 26, 26, 12,
- 19, 22, 19, 19, 66, 19, 26, 110, 30, 27,
+ 19, 22, 19, 19, 66, 19, 26, 644, 30, 27,
19, 19, 23, 27, 60, 60, 27, 23, 66, 31,
- 31, 23, 110, 27, 23, 27, 23, 23, 31, 75,
- 32, 32, 34, 75, 31, 32, 76, 35, 31, 36,
- 77, 34, 35, 77, 36, 37, 37, 34, 37, 101,
- 34, 32, 35, 38, 36, 35, 76, 34, 36, 36,
- 39, 39, 101, 37, 173, 39, 55, 38, 55, 55,
-
- 173, 55, 38, 63, 78, 63, 63, 65, 63, 65,
- 65, 79, 65, 68, 63, 68, 68, 82, 68, 80,
- 81, 83, 78, 68, 71, 79, 71, 71, 84, 71,
- 85, 80, 86, 84, 71, 71, 87, 88, 81, 82,
- 83, 89, 90, 91, 85, 89, 84, 90, 94, 97,
- 92, 631, 86, 92, 87, 88, 92, 91, 93, 95,
- 98, 104, 96, 93, 95, 96, 103, 94, 99, 96,
- 92, 100, 99, 97, 98, 102, 105, 106, 100, 103,
- 105, 104, 102, 107, 95, 108, 109, 111, 107, 112,
- 114, 113, 107, 115, 115, 106, 113, 116, 118, 109,
-
- 117, 119, 114, 119, 120, 108, 111, 112, 121, 120,
- 122, 124, 124, 132, 115, 116, 117, 140, 126, 118,
- 121, 126, 131, 131, 119, 140, 139, 128, 122, 128,
- 128, 133, 128, 133, 133, 134, 133, 134, 134, 136,
- 134, 139, 136, 137, 138, 141, 134, 142, 137, 138,
- 143, 149, 144, 145, 176, 143, 143, 144, 145, 146,
- 141, 146, 148, 148, 150, 154, 153, 142, 152, 150,
- 149, 153, 152, 155, 157, 156, 176, 160, 158, 154,
- 130, 146, 147, 158, 159, 159, 147, 156, 155, 161,
- 156, 147, 157, 162, 163, 163, 147, 160, 162, 167,
-
- 166, 164, 147, 147, 159, 161, 164, 174, 165, 166,
- 168, 169, 164, 165, 170, 168, 169, 171, 172, 170,
- 167, 178, 171, 175, 177, 172, 179, 174, 180, 175,
- 181, 182, 177, 180, 183, 184, 178, 186, 185, 183,
- 185, 188, 187, 191, 186, 189, 179, 187, 191, 182,
- 182, 192, 181, 190, 190, 184, 192, 189, 194, 193,
- 188, 193, 195, 196, 197, 199, 191, 198, 200, 197,
- 194, 196, 198, 202, 201, 129, 203, 208, 193, 203,
- 199, 195, 201, 204, 204, 205, 200, 209, 205, 206,
- 206, 207, 207, 208, 210, 211, 212, 210, 202, 211,
-
- 214, 213, 209, 215, 215, 212, 213, 216, 217, 218,
- 219, 220, 216, 217, 214, 222, 222, 221, 223, 224,
- 225, 226, 227, 224, 230, 229, 231, 227, 219, 218,
- 221, 228, 220, 226, 228, 231, 223, 229, 225, 232,
- 233, 230, 234, 235, 230, 235, 235, 236, 236, 237,
- 238, 239, 237, 233, 234, 240, 241, 241, 242, 244,
- 232, 243, 243, 242, 240, 245, 239, 238, 246, 247,
- 238, 248, 249, 246, 244, 249, 248, 249, 250, 251,
- 255, 252, 253, 254, 256, 245, 265, 253, 254, 247,
- 252, 257, 250, 258, 259, 251, 260, 259, 251, 263,
-
- 251, 255, 264, 262, 256, 265, 257, 258, 263, 266,
- 260, 267, 269, 259, 261, 268, 261, 261, 262, 270,
- 268, 271, 272, 264, 266, 273, 261, 272, 261, 261,
- 261, 267, 269, 261, 270, 274, 271, 275, 276, 277,
- 278, 278, 275, 278, 277, 273, 279, 280, 281, 274,
- 283, 282, 283, 284, 276, 285, 286, 284, 287, 288,
- 295, 295, 127, 280, 281, 282, 279, 287, 288, 289,
- 286, 290, 291, 285, 289, 290, 297, 292, 293, 294,
- 287, 291, 292, 294, 293, 296, 298, 298, 299, 297,
- 296, 300, 301, 299, 302, 303, 304, 304, 305, 303,
-
- 306, 301, 310, 305, 307, 307, 302, 309, 309, 311,
- 312, 315, 300, 313, 316, 317, 319, 311, 321, 312,
- 322, 306, 318, 310, 319, 313, 323, 318, 320, 317,
- 325, 315, 326, 320, 316, 324, 321, 326, 327, 324,
- 328, 331, 322, 330, 334, 325, 332, 323, 336, 333,
- 338, 332, 333, 342, 327, 339, 332, 331, 125, 328,
- 329, 329, 340, 330, 334, 338, 329, 339, 329, 335,
- 335, 337, 337, 336, 341, 342, 329, 340, 343, 344,
- 345, 346, 348, 343, 351, 347, 329, 348, 344, 347,
- 349, 350, 353, 341, 352, 352, 346, 351, 354, 345,
-
- 355, 356, 349, 355, 353, 357, 358, 359, 357, 350,
- 354, 359, 359, 360, 361, 361, 356, 362, 362, 363,
- 364, 364, 358, 367, 363, 358, 360, 365, 365, 366,
- 368, 373, 369, 370, 366, 368, 369, 371, 370, 376,
- 372, 371, 374, 375, 367, 372, 377, 374, 375, 377,
- 379, 373, 380, 376, 377, 378, 378, 381, 377, 384,
- 382, 383, 381, 384, 383, 385, 380, 386, 379, 382,
- 385, 387, 388, 390, 389, 391, 387, 395, 390, 392,
- 386, 391, 392, 396, 393, 384, 389, 393, 388, 394,
- 398, 397, 406, 398, 394, 395, 397, 396, 399, 402,
-
- 400, 401, 408, 399, 400, 400, 401, 403, 402, 404,
- 403, 406, 409, 404, 404, 405, 407, 405, 407, 410,
- 408, 411, 412, 413, 414, 403, 412, 415, 416, 417,
- 409, 418, 413, 420, 417, 419, 419, 420, 410, 414,
- 421, 411, 422, 416, 423, 415, 424, 422, 425, 426,
- 418, 421, 427, 429, 430, 428, 426, 427, 429, 430,
- 423, 425, 428, 431, 432, 424, 433, 435, 434, 438,
- 436, 432, 435, 436, 437, 433, 439, 439, 437, 441,
- 443, 431, 434, 442, 441, 439, 444, 442, 445, 446,
- 438, 447, 443, 450, 453, 457, 445, 456, 458, 463,
-
- 459, 457, 458, 462, 444, 459, 456, 446, 450, 461,
- 464, 453, 470, 464, 461, 470, 447, 448, 465, 465,
- 466, 462, 448, 468, 463, 473, 448, 466, 123, 448,
- 467, 467, 469, 469, 472, 474, 448, 478, 468, 448,
- 460, 460, 460, 471, 460, 473, 477, 460, 471, 475,
- 476, 476, 460, 472, 474, 478, 67, 475, 460, 460,
- 479, 477, 480, 480, 481, 479, 482, 483, 484, 481,
- 483, 482, 485, 486, 484, 487, 489, 488, 490, 490,
- 485, 486, 488, 489, 491, 492, 493, 496, 495, 498,
- 492, 495, 491, 487, 497, 497, 499, 501, 502, 499,
-
- 503, 496, 504, 502, 498, 493, 505, 499, 507, 506,
- 508, 511, 509, 510, 508, 514, 616, 507, 501, 512,
- 511, 503, 504, 515, 519, 513, 522, 616, 505, 506,
- 509, 513, 510, 512, 516, 514, 517, 515, 518, 516,
- 520, 517, 518, 519, 521, 523, 523, 522, 524, 521,
- 526, 525, 520, 524, 525, 528, 527, 529, 530, 530,
- 528, 531, 531, 532, 534, 535, 533, 536, 526, 527,
- 533, 538, 539, 540, 542, 538, 541, 529, 532, 542,
- 543, 536, 544, 534, 545, 546, 61, 539, 545, 535,
- 537, 541, 547, 537, 543, 537, 544, 547, 540, 537,
-
- 546, 537, 549, 548, 550, 551, 537, 547, 548, 552,
- 555, 537, 553, 556, 56, 552, 549, 553, 556, 551,
- 554, 554, 555, 557, 558, 550, 554, 560, 554, 559,
- 559, 561, 560, 562, 563, 569, 558, 557, 565, 561,
- 564, 564, 565, 567, 570, 571, 554, 562, 567, 568,
- 571, 572, 568, 563, 569, 573, 574, 570, 575, 576,
- 577, 578, 580, 579, 576, 574, 582, 580, 583, 584,
- 572, 573, 579, 585, 586, 578, 587, 575, 585, 586,
- 577, 587, 588, 596, 584, 582, 583, 589, 589, 590,
- 594, 588, 592, 594, 590, 595, 592, 592, 593, 593,
-
- 598, 597, 593, 596, 597, 606, 599, 600, 601, 602,
- 595, 599, 600, 603, 601, 604, 604, 605, 608, 603,
- 609, 598, 610, 606, 607, 602, 605, 607, 611, 612,
- 613, 614, 617, 618, 612, 613, 608, 615, 618, 609,
- 615, 611, 610, 619, 617, 620, 621, 621, 619, 614,
- 622, 623, 624, 625, 626, 628, 629, 625, 627, 632,
- 620, 633, 634, 635, 624, 623, 636, 627, 635, 622,
- 637, 636, 626, 632, 628, 637, 633, 638, 639, 640,
- 641, 629, 634, 642, 640, 643, 644, 645, 645, 646,
- 647, 638, 639, 648, 650, 641, 647, 649, 649, 650,
-
- 643, 651, 642, 652, 654, 644, 653, 646, 651, 653,
- 655, 656, 657, 648, 659, 658, 656, 652, 661, 655,
- 658, 660, 654, 662, 663, 660, 666, 661, 664, 665,
- 667, 657, 668, 659, 669, 664, 671, 670, 662, 663,
- 669, 665, 674, 675, 672, 666, 676, 674, 677, 51,
- 668, 667, 670, 672, 676, 678, 671, 675, 679, 680,
- 678, 682, 679, 679, 681, 681, 683, 684, 677, 685,
- 685, 686, 684, 691, 682, 683, 686, 687, 680, 688,
- 688, 689, 687, 690, 692, 701, 693, 691, 690, 694,
- 689, 693, 695, 698, 694, 696, 697, 695, 702, 696,
-
- 701, 703, 692, 700, 698, 697, 704, 700, 706, 705,
- 697, 707, 697, 708, 697, 703, 702, 705, 709, 709,
- 710, 714, 706, 711, 711, 704, 714, 713, 715, 707,
- 713, 716, 716, 717, 719, 710, 718, 718, 708, 719,
- 720, 720, 721, 722, 723, 724, 726, 715, 722, 728,
- 724, 727, 723, 717, 725, 725, 728, 727, 730, 734,
- 731, 732, 721, 730, 726, 731, 732, 733, 734, 735,
- 736, 738, 733, 737, 737, 739, 741, 740, 746, 742,
- 745, 736, 740, 743, 744, 744, 747, 748, 735, 749,
- 750, 738, 748, 758, 761, 750, 741, 758, 739, 742,
-
- 745, 743, 752, 746, 747, 753, 752, 752, 754, 755,
- 756, 755, 749, 757, 753, 759, 754, 760, 757, 762,
- 761, 764, 763, 765, 756, 766, 759, 763, 767, 766,
- 768, 769, 770, 771, 772, 773, 760, 762, 776, 764,
- 773, 780, 778, 765, 774, 769, 767, 770, 771, 768,
- 775, 774, 777, 772, 779, 775, 776, 778, 781, 782,
- 779, 777, 780, 781, 782, 783, 784, 784, 786, 786,
- 783, 787, 788, 789, 790, 791, 793, 788, 794, 791,
- 791, 792, 792, 795, 796, 797, 799, 789, 800, 787,
- 803, 797, 801, 790, 798, 793, 802, 794, 804, 798,
-
- 811, 805, 808, 796, 803, 799, 808, 800, 809, 795,
- 815, 801, 806, 806, 810, 802, 805, 807, 818, 804,
- 811, 809, 807, 810, 812, 812, 813, 831, 814, 816,
- 815, 813, 814, 820, 816, 836, 818, 822, 820, 821,
- 821, 830, 822, 824, 824, 826, 826, 828, 829, 829,
- 828, 832, 831, 833, 834, 836, 830, 838, 833, 835,
- 835, 837, 837, 839, 840, 832, 841, 842, 840, 834,
- 844, 847, 842, 845, 839, 846, 846, 848, 849, 838,
- 850, 851, 850, 853, 852, 841, 851, 845, 844, 852,
- 854, 847, 855, 856, 856, 854, 857, 848, 849, 859,
-
- 860, 860, 857, 853, 861, 862, 855, 864, 863, 866,
- 865, 863, 864, 868, 863, 865, 861, 867, 866, 871,
- 871, 869, 867, 859, 869, 862, 863, 870, 872, 873,
- 874, 875, 870, 877, 876, 878, 875, 881, 868, 876,
- 878, 879, 879, 882, 880, 883, 872, 884, 873, 880,
- 874, 888, 885, 886, 887, 881, 877, 889, 890, 887,
- 893, 884, 892, 882, 885, 883, 886, 892, 50, 894,
- 896, 888, 895, 899, 899, 893, 894, 889, 902, 890,
- 900, 895, 901, 900, 895, 904, 896, 901, 903, 905,
- 906, 907, 908, 908, 902, 909, 907, 903, 905, 906,
-
- 910, 905, 911, 912, 904, 913, 914, 915, 915, 916,
- 917, 919, 45, 910, 920, 909, 919, 912, 921, 923,
- 911, 922, 925, 921, 914, 916, 924, 922, 917, 929,
- 913, 924, 920, 926, 930, 925, 926, 929, 931, 923,
- 932, 933, 926, 935, 934, 937, 933, 930, 938, 939,
- 940, 943, 938, 941, 939, 940, 931, 942, 941, 932,
- 934, 935, 944, 945, 945, 937, 942, 946, 947, 951,
- 948, 949, 950, 952, 943, 954, 949, 944, 954, 952,
- 947, 946, 948, 957, 950, 953, 953, 951, 955, 955,
- 958, 958, 957, 959, 960, 961, 962, 963, 964, 960,
-
- 965, 966, 967, 964, 961, 959, 968, 968, 962, 965,
- 969, 970, 963, 40, 971, 969, 972, 967, 973, 973,
- 974, 966, 965, 975, 975, 976, 976, 977, 982, 978,
- 984, 977, 970, 971, 978, 979, 972, 981, 979, 983,
- 974, 989, 981, 990, 983, 988, 982, 985, 985, 986,
- 986, 987, 991, 992, 993, 984, 987, 988, 988, 988,
- 995, 989, 997, 990, 988, 994, 994, 992, 996, 996,
- 999, 1002, 991, 1000, 1000, 993, 1001, 1004, 1002, 999,
- 1003, 1006, 997, 1005, 1005, 1007, 995, 1009, 1010, 1003,
- 1011, 1001, 1009, 1010, 1014, 1012, 1013, 1013, 1016, 1014,
-
- 1015, 1007, 1012, 1004, 1017, 1018, 1019, 1006, 1020, 1015,
- 1011, 1021, 1022, 1022, 1020, 1023, 1024, 1024, 1016, 1017,
- 1021, 1019, 1025, 1026, 1018, 1027, 1023, 1028, 1028, 1029,
- 1027, 1023, 1031, 1029, 1029, 1030, 1032, 1026, 1034, 1033,
- 1030, 1035, 1036, 1025, 1033, 1035, 1037, 1038, 1032, 1041,
- 1034, 1039, 1038, 1043, 1036, 1040, 1043, 14, 1031, 1049,
- 1040, 1041, 1044, 1044, 1045, 1045, 1046, 1053, 1049, 1047,
- 1048, 1037, 1046, 1039, 1047, 1051, 1048, 1055, 1057, 1053,
- 1051, 1056, 1056, 1058, 1059, 1060, 1061, 1064, 1062, 1055,
- 1061, 1063, 1058, 1062, 1066, 1066, 1063, 1067, 1057, 1068,
-
- 1069, 1064, 1059, 1074, 1060, 1075, 1066, 1076, 1068, 1069,
- 1071, 1071, 1076, 1077, 1082, 1067, 1078, 1078, 1074, 1075,
- 1079, 1082, 1079, 1080, 1080, 1083, 1084, 1084, 1085, 1086,
- 1077, 1087, 1088, 1090, 1089, 1091, 1092, 1085, 1095, 1096,
- 1095, 1101, 1094, 1087, 1088, 1083, 1089, 1094, 1090, 1097,
- 1086, 1099, 1100, 1100, 1102, 1091, 1092, 1096, 1097, 1102,
- 1103, 1104, 1103, 1105, 1106, 1099, 1104, 1101, 1105, 1107,
- 1108, 1109, 1111, 1112, 1114, 1108, 1109, 1113, 1113, 1117,
- 1118, 1115, 1106, 1116, 1123, 1116, 1114, 1112, 1117, 1107,
- 1115, 1111, 1118, 1115, 1120, 1121, 1124, 1123, 1125, 1120,
-
- 1121, 1127, 1129, 1130, 1131, 1136, 1132, 1127, 1129, 1133,
- 1133, 1134, 1135, 1135, 1125, 1132, 1124, 1137, 1130, 1139,
- 1134, 1137, 1138, 1141, 1136, 1140, 1140, 1138, 1144, 1131,
- 1147, 1141, 1139, 1145, 1145, 1146, 1146, 1144, 1148, 1149,
- 1150, 1150, 1147, 1152, 1149, 1153, 1154, 1155, 1156, 1157,
- 1153, 1159, 1159, 1156, 1158, 1160, 1148, 1161, 1162, 1160,
- 1163, 1164, 1155, 1162, 1166, 1167, 1168, 1157, 1152, 1154,
- 1158, 1169, 1161, 1171, 1173, 1173, 1170, 1175, 1174, 1176,
- 1164, 1174, 1177, 1178, 1178, 1168, 1163, 1166, 1170, 1167,
- 1175, 1181, 1169, 1176, 1171, 1177, 1179, 1179, 1180, 1180,
-
- 1182, 1182, 1183, 1183, 1181, 1184, 1184, 1185, 1186, 1186,
- 1187, 1187, 1188, 1190, 1191, 1191, 1192, 1195, 1190, 1193,
- 1193, 1194, 1196, 1195, 1203, 1196, 1185, 1197, 1197, 1198,
- 1198, 1188, 1199, 1200, 1200, 1192, 1202, 1202, 1205, 1194,
- 1204, 1204, 1206, 1197, 1207, 1208, 1209, 1205, 1210, 1207,
- 1203, 1199, 1211, 1212, 1206, 1213, 1214, 1211, 1215, 1209,
- 1219, 1216, 1221, 1217, 1213, 1214, 1216, 1217, 1212, 1210,
- 1208, 1221, 1215, 1222, 1222, 1226, 1223, 1224, 1224, 1227,
- 1219, 1223, 1229, 1230, 1231, 1229, 1224, 1235, 1230, 1238,
- 1226, 1227, 1232, 1232, 1234, 1234, 1236, 1236, 1237, 1239,
-
- 13, 1235, 1246, 1238, 1231, 1240, 1240, 1242, 1249, 1243,
- 1237, 1242, 1243, 1244, 1244, 1245, 1247, 1248, 1239, 1250,
- 1245, 1248, 1246, 1252, 1250, 1254, 1251, 1255, 1249, 1252,
- 1247, 1251, 1255, 1256, 1257, 1258, 1276, 1258, 1256, 1261,
- 1261, 1254, 1257, 1265, 1265, 1268, 1269, 1269, 1271, 1271,
- 1268, 1273, 1274, 1274, 1275, 1277, 1273, 1284, 1276, 1282,
- 1277, 1279, 1279, 1283, 1282, 1283, 1289, 1285, 1286, 1286,
- 1275, 1284, 1285, 1287, 1287, 1288, 1288, 1290, 1289, 1291,
- 1292, 1293, 1294, 1295, 1296, 1296, 1298, 1294, 1297, 1299,
- 1301, 1291, 1292, 1293, 1300, 1290, 1302, 1297, 1303, 1304,
-
- 1305, 1306, 1306, 1295, 1304, 1305, 1310, 1300, 1312, 1299,
- 1302, 1311, 1298, 1313, 1301, 1314, 1303, 1307, 1307, 1315,
- 1316, 1317, 1317, 1320, 1314, 1322, 1310, 1319, 1319, 1311,
- 1312, 1323, 1320, 1313, 1321, 1324, 1325, 1326, 1316, 1315,
- 1322, 1321, 1327, 1327, 1329, 1328, 1330, 1331, 1332, 1323,
- 1328, 1334, 1325, 1324, 1337, 1338, 1326, 1340, 1338, 1339,
- 1339, 1330, 1329, 1341, 1343, 1343, 1331, 1344, 1332, 1351,
- 1334, 1355, 1340, 1352, 1337, 1345, 1345, 1346, 1346, 1350,
- 1350, 1341, 1352, 1353, 1354, 1356, 1344, 1358, 1353, 1354,
- 1355, 1351, 1359, 1356, 1360, 1361, 1372, 1359, 0, 1360,
-
- 1362, 1362, 1358, 1363, 1363, 1372, 1364, 1365, 1365, 1369,
- 1361, 1364, 1366, 1366, 1369, 1370, 1371, 1373, 1374, 1370,
- 1375, 1371, 1376, 1379, 1378, 1375, 1374, 1378, 1381, 1380,
- 1382, 1384, 1373, 1386, 1376, 1383, 1383, 1381, 1387, 1382,
- 1384, 1379, 1380, 1388, 1389, 1389, 1390, 1391, 1391, 1392,
- 1395, 1393, 1386, 1396, 1401, 1390, 1393, 1392, 1387, 1395,
- 1398, 1398, 1388, 1402, 1402, 1403, 1396, 1407, 1403, 1404,
- 1404, 1405, 1405, 1408, 1401, 1406, 1406, 1409, 1410, 1410,
- 1411, 1417, 1409, 1414, 1411, 1407, 1418, 1408, 1419, 1414,
- 1420, 1418, 1423, 1421, 1422, 1422, 1424, 1425, 1417, 1417,
-
- 1426, 1426, 1427, 1427, 1424, 1428, 1419, 1421, 1429, 1430,
- 1420, 1423, 1431, 1429, 1432, 1433, 1425, 1434, 1438, 1436,
- 1445, 1428, 1436, 1432, 1439, 1439, 1440, 1444, 1449, 1430,
- 1440, 1441, 1443, 1449, 1455, 1433, 1438, 1434, 1431, 1444,
- 1441, 1443, 1450, 1450, 1451, 1445, 1453, 1454, 1457, 1456,
- 1459, 1453, 1458, 1451, 1456, 1455, 1454, 1458, 1460, 1460,
- 1462, 1463, 1464, 1464, 1465, 1466, 1457, 1467, 1465, 1468,
- 1469, 1471, 1470, 1473, 1466, 1459, 1463, 1470, 1469, 1462,
- 1472, 1472, 1475, 1467, 1474, 1474, 1478, 1475, 1468, 1477,
- 1477, 1479, 1473, 1480, 1480, 1481, 1481, 1471, 1482, 1483,
-
- 1484, 1485, 1485, 1486, 1487, 1488, 1478, 1489, 1490, 1487,
- 1494, 1483, 1489, 1479, 0, 1486, 1497, 1482, 1491, 1491,
- 1484, 1493, 1493, 1496, 1488, 1490, 1490, 1498, 1496, 1494,
- 1497, 0, 1498, 1499, 1499, 1500, 1500, 1501, 1501, 1502,
- 1504, 1504, 1506, 1506, 1502, 1508, 1508, 1509, 1512, 1513,
- 1513, 1517, 1509, 1514, 1516, 1518, 1512, 1519, 1514, 1516,
- 1520, 1521, 1524, 1525, 1525, 1536, 1521, 1526, 1526, 1517,
- 1538, 1518, 1527, 1540, 1519, 1519, 1527, 1531, 1531, 1533,
- 1536, 1520, 1524, 1533, 1535, 1535, 1539, 1539, 1538, 1541,
- 1542, 1543, 1544, 1545, 1546, 1546, 1543, 1544, 1540, 1549,
-
- 1549, 1551, 1551, 1553, 1541, 1554, 1554, 1557, 1556, 1558,
- 1559, 1542, 1545, 1556, 1558, 1553, 1560, 1561, 1565, 1566,
- 1569, 1557, 1565, 1567, 1568, 1570, 1571, 1572, 1574, 1559,
- 1573, 1573, 1577, 1561, 1560, 1575, 1567, 1574, 1569, 1566,
- 1575, 1570, 1572, 1568, 1576, 1578, 1582, 1579, 1580, 1576,
- 1583, 1571, 1579, 1584, 1585, 1587, 1586, 1577, 1584, 1585,
- 1578, 1582, 1580, 1588, 1589, 1590, 1591, 1592, 1587, 1583,
- 1586, 1593, 1594, 1596, 1597, 1597, 1595, 1594, 1589, 1591,
- 1592, 1595, 1588, 1598, 1590, 1601, 1599, 0, 1598, 1600,
- 1593, 1599, 1596, 1602, 1600, 1603, 1603, 1605, 1602, 1604,
-
- 1606, 1608, 1607, 1611, 1601, 1609, 1604, 1607, 1611, 1612,
- 1613, 1614, 1615, 1615, 1617, 0, 1605, 1616, 1609, 1606,
- 1608, 1622, 1616, 1626, 1614, 1618, 1618, 1620, 1612, 1613,
- 1619, 1619, 1620, 1617, 1621, 1623, 1623, 1624, 1625, 1628,
- 1622, 1621, 1626, 1627, 1624, 1625, 1630, 1631, 1627, 1632,
- 1633, 1630, 1631, 1634, 1634, 1635, 1636, 1639, 1628, 1637,
- 1637, 1638, 1638, 1648, 1639, 1640, 1640, 1649, 1632, 1633,
- 1641, 1641, 1642, 1644, 1635, 1636, 1647, 0, 1644, 1642,
- 0, 1647, 1648, 1650, 1650, 0, 1649, 1651, 1651, 1655,
- 1655, 1655, 1655, 1655, 1655, 1655, 1656, 1656, 1656, 1656,
-
- 1656, 1656, 1656, 1657, 1657, 1657, 1657, 1657, 1657, 1657,
- 1658, 1658, 1658, 1658, 1658, 1658, 1658, 1659, 1659, 1659,
- 1659, 1659, 1659, 1659, 1661, 1661, 0, 1661, 1661, 1661,
- 1661, 1662, 1662, 0, 0, 0, 1662, 1662, 1663, 1663,
- 0, 0, 1663, 0, 1663, 1664, 0, 0, 0, 0,
- 0, 1664, 1665, 1665, 0, 0, 0, 1665, 1665, 1666,
- 0, 0, 0, 0, 0, 1666, 1667, 1667, 0, 1667,
- 1667, 1667, 1667, 1668, 1668, 0, 1668, 1668, 1668, 1668,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
-
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
- 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654
+ 31, 23, 76, 27, 23, 27, 23, 23, 31, 75,
+ 32, 32, 34, 75, 31, 32, 37, 37, 31, 37,
+ 36, 34, 76, 35, 35, 36, 133, 34, 35, 38,
+ 34, 32, 79, 78, 37, 36, 131, 34, 35, 36,
+ 36, 35, 90, 38, 39, 39, 79, 90, 38, 39,
+
+ 55, 78, 55, 55, 63, 55, 63, 63, 65, 63,
+ 65, 65, 83, 65, 68, 63, 68, 68, 77, 68,
+ 80, 77, 81, 82, 68, 71, 86, 71, 71, 85,
+ 71, 83, 80, 84, 77, 71, 71, 87, 84, 88,
+ 81, 94, 91, 85, 89, 82, 86, 92, 89, 93,
+ 92, 84, 97, 92, 93, 87, 91, 88, 95, 96,
+ 94, 98, 96, 95, 99, 100, 96, 92, 99, 101,
+ 102, 103, 100, 104, 105, 98, 97, 102, 105, 106,
+ 107, 108, 101, 95, 103, 107, 109, 110, 111, 107,
+ 112, 114, 113, 104, 117, 115, 114, 106, 116, 116,
+
+ 110, 108, 118, 111, 119, 122, 109, 115, 123, 112,
+ 113, 120, 117, 120, 188, 121, 188, 122, 118, 116,
+ 121, 125, 125, 140, 127, 119, 123, 127, 129, 137,
+ 129, 129, 137, 129, 120, 132, 132, 134, 140, 134,
+ 134, 135, 134, 135, 135, 138, 135, 141, 139, 142,
+ 138, 143, 135, 139, 144, 141, 145, 151, 146, 147,
+ 130, 145, 145, 146, 147, 148, 143, 148, 142, 150,
+ 150, 154, 152, 155, 144, 154, 151, 152, 155, 156,
+ 157, 160, 159, 162, 158, 163, 160, 148, 149, 164,
+ 161, 161, 149, 156, 164, 157, 158, 149, 169, 158,
+
+ 159, 163, 149, 162, 165, 165, 166, 167, 149, 149,
+ 161, 166, 167, 168, 176, 170, 171, 166, 172, 169,
+ 170, 171, 168, 172, 173, 174, 178, 175, 181, 173,
+ 177, 179, 174, 175, 176, 180, 177, 182, 184, 179,
+ 180, 183, 186, 181, 185, 187, 183, 186, 178, 189,
+ 190, 191, 192, 193, 193, 190, 189, 182, 198, 128,
+ 184, 194, 185, 185, 192, 187, 194, 195, 197, 196,
+ 191, 196, 195, 199, 200, 203, 204, 198, 201, 200,
+ 197, 199, 202, 201, 194, 205, 206, 202, 196, 207,
+ 203, 212, 207, 205, 204, 208, 208, 209, 210, 210,
+
+ 209, 211, 211, 213, 216, 214, 215, 212, 214, 217,
+ 215, 206, 218, 216, 217, 219, 219, 220, 213, 221,
+ 222, 223, 220, 224, 221, 225, 218, 226, 226, 227,
+ 228, 229, 231, 230, 228, 234, 233, 231, 225, 223,
+ 222, 235, 236, 232, 224, 230, 232, 227, 233, 229,
+ 235, 237, 234, 238, 239, 234, 239, 239, 240, 240,
+ 242, 243, 244, 236, 237, 238, 241, 245, 245, 241,
+ 246, 244, 247, 247, 248, 246, 243, 242, 249, 250,
+ 242, 251, 252, 253, 255, 256, 251, 258, 253, 248,
+ 249, 254, 258, 260, 254, 261, 254, 262, 255, 250,
+
+ 257, 256, 252, 259, 256, 263, 256, 264, 259, 257,
+ 264, 265, 262, 267, 260, 261, 269, 270, 271, 263,
+ 272, 126, 268, 276, 274, 265, 264, 266, 267, 266,
+ 266, 268, 275, 271, 279, 277, 270, 269, 276, 266,
+ 272, 266, 266, 266, 273, 280, 266, 274, 278, 273,
+ 277, 281, 275, 278, 279, 282, 281, 283, 285, 280,
+ 284, 284, 283, 284, 286, 287, 290, 289, 288, 289,
+ 290, 282, 291, 292, 293, 294, 301, 301, 285, 297,
+ 286, 287, 288, 293, 294, 296, 295, 292, 297, 296,
+ 291, 295, 298, 299, 300, 302, 293, 298, 300, 299,
+
+ 302, 303, 304, 304, 305, 306, 307, 308, 309, 305,
+ 310, 310, 309, 311, 303, 307, 312, 316, 311, 308,
+ 313, 313, 315, 315, 317, 318, 306, 319, 321, 322,
+ 323, 324, 317, 328, 318, 326, 325, 312, 316, 319,
+ 324, 325, 327, 326, 323, 329, 332, 327, 321, 322,
+ 330, 328, 331, 333, 334, 335, 331, 337, 333, 339,
+ 340, 332, 338, 340, 339, 341, 349, 329, 343, 339,
+ 334, 330, 342, 342, 335, 336, 336, 337, 338, 344,
+ 344, 336, 345, 336, 346, 341, 348, 347, 349, 350,
+ 351, 336, 352, 343, 350, 353, 346, 345, 355, 351,
+
+ 354, 336, 347, 355, 354, 348, 356, 357, 358, 359,
+ 353, 352, 360, 360, 361, 362, 363, 359, 356, 363,
+ 364, 358, 366, 368, 124, 357, 361, 362, 365, 367,
+ 375, 365, 371, 367, 367, 364, 368, 371, 366, 369,
+ 369, 366, 370, 370, 372, 372, 373, 373, 374, 376,
+ 378, 375, 377, 374, 376, 378, 377, 379, 380, 381,
+ 382, 379, 383, 380, 384, 382, 387, 383, 385, 386,
+ 386, 385, 388, 67, 390, 399, 385, 389, 384, 381,
+ 385, 399, 389, 390, 387, 391, 388, 392, 391, 393,
+ 394, 392, 395, 396, 393, 397, 398, 395, 403, 400,
+
+ 404, 398, 400, 394, 455, 401, 402, 397, 401, 396,
+ 405, 402, 455, 392, 404, 405, 403, 406, 407, 409,
+ 406, 408, 410, 407, 411, 408, 408, 410, 412, 415,
+ 413, 412, 409, 411, 413, 413, 414, 416, 414, 416,
+ 417, 418, 419, 420, 422, 421, 412, 423, 415, 421,
+ 424, 425, 426, 422, 427, 428, 428, 426, 417, 418,
+ 429, 419, 423, 420, 429, 430, 425, 431, 424, 432,
+ 433, 434, 431, 427, 435, 436, 430, 438, 439, 437,
+ 436, 435, 438, 439, 434, 432, 437, 440, 441, 433,
+ 442, 444, 443, 447, 445, 441, 444, 445, 446, 442,
+
+ 448, 448, 446, 449, 453, 440, 443, 452, 451, 448,
+ 454, 452, 449, 451, 447, 456, 453, 457, 463, 460,
+ 466, 467, 468, 472, 473, 469, 468, 467, 454, 466,
+ 469, 471, 478, 456, 460, 463, 471, 474, 475, 475,
+ 474, 472, 457, 458, 476, 477, 477, 478, 458, 473,
+ 482, 476, 458, 479, 479, 458, 480, 483, 481, 480,
+ 484, 487, 458, 481, 485, 458, 470, 470, 470, 482,
+ 470, 488, 485, 470, 486, 486, 487, 483, 470, 484,
+ 497, 489, 490, 490, 470, 470, 489, 491, 492, 488,
+ 494, 493, 491, 492, 493, 495, 494, 496, 497, 498,
+
+ 499, 500, 500, 495, 498, 496, 501, 499, 502, 503,
+ 505, 507, 506, 502, 501, 506, 508, 508, 509, 505,
+ 510, 512, 513, 510, 514, 507, 515, 513, 503, 516,
+ 517, 510, 518, 509, 519, 520, 521, 524, 519, 522,
+ 523, 518, 512, 524, 525, 514, 515, 526, 522, 530,
+ 517, 516, 527, 520, 523, 521, 529, 527, 528, 531,
+ 529, 526, 532, 528, 525, 533, 537, 532, 530, 534,
+ 534, 531, 535, 536, 538, 539, 536, 535, 540, 543,
+ 539, 541, 541, 545, 537, 546, 533, 538, 542, 542,
+ 547, 544, 548, 550, 543, 544, 551, 550, 540, 553,
+
+ 552, 554, 545, 555, 547, 556, 554, 571, 571, 546,
+ 61, 551, 548, 549, 553, 558, 549, 555, 549, 556,
+ 562, 559, 549, 557, 549, 552, 559, 557, 560, 549,
+ 558, 561, 563, 560, 549, 565, 559, 564, 567, 568,
+ 565, 562, 569, 564, 568, 561, 563, 566, 566, 570,
+ 567, 573, 572, 566, 574, 566, 569, 572, 575, 573,
+ 577, 570, 576, 576, 577, 579, 580, 581, 574, 580,
+ 579, 582, 584, 566, 583, 587, 585, 575, 586, 583,
+ 588, 589, 590, 594, 582, 588, 581, 586, 591, 595,
+ 592, 584, 585, 596, 587, 592, 590, 591, 597, 598,
+
+ 599, 589, 594, 597, 598, 599, 600, 595, 596, 601,
+ 601, 602, 607, 604, 608, 600, 602, 604, 604, 605,
+ 605, 606, 609, 605, 606, 610, 611, 614, 610, 608,
+ 612, 613, 607, 614, 615, 612, 613, 616, 617, 617,
+ 618, 619, 609, 616, 621, 620, 622, 611, 620, 618,
+ 615, 623, 625, 624, 627, 626, 629, 625, 628, 619,
+ 626, 628, 621, 630, 631, 622, 624, 629, 632, 631,
+ 633, 623, 627, 632, 635, 630, 634, 634, 636, 637,
+ 638, 639, 641, 642, 638, 633, 640, 647, 645, 646,
+ 674, 637, 636, 635, 674, 640, 652, 656, 648, 639,
+
+ 649, 641, 645, 648, 646, 649, 650, 647, 642, 651,
+ 652, 650, 653, 654, 651, 655, 656, 657, 654, 658,
+ 659, 659, 660, 661, 662, 666, 653, 663, 663, 661,
+ 655, 664, 657, 668, 665, 671, 664, 669, 658, 666,
+ 660, 665, 667, 670, 662, 667, 669, 672, 670, 673,
+ 675, 668, 672, 678, 671, 676, 677, 679, 680, 675,
+ 678, 681, 682, 684, 685, 686, 683, 690, 673, 679,
+ 676, 677, 683, 689, 686, 690, 688, 680, 684, 691,
+ 682, 688, 681, 692, 685, 693, 694, 689, 692, 693,
+ 693, 695, 695, 696, 697, 698, 699, 699, 705, 691,
+
+ 698, 706, 700, 697, 701, 694, 696, 700, 703, 701,
+ 702, 702, 705, 704, 712, 707, 708, 703, 704, 706,
+ 707, 708, 709, 711, 710, 712, 714, 709, 710, 715,
+ 714, 716, 711, 718, 719, 723, 721, 711, 717, 711,
+ 720, 711, 717, 717, 715, 722, 725, 718, 720, 716,
+ 721, 724, 724, 719, 726, 726, 728, 729, 730, 728,
+ 723, 725, 729, 722, 731, 731, 732, 733, 733, 734,
+ 735, 735, 736, 737, 734, 738, 739, 730, 737, 740,
+ 740, 739, 741, 738, 742, 56, 732, 743, 745, 750,
+ 742, 746, 736, 745, 743, 749, 746, 747, 748, 751,
+
+ 741, 753, 747, 748, 749, 752, 752, 754, 750, 755,
+ 751, 756, 757, 761, 755, 758, 759, 760, 760, 762,
+ 763, 753, 765, 764, 766, 756, 51, 758, 764, 766,
+ 754, 756, 757, 761, 759, 768, 777, 769, 763, 768,
+ 768, 770, 772, 775, 762, 765, 769, 773, 771, 770,
+ 771, 774, 773, 776, 775, 774, 772, 778, 779, 780,
+ 781, 782, 777, 779, 783, 782, 784, 785, 786, 787,
+ 788, 789, 776, 791, 792, 778, 789, 780, 791, 790,
+ 781, 785, 783, 786, 787, 784, 790, 793, 794, 788,
+ 796, 795, 792, 797, 798, 799, 793, 795, 797, 798,
+
+ 799, 800, 800, 794, 802, 802, 803, 804, 805, 806,
+ 807, 796, 804, 809, 807, 807, 808, 808, 810, 811,
+ 812, 813, 805, 815, 803, 814, 819, 813, 806, 816,
+ 814, 817, 809, 818, 820, 846, 821, 810, 846, 812,
+ 819, 823, 815, 822, 822, 811, 823, 825, 816, 824,
+ 817, 821, 818, 824, 826, 820, 827, 829, 827, 833,
+ 825, 831, 827, 826, 830, 830, 831, 832, 834, 836,
+ 849, 832, 850, 834, 858, 827, 838, 829, 858, 833,
+ 840, 838, 839, 839, 848, 840, 850, 836, 842, 842,
+ 844, 844, 847, 847, 852, 849, 851, 853, 853, 848,
+
+ 854, 851, 855, 855, 856, 857, 859, 860, 863, 852,
+ 862, 866, 860, 864, 864, 867, 857, 869, 865, 871,
+ 854, 868, 863, 865, 871, 859, 856, 870, 862, 870,
+ 868, 866, 873, 872, 874, 867, 875, 869, 872, 874,
+ 876, 876, 877, 879, 880, 880, 881, 888, 877, 882,
+ 875, 50, 873, 883, 886, 884, 883, 885, 881, 883,
+ 884, 887, 885, 886, 892, 889, 887, 879, 889, 882,
+ 890, 883, 888, 891, 891, 890, 893, 894, 895, 896,
+ 897, 898, 892, 895, 896, 900, 898, 899, 899, 901,
+ 900, 902, 903, 905, 904, 893, 906, 894, 908, 907,
+
+ 909, 910, 913, 897, 907, 905, 914, 901, 904, 906,
+ 912, 902, 903, 914, 915, 912, 916, 913, 908, 922,
+ 909, 924, 910, 915, 919, 919, 915, 920, 921, 923,
+ 920, 929, 916, 921, 925, 922, 926, 927, 923, 930,
+ 924, 931, 927, 925, 932, 926, 925, 928, 928, 933,
+ 934, 929, 930, 935, 935, 936, 937, 939, 932, 931,
+ 940, 937, 938, 938, 943, 942, 939, 944, 934, 939,
+ 942, 936, 944, 945, 933, 946, 947, 938, 940, 945,
+ 948, 947, 943, 949, 953, 954, 949, 955, 952, 956,
+ 958, 957, 949, 948, 956, 946, 952, 953, 960, 966,
+
+ 961, 969, 967, 954, 961, 962, 955, 957, 958, 963,
+ 962, 964, 965, 971, 963, 969, 964, 967, 960, 968,
+ 968, 965, 966, 970, 972, 971, 973, 974, 975, 976,
+ 970, 977, 974, 978, 978, 979, 972, 977, 979, 982,
+ 975, 980, 980, 983, 983, 973, 984, 976, 982, 985,
+ 986, 987, 988, 990, 985, 989, 991, 992, 984, 986,
+ 989, 994, 990, 987, 993, 993, 994, 988, 995, 996,
+ 997, 999, 992, 998, 998, 990, 991, 1000, 1000, 1001,
+ 1001, 1002, 1003, 1004, 1007, 1002, 1004, 1003, 996, 995,
+ 997, 999, 1006, 1008, 1009, 1010, 1010, 1006, 1008, 1011,
+
+ 1011, 1012, 1007, 1013, 1014, 1015, 1012, 1016, 1018, 1017,
+ 1019, 1019, 1020, 1021, 1021, 1013, 1013, 1013, 1026, 1009,
+ 1022, 1024, 1013, 1017, 1014, 1015, 1029, 1016, 1027, 1018,
+ 1024, 1025, 1025, 1026, 1028, 1027, 1030, 1030, 1020, 1031,
+ 1022, 1032, 1034, 1028, 1035, 1040, 1036, 1034, 1037, 1035,
+ 1038, 1038, 1029, 1039, 1040, 1037, 1041, 1032, 1039, 1042,
+ 1043, 1044, 1045, 1043, 1048, 1031, 1036, 1046, 1046, 1047,
+ 1049, 1042, 1050, 1051, 1052, 1052, 1041, 1055, 1050, 1044,
+ 1053, 1056, 1051, 1048, 1047, 1049, 1054, 1054, 1045, 1057,
+ 1061, 1053, 1058, 1058, 1057, 1056, 1053, 1059, 1055, 1060,
+
+ 1062, 1059, 1059, 1063, 1060, 1064, 1065, 1066, 1063, 1067,
+ 1065, 1069, 1062, 1068, 1071, 1070, 1061, 1064, 1068, 1066,
+ 1070, 1073, 1074, 1074, 1073, 1077, 1071, 1075, 1075, 1076,
+ 1076, 1078, 1080, 1069, 1067, 1079, 1083, 1078, 1080, 1081,
+ 1079, 1083, 1085, 1087, 1089, 1077, 1088, 1088, 1081, 1090,
+ 1091, 1092, 1093, 1096, 1085, 1087, 1093, 1094, 1090, 1099,
+ 1095, 1106, 1094, 45, 1089, 1095, 1100, 1096, 1091, 1101,
+ 1092, 1098, 1098, 1103, 1103, 1100, 1106, 1099, 1101, 1107,
+ 1108, 1109, 1111, 1098, 1111, 1108, 1110, 1110, 1112, 1112,
+ 1114, 1115, 1117, 1107, 1116, 1116, 1118, 1114, 1109, 40,
+
+ 1119, 1117, 1120, 1121, 1122, 1123, 1124, 1127, 1126, 1127,
+ 1128, 1115, 1119, 1126, 1120, 1121, 1131, 1118, 1129, 1122,
+ 1132, 1132, 1133, 1138, 1134, 1123, 1124, 1129, 1128, 1134,
+ 1131, 1135, 1136, 1135, 1137, 1139, 1144, 1136, 1140, 1137,
+ 1141, 1138, 1143, 1140, 1146, 1141, 1145, 1145, 1133, 1147,
+ 1144, 1148, 1149, 1151, 1152, 1139, 1148, 1149, 1150, 1146,
+ 1150, 1143, 1153, 1152, 1153, 1151, 1152, 1154, 1155, 1147,
+ 1157, 1160, 1158, 1161, 1162, 1157, 1154, 1158, 1168, 1164,
+ 1155, 1166, 1167, 1169, 1160, 1164, 1171, 1166, 1170, 1170,
+ 1162, 1173, 1169, 1161, 1176, 1171, 1174, 1167, 1172, 1172,
+
+ 1174, 1175, 1179, 1168, 1177, 1177, 1175, 1176, 1178, 1183,
+ 1173, 1182, 1182, 1184, 1184, 1186, 1178, 1187, 1183, 1185,
+ 1185, 1188, 1179, 1189, 1189, 1191, 1188, 1186, 1192, 1193,
+ 1194, 1195, 1197, 1192, 1200, 1187, 1195, 1196, 1198, 1198,
+ 1199, 1201, 1202, 1203, 1199, 1194, 1201, 1205, 1197, 1200,
+ 1191, 1206, 1193, 1207, 1209, 1196, 1208, 1210, 1212, 1212,
+ 1213, 1214, 1203, 1213, 1229, 1215, 1209, 1216, 1202, 1229,
+ 1205, 1304, 1207, 1304, 1214, 1206, 1220, 1208, 1210, 1215,
+ 1216, 1217, 1217, 1218, 1218, 1219, 1219, 1221, 1221, 1220,
+ 1222, 1222, 1223, 1223, 1224, 1225, 1225, 1226, 1226, 1227,
+
+ 1230, 1230, 1231, 1232, 1232, 1233, 1234, 1235, 1236, 1236,
+ 1235, 1238, 1234, 1224, 1237, 1237, 1239, 1239, 1227, 1241,
+ 1242, 1231, 1243, 1233, 1236, 1245, 1243, 1244, 1244, 1247,
+ 1238, 1246, 1246, 1248, 1248, 1242, 1249, 1250, 1251, 1252,
+ 1253, 1254, 1241, 1251, 1245, 1249, 1255, 1257, 1256, 1250,
+ 1258, 1255, 1259, 1253, 1261, 1247, 1257, 1263, 1261, 1258,
+ 1260, 1265, 1254, 1256, 1252, 1260, 1259, 1266, 1266, 1267,
+ 1265, 1268, 1268, 1270, 1267, 1271, 1275, 1263, 1273, 1275,
+ 1268, 1276, 1277, 1281, 1271, 1285, 1276, 1283, 1270, 1284,
+ 1273, 1278, 1278, 1280, 1280, 1282, 1282, 1281, 1292, 1283,
+
+ 1286, 1286, 1277, 1284, 1285, 1288, 1293, 1289, 1291, 1288,
+ 1289, 1290, 1290, 1291, 1295, 1294, 1296, 1297, 1292, 1294,
+ 1293, 1296, 1297, 1298, 1300, 1301, 1302, 1303, 1322, 1298,
+ 1301, 1302, 1307, 1307, 1295, 1303, 1311, 1311, 1314, 1321,
+ 1300, 1315, 1315, 1314, 1317, 1317, 1319, 1320, 1320, 1323,
+ 1322, 1319, 1325, 1325, 1323, 1321, 1327, 1328, 1329, 1331,
+ 1331, 1327, 1333, 1334, 1335, 1334, 1336, 1333, 1337, 1337,
+ 1340, 1336, 1341, 1329, 1342, 1328, 1338, 1338, 1335, 1339,
+ 1339, 1343, 1340, 1344, 1345, 1346, 1342, 1347, 1347, 1345,
+ 1341, 1348, 1349, 1343, 1350, 1344, 1351, 1352, 1353, 1354,
+
+ 1348, 1355, 1356, 1357, 1362, 1346, 1364, 1356, 1357, 1351,
+ 1358, 1358, 1353, 1363, 1350, 1359, 1359, 1354, 1349, 1365,
+ 1366, 1352, 1367, 1355, 1362, 1368, 1369, 1369, 1364, 1366,
+ 1373, 1363, 1371, 1371, 1374, 1372, 1375, 1373, 1376, 1365,
+ 1378, 1377, 1367, 1368, 1372, 1379, 1379, 1380, 1381, 1374,
+ 1382, 1383, 1380, 1384, 1375, 1386, 1376, 1377, 1389, 1378,
+ 1390, 1391, 1391, 1390, 1392, 1382, 1381, 1393, 1395, 1397,
+ 1383, 1400, 1395, 1384, 1386, 1396, 1396, 1407, 1389, 1392,
+ 1399, 1399, 1397, 1401, 1401, 1393, 1402, 1402, 1406, 1406,
+ 1400, 1408, 1409, 1410, 1411, 1412, 1414, 1409, 1410, 1407,
+
+ 1408, 1415, 1416, 1412, 1417, 1420, 1415, 1416, 1418, 1418,
+ 1420, 1414, 1421, 1411, 1419, 1419, 1429, 1421, 1430, 1417,
+ 1422, 1422, 1423, 1423, 1426, 1429, 1427, 1428, 1431, 1426,
+ 1427, 1433, 1428, 1430, 1432, 1435, 1431, 1436, 1435, 1432,
+ 1437, 1438, 1439, 1433, 1440, 1440, 1443, 1441, 1444, 14,
+ 1438, 1439, 1445, 1437, 1447, 1436, 1441, 1446, 1446, 1448,
+ 1448, 1449, 1450, 1447, 1452, 1443, 1453, 1450, 1444, 1449,
+ 1454, 1445, 1461, 1452, 1456, 1456, 1458, 1458, 1467, 1453,
+ 1462, 1462, 13, 1463, 1468, 1454, 1463, 1464, 1464, 1465,
+ 1465, 1474, 1461, 1466, 1466, 1469, 1467, 1474, 1468, 1471,
+
+ 1469, 1470, 1470, 1471, 1475, 1478, 1479, 1480, 1481, 1475,
+ 1482, 1479, 1483, 1483, 1484, 1486, 1487, 1487, 1485, 1488,
+ 1488, 1489, 1478, 1478, 1482, 1480, 1485, 1490, 1481, 1491,
+ 1492, 1493, 1490, 1484, 1486, 1494, 1497, 1489, 1495, 1497,
+ 1493, 1499, 1500, 1500, 1501, 1502, 1508, 1503, 1501, 1491,
+ 0, 1507, 1504, 1506, 1502, 1494, 1492, 1518, 1495, 1499,
+ 1503, 1504, 1506, 1507, 1512, 1513, 1513, 1514, 1516, 1512,
+ 1517, 1508, 1519, 1516, 1521, 1520, 1514, 1518, 1522, 1517,
+ 1520, 1523, 1526, 1522, 1524, 1524, 1529, 1527, 1528, 1528,
+ 1529, 1530, 1521, 1519, 1531, 1532, 1533, 1535, 1534, 1537,
+
+ 1530, 1526, 1527, 1534, 1533, 1542, 1523, 1536, 1536, 1545,
+ 1531, 1538, 1538, 1544, 1532, 1539, 1541, 1541, 1537, 1548,
+ 1539, 1543, 1543, 1535, 1549, 1542, 1550, 1544, 1546, 1546,
+ 1552, 1545, 1547, 1547, 1551, 1551, 1549, 1553, 1548, 1554,
+ 1555, 1561, 1552, 1556, 1554, 1557, 1550, 1564, 1556, 1558,
+ 1558, 1560, 1560, 1563, 1566, 1566, 0, 1553, 1563, 1555,
+ 1561, 1564, 1557, 1557, 1565, 1567, 1567, 1568, 1568, 1565,
+ 1569, 1571, 1571, 1573, 1573, 1569, 1575, 1575, 1576, 1577,
+ 1577, 1578, 1581, 1582, 1582, 1586, 1578, 1576, 1583, 1585,
+ 1581, 1587, 1588, 1583, 1585, 1589, 1590, 1586, 1591, 1594,
+
+ 1595, 1595, 1597, 1591, 1596, 1596, 1597, 1605, 1588, 1587,
+ 1601, 1601, 1589, 1589, 1603, 1607, 1607, 1590, 1603, 1594,
+ 1608, 1605, 1610, 1611, 1611, 1612, 1612, 1613, 1614, 1615,
+ 1618, 1616, 1617, 1619, 1619, 1608, 1616, 1617, 1622, 1622,
+ 1610, 1624, 1624, 1614, 1625, 1625, 1627, 1628, 1628, 1618,
+ 1615, 1631, 1613, 1632, 1633, 1634, 1631, 1635, 1627, 1633,
+ 1636, 1641, 1642, 1645, 1643, 1641, 1644, 1632, 1646, 1647,
+ 1650, 1648, 1649, 1649, 1634, 1635, 1636, 1643, 1651, 1650,
+ 1653, 1645, 1642, 1651, 1646, 1644, 1648, 1652, 1654, 1658,
+ 1655, 1659, 1652, 1656, 1647, 1655, 1660, 1661, 1662, 1664,
+
+ 1663, 1660, 1661, 1654, 1658, 1653, 1665, 1656, 1666, 1667,
+ 1659, 1668, 1662, 1663, 1669, 1672, 1670, 0, 1664, 1677,
+ 1665, 1670, 1667, 1671, 1668, 1673, 1673, 1666, 1671, 1681,
+ 1674, 1675, 1676, 1669, 1672, 1674, 1675, 1676, 1677, 1678,
+ 1679, 1679, 1680, 1682, 1678, 1683, 1684, 1685, 1681, 1680,
+ 1683, 1687, 1688, 1689, 1690, 1693, 1687, 1691, 1691, 1692,
+ 1685, 1696, 1682, 1697, 1692, 1684, 1696, 1690, 1694, 1694,
+ 1697, 1688, 1689, 1698, 1693, 1695, 1695, 1699, 1699, 1700,
+ 1701, 1702, 1704, 1703, 1706, 1707, 1700, 1701, 1703, 1706,
+ 1707, 1708, 1698, 1709, 1710, 1710, 1711, 1712, 1713, 1713,
+
+ 1702, 1704, 1714, 1714, 1715, 1716, 1716, 1717, 1717, 1720,
+ 1708, 1715, 1709, 1718, 1720, 1711, 1712, 1723, 1724, 1725,
+ 1718, 0, 1723, 1726, 1726, 1727, 1727, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1724, 1725, 1731,
+ 1731, 1731, 1731, 1731, 1731, 1731, 1732, 1732, 1732, 1732,
+ 1732, 1732, 1732, 1733, 1733, 1733, 1733, 1733, 1733, 1733,
+ 1734, 1734, 1734, 1734, 1734, 1734, 1734, 1735, 1735, 1735,
+ 1735, 1735, 1735, 1735, 1737, 1737, 0, 1737, 1737, 1737,
+ 1737, 1738, 1738, 0, 0, 0, 1738, 1738, 1739, 1739,
+ 0, 0, 1739, 0, 1739, 1740, 0, 0, 0, 0,
+
+ 0, 1740, 1741, 1741, 0, 0, 0, 1741, 1741, 1742,
+ 0, 0, 0, 0, 0, 1742, 1743, 1743, 0, 1743,
+ 1743, 1743, 1743, 1744, 1744, 0, 1744, 1744, 1744, 1744,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730,
+ 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730, 1730
} ;
static yy_state_type yy_last_accepting_state;
@@ -1908,7 +1966,7 @@ static void config_end_include(void)
#define YY_NO_INPUT 1
#endif
-#line 1910 "<stdout>"
+#line 1968 "<stdout>"
#define INITIAL 0
#define quotedstring 1
@@ -2095,7 +2153,7 @@ YY_DECL
#line 197 "./util/configlexer.lex"
-#line 2097 "<stdout>"
+#line 2155 "<stdout>"
if ( !(yy_init) )
{
@@ -2154,13 +2212,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 >= 1655 )
+ if ( yy_current_state >= 1731 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 3281 );
+ while ( yy_base[yy_current_state] != 3431 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -2400,560 +2458,600 @@ YY_RULE_SETUP
case 43:
YY_RULE_SETUP
#line 243 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CACHE_MIN_TTL) }
+{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
YY_BREAK
case 44:
YY_RULE_SETUP
#line 244 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_HOST_TTL) }
+{ YDVAR(1, VAR_CACHE_MIN_TTL) }
YY_BREAK
case 45:
YY_RULE_SETUP
#line 245 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_LAME_TTL) }
+{ YDVAR(1, VAR_INFRA_HOST_TTL) }
YY_BREAK
case 46:
YY_RULE_SETUP
#line 246 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
+{ YDVAR(1, VAR_INFRA_LAME_TTL) }
YY_BREAK
case 47:
YY_RULE_SETUP
#line 247 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
+{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
YY_BREAK
case 48:
YY_RULE_SETUP
#line 248 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
+{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
YY_BREAK
case 49:
YY_RULE_SETUP
#line 249 "./util/configlexer.lex"
-{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
+{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
YY_BREAK
case 50:
YY_RULE_SETUP
#line 250 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
+{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
YY_BREAK
case 51:
YY_RULE_SETUP
#line 251 "./util/configlexer.lex"
-{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
+{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
YY_BREAK
case 52:
YY_RULE_SETUP
#line 252 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DELAY_CLOSE) }
+{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
YY_BREAK
case 53:
YY_RULE_SETUP
#line 253 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
+{ YDVAR(1, VAR_DELAY_CLOSE) }
YY_BREAK
case 54:
YY_RULE_SETUP
#line 254 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
+{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
YY_BREAK
case 55:
YY_RULE_SETUP
#line 255 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
+{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
YY_BREAK
case 56:
YY_RULE_SETUP
#line 256 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_GLUE) }
+{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
YY_BREAK
case 57:
YY_RULE_SETUP
#line 257 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
+{ YDVAR(1, VAR_HARDEN_GLUE) }
YY_BREAK
case 58:
YY_RULE_SETUP
#line 258 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
+{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
YY_BREAK
case 59:
YY_RULE_SETUP
#line 259 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
+{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
YY_BREAK
case 60:
YY_RULE_SETUP
#line 260 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
+{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
YY_BREAK
case 61:
YY_RULE_SETUP
#line 261 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
+{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
YY_BREAK
case 62:
YY_RULE_SETUP
#line 262 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
+{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
YY_BREAK
case 63:
YY_RULE_SETUP
#line 263 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
+{ YDVAR(1, VAR_CAPS_WHITELIST) }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 264 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
+{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
YY_BREAK
case 65:
YY_RULE_SETUP
#line 265 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PREFETCH_KEY) }
+{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
YY_BREAK
case 66:
YY_RULE_SETUP
#line 266 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PREFETCH) }
+{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
YY_BREAK
case 67:
YY_RULE_SETUP
#line 267 "./util/configlexer.lex"
-{ YDVAR(0, VAR_STUB_ZONE) }
+{ YDVAR(1, VAR_PREFETCH_KEY) }
YY_BREAK
case 68:
YY_RULE_SETUP
#line 268 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NAME) }
+{ YDVAR(1, VAR_PREFETCH) }
YY_BREAK
case 69:
YY_RULE_SETUP
#line 269 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_ADDR) }
+{ YDVAR(0, VAR_STUB_ZONE) }
YY_BREAK
case 70:
YY_RULE_SETUP
#line 270 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_HOST) }
+{ YDVAR(1, VAR_NAME) }
YY_BREAK
case 71:
YY_RULE_SETUP
#line 271 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_PRIME) }
+{ YDVAR(1, VAR_STUB_ADDR) }
YY_BREAK
case 72:
YY_RULE_SETUP
#line 272 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STUB_FIRST) }
+{ YDVAR(1, VAR_STUB_HOST) }
YY_BREAK
case 73:
YY_RULE_SETUP
#line 273 "./util/configlexer.lex"
-{ YDVAR(0, VAR_FORWARD_ZONE) }
+{ YDVAR(1, VAR_STUB_PRIME) }
YY_BREAK
case 74:
YY_RULE_SETUP
#line 274 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_ADDR) }
+{ YDVAR(1, VAR_STUB_FIRST) }
YY_BREAK
case 75:
YY_RULE_SETUP
#line 275 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_HOST) }
+{ YDVAR(0, VAR_FORWARD_ZONE) }
YY_BREAK
case 76:
YY_RULE_SETUP
#line 276 "./util/configlexer.lex"
-{ YDVAR(1, VAR_FORWARD_FIRST) }
+{ YDVAR(1, VAR_FORWARD_ADDR) }
YY_BREAK
case 77:
YY_RULE_SETUP
#line 277 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
+{ YDVAR(1, VAR_FORWARD_HOST) }
YY_BREAK
case 78:
YY_RULE_SETUP
#line 278 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
+{ YDVAR(1, VAR_FORWARD_FIRST) }
YY_BREAK
case 79:
YY_RULE_SETUP
#line 279 "./util/configlexer.lex"
-{ YDVAR(2, VAR_ACCESS_CONTROL) }
+{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
YY_BREAK
case 80:
YY_RULE_SETUP
#line 280 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_IDENTITY) }
+{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
YY_BREAK
case 81:
YY_RULE_SETUP
#line 281 "./util/configlexer.lex"
-{ YDVAR(1, VAR_HIDE_VERSION) }
+{ YDVAR(2, VAR_ACCESS_CONTROL) }
YY_BREAK
case 82:
YY_RULE_SETUP
#line 282 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IDENTITY) }
+{ YDVAR(1, VAR_HIDE_IDENTITY) }
YY_BREAK
case 83:
YY_RULE_SETUP
#line 283 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VERSION) }
+{ YDVAR(1, VAR_HIDE_VERSION) }
YY_BREAK
case 84:
YY_RULE_SETUP
#line 284 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MODULE_CONF) }
+{ YDVAR(1, VAR_IDENTITY) }
YY_BREAK
case 85:
YY_RULE_SETUP
#line 285 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR) }
+{ YDVAR(1, VAR_VERSION) }
YY_BREAK
case 86:
YY_RULE_SETUP
#line 286 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
+{ YDVAR(1, VAR_MODULE_CONF) }
YY_BREAK
case 87:
YY_RULE_SETUP
#line 287 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_DLV_ANCHOR) }
YY_BREAK
case 88:
YY_RULE_SETUP
#line 288 "./util/configlexer.lex"
-{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
+{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
YY_BREAK
case 89:
YY_RULE_SETUP
#line 289 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
+{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
YY_BREAK
case 90:
YY_RULE_SETUP
#line 290 "./util/configlexer.lex"
-{ YDVAR(1, VAR_TRUST_ANCHOR) }
+{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
YY_BREAK
case 91:
YY_RULE_SETUP
#line 291 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
+{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
YY_BREAK
case 92:
YY_RULE_SETUP
#line 292 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
+{ YDVAR(1, VAR_TRUST_ANCHOR) }
YY_BREAK
case 93:
YY_RULE_SETUP
#line 293 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
+{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
YY_BREAK
case 94:
YY_RULE_SETUP
#line 294 "./util/configlexer.lex"
-{ YDVAR(1, VAR_BOGUS_TTL) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
YY_BREAK
case 95:
YY_RULE_SETUP
#line 295 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
+{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
YY_BREAK
case 96:
YY_RULE_SETUP
#line 296 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
+{ YDVAR(1, VAR_BOGUS_TTL) }
YY_BREAK
case 97:
YY_RULE_SETUP
#line 297 "./util/configlexer.lex"
-{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
+{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
YY_BREAK
case 98:
YY_RULE_SETUP
#line 298 "./util/configlexer.lex"
-{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
+{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
YY_BREAK
case 99:
YY_RULE_SETUP
#line 299 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
+{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
YY_BREAK
case 100:
YY_RULE_SETUP
#line 300 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
+{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
YY_BREAK
case 101:
YY_RULE_SETUP
#line 301 "./util/configlexer.lex"
-{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
+{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
YY_BREAK
case 102:
YY_RULE_SETUP
#line 302 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
+{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 304 "./util/configlexer.lex"
-{ YDVAR(1, VAR_ADD_HOLDDOWN) }
+#line 303 "./util/configlexer.lex"
+{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 305 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DEL_HOLDDOWN) }
+#line 304 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
YY_BREAK
case 105:
YY_RULE_SETUP
#line 306 "./util/configlexer.lex"
-{ YDVAR(1, VAR_KEEP_MISSING) }
+{ YDVAR(1, VAR_ADD_HOLDDOWN) }
YY_BREAK
case 106:
YY_RULE_SETUP
#line 307 "./util/configlexer.lex"
-{ YDVAR(1, VAR_USE_SYSLOG) }
+{ YDVAR(1, VAR_DEL_HOLDDOWN) }
YY_BREAK
case 107:
YY_RULE_SETUP
#line 308 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_TIME_ASCII) }
+{ YDVAR(1, VAR_KEEP_MISSING) }
YY_BREAK
case 108:
YY_RULE_SETUP
#line 309 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOG_QUERIES) }
+{ YDVAR(1, VAR_USE_SYSLOG) }
YY_BREAK
case 109:
YY_RULE_SETUP
#line 310 "./util/configlexer.lex"
-{ YDVAR(2, VAR_LOCAL_ZONE) }
+{ YDVAR(1, VAR_LOG_TIME_ASCII) }
YY_BREAK
case 110:
YY_RULE_SETUP
#line 311 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA) }
+{ YDVAR(1, VAR_LOG_QUERIES) }
YY_BREAK
case 111:
YY_RULE_SETUP
#line 312 "./util/configlexer.lex"
-{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
+{ YDVAR(2, VAR_LOCAL_ZONE) }
YY_BREAK
case 112:
YY_RULE_SETUP
#line 313 "./util/configlexer.lex"
-{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
+{ YDVAR(1, VAR_LOCAL_DATA) }
YY_BREAK
case 113:
YY_RULE_SETUP
#line 314 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
+{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
YY_BREAK
case 114:
YY_RULE_SETUP
#line 315 "./util/configlexer.lex"
-{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
+{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
YY_BREAK
case 115:
YY_RULE_SETUP
#line 316 "./util/configlexer.lex"
-{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
+{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
YY_BREAK
case 116:
YY_RULE_SETUP
#line 317 "./util/configlexer.lex"
-{ YDVAR(0, VAR_REMOTE_CONTROL) }
+{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
YY_BREAK
case 117:
YY_RULE_SETUP
#line 318 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_ENABLE) }
+{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
YY_BREAK
case 118:
YY_RULE_SETUP
#line 319 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_INTERFACE) }
+{ YDVAR(0, VAR_REMOTE_CONTROL) }
YY_BREAK
case 119:
YY_RULE_SETUP
#line 320 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_PORT) }
+{ YDVAR(1, VAR_CONTROL_ENABLE) }
YY_BREAK
case 120:
YY_RULE_SETUP
#line 321 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_USE_CERT) }
+{ YDVAR(1, VAR_CONTROL_INTERFACE) }
YY_BREAK
case 121:
YY_RULE_SETUP
#line 322 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_KEY_FILE) }
+{ YDVAR(1, VAR_CONTROL_PORT) }
YY_BREAK
case 122:
YY_RULE_SETUP
#line 323 "./util/configlexer.lex"
-{ YDVAR(1, VAR_SERVER_CERT_FILE) }
+{ YDVAR(1, VAR_CONTROL_USE_CERT) }
YY_BREAK
case 123:
YY_RULE_SETUP
#line 324 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
+{ YDVAR(1, VAR_SERVER_KEY_FILE) }
YY_BREAK
case 124:
YY_RULE_SETUP
#line 325 "./util/configlexer.lex"
-{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
+{ YDVAR(1, VAR_SERVER_CERT_FILE) }
YY_BREAK
case 125:
YY_RULE_SETUP
#line 326 "./util/configlexer.lex"
-{ YDVAR(1, VAR_PYTHON_SCRIPT) }
+{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
YY_BREAK
case 126:
YY_RULE_SETUP
#line 327 "./util/configlexer.lex"
-{ YDVAR(0, VAR_PYTHON) }
+{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
YY_BREAK
case 127:
YY_RULE_SETUP
#line 328 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DOMAIN_INSECURE) }
+{ YDVAR(1, VAR_PYTHON_SCRIPT) }
YY_BREAK
case 128:
YY_RULE_SETUP
#line 329 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
+{ YDVAR(0, VAR_PYTHON) }
YY_BREAK
case 129:
YY_RULE_SETUP
#line 330 "./util/configlexer.lex"
-{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
+{ YDVAR(1, VAR_DOMAIN_INSECURE) }
YY_BREAK
case 130:
YY_RULE_SETUP
#line 331 "./util/configlexer.lex"
-{ YDVAR(1, VAR_MAX_UDP_SIZE) }
+{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
YY_BREAK
case 131:
YY_RULE_SETUP
#line 332 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_PREFIX) }
+{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
YY_BREAK
case 132:
YY_RULE_SETUP
#line 333 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNS64_SYNTHALL) }
+{ YDVAR(1, VAR_MAX_UDP_SIZE) }
YY_BREAK
case 133:
YY_RULE_SETUP
#line 334 "./util/configlexer.lex"
-{ YDVAR(0, VAR_DNSTAP) }
+{ YDVAR(1, VAR_DNS64_PREFIX) }
YY_BREAK
case 134:
YY_RULE_SETUP
#line 335 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_ENABLE) }
+{ YDVAR(1, VAR_DNS64_SYNTHALL) }
YY_BREAK
case 135:
YY_RULE_SETUP
#line 336 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
+{ YDVAR(0, VAR_DNSTAP) }
YY_BREAK
case 136:
YY_RULE_SETUP
#line 337 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
+{ YDVAR(1, VAR_DNSTAP_ENABLE) }
YY_BREAK
case 137:
YY_RULE_SETUP
#line 338 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
YY_BREAK
case 138:
YY_RULE_SETUP
#line 339 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
+{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
YY_BREAK
case 139:
YY_RULE_SETUP
#line 340 "./util/configlexer.lex"
-{ YDVAR(1, VAR_DNSTAP_VERSION) }
+{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
YY_BREAK
case 140:
YY_RULE_SETUP
#line 341 "./util/configlexer.lex"
-{
- YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
+{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
YY_BREAK
case 141:
YY_RULE_SETUP
+#line 342 "./util/configlexer.lex"
+{ YDVAR(1, VAR_DNSTAP_VERSION) }
+ YY_BREAK
+case 142:
+YY_RULE_SETUP
#line 343 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
#line 345 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
YY_BREAK
-case 143:
+case 144:
YY_RULE_SETUP
#line 347 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
YY_BREAK
-case 144:
+case 145:
YY_RULE_SETUP
#line 349 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
#line 351 "./util/configlexer.lex"
{
- YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
YY_BREAK
-case 146:
-/* rule 146 can match eol */
+case 147:
YY_RULE_SETUP
#line 353 "./util/configlexer.lex"
+{
+ YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+ YY_BREAK
+case 148:
+YY_RULE_SETUP
+#line 355 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RATELIMIT) }
+ YY_BREAK
+case 149:
+YY_RULE_SETUP
+#line 356 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RATELIMIT_SLABS) }
+ YY_BREAK
+case 150:
+YY_RULE_SETUP
+#line 357 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RATELIMIT_SIZE) }
+ YY_BREAK
+case 151:
+YY_RULE_SETUP
+#line 358 "./util/configlexer.lex"
+{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
+ YY_BREAK
+case 152:
+YY_RULE_SETUP
+#line 359 "./util/configlexer.lex"
+{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
+ YY_BREAK
+case 153:
+YY_RULE_SETUP
+#line 360 "./util/configlexer.lex"
+{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
+ YY_BREAK
+case 154:
+/* rule 154 can match eol */
+YY_RULE_SETUP
+#line 361 "./util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++; }
YY_BREAK
/* Quoted strings. Strip leading and ending quotes */
-case 147:
+case 155:
YY_RULE_SETUP
-#line 356 "./util/configlexer.lex"
+#line 364 "./util/configlexer.lex"
{ BEGIN(quotedstring); LEXOUT(("QS ")); }
YY_BREAK
case YY_STATE_EOF(quotedstring):
-#line 357 "./util/configlexer.lex"
+#line 365 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 148:
+case 156:
YY_RULE_SETUP
-#line 362 "./util/configlexer.lex"
+#line 370 "./util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 149:
-/* rule 149 can match eol */
+case 157:
+/* rule 157 can match eol */
YY_RULE_SETUP
-#line 363 "./util/configlexer.lex"
+#line 371 "./util/configlexer.lex"
{ yyerror("newline inside quoted string, no end \"");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 150:
+case 158:
YY_RULE_SETUP
-#line 365 "./util/configlexer.lex"
+#line 373 "./util/configlexer.lex"
{
LEXOUT(("QE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -2966,34 +3064,34 @@ YY_RULE_SETUP
}
YY_BREAK
/* Single Quoted strings. Strip leading and ending quotes */
-case 151:
+case 159:
YY_RULE_SETUP
-#line 377 "./util/configlexer.lex"
+#line 385 "./util/configlexer.lex"
{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
YY_BREAK
case YY_STATE_EOF(singlequotedstr):
-#line 378 "./util/configlexer.lex"
+#line 386 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
if(--num_args == 0) { BEGIN(INITIAL); }
else { BEGIN(val); }
}
YY_BREAK
-case 152:
+case 160:
YY_RULE_SETUP
-#line 383 "./util/configlexer.lex"
+#line 391 "./util/configlexer.lex"
{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 153:
-/* rule 153 can match eol */
+case 161:
+/* rule 161 can match eol */
YY_RULE_SETUP
-#line 384 "./util/configlexer.lex"
+#line 392 "./util/configlexer.lex"
{ yyerror("newline inside quoted string, no end '");
cfg_parser->line++; BEGIN(INITIAL); }
YY_BREAK
-case 154:
+case 162:
YY_RULE_SETUP
-#line 386 "./util/configlexer.lex"
+#line 394 "./util/configlexer.lex"
{
LEXOUT(("SQE "));
if(--num_args == 0) { BEGIN(INITIAL); }
@@ -3006,38 +3104,38 @@ YY_RULE_SETUP
}
YY_BREAK
/* include: directive */
-case 155:
+case 163:
YY_RULE_SETUP
-#line 398 "./util/configlexer.lex"
+#line 406 "./util/configlexer.lex"
{
LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
YY_BREAK
case YY_STATE_EOF(include):
-#line 400 "./util/configlexer.lex"
+#line 408 "./util/configlexer.lex"
{
yyerror("EOF inside include directive");
BEGIN(inc_prev);
}
YY_BREAK
-case 156:
+case 164:
YY_RULE_SETUP
-#line 404 "./util/configlexer.lex"
+#line 412 "./util/configlexer.lex"
{ LEXOUT(("ISP ")); /* ignore */ }
YY_BREAK
-case 157:
-/* rule 157 can match eol */
+case 165:
+/* rule 165 can match eol */
YY_RULE_SETUP
-#line 405 "./util/configlexer.lex"
+#line 413 "./util/configlexer.lex"
{ LEXOUT(("NL\n")); cfg_parser->line++;}
YY_BREAK
-case 158:
+case 166:
YY_RULE_SETUP
-#line 406 "./util/configlexer.lex"
+#line 414 "./util/configlexer.lex"
{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
YY_BREAK
-case 159:
+case 167:
YY_RULE_SETUP
-#line 407 "./util/configlexer.lex"
+#line 415 "./util/configlexer.lex"
{
LEXOUT(("Iunquotedstr(%s) ", yytext));
config_start_include_glob(yytext);
@@ -3045,27 +3143,27 @@ YY_RULE_SETUP
}
YY_BREAK
case YY_STATE_EOF(include_quoted):
-#line 412 "./util/configlexer.lex"
+#line 420 "./util/configlexer.lex"
{
yyerror("EOF inside quoted string");
BEGIN(inc_prev);
}
YY_BREAK
-case 160:
+case 168:
YY_RULE_SETUP
-#line 416 "./util/configlexer.lex"
+#line 424 "./util/configlexer.lex"
{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
YY_BREAK
-case 161:
-/* rule 161 can match eol */
+case 169:
+/* rule 169 can match eol */
YY_RULE_SETUP
-#line 417 "./util/configlexer.lex"
+#line 425 "./util/configlexer.lex"
{ yyerror("newline before \" in include name");
cfg_parser->line++; BEGIN(inc_prev); }
YY_BREAK
-case 162:
+case 170:
YY_RULE_SETUP
-#line 419 "./util/configlexer.lex"
+#line 427 "./util/configlexer.lex"
{
LEXOUT(("IQE "));
yytext[yyleng - 1] = '\0';
@@ -3075,7 +3173,7 @@ YY_RULE_SETUP
YY_BREAK
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(val):
-#line 425 "./util/configlexer.lex"
+#line 433 "./util/configlexer.lex"
{
LEXOUT(("LEXEOF "));
yy_set_bol(1); /* Set beginning of line, so "^" rules match. */
@@ -3087,33 +3185,33 @@ case YY_STATE_EOF(val):
}
}
YY_BREAK
-case 163:
+case 171:
YY_RULE_SETUP
-#line 436 "./util/configlexer.lex"
+#line 444 "./util/configlexer.lex"
{ LEXOUT(("unquotedstr(%s) ", yytext));
if(--num_args == 0) { BEGIN(INITIAL); }
yylval.str = strdup(yytext); return STRING_ARG; }
YY_BREAK
-case 164:
+case 172:
YY_RULE_SETUP
-#line 440 "./util/configlexer.lex"
+#line 448 "./util/configlexer.lex"
{
ub_c_error_msg("unknown keyword '%s'", yytext);
}
YY_BREAK
-case 165:
+case 173:
YY_RULE_SETUP
-#line 444 "./util/configlexer.lex"
+#line 452 "./util/configlexer.lex"
{
ub_c_error_msg("stray '%s'", yytext);
}
YY_BREAK
-case 166:
+case 174:
YY_RULE_SETUP
-#line 448 "./util/configlexer.lex"
+#line 456 "./util/configlexer.lex"
ECHO;
YY_BREAK
-#line 3115 "<stdout>"
+#line 3213 "<stdout>"
case YY_END_OF_BUFFER:
{
@@ -3403,7 +3501,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 >= 1655 )
+ if ( yy_current_state >= 1731 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3431,11 +3529,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1655 )
+ if ( yy_current_state >= 1731 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 1654);
+ yy_is_jam = (yy_current_state == 1730);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -4068,7 +4166,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 448 "./util/configlexer.lex"
+#line 456 "./util/configlexer.lex"
diff --git a/external/unbound/util/configlexer.lex b/external/unbound/util/configlexer.lex
index 5b1389dfb..5622f2170 100644
--- a/external/unbound/util/configlexer.lex
+++ b/external/unbound/util/configlexer.lex
@@ -240,6 +240,7 @@ msg-cache-slabs{COLON} { YDVAR(1, VAR_MSG_CACHE_SLABS) }
rrset-cache-size{COLON} { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
rrset-cache-slabs{COLON} { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
cache-max-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_TTL) }
+cache-max-negative-ttl{COLON} { YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
cache-min-ttl{COLON} { YDVAR(1, VAR_CACHE_MIN_TTL) }
infra-host-ttl{COLON} { YDVAR(1, VAR_INFRA_HOST_TTL) }
infra-lame-ttl{COLON} { YDVAR(1, VAR_INFRA_LAME_TTL) }
@@ -259,6 +260,7 @@ harden-below-nxdomain{COLON} { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
harden-referral-path{COLON} { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
harden-algo-downgrade{COLON} { YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
use-caps-for-id{COLON} { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
+caps-whitelist{COLON} { YDVAR(1, VAR_CAPS_WHITELIST) }
unwanted-reply-threshold{COLON} { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
private-address{COLON} { YDVAR(1, VAR_PRIVATE_ADDRESS) }
private-domain{COLON} { YDVAR(1, VAR_PRIVATE_DOMAIN) }
@@ -350,6 +352,12 @@ dnstap-log-forwarder-query-messages{COLON} {
YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
dnstap-log-forwarder-response-messages{COLON} {
YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
+ratelimit{COLON} { YDVAR(1, VAR_RATELIMIT) }
+ratelimit-slabs{COLON} { YDVAR(1, VAR_RATELIMIT_SLABS) }
+ratelimit-size{COLON} { YDVAR(1, VAR_RATELIMIT_SIZE) }
+ratelimit-for-domain{COLON} { YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
+ratelimit-below-domain{COLON} { YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
+ratelimit-factor{COLON} { YDVAR(1, VAR_RATELIMIT_FACTOR) }
<INITIAL,val>{NEWLINE} { LEXOUT(("NL\n")); cfg_parser->line++; }
/* Quoted strings. Strip leading and ending quotes */
diff --git a/external/unbound/util/configparser.c b/external/unbound/util/configparser.c
index 745a9ba79..f7ebd5d51 100644
--- a/external/unbound/util/configparser.c
+++ b/external/unbound/util/configparser.c
@@ -276,7 +276,15 @@ extern int yydebug;
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 404,
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 405,
VAR_HARDEN_ALGO_DOWNGRADE = 406,
- VAR_IP_TRANSPARENT = 407
+ VAR_IP_TRANSPARENT = 407,
+ VAR_RATELIMIT = 408,
+ VAR_RATELIMIT_SLABS = 409,
+ VAR_RATELIMIT_SIZE = 410,
+ VAR_RATELIMIT_FOR_DOMAIN = 411,
+ VAR_RATELIMIT_BELOW_DOMAIN = 412,
+ VAR_RATELIMIT_FACTOR = 413,
+ VAR_CAPS_WHITELIST = 414,
+ VAR_CACHE_MAX_NEGATIVE_TTL = 415
};
#endif
/* Tokens. */
@@ -430,6 +438,14 @@ extern int yydebug;
#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 405
#define VAR_HARDEN_ALGO_DOWNGRADE 406
#define VAR_IP_TRANSPARENT 407
+#define VAR_RATELIMIT 408
+#define VAR_RATELIMIT_SLABS 409
+#define VAR_RATELIMIT_SIZE 410
+#define VAR_RATELIMIT_FOR_DOMAIN 411
+#define VAR_RATELIMIT_BELOW_DOMAIN 412
+#define VAR_RATELIMIT_FACTOR 413
+#define VAR_CAPS_WHITELIST 414
+#define VAR_CACHE_MAX_NEGATIVE_TTL 415
@@ -443,7 +459,7 @@ typedef union YYSTYPE
/* Line 387 of yacc.c */
-#line 447 "util/configparser.c"
+#line 463 "util/configparser.c"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -471,7 +487,7 @@ int yyparse ();
/* Copy the second part of user declarations. */
/* Line 390 of yacc.c */
-#line 475 "util/configparser.c"
+#line 491 "util/configparser.c"
#ifdef short
# undef short
@@ -691,20 +707,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 283
+#define YYLAST 301
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 153
+#define YYNTOKENS 161
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 158
+#define YYNNTS 166
/* YYNRULES -- Number of rules. */
-#define YYNRULES 301
+#define YYNRULES 317
/* YYNRULES -- Number of states. */
-#define YYNSTATES 441
+#define YYNSTATES 467
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 407
+#define YYMAXUTOK 415
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -752,7 +768,8 @@ static const yytype_uint8 yytranslate[] =
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
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160
};
#if YYDEBUG
@@ -772,141 +789,147 @@ static const yytype_uint16 yyprhs[] =
185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
205, 207, 209, 211, 213, 215, 217, 219, 221, 223,
225, 227, 229, 231, 233, 235, 237, 239, 241, 243,
- 245, 247, 250, 251, 253, 255, 257, 259, 261, 263,
- 266, 267, 269, 271, 273, 275, 278, 281, 284, 287,
- 290, 293, 296, 299, 302, 305, 308, 311, 314, 317,
- 320, 323, 326, 329, 332, 335, 338, 341, 344, 347,
- 350, 353, 356, 359, 362, 365, 368, 371, 374, 377,
- 380, 383, 386, 389, 392, 395, 398, 401, 404, 407,
- 410, 413, 416, 419, 422, 425, 428, 431, 434, 437,
- 440, 443, 446, 449, 452, 455, 458, 461, 464, 467,
- 470, 473, 476, 479, 482, 485, 488, 491, 494, 497,
- 500, 503, 506, 509, 512, 515, 519, 522, 525, 528,
- 531, 534, 537, 540, 543, 546, 549, 552, 555, 558,
- 561, 564, 567, 570, 573, 577, 580, 583, 586, 589,
- 592, 595, 598, 601, 604, 607, 610, 613, 616, 619,
- 622, 625, 627, 630, 631, 633, 635, 637, 639, 641,
- 643, 645, 647, 650, 653, 656, 659, 662, 665, 668,
- 671, 673, 676, 677, 679, 681, 683, 685, 687, 689,
- 691, 693, 695, 697, 699, 701, 704, 707, 710, 713,
- 716, 719, 722, 725, 728, 731, 734, 737, 739, 742,
- 743, 745
+ 245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
+ 266, 267, 269, 271, 273, 275, 277, 279, 282, 283,
+ 285, 287, 289, 291, 294, 297, 300, 303, 306, 309,
+ 312, 315, 318, 321, 324, 327, 330, 333, 336, 339,
+ 342, 345, 348, 351, 354, 357, 360, 363, 366, 369,
+ 372, 375, 378, 381, 384, 387, 390, 393, 396, 399,
+ 402, 405, 408, 411, 414, 417, 420, 423, 426, 429,
+ 432, 435, 438, 441, 444, 447, 450, 453, 456, 459,
+ 462, 465, 468, 471, 474, 477, 480, 483, 486, 489,
+ 492, 495, 498, 501, 504, 507, 510, 513, 516, 519,
+ 522, 525, 528, 531, 534, 538, 541, 544, 547, 550,
+ 553, 556, 559, 562, 565, 568, 571, 574, 577, 580,
+ 583, 586, 589, 592, 595, 599, 602, 605, 608, 611,
+ 614, 617, 620, 623, 626, 629, 633, 637, 640, 643,
+ 646, 649, 652, 655, 658, 661, 664, 667, 669, 672,
+ 673, 675, 677, 679, 681, 683, 685, 687, 689, 692,
+ 695, 698, 701, 704, 707, 710, 713, 715, 718, 719,
+ 721, 723, 725, 727, 729, 731, 733, 735, 737, 739,
+ 741, 743, 746, 749, 752, 755, 758, 761, 764, 767,
+ 770, 773, 776, 779, 781, 784, 785, 787
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 154, 0, -1, -1, 154, 155, -1, 156, 157, -1,
- 159, 160, -1, 162, 163, -1, 307, 308, -1, 281,
- 282, -1, 292, 293, -1, 11, -1, 157, 158, -1,
- -1, 165, -1, 166, -1, 170, -1, 173, -1, 179,
- -1, 180, -1, 181, -1, 182, -1, 171, -1, 192,
- -1, 193, -1, 194, -1, 195, -1, 196, -1, 215,
- -1, 216, -1, 217, -1, 221, -1, 222, -1, 176,
- -1, 223, -1, 224, -1, 227, -1, 225, -1, 226,
- -1, 229, -1, 230, -1, 231, -1, 243, -1, 205,
- -1, 206, -1, 207, -1, 208, -1, 232, -1, 246,
- -1, 201, -1, 203, -1, 247, -1, 252, -1, 253,
- -1, 254, -1, 177, -1, 214, -1, 261, -1, 262,
- -1, 202, -1, 257, -1, 189, -1, 172, -1, 197,
- -1, 244, -1, 250, -1, 233, -1, 245, -1, 264,
- -1, 265, -1, 178, -1, 167, -1, 188, -1, 237,
- -1, 168, -1, 174, -1, 175, -1, 198, -1, 199,
- -1, 263, -1, 235, -1, 238, -1, 239, -1, 169,
- -1, 266, -1, 218, -1, 242, -1, 190, -1, 204,
- -1, 248, -1, 249, -1, 251, -1, 256, -1, 200,
- -1, 258, -1, 259, -1, 260, -1, 209, -1, 213,
- -1, 240, -1, 241, -1, 210, -1, 234, -1, 255,
- -1, 191, -1, 183, -1, 184, -1, 185, -1, 186,
- -1, 187, -1, 267, -1, 268, -1, 269, -1, 211,
- -1, 219, -1, 220, -1, 270, -1, 271, -1, 228,
- -1, 236, -1, 212, -1, 38, -1, 160, 161, -1,
- -1, 272, -1, 273, -1, 274, -1, 276, -1, 275,
- -1, 44, -1, 163, 164, -1, -1, 277, -1, 278,
- -1, 279, -1, 280, -1, 13, 10, -1, 12, 10,
- -1, 76, 10, -1, 79, 10, -1, 97, 10, -1,
- 14, 10, -1, 16, 10, -1, 67, 10, -1, 15,
- 10, -1, 80, 10, -1, 81, 10, -1, 31, 10,
- -1, 60, 10, -1, 75, 10, -1, 17, 10, -1,
- 18, 10, -1, 19, 10, -1, 20, 10, -1, 123,
- 10, -1, 124, 10, -1, 125, 10, -1, 126, 10,
- -1, 127, 10, -1, 77, 10, -1, 66, 10, -1,
- 102, 10, -1, 122, 10, -1, 21, 10, -1, 22,
- 10, -1, 23, 10, -1, 24, 10, -1, 25, 10,
- -1, 68, 10, -1, 82, 10, -1, 83, 10, -1,
- 110, 10, -1, 54, 10, -1, 64, 10, -1, 55,
- 10, -1, 103, 10, -1, 48, 10, -1, 49, 10,
- -1, 50, 10, -1, 51, 10, -1, 114, 10, -1,
- 118, 10, -1, 119, 10, -1, 152, 10, -1, 115,
- 10, -1, 61, 10, -1, 26, 10, -1, 27, 10,
- -1, 28, 10, -1, 99, 10, -1, 133, 10, -1,
- 134, 10, -1, 29, 10, -1, 30, 10, -1, 32,
- 10, -1, 33, 10, -1, 35, 10, -1, 36, 10,
- -1, 34, 10, -1, 135, 10, -1, 41, 10, -1,
- 42, 10, -1, 43, 10, -1, 52, 10, -1, 71,
- 10, -1, 120, 10, -1, 85, 10, -1, 151, 10,
- -1, 78, 10, -1, 86, 10, -1, 87, 10, -1,
- 116, 10, -1, 117, 10, -1, 101, 10, -1, 47,
- 10, -1, 69, 10, -1, 72, 10, 10, -1, 53,
- 10, -1, 56, 10, -1, 106, 10, -1, 107, 10,
- -1, 70, 10, -1, 108, 10, -1, 57, 10, -1,
- 58, 10, -1, 59, 10, -1, 121, 10, -1, 109,
- 10, -1, 65, 10, -1, 112, 10, -1, 113, 10,
- -1, 111, 10, -1, 62, 10, -1, 63, 10, -1,
- 84, 10, -1, 73, 10, 10, -1, 74, 10, -1,
- 98, 10, -1, 130, 10, -1, 131, 10, -1, 132,
- 10, -1, 136, 10, -1, 137, 10, -1, 37, 10,
- -1, 39, 10, -1, 40, 10, -1, 129, 10, -1,
- 100, 10, -1, 37, 10, -1, 45, 10, -1, 46,
- 10, -1, 128, 10, -1, 88, -1, 282, 283, -1,
- -1, 284, -1, 286, -1, 285, -1, 288, -1, 289,
- -1, 290, -1, 291, -1, 287, -1, 89, 10, -1,
- 91, 10, -1, 90, 10, -1, 96, 10, -1, 92,
- 10, -1, 93, 10, -1, 94, 10, -1, 95, 10,
- -1, 138, -1, 293, 294, -1, -1, 295, -1, 296,
- -1, 297, -1, 298, -1, 299, -1, 300, -1, 301,
- -1, 302, -1, 303, -1, 304, -1, 305, -1, 306,
- -1, 139, 10, -1, 140, 10, -1, 141, 10, -1,
- 142, 10, -1, 143, 10, -1, 144, 10, -1, 145,
- 10, -1, 146, 10, -1, 147, 10, -1, 148, 10,
- -1, 149, 10, -1, 150, 10, -1, 104, -1, 308,
- 309, -1, -1, 310, -1, 105, 10, -1
+ 162, 0, -1, -1, 162, 163, -1, 164, 165, -1,
+ 167, 168, -1, 170, 171, -1, 323, 324, -1, 297,
+ 298, -1, 308, 309, -1, 11, -1, 165, 166, -1,
+ -1, 173, -1, 174, -1, 178, -1, 181, -1, 187,
+ -1, 188, -1, 189, -1, 190, -1, 179, -1, 200,
+ -1, 201, -1, 202, -1, 203, -1, 204, -1, 223,
+ -1, 224, -1, 225, -1, 229, -1, 230, -1, 184,
+ -1, 231, -1, 232, -1, 235, -1, 233, -1, 234,
+ -1, 237, -1, 238, -1, 239, -1, 252, -1, 213,
+ -1, 214, -1, 215, -1, 216, -1, 240, -1, 255,
+ -1, 209, -1, 211, -1, 256, -1, 262, -1, 263,
+ -1, 264, -1, 185, -1, 222, -1, 271, -1, 272,
+ -1, 210, -1, 267, -1, 197, -1, 180, -1, 205,
+ -1, 253, -1, 259, -1, 241, -1, 254, -1, 274,
+ -1, 275, -1, 186, -1, 175, -1, 196, -1, 245,
+ -1, 176, -1, 182, -1, 183, -1, 206, -1, 207,
+ -1, 273, -1, 243, -1, 247, -1, 248, -1, 177,
+ -1, 276, -1, 226, -1, 251, -1, 198, -1, 212,
+ -1, 257, -1, 258, -1, 261, -1, 266, -1, 208,
+ -1, 268, -1, 269, -1, 270, -1, 217, -1, 221,
+ -1, 249, -1, 250, -1, 218, -1, 242, -1, 265,
+ -1, 199, -1, 191, -1, 192, -1, 193, -1, 194,
+ -1, 195, -1, 277, -1, 278, -1, 279, -1, 219,
+ -1, 227, -1, 228, -1, 280, -1, 281, -1, 236,
+ -1, 244, -1, 220, -1, 282, -1, 284, -1, 283,
+ -1, 285, -1, 286, -1, 287, -1, 246, -1, 260,
+ -1, 38, -1, 168, 169, -1, -1, 288, -1, 289,
+ -1, 290, -1, 292, -1, 291, -1, 44, -1, 171,
+ 172, -1, -1, 293, -1, 294, -1, 295, -1, 296,
+ -1, 13, 10, -1, 12, 10, -1, 76, 10, -1,
+ 79, 10, -1, 97, 10, -1, 14, 10, -1, 16,
+ 10, -1, 67, 10, -1, 15, 10, -1, 80, 10,
+ -1, 81, 10, -1, 31, 10, -1, 60, 10, -1,
+ 75, 10, -1, 17, 10, -1, 18, 10, -1, 19,
+ 10, -1, 20, 10, -1, 123, 10, -1, 124, 10,
+ -1, 125, 10, -1, 126, 10, -1, 127, 10, -1,
+ 77, 10, -1, 66, 10, -1, 102, 10, -1, 122,
+ 10, -1, 21, 10, -1, 22, 10, -1, 23, 10,
+ -1, 24, 10, -1, 25, 10, -1, 68, 10, -1,
+ 82, 10, -1, 83, 10, -1, 110, 10, -1, 54,
+ 10, -1, 64, 10, -1, 55, 10, -1, 103, 10,
+ -1, 48, 10, -1, 49, 10, -1, 50, 10, -1,
+ 51, 10, -1, 114, 10, -1, 118, 10, -1, 119,
+ 10, -1, 152, 10, -1, 115, 10, -1, 61, 10,
+ -1, 26, 10, -1, 27, 10, -1, 28, 10, -1,
+ 99, 10, -1, 133, 10, -1, 134, 10, -1, 29,
+ 10, -1, 30, 10, -1, 32, 10, -1, 33, 10,
+ -1, 35, 10, -1, 36, 10, -1, 34, 10, -1,
+ 135, 10, -1, 41, 10, -1, 42, 10, -1, 43,
+ 10, -1, 52, 10, -1, 71, 10, -1, 120, 10,
+ -1, 85, 10, -1, 151, 10, -1, 78, 10, -1,
+ 159, 10, -1, 86, 10, -1, 87, 10, -1, 116,
+ 10, -1, 117, 10, -1, 101, 10, -1, 47, 10,
+ -1, 69, 10, -1, 72, 10, 10, -1, 53, 10,
+ -1, 56, 10, -1, 106, 10, -1, 107, 10, -1,
+ 70, 10, -1, 160, 10, -1, 108, 10, -1, 57,
+ 10, -1, 58, 10, -1, 59, 10, -1, 121, 10,
+ -1, 109, 10, -1, 65, 10, -1, 112, 10, -1,
+ 113, 10, -1, 111, 10, -1, 62, 10, -1, 63,
+ 10, -1, 84, 10, -1, 73, 10, 10, -1, 74,
+ 10, -1, 98, 10, -1, 130, 10, -1, 131, 10,
+ -1, 132, 10, -1, 136, 10, -1, 137, 10, -1,
+ 153, 10, -1, 155, 10, -1, 154, 10, -1, 156,
+ 10, 10, -1, 157, 10, 10, -1, 158, 10, -1,
+ 37, 10, -1, 39, 10, -1, 40, 10, -1, 129,
+ 10, -1, 100, 10, -1, 37, 10, -1, 45, 10,
+ -1, 46, 10, -1, 128, 10, -1, 88, -1, 298,
+ 299, -1, -1, 300, -1, 302, -1, 301, -1, 304,
+ -1, 305, -1, 306, -1, 307, -1, 303, -1, 89,
+ 10, -1, 91, 10, -1, 90, 10, -1, 96, 10,
+ -1, 92, 10, -1, 93, 10, -1, 94, 10, -1,
+ 95, 10, -1, 138, -1, 309, 310, -1, -1, 311,
+ -1, 312, -1, 313, -1, 314, -1, 315, -1, 316,
+ -1, 317, -1, 318, -1, 319, -1, 320, -1, 321,
+ -1, 322, -1, 139, 10, -1, 140, 10, -1, 141,
+ 10, -1, 142, 10, -1, 143, 10, -1, 144, 10,
+ -1, 145, 10, -1, 146, 10, -1, 147, 10, -1,
+ 148, 10, -1, 149, 10, -1, 150, 10, -1, 104,
+ -1, 324, 325, -1, -1, 326, -1, 105, 10, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 124, 124, 124, 125, 125, 126, 126, 127, 127,
- 131, 136, 137, 138, 138, 138, 139, 139, 140, 140,
- 140, 141, 141, 141, 142, 142, 142, 143, 143, 144,
- 144, 145, 145, 146, 146, 147, 147, 148, 148, 149,
- 149, 150, 150, 151, 151, 151, 152, 152, 152, 153,
- 153, 153, 154, 154, 155, 155, 156, 156, 157, 157,
- 158, 158, 158, 159, 159, 160, 160, 161, 161, 161,
- 162, 162, 163, 163, 164, 164, 165, 165, 165, 166,
- 166, 167, 167, 168, 168, 169, 169, 170, 170, 171,
- 171, 171, 172, 172, 173, 173, 173, 174, 174, 174,
- 175, 175, 175, 176, 176, 176, 177, 177, 177, 178,
- 178, 178, 179, 179, 179, 180, 180, 181, 181, 182,
- 184, 196, 197, 198, 198, 198, 198, 198, 200, 212,
- 213, 214, 214, 214, 214, 216, 225, 234, 245, 254,
- 263, 272, 285, 300, 309, 318, 327, 336, 345, 354,
- 363, 372, 381, 390, 399, 408, 415, 422, 431, 440,
- 454, 463, 472, 479, 486, 493, 501, 508, 515, 522,
- 529, 537, 545, 553, 560, 567, 576, 585, 592, 599,
- 607, 615, 625, 635, 648, 659, 667, 680, 689, 698,
- 707, 717, 725, 738, 747, 755, 764, 772, 785, 794,
- 801, 811, 821, 831, 841, 851, 861, 871, 881, 888,
- 895, 904, 913, 922, 929, 939, 956, 963, 981, 994,
- 1007, 1016, 1025, 1034, 1044, 1054, 1063, 1072, 1079, 1088,
- 1097, 1106, 1114, 1127, 1135, 1158, 1165, 1180, 1190, 1200,
- 1207, 1214, 1223, 1233, 1240, 1247, 1256, 1266, 1276, 1283,
- 1290, 1299, 1304, 1305, 1306, 1306, 1306, 1307, 1307, 1307,
- 1308, 1308, 1310, 1320, 1329, 1336, 1346, 1353, 1360, 1367,
- 1374, 1379, 1380, 1381, 1381, 1382, 1382, 1383, 1383, 1384,
- 1385, 1386, 1387, 1388, 1389, 1391, 1399, 1406, 1414, 1422,
- 1429, 1436, 1445, 1454, 1463, 1472, 1481, 1490, 1495, 1496,
- 1497, 1499
+ 0, 127, 127, 127, 128, 128, 129, 129, 130, 130,
+ 134, 139, 140, 141, 141, 141, 142, 142, 143, 143,
+ 143, 144, 144, 144, 145, 145, 145, 146, 146, 147,
+ 147, 148, 148, 149, 149, 150, 150, 151, 151, 152,
+ 152, 153, 153, 154, 154, 154, 155, 155, 155, 156,
+ 156, 156, 157, 157, 158, 158, 159, 159, 160, 160,
+ 161, 161, 161, 162, 162, 163, 163, 164, 164, 164,
+ 165, 165, 166, 166, 167, 167, 168, 168, 168, 169,
+ 169, 170, 170, 171, 171, 172, 172, 173, 173, 174,
+ 174, 174, 175, 175, 176, 176, 176, 177, 177, 177,
+ 178, 178, 178, 179, 179, 179, 180, 180, 180, 181,
+ 181, 181, 182, 182, 182, 183, 183, 184, 184, 185,
+ 185, 185, 186, 186, 187, 187, 188, 188, 190, 202,
+ 203, 204, 204, 204, 204, 204, 206, 218, 219, 220,
+ 220, 220, 220, 222, 231, 240, 251, 260, 269, 278,
+ 291, 306, 315, 324, 333, 342, 351, 360, 369, 378,
+ 387, 396, 405, 414, 421, 428, 437, 446, 460, 469,
+ 478, 485, 492, 499, 507, 514, 521, 528, 535, 543,
+ 551, 559, 566, 573, 582, 591, 598, 605, 613, 621,
+ 631, 641, 654, 665, 673, 686, 695, 704, 713, 723,
+ 731, 744, 753, 761, 770, 778, 791, 800, 807, 817,
+ 827, 837, 847, 857, 867, 877, 887, 894, 901, 908,
+ 917, 926, 935, 942, 952, 969, 976, 994, 1007, 1020,
+ 1029, 1038, 1047, 1056, 1066, 1076, 1085, 1094, 1101, 1110,
+ 1119, 1128, 1136, 1149, 1157, 1181, 1188, 1203, 1213, 1223,
+ 1230, 1237, 1246, 1255, 1263, 1276, 1289, 1302, 1311, 1321,
+ 1328, 1335, 1344, 1354, 1364, 1371, 1378, 1387, 1392, 1393,
+ 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1396, 1398, 1408,
+ 1417, 1424, 1434, 1441, 1448, 1455, 1462, 1467, 1468, 1469,
+ 1469, 1470, 1470, 1471, 1471, 1472, 1473, 1474, 1475, 1476,
+ 1477, 1479, 1487, 1494, 1502, 1510, 1517, 1524, 1533, 1542,
+ 1551, 1560, 1569, 1578, 1583, 1584, 1585, 1587
};
#endif
@@ -968,7 +991,10 @@ static const char *const yytname[] =
"VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES",
"VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES",
"VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES",
- "VAR_HARDEN_ALGO_DOWNGRADE", "VAR_IP_TRANSPARENT", "$accept",
+ "VAR_HARDEN_ALGO_DOWNGRADE", "VAR_IP_TRANSPARENT", "VAR_RATELIMIT",
+ "VAR_RATELIMIT_SLABS", "VAR_RATELIMIT_SIZE", "VAR_RATELIMIT_FOR_DOMAIN",
+ "VAR_RATELIMIT_BELOW_DOMAIN", "VAR_RATELIMIT_FACTOR",
+ "VAR_CAPS_WHITELIST", "VAR_CACHE_MAX_NEGATIVE_TTL", "$accept",
"toplevelvars", "toplevelvar", "serverstart", "contents_server",
"content_server", "stubstart", "contents_stub", "content_stub",
"forwardstart", "contents_forward", "content_forward",
@@ -1002,12 +1028,13 @@ static const char *const yytname[] =
"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_private_address", "server_private_domain", "server_prefetch",
- "server_prefetch_key", "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_caps_whitelist", "server_private_address",
+ "server_private_domain", "server_prefetch", "server_prefetch_key",
+ "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_ignore_cd_flag", "server_val_log_level",
@@ -1016,15 +1043,17 @@ static const char *const yytname[] =
"server_key_cache_slabs", "server_neg_cache_size", "server_local_zone",
"server_local_data", "server_local_data_ptr", "server_minimal_responses",
"server_rrset_roundrobin", "server_max_udp_size", "server_dns64_prefix",
- "server_dns64_synthall", "stub_name", "stub_host", "stub_addr",
- "stub_first", "stub_prime", "forward_name", "forward_host",
- "forward_addr", "forward_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_socket_path",
- "dt_dnstap_send_identity", "dt_dnstap_send_version",
- "dt_dnstap_identity", "dt_dnstap_version",
+ "server_dns64_synthall", "server_ratelimit", "server_ratelimit_size",
+ "server_ratelimit_slabs", "server_ratelimit_for_domain",
+ "server_ratelimit_below_domain", "server_ratelimit_factor", "stub_name",
+ "stub_host", "stub_addr", "stub_first", "stub_prime", "forward_name",
+ "forward_host", "forward_addr", "forward_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_socket_path", "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",
@@ -1055,28 +1084,29 @@ static const yytype_uint16 yytoknum[] =
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
+ 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
+ 415
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
- 0, 153, 154, 154, 155, 155, 155, 155, 155, 155,
- 156, 157, 157, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 159, 160, 160, 161, 161, 161, 161, 161, 162, 163,
- 163, 164, 164, 164, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 0, 161, 162, 162, 163, 163, 163, 163, 163, 163,
+ 164, 165, 165, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 166, 167, 168,
+ 168, 169, 169, 169, 169, 169, 170, 171, 171, 172,
+ 172, 172, 172, 173, 174, 175, 176, 177, 178, 179,
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,
@@ -1087,12 +1117,13 @@ static const yytype_uint16 yyr1[] =
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, 282, 283, 283, 283, 283, 283, 283,
- 283, 283, 284, 285, 286, 287, 288, 289, 290, 291,
- 292, 293, 293, 294, 294, 294, 294, 294, 294, 294,
- 294, 294, 294, 294, 294, 295, 296, 297, 298, 299,
- 300, 301, 302, 303, 304, 305, 306, 307, 308, 308,
- 309, 310
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 298,
+ 299, 299, 299, 299, 299, 299, 299, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 309, 310,
+ 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 324, 325, 326
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1110,8 +1141,9 @@ static const yytype_uint8 yyr2[] =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 2, 0, 1, 1, 1, 1, 1, 1, 2,
- 0, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 0, 1, 1, 1, 1, 1, 1, 2, 0, 1,
+ 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -1119,16 +1151,16 @@ static const yytype_uint8 yyr2[] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 1, 2, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 2, 0, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 3, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 3, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 1, 2, 0,
- 1, 2
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 1, 2, 0, 1, 2
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -1136,8 +1168,8 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 2, 0, 1, 10, 120, 128, 251, 297, 270, 3,
- 12, 122, 130, 253, 272, 299, 4, 5, 6, 8,
+ 2, 0, 1, 10, 128, 136, 267, 313, 286, 3,
+ 12, 130, 138, 269, 288, 315, 4, 5, 6, 8,
9, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1148,60 +1180,63 @@ static const yytype_uint16 yydefact[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
- 13, 14, 70, 73, 82, 15, 21, 61, 16, 74,
- 75, 32, 54, 69, 17, 18, 19, 20, 104, 105,
- 106, 107, 108, 71, 60, 86, 103, 22, 23, 24,
- 25, 26, 62, 76, 77, 92, 48, 58, 49, 87,
- 42, 43, 44, 45, 96, 100, 112, 119, 97, 55,
- 27, 28, 29, 84, 113, 114, 30, 31, 33, 34,
- 36, 37, 35, 117, 38, 39, 40, 46, 65, 101,
- 79, 118, 72, 80, 81, 98, 99, 85, 41, 63,
- 66, 47, 50, 88, 89, 64, 90, 51, 52, 53,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 11, 13, 14,
+ 70, 73, 82, 15, 21, 61, 16, 74, 75, 32,
+ 54, 69, 17, 18, 19, 20, 104, 105, 106, 107,
+ 108, 71, 60, 86, 103, 22, 23, 24, 25, 26,
+ 62, 76, 77, 92, 48, 58, 49, 87, 42, 43,
+ 44, 45, 96, 100, 112, 119, 97, 55, 27, 28,
+ 29, 84, 113, 114, 30, 31, 33, 34, 36, 37,
+ 35, 117, 38, 39, 40, 46, 65, 101, 79, 118,
+ 72, 126, 80, 81, 98, 99, 85, 41, 63, 66,
+ 47, 50, 88, 89, 64, 127, 90, 51, 52, 53,
102, 91, 59, 93, 94, 95, 56, 57, 78, 67,
- 68, 83, 109, 110, 111, 115, 116, 0, 0, 0,
- 0, 0, 121, 123, 124, 125, 127, 126, 0, 0,
- 0, 0, 129, 131, 132, 133, 134, 0, 0, 0,
- 0, 0, 0, 0, 0, 252, 254, 256, 255, 261,
- 257, 258, 259, 260, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 271, 273, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, 0,
- 298, 300, 136, 135, 140, 143, 141, 149, 150, 151,
- 152, 162, 163, 164, 165, 166, 185, 186, 187, 191,
- 192, 146, 193, 194, 197, 195, 196, 199, 200, 201,
- 213, 175, 176, 177, 178, 202, 216, 171, 173, 217,
- 222, 223, 224, 147, 184, 231, 232, 172, 227, 159,
- 142, 167, 214, 220, 203, 0, 0, 235, 148, 137,
- 158, 207, 138, 144, 145, 168, 169, 233, 205, 208,
- 209, 139, 236, 188, 212, 160, 174, 218, 219, 221,
- 226, 170, 230, 228, 229, 179, 183, 210, 211, 180,
- 181, 204, 225, 161, 153, 154, 155, 156, 157, 237,
- 238, 239, 189, 190, 198, 240, 241, 206, 182, 242,
- 243, 244, 246, 245, 247, 248, 249, 250, 262, 264,
- 263, 266, 267, 268, 269, 265, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 301, 215,
- 234
+ 68, 83, 109, 110, 111, 115, 116, 120, 122, 121,
+ 123, 124, 125, 0, 0, 0, 0, 0, 129, 131,
+ 132, 133, 135, 134, 0, 0, 0, 0, 137, 139,
+ 140, 141, 142, 0, 0, 0, 0, 0, 0, 0,
+ 0, 268, 270, 272, 271, 277, 273, 274, 275, 276,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 287, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 0, 314, 316, 144, 143,
+ 148, 151, 149, 157, 158, 159, 160, 170, 171, 172,
+ 173, 174, 193, 194, 195, 199, 200, 154, 201, 202,
+ 205, 203, 204, 207, 208, 209, 222, 183, 184, 185,
+ 186, 210, 225, 179, 181, 226, 232, 233, 234, 155,
+ 192, 241, 242, 180, 237, 167, 150, 175, 223, 229,
+ 211, 0, 0, 245, 156, 145, 166, 215, 146, 152,
+ 153, 176, 177, 243, 213, 217, 218, 147, 246, 196,
+ 221, 168, 182, 227, 228, 231, 236, 178, 240, 238,
+ 239, 187, 191, 219, 220, 188, 189, 212, 235, 169,
+ 161, 162, 163, 164, 165, 247, 248, 249, 197, 198,
+ 206, 250, 251, 214, 190, 252, 254, 253, 0, 0,
+ 257, 216, 230, 258, 259, 260, 262, 261, 263, 264,
+ 265, 266, 278, 280, 279, 282, 283, 284, 285, 281,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 317, 224, 244, 255, 256
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 9, 10, 16, 129, 11, 17, 242, 12,
- 18, 252, 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, 243,
- 244, 245, 246, 247, 253, 254, 255, 256, 13, 19,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 14,
- 20, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 15, 21, 300, 301
+ -1, 1, 9, 10, 16, 137, 11, 17, 258, 12,
+ 18, 268, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 259, 260, 261,
+ 262, 263, 269, 270, 271, 272, 13, 19, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 14, 20, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 15, 21, 316, 317
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -1210,18 +1245,19 @@ static const yytype_int16 yydefgoto[] =
static const yytype_int16 yypact[] =
{
-81, 116, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -12, 41, 47, 39,
- 3, -80, 16, 17, 18, 22, 23, 24, 66, 67,
- 69, 72, 73, 78, 107, 126, 127, 128, 145, 146,
- 147, 148, 149, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 161, 162, 163, 164, 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, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 211,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 236, 237, 238, 239, 240, -81,
+ -81, -81, -81, -81, -81, -81, -12, 89, 47, -13,
+ 22, -80, 16, 17, 18, 23, 24, 78, 107, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 139, 140,
+ 141, 142, 143, 145, 146, 147, 148, 149, 163, 164,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 180, 181, 182, 183, 184, 185, 186,
+ 187, 188, 189, 190, 191, 192, 193, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 209, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
@@ -1232,28 +1268,29 @@ static const yytype_int16 yypact[] =
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -81, 241, 242, 243,
- 245, 246, -81, -81, -81, -81, -81, -81, 247, 248,
- 249, 250, -81, -81, -81, -81, -81, 251, 252, 253,
- 254, 255, 256, 257, 258, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -81, -81, -81, 271,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, 258, 259, 260, 261, 262, -81, -81,
+ -81, -81, -81, -81, 263, 264, 265, 266, -81, -81,
+ -81, -81, -81, 267, 268, 269, 270, 271, 272, 273,
+ 274, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, -81, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, -81, -81, 287, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, 272, 273, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ -81, 288, 289, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, -81, -81, -81, -81, -81, 290, 291,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81
+ -81, -81, -81, -81, -81, -81, -81
};
/* YYPGOTO[NTERM-NUM]. */
@@ -1274,7 +1311,8 @@ static const yytype_int8 yypgoto[] =
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
-81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
- -81, -81, -81, -81, -81, -81, -81, -81
+ -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
+ -81, -81, -81, -81, -81, -81
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1285,33 +1323,35 @@ static const yytype_uint16 yytable[] =
{
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 299, 302, 303, 304, 47,
- 48, 49, 305, 306, 307, 50, 51, 52, 53, 54,
+ 42, 43, 44, 45, 46, 315, 318, 319, 320, 47,
+ 48, 49, 0, 321, 322, 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, 308, 309, 237, 310,
- 238, 239, 311, 312, 248, 91, 92, 93, 313, 94,
- 95, 96, 249, 250, 97, 98, 99, 100, 101, 102,
+ 85, 86, 87, 88, 89, 90, 273, 274, 275, 276,
+ 277, 278, 279, 280, 264, 91, 92, 93, 323, 94,
+ 95, 96, 265, 266, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 2, 314, 119, 120,
- 121, 122, 123, 124, 125, 126, 0, 3, 257, 258,
- 259, 260, 261, 262, 263, 264, 315, 316, 317, 127,
- 128, 240, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 284, 285, 4, 318, 319, 320, 321, 322,
- 5, 323, 324, 325, 326, 327, 328, 329, 330, 331,
- 241, 332, 333, 334, 335, 251, 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, 6, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
- 7, 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, 8, 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
+ 113, 114, 115, 116, 117, 118, 2, 324, 119, 120,
+ 121, 122, 123, 124, 125, 126, 253, 3, 254, 255,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 334,
+ 335, 336, 337, 338, 4, 339, 340, 341, 342, 343,
+ 5, 290, 291, 292, 293, 294, 295, 296, 297, 298,
+ 299, 300, 301, 344, 345, 267, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 256,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 6, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 383, 384, 385, 257, 386,
+ 7, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 8, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
+ 465, 466
};
#define yypact_value_is_default(Yystate) \
@@ -1325,41 +1365,43 @@ static const yytype_int16 yycheck[] =
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, 105, 10, 10, 10, 41,
- 42, 43, 10, 10, 10, 47, 48, 49, 50, 51,
+ 42, 43, -1, 10, 10, 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, 10, 10, 37, 10,
- 39, 40, 10, 10, 37, 97, 98, 99, 10, 101,
+ 82, 83, 84, 85, 86, 87, 89, 90, 91, 92,
+ 93, 94, 95, 96, 37, 97, 98, 99, 10, 101,
102, 103, 45, 46, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 0, 10, 130, 131,
- 132, 133, 134, 135, 136, 137, -1, 11, 89, 90,
- 91, 92, 93, 94, 95, 96, 10, 10, 10, 151,
- 152, 100, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 38, 10, 10, 10, 10, 10,
- 44, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 129, 10, 10, 10, 10, 128, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 132, 133, 134, 135, 136, 137, 37, 11, 39, 40,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 10,
+ 10, 10, 10, 10, 38, 10, 10, 10, 10, 10,
+ 44, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 10, 10, 128, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 100,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 88, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 129, 10,
104, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 138, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
- 0, 154, 0, 11, 38, 44, 88, 104, 138, 155,
- 156, 159, 162, 281, 292, 307, 157, 160, 163, 282,
- 293, 308, 12, 13, 14, 15, 16, 17, 18, 19,
+ 0, 162, 0, 11, 38, 44, 88, 104, 138, 163,
+ 164, 167, 170, 297, 308, 323, 165, 168, 171, 298,
+ 309, 324, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 41, 42, 43,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -1369,8 +1411,8 @@ static const yytype_uint16 yystos[] =
87, 97, 98, 99, 101, 102, 103, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 130,
- 131, 132, 133, 134, 135, 136, 137, 151, 152, 158,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 131, 132, 133, 134, 135, 136, 137, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 166, 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,
@@ -1380,14 +1422,15 @@ static const yytype_uint16 yystos[] =
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, 37, 39, 40,
- 100, 129, 161, 272, 273, 274, 275, 276, 37, 45,
- 46, 128, 164, 277, 278, 279, 280, 89, 90, 91,
- 92, 93, 94, 95, 96, 283, 284, 285, 286, 287,
- 288, 289, 290, 291, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 294, 295, 296, 297,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 105,
- 309, 310, 10, 10, 10, 10, 10, 10, 10, 10,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 37, 39, 40, 100, 129, 169, 288,
+ 289, 290, 291, 292, 37, 45, 46, 128, 172, 293,
+ 294, 295, 296, 89, 90, 91, 92, 93, 94, 95,
+ 96, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 105, 325, 326, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
@@ -1401,7 +1444,8 @@ static const yytype_uint16 yystos[] =
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10
};
#define yyerrok (yyerrstatus = 0)
@@ -2203,15 +2247,15 @@ yyreduce:
{
case 10:
/* Line 1792 of yacc.c */
-#line 132 "./util/configparser.y"
+#line 135 "./util/configparser.y"
{
OUTYY(("\nP(server:)\n"));
}
break;
- case 120:
+ case 128:
/* Line 1792 of yacc.c */
-#line 185 "./util/configparser.y"
+#line 191 "./util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(stub_zone:)\n"));
@@ -2224,9 +2268,9 @@ yyreduce:
}
break;
- case 128:
+ case 136:
/* Line 1792 of yacc.c */
-#line 201 "./util/configparser.y"
+#line 207 "./util/configparser.y"
{
struct config_stub* s;
OUTYY(("\nP(forward_zone:)\n"));
@@ -2239,9 +2283,9 @@ yyreduce:
}
break;
- case 135:
+ case 143:
/* Line 1792 of yacc.c */
-#line 217 "./util/configparser.y"
+#line 223 "./util/configparser.y"
{
OUTYY(("P(server_num_threads:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2251,9 +2295,9 @@ yyreduce:
}
break;
- case 136:
+ case 144:
/* Line 1792 of yacc.c */
-#line 226 "./util/configparser.y"
+#line 232 "./util/configparser.y"
{
OUTYY(("P(server_verbosity:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2263,9 +2307,9 @@ yyreduce:
}
break;
- case 137:
+ case 145:
/* Line 1792 of yacc.c */
-#line 235 "./util/configparser.y"
+#line 241 "./util/configparser.y"
{
OUTYY(("P(server_statistics_interval:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "") == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0)
@@ -2277,9 +2321,9 @@ yyreduce:
}
break;
- case 138:
+ case 146:
/* Line 1792 of yacc.c */
-#line 246 "./util/configparser.y"
+#line 252 "./util/configparser.y"
{
OUTYY(("P(server_statistics_cumulative:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2289,9 +2333,9 @@ yyreduce:
}
break;
- case 139:
+ case 147:
/* Line 1792 of yacc.c */
-#line 255 "./util/configparser.y"
+#line 261 "./util/configparser.y"
{
OUTYY(("P(server_extended_statistics:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2301,9 +2345,9 @@ yyreduce:
}
break;
- case 140:
+ case 148:
/* Line 1792 of yacc.c */
-#line 264 "./util/configparser.y"
+#line 270 "./util/configparser.y"
{
OUTYY(("P(server_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2313,9 +2357,9 @@ yyreduce:
}
break;
- case 141:
+ case 149:
/* Line 1792 of yacc.c */
-#line 273 "./util/configparser.y"
+#line 279 "./util/configparser.y"
{
OUTYY(("P(server_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_ifs == 0)
@@ -2329,9 +2373,9 @@ yyreduce:
}
break;
- case 142:
+ case 150:
/* Line 1792 of yacc.c */
-#line 286 "./util/configparser.y"
+#line 292 "./util/configparser.y"
{
OUTYY(("P(server_outgoing_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->num_out_ifs == 0)
@@ -2347,9 +2391,9 @@ yyreduce:
}
break;
- case 143:
+ case 151:
/* Line 1792 of yacc.c */
-#line 301 "./util/configparser.y"
+#line 307 "./util/configparser.y"
{
OUTYY(("P(server_outgoing_range:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2359,9 +2403,9 @@ yyreduce:
}
break;
- case 144:
+ case 152:
/* Line 1792 of yacc.c */
-#line 310 "./util/configparser.y"
+#line 316 "./util/configparser.y"
{
OUTYY(("P(server_outgoing_port_permit:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 1,
@@ -2371,9 +2415,9 @@ yyreduce:
}
break;
- case 145:
+ case 153:
/* Line 1792 of yacc.c */
-#line 319 "./util/configparser.y"
+#line 325 "./util/configparser.y"
{
OUTYY(("P(server_outgoing_port_avoid:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_mark_ports((yyvsp[(2) - (2)].str), 0,
@@ -2383,9 +2427,9 @@ yyreduce:
}
break;
- case 146:
+ case 154:
/* Line 1792 of yacc.c */
-#line 328 "./util/configparser.y"
+#line 334 "./util/configparser.y"
{
OUTYY(("P(server_outgoing_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2395,9 +2439,9 @@ yyreduce:
}
break;
- case 147:
+ case 155:
/* Line 1792 of yacc.c */
-#line 337 "./util/configparser.y"
+#line 343 "./util/configparser.y"
{
OUTYY(("P(server_incoming_num_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2407,9 +2451,9 @@ yyreduce:
}
break;
- case 148:
+ case 156:
/* Line 1792 of yacc.c */
-#line 346 "./util/configparser.y"
+#line 352 "./util/configparser.y"
{
OUTYY(("P(server_interface_automatic:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2419,9 +2463,9 @@ yyreduce:
}
break;
- case 149:
+ case 157:
/* Line 1792 of yacc.c */
-#line 355 "./util/configparser.y"
+#line 361 "./util/configparser.y"
{
OUTYY(("P(server_do_ip4:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2431,9 +2475,9 @@ yyreduce:
}
break;
- case 150:
+ case 158:
/* Line 1792 of yacc.c */
-#line 364 "./util/configparser.y"
+#line 370 "./util/configparser.y"
{
OUTYY(("P(server_do_ip6:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2443,9 +2487,9 @@ yyreduce:
}
break;
- case 151:
+ case 159:
/* Line 1792 of yacc.c */
-#line 373 "./util/configparser.y"
+#line 379 "./util/configparser.y"
{
OUTYY(("P(server_do_udp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2455,9 +2499,9 @@ yyreduce:
}
break;
- case 152:
+ case 160:
/* Line 1792 of yacc.c */
-#line 382 "./util/configparser.y"
+#line 388 "./util/configparser.y"
{
OUTYY(("P(server_do_tcp:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2467,9 +2511,9 @@ yyreduce:
}
break;
- case 153:
+ case 161:
/* Line 1792 of yacc.c */
-#line 391 "./util/configparser.y"
+#line 397 "./util/configparser.y"
{
OUTYY(("P(server_tcp_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2479,9 +2523,9 @@ yyreduce:
}
break;
- case 154:
+ case 162:
/* Line 1792 of yacc.c */
-#line 400 "./util/configparser.y"
+#line 406 "./util/configparser.y"
{
OUTYY(("P(server_ssl_upstream:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2491,9 +2535,9 @@ yyreduce:
}
break;
- case 155:
+ case 163:
/* Line 1792 of yacc.c */
-#line 409 "./util/configparser.y"
+#line 415 "./util/configparser.y"
{
OUTYY(("P(server_ssl_service_key:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_key);
@@ -2501,9 +2545,9 @@ yyreduce:
}
break;
- case 156:
+ case 164:
/* Line 1792 of yacc.c */
-#line 416 "./util/configparser.y"
+#line 422 "./util/configparser.y"
{
OUTYY(("P(server_ssl_service_pem:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->ssl_service_pem);
@@ -2511,9 +2555,9 @@ yyreduce:
}
break;
- case 157:
+ case 165:
/* Line 1792 of yacc.c */
-#line 423 "./util/configparser.y"
+#line 429 "./util/configparser.y"
{
OUTYY(("P(server_ssl_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2523,9 +2567,9 @@ yyreduce:
}
break;
- case 158:
+ case 166:
/* Line 1792 of yacc.c */
-#line 432 "./util/configparser.y"
+#line 438 "./util/configparser.y"
{
OUTYY(("P(server_do_daemonize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2535,9 +2579,9 @@ yyreduce:
}
break;
- case 159:
+ case 167:
/* Line 1792 of yacc.c */
-#line 441 "./util/configparser.y"
+#line 447 "./util/configparser.y"
{
OUTYY(("P(server_use_syslog:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2552,9 +2596,9 @@ yyreduce:
}
break;
- case 160:
+ case 168:
/* Line 1792 of yacc.c */
-#line 455 "./util/configparser.y"
+#line 461 "./util/configparser.y"
{
OUTYY(("P(server_log_time_ascii:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2564,9 +2608,9 @@ yyreduce:
}
break;
- case 161:
+ case 169:
/* Line 1792 of yacc.c */
-#line 464 "./util/configparser.y"
+#line 470 "./util/configparser.y"
{
OUTYY(("P(server_log_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2576,9 +2620,9 @@ yyreduce:
}
break;
- case 162:
+ case 170:
/* Line 1792 of yacc.c */
-#line 473 "./util/configparser.y"
+#line 479 "./util/configparser.y"
{
OUTYY(("P(server_chroot:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->chrootdir);
@@ -2586,9 +2630,9 @@ yyreduce:
}
break;
- case 163:
+ case 171:
/* Line 1792 of yacc.c */
-#line 480 "./util/configparser.y"
+#line 486 "./util/configparser.y"
{
OUTYY(("P(server_username:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->username);
@@ -2596,9 +2640,9 @@ yyreduce:
}
break;
- case 164:
+ case 172:
/* Line 1792 of yacc.c */
-#line 487 "./util/configparser.y"
+#line 493 "./util/configparser.y"
{
OUTYY(("P(server_directory:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->directory);
@@ -2606,9 +2650,9 @@ yyreduce:
}
break;
- case 165:
+ case 173:
/* Line 1792 of yacc.c */
-#line 494 "./util/configparser.y"
+#line 500 "./util/configparser.y"
{
OUTYY(("P(server_logfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->logfile);
@@ -2617,9 +2661,9 @@ yyreduce:
}
break;
- case 166:
+ case 174:
/* Line 1792 of yacc.c */
-#line 502 "./util/configparser.y"
+#line 508 "./util/configparser.y"
{
OUTYY(("P(server_pidfile:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->pidfile);
@@ -2627,9 +2671,9 @@ yyreduce:
}
break;
- case 167:
+ case 175:
/* Line 1792 of yacc.c */
-#line 509 "./util/configparser.y"
+#line 515 "./util/configparser.y"
{
OUTYY(("P(server_root_hints:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->root_hints, (yyvsp[(2) - (2)].str)))
@@ -2637,9 +2681,9 @@ yyreduce:
}
break;
- case 168:
+ case 176:
/* Line 1792 of yacc.c */
-#line 516 "./util/configparser.y"
+#line 522 "./util/configparser.y"
{
OUTYY(("P(server_dlv_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dlv_anchor_file);
@@ -2647,9 +2691,9 @@ yyreduce:
}
break;
- case 169:
+ case 177:
/* Line 1792 of yacc.c */
-#line 523 "./util/configparser.y"
+#line 529 "./util/configparser.y"
{
OUTYY(("P(server_dlv_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->dlv_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2657,9 +2701,9 @@ yyreduce:
}
break;
- case 170:
+ case 178:
/* Line 1792 of yacc.c */
-#line 530 "./util/configparser.y"
+#line 536 "./util/configparser.y"
{
OUTYY(("P(server_auto_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2668,9 +2712,9 @@ yyreduce:
}
break;
- case 171:
+ case 179:
/* Line 1792 of yacc.c */
-#line 538 "./util/configparser.y"
+#line 544 "./util/configparser.y"
{
OUTYY(("P(server_trust_anchor_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2679,9 +2723,9 @@ yyreduce:
}
break;
- case 172:
+ case 180:
/* Line 1792 of yacc.c */
-#line 546 "./util/configparser.y"
+#line 552 "./util/configparser.y"
{
OUTYY(("P(server_trusted_keys_file:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->
@@ -2690,9 +2734,9 @@ yyreduce:
}
break;
- case 173:
+ case 181:
/* Line 1792 of yacc.c */
-#line 554 "./util/configparser.y"
+#line 560 "./util/configparser.y"
{
OUTYY(("P(server_trust_anchor:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->trust_anchor_list, (yyvsp[(2) - (2)].str)))
@@ -2700,9 +2744,9 @@ yyreduce:
}
break;
- case 174:
+ case 182:
/* Line 1792 of yacc.c */
-#line 561 "./util/configparser.y"
+#line 567 "./util/configparser.y"
{
OUTYY(("P(server_domain_insecure:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->domain_insecure, (yyvsp[(2) - (2)].str)))
@@ -2710,9 +2754,9 @@ yyreduce:
}
break;
- case 175:
+ case 183:
/* Line 1792 of yacc.c */
-#line 568 "./util/configparser.y"
+#line 574 "./util/configparser.y"
{
OUTYY(("P(server_hide_identity:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2722,9 +2766,9 @@ yyreduce:
}
break;
- case 176:
+ case 184:
/* Line 1792 of yacc.c */
-#line 577 "./util/configparser.y"
+#line 583 "./util/configparser.y"
{
OUTYY(("P(server_hide_version:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2734,9 +2778,9 @@ yyreduce:
}
break;
- case 177:
+ case 185:
/* Line 1792 of yacc.c */
-#line 586 "./util/configparser.y"
+#line 592 "./util/configparser.y"
{
OUTYY(("P(server_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->identity);
@@ -2744,9 +2788,9 @@ yyreduce:
}
break;
- case 178:
+ case 186:
/* Line 1792 of yacc.c */
-#line 593 "./util/configparser.y"
+#line 599 "./util/configparser.y"
{
OUTYY(("P(server_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->version);
@@ -2754,9 +2798,9 @@ yyreduce:
}
break;
- case 179:
+ case 187:
/* Line 1792 of yacc.c */
-#line 600 "./util/configparser.y"
+#line 606 "./util/configparser.y"
{
OUTYY(("P(server_so_rcvbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_rcvbuf))
@@ -2765,9 +2809,9 @@ yyreduce:
}
break;
- case 180:
+ case 188:
/* Line 1792 of yacc.c */
-#line 608 "./util/configparser.y"
+#line 614 "./util/configparser.y"
{
OUTYY(("P(server_so_sndbuf:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->so_sndbuf))
@@ -2776,9 +2820,9 @@ yyreduce:
}
break;
- case 181:
+ case 189:
/* Line 1792 of yacc.c */
-#line 616 "./util/configparser.y"
+#line 622 "./util/configparser.y"
{
OUTYY(("P(server_so_reuseport:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2789,9 +2833,9 @@ yyreduce:
}
break;
- case 182:
+ case 190:
/* Line 1792 of yacc.c */
-#line 626 "./util/configparser.y"
+#line 632 "./util/configparser.y"
{
OUTYY(("P(server_ip_transparent:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2802,9 +2846,9 @@ yyreduce:
}
break;
- case 183:
+ case 191:
/* Line 1792 of yacc.c */
-#line 636 "./util/configparser.y"
+#line 642 "./util/configparser.y"
{
OUTYY(("P(server_edns_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2818,9 +2862,9 @@ yyreduce:
}
break;
- case 184:
+ case 192:
/* Line 1792 of yacc.c */
-#line 649 "./util/configparser.y"
+#line 655 "./util/configparser.y"
{
OUTYY(("P(server_msg_buffer_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2832,9 +2876,9 @@ yyreduce:
}
break;
- case 185:
+ case 193:
/* Line 1792 of yacc.c */
-#line 660 "./util/configparser.y"
+#line 666 "./util/configparser.y"
{
OUTYY(("P(server_msg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->msg_cache_size))
@@ -2843,9 +2887,9 @@ yyreduce:
}
break;
- case 186:
+ case 194:
/* Line 1792 of yacc.c */
-#line 668 "./util/configparser.y"
+#line 674 "./util/configparser.y"
{
OUTYY(("P(server_msg_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2859,9 +2903,9 @@ yyreduce:
}
break;
- case 187:
+ case 195:
/* Line 1792 of yacc.c */
-#line 681 "./util/configparser.y"
+#line 687 "./util/configparser.y"
{
OUTYY(("P(server_num_queries_per_thread:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2871,9 +2915,9 @@ yyreduce:
}
break;
- case 188:
+ case 196:
/* Line 1792 of yacc.c */
-#line 690 "./util/configparser.y"
+#line 696 "./util/configparser.y"
{
OUTYY(("P(server_jostle_timeout:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2883,9 +2927,9 @@ yyreduce:
}
break;
- case 189:
+ case 197:
/* Line 1792 of yacc.c */
-#line 699 "./util/configparser.y"
+#line 705 "./util/configparser.y"
{
OUTYY(("P(server_delay_close:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2895,9 +2939,9 @@ yyreduce:
}
break;
- case 190:
+ case 198:
/* Line 1792 of yacc.c */
-#line 708 "./util/configparser.y"
+#line 714 "./util/configparser.y"
{
OUTYY(("P(server_unblock_lan_zones:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -2908,9 +2952,9 @@ yyreduce:
}
break;
- case 191:
+ case 199:
/* Line 1792 of yacc.c */
-#line 718 "./util/configparser.y"
+#line 724 "./util/configparser.y"
{
OUTYY(("P(server_rrset_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->rrset_cache_size))
@@ -2919,9 +2963,9 @@ yyreduce:
}
break;
- case 192:
+ case 200:
/* Line 1792 of yacc.c */
-#line 726 "./util/configparser.y"
+#line 732 "./util/configparser.y"
{
OUTYY(("P(server_rrset_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2935,9 +2979,9 @@ yyreduce:
}
break;
- case 193:
+ case 201:
/* Line 1792 of yacc.c */
-#line 739 "./util/configparser.y"
+#line 745 "./util/configparser.y"
{
OUTYY(("P(server_infra_host_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -2947,9 +2991,9 @@ yyreduce:
}
break;
- case 194:
+ case 202:
/* Line 1792 of yacc.c */
-#line 748 "./util/configparser.y"
+#line 754 "./util/configparser.y"
{
OUTYY(("P(server_infra_lame_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-lame-ttl: %s (option "
@@ -2958,9 +3002,9 @@ yyreduce:
}
break;
- case 195:
+ case 203:
/* Line 1792 of yacc.c */
-#line 756 "./util/configparser.y"
+#line 762 "./util/configparser.y"
{
OUTYY(("P(server_infra_cache_numhosts:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2970,9 +3014,9 @@ yyreduce:
}
break;
- case 196:
+ case 204:
/* Line 1792 of yacc.c */
-#line 765 "./util/configparser.y"
+#line 771 "./util/configparser.y"
{
OUTYY(("P(server_infra_cache_lame_size:%s)\n", (yyvsp[(2) - (2)].str)));
verbose(VERB_DETAIL, "ignored infra-cache-lame-size: %s "
@@ -2981,9 +3025,9 @@ yyreduce:
}
break;
- case 197:
+ case 205:
/* Line 1792 of yacc.c */
-#line 773 "./util/configparser.y"
+#line 779 "./util/configparser.y"
{
OUTYY(("P(server_infra_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -2997,9 +3041,9 @@ yyreduce:
}
break;
- case 198:
+ case 206:
/* Line 1792 of yacc.c */
-#line 786 "./util/configparser.y"
+#line 792 "./util/configparser.y"
{
OUTYY(("P(server_infra_cache_min_rtt:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3009,9 +3053,9 @@ yyreduce:
}
break;
- case 199:
+ case 207:
/* Line 1792 of yacc.c */
-#line 795 "./util/configparser.y"
+#line 801 "./util/configparser.y"
{
OUTYY(("P(server_target_fetch_policy:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->target_fetch_policy);
@@ -3019,9 +3063,9 @@ yyreduce:
}
break;
- case 200:
+ case 208:
/* Line 1792 of yacc.c */
-#line 802 "./util/configparser.y"
+#line 808 "./util/configparser.y"
{
OUTYY(("P(server_harden_short_bufsize:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3032,9 +3076,9 @@ yyreduce:
}
break;
- case 201:
+ case 209:
/* Line 1792 of yacc.c */
-#line 812 "./util/configparser.y"
+#line 818 "./util/configparser.y"
{
OUTYY(("P(server_harden_large_queries:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3045,9 +3089,9 @@ yyreduce:
}
break;
- case 202:
+ case 210:
/* Line 1792 of yacc.c */
-#line 822 "./util/configparser.y"
+#line 828 "./util/configparser.y"
{
OUTYY(("P(server_harden_glue:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3058,9 +3102,9 @@ yyreduce:
}
break;
- case 203:
+ case 211:
/* Line 1792 of yacc.c */
-#line 832 "./util/configparser.y"
+#line 838 "./util/configparser.y"
{
OUTYY(("P(server_harden_dnssec_stripped:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3071,9 +3115,9 @@ yyreduce:
}
break;
- case 204:
+ case 212:
/* Line 1792 of yacc.c */
-#line 842 "./util/configparser.y"
+#line 848 "./util/configparser.y"
{
OUTYY(("P(server_harden_below_nxdomain:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3084,9 +3128,9 @@ yyreduce:
}
break;
- case 205:
+ case 213:
/* Line 1792 of yacc.c */
-#line 852 "./util/configparser.y"
+#line 858 "./util/configparser.y"
{
OUTYY(("P(server_harden_referral_path:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3097,9 +3141,9 @@ yyreduce:
}
break;
- case 206:
+ case 214:
/* Line 1792 of yacc.c */
-#line 862 "./util/configparser.y"
+#line 868 "./util/configparser.y"
{
OUTYY(("P(server_harden_algo_downgrade:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3110,9 +3154,9 @@ yyreduce:
}
break;
- case 207:
+ case 215:
/* Line 1792 of yacc.c */
-#line 872 "./util/configparser.y"
+#line 878 "./util/configparser.y"
{
OUTYY(("P(server_use_caps_for_id:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3123,9 +3167,19 @@ yyreduce:
}
break;
- case 208:
+ case 216:
+/* Line 1792 of yacc.c */
+#line 888 "./util/configparser.y"
+ {
+ OUTYY(("P(server_caps_whitelist:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, (yyvsp[(2) - (2)].str)))
+ yyerror("out of memory");
+ }
+ break;
+
+ case 217:
/* Line 1792 of yacc.c */
-#line 882 "./util/configparser.y"
+#line 895 "./util/configparser.y"
{
OUTYY(("P(server_private_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_address, (yyvsp[(2) - (2)].str)))
@@ -3133,9 +3187,9 @@ yyreduce:
}
break;
- case 209:
+ case 218:
/* Line 1792 of yacc.c */
-#line 889 "./util/configparser.y"
+#line 902 "./util/configparser.y"
{
OUTYY(("P(server_private_domain:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->private_domain, (yyvsp[(2) - (2)].str)))
@@ -3143,9 +3197,9 @@ yyreduce:
}
break;
- case 210:
+ case 219:
/* Line 1792 of yacc.c */
-#line 896 "./util/configparser.y"
+#line 909 "./util/configparser.y"
{
OUTYY(("P(server_prefetch:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3155,9 +3209,9 @@ yyreduce:
}
break;
- case 211:
+ case 220:
/* Line 1792 of yacc.c */
-#line 905 "./util/configparser.y"
+#line 918 "./util/configparser.y"
{
OUTYY(("P(server_prefetch_key:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3167,9 +3221,9 @@ yyreduce:
}
break;
- case 212:
+ case 221:
/* Line 1792 of yacc.c */
-#line 914 "./util/configparser.y"
+#line 927 "./util/configparser.y"
{
OUTYY(("P(server_unwanted_reply_threshold:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3179,9 +3233,9 @@ yyreduce:
}
break;
- case 213:
+ case 222:
/* Line 1792 of yacc.c */
-#line 923 "./util/configparser.y"
+#line 936 "./util/configparser.y"
{
OUTYY(("P(server_do_not_query_address:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->donotqueryaddrs, (yyvsp[(2) - (2)].str)))
@@ -3189,9 +3243,9 @@ yyreduce:
}
break;
- case 214:
+ case 223:
/* Line 1792 of yacc.c */
-#line 930 "./util/configparser.y"
+#line 943 "./util/configparser.y"
{
OUTYY(("P(server_do_not_query_localhost:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3202,9 +3256,9 @@ yyreduce:
}
break;
- case 215:
+ case 224:
/* Line 1792 of yacc.c */
-#line 940 "./util/configparser.y"
+#line 953 "./util/configparser.y"
{
OUTYY(("P(server_access_control:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 &&
@@ -3222,9 +3276,9 @@ yyreduce:
}
break;
- case 216:
+ case 225:
/* Line 1792 of yacc.c */
-#line 957 "./util/configparser.y"
+#line 970 "./util/configparser.y"
{
OUTYY(("P(server_module_conf:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->module_conf);
@@ -3232,9 +3286,9 @@ yyreduce:
}
break;
- case 217:
+ case 226:
/* Line 1792 of yacc.c */
-#line 964 "./util/configparser.y"
+#line 977 "./util/configparser.y"
{
OUTYY(("P(server_val_override_date:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3253,9 +3307,9 @@ yyreduce:
}
break;
- case 218:
+ case 227:
/* Line 1792 of yacc.c */
-#line 982 "./util/configparser.y"
+#line 995 "./util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_min:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3269,9 +3323,9 @@ yyreduce:
}
break;
- case 219:
+ case 228:
/* Line 1792 of yacc.c */
-#line 995 "./util/configparser.y"
+#line 1008 "./util/configparser.y"
{
OUTYY(("P(server_val_sig_skew_max:%s)\n", (yyvsp[(2) - (2)].str)));
if(strlen((yyvsp[(2) - (2)].str)) == 0 || strcmp((yyvsp[(2) - (2)].str), "0") == 0) {
@@ -3285,9 +3339,9 @@ yyreduce:
}
break;
- case 220:
+ case 229:
/* Line 1792 of yacc.c */
-#line 1008 "./util/configparser.y"
+#line 1021 "./util/configparser.y"
{
OUTYY(("P(server_cache_max_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3297,9 +3351,21 @@ yyreduce:
}
break;
- case 221:
+ case 230:
/* Line 1792 of yacc.c */
-#line 1017 "./util/configparser.y"
+#line 1030 "./util/configparser.y"
+ {
+ OUTYY(("P(server_cache_max_negative_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->max_negative_ttl = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 231:
+/* Line 1792 of yacc.c */
+#line 1039 "./util/configparser.y"
{
OUTYY(("P(server_cache_min_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3309,9 +3375,9 @@ yyreduce:
}
break;
- case 222:
+ case 232:
/* Line 1792 of yacc.c */
-#line 1026 "./util/configparser.y"
+#line 1048 "./util/configparser.y"
{
OUTYY(("P(server_bogus_ttl:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3321,9 +3387,9 @@ yyreduce:
}
break;
- case 223:
+ case 233:
/* Line 1792 of yacc.c */
-#line 1035 "./util/configparser.y"
+#line 1057 "./util/configparser.y"
{
OUTYY(("P(server_val_clean_additional:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3334,9 +3400,9 @@ yyreduce:
}
break;
- case 224:
+ case 234:
/* Line 1792 of yacc.c */
-#line 1045 "./util/configparser.y"
+#line 1067 "./util/configparser.y"
{
OUTYY(("P(server_val_permissive_mode:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3347,9 +3413,9 @@ yyreduce:
}
break;
- case 225:
+ case 235:
/* Line 1792 of yacc.c */
-#line 1055 "./util/configparser.y"
+#line 1077 "./util/configparser.y"
{
OUTYY(("P(server_ignore_cd_flag:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3359,9 +3425,9 @@ yyreduce:
}
break;
- case 226:
+ case 236:
/* Line 1792 of yacc.c */
-#line 1064 "./util/configparser.y"
+#line 1086 "./util/configparser.y"
{
OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3371,9 +3437,9 @@ yyreduce:
}
break;
- case 227:
+ case 237:
/* Line 1792 of yacc.c */
-#line 1073 "./util/configparser.y"
+#line 1095 "./util/configparser.y"
{
OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->val_nsec3_key_iterations);
@@ -3381,9 +3447,9 @@ yyreduce:
}
break;
- case 228:
+ case 238:
/* Line 1792 of yacc.c */
-#line 1080 "./util/configparser.y"
+#line 1102 "./util/configparser.y"
{
OUTYY(("P(server_add_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3393,9 +3459,9 @@ yyreduce:
}
break;
- case 229:
+ case 239:
/* Line 1792 of yacc.c */
-#line 1089 "./util/configparser.y"
+#line 1111 "./util/configparser.y"
{
OUTYY(("P(server_del_holddown:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3405,9 +3471,9 @@ yyreduce:
}
break;
- case 230:
+ case 240:
/* Line 1792 of yacc.c */
-#line 1098 "./util/configparser.y"
+#line 1120 "./util/configparser.y"
{
OUTYY(("P(server_keep_missing:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
@@ -3417,9 +3483,9 @@ yyreduce:
}
break;
- case 231:
+ case 241:
/* Line 1792 of yacc.c */
-#line 1107 "./util/configparser.y"
+#line 1129 "./util/configparser.y"
{
OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size))
@@ -3428,9 +3494,9 @@ yyreduce:
}
break;
- case 232:
+ case 242:
/* Line 1792 of yacc.c */
-#line 1115 "./util/configparser.y"
+#line 1137 "./util/configparser.y"
{
OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3444,9 +3510,9 @@ yyreduce:
}
break;
- case 233:
+ case 243:
/* Line 1792 of yacc.c */
-#line 1128 "./util/configparser.y"
+#line 1150 "./util/configparser.y"
{
OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size))
@@ -3455,19 +3521,20 @@ yyreduce:
}
break;
- case 234:
+ case 244:
/* Line 1792 of yacc.c */
-#line 1136 "./util/configparser.y"
+#line 1158 "./util/configparser.y"
{
OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 &&
strcmp((yyvsp[(3) - (3)].str), "refuse")!=0 && strcmp((yyvsp[(3) - (3)].str), "redirect")!=0 &&
strcmp((yyvsp[(3) - (3)].str), "transparent")!=0 && strcmp((yyvsp[(3) - (3)].str), "nodefault")!=0
&& strcmp((yyvsp[(3) - (3)].str), "typetransparent")!=0 &&
- strcmp((yyvsp[(3) - (3)].str), "inform")!=0)
+ strcmp((yyvsp[(3) - (3)].str), "inform")!=0 && strcmp((yyvsp[(3) - (3)].str), "inform_deny")!=0)
yyerror("local-zone type: expected static, deny, "
"refuse, redirect, transparent, "
- "typetransparent, inform or nodefault");
+ "typetransparent, inform, inform_deny "
+ "or nodefault");
else if(strcmp((yyvsp[(3) - (3)].str), "nodefault")==0) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
local_zones_nodefault, (yyvsp[(2) - (3)].str)))
@@ -3481,9 +3548,9 @@ yyreduce:
}
break;
- case 235:
+ case 245:
/* Line 1792 of yacc.c */
-#line 1159 "./util/configparser.y"
+#line 1182 "./util/configparser.y"
{
OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str)))
@@ -3491,9 +3558,9 @@ yyreduce:
}
break;
- case 236:
+ case 246:
/* Line 1792 of yacc.c */
-#line 1166 "./util/configparser.y"
+#line 1189 "./util/configparser.y"
{
char* ptr;
OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str)));
@@ -3509,9 +3576,9 @@ yyreduce:
}
break;
- case 237:
+ case 247:
/* Line 1792 of yacc.c */
-#line 1181 "./util/configparser.y"
+#line 1204 "./util/configparser.y"
{
OUTYY(("P(server_minimal_responses:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3522,9 +3589,9 @@ yyreduce:
}
break;
- case 238:
+ case 248:
/* Line 1792 of yacc.c */
-#line 1191 "./util/configparser.y"
+#line 1214 "./util/configparser.y"
{
OUTYY(("P(server_rrset_roundrobin:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3535,9 +3602,9 @@ yyreduce:
}
break;
- case 239:
+ case 249:
/* Line 1792 of yacc.c */
-#line 1201 "./util/configparser.y"
+#line 1224 "./util/configparser.y"
{
OUTYY(("P(server_max_udp_size:%s)\n", (yyvsp[(2) - (2)].str)));
cfg_parser->cfg->max_udp_size = atoi((yyvsp[(2) - (2)].str));
@@ -3545,9 +3612,9 @@ yyreduce:
}
break;
- case 240:
+ case 250:
/* Line 1792 of yacc.c */
-#line 1208 "./util/configparser.y"
+#line 1231 "./util/configparser.y"
{
OUTYY(("P(dns64_prefix:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dns64_prefix);
@@ -3555,9 +3622,9 @@ yyreduce:
}
break;
- case 241:
+ case 251:
/* Line 1792 of yacc.c */
-#line 1215 "./util/configparser.y"
+#line 1238 "./util/configparser.y"
{
OUTYY(("P(server_dns64_synthall:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3567,9 +3634,92 @@ yyreduce:
}
break;
- case 242:
+ case 252:
/* Line 1792 of yacc.c */
-#line 1224 "./util/configparser.y"
+#line 1247 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->ratelimit = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 253:
+/* Line 1792 of yacc.c */
+#line 1256 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_size:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->ratelimit_size))
+ yyerror("memory size expected");
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 254:
+/* Line 1792 of yacc.c */
+#line 1264 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_slabs:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0)
+ yyerror("number expected");
+ else {
+ cfg_parser->cfg->ratelimit_slabs = atoi((yyvsp[(2) - (2)].str));
+ if(!is_pow2(cfg_parser->cfg->ratelimit_slabs))
+ yyerror("must be a power of 2");
+ }
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 255:
+/* Line 1792 of yacc.c */
+#line 1277 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
+ yyerror("number expected");
+ } else {
+ if(!cfg_str2list_insert(&cfg_parser->cfg->
+ ratelimit_for_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+ fatal_exit("out of memory adding "
+ "ratelimit-for-domain");
+ }
+ }
+ break;
+
+ case 256:
+/* Line 1792 of yacc.c */
+#line 1290 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)));
+ if(atoi((yyvsp[(3) - (3)].str)) == 0 && strcmp((yyvsp[(3) - (3)].str), "0") != 0) {
+ yyerror("number expected");
+ } else {
+ if(!cfg_str2list_insert(&cfg_parser->cfg->
+ ratelimit_below_domain, (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)))
+ fatal_exit("out of memory adding "
+ "ratelimit-below-domain");
+ }
+ }
+ break;
+
+ case 257:
+/* Line 1792 of yacc.c */
+#line 1303 "./util/configparser.y"
+ {
+ OUTYY(("P(server_ratelimit_factor:%s)\n", (yyvsp[(2) - (2)].str)));
+ if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->ratelimit_factor = atoi((yyvsp[(2) - (2)].str));
+ free((yyvsp[(2) - (2)].str));
+ }
+ break;
+
+ case 258:
+/* Line 1792 of yacc.c */
+#line 1312 "./util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->stubs->name)
@@ -3580,9 +3730,9 @@ yyreduce:
}
break;
- case 243:
+ case 259:
/* Line 1792 of yacc.c */
-#line 1234 "./util/configparser.y"
+#line 1322 "./util/configparser.y"
{
OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str)))
@@ -3590,9 +3740,9 @@ yyreduce:
}
break;
- case 244:
+ case 260:
/* Line 1792 of yacc.c */
-#line 1241 "./util/configparser.y"
+#line 1329 "./util/configparser.y"
{
OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str)))
@@ -3600,9 +3750,9 @@ yyreduce:
}
break;
- case 245:
+ case 261:
/* Line 1792 of yacc.c */
-#line 1248 "./util/configparser.y"
+#line 1336 "./util/configparser.y"
{
OUTYY(("P(stub-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3612,9 +3762,9 @@ yyreduce:
}
break;
- case 246:
+ case 262:
/* Line 1792 of yacc.c */
-#line 1257 "./util/configparser.y"
+#line 1345 "./util/configparser.y"
{
OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3625,9 +3775,9 @@ yyreduce:
}
break;
- case 247:
+ case 263:
/* Line 1792 of yacc.c */
-#line 1267 "./util/configparser.y"
+#line 1355 "./util/configparser.y"
{
OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str)));
if(cfg_parser->cfg->forwards->name)
@@ -3638,9 +3788,9 @@ yyreduce:
}
break;
- case 248:
+ case 264:
/* Line 1792 of yacc.c */
-#line 1277 "./util/configparser.y"
+#line 1365 "./util/configparser.y"
{
OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str)))
@@ -3648,9 +3798,9 @@ yyreduce:
}
break;
- case 249:
+ case 265:
/* Line 1792 of yacc.c */
-#line 1284 "./util/configparser.y"
+#line 1372 "./util/configparser.y"
{
OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str)))
@@ -3658,9 +3808,9 @@ yyreduce:
}
break;
- case 250:
+ case 266:
/* Line 1792 of yacc.c */
-#line 1291 "./util/configparser.y"
+#line 1379 "./util/configparser.y"
{
OUTYY(("P(forward-first:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3670,17 +3820,17 @@ yyreduce:
}
break;
- case 251:
+ case 267:
/* Line 1792 of yacc.c */
-#line 1300 "./util/configparser.y"
+#line 1388 "./util/configparser.y"
{
OUTYY(("\nP(remote-control:)\n"));
}
break;
- case 262:
+ case 278:
/* Line 1792 of yacc.c */
-#line 1311 "./util/configparser.y"
+#line 1399 "./util/configparser.y"
{
OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3691,9 +3841,9 @@ yyreduce:
}
break;
- case 263:
+ case 279:
/* Line 1792 of yacc.c */
-#line 1321 "./util/configparser.y"
+#line 1409 "./util/configparser.y"
{
OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str)));
if(atoi((yyvsp[(2) - (2)].str)) == 0)
@@ -3703,9 +3853,9 @@ yyreduce:
}
break;
- case 264:
+ case 280:
/* Line 1792 of yacc.c */
-#line 1330 "./util/configparser.y"
+#line 1418 "./util/configparser.y"
{
OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str)));
if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str)))
@@ -3713,9 +3863,9 @@ yyreduce:
}
break;
- case 265:
+ case 281:
/* Line 1792 of yacc.c */
-#line 1337 "./util/configparser.y"
+#line 1425 "./util/configparser.y"
{
OUTYY(("P(control_use_cert:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3726,9 +3876,9 @@ yyreduce:
}
break;
- case 266:
+ case 282:
/* Line 1792 of yacc.c */
-#line 1347 "./util/configparser.y"
+#line 1435 "./util/configparser.y"
{
OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_key_file);
@@ -3736,9 +3886,9 @@ yyreduce:
}
break;
- case 267:
+ case 283:
/* Line 1792 of yacc.c */
-#line 1354 "./util/configparser.y"
+#line 1442 "./util/configparser.y"
{
OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->server_cert_file);
@@ -3746,9 +3896,9 @@ yyreduce:
}
break;
- case 268:
+ case 284:
/* Line 1792 of yacc.c */
-#line 1361 "./util/configparser.y"
+#line 1449 "./util/configparser.y"
{
OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_key_file);
@@ -3756,9 +3906,9 @@ yyreduce:
}
break;
- case 269:
+ case 285:
/* Line 1792 of yacc.c */
-#line 1368 "./util/configparser.y"
+#line 1456 "./util/configparser.y"
{
OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->control_cert_file);
@@ -3766,17 +3916,17 @@ yyreduce:
}
break;
- case 270:
+ case 286:
/* Line 1792 of yacc.c */
-#line 1375 "./util/configparser.y"
+#line 1463 "./util/configparser.y"
{
OUTYY(("\nP(dnstap:)\n"));
}
break;
- case 285:
+ case 301:
/* Line 1792 of yacc.c */
-#line 1392 "./util/configparser.y"
+#line 1480 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_enable:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3785,9 +3935,9 @@ yyreduce:
}
break;
- case 286:
+ case 302:
/* Line 1792 of yacc.c */
-#line 1400 "./util/configparser.y"
+#line 1488 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_socket_path:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_socket_path);
@@ -3795,9 +3945,9 @@ yyreduce:
}
break;
- case 287:
+ case 303:
/* Line 1792 of yacc.c */
-#line 1407 "./util/configparser.y"
+#line 1495 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_send_identity:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3806,9 +3956,9 @@ yyreduce:
}
break;
- case 288:
+ case 304:
/* Line 1792 of yacc.c */
-#line 1415 "./util/configparser.y"
+#line 1503 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_send_version:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3817,9 +3967,9 @@ yyreduce:
}
break;
- case 289:
+ case 305:
/* Line 1792 of yacc.c */
-#line 1423 "./util/configparser.y"
+#line 1511 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_identity:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_identity);
@@ -3827,9 +3977,9 @@ yyreduce:
}
break;
- case 290:
+ case 306:
/* Line 1792 of yacc.c */
-#line 1430 "./util/configparser.y"
+#line 1518 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_version:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->dnstap_version);
@@ -3837,9 +3987,9 @@ yyreduce:
}
break;
- case 291:
+ case 307:
/* Line 1792 of yacc.c */
-#line 1437 "./util/configparser.y"
+#line 1525 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_resolver_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3849,9 +3999,9 @@ yyreduce:
}
break;
- case 292:
+ case 308:
/* Line 1792 of yacc.c */
-#line 1446 "./util/configparser.y"
+#line 1534 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_resolver_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3861,9 +4011,9 @@ yyreduce:
}
break;
- case 293:
+ case 309:
/* Line 1792 of yacc.c */
-#line 1455 "./util/configparser.y"
+#line 1543 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_client_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3873,9 +4023,9 @@ yyreduce:
}
break;
- case 294:
+ case 310:
/* Line 1792 of yacc.c */
-#line 1464 "./util/configparser.y"
+#line 1552 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_client_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3885,9 +4035,9 @@ yyreduce:
}
break;
- case 295:
+ case 311:
/* Line 1792 of yacc.c */
-#line 1473 "./util/configparser.y"
+#line 1561 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_forwarder_query_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3897,9 +4047,9 @@ yyreduce:
}
break;
- case 296:
+ case 312:
/* Line 1792 of yacc.c */
-#line 1482 "./util/configparser.y"
+#line 1570 "./util/configparser.y"
{
OUTYY(("P(dt_dnstap_log_forwarder_response_messages:%s)\n", (yyvsp[(2) - (2)].str)));
if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0)
@@ -3909,17 +4059,17 @@ yyreduce:
}
break;
- case 297:
+ case 313:
/* Line 1792 of yacc.c */
-#line 1491 "./util/configparser.y"
+#line 1579 "./util/configparser.y"
{
OUTYY(("\nP(python:)\n"));
}
break;
- case 301:
+ case 317:
/* Line 1792 of yacc.c */
-#line 1500 "./util/configparser.y"
+#line 1588 "./util/configparser.y"
{
OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str)));
free(cfg_parser->cfg->python_script);
@@ -3929,7 +4079,7 @@ yyreduce:
/* Line 1792 of yacc.c */
-#line 3933 "util/configparser.c"
+#line 4083 "util/configparser.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4161,7 +4311,7 @@ yyreturn:
/* Line 2055 of yacc.c */
-#line 1505 "./util/configparser.y"
+#line 1593 "./util/configparser.y"
/* parse helper routines could be here */
diff --git a/external/unbound/util/configparser.h b/external/unbound/util/configparser.h
index a8ab6ee59..52ec99221 100644
--- a/external/unbound/util/configparser.h
+++ b/external/unbound/util/configparser.h
@@ -195,7 +195,15 @@ extern int yydebug;
VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES = 404,
VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES = 405,
VAR_HARDEN_ALGO_DOWNGRADE = 406,
- VAR_IP_TRANSPARENT = 407
+ VAR_IP_TRANSPARENT = 407,
+ VAR_RATELIMIT = 408,
+ VAR_RATELIMIT_SLABS = 409,
+ VAR_RATELIMIT_SIZE = 410,
+ VAR_RATELIMIT_FOR_DOMAIN = 411,
+ VAR_RATELIMIT_BELOW_DOMAIN = 412,
+ VAR_RATELIMIT_FACTOR = 413,
+ VAR_CAPS_WHITELIST = 414,
+ VAR_CACHE_MAX_NEGATIVE_TTL = 415
};
#endif
/* Tokens. */
@@ -349,6 +357,14 @@ extern int yydebug;
#define VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES 405
#define VAR_HARDEN_ALGO_DOWNGRADE 406
#define VAR_IP_TRANSPARENT 407
+#define VAR_RATELIMIT 408
+#define VAR_RATELIMIT_SLABS 409
+#define VAR_RATELIMIT_SIZE 410
+#define VAR_RATELIMIT_FOR_DOMAIN 411
+#define VAR_RATELIMIT_BELOW_DOMAIN 412
+#define VAR_RATELIMIT_FACTOR 413
+#define VAR_CAPS_WHITELIST 414
+#define VAR_CACHE_MAX_NEGATIVE_TTL 415
@@ -362,7 +378,7 @@ typedef union YYSTYPE
/* Line 2058 of yacc.c */
-#line 366 "util/configparser.h"
+#line 382 "util/configparser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
diff --git a/external/unbound/util/configparser.y b/external/unbound/util/configparser.y
index fb94be9d4..ad7f3d292 100644
--- a/external/unbound/util/configparser.y
+++ b/external/unbound/util/configparser.y
@@ -119,6 +119,9 @@ extern struct config_parser_state* cfg_parser;
%token VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES
%token VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES
%token VAR_HARDEN_ALGO_DOWNGRADE VAR_IP_TRANSPARENT
+%token VAR_RATELIMIT VAR_RATELIMIT_SLABS VAR_RATELIMIT_SIZE
+%token VAR_RATELIMIT_FOR_DOMAIN VAR_RATELIMIT_BELOW_DOMAIN VAR_RATELIMIT_FACTOR
+%token VAR_CAPS_WHITELIST VAR_CACHE_MAX_NEGATIVE_TTL
%%
toplevelvars: /* empty */ | toplevelvars toplevelvar ;
@@ -179,7 +182,10 @@ content_server: server_num_threads | server_verbosity | server_port |
server_so_reuseport | server_delay_close | server_unblock_lan_zones |
server_dns64_prefix | server_dns64_synthall |
server_infra_cache_min_rtt | server_harden_algo_downgrade |
- server_ip_transparent
+ server_ip_transparent | server_ratelimit | server_ratelimit_slabs |
+ server_ratelimit_size | server_ratelimit_for_domain |
+ server_ratelimit_below_domain | server_ratelimit_factor |
+ server_caps_whitelist | server_cache_max_negative_ttl
;
stubstart: VAR_STUB_ZONE
{
@@ -878,6 +884,13 @@ server_use_caps_for_id: VAR_USE_CAPS_FOR_ID STRING_ARG
free($2);
}
;
+server_caps_whitelist: VAR_CAPS_WHITELIST STRING_ARG
+ {
+ OUTYY(("P(server_caps_whitelist:%s)\n", $2));
+ if(!cfg_strlist_insert(&cfg_parser->cfg->caps_whitelist, $2))
+ yyerror("out of memory");
+ }
+ ;
server_private_address: VAR_PRIVATE_ADDRESS STRING_ARG
{
OUTYY(("P(server_private_address:%s)\n", $2));
@@ -1013,6 +1026,15 @@ server_cache_max_ttl: VAR_CACHE_MAX_TTL STRING_ARG
free($2);
}
;
+server_cache_max_negative_ttl: VAR_CACHE_MAX_NEGATIVE_TTL STRING_ARG
+ {
+ OUTYY(("P(server_cache_max_negative_ttl:%s)\n", $2));
+ if(atoi($2) == 0 && strcmp($2, "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->max_negative_ttl = atoi($2);
+ free($2);
+ }
+ ;
server_cache_min_ttl: VAR_CACHE_MIN_TTL STRING_ARG
{
OUTYY(("P(server_cache_min_ttl:%s)\n", $2));
@@ -1139,10 +1161,11 @@ server_local_zone: VAR_LOCAL_ZONE STRING_ARG STRING_ARG
strcmp($3, "refuse")!=0 && strcmp($3, "redirect")!=0 &&
strcmp($3, "transparent")!=0 && strcmp($3, "nodefault")!=0
&& strcmp($3, "typetransparent")!=0 &&
- strcmp($3, "inform")!=0)
+ strcmp($3, "inform")!=0 && strcmp($3, "inform_deny")!=0)
yyerror("local-zone type: expected static, deny, "
"refuse, redirect, transparent, "
- "typetransparent, inform or nodefault");
+ "typetransparent, inform, inform_deny "
+ "or nodefault");
else if(strcmp($3, "nodefault")==0) {
if(!cfg_strlist_insert(&cfg_parser->cfg->
local_zones_nodefault, $2))
@@ -1220,6 +1243,71 @@ server_dns64_synthall: VAR_DNS64_SYNTHALL STRING_ARG
free($2);
}
;
+server_ratelimit: VAR_RATELIMIT STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit:%s)\n", $2));
+ if(atoi($2) == 0 && strcmp($2, "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->ratelimit = atoi($2);
+ free($2);
+ }
+ ;
+server_ratelimit_size: VAR_RATELIMIT_SIZE STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit_size:%s)\n", $2));
+ if(!cfg_parse_memsize($2, &cfg_parser->cfg->ratelimit_size))
+ yyerror("memory size expected");
+ free($2);
+ }
+ ;
+server_ratelimit_slabs: VAR_RATELIMIT_SLABS STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit_slabs:%s)\n", $2));
+ if(atoi($2) == 0)
+ yyerror("number expected");
+ else {
+ cfg_parser->cfg->ratelimit_slabs = atoi($2);
+ if(!is_pow2(cfg_parser->cfg->ratelimit_slabs))
+ yyerror("must be a power of 2");
+ }
+ free($2);
+ }
+ ;
+server_ratelimit_for_domain: VAR_RATELIMIT_FOR_DOMAIN STRING_ARG STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit_for_domain:%s %s)\n", $2, $3));
+ if(atoi($3) == 0 && strcmp($3, "0") != 0) {
+ yyerror("number expected");
+ } else {
+ if(!cfg_str2list_insert(&cfg_parser->cfg->
+ ratelimit_for_domain, $2, $3))
+ fatal_exit("out of memory adding "
+ "ratelimit-for-domain");
+ }
+ }
+ ;
+server_ratelimit_below_domain: VAR_RATELIMIT_BELOW_DOMAIN STRING_ARG STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit_below_domain:%s %s)\n", $2, $3));
+ if(atoi($3) == 0 && strcmp($3, "0") != 0) {
+ yyerror("number expected");
+ } else {
+ if(!cfg_str2list_insert(&cfg_parser->cfg->
+ ratelimit_below_domain, $2, $3))
+ fatal_exit("out of memory adding "
+ "ratelimit-below-domain");
+ }
+ }
+ ;
+server_ratelimit_factor: VAR_RATELIMIT_FACTOR STRING_ARG
+ {
+ OUTYY(("P(server_ratelimit_factor:%s)\n", $2));
+ if(atoi($2) == 0 && strcmp($2, "0") != 0)
+ yyerror("number expected");
+ else cfg_parser->cfg->ratelimit_factor = atoi($2);
+ free($2);
+ }
+ ;
stub_name: VAR_NAME STRING_ARG
{
OUTYY(("P(name:%s)\n", $2));
diff --git a/external/unbound/util/data/msgparse.h b/external/unbound/util/data/msgparse.h
index 1a5ced356..44497c8ca 100644
--- a/external/unbound/util/data/msgparse.h
+++ b/external/unbound/util/data/msgparse.h
@@ -76,6 +76,8 @@ struct regional;
extern time_t MAX_TTL;
/** Minimum TTL that is allowed. */
extern time_t MIN_TTL;
+/** Maximum Negative TTL that is allowed */
+extern time_t MAX_NEG_TTL;
/** Negative cache time (for entries without any RRs.) */
#define NORR_TTL 5 /* seconds */
diff --git a/external/unbound/util/data/msgreply.c b/external/unbound/util/data/msgreply.c
index dc27be905..b1d3df639 100644
--- a/external/unbound/util/data/msgreply.c
+++ b/external/unbound/util/data/msgreply.c
@@ -57,6 +57,8 @@
time_t MAX_TTL = 3600 * 24 * 10; /* ten days */
/** MIN TTL default for messages and rrsets */
time_t MIN_TTL = 0;
+/** MAX Negative TTL, for SOA records in authority section */
+time_t MAX_NEG_TTL = 3600; /* one hour */
/** allocate qinfo, return 0 on error */
static int
@@ -153,10 +155,23 @@ repinfo_alloc_rrset_keys(struct reply_info* rep, struct alloc_cache* alloc,
return 1;
}
+/** find the minimumttl in the rdata of SOA record */
+static time_t
+soa_find_minttl(struct rr_parse* rr)
+{
+ uint16_t rlen = sldns_read_uint16(rr->ttl_data+4);
+ if(rlen < 20)
+ return 0; /* rdata too small for SOA (dname, dname, 5*32bit) */
+ /* minimum TTL is the last 32bit value in the rdata of the record */
+ /* at position ttl_data + 4(ttl) + 2(rdatalen) + rdatalen - 4(timeval)*/
+ return (time_t)sldns_read_uint32(rr->ttl_data+6+rlen-4);
+}
+
/** do the rdata copy */
static int
rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to,
- struct rr_parse* rr, time_t* rr_ttl, uint16_t type)
+ struct rr_parse* rr, time_t* rr_ttl, uint16_t type,
+ sldns_pkt_section section)
{
uint16_t pkt_len;
const sldns_rr_descriptor* desc;
@@ -165,6 +180,14 @@ rdata_copy(sldns_buffer* pkt, struct packed_rrset_data* data, uint8_t* to,
/* RFC 2181 Section 8. if msb of ttl is set treat as if zero. */
if(*rr_ttl & 0x80000000U)
*rr_ttl = 0;
+ if(type == LDNS_RR_TYPE_SOA && section == LDNS_SECTION_AUTHORITY) {
+ /* negative response. see if TTL of SOA record larger than the
+ * minimum-ttl in the rdata of the SOA record */
+ if(*rr_ttl > soa_find_minttl(rr))
+ *rr_ttl = soa_find_minttl(rr);
+ if(*rr_ttl > MAX_NEG_TTL)
+ *rr_ttl = MAX_NEG_TTL;
+ }
if(*rr_ttl < MIN_TTL)
*rr_ttl = MIN_TTL;
if(*rr_ttl < data->ttl)
@@ -254,7 +277,7 @@ parse_rr_copy(sldns_buffer* pkt, struct rrset_parse* pset,
data->rr_data[i] = nextrdata;
nextrdata += rr->size;
if(!rdata_copy(pkt, data, data->rr_data[i], rr,
- &data->rr_ttl[i], pset->type))
+ &data->rr_ttl[i], pset->type, pset->section))
return 0;
rr = rr->next;
}
@@ -265,7 +288,7 @@ parse_rr_copy(sldns_buffer* pkt, struct rrset_parse* pset,
data->rr_data[i] = nextrdata;
nextrdata += rr->size;
if(!rdata_copy(pkt, data, data->rr_data[i], rr,
- &data->rr_ttl[i], LDNS_RR_TYPE_RRSIG))
+ &data->rr_ttl[i], LDNS_RR_TYPE_RRSIG, pset->section))
return 0;
rr = rr->next;
}
diff --git a/external/unbound/util/fptr_wlist.c b/external/unbound/util/fptr_wlist.c
index 5a77432c7..1397e9c13 100644
--- a/external/unbound/util/fptr_wlist.c
+++ b/external/unbound/util/fptr_wlist.c
@@ -210,6 +210,7 @@ fptr_whitelist_hash_sizefunc(lruhash_sizefunc_t fptr)
else if(fptr == &ub_rrset_sizefunc) return 1;
else if(fptr == &infra_sizefunc) return 1;
else if(fptr == &key_entry_sizefunc) return 1;
+ else if(fptr == &rate_sizefunc) return 1;
else if(fptr == &test_slabhash_sizefunc) return 1;
return 0;
}
@@ -221,6 +222,7 @@ fptr_whitelist_hash_compfunc(lruhash_compfunc_t fptr)
else if(fptr == &ub_rrset_compare) return 1;
else if(fptr == &infra_compfunc) return 1;
else if(fptr == &key_entry_compfunc) return 1;
+ else if(fptr == &rate_compfunc) return 1;
else if(fptr == &test_slabhash_compfunc) return 1;
return 0;
}
@@ -232,6 +234,7 @@ fptr_whitelist_hash_delkeyfunc(lruhash_delkeyfunc_t fptr)
else if(fptr == &ub_rrset_key_delete) return 1;
else if(fptr == &infra_delkeyfunc) return 1;
else if(fptr == &key_entry_delkeyfunc) return 1;
+ else if(fptr == &rate_delkeyfunc) return 1;
else if(fptr == &test_slabhash_delkey) return 1;
return 0;
}
@@ -243,6 +246,7 @@ fptr_whitelist_hash_deldatafunc(lruhash_deldatafunc_t fptr)
else if(fptr == &rrset_data_delete) return 1;
else if(fptr == &infra_deldatafunc) return 1;
else if(fptr == &key_entry_deldatafunc) return 1;
+ else if(fptr == &rate_deldatafunc) return 1;
else if(fptr == &test_slabhash_deldata) return 1;
return 0;
}
diff --git a/external/unbound/util/iana_ports.inc b/external/unbound/util/iana_ports.inc
index 9cedc80ea..03ad2baaf 100644
--- a/external/unbound/util/iana_ports.inc
+++ b/external/unbound/util/iana_ports.inc
@@ -3791,7 +3791,6 @@
4321,
4322,
4323,
-4324,
4325,
4326,
4327,
@@ -4015,6 +4014,7 @@
4952,
4969,
4970,
+4980,
4986,
4987,
4988,
@@ -4434,6 +4434,7 @@
6389,
6390,
6417,
+6419,
6420,
6421,
6443,
diff --git a/external/unbound/util/netevent.c b/external/unbound/util/netevent.c
index 9f1e86952..3bb894888 100644
--- a/external/unbound/util/netevent.c
+++ b/external/unbound/util/netevent.c
@@ -498,12 +498,16 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
cmsg = CMSG_FIRSTHDR(&msg);
if(r->srctype == 4) {
#ifdef IP_PKTINFO
+ void* cmsg_data;
msg.msg_controllen = CMSG_SPACE(sizeof(struct in_pktinfo));
log_assert(msg.msg_controllen <= sizeof(control));
cmsg->cmsg_level = IPPROTO_IP;
cmsg->cmsg_type = IP_PKTINFO;
memmove(CMSG_DATA(cmsg), &r->pktinfo.v4info,
sizeof(struct in_pktinfo));
+ /* unset the ifindex to not bypass the routing tables */
+ cmsg_data = CMSG_DATA(cmsg);
+ ((struct in_pktinfo *) cmsg_data)->ipi_ifindex = 0;
cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
#elif defined(IP_SENDSRCADDR)
msg.msg_controllen = CMSG_SPACE(sizeof(struct in_addr));
@@ -518,12 +522,16 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
msg.msg_control = NULL;
#endif /* IP_PKTINFO or IP_SENDSRCADDR */
} else if(r->srctype == 6) {
+ void* cmsg_data;
msg.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo));
log_assert(msg.msg_controllen <= sizeof(control));
cmsg->cmsg_level = IPPROTO_IPV6;
cmsg->cmsg_type = IPV6_PKTINFO;
memmove(CMSG_DATA(cmsg), &r->pktinfo.v6info,
sizeof(struct in6_pktinfo));
+ /* unset the ifindex to not bypass the routing tables */
+ cmsg_data = CMSG_DATA(cmsg);
+ ((struct in6_pktinfo *) cmsg_data)->ipi6_ifindex = 0;
cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
} else {
/* try to pass all 0 to use default route */